專利名稱:編碼設(shè)備、程序和數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于對諸如圖像數(shù)據(jù)和音頻數(shù)據(jù)之類的數(shù)據(jù)執(zhí)行算術(shù)編碼和其他編碼處理的數(shù)據(jù)處理方法、程序和編碼設(shè)備。
背景技術(shù):
近年來,在廣播站的信息發(fā)布以及家庭中的信息接收兩者中,為了獲得高效率的信息傳輸和存儲,已經(jīng)廣泛應用了用于處理數(shù)字格式圖像數(shù)據(jù)且符合MPEG(運動圖像專家組)以及其他用于通過諸如離散余弦變換之類的正交變換執(zhí)行壓縮和通過使用圖像信息特有的冗余進行運動補償?shù)姆椒ǖ脑O(shè)備。
MPEG系統(tǒng)之后是稱作JVT(視頻聯(lián)合工作組)的編碼方法,提出該編碼方法是為了實現(xiàn)更高的壓縮率。例如,參考Thomas Wiegand、Gary J.Sullivan、Gisle Bjontegaard和Ajay Luthra,overview of the H.264/AVCVideo Coding Standard(視頻編碼標準綜述),“IEEE Transactions Circuitsand Systems for Video Technology”,美國,2003年7月。
在JVT系統(tǒng)中,兩種類型的編碼處理CAVLC(Context BasedAdaptive Variable Length Coding,基于上下文的自適應變長編碼)和CABAC(Context Adaptive Binary Arithmetic Coding,上下文自適應二進制算術(shù)編碼)被規(guī)定為句法元(syntax element,SE)的編碼處理。
例如,在上面的編碼處理中,輸入海量數(shù)據(jù),必須執(zhí)行巨量的算術(shù)處理,并且需要計算量被減小的更高速度的編碼處理。
發(fā)明內(nèi)容
本發(fā)明的目的是提供能夠在編碼處理中獲得更高速度和減少的計算量的編碼設(shè)備、程序和數(shù)據(jù)處理方法。
為了達到上述目的,提供了一種編碼設(shè)備,該編碼設(shè)備用于對代表要被編碼的圖像信號的句法元進行自適應二進制算術(shù)編碼,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位(LSB)到最高有效位(MSB)的方向上執(zhí)行移位操作,直至被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),該編碼設(shè)備包括比特位置指定裝置,用于指定指示與所述第一數(shù)據(jù)中的MSB最靠近的第一邏輯值的比特位置;移位量指定裝置,用于基于由所述比特位置指定裝置指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;判決裝置,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在大小超過在所述移位量指定裝置中指定的所述移位量的空區(qū)域,其中所述擴展數(shù)據(jù)被加到所述第二數(shù)據(jù)的MSB,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和編碼裝置,用于當不存在所述空區(qū)域時,從通過所述移位操作被包含在所述擴展數(shù)據(jù)中的數(shù)據(jù),生成所述編碼數(shù)據(jù)。
本發(fā)明第一方面的編碼設(shè)備的操作如下。
比特位置指定裝置指定指示與第一數(shù)據(jù)中MSB(最高有效位)最靠近的第一邏輯值的比特位置。
移位量指定裝置基于由比特位置指定裝置指定的比特位置,指定第一數(shù)據(jù)由左移操作即將超過預定值之前的移位量。
判決裝置判斷在具有預定比特長度的擴展數(shù)據(jù)中是否存在大于由移位量指定裝置指定的移位量的空閑空間,其中擴展數(shù)據(jù)被加到第二數(shù)據(jù)的MSB側(cè),其中比特數(shù)據(jù)通過左移操作從第二數(shù)據(jù)進位。
編碼裝置在判決裝置判斷不存在空閑空間時,生成通過左移操作存儲在擴展數(shù)據(jù)中的數(shù)據(jù)的編碼數(shù)據(jù)。
另外,為了達到上述目的,本發(fā)明第二方面的編碼設(shè)備是這樣一種編碼設(shè)備,該編碼設(shè)備用于對代表要被編碼的圖像信號的句法元進行上下文(context)自適應二進制算術(shù)編碼的編碼設(shè)備,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位(LSB)到最高有效位(MSB)的方向上執(zhí)行移位操作,直至被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),該編碼設(shè)備包括比特位置指定裝置,用于指定指示與所述第一數(shù)據(jù)中的MSB最靠近的第一邏輯值的比特位置;移位量指定裝置,用于基于由所述比特位置指定裝置指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;判決裝置,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在預定比特長度數(shù)據(jù),其中擴展數(shù)據(jù)被加到第二數(shù)據(jù)的MSB,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和編碼裝置,用于當不存在預定比特長度數(shù)據(jù)時,從通過移位操作包含在擴展數(shù)據(jù)中的數(shù)據(jù)生成編碼數(shù)據(jù)。
另外,為了達到上述目的,本發(fā)明第三方面的編碼設(shè)備是這樣一種編碼設(shè)備,包括運動矢量生成裝置,用于基于要被處理運動補償?shù)膱D像數(shù)據(jù)與用作運動補償參考的參考圖像數(shù)據(jù)之間的第一差別生成運動矢量;第一信號處理裝置,用于對要被處理運動補償?shù)膱D像數(shù)據(jù)與預測圖像數(shù)據(jù)之間的第二差別進行正交變換處理,以及對正交變換的結(jié)果進行量化處理;第二信號處理裝置,用于對由第一信號處理裝置生成的數(shù)據(jù)進行反量化處理,以及對由反量化處理獲得的數(shù)據(jù)進行反正交變換,由此生成參考數(shù)據(jù);第三信號處理裝置,用于基于運動矢量和參考圖像數(shù)據(jù)生成預測圖像數(shù)據(jù);和編碼裝置,用于編碼由第一信號處理裝置生成的數(shù)據(jù)和運動矢量,所述編碼裝置用于對代表要被編碼的圖像信號的句法元進行上下文自適應二進制算術(shù)編碼,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位(LSB)到最高有效位(MSB)的方向上執(zhí)行移位操作,直至被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),該編碼裝置包括比特位置指定裝置,用于指定指示與所述第一數(shù)據(jù)中的MSB最靠近的第一邏輯值的比特位置;移位量指定裝置,用于基于由所述比特位置指定裝置指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;判決裝置,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在大小超過在所述移位量指定裝置中指定的所述移位量的空區(qū)域,其中所述擴展數(shù)據(jù)被加到所述第二數(shù)據(jù)的MSB,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和編碼裝置,用于當不存在所述空區(qū)域時,從通過所述移位操作被包含在所述擴展數(shù)據(jù)中的數(shù)據(jù),生成所述編碼數(shù)據(jù)。
另外,為了達到上述目的,根據(jù)本發(fā)明第四方面的程序是一種在計算機上執(zhí)行的程序,用于對代表要被編碼的圖像信號的句法元進行上下文自適應二進制算術(shù)編碼,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位(LSB)到最高有效位(MSB)的方向上執(zhí)行移位操作,直至被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),該程序包括第一過程,用于指定指示與所述第一數(shù)據(jù)中的MSB最靠近的第一邏輯值的比特位置;第二過程,用于基于由所述第一過程指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;第三過程,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在大小超過在所述第二過程中指定的所述移位量的空區(qū)域,其中所述擴展數(shù)據(jù)被加到所述第二數(shù)據(jù)的MSB,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和第四過程,用于當不存在所述空區(qū)域時,從通過所述移位操作被包含在所述擴展數(shù)據(jù)中的數(shù)據(jù),生成所述編碼數(shù)據(jù)。
另外,為了達到上述目的,本發(fā)明第五方面的程序是一種在計算機上執(zhí)行的程序,用于對代表要被編碼的圖像信號的句法元進行上下文自適應二進制算術(shù)編碼,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位(LSB)到最高有效位(MSB)的方向上執(zhí)行移位操作,直至被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),該程序包括第一過程,用于指定指示與所述第一數(shù)據(jù)中的MSB最靠近的第一邏輯值的比特位置;第二過程,用于基于由所述第一過程指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;第三過程,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在預定比特長度數(shù)據(jù),其中所述擴展數(shù)據(jù)被加到所述第二數(shù)據(jù)的MSB,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和第四過程,用于當不存在所述空區(qū)域時,從通過所述移位操作被包含在所述擴展數(shù)據(jù)中的數(shù)據(jù),生成所述編碼數(shù)據(jù)。
另外,為了達到上述目的,本發(fā)明第六方面的數(shù)據(jù)處理方法是這樣一種數(shù)據(jù)處理方法,該數(shù)據(jù)處理方法用于對代表要被編碼的圖像信號的句法元進行上下文自適應二進制算術(shù)編碼,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位(LSB)到最高有效位(MSB)的方向上執(zhí)行移位操作,直至被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),該方法包括第一步驟,用于指定指示與所述第一數(shù)據(jù)中的所述最高有效位最靠近的第一邏輯值的比特位置;第二步驟,用于基于由所述第一步驟指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;第三步驟,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在大小超過在所述第二步驟中指定的所述移位量的空區(qū)域,其中所述擴展數(shù)據(jù)被加到所述第二數(shù)據(jù)的所述最高有效位,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和第四步驟,用于當不存在所述空區(qū)域時,從通過所述移位操作被包含在所述擴展數(shù)據(jù)中的數(shù)據(jù),生成所述編碼數(shù)據(jù)。
根據(jù)本發(fā)明,提供了一種能夠在編碼處理中獲得更高速度和減少的計算量的編碼設(shè)備、程序和數(shù)據(jù)處理方法。
從下面參考附圖對優(yōu)選實施例的描述,本發(fā)明的這些以及其他目的和特性將變得更加清楚,附圖中圖1是本實施例的通信系統(tǒng)1的示意圖;圖2是圖1所示的編碼設(shè)備2的整體配置圖;圖3A~3E是用于解釋算術(shù)編碼處理的圖;圖4是用于解釋一般編碼處理中的歸一化(normalization)處理的圖;圖5是根據(jù)圖1所示的本發(fā)明第一實施例的編碼電路的功能框圖;圖6是圖2所示的編碼電路的編碼處理的總體操作流程圖;圖7是圖5所示的編碼電路的功能框圖;圖8是用于解釋圖7所示的編碼電路的范圍“Range”數(shù)據(jù)的圖;圖9是用于解釋圖7所示的編碼電路的下限值“Low”數(shù)據(jù)的圖;圖10是用于解釋圖7所示的編碼電路的編碼處理的操作的流程圖;圖11是用于解釋圖7所示的編碼電路中編碼處理的操作的具體示例的流程圖;圖12是用于解釋圖11所示的編碼電路的歸一化處理的具體示例的流程圖;圖13是用于解釋圖5所示的上下文無關(guān)類型編碼部分的操作的具體示例的圖;圖14是用于解釋圖13所示的編碼處理的“PutBit(B)”處理的流程圖;圖15是根據(jù)本發(fā)明編碼電路第三實施例的上下文無關(guān)類型編碼部分的功能框圖;圖16是用于解釋圖15所示的編碼電路的上下文無關(guān)類型編碼部分的操作的圖。
具體實施例方式
下面將解釋其中應用了本發(fā)明實施例的編碼處理的JVT系統(tǒng)的編碼設(shè)備。
圖1是本實施例的通信系統(tǒng)1的示意圖。
如圖1所示,通信系統(tǒng)1包括設(shè)置在發(fā)送方的編碼設(shè)備2和設(shè)置在接收方的解碼設(shè)備3。
在通信系統(tǒng)1中,在發(fā)送方的編碼設(shè)備2中,生成通過諸如離散余弦變換和Karhunen-Loeve變換之類的正交變換以及運動補償而被壓縮的幀圖像數(shù)據(jù)(比特流),并且?guī)瑘D像數(shù)據(jù)在經(jīng)由諸如人造衛(wèi)星廣播電波、有線電視網(wǎng)絡(luò)、電話線路網(wǎng)絡(luò)、蜂窩電話網(wǎng)絡(luò)之類的傳輸介質(zhì)和/或裝置被發(fā)送之前,在發(fā)送方的編碼設(shè)備2中被調(diào)制。
在接收方,在將接收到的圖像信號解調(diào)后,由運動補償和上面的調(diào)制處的數(shù)據(jù)的反正交變換而解壓縮的幀圖像數(shù)據(jù)被生成并被使用。
注意,傳輸介質(zhì)和/或裝置可以是光盤、磁盤、半導體存儲器及其他記錄介質(zhì)。
圖1所示的解碼設(shè)備3執(zhí)行與編碼設(shè)備2的編碼相對應的解碼,并且具有與相關(guān)領(lǐng)域中的配置相同的配置。
下面將解釋圖1所示的編碼設(shè)備2。
圖2是圖1所示的編碼設(shè)備2的整體配置圖。
如圖2所示,編碼設(shè)備(數(shù)據(jù)處理設(shè)備計算機)2例如包括作為主要部件的A/D轉(zhuǎn)換電路22、畫面重定位電路23、算術(shù)電路24、正交變換電路25、量化電路26、編碼電路(也被稱作編碼設(shè)備)27、緩沖器28、反量化電路29、反正交變換電路30、比率控制電路32、幀存儲器34、解塊(deblocking)濾波器38和運動預測/補償電路39。
下面將解釋編碼設(shè)備2的部件。
A/D轉(zhuǎn)換電路22將由輸入模擬亮度信號Y以及色差信號Cb和Cr組成的原始圖像信號S10轉(zhuǎn)換為數(shù)字幀數(shù)據(jù)S22,并將其輸出至畫面重定位電路23。
畫面重定位電路23將幀數(shù)據(jù)S23輸出至算術(shù)電流24、比率控制電路32和運動預測/補償電路39,其中幀數(shù)據(jù)S23是通過在按照由畫面類型I、P和B組成的GOP(畫面組)配置的一系列編碼中重新排列從A/D轉(zhuǎn)換電路22輸入的幀數(shù)據(jù)S22而獲得的。
算術(shù)電路24生成圖像數(shù)據(jù)S24并將其輸出至正交變換電路25,該圖像數(shù)據(jù)S24指示了在幀數(shù)據(jù)S23中要經(jīng)歷處理的運動補償塊MCB(也被稱作宏塊)與和其對應的從運動預測/補償電路39輸入的預測圖像數(shù)據(jù)PI的運動補償塊MCB之間的差異。
正交變換電路25對圖像數(shù)據(jù)S24執(zhí)行離散余弦變換、Karhunen-Loeve變換或者其他正交變換,以生成圖像數(shù)據(jù)(例如,DCT系數(shù))S25,并將其輸出至量化電路26。
量化電路26通過用從比率控制電路32輸入的量化比例量化圖像數(shù)據(jù)S25,生成圖像數(shù)據(jù)S26,并將其輸出至編碼電路27和反量化電路29。
編碼電路27基于指示運動矢量等的句法元(SE),執(zhí)行變長編碼處理或者算術(shù)編碼處理,并將作為處理結(jié)果的圖像數(shù)據(jù)存儲在緩沖器28中。
此時,例如,當執(zhí)行幀間預測(inter prediction)編碼時,編碼電路27編碼從運動預測/補償電路39輸入的運動矢量MV,并將其存儲在頭部數(shù)據(jù)中。
存儲在緩沖器28中的圖像數(shù)據(jù)在被發(fā)送之前被調(diào)制等等。
反量化電路29生成通過對從其他運動補償塊MCB參考得到的參考圖像數(shù)據(jù)的運動補償塊MCB的圖像數(shù)據(jù)S26執(zhí)行反量化而獲得的信號,并將其輸出至反正交變換電路30。
反正交變換電路30將圖像數(shù)據(jù)S30經(jīng)由解塊濾波器38寫到幀存儲器34中,其中圖像數(shù)據(jù)S30是通過對從反量化電路29輸入的數(shù)據(jù)執(zhí)行正交變換電路25中的正交變換的反變換而獲得的。
解塊濾波器38向幀存儲器34輸出通過從圖像數(shù)據(jù)S30去除塊偏斜(block skew)所獲得的圖像數(shù)據(jù)。
比率控制電路32生成量化參數(shù)Qp,使得例如基于從畫面重定位電路23輸入的幀數(shù)據(jù)S23,對圖像中高復雜的部分執(zhí)行細量化,對圖像中較不復雜的部分執(zhí)行粗量化。
然后,比率控制電路32基于上面生成的量化參數(shù)Qp以及從緩沖器28讀取的圖像數(shù)據(jù),生成量化比例,并將其輸出至量化電路26。
比率控制電路32還向運動預測/補償電路39輸出上面生成的量化參數(shù)Qp。
運動預測/補償電路39在基于要被編碼的幀數(shù)據(jù)S23的參考圖像數(shù)據(jù)和來自幀存儲器34的參考圖像數(shù)據(jù)REF中的搜索范圍SR中搜索,執(zhí)行運動預測/補償處理,并通過使用運動補償塊MCB作為單位計算運動矢量MV。
此時,運動預測/補償電路39編碼I畫面、P畫面和B畫面。這里,只是從I畫面的信息對I畫面編碼,并且I畫面指示不被執(zhí)行幀間預測(幀間預測編碼)的圖像數(shù)據(jù)。
P畫面指示通過基于按顯示順序的前一(過去的)I畫面和P畫面執(zhí)行預測而被編碼的圖像數(shù)據(jù)。
B畫面指示通過基于在前一(過去的)和后一(將來的)顯示順序上的P畫面和I畫面的雙向預測而被編碼的圖像數(shù)據(jù)。
作為運動預測塊(宏塊MB)的塊大小,定義了16×16、8×16、16×8和8×8的像素大小,還定義了8×8、4×8、8×4和4×4的像素大小。
運動預測/補償電路39在參考圖像數(shù)據(jù)REF的搜索范圍SR中指定與幀數(shù)據(jù)S23中要被編碼的運動補償塊MCB差別最小的運動補償塊MCB的位置,并計算與它們的位置關(guān)系相對應的運動矢量MV。
運動預測/補償電路39還基于上面選定的運動矢量MV,生成對運動補償塊MCB的預測圖像數(shù)據(jù)PI。
運動預測/補償電路39向編碼電路27輸出上面選定的運動矢量MV,并向算術(shù)電路24輸出上面生成的預測圖像數(shù)據(jù)PI。
下面將詳細解釋編碼電路27的編碼處理。
在JVT系統(tǒng)編碼處理中,兩種編碼處理CAVLC和CABAC被定義為句法元(SE)的編碼方法。一般,CABAC以與CAVLC相比的更高的效率壓縮SE。
在JVT定義的CABAC中,句法元SE通過VLC和定長編碼被變換為符號串。這里所變換的符號串中的每個符號被稱作一個“bin”(二進制符號)。
在編碼處理中,“bin”被用作輸入以執(zhí)行算術(shù)編碼處理(AC),并且基于處理結(jié)果確定輸出比特,并將其輸出至比特流。
圖3A~3E是用于解釋算術(shù)編碼處理的圖。
算術(shù)編碼處理是要將諸如符號和二進制(0和1)串的數(shù)據(jù)串設(shè)計為按照出現(xiàn)概率被編碼在區(qū)間
上,并通過數(shù)軸上該區(qū)間中的數(shù)字將概率空間表示為二進制數(shù),并將其編碼。
例如,如圖3A~3E所示,算術(shù)編碼處理是要基于要被編碼的數(shù)據(jù)中的各個數(shù)據(jù)的出現(xiàn)概率,劃分0.00或更大到小于1.00之間的區(qū)間,并執(zhí)行遞歸處理來基于各個數(shù)據(jù)選擇被劃分的區(qū)間,從而編碼指示了與要被編碼的數(shù)據(jù)相對應的區(qū)間的數(shù)據(jù)。
后文中,為了進行清楚的解釋,要被編碼的數(shù)據(jù)被假定為是二進制的。
具體如圖3A所示,假定在要被編碼的數(shù)據(jù)中具有高出現(xiàn)概率的數(shù)據(jù)是MPS(最大可能符號),具有低出現(xiàn)概率的數(shù)據(jù)是LPS(最小可能符號),算術(shù)編碼方法是要根據(jù)各個出現(xiàn)概率pMPS和pLPS,劃分預定區(qū)間A。此時,假定當前區(qū)間的大小是范圍“Range”,并且假定當前區(qū)間之間的邊界值,例如,下限值是“Low”。出現(xiàn)概率pMPS是1-pLPS。
如圖3A所示,在初始狀態(tài)中,“Range”和“Low”的值是A、0.00……。
當要被編碼的數(shù)據(jù)串的頂部數(shù)據(jù)是MPS時,根據(jù)出現(xiàn)概率pMPS和pLPS劃分區(qū)間A,并且如圖3B所示,從劃分區(qū)間中選取對應于MPS的區(qū)間。此時“Range”和“Low”的值是p0(=pMPS)、0.00……。
當要被編碼的數(shù)據(jù)串中的第二數(shù)據(jù)是MPS時,如圖3B所示,根據(jù)出現(xiàn)概率pMPS和pLPS劃分該區(qū)間,并且如圖3C所示,從劃分區(qū)間中選取對應于MPS的區(qū)間。此時“Range”和“Low”的值是p00(=p0×pMPS)、0.00……。
當要被編碼的數(shù)據(jù)串中的第三數(shù)據(jù)是LPS時,如圖3C所示,根據(jù)出現(xiàn)概率pMPS和pLPS劃分該區(qū)間,并且如圖3D所示,從劃分區(qū)間中選取對應于LPS的區(qū)間。此時“Range”和“Low”的值是p001(=p00×pLPS)、p001(Low+pMPS)。
即,在上面的編碼處理中的LPS情形中,下限值“Low”通過加上pMPS被更新。
同樣,隨著要被編碼的數(shù)據(jù)串的比特長度變得更長時,“Range”變得更短,指示“Range”的數(shù)據(jù)的比特數(shù)增加。因此,作為編碼處理的結(jié)果,通過輸出確定的比特,減少了存儲器容量。
另外,為了保持計算精確度,如圖3E所示,執(zhí)行歸一化處理(renormalize)以將“Range”擴展至大于預定值。例如,歸一化處理可以是將“Range”值加倍,使其大于預定值。
圖4是用于解釋一般編碼處理中的歸一化處理的圖。
例如,如上面解釋的那樣,在每次對要被編碼的數(shù)據(jù)串執(zhí)行以一比特為單位的編碼處理時,執(zhí)行圖4所示的歸一化處理。
具體地,首先,判斷“Range”是否小于預置的預定值(ST1)。當其小于預定值時,輸出根據(jù)下限值“Low”的最高一位的代碼(ST2),然后,對“Range”值和“Low”值執(zhí)行左移操作,使擴展至兩倍(ST3和ST4),并且過程返回至步驟ST1中的處理。
重復從ST1至ST4的操作,直至“Range”值變?yōu)榈扔诨虼笥陬A定值。
另一方面,在步驟ST1中,當“Range”值不小于預定值時,歸一化處理結(jié)束。
如上面解釋的那樣,在編碼處理中的歸一化處理中,必須對每一比特判斷“Range”是否是預定值,因此計算負擔是很重的。在根據(jù)本發(fā)明的編碼電路27中,不是如上面所解釋的那樣對下限值“Low”的每個最高的一個比特執(zhí)行處理,而是一并對多個下限值“Low”執(zhí)行處理,從而減少了判斷處理,計算速度變高。下面,將對此進行詳細解釋。
圖5是根據(jù)圖1所示的本發(fā)明第一實施例的編碼電路的功能框圖。
例如如圖5所示,根據(jù)本實施例的編碼電路27包括符號轉(zhuǎn)換部分(VLC)271、切換部分(檢測部分)272、上下文(CTX)273、上下文相關(guān)類型編碼部分274、上下文無關(guān)類型編碼部分(旁路,bypass)275和結(jié)束處理部分276。
例如,符號轉(zhuǎn)換部分(VLC)271通過VLC和定長編碼,將從量化電路26和運動預測/補償電路39輸入的句法元SE轉(zhuǎn)換為符號“bin”(二進制符號)串(比特數(shù)據(jù)),并將其輸出為信號S271。
切換部分272判斷對作為輸入信號S271的符號“bin”應該執(zhí)行上下文相關(guān)類型編碼處理還是上下文無關(guān)類型編碼處理,并且根據(jù)判斷結(jié)果,將信號S271輸出至上下文相關(guān)類型編碼部分274或上下文無關(guān)類型編碼部分275。
具體地,當對符號“bin”執(zhí)行上下文相關(guān)類型編碼處理時,切換部分272將信號S271輸出至上下文(CTX)273和上下文相關(guān)類型編碼部分274,而當執(zhí)行上下文無關(guān)類型編碼處理時,將信號S271輸出至上下文無關(guān)類型編碼部分275。
具體地,在符號“bin”中發(fā)生概率分布接近于均勻分布的情形中,切換部分272將信號S271輸出至上下文無關(guān)類型編碼部分(旁路)275,而在符號“bin”具有可變概率分布的其他情形中,將其輸出至上下文相關(guān)類型編碼部分274。
經(jīng)歷了上下文無關(guān)類型編碼處理(旁路處理)的符號“bin”是用于表示例如運動矢量分量的正負號、離散余弦變換(DCT)系數(shù)的正負號以及運動矢量分量和DCT系數(shù)的值的符號串等的一部分。
具體地,VLC271在運動矢量分量和DCT系數(shù)具有負號時輸出“1”作為符號“bin”,而在它們具有正號時輸出“0”。
另外,當運動矢量分量和DCT系數(shù)的值超過規(guī)定值時,具體地說是在內(nèi)容具有許多運動,即運動矢量變化很大的情形中,以及在高比特率,即出現(xiàn)大DCT系數(shù)的時候的情形中等等,VLC271通過使用規(guī)定值作為邊界,將句法元SE分解為前綴“Prefix”和后綴“Suffix”。
具體地,VLC271對“Prefix”基于其大小執(zhí)行Urany編碼處理,并且切換電路272將作為處理結(jié)果的各個符號“bin”輸出至上下文相關(guān)類型編碼部分274。
另外,VLC271對“Suffix”基于其大小執(zhí)行指數(shù)Golomb編碼處理,并且切換電路272將作為處理結(jié)果的各個符號“bin”輸出至上下文無關(guān)類型編碼部分275。
在上下文(CTX)273中,例如,指示轉(zhuǎn)變狀態(tài)的索引和MPS出現(xiàn)概率pMPS被相關(guān)聯(lián)地存儲。
基于指示上下文相關(guān)類型編碼部分274處理結(jié)果的信號S2741,更新上下文(CTX)273的索引。具體地,在上下文(CTX)273中,例如,當基于信號S2741被編碼的值是“1”時,索引被更新以增加“1”的出現(xiàn)概率,而當被編碼的值是“0”時,索引被更新以增加“0”的出現(xiàn)概率。
由此,在CTX273中,出現(xiàn)概率變得接近于由輸入SE決定的出現(xiàn)概率。
上下文相關(guān)類型編碼部分274基于上下文CTX273的索引和要被編碼的符號“bin”,執(zhí)行上下文相關(guān)類型編碼處理,并將指示輸出結(jié)果的信號S2741輸出至上下文CTX273。
另外,上下文相關(guān)類型編碼部分274將指示處理結(jié)果的信號S274輸出至結(jié)束處理部分276。
上下文無關(guān)類型編碼部分(旁路)275基于從切換部分272輸出的信號,執(zhí)行上下文無關(guān)類型編碼處理,并且將指示處理結(jié)果的信號S275輸出至結(jié)束處理部分276。
結(jié)束處理部分276根據(jù)信號S274或S275將代碼輸出至比特流。
圖6是圖2所示的編碼電路的編碼處理的總體操作流程圖。
在步驟ST11中,例如,VLC271通過VLC和定長編碼,將來自量化電路26或運動預測/補償電路39的SE輸入轉(zhuǎn)換為符號“bin”串(比特數(shù)據(jù)),并將其輸出為信號S271(ST12)。
在步驟ST13中,切換部分272判斷對作為輸入信號S271的符號“bin”應該執(zhí)行上下文相關(guān)類型編碼處理還是上下文無關(guān)類型編碼處理,并根據(jù)判斷結(jié)果,將信號S271輸出至上下文相關(guān)類型編碼部分274或上下文無關(guān)類型編碼部分275。
在步驟ST13中,當切換部分272判斷符號“bin”是上下文相關(guān)類型時,執(zhí)行上下文相關(guān)類型編碼處理(ST14)。
具體地,上下文(CTX)273基于指示上下文相關(guān)類型編碼部分274的處理結(jié)果的信號S2741,更新索引,并分配各個符號“bin”的出現(xiàn)概率。
上下文相關(guān)類型編碼部分274基于上下文CTX273的索引和要被編碼的符號“bin”,執(zhí)行上下文相關(guān)類型編碼處理,并將指示輸出結(jié)果的信號S2741輸出至上下文CTX273。
另一方面,在步驟ST13中,當切換部分272判斷符號“bin”是上下文無關(guān)類型時,執(zhí)行上下文無關(guān)類型編碼處理(ST15)。
具體地,上下文無關(guān)類型編碼部分(旁路)275基于從切換部分272輸出的信號,執(zhí)行上下文無關(guān)類型編碼處理,并將指示處理結(jié)果的信號S275輸出至結(jié)束處理部分276。
在步驟ST16中,結(jié)束處理部分276根據(jù)信號S274或S275生成代碼,并將其輸出至比特流。
圖7是圖5所示的編碼電路的功能框圖。
上下文相關(guān)類型編碼部分274對“Range”和下限值“Low”連續(xù)執(zhí)行左移操作,直至“Range”超過預定值,并根據(jù)執(zhí)行左移操作前的“Range”值生成編碼數(shù)據(jù)。
例如如圖7所示,上下文相關(guān)類型編碼部分274包括存儲器MEM、劃分部分2740和歸一化部分2741。歸一化部分2741包括移位量指定部分2743、判決部分2744和擴展數(shù)據(jù)編碼部分2745。
比特位置指定部分2742對應于根據(jù)本發(fā)明的比特位置指定裝置,移位量指定部分2743對應于根據(jù)本發(fā)明的移位量指定裝置,判決部分2744對應于根據(jù)本發(fā)明的判決裝置,擴展數(shù)據(jù)編碼部分2745對應于根據(jù)本發(fā)明的編碼裝置。
劃分部分2740基于用于執(zhí)行算術(shù)編碼處理的輸入符號“bin”以根據(jù)符號“bin”的生成概率的一個比率劃分區(qū)間,例如如圖3A~3E所示,并更新后文解釋的指示區(qū)間大小的“Range”和區(qū)間的下限值“Low”。
圖8是用于解釋圖7所示的編碼電路的“Range”數(shù)據(jù)的圖。圖9是用于解釋圖7所示的編碼電路的下限值“Low”數(shù)據(jù)的圖。
在本實施例中,存儲器MEM存儲“Range”和下限值“Low”數(shù)據(jù)。
“Range”指示上面解釋的算術(shù)編碼處理中的區(qū)間的大小,并具有預定比特長度的數(shù)據(jù)區(qū),例如,如圖8所示的10比特長度的數(shù)據(jù)區(qū)。
下限值“Low”是指示上面的算術(shù)編碼處理中的區(qū)間的數(shù)據(jù),具體地,指示區(qū)間的下限值“Low”。
根據(jù)本實施例的下限值“Low”具有基本區(qū)數(shù)據(jù)“LowB”和擴展區(qū)數(shù)據(jù)(也被稱作擴展數(shù)據(jù))“LowE”,例如如圖9所示。
基本區(qū)數(shù)據(jù)“LowB”是指示一般下限值“Low”的數(shù)據(jù),并且例如具有如圖9所示的10比特長度的數(shù)據(jù)區(qū)。
擴展區(qū)數(shù)據(jù)“LowE”是加到下限值“Low”的基本區(qū)數(shù)據(jù)“LowB”的最高位(MSB)側(cè)的數(shù)據(jù),其中所述比特數(shù)據(jù)是通過左移操作從下限值“Low”進位得到的,并且具有預定的比特長度,例如如圖9所示的N比特長度數(shù)據(jù)區(qū)。
“Range”對應于根據(jù)本發(fā)明的第一數(shù)據(jù),下限值“Low”對應于根據(jù)本發(fā)明的第二數(shù)據(jù),擴展區(qū)數(shù)據(jù)“LowE”對應于根據(jù)本發(fā)明的擴展數(shù)據(jù)。
歸一化部分2741執(zhí)行歸一化處理以將“Range”擴展至大于預定值,以保持算術(shù)編碼處理中的計算精確度。下面將解釋歸一化部分2741中的各個部件。
比特位置指定部分2742基于存儲器MEM中“Range”,指定指示與“Range”的MSB靠近的第一邏輯值的比特位置。
具體地,比特位置指定部分指定指示最靠近MSB的第一邏輯值的比特位置,在本實施例中,當“Range”值例如是如圖8所示的“00001*****”時,該第一邏輯值就是“1”。
移位量指定部分2743基于由比特位置指定部分2742指定的比特位置,指定在“Range”即將超過預定值之前的移位量“NumShift”,其中“Range”超過預定值是由于左移操作引起的。
具體地,移位量指定部分2743基于由比特位置指定部分2742指定的比特位置,將在“Range”即將超過例如0×100的預定值之前的移位量“NumShift”指定為“3”,如圖8所示,其中“Range”超過預定值是由于左移操作引起的。
指定移位量“NumShift”的方法不限于上面的實施例。
例如,比特位置指定部分2742和移位量指定部分2743可以執(zhí)行公式(1)所示的運算,并從運算結(jié)果指定移位量“NumShift”。這里,“Range<<=1”意味著執(zhí)行左移一位的操作,“NumShift++”意味著增加1。
公式1Int NumShift=0;While(Range<0×100){Range<<=1;NumShift++;}另外,例如,比特位置指定部分2742和移位量指定部分2743可以通過對比特位置“P”(>=1)執(zhí)行“NumShift=9-P”的運算來指定移位量“NumShift”,其中“P”通過從最低有效位(LSB)開始,計數(shù)存在于“Range”比特串最左(MSB)側(cè)的“1”而得到。當由具有用于獲得“P”的命令的處理器執(zhí)行根據(jù)本發(fā)明的功能時,可以通過這種方法容易地指定移位量“NumShift”。
判決部分2744判斷被加入到下限值“Low”的MSB側(cè)的預定比特長度的擴展區(qū)數(shù)據(jù)中,是否存在超過由移位量指定部分2743指定的移位量的空閑空間,其中比特數(shù)據(jù)通過左移操作從下限值“Low”進位。
當判決部分2744判斷在擴展區(qū)數(shù)據(jù)“LowE”中存在超過由移位量指定部分2743指定的移位量的空閑空間時,對下限值“Low”和“Range”執(zhí)行左移操作。具體地,基本區(qū)數(shù)據(jù)“LowB”中的比特經(jīng)歷左移操作,被恰好左移移位量“NumShift”,移進擴展范圍“LowE”中。
當判決部分2744判定沒有空閑空間時,擴展數(shù)據(jù)編碼部分2745生成通過左移操作存儲在擴展區(qū)數(shù)據(jù)“LowE”中的數(shù)據(jù)的編碼數(shù)據(jù)。即,當擴展區(qū)數(shù)據(jù)“LowE”不再有用于存儲比特的空間時,擴展數(shù)據(jù)編碼部分2745生成編碼數(shù)據(jù)。
上面解釋了上下文相關(guān)類型編碼部分274的配置,上下文無關(guān)類型編碼部分275也有大致相同的配置,并在下限值“Low”中提供擴展區(qū)數(shù)據(jù)“LowE”,并且如上面所解釋的那樣一并對擴展區(qū)數(shù)據(jù)“LowE”中的數(shù)據(jù)執(zhí)行編碼處理。
旁路275和上下文相關(guān)類型編碼部分274的一個不同點是上下文相關(guān)類型編碼部分274不使用上下文CTX。即,在上下文相關(guān)類型編碼處理中,出現(xiàn)概率是預置的固定值,且“Range”也是固定的。
圖10是用于解釋圖7所示的編碼電路的編碼處理的操作的流程圖。
參考圖10,將集中于歸一化處理來解釋上下文相關(guān)類型編碼部分274和上下文無關(guān)類型編碼部分275的操作。
首先,為了執(zhí)行如圖3A~3E所示的算術(shù)編碼處理,劃分部分2740基于輸入符號“bin”,通過按照符號“bin”的生成概率的一個比率劃分區(qū)間,基于符號“bin”選擇被劃分的區(qū)間,并更新指示后文解釋的區(qū)間大小的“Range”和下限值“Low”。
歸一化部分2741執(zhí)行歸一化處理,以將“Range”至少擴展至大于預定值,以保持算術(shù)編碼處理中的計算精確度。
具體地,在步驟ST21中,比特位置指定部分2742基于存儲器MEM中的作為劃分部分2740的劃分結(jié)果的“Range”,指定指示第一邏輯值的比特位置,該第一邏輯值最接近于的“Range”的MSB。
在步驟ST22中,移位量指定部分2743基于由比特位置指定部分2742指定的比特位置,指定在“Range”即將超過預定值之前的移位量,“Range”超過預定值是由于左移操作引起的。
在步驟ST23中,判決部分2744判斷在被加入下限值“Low”的MSB側(cè)的預定比特長度的擴展區(qū)數(shù)據(jù)“LowE”中,是否存在超過由移位量指定部分2743指定的移位量的空閑空間,其中比特數(shù)據(jù)通過左移操作從下限值“Low”進位。當判決部分2744判斷在擴展區(qū)數(shù)據(jù)“LowE”中存在超過移位量“NumShift”的空閑空間時,對下限值“Low”和“Range”執(zhí)行左移操作。具體地,基本區(qū)數(shù)據(jù)“LowB”中的比特經(jīng)歷左移操作,被左移移位量“NumShift”,移進擴展范圍“LowE”中。
在步驟ST24中,當判決部分2744判定沒有空閑空間時,擴展數(shù)據(jù)編碼部分2745生成通過左移操作存儲在擴展區(qū)數(shù)據(jù)“LowE”中的數(shù)據(jù)的編碼數(shù)據(jù)。
如上面所解釋的,在本實施例中,對用于連續(xù)對“Range”和下限值“Low”執(zhí)行左移操作直至“Range”超過預定值并根據(jù)執(zhí)行左移操作前的下限值“Low”生成編碼數(shù)據(jù)的編碼部分274和275提供了用于指定指示與“Range”中的MSB最接近的第一邏輯值的比特位置的比特位置指定部分2742;用于基于由比特位置指定部分2742指定的比特位置,指定在“Range”由于左移操作而即將超過預定值之前的移位量“NumShift”的移位量指定部分2743;用于判斷在被加入到下限值“Low”MSB側(cè)的預定比特長度的擴展區(qū)數(shù)據(jù)“LowE”中,是否存在超過由移位量指定部分2743確定的移位量“NumShift”的空閑空間的判決部分2744,其中比特數(shù)據(jù)通過左移操作從下限值“Low”進位;用于當判決部分2744判斷沒有空閑空間時,生成通過左移操作存儲在擴展區(qū)數(shù)據(jù)“LowE”中的數(shù)據(jù)的編碼數(shù)據(jù)的擴展數(shù)據(jù)編碼部分2745;作為其結(jié)果,可以在編碼處理中獲得高的速度以及計算量的減少。
具體地,在一般編碼設(shè)備中以一比特為單位執(zhí)行編碼處理,而在本實施例中,通過左移操作從基本區(qū)數(shù)據(jù)“LowB”進行輸入,提供了具有預定比特長度的擴展區(qū)數(shù)據(jù)“LowE”,并且在擴展區(qū)數(shù)據(jù)“LowE”中一并進行數(shù)據(jù)編碼,作為其結(jié)果,可以減少分支處理和計算量,并且可以高速執(zhí)行編碼處理。
圖11是用于解釋圖7所示的編碼電路中的編碼處理的操作的具體示例的流程圖。圖12是用于解釋圖11所示的編碼電路的歸一化處理的具體示例的流程圖。參考圖11和圖12,將集中于上下文相關(guān)類型編碼部分274的處理,清楚地解釋編碼電路的編碼處理的具體示例。
上下文相關(guān)類型編碼部分274通過使用指定的上下文的索引“ctxIdx”和要被編碼的符號“binVal”作為輸入,執(zhí)行編碼處理。
“codIRange”和“codILow”指示概率范圍(“Range”)和下限值“Low”。這些值是在任何上下文相關(guān)/上下文無關(guān)類型AC中共同使用的。上下文CTX由索引“ctxIdx”管理,每一個上下文被分配指示MPS值和轉(zhuǎn)變狀態(tài)數(shù)的“valMPS”和“pStateIdx”。
在步驟ST101中,劃分部分2740將“codIRange”值量化為被稱為“qCodIRangeIdx”的值,使用規(guī)定的表值“rangeTabLPS”以獲得LPS的概率寬度“codIRangeLPS”。還將“codIRange”改變?yōu)镸PS的概率寬度。
在步驟ST102中,劃分部分2740基于輸入符號“bin”是否是MPS,分流處理。當符號是MPS時,通過在標準中規(guī)定的表值“transIdxMPS”轉(zhuǎn)變狀態(tài),并更新“pStateIdx”(ST103)。
另一方面,在步驟ST102中,當輸入符號“bin”是LPS時,更新“codILow”值和“codIRange”。
具體地,將通過將“codILow”和“codIRange”相加得到的值代入“codILow”,將“codIRangeLPS”代入“codIRange”(ST104)。
在步驟ST105中,判斷“pStateIdx”是否是“0”,當“pStateIdx”是“0”時,將“1-valMPS”代入“valMPS”(ST106),并且過程前進到步驟ST107中的處理。在步驟ST105中,當“pStateIdx”不是“0”時,過程也前進到步驟ST107的處理。
在步驟ST07中,更新“pStateIdx”。
在步驟ST108中,歸一化部分2741執(zhí)行歸一化處理(Renormalize),以執(zhí)行左移操作,直至“codIRange”值變?yōu)榈扔诨虼笥陬A定值。根據(jù)“codILow”值確定輸出比特(串)。
在歸一化處理中,如圖12所示,在步驟ST111中,比特位置指定部分2742和移位量指定部分2743基于“codIRange”(Range)計算左移量“NumShift”,如圖9所示。
在步驟ST112中,當擴展區(qū)有空間時,判決部分2744對下限值“Low”執(zhí)行左移操作,基本區(qū)數(shù)據(jù)“LowB”的比特被移位到擴展區(qū)數(shù)據(jù)“LowE”中(ST113)。具體地,下限值“Low”經(jīng)歷恰好被左移移位量“NumShift”的左移操作,“Range”經(jīng)歷恰好被左移移位量“NumShift”的左移操作,并且存儲在擴展區(qū)數(shù)據(jù)“LowE”中的比特數(shù)“NumExtBit”被加上移位量“NumShift”以更新。
另一方面,在步驟ST112中,當判定擴展區(qū)數(shù)據(jù)“LowE”中沒有空閑空間時,擴展數(shù)據(jù)編碼部分2745基于擴展區(qū)數(shù)據(jù)“LowE”生成編碼數(shù)據(jù),并且過程返回至步驟ST112中的處理。
如上面所解釋的,根據(jù)本實施例的編碼電路不是以一比特為單位在擴展區(qū)數(shù)據(jù)“LowE”中執(zhí)行數(shù)據(jù)編碼,因此以高的速度執(zhí)行算術(shù)處理,并且可以輸出與一般設(shè)備裝置輸出的編碼數(shù)據(jù)相同的編碼數(shù)據(jù)。
根據(jù)本發(fā)明第二實施例的編碼電路具有與圖7所示的編碼電路大致相同的配置,包括存儲器MEM、劃分部分2740和歸一化部分2741。歸一化部分2741包括比特位置指定部分2742、移位量指定部分2743、判決部分2744和擴展數(shù)據(jù)編碼部分2745。
不同點在于判決部分2744的功能和擴展數(shù)據(jù)編碼部分2745的功能。下面將只對不同點進行解釋。
判決部分2744判斷被加入到下限值“Low”MSB側(cè)的擴展區(qū)數(shù)據(jù)“LowE”中是否存在預置比特長度的數(shù)據(jù),其中比特數(shù)據(jù)通過左移操作從下限值“Low”進位。
例如,判決部分2744判斷擴展區(qū)數(shù)據(jù)“LowE”中是否存儲了以字節(jié)的整數(shù)倍為單位的比特數(shù)據(jù)。
當判定擴展區(qū)數(shù)據(jù)“LowE”中存在預置比特長度的數(shù)據(jù)時,擴展數(shù)據(jù)編碼部分2745生成通過左移操作存儲在擴展區(qū)數(shù)據(jù)“LowE”中的數(shù)據(jù)的編碼數(shù)據(jù)。
下面將只清楚地解釋上面配置的操作的不同點。
判決部分2744判定擴展區(qū)數(shù)據(jù)“LowE”是否存儲了以字節(jié)的整數(shù)倍為單位的比特數(shù)據(jù),當判定擴展區(qū)數(shù)據(jù)“LowE”具有預置比特長度的數(shù)據(jù)時,擴展數(shù)據(jù)編碼部分2745生成存儲在擴展區(qū)數(shù)據(jù)“LowE”中的數(shù)據(jù)的編碼數(shù)據(jù)。在與以上情形不同的其他情形中,基本區(qū)數(shù)據(jù)“LowB”中的比特經(jīng)歷左移操作,被恰好左移移位量“NumShift”,移進擴展區(qū)“LowE”中。
如上面所解釋的,在本實施例中判決部分2744,用于判斷被加入到下限值“Low”MSB側(cè)的擴展區(qū)數(shù)據(jù)“LowE”中是否存在預置比特長度的數(shù)據(jù),其中比特數(shù)據(jù)通過左移操作從下限值進位;擴展數(shù)據(jù)編碼部分2745,用于當判定擴展區(qū)數(shù)據(jù)“LowE”中存在預置比特長度的數(shù)據(jù)時,生成通過左移操作存儲在擴展區(qū)數(shù)據(jù)“LowE”中的數(shù)據(jù)的編碼數(shù)據(jù);作為結(jié)果,可以以最佳的字節(jié)為單位執(zhí)行編碼,并且可以以更高的速度執(zhí)行算術(shù)處理。
另外,當確定輸出比特時,考慮編碼電路的進位移行(carryover)。
圖13是用于解釋圖5所示的上下文無關(guān)類型編碼部分的操作的具體示例的圖。
在步驟ST201中,上下文無關(guān)類型編碼部分(旁路)275對“codILow”(下限值“Low”)執(zhí)行左移一位的左移操作。
在步驟ST202中,當符號“bin”(bin Val)不是“0”時,旁路275將“CodIRange”加到“codILow”,并將結(jié)果代入“codILow”(ST203),并且過程前進到步驟ST204。另一方面,當符號“bin”(binVal)是“0”時,過程前進到步驟ST204。
在步驟ST204中,判斷“codILow”是否等于或大于例如0×400的預定值,當“codILow”是0×400或更大時,執(zhí)行下文解釋的“PutBit(1)”處理(ST205),并將從“codILow”減去0×400所獲得的值代入“codILow”。
另一方面,在步驟ST204中,當“codILow”小于0×400時,判斷其是否小于0×200(ST207)。當“codILow”小于0×200時,執(zhí)行后文解釋的“PutBit(0)”處理(ST208)。另一方面,當“codILow”等于或大于0×200時,將從“codILow”減去0×200所獲得的值代入“codILow”,并且作為對進位移行的度量的變量“bitOutstanding”的值增加1(ST209)。
圖14是用于解釋圖13所示的編碼處理的“PutBit(B)”處理的流程圖。參考圖14,將解釋旁路275的步驟ST205和ST208中的“PutBit(B)”的操作。
當在步驟ST210中輸出編碼比特時,旁路275判斷它是否是第一比特。指示第一比特的“firstbitFlag”被用來對此進行判斷。當“firstbitFlag”不是“0”時,指示它是第一比特,而當“firstbitFlag”是“0”時,指示它不是第一比特。
詳細地,當在步驟ST210中“firstbitFlag”不是“0”時,旁路275將“0”代入“firstbitFlag”,并且不輸出第一比特。
另一方面,當“firstbitFlag”是“0”時,旁路275在步驟ST212中執(zhí)行“WriteBits(B,1)”處理。這里,“WriteBits(B,1)”是輸出一比特長度的值“B”的處理。
在步驟ST213中,旁路275判斷“bitsOutstanding”是否大于“0”,當判斷其大于“0”時,執(zhí)行“WriteBits(1-B,1)”處理,從“bitOutstanding”減“1”,并且過程返回步驟ST213中的處理。這里,“WriteBits(1-B,1)”是輸出一比特長度B的補碼。
另一方面,在步驟ST213中,當判斷“bitOutstanding”等于或小于“0”時,旁路275掛起一串處理。
通過執(zhí)行上面解釋的操作,旁路能夠執(zhí)行編碼處理,而不會導致進位移行。
在上下文無關(guān)類型編碼處理中,根據(jù)本發(fā)明編碼電路的第三實施例的上下文無關(guān)類型編碼部分275,當要經(jīng)歷上下文無關(guān)類型編碼處理的符號“bin”被連續(xù)輸入時,考慮到“Range”值由于歸一化而不變的特性,通過一并對要被編碼的連續(xù)符號“bin”進行編碼,獲得了更高速度的計算。
具體地,假定要被編碼的符號串是B=(b0 b1 b2 b3...bn),編碼順序是b0,b1,...,bn。
對每一個“bm(0<=m<=n)”重復“Length(B)”次上面解釋的實施例的上下文無關(guān)類型編碼處理(旁路)的結(jié)果等同于通過執(zhí)行公式(2)所示的計算而獲得的下限值“Low”。
公式2
Low=Low<<Length(B)+Range*Value(B)NumExtBits+=Length(B)下面將解釋對公式2的證明。
假定某個元素值N有排列A={A
,A[1],...,A[N-1]}和B={B
,B[1],...,B[N-1]}?!癆”和“B”可以由如下的遞歸公式表示。
公式3A[n+1]=2·A[n]+B[n]·C...(3)此時,通過數(shù)學歸納法可以證明公式(3)中的“A[n]”可以由公式(4)表示。
公式4A[n]=2n·A
+(Σi=0n-1B[i]·2n-1-i)·C...(4)]]>(A)當公式(4)中“n=0”時,等號兩側(cè)都變?yōu)锳
。
(B)當公式(4)中“n=k”時,假定公式(5)成立。
公式5A[k]=2k·A
+(Σi=0k-1B[i]·2k-1-i)·C...(5)]]>此時,從公式(3),將公式(5)代入公式(6)右側(cè)的“A[k]”。
公式6A[k+1]=2·A[k]+B[k]·C...(6)公式7A[k+1]=2·A[k]+B[k]·C]]>=2(2k·A
+(Σi=0k-1B[i]·2k-1-i)·C)+B[k]·C]]>=2k+1·A
+(Σi=0kB[i]·2k-i)·C...(7)]]>作為上述代入的結(jié)果,得到了公式(7),并且證明了在“n=k+1”的情形中,公式(4)也成立。
從(A)和(B),證明了公式(4)對任何n都成立。(證畢)現(xiàn)在假定要被編碼的符號串是B=(b0 b1 b2 b3...bn),編碼順序是b0,b1,...,bn。
當假定在即將對符號“bk”編碼之前的“Low”值是A[k],且“bk”值是b[k]時,在對“bk”執(zhí)行處理后,“Low”值,即A[k+1],變?yōu)閺纳厦娴墓?4)得到的公式(8)。
公式8A[k+1]=2k+1·A
+(Σi=0kB[i]·2k-i)·C...(8)]]>當在“k=n”的情形中用公式(9)替代時,在對“B”編碼后的“Low”值與公式(10)相同。
這里,“Length(S)”是符號串“S”的長度,“Value(S)”是假定符號串“S”為二進制時的值。
具體地,例如,當符號串是{0,1,0}時,Value(S)是0×22+1×21+0×20=2。即使當比特長度長時,符號串也被假定為是二進制數(shù)據(jù),以相同的方式計算Value(S)。
公式9Length(B)=n+1Value(B)=Σi=0nB[i]·2n-i]]>Range=C...(9)公式10Low=Low<<Length(B)+Range*Value(B)上面的處理等同于執(zhí)行上面解釋的歸一化處理“Renormalize”的結(jié)果。也就是,不是順序地對符號串的每個“bin”執(zhí)行處理,而是可以一并對符號串執(zhí)行編碼。
下面將解釋根據(jù)本實施例的上下文無關(guān)類型編碼部分的具體配置。
圖15是根據(jù)本發(fā)明編碼電路的第三實施例的上下文無關(guān)類型編碼部分的功能框圖。
例如如圖15所示,根據(jù)本實施例的上下文無關(guān)類型編碼部分275包括連續(xù)判決部分2751、單處理部分2752、連續(xù)處理部分2753和歸一化部分2754。
連續(xù)判決部分2751對應于根據(jù)本發(fā)明的檢測裝置。單處理部分2752對應于根據(jù)第一實施例的上下文無關(guān)類型編碼部分275。歸一化部分2754對應于根據(jù)第一實施例的歸一化部分2741。下面只解釋與上面的實施例的不同點。
連續(xù)判決部分2751檢測要被編碼的連續(xù)比特數(shù)據(jù)是否是上下文無關(guān)類型,其上下文無關(guān)類型具有能夠執(zhí)行“Range”固定的編碼處理的特性。當判定不是連續(xù)的時,連續(xù)判決部分2751使單處理部分2752執(zhí)行常規(guī)上下文無關(guān)類型編碼處理。
當連續(xù)判決部分2751檢測到連續(xù)比特數(shù)據(jù)是上下文無關(guān)類型時,連續(xù)處理部分2753對連續(xù)比特數(shù)據(jù)一并執(zhí)行編碼處理,并將處理結(jié)果輸出至歸一化部分2754。
如圖15所示,連續(xù)處理部分2753包括第一轉(zhuǎn)換部分27531和第二轉(zhuǎn)換部分27532。
第一轉(zhuǎn)換部分27531對應于根據(jù)本發(fā)明的轉(zhuǎn)換裝置。
當連續(xù)判決部分2751檢測到連續(xù)比特數(shù)據(jù)是上下文無關(guān)類型時,第一轉(zhuǎn)換部分27531使連續(xù)比特數(shù)據(jù)成為二進制數(shù)據(jù),并將如下獲得的值用作新的下限值“Low”將該二進制數(shù)據(jù)和預置“Range”的乘積加到通過對下限值“Low”執(zhí)行恰好是該連續(xù)比特數(shù)據(jù)的比特數(shù)據(jù)長度的左移操作而得到的值上;并且將連續(xù)比特數(shù)據(jù)的比特長度加到擴展區(qū)數(shù)據(jù)“LowE”的比特上。
第二轉(zhuǎn)換部分27532將連續(xù)比特數(shù)據(jù)的比特長度加到擴展區(qū)數(shù)據(jù)的比特長度上,并更新擴展區(qū)數(shù)據(jù)的比特長度。
圖16是用于解釋圖15所示的編碼電路的上下文無關(guān)類型編碼部分的操作的圖。參考圖16,將解釋在輸入了要被編碼的連續(xù)比特數(shù)據(jù)的編碼處理情形中,上下文無關(guān)類型編碼部分275的操作。
在步驟ST301中,連續(xù)判決部分2751檢測要被編碼的連續(xù)比特數(shù)據(jù)是否是上下文無關(guān)類型,其中上下文無關(guān)類型具有能夠執(zhí)行“Range”固定的編碼處理的特性。
在步驟ST302中,當連續(xù)判決部分2751檢測到連續(xù)比特數(shù)據(jù)是上下文無關(guān)類型時,第一轉(zhuǎn)換部分27531使連續(xù)比特數(shù)據(jù)成為二進制數(shù)據(jù),并將如下獲得的值用作新的下限值“Low”將該二進制數(shù)據(jù)和預置“Range”的乘積加到通過對下限值“Low”執(zhí)行恰好是該連續(xù)比特數(shù)據(jù)的比特數(shù)據(jù)長度的左移操作而得到的值上;并且將連續(xù)比特數(shù)據(jù)的比特長度加到擴展區(qū)數(shù)據(jù)“LowE”的比特上。
第二轉(zhuǎn)換部分27532將連續(xù)比特數(shù)據(jù)的比特長度加到擴展區(qū)數(shù)據(jù)的比特長度上,并更新擴展區(qū)數(shù)據(jù)的比特長度。
在步驟ST303中,歸一化部分2754執(zhí)行與歸一化部分2741相同的歸一化處理,例如如圖12所示。
另外,此時,用于抑制通過左移操作而進位的第一個一比特的輸出的值被設(shè)置為圖12所示的“NumExtBits”的初始值,并且抑制基于擴展數(shù)據(jù)“LowE”的通過左移操作輸入的第一個一比特的輸出。
具體地,例如,通過將“NumExtBits”的初始值設(shè)置為“-1”,可以忽略圖14中步驟ST210所示的條件判決,并可以以高的速度執(zhí)行處理。
如上面所解釋的,在本實施例中,上下文無關(guān)類型編碼部分275被提供有連續(xù)判決部分,用于檢測要被編碼的連續(xù)比特數(shù)據(jù)是否是上下文無關(guān)類型,其中上下文無關(guān)類型具有能夠執(zhí)行“Range”固定的編碼處理的特性;第一轉(zhuǎn)換部分27531,用于當連續(xù)判決部分2751檢測到連續(xù)比特數(shù)據(jù)是上下文無關(guān)類型時,使連續(xù)比特數(shù)據(jù)成為二進制數(shù)據(jù),并將這樣的一個值用作新的下限值“Low”,該值是通過將該二進制數(shù)據(jù)和預置“Range”的乘積加到通過對下限值“Low”執(zhí)行恰好是該連續(xù)比特數(shù)據(jù)的比特數(shù)據(jù)長度的左移操作得到的值而得到的,并且將連續(xù)比特數(shù)據(jù)的比特長度加到擴展區(qū)數(shù)據(jù)“LowE”的比特上;第二轉(zhuǎn)換部分27532,用于將連續(xù)比特數(shù)據(jù)的比特長度加到擴展區(qū)數(shù)據(jù)的比特長度上,并更新擴展區(qū)數(shù)據(jù)的比特長度;和歸一化部分2754;作為結(jié)果,連續(xù)的上下文無關(guān)類型比特數(shù)據(jù)可以被一并編碼,并且計算速度變高。
另外,通過將“NumExtBits”的初始值設(shè)置為“-1”,可以忽略圖14中步驟ST210所示的條件判決,并可以以高的速度執(zhí)行處理。
也就是,通過消除在每個比特輸出中需要的判決分支,算術(shù)處理速度可以變高。
注意,本發(fā)明并不局限于這些示出的實施例,而可以被自由且合適地修改。
在根據(jù)本實施例的編碼設(shè)備中,根據(jù)本發(fā)明的功能通過硬件實現(xiàn),但是其并不局限于該實施例。例如,通過由計算機(數(shù)據(jù)處理設(shè)備)執(zhí)行具有根據(jù)上面解釋的本發(fā)明的功能的程序,也可以實現(xiàn)根據(jù)本發(fā)明的功能。
另外,還解釋了具有單處理部分和連續(xù)處理部分的示例,但是本發(fā)明并不局限于該實施例,例如,可以只具有連續(xù)處理部分。
上面的這些實施例還可以被組合實施。
另外,“CABAC”的示例作為本實施例的示例被解釋,但是其并不局限于該實施例。
上面解釋的實施例是為了更容易地理解本發(fā)明,而不是為了限制本發(fā)明。相應地,在上面的實施例中所公開的各個單元包括了設(shè)計中的所有修改以及屬于本發(fā)明技術(shù)領(lǐng)域的等同物。
權(quán)利要求
1.一種編碼設(shè)備,所述編碼設(shè)備用于對代表要被編碼的圖像信號的句法元進行上下文自適應二進制算術(shù)編碼,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示所述第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位到最高有效位的方向上執(zhí)行移位操作,直至所述被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),所述編碼設(shè)備包括比特位置指定裝置,用于指定指示與所述第一數(shù)據(jù)中的所述最高有效位最靠近的第一邏輯值的比特位置;移位量指定裝置,用于基于由所述比特位置指定裝置指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;判決裝置,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在大小超過在所述移位量指定裝置中指定的所述移位量的空區(qū)域,其中所述擴展數(shù)據(jù)被加到所述第二數(shù)據(jù)的所述最高有效位,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和編碼裝置,用于當不存在所述空區(qū)域時,從通過所述移位操作被包含在所述擴展數(shù)據(jù)中的數(shù)據(jù),生成所述編碼數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的編碼設(shè)備,包括檢測裝置,用于檢測要被編碼的所述比特數(shù)據(jù)是否是句法無關(guān)類型數(shù)據(jù),所述句法無關(guān)類型數(shù)據(jù)具有這樣的特性所述第一數(shù)據(jù)的編碼可以被固定地處理;和轉(zhuǎn)換裝置,用于當所述要被編碼的比特數(shù)據(jù)是所述句法無關(guān)類型數(shù)據(jù)時,將一個值轉(zhuǎn)換為新的第二數(shù)據(jù),所述值如下獲得將所述連續(xù)比特數(shù)據(jù)表示為二進制數(shù)據(jù),將所述二進制數(shù)據(jù)與所述預定第一數(shù)據(jù)相乘,并將所述乘積與所述被移位了所述連續(xù)比特數(shù)據(jù)的比特數(shù)據(jù)長度的第二數(shù)據(jù)相加。
3.一種編碼設(shè)備,所述編碼設(shè)備用于對代表要被編碼的圖像信號的句法元進行上下文自適應二進制算術(shù)編碼,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示所述第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位到最高有效位的方向上執(zhí)行移位操作,直至所述被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),所述編碼設(shè)備包括比特位置指定裝置,用于指定指示與所述第一數(shù)據(jù)中的所述最高有效位最靠近的第一邏輯值的比特位置;移位量指定裝置,用于基于由所述比特位置指定裝置指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;判決裝置,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在預定比特長度數(shù)據(jù),其中所述擴展數(shù)據(jù)被加到所述第二數(shù)據(jù)的所述最高有效位,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和編碼裝置,用于當不存在所述預定比特長度數(shù)據(jù)時,從通過所述移位操作被包含在所述擴展數(shù)據(jù)中的數(shù)據(jù),生成所述編碼數(shù)據(jù)。
4.一種編碼設(shè)備,包括運動矢量生成裝置,用于基于要被處理運動補償?shù)膱D像數(shù)據(jù)與用作所述運動補償參考的參考圖像數(shù)據(jù)之間的第一差別生成運動矢量;第一信號處理裝置,用于對要被處理所述運動補償?shù)乃鰣D像數(shù)據(jù)與預測圖像數(shù)據(jù)之間的第二差別進行正交變換處理,以及對所述正交變換的結(jié)果進行量化處理;第二信號處理裝置,用于對由所述第一信號處理裝置生成的數(shù)據(jù)進行反量化處理,以及對由所述反量化處理獲得的數(shù)據(jù)進行反正交變換,由此生成參考數(shù)據(jù);第三信號處理裝置,用于基于所述運動矢量和所述參考圖像數(shù)據(jù)生成所述預測圖像數(shù)據(jù);和編碼裝置,用于編碼由所述第一信號處理裝置生成的數(shù)據(jù)和所述運動矢量編碼,所述編碼裝置用于對代表要被編碼的圖像信號的句法元進行上下文自適應二進制算術(shù)編碼,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示所述第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位到最高有效位的方向上執(zhí)行移位操作,直至所述被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),所述編碼裝置包括比特位置指定裝置,用于指定指示與所述第一數(shù)據(jù)中的所述最高有效位最靠近的第一邏輯值的比特位置;移位量指定裝置,用于基于由所述比特位置指定裝置指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;判決裝置,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在大小超過在所述移位量指定裝置中指定的所述移位量的空區(qū)域,其中所述擴展數(shù)據(jù)被加到所述第二數(shù)據(jù)的所述最高有效位,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和編碼數(shù)據(jù)生成裝置,用于當不存在所述空區(qū)域時,從通過所述移位操作被包含在所述擴展數(shù)據(jù)中的數(shù)據(jù)生成所述編碼數(shù)據(jù)。
5.一種在計算機上執(zhí)行的程序,所述程序用于對代表要被編碼的圖像信號的句法元進行上下文自適應二進制算術(shù)編碼,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示所述第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位到最高有效位的方向上執(zhí)行移位操作,直至所述被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),所述程序包括第一過程,用于指定指示與所述第一數(shù)據(jù)中的所述最高有效位最靠近的第一邏輯值的比特位置;第二過程,用于基于由所述第一過程指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;第三過程,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在大小超過在所述第二過程中指定的所述移位量的空區(qū)域,其中所述擴展數(shù)據(jù)被加到所述第二數(shù)據(jù)的所述最高有效位,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和第四過程,用于當不存在所述空區(qū)域時,從通過所述移位操作被包含在所述擴展數(shù)據(jù)中的數(shù)據(jù),生成所述編碼數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的程序,包括在所述第一過程之前的第五過程,用于將一個值轉(zhuǎn)換為新的第二數(shù)據(jù),所述值如下獲得將所述連續(xù)比特數(shù)據(jù)表示為二進制數(shù)據(jù),將所述二進制數(shù)據(jù)與所述預定第一數(shù)據(jù)相乘,并將所述乘積與所述被移位了所述連續(xù)比特數(shù)據(jù)的比特數(shù)據(jù)長度的第二數(shù)據(jù)相加。
7.根據(jù)權(quán)利要求5所述的程序,其中一個值抑制通過移位操作被進位了位的第一個一比特數(shù)據(jù)的輸出,和所述第四過程抑制所述第一個一比特數(shù)據(jù),所述第一個一比特數(shù)據(jù)是基于所述擴展數(shù)據(jù)由所述移位操作被輸入的。
8.一種在計算機上執(zhí)行的程序,所述程序用于對代表要被編碼的圖像信號的句法元進行上下文自適應二進制算術(shù)編碼,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示所述第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位到最高有效位的方向上執(zhí)行移位操作,直至所述被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),所述程序包括第一過程,用于指定指示與所述第一數(shù)據(jù)中的所述最高有效位最靠近的第一邏輯值的比特位置;第二過程,用于基于由所述第一過程指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;第三過程,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在預定比特長度數(shù)據(jù),其中所述擴展數(shù)據(jù)被加到所述第二數(shù)據(jù)的所述最高有效位,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和第四過程,用于當不存在所述預定比特長度數(shù)據(jù)時,從通過所述移位操作被包含在所述擴展數(shù)據(jù)中的數(shù)據(jù),生成所述編碼數(shù)據(jù)。
9.一種數(shù)據(jù)處理方法,所述數(shù)據(jù)處理方法對代表要被編碼的圖像信號的句法元進行上下文自適應二進制算術(shù)編碼,其中具有高出現(xiàn)概率的第一數(shù)據(jù)和具有低出現(xiàn)概率的第二數(shù)據(jù)之間的范圍的大小由第一數(shù)據(jù)定義,指示所述第一和第二數(shù)據(jù)之間的邊界的下限由第二數(shù)據(jù)定義,以及依次對所述第一數(shù)據(jù)和所述第二數(shù)據(jù)在從最低有效位到最高有效位的方向上執(zhí)行移位操作,直至所述被移位的第一數(shù)據(jù)超過預定值,以及在所述移位操作即將結(jié)束之前響應于所述被移位的第二數(shù)據(jù)生成編碼數(shù)據(jù),所述方法包括第一步驟,用于指定指示與所述第一數(shù)據(jù)中的所述最高有效位最靠近的第一邏輯值的比特位置;第二步驟,用于基于由所述第一步驟指定的所述比特位置,指定在所述移位操作即將結(jié)束之前的所述第一數(shù)據(jù)的移位量;第三步驟,用于判決在具有預定比特長度的擴展數(shù)據(jù)中是否存在大小超過在所述第二步驟中指定的所述移位量的空區(qū)域,其中所述擴展數(shù)據(jù)被加到所述第二數(shù)據(jù)的所述最高有效位,并通過所述移位操作從所述第二數(shù)據(jù)進位了比特數(shù)據(jù)的位;和第四步驟,用于當不存在所述空區(qū)域時,從通過所述移位操作被包含在所述擴展數(shù)據(jù)中的數(shù)據(jù),生成所述編碼數(shù)據(jù)。
全文摘要
提供了能夠在編碼處理中獲得高速度和減少的計算量的編碼設(shè)備、程序和數(shù)據(jù)處理方法,其中,用于對范圍和下限值執(zhí)行左移操作直至范圍超過預定值并根據(jù)在執(zhí)行左移操作前的下限值執(zhí)行編碼的編碼部分包括比特位置指定部分,用于指定指示與范圍中的MSB最靠近的第一邏輯值的比特位置;移位量指定部分,用于基于比特位置,指定范圍由于左移操作而即將超過預定值之前的移位量;判決部分,用于判決在具有預定比特長度的擴展區(qū)數(shù)據(jù)中是否存在超過移位量的空閑空間,其中擴展區(qū)數(shù)據(jù)被加到下限值的MSB側(cè),其中比特數(shù)據(jù)通過左移操作從下限值進位;和擴展數(shù)據(jù)編碼部分,用于當不存在空閑空間時,編碼通過左移操作被存儲在擴展區(qū)數(shù)據(jù)中的數(shù)據(jù)。
文檔編號H03M7/40GK1630202SQ200410101328
公開日2005年6月22日 申請日期2004年12月17日 優(yōu)先權(quán)日2003年12月17日
發(fā)明者鶴大輔 申請人:索尼株式會社