專利名稱:基于db2小波的可伸縮性視頻編解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種視頻編解碼方法。
背景技術(shù):
隨著計算機技術(shù)和通信技術(shù)的發(fā)展,人們對視頻信息的需求不斷增長,要求也越來越多樣化,傳統(tǒng)的視頻編碼方法無法根據(jù)用戶需求和網(wǎng)絡(luò)條件動態(tài)地調(diào)整數(shù)據(jù)流,因此不能很好地適應(yīng)目前的網(wǎng)絡(luò)傳輸狀況。于是可伸縮性視頻編碼(SVC)便應(yīng)運而生,并且成為近幾年視頻編碼領(lǐng)域的研究熱點,取得了顯著的研究成果。
目前,可伸縮性視頻編解碼系統(tǒng)主要有基于離散余弦變換(DCT)和離散小波變換(DWT)兩大類,現(xiàn)在MPEG-4視頻標(biāo)準(zhǔn)中采用的框架仍是基于DCT,但是DCT在低碼率情況下會出現(xiàn)明顯的塊效應(yīng),嚴(yán)重影響視覺效果,而且隨著小波理論的日益成熟,基于離散小波變換的編碼技術(shù)得到越來越多的研究。
在基于離散小波變換的可伸縮性視頻編碼方法中,運動補償時域濾波(MCTF)是一個重要的核心技術(shù),它能有效地實現(xiàn)時間(幀速率)的可伸縮性。目前,大部分基于離散小波變換的可伸縮性視頻編碼方法采用Haar(哈爾)小波來實現(xiàn)運動補償時域濾波。因為它簡單、易于實現(xiàn),只涉及到相鄰的兩幀,運動估計只在兩幀間進行。但應(yīng)用該方法進行編解碼后重建的視頻圖像質(zhì)量差。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于db2(Daubechies系中的db2為小波函數(shù))小波的可伸縮性視頻編解碼方法,以克服現(xiàn)有采用Haar小波來實現(xiàn)運動補償時域濾波的可伸縮性視頻編碼方法進行編解碼后重建的視頻圖像質(zhì)量差的缺點。本發(fā)明通過下述步驟實現(xiàn)一、輸入的視頻序列信號經(jīng)過編碼器1的編碼提供同時具備時間、空間和質(zhì)量要求的可伸縮性的編碼后比特流,編碼時采用db2小波來實現(xiàn)運動補償時域濾波;二、從編碼器1輸出的編碼后數(shù)據(jù)流被送入提取器2,根據(jù)用戶參數(shù)接口9所提供的用戶需求對編碼后數(shù)據(jù)流進行編輯,生成提取后比特流,與此同時,編碼器1和提取器2共同生成索引文件4,從而與提取后的比特流相匹配;三、提取后的比特流和索引文件4作為解碼器3的輸入,解碼器3完成處理后視頻序列數(shù)字信號的重建工作;從而符合用戶和網(wǎng)絡(luò)要求。
實驗結(jié)果表明,本系統(tǒng)與基于Haar小波的可伸縮性視頻編解碼系統(tǒng)相比,完全重建的視頻圖像質(zhì)量和幀速率改變后的重建視頻圖像質(zhì)量都有了明顯的提高,并且解碼時間也有所縮短,具備了更好的實時性。本發(fā)明的效果能夠通過采取三個測試序列進行測試的測試結(jié)果證明“Bus(汽車)序列”、“Foreman(工人)序列”和“Suzie(蘇珊)序列”,它們都為QCIF格式,即分辨率為176*144。在相同的層上,采用db2小波實現(xiàn)運動補償時域濾波得到的低通幀的PSNR值比Haar小波提高了約3dB?;赿b2小波的運動補償時域濾波融入進t+2D(時間域+空間域變換)系統(tǒng)之后整個可伸縮性系統(tǒng)的性能,包括時間、空間、質(zhì)量三方面的可伸縮性都有較大提高。具體情況如下(1)系統(tǒng)的完全重建性能系統(tǒng)在三方面都不進行提取的情況下對原視頻序列的完全重建性能。表3-1、3-2、3-3分別列出了“Bus序列”、“Foreman序列”和“Suzie序列”序列重建后的平均PSNR值,PSNR值是本領(lǐng)域中衡量峰值信噪比質(zhì)量的通用指標(biāo)。
表3-1 Bus序列完全重建后的平均PSNR值
表3-2 Foreman序列完全重建后的平均PSNR值
表3-3 Suize序列完全重建后的平均PSNR值
從三個表的對比可以看出,采用db2小波比采用Haar小波在完全重建后平均PSNR值提高了0.4-2.5dB,解碼后得到了質(zhì)量更好的視頻圖像。圖3-圖5繪出了不同比特率下各測試序列的PSNR曲線。圖3為Bus序列,圖4為Foreman序列,圖5為Suzie序列。圖中,點劃線為采用db2小波的系統(tǒng)進行處理的PSNR曲線,實線為采用Haar小波的系統(tǒng)進行處理的PSNR曲線,可以看出采用db2小波的系統(tǒng)得到了更好質(zhì)量的重建視頻序列。為了直觀地看出完全重建的圖像質(zhì)量,圖6至圖11分別顯示了這三個視頻序列的重建情況,由于視頻序列有多幀,這里列出了序列的最后一幀。從圖中可見,完全重建后的圖像質(zhì)量很好,這意味著系統(tǒng)的編解碼性能很好,在網(wǎng)絡(luò)條件允許而用戶端又沒有特殊要求的情況下,系統(tǒng)可以不做任何抽取,直接提供給用戶最高質(zhì)量的視頻流。在實際中往往由于網(wǎng)絡(luò)帶寬不同及用戶的不同需求,需要提供可伸縮的視頻流,為了考察系統(tǒng)的可伸縮性能,下面將從時間、空間、質(zhì)量三方面來進行實驗。
(2)時間可伸縮性能時間可伸縮性主要考察幀速率可依據(jù)實際需要來調(diào)節(jié)的性能。對各測試序列做兩層運動補償時域濾波,提取出一層然后進行解碼,可以得到幀速率降低的視頻序列。表3-4、3-5、3-6分別列出了各序列在重建后與原序列相應(yīng)幀相比較的PSNR值。圖12至圖14繪出了各序列在不同比特率下的PSNR曲線。
表3-4 Bus序列時間抽取一層后的平均PSNR值
表3-5 Foreman序列時間抽取一層后的平均PSNR值
表3-6 Suzie序列時間抽取一層后的平均PSNR值
從表3-4、3-5、3-6中可以看出,時間抽取一層后重建視頻序列的PSNR值比基于Haar小波的系統(tǒng)提高了1.0-2.8dB。這意味著運動補償時域濾波后得到的低通幀效果得到了改善,而且在幀速率改變后重建的圖像質(zhì)量得到了提高。在圖12至圖14中,點劃線為采用db2小波的系統(tǒng)進行處理的PSNR曲線,實線為采用Haar小波的系統(tǒng)進行處理的PSNR曲線,從圖中可以看到,在高比特率下采用db2小波系統(tǒng)的優(yōu)勢更加明顯,這也體現(xiàn)了采用db2小波做運動補償時域濾波的優(yōu)越性,在低比特率下由于db2小波在運動估計上更復(fù)雜的處理而使得這種優(yōu)勢無法很好地體現(xiàn),從這里也可看出,采用db2小波的編碼系統(tǒng)更適于高比特率傳輸?shù)那闆r,在高比特率下,重建視頻序列的質(zhì)量得到了明顯的提高。
為了直觀地看出幀速率降低后重建圖像的質(zhì)量,圖15至圖20給出了時間抽取一層后重建圖像的結(jié)果,這里,同樣由于無法再現(xiàn)整個視頻序列的播放情況,所以只給出了序列的最后幀的情況。這里,需要注意一點,以Bus序列為例,原序列共70幀,時間提取一層后幀速率減為原來的2/5,即重建的序列為28幀,圖16為重建序列的最后一幀(從第0幀開始),這一幀并不與原序列的最后一幀(第69幀)嚴(yán)格對應(yīng),而是對應(yīng)于原序列的第66幀,所以這里給出的是第66幀的圖像,而不是最后一幀。這種對應(yīng)關(guān)系是由db2小波特殊的分層結(jié)構(gòu)決定的。在網(wǎng)絡(luò)帶寬不允許的情況下,只提供幀速率降低后的視頻流,它與原視頻流相比只是幀數(shù)減小而反映的運動信息卻大致相同。這表明系統(tǒng)達到了較好的時間可伸縮性。
(3)空間可伸縮性能空間可伸縮性主要考察空間像素點分辨率的可調(diào)節(jié)性,編碼時做3次離散小波變換,提取出一層以后進行解碼可以得到分辨率減半的圖像。在上面時間提取的基礎(chǔ)上繼續(xù)進行空間提取,可以得到各測試序列分辨率減半(88*72)的視頻序列,如圖21至圖26所示??梢钥吹?,雖然圖像分辨率減半了,但是圖像的質(zhì)量依然很好。這表明系統(tǒng)為視頻序列提供了良好的空間可伸縮性。
(4)質(zhì)量可伸縮性能系統(tǒng)編碼時由參數(shù)LevelsEZW(嵌入式零樹小波(EZW)的層數(shù))來控制圖像的質(zhì)量,編碼時將此參數(shù)設(shè)定為14,編碼后的SVC文件經(jīng)提取不同的層數(shù)可以解碼得到不同質(zhì)量的視頻序列。圖27至圖38分別列出了各測試序列不同質(zhì)量層次的圖像。以Bus序列為例,圖27為原始序列圖像,圖28為EZW層數(shù)為14時的恢復(fù)圖像,可以看出圖像很清晰,圖29為質(zhì)量提取了兩層后恢復(fù)的圖像,也即EZW層數(shù)為12,這時可以看到地面上已經(jīng)出現(xiàn)了一些模糊,不過在視頻序列播放時很難覺察到,圖30為提取了三層后恢復(fù)的圖像,這時地面上的模糊現(xiàn)象加重,并且向上擴散,在播放時已經(jīng)能看出來模糊現(xiàn)象了。這里需要說明的是,由于運動補償時域濾波的誤差累積效應(yīng),所以當(dāng)EZW層數(shù)較少的時候,誤差信息會在每一幀組的前面?zhèn)€別幀上較明顯地表現(xiàn)出來,而這時在每個幀組中其它幀仍然效果很好。因此這里沒有給出序列的最后一幀(此時最后幀效果很好),而是給出了最后一個幀組中誤差累積較明顯的一幀。從圖中可以看出系統(tǒng)只經(jīng)一次編碼可以提供不同質(zhì)量層次的視頻序列,實現(xiàn)了很好的質(zhì)量可伸縮性。
(5)完全可伸縮性能完全可伸縮性指時間、空間、質(zhì)量三方面可伸縮性的同時實現(xiàn),系統(tǒng)做2層運動補償時域濾波、3次離散小波變換變換、14層EZW進行編碼,時間、空間、質(zhì)量各提取一層后解碼,可同時實現(xiàn)三方面的可伸縮性,也即幀速率減為原視頻序列的2/5,空間分辨率降為原視頻圖像的一半(88*72),PSNR(質(zhì)量)也比原視頻序列降低了一個等級。圖39至圖41給出了各測試序列的重建序列的最后一幀圖像。其中,圖39為Bus序列,圖40為Foreman序列,圖41為Suzie序列。從圖中可以看到,在三方面伸縮性同時實現(xiàn)后,視頻圖像的效果仍然很好,這表明系統(tǒng)可以很好地實現(xiàn)時間、空間、質(zhì)量三方面的完整可伸縮性。
圖1是本發(fā)明編解碼的流程示意圖,圖2是實施方式一中編碼器1內(nèi)信號的流程示意圖,圖3是不同比特率下Bus序列完全重建后的PSNR值對比圖,圖4是不同比特率下Foreman序列完全重建后的PSNR值對比圖,圖5是不同比特率下Suzie序列完全重建后的PSNR值對比圖,圖6是Bus序列原始圖像,圖7是本發(fā)明方法Bus序列完全重建后的圖像,圖8是Foreman序列原始圖像,圖9是本發(fā)明方法Foreman序列完全重建后的圖像,圖10是Suzie序列原始圖像,圖11是本發(fā)明方法Suzie序列完全重建后的圖像,圖12是高比特率條件下Bus序列PSNR值對比圖,圖13是高比特率條件下Foreman序列PSNR值對比圖,圖14是高比特率條件下Suzie序列PSNR值對比圖,圖15是Bus序列原始圖像,圖16是本發(fā)明方法時間抽取一層后Bus序列重建后的圖像,圖17是Foreman序列原始圖像,圖18是本發(fā)明方法時間抽取一層后Foreman序列重建后的圖像,圖19是Suzie序列原始圖像,圖20是本發(fā)明方法時間抽取一層后Suzie序列重建后的圖像,圖21是Bus序列原始圖像,圖22是本發(fā)明方法圖像分辨率減半后Bus序列重建后的圖像,圖23是Foreman序列原始圖像,圖24是本發(fā)明方法圖像分辨率減半后Foreman序列重建后的圖像,圖25是Suzie序列原始圖像,圖26是本發(fā)明方法圖像分辨率減半后Suzie序列重建后的圖像,圖27是Bus序列原始圖像,圖28是EZW層數(shù)為14時的恢復(fù)圖像,圖29是質(zhì)量提取了兩層后恢復(fù)的圖像,圖30是提取了三層后恢復(fù)的圖像,圖31是Foreman序列原始圖像,圖32是Foreman序列EZW層數(shù)為14時的恢復(fù)圖像,圖33是Foreman序列質(zhì)量提取了兩層后恢復(fù)的圖像,圖34是Foreman序列提取了三層后恢復(fù)的圖像,圖35是Suzie序列原始圖像,圖36是Suzie序列EZW層數(shù)為14時的恢復(fù)圖像,圖37是Suzie序列質(zhì)量提取了兩層后恢復(fù)的圖像,圖38是Suzie序列提取了三層后恢復(fù)的圖像,圖39是三方面伸縮性同時實現(xiàn)后Bus序列重建后的視頻圖像,圖40是三方面伸縮性同時實現(xiàn)后Foreman序列重建后的視頻圖像,圖41是三方面伸縮性同時實現(xiàn)后Suzie序列重建后的視頻圖像,圖42是實施方式二中運動補償時域濾波器1-1進行運動估計的示意圖,圖43是實施方式二中基于db2運動估計的像素點分類示意圖,圖中◎代表I類像素點,☆代表II類像素點,△代表III類像素點,代表IV類像素點,●代表非參考像素點,◇代表多關(guān)聯(lián)像素點,○代表唯一關(guān)聯(lián)像素點;圖44是實施方式二中基于db2小波的運動補償時域濾波示意圖,圖45是實施方式三中原子結(jié)構(gòu)數(shù)據(jù)流組織示意圖。
具體實施例方式
具體實施方式
一下面結(jié)合圖1和圖2具體說明本實施方式。本實施方式通過下述步驟實現(xiàn)二、從編碼器1輸出的編碼后數(shù)據(jù)流被送入提取器2,根據(jù)用戶參數(shù)接口9所提供的用戶需求對編碼后數(shù)據(jù)流進行編輯,生成提取后比特流,與此同時,編碼器1和提取器2共同生成索引文件4,從而與提取后的比特流相匹配;三、提取后的比特流和索引文件4作為解碼器3的輸入,解碼器3完成處理后視頻序列數(shù)字信號的重建工作;一、輸入的視頻序列信號經(jīng)過編碼器1的編碼提供同時具備時間、空間、質(zhì)量要求的可伸縮性的編碼后比特流,編碼過程中的各個參數(shù)由參數(shù)文件5讀入。索引文件4是指報文頭、數(shù)據(jù)包結(jié)構(gòu)等一些打開文件解碼時的關(guān)鍵參數(shù)。參數(shù)文件5是指(關(guān)于幀寬、幀長、幀速率、空間級別、時間級別、質(zhì)量級別、宏塊大小、搜索范圍的參數(shù)),編碼時采用db2小波來實現(xiàn)運動補償時域濾波;二、從編碼器1輸出的編碼后比特流和索引文件4被送入提取器2,根據(jù)用戶參數(shù)接口9所提供的用戶需求對編碼后比特流進行編輯,生成提取后比特流,與此同時,編碼器1和提取器2共同生成索引文件4,從而與提取后的比特流相匹配;三、提取后的比特流和索引文件4作為解碼器3的輸入,解碼器3完成處理后視頻序列數(shù)字信號的重建工作;從而符合用戶和網(wǎng)絡(luò)要求。
編碼器主要用于對輸入的原始序列進行處理從而得到一個具有可伸縮性結(jié)構(gòu)的數(shù)據(jù)流,提取器則根據(jù)用戶需求或網(wǎng)絡(luò)帶寬情況從編碼端輸出的數(shù)據(jù)流中提取出所需要的一部分,然后解碼器對提取的這部分?jǐn)?shù)據(jù)流進行解碼,這樣就得到了系統(tǒng)所需要的輸出序列。同時,編碼器只需要一次編碼,便可通過設(shè)定提取器的參數(shù)提取出不同幀速率/空間分辨率/滿足PSNR質(zhì)量要求的的比特流,靈活實現(xiàn)了可伸縮編碼。
下面結(jié)合圖2進行具體說明。在步驟一中的編碼器1內(nèi)進行如下步驟I、把輸入的視頻序列信號首先在運動估計器1-6中進行運動估計;II、運動估計得到的運動矢量陣列送入運動補償時域濾波器1-1內(nèi)用于生成低通幀和高通幀;III、緊接著在二維離散小波變換器1-2內(nèi)分別對低通幀和高通幀進行幀內(nèi)的二維離散小波變換;IV、在PSNR質(zhì)量編碼器1-3內(nèi)對生成的低頻子帶和高頻子帶的小波系數(shù)再分別進行滿足PSNR質(zhì)量要求的伸縮性編碼以實現(xiàn)PSNR可伸縮性;與步驟II、III和IV同時進行著步驟V、運動矢量模塊1-4對運動矢量陣列進行編碼使其同樣具有可伸縮性,同時保存相應(yīng)的運動矢量從而能夠恢復(fù)原始視頻序列;VI、最后在數(shù)據(jù)流組織模塊1-5中將質(zhì)量編碼器1-3輸出的數(shù)據(jù)流和運動矢量模塊1-4輸出的數(shù)據(jù)流按照可伸縮性的要求分層次進行分類組織,給提取器2編輯數(shù)據(jù)流提供一個有效并且便利的數(shù)據(jù)結(jié)構(gòu),同時根據(jù)數(shù)據(jù)流的分類組織情況生成索引文件4用于指示各層次數(shù)據(jù)的分布狀況,為提取器2編輯數(shù)據(jù)流提供依據(jù)。
編碼器1內(nèi)的運動補償時域濾波器1-1、二維離散小波變換器1-2和PSNR質(zhì)量編碼器1-3分別實現(xiàn)數(shù)據(jù)流的時間(幀速率)、空間(分辨率)、滿足PSNR質(zhì)量要求的可伸縮性。對運動補償時域濾波、離散小波變換、PSNR編碼各自得到的數(shù)據(jù)流進行分層,分層后的數(shù)據(jù)流由數(shù)據(jù)流組織模塊1-5進行抽取、組織,得到的數(shù)據(jù)流送到解碼器重建原圖像,便同時實現(xiàn)了時間(幀速率)、空間(分辨率)、PSNR(質(zhì)量)三方面的可伸縮性。
具體實施方式
二下面結(jié)合圖42至圖44具體說明本實施方式。本實施方式與實施方式一的不同點是編碼器1內(nèi)的運動補償時域濾波器1-1采用下述步驟工作(1)運動估計采用Haar小波做運動補償時域濾波時,只需對相鄰的兩幀做運動估計。而采用db2小波,則需要在相鄰四幀間做運動估計,一方面,運動矢量大約為Haar小波的兩倍,另一方面,像素點的分類情況也相對更為復(fù)雜。
對于相鄰的四幀,定義為A、B、C、D。考慮到相鄰兩幀的相關(guān)性最強,所以運動估計并不采用傳統(tǒng)的單向或雙向預(yù)測,或是設(shè)定多個參考幀。這里,運動估計采用單、雙向預(yù)測交替進行的方法,在一個幀組中選定預(yù)測幀進行雙向預(yù)測,如圖42所示。在這一組幀(A、B、C、D)中,選擇B為預(yù)測幀,將來存儲運動補償時域濾波得到的高通幀,A幀為B的前向預(yù)測參考幀,將來存儲運動補償時域濾波得到的低通幀。同時,B以C為參考作后向預(yù)測,C以D為參考作后向預(yù)測。這種運動估計的方法將重點放在預(yù)測幀B上,因為它直接關(guān)系到運動補償時域濾波產(chǎn)生的高通幀的質(zhì)量,而低通幀又由高通幀更新得到,從而影響到整體的濾波效果。由于C和D要和其后的兩幀(E、F)作為一組進行下一次的運動補償時域濾波,所以D要作為下一組中的預(yù)測幀,以C為參考作前向預(yù)測。
運動估計采用基于塊的匹配方法,塊大小為8×8。運動估計后像素點仍要進行不同的分類,依據(jù)高通幀和低通幀的產(chǎn)生方式,將B幀和其它三幀的像素點分別進行分類。圖43為像素點的分類情況。
B幀中的像素點分類情況如下I類像素點B中的像素在A、C、D中都沒有參考點。
II類像素點B中的像素在A中有參考點,但是在C、D中沒有參考點。
III類像素點B中的像素在A、C中都有參考點,但對應(yīng)C中的參考點在D中沒有參考點。
IV類像素點B中的像素在A、C中都有參考點,同時對應(yīng)C中的參考點在D中有參考點。
A、C、D中的像素點分類情況如下多關(guān)聯(lián)像素點在做運動估計時,用于另一幀中多個像素的參考的像素點。
非參考像素點不用于被其它像素參考的像素點。
唯一關(guān)聯(lián)像素點只用于一個像素參考的像素點。
(2)產(chǎn)生高通幀對于一個序列圖像組(A、B、C、D、E、F......),將初始序列分組前四幀(A、B、C、D)為一組做運動補償時域濾波,該組中的后兩幀(C、D)和后面連續(xù)的兩幀(E、F)構(gòu)成下一組,即每隔兩幀,連續(xù)的四幀構(gòu)成一組做運動補償時域濾波。每做一次運動補償時域濾波,會產(chǎn)生一個高通幀和一個低通幀。其中,高通幀記錄了細(xì)節(jié)信息,低通幀反映了平均信息。
這里采用db2小波系數(shù),即低通系數(shù)h0=142(1+3),h1=142(3+3),h2=142(3-3),h3=142(1-3)]]>高通系數(shù)g0=-h3,g1=h2,g2=-h1,g3=h0對于相鄰的四幀A、B、C、D,作如下定義首先做運動估計(ME),B以A為參考做ME,運動估計矢量記為u1,v1,u1、v1分別記錄運動估計矢量的橫、縱坐標(biāo);B以C為參考做ME,運動估計矢量記為u2,v2;C以D為參考做ME,運動估計矢量記為u3,v3。H為高通幀,L為低通幀,(m,n)為當(dāng)前像素點的坐標(biāo)。
H(m,n)=αB(m,n)-[βA(Ax,Ay)+γC(Cx,Cy)+δD(Dx,Dy)](3-4)對B幀中四類不同的像素分別進行處理對于I類像素該類像素?zé)o論是前向運動估計還是后向運動估計都找不到可以與之匹配的像素點,所以令β=γ=δ=0,α=h2,即H(m,n)=h2B(m,n)(3-5)對于II類像素該類像素在A中有參考點,參考點的坐標(biāo)記為(Ax,Ay),則Ax=m+u1,Ay=n+v1。由于該類像素在C中無參考點,所以可令γ=δ=0。為了確定α和β的值,可以從高通幀的特性來考慮,由于高通幀記錄的是細(xì)節(jié)分量,如果運動估計做得足夠好,使得兩個相匹配的像素點在實際圖像中也是同一個像素點的話,那么理想的情況應(yīng)該有該細(xì)節(jié)分量為0的結(jié)論。所以從公式3-1中可得α+β=1,結(jié)合db2小波系數(shù)考慮,可以得到α=h2,β=-h3,即H(m,n)=h2B(m,n)+h3A(Ax,Ay) (3-6)對于III類像素在C中參考點的坐標(biāo)記為(Cx,Cy),則Cx=m+u2,Cy=n+v2。此時令δ=0,而且據(jù)前面的分析可得到α+β+γ=0,同理可得到α=h2,β=3/2h3,γ=1/2h1,即H(m,n)=h2B(m,n)-(3/2h3A(Ax,Ay)+1/2h1(Cx,Cy))(3-7)對于IV類像素在D中參考點的坐標(biāo)記為(Dx,Dy),則Dx=m+u2+u3,Dy=n+v2+v3,這種情況下α=h2,β=h3,γ=h1,δ=-h0,可以由以下公式得到高通幀H(m,n)=h2B(m,n)-(h3A(Ax,Ay)+h1C(Cx,Cy)-h0D(Dx,Dy)) (3-8)(3)產(chǎn)生低通幀低通幀可由以下公式得到L(m,n)=σA(m,n)+μH(3-9)對于非參考像素,
L(m,n)=σA(m,n) (3-10)對于多關(guān)聯(lián)像素點和唯一關(guān)聯(lián)像素點的處理,需要引入一些相關(guān)標(biāo)準(zhǔn)。首先定義根據(jù)B幀預(yù)測A幀中某點位置j的運動矢量記為v1,預(yù)測C幀中點位置k的運動矢量記為v2,B幀中對應(yīng)的點位置為i。由Haar小波的情況可以得到預(yù)測最優(yōu)化的標(biāo)準(zhǔn)(j,k)=(arg minjE(j)+λ1‖v1‖,arg minkE(k)+λ2‖v2‖) (3-11)其中,E(j)(E(k))是后向(前向)預(yù)測方向的細(xì)節(jié)分量的平均能量。且有E(j)=Σl∈S(j)(H(j-l)u(l))2---(3-12)]]>E(k)=Σl∈S(k)(H(k-l)u(l))2---(3-13)]]>其中,S(j)是像素點j的一個小鄰域。U(1)是該鄰域中每個像素點的加權(quán)因子,它取決于像素點與中心點的距離。
同時,運動矢量的標(biāo)準(zhǔn)是(j,k)=arg min(j,k)(‖v1‖+‖v2‖) (3-14)如果只考慮連續(xù)一個方向的運動情況,那么運動矢量間最理想的關(guān)系應(yīng)為v1(j)=-pv2(k),p>0。這可以由最小化以下公式得到(j,k)=argmin(j,k)|⟨v1(j)||v1(j)||,v2(k)||v2(k)||⟩+1|---(3-15)]]>如果vi=0,那么vi||vi||=0]]>由以上的標(biāo)準(zhǔn)及公式(3-4)、(3-9),可以得到μ=-2,σ=(-1)/。
通過以上的數(shù)學(xué)處理,就獲得了高通幀和低通幀完整的信息。
(4)多層運動補償時域濾波后數(shù)據(jù)流分層取一個幀組(GOP)長度為10,設(shè)初始視頻序列的幀號從0開始,做一層運動補償時域濾波后得到4個低通幀L和4個高通幀H,如圖44所示,然后接著對這個4個低通幀進行運動補償時域濾波,得到1個低通幀LL和1個高通幀LH。在程序?qū)崿F(xiàn)時,每做一次運動補償時域濾波便把得到的低通幀和高通幀分別存在原始幀的相應(yīng)位置,如幀0~4這四幀得到一個低通幀L和一個高通幀H,那么L和H分別存儲在原始的第0幀和第1幀的空間中,這時原始幀已被得到的L和H所替代,下面在介紹分層時也用相應(yīng)的幀序號來描述。當(dāng)做兩次幀間變換時,得到如圖44所示的三層結(jié)構(gòu),分層情況如下0-LL幀為第0層(LL前的0代表LL現(xiàn)在的存儲位置,因為此時LL已經(jīng)存在了初始幀第0幀的位置,以下的序號也是同樣的意義)第一層2-LH,4-L,6-L;第二層1-H,3-H,5-H,7-H,8,9(其中,8,9為初始幀)。如果只做一次運動補償時域濾波,那么分層情況如下第0層0-L,2-L,4-L,6-L;第一層1-H,3-H,5-H,7-H,8,9。
這樣的分層處理是為了和后續(xù)的離散小波變換及嵌入式零樹編碼進行有機結(jié)合,以便數(shù)據(jù)流組織模塊對之進行有序的組織和存儲,為提取器方便有效地提取數(shù)據(jù)流做了必要的準(zhǔn)備。
如果要求幀速率降低,那么只恢復(fù)到運動補償時域濾波結(jié)構(gòu)的第二層,舍棄高通幀,用剩余的低通幀來代替原始視頻序列進行傳輸,這樣可以看到,原來的10幀已經(jīng)減為了4幀。如果要求幀速率進一步降低,則只傳輸LL幀。
具體實施方式
三下面結(jié)合圖45具體說明本實施方式。本實施方式與實施方式一的不同點是在編碼器1內(nèi)進行的步驟VI中的數(shù)據(jù)流組織模塊1-5采用基于基本原子粒(Atom)的組織方式工作的經(jīng)過前面幾個模塊的處理后,得到的視頻序列已經(jīng)具有了一定的層次結(jié)構(gòu),在時間、空間和質(zhì)量三方面已具備了可伸縮性,有效地組織這些層次結(jié)構(gòu),使得生成的視頻流能夠方便地使提取器根據(jù)用戶和網(wǎng)絡(luò)需求進行編輯,是系統(tǒng)中一個關(guān)鍵的問題,在系統(tǒng)中通過數(shù)據(jù)流組織模塊來實現(xiàn)。該數(shù)據(jù)流組織方式采用基于基本原子粒(Atom)的組織結(jié)構(gòu)。
經(jīng)過以上幾個模塊處理后,分層后的數(shù)據(jù)流依然完好地保留著原來的體系結(jié)構(gòu),它們之間存在著內(nèi)在聯(lián)系在對視頻序列應(yīng)用多層運動補償時域濾波后,根據(jù)幀速率的要求,舍棄特定層的高通幀,只把其它層的幀傳送到解碼器,而離散小波變換是對上一步抽取出的幀進行,變換后每一幀的小波系數(shù)都形成塊分層結(jié)構(gòu),根據(jù)空間分辨率舍棄某些層,對保留的層進行編碼,編碼后形成碼流的分層結(jié)構(gòu),由PSNR來決定將哪些層的數(shù)據(jù)傳送到解碼器。這樣最后傳送到解碼器的數(shù)據(jù)流是依據(jù)時間、空間、質(zhì)量三方面的要求抽取得到的,將之進行解碼得到的圖像便同時滿足了這三方面的可伸縮性。
這里,基本原子粒(Atom)的組織方式是采用原子(Atom)結(jié)構(gòu)來組織數(shù)據(jù)流的方式。時間、空間、質(zhì)量的層數(shù)分別記為L、M、N,可伸縮性空間大小為L×M×N,圖45為結(jié)構(gòu)示意圖。該空間由L×M×N個元素組成,這些元素稱為原子粒(atoms)。Atom(l,m,n)表示提取出時間l層、空間m層、質(zhì)量n層數(shù)據(jù)流后的數(shù)據(jù)塊。例如,Atom(0,0,0)是通過以下方式組織數(shù)據(jù)流得到的數(shù)據(jù)塊提取運動補償時域濾波后的所有幀中的第0層LLLL,對之進得離散小波變換后,僅對第0層即最低頻子帶進行編碼,編碼后得到的數(shù)據(jù)流截取閾值為T0時的主、副表。顯然,使用Atom(0,0,0)可重建出具有最低級別的PSNR、幀速率和空間分辨率的圖像。據(jù)此,提取器可根據(jù)實際需要提取出合適的數(shù)據(jù)流。
下面主要說明數(shù)據(jù)流的存儲方式原始視頻序列每十幀為一個幀組,為簡化說明,這里使用三種伸縮性的較低層次作為示例。視頻序列在運動補償時域濾波中做一級幀間濾波,得到四個低通幀和四個高通幀,然后這幾個數(shù)據(jù)幀經(jīng)過離散小波變換模塊做幀內(nèi)的1級小波變換,得到體現(xiàn)空間可伸縮性的2層共4個子帶,其中包括0級的LL子帶及1級的HL,LH和HH子帶。最后數(shù)據(jù)幀在PSNR伸縮性編碼模塊中做兩級門限值得到體現(xiàn)PSNR可伸縮性的2層主副表,經(jīng)過變換后的序列同時可以具有三種伸縮性。
在存儲時,各幀中以Y、U、V為順序存儲各分量,這里主要說明各幀及其Atom結(jié)構(gòu)中l(wèi)、m、n三分量的存儲順序,以時間、空間、PSNR為順序,具體存儲順序為(1)時間域0級(0-L)幀中的空間0級(LL)子帶和PSNR0級主副表;(2)時間域0級(0-L)幀中的空間0級(LL)子帶和PSNR1級主副表;(3)然后依次是時間域0級(2-L、4-L、6-L)幀,這幾幀分別按(1)(2)的存儲方式存儲的空間0級(LL)子帶和PSNR0級及PSNR1級主副表;(4)時間域0級(0-L)幀中的空間1級(HL,LH,HH)子帶和PSNR0級主副表;
(5)時間域0級(0-L)幀中的空間1級(HL,LH,HH)子帶和PSNR1級主副表;(6)然后依次是時間域0級(2-L、4-L、6-L)幀,這幾幀分別按(4)(5)的存儲方式存儲的空間1級(HL,LH,HH)子帶和PSNR0級及PSNR1級主副表;(7)時間域1級(1-H)幀中的空間0級(LL)子帶和PSNR0級主副表;(8)時間域1級(1-H)幀中的空間0級(LL)子帶和PSNR1級主副表;(9)然后依次是時間域1級(3-H、5-H、7-H、8、9)幀,這幾幀分別按(7)(8)的存儲方式存儲的空間0級(LL)子帶和PSNR0級及PSNR1級主副表;(10)時間域1級(1-H)幀中的空間1級(HL,LH,HH)子帶和PSNR0級主副表;(11)時間域1級(1-H)幀中的空間1級(HL,LH,HH)子帶和PSNR1級主副表;(12)然后依次是時間域1級(3-H、5-H、7-H、8、9)幀,這幾幀分別按(10)(11)的存儲方式存儲的空間1級(HL,LH,HH)子帶和PSNR0級及PSNR1級主副表。
另外,為了能夠使提取器高效的運作,數(shù)據(jù)流組織模塊還必須在有效地組織數(shù)據(jù)流的同時,生成一個記錄其中數(shù)據(jù)分布情況的索引文件,這樣提取器就可以在用戶和網(wǎng)絡(luò)需求參數(shù)的指導(dǎo)下,直接根據(jù)索引文件讀取數(shù)據(jù)流中必要的數(shù)據(jù),縮短讀取文件的時間消耗,為解碼器提供最精簡的輸入數(shù)據(jù)流。
本系統(tǒng)提出了基于db2小波的運動補償時域濾波新方法。并將該方法與離散小波變換(DWT)、嵌入式零樹編碼進行有機結(jié)合;同時,提出了基于基本原子粒的數(shù)據(jù)流組織結(jié)構(gòu)(該結(jié)構(gòu)將分層后的數(shù)據(jù)流進行有效地組織),實現(xiàn)了具有時間、空間、質(zhì)量三方面的完整可伸縮性的編解碼系統(tǒng)。
權(quán)利要求
1.基于db2小波的可伸縮性視頻編解碼方法,其特征在于它通過下述步驟實現(xiàn)一、輸入的視頻序列信號經(jīng)過編碼器(1)的編碼提供同時具備時間、空間和質(zhì)量要求的可伸縮性的編碼后比特流,編碼時采用db2小波來實現(xiàn)運動補償時域濾波;二、從編碼器(1)輸出的編碼后數(shù)據(jù)流被送入提取器(2),根據(jù)用戶參數(shù)接口(9)所提供的用戶需求對編碼后數(shù)據(jù)流進行編輯,生成提取后比特流,與此同時,編碼器(1)和提取器(2)共同生成索引文件(4),從而與提取后的比特流相匹配;三、提取后的比特流和索引文件(4)作為解碼器(3)的輸入,解碼器(3)完成處理后視頻序列數(shù)字信號的重建工作。
2.根據(jù)權(quán)利要求1所述的基于db2小波的可伸縮性視頻編解碼方法,其特征在于在步驟一中的編碼器(1)內(nèi)進行如下步驟I、把輸入的視頻序列信號首先在運動估計器(1-6)中進行運動估計;II、運動估計得到的運動矢量陣列送入運動補償時域濾波器(1-1)內(nèi)用于生成低通幀和高通幀;III、緊接著在二維離散小波變換器(1-2)內(nèi)分別對低通幀和高通幀進行幀內(nèi)的二維離散小波變換;IV、在PSNR質(zhì)量編碼器(1-3)內(nèi)對生成的低頻子帶和高頻子帶的小波系數(shù)再分別進行滿足PSNR質(zhì)量要求的伸縮性編碼以實現(xiàn)PSNR可伸縮性;與步驟II、III和IV同時進行著步驟V、運動矢量模塊(1-4)對運動矢量陣列進行編碼使其同樣具有可伸縮性,同時保存相應(yīng)的運動矢量從而能夠恢復(fù)原始視頻序列;VI、最后在數(shù)據(jù)流組織模塊(1-5)中將質(zhì)量編碼器(1-3)輸出的數(shù)據(jù)流和運動矢量模塊(1-4)輸出的數(shù)據(jù)流按照可伸縮性的要求分層次進行分類組織,給提取器(2)編輯數(shù)據(jù)流提供一個有效并且便利的數(shù)據(jù)結(jié)構(gòu),同時根據(jù)數(shù)據(jù)流的分類組織情況生成索引文件(4)用于指示各層次數(shù)據(jù)的分布狀況,為提取器(2)編輯數(shù)據(jù)流提供依據(jù)。
3.根據(jù)權(quán)利要求2所述的基于db2小波的可伸縮性視頻編解碼方法,其特征在于編碼器1內(nèi)的運動補償時域濾波器(1-1)采用下述步驟工作(i)采用db2小波做運動補償時域濾波時,在相鄰四幀間做運動估計;(ii)產(chǎn)生高通幀;(iii)產(chǎn)生低通幀;(iv)多層運動補償時域濾波后數(shù)據(jù)流分層。
4.根據(jù)權(quán)利要求2所述的基于db2小波的可伸縮性視頻編解碼方法,其特征在于在編碼器(1)內(nèi)進行的步驟VI中的數(shù)據(jù)流組織模塊(1-5)采用基于基本原子粒的組織方式工作。
全文摘要
本發(fā)明涉及一種視頻編解碼方法。基于db2小波的可伸縮性視頻編解碼方法,它克服了現(xiàn)有采用Haar小波來實現(xiàn)運動補償時域濾波的可伸縮性視頻編碼方法進行編解碼后重建的視頻圖像質(zhì)量差的缺點。本發(fā)明通過下述步驟實現(xiàn)一、輸入的視頻序列信號經(jīng)過編碼器的編碼提供同時具備時間、空間和質(zhì)量要求的可伸縮性的編碼后比特流,編碼時采用db2小波來實現(xiàn)運動補償時域濾波;二、從編碼器輸出的編碼后數(shù)據(jù)流被送入提取器,根據(jù)用戶參數(shù)接口所提供的用戶需求對編碼后數(shù)據(jù)流進行編輯,生成提取后比特流,編碼器和提取器共同生成索引文件,從而與提取后的比特流相匹配;三、提取后的比特流和索引文件作為解碼器的輸入,解碼器完成處理后視頻序列數(shù)字信號的重建工作。
文檔編號G06T9/00GK1913631SQ20061001041
公開日2007年2月14日 申請日期2006年8月18日 優(yōu)先權(quán)日2006年8月18日
發(fā)明者林茂六, 趙志杰, 林亞, 王華兵 申請人:哈爾濱工業(yè)大學(xué)