引起編碼器的輸出比特碼率波動(dòng)的原因主要有兩個(gè)。首先,數(shù)字視頻信號(hào)中包含了大量的時(shí)域和空域冗余,編碼器的主要任務(wù)就是去除這些冗余。由于時(shí)間冗余和空間冗余是隨機(jī)的,從而造成編碼器輸出比特率波動(dòng)。另一個(gè)原因是變長(zhǎng)編碼,變長(zhǎng)編碼根據(jù)某個(gè)事件(如零游程)的發(fā)生概率來設(shè)計(jì)碼字。事件發(fā)生的概率越大,其編碼碼字越短,反之亦然,從而引起編碼器輸出比特率的變化。由于視頻應(yīng)用的要求和目的不同,根據(jù)輸出碼率是否要求恒定,傳輸碼流的信道可分為兩種類型,即可變比特率的碼率控制VBR(Variable Bit Rate)和恒定比特率的碼率控制CBR(Constant Bit Rate)。在變比特率信道下,可以為更高的運(yùn)動(dòng)量或更詳細(xì)的紋理信息分配更多的帶寬,從而獲得更高效的帶寬共享,有利于獲得恒定圖像質(zhì)量,同時(shí)有利于動(dòng)態(tài)分配可用帶寬。這種動(dòng)態(tài)帶寬分配需要一種碼率控制機(jī)制,可以根據(jù)時(shí)變網(wǎng)絡(luò)條件和需求,調(diào)整并限定各視頻源的輸出業(yè)務(wù)量。 碼率控制中的性能指標(biāo)有碼率、緩沖延時(shí)、緩沖區(qū)狀態(tài)等。在碼率控制系統(tǒng)中,校正裝置為碼率控制器。它負(fù)責(zé)收集碼率、延時(shí)和緩沖區(qū)狀態(tài)信息并調(diào)節(jié)編碼參數(shù),使得性能指標(biāo)維持在給定水平上。緩沖區(qū)起平滑碼率波動(dòng)的作用。在編碼端,數(shù)據(jù)輸入緩沖區(qū)的碼率是變化的,而輸出端則取決于碼率控制模式。在恒定碼率模式下,輸出碼率維持不變;在可變碼率模式下,輸出碼率允許在一定的范圍內(nèi)波動(dòng)。理論上講,當(dāng)緩沖區(qū)無限大時(shí),延時(shí)長(zhǎng)短和緩沖區(qū)大小成正比。對(duì)實(shí)時(shí)視頻通信系統(tǒng)而言,延時(shí)要求比較苛刻,延時(shí)越小越好。這就是說長(zhǎng)期的碼率波動(dòng)不能通過加大緩沖區(qū)的方式消除。 由于傳輸帶寬和存儲(chǔ)空間的限制,視頻應(yīng)用對(duì)壓縮比有較高的要求。無損編碼所能提供的壓縮比遠(yuǎn)不能滿足實(shí)際視頻應(yīng)用的需求,但如果我們能夠接受某種程度的失真,高的壓縮比也不難獲得。人眼視覺系統(tǒng)對(duì)高頻信號(hào)變化不敏感,部分高頻信息丟失不會(huì)降低主觀視頻質(zhì)量,主流的視頻編碼算法正是采用了量化方法消除視頻信號(hào)的生理視覺冗余,獲得比無損壓縮更高的壓縮比而又不會(huì)帶來視頻質(zhì)量的顯著降低。率失真(RateDistortion理論旨在描述編碼失真度(Distortion,重構(gòu)誤差)和編碼數(shù)據(jù)速率的關(guān)系。該理論建立在圖像是連續(xù)的基礎(chǔ)上,在有限數(shù)據(jù)速率下,由于存在量化誤差,必然存在失真。盡管率失真理論沒有給出最優(yōu)編碼器,但它還是給出了容許失真條件下信息壓縮允許的下界。當(dāng)使用有損編碼方法時(shí),重構(gòu)圖像g(x,y)和原始圖像f(x,y)存在差別。一般地,失真度D函數(shù)形式可以根據(jù)需要任意選取,例如平方代價(jià)函數(shù)、絕對(duì)代價(jià)函數(shù)等。在圖像編碼中,D常用均方差形式表示:
當(dāng)D=O時(shí),編碼對(duì)應(yīng)于無損壓縮,輸入碼率應(yīng)大于或等于信源熵H(X);若D一為最大允許失真,則相應(yīng)碼率下限為R(D一)。典型的率失真曲線R—D如圖3.1所示。R(D’)為D’的凸遞減函數(shù)。
率失真優(yōu)化主要用于模式選擇。在H.264視頻標(biāo)準(zhǔn)中,有以下幾種模式:INTRA.4x4,INTRA.16x16,SKIP,INTER—16×16,INTER.16×8,INTER.8×16,INTER.8×8。 在對(duì)圖像序列S進(jìn)行基于塊的混和視頻編碼時(shí),對(duì)于每塊選取的編碼模式應(yīng)該使編碼后的Lagrange代價(jià)函數(shù)J(S,II九)達(dá)到最小。編碼后比特流的比特率和失真度與時(shí)間和空間有著密切聯(lián)系,而不僅僅是和編碼模式有關(guān),但當(dāng)且僅當(dāng)為每個(gè)塊Sk所選定的編碼模式使得代價(jià)函數(shù)J(S,IIX)最小時(shí),編碼器得到最優(yōu)化。 對(duì)于INTRA模式,失真是重建宏塊s與原始宏塊s的平方差(SSD),按下式計(jì)算:
對(duì)于SKIP模式,DReC禾RReC不取決于當(dāng)前量化參數(shù)的值,DReC由當(dāng)前宏塊與參考以前幀的宏塊的SSD計(jì)算得到,RREC約為1bit/宏塊。對(duì)于INTER模式,它的拉格朗日代價(jià)函數(shù)計(jì)算較為復(fù)雜,這是由于多種塊模式和多參考幀的運(yùn)動(dòng)估計(jì)。給定拉格朗日常數(shù).t,MOTION,宏塊Si拉格朗日代價(jià)函數(shù)
拉格朗日常數(shù)的選擇如下:
|
|