欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

視頻編碼方法

文檔序號:7514455閱讀:244來源:國知局
專利名稱:視頻編碼方法
技術(shù)領(lǐng)域
總的來說,本發(fā)明涉及視頻壓縮領(lǐng)域,具體而言,涉及在應(yīng)用于二維幀序列的子帶編碼方法基礎(chǔ)之上的視頻編碼方法,該方法包括當(dāng)前幀(F2)的子帶分解步驟,針對前面的幀或者基準(zhǔn)幀(F1)進(jìn)行的運動預(yù)測步驟和編碼步驟。
背景技術(shù)
在多媒體領(lǐng)域里,新的交互式應(yīng)用,比方說因特網(wǎng)視頻流、視頻數(shù)據(jù)庫瀏覽或者多質(zhì)量視頻業(yè)務(wù),正在越來越普及。不同種類的網(wǎng)絡(luò)(因特網(wǎng)、移動網(wǎng)、家庭數(shù)字網(wǎng))上視頻業(yè)務(wù)的新發(fā)展已經(jīng)在不斷變化的傳輸條件(帶寬、誤碼率)和不斷變化的消費者需求以及終端譯碼能力(CPU、顯示器大小、應(yīng)用……)下帶來了新的問題,使得人們不斷尋找新的算法來進(jìn)行視頻壓縮,特別是基于子帶分解的方法。
在傳統(tǒng)的視頻編碼算法里,特別是在MPEG-4標(biāo)準(zhǔn)的幀內(nèi),處理過的視頻序列連續(xù)幀之間的運動估計可以用所謂的塊匹配算法(BMA)來進(jìn)行在BMA中,通過在基準(zhǔn)幀內(nèi)限定的區(qū)域或者搜索窗內(nèi)搜索相似塊,將一個運動矢量分配給當(dāng)前幀中的一塊圖像元素(像素)(分解成固定大小的塊),按照誤差測量通過評估候選對象來找到最佳矢量(表示塊的變換)(最佳的對應(yīng)塊就是給出最小誤差的那一個)??上?,在經(jīng)過了運動補(bǔ)償?shù)膸瑑?nèi),BMA在塊邊緣上(分塊效應(yīng))產(chǎn)生高頻缺陷。在小波分解基礎(chǔ)之上將BMA用于編碼方法中的時候,這些缺陷通過導(dǎo)致補(bǔ)償過的幀的小波分解過程中的高系數(shù)來降低編碼效率。

