最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

參考幀編解碼的方法與裝置與流程

文檔序號:11157569閱讀:1480來源:國知局
參考幀編解碼的方法與裝置與制造工藝

本發(fā)明涉及視頻圖像處理領(lǐng)域,尤其涉及參考幀編解碼的方法與裝置。



背景技術(shù):

數(shù)字視頻能力可并入到大范圍的裝置中,包含數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、平板計(jì)算機(jī)、電子書閱讀器、數(shù)碼相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、視頻會議裝置、視頻流裝置等等。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如由MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分高級視頻編解碼(AVC)、ITU-TH.265高效率視頻編解碼(HEVC)標(biāo)準(zhǔn)定義的標(biāo)準(zhǔn)和所述標(biāo)準(zhǔn)的擴(kuò)展部分中所描述的那些視頻壓縮技術(shù),從而更高效地發(fā)射及接收數(shù)字視頻信息。視頻裝置可通過實(shí)施這些視頻編解碼技術(shù)來更高效地發(fā)射、接收、編碼、解碼和/或存儲數(shù)字視頻信息。

在視頻編解碼領(lǐng)域中,幀的概念是指一副完整的圖像,由一幀一幀的圖像按照一定的次序和幀速率組成視頻格式后即可播放。當(dāng)幀速率達(dá)到一定的速度后,兩幀之間的間隔時(shí)間小于人眼的分辨極限,會出現(xiàn)短暫的視覺停留,方才能看似動態(tài)的出現(xiàn)在屏幕上。視頻文件能夠?qū)崿F(xiàn)壓縮的基礎(chǔ)是單幀數(shù)字圖像的壓縮編碼,數(shù)字化后的圖像中存在很多的重復(fù)表示信息,稱之為冗余信息。一幀圖像中往往存有許多空間結(jié)構(gòu)相同或相似的地方,例如同一物體或背景中的采樣點(diǎn)顏色之間大都存在著緊密關(guān)聯(lián)性和相似性。在多幀圖像組中,一幀圖像和其前一幀或后一幀基本上都有巨大的相關(guān)性,描述信息的像素值差別很小,這些都是可以被壓縮的部分。同樣的道理,視頻文件中不但存在著空間冗余信息,而且包含大量的時(shí)間冗余信息,這是由視頻的組成結(jié)構(gòu)導(dǎo)致的。例如,視頻采樣的幀速率一般為25幀/秒至30幀/秒,特殊情況中會出現(xiàn)60幀/秒的可能。也就是說,相鄰兩幀間的采樣時(shí)間間隔至少為1/30秒到1/25秒。在這么短的時(shí)間內(nèi),采樣得到的圖像畫面中基本上 都存在大量的相似信息,畫面之間存在巨大關(guān)聯(lián)性。但是在原始的數(shù)字視頻錄入系統(tǒng)中是各自獨(dú)立的記錄,沒有考慮和利用到這些連貫相似特性,這就造成了相當(dāng)巨大的重復(fù)多余的數(shù)據(jù)量。另外,已通過研究表明,從人眼的視覺敏感度這一心理特性的角度出發(fā),視頻信息中也是存在可以用來壓縮的部分,即視覺冗余。所謂視覺冗余,是指利用人眼對亮度變化比較敏感,而對色度的變化相對不敏感的勝利特性來適當(dāng)?shù)膲嚎s視頻比特流。在高亮度的區(qū)域,人眼視覺對亮度變化的敏感度呈現(xiàn)下降趨勢,轉(zhuǎn)而對物體的邊緣處較為敏感,內(nèi)部區(qū)域相對不敏感;對整體結(jié)構(gòu)較為敏感,對內(nèi)部細(xì)節(jié)變換相對不敏感。因?yàn)橐曨l圖像信息的最終服務(wù)對象是我們?nèi)祟惾后w,所以可以充分利用人眼的這些特性對原有的視頻圖像信息進(jìn)行壓縮處理,達(dá)到更佳的壓縮效果。除了上面提到的空間冗余、時(shí)間冗余和視覺冗余外,視頻圖像信息中還會存在信息熵冗余、結(jié)構(gòu)冗余、知識冗余、重要性冗余等等這一系列的冗余信息。視頻壓縮編碼的目的就是使用各種技術(shù)方法將視頻序列中的冗余信息去除掉,以達(dá)到減小存儲空間和節(jié)省傳輸帶寬的效果。

就目前的技術(shù)發(fā)展現(xiàn)狀而言,視頻壓縮處理技術(shù)主要包括幀內(nèi)預(yù)測、幀間預(yù)測、變換量化、熵編碼以及消塊濾波處理等。在國際通用范圍內(nèi),存在的視頻壓縮編碼標(biāo)準(zhǔn)中主流的壓縮編碼方式主要有四種:色度抽樣、預(yù)測編碼、變換編碼和量化編碼。

色度抽樣:此方式充分利用了人眼的視覺心理特點(diǎn),從底層的數(shù)據(jù)表示中就開始設(shè)法最大限度的縮減單個元素描述的數(shù)據(jù)量。在電視系統(tǒng)中多數(shù)采用的是亮度-色度-色度(YUV)顏色編碼,它是歐洲電視系統(tǒng)廣泛采用的標(biāo)準(zhǔn)。YUV顏色空間中包括一個亮度信號Y和兩個色差信號U和V,三個分量彼此獨(dú)立。YUV顏色模式彼此分開的表示方式更加靈活,傳輸占用帶寬少,比傳統(tǒng)的紅綠藍(lán)(RGB)色彩模型更具優(yōu)勢。例如,YUV 4:2:0形式表示兩色度分量U和V在水平方向和垂直方向上都只有亮度Y分量的一半,即4個采樣像素點(diǎn)中存在4個亮度分量Y,而色度分量U和V則只有一個。這樣表示時(shí),數(shù)據(jù)量進(jìn)一步縮小,僅為原始的33%左右。利用人眼生理視覺特性,通過這種色度抽樣的方式實(shí)現(xiàn)視頻壓縮的目的,是目前廣泛采用的視頻數(shù)據(jù)壓縮方式之一。

預(yù)測編碼:即利用之前已編碼幀的數(shù)據(jù)信息來預(yù)測當(dāng)前將要編碼的幀。通過預(yù)測得到一個預(yù)測值,它不完全等同與實(shí)際值,之間存在著一定的殘差 值。如果預(yù)測越適合,則預(yù)測值就會越接近實(shí)際值,殘差值就越小,這樣對殘差值進(jìn)行編碼就能大大減小數(shù)據(jù)量,在解碼端解碼時(shí)運(yùn)用殘差值加上預(yù)測值還原重構(gòu)出初始圖像,這就是預(yù)測編碼的基本思想方法。在主流編碼標(biāo)準(zhǔn)中預(yù)測編碼分為幀內(nèi)預(yù)測和幀間預(yù)測兩種基本類型。

變換編碼:是不直接對原本的空間域信息進(jìn)行編碼,而是將信息采樣值按照某種形式的變換函數(shù),從當(dāng)前域轉(zhuǎn)換到另外一種人為定義域中(通常稱為變換域),再根據(jù)信息在變換域的分布特性進(jìn)行壓縮編碼。變換編碼的原因是:視頻圖像數(shù)據(jù)往往在空間域的數(shù)據(jù)相關(guān)性大,導(dǎo)致大量冗余信息的存在,直接編碼需要很大的比特量。而在變換域中數(shù)據(jù)相關(guān)性則大大減少,使得編碼的冗余信息減少,編碼所需的數(shù)據(jù)量也隨之大大減少,這樣就能夠得到較高的壓縮比,而且可以實(shí)現(xiàn)較好的壓縮效果。典型的變換編碼有卡洛(K-L)變換、傅立葉變換等。整數(shù)離散余弦變換(DCT)是許多國際標(biāo)準(zhǔn)中都普遍采用的變換編碼方式。

量化編碼:上述提到的變換編碼其實(shí)本身并不壓縮數(shù)據(jù),量化過程才是壓縮數(shù)據(jù)的有力手段,也是有損壓縮中數(shù)據(jù)“損失”的主要原因。量化的過程就是將動態(tài)范圍較大的輸入值強(qiáng)行規(guī)劃成較少的輸出值的過程。因?yàn)榱炕斎胫捣秶^大,需要較多的比特?cái)?shù)表示,而“強(qiáng)行規(guī)劃”后的輸出值范圍較小,從而只需要少量的比特?cái)?shù)即可表示。每個量化輸入被歸一化到一個量化輸出,即量化到某個數(shù)量級中,這些數(shù)量級通常被稱之為量化級(通常由編碼器規(guī)定)。

在基于混合編碼架構(gòu)的編碼算法中,上述壓縮編碼方式被混合使用,編碼器控制模塊根據(jù)視頻幀中不同圖像塊的局部特性,選擇該圖像塊所采用的編碼模式。對幀內(nèi)預(yù)測編碼的塊進(jìn)行頻域或空域預(yù)測,對幀間預(yù)測編碼的塊進(jìn)行運(yùn)動補(bǔ)償預(yù)測,預(yù)測的殘差再通過變換和量化處理形成殘差系數(shù),最后通過熵編碼器生成最終的碼流。為避免預(yù)測誤差的累積,幀內(nèi)或幀間預(yù)測的參考信號是通過編碼端的解碼模塊得到。變換和量化后的殘差系數(shù)經(jīng)過反量化和反變換重建殘差信號,再與預(yù)測的參考信號相加得到重建的圖像。環(huán)路濾波會對重建后的圖像進(jìn)行像素修正,提高重建圖像的編碼質(zhì)量。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明公開了一種提高編碼效率的參考幀的編解碼的方法。

運(yùn)動補(bǔ)償是視頻編碼中提高壓縮效率最關(guān)鍵的技術(shù)之一。傳統(tǒng)的基于塊匹配的運(yùn)動補(bǔ)償是主流的視頻編碼器,特別是視頻編碼標(biāo)準(zhǔn)中,廣泛采用的一種方法。在基于塊匹配的運(yùn)動補(bǔ)償方法中,一個幀間預(yù)測塊采用的是平移的運(yùn)動模型,其假設(shè)一個塊中所有像素位置上的運(yùn)動向量相等。然而,這種假設(shè)在很多情況下并不成立?,F(xiàn)實(shí)視頻中物體的運(yùn)動經(jīng)常是平移、旋轉(zhuǎn)、縮放等運(yùn)動的復(fù)雜組合。若一個像素塊中含有這些復(fù)雜的運(yùn)動,則傳統(tǒng)的基于塊匹配的運(yùn)動補(bǔ)償方法得到的預(yù)測信號就不夠準(zhǔn)確,因此不能夠充分去除幀間相關(guān)性。為了解決這個問題,高階運(yùn)動模型被引入到視頻編碼的運(yùn)動補(bǔ)償中。相比于平移運(yùn)動模型,高階運(yùn)動模型的自由度更大,允許一個幀間預(yù)測塊中的每個像素的運(yùn)動向量各不相同,即高階運(yùn)動模型產(chǎn)生的運(yùn)動矢量場具有更好的精度。

基于控制點(diǎn)描述的仿射運(yùn)動模型是高階運(yùn)動模型中比較有代表性的一種。與傳統(tǒng)的平移運(yùn)動模型不同,塊中各個像素點(diǎn)的運(yùn)動向量的值與其所在位置有關(guān),是坐標(biāo)位置的一階線性方程。仿射運(yùn)動模型允許參考塊經(jīng)過旋轉(zhuǎn)、縮放等扭曲變換,在運(yùn)動補(bǔ)償時(shí)可以得到更精確的預(yù)測塊。

仿射模式可以更好的提高預(yù)測塊的精度值,提高編碼的效率,但是另一方面,相對于基于平移運(yùn)動模型的統(tǒng)一的運(yùn)動信息,需要花費(fèi)更多的碼率編碼各個控制點(diǎn)的運(yùn)動信息,同時(shí),由于候選預(yù)測模式的增加,用來編碼預(yù)測模式選擇結(jié)果的碼率也在增加。這些額外的碼率消耗,都影響了編碼效率的提高。

在本發(fā)明的第一個方面,公開了一種參考幀的解碼方法,具體包括:

在解碼端解碼接收到的視頻碼流,從而解碼重建出圖像幀的過程中,需要已經(jīng)完成解碼重建的圖像幀作為當(dāng)前待解碼幀的參考幀,當(dāng)前待解碼幀參考所述的參考幀完成解碼重建。并非所有的解碼重建后的圖像幀都被用來作為當(dāng)前待解碼幀的參考幀,只用存儲于參考幀列表中的解碼重建后的圖像參考幀才會被作為參考幀供當(dāng)前待解碼幀選擇使用,這些參考幀列表中的參考幀,也被稱為當(dāng)前待解碼幀的候選參考幀。參考幀列表也隨著待解碼幀的解碼完成而更新。在一些實(shí)施例中,待解碼幀在完成解碼重建后會加入?yún)⒖紟斜恚鳛楹罄m(xù)待解碼幀的參考幀。

不妨設(shè)當(dāng)前的待解碼幀已經(jīng)完成解碼重建,可選的,可以對所述解碼重建后的圖像幀做像素插值,所述像素插值的方法,包括單幀的圖像分像素插 值以及多幀的運(yùn)動估計(jì)插值,目的都在于提高該解碼重建后圖像作為參考圖像在運(yùn)動估計(jì)時(shí)的精準(zhǔn)度,不作限定。不妨將所述解碼重建幀或者像素插值后的解碼重建幀稱為第一參考幀。

解析碼流中的映射參數(shù)。一般的,映射參數(shù)的個數(shù)不小于2個。映射參數(shù)在編碼端編入碼流,通過編解碼端共同遵守的操作規(guī)范,解碼端以與編碼端的編碼方式相對應(yīng)的解碼方式,從碼流中解析這些映射參數(shù)。

應(yīng)理解,這些映射參數(shù)是以幀級的方式傳遞的,可以在圖像參數(shù)集(PPS,picture parameter set)中傳遞,也可以在條帶頭(slice header),或作為其它幀級語法元素傳遞,不作限定。

