JP2001103475A - 可逆可変長コードを使用するエラーに強いビデオコーディング - Google Patents

可逆可変長コードを使用するエラーに強いビデオコーディング

Info

Publication number
JP2001103475A
JP2001103475A JP2000234898A JP2000234898A JP2001103475A JP 2001103475 A JP2001103475 A JP 2001103475A JP 2000234898 A JP2000234898 A JP 2000234898A JP 2000234898 A JP2000234898 A JP 2000234898A JP 2001103475 A JP2001103475 A JP 2001103475A
Authority
JP
Japan
Prior art keywords
data
motion
motion vector
code
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000234898A
Other languages
English (en)
Inventor
Yuji Ito
裕二 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2001103475A publication Critical patent/JP2001103475A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/69Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 【課題】MPEGのような動き補償圧縮ビデオにおける
エラーの問題を軽減する。 【解決手段】付加的コードがインターリーブされた可逆
粗製コードによってエンコードされた動きベクトルによ
る、動き補償されたビデオのエンコーディング及びデコ
ーディングであり、粗製コードはコードワードの偶数ビ
ットを占め、付加的コードはコードワードの奇数ビット
を占める。好ましい実施の形態は、テクスチャデータか
ら区切られた動きベクトルデータを含み、それは、直前
の動きベクトルを予測子として使用することによって差
分的にエンコードされた動きベクトルを伴う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本出願は、ノイズのあるチャ
ンネル及びストーレジを介して送信するための情報エン
コーディングに関し、特に、エラーに強いエンコーディ
ングに関する。ノイズのあるチャンネルを介してデータ
を送信するときに生じるエラーを緩和する2つの一般的
方法がある。自動再送要求(ARQ)と前方向エラー訂
正(FEC)である。ARQ型の緩和は、大きな遅延と
フィードバックチャンネルの欠如によって、ビデオのよ
うなマルチキャストあるいはリアルタイムアプリケーシ
ョンには適さない。そのような場合、デコーダができる
ことは、ある程度エラー訂正エンコーディングによって
保護されてはいるが、エラーによって崩壊したビットス
トリームをデコードするだけで、そのようなビットスト
リームから生成しなければならない。FECは、エラー
訂正コード(例えば、リードソロモン)による緩和を提
供する。しかしながら、訂正不可能エラーは、更なる緩
和を要求する。
【発明が解決しようとする課題】一般に、ふつう使用さ
れているビデオ圧縮方法は、時間冗長を除去するブロッ
ク基準動き補償を有する。動き補償方法は、(マクロ)
ブロック動きベクトルと対応の量子化された残余(テク
スチャ)だけをエンコードし、動きベクトルと残余の可
変長コーディング(VLC)は、コーディング効率を上
げる。しかし、可変長コーディングは、送信チャンネル
エラーに非常に敏感であり、訂正不可能エラーが生じる
と、デコーダは、エンコーダとの同期を簡単に失ってし
まう。動き補償のような、予測コーディング方法では、
更に事態が悪化する。なぜなら、ビデオフレーム内のエ
ラーは一連のビデオ全体に素早く伝わり、デコードされ
たビデオの品質を急速に劣化させる。訂正不可能エラー
にそのようなブロック基準ビデオ圧縮方法を適用する典
型的アプローチは、エラー訂正ステップ(例えば範囲外
動きベクトル、無効VLC表エントリ、あるいはブロッ
ク内の残余の無効数)と、デコーダとエンコーダとの再
同期ステップと、訂正不可能データの代わりに以前に送
信された正しいデータを反復させることによってエラー
を隠匿するステップとを備える。例えば、MPEG1−
2を使用して圧縮されたビデオは、フレームのマクロブ
ロック(MB)の各スライスの頭に再同期マーカー(開
始コード)そ有して、訂正不可能エラーは、正しくデコ
ードされた再同期マーカーのすべてのデータに生じ、破
棄される。これは、ビデオストリームの質の低下を意味
し、特にMPEGのような予測圧縮方法にとっては手痛
い。
【0002】圧縮されたビデオは、典型的には、ハフマ
ンコードのような可変長コード(VLC)表を使用して
コード化される。圧縮されたビデオデータがノイズのあ
る通信チャンネルを介して送信されると、チャンエルエ
ラーにより崩壊する。VLC表は、ビットエラーに特に
敏感であることがわかる。というのは、ビットエラーに
より、1つのコードワードが、異なる長さの別のコード
として間違って解釈されて、エラーが検出されないから
である。これにより、デコーダはエンコーダとの同期を
失う。エラーは、最後には、無効VLC表エントリによ
って検出されるが、ふつう、エラーが検出されるビット
ストリーム内の位置は、エラーが生じた位置と同じでは
ない。従って、デコーダがエラーを検出した場合、次の
再同期マーカーを捜して、これと、前の再同期マーカー
との間のすべてのデータを破棄しなければならない。こ
のように、たった1つのビットエラーが、時には、かな
りの量のデータ損失を招き、これが公知のコーディング
方式の問題となっている。ゴロムライスコード(S. W.
Golomb, “Run-length encodings,” IEEE Trans. Inf.
Theory, vol. IT-12, 399-401ページ, 1966年 7月、及
びR.F. Rice, “some practical universal noiseless
coding techniques, “Tech. Rep. JPL-79-22, Jet Pro
pulsion Laboratory, パサディナ, カリフォルニア、19
79年 3月)が、無損失画像圧縮に適用されてきた。M.
J. Weinberger, G. Seroussi, G. Sapiro, “LOCO-1:
A low complexity, context based lossless image com
pression algorithm,” Proc 1996 IEEE Data Comp. Co
nf., スノーバード、ユタ、140-149ページ、1996年 4月
を参照。これらのビデオ圧縮及び復圧縮方法は、特別な
集積回路またはプログラム可能デジタル信号プロセッサ
又はマイクロプロセッサで実現することができる。
【0003】
【課題を解決するための手段】本発明は、動きベクトル
をエンコードするのに可逆可変長コード(RVLC)を
使用することによって、MPEGのような動き補償圧縮
ビデオにおけるエラーの問題を軽減する。これらのRV
LCは、粗製コード(値の範囲を示す)と付加的ビット
(値の範囲を伴う値を示す)がインターリーブされた構
造を持ち、粗製コードは可逆性を提供する。好ましい実
施の形態によれば、データパケット内マクロブロック用
の動きベクトルデータとテクスチャ(残余)データとの
間の再同期ワードとはデータが仕切りされ、これによ
り、直前の動きベクトルを予測子として使用することに
よって簡単な差分動きベクトルエンコーディングを行う
ことができる。これは、より良好な性能という利点を有
する。
【0004】
【実施例】データ仕切り法 MPEGのような動き補償圧縮のための高いエラー隠匿
特性は、データ仕切りを使用することによって達成でき
る。2つの連続する再同期マーカーの間のデータから成
る「ビデオパケット」を考える。データ仕切りアプロー
チにおいては、各ビデオパケット内の動きデータとテク
スチャ(DCT)データが、ビットストリームにおい
て、別々にエンコードされる。別の再同期ワード(動き
再同期ワード)が動きデータとDCTDデータとの間に
埋め込まれて、動きデータの終了とDCTデータの開始
を示す。このデータ仕切りにより、デコーダは、DCT
データが検出不可能エラーによって崩壊していても、動
きデータを使用することができる。これは、圧縮ビデオ
データのパケット内の訂正不能エラーを、わずかの付加
的オーバヘッドにより、部分的に回復することができる
という利点を提供する。デコードされた動きベクトルを
適用することによって動き補償の使用によって可能とな
るエラー隠匿は、デコードされたビデオの質をずっと良
好にする。これは、対象基準圧縮にも及び、対象形状デ
ータは、形状再同期ワードによって動きデータとテクス
チャデータから区別することができる。
【0005】データ仕切りを使用する場合、ビデオパケ
ット内のデータは、図6a-cに示されたように組織され
る。図6aは、2つの再同期マーカーの間の領域を示
し、図6b, cは、動きデータ領域とテクスチャデータ領
域を、例として、詳しく示す。特に、第1領域(”Resy
nch Marker”)は、再同期マーカーであり、第2領
域(”MB No.”)は、第1マクロブロック(16x16
ブロックの画素)のフレーム内の番号であり、第3領域
(”QP”)は、ビデオパケット内のテクスチャデータ
(DCT係数)を量子化するのに使用されるデフォルト
量子化パラメータであり、第4領域(”Motion Dat
a”)は、動きデータであり、第5領域(”Motion Resy
nch Word”)は、動きデータとテクスチャデータとの間
の再同期マーカーであり、第6領域(”DCT Data”)
は、テクスチャデータであり、最後の領域(”Resynch
Marker”)は、終端再同期マーカーである。尚、再同期
マーカーは、23個の連続する0を有して、これらの再
同期ワードは、1998年2月6日に同時出願の米国特
許第09/019,787号に記載されている検索プロ
セスによって生成することができる。
【0006】図6bは、パケット内の各マクロブロック
に対する、COD領域と、MCBPC領域と、MV領域
とから成る動きデータ領域を示す。COD領域は、マク
ロブロックがコード化されているかスキップされたかを
示す(COD=0マクロブロックはコード化され、CO
D=1マクロブロックはスキップされる)。MCBPC
領域は、(1)マクロブロックのモードと、(2)マク
ロブロック内のどの色光度がコード化され、どれがスキ
ップされるかを示す。モードは、現在のマクロブロック
がINTRA(動き補償なし)、INTER(1つの1
6x16動きベクトルで動き補償される)、INTER
4V(4つの8x8動きベクトルで動き補償される)の
どれでコード化されるかを示す。もちろん、もし、マク
ロブロックがコード化されないことをCODが示せば、
MCBPC領域は存在しない。MV領域は、実際の動き
ベクトルデータであり、ベクトルは1つか4つである。
この場合も、マクロブロックがコード化されないことを
CODが示せば、MV領域は存在しない。図6cは、各
マクロブロックに対する、CBPY領域とDQUANT
領域とから成るテクスチャ(DCTデータ)領域の後
に、各マクロブロックに対するDCTデータが続く様子
を示す。CBPY領域は、マクロブロックのうちどの輝
度ブロックがコード化され、どれがスキップされるかを
示す。DQUANT領域は、マクロブロックに対する量
子化値を計算スルタメノデフォルト量子化器値(QP)
に対する差分インクリメントを示す。DCT領域は、マ
クロブロックのラン長さエンコードされた量子化DCT
係数値である。
【0007】ヘッダを伴う可逆VLC 図7は、好ましい実施の形態による、ヘッダとRVLC
を使うデータとを備えたビデオパケット内のビットスト
リームのシンタクスである。Resynch Marker,MB No., Q
P, Motion Resynchr Word領域は、図6aと同じである。
Motion VectorData領域は、図6bと同様に、動きベクト
ルデータMV1,MV2,...MVnから成り、DCT
Header Data領域は、図6cのCBPY1,DQUANT
1,...CBPYn, DQUANTnから成り、DCT Da
ta領域は、図6cのDCT1,DCT2,...,DC
Tnから成る。Header Data領域は、各マクロブロックに
対する組み合わされたCODとMCBPCデータ用の1
つのRVLCエントリから成り(図6bを参照)、Heade
r Resynchronization Wordは、Motion Resynchronizati
on Wordと同様な、一義的にデコードされりワードであ
る。このように、RVLCエントリの連なりが、Header
Data, Motion Vector Data, DCT Header Data, DCT Da
ta領域に生じる。もちろん、各領域は、以下に詳細に述
べるように、それ自身のRVLC表を持っている。RV
LCのいずれかをデコードしている間にエラーがデコー
ダによって検出されると、デコーダは次の再同期ワード
を探す(Header Resync. Word又はMotionResync. Word
又はResync. Marker)。そして、RVLCデータを逆向
きにデコードする。ここで、以下に示される4つの可能
性のあるケースの1つが生じ、デコーダは、以下の図で
ハッチを入れて示されたビットストリームの適当な部分
を破棄することにする。尚、逆向きデコーディングの
際、有効データであるかどうかの通常のチェックに加え
て、もし、前方向デコードされ且つ後方向デコードされ
たデータが、両方向デコードが明らかなエラーなしに行
われたにもかかわらず、一致しない場合は、デコーダは
ビットストリームにフラグを立てる。
【0008】1) 別々のエラーが検出された点:デー
タがエラーなしのMBが使用される。前方向デコード及
び後方向デコードにおけるエラー検出点の間のデータが
破棄される(図1のハッチ部分)。 2) 交差エラー検出点:データがエラーなしのMBが
使用される。前方向デコード及び後方向デコードにおけ
るエラー検出点の間のデータが破棄される(図2のハッ
チ部分)。 3) エラーが1方向で検出される:データが崩壊して
いるMBが破棄される(図3のハッチ部分)。前方向で
エラーがなく、逆方向でエラーがある場合も、同様に扱
われる。 4) 同じMB内でエラーが検出される:崩壊したMB
だけが破棄される(図4のハッチ部分)。RVLCと逆
向き(後方向)デコーディングを使用する上記すべての
場合において、デコーダは、エラーにないビットストリ
ームの大部分を救うことができる。
【0009】RVLCの設計 好ましい実施の形態によるパラメタ化RVLCは、画像
データのコード化において生じる確立密度関数(pdfs)
用近似最適として知られる公知の非可逆VLCと同様の
コード長分布を有する。前記RVLCはパラメタ化され
て、広範囲のpdfsに適合するようになり、従来の(非可
逆)可変長コードの効率を保持したままで、2方向デコ
ーディングの利点を得ることができる。まず、ゴロムラ
イス(Golomb-Rice)コードとしての同じ長さの分布を備
えた可逆コードは、最近、背景の項で述べたように、無
損失画像コーディングアプリケーションにおける予測エ
ラーのコーディングに適用されてきた。ゴロムライスコ
ードは、指数関数的に分布する非負の整数のコーディン
グ用に近似的に最適であり、整数nを、商と剰余として
記述する。簡単に言えば、除数はたいてい2のべき乗、
即ち、2kであり、kによってパラメタ化される。商は、
任意の大きさで、単項で表される。剰余は、[0,2k-1]の
範囲で束縛され、kビットを使用する2進形式で表され
る。例えば、k=2のゴロムライスコードでは、数9
は、110 01として表される。コードワードの「プレフィ
ックス」110は、9/22の商を値2を持つものとす
る。「サフィックス」01は、剰余の2ビット2進数で
ある。以下の表2は、パラメータkの2つの選択用の最
初の数個の整数のためのゴロムリアスコードを示す。
【0010】等しい長さの可逆コードを得るには、単
に、各ゴロムライスコードワードのプレフィックスを、
1つの“1”で始まり1つの“1”で終わり、その他の
すべてのビットが“0”であるプレフィックスで置換す
ればよい。例外は、プレフィックスの長さが1である場
合であり、その場合は、“0”に設定される。RVLC
におけるサフィックスは、対応のボロムライスコードに
おけるサフィックスと同じである。これらの規則に従っ
て構成されたRVLCは、表1において、k=1及び k=2
の時のものが示されており、表から明らかなように、R
VLCと対応のゴロムライスコードの長さ分布は等し
い。コードワード全体に対して、対称的であるのはプレ
フィックスだけであるが、これらのコードは、簡単に、
双方向でデコードすることができる。なぜなら、コード
ワードの非可逆部分は固定長だからである。
【0011】各長さ当たりのコードワードの数が一定で
あるゴロムライスコードに対して、所与の長さ当たりの
コードワードの数が、長さと共に指数関数的に増加する
コードを構成することも可能である。そのようなコード
を使用するラン長さの圧縮は、Teuholaの論文(J. Teuho
la, “A compression method for clustered bit-vecto
rs,” Information Processing Letters, vol. pp308-3
11ページ、1978年10月)に記載され、そこでは、
「指数関数的ゴロム」コーディングという用語が使用さ
れ得ている。指数関数的ゴロムコードは、典型的指数関
数的pdfsよりピークが高くテールが広いpdfsに適合す
る。そのような pdfは、量子化された画像変換において
生じるラン長さがコード化されたデータに非常に良く適
合する。指数関数的ゴロムは、コードワードのサフィッ
クス内のビット数kに従ってパラメタ化することができ
る。表2は、k=1,2のときの指数関数的ゴロムコードを
示す。間接的にではあるが、指数関数的ゴロムコードと
同じ長さ分布を持つ可逆コードを構成することが可能で
ある。これをするには、やはり、プレフィクスの最初と
最後のビットは“1”であるという条件が必要である。
前記と同様に、長さ1のプレフィックスは“0”に設定
される。最初と最後のビットを除いて、プレフィックス
内のすべての奇数番目のビットは“0”でなければなら
ない。例えば、長さ5のすべてのプレフィックスにおい
て、第3ビットは“0”であり、第1と第5ビットは
“1”である。偶数番目のビットは任意に変えることが
でき、奇数lの長さのプレフィックス2(l-1)/2が可能
である。コードを構成する際、各プレフィックスは、長
さkの明示的サフィックス2kと連結される。表2は、
これらの規則に従って構成されたRVLCを示す。ま
た、明らかなように、RVLCの長さ分布は、対応の可
逆コードの長さ分布と同様である。
【0012】
【0013】
【0014】完全なコードワード票の設計は、以下のよ
うに行う。 1. 最もふつうに生じるイベントの確率表を作る。 2. 各kについて、対応のRVLC表からのコードワ
ードをイベントに割り当て、高い確率のイベントに短い
コードワードをマップする。次に、最短平均長さである
kを選択する。 この方法を使用して、(1)ヘッダデータ(COD+M
CBPC)(INTRA,INTERフレームの両方に
対して)、(2)動きベクトルデータ、(3)INTR
AフレームDCTデータ、(4)INTERフレームD
CTデータのそれぞれに対して、RVLCが設計され
た。2つのクラスのRVLCを使用する。第1クラスの
RVLCは、ヘッダ情報(COD+MCBPC)をコー
ド化するのに使用される。1つのRVLCはINTRA
フレームに使用され、1つがINTERフレームに使用
される。これらh、下の表3及び表4に示される。
【0015】
【0016】
【0017】第2クラスのRVLCは、パラメータkに
よってパラメタ化することができ、量子化されたDCT
係数のエントロピコーディング、及び、動きベクトルデ
ータのコーディングに使用される。表7は、DCT係数
に対してk=1及び k=2のときに最もふつうに生じるイベ
ントと、コードワードを示す。表中、最終ビット“s”
は、レベルの符号を示し、”0“は正、”1“は負であ
る。残りのイベントは、図5に示されたように、固定長
コード(FLC)でコード化される。
【0018】
【0019】
【0020】
【0021】前記好ましい実施の形態が使用した好まし
い実施の形態のRVLCは、好ましい実施の形態のシン
タクス内にあり、そこにおいて、動きデータは、ヘッダ
データと動きベクトルデータとの仕切られ、Header Res
ynchronization Wordによって分けられている。好まし
い実施の形態のRVLCは、図6cのDCTデータ(D
CT1,DCT2,...DCTn)用の表7のコード
を使用することによって、図6aにおけるようなデータ
仕切りを伴って使用することもできる。更に、RVLC
は、CBPYプラスDQUANT領域をコード化するの
に使用することができる。別の実施の形態は、分離され
たヘッダデータとヘッダ再同期ワードを使用することな
しに、表8のRVLCを、動きベクトルデータのために
使用する。最後に、その他の再同期マーカー用に、他の
RVLCを類似の方法で作ることができる。例えば、以
下の表9乃至11は、前記表4及び7及び8の他のバー
ジョンである。
【0022】
【0023】
【0024】
【0025】対象物基準圧縮 前記RVLC及びビットストリームシンタクスは、領域
(典型的には、動きデータの前にある)に対象物形状デ
ータを含むだけで、また、所望すれば、形状データを動
きデータから分離する Shape Resynchronization Word
を伴って、対象物基準圧縮に拡張することができる。更なる好ましい実施の形態 更なる好ましい実施の形態は、テクスチャデータから分
離されたより重要な動きベクトルデータを伴う可逆可変
長コードを使用し、動きベクトル予測子の現在の状態
(動きベクトル予測子状態と呼ばれる)を運ぶ新規シン
タクスエレメントを加える。これは、前方向デコーディ
ング及び後方向デコーディングにとって、動きベクトル
が正しくデコードされたかどうかを確認するのに役立
つ。動きベクトル予測子状態エレメントの数は、チャン
ネル条件に依存し、エラーレートが高くなると、それだ
け多くのエレメントが使用される。特に、2つのタピプ
のビデオパケットがある。I−VOP用のintraビデオ
パケットと、非intraVOP用のinterビデオパケットで
ある。図8は、非intraVOPにおけるinterビデオパケ
ットの構造を示す。尚、intraビデオパケットのコーデ
ィングは、MPEG−4VM7.0と同じでよい。各パ
ケットの頭の圧縮データにパケットヘッダが挿入され
る。パケットヘッダは、一義的17ビット再同期マーカ
ー(図8における”Resync. Marker”で、0000 0000 00
00 0000 1でよい)から成り、その後に、現在のマクロ
ブロック番号(”MB No.”であり、VOP内のマクロブ
ロックの数は最大で2N)を示すNビットと、量子化パ
ラメータ(”QP”)用5ビットと、ヘッダ拡張コードが
続く。動きデータ及びテクスチャヘッダ以外のすべての
シンタクスエレメントは、VM7.0におけるのと同じ
でよい。
【0026】図9は、動きデータ領域の構造を示し、図
10は、動きベクトル用の可変長コードのアセンブリを
示し、そこでは、”motion_type_flag”が16x16マ
クロブロック動き補償を、8x8ブロック動き補償から
区別している。可逆デコーディングを可能にするため
に、ビデオパケット内の最後のマクロブロックは、”sk
ipped macroblock”としてはコード化されない。表12
は、mv_vlcコーディングを示す。元々、各mv_vlcは、2
つの部分、粗製コードと付加コードとから成る。粗製コ
ードは、偶数番目ビットに現れ、“0”、“11”、
“101”のように可逆であり、一方、付加コードは、
奇数番号のビットの連なりである。このようにして、mv
_vlcは、一義的に構成することができる。また、VLC
のデコードの方向がどちらであっても、偶数番目のビッ
ト内の粗製コードを探すことによってコード境界を捜す
ことができる。好ましい実施の形態において、粗製コー
ドは2方向デコーディングを可能にするマーカーである
だけでなく、ラフな情報、即ち、VLCによって表現さ
れるべき値の範囲を担持する意味のあるコードでもあ
る。
【0027】動きベクトルコーディングのシンタクス
は、以下のとおりである。 ここにおいて、mv_vlc(水平)及びmv_vlc(垂直)は、
表12から取られ、1乃至27ビット持つことができ、
motion_type_flagは、図10に示されたように、1ビッ
トである。 動きデータのシンタクスは、以下のとおりである。ここ
において、最初のMB_Incは実施にはMB-Inc+1であり、MV
s_Motion typeは、図10におけると同様に、16x1
6動き補償と8x8動き補償との間の区別をし、MB_Inc
は1乃至13ビット有し、motion_markerは、”1100 00
00 0000 00001”の17ビットである。MB_Incは、VM
7.0で使用されるCODの代わりをする。MB-Incは、
以前にコード化されたマクロブロックから、いくつのマ
クロブロックがスキップされるか、すなわち、インクリ
メントされるかを示す。表13は、MB_Inc VLCコー
ドを示す。尚、パケット内のMV_Inc(”first_MB_Inc”
として区別されている)は、パケット内のどのマクロブ
ロックが最初にコード化されるかを示す。first_MB_Inc
は、表13についてもコード化されるので、その値は、
以前にコード化されたマクロブロックがパケット内の m
acroblock_numberによって指定されるもの(MB_N0.)に対
応するという仮定の上で、実際のインクリメントプラス
1を意味する。
【0028】エラーが広がるのを防止するために、1次
元動き予測が使用される。”MV predictor status”
は、MV予測子の水平及び垂直成分の値を表す。MV予
測子状態は、先行するMB_Inc=“000”によって知らされ
るVLCを使用して16x16動き補償モードとしてコ
ード化される。イベント即ちMB_Inc=“000”の直前のマ
クロブロックのMV予測子においてその値がコード化さ
れる。motion_markerの直前の少なくとも1つのMV状
態が、両方向におけるデコーディングを可能とするため
に挿入されなければならず、MV予測子は、必要なだけ
置かれて、エラーに対する耐性を高める。図11は、動
きベクトルの予測コーディングのための規則を示す。各
水平及び垂直成分に対してMV予測子が1つだけ使用さ
れる。MV予測子は、スキップされるマクロブロックと
してリセットされることはない。16x16動き補償の
MVは、エラー隠匿のために、intraマクロブロックの
ためにもコード化される。このMVは、テクスチャデー
タがデコードできない場合に、動き補償信号を得るため
に使用される。動きベクトル差異MVD(0,0)が、
このモードのために、コア実験でコード化される。
【0029】macroblock_type(MB_type)用シンタクスは
以下のとおりである。 ここにおいて、MCBPCは、表14における1乃至8
ビットを有し、CBPYひゃVM7.0におけると同様
に2乃至6ビット有し、dquantは、VM7.0における
と同様に2ビット有する。以下のエラー条件下でのデコ
ーディング動作のために、デコーダは次の再同期点、re
synch marker又はcommon state code (即ち、23ビッ
トの“0”+“1”)のいずれかで、ビットストリーム
において先に出会う方において再同期する。 (1) 違法VLCが受信される。 (2) 1つのブロックで、64個以上のDCT係数が
デコードされる。 (3) 一貫性のないヘッダ情報(即ち、範囲外のQ
P,範囲外のMB_numberなど) (4) resynch marker又はVOP状態コードが崩壊して
いる。 (5) 現在のパケット内のマクロブロックをデコード
している間にエラーが検出されないが、デコーダによっ
て保持される現在のマクロブロックカウントが現在のパ
ケットヘッダのNMBと適合しない。(NMBは、ビデ
オパケット内のマクロブロックの数を示し、現在のビデ
オパケットと次のビデオパケットとの間のマクロブロッ
ク番号(MB No.)内の差異として計算される。
【0030】後続のパケットが再同期の前に失われた場
合は、それらのパケットは、スキップされたマクロブロ
ックによって置きかえられる。エラーがテクスチャデー
タ部で検出され(且つ動き部ではエラーが検出されな
い)場合、NMB動きベクトルを使用して動き補償を行
う。そのパケット内のすべてのマクロブロックのテクス
チャ部分は破棄され、デコーダは、次のresync marker
に再同期する。ビットストリームの動き部でもテクスチ
ャ部でもエラーが検出されないが、現在のパケットのす
べてのマクロブロックをデコードした後で再同期マーカ
ーが見つからない場合、エラーのフラグを立てて、現在
パケット内のすべてのマクロブロックのテクスチャ部だ
けが破棄される。その場合も、NMBマクロブロックに
対しては、補償が適用される。MBA[k]が現在のパケット
内の第1マクロブロックの番号を示し、MBA[k+1]が次の
パケット内の第1マクロブロックの番号を示すとする。
パケットの動き部でもテクスチャ部でもエラーが検出さ
れない場合、付加的チェックが行われ、次の再同期マー
カーが正しく見つけられる。この場合、MBA[k+1]-MBA
[k]がNMBに等しいかどうかチェックする。等しくな
ければ、次のビデオパケット(MBA[k+1]に対応するパケ
ット)内のデータを破棄する。従来のデータ仕切りで
は、動きデータ部内でエラーが検出されると、デコーダ
はパケット全体を破棄し、次に正しく読まれた resync
marker又は VOP開始コードに再同期する。一方、ここに
提案される方法のデコーダは、以下のセクションで記載
されるようにMV回復を行い、回復されたMVを訴えて
(suing),動き補償を行う。
【0031】このプロセスを例として示す。動きデータ
のシーケンスは、以下のとおりであるとする。 ここにおいては、簡単にするために、MVの水平成分だ
けが扱われ、MB_Incは考慮されない。この動きデータ領
域において実際にコード化されるのは7つの動きベクト
ルであり、これらは、動きベクトル差分(MVD)、動
きベクトル予測子(P)、及び実際の動きベクトル(M
V)として表現される。最後のMV値(即ち、この例で
は、MV[7]=24)がMV予測子状態として記憶されるこ
ととする。この情報は、前方向デコーディングにおける
と同様に後方向デコーディングにおいて使用される。前
方向ディコーディングにおいて 前方向ディコーディングにおいて
【0032】上記において、MVDはビットストリーム
から得られる。MVD及びパケットの頭において0であ
ると仮定されるP[0]は、前方向デコーディングにおいて
MVを構成することができ、一方、予測子状態として埋
め込まれるべきMVDも、後方向デコーディングにおい
てMVを回復することができる。、このようにして、M
Vは、両方向において正しくデコードすることができ
る。次に、MB No.1においてエラーが発生し、MVDデ
ータ”1101001” が“1101011”に変わったと仮定す
る。デコーダは、これらの間違ったビットをMVD[1]=-7
に翻訳する。こうして、デコーダでは、次のようなMV
が得られる。
【0033】尚、8つのうちの1つのビットエラーによ
って、MVはスポイルされ、そのエラーはまだ検出され
ていない。この例では、間違ってビットが間違ったVL
Cコードワードとして解釈される可能性が高い。このよ
うに、エラーは、VLCコーディング文脈において、検
出されずに広がることがある。好ましい実施の形態によ
ると、これらのMVは次のようにコード化される。1つ
のエントリランがMV予測子状態を意味する。 好ましい実施の形態によるデコーダは、3つのステップ
で動作する。エラー検出と、再同期と、エラー回復及び
エラー隠匿とである。これらのステップは、上記例と同
じ位置でビットエラーが生じるとして、次のように表現
される。
【0034】ステップ1.実際のデコーディングにおけ
るMV予測子がMV予測子状態と異なる場合にエラーが
検出される。この例では、実際のデコーディングにおけ
るMV予測子は16であり、一方、MV予測子状態は3
0である。尚、違法VLCコードワードが見つかった場
合にもエラーが検出される。 ステップ2.ひとたびエラーが検出されると、デコーダ
は、モニタマーカーを探すことによって、再同期点を探
す。
【0035】ステップ3.モニタマーカの直前のMV予
測子状態において逆方向デコーディングが開始される。
このプロセスは、次の2つのイベントのうちいずれかが
生じるまで続く。(1)MV予測子状態が逆方向デコー
ディングにおけるMV予測子と異なる。(2)プロセス
が、エラーの検出されたMBに到達する(このMVは処
理されない)。逆方向デコーディングが終了すると、回
復されたデータは正しい情報として記憶される。 ステップ4.前方向デコーディングにおいてMV予測子
状態によって確認されていないデータは、浄化されなけ
ればならない。この具体的な例において、MVは0にリ
セットされる。尚、このプロセスは、更なる調査に基づ
いて最適化してもよい。 動きデータに続くテクスチャデータは、そのように扱わ
なければならない。エラー隠匿によって処理されたMB
に対応する予測エラー信号は破棄される。ただし、MB
がintraコード化され、正しくデコードされたものであ
れば、そのMBは、そのMBに対する動きデータが首尾
よく回復されたとしても、intraMBとして表現され
る。
【0036】
【0037】
【0038】(関連出願)本出願は、1999年8月2
日出願の米国仮特許出願第60/146,888号からの優先権を
主張する。1998年3月18日出願の共願の米国特許
出願第09/040,676号(ドケット25802)は、関連主
題を開示する。これらの出願の出願人は同一人物であ
る。
【0039】以上の説明に関して更に以下の項を開示す
る。 (1)マクロブロック動きベクトルとテクスチャデータ
とを含むパケットを備えたタイプの動き補償ビデオであ
って、(a)可逆粗製コードプラスインターリーブされ
た付加的コードビットを含むコードワードによってエン
コードされた動きベクトルを備えるビデオ。 (2)第1項記載のビデオであって、(a)動きベクト
ル成分が、先行する動きベクトル成分の予測子と共に差
分的にエンコードされることを特徴とするビデオ。 (3)第2項記載のビデオであって、(a)動きベクト
ル成分コードワードが表12に記載されているものであ
ることを特徴とするビデオ。 (4)第1項記載のビデオであって、(a)粗製コード
が値の範囲を示し、(b)付加的ビットが値の範囲を伴
う値を示すことを特徴とするビデオ。 (5)マクロブロック動きベクトルとテクスチャデータ
とを含むパケットを備えたタイプの動き補償ビデオのた
めのデコーダであって、(a)可逆粗製コードプラスイ
ンターリーブされた付加的コードビットを含むコードワ
ードによってエンコードされた動きベクトルを検出すべ
く動作するデコーダを備えるデコーダ。 (6)マクロブロック動きベクトルとテクスチャデータ
とを含むパケットを備えたタイプの動き補償ビデオのた
めのエンコーダであって、(a)可逆粗製コードプラスイ
ンターリーブされた付加的コードビットを含むコードワ
ードによって動きベクトルをエンコードすべく動作する
デコーダを備えるエンコーダ。
【図面の簡単な説明】
【図1】可逆コーディングを伴うエラー検出を示す。
【図2】可逆コーディングを伴うエラー検出を示す。
【図3】可逆コーディングを伴うエラー検出を示す。
【図4】可逆コーディングを伴うエラー検出を示す。
【図5】固定長コード表である。
【図6】a乃至cは、データ仕切り用ビットストリームシ
ンタクスを示す。
【図7】データ及びヘッダ仕切り用ビットストリームシ
ンタクスを示す。
【図8】別のビットストリームシンタクスを示す。
【図9】別のビットストリームシンタクスを示す。
【図10】動きベクトルコーディングを示す。
【図11】動きベクトル予測を示す。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】マクロブロック動きベクトルとテクスチャ
    データとを含むパケットを備えた動き補償ビデオであっ
    て、 (a) 可逆粗製コードプラスインターリーブされた付
    加的コードビットを含むコードワードによってエンコー
    ドされた動きベクトルを備えるビデオ。
JP2000234898A 1999-08-02 2000-08-02 可逆可変長コードを使用するエラーに強いビデオコーディング Pending JP2001103475A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US146888 1998-09-03
US14688899P 1999-08-02 1999-08-02

Publications (1)

Publication Number Publication Date
JP2001103475A true JP2001103475A (ja) 2001-04-13

Family

ID=22519434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000234898A Pending JP2001103475A (ja) 1999-08-02 2000-08-02 可逆可変長コードを使用するエラーに強いビデオコーディング

Country Status (3)

Country Link
EP (1) EP1075148A3 (ja)
JP (1) JP2001103475A (ja)
KR (1) KR20010030046A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012200005A (ja) * 2001-07-19 2012-10-18 Qualcomm Inc ディジタル画像および音声データを無損失に復号化するためのシステムおよび方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003013147A1 (en) * 2001-08-02 2003-02-13 Koninklijke Philips Electronics N.V. Video coding method
EP1477028A2 (en) * 2002-02-21 2004-11-17 BRITISH TELECOMMUNICATIONS public limited company Video processing
US10536701B2 (en) 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1267582B1 (en) * 1995-03-15 2006-05-17 Kabushiki Kaisha Toshiba Moving picture coding System, and variable-length coding system
EP0861001B1 (en) * 1997-02-07 2012-05-23 Texas Instruments Incorporated Error resilient video encoding
CN1182723C (zh) * 1997-12-01 2004-12-29 三星电子株式会社 一种视频数据的编码方法及其装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012200005A (ja) * 2001-07-19 2012-10-18 Qualcomm Inc ディジタル画像および音声データを無損失に復号化するためのシステムおよび方法
JP2015039176A (ja) * 2001-07-19 2015-02-26 クゥアルコム・インコーポレイテッドQualcomm Incorporated ディジタル画像および音声データを無損失に復号化するためのシステムおよび方法

Also Published As

Publication number Publication date
EP1075148A3 (en) 2005-08-24
EP1075148A2 (en) 2001-02-07
KR20010030046A (ko) 2001-04-16

Similar Documents

Publication Publication Date Title
US6621869B2 (en) Error resilient video coding using reversible variable length codes (RVLCs)
EP0861001B1 (en) Error resilient video encoding
US6552673B2 (en) Efficient table access for reversible variable length code decoding using a hash function
Redmill et al. The EREC: An error-resilient technique for coding variable-length blocks of data
EP1856915B1 (en) Method and apparatus for error recovery using intra-slice resynchronization points
US7564384B2 (en) Binarizing method and device thereof
JP3053781B2 (ja) 動画像圧縮符号の復号方法及び復号装置
KR100585710B1 (ko) 가변길이 동영상 부호화 방법
US20050089102A1 (en) Video processing
JP2001103475A (ja) 可逆可変長コードを使用するエラーに強いビデオコーディング
US6356661B1 (en) Method and device for robust decoding of header information in macroblock-based compressed video data
US20050123047A1 (en) Video processing
JPH10145789A (ja) 動画像符号化方法及び動画像復号方法
WO2002067591A2 (en) Video bitstream washer
Gao et al. Error-resilient H. 264/AVC video transmission using two-way decodable variable length data block
Yan et al. Error robust coding for the FGS enhancement bitstream
Fang et al. Block-interleaved error-resilient entropy coding
US20050041877A1 (en) Method for transmitting image or video data encoded using variable length codes and corresponding transmitter
Chen et al. Error control for H. 263 video transmission over wireless channels
KR100644604B1 (ko) 오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치
JP3579412B2 (ja) 可変長復号化方法及び装置
EP1349398A1 (en) Video processing
Swann Resilient video coding for noisy channels
Lee et al. A diversity-based scheme for reducing error propagation in video
Redmill et al. Resilient video compression using absolute value coding