發(fā)明內(nèi)容
本發(fā)明的目的是提出一種視頻編碼方法,它采用另一種運動估計和補(bǔ)償技術(shù),從而提高編碼效率。
為此目的,本發(fā)明涉及前面提到的一種方法,其特征還在于所述運動預(yù)測步驟是建立在基準(zhǔn)幀的冗余分解基礎(chǔ)之上的,它采用以下程序(1)在所述分解技術(shù)的近似子帶中,采用涉及到基準(zhǔn)幀的完全搜索操作來估計運動,應(yīng)用于當(dāng)前幀的每一個圖像元素(像素);
(2)對于其它子帶,用像素(或者像素)遞歸運動估計算法來估計運動,將從所述子帶分解過程中獲得的二次抽樣子帶重構(gòu)出來的基準(zhǔn)冗余子帶用于這一預(yù)測。
這里提出的這一技術(shù)是建立在采用小波的像素遞歸運動估計算法的基礎(chǔ)之上的。小波域的運動估計必須考慮變換不變性這個問題。然后將基準(zhǔn)幀的冗余分解技術(shù)用于預(yù)測運動情況,從而將最精細(xì)分辨率的柵格上的運動考慮在內(nèi)。在近似子帶中,在當(dāng)前幀里對每個像素應(yīng)用完全搜索算法來估計運動情況。對于其它子帶,采用將基準(zhǔn)冗余子帶用于預(yù)測的像素遞歸算法。這個算法的初始化是利用同一個子帶內(nèi)空間鄰域里運動矢量以及對應(yīng)于前一級分解過程中同一個位置的運動矢量的加權(quán)值來完成的。這一算法允許在不能夠收斂到良好估計的位置上重新初始化。還對子帶內(nèi)的掃描順序進(jìn)行優(yōu)化,以便使逐行掃描中可能出現(xiàn)的漂移最小。
具體而言,所述像素遞歸運動估計算法可以包括以下步驟(a)初始化步驟,用有因果關(guān)系的鄰域S中運動矢量的平均值d0(m)來初始化迭代算法d0(m)=1Card(S)Σj∈Sd(m-j)]]>采用以下符號m=必須估計其運動情況的像素;d(m)=它的運動矢量;(b)更新步驟,用于按照以下關(guān)系更新didi+1=di+ui,其中在每次疊帶的時刻i確定的ui是下式給出的一個更新矢量ui=E(m)||▿A||2+λ·▿A]]>其中A是m-di這個點上圖像的梯度,E(m)=B(m)-A(m-di)是當(dāng)前這次迭代的預(yù)測誤差,λ是調(diào)整參數(shù);(c)判決步驟,用于進(jìn)行終止測試,從而在di足夠接近d的時候結(jié)束這一程序;最好使用四個像素的典型鄰域。
在本發(fā)明的一個特定實施方案中,終止測試可以建立在以下比值的估計的基礎(chǔ)之上
R=||ui||2||di||2]]>該比值必須大于給定門限ε。
所述終止測試還可以包括針對最大迭代次數(shù)給出的另外一個條件。
還可以指出,按照本發(fā)明的一個優(yōu)選實施方案,所述更新矢量ui的確定是建立在包括以下最小化操作的計算步驟這一基礎(chǔ)之上的已知B(m)=A(m-di)-δdT·A,其中δdT·A是A與矢量δd=d-di的內(nèi)積,使平方誤差J最小J=(B(m)-A(m-di)+δdT·A)2+λ‖δd‖2對于δd,λ‖δd‖2這一項是λ很大的時候得到的運動矢量場的平整度與λ很小的時候運動矢量精度之間的一個折中的情況下的一個調(diào)整項,在J/d=0的情況下得到最小值,導(dǎo)致以下更新矢量δd=ui=-E(m)||▿A||2+λ▿A]]>在本發(fā)明的另一個實施方案中,這一運動估計算法還可以包括以下步驟(a)初始化步驟,用有因果鄰域S中運動矢量的平均值dj,0(m)來初始化迭代算法dj,0(m)=1Card(S)Σj∈Sdj(m-k)]]>采用以下符號k∈s(1~4);m=必須估計其運動情況的像素;dj,0(m)=它的運動矢量;(b)更新步驟,用于按照以下關(guān)系更新dj,i+1dj,i+1=dj,i+uj,i,其中在每次疊帶的時刻i確定的uj,i是下式給出的一個更新矢量uj,i=(Σs=0,13(▿Aj,s▿Aj,sT)+λI)-I(-Σs=0,13Ej,s(m)▿Aj,s)]]>其中▿Aj,s=∂Aj,s(m-dj,i)∂m∂Aj,s(m-dj,i)∂n]]>是m-dj,i這個點上圖像的梯度,Ej,s(m)=Bj,s(m)-Aj,s(m-dj,i);(c)判決步驟,用于進(jìn)行終止測試,從而在dj,i足夠接近dj的時候結(jié)束這一程序;最好使用四個像素的典型鄰域。


