專(zhuān)利名稱(chēng):比特率改變方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及改變具有下述特性的數(shù)據(jù)流的比特率的方法和裝置。該數(shù)據(jù)流包括控制字??刂谱侄x何時(shí)從接收端的輸入緩沖器讀出包含于數(shù)據(jù)流中的數(shù)據(jù)部分。一種根據(jù)運(yùn)動(dòng)圖象專(zhuān)家組(MPEG)標(biāo)準(zhǔn)的視頻數(shù)據(jù)流具有這種特性。
美國(guó)專(zhuān)利No.5,680,483(代理案號(hào)PHF 94,510)描述了一種可變比特率的編碼器。
本發(fā)明的一個(gè)目的是使包括在數(shù)據(jù)流中的數(shù)據(jù)具有更好的質(zhì)量。
本發(fā)明考慮下面的幾個(gè)方面。假設(shè)在某一時(shí)刻應(yīng)當(dāng)提高數(shù)據(jù)流的比特率以便于把數(shù)據(jù)質(zhì)量保持在一定的水平。理想的情況是比特率可瞬時(shí)改變。也就是說(shuō),理論上要能夠?qū)Ρ忍匦枰⒖套龀鲰憫?yīng)。然而,對(duì)于具有上述特性的數(shù)據(jù)流來(lái)說(shuō),比特率不能立刻改變。如果比特率立刻改變,可能會(huì)引起接收端輸入緩沖器即將溢出(underflow)和溢出(overflow)。那么將丟失數(shù)據(jù),這樣的話就會(huì)損害數(shù)據(jù)質(zhì)量。
背景技術(shù):
采用了下面的原理。比特率只能在每個(gè)已經(jīng)定義的控制字在接收端產(chǎn)生作用后才會(huì)改變。在MPEG術(shù)語(yǔ)中,這意味著比特率借助一個(gè)對(duì)應(yīng)于終端間延遲的延遲而改變。相應(yīng)地,要確保無(wú)論怎樣改變比特率都不會(huì)發(fā)生上述的溢出。
依據(jù)本發(fā)明可為未來(lái)的至少一個(gè)時(shí)刻計(jì)算在該未來(lái)時(shí)刻的數(shù)據(jù)流比特率在什么樣的界限內(nèi)改變才不會(huì)引起輸入緩沖器的即將溢出和溢出。在一個(gè)未來(lái)的時(shí)刻,比特率在已經(jīng)為該未來(lái)時(shí)刻確定的界限之內(nèi)改變。
因此,本發(fā)明允許在一個(gè)較短的延遲內(nèi)改變比特率,同時(shí)防止溢出和即將溢出。實(shí)際上,比特率在一個(gè)較短的延遲之內(nèi)可能不會(huì)變成希望的比特率。但該比特率可以變成所希望比特率的近似值,這個(gè)近似值是上面提到的界限之一。后者通常對(duì)比特需要提供一個(gè)較好的響應(yīng),而不是象背景技術(shù)一樣等待較長(zhǎng)的固定延遲來(lái)應(yīng)用希望的比特率。因此,本發(fā)明使包括在數(shù)據(jù)流中的數(shù)據(jù)具有更好地質(zhì)量。
本發(fā)明以及可選擇性地用于使本發(fā)明體現(xiàn)優(yōu)點(diǎn)的其它特征通過(guò)參照下述的附圖將變得顯而易見(jiàn)并將被闡明。
圖1和圖2是表示權(quán)利要求1所要求的本發(fā)明基本特征的概念圖。
圖3是表示根據(jù)本發(fā)明的視頻編碼組件的實(shí)例框圖。
圖4是表示形成圖3所示視頻編碼組件一部分的編碼器的框圖。
圖5是表示一種用于圖3所示視頻編碼組件的總比特率控制法的流程圖。
圖6是表示圖3示出的視頻編碼組件中的編碼器的編碼數(shù)據(jù)經(jīng)編碼器的輸出緩沖器并經(jīng)虛擬解碼器的輸入緩沖器傳送的圖。
圖7是表示計(jì)算圖3的視頻編碼組件中的編碼器的新的最小比特率和新的最大比特率的圖。
圖8是表示用于圖4示出的編碼器的量化參數(shù)控制法的流程圖。
下面的陳述涉及標(biāo)號(hào)。在所有的圖中,相似的實(shí)體以相同的標(biāo)號(hào)來(lái)代表。幾個(gè)相似的實(shí)體可能會(huì)出現(xiàn)在同一張圖中。在這種情況下,為了識(shí)別相似的實(shí)體,給標(biāo)號(hào)添加數(shù)字或下標(biāo)。為了方便起見(jiàn),數(shù)字或下標(biāo)可以忽略,或者在其數(shù)值不重要時(shí)(不考慮數(shù)值)以星號(hào)來(lái)代替。這種情況適于本說(shuō)明書(shū)及權(quán)利要求書(shū)。
圖1表示下面的特征。數(shù)據(jù)流DS包括控制字CW??刂谱諧W[i]定義包含在該控制字和隨后的一個(gè)控制字CW[i+1]之間的數(shù)據(jù)部分DP[i]何時(shí)從接收端的輸入緩沖器IBUF中讀出。
圖2表示下面的特征。為未來(lái)的至少一個(gè)時(shí)刻Tfut計(jì)算在該未來(lái)時(shí)刻Tfut的數(shù)據(jù)流比特率R在什么樣的界限Rmax、Rmin內(nèi)改變才不會(huì)引起輸入緩沖器的即將溢出和溢出。在未來(lái)的一個(gè)時(shí)刻Tfut2,該比特率在已經(jīng)為該未來(lái)時(shí)刻Tfut2計(jì)算的界限Rmax2、Rmin2之內(nèi)改變。
圖3表示根據(jù)本發(fā)明的視頻編碼組件的實(shí)例。該視頻編碼組件接收幾個(gè)視頻節(jié)目VP,并且通過(guò)響應(yīng)提供一個(gè)多路復(fù)用的MPEG數(shù)據(jù)流MMDS。多路復(fù)用的MPEG數(shù)據(jù)流MMDS包括每個(gè)視頻節(jié)目VP的MPEG編碼類(lèi)型。該視頻編碼組件包括幾個(gè)編碼器ENC,一個(gè)多路復(fù)用器MUX和一個(gè)總比特率控制器JBRC。
該視頻編碼組件基本上進(jìn)行如下工作。每個(gè)編碼器ENC編碼一個(gè)不同的視頻節(jié)目并且把一個(gè)MPEG數(shù)據(jù)流MDS提供到多路復(fù)用器。多路復(fù)用器組合MPEG數(shù)據(jù)流以獲得多路復(fù)用的MPEG數(shù)據(jù)流MMDS。每個(gè)編碼器還建立它所編碼的視頻節(jié)目中的每個(gè)圖象的比特率控制指示。該比特率控制指示是一個(gè)對(duì)編碼當(dāng)前和隨后若干圖象的難易程度的評(píng)估。對(duì)于給定的質(zhì)量來(lái)說(shuō),如果圖象編碼分別產(chǎn)生較多或較少的比特率,則圖象難以或易于編碼。
總比特率控制器根據(jù)它接收的比特率控制指示而在視頻編碼器之間分配總比特率Rtot。也就是說(shuō),總比特率控制器給每個(gè)編碼器分配一個(gè)特定的比特率R,這些比特率之和就是總比特率。編碼器把它的MPEG數(shù)據(jù)流以它所分配到的比特率提供給多路復(fù)用器??偙忍芈士刂破鞣峙浣o接收難編碼圖象的編碼器的比特率高于分配給接收易編碼圖象的編碼器的比特率。這樣,總比特率控制器保持各個(gè)編碼器所提供編碼圖象之間的基本穩(wěn)定的質(zhì)量比。而且總比特率控制器幫助各個(gè)編碼器以基本穩(wěn)定的質(zhì)量來(lái)提供連續(xù)的編碼圖象。下面將詳細(xì)描述此情況。
圖4所示為形成圖3示出的視頻編碼組件的一部分的編碼器ENC。該編碼器包括編碼電路EC、一個(gè)輸出緩沖器OBUF和一個(gè)控制器CON。它基本上進(jìn)行如下操作。編碼電路根據(jù)量化參數(shù)QP編碼連續(xù)圖象P。編碼電路將編碼圖象Pe提供給輸出緩沖器OBUF。輸出緩沖器以比特率為R的MPEG數(shù)據(jù)流形式輸出編碼圖象。
編碼類(lèi)型有三種I-型、P-型和B-型編碼,根據(jù)這三種編碼類(lèi)型可編碼圖象。I-型、P-型或B-型編碼的圖象隨后將分別稱(chēng)作I-、P-和B-圖象。而且在所應(yīng)用的編碼類(lèi)型中存在一個(gè)循環(huán)模式。每個(gè)循環(huán)開(kāi)始于I-型編碼并且接著是一個(gè)或多個(gè)P-和B-型編碼。一個(gè)循環(huán)涉及N個(gè)圖象,N是一個(gè)整數(shù)。例如,對(duì)于N=6來(lái)說(shuō),循環(huán)編碼模式可以是I-B-B-P-B-B。
控制器根據(jù)它從總比特率控制器接收到的總比特率控制信息JBRCM控制比特率。總比特率控制信息定義編碼器的比特率并且還定義何時(shí)應(yīng)用這個(gè)比特率。因此實(shí)際上總比特率控制信息定義編碼器的比特率特征(profile)??刂破鞲鶕?jù)比特率特征(profile)控制比特率。還可使用比特率控制信號(hào)RC來(lái)完成這個(gè)工作,該比特率控制信號(hào)RC確定編碼圖象數(shù)據(jù)從輸出緩沖器讀出的速率。
量化參數(shù)基本上確定了編碼圖象的質(zhì)量。在編碼圖象時(shí)它的值越低,編碼圖象的質(zhì)量越高,但是編碼圖象將包括更多的比特。量化參數(shù)最好具有一個(gè)穩(wěn)定且不至于在接收MPEG數(shù)據(jù)流的解碼器的輸入緩沖器中引起即將溢出或溢出的盡可能低的值。
該控制器根據(jù)幾個(gè)參數(shù)控制量化參數(shù)。一個(gè)參數(shù)是由總比特率控制信息定義的比特率特征(profile)。另一個(gè)參數(shù)是包含在輸出緩沖器中的編碼數(shù)據(jù)量F。這兩個(gè)參數(shù)定義編碼一組圖象時(shí)可使用的比特?cái)?shù)空間。另一個(gè)用于量化參數(shù)控制的參數(shù)是編碼結(jié)果ER。該編碼結(jié)果提供有關(guān)如何在圖象間分配可用空間以使量化參數(shù)具有一個(gè)基本穩(wěn)定的數(shù)值的信息。圖象的編碼結(jié)果或是其一部分可做如下表示由圖象編碼產(chǎn)生的比特?cái)?shù)或其一部分乘以已經(jīng)應(yīng)用的量化值。這個(gè)乘積隨后將稱(chēng)作復(fù)雜度。
編碼器能夠以單通(single-pass)模式或雙通(double-pass)模式工作。在單通模式中,編碼電路只編碼圖象一次。也就是說(shuō),圖象實(shí)際上只經(jīng)過(guò)編碼電路一次。在這個(gè)單通期間,控制器只使用與以前圖象相關(guān)的編碼結(jié)果來(lái)控制量化參數(shù)。在雙通模式中,編碼電路編碼圖象兩次。也就是說(shuō),圖象實(shí)際上經(jīng)過(guò)編碼電路兩次。在第一次通過(guò)時(shí),圖象在控制器應(yīng)用一個(gè)固定量化參數(shù)時(shí)編碼。第一次通過(guò)用于獲得與此圖象相關(guān)的編碼結(jié)果。在第二次通過(guò)時(shí),控制器使用第一次通過(guò)時(shí)獲得的編碼結(jié)果控制上述的量化參數(shù)。這樣,在雙通模式中的量化參數(shù)控制通常好于單通模式中的量化參數(shù)控制。
控制器還建立每個(gè)要編碼圖象的比特率控制指示IND。在單通模式中,編碼器只根據(jù)與前面圖象相關(guān)的編碼結(jié)果建立比特率控制指示。在雙通模式中,編碼器根據(jù)包括當(dāng)前圖象編碼結(jié)果的編碼結(jié)果建立比特率控制指示。
圖5示出了一種用于圖3所示的視頻編碼組件的總比特率控制法。在起始步驟GS1,總比特率控制器為每個(gè)編碼器ENC分配一個(gè)目標(biāo)比特率Rtarget。該目標(biāo)比特率Rtarget決定由相關(guān)編碼器提供的編碼圖象的平均質(zhì)量。
下列的步驟被重復(fù)執(zhí)行。例如,它們可在每個(gè)圖象周期中執(zhí)行。
在指示-計(jì)算步驟GS2中,每個(gè)編碼器計(jì)算比特率控制指示IND并且把這個(gè)比特率控制指示發(fā)送到總比特率控制器??扇缦掠?jì)算這個(gè)比特率控制指示。比特率控制指示由平均圖象復(fù)雜度AVX乘以每個(gè)編碼器的目標(biāo)比特率,再除以亮度熵的值A(chǔ)CT得出??扇缦掠?jì)算平均圖象復(fù)雜度。假定對(duì)于N-1個(gè)隨后的圖象來(lái)說(shuō),每個(gè)I-、P-和B-圖象分別具有一個(gè)最近編碼的I-、P-和B-圖象的復(fù)雜度。這樣,平均圖象復(fù)雜度就是當(dāng)前圖象和N-1個(gè)隨后圖象的平均復(fù)雜度。亮度熵就是在單通模式中的前個(gè)圖象或是在雙通模式中的當(dāng)前圖象的最新編碼圖象中的宏塊活動(dòng)性的平均值。宏塊活動(dòng)性在文件ISO/IECJTC1/SC29/WG11/N0400,April 1993的“測(cè)試模型5,草案修訂2”的5.2.2部分,60頁(yè)中有定義。
在比特率計(jì)算步驟GS3中,總比特率控制器為每個(gè)編碼器計(jì)算理論上應(yīng)當(dāng)分配給該編碼器的最佳比特率Ropt。每個(gè)編碼器的最佳比特率由該編碼器的比特率控制指示除以所有比特率控制指示之和,再乘以總比特率得出。因而實(shí)際上最佳比特率是總比特率的一部分。該部分的大小對(duì)應(yīng)于該比特率控制指示所占全部比特率控制指示之和的比例。
在轉(zhuǎn)換時(shí)刻檢測(cè)步驟GS4中,檢測(cè)若干不同的轉(zhuǎn)換時(shí)刻Tsw。轉(zhuǎn)換時(shí)刻是一個(gè)可以調(diào)整各個(gè)MPEG數(shù)據(jù)流的比特率的時(shí)刻。某些轉(zhuǎn)換時(shí)刻,或者甚至是所有的轉(zhuǎn)換時(shí)刻可比當(dāng)前時(shí)刻加上恒定的終端間延遲要早。恒定的終端間延遲是編碼圖象寫(xiě)入編碼器輸出緩沖器的時(shí)刻與編碼圖象從直接連接到編碼器的虛擬解碼器的輸入緩沖器讀出的時(shí)刻之間的差值。也就是說(shuō),在編碼器和虛擬解碼器之間沒(méi)有傳輸延遲。
轉(zhuǎn)換時(shí)刻檢查步驟GS4包括每個(gè)轉(zhuǎn)換時(shí)刻單獨(dú)執(zhí)行的兩個(gè)子步驟。
在比特率限制(clipping)子步驟GS4a中,總比特率控制器以下述的方式建立每個(gè)編碼器的限制最佳比特率Roptc??偙忍芈士刂破魇紫葹榉螹PEG-2的編碼器計(jì)算新的最大比特率Rmax和新的最小比特率Rmin。如果編碼器提供的MPEG數(shù)據(jù)流在解碼器輸入緩沖器中既不引起即將溢出又不引起溢出,那么它符合MPEG-2。如果新比特率超過(guò)新的最大比特率將發(fā)生溢出,并且如果新比特率低于新的最小比特率將發(fā)生即將溢出。下面將更詳細(xì)地描述總比特率控制器計(jì)算新的最小比特率和最大新比行率的方式。限制的最佳比特率是上面所定義的最佳比特率,除非該最佳比特率引起即將溢出或溢出。如果那樣的話,限制的最佳比特率分別是最小比特率或最大比特率。
在Δ比率計(jì)算子步驟GS4b中,總比特率控制器計(jì)算每個(gè)編碼器的Δ比率ΔR。在研究中假定比特率在轉(zhuǎn)換時(shí)刻轉(zhuǎn)換成限制的最佳比特率??偙忍芈士刂破饔?jì)算隨后將要在涉及當(dāng)前圖象和N-1個(gè)隨后圖象的時(shí)間段內(nèi)獲得的平均比特率。Δ比率是最佳比特率和如此計(jì)算的平均比特率之間的差。理想的情況是,每個(gè)編碼器的Δ比率應(yīng)當(dāng)為零。
在轉(zhuǎn)換時(shí)刻選擇步驟GS5中,所研究的轉(zhuǎn)換時(shí)刻中的一個(gè)以下面的方式選擇。對(duì)于每個(gè)轉(zhuǎn)換時(shí)刻來(lái)說(shuō),確定哪一個(gè)的Δ比率具有最大值。這個(gè)Δ比率稱(chēng)作最大Δ比率。Δ比率越大,偏離最佳比特率的相應(yīng)比特?cái)?shù)越大,并且因此越偏離MPEG數(shù)據(jù)流之間的希望質(zhì)量比。選擇最大Δ比率具有最小值的轉(zhuǎn)換時(shí)刻Tswsel=TswMIN(MAX(ΔR))。
在比特率控制步驟GS6中,總比特率控制器向每個(gè)編碼器發(fā)送總比特率控制信息JBRCM??偙忍芈士刂菩畔⒁?guī)定所選的轉(zhuǎn)換時(shí)刻。它還規(guī)定每個(gè)編碼器應(yīng)用到所選轉(zhuǎn)換時(shí)刻的限制最佳比特率。這樣,一旦到達(dá)所選的轉(zhuǎn)換時(shí)刻,總比特率控制器規(guī)劃每個(gè)編碼器以限制的最佳比特率提供其MPEG數(shù)據(jù)流。直到那個(gè)時(shí)刻,各個(gè)編碼器才輸出在以前的比特率控制信息中定義的它們的MPEG數(shù)據(jù)流。
圖6表示圖3示出的視頻編碼組件中的編碼器的編碼數(shù)據(jù)經(jīng)編碼器的輸出緩沖器并且經(jīng)虛擬解碼器的輸入緩沖器的傳送。圖6是一個(gè)水平軸表示時(shí)間T且垂直軸表示編碼器產(chǎn)生的有關(guān)比特?cái)?shù)的編碼數(shù)據(jù)量NB的圖。垂直軸還指出編碼數(shù)據(jù)屬于哪一種圖象P。編碼數(shù)據(jù)量隨著已經(jīng)編碼的每個(gè)連續(xù)圖象P增加。
圖6示出的圖包括三條曲線A、B和C。曲線A表示寫(xiě)入編碼器輸出緩沖器的編碼數(shù)據(jù)。例如,曲線A顯示出屬于圖象P[i]的編碼數(shù)據(jù)在時(shí)刻T[i]寫(xiě)入輸出緩沖器。在每個(gè)圖象周期Tpp,一個(gè)新圖象寫(xiě)入輸出緩沖器。
曲線B表示從輸出緩沖器讀出以形成MPEG數(shù)據(jù)流的編碼數(shù)據(jù)。曲線B的斜率由MPEG數(shù)據(jù)流的比特率定義。例如,曲線B出顯示屬于圖象P[i]的編碼數(shù)據(jù)在相對(duì)于時(shí)刻T[i]的一個(gè)延遲ΔTob之后從輸出緩沖器中讀出。假定虛擬解碼器沒(méi)有任何傳輸延遲地接收MPEG數(shù)據(jù)流。那么,曲線B也表示寫(xiě)入到解碼器的輸入緩沖器中的編碼數(shù)據(jù)。也就是說(shuō),圖象P[i]在時(shí)刻T[i]+ΔTob寫(xiě)入到輸入緩沖器。
曲線C表示從虛擬解碼器的輸入緩沖器中讀出的編碼數(shù)據(jù)。假定圖象立即從輸入緩沖器中讀出。也就是說(shuō),讀出圖象不需要花任何時(shí)間。例如,曲線C顯示出屬于圖象P[i]的編碼數(shù)據(jù)在時(shí)刻T[i]+ΔTeed立即從輸入緩沖器中讀出。ΔTeed表示恒定的終端間延遲。這個(gè)恒定的終端間延遲就是圖象已經(jīng)寫(xiě)入到編碼器輸出緩沖器的時(shí)刻和圖象已經(jīng)從虛擬解碼器的輸入緩沖器中讀出的時(shí)刻之間的差值。它具有ΔTeed=ΔTob+ΔTib,其中ΔTib表示輸入緩沖器延遲。輸入緩沖器延遲定義圖象何時(shí)從解碼器的輸入緩沖器中讀出。
在任意的一個(gè)時(shí)刻,包含在虛擬解碼器的輸入緩沖器中的數(shù)據(jù)量是在那個(gè)時(shí)刻的曲線B和曲線C之間的差值。對(duì)于符合MPEG來(lái)說(shuō),這個(gè)數(shù)據(jù)量應(yīng)當(dāng)保持在上限和下限之間。如果這樣的話,則可以確信任何接收MPEG數(shù)據(jù)流的符合MPEG的解碼器將不會(huì)下溢也不會(huì)溢出。在這點(diǎn)上,在編碼器和解碼器之間的任何傳輸延遲都不起作用。這是因?yàn)镸PEG數(shù)據(jù)流包括定義每個(gè)圖象何時(shí)從輸入緩沖器讀出的控制字。這些控制字定義每個(gè)圖象的ΔTib,這樣ΔTob+ΔTib=ΔTeed。因此,它總是使得包含在虛擬解碼器的輸入緩沖器中的數(shù)據(jù)量也將包含在一個(gè)延遲ΔTtrans之后的真實(shí)解碼器的輸入緩沖器之中,其中ΔTtrans是傳輸延遲。因此,如果虛擬解碼器的輸入緩沖器從來(lái)不即將溢出或溢出,那么真實(shí)解碼器的輸入緩沖器也不這樣。
假定當(dāng)前時(shí)間是時(shí)刻T[i]圖象P[i]即將被編碼并因此將要寫(xiě)入到編碼器的輸出緩沖器。這意味著任何遲于T[i]的時(shí)刻都是將來(lái)。前面已經(jīng)提到,任何寫(xiě)入輸出緩沖器的編碼圖象都將在一個(gè)延遲ΔTeed之后從輸入緩沖器中讀出。因此,可以精確地推斷在一個(gè)從當(dāng)前時(shí)刻延長(zhǎng)ΔTeed的時(shí)間段內(nèi)的曲線C的未來(lái)。它只根據(jù)在相同時(shí)間段內(nèi)曲線B的未來(lái)是否將即將溢出或溢出或者兩者都不是來(lái)確定。曲線B的未來(lái)由MPEG數(shù)據(jù)流的比特率特征定義。該比特率特征由參照?qǐng)D5上述的總比特率控制器確定。
圖7示出了一種為圖3的視頻編碼組件中的編碼器計(jì)算新的最小比特率和新的最大比特率的方法。該計(jì)算要求在一個(gè)未來(lái)時(shí)刻T[i]+ΔTsw有一個(gè)比特率轉(zhuǎn)換,其中ΔTsw包括在0和ΔTeed之間。圖7是重復(fù)圖6所示特征的圖。為了簡(jiǎn)便起見(jiàn),假定比特率實(shí)際上為常數(shù)并且等于R1,直到T[i]+ΔTsw為止。把如果低于它則輸入緩沖器將發(fā)生下溢的數(shù)據(jù)量假定為零。把如果高于它則輸入緩沖器將發(fā)生溢出的數(shù)據(jù)量假定為OVR。圖7所示的圖包括曲線C+,它是被提升了OVR量的曲線C。
曲線B延伸出兩條斜線Rmin和Rmax。斜線Rmin表示低于它將發(fā)生即將溢出的新的最小比特率。斜線Rmin只與曲線C的一點(diǎn)接觸。如果斜線Rmin不陡的話將發(fā)生即將溢出。斜線Rmax表示超過(guò)它將發(fā)生溢出的新的最大比特率。斜線Rmax只與曲線C+的一點(diǎn)接觸。如果斜率Rmax比較陡的話將發(fā)生溢出。
總比特率控制器可根據(jù)每個(gè)編碼器提供的信息計(jì)算該編碼器的曲線C和C+。例如,一條信息可指示包含在編碼圖象中的編碼數(shù)據(jù)量以及編碼圖象將從虛擬解碼器的輸入緩沖器中讀出的時(shí)刻??偙忍芈士刂破鬟€可根據(jù)編碼器的比特率特征(profile)計(jì)算直到時(shí)刻T[i]+ΔTsw的曲線B。該比特率特征(profile)由總比特率控制器自己控制。因而對(duì)于曲線B的計(jì)算來(lái)說(shuō),總比特率控制器存儲(chǔ)它新近提供到編碼器的比特率控制信息是足夠的。一旦計(jì)算了T[i]+和T[i]+ΔTeed間的時(shí)間段的曲線C和C+,并且計(jì)算了T[i]+和T[i]+ΔTsw間的時(shí)間段的曲線B,那么總比特率控制器可計(jì)算在轉(zhuǎn)換時(shí)刻T[i]+ΔTsw應(yīng)用的新的最小和最大比特率。
圖8表示在圖4所示的編碼器中的一種量化參數(shù)控制法的實(shí)例。該方法包括S1-S9的多個(gè)步驟,每個(gè)圖象P均執(zhí)行這些步驟。圖象P中的每個(gè)部分也可執(zhí)行步驟S1-S9。假定編碼器以上述的單通模式操作。應(yīng)當(dāng)注意的是,在MPEG中有三種不同的編碼圖象類(lèi)型I-型編碼、P-型編碼和B-型編碼。執(zhí)行I-型、P-型或B-型編碼的圖象將分別稱(chēng)作I、P或B型圖象。
在步驟S1中計(jì)算每種類(lèi)型的圖象I、P和B的圖象復(fù)雜度PCX。每種圖象的復(fù)雜度PCX是最近編碼產(chǎn)生的比特?cái)?shù)NOB和在最近編碼中使用的量化參數(shù)值QPAR的乘積。每種圖象的復(fù)雜度PCX實(shí)際上是相關(guān)編碼類(lèi)型過(guò)去的編碼經(jīng)驗(yàn)。對(duì)于某一個(gè)量化參數(shù)值QPAR來(lái)說(shuō),如果要編碼隨后的一個(gè)圖象的話,則它可用來(lái)預(yù)測(cè)將要獲得的輸出比特?cái)?shù)。對(duì)于要使用的編碼類(lèi)型來(lái)說(shuō),圖象復(fù)雜度PCX可除以量化參數(shù)值QPAR。這個(gè)相除結(jié)果是一個(gè)根據(jù)過(guò)去編碼經(jīng)驗(yàn)而要獲得的輸出比特?cái)?shù)的預(yù)測(cè)。
在步驟S2中計(jì)算一個(gè)圖象組的復(fù)雜度GCX。該圖象組的復(fù)雜度GCX是三項(xiàng)之和。每一項(xiàng)涉及不同的圖象類(lèi)型并且由相關(guān)類(lèi)型的圖象復(fù)雜度PCX乘以一組圖象內(nèi)的相關(guān)類(lèi)型的圖象數(shù)M,再除以相關(guān)類(lèi)型的加權(quán)系數(shù)K得出。該圖象組的復(fù)雜度GCX實(shí)際上還是一個(gè)過(guò)去的編碼經(jīng)驗(yàn),比可用于計(jì)算量化參數(shù)值QPAR的圖象復(fù)雜度PCX更廣泛。例如,該圖象組的復(fù)雜度GCX可除以隨后的N個(gè)圖象要獲得的希望輸出比特?cái)?shù)。相應(yīng)地可得到量化參數(shù)QPAR的值,使用它并根據(jù)過(guò)去的編碼經(jīng)驗(yàn),隨后的N個(gè)圖象的編碼將產(chǎn)生希望的比特?cái)?shù)。然而,后者不需要這樣。
在步驟S3中計(jì)算每種類(lèi)型的圖象I、P和B的圖象編碼預(yù)測(cè)PCE。圖象編碼預(yù)測(cè)PCE是第一和第二項(xiàng)的乘積。第一項(xiàng)是由有關(guān)類(lèi)型的圖象復(fù)雜度PCX除以有關(guān)類(lèi)型的加權(quán)系數(shù)K。第二項(xiàng)是一組編碼目標(biāo)GCT的初始值VALint除以步驟2中計(jì)算的圖象組的復(fù)雜度GCX。該組編碼目標(biāo)GCT是一個(gè)通過(guò)編碼當(dāng)前圖象和隨后的N-1個(gè)圖象而獲得的比特?cái)?shù)。該組編碼目標(biāo)GCT的初始值VALint是將在涉及當(dāng)前圖象和隨后的N-1個(gè)圖象的周期中從輸出緩沖器輸出的比特?cái)?shù)。這樣,圖象編碼預(yù)測(cè)PCE根據(jù)下面的目標(biāo)而定進(jìn)入輸出緩沖器OBUF的數(shù)據(jù)量應(yīng)當(dāng)?shù)扔谠谙嚓P(guān)周期從緩沖器OBUF取出的數(shù)據(jù)量。圖象編碼預(yù)測(cè)PCE的第二項(xiàng)表示用于量化參數(shù)QPAR的值,使用它且根據(jù)過(guò)去的經(jīng)驗(yàn)可實(shí)現(xiàn)這個(gè)目標(biāo)。
應(yīng)當(dāng)注意的是,組編碼目標(biāo)GCT的初始值VALint根據(jù)編碼器接收的總比特率控制信息來(lái)確定。正如參照?qǐng)D3所解釋的,這些總比特率控制信息定義編碼器的比特率特征(profile)。該比特率特征定義將在涉及當(dāng)前圖象和N-1個(gè)隨后圖象的周期中從輸出緩沖器OBUT中輸出的比特?cái)?shù)。由于這個(gè)比特?cái)?shù)是一個(gè)組編碼目標(biāo)GCT,因而總比特率控制信息這樣定義這個(gè)目標(biāo)。所以,圖象編碼預(yù)測(cè)PCE根據(jù)總比特率控制信息而定。
在步驟S4中計(jì)算下一個(gè)I-圖象的預(yù)計(jì)緩沖器滿度(fullness)BF[下一個(gè)I]。預(yù)計(jì)的緩沖器滿度BF[下一個(gè)I]根據(jù)組編碼目標(biāo)GCT的初始值VALint和由其產(chǎn)生的圖象編碼預(yù)測(cè)PCE而定。預(yù)計(jì)的緩沖器滿度BF[下一個(gè)I]是由輸出緩沖器的當(dāng)前滿度BF[當(dāng)前]加上包括直到下一個(gè)I-圖象為止的每個(gè)圖象的圖象編碼預(yù)測(cè)PCE的圖象編碼預(yù)測(cè)之和∑,再減去將要從輸出緩沖器中輸出的直到下一個(gè)I圖象為止的比特?cái)?shù)OUT[下一個(gè)I]。
在步驟S5中計(jì)算緩沖器滿度剩余量ΔBF。該緩沖器滿度余量ΔBF是預(yù)計(jì)的緩沖器滿度BF[下一個(gè)I]和下一個(gè)I圖象的希望的緩沖器滿度BF[des]之間的差。希望的緩沖器滿度BF[des]最好以它對(duì)應(yīng)于解碼器端的輸入緩沖器基本上充滿在解碼I圖象之前的數(shù)據(jù)的形式來(lái)定義。
在步驟S6中計(jì)算組編碼目標(biāo)GCT的自適應(yīng)值VALadp。組編碼目標(biāo)GCT的自適應(yīng)值VALadp是由將在包括當(dāng)前圖象和隨后的N-1個(gè)圖象的周期中從輸出緩沖器輸出的比特?cái)?shù)的組編碼目標(biāo)GCT的初始值VALint減去緩沖器滿度余量ΔBF得到。
在步驟S7中計(jì)算用于編碼當(dāng)前圖象的圖象編碼目標(biāo)PCT。圖象編碼目標(biāo)PCT以與圖象編碼預(yù)計(jì)PCE根據(jù)組編碼目標(biāo)GCT的初始值確定的相同方式而根據(jù)組編碼目標(biāo)GCT的自適應(yīng)值VALadp來(lái)確定。圖象編碼目標(biāo)PCT是第一項(xiàng)和第二項(xiàng)的乘積。第一項(xiàng)是屬于要編碼的I、B或P的圖象類(lèi)型的圖象復(fù)雜度PCX除以用于該類(lèi)型的加權(quán)系數(shù)K。第二項(xiàng)是組編碼目標(biāo)GCT的自適應(yīng)值VALadp除以圖象組的復(fù)雜度GCX。
在步驟8中檢驗(yàn)圖象編碼目標(biāo)PCT以獲得檢驗(yàn)的圖象編碼目標(biāo)PCTver。在這個(gè)步驟中,如果當(dāng)前圖象編碼所產(chǎn)生的比特?cái)?shù)等于圖象編碼目標(biāo)PCT,則檢查在解碼端是否將發(fā)生即將溢出或溢出。如果既不發(fā)生即將溢出也不發(fā)生溢出,那么檢驗(yàn)的圖象編碼目標(biāo)PCTver將等于圖象編碼目標(biāo)PCT,也就是說(shuō),圖象編碼目標(biāo)PCT不變。但是,如果圖象編碼目標(biāo)PCT將導(dǎo)致即將溢出或溢出,則圖象編碼目標(biāo)PCT通過(guò)使用一個(gè)即不發(fā)生即將溢出又不發(fā)生溢出的數(shù)值來(lái)代替它而被有效地限制。
在步驟S9中,量化參數(shù)值QPAR在當(dāng)前圖象編碼期間以下面的方式控制。量化參數(shù)值QPAR是第一項(xiàng)和第二項(xiàng)的和。第一項(xiàng)由相關(guān)類(lèi)型的圖象復(fù)雜度PCT除以檢驗(yàn)的圖象編碼目標(biāo)PCTver得到。第二項(xiàng)是偏離目標(biāo)ΔTGT和反應(yīng)參數(shù)RP的乘積。偏離目標(biāo)ΔTGT由編碼當(dāng)前圖象所產(chǎn)生的比特?cái)?shù)NOBP減去檢驗(yàn)的圖象編碼目標(biāo)PCTver乘以編碼當(dāng)前圖象期間所經(jīng)過(guò)的時(shí)間t-t0和圖象周期Tp的比值。反應(yīng)參數(shù)RP是512除以MPEG數(shù)據(jù)流DS的比特率R。
下面將關(guān)注有關(guān)量化參數(shù)控制QPAR的問(wèn)題。第一項(xiàng)是一個(gè)用于控制量化參數(shù)值QPAR的整體或長(zhǎng)期的方案。假定圖象編碼目標(biāo)沒(méi)有限制,則意味著檢驗(yàn)的圖象編碼目標(biāo)PCTver等于圖象編碼目標(biāo)PCT。那么,第一項(xiàng)相當(dāng)于有關(guān)圖象的加權(quán)系數(shù)K乘以圖象組的復(fù)雜度GCX,再除以組編碼目標(biāo)GCT的自適應(yīng)值VALadp。圖象組的復(fù)雜度GCX由“新近實(shí)際產(chǎn)生的比特?cái)?shù)”和“所應(yīng)用的量化參數(shù)”的乘積之和組成。這樣,第一項(xiàng)實(shí)際上表示量化參數(shù)QPAR的值,它根據(jù)過(guò)去的經(jīng)驗(yàn)而將產(chǎn)生希望的比特?cái)?shù)。第二項(xiàng)是一個(gè)用于調(diào)整量化參數(shù)QPAR的局部的或短期的方案。它是一種防止編碼產(chǎn)生偏離作為檢驗(yàn)的圖象編碼目標(biāo)PCTver的目標(biāo)比特?cái)?shù)較大量的比特?cái)?shù)的安全措施。
上面的附圖和它們的描述顯示其并不限制本發(fā)明。顯然還有很多滿足附屬權(quán)利要求的范圍的其它選擇方案。出于這種可慮才產(chǎn)生了下面的結(jié)束語(yǔ)。
各個(gè)單元具有多種物理擴(kuò)展功能或功能元件的方式。在這一點(diǎn)上,附圖僅僅是示意性的,每個(gè)附圖只表示本發(fā)明的一個(gè)可能的實(shí)施例。因此,盡管一張圖示出了作為不同塊的不同的功能元件,但這不排除作為一個(gè)單個(gè)物理單元的某些功能元件或所有功能元件的實(shí)施。例如,圖3示出的編碼器的輸出緩沖器可以作為諸如編號(hào)為WO(96/20568)(代理案號(hào)PHB 33,945)公開(kāi)的國(guó)際申請(qǐng)中描述的單個(gè)存儲(chǔ)電路來(lái)實(shí)施。
盡管圖8示出了一種根據(jù)輸出比特率的量化參數(shù)控制法的實(shí)例,但這不排除使用其它的量化參數(shù)控制法。我們最關(guān)心的是圖8示出的使用目標(biāo)控制壓縮量的方法,它根據(jù)輸出比特率計(jì)算。
在一個(gè)權(quán)利要求中的任何標(biāo)號(hào)不應(yīng)認(rèn)為是對(duì)該權(quán)利要求的限制。
權(quán)利要求
1.一種改變包括控制字的數(shù)據(jù)流的比特率的方法,控制字定義包括在數(shù)據(jù)流中的數(shù)據(jù)部分何時(shí)從接收端的輸入緩沖器中讀出,其特征在于該方法包括下面的步驟為未來(lái)的至少一個(gè)時(shí)刻(T[i]+ΔTsw)計(jì)算在該未來(lái)時(shí)刻的比特率在什么樣的界限(Rmax,Rmin)之內(nèi)改變才不會(huì)引起輸入緩沖器的即將溢出和溢出;以及在一個(gè)未來(lái)的時(shí)刻,在已經(jīng)為該未來(lái)時(shí)刻計(jì)算的界限(Rmax,Rmin)之內(nèi)改變比特率。
2.根據(jù)權(quán)利要求1所要求的改變比特率的方法,其特征在于比特率將要改變的未來(lái)時(shí)刻(T[i]+ΔTsw)比已經(jīng)包括在數(shù)據(jù)流中的控制字將要起作用的時(shí)刻(T[i]+ΔTeed)早(T[i]+ΔTsw<T[i]+ΔTeed)。
3.根據(jù)權(quán)利要求1所要求的改變比特率的方法,其特征在于它包括下面的步驟計(jì)算步驟(GS4),其中計(jì)算幾個(gè)不同的比特率轉(zhuǎn)換時(shí)間(Tsw[1],…Tsw[M])中的每一個(gè)的品質(zhì)因數(shù)(ΔR),假定比特率在該比特率轉(zhuǎn)換時(shí)間改變;選擇步驟(GS5),其中選擇提供最佳品質(zhì)因數(shù)的比特率轉(zhuǎn)換時(shí)間,該比特率在所選比特率轉(zhuǎn)換時(shí)間(Tswsel)改變。
4.一種至少包括一個(gè)用于提供包括控制字的編碼數(shù)據(jù)流的編碼器的編碼裝置,控制字定義包括在數(shù)據(jù)流中的數(shù)據(jù)部分何時(shí)從接收端的輸入緩沖器中讀出,其特征在于該編碼裝置包括已輸入程序以執(zhí)行下述步驟的控制電路為未來(lái)的至少一個(gè)時(shí)刻(T[i]+ΔTsw)計(jì)算在該未來(lái)時(shí)刻的比特率在什么樣的界限(Rmax,Rmin)之內(nèi)改變才不會(huì)引起輸入緩沖器的即將溢出和溢出;以及在一個(gè)未來(lái)的時(shí)刻,在已經(jīng)為該未來(lái)時(shí)刻計(jì)算的界限(Rmax,Rmin)之內(nèi)改變比特率。
全文摘要
具有下述特征的數(shù)據(jù)流的比特率被改變。該數(shù)據(jù)流包括控制字??刂谱侄x包括在數(shù)據(jù)流中的數(shù)據(jù)部分何時(shí)從接收端的輸入緩沖器中讀出。MPEG視頻數(shù)據(jù)流具有這種特征。為未來(lái)的至少一個(gè)時(shí)刻(Tfut)計(jì)算在該未來(lái)時(shí)刻的數(shù)據(jù)流比特率(R)在什么樣的界限(Rmax、Rmin)之內(nèi)改變才不會(huì)引起輸入緩沖器的下溢和溢出。在一個(gè)未來(lái)的時(shí)刻,該比特率在已經(jīng)為該未來(lái)時(shí)刻計(jì)算的界限(Rmax2,Rmin2)之內(nèi)改變。這允許快速調(diào)節(jié)比特率,這樣通常有助于提高包括在數(shù)據(jù)流中的數(shù)據(jù)的質(zhì)量。
文檔編號(hào)H04N7/52GK1277784SQ99801563
公開(kāi)日2000年12月20日 申請(qǐng)日期1999年7月9日 優(yōu)先權(quán)日1998年7月10日
發(fā)明者N·巴耶, E·菲爾特, P·戈捷 申請(qǐng)人:皇家菲利浦電子有限公司