JP3689334B2 - ビデオシーケンス内の複数のビデオフレームを復号化する方法 - Google Patents

ビデオシーケンス内の複数のビデオフレームを復号化する方法 Download PDF

Info

Publication number
JP3689334B2
JP3689334B2 JP2000527094A JP2000527094A JP3689334B2 JP 3689334 B2 JP3689334 B2 JP 3689334B2 JP 2000527094 A JP2000527094 A JP 2000527094A JP 2000527094 A JP2000527094 A JP 2000527094A JP 3689334 B2 JP3689334 B2 JP 3689334B2
Authority
JP
Japan
Prior art keywords
macroblock
frame
video
bitstream
bits
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.)
Expired - Lifetime
Application number
JP2000527094A
Other languages
English (en)
Other versions
JP2002500483A (ja
Inventor
ミン−チェー リー
ウェイ−ジェ チェン
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002500483A publication Critical patent/JP2002500483A/ja
Application granted granted Critical
Publication of JP3689334B2 publication Critical patent/JP3689334B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

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)
  • Color Television Systems (AREA)

Description

【0001】
(発明の分野)
本発明は、ビデオ符号化、具体的にはビデオ符号器とビデオ復号器に使用される改良型ビデオ符号化方法に関する。
【0002】
(発明の背景)
アナログビデオ信号に基づくフルモーションビデオディスプレイは、長い間テレビという形で使用可能であった。近年コンピュータの処理能力が向上して入手しやすくなったことにより、デジタルビデオ信号に基づくフルモーションビデオディスプレイはより広範囲に利用できるようになりつつある。デジタルビデオシステムによって、従来型アナログビデオシステムを、フルモーションビデオシーケンスの作成、変更、送信、保存、および再生という点で有意義に改良することができる。
【0003】
デジタルビデオディスプレイには、30〜75Hzの周波数で連続的に再生または描画される数多くのイメージフレームが含まれる。各イメージフレームは、特定のシステムの表示解像度に基づく配列された画素により形成された静止画像である。たとえば、VHSベースのシステムには320×480画素の表示解像度があり、NTSCベースのシステムには720×486画素の表示解像度があり、開発中の高精細度テレビジョン(HDTV)システムには1360×1024画素の表示解像度がある。
【0004】
ビデオシーケンスに含まれる未処理デジタル情報の量は膨大である。従来型のパーソナルコンピュータ装置では、このように大量のビデオ情報を保存、送信することは不可能である。たとえば、320×480画素の解像度を有する、比較的低解像度のVHSイメージフォーマットのデジタル化された形態について検討する。この解像度における上映時間2時間の省略なし映画は、100ギガバイトのデジタルビデオ情報に相当する。比較すると、従来型コンパクト光ディスクには約0.6ギガバイトの容量があり、磁気ハードディスクには1〜2ギガバイトの容量があり、開発中のコンパクト光ディスクには最大8ギガバイトの容量がある。
【0005】
そのような大量のデジタルビデオ情報を保存または送信する際の制限に対処するために、MPEG−1、MPEG−2、およびH.26Xなどを含む様々なビデオ圧縮規格またはプロセスが確立された。これらのビデオ圧縮技術では、時間相関関係またはインターフレーム(interframe)相関関係と呼ばれる連続したイメージフレーム間での類似性を利用して、インターフレーム圧縮を行う。インターフレーム圧縮では、動画データとエラー信号を使用してフレーム間の変化を符号化する。
【0006】
さらに、従来型ビデオ圧縮技術では、空間相関関係またはイントラフレーム(intraframe)相関関係と呼ばれるイメージフレーム内の類似性を利用してイントラフレーム圧縮を行う。イントラフレーム圧縮では、イメージフレーム内のイメージサンプルが圧縮される。イントラフレーム圧縮は、離散コサイン変換(DCT)符号化などの、静止画像を圧縮する従来型プロセスに基づく。この種類の符号化は、時として「テクスチャ」または「変換」符号化と呼ばれる。一般に、「テクスチャ」は、クロミナンス(chrominance)値と輝度値の配列またはアルファ(不透明度)値の配列などの、イメージサンプル値の2次元配列を意味する。この文脈での用語「変換」は、イメージサンプルが符号化プロセス中に空間周波数成分に変換される方法を意味する。用語「変換」のこのような使用は、一部のインターフレーム圧縮方法におけるシーンの変化の推定に使用される幾何学的変換と区別する必要がある。
【0007】
インターフレーム圧縮は、一般に動き推定と移動補償を利用してフレーム間のシーンの変化を符号化する。動き推定は、フレーム間におけるイメージサンプル(たとえば、画素)の動きを推定するためのプロセスである。動き推定を使用して、符号器は1つのフレーム内の画素ブロックをもう1つのフレーム内の対応する画素と照合しようと試みる。所与のサーチエリア内で最も類似したブロックを見付けた後、対応する画素がある画素位置の位置の変化は、運動ベクトルのような動きデータとして見積もられ表現される。移動補償は、予測されるイメージを確定してから、予測されるイメージと最初のイメージとの間のエラーを計算するプロセスである。移動補償を使用して、符号器は動きデータをイメージに適用して、予測されるイメージを計算する。予測されるイメージと入力イメージとの間の相違は、エラー信号と呼ばれる。エラー信号は、単にイメージサンプル値間における相違を表す値の配列であるため、イメージサンプルのイントラフレーム符号化に使用される方法と同じテクスチャ符号化方法を使用して圧縮することができる。
【0008】
特定の実施では相違しているが、MPEG−1、MPEG−2、およびH.26Xのビデオ圧縮規格にはいくつかの類似点がある。MPEG−2ビデオ圧縮規格に関する以下の記述は、一般に他の規格についても当てはまる。
【0009】
MPEG−2は、ビデオイメージ内にある正方形ブロックまたは画素の配列に基づくインターフレーム圧縮とイントラフレーム圧縮を提供する。ビデオイメージは、16×16画素の寸法を有する、マクロブロック(macroblock)と呼ばれるイメージサンプルブロックに分割される。MPEG−2では、マクロブロックは、4つの輝度ブロック(各ブロックは8×8輝度サンプル(Y))と、2つのクロミナンスブロック(CbとCrごとに1つの8×8サンプルブロック)から成る。
【0010】
MPEG−2では、インターフレーム符号化はマクロブロックで実行される。MPEG−2符号器は、動き推定と移動補償を実行して運動ベクトルとブロックエラー信号を計算する。各ブロックMNに関しては、イメージフレームNで、次に続くビデオフレームのイメージN+1または先行するイメージフレームN−1をまたがってサーチが実行され(すなわち、双方向に)、最も類似したブロックMN+1またはMN-1をそれぞれ特定する。ブロックMNを基準とする最も類似したブロックの位置は、運動ベクトル(DX、DY)によって符号化される。運動ベクトルは、次に予測されるサンプル値のブロックの計算に使用される。これらの予測されるサンプル値はブロックMNと比較され、ブロックエラー信号が求められる。エラー信号は、離散コサイン変換(DCT)符号化などのテクスチャ符号化方法を使用して圧縮される。
【0011】
オブジェクトベースのビデオ符号化技術は、従来型フレームベースの符号化規格の改良として提案された。オブジェクトベースの符号化では、任意の形成済みイメージの特徴は、「セグメンテーション」と呼ばれる方法を使用してビデオシーケンス内でフレームから分離される。ビデオオブジェクトまたは「セグメント」は、別個に符号化される。オブジェクトベースの符号化は、連続したフレーム内ではビデオオブジェクト間のインターフレーム相関関係が増すため、圧縮率を改善することができる。さらに、オブジェクトベースの符号化は、ビデオシーケンス内でオブジェクトにアクセスして追跡することが要求されるさまざまなアプリケーションにとって有利である。
【0012】
MPEG−4規格に対して提案されたオブジェクトベースのビデオ符号化方法では、ビデオオブジェクトの形状、動き、およびテクスチャは別個に符号化される。オブジェクトの形状は、ビデオフレーム内にある任意の形成済みオブジェクトの境界を定義するバイナリまたはアルファマスクによって表される。オブジェクトの動きは、MPEG−2の動きデータに類似している。ただし、矩形フレームからセグメント化されたオブジェクトの任意の形成済みイメージに適用することを例外とする。動き推定と移動補償は、フレーム全体というよりも「ビデオオブジェクト平面」のブロック上で実行される。ビデオオブジェクト平面は、単一フレーム内にあるオブジェクトの形成済みイメージの名前である。
【0013】
ビデオオブジェクトのテクスチャは、オブジェクトの形状の範囲に収まる、ビデオオブジェクト平面内のイメージサンプル情報である。オブジェクトのイメージサンプルとエラー信号のテクスチャ符号化は、フレームベースの符号化方法と同様のテクスチャ符号化方法を使用して実行される。たとえば、セグメント化されたイメージは、マクロブロックによって形成された境界矩形に組み込むことができる。境界矩形によって形成された矩形イメージはまさに矩形フレームのように圧縮することができる。ただし、例外は透明のマクロブロックは符号化の必要がないことである。部分的に透明のブロックは、「パディング(padding)」と呼ばれる技術におけるサンプル値を有するオブジェクトの形状境界から外れた、ブロックの部分に組み込まれた後に符号化される。
【0014】
MPEG−2やH26Xなどのフレームベースの符号化技術、およびMPEG−4について提案されるオブジェクトベースの符号化技術は、マクロブロック上でイントラフレーム符号化とインターフレーム符号化が実行される場合の符号化技術と類似している。これらの技術に使用されるインターフレーム符号化フォーマットでは、インターフレームマクロブロックが符号化されるかどうかを示す特別なビットが使用される。この特別なビットは、時々CODビットまたは「非符号化」ビットと呼ばれる。一貫性を持たせるために、このタイプのパラメータをCODビットまたはCODパラメータと呼ぶ。CODビットは、符号化されたマクロブロックに動きデータとテクスチャ符号化エラーデータが含まれるかどうかを示す。動きデータとエラー信号データが0である場合、CODビットはマクロブロックの符号化に必要な情報を削減する。その理由は、運動ベクトルとテクスチャデータが符号化されないことを示すために送信するのは、複数の追加ビットではなく1ビットのみだからである。
【0015】
CODビットに加えて、マクロブロックに使用する符号化構文には、マクロブロックのためにクロミナンスと輝度の符号化変換係数が送信されるかどうかを示す、符号化ブロックパラメータ(CBP)が含まれる。変換係数がブロックに対してすべて0である場合、ブロックのテクスチャデータを送信する必要はない。クロミナンスの符号化ブロックパラメータ(CBPC)は2ビットであり、符号化されたテクスチャデータが2つのクロミナンスブロックにそれぞれ送信されるかどうかを示す。輝度の符号化ブロックパターン(CBPY)は4ビットであり、符号化テクスチャデータが4つの輝度ブロックにそれぞれ送信されるかどうかを示す。
【0016】
CBPCビットは、マクロブロックの量子化の種類に関する情報を提供する別のフラグとともに符号化される。これらのフラグは組み合わせることによってMCBPCと呼ばれるパラメータを形成し、MCBPCはハフマン符号化または算術符号化などのエントロピー(entropy)符号化方法を使用してエントロピー符号化される。さらに、CBPYフラグも、ハフマン符号化または算術符号化のいずれかを使用してエントロピー符号化される。
【0017】
CODビットは、動きが非常に小さいシーンを符号化する場合には利点があるが、頻繁に変化したり、0運動ベクトル(すなわち、0動きを示す運動ベクトル)を有するマクロブロックがほんの僅かであるシーンにとっては非効率である。したがって、これらのタイプのシーンに対してはCODビットをより効率的に適用する必要がある。
【0018】
CBPYの可変長コードは、イントラフレームマクロブロックには非符号化ブロックよりも多くの符号化輝度ブロックが含まれる(インターマクロ(inter-Macro)ブロックではその反対も真である)という仮定に基づく。この仮定は場合によっては成り立たず、その結果CBPYフラグの符号化の効率が損なわれる。
【0019】
(発明の概要)
本発明では、動き推定と移動補償を使用して符号化されたビデオシーケンスのブロックパラメータを符号化するための、改良した方法が提供される。本発明の1つの態様は、インターフレームマクロブロックのためにテクスチャと動きデータが符号化されるかどうかを示すCODパラメータを適応的に符号化する方法である。本発明の別の態様は、クロミナンスの符号化ブロックパラメータに基づいて、輝度の符号化ブロックパラメータに対してエントロピー符号化モードを適応的に選択する方法である。これらの機能の両方とも、オブジェクトベースのビデオ符号化とフレームベースのビデオ符号化に適用する。
【0020】
CODパラメータの適応的符号化によって、多くのビデオ符号化アプリケーションの、特に0動きを有するマクロブロックがわずかしかないシーンの符号化効率が改善される。CODパラメータの適応的符号化は、CODパラメータを、ビデオイメージ内の非符号化マクロブロックの数に基づいて選択的に無効にする方法を意味する。CODパラメータの適応的符号化は、0テクスチャまたは0動きを有するイメージ内のマクロブロック(省略されるマクロブロック)の数を求めることによって符号器内で実施される。省略されるマクロブロックの数がしきい値よりも少ないとき、CODパラメータはイメージ内のインターフレームマクロブロックに対して無効にされる。
【0021】
しきい値の数は、イメージ内のマクロブロックの総数、および動きデータとテクスチャデータがすべて0であるインターフレームマクロブロック内の動きとテクスチャの符号化に必要なビット数から導き出される。しきい値の箇所では、すべてのマクロブロックをCODパラメータなしで符号化するのに必要なビットの数はさらに少ない。その理由は、テクスチャデータと動きデータが0であるインターフレームブロックに関しては、動きデータとテクスチャデータを符号化するのに必要なビットの数よりも多くのCODビットがあるためである。たとえば、マクロブロックに対して0動きと0テクスチャを符号化するのに5ビットが必要な場合、しきい値の数はイメージに対するマクロブロックの総数の1/5である。
【0022】
CODパラメータの適応的無効化は、インターフレームイメージごとに提供されるCOD無効化フラグを使用して表される。このフラグは、イメージ内の各マクロブロックにCODパラメータが含まれるかどうかを示す。イメージに対して動き推定、移動補償、およびテクスチャ符号化が実行された後、符号器によってこのフラグの値が確定される。なぜならば、これらのプロセスは0のテクスチャと動きデータから成るマクロブロックを有するブロックの数を示すからである。復号器は、COD無効化フラグを使用して、マクロブロックごとにCODパラメータを複合化するかどうかを確定する。
【0023】
符号化の効率は、クロミナンス(CBPC)の符号化ブロックパターンに基づいて、輝度の符号化ブロックパターン(CBPY)に対するエントロピー符号化モードを適応的に選択することによって、さらに改善することができる。この改良型符号化方法では、マクロブロックに対してCBPCビットが設定されるかどうかに基づいて、インターフレームマクロブロック内のCBPYに対するエントロピー符号化が選択される。インターフレームマクロブロック内でCBPCビットが(「11」)に設定される場合、輝度ブロックは0以外の変換係数を持つ可能性が高くなる。そういうものとして、エントロピー符号化は、符号化輝度ブロックに対するCBPYの符号化に使用されるビットの数がさらに少なくなるように選択される。逆に、CBPCビットの1つが設定されない場合、エントロピー符号化は、非符号化輝度ブロックに対するCBPYの符号化に使用されるビットの数がさらに少なくなるように選択される。
【0024】
上記に要約した方法では、0動きを有するマクロブロックがわずかであり、フレームからフレームへの変化が頻繁なビデオシーンのインターフレームマクロブロックに対する符号化効率が改善される。CODパラメータの適応的無効化によって、低ビット伝送速度のアプリケーションでは総ビット伝送速度の最大2〜3%を節約することができる。インターフレームブロックのCBPY符号化モードの適応的選択によって、CBPYの符号化に必要なビット数が25%よりも多く削減できることが示された。これらの方法によって、符号器と復号器の設計を一層複雑にせずに、または互換性の問題を発生させずに符号化の効率が改善される。
【0025】
本発明のさらなる機能と利点は、本発明の実施に関する以下の詳細な説明と添付図面からさらに明らかになる。
【0026】
(詳細な説明)
概説
以下の最初の節では、ビデオ符号器と復号器について説明する。その後の節では、次によって符号化を改良する方法について説明する。1)ブロックに対して動きとテクスチャが符号化されるかどうかを示すブロックパラメータを適応的に有効にする。および、2)マクロブロックに対して輝度ブロックが符号化されるかどうかを示すブロックパラメータのエントロピー符号化を改良する。
【0027】
本発明は、フレームベースのビデオ符号化とオブジェクトベースのビデオ符号化の両方に適用する。本発明は、イメージがフレームのシーケンスまたはフレーム全体から導き出されたビデオオブジェクト平面を表すか否かにかかわらず、イメージのシーケンスの符号化を改良する。オブジェクトベースの符号化には、形状の符号化のみでなく、フレームベースの符号化に使用されるのと同様の動きおよびテクスチャの符号化成分が含まれる。本発明に関連したブロック構文は、フレームベースとオブジェクトベースの両方の符号化で類似している。したがって、次の節で説明する符号器と復号器はオブジェクトベースであるが、それらはフレームベースとオブジェクトベースの両方の符号化方式による本発明の実施方法を説明するのに十分な基礎を提供する。
【0028】
符号器と復号器の例の説明
図1は、オブジェクトベースのビデオ符号器の実現を示すブロック図である。符号器への入力30には、一連のオブジェクト、それらの形状情報、および境界矩形が含まれる。したがって、形状情報は符号器がテクスチャまたは動きのデータを符号化する前に使用可能である。フレームベースの符号化は、フレーム全体が形状情報なしで符号化されるという点で異なる。
【0029】
形状符号化モジュール32は、その境界を示す矩形を含むオブジェクトの定義を受信して、その境界を示す矩形をマクロブロックの整数倍に拡大する。オブジェクトの形状情報は、マスクまたは「アルファ平面」から成る。形状符号化モジュール32は、たとえばオブジェクトの輪郭を符号化するための従来型チェイン符号化方法を使用して、このマスクを読み取って圧縮する。
【0030】
動き推定モジュール34は、その境界を示す矩形と前に復元されたイメージ1636を含むオブジェクトを読み取り、1つのフレームからもう1つのフレームまでのオブジェクトの動きを予測する目的で使用される動き推定データを計算する。動き推定モジュール1634は、現在のイメージのマクロブロックごとに復元されたイメージ内で最も類似したマクロブロックをサーチして、マクロブロックごとに動きデータを計算する。動き推定モジュール1634から得られる動きデータの特定フォーマットは、使用される動き推定方法によって異なる場合がある。たとえば、動きデータには、マクロブロック動きの予測に使用されるアフィン(affine)変換係数などの、運動ベクトルまたは幾何変換係数が含まれることがある。標準の動き符号化では、動きデータには、マクロブロックごとに1つの運動ベクトルが含まれるか、またはマクロブロック内の4つの輝度ブロックに対応した4つの運動ベクトルが含まれる。
【0031】
移動補償モジュール38は、動き推定モジュールによって計算された動きデータと、前に復元されたイメージ36を読み取り、現在のフレームに対して予測されるイメージを計算する。符号器は、入力30内で指定された入力イメージブロック内のイメージサンプル値と、移動補償モジュール38内で計算された予測されるイメージブロックにおける対応するサンプル値との間の相違を見出し、マクロブロックのエラー信号を確定する。
【0032】
テクスチャ符号化モジュール40は、インターフレーム符号化オブジェクトに対してこのエラー信号を圧縮して、イントラフレーム符号化オブジェクトの入力データストリーム30からオブジェクトに対するイメージサンプル値を圧縮する。テクスチャ符号化モジュール40からのフィードバックパス42は、エラー信号を表す。符号器は、移動補償モジュールからの予測されるイメージブロックとともにエラー信号ブロックを使用して、前に復元されたイメージ36を計算する。
【0033】
テクスチャ符号化モジュール40は、様々な静止画像圧縮技術のいずれかを使用して、オブジェクトに対するイントラフレームおよびエラー信号データを符号化する。圧縮技術の例には、DCT、ウェーブレット、およびその他の従来型画像圧縮方法が含まれる。
【0034】
圧縮ビデオシーケンスのビットストリーム(bitstream)には、形状符号化モジュール、動き推定モジュール、およびテクスチャ符号化モジュールから得られる形状、動き、およびテクスチャの符号化情報が含まれる。マルチプレクサ44は、このデータを合成して適切な構文にフォーマットしてから、それをバッファ46に出力する。
【0035】
符号器はハードウェアまたはソフトウェアで実施することができるが、最も一般的にはソフトウェアで実施される。ソフトウェアによる実施では、符号器内のモジュールはソフトウェアルーチンを表し、コンピュータのメモリ内およびビデオデータの保存に使用されるメモリ内で実行する。ソフトウェア符号器は、さまざまな従来型コンピュータ可読媒体上に保存して配布することができる。ハードウェアによる実施では、符号器モジュールはデジタルロジック内に、好ましくは集積回路内に実施される。符号器機能のいくつかは、コンピュータ周辺機器に組み込まれる専用デジタルロジックデバイス内で最適化して、ホストコンピュータに加わる処理負荷を軽減することができる。
【0036】
図2は、オブジェクトベースのビデオ符号化方法を使用した復号器を示すブロック図である。デマルチプレクサ60は、オブジェクトについての、圧縮されたビデオシーケンス、分離形状、動き、およびテクスチャの符号化データをオブジェクトベースで表すビットストリームを受信する。形状復号化モジュール64は、処理される現在のオブジェクトの形状または輪郭を復号化する。これを達成するために、形状復号化モジュール64は、図2の符号器に使用される形状符号化方法の逆を実施する形状復号器を使用する。その結果作成される形状データは、オブジェクトの形状を表すバイナリアルファ平面またはグレースケールアルファ平面などのマスクである。
【0037】
動き復号化モジュール66は、ビットストリーム内の動き情報を復号化する。復号化された動き情報には、マクロブロック/ブロックの運動ベクトルまたは幾何変換係数などの動きデータが含まれ、符号器に使用された推定方法のタイプに依存する。動き復号化モジュール66は移動補償モジュール68にこの動き情報を提供し、移動補償モジュール68は前に復元されたオブジェクトデータ70に動きデータを適用する。
【0038】
テクスチャ復号化モジュール74は、インターフレーム符号化テクスチャデータのエラー信号と、イントラフレームテクスチャデータのカラー値の配列を復号化してから、復元されたイメージの計算と蓄積のためにこの情報をモジュール72に渡す。インターフレーム符号化オブジェクトに関しては、このモジュール72は、エラー信号データを移動補償モジュールから得られた予測されるイメージ出力に適用して、現在のフレームに対する復元済みオブジェクトを計算する。イントラフレーム符号化オブジェクトに関しては、テクスチャ復号化モジュール74は、オブジェクトのイメージサンプル値を復号化して、復元されたオブジェクトを復元オブジェクトモジュール72に配置する。前に復元されたオブジェクトは、オブジェクトメモリ70に一時的に保存され、他のフレームのオブジェクトを構築する目的で使用される。
【0039】
符号器のように、復号器はハードウェアやソフトウェアによって、または両方の組み合わせで実施することができる。ソフトウェアによる実施では、復号器内のモジュールはソフトウェアルーチンであり、コンピュータのメモリ内およびビデオデータの保存に使用されるメモリ内で実行する。ソフトウェア復号器は、さまざまな従来型コンピュータ可読媒体上に保存して配布することができる。ハードウェアによる実施では、復号器モジュールはデジタルロジック内に、好ましくは集積回路内に実施される。復号器機能のいくつかは、コンピュータ周辺機器に組み込まれる専用デジタルロジックデバイス内で最適化して、ホストコンピュータに加わる処理負荷を軽減することができる。
【0040】
CODパラメータの改良型符号化
現行のおよび提案されたビデオ符号化規格では、CODパラメータの目的は、インターフレームマクロブロックのために動きとテクスチャが符号化されるかどうかを示すことである。CODビットの使用は、低運動シーンを非常に低いビット伝送速度で符号化するように最適化される。多くのアプリケーション、および特にインターネットアプリケーションに関しては、このようなCODビットの使用は効率的ではない場合がある。たとえば、これらのアプリケーションでは、
・ ビデオに関して利用可能なビット伝送速度は、一般に秒あたり10+キロビット(kbps)である。
・ ピクチャーサイズは一般にQCIFである(QCIFは99マクロブロックを有する標準のフレームサイズである)。
・ フレーム速度は一般に秒あたり5+である。
・ シーンの変化は頻繁であり、フレーム間の動きはほとんどゼロ以外である。
【0041】
これらの条件のもとでは、マクロブロック/ブロックのテクスチャデータの大部分はノンゼロ係数を有する。CODビットはこれらの情況では有効ではない。なぜならば、符号化が省略されるのはわずかなマクロブロックに対してのみであるが、符号化が省略されるか否かにかかわらず、CODパラメータはすべてのインターフレームマクロブロックに対して送信されるためである。CODパラメータのビット伝送速度は、約0.5kbpsである。以下に詳述する方法では、CODビットを適応的に無効にするため、潜在的に総ビット伝送速度の2〜3%が節約される。
【0042】
CODパラメータの効率を改善するために、符号器は、非符号化マクロブロックの数がしきい値を超えたインターフレーム符号化イメージに対してこのパラメータを適応的に無効にする。オブジェクトベースの符号化では、符号器はビデオオブジェクト平面レベルで符号化構文にフラグを追加して、ビデオオブジェクト平面内のすべてのインターフレームマクロブロックに対してCODパラメータが無効にされたかどうかを示す。ビデオオブジェクト平面は、フレーム内のオブジェクトを表すイメージである。
【0043】
フレームベースの符号化では、符号器はフレームレベルで符号化構文にフラグを追加して、フレーム内のすべてのマクロブロックに対してCODパラメータが無効にされたかどうかを示す。オブジェクトベースのアプローチとフレームベースのアプローチの両方とも、インターフレームマクロブロックに対してCODパラメータが無効にされることに注意する必要がある。
【0044】
図1のビデオ符号器は、ビデオイメージを2つの主要な段階を通じて符号化する。第1段階は動き推定と移動補償を実行することであり、第2段階は適切な符号化構文によるビットストリームを復元することである。したがって、運動ベクトルとテクスチャデータがすべて0であるマクロブロックの数は第1段階で求められる。これらのマクロブロックの数に基づいて、第2段階ではビデオイメージ内のすべてのマクロブロックに対してCODパラメータを無効にするかどうかが確定される。
【0045】
図3は、ビデオイメージの符号化中にCODパラメータを適応的に無効にするためのプロセスを示すフローチャートである。符号器は動き推定と移動補償(100、102)を実行して、運動ベクトルが0であるかどうかを確認する。符号器は、インターフレームマクロブロックとブロック(104)ごとに変換符号化を実行するとき、マクロブロックに対するDCT変換係数がすべて0であるかどうかを確認する。これは、マクロブロック内のイメージサンプルのすべてについてエラー値が0であるかまたはほぼ0である場合に発生する可能性がある。
【0046】
イメージに対する動きとテクスチャの符号化が完了したとき、符号器の第2段階は運動ベクトルと変換係数がすべて0であるブロックの数を求めることである(106)。運動ベクトルと変換係数の符号化がこれらのマクロブロックに対して省略されるため、これらのブロックは時々省略されるブロックと呼ばれる。省略されるマクロブロックの数がしきい値を超える場合、マクロブロックごとにCODパラメータを使用して、マクロブロックが符号化されるかどうかを示すことは効率的である。この場合、CODパラメータは、イメージのCOD無効化フラグをクリアすることによって有効化される(110)。別の方法では、COD無効化フラグはイメージに対して設定される。
【0047】
イメージの符号化構文には、マクロブロック構文にCODパラメータが含まれるかどうかを示すCOD無効化フラグが含まれる。インターマクロブロックの変換係数がすべて0である場合、CODパラメータは1に設定される。その他の場合は0に設定される。
【0048】
次の表は、COD無効化フラグがどのようにイメージの符号化効率を改善するかを示すのに役立つ。インターフレームマクロブロックの構文は、次のとおりである。
【0049】
【表1】
Figure 0003689334
【0050】
CODビットが設定される場合、ブロックに対してMCBPC、CBPY、MVD(運動ベクトルデータ)、およびDCTブロックは送信されない。これは省略されるマクロブロックと呼ばれる。逆に、CODビットが従来の符号化規格で設定されないとき、マクロブロックにはMCBPCとCBPYのエントロピー符号化ビット、単一の符号化運動ベクトルまたは複数の符号化運動ベクトル(MVD)、および少なくとも1つのDCTブロックが含まれる。運動ベクトルは、一般に差動運動ベクトルとして符号化される。差動運動ベクトルは、現在と前のマクロブロックにおける運動ベクトル間の相違など、2つの運動ベクトル間の相違を表すベクトル量である(たとえば、垂直成分と水平成分を有する)。
【0051】
0動きを有するマクロブロックがわずかしかない、およびフレームからフレームまでの変化が頻繁なマクロブロックがわずかしかないシーンには、おそらく省略されるマクロブロックはほんのわずかしかない。これらの情況のもとでは、マクロブロックには余分なビットが追加されるため、CODビットは効率が悪い。CODパラメータが無効にされる場合、各々の符号化マクロブロックが有するビットの数は、CODが有効にされる場合と比較して1つ少ない。たとえば、ハフマン符号化はMCBPCとCBPYの符号化に使用され、0動きを有する各マクロブロックまたはテクスチャデータには、MCBPC(1ビット)、CBPY(2ビット)、およびMVD(2ビット以上)のための追加ビットが含まれると仮定する。このタイプのマクロブロックの動きとテクスチャには、符号化するために少なくとも5ビット(MCBPC + CBPY + MV> 5)が必要である。したがって、CODパラメータを無効にすることによって、このマクロブロックの符号化には少なくとも5ビットが必要となる。それに対して、CODを有効にした場合に必要なのは単に1ビットである。
【0052】
省略されるマクロブロックのしきい値の数は、イメージ内のマクロブロックの総数、および0動きとテクスチャデータを有するがCODパラメータがないマクロブロックの符号化に必要なビットに基づいて分析的に評価することができる。以下の数式はしきい値の例を示す。
【0053】
【数1】
(1/x)MBtotal>MBskipped
【0054】
ここで、MBskippedは省略されるマクロブロックの数であり、MBtotalはイメージ内のマクロブロックの総数であり、xは動きとテクスチャデータがすべて0であるときにマクロブロックの符号化に必要なビットの数である。しきい値の数は次のとおりである。
【0055】
【数2】
(1/x)MBtotal
【0056】
このしきい値は例にすぎないことを強調することは重要である。0動きとテクスチャデータを有するマクロブロックの符号化に必要なビットの数は、特定の符号化方法によって変化する可能性がある。たとえば、ハフマン符号化が使用される場合、上記の例で示されるようにMCBPCとCBPYの符号化に必要なビットの数を推定することはさらに容易である。算術符号化が使用される場合は、0動きとテクスチャデータを有するマクロブロックの符号化に必要なビットの数を計算することはより困難である。しかし、上記に示される同様のアプローチは、0テクスチャと動きデータを有するマクロブロックのパラメータの符号化に必要なビットの数の控えめな推定を使用することによって、算術符号化の場合にも使用することができる。
【0057】
しきい値の選択には、さまざまな発見的および分析的方法がある。1つの方法は、フレームに対して0動きとテクスチャデータを有するマクロブロックの符号化に必要なビットの数を計算した後、上記に示される方法と同様の公式(たとえば、(1/xaverage)MBtotal)を使用してフレームに対するしきい値を計算することである。別の方法は、フレームを対象に、CODパラメータのあるフレームおよびCODパラメータのないフレームを符号化するのに必要なビットの数をフレームベースで比較した後、より少ないビットを使用するアプローチを選択することである。
【0058】
復号器は、CODパラメータを適応的に有効にしたり無効にしたりすることをサポートするように変更する必要がある。図4は、CODパラメータが有効にされたおよび無効にされたマクロブロックを復号器が解釈する方法を示すフローチャートである。フレームベースのアプローチでは、COD無効化フラグはフレームレベルで符号化される。すなわち、各フレームには単一のフラグしかない。オブジェクトベースのアプローチでは、COD無効化フラグは、好ましくはビデオオブジェクト平面レベルで符号化される。言い換えれば、それぞれのインターフレーム符号化オブジェクトにはフレームごとにCOD無効化フラグがある。復号器がフレームレベルまたはオブジェクトレベルのパラメータを復号化する場合、復号器はCOD無効化フラグを復号化して(120)、CODパラメータが有効にされたかどうかまたは無効にされたかどうかを確認する(122)。
【0059】
CODパラメータが有効にされる場合、マクロブロックレベルのパラメータは、イメージ内のマクロブロックごとにCODパラメータを有しているものとして解釈される(124)。この場合、復号器は、CODパラメータが設定されるマクロブロックごとに運動ベクトルと符号化ブロックパラメータを選択的に復号化する。
【0060】
CODパラメータが無効にされる場合、マクロブロックレベルのパラメータは、マクロブロックごとにCODパラメータを有していないものとして解釈される(128)。そういうものとして、復号器はマクロブロックごとに運動ベクトルと符号化ブロックパラメータのデータを復号化する。
【0061】
CBPYの適応的符号化
0動きを有するマクロブロックがわずかしかないシーンの符号化効率は、CBPCビットに基づいてCBPYビットに対するエントロピー符号化モードを適応的に選択することによって改善することができる。図5は、CBPCの値に基づいて、符号器プロセスがCBPYのエントロピー符号化を管理する方法を示すフローチャートである。
【0062】
符号器は、マクロブロックごとにCBPCビットを評価する(130)。クロミナンスブロックごとに1ビットであり、合計2ビットある。両方のビットが設定された場合、両方のクロミナンスブロックはノンゼロ変換係数を有することを意味しており、4つある輝度ブロックの少なくとも1つはおそらく同様にノンゼロ変換係数を有する。符号器は、CBPCパラメータの値に基づいてCBPYに対するエントロピーコードを適応的に選択する。CBPCビットが設定された場合、符号器は、符号化輝度ブロックにさらに高い確率を割当てるエントロピー符号化モードを選択する(134)。逆に、CBPCビットの少なくとも1つが設定されなかった場合、符号器は、非符号化輝度ブロックにさらに高い確率を割当てるエントロピー符号化モードを選択する(136)。このアプローチは、CBPCビットに基づいて、インターフレームマクロブロックに対して2つのエントロピー符号化テーブルの中から適応的に選択することによって実現される。
【0063】
H263などの提案された規格における従来型アプローチでは、第1のエントロピー符号化テーブル(たとえば、ハフマンテーブル)を使用してすべてのイントラフレームマクロブロックに対するエントロピーコードを作成してから、第2のエントロピー符号化テーブルを使用してすべてのインターフレームマクロブロックに対するエントロピーコードを作成する。以下の表は、可変長コード(VLC)の計算に使用されるエントロピー符号化テーブルの例を示す。テーブル1は、イントラタイプのマクロブロックに使用される従来型VLCのテーブルであり、テーブル2はインタータイプのマクロブロックに使用される従来型VLCのテーブルである。CBPYビットの値は、符号化ブロックの場合は1であり、非符号化ブロックの場合は(0)である。非符号化ブロックはインターマクロブロックにさらに多く発生すると考えられるため、符号化ブロックの場合よりも短いコードで符号化されることに注意する必要がある。逆に、符号化ブロックはイントラマクロブロックにさらに多く発生すると考えられるため、符号化ブロックの場合よりも短いコードで符号化される。
【0064】
【表2】
Figure 0003689334
【0065】
CBPYを符号化するための改良された方法では、CBPCブロックが両方とも符号化されたとき、インターフレームマクロブロックに対してテーブル1を選択する。それに対して、CBPCブロックの少なくとも1つが符号化されなかったときは、インターフレームマクロブロックに対してテーブル2を選択する。実験では、インターフレームマクロブロックに対するテーブル1とテーブル2の適応的選択によって、標準テストビデオシーケンスでのCBPYの符号化に必要なビットの数が、約数パーセントから26%を超える割合で減少したことが示された。フレームからフレームまでの変化がほとんどないテストケースAkiyoでは、CBPYテーブルの適応的選択によってCBPYのビット数がわずかに増加した(0.1%未満)。CBPYに対するこの改良された符号化の利点は、さらに小さな量子化ステップサイズとさらに複雑なシーンにとっては一層有意義である。
【0066】
CBPYの適応的符号化に関する上記の記述は、1つの可能な実施のみを示すことに注意することは重要である。CBPYの適応的符号化の文脈では、CBPCビットに対して次の3つの可能な状態があることに注意すること。(1)両方とも設定された状態(CBPC=11)、(2)両方とも設定されていない状態(CBPC=00)、および(3)1つのビットは設定されているが、もう1つのビットは設定されていない状態(CBPC=01または10)。上記の実施では、状態(1)に対しては1つのエントロピー符号化モードが使用され、状態(2)と状態(3)に対しては第2のエントロピー符号化モードが使用される。一部のアプリケーションでは、状態(1)に使用するエントロピー符号化モードで状態(2)をグループ化することが有利である。エントロピー符号化モードとCBPCの状態のさまざまな異なる組み合わせが可能であり、さらに2つを超えるエントロピー符号化モードを使用することもできる。たとえば、CBPCの3つの異なる状態に対して、3つの異なる符号化モードを使用することができる。
【0067】
CODとCBPYの適応的符号化は、一緒に使用することができる。CBPYの適応的符号化はすでにマクロブロックフォーマットとなっているCBPCビットに基づくため、この機能が有効になっているかどうかを示す追加のフラグを加える必要はない。しかし、CBPYの適応的符号化は、CBPY適応的符号化フラグを使用することによってオンにしたりオフにしたりすることができる。このフラグを実施する1つの方法は、このフラグをCOD無効化フラグと組み合わせることである。この場合、CODとCBPYの適応的符号化は、一緒に有効にしたり無効にしたりすることができる。
【0068】
CBPYの適応的符号化は、CBPCビットに基づくCBPYの復号化に使用されるテーブルを選択することによって、復号器内に実施することができる。図6は、CBPCパラメータの値に基づいて、復号器がインターフレームマクロブロックのCBPYパラメータを解釈する方法を示すフローチャートである。典型的な復号化動作では、復号器はマクロブロックのCBPCビットを復号化する(140)。次に、復号器はCBPC=11であるかどうかを確認する(142)。そうであれば、復号器はテーブル1を使用してCBPYのVLCを復号化する。そうでなければ、復号器はテーブル2を使用してCBPYを復号化する。
【0069】
上記の説明のように実施した場合、CBPYの改良型符号化によって符号器または復号器がさらに複雑になることはなく、また起動コードエミュレーションの問題が生じることもない。「起動コードエミュレーション」は、「起動コード」と呼ばれる同期化に使用されるコードと混同する可能性がある、符号化フォーマットを使用することによって引き起こされる互換性の問題を意味する。
【0070】
結論
上記に説明した符号化方法は、インターフレームブロックの符号化効率を次の2つの方法で改善する。1)0動きを有するマクロブロックがわずかであるシーンのCODを適応的に無効にすることによる。および、2)CBPCを動きのインジケータまたはシーンの変化として使用して、CBPYのエントロピー符号化を適応的に選択することによる。本発明は特定のパラメータに関連して説明されるが、これらのパラメータのフォーマットと定義は実施によって変化する可能性がある。上記に使用した特定の定義は、それらが現行のおよび提案されたビデオ符号化規格と一貫性があるため有益である。しかし、異なる構文を使用するビデオ符号化方法によって本発明を使用することも可能である。
【0071】
本発明の数多くの可能な実施を考慮すると、上記に説明した実施は単に本発明の例にすぎず、本発明の適用範囲を制限するものとして見なしてはならないことを認識しなければならない。むしろ、本発明の適用範囲は前述の特許請求の範囲によって定義される。したがって、我々は、これらの請求項の適用範囲であり趣旨の範囲内でもあるすべてを我々の発明として請求する。
【図面の簡単な説明】
【図1】 ビデオ符号器のブロック図である。
【図2】 ビデオ復号器のブロック図である。
【図3】 インターフレームマクロブロックのCODパラメータを適応的に無効にするための符号器プロセスを示すフローチャートである。
【図4】 CODパラメータが有効にされたおよび無効にされたマクロブロックを復号器が解釈する方法を示すフローチャートである。
【図5】 CBPCパラメータの値に基づいて、符号器プロセスがCBPYパラメータのエントロピー符号化を管理する方法を示すフローチャートである。
【図6】 CBPCパラメータの値に基づいて、復号器がインターフレームマクロブロックのCBPYパラメータを解釈する方法を示すフローチャートである。

