專利名稱:基于多參考運(yùn)動(dòng)補(bǔ)償?shù)娜S小波視頻編碼算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線多媒體通信領(lǐng)域屮視頻編碼技術(shù),特別是一種基于多參考運(yùn)動(dòng)補(bǔ)償?shù)娜?維小波視頻編碼算法。
背景技術(shù):
相對(duì)于基于離散余弦變換的視頻編碼和二維小波視頻編碼,三維小波壓縮編碼將時(shí)間軸 當(dāng)作具有特定統(tǒng)計(jì)特征的一維信號(hào),采用小波進(jìn)行去相關(guān),不但能夠提供幀率、壓縮質(zhì)量等 多種可伸縮性,并且由于不存在預(yù)測(cè)編碼的循環(huán)結(jié)構(gòu),因此回避了預(yù)測(cè)編碼中的誤差漂移問 題,非常適合于面向通信的可伸縮視頻編碼。
典型的三維小波編碼分為兩種,其中不帶運(yùn)動(dòng)補(bǔ)償?shù)木幋a,由十其沒有考慮幀間時(shí)域相 關(guān)件,因此編碼效率受到影響。運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波(Motion Compensation Temporal Filtering, MCTF)在時(shí)域方向進(jìn)行一維小波變換時(shí)并不是按照空間位置對(duì)應(yīng)的順序進(jìn)行,而 是按照運(yùn)動(dòng)軌跡方向進(jìn)行。由于處于同一運(yùn)動(dòng)軌跡的像素之間具有較高的相關(guān)性,因此按照 運(yùn)動(dòng)軌跡方向進(jìn)行時(shí)域小波變換能夠更好的消除各幀之間的相關(guān)性,提高編碼效率。然而目 前大部分基于MCTF的三維小波編碼算法采用固定分組、單幀運(yùn)動(dòng)估計(jì)等方法,這些方法不能 很好的匹配序列的運(yùn)動(dòng)劇烈程度、精確的檢測(cè)出運(yùn)動(dòng)矢量,因而無法更好的消除序列間時(shí)域 冗余。
針對(duì)現(xiàn)有算法中存在的不足,本發(fā)明提出一種基于多參考運(yùn)動(dòng)補(bǔ)償?shù)摹伸縮性三維小波 視頻編碼算法。
發(fā)明內(nèi)容
基于多參考運(yùn)動(dòng)補(bǔ)償?shù)娜S小波視頻編碼算法,根據(jù)視頻序列的運(yùn)動(dòng)劇烈程度對(duì)視頻序 列進(jìn)行動(dòng)態(tài)分組(Gro叩Of Picture, GOP),利用一維多參考運(yùn)動(dòng)補(bǔ)償提升型時(shí)域?yàn)V波 (Multi-reference Motion Compensated Lifting Temporal Filtering, MRMCLTF)進(jìn)行一 維時(shí)域變換,再對(duì)每一幀進(jìn)行空域二維小波變換。采用空間數(shù)據(jù)系統(tǒng)咨詢委員會(huì)(The Consent Committee for Space Data System, CCSDS) 二維標(biāo)準(zhǔn)編碼算法(CCSDS 122. 0-B-1: Image data co即ression, Blue Book, S印t. 2005)進(jìn)行編碼,最后將系數(shù)編碼碼字與相應(yīng)的運(yùn)動(dòng)矢量 編碼碼字組織在一起,構(gòu)成質(zhì)量可伸縮性碼流。具體技術(shù)特征如下 1)動(dòng)態(tài)分組
動(dòng)態(tài)分組方法利用平均運(yùn)動(dòng)矢量判斷序列的運(yùn)動(dòng)劇烈程度,然后根據(jù)視頻序列的運(yùn)動(dòng)劇 烈程度進(jìn)行分組,運(yùn)動(dòng)劇烈時(shí)每組包含少數(shù)量的幀,運(yùn)動(dòng)平緩時(shí)每組包含較多數(shù)量的幀。2) 多參考運(yùn)動(dòng)補(bǔ)償提升型時(shí)域?yàn)V波
利用多參考運(yùn)動(dòng)估計(jì)與補(bǔ)償進(jìn)行一維時(shí)域小波變換。首先使用n個(gè)參考幀分別進(jìn)行運(yùn)動(dòng)估 計(jì),第l個(gè)參考幀采用全搜索方法,其余參考幀運(yùn)動(dòng)估計(jì)時(shí),均采用上一個(gè)參考幀產(chǎn)生的運(yùn)動(dòng) 矢量作為初始值,然后在一個(gè)較小的范圍內(nèi)搜索,獲得精確的運(yùn)動(dòng)矢量。n幀運(yùn)動(dòng)估計(jì)完成后 得到n組相應(yīng)的運(yùn)動(dòng)矢量和絕對(duì)誤差和,選擇最小的絕對(duì)誤差和所對(duì)應(yīng)的運(yùn)動(dòng)矢量作為最終運(yùn)
動(dòng)矢量。對(duì)當(dāng)前幀任何一個(gè)像素x進(jìn)行運(yùn)動(dòng)補(bǔ)償時(shí),利用多像素運(yùn)動(dòng)補(bǔ)償方法,即使用參考 幀中所對(duì)應(yīng)的像素以及相鄰的8個(gè)像素的加權(quán)平均作為x的預(yù)測(cè)值;c1 ,多幀運(yùn)動(dòng)估計(jì)得到的運(yùn)
動(dòng)矢量,利用Harr提升小波進(jìn)行一維時(shí)域小波變換。
3) 小波系數(shù)編碼
對(duì)每一幀采用Daubechies9Z7小波基進(jìn)行空域二維小波變換,然后采用CCSDS標(biāo)準(zhǔn)算法進(jìn)
行系數(shù)編碼,得到質(zhì)量可伸縮性碼流。
基于多參考運(yùn)動(dòng)補(bǔ)償?shù)娜S小波視頻編碼算法的有益效果是采用多參考幀預(yù)測(cè)運(yùn)動(dòng)估
計(jì)和補(bǔ)償方法可以獲得更精確的運(yùn)動(dòng)信息和預(yù)測(cè)值,提高了時(shí)域?yàn)V波的有效性和整個(gè)系統(tǒng)的
編碼效率。
圖l,基于多參考運(yùn)動(dòng)補(bǔ)償?shù)娜S小波編碼結(jié)構(gòu)
在圖l中l(wèi).視頻圖像序列,2.視頻幀分組,3. —個(gè)GOP分組,4.多參考運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V 波,5.經(jīng)過一維時(shí)域?yàn)V波的GOP, 6.Daubechies9/7空域二維小波變換,7. GOP中所有幀的小 波系數(shù),8.CCSDS小波編碼,9.G0P中所有幀的編碼碼流,IO.碼流組織,U.最終的編碼碼流。
圖2,運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波結(jié)構(gòu)(圖2是圖1中4的詳細(xì)結(jié)構(gòu))
在圖2中12.第一級(jí)時(shí)域?yàn)V波處理,13.4次多參考幀運(yùn)動(dòng)估計(jì),14.第一級(jí)時(shí)域?yàn)V波相應(yīng) 的運(yùn)動(dòng)矢量,15. 4次Harr小波變換,16.4個(gè)低頻L幀,17.4個(gè)高頻H幀,18.第二級(jí)時(shí)域?yàn)V波 處理,19.2次多參考幀運(yùn)動(dòng)估計(jì),20.第二級(jí)時(shí)域?yàn)V波相應(yīng)的運(yùn)動(dòng)矢量,21.2次Harr小波變換, 22.2個(gè)低頻LL幀,23.2個(gè)高頻LH幀,24.第三級(jí)時(shí)域?yàn)V波處理,25. l次多參考幀運(yùn)動(dòng)估計(jì),26. 第三級(jí)時(shí)域?yàn)V波相應(yīng)的運(yùn)動(dòng)矢量,27. l次Harr小波變換,28. 1個(gè)低頻LLL幀,29. 1個(gè)高頻LLH 幀。
圖3,多參考幀運(yùn)動(dòng)估計(jì)
在圖3中30.當(dāng)前幀,31.第一參考幀,32.塊匹配運(yùn)動(dòng)估計(jì),33.第二參考幀,34.第n 參考幀,35.第一參考幀對(duì)應(yīng)的運(yùn)動(dòng)矢量和平均絕對(duì)誤差和,36.第二參考幀對(duì)應(yīng)的運(yùn)動(dòng)矢量 和平均絕對(duì)誤差和,37.第n參考幀對(duì)應(yīng)的運(yùn)動(dòng)矢量和平均絕對(duì)誤差和,38.多參考幀運(yùn)動(dòng)估
計(jì)結(jié)果,39.比較各個(gè)平均絕對(duì)誤差和的大小,40.判決單元,4L最終得到的運(yùn)動(dòng)矢量。
圖3是圖2中13、 19或25中多參考幀運(yùn)動(dòng)估計(jì)的詳細(xì)結(jié)構(gòu),這里以某一當(dāng)前幀30進(jìn)行多參
考幀運(yùn)動(dòng)估計(jì)為例進(jìn)行描述。其中輸入為當(dāng)前幀30和多個(gè)參考幀31、 33和34,輸出為最終得
到的運(yùn)動(dòng)矢量41。
圖4,多像素運(yùn)動(dòng)補(bǔ)償結(jié)構(gòu)
在圖4中,42.當(dāng)前幀中某一像素x, 43.對(duì)應(yīng)像素r, 44.像素r周圍的8個(gè)像素,45.計(jì)算9 個(gè)像素的加權(quán)平均值,46.像素x的預(yù)測(cè)值x'。
圖4中,設(shè)當(dāng)前幀30經(jīng)過多參考幀運(yùn)動(dòng)估計(jì)后得到最終運(yùn)動(dòng)矢量41,這組運(yùn)動(dòng)矢量來自于 參考幀33,因此運(yùn)動(dòng)補(bǔ)償將在參考幀33中進(jìn)行。 具體實(shí)施步驟
基于多參考運(yùn)動(dòng)補(bǔ)償?shù)娜S小波視頻編碼總體結(jié)構(gòu)如下
如圖l所示,編碼器接收到視頻圖像序列l(wèi)后,首先需要在視頻幀分組2進(jìn)行動(dòng)態(tài)幀分組,
得到若干GOP分組,如一個(gè)G0P分組3。圖中采用多參考運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波4對(duì)一個(gè)GOP分組3進(jìn) 行3級(jí)一維時(shí)域?yàn)V波(多參考運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波詳細(xì)結(jié)構(gòu)如圖2所示)。對(duì)維時(shí)域?yàn)V波后的 G0P5中的每一幀來用Daubechies9/7空域二維小波變換6進(jìn)行3級(jí)小波變換,獲得GOP中所有幀 的小波系數(shù)7,并對(duì)每一幀小波系數(shù)采用CCSDS小波編碼8進(jìn)行編碼,獲得GOP中所有幀的編碼 碼流9,在碼流組織10中構(gòu)成完整的視頻編碼結(jié)構(gòu),最終輸出編碼碼流li。
下面介紹每一部分具體實(shí)施方法
1)動(dòng)態(tài)分組
視頻序列通過動(dòng)態(tài)分組處理確定GOP的大小。設(shè)定第一個(gè)G0P為8幀,采用空域塊匹配 運(yùn)動(dòng)估計(jì)得到運(yùn)動(dòng)矢量,按下式計(jì)算平均絕對(duì)運(yùn)動(dòng)矢量和
爐WF =——Z Z [1 , O, ") I +1譜一 ,")I] (1)
其中M4SMF為平均絕對(duì)運(yùn)動(dòng)矢量和,A/是圖像在水平方向包含的運(yùn)動(dòng)估計(jì)塊數(shù)量,W 是圖像在豎直方向包含的運(yùn)動(dòng)估計(jì)塊數(shù)量。m、(m,n)和m 0,n)為相應(yīng)塊在x和y方向上的
運(yùn)動(dòng)偏移量。使用當(dāng)前組平均絕對(duì)運(yùn)動(dòng)矢量和去判斷下個(gè)分組的大小,如下式
、if r"M4SMK
GOP = ' 8; if i; 〈M^MF < r。 (2) 16; if i;》M4WF
其屮r。和?;是判決門限??梢酝ㄟ^大量仿真實(shí)驗(yàn)測(cè)定適合的判決門限,本發(fā)明中取 rn =3,7; =1.2 。
2) 多參考運(yùn)動(dòng)補(bǔ)償提升型時(shí)域?yàn)V波
如圖1所示,經(jīng)過視頻幀分組2處理后,將構(gòu)成若干個(gè)GOP分組,以一個(gè)G0P分組3為例,多 參考運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波4處理過程如下如圖2所示, 一維時(shí)域?yàn)V波MCTF處理過程分3級(jí)進(jìn)行時(shí) 域?yàn)V波處理。在第一級(jí)時(shí)域?yàn)V波處理12中, 一個(gè)G0P分組3進(jìn)行MCTF,首先需要進(jìn)行4次多參考 運(yùn)動(dòng)估計(jì)13,得到第一級(jí)時(shí)域?yàn)V波相應(yīng)的運(yùn)動(dòng)矢量14,并利用運(yùn)動(dòng)矢量進(jìn)行4次Harr小波變換 15,得到4個(gè)低頻L幀16和4個(gè)高頻H幀17,由于人眼對(duì)高頻系數(shù)不敏感,所以可以舍棄高頻幀 來減少幀速率,但單層的MCTF只能提供減半的速率,因此需要對(duì)4個(gè)低頻L幀16在圖2中的18 和24進(jìn)行第二級(jí)時(shí)域?yàn)V波處理和第三級(jí)吋域?yàn)V波處理,其過程和第一級(jí)時(shí)域?yàn)V波處理12相同, 直至第三級(jí)吋域?yàn)V波后獲得一個(gè)低頻LLL幀28和一個(gè)高頻LLH幀29。
3) 多參考幀運(yùn)動(dòng)估計(jì)
上述多參考運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波中,采用一種多參考幀運(yùn)動(dòng)估計(jì)。以某一幀為例,詳細(xì)過 程如圖3所示當(dāng)前幀30分別和第一參考幀31、第二參考幀33,直到第ti參考幀34進(jìn)行塊 匹配運(yùn)動(dòng)估計(jì)32,得到多參考幀運(yùn)動(dòng)估計(jì)結(jié)果38。在多參考幀運(yùn)動(dòng)估計(jì)結(jié)果38中,包括第 一參考幀對(duì)應(yīng)的運(yùn)動(dòng)矢量和平均絕對(duì)誤差和35、第二參考幀對(duì)應(yīng)的運(yùn)動(dòng)矢量和平均絕對(duì)誤差 和36,直到第n參考幀對(duì)應(yīng)的運(yùn)動(dòng)矢量和平均絕對(duì)誤差和37 (其中第一個(gè)參考幀采用全搜索 方法,其余參考幀運(yùn)動(dòng)估計(jì)時(shí),均采用上一個(gè)參考幀產(chǎn)生的運(yùn)動(dòng)矢量作為初始值,然后在一 個(gè)較小的范圍內(nèi)搜索,獲得精確的運(yùn)動(dòng)矢量)。然后在圖39中比較各個(gè)平均絕對(duì)誤差和的大 小,在判決單元40中選擇最小的絕對(duì)誤差和所對(duì)應(yīng)的運(yùn)動(dòng)矢量作為最終得到的運(yùn)動(dòng)矢量41。
4) 多像素運(yùn)動(dòng)補(bǔ)償
運(yùn)動(dòng)補(bǔ)償時(shí)采用多像素運(yùn)動(dòng)補(bǔ)償。以一個(gè)像素為例,詳細(xì)結(jié)構(gòu)如圖4所示對(duì)于當(dāng)前幀 內(nèi)某一像素x42,根據(jù)運(yùn)動(dòng)矢量41,在第二參考幀33中搜索對(duì)應(yīng)的像素r43,然后找到像素
r周圍的8個(gè)像素44,計(jì)算9個(gè)像素的加權(quán)平均值45,加權(quán)平均計(jì)算式為;c'=丄^>/"其
中 為加權(quán)值,且^^.=9??梢愿鶕?jù)實(shí)際情況選擇不同權(quán)值,本發(fā)明取"。=3,
A=a3=a6=a8=l/2, a2 =a4 =fl5 =a7 =1 。最后得到像素x的預(yù)測(cè)值?46。 3)空域二維小波變換與可伸縮性小波編碼
一維時(shí)域?yàn)V波之后,需要對(duì)時(shí)域變換后的每一幀使用Daubechies9/7提升小波進(jìn)行空域 二維小波變換,利用CCSDS圖像編碼標(biāo)準(zhǔn)進(jìn)行編碼,將得到的編碼碼字與運(yùn)動(dòng)矢量編碼碼字
組織后共同構(gòu)成完整的視頻編碼碼流。
權(quán)利要求
1.一種基于多參考運(yùn)動(dòng)補(bǔ)償?shù)娜S小波視頻編碼算法,其特征是根據(jù)視頻序列的運(yùn)動(dòng)劇烈程度對(duì)視頻序列進(jìn)行動(dòng)態(tài)分組,利用一維多參考運(yùn)動(dòng)補(bǔ)償提升型時(shí)域?yàn)V波進(jìn)行一維時(shí)域變換,再對(duì)每一幀進(jìn)行二維空域小波變換,采用二維CCSDS標(biāo)準(zhǔn)編碼算法進(jìn)行編碼,構(gòu)成質(zhì)量可伸縮性碼流。
2. 根據(jù)權(quán)利要求l所述的基于多參考運(yùn)動(dòng)補(bǔ)償?shù)娜S小波視頻編碼算法,其特征還在于利 用平均運(yùn)動(dòng)矢量判斷序列的運(yùn)動(dòng)劇烈程度,再根據(jù)視頻序列的運(yùn)動(dòng)劇烈程度進(jìn)行分組,運(yùn)動(dòng) 劇烈時(shí)每組包含少量的幀,運(yùn)動(dòng)平時(shí)每組包含較多數(shù)量的幀。
3. 根據(jù)權(quán)利要求1所述的基于多參考運(yùn)動(dòng)補(bǔ)償?shù)娜S小波視頻編碼算法,其特征還在于利用多參考運(yùn)動(dòng)補(bǔ)償提升型時(shí)域?yàn)V波進(jìn)行一維時(shí)域變換,首先利用多幀運(yùn)動(dòng)估計(jì),對(duì)n個(gè)參考幀分別進(jìn)行運(yùn)動(dòng)估計(jì),第1個(gè)參考幀采用全搜索方法,其余參考幀運(yùn)動(dòng)估計(jì)時(shí),均采用上一 個(gè)參考幀產(chǎn)生的運(yùn)動(dòng)矢量作為初始值,然后在一個(gè)較小的范圍內(nèi)搜索,獲得精確的運(yùn)動(dòng)矢量,n幀運(yùn)動(dòng)估計(jì)完成后得到n組相應(yīng)的運(yùn)動(dòng)矢量和絕對(duì)誤差和,選擇最小的絕對(duì)誤差和所對(duì)應(yīng) 的運(yùn)動(dòng)矢量作為最終運(yùn)動(dòng)矢量,在對(duì)當(dāng)前幀任何一個(gè)像素x進(jìn)行運(yùn)動(dòng)補(bǔ)償時(shí),利用多像素運(yùn) 動(dòng)補(bǔ)償方法,即使用參考幀中所對(duì)應(yīng)的像素以及相鄰的8個(gè)像素的加權(quán)平均作為x的預(yù)測(cè)值 ;c',最后多幀運(yùn)動(dòng)估計(jì)得到的運(yùn)動(dòng)矢量,利用Harr提升小波進(jìn)行一維時(shí)域小波變換。
4. 根據(jù)權(quán)利要求1所述的基于多參考運(yùn)動(dòng)補(bǔ)償?shù)娜S小波視頻編碼算法,其特征還在于對(duì) 每一幀采用Daubechies9/7小波基進(jìn)行二維空域小波變換,然后采用CCSDS標(biāo)準(zhǔn)算法進(jìn)行系 數(shù)編碼,得到質(zhì)量可伸縮性碼流。
全文摘要
本發(fā)明涉及無線多媒體通信領(lǐng)域中一種基于多參考運(yùn)動(dòng)補(bǔ)償?shù)娜S小波視頻編碼算法。該算法根據(jù)視頻序列的運(yùn)動(dòng)劇烈程度對(duì)視頻序列進(jìn)行動(dòng)態(tài)分組,利用一維多參考運(yùn)動(dòng)補(bǔ)償提升型時(shí)域?yàn)V波進(jìn)行一維時(shí)域變換,一方面采用多參考幀進(jìn)行運(yùn)動(dòng)估計(jì)和補(bǔ)償,另一方面運(yùn)動(dòng)補(bǔ)償時(shí),對(duì)與當(dāng)前幀的某一個(gè)像素x,采用參考幀所對(duì)應(yīng)像素周圍的若干像素的平均值作為x的預(yù)測(cè)值x′。上述措施保證了時(shí)域?yàn)V波的有效性,提高了整個(gè)系統(tǒng)的編碼效率。在運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波之后,用提升小波對(duì)各幀進(jìn)行二維的空域小波變換,對(duì)變換系數(shù)采用CCSDS二維標(biāo)準(zhǔn)編碼算法進(jìn)行編碼,將系數(shù)編碼碼字與相應(yīng)的運(yùn)動(dòng)矢量編碼碼字組織在一起,構(gòu)成質(zhì)量可伸縮性碼流。該方法適用于無線及空間視頻通信。
文檔編號(hào)H04N7/26GK101184242SQ20071019542
公開日2008年5月21日 申請(qǐng)日期2007年11月28日 優(yōu)先權(quán)日2007年11月28日
發(fā)明者凃國(guó)防, 呂述望, 燦 張, 磊 張, 康 陳 申請(qǐng)人:中國(guó)科學(xué)院研究生院