下面參考附圖,以實例的形式介紹本發(fā)明,在這些附圖中圖1說明具有運動補(bǔ)償?shù)囊曨l序列的子帶分解;圖2和圖3分別說明動態(tài)子帶分解和能夠獲得所述分解的濾波器組;圖4和5說明這樣的動態(tài)子帶分解如何不能保持變換不變性;圖6和7說明表示之間的恒等性,說明每一級分析都存在冗余分解;圖8和9分別描述信號分解和信號重構(gòu)情形中的所謂的提升方案;圖10~12說明將圖6和7的恒等式應(yīng)用于圖3中的每一組濾波器得到的經(jīng)典小波分解的三級;圖13說明三級上分解的樣本的選擇(0表示偶數(shù),1表示奇數(shù));圖14說明對應(yīng)于64個可能分解基可能的64個二次抽樣選擇;圖15說明交織的二次抽樣子帶如何導(dǎo)出冗余子帶;圖16說明單獨一幀的冗余分解,十個冗余子帶中的每一個都具有與原始幀相同的大??;圖17說明經(jīng)典線性掃描順序,圖18說明在描述的像素遞歸算法的初始化階段能夠獲得改進(jìn)了的因果性的一個因果掃描順序;圖19說明像素(m,n)冗余平面內(nèi)的完全搜索窗。
具體實施例方式
為了獲得能夠滿足不同需求的靈活性,視頻編碼系統(tǒng)需要具有可伸縮性。建立在子帶分解技術(shù)基礎(chǔ)之上的漸進(jìn)編碼技術(shù)可能是一個答案,因為它們允許進(jìn)行全漸進(jìn)傳遞。具體而言,關(guān)于可伸縮表示,小波在漸進(jìn)編碼圖像中具有很高的效率。它們?yōu)殪o止圖像提供自然的多尺度表示,利用分解過程中包括時間尺度的3D(或者2D+t)(3D=三維;2D=二維;t=時間)小波分析能夠擴(kuò)展到視頻數(shù)據(jù)。在3D子帶分解方案中引入運動補(bǔ)償步驟能夠得到視頻信號的空間-時間多分辨(分層)表示,如圖1所示,它說明具有運動補(bǔ)償?shù)囊曨l信息時間子帶分解。
將圖中所示具有運動補(bǔ)償?shù)?D小波分解應(yīng)用于一組幀(GOF),叫做F1~F8。在這個3D子帶分解方案中,輸入視頻信號的每個GOF都首先經(jīng)過運動補(bǔ)償(MC),以便處理大運動序列,然后用Haar小波進(jìn)行時間濾波(TF)。虛線箭頭對應(yīng)于高通時間濾波,而其它的則對應(yīng)于低通時間濾波,圖中畫出了三級分解(L和H=第一級;LL和LH=第二級;LLL和LLH=第三級)。
但是,對每個子帶的系數(shù)進(jìn)行像素遞歸運動估計的時候,必須考慮沒有變換不變性這個問題。動態(tài)子帶分解的主要問題(見圖2,它說明這樣一個分解方案,針對三層進(jìn)行,得到最低層中的十個子帶LH1、HL1和HH1,中間層中的LH2、HL2和HH2,以及最高層中的M3、LH3、HL3和HH3;又見圖3,它說明能夠從輸入信號f[n]獲得這一分解的一個濾波器組,它給出輸出信號L1[n]、L2[n]、L3[n]、H1[n]、H2[n]和H3[n])是在每次濾波操作以后(21,22,23,24,25,26)所進(jìn)行的二次抽樣操作(31,32,33,34,35,36)不具備變換不變性(而信號的冗余小波變換則是一個時間不變表示,非冗余小波分解則缺乏這一特性)。在圖4和圖5中給出一個實例,其中分別在運動目標(biāo)(原始信號0RS)邊緣的第一個位置這種情形以及對應(yīng)于所述邊緣另一個位置的偏移輸入(偏移輸入SHF)這種情形,說明低通和高通濾波器(L(z)和H(z))以及二次抽樣器(TM2)的輸出上,高通濾波分支和低通濾波分支的樣本。在每個濾波器和每個二次抽樣器以后說明獲得的信號。每次二次抽樣操作必須保持偶數(shù)或者奇數(shù)樣本運動邊緣導(dǎo)致第一種情況下(圖4,高通濾波分支)的高頻系數(shù)HFC,而在第二個中間再也不能檢測到所述邊緣(圖5)。因此,無法從二次抽樣以后的子帶系數(shù)推測運動情況。必須從沒有采樣的子帶進(jìn)行運動預(yù)測。
對于1D信號,二次抽樣操作會導(dǎo)致兩個可能的選擇可以選擇奇數(shù)樣本也可以選擇偶數(shù)樣本。對于2D信號(比方說圖像),這一操作會導(dǎo)致四種可能的分解方法。因此,在三級上對一個信號幀進(jìn)行分解,會有64種可能的分解方案,它們的信息量都相同。但是,如上所述,不能對它們進(jìn)行運動分解,因為它們不是冗余的。于是從圖6可以看出(說明圖中所示兩個表示(L(z2)+TM2)和(TM2+L(z)之間的恒等性)每一級分析都存在冗余分解。引入圖3所示(圖7中上半部分重復(fù))低通濾波分支(21,31,22,32,23,33)里圖6的等價的東西會得到圖7所示下半部分的等價方案在最后的二次抽樣操作之前,獲得大小與原始圖像一樣的冗余子帶,可以對它進(jìn)行有效的運動估計(三級1、2、3上的冗余子帶RSB1、RSB2、RSB3已經(jīng)在圖7中說明)。
在信號分解導(dǎo)致輸出c[n]和d[n]的情況下,用圖8所示的所謂提升方案來進(jìn)行小波分解,在從所述信號c[n]和d[n]進(jìn)行信號重構(gòu)的情況下用圖9所示的方案來進(jìn)行(這樣做是因為預(yù)測濾波器P和更新濾波器U的選擇具有靈活性,但是顯然它不是唯一的選擇)。對于每條濾波器通道,首先可以提取奇數(shù)或者偶數(shù)樣本(分別是x1[n]和x0[n]),就象圖8和圖9所示的一樣-首先是偶數(shù)樣本? -首先是奇數(shù)樣本? 然后,圖10~12說明通過將圖6和7的恒等式應(yīng)用于圖3中的每個濾波器組能夠獲得的“經(jīng)典”小波分解可以看出,剛好在每一級的抽取之前(圖10、11或者12)停止會得到冗余子帶。
問題是內(nèi)在地提升小波要在濾波之前進(jìn)行十取一處理。在圖8中,提升組的輸入信號是x0[n]=f[2n]·x1[n]=f[2n+1]或者x0[n]=f[2n+1]·x1[n]=f[2(n+1)],相對于原始信號f[n]對這些輸入進(jìn)行十取一處理。這樣,在分解過程中不能跳過十取一這一步,可以用另一種方法獲得冗余子帶,這里不進(jìn)行描述。
顯然,參考圖8和9,對于每一級分解和每一尺度,可以首先選擇偶數(shù)或者奇數(shù)樣本。如果例如偶數(shù)樣本用0表示,奇數(shù)樣本用1表示,那么三級上全分解的特征就是有六個比特,如圖13中的實例所示,可以將它看成利用這樣的基對這個數(shù)進(jìn)行的二進(jìn)制分解0,0,1,0,0,1->基數(shù)9。結(jié)果對應(yīng)于64個可能的分解基有64個可能的二次抽樣選擇(如圖14所示)。
然后用關(guān)鍵的二次抽樣子帶來構(gòu)造冗余子帶。分解基的數(shù)量能夠得到要在矩形柵格上放置子帶的位置。例如,如果描述x的比特是010(第3級,第2級,第1級),那么它們就得到2這個數(shù),它就是重構(gòu)偏移,說明子帶的第一個樣本必須沿著x方向放在冗余子帶中的哪個位置上。針對y方向進(jìn)行同樣的操作,然后將樣本按照以下長度間隔放置間隔=2分解級。知道了每個二次抽樣子帶的偏移和間隔,就能夠?qū)λ鼈冞M(jìn)行交織,以便重構(gòu)冗余子帶,如圖15所示。這個冗余子帶與原始圖像具有相同的大小。在第一級分解中,每個冗余子帶HL、LH和HH都是通過交織四個二次抽樣子帶獲得的。在第2級上,通過交織16個二次抽樣子帶來獲得它們,在第3級上,必須交織64個二次抽樣子帶來獲得冗域子帶(見圖14)。最后,冗余分解得到10個冗余子帶,如圖16所示。
下面介紹像素遞歸運動估計方法。在下文中,黑體字表示矢量(d),表示梯度,(.)T表示轉(zhuǎn)置。以下算法的目的是計算兩個矩陣A和B之間的光流,它可以是兩個連續(xù)的序列幀,或者(就象這個情形中一樣)兩個連續(xù)子帶。目的是估計每個像素m=(m,n)的運動矢量d(m)B(m)=A(m-d)(1)為了對d進(jìn)行遞歸描述,必須假設(shè)在圖像平面上d是平滑分布的。這里描述的方法主要是對于B中的每個基準(zhǔn)像素,在估計的位置(m-d)計算A中的梯度,以便找到A中更靠近基準(zhǔn)像素的像素。這樣就獲得一個新位置m-d。如果位置沒變,這個算法就停止,否則就再迭代一次。這樣,當(dāng)這一算法到達(dá)正確位置的時候,它就收斂并停止。
這一迭代程序包括以下步驟,包括初始化、計算更新矢量、更新運動矢量和終止測試(1)用因果鄰域S中運動矢量的平均值初始化迭代程序,d0(m)=1Card(S)Σj∈Sd(m-j)---(2)]]>考慮到可以使用四個像素的典型鄰域(假設(shè)這些運動矢量是圖像邊界的0)* j1j2j3** j0m * ** * * * *
(2)第二步是確定每次迭代i的更新矢量uiui=E(m)||▿A||2+λ·▿A----(3)]]>其中▿A=∂A(m-di)∂m∂A(m-di)∂n---(4)]]>是圖像在m-di這一點上的梯度,E(m)=B(m)-A(m-di) (5)是當(dāng)前這次迭代的預(yù)測誤差,λ是調(diào)整參數(shù)。
(3)在第三步中,更新didi+1=di+ui(6)(4)如果di足夠接近d,終止測試就結(jié)束這一程序。但是這一測試可以例如建立在比值估計這一基礎(chǔ)之上R=||ui||2||di||2---(7)]]>它必須優(yōu)于ε(可以轉(zhuǎn)動ε來平衡矢量確定精度和計算負(fù)荷)??梢越o最大迭代次數(shù)一個輔助條件。
下面詳細(xì)介紹第二步(更新表達(dá)式(3)描述的矢量)。表達(dá)式(1)的一階近似為B(m)=A(m-di)-δdT·A (8)其中A是表達(dá)式(4)的梯度,δd=d-di。
必須使平方誤差最小(下面將介紹λ‖δd‖2這一項) 當(dāng)∂J∂δd=0]]>的時候得到最小值,也就是(B(m)-A(m-di)+δdT·A)·A+λδd=0(10)當(dāng)δdT·A是矢量δd和A的內(nèi)積,得到δdT·A=AT·δd,表達(dá)式(10)成為(A.T+λI).δd=-E(m).A (11)現(xiàn)在能夠看到λ的用途矩陣AAT是不可逆的(秩1),但是可以用以下引理來計算AAT+λI的逆(M+uuT)-1=M-1-M-1uuTM-11+uTM-1u]]>對于u=A和M=λI由此得到((▿A▿AT+λI)-1=▿Aλ+||▿A||2--(12)]]>最后得到δd=E(m)λ+||▿A||2▿A---(13)]]>這就是用于表達(dá)式(3)和(6)中的更新矢量ui。這一調(diào)整在得到的運動矢量場(對于大λ)平滑程度與運動矢量精度(對于小λ)之間得到一個折中。
顯然,在表達(dá)式(11)中,必須計算A。梯度計算可以通過圖像的離散濾波來近似。為了通過線性濾波對梯度進(jìn)行離散近似,這些濾波器必須滿足現(xiàn)在必須提醒的一些條件。假設(shè)h是一個FIR濾波器,考慮連續(xù)場F(x,y)的矩形采樣,得到F[n,m]=F(nL1,nL2)。在x方向上圖像的梯度是L1·∂F∂x(nL1,nL2)=hn,m*F[n,m]]]>=Σ(k,l)∈Shk,l·F[n-k,m-l]--(14),]]>S被看作9個像素的一個鄰域(中心像素m和周圍的8個像素)。另一方面,在第一階,得到F[n-k,m-l]≈F[n,m]-kL1·∂F∂x(nL1,nL2)-lL2·∂F∂x(nL1,nL2)----(15)]]>合并表達(dá)式(14)和(15)得到L1·∂F∂x(nL1,nL2)=Σ(k,l)∈Shk,l·F[n,m]]]>-L1Σ(k,l)∈Skhk,lL1·∂F∂x(nL1,nL2)]]>-L2Σ(k,l)∈Slhk,lL1·∂F∂x(nL1,nL2)--(16)]]>找出關(guān)系(16)的成員就得到h的三個約束條件Σ(k,l)∈Shk,l=0]]>Σ(k,l)∈Skhk,l=-1]]>Σ(k,l)∈Slhk,l=0]]>選擇出來滿足這些條件的濾波器如下(a)x-維梯度濾波器
-1/8 0 1/8-1/4 0 1/4-1/8 0 1/8(b)y-維梯度濾波器-1/8 -1/4 -1/80 001/8 1/4 1/8由此得到離散梯度的一個良好近似。
采用上述算法能夠得到不同的改進(jìn),特別是運動矢量和速度的精度。算法的速度可以通過讓它更快地收斂而得到提高。因此,初始化步驟對于收斂速度而言至關(guān)重要。良好的初始化必須考慮以前計算出來的運動矢量。但是,在圖像平面上運動矢量分布的平滑假設(shè)在物體的邊界上可能不成立(對于特定類型的運動,例如當(dāng)平面內(nèi)的物體在不同方向上運動的時候)。這一算法必須能夠檢測這一情況,通過打破運動矢量場的平滑性來矯正這一初始化操作??梢栽诔跏蓟襟E的結(jié)尾進(jìn)行終止測試(甚至在每次更新完運動矢量以后都這樣做)。必須計算兩個測試值E0(m)=|Bj,s(m)-Aj,s(fm)|Ej,s(m)=|Bj,s(m)-Aj,s(fm-fdi)|,其中E0是沒有運動(di=0)的誤差,Ej,s是考慮了計算出來的運動矢量的時候的誤差。原則是如果Ej,s大于E0,就必須將運動矢量重新初始化為0。但是,過于頻繁的重新初始化會妨礙這一算法收斂。當(dāng)預(yù)測誤差非常小的時候,這種情況會頻繁發(fā)生。這就是為什么在這一測試中引入一個容差,它由以下不等式給出Ej,s>E0+THR(17)其中THR是一個門限,要按照子帶系數(shù)的值來確定。
另一個改善涉及到掃描階數(shù)。假設(shè)圖像是一個表,從第一項(也就是m=(0,0))到最后一項(m=xmax,ymax)進(jìn)行掃描,如圖17所示。結(jié)合了初始化鄰域的這個初始化順序在圖像的左下角得到一個很差的運動估計(因為對于圖像的第一欄,初始化鄰域只減少到以上像素)。于是這一方法不是堅固的,導(dǎo)致誤差漂移。圖18給出的掃描順序能夠得到更好的結(jié)果。對這一圖像進(jìn)行掃描,偶數(shù)行從左到右,奇數(shù)行從右到左。這樣就能夠在初始化的時候增強(qiáng)因果性。每一個像素都依賴于以前掃描過的所有像素。采用這種方法在這個圖像左下角的誤差漂移不存在。更好的初始化可以使這一算法收斂更快。誤差漂移是因為迭代次數(shù)有限如果這一初始化不好,這一算法就沒有足夠的迭代次數(shù)來收斂到正確的運動矢量。采用這種新的掃描順序,必須改變初始化鄰域。對于第一行,鄰域減少到前一個像素* j0m *對于偶數(shù)行,鄰域維持不變* j1j2j3** j0m * ** * * * *第三個改善涉及圖像的近似子帶SB Ajmax,0,從定義上講它沒有多少細(xì)節(jié)。這樣,像素遞歸運動估計有時不夠準(zhǔn)確。補(bǔ)償以后的近似中很小的誤差會導(dǎo)致從補(bǔ)償過的子帶重構(gòu)的圖像非常差的結(jié)果。如果對于窗口Ajmax,0中的每一個像素Bjmax,0都進(jìn)行完整的掃描就能夠得到更好的結(jié)果,但是這種方法不如像素遞歸算法快。搜索窗的大小為(2·(2jmax)+1)by(2·(2jmax)+1)如圖19所示。如果SB(3,0)的估計非常好,就能夠用它的運動矢量來初始化其它子帶SB。如果將dapproximation叫做像素m(m,n)上SB(3,0)里的運動矢量,將d0叫做只考慮空間鄰域的初始化矢量,那么就能夠通過以下表達(dá)式計算初始化矢量D0=α·dapproximation+(1-α).d0,(18)其中α是能夠在初始化過程中控制dapproximation的影響的一個常數(shù)。如果α=0,dapproximation就根本沒有任何影響。同樣的原理可以應(yīng)用于其它子帶SB。于是可以在更高階的分解j過程中用前面計算出來的運動矢量,以便初始化這一算法。如果將dj+1叫做j+1這一階上估計出來的運動矢量,新的初始化矢量就是D0=α·dj+1+(1-α)·d0。上面描述的一般算法可以應(yīng)用于兩個子帶。但是,如果使用了它,就不考慮同一級分解的子帶之間的相關(guān)在這三個(或者將LL子帶考慮在內(nèi)的時候有四個)子帶中計算出來的運動矢量對于每個像素都應(yīng)該相同。于是能夠決定對給定級的分解j{1,2,...,jmax}估計每個像素m=(m,n)的運動矢量dj(m)Bj,s(m)=Ajs(m-dj)for s∈{0,...4} (19)其中A0,0表示第一個圖像,B0,0表示第二個圖像,Aj,s表示幀A第j階分解的子帶號子帶0表示近似子帶(SB),子帶1表示水平細(xì)節(jié)SB,子帶2表示垂直細(xì)節(jié)SB,子帶3表示對角線細(xì)節(jié)SB。
必須按照前面的方式做出在子帶平面上d平滑分布的假設(shè)。
如上所述,對每一級分解j∈{1,2,...,jmax}所執(zhí)行的迭代程序包括四個步驟初始化、計算更新矢量、更新運動矢量和終止測試,但是有一些細(xì)微的改進(jìn)用因果鄰域S中運動矢量的平均值初始化迭代程序,dj,0(m)=1Card(S)Σj∈Sdj(m-k)--(20)]]>對于例如典型的4像素鄰域(假設(shè)在圖像邊界上運動矢量等于0)* k1k2k3** k0m * ** * * * *2.然后確定更新矢量uj,i
uj,i=(Σs=0,13(▿Aj,s▿Aj,sT)+λI)-1(-Σs=0,13Ej,s(m)▿Aj,s)---(21)]]>其中▿Aj,s=∂Aj,s(m-dj,i)∂m∂Aj,s(m-dj,i)∂n---(22)]]>是m-dj,i這一點上圖像的梯度,Ej,s(m)=Bj,s(m)-Aj,s(m-dj,i) (23)s從1變到3,或者從0變到3,具體情況取決于必須考慮的子帶數(shù)量(更深分解級為4,其它的為3)。
3.然后更新運動矢量dj,i+1dj,i+1=dj,i+uj,i(24)4.如果di,j足夠接近dj,終止測試就結(jié)束這一程序,這一測試是例如以下比值的估計Rj,i=||uj,i||2||dj,i||2---(25)]]>它必須優(yōu)于ε(ε待定)。給迭代最大次數(shù)另一個條件。
對于更新矢量的計算,在第一階上,對于每個s,表達(dá)式(1)成為Bj,s(m)=Aj,s(m-dj,s)-δdjT▿Tj,s--(26)]]>其中Aj,s是從公式(4)得到的梯度,δdj=dj-dj,j。
同時想讓所有子帶上的平方誤差最小的時候
滿足以下條件的時候就得到最小值∂Ji∂δdj=0]]>也就是Σs=0,13((Bj,s(m)-Aj,s(m-dj,i)+δdjT▿Aj,s)▿Aj,s+λ∂dj)=0--(28)]]>表達(dá)式(28)成為(Σs=0,13(▿Aj,s▿Aj,sT)+λI)·δdj=-Ej,s(m)·▿Aj,s--(29)]]>即使沒有進(jìn)行調(diào)整,矩陣Σs=0,13▿Aj,s▿Aj,sT+λI]]>也是可逆的。它是一個2×2矩陣,可以以顯式方式計算出逆矩陣。在這種情況下,只有運動矢量場相干性的控制需要調(diào)整項λI。
萬一將這一像素遞歸運動估計算法應(yīng)用于冗余子帶,就必須改變前面的算法。令f是說明冗于子帶大小和二次抽樣子帶大小之間比例大小的比例系數(shù)f=2j其中j是分解級。
已知冗于子帶缺乏變換不變性。結(jié)果,可以在冗于子帶(基準(zhǔn)幀)和二次抽樣子帶(當(dāng)前幀)之間進(jìn)行像素遞歸運動估計。于是將運動矢量定義為(假設(shè)為Bj,s的二次抽樣的分解保持偶數(shù)樣本Bj,s(m)=Aj,s(fm-fdj) (30)
迭代程序略有不同1.用表達(dá)式(20)來初始化d0(m)。
2.更新矢量ui不變,新誤差Ej,s(m)=Bj,s(m)-Aj,s(fm-fdj) (31)新梯度▿Aj,s=1f∂Aj,s(fm-fdj,i)∂m∂Aj,s(fm-fdj,i)∂m----(32)]]>3.更新等式不變。
4.終止測試不變。
權(quán)利要求
1.建立在子帶編碼方案,應(yīng)用于二維幀序列的一種視頻編碼方法,該方法包括當(dāng)前幀(F2)的一個子帶分解步驟,對前一幀或者基準(zhǔn)幀(F1)進(jìn)行的運動預(yù)測步驟,以及編碼步驟,該方法的特征還在于所述運動預(yù)測步驟是按照以下程序,建立在基準(zhǔn)幀的冗余分解基礎(chǔ)之上的(1)在所述分解的近似子帶中,通過涉及到所述基準(zhǔn)幀,應(yīng)用于當(dāng)前幀每個圖形元素(像素)的完整搜索操作,對運動進(jìn)行估計;(2)對于其它子帶,通過像素(或者像素)遞歸運動估計算法,為預(yù)測利用從所述子帶分解得到的二次抽樣子帶重構(gòu)出來的基準(zhǔn)冗余子帶來對運動進(jìn)行估計。
2.權(quán)利要求1的編碼方法,其中用于計算表示兩個連續(xù)子帶的兩個矩陣A和B之間光流,也就是按照B(m)=A(m-d)為每個像素m估計它的運動矢量d(m)的像素遞歸運動估計算法,包括以下步驟(a)一個初始化步驟,用因果鄰域S中運動矢量的平均值d0(m)初始化這一迭代算法d0(m)=1Card(S)Σj∈Sd(m-j)]]>采用了以下符號m=必須估計其運動的像素;d(m)=它的運動矢量;(b)一個更新步驟,用于按照以下關(guān)系更新didi+1=di+ui,其中每次迭代i的ui都是由以下公式給出的更新矢量ui=-E(m)||▿A||2+λ,▿A]]>其中A是在m-di這一點上圖像的梯度,E(m)=B(m)-A(m-di)是當(dāng)前迭代中的預(yù)測,λ是一個調(diào)整參數(shù);(c)一個判決步驟,用于進(jìn)行終止測試,從而在di足夠接近d的時候結(jié)束這一程序。
3.權(quán)利要求2的編碼方法,其中使用了四個像素的典型鄰域。
4.權(quán)利要求2和3中任意一個的編碼方法,其中的終止測試建立在以下比值的估計的基礎(chǔ)之上R=||ui||2||di||2]]>所述比值必須大于給定門限ε。
5.權(quán)利要求4的編碼方法,其中的門限ε用來平衡矢量確定精度和計算負(fù)荷。
6.權(quán)利要求4和5中任意一個的編碼方法,其中的終止測試包括針對最大迭代次數(shù)給出的另外一個條件。
7.權(quán)利要求4~6中任意一個的編碼方法,其中所述更新矢量ui的確定建立在包括以下最小化操作的計算步驟的基礎(chǔ)之上已知B(m)=A(m-di)-δdT·A,其中δdT·A是A和矢量δd=d-di的內(nèi)積,為了使平方誤差J相對于δd最小J=((B(m)-A(m-di)+δdT·A)2+λ‖δd‖2λ‖δd‖2是考慮到得到的對于λ的大值運動矢量場平滑程度和對于λ的小值的運動矢量精度之間的折中的一個調(diào)整項,當(dāng)J/δd=0的時候得到最小值,并且得到更新矢量δd=ui=-E(m)||▿A||2+λ,▿A]]>
8.權(quán)利要求7的編碼方法,其中的掃描順序如下偶數(shù)行從左到右,奇數(shù)行從右到左,然后針對第一行修改初始化鄰域,在這里,它縮減成前一個像素,對于奇數(shù)行,在這里將它反轉(zhuǎn)過來以保持因果性。
9.權(quán)利要求7的編碼方法,其中的運動估計算法必須通過用某種容差測試終止條件,來進(jìn)行重新初始化,使用估計出來的運動矢量的時候,預(yù)測誤差對于所述測試與沒有任何運動估計的預(yù)測誤差相比,加上一個門限。
10.權(quán)利要求2的編碼方法,其中運動矢量的初始化是通過將鄰域S上的平均和從前一級分解過程中具有相同取向的子帶獲得的運動矢量的線性合并來進(jìn)行的。
11.權(quán)利要求1的編碼方法,其中的像素遞歸運動估計算法用來使用與分解同一級的子帶之間的相關(guān)性,也就是估計給定級分解j∈{1,2,...,jmax},對于每個像素m,它的運動矢量dj(m)的方式使得對于s={0,...,4},Bj,s(m)=Aj,s(m-dj),這兩個矩陣A和B表示兩個連續(xù)子帶,它本身包括以下步驟(a)一個初始化步驟,迭代算法用因果鄰域S中運動矢量的平均值dj(m)來初始化dj,o(m)=1Card(S)Σj∈Sdj(m-k)]]>采用以下符號k∈s(1~4);m=必須估計其運動情況的像素;dj,0(m)=它的運動矢量;(b)更新步驟,用于按照以下公式更新dj,i+1dj,i+1=dj,i+uj,i,其中在每次迭代i確定的uj,i是以下公式給出的一個更新矢量uj,i=(Σs=0,13(▿Aj,s▿Aj,sT)+λI)-1(-Σs=0,13Ej,s(m)▿Aj,s)]]>其中▿Aj,s=∂Aj,s(m-dj,i)∂m∂Aj,s(m-dj,i)∂n]]>是圖像在m-dj,i這一點的梯度,和Ej,s(m)=Bj,s(m)-Aj,s(m-dj,i)(c)判決步驟,用于進(jìn)行終止測試,從而在dj,i足夠接近dj的時候結(jié)束這一程序。
12.權(quán)利要求11的編碼方法,其中采用四個像素的典型鄰域。
13.權(quán)利要求11和12的編碼方法,其中的終止測試建立在以下比值的估計的基礎(chǔ)之上Ri,j=||uj,i||2||dj,i||2]]>所述比值必須大于給定門限ε。
14.權(quán)利要求13的編碼方法,其中的終止測試包括針對最大迭代次數(shù)給出的另外一個條件。
15.權(quán)利要求13和14中任意一個的編碼方法,其中所述更新矢量ui的確定建立在包括以下最小化操作的計算步驟的基礎(chǔ)之上已知Bj,s=Aj,s(m-dj,i)-δdT·Aj,s,其中δdT·Aj,s是Aj,s和矢量δdj=dj-dj,i的內(nèi)積,為了使以下平方誤差相對于δdj最小 λ‖δdj‖2是考慮到得到的對于λ的大值運動矢量場平滑程度和對于λ的小值的運動矢量精度之間的折中的一個調(diào)整項,當(dāng)Jj/δδdj=0的時候得到最小值。
全文摘要
本發(fā)明涉及建立在應(yīng)用于二維幀序列的子帶編碼方案之上的一種視頻編碼方法。該方法包括當(dāng)前幀(F2)的一個子帶分解步驟,相對于前一個或者基準(zhǔn)幀(F1)進(jìn)行的一個運動預(yù)測步驟,以及編碼步驟。根據(jù)本發(fā)明,運動預(yù)測步驟建立在基準(zhǔn)幀冗余分解的基礎(chǔ)之上,按照以下步驟在近似子帶里,通過應(yīng)用于當(dāng)前幀每個像素的完整搜索操作對運動進(jìn)行估計,對于其它子帶,在預(yù)測的時候使用從二次抽樣子帶重構(gòu)出來的基準(zhǔn)冗于子帶,通過像素遞歸運動估計算法進(jìn)行運動估計。所述像素遞歸運動估計算法本身包括一個初始化步驟、一個確定和更新步驟以及一個判決步驟。
文檔編號H03M7/30GK1520693SQ02812747
公開日2004年8月11日 申請日期2002年6月20日 優(yōu)先權(quán)日2001年6月26日
發(fā)明者P·卡拉斯科, P 卡拉斯科, B·佩斯奎特-波佩斯庫, 箍 波佩斯庫 申請人:皇家菲利浦電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宁武县| 洱源县| 兴安县| 安平县| 吉木萨尔县| 德钦县| 金平| 六枝特区| 双峰县| 科尔| 博兴县| 洛浦县| 陆丰市| 连城县| 嫩江县| 德惠市| 东阳市| 巴青县| 临沭县| 枣强县| 阜南县| 蒲江县| 江源县| 巫山县| 唐海县| 溆浦县| 平武县| 南汇区| 莱阳市| 临泽县| 贡觉县| 宾阳县| 仁寿县| 浠水县| 临海市| 东兰县| 平原县| 顺昌县| 旌德县| 蓬莱市| 平度市|