專利名稱:一種碼率控制方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字圖像處理領(lǐng)域,特別涉及視頻壓縮中的碼率控制方法及裝置。背景技術(shù):
碼率控制技術(shù)是影響視頻編碼器編碼效率的關(guān)鍵因素之一,其主要任務(wù)就是有效地控制視頻編碼器,使其輸出碼流的大小滿足傳輸信道實(shí)際帶寬的限制,并且盡可能獲得最優(yōu)的解碼圖像。鑒于碼率控制技術(shù)的重要性,它一直是視頻編碼技術(shù)研究領(lǐng)域中的熱點(diǎn)問題,目前比較知名的算法主要有國際標(biāo)準(zhǔn)化組織(ISO)、國際電工委員會(huì)(IEC)和國際電信聯(lián)盟(ITU)制定的TML5、TMN8和H. 264為代表的碼率控制算法。碼率控制算法的主要功能大概可分解為兩個(gè)步驟,第一步就是所謂的“碼位分配 (Bit Allocation)”,即把有限的帶寬分配到圖像組(GOP)、幀以及宏塊等圖像單位上,所述每個(gè)圖像組包括若干幀,每幀圖像又包括若干個(gè)宏塊;第二步就是計(jì)算量化參數(shù)(QP),以使實(shí)際輸出碼率和目標(biāo)碼率基本一致。碼率控制優(yōu)化算法的設(shè)計(jì)目標(biāo)就是要實(shí)現(xiàn)位優(yōu)化分配以及輸出碼率的精確控制。其關(guān)鍵在于通過何種標(biāo)準(zhǔn)來進(jìn)行碼位分配和設(shè)定量化參數(shù)。其中第一步碼位分配時(shí)通常都是采用宏塊級碼率控制方法,即按照幀為單位分配碼位;而在第二步計(jì)算量化參數(shù)時(shí),為了克服傳統(tǒng)的TML5和TMN8碼率控制算法在宏塊級上的不足,現(xiàn)有技術(shù)中已經(jīng)有宏塊級的碼率控制算法,并且可以準(zhǔn)確地將一幀視頻幀的編碼碼位控制到預(yù)期范圍內(nèi),但是其通常只簡單設(shè)定每個(gè)宏塊的預(yù)期碼位數(shù)目是相同的,所以只能在一定程度上提高視頻幀的客觀編碼質(zhì)量。應(yīng)當(dāng)認(rèn)識到,視頻幀中的每個(gè)宏塊的殘差紋理信息都是不同的,因此如果假定每個(gè)宏塊的預(yù)期碼位數(shù)目是相同的,那么對殘差信息較多的宏塊就會(huì)賦予較大的QP,這樣就不能充分顯示該類宏塊的細(xì)節(jié)信息,就會(huì)影響該視頻幀的整體畫質(zhì)。另外,已有的宏塊級碼率控制算法的各個(gè)步驟都是需要大量的計(jì)算,甚至有些算法會(huì)是基于精確的率失真數(shù)學(xué)模型(RD0,rate distortion optimization),所需要計(jì)算量之大是嵌入式無線視頻傳輸系統(tǒng)等應(yīng)用環(huán)境中很難滿足的,因此有必要盡可能的降低宏塊級碼率控制算法的復(fù)雜度,并且能靈活地為視頻幀的不同類型的宏塊分配合適數(shù)量的碼位。因此,有必要提出一種新的碼率控制算法來解決上述方案的缺點(diǎn)。
發(fā)明內(nèi)容本部分的目的在于概述本發(fā)明的實(shí)施例的一些方面以及簡要介紹一些較佳實(shí)施例。在本部分以及本申請的說明書摘要和發(fā)明名稱中可能會(huì)做些簡化或省略以避免使本部分、說明書摘要和發(fā)明名稱的目的模糊,而這種簡化或省略不能用于限制本發(fā)明的范圍。本發(fā)明的目的在于提供一種碼率控制方法及裝置,通過評估宏塊的復(fù)雜度偏差來為一幀圖像中的每個(gè)宏塊分配合適數(shù)量碼位。為了達(dá)到本發(fā)明的目的,根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明提供一種碼率控制方法, 所述方法包括計(jì)算當(dāng)前宏塊與所在視頻幀的復(fù)雜度偏差;根據(jù)所述復(fù)雜度偏差來進(jìn)行當(dāng)前宏塊的碼位分配;和根據(jù)當(dāng)前宏塊的碼位分配確定當(dāng)前宏塊的量化系數(shù)。進(jìn)一步地,所述當(dāng)前宏塊與所在視頻幀的復(fù)雜度偏差為當(dāng)前宏塊的絕對誤差和與所在視頻幀的絕對誤差和的商。進(jìn)一步地,所述所在視頻幀的絕對誤差和是該幀中所有宏塊的絕對誤差和的總和。進(jìn)一步地,所述根據(jù)所述復(fù)雜度偏差來進(jìn)行當(dāng)前宏塊的碼位分配是指將所述復(fù)雜度偏差與當(dāng)前幀的所有可用碼位的乘積作為該宏塊的碼位分配值。進(jìn)一步地,所述根據(jù)當(dāng)前宏塊的碼位分配確定當(dāng)前宏塊的量化系數(shù)是指根據(jù)當(dāng)前宏塊的碼位分配與所在視頻幀每個(gè)宏塊的平均碼位分配值比較結(jié)果來確定該宏塊的量化系數(shù)。進(jìn)一步地,所述確定該宏塊的量化系數(shù)的方法是
「風(fēng),+2 bt< P^beven
QP1A QPmt βοχ
QPm,-1 a Owbeven [QPm-^ OCl^beven ^bl其中,QP為當(dāng)前宏塊的量化系數(shù),QPini為當(dāng)前宏塊所在幀的初始量化系數(shù),h為當(dāng)前宏塊的碼位分配,beven為該幀視頻幀每個(gè)宏塊的平均碼位分配值,α、α ρ β和β i預(yù)設(shè)參數(shù),其中α、α ρ β禾Π β工都為大于0小于2的有限小數(shù)。進(jìn)一步地,采用本發(fā)明所述方法的最初一幀視頻幀中的宏塊采用初始量化參數(shù)進(jìn)行編碼。根據(jù)本發(fā)明的另一方面,本發(fā)明提供一種碼率控制裝置,所述裝置包括復(fù)雜度偏差計(jì)算模塊,計(jì)算當(dāng)前宏塊與所在視頻幀的復(fù)雜度偏差;碼位分配模塊,將所述復(fù)雜度偏差與當(dāng)前幀的所有可用碼位的乘積作為該宏塊的碼位分配值;和量化系數(shù)確定模塊,根據(jù)當(dāng)前宏塊的碼位分配確定當(dāng)前宏塊的量化系數(shù)。進(jìn)一步地,所述復(fù)雜度偏差計(jì)算模塊還包括當(dāng)前宏塊絕對誤差和計(jì)算單元,將當(dāng)前宏塊的每個(gè)像素的亮度分量預(yù)測殘差相加得到當(dāng)前宏塊的絕對誤差和;當(dāng)前幀絕對誤差和計(jì)算單元,將當(dāng)前幀的每個(gè)宏塊的絕對誤差和相加得到當(dāng)前幀的絕對誤差和;和復(fù)雜度偏差計(jì)算子單元,將當(dāng)前宏塊的絕對誤差和與所在視頻幀的絕對誤差和的商作為當(dāng)前宏塊的復(fù)雜度偏差。進(jìn)一步地,所述量化系數(shù)確定模塊還包括平均碼位估計(jì)單元,計(jì)算單元宏塊所在視頻幀每個(gè)宏塊的平均碼位分配值;和量化系數(shù)確定子單元,根據(jù)當(dāng)前宏塊的碼位分配值與所在視頻幀每個(gè)宏塊的平均碼位分配值比較來確定該宏塊的量化系數(shù)。進(jìn)一步地,所述量化系數(shù)確定子單元確定該宏塊的量化系數(shù)的方法是
權(quán)利要求
1.一種碼率控制方法,其特征在于,其包括計(jì)算當(dāng)前宏塊與所在視頻幀的復(fù)雜度偏差;根據(jù)所述復(fù)雜度偏差來進(jìn)行當(dāng)前宏塊的碼位分配;和根據(jù)當(dāng)前宏塊的碼位分配確定當(dāng)前宏塊的量化系數(shù)。
2.根據(jù)權(quán)利要求1所述的碼率控制方法,其特征在于,所述當(dāng)前宏塊與所在視頻幀的復(fù)雜度偏差為當(dāng)前宏塊的絕對誤差和與所在視頻幀的絕對誤差和的商。
3.根據(jù)權(quán)利要求2所述的碼率控制方法,其特征在于,所述所在視頻幀的絕對誤差和是該幀中所有宏塊的絕對誤差和的總和。
4.根據(jù)權(quán)利要求1所述的碼率控制方法,其特征在于,所述根據(jù)所述復(fù)雜度偏差來進(jìn)行當(dāng)前宏塊的碼位分配是指將所述復(fù)雜度偏差與當(dāng)前幀的所有可用碼位的乘積作為該宏塊的碼位分配值。
5.根據(jù)權(quán)利要求1所述的碼率控制方法,其特征在于,所述根據(jù)當(dāng)前宏塊的碼位分配確定當(dāng)前宏塊的量化系數(shù)是指根據(jù)當(dāng)前宏塊的碼位分配與所在視頻幀每個(gè)宏塊的平均碼位分配值比較結(jié)果來確定該宏塊的量化系數(shù)。
6.根據(jù)權(quán)利要求5所述的碼率控制方法,其特征在于,所述確定該宏塊的量化系數(shù)的方法是饑+2b,KenQPim^* Ken^ bi ^ β mKenQPimtKen ^b, ^ amKenQPm-^α·Ken ^ ^ ^ aX mKvenQPmi-2 ιΟ,其中,QP為當(dāng)前宏塊的量化系數(shù),QPini為當(dāng)前宏塊所在幀的初始量化系數(shù),h為當(dāng)前宏塊的碼位分配,beven為該幀視頻幀每個(gè)宏塊的平均碼位分配值,α、α ρ β和β工預(yù)設(shè)參數(shù),其中α、αι、β和β工都為大于0小于2的有限小數(shù)。
7.根據(jù)權(quán)利要求1所述的碼率控制方法,其特征在于,所述方法的最初一幀視頻幀中的宏塊采用初始量化參數(shù)進(jìn)行編碼。
8 —種碼率控制裝置,其特征在于,其包括復(fù)雜度偏差計(jì)算模塊,計(jì)算當(dāng)前宏塊與所在視頻幀的復(fù)雜度偏差; 碼位分配模塊,將所述復(fù)雜度偏差與當(dāng)前幀的所有可用碼位的乘積作為該宏塊的碼位分配值;和量化系數(shù)確定模塊,根據(jù)當(dāng)前宏塊的碼位分配確定當(dāng)前宏塊的量化系數(shù)。
9.根據(jù)權(quán)利要求8所述的碼率控制裝置,其特征在于,所述復(fù)雜度偏差計(jì)算模塊還包括當(dāng)前宏塊絕對誤差和計(jì)算單元,將當(dāng)前宏塊的每個(gè)像素的亮度分量預(yù)測殘差相加得到當(dāng)前宏塊的絕對誤差和;當(dāng)前幀絕對誤差和計(jì)算單元,將當(dāng)前幀的每個(gè)宏塊的絕對誤差和相加得到當(dāng)前幀的絕對誤差和;和復(fù)雜度偏差計(jì)算子單元,將當(dāng)前宏塊的絕對誤差和與所在視頻幀的絕對誤差和的商作為當(dāng)前宏塊的復(fù)雜度偏差。
10.根據(jù)權(quán)利要求8所述的碼率控制裝置,其特征在于,所述量化系數(shù)確定模塊還包括平均碼位估計(jì)單元,計(jì)算單元宏塊所在視頻幀每個(gè)宏塊的平均碼位分配值;和量化系數(shù)確定子單元,根據(jù)當(dāng)前宏塊的碼位分配值與所在視頻幀每個(gè)宏塊的平均碼位分配值比較來確定該宏塊的量化系數(shù)。
11.根據(jù)權(quán)利要求10所述的碼率控制裝置,其特征在于,所述量化系數(shù)確定子單元確定該宏塊的量化系數(shù)的方法是 IQPini QPim^ QPm
全文摘要
本發(fā)明揭露了一種碼率控制方法及裝置,所述方法包括計(jì)算當(dāng)前宏塊與所在視頻幀的復(fù)雜度偏差;根據(jù)所述復(fù)雜度偏差來進(jìn)行當(dāng)前宏塊的碼位分配;和根據(jù)當(dāng)前宏塊的碼位分配確定當(dāng)前宏塊的量化系數(shù)。與現(xiàn)有技術(shù)相比,本發(fā)明不是一幀視頻幀的碼位除以該幀視頻幀內(nèi)的宏塊數(shù)來簡單的為宏塊分配碼位,而是通過評估各個(gè)宏塊的復(fù)雜度偏差來分別分配碼位,這樣可以使擁有較復(fù)雜的宏塊獲得更多的碼位,使視頻圖像質(zhì)量較好而且穩(wěn)定;同時(shí)本發(fā)明中評估宏塊的復(fù)雜度偏差的方法簡單有效,在降低運(yùn)算復(fù)雜度的同時(shí)保證了有效性。
文檔編號H04N7/26GK102231825SQ20101021352
公開日2011年11月2日 申請日期2010年6月30日 優(yōu)先權(quán)日2010年6月30日
發(fā)明者陳玉 申請人:無錫中星微電子有限公司