欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

編碼系統(tǒng)中基于宏塊的速率控制裝置和方法

文檔序號:6415727閱讀:195來源:國知局
專利名稱:編碼系統(tǒng)中基于宏塊的速率控制裝置和方法
本申請要求獲得1997年7月14日申請的美國臨時申請No.60/052437的利益,該申請在此引證作為參考。
本發(fā)明涉及最佳化運動圖象編碼的裝置及其方法。本發(fā)明特別涉及對幀內(nèi)每個宏塊適當(dāng)?shù)卣{(diào)整量化器級數(shù)以保持運動圖象總體質(zhì)量同時最佳化編碼速率的裝置和方法。
發(fā)明的背景ISO/IEC國際標(biāo)準(zhǔn)11172和13818(一般分別稱為MPEG-1和MPEG-2格式)建立的運動圖象專家組(MPEG)對編碼/解碼策略建立了標(biāo)準(zhǔn)。盡管這些MPEG標(biāo)準(zhǔn)對產(chǎn)生MPEG允許的比特流規(guī)定了一般編碼方法和語法,但允許許多變化以適應(yīng)多種不同的應(yīng)用,并用于例如臺式圖象印刷、電視會議、數(shù)字存儲介質(zhì)和電視廣播。
在速率控制領(lǐng)域中,MPEG對控制編碼器比特率未限定具體的方法。編碼器設(shè)計者的任務(wù)是設(shè)計速率控制方法,用以控制比特率以便解碼器輸入緩沖器既不上溢也不下溢。
目前,控制比特率的一種方式是變更量化處理,該方式將引起輸入視頻圖象的失真。通過變更量化器級數(shù)(步長),可以改變和控制比特率。
盡管改變量化器級數(shù)是實施編碼器速率控制的有效方法,但應(yīng)該指出,低劣的速率控制處理實際上將降低視頻圖象的可視質(zhì)量,即不能按有效的方式變更量化器級數(shù),以致接近圖象結(jié)束時必須急劇地變更量化器級數(shù),以避免上溢和下溢條件。由于變更量化器級數(shù)影響圖象質(zhì)量和壓縮效率,所以關(guān)鍵在于速率控制處理,以在不損失圖象質(zhì)量的情況下控制比特率。
在目前的MPEG編碼策略(例如,各種MPEG測試模式)中,通過假設(shè)相同類型的所有圖象在圖象組內(nèi)有相同的復(fù)雜性來選擇各幀的量化器級數(shù)。但是,由于各圖象的復(fù)雜性將隨時間變化,所以按這種標(biāo)準(zhǔn)選擇的量化器級數(shù)不能獲得最佳的編碼性能。
此外,采用整體型變換例如小波變換(另外稱為分層子波段分解)的編碼器有同樣的問題。例如,對低比特率圖象編碼的重要方面施加小波變換二進(jìn)制映象(map)的編碼(小波樹)表示非零值的位置,另外稱為變換系數(shù)的明顯映象。然后,采用量化和熵編碼,以實現(xiàn)很低的比特率。由此可見,對于編碼明顯映象(小波樹)來說,在適當(dāng)選擇量化器級數(shù)方面的明顯改進(jìn)將轉(zhuǎn)換為壓縮效率和編碼速率方面的明顯改善。
此外,速率控制可以在幀內(nèi)以較低的等級例如按宏塊或塊等級來進(jìn)行。但是,如果量化參數(shù)(量化器級數(shù))在幀內(nèi)變化,那么由于存在附加的工作量,所以宏塊級的速率控制一般更昂貴。就是說,需要更多的比特與用于各幀內(nèi)不同宏塊的不同量化器級數(shù)的解碼器通信。這種臨界狀態(tài)使低比特率應(yīng)用惡化,其中,適當(dāng)?shù)谋忍毓芾硎呛苤匾摹?br> 因此,在技術(shù)上需要在幀內(nèi)對各宏塊適當(dāng)?shù)卣{(diào)整量化器級數(shù)以保持運動圖象的總體質(zhì)量同時使編碼速率最佳的裝置和方法。
發(fā)明的概述本發(fā)明的實施例是在各幀內(nèi)對各塊例如宏塊選擇量化器級數(shù)以保持視頻圖象的總體質(zhì)量同時使編碼速率最佳的方法和裝置。就是說,在各幀(圖象)內(nèi)對各宏塊選擇量化器級數(shù),以便達(dá)到圖象的目標(biāo)比特率,同時在整個幀上維持均勻的可視圖象質(zhì)量。
附圖的簡要描述參照結(jié)合附圖進(jìn)行的下列詳細(xì)說明,可以容易地理解本發(fā)明的技術(shù),其中

圖1表示本發(fā)明裝置的方框圖;圖2表示基于圖象內(nèi)的塊對圖象導(dǎo)出和分配目標(biāo)比特率的方法流程圖3表示確定目標(biāo)幀比特率方法的流程圖;圖4表示對當(dāng)前圖象內(nèi)的宏塊確定一個或多個目標(biāo)宏塊比特率的方法流程圖;圖5表示本發(fā)明裝置第二實施例的方框圖;圖6是小波樹的圖解表示;和圖7表示本發(fā)明的編碼系統(tǒng)。
為了便于理解,在可能的地方使用相同的參考序號來表示附圖中所共有的相同元件。
詳細(xì)描述圖1表示本發(fā)明裝置100的方框圖,用于導(dǎo)出針對各幀內(nèi)的各宏塊的量化器級數(shù),以保持視頻圖象的總體質(zhì)量,同時控制編碼速率。盡管本發(fā)明在參照MPEG允許的編碼器情況下進(jìn)行了如下說明,但本領(lǐng)域技術(shù)人員會意識到本發(fā)明可用于其它編碼/解碼標(biāo)準(zhǔn)允許使用的其它編碼器。
在本發(fā)明的優(yōu)選實施例中,裝置100是編碼器或更復(fù)雜的基于塊的運動補償編碼系統(tǒng)的一部分。裝置100包括運動評估模塊140、運動補償模塊150、速率控制模塊130、DCT模塊160、量化(Q)模塊170、變長編碼(VLC)模塊180、緩沖器190、反量化(Q-1)模塊175、反DCT(DCT-1)變換模塊165、減法器115和加法器155。盡管裝置100包括多個模塊,但本領(lǐng)域的技術(shù)人員會意識到由各個模塊完成的功能不需要被隔離成圖1所示的分離模塊。例如,包括運動補償模塊150、反向量化模塊175和反向DCT模塊165的一組模塊是眾所周知的“嵌入式解碼器”。
圖1表示在信號通路110上的輸入圖象(圖象序列),該圖象經(jīng)數(shù)字化并根據(jù)MPEG標(biāo)準(zhǔn)表示為亮度和兩個色差信號(Y、Cr、Cb)。這些信號還被分成多層(序列、圖象組、圖象、片、宏塊和塊),以致用多個宏塊表示各圖象(幀)。每個宏塊包括四(4)個亮度塊、一個Cr塊和一個Cb塊,其中,塊限定為八(8)乘八(8)的取樣陣列。圖象劃分成塊單元提高了區(qū)分兩個連續(xù)圖象之間的變化的能力并且通過消除低幅度變換系數(shù)(后面說明)改善了圖象壓縮。數(shù)字化的信號可以任意地進(jìn)行預(yù)處理,例如選擇適當(dāng)窗口、分辨率和輸入格式的格式轉(zhuǎn)換。
以下說明使用MPEG標(biāo)準(zhǔn)術(shù)語;但是,應(yīng)該指出,術(shù)語宏塊或塊用于說明任何尺寸或形狀的用作編碼基礎(chǔ)的象素塊。一般來說,“宏塊”可以象單個象素那樣小,或象整個圖象幀那樣大。
通路110上的輸入圖象被評估運動矢量的運動評估模塊140接收。運動矢量是兩維矢量,該矢量用作運動補償,以提供當(dāng)前圖象中塊的坐標(biāo)位置到基準(zhǔn)幀中的坐標(biāo)的偏移?;鶞?zhǔn)幀可以是前一幀(P-幀),或前一幀和/或后一幀(B-幀)。由于僅編碼和傳送當(dāng)前幀和基準(zhǔn)幀之間的改變,所以利用運動矢量通過減少信道上傳送的信息量可極大地增強圖象壓縮。
運動補償模塊150接收來自運動評估模塊140的運動矢量,以改善取樣值判定效率。運動補償包括利用運動矢量的一個預(yù)測過程,以把偏移量提供給過去的基準(zhǔn)幀和/或后面的基準(zhǔn)幀,其中基準(zhǔn)幀包含用于形成預(yù)測誤差的預(yù)先解碼的取樣值。就是說,運動補償模塊150使用預(yù)先解碼的幀和運動矢量構(gòu)成當(dāng)前幀的預(yù)測。此外,本領(lǐng)域的技術(shù)人員會意識到由運動評估模塊和運動補償模塊完成的功能可以用組合模塊例如單塊運動補償器來完成。
此外,在對指定的宏塊完成運動補償預(yù)測前,必須選擇編碼模式。在編碼模式判定領(lǐng)域中,MPEG提供多個不同的宏塊編碼模式。MPEG-2特別提供宏塊編碼模式,該模式包括內(nèi)部模式、非運動補償模式(No MC)、幀/場/雙起動運動補償相互模式、正向/反向/平均相互模式和場/幀DCT模式。
一旦選擇了編碼模式,運動補償模塊150根據(jù)過去的和/或后面的基準(zhǔn)圖象在路徑152上產(chǎn)生塊內(nèi)容的運動補償預(yù)測(預(yù)測圖象)。通過減法器115從當(dāng)前宏塊中路徑110上的視頻圖象中減去路徑152上的該運動補償預(yù)測,以在路徑153上形成誤差信號或預(yù)測剩余信號。預(yù)測剩余信號的形成有效地消除輸入視頻圖象中的多余信息。應(yīng)該指出,如果當(dāng)前幀被編碼為I幀,那么路徑153上的信號僅是原來的圖象,而不是預(yù)測剩余信號。
然后,DCT模塊160把正向離散余弦變換處理施加給預(yù)測剩余信號的各塊,以產(chǎn)生DCT系數(shù)的一組八(8)乘八(8)的塊。DCT基本功能或子波段(subband)分解允許視覺心理(psychovisual)準(zhǔn)則的有效使用,該準(zhǔn)則對于量化這下一步驟來說是很重要的。
由量化DCT系數(shù)的量化模塊170接收所獲得的DCT系數(shù)的8×8塊。通過把DCT系數(shù)除以一組量化值,并適當(dāng)舍入形成整數(shù)值來表示DCT系數(shù),由此量化處理降低了DCT系數(shù)的精度。使用基于基本功能可見度(稱為視覺加權(quán)量化)的準(zhǔn)則,對各DCT系數(shù)可以單獨設(shè)定量化值。就是說,量化值對應(yīng)于給定基本功能可見度的閾值,即由肉眼剛好可檢測的系數(shù)幅度。通過用該值量化DCT系數(shù),許多DCT系數(shù)被轉(zhuǎn)換成“零”值,從而提高圖象壓縮效率。量化處理是關(guān)鍵操作,并且是獲得可視質(zhì)量和控制編碼器使其輸出與給定的比特率匹配(速率控制)的重要工具。由于可以把不同的量化值施加給各DCT系數(shù),所以一般把“量化矩陣”建立成基準(zhǔn)表,例如亮度量化表或色度量化表。因此,編碼器選擇確定變換塊中各頻率系數(shù)如何量化的量化矩陣。
但是,量化誤差的主觀感覺隨頻率極大地改變,并有利地是對更高頻率采用更近似量化值。就是說,對于較高的空間頻率來說,量化誤差的人為主觀敏感性低。結(jié)果,用比低頻更少的允許值就可更加近似地量化高頻。此外,精確的量化矩陣取決于許多外部參數(shù),例如指定顯示器的特性、觀看距離和電源中的噪聲量。因此,可以為應(yīng)用或甚至對幀的單獨序列裁定特定的量化矩陣。一般地,特定的量化矩陣可以象目錄那樣與壓縮視頻圖象一起存儲。由速率控制模塊130完成量化器級數(shù)的適當(dāng)選擇。
接著,通過信號連接171由變長編碼(VLC)模塊180接收所獲得的量化DCT系數(shù)的8×8塊,其中量化系數(shù)的兩維塊按“之字”序列掃描,以把該系數(shù)轉(zhuǎn)換成量化的DCT系數(shù)的一維字符串。該之字掃描序列是從最低空間頻率至最高空間頻率的DCT系數(shù)的近似連續(xù)序列。然后,變長編碼(VLC)模塊180編碼量化DCT系數(shù)的字符串,并利用變長編碼和行程編碼對宏塊編碼所有輔助信息。
在“先入—先出”(FIFO)緩沖器190中接收該數(shù)據(jù)流。采用不同圖象類型和變長編碼的結(jié)果是,F(xiàn)IFO中的所有比特率是可變的。就是說,用于編碼各幀的比特數(shù)可以不同。在包括固定速率信道的應(yīng)用中,F(xiàn)IFO緩沖器用于使編碼輸出與信道匹配,平滑比特率。因此,路徑195上的FIFO緩沖器190的輸出信號是路徑110上的輸入視頻圖象的壓縮表示(或輸入圖象和預(yù)測圖象之間的壓縮差別信號),其中,把該信號送入存儲介質(zhì)或通過路徑295送入電信信道。
速率控制模塊130用于監(jiān)視和調(diào)整進(jìn)入FIFO緩沖器190的數(shù)據(jù)流的比特率,防止數(shù)據(jù)流傳送后在解碼器側(cè)(在接收器或目標(biāo)存儲裝置內(nèi),未示出)上溢或下溢。因此,速率控制模塊130的任務(wù)是監(jiān)視緩沖器190的狀態(tài),控制編碼器產(chǎn)生的比特數(shù)。
在本發(fā)明的優(yōu)選實施例中,速率控制模塊130在各幀內(nèi)對各塊例如宏塊選擇量化器級數(shù),以保持視頻圖象的總體質(zhì)量,同時控制編碼速率。就是說,可以測定幀,以確定幀內(nèi)某些塊是否需要更大或更小的比特率分配。顯然,對于不同的應(yīng)用來說,變化的塊比其它塊更重要,例如,對于觀察者來說,電視電話中人的面部一般比背景更重要。其它實例包括醫(yī)學(xué)上的應(yīng)用,其中某些圖象塊即潛在的腫瘤比周圍組織更重要,或在監(jiān)視應(yīng)用中,其中某些圖象塊即軍事評估比周圍的偽裝更重要等等。因此,實際的應(yīng)用將規(guī)定限定幀內(nèi)有關(guān)塊的重要性規(guī)則。在本發(fā)明中,在各幀內(nèi)對各塊選擇量化器級數(shù),以便達(dá)到圖象的目標(biāo)比特率,同時在圖象的整個序列上保持均勻的可視質(zhì)量。
應(yīng)該指出,盡管用進(jìn)行時間(例如,運動評估/補償)和空間編碼(例如,離散余弦變換)的編碼器說明了本發(fā)明,但本發(fā)明不限于此??梢圆捎闷渌鼤r間和空間編碼方法,包括不采用任何時間和空間編碼。
特別是,速率控制模塊130包括幀速率分配器131和宏塊速率分配器132。幀速率分配器131對當(dāng)前幀分配比特預(yù)算(目標(biāo)幀比特率),而宏塊速率分配器132對當(dāng)前幀內(nèi)各宏塊分配比特預(yù)算(目標(biāo)宏塊比特率或目標(biāo)塊比特率)。
簡單地說,幀速率分配器131從預(yù)先編碼的圖象中或通過實施各種MPEG測試模式初步獲得特定類型圖象(I、P、B)的復(fù)雜性的大致評估。該評估的復(fù)雜性用于導(dǎo)出編碼各幀所需的預(yù)測比特數(shù)。利用這種認(rèn)識,根據(jù)具有多項式的復(fù)雜性量度,計算幀的量化器級數(shù)。導(dǎo)出該復(fù)雜性量度,以滿足對幀選擇的量化器級數(shù)應(yīng)該達(dá)到圖象目標(biāo)比特率的限制。一旦幀被編碼,速率控制模塊就通過使用多項式回歸處理遞歸地調(diào)整復(fù)雜性量度。就是說,編碼宏塊所需的實際比特數(shù)用于限定復(fù)雜性測量,以改善對后續(xù)幀的量化器級數(shù)的預(yù)測。在計算量化器級數(shù)中,“目標(biāo)幀比特率”也被遞歸地更新。在1998年2月11日申請的序號為09/022349(代理編號SAR12459)的專利申請“編碼系統(tǒng)中速率控制最佳化的裝置和方法”中披露了這種幀速率分配方法,該申請在此引證作為參考。應(yīng)該指出,本發(fā)明可以采用其它幀比特率分配方法,例如,根據(jù)失真量度等的幀比特率分配方法。
簡單地說,接著,宏塊速率分配器132應(yīng)用計算過的目標(biāo)幀比特率來確定一個或多個目標(biāo)塊比特率,其中目標(biāo)幀比特率的比特與塊的絕對差(MAD)均方成正比分布。下面,參照圖4進(jìn)行目標(biāo)宏塊比特率和對應(yīng)的量化器級數(shù)選擇方法的詳細(xì)說明。
但是,由于人的視覺敏感性,所以對于觀察者來說,有些宏塊被認(rèn)為比其它宏塊更重要。宏塊的重要性由可選的宏塊分類模塊120確定。宏塊分類模塊120包括必要的規(guī)則,以限定各幀內(nèi)宏塊的重要性??刹捎酶鞣N宏塊分類方法,例如如1997年12月31日申請的序號為09/002,258(代理編號SAR12626)、題目為“Apparatus AndMethod For Employing M-Ary Pyramids To Enhance Feature-BasedClassification And Motion Estimation”的專利申請所披露的,該專利申請在此引證作為參考。宏塊的“重要性”通過使用如下所述的加權(quán)來計算。簡單地說,如果宏塊很重要,那么把更多的比特分配給該宏塊,相反如果宏塊不重要,那么把較少的比特分配給該宏塊。
另一方面,可以直接從路徑112上的圖象序列中獲得“基于宏塊的”信息,例如,哪些宏塊是更重要的,該宏塊載有什么信息類型,比如前景、背景或幀內(nèi)的對象等。就是說,如果圖象序列被預(yù)先處理和存儲在存儲介質(zhì)中,例如,存儲在服務(wù)器上的圖象序列或程序,那么產(chǎn)生存儲圖象序列的編碼器可傳遞“基于宏塊的”的信息。換言之,“基于宏塊的”信息可以與圖象序列一起傳送至編碼器100。在這種情況下,由于已經(jīng)得到基于宏塊的信息,所以可以省略宏塊分類模塊120。
再參照圖1,通過信號連接線172由反量化模塊175接收由量化模塊170量化的DCT系數(shù)的8×8塊。在該階段,編碼器通過編碼數(shù)據(jù)重新產(chǎn)生輸入視頻圖象的I-幀和P-幀,以致它們被用作后續(xù)編碼的基準(zhǔn)幀。
所獲得的DCT系數(shù)的反量化8×8塊傳到反DCT模塊165上,其中反DCT被提供給各宏塊,產(chǎn)生解碼誤差信號。該誤差信號通過加法器155反加在來自運動補償模塊的預(yù)測信號上,產(chǎn)生解碼基準(zhǔn)圖象(重現(xiàn)的圖象)。
圖2表示根據(jù)圖象內(nèi)的宏塊對圖象導(dǎo)出和分配比特的方法200的流程圖。更具體地說,方法200在步驟205開始,并進(jìn)入步驟210,在該步驟210中,由當(dāng)前幀確定目標(biāo)幀比特率。在優(yōu)選實施例中,利用通過使用多項式回歸處理(參見圖3)的遞歸調(diào)整的復(fù)雜性量度來確定目標(biāo)幀比特率。
圖3表示確定目標(biāo)幀比特率的方法300的流程圖。參照圖3,該方法在步驟305開始,并進(jìn)入步驟310,其中該方法如下確定幀的目標(biāo)比特率(目標(biāo)幀比特率)TframeTframe=RNf×(1-past_percent)+Tprevious frame×past_percent--(1)]]>其中,R是幀序列的剩余比特數(shù),Nf是該序列中剩余幀數(shù),Tprevious frame是用于編碼前一幀的比特數(shù),而past_percent是常數(shù)。在優(yōu)選實施例中,把常數(shù)past_percent選擇為0.05。但是,本發(fā)明不限于此。根據(jù)特定的應(yīng)用或圖象的內(nèi)容,可以采用其它值。實際上,可以臨時調(diào)整這些值。
總之,公式(1)允許根據(jù)可得到的比特和最新編碼的幀比特計算目標(biāo)幀比特率。如果最新的幀復(fù)雜并使用許多比特,那么導(dǎo)致應(yīng)該把更多比特分配給當(dāng)前的幀。但是,這種增加的分配將減少編碼剩余幀的比特的有效數(shù),從而限制對該幀增加分配。如公式(1)中第二項所示,加權(quán)平均反映這兩個系數(shù)的綜合平衡。
在步驟320中,方法300按當(dāng)前緩沖器填滿度(fullness)把目標(biāo)幀比特率Tframe調(diào)整如下T'frame=(a+b×c)(c×a+b)×Tframe---(2)]]>其中,T’frame是調(diào)整的目標(biāo)比特率,“a”是當(dāng)前緩沖器填滿度(包括傳送至解碼器的比特的緩沖器部分),b是(物理緩沖器容量-緩沖器填滿度(a)),而c是選擇的值為2(可以使用其它值)的常數(shù)。因此,“b”表示緩沖器中的剩余空間。公式(2)指出,如果緩沖器被填滿一半以上,那么調(diào)整的目標(biāo)比特率T’frame下降。相反,如果緩沖器未被填滿到一半,那么調(diào)整的目標(biāo)比特率T’frame增加。如果緩沖器正好填滿一半,那么由于公式(2)簡化為T’frame=Tframe,所以不需要調(diào)整。
然后,在步驟330中,方法300可選地驗證如下保持的目標(biāo)幀比特率(Rs/30)的下邊界Tframe=Max(Rs/30,Tframe) (3)應(yīng)該指出,公式(3)允許Tframe采用兩個可能值中較大(max)的,其中,Rs是序列(或段)的比特率(例如,24000比特/秒)。就是說,目標(biāo)速率的下邊界(Rs/30)被用于保持或保證最小量,例如,可以把800比特/幀設(shè)定為最小。如果不能保持最小量,那么解碼器可選擇完全越過當(dāng)前幀。然后,方法300在步驟340中結(jié)束。
應(yīng)該指出,在本發(fā)明的情況下,可以采用其它幀比特率分配方法,例如,MPEG TM4和TM5。但是,由于目標(biāo)宏塊比特率是利用目標(biāo)幀比特率推導(dǎo)出來的,所以因采用的幀比特率分配方法會影響目標(biāo)宏塊比特率的計算工作量和精度。例如,如果期望以性能為代價使計算的復(fù)雜性最小,那么可以采用MPEG TM4和TM5的幀比特率分配方法。相反,如果期望以增加計算復(fù)雜性為代價使性能最大,那么可以采用專利申請(代理編號SAR12459)的幀比特率分配方法,或其它更復(fù)雜的幀比特率分配方法。
參照圖2,一旦Tframe被確定,那么方法200在圖4所示的當(dāng)前圖象內(nèi)對宏塊確定一個或多個目標(biāo)宏塊比特率。然后,方法200在步驟230中結(jié)束。
圖4表示在當(dāng)前圖象內(nèi)確定宏塊的一個或多個目標(biāo)宏塊比特率的方法400的流程圖。該方法從步驟405開始并進(jìn)入步驟410,其中,對各宏塊i進(jìn)行絕對差(SAD)Si的求和。就是說,對宏塊內(nèi)限定的象素進(jìn)行各象素值(在原圖象內(nèi))和補償象素值(在預(yù)測圖象內(nèi))之間的絕對差的求和。接著,對宏塊進(jìn)行象素的所有絕對差的求和,以產(chǎn)生宏塊i的SAD。
在步驟420中,方法400詢問Si是否大于閾值Hq。根據(jù)當(dāng)前宏塊比特分配方法選擇閾值Hq,以消除各種宏塊。就是說,希望某些宏塊中信息通過空間過濾或量化將被刪除或降低至零。由于這些宏塊被認(rèn)為未載有信息,所以對這些宏塊將不分配比特。因此,閾值Hq用于根據(jù)考慮來消除各種宏塊。
在工作中,把閾值Hq選擇為在前一幀被跳躍過的所有平均絕對差(MAD)的平均值,其中,MADi被定義為Si除以宏塊i中的象素數(shù)。但是,如果當(dāng)前幀在圖象序列中為第一幀,那么把Hq設(shè)定為該當(dāng)前幀中所有MAD平均值的一半。
因此,如果步驟420中的詢問被否定地回答,那么方法400進(jìn)入步驟425,在此對當(dāng)前宏塊I不考慮接受比特分配。如果步驟420中的詢問被肯定地回答,那么方法400進(jìn)入步驟423,在此將考慮當(dāng)前宏塊i接受如下所述的比特分配。
在步驟430中,對每個宏塊i(i=1,2,3…)如下確定目標(biāo)宏塊比特率RiRi=Ki×Tframe(4)
對于Madk有SADk>Hq(5)其中,Madi是宏塊i的平均絕對差(MAD),“n”是幀中的宏塊數(shù),“w”是加權(quán)因子,而Ri是宏塊i的評估目標(biāo)宏塊比特率。加權(quán)因子w允許按照其它規(guī)則調(diào)整給定宏塊的Ri。就是說,已經(jīng)發(fā)現(xiàn),可以認(rèn)為某些宏塊比其它宏塊更重要,其中,“重要性”不完全依據(jù)宏塊的MAD。如上所述的各種應(yīng)用可以著重放在某些宏塊上。通過引入任意的加權(quán)因子w,可以把或多或少的比特根據(jù)應(yīng)用特定規(guī)則分配給特定的宏塊。在優(yōu)選實施例中,把w設(shè)定為值“1”,但根據(jù)特定應(yīng)用的需要可以采用其它值。
因此,目標(biāo)幀比特Tframe與宏塊的平均絕對差(MAD)成正比地分布。例如,如果圖象僅有Mada=1、Madb=1、Madc=3和Madd=4的四個(4)宏塊“a”、“b”、“c”和“d”,而Tframe=100,Hq是使得宏塊a和b不被考慮接受比特分配的值,那么Rc和Rd分別表示為