Claims (8)

  1. コンピュータシステムにおいてコンピュータが実行する、ビデオシーケンス内の複数のビデオフレームを復号化する方法であって、前記複数のビデオフレームの各々は複数のマクロブロックを含み、
    ビットストリーム内の圧縮ビデオデータを受信する受信ステップであって、該ビットストリームは複数の構文レベルを持つ符号化構文を有し、該複数の構文レベルはフレームレベルとマクロブロックレベルとを含む受信ステップと、
    インターフレーム復号化を使用して前記複数のビデオフレームの予測されるビデオフレームを復号化する復号化ステップであって、
    復号器が、前記予測されるビデオフレームの前記ビットストリームからのフレームレベルの符号化構文情報を検索する第1の検索ステップと、
    前記第1の検索ステップにおいて前記ビットストリームから検索された前記フレームレベルの符号化構文情報から、マクロブロックが省略されるか否かを示す複数のビットが前記ビットストリーム内に存在するか否かを前記復号器が判定する判定ステップであって、前記複数のビットの各単一のビットが、前記予測されるビデオフレームの対応するマクロブロックが省略されるか否かを示し、差動運動ベクトル情報および符号化ブロックパターン情報は省略されるマクロブロックの前記ビットストリーム内に存在せず、差動運動ベクトル情報および符号化ブロックパターン情報は省略されないマクロブロックの前記ビットストリーム内に存在する判定ステップと、
    前記判定ステップにおいて前記複数のビットが前記ビットストリーム内に存在すると判定された場合、前記復号器が、差動運ベクトル情報と符号化ブロックパターン情報とを、省略されない前記予測されるビデオフレームの前記複数のマクロブロックのいくつかに対して検索し、前記複数のビットも検索する第2の検索ステップと
    を含む復号化ステップと
    を備えたことを特徴とする方法。
  2. 前記判定ステップにおいて前記複数のビットが前記ビットストリーム内に存在しないと判定された場合、前記復号器が、差動運ベクトル情報と符号化ブロックパターン情報とを、前記ビデオフレームの前記複数のマクロブロックの各々に対して検索し、前記第2の検索ステップが除かれる第3の検索ステップをさらに備えた
    ことを特徴とする請求項1に記載の方法。
  3. 前記第1の検索ステップにおいて前記ビットストリームから検索された前記フレームレベルの符号化構文情報は単一ビットである
    ことを特徴とする請求項1に記載の方法。
  4. 前記複数のマクロブロックの各々は、画素の4つの8×8輝度ブロックと、画素の2つの8×8クロミナンスブロックとを含む
    ことを特徴とする請求項1に記載の方法。
  5. 前記複数のビットは前記ビットストリーム内の前記マクロブロックレベルにある
    ことを特徴とする請求項1に記載の方法。
  6. 前記第1の検索ステップにおいて前記ビットストリームから検索された前記フレームレベルの符号化構文情報の使用は、マクロブロックが省略されるか否かを示す複数のビットの必要性を選択的になくすことによって、前記圧縮ビデオデータのビット伝送速度を全体として下げる
    ことを特徴とする請求項1に記載の方法。
  7. コンピュータシステムにおいてコンピュータが実行する、ビデオシーケンス内の複数のビデオフレームを復号化する方法であって、前記複数のビデオフレームの各々は複数のマクロブロックを含み、
    ビットストリーム内の圧縮ビデオデータを受信する受信ステップであって、該ビットストリームは複数の構文レベルを持つ符号化構文を有し、該複数の構文レベルはフレームレベルとマクロブロックレベルとを含む受信ステップと、
    インターフレーム復号化を使用して前記複数のビデオフレームの予測されるビデオフレームを復号化する復号化ステップであって、
    復号器が、前記予測されるビデオフレームの前記ビットストリームからのフレームレベルの符号化構文情報を検索する第1の検索ステップと、
    検索された前記フレームレベルの符号化構文情報から、マクロブロックが省略されるか否かを示す複数のビットが前記ビットストリーム内に前記マクロブロックレベルで存在するか否かを前記復号器が判定する第1の判定ステップと、
    前記第1の判定ステップにおいて複数のビットが前記ビットストリーム内に存在する場合、前記ビデオフレームの前記複数のマクロブロックの各々のマクロブロックに対して、
    前記復号器が、前記マクロレベルで前記複数のビットの単一のビットを検索する第2の検索ステップと
    検索された前記単一のビットに基づいて、前記復号器が、前記マクロブロックが省略されるか否かを判定する第2の判定ステップであって、差動運動ベクトル情報および符号化ブロックパターン情報は省略されるマクロブロックの前記ビットストリーム内に存在せず、差動運動ベクトル情報および符号化ブロックパターン情報は省略されないマクロブロックの前記ビットストリーム内に存在する第2の判定ステップと、
    前記マクロブロックが省略されない場合、前記復号器が、差動運ベクトル情報と符号化ブロックパターン情報とを前記マクロブロックに対して検索する第3の検索ステップと
    含む復号化する復号化ステップと
    を備えたことを特徴とする方法。
  8. 前記複数のマクロブロックの各々は、画素の4つの8×8輝度ブロックと、画素の2つの8×8クロミナンスブロックとを含む
    ことを特徴とする請求項7に記載の方法。
