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