本申請基于專利法實(shí)施細(xì)則第42條提出,是申請日為2011年9月29日、申請?zhí)枮?01180046286.1的發(fā)明專利申請“圖像預(yù)測編碼裝置、圖像預(yù)測編碼方法、圖像預(yù)測編碼程序、圖像預(yù)測解碼裝置、圖像預(yù)測解碼方法及圖像預(yù)測解碼程序”的分案申請。
本發(fā)明的實(shí)施方式涉及圖像預(yù)測解碼方法,更具體地講,涉及使用周圍塊的運(yùn)動信息生成對象塊的預(yù)測信號的圖像預(yù)測解碼方法。
背景技術(shù):
為了高效地進(jìn)行靜態(tài)圖像或動態(tài)圖像數(shù)據(jù)的傳輸和蓄積采用了壓縮編碼技術(shù)。對于動態(tài)圖像,mpeg-1~4或itu(internationaltelecommunicationunion,國際電信聯(lián)盟)h.261~h.264中規(guī)定的技術(shù)得到了廣泛應(yīng)用。
在這些編碼技術(shù)中,將作為編碼對象的圖像分割為多個塊來進(jìn)行基于塊的編碼及解碼處理。在畫面內(nèi)預(yù)測編碼中,使用位于和對象塊相同的畫面內(nèi)的相鄰區(qū)域的已再現(xiàn)的圖像信號(即將被壓縮的圖像數(shù)據(jù)復(fù)原后的信號)生成預(yù)測信號,對該預(yù)測信號與對象塊的像素信號之間的差分即差分信號進(jìn)行編碼。在畫面間預(yù)測編碼中,參照位于和對象塊不同的畫面內(nèi)的相鄰區(qū)域的已再現(xiàn)的圖像信號進(jìn)行運(yùn)動的校正,由此生成預(yù)測信號,并對該預(yù)測信號與對象塊的信號之間差分即差分信號進(jìn)行編碼。
例如,在h.264的畫面內(nèi)預(yù)測編碼中采用如下方法:沿預(yù)定的方向?qū)εc作為編碼對象的塊相鄰的區(qū)域的已再現(xiàn)的像素值進(jìn)行外插而生成預(yù)測信號。圖17是用于說明在ituh.264中使用的畫面內(nèi)預(yù)測方法的示意圖。在圖17(a)中,對象塊802是作為編碼的對象的塊,由與該對象塊802的邊界相鄰的像素a~m構(gòu)成的像素組801是相鄰區(qū)域,而且是在過去的處理中已經(jīng)被再現(xiàn)的圖像信號。
在圖17的(a)所示的預(yù)測中,將位于對象塊802的正上方的相鄰像素即像素組801向下拉伸,由此生成預(yù)測信號。另外,在圖17的(b)中,將位于對象塊804的左側(cè)的已再現(xiàn)像素(i~l)向右拉伸,由此生成預(yù)測信號。關(guān)于生成預(yù)測信號的具體方法,可參照例如專利文獻(xiàn)1。對于這樣利用圖17的(a)~(i)所示的方法生成的9個預(yù)測信號的各個候選,獲取它們與對象塊的像素信號之間的差分,將這些差分進(jìn)行比較,由此將提供最小的差分值的候選選擇為最佳的預(yù)測信號。如上所述,通過對像素進(jìn)行外插能夠生成預(yù)測信號。有關(guān)以上內(nèi)容記載在下述專利文獻(xiàn)1中。
在通常的畫面間預(yù)測編碼中,利用從已經(jīng)再現(xiàn)的畫面中搜索與對象塊的像素信號相似的信號的方法來生成預(yù)測信號。并且,對作為對象塊與搜索到的信號構(gòu)成的區(qū)域之間的在空間的位移量的運(yùn)動矢量、以及作為對象塊的像素信號與預(yù)測信號之間的差分的殘差信號進(jìn)行編碼。這樣按照每個塊搜索運(yùn)動矢量的方法被稱為塊匹配(blockmatching)。
圖16是用于說明塊匹配處理的示意圖。在此,以編碼對象的畫面701上的對象塊702為例說明預(yù)測信號的生成步驟。畫面703是已再現(xiàn)圖像,該已再現(xiàn)圖像內(nèi)的區(qū)域704是在空間上和對象塊702相同的位置的區(qū)域。在塊匹配中設(shè)定包含區(qū)域704的搜索范圍705。從該搜索范圍中檢測出具有相對于對象塊702的像素信號的絕對值誤差和為最小的信號的區(qū)域706。該區(qū)域706的信號成為預(yù)測信號,從區(qū)域704向區(qū)域706的位移量被檢測作為運(yùn)動矢量707。并且,準(zhǔn)備多個參照畫面,按照每個對象塊選擇實(shí)施塊匹配的參照畫面,并檢測參照畫面選擇信息的方法也廣為應(yīng)用。在h.264中,為了應(yīng)對圖像的局部特點(diǎn)的變化,有時準(zhǔn)備對運(yùn)動矢量進(jìn)行編碼的塊尺寸不同的多種預(yù)測類型。關(guān)于h.264的預(yù)測類型記載在例如專利文獻(xiàn)2中。
在動態(tài)圖像數(shù)據(jù)的壓縮編碼中,各個畫面(幀、字段)的編碼順序可以是任意順序。因此,在參照已再現(xiàn)畫面生成預(yù)測信號的畫面間預(yù)測中,關(guān)于編碼順序有三種方法。第一種方法是按照顯示順序參照過去的已再現(xiàn)畫面生成預(yù)測信號的向前預(yù)測,第二種方法是按照顯示順序參照未來的已再現(xiàn)畫面的向后預(yù)測,第三種方法是同時進(jìn)行向前預(yù)測和向后預(yù)測,并對兩個預(yù)測信號進(jìn)行平均的雙向預(yù)測。關(guān)于畫面間預(yù)測的類型記載在例如專利文獻(xiàn)3中。
在h.264中,執(zhí)行利用由多個已再現(xiàn)畫面構(gòu)成的兩個參照畫面列表作為參照畫面的候選的第三種方法。更具體地講,使用在各個參照畫面列表中登記的多個參照畫面進(jìn)行塊匹配,檢測出與區(qū)域706相當(dāng)?shù)膬蓚€區(qū)域,并對檢測出的兩個預(yù)測信號進(jìn)行平均。
使用圖5和圖6說明參照畫面列表的示例。在圖5的(a)中,畫面505表示編碼對象圖像,畫面501~畫面504表示已再現(xiàn)圖像。各個圖像(畫面)的識別是利用幀號(frame_num)進(jìn)行的。圖6的(a)的參照畫面列表識別號碼list0和list1表示兩個參照畫面列表,在該示例中,在這兩個參照畫面列表中分別登記了4個參照畫面。各個參照畫面利用參照畫面號碼(ref_idx)進(jìn)行識別。
能夠登記在參照畫面列表中的已再現(xiàn)圖像基本上是任意圖像。也可以如圖6的(a)所示的表521那樣,在兩個參照畫面列表中登記的參照畫面全部是過去的已再現(xiàn)圖像。在這種情況下,兩個預(yù)測信號均是向前預(yù)測,因而將對兩個預(yù)測信號進(jìn)行平均的預(yù)測方法稱為兩方向預(yù)測,而不是雙向預(yù)測。
在該兩方向預(yù)測中,需要對運(yùn)動矢量與參照畫面號碼兩者的組合(運(yùn)動信息)進(jìn)行編碼。因此,為了減少編碼量,有使用相鄰塊的運(yùn)動信息中、利用list0來識別的運(yùn)動信息和利用list1來識別的運(yùn)動信息進(jìn)行兩方向預(yù)測的方法。
現(xiàn)有技術(shù)文獻(xiàn)
專利文獻(xiàn)
專利文獻(xiàn)1:美國專利公報第6765964號
專利文獻(xiàn)2:美國專利公報第7003035號
專利文獻(xiàn)3:美國專利公報第6259739號
技術(shù)實(shí)現(xiàn)要素:
發(fā)明要解決的問題
在兩方向預(yù)測中,通過對相似的兩個預(yù)測信號進(jìn)行平均,能夠利用平滑效果更有效地去除包含于預(yù)測信號中的噪聲。因此,可以從相同的參照畫面中取得運(yùn)動矢量略微不同的兩個信號。但是,在使用相鄰塊的運(yùn)動信息的兩方向預(yù)測的現(xiàn)行方法中,在生成兩個預(yù)測信號時使用的運(yùn)動信息的選擇受到參照畫面列表的限制。由于這種限制,相鄰塊的兩個運(yùn)動信息的組即使是包含基于相同的參照畫面的數(shù)值接近的運(yùn)動矢量,有時也不能進(jìn)行選擇。
在此,假設(shè)在圖7的塊400是編碼對象塊、塊401~塊403是對象塊的相鄰塊時,三個相鄰塊分別具有利用list0和list1識別的兩個運(yùn)動信息。根據(jù)背景技術(shù)的方法,從三個相鄰塊的運(yùn)動信息、即利用list0識別的三個運(yùn)動信息和利用list1識別的三個運(yùn)動信息中分別選擇一個運(yùn)動信息,并生成兩個預(yù)測信號。通常,參照畫面號碼ref_idx需要的編碼量在該參照畫面號碼ref_idx是“0”時減少,因而往往是相鄰塊的運(yùn)動信息中所包含的參照畫面號碼ref_idx全部是0。在參照畫面號碼是“0”的情況下,如果采用圖6的(a)的參照畫面列表(521),則兩個預(yù)測信號分別是從幀號(frame_num)為“3”的參照畫面和幀號為“2”的參照畫面取得的。在這種情況下,將不能得到較高的平滑效果。
作為另一個示例,假設(shè)兩個參照畫面列表由不同的參照畫面構(gòu)成的情況。如圖5的(b)所示,利用幀號“3”識別出的畫面510是編碼對象圖像,利用幀號“0”、“1”、“2”、“4”識別出的畫面507、508、509、511是已再現(xiàn)圖像,在參照畫面列表是如圖6的(b)所示的列表522的情況下,將根據(jù)不同的參照畫面生成兩個預(yù)測信號。在這種情況下也不能得到較高的平滑效果。
因此,需要能夠抑制預(yù)測信號的噪聲的圖像預(yù)測編碼裝置、圖像預(yù)測編碼方法、圖像預(yù)測編碼程序、圖像預(yù)測解碼裝置、圖像預(yù)測解碼方法及圖像預(yù)測解碼程序。
用于解決問題的手段
本發(fā)明的一個方面涉及圖像預(yù)測解碼方法。
本發(fā)明的一個方面涉及的圖像預(yù)測解碼裝置包括如下步驟:從壓縮數(shù)據(jù)中提取運(yùn)動信息的編碼數(shù)據(jù)或指示信息的編碼數(shù)據(jù),并從所述壓縮數(shù)據(jù)中提取殘差信號的編碼數(shù)據(jù),所述運(yùn)動信息的編碼數(shù)據(jù)用于生成圖像內(nèi)的多個區(qū)域中的作為解碼對象的對象區(qū)域的預(yù)測信號,所述指示信息的編碼數(shù)據(jù)用于確定附隨于待解碼的幀內(nèi)的與所述對象區(qū)域相鄰的相鄰區(qū)域的多個運(yùn)動信息中的用于該對象區(qū)域的預(yù)測信號的生成的運(yùn)動信息組、以及附隨于已解碼的先前幀內(nèi)的區(qū)域的運(yùn)動信息;對所述運(yùn)動信息的編碼數(shù)據(jù)進(jìn)行解碼而復(fù)原分別包含參照畫面列表編號、參照畫面編號以及運(yùn)動矢量的兩個運(yùn)動信息,或者,對所述指示信息的編碼數(shù)據(jù)進(jìn)行解碼而復(fù)原指示信息;將附隨于所述已解碼的先前幀內(nèi)的區(qū)域的所述運(yùn)動信息設(shè)置為根據(jù)所述先前幀的畫面與所述待解碼的幀的畫面之間的時間方向的距離對運(yùn)動矢量進(jìn)行了縮放后的運(yùn)動信息,在復(fù)原了所述指示信息的情況下,從保存在存儲器中的多個運(yùn)動信息中,導(dǎo)出分別包含兩個運(yùn)動信息的一個以上的運(yùn)動信息組,在該兩個運(yùn)動信息之間,由各自的參照畫面列表編號及各自的參照畫面編號確定的各自的幀編號相互不同,或各自的運(yùn)動矢量相互不同;根據(jù)所述指示信息,從所述一個以上的運(yùn)動信息組中確定在所述對象區(qū)域的預(yù)測信號的生成中使用的運(yùn)動信息組;根據(jù)作為所確定的所述運(yùn)動信息組的兩個運(yùn)動信息或者所復(fù)原的兩個運(yùn)動信息,將從保存于所述存儲器中的已再現(xiàn)圖像取得的兩個信號合成,來生成所述對象區(qū)域的所述預(yù)測信號;將在所述對象區(qū)域的所述預(yù)測信號的生成中使用的運(yùn)動信息保存在所述存儲器中;由所述殘差信號的編碼數(shù)據(jù),來復(fù)原所述對象區(qū)域的殘差信號;根據(jù)所述預(yù)測信號和所復(fù)原的所述殘差信號,再現(xiàn)所述對象區(qū)域的像素信號;以及將所再現(xiàn)的所述像素信號作為已再現(xiàn)圖像的一部分進(jìn)行保存。
發(fā)明效果
如以上說明的那樣,根據(jù)本發(fā)明的幾個方面,能夠提供可以抑制預(yù)測信號的噪聲的圖像預(yù)測解碼裝置、圖像預(yù)測解碼方法。
附圖說明
圖1是示出一個實(shí)施方式的圖像預(yù)測編碼裝置的結(jié)構(gòu)的圖。
圖2是示出圖1所示的預(yù)測信號生成器的結(jié)構(gòu)的圖。
圖3是示出圖2所示的運(yùn)動信息導(dǎo)出器的處理的流程圖。
圖4是用于說明使用對象塊的相鄰像素從候選運(yùn)動預(yù)測信息(兩個運(yùn)動信息的組合)中選擇一個候選預(yù)測信息的方法的示例的示意圖。
圖5是說明畫面的編碼順序的示例的示意圖。
圖6是說明參照畫面列表的示例的圖。
圖7是說明相鄰塊的示例的圖。
圖8是說明相鄰塊的另一個示例的圖。
圖9是示出一個實(shí)施方式的圖像預(yù)測編碼方法的步驟的流程圖。
圖10是示出一個實(shí)施方式的圖像預(yù)測解碼裝置的結(jié)構(gòu)的圖。
圖11是示出一個實(shí)施方式的圖像預(yù)測解碼方法的步驟的流程圖。
圖12是示出使計算機(jī)執(zhí)行一個實(shí)施方式的圖像預(yù)測編碼方法的程序的結(jié)構(gòu)的圖。
圖13是示出使計算機(jī)執(zhí)行一個實(shí)施方式的圖像預(yù)測解碼方法的程序的結(jié)構(gòu)的圖。
圖14是示出用于執(zhí)行被記錄在記錄介質(zhì)中的程序的計算機(jī)的硬件結(jié)構(gòu)的圖。
圖15是示出用于執(zhí)行被記錄在記錄介質(zhì)中的程序的計算機(jī)的立體圖。
圖16是用于說明畫面間預(yù)測中的運(yùn)動估計處理的示意圖。
圖17是用于說明現(xiàn)行的畫面內(nèi)預(yù)測方法的示意圖。
具體實(shí)施方式
下面,參照附圖對幾個實(shí)施方式進(jìn)行詳細(xì)說明。另外,在各個附圖中對相同或者相當(dāng)?shù)牟糠謽?biāo)注相同的標(biāo)號,并省略重復(fù)說明。并且,在本說明書中,構(gòu)成動態(tài)圖像的“幀”、“畫面”、“圖像”(圖5的501~511)表示相同的意思。
圖1是示出一個實(shí)施方式的圖像預(yù)測編碼裝置的結(jié)構(gòu)的圖。圖1所示的圖像預(yù)測編碼裝置100具有輸入端子101、塊分割器102、預(yù)測信號生成器103、幀存儲器104、減法器105、變換器106、量化器107、逆量化器108、逆變換器109、加法器110、量化變換系數(shù)編碼器111、輸出端子112、預(yù)測信息用存儲器113和預(yù)測信息編碼器114。在一個實(shí)施方式中,變換器106和量化器107作為殘差信號編碼單元發(fā)揮作用,逆量化器108和逆變換器109作為殘差信號復(fù)原單元發(fā)揮作用,預(yù)測信息用存儲器作為運(yùn)動信息記錄單元發(fā)揮作用。另外,預(yù)測信息用存儲器113也可以包含在預(yù)測信號生成器103中。并且,在一個實(shí)施方式中,量化變換系數(shù)編碼器111也可以作為殘差信號編碼單元的一部分發(fā)揮作用,在這種情況下,對由量化變換系數(shù)編碼器111生成的數(shù)據(jù)進(jìn)行解碼而輸出給逆量化器的要素,構(gòu)成殘差信號復(fù)原單元的一部分。
輸入端子101是輸入由多張圖像構(gòu)成的動態(tài)圖像的信號的端子。
塊分割器102將用從輸入端子101輸入的信號表示的作為編碼對象的圖像分割為多個區(qū)域。在一個實(shí)施方式中,編碼對象的圖像能夠分割為由8×8像素構(gòu)成的多個塊。這些多個區(qū)域或者塊作為被應(yīng)用下面說明的處理的對象區(qū)域或者對象塊。另外,塊的大小和形狀不限于此。并且,也可以在畫面內(nèi)混合存在尺寸不同的塊。
預(yù)測信號生成器103檢測用于生成對象塊內(nèi)的各個預(yù)測塊的預(yù)測信號所需要的運(yùn)動信息,并且生成預(yù)測信號。關(guān)于預(yù)測信號的生成方法沒有限定,也可以是如在背景技術(shù)中說明的畫面間預(yù)測或畫面內(nèi)預(yù)測(未圖示畫面內(nèi)預(yù)測)。在一個實(shí)施方式中,通過圖16所示的塊匹配能夠檢測出運(yùn)動信息。在塊匹配中,相對于對象塊的原信號(像素信號)的絕對值誤差和為最小的預(yù)測信號,從經(jīng)由線路l104取得的已再現(xiàn)圖像中被檢測出。
在一個實(shí)施方式中,在運(yùn)動信息中包含運(yùn)動矢量、參照畫面列表的識別號碼(圖5的list0和list1)、和參照畫面號碼(圖5的ref_idx)。
在如圖6所示各個參照畫面列表由多個參照畫面構(gòu)成的情況下,需要同時檢測出運(yùn)動矢量和參照畫面號碼,以便表示出包含于運(yùn)動信息中的運(yùn)動矢量是以哪個參照畫面為對象的運(yùn)動矢量。并且,在利用兩方向預(yù)測的情況下,還要同時確定預(yù)測類型(向前/向后/兩方向)。在預(yù)測類型是向前預(yù)測的情況下,檢測出參照畫面列表的識別號碼為list0的運(yùn)動信息,在預(yù)測類型是向后預(yù)測的情況下,檢測出參照畫面列表的識別號碼為list1的運(yùn)動信息。在預(yù)測類型是兩方向預(yù)測的情況下,檢測出用list0和list1識別出的兩個運(yùn)動信息。另外,在圖6所示的參照畫面列表中登記的已再現(xiàn)圖像,可以按照預(yù)先設(shè)定的規(guī)則自動確定,也可以按照幀單位或序列單位對用于特定出在參照畫面列表中登記的已再現(xiàn)圖像的信息進(jìn)行明確編碼。在一個實(shí)施方式中,該信息能夠采用如圖5和圖6所示的幀號。
返回到圖1,運(yùn)動信息和預(yù)測類型經(jīng)由線路l103c和線路l103b分別輸出給預(yù)測信息用存儲器113和預(yù)測信息編碼器114。
預(yù)測信息用存儲器113保存所輸入的運(yùn)動信息和預(yù)測類型。
預(yù)測信息編碼器114對編碼對象塊的運(yùn)動信息進(jìn)行熵編碼,將編碼數(shù)據(jù)經(jīng)由線路l114輸出給輸出端子112。關(guān)于熵編碼的方法沒有限定,可以是算術(shù)編碼或可變長編碼等。
由預(yù)測信號生成器103生成的預(yù)測信號經(jīng)由線路l103a被輸出給減法器105和加法器110。
減法器105從對象塊的像素信號中減去經(jīng)由線路l103a輸入的對象塊的預(yù)測信號,生成殘差信號。減法器105將殘差信號經(jīng)由線路l105輸出給變換器106。
變換器106對所輸入的殘差信號進(jìn)行離散余弦變換,生成變換系數(shù)。并且,量化器107對由變換器106生成的變換系數(shù)進(jìn)行量化,并生成量化變換系數(shù)。量化變換系數(shù)編碼器111對由量化器107生成的量化變換系數(shù)進(jìn)行熵編碼。由量化變換系數(shù)編碼器111生成的編碼數(shù)據(jù)經(jīng)由線路l111輸出給輸出端子112。關(guān)于量化變換系數(shù)編碼器111進(jìn)行的熵編碼的方法沒有限定,可以是算術(shù)編碼或可變長編碼等。
輸出端子112將從預(yù)測信息編碼器114和量化變換系數(shù)編碼器111接收到的信息一并輸出到外部。
逆量化器108對由量化器107生成的量化變換系數(shù)進(jìn)行逆量化,生成變換系數(shù)。逆變換器109對由逆量化器108生成的變換系數(shù)應(yīng)用逆離散余弦變換而將殘差信號復(fù)原。加法器110將被復(fù)原后的殘差信號和經(jīng)由線路l103a輸入的預(yù)測信號相加,并生成編碼對象塊的再現(xiàn)圖像信號,將該再現(xiàn)像素信號存儲在幀存儲器104中。另外,也可以采用替代變換器106和逆變換器109的處理的其它變換處理。并且,變換器106和逆變換器109不是必須的要素。這樣,編碼對象塊的再現(xiàn)像素信號被作為參照畫面即已再現(xiàn)圖像的一部分存儲在幀存儲器104中,以用于生成后續(xù)的編碼對象塊的預(yù)測信號。
在一個實(shí)施方式中,預(yù)測信號生成器103也能夠利用附隨于與對象塊相鄰的塊(相鄰塊)的運(yùn)動信息,生成對象塊的預(yù)測信號。所謂附隨于相鄰塊的運(yùn)動信息,是指在相鄰塊是編碼對象時生成預(yù)測信號所使用的運(yùn)動信息。附隨于相鄰塊的運(yùn)動信息被保存在預(yù)測信息用存儲器113中。另外,對于每個塊,可以將表示利用附隨于相鄰塊的運(yùn)動信息生成預(yù)測信號、或者使用通過塊匹配而檢測出的運(yùn)動矢量生成預(yù)測信號的信息,以編碼狀態(tài)包含在壓縮數(shù)據(jù)中。
在此,說明根據(jù)兩方向預(yù)測來生成對象塊的預(yù)測信號的情況。下面,以圖7的(a)為例進(jìn)行說明。將在對象塊400的正左方和正上方與該對象塊相鄰的兩個塊401和塊402設(shè)為相鄰塊,使用附隨于這些塊的運(yùn)動信息進(jìn)行預(yù)測。此時,如果附隨于兩個相鄰塊的預(yù)測類型是兩方向預(yù)測,則在生成對象塊的預(yù)測信號時最多能夠利用4個運(yùn)動信息。預(yù)測信號生成器103從作為候選的4個運(yùn)動信息(4個候選運(yùn)動信息)中,選擇運(yùn)動矢量的值或者參照畫面的幀號的值不同的兩個運(yùn)動信息。參照畫面的幀號(frame_num)能夠根據(jù)參照畫面列表識別號碼(list0或者list1)與參照畫面號碼(ref_idx)的組合進(jìn)行識別。并且,根據(jù)各個運(yùn)動信息從幀存儲器104取得兩個預(yù)測信號,按照像素單位對這兩個預(yù)測信號進(jìn)行平均,由此得到預(yù)測信號。如果兩個預(yù)測信號相似,作為通過平滑處理來去除噪聲的效果,預(yù)測性能得到改善。
預(yù)測信息編碼器114不對運(yùn)動信息進(jìn)行編碼,而是對用于識別4個候選運(yùn)動信息中、在生成對象塊的預(yù)測信號時使用的兩個運(yùn)動信息的信息(指示信息)進(jìn)行編碼。因此,能夠以比對運(yùn)動信息進(jìn)行編碼而得到的編碼數(shù)據(jù)的編碼量少的編碼量生成預(yù)測信號。指示信息可以是識別候選運(yùn)動信息的兩個指示信息,也可以是識別兩個候選運(yùn)動信息的組合的指示信息。
并且,預(yù)測信息用存儲器113將在實(shí)際生成對象塊的預(yù)測信號中使用的兩個運(yùn)動信息作為附隨于對象塊的運(yùn)動信息進(jìn)行保存。兩個運(yùn)動信息雖然可以直接保存,但是在現(xiàn)行的圖像預(yù)測編碼及解碼中,具有參照list0和list1這兩個參照畫面列表的制約,因而能夠按照下面說明的那樣來保存兩個運(yùn)動信息。
即,在兩個運(yùn)動信息的參照畫面列表識別號碼相同的情況下,包含于兩個運(yùn)動信息中的參照畫面列表號碼能夠按照預(yù)先設(shè)定的規(guī)則進(jìn)行變更。例如,將兩個運(yùn)動信息中具有更小的參照畫面號碼(ref_idx)的一個運(yùn)動信息的參照畫面列表識別號碼分配給list0,將另一個運(yùn)動信息的參照畫面列表識別號碼分配給list1。
在兩個運(yùn)動信息的參照畫面號碼也相同的情況下,將具有各個成分的絕對值和更小的運(yùn)動矢量的一個運(yùn)動信息的參照畫面列表識別號碼分配給list0,將另一個運(yùn)動信息的參照畫面列表識別號碼分配給list1。
通過這樣分配,在與分配前的幀號不同的幀號被參照的情況下,能夠變更參照畫面號碼(ref_idx),以使能夠參照該分配前的幀號。
并且,在如圖6的(b)所示兩個參照畫面列表不包含相同的幀號的情況下,可以使用如圖6的(c)所示進(jìn)行擴(kuò)展使得包含相同的幀號的參照畫面列表(523)來管理運(yùn)動信息。在使用附隨于相鄰塊的運(yùn)動信息來生成對象塊的預(yù)測信號的情況下,能夠直接利用該擴(kuò)展后的參照畫面列表。并且,由于記錄了幀號,因而在按照畫面間的時間方向的距離對運(yùn)動矢量進(jìn)行比例縮放(scaling)的情況下(例如,在將以圖5的(a)的畫面504為對象的運(yùn)動矢量變換為以畫面503為對象的運(yùn)動矢量的情況下,將各個向量成分設(shè)為2倍)也能夠利用。另外,此處示出的運(yùn)動矢量的保存方法能夠相互變換,因而無論使用哪種保存方法都不會影響編碼結(jié)果。
接著詳細(xì)說明預(yù)測信號生成器103的處理。圖2是示出一個實(shí)施方式的預(yù)測信號生成器的結(jié)構(gòu)的圖。如圖2所示,預(yù)測信號生成器103具有運(yùn)動信息導(dǎo)出器121、運(yùn)動預(yù)測信息選擇器122和運(yùn)動補(bǔ)償器123。另外,在該圖中省略了過去基于塊匹配的運(yùn)動檢測的部分。
在被用作相鄰塊的正上方和正左方的塊的預(yù)測類型均是兩方向預(yù)測的情況下,運(yùn)動信息導(dǎo)出器121將附隨于這些相鄰塊的4個運(yùn)動信息進(jìn)行比較。運(yùn)動信息導(dǎo)出器121將構(gòu)成運(yùn)動信息的要素即運(yùn)動矢量、參照畫面列表識別號碼、參照畫面號碼中任意一方的值與其它三個運(yùn)動信息不同的運(yùn)動信息,作為能夠在對象塊的預(yù)測中使用的候選運(yùn)動信息。如果是運(yùn)動矢量的值和參照畫面的幀號的值(參照畫面的幀號可以根據(jù)參照畫面列表與參照畫面號碼的組合來獲知)相同的運(yùn)動信息,僅將其中任意一個作為候選運(yùn)動信息。并且,運(yùn)動信息導(dǎo)出器121導(dǎo)出任意兩個候選運(yùn)動信息的組作為候選兩方向預(yù)測信息。在這種情況下,能夠?qū)С鲎疃?個候選兩方向預(yù)測信息。在將對象塊的正上方和正左方的塊中至少一個塊用作相鄰塊的兩方向預(yù)測中,能夠從相鄰塊中導(dǎo)出以下說明的個數(shù)的兩個運(yùn)動信息的組合模式。即,
(1)采用正上方的塊(402)或者正左方的塊(401)的兩個運(yùn)動信息時:兩種模式
(2)在正上方的塊(402)的一個運(yùn)動信息和正左方的塊(401)的一個運(yùn)動信息中,包含于兩個運(yùn)動信息中的參照畫面列表不同時:四種模式
(3)在正上方的塊(402)的一個運(yùn)動信息和正左方的塊(401)的一個運(yùn)動信息中,包含于兩個運(yùn)動信息中的參照畫面列表相同時:兩種模式
圖3示出運(yùn)動信息導(dǎo)出器121的處理的流程圖。首先,在步驟s301,設(shè)定在對象塊的預(yù)測中使用的相鄰塊的個數(shù)n,將當(dāng)前的相鄰塊號碼n設(shè)為“0”。例如,將塊401設(shè)定為n=0,將塊402設(shè)定為n=1。并且,將候選運(yùn)動信息的個數(shù)l初始化為0。然后,從預(yù)測信息用存儲器113取得n個塊的運(yùn)動信息和預(yù)測類型(步驟s302)。并且,根據(jù)預(yù)測類型設(shè)定附隨于n個相鄰塊的運(yùn)動信息的個數(shù)m(步驟s303)。
然后,將n個相鄰塊中的第m個運(yùn)動信息與l個候選運(yùn)動信息進(jìn)行比較(步驟s304)。在所有候選運(yùn)動信息與比較對象的運(yùn)動信息不同的情況下、或者l=0的情況下,處理進(jìn)入到步驟s305。在步驟s305,將n個相鄰塊中的第m個運(yùn)動信息追加在候選運(yùn)動信息中,將l的值加1。然后,處理進(jìn)入到步驟s306。
在步驟s304,當(dāng)在候選運(yùn)動信息中找到與第m個運(yùn)動信息相同的候選運(yùn)動信息的情況下,處理進(jìn)入到步驟s306。另外,在步驟s304,如果所比較的兩個運(yùn)動矢量的值相同、而且與所比較的兩個參照畫面號碼和參照畫面列表識別號碼的組對應(yīng)的幀號相同,即使是參照畫面列表不同,也判定為相同的運(yùn)動信息。這是因?yàn)樵趦蓚€運(yùn)動信息的運(yùn)動矢量與其參照畫面的幀號相同的情況下,從該運(yùn)動信息生成的預(yù)測信號一致。
在步驟s306,將m的值加1。然后,在步驟s307,針對附隨于n個相鄰塊的所有運(yùn)動信息,判定是否已完成步驟s304~步驟s306的處理,在已完成時處理進(jìn)入到步驟s308,在沒有完成時處理返回到步驟s304。
在步驟s308,將相鄰塊的號碼n的值加1。并且,在步驟s309,判定是否所有相鄰塊的處理已完成。在已完成時處理進(jìn)入到步驟s310,在沒有完成時處理返回到步驟s302。
最后,在步驟s310,從l個候選運(yùn)動信息中將運(yùn)動矢量的值或者參照畫面的幀號的值(參照畫面的幀號可以根據(jù)參照畫面列表與參照畫面號碼的組合而得知)不同的兩個運(yùn)動信息的組全部導(dǎo)出,并設(shè)定為候選兩方向預(yù)測信息。
另外,關(guān)于運(yùn)動信息導(dǎo)出器121利用來自哪個相鄰塊的運(yùn)動信息,可以預(yù)先對編碼側(cè)和解碼側(cè)雙方進(jìn)行設(shè)定。并且,也可以將用于確定出運(yùn)動信息導(dǎo)出器121利用來自哪個相鄰塊的運(yùn)動信息的信息以編碼狀態(tài)傳遞給解碼側(cè)。
在運(yùn)動預(yù)測信息選擇器122中,從由運(yùn)動信息導(dǎo)出器121經(jīng)由線路l121輸入的候選兩方向預(yù)測信息中,選擇一個最佳的候選兩方向預(yù)測信息。具體地講,選擇使“對根據(jù)兩個候選運(yùn)動信息經(jīng)由線路l104從幀存儲器104取得的兩個信號進(jìn)行平均得到的信號”與“經(jīng)由線路l102得到的對象塊的像素信號”之間的差分絕對值和為最小的候選兩方向預(yù)測信息。并且,將所選擇的候選兩方向預(yù)測信息、或者用于識別構(gòu)成所選擇的候選兩方向預(yù)測信息的兩個候選運(yùn)動信息的指示信息,經(jīng)由線路l103b輸出給預(yù)測信息編碼器。
并且,運(yùn)動預(yù)測信息選擇器122將所選擇的兩個運(yùn)動信息經(jīng)由線路l103c輸出給預(yù)測信息用存儲器并保存于此,并且經(jīng)由線路l122輸出給運(yùn)動補(bǔ)償器123。運(yùn)動補(bǔ)償器123根據(jù)所輸入的兩個運(yùn)動信息,對從經(jīng)由線路l104取得的已再現(xiàn)圖像中提取出的兩個已再現(xiàn)像素信號進(jìn)行平均,生成預(yù)測信號,將該預(yù)測信號經(jīng)由線路l103a輸出給減法器105和加法器110。
另外,關(guān)于利用運(yùn)動預(yù)測信息選擇器122選擇一個最佳的候選兩方向預(yù)測信息的方法沒有限定。例如,也可以如圖4所示,取代編碼對象圖像451內(nèi)的對象塊461的像素信號,而使用與其相鄰的倒l字的已再現(xiàn)的區(qū)域(462)。區(qū)域462是已再現(xiàn)的區(qū)域,因而也能夠在解碼裝置中使用。如圖所示,能夠根據(jù)一個運(yùn)動信息473從參照畫面452取得對應(yīng)于區(qū)域462的預(yù)測區(qū)域(472)。針對所有的候選兩方向預(yù)測信息,取得有關(guān)兩個候選運(yùn)動信息的倒l字的區(qū)域并對其信號進(jìn)行平均,由此能夠找到相對于區(qū)域462使差分絕對值和為最小的候選兩方向預(yù)測信息。根據(jù)該方法,在解碼裝置中也能夠選擇與編碼裝置相同的候選兩方向預(yù)測信息,因而具有不需要發(fā)送指示信息的優(yōu)點(diǎn)。
這樣,根據(jù)附隨于與對象塊相鄰的塊的運(yùn)動信息,生成與原來的信號之差較小的預(yù)測信號,而且選擇運(yùn)動矢量的值或者參照畫面的幀號的值(參照畫面的幀號可以根據(jù)參照畫面列表與參照畫面號碼的組合而得知)不同的兩個運(yùn)動信息,由此不需發(fā)送運(yùn)動信息即可進(jìn)行對象塊的兩方向預(yù)測。運(yùn)動信息包括識別參照畫面列表的信息,因而能夠?qū)崿F(xiàn)使用了參照畫面列表相同的運(yùn)動信息的兩方向預(yù)測。因此,在兩個參照畫面列表中所包含的參照畫面完全不同的情況下,也能夠?qū)嵤┦褂昧讼嗤瑓⒄债嬅娴倪\(yùn)動矢量的兩方向預(yù)測。例如,通過利用相同參照畫面的運(yùn)動矢量進(jìn)行基于兩個相似信號的兩方向預(yù)測,能夠期待借助平滑效應(yīng)來提高預(yù)測性能。
圖9是示出一個實(shí)施方式的圖像預(yù)測編碼方法的步驟的流程圖。首先,利用塊分割器102將輸入圖像分割為8×8的編碼塊(也可以分割為除此以外的塊的大小或者形狀。并且,也可以在畫面內(nèi)混合存在尺寸不同的塊)。
然后,運(yùn)動信息導(dǎo)出器121從預(yù)測信息用存儲器113取得隨附于與編碼對象的對象塊相鄰的塊的運(yùn)動信息,并提取其構(gòu)成要素的任意一個的值與其它運(yùn)動信息不同的運(yùn)動信息,作為能夠在對象塊的預(yù)測中使用的候選運(yùn)動信息。并且,導(dǎo)出任意兩個候選運(yùn)動信息的組作為候選兩方向預(yù)測信息(步驟s300)。關(guān)于該步驟s300的詳細(xì)情況,已在圖3中說明。
然后,運(yùn)動預(yù)測信息選擇器122從多個候選兩方向預(yù)測信息中選擇在生成對象塊的預(yù)測信號時使用的一個候選兩方向預(yù)測信息。并且,運(yùn)動預(yù)測信息選擇器122確定所選擇的候選兩方向預(yù)測信息、或者用于識別構(gòu)成所選擇的候選兩方向預(yù)測信息的兩個候選運(yùn)動信息的指示信息(步驟s320)。然后,在步驟s101,將所選擇的兩個運(yùn)動信息存儲在預(yù)測信息用存儲器113中,并且通過預(yù)測信息編碼器114對指示信息進(jìn)行編碼。
然后,在步驟s102,運(yùn)動補(bǔ)償器123根據(jù)所選擇的運(yùn)動信息,從由幀存儲器104取得的兩個已再現(xiàn)圖像中取得像素信號,對這些像素信號進(jìn)行平均而生成對象塊的預(yù)測信號。另外,在不使用相鄰塊的運(yùn)動信息的預(yù)測方法中,通過在圖16中說明的塊匹配來檢測出運(yùn)動信息,并根據(jù)該運(yùn)動信息生成對象塊的預(yù)測信號。由預(yù)測信息編碼器114對運(yùn)動信息和用于切換兩個預(yù)測方法的信息進(jìn)行編碼。并且,運(yùn)動信息被保存在預(yù)測信息用存儲器113中。
然后,由變換器106、量化器107和量化變換系數(shù)編碼器111對表示編碼對象塊的像素信號與預(yù)測信號之間的差分的殘差信號進(jìn)行變換編碼(步驟s103)。指示信息和量化變換系數(shù)的編碼數(shù)據(jù)通過輸出端子112被輸出(步驟s104)。
在這些處理之后或者與這些處理并行地,由逆量化器108和逆變換器109對被編碼后的殘差信號進(jìn)行解碼,以便對后續(xù)的編碼對象塊進(jìn)行預(yù)測編碼。并且,由加法器110將被解碼后的殘差信號和預(yù)測信號相加,編碼對象塊的信號被再現(xiàn)。再現(xiàn)信號被作為參照畫面(已再現(xiàn)圖像信號)存儲在幀存儲器104中(步驟s105)。并且,在沒有完成所有編碼對象塊的處理的情況下,處理返回到步驟s101,進(jìn)行對下一個編碼對象塊的處理。在完成所有編碼對象塊的處理的情況下,處理結(jié)束(步驟s106)。
下面,對一個實(shí)施方式涉及的圖像預(yù)測解碼裝置進(jìn)行說明。圖10是示出一個實(shí)施方式的圖像預(yù)測解碼裝置的框圖。圖10所示的圖像預(yù)測解碼裝置200具有輸入端子201、數(shù)據(jù)分析器202、逆量化器203、逆變換器204、加法器205、輸出端子206、量化變換系數(shù)解碼器207、預(yù)測信息解碼器208、幀存儲器104、運(yùn)動信息確定器209、運(yùn)動信息導(dǎo)出器121、預(yù)測信息用存儲器113、運(yùn)動補(bǔ)償器126。逆量化器203和逆變換器204作為殘差信號解碼單元發(fā)揮作用,預(yù)測信息用存儲器作為運(yùn)動信息記錄單元發(fā)揮作用。逆量化器303和逆變換器304的解碼單元也可以使用這些單元以外的單元實(shí)現(xiàn)。并且,也可以沒有逆變換器304。
輸入端子201輸入利用上述的圖像預(yù)測編碼方法進(jìn)行壓縮編碼后的壓縮數(shù)據(jù)。在該壓縮數(shù)據(jù)中包括以下內(nèi)容:有關(guān)多個塊的、基于通過殘差信號的變換量化而生成的量化變換系數(shù)的熵編碼的編碼數(shù)據(jù)、以及預(yù)測信息的編碼數(shù)據(jù),即用于生成塊的預(yù)測信號的運(yùn)動信息或者指示信息的編碼數(shù)據(jù)、以及表示對運(yùn)動信息和指示信息哪一方進(jìn)行編碼的信息的編碼數(shù)據(jù),該指示信息用于從隨附于相鄰塊的運(yùn)動信息中識別出在生成解碼對象的塊的預(yù)測信號時使用的運(yùn)動信息。
數(shù)據(jù)分析器202對被輸入到輸入端子201的壓縮數(shù)據(jù)進(jìn)行分析,對于解碼對象塊分離為量化變換系數(shù)的編碼數(shù)據(jù)、預(yù)測信息的編碼數(shù)據(jù),將這些編碼數(shù)據(jù)分別經(jīng)由線路l202a、線路l202b輸出給量化變換系數(shù)解碼器207和預(yù)測信息解碼器208。
預(yù)測信息解碼器208對運(yùn)動信息或者指示信息的編碼數(shù)據(jù)進(jìn)行熵解碼。被解碼后的運(yùn)動信息經(jīng)由線路l208被發(fā)送給運(yùn)動信息確定器209,再直接經(jīng)由線路l207a和線路l207b輸出給運(yùn)動補(bǔ)償器126和預(yù)測信息用存儲器113。預(yù)測信息用存儲器113保存運(yùn)動信息,運(yùn)動補(bǔ)償器126根據(jù)運(yùn)動信息,從由幀存儲器104取得的已再現(xiàn)圖像中取得像素信號,使用該像素信號生成解碼對象塊內(nèi)的各個預(yù)測塊的預(yù)測信號。所生成的預(yù)測信號經(jīng)由線路l126被輸出給加法器205。
另一方面,在預(yù)測信息解碼器208已對指示信息的編碼數(shù)據(jù)進(jìn)行了熵解碼的情況下,運(yùn)動信息導(dǎo)出器121發(fā)揮作用。如在圖3中詳細(xì)說明的那樣,運(yùn)動信息導(dǎo)出器121從預(yù)測信息用存儲器113取得附隨于與解碼對象塊相鄰的塊中的運(yùn)動信息,并提取其構(gòu)成要素的任意一個的值不同的信息,作為能夠在解碼對象塊的預(yù)測中使用的候選運(yùn)動信息。并且,運(yùn)動信息導(dǎo)出器121導(dǎo)出任意兩個候選運(yùn)動信息的組作為候選兩方向預(yù)測信息,將該候選兩方向預(yù)測信息經(jīng)由線路l121輸出給運(yùn)動信息確定器209。
運(yùn)動信息確定器209從經(jīng)由線路l121輸入的多個候選兩方向預(yù)測信息中,選擇利用經(jīng)由線路l208輸入的指示信息識別出的一個候選兩方向預(yù)測信息。構(gòu)成所選擇的候選兩方向預(yù)測信息的兩個運(yùn)動信息經(jīng)由線路l207a和線路l207b輸出給運(yùn)動補(bǔ)償器126和預(yù)測信息用存儲器113。預(yù)測信息用存儲器113保存運(yùn)動信息,運(yùn)動補(bǔ)償器126根據(jù)兩個運(yùn)動信息,從由幀存儲器104取得的已再現(xiàn)圖像中取得像素信號,使用該像素信號生成解碼對象塊內(nèi)的各個預(yù)測塊的預(yù)測信號。所生成的預(yù)測信號經(jīng)由線路l126被輸出給加法器205。
量化變換系數(shù)解碼器207對編碼對象塊中的殘差信號的量化變換系數(shù)的編碼數(shù)據(jù)進(jìn)行熵解碼,將復(fù)原后的量化變換系數(shù)經(jīng)由線路l207輸出給逆量化器203。
逆量化器203對經(jīng)由線路l207輸入的解碼對象塊的量化變換系數(shù)進(jìn)行逆量化,并生成變換系數(shù)。逆變換器204對變換系數(shù)進(jìn)行逆離散余弦變換,將殘差信號復(fù)原。
加法器205將由預(yù)測信號生成器103生成的預(yù)測信號、與通過逆量化器203和逆變換器204復(fù)原出的殘差信號相加,生成解碼對象塊的再現(xiàn)像素信號。再現(xiàn)像素信號經(jīng)由線路l205被輸出給輸出端子206和幀存儲器104。輸出端子206將包括再現(xiàn)像素信號的再現(xiàn)圖像輸出到外部(例如顯示器)。
幀存儲器104將從加法器205輸出的再現(xiàn)圖像存儲為參照畫面,作為下一個解碼處理用的參照用的再現(xiàn)圖像。
下面,參照圖11說明一個實(shí)施方式涉及的圖像預(yù)測解碼方法。首先,通過輸入端子201輸入壓縮數(shù)據(jù)(步驟s201)。并且,由數(shù)據(jù)分析器202進(jìn)行壓縮數(shù)據(jù)的數(shù)據(jù)分析,并提取用于生成塊的預(yù)測信號的運(yùn)動信息或者指示信息、表示對運(yùn)動信息和指示信息哪一方進(jìn)行編碼的信息的編碼數(shù)據(jù)、以及量化變換系數(shù)的編碼數(shù)據(jù),該指示信息用于從隨附于相鄰塊的運(yùn)動信息中識別出在生成解碼對象的塊的預(yù)測信號時使用的運(yùn)動信息。由預(yù)測信息解碼器208對運(yùn)動信息的編碼數(shù)據(jù)或者指示信息的編碼數(shù)據(jù)進(jìn)行解碼。
在運(yùn)動信息被復(fù)原的情況下,運(yùn)動補(bǔ)償器126根據(jù)被復(fù)原后的運(yùn)動信息生成解碼對象塊的預(yù)測信號。被復(fù)原后的運(yùn)動信息被保存在預(yù)測信息用存儲器113中。
在指示信息被復(fù)原的情況下,運(yùn)動信息導(dǎo)出器121從預(yù)測信息用存儲器113取得相鄰塊的運(yùn)動信息。運(yùn)動信息導(dǎo)出器121可以從預(yù)先設(shè)定的相鄰塊取得運(yùn)動信息,并且也可以根據(jù)從編碼側(cè)傳遞的信息,從相鄰塊取得運(yùn)動信息。
然后,如在圖3中詳細(xì)說明的那樣,運(yùn)動信息導(dǎo)出器121提取所取得的多個運(yùn)動信息中其構(gòu)成要素的任意一個的值不同的運(yùn)動信息,作為能夠在解碼對象塊的預(yù)測中使用的候選運(yùn)動信息。并且,運(yùn)動信息導(dǎo)出器121導(dǎo)出任意兩個候選運(yùn)動信息的組作為候選兩方向預(yù)測信息(步驟s300)。
然后,運(yùn)動信息確定器209使用被復(fù)原后的指示信息,從所導(dǎo)出的多個候選兩方向預(yù)測信息中選擇一個候選兩方向預(yù)測信息,將兩個運(yùn)動信息復(fù)原(步驟s203)。
然后,運(yùn)動補(bǔ)償器126根據(jù)被復(fù)原后的兩個運(yùn)動信息生成解碼對象塊的預(yù)測信號,將這兩個運(yùn)動信息保存在預(yù)測信息用存儲器中(步驟s207)。
然后,由量化變換系數(shù)解碼器207解碼后的量化變換系數(shù),在逆量化器203中被實(shí)施逆量化,再在逆變換器204中對來自逆量化器203的輸出應(yīng)用逆變換,生成再現(xiàn)殘差信號(步驟s208)。
然后,所生成的預(yù)測信號和再現(xiàn)殘差信號被相加,由此生成再現(xiàn)信號,該再現(xiàn)信號被存儲在幀存儲器104中以用于再現(xiàn)下一個解碼對象塊(步驟s209)。并且,在通過步驟s210的判定被判定為存在下一個壓縮數(shù)據(jù)的情況下,反復(fù)s202~s209的處理(步驟s210),直到最后所有的數(shù)據(jù)被處理。
圖12是示出使計算機(jī)執(zhí)行一個實(shí)施方式的圖像預(yù)測編碼方法的程序的結(jié)構(gòu)的圖。圖像預(yù)測編碼程序p100具有塊分割模塊p101、預(yù)測信號生成模塊p103、存儲模塊p104、減法模塊p105、變換模塊p106、量化模塊p107、逆量化模塊p108、逆變換模塊p109、加法模塊p110、量化變換系數(shù)編碼模塊p111、預(yù)測信息存儲模塊p113和預(yù)測信息編碼模塊p114。預(yù)測信號生成模塊p103包括運(yùn)動信息導(dǎo)出模塊p121、運(yùn)動預(yù)測信息選擇模塊p122和運(yùn)動補(bǔ)償模塊p123。
使計算機(jī)執(zhí)行塊分割模塊p101、預(yù)測信號生成模塊p103、存儲模塊p104、減法模塊p105、變換模塊p106、量化模塊p107、逆量化模塊p108、逆變換模塊p109、加法模塊p110、量化變換系數(shù)編碼模塊p111、預(yù)測信息存儲模塊p113、預(yù)測信息編碼模塊p114、運(yùn)動信息導(dǎo)出模塊p121、運(yùn)動預(yù)測信息選擇模塊p122、運(yùn)動補(bǔ)償模塊p123的功能,分別與塊分割器102、預(yù)測信號生成器103、幀存儲器104、減法器105、變換器106、量化器107、逆量化器108、逆變換器109、加法器110、量化變換系數(shù)編碼器111、預(yù)測信息用存儲器113、預(yù)測信息編碼器114、運(yùn)動信息導(dǎo)出器121、運(yùn)動預(yù)測信息選擇器122、運(yùn)動補(bǔ)償器123的功能相同。
圖13是示出使計算機(jī)執(zhí)行一個實(shí)施方式的圖像預(yù)測解碼方法的程序的結(jié)構(gòu)的圖。圖像預(yù)測解碼程序p200具有數(shù)據(jù)分析模塊p201、預(yù)測信息解碼模塊p202、運(yùn)動信息導(dǎo)出模塊121、運(yùn)動信息確定模塊p203、預(yù)測信息存儲模塊p205、運(yùn)動補(bǔ)償模塊p126、量化變換系數(shù)解碼模塊p206、逆量化模塊p207、逆變換模塊p208、加法模塊p209和存儲模塊p104。
使計算機(jī)執(zhí)行數(shù)據(jù)分析模塊p201、預(yù)測信息解碼模塊p202、運(yùn)動信息導(dǎo)出模塊121、運(yùn)動信息確定模塊p203、預(yù)測信息存儲模塊p205、運(yùn)動補(bǔ)償模塊p126、量化變換系數(shù)解碼模塊p206、逆量化模塊p207、逆變換模塊p208、加法模塊p209、存儲模塊p104的功能,分別與數(shù)據(jù)分析器202、預(yù)測信息解碼器208、運(yùn)動信息導(dǎo)出器121、運(yùn)動信息確定器209、預(yù)測信息用存儲器113、運(yùn)動補(bǔ)償器126、量化變換系數(shù)解碼器207、逆量化器203、逆變換器204、加法器205、幀存儲器104的功能相同。
這樣構(gòu)成的圖像預(yù)測編碼程序p100或者圖像預(yù)測解碼程序p200被存儲在記錄介質(zhì)10中,以便由后述的計算機(jī)執(zhí)行。
圖14是示出用于執(zhí)行被記錄在記錄介質(zhì)中的程序的計算機(jī)的硬件結(jié)構(gòu)的圖,圖15是示出用于執(zhí)行被記錄在記錄介質(zhì)中的程序的計算機(jī)的立體圖。另外,執(zhí)行被存儲在記錄介質(zhì)中的程序的不限于計算機(jī),也可以是具備cpu的進(jìn)行基于軟件的處理和控制的dvd播放器、機(jī)頂盒、便攜電話等。
如圖14所示,計算機(jī)30具有軟盤驅(qū)動裝置、cd-rom驅(qū)動裝置、dvd驅(qū)動裝置等的讀取裝置12,使操作系統(tǒng)常駐的作業(yè)用存儲器(ram)14,存儲被保存在記錄介質(zhì)10中的程序的存儲器16,被稱為顯示器的顯示裝置18,作為輸入裝置的鼠標(biāo)20和鍵盤22,用于進(jìn)行數(shù)據(jù)等的收發(fā)的通信裝置24,以及控制程序的執(zhí)行的cpu26。在記錄介質(zhì)10被插入到讀取裝置12中后,計算機(jī)30能夠從讀取裝置12訪問被存儲在記錄介質(zhì)10中的圖像預(yù)測編碼程序p100或者圖像預(yù)測解碼程序p200,能夠通過該圖像預(yù)測編碼程序p100或者圖像預(yù)測解碼程序p200作為圖像預(yù)測編碼裝置100或者圖像預(yù)測解碼裝置200進(jìn)行工作。
如圖15所示,圖像預(yù)測編碼程序和圖像預(yù)測解碼程序也可以是作為被疊加在載波中的計算機(jī)數(shù)據(jù)信號40而通過網(wǎng)絡(luò)來提供。在這種情況下,計算機(jī)30將由通信裝置24接收到的圖像預(yù)測編碼程序或者圖像預(yù)測解碼程序存儲在存儲器16中,并能夠執(zhí)行該圖像預(yù)測編碼程序或者圖像預(yù)測解碼程序。
以上對各種實(shí)施方式進(jìn)行了說明但本發(fā)明還包括下述的變形方式。
(運(yùn)動信息的候選)
在上述實(shí)施方式中,運(yùn)動信息由運(yùn)動矢量、參照畫面列表的識別號碼(圖5的list0和list1)、和參照畫面號碼(圖5的ref_idx)構(gòu)成,但也可以利用幀號取代參照畫面列表的識別號碼和參照畫面號碼來構(gòu)成運(yùn)動信息。這是因?yàn)榧词故鞘褂脦枺材軌虻玫脚c使用隨附于相鄰塊的運(yùn)動信息的上述實(shí)施方式相同的結(jié)果及效果。
(候選兩方向運(yùn)動信息的限制)
在上述實(shí)施方式中,利用運(yùn)動信息導(dǎo)出器將候選運(yùn)動信息的所有組合作為候選兩方向運(yùn)動信息,但也可以僅將滿足下述條件的運(yùn)動信息的組作為候選兩方向運(yùn)動信息。
1)僅是對象塊的正上方和正左方的塊
2)指示相同參照畫面的兩個運(yùn)動信息
3)兩個運(yùn)動矢量雖然不同,但是具有相近的值(絕對值差小于某個值)。即,正上方的塊的運(yùn)動矢量(mvxa、mvya)和正左方的塊的運(yùn)動矢量(mvxb、mvyb)滿足
(|mvxa-mvxb|?。?)||(|mvya-mvyb|?。?)
而且滿足
(|mvxa-mvxb|<=n)&&(|mvya-mvyb|<=n)(n為較小的值)
另外,在不存在滿足條件的候選兩方向運(yùn)動信息的情況下,也可以不發(fā)送指示信息,而使用其它的預(yù)測處理。
另外,也可以按照幀單位或塊單位指定候選兩方向運(yùn)動信息的數(shù)量,并將確定所指定的數(shù)量的信息包含在壓縮數(shù)據(jù)中。另外,也可以按照幀單位對指示這種候選兩方向運(yùn)動信息的限制的應(yīng)用的信息進(jìn)行編碼。
(指示信息的識別號碼)
在確定指示信息的識別號碼時,也可以利用對象塊(圖8的400)的右上方的塊(圖8的404)的運(yùn)動信息,確定正左方的塊(401)和正上方的塊(402)的優(yōu)先順序。在此,對于正上方的塊的運(yùn)動矢量(mvxa、mvya)、正左方的塊的運(yùn)動矢量(mvxb、mvyb)和左上方的塊的運(yùn)動矢量(mvxc、mvyc),在|mvxa-mvxc|+|mvya-mvyc|<|mvxb-mvxc|+|mvyb-mvyc|成立的情況下,對正左方的塊的運(yùn)動信息賦予編碼量較小的識別號碼。在不成立的情況下,對正上方的塊的運(yùn)動信息賦予編碼量較小的識別號碼。這樣,如果使被估計為與對象塊的相關(guān)較高的相鄰塊的運(yùn)動信息優(yōu)先,則存在能夠削減指示信息的編碼量的可能性。
(候選運(yùn)動矢量的導(dǎo)出和選擇)
在上述實(shí)施方式中,對于運(yùn)動矢量的水平方向和垂直方向的成分一并進(jìn)行候選運(yùn)動矢量的導(dǎo)出和選擇,但也可以將運(yùn)動矢量的水平方向和垂直方向的成分獨(dú)立地應(yīng)用于候選運(yùn)動矢量的導(dǎo)出和選擇。并且,在上述說明中是將相鄰塊單體的運(yùn)動矢量作為候選運(yùn)動矢量,但也可以將根據(jù)兩個運(yùn)動矢量的平均值或畫面間的時間方向的距離進(jìn)行比例縮放后的運(yùn)動矢量(例如,在將以圖5的(a)的畫面504為對象的運(yùn)動矢量變換為以畫面503為對象的運(yùn)動矢量的情況下,將各個向量成分設(shè)為2倍)作為候選運(yùn)動矢量。
(預(yù)測類型)
在上述實(shí)施方式中,將兩個相鄰塊的預(yù)測類型均設(shè)為兩方向預(yù)測,但本發(fā)明也能夠應(yīng)用于其中一個相鄰塊是向前預(yù)測或者向后預(yù)測的情況。在這種情況下,導(dǎo)出最多三個候選兩方向預(yù)測信息。并且,在這種情況下,能夠從相鄰塊導(dǎo)出以下說明的個數(shù)的兩個運(yùn)動信息的組合模式。即,
(1)采用正上方的塊(402)或者正左方的塊(401)的兩個運(yùn)動信息時:一種模式
(2)在正上方的塊(402)的一個運(yùn)動信息和正左方的塊(401)的一個運(yùn)動信息中,與兩個運(yùn)動信息相關(guān)的參照畫面列表不同時:一種模式
(3)在正上方的塊(402)的一個運(yùn)動信息和正左方的塊(401)的一個運(yùn)動信息中,與兩個運(yùn)動信息相關(guān)的參照畫面列表相同時:一種模式
并且,也可以是兩個相鄰塊雙方是向前或者向后預(yù)測,還可以是一方是向前預(yù)測另一方是向后預(yù)測。
(相鄰塊的個數(shù))
關(guān)于能夠在對象塊的預(yù)測中使用的相鄰塊的個數(shù)沒有限定。如圖7的(b)所示,可以將塊401~403這3個塊設(shè)為相鄰塊。并且,也可以利用附隨于前面幀的塊中的運(yùn)動信息。另外,在如圖8所示對相鄰塊(401~405)進(jìn)行再分割的情況下,也可以使附隨于其中較小的塊的運(yùn)動信息包含在候選運(yùn)動信息中。并且,也可以利用不與對象塊相鄰的塊的運(yùn)動信息。
(n方向預(yù)測)
在上述實(shí)施方式中,將使用附隨于相鄰塊的運(yùn)動信息進(jìn)行的對象塊的預(yù)測方法設(shè)為兩方向預(yù)測,但預(yù)測方法不限于此,也可以是一方向預(yù)測或者三方向預(yù)測。在這種情況下,在圖3的步驟s310導(dǎo)出候選n方向預(yù)測信息并進(jìn)行選定即可。另外,雖然可以保存n個運(yùn)動信息,但是在n為3以上的情況下,也可以利用參照畫面號碼或運(yùn)動矢量的值將保存的運(yùn)動信息限制為兩個。
(變換器、逆變換器)
關(guān)于殘差信號的變換處理可以按照固定的塊尺寸進(jìn)行,也可以根據(jù)部分區(qū)域?qū)ο髤^(qū)域進(jìn)行再分割來進(jìn)行變換處理。
(顏色信號)
在上述實(shí)施方式的說明中,對于顏色格式?jīng)]有特別敘述,但是對于顏色信號或者色差信號,可以相對于亮度信號而獨(dú)立地進(jìn)行預(yù)測信號的生成處理。并且,也可以與亮度信號的處理聯(lián)動地進(jìn)行處理。
以上對于本發(fā)明根據(jù)幾個實(shí)施方式進(jìn)行了詳細(xì)說明。但是,本發(fā)明不限于上述實(shí)施方式。本發(fā)明能夠在不脫離其宗旨的范圍內(nèi)進(jìn)行各種變形。
標(biāo)號說明
100圖像預(yù)測編碼裝置;101輸入端子;102塊分割器;103預(yù)測信號生成器;104幀存儲器;105減法器;106變換器;107量化器;108逆量化器;109逆變換器;110加法器;111量化變換系數(shù)編碼器;112輸出端子;113預(yù)測信息用存儲器;114預(yù)測信息編碼器;121運(yùn)動信息導(dǎo)出器;122運(yùn)動預(yù)測信息選擇器;123運(yùn)動補(bǔ)償器;201輸入端子;202數(shù)據(jù)分析器;203逆量化器;204逆變換器;205加法器;206輸出端子;207量化變換系數(shù)解碼器;208預(yù)測信息解碼器;209運(yùn)動信息確定器。