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