根據(jù)經(jīng)驗(yàn)或者試驗(yàn)數(shù)據(jù),預(yù)先設(shè)置一種映射函數(shù),這種映射函數(shù)反映了待生成的參考幀,不妨稱為第二參考幀,上的任意一點(diǎn)與第一參考幀上的像素單元的位置映射關(guān)系。在一些實(shí)施例中,映射函數(shù)的輸出為目標(biāo)像素單元的位置,輸入為源像素單元的位置和待定參數(shù)。因此,結(jié)合從碼流中獲得的映射參數(shù),可以建立表征第二參考幀上的任意一點(diǎn)與第一參考幀上的像素單元的位置映射關(guān)系的映射函數(shù)。

應(yīng)理解,像素單元,可以為一個像素點(diǎn),或者若干在平面位置上相鄰的像素點(diǎn)的集合,比如一個2x2像素點(diǎn)的集合,不作限定,對應(yīng)的,像素單元的位置,可以以它的左上角的像素點(diǎn)或者像素集合中心位置的像素點(diǎn),或者預(yù)置的任意像素點(diǎn)的位置來表示。在本發(fā)明實(shí)施例中,像素單元的坐標(biāo)位置一般指像素單元左上角的像素點(diǎn)的坐標(biāo)位置。

在映射函數(shù)的推導(dǎo)下,第二參考幀上的每一點(diǎn)都可以找到其在第一參考幀中的映射點(diǎn),并獲取所述映射點(diǎn)的像素值作為自己的像素值。當(dāng)?shù)诙⒖紟械拿恳稽c(diǎn)都完成這一步驟時(shí),第二參考幀就生成了。應(yīng)理解,像素單元作為一個整體參與所述的映射點(diǎn)的確定過程,映射點(diǎn)的像素單元中的各個像素點(diǎn)的像素值位置對應(yīng)地賦予第二參考幀中映射的像素單元的各個像素點(diǎn)。

在一個實(shí)施例中,上文所述的映射函數(shù)為x′=m0x+m1y+m2,y′=m3x+m4y+m5,其中,x,y為源像素單元的橫、縱坐標(biāo),x′,y′為與所述源像素單元x,y具有所述映射關(guān)系的目標(biāo)像素單元的橫、縱坐標(biāo),m0,m1,m2,m3,m4,m5為所述映射參數(shù);對應(yīng)的,所述根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第一參考幀中,獲取與第二參考幀的第二像素單元具有映射關(guān)系的第一像素單元,包括:在所述第一參考幀中,所述第一像素單元的 位置為x′=m0x+m1y+m2,y′=m3x+m4y+m5,其中,x,y為所述第二像素單元的橫、縱坐標(biāo),x′,y′為與所述第二像素單元具有所述映射關(guān)系的所述第一像素單元的橫、縱坐標(biāo)。應(yīng)理解,在本實(shí)施例中,采用了6參數(shù)的映射函數(shù)。申請?zhí)枮镃N201010247275.7、CN201410584175.1、CN201410526608.8、CN201510085362.X、PCT/CN2015/073969、CN201510249484.8、CN201510391765.7、CN201510543542.8等專利申請,上述文件的全部內(nèi)容以引用的方式并入本文中,披露了采用其他參數(shù)的映射函數(shù),比如2參數(shù)、4參數(shù)、8參數(shù)等,不作限定。應(yīng)理解,所述從碼流中解析的映射參數(shù)的個數(shù)應(yīng)該與對應(yīng)的映射函數(shù)所需要的待定系數(shù)的個數(shù)相一致。

生成的第二參考幀只有加入?yún)⒖紟斜碇胁拍軌虮缓罄m(xù)的待解碼幀所選擇使用,高效地設(shè)計(jì)參考幀列表的組成策略可以提高編碼效率,反之,如果選擇不合適的參考幀加入到參考幀列表中,則會降低編碼效率。

在一個實(shí)施例中,將解碼重建后的圖像幀和第二參考幀以相鄰的位置關(guān)系加入到參考幀列表中。

在一個實(shí)施例中,僅將第二參考幀加入到參考幀列表中。

在一個實(shí)施例中,根據(jù)本發(fā)明第一方面的方法,相對于多個解碼重建后的圖像幀,一般的,個數(shù)不少于兩個,不妨以兩個舉例,生成第二參考幀和第四參考幀。將第二參考幀和第四參考幀的對應(yīng)像素單元加權(quán)相加,獲得新的參考幀,不妨稱為第五參考幀。應(yīng)理解,這里的加權(quán)相加,可以根據(jù)參考幀的不同質(zhì)量,不同可靠性等指標(biāo)來設(shè)置權(quán)值,不作限定。舉例性的,可以將第二參考幀和第四參考幀的對應(yīng)像素單元計(jì)算均值。將解碼重建后的圖像幀或者第五參考幀加入到參考幀列表中,也可以將它們同時(shí)加入到參考幀列表中。

在一個實(shí)施例中,任取第一參考幀中的一個區(qū)域,示例性的,可以取整個第一參考幀,則所述區(qū)域以第一參考幀四個頂點(diǎn)為頂點(diǎn)的矩陣,也可以在第一參考幀中隨意獲取任意形狀的區(qū)域,不作限定。不妨將整個第一參考幀所覆蓋的區(qū)域稱為第一區(qū)域。按照本發(fā)明第一方面中的映射函數(shù),計(jì)算出這四個第一區(qū)域的頂點(diǎn)在第二參考幀中對應(yīng)的四個散點(diǎn)的位置。依照第一區(qū)域四個頂點(diǎn)的連接關(guān)系,連接四個散點(diǎn),從而在第二參考幀中圈出一片區(qū)域,這個被圈出的區(qū)域不妨設(shè)為第二區(qū)域。在坐標(biāo)平面位置關(guān)系上,在第一區(qū)域和第二區(qū)域所覆蓋的范圍內(nèi)存在重疊的部分和不重疊的部分。重疊的部分被 稱為第一區(qū)域和第二區(qū)域的交集。所述第一區(qū)域與所述第二區(qū)域范圍內(nèi)但不重疊的部分連同交集部分被稱為第一區(qū)域和第二區(qū)域的并集。計(jì)算上述交集面積和并集面積的比值,當(dāng)比值小于預(yù)設(shè)值時(shí),將所述第二參考幀加入所述參考幀列表;否則,將解碼重建后的圖像幀加入所述參考幀列表。應(yīng)理解,本方案的目的是為了判斷解碼重建后的圖像幀和第二參考幀的差別,當(dāng)差別較小時(shí)將解碼重建后的圖像幀加入所述參考幀列表,差別較大時(shí)將第二參考幀加入所述參考幀列表。為達(dá)到此目的,在實(shí)現(xiàn)手段上,不作限定。

在一個實(shí)施例中,將前一個實(shí)施例中的解碼重建后的圖像幀和第二參考幀均加入所述參考幀列表。對于后續(xù)的待解碼幀,和前一個實(shí)施例中的所述第一區(qū)域和第二區(qū)域的交集的平面位置相一致,對應(yīng)的,對待解碼幀劃分為對應(yīng)交集內(nèi)的區(qū)域和對應(yīng)交集外的區(qū)域。在第一種示例性的實(shí)施方式中,待解碼幀中對應(yīng)交集內(nèi)的區(qū)域的像素單元可以參考參考幀列表中所有解碼重建后的圖像幀,而不能參考參考幀列表中的第二參考幀;待解碼幀中對應(yīng)交集外的區(qū)域的像素單元可以參考參考幀列表中所有解碼重建后的圖像幀,也可以參考參考幀列表中的第二參考幀。在第二種示例性的實(shí)施方式中,待解碼幀中對應(yīng)交集內(nèi)的區(qū)域的像素單元可以參考參考幀列表中所有解碼重建后的圖像幀,而不能參考參考幀列表中的第二參考幀;待解碼幀中對應(yīng)交集外的區(qū)域的像素單元不可以參考參考幀列表中所有解碼重建后的圖像幀,可以參考參考幀列表中的第二參考幀。

相對于前述引文中申請?zhí)枮镃N201010247275.7等專利提到的方法,本發(fā)明僅在幀級傳遞少量映射參數(shù),豐富了參考幀的選擇,使參考幀更接近于實(shí)際幀,使通過參考幀進(jìn)行的預(yù)測更準(zhǔn)確,提高了編碼效率。

在本發(fā)明的第二個方面,公開了另一種參考幀的解碼方法,具體包括:

在當(dāng)前待解碼幀解碼重建以后,處理參考幀列表之前。首先,解碼碼流中的指示信息,所述指示信息表明是否僅使用解碼重建后的圖像幀作為參考幀,即不考慮本發(fā)明第一方面所提出的方法所生成的參考幀。如果指示信息表明僅使用解碼重建后的圖像幀作為參考幀,則僅使用解碼重建后的圖像幀作為參考幀,否則,使用本發(fā)明第一方面以及各實(shí)施例所述的方法生成的參考幀作為參考幀。

應(yīng)理解,所述指示信息是以幀級的方式傳遞的,可以在圖像參數(shù)集(PPS,picture parameter set)中傳遞,也可以在條帶頭(slice header),或作 為其它幀級語法元素傳遞,不作限定。

作為一種可選的實(shí)施方式,還可以在序列級傳遞指示信息,比如序列參數(shù)集(SPS,sequence parameter set),來指示整個所屬的序列是否僅使用解碼重建后的圖像幀作為參考幀,進(jìn)一步地,還可以指示序列中每一幀的構(gòu)建參考幀的信息。示例性的,指示一個幀號4,代表只有第四幀將按照本發(fā)明第一方面以及各實(shí)施例所述的方法生成的參考幀加入?yún)⒖紟斜恚蛘呤纠缘?,指示一個011101的二進(jìn)制序列,代表序列中每一幀的加入?yún)⒖紟斜淼膸臉?gòu)建方式的情況。

由于源視頻內(nèi)容的多樣性,對于某些視頻內(nèi)容僅使用解碼重建后的圖像幀作為參考幀即可達(dá)到良好的編碼效果。通過指示信息,預(yù)先知曉是否需要生成本發(fā)明第一方面所提出的方法所生成的參考幀,可以降低方案的復(fù)雜度。

在本發(fā)明的第三個方面,公開了一種參考幀的編碼方法,具體包括:

取得當(dāng)前待編碼的原始圖像幀和此時(shí)參考幀序列中的一幀候選參考幀。分別提取所述原始圖像幀和取得的候選參考幀的特征點(diǎn)。特征點(diǎn)的提取和匹配有多種方法,包括圖像的視覺特征,統(tǒng)計(jì)特征,變換系數(shù)特征,代數(shù)特征等,相對應(yīng)的,特征提取方法,包括主分量分析法、支持向量機(jī)等等,文獻(xiàn)《圖像特征提取方法的研究》(數(shù)字對象統(tǒng)一標(biāo)示符(GOI):CNKI:CDMD:2.2007.058439)全文引入于此,文中第一章和第二章對圖像特征及提取方法做了舉例性的描述,對于本發(fā)明實(shí)施例采用的特征點(diǎn)提取和匹配的方法,不作限定。一般的,預(yù)置的映射函數(shù)與本發(fā)明第一方面所使用的映射函數(shù)一致,第一特征點(diǎn)集合中的若干特征點(diǎn)和其映射的第二特征集合中的相同數(shù)量的特征點(diǎn),可以互為本發(fā)明第一方面所公開的映射函數(shù)的源像素單元和目標(biāo)像素單元,從而計(jì)算出映射參數(shù)。與本發(fā)明第一方面的解析碼流中的映射參數(shù)對應(yīng)的,將上述計(jì)算出的映射參數(shù)編入碼流。由于編碼端和解碼端的參考幀列表要保持一致。因此,和解碼端進(jìn)行相同的操作,編碼端也基于當(dāng)前編碼重建完成的圖像幀,可選的,可以對所述編碼重建后的圖像幀做像素插值,以及上述提到的映射函數(shù),在編碼端生成類似于本發(fā)明第一方面中第二參考幀的參考幀??稍诒景l(fā)明第一方面中實(shí)施的各解碼端實(shí)施例,對應(yīng)的,同樣可以在本發(fā)明的第三方面中的編碼端實(shí)施。

相對于前述引文中申請?zhí)枮镃N201010247275.7等專利提到的方法,本發(fā)明僅在幀級傳遞少量映射參數(shù),豐富了參考幀的選擇,使參考幀更接近于實(shí) 際幀,使通過參考幀進(jìn)行的預(yù)測更準(zhǔn)確,提高了編碼效率。

在本發(fā)明的第四個方面,公開了另一種參考幀的編碼方法,具體包括:

在當(dāng)前待編碼幀編碼重建以后,處理參考幀列表之前。分別按照本發(fā)明第三方面所提出的方法所生成的參考幀和使用解碼重建后的圖像幀作為參考幀測試編碼性能。應(yīng)理解,上述測試編碼性能是編碼質(zhì)量-編碼代價(jià)(distortion-rate)選擇的過程,可以按照精確的編碼質(zhì)量和編碼比特?cái)?shù)進(jìn)行比較,也可以使用簡化的方式進(jìn)行比較,比如只考察編碼比特?cái)?shù)的多少等,不作限定。如果使用本發(fā)明第三方面所提出的方法所生成的參考幀能夠獲得更高的編碼性能,則按照本發(fā)明第三方面及各個實(shí)施例的方法進(jìn)行編碼,并把選擇信息,與本發(fā)明第二方面中解析碼流中的指示信息對應(yīng)的,編入碼流,否則,則按照用解碼重建后的圖像幀作為參考幀進(jìn)行編碼,同樣需要把選擇信息,與本發(fā)明第二方面中解析碼流中的指示信息對應(yīng)的,編入碼流。

應(yīng)理解,所述選擇信息是以幀級的方式傳遞的,可以在圖像參數(shù)集(PPS,picture parameter set)中傳遞,也可以在條帶頭(slice header),或作為其它幀級語法元素傳遞,不作限定。

與解碼端的實(shí)現(xiàn)方式相對應(yīng)的,還可以在序列級編碼指示信息,比如序列參數(shù)集(SPS,sequence parameter set),來指示整個所屬的序列是否僅使用解碼重建后的圖像幀作為參考幀,進(jìn)一步地,還可以指示序列中每一幀的構(gòu)建參考幀的信息。示例性的,指示一個幀號4,代表只有第四幀將按照本發(fā)明第一方面以及各實(shí)施例所述的方法生成的參考幀加入?yún)⒖紟斜恚蛘呤纠缘?,指示一個011101的二進(jìn)制序列,代表序列中每一幀的加入?yún)⒖紟斜淼膸臉?gòu)建方式的情況。

