專利名稱::一種視頻壓縮方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及視頻處理方法,更具體地說,涉及一種視頻壓縮方法。
背景技術(shù):
:消除圖像序列中的時間冗余,是視頻壓縮算法的主要任務(wù)。時間冗余是指視頻序列的不同圖像之間存在的相關(guān)性。視頻序列各個圖像之間,一般都存在較強(qiáng)的相關(guān)性。因此,在視頻編碼和通信中,不需要將每一幀的所有像素信息都傳送到解碼器;多數(shù)情況下,只需傳送幀間的變化信息,解碼器會根據(jù)已經(jīng)解碼的圖像和幀間的變化信息,正確地解出當(dāng)前幀??梢姡龝r間冗余的關(guān)鍵,是確定幀間哪些信息沒有變化、不需傳送。判斷幀間信息變化與否的基本思路是相鄰幀在同一位置上的像素值是否非常接近。下面舉例說明設(shè)f。、^是相鄰的兩幀,f。幀已經(jīng)編碼,則在編碼^幀時,先檢查^相對于f。的變化情況。記^在n二(ni,n2)像素位置處的強(qiáng)度為fjn),f。在n處的強(qiáng)度為f。(n),二者的差定義為FD(FrameDifference:幀差)FD=f!(n)-fo(n)(1.1)如果FD"0,就認(rèn)為^(n)與f。(n)沒有差別,不需要再對^(n)進(jìn)行編碼。但是,在實際應(yīng)用中,解碼器端只能獲得f。經(jīng)過"編碼解碼"后的結(jié)果f。'。由于編碼過程的量化步驟是有損的,使得f。'(n)和f。(n)之間存在一定的差別,記為QD(QuantizedDifference:量化差)QD=f。,(n)—f。(n)(1.2)為了防止誤差積累,編、解碼雙方必須采用f。'作為檢查&是否變化的依據(jù)。此時,稱f。'為4的參考幀。可見,參考幀是指經(jīng)過了"編碼解碼"過程的視頻圖像。編、解碼器必須保有相同的參考幀,用以對后繼的圖像進(jìn)行一致的預(yù)測操作。記f\與f。'在n處的強(qiáng)度差為DD(DecisionDifference:判決差),有DD=fi(n)-f。,(n)(1.3)將式(1.1)、(1.2)代入式(1.3),得到:DD=FD-QD(1.4)式(1.4)說明編碼器的判斷依據(jù)是如果DD"0,就不需對^(n)進(jìn)行編碼。但是,QD總是隨著量化步長的增大而增大,導(dǎo)致DD在"應(yīng)該"為0的時候,卻沒有為0。問題就在這里假設(shè)fjn)和f。(n)沒有差別,即FD"O,那么理論上本不需對fjn)編碼;但是由于量化的存在,使得DD=-QD并不接近O,編碼器實際上還是會對fJn)進(jìn)行編碼。這樣一來,既增加了碼率開銷,又對改善解碼圖像的質(zhì)量沒有任何幫助。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述碼率開銷大、對改善解碼圖像的質(zhì)量沒有幫助的缺陷,提供一種碼率開銷小的視頻壓縮方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是提供一種視頻壓縮方法,包括下列步驟A.將不同視頻幀中變化小于或等于預(yù)定閾值的場景定義為背景,而將變化大于預(yù)定閾值的場景則定義為前景;或者,將不同視頻幀中變化小于預(yù)定閾值的場景定義為背景,而將變化大于或等于預(yù)定閾值的場景定義為前景;B.利用H.264或AVS視頻壓縮標(biāo)準(zhǔn)的多參考幀機(jī)制,對背景和前景采用不同的參考幀進(jìn)行編解碼對背景用高質(zhì)量參考幀進(jìn)行編解碼,對前景用普通參考幀進(jìn)行編解碼。在本發(fā)明所述的視頻壓縮方法中,所述步驟B中,包括下列步驟Bl.用編碼器確定參考幀類型長期參考幀或短期參考幀;B2.同步解碼操作將確定后的參考幀類型通知給解碼器,使解碼器重建參考幀列表0;B3.編碼器通過針對高質(zhì)量參考幀和低質(zhì)量參考幀發(fā)送不同的自適應(yīng)內(nèi)存控制命令來同步解碼器的操作;B4.結(jié)束。在本發(fā)明所述的視頻壓縮方法中,所述步驟B3中,所述發(fā)送不同的自適應(yīng)內(nèi)存控制命令如下對于I幀如果是短期參考幀,將long_term_reference_flag標(biāo)志的值置為0;如果是長期參考幀,將long_term_refercnce_flag標(biāo)志的值置為1;對于P幀如果是短期參考幀,將adaptive_ref_pic_marking_mode_flag標(biāo)志的值置為0;如果是長期參考幀,將ackptive_ref_pic_marking_mode_flag標(biāo)志的值置為1。在本發(fā)明所述的視頻壓縮方法中,對于P幀,將ackptive_ref_pic_marking_mode—flag標(biāo)志的值置為1后,還包括進(jìn)行以下步驟①發(fā)送memory—management—control—operation標(biāo)志的值6;②發(fā)送long_term_frame_idx的值0;③發(fā)送0,通知角牟碼器memory—management—control—operation結(jié)束。在本發(fā)明所述的視頻壓縮方法中,所述短期參考幀預(yù)測其后面的5幀視頻幀,所述長期參考幀預(yù)測后繼的5幀以上的多幀視頻幀。實施本發(fā)明的視頻壓縮方法,具有以下有益效果本方法特別適合于攝像機(jī)位置不變的視頻應(yīng)用,在攝像機(jī)位置不變的視頻應(yīng)用,圖像內(nèi)容的大部分屬于背景,只有很小一部分屬于前景。雖然背景幀是高質(zhì)量幀,碼流比普通幀大,但由于它主要被用作靜止場景的參考幀,在一個較長的周期內(nèi)只要編碼一個背景幀,就可以令多個被預(yù)測幀的背景殘差碼率減少。因此,從總體上看,前景背景分離的壓縮方法,非但不會因為背景幀的高質(zhì)量導(dǎo)致整個視頻流的碼率增大,反而可以通過合理的調(diào)節(jié),達(dá)到減小碼率,或者在同等目標(biāo)碼率情況下,用本方法得到的圖像質(zhì)量更高;而且,由于只需對現(xiàn)有的編碼器作相應(yīng)的調(diào)整,對現(xiàn)有的解碼器不需做任何修改,就可正確地解碼用本方法壓縮的視頻流,因此本方法還具有易于實現(xiàn)的優(yōu)點。下面將結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步說明,附圖中圖1是本發(fā)明的視頻壓縮方法的一個優(yōu)選實施例的編碼過程中參考幀列表O的變化示意圖;圖2是本發(fā)明的視頻壓縮方法的流程圖。具體實施例方式本發(fā)明的視頻壓縮方法的要點是將視頻中沒有變化的場景定義為背景,而變化的場景則定義為前景,利用H.264或AVS視頻壓縮標(biāo)準(zhǔn)的多參考幀機(jī)制,對背景和前景采用不同的參考幀進(jìn)行編解碼——背景用高質(zhì)量參考幀,前景用普通參考幀。此處的"質(zhì)量"一詞,是指壓縮后的視頻圖像的保真度。保真度越高,壓縮后的圖像與原始圖像越接近,通俗地講就是圖像具有高質(zhì)量。舉例如下設(shè)f。、f7、f8為同一視頻流中具有相同背景的三幀圖像,f7、f8兩幀相鄰,f。、f7經(jīng)過"編碼解碼"后的結(jié)果分別為f。'和f/,其中,f。'量化步長較小,是高質(zhì)量幀,f/量化步長較大,是普通質(zhì)量幀。記f8在n=(ni,n2)像素位置處的強(qiáng)度為f8(n),f。'在n處的強(qiáng)度為f。'(n),f7,在n處的強(qiáng)度為f/(n)。由式(1.4)可知:f8(n)與f。'(n)的判決差DD8。,與f7,(n)的判決差DD87分別為:DD80=FD80-QD0(2.1)DD87=FD87_QD7(2.2)其中,QD。、QD7分別為f。'和f/的量化差。FD8。、FD87分別為f8(n)與f。'(n)、f7,(n)的幀差。假設(shè)n處的圖像內(nèi)容屬于三幀的背景,則FD8。二FD87"0,代人式(2.1)、(2.2),得DD80=-QD0(2.3)DD87=_QD7(2.4)如前所述,f/是普通質(zhì)量幀,量化步長較大。QD7也較大,因此編碼器如果根據(jù)式(2.4)來判決的話,仍然會對背景f8(n)進(jìn)行編碼。但是,由于f。'是高質(zhì)量幀,可以適當(dāng)?shù)剡x擇其量化步長,使得QD。足夠小;此時,由式(2.3)有DD8。"0。編碼器據(jù)此斷定f8(n)為背景,可以不編碼。解碼器在需要f8(n)的地方,直接以高質(zhì)量的f。'(n)代替。對于攝像機(jī)位置不變的視頻應(yīng)用,在多數(shù)情況下,各幀的大部分屬于背景,只有很小一部分屬于前景。雖然背景是高質(zhì)量幀,碼流比普通幀大,但由于它主要被用作靜止場景的參考幀,在一個較長的周期內(nèi)只要編碼一個背景幀,就可以令多個被預(yù)測幀的背景殘差碼率減小。5因此,從總體上看,前景背景分離的壓縮方法,非但不會因為背景幀的高質(zhì)量導(dǎo)致整個視頻流的碼率增大,反而可以通過合理的調(diào)節(jié),達(dá)到減小碼率、或者在相同的碼率下提高圖像質(zhì)量的效果。實現(xiàn)本發(fā)明視頻壓縮方法的關(guān)鍵在于H.264和AVS標(biāo)準(zhǔn)支持多參考幀機(jī)制。下面以H.264為例,介紹本方法的具體實施步驟。H.264的參考幀分為2類短期參考幀和長期參考幀。短期參考幀最多只能對其后面的5幀視頻幀進(jìn)行預(yù)測,長期參考幀則可以預(yù)測后繼的5幀以上的多幀視頻幀。參考幀的類型由編碼器設(shè)定,并通過一組自適應(yīng)內(nèi)存控制命令(Ad即tivememorycontrolcommands)來同步解碼器的參考幀操作。11.264的多參考幀管理機(jī)制,使本發(fā)明的方法得以非常便利地實現(xiàn)。本方法包括下列步驟A.將不同視頻幀中變化小于或等于預(yù)定閾值的場景定義為背景,而將變化大于預(yù)定閾值的場景定義為前景;或者,將不同視頻幀中變化小于預(yù)定閾值的場景定義為背景,而將變化大于或等于預(yù)定閾值的場景定義為前景;B.利用H.264或AVS視頻壓縮標(biāo)準(zhǔn)的多參考幀機(jī)制,對背景和前景采用不同才參考幀進(jìn)行編解碼對背景用高質(zhì)量參考幀進(jìn)行編解碼,對前景用普通參考幀進(jìn)行編解碼。下面結(jié)合一個單向幀間預(yù)測的實例,更詳細(xì)地說明在H.264編碼器中如何實現(xiàn)本方法。參考圖1,單向預(yù)測的視頻流中只包含I幀和P幀,且只使用參考幀列表0(簡稱list0)。假設(shè)使用2個參考幀進(jìn)行預(yù)測編碼,視頻流為I、Pl、P2、P3.....P120,其中I、P10、P60需要成為長期參考幀,其余圖像均為短期參考幀。則編碼過程中,含有2個參考幀的list0的變化情況如圖1所示。圖1中,符號(L)表示對應(yīng)幀被設(shè)定為長期參考幀,(S)表示對應(yīng)幀為短期參考幀。編完I后,參考幀列表0即list0的index0和indexl分別被置為I(L)和NULL,編完P(guān)1后,index0和indexl分別被置為Pl(S)和I(L);編完P(guān)2至P9,indexO分別被依次置為P2(S)至P9(S),indexl均被置為I(L);編完P(guān)10,indexO和indexl分別被置為P9(S)和PIO(L);編完P(guān)ll至P59,indexO分別被依次置為Pll(S)至P59(S),indexl均被置為P10(L);編完P(guān)60,indexO和indexl分別被置為P59(S)和P60(L)。參考圖2,上述步驟B中,包括下列步驟S101:開始。S102:用編碼器確定參考幀類型長期參考幀或短期參考幀;S103:同步解碼操作將確定后的參考幀類型通知給解碼器,使編碼器重建參考幀列表O。S104:編碼器通過發(fā)送不同的自適應(yīng)內(nèi)存控制命令來同步解碼器的操作,具體如下(l)對于I幀1)如果是短期參考幀,將long_term_reference_flag標(biāo)志的值置為0;2)如果是長期參考幀,將long_term_reference_flag標(biāo)志的值置為1。(2)對于P幀:1)如果是短期參考幀,將adaptive_ref_pic_marking_mode_flag標(biāo)志的值置為0;2)如果是長期參考幀,則將ackptive_ref_pic_marking_mode_flag置1,這意味著后面還有相應(yīng)的內(nèi)存管理控制操作(memory_management_control_operation),因此編碼器還須執(zhí)行以下3個步驟①發(fā)送memory—management—control—operation標(biāo)志的值6;②發(fā)送long_term_frame_idx的值0;③發(fā)送0,通知角牟碼器memory—management—control—operation結(jié)束。S105:結(jié)束。限于篇幅,此處只能描述實現(xiàn)本發(fā)明視頻壓縮方法的具體步驟,上述各標(biāo)志都屬于自適應(yīng)內(nèi)存控制命令,其具體含義在H.264官方標(biāo)準(zhǔn)《RecommendationH.264:Advancedvideocodingforgenericaudiovisimlservices》的8.2.5小節(jié),《已角牟碼參考圖像標(biāo)記過禾呈(Decodedreferencepicturemarkingprocess)》一文中有詳細(xì)的描述,實現(xiàn)者可以自行參考。綜上所述,通過將背景設(shè)定為長期參考幀,前景設(shè)定為短期參考幀,就可以在H.264標(biāo)準(zhǔn)的框架之內(nèi)實現(xiàn)本發(fā)明的視頻壓縮方法。顯然,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,利用AVS標(biāo)準(zhǔn)所支持的多參考幀機(jī)制,采用上述方法也可以實現(xiàn)本發(fā)明的視頻壓縮方法。本發(fā)明所述的視頻壓縮方法特別適合于攝像機(jī)位置不變的視頻應(yīng)用,在這類應(yīng)用中,與其他一遍編碼的方案相比較,在同等目標(biāo)碼率情況下,本方法的圖像質(zhì)量更高。在對比實驗中,選擇業(yè)界的主流H.264標(biāo)準(zhǔn)編碼器X264來代表傳統(tǒng)方法,而本發(fā)明所述的視頻壓縮方法則命名為SWATAW。表1給出了實驗結(jié)果在不同的碼率控制條件下,對典型的背景不變的視頻流paris(1065幀)分別用X264和SWATAW進(jìn)行壓縮,從壓縮后文件的大小和峰值信噪比(PSNR)兩方面的情況不難看出,在圖像質(zhì)量相近時,SWATAW的壓縮比更高,例如,碼率為20kbps時,用X264和SWATAW壓縮得到的文件大小分別為84.9和84.1;碼率為80kbps時,用X264和SWATAW壓縮得到的文件大小分別為411KB和405KB,可見,SWATAW方法得到的壓縮比更高。而在相同的碼率下,SWATAW的圖像質(zhì)量更高;并且,這種優(yōu)勢隨著目標(biāo)碼率的降低而越發(fā)明顯。表1X264/SWATAW算法對比實驗數(shù)據(jù)表<table>tableseeoriginaldocumentpage8</column></row><table>本發(fā)明所述的視頻壓縮方法的另一個優(yōu)點是易于實現(xiàn),因為編碼器只需根據(jù)前文所述作相應(yīng)的調(diào)整,而解碼器則完全不需做任何修改,就可以正確解碼用本發(fā)明方法壓縮出來的視頻流。以上所述僅為本發(fā)明的優(yōu)選實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求一種視頻壓縮方法,其特征在于,包括下列步驟A.將不同視頻幀中變化小于或等于預(yù)定閾值的場景定義為背景,而將變化大于預(yù)定閾值的場景定義為前景;或者,將不同視頻幀中變化小于預(yù)定閾值的場景定義為背景,而將變化大于或等于預(yù)定閾值的場景定義為前景;B.利用H.264或AVS視頻壓縮標(biāo)準(zhǔn)的多參考幀機(jī)制,對背景和前景采用不同的參考幀進(jìn)行編解碼對背景用高質(zhì)量參考幀進(jìn)行編解碼,對前景用普通參考幀進(jìn)行編解碼。2.根據(jù)權(quán)利要求1所述的視頻壓縮方法,其特征在于,所述步驟B中,包括下列步驟Bl.用編碼器確定參考幀類型長期參考幀或短期參考幀;B2.同步解碼操作將確定后的參考幀類型通知給解碼器,使解碼器重建參考幀列表0;B3.編碼器通過針對高質(zhì)量參考幀和低質(zhì)量參考幀發(fā)送不同的自適應(yīng)內(nèi)存控制命令來同步解碼器的操作;B4.結(jié)束。3.根據(jù)權(quán)利要求2所述的視頻壓縮方法,其特征在于,所述步驟B3中,所述發(fā)送不同的自適應(yīng)內(nèi)存控制命令如下對于I幀如果是短期參考幀,將1ong—term—reference—flag標(biāo)志的值置為0;如果是長期參考幀,將1ong—term—reference—flag標(biāo)志的值置為1;對于P幀如果是短期參考幀,將ad即tive—ref—picjnarkingjiiode—flag標(biāo)志的值置為0;如果是長期參考幀,將ad即tive—ref—picjnarkingjiiode—flag標(biāo)志的值置為1。4.根據(jù)權(quán)利要求3所述的視頻壓縮方法,其特征在于,對于P幀,將adaptiVe_ref_picjnarkingjiiode—flag標(biāo)志的值置為1后,還包括進(jìn)行以下步驟①發(fā)送memory—management—control—operation標(biāo)志的值6;②發(fā)送long_term_frame_idx的值0;③發(fā)送O,通知角牟石馬器memory—management—control—operation結(jié)束。5.根據(jù)權(quán)利要求2所述的視頻壓縮方法,其特征在于,所述短期參考幀預(yù)測其后面的5幀視頻幀,所述長期參考幀預(yù)測后繼的5幀以上的多幀視頻幀。全文摘要本發(fā)明涉及一種視頻壓縮方法,包括下列步驟A.將不同視頻幀中變化小于或等于預(yù)定閾值的場景定義為背景,而將變化大于預(yù)定閾值的場景則定義為前景;或者,將不同視頻幀中變化小于預(yù)定閾值的場景定義為背景,而將變化大于或等于預(yù)定閾值的場景定義為前景;B.利用H.264或AVS視頻壓縮標(biāo)準(zhǔn)的多參考幀機(jī)制,對背景和前景采用不同的參考幀進(jìn)行編解碼對背景用高質(zhì)量參考幀進(jìn)行編解碼,對前景用普通參考幀進(jìn)行編解碼。本發(fā)明的視頻壓縮方法,特別適合于攝像機(jī)位置不變的視頻應(yīng)用,在同等目標(biāo)碼率情況下,用本方法得到的圖像質(zhì)量更高;只需對現(xiàn)有的編碼器作相應(yīng)的調(diào)整,對現(xiàn)有的解碼器不需做任何修改,因此還具有易于實現(xiàn)的優(yōu)點。文檔編號H04N7/32GK101729902SQ20081021685公開日2010年6月9日申請日期2008年10月15日優(yōu)先權(quán)日2008年10月15日發(fā)明者曾嘉亮,鐘似玢申請人:深圳市融創(chuàng)天下科技發(fā)展有限公司