JP2000527094A 1997-12-31 1998-09-30 ビデオシーケンス内の複数のビデオフレームを復号化する方法 Expired - Lifetime JP3689334B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/001,573 1997-12-31
US09/001,573 US5946043A (en) 1997-12-31 1997-12-31 Video coding using adaptive coding of block parameters for coded/uncoded blocks
PCT/US1998/020573 WO1999034603A1 (en) 1997-12-31 1998-09-30 Improved video coding using adaptive coding of block parameters for coded/uncoded blocks

Publications (2)

Publication Number Publication Date
JP2002500483A JP2002500483A (ja) 2002-01-08
JP3689334B2 true JP3689334B2 (ja) 2005-08-31

Family

ID=21696758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000527094A Expired - Lifetime JP3689334B2 (ja) 1997-12-31 1998-09-30 ビデオシーケンス内の複数のビデオフレームを復号化する方法

Country Status (10)

Country Link
US (1) US5946043A (ja)
EP (3) EP1528813B1 (ja)
JP (1) JP3689334B2 (ja)
AT (2) ATE216824T1 (ja)
CA (1) CA2316848C (ja)
DE (2) DE69839100T2 (ja)
DK (1) DK1528813T3 (ja)
ES (1) ES2299787T3 (ja)
PT (1) PT1528813E (ja)
WO (1) WO1999034603A1 (ja)

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571016B1 (en) * 1997-05-05 2003-05-27 Microsoft Corporation Intra compression of pixel blocks using predicted mean
US6215910B1 (en) * 1996-03-28 2001-04-10 Microsoft Corporation Table-based compression with embedded coding
JP3748895B2 (ja) * 1997-02-13 2006-02-22 三菱電機株式会社 符号化装置及び復号装置及び符号化方法及び復号方法
US7177355B1 (en) * 1997-12-01 2007-02-13 Samsung Electronics Co., Ltd. Method for representing encoding upon coding information
US6816618B1 (en) * 1998-03-03 2004-11-09 Minolta Co., Ltd. Adaptive variable length image coding apparatus
KR100281464B1 (ko) * 1998-03-14 2001-02-01 전주범 물체 기반 부호화 시스템의 보조 정보 부호화 장치
US7046734B2 (en) * 1998-04-02 2006-05-16 Intel Corporation Method and apparatus for performing real-time data encoding
US6904174B1 (en) * 1998-12-11 2005-06-07 Intel Corporation Simplified predictive video encoder
US6408029B1 (en) 1998-04-02 2002-06-18 Intel Corporation Method and apparatus for simplifying real-time data encoding
US6400831B2 (en) 1998-04-02 2002-06-04 Microsoft Corporation Semantic video object segmentation and tracking
GB2336058B (en) * 1998-04-02 2002-03-27 Daewoo Electronics Co Ltd Apparatus and method for adaptively coding an image signal
US6031872A (en) * 1998-06-16 2000-02-29 Daewoo Electronics Co., Ltd. Method and apparatus for encoding a video signal
US6711278B1 (en) 1998-09-10 2004-03-23 Microsoft Corporation Tracking semantic objects in vector image sequences
JP2000102007A (ja) * 1998-09-28 2000-04-07 Matsushita Electric Ind Co Ltd マルチメディア情報合成装置、及び圧縮映像信号生成装置
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6404931B1 (en) 1998-12-14 2002-06-11 Microsoft Corporation Code book construction for variable to variable length entropy encoding
US6223162B1 (en) 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
US6300888B1 (en) 1998-12-14 2001-10-09 Microsoft Corporation Entrophy code mode switching for frequency-domain audio coding
US6499060B1 (en) * 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
US6502097B1 (en) 1999-12-23 2002-12-31 Microsoft Corporation Data structure for efficient access to variable-size data objects
US6476805B1 (en) 1999-12-23 2002-11-05 Microsoft Corporation Techniques for spatial displacement estimation and multi-resolution operations on light fields
AU2908701A (en) * 1999-12-27 2001-07-09 Diamondback Vision, Inc. Scene model generation from video for use in video processing
US6738424B1 (en) 1999-12-27 2004-05-18 Objectvideo, Inc. Scene model generation from video for use in video processing
KR100683380B1 (ko) * 2000-02-21 2007-02-15 주식회사 팬택앤큐리텔 영상 압축 부호화를 위한 변환 및 역변환 방법 및 장치
US6356213B1 (en) * 2000-05-31 2002-03-12 Lucent Technologies Inc. System and method for prediction-based lossless encoding
GB2365240B (en) * 2000-07-19 2002-09-25 Motorola Inc Apparatus and method for image transmission
FR2813001B1 (fr) * 2000-08-11 2002-12-20 Thomson Multimedia Sa Procede de conversion de format couleur d'une sequence d'images
JP4690635B2 (ja) * 2000-08-15 2011-06-01 マイクロソフト コーポレーション メディアサンプルをタイムコーディングする方法、システム、およびデータ構造
FR2813484A1 (fr) * 2000-08-31 2002-03-01 Koninkl Philips Electronics Nv Traitement de donnees en une serie temporelle d'etapes
US20020089602A1 (en) * 2000-10-18 2002-07-11 Sullivan Gary J. Compressed timing indicators for media samples
AU2002213713A1 (en) * 2000-10-24 2002-05-06 Eyeball Networks Inc. Dct-based scalable video compression
US6677868B2 (en) 2001-03-16 2004-01-13 Sharp Laboratories Of America, Inc. Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols
FR2824988B1 (fr) * 2001-05-21 2003-08-01 Thomson Licensing Sa Procede et dispositif de codage video utilisant la norme mpeg4
US6968006B1 (en) 2001-06-05 2005-11-22 At&T Corp. Method of content adaptive video decoding
US6970513B1 (en) 2001-06-05 2005-11-29 At&T Corp. System for content adaptive video decoding
US6909745B1 (en) * 2001-06-05 2005-06-21 At&T Corp. Content adaptive video encoder
US6810086B1 (en) 2001-06-05 2004-10-26 At&T Corp. System and method of filtering noise
US7773670B1 (en) 2001-06-05 2010-08-10 At+T Intellectual Property Ii, L.P. Method of content adaptive video encoding
EP1445957A4 (en) * 2001-11-16 2009-05-06 Ntt Docomo Inc IMAGE ENCODING METHOD, IMAGE DECODING METHOD, ENCODER AND IMAGE DECODER, PROGRAM, COMPUTER DATA SIGNAL, AND IMAGE TRANSMISSION SYSTEM
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP4610195B2 (ja) * 2001-12-17 2011-01-12 マイクロソフト コーポレーション スキップマクロブロックコード化
FR2834162A1 (fr) * 2001-12-20 2003-06-27 Koninkl Philips Electronics Nv Systeme de communication de donnees selon un principe de commutation par paquets
US6925125B2 (en) * 2002-01-09 2005-08-02 Hiroshi Akimoto Enhanced aperture problem solving method using displaced center quadtree adaptive partitioning
US7149247B2 (en) 2002-01-22 2006-12-12 Microsoft Corporation Methods and systems for encoding and decoding video data to enable random access and splicing
US7505485B2 (en) * 2002-01-22 2009-03-17 Microsoft Corporation Methods and systems for start code emulation prevention and data stuffing
KR100895932B1 (ko) * 2002-04-19 2009-05-07 마이크로소프트 코포레이션 비-바이트 정렬되거나 비트 시프팅된 위치를 포함하는위치에서 시작 코드 에뮬레이션을 방지하기 위한 방법 및시스템
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
KR100523052B1 (ko) * 2002-08-30 2005-10-24 한국전자통신연구원 다중 디스플레이 방식을 지원하는 다시점 동영상의 객체 기반 부호화 장치 및 그 방법과 그를 이용한 객체 기반 송수신 시스템 및 그 방법
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
ES2334934T3 (es) 2002-09-04 2010-03-17 Microsoft Corporation Codificacion de entropia por adaptacion de codificacion entre modalidades de nivel y de longitud de sucesion y nivel.
US7095786B1 (en) 2003-01-11 2006-08-22 Neo Magic Corp. Object tracking using adaptive block-size matching along object boundary and frame-skipping when object motion is low
US7424493B2 (en) * 2003-04-21 2008-09-09 Microsoft Corporation Replication-based propagation mechanism for pipelines
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7830963B2 (en) * 2003-07-18 2010-11-09 Microsoft Corporation Decoding jointly coded transform type and subblock pattern information
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7269288B2 (en) * 2003-07-30 2007-09-11 Mediatek Inc. Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7577198B2 (en) * 2003-09-07 2009-08-18 Microsoft Corporation Number of reference fields for an interlaced forward-predicted field
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7577200B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
US8213779B2 (en) * 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7852919B2 (en) * 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7092576B2 (en) * 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7924921B2 (en) * 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US8085844B2 (en) * 2003-09-07 2011-12-27 Microsoft Corporation Signaling reference frame distances
US7961786B2 (en) * 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US7839930B2 (en) * 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8107531B2 (en) * 2003-09-07 2012-01-31 Microsoft Corporation Signaling and repeat padding for skip frames
US20050120340A1 (en) * 2003-12-01 2005-06-02 Skazinski Joseph G. Apparatus, system, and method for automated generation of embedded systems software
US7580461B2 (en) * 2004-02-27 2009-08-25 Microsoft Corporation Barbell lifting for wavelet coding
US7627037B2 (en) * 2004-02-27 2009-12-01 Microsoft Corporation Barbell lifting for multi-layer wavelet coding
US20080089413A1 (en) * 2004-06-28 2008-04-17 Canon Kabushiki Kaisha Moving Image Encoding Apparatus And Moving Image Encoding Method
US7697610B2 (en) * 2004-09-13 2010-04-13 Microsoft Corporation Variable block size early termination for video coding
KR100681242B1 (ko) * 2004-12-16 2007-02-09 삼성전자주식회사 동영상 복호화 방법, 동영상 복호화 장치 및 이를 가지는시스템 온 칩 시스템
US8634413B2 (en) 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
TWI266541B (en) * 2005-06-08 2006-11-11 Via Tech Inc Computing method of motion vector
US7684981B2 (en) * 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
WO2007027011A1 (en) * 2005-07-15 2007-03-08 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7693709B2 (en) * 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US9077960B2 (en) * 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US7565018B2 (en) * 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
US8295343B2 (en) 2005-11-18 2012-10-23 Apple Inc. Video bit rate control method
US8031777B2 (en) * 2005-11-18 2011-10-04 Apple Inc. Multipass video encoding and rate control using subsampling of frames
US8780997B2 (en) * 2005-11-18 2014-07-15 Apple Inc. Regulation of decode-side processing based on perceptual masking
US20070116117A1 (en) * 2005-11-18 2007-05-24 Apple Computer, Inc. Controlling buffer states in video compression coding to enable editing and distributed encoding
US8233535B2 (en) * 2005-11-18 2012-07-31 Apple Inc. Region-based processing of predicted pixels
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
US8184710B2 (en) * 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US9082278B2 (en) * 2010-03-19 2015-07-14 University-Industry Cooperation Group Of Kyung Hee University Surveillance system
US8356114B2 (en) 2010-04-15 2013-01-15 Canon Kabushiki Kaisha Region of interest-based image transfer
EP3285490B1 (en) * 2010-04-22 2021-03-10 HFI Innovation Inc. Motion prediction method
US8755441B2 (en) 2010-05-10 2014-06-17 Canon Kabushiki Kaisha Region of interest-based video transfer
TWI595776B (zh) * 2012-06-27 2017-08-11 Sony Corp Image processing device and method
CN104244004B (zh) * 2014-09-30 2017-10-10 华为技术有限公司 低功耗编码方法及装置
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
JP6849508B2 (ja) * 2017-04-03 2021-03-24 日本特殊陶業株式会社 保持装置の製造方法
JP7219775B2 (ja) * 2018-03-29 2023-02-08 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. 変換係数ブロック・コーディング

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5351086A (en) * 1991-12-31 1994-09-27 Daewoo Electronics Co., Ltd. Low-bit rate interframe video encoder with adaptive transformation block selection
JPH06153180A (ja) * 1992-09-16 1994-05-31 Fujitsu Ltd 画像データ符号化方法及び装置
US5448297A (en) * 1993-06-16 1995-09-05 Intel Corporation Method and system for encoding images using skip blocks
US5465118A (en) * 1993-12-17 1995-11-07 International Business Machines Corporation Luminance transition coding method for software motion video compression/decompression
JP3474005B2 (ja) * 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
US5552832A (en) * 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals
KR100211917B1 (ko) * 1995-10-26 1999-08-02 김영환 물체 모양정보 부호화 방법
EP0786907A3 (en) * 1997-01-24 2001-06-13 Texas Instruments Incorporated Video encoder
US5870148A (en) * 1997-06-17 1999-02-09 Intel Corporation Method and apparatus for adaptively enabling and disabling PB frames in an H.263 video coder
US5880784A (en) * 1997-06-17 1999-03-09 Intel Corporation Method and apparatus for adaptively switching on and off advanced prediction mode in an H.263 video coder