由于源視頻內(nèi)容的多樣性,對于某些視頻內(nèi)容僅使用編碼重建后的圖像幀作為參考幀即可達(dá)到良好的編碼效果。通過選擇信息,預(yù)先通知解碼端是否需要生成本發(fā)明第三方面所提出的方法所生成的參考幀,可以降低方案的復(fù)雜度。

在本發(fā)明的第五個方面,公開了一種參考幀的解碼裝置,包括:

第一獲取模塊,用于獲取第一參考幀,所述第一參考幀為解碼重建后的第一圖像幀或所述第一圖像幀通過像素插值獲得的第一插值圖像幀;

解析模塊,用于解析碼流中的映射參數(shù);

第二獲取模塊,用于根據(jù)所述映射參數(shù),確定預(yù)置的映射函數(shù)的待定系 數(shù);

第三獲取模塊,用于根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第一參考幀中,獲取與第二參考幀的第二像素單元具有映射關(guān)系的第一像素單元;

賦值模塊,用于將所述第一像素單元的像素值賦予所述第二像素單元。

在本發(fā)明的第六個方面,公開了另一種參考幀的解碼裝置,包括:

第一解析模塊,用于解析碼流中的指示信息;

選擇模塊,用于當(dāng)所述指示信息指示不基于解碼重建后的圖像幀構(gòu)建其它參考幀時(shí),將所述解碼重建后的圖像幀作為所述參考幀,否則使用下述方法獲得參考幀;

第一獲取模塊,用于獲取第一參考幀,所述第一參考幀為所述解碼重建后的圖像幀或所述圖像幀通過像素插值獲得的插值圖像幀;

第二解析模塊,用于解析碼流中的映射參數(shù);

第二獲取模塊,用于根據(jù)所述映射參數(shù),確定預(yù)置的映射函數(shù)的待定系數(shù);

第三獲取模塊,用于根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第一參考幀中,獲取與第二參考幀的第二像素單元具有映射關(guān)系的第一像素單元;

賦值模塊,用于將所述第一像素單元的像素值賦予所述第二像素單元。

在本發(fā)明的第七個方面,公開了一種參考幀的編碼裝置,包括:

第一獲取模塊,用于獲取待編碼圖像幀和所述待編碼圖像幀對應(yīng)的編碼重建后的圖像幀的候選參考幀;

第二獲取模塊,用于分別提取所述待編碼圖像幀的第一特征點(diǎn)的集合和所述候選參考幀的第二特征點(diǎn)的集合;

第三獲取模塊,用于根據(jù)所述第一特征點(diǎn)的集合、所述第二特征點(diǎn)的集合和預(yù)置的映射函數(shù),獲得映射參數(shù),所述映射參數(shù)表征在所述映射函數(shù)的約束下,所述第一特征點(diǎn)和所述第二特征點(diǎn)的映射關(guān)系;

編碼模塊,用于將所述映射參數(shù)編入碼流;

第四獲取模塊,用于獲取第一參考幀,所述第一參考幀為編碼重建后的第一圖像幀或所述第一圖像幀通過像素插值獲得的第一插值圖像幀;

第五獲取模塊,用于根據(jù)所述映射參數(shù),確定所述映射函數(shù)的待定系數(shù);

第六獲取模塊,用于根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第一參考幀中,獲取與第二參考幀的第二像素單元具有所述映射關(guān)系的第一像素 單元;

賦值模塊,用于將所述第一像素單元的像素值賦予所述第二像素單元。

在本發(fā)明的第八個方面,公開了另一種參考幀的編碼裝置,包括:

第一獲取模塊,用于獲取待編碼圖像幀和所述待編碼圖像幀對應(yīng)的編碼重建后的圖像幀的候選參考幀;

第二獲取模塊,用于分別提取所述待編碼圖像幀的第一特征點(diǎn)的集合和所述候選參考幀的第二特征點(diǎn)的集合;

第三獲取模塊,用于根據(jù)所述第一特征點(diǎn)的集合、所述第二特征點(diǎn)的集合和預(yù)置的映射函數(shù),獲得映射參數(shù),所述映射參數(shù)表征在所述映射函數(shù)的約束下,所述第一特征點(diǎn)和所述第二特征點(diǎn)的映射關(guān)系;

第一編碼模塊,用于將所述映射參數(shù)編入碼流;

第四獲取模塊,用于獲取第一參考幀,所述第一參考幀為編碼重建后的第一圖像幀或所述第一圖像幀通過像素插值獲得的第一插值圖像幀;

第五獲取模塊,用于根據(jù)所述映射參數(shù),確定所述映射函數(shù)的待定系數(shù);

第六獲取模塊,用于根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第一參考幀中,獲取與第二參考幀的第二像素單元具有所述映射關(guān)系的第一像素單元;

賦值模塊,用于將所述第一像素單元的像素值賦予所述第二像素單元;

第一計(jì)算模塊,用于計(jì)算所述第二參考幀作為所述參考幀的第一編碼性能;

第二計(jì)算模塊,用于計(jì)算所述已編碼圖像幀作為所述參考幀的第二編碼性能;

第二編碼模塊,用于將所述第一編碼性能和所述第二編碼性能的比較信息編入所述碼流;

比較模塊,用于當(dāng)所述比較信息指示所述第一編碼性能優(yōu)于所述第二編碼性能時(shí),將所述第二參考幀作為所述參考幀;

否則,將所述編碼重建后的圖像幀作為所述參考幀。

在本發(fā)明的第九個方面,公開一種用于對參考幀進(jìn)行解碼的設(shè)備,所述設(shè)備包括經(jīng)配置以進(jìn)行以下操作的處理器:所述操作為第一個方面所述的操作方法。

在本發(fā)明的第十個方面,公開另一種用于對參考幀進(jìn)行解碼的設(shè)備,所 述設(shè)備包括經(jīng)配置以進(jìn)行以下操作的處理器:所述操作為第二個方面所述的操作方法。

在本發(fā)明的第十一個方面,公開一種用于對參考幀進(jìn)行編碼的設(shè)備,所述設(shè)備包括經(jīng)配置以進(jìn)行以下操作的處理器:所述操作為第三個方面所述的操作方法。

在本發(fā)明的第十二個方面,公開另一種用于對參考幀進(jìn)行編碼的設(shè)備,所述設(shè)備包括經(jīng)配置以進(jìn)行以下操作的處理器:所述操作為第四個方面所述的操作方法。

在本發(fā)明的第十三個方面,公開一種存儲有指令的計(jì)算機(jī)可讀存儲媒體,所述指令在被執(zhí)行時(shí)使用于對參考幀進(jìn)行解碼的設(shè)備的一或多個處理器進(jìn)行以下操作:所述操作為第一個方面所述的操作方法。

在本發(fā)明的第十四個方面,公開另一種存儲有指令的計(jì)算機(jī)可讀存儲媒體,所述指令在被執(zhí)行時(shí)使用于對參考幀進(jìn)行解碼的設(shè)備的一或多個處理器進(jìn)行以下操作:所述操作為第二個方面所述的操作方法。

在本發(fā)明的第十五個方面,公開一種存儲有指令的計(jì)算機(jī)可讀存儲媒體,所述指令在被執(zhí)行時(shí)使用于對參考幀進(jìn)行編碼的設(shè)備的一或多個處理器進(jìn)行以下操作:所述操作為第三個方面所述的操作方法。

在本發(fā)明的第十六個方面,公開另一種存儲有指令的計(jì)算機(jī)可讀存儲媒體,所述指令在被執(zhí)行時(shí)使用于對參考幀進(jìn)行編碼的設(shè)備的一或多個處理器進(jìn)行以下操作:所述操作為第四個方面所述的操作方法。

綜上,本發(fā)明僅在幀級傳遞少量映射參數(shù),豐富了參考幀的選擇,使參考幀更接近于實(shí)際幀,使通過參考幀進(jìn)行的預(yù)測更準(zhǔn)確,提高了編碼效率。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是根據(jù)本發(fā)明實(shí)施例的視頻編解碼系統(tǒng)的示意性框圖;

圖2是根據(jù)本發(fā)明實(shí)施例的視頻編碼器的示意性框圖;

圖3是根據(jù)本發(fā)明實(shí)施例的視頻解碼器的示意性框圖;

圖4是根據(jù)本發(fā)明實(shí)施例的一種參考幀解碼方法的示意性流程圖;

圖5是參考幀列表中原始參考幀和變換參考幀交織排列示意圖;

圖6是根據(jù)本發(fā)明實(shí)施例的另一種參考幀解碼方法的示意性流程圖;

圖7是根據(jù)本發(fā)明實(shí)施例的一種參考幀編碼方法的示意性流程圖;

圖8是高斯差分金字塔生成示例圖;

圖9是DOG空間極值點(diǎn)檢測示例圖;

圖10是根據(jù)本發(fā)明實(shí)施例的另一種參考幀編碼方法的示意性流程圖;

圖11是根據(jù)本發(fā)明實(shí)施例的一種參考幀解碼裝置的示意性框圖;

圖12是根據(jù)本發(fā)明實(shí)施例的另一種參考幀解碼裝置的示意性框圖;

圖13是根據(jù)本發(fā)明實(shí)施例的一種參考幀編碼裝置的示意性框圖;

圖14是根據(jù)本發(fā)明實(shí)施例的另一種參考幀編碼裝置的示意性框圖;

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有付出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

圖1是根據(jù)本發(fā)明實(shí)施例的視頻編解碼系統(tǒng)10的示意性框圖。如圖1所示,視頻編解碼系統(tǒng)10包含源裝置12及目的地裝置14。源裝置12產(chǎn)生經(jīng)編碼視頻數(shù)據(jù)。因此,源裝置12可被稱作視頻編碼裝置或視頻編碼設(shè)備。目的地裝置14可解碼由源裝置12產(chǎn)生的經(jīng)編碼視頻數(shù)據(jù)。因此,目的地裝置14可被稱作視頻解碼裝置或視頻解碼設(shè)備。源裝置12及目的地裝置14可為視頻編解碼裝置或視頻編解碼設(shè)備的實(shí)例。源裝置12及目的地裝置14可包括廣泛范圍的裝置,包含臺式計(jì)算機(jī)、移動計(jì)算裝置、筆記本(例如,膝上型)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、智能電話等手持機(jī)、電視、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺、車載計(jì)算機(jī),或其類似者。

目的地裝置14可經(jīng)由信道16接收來自源裝置12的編碼后的視頻數(shù)據(jù)。信道16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動到目的地裝置14的一個或多個媒體及/或裝置。在一個實(shí)例中,信道16可包括使源裝置12能 夠?qū)崟r(shí)地將編碼后的視頻數(shù)據(jù)直接發(fā)射到目的地裝置14的一個或多個通信媒體。在此實(shí)例中,源裝置12可根據(jù)通信標(biāo)準(zhǔn)(例如,無線通信協(xié)議)來調(diào)制編碼后的視頻數(shù)據(jù),且可將調(diào)制后的視頻數(shù)據(jù)發(fā)射到目的地裝置14。所述一個或多個通信媒體可包含無線及/或有線通信媒體,例如射頻(RF)頻譜或一根或多根物理傳輸線。所述一個或多個通信媒體可形成基于包的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò)(例如,因特網(wǎng)))的部分。所述一個或多個通信媒體可包含路由器、交換器、基站,或促進(jìn)從源裝置12到目的地裝置14的通信的其它設(shè)備。

在另一實(shí)例中,信道16可包含存儲由源裝置12產(chǎn)生的編碼后的視頻數(shù)據(jù)的存儲媒體。在此實(shí)例中,目的地裝置14可經(jīng)由磁盤存取或卡存取來存取存儲媒體。存儲媒體可包含多種本地存取式數(shù)據(jù)存儲媒體,例如藍(lán)光光盤、DVD、CD-ROM、快閃存儲器,或用于存儲經(jīng)編碼視頻數(shù)據(jù)的其它合適數(shù)字存儲媒體。

在另一實(shí)例中,信道16可包含文件服務(wù)器或存儲由源裝置12產(chǎn)生的編碼后的視頻數(shù)據(jù)的另一中間存儲裝置。在此實(shí)例中,目的地裝置14可經(jīng)由流式傳輸或下載來存取存儲于文件服務(wù)器或其它中間存儲裝置處的編碼后的視頻數(shù)據(jù)。文件服務(wù)器可以是能夠存儲編碼后的視頻數(shù)據(jù)且將所述編碼后的視頻數(shù)據(jù)發(fā)射到目的地裝置14的服務(wù)器類型。實(shí)例文件服務(wù)器包含web服務(wù)器(例如,用于網(wǎng)站)、文件傳送協(xié)議(FTP)服務(wù)器、網(wǎng)絡(luò)附加存儲(NAS)裝置,及本地磁盤驅(qū)動器。

目的地裝置14可經(jīng)由標(biāo)準(zhǔn)數(shù)據(jù)連接(例如,因特網(wǎng)連接)來存取編碼后的視頻數(shù)據(jù)。數(shù)據(jù)連接的實(shí)例類型包含適合于存取存儲于文件服務(wù)器上的編碼后的視頻數(shù)據(jù)的無線信道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線調(diào)制解調(diào)器等),或兩者的組合。編碼后的視頻數(shù)據(jù)從文件服務(wù)器的發(fā)射可為流式傳輸、下載傳輸或兩者的組合。

本發(fā)明的技術(shù)不限于無線應(yīng)用場景,示例性的,可將所述技術(shù)應(yīng)用于支持以下應(yīng)用等多種多媒體應(yīng)用的視頻編解碼:空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、流式傳輸視頻發(fā)射(例如,經(jīng)由因特網(wǎng))、存儲于數(shù)據(jù)存儲媒體上的視頻數(shù)據(jù)的編碼、存儲于數(shù)據(jù)存儲媒體上的視頻數(shù)據(jù)的解碼,或其它應(yīng)用。在一些實(shí)例中,視頻編解碼系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻發(fā)射,以支持例如視頻流式傳輸、視頻播放、視頻廣播及/或視頻電話等應(yīng) 用。

在圖1的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20及輸出接口22。在一些實(shí)例中,輸出接口22可包含調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)及/或發(fā)射器。視頻源18可包含視頻俘獲裝置(例如,視頻相機(jī))、含有先前俘獲的視頻數(shù)據(jù)的視頻存檔、用以從視頻內(nèi)容提供者接收視頻數(shù)據(jù)的視頻輸入接口,及/或用于產(chǎn)生視頻數(shù)據(jù)的計(jì)算機(jī)圖形系統(tǒng),或上述視頻數(shù)據(jù)源的組合。

