專(zhuān)利名稱(chēng):一種基于h.264的視頻壓縮方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種視頻壓縮算法。尤其涉及一種基于H. 264的視頻壓縮方法。
背景技術(shù):
H. 264是由聯(lián)合視頻組(JVT)近年來(lái)致力開(kāi)發(fā)研究的最新視頻壓縮國(guó)際標(biāo)準(zhǔn),與以前的國(guó)際標(biāo)準(zhǔn)如H. 263和MPEG-4相比,最大的優(yōu)勢(shì)體現(xiàn)在以下四個(gè)方面1.將每個(gè)視頻幀分離成由像素組成的塊,因此視頻幀的編碼處理的過(guò)程可以達(dá)到塊的級(jí)別。2.采用空間冗余的方法,對(duì)視頻幀的一些原始?jí)K進(jìn)行空間預(yù)測(cè)、轉(zhuǎn)換、優(yōu)化和熵編碼(可變長(zhǎng)編碼)。3.對(duì)連續(xù)幀的不同塊采用臨時(shí)存放的方法,這樣,只需對(duì)連續(xù)幀中有改變的部分進(jìn)行編碼。該算法采用運(yùn)動(dòng)預(yù)測(cè)和運(yùn)動(dòng)補(bǔ)償來(lái)完成。對(duì)某些特定的塊,在一個(gè)或多個(gè)已經(jīng)進(jìn)行了編碼的幀執(zhí)行搜索來(lái)決定塊的運(yùn)動(dòng)向量,并由此在后面的編碼和解碼中預(yù)測(cè)主塊。4.采用剩余空間冗余技術(shù),對(duì)視頻幀里的殘留塊進(jìn)行編碼。例如對(duì)于源塊和相應(yīng)預(yù)測(cè)塊的不同,再次采用轉(zhuǎn)換、優(yōu)化和熵編碼。標(biāo)準(zhǔn)的H. 264編碼組分圖如圖1所示,其包括如下步驟(1)采用幀內(nèi)預(yù)測(cè)或者運(yùn)動(dòng)估計(jì)決定所采用的最佳預(yù)測(cè)模式。(2)將實(shí)際像素值減去預(yù)測(cè)值,得到殘差。(3)對(duì)殘差進(jìn)行變換和量化。(4)變長(zhǎng)編碼和算術(shù)編碼,并對(duì)量化的數(shù)據(jù)進(jìn)行反量化和反變換,重構(gòu)得到的圖像濾波后作為其它幀的參考幀。然而,H. 264編碼過(guò)程中,由于采用了多幀和高精度運(yùn)動(dòng)估計(jì)以及率失真優(yōu)化等技術(shù)使得編碼復(fù)雜度大幅增加,對(duì)硬件電路的設(shè)計(jì)和運(yùn)算速度都提高了要求,另外,采用基于塊的離散余弦變換與量化相結(jié)合的混合編碼技術(shù)。其在低碼率的情況下,重構(gòu)的圖像中會(huì)出現(xiàn)嚴(yán)重的塊效應(yīng)現(xiàn)象,且比特率越低時(shí)塊效應(yīng)越嚴(yán)重,圖像的視覺(jué)效果也就越差。由于帶寬的限制,現(xiàn)今低碼率視頻傳輸仍占有相當(dāng)大的比重,且作為視頻終端的接受者,人們更加注重圖像的主觀感受。在低碼率的情況下,低碼率和塊效應(yīng)之間存在著比較突出的矛盾。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于H.沈4的視頻壓縮方法,其占用較低碼率的同時(shí),減少圖像塊效應(yīng)。一種視頻壓縮方法,包括如下步驟1、采用基于結(jié)構(gòu)相似度的快速運(yùn)動(dòng)估計(jì)決定所采用的最佳預(yù)測(cè)模式;2.將實(shí)際像素值減去預(yù)測(cè)值,得到殘差;3.對(duì)殘差進(jìn)行變換和量化;4.對(duì)量化的數(shù)據(jù)變長(zhǎng)編碼,并對(duì)量化的數(shù)據(jù)進(jìn)行反量化和反變換,重構(gòu)得到
的圖像采用多模式的快速環(huán)路濾波后作為其它幀的參考幀。本發(fā)明采用基于結(jié)構(gòu)相似度的快速運(yùn)動(dòng)估計(jì)選擇最佳預(yù)測(cè)模式,簡(jiǎn)化了復(fù)雜的搜索模式,達(dá)到了減小運(yùn)動(dòng)估計(jì)復(fù)雜度、改善壓縮性能、有效的節(jié)約編碼時(shí)間和降低碼率;基于多模式的快速環(huán)路濾波,其針對(duì)不同的模式特點(diǎn)采用相應(yīng)的濾波技術(shù),其有效的降低濾波過(guò)程的復(fù)雜度,在保持圖像客觀質(zhì)量的同時(shí)更好的降低了塊效應(yīng)。
圖1為現(xiàn)有技術(shù)中基于H. 264視頻壓縮方法流程示意圖;圖2為本發(fā)明基于H. 264的視頻壓縮方法流程示意圖;圖3為基于結(jié)構(gòu)相似度快速運(yùn)動(dòng)估計(jì)方法流程示意圖;圖4為環(huán)路濾波去塊算法流程示意圖;圖5為增強(qiáng)前向糾錯(cuò)算法流程示意圖;圖6為基于速率兼容的收縮卷積碼(RCPC)信道編碼的非平等保護(hù)流程示意圖;圖7為可變宏塊排序(FMO)碼率失真優(yōu)化調(diào)度流程示意圖。
具體實(shí)施例方式下面結(jié)合附圖,對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。如圖1,為現(xiàn)有技術(shù)中H. 264編碼標(biāo)準(zhǔn)的功能模塊圖,輸入的視頻進(jìn)入編碼器,由編碼器對(duì)輸入的信號(hào)進(jìn)行幀分析,采用幀內(nèi)預(yù)測(cè)或者運(yùn)動(dòng)估計(jì)決定所采用的最佳預(yù)測(cè)模式。然后用實(shí)際像素值減去預(yù)測(cè)值,得到殘差值后對(duì)其進(jìn)行變換和量化,然后對(duì)其變長(zhǎng)編碼,并對(duì)量化的數(shù)據(jù)進(jìn)行反量化和反變換,重構(gòu)得到的圖像濾波后作為其它幀的參考幀。H. 264編碼標(biāo)準(zhǔn)提高了圖像傳輸效率的同時(shí),隨之而產(chǎn)生的由于多幀和高精度運(yùn)動(dòng)估計(jì)以及率失真優(yōu)化等技術(shù)使得編碼復(fù)雜度大幅增加,對(duì)硬件電路的設(shè)計(jì)和運(yùn)算速度都提高了要求。如圖2,本發(fā)明的一種基于H. 264的視頻壓縮方法,包括如下步驟1、采用基于結(jié)構(gòu)相似度的快速運(yùn)動(dòng)估計(jì)決定所采用的最佳預(yù)測(cè)模式;2、將實(shí)際像素值減去預(yù)測(cè)值,得到殘差;3、對(duì)殘差進(jìn)行變換和量化;4、變長(zhǎng)編碼和算術(shù)編碼,并對(duì)量化的數(shù)據(jù)進(jìn)行反量化和反變換,重構(gòu)得到的圖像采用多模式的快速環(huán)路濾波后作為其它幀的參考幀。采用基于結(jié)構(gòu)相似度的快速運(yùn)動(dòng)估計(jì)選擇最佳預(yù)測(cè)模式,簡(jiǎn)化了復(fù)雜的搜索模式,達(dá)到了減小運(yùn)動(dòng)估計(jì)復(fù)雜度、改善壓縮性能、有效的節(jié)約編碼時(shí)間和降低碼率;基于多模式的快速環(huán)路濾波,其針對(duì)不同的模式特點(diǎn)采用相應(yīng)的濾波技術(shù),其有效的降低濾波過(guò)程的復(fù)雜度,在保持圖像客觀質(zhì)量的同時(shí)更好的降低了塊效應(yīng)。如圖3,上述步驟1所述的基于結(jié)構(gòu)相似度的快速運(yùn)動(dòng)估計(jì)算法包括如下步驟1)、初始化運(yùn)動(dòng)估計(jì)的率失真代價(jià)值MrosT,取值為范圍為0 < Mcost ( 1,本實(shí)施例取值0. 99,也可以取0. 9或0. 95或0. 8等。2)、計(jì)算當(dāng)前位置編碼塊與搜索位置候選塊的結(jié)構(gòu)相似度SSIM值,并利用公式=Mcost (s, c) = Kl(l-SSIM(s, c))+M0TI0Nb ( Δ計(jì)算當(dāng)前搜索位置的運(yùn)動(dòng)矢量編碼代價(jià),如果該值大于當(dāng)前MrosT,舍棄當(dāng)前搜索位置,繼續(xù)下一個(gè)搜索位置,否則更新當(dāng)前位置為最佳匹配位置,更新當(dāng)前運(yùn)動(dòng)矢量編碼代價(jià)值為最小Mkbt ;上式中s為當(dāng)前編碼塊;c為候選匹配塊;K1是一個(gè)和編碼塊的大小相關(guān)的自適應(yīng)參數(shù),Kl的取值范圍為block_xXblock_y 彡 block_xXblock_yX4,本實(shí)施例取值 K1 的取值 block_ xXblock_yX3 ;M0TI0N為運(yùn)動(dòng)估計(jì)的拉格朗日乘子;Amv是預(yù)測(cè)運(yùn)動(dòng)矢量和實(shí)際運(yùn)動(dòng)矢量的差值;b ( Δ 表示用來(lái)編碼Δ Μ所用的比特?cái)?shù);3)、計(jì)算前搜索位置的結(jié)構(gòu)相似度SSIM值并和預(yù)先設(shè)定的閾值T比較,閾值T取值范圍為0 < T < M。。st,本實(shí)施例取值0. 75。如果SSIM比閾值T小,繼續(xù)下一個(gè)搜索位置, 返回步驟2,否則結(jié)束搜索過(guò)程,當(dāng)前搜索位置被選為最佳匹配位置,停止搜索過(guò)程,保存最小M。。st和匹配位置矢量;4)、利用公式J (s,c,MODE I Qp) = K2 (I-SSIM(s, c)) +M0DER(s, c, MODE | Qp)計(jì)算每種預(yù)測(cè)模式最佳匹配塊率失真代價(jià),具有最小率失真代價(jià)的預(yù)測(cè)模式被選為當(dāng)前編碼塊的最佳預(yù)測(cè)模式, 上式中MODE是預(yù)測(cè)模式;K2為自適應(yīng)參數(shù),取值范圍為85000 ^ K2 ^ 490000,本實(shí)施例取值沈0000 ;s為當(dāng)前編碼塊;c為候選匹配塊;Qp為量化參數(shù),取值范圍為10 < QP < 30,本實(shí)施例取為20 ;R(s,C, MODElQp)是用來(lái)編碼殘差部分所需的比特?cái)?shù)。如果當(dāng)前編碼模塊INTER 8X8模式被選為最佳模式,對(duì)其子模式INTER 8X4、 INTER 4X8、INTER 4X4作為當(dāng)前位置碼塊返回步驟1分別尋找最佳預(yù)測(cè)模式。K1是一個(gè)和編碼塊的大小相關(guān)的自適應(yīng)參數(shù),K1取值與預(yù)測(cè)模式相關(guān),對(duì)于較大編碼塊的模式K1取值較大,而對(duì)于INTER 8 X 8模式及其子模式編碼塊K1取值較小。這樣可以增加大塊的預(yù)測(cè)精度,減少殘差信號(hào)編碼的率失真代價(jià),因而大編碼塊模式傾向于被選為最佳預(yù)測(cè)模式,要合理避免8X8模式及其子模式。只有那些具有劇烈復(fù)雜運(yùn)動(dòng)的宏塊才會(huì)使用復(fù)雜的子模式選擇。該方法對(duì)于那些具有較小運(yùn)動(dòng)或者沒(méi)有運(yùn)動(dòng)的序列非常有效。在運(yùn)動(dòng)估計(jì)中使用固定的SSIM閾值作為提前結(jié)束條件,如果當(dāng)前編碼塊和在搜索區(qū)域中候選塊的SSIM值已經(jīng)大于設(shè)定的閾值,跳過(guò)其他的搜索點(diǎn),結(jié)束搜索過(guò)程,在保證壓縮質(zhì)量不下降的前提下,減少了因進(jìn)一步搜索所造成的時(shí)間消耗。上述步驟所述多模式快速濾波方法包括如下步驟a)根據(jù)圖像編碼宏塊的模式和條件進(jìn)行邊界分析,利用圖像的空間相關(guān)性對(duì)邊界強(qiáng)度進(jìn)行劃分;b)針對(duì)不同的邊界模式采用不同的濾波策略,并且根據(jù)模式劃分自適應(yīng)地選擇編碼器的偏移量。
如圖4,首先對(duì)P塊和Q塊是否為幀內(nèi)碼進(jìn)行判斷,若為幀內(nèi)碼,進(jìn)一步判斷其邊緣是否為宏塊邊緣,若是宏塊邊緣則劃分為邊緣強(qiáng)度(Boundary Strength)BS = 4的模式,若不為宏塊邊緣,進(jìn)一步判斷P塊或Q塊是否采用16X16幀內(nèi)預(yù)測(cè),或是則劃分為BS = 5的模式,若不是剛劃分為BS = 3的模式;若P塊或Q塊不為幀內(nèi)編碼,則進(jìn)一步判斷P塊或Q塊的殘差變換系數(shù)是否為零,若不為零,則判斷P塊或Q塊的非零系數(shù)所占的百分?jǐn)?shù)是否大于 50%,則劃分為BS = 6的模式,此塊的邊緣不需要濾波;若小于50%則劃分為BS = 2的模式,若P塊或Q塊的殘差變換系數(shù)為零,剛判斷P塊或Q塊的參考幀不同或運(yùn)動(dòng)適量差值是否大于1,若大于1,則判斷P塊或Q塊是否采用8X8幀間編碼預(yù)測(cè),或是則此塊的邊緣不需要濾波,不是則劃分為BS = 1的模式,或P塊或Q塊的參考幀不同或運(yùn)動(dòng)適量差值小于1, 則不需要對(duì)其進(jìn)行濾波。上述不同邊緣強(qiáng)度值對(duì)應(yīng)不同濾波方法。其具體實(shí)施過(guò)程在《計(jì)算機(jī)科學(xué)》雜志第2008年07期中“基于H. 264的多模式自適應(yīng)環(huán)路濾波算法”一文中已得到公開(kāi)?;诙嗄J降目焖贋V波方法根據(jù)圖像編碼宏塊的模式和條件分析并劃分模式,對(duì)不同的模式采用不同的濾波方法,其有效的降低了濾波過(guò)程的復(fù)雜度,在保持圖像客觀質(zhì)量不變或略有提高除了更多的塊效應(yīng)現(xiàn)象,大大提高了圖像的主觀質(zhì)量。如圖5,本發(fā)明在變長(zhǎng)編碼后還包括對(duì)數(shù)據(jù)進(jìn)行增強(qiáng)前向糾錯(cuò)編碼(EFEC),以支持其在無(wú)線網(wǎng)絡(luò)中的傳輸,并提高H. 264視頻業(yè)務(wù)的傳輸質(zhì)量,其具體實(shí)施過(guò)程在《計(jì)算機(jī)應(yīng)用》雜志第2008年09期“無(wú)線網(wǎng)絡(luò)中支持H. 264的增強(qiáng)前向糾錯(cuò)算法” 一文已得到公開(kāi)。如圖6,本發(fā)明在變長(zhǎng)編碼后還包括基于速率兼容的收縮卷積碼(RCPC)信道編碼的非平等保護(hù),對(duì)輸入與輸出的數(shù)據(jù)進(jìn)行錯(cuò)誤估算比較,得到傳輸?shù)恼`碼率,通過(guò)調(diào)整傳輸以改善了視頻在無(wú)線信道系統(tǒng)中的傳輸性能,保證了視頻圖像序列的可靠傳輸,提高了傳輸效率,其具體實(shí)施過(guò)程在《吉林大學(xué)學(xué)報(bào)(信息科學(xué)版)》第2008年04期“基于H. 264的 RCPC信道編碼非平等誤碼保護(hù)” 一文中已公開(kāi)。如圖7,本發(fā)明還包括在視頻數(shù)據(jù)編碼后對(duì)可變宏塊排序(FMO)碼率失真優(yōu)化調(diào)度,該算法根據(jù)當(dāng)前信道的參數(shù)信道容量估算值和分組丟失率與之前估算的分組丟失率進(jìn)行比較,信道變化調(diào)整傳輸參數(shù),以保證編碼視頻獲得更優(yōu)越的傳輸性能,其具體實(shí)施過(guò)程在《華南理工大學(xué)學(xué)報(bào)自然科學(xué)版》第2008年第36卷第9期已得到公開(kāi)。
權(quán)利要求
1.一種基于H. 264的視頻壓縮方法,其特征在于包括如下步驟(1)采用基于結(jié)構(gòu)相似度的快速運(yùn)動(dòng)估計(jì)決定所采用的最佳預(yù)測(cè)模式;(2)將實(shí)際像素值減去預(yù)測(cè)值,得到殘差;(3)對(duì)殘差進(jìn)行變換和量化;(4)對(duì)量化后的變長(zhǎng)編碼,并對(duì)量化的數(shù)據(jù)進(jìn)行反量化和反變換,重構(gòu)得到的圖像采用多模式的快速環(huán)路濾波后作為其它幀的參考幀。
2.根據(jù)權(quán)利要求1所述的基于H.264的視頻壓縮方法,其特征在于,步驟(1)所述的基于結(jié)構(gòu)相似度的快速運(yùn)動(dòng)估計(jì)算法包括如下步驟1)、初始化運(yùn)動(dòng)估計(jì)的率失真代價(jià)值Mkbt;2)、計(jì)算當(dāng)前位置編碼塊與搜索位置候選塊的結(jié)構(gòu)相似度SSIM值,并利用公式=Mcost (s, c) zKid-SSIMk,c))+M0TI0Nb (Amv)計(jì)算當(dāng)前搜索位置的運(yùn)動(dòng)矢量編碼代價(jià),如果該值大于當(dāng)前Mkbt,舍棄當(dāng)前搜索位置,繼續(xù)下一個(gè)搜索位置,否則更新當(dāng)前位置為最佳匹配位置,更新當(dāng)前運(yùn)動(dòng)矢量編碼代價(jià)值為最小Mkbt ;上式中 s為當(dāng)前編碼塊; c為候選匹配塊;K1是一個(gè)和編碼塊的大小相關(guān)的自適應(yīng)參數(shù); motion為運(yùn)動(dòng)估計(jì)的拉格朗日乘子; Amv是預(yù)測(cè)運(yùn)動(dòng)矢量和實(shí)際運(yùn)動(dòng)矢量的差值; b(AMV)表示用來(lái)編碼Δ■所用的比特?cái)?shù);3)、計(jì)算前搜索位置的結(jié)構(gòu)相似度SSIM值并和預(yù)先設(shè)定的閾值T比較,如果SSIM比閾值T小,繼續(xù)下一個(gè)搜索位置,返回步驟2,否則結(jié)束搜索過(guò)程,當(dāng)前搜索位置被選為最佳匹配位置,停止搜索過(guò)程,保存最小M。。st和匹配位置矢量;4)、利用公式J(s,c, MODE I Qp) = K2(1-SSIM(s, c))+M0DER(s, c, MODE | Qp)計(jì)算每種預(yù)測(cè)模式最佳匹配塊率失真代價(jià),具有最小率失真代價(jià)的預(yù)測(cè)模式被選為當(dāng)前編碼塊的最佳預(yù)測(cè)模式,上式中MODE是預(yù)測(cè)模式; K2為自適應(yīng)參數(shù); s為當(dāng)前編碼塊; c為候選匹配塊; Qp為量化參數(shù);R(s, c, MODE I Qp)是用來(lái)編碼殘差部分所需的比特?cái)?shù);5)判斷最佳匹配宏模式是否為8X8模式,若不是,則結(jié)束運(yùn)動(dòng)估計(jì)搜索,若是8X8模式, 則返回步驟1)分別對(duì)其子模式8X4,4X8,4X4再進(jìn)行最佳預(yù)測(cè)模式搜索。
3.根據(jù)權(quán)利要求2所述的基于H.264的視頻壓縮方法,其特征在于,步驟1)所述率失真代價(jià)值M。。st的取值為范圍為0 < Mcost ^ 1。
4.根據(jù)權(quán)利要求2所述的基于H.264的視頻壓縮方法,其特征在于,所述率失真代價(jià)值 Mcost 的值為 0. 8 或 0. 9 或 0. 95 或 0. 99。
5.根據(jù)權(quán)利要求2所述的基于H.264的視頻壓縮方法,其特征在于,所述閾值T的取值范圍為0 < T < Mcosto
6.根據(jù)權(quán)利要求2所述的基于H.264的視頻壓縮方法,其特征在于,所述量化參數(shù)% 取值范圍為10彡%彡30,K1的取值范圍為block_xXblock_y ^ Qp ^ block_xXblock_yX4, K2 的取值范圍為85000 ^ K2 ^ 490000。
7.根據(jù)權(quán)利要求2所述的基于結(jié)構(gòu)相似度的H.264快速運(yùn)動(dòng)估計(jì)方法,其特征在于,所述量化參數(shù)A取值20,1的取值范圍為block_xXblock_yX3,K2的取值為沈0000。
8.根據(jù)權(quán)利要求1所述的基于H.264的視頻壓縮方法,其特征在于,步驟(4)所述多模式快速濾波方法包括如下步驟a)根據(jù)圖像編碼宏塊的模式和條件進(jìn)行邊界分析,利用圖像的空間相關(guān)性對(duì)邊界強(qiáng)度進(jìn)行劃分;b)針對(duì)不同的邊界模式采用不同的濾波策略,并且根據(jù)模式劃分自適應(yīng)地選擇編碼器的偏移量。
9.根據(jù)權(quán)利要求1所述的基于H.264的視頻壓縮方法,其特征在于,在變長(zhǎng)編碼后還包括對(duì)數(shù)據(jù)進(jìn)行增強(qiáng)前向糾錯(cuò)編碼。
10.根據(jù)權(quán)利要求1或4所述的基于H.264的視頻壓縮方法,其特征在于,在變長(zhǎng)編碼后還包括基于速率兼容的收縮卷積碼(RCPC)信道編碼的非平等保護(hù)。
11.根據(jù)權(quán)利要求1所述的基于H.264的視頻壓縮方法,其特征在于,還包括在視頻數(shù)據(jù)編碼后對(duì)可變宏塊排序(FMO)碼率失真優(yōu)化調(diào)度。
全文摘要
一種基于H.264的視頻壓縮方法,采用基于結(jié)構(gòu)相似度的快速運(yùn)動(dòng)估計(jì)選擇最佳預(yù)測(cè)模式,由實(shí)際像素值與預(yù)測(cè)值相減得到殘差值進(jìn)行變換和量化,將所得數(shù)據(jù)采用變長(zhǎng)編碼,并對(duì)量化的數(shù)據(jù)進(jìn)行反量化和反變換,重構(gòu)得到的圖像采用多模式的快速環(huán)路濾波后作為其它幀的參考幀。結(jié)合結(jié)構(gòu)相似度進(jìn)行快速運(yùn)動(dòng)估算,簡(jiǎn)化了復(fù)雜的搜索模式,節(jié)約編碼時(shí)間和降低碼率,而基于多模式的快速環(huán)路濾波,其針對(duì)不同的模式特點(diǎn)采用相應(yīng)的濾波技術(shù),其有效的降低濾波過(guò)程的復(fù)雜度,在保持圖像客觀質(zhì)量的同時(shí)更好的降低了塊效應(yīng)。
文檔編號(hào)H04N7/50GK102413323SQ20101001932
公開(kāi)日2012年4月11日 申請(qǐng)日期2010年1月13日 優(yōu)先權(quán)日2010年1月13日
發(fā)明者馮所前, 張志平, 李海健, 林淼, 胡偉, 邱浩然, 雷常青, 顧學(xué)偉 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)廣東有限公司中山分公司