專利名稱:視頻編碼壓縮方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻編碼技術(shù)領(lǐng)域,特別涉及一種視頻編碼壓縮方法。
背景技術(shù):
隨著IP網(wǎng)絡(luò)基礎(chǔ)設(shè)施的逐步完善,越來越多的人開始通過IP網(wǎng)絡(luò)觀看視頻內(nèi)容, 包括通過PC連入有線互聯(lián)網(wǎng)在電腦顯示器上觀看,或者通過手機(jī)連入3G無線網(wǎng)絡(luò)進(jìn)行觀看。目前視頻數(shù)據(jù)流量已經(jīng)占到整個互聯(lián)網(wǎng)全部流量的70%,消耗了大量的帶寬資源與存儲資源。目前網(wǎng)絡(luò)視頻文件基本均使用H. 264進(jìn)行視頻編碼,然后再將視頻流與音頻流封裝為MP4、FLV、F4V或MKV等容器格式,標(biāo)準(zhǔn)的H. 264編碼器可以將480P分辨率的視頻壓縮至800 1000Kbps,將720P分辨率的視頻壓縮至2Mbps。這導(dǎo)致很多網(wǎng)絡(luò)接入速度較低的用戶,例如IMbps ADSL的用戶根本無法觀看畫質(zhì)較高的480P及720P視頻,尤其是720P視頻,幾乎無法流暢的一邊下載一邊播放。這導(dǎo)致目前絕大多數(shù)的網(wǎng)絡(luò)視頻的畫質(zhì)都較差,無法達(dá)到720P的高清標(biāo)準(zhǔn),甚至很多都無法達(dá)到480P的標(biāo)清標(biāo)準(zhǔn),或者雖然達(dá)到了 480P或720P的分辨率,但是由于碼率較高使得大部分用戶無法流暢觀看。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問題本發(fā)明要解決的技術(shù)問題是如何提高視頻編碼的壓縮率。( 二 )技術(shù)方案為解決上述技術(shù)問題,本發(fā)明提供了一種視頻編碼壓縮方法,包括以下步驟Sl 對源視頻流進(jìn)行預(yù)編碼,重建所有畫面組G0P,得到X個GOP及X個I幀;S2 計算所有I幀的宏塊重合度,歸并宏塊重合度達(dá)到閾值的I幀為一組,得到N 組 I 幀,N<=X;S3 計算經(jīng)過步驟S2后的源視頻流的優(yōu)化編碼系數(shù)K,并根據(jù)所述K計算所述源視頻流進(jìn)行編碼的編碼碼率Z ;S4 根據(jù)所述編碼碼率Z對源視頻流進(jìn)行編碼,在編碼時以事先確定的N組I幀中的樣本幀作為I幀,將非樣本幀的I幀作為以同組內(nèi)的樣本幀為參考幀的P幀。其中,所述步驟Sl中,GOP重建過程中插入I幀的判斷方式為當(dāng)前幀與前一幀的 RGB差值大于等于所有幀的RGB平均值的2倍時,則當(dāng)前幀為一個I幀。其中,所述步驟S2中,兩I幀畫面的宏塊重合度高于80%為達(dá)到所述閾值。其中,所述步驟S3中按如下公式計算所述優(yōu)化編碼系數(shù)K κ=(^y其中,乂 是預(yù)編碼時得到的用于描述輸出視頻流運(yùn)動向量的比特數(shù)的幀平均值,Vb是預(yù)編碼的目標(biāo)碼率,h與標(biāo)準(zhǔn)視頻內(nèi)容中的動態(tài)程度成反比,1表示弱化系數(shù),用于對動態(tài)程度進(jìn)行一次弱化。其中,所述h = 8,1 = 0.5。其中,所述步驟S3中,根據(jù)所述優(yōu)化編碼系數(shù)K計算出編碼碼率Z的方式為Z = WXFXKXE/G, W為輸出視頻的寬度,F(xiàn)為常數(shù),E為編碼時的幀速率,G為標(biāo)準(zhǔn)幀速率。其中,所述步驟S4中,每組的樣本幀為其亮度直方圖的值與該組中I幀的亮度直方圖的平均值差值最小的幀。其中,所述步驟S4中采用Ι-pass或2-pass的動態(tài)比特率模式編碼。(三)有益效果本發(fā)明的提高視頻編碼壓縮率的方法在提高I幀使用效率的同時壓縮了對畫質(zhì)影響較低的運(yùn)動補(bǔ)償?shù)臄?shù)據(jù),在材質(zhì)和運(yùn)動補(bǔ)償兩個方面同時提高了壓縮率,從而整體提升了視頻壓縮率。
圖1是本發(fā)明實(shí)施例的一種視頻編碼壓縮方法流程圖;圖2是不同K值視頻源在用相同碼率編碼后的PSNR值,橫坐標(biāo)為K值,縱坐標(biāo)為 PSNR ;圖3是人腦感受畫質(zhì)隨PSNR值的變化情況,橫坐標(biāo)為PSNR,縱坐標(biāo)為人腦感受。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。本發(fā)明的提高視頻編碼壓縮率的思想是提高I幀使用效率的同時壓縮了對畫質(zhì)影響較低的運(yùn)動補(bǔ)償?shù)臄?shù)據(jù),在材質(zhì)和運(yùn)動補(bǔ)償兩個方面同時提高了壓縮率,具體流程如圖1所示,包括步驟S101,對源視頻流進(jìn)行預(yù)編碼,重建所有畫面組(Group of Pictures, GOP), 得到X個GOP及X個I幀,預(yù)編碼后可得到幀的宏塊重合度。在GOP重建過程中插入I幀的判斷方式為當(dāng)前幀與前一幀的RGB差值大于等于所有幀的RGB平均值的2倍時,則當(dāng)前幀為一個I幀。GOP重建的目的是為了根據(jù)源視頻的不同情況更有效的配置I幀與P、B幀的比例, 以實(shí)現(xiàn)更高的壓縮率。其中,若當(dāng)前無可用的源視頻流無損視頻流數(shù)據(jù),則通常在這之前還包括對源視頻流進(jìn)行解碼,得到源視頻流的無損視頻流數(shù)據(jù)。步驟S102,計算所有I幀的宏塊重合度,歸并宏塊重合度達(dá)到閾值的I幀,得到N 組I幀,N < = X,每組中的I幀兩兩的宏塊重合度都達(dá)到該閾值。歸并宏塊重合度達(dá)到上述閾值的I幀后得到的I幀組的數(shù)量越少,則后期編碼時節(jié)省的碼率越多。優(yōu)選地,兩I幀畫面中宏塊重合度高于80%則為達(dá)到閾值。上述2個步驟的本質(zhì)是提高了視頻壓縮過程中對時間冗余的壓縮效率,在傳統(tǒng)編碼方式中無法處理的重復(fù)而跳躍的類似幀之間創(chuàng)建了新的關(guān)聯(lián),相當(dāng)于在編碼計算中將參考幀范圍無限放大,從而對距離較遠(yuǎn)的重復(fù)的材質(zhì)數(shù)據(jù)也能夠?qū)崿F(xiàn)良好的壓縮效果。CN 102427529 A
說明書
3/4頁步驟S103,對經(jīng)過上述2步后的源視頻流進(jìn)行預(yù)處理,以得到源視頻流的優(yōu)化編碼系數(shù)K,并根據(jù)所述系數(shù)K計算對源視頻流進(jìn)行編碼的最優(yōu)編碼碼率ζ。K的計算方式如下K= ( )'其中,乂 是預(yù)編碼時得到的用于描述輸出視頻流運(yùn)動向量的比特數(shù)的幀平均值,Vb 是預(yù)編碼的目標(biāo)碼率,h與標(biāo)準(zhǔn)視頻內(nèi)容中的動態(tài)程度成反比,1表示弱化系數(shù),用于對動態(tài)程度進(jìn)行一次弱化。優(yōu)選地,h可取值為8,1可取值為0. 5。優(yōu)化編碼系數(shù)K為反應(yīng)該視頻流整體的畫面變化程度的值,其意義在于,它可以根據(jù)不同視頻源的K值,合理的計算對其進(jìn)行編碼的碼率。這是由于視頻畫面的運(yùn)動越劇烈、變化越大,就需要更多的碼率分配給運(yùn)動補(bǔ)償數(shù)據(jù),所以對于不同的視頻源,就可以根據(jù)其不同的畫面運(yùn)動情況為其分配合理的能夠滿足觀看者感受的數(shù)據(jù)碼率。上述的計算方式比傳統(tǒng)的計算亮度或RGB直方圖的逐幀差值的方法的好處是可以基本忽略劇烈運(yùn)動造成的亮度或RGB直方圖差值的過度失真。如圖2所示,當(dāng)分辨率相同時,不同K值的源視頻用相同方式編碼后得到的峰值信噪比(Peak Signal to Noise Ratio, PSNR)的值,其中,橫坐標(biāo)為K值,K值越大則說明源視頻的畫面運(yùn)動情況越劇烈,縱坐標(biāo)為使用相同碼率對源視頻進(jìn)行編碼后的PSNR值,PSNR 值越大說明編碼質(zhì)量越高。同時由于PSNR只是一種反應(yīng)輸出畫面與原畫面差異度的指標(biāo),而觀看者對畫質(zhì)的實(shí)際感受與PSNR值實(shí)際上有很多的不同,因此PSNR值很多時候并不能客觀代表畫面質(zhì)量,尤其是當(dāng)PSNR值很高的時候,隨著PSNR的提高而帶來的人眼感受到的畫質(zhì)提升會越來越小。圖3是隨著PSNR值的提高,觀看者能夠感受到的實(shí)際畫質(zhì)變化的曲線,橫坐標(biāo)是 PSNR值,縱坐標(biāo)是多個體驗(yàn)者樣本人工評價的畫面質(zhì)量。從圖上可看出,隨著碼率的提升,PSNR也會相應(yīng)提升,而當(dāng)PSNR達(dá)到一定程度之后,人腦對畫質(zhì)提升的感受已經(jīng)不再如之前提升碼率造成的影響那么巨大,這時就得到了一個相對于人腦感受的效率最優(yōu)的編碼碼率數(shù)值,這個效率最優(yōu)的碼率數(shù)值同時保證了人腦的畫質(zhì)感受及有效的碼率控制,即在人腦感受的畫面質(zhì)量和編碼碼率之間找到了最佳的平衡點(diǎn)。而對于不同的視頻源數(shù)據(jù),這個平衡點(diǎn),即最優(yōu)編碼碼率是不同的,它主要取決于視頻源數(shù)據(jù)的畫面分辨率、幀速及整體運(yùn)動的劇烈程度,而優(yōu)化編碼系數(shù)K就能夠很好的反應(yīng)視頻源的整體運(yùn)動的劇烈程度。因此,可根據(jù)上述優(yōu)化編碼系數(shù)K計算編碼碼率Z,編碼碼率Z的計算方法為Z = WXFXKXE/G, W為輸出視頻的寬度(像素數(shù)),F(xiàn)為常數(shù)值, F根據(jù)不同的H. 264編碼ftOfiIe而不同,常用的取值為1(采用H.沈4 Baseline Profile 時)、0· 75 (采用 H. 264 Main Profile 時)、0· 6 (采用 H. 264 High Profile 時),G 為標(biāo)準(zhǔn)幀速率,通常在25 29. 976幀/秒。輸出視頻的寬度W及幀速率E越高時,視頻碼率Z越高,同時優(yōu)化編碼系數(shù)K越高時,視頻碼率Z越高。保證了在對人腦對畫面質(zhì)量的感受影響更小的前提下,編碼碼率Z越高,帶寬占用越少,尤其適用于一些整體畫面運(yùn)動較少的電影、電視劇、紀(jì)錄片等影視作品,可以極大幅度的降低視頻編碼碼率的耗用,同時也能夠保證觀看時的畫面質(zhì)量感受。步驟S104,經(jīng)過上述3步之后,根據(jù)編碼碼率Z對源視頻流進(jìn)行編碼。在進(jìn)行編碼時,以事先確定的N組I幀中的樣本幀作為I幀,將非樣本幀的I幀作為以同組內(nèi)的樣本幀為參考幀的P幀,每組中確定的樣本幀為其亮度直方圖的值與該組中I幀的亮度直方圖的平均值差值最小的幀,從而節(jié)省大量的I幀內(nèi)部的材質(zhì)數(shù)據(jù)。采用編碼碼率Z對源視頻流進(jìn)行編碼,這樣即可在對視頻流中的材質(zhì)數(shù)據(jù)進(jìn)一步壓縮的同時,在整體的單位碼率到人腦的畫質(zhì)感受的轉(zhuǎn)化方面也獲得了最佳的效率,具體的編碼方式可使用I-Pass或2-Pass 的VBR模式。本發(fā)明的方法可廣泛用于基于H. 264, H. 263, RV40等的視頻編碼方法。以上實(shí)施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種視頻編碼壓縮方法,其特征在于,包括以下步驟51對源視頻流進(jìn)行預(yù)編碼,重建所有畫面組G0P,得到X個GOP及X個I幀;52計算所有I幀的宏塊重合度,歸并宏塊重合度達(dá)到閾值的I幀為一組,得到N組I 中貞,N<=X;53計算經(jīng)過步驟S2后的源視頻流的優(yōu)化編碼系數(shù)K,并根據(jù)所述K計算所述源視頻流進(jìn)行編碼的編碼碼率Z ;54根據(jù)所述編碼碼率Z對源視頻流進(jìn)行編碼,在編碼時以事先確定的N組I幀中的樣本幀作為I幀,將非樣本幀的I幀作為以同組內(nèi)的樣本幀為參考幀的P幀。
2.如權(quán)利要求1所述的視頻編碼壓縮方法,其特征在于,所述步驟Sl中,GOP重建過程中插入I幀的判斷方式為當(dāng)前幀與前一幀的RGB差值大于等于所有幀的RGB平均值的2 倍時,則當(dāng)前幀為一個I幀。
3.如權(quán)利要求1所述的視頻編碼壓縮方法,其特征在于,所述步驟S2中,兩I幀畫面的宏塊重合度高于80%為達(dá)到所述閾值。
4.如權(quán)利要求1所述的視頻編碼壓縮方法,其特征在于,所述步驟S3中按如下公式計算所述優(yōu)化編碼系數(shù)K:κ=(^yVb其中,Vn是預(yù)編碼時得到的用于描述輸出視頻流運(yùn)動向量的比特數(shù)的幀平均值,Vb是預(yù)編碼的目標(biāo)碼率,h與標(biāo)準(zhǔn)視頻內(nèi)容中的動態(tài)程度成反比,1表示弱化系數(shù),用于對動態(tài)程度進(jìn)行一次弱化。
5.如權(quán)利要求4所述的視頻編碼壓縮方法,其特征在于,所述h= 8,1 =0.5。
6.如權(quán)利要求1所述的視頻編碼壓縮方法,其特征在于,所述步驟S3中,根據(jù)所述優(yōu)化編碼系數(shù)K計算出編碼碼率Z的方式為Z = WXFXKXE/G, W為輸出視頻的寬度,F(xiàn)為常數(shù),E為編碼時的幀速率,G為標(biāo)準(zhǔn)幀速率。
7.如權(quán)利要求1所述的視頻編碼壓縮方法,其特征在于,所述步驟S4中,每組的樣本幀為其亮度直方圖的值與該組中I幀的亮度直方圖的平均值差值最小的幀。
8.如權(quán)利要求1 7所述的視頻編碼壓縮方法,其特征在于,所述步驟S4中采用 Ι-pass或2-pass的動態(tài)比特率模式編碼。
全文摘要
本發(fā)明公開了一種視頻編碼壓縮方法,涉及視頻編碼技術(shù)領(lǐng)域,該方法包括S1對源視頻流進(jìn)行預(yù)編碼,重建所有畫面組GOP,得到X個GOP及X個I幀;S2計算所有I幀的宏塊重合度,歸并宏塊重合度達(dá)到閾值的I幀為一組,得到N組I幀,N<=X;S3計算經(jīng)過步驟S2后的源視頻流的優(yōu)化編碼系數(shù)K,并根據(jù)所述K計算所述源視頻流進(jìn)行編碼的編碼碼率Z;S4根據(jù)所述編碼碼率Z對源視頻流進(jìn)行編碼,在編碼時以事先確定的N組I幀中的樣本幀作為I幀,將非樣本幀的I幀作為以同組內(nèi)的樣本幀為參考幀的P幀。本發(fā)明提高了視頻的壓縮率。
文檔編號H04N7/26GK102427529SQ201110302000
公開日2012年4月25日 申請日期2011年9月30日 優(yōu)先權(quán)日2011年9月30日
發(fā)明者崔天龍 申請人:北京暴風(fēng)科技股份有限公司