視頻編碼器20可編碼來自視頻源18的視頻數(shù)據(jù)。在一些實(shí)例中,源裝置12經(jīng)由輸出接口22將編碼后的視頻數(shù)據(jù)直接發(fā)射到目的地裝置14。編碼后的視頻數(shù)據(jù)還可存儲于存儲媒體或文件服務(wù)器上以供目的地裝置14稍后存取以用于解碼及/或播放。

在圖1的實(shí)例中,目的地裝置14包含輸入接口28、視頻解碼器30及顯示裝置32。在一些實(shí)例中,輸入接口28包含接收器及/或調(diào)制解調(diào)器。輸入接口28可經(jīng)由信道16接收編碼后的視頻數(shù)據(jù)。顯示裝置32可與目的地裝置14整合或可在目的地裝置14外部。一般來說,顯示裝置32顯示解碼后的視頻數(shù)據(jù)。顯示裝置32可包括多種顯示裝置,例如液晶顯示器(LCD)、等離子體顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或其它類型的顯示裝置。

視頻編碼器20及視頻解碼器30可根據(jù)視頻壓縮標(biāo)準(zhǔn)(例如,高效率視頻編解碼H.265標(biāo)準(zhǔn))而操作,且可遵照HEVC測試模型(HM)。H.265標(biāo)準(zhǔn)的文本描述ITU-TH.265(V3)(04/2015)于2015年4月29號發(fā)布,可從http://handle.itu.int/11.1002/1000/12455下載,所述文件的全部內(nèi)容以引用的方式并入本文中。

或者,視頻編碼器20及視頻解碼器30可根據(jù)其它專屬或行業(yè)標(biāo)準(zhǔn)而操作,所述標(biāo)準(zhǔn)包含ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262或ISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual,ITU-TH.264(還稱為ISO/IECMPEG-4AVC),包含可分級視頻編解碼(SVC)及多視圖視頻編解碼(MVC)擴(kuò)展。應(yīng)理解,本發(fā)明的技術(shù)不限于任何特定編解碼標(biāo)準(zhǔn)或技術(shù)。

此外,圖1僅為實(shí)例且本發(fā)明的技術(shù)可應(yīng)用于未必包含編碼裝置與解碼裝置之間的任何數(shù)據(jù)通信的視頻編解碼應(yīng)用(例如,單側(cè)的視頻編碼或視頻解碼)。在其它實(shí)例中,從本地存儲器檢索數(shù)據(jù),經(jīng)由網(wǎng)絡(luò)流式傳輸數(shù)據(jù),或以類似方式操作數(shù)據(jù)。編碼裝置可編碼數(shù)據(jù)且將所述數(shù)據(jù)存儲到存儲器,及/或解碼裝置可從存儲器檢索數(shù)據(jù)且解碼所述數(shù)據(jù)。在許多實(shí)例中,通過 彼此不進(jìn)行通信而僅編碼數(shù)據(jù)到存儲器及/或從存儲器檢索數(shù)據(jù)及解碼數(shù)據(jù)的多個裝置執(zhí)行編碼及解碼。

視頻編碼器20及視頻解碼器30各自可實(shí)施為多種合適電路中的任一者,例如一個或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、硬件或其任何組合。如果技術(shù)部分地或者全部以軟件實(shí)施,則裝置可將軟件的指令存儲于合適的非瞬時(shí)計(jì)算機(jī)可讀存儲媒體中,且可使用一個或多個處理器執(zhí)行硬件中的指令以執(zhí)行本發(fā)明的技術(shù)??蓪⑶笆龈髡咧械娜我徽?包含硬件、軟件、硬件與軟件的組合等)視為一個或多個處理器。視頻編碼器20及視頻解碼器30中的每一者可包含于一個或多個編碼器或解碼器中,其中的任一者可整合為其它裝置中的組合式編碼器/解碼器(編解碼器(CODEC))的部分。

本發(fā)明大體上可指代視頻編碼器20將某一信息“用信號發(fā)送”到另一裝置(例如,視頻解碼器30)。術(shù)語“用信號發(fā)送”大體上可指代語法元素及/或表示編碼后的視頻數(shù)據(jù)的傳達(dá)。此傳達(dá)可實(shí)時(shí)或近實(shí)時(shí)地發(fā)生?;蛘?,此通信可在一時(shí)間跨度上發(fā)生,例如可在編碼時(shí)以編碼后得到的二進(jìn)制數(shù)據(jù)將語法元素存儲到計(jì)算機(jī)可讀存儲媒體時(shí)發(fā)生,所述語法元素在存儲到此媒體之后接著可由解碼裝置在任何時(shí)間檢索。

所述視頻編碼器20編碼視頻數(shù)據(jù)。視頻數(shù)據(jù)可包括一個或多個圖片。視頻編碼器20可產(chǎn)生碼流,所述碼流以比特流的形式包含了視頻數(shù)據(jù)的編碼信息。所述編碼信息可以包含編碼圖片數(shù)據(jù)及相關(guān)聯(lián)數(shù)據(jù)。相關(guān)聯(lián)數(shù)據(jù)可包含序列參數(shù)集(SPS)、圖片參數(shù)集(PPS)及其它語法結(jié)構(gòu)。SPS可含有應(yīng)用于零個或多個序列的參數(shù)。PPS可含有應(yīng)用于零個或多個圖片的參數(shù)。語法結(jié)構(gòu)是指碼流中以指定次序排列的零個或多個語法元素的集合。

為產(chǎn)生圖片的編碼信息,視頻編碼器20可將圖片分割成編碼樹型塊(CTB)的柵格。在一些例子中,CTB可被稱作“樹型塊”、“最大編碼單元”(LCU)或“編碼樹型單元”。CTB不限于特定大小且可包含一個或多個編碼單元(CU)。每一個CTB可以與圖片內(nèi)的具有相等大小的像素塊相關(guān)聯(lián)。每一像素可對應(yīng)一個亮度(luminance或luma)采樣及兩個色度(chrominance或chroma)采樣。因此,每一個CTB可與一個亮度采樣塊及兩個色度采樣塊相關(guān)聯(lián)。圖片的CTB可分成一個或多個條帶。在一些實(shí)例中,每一個條帶包含整數(shù)個數(shù)的CTB。作為編碼圖片的一部分,視頻編碼器20可產(chǎn)生所述圖片的每一條帶的編碼 信息,即編碼所述條帶內(nèi)的CTB。為了編碼CTB,視頻編碼器20可對與CTB相關(guān)聯(lián)的像素塊遞歸地執(zhí)行四叉樹分割,以將像素塊分割成遞減的像素塊。所述較小的像素塊可以和CU相關(guān)聯(lián)。

視頻編碼器20可產(chǎn)生每一不再分割CU的一個或多個預(yù)測單元(PU)。CU的每一個PU可與CU的像素塊內(nèi)的不同像素塊相關(guān)聯(lián)。視頻編碼器20可針對CU的每一個PU產(chǎn)生預(yù)測性像素塊。視頻編碼器20可使用幀內(nèi)預(yù)測或幀間預(yù)測來產(chǎn)生PU的預(yù)測性像素塊。如果視頻編碼器20使用幀內(nèi)預(yù)測來產(chǎn)生PU的預(yù)測性像素塊,則視頻編碼器20可基于與PU相關(guān)聯(lián)的圖片的解碼后的像素來產(chǎn)生PU的預(yù)測性像素塊。如果視頻編碼器20使用幀間預(yù)測來產(chǎn)生PU的預(yù)測性像素塊,則視頻編碼器20可基于不同于與PU相關(guān)聯(lián)的圖片的一個或多個圖片的解碼后的像素來產(chǎn)生PU的預(yù)測性像素塊。視頻編碼器20可基于CU的PU的預(yù)測性像素塊來產(chǎn)生CU的殘余像素塊。CU的殘余像素塊可指示CU的PU的預(yù)測性像素塊中的采樣值與CU的初始像素塊中的對應(yīng)采樣值之間的差。

視頻編碼器20可對CU的殘余像素塊執(zhí)行遞歸四叉樹分割以將CU的殘余像素塊分割成與CU的變換單元(TU)相關(guān)聯(lián)的一個或多個較小殘余像素塊。因?yàn)榕cTU相關(guān)聯(lián)的像素塊中的像素各自對應(yīng)一個亮度采樣及兩個色度采樣,所以每一個TU可與一個亮度的殘余采樣塊及兩個色度的殘余采樣塊相關(guān)聯(lián)。視頻編碼器20可將一個或多個變換應(yīng)用于與TU相關(guān)聯(lián)的殘余采樣塊以產(chǎn)生系數(shù)塊(即,系數(shù)的塊)。變換可以是DCT變換或者它的變體。采用DCT的變換矩陣,通過在水平和豎直方向應(yīng)用一維變換計(jì)算二維變換,獲得所述系數(shù)塊。視頻編碼器20可對系數(shù)塊中的每一個系數(shù)執(zhí)行量化程序。量化一般指系數(shù)經(jīng)量化以減少用以表示系數(shù)的數(shù)據(jù)量,從而提供進(jìn)一步壓縮的過程。

視頻編碼器20可產(chǎn)生表示量化后系數(shù)塊中的系數(shù)的語法元素的集合。視頻編碼器20可將熵編碼操作(例如,上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)操作)應(yīng)用于上述語法元素中的部分或者全部。為將CABAC編碼應(yīng)用于語法元素,視頻編碼器20可將語法元素二進(jìn)制化以形成包括一個或多個位(稱作“二進(jìn)位”)的二進(jìn)制序列。視頻編碼器20可使用規(guī)則(regular)編碼來編碼二進(jìn)位中的一部分,且可使用旁通(bypass)編碼來編碼二進(jìn)位中的其它部分。

除熵編碼系數(shù)塊的語法元素外,視頻編碼器20可將逆量化及逆變換應(yīng) 用于變換后的系數(shù)塊,以從變換后的系數(shù)塊重建殘余采樣塊。視頻編碼器20可將重建后的殘余采樣塊加到一個或多個預(yù)測性采樣塊的對應(yīng)采樣塊,以產(chǎn)生重建后的采樣塊。通過重建每一色彩分量的采樣塊,視頻編碼器20可重建與TU相關(guān)聯(lián)的像素塊。以此方式重建CU的每一TU的像素塊,直到CU的整個像素塊重建完成。

在視頻編碼器20重建構(gòu)CU的像素塊之后,視頻編碼器20可執(zhí)行消塊濾波操作以減少與CU相關(guān)聯(lián)的像素塊的塊效應(yīng)。在視頻編碼器20執(zhí)行消塊濾波操作之后,視頻編碼器20可使用采樣自適應(yīng)偏移(SAO)來修改圖片的CTB的重建后的像素塊。在執(zhí)行這些操作之后,視頻編碼器20可將CU的重建后的像素塊存儲于解碼圖片緩沖器中以用于產(chǎn)生其它CU的預(yù)測性像素塊。

視頻解碼器30可接收碼流。所述碼流以比特流的形式包含了由視頻編碼器20編碼的視頻數(shù)據(jù)的編碼信息。視頻解碼器30可解析所述碼流以從所述碼流提取語法元素。當(dāng)視頻解碼器30執(zhí)行CABAC解碼時(shí),視頻解碼器30可對部分二進(jìn)位執(zhí)行規(guī)則解碼且可對其它部分的二進(jìn)位執(zhí)行旁通解碼,碼流中的二進(jìn)位與語法元素具有映射關(guān)系,通過解析二進(jìn)位獲得語法元素。

視頻解碼器30可基于從碼流提取的語法元素來重建視頻數(shù)據(jù)的圖片?;谡Z法元素來重建視頻數(shù)據(jù)的過程大體上與由視頻編碼器20執(zhí)行以產(chǎn)生語法元素的過程互逆。舉例來說,視頻解碼器30可基于與CU相關(guān)聯(lián)的語法元素來產(chǎn)生CU的PU的預(yù)測性像素塊。另外,視頻解碼器30可逆量化與CU的TU相關(guān)聯(lián)的系數(shù)塊。視頻解碼器30可對逆量化后的系數(shù)塊執(zhí)行逆變換以重建與CU的TU相關(guān)聯(lián)的殘余像素塊。視頻解碼器30可基于預(yù)測性像素塊及殘余像素塊來重建CU的像素塊。

在視頻解碼器30重建CU的像素塊之后,視頻解碼器30可執(zhí)行消塊濾波操作以減少與CU相關(guān)聯(lián)的像素塊的塊效應(yīng)。另外,基于一個或多個SAO語法元素,視頻解碼器30可執(zhí)行與視頻編碼器20相同的SAO操作。在視頻解碼器30執(zhí)行這些操作之后,視頻解碼器30可將CU的像素塊存儲于解碼圖片緩沖器中。解碼圖片緩沖器可提供用于后續(xù)運(yùn)動補(bǔ)償、幀內(nèi)預(yù)測及顯示裝置呈現(xiàn)的參考圖片。

圖2為說明經(jīng)配置以實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻編碼器20的框圖。應(yīng)理解,圖2是示例性的而不應(yīng)視為限制如本發(fā)明廣泛例證并描述的技術(shù)。如圖2所示,視頻編碼器20包含預(yù)測處理單元100、殘余產(chǎn)生單元102、變 換處理單元104、量化單元106、逆量化單元108、逆變換處理單元110、重建單元112、濾波器單元113、解碼圖片緩沖器114及熵編碼單元116。熵編碼單元116包含規(guī)則CABAC編解碼引擎118及旁通編解碼引擎120。預(yù)測處理單元100包含幀間預(yù)測處理單元121及幀內(nèi)預(yù)測處理單元126。幀間預(yù)測處理單元121包含運(yùn)動估計(jì)單元122及運(yùn)動補(bǔ)償單元124。在其它實(shí)例中,視頻編碼器20可包含更多、更少或不同的功能組件。

視頻編碼器20接收視頻數(shù)據(jù)。為編碼視頻數(shù)據(jù),視頻編碼器20可編碼視頻數(shù)據(jù)的每一圖片的每一條帶。作為編碼條帶的一部分,視頻編碼器20可編碼所述條帶中的每一CTB。作為編碼CTB的一部分,預(yù)測處理單元100可對與CTB相關(guān)聯(lián)的像素塊執(zhí)行四叉樹分割,以將像素塊分成遞減的像素塊。舉例來說,預(yù)測處理單元100可將CTB的像素塊分割成四個相等大小的子塊,將子塊中的一個或多個分割成四個相等大小的子子塊,等等。