因此,宏塊a和b的MAD不用于Rc和Rd的確定。此外,上述實例表示在各Ri被分配給宏塊后需要更新Tframe。
一旦確定圖象中各宏塊的Ri,那么方法400在步驟440中計算各宏塊i的量化器級數(shù)Qi。在優(yōu)選實施例中,按照序號為09/022349(代理編號SAR12459)的美國專利申請披露的失真測量計算量化器級數(shù)Qi。簡單地說,量化器級數(shù)Qi可按如下表示的二次率失真方法導(dǎo)出Ri=X1EiQi-1+X2EiQi-2其中
其中,Ri是宏塊i使用的實際比特,Qi表示為宏塊i選擇的量化等級或級數(shù),Ei表示失真量度。在優(yōu)選實施例中,Ei表示對于當(dāng)前幀有Ri的那些宏塊的所有平均絕對差(MAD)之和。就是說,該量度Ei提供調(diào)整宏塊比特預(yù)算的方法以計算序列中的連續(xù)幀之間的宏塊差。換言之,當(dāng)前幀中的宏塊與前一幀中相同宏塊之間的差越大,當(dāng)前幀中編碼宏塊需要的比特數(shù)就越大。此外,可以采用其它失真量度,以便Ei可以表示均方誤差或正好變明顯的差(jnd)。
在初始化期間,公式(6)中的Ri被計算的Ri代替以產(chǎn)生Qi。參數(shù)X1和X2被如下初始化X1=(Rs*Ns)/2X2=0(7)Rs表示序列(或段)的比特率,例如,每秒24000比特。Ns表示編碼幀之間的距離。就是說,由于低比特率應(yīng)用,所以序列內(nèi)的某些幀可以不被編碼(跳躍),例如,編碼器可以僅編碼每個第四幀。應(yīng)該指出,跳躍幀的數(shù)可以適合特定應(yīng)用的需要。因此,在步驟440中,可以根據(jù)公式(6)和(7)來確定量化器級數(shù)Qi。
但是,計算的Qi受條件限制,該條件從宏塊至宏塊應(yīng)該不明顯改變。就是說,Qi受以下條件限制如果Qi<(Qlast-e),那么Qi=(Qlast-e)如果Qi>(Qlast+e),那么Qi=(Qlast+e) (8)其中,Qlast是有Ri的前一個宏塊的量化器級數(shù),而“e”是選擇值為“2”的常數(shù)(根據(jù)應(yīng)用可以采用其它值)。就是說,從宏塊至宏塊通過不大于值“2”的變化來限制計算的Qi。這種限制保持均勻的視覺質(zhì)量,即從宏塊至宏塊在視覺質(zhì)量上的明顯改變最小。應(yīng)該指出,如果當(dāng)前的宏塊被跳躍(沒有Ri情況下的宏塊),那么Qlast就取決于下一個當(dāng)前的“非跳躍”宏塊。
在步驟450中,Qi用于編碼宏塊,產(chǎn)生“實際Ri”(用于編碼宏塊的實際比特數(shù))。在實際編碼后,實際的Ri和Qi被用于更新參數(shù)X1和X2,利用回歸模式或二次回歸模式來精確參數(shù)X1和X2。就是說,更新常數(shù)X1和X2,以計算相對于特定量化器級別或級數(shù)分配給宏塊的比特和編碼宏塊所需要的實際比特數(shù)之間的偏差。對于各種回歸模型的詳細(xì)論述例如可參見Bowerman和O’Connell,F(xiàn)orecasting and Time Series,3rd Edition,Duxbury Press,(1993,chapter 4)。
此外,Tframe通過減去實際Ri來變更Tframe=Tframe-實際Ri(9)當(dāng)整個幀被編碼時,可以使用實際的Tframe(用于編碼幀的實際比特數(shù)),以變更分派產(chǎn)生的目標(biāo)幀比特率的方法,例如如圖3所示。
盡管上面的實施例采用Ri計算宏塊的量化器級數(shù),但也可以采用例如計算資源分配的其它編碼參數(shù)。就是說,如果確定特定的宏塊或一連串的宏塊有大的Ri,那么可以分配更大的處理能力,例如,在編碼特定的宏塊或一連串的宏塊時,在多個處理器的編碼系統(tǒng)中提供更多的處理器。
在步驟470中,方法400詢問幀內(nèi)是否有下一個宏塊。如果詢問被否定地答復(fù),那么方法400在步驟480中結(jié)束。如果詢問被肯定地答復(fù),那么方法400返回步驟430,其中,重復(fù)步驟430-460,直至當(dāng)前幀中所有宏塊被評估。
圖5表示包括本發(fā)明的基于小波(wavelet)的編碼器500。該編碼器包括塊運動補償器(BMC)和運動矢量編碼器504、減法器502、離散小波變換(DWT)編碼器506、比特率控制器510、DWT解碼器512和輸出緩沖器514。
一般地,如上所述,輸入信號是視頻圖象(在視頻序列中定義幀的兩維象素陣列)。為了通過低比特率信道準(zhǔn)確地傳送圖象,必須顯著地降低視頻幀序列中空間和時間的冗余量。這一般通過編碼和傳送連續(xù)幀之間的差來完成。編碼器有三個功能第一,使用BMC和其編碼器504產(chǎn)生表示出現(xiàn)在幀之間的運動的多個運動矢量;第二,與運動矢量組合地使用前一幀的重構(gòu)模型預(yù)測當(dāng)前的幀;第三,從當(dāng)前幀中減去預(yù)測的幀,產(chǎn)生與運動矢量一起被編碼和傳送至接收器的剩余幀。
離散小波變換完成小波分級的子波段(subband)分解,以產(chǎn)生表示輸入圖象的普通小波樹。為了實現(xiàn)這種圖象分解,利用雙倍子取樣為高水平-高垂直(HH)、(高水平-低垂直(HL)、低水平-高垂直(LH)和低水平-低垂直(LL)頻率子波段中來分解圖象。接著,LL子波段再被雙倍子取樣(subsampling),以產(chǎn)生一組HH、HL、LH和LL子波段。遞歸地完成這種子取樣,以產(chǎn)生例如圖6所示的已經(jīng)進(jìn)行三次子取樣的一系列子波段。實際上,最好進(jìn)行六次子取樣。子波段之間父子相關(guān)性如從父節(jié)點的子波段指向子節(jié)點的子波段的箭頭所示。最低頻率子波段是上部左邊的LL1,而最高頻率子波段在底部右邊的HH3處。在本實例中,所有子節(jié)點有一個父體。子波段分解的詳細(xì)論述可參見J.M.Shapiro,“Embedded Image Coding UsingZerotrees of Wavelet Coefficients”,IEEE Trans.on SignalProcessing,Vol.41,No.12,pp.3445-62,December 1993。
圖5所示的DWT編碼器按“橫向優(yōu)先”或“深度優(yōu)先”模式編碼小波樹的系數(shù)。橫向優(yōu)先模式在比特平面中按比特平面模式橫切小波樹,即量化所有父節(jié)點,接著量化所有子節(jié)點,然后量化所有第三代節(jié)點等。相反,深度優(yōu)先模式從低-低子波段(LL1)的根節(jié)點到子節(jié)點(頂部向下)或從子節(jié)點經(jīng)低-低子波段(底部向上)橫切各樹。如上所述,通過速率控制器510進(jìn)行適當(dāng)量化等級的選擇,以在序列的各幀內(nèi)控制各宏塊的比特率。因此,本發(fā)明可適合于采用不同變換的編碼器的各種類型。
圖7表示本發(fā)明的編碼系統(tǒng)700。該編碼系統(tǒng)包括通用計算機710和各種輸入/輸出裝置720。通用計算機包括中央處理單元(CPU)712、存儲器714和接收和編碼圖象序列的編碼器716。
在該優(yōu)選實施例中,編碼器716簡單地為上述那樣的編碼器100和/或編碼器500。編碼器716可以是通過通信信道與CPU712連接的物理裝置。另一方面,編碼器716可以用存儲裝置裝載的和由計算機的存儲器712中存儲的應(yīng)用軟件(或軟件和硬件的組合,例如,采用特定的集成電路(ASIC))來表示。因此,本發(fā)明的編碼器100和500可以被存儲在計算機可讀的介質(zhì)中,例如存儲器或存儲裝置中。
計算機710可以與多個輸入和輸出裝置720耦接,例如,鍵盤、鼠標(biāo)器、攝象機、camcorder、視頻監(jiān)視器、多個圖象裝置或存儲裝置,但不限于此,還有磁帶驅(qū)動器、軟盤驅(qū)動器、硬磁盤或小型磁盤驅(qū)動器。輸入裝置把輸入提供給計算機,以便產(chǎn)生編碼的視頻比特流或接收來自存儲裝置或圖象裝置的視頻圖象序列。最后,通信信道730顯示來自編碼系統(tǒng)的編碼信號被傳送至解碼系統(tǒng)(未示出)。
因此,已經(jīng)展示和說明了在各幀內(nèi)對各宏塊選擇量化器級數(shù)以保持視頻圖象的總體質(zhì)量同時使編碼速率最佳的新穎裝置和方法。但是,對于本領(lǐng)域技術(shù)人員來說,在研究本說明書和披露其實施例的附圖后,顯然可以進(jìn)行屬于本發(fā)明的許多改變、改進(jìn)、變更和各種其它應(yīng)用。不脫離本發(fā)明的精神和范圍的所有這些改變、改進(jìn)、變更和各種其它應(yīng)用都被認(rèn)為包括在本發(fā)明內(nèi)。
權(quán)利要求
1.一種分配比特以編碼圖象序列的各幀的方法,各所述幀至少有一個塊,所述方法包括以下步驟(a)對該幀確定目標(biāo)幀比特率;和(b)在至少一個塊中分配所述目標(biāo)幀比特率。
2.如權(quán)利要求1的方法,其中,所述分配步驟(b)包括按照至少一個塊的目標(biāo)塊比特率分配所述目標(biāo)幀比特率的步驟。
3.如權(quán)利要求2的方法,其中,按照所述塊的平均絕對差(Mad)選擇至少一個塊的所述目標(biāo)塊比特率。
4.如權(quán)利要求3的方法,其中,所述目標(biāo)塊比特率按下式確定Ri=Ki×Tframe
對于Madk有SADk>Hq其中,Mad是塊的平均絕對差(MAD),n是該幀中的塊數(shù),w是加權(quán)因子,而Ri是所述目標(biāo)塊比特率,Sad是塊的絕對差(SAD)之和,而Hq是常數(shù)。
5.如權(quán)利要求3的方法,其中,按照閾值Hq調(diào)整所述目標(biāo)塊比特率。
6.如權(quán)利要求5的方法,其中,通過不對幀內(nèi)具有小于所述閾值Hq的絕對差之和(SAD)的各塊進(jìn)行在至少一個所述塊中分配所述目標(biāo)幀比特率來調(diào)整所述目標(biāo)塊比特率。
7.如權(quán)利要求1的方法,其特征在于,所述目標(biāo)幀比特率Tframe可按下式推出Tframe=RNf×(1-past_percent)+Tprevious frame×past_precent]]>其中,R是圖象序列的剩余比特數(shù),Nf是圖象序列中剩余幀數(shù),Tprevious frame是用于編碼前一幀的比特數(shù),而past_percent是常數(shù)。
8.如權(quán)利要求2的方法,還包括以下步驟(c)根據(jù)所述目標(biāo)塊比特率對所述至少一個塊產(chǎn)生量化器級數(shù)。
9.一種編碼圖象序列各幀的裝置,所述幀有至少一個塊,所述裝置包括運動補償器,用于產(chǎn)生當(dāng)前幀的預(yù)測圖象;變換模塊,用于對當(dāng)前幀和所述預(yù)測圖象之間的差分信號進(jìn)行變換,其中,所述變換產(chǎn)生多個系數(shù);量化器,用于按至少一個量化器級數(shù)量化所述多個系數(shù);和控制器,用于根據(jù)至少一個塊的目標(biāo)塊比特率,有選擇地調(diào)整當(dāng)前幀的所述至少一個量化器級數(shù)。
10.如權(quán)利要求9的裝置,其特征在于,按照所述塊的平均絕對差(Mad)選擇至少一個塊的所述目標(biāo)塊比特率。
全文摘要
披露了對幀內(nèi)各宏塊選擇量化器級數(shù)使編碼速率最佳的裝置和方法(130)。對幀內(nèi)各宏塊(120)選擇量化器級數(shù),以便達(dá)到幀的目標(biāo)比特率,同時在整個幀上保持均勻的可視質(zhì)量。
文檔編號G06T9/00GK1274446SQ98807140
公開日2000年11月22日 申請日期1998年7月9日 優(yōu)先權(quán)日1997年7月14日
發(fā)明者蒂浩·張, 翰久·李, 亞欽·章 申請人:薩爾諾夫公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宜黄县| 安多县| 甘孜县| 荔波县| 高清| 望谟县| 封开县| 黑水县| 沙田区| 泽州县| 海林市| 南安市| 武山县| 磴口县| 扎赉特旗| 康乐县| 贡觉县| 库尔勒市| 徐州市| 石棉县| 大冶市| 渭南市| 鄂温| 前郭尔| 财经| 马尔康县| 贵德县| 独山县| 宣恩县| 汾西县| 宁明县| 南皮县| 大埔区| 钟山县| 巢湖市| 普洱| 泌阳县| 萨迦县| 永安市| 博客| 宁陕县|