技術(shù)領(lǐng)域
本發(fā)明涉及動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置及方法,尤其涉及通過將兩個(gè)預(yù)測(cè)信號(hào)平均化來生成最終的塊預(yù)測(cè)信號(hào)(雙預(yù)測(cè)信號(hào))的動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置及方法。
背景技術(shù):
為了高效地進(jìn)行靜態(tài)圖像或動(dòng)態(tài)圖像數(shù)據(jù)的傳輸和蓄積采用了壓縮編碼技術(shù)。在動(dòng)態(tài)圖像的情況下廣泛應(yīng)用MPEG-1~4或ITU(International Telecommunication Union:國際電信聯(lián)盟)H.261~H.264的方式。
在這些編碼方式中,在將作為編碼的對(duì)象的圖像分割為多個(gè)塊的基礎(chǔ)上進(jìn)行編碼處理/解碼處理。在畫面內(nèi)的預(yù)測(cè)編碼中,在使用位于與對(duì)象塊相同的畫面內(nèi)的相鄰的已再生的圖像信號(hào)(將壓縮的圖像數(shù)據(jù)復(fù)原后的圖像信號(hào))生成預(yù)測(cè)信號(hào)的基礎(chǔ)上,對(duì)從對(duì)象塊的信號(hào)中減去該預(yù)測(cè)信號(hào)得到的差分信號(hào)進(jìn)行編碼。在畫面間的預(yù)測(cè)編碼中,參照位于與對(duì)象塊不同的畫面內(nèi)的已再生的圖像信號(hào),進(jìn)行運(yùn)動(dòng)的校正,生成預(yù)測(cè)信號(hào),對(duì)從對(duì)象塊的信號(hào)中減去該預(yù)測(cè)信號(hào)得到的差分信號(hào)進(jìn)行編碼。
例如,在H.264的畫面內(nèi)預(yù)測(cè)編碼中,采用將與作為編碼對(duì)象的塊相鄰的已再生的像素值在預(yù)定的方向上外插并生成預(yù)測(cè)信號(hào)的方法。圖20是用于說明在ITU H.264中使用的畫面內(nèi)預(yù)測(cè)方法的示意圖。在圖20(A)中,對(duì)象塊802是作為編碼的對(duì)象的塊,由與該對(duì)象塊802的邊界相鄰的像素A~M構(gòu)成的像素組801是相鄰區(qū)域,而且是在過去的處理中已經(jīng)被再生的圖像信號(hào)。
在這種情況下,將作為位于對(duì)象塊802的正上方的相鄰像素的像素組801向下方拉伸,由此生成預(yù)測(cè)信號(hào)。此外,在圖20(B)中,將位于對(duì)象塊804的左側(cè)的已再生像素(I~L)向右拉伸,由此生成預(yù)測(cè)信號(hào)。生成預(yù)測(cè)信號(hào)的具體的方法例如在專利文獻(xiàn)1中記載。這樣,對(duì)于利用圖20的(A)~(I)所示的方法生成的9個(gè)預(yù)測(cè)信號(hào),分別取得與對(duì)象塊的像素信號(hào)的差分,將差分值最小的信號(hào)作為最優(yōu)的預(yù)測(cè)信號(hào)。如上所述,通過對(duì)像素進(jìn)行外插能夠生成預(yù)測(cè)信號(hào)。有關(guān)以上內(nèi)容記載在下述專利文獻(xiàn)1中。
在通常的畫面間預(yù)測(cè)編碼中,使用如下方法來生成預(yù)測(cè)信號(hào):針對(duì)作為編碼對(duì)象的塊,從已經(jīng)再生過的畫面中搜索與其像素信號(hào)類似的信號(hào)。而且,對(duì)對(duì)象塊與搜索到的信號(hào)構(gòu)成的區(qū)域之間的空間性位移量即運(yùn)動(dòng)矢量、以及對(duì)象塊的像素信號(hào)和預(yù)測(cè)信號(hào)的殘差信號(hào)進(jìn)行編碼。這樣按照每個(gè)塊搜索運(yùn)動(dòng)矢量的方法被稱為塊匹配(block matching)。
圖19是用于說明塊匹配處理的示意圖。在此,以編碼對(duì)象的畫面701上的對(duì)象塊702為例對(duì)預(yù)測(cè)信號(hào)的生成順序進(jìn)行說明。參照畫面703已經(jīng)再生過,區(qū)域704與對(duì)象塊702在空間上是同一位置的區(qū)域。在塊匹配中,設(shè)定包圍區(qū)域704的搜索范圍705,從該搜索范圍705的像素信號(hào)中檢測(cè)與對(duì)象塊702的像素信號(hào)的絕對(duì)值誤差和最小的區(qū)域706。該區(qū)域706的信號(hào)成為預(yù)測(cè)信號(hào),從區(qū)域704向區(qū)域706的位移量被檢測(cè)作為運(yùn)動(dòng)矢量707。此外,有時(shí)也使用以下方法:準(zhǔn)備多個(gè)參照畫面703,對(duì)每個(gè)對(duì)象塊選擇實(shí)施塊匹配的參照畫面,并檢測(cè)參照畫面選擇信息。在H.264中,為了對(duì)應(yīng)圖像的局部性的特征變化,準(zhǔn)備用于對(duì)運(yùn)動(dòng)矢量進(jìn)行編碼的塊尺寸不同的多個(gè)預(yù)測(cè)類型。關(guān)于H.264的預(yù)測(cè)類型記載在例如專利文獻(xiàn)2中。
在動(dòng)態(tài)圖像數(shù)據(jù)的壓縮編碼中,各個(gè)畫面(幀、字段)的編碼順序可以是任意順序。因此,在參照已再生畫面生成預(yù)測(cè)信號(hào)的畫面間預(yù)測(cè)中,關(guān)于編碼順序有兩種方法。第一種方法是參照一個(gè)已再生畫面來生成預(yù)測(cè)信號(hào)的單預(yù)測(cè),第二種方法是參照一個(gè)或者兩個(gè)已再生畫面,并對(duì)能夠得到的兩個(gè)預(yù)測(cè)信號(hào)進(jìn)行平均化的雙預(yù)測(cè)。在單預(yù)測(cè)中,包括按照顯示順序參照過去的已再生畫面的前向預(yù)測(cè),和按照顯示順序參照未來的已再生畫面的后向預(yù)測(cè)。關(guān)于畫面間預(yù)測(cè)的類型記載在例如專利文獻(xiàn)3中。
在H.264中,作為參照畫面703的候選,作成由多個(gè)已再生畫面構(gòu)成的兩個(gè)參照畫面列表來進(jìn)行第二種畫面間方法(雙預(yù)測(cè))。將在各參照畫面列表中登記的多個(gè)參照畫面作為對(duì)象進(jìn)行塊匹配,并檢測(cè)出與區(qū)域706相當(dāng)?shù)膬蓚€(gè)區(qū)域,對(duì)檢測(cè)到的兩個(gè)預(yù)測(cè)信號(hào)進(jìn)行平均化。
使用圖5和圖6說明參照畫面列表的示例。在圖5(A)中,畫面505示出編碼對(duì)象圖像,畫面501~畫面504示出已再生圖像。在圖5(B)中,畫面510示出編碼對(duì)象畫面,畫面507、508、509和511示出已再生畫面,利用幀號(hào)(frame_num)進(jìn)行各個(gè)圖像(畫面)的識(shí)別。圖6的列表0(List0)和列表1(List1)表示兩個(gè)參照畫面列表,圖6(A)表示圖5(A)的參照畫面列表,圖6(B)和(C)表示圖5(B)的參照畫面列表的示例。在圖6(A)和(C)中,在各參照畫面列表內(nèi)分別登記4個(gè)參照畫面,在圖6(B)中,在各參照畫面列表內(nèi)分別登記2個(gè)參照畫面。利用參照畫面索引(ref_idx)來識(shí)別各個(gè)參照畫面。能夠登記在參照畫面列表中的已再生圖像基本上是任意的。另外,在本案中,為了容易理解內(nèi)容,對(duì)上述的參照畫面列表List0、List1一并采用例如稱為第0運(yùn)動(dòng)信息、第1運(yùn)動(dòng)信息的稱呼。
現(xiàn)有技術(shù)文獻(xiàn)
專利文獻(xiàn)
【專利文獻(xiàn)1】美國專利公報(bào)第6765964號(hào)
【專利文獻(xiàn)2】美國專利公報(bào)第7003035號(hào)
【專利文獻(xiàn)3】美國專利公報(bào)第6259739號(hào)
技術(shù)實(shí)現(xiàn)要素:
發(fā)明所要解決的問題
在雙預(yù)測(cè)中,能夠利用基于類似的兩個(gè)預(yù)測(cè)信號(hào)的平均化的平滑效果,清除預(yù)測(cè)信號(hào)中所包含的噪聲。可是,這種平滑效果較大的塊往往是包含紋理區(qū)域和噪聲的平坦區(qū)域,在參照畫面內(nèi)存在多個(gè)類似信號(hào)。
這些區(qū)域的信號(hào)的隨機(jī)性比較強(qiáng),因而如果從多個(gè)參照畫面中搜索在這些區(qū)域中與對(duì)象塊類似的兩個(gè)預(yù)測(cè)信號(hào),則相鄰的塊間的運(yùn)動(dòng)矢量有時(shí)產(chǎn)生偏差。運(yùn)動(dòng)矢量是根據(jù)與相鄰塊的運(yùn)動(dòng)矢量的差進(jìn)行編碼,因而如果在相鄰塊之間運(yùn)動(dòng)矢量有偏差,將導(dǎo)致其代碼量增大。
作為減少雙預(yù)測(cè)的代碼量的方法,如在過去的例子中示例的那樣,有在解碼側(cè)利用相鄰塊的狀況導(dǎo)出兩個(gè)運(yùn)動(dòng)矢量的方法,但是由于能夠利用的預(yù)測(cè)信號(hào)的限制過嚴(yán),因而難以提高兩個(gè)預(yù)測(cè)信號(hào)的類似性,不能得到充分的平滑效果。
為了解決上述課題,本發(fā)明的目的在于,提供一種動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置及方法,對(duì)用于生成與對(duì)象塊類似的預(yù)測(cè)信號(hào)的一個(gè)運(yùn)動(dòng)矢量進(jìn)行編碼,根據(jù)已編碼的運(yùn)動(dòng)信息有選擇地求出另一個(gè)運(yùn)動(dòng)矢量,由此能夠以相對(duì)于對(duì)兩個(gè)運(yùn)動(dòng)矢量進(jìn)行編碼的雙預(yù)測(cè)比較少的代碼量、有效抑制預(yù)測(cè)信號(hào)的噪聲。
用于解決問題的手段
本發(fā)明的一方面的動(dòng)態(tài)圖像預(yù)測(cè)解碼方法是由動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置執(zhí)行的動(dòng)態(tài)圖像預(yù)測(cè)解碼方法,其是進(jìn)行如下的處理的方法:對(duì)附加信息中包含的作為預(yù)測(cè)類型表示單預(yù)測(cè)或雙預(yù)測(cè)的信息進(jìn)行解碼,只在解碼出了作為預(yù)測(cè)類型而表示雙預(yù)測(cè)的信息的解碼對(duì)象區(qū)域中進(jìn)行規(guī)定的處理,其中,該附加信息是作為解碼對(duì)象的解碼對(duì)象區(qū)域的附加信息,在該單預(yù)測(cè)中參照一個(gè)已再生圖像生成預(yù)測(cè)信號(hào),該雙預(yù)測(cè)是基于參照一個(gè)或兩個(gè)已再生圖像而得到的兩個(gè)預(yù)測(cè)信號(hào)進(jìn)行的,其特征在于,所述規(guī)定的處理包括:解碼步驟,從被分割為多個(gè)區(qū)域而編碼的壓縮數(shù)據(jù)中,對(duì)所述解碼對(duì)象區(qū)域的附加信息和殘差信號(hào)的壓縮數(shù)據(jù)進(jìn)行解碼;運(yùn)動(dòng)信息復(fù)原步驟,復(fù)原從所述附加信息生成所述解碼對(duì)象區(qū)域的預(yù)測(cè)信號(hào)所需要的運(yùn)動(dòng)矢量;運(yùn)動(dòng)信息記錄步驟,將所述運(yùn)動(dòng)矢量保存在運(yùn)動(dòng)信息記錄單元中;運(yùn)動(dòng)補(bǔ)償步驟,根據(jù)所述運(yùn)動(dòng)矢量生成所述解碼對(duì)象區(qū)域的預(yù)測(cè)信號(hào);殘差信號(hào)復(fù)原步驟,從所述殘差信號(hào)的壓縮數(shù)據(jù)復(fù)原所述解碼對(duì)象區(qū)域的再生殘差信號(hào);以及圖像記錄步驟,將所述預(yù)測(cè)信號(hào)和所述再生殘差信號(hào)相加,由此將所述解碼對(duì)象區(qū)域的像素信號(hào)復(fù)原,并保存被復(fù)原后的像素信號(hào)作為已再生圖像,在所述解碼步驟中,所述動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置對(duì)第0附加信息和第1附加信息進(jìn)行解碼,所述第0附加信息包括第0差分運(yùn)動(dòng)矢量和第0預(yù)測(cè)運(yùn)動(dòng)信息索引,該第0預(yù)測(cè)運(yùn)動(dòng)信息索引用于識(shí)別從被存儲(chǔ)于所述運(yùn)動(dòng)信息記錄單元的多個(gè)運(yùn)動(dòng)矢量中選擇的一個(gè)運(yùn)動(dòng)矢量作為第0預(yù)測(cè)運(yùn)動(dòng)矢量,所述第1附加信息包括第1預(yù)測(cè)運(yùn)動(dòng)信息索引,該第1預(yù)測(cè)運(yùn)動(dòng)信息索引用于識(shí)別從被存儲(chǔ)于所述運(yùn)動(dòng)信息記錄單元的多個(gè)運(yùn)動(dòng)矢量中選擇的一個(gè)運(yùn)動(dòng)矢量作為第1預(yù)測(cè)運(yùn)動(dòng)矢量,所述運(yùn)動(dòng)信息復(fù)原步驟包括:第0運(yùn)動(dòng)信息復(fù)原步驟,根據(jù)所述第0預(yù)測(cè)運(yùn)動(dòng)信息索引,使用從被存儲(chǔ)于所述運(yùn)動(dòng)信息記錄單元的多個(gè)運(yùn)動(dòng)矢量中選擇的運(yùn)動(dòng)矢量生成第0預(yù)測(cè)運(yùn)動(dòng)矢量,將所生成的第0預(yù)測(cè)運(yùn)動(dòng)矢量和所述第0差分運(yùn)動(dòng)矢量相加而將第0運(yùn)動(dòng)矢量復(fù)原;以及第1運(yùn)動(dòng)信息復(fù)原步驟,根據(jù)所述第1預(yù)測(cè)運(yùn)動(dòng)信息索引,使用從被存儲(chǔ)于所述運(yùn)動(dòng)信息記錄單元的多個(gè)運(yùn)動(dòng)矢量中選擇的運(yùn)動(dòng)矢量生成第1預(yù)測(cè)運(yùn)動(dòng)矢量,將所生成的第1預(yù)測(cè)運(yùn)動(dòng)矢量作為第1運(yùn)動(dòng)矢量進(jìn)行復(fù)原,在所述運(yùn)動(dòng)補(bǔ)償步驟中,所述動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置將根據(jù)所述第0運(yùn)動(dòng)矢量和第1運(yùn)動(dòng)矢量從所述已再生圖像中分別取得的兩個(gè)信號(hào)合成,生成所述解碼對(duì)象區(qū)域的預(yù)測(cè)信號(hào),在所述解碼步驟中,所述動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置還按照每個(gè)畫面或者每個(gè)切片,對(duì)用于指示所述第1附加信息是否包含差分運(yùn)動(dòng)矢量的指示信息進(jìn)行解碼,在所述指示信息表示所述第1附加信息不包含第1差分運(yùn)動(dòng)矢量的情況下,所述動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置將第1預(yù)測(cè)運(yùn)動(dòng)信息索引作為所述第1附加信息進(jìn)行解碼,在所述指示信息表示所述第1附加信息包含第1差分運(yùn)動(dòng)矢量的情況下,所述動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置將差分運(yùn)動(dòng)矢量和第1預(yù)測(cè)運(yùn)動(dòng)信息索引作為所述第1附加信息進(jìn)行解碼,在所述第1運(yùn)動(dòng)信息復(fù)原步驟中,所述動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置在所述指示信息表示第1附加信息不包含第1差分運(yùn)動(dòng)矢量時(shí),根據(jù)所述第1預(yù)測(cè)運(yùn)動(dòng)信息索引,使用從被存儲(chǔ)于所述運(yùn)動(dòng)信息記錄單元的多個(gè)運(yùn)動(dòng)矢量中選擇的運(yùn)動(dòng)矢量生成第1預(yù)測(cè)運(yùn)動(dòng)矢量,將所生成的第1預(yù)測(cè)運(yùn)動(dòng)矢量作為第1運(yùn)動(dòng)矢量進(jìn)行復(fù)原,所述動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置在所述指示信息表示第1附加信息包含第1差分運(yùn)動(dòng)矢量時(shí),根據(jù)所述第1預(yù)測(cè)運(yùn)動(dòng)信息索引生成第1預(yù)測(cè)運(yùn)動(dòng)矢量,將所生成的第1預(yù)測(cè)運(yùn)動(dòng)矢量和解碼后的差分運(yùn)動(dòng)矢量相加而將第1運(yùn)動(dòng)矢量復(fù)原。
本發(fā)明能夠作為有關(guān)動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置的發(fā)明,并能夠記述如下。
本發(fā)明的一方面的動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置,其是進(jìn)行如下的處理的裝置:對(duì)附加信息中包含的作為預(yù)測(cè)類型表示單預(yù)測(cè)或雙預(yù)測(cè)的信息進(jìn)行解碼,只在解碼出了作為預(yù)測(cè)類型而表示雙預(yù)測(cè)的信息的解碼對(duì)象區(qū)域中進(jìn)行規(guī)定的處理,其中,該附加信息是作為解碼對(duì)象的解碼對(duì)象區(qū)域的附加信息,在該單預(yù)測(cè)中參照一個(gè)已再生圖像生成預(yù)測(cè)信號(hào),該雙預(yù)測(cè)是基于參照一個(gè)或兩個(gè)已再生圖像而得到的兩個(gè)預(yù)測(cè)信號(hào)進(jìn)行的,其特征在于,該動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置為了進(jìn)行所述規(guī)定的處理而具備:解碼單元,其從被分割為多個(gè)區(qū)域而編碼的壓縮數(shù)據(jù)中,對(duì)所述解碼對(duì)象區(qū)域的附加信息和殘差信號(hào)的壓縮數(shù)據(jù)進(jìn)行解碼;運(yùn)動(dòng)信息復(fù)原單元,其將從所述附加信息生成所述解碼對(duì)象區(qū)域的預(yù)測(cè)信號(hào)所需要的運(yùn)動(dòng)矢量復(fù)原;運(yùn)動(dòng)信息記錄單元,其保存所述運(yùn)動(dòng)矢量;運(yùn)動(dòng)補(bǔ)償單元,其根據(jù)所述運(yùn)動(dòng)矢量生成所述解碼對(duì)象區(qū)域的預(yù)測(cè)信號(hào);殘差信號(hào)復(fù)原單元,其從所述殘差信號(hào)的壓縮數(shù)據(jù)復(fù)原所述解碼對(duì)象區(qū)域的再生殘差信號(hào);以及圖像記錄單元,其將所述預(yù)測(cè)信號(hào)和所述再生殘差信號(hào)相加,由此將所述解碼對(duì)象區(qū)域的像素信號(hào)復(fù)原,并保存被復(fù)原后的像素信號(hào)作為已再生圖像,所述解碼單元對(duì)第0附加信息和第1附加信息進(jìn)行解碼,所述第0附加信息包括第0差分運(yùn)動(dòng)矢量和第0預(yù)測(cè)運(yùn)動(dòng)信息索引,該第0預(yù)測(cè)運(yùn)動(dòng)信息索引用于識(shí)別從被存儲(chǔ)于所述運(yùn)動(dòng)信息記錄單元的多個(gè)運(yùn)動(dòng)矢量中選擇的一個(gè)運(yùn)動(dòng)矢量作為第0預(yù)測(cè)運(yùn)動(dòng)矢量,所述第1附加信息包括第1預(yù)測(cè)運(yùn)動(dòng)信息索引,該第1預(yù)測(cè)運(yùn)動(dòng)信息索引用于識(shí)別從被存儲(chǔ)于所述運(yùn)動(dòng)信息記錄單元的多個(gè)運(yùn)動(dòng)矢量中選擇的一個(gè)運(yùn)動(dòng)矢量作為第1預(yù)測(cè)運(yùn)動(dòng)矢量,所述運(yùn)動(dòng)信息復(fù)原單元包括:第0運(yùn)動(dòng)信息復(fù)原單元,其根據(jù)所述第0預(yù)測(cè)運(yùn)動(dòng)信息索引,使用從被存儲(chǔ)于所述運(yùn)動(dòng)信息記錄單元的多個(gè)運(yùn)動(dòng)矢量中選擇的運(yùn)動(dòng)矢量生成第0預(yù)測(cè)運(yùn)動(dòng)矢量,將所生成的第0預(yù)測(cè)運(yùn)動(dòng)矢量和所述第0差分運(yùn)動(dòng)矢量相加而將第0運(yùn)動(dòng)矢量復(fù)原;以及第1運(yùn)動(dòng)信息復(fù)原單元,其根據(jù)所述第1預(yù)測(cè)運(yùn)動(dòng)信息索引,使用從被存儲(chǔ)于所述運(yùn)動(dòng)信息記錄單元的多個(gè)運(yùn)動(dòng)矢量中選擇的運(yùn)動(dòng)矢量生成第1預(yù)測(cè)運(yùn)動(dòng)矢量,將所生成的第1預(yù)測(cè)運(yùn)動(dòng)矢量作為第1運(yùn)動(dòng)矢量進(jìn)行復(fù)原,所述運(yùn)動(dòng)補(bǔ)償單元將根據(jù)所述第0運(yùn)動(dòng)矢量和第1運(yùn)動(dòng)矢量從所述已再生圖像中分別取得的兩個(gè)信號(hào)合成,生成所述解碼對(duì)象區(qū)域的預(yù)測(cè)信號(hào),所述解碼單元還按照每個(gè)畫面或者每個(gè)切片,對(duì)用于指示所述第1附加信息是否包含差分運(yùn)動(dòng)矢量的指示信息進(jìn)行解碼,在所述指示信息表示所述第1附加信息不包含第1差分運(yùn)動(dòng)矢量的情況下,將第1預(yù)測(cè)運(yùn)動(dòng)信息索引作為所述第1附加信息進(jìn)行解碼,在所述指示信息表示所述第1附加信息包含第1差分運(yùn)動(dòng)矢量的情況下,將差分運(yùn)動(dòng)矢量和第1預(yù)測(cè)運(yùn)動(dòng)信息索引作為所述第1附加信息進(jìn)行解碼,所述第1運(yùn)動(dòng)信息復(fù)原單元在所述指示信息表示第1附加信息不包含第1差分運(yùn)動(dòng)矢量時(shí),根據(jù)所述第1預(yù)測(cè)運(yùn)動(dòng)信息索引,使用從被存儲(chǔ)于所述運(yùn)動(dòng)信息記錄單元的多個(gè)運(yùn)動(dòng)矢量中選擇的運(yùn)動(dòng)矢量生成第1預(yù)測(cè)運(yùn)動(dòng)矢量,將所生成的第1預(yù)測(cè)運(yùn)動(dòng)矢量作為第1運(yùn)動(dòng)矢量進(jìn)行復(fù)原,所述第1運(yùn)動(dòng)信息復(fù)原單元在所述指示信息表示第1附加信息包含第1差分運(yùn)動(dòng)矢量時(shí),根據(jù)所述第1預(yù)測(cè)運(yùn)動(dòng)信息索引生成第1預(yù)測(cè)運(yùn)動(dòng)矢量,將所生成的第1預(yù)測(cè)運(yùn)動(dòng)矢量和解碼后的差分運(yùn)動(dòng)矢量相加而將第1運(yùn)動(dòng)矢量復(fù)原。
發(fā)明效果
根據(jù)本發(fā)明的動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置及方法,由于能夠根據(jù)已編碼的運(yùn)動(dòng)信息來指示對(duì)雙預(yù)測(cè)有效的一個(gè)運(yùn)動(dòng)矢量,因而具有以較少的代碼量提高雙預(yù)測(cè)的性能的效果。
附圖說明
圖1是示出本實(shí)施方式的動(dòng)態(tài)圖像預(yù)測(cè)編碼裝置的框圖。
圖2是說明圖1所示的預(yù)測(cè)信號(hào)生成器的框圖。
圖3是說明圖2所示的第1運(yùn)動(dòng)估計(jì)處理的流程圖。
圖4是說明圖2所示的第0運(yùn)動(dòng)估計(jì)處理的流程圖。
圖5是說明畫面的編碼順序的示例的示意圖。
圖6是說明參照畫面列表的示例的圖。
圖7是說明相鄰塊的示例的圖。
圖8是說明相鄰塊的另一例的圖。
圖9是說明圖1所示的動(dòng)態(tài)圖像預(yù)測(cè)編碼裝置的動(dòng)態(tài)圖像預(yù)測(cè)編碼方法的步驟的流程圖。
圖10是示出本實(shí)施方式的動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置的框圖。
圖11是說明圖10所示的運(yùn)動(dòng)信息復(fù)原器的框圖。
圖12是說明圖11所示的第1運(yùn)動(dòng)信息復(fù)原處理的流程圖。
圖13是說明圖11所示的第0運(yùn)動(dòng)信息復(fù)原處理的流程圖。
圖14是說明圖10所示的動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置的動(dòng)態(tài)圖像預(yù)測(cè)解碼方法的步驟的流程圖。
圖15是示出能夠執(zhí)行本實(shí)施方式的圖像預(yù)測(cè)編碼方法的程序的框圖。
圖16是示出能夠執(zhí)行本實(shí)施方式的圖像預(yù)測(cè)解碼方法的程序的框圖。
圖17是示出用于執(zhí)行在記錄介質(zhì)中記錄的程序的計(jì)算機(jī)的硬件結(jié)構(gòu)的圖。
圖18是用于執(zhí)行在記錄介質(zhì)中存儲(chǔ)的程序的計(jì)算機(jī)的立體圖。
圖19是用于說明畫面間預(yù)測(cè)中的運(yùn)動(dòng)估計(jì)處理的示意圖。
圖20是用于說明現(xiàn)有的畫面內(nèi)預(yù)測(cè)方法的示意圖。
具體實(shí)施方式
下面,參照附圖詳細(xì)說明本實(shí)施方式。另外,在附圖說明中對(duì)同一或同等的要素標(biāo)注相同的符號(hào),并省略重復(fù)的說明。此外,構(gòu)成動(dòng)態(tài)圖像的“幀”、“畫面”、“圖像”(圖5的501~511)在本說明書內(nèi)的說明中是相同的意思。
圖1是示出本實(shí)施方式的動(dòng)態(tài)圖像預(yù)測(cè)編碼裝置100的框圖。該動(dòng)態(tài)圖像預(yù)測(cè)編碼裝置100具備輸入端子101、塊分割器102、預(yù)測(cè)信號(hào)生成器103、幀存儲(chǔ)器104、減法器105、變換器106、量化器107、逆量化器108、逆變換器109、加法器110、編碼器111、輸出端子112、運(yùn)動(dòng)信息用存儲(chǔ)器113。變換器106和量化器107作為殘差信號(hào)壓縮單元發(fā)揮作用,逆量化器108和逆變換器109作為殘差信號(hào)復(fù)原單元發(fā)揮作用,運(yùn)動(dòng)信息用存儲(chǔ)器作為運(yùn)動(dòng)信息記錄單元發(fā)揮作用。并且,運(yùn)動(dòng)信息用存儲(chǔ)器113也可以包含在預(yù)測(cè)信號(hào)生成器103中。
輸入端子101是輸入由多張圖像構(gòu)成的動(dòng)態(tài)圖像的信號(hào)的端子。
塊分割器102將從輸入端子101輸入的信號(hào)所表示的作為編碼處理對(duì)象的圖像分割為多個(gè)區(qū)域(對(duì)象塊、對(duì)象區(qū)域)。在本實(shí)施方式中是分割為由8×8的像素構(gòu)成的塊,不過也可以分割為其以外的大小或形狀的塊。另外,在畫面內(nèi)可混合存在尺寸不同的塊。
預(yù)測(cè)信號(hào)生成器103檢測(cè)用于生成對(duì)象塊內(nèi)的各預(yù)測(cè)塊的預(yù)測(cè)信號(hào)所需要的運(yùn)動(dòng)信息,并生成預(yù)測(cè)信號(hào)。并且,生成由解碼裝置進(jìn)行運(yùn)動(dòng)信息的復(fù)原所需要的附加信息。關(guān)于預(yù)測(cè)信號(hào)的生成方法在本發(fā)明中沒有限定,能夠應(yīng)用如在背景技術(shù)中說明的畫面間預(yù)測(cè)(單預(yù)測(cè)、雙預(yù)測(cè))或畫面內(nèi)預(yù)測(cè)(關(guān)于畫面內(nèi)預(yù)測(cè)未圖示)。
在本實(shí)施方式中,通過雙預(yù)測(cè)來生成預(yù)測(cè)信號(hào)。通過圖19所示的塊匹配,并使用經(jīng)由L104而取得的圖像信號(hào)來檢測(cè)雙預(yù)測(cè)的一個(gè)運(yùn)動(dòng)信息,使得經(jīng)由L102輸入的對(duì)象塊的原來的信號(hào)與雙預(yù)測(cè)信號(hào)的絕對(duì)值誤差和達(dá)到最小。并且,根據(jù)已編碼的運(yùn)動(dòng)信息生成另一個(gè)運(yùn)動(dòng)信息。
在本實(shí)施方式中對(duì)于雙預(yù)測(cè)進(jìn)行說明,運(yùn)動(dòng)信息由第0運(yùn)動(dòng)信息和第1運(yùn)動(dòng)信息構(gòu)成,兩者分別包括參照畫面索引(ref_idx[0]或者ref_idx[1])和運(yùn)動(dòng)矢量(mv[0][0/1]或者mv[1][0/1])。用圖6的List0指示第0運(yùn)動(dòng)信息的參照畫面的候選,用圖6的List1指示第1運(yùn)動(dòng)信息的參照畫面的候選。其中,[0/1]是識(shí)別矢量的水平成分和垂直成分的信息。以后將省略[0/1]的記述(在附圖中也同樣省略)。
另外,在圖6所示的參照畫面列表中登記的再生圖像,可以按照預(yù)先設(shè)定的規(guī)則而自動(dòng)決定,也可以按照幀單位或序列單位明確進(jìn)行編碼。此時(shí),關(guān)于各參照畫面的識(shí)別,如圖5和圖6所示能夠使用幀號(hào)。
由預(yù)測(cè)信號(hào)生成器103生成的運(yùn)動(dòng)信息經(jīng)由L103b輸出給運(yùn)動(dòng)信息用存儲(chǔ)器113。
運(yùn)動(dòng)信息用存儲(chǔ)器113保存所輸入的運(yùn)動(dòng)信息。所保存的運(yùn)動(dòng)信息經(jīng)由L113被輸入預(yù)測(cè)信號(hào)生成器,在后續(xù)的塊的運(yùn)動(dòng)信息的編碼處理中使用。
由預(yù)測(cè)信號(hào)生成器103生成的附加信息經(jīng)由L103c輸出給編碼器111。
由預(yù)測(cè)信號(hào)生成器103生成的預(yù)測(cè)信號(hào)經(jīng)由L103a輸出給減法器105和加法器110。
減法器105從經(jīng)由線路L102輸入的被塊分割器102分割后輸入的對(duì)象塊的像素信號(hào)中減去經(jīng)由線路L103a輸入的針對(duì)對(duì)象塊的預(yù)測(cè)信號(hào),來生成殘差信號(hào)。減法器105將相減后獲得的殘差信號(hào)經(jīng)由線路L105輸出給變換器106。
變換器106是對(duì)所輸入的殘差信號(hào)進(jìn)行離散余弦變換的部分。另外,量化器107是對(duì)由變換器106進(jìn)行離散余弦變換后的變換系數(shù)實(shí)施量化的部分。
編碼器111對(duì)從預(yù)測(cè)信號(hào)生成器輸入的附加信息和從量化器107輸入的量化變換系數(shù)進(jìn)行熵編碼,編碼數(shù)據(jù)經(jīng)由L111輸出給輸出端子112。雖然并未限定熵編碼的方法,但能夠應(yīng)用算術(shù)編碼或可變長編碼等。
輸出端子112將從編碼器111輸入的信息集中輸出到外部。
逆量化器108對(duì)已量化的變換系數(shù)進(jìn)行逆量化。逆變換器109利用逆離散余弦變換來復(fù)原殘差信號(hào)。加法器110將復(fù)原的殘差信號(hào)與經(jīng)由L103a輸入的預(yù)測(cè)信號(hào)相加,來再生編碼對(duì)象塊的信號(hào),并存儲(chǔ)在幀存儲(chǔ)器104中。在本實(shí)施方式中采用變換器106和逆變換器109,但也可以采用取代這些變換器的其它變換處理。另外,變換器106以及逆變換器109不是必須的。這樣,已編碼的編碼對(duì)象塊的再生信號(hào)在通過逆處理而復(fù)原后被存儲(chǔ)在幀存儲(chǔ)器104中,以便在后續(xù)的編碼對(duì)象塊的預(yù)測(cè)信號(hào)生成中使用。
下面,詳細(xì)說明預(yù)測(cè)信號(hào)生成器103。因此,首先對(duì)運(yùn)動(dòng)信息、預(yù)測(cè)運(yùn)動(dòng)信息和附加信息進(jìn)行說明。
如上所述,雙預(yù)測(cè)中的運(yùn)動(dòng)信息由第0運(yùn)動(dòng)信息和第1運(yùn)動(dòng)信息構(gòu)成,兩者分別包括參照畫面索引(ref_idx[0]或者ref_idx[1])和運(yùn)動(dòng)矢量(mv[0]或者mv[1])。用圖6的List0指示第0運(yùn)動(dòng)信息的參照畫面的候選,用圖6的List1指示第1運(yùn)動(dòng)信息的參照畫面的候選。
在本實(shí)施方式的雙預(yù)測(cè)中,預(yù)測(cè)信號(hào)生成器103使用已經(jīng)實(shí)施編碼的運(yùn)動(dòng)信息作為預(yù)測(cè)運(yùn)動(dòng)信息。在已編碼的運(yùn)動(dòng)信息中包含已編碼的相鄰塊所附帶的運(yùn)動(dòng)信息、和對(duì)象區(qū)域的已編碼的運(yùn)動(dòng)信息。另外,所謂相鄰塊所附帶的運(yùn)動(dòng)信息是指在相鄰塊是編碼對(duì)象時(shí)生成預(yù)測(cè)信號(hào)所使用的運(yùn)動(dòng)信息,被保存在運(yùn)動(dòng)信息用存儲(chǔ)器113中。
預(yù)測(cè)運(yùn)動(dòng)信息也由第0預(yù)測(cè)運(yùn)動(dòng)信息和第1預(yù)測(cè)運(yùn)動(dòng)信息構(gòu)成,兩者分別包括參照畫面索引(ref_idx[0]或者ref_idx[1])和運(yùn)動(dòng)矢量(mv[0]或者mv[1])。用圖6的List0指示第0預(yù)測(cè)運(yùn)動(dòng)信息的參照畫面的候選,用圖6的List1指示第1預(yù)測(cè)運(yùn)動(dòng)信息的參照畫面的候選。
預(yù)測(cè)運(yùn)動(dòng)信息的具體利用方法是,在對(duì)參照List0的參照畫面通過塊匹配而檢測(cè)出的第0運(yùn)動(dòng)信息的運(yùn)動(dòng)矢量進(jìn)行差分編碼時(shí),根據(jù)第0預(yù)測(cè)運(yùn)動(dòng)信息生成預(yù)測(cè)運(yùn)動(dòng)矢量。并且,根據(jù)第1預(yù)測(cè)運(yùn)動(dòng)信息生成使用List1的參照畫面的第1運(yùn)動(dòng)信息。
使用圖7說明預(yù)測(cè)運(yùn)動(dòng)信息的示例。圖7所示的塊400是對(duì)象塊,與其相鄰的塊401~404所附帶的運(yùn)動(dòng)信息成為預(yù)測(cè)運(yùn)動(dòng)信息的候選。相鄰塊的運(yùn)動(dòng)信息分別包括第0運(yùn)動(dòng)信息和第1運(yùn)動(dòng)信息??梢詫㈦p方作為預(yù)測(cè)運(yùn)動(dòng)信息的候選,也可以僅限定于一方(在預(yù)測(cè)第N運(yùn)動(dòng)信息的情況下,僅將相鄰塊的第N運(yùn)動(dòng)矢量作為候選)。
另外,塊410表示在參照畫面內(nèi)與塊400在空間上是同一位置的塊(co-located block)。塊410及與其相鄰的塊411~415所附帶的運(yùn)動(dòng)信息成為預(yù)測(cè)運(yùn)動(dòng)信息的候選。n表示用于識(shí)別預(yù)測(cè)運(yùn)動(dòng)信息的候選的號(hào)碼,利用預(yù)測(cè)運(yùn)動(dòng)信息索引(mvp_idx[0]或者mvp_idx[1])指示被選擇的候選。在本實(shí)施方式中,由于先對(duì)第0運(yùn)動(dòng)信息進(jìn)行編碼,因而第1預(yù)測(cè)運(yùn)動(dòng)信息能夠使用塊400所附帶的第0運(yùn)動(dòng)信息(在示例中,設(shè)n=4)。
另外,預(yù)測(cè)運(yùn)動(dòng)信息的候選的位置和號(hào)碼可以在編碼側(cè)和解碼側(cè)預(yù)先設(shè)定,在本發(fā)明中沒有限定。并且,預(yù)測(cè)運(yùn)動(dòng)信息的候選的數(shù)量也可以在編碼側(cè)和解碼側(cè)預(yù)先設(shè)定,也可以進(jìn)行編碼。
另外,在利用預(yù)測(cè)運(yùn)動(dòng)信息的ref_idx識(shí)別的參照畫面和利用對(duì)象塊的ref_idx識(shí)別的參照畫面不同的情況下,也可以根據(jù)編碼對(duì)象畫面和兩個(gè)參照畫面的幀號(hào)進(jìn)行預(yù)測(cè)運(yùn)動(dòng)信息中所包含的運(yùn)動(dòng)矢量的尺寸調(diào)整(scaling)處理。即,對(duì)預(yù)測(cè)運(yùn)動(dòng)信息中所包含的運(yùn)動(dòng)矢量進(jìn)行尺寸調(diào)整,并變換為用于指示利用對(duì)象塊識(shí)別出的參照畫面的運(yùn)動(dòng)矢量,將變換后的運(yùn)動(dòng)矢量用作預(yù)測(cè)運(yùn)動(dòng)矢量(pmv[0][0/1]或者pmv[1][0/1])。此時(shí),預(yù)測(cè)運(yùn)動(dòng)信息中所包含的參照畫面索引(ref_idx[0]或者ref_idx[1])被更新為對(duì)象塊的參照畫面索引(ref_idx[0]或者ref_idx[1])。其中,[0/1]表示識(shí)別矢量的水平成分和垂直成分的信息。以后省略[0/1]的記述(在附圖中也同樣省略)。
附加信息由第0附加信息和第1附加信息構(gòu)成。第0附加信息包括ref_idx[0]和差分運(yùn)動(dòng)矢量(mvd[0][0/1]=mv[0][0/1]-pmv[0][0/1])和mvp_idx[0]。第1附加信息包括ref_idx[1]和mvp_idx[1]。在本實(shí)施方式中,設(shè)mv[1][0/1]=pmv[1][0/1],因而mvd[1][0/1]的矢量值始終為0。mvd[1][0/1即使不進(jìn)行編碼,也能夠在解碼側(cè)復(fù)原,因而不需要包含在第1附加信息中。其中,[0/1]表示識(shí)別矢量的水平成分和垂直成分的信息。以后省略[0/1]的記述(在附圖中也同樣省略)。
圖2是示出本實(shí)施方式的預(yù)測(cè)信號(hào)生成器103的結(jié)構(gòu)的框圖。該預(yù)測(cè)信號(hào)生成器103具有第1運(yùn)動(dòng)信息估計(jì)器121、第0運(yùn)動(dòng)信息估計(jì)器122和預(yù)測(cè)信號(hào)生成器123。
在第1運(yùn)動(dòng)信息估計(jì)器121中,使用經(jīng)由L104輸入的List1的參照畫面,從經(jīng)由L113輸入的多個(gè)第1預(yù)測(cè)運(yùn)動(dòng)信息的候選(按照參照畫面索引對(duì)運(yùn)動(dòng)矢量進(jìn)行尺寸調(diào)整而作為預(yù)測(cè)運(yùn)動(dòng)矢量)中,選擇用于生成與經(jīng)由L102輸入的對(duì)象塊的原來的信號(hào)最類似的第1預(yù)測(cè)信號(hào)的一個(gè)第1預(yù)測(cè)運(yùn)動(dòng)信息的候選、與參照畫面索引的組。經(jīng)由L121a將第1預(yù)測(cè)信號(hào)輸出給預(yù)測(cè)信號(hào)生成器123,將根據(jù)所選擇的第1預(yù)測(cè)運(yùn)動(dòng)信息與參照畫面索引的組而生成的第1運(yùn)動(dòng)信息,經(jīng)由L121b和L103b1分別輸出給第0運(yùn)動(dòng)信息估計(jì)器122和運(yùn)動(dòng)信息用存儲(chǔ)器113。另外,生成第1附加信息,并經(jīng)由L103c1輸出給編碼器111。
在第0運(yùn)動(dòng)信息估計(jì)器122中,使用從L121b輸入的第1運(yùn)動(dòng)信息和經(jīng)由L104輸入的List1的參照畫面,生成第1預(yù)測(cè)信號(hào)。并且,搜索經(jīng)由L104輸入的List0的參照畫面,檢測(cè)利用第1預(yù)測(cè)信號(hào)和搜索出的第0預(yù)測(cè)信號(hào)的候選而生成的雙預(yù)測(cè)信號(hào)、與經(jīng)由L102輸入的對(duì)象塊的原來的信號(hào)的絕對(duì)值差分和達(dá)到最小的第0運(yùn)動(dòng)信息。將利用檢測(cè)出的第0運(yùn)動(dòng)信息生成的第0預(yù)測(cè)信號(hào)經(jīng)由L122輸出給預(yù)測(cè)信號(hào)生成器123。并且,將第0附加信息經(jīng)由L103b2輸出給運(yùn)動(dòng)信息用存儲(chǔ)器113。另外,生成第0附加信息,并經(jīng)由L103c2輸出給編碼器111。
另外,也可以是,先執(zhí)行第0運(yùn)動(dòng)信息估計(jì)器122的處理,并且相比第0預(yù)測(cè)信號(hào),先求出第0運(yùn)動(dòng)信息和第0附加信息。在這種情況下,檢測(cè)利用搜索出的第0預(yù)測(cè)信號(hào)的候選而生成的預(yù)測(cè)信號(hào)、與經(jīng)由L102輸入的對(duì)象塊的原來的信號(hào)的絕對(duì)值差分和達(dá)到最小的第0運(yùn)動(dòng)信息。并且,利用第0預(yù)測(cè)信號(hào)執(zhí)行第1運(yùn)動(dòng)信息估計(jì)器121。即,使用經(jīng)由L104輸入的List1的參照畫面,從經(jīng)由L113輸入的多個(gè)第1預(yù)測(cè)運(yùn)動(dòng)信息的候選(根據(jù)參照畫面索引將運(yùn)動(dòng)矢量調(diào)整尺寸而作為預(yù)測(cè)運(yùn)動(dòng)矢量)中生成第1預(yù)測(cè)信號(hào)的候選,并以使利用第0預(yù)測(cè)信號(hào)和第1預(yù)測(cè)信號(hào)的候選而生成的雙預(yù)測(cè)信號(hào)、與經(jīng)由L102輸入的對(duì)象塊的原來的信號(hào)最類似的方式,選擇第1預(yù)測(cè)運(yùn)動(dòng)信息的候選與參照畫面索引的組。該變形能夠通過向第1運(yùn)動(dòng)信息估計(jì)器121輸入第0運(yùn)動(dòng)信息來實(shí)施。
在測(cè)信號(hào)生成器123中,將經(jīng)由L121a和L122輸入的第1預(yù)測(cè)信號(hào)和第0預(yù)測(cè)信號(hào)平均化,生成對(duì)象塊的預(yù)測(cè)信號(hào),并經(jīng)由L103a輸出給減法器105和加法器110。
圖3示出第1運(yùn)動(dòng)信息估計(jì)器121的流程圖。首先,在步驟S301,將在對(duì)象塊的預(yù)測(cè)處理中使用的List1的參照畫面的數(shù)量設(shè)定為M(在圖6(A)或(C)中M=4,在圖6(B)中M=2),將第1運(yùn)動(dòng)信息中所包含的List1的參照畫面索引ref_idx[1]設(shè)定為0,將List1的參照畫面數(shù)的計(jì)數(shù)m初始化為0。另外,將運(yùn)動(dòng)矢量評(píng)價(jià)值D設(shè)定為Max值。然后,在步驟S302,將預(yù)測(cè)運(yùn)動(dòng)矢量的候選數(shù)設(shè)定為N(在圖7中N=11,但是在相比第0運(yùn)動(dòng)信息估計(jì)器122先執(zhí)行第1運(yùn)動(dòng)信息估計(jì)器121的情況下,由于塊400的第0運(yùn)動(dòng)信息未決定,因而跳過n=4),將第1附加信息中所包含的預(yù)測(cè)運(yùn)動(dòng)信息索引mvp_idx[1]設(shè)定為0。將預(yù)測(cè)運(yùn)動(dòng)信息數(shù)的計(jì)數(shù)n初始化為0。
然后,在步驟S303,從相鄰塊的運(yùn)動(dòng)矢量取得預(yù)測(cè)運(yùn)動(dòng)矢量候選n的運(yùn)動(dòng)矢量,在步驟S304,生成第n個(gè)預(yù)測(cè)運(yùn)動(dòng)矢量pmv[1][m][n][0/1](其中,[0/1]表示識(shí)別矢量的水平成分和垂直成分的信息。以后省略[0/1]的記述。在附圖中也同樣省略)。此時(shí),按照對(duì)象畫面與參照畫面的距離(根據(jù)參照畫面索引而識(shí)別的幀號(hào)),對(duì)相鄰塊的運(yùn)動(dòng)矢量進(jìn)行尺寸調(diào)整,并作為預(yù)測(cè)運(yùn)動(dòng)矢量。然后,在步驟S305,根據(jù)第m個(gè)參照畫面和第n個(gè)尺寸調(diào)整后的預(yù)測(cè)運(yùn)動(dòng)矢量(pmv[1][m][n])生成對(duì)象塊的預(yù)測(cè)信號(hào),在步驟S306,判定所生成的預(yù)測(cè)信號(hào)與對(duì)象塊的原來的信號(hào)的差分信號(hào)的絕對(duì)值和是否小于運(yùn)動(dòng)矢量評(píng)價(jià)值D。在絕對(duì)值和為運(yùn)動(dòng)矢量評(píng)價(jià)值D以上的情況下,進(jìn)入步驟S308。在絕對(duì)值和小于運(yùn)動(dòng)矢量評(píng)價(jià)值D的情況下,進(jìn)入步驟S307。將第1附加信息中所包含的預(yù)測(cè)運(yùn)動(dòng)信息索引mvp_idx[1]更新為n,將參照畫面索引ref_idx[1]更新為m,將運(yùn)動(dòng)矢量評(píng)價(jià)值D更新為在步驟S306計(jì)算出的預(yù)測(cè)信號(hào)與對(duì)象塊的原來的信號(hào)的差分信號(hào)的絕對(duì)值和。另外,將第1運(yùn)動(dòng)信息中所包含的運(yùn)動(dòng)矢量mv[1]設(shè)定為預(yù)測(cè)運(yùn)動(dòng)矢量pmv[1][ref_idx[1]][mvp_idx[1]],將參照畫面索引設(shè)定為ref_idx[1]。然后,進(jìn)入步驟S308。
在步驟S308,判定n的值是否小于N,在n小于N的情況下,進(jìn)入步驟S309,在n達(dá)到N的情況下,進(jìn)入步驟S310。在步驟S309,將n的值加1,返回步驟S303。然后,反復(fù)步驟S303~步驟S07,直到n達(dá)到N。在步驟S310,判定m的值是否小于M,在m小于M的情況下,進(jìn)入步驟S311,將m的值加1,返回步驟S302。然后,反復(fù)步驟S302~步驟S09,直到m達(dá)到M。在m達(dá)到M的情況下,在步驟S312,將第1附加信息(ref_idx[1]、mvp_idx[1])輸出給編碼器111,將第1運(yùn)動(dòng)信息(ref_idx[1]和mv[1])存儲(chǔ)在運(yùn)動(dòng)信息用存儲(chǔ)器113中,并輸出給第0運(yùn)動(dòng)信息估計(jì)器122,結(jié)束處理。
圖4示出第0運(yùn)動(dòng)信息估計(jì)器122的流程圖。首先,在步驟S351,根據(jù)第1運(yùn)動(dòng)信息生成雙預(yù)測(cè)中的第1預(yù)測(cè)信號(hào)。然后,在步驟S352,將在對(duì)象塊的預(yù)測(cè)處理中使用的List0的參照畫面的數(shù)量設(shè)定為M(在圖6(A)或(C)中M=4,在圖6(B)中M=2),將第0運(yùn)動(dòng)信息中所包含的List0的參照畫面索引ref_idx[0]設(shè)定為0,將List0的參照畫面數(shù)的計(jì)數(shù)m初始化為0。另外,將運(yùn)動(dòng)矢量評(píng)價(jià)值D設(shè)定為Max值。然后,在步驟S353,決定在從多個(gè)候選中識(shí)別對(duì)第0運(yùn)動(dòng)矢量進(jìn)行差分編碼時(shí)使用的預(yù)測(cè)運(yùn)動(dòng)矢量的預(yù)測(cè)運(yùn)動(dòng)信息索引mvp_idx[0]。關(guān)于選擇方法,例如能夠使用圖3的步驟S303~S309所示的方法。并且,生成預(yù)測(cè)運(yùn)動(dòng)矢量的候選pmv[0][m][n]。此時(shí),如在圖3的步驟S304說明的那樣,按照對(duì)象畫面與參照畫面的距離(根據(jù)參照畫面索引而識(shí)別的幀號(hào)),對(duì)相鄰塊的運(yùn)動(dòng)矢量進(jìn)行尺寸調(diào)整,作為預(yù)測(cè)運(yùn)動(dòng)矢量。
然后,在步驟S354,取得被存儲(chǔ)于幀存儲(chǔ)器104中的利用ref_idx[0]指示的參照畫面,搜索通過與第1預(yù)測(cè)信號(hào)配合進(jìn)行平均化而得到的雙預(yù)測(cè)信號(hào)與原來的信號(hào)的差分信號(hào)的絕對(duì)值和達(dá)到最小的第0運(yùn)動(dòng)矢量mv[0]。然后,在步驟S355,生成第0差分運(yùn)動(dòng)矢量mvd[0](=mv[0]-pmv[0][m][n])。然后,在步驟S356,判定所生成的雙預(yù)測(cè)信號(hào)與對(duì)象塊的原來的信號(hào)的差分信號(hào)的絕對(duì)值和與第0附加信息(mvd[0]和m和n)的代碼量評(píng)價(jià)值(λ(QP)×(mvd、m、n的代碼量),λ表示用參數(shù)QP決定的加權(quán)值,該參數(shù)QP用于決定在對(duì)將預(yù)測(cè)外側(cè)信號(hào)變換后的變換系數(shù)進(jìn)行量化時(shí)的量化精度)之和是否小于運(yùn)動(dòng)矢量評(píng)價(jià)值D。在絕對(duì)值和+代碼量評(píng)價(jià)值為運(yùn)動(dòng)矢量評(píng)價(jià)值D以上的情況下,進(jìn)入步驟S358。在絕對(duì)值和+代碼量評(píng)價(jià)值小于運(yùn)動(dòng)矢量評(píng)價(jià)值D的情況下,進(jìn)入步驟S357,將第0附加信息中所包含的預(yù)測(cè)運(yùn)動(dòng)信息索引mvp_idx[0]更新為n,將參照畫面索引ref_idx[0]更新為m,將差分運(yùn)動(dòng)矢量mvd[0]更新為(mv[0]-pmv[0][ref_idx[1]][mvp_idx[1]]),將D更新為在步驟S356計(jì)算出的雙預(yù)測(cè)信號(hào)與對(duì)象塊的原來的信號(hào)的差分信號(hào)的絕對(duì)值和+代碼量評(píng)價(jià)值。另外,更新第0運(yùn)動(dòng)信息中所包含的運(yùn)動(dòng)矢量mv[0]。然后,進(jìn)入步驟S358。
在步驟S358,判定m的值是否小于M,在m小于M的情況下,進(jìn)入步驟S359,將m的值加1,返回步驟S353。然后,反復(fù)步驟S353~步驟S359,直到m達(dá)到M。在m達(dá)到M的情況下,在步驟S360,將第0附加信息(ref_idx[0]、mvd[0]、mvp_idx[0])輸出給編碼器111,將第0運(yùn)動(dòng)信息(ref_idx[0]和mv[0])存儲(chǔ)在運(yùn)動(dòng)信息用存儲(chǔ)器113中,并結(jié)束處理。
另外,也可以是,先執(zhí)行第0運(yùn)動(dòng)信息估計(jì)器122,并且相比第0預(yù)測(cè)信號(hào),先求出第0運(yùn)動(dòng)信息和第0附加信息。在這種情況下,圖4的步驟S351被省略,在步驟S356,不是求出雙預(yù)測(cè)信號(hào),而是求出第0預(yù)測(cè)信號(hào)與原來的信號(hào)的差分信號(hào)的絕對(duì)值和。在圖3中,能夠?qū)D7中用n=4指示的第0運(yùn)動(dòng)信息用作預(yù)測(cè)運(yùn)動(dòng)信息的候選。該變形是這樣實(shí)現(xiàn)的:追加根據(jù)第0運(yùn)動(dòng)信息求出雙預(yù)測(cè)中的第0預(yù)測(cè)信號(hào)的步驟,在步驟S306變更為計(jì)算通過將所生成的第1預(yù)測(cè)信號(hào)和第0預(yù)測(cè)信號(hào)平均化而生成的雙預(yù)測(cè)信號(hào)、與原來的預(yù)測(cè)信號(hào)的差分信號(hào)的絕對(duì)值和。
這樣,通過根據(jù)已經(jīng)實(shí)施編碼的運(yùn)動(dòng)信息生成雙預(yù)測(cè)的第1運(yùn)動(dòng)矢量來取代運(yùn)動(dòng)矢量,對(duì)用于從圖6和圖7所示的多個(gè)候選中識(shí)別參照畫面索引和預(yù)測(cè)運(yùn)動(dòng)信息的識(shí)別信息進(jìn)行編碼,能夠以較少的代碼量生成與隨機(jī)性較大的紋理(texture)區(qū)域或包含噪聲的平坦區(qū)域中的對(duì)象塊的信號(hào)類似的一個(gè)類似信號(hào)。另外,通過在參照畫面上搜索,檢測(cè)用于生成第2類似信號(hào)的第0運(yùn)動(dòng)矢量并進(jìn)行編碼,與兩個(gè)運(yùn)動(dòng)矢量都是從已編碼的運(yùn)動(dòng)信息中求出的情況相比,能夠期待提高雙預(yù)測(cè)信號(hào)的平滑效果的效果。
圖9是示出本實(shí)施方式的動(dòng)態(tài)圖像預(yù)測(cè)編碼裝置100的動(dòng)態(tài)圖像預(yù)測(cè)編碼方法的步驟的流程圖。首先,塊分割器102將輸入圖像分割為8×8編碼塊(也可以分割為其以外的大小或形狀的塊。另外,在畫面內(nèi)可混合存在尺寸不同的塊)。
首先,構(gòu)成測(cè)信號(hào)生成器103的第1運(yùn)動(dòng)信息估計(jì)器121使用從幀存儲(chǔ)器104得到的List1的參照畫面和從運(yùn)動(dòng)信息用存儲(chǔ)器得到的第1預(yù)測(cè)運(yùn)動(dòng)信息的候選,生成與對(duì)象塊類似的第1預(yù)測(cè)信號(hào),并且生成在生成第1預(yù)測(cè)信號(hào)時(shí)所需要的第1運(yùn)動(dòng)信息和第1附加信息(步驟S100)。關(guān)于該步驟的詳細(xì)情況已在圖3中說明。然后,第0運(yùn)動(dòng)信息估計(jì)器122使用從幀存儲(chǔ)器104得到的List0的參照畫面和從運(yùn)動(dòng)信息用存儲(chǔ)器得到的第0預(yù)測(cè)運(yùn)動(dòng)信息的候選、和從第1運(yùn)動(dòng)信息估計(jì)器121得到的第1運(yùn)動(dòng)信息,生成與對(duì)象塊類似的第0預(yù)測(cè)信號(hào),并且生成在生成第0預(yù)測(cè)信號(hào)時(shí)所需要的第0運(yùn)動(dòng)信息和第0附加信息(步驟S150)。關(guān)于該步驟的詳細(xì)情況已在圖4中說明。
然后,由編碼器111對(duì)第0附加信息和第1附加信息進(jìn)行熵編碼,將第0運(yùn)動(dòng)信息和第1運(yùn)動(dòng)信息存儲(chǔ)在運(yùn)動(dòng)信息用存儲(chǔ)器113中(步驟S101)。然后,在步驟S102,由構(gòu)成測(cè)信號(hào)生成器103的預(yù)測(cè)信號(hào)生成器123將第0預(yù)測(cè)信號(hào)和第1預(yù)測(cè)信號(hào)平均化,生成對(duì)象塊的雙預(yù)測(cè)信號(hào)。由變換器106、量化器107和編碼器111對(duì)表示編碼對(duì)象塊的像素信號(hào)與預(yù)測(cè)信號(hào)的差分的殘差信號(hào)進(jìn)行變換編碼(步驟S103)。附加信息和量化變換系數(shù)的編碼數(shù)據(jù)通過輸出端子112被輸出(步驟S104)。在這些處理之后或者與這些處理并行地,由逆量化器108和逆變換器109對(duì)被編碼的殘差信號(hào)進(jìn)行解碼,以便對(duì)后續(xù)的編碼對(duì)象塊進(jìn)行預(yù)測(cè)編碼。并且,由加法器110將被解碼后的殘差信號(hào)與預(yù)測(cè)信號(hào)相加,由此編碼對(duì)象塊的信號(hào)被再生。再生信號(hào)作為參照畫面被存儲(chǔ)在幀存儲(chǔ)器104中(步驟S105)。并且,在沒有完成全部編碼對(duì)象塊的處理的情況下,返回步驟S100,進(jìn)行針對(duì)下一個(gè)編碼對(duì)象塊的處理。在完成了全部編碼對(duì)象塊的處理的情況下,結(jié)束處理(步驟S106)。
下面,說明本實(shí)施方式的動(dòng)態(tài)圖像預(yù)測(cè)解碼方法。圖10是示出本實(shí)施方式的動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置200的框圖。該動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置200具備輸入端子201、解碼器202、逆量化器203、逆變換器204、加法器205、輸出端子206、運(yùn)動(dòng)補(bǔ)償器207、運(yùn)動(dòng)信息復(fù)原器208、幀存儲(chǔ)器104、運(yùn)動(dòng)信息用存儲(chǔ)器113。逆量化器203、逆變換器204作為殘差信號(hào)復(fù)原單元發(fā)揮作用,運(yùn)動(dòng)信息用存儲(chǔ)器113作為運(yùn)動(dòng)信息記錄單元發(fā)揮作用?;谀媪炕?03和逆變換器204的解碼單元可采用這些部件以外的部件進(jìn)行解碼。另外,可以沒有逆變換器204。
輸入端子201輸入利用上述的動(dòng)態(tài)圖像預(yù)測(cè)編碼方法進(jìn)行壓縮編碼的壓縮數(shù)據(jù)。在該壓縮數(shù)據(jù)中針對(duì)被分割為多個(gè)的編碼塊,包含對(duì)誤差信號(hào)進(jìn)行變換量化后進(jìn)行熵編碼而得到的量化變換系數(shù)的信息的編碼數(shù)據(jù)、以及用于生成塊的雙預(yù)測(cè)信號(hào)的第0附加信息和第1附加信息的編碼數(shù)據(jù)。
解碼器202對(duì)向輸入端子201輸入的壓縮數(shù)據(jù)進(jìn)行分析,分離為與解碼對(duì)象塊相關(guān)的量化變換系數(shù)的編碼數(shù)據(jù)和附加信息的編碼數(shù)據(jù)并且進(jìn)行熵解碼,再經(jīng)由L202a、L202b分別輸出給逆量化器203和運(yùn)動(dòng)信息復(fù)原器208。
運(yùn)動(dòng)信息復(fù)原器208經(jīng)由L202b輸入第0附加信息(ref_idx[0]、mvd[0]、mvp_idx[0])和第1附加信息(ref_idx[1]、mvp_idx[1]),利用經(jīng)由L113而取得的已解碼的運(yùn)動(dòng)信息來復(fù)原第0運(yùn)動(dòng)信息(ref_idx[0]、mv[0])和第1運(yùn)動(dòng)信息(ref_idx[1]、mv[1])。被復(fù)原后的第0運(yùn)動(dòng)信息和第1運(yùn)動(dòng)信息經(jīng)由L208a和L208b分別輸出給運(yùn)動(dòng)補(bǔ)償器207和運(yùn)動(dòng)信息用存儲(chǔ)器113。運(yùn)動(dòng)信息用存儲(chǔ)器保存運(yùn)動(dòng)信息。
運(yùn)動(dòng)補(bǔ)償器207根據(jù)兩個(gè)運(yùn)動(dòng)信息,從幀存儲(chǔ)器104取得已再生信號(hào),將兩個(gè)預(yù)測(cè)信號(hào)平均化,并生成解碼對(duì)象塊的雙預(yù)測(cè)信號(hào)。所生成的預(yù)測(cè)信號(hào)經(jīng)由L126被輸出給加法器205。
由解碼器202解碼后的解碼對(duì)象塊中的殘差信號(hào)的量化變換系數(shù)經(jīng)由L203被輸出給逆量化器203。逆量化器203對(duì)解碼對(duì)象塊中的殘差信號(hào)的量化變換系數(shù)進(jìn)行逆量化。逆變換器204對(duì)已逆量化的數(shù)據(jù)進(jìn)行逆離散余弦變換,并生成殘差信號(hào)。
加法器205將由運(yùn)動(dòng)補(bǔ)償器207生成的雙預(yù)測(cè)信號(hào)、與經(jīng)由逆量化器203以及逆變換器204復(fù)原的殘差信號(hào)相加,將解碼對(duì)象塊的再生像素信號(hào)經(jīng)由線L205輸出給輸出端子206以及幀存儲(chǔ)器104。輸出端子206向外部(例如顯示器)進(jìn)行輸出。
幀存儲(chǔ)器104將從加法器205輸出的再生圖像存儲(chǔ)為參照畫面,并作為用于下一解碼處理的參照用的再生圖像。
圖11是示出本實(shí)施方式的運(yùn)動(dòng)信息復(fù)原器208的結(jié)構(gòu)的框圖。該運(yùn)動(dòng)信息復(fù)原器208具有第1運(yùn)動(dòng)信息復(fù)原器211和第0運(yùn)動(dòng)信息復(fù)原器212。
這些第1運(yùn)動(dòng)信息復(fù)原器211和第0運(yùn)動(dòng)信息復(fù)原器212能夠同時(shí)進(jìn)行動(dòng)作。
第0運(yùn)動(dòng)信息復(fù)原器212將第0附加信息(ref_idx[0]、mvp_idx[0]、mvd[0])作為輸入,從經(jīng)由L113得到的相鄰塊的運(yùn)動(dòng)信息生成第0預(yù)測(cè)運(yùn)動(dòng)矢量(pmv[0][ref_idx[0]][mvp_idx[0]]),將預(yù)測(cè)運(yùn)動(dòng)矢量和附加信息中所包含的差分運(yùn)動(dòng)矢量(mvd[0])相加,并生成第0運(yùn)動(dòng)信息中所包含的運(yùn)動(dòng)矢量,由此復(fù)原第0運(yùn)動(dòng)信息。同樣,在利用ref_idx識(shí)別的參照畫面和利用對(duì)象塊的ref_idx識(shí)別的參照畫面不同的情況下,也可以根據(jù)編碼對(duì)象畫面和兩個(gè)參照畫面的幀號(hào)進(jìn)行運(yùn)動(dòng)信息中所包含的運(yùn)動(dòng)矢量的尺寸調(diào)整處理。
第1運(yùn)動(dòng)信息復(fù)原器211將第1附加信息(ref_idx[1]、mvp_idx[1])作為輸入,從經(jīng)由L113得到的已解碼的運(yùn)動(dòng)信息生成第1預(yù)測(cè)運(yùn)動(dòng)矢量(pmv[1][ref_idx[1]][mvp_idx[1]])。將該預(yù)測(cè)運(yùn)動(dòng)矢量作為第1運(yùn)動(dòng)信息中所包含的移動(dòng)矢量(mv[1]=pmv[1][ref_idx[1]][mvp_idx[1]]),由此復(fù)原第1運(yùn)動(dòng)矢量。此時(shí),也可以將差分運(yùn)動(dòng)矢量mvd[1]設(shè)定為零矢量,將其與預(yù)測(cè)運(yùn)動(dòng)矢量相加,由此復(fù)原第1運(yùn)動(dòng)矢量。另外,此時(shí)在利用ref_idx識(shí)別的參照畫面和利用對(duì)象塊的ref_idx識(shí)別的參照畫面不同的情況下,也可以根據(jù)編碼對(duì)象畫面和兩個(gè)參照畫面的幀號(hào)進(jìn)行預(yù)測(cè)運(yùn)動(dòng)信息中所包含的運(yùn)動(dòng)矢量的尺寸調(diào)整處理。即,對(duì)預(yù)測(cè)運(yùn)動(dòng)信息中所包含的運(yùn)動(dòng)矢量進(jìn)行尺寸調(diào)整,變換為用于指示利用對(duì)象塊識(shí)別的參照畫面的運(yùn)動(dòng)矢量,將變換后的運(yùn)動(dòng)矢量用作預(yù)測(cè)運(yùn)動(dòng)矢量。
圖13示出第0運(yùn)動(dòng)信息復(fù)原器212的流程圖。首先,在步驟S451,輸入第0附加信息(ref_idx[0]和mvp_idx[0]和mvd[0])的解碼數(shù)據(jù)。然后,在步驟S452,根據(jù)所輸入的ref_idx[0]和mvp_idx[0],從如圖7所示的相鄰塊的運(yùn)動(dòng)信息(塊400的運(yùn)動(dòng)信息未定,因而不包含)中,輸入利用mvp_idx[0]指示的運(yùn)動(dòng)信息,并導(dǎo)出預(yù)測(cè)運(yùn)動(dòng)矢量(pmv[0][ref_idx[0]][mvp_idx[0]])。此時(shí),在利用ref_idx識(shí)別的參照畫面和利用對(duì)象塊的ref_idx識(shí)別的參照畫面不同的情況下,也可以根據(jù)編碼對(duì)象畫面和兩個(gè)參照畫面的幀號(hào)進(jìn)行預(yù)測(cè)運(yùn)動(dòng)信息中所包含的運(yùn)動(dòng)矢量的尺寸調(diào)整處理。然后,在步驟S453,將所生成的預(yù)測(cè)運(yùn)動(dòng)矢量和差分運(yùn)動(dòng)矢量相加來復(fù)原第0運(yùn)動(dòng)矢量(mv[0]=pmv[0][ref_idx[0]][mvp_idx[0]]+mvd[0])。最后,在步驟S454,將第0運(yùn)動(dòng)信息(ref_idx[0]和mv[0])輸出給運(yùn)動(dòng)補(bǔ)償器207和運(yùn)動(dòng)信息用存儲(chǔ)器113,結(jié)束處理。
圖12示出第1運(yùn)動(dòng)信息復(fù)原器211的流程圖。首先,在步驟S401,輸入第1附加信息(ref_idx[1]和mvp_idx[1])的解碼數(shù)據(jù),在步驟S402,將差分運(yùn)動(dòng)矢量(mvd[1])的矢量值設(shè)定為0。然后,在步驟S403,根據(jù)所輸入的ref_idx[1]和mvp_idx[1],從如圖7所示的已解碼的運(yùn)動(dòng)信息(可能包括n=4)中,輸入利用mvp_idx[1]指示的運(yùn)動(dòng)信息,并導(dǎo)出預(yù)測(cè)運(yùn)動(dòng)矢量(pmv[1][ref_idx[1]][mvp_idx[1]])。此時(shí),在利用ref_idx識(shí)別的參照畫面和利用對(duì)象塊的ref_idx識(shí)別的參照畫面不同的情況下,也可以根據(jù)編碼對(duì)象畫面和兩個(gè)參照畫面的幀號(hào)進(jìn)行預(yù)測(cè)運(yùn)動(dòng)信息中所包含的運(yùn)動(dòng)矢量的尺寸調(diào)整處理。然后,在步驟S404,將所生成的預(yù)測(cè)運(yùn)動(dòng)矢量和差分運(yùn)動(dòng)矢量相加來復(fù)原第1運(yùn)動(dòng)矢量(mv[1]=pmv[1][ref_idx[1]][mvp_idx[1]]+mvd[1])。最后,在步驟S405,將第1運(yùn)動(dòng)信息(ref_idx[1]和mv[1])輸出給運(yùn)動(dòng)補(bǔ)償器207和運(yùn)動(dòng)信息用存儲(chǔ)器113,結(jié)束處理。另外,mvd[1]的矢量值始終為0,因而也可以省略步驟S402,在步驟S404將預(yù)測(cè)運(yùn)動(dòng)矢量設(shè)定為運(yùn)動(dòng)矢量(mv[1]=pmv[1][ref_idx[1]][mvp_idx[1]])。
下面,使用圖14說明圖10所示的動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置200的動(dòng)態(tài)圖像預(yù)測(cè)解碼方法。首先,通過輸入端子201被輸入壓縮數(shù)據(jù)(步驟S201)。并且,解碼器202進(jìn)行壓縮數(shù)據(jù)的數(shù)據(jù)分析并進(jìn)行熵解碼,對(duì)生成雙預(yù)測(cè)信號(hào)所需要的第0附加信息和第1附加信息以及量化變換系數(shù)進(jìn)行解碼(步驟S202)。
然后,構(gòu)成運(yùn)動(dòng)信息復(fù)原器208的第0運(yùn)動(dòng)信息復(fù)原器212使用第0附加信息和在運(yùn)動(dòng)信息用存儲(chǔ)器113中保存的相鄰塊的運(yùn)動(dòng)信息,將第0運(yùn)動(dòng)信息復(fù)原(步驟S250)。有關(guān)該步驟的詳細(xì)情況已在圖13中說明。
然后,構(gòu)成運(yùn)動(dòng)信息復(fù)原器208的第1運(yùn)動(dòng)信息復(fù)原器211使用第1附加信息和在運(yùn)動(dòng)信息用存儲(chǔ)器113中保存的相鄰塊的運(yùn)動(dòng)信息,將第1運(yùn)動(dòng)信息復(fù)原(步驟S200)。有關(guān)該步驟的詳細(xì)情況已在圖12中說明。
然后,根據(jù)被復(fù)原后的運(yùn)動(dòng)信息,運(yùn)動(dòng)補(bǔ)償器207生成解碼對(duì)象塊的雙預(yù)測(cè)信號(hào),將運(yùn)動(dòng)信息保存在運(yùn)動(dòng)信息用存儲(chǔ)器113中(步驟S207)。
由解碼器202解碼后的量化變換系數(shù)在逆量化器203中進(jìn)行逆量化,在逆變換器204中進(jìn)行逆變換,從而生成再生殘差信號(hào)(步驟S208)。并且,將所生成的雙預(yù)測(cè)信號(hào)和再生殘差信號(hào)相加而生成再生信號(hào),該再生信號(hào)用于再生下一個(gè)解碼對(duì)象塊,因而被存儲(chǔ)在幀存儲(chǔ)器104中(步驟S209)。在存在下一個(gè)壓縮數(shù)據(jù)的情況下,反復(fù)S202~S209的處理,直到最后全部數(shù)據(jù)被處理。
下面,說明有選擇地利用包括本發(fā)明在內(nèi)的多種雙預(yù)測(cè)方法的方法。以上說明的僅對(duì)一個(gè)差分運(yùn)動(dòng)矢量進(jìn)行編碼的雙預(yù)測(cè)(稱為雙預(yù)測(cè)類型2),能夠自適應(yīng)地與過去對(duì)兩個(gè)差分運(yùn)動(dòng)矢量進(jìn)行編碼的雙預(yù)測(cè)(稱為雙預(yù)測(cè)類型1)以及單預(yù)測(cè)組合使用。這些預(yù)測(cè)方式能夠按照畫面單位、將多個(gè)塊集中起來的切片(slice)單位、或者塊單位來切換使用。在切換處理中,能夠采用對(duì)切換信息進(jìn)行編碼的方法、在解碼側(cè)根據(jù)參照畫面的幀號(hào)進(jìn)行決定的方法。
另外,用于切換雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的處理是這樣實(shí)現(xiàn)的:對(duì)圖2的第1運(yùn)動(dòng)信息估計(jì)器121追加塊匹配功能、和從搜索出的運(yùn)動(dòng)矢量減去預(yù)測(cè)矢量來計(jì)算差分運(yùn)動(dòng)矢量的功能,對(duì)圖11的第1運(yùn)動(dòng)信息復(fù)原器追加從解碼器取得差分運(yùn)動(dòng)矢量的功能。下面說明具體方法。
(畫面/切片單位切換、雙預(yù)測(cè)類型的切換信息編碼處理)
在按照畫面/切片單位來切換雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的情況下,將雙預(yù)測(cè)類型的切換信息(例如,BiPred_type)包含在畫面或者切片的報(bào)頭(header)中進(jìn)行編碼處理。
如圖5(A)所示,在所有的參照畫面的候選按照顯示順序是在編碼對(duì)象畫面以前的畫面的情況下,雙預(yù)測(cè)類型2有效,因而在編碼側(cè)選擇使用雙預(yù)測(cè)類型2。并且,編碼裝置利用畫面或者切片的報(bào)頭信息對(duì)表示雙預(yù)測(cè)類型2的指示信息(例如,BiPred_type=1)進(jìn)行編碼。另一方面,如圖5(B)所示,在按照顯示順序是在編碼對(duì)象畫面以后的畫面包含在參照畫面的候選中的情況下,編碼裝置選擇雙預(yù)測(cè)類型1,利用畫面或者切片的報(bào)頭信息對(duì)表示雙預(yù)測(cè)類型1的指示信息(例如,BiPred_type=0)進(jìn)行編碼。
在采用雙預(yù)測(cè)類型1的情況下,在對(duì)畫面內(nèi)或者切片內(nèi)的塊進(jìn)行編碼時(shí)搜索運(yùn)動(dòng)矢量mv[1]。與第0附加信息(對(duì)ref_idx[0]和mvd[0]和mvp_idx[0]進(jìn)行編碼)相同地,將mvd[1]包含在第1附加信息中,與ref_idx[1]和mvp_idx[1]一起進(jìn)行編碼。在采用雙預(yù)測(cè)類型2的情況下,將作為第0附加信息的ref_idx[0]和mvd[0]和mvp_idx[0]進(jìn)行編碼,將作為第1附加信息的ref_idx[1]和mvp_idx[1]進(jìn)行編碼。
在解碼側(cè),在根據(jù)利用畫面或者切片的報(bào)頭信息進(jìn)行解碼后的指示信息對(duì)畫面內(nèi)或者切片內(nèi)的各塊進(jìn)行解碼時(shí),切換mvd[1]的復(fù)原方法。即,在對(duì)表示雙預(yù)測(cè)類型1的指示信息(例如,BiPred_type=0)進(jìn)行解碼的情況下,在對(duì)畫面內(nèi)或者切片內(nèi)的各塊進(jìn)行解碼時(shí),將mvd[1]包含在第1附加信息中,與ref_idx[1]和mvp_idx[1]一起進(jìn)行解碼。在對(duì)表示雙預(yù)測(cè)類型2的指示信息(例如,BiPred_type=1)進(jìn)行解碼的情況下,在對(duì)畫面內(nèi)或者切片內(nèi)的各塊進(jìn)行解碼時(shí),將作為第1附加信息的ref_idx[1]和mvp_idx[1]進(jìn)行解碼,將mvd[1]的水平/垂直矢量值設(shè)定為0。關(guān)于第0附加信息,與指示信息的值無關(guān),將ref_idx[0]和mvd[0]和mvp_idx[0]進(jìn)行解碼。
另外,編碼側(cè)的雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的切換方法不依據(jù)于在此示出的方法。例如,在所有的參照畫面按照顯示順序是在編碼對(duì)象畫面以后的畫面的情況下,也可以采用雙預(yù)測(cè)類型2。并且,也能夠采用如下的方法:調(diào)查實(shí)際采用雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2時(shí)的編碼效率(例如,將編碼誤差信號(hào)的平方+編碼比特?cái)?shù)進(jìn)行變換后的評(píng)價(jià)值),選擇編碼效率較高的雙預(yù)測(cè)類型。
另外,在如圖8所示自適應(yīng)地使用多種塊尺寸的編碼方法中,也可以在畫面或者切片報(bào)頭中,針對(duì)不同的塊尺寸獨(dú)立發(fā)送用于切換雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的指示信息。例如,在塊尺寸為64×64、32×32、16×16、8×8的情況下,對(duì)4個(gè)指示信息進(jìn)行編碼。
另外,在塊的預(yù)測(cè)方法采用單預(yù)測(cè)和雙預(yù)測(cè)雙方的情況下,在編碼側(cè)選擇預(yù)測(cè)類型(單預(yù)測(cè)或者雙預(yù)測(cè)),并包含在附加信息中進(jìn)行編碼。并且,僅在選擇了雙預(yù)測(cè)的塊中執(zhí)行雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的切換處理。在解碼側(cè),僅在對(duì)表示預(yù)測(cè)類型為雙預(yù)測(cè)的信息進(jìn)行了解碼的塊中執(zhí)行雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的切換處理。
(畫面/切片單位切換、基于參照畫面的幀號(hào)的決定處理)
圖5(A)或圖5(B)所示的參照畫面的候選在編碼側(cè)和解碼側(cè)是相同的。因此,根據(jù)參照畫面的候選的幀號(hào)和編碼對(duì)象畫面的幀號(hào)決定采用雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2中的哪種類型。即,在所有的參照畫面的候選按照顯示順序是在編碼對(duì)象畫面以前的畫面的情況下,采用雙預(yù)測(cè)類型2,在按照顯示順序是在編碼對(duì)象畫面以后的畫面包含在參照畫面的候選中的情況下,采用雙預(yù)測(cè)類型1。在該方法中不需要發(fā)送指示信息。
另外,在所有的參照畫面的候選按照顯示順序是在編碼對(duì)象畫面以前的畫面的情況下,也可以采用雙預(yù)測(cè)類型2。
(塊單位切換、切換信息編碼處理)
在按照塊單位來切換雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的情況下,將雙預(yù)測(cè)類型的切換信息(例如,BiPred_block_type)包含在塊的附加信息中進(jìn)行編碼。
在雙預(yù)測(cè)的兩個(gè)參照畫面按照顯示順序是在編碼對(duì)象畫面以前的畫面的情況下,雙預(yù)測(cè)類型2有效,因而在編碼側(cè)選擇采用雙預(yù)測(cè)類型2。并且,編碼裝置將表示雙預(yù)測(cè)類型2的指示信息(例如,BiPred_block_type=1)包含在塊的附加信息中,與作為第0附加信息的ref_idx[0]、mvd[0]、mvp_idx[0]、作為第1附加信息的ref_idx[1]、mvp_idx[1]一起進(jìn)行編碼。另一方面,在按照顯示順序是在編碼對(duì)象畫面以后的畫面包含在雙預(yù)測(cè)的兩個(gè)參照畫面中的情況下,選擇雙預(yù)測(cè)類型1。并且,編碼裝置將表示雙預(yù)測(cè)類型1的指示信息(例如,BiPred_block_type=0)包含在塊的附加信息中,與作為第0附加信息的ref_idx[0]、mvd[0]、mvp_idx[0]、作為第1附加信息的ref_idx[1]、mvd[1](在第1附加信息中包含mvd[1])、mvp_idx[1]一起進(jìn)行編碼。
在解碼側(cè),將雙預(yù)測(cè)類型的切換信息(例如,BiPred_block_type)包含在塊的附加信息中進(jìn)行解碼,根據(jù)解碼值切換mvd[1]的復(fù)原方法。即,在對(duì)作為塊的附加信息的表示雙預(yù)測(cè)類型1的指示信息(例如,BiPred_block_type=0)進(jìn)行解碼的情況下,對(duì)作為第0附加信息的ref_idx[0]和mvd[0]和mvp_idx[0]進(jìn)行解碼,對(duì)作為第1附加信息的ref_idx[1]和mvd[1]和mvp_idx[1]進(jìn)行解碼。另一方面,在對(duì)作為塊的附加信息的表示雙預(yù)測(cè)類型2的指示信息(例如,BiPred_block_type=1)進(jìn)行解碼的情況下,對(duì)作為第0附加信息的ref_idx[0]和mvd[0]和mvp_idx[0]進(jìn)行解碼,對(duì)作為第1附加信息的ref_idx[1]和mvp_idx[1]進(jìn)行解碼,將mvd[1]的水平/垂直矢量值設(shè)定為0。
另外,編碼側(cè)的雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的切換方法不依據(jù)于在此示出的方法。例如,在兩個(gè)參照畫面雙方按照顯示順序是在編碼對(duì)象畫面以后的畫面的情況下,也可以采用雙預(yù)測(cè)類型2。并且,也能夠采用如下的方法:按照每個(gè)塊調(diào)查實(shí)際采用雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2時(shí)的編碼效率(例如,將編碼誤差信號(hào)的平方+編碼比特?cái)?shù)進(jìn)行變換后的評(píng)價(jià)值),選擇編碼效率較高的雙預(yù)測(cè)類型。
另外,在塊的預(yù)測(cè)方法采用單預(yù)測(cè)和雙預(yù)測(cè)雙方的情況下,在編碼側(cè)選擇預(yù)測(cè)類型(單預(yù)測(cè)或者雙預(yù)測(cè)),并包含在附加信息中進(jìn)行編碼。并且,僅在選擇了雙預(yù)測(cè)的塊中執(zhí)行雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的切換處理。在解碼側(cè),僅在對(duì)表示預(yù)測(cè)類型為雙預(yù)測(cè)的信息進(jìn)行了解碼的塊中執(zhí)行雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的切換處理。
(塊單位切換、基于參照畫面的幀號(hào)的決定處理)
圖5(A)或圖5(B)所示的參照畫面的候選在編碼側(cè)和解碼側(cè)是相同的。因此,根據(jù)塊的附加信息即在編碼/解碼處理的雙預(yù)測(cè)中使用的兩個(gè)參照畫面的幀號(hào)和編碼對(duì)象畫面的幀號(hào),決定采用雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2中的哪種類型。即,當(dāng)在雙預(yù)測(cè)中使用的兩個(gè)參照畫面按照顯示順序都是在編碼對(duì)象畫面以前的畫面的情況下,采用雙預(yù)測(cè)類型2,在兩個(gè)參照畫面中一方或者兩方按照顯示順序是在編碼對(duì)象畫面以后的畫面的情況下,采用雙預(yù)測(cè)類型1。在該方法中不需要發(fā)送指示信息。另外,在兩個(gè)參照畫面雙方按照顯示順序都是在編碼對(duì)象畫面以后的畫面的情況下,也可以采用雙預(yù)測(cè)類型2。
(畫面/切片單位切換與塊單位切換的組合)
按照畫面/切片單位對(duì)指示信息進(jìn)行編碼/解碼,該指示信息表示按照畫面/切片單位進(jìn)行雙預(yù)測(cè)類型的切換或者按照塊單位進(jìn)行雙預(yù)測(cè)類型的切換。
在按照畫面/切片單位進(jìn)行雙預(yù)測(cè)類型的切換的情況下,如在上面說明的那樣,將雙預(yù)測(cè)類型的切換信息(例如,BiPred_type)包含在畫面或者切片的報(bào)頭中進(jìn)行編碼/解碼。此時(shí),在如圖8所示自適應(yīng)地使用多種塊尺寸的編碼方法中,也可以在畫面或者切片報(bào)頭中,針對(duì)不同的塊尺寸獨(dú)立發(fā)送用于切換雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的指示信息。例如,在塊尺寸為64×64、32×32、16×16、8×8的情況下,對(duì)4個(gè)指示信息進(jìn)行編碼。
在按照塊畫面單位進(jìn)行雙預(yù)測(cè)類型的切換的情況下,如在上面說明的那樣,按照塊單位將雙預(yù)測(cè)類型的切換信息(例如,BiPred_block_type)包含在塊的附加信息中進(jìn)行編碼/解碼。此時(shí),在如圖8所示自適應(yīng)地使用多種塊尺寸的編碼方法中,也可以在畫面或者切片報(bào)頭中,針對(duì)不同的塊尺寸獨(dú)立發(fā)送用于指示是否進(jìn)行雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2的切換處理的指示信息。例如,在塊尺寸為64×64、32×32、16×16、8×8的情況下,對(duì)4個(gè)指示信息進(jìn)行編碼。
另外,也可以按照畫面/切片單位對(duì)指示信息進(jìn)行編碼/解碼,該指示信息指示僅采用雙預(yù)測(cè)類型1、或者僅采用雙預(yù)測(cè)類型2、或者按照畫面/切片內(nèi)的各塊來切換兩種雙預(yù)測(cè)類型。此時(shí),在如圖8所示自適應(yīng)地使用多種塊尺寸的編碼方法中,也可以針對(duì)不同的塊尺寸單獨(dú)發(fā)送指示信息。
或者,按照畫面/切片單位對(duì)表示是否采用雙預(yù)測(cè)類型2的指示信息進(jìn)行編碼/解碼。在采用雙預(yù)測(cè)類型2的畫面/切片中,也可以進(jìn)一步對(duì)指示信息進(jìn)行編碼/解碼,該指示信息指示按照畫面/切片內(nèi)的各塊來切換雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2、或者對(duì)于畫面/切片內(nèi)的所有塊采用雙預(yù)測(cè)類型2。此時(shí),在如圖8所示自適應(yīng)地使用多種塊尺寸的編碼方法中,也可以在畫面或者切片的報(bào)頭中,針對(duì)不同的塊尺寸單獨(dú)發(fā)送這些指示信息。
在上述的說明中,將對(duì)象塊400的第0運(yùn)動(dòng)信息包含在圖7所示的第1預(yù)測(cè)運(yùn)動(dòng)矢量的候選中。但是,也可以另外準(zhǔn)備如下的方法作為雙預(yù)測(cè)類型3,將第0運(yùn)動(dòng)信息作為第1預(yù)測(cè)運(yùn)動(dòng)信息,根據(jù)第0運(yùn)動(dòng)信息中所包含的第1參照畫面索引和第1運(yùn)動(dòng)信息中所包含的第1參照畫面索引,對(duì)預(yù)測(cè)運(yùn)動(dòng)信息進(jìn)行尺寸調(diào)整而用作第1運(yùn)動(dòng)信息。即,以使第0運(yùn)動(dòng)信息中所包含的運(yùn)動(dòng)矢量成為第1運(yùn)動(dòng)信息的第1參照畫面索引所指示的參照畫面的運(yùn)動(dòng)矢量的方式進(jìn)行尺寸調(diào)整。在這種情況下,也可以將對(duì)象塊的第0運(yùn)動(dòng)信息包含在雙預(yù)測(cè)類型2的第1預(yù)測(cè)運(yùn)動(dòng)信息的候選中(從候選中去除圖7的n=4)。并且,在采用雙預(yù)測(cè)類型3的情況下,不進(jìn)行第1預(yù)測(cè)運(yùn)動(dòng)信息索引的編碼/解碼。即,在對(duì)第1附加信息進(jìn)行編碼/解碼時(shí),使包括第1參照畫面索引(ref_idx[1]),但不包括差分運(yùn)動(dòng)矢量(mvd[1])和第1預(yù)測(cè)運(yùn)動(dòng)信息索引(mvp_idx[1])。
關(guān)于雙預(yù)測(cè)類型3的采用方法,也可以是按照畫面/切片單位或者塊單位,對(duì)用于切換雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型2和雙預(yù)測(cè)類型3的指示信息進(jìn)行編碼/解碼。并且,也可以是按照畫面/切片單位或者塊單位,對(duì)用于切換雙預(yù)測(cè)類型1和雙預(yù)測(cè)類型3、或者切換雙預(yù)測(cè)類型2和雙預(yù)測(cè)類型3的指示信息進(jìn)行編碼/解碼。
并且,也可以采用替代上述的雙預(yù)測(cè)類型1的方法。即,也可以是,在按照顯示順序是在編碼對(duì)象畫面以后的畫面包含在多個(gè)參照畫面候選中的情況下,采用雙預(yù)測(cè)類型3,在多個(gè)參照畫面候選按照顯示順序都是在編碼對(duì)象畫面以前的畫面的情況下,采用雙預(yù)測(cè)類型2。
或者,也可以是,在第0運(yùn)動(dòng)信息中所包含的參照畫面索引所指示的參照畫面、與第1運(yùn)動(dòng)信息中所包含的參照畫面索引所指示的參照畫面不同的情況下,采用雙預(yù)測(cè)類型3取代雙預(yù)測(cè)類型2(第1預(yù)測(cè)運(yùn)動(dòng)信息索引不需要進(jìn)行編碼/解碼),而在第0運(yùn)動(dòng)信息中所包含的參照畫面索引所指示的參照畫面、與第1運(yùn)動(dòng)信息中所包含的參照畫面索引所指示的參照畫面相同的情況下,采用雙預(yù)測(cè)類型2(對(duì)第1預(yù)測(cè)運(yùn)動(dòng)信息索引進(jìn)行編碼/解碼)。
另外,雙預(yù)測(cè)類型的切換信息不限于如BiPred_type或BiPred_block_type那樣的識(shí)別信息。只要是表示是否進(jìn)行差分運(yùn)動(dòng)矢量的編碼/解碼的信息即可。例如,也可以是,對(duì)如mvd_list1_zero_flag或mvd_list0_zero_flag那樣指示mvd是否包含在第1附加信息或第0附加信息中的標(biāo)志信息進(jìn)行編碼/解碼。在按照畫面/切片單位或者塊單位來切換雙預(yù)測(cè)類型1、雙預(yù)測(cè)類型2和雙預(yù)測(cè)類型3的情況下,在采用雙預(yù)測(cè)類型2或雙預(yù)測(cè)類型3中任意一方的情況下,發(fā)送用于指示附加信息中不包含mvd的標(biāo)志。也可以是,按照上面所述,根據(jù)參照畫面索引進(jìn)行雙預(yù)測(cè)類型2和雙預(yù)測(cè)類型3的切換(在第0運(yùn)動(dòng)信息中所包含的參照畫面索引所指示的參照畫面、與第1運(yùn)動(dòng)信息的參照畫面索引所指示的參照畫面相同的情況下,采用雙預(yù)測(cè)類型2),還可以對(duì)選擇信息進(jìn)行編碼/解碼。
圖15是示出能夠執(zhí)行動(dòng)態(tài)圖像預(yù)測(cè)編碼方法的程序的模塊的框圖。如圖15(A)所示,動(dòng)態(tài)圖像預(yù)測(cè)編碼程序P100具備:塊分割模塊P101、預(yù)測(cè)信號(hào)生成模塊P103、存儲(chǔ)模塊P104、減法模塊P105、變換模塊P106、量化模塊P107、逆量化模塊P108、逆變換模塊P109、加法模塊P110、編碼模塊P111以及運(yùn)動(dòng)信息存儲(chǔ)模塊P113。另外,如圖15(B)所示,預(yù)測(cè)信號(hào)生成模塊P103具備第1運(yùn)動(dòng)信息估計(jì)模塊P121、第0運(yùn)動(dòng)信息估計(jì)模塊P122、預(yù)測(cè)信號(hào)生成模塊P123。通過執(zhí)行上述各個(gè)模塊而實(shí)現(xiàn)的功能與上述動(dòng)態(tài)圖像預(yù)測(cè)編碼裝置100的功能相同。即,動(dòng)態(tài)圖像預(yù)測(cè)編碼程序P100的各模塊的功能與塊分割器102、預(yù)測(cè)信號(hào)生成器103、幀存儲(chǔ)器104、減法器105、變換器106、量化器107、逆量化器108、逆變換器109、加法器110、編碼器111、運(yùn)動(dòng)信息用存儲(chǔ)器113、第1運(yùn)動(dòng)信息估計(jì)器121、第0運(yùn)動(dòng)信息估計(jì)器122、預(yù)測(cè)信號(hào)生成器123的功能相同。
另外,圖16是示出能夠執(zhí)行動(dòng)態(tài)圖像預(yù)測(cè)解碼方法的程序的模塊的框圖。如圖16(A)所示,動(dòng)態(tài)圖像預(yù)測(cè)解碼程序P200具備:解碼模塊P201、運(yùn)動(dòng)信息解碼模塊P202、運(yùn)動(dòng)補(bǔ)償模塊P203、運(yùn)動(dòng)信息存儲(chǔ)模塊P204、逆量化模塊P205、逆變換模塊P206、加法模塊P207以及存儲(chǔ)模塊P104。另外,如圖16(B)所示,運(yùn)動(dòng)信息解碼模塊P202具備第1運(yùn)動(dòng)信息復(fù)原模塊P211和第0運(yùn)動(dòng)信息復(fù)原模塊P212。
通過執(zhí)行上述各個(gè)模塊而實(shí)現(xiàn)的功能與上述動(dòng)態(tài)圖像預(yù)測(cè)解碼裝置200的各個(gè)構(gòu)成要素相同。即,動(dòng)態(tài)圖像預(yù)測(cè)解碼程序P200的各模塊的功能與解碼器202、運(yùn)動(dòng)信息復(fù)原器208、運(yùn)動(dòng)補(bǔ)償器207、運(yùn)動(dòng)信息用存儲(chǔ)器113、逆量化器203、逆變換器204、加法器205、幀存儲(chǔ)器104、第1運(yùn)動(dòng)信息復(fù)原器211、第0運(yùn)動(dòng)信息復(fù)原器212的功能相同。
這樣構(gòu)成的動(dòng)態(tài)圖像預(yù)測(cè)編碼程序P100或者動(dòng)態(tài)圖像預(yù)測(cè)解碼程序P200被存儲(chǔ)在后述的圖17及圖18所示的記錄介質(zhì)10中,以便由后述的計(jì)算機(jī)執(zhí)行。
圖17是示出用于執(zhí)行被記錄在記錄介質(zhì)中的程序的計(jì)算機(jī)的硬件結(jié)構(gòu)的圖,圖18是示出用于執(zhí)行被記錄在記錄介質(zhì)中的程序的計(jì)算機(jī)的立體圖。另外,執(zhí)行被存儲(chǔ)在記錄介質(zhì)中的程序的不限于計(jì)算機(jī),也可以是具備CPU的進(jìn)行基于軟件的處理和控制的DVD播放器、機(jī)頂盒、便攜電話等。
如圖17所示,計(jì)算機(jī)30具有軟盤驅(qū)動(dòng)裝置、CD-ROM驅(qū)動(dòng)裝置、DVD驅(qū)動(dòng)裝置等讀取裝置12,使操作系統(tǒng)常駐的作業(yè)用存儲(chǔ)器(RAM)14,存儲(chǔ)被保存在記錄介質(zhì)10中的程序的存儲(chǔ)器16,被稱為顯示器的顯示裝置18,作為輸入裝置的鼠標(biāo)20和鍵盤22,用于進(jìn)行數(shù)據(jù)等的收發(fā)的通信裝置24,以及控制程序的執(zhí)行的CPU 26。當(dāng)記錄介質(zhì)10被插入到讀取裝置12時(shí),計(jì)算機(jī)30可以從讀取裝置12訪問存儲(chǔ)在記錄介質(zhì)10中的動(dòng)態(tài)圖像預(yù)測(cè)編碼/解碼程序,通過動(dòng)態(tài)該圖像編碼或解碼程序,計(jì)算機(jī)30可以作為本實(shí)施方式的動(dòng)態(tài)圖像編碼裝置或動(dòng)態(tài)圖像解碼裝置進(jìn)行動(dòng)作。
如圖18所示,動(dòng)態(tài)圖像預(yù)測(cè)編碼程序和動(dòng)態(tài)圖像解碼程序也可以是作為被疊加在載波中的計(jì)算機(jī)數(shù)據(jù)信號(hào)40而通過網(wǎng)絡(luò)來提供。在這種情況下,計(jì)算機(jī)30將由通信裝置24接收到的動(dòng)態(tài)圖像預(yù)測(cè)編碼程序或者動(dòng)態(tài)圖像解碼程序存儲(chǔ)在存儲(chǔ)器16中,并能夠執(zhí)行該動(dòng)態(tài)圖像預(yù)測(cè)編碼程序或者動(dòng)態(tài)圖像預(yù)測(cè)解碼程序。
在本發(fā)明中還能夠?qū)崿F(xiàn)如下的變形。
(1)第0附加信息和第1附加信息的關(guān)系
在上述的說明中,第1附加信息包括ref_idx[1]和mvp_idx[1],第0附加信息包括ref_idx[0]和mvd[0]和mvp_idx[0],但其結(jié)構(gòu)也可以是相反的。即,第1附加信息包括ref_idx[1]和mvd[1]和mvp_idx[1],第0附加信息包括ref_idx[0]和mvp_idx[0]。在這種情況下,在根據(jù)相鄰塊的運(yùn)動(dòng)信息生成第0預(yù)測(cè)運(yùn)動(dòng)信息的同時(shí)生成第0預(yù)測(cè)信息,然后搜索雙預(yù)測(cè)信號(hào)與對(duì)象塊的原來的信號(hào)的絕對(duì)值和+附加信息的評(píng)價(jià)值達(dá)到最小的第1運(yùn)動(dòng)信息。
并且,也可以是,第1附加信息包括ref_idx[1]和mvp_idx[1],第0附加信息包括ref_idx[0]和mvp_idx[0]。即,不對(duì)差分的運(yùn)動(dòng)矢量進(jìn)行編碼,在兩個(gè)差分運(yùn)動(dòng)矢量的解碼側(cè)將水平/垂直矢量值設(shè)定為0?;蛘?,將第0預(yù)測(cè)運(yùn)動(dòng)矢量和第1預(yù)測(cè)運(yùn)動(dòng)矢量分別設(shè)定為第0運(yùn)動(dòng)矢量和第1運(yùn)動(dòng)矢量。
(2)參照畫面
在上述的說明中,將參照畫面索引包含在第1附加信息中進(jìn)行編碼/解碼,但也可以根據(jù)利用mvp_idx表示的相鄰塊的運(yùn)動(dòng)信息所附帶的參照畫面索引進(jìn)行決定(例如,對(duì)于圖7的相鄰塊401~404,直接采用附帶的List1的參照畫面索引,而對(duì)于相鄰塊410~415,則根據(jù)對(duì)象塊和相鄰塊的參照畫面索引所指示的參照畫面的不同,對(duì)相鄰塊中所包含的運(yùn)動(dòng)矢量進(jìn)行尺寸調(diào)整處理)。并且,也可以預(yù)先決定第1運(yùn)動(dòng)信息的參照畫面索引。在這些情況下,能夠在解碼側(cè)唯一地進(jìn)行復(fù)原,因而不需要將參照畫面索引ref_idx包含在第1附加信息中進(jìn)行編碼。
參照畫面的選擇及其列表不限于圖5和圖6的示例。也可以按照畫面/切片單位對(duì)參照畫面索引進(jìn)行編碼,參照畫面的數(shù)量也可以不是如圖5所示的4張,即使是其它任意數(shù)量時(shí)也能夠?qū)嵤┍景l(fā)明。
(3)預(yù)測(cè)運(yùn)動(dòng)信息
在上述的說明中,如圖7所示將多個(gè)已編碼/已解碼的運(yùn)動(dòng)信息作為預(yù)測(cè)運(yùn)動(dòng)信息的候選,但其數(shù)量及采用的相鄰塊的位置沒有限定。
也可以將相鄰塊的第0運(yùn)動(dòng)矢量包含在第1預(yù)測(cè)運(yùn)動(dòng)矢量的候選中,即使是在第0預(yù)測(cè)運(yùn)動(dòng)矢量的候選中包含相鄰塊的第1運(yùn)動(dòng)矢量時(shí),也能夠?qū)嵤┍景l(fā)明的雙預(yù)測(cè)。也可以將先進(jìn)行編碼/解碼的第0運(yùn)動(dòng)信息附加在第1預(yù)測(cè)運(yùn)動(dòng)信息的候選中。
在已編碼/已解碼的運(yùn)動(dòng)信息中所包含的參照畫面索引和對(duì)象塊附帶的運(yùn)動(dòng)信息中所包含的參照畫面索引不同的情況下,至于是否進(jìn)行運(yùn)動(dòng)矢量的尺寸調(diào)整處理,在本發(fā)明中沒有限定。
另外,在預(yù)測(cè)運(yùn)動(dòng)矢量的候選為一個(gè)的情況下,不需要將預(yù)測(cè)運(yùn)動(dòng)信息索引mvp_idx包含在第1附加信息中進(jìn)行編碼。
關(guān)于預(yù)測(cè)運(yùn)動(dòng)矢量的生成方法在本發(fā)明中沒有限定。例如,也可以采用奇數(shù)個(gè)的預(yù)測(cè)運(yùn)動(dòng)矢量的候選的中央值作為預(yù)測(cè)運(yùn)動(dòng)矢量。在這種情況下,在解碼側(cè)唯一地決定預(yù)測(cè)運(yùn)動(dòng)矢量,因而不需要將預(yù)測(cè)運(yùn)動(dòng)信息索引mvp_idx包含在第1附加信息中進(jìn)行編碼。
如圖8所示,即使是使用多種塊尺寸的編碼/解碼方式的情況下,只要規(guī)定了決定預(yù)測(cè)運(yùn)動(dòng)信息的候選的方法,就能夠?qū)嵤┍景l(fā)明的雙預(yù)測(cè)。例如,圖8的示例中,也可以將與對(duì)象塊400相鄰的塊421~428作為預(yù)測(cè)信息的候選,還可以預(yù)先決定相鄰塊的號(hào)碼賦予方法,對(duì)預(yù)測(cè)運(yùn)動(dòng)矢量的候選設(shè)定按照畫面單位或切片單位指示的數(shù)量的相鄰塊的運(yùn)動(dòng)信息。
(4)第0運(yùn)動(dòng)信息和附加信息
另外,關(guān)于第0運(yùn)動(dòng)信息和附加信息的結(jié)構(gòu)在本發(fā)明中沒有限定,也可以不對(duì)參照畫面索引或預(yù)測(cè)運(yùn)動(dòng)信息索引進(jìn)行編碼而將其設(shè)為固定值,還可以利用預(yù)先決定的方法導(dǎo)出。
另外,關(guān)于第0運(yùn)動(dòng)信息和附加信息,也可以與第1運(yùn)動(dòng)信息和附加信息相同地,不對(duì)mvd[0]進(jìn)行編碼,而是在解碼側(cè)設(shè)定為mv[0]=pmv[0](或者mvd[0]=0)。
(5)幀號(hào)
在上述的說明中,使用幀號(hào)(frame_num)識(shí)別參照畫面或編碼對(duì)象畫面,但只要是能夠識(shí)別參照畫面的信息,即使是其它的信息也不會(huì)影響本發(fā)明的實(shí)施。
(6)第1差分運(yùn)動(dòng)矢量mvd[1]的復(fù)原
在以上說明的本發(fā)明的雙預(yù)測(cè)中,第1差分運(yùn)動(dòng)矢量mvd[1]的矢量值為0。因此,不對(duì)mvd[1]進(jìn)行編碼,而是在解碼側(cè)將mvd[1]的矢量值設(shè)定為0、或者將運(yùn)動(dòng)矢量mv[1]設(shè)定為pmv[1]。作為另一種實(shí)施方式,可以說將mvd[1]=0包含在第1附加信息中,高效地對(duì)0值進(jìn)行熵編碼的方法也是有效的。
在對(duì)熵編碼采用算術(shù)編碼的情況下,例如按照不同的概率模型對(duì)第0差分運(yùn)動(dòng)矢量和第1差分運(yùn)動(dòng)矢量進(jìn)行編碼/解碼。例如,準(zhǔn)備差分運(yùn)動(dòng)矢量的矢量值0的概率頻次不同的兩種概率模型,作為差分運(yùn)動(dòng)矢量的編碼/解碼用。并且,在對(duì)第1差分運(yùn)動(dòng)矢量進(jìn)行編碼/解碼的情況下,采用將差分運(yùn)動(dòng)矢量的矢量值0的概率頻次設(shè)定為較高頻次的第2概率模型,在對(duì)第0差分運(yùn)動(dòng)矢量進(jìn)行編碼/解碼的情況下,采用另一種第1概率模型。另外,也可以分別準(zhǔn)備概率模型作為差分運(yùn)動(dòng)矢量的水平和垂直方向矢量值用。
另外,也可以是,僅對(duì)采用雙預(yù)測(cè)類型2的塊的第1差分運(yùn)動(dòng)矢量采用第2概率模型,在除此以外的差分運(yùn)動(dòng)矢量的編碼/解碼處理中采用第1概率模型。
在采用可變長編碼的情況下,采用不同的可變長表對(duì)第0差分運(yùn)動(dòng)矢量和第1差分運(yùn)動(dòng)矢量進(jìn)行編碼/解碼。例如,準(zhǔn)備對(duì)差分運(yùn)動(dòng)矢量的矢量值0分配的代碼長度不同的兩種可變長表。并且,在對(duì)第1差分運(yùn)動(dòng)矢量進(jìn)行編碼/解碼的情況下,采用將對(duì)差分運(yùn)動(dòng)矢量的矢量值0分配的代碼長度設(shè)定為較短長度的第2可變長表,在對(duì)第0差分運(yùn)動(dòng)矢量進(jìn)行編碼/解碼的情況下,采用另一種第1可變長表。另外,也可以分別準(zhǔn)備可變長表作為差分運(yùn)動(dòng)矢量的水平和垂直方向矢量值用。
另外,也可以是,僅對(duì)采用雙預(yù)測(cè)類型2的塊的第1差分運(yùn)動(dòng)矢量采用第2可變長表,在除此以外的差分運(yùn)動(dòng)矢量的編碼/解碼處理中采用第1可變長表。
(7)N預(yù)測(cè)
在上述的說明中,將畫面間預(yù)測(cè)的預(yù)測(cè)類型設(shè)為單預(yù)測(cè)和雙預(yù)測(cè),但本發(fā)明也能夠適用于將3個(gè)以上的預(yù)測(cè)信號(hào)合成的預(yù)測(cè)方法。在將3個(gè)以上的預(yù)測(cè)信號(hào)合成并生成預(yù)測(cè)信號(hào)的情況下,只要不包含mvd的附加信息的數(shù)量在一個(gè)以上,則可以是任意數(shù)量。
(8)變換器、逆變換器
關(guān)于殘差信號(hào)的變換處理,可以以固定的塊尺寸進(jìn)行,也可以配合部分區(qū)域?qū)?duì)象區(qū)域進(jìn)行再分割而進(jìn)行變換處理。
(9)顏色信號(hào)
在上述的說明中,沒有特別對(duì)色彩格式進(jìn)行敘述,但是,關(guān)于顏色信號(hào)或色差信號(hào),也可以獨(dú)立于亮度信號(hào)進(jìn)行預(yù)測(cè)信號(hào)的生成處理。此外,也可以與亮度信號(hào)的處理聯(lián)動(dòng)地進(jìn)行預(yù)測(cè)信號(hào)的生成處理。
以上,根據(jù)該實(shí)施方式詳細(xì)說明了本發(fā)明。但是,本發(fā)明不僅限定于上述實(shí)施方式。本發(fā)明能夠在不脫離其宗旨的范圍內(nèi)進(jìn)行各種變形。
標(biāo)號(hào)說明
100…動(dòng)態(tài)圖像預(yù)測(cè)編碼裝置,101…輸入端子,102…塊分割器,103…預(yù)測(cè)信號(hào)生成器,104…幀存儲(chǔ)器,105…減法器,106…變換器,107…量化器,108…逆量化器,109…逆變換器,110…加法器,111…編碼器,112…輸出端子,113…運(yùn)動(dòng)信息用存儲(chǔ)器,121…第1運(yùn)動(dòng)信息估計(jì)器,122…第0運(yùn)動(dòng)信息估計(jì)器,123…預(yù)測(cè)信號(hào)生成器,201…輸入端子,202…解碼器,203…逆量化器,204…逆變換器,205…加法器,206…輸出端子,207…運(yùn)動(dòng)補(bǔ)償器,208…運(yùn)動(dòng)信息復(fù)原器,211…第1運(yùn)動(dòng)信息復(fù)原器,212…第0運(yùn)動(dòng)信息復(fù)原器。