視頻編碼器20可編碼圖片中的CTB的CU以產(chǎn)生CU的編碼信息。視頻編碼器20可根據(jù)折形掃描次序來編碼CTB的CU。換句話說,視頻編碼器20可按左上CU、右上CU、左下CU及接著右下CU來編碼所述CU。當(dāng)視頻編碼器20編碼分割后的CU時(shí),視頻編碼器20可根據(jù)折形掃描次序來編碼與分割后的CU的像素塊的子塊相關(guān)聯(lián)的CU。

此外,預(yù)測處理單元100可在CU的一個或多個PU中分割CU的像素塊。視頻編碼器20及視頻解碼器30可支持各種PU大小。假定特定CU的大小為2N×2N,視頻編碼器20及視頻解碼器30可支持2N×2N或N×N的PU大小以用于幀內(nèi)預(yù)測,且支持2N×2N、2N×N、N×2N、N×N或類似大小的對稱PU以用于幀間預(yù)測。視頻編碼器20及視頻解碼器30還可支持2N×nU、2N×nD、nL×2N及nR×2N的不對稱PU以用于幀間預(yù)測。

幀間預(yù)測處理單元121可通過對CU的每一PU執(zhí)行幀間預(yù)測而產(chǎn)生PU的預(yù)測性數(shù)據(jù)。PU的預(yù)測性數(shù)據(jù)可包含對應(yīng)于PU的預(yù)測性像素塊及PU的運(yùn)動信息。條帶可為I條帶、P條帶或B條帶。幀間預(yù)測單元121可根據(jù)PU是在I條帶、P條帶還是B條帶中而對CU的PU執(zhí)行不同操作。在I條帶中,所有PU執(zhí)行幀內(nèi)預(yù)測。

如果PU在P條帶中,則運(yùn)動估計(jì)單元122可搜索參考圖片的列表(例如,“列表0”)中的參考圖片以查找PU的參考塊。PU的參考塊可為最緊密地對應(yīng)于PU的像素塊的像素塊。運(yùn)動估計(jì)單元122可產(chǎn)生指示列表0中的含有 PU的參考塊的參考圖片的參考圖片索引,及指示PU的像素塊與參考塊之間的空間位移的運(yùn)動向量。運(yùn)動估計(jì)單元122可將參考圖片索引及運(yùn)動向量作為PU的運(yùn)動信息而輸出。運(yùn)動補(bǔ)償單元124可基于由PU的運(yùn)動信息指示的參考塊來產(chǎn)生PU的預(yù)測性像素塊。

如果PU在B條帶中,則運(yùn)動估計(jì)單元122可對PU執(zhí)行單向幀間預(yù)測或雙向幀間預(yù)測。為對PU執(zhí)行單向幀間預(yù)測,運(yùn)動估計(jì)單元122可搜索第一參考圖片列表(“列表0”)或第二參考圖片列表(“列表1”)的參考圖片以查找PU的參考塊。運(yùn)動估計(jì)單元122可將以下各者作為PU的運(yùn)動信息而輸出:指示含有參考塊的參考圖片的列表0或列表1中的位置的參考圖片索引、指示PU的像素塊與參考塊之間的空間位移的運(yùn)動向量,及指示參考圖片是在列表0中還是在列表1中的預(yù)測方向指示符。為對PU執(zhí)行雙向幀間預(yù)測,運(yùn)動估計(jì)單元122可搜索列表0中的參考圖片以查找PU的參考塊,且還可搜索列表1中的參考圖片以查找PU的另一參考塊。運(yùn)動估計(jì)單元122可產(chǎn)生指示含有參考塊的參考圖片的列表0及列表1中的位置的參考圖片索引。另外,運(yùn)動估計(jì)單元122可產(chǎn)生指示參考塊與PU的像素塊之間的空間位移的運(yùn)動向量。PU的運(yùn)動信息可包含PU的參考圖片索引及運(yùn)動向量。運(yùn)動補(bǔ)償單元124可基于由PU的運(yùn)動信息指示的參考塊來產(chǎn)生PU的預(yù)測性像素塊。

幀內(nèi)預(yù)測處理單元126可通過對PU執(zhí)行幀內(nèi)預(yù)測而產(chǎn)生PU的預(yù)測性數(shù)據(jù)。PU的預(yù)測性數(shù)據(jù)可包含PU的預(yù)測性像素塊及各種語法元素。幀內(nèi)預(yù)測處理單元126可對I條帶、P條帶及B條帶內(nèi)的PU執(zhí)行幀內(nèi)預(yù)測。

為對PU執(zhí)行幀內(nèi)預(yù)測,幀內(nèi)預(yù)測處理單元126可使用多個幀內(nèi)預(yù)測模式來產(chǎn)生PU的預(yù)測性數(shù)據(jù)的多個集合。為使用幀內(nèi)預(yù)測模式來產(chǎn)生PU的預(yù)測性數(shù)據(jù)的集合,幀內(nèi)預(yù)測處理單元126可在與幀內(nèi)預(yù)測模式相關(guān)聯(lián)的方向上跨越PU的采樣塊擴(kuò)展來自相鄰PU的采樣塊的采樣。假定從左向右、從上而下的編碼次序用于PU、CU及CTB,相鄰PU可在PU的上方,在PU的右上方,在PU的左上方或在PU的左方。幀內(nèi)預(yù)測處理單元126可使用包含不同數(shù)目的幀內(nèi)預(yù)測模式,例如,33個方向性幀內(nèi)預(yù)測模式。在一些實(shí)例中,幀內(nèi)預(yù)測模式的數(shù)目可取決于PU的像素塊的大小。

預(yù)測處理單元100可從通過幀間預(yù)測處理單元121針對PU而產(chǎn)生的預(yù)測性數(shù)據(jù)或通過幀內(nèi)預(yù)測處理單元126針對PU而產(chǎn)生的預(yù)測性數(shù)據(jù)當(dāng)中選擇CU的PU的預(yù)測性數(shù)據(jù)。在一些實(shí)例中,預(yù)測處理單元100基于預(yù)測性數(shù) 據(jù)的集合的速率/失真量度來選擇CU的PU的預(yù)測性數(shù)據(jù)。例如,使用拉格朗日代價(jià)函數(shù)來在編碼模式及其參數(shù)值(比如運(yùn)動矢量、參考索引和幀內(nèi)預(yù)測方向)之間進(jìn)行選擇。這一種類的代價(jià)函數(shù)使用加權(quán)因子lambda將由于有損編碼方法所致的實(shí)際的或者估計(jì)的圖像失真與為了表示在圖像區(qū)域中的像素值而需要的實(shí)際的或估計(jì)的信息量聯(lián)系在一起:C=D+lambda×R,其中C是待最小化的拉格朗日代價(jià),D是具有模式及其參數(shù)的圖像失真(例如均方誤差),R是為了在解碼器中重構(gòu)圖像塊而需要的比特?cái)?shù)(例如包括用于表示候選運(yùn)動矢量的數(shù)據(jù)量)。一般的,代價(jià)最小的編碼模式被選定作為實(shí)際編碼模式。選定預(yù)測性數(shù)據(jù)的預(yù)測性像素塊在本文中可被稱作選定預(yù)測性像素塊。

殘余產(chǎn)生單元102可基于CU的像素塊及CU的PU的選定預(yù)測性像素塊來產(chǎn)生CU的殘余像素塊。舉例來說,殘余產(chǎn)生單元102可產(chǎn)生CU的殘余像素塊,使得殘余像素塊中的每一采樣具有等于以下兩者之間的差的值:CU的像素塊中的采樣,及CU的PU的選定預(yù)測性像素塊中的對應(yīng)采樣。

預(yù)測處理單元100可執(zhí)行四叉樹分割以將CU的殘余像素塊分割成子塊。每一不再劃分的殘余像素塊可與CU的不同TU相關(guān)聯(lián)。與CU的TU相關(guān)聯(lián)的殘余像素塊的大小及位置與基于CU的PU的像素塊的大小及位置沒有必然聯(lián)系。

因?yàn)門U的殘余像素塊的像素可對應(yīng)一個亮度采樣及兩個色度采樣,所以每一個TU可與一個亮度采樣塊及兩個色度采樣塊相關(guān)聯(lián)。變換處理單元104可通過將一個或多個變換應(yīng)用于與TU相關(guān)聯(lián)的殘余采樣塊而產(chǎn)生CU的每一個TU的系數(shù)塊。舉例來說,變換處理單元104可將離散余弦變換(DCT)、方向性變換或概念上類似的變換應(yīng)用于殘余采樣塊。

量化單元106可量化系數(shù)塊中的系數(shù)。舉例來說,n位系數(shù)可在量化期間舍位到m位系數(shù),其中n大于m。量化單元106可基于與CU相關(guān)聯(lián)的量化參數(shù)(QP)值來量化與CU的TU相關(guān)聯(lián)的系數(shù)塊。視頻編碼器20可通過調(diào)整與CU相關(guān)聯(lián)的QP值來調(diào)整應(yīng)用于與CU相關(guān)聯(lián)的系數(shù)塊的量化程度。

逆量化單元108及逆變換處理單元110可分別將逆量化及逆變換應(yīng)用于變換后的系數(shù)塊以從系數(shù)塊重建殘余采樣塊。重建單元112可將重建后的殘余采樣塊的采樣加到預(yù)測處理單元100產(chǎn)生的一個或多個預(yù)測性采樣塊的對應(yīng)采樣,以產(chǎn)生與TU相關(guān)聯(lián)的重建后的采樣塊。通過此方式重建CU的每一個TU的采樣塊,視頻編碼器20可重建CU的像素塊。

濾波器單元113可執(zhí)行消塊濾波操作以減少與CU相關(guān)聯(lián)的像素塊的塊效應(yīng)。此外,濾波器單元113可將由預(yù)測處理單元100確定的SAO偏移應(yīng)用于重建后的采樣塊以恢復(fù)像素塊。濾波器單元113可產(chǎn)生CTB的SAO語法元素的編碼信息。

解碼圖片緩沖器114可存儲重建后的像素塊。幀間預(yù)測單元121可使用含有重建后的像素塊的參考圖片來對其它圖片的PU執(zhí)行幀間預(yù)測。另外,幀內(nèi)預(yù)測處理單元126可使用解碼圖片緩沖器114中的重建后的像素塊來對在與CU相同的圖片中的其它PU執(zhí)行幀內(nèi)預(yù)測。

熵編碼單元116可接收來自視頻編碼器20的其它功能組件的數(shù)據(jù)。舉例來說,熵編碼單元116可接收來自量化單元106的系數(shù)塊且可接收來自預(yù)測處理單元100的語法元素。熵編碼單元116可對數(shù)據(jù)執(zhí)行一個或多個熵編碼操作以產(chǎn)生熵編碼后的數(shù)據(jù)。舉例來說,熵編碼單元116可對數(shù)據(jù)執(zhí)行上下文自適應(yīng)可變長度編解碼(CAVLC)操作、CABAC操作、可變到可變(V2V)長度編解碼操作、基于語法的上下文自適應(yīng)二進(jìn)制算術(shù)編解碼(SBAC)操作、機(jī)率區(qū)間分割熵(PIPE)編解碼操作,或其它類型的熵編碼操作。在一特定實(shí)例中,熵編碼單元116可使用規(guī)則CABAC引擎118來編碼語法元素的經(jīng)規(guī)則CABAC編解碼二進(jìn)位,且可使用旁通編解碼引擎120來編碼經(jīng)旁通編解碼二進(jìn)位。

圖3為說明經(jīng)配置以實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻解碼器30的框圖。應(yīng)理解,圖3是示例性的而不應(yīng)視為限制如本發(fā)明廣泛例證并描述的技術(shù)。如圖3所示,視頻解碼器30包含熵解碼單元150、預(yù)測處理單元152、逆量化單元154、逆變換處理單元156、重建單元158、濾波器單元159及解碼圖片緩沖器160。預(yù)測處理單元152包含運(yùn)動補(bǔ)償單元162及幀內(nèi)預(yù)測處理單元164。熵解碼單元150包含規(guī)則CABAC編解碼引擎166及旁通編解碼引擎168。在其它實(shí)例中,視頻解碼器30可包含更多、更少或不同的功能組件。

視頻解碼器30可接收碼流。熵解碼單元150可解析所述碼流以從所述碼流提取語法元素。作為解析碼流的一部分,熵解碼單元150可解析碼流中的經(jīng)熵編碼后的語法元素。預(yù)測處理單元152、逆量化單元154、逆變換處理單元156、重建單元158及濾波器單元159可根據(jù)從碼流中提取的語法元素來解碼視頻數(shù)據(jù),即產(chǎn)生解碼后的視頻數(shù)據(jù)。

語法元素可包含經(jīng)規(guī)則CABAC編解碼二進(jìn)位及經(jīng)旁通編解碼二進(jìn)位。熵 解碼單元150可使用規(guī)則CABAC編解碼引擎166來解碼經(jīng)規(guī)則CABAC編解碼二進(jìn)位,且可使用旁通編解碼引擎168來解碼經(jīng)旁通編解碼二進(jìn)位。

另外,視頻解碼器30可對不再分割的CU執(zhí)行重建操作。為對不再分割的CU執(zhí)行重建操作,視頻解碼器30可對CU的每一TU執(zhí)行重建操作。通過對CU的每一TU執(zhí)行重建操作,視頻解碼器30可重建與CU相關(guān)聯(lián)的殘余像素塊。

作為對CU的TU執(zhí)行重建操作的一部分,逆量化單元154可逆量化(即,解量化)與TU相關(guān)聯(lián)的系數(shù)塊。逆量化單元154可使用與TU的CU相關(guān)聯(lián)的QP值來確定量化程度,且與確定逆量化單元154將應(yīng)用的逆量化程度相同。

在逆量化單元154逆量化系數(shù)塊之后,逆變換處理單元156可將一個或多個逆變換應(yīng)用于系數(shù)塊,以便產(chǎn)生與TU相關(guān)聯(lián)的殘余采樣塊。舉例來說,逆變換處理單元156可將逆DCT、逆整數(shù)變換、逆卡忽南-拉維(Karhunen-Loeve)變換(KLT)、逆旋轉(zhuǎn)變換、逆方向性變換或其它與編碼端的變換對應(yīng)的逆變換應(yīng)用于系數(shù)塊。

