圖像解碼方法以及圖像解碼裝置制造方法
【專利摘要】一種圖像解碼方法,其特征在于,具備:從具有運動信息的解碼完畢的像素塊中選擇至少一個運動參照塊的步驟;從所述運動參照塊中選擇至少一個可利用塊的步驟,所述可利用塊是具有應用于解碼對象塊的運動信息的候選的像素塊,且具有相互不同的運動信息;參照根據(jù)所述可利用塊的數(shù)量而預先設定的代碼表,對所輸入的編碼數(shù)據(jù)進行解碼,從而求出用于確定選擇塊的選擇信息的步驟;按照所述選擇信息,從所述可利用塊中選擇一個選擇塊的步驟;使用所述選擇塊的運動信息生成所述解碼對象塊的預測圖像的步驟;根據(jù)所述編碼數(shù)據(jù)對所述解碼對象塊的預測誤差進行解碼的步驟;以及根據(jù)所述預測圖像和所述預測誤差求出解碼圖像的步驟。
【專利說明】圖像解碼方法以及圖像解碼裝置
[0001]本發(fā)明是2013年4月23日遞交的申請?zhí)枮椤?01310142052.8”、發(fā)明名稱為“圖像解碼方法以及圖像解碼裝置”的申請的分案申請,其原始母案為2012年10月08日進入中國國家階段的、國家申請?zhí)枮椤?01080066017.7”、發(fā)明名稱為“圖像編碼方法以及圖像解碼方法”的申請。
【技術領域】
[0002]本發(fā)明涉及用于運動圖像以及靜止圖像的編碼以及解碼方法。
【背景技術】
[0003]近年來,在ITU-T 和 IS0/IEC 中,都作為 ITU-T Rec.H.264 以及 IS0/IEC14496-10(以下,稱為H.264)而建議了大幅度提高編碼效率的運動圖像編碼方法。在H.264中,預測處理、變換處理以及熵編碼處理以矩形塊單位(例如,16X16像素塊單位、8X8像素塊單位等)進行。在預測處理中,針對編碼對象的矩形塊(編碼對象塊),進行參照已經(jīng)編碼完畢的幀(參照幀)而進行時間方向的預測的運動補償。在這樣的運動補償中,需要對包括運動矢量的運動信息進行編碼并發(fā)送到解碼側,該運動矢量是作為編碼對象塊與在參照幀內(nèi)所參照的塊之間的空間上的位移信息的矢量。另外,在使用多個參照幀進行運動補償?shù)那闆r下,需要對運動信息和參照幀號碼一起進行編碼。因此,與運動信息以及參照幀號碼有關的編碼量有時增大。
[0004]在運動補償預測中作為求出運動矢量的方法的一例,有根據(jù)分配給已經(jīng)編碼完畢的塊的運動矢量導出應該分配給編碼對象塊的運動矢量,并根據(jù)所導出的運動矢量生成預測圖像的直接模式(參照專利文獻I以及專利文獻2)。在直接模式中,因為不對運動矢量進行編碼,所以能夠減少運動信息的編碼量。直接模式例如被H.264/AVC采用。
[0005]專利文獻
[0006]專利文獻1:日本專利第4020789號
[0007]專利文獻2:米國專利第7233621號
【發(fā)明內(nèi)容】
[0008]在直接模式中,利用根據(jù)與編碼對象塊鄰接的編碼完畢的塊的運動矢量的中央值計算運動矢量的固定的方法來預測生成編碼對象塊的運動矢量。因此,運動矢量計算的自由度低。
[0009]為了提高計算運動矢量的自由度,提出有從多個編碼完畢塊中選擇一個并對編碼對象塊分配運動矢量的方法。在該方法中,必須總是發(fā)送確定所選擇的塊的選擇信息,以使解碼側能夠確定所選擇的編碼完畢的塊。因此,當從多個編碼完畢塊中選擇一個并決定應該分配給編碼對象塊的運動矢量時,存在增加了與選擇信息有關的編碼量的問題。
[0010]本發(fā)明是為了解決上述問題而作出的,目的在于提供編碼效率高的圖像編碼方法以及圖像解碼方法。[0011]本發(fā)明的一實施方式的圖像編碼方法具備以下步驟:從具有運動信息的編碼完畢的像素塊中選擇至少一個運動參照塊的第I步驟;從上述運動參照塊中選擇至少一個可利用塊的第2步驟,該可利用塊是具有適用于編碼對象塊的運動信息的候選的像素塊,且具有相互不同的運動信息;從上述可利用塊中選擇一個選擇塊的第3步驟;使用上述選擇塊的運動信息生成上述編碼對象塊的預測圖像的第4步驟;對上述預測圖像與原圖像之間的預測誤差進行編碼的第5步驟;以及參照根據(jù)上述可利用塊的數(shù)量而預先設定的代碼表,對確定上述選擇塊的選擇信息進行編碼的第6步驟。
[0012]本發(fā)明的另一實施方式的圖像解碼方法具備以下步驟:從具有運動信息的解碼完畢的像素塊中選擇至少一個運動參照塊的第I步驟;從上述運動參照塊中選擇至少一個可利用塊的第2步驟,該可利用塊是具有適用于解碼對象塊的運動信息的候選的像素塊,且具有相互不同的運動信息;參照根據(jù)上述可利用塊的數(shù)量而預先設定的代碼表,對所輸入的編碼數(shù)據(jù)進行解碼,從而求出用于確定選擇塊的選擇信息的第3步驟;按照上述選擇信息,從上述可利用塊中選擇一個選擇塊的第4步驟;使用上述選擇塊的運動信息生成上述解碼對象塊的預測圖像的第5步驟;根據(jù)上述編碼數(shù)據(jù)解碼上述解碼對象塊的預測誤差的第6步驟;以及根據(jù)上述預測圖像和上述預測誤差求出解碼圖像的第7步驟。
[0013]根據(jù)本發(fā)明,能夠提高編碼效率。
【專利附圖】
【附圖說明】
[0014]圖1是概略地示出第I實施方式的圖像編碼裝置的結構的框圖。
[0015]圖2A是示出圖1所示的圖像解碼部的編碼的處理單位即微塊的大小的一例的圖。
[0016]圖2B是圖1所示的圖像解碼部的編碼的處理單位即微塊的大小的另一例的圖。
[0017]圖3是示出圖1所示的圖像編碼部對編碼對象幀內(nèi)的像素塊進行編碼的順序的圖。
[0018]圖4是示出圖1所示的運動信息存儲器所保持的運動信息幀的一例的圖。
[0019]圖5是示出處理圖1的輸入圖像信號的順序的一例的流程圖。
[0020]圖6A是示出圖1的運動補償部所執(zhí)行的交互預測處理的一例的圖。
[0021]圖6B是示出圖1的運動補償部所執(zhí)行的交互預測處理的另一例的圖。
[0022]圖7A是示出交互預測處理所使用的運動補償塊的大小的一例的圖。
[0023]圖7B是示出交互預測處理所使用的運動補償塊的大小的另一例的圖。
[0024]圖7C是示出交互預測處理所使用的運動補償塊的大小的另一其它例的圖。
[0025]圖7D是示出交互預測處理所使用的運動補償塊的大小的另一例的圖。
[0026]圖8A是示出空間方向以及時間方向運動參照塊的配置的一例的圖。
[0027]圖8B是示出空間方向運動參照塊的配置的另一例的圖。
[0028]圖SC是示出空間方向運動參照塊相對于圖SB所示的編碼對象塊的相對位置的圖。
[0029]圖8D是示出時間方向運動參照塊的配置的另一例的圖。
[0030]圖8E是示出時間方向運動參照塊的配置的另一其它例的圖。
[0031]圖8F是示出時間方向運動參照塊的配置的另一其它例的圖。
[0032]圖9是示出圖1的可利用塊取得部從運動參照塊中選擇可利用塊的方法的一例的流程圖。
[0033]圖10是示出按照圖9的方法從圖8所示的運動參照塊中選擇的可利用塊的一例的圖。
[0034]圖11是示出圖1的可利用塊取得部輸出的可利用塊信息的一例的圖。
[0035]圖12A是示出由圖1的可利用塊取得部進行的塊間的運動信息的同一性判定的一例的圖。
[0036]圖12B是示出由圖1的可利用塊取得部進行的塊間的運動信息的同一性判定的另一例的圖。
[0037]圖12C是示出由圖1的可利用塊取得部進行的塊間的運動信息的同一性判定的另一其它例的圖。
[0038]圖12D是示出由圖1的可利用塊取得部進行的塊間的運動信息的同一性判定的另一例的圖。
[0039]圖12E是示出由圖1的可利用塊取得部進行的塊間的運動信息的同一性判定的另一其它例的圖。
[0040]圖12F是示出由圖1的可利用塊取得部進行的塊間的運動信息的同一性判定的另一例的圖。
[0041]圖13是概略地示出圖1的預測部的結構的框圖。
[0042]圖14是示出圖13的時間方向運動信息取得部所輸出的運動信息的組的圖。
[0043]圖15是說明可利用在基于圖13的運動補償部的運動補償處理中的少數(shù)像素精度的插補處理的說明圖。
[0044]圖16是示出圖13的預測部的動作的一例的流程圖。
[0045]圖17是示出圖13的運動補償部將時間方向運動參照塊的運動信息拷貝到編碼對象塊的情況的圖。
[0046]圖18是概略地示出圖1的可變長度編碼部的結構的框圖。
[0047]圖19是根據(jù)可利用塊信息生成語法(syntax)的例子的圖。
[0048]圖20是示出與可利用塊信息對應的選擇塊信息語法的2值化的例的圖。
[0049]圖21是說明運動信息的比例縮放(scaling)的說明圖。
[0050]圖22是按照實施方式的語法構造的圖。
[0051]圖23A是按照第I實施方式的微塊層語法的一例的圖。
[0052]圖23B是按照第I實施方式的微塊層語法的另一例的圖。
[0053]圖24A是示出與H.264中的B切片時的mb_type以及mb_type對應的代碼表的圖。
[0054]圖24B是示出實施方式的代碼表的一例的圖。
[0055]圖24C是示出與H.264中的P切片時的mb_type以及mb_type對應的代碼表的圖。
[0056]圖24D是示出實施方式的代碼表的另一例的圖。
[0057]圖25A是示出按照實施方式、與B切片中的mb_type以及mb_type對應的代碼表的一例的圖。
[0058]圖25B是示出按照實施方式、與P切片中的mb_type以及mb_type對應的代碼表的另一例的圖。
[0059]圖26是概略地示出第2實施方式的圖像編碼裝置的結構的框圖。[0060]圖27是概略地示出圖26的預測部的結構的框圖。
[0061]圖28是概略地示出圖27的第2預測部的結構的框圖。
[0062]圖29是概略地示出圖26的可變長度編碼部的結構的框圖。
[0063]圖30A是示出按照第2實施方式的微塊層語法的一例的圖。
[0064]圖30B是示出按照第2實施方式的微塊層語法的另一例的圖。
[0065]圖31是概略地示出第3實施方式的圖像解碼裝置的框圖。
[0066]圖32是更詳細地示出圖31所示的編碼列解碼部的框圖。
[0067]圖33是更詳細地示出圖31所示的預測部的框圖。
[0068]圖34是概略地示出第4實施方式的圖像解碼裝置的框圖。
[0069]圖35是更詳細地示出圖33所示的編碼列解碼部的框圖。
[0070]圖36是更詳細地示出圖33所示的預測部的框圖。
[0071]附圖標記的說明
[0072]10:輸入圖像信號;11:預測圖像信號;12:預測誤差圖像信號;13:量子化變換系數(shù);14:編碼數(shù)據(jù);15:解碼預測誤差信號;16:局部解碼圖像信號;17:參照圖像信號;18:運動信息;20:比特流;21:運動信息;25,26:信息幀;30:可利用塊信息;31:選擇塊信息;32:預測切換信息;33:變換系數(shù)信息;34:預測誤差信號;35:預測圖像信號;36:解碼圖像信號;37:參照圖像信號;38:運動信息;39:參照運動信息;40:運動信息;50:編碼控制信息;51:反饋信息;60:可利用塊信息;61:選擇塊信息;62:預測切換信息;70:解碼控制信息;71:控制信息;80:編碼數(shù)據(jù);100:圖像編碼部;101:預測部;102:減法器;103:變換.量子化部;104:可變長度編碼部;105:逆量子化.逆變換部;106:加法器;107:幀存儲器;108:信息存儲器;109:可利用塊取得部;110:空間方向運動信息取得部;111:時間方向運動信息取得部;112:信息切換開關;113:運動補償部;114:參數(shù)編碼部;115:變換系數(shù)編碼部;116:選擇塊編碼部;117:多路復用部;118:運動信息選擇部;120:輸出緩存器;150:編碼控制部;200:圖像編碼部;201:預測部;202:第2預測部;203:預測方法切換開關;204:可變長度編碼部;205:運動信息取得部;216:選擇塊編碼部;217:運動信息編碼部;300:圖像解碼部;301:編碼列解碼部;301:編碼列解碼部;302:逆量子化.逆變換部;303:加法器;304:幀存儲器;305:預測部;306:信息存儲器;307:可利用塊取得部;308:輸出緩存器;310:空間方向運動信息取得部;311:時間方向運動信息取得部;312:運動信息切換開關;313:運動補償部;314:信息選擇部;320:分離部;321:參數(shù)解碼部;322:變換系數(shù)解碼部;323:選擇塊解碼部;350:解碼控制部;400:圖像解碼部;401:編碼列解碼部;405:預測部;410:第2預測部;411:預測方法切換開關;423:選擇塊解碼部;424:信息解碼部;901:高級語法;902:序列參數(shù)組語法;903:圖形參數(shù)組語法;904:切片級語法;905:切片頭語法;906:切片數(shù)據(jù)語法;907:微塊級語法;908:微塊層語法;909:微塊預測語法
【具體實施方式】
[0073]以下,根據(jù)需要,參照附圖對本發(fā)明的實施方式的圖像編碼以及圖像解碼的方法以及裝置進行說明。另外,在以下的實施方式中,關于賦予同一編號的部分設為進行同樣的動作的部分,省略了重復的說明。[0074](第I實施方式)
[0075]圖1概略地示出本發(fā)明的第I實施方式的圖像編碼裝置的結構。如圖1所示,該圖像編碼裝置具備有圖像編碼部100、編碼控制部150以及輸出緩存器120。該圖像編碼裝置既可以通過LSI芯片等硬件來實現(xiàn),或者也可以設為通過使計算機執(zhí)行圖像編碼程序來實現(xiàn)。
[0076]在圖像編碼部100中,例如以分割了原圖像的像素塊單位輸入作為運動圖像或靜止圖像的原圖像(輸入圖像信號)10。如之后所詳述的那樣,圖像編碼部100對輸入圖像信號10進行壓縮編碼而生成編碼數(shù)據(jù)14。所生成的編碼數(shù)據(jù)14暫時保存到輸出緩存器120,在編碼控制部150管理的輸出定時,向未圖示的存儲系統(tǒng)(存儲介質)或傳輸系統(tǒng)(通信線路)送出。
[0077]編碼控制部150控制產(chǎn)生編碼量的反饋控制、量子化控制、預測模式控制以及熵編碼控制這樣的圖像編碼部100的全部的編碼處理。具體而言,編碼控制部150將編碼控制信息50提供給圖像編碼部100,從圖像編碼部100適當?shù)亟邮辗答佇畔?1。編碼控制信息50包括預測信息、運動信息18以及量子化參數(shù)信息等。預測信息包括預測模式信息以及塊大小信息。運動信息18包括運動矢量、參照幀號碼以及預測方向(單方向預測、雙方向預測)。量子化參數(shù)信息包括量子化寬度(量子化步進大小)等量子化參數(shù)以及量子化矩陣。反饋信息51包括基于圖像編碼部100的產(chǎn)生編碼量,例如,在決定量子化參數(shù)時使用。
[0078]圖像編碼部100以分割原圖像得到的的像素塊(例如,微塊、子塊、I像素等)為單位,對輸入圖像信號10進行編碼。因此,輸入圖像信號10以分割了原圖像的像素塊單位被依次輸入到圖像編碼部100。在本實施方式中,將編碼的處理單位設為微塊,將與輸入圖像信號10對應的、作為編碼對象的像素塊(微塊)僅稱作編碼對象塊。另外,將包括編碼對象塊的圖像幀、即編碼對象的圖像幀稱作編碼對象幀。
`[0079]這樣的編碼對象塊,例如,既可以是圖2A所示那樣的16X 16像素塊,也可以圖2B所示那樣的64X64像素塊。另外,編碼對象塊也可以是32X32像素塊、8X8像素塊等。另外,微塊的形狀不限于圖2A以及圖2B所示那樣的正方形狀的例子,也可以設為矩形形狀等任意形狀。另外,上述處理單位不限于微塊那樣的像素塊,也可以是幀或字段。
[0080]另外,針對編碼對象幀內(nèi)的各像素塊的編碼處理可以以任意的順序執(zhí)行。在本實施方式中,為了簡化說明,如圖3所示,設為從編碼對象幀的左上的像素塊向右下的像素塊逐行、即按照光柵掃描順序,對像素塊執(zhí)行編碼處理。
[0081]圖1所示的圖像編碼部100具備:預測部101、減法器102、變換.量子化部103、可變長度編碼部104、逆量子化?逆變換部105、加法器106、幀存儲器107、運動信息存儲器108以及可利用塊取得部109。
[0082]在圖像編碼部100中,輸入圖像信號10被輸入到預測部101以及減法器102。減法器102接收輸入圖像信號10,并且從后述的預測部101接收預測圖像信號11。減法器102計算輸入圖像信號10與預測圖像信號11的差分,生成預測誤差圖像信號12。
[0083]變換.量子化部103從減法器102接收預測誤差圖像信號12,對接收的預測誤差圖像信號12實施變換處理,生成變換系數(shù)。變換處理,例如,是離散余弦變換(DCT:Discrete Cosine Transform)等正交變換。在另一實施方式中,變換?量子化部103也可以替代離散余弦變換而利用小波變換以及獨立分量解析等方法來生成變換系數(shù)。另外,變換.量子化部103根據(jù)由編碼控制部150提供的量子化參數(shù)對所生成的變換系數(shù)進行量子化。被量子化后的變換系數(shù)(變換系數(shù)信息)13輸出給可變長度編碼部104以及逆量子化.逆變換部105。
[0084]逆量子化?逆變換部105按照由編碼控制部150提供的量子化參數(shù)、即與變換?量子化部103相同的量子化參數(shù),對量子化后的變換系數(shù)13進行逆量子化。接著,逆量子化?逆變換部105對逆量子化后的變換系數(shù)實施逆變換,生成解碼預測誤差信號15。基于逆量子化.逆變換部105的逆變換處理與基于變換.量子化部103的變換處理的逆變換處理一致。例如,逆變換處理是逆離散余弦變換(IDCT:1nverse Discrete Cosine Transform)或逆小波變換等。[0085]加法器106從逆量子化?逆變換部105接收解碼預測誤差信號15,另外,從預測部101接收預測圖像信號11。加法器106將解碼預測誤差信號15和預測圖像信號11相加而生成局部解碼圖像信號16。所生成的局部解碼圖像信號16在幀存儲器107中被保存為參照圖像信號17。幀存儲器107所保存的參照圖像信號17,在對其后的編碼對象塊進行編碼時,由預測部101讀出并參照。
[0086]預測部101從幀存儲器107接收參照圖像信號17,并且從后述的可利用塊取得部109接收可利用塊信息30。另外,預測部101從后述的運動信息存儲器108接收參照運動信息19。預測部101根據(jù)參照圖像信號17、參照運動信息19以及可利用塊信息30生成編碼對象塊的預測圖像信號11、運動信息18以及選擇塊信息31。具體而言,預測部101具備:根據(jù)可利用塊信息30以及參照運動信息19生成運動信息18以及選擇塊信息31的運動信息選擇部118 ;以及根據(jù)運動信息18生成預測圖像信號11的運動補償部113。預測圖像信號11被送給減法器102以及加法器106。運動信息18被保存于運動信息存儲器108,以用于針對其后的編碼對象塊的預測處理。另外,選擇塊信息31被送給可變長度編碼部104。關于預測部101在后詳細說明。
[0087]運動信息存儲器108中臨時保存運動信息18而作為參照運動信息19。圖4示出運動信息存儲器108的結構的一例。如圖4所示,運動信息存儲器108以幀單位保持有參照運動信息19,參照運動信息19形成有運動信息幀25。與編碼完畢的塊有關的運動信息18被依次輸入運動信息存儲器108,其結果是,運動信息存儲器108保持編碼時間不同的多個運動信息幀25。
[0088]參照運動信息19以所定的塊單位(例如,4X4像素塊單位)保持在運動信息幀25內(nèi)。圖4所示的運動矢量塊28表示與編碼對象塊、可利用塊以及選擇塊等相同大小的像素塊,例如,是16X16像素塊。運動矢量塊28中,例如針對每4X4像素塊分配有運動矢量。將利用了運動矢量塊的交互預測處理稱作運動矢量塊預測處理。在生成運動信息18時,運動信息存儲器108所保持的參照運動信息19由預測部101讀出。后述那樣的可利用塊具有的運動信息18是指在運動信息存儲器108中的可利用塊所位于的區(qū)域保持的參照運動信息19。
[0089]另外,運動信息存儲器108不限于以4X4像素塊單位保持參照運動信息19的例子,也可以以其它像素塊單位保持參照運動信息19。例如,與參照運動信息19有關的像素塊單位既可以是I像素,也可以是2X2像素塊。另外,與參照運動信息19有關的像素塊的形狀不限于正方形狀的例子,能夠設為任意形狀。[0090]圖1的可利用塊取得部109從運動信息存儲器108取得參照運動信息19,根據(jù)取得的參照運動信息19,從已經(jīng)編碼完成的多個塊中選擇能夠在預測部101的預測處理中利用的可利用塊。所選擇的可利用塊被作為可利用塊信息30而送給預測部101以及可變長度編碼部104。將成為用于選擇可利用塊的候選的編碼完畢的塊稱作運動參照塊。關于運動參照塊以及可利用塊的選擇方法,在后詳細地進行說明。
[0091]可變長度編碼部104除了變換系數(shù)信息13以外,還從預測部101接收選擇塊信息31,從編碼控制部150接收預測信息以及量子化參數(shù)等的編碼參數(shù),從可利用塊取得部109接收可利用塊信息30??勺冮L度編碼部104對量子化后的變換系數(shù)13、選擇塊信息31、可利用塊信息30以及編碼參數(shù)進行熵編碼(例如,等長編碼、哈夫曼編碼或算術編碼等),生成編碼數(shù)據(jù)14。編碼參數(shù)包括選擇塊信息31以及預測信息,并且包括與變換系數(shù)有關的信息、與量子化有關的信息等在解碼所需要的所有的參數(shù)。所生成的編碼數(shù)據(jù)14被臨時保存在輸出緩存器120,并被送給未圖不的存儲系統(tǒng)或傳輸系統(tǒng)。
[0092]圖5示出輸入圖像信號10的處理程序。如圖5所示,首先,通過預測部101生成預測圖像信號11 (步驟S501)。在步驟S501的預測圖像信號11的生成中,將后述的可利用塊中的一個可利用塊選擇為選擇塊,并使用選擇塊信息31、選擇塊所具有的運動信息以及參照圖像信號17制作預測圖像信號11。通過減法器102計算預測圖像信號11和輸入圖像信號10的差分,生成預測誤差圖像信號12 (步驟S502)。
[0093]接著,通過變換.量子化部103對預測誤差圖像信號12實施正交變換以及量子化,生成變換系數(shù)信息13(步驟S503)。變換系數(shù)信息13以及選擇塊信息31被送給可變長度編碼部104,被實施可變長度編碼,并生成編碼數(shù)據(jù)14 (步驟S504)。另外,在步驟S504中,根據(jù)選擇塊信息31來切換代碼表,以使在代碼表中具有與可利用塊的數(shù)量相等數(shù)量的條目,并對選擇塊信息31進行可變長度編碼。編碼數(shù)據(jù)的比特流20被送給未圖示的存儲系統(tǒng)統(tǒng)或者傳輸路徑。
[0094]在步驟S503中所生成的變換系數(shù)信息13由逆量子化?逆變換部105進行逆量子化,并被實施逆變換處理,成為解碼預測誤差信號15(步驟S505)。將解碼預測誤差信號15加到在步驟S501中使用的參照圖像信號17上,成為局部解碼圖像信號16 (步驟S506),并作為參照圖像信號而被存儲到幀存儲器107 (步驟S507)。
[0095]接著,對上述的圖像編碼部100的各結構進行更詳細的說明。
[0096]圖1的圖像編碼部100預先準備有多個預測模式,各預測模式的預測圖像信號11的生成方法以及運動補償塊大小相互不同的。作為預測部101生成預測圖像信號11的方法,具體而言,大致劃分的話,有使用與編碼對象幀(或者字段)有關的參照圖像信號17生成預測圖像的內(nèi)預測(幀內(nèi)預測)、和使用與一個以上的編碼完畢的參照幀(參照字段)有關的參照圖像信號17生成預測圖像的交互預測(幀間預測)。預測部101選擇性地切換內(nèi)預測以及交互預測,生成編碼對象塊的預測圖像信號11。
[0097]圖6A示出由運動補償部113進行的交互預測的一例。在交互預測中,如圖6A所示,根據(jù)作為已經(jīng)編碼完成的I幀前的參照幀內(nèi)的塊且與編碼對象塊相同位置的塊(也稱預測塊)23,使用與根據(jù)運動信息18所包括的運動矢量18a而空間地位移了的位置的塊24有關的參照圖像信號17,生成預測圖像信號11。即,在預測圖像信號11的生成中,使用編碼對象塊的位置(坐標)、以及與通過運動信息18所包括的運動矢量18a確定的參照幀內(nèi)的塊24有關的參照圖像信號17。在交互預測中,能夠進行少數(shù)像素精度(例如,1/2像素精度或1/4像素精度)的運動補償,通過對參照圖像信號17進行濾波處理,生成插補像素的值。例如,在H.264中,能夠對亮度信號進行到1/4像素精度為止的插補處理。在進行1/4像素精度的運動補償?shù)那闆r下,運動信息18的信息量成為整數(shù)像素精度的4倍。
[0098]另外,在交互預測中,不限于使用圖6A所示那樣的I幀前的參照幀的例子,如圖6B所示,可以使用任意的編碼完畢的參照幀。在保持有與時間位置不同的多個參照幀有關的參照圖像信號17的情況下,表示根據(jù)哪個時間位置的參照圖像信號17生成了預測圖像信號11的信息通過參照幀號碼來示出。參照幀號碼包含于運動信息18。參照幀號碼能夠以區(qū)域單位(圖形、塊單位等)進行變更。即,能夠針對每個像素塊使用不同的參照幀。作為一例,當預測中使用了編碼完畢的I幀前的參照幀的情況下,該區(qū)域的參照幀號碼被設定為O,當預測中使用了編碼完畢的2幀前的參照幀的情況下,該區(qū)域的參照幀號碼被設定為I。作為其它例,當幀存儲器107中保持有I幀量的參照圖像信號17 (參照幀的數(shù)量為I)情況下,參照幀號碼總是被設定為O。
[0099]另外,在交互預測中,能夠從多個運動補償塊之中選擇適于編碼對象塊的塊大小。即,也可以將編碼對象塊分割為多個小像素塊,并針對每個小像素塊進行運動補償。圖7A至圖7C示出微塊單位的運動補償塊的大小,圖7D示出子塊(8X8像素以下的像素塊)單位的運動補償塊的大小。如圖7A所示,當編碼對象塊為64X64像素的情況下,作為運動補償塊,能夠選擇64X64像素塊、64X32像素塊、32X64像素塊或32X32像素塊等。另外,如圖7B所示,當編碼對象塊為32X32像素的情況下,作為運動補償塊能夠選擇32X32像素塊、32X 16像素塊、16X 32像素塊或16X16像素塊等。另外,如圖7C所示,當編碼對象塊為16 X 16像素的情況下,能夠將運動補償塊設定為16 X 16像素塊、16 X 8像素塊、8 X 16像素塊或8 X 8像素塊等。另外,如圖7D所示,當編碼對象塊為8 X 8像素的情況下,運動補償塊能夠選擇8X8像素塊、8X4像素塊、4X8像素塊或4X4像素塊等。
[0100]如上所述,在交互預測中使用的參照幀內(nèi)的小像素塊(例如,4X4像素塊)具有運動信息18,所以能夠按照輸入圖像信號10的局部的性質來利用最佳的運動補償塊的形狀以及運動矢量。另外,圖7A至圖7D的微塊以及子微塊能夠任意地組合。當編碼對象塊為圖7A所示那樣的64 X 64像素塊的情況下,針對分割64 X 64像素塊得到的4個32 X 32像素塊的每一個來選擇圖7B所示的各塊大小,從而能夠階段性地利用64X64?16X 16像素的塊。同樣地,在能夠選擇到圖7D所示的塊大小的情況下,能夠階段性地利用64X64?4X4的塊大小。
[0101]接著,參照圖8A至圖8F來說明運動參照塊。
[0102]運動參照塊是按照圖1的圖像編碼裝置以及后述的圖像解碼裝置的雙方協(xié)定的方法從編碼對象幀以及參照幀內(nèi)的編碼完畢的區(qū)域(塊)中選擇的。圖8A示出根據(jù)編碼對象塊的位置而選擇的運動參照塊的配置的一例。在圖8A的例子中,從編碼對象幀以及參照幀內(nèi)的編碼完畢的區(qū)域選擇9個運動參照塊A?D以及TA?TE。具體而言,從編碼對象幀中,選擇與編碼對象塊的左、上、右上、左上鄰接的4個塊A,B, C,D作為運動參照塊,從參照幀中選擇與編碼對象塊同一位置的塊TA、以及與該塊TA的右、下、左以及上鄰接的4個像素塊TB,TC,TD, TE作為運動參照塊。在本實施方式中,將從編碼對象幀中選擇的運動參照塊稱作空間方向運動參照塊,將從參照幀中選擇的運動參照塊稱作時間方向運動參照塊。賦予圖8A的各運動參照塊的編碼p表示運動參照塊的索引。該索引被按照時間方向、空間方向的運動參照塊的順序而編號,但不限與此,只要索引不重復,不需要必須按照該順序。例如,時間方向以及空間方向的運動參照塊也可以順序凌亂地編號。
[0103]另外,空間方向運動參照塊不限于圖8A所示的例子,也可以如圖SB所示的那樣地是與編碼對象塊鄰接的像素a,b,c,d所屬的塊(例如,微塊或子微塊等)。在這種情況下,從編碼對象塊內(nèi)的左上像素e到各像素a,b,c,d的相對位置(dx,dy)被設定為圖8C所示。在此,在圖8A以及圖8B所示的例子中,微塊示出為NXN像素塊。
[0104]另外,如圖8D所示,也可以將與編碼對象塊鄰接的全部的塊Al?A4,BI,B2, C,D選擇為空間方向運動參照塊。在圖8D的例子中,空間方向運動參照塊的數(shù)量為8。
[0105]另外,時間方向運動參照塊既可以圖SE所示地各塊TA?TE的一部分重疊,也可以如圖8F所示地各塊TA?TE分離配置。在圖SE中,以斜線示出時間方向運動參照塊TA以及TB重疊的部分。另外,時間方向運動參照塊不限于必須是與編碼對象塊對應的位置(Collocate位置)的塊以及位于其周圍的塊的例子,也可以配置在參照幀內(nèi)的任意位置的塊。例如,可以將通過參照塊的位置以及與編碼對象塊鄰接的任意的編碼完畢的塊所具有的運動信息18確定的、參照幀內(nèi)的塊選擇為中心塊(例如,塊TA),并將該中心塊以及其周圍的塊選擇為時間方向運動參照塊。另外,時間方向參照塊也可以從中心塊不等間隔地配置。
[0106]在上述任意的情況下,如果編碼裝置以及解碼裝置中預先協(xié)定了空間方向以及時間方向運動參照塊的數(shù)量以及位置,則運動參照塊的數(shù)量以及位置可以任意地設置。另外,運動參照塊的大小不需要必須與編碼對象塊相同大小。例如,如圖8D所示,運動參照塊的大小既可以比編碼對象塊大,也可以比編碼對象塊小。另外,運動參照塊不限于正方形狀,也可以設定為長方形形狀等任意形狀。另外,運動參照塊也可以設定為任何大小。
[0107]另外,運動參照塊以及可利用塊也可以僅配置在時間方向以及空間方向的某一方。另外,也可以按照P切片、B切片這些切片的種類來配置時間方向的運動參照塊以及可利用塊,并且也可以配置空間方向的運動參照塊以及可利用塊。
[0108]圖9示出可利用塊取得部109從運動參照塊中選擇可利用塊的方法。可利用塊是能夠對編碼對象塊應用運動信息的塊,且具有相互不同的運動信息??衫脡K取得部109參照參照運動信息19,按照圖9所示的方法,判定運動參照塊各自是否是可利用塊,并輸出可利用塊信息30。
[0109]如圖9所示,首先,選擇索引P為O的運動參照塊(S800)。在圖9的說明中,假想按照索引P從O到M-1 (M表示運動參照塊的數(shù)量。)的順序處理運動參照塊的情況。另外,設針對索引P從O到p-Ι的運動參照塊的可利用判定處理結束、并且成為判定是否可利用的對象的運動參照塊的索引為P進行說明。
[0110]可利用塊取得部109判定運動參照塊P是否具有運動信息18,即是否被分配有至少一個運動矢量(S801)。當運動參照塊P不具有運動矢量的情況下,即時間方向運動參照塊P是不具有運動信息的I切片內(nèi)的塊、或者時間方向運動參照塊P內(nèi)的全部的小像素塊被內(nèi)預測編碼了的情況下,進入步驟S805。在步驟S805中,運動參照塊P被判定為不可利用塊。
[0111]在步驟S801中判定為運動參照塊P具有運動信息的情況下,進入步驟S802??衫脡K取得部109選定已經(jīng)被選擇為可利用塊的運動參照塊q (可利用塊q)。在此,q是比P小的值。接著,可利用塊取得部109對運動參照塊P的運動信息18和可利用塊q的運動信息18進行比較,判定是否具有同一運動信息(S803)。當判定為運動參照塊P的運動信息18和被選擇為可利用塊的運動參照塊q的運動信息18相同的情況下,進入步驟S805,判定為運動參照塊P為不可利用塊。
[0112]當針對滿足q〈p的全部的可利用塊q,在步驟S803中判定為運動參照塊P的運動信息18和可利用塊q的運動信息18不相同的情況下,進入步驟S804。在步驟S804中,可利用塊取得部109將運動參照塊P判定為可利用塊。
[0113]如果運動參照塊P被判定為可利用塊或不可利用塊,則可利用塊取得部109判定是否針對全部的運動參照塊執(zhí)行了可利用判定(S806)。在存在未被執(zhí)行可利用判定的運動參照塊的情況下,例如,在P〈M_1的情況下,進入步驟S807。接著,可利用塊取得部109將索引P加I (步驟S807),并再次執(zhí)行步驟S801至步驟S806。當在步驟S806中判定為針對全部的運動參照塊執(zhí)行了可利用判定時,結束可利用判定處理。
[0114]通過執(zhí)行上述的可利用判定處理,判定各運動參照塊是可利用塊還是不可利用塊??衫脡K取得部109生成包括與可利用塊有關的信息的可利用塊信息30。由此,通過從運動參照塊中選擇可利用塊,與可利用塊信息30有關的信息量降低,作為結果,能夠降低編碼數(shù)據(jù)14的量。
[0115]圖10示出針對圖8A所示的運動參照塊執(zhí)行了可利用判定處理的結果的一例。在圖10中,判定為2個空間方向運動參照塊(p=0,I)以及2個時間方向運動參照塊(p=5,8)為可利用塊。圖11示出與圖10的例子有關的可利用塊信息30的一例。如圖11所示,可利用塊信息30包括運動參照塊的索引、可利用性以及運動參照塊名稱。在圖11的例子中,索引p=0,l,5,8為可利用塊,可利用塊數(shù)為4。預測部101從這些可利用塊中選擇最佳的一個可利用塊作為選擇塊,并輸出與選擇塊有關的信息(選擇塊信息)31。選擇塊信息31包括可利用塊的數(shù)量以及所選擇的可利用塊的索引值。例如,當可利用塊的數(shù)量為4的情況下,使用最大的條目為4的代碼表,通過可變長度編碼部104對相應的選擇塊信息31進行編碼。
[0116]另外,在圖9的步驟S801中,當時間方向運動參照塊P內(nèi)的塊中的至少一個是被內(nèi)預測編碼了的塊的情況下,可利用塊取得部109也可以將運動參照塊P判定為不可利用塊。即,也可以設為僅在時間方向運動參照塊P內(nèi)的全部的塊被以交互預測進行編碼的情況下,進入步驟S802。
[0117]圖12A至圖12E示出在步驟S803的運動信息18的比較中,判定為運動參照塊P的運動信息18和可利用塊q的運動信息18相同的例子。圖12A至圖12E中示出有分別帶斜線的多個塊和2個涂白的塊。圖12A至圖12E中,為了簡化說明,假設不考慮帶斜線的塊而比較這2個涂白的塊的運動信息18。2個涂白的塊的一個是運動參照塊P,另一個是已經(jīng)判定為可利用的運動參照塊q (可利用塊q)。特別地,只要沒有特別說明,2個白色塊的任意一個都可以是運動參照塊P。
[0118]圖12A示出運動參照塊P以及可利用塊q的雙方為空間方向的塊的例子。在圖12A的例子中,如果塊A以及B的運動信息18相同,則判定為運動信息18相同。此時,不需要塊A以及B的大小相同。[0119]圖12B示出運動參照塊p以及可利用塊q的一個是空間方向的塊A,另一個是時間方向的塊TB的例子。在圖12B中,在時間方向的塊TB內(nèi)有一個具有運動信息的塊。如果時間方向的塊TB的運動信息18和空間方向的塊A的運動信息18相同,則判定為運動信息18相同。此時,不需要塊A以及TB的大小相同。
[0120]圖12C示出運動參照塊P以及可利用塊q的一個是空間方向的塊A,另一個是時間方向的塊TB的另一例子。圖12C示出將時間方向的塊TB分割為多個小塊,且存在多個具有運動信息18的小塊情況。在圖12C的例子中,具有運動信息18的全部的塊具有相同的運動信息18,如果該運動信息18與空間方向的塊A的運動信息18相同,則判定為運動信息18相同。此時,不需要塊A以及TB的大小相同。
[0121]圖12D示出運動參照塊P以及可利用塊q都是時間方向的塊的例子。在這種情況下,如果塊TB以及TE的運動信息18,則判定為運動信息18相同。
[0122]圖12E示出運動參照塊P以及可利用塊q都為時間方向的塊的另一例子。圖12E示出將時間方向的塊TB以及TE分別分割為多個小塊,而各自存在多個具有運動信息18的小塊的情況。在這種情況下,針對塊內(nèi)的每個小塊比較運動信息18,如果針對全部的小塊運動信息18相同,則判定為塊TB的運動信息18與塊TE的運動信息18相同。
[0123]圖12F示出運動參照塊P以及可利用塊q都為時間方向的塊的另一例子。圖12F示出時間方向的塊TE被分割為多個小塊、且塊TE中存在多個具有運動信息18的小塊的情況。在塊TE的全部的運動信息18是相同的運動信息18、并且與塊TD的運動信息18相同的情況下,判定為塊TD與TE的運動信息18相同。
[0124]由此,在步驟S803中,判定運動參照塊P的運動信息18和可利用塊q的運動信息18是否相同。在圖12A至圖12F的例子中,設為與運動參照塊P進行比較的可利用塊q的數(shù)量為I進行了說明,但在可利用塊q的數(shù)量為2以上的情況下,也可以將運動參照塊P的運動信息18與各個可利用塊q的運動信息18進行比較。另外,在應用后述的比例縮放的情況下,比例縮放后的運動信息18成為上述說明的運動信息18。
[0125]另外,運動參照塊P的運動信息和可利用塊q的運動信息相同的判定不限于運動信息所包含的各運動矢量完全一致的情況。例如,只要2個運動矢量的差的范數(shù)(norm)在規(guī)定的范圍內(nèi),都可以看作運動參照塊P的運動信息與可利用塊q的運動信息實質上相同。
[0126]圖13示出預測部101的更詳細的結構。如上所述,該預測部101輸入可利用塊信息30、參照運動信息19以及參照圖像信號17,輸出預測圖像信號11、運動信息18以及選擇塊信息31。如圖13所示,運動信息選擇部118具備空間方向運動信息取得部110、時間方向運動信息取得部111以及運動信息切換開關112。
[0127]空間方向運動信息取得部110中輸入可利用塊信息30、以及與空間方向運動參照塊有關的參照運動信息19??臻g方向運動信息取得部110輸出包括位于空間方向的各可利用塊所具有的運動信息以及可利用塊的索引值的運動信息18A。當作為可利用塊信息30而輸入圖11所示的信息的情況下,空間方向運動信息取得部110生成2個運動信息輸出18A,各運動信息輸出18A包括可利用塊以及該可利用塊所具有的運動信息19。
[0128]時間方向運動信息取得部111中輸入可利用塊信息30以及與時間方向運動參照塊有關的參照運動信息19。時間方向運動信息取得部111,輸出利用可利用塊信息30確定的可利用的時間方向運動參照塊所具有的運動信息19以及可利用塊的索引值而作為運動信息18B。時間方向運動參照塊被分割為多個小像素塊,各小像素塊具有運動信息19。如圖14所示,時間方向運動信息取得部111所輸出的運動信息18B包括可利用塊內(nèi)的各小像素塊所具有的運動信息19的組。當運動信息18B包括運動信息19的組的情況下,能夠以分割編碼對象塊得到的小像素塊單位對編碼對象塊執(zhí)行運動補償預測。當作為可利用塊信息30而輸入圖11所示的信息的情況下,時間方向運動信息取得部111生成2個運動信息輸出18B,各運動信息輸出包括可利用塊以及該可利用塊所具有的運動信息19的組。
[0129]另外,時間方向運動信息取得部111也可以求出各像素小塊所具有的運動信息19所包含的運動矢量的平均值或代表值,并將運動矢量的平均值或代表值作為運動信息18B而輸出。
[0130]圖13的運動信息切換開關112根據(jù)從空間方向運動信息取得部110以及時間方向運動信息取得部111輸出的運動信息18A以及18B,選擇一個合適的可利用塊作為選擇塊,并將與選擇塊對應的運動信息18 (或運動信息18的組)輸出到運動補償部113。另外,運動信息切換開關112輸出與選擇塊有關的選擇塊信息31。選擇塊信息31包括索引P或運動參照塊的名稱等,也被簡單地稱作選擇信息。選擇塊信息31不限定為索引P以及運動參照塊的名稱,只要能夠確定選擇塊的位置,也可以是任意的信息。
[0131]運動信息切換開關112,例如將通過下述式I所示的成本式導出的編碼成本為最小的可利用塊選擇為選擇塊。
[0132][數(shù)I]
[0133]J = D+λ XR (I)
[0134]在此,J表示編碼成本,D示出表示輸入圖像信號10與參照圖像信號17之間的平方誤差和的編碼失真。另外,R表示通過虛擬編碼而估算的編碼量,λ表示通過量子化寬度等規(guī)定的拉格朗日(Lagrange)未定系數(shù)。既可以替代式1,而僅使用編碼量R或編碼失真D來計算編碼成本J,也可以使用對編碼量R或編碼失真D進行近似得到的值來制作式I的成本函數(shù)。另外,編碼失真D不限于平方誤差和,也可以是預測誤差的絕對值和(SAD:SumSof absolute difference:差分絕對值和)。編碼量R,也可以僅使用與運動信息18有關的編碼量。另外,不限于將編碼成本為最小的可利用塊選擇為選擇塊的例子,也可以將編碼成本具有最小的值以上的某個范圍內(nèi)的值的一個可利用塊選擇為選擇塊。
[0135]運動補償部113根據(jù)運動信息選擇部118所選擇的選擇塊所具有的運動信息(或運動信息的組),導出作為預測圖像信號11而取出參照圖像信號17的像素塊的位置。當對運動補償部113輸入了運動信息的組的情況下,運動補償部113將作為預測圖像信號11而取出參照圖像信號17的像素塊分割為小像素塊(例如,4X4像素塊),并且,對這些小像素塊的各個應用對應的運動信息18,從而根據(jù)參照圖像信號17取得預測圖像信號11。取得預測圖像信號11的塊的位置,例如如圖4A所示,成為對應于運動信息18所包含的運動矢量18a而從小像素塊在空間方向位移了的位置。
[0136]針對編碼對象塊的運動補償處理能夠使用和H.264的運動補償處理同樣的處理。在此,作為一例,具體說明1/4像素精度的插補方法。在1/4像素精度的插補中,當運動矢量的各分量為4的倍數(shù)時,運動矢量指示整數(shù)像素位置。除此以外的情況下,運動矢量指示與分數(shù)精度的插補位置對應的預測位置。
[0137][數(shù)2][0138]x_pos = X+ (mv_x/4)
[0139](2)
[0140]y_pos = y+ (mv_y/4)
[0141]在此,X以及y示出表示預測對象塊的開頭位置(例如,左上頂點)的垂直以及水平方向的索引,x_pos以及y_pos表示參照圖像信號17的對應的預測位置。(mv_x, mv_y)表示具有1/4像素精度的運動矢量。接著,針對分割得到的像素位置,通過參照圖像信號17的對應像素位置的填補或插補處理生成預測像素。圖15示出H.264的預測像素生成的一例。在圖15中以大文字的拉丁字母示出的正方形(帶斜線的正方形)表示整數(shù)位置的像素,以網(wǎng)格線表示的正方形示出1/2像素位置的插補像素。另外,以涂白表示的正方形示出與1/4像素位置對應的插補像素。例如,在圖15中,通過下述式3計算與拉丁字母b、h的位置對應的1/2像素的插補處理。
[0142][數(shù)3]
[0143]b = (E-5 X F+20 X G+20 X H_5 X I+J+16) ?5
[0144](3)
[0145]h = (A+5 X C+20 X G+20 X M_5 X R+T+16) ?5
[0146]在此,式3以及下述式4所示的拉丁字母(例如,b,h,Cl等)在圖16中表示賦予了相同的拉丁字母的像素的像素值。另外,“》”表示右位移運算,“>>5”相當于除以32。即,1/2像素位置的插補像素使用6抽頭FIR (Finite Impulse Response:有限沖擊響應)濾波器(抽頭系數(shù):(1,_5,20,20,-5,I)/32)來計算。
[0147]另外,圖15中與拉丁字母a、d的位置對應的1/4像素的插補處理通過下述式4計算。
[0148][數(shù)4]
[0149]a = (G+b+1) >>1
[0150](4)
[0151]d = (G+h+1) ?1
[0152]由此,1/4像素位置的插補像素使用2抽頭的平均值濾波器(抽頭系數(shù):(1/2,1/2?計算。與存在于4個整數(shù)像素位置的中間的拉丁字母j對應的1/2像素的插補處理使用垂直方向6抽頭以及水平方向6抽頭的兩方向生成。對所說明的以外的像素位置也利用同樣的方法生成插補像素值。
[0153]另外,插補處理不限于式3以及式4的例子,也可以使用其它的插補系數(shù)生成。另外,插補系數(shù)既可以使用從編碼控制部150提供的固定的值,或者,也可以根據(jù)上述的編碼成本而針對每個幀優(yōu)化插補系數(shù),并使用優(yōu)化后的插補系數(shù)來生成。
[0154]另外,在本實施方式中,對與運動參照塊為微塊(例如,16X16像素塊)單位的運動矢量塊預測處理有關的處理進行了敘述,但不限于微塊,也可以以16X8像素塊單位、8X16像素塊單位、8X8像素塊單位、8X4像素塊單位、4X8像素塊單位或4X4像素塊單位來執(zhí)行預測處理。在這種情況下,以像素塊單位導出與運動矢量塊有關的信息。另外,也可以以32X32像素塊單位、32X 16像素塊單位、64X64像素塊單位等大于16X 16像素塊的單位進行上述的預測處理。
[0155]在將運動矢量塊內(nèi)的參照運動矢量作為編碼對象塊內(nèi)的小像素塊的運動矢量而代入時,既可以代入(A)參照運動矢量的負值(反轉矢量),或者,(B)也可以代入使用了與小塊對應的參照運動矢量和與該參照運動矢量鄰接的參照運動矢量的加權平均值或者中央值、最大值、最小值。
[0156]圖16概略地示出預測部101的動作。如圖16所示,首先,取得包括時間方向參照運動塊的參照幀(運動參照幀)(步驟S1501)。關于運動參照幀,典型地為與編碼對象幀時間距離最小的參照幀,在時間上是過去的參照幀。例如,運動參照幀是在編碼對象幀的緊前面被編碼了的幀。在其它例中,作為運動參照幀也可以取得運動信息存儲器108中保存有運動信息18的某一個參照幀。接著,空間方向運動信息取得部110以及時間方向運動信息取得部111分別取得從可利用塊取得部109輸出的可利用塊信息30 (步驟S1502)。然后,運動信息切換開關112,例如按照式I從可利用塊中選擇一個作為選擇塊(步驟S1503)。接著,運動補償部113將所選擇的選擇塊所具有的運動信息拷貝到編碼對象塊(步驟S1504)。此時,當選擇塊是空間方向參照塊的情況下,如圖17所示,該選擇塊所具有的運動信息18被拷貝到編碼參照塊。另外,當選擇塊是時間方向參照塊的情況下,該選擇塊所具有的運動信息18的組與位置信息一起被拷貝到編碼對象塊。接著,使用由運動補償部113拷貝的運動信息18或運動信息18的組執(zhí)行運動補償,并輸出預測圖像信號11以及在運動補償預測中使用的運動信息18。
[0157]圖18示出可變長度編碼部104的更詳細的結構。如圖18所示,可變長度編碼部104具備參數(shù)編碼部114、變換系數(shù)編碼部115、選擇塊編碼部116以及多路復用部117。參數(shù)編碼部114除了對變換系數(shù)信息13以及選擇塊信息31進行編碼以外,還對預測模式信息、塊大小信息、量子化參數(shù)信息等的解碼所需的參數(shù)進行編碼,并生成編碼數(shù)據(jù)14A。變換系數(shù)編碼部115對變換系數(shù)信息13進行編碼,生成編碼數(shù)據(jù)14B。另外,選擇塊編碼部116參照可利用塊信息30,對選擇塊信息31進行編碼,生成編碼數(shù)據(jù)14C。
[0158]如圖19所示,當可利用塊信息30包括索引以及與索引對應的運動參照塊的可利用性的情況下,從預先設定的多個運動參照塊中排除不可利用的運動參照塊,僅將可利用的運動參照塊變換為語法(stds_idX)。在圖19中,9個運動參照塊中的5個運動參照塊不可利用,所以針對排除了這5個運動參照塊后的4個運動參照塊,從O開始依次分配語法stds_idx。在該例子中,要編碼的選擇塊信息不是從9個中選擇的,而是從4個可利用塊中選擇的,所以分配的編碼量(bin數(shù))平均地減少了。
[0159]圖20是表示語法stds_idx以及語法stds_idx的2值信息(bin)的代碼表的一例。如圖18所示,可利用的運動參照塊的數(shù)量越少,語法stdsjdx的編碼所需的平均的bin數(shù)越減少。例如,當可利用塊的數(shù)量為4的情況下,語法stdsjdx能夠以小于等于3比特表示。語法stds_idx的2值信息(bin)既可以以針對每個可利用塊數(shù)全部的stds_idx成為相同的bin數(shù)的方式2值化,也可以按照通過事先學習而確定的2值化方法進行2值化。另外,也可以準備多個2值化方法,并針對每個編碼對象塊適用性地進行切換。
[0160]這些編碼部114、115、116中能夠應用熵編碼(例如等長編碼、哈夫曼編碼或者算術編碼等),所生成的編碼數(shù)據(jù)14A、14B、14C由多路復用部117進行多路復用并輸出。
[0161]在本實施方式中,假想將比編碼對象幀前I幀被編碼了的幀作為參照幀而參照的例子進行了說明,但也可以使用選擇塊所具有的參照運動信息19中的運動矢量以及參照幀號碼,對運動矢量進行比例縮放(scaling)(或標準化),并對編碼對象塊應用參照運動信息19。
[0162]關于該比例縮放處理,參照圖21具體地進行說明。圖21所示的tc表示編碼對象幀與運動參照幀之間的時間距離(P0C (表示顯示順序的號碼)距離),通過下述式5來計算。圖21所示的tr[i]表示運動參照幀與選擇塊所參照的幀i之間的時間距離,通過下述式6來計算。
[0163][數(shù)5]
[0164]tc = Clip(-128,127, DiffPicOrderCnt(curPOC, colPOC)) (5)
[0165]tr[i] = Clip(-128,127, DiffPicOrderCnt(colPOC, refPOC)) (6)
[0166]在此,curPOC表示編碼對象巾貞的POC (Picture Order Count:順序計數(shù)),colPOC表示運動參照巾貞的P0C, refPOC表示選擇塊所參照的巾貞i的P0C。另外,Clip (min, max,target)是如下CLIP函數(shù):target為小于min的值時輸出min, target是大于max的值時輸出max,除此以外的情況下輸出target ο另外,DiffPicOrderCnt (x, y)是計算2個POC的差分的函數(shù)。
[0167]如果設選擇塊的運動矢量為MVr= (MVr_x,MVr_y)、對編碼對象塊應用的運動矢量為MV= (MV_x, MV_y),則通過下述式7計算運動矢量MV。
[0168][數(shù)6]
[0169]MV_x = (MVr_x X tc+Abs (tr [i] /2)) /tr [i]
[0170](7)
[0171]MV_y = (MVr_y X tc+Abs (tr [i] /2)) /tr [i]
[0172]在此,Abs (X)表示取出X的絕對值的函數(shù)。由此,在運動矢量的比例縮放中,分配給選擇塊的運動矢量MVr被變換為編碼對象幀與運動第I參照幀之間的運動矢量MV。
[0173]另外,以下說明與運動矢量的比例縮放有關的另一例。
[0174]首先,針對每個切片或每個幀,按照下述式8,關于能夠取得運動參照幀的全部的時間距離tr求出比例縮放系數(shù)(DistScaleFactor [i])。比例縮放系數(shù)的數(shù)量與選擇塊所參照的幀的數(shù)量、即、參照幀的數(shù)量相等。
[0175][數(shù)7]
[0176]tx = (16384+Abs (tr [i] /2)) /tr [i]
[0177](8)
[0178]DistScalcFactor[i] = Clip(-1024,1023, (tcXtx+32))>>6
[0179]關于式8所示的tx的計算,也可以預先表格化。
[0180]在針對每個編碼對象塊的比例縮放時,通過使用下述式9,僅通過乘法、加法、位移運算就能夠計算出運動矢量MV。
[0181][數(shù)8]
[0182]MV_x = (DistScaleFactor [i] XMVr_x+128) >>8
[0183](9)
[0184]MV_y = (DistScaleFactor [i] XMVr_y+128) >>8
[0185]在實施了這樣的比例縮放處理的情況下,預測部101和可利用塊取得部109的處理都應用比例縮放后的運動信息18。在實施了比例縮放處理的情況下,編碼對象塊所參照的參照幀成為運動參照幀。[0186]圖22示出圖像編碼部100中的語法結構。如圖22所示,語法主要包括3個部分,即、高級語法901、切片級語法904以及微塊級語法907。高級語法901保持有切片以上的上位層的語法信息。切片級語法904針對每個切片保持所需要的信息,微塊級語法907針對圖7A至圖7D所示的每個微塊保持有所需要的數(shù)據(jù)。
[0187]各部分包括更詳細的語法。高級語法901包括序列參數(shù)組語法902以及圖形參數(shù)組語法903等序列以及圖形級的語法。切片級語法904包括切片頭語法905以及切片數(shù)據(jù)語法906等。另外,微塊級語法907包括微塊層語法908以及微塊預測語法909等。
[0188]圖23A以及圖23B示出微塊層語法的例子。圖23A以及圖23B所示的available—block_num表示可利用塊的數(shù)量,當該值為大于I的值的情況下,需要選擇塊信息的編碼。另外,stdsjdx示出選擇塊信息,使用前述的與可利用塊數(shù)的數(shù)量對應的代碼表對stds_idx進行編碼。
[0189]圖23A示出在mb_type之后對選擇塊信息進行編碼時的語法。在mb_type所表示的模式為確定了的大小或確定了的模式(TARGET_M0DE )的情況下,并且在ava i I ab I e_bloCk_num為大于I的值的情況下,對stdsjdx進行編碼。例如,當選擇塊的運動信息成為可利用的塊大小為64X64像素、32X32像素、16X16像素的情況下,或者直接模式的情況下,對stds_idx進行編碼。
[0190]圖23B示出在mb_type之前對選擇塊信息進行編碼時的語法。當available—block_num為大于I的值的情況下,對stds_idx進行編碼。另外,如果available_block_num為0,則進行H.264所代表的以往的運動補償,所以對mb_type進行編碼。
[0191]另外,圖23A以及圖23B所示的表的行間還能夠插入在本發(fā)明中未規(guī)定的語法要素,也可以包括與除此以外的條件分岐有關的的記述?;蛘?,也能夠將語法表分割、合并為多個表。另外,不必須使用同一用語`,也能夠根據(jù)利用的方式任意地變更。進而,在該微塊層語法中記述的各個語法片斷也可以變更,以明確記載到后述的微塊數(shù)據(jù)語法。
[0192]另外,通過利用stds_idx的信息能夠削減mb_type的信息。圖24A是與H.264中的B切片時的mb_type以及mb_type對應的代碼表。圖24A所示的N是表示16,32,64等編碼對象塊的大小的值,M是N的一半的值。因此,當mb_type為4~21的情況下,編碼對象塊示出為長方形塊。另外,圖24A的L0,LI,Bi分別表示單方向預測(僅ListO方向)、單方向預測(僅Listl方向)、雙方向預測。編碼對象塊為長方形塊的情況下,mb_type針對編碼對象塊內(nèi)的2個長方形塊的各個,包括表示進行了 L0,LI,Bi中的某一個的預測的信息。另外,B_Sub表示針對4分割了微塊的像素塊的各個執(zhí)行上述處理。例如,當編碼對象塊為64X 64像素微塊的情況下,編碼對象塊,針對4分割該微塊得到的4個32 X 32像素塊的每一個,進一步分配mb_type并進行編碼。
[0193]在此,當stds_idx表示的選擇塊為Spatial Left (與編碼對象塊的左側鄰接的像素塊)的情況下,將與編碼對象塊的左側鄰接的像素塊的運動信息設為編碼對象塊的運動信息,所以stdsjdx具有與使用圖24A的mb_type=4,6,8,10,12,14,16,18,20所示的橫長的長方形塊對編碼對象塊執(zhí)行預測相同的含義。另外,stdsjdx所示的選擇塊為SpatialUp的情況下,將與編碼對象塊的上側鄰接的運動信息設為編碼對象塊的運動信息,所以stdsjdx具有與利用圖24A ^ mb_type=5, 7,9,11,13,15,17,19, 21所示的縱長的長方形塊執(zhí)行預測相同的含義。因此,通過利用stds_idX,能夠制作圖24B所示那樣的削減了圖24A的mb_type=4?21的欄的代碼表。同樣地,關于與圖24C所示的H.264中的P切片時的mb_type以及mb_type對應的代碼表,也能夠制作圖24D所示那樣的削減了 mb_type的數(shù)量的代碼表。
[0194]另外,也可以將stdsjdx的信息包含在mb_type的信息中進行編碼。圖25A示出將stds_idx的信息包含在mb_type的信息時的代碼表,示出與B切片的mb_type以及mb_type對應的代碼表的一例。圖25A的B_STDS_X (X=0,1,2)示出與stdsjdx相當?shù)哪J剑芳涌衫脡K數(shù)的量的B_STDS_X(在圖25A中,可利用塊數(shù)為3)。同樣地,圖25B示出與P切片有關的mb_type的另一例子。圖25B的說明與B切片相同,所以省略。
[0195]mb_type的順序以及2值化方法(bin化)不限于圖25A以及圖25B所示的例子,也可以按照其它順序以及2值化方法對mb_type進行編碼。B_STDS_X以及P_STDS_X不需要連續(xù),也可以配置在各mb_type之間。另外,2值化方法(bin化)也可以基于預先學習的選擇頻度來設計。
[0196]在本實施方式中,即使在匯總多個微塊并進行運動補償預測的擴展微塊中也能應用本發(fā)明。另外,在本實施方式中,關于編碼的掃描順序可以是任意的順序。例如,對行掃描或Z掃描等也能夠應用本發(fā)明。
[0197]如以上那樣,本實施方式的圖像編碼裝置從多個運動參照塊中選擇可利用塊,根據(jù)所選擇的可利用塊的數(shù)量生成用于確定對編碼對象塊應用的運動參照塊的信息,并對該信息進行編碼。因此,根據(jù)本實施方式的圖像編碼裝置,即使削減與運動矢量信息有關的編碼量,也能以比編碼對象塊更細的小像素塊單位進行運動補償,所以能夠實現(xiàn)高的編碼效率。
[0198](第2實施方式)
[0199]圖26示出本發(fā)明的第2實施方式所涉及的圖像編碼裝置。在第2實施方式中,主要對與第I實施方式不同的部分以及動作進行說明。如圖26所示,在本實施方式的圖像編碼部200中,預測部201以及可變長度編碼部204的結構與第I實施方式不同。如圖27所示,預測部201具備第I預測部101以及第2預測部202,選擇性地切換這第I以及第2預測部101、202而生成預測圖像信號11。第I預測部101具有與第I實施方式的預測部101(圖1)相同的結構,按照使用選擇塊所具有的運動信息18進行運動補償?shù)念A測方式(第I預測方式)生成預測圖像信號11。第2預測部202按照對編碼對象塊使用一個運動矢量進行運動補償?shù)摹⑷鏗.264那樣的預測方式(第2預測方式)生成預測圖像信號11。第2預測部202使用來自輸入圖像信號10以及幀存儲器的參照圖像信號17生成預測圖像信號11B。
[0200]圖28概略地示出第2預測部202的結構。如圖28所示,第2預測部202具有:運動信息取得部205,使用輸入圖像信號10以及參照圖像信號17生成運動信息21 ;以及運動補償部113(圖1),使用參照圖像信號17以及運動信息21生成預測圖像信號11A。該運動信息取得部205根據(jù)輸入圖像信號10以及參照圖像信號17,例如通過塊匹配求出應該分配給編碼對象塊的運動矢量。作為匹配的評價基準,使用針對每個像素累積輸入圖像信號10與匹配后的插補圖像的差分而得到的值。
[0201]另外,運動信息取得部205也可以使用對預測圖像信號11與輸入圖像信號10的差分進行變換得到的值,來決定最佳的運動矢量。另外,也可以考慮運動矢量的大小、以及運動矢量和參照幀號碼的編碼量,或者,使用式I來決定最佳的運動矢量。匹配方法既可以根據(jù)從圖像編碼裝置的外部提供的搜索范圍信息來執(zhí)行,也可以針對每個像素精度階段性地執(zhí)行。另外,也可以不進行搜索處理,而將由編碼控制部150提供的運動信息作為運動信息取得部205的輸出21。
[0202]圖27的預測部101進一步具備預測方法切換開關203,選擇并輸出來自第I預測部101的預測圖像信號IlA以及來自第2預測部202的預測圖像信號IlB的某一方。例如,預測方法切換開關203針對每個預測圖像信號IlA以及11B,使用輸入圖像信號10,例如按照式I求出編碼成本,以編碼成本更小的方式選擇預測圖像信號IlA以及IlB中的某一方,并作為預測圖像信號11而輸出。另外,預測方法切換開關203還與運動信息18以及選擇塊信息31 —起,輸出表示所輸出的預測圖像信號11是從第I預測部101以及第2預測部202的哪一個輸出的預測圖像信號的預測切換信息32。所輸出的運動信息18由可變長度編碼部204編碼,之后被多路復用為編碼數(shù)據(jù)14。
[0203]圖29概略地示出可變長度編碼部204的結構。圖29所示的可變長度編碼部204除了圖18所示的可變長度編碼部104的結構之外,還具備運動信息編碼部217。另外,圖29的選擇塊編碼部216與圖18的選擇塊編碼部116不同,對預測切換信息32進行編碼并生成編碼數(shù)據(jù)14D。當?shù)贗預測部101執(zhí)行了預測處理的情況下,選擇塊編碼部216進一步對可利用塊信息30以及選擇塊信息31進行編碼。所編碼后的可利用塊信息30以及選擇塊信息31包含于編碼數(shù)據(jù)14D。當?shù)?預測部202執(zhí)行了預測處理的情況下,運動信息編碼部217對運動信息18進行編碼,并生成編碼數(shù)據(jù)14E。選擇塊編碼部216以及運動信息編碼部217分別根據(jù)預測切換信息32來判定第I預測部101以及第2預測部202中的哪一方執(zhí)行了預測處理,該預測切換信息32表示預測圖像是否是通過使用了選擇塊的運動信息的運動補償預測所生成的。
[0204]多路復用部117從參數(shù)編碼部114、變換系數(shù)編碼部115、選擇塊編碼部216以及運動信息編碼部接收編碼數(shù)據(jù)14A,14B, 14D,14E,對所接收的編碼數(shù)據(jù)14A,14B, 14D,14E進行多路復用。
[0205]圖30A以及圖30B各自示出本實施方式的微塊層語法的例子。圖30A所示的available_bl0Ck_num表示可利用塊的數(shù)量,當其為大于I的值的情況下,選擇塊編碼部216對選擇塊信息31進行編碼。另外,stds_flag是表示在運動補償預測中是否將選擇塊的運動信息作為編碼對象塊的運動信息而使用了的標記,即,是表示預測方法切換開關203選擇了第I預測部101以及第2預測部202中的哪一個的標記。當可利用塊的數(shù)量大于1、且stds_flag為I的情況下,表示在運動補償預測中使用了選擇塊所具有的運動信息。另夕卜,當stds_flag為O的情況下,不利用選擇塊所具有的運動信息,而與H.264同樣地直接對運動信息18的信息進行編碼,或者對所預測的差分值進行編碼。另外,stds_idX表示選擇塊信息,與可利用塊數(shù)對應的代碼表如上所述。
[0206]圖30A示出在mb_type之后對選擇塊信息進行編碼時的語法。僅在確定了 mb_type表示的模式的大小或確定了的模式的情況下,對stds_flag以及stds_idx進行編碼。例如,在選擇塊的運動信息為可利用的塊大小為64X64、32X32、16X16的情況下、或者直接模式的情況下,對stds_flag以及stds_idx進行編碼。
[0207]圖30B示出在mb_type之前對選擇塊信息進行編碼時的語法。例如當stds_flag為I的情況下,不需要對mb_type進行編碼。當stds_flag為O的情況下,對mb_type進行編碼。
[0208]如以上所述,第2實施方式的圖像編碼裝置選擇性地切換第I實施方式的第I預測部101和利用H.264等的預測方式的第2預測部202,并對輸入圖像信號進行壓縮編碼,以使編碼成本減小。因此,在第2實施方式的圖像編碼裝置中比第I實施方式的圖像編碼裝置進一步提高了編碼效率。
[0209](第3實施方式)
[0210]圖31概略地示出第3實施方式的圖像解碼裝置。如圖31所示,該圖像解碼裝置具備圖像解碼部300、解碼控制部350以及輸出緩存器308。圖像解碼部300由解碼控制部350控制。第3實施方式的圖像解碼裝置與第I實施方式的圖像編碼裝置對應。即,基于圖31的圖像解碼裝置的解碼處理與基于圖1的圖像編碼處理的編碼處理具有互補的關系。圖31的圖像解碼裝置既可以通過LSI芯片等硬件來實現(xiàn),或者也可以通過使計算機執(zhí)行圖像解碼程序來實現(xiàn)。
[0211]圖31的圖像解碼裝置具備編碼列解碼部301、逆量子化.逆變換部302、加法器303、幀存儲器304、預測部305、運動信息存儲器306以及可利用塊取得部307。在圖像解碼部300中,來自未圖示的存儲系統(tǒng)統(tǒng)或傳輸系統(tǒng)的編碼數(shù)據(jù)80輸入到編碼列解碼部301。該編碼數(shù)據(jù)80,例如,與以被多路復用的狀態(tài)從圖1的圖像編碼裝置送出的編碼數(shù)據(jù)14對應。
[0212]在本實施方式中,將作為解碼對象的像素塊(例如,微塊)僅稱作解碼對象塊。另外,將包括解碼對象塊的圖像幀稱作解碼對象幀。
[0213]在編碼列解碼部301中,針對每I幀或每I字段,根據(jù)語法進行基于語法分析的解讀。具體而言,編碼列解碼部301依次對各語法的編碼列進行可變長度解碼,并對包括變換系數(shù)信息33、選擇塊信息61、塊大小信息以及預測模式信息等預測信息的、與解碼對象塊有關的編碼參數(shù)等進行解碼。
[0214]在本實施方式中,解碼參數(shù)包括變換系數(shù)33、選擇塊信息61以及預測信息,并且包括與變換系數(shù)有關的信息、與量子化有關的信息等解碼時所需的所有的參數(shù)。與預測信息、變換系數(shù)有關的信息以及與量子化有關的信息作為控制信息71而被輸入解碼控制部350。解碼控制部350將包括預測信息以及量子化參數(shù)等解碼所需要的參數(shù)的解碼控制信息70提供給圖像解碼部300的各部分。
[0215]另外,如之后所說明的那樣,編碼列解碼部301同時對編碼數(shù)據(jù)80進行解碼,得到預測信息以及選擇塊信息61。也可以 不對包括運動矢量以及參照幀號碼的運動信息38解碼。
[0216]由編碼列解碼部301解讀的變換系數(shù)33被送往逆量子化.逆變換部302。由編碼列解碼部301解讀的與量子化有關的各種信息、即量子化參數(shù)以及量子化矩陣被提供給解碼控制部350,在逆量子化時被下載到逆量子化.逆變換部302。逆量子化.逆變換部302按照所下載的與量子化有關的信息,對變換系數(shù)33進行逆量子化,接著實施逆變換處理(例如,逆離散余弦變換等),得到預測誤差信號34?;趫D31的逆量子化?逆變換部302的逆變換處理是基于圖1的變換.量子化部的變換處理的逆變換。例如,在通過圖像編碼裝置(圖1)實施小波變換的情況下,逆量子化.逆變換部302執(zhí)行對應的逆量子化以及逆小波變換。[0217]通過逆量子化?逆變換部302復原了的預測誤差信號34輸入到加法器303。加法器303將預測誤差信號34和在后述的預測部305中生成的預測圖像信號35相加,生成解碼圖像信號36。所生成的解碼圖像信號36被從圖像解碼部300輸出,并臨時存儲到輸出緩存器308,之后,按照解碼控制部350管理的輸出定時進行輸出。另外,該解碼圖像信號36在幀存儲器304中被保存為參照圖像信號37。按照每個幀或每個字段依次從幀存儲器304讀出參照圖像信號37,并輸入給預測部305。
[0218]可利用塊取得部307從后述的運動信息存儲器306接收參照運動信息39,并輸出可利用塊信息60。可利用塊取得部307的動作與在第I實施方式中說明的可利用塊取得部109 (圖1)相同。
[0219]運動信息存儲器306從預測部305接收運動信息38,并臨時保存為參照運動信息39。運動信息存儲器306將從預測部305輸出的運動信息38臨時保存為參照運動信息39。圖4示出運動信息存儲器306的一例。運動信息存儲器306保持有編碼時間不同的多個運動信息幀26。解碼結束了的運動信息38或運動信息38的組,作為參照運動信息39而保存于與解碼時間對應的運動信息幀26。在運動信息幀26中,例如以4X4像素塊單位保存參照運動信息39。運動信息存儲器306所保持的參照運動信息39,由預測部305在生成解碼對象塊的運動信息38時讀出并參照。
[0220]接著,說明本實施方式的運動參照塊以及可利用塊。運動參照塊是按照由前述的圖像編碼裝置以及圖像解碼裝置預先設定的方法從已經(jīng)解碼完畢的區(qū)域中選擇的候選塊。圖8A示出與可利用塊有關的一例。在圖8A中,配置有解碼對象幀內(nèi)的4個運動參照塊以及參照幀內(nèi)的5個運動參照塊這合計9個運動參照塊。圖8A的解碼對象幀內(nèi)的運動參照塊A,B, C,D是相對于解碼對象塊在左、上、右上、左上鄰接的塊。在本實施方式中,將從包括解碼對象塊的解碼對象幀中選擇的運動參照塊稱作空間方向運動參照塊。另外,參照幀內(nèi)的運動參照塊TA是參照幀內(nèi)的、與解碼對象塊相同位置的像素塊,將與該運動參照塊TA相接的像素塊TB,TC,TD, TE選擇為運動參照塊。將從參照幀內(nèi)的像素塊中選擇的運動參照塊稱作時間方向運動參照塊。另外,將時間方向運動參照塊所位于的幀稱作運動參照幀。
[0221]空間方向運動參照塊不限于圖8A所示的例子,如圖SB所示,也可以將與解碼對象塊鄰接的像素a,b,c,d所屬的像素塊選擇為空間方向運動參照塊。在這種情況下,像素a,b,c,d相對于解碼對象塊內(nèi)的左上像素的相對位置(dx,dy)如圖SC所示。
[0222]另外,如圖8D所示,也可以將與解碼對象塊鄰接的全部的像素塊Al~A4,B1,B2,C,D選擇為空間方向運動參照塊。在圖8D中,空間方向運動參照塊的數(shù)量為8。
[0223]另外,如圖SE所示,時間方向運動參照塊TA~TE既可以相互部分地重疊,也可以如圖8F所示地相互分離。另外,時間方向運動參照塊不需要必須是Collocate位置的塊以及位于其周圍的塊,只要是運動參照幀內(nèi)則可以是任意位置的像素塊。例如,也可以利用與解碼對象塊鄰接的已經(jīng)解碼完畢的塊的運動信息,將運動信息包含的運動矢量所指示的參照塊選擇為運動參照塊的中心(例如,塊TA)。另外,時間方向的參照塊也可以不是等間隔地配置。
[0224]在上述那樣的選擇運動參照塊的方法中,如果圖像解碼裝置以及圖像解碼裝置的雙方共有與空間方向以及時間方向運動參照塊的數(shù)量以及位置有關的信息,則運動參照塊可以從任意的數(shù)量以及位置中選擇。另外,運動參照塊的大小不需要必須是與解碼對象塊相同的大小。例如如圖8D所示,運動參照塊的大小既可以比解碼對象塊的大小大,也可以比解碼對象塊的大小小,可以是任意的大小。另外,運動參照塊的形狀不限于正方形形狀,也可以是長方形形狀。
[0225]接著,對可利用塊進行說明??衫脡K是從運動參照塊中選擇的像素塊,是能夠對解碼對象塊應用運動信息的像素塊??衫脡K具有相互不同的運動信息。針對例如圖8A所示那樣的解碼對象幀以及參照幀內(nèi)的合計9個運動參照塊,通過執(zhí)行圖9所示的可利用塊判定處理來選擇可利用塊。圖10示出執(zhí)行圖9所示的可利用塊判定處理得到的結果。在圖10中,帶斜線的像素塊表示不可利用塊,涂白的塊表示可利用塊。即、判定為從空間方向運動參照塊中選擇2個、從時間方向運動參照塊中選擇2個合計選擇4個作為可利用塊。預測部305內(nèi)的運動信息選擇部314按照從選擇塊解碼部323接收的選擇塊信息61,從配置在時間以及空間方向的這些可利用塊中選擇最佳的一個可利用塊作為選擇塊。
[0226]接著,對可利用塊取得部307進行說明??衫脡K取得部307具有與第I實施方式的可利用塊取得部109相同的功能,從運動信息存儲器306取得參照運動信息39,針對每個運動參照塊輸出表示可利用塊或不可利用塊的信息即可利用塊信息60。
[0227]參照圖9的流程圖說明可利用塊取得部307的動作。首先,可利用塊取得部307判定運動參照塊(索引P)是否具有運動信息(步驟S801)。S卩,在步驟S801中判定是否運動參照塊P內(nèi)的至少一個小像素塊具有運動信息。當判定為運動參照塊P不具有運動信息的情況下,即時間方向運動參照塊是沒有運動信息的I切片內(nèi)的塊,或者,時間方向運動參照塊內(nèi)的全部的小像素塊被內(nèi)預測解碼的情況下,進入步驟S805。在步驟S805中,將該運動參照塊P判定為不可利用塊。
[0228]當在步驟S801中判定為運動參照塊P具有運動信息的情況下,可利用塊取得部307選定已經(jīng)判定為可利用塊的運動參照塊q (稱作可利用塊q)(步驟S802)。在此,q是小于P的值。接著,可利用塊取得部307針對全部的q比較該運動參照塊P的運動信息和可利用塊q的運動信息,判定運動參照塊P是否具有與可利用塊q相同的運動信息(S803)。當運動參照塊P具有與可利用塊q相同的運動矢量的情況下,進入步驟S805,在步驟S805中,通過利用塊取得部307將該運動參照塊P判定為不可利用塊。運動參照塊P具有與全部的可利用塊q不同的運動信息的情況下,在步驟S804中,通過可利用塊取得部307將該運動參照塊P判定為可利用塊。
[0229]通過對全部的運動參照塊執(zhí)行上述的可利用塊判定處理,針對每個運動參照塊判定是可利用塊還是不可利用塊,并生成可利用塊信息60。圖11示出可利用塊信息60的一例。如圖11所示,可利用塊信息60包括運動參照塊的索引P以及可利用性。在圖11中,可利用塊信息60示出將索引P為0,1,5以及8的運動參照塊選擇為可利用塊,可利用塊的數(shù)量為4。
[0230]另外,在圖9的步驟S801中,也可以在時間方向運動參照塊P內(nèi)的塊中的至少一個是被內(nèi)預測編碼了的塊的情況下,可利用塊取得部307將運動參照塊P判定為不可利用塊。即也可以設為僅在時間方向運動參照塊P內(nèi)的全部的塊被以交互預測而編碼的情況下,進入步驟S802。
[0231]圖12A至圖12E示出在步驟S803的運動信息38的比較中,將運動參照塊P的運動信息38和可利用塊q的運動信息38判定為相同的例子。圖12A至圖12E各自示出有帶斜線的多個塊和2個涂白的塊。圖12A至圖12E中,為了簡化說明,假設不考慮帶斜線的塊,而比較這2個涂白的塊的運動信息38的情況。2個涂白的塊的一方是運動參照塊P,另一方是已經(jīng)判定為可利用的運動參照塊q(可利用塊q)。只要沒有特別說明,2個白色塊中的任意一個都可以是運動參照塊P。
[0232]圖12A示出運動參照塊P以及可利用塊q的雙方為空間方向的塊的例子。在圖12A的例子中,如果塊A以及B的運動信息38相同,則判定為運動信息38相同。此時,塊A以及B的大小不需要相同。
[0233]圖12B示出運動參照塊P以及可利用塊q的一方是空間方向的塊A,另一方是時間方向的塊TB的例子。在圖12B中,在時間方向的塊TB內(nèi)有一個具有運動信息的塊。如果時間方向的塊TB的運動信息38和空間方向的塊A的運動信息38相同,則判定為運動信息38相同。此時,塊A以及TB的大小不需要相同。
[0234]圖12C示出運動參照塊P以及可利用塊q的一方是空間方向的塊A,另一方為時間方向的塊TB的另一例。圖12C示出時間方向的塊TB被分割為多個小塊,且存在多個具有運動信息38的小塊的情況。在圖12C的例子中,具有運動信息38的全部的塊具有相同的運動信息38,如果該運動信息38與空間方向的塊A的運動信息38相同,則判定為運動信息38相同。此時,塊A以及TB的大小不需要相同。
[0235]圖12D示出運動參照塊P以及可利用塊q都是時間方向的塊的例子。在這種情況下,如果塊TB以及TE的運動信息38相同,則判定為運動信息38相同。
[0236]圖12E示出運動參照塊P以及可利用塊q都是時間方向的塊的另一例子。圖12E示出將時間方向的塊TB以及TE分別分割為多個小塊,并且各自存在多個具有運動信息38的小塊的情況。在這種情況下,針對塊內(nèi)的每個小塊比較運動信息38,如果針對全部的小塊運動信息38相同,則判定為塊TB的運動信息38和塊TE的運動信息38相同。
[0237]圖12F示出運動參照塊P以及可利用塊q都是時間方向的塊的另一例子。圖12F示出將時間方向的塊TE分割為多個小塊,塊TE中存在多個具有運動信息38的小塊的情況。在塊TE的全部的運動信息38是相同的運動信息38、且與塊TD所具有的運動信息38相同的情況下,判定為塊TD與TE的運動信息38相同。
[0238]由此,在步驟S803中,判定運動參照塊P的運動信息38和可利用塊q的運動信息38是否相同。在圖12A至圖12F的例子中,設與運動參照塊P進行比較的可利用塊q的數(shù)量為I進行了說明,但在可利用塊q的數(shù)量為2以上的情況下,也可以將運動參照塊P的運動信息38與各個可利用塊q的運動信息38進行比較。另外,在應用后述的比例縮放的情況下,比例縮放后的運動信息38成為上述說明的運動信息38。
[0239]另外,運動參照塊P的運動信息和可利用塊q的運動信息相同的判定不限于運動信息所包含的各運動矢量完全一致的情況。例如,也可以只要2個運動矢量的差的范數(shù)在規(guī)定的范圍內(nèi)就認為運動參照塊P的運動信息和可利用塊q的運動信息實質上相同。
[0240]圖32是更詳細地示出編碼列解碼部301的框圖。如圖32所示,編碼列解碼部301具有:將編碼數(shù)據(jù)80分離為語法單位的分離部320、對變換系數(shù)進行解碼的變換系數(shù)解碼部322、對選擇塊信息進行解碼的選擇塊解碼部323、以及對與預測塊大小以及量子化有關的參數(shù)等進行解碼的參數(shù)解碼部321。
[0241]參數(shù)解碼部321從分離部接收包括與預測塊大小以及量子化有關的參數(shù)的編碼數(shù)據(jù)80A,對編碼數(shù)據(jù)80A進行解碼并生成控制信息71。變換系數(shù)解碼部322從分離部320接收所編碼的變換系數(shù)80B,對該編碼的變換系數(shù)80B進行解碼,得到變換系數(shù)信息33。選擇塊解碼部323輸入與選擇塊有關的編碼數(shù)據(jù)80C以及可利用塊信息60,輸出選擇塊信息61。如圖11所示,所輸入的可利用塊信息60針對每個運動參照塊示出可利用性。
[0242]接著,參照圖33,詳細說明預測部305。
[0243]如圖33所示,預測部305具有運動信息選擇部314以及運動補償部313,運動信息選擇部314具有空間方向運動信息取得部310、時間方向運動信息取得部311以及運動信息切換開關312。預測部305基本上具有與在第I實施方式中說明的預測部101相同的結構以及功能。
[0244]預測部305輸入可利用塊信息60、選擇塊信息61、參照運動信息39以及參照圖像信號37,輸出預測圖像信號35以及運動信息38??臻g方向運動信息取得部310以及時間方向運動信息取得部311分別具有與在第I實施方式中說明的空間方向運動信息取得部110以及時間方向運動信息取得部111相同的功能??臻g方向運動信息取得部310使用可利用塊信息60以及參照運動信息39,生成包括位于空間方向的各可利用塊的運動信息以及索引的運動信息38A。時間方向運動信息取得部311使用可利用塊信息60以及參照運動信息39,生成包括位于時間方向的各可利用塊的運動信息以及索引的運動信息(或運動信息的組)38B。
[0245]在運動信息切換開關312中,按照選擇塊信息61,從來自空間方向運動信息取得部310的運動信息38A以及來自時間方向運動信息取得部311的運動信息(或運動信息的組)38B中選擇一個,得到運動信息38。所選擇的運動信息38被送往運動補償部313以及運動信息存儲器306。運動補償部313按照所選擇的運動信息38與在第I實施方式中說明的運動補償部113同樣地進行運動補償預測,生成預測圖像信號35。
[0246]在運動補償部313的運動矢量的比例縮放功能中,與在第I實施方式中說明的相同,因此省略說明。
[0247]圖22示出圖像解碼部300中的語法結構。如圖22所示,語法主要包括3個部分,即高級語法901、切片級語法904以及微塊級語法907。高級語法901保持切片以上的上位層的語法信息。切片級語法904針對每個切片保持所需要的信息,微塊級語法907針對圖7A至圖7D所示的每個微塊保持所需要的數(shù)據(jù)。
[0248]各部分包括更詳細的語法。高級語法901包括序列參數(shù)組語法902以及圖形參數(shù)組語法903等序列以及圖形級的語法。切片級語法904包括切片頭語法905以及切片數(shù)據(jù)語法906等。另外,微塊級語法907包括微塊層語法908以及微塊預測語法909等。
[0249]圖23A以及圖23B示出微塊層語法的例子。圖23A以及圖23B所示的available—block_num表示可利用塊的數(shù)量,當其為大于I的值的情況下,需要選擇塊信息的解碼。另夕卜,stdsjdx示出選擇塊信息,使用與前述的可利用塊數(shù)對應的代碼表對stdsjdx進行編碼。
[0250]圖23A示出在mb_type之后對選擇塊信息進行解碼時的語法。當mb_type所示的預測模式為確定了的大小或確定了的模式(TARGET_M0DE)的情況下,并且在available_bloCk_num為大于I的值的情況下,對stdsjdx進行解碼。例如,選擇塊的運動信息成為可利用的是塊大小為64\64像素、32\32像素、16\16像素的情況下對8丨(18」(11進行編碼,或者在直接模式的情況下對Stdsjdx進行編碼。
[0251]圖23B示出在mb_type之前對選擇塊信息進行解碼時的語法。當available—block_num為大于I的值的情況下,對stds_idx進行解碼。另外,如果available_block_num為0,則進行H.264所代表的以往的運動補償,所以對mb_type進行編碼。
[0252]圖23A以及圖23B所示的表的行間也可能示出在本發(fā)明中未規(guī)定的語法要素,也可以包括與除此以外的條件分岐有關的記述。或者,也能夠將語法表分割、合并為多個表。另外,不需要必須使用相同的用語,也可以根據(jù)利用的方式而任意地變更。另外,在該微塊層語法中記述的各個語法片斷也可以變更為明確記載在后述的微塊數(shù)據(jù)語法中。
[0253]如上所述,本實施方式的圖像解碼裝置對通過前述的第I實施方式的圖像編碼裝置編碼了的圖像進行解碼。因此,本實施方式的圖像解碼能夠根據(jù)比較小的編碼數(shù)據(jù)再現(xiàn)聞像質的解碼圖像。
[0254](第4實施方式)
[0255]圖34概略地示出第4實施方式的圖像解碼裝置。如圖34所示,圖像解碼裝置具備圖像解碼部400、解碼控制部350以及輸出緩存器308。第4實施方式的圖像解碼裝置與第2實施方式的圖像編碼裝置對應。在第4實施方式中,主要對與第3實施方式不同的部分以及動作進行說明。如圖34所示,在本實施方式的圖像解碼部400中,編碼列解碼部401以及預測部405與第3實施方式不同。
[0256]本實施方式的預測部405選擇性地切換以下兩種預測方式,并生成預測圖像信號35,該兩種預測方式包括:使用選擇塊所具有的運動信息進行運動補償?shù)念A測方式(第I預測方式);如H.264那樣的、針對解碼對象塊使用一個運動矢量進行運動補償?shù)念A測方式(第2預測方式)。
[0257]圖35是更詳細地示出編碼列解碼部401的框圖。圖35所示的編碼列解碼部401在圖32所示的編碼列解碼部301的結構上進一步具備運動信息解碼部424。另外,圖35所示的選擇塊解碼部423與圖32所示的選擇塊解碼部323不同,對與選擇塊有關的編碼數(shù)據(jù)80C進行解碼,得到預測切換信息62。預測切換信息62表示圖1的圖像編碼裝置內(nèi)的預測部101使用了第I以及第2預測方式中的哪一個。當預測切換信息62表示預測部101使用了第I預測方式的情況下,即利用第I預測方式對解碼對象塊編碼的情況下,選擇塊解碼部423對編碼數(shù)據(jù)80C中的選擇塊信息進行解碼,得到選擇塊信息61。當預測切換信息62表示預測部101使用了第2預測方式的情況下,即利用第2預測方式對解碼對象塊編碼的情況下,選擇塊解碼部423不對選擇塊信息解碼,運動信息解碼部424對所編碼的運動信息80D解碼,得到運動/[目息40。
[0258]圖36是更詳細地示出預測部405的框圖。圖34所示的預測部405具備第I預測部305、第2預測部410以及預測方法切換開關411。第2預測部410使用由編碼列解碼部401解碼了的運動信息40以及參照圖像信號37,進行與圖33的運動補償部313同樣的運動補償預測,生成預測圖像信號35B。第I預測部305與在第3實施方式中說明的預測部305相同,生成預測圖像信號35B。另外,預測方法切換開關411根據(jù)預測切換信息62,從來自第2預測部410的預測圖像信號35B以及來自第I預測部305的預測圖像信號35A中選擇某一方,并作為預測部405的預測圖像信號35而輸出。同時,預測方法切換開關411將所選擇的在第I預測部305或者第2預測部410中使用過的運動信息作為運動信息38而發(fā)送給運動信息存儲器306。
[0259]接著,關于與本實施方式有關的語法結構,主要對與第3實施方式不同的點進行說明。
[0260]圖30A以及圖30B分別示出本實施方式的微塊層語法的例子。圖30A所示的available_bl0Ck_num表示可利用塊的數(shù)量,當其為大于I的值的情況下,選擇塊解碼部423對編碼數(shù)據(jù)80C中的選擇塊信息進行解碼。另外,stds_flag是表示在運動補償預測中是否將選擇塊的運動信息作為解碼對象塊的運動信息而使用了的標記、即表示預測方法切換開關411選擇了第I預測部305以及第2預測部410中的哪一方的標記。當可利用塊的數(shù)量大于1、且stds_flag為I的情況下,表示在運動補償預測中使用了選擇塊所具有的運動信息。另外,當stds_flag為O的情況下,不利用選擇塊所具有的運動信息,而與H.264同樣地直接對運動信息的信息進行編碼或者對所預測的差分值進行編碼。另外,stdS_idx表示選擇塊信息,與可利用塊數(shù)對應的代碼表如前所述。
[0261]圖30A示出在mb_type之后對選擇塊信息進行解碼時的語法。僅在mb_type所示的預測模式為確定了的塊大小或確定了的模式的情況下,對stds_flag以及stds_idx進行解碼。例如,當塊大小為64X64、32X32、16X16的情況下,或者是直接模式的情況下,對stds_flag以及stds_idx進行解碼。
[0262]圖30B示出在mb_type之前對選擇塊信息進行解碼時的語法。例如當stds_flag為I的情況下,不需要對mb_type解碼。當stds_flag為O的情況下,對mb_type進行解碼。
[0263]如以上所述,本實施方式的圖像解碼裝置對通過前述的第2實施方式的圖像編碼裝置編碼了的圖像進行解碼。因此,本實施方式的圖像解碼能夠根據(jù)比較小的編碼數(shù)據(jù)再現(xiàn)高像質的解碼圖像。
[0264]另外,本發(fā)明不限于上述實施方式本身,在實施階段,在不脫離其要旨的范圍內(nèi)能夠對結構要素進行變形而具體化。另外,通過上述實施方式公開的多個結構要素的適當組合,能夠形成各種發(fā)明。例如,也可以從實施方式所示的全部結構要素中刪除幾個結構要素。另外,也可以適當?shù)亟M合不同的實施方式中的結構要素。
[0265]作為該一例,即使如下所述地對上述的第I至第4實施方式進行變形也能獲得同樣的效果。
[0266](I)在第I至第4實施方式中,對將處理對象幀分割為16 X 16像素塊等矩形塊、并按照圖4所示那樣的從畫面左上的像素塊向右下的像素塊的順序進行編碼或解碼時的例子進行了說明,但編碼或解碼順序不限于該例子。例如,編碼或解碼順序既可以是從畫面右下向左上的順序,也可以是從右上向左下的順序。另外,編碼或解碼順序既可以是從畫面的中央部螺旋狀地向周邊部的順序,也可以是從畫面的周邊部向中心部的順序。
[0267](2)在第I至第4實施方式中,以不分亮度信號和色差信號、而限定為一個的色信號分量的情況為例子進行了說明。但是,針對亮度信號以及色差信號既可以使用不同的預測處理,或者也可以使用相同的預測處理。在使用不同的預測處理的情況下,將針對色差信號選擇的預測方法,利用與亮度信號同樣的方法進行編碼/解碼。
[0268]另外,顯然,在不脫離本發(fā)明的要旨的范圍實施各種變形也同樣能夠實施。
[0269]產(chǎn)業(yè)上的可利用性
[0270]本發(fā)明的圖像編碼/解碼方法能夠提高編碼效率,所以具有產(chǎn)業(yè)上的可利用性。
【權利要求】
1.一種圖像解碼方法,其特征在于,具有: 第I步驟,接收與解碼對象塊的預測模式相關的模式信息的輸入; 第2步驟,與所述模式信息示出規(guī)定的信息相應地,從具有運動信息的解碼完畢的像素塊中選擇多個運動參照塊; 第3步驟,從所述多個運動參照塊中選擇至少一個可利用塊,所述至少一個可利用塊是具有應用于所述解碼對象塊的運動信息的候選的像素塊,且具有相互不同的運動信息;第4步驟,基于根據(jù)所述可利用塊的數(shù)量而預先設定的代碼規(guī)則,對所輸入的編碼數(shù)據(jù)進行解碼,從而求出用于確定選擇塊的選擇信息; 第5步驟,按照所述選擇信息,從所述可利用塊中選擇一個選擇塊; 第6步驟,使用所述選擇塊的運動信息生成所述解碼對象塊的預測圖像; 第7步驟,根據(jù)所述編碼數(shù)據(jù)對所述解碼對象塊的預測誤差進行解碼;以及 第8步驟,根據(jù)所述預測圖像和所述預測誤差求出解碼圖像, 所述多個運動參照塊至少包括所述解碼對象塊的左鄰接塊、所述解碼對象塊的左上鄰接塊、所述解碼對象塊的上鄰接塊、所述解碼對象塊的右上鄰接塊以及與所述解碼對象塊不同的幀的多個塊, 在所述第3步驟中,按照所述左鄰接塊、所述上鄰接塊、所述右上鄰接塊的順序判定這些鄰接塊的可利用性,進 而之后判定所述左上鄰接塊的可利用性。
2.根據(jù)權利要求1所述的圖像解碼方法,其特征在于, 在所述第3步驟中,在所述運動參照塊具有運動信息、并且該運動信息與對應于已經(jīng)被判定為可利用的運動參照塊的運動信息不一致的情況下,判定為可利用塊。
3.一種圖像解碼裝置,其特征在于,具備: 輸入部,接收與解碼對象塊的預測模式相關的模式信息的輸入; 可利用塊取得部,與所述模式信息示出規(guī)定的信息相應地,從具有運動信息的解碼完畢的像素塊中選擇多個運動參照塊,從所述多個運動參照塊中選擇至少一個可利用塊,所述至少一個可利用塊是具有應用于所述解碼對象塊的運動信息的候選的像素塊,且具有相互不同的運動信息; 第I解碼部,基于根據(jù)所述可利用塊的數(shù)量而預先設定的代碼規(guī)則,對所輸入的編碼數(shù)據(jù)進行解碼,從而求出用于確定選擇塊的選擇信息; 選擇部,按照所述選擇信息,從所述可利用塊中選擇一個選擇塊; 預測部,使用所述選擇塊的運動信息生成所述解碼對象塊的預測圖像; 第2解碼部,根據(jù)所述編碼數(shù)據(jù)對所述解碼對象塊的預測誤差進行解碼;以及 加法器,根據(jù)所述預測圖像和所述預測誤差求出解碼圖像, 所述多個運動參照塊至少包括所述解碼對象塊的左鄰接塊、所述解碼對象塊的左上鄰接塊、所述解碼對象塊的上鄰接塊、所述解碼對象塊的右上鄰接塊以及與所述解碼對象塊不同的幀的多個塊, 在所述可利用塊取得部中,按照所述左鄰接塊、所述上鄰接塊、所述右上鄰接塊的順序判定這些鄰接塊的可利用性,進而之后判定所述左上鄰接塊的可利用性。
4.根據(jù)權利要求3所述的圖像解碼裝置,其特征在于, 在所述可利用塊取得部中,在所述運動參照塊具有運動信息、并且該運動信息與對應于已經(jīng)被判定為可利用的運動參照塊的運動信息不一致的情況下,判定為可利用塊。
【文檔編號】H04N19/139GK103813164SQ201410051515
【公開日】2014年5月21日 申請日期:2010年4月8日 優(yōu)先權日:2010年4月8日
【發(fā)明者】鹽寺太一郎, 淺香沙織, 谷沢昭行, 中條健 申請人:株式會社東芝