天天看點

碼率控制技術原理

引起編碼器的輸出比特碼率波動的原因主要有兩個。首先,數字視訊信号中包含了大量的時域和空域備援,編碼器的主要任務就是去除這些備援。由于時間備援和空間備援是随機的,進而造成編碼器輸出比特率波動。另一個原因是變長編碼,變長編碼根據某個事件(如零遊程)的發生機率來設計碼字。事件發生的機率越大,其編碼碼字越短,反之亦然,進而引起編碼器輸出比特率的變化。由于視訊應用的要求和目的不同,根據輸出碼率是否要求恒定,傳輸碼流的信道可分為兩種類型,即可變比特率的碼率控制VBR(Variable Bit Rate)和恒定比特率的碼率控制CBR(Constant Bit Rate)。在變比特率信道下,可以為更高的運動量或更詳細的紋理資訊配置設定更多的帶寬,進而獲得更高效的帶寬共享,有利于獲得恒定圖像品質,同時有利于動态配置設定可用帶寬。這種動态帶寬配置設定需要一種碼率控制機制,可以根據時變網絡條件和需求,調整并限定各視訊源的輸出業務量。

        然而,諸如公共交換電話網絡PSTN(Public Switched TelephoneNetwork)固定帶寬信道卻常用固定比特率傳送資訊。為了獲得固定速率的視訊比特流傳輸,在視訊編碼器和信道間采用了緩沖器來平滑比特率的波動。緩沖器的引入雖然有利于平滑碼流,然而,它也引入了一定的延遲。同時,在很多視訊序列中,比特率波動會持續幾幀,進而需要一個大緩沖器來緩沖長時間的波動。這種長時緩沖使得視訊業務不能達到實時傳輸,是以,除了緩沖視訊資料,需要采用其他措施來減少編碼器的突發量。最常用的技術是調整一些編碼參數作為緩沖器飽和度的函數,如回報控制。

        碼率控制中的性能名額有碼率、緩沖延時、緩沖區狀态等。在碼率控制系統中,校正裝置為碼率控制器。它負責收集碼率、延時和緩沖區狀态資訊并調節編碼參數,使得性能名額維持在給定水準上。緩沖區起平滑碼率波動的作用。在編碼端,資料輸入緩沖區的碼率是變化的,而輸出端則取決于碼率控制模式。在恒定碼率模式下,輸出碼率維持不變;在可變碼率模式下,輸出碼率允許在一定的範圍内波動。理論上講,當緩沖區無限大時,延時長短和緩沖區大小成正比。對實時視訊通信系統而言,延時要求比較苛刻,延時越小越好。這就是說長期的碼率波動不能通過加大緩沖區的方式消除。

        由于傳輸帶寬和存儲空間的限制,視訊應用對壓縮比有較高的要求。無損編碼所能提供的壓縮比遠不能滿足實際視訊應用的需求,但如果我們能夠接受某種程度的失真,高的壓縮比也不難獲得。人眼視覺系統對高頻信号變化不敏感,部分高頻資訊丢失不會降低主觀視訊品質,主流的視訊編碼算法正是采用了量化方法消除視訊信号的生理視覺備援,獲得比無損壓縮更高的壓縮比而又不會帶來視訊品質的顯著降低。率失真(RateDistortion理論旨在描述編碼失真度(Distortion,重構誤差)和編碼資料速率的關系。該理論建立在圖像是連續的基礎上,在有限資料速率下,由于存在量化誤差,必然存在失真。盡管率失真理論沒有給出最優編碼器,但它還是給出了容許失真條件下資訊壓縮允許的下界。當使用有損編碼方法時,重構圖像g(x,y)和原始圖像f(x,y)存在差别。一般地,失真度D函數形式可以根據需要任意選取,例如平方代價函數、絕對代價函數等。在圖像編碼中,D常用均方差形式表示:

碼率控制技術原理

        當D=O時,編碼對應于無損壓縮,輸入碼率應大于或等于信源熵H(X);若D一為最大允許失真,則相應碼率下限為R(D一)。典型的率失真曲線R—D如圖3.1所示。R(D’)為D’的凸遞減函數。

碼率控制技術原理

        率失真優化主要用于模式選擇。在H.264視訊标準中,有以下幾種模式:INTRA.4x4,INTRA.16x16,SKIP,INTER—16×16,INTER.16×8,INTER.8×16,INTER.8×8。

假設圖像序列S被分割為K個不同的塊4,相應的像素用6t來表示。編碼6t所選擇的編碼模式%分為幀間編碼和幀内編碼。每種編碼模式都包括預測編碼的模式和編碼參數。其中編碼參數包括變換系數和量化參數等。對于幀間模式,編碼參數還包括一個或多個運動矢量。

    在對圖像序列S進行基于塊的混和視訊編碼時,對于每塊選取的編碼模式應該使編碼後的Lagrange代價函數J(S,II九)達到最小。編碼後比特流的比特率和失真度與時間和空間有着密切聯系,而不僅僅是和編碼模式有關,但當且僅當為每個塊Sk所標明的編碼模式使得代價函數J(S,IIX)最小時,編碼器得到最優化。

    編碼控制模式中,宏塊分割模式的判決與幀間模式運動估計的最佳比特配置設定這兩個問題将會被分别處理。在Lagrange參數A'MODE與量化參數標明後,H.264/AVC編碼器通過最小化Lagrange代價函數實作對每一個宏塊編碼模式的標明。對于宏塊St,模式Ik,拉格朗日模型選擇公式為:

碼率控制技術原理

對于INTRA模式,失真是重建宏塊s與原始宏塊s的平方差(SSD),按下式計算:

碼率控制技術原理

        對于SKIP模式,DReC禾RReC不取決于目前量化參數的值,DReC由目前宏塊與參考以前幀的宏塊的SSD計算得到,RREC約為1bit/宏塊。對于INTER模式,它的拉格朗日代價函數計算較為複雜,這是由于多種塊模式和多參考幀的運動估計。給定拉格朗日常數.t,MOTION,宏塊Si拉格朗日代價函數

如下式:

碼率控制技術原理

其中,M為所有可能的編碼模式,失真按下式計算:

碼率控制技術原理