如果PU使用幀內(nèi)預(yù)測編碼,則幀內(nèi)預(yù)測處理單元164可執(zhí)行幀內(nèi)預(yù)測以產(chǎn)生PU的預(yù)測性采樣塊。幀內(nèi)預(yù)測處理單元164可使用幀內(nèi)預(yù)測模式以基于空間相鄰PU的像素塊來產(chǎn)生PU的預(yù)測性像素塊。幀內(nèi)預(yù)測處理單元164可根據(jù)從碼流解析的一個或多個語法元素來確定PU的幀內(nèi)預(yù)測模式。

運(yùn)動補(bǔ)償單元162可根據(jù)從碼流解析的語法元素來構(gòu)造第一參考圖片列表(列表0)及第二參考圖片列表(列表1)。此外,如果PU使用幀間預(yù)測編碼,則熵解碼單元150可解析PU的運(yùn)動信息。運(yùn)動補(bǔ)償單元162可根據(jù)PU的運(yùn)動信息來確定PU的一個或多個參考塊。運(yùn)動補(bǔ)償單元162可根據(jù)PU的一個或多個參考塊來產(chǎn)生PU的預(yù)測性像素塊。

重建單元158可在適用時(shí)使用與CU的TU相關(guān)聯(lián)的殘余像素塊及CU的PU的預(yù)測性像素塊(即,幀內(nèi)預(yù)測數(shù)據(jù)或幀間預(yù)測數(shù)據(jù))以重建CU的像素塊。特定來說,重建單元158可將殘余像素塊的采樣加到預(yù)測性像素塊的對應(yīng)采樣以重建CU的像素塊。

濾波器單元159可執(zhí)行消塊濾波操作以減少與CTB的CU相關(guān)聯(lián)的像素塊的塊效應(yīng)。另外,濾波器單元159可根據(jù)從碼流解析的SAO語法元素來修改CTB的像素值。舉例來說,濾波器單元159可根據(jù)CTB的SAO語法元素來確定修正值,且將所確定的修正值加到CTB的重建后的像素塊中的采樣值。 通過修改圖片的CTB的部分或全部像素值,濾波器單元159可根據(jù)SAO語法元素來修正視頻數(shù)據(jù)的重建圖片。

視頻解碼器30可將CU的像素塊存儲于解碼圖片緩沖器160中。解碼圖片緩沖器160可提供參考圖片以用于后續(xù)運(yùn)動補(bǔ)償、幀內(nèi)預(yù)測及顯示裝置(例如,圖1的顯示裝置32)呈現(xiàn)。舉例來說,視頻解碼器30可根據(jù)解碼圖片緩沖器160中的像素塊來對其它CU的PU執(zhí)行幀內(nèi)預(yù)測操作或幀間預(yù)測操作。

本發(fā)明實(shí)施例公開了一種參考幀解碼的方法,結(jié)合圖3可知,運(yùn)動補(bǔ)償單元162可根據(jù)從碼流解析的語法元素來構(gòu)造第一參考幀列表及第二參考幀列表)。如果PU使用幀間預(yù)測編碼,則熵解碼單元150可解析PU的運(yùn)動信息。運(yùn)動補(bǔ)償單元162可根據(jù)PU的運(yùn)動信息來確定PU的一個或多個參考塊。運(yùn)動補(bǔ)償單元162可根據(jù)PU的一個或多個參考塊來產(chǎn)生PU的預(yù)測性像素塊。

圖4示出了本發(fā)明實(shí)施例的一種參考幀解碼方法1000的示意性流程圖。如圖4所示,

S1001,獲取第一參考幀;

第一參考幀可以是當(dāng)前解碼重建后的圖像幀。因?yàn)榇@取的第二參考幀需要參考第一參考幀來獲取,所以可選的,為了增加第二參考幀的精準(zhǔn)度,可以對當(dāng)前解碼重建后的圖像幀進(jìn)行像素插值處理,獲得像素插值后的圖像,作為第一參考幀。對圖像進(jìn)行像素插值,有很多種實(shí)現(xiàn)方式,一種可行的實(shí)施方式是采用單幀圖像像素插值的方式,即對于當(dāng)前圖像的像素單元,不妨稱為整像素單元,進(jìn)行插值濾波,在當(dāng)前圖像的分像素單元位置,推導(dǎo)出該分像素單元的像素值,所有整像素單元和分像素單元一起組成了當(dāng)前圖像的插值圖像。文獻(xiàn)《數(shù)字圖像最佳插值算法研究》(《中國空間科學(xué)技術(shù)》2005年03期)全文引用于此,對現(xiàn)有的圖像插值算法進(jìn)行了介紹??梢岳斫?,該文獻(xiàn)中所描述的方法都可以實(shí)例性的,作為本實(shí)施例中S1001步驟獲取第一參考幀的一種可選的實(shí)現(xiàn)方式,而不作限定。

S1002,解析碼流中的映射參數(shù);

在一種可行的實(shí)施方式中:

設(shè)預(yù)置的映射函數(shù)為x′=m0x+m1y+m2,y′=m3x+m4y+m5,其中,x,y為源像素單元的橫、縱坐標(biāo),x′,y′為與所述源像素單元x,y具有所述映射關(guān)系的 目標(biāo)像素單元的橫、縱坐標(biāo),m0,m1,m2,m3,m4,m5為待定系數(shù)。則,圖3中的熵解碼模塊150通過解析對應(yīng)位置的碼流,解析出六個映射參數(shù)的具體數(shù)值。該六個映射參數(shù),即對應(yīng)預(yù)置的映射函數(shù)的待定系數(shù)m0,m1,m2,m3,m4,m5

應(yīng)理解,所謂預(yù)置的映射函數(shù)是指根據(jù)經(jīng)驗(yàn)或者試驗(yàn)數(shù)據(jù)獲得,也相同的形式固化在編解碼器中(在一些實(shí)施例中,映射函數(shù)也可以在編解碼器中同步更新),即不需要編碼器發(fā)送任何啟示信息到解碼器,解碼器就可以獲知并和編碼器采用相同的操作使用該映射函數(shù)。

應(yīng)理解,上述實(shí)施方式中的映射函數(shù)是示例性的。由于自然的運(yùn)動具有多樣性,因此也有多種映射函數(shù)來匹配不同的運(yùn)動模型,比如4參數(shù)、8參數(shù)等等,不作限定。

應(yīng)理解,步驟S1002中的映射參數(shù)和預(yù)置的映射函數(shù)中的待定系數(shù)需要保持一致,即它們具有相同的數(shù)量和相同的物理意義。

應(yīng)理解,這些映射參數(shù)是以幀級的方式傳遞的,可以在圖像參數(shù)集(PPS,picture parameter set)中傳遞,也可以在條帶頭(slice header),或作為其它幀級語法元素傳遞,不作限定。

S1003,根據(jù)所述映射參數(shù),確定預(yù)置的映射函數(shù)的待定系數(shù);

即,將步驟S1002中解析獲得的具體映射參數(shù),按照和預(yù)置的映射函數(shù)的待定系數(shù)的一一對應(yīng)關(guān)系,代入到映射函數(shù)中,從而得到自變量為源像素坐標(biāo)位置,因變量為目標(biāo)像素坐標(biāo)位置的映射函數(shù)x′=m0x+m1y+m2,y′=m3x+m4y+m5,其中,x,y為源像素單元的橫、縱坐標(biāo),x′,y′為與所述源像素單元x,y具有所述映射關(guān)系的目標(biāo)像素單元的橫、縱坐標(biāo),m0,m1,m2,m3,m4,m5為映射參數(shù)。

S1004,根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第一參考幀中,獲取與第二參考幀的第二像素單元具有映射關(guān)系的第一像素單元;

即,對于第二參考幀中的每一個像素單元,在第一參考幀中都有唯一的像素單元與其相映射,并且可以通過步驟S1004中的映射函數(shù),求得第一參考幀中的映射像素單元的位置,具體的:在所述第一參考幀中,所述第一像素單元的位置為x′=m0x+m1y+m2,y′=m3x+m4y+m5,其中,x,y為所述第二像素單元的橫、縱坐標(biāo),x′,y′為與所述第二像素單元具有所述映射關(guān)系的所述第一像素單元的橫、縱坐標(biāo)。

S1005,將所述第一像素單元的像素值賦予所述第二像素單元;

因?yàn)榈诙⒖紟械南袼貑卧即嬖谝粋€與其一一對應(yīng)的第一參考幀中的像素單元,并且通過步驟S1004可以獲得所述第一參考幀的像素單元的位置,將該位置的像素單元的像素值賦值給第二參考幀中對應(yīng)的像素單元。當(dāng)?shù)诙⒖紟械乃邢袼貑卧极@得了賦值,則第二參考幀便構(gòu)造完成。

應(yīng)理解,步驟S1001中第一參考幀的獲取和步驟S1002、S1003中映射函數(shù)的獲取,沒有前后順序上的聯(lián)系,可以調(diào)整次序,保證S1002中獲取映射參數(shù)與編碼端編入映射參數(shù)的步驟對應(yīng),即可。

參考幀需要放入到參考幀列表中才可以成為待解碼圖像幀的候選參考幀,當(dāng)參考幀更接近于實(shí)際圖像內(nèi)容時(shí),才能提高預(yù)測的精準(zhǔn)度。

H.263,H.264/AVC和HEVC中都采用了多幀參考技術(shù),來提高幀間預(yù)測的準(zhǔn)確性。解碼已經(jīng)完成的圖像,被緩存在解碼重建圖像緩存(DPB)中,供后續(xù)的幀用作參考圖像,因此,標(biāo)準(zhǔn)需要對DPB中的圖像進(jìn)行管理。DPB中的每一個圖像,有三種狀態(tài)“不被參考”、“作為短期參考幀”和“作為長期參考幀”,這三種狀態(tài)之間的轉(zhuǎn)換,是通過解碼圖像標(biāo)記過程進(jìn)行控制的。H.264/AVC中采用了滑動窗和MMCO兩種方式?;瑒哟肮芾矸绞?,顧名思義,是以DPB可以存放的幀數(shù)為窗口,隨著當(dāng)前解碼的圖像,以先入先出的方式,將新的解碼圖像移入,將超出窗口的解碼圖像移出,因此,DPB中保存的是最近解碼的多個圖像。MMCO是通過在碼流中傳輸控制命令,完成對DPB中圖像的狀態(tài)標(biāo)記的,它可以將一個“作為短期參考幀”或“作為長期參考幀”標(biāo)記為“不被參考”也可以將當(dāng)前幀或者“作為短期參考幀”的幀,標(biāo)記為“作為長期參考幀”等。

在一種可行的實(shí)施方式一中,步驟S1005中生成的第二參考幀和解碼重建后的圖像幀同時(shí)加入?yún)⒖紟斜?,同時(shí)按照上述滑動窗管理方式,以先入先出的方式,當(dāng)新的解碼圖像移入時(shí),超出窗口的解碼圖像將被移出。特別的,所述第二參考幀和所述解碼重建后的圖像幀在參考幀列表中處于相鄰的位置。特別的,在參考幀列表中,由解碼方法1000所生成的參考幀,可以與解碼重建后的圖像幀以交織的方式排列,如圖5所示,其中Rn,n=0,1,2...表示解碼重建后的圖像幀,Tn,n=0,1,2...表示由解碼方法1000所生成的參考幀。

示例性的,可以由以下模塊完成實(shí)施方式一:

獲取模塊,用于獲取參考幀列表,所述參考幀列表包括所述解碼重建后 的第一圖像幀的候選參考幀;

構(gòu)建模塊,用于將所述解碼重建后的第一圖像幀和所述第二參考幀加入所述參考幀列表,其中所述解碼重建后的第一圖像幀和所述第二參考幀在所述參考幀列表中的位置相鄰。

在一種可行的實(shí)施方式二中,僅將步驟S1005中生成的第二參考幀加入?yún)⒖紟斜恚?,超出窗口的解碼圖像將被移出。

示例性的,可以由以下模塊完成實(shí)施方式二:

獲取模塊,用于獲取參考幀列表,所述參考幀列表包括所述解碼重建后的第一圖像幀的候選參考幀;

構(gòu)建模塊,用于將所述第二參考幀加入所述參考幀列表。

在一種可行的實(shí)施方式三中,按照解碼方法1000,基于多個解碼重建后的圖像幀,構(gòu)建多個步驟S1005生成的參考幀。在一個實(shí)施例中,不妨設(shè)按照解碼方法1000,基于兩個解碼重建后的圖像幀,第一參考幀和第三參考幀,構(gòu)建兩個步驟S1005生成的參考幀,第二參考幀和第四參考幀。其中第一參考幀在第三參考幀之前生成,構(gòu)建第二參考幀和第四參考幀使用相同的預(yù)置的映射函數(shù)和映射參數(shù),一般的,映射參數(shù)只需要解析一次。將第二參考幀和第四參考幀加權(quán),獲取第五參考幀??梢愿鶕?jù)第二參考幀和第四參考幀,或者第一參考幀和第三參考幀,的不同圖像質(zhì)量,不同可供預(yù)測的準(zhǔn)確度,不同與實(shí)際序列的相思度等指標(biāo)來設(shè)置權(quán)值,不作限定。舉例性的,可以將第二參考幀和第四參考幀的對應(yīng)像素單元計(jì)算均值。將解碼重建后的圖像幀或者第五參考幀加入到參考幀列表中,也可以將它們同時(shí)加入到參考幀列表中,同理,超出窗口的解碼圖像將被移出。

示例性的,可以由以下模塊完成實(shí)施方式三:

第一獲取模塊,用于獲取第三參考幀,所述第三參考幀為解碼重建后的第二圖像幀或所述第二圖像幀通過像素插值獲得的第二插值圖像幀;

第二獲取模塊,用于根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第三參考幀中,獲取與第四參考幀的第四像素單元具有所述映射關(guān)系的第三像素單元;

賦值模塊,用于將所述第三像素單元的像素值賦予所述第四像素單元。

第三獲取模塊,用于獲取參考幀列表,所述參考幀列表包括所述解碼重建后的第二圖像幀的候選參考幀;

計(jì)算模塊,用于將所述第二參考幀的像素單元和所述第四參考幀中同一位置的像素單元加權(quán)相加,獲得第五參考幀;

