專利名稱:可變比特率編碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及音頻、視頻或輔助數(shù)字?jǐn)?shù)據(jù)的編碼。
本發(fā)明尤其涉及可變比特率傳輸和利用音頻與視頻數(shù)字?jǐn)?shù)據(jù)壓縮存儲(chǔ)的系統(tǒng)。它與MPEG2標(biāo)準(zhǔn)兼容。
視頻壓縮系統(tǒng)的作用是以盡可能低的傳輸比特率獲得最好的圖像質(zhì)量。除了別的以外這種編碼的質(zhì)量還與運(yùn)動(dòng)估計(jì)器和編碼器調(diào)整算法的選擇有關(guān)。它直接取決于采用的最優(yōu)化準(zhǔn)則。
關(guān)于運(yùn)動(dòng)估計(jì),在基準(zhǔn)圖像中用于搜索的容量是一個(gè)重要的特征。關(guān)于調(diào)整,主要的目標(biāo)是保持編碼圖像的穩(wěn)定質(zhì)量。為了調(diào)節(jié)編碼到輸出比特率(一般是插入“0”到數(shù)據(jù)流使得可能保存比特率設(shè)置)而采用的“填充”因數(shù)必須被減至最小以最優(yōu)化編碼。
編碼每個(gè)圖像的成本是可變的。調(diào)整環(huán)路的作用是校正歸因于圖像復(fù)雜性(此后定義)變化的流變化以及作為輸出傳送相應(yīng)于數(shù)據(jù)速率設(shè)置的數(shù)據(jù)流。這種調(diào)整一般作用在取決于緩沖存儲(chǔ)器的填充等級(jí)的量化區(qū)間上。在編碼器輸出端的這個(gè)緩沖存儲(chǔ)器可能減緩比特率的偏差,它歸因于調(diào)整環(huán)路的響應(yīng)時(shí)間并上緩沖器的容量涉及到它。
在視頻源編碼器輸出端的數(shù)據(jù)流是可變的??赡苷嬲幸娴氖抢缃?jīng)過(guò)單個(gè)信道傳送若干視頻源的情況,在不同源之間動(dòng)態(tài)地分配這個(gè)信道的可得到的“總體”比特率,也就是說(shuō)作為來(lái)自每個(gè)視頻源要被編碼的圖像的復(fù)雜性變化的函數(shù)。相對(duì)于現(xiàn)有的方法,這種方法使得可能改進(jìn)傳送圖像的總體質(zhì)量,例如作為傳送節(jié)目的類型的函數(shù)分配比特率到視頻源的那些情況。
圖1表示了一組使用這樣一種方法的傳輸。這包括以一個(gè)恒定的總體比特率經(jīng)過(guò)單個(gè)信道自一些編碼視頻源的傳送。這個(gè)比特率相應(yīng)于它的容量,例如轉(zhuǎn)發(fā)器信道的容量。視頻源13i的編碼電路連接到多路復(fù)用器11的輸入端,該多路復(fù)用器11的輸出端提供要經(jīng)過(guò)信道傳送的數(shù)據(jù)流。它們還連接到接口電路14,該接口電路14傳送有關(guān)視頻源復(fù)雜性的數(shù)據(jù)到比特率分配器12并且接收由這個(gè)比特率分配器12分配給每個(gè)源的比特率。因此,比特率分配器12的作用是分配比特率到每個(gè)源13i,控制多路復(fù)用電路或者多路復(fù)用器11。通過(guò)將快速總線聯(lián)接到比特率分配器12和接口電路14來(lái)交換信息。監(jiān)控電路15連接到這個(gè)總線以管理傳輸裝置。
例如以一個(gè)GOP速度完成多路復(fù)用,GOP是以下定義的一個(gè)圖像組,作為由比特率分配器對(duì)于經(jīng)過(guò)相同信道傳送的每個(gè)視頻源分配的比特率的函數(shù)。這個(gè)比特率取決于視頻源復(fù)雜性的系數(shù),它考慮了在一個(gè)給定的量化區(qū)間產(chǎn)生的信息量。對(duì)于每個(gè)視頻源的每個(gè)GOP測(cè)量這個(gè)系數(shù)。它相應(yīng)于例如用于編碼一個(gè)GOP的位的數(shù)量,量化區(qū)間是恒定的或者另一方面如果這個(gè)步長(zhǎng)是可變的則位的標(biāo)準(zhǔn)計(jì)數(shù)相應(yīng)于量化區(qū)間乘以位的數(shù)量。因?yàn)榱髟谝粋€(gè)GOP的持續(xù)時(shí)間上是恒定的,相應(yīng)的源的輸出緩沖器必須減緩在一個(gè)GOP的持續(xù)時(shí)間上的比特率尖峰信號(hào)。
如上所述,與取決于每個(gè)源的比特率的統(tǒng)計(jì)多路復(fù)用有關(guān)的可變比特率編碼器的利用是公知的并且是一種最優(yōu)化轉(zhuǎn)發(fā)器信道容量的措施。這些調(diào)整方法的缺點(diǎn)也是公知的。主要是需要大的譯碼器的緩沖存儲(chǔ)器的容量以便能夠減緩相應(yīng)視頻源的比特率變化而不讓存儲(chǔ)器“干涸”或飽和。譯碼器的緩沖器必須既不溢出(丟失數(shù)據(jù))又不“干涸”。因此譯碼器的成本增加了。另一方面,必需的存儲(chǔ)器容量一般不再與MPEG2標(biāo)準(zhǔn)兼容。
在比特率上的瞬時(shí)變化,也就是說(shuō)在圖像級(jí)上,一般要求甚至更大的存儲(chǔ)器容量,不管這是在編碼器級(jí)或譯碼器級(jí)或者另外必須作為這些存儲(chǔ)器容量的函數(shù)被限制。
本發(fā)明的目的是克服前述的缺點(diǎn)。
本發(fā)明主題是一種用于編碼視頻圖像序列的數(shù)字?jǐn)?shù)據(jù)的方法,對(duì)這個(gè)數(shù)據(jù)進(jìn)行圖像壓縮以及通過(guò)作用在要被編碼數(shù)據(jù)的量化區(qū)間上的調(diào)整環(huán)路調(diào)整在編碼器輸出端的比特率,將編碼器輸出的數(shù)據(jù)存儲(chǔ)在緩沖器中以在一個(gè)信道上以可變的比特率傳輸它到譯碼器的緩沖器,為這個(gè)數(shù)據(jù)加標(biāo)記以便保證編碼器緩沖器中一個(gè)圖像的存儲(chǔ)時(shí)刻和來(lái)自譯碼器緩沖器的這個(gè)圖像的輸出時(shí)刻之間的恒定時(shí)間τ,其特征在于在時(shí)刻n關(guān)于圖像的比特率調(diào)整作為時(shí)刻n+τ關(guān)于傳輸信道的比特率預(yù)測(cè)的函數(shù)來(lái)完成,并且根據(jù)一個(gè)相應(yīng)于以時(shí)間τ乘以比特率變化的值,在編碼器緩沖器的輸出端傳輸比特率變化之前從時(shí)間τ開(kāi)始在由編碼器緩沖器中頂端地址和底端地址限定的虛擬緩沖器界限內(nèi)完成該調(diào)整,虛擬緩沖器的頂端地址或偏移相對(duì)于編碼器緩沖器的頂端地址變化。
本發(fā)明的主題還在于一種用于傳送來(lái)自若干視頻源的數(shù)據(jù)的方法,它對(duì)于每個(gè)源實(shí)現(xiàn)這個(gè)數(shù)據(jù)的編碼以便經(jīng)過(guò)一個(gè)給定傳輸信道以一個(gè)可變比特率傳送它,其特征在于根據(jù)信道可得到比特率和來(lái)自視頻源組的先前圖像的復(fù)雜性測(cè)量,對(duì)于每個(gè)源,它在經(jīng)過(guò)信道的這個(gè)源的實(shí)際比特率之前τ時(shí)刻完成比特率分配。
通過(guò)實(shí)例并且參照附圖,由下面給出的描述,本發(fā)明的特征和優(yōu)點(diǎn)將變得更加明顯,其中-圖1表示了一個(gè)現(xiàn)有技術(shù)的已知傳輸裝置;-圖2表示了根據(jù)MPEG2標(biāo)準(zhǔn)用于編碼和譯碼的裝置;-圖3以示意性方式表示了作為比特率的函數(shù)在編碼器和譯碼器的緩沖存儲(chǔ)器的填充;-圖4表示了虛擬緩沖器的大小和位置作為時(shí)間的函數(shù)改變的例子;-圖5表示了作為比特率的函數(shù)在編碼器的實(shí)際緩沖器中虛擬緩沖器的大小和位置;-圖6表示了作為比特率的函數(shù)在編碼器的實(shí)際緩沖器中虛擬緩沖器的大小;-圖7表示了參數(shù)α作為比特率的函數(shù)的變化;-圖8表示了一個(gè)根據(jù)本發(fā)明用于編碼的裝置;-圖9表示了一個(gè)根據(jù)本發(fā)明用于調(diào)整的裝置;-圖10表示了一個(gè)根據(jù)本發(fā)明的調(diào)整方法的流程圖。
本發(fā)明的優(yōu)點(diǎn)涉及被減少的譯碼器的緩沖存儲(chǔ)器的大小。因此這個(gè)存儲(chǔ)器保持與MPEG2標(biāo)準(zhǔn)的兼容,同時(shí)允許在一個(gè)非常大范圍內(nèi)比特率的瞬時(shí)變化。該方法具有對(duì)于每個(gè)圖像、對(duì)于比特率的改變起作用的能力,同時(shí)保證譯碼器與視頻緩沖器的大小限制相一致。這種能力更加值得注意的是關(guān)于比特率改變的最大步幅,它不帶入任何限制,即MP@ML MPEG2格式的波段1.5-15兆比特/秒(MPEG2 Main Profile Main Level)。
借助于本發(fā)明,能夠使信道的可得到比特率最佳,也就是說(shuō)以根據(jù)時(shí)間和作為每個(gè)視頻源信息復(fù)雜性的函數(shù)的值最優(yōu)化的方式按比例分配。
通常稱為MPEG2的視頻壓縮原理是國(guó)際推薦標(biāo)準(zhǔn)(ISO/IEC 13818H.262)。MPEG2壓縮器的功能結(jié)構(gòu)是公知的,在這個(gè)MPEG2標(biāo)準(zhǔn)中描述,下面簡(jiǎn)短地回顧一下。
編碼器的視頻輸入端數(shù)字地接收具有4.2.2.格式的編碼的圖像。在空間編碼的情況下(圖像內(nèi)部或“內(nèi)部”編碼),圖像或者更精確地組成圖像的塊直接進(jìn)行一個(gè)DCT變換,接著是量化(圖像I),隨后在量化的值被存儲(chǔ)在存儲(chǔ)器或緩沖器之前被可變長(zhǎng)度編碼(VLC)。存儲(chǔ)器或緩沖器提供在編碼器的輸出端比特率的“平滑”以及一個(gè)調(diào)整環(huán)路使得可能限制量化區(qū)間到比特率設(shè)置。跟隨有一個(gè)逆DCT變換的逆量化也以這樣一種方式完成以便在存儲(chǔ)器中存儲(chǔ)重構(gòu)圖像,該圖像將用來(lái)支持運(yùn)動(dòng)估計(jì)。
圖像間或“中間”編碼通過(guò)編碼圖像之間的塊的移動(dòng)利用時(shí)間冗余信息。存在兩種類型的時(shí)間編碼-預(yù)測(cè)編碼,其在運(yùn)動(dòng)估計(jì)(圖像P)期間僅僅取決于在它們之前(前向)的相同類型或者內(nèi)部類型的圖像;-雙向編碼,其取決于正好在要被編碼的圖像(圖像B)兩側(cè)的圖像I和/或P。
在時(shí)間編碼的情況下余弦變換僅僅應(yīng)用于圖像之間的差值。這樣被量化的、伴隨有表征組成一個(gè)圖像的塊的運(yùn)動(dòng)的矢量的誤差允許在譯碼器重構(gòu)。
一個(gè)跟隨有下一個(gè)圖像I之前的圖像P和B的圖像I組成的組稱為一個(gè)GOP(圖像組)。
本發(fā)明的主題、比特率調(diào)整原理的描述要求如MPEG2標(biāo)準(zhǔn)中描述的VBV模型。
VBV模型或者說(shuō)視頻緩沖檢驗(yàn)器被定義為連接到編碼器的輸出端的假想的譯碼器并且使得可能模擬在比特率變化上的限制。它建立在假設(shè)的基礎(chǔ)上,即譯碼器瞬時(shí)地從它的緩沖器提取要被譯碼的圖像。這個(gè)模型被加入到用于調(diào)整編碼器的算法中并且是必不可少的以讓編碼器精確地知道來(lái)自譯碼器緩沖器的這些圖像輸出的瞬時(shí)值。正是編碼器它自身,根據(jù)MPEG2標(biāo)準(zhǔn)借助于圖2描述的方法,負(fù)責(zé)決定譯碼的這些時(shí)刻。
譯碼器21包括下面部分-編碼模塊211,在它的輸入端也是編碼器的輸入端接收數(shù)字視頻數(shù)據(jù),-輸出緩沖器212,在它的輸入端接收從編碼模塊產(chǎn)生的編碼數(shù)據(jù),-插入電路213,其輸入端連接到緩沖器212的輸出端,用于插入時(shí)鐘基準(zhǔn)到從緩沖器產(chǎn)生的數(shù)據(jù)中,并用于經(jīng)過(guò)傳輸信道22、電纜、無(wú)線電或者衛(wèi)星鏈路傳送如此構(gòu)成的數(shù)據(jù)流或者位流,
-內(nèi)部時(shí)鐘電路214,接收來(lái)自編碼模塊211的相應(yīng)于在編碼器的圖像到達(dá)時(shí)刻的同步信號(hào),傳送一個(gè)DTS(根據(jù)MPEG2標(biāo)準(zhǔn)的譯碼時(shí)間標(biāo)記)“譯碼時(shí)刻”到這個(gè)模塊,并且它還將一個(gè)PCR(編程時(shí)鐘基準(zhǔn))時(shí)鐘值提供給插入電路。
經(jīng)過(guò)該信道傳送的數(shù)據(jù)到達(dá)譯碼器23的輸入端。該譯碼器包括-一個(gè)去多路復(fù)用電路231,完成PCR時(shí)鐘基準(zhǔn)的提取并且在它的輸入端也是譯碼器的輸入端接收經(jīng)過(guò)該信道傳送的數(shù)據(jù),-譯碼器的緩沖器232,接收從去多路復(fù)用電路產(chǎn)生的數(shù)據(jù),-譯碼模塊233,其輸入端連接到緩沖器的輸出端,完成與編碼操作相反的譯碼操作并且在它的輸出端也是譯碼器23的輸出端提供譯碼的視頻數(shù)據(jù),-內(nèi)部時(shí)鐘電路234,連接到去多路復(fù)用電路以便接收這個(gè)PCR(編程時(shí)鐘基準(zhǔn))基準(zhǔn),同時(shí)也連接到緩沖器以便讀出DTS譯碼時(shí)刻并且傳送一個(gè)讀信號(hào)。
這樣,大約每100ms,編碼器的內(nèi)部時(shí)鐘值(PCR)在傳輸層(在標(biāo)準(zhǔn)中定義)的級(jí)別上在MPEG2位流中發(fā)送。譯碼器拾取這個(gè)PCR值以便借助于位于內(nèi)部時(shí)鐘電路234中的鎖相環(huán)或者PLL鎖住它自己的時(shí)間基準(zhǔn)。這樣,編碼器和譯碼器擁有一個(gè)公共的基準(zhǔn)時(shí)鐘。
借助于提供給編碼器輸入端的每個(gè)圖像,PCR時(shí)鐘被采樣并且由一個(gè)傳輸時(shí)間補(bǔ)償。獲得的信息、一個(gè)譯碼時(shí)刻標(biāo)記(DTS=譯碼時(shí)間標(biāo)記)插入與這個(gè)圖像有關(guān)的MPEG2位流中并且相應(yīng)于編程的譯碼時(shí)刻。
譯碼器負(fù)責(zé)在它的調(diào)整緩沖器中接收?qǐng)D像,該緩沖器對(duì)圖像中的每一個(gè)存儲(chǔ)DTS時(shí)刻,在該時(shí)刻編碼器對(duì)代碼進(jìn)行了編程。這樣,每次在譯碼器重構(gòu)的PCR時(shí)鐘達(dá)到位于它的緩沖器輸出端的圖像的DTS值時(shí),時(shí)鐘電路預(yù)置譯碼并且相應(yīng)于圖像的位流的內(nèi)容通過(guò)讀信號(hào)從譯碼器緩沖器中提取。
如果VBV_size是譯碼器緩沖器的大小而VBV_fullness是在一個(gè)給定時(shí)刻這個(gè)緩沖器填充的水平,通過(guò)假設(shè)譯碼器必須從它的緩沖器提取第一個(gè)編碼的圖像同時(shí)它的緩沖器是滿的(VBV_fullness=VBV_size),則在允許它的輸出之前它必須等待的時(shí)間等于Tinit=τ-VBV_sizerate]]>
這里τ是緩沖器的傳輸時(shí)間(端對(duì)端延遲),速率是編碼器的輸出比特率(傳輸比特率)。
這實(shí)際上是在編碼器的緩沖器中圖像的駐留時(shí)間。
一個(gè)完整的編碼/譯碼鏈的簡(jiǎn)化圖如圖3表示。
采用下面的符號(hào)。
D1(t)=在時(shí)刻t離開(kāi)編碼電路的比特率(編碼器緩沖器的輸入),D2(t)=在時(shí)刻t進(jìn)入譯碼電路的比特率(譯碼器緩沖器的輸出),B1(t)=在時(shí)刻t的編碼器的緩沖器占用率,B2(t)=在時(shí)刻t的譯碼器的緩沖器占用率,Dc(t)=在時(shí)刻t的信道比特率。
在其輸入端接收視頻數(shù)據(jù)的編碼電路31連接到緩沖存儲(chǔ)器32,該緩沖存儲(chǔ)器32是用作為緩沖器占用率的數(shù)據(jù)量B1(t)填充的容器來(lái)表示的。這個(gè)緩沖器由一個(gè)實(shí)際鏈路、無(wú)線電鏈路或者衛(wèi)星鏈路連接到譯碼器緩沖器34的輸入端,這個(gè)鏈路稱為傳輸信道33。每個(gè)緩沖器34具有一個(gè)填充狀態(tài)B2(t)。緩沖器34的輸出端連接到譯碼電路35本身的輸入端。
設(shè)τ1是圖像在緩沖器32中的駐留時(shí)間,τ2是圖像在緩沖器34中的駐留時(shí)間,τ是圖像輸入到編碼器緩沖器的時(shí)刻與這個(gè)圖像從譯碼器緩沖器輸出時(shí)刻之間經(jīng)過(guò)的時(shí)間。
為了保證一個(gè)恒定的總體處理時(shí)間(壓縮+存儲(chǔ)+傳輸+存儲(chǔ)+解壓縮),每個(gè)圖像必須在一個(gè)恒定時(shí)間τ中經(jīng)過(guò)編碼器和譯碼器側(cè)緩沖或者存儲(chǔ)級(jí),編碼和譯碼時(shí)間本身是恒定的而在編碼器輸入端和譯碼器輸出端的比特率是相同的τ=τ1+τ2=常數(shù)。
為了保證這個(gè)恒定時(shí)間τ,參照?qǐng)D2,插入到位流的譯碼時(shí)刻標(biāo)記DTS通過(guò)將相應(yīng)于編碼器的輸入端圖像的到達(dá)的PCR時(shí)鐘的采樣值加上一個(gè)等于編碼器和譯碼器緩沖器中傳送時(shí)間τ的正偏移(傳輸時(shí)間也稱為端對(duì)端延遲)來(lái)計(jì)算。
τ是一個(gè)完整圖像的傳輸時(shí)間,時(shí)刻t在編碼器緩沖器的輸入端的比特率等于時(shí)刻t+τ在譯碼器緩沖器的輸出端的比特率D1(t)=D2(t+τ)在時(shí)刻t0的初始條件如下
B1(t0)=B2(t0)=O∫t0t0+τD2(t)dt=0]]>在時(shí)刻t0+τ的譯碼器緩沖器狀態(tài)B2(t0+τ)=∫t0t0+τDc(t)dt]]>在任何時(shí)刻,編碼器的緩沖器狀態(tài)等于B1(t)=∫t0t(D1(t)-Dc(t))dt]]>以同樣的方式,在t+τ時(shí)刻譯碼器的緩沖器狀態(tài)可以被寫成B2(t+τ)=∫t0t+τ(Dc(t)-D2(t))dt]]>因此我們有B2(t+τ)=∫t0tD1(t)dt-B1(t)+∫tt+τDc(t)dt-[∫t0t0+τD2(t)dt+∫t0+τt+τD2(t)dt]]]>=∫t0t(D1(t)-D2(t+τ))dt-B1(t)+∫tt+τDc(t)dt-∫t0to+τD2(t)dt]]>=∫tt+τDc(t)dt-B1(t)]]>上述關(guān)系根據(jù)在編碼器緩沖器上完成的測(cè)量表征了譯碼器緩沖器的運(yùn)行狀態(tài)。
當(dāng)經(jīng)過(guò)信道的比特率是恒定時(shí),緩沖器狀態(tài)是互補(bǔ)的B2(t+τ)=B2(t0+τ)-B1(t),B2(t0+τ)=譯碼器緩沖器的初始狀態(tài)。
這個(gè)結(jié)果表示了在編碼器緩沖器和譯碼器緩沖器之間具有一個(gè)等于數(shù)據(jù)項(xiàng)通過(guò)這兩個(gè)緩沖器的時(shí)間的滯后的通訊器的直覺(jué)的原理。
對(duì)于MPEGⅡMain Profile Main Level(MP@ML)視頻編碼,通過(guò)增加兩個(gè)緩沖器容量獲得的常數(shù)限制為1.835Mbit。
當(dāng)經(jīng)過(guò)信道的比特率是可變時(shí),譯碼器緩沖器的狀態(tài)只有在容積∫tt+τDc(t)dt]]>是已知的情況下才能夠清楚地了解。
等于B1(t)+B2(t+τ)的這個(gè)容積表征了位于編碼器緩沖器中并且在下面定義的虛擬緩沖器的偏移。
圖4表示了作為一個(gè)時(shí)間函數(shù)的緩沖器累積占用率的例子,也就是說(shuō)在編碼器的緩沖器和譯碼器的緩沖器中累積的信息量并且使得可能推斷出在每個(gè)緩沖器中填充的變化。
橫坐標(biāo)軸表示時(shí)間而縱坐標(biāo)軸表示在緩沖器中累積的占用率或者累積的信息量。
曲線41相應(yīng)于編碼器緩沖器并且能夠比喻為緩沖器寫地址或者寫指針,每個(gè)垂直行程表示由緩沖器存儲(chǔ)和要求用于圖像的中間或內(nèi)部編碼(對(duì)于內(nèi)部較長(zhǎng)行程)的信息量。
曲線42相應(yīng)于譯碼器緩沖器和譯碼器緩沖器讀指針并且表示離開(kāi)緩沖器的累積的信息量。通過(guò)上面引用的關(guān)系式,這第二個(gè)曲線是沿著橫坐標(biāo)軸的第一個(gè)曲線的值τ的變換。
曲線43表示離開(kāi)編碼器緩沖器累積的信息量和進(jìn)入譯碼器緩沖器的信息量。這些曲線是重疊的并且表示經(jīng)過(guò)信道傳送的信息量,因?yàn)樵谛诺乐袀魉偷臅r(shí)間假設(shè)等于零以便簡(jiǎn)化推論。事實(shí)上,曲線43表示編碼器緩沖器的讀指針,它重疊在譯碼器緩沖器的寫指針上。這個(gè)曲線的斜率是信道比特率Dc(t),是在編碼器緩沖器的輸出端和譯碼器緩沖器的輸入端上的比特率。
曲線44代表了編碼器緩沖器的實(shí)際大小而曲線45代表了譯碼器緩沖器的大小。對(duì)于曲線44,這是曲線43沿著縱坐標(biāo)軸變換一個(gè)具有編碼器緩沖器的大小的模數(shù)的正矢量,對(duì)于曲線45則是一個(gè)變換具有譯碼器緩沖器的大小的模數(shù)的負(fù)矢量。最后,通過(guò)定義曲線46和47的位置和大小,它們用于模擬編碼器緩沖器的虛擬緩沖器。
這個(gè)虛擬緩沖器表示了一個(gè)在編碼器緩沖器中“有用的”調(diào)整區(qū)域并且構(gòu)成VBV模型的編碼緩沖器中的圖像。
以這樣一種方式計(jì)算編碼器的實(shí)際緩沖器的定位,使得保證對(duì)于每個(gè)圖像在所有的比特率上恒定的傳送時(shí)間。
它由給定時(shí)刻t在調(diào)整區(qū)域中是最大地址的參數(shù)VBV_offset來(lái)定義。它相應(yīng)于在縱坐標(biāo)軸上讀出的曲線43和46之間的偏差。
知道這個(gè)參數(shù)VBV_offset使得可能在任何時(shí)刻依靠VBV模型檢驗(yàn)譯碼器與緩沖器占用率限制的一致性。知道這一點(diǎn)對(duì)于調(diào)整算法的正常運(yùn)行是必要的。
如下面所指出的獲得編碼器的實(shí)際緩沖器中虛擬緩沖器的定位。
我們有關(guān)系式B2(t+τ)=∫tt+τDc(t)dt-B1(t)]]>這個(gè)關(guān)系式可以通過(guò)在圖像級(jí)的“離散化”來(lái)表達(dá)B2(n+τ)=Σk=n+1k=n+τDc(k)-B1(n)]]>在這個(gè)離散公式中-n表示在時(shí)刻t的圖像-Dc(k)表示在圖像k的編碼期間,在編碼器的輸出端在圖像(每個(gè)圖像的位數(shù))的比特率-τ是相應(yīng)于持續(xù)時(shí)間τ的圖像數(shù)的表達(dá)。
因此我們獲得前一圖像B2(n+τ-1)=Σk=nk=n+τ-1Dc(k)-B1(n-1)]]>從這一點(diǎn)我們推斷出緩沖器占用率因數(shù)的變化ΔB2(n+τ)=B2(n+τ)-B2(n+τ-1)]]>=Σk=n+1k=n+τDc(k)-B1(n)-[Σk=nk=n+τ-1Dc(k)-B1(n-1)]]]>=Dc(n+τ)-Dc(n)-ΔB1(n)]]>注意ΔB1(n)=ΔD1(n)-Dc(n)-εDc(n)我們得到用于更新虛擬緩沖器的占用因數(shù)的公式ΔB2(n+τ)=Dc(n+τ)-ΔD1(n)+εDc(n)公式中ΔD1(n)相應(yīng)于在時(shí)刻n編碼圖像的成本,Dc(n+τ)是在時(shí)刻n+τ在編碼器輸出端的期望的比特率。方程式中第三項(xiàng)是在時(shí)刻n在編碼器輸出端期望的比特率和實(shí)際測(cè)量的Dc(n)值之間測(cè)量的誤差。
因此在時(shí)刻n編碼圖像的成本取決于在時(shí)刻n+τ在編碼器輸出端的期望的比特率。遵循這個(gè)基本原理,通過(guò)應(yīng)用以下計(jì)算我們?cè)谌魏螘r(shí)刻具有對(duì)于VBV模型的緩沖器占用信息VBV_fullness(n)=VBV_fullness(n-1)+Dc(n+τ)-Last_picture_cost+εDc(n)根據(jù)上述條件,剛好在圖像(n)的編碼之前接收設(shè)置并且由外部裝置(比特率分配器)產(chǎn)生。
這個(gè)比特率分配器在一個(gè)GOP的持續(xù)時(shí)間內(nèi)接收例如前面圖像的復(fù)雜性以便預(yù)測(cè)τ時(shí)刻后的信道比特率,可能要考慮到要求經(jīng)過(guò)相同的信道傳送的視頻源的復(fù)雜性。
如果Bpp(n)表示對(duì)于圖像周期(n+τ)在編碼器輸出端期望的信道比特率的設(shè)置,可能通過(guò)以下方程式在圖像級(jí)定義VBV模型的更新VBV_fullness(n)=VBV_fullness(n-1)+Bpp(n)-Last_picture_cost+εBpp(n-τ)這里εBpp(n-τ)=Bpp(n-τ)-Dc(n)表示在圖像(n-τ)的編碼之前接收的設(shè)置和在圖像n的編碼持續(xù)時(shí)間在編碼器輸出端的實(shí)際比特率之間的誤差。
這個(gè)關(guān)系式提醒我們假定可變比特率編碼器運(yùn)行的主要條件通過(guò)調(diào)整算法接收的比特率信息提示必須領(lǐng)先它在編碼器輸出端的實(shí)際應(yīng)用一個(gè)等于編碼器和譯碼器的緩沖器中傳送時(shí)間的恒定時(shí)間。
譯碼器緩沖器狀態(tài)的模擬包括知道在時(shí)刻t提供給編碼器的圖像的編碼時(shí)刻在范圍[t,t+τ]的先驗(yàn)的信道比特率。
這樣,通過(guò)控制這個(gè)虛擬緩沖器的位置,編碼器能夠預(yù)測(cè)可能發(fā)生在譯碼器的任何可能的超越。根據(jù)圖4,可以清楚地看到通過(guò)虛擬緩沖器的譯碼器緩沖器的再現(xiàn)包括在比特率變化期間預(yù)測(cè)機(jī)構(gòu)。
對(duì)于高的比特率,用于調(diào)整編碼器的有用區(qū)域位于由曲線43和44表示的實(shí)際緩沖器的“頂端”部分,并且當(dāng)達(dá)到低的比特率時(shí)它轉(zhuǎn)換到緩沖器的底端部分。
這種轉(zhuǎn)換超前信道的比特率的變化一個(gè)持續(xù)時(shí)間τ。
兩個(gè)緩沖器的通過(guò)時(shí)間是恒定的。它的選擇要考慮在最小可允許的比特率上操作的緩沖器的通過(guò)時(shí)間。我們選擇τ>VBV_size/bit_rate_min。
如果對(duì)于高比特率要求這個(gè)值遵守一個(gè)小的延遲限制(可能限制于一技術(shù)規(guī)范),這個(gè)值可能變壞。然而,有可能限制有用的調(diào)整區(qū)域到低比特率以便減少時(shí)間τ。
最后,讓我們注意編碼器緩沖器的大小以等于最大比特率與最小比特率之比的比例大于譯碼器緩沖器的大小。對(duì)于一個(gè)給定的圖像格式,這個(gè)比率將不超過(guò)4,這樣使得可能預(yù)測(cè)一個(gè)8Mbits的編碼器的緩沖器大小(用于MP@ML中1.835Mbits的有用的最大容量)。
圖5表示了編碼器的實(shí)際緩沖器中的虛擬緩沖器。它展示了虛擬緩沖器必須如何被定位以及它的大小必須作為當(dāng)前比特率的函數(shù)。
比特率以兆比特/秒沿著橫坐標(biāo)軸在減少的意義上繪制而虛擬緩沖器的“位置”以Mbits沿著縱坐標(biāo)繪制。
對(duì)于最大的比特率和在飽和區(qū)域中,虛擬緩沖器的大小等于譯碼器緩沖器的大小,例如在我們的例子中是1.835Mbits。
Evbs=VBV_sizeα(n)=τ-VBV_sizeR]]>虛擬緩沖器位于編碼器緩沖器的頂端部分。
在線性區(qū)域中,也就是說(shuō)在我們的例子中的9兆比特/秒和1.5兆比特/秒的最小比特率之間,緩沖器的大小線性地減少并且等于Evbs=KRα(n)=常數(shù)在編碼圖像n時(shí),在圖像級(jí)仍然離散化,編碼器實(shí)際緩沖器的大小(實(shí)際緩沖器大小)將稱為Epbs(n),而編碼器虛擬緩沖器的大小(虛擬緩沖器大小)將稱為Evbs(n)。
以這樣一種方式計(jì)算虛擬緩沖器大小,使得當(dāng)傳輸比特率最大時(shí)由一個(gè)內(nèi)部編碼圖像完全地填充。
編碼器的虛擬緩沖器的大小最多不過(guò)是譯碼器緩沖器的大小,即VBV_size;當(dāng)傳輸比特率變低時(shí),它可以減少到一個(gè)值K.R(n),K是一個(gè)時(shí)間常數(shù),為一個(gè)在0.1和0.2之間的值,它取決于GOP的結(jié)構(gòu)和傳輸比特率,R(n)是圖像n的傳輸比特率。
Evbs[n]=min(VBV_size,K.R[n])(a)為簡(jiǎn)單起見(jiàn),虛擬緩沖器的大小因此被定義為比特率的線性函數(shù)直到以一個(gè)給定的比特率達(dá)到譯碼器緩沖器的大?。唤又?,在這個(gè)飽和等級(jí)上緩沖器的大小保持恒定。
再次舉出我們的例子Epbs=7.2MbitsK=0.2sRmax=15兆比特/秒
Rmin=1.5兆比特/秒τ=480msEvbs從1.835Mbits變到最小值的300千比特。
虛擬緩沖器的偏移對(duì)于最大比特率是7.2Mbits而對(duì)于最小比特率是420千比特(α(n)×Rmin)。
圖6給出了作為比特率的函數(shù)和對(duì)于這個(gè)參數(shù)K的不同值的虛擬緩沖器大小的變化的例子。
橫坐標(biāo)軸以兆比特/秒表示比特率,縱坐標(biāo)軸以Mbits表示虛擬緩沖器的大小。曲線61相應(yīng)于等于0.2的K值而虛線62相應(yīng)于等于0.12的K值。根據(jù)MPEG2標(biāo)準(zhǔn),采用的譯碼器緩沖器的大小等于1.832Mbits,而比特率的變化在1.5和15兆比特/秒之間。
曲線61分成兩個(gè)區(qū)域,一個(gè)在1.5和9兆比特/秒之間的線性區(qū)域和一個(gè)從9到15兆比特/秒的飽和區(qū)域。
如果τ是總體緩沖持續(xù)時(shí)間,也就是說(shuō)將圖像寫入編碼器緩沖器的時(shí)刻和將這個(gè)相同的圖像從譯碼器緩沖器讀出的時(shí)刻之間經(jīng)過(guò)的時(shí)間,這個(gè)時(shí)間如前面解釋的類似于緩沖器的通過(guò)時(shí)間,如果α(n)是計(jì)算的持續(xù)時(shí)間以保證τ值的恒定,則我們有關(guān)系式τ=Evbs[n]R[n]+α[n]---(b)]]>τ.R(n)=α(n).R(n)+Evbs表示如前面定義的虛擬緩沖器的偏移。
編碼器緩沖器中虛擬緩沖器的定位的計(jì)算相當(dāng)于連續(xù)地計(jì)算和更新一個(gè)參數(shù)α(n),以這樣一種方式使得對(duì)于遵守關(guān)系式(a)的給定的虛擬緩沖器的大小,對(duì)于比特率和一個(gè)固定的傳輸時(shí)間,它遵守關(guān)系式(b)。
另外說(shuō)明的是以這樣一種方式連續(xù)地修改虛擬緩沖器的大小和位置即保證一個(gè)恒定的傳輸時(shí)間。
一旦已經(jīng)選擇K值,α值可以從它推斷出來(lái)。
圖7表示了作為比特率(沿著橫坐標(biāo))的函數(shù)α(沿著縱坐標(biāo))的變化。
對(duì)于比特率這個(gè)α(n)值必須連續(xù)地修改,以這樣一種方式即保證一個(gè)恒定的τ值。
對(duì)于相應(yīng)于線性區(qū)域、在1.5兆比特/秒和9兆比特/秒之間的曲線的第一部分71,α值是恒定的并且等于αmin=EpbsRmax-K]]>對(duì)于相應(yīng)于飽和區(qū)域的曲線72的第二部分,α從αmin變到αmax:αmax=Epbs-VBV_sizeRmax]]>K的最小值等于Kmin=VBV_sizeRmax]]>選擇的K值一般大于相應(yīng)于非飽和區(qū)域的這個(gè)最小值,典型的值是0.2。這就是為什么α(n)值必須被連續(xù)地重新調(diào)節(jié)的原因,因此這個(gè)值不是恒定的。
根據(jù)本發(fā)明的編碼器在圖8中表示并且在下面進(jìn)行描述。
預(yù)方法電路81接收要被編碼的數(shù)據(jù)。它經(jīng)過(guò)它的輸出端連接到編碼電路82的輸入端。編碼電路82的輸出端連接到緩沖器83的輸入端,緩沖器83在它的輸出端提供要被傳送到譯碼器的二進(jìn)制流。緩沖器的輸出端也被連接到調(diào)整器84的一個(gè)輸入端。調(diào)整器在另一個(gè)輸入端接收從編碼電路產(chǎn)生的數(shù)據(jù),這個(gè)電路的一個(gè)輸出端連接到調(diào)整器的一個(gè)輸入端。本地監(jiān)控裝置86連接到比特率分配器85、連接到預(yù)方法電路81并且也連接到調(diào)整器84。
預(yù)方法電路81接收包含在數(shù)字源中具有4.2.2.格式的有用的視頻信號(hào),以便對(duì)它進(jìn)行濾波和整形,并且更特別地是根據(jù)對(duì)于它們中每一個(gè)選擇的編碼類型記錄接收的圖像。視頻編碼電路82壓縮和格式化接收的信號(hào)為具有稱為“基本流”的MPEG2格式的二進(jìn)制序列。這個(gè)信號(hào)通過(guò)輸出緩沖器83使得以二進(jìn)制流或者“位流”的形式傳送到譯碼器。調(diào)整器從組成二進(jìn)制流并且由緩沖器傳送的編碼數(shù)據(jù)測(cè)量在編碼器輸出端的實(shí)際比特率。編碼電路82傳送編碼的數(shù)據(jù)到調(diào)整器以便允許它計(jì)算編碼成本和返回給它的量化區(qū)間。本地監(jiān)控裝置86接收調(diào)整器84的復(fù)雜性系數(shù),它將傳送到比特率分配器85,分配器85也從其他的視頻源接收這個(gè)信息提示(cue)并且因此通過(guò)控制這些不同視頻源的多路復(fù)用來(lái)分配一個(gè)比特率到每個(gè)視頻源。因此本地監(jiān)控裝置86提供與外部的接口并且特別地從比特率分配器接收相對(duì)于編碼器輸出端它們的應(yīng)用的相位超前的比特率信息提示。它還連接到預(yù)方法電路81以便除了別的以外還傳送從調(diào)整器84產(chǎn)生的GOP結(jié)構(gòu)使得允許預(yù)方法電路重組圖像。
調(diào)整器檢查編碼電路的數(shù)據(jù)壓縮器的量化區(qū)間。這個(gè)調(diào)整器在編碼器的實(shí)際緩沖器中加入譯碼器緩沖器的VBV模型,稱為虛擬緩沖器,以及用于以這樣一種方式在編碼器的輸出端測(cè)量比特率的一個(gè)裝置,使得保證視頻譯碼器的緩沖器既不會(huì)飽和也不會(huì)“干涸”。
作為緩沖器狀態(tài)的函數(shù)作用在量化區(qū)間上的比特率調(diào)整器可以分為兩個(gè)功能子塊僅僅在圖像級(jí)完成調(diào)整的圖像調(diào)整子塊,對(duì)于要被編碼的每個(gè)圖像接收“目標(biāo)位”設(shè)置,該設(shè)置相應(yīng)于要求產(chǎn)生用于下一個(gè)要被編碼圖像的數(shù)據(jù)量。作為編碼器的配置參數(shù)和VBV模型的狀態(tài)的函數(shù),通過(guò)在GOP級(jí)完成調(diào)整的另一個(gè)GOP調(diào)整子塊確定這個(gè)項(xiàng)目。
從用于編碼圖像的第一塊的初始量化區(qū)間開(kāi)始,圖像調(diào)整算法動(dòng)態(tài)地調(diào)節(jié)量化區(qū)間以便盡可能接近地到達(dá)已經(jīng)為它編程的“目標(biāo)位”。這種調(diào)節(jié)通過(guò)一個(gè)反饋系統(tǒng)執(zhí)行,該系統(tǒng)的穩(wěn)定性(收斂速率)可以由同名參數(shù)控制。
在圖像結(jié)束時(shí),圖像調(diào)整子塊傳送編碼圖像的實(shí)際成本到GOP調(diào)整子塊。GOP調(diào)整子塊計(jì)算這個(gè)成本與傳送的“目標(biāo)位”之間的誤差。該誤差隨后反饋到該算法用于計(jì)算下面圖像的“目標(biāo)位”。圖像調(diào)整子塊還傳送用于編碼最近過(guò)去的圖像的平均量化區(qū)間。如后面解釋的,這適合用于計(jì)算剛被編碼的圖像的后驗(yàn)復(fù)雜性。
通過(guò)圖像調(diào)整算法計(jì)算“目標(biāo)位”的原理如下設(shè)Ti、Tp(n)和Tb(m)分別是編碼內(nèi)部圖像、出自預(yù)測(cè)圖像的圖像n和出自雙向圖像的圖像m的目標(biāo)成本(多個(gè)目標(biāo)),這用于一個(gè)給定GOPTI=下一個(gè)類型I圖像的目標(biāo)位,TP=下一個(gè)類型P圖像的目標(biāo)位,TB=下一個(gè)類型B圖像的目標(biāo)位,QI=類型I圖像的平均量化區(qū)間,QP=類型P圖像的平均量化區(qū)間,QB=類型B圖像的平均量化區(qū)間,NP=GOP中類型P的圖像數(shù)量,NB=GOP中類型B的圖像數(shù)量。
N個(gè)圖像的GOP包括一個(gè)內(nèi)部圖像、NP預(yù)測(cè)圖像和NB雙向圖像N=1+NB+NP。
因此通過(guò)GOP調(diào)整的原理需要符合關(guān)系式Ti+Σn=1NpTp(n)+Σm=1NbTb(m)=NBpp]]>假設(shè)在GOP中每種類型圖像的編碼成本的穩(wěn)定性,對(duì)于圖像間調(diào)整,我們得到基本的方程式(1)T1+NPTP+NBTB=N×BPP-ε(2)ZIQI=ZPQP=ZBQB
方程式(1)表達(dá)了在組成GOP的圖像組上分配可得到比特率的原理。然而,這個(gè)可得到比特率減少或者增加誤差ε,誤差ε相應(yīng)于在事先編碼的GOP的圖像組上測(cè)量的偏移之和(目標(biāo)位-編碼的實(shí)際成本)。(4)ϵ=ϵ1+ΣGOPϵP+ΣGOPϵB]]>方程式(2)使得可能在不同類型的圖像之間建立平均量化區(qū)間的對(duì)應(yīng)規(guī)則,以便在這些不同類型的圖像之間保持一個(gè)穩(wěn)定的質(zhì)量。比例常數(shù)的經(jīng)驗(yàn)值是ZI=1.0,ZP=1.35,ZB=1.1方程式(3)的系統(tǒng)作為編碼相同類型的最近過(guò)去圖像的成本乘以平均量化區(qū)間的乘積給出圖像復(fù)雜性的計(jì)算。隨后一個(gè)復(fù)雜性穩(wěn)定性的重要假設(shè)使得可能根據(jù)用于編碼到來(lái)的圖像的目標(biāo)位來(lái)表達(dá)這個(gè)相同的復(fù)雜性。另外要指出的是做出的假設(shè)是下一個(gè)GOP的圖像復(fù)雜性等于在前面GOP測(cè)量的復(fù)雜性。
復(fù)雜性的這種預(yù)測(cè)使得可能獲得對(duì)于每種類型圖像的目標(biāo)位和初始量化區(qū)間的事先的計(jì)算
方程(5)的系統(tǒng)使得可能在大多數(shù)情況下根據(jù)譯碼器調(diào)整限制來(lái)產(chǎn)生值。然而,從一個(gè)GOP到另一個(gè)GOP通過(guò)的誤差不一定是先驗(yàn)的并且輸出比特率可以在選擇的實(shí)施方式實(shí)際經(jīng)受一些變化。
這就是為什么GOP調(diào)整子塊加入VBV模型。如前面提到的,這種譯碼器運(yùn)行狀態(tài)的簡(jiǎn)化模型利用下面的假設(shè)·編碼和譯碼時(shí)間是零;·在編碼之后立即將圖像引入編碼器的緩沖器中;·在譯碼器也是立即提取進(jìn)行譯碼的圖像。
這樣,在每個(gè)編碼的圖像,通過(guò)應(yīng)用下面關(guān)系式,調(diào)整算法更新VBV模型的緩沖器占用率的狀態(tài)VBV_fullness(n)=VBV_fullness(n)+Bpp(n)-Last_picture_cost+εBpp(n-τ)如前面提到的,這個(gè)關(guān)系式表示了當(dāng)已提取最近編碼的圖像的等量值時(shí)Bpp位輸入至譯碼器緩沖器的情況。附加的誤差εBpp表示在測(cè)量的比特率和期望的比特率之間在編碼器的輸出端測(cè)量的偏差ϵBpp(n-τ)=∫last-pictureDc(t)dt-Bpp(n-τ),]]>Dc(t)在t的編碼器輸出比特率VBV模型的第一種用途涉及到填充操作(零字節(jié)添加到位流中圖像的結(jié)尾),該操作是基本的以便保證譯碼器的緩沖器既不在當(dāng)前圖像上也不在下一個(gè)圖像的發(fā)送期間飽和。該操作包括檢驗(yàn)由模型引起的緩沖器占用率決不超過(guò)譯碼器緩沖器的最大容量,減去在下一個(gè)圖像期間在譯碼器緩沖器輸入端的期望的數(shù)據(jù)量的值Bpp。因此如果(VBV_fullness(n)>VBV_size-Bpp(n+1)則Last_pict_cost(n)=Last_pict_cost(n)+VBV_fullness(n)-(VBV_size-Bpp(n+1)),VBV_fullness(n)=VBV_size-Bpp(n+1),VBV_size表示譯碼器緩沖器的有用大小(對(duì)于MPEG2 1.835兆比特,在Main Profile Main Level(主分布主層級(jí))下)。隨后引入相應(yīng)于應(yīng)用到圖像成本的偏移的填充數(shù)據(jù)量。
除了填充以外,對(duì)VBV模型的緩沖器的占用率狀態(tài)的精確了解允許下一個(gè)要被編碼的圖像目標(biāo)位的預(yù)防性重新調(diào)節(jié)。重新調(diào)節(jié)這個(gè)步驟是基本的以便預(yù)測(cè)到緩沖器破壞。兩種特別的情況可能產(chǎn)生-VBV模型的緩沖器的觀測(cè)狀態(tài)非常接近于“干涸”的狀態(tài)。在這種情況下,下一個(gè)目標(biāo)位的值必須減去一個(gè)量,這個(gè)量越大危險(xiǎn)就越大;-VBV模型的緩沖器的觀測(cè)狀態(tài)非常接近于飽和的狀態(tài)。在這種情況下,下一個(gè)目標(biāo)位的值必須加上一個(gè)量,這個(gè)量越大危險(xiǎn)就越大;通過(guò)假設(shè)譯碼器緩沖器是完全充滿的來(lái)執(zhí)行VBV模型緩沖器狀態(tài)的初始化。為了保證這個(gè)狀態(tài),如前面所述與在編碼器和譯碼器之間同步的原理有關(guān),要考慮在經(jīng)過(guò)編碼器和譯碼器緩沖器傳送數(shù)據(jù)中的延遲概念(端對(duì)端延遲)。
因此該算法的運(yùn)算原理的特征在于,通過(guò)GOP調(diào)整子塊以及以圖像速率計(jì)算發(fā)送到圖像調(diào)整子塊的“目標(biāo)位”和“初始量化區(qū)間”參數(shù)。
圖9是GOP調(diào)整子塊和由子塊調(diào)整算法完成各種計(jì)算的示意性表示。
預(yù)計(jì)算模塊91接收由先前編碼圖像n產(chǎn)生的并且由圖像調(diào)整子塊傳送的“編碼成本”CC(n)和“平均量化區(qū)間”Q(n)信息提示,以及在第三個(gè)輸入端接收期望成本(目標(biāo)位T(n))和實(shí)際成本CC(n)之間的誤差E(n)。在第四個(gè)輸入端它還接收關(guān)于相應(yīng)于編碼下一圖像n+1時(shí)刻的期望的比特率Bpp(n+1)的信息提示并且它是從比特率分配器產(chǎn)生的設(shè)置。如前所述,在這個(gè)比特率起作用之前的時(shí)刻τ分配器傳送一個(gè)信道比特率設(shè)置到調(diào)整器。因此它提供一個(gè)比特率信息提示Bpp(n+1)用于下一圖像。模塊91在控制模塊92的第一和第二輸入端上傳送圖像n+1的目標(biāo)位T(n+1)信息以及圖像n+1的初始量化區(qū)間Q_init(n+1)。
從分配器產(chǎn)生的比特率信息提示也傳送到延遲一個(gè)圖像持續(xù)時(shí)間的電路93。來(lái)自這個(gè)電路的輸出傳送到控制模塊92的第三個(gè)輸入端。來(lái)自延遲電路93的輸出也傳送到延遲一個(gè)持續(xù)時(shí)間τ的電路94的輸入端。這個(gè)電路的輸出端連接到第一減法器95的第一輸入端+,該減法器在它的第二輸入端接收由比特率測(cè)量電路96在編碼器的輸出端測(cè)量的比特率信息提示。這個(gè)減法器的輸出端連接到控制模塊92的第四個(gè)輸入端。這個(gè)控制模塊重新調(diào)節(jié)虛擬緩沖器的參數(shù)以及在它的輸出端也是GOP調(diào)整子塊的輸出端傳送下圖像n+1的初始目標(biāo)位和量化區(qū)間信息。這兩個(gè)信息提示傳送到用于編碼下一個(gè)圖像的圖像調(diào)整子塊。
控制模塊的目的是事后檢驗(yàn)緩沖器破壞的危險(xiǎn)。為了做到這一點(diǎn),因此它在輸入端接收相應(yīng)于設(shè)置值和比特率的實(shí)際值之間誤差的差值Bpp(n-τ)-Dc(n)以及下一個(gè)圖像的參數(shù)T(n+1)與Q_init(n+1)和當(dāng)前編碼的圖像的Bpp(n)。這個(gè)信息允許控制模塊計(jì)算虛擬緩沖器的填充系數(shù)中的變化。
可能已校正的下一圖像的目標(biāo)位的值T(n+1)反饋給延遲一個(gè)圖像持續(xù)時(shí)間的電路97,該電路97的輸出端驅(qū)動(dòng)第二減法器98的正輸入端。這個(gè)減法器的負(fù)輸入端接收編碼當(dāng)前圖像的成本CC(n)并且它的輸出端連接到預(yù)計(jì)算模塊91的第三輸入端。
借助于圖10描述的流程圖解釋由預(yù)計(jì)算模塊和控制模塊完成的各種計(jì)算。
第一個(gè)步驟101是一個(gè)用于觸發(fā)任務(wù)的中斷等待循環(huán)。一個(gè)圖像中斷通知該算法從圖像調(diào)節(jié)產(chǎn)生的關(guān)于剛剛被編碼的圖像n的信息是可得到的。接著的步驟102讀出下面的信息-用于圖像n的編碼成本CC(n),-圖像n的平均量化區(qū)間Q(n),-圖像n+1的與圖像有關(guān)的比特率設(shè)置Bpp(n),-圖像n+1的類型(I,P或B),-圖像n的在編碼器輸出端的比特率Dc(n)。
下一步驟103計(jì)算對(duì)于每種類型圖像的“目標(biāo)位”。前一圖像的編碼結(jié)果(編碼成本和平均量化區(qū)間)被用于計(jì)算圖像n的復(fù)雜性。
為每個(gè)圖像n計(jì)算相對(duì)于由編碼產(chǎn)生的“目標(biāo)位”的誤差E(n)并且在一個(gè)GOP上累積以在GOP的結(jié)尾存儲(chǔ)作為值ε。E(n)在下一個(gè)GOP的第一個(gè)圖像被初始化。
X(n)=CC(n)×Q(n)E(n)=E(n-1)+T(n)-CC(n)對(duì)于每種類型圖像,為圖像n+1計(jì)算一個(gè)新的“目標(biāo)位”
因此這些“目標(biāo)位”考慮先前GOP的累積誤差。為計(jì)算目標(biāo)位,這個(gè)誤差可以說(shuō)在下一GOP的圖像上被重新分配。
下一個(gè)步驟104執(zhí)行虛擬緩沖器的破壞危險(xiǎn)的后驗(yàn)檢查,因此重新調(diào)節(jié)“目標(biāo)位”并且計(jì)算下一個(gè)要被編碼圖像的初始量化區(qū)間。
這樣,這個(gè)步驟通過(guò)計(jì)算VBV_fullness狀態(tài)執(zhí)行VBV模型的更新。這個(gè)緩沖器狀態(tài)使得可能首先插入填充以便避免譯碼器緩沖器的飽和。其次,“目標(biāo)位”也許可以被重新調(diào)節(jié)(重新調(diào)節(jié)過(guò)程不構(gòu)成這個(gè)專利的主題)并且計(jì)算要被編碼的下一個(gè)圖像的初始量化區(qū)間。
Ec(n)=Bpp(n-τ)-Dc(n)VBV_fullness(n)=VBV_fullness(n-1)+Bpp(n)-[CC(n)+B(n)]-Ec(n)CC(n)+B(n)表示圖像的成本CC(n)加上一個(gè)相應(yīng)于位(例如0)的數(shù)量的填充量B(n),這些位隨著這個(gè)圖像n同時(shí)進(jìn)入到編碼器的緩沖器。
如果(VBV_fullness(n)>VBV_size-Bpp(n+1))則修改填充容量B(n),使得B(n)=VBV_fullness(n)-(VBV_size-Bpp(n+1))緩沖器的填充因數(shù)的變化是VBV_fullness(n)=VBV_fullness(n)-B(n)計(jì)算初始量化區(qū)間QIinit=XI/TI,QPinit=XP/TP,QBinit=XB/TB。
步驟104隨后循環(huán)返回到初始步驟101。
應(yīng)該注意虛擬緩沖器和VBV_offset的概念暗示著如下事實(shí),將時(shí)刻n在編碼器的輸出端比特率的測(cè)量與來(lái)自時(shí)刻n-τ的值Bpp相比較。然后通過(guò)反饋這兩個(gè)項(xiàng)目之間的偏差到狀態(tài)VBV_fullness的計(jì)算來(lái)調(diào)節(jié)虛擬緩沖器的偏移。它是保證虛擬緩沖器的位置控制的簡(jiǎn)單的反饋環(huán)路。
本發(fā)明的應(yīng)用涉及數(shù)字電視、節(jié)目群的傳輸,也就是說(shuō)例如衛(wèi)星傳輸中的若干視頻源的同時(shí)傳輸或者視頻源對(duì)轉(zhuǎn)發(fā)器信道的共享利用統(tǒng)計(jì)的多路復(fù)用。視頻數(shù)據(jù)被壓縮和多路復(fù)用以通過(guò)這個(gè)信道按包傳輸。
它們還涉及使用多通路編碼的DVD記錄。第一個(gè)通路使得可能確定對(duì)于整個(gè)影片的圖像復(fù)雜性。第二個(gè)通路使得可能從規(guī)定的平均比特率開(kāi)始,作為這個(gè)復(fù)雜性的函數(shù)分配比特率到每個(gè)圖像。因此該圖像的質(zhì)量對(duì)于相同的數(shù)據(jù)量是恒定的。
權(quán)利要求
1.一種用于編碼視頻圖像序列的數(shù)字?jǐn)?shù)據(jù)的方法,對(duì)這個(gè)數(shù)據(jù)進(jìn)行圖像壓縮以及通過(guò)作用在要被編碼數(shù)據(jù)的量化區(qū)間上的調(diào)整環(huán)路調(diào)整在編碼器輸出端的比特率,將編碼器輸出的數(shù)據(jù)存儲(chǔ)在緩沖器中以在一個(gè)信道上以可變的比特率傳輸它到譯碼器的緩沖器,為這個(gè)數(shù)據(jù)加標(biāo)記以便保證編碼器緩沖器中一個(gè)圖像的存儲(chǔ)時(shí)刻和來(lái)自譯碼器緩沖器的這個(gè)圖像的輸出時(shí)刻之間的恒定時(shí)間τ,其特征在于在時(shí)刻n關(guān)于圖像的比特率調(diào)整作為時(shí)刻n+τ關(guān)于傳輸信道的比特率預(yù)測(cè)的函數(shù)來(lái)完成,并且根據(jù)一個(gè)相應(yīng)于以時(shí)間τ乘以比特率變化的值,在編碼器緩沖器的輸出端傳輸比特率變化之前從時(shí)間τ開(kāi)始在由編碼器緩沖器中頂端地址和底端地址限定的虛擬緩沖器界限內(nèi)完成該調(diào)整,虛擬緩沖器的頂端地址或偏移相對(duì)于編碼器緩沖器的頂端地址變化。
2.如權(quán)利要求1所述的編碼方法,其特征在于以這樣一種方式計(jì)算虛擬緩沖器的大小使得至少在比特率的變化范圍上與來(lái)自編碼器的輸出比特率成比例,從相應(yīng)于舊的比特率的大小直到相應(yīng)于新的比特率的大小從傳輸比特率的變化之前的時(shí)間τ開(kāi)始連續(xù)地發(fā)生變化。
3.如權(quán)利要求1或2所述的編碼方法,其特征在于對(duì)于時(shí)刻n+τ預(yù)測(cè)的傳輸比特率作為在一個(gè)GOP(圖像組)的持續(xù)時(shí)間上先于這個(gè)圖像的圖像平均復(fù)雜性的函數(shù)來(lái)計(jì)算。
4.如權(quán)利要求1所述的編碼方法,其特征在于通過(guò)以這樣一種方式編碼每個(gè)圖像執(zhí)行虛擬緩沖器的模擬,使得在相應(yīng)于τ時(shí)刻以后在緩沖器輸出端分配的比特率在緩沖器輸入端提供比特率。
5.如權(quán)利要求4所述的編碼方法,其特征在于通過(guò)引入輸出比特率和τ時(shí)刻之前分配的比特率分配之間的誤差事后更新虛擬緩沖器的模型。
6.如權(quán)利要求1所述的編碼方法,其特征在于虛擬緩沖器的最大容量是譯碼器緩沖器的容量。
7.如權(quán)利要求1所述的編碼方法,其特征在于編碼器輸出端的比特率變化范圍的頂端和底端界限相應(yīng)于在實(shí)際緩沖器的頂端和底端邊界的虛擬緩沖器的定位。
8.如權(quán)利要求1所述的編碼方法,其特征在于根據(jù)目標(biāo)位或者關(guān)于這個(gè)編碼和初始量化區(qū)間的目標(biāo)位的數(shù)量完成關(guān)于圖像n+1的調(diào)整,在關(guān)于圖像周期n+τ的編碼器的輸出端從對(duì)于期望的信道比特率的設(shè)置來(lái)計(jì)算目標(biāo)位。
9.如權(quán)利要求8所述的編碼方法,其特征在于為了計(jì)算目標(biāo)位的值,考慮了圖像編碼、內(nèi)部、預(yù)測(cè)或雙向的類型和預(yù)定比例常數(shù)的值。
10.如權(quán)利要求8所述的編碼方法,其特征在于通過(guò)引入對(duì)于這個(gè)圖像計(jì)算的目標(biāo)位和編碼圖像的成本之間的誤差完成在時(shí)刻n屬于一個(gè)GOP(圖像組)的圖像的編碼,這個(gè)誤差是在先前GOP的等級(jí)上累積的。
11.一種用于從若干視頻源傳送數(shù)據(jù)的方法,如權(quán)利要求1所述為每個(gè)源完成這個(gè)數(shù)據(jù)的編碼,以便經(jīng)過(guò)一個(gè)給定傳輸信道以可變比特率傳輸數(shù)據(jù),其特征在于根據(jù)信道可得到比特率和來(lái)自視頻源組的先前圖像的復(fù)雜性測(cè)量,它對(duì)于每個(gè)源在信道上的這個(gè)源的實(shí)際比特率之前的τ時(shí)刻完成比特率分配。
全文摘要
本發(fā)明涉及一種按照可變比特率傳輸?shù)囊曨l序列的數(shù)字?jǐn)?shù)據(jù)編碼方法。其特征在于時(shí)刻n圖像的比特率控制根據(jù)時(shí)刻n+τ的傳輸信道的比特率預(yù)測(cè)來(lái)完成,τ是編碼器緩沖器中圖像存儲(chǔ)的時(shí)刻和來(lái)自譯碼器緩沖器的這個(gè)圖像的輸出時(shí)刻之間的恒定時(shí)間。
文檔編號(hào)H04N7/32GK1217851SQ97194383
公開(kāi)日1999年5月26日 申請(qǐng)日期1997年5月7日 優(yōu)先權(quán)日1996年5月9日
發(fā)明者帕特里克·亞歷山大, 盧多維克·諾布爾特, 克勞德·佩龍 申請(qǐng)人:湯姆森多媒體公司