(57)【特許請求の範囲】
【請求項１】
１つのビデオシーケンスの中の１つまたは複数のビデオイメージを、ビデオデコーダにより再構築する方法であって、
複数のマクロブロックの各マクロブロックに関して、符号化ブロックパターンを復号化するステップであって、そこでは、前記符号化ブロックパターン（ＣＢＰ）は、前記複数のマクロブロックの複数の輝度ブロックおよび複数の色差ブロックのいずれがビットストリーム中の対応変換係数データを有するかを示すステップを有し、
前記復号化するステップは、前記複数のマクロブロックの各マクロブロックに関して、
可変長符号を受け取るステップであって、そこでは、当該受け取った符号化ブロックパターンに関する可変長符号は符号テーブルにおける符号テーブルエントリを示し、前記符号テーブルエントリは、
（ａ）前記マクロブロックの複数の輝度ブロックに関する第１の情報および
（ｂ）前記マクロブロックの複数の色差ブロックに関する第２の情報であって、前記符号化ブロックパターンの色差に関する複数の符号化ブロックパターン（ＣＢＰＣ）のビットを表す第２の情報
を表す結合パラメータを規定しているステップと、
前記受け取った可変長符号を復号化して前記符号化ブロックパターンに関する前記第１の情報および前記第２の情報を取得するステップであって、前記第１の情報は複数のビットを含むステップと、
前記マクロブロックに関する前記符号化ブロックパターンを決定するステップであって、前記符号化ブロックパターンの輝度に関する複数の符号化ブロックパターン（ＣＢＰＹ）のビットを、前記マクロブロックの前記複数の輝度ブロックの所与のブロックに関して、
前記所与のブロックに関する予測子ビットを、空間予測により計算することであって、前記所与のブロックは、前記所与のブロックの上、左、および左上のそれぞれに近隣ブロックを有し、
前記左上近隣ブロックのＣＢＰＹのビットと前記左近隣ブロックのＣＢＰＹのビットとの間の垂直グラディエントが、前記左上近隣ブロックのＣＢＰＹのビットと前記上近隣ブロックのＣＢＰＹのビットとの間の水平グラディエントより低い場合に、前記所与のブロックに関する前記予測子ビットは、前記上近隣ブロックのＣＢＰＹのビットであり、
前記水平グラディエントが前記垂直グラディエントより低い場合に、前記所与のブロックに関する前記予測子ビットは、前記左近隣ブロックのＣＢＰＹのビットであることと、
前記所与のブロックに関する前記予測子ビットと前記第１の情報の前記複数のビットに対応する１つのビットとの排他的ＯＲをとることにより、前記所与のブロックに関する前記複数のＣＢＰＹのビットのうちの１つのビットを決定することにより決定するステップと、
前記再構築において、前記複数のマクロブロックに関する符号化ブロックパターンを使用するステップと
を備えたことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記所与のブロックに関する前記予測子ビットと前記第１の情報の前記複数のビットに対応する１つのビットとの排他的ＯＲをとることは、ビット単位のＸＯＲ演算であることを特徴とする方法。
【請求項３】
請求項１に記載の方法において、前記ビデオデコーダはイントラタイプのマクロブロックに関して前記空間予測を実行し、他のタイプのマクロブロックに関しては実行しないことを特徴とする方法。
【請求項４】
請求項１に記載の方法において、少なくとも何らかの前記空間予測は以前に復号化された符号化ブロックパターンに基づくことを特徴とする方法。
【請求項５】
１つのビデオシーケンスの中の１つまたは複数のイメージを、ビデオエンコーダにより符号化する方法であって、
複数のマクロブロックに関して符号化ブロックパターン（ＣＢＰ）を符号化するステップであって、前記符号化ブロックパターンは前記複数のマクロブロックの複数の輝度ブロックおよび複数の色差ブロックのいずれがビットストリーム中の対応変換係数データを有するかを示すステップを有し、
前記マクロブロックの複数の輝度ブロックに関して、前記符号化ブロックパターンの輝度に関する符号化ブロックパターン（ＣＢＰＹ）のビットに関する第１の情報を決定するステップであって、前記マクロブロックの前記複数の輝度ブロックの所与のブロックに関して、
前記所与のブロックに関する予測子ビットを、空間予測により計算することであって、前記所与のブロックは、前記所与のブロックの上、左、および左上のそれぞれに近隣ブロックを有し、
前記左上近隣ブロックのＣＢＰＹのビットと前記左近隣ブロックのＣＢＰＹのビットとの間の垂直グラディエントが、前記左上近隣ブロックのＣＢＰＹのビットと前記上近隣ブロックのＣＢＰＹのビットとの間の水平グラディエントより低い場合に、前記所与のブロックに関する前記予測子ビットは、前記上近隣ブロックのＣＢＰＹのビットであり、
前記水平グラディエントが前記垂直グラディエントより低い場合に、前記所与のブロックに関する前記予測子ビットは、前記左近隣ブロックのＣＢＰＹのビットであることと、
前記所与のブロックに関する前記予測子ビットと前記所与のブロックに関する前記複数のＣＢＰＹのビットの１つのビットとの排他的ＯＲをとることにより、前記第１の情報の複数のビットに対応する１つのビットを決定することを含むステップと、
可変長符号を符号化するステップであって、該可変長符号は符号テーブルにおける符号テーブルエントリを示し、前記符号テーブルエントリは、前記第１の情報および第２の情報を表す結合パラメータを規定しており、前記第２の情報は前記符号化ブロックパターンの色差に関する複数の符号化ブロックパターン（ＣＢＰＣ）のビットを表すステップと、
前記可変長符号を出力するステップと
を有することを特徴とする方法。
【請求項６】
請求項５に記載の方法において、前記所与のブロックに関する前記予測子ビットと前記所与のブロックに関する前記符号化ブロックパターンの前記複数のＣＢＰＹのビットのうちの１つのビットとの排他的ＯＲをとることは、ビット単位のＸＯＲ演算であることを特徴とする方法。
【請求項７】
請求項５に記載の方法において、前記ビデオエンコーダはイントラタイプのマクロブロックに関して前記空間予測を実行し、他のタイプのマクロブロックに関しては実行しないことを特徴とする方法。
【請求項８】
請求項５に記載の方法において、少なくとも何らかの前記空間予測は以前に符号化された符号化ブロックパターンに基づくことを特徴とする方法。
【請求項９】
請求項１乃至４のいずれかに記載の方法において、前記左上近隣ブロック、前記左近隣ブロック、および前記上近隣ブロックのうちの少なくとも１つは前記所与のブロックと同一のマクロブロック内にあることを特徴とする方法。
【請求項１０】
請求項１乃至４のいずれかに記載の方法において、前記左上近隣ブロック、前記左近隣ブロック、および前記上近隣ブロックの少なくとも１つは前記所与のブロックとは異なるマクロブロック内にあることを特徴とする方法。
【請求項１１】
請求項１乃至４のいずれかに記載の方法において、前記複数のマクロブロックの各マクロブロックに関して、該マクロブロックは４つの８×８の輝度ブロックと２つの８×８の色差ブロックを有し、および前記符号化ブロックパターンは６ビットで構成され、各ビットは前記４つの輝度ブロックおよび２つの色差ブロックの対応ブロックが前記ビットストリーム中の対応変換係数データを有するかを示すことを特徴とする方法。
【請求項１２】
請求項１乃至４のいずれかに記載の方法を、それによりプログラムされたコンピュータシステムに実行させるコンピュータ実行可能命令を記録したことを特徴とするコンピュータ読み取り可能媒体。
【請求項１３】
請求項５乃至８のいずれかに記載の方法において、前記左上近隣ブロック、前記左近隣ブロック、および前記上近隣ブロックのうちの少なくとも１つは前記所与のブロックと同一のマクロブロック内にあることを特徴とする方法。
【請求項１４】
請求項５乃至８のいずれかに記載の方法において、前記左上近隣ブロック、前記左近隣ブロック、および前記上近隣ブロックのうちの少なくとも１つは前記所与のブロックとは異なるマクロブロック内にあることを特徴とする方法。
【請求項１５】
請求項５乃至８のいずれかに記載の方法において、前記複数のマクロブロックの各マクロブロックに関して、前記マクロブロックは４つの８×８の輝度ブロックと２つの８×８の色差ブロックを有し、および前記符号化ブロックパターンは６ビットで構成され、各ビットは前記４つの輝度ブロックおよび２つの色差ブロックの対応ブロックが前記ビットストリーム中の対応変換係数データを有するかを示すことを特徴とする方法。
【請求項１６】
請求項５乃至８のいずれかに記載の方法を、それによりプログラムされたコンピュータシステムに実行させるコンピュータ実行可能命令を記録したことを特徴とするコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はビデオ符号化に関し、具体的には、フレームベースおよびオブジェクトベースのビデオ符号化フォーマットで使用されるブロックパラメータを符号化する改良方法に関する。
【背景技術】
【０００２】
アナログビデオ信号をベースとするフルモーションビデオディスプレイは、長期間にわたってテレビジョンの形で利用されてきた。近年、コンピュータの処理能力が進歩し、コンピュータが手ごろな値段で入手可能になったことに伴い、デジタルビデオ信号をベースとするフルモーションビデオディスプレイが幅広く利用されるになっている。デジタルビデオシステムは、従来のアナログビデオシステムに比べると、フルモーションビデオシーケンスの作成、変更、伝送、保管、およびプレイ（再生）の面で大幅に改善している。
【０００３】
デジタルビデオディスプレイは、30Hzから75Hzまでの範囲の周波数で連続的にプレイまたはレンダリング (rendering) される画像フレーム (image frame) を非常に多数含んでいる。各画像フレームは、特定のシステムのディスプレイ解像度に基づくピクセル配列 (array of pixels) から作られる静止画像 (still image) になっている。いくつかの例を挙げると、VHSベースのシステムでは、ディスプレイ解像度が320 x 480ピクセルに、NTSCベースのシステムでは、ディスプレイ解像度が720 x 486ピクセルに、開発段階にある高精細テレビジョン (high-definition television  HDTV) ベースのシステムでは、ディスプレイ解像度が1360 x 1024ピクセルになっている。
【０００４】
ビデオシーケンスに含まれる生 (raw  未処理) デジタル情報量は非常に大量である。このような大量のビデオ情報を保管し、伝送することは、従来のパーソナルコンピュータ機器では実現不可能である。例えば、解像度が320 x 480ピクセルである、相対的に低解像度のVHS画像フォーマットをデジタル化した場合を考えてみる。全長の持続時間が２時間で、この解像度のときのモーションピクチャ（動画）は、100ギガバイトのデジタルビデオ情報に相当している。これに比べて、従来のコンパクト光ディスクは容量が0.6ギガバイトであり、磁気ハードディスクは容量が1-2ギガバイトであり、開発段階にあるコンパクト光ディスクは容量が最大8ギガバイトである。
【０００５】
このような大量のデジタルビデオ情報を保管または伝送するときの制約を解消するために、さまざまなビデオ圧縮標準またはプロセスが確立されており、その中には、MPEG-1、MPEG-2、およびH.26Xが含まれている。これらのビデオ圧縮手法は、時間的またはインタフレーム（フレーム間）相関 (temporal or interframe correlation) と呼ばれる、連続する画像フレーム間の類似性を利用してインタフレーム圧縮を得ており、そこではフレーム間の変化を符号化（エンコード）するために動きデータ (motion data) と誤差信号が使用されている。
【０００６】
さらに、従来のビデオ圧縮手法は、空間的またはイントラフレーム（フレーム内）相関 (spatial or intraframe correlation) と呼ばれる、画像フレーム内の類似性を利用してイントラフレーム圧縮を得ており、そこでは画像フレーム内の画像サンプルが圧縮されている。イントラフレーム圧縮は、離散コサイン変換 (discrete cosine transform  DCT) 符号化のように、静止画像を符号化する従来のプロセスに基づいている。このタイプの符号化は、「テクスチャ(texture)」または「変換(transform)」符号化とも呼ばれている。ここで「テクスチャ」とは、広い意味では、色差（chrominance  クロミナンス）値と輝度（luminance  ルミナンス）値の配列（アレイ）やアルファ（半透明）値の配列のように、画像サンプル値の２次元配列のことである。また、ここで言う「変換」という用語は、符号化プロセスの過程で画像サンプルがどのように空間的周波数成分に変換されるかを表している。ここで使用している「変換」という用語は、ある種のインタフレーム圧縮手法でシーン変化を推定するために使用される幾何的変換 (geometric transform) とは区別しておく必要がある。
【０００７】
インタフレーム圧縮では、動き推定 (motion estimation) と動き補償 (motion compensation) を利用して、フレーム間のシーン変化を推定しているのが代表的である。動き推定とは、フレーム間の画像サンプル（例えば、ピクセル）の動きを推定するプロセスである。動き推定を使用して、符号器（encoder − エンコーダ）は、あるフレーム内のピクセルのブロックを別のフレーム内の対応するピクセルと突き合わせることを試みている。最も類似するブロックが所与のサーチエリアで見つかると、対応するピクセルのピクセルロケーションの位置変化が近似化され、動きベクトル (motion vector) のように、動きデータとして表されている。動き補償とは、予測画像 (predicted image) を判断し、その予測画像とオリジナル画像との誤差を計算するプロセスである。動き補償を使用して、符号器は動きデータを画像に適用し、予測画像を計算する。予測画像と入力画像との差分は、誤差信号と呼ばれている。誤差信号は、画像サンプル値間の差分を表す値の配列にすぎないため、この誤差信号は、画像サンプルをイントラフレーム符号化するときに使用されるのと同じテクスチャ符号化手法を使用して圧縮することができる。
【０００８】
具体的実装方法に違いがあるとしても、MPEG-1、MPEG-2、およびH.26Xビデオ圧縮標準には類似する面がいくつかある。以下ではMPEG-2ビデオ圧縮標準が説明されているが、その説明は全体的には他のビデオ標準にも当てはまるものである。
【０００９】
MPEG-2では、ビデオ画像内のピクセルの四角ブロックまたは配列に基づいてインタフレーム圧縮とイントラフレーム圧縮を得ている。ビデオ画像は、16 x 16ピクセルの寸法をもつマクロブロック (macroblock) と呼ばれる、画像サンプルブロックに分割されている。MPEG-2では、マクロブロックは、4つの輝度ブロック（各ブロックは8 x 8輝度(Y)サンプルからなる）と2つの色差ブロック（CbとCrごとに8 x 8 サンプルブロック）を含んでいる。
【００１０】
MPEG-2では、インタフレーム符号化はマクロブロックについて行われている。MPEG-2符号器は、動き推定と動き補償を行って動きベクトルとブロック誤差信号を計算している。画像フレームN内の各々のブロックMNごとに、次に続くビデオフレームN+1または直前の画像フレームN-1の画像を横切るように（つまり、双方向に）サーチが行われ、最も類似するそれぞれのブロックMN+1またはMN-1を特定している。最も類似するブロックがブロックMNに対して置かれている相対的位置は、動きベクトル(DX,DY) を使用して符号化される。そのあと、動きベクトルは予測サンプル値のブロックを計算するために使用される。これらの予測サンプル値はブロックMNと比較され、ブロック誤差信号が求められる。誤差信号は、離散コサイン変換 (DCT) 符号化などの、テクスチャ符号化手法を使用して圧縮される。
【００１１】
オブジェクトベースのビデオ符号化手法は、従来のフレームベース符号化標準の改良版として提案されたものである。オブジェクトベース符号化では、任意形状画像フィーチャは、「セグメンテーション(segmentation)」と呼ばれる手法を使用してビデオシーケンス内のフレームから分離されている。ビデオオブジェクト、つまり、「セグメント」は独立に符号化されている。オブジェクトベース符号化によると、連続フレーム内のビデオオブジェクト間のインタフレーム相関が大きくなるので、圧縮レートを改善することができる。また、オブジェクトベース符号化は、ビデオシーケンス内のオブジェクトにアクセスし、それをトラッキング（追跡）していく必要のある種々のアプリケーションで利用すると、便利である。
【００１２】
MPEG-4標準用に提案されているオブジェクトベースのビデオ符号化手法では、ビデオオブジェクトの形状、動きおよびテクスチャは独立に符号化されている。オブジェクトの形状は、ビデオフレーム内の任意形状オブジェクトの境界を定義しているバイナリ (binary) またはアルファ (alpha) マスクで表されている。オブジェクトの動きは、長方形フレームから分離されたオブジェクトの任意形状画像に適用されることを除けば、MPEG-2の動きデータに類似している。動き推定と動き補償は、フレーム全体ではなく、「ビデオオブジェクトプレーン」のブロックに対して行われる。ビデオオブジェクトプレーン (video object plane) とは、シングルフレーム内のオブジェクトの形状画像を表す名前である。
【００１３】
ビデオオブジェクトのテクスチャは、オブジェクトの形状内側に位置するビデオオブジェクトプレーン内の画像サンプル情報である。オブジェクトの画像サンプルと誤差信号のテクスチャ符号化は、フレームベース符号化で行われるのと類似のテクスチャ符号化手法を使用して行われる。例えば、セグメント化画像は、マクロブロックから形成された境界長方形 (bounding rectangle) 内に収めることが可能である。境界長方形で形成された長方形画像は、透明マクロブロックは符号化の必要がないことを除けば、長方形フレームと同じように圧縮することができる。部分的に透明なブロックは、そのオブジェクトの形状境界外側に位置するオブジェクト部分に、「パディング(padding  埋め込み)」と呼ばれる方法でサンプル値を埋め込んだあと符号化されている。
【００１４】
MPEG-2とH26Xのようなフレームベース符号化手法およびMPEG-4用に提案されたオブジェクトベース符号化手法は、マクロブロックに対してインフラフレーム符号化とインタフレーム符号化を行う点で類似している。各マクロブロックは、マクロブロックに関する情報を与える一連のオーバヘッドパラメータを含んでいる。図１に示す例は、インタフレームマクロブロックのヘッダの中で使用されているマクロブロックパラメータである。CODパラメータ (10) は、インタフレームマクロブロックが符号化されているかどうかを示すシングルビットである。具体的に説明すると、このビットは、符号化マクロブロックが動きデータとテクスチャ符号化誤差データを含んでいるかどうかを示している。動きデータと誤差信号データがゼロである場合には、CODビットがあると、動きベクトルとテクスチャデータが符号化されていないことを示す追加ビットの代わりにシングルビットだけが送られるので、マクロブロックを符号化するために必要な情報が減少することになる。
【００１５】
CODビットのほかに、マクロブロックの符号化シンタックスには、色差と輝度の符号化変換係数 (coded transform coefficient) がマクロブロックに対して送信されるかどうかを示す符号化ブロックパラメータ (coded block parameter  CBP) が含まれている。変換係数があるブロックに対してすべてゼロであれば、そのブロックのテクスチャデータを送信しないで済むことになる。色差の符号化ブロックパラメータ (Coded Block Parameters for chrominance  CBPC) は、符号化テクスチャデータが２色差ブロックの各々に対して送信されるかどうかを示す２ビットである。
【００１６】
CBPCビットは、マクロブロックの量子化タイプに関する情報を与える別のフラグと一緒に符号化される。これらのフラグは、MCBPC(12)と呼ばれるパラメータを作るように結合され、MCBPCは、ハフマン (Huffman) 符号化または算術 (arithmetic) 符号化のような、エントロピ (entropy) 符号化手法を使用してエントロピ符号化される。
【００１７】
AC_Pred_flag(14)と名付けたパラメータは、AC予測がマクロブロックで使用されているかどうかを示すフラグである。
【００１８】
輝度の符号化ブロックパターン (Coded Block Pattern for luminance  CBPY)(16) は、符号化テクスチャデータが４輝度ブロックの各々に対して送信されるかどうかを示す４ビットから構成されている。MCBPCパラメータと同様に、CBPYフラグも、ハフマン符号化または算術符号化のどちらかを使用してエントロピ符号化される。
【００１９】
CBPYパラメータのあとに続いて、マクロブロックは符号化動きベクトルデータを含んでいる（図１にアイテム18で示されている）。動きベクトルデータのあとに続いて、「ブロックデータ」は、マクロブロックの符号化テクスチャデータを表している（図１にブロックデータ20で示されている）。
【発明の開示】
【発明が解決しようとする課題】
【００２０】
図１に示す符号化アプローチの１つの欠点は、CBPCフラグとCBPYフラグが別々に符号化されることであり、従って、マクロブロックオーバヘッドを低減するためにこれらのパラメータ間の相関が利用されていないことである。さらに、符号化ブロックパラメータの空間的依存性 (spatial dependency) が利用されていないことである。
【００２１】
そこで、本発明の目的は、パラメータ間の相関を利用してマクロブロックオーバヘッドを低減することができる画像データの復号化方法およびそのためのプログラムを記録したコンピュータ読み取り可能媒体を提供することにある。
【課題を解決するための手段】
【００２２】
本発明は、ビデオ符号化アプリケーションにおいてマクロブロックヘッダパラメータを符号化する改良方法を提供している。本発明の一態様によれば、符号化ブロックパラメータのすべてを、シングル可変長符号で一緒に符号化することによって符号化ブロックパラメータ間の相関を利用している符号化方法が提供されている。本発明の別の態様によれば、近隣ブロックの符号化ブロックパターン間の空間的依存性を利用している符号化方法が提供される。
【００２３】
本発明の一態様では、マクロブロック内の輝度と色差を表す符号化ブロックパラメータは、マクロブロックに関してシングルの結合パラメータとなるように形成される。この結合パラメータ (combined parameter) には、可変長符号化テーブル (variable length coding table) からの可変長符号が割り当てられる。符号化テーブルは、ターゲットビットレート（例えば、低ビットレートのインターネットアプリケーション）およびビデオコンテンツ（例えば、トーキングヘッドビデオ(talking head video)）のターゲットクラスに基づいてトレーニングされている。輝度値と色差値を一緒に符号化することによって、符号器（エンコーダ）はマクロブロック内の、これらのパラメータ間の相関を利用する。
【００２４】
符号化効率をさらに改善するために、本発明の態様によれば、近隣ブロックの符号化ブロックパラメータの空間的依存性を利用するために予測が使用されている。結合パラメータに可変長符号を割り当てる前に、符号化ブロックパラメータの一部は近隣ブロックから予測される。例えば、イントラフレームマクロブロックの場合には、符号器は、輝度に関する各々の符号化ブロックパラメータごとに空間的予測値 (spatially predicted value) を計算する。この空間的予測パラメータは、マクロブロックに関する結合パラメータの一部を形成する。
【００２５】
本発明のその他の特徴と利点は、本発明の実施形態を詳述している以下の説明と添付図面に示されているとおりである。
【発明の効果】
【００２６】
本発明によれば、符号化ブロックパターンの圧縮の際に使用される予測子は空間予測を使用して、決定される。符号化ブロックパターンの復号化に際しては圧縮の逆のプロセスにより符号化ブロックパターンを復号化する。上記予測子を空間予測子により決定することで、符号化効率をさらに改善し、符号化ブロックパラメータの空間的依存性を利用した画像データの圧縮および復号化を提供することができる。
【発明を実施するための最良の形態】
【００２７】
（序論）
以下の最初のセクションでは、ビデオ符号器（エンコーダ）と復号器（デコーダ）の説明が記載されている。そのあとに続くセクションでは、CBPCパラメータとCBPYパラメータ間の相関を利用し、近隣ブロックの符号化ブロックパラメータの空間的依存性を利用すると、マクロブロックヘッダパラメータの符号化がどのように改善されるかが説明されている。
【００２８】
本発明は、フレームベースのビデオ符号化にも、ブロックベースのビデオ符号化にも利用することができるので、マクロブロックがフレームのシーケンスからセグメント化された任意のビデオオブジェクトのコンポーネントであるか、長方形形状の画像フレームのコンポーネントであるかに関係なく、マクロブロックパラメータの符号化を改善している。オブジェクトベース符号化では、フレームベース符号化で使用されるのと類似の動き符号化モジュールとテクスチャ符号化モジュールが使用されている。さらに、オブジェクトベース符号器は、形状符号化モジュール (shape coding module) も含んでいる。本発明に係わるブロックシンタックスは、フレームベース符号化とブロックベース符号化のどちらにも類似している。次のセクションに説明されている符号器と復号器はオブジェクトベースになっているが、これらは、フレームベースの符号化方式でも、オブジェクトベースの符号化方式でも、本発明がどのように実現されるかを理解するのに十分な基礎を提供する。
【００２９】
（符号器と復号器の例の説明）
図２は、オブジェクトベースのビデオ符号器の実施形態を示すブロック図である。符号器への入力３０は、一連のオブジェクト、その形状情報および境界長方形 (bounding rectangle) を含んでいる。従って、形状情報は、符号器がテクスチャデータまたは動きデータを符号化する前に利用可能になっている。フレームベースの符号化がオブジェクトベースの符号化と異なる点は、フレーム全体が形状情報なしで符号化される点である。
【００３０】
形状符号化モジュール３２は、その境界長方形を含むオブジェクトの定義を受け取り、境界長方形をマクロブロックの整数倍数に拡大する。オブジェクトの形状情報はマスクまたは「アルファプレーン(alpha plane)」を含んでいる。形状符号化モジュール３２はこのマスクを読み取り、例えば、従来のチェーン符号化 (chain coding) 手法を使用してオブジェクトの輪郭を符号化することによってマスクを圧縮する。
【００３１】
動き推定モジュール３４は、その境界長方形を含んでいるオブジェクトと以前に再構築された画像３６を読み取り、あるフレームから別のフレームへのオブジェクトの動きを予測するために使用される動き推定データを計算する。現オブジェクト画像内のマクロブロックを特定したあと、動き推定モジュール３４は、現オブジェクト画像内の各々のマクロブロックごとに再構築画像内の最も類似するマクロブロックを探し出し、各々のマクロブロックごとに動きデータを計算する。動き推定モジュール３４からの動きデータの具体的フォーマットは、使用される動き推定手法に応じて変化させることが可能である。以下に説明している実施形態では、各マクロブロックの動きベクトルは、現行MPEGとH26Xのフォーマットに準拠するように計算される。
【００３２】
動き補償モジュール３８は、動き推定モジュールによって計算された動きベクトルと以前に再構築された画像３６を読み取り、現フレームの予測画像を計算する。符号器は、入力３０の中で指定されている、入力画像ブロック内の画像サンプル値と、動き補償モジュール３８で計算されたときの、予測画像ブロック内の対応するサンプル値との差分を求め、マクロブロックの誤差信号を判断する。
【００３３】
テクスチャ符号化モジュール４０は、インタフレーム（フレーム間）符号化オブジェクトについては、この誤差信号を圧縮し、イントラフレーム（フレーム内）符号化オブジェクトについては、入力データストリーム３０からのオブジェクトに対する画像サンプル値を圧縮する。テクスチャ符号化モジュール４０からのフィードバック路４２は、復号化誤差信号を表している。符号器は誤差信号マクロブロックと、動き補償モジュールからの予測画像マクロブロックとを併用して、以前に再構築された画像３６を計算する。
【００３４】
テクスチャ符号化モジュール４０は、オブジェクトに対するイントラフレームのブロックと誤差信号データを、各種の静止画像圧縮手法のいずれかを使用して符号化する。圧縮手法の例としては、DCTやウェーブレット (wavelet) 符号化などの、変換をベースとする手法のほかに、LaPlacian Pyramid符号化などの、従来の画像圧縮方法がある。
【００３５】
圧縮ビデオシーケンスのビットストリームは、形状符号化モジュール、動き推定モジュール、およびテクスチャ符号化モジュールからの形状、動きおよびテクスチャ符号化情報を含んでいる。マルチプレクサ４４はこのデータを結合し、正しいシンタックスになるようにフォーマッティングし、それをバッファ４６に出力する。
【００３６】
符号器はハードウェアでも、ソフトウェアでも実現できるが、ソフトウェアで実現されることが最も多い。ソフトウェアで実現する場合には、符号器内のモジュールは、コンピュータのメモリに格納され、プロセッサで実行されるソフトウェア命令とメモリに格納されたビデオデータを表している。ソフトウェアによる符号器（エンコーダ）は、従来の種々コンピュータ読取可能媒体に格納し、分散させることができる。ハードウェアで実現する場合には、符号器内のモジュールはデジタルロジック、好ましくは、集積回路に実装されている。符号器がもつ機能の一部を、コンピュータ周辺の特殊目的デジタルロジックデバイスに実装しておくと、処理負担がホストコンピュータから解放されるので、最適化されることになる。
【００３７】
図３は、オブジェクトベースのビデオ符号化手法のための復号器（デコーダ）を示すブロック図である。デマルチプレクサ６０は、圧縮ビデオシーケンスを表しているビットストリーム６２を受け取り、形状、動きおよびテクスチャ符号化データを、オブジェクトごとの単位で分離する。形状復号化モジュール６４は、処理される現オブジェクトの形状または輪郭を復号化する。これを行うために、このモジュールは、図２の符号器で使用されている形状符号化方法の逆を実装している形状復号器を採用している。その結果の形状は、オブジェクトの形状を表しているバイナリアルファプレーンまたはグレースケールアルファプレーンのように、マスクになっている。
【００３８】
動き復号化モジュール６６は、ビットストリームに含まれる動き情報を復号化する。復号化される動き情報には、どのタイプの推定方法が符号器で使用されたかに応じて、マクロブロックのブロックに対する動きベクトルなどの動きデータまたは幾何変換係数 (geometric transform coefficient) が含まれている。動き復号化モジュール６６は、この動き情報を動き補償モジュール６８に渡し、動き補償モジュール６８はその動きデータを、以前に再構築されたオブジェクトデータ７０に適用する。
【００３９】
テクスチャ復号化モジュール７４は、インタフレーム符号化テクスチャデータの誤差信号と、イントラフレームテクスチャデータのカラー値の配列とを復号化し、この情報をモジュール７２に渡し、再構築画像の計算と累算が行われる。インタフレーム符号化オブジェクトの場合は、このモジュール７２は誤差信号データを、動き補償モジュールからの予測画像出力に適用し、現フレームに対する再構築オブジェクトが計算される。イントラフレーム符号化オブジェクトの場合は、テクスチャ復号化モジュール７４は、オブジェクトの画像サンプル値を復号化し、再構築オブジェクトを再構築オブジェクトモジュール７２の中に置いておく。以前に再構築されたオブジェクトは一時的にオブジェクトメモリ７０に格納しておき、他のフレームのオブジェクトを構築するために使用される。
【００４０】
符号器と同じように、復号器はハードウェアでも、ソフトウェアでも、あるいはその組み合わせでも実現することができる。ソフトウェアで実現する場合には、復号器内のモジュールは、コンピュータのメモリに格納され、プロセッサで実行されるソフトウェア命令になっている。ソフトウェアの復号器（デコーダ）は、従来の種々コンピュータ読取可能媒体に格納し、分散させることができる。ハードウェアで実現する場合には、復号器のモジュールはデジタルロジック、好ましくは、集積回路に実装されている。復号器がもつ機能の一部を、コンピュータ周辺の特殊目的デジタルロジックデバイスに実装しておくと、処理負担がホストコンピュータから解放されるので、最適化されることになる。
【００４１】
（マクロブロック符号化オーバヘッドの改善）
本発明によれば、マクロブロックヘッダパラメータの符号化を改善する革新がいくつか行われている。その１つは、CBPCとCBPYとの相関を利用するように符号化ブロックパラメータを符号化する方法である。この革新は、結合されたCBPCとCBPYパラメータを、シングル可変長符号で一緒に符号化することによって実現されている。もう１つの革新は、符号化ブロックパラメータの空間的依存性を利用することによって、ヘッダパラメータの符号化効率をさらに改善したことである。具体的には、符号化ブロックパラメータは、近隣ブロックのパラメータから予測することによって、その圧縮効率が改善されている。
【００４２】
図４は、本発明の実施形態によって計算されるヘッダブロックパラメータを示す図である。図１に示すヘッダ情報と同様に、このヘッダブロックは、CODパラメータ８０、AC_Pred_flag８２、動きベクトルデータ (MV 84)およびブロックデータ８６を含んでいる。図１のヘッダとは異なり、MCBPCとCBPYパラメータは、MBCBPCY ８８と名付けたシングル可変長符号で一緒に符号化されている。この符号は、色差と輝度を表す符号化ブロックパラメータを、マクロブロックタイプを表すフラグと一緒に結合している。
【００４３】
図５は、イントラ(Ｉ)フレームと予測（Ｐ）フレームの可変長符号が、本発明の実施形態によれば、どのように生成されるかを示すフロー図である。この特定実施形態によると、ＩフレームとＰフレームでは、そのヘッダブロックの符号化の仕方が異なっている。Ｉフレームについては、符号器は輝度を表す符号化ブロックパラメータを予測してから、可変長符号を選択する追加ステップを実行している。Ｐフレームについても予測を使用することが可能である。しかし、Ｐフレームで予測を使用しても、符号化効率が大幅に改善することがなく、場合によっては、符号化効率が低下することさえ起こり得る。
【００４４】
符号化ブロックパラメータで予測を使用する目標は、これらのパラメータのゼロ値を可能な限り多くすることである。値の大部分をゼロにすると、符号器は符号化ブロックパラメータの差異を少なくすることになる。可変長符号化テーブルをトレーニングするようにすると、ゼロ値を得るのに有利になるため、符号化効率が改善することになる。Ｐフレームでは、特に低ビットレートアプリケーションにおいては、符号化ブロックパラメータは、予測前にほとんどがゼロになっている。そのため、予測を行っても、ゼロ値を多くすることには役立たず、場合によっては、ゼロ値の数が減少することさえある。従って、図５に示す実施形態では、Ｐフレームでは予測が使用されていない。
【００４５】
Ｐフレームについては、符号器は、ステップ１００に示すように、輝度と色差を表す符号化ブロックパラメータを見つけることから始める。これらのブロックパラメータは各々がシングルビットであり、対応するブロックがテクスチャ符号化されているかどうかを示している。符号化ブロックパラメータは、テクスチャ符号化モジュール（図２中の４０）で計算され、符号化テクスチャ値が非ゼロである、各々のブロックごとに符号化ブロックフラグがセットされる。これとは逆に、テクスチャ値がすべてゼロになっている（または無視し得るほどゼロに近くなっている）ブロックについては、符号化ブロックパラメータの値はゼロである。
【００４６】
色差を表すブロックはマクロブロック内に２つあり（８ｘ８ピクセルＵブロックとＶブロックごとに１つ）、輝度を表すブロックはマクロブロック内に４つあるので（４個の８ｘ８ブロックごとに１つ）、符号化ブロックパターンの結合パラメータは総計８ビットである。この６ビット数を、マクロブロックタイプを表すシングルビットと結合することにより、符号器はステップ１０２に示すように７ビット数を形成する。マクロブロックタイプは、マクロブロックがＩフレームに対するものであるか、Ｐフレームに対するものであるかを示している。
【００４７】
結合MBCBPCYが形成されると、ステップ１０４に示すように、結合パラメータが可変長符号化テーブルで調べられ、そのパラメータに関連する、対応する可変長符号が見つけられる。符号器は結合パラメータMBCPCYにシングル可変長符号を割り当てる。
【００４８】
この実施形態における符号化テーブルはハフマン (Huffman) 符号化テーブルになっている。このテーブルは、好ましくは、ターゲットレートとターゲットシナリオに基づいてトレーニングされている。下に示す表１は、低ビットレートの「トーキングヘッド(talking head)」シナリオのときに得られた可変長符号化 (Variable Length Coding  VLC) テーブルである。Ｐフレーム内の各々のマクロブロックごとに、結合MBCBPCY情報は、このテーブル内の対応するエントリのコードワードを使用して符号化される。
【００４９】
【表１−１】
0004673758.tif 000002
【００５０】
【表１−２】
0004673758.tif 000003
【００５１】
【表１−３】
0004673758.tif 000004
【００５２】
図５に示す実施形態では、Ｉフレームの符号化の仕方がＰフレームと異なっているのは、符号器は、符号化ブロックパラメータの空間的依存性を利用するために予測を使用しているからである。各々のマクロブロックごとに、符号器は、ステップ１０６に示すように、色差と輝度を表す符号化ブロックパラメータを取得することから始める。
【００５３】
次に、符号器は輝度を表す符号化ブロックパラメータの予測子 (predictor) を計算する。この特定実施形態では、符号器は、CBPYパラメータに対してのみ予測を使用している。しかし、色差を表す符号化ブロックパラメータを予測するために同じ予測方法を使用することも可能である。色差の場合には、予測は、同一マクロブロックまたは近隣マクロブロックに置かれていることのある、近隣の8 x 8ピクセル輝度ブロックではなく、近隣マクロブロック内の8 x 8ピクセル色差ブロックに基づいて計算される。各マクロブロックは４個の輝度ブロックをもっているため、ある輝度ブロックが与えられているとき、その近隣ブロックは同じマクロブロックまたは近隣ブロックからのものであることがある。色差ブロックと係わりのある予測では、近隣ブロックは近隣マクロブロックからのものである。
【００５４】
符号器は、符号化ブロックパラメータに対して空間的予測を行う。最初に、符号器は近隣ブロックの符号化ブロックパラメータを調べ、ブロックパラメータの値が、近隣ブロックから関心のある現ブロックまでに変化する可能性があるかどうかを判断する。符号化ブロックパラメータの変化が最小であるブロックのロケーションが特定できる場合には（つまり、符号化ブロックパラメータの空間的グラジエント (spatial gradient) が最低である場合）、そのロケーションにあるブロックの符号化ブロックパラメータが予測子として使用される。その他の場合は、どの近隣が予測子として使用されるかは重要ではなく、１つの近隣が選択されるだけである。予測子を選択する具体例は、図６乃至図８を参照して、以下に詳しく説明されている。
【００５５】
次のステップ１１０で、符号器は符号化ブロックパラメータの予測値を計算する。予測値は、予測ブロックと現ブロックの符号化ブロックパラメータの変化を表している。予測値を計算するために、符号器は、予測値と現ブロック値に対してビットワイズ排他的OR(XOR) を実行する。CBPCY_XORと名付けた、その結果のベクトルには、ハフマンテーブルからの可変長符号が割り当てられる。符号器は、テーブル内のCBPCY_XORのエントリを調べ、対応する可変長符号を見つける。下の表２は、本実施形態においてＩフレームの予測CBPCY値を符号化するために使用されるVLCテーブルを示している。
【００５６】
【表２−１】
0004673758.tif 000005
【００５７】
【表２−２】
0004673758.tif 000006
【００５８】
図６乃至図８は、符号器で行われる空間的予測を詳細に示している。図６は、４個の近隣マクロブロック（上左−１２０、上右−１２２、下左−１２４、下右−１２６）を示す図である。以下の例では、円で囲まれている下右ブロックを中心に説明している。マクロブロックの各々は、輝度を表す４個の8 x 8ピクセルブロックを含み、これらはY1、Y2、Y3およびY4と名付けられている。
【００５９】
マクロブロック１２６の上左輝度ブロックY1を例にして検討することにする。予測子を計算するために使用されるブロックは、破線１２８で囲まれている。関心のあるブロックはY1（ブロック１３０ａで示されている）であるので、予測子を計算するために使用されるブロックは、１３２ａ、１３４ａ、および１３６ａで示した近隣ブロックである。
【００６０】
具体例として、図７は、図６の破線で囲まれたブロックの各々の、符号化ブロックパターンパラメータの値を示している。参照符号１３０ｂ、１３２ｂ、１３４ｂおよび１３６ｂは、それぞれ図６のブロック１３０ａ、１３２ａ、１３４ａおよび１３６ａに対応している。近隣符号化ブロックパラメータの空間的グラジエントは予測子を選択するために使用される。具体的には、垂直グラジエントは、上左と左の近隣ブロック（図７に円１４０で囲んで示している１３６ａ、１３２ａ）の符号化ブロックパラメータから計算される。水平グラジエントは、上左と上の近隣ブロック（図７に円１４２で囲んで示している１３６ａ、１３０ａ）の符号化ブロックパラメータから計算される。
【００６１】
図８は、予測子を見つけるときのステップを示すフロー図である。最初に、符号器は垂直グラジエントと水平グラジエントを見つける。各々のグラジエントは、図７に円で囲んで示されている符号化ブロックパラメータの排他的ORをとることによって計算される（１４０は垂直グラジエント、１４２は水平グラジエントである）。次に、符号器はグラジエント値を比較する。グラジエントが同じでなければ、符号器は、低い方のグラジエントの方向にブロックに割り当てられている値を予測子として選択する。図７に示す例では、垂直グラジエントはゼロであるのに対し、水平グラジエントは１である。従って、低い方のグラジエントの方向は上になっている。従って、ブロック１３４ａに対する符号化ブロックパラメータの値が予測子として選択されるが、これはその値が関心のあるブロックに対して「上」方向に置かれているからである。
【００６２】
符号化ブロックパラメータを変更するために予測が使用されるか否かに関係なく、最終結果は、マクロブロックの符号化ブロックパラメータのすべてを表しているシングル可変長符号である。ＩフレームとＰフレームの符号化の仕方はこの実施形態では異なるため、復号器はこれらのフレームのマクロブロックを異なった扱い方をする。Ｐフレームについては、復号器はVLCテーブル１を使用してシングル可変長符号を調べ、輝度と色差を表す符号化ブロックパラメータを表している結合パラメータを格納している、対応するエントリを見つける。Ｉフレームについては、復号器はVLCテーブル２を使用してシングル可変長符号を調べ、輝度と色差を表す符号化ブロックパラメータを表している結合パラメータを格納している、対応するエントリを見つける。ＩフレームとＰフレームのどちらの場合も、テクスチャ復号化モジュール（図３中のブロック７４）は符号化ブロックパラメータを使用して、対応するブロックのテクスチャデータを復号化する必要があるかどうかを判断する。復号器は、復号化ブロックパラメータ値がゼロであるブロックについてはテクスチャ復号化をスキップする。
【００６３】
符号化ブロックパラメータも予測される場合には、復号器は、近隣ブロックからの、以前に復号化されたブロックパラメータを使用して関心のある現ブロックの符号化ブロックパラメータを計算する。最初に、復号器は予測子ブロックのロケーションを、符号器の場合と同じように空間的グラジエントに基づいて計算する。次に、復号器は、復号化値と予測子ブロックの符号化ブロックパラメータの排他的ORをとることによって、現ブロックの符号化ブロックパラメータの値を計算する（排他的OR演算子は、X XOR Y = Z XOR X = Yの特性をもっている）。この逆予測ステージの後、テクスチャ復号器は復号化ブロックパラメータを使用して、そのブロックのテクスチャ復号化をスキップすべきかどうかを判断する。
【００６４】
（コンピュータシステムの概要）
以下では、図９を参照して、本発明を実現するのに適しているコンピューティング環境の概要を要約して説明することにする。本発明または本発明のいくつかの側面はハードウェアデバイスで実現することも可能であるが、上述してきた符号器（エンコーダ）と復号器（デコーダ）は、プログラムモジュール構造になっているコンピュータ実行可能命令で実現されている。プログラムモジュールの中には、種々のタスクを実行し、上述してきたデータタイプを実装しているルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造が含まれている。
【００６５】
図９はデスクトップコンピュータの代表的な構成を示しているが、本発明はその他のコンピュータシステム構成で実現することも可能であり、その中には、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブルコンシューマエレクトロニクス、ミニコンピュータなどが含まれている。また、本発明は、通信ネットワークを通してリンクされているリモート処理デバイスによってタスクが実行されるような、分散コンピューティング環境で使用することも可能である。分散コンピューティング環境では、プログラムモジュールは、ローカルとリモートの両方のメモリストレージデバイスに置いておくことができる。
【００６６】
図９は、本発明の動作環境として働くコンピュータシステムの例を示す図である。コンピュータシステムは、処理ユニット９２１、システムメモリ９２２、およびシステムメモリを含む種々のシステムコンポーネントを処理ユニット９２１に相互接続するシステムバス９２３を内蔵しているパーソナルコンピュータ９２０を含んでいる。システムバスは、PCI、VESA、マイクロチャネル (Microchannel  MCA)、ISA、EISAなどのバスアーキテクチャを使用している、数種類のバス構造のいずれでも構成することが可能であり、その中には、そのいくつかを挙げると、メモリバスやメモリコントローラ、周辺バス、およびローカルバスが含まれている。システムメモリとしては、リードオンリメモリ (read only memory  ROM) ９２４およびランダムアクセスメモリ (random access memory  RAM) ９２５が含まれている。スタートアップ時のように、パーソナルコンピュータ内のエレメント間で情報を転送するときそれを支援する基本ルーチンを含んでいる基本入出力システム (basic input/output system  BIOS) ９２６は、ROM９２４に格納されている。パーソナルコンピュータ９２０は、さらに、ハードディスクドライブ９２７、例えば、取外し可能ディスク９２９との間で読み書きを行う磁気ディスクドライブ９２８および、例えば、CD-ROMディスク９２８を読み取ったり、他の光ディスク媒体との間で読み書きを行ったりする光ディスクドライブ９２８を搭載している。ハードディスクドライブ９２７、磁気ディスクドライブ９２８、および光ディスクドライブ９３０は、それぞれハードディスクドライブインタフェース９３２、磁気ディスクドライブインタフェース９３３、および光ドライブインタフェース９３４を介してシステムバス９２３に接続されている。これらのドライブとそれぞれに関連するコンピュータ読取可能媒体は、データ、データ構造、コンピュータ実行可能命令（ダイナミックリンクライブラリや実行可能ファイルなどのプログラムコード）などを、パーソナルコンピュータのために保管しておく不揮発性ストレージとなっている。上記のコンピュータ読取可能媒体の説明個所では、ハードディスク、取外し可能磁気ディスクおよびCDだけが示されているが、その中には、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイ (Bernoulli) カートリッジなどのように、コンピュータで読み取り可能である、他のタイプの媒体を含めることも可能である。
【００６７】
これらのドライブとRAM９２５にはいくつかのプログラムモジュールを格納しておくことが可能であり、その中には、オペレーティングシステム９３５、１つまたは２つ以上のアプリケーションプログラム９３６、その他のプログラムモジュール９３７、プログラムデータ９３８が含まれている。ユーザは、キーボード９４０およびマウス９４２などのポインティングデバイスを通して、コマンドと情報をパーソナルコンピュータ９２０に入力することができる。他の入力デバイス（図示せず）としては、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどがある。上記およびその他の入力デバイスは、システムバスに結合されているシリアルポートインタフェース９４６を通して処理ユニット９２１に接続されていることが多いが、パラレルポートやゲームポート、ユニバーサルシリアルバス (universal serial bus  USB) などの、他のインタフェースを介して接続することもできる。モニタ９４７や他のタイプのディスプレイデバイスも、ディスプレイコントローラやビデオアダプタ９４８などのインタフェースを介してシステムバス９２３に接続されている。モニタのほかに、パーソナルコンピュータは、スピーカやプリンタなどの、他の周辺出力デバイス（図示せず）を搭載しているのが代表的である。
【００６８】
パーソナルコンピュータ９２０は、リモートコンピュータ９４９などの、１つまたは２つ以上のリモートコンピュータとの論理的コネクションを使用して、ネットワーキング環境で動作させることができる。リモートコンピュータ９４９は、サーバ、ルータ、ピアデバイスまたは他の共通ネットワークノードにすることが可能であり、図９にはメモリストレージデバイス９５０だけが示されているが、パーソナルコンピュータ９２０に関連して上述したエレメントの多くまたは全部を搭載しているのが代表的である。図９に示す論理的コネクションとしては、ローカルエリアネットワーク (local area network  LAN) ９５１と広域ネットワーク (wide area network  WAN) ９５２がある。このようなネットワーキング環境は、オフィス、エンタープライズワイド（企業内）コンピュータネットワーク、イントラネット (intranet) およびインターネット (the Internet) では日常的になっている。
【００６９】
LANネットワーキング環境で使用されるときは、パーソナルコンピュータ９２０は、ネットワークインタフェースまたはアダプタ９５３を通してローカルネットワーク９５１に接続されている。WANネットワーキング環境で使用されるときは、パーソナルコンピュータ９２０は、インターネットなどの広域ネットワーク９５２を利用した通信を確立するためのモデム９５２や他の手段を搭載しているのが代表的である。モデム９５４は内蔵することも、外付けにすることも可能であるが、シリアルポートインタフェース９４６を介してシステムバス９２３に接続されている。ネットワーキング環境では、パーソナルコンピュータ９２０に関連して説明したプログラムモジュールまたはその一部は、リモートのメモリストレージデバイスに格納しておくことができる。図示のネットワークコネクションは単なる例であり、コンピュータ間の通リンリンクを確立する他の手段を使用することも可能である。
【００７０】
（結論）
以上、特定の実施形態を例にして本発明を説明してきたが、本発明の範囲はこれらの特定実施形態に限定されるものではない。例えば、色差と輝度の両方のブロックに同じ手法を用いて空間的予測を使用することが可能である。さらに、空間的予測は、イントラフレームと予測フレームのどちらについても、その符号化ブロックパラメータを符号化するために使用することができる。この実施形態では、ハフマンテーブルを使用して可変長符号を生成している。実際には、各々の結合符号化ブロックパラメータごとに可変長符号を生成するために、種々のエントロピ符号化方法を使用することが可能である。例えば、種々形体の算術符号化および/またはランレングス (run length) 符号化を使用することができる。これらの符号化方法の各々は、出現頻度の低い入力信号には長い符号を割り当て、出現頻度の高い入力信号には短い符号を割り当てている。上述したように、マクロブロックヘッダの効率を改善する符号化方法は、フレームベースとブロックベースの符号化方法に適用することができる。
【００７１】
本発明は多数の形態で実現することが可能であるので、当然に理解されるように、上述した実施形態は本発明の一例にすぎず、本発明を限定するものではない。むしろ、本発明の範囲は請求項に明確化されている通りである。従って、これらの特許請求の範囲と精神に属するものはすべて本発明に係わるものである。
【図面の簡単な説明】
【００７２】
【図１】標準的ビデオ符号化プロセスで使用されているマクロブロックヘッダの例を示す図である。
【図２】ビデオ符号器（コーダ）を示すブロック図である。
【図３】ビデオ復号器（デコーダ）を示すブロック図である。
【図４】色差と輝度を表す符号化ブロックパラメータがシングル可変長符号で一緒に符号化されている、改良マクロブロックヘッダの例を示す図である。
【図５】ＩフレームとＰフレームマクロブロックの符号化ブロックパラメータに対してシングル可変長符号が、本発明の実施形態ではどのように計算されるかを示すフロー図である。
【図６】４個のマクロブロックとそれらに対応する輝度 (Y) ブロックを示す図である。
【図７】図６中の選択された輝度ブロックに対する符号化ブロックパラメータ値の垂直グラジエントと水平グラジエントの例を示す図である。
【図８】符号化ブロックパラメータに対する予測子を計算する方法を示すフロー図である。
【図９】本発明をソフトウェアで実現するときの動作環境としての働きをするコンピュータシステムを示す図である。
【符号の説明】
【００７３】
６０  デマルチプレクサ
６６  動き復号化モジュール
６８  動き補償モジュール
７０  オブジェクトデータ
７４  テクスチャ復号化モジュール
【図１】
0004673758.tif 000007
【図２】
0004673758.tif 000008
【図３】
0004673758.tif 000009
【図４】
0004673758.tif 000010
【図５】
0004673758.tif 000011
【図６】
0004673758.tif 000012
【図７】
0004673758.tif 000013
【図８】
0004673758.tif 000014
【図９】
0004673758.tif 000015