構(gòu)建模塊,用于將所述解碼重建后的第二圖像幀或所述第五參考幀加入所述參考幀列表。

在一個可行的實(shí)施方式四中,任取第一參考幀中的一個區(qū)域,示例性的,可以取整個第一參考幀,則所述區(qū)域以第一參考幀四個頂點(diǎn)為頂點(diǎn)的矩陣,也可以在第一參考幀中隨意獲取任意形狀的區(qū)域,不作限定。不妨將整個第一參考幀所覆蓋的區(qū)域稱為第一區(qū)域。按照步驟S1003中的映射函數(shù)的逆函數(shù),計(jì)算出這四個第一區(qū)域的頂點(diǎn)在第二參考幀中對應(yīng)的四個散點(diǎn)的位置。依照第一區(qū)域四個頂點(diǎn)的連接關(guān)系,連接四個散點(diǎn),從而在第二參考幀中圈出一片區(qū)域,這個被圈出的區(qū)域不妨設(shè)為第二區(qū)域。在坐標(biāo)平面位置關(guān)系上,在第一區(qū)域和第二區(qū)域所覆蓋的范圍內(nèi)存在重疊的部分和不重疊的部分。重疊的部分被稱為第一區(qū)域和第二區(qū)域的交集。所述第一區(qū)域與所述第二區(qū)域范圍內(nèi)但不重疊的部分連同交集部分被稱為第一區(qū)域和第二區(qū)域的并集。計(jì)算上述交集面積和并集面積的比值,當(dāng)比值小于預(yù)設(shè)值時(shí),將所述第二參考幀加入所述參考幀列表;否則,將解碼重建后的圖像幀加入所述參考幀列表。應(yīng)理解,本方案的目的是為了判斷解碼重建后的圖像幀和第二參考幀的差別,當(dāng)差別較小時(shí)將解碼重建后的圖像幀加入所述參考幀列表,差別較大時(shí)將第二參考幀加入所述參考幀列表,同理,超出窗口的解碼圖像將被移出。應(yīng)理解,預(yù)設(shè)值可以根據(jù)經(jīng)驗(yàn)或者試驗(yàn)數(shù)據(jù)在編解碼器兩端同步設(shè)定相同的值,在一些實(shí)施例中,還可以根據(jù)實(shí)際情況在編解碼器兩端同步更新,示例性的,該預(yù)設(shè)值可以為0.5,或者其他不大于1的正值,不作限定。

示例性的,可以由以下模塊完成實(shí)施方式四:

第一獲取模塊,用于獲取參考幀列表,所述參考幀列表包括所述解碼重建后的第一圖像幀的候選參考幀;

第二獲取模塊,用于在所述解碼重建后的第一圖像幀中,獲取預(yù)置的第一區(qū)域的區(qū)域頂點(diǎn);

第三獲取模塊,用于根據(jù)所述映射函數(shù),在所述第二參考幀中,獲取與所述第一區(qū)域的區(qū)域頂點(diǎn)具有所述映射關(guān)系的散點(diǎn);

連接模塊,用于根據(jù)所述第一區(qū)域的區(qū)域頂點(diǎn)間的連接關(guān)系,連接所述第二參考幀中,與所述第一區(qū)域的區(qū)域頂點(diǎn)具有所述映射關(guān)系的所述散點(diǎn);

構(gòu)建模塊,用于所述散點(diǎn)通過所述連接,包圍的區(qū)域構(gòu)成第二區(qū)域;

計(jì)算模塊,用于計(jì)算所述第一區(qū)域與所述第二區(qū)域面積的交集和并集的比值,其中,所述交集包括所述第一區(qū)域與所述第二區(qū)域的重疊位置區(qū)域,所述并集包括所述交集以及所述第一區(qū)域與所述第二區(qū)域范圍內(nèi)所述第一區(qū)域與所述第二區(qū)域的不重疊位置區(qū)域;

比較模塊,用于當(dāng)所述比值小于預(yù)設(shè)值時(shí),將所述第二參考幀加入所述參考幀列表;否則,將所述解碼重建后的第一圖像幀加入所述參考幀列表。

在一些實(shí)施例中,將前一個實(shí)施例中的解碼重建后的圖像幀和第二參考幀均加入所述參考幀列表。對于后續(xù)的待解碼幀,和前一個實(shí)施例中的所述第一區(qū)域和第二區(qū)域的交集的平面位置相一致,對應(yīng)的,對待解碼幀劃分為對應(yīng)交集內(nèi)的區(qū)域和對應(yīng)交集外的區(qū)域。在第一種示例性的實(shí)施方式中,待解碼幀中對應(yīng)交集內(nèi)的區(qū)域的像素單元可以參考參考幀列表中所有解碼重建后的圖像幀,而不能參考參考幀列表中的第二參考幀;待解碼幀中對應(yīng)交集外的區(qū)域的像素單元可以參考參考幀列表中所有解碼重建后的圖像幀,也可以參考參考幀列表中的第二參考幀。在第二種示例性的實(shí)施方式中,待解碼幀中對應(yīng)交集內(nèi)的區(qū)域的像素單元可以參考參考幀列表中所有解碼重建后的圖像幀,而不能參考參考幀列表中的第二參考幀;待解碼幀中對應(yīng)交集外的區(qū)域的像素單元不可以參考參考幀列表中所有解碼重建后的圖像幀,可以參考參考幀列表中的第二參考幀。

上述實(shí)施例僅在幀級傳遞少量映射參數(shù),豐富了參考幀的選擇,使參考幀更接近于實(shí)際幀,使通過參考幀進(jìn)行的預(yù)測更準(zhǔn)確,提高了編碼效率。

圖6示出了本發(fā)明實(shí)施例的另一種參考幀解碼方法2000的示意性流程圖。如圖6所示,

S2001,解析碼流中的指示信息;

這里的指示信息主要用來表示是否需要按照解碼方法1000的方法生成步驟S1005中所生成的第二參考幀。

應(yīng)理解,指示信息是以幀級的方式傳遞的,可以在圖像參數(shù)集(PPS,picture parameter set)中傳遞,也可以在條帶頭(slice header),或作為其它幀級語法元素傳遞,不作限定。

S2002,當(dāng)所述指示信息指示不基于解碼重建后的圖像幀構(gòu)建其它參考 幀時(shí),將所述解碼重建后的圖像幀作為所述參考幀;

S2003,否則,按照S1001至S1005的步驟生成第二參考幀;

同時(shí),可以按照上述可實(shí)行的實(shí)施方式一至四所述的方法,構(gòu)建參考幀列表。

在一些實(shí)施例中,還可以在序列級傳遞指示信息,比如序列參數(shù)集(SPS,sequence parameter set),來指示整個所屬的序列是否僅使用解碼重建后的圖像幀作為參考幀,進(jìn)一步地,還可以指示序列中每一幀的構(gòu)建參考幀的信息。示例性的,指示一個幀號4,代表只有第四幀將按照本發(fā)明第一方面以及各實(shí)施例所述的方法生成的參考幀加入?yún)⒖紟斜?,或者示例性的,指示一個011101的二進(jìn)制序列,代表序列中每一幀的加入?yún)⒖紟斜淼膸臉?gòu)建方式的情況。

通過指示信息,預(yù)先知曉是否需要生成本發(fā)明第一方面所提出的方法所生成的參考幀,可以降低方案的復(fù)雜度。

本發(fā)明實(shí)施例公開了一種參考幀編碼的方法,結(jié)合圖2可知,如果PU在P條帶中,則運(yùn)動估計(jì)單元122可搜索參考圖片的列表(例如,“列表0”)中的參考圖片以查找PU的參考塊。PU的參考塊可為最緊密地對應(yīng)于PU的像素塊的像素塊。運(yùn)動估計(jì)單元122可產(chǎn)生指示列表0中的含有PU的參考塊的參考圖片的參考圖片索引,及指示PU的像素塊與參考塊之間的空間位移的運(yùn)動向量。運(yùn)動估計(jì)單元122可將參考圖片索引及運(yùn)動向量作為PU的運(yùn)動信息而輸出。運(yùn)動補(bǔ)償單元124可基于由PU的運(yùn)動信息指示的參考塊來產(chǎn)生PU的預(yù)測性像素塊。

圖7示出了本發(fā)明實(shí)施例的一種參考幀編碼方法3000的示意性流程圖。如圖7所示,

S3001,獲取待編碼圖像幀和所述待編碼圖像幀對應(yīng)的編碼重建后的圖像幀的候選參考幀;

S3002,分別提取所述待編碼圖像幀的第一特征點(diǎn)的集合和所述候選參考幀的第二特征點(diǎn)的集合;

作為一種可行的實(shí)施方式:

第一步驟:對于當(dāng)前待編碼幀提取SIFT(scale-invariant feature transform)特征點(diǎn),SIFT算法首先構(gòu)建圖像高斯金字塔,高斯金字塔的構(gòu)建分為兩部分,對圖像做不同尺度的高斯模糊以及對圖像進(jìn)行隔點(diǎn)降采樣。然后相鄰兩層高斯圖像做差,形成高斯差分金字塔(DOG,difference of Gaussian),該過程如圖8所示。接下來在DOG空間中做極值檢測。為了尋找DOG函數(shù)的極值點(diǎn),每一個像素單元要和它所有的相鄰點(diǎn)比較,若其是極大值或者極小值點(diǎn),則初步判定為局部特征點(diǎn)。如圖9所示,中間的檢測點(diǎn)和它同尺度的8個相鄰點(diǎn)和上下相鄰尺度對應(yīng)的9×2個點(diǎn)共26個點(diǎn)比較,以確保在尺度空間和二維圖像空間都檢測到極值點(diǎn)。為了增強(qiáng)匹配穩(wěn)定性、提高抗噪聲能力,在初步判斷為特征點(diǎn)的集合中去除低對比度的關(guān)鍵點(diǎn)和不穩(wěn)定的邊緣響應(yīng)點(diǎn)。對于剩下的每個局部特征點(diǎn),在其附近16x16鄰域內(nèi)劃分16個4x4大小的子塊,每個子塊計(jì)算8方向的梯度方向直方圖,將16個直方圖拼接在一起形成一個128維的特征向量。

第二步驟:對于當(dāng)前待編碼幀的一個參考幀,用上述同樣的方法提取其SIFT特征點(diǎn)。

第三步驟:將當(dāng)前編碼幀的特征點(diǎn)與參考幀中的特征點(diǎn)進(jìn)行匹配,找到若干特征點(diǎn)匹配對。根據(jù)匹配對的位置信息,利用RANSAC(random sample consensus)算法排除異常點(diǎn),RANSAC算法通過隨機(jī)抽樣的方式找出滿足最多匹配對數(shù)的一組變換參數(shù),能夠有效的剔除掉無效的匹配對。

應(yīng)理解,對于特征點(diǎn)的提取和匹配可以采用不同的方法,不作限定。

S3003,根據(jù)所述第一特征點(diǎn)的集合、所述第二特征點(diǎn)的集合和預(yù)置的映射函數(shù),獲得映射參數(shù),所述映射參數(shù)表征在所述映射函數(shù)的約束下,所述第一特征點(diǎn)和所述第二特征點(diǎn)的映射關(guān)系;

作為一種可行的實(shí)施方式:

對于步驟S3002中獲得的有效的特征點(diǎn)的匹配對,每一個匹配對,都由一個屬于待編碼圖像幀的點(diǎn),即第一特征點(diǎn)集合中的點(diǎn),和一個屬于候選參考幀的點(diǎn),即第二特征點(diǎn)集合中的點(diǎn),組成。不妨,將第一特征點(diǎn)中作為目標(biāo)像素單元,與其所匹配的第二特征點(diǎn)作為源像素單元,根據(jù)步驟S1003所述的方法及對應(yīng)映射函數(shù)的約束下,可以獲取一組映射參數(shù)。

S3004,獲取第一參考幀;

具體實(shí)施方式和步驟S1001類似,不再贅述。

S3005,根據(jù)所述映射參數(shù),確定所述映射函數(shù)的待定系數(shù);

具體實(shí)施方式和步驟S1003類似,不再贅述。

S3006,根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第一參考幀中,獲取與第二參考幀的第二像素單元具有所述映射關(guān)系的第一像素單元;

具體實(shí)施方式和步驟S1004類似,不再贅述。

S3007,將所述第一像素單元的像素值賦予所述第二像素單元;

具體實(shí)施方式和步驟S1005類似,不再贅述。

可選的,可以基于原始待編碼圖像和根據(jù)所述映射參數(shù)按照步驟S3004至S3007生成的第二參考幀,更新映射參數(shù)。

一種可行的實(shí)施方式為:

不妨設(shè)I′(x′,y′)和I(x,y)分別為步驟S3007生成的圖像幀和當(dāng)前待編碼的原始圖像幀。目標(biāo)是使得兩者誤差最小,即使最小化誤差函數(shù)成立:其中m0,m1,m2,m3,m4,m5,m6,m7為映射參數(shù)。通過梯度下降方法求解最優(yōu)映射參數(shù),包括:m(t+1)=m(t)+Δm,Δm=A-1b,其中,不斷進(jìn)行迭代計(jì)算直到強(qiáng)度差E低于某一門限或執(zhí)行完一定的次數(shù)為止。

當(dāng)獲得更新后的映射參數(shù)后,需要按照步驟S3005至S3007的過程重新生成第二參考幀。

S3008,將所述映射參數(shù)編入碼流;

步驟S3007獲得的映射參數(shù),包括一些實(shí)施例中更新后的映射參數(shù),都將送入圖2所示的熵編碼單元116進(jìn)行熵編碼的過程,而編入碼流。

應(yīng)理解,這些映射參數(shù)是以幀級的方式傳遞的,可以在圖像參數(shù)集(PPS,picture parameter set)中傳遞,也可以在條帶頭(slice header),或作為其它幀級語法元素傳遞,不作限定。

和解碼端相對的,作為構(gòu)建參考幀列表的各種不同的可行的實(shí)施方式,解碼端構(gòu)建參考幀列表的可行的實(shí)施方式一至四,在經(jīng)過適應(yīng)性的改變后,比如,將對解碼重構(gòu)圖像的操作替換為在編碼端具有等同物理意義的對編碼重構(gòu)圖像的操作,將從碼流中解析語法元素相對的替換為將語法元素編入碼流,同樣可以應(yīng)用于編碼端,這里不再贅述。

