專利名稱:解碼方法和解碼設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)解碼方法,更具體地講,涉及一種能夠防止錯(cuò)誤傳播和實(shí)現(xiàn)并行處理的解碼方法以及使用其的解碼設(shè)備。
背景技術(shù):
數(shù)據(jù)壓縮對(duì)于有效地發(fā)送比如視頻或音頻的大量數(shù)據(jù)和將它們存儲(chǔ)在較小的存儲(chǔ)空間中是必不可少的。對(duì)于數(shù)據(jù)壓縮,已研究了多種標(biāo)準(zhǔn),比如聯(lián)合圖像專家組(JPEG)、運(yùn)動(dòng)圖像專家組(MPEG)-1、MPEG-2、MPEG-4、H.261、H.263、H.264等等。另外,正在進(jìn)行的數(shù)據(jù)壓縮的標(biāo)準(zhǔn)化工作包括附加功能,比如虛擬現(xiàn)實(shí)和認(rèn)證。根據(jù)傳統(tǒng)的數(shù)據(jù)壓縮標(biāo)準(zhǔn),編碼器通過將數(shù)字圖像數(shù)據(jù)分割為一定長度的塊來對(duì)它們編碼。
編碼的數(shù)據(jù)被發(fā)送給解碼器,然后根據(jù)已用于對(duì)它們編碼的相同標(biāo)準(zhǔn)被解碼。Huffman編碼和算術(shù)編碼被廣泛地用作編碼/解碼方法,本發(fā)明特別地涉及算術(shù)編碼。
圖1顯示用于描述傳統(tǒng)的算術(shù)編碼方法的曲線圖,其中消息“ABBC#”被壓縮。假設(shè)將被編碼的消息的一組符號(hào)(S)包括A、B、C、和#并且每個(gè)符號(hào)的概率分別是0.4、0.3、0.1、和0.2。
為了對(duì)消息“ABBC#”編碼,使用在0和1之間延伸的概率基準(zhǔn)線。以下,此概率基準(zhǔn)線被稱為間隔。為了對(duì)第一符號(hào)A編碼,與符號(hào)A的概率間隔(0,0.4)對(duì)應(yīng)的范圍被用作用于對(duì)下一符號(hào)編碼的新間隔,并且符號(hào)A的編碼值被編碼為表示成位于該間隔的浮點(diǎn)數(shù)的碼字。類似地,隨后的符號(hào)B、B、C、和#分別被表示為(0.16,0.28)、(0.208,0.244)、(0.2332,0.2368)、和(0.23608,0.2368)。結(jié)果,整個(gè)消息ABBC#被編碼為浮點(diǎn)數(shù)0.23608。在這種情況下,由具有由最小的每個(gè)符號(hào)的間隔確定的比特流長度的浮點(diǎn)數(shù)表示的碼字稱為偏移。從解碼器的角度來看,編碼的符號(hào)能通過使用間隔和偏移來被解碼。
在上述的算術(shù)編碼方法中,編碼通過使用由基于相應(yīng)的符號(hào)根據(jù)它的概率位于在0和1之間延伸的概率基準(zhǔn)線的位置而確定的浮點(diǎn)數(shù)表示的碼字來被實(shí)現(xiàn)。編碼的碼字被發(fā)送給解碼器作為由具有由最小的每個(gè)符號(hào)的間隔確定的比特流長度的浮點(diǎn)數(shù)表示的碼字。以下,該碼字被稱為偏移。換句話說,如果間隔和偏移被定義,則相應(yīng)的消息能夠被編碼為由特定浮點(diǎn)數(shù)表示的碼字,并且該編碼的碼字被發(fā)送給解碼器,然后根據(jù)相同的原理被解碼。以下,編碼的一對(duì)間隔和偏移(間隔,偏移)被稱為編碼狀態(tài)信息,并且解碼的一對(duì)間隔和偏移(間隔,偏移)被稱為解碼狀態(tài)信息。
在這種情況下,問題在于在編碼的數(shù)據(jù)的傳輸期間發(fā)生的錯(cuò)誤。圖2顯示用于描述根據(jù)傳統(tǒng)的解碼方法處理傳輸錯(cuò)誤的方法的片示圖。
在圖2中,表示了作為根據(jù)算術(shù)編碼方法編碼的數(shù)據(jù)的單位的片的例子。片包括頭部和多個(gè)宏塊。傳統(tǒng)的解碼器在對(duì)編碼的片解碼期間檢測比特或分組中由傳輸錯(cuò)誤E引起的異常狀態(tài)D或未定義的狀態(tài),然后處理該錯(cuò)誤。換句話說,在在解碼期間檢測出異常狀態(tài)的有限的情況下,解碼器確定傳輸錯(cuò)誤發(fā)生,從而相應(yīng)的整個(gè)片被丟棄。在這種情況下,丟棄的片包括已被正確地解碼而沒有任何傳輸錯(cuò)誤的宏塊(從片的起始點(diǎn)到位置E)、在錯(cuò)誤的宏塊之后被解碼的宏塊(在位置D之后)、和具有傳輸錯(cuò)誤的宏塊(從位置E到位置D)。
換句話說,由于傳統(tǒng)的解碼器未準(zhǔn)備檢測傳輸錯(cuò)誤的準(zhǔn)確位置(E)的方法,所以即使一個(gè)錯(cuò)誤的位也能傳播到整個(gè)片。因此,包括未被解碼并且可能沒有錯(cuò)誤的剩余宏塊的整個(gè)片應(yīng)被丟棄。具體地講,在比如視頻或音頻流服務(wù)的應(yīng)用中這樣的傳輸錯(cuò)誤可為重要的問題,因?yàn)橹匦聜鬏斒请y以提供的。
在另一方面,根據(jù)傳統(tǒng)的解碼方法,如在圖2中所示,解碼沿虛線箭頭線從片的起始點(diǎn)到末端順序地被執(zhí)行。具體地講,根據(jù)上下文自適應(yīng)算術(shù)編碼(context adaptive arithmetic coding),已被解碼的相鄰數(shù)據(jù)的概率被用于對(duì)下一數(shù)據(jù)編碼。另外,根據(jù)上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC),當(dāng)編碼器或解碼器開始對(duì)數(shù)據(jù)編碼或解碼時(shí),相同的概率表被使用,但它們的概率隨著編碼或解碼的進(jìn)行而被更新。因此,當(dāng)前的數(shù)據(jù)不能在先前數(shù)據(jù)被解碼之前被解碼,因?yàn)橄惹皵?shù)據(jù)的編碼狀態(tài)信息(間隔,偏移)影響當(dāng)前的數(shù)據(jù)。結(jié)果,解碼的并行處理不能被實(shí)現(xiàn),由此降低了解碼速度。
發(fā)明內(nèi)容
本發(fā)明提供了一種能夠防止錯(cuò)誤傳播和實(shí)現(xiàn)并行處理的解碼方法以及使用其的解碼設(shè)備。
根據(jù)本發(fā)明的一方面,提供了一種解碼方法,包括通過接收編碼的數(shù)據(jù)和用于檢測傳輸錯(cuò)誤的每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的編碼信息并在對(duì)編碼的數(shù)據(jù)解碼時(shí)獲得與同步點(diǎn)對(duì)應(yīng)的解碼信息,來比較編碼信息和解碼信息;和如果這兩種信息相同,則繼續(xù)對(duì)編碼的數(shù)據(jù)解碼,或者如果這兩種信息不同,則通過限定在相應(yīng)同步點(diǎn)和前一同步點(diǎn)之間的傳輸錯(cuò)誤區(qū)域參照編碼信息來繼續(xù)對(duì)位于相應(yīng)同步點(diǎn)之后的剩余數(shù)據(jù)解碼。
同步點(diǎn)可被用作用于檢測傳輸錯(cuò)誤的基準(zhǔn)點(diǎn),并且可被設(shè)置在以編碼的數(shù)據(jù)的至少一個(gè)宏塊為單位的周期性位置。
編碼信息可通過附加信息比如補(bǔ)充增強(qiáng)信息原字節(jié)序列凈荷(SEI-RBSP)來被與編碼的數(shù)據(jù)分開地接收。
根據(jù)算術(shù)編碼的編碼信息和解碼信息可包括間隔,是將被解碼的數(shù)據(jù)的概率基準(zhǔn)線;偏移,是由具有由最小的解碼數(shù)據(jù)的間隔確定的比特流長度的浮點(diǎn)數(shù)表示的碼字;和比特流偏移,起解碼的起始點(diǎn)的作用。
根據(jù)上下文或概率自適應(yīng)算術(shù)編碼的編碼信息和解碼信息包括關(guān)于上下文或概率的附加信息。
根據(jù)本發(fā)明的另一方面,提供了一種解碼設(shè)備,包括解碼單元,接收并解碼編碼的數(shù)據(jù);和錯(cuò)誤檢測/處理單元,比較在每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的解碼信息和相應(yīng)的同步點(diǎn)的編碼信息以檢測解碼的數(shù)據(jù)中的傳輸錯(cuò)誤,并且如果這兩種信息相同,則控制解碼單元繼續(xù)對(duì)編碼的數(shù)據(jù)解碼,或者如果這兩種信息不同,則控制解碼單元通過限定在相應(yīng)同步點(diǎn)和前一同步點(diǎn)之間的錯(cuò)誤區(qū)域參照與編碼的數(shù)據(jù)分開地接收的編碼信息來繼續(xù)對(duì)在相應(yīng)同步點(diǎn)之后的剩余數(shù)據(jù)解碼。
根據(jù)本發(fā)明的另一方面,提供了一種解碼方法,包括接收編碼的數(shù)據(jù)和在每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的編碼信息以檢測傳輸錯(cuò)誤,并且載入與片數(shù)據(jù)的起始點(diǎn)和每個(gè)同步點(diǎn)對(duì)應(yīng)的接收的編碼信息;和參照編碼信息以并行方式同時(shí)對(duì)位于每個(gè)同步點(diǎn)之間的編碼的數(shù)據(jù)解碼。
根據(jù)本發(fā)明的另一方面,提供了一種解碼設(shè)備,包括解碼單元,接收并解碼編碼的數(shù)據(jù);和錯(cuò)誤檢測/處理單元,接收在每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的編碼信息以檢測傳輸錯(cuò)誤,并控制解碼單元參照與片的起始點(diǎn)和每個(gè)同步點(diǎn)對(duì)應(yīng)的接收的編碼信息以并行方式同時(shí)對(duì)在每個(gè)同步點(diǎn)之間的編碼的數(shù)據(jù)解碼。
根據(jù)本發(fā)明的另一方面,提供了一種解碼方法,包括分開接收編碼的數(shù)據(jù)和在每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的編碼信息以檢測傳輸錯(cuò)誤;參照與片的起始點(diǎn)和每個(gè)同步點(diǎn)對(duì)應(yīng)的接收的編碼信息以并行方式同時(shí)對(duì)在每個(gè)同步點(diǎn)之間的編碼的數(shù)據(jù)解碼;和通過在對(duì)每個(gè)同步點(diǎn)之間的編碼的數(shù)據(jù)解碼時(shí)獲得與每個(gè)同步點(diǎn)對(duì)應(yīng)的解碼信息來比較編碼信息和解碼信息,以便如果這兩種信息相同,則繼續(xù)對(duì)編碼的數(shù)據(jù)解碼,或者如果這兩種信息不同,則通過限定在相應(yīng)的當(dāng)前同步點(diǎn)和前一同步點(diǎn)之間的傳輸錯(cuò)誤區(qū)域參照編碼信息來繼續(xù)對(duì)在相應(yīng)同步點(diǎn)之后的剩余數(shù)據(jù)解碼。
通過結(jié)合附圖對(duì)其示例性實(shí)施例進(jìn)行詳細(xì)的描述,本發(fā)明的以上和其他特性和優(yōu)點(diǎn)將會(huì)變得更加清楚,其中圖1顯示用于描述傳統(tǒng)的算術(shù)編碼方法的曲線圖;圖2顯示用于描述當(dāng)發(fā)生傳輸錯(cuò)誤時(shí)根據(jù)傳統(tǒng)的解碼方法處理傳輸錯(cuò)誤的方法的片示圖;圖3顯示根據(jù)本發(fā)明的示例性實(shí)施例的即使當(dāng)傳輸錯(cuò)誤發(fā)生時(shí)仍能防止錯(cuò)誤傳播和實(shí)現(xiàn)并行處理的解碼設(shè)備的方框圖;圖4顯示根據(jù)本發(fā)明的示例性實(shí)施例的為了即使當(dāng)傳輸錯(cuò)誤發(fā)生時(shí)防止錯(cuò)誤傳播和實(shí)現(xiàn)并行處理而分開地接收的捕獲編碼信息的例子;圖5顯示用于描述根據(jù)本發(fā)明的實(shí)施例的即使當(dāng)傳輸錯(cuò)誤發(fā)生時(shí)仍能防止錯(cuò)誤傳播的解碼方法的片格式的例子;圖6顯示用于描述根據(jù)本發(fā)明的實(shí)施例的即使當(dāng)傳輸錯(cuò)誤發(fā)生時(shí)仍能防止錯(cuò)誤傳播的解碼方法的流程圖;圖7顯示用于描述根據(jù)本發(fā)明的另一實(shí)施例的能夠?qū)崿F(xiàn)并行處理的解碼方法的片格式的例子;和圖8顯示用于描述根據(jù)本發(fā)明的另一實(shí)施例的能夠?qū)崿F(xiàn)并行處理的解碼方法的流程圖。
具體實(shí)施例方式
現(xiàn)在將參照附圖對(duì)本發(fā)明進(jìn)行更充分地的描述,本發(fā)明的示例性實(shí)施例表示在附圖中。然而,本發(fā)明可以以很多不同的形式來實(shí)現(xiàn),并且不應(yīng)被解釋為限制于這里闡述的實(shí)施例;相反,這些實(shí)施例被提供以便此公開是徹底和完全的,并將向本領(lǐng)域技術(shù)人員充分地表達(dá)本發(fā)明的思想。在附圖中相同的標(biāo)號(hào)表示相同的部件,因此將不重復(fù)對(duì)它們的描述。
圖3顯示根據(jù)本發(fā)明的示例性實(shí)施例的即使當(dāng)傳輸錯(cuò)誤發(fā)生時(shí)仍能防止錯(cuò)誤傳播和實(shí)現(xiàn)并行處理的解碼設(shè)備的方框圖。
根據(jù)本發(fā)明的解碼器包括解碼單元310和錯(cuò)誤檢測/處理單元320。
解碼單元310從編碼器接收編碼的數(shù)據(jù)并對(duì)它們解碼。
錯(cuò)誤檢測/處理單元320通過比較同步點(diǎn)(以下,稱為同步點(diǎn))的解碼狀態(tài)信息和包括在從編碼器分開地接收的捕獲編碼信息中的相應(yīng)的編碼狀態(tài)信息來檢測解碼單元310的解碼的數(shù)據(jù)中的傳輸錯(cuò)誤,然后處理它。更具體地講,為了檢測解碼的數(shù)據(jù)中的傳輸錯(cuò)誤,錯(cuò)誤檢測/處理單元320比較在每個(gè)預(yù)定周期中設(shè)置的多個(gè)同步點(diǎn)的解碼狀態(tài)信息和包括在與編碼的圖像數(shù)據(jù)分開接收的相應(yīng)的捕獲編碼信息中的編碼狀態(tài)信息。如果這兩種信息相同,則錯(cuò)誤檢測/處理單元320確定沒有傳輸錯(cuò)誤,然后控制解碼繼續(xù)。相反地,如果這兩種信息不同,則錯(cuò)誤檢測/處理單元320確定發(fā)生傳輸錯(cuò)誤,然后通過限定在相應(yīng)的同步點(diǎn)和前一同步點(diǎn)之間的傳輸錯(cuò)誤區(qū)域然后將分開地接收的捕獲編碼信息和剩余數(shù)據(jù)發(fā)送給解碼單元310來控制對(duì)剩余數(shù)據(jù)繼續(xù)解碼。
現(xiàn)在,將詳細(xì)描述根據(jù)本發(fā)明的捕獲編碼信息。
圖4顯示根據(jù)本發(fā)明的分開地接收的以便即使當(dāng)傳輸錯(cuò)誤發(fā)生時(shí)防止錯(cuò)誤傳播和實(shí)現(xiàn)并行處理的捕獲編碼信息的例子。
捕獲編碼信息包括編碼狀態(tài)信息、比特流偏移、和/或附加信息。
編碼信息包括對(duì)于根據(jù)算術(shù)編碼方法將包括S0、S1、S2、和S3的每個(gè)同步點(diǎn)Si的數(shù)據(jù)編碼為浮點(diǎn)數(shù)所必需的間隔和偏移。
比特流偏移代表相對(duì)于編碼的片的起始點(diǎn)的相應(yīng)同步點(diǎn)的比特流位置。編碼能夠參照包括相應(yīng)的間隔和偏移的編碼狀態(tài)信息從由比特流偏移指示的位置被重新開始。
附加信息包括用于自適應(yīng)算術(shù)編碼的上下文信息和/或自適應(yīng)概率信息。如果解碼器能夠參照僅編碼狀態(tài)信息實(shí)現(xiàn)算術(shù)編碼方法,則附加信息可不被包括。也就是說,如果使用上下文或概率自適應(yīng)算術(shù)編碼方法,則附加信息可被包括在捕獲編碼信息中。然而,如果使用能夠?qū)?shù)據(jù)解碼而不需附加信息的其他算術(shù)編碼方法,則附加信息可不被包括。因此,根據(jù)算術(shù)編碼方法,附加信息可被包括或不被包括。
根據(jù)相應(yīng)的算術(shù)編碼方法,捕獲編碼信息與編碼的數(shù)據(jù)片分開地被發(fā)送給解碼器。換句話說,編碼器在對(duì)數(shù)據(jù)編碼期間單獨(dú)對(duì)同步點(diǎn)的將被編碼的數(shù)據(jù)的捕獲編碼信息編碼,然后將它們發(fā)送給解碼器。例如,根據(jù)H.264標(biāo)準(zhǔn),編碼狀態(tài)信息能夠通過補(bǔ)充增強(qiáng)信息原字節(jié)序列凈荷(supplementaryenhancement informatiion raw byte sequence payload,SEI-RBSP)來被發(fā)送給解碼器。解碼器從編碼器中與編碼的數(shù)據(jù)分開地接收捕獲編碼信息。同時(shí),當(dāng)對(duì)接收的編碼的數(shù)據(jù)解碼時(shí)解碼器獲得包括與在每個(gè)一定周期中的同步點(diǎn)對(duì)應(yīng)的間隔和偏移的解碼狀態(tài)信息,然后比較該解碼狀態(tài)信息和編碼狀態(tài)信息。
前者包括在傳輸之前由編碼器關(guān)于在每一同步點(diǎn)的圖像數(shù)據(jù)計(jì)算的間隔和偏移,后者包括在傳輸之后由解碼器關(guān)于在相同位置的圖像數(shù)據(jù)計(jì)算的間隔和偏移。因此,如果這兩種信息相同,則其意味著數(shù)據(jù)被準(zhǔn)確地傳輸而沒有在傳輸期間的錯(cuò)誤。
相反地,如果這兩種信息彼此不同,則其意味著發(fā)生傳輸錯(cuò)誤。根據(jù)本發(fā)明的示例性實(shí)施例,如果結(jié)果顯示兩種信息不同,則在每個(gè)預(yù)定周期執(zhí)行前述比較,然后具有傳輸錯(cuò)誤的區(qū)域被限定在前一同步點(diǎn)S(i-1)和相應(yīng)的同步點(diǎn)S之間。因此,參照包括在相應(yīng)的同步點(diǎn)的捕獲編碼信息中的比特流偏移和編碼狀態(tài)信息,剩余數(shù)據(jù)的解碼能夠從與比特流偏移對(duì)應(yīng)的位置被繼續(xù)。由于與編碼的數(shù)據(jù)分開地接收的捕獲編碼信息不被傳輸錯(cuò)誤影響,所以解碼能夠通過使用包括在編碼狀態(tài)信息中的偏移和間隔來被沒有錯(cuò)誤地完成,并且解碼應(yīng)被重新開始的位置能夠參照比特流偏移來被確定。
因此,可通過將具有傳輸錯(cuò)誤的區(qū)域限定在最小可能長度內(nèi)來防止傳輸錯(cuò)誤傳播到整個(gè)片,并且繼續(xù)對(duì)數(shù)據(jù)解碼而不丟棄未被解碼并且可能沒有錯(cuò)誤的剩余數(shù)據(jù)。
同時(shí),同步點(diǎn)Si被用作檢測傳輸錯(cuò)誤的基準(zhǔn)點(diǎn)。在任何圖像數(shù)據(jù)中,同步點(diǎn)能夠被設(shè)置在以至少一個(gè)宏塊為單位的周期性位置。從編碼器的角度來看,同步點(diǎn)指定其中根據(jù)算術(shù)編碼方法編碼的片數(shù)據(jù)的捕獲編碼信息被通過例如SEI-RBSP發(fā)送給解碼器的數(shù)據(jù)位置。多個(gè)同步點(diǎn)能夠被設(shè)置以確定哪個(gè)片具有傳輸錯(cuò)誤。例如,同步點(diǎn)能夠被設(shè)置在片中除第一宏塊以外的每個(gè)宏塊中。根據(jù)H.264標(biāo)準(zhǔn),對(duì)每個(gè)宏塊中的標(biāo)志mb_skip_flag解碼的位置能夠被設(shè)置為P、B、或SP片中的同步點(diǎn)。另一個(gè)例子是,對(duì)標(biāo)記mb_field_decoding_flag或標(biāo)記mb_type解碼的位置能夠被設(shè)置為I或SI片中的同步點(diǎn)。另一方面,幾個(gè)宏塊被組合以用作同步點(diǎn)的單位。也就是說,前述的同步點(diǎn)的位置僅為示例性的,可不具有固定的周期。最好,同步點(diǎn)的位置能夠被適當(dāng)?shù)匦拚栽诓东@編碼信息中獲得有意義的錯(cuò)誤檢測周期以及不引起額外消耗(overhead)。
現(xiàn)在,將詳細(xì)地描述根據(jù)本發(fā)明實(shí)施例的能夠防止傳輸錯(cuò)誤傳播的解碼方法。
圖5顯示用于描述根據(jù)本發(fā)明的實(shí)施例的即使當(dāng)傳輸錯(cuò)誤發(fā)生時(shí)仍能防止錯(cuò)誤傳播的解碼方法的片格式的例子。
片包括頭部和多個(gè)宏塊。從片的起始點(diǎn)到末端,同步點(diǎn)S0、S1、S2、和S3被設(shè)置在每個(gè)預(yù)定周期中。當(dāng)沿虛線箭頭線對(duì)數(shù)據(jù)解碼時(shí),解碼器在到達(dá)每個(gè)指定的同步點(diǎn)S0、S1、S2、和S3時(shí)獲得代表間隔和偏移的一對(duì)(codIInterval,codIOffset)作為相應(yīng)位置的解碼狀態(tài)信息。然后,解碼器比較該解碼狀態(tài)信息和作為相同位置的編碼狀態(tài)信息的代表間隔和偏移的一對(duì)(Interval,Offset)。如圖4中所示,編碼狀態(tài)信息被分開地接收。
假設(shè)傳輸錯(cuò)誤發(fā)生在E位置,傳輸錯(cuò)誤根據(jù)前述算術(shù)編碼的性質(zhì)傳播到整個(gè)片,并且直到到達(dá)位置S1才被檢測到。根據(jù)本發(fā)明,當(dāng)?shù)竭_(dá)同步點(diǎn)S1時(shí),同步點(diǎn)S1的解碼狀態(tài)信息被與捕獲編碼信息的編碼狀態(tài)信息比較。如果這兩種信息相同,則確定解碼被適當(dāng)?shù)貓?zhí)行而沒有錯(cuò)誤,然后繼續(xù)進(jìn)行解碼。然而,如果如圖中所示存在傳輸錯(cuò)誤(E),則確定解碼狀態(tài)信息(codIInterval,codIOffset)與編碼狀態(tài)信息(Interval,Offset)不同,從而在同步點(diǎn)S1能夠檢測到錯(cuò)誤(E)。
同時(shí),為了防止錯(cuò)誤進(jìn)一步傳播,已檢測到錯(cuò)誤的相應(yīng)位置S1的捕獲編碼信息被載入。從由相應(yīng)位置S1的捕獲編碼信息識(shí)別的比特流偏移位置bitOffset,對(duì)剩余數(shù)據(jù)520的解碼能夠參照編碼狀態(tài)信息(Interval,Offset)來繼續(xù)進(jìn)行。另外,錯(cuò)誤的區(qū)域能夠被限定在位于先前同步點(diǎn)S0和當(dāng)前同步點(diǎn)S1之間的區(qū)域510內(nèi),并且僅區(qū)域510被丟棄。
前述的能夠防止錯(cuò)誤傳播的解碼方法能夠被總結(jié)如下。
圖6顯示用于描述根據(jù)本發(fā)明的實(shí)施例的即使當(dāng)傳輸錯(cuò)誤發(fā)生時(shí)仍能防止錯(cuò)誤傳播的解碼方法的流程圖。
根據(jù)本發(fā)明的解碼方法包括通過接收編碼的數(shù)據(jù)和設(shè)置在每個(gè)預(yù)定周期中的至少一個(gè)同步點(diǎn)的編碼信息并在對(duì)編碼的數(shù)據(jù)解碼時(shí)獲得與同步點(diǎn)對(duì)應(yīng)的解碼信息,來比較編碼信息和解碼信息;和如果作為比較的結(jié)果這兩種信息相同,則繼續(xù)對(duì)數(shù)據(jù)解碼,或者如果這兩種信息不同,則通過限定在相應(yīng)同步點(diǎn)和前一同步點(diǎn)之間的傳輸錯(cuò)誤區(qū)域參照編碼信息來繼續(xù)對(duì)在相應(yīng)同步點(diǎn)之后的剩余數(shù)據(jù)解碼。
更具體地講,參照?qǐng)D6,直到解碼完成之前(操作步驟610),接收的編碼的數(shù)據(jù)通過使用預(yù)定單位比如宏塊來被解碼(操作步驟620)。如果在對(duì)該數(shù)據(jù)解碼期間到達(dá)同步點(diǎn)(操作步驟630),則相應(yīng)同步點(diǎn)的解碼狀態(tài)信息被與包括在捕獲編碼信息中的編碼狀態(tài)信息比較(操作步驟640)。作為比較的結(jié)果,如果這兩種信息相同(操作步驟650),則因?yàn)榇_定不存在傳輸錯(cuò)誤所以繼續(xù)進(jìn)行解碼(操作步驟610)。如果這兩種信息不同(操作步驟650),則確定發(fā)生錯(cuò)誤,并且通過限定在先前同步點(diǎn)和當(dāng)前同步點(diǎn)之間的傳輸錯(cuò)誤區(qū)域作為錯(cuò)誤區(qū)域,傳輸錯(cuò)誤區(qū)域被有選擇地丟棄(操作步驟660)。另外,參照與當(dāng)前同步點(diǎn)對(duì)應(yīng)的捕獲編碼信息對(duì)在當(dāng)前同步點(diǎn)之后的剩余區(qū)域繼續(xù)進(jìn)行解碼(操作步驟670)。如果解碼完成(操作步驟610),則解碼的數(shù)據(jù)被輸出給顯示裝置(操作步驟680)。
現(xiàn)在,將描述根據(jù)本發(fā)明另一實(shí)施例的能夠?qū)崿F(xiàn)并行處理的解碼方法。
圖7顯示用于描述根據(jù)本發(fā)明的另一實(shí)施例的能夠?qū)崿F(xiàn)并行處理的解碼方法的片格式的例子。
片包括頭部和多個(gè)宏塊。從片的起始到末端,同步點(diǎn)S0、S1、S2、和S3被設(shè)置在每個(gè)預(yù)定周期中。在每個(gè)同步點(diǎn)之間的區(qū)域被定義為線(thread)。由于在圖中有三個(gè)同步點(diǎn)S1到S3,所以提供了四個(gè)線Thread0到Thread3。也就是說,對(duì)于n個(gè)同步點(diǎn),提供了(n+1)個(gè)線。
第一線Thread0在解碼器被初始化之后參照包括在片的起始點(diǎn)的初始化信息中的編碼信息與剩余的線Thread1、Thread2、和Thread3一起被以并行方式解碼。剩余的線Thread1、Thread2、和Thread3通過載入包括在每個(gè)同步點(diǎn)中的分開地接收的捕獲編碼信息來開始被以并行方式同時(shí)解碼。解碼的起始點(diǎn)由每個(gè)捕獲編碼信息中的比特流偏移bitOffset1、bitOffset2、和bitOffset3指定。換句話說,線能夠通過載入片的起始點(diǎn)和每個(gè)同步點(diǎn)的捕獲編碼信息來被同時(shí)和單獨(dú)地解碼。同步點(diǎn)的數(shù)量由線的數(shù)量來確定,并且可基于由解碼器支持的范圍被確定為最優(yōu)數(shù)量。通常,可為支持n個(gè)線的解碼器設(shè)置(n-1)個(gè)同步點(diǎn)。
前述能夠參照捕獲編碼信息實(shí)現(xiàn)并行處理的解碼方法可總結(jié)如下。
圖8顯示用于描述根據(jù)本發(fā)明的另一實(shí)施例的能夠?qū)崿F(xiàn)并行處理的解碼方法的流程圖。
根據(jù)本發(fā)明的解碼方法包括接收編碼的數(shù)據(jù)和用于檢測傳輸錯(cuò)誤的每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的編碼信息,并載入與片數(shù)據(jù)的起始點(diǎn)和每個(gè)同步點(diǎn)對(duì)應(yīng)的接收的編碼信息(操作步驟810);和參照編碼信息以并行方式同時(shí)對(duì)在每個(gè)同步點(diǎn)之間的編碼的數(shù)據(jù)解碼。
更具體地講,參照?qǐng)D8,當(dāng)開始對(duì)片的解碼時(shí),算術(shù)解碼引擎被初始化。然后,在每個(gè)同步點(diǎn)之間每個(gè)線(從第一線到第n線)中的編碼的數(shù)據(jù)參照與片的起始點(diǎn)和每個(gè)同步點(diǎn)對(duì)應(yīng)的捕獲編碼信息被以并行方式同時(shí)解碼(操作步驟820)。
換句話說,根據(jù)算術(shù)編碼方法的解碼能夠參照包括在在每個(gè)同步點(diǎn)中分開地接收的捕獲編碼信息中的編碼狀態(tài)信息來被以并行方式同時(shí)處理,并且在整個(gè)片中的當(dāng)前解碼位置能夠參照包括在捕獲編碼信息中的比特流偏移來被指定。
直到現(xiàn)在,已描述了根據(jù)本發(fā)明參照捕獲編碼信息防止傳輸錯(cuò)誤傳播的方法和能夠參照捕獲編碼信息實(shí)現(xiàn)并行處理的解碼方法。在這些實(shí)施例中,捕獲編碼信息被使用。因此,通過組合這兩個(gè)實(shí)施例能夠提供能防止錯(cuò)誤傳播和實(shí)現(xiàn)并行處理的解碼方法及使用其的設(shè)備。這樣的組合能夠由本領(lǐng)域技術(shù)人員容易地實(shí)現(xiàn),因此將不重復(fù)對(duì)它們的詳細(xì)描述。
另外,盡管前述實(shí)施例通過以發(fā)生比特錯(cuò)誤的情況來舉例進(jìn)行描述,但本發(fā)明可以以分組的單位來擴(kuò)展地應(yīng)用。
本發(fā)明也能夠?qū)崿F(xiàn)為計(jì)算機(jī)可讀記錄介質(zhì)上的計(jì)算機(jī)可讀代碼。計(jì)算機(jī)可讀記錄介質(zhì)是任何能夠存儲(chǔ)其后能由計(jì)算機(jī)系統(tǒng)讀取的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)裝置。計(jì)算機(jī)可讀記錄介質(zhì)的例子包括只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤、光學(xué)數(shù)據(jù)存儲(chǔ)裝置、和載波(比如通過互聯(lián)網(wǎng)的數(shù)據(jù)傳輸)。計(jì)算機(jī)可讀記錄介質(zhì)也可分布在網(wǎng)絡(luò)連接的計(jì)算機(jī)系統(tǒng),以便計(jì)算機(jī)可讀代碼以分布的方式被存儲(chǔ)并執(zhí)行。
根據(jù)本發(fā)明,可提供能夠防止錯(cuò)誤傳播和實(shí)現(xiàn)并行處理的解碼方法。
此外,根據(jù)本發(fā)明,可將傳輸錯(cuò)誤區(qū)域限定在在捕獲編碼信息中指定的兩點(diǎn)之間的最小可能長度內(nèi),并參照捕獲編碼信息對(duì)未被解碼的剩余數(shù)據(jù)繼續(xù)解碼。因此,可最小化錯(cuò)誤的影響。
另外,根據(jù)本發(fā)明,可通過參照捕獲編碼信息以并行方式同時(shí)對(duì)多個(gè)區(qū)域解碼來減少解碼時(shí)間。
另外,本發(fā)明能夠以具有在網(wǎng)絡(luò)中相同的長度的分組的單位來應(yīng)用。
盡管已參照其示例性實(shí)施例具體地表示和描述了本發(fā)明,但本領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離由權(quán)利要求限定的本發(fā)明的精神和范圍情況下,可以對(duì)其進(jìn)行形式和細(xì)節(jié)的各種修改。示例性實(shí)施例應(yīng)僅視為描述性的而非用于限制的目的。因此,本發(fā)明的范圍不是由對(duì)本發(fā)明的詳細(xì)描述而是由所附權(quán)利要求來限定的,并且在范圍內(nèi)的所有差別應(yīng)被解釋為包括在本發(fā)明中。
權(quán)利要求
1.一種解碼方法,包括通過接收編碼的數(shù)據(jù)和用于檢測傳輸錯(cuò)誤的每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的編碼信息并在對(duì)編碼的數(shù)據(jù)解碼時(shí)獲得與同步點(diǎn)對(duì)應(yīng)的解碼信息,來比較編碼信息和解碼信息;和如果這兩種信息相同,則繼續(xù)對(duì)編碼的數(shù)據(jù)解碼,或者如果這兩種信息不同,則通過限定在相應(yīng)同步點(diǎn)和前一同步點(diǎn)之間的傳輸錯(cuò)誤區(qū)域參照編碼信息來繼續(xù)對(duì)位于相應(yīng)同步點(diǎn)之后的剩余數(shù)據(jù)解碼。
2.如權(quán)利要求1所述的解碼方法,其中,同步點(diǎn)被用作用于檢測傳輸錯(cuò)誤的基準(zhǔn)點(diǎn),并且被設(shè)置在以編碼的數(shù)據(jù)的至少一個(gè)宏塊為單位的周期性位置。
3.如權(quán)利要求1所述的解碼方法,其中,編碼信息通過附加信息比如補(bǔ)充增強(qiáng)信息原字節(jié)序列凈荷(SEI-RBSP)來被與編碼的數(shù)據(jù)分開地接收。
4.如權(quán)利要求1所述的解碼方法,其中,根據(jù)算術(shù)編碼的編碼信息和解碼信息包括間隔,是將被解碼的數(shù)據(jù)的概率基準(zhǔn)線;偏移,是由具有由最小的解碼數(shù)據(jù)的間隔確定的比特流長度的浮點(diǎn)數(shù)表示的碼字;和比特流偏移,起解碼的起始點(diǎn)的作用。
5.如權(quán)利要求4所述的方法,其中,根據(jù)上下文或概率自適應(yīng)算術(shù)編碼的編碼信息和解碼信息包括關(guān)于上下文或概率的附加信息。
6.一種解碼設(shè)備,包括解碼單元,接收并解碼編碼的數(shù)據(jù);和錯(cuò)誤檢測/處理單元,比較在每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的解碼信息和相應(yīng)的同步點(diǎn)的編碼信息以檢測解碼的數(shù)據(jù)中的傳輸錯(cuò)誤,并且如果這兩種信息相同,則控制解碼單元繼續(xù)對(duì)編碼的數(shù)據(jù)解碼,或者如果這兩種信息不同,則控制解碼單元通過限定在相應(yīng)同步點(diǎn)和前一同步點(diǎn)之間的錯(cuò)誤區(qū)域參照與編碼的數(shù)據(jù)分開地接收的編碼信息來繼續(xù)對(duì)在相應(yīng)同步點(diǎn)之后的剩余數(shù)據(jù)解碼。
7.一種解碼方法,包括接收編碼的數(shù)據(jù)和在每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的編碼信息以檢測傳輸錯(cuò)誤,并且載入與片數(shù)據(jù)的起始點(diǎn)和每個(gè)同步點(diǎn)對(duì)應(yīng)的接收的編碼信息;和參照編碼信息以并行方式同時(shí)對(duì)位于每個(gè)同步點(diǎn)之間的編碼的數(shù)據(jù)解碼。
8.如權(quán)利要求7所述的解碼方法,其中,同步點(diǎn)的數(shù)量通過從解碼器能夠通過其以并行方式同時(shí)對(duì)數(shù)據(jù)解碼的例如線的單位的數(shù)量減去一來被設(shè)置,并且同步點(diǎn)被設(shè)置在以編碼的數(shù)據(jù)的至少一個(gè)宏塊為單位的周期性位置。
9.如權(quán)利要求7所述的解碼方法,其中,根據(jù)算術(shù)編碼的編碼信息和解碼信息包括間隔,是解碼數(shù)據(jù)的概率基準(zhǔn)線;偏移,是由具有由最小的解碼數(shù)據(jù)的間隔確定的比特流長度的浮點(diǎn)數(shù)表示的碼字;和比特流偏移,起解碼的起始點(diǎn)的作用。
10.如權(quán)利要求9所述的解碼方法,其中,根據(jù)上下文或概率自適應(yīng)算術(shù)編碼的編碼信息和解碼信息包括關(guān)于上下文或概率的附加信息。
11.一種解碼設(shè)備,包括解碼單元,接收并解碼編碼的數(shù)據(jù);和錯(cuò)誤檢測/處理單元,接收在每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的編碼信息以檢測傳輸錯(cuò)誤,并控制解碼單元參照與片的起始點(diǎn)和每個(gè)同步點(diǎn)對(duì)應(yīng)的接收的編碼信息以并行方式同時(shí)對(duì)在每個(gè)同步點(diǎn)之間的編碼的數(shù)據(jù)解碼。
12.一種解碼方法,包括分開接收編碼的數(shù)據(jù)和在每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的編碼信息以檢測傳輸錯(cuò)誤;參照與片的起始點(diǎn)和每個(gè)同步點(diǎn)對(duì)應(yīng)的接收的編碼信息以并行方式同時(shí)對(duì)在每個(gè)同步點(diǎn)之間的編碼的數(shù)據(jù)解碼;和通過在對(duì)每個(gè)同步點(diǎn)之間的編碼的數(shù)據(jù)解碼時(shí)獲得與每個(gè)同步點(diǎn)對(duì)應(yīng)的解碼信息來比較編碼信息和解碼信息,以便如果這兩種信息相同,則繼續(xù)對(duì)編碼的數(shù)據(jù)解碼,或者如果這兩種信息不同,則通過限定在相應(yīng)的當(dāng)前同步點(diǎn)和前一同步點(diǎn)之間的傳輸錯(cuò)誤區(qū)域參照編碼信息來繼續(xù)對(duì)在相應(yīng)同步點(diǎn)之后的剩余數(shù)據(jù)解碼。
全文摘要
一種能夠防止錯(cuò)誤傳播和實(shí)現(xiàn)并行處理的解碼方法及使用其的解碼設(shè)備,該解碼方法包括下述步驟通過接收編碼的數(shù)據(jù)和用于檢測傳輸錯(cuò)誤的每個(gè)預(yù)定周期中設(shè)置的至少一個(gè)同步點(diǎn)的編碼信息并在對(duì)編碼的數(shù)據(jù)解碼時(shí)獲得與同步點(diǎn)對(duì)應(yīng)的解碼信息,來比較編碼信息和解碼信息;和如果這兩種信息相同,則繼續(xù)對(duì)編碼的數(shù)據(jù)解碼,或者如果這兩種信息不同,則通過限定在相應(yīng)同步點(diǎn)和前一同步點(diǎn)之間的傳輸錯(cuò)誤區(qū)域參照編碼信息來繼續(xù)對(duì)位于相應(yīng)同步點(diǎn)之后的剩余數(shù)據(jù)解碼。另外,多個(gè)區(qū)域的編碼的數(shù)據(jù)參照多個(gè)同步點(diǎn)的編碼信息被以并行方式同時(shí)解碼。因此,可通過將傳輸錯(cuò)誤限定在最小可能長度內(nèi)來防止錯(cuò)誤傳播并可通過使用并行處理來減少解碼時(shí)間。
文檔編號(hào)G06F11/00GK1652611SQ200510005400
公開日2005年8月10日 申請(qǐng)日期2005年2月5日 優(yōu)先權(quán)日2004年2月5日
發(fā)明者奧斯汀·洛波, 李相來 申請(qǐng)人:三星電子株式會(huì)社