專利名稱:消除一個(gè)或多個(gè)預(yù)定預(yù)測(cè)器的編碼和解碼的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及圖像處理的領(lǐng)域,并更具體地涉及通過數(shù)字圖像之間以及數(shù)字圖像序列之間的競(jìng)爭(zhēng)的編碼和解碼。
背景技術(shù):
存在用于傳送圖像的多種編碼和解碼方法。主要編碼類型可被明顯區(qū)分,諸如其中對(duì)圖像進(jìn)行獨(dú)立編碼(也就是說,無需參考其他圖像)的所謂“幀內(nèi)”編碼、或在于與以前圖像相關(guān)地對(duì)當(dāng)前圖像進(jìn)行編碼以便僅表達(dá)并傳送這些圖像之間的差別的所謂“幀間”編碼。
上述類型的編碼方法一般包括預(yù)測(cè)編碼步驟,其中當(dāng)前圖像的像素組(稱為塊或宏塊)與其他參考?jí)K或宏塊(也就是說,先前已編碼并然后解碼的塊或宏塊)相關(guān)地被預(yù)測(cè)。
例如,在標(biāo)準(zhǔn)H264/MPEG-4 AVC(AVC代表“先進(jìn)視頻編碼”)的情況下,宏塊的預(yù)測(cè)編碼在于根據(jù)一般具有更小塊的形式的多個(gè)分區(qū)來細(xì)分(subdividing)宏塊。
在16X16幀內(nèi)編碼的情況下,將宏塊看作相對(duì)于一組四個(gè)空間預(yù)測(cè)器而預(yù)測(cè)的唯一分區(qū)。在8X8或4X4幀內(nèi)編碼的情況下,相對(duì)于包括在16X16幀內(nèi)編碼中使用的那四個(gè)空間預(yù)測(cè)器的一組九個(gè)空間預(yù)測(cè)器來預(yù)測(cè)每一較小塊。
在幀間編碼的情況下,可根據(jù)16X 16、8X 16、16X8和8X8模式來對(duì)宏塊進(jìn)行分區(qū)。如果選擇了 8X8模式,則根據(jù)8X8、4X8、8X4和4X4模式來對(duì)每一 8X8塊再次進(jìn)行分區(qū)。將每一當(dāng)前塊與一個(gè)或多個(gè)參考圖像的一個(gè)或多個(gè)塊進(jìn)行比較。然后通過描述當(dāng)前塊和參考?jí)K之間的移動(dòng)的向量來定義時(shí)間預(yù)測(cè)器。如果例如將宏塊分區(qū)為16塊(4X4 模式),則將對(duì)24個(gè)位移向量進(jìn)行編碼。通過分離該位移向量可進(jìn)一步改進(jìn)(refined)這樣的幀間編碼,以便實(shí)現(xiàn)超出整個(gè)像素可擴(kuò)展到半個(gè)像素、四分之一個(gè)像素、或甚至八分之一個(gè)像素的精度。
H264/AVC標(biāo)準(zhǔn)中實(shí)現(xiàn)的基于競(jìng)爭(zhēng)的幀內(nèi)或幀間編碼由此依賴于使得上述各種預(yù)測(cè)器競(jìng)爭(zhēng)(無論它們是空間還是時(shí)間類型),以便選擇最佳預(yù)測(cè)器(也就是說,將根據(jù)預(yù)定標(biāo)準(zhǔn)(例如,比特率/失真成本)優(yōu)化所涉及的塊的編碼的預(yù)測(cè)器)。
這樣的預(yù)測(cè)編碼的一個(gè)缺陷在于提供的大量預(yù)測(cè)器,并且已經(jīng)發(fā)現(xiàn)用來競(jìng)爭(zhēng)的一些編碼對(duì)于某些圖像內(nèi)容和使用的某些比特率非常類似,這不必要地增加了這些多個(gè)預(yù)測(cè)器引入的競(jìng)爭(zhēng)信息的比特率。
這樣的預(yù)測(cè)編碼的另一缺陷在于以下事實(shí),諸如比特率/失真成本的選擇標(biāo)準(zhǔn)的計(jì)算是對(duì)于這組預(yù)測(cè)器執(zhí)行的,并所以在中央處理單元計(jì)算功率和處理時(shí)間方面是密集 (intensive)消費(fèi)者。
發(fā)明內(nèi)容
本發(fā)明的目的之一是彌補(bǔ)上述現(xiàn)有技術(shù)中的缺陷。
為此,本發(fā)明的主題涉及一種用于編碼圖像或圖像序列的方法,所述圖像或圖像序列生成包括表示所述圖像之一中的至少一組像素的數(shù)據(jù)的數(shù)據(jù)流,所述方法包括步驟 -計(jì)算與所述像素組相關(guān)的預(yù)定數(shù)目預(yù)測(cè)器, -相對(duì)于預(yù)定選擇標(biāo)準(zhǔn)來選擇最佳預(yù)測(cè)器。
根據(jù)本發(fā)明的方法的顯著之處在于,其在所述計(jì)算和選擇步驟之間包括從所述計(jì)算的預(yù)定數(shù)目中消除至少一個(gè)預(yù)測(cè)器的步驟,對(duì)于至少兩個(gè)第i和第j預(yù)測(cè)器,所述步驟包括 -計(jì)算所述第j和第i預(yù)測(cè)器之間的差別, -對(duì)所計(jì)算的差別應(yīng)用變換, -對(duì)所應(yīng)用的變換的結(jié)果執(zhí)行量化操作, -比較所述量化操作的結(jié)果與預(yù)定值, -在所述量化操作的結(jié)果小于或等于所述預(yù)定值的情況下,消除第j預(yù)測(cè)器。
這樣的安排所以使得可能使用更少預(yù)測(cè)器用于塊的編碼,并由此令人滿意地降低上述競(jìng)爭(zhēng)信息的比特率。
此外,這樣的安排有利地使得可能定義不取決于要編碼的原始圖像的用于消除預(yù)測(cè)器的最佳標(biāo)準(zhǔn)。結(jié)果,這樣的消除標(biāo)準(zhǔn)當(dāng)在編碼器級(jí)采用時(shí),其可在解碼器級(jí)再現(xiàn)。
這樣的安排最終使得可能由于消除一個(gè)或多個(gè)預(yù)定預(yù)測(cè)器而獲得適于預(yù)測(cè)器的內(nèi)容和圖像的各種內(nèi)容的編碼。
對(duì)應(yīng)地,本發(fā)明還涉及表示圖像或圖像序列的數(shù)據(jù)流的解碼,所述流包括表示所述圖像之一中的至少一組像素的數(shù)據(jù),這樣的解碼方法包括步驟 -讀取所述流中包括的最佳預(yù)測(cè)器索引,所述索引是與所述像素組相關(guān)的預(yù)定數(shù)目預(yù)測(cè)器的函數(shù), -從讀取的索引中計(jì)算所述最佳預(yù)測(cè)器。
這樣的解碼的顯著之處在于,在所述讀取步驟之前,該方法包括以下步驟,包括 _計(jì)算所述預(yù)定數(shù)目預(yù)測(cè)器, -對(duì)于至少兩個(gè)第i和第j預(yù)測(cè)器,計(jì)算所述第j和第i預(yù)測(cè)器之間的差別, -對(duì)所計(jì)算的差別應(yīng)用變換, -對(duì)所應(yīng)用的變換的結(jié)果執(zhí)行量化操作, -比較所述量化操作的結(jié)果與預(yù)定值, -在所述量化操作的結(jié)果小于或等于所述預(yù)定值的情況下,消除第j預(yù)測(cè)器,使得在所述讀取步驟期間讀取的所述最佳預(yù)測(cè)器索引是減少數(shù)目的預(yù)測(cè)器的函數(shù)。
根據(jù)上述編碼和解碼方法的有利特征,根據(jù)用于優(yōu)化要消除的預(yù)測(cè)器的數(shù)目的標(biāo)準(zhǔn)來確定量化操作。
這樣的安排由此可能使得鄰近宏塊(on the fly)(也就是說,在要編碼(相應(yīng)地解碼)的當(dāng)前圖像的宏塊之后的宏塊)適應(yīng)用于對(duì)第j和第i預(yù)測(cè)器之間的差別的變換進(jìn)行量化的操作,以便對(duì)于每一宏塊獲得預(yù)測(cè)器數(shù)目的最佳消除。
根據(jù)上述編碼和解碼方法的另一有利特征,該量化操作使用在該編碼和解碼期間所執(zhí)行的量化操作自己使用的量化步長(zhǎng)作為參數(shù)。
這樣的安排使得可能由于消除一個(gè)或多個(gè)預(yù)定預(yù)測(cè)器而獲得適于預(yù)測(cè)器的內(nèi)容和圖像的各種內(nèi)容的預(yù)測(cè)器索引的編碼。
根據(jù)上述編碼和解碼方法的另一有利特征,所述預(yù)測(cè)器是空間或時(shí)間類型。
這樣的安排由此使得可能實(shí)現(xiàn)用于幀內(nèi)編碼(相應(yīng)地解碼)和用于幀間編碼(相應(yīng)地解碼)兩者的預(yù)測(cè)器的消除。
本發(fā)明還涉及一種用于編碼圖像或圖像序列的裝置,所述圖像或圖像序列生成包括表示所述圖像之一中的至少一組像素的數(shù)據(jù)的數(shù)據(jù)流,這樣的裝置包括 _用于計(jì)算與所述像素組相關(guān)的預(yù)定數(shù)目預(yù)測(cè)器的模塊, -用于相對(duì)于預(yù)定選擇標(biāo)準(zhǔn)來確定最佳預(yù)測(cè)器的判斷模塊。
這樣的裝置的顯著之處在于其還包括 -用于從所述預(yù)定數(shù)目中消除至少一個(gè)預(yù)測(cè)器的模塊,該模塊包括計(jì)算部件,用于相對(duì)于至少兩個(gè)第i和第j預(yù)測(cè)器 ·確定所述第j和第i預(yù)測(cè)器之間的差別, ·對(duì)所述計(jì)算的差別應(yīng)用變換, ·對(duì)所應(yīng)用的變換的結(jié)果執(zhí)行量化操作, ·比較所述量化操作的結(jié)果與預(yù)定值, ·在所述量化操作的結(jié)果小于或等于所述預(yù)定值的情況下,消除第j預(yù)測(cè)器。
本發(fā)明還涉及一種用于解碼表示圖像或圖像序列的數(shù)據(jù)流的裝置,所述流包括表示所述圖像之一中的至少一組像素的數(shù)據(jù),這樣的裝置包括 -用于讀取所述流中包括的最佳預(yù)測(cè)器索引的模塊,所述索引是與所述像素組相關(guān)的預(yù)定數(shù)目預(yù)測(cè)器的函數(shù), -用于從讀取的索引中計(jì)算所述最佳預(yù)測(cè)器的模塊。
這樣的裝置的顯著之處在于,其還包括 -用于計(jì)算所述預(yù)定數(shù)目預(yù)測(cè)器的模塊, -用于從所述預(yù)定數(shù)目中消除至少一個(gè)預(yù)測(cè)器的模塊,包括 ·計(jì)算部件,用于相對(duì)于至少兩個(gè)第i和第j預(yù)測(cè)器 V確定所述第j和第i預(yù)測(cè)器之間的差別, V對(duì)所述計(jì)算的差別應(yīng)用變換, V對(duì)所應(yīng)用的變換的結(jié)果執(zhí)行量化操作, V比較所述量化操作的結(jié)果和預(yù)定值, V在所述量化操作的結(jié)果小于或等于所述預(yù)定值的情況下,消除第j預(yù)測(cè)器, ·傳送部件,用于向所述讀取模塊傳送所獲得的減少數(shù)目的預(yù)測(cè)器。
本發(fā)明還涉及一種計(jì)算機(jī)程序,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),包括用于實(shí)現(xiàn)根據(jù)本發(fā)明的方法之一的指令。
通過閱讀參考附圖描述的兩個(gè)優(yōu)選實(shí)施例,其他特征和優(yōu)點(diǎn)將變得清楚,其中 -圖1表示根據(jù)本發(fā)明的編碼方法的步驟, -圖2表示根據(jù)本發(fā)明的編碼裝置的一個(gè)實(shí)施例, -圖3表示可能在根據(jù)本發(fā)明的編碼裝置中選擇的各種形式的分區(qū), -圖4表示在圖3中表示的各種初始分區(qū)的選擇之后分區(qū)的宏塊, -圖5表示在圖3A的幀內(nèi)編碼模式的情況下使用的空間預(yù)測(cè)器, -圖6表示用于優(yōu)化要消除的預(yù)測(cè)器的數(shù)目的標(biāo)準(zhǔn), -圖7表示根據(jù)本發(fā)明的解碼裝置, -圖8表示根據(jù)本發(fā)明的解碼方法的步驟, -圖9表示在具有半個(gè)像素分辨率的4X4幀間編碼的情況下使用的時(shí)間預(yù)測(cè)器。
具體實(shí)施例方式現(xiàn)在將描述本發(fā)明的實(shí)施例,其中使用根據(jù)本發(fā)明的編碼方法,來根據(jù)與通過根據(jù)H. 264/MPEG-4 AVC標(biāo)準(zhǔn)的編碼獲得的比特流接近的比特流對(duì)圖像序列進(jìn)行編碼。在該實(shí)施例中,根據(jù)本發(fā)明的編碼方法例如通過修改初始符合H. 264/MPEG-4 AVC標(biāo)準(zhǔn)的編碼器按照軟件或硬件方式來實(shí)現(xiàn)。根據(jù)本發(fā)明的編碼方法按照包括圖1中表示的步驟Cl到C12 的算法的形式來表示。
應(yīng)注意的是,根據(jù)本發(fā)明的解碼方法也通過修改初始符合H. 264/MPEG-4AVC標(biāo)準(zhǔn)的解碼器按照軟件或硬件方式來實(shí)現(xiàn)。
根據(jù)本發(fā)明的實(shí)施例,根據(jù)本發(fā)明的編碼方法在圖2中表示的編碼裝置CO中實(shí)現(xiàn)。編碼器CO所執(zhí)行的編碼是例如幀內(nèi)類型。
圖1中表示的第一步驟Cl是對(duì)于屬于要編碼的圖像序列的圖像IE的宏塊、從預(yù)定形式的預(yù)定一組分區(qū)中選定的較小特定分區(qū)的選擇。為此,如圖2中表示的,將例如尺寸 16X16的屬于圖像IE的宏塊MB作為輸入施加到分區(qū)選擇模塊SP。
該分區(qū)選擇模塊SP使用例如基于窮舉(exhaustive)競(jìng)爭(zhēng)的選擇方法或甚至使用具有偏差的算法的選擇方法。這樣的方法對(duì)于本領(lǐng)域技術(shù)人員來說是公知的 (參 JAL :G. J. Sullivan and Τ· Wiegand, “Rate-distortion optimization forvideo compression”,IEEE Signal Proc. Mag. ,pp. 74-90,1998) 它們所以稍后將不進(jìn)行描述。
所述分區(qū)在編碼器CO的數(shù)據(jù)庫(kù)BD中分組。這樣的分區(qū)可以是任何形式。
可能由選擇模塊SP選擇的宏塊的不同分區(qū)被表示為圖3中的非限制性示例。
圖3A表示具有正方形形式的初始分區(qū)PAl。
圖3B表示具有線形式的初始分區(qū)PA1。
圖1中表示的下一步驟C2是根據(jù)選定初始分區(qū)PAl (諸如圖3中表示的那些分區(qū)之一)將宏塊MB細(xì)分為η個(gè)分區(qū)PAl、PA2........PAn。這樣的細(xì)分由使用分區(qū)算法或根據(jù)預(yù)定分區(qū)執(zhí)行分區(qū)的圖2中表示的宏塊分區(qū)模塊PMBl執(zhí)行。
圖4表示在根據(jù)圖3中表示的初始分區(qū)PAl進(jìn)行細(xì)分之后已獲得的宏塊MB部分 (MBpart)。
圖4A表示包括四個(gè)分區(qū)PAl........PA4的已分區(qū)宏塊MB部分,所有分區(qū)具有正方形形式和相同數(shù)目像素。
圖4B表示包括四個(gè)分區(qū)PAl........PA4的已分區(qū)宏塊MB部分,所有分區(qū)具有線形式和相同數(shù)目像素。
在圖1中表示的步驟C3期間,分區(qū)模塊PMBl向圖2中表示的計(jì)算模塊CALl傳送已剛剛分區(qū)的宏塊MB部分。
在圖1中表示的步驟C4期間,計(jì)算模塊CALl確定計(jì)算所接收的已分區(qū)宏塊MB部分的各種可能預(yù)測(cè)所要使用的空間預(yù)測(cè)器的數(shù)目E1。在例如其中如圖4A表示的那樣幀內(nèi)編碼模式是8X8類型的情況下,計(jì)算模塊CALl按照本身已知的方式而確定存在九個(gè)可能空間預(yù)測(cè)器P1、P2........P9。
參考圖5,這些九個(gè)空間預(yù)測(cè)器分別對(duì)應(yīng)于九個(gè)可能方向,相對(duì)于這些方向,可相對(duì)于同一圖像中包括的參考分區(qū)來預(yù)測(cè)當(dāng)前分區(qū)PA1、PA2、PA3或PA4。這九個(gè)方向傳統(tǒng)上包括 -垂直方向Pl、 -水平方向P2、 _作為前述兩個(gè)方向的平均的DC方向P3、 -幾個(gè)對(duì)角方向P4到P9。
參考圖2,這樣的參考分區(qū)根據(jù)H. 264/MPEG-4 AVC標(biāo)準(zhǔn)來編碼,也就是說,其按照本身已知的方式經(jīng)受 -通過變換和量化模塊MTQl所執(zhí)行的離散余弦變換和量化進(jìn)行的編碼, -然后通過逆變換和量化模塊MTQIl所執(zhí)行的逆離散余弦變換和逆量化進(jìn)行的解碼。
根據(jù)本發(fā)明,在步驟C5期間,計(jì)算模塊CALl向用于消除預(yù)測(cè)器的模塊MELPl傳送所計(jì)算的預(yù)測(cè)器的集合E1,所述模塊的功能是從該集合中刪除多余的空間預(yù)測(cè)器(也就是說,可能在類似編碼中終止(culminate)的預(yù)測(cè)器)。
為此,模塊MELPl對(duì)于包括上述九個(gè)空間預(yù)測(cè)器Pl........Pj........P9的集合El執(zhí)行以下算法。
對(duì)于1彡i彡9和對(duì)于2彡j彡9,模塊MELPl在步驟C6期間計(jì)算差別Pj-Pi。
在步驟C7期間,模塊MELPl對(duì)計(jì)算的差別應(yīng)用變換Tl (Pj-Pi)。
這樣的變換是例如用于參考分區(qū)的上述編碼和解碼而使用的離散余弦變換。
作為變型,可使用其他已知變換,特別是離散小波變換、碎片小波變換和其他變換。
在步驟C8期間,模塊MELPl對(duì)獲得的變換系數(shù)執(zhí)行以下量化操作 Ql (Tl (Pj-Pi))。
量化操作由具有可以是心理視覺、平面、和其他類型系數(shù)的矩陣組成。
在步驟C9期間,模塊MELPl如下比較所獲得的量化結(jié)果和預(yù)定值ql QKTl(Pj-Pi)) ^ ql0 實(shí)際上,模塊MELPl計(jì)算以下等式 Qlopt(Tl(Pj-Pi)) = 0, 其中Qlopt定義了選定其系數(shù)以便從集合El中獲得預(yù)測(cè)器的最佳消除的矩陣。
量化矩陣Qlopt使用量化步長(zhǎng)QPlopt,該量化步長(zhǎng)QPlopt根據(jù)本發(fā)明的一個(gè)實(shí)施例對(duì)于使用的每一幀內(nèi)編碼模式來說是通過實(shí)驗(yàn)固定的。
在近似之后已估定,對(duì)于每一幀內(nèi)模式,QPlopt落入以下范圍 O ^ QPlopt ^ QP1+6,其中QPl是用于參考分區(qū)的上述編碼和解碼所使用的量化步長(zhǎng)。
從圖6中可以看出,在8X8幀內(nèi)編碼模式的情況下,通過使得QPlopt隨著圖像集合而變化,當(dāng)QPlopt = 4時(shí),獲得比特率的最大降低。
在上述步驟C9期間 -如果滿足等式Qlopt(Tl (Pj-Pi)) = 0,則模塊MELPl從預(yù)測(cè)器的集合El中消除預(yù)測(cè)器 Pj,Elres = El-{Pj}、 -如果不滿足等式Qlopt (Tl (Pj-Pi)) = 0,即 Qlopt (Tl (Pj-Pi)興 0,則模塊MELPl 在存儲(chǔ)器中保持預(yù)測(cè)器Pj。
在步驟ClO期間,預(yù)測(cè)計(jì)算模塊PREDl (圖1)相對(duì)于僅包括還沒有先前消除的預(yù)測(cè)器的預(yù)測(cè)器的有限集合Elres,計(jì)算宏塊MB部分的每一分區(qū)PAl........PAn的可能空間預(yù)測(cè)器。這樣的安排由此提供以下主要優(yōu)點(diǎn),使得可能獲得一個(gè)或多個(gè)預(yù)測(cè)器的索引成本降低,其中該索引意欲傳送到圖7中表示的解碼器DO。
一旦已由預(yù)測(cè)計(jì)算模塊PREDl計(jì)算了各種可能預(yù)測(cè),則在圖1中表示的步驟Cll 期間,圖2中表示的判斷模塊DCNl從頭到尾瀏覽圖像IE的已分區(qū)宏塊,并在該步驟Cll中選定用于對(duì)這些宏塊中的每一個(gè)進(jìn)行編碼的預(yù)測(cè)器。從宏塊的可能預(yù)測(cè)中,判斷模塊DCNl 根據(jù)本領(lǐng)域技術(shù)人員公知的比特率失真標(biāo)準(zhǔn)來選定最佳預(yù)測(cè)。
對(duì)于要編碼的當(dāng)前宏塊MB,判斷模塊DCm將預(yù)測(cè)器的有限集合Elres中的預(yù)測(cè)器置于競(jìng)爭(zhēng)。
然后在步驟C12期間,如H. 264/MPEG-4 AVC標(biāo)準(zhǔn)中那樣來對(duì)每一預(yù)測(cè)的宏塊 MBpred進(jìn)行編碼。
一旦已通過判斷模塊DCNl執(zhí)行了該結(jié)構(gòu)編碼,則與圖像IE的塊對(duì)應(yīng)的剩余部分的系數(shù)(如果有的話)被發(fā)送到變換和量化模塊MTQ1,以便經(jīng)受離散余弦變換和之后的量化。具有這些量化后系數(shù)的宏塊的片段然后被傳送到熵編碼模塊CE,以利用已按照與圖像 IE相同的方式編碼的視頻序列的其他圖像,來產(chǎn)生根據(jù)本發(fā)明編碼的視頻比特流F。
適當(dāng)編碼的比特流F經(jīng)由通信網(wǎng)絡(luò)傳送到遠(yuǎn)程終端。后者包括圖7中表示的解碼器DO。
比特流F被首先發(fā)送到熵解碼模塊DE,它提供圖2中表示的熵編碼模塊CE所執(zhí)行的編碼的逆解碼。然后,對(duì)于要重構(gòu)的每一圖像宏塊,該模塊DE所解碼的系數(shù)被發(fā)送到逆量化和逆變換模塊MQTI2。
圖像重構(gòu)模塊RI然后接收與在根據(jù)本發(fā)明的編碼步驟C12中由模塊DCNl (圖2) 所產(chǎn)生的數(shù)據(jù)對(duì)應(yīng)的已解碼數(shù)據(jù),傳送誤差分離。模塊RI實(shí)現(xiàn)圖8中表示的根據(jù)本發(fā)明的解碼方法的步驟Dl到Dll。
第一步驟Dl是在要解碼的圖像IE的當(dāng)前宏塊的片段中的已編碼數(shù)據(jù)結(jié)構(gòu)的解碼。按照本身已知的方式,重構(gòu)模塊RI從所述宏塊部分的數(shù)據(jù)中確定 _所述數(shù)據(jù)的編碼類型(幀內(nèi)或幀間)所描述的實(shí)施例中的幀內(nèi)。
-要重構(gòu)的宏塊的分區(qū)類型(4X4幀內(nèi)、8X8幀內(nèi)、線等)所描述的實(shí)施例中的 8X8幀內(nèi)。
-步驟Cll中由判斷模塊DCm選擇的最佳預(yù)測(cè)器的索引。
圖8中表示的以下步驟D2是根據(jù)步驟Dl中確定的分區(qū)來細(xì)分要解碼的當(dāng)前宏塊。為此,在所有方面與圖2中表示的模塊類似的宏塊分區(qū)模塊PMB2將宏塊細(xì)分為多個(gè)η 個(gè)分區(qū) ΡΑ1、ΡΑ2、......、ΡΑη。
在分區(qū)步驟D2之后,在圖8中表示的步驟D3期間,分區(qū)模塊PMB2將要解碼的剛被分區(qū)為η個(gè)分區(qū)的當(dāng)前宏塊傳送到圖7中表示的計(jì)算模塊CAL2,該計(jì)算模塊CAL2在所有方面與圖1的編碼器CO的計(jì)算模塊CALl類似。
在圖8中表示的步驟D4期間,計(jì)算模塊CAL2確定計(jì)算所接收的已分區(qū)宏塊MB部分的各種可能預(yù)測(cè)所要使用的空間預(yù)測(cè)器的數(shù)目Ε2。
在步驟D5期間,計(jì)算模塊CAL2向用于消除預(yù)測(cè)器的模塊MELP2傳送所計(jì)算的預(yù)測(cè)器的集合Ε2,該模塊MELP2在所有方面與圖1的編碼器CO的用于消除預(yù)測(cè)器的模塊 MELPl類似。
在步驟D6到D9期間,用于消除預(yù)測(cè)器的模塊MELP2執(zhí)行與上述編碼器CO的模塊 MELPl執(zhí)行的算法相同的算法,來從集合Ε2中刪除多余空間預(yù)測(cè)器(也就是說,可能在類似解碼中終止的預(yù)測(cè)器),并獲得預(yù)測(cè)器的縮小集合E2res。
在圖8中表示的步驟DlO期間,圖7中表示的判斷模塊DCN2從頭到尾瀏覽已分區(qū)的宏塊,并選定預(yù)測(cè)器來對(duì)這些宏塊中的每一個(gè)進(jìn)行解碼。判斷模塊DCN2根據(jù)本發(fā)明技術(shù)人員公知的比特率失真標(biāo)準(zhǔn)從用于宏塊的可能預(yù)測(cè)中選定最佳預(yù)測(cè)。
對(duì)于要解碼的當(dāng)前宏塊MB,判斷模塊DCN2將預(yù)測(cè)器的有限集合E2res的預(yù)測(cè)器置于競(jìng)爭(zhēng)。
每一預(yù)測(cè)的宏塊然后在步驟Dll期間如H. 264/MPEG-4 AVC標(biāo)準(zhǔn)那樣被解碼。
一旦已解碼了圖像IE的所有宏塊,圖像重構(gòu)模塊RI就供應(yīng)與圖像IE的解碼對(duì)應(yīng)的圖像ID作為來自解碼器DO的輸出。
給定在解碼器DO中執(zhí)行的用于消除預(yù)測(cè)器的算法在所有方面與在編碼器CO中執(zhí)行的算法相同的事實(shí),這大大降低了由使用的預(yù)測(cè)器導(dǎo)致的信息成本。
第二實(shí)施例的詳細(xì)描述 下面描述的第二實(shí)施例與先前實(shí)施例的區(qū)別之處在于以下事實(shí),圖2中表示的編碼裝置CO執(zhí)行幀間類型編碼而不是幀內(nèi)類型編碼。
第二實(shí)施例的一個(gè)目的是對(duì)于要編碼的每一塊進(jìn)行管理,以消除子像素分辨率, 從而降低涉及的位移向量的成本。
按照與幀內(nèi)模式的在前步驟Cl類似的方式,選擇模塊SP選擇在所描述的示例中全部具有塊的形式的分區(qū)。
按照與幀內(nèi)模式的在前步驟C2類似的方式,根據(jù)η個(gè)分區(qū)將當(dāng)前宏塊細(xì)分為例如十六個(gè)4X4塊。
下一步驟C3與在上述幀內(nèi)編碼期間執(zhí)行的步驟相同。
在下一步驟C4中,預(yù)測(cè)模塊PREDl的計(jì)算模塊CALl確定計(jì)算當(dāng)前4X4塊的各種可能預(yù)測(cè)所要使用的預(yù)測(cè)器(不再是空間預(yù)測(cè)器而是時(shí)間預(yù)測(cè)器)的數(shù)目。
按照本身已知的方式,計(jì)算模塊CALl確定描述當(dāng)前塊和圖9中表示的參考?jí)KBref 之間的移動(dòng)的位移向量所采取的各種方向。參考?jí)KBref屬于參考圖像,例如該序列的在前圖像。在例如其中將位移向量分離為半像素的情況下,按照同樣已知的方式,計(jì)算模塊CALl 對(duì)于參考像素計(jì)算總共以下九個(gè)預(yù)測(cè)器,如圖9中表示的那樣 -P,1 到整個(gè)像素的向量 -P,2 沿著向上垂直方向到1/2像素的向量 -P,3 沿著向下垂直方向到1/2像素的向量 -P,4 沿著向右水平方向到1/2像素的向量 -P,5 沿著向左水平方向到1/2像素的向量 -P,6 沿著右上對(duì)角方向到1/2像素的向量 -P,7 沿著右下對(duì)角方向到1/2像素的向量 -P,8 沿著左上對(duì)角方向到1/2像素的向量 -P,9 沿著左下對(duì)角方向到1/2像素的向量。
按照與上述步驟C5類似的方式,計(jì)算模塊CALl向用于消除預(yù)測(cè)器的模塊MELPl 傳送所計(jì)算的向量P’ 1到P’ 9的集合E’ 1。
按照與幀內(nèi)模式的步驟C6到C9類似的方式,消除模塊MELPl對(duì)于包括上述九個(gè)時(shí)間預(yù)測(cè)器P,1........P,j........P,9的集合Ε,1執(zhí)行以下算法。
實(shí)際上,模塊MELPl計(jì)算以下等式 Q,Iopt (T' 1(P,j_P,1)) = 0,對(duì)于 2 彡 j 彡 η 其中Q’ Iopt定義了這樣的矩陣,該矩陣的系數(shù)被選定以便獲得從所述到半像素的向量的集合Ε’ 1的最佳消除。
量化矩陣Q’ Iopt使用量化步長(zhǎng)QP’ Iopt,該量化步長(zhǎng)根據(jù)本發(fā)明的一個(gè)實(shí)施例對(duì)于使用的每一幀間編碼模式通過實(shí)驗(yàn)來設(shè)置。
在近似之后已估定,在4X4幀間模式的情況下,利用到半像素的分辨率,利用 QP,Iopt = 17獲得最大壓縮。
在上述步驟C9期間 -如果例如對(duì)于涉及的到半像素的向量的一半、滿足等式Q’Iopt (Τ’ 1 (P’ j_P’ 1)) =O達(dá)到M次,則模塊MELPl從集合E,1消除到半像素的所有預(yù)測(cè)器P,2 to P,9,以便獲得預(yù)測(cè)器的縮小集合,即縮小到到全像素的向量P’ 1的集合E’ Ires = P’ 1, -如果不滿足等式Q,Iopt(T' 1(P' j-P,1)) = 0,則模塊MELPl在存儲(chǔ)器中保持預(yù)測(cè)器P,j。
用于選定最佳預(yù)測(cè)的以下步驟Cll和用于編碼的以下步驟C12分別與幀內(nèi)模式的上述步驟Cll和C12類似,并且為此原因,將不再次描述。
解碼器DO的重構(gòu)模塊RI然后實(shí)現(xiàn)與上述用于幀內(nèi)模式的解碼方法的步驟類似的步驟Dl到D11,但是這次適合于幀間模式。
第一步驟Dl是在要解碼的圖像IE的當(dāng)前宏塊的部分中編碼的數(shù)據(jù)結(jié)構(gòu)的解碼。 按照本身已知的方式,重構(gòu)模塊RI從所述宏塊部分的數(shù)據(jù)確定 -在所描述的實(shí)施例中,所述幀間數(shù)據(jù)的編碼類型, -要重構(gòu)的宏塊的分區(qū)的類型,所描述的實(shí)施例中的8X8幀間, -步驟Cll中由判斷模塊Dcm選擇的最佳位移向量的索引。
在下一步驟D2期間,宏塊分區(qū)模塊PMB2將宏塊細(xì)分為十六個(gè)4X4塊。
在分區(qū)步驟D2之后,在與幀內(nèi)模式的上述步驟類似的步驟D3期間,分區(qū)模塊PMB2 將要解碼的剛被分區(qū)為十六個(gè)分區(qū)的當(dāng)前宏塊傳送到上述計(jì)算模塊CAL2。
在步驟D4期間,計(jì)算模塊CAL2確定計(jì)算所接收的已分區(qū)宏塊MB部分的各種可能預(yù)測(cè)所要使用的時(shí)間預(yù)測(cè)器的數(shù)目E’ 2。
在步驟D5期間,計(jì)算模塊CAL2向上述用于消除預(yù)測(cè)器的模塊MELP2傳送這九個(gè)所計(jì)算的位移向量P’ 1到P’ 9的集合E’ 2。
在步驟D6到D9期間,用于消除預(yù)測(cè)器的模塊MELP2執(zhí)行與上述編碼器CO的模塊 MELPl所執(zhí)行的算法相同的算法,來從集合E’2中刪除到半像素的向量,并由此獲得現(xiàn)在僅包括到全像素的向量P’ 1的縮小集合E2res。
在步驟DlO期間,判斷模塊DCN2從頭到尾瀏覽已分區(qū)的宏塊并選定預(yù)測(cè)器來對(duì)這些宏塊中的每一個(gè)進(jìn)行解碼。判斷模塊DCN2根據(jù)本發(fā)明技術(shù)人員公知的比特率失真標(biāo)準(zhǔn)來從用于宏塊的可能預(yù)測(cè)中選定最佳位移向量。
對(duì)于要解碼的當(dāng)前宏塊MB,判斷模塊DCN2將預(yù)測(cè)器的有限集合E’2res的向量置于競(jìng)爭(zhēng)。給定E’ 2res僅包括向量P’ 1的事實(shí),判斷模塊DCN2缺省選擇該向量。
每一預(yù)測(cè)的宏塊然后在步驟Dll期間如H. 264/MPEG-4 AVC標(biāo)準(zhǔn)那樣被解碼。
一旦已解碼了圖像IE的所有宏塊,圖像重構(gòu)模塊RI就供應(yīng)與圖像IE的解碼對(duì)應(yīng)的圖像ID作為來自解碼器DO的輸出。
給定對(duì)解碼器DO執(zhí)行的用于消除預(yù)測(cè)器的算法在所有方面與對(duì)編碼器CO執(zhí)行的算法相同的事實(shí),大大降低了由使用的到半像素的向量導(dǎo)致的信息成本。
毫無疑問的是,上面已描述的實(shí)施例純粹作為指示給出而沒有按照任何方式限制,并且本領(lǐng)域技術(shù)人員可容易地進(jìn)行許多修改,而不按照任何方式脫離本發(fā)明的上下文。
由此,例如,消除對(duì)于編碼(相應(yīng)地,解碼)計(jì)算的某些數(shù)目預(yù)測(cè)器所使用的量化操作Ql (相應(yīng)地,Q2)可按照與在編碼時(shí)(相應(yīng)地,解碼時(shí))執(zhí)行的量化操作相同的方式經(jīng)受后處理操作。這樣的后處理的示例包括例如當(dāng)量化矩陣的系數(shù)大部分等于零時(shí),將所有系數(shù)設(shè)置為零。
關(guān)于第二實(shí)施例,除了到半像素的位移向量之外,還可能考慮到四分之一像素和/
或到八分之一像素........和/或到η分之一像素的位移向量。可根據(jù)要編碼的圖像的分辨率來進(jìn)行位移向量分離的一種或多種類型的選擇。
權(quán)利要求
1.一種用于編碼圖像或圖像序列的方法,所述圖像或圖像序列生成包括表示所述圖像 (IE)之一中的至少一組像素(MB)的數(shù)據(jù)的數(shù)據(jù)流(F),所述方法包括步驟-計(jì)算(C4)與所述像素組(MB)相關(guān)的預(yù)定數(shù)目預(yù)測(cè)器(Pl,. . .,Pn), -相對(duì)于預(yù)定選擇標(biāo)準(zhǔn)來選擇最佳預(yù)測(cè)器,所述方法的特征在于其在所述計(jì)算和選擇步驟之間包括用于從所述計(jì)算的預(yù)定數(shù)目中消除至少一個(gè)預(yù)測(cè)器的步驟,對(duì)于至少兩個(gè)第i (Pi)和第j(Pj)預(yù)測(cè)器,所述步驟包括 -計(jì)算(C6)所述第j和第i預(yù)測(cè)器之間的差別, -對(duì)所述計(jì)算的差別應(yīng)用(C7)變換, -對(duì)所應(yīng)用的變換的結(jié)果執(zhí)行(C9)量化操作, -比較所述量化操作的結(jié)果與預(yù)定值,-在所述量化操作的結(jié)果小于或等于所述預(yù)定值的情況下,消除第j預(yù)測(cè)器。
2.根據(jù)權(quán)利要求1的編碼方法,其間根據(jù)用于優(yōu)化要消除的預(yù)測(cè)器的數(shù)目的標(biāo)準(zhǔn)來確定量化操作(Qlopt)。
3.根據(jù)權(quán)利要求1或權(quán)利要求2的編碼方法,其中該量化操作使用在該編碼期間所執(zhí)行的量化操作自己使用的量化步長(zhǎng)作為參數(shù)。
4.根據(jù)權(quán)利要求1的編碼方法,其中所述預(yù)測(cè)器是空間或時(shí)間類型。
5.一種用于解碼表示圖像或圖像序列的數(shù)據(jù)流(F)的方法,所述流(F)包括表示所述圖像(IE)之一中的至少一組像素的數(shù)據(jù),所述方法包括步驟-讀取所述流中包括的最佳預(yù)測(cè)器索引,所述索引是與所述像素組相關(guān)的預(yù)定數(shù)目預(yù)測(cè)器(Pl,...,Pn)的函數(shù),-從讀取的索引中計(jì)算所述最佳預(yù)測(cè)器,所述方法的特征在于,在所述讀取步驟之前,該方法包括以下步驟,包括 -計(jì)算(D4)所述預(yù)定數(shù)目預(yù)測(cè)器(PI,..., Pn),-對(duì)于至少兩個(gè)第i (Pi)和第j(Pj)預(yù)測(cè)器,計(jì)算(D6)所述第j和第i預(yù)測(cè)器之間的差別,-對(duì)所述計(jì)算的差別應(yīng)用(D7)變換, -對(duì)所應(yīng)用的變換的結(jié)果執(zhí)行(D8)量化操作, -比較(D9)所述量化操作的結(jié)果與預(yù)定值,-在所述量化操作的結(jié)果小于或等于所述預(yù)定值的情況下,消除第j預(yù)測(cè)器,使得在所述讀取步驟期間讀取的所述最佳預(yù)測(cè)器索引是減少數(shù)目的預(yù)測(cè)器的函數(shù)。
6.根據(jù)權(quán)利要求5的解碼方法,其間根據(jù)用于優(yōu)化要消除的預(yù)測(cè)器的數(shù)目的標(biāo)準(zhǔn)來確定量化操作。
7.根據(jù)權(quán)利要求5或權(quán)利要求6的解碼方法,其中該量化操作使用在該解碼期間所執(zhí)行的量化操作自己使用的量化步長(zhǎng)作為參數(shù)。
8.根據(jù)權(quán)利要求5的解碼方法,其中所述預(yù)測(cè)器是空間或時(shí)間類型。
9.一種用于編碼圖像或圖像序列的裝置(CO),所述圖像或圖像序列生成包括表示所述圖像(IE)之一中的至少一組像素的數(shù)據(jù)的數(shù)據(jù)流(F),所述裝置包括-用于計(jì)算與所述像素組(MB)相關(guān)的預(yù)定數(shù)目預(yù)測(cè)器(Pl,...,Pn)的模塊(CAL1), -用于相對(duì)于預(yù)定選擇標(biāo)準(zhǔn)來確定最佳預(yù)測(cè)器的判斷模塊(DCNl),所述裝置的特征在于其還包括-用于從所述預(yù)定數(shù)目中消除至少一個(gè)預(yù)測(cè)器的模塊(MELPl),該模塊包括計(jì)算部件, 用于相對(duì)于至少兩個(gè)第i (Pi)和第j (Pj)預(yù)測(cè)器 確定所述第j和第i預(yù)測(cè)器之間的差別(Pj-Pi), 對(duì)所述計(jì)算的差別應(yīng)用變換, 對(duì)所應(yīng)用的變換的結(jié)果執(zhí)行量化操作, 比較所述量化操作的結(jié)果與預(yù)定值, 在所述量化操作的結(jié)果小于或等于所述預(yù)定值的情況下,消除第j預(yù)測(cè)器。
10.一種用于解碼表示圖像或圖像序列的數(shù)據(jù)流(F)的裝置(DO),所述流(F)包括表示所述圖像(IE)之一中的至少一組像素的數(shù)據(jù),所述裝置包括_用于讀取所述流中包括的最佳預(yù)測(cè)器索引的模塊,所述索引是與所述像素組相關(guān)的預(yù)定數(shù)目(E)預(yù)測(cè)器(P1,. . .,Pn)的函數(shù),_用于從讀取的索引計(jì)算所述最佳預(yù)測(cè)器的模塊, 所述裝置的特征在于,其還包括-用于計(jì)算所述預(yù)定數(shù)目預(yù)測(cè)器(Pl,...,Pn)的模塊(CAL2), -用于從所述預(yù)定數(shù)目中消除至少一個(gè)預(yù)測(cè)器的模塊(MELP2),包括 計(jì)算部件,用于相對(duì)于至少兩個(gè)第i (Pi)和第j(Pj)預(yù)測(cè)器 V確定所述第j和第i預(yù)測(cè)器之間的差別(Pj-Pi), V對(duì)所述計(jì)算的差別應(yīng)用變換, V對(duì)所應(yīng)用的變換的結(jié)果執(zhí)行量化操作, V比較所述量化操作的結(jié)果和預(yù)定值,V在所述量化操作的結(jié)果小于或等于所述預(yù)定值的情況下,消除第j預(yù)測(cè)器, 傳送部件,用于向所述讀取模塊傳送所獲得的減少預(yù)定數(shù)目的預(yù)測(cè)器。
11.一種計(jì)算機(jī)程序,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),包括用于實(shí)現(xiàn)根據(jù)權(quán)利要求1到8中的任一個(gè)的方法之一的指令。
全文摘要
本發(fā)明涉及一種用于編碼圖像或圖像序列的方法,所述圖像或圖像序列生成包括表示所述圖像(IE)之一中的至少一組像素(MB)的數(shù)據(jù)的數(shù)據(jù)流(F),所述方法包括步驟計(jì)算與所述像素組(MB)相關(guān)的預(yù)定數(shù)目預(yù)測(cè)器(P1,...,Pn),并根據(jù)預(yù)定選擇標(biāo)準(zhǔn)來選擇最佳預(yù)測(cè)器。根據(jù)本發(fā)明,在所述計(jì)算和選擇步驟之間,執(zhí)行利用計(jì)算的預(yù)定數(shù)目消除至少一個(gè)預(yù)測(cè)器的步驟,對(duì)于至少兩個(gè)第i(Pi)和第j(Pj)預(yù)測(cè)器,所述步驟包括計(jì)算所述第j和第i預(yù)測(cè)器之間的差別,對(duì)所述計(jì)算的差別應(yīng)用變換,對(duì)所應(yīng)用的變換的結(jié)果執(zhí)行量化操作,比較所述量化操作的結(jié)果與預(yù)定值,在所述量化操作的結(jié)果小于或等于所述預(yù)定值的情況下,消除第j預(yù)測(cè)器。
文檔編號(hào)H04N7/50GK102187668SQ200980140690
公開日2011年9月14日 申請(qǐng)日期2009年10月12日 優(yōu)先權(quán)日2008年10月14日
發(fā)明者紀(jì)堯姆·拉羅奇, 喬爾·瓊格 申請(qǐng)人:法國(guó)電信公司