專利名稱:利用初始量化位階預(yù)估的動(dòng)態(tài)影像壓縮位元率控制方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)于數(shù)據(jù)壓縮的領(lǐng)域,特別指一種適用于視訊編碼系統(tǒng)以估計(jì)的初始量化位階執(zhí)行位元率控制的方法及裝置。
背景技術(shù):
眾所周知,電子通訊世界正經(jīng)歷一次數(shù)字革命,以數(shù)字表示信息的主要優(yōu)點(diǎn)在于能夠幾近無(wú)誤地儲(chǔ)存、再生、傳收、處理及運(yùn)用的數(shù)據(jù)比特流(bitstream)。舉例而言,NTSC的彩色視訊影像每秒有29.97張畫面,每張畫面約480條可見掃瞄線,每條掃瞄線約需480點(diǎn)以紅、綠、藍(lán)三色呈現(xiàn)的像素(pixel),但若每種色彩成分以8位編碼,則所產(chǎn)生的位率(bitrate)每秒約168兆位(Mbits/s),故各種視訊格式其未經(jīng)壓縮處理的位率是非常高而不經(jīng)濟(jì),因此不適于多數(shù)的應(yīng)用。
與計(jì)算機(jī)、電信網(wǎng)絡(luò)、消費(fèi)性產(chǎn)品整合的數(shù)字音訊和視訊,更加刺激信息革命的前進(jìn),而這革命的核心則是視、音訊的數(shù)字壓縮技術(shù)。許多的壓縮標(biāo)準(zhǔn),包含以壓縮技術(shù)共通的精髓為基礎(chǔ)的算法,如ITU-T(前身為CCITT)建議書H.261和H.263,以及ISO/IEC的MPEG-1、MPEG-2和MPEG-4標(biāo)準(zhǔn)。MPEG的算法是由動(dòng)態(tài)影像專家群組(Moving Picture Experts Group,MPEG)所發(fā)展出來(lái),該動(dòng)態(tài)影像專家群組為國(guó)際標(biāo)準(zhǔn)組織(International Standards Organization,ISO)及國(guó)際電子技術(shù)委員會(huì)(International Electrotechnical Commission,IEC)的聯(lián)合技術(shù)委員會(huì),致力于發(fā)展視、音訊的壓縮及多路傳殊的表現(xiàn)方式,這些標(biāo)準(zhǔn)規(guī)定了壓縮比特流的語(yǔ)法(syntax)以及譯碼的方法,但對(duì)于編碼器所使用的算法而言,卻為編碼的新穎性與多樣性保留了相當(dāng)多的自由度。
根據(jù)MPEG,一連串的視訊畫面(picture)分成一序列的畫面群組(group ofpicture,GOP),其中每組GOP以I-畫面開始,后面跟著P-畫面和B-畫面的安排,圖1以顯示的順序說明一組典型的GOP。I-畫面的編碼毋須參考先前或?qū)?lái)的畫面,P-畫面則參考連串的視訊畫面中在時(shí)間上最接近的I-畫面或P-畫面來(lái)進(jìn)行編碼,而B-畫面散布于I-畫面和P-畫面之間。并且利用先前的、將來(lái)的或兩者兼具的緊鄰I-畫面和P-畫面來(lái)編碼。雖然好幾張B-畫面可以緊接著連續(xù)出現(xiàn),但絕不能以B-畫面預(yù)估其它的畫面。
每張畫面具有三種成分亮度值(luminance,以Y表示),紅色差值(redcolor difference,以Cr表示),以及藍(lán)色差值(blue color difference,以Cb表示)。對(duì)于MPEG的4:2:0的格式而言,每一種Cr和Cb成分的取樣點(diǎn)在水平與垂直方向只有Y成分的一半。如圖2所示,一張MPEG的畫面其基本構(gòu)成方塊為大區(qū)塊(macroblock,以MB表示)。以4:2:0的視訊為例,每個(gè)MB包含一個(gè)Y成分16×16取樣點(diǎn)的數(shù)組,以及兩個(gè)Cr和Cb成分8×8取樣點(diǎn)的區(qū)塊,其中Y成分16×16取樣點(diǎn)的數(shù)組實(shí)際上由4個(gè)8×8取樣點(diǎn)的區(qū)塊所組成。
編碼器的作用在于決定何種畫面編碼型態(tài)以及何種預(yù)測(cè)模式為最佳。對(duì)每張I-畫面,MB中的每個(gè)8×8方塊均經(jīng)過離散余弦轉(zhuǎn)換(discrete cosinetransform,DCT)而形成8×8轉(zhuǎn)換系數(shù)數(shù)組,轉(zhuǎn)換系數(shù)接著以一量化矩陣進(jìn)行量化,然后用Z字形(zig-zag)掃瞄DCT系數(shù)的量化結(jié)果而得到一連串的DCT系數(shù),并且此DCT系數(shù)序列以可變長(zhǎng)度碼(variable length code,VLC)進(jìn)行編碼。P-畫面必須決定將每個(gè)MB以I型MB或P型MB進(jìn)行編碼,I型MB的編碼以上述的方式為之,而對(duì)于每個(gè)P型MB,則需得到該MB以先前畫面所做的預(yù)測(cè),此預(yù)測(cè)由一種移動(dòng)向量(motion vector)獲得,移動(dòng)向量象征著目前畫面中即將編碼的MB及其在先前畫面中的預(yù)估MB之間的變動(dòng),預(yù)估MB與目前MB間的預(yù)測(cè)誤差則以DCT、量化、Z字形掃瞄以及VLC進(jìn)行編碼。
處理B-畫面時(shí),必須決定以下列何種MB模式來(lái)編碼每個(gè)MBI模式、F模式、B模式以及FB模式。I模式以MB本身而不借助移動(dòng)補(bǔ)償來(lái)編碼(如I型MB一般);F模式為單向的向前預(yù)測(cè)編碼,以先前畫面得到移動(dòng)補(bǔ)償?shù)念A(yù)估(如P型MB一般);反之,B模式為單向的向后預(yù)測(cè)編碼,以后來(lái)的畫面得到移動(dòng)補(bǔ)償?shù)念A(yù)估。特別的是FB模式,其為雙向的預(yù)測(cè)編碼,運(yùn)用向前的和向后的移動(dòng)補(bǔ)償預(yù)估兩者來(lái)做內(nèi)插(interpolation)而得到FB模式的移動(dòng)補(bǔ)償預(yù)估。對(duì)F、B和FB模式而言,預(yù)測(cè)誤差可以使用DCT、量化、Z字形掃瞄以及VLC進(jìn)行編碼。
視訊編碼器很重要的一點(diǎn)即為位元率的控制。位元率控制的主要目的為很有智能地分配編碼每張畫面及其中每個(gè)MB所用的位元數(shù),使編碼過的視訊于譯碼器進(jìn)行譯碼時(shí),能盡可能的提高編碼視訊的視覺品質(zhì)。編碼器必須為整張畫面選取量化位階以便在給定的位元率下控制可見的失真,然而,以選取的量化位階編碼一張畫面所用的實(shí)際位元數(shù),必然是在實(shí)際編碼之后才會(huì)得知,現(xiàn)實(shí)中并不存在一個(gè)逆轉(zhuǎn)函數(shù),能夠在給定希望達(dá)到的量化位階下,決定一張畫面所用的實(shí)際位元數(shù)。MPEG的關(guān)鍵特征則采用適應(yīng)性(或是可變的)量化方式,這種技術(shù)允許每張畫面中的不同區(qū)域以不同的程度編碼,而使每張畫面內(nèi)及不同的畫面間達(dá)到平均一致的視覺品質(zhì)。不過,傳統(tǒng)的位元率控制方法卻相當(dāng)復(fù)雜,通常需進(jìn)行好幾次才能完成視訊編碼的處理,除此之外,先前的技術(shù)欠缺一種適應(yīng)性量化方式可以運(yùn)用的簡(jiǎn)單機(jī)制,用于設(shè)定初始量化位階而讓畫面品質(zhì)更為平均。
發(fā)明內(nèi)容
本發(fā)明提供一種利用初始量化位階預(yù)估的動(dòng)態(tài)影像壓縮位元率控制技術(shù),可用于單次、實(shí)時(shí)的視訊編碼器,再者,亦期待能提供一種位元率控制方法及裝置,于畫面層級(jí)利用估計(jì)的初始量化位階來(lái)進(jìn)行位元分配壓縮動(dòng)態(tài)影像。
根據(jù)本發(fā)明,每一張畫面其目標(biāo)位元的分配,基于先前畫面的編碼結(jié)果和對(duì)即將被編碼的目前畫面其預(yù)先分析的活動(dòng)量,一旦目標(biāo)位元分配好之后,則平均量化位階的初始值也隨之決定。由目前畫面的預(yù)先分析的活動(dòng)量以及先前編碼畫面的實(shí)際復(fù)雜度間的關(guān)系,目前畫面的復(fù)雜度將能夠被估計(jì)而得,這種預(yù)估的目前畫面復(fù)雜度對(duì)視訊編碼器是非常有用的,可以更精確地分配目標(biāo)位元額度給每張畫面。再者,利用上述的平均量化位階初始值,視訊編碼器在既定的位元配額條件下,可輸出較佳的畫面品質(zhì)。
本發(fā)明針對(duì)于一種利用初始量化位階預(yù)估的動(dòng)態(tài)影像壓縮位元率控制方法。首先為一即將被編碼的目前畫面來(lái)計(jì)算其全活動(dòng)量,其中該目前畫面在一視訊序列的一組連續(xù)畫面之中;接著基于目前畫面的全活動(dòng)量以及這組連續(xù)畫面中同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比,估計(jì)目前畫面的復(fù)雜度,并且以目前畫面預(yù)估的復(fù)雜度更新本組連續(xù)畫面的瞬間復(fù)雜度;目前畫面的目標(biāo)位元額度的分配,依預(yù)估的復(fù)雜度以及瞬間復(fù)雜度而定;用來(lái)編碼目前畫面的平均量化位階初始值,則可根據(jù)目前畫面的全活動(dòng)量、目標(biāo)位元額度以及同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比來(lái)決定;因此,基于平均量化位階初始值,對(duì)視訊序列中的目前畫面進(jìn)行編碼。在目前畫面編碼之后,根據(jù)目前畫面的全活動(dòng)量、目前畫面的實(shí)際消耗位元數(shù)和目前畫面的平均量化位階,計(jì)算目前畫面其活動(dòng)量對(duì)復(fù)雜度之比,就這點(diǎn)而言,目前畫面的活動(dòng)量對(duì)復(fù)雜度之比與目前畫面的全活動(dòng)量成正比,而與目前畫面的實(shí)際消耗位元數(shù)以及平均量化位階成反比。
另一方面,本發(fā)明還揭露一種利用初始量化位階預(yù)估的動(dòng)態(tài)影像壓縮位元率控制裝置,包括一移動(dòng)估算單元、一復(fù)雜度估計(jì)器、一配額分派器、一量化位階估計(jì)器以及一參數(shù)更新器。移動(dòng)估算單元接收視訊序列里的一組連續(xù)畫面中即將被編碼的目前畫面,用來(lái)在執(zhí)行移動(dòng)估算的區(qū)塊匹配時(shí),計(jì)算此目前畫面的全活動(dòng)量?;谀壳爱嬅娴娜顒?dòng)量以及這組連續(xù)畫面中同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比,復(fù)雜度估計(jì)器可因此用來(lái)估計(jì)目前畫面的復(fù)雜度。以目前畫面預(yù)估的復(fù)雜度,配額分派器更新本組連續(xù)畫面的瞬間復(fù)雜度,且根據(jù)預(yù)估的復(fù)雜度以及瞬間復(fù)雜度,分配目標(biāo)位元額度給目前畫面。用來(lái)編碼目前畫面的平均量化位階初始值,則由量化位階估計(jì)器以目前畫面的全活動(dòng)量、目標(biāo)位元額度以及同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比為基礎(chǔ)來(lái)決定。而參數(shù)更新器根據(jù)目前畫面的全活動(dòng)量、目前畫面的實(shí)際消耗位元數(shù)和目前畫面的平均量化位階,計(jì)算目前畫面其活動(dòng)量對(duì)復(fù)雜度之比,其中,目前畫面的活動(dòng)量對(duì)復(fù)雜度之比與目前畫面的全活動(dòng)量成正比,而與目前畫面的實(shí)際消耗位元數(shù)以及平均量化位階成反比。
圖1以顯示的順序呈現(xiàn)典型的畫面群組(GOP);圖2為MPEG的大區(qū)塊;圖3為本發(fā)明較佳實(shí)施例的位元率控制裝置的方塊示意圖;以及圖4為本發(fā)明的操作流程圖。
圖號(hào)說明300 動(dòng)態(tài)影像視訊編碼器310移動(dòng)估算單元312 訊號(hào)線320復(fù)雜度估計(jì)器330 配額分派器340參數(shù)更新器350 量化位階估計(jì)器360影像編碼器P(i)畫面 A(i)全活動(dòng)量Cest(i)預(yù)估復(fù)雜度 ACR(i)活動(dòng)量對(duì)復(fù)雜度之比EB 超用位量 TB(i)目標(biāo)位元額度AQ(i)平均量化位階 UB(i)實(shí)際消耗位元數(shù)Qest(i)平均量化位階初始值 CD 編碼后的數(shù)據(jù)具體實(shí)施方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉一較佳實(shí)施例,并配合所附圖式,作詳細(xì)說明如下一開始,預(yù)測(cè)用的I-畫面和P-畫面必須先在MPEG編碼器內(nèi)譯碼,利用計(jì)算原始畫面及譯碼的畫面間的均方根(root mean square)誤差,可以得到譯碼畫面其品質(zhì)的客觀量度。以均方根誤差作為解碼畫面的失真度,則解碼畫面的復(fù)雜度(complex)-C定義如下C=r×d其中,r系編碼該畫面所需的位元率,d系譯碼的畫面的失真度。理論上,平均的量化位階(quantization step size)和失真度之間為一比例關(guān)系,故,畫面的復(fù)雜度可定義成C≈r×q2]]>其中,q系該畫面的平均量化位階。在畫面編碼之后,將可得知位元率(實(shí)際消耗位數(shù))以及平均量化位階,而該畫面的復(fù)雜度亦因此獲得。
畫面的復(fù)雜度端視畫面的本質(zhì)及其編碼的形式而定。先前技術(shù)利用最近編碼畫面的復(fù)雜度來(lái)表示目前畫面的復(fù)雜度,并且為I-、P-及B-畫面分別保持其復(fù)雜度以減輕不同編碼形式的影響,倘若視訊序列的畫面其內(nèi)容為平順的變化,則此方式可達(dá)到相當(dāng)不錯(cuò)的效果。然而,由于畫面編碼的目標(biāo)位元配額與其實(shí)際消耗位元數(shù)之間不相符合,如果視訊序列的內(nèi)容大幅變動(dòng),上述方式并不適合用來(lái)達(dá)成一致的視覺品質(zhì)。
根據(jù)本發(fā)明,預(yù)先分析目前畫面的活動(dòng)量(activity)以及先前編碼畫面的實(shí)際復(fù)雜度之間的關(guān)系,目前畫面的復(fù)雜度將能由此預(yù)估?;顒?dòng)量為一種在畫面編碼后其位元率和品質(zhì)的量度嘗試,假設(shè)一整張畫面的全活動(dòng)量A正比于復(fù)雜度C,則A=k×C≈k2×r×q=k′×r×q]]>其中,k系比例常數(shù)。若k′為活動(dòng)量對(duì)復(fù)雜度之比(activity-to-complexity ratio,ACR),則全活動(dòng)量A還可以下列式子表示A=ACR×r×q根據(jù)本發(fā)明,可以從相同型態(tài)的先前編碼畫面來(lái)預(yù)估ACR。觀念上,先在編碼一張畫面前計(jì)算其全活動(dòng)量A,然后,即將被編碼的畫面P(i)的復(fù)雜度Cest(i)以如下方式估算
Cest(i)=A(i)ACR(i-1)]]>其中,A(i)系畫面P(i)的全活動(dòng)量,ACR(i-l)系同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比。以下,在符號(hào)或變量中的上標(biāo)(i)表示該符號(hào)或變量與即將被編碼的目前畫面有關(guān);同理,在符號(hào)或變量中的上標(biāo)(i-l)則與先前編碼畫面相關(guān)。
估計(jì)的復(fù)雜度Cest(i)可用來(lái)為合適型態(tài)的畫面更新其復(fù)雜度,所以三種型態(tài)的畫面其復(fù)雜度CI、CP和CB將分別儲(chǔ)存以利后續(xù)的處理。一組連續(xù)畫面的瞬間復(fù)雜度(instantaneous complexity)亦以如下方式更新INST_C=NI×CI+NP×CP+NB×CB其中,NI、NP和NB分別是該組連續(xù)畫面中I-、P-及B-畫面之?dāng)?shù)目,而且此處所指的一組連續(xù)畫面至少包含一組GOP。一旦瞬間復(fù)雜度INST_C已經(jīng)決定,則目前畫面P(i)之目標(biāo)位額度TB(i)為TB(i)=Cest(i)INST_C×Reff]]>其中,Reff系一組連續(xù)畫面的有效位用量。由上式可知,目標(biāo)位額度TB(i)系與復(fù)雜度Cest(i)成正比,而與瞬間復(fù)雜度INST_C成反比。
所有的MPEG-2數(shù)據(jù)比特流均必須遵循MPEG-2標(biāo)準(zhǔn)的視訊緩沖器檢驗(yàn)者(Video Buffer Verifier,VBV)規(guī)則,分配的目標(biāo)額度必須受限以使VBV緩沖器不會(huì)滿溢(overflow)或匱乏(underflow)。原本只有在編碼后才能得到目前畫面P(i)之平均量化位階,則能于目標(biāo)位元額度TB(i)決定之后予以估計(jì),根據(jù)本發(fā)明,目前畫面P(i)其預(yù)估的平均量化位階如下Qest(i)=A(i)TB(i)×ACR(i-1)]]>其中,Qest(i)系當(dāng)做平均量化位階之初始值。藉助這個(gè)平均量化位階之初始值Qest(i),視訊編碼器能在既定的位元額度TB(i)下,輸出較佳的畫面品質(zhì)。當(dāng)目前畫面之目標(biāo)位元額度及量化位階初始值決定好后,便可利用許多不同型態(tài)的影像編碼器,像是MPEG-2標(biāo)準(zhǔn)描述的測(cè)試原型5(Test Model 5),根據(jù)目標(biāo)位元額度來(lái)完成畫面的壓縮。
目前畫面在完成編碼之后,其實(shí)際的復(fù)雜度將可得知,而目前畫面的全活動(dòng)量和實(shí)際復(fù)雜度之間的關(guān)系,ACR(i)可從以下計(jì)算得到ACR(i)=A(i)AQ(i)×UB(i)]]>其中,ACR(i)與全活動(dòng)量A(i)成正比,而與目前畫面的實(shí)際消耗位元數(shù)UB(i)以及平均量化位階AQ(i)成反比。此ACR(i)可拿來(lái)預(yù)估下一張同型態(tài)的畫面之復(fù)雜度。ACR(i)可以和ACR(i-l)做線性結(jié)合來(lái)避免受到那些富含噪聲畫面的影響。
本發(fā)明的單次(single-pass)視訊編碼可由圖3的較佳實(shí)施例并配合圖4的操作流程圖來(lái)解釋。如圖3所示,動(dòng)態(tài)影像視訊編碼器300包括一移動(dòng)估算單元310、一復(fù)雜度估計(jì)器320、一配額分派器330、一參數(shù)更新器340、一量化位階估計(jì)器350以及一影像編碼器360。移動(dòng)估算單元310接收視訊序列里的一組連續(xù)畫面中即將被編碼的目前畫面P(i),用來(lái)在執(zhí)行移動(dòng)估算的區(qū)塊匹配時(shí),計(jì)算此目前畫面P(i)的全活動(dòng)量A(i)(步驟S410)?;谌顒?dòng)量A(i)以及這組連續(xù)畫面中同型態(tài)的先前編碼畫面其ACR(i-l),復(fù)雜度估計(jì)器320可用來(lái)估計(jì)目前畫面的復(fù)雜度Cest(i)(步驟S420)。配額分派器330以預(yù)估的復(fù)雜度Cest(i)更新本組連續(xù)畫面其瞬間復(fù)雜度INST_C,并且根據(jù)Cest(i)以及INST_C分配目標(biāo)位額度TB(i)給目前畫面P(i)(步驟S430)。用來(lái)編碼目前畫面P(i)的平均量化位階初始值Qest(i),則由量化位階估計(jì)器350以全活動(dòng)量A(i)、目標(biāo)位元額度TB(i)以及活動(dòng)量對(duì)復(fù)雜度的比ACR(i-l)為基礎(chǔ)來(lái)決定(步驟S440)。在本實(shí)施例中,影像編碼器360基于初始值Qest(i)以適應(yīng)性量化方式編碼目前畫面P(i),并且在完成后,回報(bào)實(shí)際消耗位元數(shù)UB(i)以及平均量化位階AQ(i)給參數(shù)更新器340(步驟S450)。以全活動(dòng)量A(i)、實(shí)際的消耗位元數(shù)UB(i)和實(shí)際的平均量化位階AQ(i)為基礎(chǔ),參數(shù)更新器340為目前畫面P(i)計(jì)算其活動(dòng)量對(duì)復(fù)雜度之比ACR(i)(步驟S460)。
在等效上,圖3的較佳實(shí)施例可考量以硬件以及/或是軟件來(lái)實(shí)現(xiàn)。根據(jù)本發(fā)明,移動(dòng)估算單元310和圖3中的其它組件可以管線(pipeline)模式運(yùn)作,在復(fù)雜度估計(jì)器320開始計(jì)算目前畫面的復(fù)雜度之前,移動(dòng)估算單元310必須先完成即將被編碼的目前畫面其全活動(dòng)量的計(jì)算以及移動(dòng)向量的估算,并且,當(dāng)移動(dòng)估算單元310為下張畫面作準(zhǔn)備時(shí),復(fù)雜度估計(jì)器320和其它組件仍正忙于完成所有與目前畫面相關(guān)的運(yùn)作。接下來(lái)將詳細(xì)地描述較佳實(shí)施例中的每個(gè)組件。
移動(dòng)估算單元310的主要目的之一為決定用何種預(yù)測(cè)模式來(lái)編碼一張畫面里的每個(gè)MB,如果必要的話,亦進(jìn)行向前和向后的移動(dòng)預(yù)測(cè),還可從區(qū)塊匹配運(yùn)算中提取畫面活動(dòng)量的信息。首先,計(jì)算每個(gè)MB的自身活動(dòng)量(intra-activity),將一個(gè)MB中4個(gè)8×8亮度值區(qū)塊的像素強(qiáng)度以Ym,n,m=0,...,7,n=0,...,7來(lái)表示,并且每個(gè)8×8區(qū)塊其平均值為Y,則每個(gè)MB之內(nèi)活動(dòng)量IntraActIntraAct=Σk=03σk]]>其中σk=Σm=07Σn=07(Ym,n-Y‾)2]]>倘若需要較低的計(jì)算復(fù)雜度,可以相對(duì)Y的絕對(duì)差值代替IntraAct=Σk=03Δk]]>其中
Δk=Σm=07Σn=07|Ym,n-Y‾|]]>由于I-畫面中的MB僅有一種模式I模式,因此IntraAct即為I-畫面的每個(gè)MB的活動(dòng)量。
如果畫面為P-或B-畫面,則需進(jìn)行移動(dòng)估算。最常使用來(lái)發(fā)現(xiàn)最佳移動(dòng)向量的技術(shù)系區(qū)塊匹配。對(duì)非自身編碼(nonintra coding)而言(如P-和B-畫面),利用將失真標(biāo)準(zhǔn)如變異數(shù)或失真絕對(duì)值和減至最低,來(lái)選擇向前、向后、雙向的預(yù)測(cè)或不需移動(dòng)補(bǔ)償。一旦P-或B-畫面中每個(gè)MB之MB模式?jīng)Q定,在每個(gè)移動(dòng)補(bǔ)償?shù)牟钪礛B中4個(gè)8×8區(qū)塊的變異數(shù)亦可求得,移動(dòng)補(bǔ)償?shù)牟钪礛B系待處理MB和預(yù)估MB間像素對(duì)像素之差;失真絕對(duì)值和通常具有較佳的計(jì)算效率,因此可用來(lái)取代變異數(shù)。將4個(gè)8×8區(qū)塊之變異數(shù)或失真絕對(duì)值和相加以求得非內(nèi)編碼畫面中每個(gè)MB之相互活動(dòng)量(inter-activity),InterAct,然后把非內(nèi)編碼畫面中每個(gè)MB之IntraAct及其InterAct拿來(lái)作比較,以判斷InterAct是否較小,若是,則以InterAct作為該MB之活動(dòng)量,并以相互模式(inter-mode)編碼該MB;否則以IntraAct作為該MB之活動(dòng)量,并以自身模式(intra-mode)編碼該MB。最后,對(duì)目前的I-、P-或B-畫面,將所有MB之活動(dòng)量相加而得全活動(dòng)量A(i),移動(dòng)估算單元310再把全活動(dòng)量A(i)傳送給復(fù)雜度估計(jì)器320、參數(shù)更新器340以及量化位階估計(jì)器350。
接著,復(fù)雜度估計(jì)器320為某型態(tài)的目前畫面P(i)估算其復(fù)雜度,且依照三種畫面型態(tài),引進(jìn)加權(quán)系數(shù)至預(yù)估的復(fù)雜度Cest(i)。因?yàn)榻^不能以B-畫面預(yù)估其它的畫面,故可減少B-畫面的加權(quán)系數(shù)以分配較少的位元給B-畫面而保留較多的位元給I-和P-畫面;一般而言,編碼I-畫面會(huì)產(chǎn)生最多的位元,因此P-畫面的加權(quán)系數(shù)又小于I-畫面的加權(quán)系數(shù)。復(fù)雜度估計(jì)器320根據(jù)目前畫面的型態(tài)更新復(fù)雜度CI、CP或CB三者其中之一,目前畫面P(i)的復(fù)雜度Cest(i)以如下方式估算if(I-畫面)
Cest(i)=CI=KI×A(i)ACRI(i-1)]]>else if(P-畫面)Cest(i)=CP=KP×A(i)ACRP(i-1)]]>else if(B-畫面)Cest(i)=CB=KB×A(i)ACRB(i-1)]]>其中,ACRI(i-l)、ACRP(i-l)及ACRB(i-l)系一組連續(xù)畫面中,I、P和B型態(tài)的先前編碼畫面各自的活動(dòng)量對(duì)復(fù)雜度之比。這些ACRI(i-l)、ACRP(i-l)和ACRB(i-l)存放在參數(shù)更新器340之中,而復(fù)雜度估計(jì)器320會(huì)為適當(dāng)型態(tài)的先前畫面讀取對(duì)應(yīng)的活動(dòng)量對(duì)復(fù)雜度之比。KI、KP及KB分別系I-、P-和B-畫面之加權(quán)系數(shù),其范圍一般是在0到1.0之間。至于I-畫面,較佳實(shí)施例可以采用KI=1.0。
當(dāng)收到Cest(i)之時(shí),配額分派器330為該組連續(xù)畫面更新其瞬間復(fù)雜度INST_C且分配目標(biāo)位元額度TB(i)給目前畫面P(i),瞬間復(fù)雜度INST_C的更新如下INST_C=NI×CI+NP×CP+NB×CB其中,NI、NP和NB分別是本組連續(xù)畫面中I-、P-及B-畫面之?dāng)?shù)目。再者,目前畫面P(i)之目標(biāo)位元額度TB(i)為TB(i)=Cest(i)INST_C×nf×R]]>其中,n系本組連續(xù)畫面之畫面數(shù),f系每秒畫面數(shù),即圖幀率(frame rate),R則系每組連續(xù)畫面之期望平均位元率。然而,實(shí)際的消耗位元數(shù)并不會(huì)和期望的位元額度剛好相等,因此發(fā)展一種回授策略來(lái)使畫面實(shí)際消耗的位元數(shù)接近于目標(biāo)位元額度,在較佳實(shí)施例中,編碼至目前為止的超用位量,可由正在編碼的目前畫面攤還一部份TB(i)=TB(i)-AR×EB其中,EB系參數(shù)更新器340傳來(lái)的超用位元量,AR則為既定的攤還率,其范圍一般是在0.05到0.2之間。配額分派器330須調(diào)整目標(biāo)位元額度TB(i)以符合VBV規(guī)范,所以還定下額度的上限(U-bound)及下限(L_bound)。就固定位率(constant bitrate,CBR)的操作而言,分配給一張畫面的目標(biāo)位元額度須使VBV緩沖器不會(huì)滿溢或匱乏,因此目標(biāo)位元額度TB(i)限制在上、下限范圍內(nèi)if(TB(i)>U_bound)then TB(i)=U_boundif(TB(i)<L_bound)then TB(i)=L_bound若是可變位元率(variable bitrate,VBR)的操作,則只要防止VBV匱乏即可,故if(TB(i)>U_bound)then TB(i)=U_bound然后,目標(biāo)位元額度TB(i)會(huì)被傳送到參數(shù)更新器340、量化位階估計(jì)器350以及影像編碼器360。
一旦目標(biāo)位元額度TB(i)決定好之后,量化位階估計(jì)器350即可為目前畫面P(i)預(yù)估其編碼所需的平均量化位階初始值Qest(i)。用來(lái)量化一特定型態(tài)的目前畫面P(i)之初始值Qest(i)以如下方式估算if(I-畫面)Qest(i)=A(i)TB(i)×ACRI(i-1)]]>else if(P-畫面)Qest(i)=A(i)TB(i)×ACRP(i-1)]]>else if(B-畫面)
Qest(i)=A(i)TB(i)×ACRB(i-1)]]>接著將平均量化位階初始值Qest(i)傳給影像編碼器360。由對(duì)畫面中每一空間區(qū)域其量化位階的適應(yīng)性改變,本實(shí)施例的視訊編碼器300采用虛擬緩沖器(virtual buffer)以提供位元率控制的回授機(jī)制,由于虛擬緩沖器及適應(yīng)性量化對(duì)熟悉此技藝者而言,乃為習(xí)知技術(shù),因此不再做贅述。虛擬緩沖器的利用狀況(occupancy)控制了量化位階,從而控制了位元率,然而,虛擬緩沖器必須指定一個(gè)初始的利用狀況方能運(yùn)作,并且虛擬緩沖器的利用狀況也反應(yīng)了用來(lái)編碼每一空間區(qū)域的量化位階,所以虛擬緩沖器的利用狀況不僅控制了量化位階的初始值,亦在給定位元率的條件下,控制了視覺品質(zhì)。
在初始值Qest(i)的幫助之下,影像編碼器360可以讓視訊序列中的畫面品質(zhì)更為一致。透過訊號(hào)線312,影像編碼器360從移動(dòng)估算單元310接收畫面數(shù)據(jù)以及每個(gè)MB之移動(dòng)向量和MB模式。為了在給定位元額度TB(i)的情形下,盡可能的減少可見的失真,影像編碼器360依據(jù)平均量化位階初始值Qest(i)來(lái)決定編碼目前畫面的每個(gè)MB所用之量化位階,以這些數(shù)據(jù)為基礎(chǔ),影像編碼器360開始對(duì)目前畫面P(i)進(jìn)行編碼且輸出編碼后的數(shù)據(jù)CD。在目前畫面P(i)編碼之后,影像編碼器360將量化位階做平均并且計(jì)算實(shí)際消耗位元數(shù)UB(i),再回報(bào)目前畫面的UB(i)以及平均量化位階AQ(i)給參數(shù)更新器340。
畫面P(i)之目標(biāo)位元額度TB(i)以及實(shí)際消耗位元數(shù)UB(i)間的差距,會(huì)由參數(shù)更新器340做累計(jì)以便在畫面P(i)編碼之后得到超用位元量EBEB=EB×(1-AR)+UB(i)-TB(i)其中,AR系既定的攤還率。因此,活動(dòng)量和實(shí)際復(fù)雜度之間的關(guān)系,ACR(i),可從以下計(jì)算得到ACR(i)=A(i)AQ(i)×UB(i)]]>
此ACR(i)可用來(lái)預(yù)估同型態(tài)的下張畫面之復(fù)雜度。為使ACR(i)不會(huì)受到富含噪聲畫面的影響,較佳實(shí)施例利用了ACR(i)和ACR(i-l)的線性組合,例如if(I-畫面)ACRI(i)=ACRI(i-1)×(1-CW)+ACR(i)×CW]]>else if (P-畫面)ACRP(i)=ACRP(i-1)×(1-CW)+ACR(i)×CW]]>else if (B-畫面)ACRB(i)=ACRB(i-1)×(1-CW)+ACR(i)×CW]]>其中,CW系線性組合既定之加權(quán)系數(shù)。更新過的ACRI(i)、ACRP(i)及ACRB(i)會(huì)被傳送到復(fù)雜度估計(jì)器320以及量化位階估計(jì)器350,以便為下一張適當(dāng)型態(tài)的畫面分別估算其復(fù)雜度和量化位階之初始值,此外,超用位元量EB則送至配額分派器330作為位分配之用。
雖然本發(fā)明已以一具體實(shí)施例揭露如上,然其僅為了易于說明本發(fā)明的技術(shù)內(nèi)容,而并非將本發(fā)明狹義地限定于該實(shí)施例,任何熟習(xí)此技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的申請(qǐng)專利范圍所界定者為準(zhǔn)。
權(quán)利要求
1.一種利用初始量化位階預(yù)估的動(dòng)態(tài)影像壓縮位元率控制方法,其特征在于,至少包含下列步驟為一即將被編碼的目前畫面而計(jì)算一全活動(dòng)量,該目前畫面在一視訊序列的一組連續(xù)畫面之中;基于該目前畫面的該全活動(dòng)量以及該組連續(xù)畫面中之一同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比,估計(jì)該目前畫面之一復(fù)雜度;以該目前畫面預(yù)估的該復(fù)雜度更新該組連續(xù)畫面之一瞬間復(fù)雜度;依據(jù)該估計(jì)復(fù)雜度以及該瞬間復(fù)雜度,分配一目標(biāo)位元額度給該目前畫面;基于該目前畫面的該全活動(dòng)量、該目前畫面的該目標(biāo)位元額度以及該同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比,決定用來(lái)編碼該目前畫面之一平均量化位階初始值;根據(jù)該平均量化位階初始值,對(duì)該視訊序列中的該目前畫面進(jìn)行編碼;以及在編碼該目前畫面之后,根據(jù)該目前畫面的該全活動(dòng)量、該目前畫面的實(shí)際消耗位元數(shù)和該目前畫面的平均量化位階,計(jì)算該目前畫面其活動(dòng)量對(duì)復(fù)雜度之比;其中,該目前畫面的該活動(dòng)量對(duì)復(fù)雜度之比與該目前畫面的該全活動(dòng)量成正比,而與該目前畫面的實(shí)際消耗位元數(shù)以及該目前畫面的平均量化位階成反比。
2.如權(quán)利要求1所述的動(dòng)態(tài)影像壓縮位元率控制方法,其特征在于,更至少包含下列步驟執(zhí)行上述目前畫面其活動(dòng)量對(duì)復(fù)雜度之比和上述同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比兩者間的一線性組合運(yùn)算。
3.如權(quán)利要求1所述的動(dòng)態(tài)影像壓縮位元率控制方法,其特征在于,在上述目前畫面進(jìn)行移動(dòng)估算時(shí)對(duì)上述目前畫面的上述全活動(dòng)量進(jìn)行計(jì)算。
4.如權(quán)利要求1所述的動(dòng)態(tài)影像壓縮位元率控制方法,其特征在于,上述估計(jì)復(fù)雜度的步驟依據(jù)一方程式進(jìn)行計(jì)算Cest=K×AACR]]>其中,Cest為上述目前畫面預(yù)估的上述復(fù)雜度,K為一既定的加權(quán)值,其范圍在0到1之間,A為上述一組連續(xù)畫面中的上述目前畫面的上述全活動(dòng)量,ACR為上述同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比。
5.如權(quán)利要求1所述的動(dòng)態(tài)影像壓縮位元率控制方法,其特征在于,上述分配的目標(biāo)位元額度與上述目前畫面的上述復(fù)雜度成正比,而與上述一組連續(xù)畫面的上述瞬間復(fù)雜度成反比。
6.如權(quán)利要求1所述的動(dòng)態(tài)影像壓縮位元率控制方法,其特征在于,上述平均量化位階初始值由下列函數(shù)決定MQest=ATB×ACR]]>其中,MQest代表上述平均量化位階初始值,A為上述一組連續(xù)畫面中的上述目前畫面的上述全活動(dòng)量,TB為上述目前畫面的上述目前畫面的上述目標(biāo)位額度,ACR為上述同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比。
7.如權(quán)利要求1所述的動(dòng)態(tài)影像壓縮位元率控制方法,其特征在于,上述一組連續(xù)畫面至少包含一畫面群組,且該畫面群組符合MPEG視訊標(biāo)準(zhǔn)。
8.一種利用初始量化位階預(yù)估的動(dòng)態(tài)影像壓縮位元率控制裝置,其特征在于,至少包含一移動(dòng)估算單元,接收一視訊序列里的一組連續(xù)畫面中即將被編碼之一目前畫面,用來(lái)在執(zhí)行移動(dòng)估算的區(qū)塊匹配時(shí),計(jì)算該目前畫面之一全活動(dòng)量;一復(fù)雜度估計(jì)器,基于該目前畫面的該全活動(dòng)量以及該組連續(xù)畫面中一同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比,用來(lái)估計(jì)該目前畫面之一復(fù)雜度;一配額分派器,以該目前畫面預(yù)估的該復(fù)雜度更新該組連續(xù)畫面之一瞬間復(fù)雜度,用來(lái)根據(jù)該估計(jì)復(fù)雜度以及該瞬間復(fù)雜度,分配一目標(biāo)位元額度給該目前畫面;一量化位階估計(jì)器,以該目前畫面的該全活動(dòng)量、該目前畫面的該目標(biāo)位元額度以及該同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比為基礎(chǔ),決定用來(lái)編碼該目前畫面之一平均量化位階初始值;以及一參數(shù)更新器,以該目前畫面的該全活動(dòng)量、該目前畫面的實(shí)際消耗位元數(shù)和該目前畫面的平均量化位階為基礎(chǔ),計(jì)算該目前畫面其活動(dòng)量對(duì)復(fù)雜度之比;其中,該目前畫面的該活動(dòng)量對(duì)復(fù)雜度之比與該目前畫面的該全活動(dòng)量成正比,而與該目前畫面消耗的位元數(shù)以及該目前畫面的平均量化位階成反比。
9.如權(quán)利要求8所述的動(dòng)態(tài)影像壓縮位元率控制裝置,其特征在于,上述參數(shù)更新器還執(zhí)行上述目前畫面其活動(dòng)量對(duì)復(fù)雜度之比和上述同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比兩者間的一線性組合運(yùn)算。
10.如權(quán)利要求8所述的動(dòng)態(tài)影像壓縮位元率控制裝置,其特征在于,更至少包含一影像編碼器,根據(jù)上述平均量化位階初始值來(lái)對(duì)上述目前畫面進(jìn)行編碼,且將上述目前畫面的實(shí)際消耗位元數(shù)以及上述目前畫面編碼所用的平均量化位階回報(bào)給上述參數(shù)更新器。
全文摘要
一種動(dòng)態(tài)影像壓縮位元率控制方法及裝置,于畫面層級(jí)利用估計(jì)的初始量化位階來(lái)進(jìn)行位元分配。根據(jù)本發(fā)明,以目前畫面其預(yù)先分析的活動(dòng)量以及同型態(tài)的先前編碼畫面其實(shí)際復(fù)雜度之間的關(guān)系,分配目標(biāo)位元額度給即將被編碼的目前畫面,一旦決定了目標(biāo)位元額度,便根據(jù)目前畫面的全活動(dòng)量、目標(biāo)位元額度以及同型態(tài)的先前編碼畫面其活動(dòng)量對(duì)復(fù)雜度之比,來(lái)決定目前畫面編碼之用的平均量化位階初始值。在既定的位元配額的條件下,利用上述的平均量化位階初始值,將可獲得較高的畫面品質(zhì)。
文檔編號(hào)H04N7/26GK1568008SQ0314776
公開日2005年1月19日 申請(qǐng)日期2003年6月24日 優(yōu)先權(quán)日2003年6月24日
發(fā)明者張永清, 陳家杰, 王登楷 申請(qǐng)人:矽統(tǒng)科技股份有限公司