上述實(shí)施例僅在幀級傳遞少量映射參數(shù),豐富了參考幀的選擇,使參考幀更接近于實(shí)際幀,使通過參考幀進(jìn)行的預(yù)測更準(zhǔn)確,提高了編碼效率。

圖10示出了本發(fā)明實(shí)施例的另一種參考幀編碼方法4000的示意性流程圖。如圖10所示,

S4001,按照編碼方法3000的方法生成步驟S3007獲得的第二參考幀;

S4002,計(jì)算所述第二參考幀作為所述參考幀的第一編碼性能;

S4003,計(jì)算所述已編碼圖像幀作為所述參考幀的第二編碼性能;

應(yīng)理解,上述測試編碼性能是編碼質(zhì)量-編碼代價(jià)(distortion-rate)選擇的過程,可以按照精確的編碼質(zhì)量和編碼比特?cái)?shù)進(jìn)行比較,也可以使用簡化的方式進(jìn)行比較,比如只考察編碼比特?cái)?shù)的多少等,不作限定。圖2中的預(yù)測處理單元100具體執(zhí)行編碼性能計(jì)算的功能,在此不再贅述。

S4004,將表征第一編碼性能和第二編碼性能哪一個更好的比較信息編入碼流。

該步驟與步驟S2001相對應(yīng),如果第一編碼性能更好,意味著需要采用編碼方法3000的方法生成參考幀,否則,意味著只需要采用編碼重建后的圖像作為參考幀。

S4005,當(dāng)所述比較信息指示所述第一編碼性能優(yōu)于所述第二編碼性能時(shí),將所述第二參考幀作為所述參考幀;否則,將所述編碼重建后的圖像幀作為所述參考幀。

同理,和解碼端相對的,作為構(gòu)建參考幀列表的各種不同的可行的實(shí)施方式,解碼端構(gòu)建參考幀列表的可行的實(shí)施方式一至四,在經(jīng)過適應(yīng)性的改變后,比如,將對解碼重構(gòu)圖像的操作替換為在編碼端具有等同物理意義的對編碼重構(gòu)圖像的操作,將從碼流中解析語法元素相對的替換為將語法元素編入碼流,同樣可以應(yīng)用于編碼端,這里不再贅述。

通過指示信息,預(yù)先知曉是否需要生成本發(fā)明第一方面所提出的方法所生成的參考幀,可以降低方案的復(fù)雜度。

圖11示出了本發(fā)明實(shí)施例的一種參考幀解碼裝置100的示意性框圖。如圖11所示,

第一獲取模塊101,用于獲取第一參考幀,所述第一參考幀為解碼重建后的第一圖像幀或所述第一圖像幀通過像素插值獲得的第一插值圖像幀;

解析模塊102,用于解析碼流中的映射參數(shù);

第二獲取模塊103,用于根據(jù)所述映射參數(shù),確定預(yù)置的映射函數(shù)的待 定系數(shù);

第三獲取模塊104,用于根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第一參考幀中,獲取與第二參考幀的第二像素單元具有映射關(guān)系的第一像素單元;

賦值模塊105,用于將所述第一像素單元的像素值賦予所述第二像素單元。

解碼裝置100與解碼方法1000相對應(yīng),第一獲取模塊101,解析模塊102,第二獲取模塊103,第三獲取模塊104,賦值模塊105分別具體執(zhí)行步驟S1001、S1002、S1003、S1004、S1005的操作,不再贅述。

圖12示出了本發(fā)明實(shí)施例的另一種參考幀解碼裝置200的示意性框圖。如圖12所示,

第一解析模塊201,用于解析碼流中的指示信息;

選擇模塊202,用于當(dāng)所述指示信息指示不基于解碼重建后的圖像幀構(gòu)建其它參考幀時(shí),將所述解碼重建后的圖像幀作為所述參考幀,否則使用下述方法獲得參考幀;

第一獲取模塊203,用于獲取第一參考幀,所述第一參考幀為所述解碼重建后的圖像幀或所述圖像幀通過像素插值獲得的插值圖像幀;

第二解析模塊204,用于解析碼流中的映射參數(shù);

第二獲取模塊205,用于根據(jù)所述映射參數(shù),確定預(yù)置的映射函數(shù)的待定系數(shù);

第三獲取模塊206,用于根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第一參考幀中,獲取與第二參考幀的第二像素單元具有映射關(guān)系的第一像素單元;

賦值模塊207,用于將所述第一像素單元的像素值賦予所述第二像素單元。

解碼裝置200與解碼方法2000相對應(yīng),第一解析模塊201具體執(zhí)行步驟S2001,選擇模塊202,第一獲取模塊203,第二解析模塊204,第二獲取模塊205,第三獲取模塊206,賦值模塊207共同具體執(zhí)行步驟S2002、S2003的操作,不再贅述。

圖13示出了本發(fā)明實(shí)施例的一種參考幀編碼裝置300的示意性框圖。如圖13所示,

第一獲取模塊301,用于獲取待編碼圖像幀和所述待編碼圖像幀對應(yīng)的編碼重建后的圖像幀的候選參考幀;

第二獲取模塊302,用于分別提取所述待編碼圖像幀的第一特征點(diǎn)的集合和所述候選參考幀的第二特征點(diǎn)的集合;

第三獲取模塊303,用于根據(jù)所述第一特征點(diǎn)的集合、所述第二特征點(diǎn)的集合和預(yù)置的映射函數(shù),獲得映射參數(shù),所述映射參數(shù)表征在所述映射函數(shù)的約束下,所述第一特征點(diǎn)和所述第二特征點(diǎn)的映射關(guān)系;

編碼模塊304,用于將所述映射參數(shù)編入碼流;

第四獲取模塊305,用于獲取第一參考幀,所述第一參考幀為編碼重建后的第一圖像幀或所述第一圖像幀通過像素插值獲得的第一插值圖像幀;

第五獲取模塊306,用于根據(jù)所述映射參數(shù),確定所述映射函數(shù)的待定系數(shù);

第六獲取模塊307,用于根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第一參考幀中,獲取與第二參考幀的第二像素單元具有所述映射關(guān)系的第一像素單元;

賦值模塊308,用于將所述第一像素單元的像素值賦予所述第二像素單元。

編碼裝置300與編碼方法3000相對應(yīng),第一獲取模塊301,第二獲取模塊302,第三獲取模塊303,編碼模塊304,第四獲取模塊305,第五獲取模塊306,第六獲取模塊307,賦值模塊308分別具體執(zhí)行步驟S3001、S3002、S3003、S3005、S3006、S3007、S3008、S3004的操作,不再贅述。

圖14示出了本發(fā)明實(shí)施例的另一種參考幀編碼裝置400的示意性框圖。如圖14所示,

第一獲取模塊401,用于獲取待編碼圖像幀和所述待編碼圖像幀對應(yīng)的編碼重建后的圖像幀的候選參考幀;

第二獲取模塊402,用于分別提取所述待編碼圖像幀的第一特征點(diǎn)的集合和所述候選參考幀的第二特征點(diǎn)的集合;

第三獲取模塊403,用于根據(jù)所述第一特征點(diǎn)的集合、所述第二特征點(diǎn) 的集合和預(yù)置的映射函數(shù),獲得映射參數(shù),所述映射參數(shù)表征在所述映射函數(shù)的約束下,所述第一特征點(diǎn)和所述第二特征點(diǎn)的映射關(guān)系;

第一編碼模塊404,用于將所述映射參數(shù)編入碼流;

第四獲取模塊405,用于獲取第一參考幀,所述第一參考幀為編碼重建后的第一圖像幀或所述第一圖像幀通過像素插值獲得的第一插值圖像幀;

第五獲取模塊406,用于根據(jù)所述映射參數(shù),確定所述映射函數(shù)的待定系數(shù);

第六獲取模塊407,用于根據(jù)確定所述待定系數(shù)后的映射函數(shù),在所述第一參考幀中,獲取與第二參考幀的第二像素單元具有所述映射關(guān)系的第一像素單元;

賦值模塊408,用于將所述第一像素單元的像素值賦予所述第二像素單元;

第一計(jì)算模塊409,用于計(jì)算所述第二參考幀作為所述參考幀的第一編碼性能;

第二計(jì)算模塊410,用于計(jì)算所述已編碼圖像幀作為所述參考幀的第二編碼性能;

第二編碼模塊411,用于將所述第一編碼性能和所述第二編碼性能的比較信息編入所述碼流;

比較模塊412,用于當(dāng)所述比較信息指示所述第一編碼性能優(yōu)于所述第二編碼性能時(shí),將所述第二參考幀作為所述參考幀;否則,將所述編碼重建后的圖像幀作為所述參考幀。

編碼裝置400與編碼方法4000相對應(yīng),第一獲取模塊401,第二獲取模塊402,第三獲取模塊403,第一編碼模塊404,第四獲取模塊405,第五獲取模塊406,第六獲取模塊407,賦值模塊408共同具體執(zhí)行步驟S4001的操作,第一計(jì)算模塊409,第二計(jì)算模塊410,第二編碼模塊411,比較模塊412,分別具體執(zhí)行步驟S4002、S4003、S4004和S4005的操作,不再贅述。

綜上,上述實(shí)施例僅在幀級傳遞少量映射參數(shù)、比較信息或指示信息,豐富了參考幀的選擇,使參考幀更接近于實(shí)際幀,使通過參考幀進(jìn)行的預(yù)測更準(zhǔn)確,提高了編碼效率,同時(shí)當(dāng)解碼端預(yù)先獲得參考幀的構(gòu)建信息時(shí),可以不進(jìn)行額外的參考幀構(gòu)建,降低了方案的復(fù)雜度。

在一個或多個實(shí)例中,所描述的功能可以硬件、軟件、固件或其任何組合來實(shí)施。如果以軟件實(shí)施,則功能可作為一個或多個指令或代碼而存儲于計(jì)算機(jī)可讀媒體上或經(jīng)由計(jì)算機(jī)可讀媒體而發(fā)送,且通過基于硬件的處理單元執(zhí)行。計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)可讀存儲媒體(其對應(yīng)于例如數(shù)據(jù)存儲媒體等有形媒體)或通信媒體,通信媒體包含(例如)根據(jù)通信協(xié)議促進(jìn)計(jì)算機(jī)程序從一處傳送到另一處的任何媒體。以此方式,計(jì)算機(jī)可讀媒體大體上可對應(yīng)于(1)非瞬時(shí)的有形計(jì)算機(jī)可讀存儲媒體,或(2)例如信號或載波等通信媒體。數(shù)據(jù)存儲媒體可為可由一個或多個計(jì)算機(jī)或一個或多個處理器存取以檢索指令、代碼及/或數(shù)據(jù)結(jié)構(gòu)以用于實(shí)施本發(fā)明中所描述的技術(shù)的任何可用媒體。計(jì)算機(jī)程序產(chǎn)品可包含計(jì)算機(jī)可讀媒體。

通過實(shí)例而非限制,某些計(jì)算機(jī)可讀存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲器、磁盤存儲器或其它磁性存儲裝置、快閃存儲器,或可用以存儲呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要程序代碼且可由計(jì)算機(jī)存取的任何其它媒體。而且,任何連接可適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀媒體。舉例來說,如果使用同軸電纜、光纜、雙絞線、數(shù)字用戶線(DSL)或無線技術(shù)(例如,紅外線、無線電及微波)而從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源發(fā)送指令,則同軸電纜、光纜、雙絞線、DSL或無線技術(shù)(例如,紅外線、無線電及微波)包含于媒體的定義中。然而,應(yīng)理解,計(jì)算機(jī)可讀存儲媒體及數(shù)據(jù)存儲媒體不包含連接、載波、信號或其它瞬時(shí)媒體,而是有關(guān)非瞬時(shí)有形存儲媒體。如本文中所使用,磁盤及光盤包含壓縮光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字影音光盤(DVD)、軟性磁盤及藍(lán)光光盤,其中磁盤通常以磁性方式復(fù)制數(shù)據(jù),而光盤通過激光以光學(xué)方式復(fù)制數(shù)據(jù)。以上各物的組合還應(yīng)包含于計(jì)算機(jī)可讀媒體的范圍內(nèi)。

可由例如一個或多個數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路等一個或多個處理器來執(zhí)行指令。因此,如本文中所使用的術(shù)語“處理器”可指代前述結(jié)構(gòu)或適于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。另外,在一些方面中,可將本文中所描述的功能性提供于經(jīng)配置以用于編碼及解碼的專用硬件及/或軟件模塊內(nèi),或并入于組合式編解碼器中。而且,所述技術(shù)可完全實(shí)施于一個或多個電路或邏輯元件中。

本發(fā)明的技術(shù)可以廣泛地由多種裝置或設(shè)備來實(shí)施,所述裝置或設(shè)備包含無線手持機(jī)、集成電路(IC)或IC集合(例如,芯片組)。在本發(fā)明中描述各種組件、模塊或單元以強(qiáng)調(diào)經(jīng)配置以執(zhí)行所揭示技術(shù)的裝置的功能方面,但未必要求通過不同硬件單元來實(shí)現(xiàn)。確切地說,如上文所描述,各種單元可組合于編解碼器硬件單元中,或通過交互操作性硬件單元(包含如上文所描述的一個或多個處理器)的集合結(jié)合合適軟件及/或固件來提供。

應(yīng)理解,說明書通篇中提到的“一個實(shí)施例”或“一實(shí)施例”意味著與實(shí)施例有關(guān)的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個實(shí)施例中。因此,在整個說明書各處出現(xiàn)的“在一個實(shí)施例中”或“在一實(shí)施例中”未必一定指相同的實(shí)施例。此外,這些特定的特征、結(jié)構(gòu)或特性可以任意適合的方式結(jié)合在一個或多個實(shí)施例中。

在本發(fā)明的各種實(shí)施例中,應(yīng)理解,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實(shí)施例的實(shí)施過程構(gòu)成任何限定。

另外,本文中術(shù)語“系統(tǒng)”和“網(wǎng)絡(luò)”在本文中??苫Q使用。應(yīng)理解,本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:單獨(dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。

在本申請所提供的實(shí)施例中,應(yīng)理解,“與A相應(yīng)的B”表示B與A相關(guān)聯(lián),根據(jù)A可以確定B。但還應(yīng)理解,根據(jù)A確定B并不意味著僅僅根據(jù)A確定B,還可以根據(jù)A和/或其它信息確定B。

本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng) 過程,在此不再贅述。

在本申請所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。

以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1