專利名稱:動態(tài)圖像編碼方法及動態(tài)圖像解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種動態(tài)圖像編碼方法及動態(tài)圖像解碼方法,尤其涉及對處理對象圖片實施將處理完的圖片作為參照圖片的圖片間預測編碼處理及圖片間預測解碼處理的方法。
背景技術(shù):
在動態(tài)圖像編碼處理中,通常利用動態(tài)圖像具有的空間方向和時間方向的冗余性來壓縮信息量。這里,通常使用向頻域的變換來作為使用空間方向的冗余性的方法,使用圖片(圖象)間預測編碼處理來作為使用時間方向冗余性的方法。在圖片間預測編碼處理中,當編碼某個圖片時,將相對編碼處理對象的編碼對象圖片按顯示時間順序處于之前或之后的編碼處理完的圖片作為對應于編碼對象圖片的參照圖片。另外,檢測編碼對象圖片相對該參照圖片的運動量,并根據(jù)該運動量進行動作補償處理,通過將進行動作補償處理后得到的圖像數(shù)據(jù)與編碼對象圖片的圖像數(shù)據(jù)的差分,去除時間方向的冗余性。并且,通過對該差分值去除空間方向的冗余性,壓縮相對編碼對象圖片的信息量。
在當前標準中稱為H.264的動態(tài)圖像編碼方式下,不進行圖片間預測編碼處理,即將進行圖片內(nèi)編碼處理的圖片稱為I圖片(圖象)。另外,將參照按顯示時間順序處于編碼對象圖片之前或之后的已處理完的1個圖片、并進行圖片間預測編碼的圖片稱為P圖片,將參照按顯示時間順序處于編碼對象圖片之前或之后的已處理完的兩個圖片、并進行圖片間預測編碼的圖片稱為B圖片(例如參照ISO/IEC14496-2[Information technology-Coding of audio-visualobjects-Part2Visual]pp.218-219)。
圖1(a)是表示上述動態(tài)圖像編碼方式中各圖片與對應的參照圖片之間的關(guān)系圖,圖1(b)是表示編碼生成的碼列順序的圖。
圖片I1是I圖片,圖片P5、P9、P13是P圖片,圖片B2、B3、B4、B6、B7、B8、B10、B11、B12是B圖片。即,P圖片P5、P9、P13如箭頭所示,分別將I圖片I1、P圖片P5、P圖片P9用作參照圖片,實施圖片間預測編碼。
另外,B圖片B2、B3、B4分別如箭頭所示,將I圖片I1及P圖片P5用作參照圖片,實施圖片間預測編碼,B圖片B6、B7、B8分別如箭頭所示,將P圖片P5及P圖片B9用作參照圖片,實施圖片間預測編碼,B圖片B10、B11、B12分別如箭頭所示,將P圖片P9及P圖片P13用作參照圖片,實施圖片間預測編碼。
在以上編碼時,用作參照圖片的圖片先于參照該圖片的圖片進行編碼。因此,通過上述編碼生成的碼列變?yōu)閳D1(b)所示的圖片順序。
然而,在H.264的動態(tài)圖像編碼方式下,可對B圖片的編碼選擇稱為直接模式(direct mode)的編碼模式。用圖2來說明直接模式中的幀間預測方法。圖2是表示直接模式下的運動矢量的說明圖,表示用直接模式來編碼圖片B6的塊a的情況。此時,使用被用于將作為位于圖片B6之后的參照圖片的圖片P9中、處于與塊a相同位置上的塊b進行了編碼時的運動矢量c。運動矢量c是編碼塊b時使用的運動矢量,并參照圖片P5。塊a使用與運動矢量c平行的運動矢量,根據(jù)作為前向參照圖片的圖片P5與作為后向參照圖片的圖片P9,取得參照塊(ブロツク),并進行雙向預測來編碼。即,用于編碼塊a時的運動矢量對于圖片P5變?yōu)檫\動矢量d,對于圖片P9變?yōu)檫\動矢量e。
但是,如上所述,在對B圖片實施參照I圖片或P圖片的圖片間預測編碼處理時,有時編碼對象圖片與參照圖片間的時間距離變長,在這種情況下,導致編碼效率低。尤其在B圖片的插入個數(shù)、即相鄰的I圖片與P圖片之間、或位于最近位置的兩個P圖片之間配置的B圖片的數(shù)量變多時,編碼效率明顯降低。
因此,為了解決上述問題而提出本發(fā)明,其目的在于提供一種動態(tài)圖像編碼方法和動態(tài)圖像解碼方法,即使在插入I圖片與P圖片之間、或插入P圖片之間的B圖片個數(shù)變多的情況下,也能避免B圖片的編碼效率惡化。另外,其目的在于提供一種動態(tài)圖像編碼方法和動態(tài)圖像解碼方法,可使直接模式下的編碼效率提高。
發(fā)明內(nèi)容
為了實現(xiàn)上述目的,根據(jù)本發(fā)明的動態(tài)圖像編碼方法,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于包含編碼步驟,將成為編碼對象的對象圖片作為I圖片、P圖片、B圖片之一進行編碼,I圖片僅具有進行圖片內(nèi)編碼的塊,P圖片具有進行基于單向參照的圖片間預測編碼的塊,該單向參照號將已編碼完的圖片用作第1參照圖片,B圖片具有基于雙向參照進行圖片間預測編碼的塊,雙向參照是將已編碼完的圖片用作第1參照圖片和第2參照圖片,所述編碼步驟包含控制步驟,將夾在所述I圖片或P圖片間的多個連續(xù)的所述B圖片的編碼順序確定為與顯示時間順序不同的順序。
由此,在編碼B圖片時,可將顯示時間順序中較近的圖片用作參照圖片,所以可提高動作補償時的預測效率,并提高編碼效率。
另外,根據(jù)本發(fā)明的動態(tài)圖像編碼方法,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于包含編碼步驟,至少將成為編碼對象的對象圖片作為B圖片,進行編碼,該B圖片具有基于雙向參照進行圖片間預測編碼的塊,該雙向參照是將已編碼完的圖片用作第1參照圖片和第2參照圖片,在所述編碼步驟中,當將編碼對象的B圖片的編碼對象塊,根據(jù)已編碼完的塊所具有的運動矢量、由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J竭M行編碼時,通過對由根據(jù)將與所述編碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊進行編碼時所用的該塊參照的第1參照圖片的第1運動矢量、用表示圖片顯示順序的信息差進行換算,得到動作補償所述編碼對象塊時的運動矢量。
由此,在選擇直接模式的情況下,對第2參照圖片的第1運動矢量進行換算,故可不必向碼列附加運動矢量信息,并且可提高預測效率。
另外,在編碼作為編碼對象的B圖片的編碼對象塊作為直接模式的情況下,對根據(jù)編碼與所述編碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時所用的該塊參照的第2參照圖片的第2運動矢量、用表示圖片顯示順序的信息差進行換算,由此也可得到動作補償所述編碼對象塊時的運動矢量。
由此,在選擇直接模式的情況下,對第2參照圖片的第2運動矢量進行換算,故可不必向碼列附加運動矢量信息,并且可提高預測效率。
另外,在編碼作為編碼對象的B圖片的編碼對象塊作為直接模式的情況下,當在直接模式下編碼與所述編碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時,對根據(jù)編碼所述第2參照圖片內(nèi)的塊時實質(zhì)上使用的該塊參照的第1參照圖片的對第1運動矢量、用表示圖片顯示順序的信息差進行換算,由此也可得到動作補償所述編碼對象塊時的運動矢量。
由此,在選擇直接模式的情況下,對第2參照圖片實質(zhì)上使用的第1運動矢量進行換算,故可不必向碼列附加運動矢量信息,并且可提高預測效率。
另外,在編碼作為編碼對象的B圖片的編碼對象塊作為直接模式的情況下,對根據(jù)編碼與所述編碼對象塊處于同一位置上的在后P圖片內(nèi)的塊時所用的該塊參照的第1參照圖片,用表示圖片顯示順序的信息差對第1運動矢量進行換算,由此也可得到動作補償所述編碼對象塊時的運動矢量。
由此,在選擇直接模式的情況下,對在后P圖片的第1運動矢量進行換算,故可不必向碼列附加運動矢量信息,并且可提高預測效率。
另外,在編碼作為編碼對象的B圖片的編碼對象塊作為直接模式的情況下,至少使用根據(jù)第1參照圖片的第1運動矢量來編碼與所述編碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時,用表示圖片顯示順序的信息差對所述第1運動矢量進行換算,在僅用根據(jù)第2參照圖片的第2運動矢量來編碼處于所述同一位置上的所述第2參照圖片內(nèi)的塊時,用表示圖片顯示順序的信息差對所述第2運動矢量進行換算,由此也可得到動作補償所述編碼對象塊時的運動矢量。
由此,在選擇直接模式的情況下,若第2參照圖片具有第1運動矢量,則對該第1運動矢量進行換算,另外,若第2參照圖片不具有第1運動矢量而僅具有第2運動矢量,則對該第2運動矢量進行換算,故可不必向碼列附加運動矢量信息,并且可提高預測效率。
根據(jù)本發(fā)明的動態(tài)圖像解碼方法,解碼將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼后生成的碼列,其特征在于包含解碼步驟,將已解碼完的圖片作為參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,在所述解碼步驟中,當基于將已解碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照來進行圖片間預測解碼時,解碼至少包含各自在顯示時間順序中最近的圖片的碼列,作為所述第1參照圖片和第2參照圖片。
由此,可在解碼時,對在基于雙向參照進行圖片間預測編碼處理時、將顯示時間順序中位于附近的圖片用作第1參照圖片和第2參照圖片進行編碼后生成的碼列進行解碼。
另外,根據(jù)本發(fā)明的動態(tài)圖像解碼方法,解碼對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)后生成的碼列,其特征在于包含解碼步驟,將已解碼完的圖片作為參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,在所述解碼步驟中,解碼對象圖片是具有進行基于雙向參照的圖片間預測解碼塊的圖片,該雙向參照是將已解碼完的圖片用作第1參照圖片和第2參照圖片,并且,在根據(jù)已解碼完的塊所具有的運動矢量對解碼對象塊進行解碼、并作為由所述解碼對象塊的運動矢量進行動作補償?shù)闹苯幽J綍r,對根據(jù)解碼與所述解碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時所用的該塊參照的第1參照圖片,用表示圖片顯示順序的信息差對第1運動矢量進行換算,由此得到動作補償所述解碼對象塊時的運動矢量。
由此,在選擇直接模式的情況下,對第2參照圖片的第1運動矢量進行換算,所以可在解碼時正確進行解碼處理。
解碼對象圖片是具有基于雙向參照進行圖片間預測解碼塊的圖片,并且,在對解碼對象塊進行解碼并作為直接模式的情況下,根據(jù)解碼與所述解碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時所用的該塊參照的第2參照圖片,用表示圖片顯示順序的信息差對第2運動矢量進行換算,也可得到動作補償所述解碼對象塊時的運動矢量。
由此,在選擇直接模式的情況下,對第2參照圖片的第2運動矢量進行換算,所以可在解碼時正確進行解碼處理。
另外,解碼對象圖片是具有基于雙向參照進行圖片間預測解碼塊的圖片,并且,在對解碼對象塊進行解碼并作為直接模式的情況下,當在直接模式下解碼與所述解碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時,根據(jù)解碼所述第2參照圖片內(nèi)的塊時實質(zhì)上使用的該塊參照的第1參照圖片,用表示參照圖片顯示順序的信息差對第1運動矢量進行換算,也可得到動作補償所述解碼對象塊時的運動矢量。
由此,在選擇直接模式的情況下,對第2參照圖片實質(zhì)上使用的第1運動矢量進行換算,所以可在解碼時正確進行解碼處理。
另外,解碼對象圖片是具有基于雙向參照進行圖片間預測解碼塊的圖片,并且,在對解碼對象塊進行解碼并作為直接模式的情況下,根據(jù)解碼與所述解碼對象塊處于同一位置上的塊時所用的該塊參照的第1參照圖片,用表示圖片顯示順序的信息差對第1運動矢量進行換算,也可得到動作補償所述解碼對象塊時的運動矢量,其中,該塊在顯示時間順序上位于后面,在基于將已解碼完的圖片用作第1參照圖片的單向參照進行圖片間預測解碼的圖片內(nèi)。
由此,在選擇直接模式的情況下,對基于單向參照來進行圖片間預測解碼的圖片的第1運動矢量進行換算,所以可在解碼時正確進行解碼處理。
另外,本發(fā)明不僅可實現(xiàn)為這種動態(tài)圖像編碼方法和動態(tài)圖像解碼方法,也可實現(xiàn)為具備將這種動態(tài)圖像編碼方法和動態(tài)圖像解碼方法包含的特征步驟作為部件的動態(tài)圖像編碼裝置和動態(tài)圖像解碼裝置。另外,可實現(xiàn)為由動態(tài)圖像編碼方法來編碼的碼列,并可經(jīng)CD-ROM等記錄媒體或因特網(wǎng)等傳輸媒體來配送。
圖1是表示現(xiàn)有動態(tài)圖像編碼方法中的圖片預測關(guān)系和順序的模式圖,(a)是表示各圖片與對應的參照圖片的關(guān)系圖,(b)是表示編碼生成的碼列的順序圖。
圖2是表示現(xiàn)有動態(tài)圖像編碼方法中在直接模式(ダイレクトモ一ド)下的運動矢量的模式圖。
圖3是表示使用本發(fā)明的動態(tài)圖像編碼方法的動態(tài)圖像編碼裝置一實施例的結(jié)構(gòu)框圖。
圖4是本發(fā)明實施例中的圖片序號與相對指針(インデツクス)的說明圖。
圖5是基于本發(fā)明實施例的動態(tài)圖像編碼裝置的圖像編碼信號格式的原理圖。
圖6是表示本發(fā)明實施例的替換用存儲器中的圖片順序的模式圖,(a)是表示輸入順序的圖,(b)是表示替換順序的圖。
圖7是表示本發(fā)明實施例中直接模式下的運動矢量的模式圖,(a)是表示對象塊是圖片B7情況下、(b)是表示對象塊a是圖片B6情況下的第一和第二例的圖,(c)是表示對象塊a是圖片B6情況下的第三例的圖,(d)是表示對象塊a是圖片B6情況下的第四例的圖。
圖8是表示本發(fā)明實施例中直接模式下的運動矢量的模式圖,(a)是表示對象塊a是圖片B6情況下的第五例的圖,(b)是表示對象塊a是圖片B6情況下的第六例的圖,(c)是表示對象塊a是圖片B6情況下的第七例的圖,(d)是表示對象塊a是圖片B8情況下的圖。
圖9是表示本發(fā)明實施例中的圖片預測關(guān)系和順序的模式圖,(a)是表示按顯示時間順序表示的各圖片的預測關(guān)系圖,(b)是表示替換成編碼順序(碼列順序)的圖片順序的圖。
圖10是表示本發(fā)明實施例中的圖片預測關(guān)系和順序的模式圖,(a)是表示按顯示時間順序表示的各圖片的預測關(guān)系圖,(b)是表示替換成編碼順序(碼列順序)的圖片順序的圖。
圖11是表示本發(fā)明實施例中的圖片預測關(guān)系和順序的模式圖,(a)是表示按顯示時間順序表示的各圖片的預測關(guān)系圖,(b)是表示替換成編碼順序(碼列順序)的圖片順序的圖。
圖12是分層表示本發(fā)明實施例的圖6所示圖片預測結(jié)構(gòu)的模式圖。
圖13是分層表示本發(fā)明實施例的圖9所示圖片預測結(jié)構(gòu)的模式圖。
圖14是分層表示本發(fā)明實施例的圖10所示圖片預測結(jié)構(gòu)的模式圖。
圖15是分層表示本發(fā)明實施例的圖11所示圖片預測結(jié)構(gòu)的模式圖。
圖16是表示使用本發(fā)明動態(tài)圖像解碼方法的動態(tài)圖像解碼裝置一實施例的結(jié)構(gòu)框圖。
圖17是存儲由計算機系統(tǒng)來實現(xiàn)實施例的動態(tài)圖像編碼方法和動態(tài)圖像解碼方法用程序用記錄媒體的說明圖,(a)是表示作為記錄媒體主體的軟盤的物理格式實例的說明圖,(b)是表示從軟盤的正面看到的外觀、截面結(jié)構(gòu)及軟盤的說明圖,(c)是表示在軟盤FD上進行上述程序的記錄再現(xiàn)用的結(jié)構(gòu)說明圖。
圖18是表示實現(xiàn)內(nèi)容配送服務的內(nèi)容提供系統(tǒng)的整體結(jié)構(gòu)框圖。
圖19是表示手機一例的示意圖。
圖20是表示手機的內(nèi)部結(jié)構(gòu)框圖。
圖21是表示數(shù)字廣播用系統(tǒng)的整體結(jié)構(gòu)框圖。
具體實施例方式
參照附圖來說明本發(fā)明的實施例。
(實施例1)圖3是表示使用本發(fā)明的動態(tài)圖像編碼方法的動態(tài)圖像編碼裝置一實施例的結(jié)構(gòu)框圖。
動態(tài)圖像編碼裝置如圖3所示,具備替換用存儲器101、差分運算部102、預測誤差編碼部103、碼列生成部104、預測誤差解碼部105、加法運算部106、參照圖片用存儲器107、運動矢量檢測部108、模式選擇部109、編碼控制部110、開關(guān)111-115和運動矢量存儲部116。
替換用存儲器101存儲按顯示時間順序以圖片單位輸入的動態(tài)圖像。編碼控制部110按編碼順序替換存儲在替換用存儲器101中的各圖片。另外,編碼控制部110控制運動矢量向運動矢量存儲部116的存儲動作。
運動矢量檢測部108將編碼完的解碼圖像數(shù)據(jù)用作參照圖片,在該圖片內(nèi)的搜索區(qū)域中檢測表示預測為最佳位置的運動矢量。模式選擇部109使用運動矢量檢測部108檢測到的運動矢量,確定宏塊的編碼模式,根據(jù)該編碼模式生成預測圖像數(shù)據(jù)。差分運算部102算出從替換用存儲器101中讀出的圖像數(shù)據(jù)與從模式選擇部109輸入的預測圖像數(shù)據(jù)之差,生成預測誤差圖像數(shù)據(jù)。
預測誤差編碼部103對輸入的預測誤差圖像數(shù)據(jù)進行頻率變換或量化等編碼處理,生成編碼數(shù)據(jù)。碼列生成部104對輸入的編碼數(shù)據(jù)進行可變長編碼等,并通過附加從模式選擇部109輸入的運動矢量的信息、編碼模式的信息和其它關(guān)聯(lián)信息等,生成碼列。
預測誤差解碼部105對輸入的編碼數(shù)據(jù)進行去量化或逆頻率變換等解碼處理,生成解碼差分圖像數(shù)據(jù)。加法運算部106將從預測誤差解碼部105輸入的解碼差分圖像數(shù)據(jù)和從模式選擇部109輸入的預測圖像數(shù)據(jù)相加,生成解碼圖像數(shù)據(jù)。參照圖片用存儲器107存儲生成的解碼圖像數(shù)據(jù)。
圖4是圖片與相對指針的說明圖。相對指針用于唯一識別參照圖片用存儲器107中存儲的參照圖片,如圖4所示,是對應附加于各圖片上的序號。另外,相對指針用于指示通過圖片間預測編碼塊時使用的參照圖片。
圖5是基于動態(tài)圖像編碼裝置的動態(tài)圖像編碼信號格式的原理圖。1圖片單位的編碼信號Picture由圖片開頭中包含的頭編碼信號Header、基于直接模式的塊的編碼信號Block1、基于直接模式外的圖片間預測的塊的編碼信號Block2等構(gòu)成。另外,基于直接模式外的圖片間預測的塊的編碼信號Block2順序具有表示圖片間預測中使用的兩個參照圖片用的第1相對指針Rldx1和第2相對指針Rldx2、第1運動矢量MV1、第2運動矢量MV2。另一方面,基于直接模式的編碼信號Block1不具有第1相對指針Rldx1、第2相對指針Rldx2、第1運動矢量MV1、第2運動矢量MV2??捎深A測種類PredType來判斷使用第1相對指針Rldx1、第2相對指針Rldx2的哪一個。另外,第1相對指針Rldx1表示第1參照圖片,第2相對指針Rldx2表示第2參照圖片。即,是第1參照圖片還是第2參照圖片由碼列中的數(shù)據(jù)位置來確定。
基于將顯示時間順序中位于前或后之一的、已編碼完的圖片用作第1參照圖片單向參照進行圖片間預測編碼的圖片是P圖片,基于將顯示時間順序中位于前或后之一的、已編碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照進行圖片間預測編碼的圖片是B圖片,但本實施例中,將第1參照圖片作為前向參照圖片、將第2參照圖片作為后向參照圖片來進行說明。另外,將作為分別相對第1參照圖片和第2參照圖片的運動矢量的第1運動矢量、第2運動矢量分別作為前向運動矢量、后向運動矢量來進行說明。
下面,用圖4(a)來說明第1相對指針、第2相對指針的附加方法。
在第1相對指針中,首先就表示顯示順序的信息而言,對編碼對象塊以前的參照圖片,按接近編碼對象圖片的順序分配從0開始的值。對所有編碼對象以前的參照圖片分配從0開始的值,接著,對編碼對象塊以后的參照圖片,按接近編碼對象圖片的順序分配隨后的值。
在第2相對指針中,首先就表示顯示順序的信息而言,對編碼對象塊以后的參照圖片,按接近編碼對象圖片的順序分配從0開始的值。對所有編碼對象以后的參照圖片分配從0開始的值,接著,對編碼對象塊以前的參照圖片,按接近編碼對象圖片的順序分配隨后的值。
例如,圖4(a)中,在第1相對指針Rldx1為0、第2相對指針Rldx2為1的情況下,前向參照圖片是圖片序號為6的B圖片,后向參照圖片是圖片序號為9的P圖片。這里,圖片序號是表示顯示順序的序號。
塊中的相對指針由可變長碼字來表現(xiàn),值越小,則分配碼長越短的代碼。通常,選擇距編碼對象圖片最近的圖片作為圖片間預測的參照圖片,所以若如上所述按距編碼對象圖片近的順序分配相對指針值,則編碼效率提高。
另一方面,通過用編碼信號中的緩沖器控制信號(圖5所示Header內(nèi)的RPSL)來明示指示,可任意變更參照圖片對相對指針的分配。通過該分配變更,可將第2相對指針變?yōu)?的參照圖片變?yōu)閰⒄請D片用存儲器107內(nèi)的任意參照圖片,例如,如圖4(b)所示,可變更相對指針相對圖片的分配。
下面,說明上述構(gòu)成的動態(tài)圖像編碼裝置的動作。
圖6是表示替換用存儲器101中的圖片順序的說明圖,(a)是表示輸入順序的說明圖,(b)是表示替換順序的說明圖。其中,豎線表示圖片,各圖片右下所示記號中,第1文字的α頭表示圖片類型(I、P或B),第2文字以后的數(shù)字表示圖片序號,該圖片序號表示顯示順序。
輸入圖像例如圖6(a)所示,按顯示時間順序以圖片單位輸入替換用存儲器101。若向替換用存儲器101輸入圖片,則編碼控制部110將輸入替換用存儲器101內(nèi)的各圖片替換成進行編碼的順序。根據(jù)圖片間預測編碼中的參照關(guān)系進行向編碼順序的替換,用作參照圖片的圖片被替換,以使之在用作參照圖片的圖片之前先被編碼。
這里,設P圖片參照1個顯示時間順序上位于前方或后方的附近已編碼完的I或P圖片。另外,設B圖片參照兩個顯示時間順序上位于前方或后方的附近已編碼完的圖片。
圖片的編碼順序為在位于兩個P圖片之間的B圖片(圖6(a)的實例中為3個)中,從位于中央的圖片開始編碼,之后,對接近P圖片的B圖片進行編碼。例如,對于圖片B6-P9,按圖片P9、B7、B6、B8的順序進行編碼。
此時,圖片B6-P9的各圖片中,圖6(a)所示箭頭的終點圖片參照箭頭起點的圖片。即,圖片B7參照圖片P5、P9,圖片B6參照圖片P5、B7,圖片B8參照圖片B7、P9。另外,此時,編碼控制部110將各圖片替換成圖6(b)所示進行編碼的順序。
下面,按動作補償單位讀出替換用存儲器101中進行替換后的各圖片。其中,將動作補償單位稱為宏塊,將宏塊設為水平16×垂直16象素的大小。下面,順序說明圖6(a)所示圖片P9、B7、B6、B8的編碼處理。
(圖片P9的編碼處理)圖片P9是P圖片,所以參照顯示時間順序上位于前方或后方的已處理完的1個圖片來進行圖片間預測編碼。在圖片P9的編碼中,如上所述,參照圖片變?yōu)閳D片P5。圖片P5編碼終止后,將解碼圖像存儲在參照圖片用存儲器107中。在P圖片的編碼中,編碼控制部110控制各開關(guān),使開關(guān)113、114、115變?yōu)閷ā亩?,從替換用存儲器101中讀出的圖片P9的宏塊首先被輸入運動矢量檢測部108、模式選擇部109和差分運算部102。
運動矢量檢測部108將參照圖片用存儲器107中存儲的圖片P5的解碼圖像數(shù)據(jù)用作參照圖片,對圖片P9的宏塊檢測運動矢量。另外,運動矢量檢測部108向模式選擇部109輸出檢測到的運動矢量。
模式選擇部109使用運動矢量檢測部108檢測到的運動矢量,確定圖片P9的宏塊的編碼模式。這里,所謂編碼模式是表示用哪種方法來編碼宏塊。在P圖片的情況下,例如從圖片內(nèi)編碼、使用運動矢量的圖片間預測編碼、不使用運動矢量(將移動處理為0)的圖片間預測編碼中,確定以某種方法來進行編碼。在編碼模式確定中,一般選擇由少的比特量來進一步減小編碼誤差的方法。
模式選擇部109向碼列生成部104輸出確定的編碼模式。此時,模式選擇部109確定的編碼模式為圖片間預測編碼時,向碼列生成部104輸出該圖片間預測編碼中使用的運動矢量,并存儲在運動矢量存儲部116中。
模式選擇部109根據(jù)確定的編碼模式生成預測圖像數(shù)據(jù),并將該預測圖像數(shù)據(jù)輸出到差分運算部102和加法運算部106。但在模式選擇部109選擇圖片內(nèi)編碼的情況下,不輸出預測圖像數(shù)據(jù)。另外,模式選擇部109在選擇圖片內(nèi)編碼的情況下,控制開關(guān)111連接到a側(cè),控制開關(guān)112連接到c側(cè),并在選擇圖片間預測編碼時,控制開關(guān)111連接到b側(cè),控制開關(guān)112連接到d側(cè)。下面,說明由模式選擇部109選擇圖片間預測編碼的情況。
向差分運算部102輸入從替換用存儲器101中讀出的圖片P9的宏塊的圖像數(shù)據(jù)、和從模式選擇部109輸出的預測圖像數(shù)據(jù)。差分運算部102運算圖片P9的宏塊的圖像數(shù)據(jù)與預測圖像數(shù)據(jù)之差,生成預測圖像數(shù)據(jù),輸出到預測誤差編碼部103。
預測誤差編碼部103通過對輸入的預測誤差圖像數(shù)據(jù)實施頻率變換或量化等編碼處理,生成編碼數(shù)據(jù),并輸出到碼列生成部104和預測誤差解碼部105。其中,設頻率變換或量化處理例如以水平8×垂直8象素、或水平4×垂直4象素單位來進行。
碼列生成部104對輸入的編碼數(shù)據(jù)實施可變長編碼等,并通過附加運動矢量或編碼模式等信息或頭信息等,生成碼列并輸出。
另一方面,預測誤差解碼部105對輸入的編碼數(shù)據(jù)實施去量化或逆頻率變換等解碼處理,并生成解碼差分圖像數(shù)據(jù)后,輸出到加法運算部106。加法運算部106通過將解碼差分圖像數(shù)據(jù)與從模式選擇部109輸入的預測圖像數(shù)據(jù)相加,生成解碼圖像數(shù)據(jù),并存儲在參照圖片用存儲器107中。
通過以上處理,完成圖片P9的1個宏塊的處理。通過同樣處理,對圖片P9的其余宏塊也進行編碼處理。另外,若對圖片P9的所有宏塊結(jié)束處理,則接著進行圖片B7的編碼處理。
(圖片B7的編碼處理)
圖片B7的參照圖像中,前向參照圖片是圖片P5,后向參照圖片是P9。因為圖片B7在其它圖片編碼時被用作參照圖片,所以編碼控制部110控制各開關(guān),使開關(guān)113、114、115變?yōu)閷?。從而,從替換用存儲器101中讀出的圖片B7的宏塊被輸入運動矢量檢測部108、模式選擇部109和差分運算部102。
運動矢量檢測部108將參照圖片用存儲器107中存儲的圖片P5的解碼圖像數(shù)據(jù)用作前向參照圖片,將圖片P9的解碼圖像數(shù)據(jù)用作后向參照圖片,對圖片B7的宏塊檢測前向運動矢量和后向運動矢量。另外,運動矢量檢測部108向模式選擇部109輸出檢測到的運動矢量。
模式選擇部109使用運動矢量檢測部108檢測到的運動矢量,確定圖片B7的宏塊編碼模式。這里,B圖片的編碼模式可從例如圖片內(nèi)編碼、使用前向運動矢量的圖片間預測編碼、使用后向運動矢量的圖片間預測編碼、使用雙向運動矢量的圖片間預測編碼、直接模式中進行選擇。
用圖7(a)來說明用直接模式來編碼時的動作。圖7(a)是表示直接模式下運動矢量的說明圖,表示在直接模式下編碼圖片B7的塊a的情況。該情況下,利用編碼圖片P9中、位置與塊a相同的塊b時使用的運動矢量c,圖片P9作為位于圖片B7之后的參照圖片。運動矢量c存儲在運動矢量存儲部116中。塊a使用利用運動矢量c求出的運動矢量,根據(jù)作為前向參照圖片的圖片P5與作為后向參照圖片的圖片P9,進行雙向預測。例如,作為利用運動矢量c的方法,有生成平行于運動矢量c的矢量的方法。編碼此時的塊a時所用的運動矢量對于圖片P5變?yōu)檫\動矢量d,對于圖片P9變?yōu)檫\動矢量e。
此時,若設作為前向運動矢量的運動矢量d的大小為MVF,設作為后向運動矢量的運動矢量e的大小為MVB,運動矢量c的大小為MV,當前圖片(圖片B7)的后向參照圖片(圖片P9)與其后向參照圖片的塊所參照的圖片(圖片P5)的時間距離為TRD,當前圖片(圖片B7)與前向參照圖片(圖片P5)的時間距離為TRF,則運動矢量d的大小MVF、運動矢量e的大小MVB分別由(式1)、(式2)求出。另外,可根據(jù)例如附加于各圖片的表示顯示順序(位置)的信息或該信息差,確定各圖片間的時間距離。
MVF=MV×TRF/TRD 式1MVB=(TRF-TRD)×MV/TRD 式2其中,MVF、MVB分別表現(xiàn)運動矢量的水平成分、垂直成分,正負符號表示運動矢量的方向。
在編碼模式的選擇中,通常選擇由少的比特量來進一步減小編碼誤差的方法。模式選擇部109向碼列生成部104輸出確定的編碼模式。此時,模式選擇部109確定的編碼模式為圖片間預測編碼時,向碼列生成部104輸出該圖片間預測編碼中使用的運動矢量,并存儲在運動矢量存儲部116中。另外,在選擇直接模式的情況下,將由(式1)、(式2)計算求出的、直接模式中使用的運動矢量存儲在運動矢量存儲部116中。
模式選擇部109根據(jù)確定的編碼模式生成預測圖像數(shù)據(jù),并將該預測圖像數(shù)據(jù)輸出到差分運算部102和加法運算部106。但在模式選擇部109選擇圖片內(nèi)編碼的情況下,不輸出預測圖像數(shù)據(jù)。另外,模式選擇部109在選擇圖片內(nèi)編碼的情況下,控制開關(guān)111連接到a側(cè),控制開關(guān)112連接到c側(cè),并在選擇圖片間預測編碼或直接模式時,控制開關(guān)111連接到b側(cè),控制開關(guān)112連接到d側(cè)。下面,說明由模式選擇部109選擇圖片間預測編碼或直接模式的情況。
向差分運算部102輸入從替換用存儲器101中讀出的圖片B7的宏塊的圖像數(shù)據(jù)、和從模式選擇部109輸出的預測圖像數(shù)據(jù)。差分運算部102運算圖片B7的宏塊的圖像數(shù)據(jù)與預測圖像數(shù)據(jù)之差,生成預測圖像數(shù)據(jù),輸出到預測誤差編碼部103。
預測誤差編碼部103通過對輸入的預測誤差圖像數(shù)據(jù)實施頻率變換或量化等編碼處理,生成編碼數(shù)據(jù),并輸出到碼列生成部104和預測誤差解碼部105。
碼列生成部104對輸入的編碼數(shù)據(jù)實施可變長編碼等,并通過附加運動矢量或編碼模式等信息,生成碼列并輸出。
另一方面,預測誤差解碼部105對輸入的編碼數(shù)據(jù)實施去量化或逆頻率變換等解碼處理,并生成解碼差分圖像數(shù)據(jù)后,輸出到加法運算部106。加法運算部106通過將解碼差分圖像數(shù)據(jù)與從模式選擇部109輸入的預測圖像數(shù)據(jù)相加,生成解碼圖像數(shù)據(jù),并存儲在參照圖片用存儲器107中。
通過以上處理,完成圖片B7的1個宏塊的處理。通過同樣處理,對圖片B7的其余宏塊也進行編碼處理。另外,若對圖片B7的所有宏塊結(jié)束處理,則接著進行圖片B6的編碼處理。
(圖片B6的編碼處理)因為圖片B6是B圖片,所以參照顯示時間順序上位于前方或后方的已處理完的兩個圖片來進行圖片間預測編碼。如上所述,圖片B6的參照圖像中,前向參照圖片是圖片P5,后向參照圖片是B7。在進行其它圖片的編碼時,圖片B6不被用作參照圖片。從而,編碼控制部110控制各開關(guān),使開關(guān)113導通,開關(guān)114、115截止。由此,從替換用存儲器101中讀出的圖片B6的宏塊被輸入運動矢量檢測部108、模式選擇部109和差分運算部102。
運動矢量檢測部108將參照圖片用存儲器107中存儲的圖片P5的解碼圖像數(shù)據(jù)用作前向參照圖片,將圖片B7的解碼圖像數(shù)據(jù)用作后向參照圖片,對圖片B6的宏塊檢測前向運動矢量和后向運動矢量。另外,運動矢量檢測部108向模式選擇部109輸出檢測到的運動矢量。
模式選擇部109使用運動矢量檢測部108檢測到的運動矢量,確定圖片B6的宏塊編碼模式。
這里,用圖7(b)來說明對圖片B6的宏塊使用直接模式時動作的第一例。圖7(b)是表示直接模式下運動矢量的說明圖,表示在直接模式下編碼圖片B6的塊a的情況。此時,利用編碼圖片B7中、位置與塊a相同的塊b時使用的運動矢量c,圖片B7作為位于圖片B6之后的參照圖片。設塊b僅由前向參照、或由雙向參照進行編碼,設該前向運動矢量為運動矢量c。設運動矢量c存儲在運動矢量存儲部116中。塊a使用利用運動矢量c生成的運動矢量,根據(jù)作為前向參照圖片的圖片P5與作為后向參照圖片的圖片B7,進行雙向預測。例如,若與上述圖片B7的情況一樣,使用生成平行于運動矢量c的運動矢量的方法,則編碼塊a時所用的運動矢量對于圖片P5變?yōu)檫\動矢量d,對于圖片B7變?yōu)檫\動矢量e。
此時,若設作為前向運動矢量的運動矢量d的大小為MVF,設作為后向運動矢量的運動矢量e的大小為MVB,運動矢量c的大小為MV,當前圖片(圖片B6)的后向參照圖片(圖片B7)與其后向參照圖片的塊B所參照的圖片(圖片P5)的時間距離為TRD,當前圖片(圖片B6)與前向參照圖片(圖片P5)的時間距離為TRF,則運動矢量d的大小MVF、運動矢量e的大小MVB分別由上述(式1)、(式2)求出。另外,可根據(jù)例如附加于各圖片的表示顯示順序的信息或該信息差,確定各圖片間的時間距離。
這樣,在直接模式下,通過對作為后向參照圖片的B圖片的前向運動矢量進行換算,不必發(fā)送運動矢量的信息,并且可提高動作預測效率。由此,可提高編碼效率。并且,通過將可利用的在顯示時間順序中最近的參照圖片用作前向參照圖片和后向參照圖片,可提高編碼效率。
下面,用圖7(b)來說明使用直接模式時的第二例。此時,利用編碼圖片B7中、位置與塊a相同的塊b時使用的運動矢量,圖片B7作為位于圖片B6之后的參照圖片。在此,塊b由直接模式進行編碼,設此時實質(zhì)上使用的前向運動矢量為運動矢量c。即,運動矢量c是通過換算(スケ一リング)在圖片B7后向參照的圖片P9內(nèi)、對處于與塊b相同位置的塊i編碼時使用的運動矢量而得到的運動矢量。運動矢量c使用運動矢量存儲部116中存儲的運動矢量,或從運動矢量存儲部116中讀出由直接模式編碼塊b時使用的圖片P9內(nèi)的塊i的運動矢量后,計算求出。模式選擇部109也可在由直接模式編碼圖片B7的塊b時通過換算處理求出的運動矢量被存儲在運動矢量存儲部116中的情況下,僅存儲前向運動矢量。塊a使用利用運動矢量c生成的運動矢量,根據(jù)作為前向參照圖片的圖片P5與作為后向參照圖片的圖片B7,進行雙向預測。例如,若與上述第一例的情況一樣,使用生成平行于運動矢量c的運動矢量的方法,則編碼塊a時所用的運動矢量對于圖片P5變?yōu)檫\動矢量d,對于圖片B7變?yōu)檫\動矢量e。
此時,作為對塊a的前向運動矢量的運動矢量d的大小MVF、與作為后向運動矢量的運動矢量e的大小MVB與直接模式的第一例一樣,可使用(式1)、(式2)求出。
這樣,在直接模式下,對作為后向參照圖片的B圖片在直接模式下實質(zhì)上使用的前向運動矢量進行換算,所以不必發(fā)送運動矢量的信息,并且,即使在直接模式下編碼后向參照圖片內(nèi)同一位置的塊時,也可提高動作預測效率。由此,可提高編碼效率。并且,通過將在顯示時間順序中可利用的最近的參照圖片用作前向和后向參照圖片,可提高編碼效率。
下面,用圖7(c)來說明用直接模式時的第三例。圖7(c)是表示直接模式下運動矢量的說明圖,表示在直接模式下編碼圖片B6的塊a的情況。該情況下,利用編碼圖片B7中、位置與塊a相同的塊b時使用的運動矢量c,圖片B7作為位于圖片B6之后的參照圖片。其中,設僅使用后向運動矢量來編碼塊b,并設該后向運動矢量為運動矢量f。設運動矢量f存儲在運動矢量存儲部116中。塊a使用利用運動矢量f生成的運動矢量,根據(jù)作為前向參照圖片的圖片P5與作為后向參照圖片的圖片B7,進行雙向預測。例如,若與上述第一例的情況一樣使用生成平行于運動矢量f的運動矢量的方法,則編碼塊a時所用的運動矢量對于圖片P5變?yōu)檫\動矢量g,對于圖片B7變?yōu)檫\動矢量h。
此時,若設作為前向運動矢量的運動矢量g的大小為MVF,設作為后向運動矢量的運動矢量h的大小為MVB,運動矢量f的大小為MV,當前圖片(圖片B6)的后向參照圖片(圖片B7)與其后向參照圖片的塊所參照的圖片(圖片P9)的時間距離為TRD,當前圖片(圖片B6)與前向參照圖片(圖片P5)的時間距離為TRF,當前圖片(圖片B6)與后向參照圖片(圖片B7)的時間距離為TRB,則運動矢量g的大小MVF、運動矢量h的大小MVB分別由(式3)、(式4)求出。
MVF=-TRF×MV/TRD 式3MVB=TRB×MV/TRD 式4這樣,在直接模式下,對編碼作為后向參照圖片的B圖片中同一位置上的塊時使用的后向運動矢量進行換算,所以不必發(fā)送運動矢量的信息,并且,即使在后向參照圖片內(nèi)的同一位置上的塊僅具有后向運動矢量時,也可提高預測效率。由此,可提高編碼效率。并且,通過將在顯示時間順序中可利用的最近的參照圖片用作前向和后向參照圖片,可提高編碼效率。
下面,用圖7(d)來說明使用直接模式時的第四例。圖7(d)是表示直接模式下運動矢量的說明圖,表示在直接模式下編碼圖片B6的塊a的情況。此時,利用編碼圖片B7中、位置與塊a相同的塊b時使用的運動矢量,圖片B7作為位于圖片B6之后的參照圖片。設與第三例一樣,僅使用后向運動矢量來編碼塊b,設該后向運動矢量為運動矢量f。設運動矢量f被存儲在運動矢量存儲部116中。塊a使用利用運動矢量f生成的運動矢量,根據(jù)作為運動矢量f參照圖片的圖片P9與作為后向參照圖片的圖片B7,進行雙向預測。例如,若與上述第一例的情況一樣,使用生成平行于運動矢量f的運動矢量的方法,則編碼塊a時所用的運動矢量對于圖片P9變?yōu)檫\動矢量g,對于圖片B7變?yōu)檫\動矢量h。
此時,若設作為前向運動矢量的運動矢量g的大小為MVF,設作為后向運動矢量的運動矢量h的大小為MVB,運動矢量f的大小為MV,當前圖片(圖片B6)的后向參照圖片(圖片B7)與其后向參照圖片的塊所參照的圖片(圖片P9)的時間距離為TRD,當前圖片(圖片B6)與后向參照圖片(圖片B7)的塊所參照的圖片(圖片P9)的時間距離為TRF,則運動矢量g的大小MVF、運動矢量h的大小MVB分別由(式1)、(式2)求出。
這樣,在直接模式下,對編碼作為后向參照圖片的B圖片中同一位置的塊時使用的后向運動矢量進行換算,從而不必發(fā)送運動矢量的信息,并且,即使在后向參照圖片內(nèi)同一位置的塊僅具有后向運動矢量的情況下,也可提高預測效率。由此,可提高編碼效率。并且,通過將后向運動矢量所參照的圖片用作前向參照圖片,將在顯示時間順序中可利用的最近的參照圖片用作后向參照圖片,可提高編碼效率。
下面,用圖8(a)來說明用直接模式時的第五例。圖8(a)是表示直接模式下運動矢量的說明圖,表示在直接模式下編碼圖片B6的塊a的情況。該情況下,將運動矢量的大小用作0,將圖片P5用作前向參照圖片,將圖片B7用作后向參照圖片,通過進行雙向參照,進行動作補償。
這樣,在直接模式下,通過將運動矢量強制設置為0,在選擇直接模式的情況下,可不必發(fā)送運動矢量的信息,并且不必對運動矢量進行換算處理,可削減處理量。
下面,用圖8(b)來說明用直接模式時的第六例。圖8(b)是表示直接模式下運動矢量的說明圖,表示在直接模式下編碼圖片B6的塊a的情況。此時,利用編碼圖片P9中、位置與塊a相同的塊f時使用的運動矢量g,圖片P9作為位于圖片B6之后的P圖片。運動矢量g存儲在運動矢量存儲部116中。塊a使用利用運動矢量g生成的運動矢量,根據(jù)作為前向參照圖片的圖片P5與作為后向參照圖片的圖片B7,進行雙向預測。例如,若與上述第一例的情況一樣使用生成平行于運動矢量g的運動矢量的方法,則編碼塊a時所用的運動矢量對于圖片P5變?yōu)檫\動矢量h,對于圖片B7變?yōu)檫\動矢量i。
此時,若設作為前向運動矢量的運動矢量h的大小為MVF,設作為后向運動矢量的運動矢量i的大小為MVB,運動矢量g的大小為MV,顯示時間順序上位于當前圖片(圖片B6)之后的P圖片(圖片P9)與該P圖片的塊f所參照的圖片(圖片P5)的時間距離為TRD,當前圖片(圖片B6)與前向參照圖片(圖片P5)的時間距離為TRF,當前圖片(圖片B6)與后向參照圖片(圖片B7)的時間距離為TRB,則運動矢量h的大小MVF、運動矢量i的大小MVB分別由(式1)、(式5)求出。
MVB=-TRB×MV/TRD 式5這樣,在直接模式下,對顯示時間順序上位于后方的P圖片的運動矢量進行換算,在后向參照圖片為B圖片的情況下,不必存儲該B圖片的運動矢量,且不必發(fā)送運動矢量的信息。并且,通過將在顯示時間順序中最近的參照圖片用作前向和后向參照圖片,可提高編碼效率。
下面,用圖8(c)來說明使用直接模式時的第七例。圖8(c)是表示直接模式下運動矢量的說明圖,表示在直接模式下編碼圖片B6的塊a的情況。該例是對上述說明的圖片序號變更(再映射)相對指針的分配,后向參照圖片變?yōu)閳D片P9的情況。此時,利用編碼圖片P9中、位置與塊a相同的塊f時使用的運動矢量g,圖片P9作為圖片B7的后向參照圖片。運動矢量g被存儲在運動矢量存儲部116中。塊a使用利用運動矢量g生成的運動矢量,根據(jù)作為前向參照圖片的圖片P5與作為后向參照圖片的圖片P9,進行雙向預測。例如,若與上述第一例的情況一樣,使用生成平行于運動矢量g的運動矢量的方法,則編碼塊a時所用的運動矢量對于圖片P5變?yōu)檫\動矢量h,對于圖片P9變?yōu)檫\動矢量i。
此時,若設作為前向運動矢量的運動矢量h的大小為MVF,設作為后向運動矢量的運動矢量i的大小為MVB,運動矢量g的大小為MV,當前圖片(圖片B6)的后向參照圖片(圖片P9)與其后向參照圖片的塊所參照的圖片(圖片P5)的時間距離為TRD,當前圖片(圖片B6)與前向參照圖片(圖片P5)的時間距離為TRF,則運動矢量h的大小MVF、運動矢量i的大小MVB分別由(式1)、(式2)求出。
這樣,在直接模式下,即使在對圖片序號變更相對指針的分配時,也可對編碼完的圖片的運動矢量進行換算,并且在選擇直接模式的情況下,不必發(fā)送運動矢量的信息。
另外,在由直接模式編碼圖片B6的塊a時,僅由前向參照、雙向參照或直接模式來編碼圖片B6的后向參照圖片中位置與塊a相同的塊,在編碼時使用前向運動矢量的情況下,對該前向運動矢量進行換算,如上述第一例、第二例或第七例那樣,由直接模式編碼塊a。另一方面,僅由后向參照來編碼位置與塊a相同的塊,在編碼時使用后向運動矢量的情況下,對該后向運動矢量進行換算,如上述第三例或第四例那樣,由直接模式編碼塊a。
上述直接模式不僅可適用于幀間的時間間隔恒定的情況,也可適用于可變幀間隔的情況。
模式選擇部109向碼列生成部104輸出確定的編碼模式。另外,模式選擇部109根據(jù)確定的編碼模式,生成預測圖像數(shù)據(jù),并將該預測圖像數(shù)據(jù)輸出到差分運算部102。但模式選擇部109在選擇圖片內(nèi)編碼的情況下,不輸出預測圖像數(shù)據(jù)。另外,模式選擇部109在選擇圖片內(nèi)編碼的情況下,控制開關(guān)111連接到a側(cè),控制開關(guān)112連接到c側(cè),并在選擇圖片間預測編碼或直接模式時,控制開關(guān)111連接到b側(cè),控制開關(guān)112連接到d側(cè)。另外,模式選擇部109在確定的編碼模式為圖片間預測編碼的情況下,向碼列生成部104輸出該圖片間預測編碼中使用的運動矢量。這里,因為圖片B6在編碼其它圖片時不被用作參照圖片,所以圖片間預測編碼中使用的運動矢量不必存儲在運動矢量存儲部116中。下面,說明由模式選擇部109選擇圖片間預測編碼或直接模式的情況。
向差分運算部102輸入從替換用存儲器101中讀出的圖片B6的宏塊的圖像數(shù)據(jù)、和從模式選擇部109輸出的預測圖像數(shù)據(jù)。差分運算部102運算圖片B6的宏塊的圖像數(shù)據(jù)與預測圖像數(shù)據(jù)之差,生成預測誤差圖像數(shù)據(jù),輸出到預測誤差編碼部103。預測誤差編碼部103通過對輸入的預測誤差圖像數(shù)據(jù)實施頻率變換或量化等編碼處理,生成編碼數(shù)據(jù),并輸出到碼列生成部104。
碼列生成部104對輸入的編碼數(shù)據(jù)實施可變長編碼等,并通過附加運動矢量或編碼模式等信息,生成碼列并輸出。
通過以上處理,完成圖片B6的1個宏塊的編碼處理。通過對圖片B6的其余宏塊也進行同樣處理,一旦完成處理,則進行圖片B8的編碼處理。
(圖片B8的編碼處理)因為圖片B8是B圖片,所以參照顯示時間順序上位于前方或后方的已處理完的兩個圖片來進行圖片間預測編碼。如上所述,圖片B8的參照圖像中,前向參照圖片是圖片B7,后向參照圖片是P9。在進行其它圖片的編碼時,圖片B8不被用作參照圖片,從而,編碼控制部110控制各開關(guān),使開關(guān)113導通,開關(guān)114、115截止。由此,從替換用存儲器101中讀出的圖片,8的宏塊被輸入運動矢量檢測部108、模式選擇部109和差分運算部102。
運動矢量檢測部108將參照圖片用存儲器107中存儲的圖片B7的解碼圖像數(shù)據(jù)用作前向參照圖片,將圖片P9的解碼圖像數(shù)據(jù)用作后向參照圖片,對圖片B8的宏塊檢測前向運動矢量和后向運動矢量。另外,運動矢量檢測部108向模式選擇部109輸出檢測到的運動矢量。
模式選擇部109使用運動矢量檢測部108檢測到的運動矢量,確定圖片B8的宏塊編碼模式。
這里,用圖8(d)來說明對圖片B8的宏塊使用直接模式時的動作。圖8(d)是表示直接模式下運動矢量的說明圖,表示在直接模式下編碼圖片B8的塊a的情況。此時,利用編碼圖片P9中、位置與塊a相同的塊b時使用的運動矢量,圖片P9作為位于圖片B8之后的參照圖片。設塊b僅由前向參照進行編碼,設該前向運動矢量為運動矢量c。設運動矢量c存儲在運動矢量存儲部116中。塊a使用利用運動矢量c生成的運動矢量,根據(jù)作為前向參照圖片的圖片B7與作為后向參照圖片的圖片P9,進行雙向預測。例如,若與上述圖片B7的情況一樣,使用生成平行于運動矢量c的運動矢量的方法,則編碼塊a時所用的運動矢量對于圖片B7變?yōu)檫\動矢量d,對于圖片P9變?yōu)檫\動矢量e。
此時,若設作為前向運動矢量的運動矢量d的大小為MVF,設作為后向運動矢量的運動矢量e的大小為MVB,運動矢量c的大小為MV,當前圖片(圖片B8)的后向參照圖片(圖片P9)與其后向參照圖片的塊b所參照的圖片(圖片P5)的時間距離為TRD,當前圖片(圖片B8)與前向參照圖片(圖片B7)的時間距離為TRF,當前圖片(圖片B8)與后向參照圖片(圖片P9)的時間距離為TRB,則運動矢量d的大小MVF、運動矢量e的大小MVB分別由上述(式1)、(式5)求出。
這樣,在直接模式下,通過對后向參照圖片的前向運動矢量進行換算,不必發(fā)送運動矢量的信息,并且可提高預測效率。由此,可提高編碼效率。并且,通過將可利用的在顯示時間順序中最近的參照圖片用作前向參照圖片和后向參照圖片,可提高編碼效率。
上述直接模式不僅可適用于幀間的時間間隔恒定的情況,也可適用于可變幀間隔的情況。
模式選擇部109向碼列生成部104輸出確定的編碼模式。另外,模式選擇部109根據(jù)確定的編碼模式,生成預測圖像數(shù)據(jù),并將該預測圖像數(shù)據(jù)輸出到差分運算部102。但模式選擇部109在選擇圖片內(nèi)編碼的情況下,不輸出預測圖像數(shù)據(jù)。另外,模式選擇部109在選擇圖片內(nèi)編碼的情況下,控制開關(guān)111連接到a側(cè),控制開關(guān)112連接到c側(cè),并在選擇圖片間預測編碼或直接模式時,控制開關(guān)111連接到b側(cè),控制開關(guān)112連接到d側(cè)。另外,模式選擇部109在確定的編碼模式為圖片間預測編碼的情況下,向碼列生成部104輸出該圖片間預測編碼中使用的運動矢量。這里,因為圖片B8在編碼其它圖片時不被用作參照圖片,所以圖片間預測編碼中使用的運動矢量不必存儲在運動矢量存儲部116中。下面,說明由模式選擇部109選擇圖片間預測編碼或直接模式的情況。
向差分運算部102輸入從替換用存儲器101中讀出的圖片B8的宏塊的圖像數(shù)據(jù)、和從模式選擇部109輸出的預測圖像數(shù)據(jù)。差分運算部102運算圖片B8的宏塊的圖像數(shù)據(jù)與預測圖像數(shù)據(jù)之差,生成預測誤差圖像數(shù)據(jù),輸出到預測誤差編碼部103。預測誤差編碼部103通過對輸入的預測誤差圖像數(shù)據(jù)實施頻率變換或量化等編碼處理,生成編碼數(shù)據(jù),并輸出到碼列生成部104。
碼列生成部104對輸入的編碼數(shù)據(jù)實施可變長編碼等,并通過附加運動矢量或編碼模式等信息,生成碼列并輸出。
通過以上處理,完成對圖片B8的1個宏塊的編碼處理。對圖片B8的其余宏塊也進行同樣處理。
下面,以對應于各圖片的圖片種類和圖片顯示時間順序位置的編碼方法,通過與圖片P9、B7、B6、B8一樣的方法來進行各圖片的編碼處理。
在以上實施例中,以使用圖6(a)所示圖片預測結(jié)構(gòu)的情況為例,說明本發(fā)明的動態(tài)圖像編碼方法的動作。圖12是分層表示此時的圖片預測結(jié)構(gòu)的說明圖。圖12中,箭頭表示預測關(guān)系,表示位于箭頭終點的圖片參照位于起點的圖片。在圖6(a)所示圖片預測結(jié)構(gòu)中,在按顯示時間順序考慮的情況下,如圖12所示,優(yōu)先距已編碼完的圖片最遠的圖片來確定編碼順序。例如,距I或P圖片最遠的圖片是位于連續(xù)的B圖片中央的圖片。因此,在例如圖片P5、P9已編碼完的狀態(tài)下,圖片B7變?yōu)橄乱痪幋a對象圖片。在圖片P5、B7、P9已編碼完的狀態(tài)下,圖片B6、B8變?yōu)橄乱痪幋a對象圖片。
另外,即使在圖6、圖12所示的具有不同圖片預測結(jié)構(gòu)的情況下,也可使用與本發(fā)明的動態(tài)圖像編碼方法一樣的方法,可實現(xiàn)本發(fā)明的效果。圖9-圖11示出其它圖片預測結(jié)構(gòu)實例。
圖9表示夾在I或P圖片間的B圖片的個數(shù)為3個,作為編碼B圖片的順序,從距已編碼完的圖片最近的圖片開始選擇編碼的情況。圖9(a)是表示按顯示時間順序表示的各圖片的預測關(guān)系圖,圖9(b)是表示替換成編碼順序(碼列順序)的圖片順序的圖。圖13是對應于圖9(a)的圖片預測結(jié)構(gòu)的分層圖。在圖9(a)所示圖片預測結(jié)構(gòu)中,在按顯示時間順序考慮的情況下,如圖13所示,從距已編碼完的圖片最近的圖片開始順序編碼。例如,在圖片P5、P9已編碼完的狀態(tài)下,圖片B6、B8變?yōu)橄乱痪幋a對象圖片。在圖片P5、B6、B8、P9已編碼完的狀態(tài)下,圖片B7變?yōu)橄乱痪幋a對象圖片。
圖10表示夾在I或P圖片間的B圖片的個數(shù)為5個,優(yōu)先編碼B圖片中距已編碼完的圖片最遠的圖片的情況。圖10(a)是表示按顯示時間順序表示的各圖片的預測關(guān)系圖,圖10(b)是表示替換成編碼順序(碼列順序)的圖片順序的圖。圖14是對應于圖10(a)的圖片預測結(jié)構(gòu)的分層圖。在圖10(a)所示圖片預測結(jié)構(gòu)中,在按顯示時間順序考慮的情況下,如圖14所示,優(yōu)先距已編碼完的圖片最遠的圖片,確定編碼順序。例如,距I或P圖片最遠的圖片為位于連續(xù)的B圖片中央的圖片。因此,例如在圖片P7、P13已編碼完的狀態(tài)下,圖片B10變?yōu)橄乱痪幋a對象圖片。在圖片P7、B10、P13已編碼完的狀態(tài)下,圖片B8、B9、B11、B12變?yōu)橄乱痪幋a對象圖片。
圖11表示夾在I或P圖片間的B圖片的個數(shù)為5個,優(yōu)先編碼B圖片中距已編碼完的圖片最近的圖片的情況。圖11(a)是表示按顯示時間順序表示的各圖片的預測關(guān)系圖,圖11(b)是表示替換成編碼順序(碼列順序)的圖片順序的圖。圖15是對應于圖11(a)的圖片預測結(jié)構(gòu)的分層圖。在圖11(a)所示圖片預測結(jié)構(gòu)中,在按顯示時間順序考慮的情況下,如圖15所示,從距已編碼完的圖片最近的圖片開始順序編碼。例如,在圖片P5、P9已編碼完的狀態(tài)下,圖片B8、B12變?yōu)橄乱痪幋a對象圖片。在圖片P5、B8、B12、P9已編碼完的狀態(tài)下,圖片B9、B11變?yōu)橄乱痪幋a對象圖片。并且,在圖片P5、B8、B9、B11、B12、P9已編碼完的狀態(tài)下,圖片B10變?yōu)橄乱痪幋a對象圖片。
如上所述,在本發(fā)明的動態(tài)圖像編碼方法中,當使用雙向預測來編碼進行圖片間預測編碼處理的B圖片時,按與顯示時間順序不同的順序來編碼夾在I或P圖片間的多個B圖片。此時,將顯示時間順序中位于最近的圖片用作前向和后向參照圖片。在B圖片可利用的情況下,也可將B圖片用作該參照圖片。另外,當按與顯示時間順序不同的順序來編碼夾在I或P圖片間的多個B圖片時,從距已編碼完的圖片最遠的圖片開始順序編碼。另外,在按與顯示時間順序不同的順序來編碼夾在I或P圖片間的多個B圖片時,從距已編碼完的圖片最近的圖片開始順序編碼。
通過這種動作,使用本發(fā)明的動態(tài)圖像編碼方法,從而在編碼B圖片時,可將在顯示時間順序中較近的圖片用作參照圖片,并由此可提高動作補償時的預測效率,所以可提高編碼效率。
另外,在本發(fā)明的動態(tài)圖像編碼方法中,參照編碼為B圖片的圖片,作為后向參照圖片,并由直接模式編碼B圖片內(nèi)的塊,此時,在由前向參照或雙向參照來編碼后向參照圖片內(nèi)同一位置的塊時,將通過換算該前向運動矢量得到的運動矢量用作直接模式下的運動矢量。
這樣,在直接模式下,通過對作為后向參照圖片的B圖片的前向運動矢量進行換算,不必發(fā)送運動矢量的信息,并可提高預測效率。并且,通過使用時間上最近的參照圖片作為前向參照圖片,可提高編碼效率。
另外,在由直接模式編碼作為后向參照圖片的B圖片中同一位置的塊時,將通過換算直接模式下實質(zhì)使用的前向運動矢量得到的運動矢量用作直接模式下的運動矢量。
這樣,在直接模式下,通過對作為后向參照圖片的B圖片在直接模式下實質(zhì)使用的前向運動矢量進行換算,不必發(fā)送運動矢量的信息,并且,即使在直接模式下編碼后向參照圖片內(nèi)同一位置的塊時,也可提高預測效率。并且,通過將時間上最近的參照圖片作為前向參照圖片,可提高編碼效率。
另外,在通過后向參照來編碼作為后向參照圖片的B圖片中同一位置的塊時,將換算該后向運動矢量得到的運動矢量用作直接模式下的運動矢量。
這樣,在直接模式下,通過對編碼作為后向參照圖片的B圖片中同一位置的塊時使用的后向運動矢量進行換算,不必發(fā)送運動矢量的信息,并且,即使在后向參照圖片內(nèi)同一位置的塊僅具有后向運動矢量的情況下,也可提高預測效率。并且,通過將時間上最近的參照圖片作為前向參照圖片,可提高編碼效率。
另外,在通過后向參照來編碼作為后向參照圖片的B圖片中同一位置的塊時,將此時使用的后向運動矢量中通過將該后向運動矢量所參照的圖片與后向參照圖片換算為參照圖片所得到的運動矢量用作直接模式下的運動矢量。
這樣,在直接模式下,通過對編碼作為后向參照圖片的B圖片中同一位置的塊時使用的后向運動矢量進行換算,不必發(fā)送運動矢量的信息,并且,即使在后向參照圖片內(nèi)同一位置的塊僅具有后向運動矢量的情況下,也可提高預測效率。由此,可提高編碼效率。并且,通過將后向運動矢量參照的圖片用作前向參照圖片,將顯示時間順序中可利用的最近的參照圖片用作后向參照圖片,可提高編碼效率。
另外,在直接模式下,使用大小被強制設為0的運動矢量。
這樣,通過將直接模式下的運動矢量強制設置為0,在選擇直接模式的情況下,不必發(fā)送運動矢量的信息,并且,不需要運動矢量的換算處理,可削減處理量。
另外,在本發(fā)明的動態(tài)圖像編碼方法中,參照編碼為B圖片的圖片作為后向參照圖片,并用直接模式來編碼B圖片內(nèi)的塊時,將換算編碼在后的P圖片內(nèi)同一位置上的時使用的前向運動矢量得到的運動矢量用作直接模式下的運動矢量。
這樣,在直接模式下,通過對在后P圖片的運動矢量進行換算,在后向參照圖片是B圖片的情況下,不必存儲該B圖片的運動矢量,并且,不必發(fā)送運動矢量的信息,可提高預測效率。并且,通過將時間上最近的參照圖片作為前向參照圖片,可提高編碼效率。
另外,對圖片序號變更相對指針的分配,由前向參照來編碼后向參照圖片內(nèi)同一位置的塊時,將換算該前向運動矢量得到的運動矢量用作直接模式下的運動矢量。
這樣,在直接模式下,即使在對圖片序號變更相對指針的分配時,也可對編碼完的圖片的運動矢量進行換算,并且不必發(fā)送運動矢量的信息。
在本實施例中,說明以水平16×垂直16象素單位來處理動作補償、以水平8×垂直8象素單位或水平4×垂直4單位來處理預測誤差圖像編碼的情況,但這些單位也可以是其它象素數(shù)。
另外,在本實施例中,舉例說明連續(xù)的B圖片個數(shù)為3個或5個的情況,但B圖片的個數(shù)也可以是其它個數(shù)。
在本實施例中,舉例說明P圖片的編碼模式從圖片內(nèi)編碼、使用運動矢量的圖片間預測編碼、不使用運動矢量的圖片間預測編碼中進行選擇,并且,B圖片的編碼模式從圖片內(nèi)編碼、使用前向運動矢量的圖片間預測編碼、使用后向運動矢量的圖片間預測編碼、使用雙向運動矢量的圖片間預測編碼、直接模式中進行選擇的情況,但這些編碼模式也可以是其它方法。
另外,在本實施例中,對直接模式說明了7個實例,但也可使用對每個宏塊或塊唯一確定的一個方法,也可從多個方法中對每個塊或宏塊選擇一個方法。在使用多個方法的情況下,將表示使用哪個直接模式的信息記錄在碼列中。
另外,在本實施例中,說明P圖片參照1個顯示時間順序上位于前或后的已編碼完的I或P圖片進行編碼、B圖片參照兩個顯示時間順序上位于前或后的附近已編碼完的圖片進行編碼的情況,但在這些圖片是P圖片的情況下,將顯示時間順序中位于前或后的多個已編碼完的I圖片或P圖片作為參照圖片替補,并參照各塊中最大的1個圖片來編碼,在為B圖片的情況下,將顯示時間順序中位于前或后的附近多個已編碼完的圖片作為參照圖片替補,并參照各塊中最大的兩個圖片來編碼。
另外,模式選擇部109在將運動矢量存儲在運動矢量存儲部116中時,當由雙向預測或直接模式來編碼對象塊時,可存儲前向和后向兩者的運動矢量,也可僅存儲前向運動矢量。若僅存儲前向運動矢量,則可削減運動矢量存儲部116的存儲器量。
(實施例2)
圖16是表示使用本發(fā)明的動態(tài)圖像編碼方法的動態(tài)圖像解碼裝置一實施例的結(jié)構(gòu)框圖。
動態(tài)圖像解碼裝置如圖16所示,具備碼列分析部1401、預測誤差解碼部1402、模式解碼部1403、幀存儲器控制部1404、動作補償解碼部1405、運動矢量存儲部1406、幀存儲器1407、加法運算部1408、和開關(guān)1409、1410。
碼列分析部1401從輸入的碼列中抽出編碼模式信息和運動矢量信息等各種數(shù)據(jù)。預測誤差解碼部1402解碼從碼列分析部1401輸入的預測誤差編碼數(shù)據(jù),生成預測誤差圖像數(shù)據(jù)。模式解碼部1403參照從碼列中抽出的編碼模式信息,控制開關(guān)1409、1410。
幀存儲器控制部1404根據(jù)從碼列分析部1401輸入的表示圖片顯示順序的信息,輸出幀存儲器1407中存儲的解碼圖像數(shù)據(jù),作為輸出圖像。
動作補償解碼部1405進行參照圖片序號與運動矢量信息的解碼處理,根據(jù)解碼后的參照圖片序號與運動矢量,從幀存儲器1407取得動作補償圖像數(shù)據(jù)。運動矢量存儲部1406存儲運動矢量。
加法運算部1408將從預測誤差解碼部1402輸入的預測誤差編碼數(shù)據(jù)與從動作補償解碼部1405輸入的動作補償圖像數(shù)據(jù)相加,生成解碼圖像數(shù)據(jù)。幀存儲器1407存儲生成的解碼圖像數(shù)據(jù)。
下面,說明上述構(gòu)成的動態(tài)圖像解碼裝置的動作。這里,設向動態(tài)圖像解碼裝置輸入上述動態(tài)圖像編碼裝置中生成的碼列。即,這里,設P圖片參照1個顯示時間順序上位于前方或后方的附近已編碼完的I或P圖片。另外,設B圖片參照兩個顯示時間順序上位于前方或后方的已編碼完的附近的圖片。
此時的碼列中的圖片變?yōu)閳D6(b)所示順序。下面,順序說明圖片P9、B7、B6、B8的解碼處理。
(圖片P9的解碼處理)
將圖片P9的碼列輸入碼列分析部1401。碼列分析部1401從輸入的碼列中抽出各種數(shù)據(jù)。這里,所謂各種數(shù)據(jù)是模式選擇信息或運動矢量信息等。將抽出的模式選擇信息輸出到模式解碼部1403。另外,將抽出的運動矢量信息輸出到動作補償解碼部1405。并且,將預測誤差編碼數(shù)據(jù)輸出到預測誤差解碼部1402。
模式解碼部1403參照從碼列中抽出的編碼模式選擇信息,控制開關(guān)1409、1410。在編碼模式選擇為圖片內(nèi)編碼的情況下,模式解碼部1403控制開關(guān)1409連接到a側(cè),控制開關(guān)1410連接到c側(cè)。另外,在編碼模式選擇為圖片間預測編碼時,模式解碼部1403控制開關(guān)1409連接到b側(cè),控制開關(guān)1410連接到d側(cè)。
模式解碼部1403還向動作補償解碼部1405輸出編碼模式選擇信息。下面,說明編碼模式選擇為圖片間預測編碼的情況。預測誤差解碼部1402解碼輸入的預測誤差編碼數(shù)據(jù),生成預測誤差圖像數(shù)據(jù)。預測誤差解碼部1402向開關(guān)1409輸出生成的預測誤差圖像數(shù)據(jù)。這里,因為開關(guān)1409連接于b側(cè),所以向加法運算部1408輸出預測誤差圖像數(shù)據(jù)。
動作補償解碼部1405根據(jù)輸入的運動矢量信息等,從幀存儲器1407取得動作補償圖像數(shù)據(jù)。圖片P9參照圖片P5進行編碼,圖片P5被解碼后,保持在幀存儲器1407中。因此,動作補償解碼部1405根據(jù)運動矢量信息,從幀存儲器1407中保持的圖片P5的圖像數(shù)據(jù)中取得動作補償圖像數(shù)據(jù)。將如此生成的動作補償圖像數(shù)據(jù)輸出到加法運算部1408。
動作補償解碼部1405在解碼P圖片的情況下,將運動矢量的信息存儲在運動矢量存儲部1406中。
加法運算部1408將輸入的預測誤差圖像數(shù)據(jù)與動作補償圖像數(shù)據(jù)相加,生成解碼圖像數(shù)據(jù)。生成的解碼圖像數(shù)據(jù)經(jīng)開關(guān)1410輸出到幀存儲器1407。
如上所述,完成圖片P9的1個宏塊的處理。通過同樣處理,順序解碼其余的宏塊。若解碼所有圖片P9的宏塊,則進行圖片B7的解碼。
(圖片B7的解碼處理)碼列分析部1401、模式解碼部1403、和預測誤差解碼部1402中生成預測誤差圖像數(shù)據(jù)以前的動作與圖片P9的解碼處理時一樣,所以省略說明。
動作補償解碼部1405根據(jù)輸入的運動矢量信息等,生成動作補償圖像數(shù)據(jù)。圖片B7參照圖片P5作為前向參照圖片,參照P9作為后向參照圖片,進行編碼,這些圖片被解碼后,保持在幀存儲器1407中。
在模式選擇為雙向預測的圖片間預測編碼時,動作補償解碼部1405根據(jù)前向運動矢量信息,從幀存儲器1407中取得前向參照圖像數(shù)據(jù)。另外,根據(jù)后向運動矢量信息,從幀存儲器1407中取得后向參照圖像數(shù)據(jù)。動作補償解碼部1405通過加法平均前向參照圖像數(shù)據(jù)與后向參照圖像數(shù)據(jù),生成動作補償圖像數(shù)據(jù)。
在模式選擇為直接模式的情況下,動作補償解碼部1405取得運動矢量存儲部1406中存儲的圖片P9的運動矢量。另外,動作補償解碼部1405使用該運動矢量,從幀存儲器1407中取得前向參照圖像數(shù)據(jù)和后向參照圖像數(shù)據(jù)。動作補償解碼部1405通過加法平均前向參照圖像數(shù)據(jù)和后向參照圖像數(shù)據(jù),生成動作補償圖像數(shù)據(jù)。
還用圖7(a)來說明模式選擇為直接模式的情況。其中,設解碼圖片B7的塊a,并設與塊a位于相同位置上的圖片P9的塊為塊b。另外,塊b的運動矢量為運動矢量c,該運動矢量c參照圖片P5。此時,使用參照利用運動矢量c求出的圖片P5的運動矢量d來作為前向運動矢量,使用參照利用運動矢量c求出的圖片P9的運動矢量e作為后向運動矢量。例如,作為利用運動矢量c的方法,有生成平行于運動矢量c的運動矢量的方法。設加法平均根據(jù)這些運動矢量得到的前向參照數(shù)據(jù)與后向參照數(shù)據(jù)后的圖像數(shù)據(jù)為動作補償圖像數(shù)據(jù)。
此時,若設作為前向運動矢量的運動矢量d的大小為MVF,設作為后向運動矢量的運動矢量e的大小為MVB,運動矢量c的大小為MV,當前圖片(圖片B7)的后向參照圖片(圖片P9)與其后向參照圖片的塊b所參照的圖片(圖片P5)的時間距離為TRD,當前圖片(圖片B7)與前向參照圖片(圖片P5)的時間距離為TRF,則運動矢量d的大小MVF、運動矢量e的大小MVB分別由(式1)、(式2)求出。其中,MVF、MVB分別表現(xiàn)運動矢量的水平成分、垂直成分。另外,例如可根據(jù)附加于各圖片的表示顯示順序(位置)的信息或其信息差來確定各圖片間的時間距離。
將如此生成的動作補償圖像數(shù)據(jù)輸出到加法運算部1408。另外,動作補償解碼部1405將運動矢量信息存儲在運動矢量存儲部1406中。
加法運算部1408將輸入的預測誤差圖像數(shù)據(jù)與動作補償圖像數(shù)據(jù)相加,生成解碼圖像數(shù)據(jù)。將生成的解碼圖像數(shù)據(jù)經(jīng)開關(guān)1410輸出到幀存儲器1407。
如上所述,完成圖片B7的1個宏塊的處理。通過同樣處理,順序解碼其余的宏塊。若解碼全部圖片B7的宏塊,則解碼圖片B6。
(圖片B6的解碼處理)碼列分析部1401、模式解碼部1403、和預測誤差解碼部1402中生成預測誤差圖像數(shù)據(jù)以前的動作與圖片P9的解碼處理時一樣,所以省略說明。
動作補償解碼部1405根據(jù)輸入的運動矢量信息等,生成動作補償圖像數(shù)據(jù)。圖片B6參照圖片P5作為前向參照圖片,參照B7作為后向參照圖片,進行編碼,這些圖片被解碼后,保持在幀存儲器1407中。
在模式選擇為雙向預測的圖片間預測編碼時,動作補償解碼部1405根據(jù)前向運動矢量信息,從幀存儲器1407中取得前向參照圖像數(shù)據(jù)。另外,根據(jù)后向運動矢量信息,從幀存儲器1407中取得后向參照圖像數(shù)據(jù)。動作補償解碼部1405通過加法平均前向參照圖像數(shù)據(jù)與后向參照圖像數(shù)據(jù),生成動作補償圖像數(shù)據(jù)。
在模式選擇為直接模式的情況下,動作補償解碼部1405取得運動矢量存儲部1406中存儲的圖片B7的運動矢量。動作補償解碼部1405使用該運動矢量,從幀存儲器1407中取得前向參照圖像數(shù)據(jù)和后向參照圖像數(shù)據(jù)。動作補償解碼部1405通過加法平均前向參照圖像數(shù)據(jù)和后向參照圖像數(shù)據(jù),生成動作補償圖像數(shù)據(jù)。
用圖7(b)來說明模式選擇為直接模式時的第一例。其中,設解碼圖片B6的塊a,并設與塊a位于相同位置上的圖片B7的塊為塊b。另外,設基于前向參照的圖片間預測編碼或基于雙向參照的圖片間預測編碼塊b,并設塊b的前向運動矢量為運動矢量c。該運動矢量c參照圖片P5。此時,使用參照利用運動矢量c生成的圖片P5的運動矢量d來作為對塊a的前向運動矢量,使用參照利用運動矢量c生成的圖片B7的運動矢量e作為后向運動矢量。例如,作為利用運動矢量c的方法,有生成平行于運動矢量c的運動矢量的方法。設加法平均根據(jù)這些運動矢量得到的前向參照圖像數(shù)據(jù)與后向參照圖像數(shù)據(jù)后的圖像數(shù)據(jù)為動作補償圖像數(shù)據(jù)。
此時,若設作為前向運動矢量的運動矢量d的大小為MVF,設作為后向運動矢量的運動矢量e的大小為MVB,運動矢量c的大小為MV,當前圖片(圖片B6)的后向參照圖片(圖片B7)與其后向參照圖片的塊b所參照的圖片(圖片P5)的時間距離為TRD,當前圖片(圖片B6)與前向參照圖片(圖片P5)的時間距離為TRF,則運動矢量d的大小MVF、運動矢量e的大小MVB分別由(式1)、(式2)求出。另外,例如可根據(jù)附加于各圖片的表示顯示順序(位置)的信息或其信息差來確定各圖片間的時間距離。另外,TRD、TRF的值也可使用對每個圖片確定的規(guī)定值。該規(guī)定值也可作為頭信息記錄在碼列中。
另外,用圖7(b)來說明模式選擇為直接模式情況下的第二例。
此時,利用解碼圖片B7中、位置與塊a相同的塊b時所用的運動矢量,圖片B7是位于圖片B6之后的參照圖片。這里,設使用直接模式來編碼塊b,設此時實質(zhì)上使用的前向運動矢量為運動矢量c。該運動矢量c使用運動矢量存儲部1406中存儲的運動矢量,或在從運動矢量存儲部1406中讀出由直接模式編碼塊b時所用的圖片P9的運動矢量后,進行換算計算后求出。動作補償解碼部1405也可在將由直接模式解碼圖片B7的塊b時通過換算處理求出的運動矢量存儲在運動矢量存儲部1406中時,僅存儲前向運動矢量。
此時,使用參照利用運動矢量c生成的圖片P5的運動矢量d來作為對塊a的前向運動矢量,使用參照利用運動矢量c生成的圖片B7的運動矢量e作為后向運動矢量。例如,作為利用運動矢量c的方法,有生成平行于運動矢量c的運動矢量的方法。設加法平均根據(jù)這些運動矢量得到的前向參照圖像數(shù)據(jù)與后向參照圖像數(shù)據(jù)后的圖像數(shù)據(jù)為動作補償圖像數(shù)據(jù)。
此時,作為前向運動矢量的運動矢量d的大小MVF、與作為后向運動矢量的運動矢量e的大小MVB與直接模式的第一例一樣,可用(式1)、(式2)來求出。
下面,用圖7(c)來說明模式選擇為直接模式情況下的第三例。
這里,設解碼圖片B6的塊a,并設位置與塊a相同的圖片B7的塊為塊b。設后向參照預測編碼塊b,并設塊b的后向運動矢量為運動矢量f。該運動矢量f參照圖片P9。此時,使用參照利用運動矢量f求出的圖片P5的運動矢量g來作為對塊a的前向運動矢量,使用參照利用運動矢量f求出的圖片B7的運動矢量h作為后向運動矢量。例如,作為利用運動矢量f的方法,有生成平行于運動矢量f的運動矢量的方法。設加法平均根據(jù)這些運動矢量得到的前向參照圖像數(shù)據(jù)與后向參照圖像數(shù)據(jù)后的圖像數(shù)據(jù)為動作補償圖像數(shù)據(jù)。
此時,若設作為前向運動矢量的運動矢量g的大小為MVF,設作為后向運動矢量的運動矢量h的大小為MVB,運動矢量f的大小為MV,當前圖片(圖片B6)的后向參照圖片(圖片B7)與其后向參照圖片的塊所參照的圖片(圖片P9)的時間距離為TRD,當前圖片(圖片B6)與前向參照圖片(圖片P5)的時間距離為TRF,當前圖片(圖片B6)與后向參照圖片(圖片B7)的時間距離為TRB,則運動矢量g的大小MVF、運動矢量h的大小MVB分別由(式3)、(式4)求出。
下面,用圖7(d)來說明模式選擇為直接模式情況下的第四例。
這里,設解碼圖片B6的塊a,并設位置與塊a相同的圖片B7的塊為塊b。設與第三例一樣后向參照預測編碼塊b,并設塊b的后向運動矢量為運動矢量f。該運動矢量f參照圖片P9。此時,使用參照利用運動矢量f求出的圖片P9的運動矢量g來作為對塊a的前向運動矢量,使用參照利用運動矢量f求出的圖片B7的運動矢量h作為后向運動矢量。例如,作為利用運動矢量f的方法,有生成平行于運動矢量f的運動矢量的方法。設加法平均根據(jù)這些運動矢量得到的前向參照圖像數(shù)據(jù)與后向參照圖像數(shù)據(jù)后的圖像數(shù)據(jù)為動作補償圖像數(shù)據(jù)。
此時,若設作為前向運動矢量的運動矢量g的大小為MVF,設作為后向運動矢量的運動矢量h的大小為MVB,運動矢量f的大小為MV,當前圖片(圖片B6)的后向參照圖片(圖片B7)與其后向參照圖片的塊所參照的圖片(圖片P9)的時間距離為TRD,當前圖片(圖片B6)與后向參照圖片(圖片B7)的塊所參照的圖片(圖片P9)的時間距離為TRF,則運動矢量g的大小MVF、運動矢量h的大小MVB分別由(式1)、(式2)求出。
另外,用圖8(a)來說明模式選擇為直接模式情況下的第五例。這里,設由直接模式來解碼圖片B6的塊a。此時,設運動矢量的大小為0,將圖片P5用作前向參照圖片,將圖片B7用作后向參照圖片,通過進行雙向參照,進行動作補償。
下面,用圖8(b)來說明模式選擇為直接模式情況下的第六例。這里,設由直接模式解碼圖片B6的塊a。這里,利用解碼圖片P9中位置與塊a相同的塊f時使用的運動矢量g,圖片P9是位于圖片B6之后的P圖片。將運動矢量g存儲在運動矢量存儲部1406中。塊a使用利用運動矢量g求出的運動矢量,根據(jù)作為前向參照圖片的圖片P5與作為后向參照圖片的圖片B7,進行雙向預測。例如,若與上述第一例的情況一樣使用生成平行于運動矢量g的運動矢量的方法,則用于得到塊a的動作補償圖像數(shù)據(jù)的運動矢量相對圖片P5變?yōu)檫\動矢量h,相對圖片B7變?yōu)檫\動矢量i。
此時,若設作為前向運動矢量的運動矢量h的大小為MVF,設作為后向運動矢量的運動矢量I的大小為MVB,運動矢量g的大小為MV,位于當前圖片(圖片B6)之后的P圖片(圖片P9)與位于其后的圖片的塊f所參照的圖片(圖片P5)的時間距離為TRD,當前圖片(圖片B6)與前向參照圖片(圖片P5)的時間距離為TRF,當前圖片(圖片B6)與后向參照圖片(圖片B7)的時間距離為TRB,則運動矢量MVF、運動矢量MVB分別由(式1)、(式5)求出。
下面,用圖8(c)來說明模式選擇為直接模式情況下的第七例。這里,設由直接模式來解碼圖片B6的塊a。本例中,對上述說明的圖片序號變更(再映射)相對指針的分配,后向參照圖片變?yōu)閳D片P9。此時,利用編碼圖片P9中、位置與塊a相同的塊f時使用的運動矢量g,圖片P9作為圖片B6的后向參照圖片。運動矢量g被存儲在運動矢量存儲部1406中。塊a使用利用運動矢量g生成的運動矢量,根據(jù)作為前向參照圖片的圖片P5與作為后向參照圖片的圖片P9,進行雙向預測。例如,若與上述第一例的情況一樣,使用生成平行于運動矢量g的運動矢量的方法,則用于得到塊a的動作補償圖像數(shù)據(jù)的運動矢量對于圖片P5變?yōu)檫\動矢量h,對于圖片P9變?yōu)檫\動矢量i。
此時,若設作為前向運動矢量的運動矢量h的大小為MVF,設作為后向運動矢量的運動矢量i的大小為MVB,運動矢量g的大小為MV,當前圖片(圖片B6)的后向參照圖片(圖片P9)與其后向參照圖片的塊所參照的圖片(圖片P5)的時間距離為TRD,當前圖片(圖片B6)與前向參照圖片(圖片P5)的時間距離為TRF,則運動矢量h的大小MVF、運動矢量i的大小MVB分別由(式1)、(式2)求出。
將如此生成的動作補償圖像數(shù)據(jù)輸出到加法運算部1408。加法運算部1408將輸入的預測誤差圖像數(shù)據(jù)與動作補償圖像數(shù)據(jù)相加,生成解碼圖像數(shù)據(jù)。生成的解碼圖像數(shù)據(jù)經(jīng)開關(guān)1410輸出到幀存儲器1407。
如上所述,完成圖片B6的一個宏塊的處理。通過同樣處理,順序解碼其余的宏塊。若解碼全部圖片B6的宏塊,則解碼圖片B8。
(圖片B8的解碼處理)碼列分析部1401、模式解碼部1403、和預測誤差解碼部1402中生成預測誤差圖像數(shù)據(jù)以前的動作與圖片P9的解碼處理時一樣,所以省略說明。
動作補償解碼部1405根據(jù)輸入的運動矢量信息等,生成動作補償圖像數(shù)據(jù)。圖片B8參照圖片B7作為前向參照圖片,參照P9作為后向參照圖片,進行編碼,這些圖片被解碼后,保持在幀存儲器1407中。
在模式選擇為雙向預測的圖片間預測編碼時,動作補償解碼部1405根據(jù)前向運動矢量信息,從幀存儲器1407中取得前向參照圖像數(shù)據(jù)。另外,根據(jù)后向運動矢量信息,從幀存儲器1407中取得后向參照圖像數(shù)據(jù)。動作補償解碼部1405通過加法平均前向參照圖像數(shù)據(jù)與后向參照圖像數(shù)據(jù),生成動作補償圖像數(shù)據(jù)。
在模式選擇為直接模式的情況下,動作補償解碼部1405取得運動矢量存儲部1406中存儲的圖片P9的運動矢量。動作補償解碼部1405使用該運動矢量,從幀存儲器1407中取得前向參照圖像數(shù)據(jù)和后向參照圖像數(shù)據(jù)。動作補償解碼部1405通過加法平均前向參照圖像數(shù)據(jù)和后向參照圖像數(shù)據(jù),生成動作補償圖像數(shù)據(jù)。
用圖8(d)來說明模式選擇為直接模式時的一例。其中,設解碼圖片B8的塊a,并設為作為后向參照圖片的圖片P9中、與塊a位于相同位置上的塊b。另外,設塊b的前向運動矢量為運動矢量c。該運動矢量c參照圖片P5。此時,使用參照利用運動矢量c生成的圖片B7的運動矢量d來作為對塊a的前向運動矢量,使用參照利用運動矢量c生成的圖片P9的運動矢量e作為后向運動矢量。例如,作為利用運動矢量c的方法,有生成平行于運動矢量c的運動矢量的方法。設加法平均根據(jù)這些運動矢量得到的前向參照圖像數(shù)據(jù)與后向參照圖像數(shù)據(jù)后的圖像數(shù)據(jù)為動作補償圖像數(shù)據(jù)。
此時,若設作為前向運動矢量的運動矢量d的大小為MVF,設作為后向運動矢量的運動矢量e的大小為MVB,運動矢量c的大小為MV,當前圖片(圖片B8)的后向參照圖片(圖片P9)與其后向參照圖片的塊b所參照的圖片(圖片P5)的時間距離為TRD,當前圖片(圖片B8)與前向參照圖片(圖片B7)的時間距離為TRF,當前圖片(圖片B8)與后向參照圖片(圖片P9)的時間距離為TRB,則運動矢量d的大小MVF、運動矢量e的大小MVB分別由(式1)、(式5)求出。
將如此生成的動作補償圖像數(shù)據(jù)輸出到加法運算部1408。加法運算部1408將輸入的預測誤差圖像數(shù)據(jù)與動作補償圖像數(shù)據(jù)相加,生成解碼圖像數(shù)據(jù)。生成的解碼圖像數(shù)據(jù)經(jīng)開關(guān)1410輸出到幀存儲器1407。
如上所述,完成圖片B8的一個宏塊的處理。通過同樣處理,順序解碼其余的宏塊。下面,通過對應于圖片種類的同樣處理來解碼各圖片。
接著,幀存儲器控制部1404如上所述將幀存儲器1407中保持的各圖片的圖像數(shù)據(jù)如圖6(a)所示按時間順序替換后,作為輸出圖像輸出。
如上所述,在本發(fā)明的動態(tài)圖像解碼方法中,當使用雙向預測來解碼進行圖片間預測編碼處理的B圖片時,作為用作前向參照圖片和后向參照圖片的圖片,使用已解碼完的在顯示時間順序中位于附近的圖片,進行解碼。
另外,在B圖片中選擇直接模式作為編碼模式的情況下,通過參照運動矢量存儲部1406中保持的已解碼完的后向參照圖片的運動矢量,從已解碼完的圖像數(shù)據(jù)中取得參照圖像數(shù)據(jù),并得到動作補償圖像數(shù)據(jù)。
通過這種動作,在使用雙向預測來編碼進行圖片間預測編碼處理的B圖片時,在解碼使用顯示時間順序中位于附近的圖片作為用作前向參照圖片和后向參照圖片的圖片、并進行編碼后生成的碼列時,可正確進行解碼處理。
另外,在本實施例中,對直接模式說明了7個實例,但例如也可使用通過后向參照圖片的相同位置上的塊的解碼方法等、對每個宏塊或塊唯一確定的一個方法,也可以塊或宏塊單位來切換多個方法并使用。在使用多個方法的情況下,使用碼列中記錄的、表示使用哪個直接模式的信息來進行解碼。此時,動作補償解碼部1405的動作隨該信息而變化。例如,在以動作補償?shù)膲K單位附加該信息的情況下,模式解碼部確定使用哪個直接模式來進行編碼,并將之傳送給動作補償解碼部1405。另外,動作補償解碼部1405按照使用哪個直接模式,使用本實施例中說明的解碼方法來進行解碼處理。
另外,在本實施例中,說明在I或P圖片間夾著3個B圖片的圖片結(jié)構(gòu)情況,但該B圖片的個數(shù)也可以是其它值,例如4個或5個。
另外,在本實施例中,說明解碼P圖片參照1個顯示時間順序上位于前或后的已編碼完的I或P圖片進行編碼、B圖片參照兩個顯示時間順序上位于前或后的附近已編碼完的圖片進行編碼的碼列的情況,但在這些圖片是P圖片的情況下,可以是將顯示時間順序中位于前或后的多個已編碼完的I圖片或P圖片作為參照圖片替補、并參照各塊中最大的1個圖片來編碼的碼列,在為B圖片的情況下,可以是將顯示時間順序中位于前或后的附近多個已編碼完的圖片作為參照圖片替補,并參照各塊中最大的兩個圖片來編碼的碼列。
動作補償解碼部1405在將運動矢量存儲在運動矢量存儲部1406中時,在由雙向預測或直接模式來編碼對象塊的情況下,可存儲前向和后向兩者的運動矢量,也可僅存儲前向運動矢量。若僅存儲前向運動矢量,則可削減運動矢量存儲部1406的存儲器量。
(實施例3)通過將實現(xiàn)上述各實施例中所示動態(tài)圖像編碼方法或動態(tài)圖像解碼方法結(jié)構(gòu)用的程序記錄在軟盤等存儲媒體中,可在獨立的計算機系統(tǒng)中簡單實施上述各實施例中所示的處理。
圖17是使用存儲了上述各實施例的動態(tài)圖像編碼方法和動態(tài)圖像解碼方法的軟盤,通過計算機系統(tǒng)來實施情況下的說明圖。
圖17(b)表示從軟盤的正面看到的外觀、截面結(jié)構(gòu)及軟盤,圖17(a)表示作為記錄媒體主體的軟盤的物理格式的實例。軟盤FD內(nèi)置于殼體F內(nèi),在該盤的表面,從外向內(nèi)以同心圓狀形成多個軌道Tr,沿角度方向?qū)⒏鬈壍婪指畛?6個扇區(qū)Se。因此,在存儲上述程序的軟盤中,在上述軟盤FD上分配的區(qū)域中,記錄作為上述程序的動態(tài)圖像編碼方法。
另外,圖17(c)表示在軟盤FD上進行上述程序的記錄再現(xiàn)用的結(jié)構(gòu)。在將上述程序記錄在軟盤FD中的情況下,經(jīng)軟盤驅(qū)動器從計算機系統(tǒng)Cs寫入作為上述程序的動態(tài)圖像編碼方法或動態(tài)圖像解碼方法。另外,在通過軟盤內(nèi)的程序在計算機系統(tǒng)中構(gòu)筑上述動態(tài)圖像編碼方法的情況下,通過軟盤驅(qū)動器從軟盤中讀出程序,并傳送到計算機系統(tǒng)。
在上述說明中,將軟盤用作記錄媒體來進行說明,但即使使用光盤也一樣進行。另外,記錄媒體不限于此,IC卡、ROM盒等只要是可記錄程序的媒體,都可同樣實施。
這里,還說明上述實施例中所示動態(tài)圖像編碼方法或動態(tài)圖像解碼方法的應用實例及使用該應用實例的系統(tǒng)。
圖18是表示實現(xiàn)實現(xiàn)內(nèi)容配送服務的內(nèi)容提供系統(tǒng)ex100的整體結(jié)構(gòu)框圖。將通信服務的提供區(qū)分割成所期望的大小,并在各小區(qū)內(nèi)分別設置作為固定無線站的基站ex107-ex110。
內(nèi)容提供系統(tǒng)ex100例如經(jīng)因特網(wǎng)服務提供商ex102和電話網(wǎng)ex104及基站ex107-ex110,將計算機ex111、PDA(personal digitalassistant個人數(shù)字助理)ex112、攝像機ex113、手機ex114、帶攝像機的手機ex115等各設備于因特網(wǎng)ex101上。
但是,內(nèi)容提供系統(tǒng)ex100不限于圖18的組合,也可任意組合后連接。另外,也可不經(jīng)作為固定基站的基站ex107-ex110而將各設備直接連接于電話網(wǎng)ex104上。
攝像機ex113是數(shù)字攝像機等可拍攝動態(tài)圖像的設備。另外,手機是PDC(Personal Digital Communications個人數(shù)字通信)方式、CDMA(Code Division Multiple Access碼分多址)方式、W-CDMA(Wideband-Code Division Multiple Access寬帶碼分多址)方式、或GSM(Global System for Mobile Communications移動通信全球系統(tǒng))方式的手機機,或PHS(Personal Handyphone System個人手機系統(tǒng))等,是哪種都無妨。
另外,流服務器ex103通過基站ex109、電話網(wǎng)ex104與攝像機ex113連接,使用攝像機ex113,可根據(jù)用戶發(fā)送的編碼處理后的數(shù)據(jù)來進行現(xiàn)場配送等。攝像數(shù)據(jù)的編碼處理可由攝像機ex113進行,也可由進行數(shù)據(jù)發(fā)送處理的服務器等進行。另外,攝像機ex116拍攝的動態(tài)圖像數(shù)據(jù)也可經(jīng)計算機ex111發(fā)送到流服務器ex103。攝像機ex116是數(shù)字攝像機等可拍攝靜止圖像、動態(tài)圖像的設備。由此,動態(tài)數(shù)據(jù)的編碼由攝像機ex116還是由計算機ex111進行無關(guān)緊要。另外,編碼處理變?yōu)樵谟嬎銠Cex111或攝像機ex116具有的LSIex117中進行處理。也可將動態(tài)圖像編碼、解碼用軟件裝載在作為計算機ex111可讀取的記錄媒體的任一存儲媒體(CD-ROM、軟盤、硬盤等)中。并且,也可由帶攝像機的手機ex115來發(fā)送動態(tài)圖像數(shù)據(jù)。此時的動態(tài)圖像數(shù)據(jù)是由手機ex115具有的LSI進行編碼處理后的數(shù)據(jù)。
在該內(nèi)容提供系統(tǒng)ex100中,用戶與上述實施例一樣編碼處理由攝像機ex113、攝像機ex116等拍攝的內(nèi)容(例如拍攝音樂現(xiàn)場的照片等),并發(fā)送到流服務器ex103,另一方面,流服務器ex103向有要求的客戶機流配送上述內(nèi)容數(shù)據(jù)。作為客戶機,有可解碼上述編碼處理后數(shù)據(jù)的計算機ex111、PDAex112、攝像機ex113、手機ex114等。從而,內(nèi)容提供系統(tǒng)ex100可由客戶機接收并再現(xiàn)編碼后的數(shù)據(jù),并通過由客戶機實時接收并解碼、再現(xiàn),還可實現(xiàn)個人廣播。
在構(gòu)成該系統(tǒng)的各設備的編碼、解碼中,也可使用上述各實施例中所示動態(tài)圖像編碼裝置或動態(tài)圖像解碼裝置。
作為一例,說明手機。
圖19是表示使用上述實施例中說明的動態(tài)圖像編碼方法和動態(tài)圖像解碼方法的手機ex115的圖。手機ex115具有天線ex201,與基站ex110之間收發(fā)信電波;CCD攝像機等攝像部ex203,可拍攝照片、靜止圖像;液晶顯示器等顯示部ex202,顯示解碼攝像部ex203拍攝的照片、天線ex201接收的照片等的數(shù)據(jù);主體部,由操作鍵ex204群構(gòu)成;揚聲器等聲音輸出部ex208,進行聲音輸出;麥克風等聲音輸入部ex205,進行聲音輸入;記錄媒體ex207,保存拍攝的動態(tài)圖像或靜止圖像的數(shù)據(jù)、接收到的郵件數(shù)據(jù)、動態(tài)圖像數(shù)據(jù)或靜止圖像數(shù)據(jù)等編碼數(shù)據(jù)或解碼數(shù)據(jù);開槽部ex206,可將記錄媒體ex207安裝在手機ex115上。記錄媒體ex207在SD卡等塑料外殼內(nèi)存儲作為可電改寫或擦除的非易失性存儲的EEPROM(ElectricallyErasable and Programmable Read Only Memory電可擦除只讀存儲器)之一的閃存元件。
用圖20來說明手機ex115。手機ex115經(jīng)同步總線ex313,對主控制部ex311彼此連接電源電路部ex310、操作輸入控制部ex304、圖像編碼部ex312、攝像機接口部ex303、LCD(Liquid Crystal Display液晶顯示器)控制部ex302、圖像解碼部ex309、復用分離部ex308、記錄再現(xiàn)部ex307、調(diào)制解調(diào)電路部ex306和聲音處理部ex305,主控制部ex311統(tǒng)一控制具備顯示部ex202及操作鍵ex204的主體部的各部。
電源電路部ex310若通過用戶操作將結(jié)束通話及電源鍵變?yōu)榻油顟B(tài),則從電池組向各部供電,由此,將帶攝像機的數(shù)字手機ex115啟動到可操作狀態(tài)。
手機ex115根據(jù)由CPU、ROM及RAM等構(gòu)成的主控制部ex311的控制,通過聲音處理部ex305將聲音通話模式時由聲音輸入部ex205收集的聲音信號變換為數(shù)字聲音信號,并由調(diào)制解調(diào)電路部ex306對該信號進行擴頻處理,在由收發(fā)信電路部ex301實施數(shù)模變換處理及頻率變換處理后,經(jīng)天線ex201進行發(fā)送。另外,手機機ex115放大聲音通話模式時由天線ex201接收到的接收數(shù)據(jù),實施頻率變換處理及逆擴頻處理,在由聲音處理部ex305變換為模擬聲音數(shù)據(jù)后,經(jīng)聲音輸出部ex208輸出。
在數(shù)據(jù)通信模式時發(fā)送電子郵件的情況下,經(jīng)操作輸入控制部ex304,將由主體部的操作鍵ex204的操作輸入的電子郵件的文本數(shù)據(jù)發(fā)送到主控制部ex311。主控制部ex311通過調(diào)制解調(diào)電路ex306對文本數(shù)據(jù)進行擴頻處理,并由收發(fā)信電路部ex301實施數(shù)模變換處理及頻率變換處理后,經(jīng)天線ex201發(fā)送到基站ex110。
在數(shù)據(jù)通信模式時發(fā)送圖像數(shù)據(jù)的情況下,經(jīng)攝像機接口部ex303,將由攝像部ex203拍攝的圖像數(shù)據(jù)提供給圖像編碼部ex312。另外,在不發(fā)送圖像數(shù)據(jù)的情況下,也可經(jīng)攝像機接口部ex303及LCD控制部ex302,在顯示部ex202中直接顯示由攝像部ex203拍攝的圖像數(shù)據(jù)。
圖像編碼部ex312具有本發(fā)明中說明的動態(tài)圖像編碼裝置,通過由上述實施例所示動態(tài)圖像編碼裝置中所用編碼方法壓縮編碼從攝像部ex203提供的圖像數(shù)據(jù),變換為編碼圖像數(shù)據(jù),并發(fā)送到復用分離部ex308。與此同時,手機機ex115將在攝像部ex203拍攝中由聲音輸入部ex205收集的聲音作為數(shù)字聲音數(shù)據(jù),經(jīng)聲音處理部ex305發(fā)送到復用分離部ex308。
復用分離部ex308以規(guī)定方式復用從圖像編碼部ex312提供的編碼圖像數(shù)據(jù)和從聲音處理部ex305提供的聲音數(shù)據(jù),并由調(diào)制解調(diào)電路ex306擴頻處理結(jié)果得到的復用數(shù)據(jù),在由收發(fā)信電路部ex301實施數(shù)模變換處理及頻率變換處理后,經(jīng)天線ex201發(fā)送。
在數(shù)據(jù)通信模式時接收鏈接到主頁等上的動態(tài)圖像文件數(shù)據(jù)的情況下,調(diào)制解調(diào)電路ex306逆擴頻處理經(jīng)天線ex201從基站ex110接收到的接收數(shù)據(jù),并將結(jié)果得到的復用數(shù)據(jù)發(fā)送到復用分離部ex308。
在解碼經(jīng)天線ex201接收到的復用數(shù)據(jù)中,復用分離部ex308通過分離復用數(shù)據(jù),分成圖像數(shù)據(jù)的位充和聲音數(shù)據(jù)的位流,經(jīng)同步總線ex313將該編碼圖像數(shù)據(jù)提供給圖像解碼部ex309,同時,將該聲音數(shù)據(jù)提供給聲音處理部ex305。
圖像解碼部ex309具有本發(fā)明中說明的動態(tài)圖像解碼裝置,通過以對應于上述實施例中所示編碼方法的解碼方法來解碼圖像數(shù)據(jù)的位流,生成再現(xiàn)動態(tài)圖像數(shù)據(jù),并經(jīng)LCD控制部ex302提供給顯示部ex202,從而,顯示鏈接于例如主頁上的動態(tài)圖像文件中包含的動態(tài)圖像數(shù)據(jù)。與此同時,聲音處理部ex305將聲音數(shù)據(jù)變換為模擬聲音數(shù)據(jù)后,將之提供給聲音輸出部ex208,由此再現(xiàn)鏈接于例如主頁上的動態(tài)圖像文件中包含的聲音數(shù)據(jù)。
不限于上述系統(tǒng)的實例,最近,基于衛(wèi)星、地面波的數(shù)字廣播成為話題,如圖21所示,數(shù)據(jù)廣播用系統(tǒng)中也可裝載上述實施例的至少動態(tài)圖像編碼裝置或動態(tài)圖像解碼裝置之一。具體而言,廣播站ex409經(jīng)電波將照片信息的位流傳送到通信或廣播衛(wèi)星ex410。接收到位流的廣播衛(wèi)星ex410發(fā)出廣播用電波,具有衛(wèi)星廣播接收設備的家用的天線ex406接收該電波,通過電視(接收機)ex401或機頂盒(STB)ex407等裝置解碼位流,進行再現(xiàn)。另外,讀取、解碼作為記錄媒體的CD或DVD等存儲媒體ex402中記錄的位流的再現(xiàn)裝置ex403中也可安裝上述實施例中所示的動態(tài)圖像解碼裝置。此時,再現(xiàn)的照片信號顯示于監(jiān)視器ex404中。另外,也可在連接于有線電視用電纜ex405或衛(wèi)星/地面波廣播的天線ex406上的機頂盒ex407內(nèi)安裝動態(tài)圖像解碼裝置,并由電視的監(jiān)視器ex408來進行再現(xiàn)。此時,也可不在機頂盒、而在電視機內(nèi)裝載動態(tài)圖像解碼裝置。另外,具有天線ex411的汽車ex412也可從衛(wèi)星ex410或從基站ex107等接收信號,并在汽車ex412具有的汽車導航裝置ex413等顯示裝置中再現(xiàn)動態(tài)圖像。
另外,也可由上述實施例所示動態(tài)圖像編碼裝置編碼圖像信號,并記錄在記錄媒體中。作為具體例,有在DVD盤ex412中記錄圖像信號的DVD記錄器,或在硬盤中記錄的盤記錄器等記錄器ex420。另外,也可記錄在SD卡ex422中。若記錄器ex420具備上述實施例所示動態(tài)圖像解碼裝置,則可再現(xiàn)DVD盤ex421或SD卡ex422中記錄的圖像信號,并由監(jiān)視器ex408進行顯示。
汽車導航裝置ex413的結(jié)構(gòu)在例如圖20所示結(jié)構(gòu)中,考慮去除攝像部ex203與攝像機接口部ex303、圖像編碼部ex312后的結(jié)構(gòu),計算機ex111或電視機(接收機)ex401也可同樣考慮。
上述手機ex114等的終端除具有編碼器、解碼器兩者的收發(fā)信型終端外,還考慮僅具有編碼器的發(fā)送終端、僅具有解碼器的接收終端等3種安裝形式。
這樣,可將上述實施例中所示動態(tài)圖像編碼方法或動態(tài)圖像解碼方法用于上述任一設備、系統(tǒng)中,由此,可得到上述實施例中說明的效果。
另外,本發(fā)明不限于上述實施例,在不脫離本發(fā)明的范圍內(nèi),可進行各種變形和更正。
如上所述,根據(jù)本發(fā)明的動態(tài)圖像編碼方法,在編碼B圖片時,可將顯示時間順序中較近的圖片用作參照圖片,由此,可提高動作補償時的預測效率,故提高編碼效率。
另外,在直接模式下,通過對第2參照圖片的第1運動矢量進行換算,可不必發(fā)送運動矢量信息,且提高預測效率。
另外,在直接模式下,通過對第2參照圖片在直接模式下實質(zhì)上使用的第1運動矢量進行換算,可不必發(fā)送運動矢量信息,并且即使在直接模式下編碼第2參照圖片內(nèi)同一位置的塊時,也可提高預測效率。
另外,在直接模式下,通過對編碼第2參照圖片內(nèi)同一位置的塊時使用的第2運動矢量進行換算,可不必發(fā)送運動矢量信息,并且即使在第2參照圖片內(nèi)同一位置的塊僅具有第2運動矢量的情況下,也可提高預測效率。
另外,通過將直接模式下的運動矢量強制設置為0,在選擇直接模式的情況下,可不必發(fā)送運動矢量信息,并可不必運動矢量的換算處理,削減處理量。
另外,在直接模式下,通過對在后P圖片的運動矢量進行換算,在第2參照圖片是B圖片的情況下,不必存儲該B圖片的運動矢量。另外,不必發(fā)送運動矢量的信息,并可提高預測效率。
另外,在直接模式下,若第2參照圖片具有第1運動矢量,則對第1運動矢量進行換算,另外,若第2參照圖片不具有第1運動矢量而僅具有第2運動矢量,則對該第2運動矢量進行換算,所以不必向碼列附加運動矢量信息,可提高預測效率。
另外,根據(jù)本發(fā)明的動態(tài)圖像解碼方法,在解碼碼列時,可正確進行解碼處理,該碼列通過使用顯示時間順序中位于附近的圖片、作為使用雙向預測來進行圖片間預測編碼處理時用作第1參照和第2參照的圖片來編碼而生成。
產(chǎn)業(yè)上的可使用性如上所述,本發(fā)明的動態(tài)圖像編碼方法和動態(tài)圖像解碼方法用作在例如手機、DVD裝置和個人計算機等中、編碼對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)來生成碼列、同時解碼生成的碼列用的方法。
權(quán)利要求
1.一種動態(tài)圖像編碼方法,將對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù)編碼,而生成碼列,其特征在于包含編碼步驟,將成為編碼對象的對象圖片作為I圖片、P圖片、B圖片之一進行編碼,I圖片僅具有進行圖片內(nèi)編碼的塊,P圖片具有基于單向參照的圖片間預測編碼的塊,單向參照是將已編碼完的圖片用作第1參照圖片的,B圖片具有基于雙向參照的圖片間預測編碼的塊,該雙向參照是將已編碼完的圖片用作第1參照圖片和第2參照圖片的,所述編碼步驟包含控制步驟,將夾在所述I圖片或P圖片間的多個連續(xù)的所述B圖片的編碼順序確定為與顯示時間順序不同的順序。
2.根據(jù)權(quán)利要求1所述的動態(tài)圖像編碼方法,其特征在于所述編碼步驟還包含選擇步驟,在編碼所述B圖片時,選擇至少包含分別在顯示時間順序中最近的圖片,作為所述第1參照圖片和第2參照圖片。
3.根據(jù)權(quán)利要求1所述的動態(tài)圖像編碼方法,其特征在于在所述控制步驟中,確定所述B圖片的編碼順序,是從距已編碼完的圖片的以顯示時間順序的時間距離最遠的圖片開始,優(yōu)先進行編碼。
4.根據(jù)權(quán)利要求1所述的動態(tài)圖像編碼方法,其特征在于在所述控制步驟中,確定所述B圖片的編碼順序,是從距已編碼完的圖片的以顯示時間順序的時間距離最近的圖片開始,優(yōu)先進行編碼。
5.根據(jù)權(quán)利要求3或4所述的動態(tài)圖像編碼方法,其特征在于所述時間距離是表示各圖片的顯示順序的信息的差。
6.一種動態(tài)圖像編碼方法,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于包含編碼步驟,至少將成為編碼對象的對象圖片作為B圖片,進行編碼,所述B圖片具有基于雙向參照進行圖片間預測編碼的塊,該雙向參照是將已編碼完的圖片用作第1參照圖片和第2參照圖片的,在所述編碼步驟中,當將編碼對象的B圖片的編碼對象塊、根據(jù)已編碼完的塊所具有的運動矢量、作為由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J竭M行編碼時,通過對根據(jù)將與所述編碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊進行編碼時所用的該塊參照的第1參照圖片的第1運動矢量、用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述編碼對象塊時的運動矢量。
7.一種動態(tài)圖像編碼方法,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于包含編碼步驟,至少將成為編碼對象的對象圖片作為B圖片,進行編碼,所述B圖片具有基于雙向參照進行圖片間預測編碼的塊,該雙向參照是將已編碼完的圖片用作第1參照圖片和第2參照圖片的,在所述編碼步驟中,當將編碼對象的B圖片的編碼對象塊、根據(jù)已編碼完的塊所具有的運動矢量、作為由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J竭M行編碼時,通過對根據(jù)將與所述編碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊進行編碼時所用的該塊參照的第2參照圖片的第2運動矢量、用表示圖片顯示順序的信息差進行換算,得到動作補償所述編碼對象塊時的運動矢量。
8.一種動態(tài)圖像編碼方法,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于包含編碼步驟,至少將成為編碼對象的對象圖片作為B圖片,進行編碼,所述B圖片是具有基于雙向參照進行圖片間預測編碼的塊,該雙向參照是將已編碼完的圖片用作第1參照圖片和第2參照圖片的,在所述編碼步驟中,當將編碼對象的B圖片的編碼對象塊、根據(jù)已編碼完的塊所具有的運動矢量、作為由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J竭M行編碼時,當在直接模式下編碼與所述編碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時,通過對根據(jù)將所述第2參照圖片內(nèi)的塊進行編碼時實質(zhì)上使用的該塊參照的第1參照圖片的第1運動矢量、用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述編碼對象塊時的運動矢量。
9.一種動態(tài)圖像編碼方法,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于包含編碼步驟,至少將成為編碼對象的對象圖片作為P圖片或B圖片進行編碼,該所述P圖片具有進行基于單向參照的圖片間預測編碼的塊,所述單向參照是將已編碼完的圖片用作第1參照圖片,所述B圖片是具有進行基于雙向參照的圖片間預測編碼的塊,所述雙向參照是將已編碼完的圖片用作第1參照圖片和第2參照圖片的,在所述編碼步驟中,當將編碼對象的B圖片的編碼對象塊、根據(jù)已編碼完的塊所具有的運動矢量、作為由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J竭M行編碼時,對依據(jù)編碼與所述編碼對象塊處于同一位置上的在后的P圖片內(nèi)的塊時所用的該塊參照的第1參照圖片的第1運動矢量、用表示圖片顯示順序的信息差進行換算,由此也可得到動作補償所述編碼對象塊時的運動矢量。
10.一種動態(tài)圖像編碼方法,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于包含編碼步驟,至少將成為編碼對象的對象圖片作為B圖片,進行編碼,所述B圖片具有基于雙向參照進行圖片間預測編碼的塊,該雙向參照是將已編碼完的圖片用作第1參照圖片和第2參照圖片的,在所述編碼步驟中,當將編碼對象的B圖片的編碼對象塊、根據(jù)已編碼完的塊所具有的運動矢量、作為由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J竭M行編碼時,使用通過用表示圖片顯示順序的信息差而進行換算得到的運動矢量,對從由已編碼完的塊得到的運動矢量中選擇的運動矢量進行動作補償,并向所述碼列中附加表示所述選擇的運動矢量的信息。
11.一種動態(tài)圖像編碼方法,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于包含編碼步驟,至少將成為編碼對象的對象圖片作為B圖片,進行編碼,所述B圖片是具有基于雙向參照進行圖片間預測編碼的塊,所述雙向參照是將已編碼完的圖片用作第1參照圖片和第2參照圖片的,在所述編碼步驟中,當將編碼對象的B圖片的編碼對象塊、根據(jù)已編碼完的塊所具有的運動矢量、作為由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J竭M行編碼時,至少使用根據(jù)第1參照圖片的第1運動矢量來編碼與所述編碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時,用表示圖片顯示順序的信息差對所述第1運動矢量進行換算,而在僅用根據(jù)第2參照圖片的第2運動矢量來編碼處于所述同一位置上的所述第2參照圖片內(nèi)的塊時,用表示圖片顯示順序的信息差對所述第2運動矢量進行換算,由此得到動作補償所述編碼對象塊時的運動矢量。
12.根據(jù)權(quán)利要求6-11之一所述的動態(tài)圖像編碼方法,其特征在于在所述編碼步驟中,在所述編碼對象塊通過所述雙向參照的圖片間預測編碼或通過所述直接模式進行編碼的情況下,僅存儲根據(jù)所述第1參照圖片的第1運動矢量。
13.根據(jù)權(quán)利要求1-12之一所述的動態(tài)圖像編碼方法,其特征在于由特定參照圖片用的第1相對指針來特定所述第1參照圖片,由特定參照圖片用的第2相對指針來特定所述第2參照圖片。
14.一種動態(tài)圖像解碼方法,將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼而生成的碼列解碼,其特征在于包含解碼步驟,將已解碼完的圖片作為參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,在所述解碼步驟中,當進行基于將已解碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測解碼時,作為所述第1參照圖片和第2參照圖片,解碼至少包含各自在顯示時間順序中最近的圖片的碼列
15.一種動態(tài)圖像解碼方法,將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼而生成的碼列解碼,其特征在于包含解碼步驟,將已解碼完的圖片用作參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,在所述解碼步驟中,解碼對象圖片是具有進行基于雙向參照的圖片間預測解碼塊的圖片,該雙向參照是將已解碼完的圖片用作第1參照圖片和第2參照圖片,并且,在作為通過已解碼完的塊所具有的運動矢量的所述解碼對象塊的運動矢量對解碼對象塊進行動作補償?shù)闹苯幽J蕉M行解碼時,相對解碼與所述解碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時所用的該塊參照的第1參照圖片的第1運動矢量、用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述解碼對象塊時的運動矢量。
16.一種動態(tài)圖像解碼方法,將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼而生成的碼列解碼,其特征在于包含解碼步驟,將已解碼完的圖片用作參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,在所述解碼步驟中,解碼對象圖片是具有進行基于雙向參照的圖片間預測解碼塊的圖片,該雙向參照是將已解碼完的圖片用作第1參照圖片和第2參照圖片,并且,在根據(jù)已解碼完的塊所具有的運動矢量,作為由所述解碼對象塊的運動矢量進行動作補償?shù)闹苯幽J蕉鴮獯a對象塊進行解碼時,對解碼與所述解碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時所用的該塊參照的第2參照圖片的第2運動矢量、用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述解碼對象塊時的運動矢量。
17.一種動態(tài)圖像解碼方法,將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼而生成的碼列解碼,其特征在于包含解碼步驟,將已解碼完的圖片用作參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,在所述解碼步驟中,解碼對象圖片是具有進行基于雙向參照的圖片間預測解碼塊的圖片,該雙向參照是將已解碼完的圖片用作第1參照圖片和第2參照圖片,并且,在根據(jù)已解碼完的塊所具有的運動矢量、而作為由所述解碼對象塊的運動矢量進行動作補償?shù)闹苯幽J蕉鴮獯a對象塊進行解碼時,當在直接模式下解碼與所述解碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時,對在解碼所述第2參照圖片內(nèi)的塊時實質(zhì)上使用的該塊參照的第1參照圖片的第1運動矢量用表示參照圖片顯示順序的信息差進行換算,由此得到動作補償所述解碼對象塊時的運動矢量。
18.一種動態(tài)圖像解碼方法,將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼而生成的碼列解碼,其特征在于包含解碼步驟,將已解碼完的圖片用作參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,在所述解碼步驟中,解碼對象圖片是具有進行基于雙向參照的圖片間預測解碼塊的圖片,該雙向參照是將已解碼完的圖片用作第1參照圖片和第2參照圖片,并且,在根據(jù)已解碼完的塊所具有的運動矢量、作為由所述解碼對象塊的運動矢量進行動作補償?shù)闹苯幽J蕉鴮獯a對象塊進行解碼時,對根據(jù)解碼與所述解碼對象塊處于同一位置上的塊時所用的該塊參照的第1參照圖片的第1運動矢量用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述解碼對象塊時的運動矢量,其中,該塊是在顯示時間順序上位于后面的、在將已解碼完的圖片用作第1參照圖片的單向參照進行圖片間預測解碼的圖片內(nèi)的。
19.一種動態(tài)圖像解碼方法,將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼而生成的碼列解碼,其特征在于包含解碼步驟,將已解碼完的圖片用作參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,在所述解碼步驟中,解碼對象圖片是具有進行基于雙向參照的圖片間預測解碼塊的圖片,該雙向參照是將已解碼完的圖片用作第1參照圖片和第2參照圖片,并且,在根據(jù)已解碼完的塊所具有的運動矢量、作為由所述解碼對象塊的運動矢量進行動作補償?shù)闹苯幽J蕉鴮獯a對象塊進行解碼時,從所述碼列中取得表示從由已解碼完的塊所得到的運動矢量中是否選擇任一運動矢量的信息,并通過使用表示圖片顯示順序的信息差,對根據(jù)所述信息得到的運動矢量進行換算,由此得到動作補償所述解碼對象塊時的運動矢量。
20.一種動態(tài)圖像解碼方法,將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼而生成的碼列解碼,其特征在于包含解碼步驟,將已解碼完的圖片用作參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,在所述解碼步驟中,解碼對象圖片是具有進行基于雙向參照的圖片間預測解碼塊的圖片,該雙向參照中將已解碼完的圖片用作第1參照圖片和第2參照圖片,并且,在根據(jù)已解碼完的塊所具有的運動矢量、作為由所述解碼對象塊的運動矢量進行動作補償?shù)闹苯幽J蕉鴮獯a對象塊進行解碼時,至少使用根據(jù)第1參照圖片的第1運動矢量來解碼與所述解碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時,用表示圖片顯示順序的信息差對所述第1運動矢量進行換算,而在僅用根據(jù)第2參照圖片的第2運動矢量來解碼處于所述同一位置上的所述第2參照圖片內(nèi)的塊時,用表示圖片顯示順序的信息差對所述第2運動矢量進行換算,由此得到動作補償所述解碼對象塊時的運動矢量。
21.根據(jù)權(quán)利要求15-20之一所述的動態(tài)圖像解碼方法,其特征在于在所述解碼步驟中,在對所述解碼對象塊進行所述雙向參照的圖片間預測解碼或通過所述直接模式進行解碼的情況下,僅存儲根據(jù)所述第1參照圖片的第1運動矢量。
22.根據(jù)權(quán)利要求14-21之一所述的動態(tài)圖像解碼方法,其特征在于由特定參照圖片用的第1相對指針來特定所述第1參照圖片,由特定參照圖片用的第2相對指針來特定所述第2參照圖片。
23.一種動態(tài)圖像編碼裝置,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于具備編碼部件,將成為編碼對象的對象圖片作為I圖片、P圖片、B圖片之一進行編碼,所述I圖片僅具有進行圖片內(nèi)編碼的塊,所述P圖片具有進行將已編碼完的圖片用作第1參照圖片的單向參照的圖片間預測編碼的塊,所述B圖片具有進行將已編碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測編碼的塊,所述編碼部件具備控制部,將夾在所述I圖片或P圖片間的多個連續(xù)的所述B圖片的編碼順序確定為與顯示時間順序不同的順序。
24.一種動態(tài)圖像編碼裝置,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于具備編碼部件,至少將成為編碼對象的對象圖片作為B圖片,進行編碼,該B圖片具有進行將已編碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測編碼的塊,所述編碼部件,當對編碼對象的B圖片的編碼對象塊、根據(jù)已編碼完的塊所具有的運動矢量、作為由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J蕉M行編碼時,通過對根據(jù)與所述編碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的編碼塊時所用的該塊參照的第1參照圖片的第1運動矢量、用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述編碼對象塊時的運動矢量。
25.一種動態(tài)圖像編碼裝置,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于具備編碼部件,至少將成為編碼對象的對象圖片作為B圖片,進行編碼,B圖片具有進行將已編碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測編碼的塊,所述編碼部件,當將編碼對象的B圖片的編碼對象塊,根據(jù)已編碼完的塊所具有的運動矢量、作為由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J蕉M行編碼時,通過對根據(jù)將與所述編碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊編碼時所用的該塊參照的第2參照圖片的第2運動矢量、用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述編碼對象塊時的運動矢量。
26.一種動態(tài)圖像編碼裝置,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于具備編碼部件,至少將成為編碼對象的對象圖片作為B圖片,進行編碼,B圖片具有進行將已編碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測編碼的塊,所述編碼部件,當將編碼對象的B圖片的編碼對象塊,根據(jù)已編碼完的塊所具有的運動矢量、作為由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J蕉M行編碼時,當在直接模式下編碼與所述編碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時,對根據(jù)在編碼所述第2參照圖片內(nèi)的塊時實質(zhì)上使用的該塊參照的第1參照圖片的第1運動矢量、用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述編碼對象塊時的運動矢量。
27.一種動態(tài)圖像編碼裝置,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于具備編碼部件,至少將成為編碼對象的對象圖片作為P圖片或B圖片進行編碼,該P圖片具有進行將已編碼完的圖片用作第1參照圖片的單向參照的圖片間預測編碼的塊,該B圖片具有進行將已編碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測編碼的塊,所述編碼部件,當將編碼對象的B圖片的編碼對象塊,根據(jù)已編碼完的塊所具有的運動矢量、作為由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J蕉M行編碼時,對根據(jù)將與所述編碼對象塊處于同一位置的在后P圖片內(nèi)的塊編碼時所用的該塊參照的第1參照圖片的第1運動矢量、用表示圖片顯示順序的信息差進行換算,由此也可得到動作補償所述編碼對象塊時的運動矢量。
28.一種動態(tài)圖像編碼裝置,編碼對應于構(gòu)成動態(tài)圖像各圖片的圖像數(shù)據(jù),生成碼列,其特征在于具備編碼部件,至少將成為編碼對象的對象圖片作為B圖片,進行編碼,該B圖片具有進行將已編碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測編碼的塊,所述編碼部件,當將編碼對象的B圖片的編碼對象塊,根據(jù)已編碼完的塊所具有的運動矢量、作為由所述編碼對象塊的運動矢量進行動作補償?shù)闹苯幽J竭M行編碼時,使用通過用表示圖片顯示順序的信息差而進行換算得到的運動矢量,對從由已編碼完的圖片得到的運動矢量中選擇的運動矢量進行動作補償,并向所述碼列中附加表示所述所選擇的運動矢量的信息。
29.一種動態(tài)圖像解碼裝置,將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼生成的碼列解碼,其特征在于具備解碼部件,將已解碼完的圖片用作參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,所述解碼部件,當進行將已解碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測解碼時,作為所述第1參照圖片和第2參照圖片,解碼至少包含各自在顯示時間順序中最近的圖片的碼列,。
30.一種動態(tài)圖像解碼裝置,將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼而生成的碼列解碼,其特征在于具備解碼部件,將已解碼完的圖片用作參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,所述解碼部件,在解碼對象圖片是具有進行將已解碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測解碼塊的圖片,并且,在根據(jù)已解碼完的塊所具有的運動矢量、作為由所述解碼對象塊的運動矢量進行動作補償?shù)闹苯幽J綄獯a對象塊進行解碼時,對基于將與所述解碼對象塊處于同一位置的所述第2參照圖片內(nèi)的塊解碼時所用的該塊參照的第1參照圖片的第1運動矢量、用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述解碼對象塊時的運動矢量。
31.一種動態(tài)圖像解碼裝置,將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼后生成的碼列解碼,其特征在于具備解碼部件,將已解碼完的圖片用作參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,所述解碼部件,在解碼對象圖片是具有進行將已解碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測解碼塊的圖片,并且,在根據(jù)已解碼完的塊所具有的運動矢量、作為由所述解碼對象塊的運動矢量進行動作補償?shù)闹苯幽J綄獯a對象塊進行解碼時,對根據(jù)解碼與所述解碼對象塊處于同一位置的所述第2參照圖片內(nèi)的塊時所用的該塊參照的第2參照圖片的第2運動矢量、用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述解碼對象塊時的運動矢量。
32.一種動態(tài)圖像解碼方法,解碼將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼后生成的碼列,其特征在于具備解碼部件,將已解碼完的圖片用作參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,所述解碼部件在解碼對象圖片是具有進行將已解碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測解碼塊的圖片,并且,在根據(jù)已解碼完的塊所具有的運動矢量、作為由所述解碼對象塊的運動矢量進行動作補償?shù)闹苯幽J綄獯a對象塊進行解碼時,當在直接模式下解碼與所述解碼對象塊處于同一位置上的所述第2參照圖片內(nèi)的塊時,根據(jù)解碼所述第2參照圖片內(nèi)的塊時實質(zhì)上使用的該塊參照的第1參照圖片的第1運動矢量、用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述解碼對象塊時的運動矢量。
33.一種動態(tài)圖像解碼裝置,解碼將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼后生成的碼列,其特征在于具備解碼部件,將已解碼完的圖片作為參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,所述解碼部件,在解碼對象圖片是具有進行將已解碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測解碼塊的圖片,并且,在根據(jù)已解碼完的塊所具有的運動矢量、作為由所述解碼對象塊的運動矢量進行預測動作補償?shù)闹苯幽J綄獯a對象塊進行解碼時,對根據(jù)解碼與所述解碼對象塊處于同一位置上的塊時所用的該塊參照的第1參照圖片的第1運動矢量、用表示圖片顯示順序的信息差進行換算,由此得到動作補償所述解碼對象塊時的運動矢量,其中,該塊是在顯示時間順序上位于后面,是在進行將已解碼完的圖片用作第1參照圖片的單向參照的圖片間預測解碼的圖片內(nèi)。
34.一種動態(tài)圖像解碼裝置,解碼將對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)編碼后生成的碼列,其特征在于具備解碼部件,將已解碼完的圖片作為參照圖片,對成為解碼對象的對象圖片進行圖片間預測解碼,所述解碼部件在解碼對象圖片是具有進行將已解碼完的圖片用作第1參照圖片和第2參照圖片的雙向參照的圖片間預測解碼塊的圖片,并且,在根據(jù)已解碼完的塊所具有的運動矢量、作為由所述解碼對象塊的運動矢量進行動作補償?shù)闹苯幽J綄獯a對象塊進行解碼時,從所述碼列中取得表示從由已解碼完的塊所得到的運動矢量中選擇任一個運動矢量的信息,并通過使用表示圖片顯示順序的信息差,對根據(jù)所述信息得到的運動矢量進行換算,由此得到動作補償所述解碼對象塊時的運動矢量。
35.一種記錄媒體,存儲編碼對應于構(gòu)成動態(tài)圖像的各圖片的圖像數(shù)據(jù)而生成的碼列,其特征在于所述碼列是通過如權(quán)利要求1-13之一所述的動態(tài)圖像編碼方法編碼的碼列。
全文摘要
本發(fā)明的動態(tài)圖像編碼方法及動態(tài)圖像解碼方法,其具備編碼控制部(110),在以時間顯示順序考慮夾在(I)圖片或(P)圖片之間的多個連續(xù)的(B)圖片的編碼順序時,優(yōu)先確定距已編碼完的圖片最遠的圖片,并按進行編碼的順序替換各圖片;和模式選擇部(109),在由直接模式進行編碼時,當對編碼對象圖片的在后參照圖片中、與編碼對象塊處于相同位置的塊進行編碼時使用前向運動矢量的情況下,對該前向運動矢量進行換算,生成編碼對象塊的運動矢量。
文檔編號G06T9/00GK1640148SQ0380534
公開日2005年7月13日 申請日期2003年2月26日 優(yōu)先權(quán)日2002年3月4日
發(fā)明者近藤敏志, 角野真也, 羽飼誠, 安倍清史 申請人:松下電器產(chǎn)業(yè)株式會社