專利名稱:編碼圖像序列的切換方法及相應裝置的制作方法
技術領域:
本發明涉及在配有接收需解碼的圖像的緩存器的圖像解碼器中在解碼前從一個比特率為Rold的第一編碼圖象序列切換到一個比特率為Rnew的第二編碼圖像序列的方法以及實現所述切換方法的相應裝置。
如例如在文件“MPEG圖像編碼基本指導書”(“MPEG video codinga basic tutorial introduction”,BBC report RD 1996/3)中所述,MPEG型壓縮的圖像序列細分為一系列圖像組(GOP),各組包括不同類型的編碼圖像(
圖1示出了GOP的一個例子)幀內編碼圖像(I圖像),不參考任何其他圖像編碼的圖像;預測編碼圖像(P圖像),采用從一個過去的參考幀預測加以編碼的圖像;以及雙向預測編碼圖像(B圖像),采用從過去和/或將來的參考幀預測加以編碼的圖像(圖中箭頭分別指示各P圖像或B圖像的相應參考圖像)。
對于不同類型的預測圖像編碼效率是不同的,因此所得出的比特數不是不變的。此外,假設每隔一個圖像周期TV按照MPEG規范要瞬時對一幀圖像解碼,各幀編碼圖像的第一個比特在解碼器的緩存器內并不滯留相同的時間,這個可變時間按MPEG語法定義稱為vbv延遲(vbv=videobuffering verifior圖像緩存校驗器)。對于一個以固定比特率編碼的信息流,每隔一個圖像周期TV瞬時解碼一幀圖像的情況,圖2示出了解碼器的緩存器充滿度S(t)隨時間t變化的例子,其中相繼圖像I0至I4的相應vbv延遲為vbv(I0),vbv(I1),……vbv(I4)。一幀圖像的比特率由斜率給出,而充滿度(解碼器的緩存器狀態)由每個周期Tv中的最高點給出。按照圖3,一幀在時間td(Ij)從解碼器的緩存器移出進行解碼的圖像Ij的容量d(Ij)為d(Ij)=S-(Ij)-S+(Ij)(1)其中S-(Ij)和S+(Ij)分別表示在時間td-(Ij)(圖像Ij即將從解碼器的緩存器移出的時刻)和td+(Ij)圖像Ij剛從解碼器的緩存器移出的時刻)的解碼器的緩存器狀態。對于這幀圖像Ij,它的vbv延遲vbv(Ij)。圖像信息流比特率R和解碼器緩存器狀態S-(Ij)之間的關系為
S-(Ij)=vbv(Ij)·R(2)還可以得出S+(Ij)=S-(Ij+1)-R·Tv(3)由式(2)、(1)、(3)可以得出一個給出解碼圖像Ij的容量d(Ij)(比特數)更為精確的關系d(Ij)=R·(vbv(Ij)-vbv(Ij+1)+Tv)(4)由于是這種調整模式,兩個壓縮(編碼)圖像序列之間的直接切換并不是始終可行的用在每個周期Tv編碼一幀圖像進行切換在發送的第一幀新圖像的vbv延遲大于所代替的第一幀老圖像的vbv延遲時是不可能的。這種情況示于圖4,用新序列(N1,N2)的圖像N1代替老序列(O1,O2,O3)的圖像O3是不可能的,因為N1的vbv延遲vbv(N1)大于O3的vbv延遲vbv(O3)。
已知,在MPEG-2標準(例如參見歐洲專利申請EP 0692911)中,利用一些稱為“接續點”的專用接入點就有利于圖像切換。然而,這只能在新、老圖像序列上存在相同的接續點時才能執行。
本發明的目的是提出一種可以不用設立接續點的圖像序列切換方法。
為了達到這個目的,本發明所涉及的如本說明書前言所述的方法的特征是如果第二序列第一幀發送圖像(N1)的第一個比特在所述第一幀發送圖像解碼前必需在解碼器的緩存器內滯留的時間vbv(N1)大于第一序列第一幀被代替圖像(O3)的第一個比特在它解碼前必需在所述緩存器內滯留的時間vbv(O3),就將第二序列所述第一幀發送圖像的比特率至少增大到使所述時間vbv(N)相應減小到至少等于時間vbv(O3)的值Rint。
切換現在就可以執行而不需要任何接續點。按照本發明,就本幀增大比特率,使得第一幀被代替的老圖像與第一幀要發送的新圖像的vbv延遲現在是兼容的,從而不再需要接續點來實現換操作。
然而,并不是始終能無限增大比特率以達到適當的vbv延遲值,例如,圖像序列可能與其他基本信息流多路合并成一個多路復用傳送信息流,從而上述方法在這種情況下可能由于在所述多路復用傳送信息流中可用帶寬的限制而不能使用。
按照本發明,在對于比特率而言帶寬受限的情況下,對上述方法作了改進(a)將所述第一幀發送圖像N1的比特率增大到以下兩個值中較小的那個值與所述有限帶寬相應的最大比特率值,或使所述時間vbv(N1)相應減小到最多等于時間vbv(O3)的值Rint。
(b)只要所述較小值為與所述有限帶寬相應的最大比特率值,對于第二序列的第二幀圖像N2重復操作(a);以及(c)只要上次操作結束時得出的所述較小值為所述最大比特率值,對于第二序列的隨后圖像N3,N4,…,同樣重復操作(a)。
在增大比特率有帶寬限制時,所提出的方法可以通過按需要相繼對第二序列的多個圖像增大比特率加以改善,盡管由于所述帶寬限制,在某種程度上仍盡可能減小第一幀圖像的vbv延遲。
從下面的說明和附圖中可以清楚地看到本發明的特色和優點。在這些附圖中圖1示出了包括不同類型的編碼圖像的GOP的一個例子;圖2給出了對于一個以固定比特率編碼的信息流在每隔一定時間瞬時解碼一幀時的情況;編碼器的緩沖器充滿度與時間的關系的例子;圖3標明了在采用圖2的解碼器緩存器充滿度表示方式時圖像Ij的主要有用參量;圖4例示了在一個老序列和一個新序列之間不能切換的情況;圖5例示了本發明所提出的方法的原理;圖6示出了按本發明所提出的方法進行切換所得到的信息流;圖7和8例示了本發明所提出的方法的限制,在圖7中可觀察到的切換問題并不能如圖8所示那樣實現本發明完全解決;圖9例示了本發明所提出的改進方法的原理,可以解決所述限制;圖10至12例示了出現下溢的情況;圖13和14分別例示了在實現所述方法的切換裝置內和在所述裝置的另一個實施例內執行的步驟。
本發明的原理是在轉換時就本幀增大新序列的比特率,使vbv(N1)減小到最多等于或者甚至小于vbv(O3)(這個值為vbv′(N1)表示),這樣就能進行切換。這種情況與圖5相應,圖中示出了在對N1進行比特率修改后N1和O3的vbv延遲怎樣成為兼容(與圖4相比較)的情況。在圖像O3用圖像N1代替后全程解碼器的緩存器的演化示于圖6,其中示出了在按照本發明的原理進行切換時得到的信息流。
式(2)可得Rint=(vbv(N1)·Rnew)/vbv(O3)(5)其中Rnew為新圖像序列的比特率;Rint為在實現本發明所提出的方法時的中間過渡比特率。
如圖5所示,在請求切換時,即在新圖像N1的第一個比特進入解碼器的緩存器的時刻tsw,就對信息流應用中間比特率Rint(Rold表示老圖像序列的比特率)。由圖6可見,在這個時刻tsw圖像O1還沒有解碼,它的最后一些比特將以中間比特率Rint傳入解碼器的緩存器。在這幀圖像O1解碼時,圖像O2的最后一些比特還沒有完全傳入解碼器的緩存器,這些比特也以Rint傳入。在O2解碼時,N1(代替O3)的最后一些比特同樣還沒有完全傳入解碼器的緩存器,這些比特仍然以Rint傳入。在N1解碼時,所有以后的(N2…等)vbv延遲就都是兼容的,因此傳入隨后的這些圖像(N2…等)的比特率就為新圖像序列的比特率Rnew。
本發明并不局限于上述這種實現方式,在不偏離本發明范圍的情況下不可以從這種實現方式導出許多修改形式。例如,如果中間比特率Rint成為高于老比特率Rold,就必需注意不要在轉換時出現溢出。
然而,并不是始終都能無限增大N1的比特率來達到一個適當的vbv延遲值。通常,這些圖像序列與其他基本信息流合并成一個多路復用傳遞信息流,因此上述執行本幀比特率修改的方法在這種情況下由于在所述多路復用傳送信息流中可用帶寬的限制而不能使用。圖7和8分別示出了切換問題(在vbv(N1)大于vbv(O3)時,不能執行切換操作)和諸如上述這種切換方法通過增大新序列第一幀發送圖像N1的比特率減小vbv(N1)的實現情況。在可用帶寬受到限制的情況下,單增大N1的比特率不足使vbv(N1)具有一個能與vbv(O3)兼容的值。為了使圖簡明起見,老序列的比特率Rold在此假設為與增大Rnew。(對于圖像N1)的帶寬極限相應。如圖8所示,值vbv(N1)在N1的比特率增大到一個等于與O3相應的比特率的值后實際上仍大于vbv(O3)(在這圖中和在圖9和11中,雙線相應于在比特率修改前和圖像N1)。
如圖9所示,按照本發明,在將增大比特率再用于新序列的下一幀圖像N2時,解碼器的緩存器就部分空出來,從而使vbv(N1)再次減小,但這次減小量足以使N1和O3的vbv延遲兼容。推廣來說,如果必要的話(即如果所述減小量仍不足使N1和O3的vbv延遲兼容的話),不僅對第一幀然后對第二幀新圖像增大比特率,而且還對每個后繼圖像增大比特率,直至足以獲得vbv延遲的所述兼容性。
所述推廣可以更為精確地加以研究,從而可以得出在這種推廣的比特率修改后的新的緩存器狀態和vbv延遲的計算。為此假設a)所有帶下標“b”的變量表示在比特率修改前的變量;b)所有帶下標“a”的變量表示在比特率修改后的變量;c)由于本發明的實現只與新信息流有關,而與老信息流中的圖像無關,因此所有考慮新序列的一幀圖像Nk的標記恢復為這個圖像的下標k,以及d)解碼時刻td(k)和圖像容量d(k)在這處理過程期間不作修改。其他仍未說明的所用標記如下ts(I)為圖像I的第一個比特進入解碼器的緩存器的時間;tsa(1),…,tsa(i),…tsa(n)為與ts(I)類似的時間,但是為比特率修改后新序列的圖像1,…,i,…,n的第一個比特分別進入解碼器的緩存器的時間;以及d(1),…d(i),…d(n)分別為圖像1,…i,…,n的以比特數計的容量。考慮直至圖像n解碼的比特率修改情況(n的值必需多大的考慮將在下面介紹)。因此,對于處于tsa(1)至td(n)之間的時間t,比特率等于Rold,而對于大于td(n)的時間t,比特率等于Rnew。在td(n)以后,緩存器充滿度就不變S-a(k)=S-b(k)和S+a(k)=S+b(k),對于k>n。緩存器狀態在時刻t-d(n)為S-b(n)。新的緩存器狀態在時刻t-d(n-1)于是可推得為S-a(n-1)=S-b(n)-Rold.Tv+d(n-1) (6)而且S-b(n-1)=S-b(n)-Rnew.Tv-d(n-1) (7)從而可得S-a(n-1)=S-b(n-1)-(Rold-Rnew).Tv(8)同樣可以證明S-a(n-2)=S-b(n-2)-(Rold-Rnew).2Tv(9)從而可遞推得S-a(n-k)=S-b(n-k)-(Rold-Rnew).kTv對于k=0,…,n-1(10)同樣可以證明S-a(n-k)=S-b(n-k)-(Rold-Rnew).kTv對于k=0,…,n-1(11)新的vbv延遲也可以計算得,為vbva(n-k)=S-a(n-k)/Rold對于k=0,…,n-1(12)由式(10)可得vbva(n-k)=(S-b(n-k)/Rnew).(Rnew/Rold)-kTv.(1-Rnew/Rold)對于k=0,…,n-1(13)因此有vbva(n-k)=vbvb(n-k).(Rnew/Rold)-kTv.(1-Rnew/Rold) (14)對于k=0,…,n-1
必需指出的是,根據式(10)和(11),原來的緩存器充滿度在增大一個本幀比特率后就要減小,因為Rold大于Rnew。因此,如果不注意,就可能出現下溢。不下溢的條件可以確定n的值應取多大。
為了在本幀比特率增大后具有應順的緩存器充滿度,必需滿足S+a(n-k)>0對于k=0,…,n-1(15)由于式(11),可得S+b(n-k)>kTv.(Rold-Rnew)對于k=0,…,n-1(16)這個條件也可以用vbv延遲表示。如果滿足vbvb(n-k)>Tv對于k=0,…,n-1(17)緩存器充滿度就不至下溢。由于式(14),因此可得vbva(n-k)>Tv.(Rold-Rnew+k.(Rold/Rnew-1))對于k=0,…,n-1(18)如果沒有下溢的問題,將達到最小可能vbv延遲d(1)/Rold。
圖10至12示出了如果n=2就會出現下溢情況的例子。圖10表示原來的信息流,圖11示出了增大比特率直至圖像N1解碼的情況,而圖12示出了增大比特率直至圖像N2解碼的情況(與前面一樣,雙線相應于修改圖像N1、N2的比特率以前的圖像)。在最后的這種情況下出現下溢,而如果增大比特率只是直至N1解碼就不會出現下溢。這就是最終不下溢條件,可以確定新序列中可以增大比特率而沒有任何問題的圖像的幀數。
然而,應該注意的是,在按照本方法減小了vbv延遲后,有時可能仍處于vbv延遲還不能兼容的情況。于是能將所述方法與另一種如在1997年5月27日遞交的歐洲專利申請書No.97401160.3(PHF 97557)中所述的基于插入所謂最小圖像的方法結合起來。按照所述文件,不再修改比特率,而是將新的圖像序列延遲給定的圖像數K,而將K幀最小圖像,即以盡可能少的比特編碼而仍應順解碼過程的圖像,插在老的和新的序列之間釋放出的時間段。圖13和14例示了分別在實現諸如所述的本幀比特率修改的裝置中和在實現上面提到的結合兩種方法的裝置中所執行的主要步驟。在圖14中,R(of-min)表示保證不溢出的最小比特率。
權利要求
1.一種在配有接收需解碼的圖像的緩存器的圖像解碼器內在解碼前從一個比特率為Rold的第一編碼圖像序列切換到一個比特率為Rnew的第二編碼圖像序列的方法,其特征是如果第二序列的第一幀發送圖像(N1)的第一個比特在所述第一幀發送圖像的解碼時間前在解碼器的緩存器內要滯留的時間vbv(N1)大于第一序列的第一幀被代替的圖像(O3)的第一個比特在它本身的解碼時間前在所述緩存器內要滯留的類似時間vbv(O3),那么就將第二序列的所述第一幀發送圖像的比特率至少增大到使所述時間vbv(N1)相應減小到最多等于時間vbv(O3)的值Rint。
2.一種按權利要求1所述的方法,其特征是在所述比特率的增加受到有限帶寬限制的情況下(a)將所述第一幀發送圖像N1的比特率增大到以下兩個值中較小的那個值與所述有限帶寬相應的最大比特率值,或使所述時間vbv(N1)相應減小到最多等于時間vbv(O3)的值Rint;(b)只要所述較小值為與所述有限帶寬相應的最大比特率值,對于第二序列的第二幀圖像N2重復操作(a);以及(c)只要上次操作(對于(c)為(b),對于(d)為(c),…)結束時得出的所述較小值為所述最大比特率值對于第二序列的隨后圖像N3,N4,…同樣重復操作(a)。
3.一種按權利要求1或2所述的方法,其特征是所述最大比特率值Rint等于所述比特率Rold,而所述值Rint由下式給出Rint=(vbv(N1)·Rnew)/vbv(O3)
4.一種按如在權利要求1至3的任何一個權利要求中所提出的方法進行切換的裝置。
5.一種如在權利要求4中所提出的裝置,用來將所述切換方法與另一種將一個用盡可能少的比特編碼的圖像序列插在所述第一和第二序列之間的方法結合起來。
全文摘要
本發明提出了一種在圖像解碼器中從一個第一編碼圖像序列切換到一個比特率比它低的第二編碼圖像序列的方法。如果第二序列的必需加以解碼的第一幀發送圖像的第一個比特在解碼器的緩存器內滯留的時間(vbv延遲)大于第一序列的第一幀被代替的圖像的第一個比特的類似時間因而不能與之兼容,就可以通過增大所述第一幀發送圖像的比特率加以減小,以獲得vbv延遲的兼容。在對于增大比特率受到有限帶寬的限制的情況下,這種減小vbv延遲的操作可以按需要相繼對隨后的多幀圖像重復執行。
文檔編號H04N7/24GK1262846SQ99800445
公開日2000年8月9日 申請日期1999年1月28日 優先權日1998年2月3日
發明者F·馬丁 申請人:皇家菲利浦電子有限公司