馬宏茹,李碩
(大連交通大學(xué) 信息學(xué)院,遼寧 大連 116028)*
近年來,隨著教學(xué)信息化的發(fā)展,移動終端技術(shù)、網(wǎng)絡(luò)傳播技術(shù)以及視頻分享網(wǎng)站得到發(fā)展和普及,微課和MOOC(Massive Open Online Course)已經(jīng)作為一種新興教學(xué)模式,在短時間內(nèi)被廣泛地應(yīng)用到日常教學(xué)中[1-2].而教學(xué)信息化發(fā)展不僅帶來了學(xué)生學(xué)習(xí)模式的顛覆,教師的信息技術(shù)能力也受到了嚴(yán)峻的考驗,因此教師信息化的培訓(xùn)十分重要[3].非信息技術(shù)專業(yè)教師對于文字教程的理解費力耗時,并且學(xué)習(xí)與交互過程分離的培訓(xùn)效果不理想.由于信息量大、觀賞性好等特征,視頻作為教學(xué)工具的效果要優(yōu)于靜態(tài)文字,以屏幕錄制為基礎(chǔ)的培訓(xùn)視頻能實時地展示操作過程,在軟件工具培訓(xùn)課程中效果顯著[4].在視頻編碼中,傳統(tǒng)的編碼標(biāo)準(zhǔn)例如H.261/H.263,MPEG1,MPEG2,MPEG4都是采用幀內(nèi)DCT變換與運動估計、運動補償相結(jié)合的編碼方法.但是基于分塊DCT變換編碼在解鎖高壓縮比情況下分塊效應(yīng)明顯,而小波變換能夠更好地捕捉視頻幀圖像的非平穩(wěn)信息,因此,基于小波變換的視頻壓縮方法能夠獲得更高的壓縮比[5-6].雖然小波變換在邊緣處間斷點能夠有很好地識別,但對輪廓曲線的平滑度刻畫能力不足.Do 和 Vetterli 于2002年提出了Contourlet變換,比小波變換具有更好的方向性,Eslamihe 和 Bellbachir等將其應(yīng)用于壓縮編碼領(lǐng)域[7].Yue Lu 和 M NDo 于2007年提出了基于Surfacelet變換的三維變換,能夠?qū)θS或更高維信號進行多尺度方向分解,捕捉信號的面狀奇異.文獻[8-9]中對Surfacelet變換、Contourlet變換、NSCT變換以及3D小波變換之后的圖像信息熵進行比較,結(jié)果證明Surfacelet變換能夠使圖像系數(shù)的能量更加的集中.
視頻中的物體具有運動相關(guān)性,若逐幀進行變換域編碼會出現(xiàn)幀間顫抖,影響視頻質(zhì)量,為解決這一問題,現(xiàn)有的視頻編碼技術(shù)利用運動估計和補償來消除幀間相關(guān)性.文獻[10]采用了將視頻幀按順序等分成視頻幀組,在組間采用擴展自適應(yīng)范圍搜索快速算法進行估計,能夠根據(jù)視頻的運動特性,自適應(yīng)的確定搜索范圍.不過計算機屏幕視頻幀圖像是由各種不同類型的內(nèi)容組成,現(xiàn)有的視頻方法大多針對自然視頻,沒有考慮內(nèi)容的不連續(xù)性[11-12].因此,本文提出了一種基于Surfacelet變換和運動估計的自適應(yīng)視頻壓縮方法,在充分考慮視頻的稀疏特性同時,采用根據(jù)內(nèi)容特點進行自適應(yīng)視頻幀組分組的方法,再結(jié)合現(xiàn)有的運動估計方法進行壓縮.針對不同類型的教育視頻(微課、MOOC視頻、屏幕視頻)的仿真實驗表明,本文提出的壓縮算法在保證較高壓縮比的情況下具有更好的視覺還原效果.
Surfacelet變換能夠準(zhǔn)確地捕獲三維信號中的奇異面,是一種很好的時頻分析工具,與小波變換類似,其變換子帶系數(shù)能量集中,子帶間存在一定的相關(guān)性.由于多維方向濾波器組可以對任意維度信號分解,迭代濾波器組可以獲得高效的樹狀結(jié)構(gòu),因此N維的多方向濾波器組只有N倍的低冗余度[13].
1992年,Bamberger和 Smith 提出了方向濾波器組(DFB,Directional Filter Banks),然而無論是DFB還是Contourlet變換都只能處理二維信號.Yue Lu 和M.N.Do 為了處理高維信號,在2007年提出了多維方向濾波器組(NDBF,N-dimensional Directional Filter Banks),不僅能夠處理三維信號,甚至可以應(yīng)用到更多維.我們對三維情況下的NDFB,即3D-DFB進行分析,結(jié)構(gòu)如圖1所示.
圖1 3D-DFB結(jié)構(gòu)圖
其中,X(n)為具有n1,n2,n3三個維度的輸入信號,P(w)為三維沙漏濾波器,y(n),Z(n)表示同樣具有n1,n2,n3三個維度的輸出信號,IRCl2為二維方向濾波器組.
視頻序列經(jīng)過三維濾波器P(w)得到輸出y(n),然后對n1,n2進行二維DFB分解,通過IRCl2獲得視頻序列的楔形子帶輸出Z(n).再對Z(n)基于n1,n3平面進行二維DFB分解,同樣獲得視頻信號的楔形子帶.將以上兩個楔形子帶重合,就構(gòu)造了一個沿著n1軸方向的3D-DFB.沿n2,n3軸方向的塔形子帶用同樣的方式獲得.
Surfacelet變換架構(gòu)如圖2所示.Surfacelet變換分解采用多尺度塔式結(jié)構(gòu)實現(xiàn),Di(w),Li(w)分別表示高通濾波器與低通濾波器,其中i=0,1.為了抑制由于進行了上采樣而產(chǎn)生的頻域混疊問題,多尺度塔形結(jié)構(gòu)使用抗混疊濾波器S(w),只保留NDFB中S(w)部分的響應(yīng),也對各個維度的一級Li(w)進行1.5倍下采樣(2倍上采樣后再進行3倍下采樣).對虛線框部分進行N次迭代能達到更多級尺度分解的效果,使得Surfacelet變換在時域和頻域都有更好的細分效果.
圖2 Surfacelet變換結(jié)構(gòu)圖
濾波器的設(shè)置過程中,為了確保能夠完全去除頻域混疊問題,嚴(yán)格的控制截止頻率響應(yīng),對應(yīng)的完美的多尺度金字塔形狀結(jié)構(gòu)合成部分可以簡化為:
因此Li(w)確定后即可獲得對應(yīng)的Di(w),進行信號重建.
視頻幀之間存在著信息冗余,通過運動估計技術(shù)來去除幀間冗余,其估計的效果與編碼的質(zhì)量和效率有著直接的聯(lián)系[15].不過運動估計技術(shù)在基于多尺度變換域的視頻編碼中的應(yīng)用存在著一些問題,多尺度變換的高頻子帶由于經(jīng)過了下采樣和平移操作,所以當(dāng)前幀與參考幀之間的高頻子帶一般不能通過運動估計獲得.為了克服這樣的局限,P.Cheng等人提出了一種基于下層低頻子帶的分層運動估計方法,有效地避免了下采樣操作和平移操作帶來的問題,還確保了獲得的運動矢量的精度.其方案的主要思想是:先對最低頻子帶進行運動估計,在參考預(yù)估計層的下一層低頻子帶運動估計獲得相應(yīng)的預(yù)測低頻子帶,再對其進行一級小波分解,即可獲得三個高頻子帶的預(yù)測信息,迭代上述步驟,就可得到所有的高頻預(yù)測子帶.
傳統(tǒng)的運動估計方法是將視頻幀按照編碼的順序,等分成視頻幀組(Group of Pictures,GOP),按組進行編碼.不過針對教學(xué)視頻中的屏幕教學(xué)視頻,幀之間的時域相關(guān)性與自然視頻中的運動相關(guān)性不同,若依舊按照等分的標(biāo)準(zhǔn)分組,會造成預(yù)測幀的估計不準(zhǔn)確,影響視頻質(zhì)量.因此,本文根據(jù)視頻幀之間的相關(guān)性,自適應(yīng)的對視頻幀分組,確保同一幀組內(nèi)的視頻幀運動相關(guān)性一致.
首先對每幀的空域像素值求差值Dt(x,y)并排序,選取Di(x,y)序列的中位數(shù)作為判斷閾值T,并將差值大于這一閾值的兩幀的后幀與視頻第一幀作為視頻幀組的關(guān)鍵幀F(xiàn),其他幀作為非關(guān)鍵幀.
Dt(x,y)=ft(x,y)-ft-1(x,y)
T=Me(Di(x,y))
其中,Di(x,y)為排序后的差值序列,F(xiàn)1為視頻第一幀,F(xiàn)i為滿足閾值要求的后幀.
文獻[15]中已經(jīng)證明,高頻子帶對位移的變化敏感,因此低頻子帶與高頻子帶對位移產(chǎn)生的影響不同,通過低頻子帶間接的估計高頻子帶比直接對高頻子帶進行運動估計具有很好的實驗效果.因此,本文采用同樣的方式,對視頻幀的Surfacelet域子帶進行估計.首先通過全搜索方法對當(dāng)前幀與參考幀的Surfacelet域低頻子帶進行估計,獲得運動向量,通過運動向量計算得到預(yù)測幀運動補償?shù)牡皖l子帶;對當(dāng)前幀進行逆Surfacelet變換,并將之前獲得的運動向量作為整幀的運動向量,對預(yù)測幀進行預(yù)測,將預(yù)測結(jié)果進行Surfacelet分解,得到運動補償?shù)母哳l子帶.
本文提出了基于Surfacelet變換結(jié)合運動估計的自適應(yīng)教學(xué)視頻壓縮算法.由于視頻幀在幀內(nèi)與幀之間都存在相關(guān)性,所以將視頻信號作為三維信號的一種來進行處理,利用Surfacelet變換對視頻信號的時域和空域信息做整理.相比一般視頻,教學(xué)視頻具有場景單一、畫面質(zhì)量清晰度高、課件圖像中存在大量文字等特性,且教學(xué)視頻在連續(xù)域有明確的方向性,因此需要在變換域下更多地關(guān)注多方向性和各向異性,而Surfacelet變換在捕捉視頻幀的方向性和奇異性方面具有潛在能力.充分考慮了兩種教學(xué)視頻與一般視頻的不同,采用自適應(yīng)分組運動估計來對視頻進行估計和補償,保證視頻還原效果.基于Surfacelet變換結(jié)合運動估計的自適應(yīng)教學(xué)視頻壓縮算法的基本框架如圖3所示.
圖3 算法流程圖
視頻序列作為算法的輸入,由于考慮到不同類型視頻的自身特點,首先進行自適應(yīng)分組操作,將視頻序列分成不等分的視頻幀組.把每組的視頻幀序列作為一個三維信號,進行Surfacelet變換,獲得不同子帶的Surfacelet變換系數(shù),不同子帶具有不同的特性,低頻子帶包含大多數(shù)的能量,系數(shù)幅值較大,而且對位移變化敏感,高頻子帶系數(shù)幅值小,能量較低,對位移變化不敏感.
通過對低頻子帶進行運動估計,獲得運動向量并補償?shù)玫筋A(yù)測幀的低頻子帶,再將得到的運動向量作為幀間的運動向量得到一個估計的參考幀,并對其進行Surfacelet分解,獲得其高頻子帶,至此預(yù)測幀的低頻子帶與高頻子帶全部得到,逆變換求得預(yù)測幀.迭代此步驟直至所有視頻幀序列處理完畢.
為了驗證本文提出的壓縮算法具有很好的視頻還原效果,分別取兩種類型的教學(xué)視頻的30幀進行實驗,并將通過本文方法獲得預(yù)測幀PSNR實驗結(jié)果與通過文獻[14]與文獻[15]提出方法獲得的預(yù)測幀PSNR實驗結(jié)果進行對比.
本次實驗的仿真環(huán)境在Matlab 2009a中進行,實驗的視頻素材為class和screan.其中class為攝像機錄制的公務(wù)員培訓(xùn)網(wǎng)課,screan為慕課網(wǎng)上屏幕錄制的計算機考研培訓(xùn)課程.通過自適應(yīng)視頻幀組選取結(jié)果,視頻class的關(guān)鍵幀為視頻序列的第1,14,23幀,視頻screan的關(guān)鍵幀為視頻的第1,5,16,21,27幀,分別取前三個關(guān)鍵幀的下一幀進行實驗,首先在壓縮比相同的情況下,兩種方法處理兩種視頻的結(jié)果如下,表1,表2分別為序列預(yù)測幀的PSNR和預(yù)測結(jié)果.
表1 視頻序列class和screan的PSNR對比
表2 視頻序列class和screan的預(yù)測幀對比
通過上述數(shù)據(jù)和預(yù)測結(jié)果的對比可以發(fā)現(xiàn),文獻[14]的方法針對攝像機獲得的教學(xué)視頻進行壓縮后,能夠獲得良好的復(fù)原效果,不過對于運動比較劇烈的屏幕視頻幀的還原效果一般;本文提出的方法無論對攝像機錄制的視頻序列還是對屏幕軟件錄制的視頻序列的還原效果都好于文獻[14]與文獻[15]所提出的方法.
通過上述分析了解到由于教學(xué)視頻中,錄像教學(xué)視頻與屏幕錄制視頻的差異性,針對某一類的視頻壓縮算法由于忽略了另一類視頻的自身特性,在進行視頻壓縮處理的時候效果往往不是很理想.本文充分的考慮了視頻幀空域的冗余性、不同類型教學(xué)視頻的自身相關(guān)特性,結(jié)合多尺度變換和運動估計技術(shù),提出了一種基于Surfacelet變換和運動估計的自適應(yīng)教學(xué)視頻壓縮方法.實驗結(jié)果證明,對于錄像教學(xué)視頻以及屏幕錄制教學(xué)視頻,本文提出的方法對這兩類視頻都能有很好的還原效果.然而考慮到算法的復(fù)雜性,本文在視頻幀組選擇的閾值選取采用視頻幀差的中位數(shù),在以后的研究工作中應(yīng)致力于更加自適應(yīng)的選擇方法.