Also Published As

Publication number Publication date
EP1044566B1 (en) 2002-04-24
EP1156680A2 (en) 2001-11-21
ATE216824T1 (de) 2002-05-15
WO1999034603A1 (en) 1999-07-08
CA2316848C (en) 2004-06-01
ES2299787T3 (es) 2008-06-01
ATE385652T1 (de) 2008-02-15
EP1528813A1 (en) 2005-05-04
EP1044566A1 (en) 2000-10-18
CA2316848A1 (en) 1999-07-08
EP1528813B1 (en) 2008-02-06
DK1528813T3 (da) 2008-05-19
PT1528813E (pt) 2008-04-11
EP1156680A3 (en) 2004-05-26
DE69805099D1 (de) 2002-05-29
JP2002500483A (ja) 2002-01-08
DE69805099T2 (de) 2002-11-28
US5946043A (en) 1999-08-31
DE69839100T2 (de) 2009-01-29
DE69839100D1 (de) 2008-03-20

Similar Documents

Publication Publication Date Title
JP3689334B2 (ja) ビデオシーケンス内の複数のビデオフレームを復号化する方法
EP1135934B1 (en) Efficient macroblock header coding for video compression
US7408990B2 (en) Efficient motion vector coding for video compression
US6633678B2 (en) Image predictive decoding method, image predictive decoding apparatus, image predictive coding method, image predictive coding apparatus, and data storage media

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041111

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050527

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050610

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080617

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130617

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term