本申請是申請?zhí)枮?01180018324.2、申請日為2011年3月31日、名稱為“運動圖像編碼裝置以及運動圖像解碼裝置”的發(fā)明專利申請的分案申請。
本發(fā)明涉及將運動圖像分割為規(guī)定區(qū)域并按照區(qū)域單位進行編碼的運動圖像編碼裝置、和按照規(guī)定區(qū)域單位對編碼了的運動圖像進行解碼的運動圖像解碼裝置。
背景技術:
以往,在mpeg以及itu-th.26x等國際標準影像編碼方式中采用了如下方法:對于影像信號的各幀,以匯總亮度信號16×16像素和對應的色差信號8×8像素量而得到的塊數(shù)據(jù)(稱為宏塊)為單位,根據(jù)運動補償技術以及正交變換/變換系數(shù)量化技術進行壓縮。
運動補償技術是指,利用在視頻幀之間存在的高的相關而針對每個宏塊削減時間方向的信號的冗余度(redundancy)的技術,是如下技術:預先將過去已編碼的幀作為參照圖像而儲存到存儲器內(nèi),從參照圖像中的規(guī)定的搜索范圍內(nèi),搜索與成為運動補償預測的對象的當前宏塊的差分電力最小的塊區(qū)域,將當前宏塊的空間位置與參照圖像中的搜索結(jié)果塊的空間位置的偏移作為運動矢量進行編碼。
另外,在正交變換/變換系數(shù)量化技術中,通過對從當前宏塊減去根據(jù)上述運動補償預測的結(jié)果所得到的預測信號而得到的差分信號進行正交變換以及量化,實現(xiàn)了信息量的壓縮。
在mpeg-4visual中,成為運動補償預測的單位的塊大小的最小值是8×8像素,在正交變換中也使用了8×8像素大小的dct(離散余弦變換)。相對于此,在mpeg-4avc(movingpictureexpertsgroup-4advancedvideocoding,運動圖像專家組-4高級視頻編碼)(itu-th.264)中,為了在目標的邊界等空間方向的像素間相關小的區(qū)域中也高效地進行編碼,而準備了比8×8像素小的塊大小下的運動補償預測,另外在正交變換中能夠?qū)?×8像素和4×4像素的整數(shù)精度的dct適應性地切換為宏塊單位來進行壓縮編碼。
在這樣的以往的國際標準影像編碼方式中,由于宏塊大小被固定,特別是在圖像的分辨率變高的情況下,在固定的宏塊大小下,宏塊所覆蓋的區(qū)域易于成為局部。于是,發(fā)生如下情形:在周邊宏塊中成為相同的編碼模式,或者分配相同的運動矢量。在這樣的情形中,盡管預測效率未提高,但被編碼的編碼模式信息以及運動矢量信息等開銷會增加,所以作為編碼器整體,編碼效率降低。
針對這樣的問題,有根據(jù)圖像的分辨率或者內(nèi)容來切換宏塊大小的裝置(例如,參照專利文獻1)。在專利文獻1的運動圖像編碼裝置中,能夠切換可根據(jù)宏塊大小而選擇的正交變換塊大小或者正交變換塊大小的組來進行壓縮編碼。
專利文獻1:國際公開wo2007/034918號
技術實現(xiàn)要素:
但是,在以往的國際標準影像編碼方式以及專利文獻1的發(fā)明中,無法在宏塊內(nèi)切換多個正交變換塊大小來進行變換,所以特別是在宏塊內(nèi)存在運動或者圖樣不同的目標的情況下,具有編碼效率降低這樣的課題。
本發(fā)明是為了解決上述那樣的課題而完成的,其目的在于得到一種運動圖像編碼裝置以及運動圖像解碼裝置,能夠針對成為宏塊內(nèi)的運動補償預測的單位的每個區(qū)域,適應性地切換正交變換塊大小來進行壓縮編碼。
本發(fā)明的運動圖像編碼裝置具備從根據(jù)塊圖像的塊大小而預先決定的變換塊大小的組中將規(guī)定的變換塊大小指示給變換/量化部的編碼控制部,變換/量化部將預測差分信號分割為從編碼控制部指示的變換塊大小的塊而進行變換以及量化處理,生成壓縮數(shù)據(jù)。
在本發(fā)明的運動圖像解碼裝置中,逆量化/逆變換部根據(jù)所解碼出的編碼模式和壓縮參數(shù)中包含的變換塊大小信息來決定變換塊大小,按照該變換塊大小的塊單位對壓縮數(shù)據(jù)進行逆變換以及逆量化處理。
根據(jù)本發(fā)明,從根據(jù)塊圖像的塊大小而預先決定的變換塊大小的組中選擇規(guī)定的變換塊大小,將預測差分信號分割為該變換塊大小的塊來進行變換以及量化處理而生成壓縮數(shù)據(jù),所以能夠得到可針對成為宏塊內(nèi)的運動補償預測的單位的每個區(qū)域適應性地切換變換塊大小而進行壓縮編碼的運動圖像編碼裝置以及運動圖像解碼裝置。
附圖說明
圖1是示出本發(fā)明的實施方式1的運動圖像編碼裝置的結(jié)構(gòu)的框圖。
圖2a是示出進行時間方向的預測編碼的圖片的編碼模式的一個例子的圖。
圖2b是示出進行時間方向的預測編碼的圖片的編碼模式的另一例子的圖。
圖3是示出實施方式1的運動圖像編碼裝置的運動補償預測部的內(nèi)部結(jié)構(gòu)的框圖。
圖4是說明與編碼模式對應的運動矢量的預測值的決定方法的圖。
圖5是示出與編碼模式對應的變換塊大小的適應化的一個例子的圖。
圖6是示出與編碼模式對應的變換塊大小的適應化的另一例子的圖。
圖7是示出實施方式1的運動圖像編碼裝置的變換/量化部的內(nèi)部結(jié)構(gòu)的框圖。
圖8是示出本發(fā)明的實施方式1的運動圖像解碼裝置的結(jié)構(gòu)的框圖。
圖9是示出本發(fā)明的實施方式2的運動圖像編碼裝置的可變長編碼部的內(nèi)部結(jié)構(gòu)的框圖。
圖10是示出2值化表格的一個例子的圖,示出更新前的狀態(tài)。
圖11是示出概率表格的一個例子的圖。
圖12是示出狀態(tài)變化表格的一個例子的圖。
圖13是說明上下文識別信息的生成過程的圖,圖13的(a)是通過二叉樹表現(xiàn)來示出2值化表格的圖,圖13的(b)是示出編碼對象宏塊與周邊塊的位置關系的圖。
圖14是示出2值化表格的一個例子的圖,示出更新后的狀態(tài)。
圖15是示出本發(fā)明的實施方式2的運動圖像解碼裝置的可變長解碼部的內(nèi)部結(jié)構(gòu)的框圖。
圖16是示出本發(fā)明的實施方式3的運動圖像編碼裝置的運動補償預測部所具備的插值圖像生成部的內(nèi)部結(jié)構(gòu)的框圖。
(符號說明)
1:輸入影像信號;2:塊分割部;3:編碼控制部;4:宏塊大??;5:宏/子塊圖像;6:切換部;7:編碼模式;7a:最佳編碼模式;8:內(nèi)部預測部;9:運動補償預測部;10:預測參數(shù);10a:最佳預測參數(shù);11:預測圖像;12:減法部;13:預測差分信號;13a:最佳預測差分信號;14:運動補償預測幀存儲器;15:參照圖像;17:預測圖像;18:預測參數(shù);18a:最佳預測參數(shù);19:變換/量化部;20:壓縮參數(shù);20a:最佳壓縮參數(shù);21:壓縮數(shù)據(jù);22:逆量化/逆變換部;23:可變長編碼部;24:局部解碼預測差分信號;25:加法部;26:局部解碼圖像信號;27:環(huán)路濾波器部;28:內(nèi)部預測用存儲器;29:局部解碼圖像;30:比特流;40:運動補償區(qū)域分割部;41:運動補償區(qū)域塊圖像;42:運動檢測部;43:插值圖像生成部;44:運動矢量;45:預測圖像;50:變換塊大小分割部;51:變換對象塊;52:變換部;53:變換系數(shù);54:量化部;60:比特流;61:可變長解碼部;62:最佳編碼模式;63:最佳預測參數(shù);64:壓縮數(shù)據(jù);65:最佳壓縮參數(shù);66:逆量化/逆變換部;67:預測差分信號解碼值;68:切換部;69:內(nèi)部預測部;70:運動補償預測部;71:預測圖像;72:預測圖像;73:加法部;74、74a:解碼圖像;75:運動補償預測幀存儲器;76:參照圖像;77:內(nèi)部預測用存儲器;78:環(huán)路濾波器部;79:再生圖像;90:初始化部;91:上下文信息初始化標志;92:2值化部;93:頻度信息生成部;94:頻度信息;95:2值化表格更新部;96:上下文信息存儲器;97:概率表格存儲器;98:狀態(tài)變化表格存儲器;99:上下文生成部;100:類別信號;101:周邊塊信息;102:上下文識別信息;103:2值信號;104:算術編碼處理運算部;105:2值化表格存儲器;106:上下文信息;107:概率表格編號;108:mps發(fā)生概率;109:碼元值;110:概率表格編號;111:編碼比特列;112:2值化表格更新識別信息;113:2值化表格更新標志;120:初始化部;121:上下文初始化信息;122:上下文生成部;123:類別信號;124:周邊塊信息;126:上下文識別信息;127:算術解碼處理運算部;128:上下文信息存儲器;129:上下文信息;130:概率表格編號;131:概率表格存儲器;132:mps發(fā)生概率;133:編碼比特列;134:碼元值;135:狀態(tài)變化表格存儲器;136:概率表格編號;137:2值信號;138:逆2值化部;139:2值化表格;140:解碼值;141:2值化表格更新部;142:2值化表格更新標志;143:2值化表格存儲器;144:2值化表格更新識別信息;200:圖像縮小處理部;201a、201b:高頻特征抽出部;202:相關計算部;203:高頻分量推測部;204:高頻分量圖案存儲器;205:圖像放大處理部;206:加法部;207:虛擬像素精度的參照圖像。
具體實施方式
以下,參照附圖,詳細說明本發(fā)明的實施方式。
實施方式1.
在本實施方式1中,說明將影像的各幀圖像作為輸入而在鄰近幀之間進行運動補償預測并對所得到的預測差分信號實施了基于正交變換/量化的壓縮處理之后進行可變長編碼來生成比特流的運動圖像編碼裝置、以及對該比特流進行解碼的運動圖像解碼裝置。
圖1是示出本發(fā)明的實施方式1的運動圖像編碼裝置的結(jié)構(gòu)的框圖。圖1所示的運動圖像編碼裝置包括:塊分割部2,輸出把將輸入影像信號1的各幀圖像分割為宏塊大小4的多個塊得到的宏塊圖像根據(jù)編碼模式7而分割為1個以上的子塊得到的宏/子塊圖像5;內(nèi)部預測部8,如果輸入了宏/子塊圖像5,則使用內(nèi)部預測用存儲器28的圖像信號對該宏/子塊圖像5進行幀內(nèi)預測而生成預測圖像11;運動補償預測部9,如果輸入了宏/子塊圖像5,則使用運動補償預測幀存儲器14的參照圖像15對該宏/子塊圖像5進行運動補償預測而生成預測圖像17;切換部6,根據(jù)編碼模式7,將宏/子塊圖像5輸入到內(nèi)部預測部8或者運動補償預測部9中的某一方;減法部12,從塊分割部2所輸出的宏/子塊圖像5,減去內(nèi)部預測部8或者運動補償預測部9中的某一方所輸出的預測圖像11、17,而生成預測差分信號13;變換/量化部19,對預測差分信號13進行變換以及量化處理而生成壓縮數(shù)據(jù)21;可變長編碼部23,對壓縮數(shù)據(jù)21進行熵編碼而復用到比特流30;逆量化/逆變換部22,對壓縮數(shù)據(jù)21進行逆量化以及逆變換處理而生成局部解碼預測差分信號24;加法部25,針對逆量化/逆變換部22相加內(nèi)部預測部8或者運動補償預測部9中的某一方所輸出的預測圖像11、17而生成局部解碼圖像信號26;內(nèi)部預測用存儲器28,保存局部解碼圖像信號26;環(huán)路濾波器部27,對局部解碼圖像信號26進行濾波處理而生成局部解碼圖像29;以及運動補償預測幀存儲器14,保存局部解碼圖像29。
編碼控制部3輸出各部的處理所需的信息(宏塊大小4、編碼模式7、最佳編碼模式7a、預測參數(shù)10、最佳預測參數(shù)10a、18a、壓縮參數(shù)20、最佳壓縮參數(shù)20a)。以下,詳細說明宏塊大小4以及編碼模式7。在后面詳細敘述其他信息。
編碼控制部3向塊分割部2指定輸入影像信號1的各幀圖像的宏塊大小4,并且針對編碼對象的每個宏塊,指示可根據(jù)圖片類型選擇的所有編碼模式7。
另外,編碼控制部3雖然能夠從編碼模式的組中選擇規(guī)定的編碼模式,但該編碼模式的組是任意的,例如能夠從以下所示的圖2a或者圖2b的組中選擇規(guī)定的編碼模式。
圖2a是表示進行時間方向的預測編碼的p(predictive,預測)圖片的編碼模式的例子的圖。在圖2a中,mb_mode0~2是通過幀間預測對宏塊(m×l像素塊)進行編碼的模式(inter)。mb_mode0是對宏塊全體分配1個運動矢量的模式,mb_mode1、2分別是水平或者垂直地將宏塊進行等分,并對所分割的各子塊分別分配不同的運動矢量的模式。
mb_mode3是將宏塊進行4分割,并對所分割的各子塊分配不同的編碼模式(sub_mb_mode)的模式。
sub_mb_mode0~4是在宏塊的編碼模式中選擇了mb_mode3時,針對將該宏塊進行4分割而得到的各子塊(m×l像素塊)分別分配的編碼模式,sub_mb_mode0是通過幀內(nèi)預測對子塊進行編碼的模式(intra)。除此以外是通過幀間預測進行編碼的模式(inter),sub_mb_mode1是對子塊全體分配1個運動矢量的模式,sub_mb_mode2、3分別是水平或者垂直地將子塊進行等分,并針對所分割的各子塊分別分配不同的運動矢量的模式,sub_mb_mode4是將子塊進行4分割,并對所分割的各子塊分配不同的運動矢量的模式。
另外,圖2b是示出進行時間方向的預測編碼的p圖片的編碼模式的另一例子的圖。在圖2b中,mb_mode0~6是通過幀間預測對宏塊(m×l像素塊)進行編碼的模式(inter)。mb_mode0是對宏塊全體分配1個運動矢量的模式,mb_mode1~6分別是在水平、垂直或者對角方向上分割宏塊,并針對所分割的各子塊分別分配不同的運動矢量的模式。
mb_mode7是將宏塊進行4分割,并對所分割的各子塊分配不同的編碼模式(sub_mb_mode)的模式。
sub_mb_mode0~8是在宏塊的編碼模式中選擇了mb_mode7時,針對將該宏塊進行4分割得到的各子塊(m×l像素塊)分別分配的編碼模式,sub_mb_mode0是通過幀內(nèi)預測對子塊進行編碼的模式(intra)。除此以外是通過幀間預測進行編碼的模式(inter),sub_mb_mode1是對子塊全體分配1個運動矢量的模式,sub_mb_mode2~7分別是在水平、垂直或者對角方向上分割子塊,并對所分割的各子塊分別分配不同的運動矢量的模式,sub_mb_mode8是將子塊進行4分割,并對所分割的各子塊分配不同的運動矢量的模式。
塊分割部2將輸入到運動圖像編碼裝置的輸入影像信號1的各幀圖像,分割為從編碼控制部3指定的宏塊大小4的宏塊圖像。而且,塊分割部2在從編碼控制部3指定的編碼模式7包括針對將宏塊進行分割得到的子塊分配不同的編碼模式的模式(圖2a的sub_mb_mode1~4或者圖2b的sub_mb_mode1~8)的情況下,將宏塊圖像分割為編碼模式7表示的子塊圖像。因此,從塊分割部2輸出的塊圖像根據(jù)編碼模式7而成為宏塊圖像或者子塊圖像中的某一方。以下,將該塊圖像稱為宏/子塊圖像5。
另外,在輸入影像信號1的各幀的水平或者垂直大小不是宏塊大小4的各個水平大小或者垂直大小的整數(shù)倍時,針對輸入影像信號1的各幀,生成直至幀大小成為宏塊大小的整數(shù)倍為止在水平方向或者垂直方向上使像素擴展的幀(擴展幀)。作為擴展區(qū)域的像素的生成方法,例如有在垂直方向上使像素擴展的情況下反復填補原來的幀的下端的像素、或者用具有固定的像素值(灰、黑、白等)的像素來填補等的方法。在水平方向上使像素擴展的情況下,也同樣地有反復填補原來的幀的右端的像素、或者用具有固定的像素值(灰、黑、白等)的像素來填補等的方法。代替輸入影像信號1的各幀圖像而將針對輸入影像信號1的各幀而生成的幀大小是宏塊大小的整數(shù)倍的擴展幀輸入到塊分割部2。
另外,為了按照由1幀以上的圖片構(gòu)成的序列單位或者圖片單位復用到比特流,而向可變長編碼部23輸出宏塊大小4以及輸入影像信號1的各幀的幀大小(水平大小以及垂直大小)。
另外,也可以不將宏塊大小的值直接復用到比特流,而是用分布圖(profile)等來進行規(guī)定。在該情況下,用于按照序列單位來識別分布圖的識別信息被復用到比特流中。
切換部6是根據(jù)編碼模式7對宏/子塊圖像5的輸入目的地進行切換的開關。該切換部6在編碼模式7是通過幀內(nèi)預測進行編碼的模式(以下,稱為幀內(nèi)預測模式)的情況下,將宏/子塊圖像5輸入到內(nèi)部預測部8,在編碼模式7是通過幀間預測進行編碼的模式(以下,稱為幀間預測模式)的情況下,將宏/子塊圖像5輸入到運動補償預測部9。
內(nèi)部預測部8對于所輸入的宏/子塊圖像5,以通過宏塊大小4指定的編碼對象的宏塊或者通過編碼模式7指定的子塊為單位,進行幀內(nèi)預測。另外,內(nèi)部預測部8對于從編碼控制部3指示的預測參數(shù)10中包含的所有內(nèi)部預測模式,使用內(nèi)部預測用存儲器28內(nèi)保存的幀內(nèi)的圖像信號,分別生成預測圖像11。
此處,詳細說明預測參數(shù)10。在編碼模式7是幀內(nèi)預測模式的情況下,編碼控制部3將內(nèi)部預測模式指定為與該編碼模式7對應的預測參數(shù)10。在該內(nèi)部預測模式中,例如有如下模式等:使宏塊或者子塊內(nèi)成為4×4像素塊單位而使用內(nèi)部預測用存儲器28內(nèi)的圖像信號的單位塊周圍的像素來生成預測圖像的模式;使宏塊或者子塊內(nèi)成為8×8像素塊單位而使用內(nèi)部預測用存儲器28內(nèi)的圖像信號的單位塊周邊的像素來生成預測圖像的模式;使宏塊或者子塊內(nèi)成為16×16像素塊單位而使用內(nèi)部預測用存儲器28內(nèi)的圖像信號的單位塊周邊的像素來生成預測圖像的模式;根據(jù)使宏塊或者子塊內(nèi)縮小而得到的圖像生成預測圖像的模式。
運動補償預測部9從運動補償預測幀存儲器14中保存的1幀以上的參照圖像數(shù)據(jù)中,指定在預測圖像生成中使用的參照圖像15,使用該參照圖像15和宏/子塊圖像5,進行與從編碼控制部3指示的編碼模式7對應的運動補償預測,生成預測參數(shù)18和預測圖像17。
此處,詳細說明預測參數(shù)18。在編碼模式7是幀間預測模式的情況下,運動補償預測部9求出運動矢量、各運動矢量所指的參照圖像的識別編號(參照圖像索引)等而作為與該編碼模式7對應的預測參數(shù)18。在后面詳細敘述預測參數(shù)18的生成方法。
減法部12從宏/子塊圖像5減去預測圖像11或者預測圖像17中的某一方,而得到預測差分信號13。另外,根據(jù)預測參數(shù)10所指定的所有內(nèi)部預測模式,針對內(nèi)部預測部8所生成的所有預測圖像11,分別生成預測差分信號13。
由編碼控制部3評價根據(jù)預測參數(shù)10所指定的所有內(nèi)部預測模式分別生成的預測差分信號13,決定包括最佳的內(nèi)部預測模式的最佳預測參數(shù)10a。作為評價方法,例如使用對預測差分信號13進行變換、量化而得到的壓縮數(shù)據(jù)21,計算后述的編碼開銷j2,選擇使編碼開銷j2成為最小的內(nèi)部預測模式。
編碼控制部3評價在內(nèi)部預測部8或者運動補償預測部9中針對編碼模式7中包含的所有模式分別生成的預測差分信號13,根據(jù)評價結(jié)果,從編碼模式7中決定可得到最佳的編碼效率的最佳編碼模式7a。另外,編碼控制部3從預測參數(shù)10、18以及壓縮參數(shù)20中決定與最佳編碼模式7a對應的最佳預測參數(shù)10a、18a以及最佳壓縮參數(shù)20a。關于各個決定過程在后面敘述。
另外,如上所述,在幀內(nèi)預測模式的情況下,在預測參數(shù)10以及最佳預測參數(shù)10a中包括內(nèi)部預測模式。另一方面,在幀間預測模式的情況下,在預測參數(shù)18以及最佳預測參數(shù)18a中包括運動矢量、各運動矢量所指的參照圖像的識別編號(參照圖像索引)等。
另外,在壓縮參數(shù)20以及最佳壓縮參數(shù)20a中,包括變換塊大小、量化步長(quantizationstepsize)等。
該決定過程的結(jié)果,編碼控制部3將針對編碼對象的宏塊或者子塊的最佳編碼模式7a、最佳預測參數(shù)10a、18a、最佳壓縮參數(shù)20a輸出到可變長編碼部23。另外,編碼控制部3將壓縮參數(shù)20中的最佳壓縮參數(shù)20a輸出到變換/量化部19以及逆量化/逆變換部22。
變換/量化部19在與編碼模式7中包含的所有模式對應地生成的多個預測差分信號13中,選擇與根據(jù)編碼控制部3所決定的最佳編碼模式7a及最佳預測參數(shù)10a、18a而生成的預測圖像11、17對應的預測差分信號13(以下,稱為最佳預測差分信號13a),并針對該最佳預測差分信號13a,根據(jù)由編碼控制部3所決定的最佳壓縮參數(shù)20a的變換塊大小,實施dct等變換處理,從而計算變換系數(shù),并且根據(jù)從編碼控制部3指示的最佳壓縮參數(shù)20a的量化步長對該變換系數(shù)進行量化,將作為量化后的變換系數(shù)的壓縮數(shù)據(jù)21輸出到逆量化/逆變換部22以及可變長編碼部23。
逆量化/逆變換部22使用最佳壓縮參數(shù)20a,對從變換/量化部19輸入的壓縮數(shù)據(jù)21進行逆量化,并實施逆dct等逆變換處理,從而生成預測差分信號13a的局部解碼預測差分信號24,并輸出到加法部25。
加法部25將局部解碼預測差分信號24、與預測圖像11或者預測圖像17進行相加而生成局部解碼圖像信號26,將該局部解碼圖像信號26輸出到環(huán)路濾波器部27,并且保存到內(nèi)部預測用存儲器28中。該局部解碼圖像信號26成為幀內(nèi)預測用的圖像信號。
環(huán)路濾波器部27對從加法部25輸入的局部解碼圖像信號26進行規(guī)定的濾波處理,并將濾波處理后的局部解碼圖像29保存到運動補償預測幀存儲器14中。該局部解碼圖像29成為運動補償預測用的參照圖像15。關于環(huán)路濾波器部27的濾波處理,既可以按照所輸入的局部解碼圖像信號26的宏塊單位來進行,也可以在輸入了與1個畫面量的宏塊相當?shù)木植拷獯a圖像信號26之后匯總與1個畫面相應的量來進行。
可變長編碼部23對從變換/量化部19輸出的壓縮數(shù)據(jù)21、從編碼控制部3輸出的最佳編碼模式7a、最佳預測參數(shù)10a、18a、以及最佳壓縮參數(shù)20a進行熵編碼,生成表示這些編碼結(jié)果的比特流30。另外,按照與最佳編碼模式7a指示的編碼模式對應的單位,對最佳預測參數(shù)10a、18a和最佳壓縮參數(shù)20a進行編碼。
如上所述,在本實施方式1的運動圖像編碼裝置中,運動補償預測部9以及變換/量化部19與編碼控制部3協(xié)作地分別進行動作,從而決定得到最佳的編碼效率的編碼模式、預測參數(shù)、壓縮參數(shù)(即,最佳編碼模式7a、最佳預測參數(shù)10a、18a、最佳壓縮參數(shù)20a)。
此處,關于由編碼控制部3進行的得到最佳的編碼效率的編碼模式、預測參數(shù)、壓縮參數(shù)的決定過程,按照1.預測參數(shù)、2.壓縮參數(shù)、3.編碼模式的順序進行說明。
1.預測參數(shù)的決定過程
此處,說明在編碼模式7是幀間預測模式時對包括與該幀間預測相關的運動矢量、各運動矢量所指的參照圖像的識別編號(參照圖像索引)等的預測參數(shù)18進行決定的過程。
在運動補償預測部9中,與編碼控制部3協(xié)作地針對從編碼控制部3向運動補償預測部9指示的所有編碼模式7(例如圖2a或者圖2b所示的編碼模式的組)分別決定預測參數(shù)18。以下,說明其詳細的過程。
圖3是示出運動補償預測部9的內(nèi)部結(jié)構(gòu)的框圖。圖3所示的運動補償預測部9包括運動補償區(qū)域分割部40、運動檢測部42、以及插值圖像生成部43。另外,作為輸入數(shù)據(jù),有從編碼控制部3輸入的編碼模式7、從切換部6輸入的宏/子塊圖像5、以及從運動補償預測幀存儲器14輸入的參照圖像15。
運動補償區(qū)域分割部40根據(jù)從編碼控制部3指示的編碼模式7,將從切換部6輸入的宏/子塊圖像5分割為成為運動補償?shù)膯挝坏膲K,并將該運動補償區(qū)域塊圖像41輸出到運動檢測部42。
插值圖像生成部43從保存在運動補償預測幀存儲器14中的1幀以上的參照圖像數(shù)據(jù)中,指定預測圖像生成中使用的參照圖像15,運動檢測部42在所指定的參照圖像15上的規(guī)定的運動搜索范圍內(nèi)檢測運動矢量44。另外,與mpeg-4avc規(guī)格等同樣地,利用虛擬采樣精度的運動矢量來進行運動矢量的檢測。在該檢測方法中,針對參照圖像具有的像素信息(稱為整數(shù)像素),在整數(shù)像素之間通過內(nèi)插運算來作出虛擬的采樣(像素),并將其用作預測圖像,在mpeg-4avc規(guī)格中,能夠生成并利用1/8像素精度的虛擬采樣。另外,在mpeg-4avc規(guī)格中,通過由在垂直方向或者水平方向上使用了6個整數(shù)像素的6抽頭的濾波器進行的內(nèi)插運算,生成1/2像素精度的虛擬采樣。通過使用了相鄰的1/2像素或者整數(shù)像素的平均值濾波器的內(nèi)插運算,生成1/4像素精度的虛擬采樣。
在本實施方式1中的運動補償預測部9中,插值圖像生成部43也生成與從運動檢測部42指示的運動矢量44的精度對應的虛擬像素的預測圖像45。以下,示出虛擬像素精度的運動矢量檢測過程的一個例子。
運動矢量檢測過程i
插值圖像生成部43生成與運動補償區(qū)域塊圖像41的規(guī)定的運動搜索范圍內(nèi)存在的整數(shù)像素精度的運動矢量44對應的預測圖像45。以整數(shù)像素精度生成的預測圖像45(預測圖像17)被輸出到減法部12,通過減法部12從運動補償區(qū)域塊圖像41(宏/子塊圖像5)相減而成為預測差分信號13。編碼控制部3對預測差分信號13和整數(shù)像素精度的運動矢量44(預測參數(shù)18)進行預測效率的評價。在預測效率的評價中,例如通過下式(1)計算預測開銷j1,決定在規(guī)定的運動搜索范圍內(nèi)使預測開銷j1成為最小的整數(shù)像素精度的運動矢量44。
j1=d1+λr1(1)
此處,設使用d1、r1作為評價值。d1是預測差分信號的宏塊內(nèi)或者子塊內(nèi)的絕對值和(sad),r1是運動矢量以及該運動矢量所指的參照圖像的識別編號的推測代碼量,λ是正數(shù)。
另外,在求評價值r1時,關于運動矢量的代碼量,使用附近的運動矢量的值來預測圖2a或者圖2b的各模式下的運動矢量的值,根據(jù)概率分布對預測差分值進行熵編碼而求出,或者進行與其相當?shù)拇a量推測來求出。
圖4是說明圖2b所示的各編碼模式7的運動矢量的預測值(以下,稱為預測矢量)的決定方法的圖。在圖4中,在mb_mode0、sub_mb_mode1等的矩形塊中,使用位于其左邊(位置a)、上(位置b)、右上(位置c)的分別已編碼的運動矢量mva、mvb、mvc,根據(jù)下式(2)來計算該矩形塊的預測矢量pmv。median()對應于中值濾波處理,是輸出運動矢量mva、mvb、mvc的中值的函數(shù)。
pmv=median(mva、mvb、mvc)(2)
另一方面,在具有對角形狀的對角塊mb_mode1、sub_mb_mode2、mb_mode2、sub_mb_mode3、mb_mode3、sub_mb_mode4、mb_mode4、sub_mb_mode5的情況下,為了能夠應用與矩形塊同樣的處理,而根據(jù)對角形狀來變更取中值的位置a、b、c的位置。由此,無需變更計算預測矢量pmv的方法自身,而能夠根據(jù)各運動矢量分配區(qū)域的形狀來進行計算,能夠?qū)⒃u價值r1的開銷抑制得較小。
運動矢量檢測過程ii
插值圖像生成部43針對在上述“運動矢量檢測過程i”中決定的整數(shù)像素精度的運動矢量的周圍存在的1個以上的1/2像素精度的運動矢量44,生成預測圖像45。以下,與上述“運動矢量檢測過程i”同樣地,通過減法部12從運動補償區(qū)域塊圖像41(宏/子塊圖像5)減去以1/2像素精度生成的預測圖像45(預測圖像17),而得到預測差分信號13。接下來,編碼控制部3針對該預測差分信號13和1/2像素精度的運動矢量44(預測參數(shù)18)進行預測效率的評價,從在整數(shù)像素精度的運動矢量的周圍存在的1個以上的1/2像素精度的運動矢量中,決定使預測開銷j1成為最小的1/2像素精度的運動矢量44。
運動矢量檢測過程iii
編碼控制部3和運動補償預測部9針對1/4像素精度的運動矢量也同樣地,從在上述“運動矢量檢測過程ii”中決定的1/2像素精度的運動矢量的周圍存在的1個以上的1/4像素精度的運動矢量中,決定使預測開銷j1成為最小的1/4像素精度的運動矢量44。
運動矢量檢測過程iv
以下同樣地,編碼控制部3和運動補償預測部9直至成為規(guī)定的精度為止進行虛擬像素精度的運動矢量的檢測。
另外,在本實施方式中,直至成為規(guī)定的精度為止進行虛擬像素精度的運動矢量的檢測,但也可以例如預先決定針對預測開銷的閾值,在預測開銷j1小于規(guī)定的閾值的情況下,在成為規(guī)定的精度之前,中止虛擬像素精度的運動矢量的檢測。
另外,關于運動矢量,也可以參照由參照幀大小規(guī)定的幀以外的像素。在該情況下,需要生成幀外的像素。作為幀外的像素的生成方法之一,有用畫面端的像素來填補等的方法。
另外,在輸入影像信號1的各幀的幀大小并非是宏塊大小的整數(shù)倍時代替輸入影像信號1的各幀而輸入了擴展幀的情況下,擴展為宏塊大小的整數(shù)倍的大小(擴展幀的大小)成為參照幀的幀大小。另一方面,在不參照擴展區(qū)域的局部解碼部分而僅將針對原來幀的局部解碼部分作為幀內(nèi)的像素而進行參照的情況下,參照幀的幀大小成為原來的輸入影像信號的幀大小。
這樣,運動補償預測部9針對在宏/子塊圖像5內(nèi)以成為編碼模式7表示的運動補償?shù)膯挝坏膲K單位進行分割而得到的運動補償區(qū)域塊圖像41,輸出分別決定的規(guī)定精度的虛擬像素精度的運動矢量和該運動矢量所指的參照圖像的識別編號而作為預測參數(shù)18。另外,運動補償預測部9將利用該預測參數(shù)18生成的預測圖像45(預測圖像17)輸出到減法部12,通過減法部12從宏/子塊圖像5相減而得到預測差分信號13。從減法部12輸出的預測差分信號13被輸出到變換/量化部19。
2.壓縮參數(shù)的決定過程
此處,說明決定對根據(jù)在上述“1.預測參數(shù)的決定過程”中針對每個編碼模式7決定的預測參數(shù)18而生成的預測差分信號13進行變換、量化處理時使用的壓縮參數(shù)20(變換塊大小)的過程。
圖5是示出與圖2b所示的編碼模式7對應的變換塊大小的適應化的一個例子的圖。在圖5中,例如,作為m×l像素塊使用了32×32像素塊。在編碼模式7指定的模式是mb_mode0~6時,關于變換塊大小,能夠適應性地選擇16×16或者8×8像素中的某一方。在編碼模式7是mb_mode7時,關于變換塊大小,能夠針對將宏塊進行4分割而得到的16×16像素子塊的每一個,從8×8或者4×4像素中適應性地進行選擇。
另外,關于能夠針對各個編碼模式的每一個進行選擇的變換塊大小的組,能夠從通過編碼模式而均等分割的子塊大小以下的任意的矩形塊大小中進行定義。
圖6是示出與圖2b所示的編碼模式7對應的變換塊大小的適應化的另一例子的圖。在圖6的例子中,在編碼模式7指定的模式是上述mb_mode0、5、6時,作為可選擇的變換塊大小,除了16×16、8×8像素以外,還能夠選擇與作為運動補償?shù)膯挝坏淖訅K的形狀對應的變換塊大小。在mb_mode0的情況下,能夠從16×16、8×8、32×32像素中適應性地進行選擇。在mb_mode5的情況下,能夠從16×16、8×8、16×32像素中適應性地進行選擇。在mb_mode6的情況下,能夠從16×16、8×8、32×16像素中適應性地進行選擇。另外,雖然省略了圖示,但也可以進行如下那樣的適應化:在mb_mode7的情況下,能夠從16×16、8×8、16×32像素中適應性地進行選擇,在mb_mode1~4的情況下,針對不是矩形的區(qū)域從16×16、8×8像素中進行選擇,針對矩形的區(qū)域從8×8、4×4像素中進行選擇。
編碼控制部3將與圖5以及圖6中例示的編碼模式7對應的變換塊大小的組作為壓縮參數(shù)20。
另外,在圖5以及圖6的例子中,根據(jù)宏塊的編碼模式7,預先決定可選擇的變換塊大小的組,使得能夠按照宏塊單位或者子塊單位適應性地進行選擇,但也可以同樣地根據(jù)將宏塊進行分割而得到的子塊的編碼模式7(圖2b的sub_mb_mode1~8等),預先決定可選擇的變換塊大小的組,使得能夠按照子塊單位或者將子塊進一步進行分割而得到的塊單位適應性地進行選擇。
同樣地,編碼控制部3在使用圖2a所示的編碼模式7的情況下,也可以預先決定與該編碼模式7對應的變換塊大小的組,使得能夠適應性地進行選擇。
變換/量化部19與編碼控制部3進行協(xié)作,按照由宏塊大小4指定的宏塊單位、或者按照將該宏塊單位根據(jù)編碼模式7進一步進行分割而得到的子塊單位,從變換塊大小中決定最佳的變換塊大小。以下,說明其詳細的過程。
圖7是示出變換/量化部19的內(nèi)部結(jié)構(gòu)的框圖。圖7所示的變換/量化部19包括變換塊大小分割部50、變換部52、以及量化部54。另外,作為輸入數(shù)據(jù),有從編碼控制部3輸入的壓縮參數(shù)20(變換塊大小以及量化步長等)、和從編碼控制部3輸入的預測差分信號13。
變換塊大小分割部50將作為決定變換塊大小的對象的每個宏塊或者每個子塊的預測差分信號13,變換為與壓縮參數(shù)20的變換塊大小對應的塊,并作為變換對象塊51而輸出到變換部52。
另外,在通過壓縮參數(shù)20針對1個宏塊或者子塊選擇指定了多個變換塊大小的情況下,將各變換塊大小的變換對象塊51依次輸出到變換部52。
變換部52針對所輸入的變換對象塊51,依照dct、用整數(shù)對dct的變換系數(shù)進行了近似的整數(shù)變換、阿達瑪變換(hadamardtransform)等變換方式,實施變換處理,并將生成的變換系數(shù)53輸出到量化部54。
量化部54依照從編碼控制部3指示的壓縮參數(shù)20的量化步長,對輸入的變換系數(shù)53進行量化,將作為量化后的變換系數(shù)的壓縮數(shù)據(jù)21輸出到逆量化/逆變換部22以及編碼控制部3。
另外,變換部52以及量化部54在通過壓縮參數(shù)20針對1個宏塊或者子塊選擇指定了多個變換塊大小的情況下,對這些所有的變換塊大小進行上述變換、量化處理,輸出各個壓縮數(shù)據(jù)21。
從量化部54輸出的壓縮數(shù)據(jù)21被輸入到編碼控制部3,用于針對壓縮參數(shù)20的變換塊大小的編碼效率的評價。編碼控制部3關于編碼模式7中包含的各個編碼模式,使用針對可選擇的所有變換塊大小的每一個而得到的壓縮數(shù)據(jù)21,例如根據(jù)下式(3)計算編碼開銷j2,選擇使編碼開銷j2成為最小的變換塊大小。
j2=d2+λr2(3)
此處,設使用d2、r2作為評價值。作為d2,使用局部解碼圖像信號26與宏/子塊圖像5之間的平方失真和等,其中,該局部解碼圖像信號26是通過如下方式得到的,即,將針對變換塊大小得到的壓縮數(shù)據(jù)21輸入到逆量化/逆變換部22,并對針對壓縮數(shù)據(jù)21進行逆變換、逆量化處理而得到的局部解碼預測差分信號24相加預測圖像17,從而得到局部解碼圖像信號26。作為r2,使用通過可變長編碼部23對針對變換塊大小得到的壓縮數(shù)據(jù)21、和針對與壓縮數(shù)據(jù)21相關的編碼模式7以及預測參數(shù)10、18實際上進行編碼而得到的代碼量(或者推測代碼量)。
編碼控制部3在通過后述“3.編碼模式的決定過程”決定了最佳編碼模式7a之后,選擇與所決定的最佳編碼模式7a對應的變換塊大小并使其包含于最佳壓縮參數(shù)20a,輸出到可變長編碼部23??勺冮L編碼部23在對該最佳壓縮參數(shù)20a進行了熵編碼之后復用到比特流30。
此處,根據(jù)宏塊或者子塊的最佳編碼模式7a從預先定義的變換塊大小組(圖5以及圖6中例示)中選擇變換塊大小,所以也可以針對每個變換塊大小組,對該組中包含的變換塊大小分配id等識別信息,將該識別信息作為變換塊大小的信息進行熵編碼并復用到比特流30。在該情況下,在解碼裝置側(cè)也設定變換塊大小組的識別信息。但是,在變換塊大小組中包含的變換塊大小是1個的情況下,在解碼裝置側(cè)能夠從組中自動地決定變換塊大小,所以無需在編碼裝置側(cè)將變換塊大小的識別信息復用到比特流30。
3.編碼模式的決定過程
如果通過上述“1.預測參數(shù)的決定過程”以及“2.壓縮參數(shù)的決定過程”,針對編碼控制部3所指示的所有編碼模式7分別決定了預測參數(shù)10、18以及壓縮參數(shù)20,則編碼控制部3利用對使用各個編碼模式7和此時的預測參數(shù)10、18以及壓縮參數(shù)20得到的預測差分信號13進一步進行變換、量化而得到的壓縮數(shù)據(jù)21,根據(jù)上式(3)求出編碼開銷j2變小的編碼模式7,并將該編碼模式7選擇為該宏塊的最佳編碼模式7a。
另外,也可以從對圖2a或者圖2b所示的編碼模式作為宏塊或者子塊的模式而加上跳躍模式而得到的所有編碼模式中,決定最佳編碼模式7a。跳躍模式是指,將在編碼裝置側(cè)使用相鄰的宏塊或者子塊的運動矢量進行了運動補償?shù)念A測圖像作為局部解碼圖像信號的模式,無需計算編碼模式以外的預測參數(shù)、壓縮參數(shù)而復用到比特流,所以能夠抑制代碼量而進行編碼。在解碼裝置側(cè),輸出通過與編碼裝置側(cè)同樣的過程使用相鄰的宏塊或者子塊的運動矢量進行了運動補償?shù)念A測圖像而作為解碼圖像信號。
另外,在輸入影像信號1的各幀的幀大小不是宏塊大小的整數(shù)倍時代替輸入影像信號1的各幀而輸入了擴展幀的情況下,也可以對包括擴展區(qū)域的宏塊或者子塊進行控制使得僅選擇跳躍模式,從而以抑制擴展區(qū)域中耗費的代碼量的方式?jīng)Q定編碼模式。
編碼控制部3將通過以上的“1.預測參數(shù)的決定過程”、“2.壓縮參數(shù)的決定過程”、“3.編碼模式的決定過程”決定的得到最佳的編碼效率的最佳編碼模式7a輸出到可變長編碼部23,并且將與該最佳編碼模式7a對應的預測參數(shù)10、18選擇為最佳預測參數(shù)10a、18a,同樣地將與最佳編碼模式7a對應的壓縮參數(shù)20選擇為最佳壓縮參數(shù)20a,并輸出到可變長編碼部23??勺冮L編碼部23對最佳編碼模式7a、最佳預測參數(shù)10a、18a以及最佳壓縮參數(shù)20a進行熵編碼,并復用到比特流30。
另外,從基于所決定的最佳編碼模式7a、最佳預測參數(shù)10a、18a以及最佳壓縮參數(shù)20a的預測圖像11、17得到的最佳預測差分信號13a如上所述通過變換/量化部19被變換、量化而成為壓縮數(shù)據(jù)21,該壓縮數(shù)據(jù)21通過可變長編碼部23而被熵編碼,并被復用到比特流30。另外,該壓縮數(shù)據(jù)21經(jīng)由逆量化/逆變換部22、加法部25而成為局部解碼圖像信號26,輸入到環(huán)路濾波器部27。
接下來,說明本實施方式1的運動圖像解碼裝置。
圖8是示出本發(fā)明的實施方式1的運動圖像解碼裝置的結(jié)構(gòu)的框圖。圖8所示的運動圖像解碼裝置包括:可變長解碼部61,從比特流60,按照宏塊單位對最佳編碼模式62進行熵解碼,并且按照根據(jù)該解碼的最佳編碼模式62分割的宏塊或者子塊單位,對最佳預測參數(shù)63、壓縮數(shù)據(jù)64、最佳壓縮參數(shù)65進行熵解碼;內(nèi)部預測部69,如果輸入了最佳預測參數(shù)63,則使用該最佳預測參數(shù)63中包含的內(nèi)部預測模式和內(nèi)部預測用存儲器77中保存的解碼圖像74a,生成預測圖像71;運動補償預測部70,如果輸入了最佳預測參數(shù)63,則使用該最佳預測參數(shù)63中包含的運動矢量、和通過該最佳預測參數(shù)63中包含的參照圖像索引而確定的運動補償預測幀存儲器75內(nèi)的參照圖像76,進行運動補償預測而生成預測圖像72;切換部68,根據(jù)解碼出的最佳編碼模式62,將可變長解碼部61解碼出的最佳預測參數(shù)63輸入到內(nèi)部預測部69或者運動補償預測部70中的某一方;逆量化/逆變換部66,使用最佳壓縮參數(shù)65,對壓縮數(shù)據(jù)64進行逆量化以及逆變換處理,生成預測差分信號解碼值67;加法部73,對預測差分信號解碼值67相加內(nèi)部預測部69或者運動補償預測部70中的某一方輸出的預測圖像71、72而生成解碼圖像74;內(nèi)部預測用存儲器77,保存解碼圖像74;環(huán)路濾波器部78,對解碼圖像74進行濾波處理而生成再生圖像79;以及運動補償預測幀存儲器75,保存再生圖像79。
在可變長解碼部61中,如果本實施方式1的運動圖像解碼裝置接收到比特流60,則對該比特流60進行熵解碼處理,按照由1幀以上的圖片構(gòu)成的序列單位或者圖片單位,對宏塊大小以及幀大小進行解碼。另外,在宏塊大小沒有直接復用到比特流而是通過分布圖等規(guī)定了的情況下,根據(jù)按照序列單位從比特流解碼的分布圖的識別信息,決定宏塊大小。根據(jù)各幀的解碼宏塊大小以及解碼幀大小,決定各幀中包含的宏塊數(shù),對幀中包含的各宏塊的最佳編碼模式62、最佳預測參數(shù)63、壓縮數(shù)據(jù)64(即,量化變換系數(shù)數(shù)據(jù))、最佳壓縮參數(shù)65(變換塊大小信息、量化步長)等進行解碼。
另外,在解碼裝置側(cè)解碼出的最佳編碼模式62、最佳預測參數(shù)63、壓縮數(shù)據(jù)64、最佳壓縮參數(shù)65對應于在編碼裝置側(cè)編碼了的最佳編碼模式7a、最佳預測參數(shù)10a、18a、壓縮數(shù)據(jù)21、最佳壓縮參數(shù)20a。
此處,最佳壓縮參數(shù)65的變換塊大小信息是確定從在編碼裝置側(cè)根據(jù)編碼模式7按照宏塊或者子塊單位預先定義的變換塊大小組中選擇出的變換塊大小的識別信息,在解碼裝置側(cè)根據(jù)最佳編碼模式62和最佳壓縮參數(shù)65的變換塊大小信息,來確定宏塊或者子塊的變換塊大小。
逆量化/逆變換部66使用從可變長解碼部61輸入的壓縮數(shù)據(jù)64以及最佳壓縮參數(shù)65,按照根據(jù)變換塊大小信息確定的塊單位進行逆量化、逆變換處理,計算預測差分信號解碼值67。
另外,可變長解碼部61在進行運動矢量的解碼時,參照已經(jīng)解碼的周邊塊的運動矢量,通過圖4所示的處理來決定預測矢量,并相加從比特流60解碼出的預測差分值,從而得到運動矢量的解碼值??勺冮L解碼部61使該運動矢量的解碼值包含在最佳預測參數(shù)63中而輸出到切換部68。
切換部68是根據(jù)最佳編碼模式62來切換最佳預測參數(shù)63的輸入目的地的開關。該切換部68在從可變長解碼部61輸入的最佳編碼模式62表示幀內(nèi)預測模式的情況下,同樣地將從可變長解碼部61輸入的最佳預測參數(shù)63(內(nèi)部預測模式)輸出到內(nèi)部預測部69,在最佳編碼模式62表示幀間預測模式的情況下,將最佳預測參數(shù)63(運動矢量、各運動矢量所指的參照圖像的識別編號(參照圖像索引)等)輸出到運動補償預測部70。
內(nèi)部預測部69參照內(nèi)部預測用存儲器77中保存的幀內(nèi)的解碼圖像(幀內(nèi)的已解碼圖像信號)74a,生成與由最佳預測參數(shù)63指示的內(nèi)部預測模式對應的預測圖像71并輸出。
另外,內(nèi)部預測部69的預測圖像71的生成方法與編碼裝置側(cè)的內(nèi)部預測部8的動作相同,但相對于內(nèi)部預測部8生成與由編碼模式7指示的所有內(nèi)部預測模式對應的預測圖像11,不同點在于該內(nèi)部預測部69僅生成與由最佳編碼模式62指示的內(nèi)部預測模式對應的預測圖像71。
運動補償預測部70基于由所輸入的最佳預測參數(shù)63指示的運動矢量、參照圖像索引等,從保存在運動補償預測幀存儲器75中的1幀以上的參照圖像76生成預測圖像72并輸出。
另外,運動補償預測部70的預測圖像72的生成方法是在編碼裝置側(cè)的運動補償預測部9的動作中去除了從多個參照圖像檢索運動矢量的處理(相當于圖3所示的運動檢測部42以及插值圖像生成部43的動作)的方法,僅進行依照從可變長解碼部61提供的最佳預測參數(shù)63來生成預測圖像72的處理。運動補償預測部70與編碼裝置同樣地,在參照由參照幀大小規(guī)定運動矢量的幀以外的像素的情況下,通過用畫面端的像素來填補幀外的像素等的方法,生成預測圖像72。另外,關于參照幀大小,有通過將解碼幀大小擴展至成為解碼宏塊大小的整數(shù)倍為止的大小來規(guī)定的情況、和通過解碼幀大小來規(guī)定的情況,通過與編碼裝置同樣的過程來決定參照幀大小。
加法部73將預測圖像71或者預測圖像72中的某一方、與從逆量化/逆變換部66輸出的預測差分信號解碼值67進行相加而生成解碼圖像74。
關于該解碼圖像74,為了用作以后的用于生成宏塊的內(nèi)部預測圖像的參照圖像(解碼圖像74a),而保存到內(nèi)部預測用存儲器77中,并且輸入到環(huán)路濾波器部78。
環(huán)路濾波器部78進行與編碼裝置側(cè)的環(huán)路濾波器部27相同的動作,生成再生圖像79,并從該運動圖像解碼裝置輸出。另外,關于該再生圖像79,為了用作以后的用于生成預測圖像的參照圖像76,而保存到運動補償預測幀存儲器75中。另外,對幀內(nèi)的所有宏塊進行解碼之后得到的再生圖像的大小是宏塊大小的整數(shù)倍的大小。在再生圖像的大小大于與輸入到編碼裝置的影像信號的各幀的幀大小對應的解碼幀大小的情況下,在再生圖像中,在水平方向或者垂直方向上包含擴展區(qū)域。在該情況下,從解碼裝置輸出從再生圖像去除擴展區(qū)域部分的解碼圖像而得到的解碼圖像。
另外,在通過解碼幀大小來規(guī)定參照幀大小的情況下,在以后的預測圖像生成中不參照運動補償預測幀存儲器75中保存的再生圖像的擴展區(qū)域部分的解碼圖像。因此,也可以將從再生圖像去除擴展區(qū)域部分的解碼圖像而得到的解碼圖像保存到運動補償預測幀存儲器75中。
通過以上,根據(jù)實施方式1的運動圖像編碼裝置,針對根據(jù)宏塊的編碼模式7分割的宏/子塊圖像5,根據(jù)宏塊或者子塊的大小來預先決定包括多個變換塊大小的變換塊的組,編碼控制部3從變換塊大小的組中,使編碼效率成為最佳的1個變換塊大小包含于最佳壓縮參數(shù)20a中而向變換/量化部19進行指示,變換/量化部19將最佳預測差分信號13a分割為最佳壓縮參數(shù)20a中包含的變換塊大小的塊而進行變換以及量化處理,生成壓縮數(shù)據(jù)21,所以相比于變換塊大小的組不依賴于宏塊或者子塊的大小而固定的以往的方法,能夠利用同等的代碼量來提高編碼影像的質(zhì)量。
另外,可變長編碼部23將從變換塊大小的組中根據(jù)編碼模式7而適應性地選擇出的變換塊大小復用到比特流30中,所以與此對應地,使實施方式1的運動圖像解碼裝置構(gòu)成為如下:可變長解碼部61按照宏塊或者子塊單位從比特流60解碼出最佳壓縮參數(shù)65,逆量化/逆變換部66根據(jù)該最佳壓縮參數(shù)65中包含的變換塊大小信息來決定變換塊大小,按照該變換塊大小的塊單位對壓縮數(shù)據(jù)64進行逆變換以及逆量化處理。因此,運動圖像解碼裝置能夠從與運動圖像編碼裝置同樣地定義的變換塊大小的組中選擇在編碼裝置側(cè)使用的變換塊大小而對壓縮數(shù)據(jù)進行解碼,所以能夠?qū)τ蓪嵤┓绞?的運動圖像編碼裝置編碼了的比特流正確地進行解碼。
實施方式2.
在本實施方式2中,說明與上述實施方式1有關的運動圖像編碼裝置的可變長編碼部23的變形例、和同樣地與上述實施方式1有關的運動圖像解碼裝置的可變長解碼部61的變形例。
首先,說明本實施方式2的運動圖像編碼裝置的可變長編碼部23。
圖9是示出本發(fā)明的實施方式2的運動圖像編碼裝置的可變長編碼部23的內(nèi)部結(jié)構(gòu)的框圖。另外,在圖9中,對與圖1相同或者相當?shù)牟糠指郊油环柖÷哉f明。另外,本實施方式2的運動圖像編碼裝置的結(jié)構(gòu)與上述實施方式1相同,除了可變長編碼部23的各結(jié)構(gòu)要素的動作也與上述實施方式1相同,所以援用圖1~圖8。另外,為便于說明,在本實施方式2中,設為以使用圖2a所示的編碼模式的組為前提的裝置結(jié)構(gòu)以及處理方法,但當然還能夠應用于以使用圖2b所示的編碼模式的組為前提的裝置結(jié)構(gòu)以及處理方法。
圖9所示的可變長編碼部23包括:2值化表格存儲器105,保存對表示編碼模式7(或者最佳預測參數(shù)10a、18a、最佳壓縮參數(shù)20a)的多值信號的索引值與2值信號的對應關系進行了指定的2值化表格;2值化部92,使用該2值化表格,將編碼控制部3所選擇的多值信號的最佳編碼模式7a(或者最佳預測參數(shù)10a、18a、最佳壓縮參數(shù)20a)的多值信號的索引值變換為2值信號103;算術編碼處理運算部104,參照上下文生成部99生成的上下文識別信息102、上下文信息存儲器96、概率表格存儲器97以及狀態(tài)變化表格存儲器98,對由2值化部92所變換的2值信號103進行算術編碼而輸出編碼比特列111,并將該編碼比特列111復用到比特流30;頻度信息生成部93,對最佳編碼模式7a(或者最佳預測參數(shù)10a、18a、最佳壓縮參數(shù)20a)的發(fā)生頻度進行計數(shù)而生成頻度信息94;以及2值化表格更新部95,根據(jù)頻度信息94,來更新2值化表格存儲器105的2值化表格的多值信號與2值信號的對應關系。
以下,作為被熵編碼的參數(shù),以從編碼控制部3輸出的宏塊的最佳編碼模式7a為例子,說明可變長編碼部23的可變長編碼過程。同樣地,關于作為編碼對象的參數(shù)的最佳預測參數(shù)10a、18a、最佳壓縮參數(shù)20a,通過與最佳編碼模式7a同樣的過程進行可變長編碼即可,所以省略說明。
另外,本實施方式2的編碼控制部3輸出上下文信息初始化標志91、類別信號100、周邊塊信息101、2值化表格更新標志113。在后面詳細敘述各信息。
初始化部90根據(jù)從編碼控制部3指示的上下文信息初始化標志91,進行上下文信息存儲器96中保存的上下文信息106的初始化而設為初始狀態(tài)。在后面詳細敘述由初始化部90執(zhí)行的初始化處理。
2值化部92參照2值化表格存儲器105中保存的2值化表格,將從編碼控制部3輸入的表示最佳編碼模式7a的種類的多值信號的索引值變換為2值信號103,并輸出到算術編碼處理運算部104。
圖10是示出2值化表格存儲器105保持的2值化表格的一個例子的圖。圖10所示的“編碼模式”是對圖2a所示的編碼模式(mb_mode0~3)追加了跳躍模式(mb_skip:在解碼裝置側(cè)將在編碼裝置側(cè)使用相鄰的宏塊的運動矢量進行了運動補償?shù)念A測圖像用于解碼圖像的模式)的5種編碼模式7,保存了與各編碼模式對應的“索引”值。另外,這些編碼模式的索引值分別以1~3比特被2值化,并作為“2值信號”而被保存。此處,將2值信號的各比特稱為“bin”編號。
另外,雖然在后面詳細敘述,但在圖10的例子中,對發(fā)生頻度高的編碼模式分配了小的索引值,另外,2值信號也被較短地設定為1比特。
編碼控制部3所輸出的最佳編碼模式7a被輸入到2值化部92,并且還被輸入到頻度信息生成部93。
頻度信息生成部93對該最佳編碼模式7a中包含的編碼模式的索引值的發(fā)生頻度(編碼控制部所選擇的編碼模式的選擇頻度)進行計數(shù)而制作頻度信息94,并輸出到后述的2值化表格更新部95。
概率表格存儲器97是保持如下表格的存儲器,其中,該表格將2值信號103中包含的各bin的碼元值“0”或者“1”中的發(fā)生概率高的某一個碼元(mps:mostprobablesymbol,大概率符號)與其發(fā)生概率的組合保存了多組。
圖11是示出概率表格存儲器97所保持的概率表格的一個例子的圖。在圖11中,針對0.5~1.0之間的離散的概率值(“發(fā)生概率”),分別分配了“概率表格編號”。
狀態(tài)變化表格存儲器98是保持如下表格的存儲器,其中,該表格將概率表格存儲器97中保存的“概率表格編號”、與該概率表格編號表示的“0”或者“1”中的mps的從編碼前的概率狀態(tài)向編碼后的概率狀態(tài)的狀態(tài)變化的組合保存了多組。
圖12是示出狀態(tài)變化表格存儲器98保持的狀態(tài)變化表格的一個例子的圖。圖12的“概率表格編號”、“l(fā)ps編碼后的概率變化”、“mps編碼后的概率變化”分別對應于圖11所示的概率表格編號。
例如,在圖12中用框包圍的“概率表格編號1”的概率狀態(tài)(在圖11中mps的發(fā)生概率0.527)時,表示通過對“0”或者“1”中的發(fā)生概率低的某一個碼元(lps:leastprobablesymbol,小概率符號)進行編碼,概率狀態(tài)從“l(fā)ps編碼后的概率變化”向概率表格編號0(在圖11中mps的發(fā)生概率0.500)變化。即,通過發(fā)生lps,mps的發(fā)生概率變小。
相反地,如果對mps進行編碼,則表示概率狀態(tài)從“mps編碼后的概率變化”向概率表格編號2(在圖11中mps的發(fā)生概率0.550)變化。即,通過發(fā)生mps,mps的發(fā)生概率變得大。
上下文生成部99參照從編碼控制部3輸入的表示編碼對象的參數(shù)(最佳編碼模式7a、最佳預測參數(shù)10a、18a、最佳壓縮參數(shù)20a)的類別的類別信號100和周邊塊信息101,針對對編碼對象的參數(shù)進行2值化而得到的2值信號103的每個bin,生成上下文識別信息102。在該說明中,類別信號100是編碼對象宏塊的最佳編碼模式7a。另外,周邊塊信息101是與編碼對象宏塊相鄰的宏塊的最佳編碼模式7a。
以下,說明由上下文生成部99執(zhí)行的上下文識別信息的生成過程。
圖13的(a)是通過二叉樹表現(xiàn)來示出圖10所示的2值化表格的圖。此處,將圖13的(b)所示的粗框的編碼對象宏塊、和與該編碼對象宏塊相鄰的周邊塊a、b用作例子而進行說明。
在圖13的(a)中,將黑圓稱為節(jié)點,將連接節(jié)點之間的線稱為路徑。對二叉樹的終端節(jié)點,分配了2值化對象的多值信號的索引。另外,從紙面上的上方朝向下方,二叉樹的深度對應于bin編號,結(jié)合對從根節(jié)點至終端節(jié)點為止的各路徑分配的碼元(0或者1)而得到的比特列成為與對各終端節(jié)點分配的多值信號的索引對應的2值信號103。針對二叉樹的各父節(jié)點(并非終端的節(jié)點),根據(jù)周邊塊a、b的信息而準備了1個以上的上下文識別信息。
例如,在圖13的(a)中,在針對根節(jié)點準備了c0、c1、c2這3個上下文識別信息的情況下,上下文生成部99參照相鄰的周邊塊a、b的周邊塊信息101,從下式(4)選擇c0、c1、c2這3個上下文識別信息中的某一個。上下文生成部99輸出所選擇的上下文識別信息而作為上下文識別信息102。
上式(4)是基于在將周邊塊a、b設為宏塊x的情況下如果周邊塊a、b的編碼模式是“0”(mb_skip)則編碼對象宏塊的編碼模式也成為“0”(mb_skip)的概率高這樣的假設而準備的式。因此,從上式(4)選擇的上下文識別信息102也基于同樣的假設。
另外,對根節(jié)點以外的父節(jié)點,分別分配了1個上下文識別信息(c3、c4、c5)。
在通過上下文識別信息102識別的上下文信息中保持有mps的值(0或者1)和對其發(fā)生概率進行近似的概率表格編號,當前處于初始狀態(tài)。上下文信息存儲器96保存著該上下文信息。
算術編碼處理運算部104針對每個bin,對從2值化部92輸入的1~3比特的2值信號103進行算術編碼而生成編碼比特列111,并復用到比特流30中。以下,說明基于上下文信息的算術編碼過程。
算術編碼處理運算部104首先參照上下文信息存儲器96,得到基于與2值信號103的bin0對應的上下文識別信息102的上下文信息106。接下來,算術編碼處理運算部104參照概率表格存儲器97,確定與上下文信息106中保持的概率表格編號107對應的bin0的mps發(fā)生概率108。
接下來,算術編碼處理運算部104根據(jù)上下文信息106中保持的mps的值(0或者1)、和所確定的mps發(fā)生概率108,對bin0的碼元值109(0或者1)進行算術編碼。接下來,算術編碼處理運算部104參照狀態(tài)變化表格存儲器98,根據(jù)上下文信息106中保持的概率表格編號107、和之前算術編碼了的bin0的碼元值109,得到bin0的碼元編碼后的概率表格編號110。
接下來,算術編碼處理運算部104將上下文信息存儲器96中保存的bin0的上下文信息106的概率表格編號(即,概率表格編號107)的值更新為狀態(tài)變化后的概率表格編號(即,之前從狀態(tài)變化表格存儲器98取得的、bin0的碼元編碼后的概率表格編號110)。
算術編碼處理運算部104針對bin1、2也與bin0同樣地,進行基于通過各個上下文識別信息102識別的上下文信息106的算術編碼,在各bin的碼元編碼之后更新上下文信息106。
算術編碼處理運算部104輸出對所有bin的碼元進行算術編碼而得到的編碼比特列111,并由可變長編碼部23復用到比特流30中。
如上所述,每當對碼元進行算術編碼時,更新通過上下文識別信息102識別的上下文信息106。即,這意味著各節(jié)點的概率狀態(tài)針對每個碼元編碼會變化。然后,通過上述初始化部90,進行上下文信息106的初始化、即概率狀態(tài)的復位。
初始化部90根據(jù)編碼控制部3利用上下文信息初始化標志91進行的指示來進行初始化,但該初始化是在切片(slice)的開頭等中進行的。也可以針對各上下文信息106的初始狀態(tài)(mps的值和對其發(fā)生概率進行近似的概率表格編號的初始值),預先準備多個組,關于選擇哪一個初始狀態(tài),由編碼控制部3包含到上下文信息初始化標志91中而向初始化部90進行指示。
2值化表格更新部95根據(jù)從編碼控制部3指示的2值化表格更新標志113,參照由頻度信息生成部93生成的表示編碼對象參數(shù)(此處,最佳編碼模式7a)的索引值的發(fā)生頻度的頻度信息94,更新2值化表格存儲器105。以下,說明通過2值化表格更新部95更新2值化表格的過程。
在該例子中,根據(jù)作為編碼對象參數(shù)的最佳編碼模式7a所指定的編碼模式的發(fā)生頻度,以能夠利用短的代碼字對發(fā)生頻度最高的編碼模式進行2值化的方式,更新2值化表格的編碼模式與索引的對應關系,實現(xiàn)代碼量的降低。
圖14是示出更新后的2值化表格的一個例子的圖,是假設更新前的2值化表格的狀態(tài)是圖10所示的狀態(tài)時的更新后狀態(tài)。2值化表格更新部95依照頻度信息94,在例如mb_mode3的發(fā)生頻度最高的情況下,以對該mb_mode3分配短的代碼字的2值信號的方式,分配最小的索引值。
另外,2值化表格更新部95在更新了2值化表格的情況下,需要生成用于使解碼裝置側(cè)能夠識別更新了的2值化表格的2值化表格更新識別信息112,并復用到比特流30。例如,在針對每個編碼對象參數(shù)有多個2值化表格的情況下,也可以預先對編碼裝置側(cè)以及解碼裝置側(cè)分別賦予能夠識別各編碼對象參數(shù)的id,2值化表格更新部95輸出更新后的2值化表格的id而作為2值化表格更新識別信息112,并復用到比特流30。
編碼控制部3在切片的開頭中參照編碼對象參數(shù)的頻度信息94,在判定為編碼對象參數(shù)的發(fā)生頻度分布的變化大到規(guī)定的容許范圍以上的情況下,輸出2值化表格更新標志113,從而進行更新定時的控制。可變長編碼部23將2值化表格更新標志113復用到比特流30的切片頭即可。另外,可變長編碼部23在2值化表格更新標志113表示“2值化表格有更新”的情況下,將表示對編碼模式、壓縮參數(shù)、預測參數(shù)的2值化表格中的哪個2值化表格進行了更新的2值化表格更新識別信息112復用到比特流30。
另外,編碼控制部3既可以在切片的開頭以外的定時指示2值化表格的更新,也可以例如在任意的宏塊的開頭輸出2值化表格更新標志113來指示更新。在該情況下,需要由2值化表格更新部95輸出對進行了2值化表格的更新的宏塊位置進行確定的信息,并由可變長編碼部23將該信息也復用到比特流30中。
另外,編碼控制部3在向2值化表格更新部95輸出2值化表格更新標志113而更新了2值化表格的情況下,需要向初始化部90輸出上下文信息初始化標志91,進行上下文信息存儲器96的初始化。
接下來,說明本實施方式2的運動圖像解碼裝置的可變長解碼部61。
圖15是示出本發(fā)明的實施方式2的運動圖像解碼裝置的可變長解碼部61的內(nèi)部結(jié)構(gòu)的框圖。另外,本實施方式2的運動圖像解碼裝置的結(jié)構(gòu)與上述實施方式1相同,除了可變長解碼部61以外的各結(jié)構(gòu)要素的動作也與上述實施方式1相同,所以援用圖1~圖8。
圖15所示的可變長解碼部61包括:算術解碼處理運算部127,參照上下文生成部122生成的上下文識別信息126、上下文信息存儲器128、概率表格存儲器131、以及狀態(tài)變化表格存儲器135,對復用到比特流60中的表示最佳編碼模式62(或者最佳預測參數(shù)63、最佳壓縮參數(shù)65)的編碼比特列133進行算術解碼而生成2值信號137;2值化表格存儲器143,保存對用2值信號表示的最佳編碼模式62(或者最佳預測參數(shù)63、最佳壓縮參數(shù)65)與多值信號的對應關系進行了指定的2值化表格139;以及逆2值化部138,使用2值化表格139,將算術解碼處理運算部127生成的2值信號137變換為多值信號的解碼值140。
以下,作為熵解碼的參數(shù),以比特流60中包含的宏塊的最佳編碼模式62為例子,說明可變長解碼部61的可變長解碼過程。同樣地,關于作為解碼對象的參數(shù)的最佳預測參數(shù)63、最佳壓縮參數(shù)65,通過與最佳編碼模式62同樣的過程進行可變長解碼即可,所以省略說明。
另外,在本實施方式2的比特流60中,包含有在編碼裝置側(cè)復用的上下文初始化信息121、編碼比特列133、2值化表格更新標志142、2值化表格更新識別信息144。在后面詳細敘述各信息。
初始化部120在切片的開頭等中進行上下文信息存儲器128中保存的上下文信息的初始化。或者,也可以關于上下文信息的初始狀態(tài)(mps的值和對其發(fā)生概率進行近似的概率表格編號的初始值),在初始化部120中預先準備多個組,從組中選擇與上下文初始化信息121的解碼值對應的初始狀態(tài)。
上下文生成部122參照表示解碼對象的參數(shù)(最佳編碼模式62、最佳預測參數(shù)63、最佳壓縮參數(shù)65)的類別的類別信號123和周邊塊信息124,生成上下文識別信息126。
類別信號123是表示解碼對象的參數(shù)的類別的信號,依照可變長解碼部61內(nèi)保持的語法,來判定解碼對象的參數(shù)是哪個。因此,需要在編碼裝置側(cè)和解碼裝置側(cè)保持相同的語法,此處,設為編碼裝置側(cè)的編碼控制部3保持了該語法。在編碼裝置側(cè),依照編碼控制部3保持的語法,將接下來應編碼的參數(shù)的類別和其參數(shù)的值(索引值)、即類別信號100依次輸出到可變長編碼部23。
另外,周邊塊信息124是對宏塊或者子塊進行解碼而得到的編碼模式等信息,為了用作以后的宏塊或者子塊的解碼用的周邊塊信息124,而保存到可變長解碼部61內(nèi)的存儲器(未圖示),根據(jù)需要而輸出到上下文生成部122。
另外,由上下文生成部122執(zhí)行的上下文識別信息126的生成過程與編碼裝置側(cè)的上下文生成部99的動作相同。在解碼裝置側(cè)的上下文生成部122中,也針對由逆2值化部138參照的2值化表格139的每個bin,生成上下文識別信息126。
在各bin的上下文信息中,作為用于對該bin進行算術解碼的概率信息,而保持有mps的值(0或者1)和對該mps的發(fā)生概率進行確定的概率表格編號。
另外,概率表格存儲器131以及狀態(tài)變化表格存儲器135保存著與編碼裝置側(cè)的概率表格存儲器97以及狀態(tài)變化表格存儲器98相同的概率表格(圖11)以及狀態(tài)變化表格(圖12)。
算術解碼處理運算部127針對每個bin,對復用到比特流60中的編碼比特列133進行算術解碼而生成2值信號137,并輸出到逆2值化部138。
算術解碼處理運算部127首先參照上下文信息存儲器128,得到基于與編碼比特列133的各bin對應的上下文識別信息126的上下文信息129。接下來,算術解碼處理運算部127參照概率表格存儲器131,確定與上下文信息129中保持的概率表格編號130對應的各bin的mps發(fā)生概率132。
接下來,算術解碼處理運算部127根據(jù)上下文信息129中保持的mps的值(0或者1)、和所確定的mps發(fā)生概率132,對向算術解碼處理運算部127輸入的編碼比特列133進行算術解碼,得到各bin的碼元值134(0或者1)。在對各bin的碼元值進行了解碼之后,算術解碼處理運算部127參照狀態(tài)變化表格存儲器135,通過與編碼裝置側(cè)的算術編碼處理運算部104同樣的過程,根據(jù)解碼出的各bin的碼元值134和上下文信息129中保持的概率表格編號130,得到各bin的碼元解碼后(狀態(tài)變化后)的概率表格編號136。
接下來,算術解碼處理運算部127將上下文信息存儲器128中保存的各bin的上下文信息129的概率表格編號(即,概率表格編號130)的值更新為狀態(tài)變化后的概率表格編號(即,之前從狀態(tài)變化表格存儲器135取得的、各bin的碼元解碼后的概率表格編號136)。
算術解碼處理運算部127將對上述算術解碼的結(jié)果得到的各bin的碼元進行結(jié)合而得到的2值信號137輸出到逆2值化部138。
逆2值化部138從保存在2值化表格存儲器143中的針對解碼對象參數(shù)的每個類別準備的2值化表格中,選擇與編碼時相同的2值化表格139并參照,根據(jù)從算術解碼處理運算部127輸入的2值信號137,輸出解碼對象參數(shù)的解碼值140。
另外,在解碼對象參數(shù)的類別是宏塊的編碼模式(最佳編碼模式62)時,2值化表格139與圖10所示的編碼裝置側(cè)的2值化表格相同。
2值化表格更新部141根據(jù)從比特流60解碼出的2值化表格更新標志142以及2值化表格更新識別信息144,更新2值化表格存儲器143中保存的2值化表格。
2值化表格更新標志142是與編碼裝置側(cè)的2值化表格更新標志113對應的信息,是包含于比特流60的頭信息等中并表示2值化表格有無更新的信息。在2值化表格更新標志142的解碼值表示“2值化表格有更新”的情況下,從比特流60中進一步解碼2值化表格更新識別信息144。
2值化表格更新識別信息144是與編碼裝置側(cè)的2值化表格更新識別信息112對應的信息,是用于對在編碼裝置側(cè)更新的參數(shù)的2值化表格進行識別的信息。例如,如上所述,在針對每個編碼對象參數(shù)預先有多個2值化表格的情況下,對編碼裝置側(cè)以及解碼裝置側(cè)分別預先賦予能夠識別各編碼對象參數(shù)的id以及2值化表格的id,2值化表格更新部141更新從比特流60解碼出的2值化表格更新識別信息144中的與id值對應的2值化表格。在該例子中,在2值化表格存儲器143中,預先準備圖10和圖14這2種2值化表格和其id,在假設為更新前的2值化表格的狀態(tài)是圖10所示的狀態(tài)的情況下,如果2值化表格更新部141依照2值化表格更新標志142以及2值化表格更新識別信息144實施更新處理,則選擇與2值化表格更新識別信息144中包含的id對應的2值化表格,所以更新后的2值化表格的狀態(tài)成為圖14所示的狀態(tài),與編碼裝置側(cè)的更新后的2值化表格相同。
通過以上,根據(jù)實施方式2的運動圖像編碼裝置,編碼控制部3選擇并輸出編碼效率成為最佳的最佳編碼模式7a、最佳預測參數(shù)10a、18a、最佳壓縮參數(shù)20a這樣的編碼對象參數(shù),可變長編碼部23的2值化部92使用2值化表格存儲器105的2值化表格,將用多值信號表示的編碼對象參數(shù)變換為2值信號103,算術編碼處理運算部104對2值信號103進行算術編碼而輸出編碼比特列111,頻度信息生成部93生成編碼對象參數(shù)的頻度信息94,2值化表格更新部95根據(jù)頻度信息94來更新2值化表格的多值信號與2值信號的對應關系,所以相比于2值化表格始終固定的以往的方法,能夠以同等的編碼影像的質(zhì)量來削減代碼量。
另外,2值化表格更新部95將表示2值化表格有無更新的2值化表格更新識別信息112以及用于對更新后的2值化表格進行識別的2值化表格更新識別信息112復用到比特流30中,所以與此對應地,在實施方式2的運動圖像解碼裝置中,可變長解碼部61的算術解碼處理運算部127對復用到比特流60中的編碼比特列133進行算術解碼而生成2值信號137,逆2值化部138使用2值化表格存儲器143的2值化表格139,將2值信號137變換為多值信號而取得解碼值140,2值化表格更新部141根據(jù)從復用到比特流60中的頭信息解碼出的2值化表格更新標志142以及2值化表格更新識別信息144,更新2值化表格存儲器143中的規(guī)定的2值化表格。因此,運動圖像解碼裝置能夠通過與運動圖像編碼裝置同樣的過程進行2值化表格的更新,而對編碼對象參數(shù)進行逆2值化,所以能夠?qū)τ蓪嵤┓绞?的運動圖像編碼裝置編碼了的比特流正確地進行解碼。
實施方式3.
在本實施方式3中,說明上述實施方式1、2的運動圖像編碼裝置以及運動圖像解碼裝置中的利用運動補償預測部9的運動補償預測進行的預測圖像的生成處理的變形例。
首先,說明本實施方式3的運動圖像編碼裝置的運動補償預測部9。另外,本實施方式3的運動圖像編碼裝置的結(jié)構(gòu)與上述實施方式1或者實施方式2相同,除了運動補償預測部9以外的各結(jié)構(gòu)要素的動作也相同,所以援用圖1~圖15。
在本實施方式3的運動補償預測部9中,與虛擬采樣精度的預測圖像生成處理相關的結(jié)構(gòu)以及動作和上述實施方式1、2不同,除此以外是相同的結(jié)構(gòu)以及動作。即,在上述實施方式1、2中,如圖3所示,運動補償預測部9的插值圖像生成部43生成半像素或者1/4像素等虛擬像素精度的參照圖像數(shù)據(jù),在根據(jù)該虛擬像素精度的參照圖像數(shù)據(jù)而生成預測圖像45時,如mpeg-4avc規(guī)格那樣通過由在垂直方向或者水平方向上使用了6個整數(shù)像素的6抽頭濾波器進行的內(nèi)插運算等,來制作虛擬像素從而生成預測圖像,與此相對,在本實施方式3的運動補償預測部9中,通過超分辨率處理將運動補償預測幀存儲器14中保存的整數(shù)像素精度的參照圖像15進行放大,從而生成虛擬像素精度的參照圖像207,根據(jù)該虛擬像素精度的參照圖像207來生成預測圖像。
接下來,援用圖3來說明本實施方式3的運動補償預測部9。
與上述實施方式1、2同樣地,本實施方式3的插值圖像生成部43也從運動補償預測幀存儲器14指定1幀以上的參照圖像15,運動檢測部42在指定的參照圖像15上的規(guī)定的運動搜索范圍內(nèi)檢測運動矢量44。與mpeg-4avc規(guī)格等同樣地,利用虛擬像素精度的運動矢量來進行運動矢量的檢測。在該檢測方法中,針對參照圖像具有的像素信息(稱為整數(shù)像素),在整數(shù)像素之間通過內(nèi)插運算來制作虛擬的采樣(像素),并將其用作參照圖像。
為了生成虛擬像素精度的參照圖像,需要將整數(shù)像素精度的參照圖像進行放大(高清晰化)而生成由虛擬像素構(gòu)成的采樣平面(sampleplane)。因此,在本實施方式3的插值圖像生成部43中,在需要虛擬像素精度的運動搜索用參照圖像的情況下,利用《w.t.freeman,e.c.pasztorando.t.carmichael,“l(fā)earninglow-levelvision”,internationaljournalofcomputervision,vol.40,no.1,2000》中公開的超分辨率技術,來生成虛擬像素精度的參照圖像。在以下的說明中,說明如下結(jié)構(gòu):在運動補償預測部9中根據(jù)運動補償預測幀存儲器14中保存的參照圖像數(shù)據(jù),超分辨率地生成虛擬像素精度的參照圖像207,運動檢測部42使用該參照圖像207來進行運動矢量搜索處理。
圖16是示出本發(fā)明的實施方式3的運動圖像編碼裝置的運動補償預測部9的插值圖像生成部43的內(nèi)部結(jié)構(gòu)的框圖。圖16所示的插值圖像生成部43包括:圖像放大處理部205,對運動補償預測幀存儲器14中的參照圖像15進行放大處理;圖像縮小處理部200,對參照圖像15進行縮小處理;高頻特征抽出部201a,從圖像縮小處理部200抽出高頻區(qū)域分量的特征量;高頻特征抽出部201b,從參照圖像15抽出高頻區(qū)域分量的特征量;相關計算部202,計算特征量之間的相關值;高頻分量推測部203,根據(jù)相關值和高頻分量圖案存儲器204的事先學習數(shù)據(jù),推測高頻分量;以及加法部206,使用所推測的高頻分量來校正放大圖像的高頻分量,生成虛擬像素精度的參照圖像207。
在圖16中,如果從運動補償預測幀存儲器14中保存的參照圖像數(shù)據(jù)中,將運動搜索處理中使用的范圍的參照圖像15輸入到插值圖像生成部43,則該參照圖像15分別被輸入到圖像縮小處理部200、高頻特征抽出部201b以及圖像放大處理部205。
圖像縮小處理部200根據(jù)參照圖像15生成縱橫1/n(n是2、4等2的冪乘值)大小的縮小圖像,并輸出到高頻特征抽出部201a。通過一般的圖像縮小濾波器來實現(xiàn)該縮小處理。
高頻特征抽出部201a從由圖像縮小處理部200生成的縮小圖像,抽出與邊緣分量等高頻分量相關的第1特征量。作為第1特征量,能夠利用例如表示局部塊內(nèi)的dct或者wavelet變換系數(shù)分布的參數(shù)等。
高頻特征抽出部201b進行與高頻特征抽出部201a同樣的高頻特征抽出,從參照圖像15抽出頻率分量區(qū)域與第1特征量不同的第2特征量。第2特征量被輸出到相關計算部202,并且還被輸出到高頻分量推測部203。
如果從高頻特征抽出部201a輸入了第1特征量,并從高頻特征抽出部201b輸入了第2特征量,則相關計算部202計算參照圖像15與其縮小圖像之間的局部塊單位中的基于特征量的高頻分量區(qū)域的相關值。作為該相關值,例如有第1特征量與第2特征量之間的距離。
高頻分量推測部203根據(jù)從高頻特征抽出部201b輸入的第2特征量和從相關計算部202輸入的相關值,從高頻分量圖案存儲器204確定高頻分量的事先學習圖案,推測并生成虛擬像素精度的參照圖像207應具備的高頻分量。所生成的高頻分量被輸出到加法部206。
圖像放大處理部205針對所輸入的參照圖像15,與基于mpeg-4avc規(guī)格的半像素精度采樣的生成處理同樣地,實施利用在垂直方向或者水平方向上使用了6個整數(shù)像素的6抽頭的濾波器進行的內(nèi)插運算、或者雙線性濾波器等的放大濾波處理,生成將參照圖像15放大為縱橫n倍大小的放大圖像。
加法部206對從圖像放大處理部205輸入的放大圖像相加從高頻分量推測部203輸入的高頻分量,即對放大圖像的高頻分量進行校正,生成放大為縱橫n倍大小的放大參照圖像。插值圖像生成部43將該放大參照圖像數(shù)據(jù)用作使1/n成為1的虛擬像素精度的參照圖像207。
另外,插值圖像生成部43也可以在設為n=2而生成了半像素(1/2像素)精度的參照圖像207之后,通過使用了相鄰的1/2像素或者整數(shù)像素的平均值濾波器的內(nèi)插運算,生成1/4像素精度的虛擬采樣(像素)。
另外,插值圖像生成部43也可以構(gòu)成為除了圖16所示的結(jié)構(gòu)以外,還切換對圖像放大處理部205輸出的放大圖像是否相加高頻分量推測部203輸出的高頻分量,來控制虛擬像素精度的參照圖像207的生成結(jié)果。在該結(jié)構(gòu)的情況下,具有如下效果:在由于圖像圖案異常等某種理由而由高頻分量推測部203推測的推測精度變差時,抑制對該編碼效率的惡劣影響。
另外,當選擇性地決定在加法部206中是否相加高頻分量推測部203輸出的高頻分量的情況下,生成相加的情況和不相加的情況這兩個情形的預測圖像45來進行運動補償預測,并對其結(jié)果進行編碼來決定效率更優(yōu)良的一方。然后,將表示是否相加了的加法處理的信息作為控制信息而復用到比特流30中。
或者,插值圖像生成部43也可以根據(jù)復用到比特流30的其他參數(shù)來唯一地決定而控制加法部206的加法處理。作為根據(jù)其他參數(shù)來決定的例子,考慮例如使用圖2a或者圖2b所示的編碼模式7的類別。在選擇了表示宏塊內(nèi)的運動補償區(qū)域塊分割細的編碼模式的情況下,是運動劇烈的圖樣的概率高。因此,插值圖像生成部43視為超分辨率的效果低,進行控制使得在加法部206中不相加高頻分量推測部203輸出的高頻分量。另一方面,在選擇了表示宏塊內(nèi)的運動補償區(qū)域塊的大小大的編碼模式或者塊大小大的內(nèi)部預測模式的情況下,是比較靜止的圖像區(qū)域的概率高。因此,插值圖像生成部43視為超分辨率的效果高,進行控制使得在加法部206中相加高頻分量推測部203輸出的高頻分量。
作為其他參數(shù),除了利用編碼模式7以外,也可以利用運動矢量的大小、考慮了周邊區(qū)域的運動矢量場的偏差這樣的參數(shù)。運動補償預測部9的插值圖像生成部43與解碼裝置側(cè)共享地判斷參數(shù)的種類,由此也可以不用直接對比特流30復用加法處理的控制信息,而能夠提高壓縮效率。
另外,也可以構(gòu)成為在向運動補償預測幀存儲器14進行保存之前,通過上述超分辨率處理而使運動補償預測幀存儲器14中保存的參照圖像15成為虛擬像素精度的參照圖像207之后進行保存。在該結(jié)構(gòu)的情況下,雖然作為運動補償預測幀存儲器14而所需的存儲器大小增加,但無需在運動矢量搜索以及預測圖像生成的過程中順序地進行超分辨率處理,能夠降低運動補償預測處理本身的處理負荷,并且能夠并行進行幀編碼處理和虛擬像素精度的參照圖像207的生成處理,能夠使處理高速化。
以下,援用圖3,示出使用了虛擬像素精度的參照圖像207的虛擬像素精度的運動矢量檢測過程的一個例子。
運動矢量檢測過程i’
插值圖像生成部43生成與運動補償區(qū)域塊圖像41的規(guī)定的運動搜索范圍內(nèi)存在的整數(shù)像素精度的運動矢量44對應的預測圖像45。以整數(shù)像素精度生成的預測圖像45(預測圖像17)被輸出到減法部12,通過減法部12從運動補償區(qū)域塊圖像41(宏/子塊圖像5)相減而成為預測差分信號13。編碼控制部3針對預測差分信號13和整數(shù)像素精度的運動矢量44(預測參數(shù)18)進行預測效率的評價。該預測效率的評價通過在上述實施方式1中說明的上式(1)進行即可,所以省略說明。
運動矢量檢測過程ii’
插值圖像生成部43針對在上述“運動矢量檢測過程i”中決定的整數(shù)像素精度的運動矢量的周圍存在的1/2像素精度的運動矢量44,使用在圖16所示的插值圖像生成部43內(nèi)部生成的虛擬像素精度的參照圖像207,生成預測圖像45。以下,與上述“運動矢量檢測過程i”同樣地,通過減法部12從運動補償區(qū)域塊圖像41(宏/子塊圖像5)減去以1/2像素精度生成的預測圖像45(預測圖像17),而得到預測差分信號13。接下來,編碼控制部3針對該預測差分信號13和1/2像素精度的運動矢量44(預測參數(shù)18)進行預測效率的評價,從整數(shù)像素精度的運動矢量的周圍存在的1個以上的1/2像素精度的運動矢量中,決定使預測開銷j1成為最小的1/2像素精度的運動矢量44。
運動矢量檢測過程iii’
編碼控制部3和運動補償預測部9針對1/4像素精度的運動矢量也同樣地,從在上述“運動矢量檢測過程ii”中決定的1/2像素精度的運動矢量的周圍存在的1個以上的1/4像素精度的運動矢量中,決定使預測開銷j1成為最小的1/4像素精度的運動矢量44。
運動矢量檢測過程iv’
以下同樣地,編碼控制部3和運動補償預測部9直至成為規(guī)定的精度為止進行虛擬像素精度的運動矢量的檢測。
這樣,運動補償預測部9針對將宏/子塊圖像5內(nèi)分割為成為編碼模式7表示的運動補償?shù)膯挝坏膲K單位而得到的運動補償區(qū)域塊圖像41,輸出分別決定的規(guī)定精度的虛擬像素精度的運動矢量和該運動矢量所指的參照圖像的識別編號而作為預測參數(shù)18。另外,運動補償預測部9將通過該預測參數(shù)18而生成的預測圖像45(預測圖像17)輸出到減法部12,并通過減法部12從宏/子塊圖像5相減而得到預測差分信號13。從減法部12輸出的預測差分信號13被輸出到變換/量化部19。這以后與在上述實施方式1中說明的處理相同,所以省略說明。
接下來,說明本實施方式3的運動圖像解碼裝置。
在本實施方式3的運動圖像解碼裝置的結(jié)構(gòu)中,除了上述實施方式1、2的運動補償預測部70中的與虛擬像素精度的預測圖像生成處理相關的結(jié)構(gòu)以及動作不同以外,與上述實施方式1、2的運動圖像解碼裝置相同,所以援用圖1~圖16。
在上述實施方式1、2中,在運動補償預測部70中根據(jù)半像素或者1/4像素等虛擬像素精度的參照圖像生成預測圖像時,如mpeg-4avc規(guī)格那樣,通過由在垂直方向或者水平方向上使用了6個整數(shù)像素的6抽頭的濾波器進行的內(nèi)插運算等,來制作虛擬像素而生成預測圖像,與此相對,在本實施方式3的運動補償預測部70中,通過超分辨率處理對運動補償預測幀存儲器75中保存的整數(shù)像素精度的參照圖像76進行放大,從而生成虛擬像素精度的參照圖像。
本實施方式3的運動補償預測部70與上述實施方式1、2同樣地,根據(jù)所輸入的最佳預測參數(shù)63中包含的運動矢量、各運動矢量所指的參照圖像的識別編號(參照圖像索引)等,從保存在運動補償預測幀存儲器75中的參照圖像76生成并輸出預測圖像72。
加法部73將從運動補償預測部70輸入的預測圖像72與從逆量化/逆變換部66輸入的預測差分信號解碼值67相加,而生成解碼圖像74。
另外,在由運動補償預測部70執(zhí)行的預測圖像72的生成方法中,除去了編碼裝置側(cè)的運動補償預測部9的動作中的從多個參照圖像搜索運動矢量的處理(相當于圖3所示的運動檢測部42以及插值圖像生成部43的動作),而僅進行依照從可變長解碼部61提供的最佳預測參數(shù)63生成預測圖像72的處理。
此處,在以虛擬像素精度生成預測圖像72的情況下,針對運動補償預測幀存儲器75上的用參照圖像的識別編號(參照圖像索引)指定的參照圖像76,運動補償預測部70進行與圖16所示的處理同樣的處理來生成虛擬像素精度的參照圖像,并使用解碼出的運動矢量來生成預測圖像72。此時,在編碼裝置側(cè),在選擇性地決定了是否將圖16所示的高頻分量推測部203輸出的高頻分量相加到放大圖像的情況下,在解碼裝置側(cè),從比特流60抽出表示有無加法處理的控制信息或者根據(jù)其他參數(shù)唯一地決定,從而控制運動補償預測部70內(nèi)部中的加法處理。在根據(jù)其他參數(shù)決定的情況下,能夠與上述編碼裝置側(cè)同樣地利用編碼模式7、運動矢量的大小、考慮了周邊區(qū)域的運動矢量場的偏差等,通過由運動補償預測部70與編碼裝置側(cè)共享地判斷參數(shù)的種類,由此可以不用在編碼裝置側(cè)直接對比特流30復用加法處理的控制信息,能夠提高壓縮效率。
另外,也可以僅在從編碼裝置側(cè)輸出的最佳預測參數(shù)18a(即解碼裝置側(cè)的最佳預測參數(shù)63)中包含的運動矢量指示虛擬像素精度的情況下,實施在運動補償預測部70中生成虛擬像素精度的參照圖像的處理。在該結(jié)構(gòu)的情況下,運動補償預測部9根據(jù)運動矢量,切換是使用運動補償預測幀存儲器14的參照圖像15還是通過插值圖像生成部43生成虛擬像素精度的參照圖像207來使用,根據(jù)參照圖像15或者虛擬像素精度的參照圖像207生成預測圖像17。
或者,也可以構(gòu)成為針對保存到運動補償預測幀存儲器75之前的參照圖像實施圖16所示的處理,而將放大處理以及校正了高頻分量后的虛擬像素精度的參照圖像保存到運動補償預測幀存儲器75。在該結(jié)構(gòu)的情況下,雖然作為運動補償預測幀存儲器75應準備的存儲器大小會增加,但在運動矢量指示相同的虛擬采樣位置的像素的次數(shù)多的情況下,無需重復實施圖16所示的處理,所以能夠削減運算量。另外,如果在解碼裝置側(cè)預先已知運動矢量所指的變位的范圍,則運動補償預測部70也可以僅限于該范圍而進行圖16所示的處理。關于運動矢量所指的變位的范圍,例如在比特流60中復用表示運動矢量所指的變位的范圍的值域來傳送、或者在運用時在編碼裝置側(cè)和解碼裝置側(cè)相互協(xié)商而設定,從而在解碼裝置側(cè)為已知即可。
通過以上,根據(jù)實施方式3的運動圖像編碼裝置,運動補償預測部9具有對運動補償預測幀存儲器14中的參照圖像15進行放大處理并且校正其高頻分量而生成虛擬像素精度的參照圖像207的插值圖像生成部43,根據(jù)運動矢量來切換是使用參照圖像15還是生成虛擬像素精度的參照圖像207來使用,從而生成預測圖像17,所以即使在對包含大量細的邊緣等高頻分量的輸入影像信號1進行高壓縮那樣的情況下,也能夠根據(jù)包含大量高頻分量的參照圖像而生成通過運動補償預測所生成的預測圖像17,能夠高效地進行壓縮編碼。
另外,實施方式3的運動圖像解碼裝置也構(gòu)成為運動補償預測部70具有通過與運動圖像編碼裝置同樣的過程來生成虛擬像素精度的參照圖像的插值圖像生成部,根據(jù)復用到比特流60中的運動矢量來切換是使用運動補償預測幀存儲器75的參照圖像76還是生成虛擬像素精度的參照圖像來使用,從而生成預測圖像72,所以能夠?qū)τ蓪嵤┓绞?的運動圖像編碼裝置編碼了的比特流正確地進行解碼。
另外,在上述實施方式3中的插值圖像生成部43中,通過基于上述w.t.freemanetal.(2000)公開的技術的超分辨率處理,生成了虛擬像素精度的參照圖像207,但超分辨率處理自身不限于該技術,而也可以應用其他任意的超分辨率技術來生成虛擬像素精度的參照圖像207。
另外,在由計算機構(gòu)成上述實施方式1~3的運動圖像編碼裝置的情況下,也可以將記述了塊分割部2、編碼控制部3、切換部6、內(nèi)部預測部8、運動補償預測部9、運動補償預測幀存儲器14、變換/量化部19、逆量化/逆變換部22、可變長編碼部23、環(huán)路濾波器部27、內(nèi)部預測用存儲器28的處理內(nèi)容的運動圖像編碼程序保存到計算機的存儲器,并使計算機的cpu執(zhí)行存儲器中保存的運動圖像編碼程序。
同樣地,在由計算機構(gòu)成實施方式1~3的運動圖像解碼裝置的情況下,也可以將記述了可變長解碼部61、逆量化/逆變換部66、切換部68、內(nèi)部預測部69、運動補償預測部70、運動補償預測幀存儲器75、內(nèi)部預測用存儲器77、環(huán)路濾波器部78的處理內(nèi)容的運動圖像解碼程序保存到計算機的存儲器,并使計算機的cpu執(zhí)行存儲器中保存的運動圖像解碼程序。
產(chǎn)業(yè)上的可利用性
本發(fā)明的運動圖像編碼裝置以及運動圖像解碼裝置能夠針對宏塊內(nèi)的成為運動補償預測的單位的每個區(qū)域,適應性地切換變換塊大小來進行壓縮編碼,所以適用于將運動圖像分割為規(guī)定區(qū)域并按照區(qū)域單位進行編碼的運動圖像編碼裝置、和按照規(guī)定區(qū)域單位對編碼了的運動圖像進行解碼的運動圖像解碼裝置。