專利名稱:圖像編碼器及其方法、圖像譯碼器及其方法、和分配媒體的制作方法
本申請是申請日為1998.3.31、發(fā)明名稱為“圖像編碼器及其方法、圖像譯碼器及其方法、和分配媒體”的中國專利申請NO.98800376.7的分案申請。
本發(fā)明涉及一種圖像編碼器、圖像編碼方法、圖像譯碼器、圖像譯碼方法、和分配媒體。更詳細地說,本發(fā)明涉及例如在視頻會議系統(tǒng)、視頻電話系統(tǒng)、廣播設備、和多媒體數(shù)據(jù)庫檢索系統(tǒng)中適用的一種圖像編碼器、圖像編碼方法、圖像譯碼器、圖像譯碼方法、和分配媒體,在這種情況下動態(tài)圖像數(shù)據(jù)被記錄在諸如磁光盤、磁帶等的存儲媒體中,并且該記錄的數(shù)據(jù)在一顯示器中被再生和顯示,或者在這種情況下的動態(tài)圖像數(shù)據(jù)通過一傳輸通道從一發(fā)射機側(cè)被傳送到接收機側(cè),并且在該接收機側(cè)將所接收的動態(tài)圖像數(shù)據(jù)進行顯示或編輯和記錄。
例如,在視頻會議系統(tǒng)和視頻電話系統(tǒng)中,需要將動態(tài)圖像數(shù)據(jù)傳送到一遠處,圖像數(shù)據(jù)利用行相關和幀間相關而被壓縮和編碼以便有效利用傳送通道的優(yōu)點。
作為一種典型的高效動態(tài)圖像編碼系統(tǒng),有一種基于運動圖像專家組(MPEG)標準的用于存貯媒體的動態(tài)圖像編碼系統(tǒng)。這種MPEG標準是經(jīng)國際標準化機構(ISO)-IEC/JTC1/SC2/WG11討論并提出作為標準的建議。該MPEG標準采用了一利用運動補償預測編碼和離散余弦變換(DCT)編碼的組合的混合系統(tǒng)。
該MPEG標準定義了某些輪廓(profile)和等級(level)以便支持一寬的應用和功能的范圍。該MPEG標準主要依據(jù)于在主要等級上的主輪廓(MPCML)。
圖1示出了在該MPEG標準系統(tǒng)中的一MP@ML編碼器的結(jié)構例子。
把要編碼的圖像數(shù)據(jù)輸入到幀存儲器31中并暫時地存儲。運動矢量檢測器32讀出在該幀存儲器31中存儲的圖像數(shù)據(jù),例如,由16×16象素所構成的一宏塊單元,并且檢測該運動矢量。
這里,運動矢量檢測器32處理內(nèi)相關編碼圖像(I-圖像)、正向預測編碼圖像(P-圖像)、或雙向預測編碼圖像(B-圖像)中的任何一種圖像的每一幀的圖像數(shù)據(jù)。應注意的是,在序列中輸入的幀圖像如何是按照已預定的I-、P-、和B-圖像處理的(即,圖像以列舉的順序按照I-圖像、B-圖像、P-圖像、B-圖像、P-圖像、…、B-圖像、和P-圖像而處理的)。
也就是,在該運動矢量檢測器32中,利用在幀存儲器31中所存儲的圖像數(shù)據(jù)中的一預定的參考幀作為參考,并且把在要編碼的當前幀中的16象素×16行(宏塊)的一小塊與在該參考幀中的一組相同尺寸的塊相匹配。利用塊的匹配,該宏塊的運動矢量被檢測。
這里,在該MPEG標準中,用于一圖像的預測模式包括有四種類型內(nèi)相關編碼、正向預測編碼、反向預測編碼、和雙向預測編碼。I-圖像由內(nèi)相關編碼來編碼。P-圖像由內(nèi)相關編碼或正向預測編碼中的任一種來編碼。B-圖像由內(nèi)相關編碼、正向預測編碼、反向預測編碼、或雙向預測編碼中的任一種來編碼。
也就是,該運動矢量檢測器32將內(nèi)相關編碼模式設置到I-圖像作為一預測模式。在這種情況下,運動矢量檢測器32將該預測模式(內(nèi)相關編碼模式)輸出到一可變字長編碼(VLC)單元36和一運動補償器42而不檢測該運動矢量。
運動矢量檢測器32還執(zhí)行用于P-圖像的正向預測并且檢測該運動矢量。另外,在運動矢量檢測器中,由于執(zhí)行正向預測所引起的一預測誤差是與例如要編碼的宏塊(在P圖像中的宏塊)的離散相比較的。作為該比較的結(jié)果,當宏塊的離散(dispersion)小于該預測誤差時,運動矢量檢測器32設置一內(nèi)相關模式作為預測模式并且將它輸出到VLC單元36和運動補償器42。另外,如果由于執(zhí)行正向預測所引起的預測誤差較小時,運動矢量檢測器32設置一正向預測編碼模式作為預測模式。該正向預測編碼模式與所檢測的運動矢量一起被輸出到VLC單元36和運動補償器42。
運動矢量檢測器32進一步對B-圖像執(zhí)行正向預測、反向預測、和雙向預測并且檢測各自的運動矢量。隨后,運動矢量檢測器32檢測來自在正向預測、反向預測、和雙向預測中的預測誤差之中的最小誤差(如有必要后面將其稱之為最小預測誤差),并且將該最小預測誤差與例如要編碼的宏塊(在B-圖像中的宏塊)的離散相比較。作為比較的結(jié)果,當該宏塊的離散小于最小預測誤差時,運動矢量檢測器32設置一內(nèi)相關編碼模式作為預測模式,并且將它輸出到VLC單元36和運動補償器42。另外,如果該最小預測誤差較小時,運動矢量檢測器32將該預測模式設置為在其中獲得最小預測誤差的預測模式。該預測模式連同相應的運動矢量一起被輸出到VLC單元36和運動補償器42。
如果運動補償器42從運動矢量檢測器32中接收了預測模式和運動矢量,則運動補償器42根據(jù)所接收的預測模式和運動矢量讀出存儲在幀存儲器41中被編碼和先前局部地被譯碼的圖像數(shù)據(jù)。該讀出的圖像數(shù)據(jù)作為被預測的圖像數(shù)據(jù)而提供給算術單元33和40。
算術單元33從幀存儲器31中讀出與通過運動矢量檢測器32從幀存儲器31中讀出的圖像數(shù)據(jù)相同的宏塊,并且計算該宏塊和從運動補償器42所提供的預測圖像之間的差。這個差值被提供給DCT單元34。
另一方面,在從運動矢量檢測器32僅接收預測模式的情況下,即,該預測模式是一內(nèi)相關編碼模式的情況時,運動補償器42不輸出一預測圖像。在這種情況下,算術單元33(以及算術單元40)向DCT單元34輸出從幀存儲器31讀出的宏塊而不對其進行處理。
在DCT單元34中,算術單元33的輸出數(shù)據(jù)提供DCT,并且所得的DCT系數(shù)提供到量化器35。在量化器35中,根據(jù)緩沖器37的數(shù)據(jù)存儲數(shù)量(在緩沖器37中所存儲的數(shù)據(jù)的數(shù)量)(緩沖器反饋)設置一量化級(量化規(guī)模)。在該量化級中,來自DCT 34的該DCT系數(shù)被量化。該被量化的DCT系數(shù)(如必要后面稱之為量化的系數(shù)),連同所設置的量化級提供給VLC單元36。
在該VLC單元36,將由量化器35所提供的量化的系數(shù)變換為諸如霍夫曼(Huffman)代碼之類的可變字長代碼并輸出到緩沖器37中。另外,在VLC單元36中,來自量化器35的量化級通過可變字長編碼而編碼,同樣該預測模式(表明內(nèi)相關編碼(圖像預測內(nèi)相關編碼)、正向預測編碼、反向預測編碼、或雙向預測編碼中的任一種編碼)和編碼來自運動矢量檢測器32的運動矢量。所得的編碼數(shù)據(jù)輸出到緩沖器37。
緩沖器37暫時存儲自VLC單元36所提供的編碼的數(shù)據(jù),從而平滑所存儲的數(shù)據(jù)數(shù)量。例如,平滑的數(shù)據(jù)作為一編碼位流輸出到一傳送通道或記錄在一存儲介質(zhì)上。
緩沖器37還將所存儲的數(shù)據(jù)量輸出到量化器35。量化器35根據(jù)由緩沖器37輸出的已存儲的數(shù)據(jù)量而設置一量化級。也就是,當緩沖器37的容量可能溢出時,量化器35增加該量化級的尺寸,從而減小了量化系數(shù)的數(shù)據(jù)量。當緩沖器容量會導致下溢狀態(tài)時,量化器35減小量化級的尺寸,從而增加了量化系數(shù)的數(shù)據(jù)量。按照這種方式,可以防止緩沖器37的溢出和下溢。
由量化器35輸出的量化系數(shù)和量化級不僅提供到VLC單元36還提供到逆量化器38。在逆量化器38中,根據(jù)從量化器35提供的量化級把來自量化器35的量化系數(shù)逆量化,從而將量化系數(shù)變換為DCT系數(shù)。該DCT系數(shù)提供給逆DCT單元(IDCT單元)39。在IDCT單元39中,對該DCT系數(shù)提供逆DCT并且將結(jié)果數(shù)據(jù)提供給算術單元40。
除了IDCT單元39的輸出數(shù)據(jù)之外,將與從運動補償器42提供給算術單元33的預測圖像相同的數(shù)據(jù)也提供給算術單元40。算術單元40將IDCT單元39的輸出數(shù)據(jù)(預測余量(差分數(shù)據(jù)))和運動補償器42的預測圖像數(shù)據(jù)相加,從而譯碼局部的原始圖像數(shù)據(jù)。局部譯碼圖像數(shù)據(jù)被輸出。(但是,在這種情況下預測模式是一種內(nèi)相關編碼模式,IDCT 39的輸出數(shù)據(jù)通過算術單元40并作為局部譯碼圖像數(shù)據(jù)提供給幀存儲器41而不被處理)。應注意的是這種譯碼圖像數(shù)據(jù)與在接收機側(cè)所得到的譯碼圖像數(shù)據(jù)相一致。
在算術單元40中所得到的譯碼的圖像數(shù)據(jù)(局部譯碼圖像數(shù)據(jù))提供給幀存儲器41并被存儲。之后,該譯碼圖像數(shù)據(jù)用作為對于所提供的內(nèi)相關編碼(正向預測編碼、反向預測編碼、或雙向預測編碼)的參考圖像數(shù)據(jù)(參考幀)。
圖2示出譯碼自圖1的編碼器輸出的編碼數(shù)據(jù)的MPEG標準系統(tǒng)中的一MP@ML譯碼器的結(jié)構例子。
通過一傳送通道傳送的編碼位流(編碼數(shù)據(jù))由一接收機(未示出)接收,或在一存儲介質(zhì)上記錄的編碼位流(編碼數(shù)據(jù))由一再生器(未示出)再生。被接收或被再生的位流提供給緩沖器101并被存貯。
逆VLC單元(IVLC單元(可變字長譯碼器))102讀出在緩沖器101中所存儲的編碼數(shù)據(jù)并執(zhí)行可變長度字譯碼,從而在一宏塊單元上將編碼數(shù)據(jù)分成運動矢量、預測模式、量化級、和量化系數(shù)。在它們之中,運動矢量和預測模式提供給運動補償器107,同時量化級和量化宏塊系數(shù)提供給逆量化器103。
在逆量化器103中,從IVLC單元102提供的量化宏塊系數(shù)根據(jù)從相同的IVLC 102提供的量化級而逆量化。形成的DCT系數(shù)提供給IDCT單元104。在IDCT 104中,對由逆量化器103所提供的宏塊DCT系數(shù)進行逆DCT,并將結(jié)果數(shù)據(jù)提供給算術單元105。
除了IDCT單元104的輸出數(shù)據(jù)之外,運動補償器107的輸出數(shù)據(jù)也提供給算術單元105。也就是,在運動補償器107中,如在圖1的運動補償器42的情況下,根據(jù)從IVLC單元102所提供的運動矢量和預測模式讀出在幀存儲器106中所存儲的上述譯碼圖像數(shù)據(jù)并且作為預測圖像數(shù)據(jù)將其提供給算術單元105。算術單元105將IDCT單元104的輸出數(shù)據(jù)(預測剩余(差值))和運動補償器107的預測圖像數(shù)據(jù)相加,從而譯碼該原始圖像數(shù)據(jù)。將這個譯碼圖像數(shù)據(jù)提供給幀存儲器106并且被存貯。應注意的是,在IDCT單元104的輸出數(shù)據(jù)是內(nèi)相關編碼的情況下,該輸出數(shù)據(jù)通過算術單元105而作為沒有被處理的譯碼圖像數(shù)據(jù)提供給幀存儲器106。
在幀存儲器106中存儲的譯碼后的圖像數(shù)據(jù)用作為下一個要譯碼的圖像數(shù)據(jù)的參考圖像數(shù)據(jù)。另外,該譯碼后的圖像數(shù)據(jù)提供給例如顯示器(未示出)并且作為輸出重現(xiàn)圖像而被顯示。
應注意的是在MPEG-1標準和MPEG-2標準中,B-圖像未被存儲在編碼器的幀存儲器41(圖1)和譯碼器的幀存儲器106(圖2)中,這是因為它不被用作參考圖像數(shù)據(jù)。
如前所述在圖1和圖2中所示的編碼器和譯碼器基于MPEG-1/2標準。通常用來對在構成圖像的目標序列的視頻目標(VO)的單元中的視頻進行編碼的系統(tǒng)如利用ISO-IEC/JTC1/SC29/WG11的MPEG-4標準而被標準化。
順便提及,因為該MPEG4標準是在假定其主要用在通信領域的情況下被標準化的,所以并沒有規(guī)定在MPEG 1/2標準下所規(guī)定的圖像組(GOP)。因此,在該MPEG 4標準被用于存儲媒體的情況下,高效的隨機存取將是困難的。
鑒于這種情況,提供了本發(fā)明,因此本發(fā)明的目的是使高效的隨機存取成為可行。
一種如權利要求1的圖像編碼器,其特征在于該圖像編碼器包括秒精度時間信息產(chǎn)生裝置,用來產(chǎn)生表明在1秒精度之內(nèi)的時間的秒精度時間信息;詳細時間信息產(chǎn)生裝置,用來產(chǎn)生表明在所述I-VOP、P-VOP、或B-VOP的立即顯示時間之前的所述秒精度時間信息和比1秒精度更精細的精度之內(nèi)的顯示時間之間的一時間周期的詳細時間信息。
一種如權利要求4的圖像編碼方法,其特征在于該圖像編碼方法包括秒精度時間信息產(chǎn)生步驟,用來產(chǎn)生表明在1秒精度之內(nèi)的時間的秒精度時間信息;和詳細時間信息產(chǎn)生步驟,用來產(chǎn)生表明在所述I-VOP、P-VOP、或B-VOP的立即顯示時間之前的所述秒精度信息和比1秒精度更精細的精度之內(nèi)的顯示時間之間的一時間周期的詳細時間信息;和如權利要求7的圖像譯碼器,其特征在于該圖像譯碼器包括顯示時間計算裝置,用來根據(jù)所述秒精度時間信息和詳細時間信息計算所述I-VOP、P-VOP、或B-VOP的顯示時間。
如權利要求10的圖像譯碼方法,其特征在于該圖像譯碼方法包括顯示時間計算步驟,根據(jù)所述秒精度信息和詳細時間信息計算所述I-VOP、P-VOP、或B-VOP的顯示時間。
一種如權利要求13的分配媒體,其特征在于該分配媒體分配編碼位流該編碼位流通過產(chǎn)生表明在1秒精度之內(nèi)時間的秒精度時間信息;還通過產(chǎn)生表明在所述I-VOP、P-VOP、或B-VOP的立即顯示時間之前的秒精度時間信息和比1秒精度更精細精度之內(nèi)的顯示時間之間的時間周期的詳細時間信息而得到;和進一步將所述秒精度時間信息和詳細時間信息相加到相應的I-VOP、P-VOP、或B-VOP作為表明所述I-VOP、P-VOP、或B-VOP的顯示時間的信息。
在權利要求1的該圖像編碼器中,秒精度時間信息產(chǎn)生裝置產(chǎn)生秒精度時間信息其表明在一秒精度之內(nèi)的時間,和該詳細時間信息產(chǎn)生裝置產(chǎn)生詳細時間信息其表明正好在I-VOP、P-VOP、或B-VOP的顯示時間之前的秒精度時間信息和比一秒精度更為精細的范圍內(nèi)的顯示時間之間的一時間周期。
在權利要求4的該圖像編碼方法中,產(chǎn)生表明在一秒精度之內(nèi)的時間的秒精度時間信息,和產(chǎn)生表明正好在I-VOP、P-VOP、或B-VOP的顯示時間之前的秒精度時間信息和比一秒精度更為精細的顯示時間之間的一時間周期的詳細時間信息。
在權利要求7的該圖像譯碼器中,該顯示時間計算裝置根據(jù)秒精度時間信息和詳細時間信息計算I-VOP、P-VOP、或B-VOP的顯示時間。
在權利要求10的該圖像譯碼方法中,根據(jù)秒精度時間信息和詳細時間信息計算I-VOP、P-VOP、或B-VOP的顯示時間。
在權利要求13的該分配媒體中,該媒體分配一編碼位流,該編碼位流是通過產(chǎn)生指明在一秒精度之內(nèi)的時間的秒精度時間信息、還通過產(chǎn)生指明正好在I-VOP、P-VOP、或B-VOP的顯示時間之前的秒精度時間信息和比一秒精度更為精細的顯示時間之間的一時間周期的詳細時間信息和進一步通過將秒精度時間信息和詳細時間信息相加到一相應的I-VOP、P-VOP、或B-VOP作為表明I-VOP、P-VOP、或B-VOP的顯示時間的信息而得到的。
附圖簡要說明圖1的框圖示出了一種常規(guī)編碼器的結(jié)構實例;圖2的框圖示出了一種常規(guī)譯碼器的結(jié)構實例;圖3的框圖示出了本發(fā)明所使用的一編碼器的一實施例的結(jié)構實例;圖4是用來說明隨時間而變化的一視頻目標(VO)的位置和尺寸的圖;圖5的框圖示出了圖3 VOP編碼部分31至3N的結(jié)構實例;圖6是用來說明空間可量測性的圖;圖7是用來說明空間可量測性的圖;圖8是用來說明空間可量測性的圖;圖9是用來說明空間可量測性的圖;圖10是用來說明確定一視頻目標平面(VOP)的尺寸數(shù)據(jù)和偏移數(shù)據(jù)的一種方法的圖;圖11是框圖示出了圖5的基本層編碼部分25的結(jié)構實例;圖12的框圖示出了圖5的增強層編碼部分23的結(jié)構實例;圖13是用來說明空間可量測性的圖;圖14是用來說明時間可量測性的圖;圖15的框圖示出了本發(fā)明所使用的一譯碼器的一實施例的結(jié)構實例;圖16的框圖示出了圖15的VOP譯碼部分721至72N的另一結(jié)構實例;圖17的框圖示出了圖16的基本層譯碼部分95的結(jié)構實例;圖18的框圖示出了圖16的增強層譯碼部分93的結(jié)構實例;圖19是示出了通過可量測的(scalable)編碼所得到的一位流的語法的圖;圖20是示出了VS的語法的圖21是示出了VO的語法的圖;圖22是示出了VOL的語法的圖;圖23是示出了VOP的語法的圖;圖24是示出了modulo_time_base和VOP_time_increment之間的關系的圖;圖25是示出了根據(jù)本發(fā)明的一位流的語法的圖;圖26是示出了GOV的語法的圖;圖27是示出了time_code的結(jié)構的圖;圖28是示出了編碼GOV層的time_code以及GOV的第一I-VOP的modulo_time_base和VOP_time_increment的方法的圖;圖29是示出了編碼GOV層的time_code以及位于GOV的第一I-VOP之前的B-VOP的modulo_time_base和VOP_time_increment的方法的圖;圖30是示出了當該限定未變化時modulo_time_base和VOP_time_increment之間的關系;圖31是示出了根據(jù)第一種方法編碼該B-VOP的modulo_time_base和VOP_time_increment的過程的圖;圖32是流程圖示出了根據(jù)第一種方法和第二種方法編碼I/P-VOP的modulo_time_base和VOP_time_increment的過程;圖33是流程圖示出了根據(jù)第一種方法編碼B-VOP的modulo_time_base和VOP_time_increment的過程;圖34是流程圖示出了通過第一和第二種方法譯碼I/P-VOP的modulo_time_base和VOP_time_increment的編碼過程;圖35是流程圖示出了譯碼通過第一種方法編碼的B-VOP的modulo_time_base和VOP_time_increment的譯碼過程;圖36是示出了根據(jù)第二種方法編碼該B-VOP的modulo_time_base和VOP_time_increment的過程的圖;圖37是流程圖示出了根據(jù)第二種方法編碼該B-VOP的modulo_time_base和VOP_time_increment的過程;圖38是流程圖示出了通過第二種方法譯碼該B-VOP的modulo_time_base和VOP_time_increment的過程;圖39是說明該modulo_time_base的圖;和圖40的框圖示出了本發(fā)明所使用的另一個編碼器和譯碼器的實施例的結(jié)構實例。
用于實現(xiàn)本發(fā)明的最佳實施例。
本發(fā)明的實施例將參照附圖在后面予以詳細說明。在此之前,為了使在權利要求中所給出的本發(fā)明的每一裝置和所跟隨的實施例之間的對應關系更為清楚起見,在每一裝置的后面的括號內(nèi)將通過附加一相應的實例未詳細說明。相應的實例僅僅是一個例子。
一種用來編碼一圖像并輸出產(chǎn)生的編碼位流的圖像編碼器,該圖像編碼器包括用來接收該圖像的接收裝置(即,在圖11或12等中所示的幀存儲器31);和用來將構成該圖像的每一目標的一層或多層分割為多個組并且編碼該多個組的編碼裝置(即,在圖11和12等中所示的VLC單元36)。
一種圖像編碼器,當假定由內(nèi)相關編碼所編碼的目標是一內(nèi)相關視頻目標平面(I-VOP),由內(nèi)相關編碼或正向預測編碼中的任一種編碼所編碼的目標是一預測VOP(P-VOP),和由內(nèi)相關編碼、正向預測編碼、反向預測編碼、或雙向預測編碼中的任一編碼所編碼的目標是一雙向預測VOP(B-VOP)時,該圖像編碼器進一步包括秒精度時間信息產(chǎn)生裝置,用來根據(jù)編碼開始秒精度絕對時間產(chǎn)生表示在一秒精度之內(nèi)的時間的秒精度時間信息(即在圖32中所示的程序中的處理步驟S3至S7,在圖37中所示程序中的處理步驟S43至S47等);詳細時間信息產(chǎn)生裝置,用來產(chǎn)生詳細的時間信息表明包括正好在目標組中的I-VOP、P-VOP、或B-VOP顯示時間之前的秒精度時間信息和比一秒精度可為精細顯示時間之間的一時間周期(即,在圖32中所示程序的處理步驟S8,在圖37中所示的程序的處理步驟S48);和相加裝置,用來將秒精度時間信息與詳細時間信息相加,相應于I-VOP、P-VOP、或B-VOP作為表明I-VOP、P-VOP、或B-VOP顯示時間的信息(即在圖11或12中所示的VLC單元36)。
一種用來譯碼一圖像的圖像譯碼器,包括接收裝置,用來接收編碼位流,該編碼位流是通過將構成圖像的每一目標的一層或多個層分割成多個組并且編碼這些組而得到的(即,在圖17或18中所示的緩沖器101等);和譯碼裝置,用來譯碼該編碼位流(即,圖17或18中所示的IVLC單元102等)。
在該圖像譯碼器中一目標組包括編碼開始秒精度絕對時間其是在開始編碼一圖像序列時刻的絕對時間并且還是在一秒精度之內(nèi)的時間和該圖像譯碼器進一步包括顯示時間計算裝置根據(jù)該編碼開始秒精度絕對時間用來計算包括在該目標組中的一目標的顯示時間(即,在圖34中所示的程序中的處理步驟S22至S27,在圖38中所示的程序中的處理步驟S52至S57等)。
一用來為構成該圖像的每一目標的圖像編碼,和用于輸出產(chǎn)生的編碼位流的圖像編碼器,當假定由內(nèi)相關編碼的一目標是內(nèi)相關視頻目標平面(I-VOP),由內(nèi)相關編碼或正向預測編碼中的任一編碼所編碼的目標是一預測-VOP(P-VOP),和由內(nèi)相關編碼、正向預測編碼、反向預測編碼、或雙向預測編碼中的任一編碼所編碼的一目標是雙向預測VOP(B-VOP)時,該圖像編碼器包括秒精度時間信息產(chǎn)生裝置,用來產(chǎn)生秒精度時間信息該信息表明在一秒精度之內(nèi)的時間(即,在圖32中所示的程序中的處理步驟S3至S7,在圖37中所示的程序中的處理步驟S43至S47等);詳細時間信息產(chǎn)生裝置,用來產(chǎn)生詳細時間信息,該信息表明正好在I-VOP、P-VOP、或B-VOP的顯示時間之前的秒精度時間信息和比一秒精度更為精細的顯示時間之間的時間周期(即,在圖32所示程序中的處理步驟S8,在圖37所示的程序中的處理步驟S48等);和相加裝置,用來將秒精度時間信息與詳細時間信息相加作為表明I-VOP、P-VOP、或B-VOP的顯示時間的信息該信息相應于I-VOP、P-VOP、或B-VOP(即在圖11或12中所示的VLC單元36等)。
一用來對通過編碼由構成該圖像的每一目標的圖像所得到的一編碼位流進行譯碼的圖像譯碼器,當假定由內(nèi)相關編碼所編碼的目標是一內(nèi)相關視頻目標平面(I-VOP),由內(nèi)相關編碼或正向預測編碼中的任一編碼所編碼的目標是一預測VOP(P-VOP),和由內(nèi)相關編碼、正向預測編碼、反向預測編碼、或雙向預測編碼中的任一編碼所編碼的目標是一雙向預測-VOP(B-VOP)并且當用來指明在一秒精度之內(nèi)的時間的秒精度時間信息和用來指明正好在I-VOP、P-VOP、或B-VOP的顯示時間之前的秒精度時間信息和比一秒精度更精細的顯示時間之間的一時間周期的詳細時間信息被加到一相應的I-VOP、P-VOP、或B-VOP作為指明顯示時間的信息時,該圖像譯碼器包括顯示時間計算裝置,用來根據(jù)秒精度時間信息和詳細時間信息計算I-VOP、P-VOP、或B-VOP的顯示時間(即在圖34中所示的程序中的處理步驟S22至S27等);和譯碼裝置,用來根據(jù)相應的顯示時間來譯碼該I-VOP、P-VOP、或B-VOP(即,圖17或18中所示的IVLC單元等)。
當然,應注意的是,這種說明并不意味著每一裝置受到上述說明的限制。
圖3示出本發(fā)明所使用的編碼器的一實施例的結(jié)構實例。
將要編碼的圖像(動態(tài)圖像)輸入到視頻目標(VO)結(jié)構部分1。在該VO結(jié)構部分1中,該圖像由VO序列的每一目標所構成。VO序列輸出到VOP結(jié)構部分21至2N。也就是,在該VO結(jié)構部分1中,在產(chǎn)生N個視頻目標(VO#1至VO#N)的情況下,VO#1至VO#N被分別輸出到該VOP結(jié)構部分21至2N中。
更詳細地說,例如,當要編碼的圖像數(shù)據(jù)是由獨自的背景F1和前景F2的一序列所構成時,該VO結(jié)構部分1輸出前景F2到VOP結(jié)構部分21作為VO#1并且還輸出背景F1到VOP結(jié)構部分22作為VO#2。
應注意的是,例如,在要編碼的圖像數(shù)據(jù)是一由背景F1和背景F2預先合成的一圖像的情況下,VO結(jié)構部分1根據(jù)一預定的算法將該圖像分割成背景F1和前景F2。該背景F1和前景F2被輸出到相應的VOP結(jié)構部分2n(其中n=1,2,…,和N)。
該VOP結(jié)構部分2n從VO結(jié)構部分1的輸出中產(chǎn)生VO平面(VOPS)。也就是,例如,從每一幀中提取一目標。例如,圍繞該目標的最小矩形(根據(jù)所要求的,后面稱之為最小矩形)被認為是該VOP。應注意的是,在這時,VOP結(jié)構部分2n產(chǎn)生該VOP使得水平象素的數(shù)和垂直象素的數(shù)均是16的一倍數(shù)。如果該VOP結(jié)構部分2n產(chǎn)生VOP,則VOP分別被輸出到VOP編碼部分3n。
另外,該VOP結(jié)構部分2n檢測表明-VOP的尺寸(即,水平和垂直長度)的尺寸數(shù)據(jù)(VOP尺寸)和表明在一幀中的VOP的位置(即,一幀的左面最上方是該原點的坐標)的偏移數(shù)據(jù)(VOP偏移)。該尺寸數(shù)據(jù)和偏移數(shù)據(jù)還被提供給VOP編碼部分3n。
該VOP編碼部分3n例如利用基于MPEG標準或H.263標準的一方法編碼VOP結(jié)構部分2n的輸出。所得的位流被輸出到一多路傳送部分4,多路傳送部分4多路傳送從VOP編碼部分31至3n得到的位流。作為結(jié)果的多路傳送數(shù)據(jù)通過一地面波或通過一諸如衛(wèi)星線路、CATV網(wǎng)絡等之類的傳送路徑5而被傳送。另外,該多路傳送數(shù)據(jù)被記錄在諸如一磁盤、磁光盤、光盤、磁帶等之類的存儲媒體6中。
這里,將對視頻目標(VO)和視頻目標平面(VOP)作一說明。
在合成圖像的情況下,構成該合成圖像的每一圖像稱之為VO,同時VOP意味著在一定時間處的一VO。也就是,例如,在一合成圖像F3由圖像F1和F2構成的情況下,當圖像F1和F2是以一時間序列方式而被排列時,它們是VO。在一定時間處的圖像F1或F2是-VOP。因此,可以說VO是在不同的時間處相同目標的一組VOP。
例如,假定圖像F1是背景和圖像F2是前景,則合成圖像F3通過將圖像F1和具有一用來提取該圖像F2的鍵控信號的F2相合成而得到。圖像F2的VOP在這種情況下假定除構成圖像F2的圖像數(shù)據(jù)(亮度信號和色差信號)之外包括有鍵控信號。
一圖像幀在尺寸和位置方面沒有變化,但存在著VO的尺寸或位置有變化的情況。也就是,即使在一VOP構成相同VO的情況下,也存在著尺寸或位置隨時間而變化的情況。
具體地說,圖4示出了由圖像F1(背景)和圖像F2(前景)所構成的合成圖像。
例如,假定圖像F1是對某一自然景色攝影而得到的圖像和整個圖像是一單個的VO(例如,VO#0)。還假定,圖像F2是對一步行的人攝影而得到的圖像和圍繞這個人的最小矩形是一單個的VO(例如,VO#1)。
在這種情況下,因為VO#0是一景色的圖像,如同在一正常圖像幀中那樣,位置和尺寸基本上不變化。另一方面,因為VO#1是一個人的圖像,如果在圖4中的這個人左右移動或朝向這側(cè)或朝縱深側(cè)移動,則位置或尺寸將會變化。因此,雖然圖4在相同時間上示出了VO#0和VO#1,但也存在著VO的位置或尺寸隨時間而變化的情況。
因此,圖3的VOP編碼部分3n的輸出位流除了表明一編碼VOP的數(shù)據(jù)之外還包括在一預定絕對坐標系統(tǒng)上的-VOP的位置(坐標)和尺寸的信息。應注意的是,在圖4中在一定時間上表明VO#0(圖像F1)的VOP位置的一矢量是由OST0來表示的,而在一定時間上表明VO#1(圖像F2)的VOP位置的一矢量是由OST1來表示的。
圖5示出了圖3中的VOP編碼部分3n的結(jié)構實例用于實現(xiàn)可測量性。也就是,MPEG標準引進了一種實現(xiàn)可量測的編碼方法。用不同圖像尺寸和幀速率復制實現(xiàn)可測量性。在圖5中所示的VOP編碼部分3n的構成可以實現(xiàn)這種可測量性。
來自VOP結(jié)構部分2n的VOP(圖像數(shù)據(jù))、尺寸數(shù)據(jù)(VOP尺寸)、和偏移數(shù)據(jù)(VOP偏移)全部被提供給圖像分層部分(image layering section)21。
圖像分層部分21產(chǎn)生一層或多層來自VOP的圖像數(shù)據(jù)(執(zhí)行VOP的分層)。也就是,例如,在執(zhí)行空間可量測性的編碼的情況下,輸入到該圖像分層部分21的圖像數(shù)據(jù)照原樣作為圖像數(shù)據(jù)的增強層(enhancement layer)而被輸出。同時,構成該圖像數(shù)據(jù)的象素數(shù)通過將象素變稀疏后輸出而被減少,并且該象素數(shù)目中被減少的圖像數(shù)據(jù)作為圖像數(shù)據(jù)的基本層(base layer)而輸出。
應注意的是一輸入VOP可作為基本數(shù)據(jù)層使用而通過某些其它方法在象素數(shù)目(清晰度)中增加VOP可用作為一增強的數(shù)據(jù)層。
另外,雖然該層數(shù)可以是1,但這種情況并不能實現(xiàn)可量測性。在這種情況下,例如該VOP編碼部分3n僅由一基本層編碼部分25所構成。
此外,該層數(shù)可以是3或更多。但是,在本實施例中,為了簡化起見將只說明具有二層的情況。
在執(zhí)行瞬時的可量測性編碼的情況下,該圖像分層部分21輸出圖像數(shù)據(jù),例如相應于時間交替地輸出基本層數(shù)據(jù)或增強層數(shù)據(jù)。也就是,當假定構成一定的VO的VOP以VOP0、VOP1、VOP2、VOP3、…的順序輸入時,圖像分層部分21輸出VOP0、VOP2、VOP4、VOP6、…作為基本層數(shù)據(jù)和輸出VOP1、VOP3、VOP5、VOP7、…作為增強層數(shù)據(jù)。應注意的是,在瞬時可量測性的情況下,VOP因此變稀疏僅作為基本層數(shù)據(jù)和增強層數(shù)據(jù)而輸出并且不進行圖像數(shù)據(jù)的放大和縮小(即,清晰度變換),(但是它可進行放大和縮小)。
另外,在進行信噪比(SNR)可量測性編碼的情況時,輸入到圖像分層部分21的圖像數(shù)據(jù)照樣作為增強層數(shù)據(jù)或基本層數(shù)據(jù)而被輸出。也就是,在這種情況時,基本層數(shù)據(jù)和增強層數(shù)據(jù)相互一致。
在執(zhí)行對于每一VOP的編碼操作的情況時對于空間可量測性(spatialscalability)存在例如有以下三種類型。
這就是,例如,如果現(xiàn)在假定如圖4中的所示那樣由圖像F1和F2所構成的一合成圖像作為-VOP而被輸入,如圖6所示,在第一空間可量測性中該輸入的整個VOP(圖6(A))可獲取為一增強層,并且該整個VOP縮小(圖6(B))后可獲取為一基本層。
在第二空間可量測性中,如圖7所示,一輸入VOP的部分所構成的目標(圖7(A)(相應于圖像F2))被提取。所提取的目標可獲取為一增強層,而縮小后的整個VOP(圖7(B))可獲取為基本層。(例如,以與該VOP結(jié)構部分2n的情況相同的方式執(zhí)行這種提取。因此,所提取的目標還是一單個的VOP)。
另外,在第三可量測性中,如圖8和9所示,構成一輸入VOP的目標(VOP)被提取,并且產(chǎn)生對于每一目標的增強層和基本層。應注意的是,圖8示出了從圖4所示的VOP構成的背景(圖像F1)中所產(chǎn)生的增強層和基本層,同時圖9示出了從圖4所示的VOP構成的前景(圖像F2)中所產(chǎn)生的增強層和基本層。
使用了預定的上述可量測性。圖像分層部分21執(zhí)行一VOP的分層從而根據(jù)一預定的可量測性而執(zhí)行編碼。
另外,圖像分層部分21從一輸入VOP的尺寸數(shù)據(jù)和偏移數(shù)據(jù)(offsetdata)中計算(或確定)所產(chǎn)生的基本和增強層的尺寸數(shù)據(jù)和偏移數(shù)據(jù)(后面如有必分別稱為初始尺寸數(shù)據(jù)和初始偏移數(shù)據(jù))。該偏移數(shù)據(jù)表明在該VOP的一預定的絕對坐標系統(tǒng)中一基本或增強層的位置,而該尺寸數(shù)據(jù)表明該基本或增強層的尺寸。
這里,將說明在基本和增強層中確定VOP的偏移數(shù)據(jù)(位置信息)和尺寸數(shù)據(jù)的方法,例如,在執(zhí)行上述第二可量測性(圖7)的情況中所使用的該方法。
在這種情況下,例如,在圖10(A)中所示的基本層的偏移數(shù)據(jù),F(xiàn)POS_B,被確定,這樣當在基本層中的圖像數(shù)據(jù)根據(jù)基本層的清晰度和增強層的清晰度之間的差而被放大(過取樣)時,即,當在基本層中的圖像按一放大率而被放大從而使該尺寸與在增強層中的圖像的尺寸相一致時(作為在基本層中的該圖像互易的衰減率(demagnification ratio)是通過縮小在增強層中的圖像而產(chǎn)生的)(如有必要后面稱之為放大率FR),在該絕對坐標系統(tǒng)中放大圖像的偏移數(shù)據(jù)是與初始偏移數(shù)據(jù)相一致的。以類似的方式來確定基本層的尺寸數(shù)據(jù),F(xiàn)SZ_B,從而當在基本層中的圖像按放大率FR放大時所得到的放大圖像的尺寸數(shù)據(jù)是與初始尺寸數(shù)據(jù)相一致的。也就是,偏移數(shù)據(jù)FPOS_B被確定從而它是本身的FR倍或與初始偏移數(shù)據(jù)相一致。另外,尺寸數(shù)據(jù)FSZ_B以相同的方式被確定。
另一方面,對于增強層的偏移數(shù)據(jù)FPOS_E,例如如圖10(B)所示,根據(jù)初始偏移數(shù)據(jù)計算圍繞從輸入VOP所提取的目標的最小矩形(VOP)的左上角的坐標,和這個值被確定為偏移數(shù)據(jù)FPOS_E而被確定。另外,該增強層的尺寸數(shù)據(jù)FPOS_E被確定為圍繞從輸入VOP所提取的目標的最小矩形的水平和垂直長度。
因此,在這種情況下,基本層的偏移數(shù)據(jù)FPOS_B和尺寸數(shù)據(jù)FPOS_B根據(jù)放大率FR而首先被變換。(在變換后的偏移數(shù)據(jù)FPOS_B和尺寸數(shù)據(jù)FPOS_B分別稱為變換的偏移數(shù)據(jù)FPOS_B和變換的尺寸數(shù)據(jù)FPOS_B)。然后,在相應于該絕對坐標系統(tǒng)中的被變換的偏移數(shù)據(jù)FPOS_B的位置上,考慮相應于變換的尺寸數(shù)據(jù)FSZ_B的尺寸的一圖像幀。如果將基本層中的圖像數(shù)據(jù)放大FR倍后使所得到的一放大圖像安置在前述的相應位置(圖10(A))和如果根據(jù)增強層的偏移數(shù)據(jù)FPOS_B和尺寸數(shù)據(jù)FPOS_E將增強層的圖像同樣地安置在絕對坐標系統(tǒng)(圖10(B)),則構成放大圖像的象素和構成在增強層中的圖像的象素將被安置以使相應的象素相互地定位在相同位置上。也就是,例如,在圖10中,把在增強層中的人和在放大圖像中的人安置在相同位置上。
即使在第一可量測性和第三可量測性的情況下,偏移數(shù)據(jù)EPOS_B、偏移數(shù)據(jù)EPOS_E、和尺寸數(shù)據(jù)FSZ_B也類似地被確定,這樣在基本層中構成的放大圖像和在增強層中的圖像的對應的象素相互地被定位在該絕對坐標系統(tǒng)中的相同位置上。
參見圖5,在該圖像分層部分21所產(chǎn)生的增強層中的圖像數(shù)據(jù)、偏移數(shù)據(jù)FPOS_E和尺寸數(shù)據(jù)FSZ_E通過延遲電路22被延遲至后面要說明的基本層編碼部分25的處理周期并且被提供給增強層編碼部分23。另外,在基本層中的圖像數(shù)據(jù)、偏移數(shù)據(jù)FPOS_B、和尺寸數(shù)據(jù)FSZ_B提供給基本層編碼部分25。此外放大率FR通過延遲電路22提供給增強層編碼部分23和清晰度變換部分24。
在基本層編碼部分25中,在基本層中的圖像數(shù)據(jù)被編碼。所得的編碼數(shù)據(jù)(位流)包括有偏移數(shù)據(jù)FPOS_B和尺寸數(shù)據(jù)FSZ_B并被提供給多路傳送部分26。
另外,基本層編碼部分25局部地譯碼該編碼數(shù)據(jù)并將在基本層中的局部譯碼圖像數(shù)據(jù)輸出到清晰度變換部分24。在該清晰度變換部分24中,來自基本層編碼部分25的基本層中的圖像數(shù)據(jù)根據(jù)放大率FR通過放大(或縮小)該圖像數(shù)據(jù)而被返回到原始尺寸。所得的放大圖像輸出到增強層編碼部分23。
另一方面,在該增強層編碼部分23中,該增強層中的圖像數(shù)據(jù)被編碼。所得的編碼數(shù)據(jù)(位流)包括偏移數(shù)據(jù)FPOS_E和尺寸數(shù)據(jù)FSZ_E并且提供給多路傳送部分26。應注意的是,在該增強層編碼部分23中,通過把從清晰度變換部分24所提供的放大圖像用作為一參考圖像而執(zhí)行增強層圖像數(shù)據(jù)的編碼。
多路傳送部分26多路傳送增強層編碼部分23和基本層編碼部分25的輸出并且輸出該多路傳送的位流。
應注意的是,基本層的尺寸數(shù)據(jù)FSZ_B、偏移數(shù)據(jù)FPOS_B、運動矢量(MV)、特征位COD等從基本層編碼部分25提供給增強層編碼部分23,并且這樣構成該增強層編碼部分23使得它可執(zhí)行處理如有必要參考提供的數(shù)據(jù)。后面將詳細說明。
圖11示出了圖5中的基本層編碼部分25的詳細結(jié)構實例。在圖11中,相應于圖1的部分采用了與圖1相同的標號。也就是,該基本層編碼部分25的結(jié)構基本上與圖1的編碼器是相同的。
來自圖像分層部分21(圖5)的圖像數(shù)據(jù),即,如圖1所示基本層中的VOP,被提供給幀存儲器31并被儲。在運動矢量檢測器32中,按照一宏塊單元檢測該運動矢量。
但是,基本層VOP的尺寸數(shù)據(jù)FSZ_B和偏移數(shù)據(jù)FPOS_B提供給基本層編碼部分25的運動矢量檢測器32,根據(jù)所提供的尺寸數(shù)據(jù)FSZ_B和偏移數(shù)據(jù)FPOS_B依次檢測一宏塊的運動矢量。
也就是,如上所述,VOP的尺寸和位置隨時間(幀)而變化。因此,在檢測該運動矢量時,有必要設置一用于檢測的參考坐標系統(tǒng)和檢測在該坐標中的運動。因而,在該運動矢量檢測器32中,上述絕對坐標系統(tǒng)用作為參考坐標系統(tǒng),并且一被編碼的VOP和一參考VOP根據(jù)該尺寸根據(jù)FSZ_B和偏移數(shù)據(jù)FPOS_B被安置在絕對坐標系統(tǒng)中,因而該運動矢量被檢測。
應注意的是,檢測的運動矢量(MV)連同該預測模式一起被提供給VLC單元36和運動補償器42并且還提供給增強層編碼部分23(圖5)。
即使在執(zhí)行運動補償?shù)那闆r下,也有必要如上所述來檢測在一參考坐標系統(tǒng)中的運動。因此,尺寸數(shù)據(jù)FSZ_B和偏移數(shù)據(jù)FPOS_B提供給了運動補償器42。
如同圖1的情況其運動矢量已檢測過的VOP被量化,并且該量化的系數(shù)提供給VLC單元36。另外,如圖1所示,除了量化系數(shù)、量化級、運動矢量、和預測模式之外,尺寸數(shù)據(jù)FSZ_B和偏移數(shù)據(jù)FPOS_B也提供給VLC單元36。在該VLC單元36中,所提供的數(shù)據(jù)由可變字長編碼來編碼。
除了上述編碼之外,其運動矢量已檢測過的VOP如在圖1的情況下被局部地譯碼并且儲存在幀存儲器41中。如前所述,這種譯碼的圖像被用作為參考圖像,并且輸出到清晰度變換部分24(圖5)。
應注意的是,與MPEG-1標準和MPEG-2標準不同,在MPEG-4標準中B圖像(B-VOP)還用作為參考圖像。為此原因,B圖像還被局部地譯碼并儲存在幀存儲器41中。(但是,目前B圖像僅在一增強層中作為參考圖像使用)。
另一方面,如圖1所示,VLC單元36確定I-圖像、P-圖像、或B-圖像(I-VOP、P-VOP、或B-VOP)中的宏塊是否是一空白宏塊。該VLC單元36設置特征位COD和MODB指明該確定結(jié)果。特征位COD和MODB也由可變字長度編碼所編碼并被傳送。而且,特征位COD提供給增強層編碼部分23。
圖12示出了圖5中的增強層編碼部分23的結(jié)構實例。在圖12中,相應于圖11或1的部分采用了與圖11或圖1相同的標號。也就是,除了幀存儲器52是新提供的之外,增強層編碼部分2 3基本上與圖11的基本層編碼部分25或圖1的編碼器的構成是相同的。
來自圖像分層部分21(圖5)的圖像數(shù)據(jù),即如在圖1的情況下的增強層的VOP,提供給幀存儲器31并被儲存。在運動矢量檢測器32中,按照一宏塊單元檢測運動矢量。即使在這種情況下,如在圖11的情況,除了增強層的VOP等之外,尺寸數(shù)據(jù)FSZ_E和偏移數(shù)據(jù)FPOS-E提供給運動矢量檢測器32。在該運動矢量檢測器32中,如同在上述情況一樣,根據(jù)尺寸數(shù)據(jù)FSZ_E和偏移數(shù)據(jù)FPOS_E來識別在絕對坐標系統(tǒng)中的增強層的VOP的安置位置,并且檢測該宏塊的運動矢量。
在增強層編碼部分23和基本層編碼部分25的運動矢量檢測器32中,如圖1所述那樣,VOP根據(jù)一預定的序列而處理。例如,該序列被設置如下。
也就是,在空間可量測性的情況下,如圖13(A)或13(B)所示,在增強層或基本層中的VOP例如是按P,B,B,B,…或I,P,P,P…的順序處理的。
在這種情況下,通過例如把與P圖像在相同時間所出現(xiàn)的基本層的VOP(這里為,I圖像(I-VOP))作為參考圖像,編碼在增強層中的第一P-圖像(P-VOP)。另外,例如通過使用正好在此之前的增強層中的圖像和與B圖像在相同時間所出現(xiàn)的在基本層中的VOP作為參考圖像編碼在增強層中的第二B-圖像(B-VOP)。也就是,在這個例子中,在編碼另外的VOP時在增強層中的B-圖像,如同在基本層中的P-圖像一樣被用做為參考圖像。
例如在PMEG-1標準、PMEG-2標準、或H…263標準的情況下,執(zhí)行對該基本層的編碼。
按照與上述空間可測量性相同的方式來處理SNR的可量測性,因為在空間可量測性中放大率FR為1時它與空間可量測性是相同的。
在瞬時可量測性的情況下,即,例如,在-VO是由VOP0、VOP1、VOP2、VOP3、…所構成的情況下,并且VOP1、VOP3、VOP5、VOP7、…是在增強層中(圖14(A))和VOP0、VOP2、MOP4、VOP6、…是在基本層中(圖14(B)),如上所述,在增強層和基本層中的VOP分別按順序B、B、B、…和順序I、P、P、P…處理,如圖14所示。
在這種情況下,例如通過使用在基本層中的VOP0(I-圖像)和VOP2(P-圖像)作為參考圖像,編碼增強層中的第一VOP1。例如通過將正好在此之前在增強層中的第一編碼VOP1(B-圖像)和在靠近VOP3的時間(幀)出現(xiàn)的基本層中的VOP4(P-圖像)用作為參考圖像,編碼增強層中的第二VOP3(B-圖像)。如同VOP3的編碼一樣,通過例如將正好在此之前在增強層中的第二編碼VOP3(B-圖像)和在基本層中靠近VOP5的時間(幀)上所出現(xiàn)的圖像的VPO6(P-圖像)用作為參考圖像,編碼增強層中的第三VOP5(B-圖像)。
如上所述,在一個層(這里為,增強層)中的VOP、在另一層(可量測層)(這里為,基本層)中的VOP可作為用于編碼P-圖像和B-圖像的參考圖像。由此在一個層中的VOP通過將在另一層中的VOP用作為參考圖像而編碼時,即,如像本實施例,在基本層中的VOP用作參考圖像編碼預測的增強層中的VOP情況下來構成增強層編碼部分23(圖12)的運動矢量檢測器32以便設置和輸出特征位ref_layer_id。表明在基本層中的VOP是用于編碼在預測的增強層中的VOP的(在3層或多層的情況下,特征位ref_layer_id表示屬于一VOP的一層用作為參考圖像)。
另外,增強層編碼部分23的運動矢量檢測器32被構成以便根據(jù)用于一VOP的特征位ret_layer_id設置和輸出特征位ref_Select_Code(參考圖像信息)。該特征位ref_Select_Code(參考圖像信息)表明在該層中哪層和哪個VOP在執(zhí)行正向預測編碼或反向預測編碼中被用作參考圖像。
更詳細地說,例如,在通過將正好在P-圖像之前屬于與被譯碼圖像(局部譯碼)相同層的一VOP用作為參考圖像而編碼一增強層圖像的情況下,特征位ref_Select_Code被置為00。另外,在通過將屬于與在P-圖像之前立即被顯示的一圖像不相同的一層(這里為,基本層(參考層))的一VOP作為參考圖像兩編碼該P-圖像的情況下,特征位ref_Select_Code被置為01。此外在通過將屬于與在P圖像之后立即被顯示的一圖像不同的一層的一VOP用作為參考圖像兩編碼該P-圖像的情況下,特征位ref_Select_Code被置為10。并且在通過將屬于與P-圖像在相同時間出現(xiàn)的一不同層的一VOP用作為參考圖像而編碼該P-圖像的情況下,特征位ref_Select_Code被置為11。
另一方面,例如,在通過將屬于與B-圖像在相同時間出現(xiàn)的一不同層的一VOP用作為正向預測的參考圖像和還通過將屬于和在B-圖像之前立即譯碼的圖像相同層的一VOP用作為反向預測的參考圖像而編碼在增強層中的B-圖像的情況時,特征位ref_Select_Code被置為00。另外在通過把屬于與B圖像相同層的-VOP用作為正向預測的參考圖像和通過把屬于與在B圖像之前立即被顯示的圖像不同的一層的-VOP用作為反向預測的參考圖像而編碼在增強層的B-圖像的情況時,特征位ref_Select_Code被置為01。另外,通過把屬于與在B-圖像之前立即被譯碼的圖像的相同層的-VOP用作為正向預測的參考圖像和通過把屬于與在B圖像之后立即顯示的圖像不同的一層的一VOP用作為反向預測的參考圖像而編碼在增強層中的B-圖像的情況時,特征位ref_Select_Code被置為10。在通過把屬于與在B-圖像之前立即顯示的圖像不同的一層的-VOP用作為正向預測的參考圖像和通過把屬于與在B-圖像之后立即顯示的圖像不同的一層的-VOP用作為僅向預測的參考圖像而編碼在增強層中的B-圖像的情況時,特征位ref_Select_Code被置為11。
圖13和14中所示的預測編碼只是一單個的例子。因此,可以在上述范圍之內(nèi)來自由地設置使用哪層和使用在該層中的哪個VOP作為正向預測編碼、反向預測編碼、或雙向預測編碼的參考圖像。
在上述情況下,當為了便于說明而使用了空間可量測性、瞬間可量測性、和SNR可量測性時,在通過特征位ref_Select_Code設置用于預測編碼的參考圖像的情況下則對空間可量測性、時間可量測性、和SNR可量測性難以相互分辨。也就是,反過來說,特征位ref_Select_Code的使用使得上述在可量測性之間的分辨變得沒有必要。
如果上述可量測性和特征位ref_Select_Code是彼此相關的,則該相關如下所述。也就是,相對于P-圖像,因為特征位ref_Select_Code是11的情況是這種情況,即,指由特征位ref_layer_id所指明的該層中的相同時間處的-VOP被用作為參考圖像(用于正向預測)的情況,所以這種情況對應于空間可量測性或SNR可量測性。而除了特征位ref_Select_Code是11的情況之外的情況則對應于瞬間可量測性。
相對于B-圖像,特征位ref_Select_Code是00的情況也是這種情況,即,指由特征位ref_layer_id所指明的該層中的相同時間處的-VOP是作為用于正向預測的參考圖像的情況,所以這種情況相應于空間可量測性或SNR可量測性。而除特征位ref_Select_Code是00之外的情況對應于瞬間可量測性。
應注意的是,在為了編碼一預測的增強層中-VOP的情況下,在一個層(這里為,基本層)中相同時間處的-VOP不同于被用作為參考圖像的增強層時,在它們之間沒有運動,所以運動矢量總是為O((0,0))。
參見圖12,前面提及的特征位ref_layer-id和特征位ref-Select_Code被設置到增強層編碼部分23的運動矢量檢測器32并且提供給運動補償器42和VLC單元36。
運動矢量檢測器32根據(jù)特征位ref_layer_id和特征位ref_Select_Code來檢測運動矢量不僅涉及幀存儲器31需要時還涉及幀存儲器52。
在基本層中被局部地譯碼的放大圖像從清晰度變換部分24(圖5)提供給幀存儲器52。也就是,在該清晰度變換部分24中,例如利用一所謂的插入濾波器等放大在基本層中被局部地譯碼的VOP。因此,產(chǎn)生一個是該VOP尺寸的FR倍的放大圖像,即,產(chǎn)生一個對應于基本層中的VOP與在增強層中的VOP相同尺寸的放大圖像。該產(chǎn)生的圖像提供給增強層編碼部分23。幀存儲器52存儲以這種方式從該清晰度變換部分24提供的放大圖像。
因此,當放大率FR為1時,清晰度變換部分24不處理從基本層編碼部分25提供的局部被譯碼的VOP。來自基本層編碼部分25的局部譯碼的VOP提供給增強層編碼部分23。
來自基本層編碼部分25的尺寸數(shù)據(jù)FSZ_B和偏移數(shù)據(jù)FPOS_B提供給運動矢量檢測器32,并且來自該延遲電路22(圖5)的放大率FR也提供給運動矢量檢測器32。在把存儲在幀存儲器52中的放大圖像用作為參考圖像的情況下,即,在為了編碼一預測的增強層中的VOP,把在與增強層的MOP相同時間上的在基本層中的-VOP用作為參考圖像的情況下(在這種情況下,特征位ref_Select_Code對于P-圖像為11和對于B-圖像為00),運動矢量檢測器32將相應于被放大圖像的尺寸數(shù)據(jù)FSZ_B和偏移數(shù)據(jù)FPOS_B乘以放大率FR。根據(jù)相乘的結(jié)果,運動矢量檢測器32識別在絕對坐標系統(tǒng)中該被放大圖像的位置,從而檢測該運動矢量。
應注意的是,基本層中的運動矢量和預測模式被提供給運動矢量檢測器32。這個數(shù)據(jù)被用于以下情況。也就是,在對于增強層中的B-圖像該特征位ref_Select_Code是00的情況下,當放大率FR為1時,即,在SNR可量測性的情況下(在這種情況下,因為在增強層中的一VOP被用于編碼預測的增強層,所以在這里所使用的SNR可量測性與在這方面MPEG-2標準中所規(guī)定的有所不同),在增強層和基本層中的圖像是相同的。因此,照樣,當執(zhí)行在增強層中的B-圖像的預測編碼時,運動矢量檢測器32可以使用在與B-圖像相同時間所出現(xiàn)的基本層中的運動矢量和預測模式,在該情況下照樣在運動矢量檢測器32不處理增強層的B-圖像,而它采用基本層的運動矢量和預測模式。
在這種情況下,在增強層編碼部分23中,運動矢量和預測模式并不從運動矢量檢測器32輸出到VLC單元36。(因此,它們不被傳送。)這是因為接收側(cè)可以從基本層的譯碼結(jié)果來識別增強層的運動矢量和預測模式。
如上所述,運動矢量檢測器32通過將在增強層中的-VOP和一放大的圖像用作為參考圖像來檢測一運動矢量。另外,如圖1所示,該運動矢量檢測器32設置一用來使預測誤差(或散離)最小的預測模式。另外,運動矢量檢測器32設置并輸出諸如特征位ref_Select_Code、特征位ref_layer_id等的必要的信息。
在圖12中,特征位COD表明在基本層中構成I-圖像或P-圖像的一宏塊是否是一空白宏塊,并且該特征位COD從基本層編碼部分25提供到運動矢量檢測器32、VLC單元36、和運動補償器42。
按照與上述情況相同的方式編碼其運動矢量被檢測的該宏塊。該編碼的結(jié)果,可使從VLC單元36中輸出可變長度碼。
增強層編碼部分23的該VLC單元36,如同在基本層編碼部分25的情況一樣被構成以便設置和輸出特征位COD和MODB。該特征位COD,如上所述,表明在I-圖像或P-圖像中的一宏塊是否是一空白宏塊,同時特征位MODB表示在B-圖像中的宏塊是否是一空白宏塊。
量化系數(shù)、量化級、運動矢量、預測模式、放大率FR、特征位ref_Select_Code、特征位ref_layer_id、尺寸數(shù)據(jù)FSZ_E和偏移數(shù)據(jù)FPOS_E還提供給VLC單元36。在VLC單元36中,它們均由可變字長編碼所編碼并被輸出。
另一方面,在其運動矢量被檢測的宏塊被編碼之后,如上所述它還局部地被譯碼并且被存儲在幀存儲器41中。在該運動補償器42中,如像在運動矢量檢測器32中一樣,通過把在幀存儲器41中所存儲的在增強層中局部譯碼的VOP和在幀存儲器52中存儲的在基本層中局部被譯碼和被放大的VOP用作為參考圖像來執(zhí)行運動補償。利用這種補償產(chǎn)生一預測的圖像。
也就是,除了運動矢量和預測模式之外,特征位ref_Select_Code、特征位ref_layer_id、放大率FR、尺寸數(shù)據(jù)FSZ_B、尺寸數(shù)據(jù)FSZ_E、偏移數(shù)據(jù)FPOS_B和偏移數(shù)據(jù)FPOS_E均提供給運動補償器42。運動補償器42根據(jù)特征位ref_Select_Code和ref_layer_id識別一被運動補償過的參考圖像。另外,在增強層中的一局部被譯碼的VOP或一被放大的圖像被用作參考圖像的情況下,運動補償器42根據(jù)尺寸數(shù)據(jù)FSZ_E和偏移數(shù)據(jù)FPOS_E,或尺寸數(shù)據(jù)FSZ_B和偏移數(shù)據(jù)EPOS_B來識別在絕對坐標系統(tǒng)中的參考圖像的位置和尺寸。運動補償器42通過使用正如所需要的放大率FR產(chǎn)生被預測的圖像。
圖15示出了用來譯碼自圖3的編碼器所輸出的位流的一譯碼器的實施例的構成例子。
該譯碼器接收由圖3的編碼器通過傳送路徑5或存儲介質(zhì)6所提供的位流。也就是,從圖3的編碼器輸出并通過傳送路徑5所傳送的位流由一接收機(未示出)所接收。另外,在存儲介質(zhì)上所記錄的位流由一再生器(未示出)所再生。被接收或被再生的位流提供給逆多路傳送部分(inversemultiplexing section)71。
逆多路傳送部分71接收輸入其中的位流(后面所示的視頻流(VS))。在逆多路傳送部分71中,輸入位流被分成位流VO#1、VO#2、…。這些位流分別提供給相應的VOP譯碼部分72n。在MOP譯碼部分72n中,來自從逆多路傳送部分71所提供的位流的構成VO(圖像數(shù)據(jù))的VOP、尺寸數(shù)據(jù)(VOP尺寸)、和偏移數(shù)據(jù)(VOP偏移)被譯碼。被譯碼的數(shù)據(jù)提供給圖像重構部分73。
圖像重構部分73根據(jù)VOP譯碼部分721至72N的各個輸出重構原始圖像。這個被重構的圖像例如提供給一監(jiān)視器并被顯示。
圖16示出了實現(xiàn)可量測性的圖15的VOP譯碼部分72N的構成例子。
從逆多路傳送部分71(圖15)提供的位流輸入到逆多路傳送部分91,在這里輸入的位流被分成在增強層中的VOP的位流和在基本層中的VOP的位流。在增強層中的VOP的位流由延遲電路92延遲了在基本層譯碼部分95中處理的周期并提供給增強層譯碼部分93。在基本層中的VOP的位流提供給基本層譯碼部分95。
在基本層譯碼部分95中,基本層中的位流被譯碼,并且將所得到的在基本層中被譯碼的圖像提供給清晰度變換部分94。另外,在基本層譯碼部分95中,通過對基本層的位流進行譯碼所得到的必要信息用于對增強層中的VOP進行譯碼,將該信息提供給增強層譯碼部分93。該必要的信息包括尺寸數(shù)據(jù)FSZ_B、偏移數(shù)據(jù)FPOS_B、運動矢量(MV)、預測模式、特征位COD等。
在增強層譯碼部分93中,通過延遲電路92提供的增強層中的位流正如所需的通過參考基本層譯碼部分95和清晰度變換部分94的輸出而被譯碼。所得到的放大層中的譯碼圖像、尺寸數(shù)據(jù)數(shù)FSZ_E、和偏移數(shù)據(jù)FPOS_E被輸出。另外,在增強層譯碼部分93中,由譯碼在增強層中的位流所得到的放大率RF被輸出到清晰度變換部分94中。在清晰度變換部分94中,如像在圖5中的清晰度變換部分24的情況,利用從增強層譯碼部分93提供的放大率RF變換在基本層中的被譯碼圖像。由這種變換所得到的被放大圖像提供給增強層譯碼部分93。如上所述,該被放大圖像用于譯碼增強層中的位流。
圖17示出了圖16的基本層譯碼部分95的構成例子。在圖17中,相應于圖2中譯碼器情況的部分采用相同標號。也就是,基本層譯碼部分95基本上按照與圖2的譯碼器相同的方法構成。
來自逆多路傳送部分91的基本層的位流提供給緩沖器101并暫時存儲在那里。正如所需要的,相應于下面級的一塊處理狀態(tài)IVLC單元102讀取來自緩沖器101的位流,該位流由可變字長譯碼所譯碼并且被分成量化系數(shù)、運動矢量、預測模式、量化級、尺寸數(shù)據(jù)FSZ_B、偏移數(shù)據(jù)FPOS_B、和特征位COD。量化系數(shù)和量化級提供給逆量化器103。運動矢量和預測模式提供給運動補償器107和增強層譯碼部分93(圖16)。尺寸數(shù)據(jù)FSZ_B和偏移數(shù)據(jù)FPOS_B提供給運動補償器107、圖像重構單元73(圖15)、和增強層譯碼部分93,同時特征位COD提供給增強層譯碼部分93。
逆量化器103、IDCT單元104、算術單元105、幀存儲器106、和運動補償器107分別執(zhí)行相應于圖11的基本層編碼部分25的逆量化器38、IDCT單元39、算術單元40、幀存儲器41和運動補償器41的相似的處理。因此,基本層的VOP被譯碼。該譯碼的VOP提供給圖像重構部分73、增強層譯碼部分93、和清晰度變換部分94(圖16)。
圖18示出了圖16的增強層譯碼部分93的構成例子。在圖18中,相應于圖2中的部分采用相同標號。也就是,除了幀存儲器112是新提供之外,增強層譯碼部分93的構成基本上與圖2是相同的。
來自逆多路變換部分91的增強層的位流通過緩沖器101提供給IVLC單元102。IVLC單元102利用可變字長譯碼來譯碼增強層的位流,從而將該位流分成量化系數(shù)、運動矢量、預測模式,量化級、尺寸數(shù)據(jù)FSZ_E、偏移數(shù)據(jù)FPOS_E、放大率FR、特征位ref_layer_id、特征位ref_Select_Code、特征位COD、和特征位MODB。如同在圖17的情況一樣,量化系數(shù)和量化級提供給逆量化器103。運動矢量和預測模式提供給運動補償器107。另外,尺寸數(shù)據(jù)FSZ_E和偏移數(shù)據(jù)FPOS_E提供給運動補償器和圖像重構部分73(圖15)。特征位COD、特征位MODB、特征位ref_layer_id、和特征位ref_Select_Code提供給運動補償器107。另外,放大率FR提供給運動補償器107和清晰度變換部分94(圖16)。
應注意的是,除了上述數(shù)據(jù)之外,基本層中的運動矢量、特征位COD、尺寸數(shù)據(jù)FSZ_B、和偏移數(shù)據(jù)FPOS_B從基本層譯碼部分95(圖16)被提供給運動補償器107。另外,被放大后的圖像從清晰度變換部分94提供給幀存儲器112。
逆量化器103、IDCT單元104、算術單元105、幀存儲器106、運動補償器107、和幀存儲器112分別執(zhí)行相應于圖12的增強層編碼部分23的逆量化器38、IDCT單元39、算術單元40、幀存儲器41、運動補償器42、和幀存儲器52的相似的處理。為此,增強層的VOP被譯碼。被譯碼后的VOP提供給圖像重構部分73。
在具有如上所述構成的增強層譯碼部分93和基本層譯碼部分95的VOP譯碼部分72n中,得到在增強層中的譯碼圖像、尺寸數(shù)據(jù)FSZ_E、和偏移數(shù)據(jù)FPOS_E(如有必要后面稱之為增強層數(shù)據(jù))和在基本層中的譯碼圖像、尺寸數(shù)據(jù)FSZ_B、和偏移數(shù)據(jù)FPOS_B(如有必要在后面稱之為基本層數(shù)據(jù))。在圖像重構部分73中,例如按下述方式重構來自增強層數(shù)據(jù)或基本層數(shù)據(jù)的圖像。
也就是,例如,在執(zhí)行第一空間可量測性(圖6)的情況下(即,在整個輸入VOP被形成為一增強層和被縮小的整個VOP形成為一基本層的情況下),當基本層數(shù)據(jù)和增強層數(shù)據(jù)譯碼時,圖像重構部分73僅根據(jù)增強層數(shù)據(jù)在由偏移數(shù)據(jù)FPOS_E所指明的位置上安置增強層的被譯碼圖像(VOP)其具有對應于尺寸數(shù)據(jù)FSZ_E的尺寸。另外,例如在增強層的位流中出現(xiàn)一錯誤,或者當監(jiān)視器74僅處理一低清晰度的圖像并且因此僅譯碼基本層數(shù)據(jù)時,該圖像重構部分73僅根據(jù)基本層數(shù)據(jù)在由偏移數(shù)據(jù)FPOS_B所指明的位置上安置增強層的譯碼圖像(VOP)其相應于尺寸數(shù)據(jù)FSZ_B的尺寸。
另外,例如,在執(zhí)行第二空間可量測性(圖7)的情況下(即,輸入VOP的部分被形成為增強層而整個被縮小的VOP被形成為基本層的情況下),當基本層數(shù)據(jù)和增強層數(shù)據(jù)被譯碼時,圖像重構部分73根據(jù)放大率FR放大相應于尺寸數(shù)據(jù)FSZ_B尺寸的基本層被譯碼圖像并產(chǎn)生放大的圖像。另外,圖像重構部分73將偏移數(shù)據(jù)FPOS_B放大FR倍并且將放大的圖像安置在相應于所得結(jié)果值的位置。并且圖像重構部分73將相應于尺寸數(shù)據(jù)FSZ_E的尺寸的增強層譯碼圖像安置在由偏移數(shù)據(jù)FPOS_E所指明的位置上。
在這種情況下,增強層的譯碼圖像的部分用比其余部分更高的清晰度被顯示出來。
應主要的是,在安置增強層的譯碼圖像的情況下,被譯碼圖像和被放大圖像是相互合成的。
另外,雖然在圖16(圖15)中未示出,但除了上述數(shù)據(jù)之外放大率FR從增強層譯碼部分93(VOP譯碼部分72n)被提供給圖像重構部分73。提高使用所提供的放大率FR該圖像重構部分73產(chǎn)生一放大的圖像。
另一方面,在執(zhí)行第二空間可測量性的情況下,當僅僅譯碼基本層數(shù)據(jù)時,按照與上述執(zhí)行第一空間可測量性的情況相同的方式來重構一圖像。
另外,在執(zhí)行第三空間可量測性(圖8和9)的情況下(即,在輸入VOP構成的每一個目標被形成增強層而排除VOP的這些目標被形成為基本層的情況下),按照與上述執(zhí)行第二空間可量測性的情況相同方式來重構一圖像。
如上所述,偏移數(shù)據(jù)FPOS_B和偏移數(shù)據(jù)FPOE_E的構成使相互對應于被安置在絕對坐標系統(tǒng)相同位置的象素構成基本層的放大圖像和增強層的圖像。因此,通過以上述方式重構一圖像,可以得到一準確的圖像(沒有位置上的偏移)。
下面將說明由圖3編碼器輸出的編碼位流的語法,例如,按照MPEG-4標準(根據(jù)需要,后面稱之為VM-6.0)的視頻校驗模式(6.0版)為例。
圖19示出了在VM-6.0中一編碼位流的語法。
該編碼位流由視頻對話等級(VSS)所構成。每一VS由一個或多個視頻目標等級(VOS)所構成。每一VO由一個或多個視頻目標層等級(VOLS)所構成。(當一圖像未分層時,它由一單個VOL構成。在圖像被分層的情況下,它由相應于層數(shù)的VOL所構成。)每一VOL由視頻目標平面等級(VOP)所構成。
應注意的是,VS是一圖像和等效物的序列,例如,一單個的節(jié)目或影片。
圖20和21示出了-VS的語法和VO的語法。該VO是相應于一完整圖像的位流或構成一圖像的目標的序列。因此,VS是由一組這樣的序列所構成的。(因而,VS是等效的,例如一單個的節(jié)目。)圖22示出了VOL的語法。
該VOL是用于上述可量測性的一等級,并且用Video_object_layer_id所表明的數(shù)來識別。例如,在基本層中用于-VOL的Video_object_layer_id為0,同時在增強層中用于-VOL的video_object_layer_id為1。應注意的是,如上所述,可量測的層數(shù)不限于2,它可以是包括1、3、或更多的一任意數(shù)。
另外,由video_object_layer_shape來識別-VOL是一完整圖像還是一圖像的部分。這個video_object_layer_shape是用來表示-VOL的形狀的特征位并且如下所述被設置。
當-VOL的形狀是一矩形時,video_object_layer_shape例如為00。當-VOL是處于由一固定的關鍵碼(hard key)分割出的一區(qū)域的形狀時(具有0或1的一二進制信號),video_object_layer_shape例如是01。另外,當-VOL是處于由一自定義功能鍵分割的一區(qū)域的形狀時(在0到1范圍內(nèi)可產(chǎn)生一連續(xù)值(灰度)的信號)(當由自定義功能鍵(soft key)合成時),video_object_layer_shape例如為10。
當Video_object_layer_shape為00時,-VOP的形狀為矩形并且在該絕對坐標系統(tǒng)中-VOL的位置和尺寸不隨時間而變化,即,是恒定的。在這種情況下,該尺寸(水平長度和垂直長度)是由video_object_layer_width和video_object_layer_height所指明的。該video_object_layer_width和video_object_layer_height是二個10位固定長度特征位。在video_object_layer_shape是00的情況下,它僅僅首次傳送一次。(這是因為,在video_object_layer_shape是00的情況下,如上所述,在該絕對坐標系統(tǒng)中-VOL的尺寸是恒定的)。
-VOL是基本層還是增強層是由其為1位特征位的可量測性來指明的。當-VOL是基本層時,可量測性例如為1。在其它情況下,該可量測性例如為0。
另外,在-VOL使用了在VOL中除了它本身之外的圖像作為一參考圖像的情況下,如上所述,由ref_layer_id表示屬于該VOL的參考圖像。應注意的是僅僅當VOL是增強層時該ref_layer_id才被傳送。
在圖22中,hor_Sampling_factor_n和hor_Sampling_factor_m分別表明相應于在基本層中的VOP的水平長度和在增強層中的VOP的水平長度的值。增強層對基本層的水平長度(水平清晰度的放大率)由下述等式給出hor_Sampling_factor_n/hor_Sampling_factor_m。
在圖22中,ver_Sampling_factor_n和ver_Sampling_factor_m分別表明相應于在基本層中的VOP的垂直長度和在增強層中的VOP的垂直長度的值。增強層對基本層的垂直長度(垂直清晰度的放大率)由下述等式給出ver_Sampling_factor_n/ver_Sampling_factor_m。
圖23示出了-VOP的語法。
-VOP的尺寸(水平長度和垂直長度)例如由具有10位固定長度的VOP_width和VOP_heigh來表示。另外,在絕對坐標系統(tǒng)中的-VOP的位置例如由10位固定長度的VOP_horizontal_spatial_mc_ref和VOP_vertical_mc_ref來表示。VOP_width和VOP_height分別表示-VOP的水平長度和垂直長度。這些等效于如上所述的尺寸數(shù)據(jù)FSZ_B和尺寸數(shù)據(jù)FSZ_E。VOP_horizontal_spatial_mc_ref和VOP_vertical_mc_ref分別表示-VOP的水平和垂直坐標(x和y坐標)。這些等效于如上所述偏移數(shù)據(jù)FPOS_B和偏移數(shù)據(jù)FPOS_E。
該VOP_width、VOP_height、VOP_horizontal_mc_ref和VOP_veritical_mc_ref僅僅當video_object_layer_shape不是00時才被傳送。也就是,當video_object_layer_shape為00時,如上所述,-VOP的尺寸和位置均為恒定的,這樣就沒有必要傳送VOP_width、VOP_height、VOP_horizontal_spatioal_mc_ref和VOP_vertical_mc_ref。在這種情況下,在接收機側(cè)-VOP被安置使得該左上角例如與絕對坐標系統(tǒng)的原點相一致。另外,從圖22所示的video_object_layer_width和video_object_layer_height識別該尺寸。
在圖23中,如圖19所示,ref_select_code表示一被用作為參考圖像的圖像,并且由-VOP的語法所規(guī)定。
順便說及的是,在VM-6.0中每-VOP的顯示時間(等效于一常規(guī)幀)是由如下所述的modulo_time_base和VOP_time_increment(圖23)確定的也就是,modulo_time_base表示在1秒(1000毫秒)精度之內(nèi)的該本地時基(local time base)中的編碼器時間。modulo_time_base表示在VOP標頭中被傳送的一標記(marker)并且由一所必須的1和0的數(shù)所構成。構成modulo_time_base的連續(xù)“1”的數(shù)后面跟隨的“0”是來自由最后編碼/譯碼modulo_time_base所標注的同步點的累積周期(在一秒精度之內(nèi)的時間)。例如,當該modulo_time_base指明一0時,來自由最后編碼/譯碼modulo_time_base所標注的同步點的累積周期是0秒。另外,當modulo_time_base指明10時,來自由最后編碼/譯碼modulo_time_base所標注的同步點的累積周期是1秒。另外,當modulo_time_base指明110時,來自由最后編碼/譯碼modulo_time_base所標注的同步點的累積周期是2秒。因此,在modulo_time_base中的1的數(shù)是來自由最后編碼/譯碼modulo_time_base所標注的同步點的秒數(shù)。
應注意的是,對于modulo_time_base,該VM-6.0規(guī)定為這個值表示在一秒清晰度單位(1000毫秒)上的本地時基。它表示在VOP標頭中所傳送的一標記。后面跟隨有一“0”的連續(xù)“1”的數(shù)表明從由最后編碼/譯碼modulo_time_base標注的同步點開始所經(jīng)過的秒數(shù)。
VOP_time_increment表示在1ms精度內(nèi)在本地時基中的編碼器時間。在VM-6.0中,對于I-VOP和P-VOP該VOP_time_increment是從由最后編碼/譯碼modulo_time_base所標注的同步點開始的時間。對于B-VOP該VOP_time_increment是從最后編碼/譯碼I-或P-VOP開始的相對時間。
應注意的是,對于VOP_time_increment,該VM-6.0規(guī)定為這個值表示以毫秒為單位的本地時基。對于I-和P-VOP該值是從由最后modulo_time_base所標注的同步點開始的絕對VOP_time_increment。對于B-VOP該值是從最后編碼/譯碼開始的相對VOP_time_increment。
并且該VM-6.0規(guī)定在該編碼器中,以下的公式用來分別確定對于I/P-VOP和B-VOP的絕對和相對VOP_time_increment。
也就是,VM-6.O規(guī)定在該編碼器中,對于I/P-VOP和B-VOP的顯示時間分別由下式編碼tGTB(n)=n×1000ms+tESTtAVTI=tETB(I/P)-tGTB(n)tRVTI=tETB(B)-tETB(I/P)…(1)其中tGTB(n)表示由第n次編碼modulo_time_base所標注的同步點的時間(如上所述,一秒的精度),tEST表示在VO編碼開始處的編碼器時間(在VO編碼開始處的絕對時間),tAVTI表示對于I-或P-VOP的VOP_time_increment,tETB(I/P)表示在I或P-VOP編碼開始處的編碼器時間(在VOP編碼開始處的絕對時間),tRVTI表示對于B-VOP的VOP_time_increment,和tETB(B)表示在B-VOP編碼的開始處的編碼器時間。
應注意的是,對于在公式(1)中的tGTB(n)、tEST、tAVTI、tETB(I/P)、tRVTI和tETB(B),該VM-6.0規(guī)定tGTB(n)是由第n次編碼modulo_time_base所標注的編碼器時基,tEST是編碼器時基開始時間,tAVTI是對于I或P-VOP的絕對VOP_time_increment,tETB(I/P)是I或P-VOP的編碼開始處的編碼器時基,tRVTI是對于B-VOP的相對VOP_time_increment,和tETB(B)是在B-VOP編碼開始處的編碼器時基。
另外,該VM-6.0規(guī)定在該譯碼器中,下面公式用來分別確定I/P-VOP和B-MOP的被恢復時基。
也就是,VM-6.0規(guī)定在譯碼器側(cè),用于I/P-VOP和B-VOP的顯示時間分別由下式譯碼
tGTB(n)=n×1000ms+tDSTtATB(I/P)=tAVTI+tGTB(n)tDTB(B)=tRVTI+tDTB(I/P)…(2)這里tGTB(n)表示由第n次譯碼的modulo_time_base所標注的同步點的時間,tDST表示VO譯碼開始處的譯碼器時間(在VO開始譯碼處的絕對時間),tDTB(I/P)表示I-VOP或P-VOP譯碼開始處的譯碼器時間,tAVTI表示對于I-VOP或P-VOP的VOP_time_increment,tDTB(B)表示在B-VOP譯碼開始處的譯碼器時間(在VOP開始譯碼處的絕對時間),tRVTI表示對于B-VOP的VOP_time_increment。
應注意的是,對于在公式(2)中的tGTB(n)、tDST、tDTB(I/P)、tAVTI、tDTB(B)、和tRVTI,該VM-6.0規(guī)定tGTB(n)是由第n次譯碼的modulo_time_base所標注的編碼時基,tDST是譯碼時基開始時間,tDTB(I/P)是在I或P-VOP譯碼開始處的譯碼時基,tAVTI是對于I-或P-VOP的譯碼絕對VOP_time_increment,tDTB(B)是B-VOP譯碼開始處的譯碼時基,和tRVTI是對于B-VOP的譯碼相對VOP_time_increment。
圖24示出了根據(jù)上述定義modulo_time_base和VOP_time_increment之間的關系。
在該圖中,-VO由諸如I1(I-VOP)、B2(B-VOP)、B3、B4(P-VOP)、B5、P6等VOP序列所構成?,F(xiàn)在,假定該VO的編碼/譯碼開始時間(絕對時間)為to,則modulo_time_base將表示諸如to+1秒、to+2秒等時間(同步點),這是因為從開始時間to所經(jīng)過的時間是在1秒的精度之內(nèi)表示的。在圖24中,雖然顯示順序是I1、B2、B3、P4、B5、P6等,但該編碼/譯碼順序是I1、P4、B2、B3、P6等。
在圖24中,(如在后面對圖28-31和圖36所述),對于每一VOP的VOP_time_increment是由在一方框中所包圍的一數(shù)字(以毫秒為單位)所指明。由modulo_time_base所指明的同步點的轉(zhuǎn)換由標記(所指出。因此,在圖24中,對于I1、B2、B3、P4、B5和P6的VOP_time_increment是350mS、400mS、800mS、550mS、400mS、和350mS,并且在P4和P6處,該同步點被轉(zhuǎn)換。
現(xiàn)在,在圖24中對于I1該VOP_time_increment是350ms。因此,I1的編碼/譯碼時間是在從由最后編碼/譯碼modulo_time_base所標注的同步點開始的350mS之后的時間。應注意的是,在I1的編碼/譯碼開始之后該開始時間(編碼/譯碼開始時間)to立即變?yōu)橐煌近c。因此,I1的編碼/譯碼時間將是從開始時間(編碼/譯碼開始時間)to起350mS之后的時間to+350mS。
B2或B3的編碼/譯碼時間是VOP_time_increment的時間,是從最后編碼/譯碼I-VOP或P-VOP所經(jīng)過的時間。在這種情況下,因為最后編碼/譯碼I1的編碼/譯碼時間是to+350ms,所以B2或B3的編碼/譯碼時間是在400mS或800mS之后的時間to+750mS或to+1200mS。
對于P4,在P4處由modulo_time_base所指明的同步點被轉(zhuǎn)換。因此,該同步點是時間to+1秒。其結(jié)果,P4的編碼/譯碼時間是從時間to+1秒開始的550mS之后的時間(to+1)秒+550mS。
B5的編碼/譯碼時間是從最后編碼/譯碼I-VOP或P-VOP所經(jīng)過的VOP_time_increment的時間。在這種情況下,因為最后編碼/譯碼P4的編碼/譯碼時間是(to+1)秒+550mS,所以B5的編碼/譯碼時間是在400mS之后的時間(to+1)秒+950mS。
對于P6,在P6處由modulo_time_base指明的同步點被轉(zhuǎn)換。因此,該同步點是時間to+2秒。其結(jié)果,P6的編碼/譯碼時間是從時間to+2秒開始的350mS之后的時間(to+2)秒+350mS。
應注意在VM-6.0中,由modulo_time_base所指明的同步點的轉(zhuǎn)換僅允許用于I-VOP和P-VOP而不允許用于B-VOP。
另外該VM-6.0規(guī)定對于I-VOP和P-VOP該VOP_time_increment是從由最后編碼/譯碼modulo_time_base所標注的同步點開始的時間,同時對于BVOP該VOP_time_increment是從由最后編碼/譯碼I-VOP或P-VOP所標注的同步點開始的相對時間。這主要是由于如下的原因。也就是,一B-VOP通過將在顯示順序中跨過B-VOP而被安置的I-VOP或P-VOP用作為一參考圖像而被預測編碼。因此,到該I-VOP或P-VOP的時間距離被設置為用于B-VOP的VOP_time_increment,這樣使得相對于在執(zhí)行該預測編碼中用作為一參考圖像的I-VOP或P-VOP的加權(weight)根據(jù)跨過B-VOP而被安置的到I-VOP或P-VOP的瞬間距離由該B-VOP所確定。這是主要原因。
順便說及,上述VM-6.0的VOP_time_increment的定義有一個缺點。也就是,在圖24中,用于B-VOP的VOP_time_increment不是從B-VOP之前該I-VOP或P-VOP編碼/譯碼立即開始的相對時間而是從最后被顯示的I-VOP或P-VOP開始的相對時間。這是由于以下的原因。例如考慮B2或B3。從上述編碼/譯碼順序的觀點來看,在B2或B3之前立即被編碼/譯碼的I-VOP或P-VOP是P4。因此,當假定對于B-VOP的VOP_time_increment是從在B-VOP之前I-VOP或P-BOP立即被編碼/譯碼起的相對時間,則對于B2或B3的VOP_time_increment是從P4的編碼/譯碼時間起的相對時間并且變成一負值。
另一方面,在MPEG-4標準中該VOP_time_increment是10位。如果VOP_time_increment僅具有一等于或大于0的值,則它可以在0到1023的范圍中表示一個值。因此,相鄰同步點之間的位置可以用上述瞬間同步點(在圖24中的左方)作為參考由毫秒單位來表示。
但是,如果該VOP_time_increment允許不僅具有一等于或大于0的值而且還允許一負值時,則相鄰同步點之間的位置可以用上述瞬間同步點作為參考來表示,或者用下一個瞬間同步點作為參考來表示。為此原因,計算-VOP的編碼時間或譯碼時間的過程變得復雜了。
因此,如上所述,對于VOP_time_increment該VM-6.0規(guī)定表示本地時基的值以毫秒為單位。對于I-和P-VOP這個值是從由最后modulo_time_base所標注的同步點開始的絕對VOP_time_increment。對于B-VOP這個值是從最后被編碼/譯碼的I-或P-VOP開始的相對VOP_time_increment。
但是,最后一句“對于B-VOP這個值是從最后被編碼/譯碼的I-或P-VOP起的相對VOP_time_increment”會改變?yōu)椤皩τ贐-VOP這個值是從最后被顯示的I-或P-VOP起的相對VOP_time_increment”。為此,VOP_time_increment將不定義為從最后被編碼/譯碼的I-或P-VOP開始的相對時間,而會定義為從最后顯示的I-或P-VOP起的相對時間。
以這種方式所定義的VOP_time_increment,對于B-VOP該編碼/譯碼時間的計算基數(shù)是具有先于B-VOP的顯示時間的I/P-VOP(I-VOP或P-VOP)的顯示時間。因此,只要對于B-VOP的參考圖像不是在B-VOP之前被顯示,則對于B-VOP的VOP_time_increment總是具有一正值。因此,在所有時間上對于I/P-VOP該VOP_time_increment具有一正值。
在圖24中該VM-6.0的定義進一步被改變從而由modulo_time_base和VOP_time_increment所表示的時間不是-VOP的編碼/譯碼時間而是-VOP的顯示時間。也就是,在圖24中,當在-VOP序列中的絕對時間被考慮時,則在公式(1)中的tEST(I/P)和在公式(2)中的tDTB(I/P)分別表示在一I-VOP或P-VOP序列中所出現(xiàn)的絕對時間,并且在公式(1)中的tEST(B)和在公式(2)中的tDTB(B)分別表示在一B-VOP的序列中出現(xiàn)的絕對時間。
在VM-6.0中公式(1)中的編碼器時基開始時間tEST不被編碼,而modulo_time_base和VOP_time_increment被編碼為編碼器時基開始時間tEST和每一VOP的顯示時間之間的差分信息(表示在-VOP序列中出現(xiàn)的-VOP的位置的絕對時間)。為此原因,在譯碼器側(cè),VOP之間的相對時間可以通過使用modulo_time_base和VOP_time_increment來確定,而每一VOP的絕對顯示時間,即,在VOP順序中的每一VOP的位置不能被確定。因此,只有modulo_time_base和VOP_time_increment不能執(zhí)行對一位流的存取,即隨機存取。
另一方面,如果僅僅編碼器時基開始時間tEST被編碼,則該譯碼器通過使用被編碼的tEST可以譯碼每一VOP的絕對時間。但是,通過從編碼位流的開頭,譯碼該編碼器時基開始時間以及是每一VOP的相對時間信息的modulo_time_base和VOP_time_increment有必要去控制該累積絕對時間。這是令人討厭的事情,從而不能執(zhí)行有效的隨機存取。
因此,在本發(fā)明的該實施例中,一用來編碼在-VOP序列中所出現(xiàn)的絕對時間的層被引入該VM-6.0的該編碼位流的分層結(jié)構中以便容易地執(zhí)行有效的隨機存取。(這個層不是實現(xiàn)可量測性的層(上述基本層或增強層)而是一被編碼的位流層))。這個層是在一合適位置以及編碼的位流的開頭可插入的編碼的位流層。
作為這種層,本實施例介紹了把例如以相同方式所規(guī)定的層作為在MPEG-1/2標準中使用的GOP(圖像組)層。為此,與在MPEG-4標準中使用的原編碼位流層的情況相比較可以提高MPEG-4標準和MPEG-1/2標準之間的兼容性。這種新插入層稱之為GOV(或視頻目標平面組(GVOP))。
圖25示出引入用來對在VOP序列中所出現(xiàn)的絕對時間編碼的-GOV層的編碼位流的構成。
在VOL層和VOP層之間規(guī)定了GOV層使得它可插入在編碼位流的任意位置以及插入在編碼位流的開關。
為此,在一VOL#0是由諸如VOP#0、VOP#1、…、VOP#n、VOP#(n+1)、…、和VOP#m的VOP序列所構成的情況下,該GOV層例如可以直接地在VOP#(n+1)之前以及直接地在開頭VOP#之前插入。因此,在該編碼器中,該GOV層可以例如插入在執(zhí)行隨機存取的一編碼位流的位置上。因此,通過插入該GOV層,構成確定VOL的VOP序列被分成多個組(根據(jù)需要后面稱之為-GOV)并被編碼。
該GOV層的語法定義為如圖26中的示例。
如該圖所示,該GOV層由按序列排列的group_start_code、time_code、closed_gop、broken_link、和next_start_code()所構成。
下面,將對GOV層的語義予以說明。GOV層的語義基本上與在MPEG-2標準中的GOP層語義相同。因而這里對這部分不予描述,請予見MPEG-2視頻標準(ISO/IEC-13818-2)。
該guoup_start_code是000001B8(十六進制并且表明-GOV的開始部分。
如圖27中所示,該time_code由1位drop_frame_flag、5位time_code_hourS、6位time_code_minutes、1位marker_bit、6位time_code_second和6位time_code_pictures所組成。因此,該time_code總共由25位所構成。
該time_code等效于在IEC標準公開461中所規(guī)定的“用于錄相機的時間和控制碼”。這里,MPEG-4標準沒有視頻的幀速率的概念。(因此,-VOP可在任意時間上被表示。)因而,本實施例不利用drop_frame_flag表明該time_code是否在drop_frame_mode中被描述過,并且該值是固定的例如為0。另外,本實施例不利用為相同原因的time_code_pictures,并且該值是固定的例如為0。因此,在這里該time_code用來通過表示時間的小時單位的time_code_hours、表示時間的分單位的time_code_minutes、和表示時間的秒單位的time_code_seconds來表示-GOV的開頭的時間。其結(jié)果,在一GOV層中的time_code(編碼開始秒精度絕對時間)表示該GOV的開頭時間,即當開始GOV層編碼時在-VOP序列上的絕對時間,是在1秒的精度之內(nèi)。為此原因,本發(fā)明的實施例對于每一VOP設置了比1秒更精確的時間(這里是,毫秒)。
應注意的是,在該time_code中該marker_bit為1從而在一編碼位流中23或更多的0不連續(xù)。
closed_gop意指在MPEG-2視頻標準(ISO/IEC 13818-2)的close_gop定義中的I-、P-、和B-圖像中的一個圖像分別由I-VOP、P-VOP、和B-VOP來置換。因此,在-VOP中的B-VOP不僅表示構成該GOV的-VOP而且表明是否在另一GOV中用-VOP作為一參考圖像編碼該VOP。這里,對于在MPEG-2視頻標準(ISO/IEC 13818-29)中定義的close_gop下面給出了執(zhí)行上述置換的句子這是一個1位特征位,用于表明在平面標題組后面緊接著第一編碼的I-VOP之后的第一連續(xù)B-VOP(如有的話)中所使用的預測性質(zhì)。該close_gop置為1表示被編碼的這些B-VOP僅用于反向預測或內(nèi)相關編碼。在編碼之后所出現(xiàn)的任何編輯期間使用這個位。如果前面的圖像通過編輯已被移動,則broke_link可被置為1以便一譯碼器可以避免顯示跟隨在平面標題組之后的第一I-VOP之后的這些B-VOP。但是,如果closed_gop位被置為1,當這些B-VOP可被正確地譯碼時則該編輯器可以不選擇設置broken_link。
該broken_link還意指按照MPEG_2視頻標準(ISO/IEC 139818-29)中該broken_link的定義執(zhí)行該closed_gop的情況時的相同置換。因此,該broken_link表示-GOV的開頭B-VOP是否可被正確地再生。這里,對于在MPEG-2視頻標準(ISO/IEC 13818-2)中的該broken_link的定義在下面給出了執(zhí)行上述置換的句子這是在編碼期間將置為0的一位特征位。它被設置為1用于表明跟隨平面標題組之后的緊挨著第一編碼I-VOP之后的第一連續(xù)B-VOP(如有的話)不能被正確地譯碼,因為用于預測的參考幀不是有效的(由于編輯的影響)。一譯碼器可使用這個特征位以避免顯示不能正確被譯碼的幀。
next_start_code()給出了下一個GOV開始的位置。
引入GOV層并且將也開始GOV層編碼的GOV序列中的上述絕對時間(根據(jù)需要,后面稱之為編碼開始絕對時間)設置為該GOV的time_code。另外,如上所述,因為在該GOV層中的該time_code具有一秒之內(nèi)的精度,所以本實施例將對用于每一VOP的-VOP序列中所出現(xiàn)的每一VOP的絕對時間設置一更為精細部分。
圖28示出了在已引入的圖26的GOV層的情況下time_code、modulo_time_base、和VOP_time_increment之間的關系。
在該圖中,由I1、B2、B3、P4、B5和P6所構成的該GOV以從該開頭開始的顯示順序被安置。
例如,現(xiàn)在假定該GOV的編碼開始絕對時間是Oh:12m:35sec:350msec(0時12分35秒350毫秒),由于如上所述它的精度是在1秒范圍內(nèi)所以該GOV的time_code將被置為Oh:12m:35sec。(構成time_code的time_code_hours、time_code_minutes、和time_code_seconds將分別被置為0,12,和35。)另一方面,當在-VOP序列中的I1的絕對時間(在包含圖28的GOV的-VS的編碼之前(或譯碼之后)的-VOP序列的絕對時間)(因為這等效于當-VOP序列被顯示時I1的顯示時間,所以根據(jù)需要后面稱之為顯示時間)例如為Oh:12m:35sec:350msec的情況下,VOP_time_increment的語義被改變從而將比1秒精度更為精細的350mS設置為該I1的I-VOP的VOP_time_increment并且被編碼(即,從而執(zhí)行利用I1=350的VOP_time_increment的編碼)。
也就是,在圖28中,在顯示順序中-GOV的開頭I-VOP(I1)的VOP_time_increment具有在該GOV的time_code和I-VOP的顯示時間之間的一差值。因此,由time_code所表示的在1秒精度之內(nèi)的時間是該GOV的第一同步點(這里,是表示在在1秒精度之內(nèi)的時間的點)。
應注意的是,在圖28中,對于是以秒或后面所安置的VOP的該GOV的B2、B3、P4、B5和P6的VOP_time_increment的語義與如圖24中所示的已被改變的VM-6.0規(guī)定的語義是相同的。
因此,在圖28中B2或B3的顯示時間是當VOP_time_increment從最后顯示的I-VOP或P-VOP的時間過去時的時間。在這種情況下,因為最后顯示I1的顯示時間是Oh:12m:35:350mS,所以B2或B3的顯示時間是Oh:12m:35S:750mS或400mS或800mS之后的Oh:12m:36S:200mS。
接著,對于P4,在P4處由modulo_time_base所表明的同步點被轉(zhuǎn)換。因此,該同步點的時間是自Oh:12m:35S起1秒之后的Oh:12m:36S。其結(jié)果,P4的顯示時間是從Oh:12m:36S起550mS之后的Oh:12m:36S:550mS。
B5的顯示時間是當VOP_time_increment從最后被顯示的I-VOP或P-VOP起消逝過去的時間。在這種情況下,B5的顯示時間是從最后顯示的P4的顯示時間Oh:12m:36S:550mS起400mS之后的Oh:12m:36S:950mS。
之后,對于P6,在P6處由modulo_time_base所表明的同步點被轉(zhuǎn)換。因此,該同步點的時間是Oh:12m:35S+2 sec,即Oh:12m:37S。其結(jié)果,P6的顯示時間是從Oh:12m:37S起350mS之后的Oh:12m:37S:350mS。
圖29示出了在在顯示順序中-GOV的開頭VOP是一B-VOP的情況下time_code、modulo_time_base、和VOP_time_increment之間的關系。
在該圖中,由B0、I1、B2、B3、P4、B5和P6所構成的GOV以從該開頭開始的顯示順序被安置。也就是,在圖29中該GOV由在圖28中的I1之前增加的B0所構成。
在這種情況下,如果假定對于GOV的開頭B0該VOP_time_increment是由該GOV的I/P-VOP的顯示時間作為標準而確定的,即,例如,如果假定它是用I1的顯示時間作為標準而確定的,則該值將是一頁值,如上所述這是不利的。
因此,對于在該GOV中的I-VOP之前被顯示的B-VOP(該B-VOP在首先被顯示的GOV中的I-VOP之前被顯示)該VOP_time_increment的語義如下所述被改變。
也就是,對于這種B-VOP該VOP_time_increment具有在GOV的time_code和B-VOP的顯示時間之間的一差值。在這種情況下,如圖29中所示,當B0的顯示時間例如是Oh:12m:35S:200mS和當GOV的time_code例如是Oh:12m:35S時,對于B0該VOP_time_increment是350mS(=Oh:12m:35S:200mS_Oh:12m:35S)。如果以這種方式完成,VOP_time_increment將總是一正值。
利用上述在VOP_time_increment的語義中的的二種變化,-GOV的time_code和VOP的modulo_time_base及VOP_time_increment可以彼此相關。另外,利用它,可以規(guī)定每一VOP的絕對時間(顯示時間)。
圖30示出了在I-VOP的顯示時間和從I-VOP預測的B-VOP的顯示之間的間隔等于或大于1秒(確切地說為,1.023秒)的情況下-GOV的time_code和-VOP的modulo_time_base及VOP_time_base之間的關系。
在圖30中,由I1、B2、B3、B4和P6所構成的該GOV以顯示順序所安置。B4是在從最后被顯示的I1(I-VOP)的顯示時間之后1秒的時間處被顯示的。
在這種情況下,當B4的顯示時間由上述的其語義已被改變的VOP_time_increment編碼時,該VOP_time_increment如上所述是10位并且可僅表示直到1023的時間。為此原因,它不能表示大于1.023秒的時間。因而,該VOP_time_increment的語義進一步被改變并且modulo_time_base的語義也改變以便與這種情況相一致。
在本實施例中,例如,通過下面的第一種方法和第二種方法執(zhí)行這種變化。
也就是,在第一種方法中,在一I/P-VOP的顯示時間和從I/P-VOP預測的一B-VOP的顯示時間之間的時間被檢測為在1秒的精度之內(nèi)。對于該時間,1秒的單位用modulo_time_base所表示,而1毫秒的單位用VOP_time_increment所表示。
圖31示出了根據(jù)第一種方法在圖30所示的情況下在modulo_time_base和VOP_time_increment已被編碼的情況下對于-GOV的time_code和對于-VOP的modulo_time_base及VOP_time_increment之間的關系。
也就是,在第一種方法中,modulo_time_base的相加不僅對于I-VOP和P-VOP是允許的而且對于B-VOP也是允許的。該modulo_time_base被加到-B-VOP不表示同步點的轉(zhuǎn)換而表示由最后顯示的I/P-VOP的顯示時間起所得到的一秒單位的進位。
另外,在該第一種方法中,由modulo_time_base加到B-VOP所指明的在從最后顯示的I/P-VOP的顯示時間所得到的一秒進位之后的時間被從B-VOP的顯示時間中減去,并且將所產(chǎn)生的值設置為VOP_time_increment。
因此,根據(jù)第一種方法,在圖30中,如果假定I1的顯示時間是0h:12m:35S:350mS和B4的顯示時間是Oh:12m:36S:350mS,則I1和B4的顯示時間之間的差是大于1秒的1200mS,因此該modulo_time_base(由在圖31中的標記表示)指明如圖31所示的把來自最后被顯示的I1的顯示時間的1秒單位的進位加到B4。更詳細地說,加到B4的modulo_time_base是10表示1秒的進位,1秒是1200mS的1秒數(shù)位的值。對于B4該VOP_time_increment是200,200是由I1和B4之間的顯示時間之間的差所得到的小于1秒的值(該值是從B4的顯示時間中減去由B4的modulo_time_base所指明的最后顯示的I/P-VOP的顯示時間而得知1秒單位的進位之后的時間所得到的)。
上述根據(jù)第一種方法對于modulo_time_base和vop_time_increment的處理是在圖11和12中所示的VLC單元36的編碼器和在圖17和18中所示的該IVLS單元102的譯碼器中被執(zhí)行的。
因此,首先,對于由VLC單元36所執(zhí)行的用于modulo_time_base和VOP_time_increment的處理將結(jié)合圖32中的流程圖來說明。
該VLC單元36將-VOP序列分成GOV并對每一GOV執(zhí)行處理。應注意的是該GOV的結(jié)構使得包括至少有一個由內(nèi)相關編碼所編碼的VOP。
如果-GOV被接收,該VLC單元36將接收時間設置為GOV的編碼開始絕對時間并且GOV將被編碼直到time_code的該編碼開始絕對時間的秒精度(該編碼開始絕對時間直到1秒的位被編碼)。編碼的time_code被包括在一編碼位流中。每次接收構成GOV的-I/P-VOP,VLC單元36將I/P-VOP設置為一提示I/P-VOP,并根據(jù)圖32的流程來計算該提示I/P-VOP的modulo_time_base和VOP_time_increment,并且執(zhí)行編碼。
也就是,在該VLC單元36中,首先,在步驟S1中,0B(這里B表示一二進制數(shù))被設置到modulo_time_base并且0被設置到VOP_time_increment,從而使modulo_time_base和VOP_time_increment被復位。
在步驟S2中判斷該提示I/P-VOP(attention I/P-VOP)是否被處理的GOV(后面稱之為處理目標GOV)的第一I-VOP。在步驟S2中,在該提示I/P-VOP判斷為該處理目標GOV的第一I-VOP的情況下,步驟S2前進到步驟S4。在步驟S4中,計算該處理目標GOV的time_code和提示I/P-VOP的秒精度之間的差(這里該第一I-VOP在處理目標GOV中),即,計算time_code和提示I/P-VOP的顯示時間的該秒的數(shù)位之間的差并且設置為一變量D。然后步驟S4前進到步驟S5。
在步驟S2中,在判斷該提示I/P-VOP不是處理目標GOV的第一I-VOP的情況下,步驟S2前進到步驟S3。在步驟S3中,計算該提示I/P-VOP的顯示時間的該秒數(shù)位和最后顯示的I/P-VOP的顯示時間的該秒數(shù)位之間的差值(該最后顯示的I/P-VOP是在構成處理目標GOV的VOP的提示I/P-VOP之前立即被顯示的)并且將該差值設置為變量D。之后,步驟S3前進到步驟S5。
在步驟S5中,判斷該變量D是否等于0。也就是,判斷該time_code和提示I/P-VOP的顯示時間的秒數(shù)位之間的差是否等于0,或者判斷該提示I/P-VOP的顯示時間的該秒數(shù)位和最后顯示的顯示時間的該秒數(shù)位之間的差值是否等于0。在步驟S5中,當判斷該變量D不等于0的情況下,即,在該變量D等于或大于1的情況下,步驟S5前進到步驟S6,在步驟S6中,1作為modulo_time_base的最高有效位(MSB)而被加入。也就是,在這種情況下,當modulo_time_base例如是在復位之后立即為0B時,它被設置為10B。并且,當modulo_time_base是例如10B時,它被設置為110B。
步驟S6前進到步驟S7,在步驟S7中,變量D被遞減1。然后,步驟S7返回到步驟S5。之后,步驟S5到S7被重復執(zhí)行直至在步驟S5中判斷變量D等于0。也就是,在該modulo_time_base中連續(xù)1的數(shù)是與相應于該time_code和提示I/P-VOP的顯示時間的該秒數(shù)位之間的差或在提示I/P-VOP的顯示時間的該秒數(shù)位和最后顯示的I/P-VOP的顯示時間的該秒數(shù)位之間的差值的秒數(shù)相同。在其最低有效位該modulo_time_base具有0。
在步驟S5,當判斷變量D等于0的情況下,步驟S5前進到步驟S8,在步驟S8中將比提示I/P-VOP的顯示時間的1秒精度更為精確的時間,即,毫秒單位的時間設置到VOP_time_increment,并且該處理結(jié)束。
在該VLC單元36中,將以上述方式所計算的提示I/P-VOP的modulo_time_base和VOP_time_increment加到該提示I/P-VOP。因此,它被包含在一編碼位流中。
應注意的是,在VLC單元36中利用可變字長編碼對modulo_time_base、VOP_time_increment、和time_code編碼。
每一次接收一構成處理目標GOV的B-VOP,VLC單元36將B-VOP設置到一提示B-VOP,根據(jù)圖33的流程計算該提示B-VOP的modulo_time_base和VOP_time_increment,并執(zhí)行編碼。
也就是,在VLC單元36中,在步驟S11,如同在圖32的步驟S1的情況一樣,modulo_time_base和VOP_time_increment被首先復位。
步驟S11前進到步驟S12,在步驟S12中判斷該提示B-VOP是否在該處理目標GOV的第一I-VOP之前被顯示。在步驟S12中,當判斷提示B-VOP是在處理目標GOV的第一I-VOP之前被顯示的情況下,步驟S12前進到步驟S13。在步驟S13中,計算在處理目標GOV的time_code和提示B-VOP的顯示時間之間的差(這里,B-VOP在處理目標GOV的第一I-VOP之前被顯示)并且設置一變量D。之后,步驟S13前進到步驟S15。因此,在圖33中,將一毫秒精度之內(nèi)的時間(直至1毫秒數(shù)位的時間)設置到該變量D(另一方面,如上所述,1秒精度之內(nèi)的時間設置到在圖32中的變量)。
在步驟S12中,當判斷該提示B-VOP是處理目標GOV的第一I-VOP之后被顯示的,步驟S12前進到步驟S14。在步驟S14,計算在提示B-VOP的顯示時間和最后所顯示的I/P-VOP(在構成該處理目標GOV的該VOP的提示B-VOP之前被立即顯示的)的顯示時間之間的差值并且該差值被設置為變量D。之后,步驟S13前進到步驟S15。
在步驟S15,判斷變量D是否大于1。也就是,判斷在time_code和提示B-VOP的顯示時間之間的差值是否大于1,或者判斷在提示B-VOP的顯示時間和最后顯示的I/P-VOP的顯示時間之間的差值是否大于1。在步驟Sl5中,當判斷變量D是大于1的情況下,步驟S15前進到步驟S16,在S16中將其加1作為modulo_time_base的最高有效位(MSB)。在步驟S17中變量D被遞減1。然后,步驟S17返回到步驟S15。直至在步驟S15中它被判斷為變量D不大于1為止。步驟S15至S17被重復執(zhí)行。即,為此,在modulo_time_base中連續(xù)1的數(shù)是與相應于在time_code和提示B-VOP的顯示時間之間的差或者在提示B-VOP的顯示時間和最后顯示的I/P-VOP的顯示時間之間的差值的秒數(shù)是相同的。在其最低有效數(shù)位(LSD)處modulo_time_base具有0。
在步驟S15中,當判斷為變量D不大于1的情況下,步驟S15前進到步驟S18,在步驟S18中當前變量D的值,即,在time_code和提示B-VOP的顯示時間之間的差值,或在提示B-VOP的顯示時間和最后顯示的I/P-VOP的顯示時間之間的差的秒數(shù)位的正確的毫秒數(shù)位被設置到VOP_time_increment,并且處理結(jié)束。
在VLC電路36中,以上述方式所計算的提示B-VOP的modulo_time_base和VOP_time_increment被加到提示B-VOP。為此,它被包含在一編碼位流中。
接著,每次接收用于每一VOP的編碼的數(shù)據(jù),該IVLC單元102處理該VOP為一提示VOP。利用這種處理,IVLC單元102識別包含在編碼位流中的VOP的顯示時間該VLC單元36通過將一VOP序列分成GOV而輸出一編碼位流中的-VOP的顯示時間并且還以上述方式來處理每一GOV。隨后,該IVLC單元102執(zhí)行可變字長編碼從而在被識別的顯示時間上顯示該VOP。也就是,如果-GOV被接收,IVLC單元102將識別該GOV的time_code。每次接收構成該GOV的-I/P-VOP,該IVLC單元102將I/P-VOP設置到一提示I/P-VOP并且根據(jù)圖34的流程圖基于提示I/P-VOP的modulo_time_base和VOP_time_increment計算該提示I/P-VOP的顯示時間。
也就是,在IVLC單元102中,首先,在步驟S21中判斷該提示I/P-VOP是否處理目標GOV的第一I-VOP。在步驟S21中,當在提示I/P-VOP被判斷為是處理目標GOV的第一I-VOP的情況下,步驟S21前進到步驟S23。在步驟S23中,處理目標GOV的time_code被設置為變量T,并且步驟S23前進到步驟S24。
在步驟S21中,當判斷該提示I/P-VOP不是處理目標GOV的第一I-VOP的情況下,步驟S21前進到步驟S22。在步驟S22中,最后顯示的I/P-VOP(是構成處理目標GOV的VOP中的一個)的顯示時間的秒數(shù)位的值被設置為變量T,最后顯示的I/P-VOP是在該提示I/P-VOP之前立即被顯示的。然后步驟S22前進到步驟S24。
在步驟S24中,判斷加到提示I/P-VOP的modulo_time_base是否等于0B。在步驟S24中,當判斷加到該提示I/P-VOP的modulo_time_base為不等于0B的情況下,即,當加到提示I/P-VOP的modulo_time_base包括了1的情況下,步驟S24前進到步驟S25,在步驟S25中刪除在modulo_time_base的MSB中的1。步驟S25前進到步驟S26,在S26中將該變量遞增1。然后步驟S26返回到步驟S24。之后,重復步驟S24到S26直至在步驟S24判斷出加到提示I/P-VOP的modulo_time_base是等于0B為止。為此,該變量T通過秒數(shù)而遞增該秒數(shù)相應于加到提示I/P-VOP的第一modulo_time_base中的1的數(shù)量。
在步驟S24中,當加到提示I/P-VOP的modulo_time_base等于0B的情況下,步驟S24前進到步驟S27,在步驟S27中,由VOP_time_increment所指明的在1毫秒精度之內(nèi)的時間被加到變量T。該所加的值被識別為該提示I/P-VOP的顯示時間,并且該處理結(jié)束。
接著,當接收構成處理目標GOV的B-VOP時,該IVLC單元102將B-VOP設置為一提示B-VOP并根據(jù)圖35的流程圖基于提示B-VOP的modulo_time_base和VOP_time_increment計算該提示B-VOP的顯示時間。
也就是,在IVLC單元102中,首先,在步驟S31中判斷該提示B-VOP是否在處理目標GOV的第一I-VOP之前被顯示的在步驟S31中當判斷該提示B-VOP是在處理目標GOV的第一I-VOP之前被顯示的,步驟S31前進到步驟S33。之后,在步驟S33至S37中,如在圖34的步驟S23至S27中的情況一樣,執(zhí)行一類似的處理,因而計算出提示B-VOP的顯示時間。
另一方面,在步驟S31中,當判斷出提示B-VOP是在處理目標GOV的第一I-VOP之后被顯示的,步驟S31前進到步驟S32。因此,在步驟S32和S34至S37中,如像圖34中的步驟S22和S24至S27中的情況一樣,執(zhí)行類似的計算,因而計算該提示B-VOP的顯示時間。
接著在第二種方法中,計算在I-VOP的顯示時間和從I-VOP所預測的B-VOP的顯示時間之間的時間直至秒數(shù)位。該值由modulo_time_base表示并且由VOP_time_increment表示B-VOP的顯示時間的毫秒精度。也就是,如上所述該VM-6.0,對于B-VOP到I-VOP或到P-VOP的暫時距離被設置為VOP_time_increment,從而在執(zhí)行B-VOP的預測編碼中用作一參考圖像的有關I-VOP或P-VOP的加權(weight)根據(jù)越過B-VOP所安置的到I-VOP或P-VOP的暫時距離從B-VOP中來確定。為此原因,用于I-VOP或P-VOP的VOP_time_increment不同于由最后編碼/譯碼的modulo_time_base所標注的該同步點的時間。但是,如果-B-VOP和越過該B-VOP被安置的I-VOP或P-VOP的顯示時間被計算時,則它們之間的暫時距離可通過它們之間的差來計算。因此,幾乎沒有必要割開對I-VOP和P-VOP的VOP_time_increment的處理而僅對B-VOP的VOP_time_increment的處理。相反,為了有效地處理起見最好是以相同的方式對I-、B-、和P-VOP的所有VOP_time_increment(詳細時間信息),此外還對modulo_time_bases(秒精度時間信息)進行處理。
因此,在第二種方法中,對于B-VOP的modulo_time_base和VOP_time_increment是與對I/P-VOP的modulo_time_base和VOP_time_increment相同的方式來處理的。
圖36示出了根據(jù)第二種方法在modulo_time_base和VOP_time_increment已被編碼的情況下,例如在圖30所示的情況下用于GOV的該time_code和modulo_time_base及VOP_time_increment之間的關系。
也就是,即使在第二種方法中,modulo_time_base的加法不僅允許用于I-VOP和B-VOP還允許用于B-VOP。并且加到B-VOP的modulo_time_base,與加到I/P-VOP的modulo_time_base一樣,表示同步點的轉(zhuǎn)換。
另外,在第二種方法中,從B-VOP的顯示時間中減去由modulo_time_base加到B-VOP所標注的同步點的時間,并將所得結(jié)果值作為該VOP_time_increment而設置。
因此,根據(jù)第二種方法,在圖30中,在GOV的第一同步點(是由GOV的time_code所表示的時間)和由time_code+1秒所標注的同步點之間所顯示的用于I1和B2的modulo_time_base均為B0。并且低于I1和B2的顯示時間的秒單位的毫秒單位值分別被設置于用于I1和B2的VOP_time_increment。在由time_code+1秒所標注的同步點和由time_code+2秒所標注的同步點之間所顯示的用于B3和B4的modulo_time_base均為10B。并且低于B3和B4的顯示時間的秒單位的毫秒單位值分別被設置為用于B3和B4的VOP_time_increment。另外,在由time_code+2秒所標注的同步點和由time code+3秒所標注的同步點之間所顯示的用于P5的modulo_time_base是110B。并且低于P5的顯示時間的秒單位的毫秒單位值被設置為用于P5的VOP_time_increment。
例如,在圖30中,如果假定I1的顯示時間是Oh:12m:35S:350mS和B4的顯示時間是Oh:12m:36S:550mS,則如上所述那樣,用于I1和B4的modulo_time_bases分別為0B和10B。用于11和B4的VOP_time_increment分別為350mS和550mS(其是該顯示時間的毫秒單位)。
如同在第一種方法中的情況一樣,根據(jù)第二種方法用于modulo_time_base和VOP_time_increment的上述處理是通過圖11和12中所示的VLC單元36以及圖17和18中所示的IVLC單元102來執(zhí)行的。
也就是,VLC單元36以與圖32中的情況相同的方式來計算用于I/P-VOP的modulo_time_Base和VOP_time_increment。
對于B-VOP,每次接收構成GOV的B-VOP,該VLC單元36將B-VOP設置為提示B-VOP并且根據(jù)圖37的流程圖計算modulo_time_base和VOP_time_increment。
也就是,在該VLC單元36中,首先,在步驟S41中modulo_time_base和VOP_time_increment以與圖32中的步驟S1的情況中相同的方法被復位。
并且步驟S41前進到步驟S42,在步驟S42中判斷提示B-VOP是否在被處理的GOV(一處理目標GOV)的第一I-VOP之前被顯示的。在步驟S42中,當判斷該提示B-VOP是在處理目標GOV的第一I-VOP之前被顯示的,步驟S42前進到步驟S44。在步驟S44中,計算處理目標GOV的time_code和提示B-VOP的秒精度之間的差,即,計算time_code和提示B-VOP的顯示時間的秒數(shù)位之間的差并且設置變量D。然后,步驟S44前進到步驟S45。
在步驟S42中,當判斷出該提示B-VOP是在處理目標GOV的第一I-VOP之后被顯示的,步驟S42前進到步驟S43。在步驟S43中,計算在提示B-VOP顯示時間的秒數(shù)位和最后顯示的I/P-VOP(是在提示B-VOP之前立即被顯示的構成處理目標GOV的多個VOP中的一個)的顯示時間的秒數(shù)位之間的差值并且將該差值設置為變量D。然后,步驟S43前進到步驟S45。
在步驟S45中,判斷該變量D是否等于0。也就是,判斷在time_code和提示B-VOP的顯示時間的秒數(shù)位之間的差是否等于0,或者判斷在提示B-VOP的顯示時間的秒數(shù)位和最后顯示的I/P-VOP的顯示時間的秒數(shù)位之間的差值是否等于0秒。在步驟S45中,當判斷出該變量D不等于0的情況下,即,在該變量D等于或大于1的情況下,步驟S45前進到步驟S46,在步驟S46中將其加1作為modulo_time_base的MSB。
步驟S46前進到步驟S47,在步驟S47中變量D被遞增1。然后,步驟S47返回到步驟S45。之后,步驟S45到步驟S47被反復執(zhí)行直至在步驟S45判斷該變量等于0為止。也就是,為此,在該modulo_time_base中連續(xù)為1的數(shù)是與相應于在time_code和提示B-VOP的顯示時間的秒數(shù)位之間的差或與相應于在提示B-VOP的顯示時間的秒數(shù)位和最后顯示的I/P-VOP的顯示時間的秒數(shù)位之間的差值的秒數(shù)相同的。并且在其LSD中modulo_time_base具有0。
在步驟S45中,當判斷該變量D等于0的情況下,步驟S45前進到步驟S48,在步驟S48中比該提示B-VOP的顯示時間的秒精度更精細的時間即,1毫秒單位時間被設置于VOP_time_increment中,并且該處理結(jié)束。
另一方面,根據(jù)modulo_time_base和VOP_time_increment,對于I/P-VOP該IVLC單元102以與在圖34中的上述情況中相同的方式計算I/P-VOP的顯示時間。
另外,對于B-VOP,每次接收構成GOV的B-VOP,IVLC單元102將B-VOP設置到提示B-VOP中并且根據(jù)圖38的流程圖基于該提示B-VOP的modulo_time_base和VOP_time_increment計算該提示B-VOP的顯示時間。
也就是,在該IVLC單元102中,首先,在步驟S51中判斷提示B-VOP是否是在處理目標GOV的第一I-VOP之前被顯示的。在步驟51中,當判斷出該提示B-VOP是在處理目標GOV的第一I-VOP之前被顯示的,步驟S51前進到步驟S52。在步驟S52中該處理目標GOV的time_code被設置為一變量T,并且步驟S52前進到步驟S54。
在步驟S51中,當判斷出該提示B-VOP是在處理目標GOV的第一I-VOP之后被顯示的,步驟S51前進到步驟S53。在步驟S53中,一直至最后顯示的I/P-VOP(其是在提示B-VOP之前立即被顯示的構成處理目標GOV的多個Gop中的一個)的顯示時間的秒數(shù)位的值被設置為變量T。之后,步驟S53前進到步驟S54。
在步驟S54中,判斷加到提示B-VOP的該modulo_time_base是否等于0B。在步驟S54中,當判斷加到該提示B-VOP中的modulo_time_base不等于0B的情況下,即,當判斷加到該提示B-VOP的modulo_time_base包括1的情況下,步驟S54前進到步驟S55,在步驟S55中刪除在modulo_time_base的MSB中的1。步驟S55前進到步驟S56,在步驟S56中,變量T被遞增l。然后,步驟S56返回到步驟S54。因此,步驟S54到步驟S56被反復執(zhí)行,直至在步驟S54中它被判斷為加到提示B-VOP的modulo_time_base等于0B為止。為此,變量T由相應于加到提示B-VOP的第一modulo_time_base中的1的數(shù)目的秒數(shù)而遞增。
并且在步驟S54中,當加到提示B-VOP的modulo_time_base等于0B的情況下,步驟S54前進到步驟S57,在步驟S57中由VOP_time_increment所指明的在一毫秒精度之內(nèi)的時間被加到變量T中。該相加后的值被識別為提示B-VOP的顯示時間,并且該處理結(jié)束。
因此,在本發(fā)明的該實施例中,用于編碼該編碼開始絕對時間的GOV層被引入到一編碼位流的分層結(jié)構(hierarchical constitution)中。這個GOV層可被插入在編碼位流的一合適的位置以及插入在編碼位流的開頭。另外,在該VM-6.0中規(guī)定的modole_time_base和VOP_time_increment的定義如上所述已經(jīng)產(chǎn)生變化。因此,它能夠在所有的情況下來計算每一VOP的顯示時間(絕對時間)而不管VOP的圖像類型和相鄰VOP之間的時間間隔的設置。
因此,在該編碼器中,編碼開始絕對時間以-GOV單元被編碼并且每一VOP的modulo_time_base和VOP_time_increment被編碼。該編碼數(shù)據(jù)被包括在一編碼位流中。為此,在該譯碼器中,編碼開始絕對時間按照-GOV單元能夠譯碼并且每一VOP的modulo_time_base和VOP_time_increment可被譯碼。并且每一VOP的顯示時間可被譯碼,于是能夠按照GOV單元執(zhí)行有效地隨機存取。
應注意的是如果被加到modulo_time_base的1的數(shù)目僅僅作為被轉(zhuǎn)換的同步點而增加時,則它將達到很多的位數(shù)。例如,如果從由time_code所標注的時間開始經(jīng)過了1小時(3600秒)(在這種情況下-GOV是由等效于這個時間的VOP所構成的),因為它是由3600位的1和1位的0所構成,所以modulo_time_base將達到3601位。
因此,在MPEG-4中規(guī)定了modulo_time_base使得在已經(jīng)轉(zhuǎn)換的同步點之后首先被顯示的I/P-VOP處復位。
因而,例如在圖39中所示,當-GOV是由在GOV的第一同步點(其是由GOV的time_code所表示的時間)和由time_code+1秒所標注的同步點之間所顯示的I1和B2、由time_code+1秒所標注的同步點和由time_code+2秒所標注的同步點之間所顯示的的B3和B4、由time_code+2秒所標注的同步點和由time_code+3秒所標注的同步點之間所顯示的P5和B6、由time_code+3秒所標注的同步點和由time_code+4秒所標注的同步點之間所顯示的B7、和由time_code+4秒所標注的同步點和由time code+5秒所標注的同步點之間所顯示的B8所構成的情況下,在GOV的第一同步點和由time_code+1秒所標注的同步點之間所顯示的用于I1和B2的modulo_time_bases被設置為0B。
另外,在由time_code+1秒所標注的同步點和由time_code+2秒所標注的同步點之間所顯示的用于B3和B4的modulo_time_bases被設置為10B。另外,在由time_code+2秒所標注的同步點和由time_code+3秒所標注的同步點之間所顯示的用于P5的modulo_time_base被設置為110B。
因為P5是一在GOV的第一同步點轉(zhuǎn)換至由time_code+1秒所標注的同步點之后首先顯示的P-VOP,所以用于P5的modulo_time_base被設置為0B。對于在B5之后所顯示的B6的modulo_time_base已設置在假定一參考同步點用于計算P5的顯示時間,即,由time_code+2秒所標注的同步點,在這種情況下是GOV的第一同步點。因此,用于B6的modulo_time_base被設置為0B。
對于在由time_code+3秒所標注的同步點和由time_code+4秒所標注的同步點之間所顯示的用于B7的modulo_time_base被設置為10B。對于在由time_code+4秒所標注的同步點和由time_code+5秒所標注的同步點之間所顯示的用于B8的modulo_time_base被設置為110B。
該編碼器(VLC單元36)中的處理由圖32、33和37中所描述的流程來執(zhí)行從而以上述方式來設置modulo_time_base。
在這種情況下,當在同步點轉(zhuǎn)換之后第一I/P-VOP被檢測時,在該譯碼器(IVLC單元102)中有必要將由用于I/P-VOP的modulo_time_base所表明的秒數(shù)加到time_code并且計算該顯示時間。例如,在圖39所示的情況下,I1到P5的顯示時間可通過將相應于每一VOP的modulo_time_base和該VOP_time_increment的二個秒數(shù)加到time_code而計算。但是,計算在同步點的轉(zhuǎn)換之后被首先顯示的P5之后顯示的B6至B8的顯示時間需要通過將相應于對每一VOP的modulo_time_base和VOP_time_increment的秒數(shù)加到time_code,并且此外還要加上相應于對P5的modulo_time_base的2秒。為此原因,執(zhí)行圖34、35、和38所示的處理以便以前述方式計算顯示時間。
另外,上述編碼器和譯碼器還可通過專用硬件或通過使得一計算機為執(zhí)行上述處理所執(zhí)行的程序而實現(xiàn)。
圖40示出了具有如圖3所示的編碼器或如圖15所示的譯碼器的功能的一計算機的一實施例的結(jié)構例子。
只讀存儲器(ROM)201存儲有一引導程序等。中央處理單元202通過執(zhí)行存儲在一隨機存取存儲器(RAM)203中的一硬盤(HD)206中的一程序而進行各種處理。RAM 203暫時存儲由CPU 202所執(zhí)行的程序或CPU 202處理所需要的數(shù)據(jù)。輸入部分204由一鍵盤或一鼠標構成。當所需的指令或數(shù)據(jù)被輸入時操作該輸入部分204。輸出部分205例如由一顯示器構成并且根據(jù)CPU202的控制顯示數(shù)據(jù)。HD 206存儲由CPU202所執(zhí)行的程序、被編碼的圖像數(shù)據(jù)、編碼數(shù)據(jù)(編碼位流)、譯碼圖像數(shù)據(jù)等。通信接口(I/F)207通過控制其和外部設備之間的通信而接收來自外部設備的一編碼目標的圖像數(shù)據(jù)或向外部設備發(fā)送一編碼位流。另外,通信I/F 207接收來自一外部單元的編碼位流或向外部單元發(fā)送譯碼的圖像數(shù)據(jù)。
通過這種結(jié)構的計算機的CPU 202執(zhí)行一實施上述處理的程序,這種計算機運行作為如同圖3的編碼器或圖15的譯碼器。
在本發(fā)明的實施例中,雖然VOP_time_increment表示以毫秒為單位的VOP的顯示時間,但是該VOP_time_increment還可表示如下所述的情況。也就是,在一同步點和下一同步點之間的時間被分成N點,VOP_time_increment可被設置成表示被分成相應于-VOP的顯示時間的點的第n個位置的值。在該VOP_time_increment是這樣被規(guī)定的情況下,如果N=1000,則它表示以毫秒為單位的-VOP的顯示時間。在這種情況下,雖然需要在兩相鄰同步點之間被分割的點數(shù)的信息,但被分割的點數(shù)可被預定或者包括在比VOP層要高的層中的被分割點數(shù)可被傳送到一譯碼器中。
根據(jù)本發(fā)明的圖像編碼器和圖像編碼方法,構成一圖像的每一目標序列的一層或多層被分割成多個組,并且這些組被編碼。因此,它可按組為單位對該編碼結(jié)果進行隨機存取。
根據(jù)本發(fā)明的圖像譯碼器和圖像譯碼方法,可對通過將構成該圖像的每一目標序列的一層或多層分割成多個組并且還通過編碼這些組所得到的一編碼位流進行譯碼。因此,它可按組為單位對該編碼位流進行隨機存取并且對該位流譯碼。
根據(jù)本發(fā)明的分配媒體,可對通過將構成該圖像的每一目標序列的一層或多層分割成多個組并且還通過編碼這些組所得到的一編碼位流進行分配。因此,它可按組為單位對該編碼位流進行隨機存取。
根據(jù)本發(fā)明的圖像編碼器和圖像編碼方法,產(chǎn)生表明在秒精度之內(nèi)的時間的秒精度時間信息和產(chǎn)生表明立即在I-VOP、P-VOP、或B-VOP的顯示時間之前的秒精度時間信息和比秒精度更精細的顯示時間之間的一時間周期的詳細時間信息。因此,它能夠依據(jù)秒精度時間信息和詳細時間信息識別I-VOP、P-VOP、或B-VOP的顯示時間并且根據(jù)該識別結(jié)果執(zhí)行隨機存取。
本發(fā)明的圖像譯碼器和圖像譯碼方法,依據(jù)該秒精度時間信息和詳細時間信息計算I-VOP、P-VOP、或B-VOP的顯示時間。因此,它能夠根據(jù)顯示時間執(zhí)行隨機存取。
根據(jù)本發(fā)明的分配媒體,分配一編碼位流,該編碼位流通過產(chǎn)生指明時間是在秒精度之內(nèi)的秒精度時間信息,還通過產(chǎn)生指明在I-VOP、P-VOP、或B-VOP的顯示時間之前的秒精度時間信息和比秒精度更精細的顯示時間之間的時間周期的詳細時間信息、和此外通過將秒精度時間信息和詳細時間信息加到相應的I-VOP、P-VOP、或B-VOP作為表明所示I-VOP、P-VOP、或B-VOP的顯示時間而得到。因此,它能夠根據(jù)秒精度時間信息和詳細時間信息識別I-VOP、P-VOP、或B-VOP的顯示時間并且根據(jù)該識別結(jié)果來執(zhí)行隨機存取。
本發(fā)明可用于圖像信息記錄-再生單元中,在該單元中動態(tài)圖像數(shù)據(jù)被記錄在諸如磁光盤、磁帶之類的存儲介質(zhì)中,并且該被記錄數(shù)據(jù)被再生并在一顯示器中被顯示出來。本發(fā)明還可用于電視會議系統(tǒng)、電視電話系統(tǒng)、廣播設備、和多媒體數(shù)據(jù)庫檢索系統(tǒng)中,其中動態(tài)圖像數(shù)據(jù)通過一傳送通道從一發(fā)送側(cè)傳送到一接收側(cè),并且在接收側(cè)所接收的動態(tài)數(shù)據(jù)被顯示或被編輯和記錄。
權利要求
1.在一種用來編碼構成該圖像的每一目標的圖像并用來輸出產(chǎn)生的編碼位流的圖像編碼器中,當假定由內(nèi)相關編碼所編碼的一目標是一內(nèi)相關視頻目標平面(I-VOP)、由或內(nèi)相關編碼或正向預測編碼的目標是一預測-VOP(P-VOP)、和由或內(nèi)相關編碼、正向預測編碼、反向預測編碼、或雙向預測-VOP所編碼的目標是一雙向-VOP(B-VOP)時,該圖像編碼器包括秒精度時間信息產(chǎn)生裝置,用來產(chǎn)生表明在1秒精度之內(nèi)的時間的秒精度時間信息;詳細時間信息產(chǎn)生裝置,用來產(chǎn)生表明在所述I-VOP、P-VOP、或B-VOP的立即顯示時間之前的所述秒精度時間信息和比1秒精度更精細的精度之內(nèi)的顯示時間之間的一時間周期的詳細時間信息;和相加裝置,用來將所述秒精度時間信息和詳細時間信息相加到相應的I-VOP、P-VOP、或B-VOP作為表示所述I-VOP、P-VOP、和B-VOP的顯示時間的信息。
2.如權利要求1的圖像編碼器,其中,當所述目標被分割成一個或多個組并且被編碼時,所述詳細時間信息產(chǎn)生裝置產(chǎn)生在1秒精度之內(nèi)的時間作為所述秒精度時間信息,該1秒精度之內(nèi)的時間是在該時間開始對該組的目標進行編碼時刻在所述圖像序列中的絕對時間并且還是基于所述編碼開始秒精度絕對時間。
3.如權利要求2的圖像編碼器,其中,作為對于一預定目標的秒精度時間信息,所述秒精度時間信息產(chǎn)生裝置產(chǎn)生一個在所述編碼開始秒精度絕對時間和表示在1秒精度之內(nèi)的所述預定目標的顯示時間之間的時間,或一個在所述預定目標之前立即被顯示的I-VOP或P-VOP的顯示時間和表示在1秒精度之內(nèi)的所述預定目標的顯示時間之間的時間。
4.在一種用來對構成該圖像的每一目標的圖像進行編碼并輸出該產(chǎn)生的編碼位流的圖像編碼方法中,當假定由內(nèi)相關編碼所編碼的一目標是一內(nèi)相關視頻目標平面(I-VOP)、由或內(nèi)相關編碼或正向預測編碼所編碼的目標是一預測-VOP(P-VOP)、和由或內(nèi)相關編碼、正向預測編碼、反向預測編碼、或雙向預測-VOP所編碼的目標是一雙向預測-VOP(B-VOP)時,該圖像編碼方法包括秒精度時間信息產(chǎn)生步驟,用來產(chǎn)生表明在1秒精度之內(nèi)的時間的秒精度時間信息;詳細時間信息產(chǎn)生步驟,用來產(chǎn)生表明在所述I-VOP、P-VOP、或B-VOP的立即顯示時間之前的所述秒精度信息和比1秒精度更精細的精度之內(nèi)的顯示時間之間的一時間周期的詳細時間信息;和相加步驟,用來將所述秒精度時間信息和詳細時間信息相加到相應的I-VOP、P-VOP、或B-VOP作為表示所述I-VOP、P-VOP、和B-VOP的顯示時間信息。
5.如權利要求4的圖像編碼方法,其中,當所述目標序列被分割成一個或多個組并且被編碼時,所述秒精度時間信息產(chǎn)生步驟產(chǎn)生在1秒精度之內(nèi)的時間作為所述秒精度時間信息,該1秒精度之內(nèi)的時間是在該時間開始對該組的目標進行編碼時刻在所述圖像序列中的絕對時間并且還是基于所述編碼開始秒精度絕對時間。
6.如權利要求5的圖像編碼方法,其中,作為對于一預定目標的秒精度時間信息,所述秒精度時間信息產(chǎn)生步驟產(chǎn)生一個在所述編碼開始秒精度絕對時間和表示在1秒精度之內(nèi)的所述預定目標的顯示時間之間的時間,或一個在所述預定目標之前立即被顯示的I-VOP或P-VOP的顯示時間和表示在1秒精度之內(nèi)的所述預定目標的顯示時間之間的時間。
7.在一種用來對由構成該圖像的每一目標的圖像編碼所得到的編碼位流進行譯碼的圖像譯碼器中,當假定由內(nèi)相關編碼所編碼的目標是一內(nèi)相關視頻平面(I-VOP)、由或內(nèi)相關編碼或正向預測編碼所編碼的目標是一預測-VOP(P-VOP)、和由或內(nèi)相關編碼,正向預測編碼、反向預測編碼、或雙向預測-VOP所編碼的目標是一雙向預測-VOP(B-VOP)時,和當表明在1秒精度之內(nèi)的時間的秒精度時間信息和表明一個在I-VOP、P-VOP、或B-VOP的立即顯示時間之前的秒精度時間信息和比1秒精度更精細精度之內(nèi)的顯示時間之間的時間周期的詳細時間信息已被相加到相應的I-VOP、P-VOP、或B-VOP作為表明所述顯示時間的信息時,該圖像譯碼器包括顯示時間計算裝置,用來根據(jù)所述秒精度時間信息和詳細時間信息計算所述I-VOP、P-VOP、或B-VOP的顯示時間;和譯碼裝置,用來根據(jù)相應的顯示時間譯碼所述I-VOP、P-VOP、或B-VOP。
8.如權利要求7的圖像譯碼器,其中,當所述目標序列被分割成一個或多個組并被編碼時,所述秒精度時間信息是在1秒精度之內(nèi)的時間,它是在該時間對該組的目標開始進行編碼時刻在所述圖像序列中的一絕對時間,并且利用編碼開始秒精度絕對時間作為標準表示在1秒精度之內(nèi)的時間。
9.如權利要求8的圖像譯碼器,其中,使用一個在所述編碼開始秒精度絕對時間和表示在1秒精度之內(nèi)的所述預定目標的顯示時間之間的時間,或一個在所述預定目標之前立即被顯示的I-VOP或P-VOP的顯示時間和表示在1秒精度之內(nèi)的所述預定目標的顯示時間之間的時間,作為用于預定目標的秒精度時間信息。
10.在一種用來對由構成該圖像的每一目標的圖像編碼所得到的編碼位流進行譯碼的圖像譯碼方法中,當假定由內(nèi)相關編碼所編碼的目標是一內(nèi)相關視頻目標平面(I-VOP),由或內(nèi)相關編碼或正向預測編碼所編碼的目標是一預測-VOP(P-VOP)、和由或內(nèi)相關編碼、正向預測編碼、反向預測編碼、或雙向預測-VOP所編碼的目標是一雙向預測-VOP(B-VOP)時,和當表明在1秒精度之內(nèi)的時間的秒精度時間信息和表明一個在I-VOP、P-VOP、或B-VOP的立即顯示時間之前的所述秒精度時間信息和比1秒精度更精細精度之內(nèi)的顯示時間之間的時間周期的詳細時間信息被相加到相應的I-VOP、P-VOP、或B-VOP作為表明所述顯示時間的信息時,該圖像譯碼方法包括顯示時間計算步驟,根據(jù)所述秒精度信息和詳細時間信息計算所述I-VOP、P-VOP、或B-VOP的顯示時間;和譯碼步驟,根據(jù)相應的顯示時間譯碼所述I-VOP、P-VOP、或B-VOP。
11.如權利要求10的圖像譯碼方法,其中,當所述目標序列被分割成一個或多個組時,所述秒精度時間信息是在1秒精度之內(nèi)的時間,它是在該時間對該組的目標開始進行編碼時在所述圖像序列中的一絕對時間,并且利用編碼開始秒精度絕對時間作為標準表示在1秒精度之內(nèi)的時間。
12.如權利要求11的圖像譯碼方法,其中,使用一個在所述編碼開始秒精度絕對時間和表示在1秒精度之內(nèi)的所述預定目標的顯示時間之間的時間,或一個在所述預定目標之前立即被顯示的I-VOP或P-VOP的顯示時間和表示在1秒精度之內(nèi)的所述預定目標的顯示時間之間的時間,作為用于預定目標的秒精度時間信息。
13.在一種用來對由構成該圖像的每一目標的圖像編碼所得到的編碼位流進行分配的分配媒體中,當假定由內(nèi)相關編碼所編碼的目標是一內(nèi)相關視頻目標平面(I-VOP)、由或內(nèi)相關編碼或正向預測編碼所編碼的目標是一預測-VOP(P-VOP)、和由或內(nèi)相關編碼、正向預測編碼、反向預測編碼、或雙向預測-VOP所編碼的目標是一雙向預測-VOP(B-VOP)時,該分配媒體其產(chǎn)生表明在1秒精度之內(nèi)時間的秒精度時間信息;產(chǎn)生表明在所述I-VOP、P-VOP、或B-VOP的立即顯示時間之前的秒精度時間信息和比1秒精度更精細精度之內(nèi)的顯示時間之間的時間周期的詳細時間信息;和將所述秒精度時間信息和詳細時間信息相加到相應的I-VOP、P-VOP、或B-VOP作為表明所述I-VOP、P-VOP、或B-VOP的顯示時間的信息。
14.如權利要求13的分配媒體,其中,當所述目標序列被分割成一個或多個組并且被編碼時,產(chǎn)生在1秒精度之內(nèi)的時間作為所述秒精度時間信息,該1秒精度之內(nèi)的時間是在該時間開始對該組的目標編碼時刻在所述圖像序列中的絕對時間并且還是基于所述編碼開始秒精度絕對時間。
15.如權利要求14的分配媒體,其中,作為對于一預定目標的秒精度時間信息,產(chǎn)生在所述編碼開始秒精度絕對時間和表示在1秒精度之內(nèi)的所述預定目標的顯示時間之間的時間,或一個在所述預定目標之前立即被顯示的I-VOP或P-VOP的顯示時間和表示在1秒精度之內(nèi)的所述預定目標的顯示時間之間的時間。
全文摘要
使有效的隨機存取成為可行。將安排在1秒精度之內(nèi)的編碼開始絕對時間中的一組視頻平面(GOV)層作為一編碼位流的層提供,該GOV層可以不僅插入在該編碼位流的開頭而且可插入在該編碼位流中任意位置,構成GOV層的每一視頻目標平面(VOP)的顯示時間用modulo
文檔編號H04N7/50GK1312655SQ0111234
公開日2001年9月12日 申請日期2001年4月2日 優(yōu)先權日1997年4月1日
發(fā)明者矢崎陽一, 鈴木輝彥 申請人:索尼公司