專利名稱:編/解碼方法、編/解碼器及尋找最佳匹配塊的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體領(lǐng)域中的圖像編碼技術(shù),尤其涉及圖像編碼方法、解碼 方法、編碼器、解碼器、編解碼方法、編解碼器,以及在多視圖像間尋找最佳 匹配塊的方法及裝置。發(fā)明背景目前的視頻編碼標(biāo)準(zhǔn)如國際電信聯(lián)盟(ITU, International Telecommunication Union )制定的H.261 、 H.263、 H.263+、 H.264標(biāo)準(zhǔn),以及運動圖像專家組(MPEG, Moving Picture Experts Group )制定的MPEG誦1、 MPEG-2、 MPEG-3、 MPEG-4等,都是建立在混合編碼(Hybrid Coding)框架之上的。所謂混合編碼框架是 一種混合時間空間的視頻圖像編碼方法,編碼時,先進行幀內(nèi)、幀間的預(yù)測, 得到預(yù)測值,以消除時間域的相關(guān)性;然后根據(jù)預(yù)測值與原始圖像實際值的差 值,得到殘差圖像,對殘差圖像采用離散余弦變換法或其它的變換法進行二維 變換,以消除空間域的相關(guān)性;最后對變換后的數(shù)據(jù)進行熵編碼,以消除統(tǒng)計 上的冗余度,將熵編碼后的數(shù)據(jù)與解碼所需的包括運動矢量在內(nèi)的一些邊信息, 一起組成一個壓縮后的碼流,供后續(xù)傳輸和存儲用,達(dá)到壓縮視頻圖像的目的。 相應(yīng)地,在解碼時,按照熵解碼、反變換以及預(yù)測補償?shù)纫幌盗薪獯a過程重建 出圖像?;旌暇幋a框架中包括了幀內(nèi)編碼和幀間編碼兩種不同的編碼方法。進行幀 內(nèi)編碼時,對原始圖像進行二維變換,然后在變換域中對變換系數(shù)進行量化, 最后進行熵編碼;或者在給定幀內(nèi)充分利用相鄰塊的空間相關(guān)性,在對一給定 塊編碼時,首先可以才艮據(jù)周圍的塊對該給定塊進行預(yù)測,然后對預(yù)測值與實際 值的差值進行二維變換、量化及熵編碼。進行幀間編碼時,采用運動估計得到 運動矢量,然后采用基于運動補償?shù)膸g預(yù)測,得到預(yù)測值與原始圖像實際值的差值,即殘差圖像,對殘差圖像進行二維變換,然后在變換域中對變換系數(shù) 進行量化,最后進行熵編碼。可見,上述幀內(nèi)編碼與幀間編碼中,都采用了預(yù)測技術(shù)。預(yù)測技術(shù)充分利 用了幀內(nèi)以及幀間的空間、時間相關(guān)性,在消除相關(guān)性的基礎(chǔ)上減小碼率,并 提高壓縮碼流與原始圖像的數(shù)據(jù)量壓縮比。尤其在混合編碼框架中,幀間預(yù)測是減小圖像時間相關(guān)性的有效方法,特別是在最近的視頻標(biāo)準(zhǔn)H.264的高級視 頻編碼(H.264/AVC, Advanced Video Coding)中,幀間預(yù)測采用了范圍更廣的 塊尺寸劃分,包括從16xl6到4x4,以及多參考圖像幀等技術(shù),因此應(yīng)用廣泛。 如在單個照相機拍攝到的視頻序列中,相鄰圖像之間存在著很大的相關(guān)性,即 冗余度。通過利用已經(jīng)編碼過的圖像與當(dāng)前編碼圖像之間的相關(guān)性,將已經(jīng)編 碼的圖像恢復(fù)成重建圖像,作為參考圖像對當(dāng)前編碼圖像進行預(yù)測,并根據(jù)預(yù) 測值與當(dāng)前編碼圖像實際值之間的差值,得到殘差圖像,并對殘差圖像進行編 碼,從而可消除相鄰圖像之間的相關(guān)性,減少編碼的數(shù)據(jù)量。同樣在多視視頻領(lǐng)域,如多個攝像機對同一個對象進行拍攝時,所拍到的 多個視頻序列的圖像之間也存在著較大的相關(guān)性,尤其當(dāng)攝像機之間位置較接 近時,相關(guān)性更強。因此在對多個視頻序列同時編碼時,可以利用當(dāng)前視頻序 列中或其它視頻序列中已編碼的圖像作為參考圖像對當(dāng)前待編碼圖像進行預(yù) 測,得到殘差圖像,并對殘差圖像進行編碼,從而消除多個視頻序列的圖像之 間的相關(guān)性,有效降低圖像之間的冗余度。上述編碼方法中,對當(dāng)前待編碼圖像只進行了一次預(yù)測,然后便對產(chǎn)生的 殘差圖像進行編碼。而事實上,在多視視頻領(lǐng)域,當(dāng)前待編碼圖像經(jīng)過一次預(yù) 測后產(chǎn)生的殘差圖像與參考圖像所對應(yīng)的殘差圖像之間仍然具有較強的相關(guān) 性,按照現(xiàn)有的編碼方法對多個視頻序列的圖像進行編碼時,無法消除殘差圖 像之間的相關(guān)性,因此也就無法更好的提高編碼效率。發(fā)明內(nèi)容有鑒于此,本發(fā)明實施例中提供一種圖像編碼方法、解碼方法、編碼器、解碼器、編解碼方法及編解碼器,以便消除殘差圖像之間的相關(guān)性,提高編碼 效率。此外,本發(fā)明實施例中還提供兩種圖像編碼方法、 一種解碼方法、兩種編 碼器及一種解碼器,以便消除殘差圖像之間的相關(guān)性,并進一步提高編碼效率。最后,本發(fā)明實施例中又提供兩種在多視圖像間尋找最佳匹配塊的方法及 四種在多視圖像間尋找最佳匹配塊的裝置,以便利用殘差圖像之間的相關(guān)性, 提高最佳匹配塊的搜索效率。本發(fā)明實施例所提供的第一種圖像編碼方法,包括A、 對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像及一次運動矢量;B、 對一次殘差圖像進行二次預(yù)測,得到二次殘差圖像及二次運動矢量,并 將二次殘差圖像、二次運動矢量及一次運動矢量寫入壓縮碼流中。本發(fā)明實施例所提供的第一種圖像解碼方法,包括A、 從壓縮碼流中解碼得到一次運動矢量、二次運動矢量和二次殘差圖像;B、 根據(jù)二次運動矢量,對二次殘差圖像進行運動補償,得到一次殘差圖像, 并根據(jù)一次運動矢量,對一次殘差圖像進行運動補償,得到重建圖像。本發(fā)明實施例所提供的第一種編碼器,包括 一次預(yù)測模塊和編碼模塊, 并且該編碼器還包括二次預(yù)測模塊,其中,一次預(yù)測模塊,用于對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像 和一次運動矢量;二次預(yù)測模塊,用于接收來自所述一次預(yù)測模塊的一次殘差圖像,對所接 收的一次殘差圖像進行二次預(yù)測,得到二次殘差圖像及二次運動矢量;編碼模塊,用于接收來自所述一次預(yù)測模塊的一次運動矢量和來自所述二 次預(yù)測模塊的二次運動矢量和二次殘差圖像,并將所接收的一次運動矢量、二 次運動矢量及二次殘差圖像寫入壓縮碼流中。本發(fā)明實施例所提供的第一種解碼器,包括解碼模塊、 一次重建模塊, 并且該解碼器還包括二次重建模塊,其中,次殘差圖像;
二次重建模塊,用于接收來自所述解碼模塊的二次殘差圖像和二次運動矢 量,根據(jù)所接收的二次運動矢量,對二次殘差圖像進行運動補償,得到一次殘
差圖像;
一次重建模塊,用于接收來自所述二次重建模塊的一次殘差圖像及來自解 碼模塊的一次運動矢量,根據(jù)所接收的一次運動矢量,對一次殘差圖像進行運 動補償,得到重建圖像。
本發(fā)明實施例所提供的編解碼方法,包括
A、 對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像及一次運動矢量, 并對一次殘差圖像進行二次預(yù)測,得到二次殘差圖像及二次運動矢量,將二次 殘差圖像、二次運動矢量及一次運動矢量寫入壓縮碼流;
B、 接收所述壓縮碼流,并從壓縮碼流中解碼得到一次運動矢量、二次運動 矢量和二次殘差圖像;#4居二次運動矢量,對二次殘差圖像進行運動補償,得 到一次殘差圖像,并根據(jù)一次運動矢量,對一次殘差圖像進行運動補償,得到 重建圖像。
本發(fā)明實施例所提供的編解碼器,包括編碼單元和解碼單元,其中,
編碼單元,用于對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像及一 次運動矢量,并對一次殘差圖像進行二次預(yù)測,得到二次殘差圖像及二次運動 矢量,將二次殘差圖像、二次運動矢量及一次運動矢量寫入壓縮碼流;
解碼單元,用于接收所述壓縮碼流,并從壓縮碼流中解碼得到一次運動矢 量、二次運動矢量和二次殘差圖像;才艮據(jù)二次運動矢量,對二次殘差圖像進行 運動補償,得到一次殘差圖像,并4艮據(jù)一次運動矢量,對一次殘差圖像進行運 動補償,得到重建圖像。
本發(fā)明實施例中所提供的第二種圖像編碼方法,包括
A、 對第一幀待編碼圖像進行編碼后的當(dāng)前待編碼圖像進行一次預(yù)測,得到 一次殘差圖像及一次運動矢量;
B、 以宏塊或塊為單位,針對一次殘差圖像中的每一個宏塊或塊,進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量,在二次參考圖像中找 到對應(yīng)塊,將該對應(yīng)塊作為最佳匹配塊,并將所述一次運動矢量作為在二次參 考圖像中的二次運動矢量,用該最佳匹配塊對當(dāng)前宏塊或塊進行預(yù)測,得到二 次殘差塊,將一次運動矢量和二次殘差塊和/或二次運動矢量寫入壓縮碼流中。
本發(fā)明實施例中所提供的第三種圖像編碼方法,包括
A、 對第一幀待編碼圖像進行編碼后的當(dāng)前待編碼圖像進行一次預(yù)測,得到 一次殘差圖像及一次運動矢量;
B、 以宏塊或塊為單位,針對一次殘差圖像中的每一個宏塊或塊,進行視差 估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量,在二次參考圖像中找 到對應(yīng)塊,以該塊作為搜索中心起始點,尋找最佳匹配塊,用該最佳匹配塊對 當(dāng)前宏塊或塊進行預(yù)測,并得到二次殘差塊及對應(yīng)的二次運動矢量,將一次運 動矢量、二次殘差塊和二次運動矢量寫入壓縮碼流中本發(fā)明實施例中提供的第二種圖像解碼方法,包括
A、 從壓縮碼流中解碼得到一次運動矢量、二次運動矢量和二次殘差圖像;
B、 以宏塊或塊為單位,針對二次殘差圖像中的每個宏塊或塊,根據(jù)該宏塊 或塊對應(yīng)的二次運動矢量,或根據(jù)該宏塊或塊對應(yīng)的作為二次運動矢量的一次 運動矢量,對該二次殘差塊進行運動補償,得到一次殘差塊,并根據(jù)該一次殘 差塊對應(yīng)的一次運動矢量,對該一次殘差塊進行運動補償,得到重建圖像塊, 將二次殘差圖像的所有重建圖像塊合成重建圖像。
本發(fā)明實施例中所4是供的第二種編碼器,包括 一次預(yù)測模塊和編碼模塊, 其特征在于,該編碼器還包括二次預(yù)測模塊,其中,
一次預(yù)測模塊,用于對第一幀之后的當(dāng)前待編碼圖像進行一次預(yù)測,得到 一次殘差圖像和一次運動矢量;
二次預(yù)測模塊,用于接收來自一次預(yù)測模塊的一次殘差圖像,對所接收的 一次殘差圖像以宏塊或塊為單位,針對一次殘差圖像中的每一個宏塊或塊,進 行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量,在二次參考圖 像中找到對應(yīng)塊,將該對應(yīng)塊作為最佳匹配塊,并將所述一次運動矢量作為在二次參考圖像中的二次運動矢量,用該最佳匹配塊對當(dāng)前宏塊或塊進行預(yù)測,
得到二次殘差塊;
編碼模塊,用于接收來自所述一次預(yù)測模塊的一次運動矢量和來自所述二 次預(yù)測模塊的二次殘差圖像和/或二次運動矢量,并將所接收的一次運動矢量和 二次殘差圖像和/或二次運動矢量寫入壓縮碼流中。
本發(fā)明實施例中所提供的第三種編碼器,包括 一次預(yù)測模塊和編碼模塊, 其特征在于,該編碼器還包括二次預(yù)測模塊,其中,
一次預(yù)測模塊,用于對第一幀之后的當(dāng)前待編碼圖像進行一次預(yù)測,得到 一次殘差圖像和一次運動矢量;
二次預(yù)測模塊,用于接收來自一次預(yù)測模塊的一次殘差圖像,對所接收的 一次殘差圖像以宏塊或塊為單位,針對一次殘差圖^f象中的每一個宏塊或塊,進 行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量,在二次參考圖 像中找到對應(yīng)塊,以該塊作為搜索中心起始點,尋找最佳匹配塊,用該最佳匹 配塊對當(dāng)前宏塊或塊進行預(yù)測,得到二次殘差塊及對應(yīng)的二次運動矢量;
編碼模塊,用于接收來自所述一次預(yù)測模塊的一次運動矢量和來自所述二 次預(yù)測模塊的二次殘差圖像和二次運動矢量,并將所接收的一次運動矢量、二 次殘差圖像和二次運動矢量寫入壓縮碼流中。
本發(fā)明實施例中所提供的第二種解碼器,包括解碼模塊、 一次重建模塊, 其特征在于,該解碼器還包括二次重建模塊,其中,
解碼模塊,用于從壓縮碼流中解碼得到一次運動矢量、二次運動矢量及二 次殘差圖像;
二次重建模塊,用于接收來自所述解碼模塊的二次殘差圖像和二次運動矢 量或作為二次運動矢量的一次運動矢量,根據(jù)所接收的二次運動矢量或作為二 次運動矢量的一次運動矢量,對二次殘差圖像進行運動補償,得到一次殘差圖 像;
一次重建模塊,用于接收來自所述二次重建模塊的一次殘差圖像及來自所 述解碼模塊的一次運動矢量,根據(jù)所接收的一次運動矢量,對一次殘差圖像進行運動補償,得到重建圖像。
本發(fā)明實施例中提供的第 一種在多視圖像間尋找最佳匹配塊的方法,包括
對當(dāng)前圖像的宏塊或塊進行一次和/或二次視差估計時,根據(jù)已編碼圖像中 對應(yīng)位置塊的一次運動矢量,在當(dāng)前宏塊或塊的參考圖像中找到對應(yīng)塊,將該 對應(yīng)塊作為當(dāng)前宏塊或塊的一次和/或二次最佳匹配塊。
本發(fā)明實施例中提供的第二種在多視圖像間尋找最佳匹配塊的方法,包括 對當(dāng)前圖像的宏塊或塊進行一次和/或二次視差估計時,根據(jù)已編碼圖像中 對應(yīng)位置塊的一次運動矢量,在當(dāng)前宏塊或塊的參考圖像中找到對應(yīng)塊,以該 對應(yīng)塊作為搜索中心起始點,尋找當(dāng)前宏塊或塊的一次和/或二次最佳匹配塊。 本發(fā)明實施例中提供的第一種在多視圖像間尋找最佳匹配塊的裝置,包括 一次預(yù)測才莫塊,用于對當(dāng)前待編碼圖像以宏塊或塊為單位,針對當(dāng)前待編 碼圖像中的每一個宏塊或塊,進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊 的一次運動矢量,在參考圖像中找到對應(yīng)塊,將該對應(yīng)塊作為最佳匹配塊。 本發(fā)明實施例中提供的第二種在多視圖像間尋找最佳匹配塊的裝置,包括 一次預(yù)測模塊,用于對當(dāng)前待編碼圖像以宏塊或塊為單位,針對當(dāng)前待編 碼圖像中的每一個宏塊或塊,進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊 的一次運動矢量,在參考圖像中找到對應(yīng)塊,以該塊作為搜索中心起始點,尋 找最佳匹配塊。
本發(fā)明實施例中提供的第三種在多視圖像間尋找最佳匹配塊的裝置,包括 二次預(yù)測模塊,用于對所接收的一次殘差圖像以宏塊或塊為單位,針對一 次殘差圖像中的每一個宏塊或塊,進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位 置塊的一次運動矢量,在二次參考圖像中找到對應(yīng)塊,將該對應(yīng)塊作為最佳匹 配塊。
本發(fā)明實施例中提供的第四種在多視圖像間尋找最佳匹配塊的裝置,包括 二次預(yù)測模塊,用于對所接收的一次殘差圖像以宏塊或塊為單位,針對一 次殘差圖像中的每一個宏塊或塊,進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位 置塊的一次運動矢量,在二次參考圖像中找到對應(yīng)塊,以該塊作為搜索中心起始點,尋找最佳匹配塊。
從上述方案可以看出,本發(fā)明通過將各個視頻序列中某些已經(jīng)編碼過的圖 像所對應(yīng)的殘差圖像作為參考圖像,對當(dāng)前待編碼圖像經(jīng)過預(yù)測編碼后產(chǎn)生的 殘差圖像進行預(yù)測,再將預(yù)測后獲得的二次殘差圖像進行后續(xù)編碼操作,從而 消除殘差圖像之間的相關(guān)性,進一步降低圖像之間的冗余度,減少碼流的數(shù)據(jù) 量,提高編碼效率。
附圖簡要說明
圖1為多個攝^^幾拍攝的視頻序列的順序示意圖。
圖2為當(dāng)前待編碼圖像與參考圖像之間的關(guān)系示意圖。
圖3為本發(fā)明實施例一中圖像編碼方法的流程圖。
圖4為圖3所示流程中二次預(yù)測時四個圖像之間的關(guān)系示意圖。
圖5為圖3所示流程中圖像重建的流程圖。
圖6為本發(fā)明實施例一中圖像解碼方法的流程圖。
圖7為本發(fā)明實施例一中編碼器與解碼器的關(guān)系示意圖。
圖8為本發(fā)明實施例一中編碼器的結(jié)構(gòu)示意圖。
圖9為本發(fā)明實施例一中解碼器的結(jié)構(gòu)示意圖。
圖IO為本發(fā)明實施例二中圖像編碼方法的流程圖。
圖11為圖IO所示流程中圖像重建的流程圖。
圖12為本發(fā)明實施例二中圖像解碼方法的流程圖。
圖13為本發(fā)明實施例二中編碼器的結(jié)構(gòu)示意圖。
圖14為本發(fā)明實施例二中解碼器的結(jié)構(gòu)示意圖。
圖15為本發(fā)明實施例三中編碼器的結(jié)構(gòu)示意圖。
圖16為本發(fā)明實施例三中解碼器的結(jié)構(gòu)示意圖。
圖17為在圖8所示編碼器和圖9所示解碼器的基礎(chǔ)上組裝成的編解碼器。實施本發(fā)明的方式
本發(fā)明實施例中,利用多個攝像機所拍攝出來的視頻序列之間的較強相關(guān) 性,以及不同視頻序列在預(yù)測編碼后產(chǎn)生的殘差圖像之間仍有很大相關(guān)性的特 點,從各個視頻序列已經(jīng)編碼過的圖像中選擇與當(dāng)前待編碼圖像相關(guān)性強的圖 像,并將所選擇圖像對應(yīng)的殘差圖像作為參考圖像,對當(dāng)前待編碼圖像對應(yīng)的 殘差圖像進行預(yù)測,再將預(yù)測得到的二次殘差圖像進行后續(xù)編碼操作,從而消 除殘差圖像之間的相關(guān)性,進一步P爭低圖像之間的冗余度,減少數(shù)據(jù)量。
為了描述上清晰起見,本發(fā)明實施例中將對原始圖像進行幀間預(yù)測并產(chǎn)生 殘差圖像的過程,即運動估計,稱為一次預(yù)測,所產(chǎn)生的殘差圖像稱為一次殘 差圖像,對應(yīng)的運動矢量稱為一次運動矢量,相應(yīng)的還有一次殘差塊, 一次參
考圖像、 一次運動補償?shù)?;將本發(fā)明中在一次預(yù)測的基礎(chǔ)上,對一次殘差圖像 以已編碼圖像對應(yīng)的一次殘差圖像為參考圖像進行的幀間預(yù)測稱為二次預(yù)測, 所產(chǎn)生的殘差圖像稱為二次殘差圖像,對應(yīng)的運動矢量稱為二次運動矢量,相 應(yīng)的還有二次殘差塊,二次參考圖像、二次運動補償?shù)取?br>
其中,在對一次殘差圖像進行二次預(yù)測時,本發(fā)明實施例采用了兩種實現(xiàn) 方式,即
方式一,對一次殘差圖像直接進行二次預(yù)測,之后對二次預(yù)測產(chǎn)生的二次 殘差圖像進行變換或不進行變換,然后和一次運動矢量及二次運動矢量進行后 續(xù)編碼操作。
方式二,對一次殘差圖像首先進行變換,對經(jīng)過變換后的一次殘差圖像進 行二次預(yù)測,之后對二次預(yù)測產(chǎn)生的二次殘差圖像,連同一次運動矢量及二次 運動矢量進行后續(xù)編碼操作。
即對于二次預(yù)測來說,方式一是先預(yù)測再變換,或只預(yù)測不變換;方式二 是先變換再預(yù)測。
以下實施例均以對多個視頻序列同時編碼的情況為例,對本發(fā)明實施例中 的編碼方法、解碼方法、編碼器、解碼器、編解碼方法及編解碼器進行詳細(xì)描述。
對于不同攝像機拍攝到的多個視頻序列,可以排列成一個二維圖像陣列, 如圖1所示,圖1為多個攝像機拍攝的視頻序列的順序示意圖,圖1中橫坐標(biāo)
表示不同攝像機拍攝的視頻序列,視l表示視頻序列l(wèi),視2表示視頻序列2, 依次類推,圖1中列出了4個視頻序列,縱坐標(biāo)表示隨時間變化各個視頻序列 也在增加。其中,在間隔較短的一段時間內(nèi),尤其同一時刻,不同攝像機拍攝 到的多個圖像之間存在著很強的相關(guān)性。極端情況下,不同攝像機所拍攝到的 視頻序列有可能完全相同。因此參考圖像不僅可以選取當(dāng)前視頻序列中已編碼 的圖像,而且也可以選取其它視頻序列中已編碼的圖像,如圖2所示,圖2為 當(dāng)前待編碼圖像與參考圖像之間的關(guān)系示意圖。對于攝像機A在T1時刻拍4i 的視頻圖像Al和T2時刻拍攝的視頻圖像A2,以及攝像機B在Tl時刻拍攝的 視頻圖像Bl和T2時刻拍攝的視頻圖像B2,假設(shè)已對Al 、 A2以及Bl進行編 碼,在對B2進行編碼時,可以選取同視頻序列中的Bl作為參考圖像,也可以 選取非同視頻序列中的A1或A2作為參考圖像。實際應(yīng)用中,參考圖像也可以 有很多,并且還可以選取同視頻序列中或其它視頻序列中的其它圖像。 實施例一
本實施例中,對方式一中的實現(xiàn)方式進行詳細(xì)描述。即直接對一次預(yù)測產(chǎn) 生的 一次殘差圖像進行二次預(yù)測,并對二次預(yù)測產(chǎn)生的二次殘差圖像進行后續(xù) 編碼處理。圖3為本發(fā)明實施例一中圖像編碼方法的流程圖。 一般情況下,在 對當(dāng)前待編碼圖像的原始圖像進行幀間預(yù)測時,都是以宏塊或塊為單位進行預(yù) 測,并在最后的塊中攜帶有當(dāng)前待編碼圖像結(jié)束的標(biāo)志,然后再開始對下一個 待編碼圖像進行同樣的幀間預(yù)測。因此本實施例中的圖像編碼方法流程以當(dāng)前 待編碼圖像的一個宏塊的編碼過程為例,對本發(fā)明的編碼方法進行詳細(xì)說明。 如圖3所示,該流程包括如下步驟
步驟301,對當(dāng)前待編碼塊進行幀間預(yù)測,即一次預(yù)測,得到一次殘差塊 及一次運動矢量。
本步驟中,進行幀間預(yù)測時,可以采用H.264/AVC標(biāo)準(zhǔn)中所提供的方法,也可以采用其它標(biāo)準(zhǔn)中的方法。
一般情況下,首先給定參考圖像集合,如同視頻序列中的前幾幀,或相鄰 視頻序列中同時刻的幾幀等,根據(jù)具體情況,可按照不同的方式選取參考圖像, 此處的參考圖像,即一次參考圖像,為已編碼圖像的重建圖像,具體圖像重建 過程參見后面圖4所示的流程。之后在參考圖像集合中遍歷尋找當(dāng)前待編碼塊 的最佳匹配塊,用該最佳匹配塊對當(dāng)前待編碼的塊進行預(yù)測,得到一次殘差塊 及運動矢量。其中,若找到最佳匹配塊的參考圖像為其它視頻序列中同一時刻 已編碼圖像的重建圖像,則得到的矢量稱視差矢量,運動矢量和視差矢量都是 指當(dāng)前塊的預(yù)測塊在參考圖像中相對于當(dāng)前塊的位移。為了描述簡潔,通常情 況下,將運動矢量和視差矢量統(tǒng)稱為運動矢量。
現(xiàn)仍以圖2所示的四個圖像為例進行描述,假設(shè)當(dāng)前待編碼圖像為B2,則 在對B2的一個宏塊N編碼時,可以將A1、 A2以及B1的重建圖像作為參考圖 像,在各個參考圖像中進行運動估計,即一次預(yù)測,并最后在Bl中找到了最 佳匹配塊K,得到一次預(yù)測的殘差塊即一次殘差塊為N'-N-K,且對應(yīng)的運 動矢量即一次運動矢量為(Kx,Ky),并將該一次運動矢量進行存儲,供后續(xù)編 碼以及重建圖像時使用,同時執(zhí)行步驟302。對于其它宏塊的一次預(yù)測方法與 此相同。
步驟302,對所得到的一次殘差塊進行幀間預(yù)測,即二次預(yù)測,得到二次 殘差塊及二次運動矢量。
本步驟中,為了消除殘差圖像之間的相關(guān)性,對殘差圖像以已編碼圖像的 殘差圖像作為參考圖像,即二次參考圖像,進行二次預(yù)測。預(yù)測方法與一次預(yù) 測相似。此處的參考圖像為已編碼圖像對應(yīng)殘差圖像的重建圖像,具體圖像重 建過程參見后面圖4所示的流程。
仍以圖2所示的四個圖像為例,假設(shè)A2以Al的重建圖像作為參考圖像,
得到一次殘差圖像A2', B2以Bl的重建圖像作為參考圖像,得到一次殘差圖 像B2'。圖4為二次預(yù)測時四個圖像之間的關(guān)系示意圖。如圖4所示,本步驟中假設(shè)以A2'作為參考圖像對B2'中的一次殘差塊N'進行預(yù)測,并在A2'中找
到最佳匹配塊M,得到二次殘差塊為N"^N' —M,對應(yīng)的運動矢量即二次運 動矢量為(Mx,My),并將該二次運動矢量進行存儲,供后續(xù)編碼以及重建圖像
時使用,同時執(zhí)行步驟303。其中,A2'為已編碼圖像對應(yīng)殘差圖像的重建圖像。 對于其它宏塊的二次預(yù)測方法與此相同。
步驟303,對所得到的二次殘差塊進行變換,并將變換后的變換系數(shù)陣以 及一次預(yù)測得到一次運動矢量和二次預(yù)測得到的二次運動矢量進行熵編碼,并 一起寫入壓縮碼流中;同時利用變換后的系數(shù)陣進行圖像重建,作為其它待編 碼圖像的參考圖像。
本步驟中,對二次殘差塊進行變換時,包括變換及量化,進行熵編碼時, 也可以包括對變換后的系數(shù)陣進行重排序等操作,具體實現(xiàn)方式現(xiàn)有技術(shù)中有 很多種,此處不再詳細(xì)介紹。其中,熵編碼只是采用較多的一種方法,實際應(yīng) 用中,還可以有其它的編碼方法。
至此,該宏塊的編碼過程結(jié)束。實際應(yīng)用中,該宏塊的編碼結(jié)束之后,當(dāng) 前待編碼圖像會判斷自身圖像中是否存在未進行上述編碼的宏塊,如果存在,
則繼續(xù)執(zhí)行上述步驟301至步驟303的過程;否則,該幀圖像編碼結(jié)束。后續(xù) 幀圖像繼續(xù)作為當(dāng)前待編碼圖像執(zhí)行上述過程。其中,利用變換后的變換系數(shù) 陣進行圖像重建的過程參考下面圖5所示流程。
圖5為圖3所示圖像編碼方法中的圖像重建流程示意圖。以當(dāng)前待解碼圖 像的一個宏塊的重建過程為例,該流程包括如下步驟
步驟501,對變換后的變換系數(shù)陣進行反變換,得到二次殘差塊。
本步驟中,對變換后的變換系數(shù)陣進行反變換時,包括反量化及反變換。 此處的反變換對應(yīng)于步驟303中編碼時的變換。
步驟502,根據(jù)步驟302中得到的二次運動矢量,對所得到的二次殘差塊, 在編碼時作為參考圖像的殘差圖像,即二次參考圖像中,進行運動補償,得到 一次殘差塊,并對該一次殘差塊進行存儲。本步驟中,仍以圖2所示的四個圖像為例進行描述,并假設(shè)對當(dāng)前待編碼
圖像B2的宏塊N進行重建,則對于反變換后得到的二次殘差塊N",根據(jù)步驟
302中存儲的N"對應(yīng)的二次運動矢量(Mx,My),從在先重建的參考?xì)埐顖D像
A2'中尋找到對應(yīng)的補償塊M,然后得到一次殘差塊N'^N" + M,對該一次殘
差塊進行存儲,并執(zhí)行步驟503。其它宏塊的本次重建過程與此相同。
當(dāng)B2所有宏塊的二次殘差塊都重建完畢,才艮據(jù)所存儲的B2的所有一次殘
差塊,得到殘差圖像B2'的重建圖像,作為其它待編碼圖像的二次參考圖像。 步驟503,根據(jù)步驟301中得到的一次運動矢量,對所得到的一次殘差塊
在編碼時作為參考圖像的一次參考圖像中進行運動補償,得到重建圖像塊,并
對該重建圖像塊進行存儲。
本步驟中,在對步驟303中B2'的殘差塊N'進行解碼時,根據(jù)步驟301中
存儲的一次運動矢量(Kx,Ky)從在先重建的參考圖像B1中尋找到補償塊K,
得到重建圖像塊N-N' + K,并對該重建圖像塊N進行存儲。其它宏塊的本次 重建過程與此相同。
當(dāng)B2所有宏塊的一次殘差塊都重建完畢,根據(jù)所存儲的B2的所有重建圖 像塊,得到圖像B2的重建圖像,作為其它待編碼圖像的一次參考圖像。
在實際應(yīng)用中,對圖像進行編碼后,有可能存儲在光盤中、硬盤中,或網(wǎng) 絡(luò)中,或直接傳輸給接收端,但無論哪種情況,當(dāng)我們需要使用或觀看這些圖 像時,都需要對其進行解碼,然后才能使用。下面將結(jié)合圖6對本發(fā)明中的圖 像解碼方法進行詳細(xì)描述。
圖6為本發(fā)明實施例一中圖像解碼方法的流程圖。此處,也以當(dāng)前待解碼 圖像的一個宏塊的解碼過程為例,對本發(fā)明的解碼方法進行詳細(xì)說明。如圖6 所示,該流程包括如下步驟
步驟601,對壓縮碼流進行熵解碼,得到一次運動矢量和二次運動矢量, 并對熵解碼后的變換系數(shù)陣進4亍反變換,得到二次殘差塊。本步驟中,解碼方法與編碼方法相對應(yīng),對壓縮碼流進行熵解碼后,首先
得到一次運動矢量和二次運動矢量;之后可以對熵解碼后的圖像數(shù)據(jù)進行重排
序,并對排序后的圖像數(shù)據(jù)進行反變換,其中反變換過程中可以包括反量化、 反變換等,得到本次待解碼圖像的當(dāng)前待解碼塊,即二次殘差塊。
步驟602,根據(jù)得到的二次運動矢量,對所得到的二次殘差塊,在編碼時 作為二次參考圖像的殘差圖像中進行運動補償,得到一次殘差塊,并對該一次 殘差塊進行存儲。
本步驟中,仍以圖2所示的四個圖像為例進行描述,并假設(shè)當(dāng)前待解碼圖 像為B2,則對其中的宏塊N進行解碼時,對于從壓縮碼流解碼后得到的二次
殘差塊N",根據(jù)解碼得到的N'對應(yīng)的二次運動矢量(Mx,My),從在先解碼后 的殘差圖像A2'中,尋找到對應(yīng)的補償塊M,然后得到一次殘差塊N' 二 N" + M , 對該一次殘差塊進行存儲,并執(zhí)行步驟603。其它宏塊的本次解碼過程與此相 同。
當(dāng)B2所有宏塊的二次殘差塊都解碼完畢,4艮據(jù)所存儲的B2的所有一次殘 差塊,得到一次殘差圖像的重建圖像,可作為其它待解碼圖像的二次參考圖像。
其中,A2'為編碼時的二次參考圖像,此時作為解碼時的二次參考圖像, 由在先的已解碼圖像A2在解碼時執(zhí)行步驟602時得到,即A2對應(yīng)殘差圖像解 碼后的重建圖像。
步驟603,根據(jù)得到的一次運動矢量,對所得到的一次殘差塊,在編碼時 作為一次參考圖像的圖像中進行運動補償,得到重建圖像塊,并對該重建圖像 塊進行存儲。
本步驟中,在對步驟602中B2'的殘差塊N'進行解碼時,才艮據(jù)解碼得到的 N'對應(yīng)的一次運動矢量(Kx,Ky)從在先解碼后的參考圖像Bl中,尋找到補 償塊K,得到重建圖像塊N二N'+K,對該重建圖像塊進行存儲。其它宏塊的 本次解碼過程與此相同。至此,當(dāng)前待解碼塊的解碼過程結(jié)束。當(dāng)B2所有宏塊的一次殘差塊都解碼
完畢,根據(jù)所存儲的B2的所有重建圖像塊,得到原始圖像的重建圖像,供后 續(xù)使用。同時得到的重建圖像還可作為其它待解碼圖像的一次參考圖像。
其中,Bl為編碼時的一次參考圖像,此時作為解碼時的一次參考圖像,由 在先的已解碼圖像A2在解碼時執(zhí)行步驟603時得到,即A2解碼后的重建圖像。
上面對本發(fā)明中圖像編碼方法以及解碼方法進行了詳細(xì)描述,下面再對本 發(fā)明中編解碼系統(tǒng)進行一個詳細(xì)描述。圖7為實施例一中基于以上圖像編碼方 法和解碼方法的編解器和解碼器的關(guān)系示意圖。
其中,編碼器用于將原始圖像進行編碼,生成壓縮碼流供后續(xù)傳輸和存儲 用。編碼過程包括對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像和一 次運動矢量,以已編碼圖像對應(yīng)的殘差圖像為參考圖像,對得到的一次殘差圖 像進行二次預(yù)測,得到二次殘差圖像及二次運動矢量,對該二次殘差圖像以及 相應(yīng)的二次運動矢量、 一次運動矢量進行后續(xù)編碼處理。
解碼器用于對圖像的壓縮碼流進行解碼,得到原始圖像的重建圖像供后續(xù) 使用。解碼過程包括根據(jù)從碼流中解出的二次運動矢量,對從碼流中解出的 二次殘差圖像,從編碼時作為二次參考圖像的重建殘差圖像中進行運動補償, 得到一次殘差圖像,根據(jù)從碼流中解出的一次運動矢量,對該一次殘差圖像從 編碼時作為一次參考圖像的重建圖像中進行運動補償,得到原始圖像的重建圖像。
其中,編碼器與解碼器的內(nèi)部結(jié)構(gòu)分別如圖8和圖9所示。 圖8為本發(fā)明實施例一中編碼器的結(jié)構(gòu)示意圖。如圖8所示,該編碼器包 括 一次預(yù)測模塊、二次預(yù)測模塊、變換模塊、編碼模塊、反變換模塊、二次 重建模塊以及一次重建模塊。
并且,編碼流程為當(dāng)前待編碼圖像—一次預(yù)測模塊—二次預(yù)測模塊—變 換模塊—編碼模塊—碼流;重建時流程為反變換模塊—二次重建模塊—一次 重建模塊—當(dāng)前圖像的重建圖像。其中一次預(yù)測模塊產(chǎn)生的一次運動矢量和二 次預(yù)測模塊產(chǎn)生的二次運動矢量直接輸出給編碼模塊,二次重建時,采用的是二次預(yù)測模塊產(chǎn)生的二次運動矢量, 一次重建時,采用的是一次預(yù)測模塊產(chǎn)生 的一次運動矢量。
其中, 一次預(yù)測模塊用于從一次重建模塊中讀取一次參考圖像集合,對當(dāng) 前待編碼圖像以宏塊或塊為單位,對當(dāng)前待編碼塊從參考圖像集合中選取最佳 匹配塊,用所選取的最佳匹配塊對當(dāng)前待編碼塊進行預(yù)測,得到一次殘差塊及 對應(yīng)的一次運動矢量,將一次殘差塊輸出給二次預(yù)測模塊,將一次運動矢量輸 出給編碼模塊,同時對該一次運動矢量進行存儲,供一次重建模塊使用。
二次預(yù)測模塊用于接收來自 一次預(yù)測模塊的一次殘差塊,從二次重建模塊 中讀取二次參考圖像集合,對所接收的一次殘差塊從二次參考圖像集合中選取 最佳匹配塊,用所選取的最佳匹配塊對該一次殘差塊進行預(yù)測,得到二次殘差 塊及二次運動矢量,將二次殘差塊輸出給變換模塊,將二次運動矢量輸出給編 碼模塊,同時對該二次運動矢量進行存儲,供二次重建模塊使用。
變換模塊用于接收來自二次預(yù)測模塊的二次殘差塊,并對所接收的二次殘 差塊進行變換及量化,進一步壓縮圖像碼率,并將變換及量化后的變換系數(shù)陣 輸出給編碼模塊及反變換模塊。
編碼模塊可以包括重排序及熵編碼等編碼過程,用于接收來自變換模塊的
變換系數(shù)陣,連同來自 一次預(yù)測模塊的一次運動矢量和來自二次預(yù)測模塊的二 次運動矢量一起進行熵編碼,寫入碼流中。
上述一次預(yù)測模塊和二次預(yù)測模塊兩個模塊中用到的一次參考圖像和二次 參考圖像分別為已編碼圖像的重建圖像及已編碼圖像對應(yīng)殘差圖像的重建圖 像,而且在對當(dāng)前待編碼圖像進行編碼時,為了為后續(xù)編碼圖像提供參考圖像, 也需要對當(dāng)前待編碼圖像的已編碼圖像進行重建,因此本解碼器中包括前面所 說的反變換模塊、即二次重建模塊和一次重建模塊。
其中,反變換模塊用于接收來自變換模塊的變換、量化后的變換系數(shù)陣, 并對所接收的變換系數(shù)陣進行反量化和反變換,得到當(dāng)前編碼圖像的二次殘差 塊,輸出給二次重建模塊。
二次重建模塊用于接收來自反變換模塊的二次殘差塊,并讀取二次預(yù)測模塊所存儲的二次運動矢量,根據(jù)所讀取的二次運動矢量,在編碼時的二次參考 圖像中進行運動補償,得到一次殘差塊輸出給一次重建模塊,并將該一次殘差 塊進行存儲。
若當(dāng)前編碼圖像所有的二次殘差塊都重建結(jié)束,則4艮據(jù)所存儲的當(dāng)前編碼 圖像的所有一次殘差塊得到當(dāng)前編碼圖像的一次殘差圖像,可作為其它預(yù)測所 需的二次參考圖像。若作為二次參考圖像的集合為前五幀圖像,則下一個待編 碼圖像進行二次預(yù)測所需的五幀圖像可以為前四幀圖像加上本次重建得到的圖 像,最前面的一幀圖像此時可以被刪除。
一次重建模塊用于接收來自二次重建模塊的一次殘差塊,并讀取一次預(yù)測 ;溪塊所存儲的一次運動矢量,根據(jù)所讀取的一次運動矢量,在編碼時的一次參 考圖像中進行運動補償,得到重建圖像塊,并將該重建圖像塊進行存儲。
若當(dāng)前編碼圖像所有的一次殘差塊都重建結(jié)束,則根據(jù)所存儲的當(dāng)前編碼 圖像的所有重建圖像塊得到當(dāng)前編碼圖像的重建圖像,可作為其它預(yù)測所需的 一次參考圖像。若作為一次參考圖像的集合為前五幀圖像,則下一個待編碼圖 像進行一次預(yù)測所需的五幀圖像可以為前四幀圖像加上本次重建得到的圖像, 最前面的 一幀圖像此時可以被刪除。
其中對第一個圖像進行編碼時,參考圖像可以為空,即對第一個圖像進行 編碼時,可不經(jīng)過預(yù)測,而直接進4于后續(xù)編碼處理。
圖9為本發(fā)明實施例一中解碼器的結(jié)構(gòu)示意圖。如圖9所示,該解碼器包
括解碼模塊、反變換模塊、二次重建模塊以及一次重建模塊。
并且,解碼流程為解碼模塊一反變換模塊—二次重建模塊—一次重建模
塊—當(dāng)前圖像的重建圖像。其中二次重建時的二次運動矢量和一次重建時的一
次運動矢量都是前續(xù)解碼模塊解碼之后得到的。
其中,解碼模塊用于對壓縮碼流進行熵解碼、重排序等,得到當(dāng)前待解碼
圖像中當(dāng)前待解碼塊的一次運動矢量、二次運動矢量以及二次殘差塊變換系數(shù)
陣等,并將二次殘差塊變換系數(shù)陣輸出給反變換模塊,將二次運動矢量輸出給
二次重建模塊, 一次運動矢量輸出給一次重建模塊。反變換模塊用于接收來自解碼模塊二次殘差塊變換系數(shù)陣,并對所接收的 二次殘差塊變換系數(shù)陣進行反量化及反變換等,得到二次殘差塊,輸出給二次 重建模塊。
二次重建模塊用于接收來自解碼模塊的二次運動矢量和來自反變換模塊的 二次殘差塊,并根據(jù)所接收的二次運動矢量,對二次殘差塊在編碼時的二次參 考圖像中進行運動補償,得到一次殘差塊,輸出給一次重建;f莫塊,并將該一次 殘差塊進行存儲。
若當(dāng)前待解碼圖像所有的二次殘差塊都重建結(jié)束,則才艮據(jù)所存儲的當(dāng)前待 解碼圖像的所有一次殘差塊得到當(dāng)前待解碼圖像的一次殘差圖像,可作為其它 解碼所需的二次參考圖像。
一次重建模塊用于接收來自解碼模塊的一次運動矢量和來自 一次重建模塊 的一次殘差塊,并根據(jù)所接收的一次運動矢量,對一次殘差塊在編碼時的一次 參考圖像中進行運動補償,得到重建圖像塊,并對該重建圖像塊進行保存。
若當(dāng)前待解碼圖像所有的一次殘差塊都重建結(jié)束,則根據(jù)所存儲的當(dāng)前待 解碼圖像的所有重建圖像塊,得到原始圖像的重建圖像,供后續(xù)使用。同時得 到的重建圖像還可作為其它待解碼圖像的 一次參考圖像。
上面結(jié)合實施例對本發(fā)明編碼方法、解碼方法及編解碼系統(tǒng)的一般情況進
行了描述。實際應(yīng)用中,步驟302中在對一次殘差塊N'進行二次預(yù)測時,為了 在A2'中找到最佳匹配塊m,可以不用直接以A2'作為參考圖像,得到運動矢 量(Mx,My)。
因為若存在Bl以Al為參考圖像進行了一次預(yù)測,并假設(shè)在Bl中與B2 的宏塊N所處位置對應(yīng)的宏塊為Nl,且N1在Al中的最佳匹配塊為Ml,對 應(yīng)的一次4見差矢量為(Mlx,Mly),又有M1在B2中對應(yīng)位置處的宏塊為M,
則二次殘差塊為N'、N'—M,且可以將一次視差矢量(Mlx,Mly)作為N'在
A2'中的二次:規(guī)差矢量(Mx,My )。若一次-觀差矢量(Mlx,Mly)已經(jīng)寫入碼流, 則本次無需再寫入碼流中。假設(shè)B1以Al為參考圖像進行一次預(yù)測時,只是在尋找最佳參考圖像時進行的,則可以將該次預(yù)測中產(chǎn)生的 一 次視差矢量
(Mlx,Mly)保留下來,供二次預(yù)測時,將該一次視差矢量(Mlx,Mly)作為 二次預(yù)測的二次視差矢量寫入碼流中。對于其它宏塊也可以采用該方法處理。
同樣,在步驟502中重建時,或步驟602中解碼時,保留圖像B1在參考圖 像A1中所有的視差矢量,在對當(dāng)前圖像B2待解碼宏塊N進行解碼時,首先
解碼獲得一次運動矢量(Kx,Ky ),并根據(jù)解碼獲得的二次殘差塊N"以及宏塊N 在B1中對應(yīng)位置的宏塊N1所對應(yīng)的視差矢量(Mlx,Mly),將(Mlx,Mly)
作為N的二次運動矢量,在參考圖像A2'中尋找到對應(yīng)的補償塊M,得到一次 殘差塊N'^N"+M,再由一次運動矢量(Kx,Ky)在Bl中尋找到補償塊K, 得到重建圖像塊N二N'+K。對于其它宏塊也可以采用該方法處理。
或者在上述過程中得到(Mlx,Mly )之后,并不將該矢量直接作為N'在A2' 中的視差矢量(Mx,My),而是可以根據(jù)該視差矢量在A2'中找到宏塊M,然后 以M作為搜索的中心起始點,在M的附近搜索最佳匹配塊M',然后再得到M'
對應(yīng)的視差矢量(Mx,My ),則解碼時同實施例一或?qū)嵤├兴龅姆椒ā?br>
當(dāng)然M'也有可能與m相同,此時也可以仍以(Mlx,Mly)作為N在A2'中的 視差矢量。
相應(yīng)的在圖8所示的編碼器中,可以進一步包括一個視差矢量存儲模塊, 用于存儲一次預(yù)測中所產(chǎn)生的視差矢量,當(dāng)進行二次預(yù)測時可以從該視差矢量 存儲模塊中檢索所需的視差矢量,作為二次運動矢量,或者作為最佳匹配塊的 搜索中心點。具體實現(xiàn)過程同上述方法中介紹。
實施例二
本實施例中,對方式二中的實現(xiàn)方式進行詳細(xì)描述,即在進行二次預(yù)測之 前,先對一次殘差圖像進行變換,然后對變換后的一次殘差圖像,在二次參考 圖像對應(yīng)的變換后的二次參考圖像中進行二次預(yù)測,之后對二次預(yù)測后產(chǎn)生的 二次殘差圖像進行后續(xù)編碼處理。
3本實施例中,為了和方式一區(qū)別,將對一次殘差圖像進行變換后產(chǎn)生的一 次殘差圖像稱為一次殘差圖像變換系數(shù)陣,相應(yīng)地,將對一次殘差塊進行變換 后產(chǎn)生的一次殘差塊稱為一次殘差塊變換系數(shù)陣,將對一次殘差圖像變換系數(shù) 陣進行二次預(yù)測產(chǎn)生的二次殘差圖像稱為二次殘差圖像變換系數(shù)陣,相應(yīng)地,
將對一次殘差塊變換系數(shù)陣進行二次預(yù)測產(chǎn)生的二次殘差塊稱為二次殘差塊變 換系數(shù)陣,此外,還有二次參考圖像變換系數(shù)陣等。同樣,在解碼端,將從壓 縮碼流中解碼得到的二次殘差圖像稱為二次殘差圖像變換系數(shù)陣,對二次殘差 圖像進行二次重建后產(chǎn)生的 一次殘差圖像稱為 一次殘差圖像變換系數(shù)陣,相應(yīng) 地,將從壓縮碼流中解碼得到二次殘差圖像中的二次殘差塊稱為二次殘差塊變 換系數(shù)陣,將對二次殘差塊進行二次重建后產(chǎn)生的一次殘差塊稱為一次殘差塊 變換系數(shù)陣。
圖IO為實施例二中圖像編碼方法的流程圖。本實施例中的圖像編碼方法流 程仍以當(dāng)前待編碼圖像的一個宏塊的編碼過程為例,如圖IO所示,該流程包括
如下步驟
步驟IOOI,對當(dāng)前待編碼塊進行一次預(yù)測,得到一次殘差塊及一次運動矢量。
本步驟中的具體實現(xiàn)過程可以同實施例一中圖3所示步驟301。 步驟1002,對得到的一次殘差塊進行變換,得到一次殘差塊變換系數(shù)陣,
對該一次殘差塊變換系數(shù)陣進行二次預(yù)測,得到二次殘差塊變換系數(shù)陣,及二
次運動矢量。
本步驟中,仍以B2'中的一次殘差塊N'為例,首先將N'進行變換及量化,
得到變換后的變換系數(shù)陣N ,并假設(shè)M為參考圖像A2'中對應(yīng)的最佳匹配塊, 對應(yīng)的二次運動矢量為(Mx,My),且M經(jīng)變換后的對應(yīng)變換系數(shù)陣為M ,則 可以由M對N進行預(yù)測,得到二次殘差塊變換系數(shù)陣N =N-M;或者也可 以由M的某些系數(shù)對N的某些系數(shù)進行預(yù)測,如由M的直流(DC, DirectCurrent)系數(shù)來預(yù)測N的DC系數(shù),由M的交流(AC, Alternating Current)
系數(shù)來預(yù)測N的AC系數(shù)等,具體的預(yù)測方法根據(jù)實際情況而定。同時,將得 到的二次運動矢量進行存儲,供圖像重建時使用。
步驟1003,對二次殘差塊變換系數(shù)陣,以及一次預(yù)測得到的一次運動矢量 和二次預(yù)測得到的二次運動矢量進行熵編碼,并一起寫入壓縮碼流中;同時利 用二次殘差塊變換系數(shù)陣進行圖像重建,作為其它待編碼圖像的參考圖像。
其中,利用二次殘差塊變換系數(shù)陣進行圖像重建的過程參考下面圖11所示 流程。
圖11為圖IO所示圖像編碼方法中的圖像重建流程示意圖。以當(dāng)前待解碼 圖像的一個宏塊的重建過程為例,該流程包括如下步驟
步驟1101,根據(jù)步驟1002中得到的二次運動矢量,對二次殘差塊變換系數(shù) 陣,在編碼時作為參考圖像的二次參考圖像變換系數(shù)陣中,進行二次運動補償, 得到 一次殘差塊變換系數(shù)陣。
本步驟中,仍以圖2所示的四個圖像為例進行描述,并假設(shè)對當(dāng)前待編碼 圖像B2的宏塊N進行重建,則對于二次預(yù)測后得到的二次殘差塊變換系數(shù)陣
N ,根據(jù)步驟1002中存儲的N對應(yīng)的二次運動矢量(Mx,My),從在先重建 的參考?xì)埐顖D像A2'的變換系數(shù)陣中尋找到對應(yīng)的補償塊M ,然后得到一次殘
差塊變換系數(shù)陣R =N +M。其它宏塊的本次重建過程與此相同。
步驟1102,對所得到的一次殘差塊變換系數(shù)陣進行反變換,得到一次一次
殘差塊,并對所得到的一次殘差塊進行存儲。
本步驟中,對變換后的變換系數(shù)陣進行反變換時對應(yīng)于步驟1002中編碼時
的變換,則步驟1101中N經(jīng)過反變換后得到N'。
當(dāng)B2所有宏塊的二次殘差塊變換系數(shù)陣都重建完畢,根據(jù)所存儲的B2的
所有一次殘差塊,得到一次殘差圖像B2'的重建圖像,作為其它待編碼圖像的二次參考圖像。
步驟1103,才艮據(jù)步驟1001中得到的一次運動矢量,對所得到的一次殘差塊 在編碼時作為參考圖像的一次參考圖像中進行一次運動補償,得到重建圖像塊, 并對該重建圖像塊進行存儲。
本步驟中,在對步驟1102中B2'的殘差塊N'進行解碼時,根據(jù)步驟iooi 中存儲的一次運動矢量(Kx,Ky)從在先重建的參考圖像Bl中尋找到補償塊K,
得到重建圖像塊N-N'+K,并對該重建圖像塊N進行存儲。其它宏塊的本次 重建過程與此相同。
當(dāng)B2所有宏塊的一次殘差塊都重建完畢,根據(jù)所存儲的B2的所有重建圖 像塊,得到圖像B2的重建圖像,作為其它待編碼圖像的一次參考圖像。
圖12為本發(fā)明實施例二中圖像解碼方法的流程圖。此處,也以當(dāng)前待解碼 圖像的一個宏塊的解碼過程為例,如圖12所示,該流程包括如下步驟步驟1201,對壓縮碼流進行熵解碼得到一次運動矢量和二次運動矢量,以 及二次殘差塊變換系數(shù)陣。
本步驟中,解碼方法與編碼方法相對應(yīng),對壓縮碼流進行熵解碼后,得到 一次運動矢量和二次運動矢量,以及本次待解碼圖像的當(dāng)前待解碼塊,即二次 殘差塊變換系數(shù)陣。
步驟1202,根據(jù)得到的二次運動矢量,對所得到的二次殘差塊變換系數(shù)陣, 在編碼時作為二次參考圖像的殘差圖像變換系數(shù)陣中進行運動補償,得到一次 殘差塊變換系數(shù)陣。
本步驟中,仍以圖2所示的四個圖像為例進行描述,并假設(shè)當(dāng)前待解碼圖 像為B2,則對其中的宏塊N進行解碼時,對于從壓縮碼流解碼后得到的二次
殘差塊變換系數(shù)陣N ,根據(jù)解碼得到的N對應(yīng)的二次運動矢量(Mx,My),從 在先解碼后的殘差圖像A2'的變換系數(shù)陣中,尋找到對應(yīng)的補償塊M,然后得
到一次殘差塊變換系數(shù)陣N =N +M。其它宏塊的本次解碼過程與此相同。其中,A2'為編碼時的二次參考圖像,此時作為解碼時的二次參考圖像,
由在先的已解碼圖像A2在解碼時執(zhí)行步驟1203時得到,即A2對應(yīng)殘差圖像 解碼后的重建圖像。在執(zhí)行本步驟時,首先對A2'進行變換,得到A2'的變換 系數(shù)陣。
步驟1203,對所得到的一次殘差塊變換系數(shù)陣進行反變換,得到一次一次 殘差塊,并對所得到的一次殘差塊進行存儲。
本步驟中,對得到的一次殘差塊變換系數(shù)陣進行反變換時對應(yīng)于步驟1002
中編碼時的變換,則步驟1202中N經(jīng)過反變換后得到N'。
當(dāng)B2所有宏塊的二次殘差塊變換系數(shù)陣都解碼完畢,根據(jù)所存儲的B2的
所有一次殘差塊,得到一次殘差圖像B2'的重建圖像,作為其它待解碼圖像的 二次參考圖像。
步驟1204,沖艮據(jù)得到的一次運動矢量,對所得到的一次殘差塊,在編碼時 作為一次參考圖像的圖像中進行運動補償,得到重建圖像塊,并對該重建圖像 塊進行存儲。
本步驟中,在對步驟1203中B2'的殘差塊N'進行解碼時,根據(jù)解碼得到的 N'對應(yīng)的一次運動矢量(Kx,Ky)從在先解碼后的參考圖像Bl中,尋找到補 償塊K,得到重建圖像塊N-N'+K,對該重建圖像塊進行存儲。其它宏塊的 本次解碼過程與此相同。
至此,當(dāng)前待解碼塊的解碼過程結(jié)束。當(dāng)B2所有宏塊的一次殘差塊都解碼 完畢,根據(jù)所存儲的B2的所有重建圖像塊,得到原始圖像的重建圖像,供后 續(xù)使用。同時得到的重建圖像還可作為其它待解碼圖像的一次參考圖像。
上述對本發(fā)明中又一種圖像編碼方法和解碼方法進行了詳細(xì)描述,下面再 對本發(fā)明中基于上述圖像編碼方法和解碼方法的編碼器和解碼器進行詳細(xì)說 明。
圖13為本發(fā)明實施例二中編碼器的結(jié)構(gòu)示意圖。如圖13所示,該編碼器包括 一次預(yù)測模塊、變換模塊、二次預(yù)測模塊、編碼模塊、二次重建模塊、反變換模塊以及一次重建模塊。
并且,編碼流程為當(dāng)前待編碼圖像—一次預(yù)測模塊—變換模塊—二次預(yù)測模塊—編碼模塊—碼流;重建時流程為二次重建模塊—反變換模塊—一次重建模塊—當(dāng)前圖像的重建圖像。其中一次預(yù)測模塊產(chǎn)生的一次運動矢量和二次預(yù)測模塊產(chǎn)生的二次運動矢量直接輸出給編碼模塊,二次重建時,采用的是二次預(yù)測模塊產(chǎn)生的二次運動矢量, 一次重建時,采用的是一次預(yù)測模塊產(chǎn)生的一次運動矢量。
其中, 一次預(yù)測模塊用于從一次重建模塊中讀取一次參考圖像集合,對當(dāng)前待編碼圖像以宏塊或塊為單位,對當(dāng)前待編碼塊從參考圖像集合中選取最佳匹配塊,用所選取的最佳匹配塊對當(dāng)前待編碼塊進行預(yù)測,得到一次殘差塊及對應(yīng)的一次運動矢量,將一次殘差塊輸出給變換模塊,將一次運動矢量輸出給編碼模塊,同時對該一次運動矢量進行存儲,供一次重建模塊使用。
變換模塊用于接收來自 一次預(yù)測模塊的一次殘差塊,并對所接收的一次殘差塊進行變換,得到一次殘差塊變換系數(shù)陣輸出給二次預(yù)測模塊,并將從二次重建模塊中讀取的二次參考圖像進行變換,得到二次參考圖像變換系數(shù)陣,輸出給二次預(yù)測模塊。
二次預(yù)測模塊用于接收來自 一次預(yù)測模塊的一次殘差塊變換系數(shù)陣以及二次參考圖像變換系數(shù)陣,以二次參考圖像變換系數(shù)陣中最佳匹配塊的變換系數(shù)陣對該一次殘差塊變換系數(shù)陣進行預(yù)測,得到二次殘差塊變換系數(shù)陣以及二次運動矢量,輸出給編碼模塊及二次重建模塊。同時,對該二次運動矢量進行存儲,供二次重建模塊使用。
編碼模塊可以包括重排序及熵編碼等編碼過程,用于接收來自二次預(yù)測模塊的二次殘差塊變換系數(shù)陣及二次運動矢量,連同來自一次預(yù)測模塊的一次運動矢量一起進行熵編碼,寫入碼流中。
二次重建模塊用于接收來自二次預(yù)測模塊的二次殘差塊變換系數(shù)陣,并根據(jù)從二次預(yù)測模塊讀取的二次運動矢量,對所接收的二次殘差塊變換系數(shù)陣,在編碼時的二次參考圖像變換系數(shù)陣中進行運動補償,得到 一次殘差塊系數(shù)陣輸出給反變換模塊。
反變換模塊用于接收來自二次重建模塊的一次殘差塊變換系數(shù)陣,并對所接收的一次殘差塊變換系數(shù)陣進行反變換,得到一次殘差塊,輸出給一次重建模塊,并將該一次殘差塊進行存儲。
若當(dāng)前編碼圖像所有的二次殘差塊變換系數(shù)陣都重建并反變換結(jié)束,則根據(jù)所存儲的當(dāng)前編碼圖像的所有一次殘差塊得到當(dāng)前編碼圖像的一次殘差圖像,可作為其它預(yù)測所需的二次參考圖像。
一次重建模塊用于接收來自反變換模塊的一次殘差塊,并讀取一次預(yù)測模塊所存儲的一次運動矢量,根據(jù)所讀取的一次運動矢量,在編碼時的一次參考圖像中進行運動補償,得到重建圖像塊,并將該重建圖像塊進行存儲。
若當(dāng)前編碼圖像所有的一次殘差塊都重建結(jié)束,則根據(jù)所存儲的當(dāng)前編碼圖像的所有重建圖像塊得到當(dāng)前編碼圖像的重建圖像,可作為其它預(yù)測所需的一次參考圖像。
其中對第一個圖像進行編碼時,參考圖像可以為空,即對第一個圖像進行編碼時,可不經(jīng)過預(yù)測,而直接進行后續(xù)編碼處理。
圖14為本發(fā)明實施例二中解碼器的結(jié)構(gòu)示意圖。如圖14所示,該解碼器
包括解碼模塊、二次重建模塊、反變換模塊、 一次重建模塊以及變換模塊。并且,解碼流程為解碼模塊—二次重建模塊—反變換模塊—一次重建模
塊—當(dāng)前圖像的重建圖像。其中二次重建時的二次運動矢量和一次重建時的一
次運動矢量都是解碼模塊解碼之后得到的。
其中,解碼模塊,用于對壓縮碼流進行熵解碼,得到當(dāng)前待解碼圖像中當(dāng)
前待解碼塊的一次運動矢量、二次運動矢量以及二次殘差塊變換系數(shù)陣等,并
將二次殘差塊變換系數(shù)陣以及二次運動矢量輸出給二次重建模塊,將一次運動
矢量輸出給一次重建模塊。
二次重建模塊用于接收來自編碼模塊的二次殘差塊變換系數(shù)陣以及二次運
動矢量,并接收來自變換模塊的該二次殘差塊變換系數(shù)陣編碼時的二次參考圖像變換系數(shù)陣,沖艮據(jù)所接收的二次運動矢量,將二次殘差塊變換系數(shù)陣在編碼時的二次參考圖像變換系數(shù)陣中進行運動補償,得到一次殘差塊系數(shù)陣,輸出給反變換模塊。
其中,二次參考圖像變換系數(shù)陣為經(jīng)過二次重建模塊和反變換模塊后已解碼出的一次殘差圖像,變換模塊用于讀取該一次殘差圖像,并對所讀取的一次殘差圖像進行變換,將變換后的變換系數(shù)陣輸出給二次重建模塊。
反變換模塊用于接收來自二次重建模塊的一次殘差塊變換系數(shù)陣,并對所接收的一次殘差塊變換系數(shù)陣進行反變換,得到一次殘差塊,輸出給一次重建圖像,并將該一次殘差塊進行存儲。
若當(dāng)前待解碼圖像所有的二次殘差塊變換系數(shù)陣都重建并反變換結(jié)束,則根據(jù)所存儲的當(dāng)前待解碼圖像的所有一次殘差塊,得到當(dāng)前待解碼圖像的一次殘差圖像,可作為其它解碼所需的二次參考圖像。
一次重建模塊用于接收來自反變換模塊的一次殘差塊,并讀取一次預(yù)測模塊所存儲的一次運動矢量,根據(jù)所讀取的一次運動矢量,在編碼時的一次參考圖像中進行運動補償,得到重建圖像塊,并將該重建圖像塊進行存儲。
若當(dāng)前待解碼圖像所有的一次殘差塊都重建結(jié)束,則根據(jù)所存儲的當(dāng)前待解碼圖像的所有重建圖像塊,得到當(dāng)前待解碼圖像的重建圖像,可作為其它解碼所需的一次參考圖像。
其中,實施例二中的編碼器,在對圖像重建的過程中,經(jīng)過二次重建模塊之后,得到一次殘差塊變換系數(shù)陣,在將該一次殘差塊變換系數(shù)陣輸出給反變換模塊的同時,可以對其進行存儲,并根據(jù)所存儲當(dāng)前編碼圖像的所有一次殘差塊變換系數(shù)陣,得到一次殘差圖像變換系數(shù)陣,作為輸入二次預(yù)測模塊的二次參考圖像變換系數(shù)陣,則變換模塊在對一次殘差塊變換系數(shù)陣進行變換后,不必再對其進行存儲,且該二次參考圖像變換系數(shù)陣也無需由二次參考圖像經(jīng)過變換模塊變換后得到。同樣,在解碼器中,也可以作同樣處理,此時解碼器中可無需包含變換模塊。
本實施例中在進行變換時或變換模塊執(zhí)行變換時,可以包括變換和量化,進行后續(xù)編碼時或編碼模塊執(zhí)行編碼時,也可以包括重排序及熵編碼,或者其它編碼方式;同樣反變換時,或反變換模塊執(zhí)行反變換時,與變換時或變換模塊對應(yīng),也可以包括反量化和反變換,前序解碼時,或解碼模塊執(zhí)行解碼時,與后續(xù)編碼或編碼模塊相對應(yīng),可包括熵解碼及重排序,或者其它解碼方式。實施例三
本實施例中,可以同時應(yīng)用實施例一中的圖像編碼方法、解碼方法,以及實施例二中的圖像編碼方法、解碼方法。相應(yīng)的,編碼器和解碼器兼具有上述實施例一和實施例二中的編碼器和解碼器的兩種實現(xiàn)功能,是在實施例二的基
礎(chǔ)上加上了實施例一中的實現(xiàn)方式。圖15為本發(fā)明實施例三中編碼器的結(jié)構(gòu)示意圖。該編碼器包括 一次預(yù)測模塊、變換模塊、二次預(yù)測模塊、編碼模塊、二次重建模塊、反變換模塊以及一次重建模塊。其中包括虛線部分表示的編碼流程當(dāng)前待編碼圖像—一次預(yù)測模塊—二次預(yù)測才莫塊—變換模塊—編碼模塊—碼流;重建時流程反變換模塊—二次重建模塊—一次重建模塊—當(dāng)前圖像的重建圖像。以及實線部分表示的編碼流程當(dāng)前待編碼圖像—一次預(yù)測模塊—變換^^莫塊—二次預(yù)測^f莫塊—編碼;f莫塊—碼流;重建時流程二次重建^f莫塊—反變換模塊—一次重建模塊4當(dāng)前圖像的重建圖像。
其中一次預(yù)測模塊產(chǎn)生的一次運動矢量和二次預(yù)測模塊產(chǎn)生的二次運動矢量直接輸出給編碼模塊,二次重建時,采用的是二次預(yù)測模塊產(chǎn)生的二次運動矢量, 一次重建時,采用的是一次預(yù)測模塊產(chǎn)生的一次運動矢量。
圖16為本發(fā)明實施例三中解碼器的結(jié)構(gòu)示意圖。該解碼器包括解碼^t塊、二次重建模塊、反變換模塊、 一次重建模塊以及變換模塊。其中包括虛線部分表示的解碼流程解碼模塊4反變換模塊—二次重建模塊—一次重建模塊—當(dāng)
前圖像的重建圖像。以及實線部分表示的解碼流程解碼模塊—二次預(yù)測模塊—反變換模塊—一次預(yù)測模塊—當(dāng)前圖像的重建圖像。
其中解碼時,二次重建時的二次運動矢量和一次重建時的一次運動矢量都是解碼模塊解碼之后得到的。
其中,編碼器和解碼器采用實線部分的流程還是虛線部分的流程,可以根據(jù)實際控制,或者根據(jù)編解碼效果,或者根據(jù)其它實際情況分別進行,采用哪 種編碼方式,就要對應(yīng)哪種解碼方式,可以在編碼器編碼時,以圖^象幀為單位, 或者以宏塊為單位等,設(shè)置一個標(biāo)志位,采用哪種編碼方式,便用標(biāo)志位進行
標(biāo)記;解碼器在對壓縮碼流進行解碼時,可根據(jù)解碼標(biāo)志執(zhí)行相應(yīng)的解碼過程。 其中編碼器和解碼器中的各個功能模塊根據(jù)實際所采用的實現(xiàn)方式,執(zhí)行相應(yīng) 的功能,如采用實線部分的實現(xiàn)方式時,按照實施例二中執(zhí)行;采用虛線部分 的實現(xiàn)方式時,按照實施例一中執(zhí)行。
實際編碼過程中,關(guān)于熵編碼環(huán)節(jié),還可以有其它的編碼方法,同理,熵 解碼環(huán)節(jié)也可以為其它的解碼方法,其中,解碼方法與編碼方法相對應(yīng)。并且, 也可以不進行熵編碼或其它編碼過程,而直接將一次運動矢量、二次運動矢量 及二次殘差圖像寫入壓縮碼流中。
上述三個實施例中的解碼器,在進行二次重建時,所輸入的二次殘差圖像 也可以是進行熵編碼之后的壓縮碼流,此時需要在編碼器中增加一個解碼模塊, 用于接收編碼模塊生成的壓縮碼流,從壓縮碼流中解碼得到二次殘差圖像、二 次運動矢量及一次運動矢量,則重建過程可以同解碼器中的過程。
其中,本發(fā)明所提供的圖像編碼方法和圖像解碼方法可以同時使用構(gòu)成編 解碼方法,包括
編碼時,對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像及一次運動 矢量,并對一次殘差圖像進行二次預(yù)測,得到二次殘差圖像及二次運動矢量, 將二次殘差圖像、二次運動矢量及一次運動矢量寫入壓縮碼流中發(fā)送出去。
解碼時,接收壓縮碼流,并從壓縮碼流中解碼得到一次運動矢量、二次運 動矢量和二次殘差圖像;根據(jù)二次運動矢量,對二次殘差圖像進行運動補償, 得到一次殘差圖像,并根據(jù)一次運動矢量,對一次殘差圖像進行運動補償,得 到重建圖像。
對于編碼和解碼的具體實現(xiàn)過程,也可以同實施例一至實施例三所描述的 幾種方法。
本發(fā)明所提供的編碼器和解碼器也可以組裝成一個編解碼器使用。如圖17所示,圖17為在實施例一中圖8所示的編碼器和圖9所示的解碼器的基礎(chǔ)上組
裝成的編解碼器,該編解碼器包括編碼單元和解碼單元。
其中,編碼單元,用于對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖 像及一次運動矢量,并對一次殘差圖像進行二次預(yù)測,得到二次殘差圖像及二 次運動矢量,將二次殘差圖像、二次運動矢量及一次運動矢量寫入壓縮碼流中 發(fā)送出去。
解碼單元,用于接收壓縮碼流,并從壓縮碼流中解碼得到一次運動矢量、
二次運動矢量和二次殘差圖像;根據(jù)二次運動矢量,對二次殘差圖像進行運動 補償,得到一次殘差圖像,并根據(jù)一次運動矢量,對一次殘差圖像進行運動補 償,得到重建圖像,并且解碼單元進一步用于為編碼單元提供作為參考圖像的 重建圖像。
其中,編碼單元可以包括 一次預(yù)測模塊、二次預(yù)測模塊、變換模塊以及 編碼模塊;解碼單元可以包括解碼模塊、反變換模塊、二次重建模塊以及一 次重建模塊。
該編解碼器對于圖8所示的編碼器來說進一步包括了解碼模塊,用于在為 編碼過程提供參考圖像的重建圖像時,從編碼生成的壓縮碼流中解碼得到二次 殘差圖像以及一次運動矢量和二次運動矢量,然后對該二次殘差圖像進行反變 換,在進行圖像重建時,所需要的二次運動矢量可以是二次預(yù)測模塊存儲的二 次運動矢量,也可以是解碼模塊解碼得到的二次運動矢量,同理,所需要的一 次運動矢量可以是一次預(yù)測模塊存儲的一次運動矢量,也可以是解碼模塊解碼 得到的一次運動矢量,如果完成由解碼模塊得到的話,則一次預(yù)測模塊和二次 預(yù)測模塊可以不對所產(chǎn)生的一次運動矢量和二次運動矢量進行存儲。
該編解碼器對于圖9所示的解碼器來說,進行解碼的部分主要由解碼模塊、 反變換模塊、二次重建模塊以及一次重建模塊來完成,并且各個模塊的功能與 連接關(guān)系和圖9所示的模塊功能與連接關(guān)系相同。
當(dāng)前對于圖17所示的編解碼器還可以有其它的結(jié)構(gòu)變形,或者可以不包括 變換模塊以及反變換模塊等,解碼模塊與編碼模塊也同樣可以有很多編碼方式及解碼方式。
同樣,對于實施例二和實施例三中的編碼器和解碼器也可以組裝成編解碼 器。并且還可以有各種結(jié)構(gòu)變形等。
從上述各個實施例可見,本發(fā)明通過將各個視頻序列中某些已經(jīng)編碼過的 圖像所對應(yīng)的殘差圖像作為參考圖像,對當(dāng)前待編碼圖像經(jīng)過預(yù)測編碼后產(chǎn)生 的殘差圖像進行預(yù)測,再將預(yù)測后獲得的二次殘差圖像進行后續(xù)編碼操作,從 而消除殘差圖像之間的相關(guān)性,進一步降低圖像之間的冗余度,減少碼流的數(shù) 據(jù)量,提高編碼效率。
此外,在對當(dāng)前待編碼圖像經(jīng)過預(yù)測編碼后產(chǎn)生的殘差圖像進行預(yù)測時, 對當(dāng)前待編碼圖像的一次殘差圖像以宏塊或塊為單位,在作為二次參考圖像的 殘差圖像中尋找最佳匹配塊,尋找最佳匹配塊時,通過利用已編碼圖像中對應(yīng) 位置塊的一次視差矢量,在二次參考圖像中找到對應(yīng)塊,將該對應(yīng)塊作為最佳
匹配塊,并將所參照的一次;現(xiàn)差矢量作為在二次參考圖^^中的二次^L差矢量, 從而可以減少碼流的數(shù)據(jù)量;或者在找到對應(yīng)塊后,以該塊作為搜索中心起始 點,尋找最佳匹配塊,從而進一步提高編碼效率。
最后,本發(fā)明還可以對一次殘差圖像變換后的變換系數(shù)陣進行預(yù)測,從而 為消除殘差圖像之間相關(guān)性的方法,提供了更多的選擇,使編碼更靈活,從而 可以最大限度的消除殘差圖像之間的相關(guān)性。
上述各實施例只是本發(fā)明思想的 一種展示,而非限定本發(fā)明的保護范圍。 凡在本發(fā)明的精神和原則之內(nèi),所,文的任何修改、等同替換、改進等,均應(yīng)包 含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1、一種圖像編碼方法,其特征在于,該方法包括A、對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像及一次運動矢量;B、對一次殘差圖像進行二次預(yù)測,得到二次殘差圖像及二次運動矢量,并將二次殘差圖像、二次運動矢量及一次運動矢量寫入壓縮碼流中。
2、 如權(quán)利要求l所述的方法,其特征在于,所述步驟B具體包括以宏塊 或塊為單位,針對一次殘差圖像中的每一個宏塊或塊,在作為二次參考圖像的 殘差圖像集合中尋找最佳匹配塊,用該最佳匹配塊對當(dāng)前宏塊或塊進行預(yù)測, 并得到二次殘差塊及對應(yīng)的二次運動矢量,將二次殘差塊、二次運動矢量及一 次運動矢量寫入壓縮碼流中。
3、 如權(quán)利要求2所述的方法,其特征在于,步驟B中所述在作為二次參考 圖像的殘差圖像集合中尋找最佳匹配塊為進行視差估計時,根據(jù)已編碼圖像 中對應(yīng)位置塊的一次運動矢量,在二次參考圖像中找到對應(yīng)塊,將該對應(yīng)塊作 為最佳匹配塊,并將所述一次運動矢量作為在二次參考圖像中的二次運動矢量;或者進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量,在二次 參考圖像中找到對應(yīng)塊,以該對應(yīng)塊作為搜索中心起始點,尋找最佳匹配塊。
4、 如權(quán)利要求l所述的方法,其特征在于,步驟B之前進一步包括以宏 塊或塊為單位,對一次殘差圖像中的每個宏塊或塊進行變換,得到變換后的一 次殘差塊;所述步驟B為針對每個變換后的一次殘差塊,在作為二次參考圖像的殘 差圖像變換后的圖像中尋找最佳匹配塊,用該最佳匹配塊對當(dāng)前變換后的一次 殘差塊進行預(yù)測,并得到二次殘差塊及對應(yīng)的二次運動矢量,將二次殘差塊、 二次運動矢量及一次運動矢量寫入壓縮碼流中。
5、 如權(quán)利要求2至4中任意一項所述的方法,其特征在于,所述二次參考 圖像為已編碼圖像對應(yīng)一次殘差圖像的重建圖像。
6、 如權(quán)利要求1至4中任意一項所述的方法,其特征在于,步驟B中寫入 壓縮碼流之前,進一步包括對二次殘差圖像、二次運動矢量以及一次運動矢 量進行熵編碼。
7、 一種圖像解碼方法,其特征在于,該方法包括A、 從壓縮碼流中解碼得到一次運動矢量、二次運動矢量和二次殘差圖像;B、 根據(jù)二次運動矢量,對二次殘差圖像進行運動補償,得到一次殘差圖像, 并根據(jù)一次運動矢量,對一次殘差圖像進行運動補償,得到重建圖像。
8、 如權(quán)利要求7所述的方法,其特征在于,所述步驟B為以宏塊或塊為 單位,針對二次殘差圖像中的每個宏塊或塊,根據(jù)該宏塊或塊對應(yīng)的二次運動 矢量,對該二次殘差塊進行運動補償,得到一次殘差塊,并根據(jù)該一次殘差塊 對應(yīng)的一次運動矢量,對該一次殘差塊進行運動補償,得到重建圖像塊,將二 次殘差圖像的所有重建圖像塊合成所述重建圖像。
9、 如權(quán)利要求8所述的方法,其特征在于,步驟B所述根據(jù)該一次殘差塊 對應(yīng)的一次運動矢量,對該一次殘差塊進行運動補償之前,進一步包括對得 到的一次殘差塊進行反變換,得到反變換后的一次殘差塊。
10、 一種編碼器,包括 一次預(yù)測模塊和編碼模塊,其特征在于,該編碼 器還包括二次預(yù)測模塊,其中,一次預(yù)測模塊,用于對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像 和一次運動矢量;二次預(yù)測模塊,用于接收來自所述一次預(yù)測模塊的一次殘差圖像,對所接 收的一次殘差圖像進行二次預(yù)測,得到二次殘差圖像及二次運動矢量;編碼模塊,用于接收來自所述一次預(yù)測模塊的一次運動矢量和來自所述二 次預(yù)測模塊的二次運動矢量和二次殘差圖像,并將所接收的一次運動矢量、二 次運動矢量及二次殘差圖像寫入壓縮碼流中。
11、 如權(quán)利要求IO所述的編碼器,其特征在于,該編碼器還包括 二次重建模塊,用于接收來自所述二次預(yù)測模塊的二次殘差圖像,并讀取二次預(yù)測模塊中得到的二次運動矢量,根據(jù)該二次運動矢量,對所接收的二次殘差圖像進行運動補償,得到一次殘差圖像,所述一次殘差圖像用于所述二次預(yù)測模塊進行二次預(yù)測時的參考圖像;一次重建模塊,用于接收來自所述二次重建模塊的一次殘差圖像,并讀取 一次預(yù)測模塊中得到的一次運動矢量,根據(jù)該一次運動矢量,對所接收的一次 殘差圖像進行運動補償,得到重建圖像,所述重建圖像用于所述一次預(yù)測模塊 進行一次預(yù)測時的參考圖像。
12、 如權(quán)利要求11所述的編碼器,其特征在于,所述編碼器進一步包括 變換模塊和反變換模塊,其中,變換模塊,用于接收來自二次預(yù)測模塊的二次殘差圖像,對所接收的二次 殘差圖像進行變換,將變換后的二次殘差圖像輸出給編碼模塊和反變換模塊;反變換模塊,用于接收來自變換模塊的二次殘差圖像,對所接收的二次殘 差圖像進行反變換,得到反變換后的二次殘差圖像,輸出給二次重建模塊。
13、 如權(quán)利要求11所述的編碼器,其特征在于,所述編碼器進一步包括 變換模塊和反變換模塊,其中,變換模塊,用于接收來自一次預(yù)測模塊的一次殘差圖像,對一次殘差圖像 進行變換,將變換后的一次殘差圖像輸出給二次預(yù)測模塊;反變換模塊,用于接收來自二次重建模塊的一次殘差圖像,對所接收的一 次殘差圖像進行反變換,將反變換后的一次殘差圖像輸出給一次重建模塊。
14、 一種解碼器,該解碼器包括解碼模塊、 一次重建模塊,其特征在于, 該解碼器還包括二次重建模塊,其中,解碼模塊,用于從壓縮碼流中解碼得到一次運動矢量、二次運動矢量及二 次殘差圖像;二次重建模塊,用于接收來自所述解碼模塊的二次殘差圖像和二次運動矢 量,根據(jù)所接收的二次運動矢量,對二次殘差圖像進行運動補償,得到一次殘 差圖像;一次重建模塊,用于接收來自所述二次重建模塊的一次殘差圖像及來自解 碼模塊的一次運動矢量,根據(jù)所接收的一次運動矢量,對一次殘差圖像進行運動補償,得到重建圖像。
15、 如權(quán)利要求14所述的解碼器,其特征在于,該解碼器進一步包括反 變換模塊,用于接收來自解碼模塊的二次殘差圖像,對所接收的二次殘差圖像 進行反變換,并將反變換后的二次殘差圖像輸出給二次重建模塊。
16、 如權(quán)利要求14所述的解碼器,其特征在于,該解碼器進一步包括反 變換模塊,用于接收來自二次重建模塊的一次殘差圖像,并對所接收的一次殘 差圖像進行反變換,將反變換后的一次殘差圖像輸出給一次重建模塊。
17、 一種編解碼方法,其特征在于,該方法包括A、 對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像及一次運動矢量, 并對一次殘差圖像進行二次預(yù)測,得到二次殘差圖像及二次運動矢量,將二次 殘差圖像、二次運動矢量及一次運動矢量寫入壓縮碼流;B、 接收所述壓縮碼流,并從壓縮碼流中解碼得到一次運動矢量、二次運動 矢量和二次殘差圖像;根據(jù)二次運動矢量,對二次殘差圖像進行運動補償,得 到一次殘差圖像,并根據(jù)一次運動矢量,對一次殘差圖像進行運動補償,得到 重建圖像。
18、 一種編解碼器,其特征在于,該編解碼器包括編碼單元和解碼單元, 其中,編碼單元,用于對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像及一 次運動矢量,并對一次殘差圖像進行二次預(yù)測,得到二次殘差圖像及二次運動 矢量,將二次殘差圖像、二次運動矢量及一次運動矢量寫入壓縮碼流中;解碼單元,用于接收所述壓縮碼流,并從壓縮碼流中解碼得到一次運動矢 量、二次運動矢量和二次殘差圖像;根據(jù)二次運動矢量,對二次殘差圖像進行 運動補償,得到一次殘差圖像,并根據(jù)一次運動矢量,對一次殘差圖像進行運 動補償,得到重建圖像。
19、 如權(quán)利要求18所示的編解碼器,其特征在于,所述編碼單元包括 一次預(yù)測模塊,用于對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像和一次運動矢量;二次預(yù)測模塊,用于接收來自一次預(yù)測模塊的一次殘差圖像,對所接收的一次殘差圖^f象進行二次預(yù)測,得到二次殘差圖像及二次運動矢量;編碼模塊,用于接收來自 一次預(yù)測模塊的一次運動矢量和來自二次預(yù)測模 塊的二次運動矢量和二次殘差圖像,并將所接收的一次運動矢量、二次運動矢 量及二次殘差圖像寫入壓縮碼流中。
20、 如權(quán)利要求19所述編解碼器,其特征在于,所迷解碼單元包括 解碼才莫塊,用于從壓縮碼流中解碼得到一次運動矢量、二次運動矢量及二次殘差圖像;二次重建模塊,用于接收來自解碼模塊的二次殘差圖像和二次運動矢量, 根據(jù)所接收的二次運動矢量,對二次殘差圖像進行運動補償,得到一次殘差圖 像;一次重建模塊,用于接收來自二次重建模塊的一次殘差圖像及來自解碼模 塊的一次運動矢量,根據(jù)所接收的一次運動矢量,對一次殘差圖像進行運動補 償,得到重建圖像。
21、 一種圖像編碼方法,其特征在于,該方法包括A、 對第一幀待編碼圖像進行編碼后的當(dāng)前待編碼圖像進行一次預(yù)測,得 到 一次殘差圖像及一次運動矢量;B、 以宏塊或塊為單位,針對一次殘差圖像中的每一個宏塊或塊,進行;現(xiàn)差 估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量,在二次參考圖像中找 到對應(yīng)塊,將該對應(yīng)塊作為最佳匹配塊,并將所述一次運動矢量作為在二次參 考圖像中的二次運動矢量,用該最佳匹配塊對當(dāng)前宏塊或塊進行預(yù)測,得到二 次殘差塊;將一次運動矢量和二次殘差塊和/或二次運動矢量寫入壓縮碼流中。
22、 如權(quán)利要求21所述的方法,其特征在于,步驟A中所述對當(dāng)前待編 碼圖像進行一次預(yù)測,得到一次殘差圖像及一次運動矢量包括以宏塊或塊為 單位,針對當(dāng)前待編碼圖像中的每一個宏塊或塊,進行視差估計時,根據(jù)已編 碼圖像中對應(yīng)位置塊的一次運動矢量,在當(dāng)前宏塊或塊的參考圖像中找到對應(yīng) 塊,將該對應(yīng)塊作為最佳匹配塊,并將所述一次運動矢量作為當(dāng)前宏塊或塊在參考圖像中的一次運動矢量,用該最佳匹配塊對當(dāng)前宏塊或塊進行預(yù)測,得到 一次殘差塊;或者,進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量, 在當(dāng)前宏塊或塊的參考圖像中找到對應(yīng)塊,以該塊作為搜索中心起始點,尋找 最佳匹配塊,用該最佳匹配塊對當(dāng)前宏塊或塊進行預(yù)測,并得到一次殘差塊及 對應(yīng)的一次運動矢量。
23、 一種圖^象編碼方法,其特征在于,該方法包括A、 對第一幀待編碼圖像進行編碼后的當(dāng)前待編碼圖像進行一次預(yù)測,得 到 一次殘差圖像及一次運動矢量;B、 以宏塊或塊為單位,針對一次殘差圖像中的每一個宏塊或塊,進行視差 估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量,在二次參考圖像中找 到對應(yīng)塊,以該塊作為搜索中心起始點,尋找最佳匹配塊,用該最佳匹配塊對 當(dāng)前宏塊或塊進行預(yù)測,并得到二次殘差塊及對應(yīng)的二次運動矢量;將一次運 動矢量、二次殘差塊和二次運動矢量寫入壓縮碼流中。
24、 如權(quán)利要求23所述的方法,其特征在于,步驟A中所述對當(dāng)前待編 碼圖像進行一次預(yù)測,得到一次殘差圖像及一次運動矢量包括以宏塊或塊為 單位,針對當(dāng)前待編碼圖像中的每一個宏塊或塊,進行視差估計時,根據(jù)已編 碼圖像中對應(yīng)位置塊的一次運動矢量,在當(dāng)前宏塊或塊的參考圖像中找到對應(yīng) 塊,將該對應(yīng)塊作為最佳匹配塊,并將所述一次運動矢量作為當(dāng)前宏塊或塊在 參考圖像中的一次運動矢量,用該最佳匹配塊對當(dāng)前宏塊或塊進行預(yù)測,得到 一次殘差塊;或者,進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量, 在當(dāng)前宏塊或塊的參考圖^f象中找到對應(yīng)塊,以該塊作為搜索中心起始點,尋找 最佳匹配塊,用該最佳匹配塊對當(dāng)前宏塊或塊進行預(yù)測,并得到一次殘差塊及 對應(yīng)的一次運動矢量。
25、 一種圖像解碼方法,其特征在于,該方法包括A、從壓縮碼流中解碼得到一次運動矢量、二次運動矢量和二次殘差圖像;B、以宏塊或塊為單位,針對二次殘差圖像中的每個宏塊或塊,根據(jù)該宏塊或塊對應(yīng)的二次運動矢量,或才艮據(jù)該宏塊或塊對應(yīng)的作為二次運動矢量的一次 運動矢量,對該二次殘差塊進行運動補償,得到一次殘差塊,并根據(jù)該一次殘 差塊對應(yīng)的一次運動矢量,對該一次殘差塊進行運動補償,得到重建圖像塊, 將二次殘差圖像的所有重建圖像塊合成重建圖像。
26、 一種編碼器,包括 一次預(yù)測模塊和編碼模塊,其特征在于,該編碼 器還包括二次預(yù)測模塊,其中,一次預(yù)測模塊,用于對第一幀之后的當(dāng)前待編碼圖像進行一次預(yù)測,得到 一次殘差圖像和一次運動矢量;二次預(yù)測模塊,用于接收來自一次預(yù)測模塊的一次殘差圖像,對所接收的 一次殘差圖像以宏塊或塊為單位,針對一次殘差圖像中的每一個宏塊或塊,進 行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量,在二次參考圖 像中找到對應(yīng)塊,將該對應(yīng)塊作為最佳匹配塊,并將所述一次運動矢量作為在 二次參考圖像中的二次運動矢量,用該最佳匹配塊對當(dāng)前宏塊或塊進行預(yù)測, 得到二次殘差塊;編碼模塊,用于接收來自所述一次預(yù)測模塊的一次運動矢量和來自所述二 次預(yù)測模塊的二次殘差圖像和/或二次運動矢量,并將所接收的一次運動矢量和 二次殘差圖像和/或二次運動矢量寫入壓縮碼流中。
27、 如權(quán)利要求26所述的編碼器,其特征在于,該編碼器還包括 二次重建模塊,用于接收來自二次預(yù)測模塊的二次殘差圖像,并讀取二次預(yù)測模塊中得到的二次運動矢量或作為二次運動矢量的一次預(yù)測模塊中得到的 一次運動矢量,根據(jù)所述二次運動矢量或所述作為二次運動矢量的一次運動矢 量,對所接收的二次殘差圖像進行運動補償,得到一次殘差圖像,用于所述二 次預(yù)測模塊進行二次預(yù)測時的參考圖像;一次重建模塊,用于接收來自二次重建模塊的一次殘差圖像,并讀取一次 預(yù)測模塊中得到的一次運動矢量,根據(jù)該一次運動矢量,對所接收的一次殘差 圖像進行運動補償,得到重建圖像,用于所述一次預(yù)測模塊進行一次預(yù)測時的參考圖像。
28、 一種編碼器,包括 一次預(yù)測模塊和編碼模塊,其特征在于,該編碼 器還包括二次預(yù)測模塊,其中,一次預(yù)測才莫塊,用于對第一幀之后的當(dāng)前待編碼圖像進行一次預(yù)測,得到 一次殘差圖像和一次運動矢量;二次預(yù)測模塊,用于接收來自一次預(yù)測模塊的一次殘差圖像,對所接收的 一次殘差圖像以宏塊或塊為單位,針對一次殘差圖像中的每一個宏塊或塊,進 行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量,在二次參考圖 像中找到對應(yīng)塊,以該塊作為搜索中心起始點,尋找最佳匹配塊,用該最佳匹 配塊對當(dāng)前宏塊或塊進行預(yù)測,得到二次殘差塊及對應(yīng)的二次運動矢量;編碼模塊,用于接收來自所述一次預(yù)測模塊的一次運動矢量和來自所述二 次預(yù)測模塊的二次殘差圖像和二次運動矢量,并將所接收的一次運動矢量、二 次殘差圖像和二次運動矢量寫入壓縮碼流中。
29、 如權(quán)利要求28所述的編碼器,其特征在于,該編碼器還包括 二次重建模塊,用于接收來自二次預(yù)測模塊的二次殘差圖像,并讀取二次預(yù)測模塊中得到的二次運動矢量,根據(jù)所述二次運動矢量,對所接收的二次殘 差圖像進行運動補償,得到一次殘差圖像,所述一次殘差圖像用于所述二次預(yù) 測^t塊進行二次預(yù)測時的參考圖像;一次重建模塊,用于接收來自二次重建模塊的一次殘差圖像,并讀取一次 預(yù)測模塊中得到的一次運動矢量,根據(jù)該一次運動矢量,對所接收的一次殘差 圖像進行運動補償,得到重建圖像,所述重建圖像用于所述一次預(yù)測模塊進行 一次預(yù)測時的參考圖像。
30、 一種解碼器,該解碼器包括解碼模塊、 一次重建模塊,其特征在于, 該解碼器還包括二次重建模塊,其中,解碼模塊,用于從壓縮碼流中解碼得到一次運動矢量、二次運動矢量及二 次殘差圖像;二次重建模塊,用于接收來自所述解碼模塊的二次殘差圖像和二次運動矢量或作為二次運動矢量的一次運動矢量,根據(jù)所接收的二次運動矢量或作為二 次運動矢量的一次運動矢量,對二次殘差圖像進行運動補償,得到一次殘差圖像;一次重建模塊,用于接收來自所述二次重建模塊的一次殘差圖像及來自所 述解碼模塊的一次運動矢量,根據(jù)所接收的一次運動矢量,對一次殘差圖像進行運動補償,得到重建圖像。
31、 一種在多視圖像間尋找最佳匹配塊的方法,其特征在于,該方法包括 對當(dāng)前圖像的宏塊或塊進行一次和/或二次視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量,在當(dāng)前宏塊或塊的參考圖像中找到對應(yīng)塊,將該 對應(yīng)塊作為當(dāng)前宏塊或塊的一次和/或二次最佳匹配塊。
32、 一種在多視圖像間尋找最佳匹配塊的方法,其特征在于,該方法包括 對當(dāng)前圖像的宏塊或塊進行一次和/或二次視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊的一次運動矢量,在當(dāng)前宏塊或塊的參考圖像中找到對應(yīng)塊,以該 對應(yīng)塊作為搜索中心起始點,尋找當(dāng)前宏塊或塊的一次和/或二次最佳匹配塊。
33、 一種在多視圖像間尋找最佳匹配塊的裝置,其特征在于,該裝置包括 一次預(yù)測模塊,用于對當(dāng)前待編碼圖像以宏塊或塊為單位,針對當(dāng)前待編碼圖像中的每一個宏塊或塊,進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊 的一次運動矢量,在參考圖像中找到對應(yīng)塊,將該對應(yīng)塊作為最佳匹配塊。
34、 一種在多視圖像間尋找最佳匹配塊的裝置,其特征在于,該裝置包括: 一次預(yù)測模塊,用于對當(dāng)前待編碼圖像以宏塊或塊為單位,針對當(dāng)前待編碼圖像中的每一個宏塊或塊,進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位置塊 的一次運動矢量,在參考圖像中找到對應(yīng)塊,以該塊作為搜索中心起始點,尋 找最佳匹配塊。
35、 一種在多視圖像間尋找最佳匹配塊的裝置,其特征在于,該裝置包括: 二次預(yù)測模塊,用于對所接收的一次殘差圖像以宏塊或塊為單位,針對一 次殘差圖像中的每一個宏塊或塊,進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位 置塊的一次運動矢量,在二次參考圖像中找到對應(yīng)塊,將該對應(yīng)塊作為最佳匹配塊。
36、 一種在多視圖像間尋找最佳匹配塊的裝置,其特征在于,該裝置包括 二次預(yù)測模塊,用于對所接收的一次殘差圖像以宏塊或塊為單位,針對一 次殘差圖像中的每一個宏塊或塊,進行視差估計時,根據(jù)已編碼圖像中對應(yīng)位 置塊的一次運動矢量,在二次參考圖像中找到對應(yīng)塊,以該塊作為搜索中心起 始點,尋找最佳匹配塊。
全文摘要
本發(fā)明公開了兩種編碼方法,其中,一種編碼方法包括對當(dāng)前待編碼圖像進行一次預(yù)測,得到一次殘差圖像及一次運動矢量;對一次殘差圖像進行二次預(yù)測,得到二次殘差圖像及二次運動矢量,并將二次殘差圖像、二次運動矢量及一次運動矢量寫入壓縮碼流中或進行熵編碼后寫入壓縮碼流中。本發(fā)明還公開了兩種解碼方法、兩種編碼器、兩種解碼器、一種編解碼方法、一種編解碼器,以及一種在多視圖像間尋找最佳匹配塊的方法及裝置。本發(fā)明所提供的技術(shù)方案能夠消除殘差圖像之間的相關(guān)性。
文檔編號H04N7/28GK101518089SQ200780000320
公開日2009年8月26日 申請日期2007年8月31日 優(yōu)先權(quán)日2006年9月1日
發(fā)明者蕓 何, 史舒娟, 孟新建, 許曉中, 鄭建鏵, 鄭蕭楨 申請人:華為技術(shù)有限公司;清華大學(xué)