(57)【要約】【課題】  ビデオフレームコーディングで用いられる各種フラグ間の空間的関連性を用いて効率的にコーディングする方法および装置を提供する。【解決手段】  ビデオフレームを構成するブロックの空間的関連性に基づいて、前記ブロック毎に割り当てられるフラグ値を集めてフラグビット列を生成するフラグ組合せ部と、前記フラグビット列の最大ランを決定する最大ラン決定部と、前記フラグビット列に含まれ、前記最大ランを超えない大きさのビットを所定の符号語テーブルを用いて符号語に変換する変換部とからなる。【選択図】  図４
2008005504.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックからなるビデオフレームのコーディングに用いられるフラグをエンコードする装置であって、
前記ブロックの空間的関連性に基づいて、前記ブロック毎に割り当てられるフラグ値を集めてフラグビット列を生成するフラグ組合せ部と、
前記フラグビット列の最大ランを決定する最大ラン決定部と、
前記フラグビット列に含まれ、前記最大ランを超えない大きさのビットを所定の符号語テーブルを用いて符号語に変換する変換部とを含む、フラグエンコード装置。
【請求項２】
前記最大ランは、
最終ビットストリームの大きさを最小にする値で決定される、請求項１に記載のフラグエンコード装置。
【請求項３】
前記符号語テーブルは、
前記最大ランに該当する数だけの０を最短長さの符号語にマッピングさせる、請求項１に記載のフラグエンコード装置。
【請求項４】
前記最短長さの符号語は０である、請求項３に記載のフラグエンコード装置。
【請求項５】
前記最大ランは８である、請求項４に記載のフラグエンコード装置。
【請求項６】
前記ブロックは、マクロブロック、８×８ブロック、または４×４ブロックである、請求項１に記載のフラグエンコード装置。
【請求項７】
前記フラグは、
Ｃｂｐ(coded block pattern)または残差予測フラグである、請求項１に記載のフラグエンコード装置。
【請求項８】
前記フラグが残差予測フラグの場合、
前記フラグビット列を生成する前に前記フラグ値と、前記フラグ値が属するブロックに対応する下位階層のブロックの残差エネルギの有無を示す値との排他的論理和を求める演算部をさらに含む、請求項７に記載のフラグエンコード装置。
【請求項９】
前記残差エネルギの有無を示す値は、
前記下位階層のブロックのＣｂｐである、請求項８に記載のフラグエンコード装置。
【請求項１０】
複数のブロックからなるビデオフレームのコーディングに用いられるフラグをデコードする装置であって、
所定の符号語テーブルを参照して入力されたビットストリームに含まれる符号語からフラグビット列を復元する逆変換部と、
前記復元されたフラグビット列に含まれる各々のビットを読み取って、前記複数のブロックに関するフラグを復元するフラグ復元部とを含む、フラグデコード装置。
【請求項１１】
前記読み取られたビットのうち隣接したビットに対応するブロックは、前記ビデオフレーム内で空間的に隣接した位置を有する、請求項１０に記載のフラグデコード装置。
【請求項１２】
前記符号語テーブルは、前記符号語を所定大きさの最大ラン以内のシンボルにマッピングさせる、請求項１０に記載のフラグデコード装置。
【請求項１３】
前記符号語テーブルは、
前記符号語のうち最短長さの符号語を前記最大ランに該当する数だけの０にマッピングさせる、請求項１２に記載のフラグデコード装置。
【請求項１４】
前記最短長さの符号語は０である、請求項１３に記載のフラグデコード装置。
【請求項１５】
前記最大ランは８である、請求項１３に記載のフラグデコード装置。
【請求項１６】
前記フラグは、
Ｃｂｐまたは残差予測フラグである、請求項１０に記載のフラグデコード装置。
【請求項１７】
前記フラグが残差予測フラグの場合、
前記フラグを復元する前に前記復元されたフラグビット列と、前記フラグビット列が属するブロックに対応する下位階層のブロックの残差エネルギの有無を示す値との排他的論理和を求める演算部をさらに含む、請求項１６に記載のフラグデコード装置。
【請求項１８】
前記残差エネルギの有無を示す値は、
前記下位階層のブロックのＣｂｐである、請求項１７に記載のフラグデコード装置。
【請求項１９】
複数のブロックからなるビデオフレームのコーディングに用いられるフラグをエンコードする装置であって、
前記ブロックの空間的関連性に基づいて、前記ブロック毎に割り当てられるフラグ値を集めてフラグビット列を生成するフラグ組合せ部と、
所定のグループサイズに前記フラグビット列を分割するビット列分割部と、
前記分割されたフラグビット列のすべての値が０であるかを表わすスキップビットを設定するスキップビット設定部と、
前記設定されたスキップビットによって、前記分割されたフラグビット列をビットストリームに記録するかスキップするスイッチング部とを含む、フラグエンコード装置。
【請求項２０】
前記ブロックは、
マクロブロック、８×８ブロック、または４×４ブロックである、請求項１９に記載のフラグエンコード装置。
【請求項２１】
前記フラグは、
Ｃｂｐまたは残差予測フラグである、請求項１９に記載のフラグエンコード装置。
【請求項２２】
前記グループサイズは、
前記ビットストリームのスライスヘッダに記録される、請求項１９に記載のフラグエンコード装置。
【請求項２３】
前記スキップビットは、前記ビットストリームのスライスヘッダまたは前記グループサイズだけのブロックのうち最初ブロックのヘッダに記録される、請求項１９に記載のフラグエンコード装置。
【請求項２４】
前記グループサイズを、前記ビットストリームの大きさを最小にする値で決定するグループサイズ決定部をさらに含む、請求項１９に記載のフラグエンコード装置。
【請求項２５】
複数のブロックからなるビデオフレームのコーディングに用いられるフラグをデコードする装置であって、
入力されたビットストリームからスキップビットを読み取るスキップビット読取部と、
前記ビットストリームからグループサイズを読み取るグループサイズ読取部と、
前記読み取られたスキップビットによって、前記ビットストリームに含まれるフラグビット列のうち前記グループサイズだけのビットから前記ブロックに関する各々のフラグを復元するフラグ復元部とを含む、フラグデコード装置。
【請求項２６】
前記フラグ復元部は、前記スキップビットが第１ビットの場合には前記グループサイズだけのビット各々を前記復元されたフラグとして設定し、前記スキップビットが第２ビットの場合には前記グループサイズだけの０を前記復元されたフラグとして設定する、請求項２５に記載のフラグデコード装置。
【請求項２７】
前記第１ビットは１であり、前記第２ビットは０である、請求項２６に記載のフラグデコード装置。
【請求項２８】
前記ブロックは、
マクロブロック、８×８ブロック、または４×４ブロックである、請求項２５に記載のフラグデコード装置。
【請求項２９】
前記フラグは、
Ｃｂｐまたは残差予測フラグである、請求項２５に記載のフラグデコード装置。
【請求項３０】
前記グループサイズは、
前記ビットストリームのスライスヘッダに含まれる、請求項２５に記載のフラグデコード装置。
【請求項３１】
前記スキップビットは、前記ビットストリームのスライスヘッダまたは前記グループサイズだけのブロックのうち最初ブロックのヘッダに含まれる、請求項２５に記載のフラグデコード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ圧縮技術に関し、より詳しくは、ビデオフレームコーディングで用いられる各種フラグ間の空間的関連性を用いて効率的にコーディングするフラグコーディング方法および装置に関するものである。
【背景技術】
【０００２】
インターネットを含む情報通信技術が発達するにつれて文字、音声だけでなく画像通信が増加しつつある。既存の文字中心の通信方式では消費者の多様な欲求を充足させることができず、このため、文字、映像、音楽など多様な形態の特性を受容できるマルチメディアサービスが増加している。マルチメディアデータは、その量が膨大であるため、大容量の格納媒体を必要とし、かつ伝送時に広い帯域幅を必要とする。したがって、文字、映像、オーディオを含むマルチメディアデータを伝送するためには圧縮コーディング技法を用いるのが必須である。
【０００３】
データを圧縮する基本的な原理は、データの重複（ｒｅｄｕｎｄａｎｃｙ）要素を除去する過程である。イメージで同一の色やオブジェクトが反復されるような空間的重複や、動画フレームで隣接フレームがほぼ変化のない場合やオーディオで同じ音が反復し続くような時間的重複、または人間の視覚および知覚能力が高い周波数に鈍感なことを考慮した心理視覚重複を除去することによって、データを圧縮することができる。一般的なビデオコーディング方法において、時間的重複はモーション補償に基づく時間的フィルタリング（ｔｅｍｐｏｒａｌ  ｆｉｌｔｅｒｉｎｇ）によって除去し、空間的重複は空間的変換（ｓｐａｔｉａｌ  ｔｒａｎｓｆｏｒｍ）によって除去する。
【０００４】
データの重複を除去した結果は、再び量子化過程によって所定の量子化ステップによって損失符号化される。前記量子化された結果は、最終的にエントロピー符号化（ｅｎｔｒｏｐｙ  ｃｏｄｉｎｇ）によって無損失符号化される。
【０００５】
現在、Ｈ．２６４標準で用いられるエントロピー符号化技術としては、ＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）、ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）、Ｅｘｐ＿Ｇｏｌｏｍｂ（ｅｘｐｏｎｅｎｔｉａｌ  Ｇｏｌｏｍｂ）などがある。次の表（１）は、Ｈ．２６４標準でコーディングされるデータ毎に適用されるエントロピー符号化技法を示す。
【０００６】
【表１】
2008005504.tif 000003
前記表（１）によればｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｍｏｄｅフラグが０の場合には、該当マクロブロックがインター予測モードであるか、イントラ予測モードであるかを示すマクロブロック類型、マクロブロックを構成するサブブロックの形態を示すマクロブロックパターン、量子化ステップを決定するインデックスである量子化パラメータ、インター予測モードで参照されるフレームの番号を示す参照フレームインデックス、およびモーションベクトルはＥｘｐ＿Ｇｏｌｏｍｂによって符号化される。そして、原イメージと予測イメージとの間の差を示す残差データ（ｒｅｓｉｄｕａｌ  ｄａｔａ）はＣＡＶＬＣによって符号化される。
【０００７】
反面、前記ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｍｏｄｅフラグが１の場合には、前記すべてのパラメータはＣＡＢＡＣでコーディングされる。
【０００８】
ＣＡＢＡＣは、高複雑度（ｈｉｇｈ  ｃｏｍｐｌｅｘｉｔｙ）を有するパラメータにおいて良い性能を示す。したがって、ＣＡＶＬＣなどのＶＬＣ（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）基盤のエントロピーコーディングは基礎的なプロファイルとして設定される。
【０００９】
現在、ＩＳＯ／ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  ／  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ）とＩＴＵ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ）のビデオ専門家の集いであるＪＶＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ）で進行中のスケーラブルビデオコーディング（以下、ＳＶＣという）に関する標準では、既存のＨ．２６４に基づく多階層基盤のコーディング技術に関する研究が盛んに進められている。
【００１０】
ＳＶＣには階層間情報の利用有無と関連した多様なフラグが存在するが、これらフラグはスライス別、マクロブロック別、またはサブブロック別に設定される。このように、多様なフラグがより詳細に設定されることによって、全体ビットストリームのうち前記フラグが占めるビットの比率もかなり大きくなるようになった。ところで、現在としては前記テクスチャデータやモーションデータとは異なり前記フラグについては、空間的な関連性（ｃｏｒｒｅｌａｔｉｏｎ）を考慮しないまま符号化されるか、全く符号化されずにいる実状である。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、前記必要性を考慮して考案されたものであって、ビデオコーデックで用いられる多様なフラグを空間的な関連性を考慮して効率的に符号化する方法および装置を提供することをその技術的課題とする。
【００１２】
本発明の目的は、以上で言及した目的に制限されず、言及していないまた他の目的は下記記載によって当業者が明確に理解できるものである。
【課題を解決するための手段】
【００１３】
前記技術的課題を達成するために、本発明の一態様に係わる複数のブロックからなるビデオフレームのコーディングに用いられるフラグをエンコードする装置は、前記ブロックの空間的関連性に基づいて、前記ブロック毎に割り当てられるフラグ値を集めてフラグビット列を生成するフラグ組合せ部と、前記フラグビット列の最大ラン（run）を決定する最大ラン決定部と、前記フラグビット列に含まれ、前記最大ランを超えない大きさのビットを所定の符号語テーブルを用いて符号語に変換する変換部とを含む。
【００１４】
前記技術的課題を達成するために、本発明の他の態様に係わる複数のブロックからなるビデオフレームのコーディングに用いられるフラグをデコードする装置は、所定の符号語テーブルを参照して入力されたビットストリームに含まれる符号語からフラグビット列を復元する逆変換部と、前記復元されたフラグビット列に含まれる各々のビットを読み取って、前記複数のブロックに関するフラグを復元するフラグ復元部とを含む。
【００１５】
前記技術的課題を達成するために、本発明の他の態様に係わる複数のブロックからなるビデオフレームのコーディングに用いられるフラグをエンコードする装置は、前記ブロックの空間的関連性に基づいて、前記ブロック毎に割り当てられるフラグ値を集めてフラグビット列を生成するフラグ組合せ部と、所定のグループサイズに前記フラグビット列を分割するビット列分割部と、前記分割されたフラグビット列のすべての値が０であるかを表わすスキップビットを設定するスキップビット設定部と、前記設定されたスキップビットによって、前記分割されたフラグビット列をビットストリームに記録するかスキップするスイッチング部とを含む。
【００１６】
前記技術的課題を達成するために、本発明の他の態様に係わる複数のブロックからなるビデオフレームのコーディングに用いられるフラグをデコードする装置は、入力されたビットストリームからスキップビットを読み取るスキップビット読取部と、前記ビットストリームからグループサイズを読み取るグループサイズ読取部と、前記読み取られたスキップビットによって、前記ビットストリームに含まれるフラグビット列のうち前記グループサイズだけのビットから前記ブロックに関する各々のフラグを復元するフラグ復元部とを含む。
【発明の効果】
【００１７】
本発明によれば、スケーラブルビデオコーデックで用いられる多様なフラグの符号化効率を向上させることができる。
特に、空間的に密接な関連性を有するか、階層間に密接な関連性を有するフラグの符号化においてはその効率をより高めることができる。
【発明を実施するための最良の形態】
【００１８】
以下、添付した図面を参照して、本発明の一実施形態を詳細に説明する。
【００１９】
本発明の出発点は、マクロブロック毎に独立して行われるＶＬＣ技法（ｓｃｈｅｍｅ）の非効率性にある。特に、連続するマクロブロックにおいて、非常に強い関連性を有するフラグにおいては前記非効率性の問題が非常に大きい。しかし、現在ＳＶＣで用いるＶＬＣ技法は、各々のマクロブロックのフラグを独立して符号化するため、隣接したマクロブロックでのフラグが類似する値を有する場合には、ＶＬＣとＣＡＢＡＣ（Ｃｏｎｔｅｘｔ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）との間の性能差が非常に大きい。通常、ＣＡＢＡＣの性能はＶＬＣより高いと知らされているため、ＣＡＢＡＣを用いるのがより有利であるが、ＣＡＢＡＣはその演算の複雑度が非常に高いため、ＳＶＣはフラグコーディングにおいてはＶＬＣを用いているのである。
【００２０】
図１は、量子化パラメータによるＶＬＣとＣＡＢＡＣのビット比率の変化を示すグラフである。前記ビット比率は、全体ビットストリームにおいて、あるフラグ（図１ではＣｂｐ）が占める比率を意味する。これは量子化パラメータが増加するほど符号化されるテクスチャデータが減少するため、量子化パラメータＱＰが増加するにつれてビット比率が増加するのは当然である。ところで、問題は量子化パラメータＱＰが増加するにつれて、ＶＬＣとＣＡＢＡＣとの間のビット比率の差は非常に大きくなるということにある。これはマクロブロックに独立して行われるＶＬＣが、Ｃｂｐ（ｃｏｄｅｄ  ｂｌｏｃｋ  ｐａｔｔｅｒｎ）が大部分０になる場合を十分にカバーできないため発生する。したがって、ＳＶＣで用いる現在のＶＬＣは改善の余地が大きいと見られる。
【００２１】
図２は、ＶＬＣおよびＣＡＢＡＣ各々について多様なマクロブロックフラグに対するビット比率を示すグラフである。大部分の他のフラグにおいては、ＶＬＣのビット比率とＣＡＢＡＣのビット比率とは、それほど大きい差が発生しない。ところで、ＣｂｐおよびＲｅｓＰｒｅｄ（残差予測フラグ）においては、ＶＬＣのビット比率がＣＡＢＡＣのビット比率に比べてかなり大きいということが分かる。これは少なくともＣｂｐおよび残差予測フラグだけにおいては、従来のＶＬＣ技法が充分でないということを示す。したがって、以下では空間的に隣接したマクロブロックに属するフラグ（特にＣｂｐおよび残差予測フラグ）を集めてＶＬＣを適用する方法が提案される。
【００２２】
ビデオコーディングでは、一般的に１６×１６ピクセルサイズのマクロブロック単位でプロセスが進められる。図３のように、１つのフレームまたはスライスは複数のマクロブロック（ＭＢｎ；ｎは自然数）に分割される。各々のマクロブロックは所定の損失符号化および無損失符号化の過程を経てビデオストリームになる。このように符号化されたマクロブロックＭＢｎは、先頭にヘッダ（マクロブロックヘッダ）が付加されてから集められることによって、図４のような１つのビデオストリーム２０を構成することができる。前記ヘッダは多様なフラグ（Ａ＿ｆｌａｇｎ、Ｂ＿ｆｌａｇｎなど）を含む。ところで、各ヘッダは同一の種類のフラグを有するが、前記フラグが有する値はマクロブロック毎に互いに異なることができる。しかし、空間的に隣接した位置のマクロブロック間には互いに空間的関連性または類似性が大きいため、隣接したマクロブロックに含まれたフラグは同一の値を有する可能性が大きい。
【００２３】
このような点に着目して、本発明では特定フラグの値を集めてビット列を形成してから符号化する。例えば、図５に示すように、Ａ＿ｆｌａｇというフラグが有する値（Ａ＿ｆｌａｇ１、Ａ＿ｆｌａｇ２、．．．、Ａ＿ｆｌａｇｎ）を集めた後符号化し、Ｂ＿ｆｌａｇというフラグが有する値（Ｂ＿ｆｌａｇ１、Ｂ＿ｆｌａｇ２、．．．、Ｂ＿ｆｌａｇｎ）を集めた後エントロピー符号化（ＶＬＣ）するということである。このように、特定フラグ値を集めた後符号化をするようになれば、前記値の類似性によって圧縮効率が高まることを容易に予測することができる。図５のように、集められた特定フラグの集合を「フラグビット列」と定義する。
【００２４】
本発明に係る、フラグを集めて生成されたフラグビット列をコーディングする技法は、大きく２種類の実施例に分けられる。実施例１はフラグに集めてＶＬＣ技法を適用するものであり、実施例２は所定単位で集めたフラグがすべて０であるかを示す別途のフラグをさらに導入するものである。
【実施例１】
【００２５】
スライスまたはフレームに含まれる全体マクロブロックに対してフラグを集めると、最大ラン(run)は全体マクロブロックの数と等しくなり得る。だけでなく、図６のようにラン（０でない数字が現れるまで連続する０の個数）が大きくなるにつれて、その存在比率はほぼ指数的に減少するようになる。この場合には、ＶＬＣテーブルをデザインすることは非常に難しいため、最大ランをある値（Ｎ）に制限する必要がある。このようになれば、Ｎを超えるランを有するシンボルのランはすべてＮにマッピングされる。その結果、ランがＮになる比率は増加すると予想され、これによって、Ｎのランを有するシンボルにさらに短い符号語を割り当てることができる。前記シンボルは、符号語に変換される単位であって、フラグビット列の一部である。
【００２６】
多様な実験により、本発明では前記最大ランが８の場合に満足するほどの結果を得ることが分かった。このように、最大ランを８にする本発明で例示する符号語テーブルは次の表（２）の通りである。
【００２７】
【表２】
2008005504.tif 000004
表（２）に示すように、ランが小さいシンボルには大体短い符号語が付与される。しかし、最大ラン（８）を有するシンボルには例外的に最も短い符号語が付与されることが分かる。これは上述したように、最大ランより大きいか同じであるシンボルがすべて最大ランにマッピングされるため、最大ランの発生比率が高まることを考慮したのである。だけでなく、Ｃｂｐや残差予測フラグのようなフラグは、上位階層または上位時間的レベルに行くほど０が現れる頻度が高まるため、表（２）のような符号語テーブルが特に効率的に用いられる。
【００２８】
ところで、Ｃｂｐと比較する時、残差予測フラグはより合理的な予測値を有する。前記予測値としては、例えば下位階層（基礎階層）の残差エネルギ、すなわち下位階層のＣｂｐを用いることができる。現在、マクロブロックに対応する下位階層マクロブロックの残差エネルギが０であれば、現在マクロブロックの残差予測フラグも０になる可能性が高く、前記残差エネルギが１であれば前記残差予測フラグも１になる可能性が高い。これは対応する下位階層の残差エネルギが０であれば、残差予測によって得ることができる利点がないため、残差予測が用いられる確率が殆どないという点に基づく。残差予測が用いられない場合、残差予測フラグは０と表示される。
【００２９】
したがって、上記のように階層間に適用される予測値との類似性を用いれば、前記符号語テーブルをより効率的に用いることができる。より具体的に、フラグビット列に次の一般式（１）のような排他的論理和演算を先ず行った後、その演算結果に対して表（２）のような符号語テーブルを適用するものである。
【００３０】
Ｘ＝ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｔｉｏｎ＿ｆｌａｇ＾ｂａｓｅ−ｌａｙｅｒ  ｒｅｓｉｄｕａｌ  ｅｎｅｒｇｙ            （１）
一般式（１）において、Ｘは演算結果を、ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｔｉｏｎ＿ｆｌａｇは残差予測フラグを、ｂａｓｅ−ｌａｙｅｒ  ｒｅｓｉｄｕａｌ  ｅｎｅｒｇｙは対応する下位階層のＣｂｐを各々示す。前記演算結果（Ｘ）は、ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｔｉｏｎ＿ｆｌａｇとｂａｓｅ−ｌａｙｅｒ  ｒｅｓｉｄｕａｌ  ｅｎｅｒｇｙ間の類似性によって０になる可能性が非常に高いため、表（２）のような符号語テーブルによってより効率的にエンコードすることができる。
【実施例２】
【００３１】
エントロピー符号化において、大部分の効率的圧縮は、連続した０をどれくらい短く表現するかにかかっている。本発明の実施例２は、実施例１より簡単な方法で、このような点を解決しようと考案されたものである。前記実施例２では、フラグビット列を所定大きさ（以下、グループサイズという）に分割した後、前記分割されたビット（以下、ビットグループということ）が全て０であるかを示すフラグ（以下、スキップビットという）を新たに定義する。前記スキップビットが１であれば該当ビットグループに属するビットはすべて０であることを指示し、前記フラグが０であれば該当ビットグループに属するビットのうち０ではないものが存在することを指示する。
【００３２】
前記スキップビットが１の場合、該当ビットグループに属するビットはすべてスキップされて、ビットストリームに含まれない。前記スキップビットが０の場合には、従来のＳＶＣと同様に、各々のフラグは特に符号化されずにそのままビットストリームに含まれる。
【００３３】
以上の実施例２は次の表（３）のように簡単に整理される。
【００３４】
【表３】
2008005504.tif 000005
すなわち、ビットグループのビットがすべて０であれば（ランがビットグループの大きさと同じであれば）、スキップビットは１であり、符号語は存在しない。また、ビットグループに０でないビットがあれば、スキップビットは０であり、符号語は本来入力された値（ａｂｃｄｅｆｇｈ）と同一である。すなわち、スキップビットが１であれば、シンボルはスキップされて、前記スキップビットが０であれば、シンボルは符号化されない。
【００３５】
本発明では前記グループサイズが８になる場合に全般的に満足するほどの結果が現れることを確認することができた。したがって、表（３）ではグループサイズが８の場合を例にあげたが、前記グループサイズの最適値は入力映像、階層の係数、許容ビット率（ｂｉｔｒａｔｅ）に応じて変わることができる。前記最適値は、ビデオエンコーダー側で計算される値である。すなわち、多様なグループサイズによって実際コーディングされた結果を比較して、より少ないビット量を示すグループサイズを選択するのである。前記グループサイズは極端には１になり得るが、この場合従来のＳＶＣで用いられる方法と同一になる。グループサイズがエンコーダーとデコーダとの間に固定された値であると約束されている場合でなければ、このようにエンコーダー側で計算されたグループサイズをビットストリームに含める必要がある。この場合、前記グループサイズは、スライスヘッダや、前記グループサイズだけのマクロブロック（以下、マクロブロックグループという）のうち最初マクロブロックのヘッダに記録されてデコーダ側に伝送される。
【００３６】
図７は、実施例２に係るビットストリーム５０の構造を示すものである。ビットストリーム５０は、複数の階層別ビットストリーム５１，５２を含む。階層別ビットストリーム５１，５２は、複数のフレームまたはスライス５３、５４、５５、５６を含む。一般に、Ｈ．２６４またはＳＶＣでは、ビットストリームはフレーム単位よりはスライス単位で符号化される。前記スライスは、１つのフレームと同一であることもでき、１つのマクロブロックと同一であることもできる。
【００３７】
１つのスライス５５はスライスヘッダ６０と、スライスデータ７０とを含み、スライスデータ７０は少なくとも１つ以上のマクロブロック（ＭＢ）７１〜７４で構成される。
【００３８】
１つのマクロブロック７３は、マクロブロックヘッダ８１と、モーションベクトルフィールド８２、および符号化された残差フィールド（ｃｏｄｅｄ  ｒｅｓｉｄｕａｌ）８３を含む。マクロブロックヘッダ８１には該当マクロブロックに関する付加情報が記録され、モーションベクトルフィールド８２にはブロック別モーションベクトルが記録される。また、符号化された残差フィールド８５には該当マクロブロックに対する量子化結果、すなわち符号化されたテクスチャデータが記録される。
【００３９】
前記実施例２を既存のＳＶＣに適用するためには、シンタックスおよびセマンティックスがある程度修正される必要がある。表（４）はスライスヘッダ６０に含まれるシンタックスを記録するアルゴリズムを例示する。表（４）および以下の表で、従来のＳＶＣに実施例２を適用することによって変更される部分は太字で表示する。
【００４０】
【表４】
2008005504.tif 000006
表（４）に示すように、ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｍｏｄｅ＿ｆｌａｇが１でなければ、Ｃｂｐにおいてグループサイズを示すパラメータ（Ｃｂｐ＿ｇｒｏｕｐｓｉｚｅ＿ｍｉｎｕｓ１）がビットストリームに含まれることが分かる。前記ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｍｏｄｅ＿ｆｌａｇは、具体的なエントロピー符号化方法（ＶＬＣ、ＣＡＢＡＣなど）を指示するフラグであって、その値が１であればＣＡＢＡＣで、０であればＶＬＣでコーディングされることを指示する。
【００４１】
一方、現在マクロブロックに対応する基礎階層が存在して、スライスタイプがイントラタイプ（ＥＩ）でなければ（インタータイプ（ＥＢまたはＥＰ）であれば）、残差予測フラグにおいてグループサイズから１を引いた値を示すパラメータ（ｒｅｓｐｒｅｄｆｌａｇ＿ｇｒｏｕｐｓｉｚｅ＿ｍｉｎｕｓ１）がビットストリームに含まれる。
【００４２】
次の表（５）は本発明の実施例２をＣｂｐに適用する時、マクロブロックヘッダ８１に含まれるシンタックスを記録するためのアルゴリズムを例示する。
【００４３】
【表５】
2008005504.tif 000007
前記アルゴリズムで、ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｍｏｄｅ＿ｆｌａｇが１でなければＣｂｐ＿ｇｒｏｕｐ＿ｓｉｚｅ＿ｍｉｎｕｓ１（Ｃｂｐグループサイズから１を引いた値）をチェックし、そのチェックされた値が０であれば、すなわちＣｂｐグループサイズが１であれば従来のように独立してｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎ（Ｃｂｐ）を記録する。そのチェックされた値が０でなければＣｂｐ＿ｓｋｉｐ＿ｆｌａｇ（スキップビット）を記録する。前記Ｃｂｐ＿ｓｋｉｐ＿ｆｌａｇは、マクロブロックグループのうち最初マクロブロック（ＦｉｒｓｔＭｂＩｎＣｂｐＧｒｏｕｐ）に記録される。Ｃｂｐ＿ｓｋｉｐ＿ｆｌａｇが１の場合には、前記マクロブロックグループに属するすべてのマクロブロックのヘッダにおいてｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎはスキップされる。そして、Ｃｂｐ＿ｓｋｉｐ＿ｆｌａｇが０の場合には、前記マクロブロック各々のヘッダにｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎが記録される。
【００４４】
次の表（６）は、本発明の実施例２を残差予測フラグに適用する時、マクロブロックヘッダ８１に含まれるシンタックスを記録するためのアルゴリズムを例示するものである。表（６）は前記表（５）と同様に理解できる。表（６）で、ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇは残差予測フラグを、ｒｅｓｐｒｅｄｆｌａｇ＿ｓｋｉｐ＿ｆｌａｇは残差予測フラグに対するスキップビットを各々示す。
【００４５】
【表６】
2008005504.tif 000008
図８は、本発明の実施例１、実施例２、および既存のＪＳＶＭ（Ｊｏｉｎｔ  Ｓｃａｌａｂｌｅ  Ｖｉｄｅｏ  Ｍｏｄｅｌ）間の性能を比較するグラフである。ここで用いられたビデオシーケンスはＦｏｒｅｍａｎ  ＣＩＦシーケンスである。同一の輝度成分のＰＳＮＲ（Ｐｅｅｋ  Ｓｉｇｎａｌ−ｔｏ−Ｎｏｉｓｅ  Ｒａｔｉｏ）（Ｙ−ＰＳＮＲ）を具現するのに必要とするビット率（ｂｉｔｒａｔｅ）は、実施例１および実施例２は互いに類似する程度で、ＪＳＶＭとは約５％〜１０％程度の大きい差が発生することが分かる。このように、実施例１と実施例２の性能がほぼ類似すれば、計算の複雑度が低い実施例２がより効率的に用いられる。
【００４６】
図９は、本発明の第１実施例に係るビデオエンコード装置１００およびフラグエンコード装置１２０の構成を示すブロック図である。
【００４７】
ビデオエンコード装置１００は、ビデオコード部１１０、フラグエンコード装置１２０、およびビットストリーム生成部１３０を含む。
【００４８】
ビデオコード部１１０は、入力されたビデオフレームからモーションベクトルおよび符号化された残差を生成する。この時、ビデオコード部１１０は、前記モーションベクトルおよび符号化された残差に関する付加情報を多様なフラグによって表示するが、このようなフラグはフラグエンコード装置１２０に入力される。前記フラグは、前記ビデオフレームを構成する複数のブロック（例    マクロブロック）別に設定される。
【００４９】
ビデオコード部１１０は、前記モーションベクトルおよび符号化された残差を求めるために、当業界に広く知られた予測過程、ＤＣＴ変換過程、量子化過程などを行う。現在、ＳＶＣでは前記予測過程として、モーション予測およびモーション補償に基づくインター予測と、単一フレーム内で周辺ピクセルを予測信号として用いる方向的イントラ予測と、対応する下位階層のイメージを予測信号として用いるイントラベース予測と、インター予測された信号に対してさらに階層間予測を行う残差予測などを支援する。
【００５０】
フラグエンコード装置１２０は、フラグ組合せ部１２１、最大ラン決定部１２２、スキャニング部１２３、符号語テーブル１２４、変換部１２５、および演算部１２６に細分化される。
【００５１】
フラグ組合せ部１２１は、前記ビデオフレームを構成するブロックの空間的関連性に基づいて、前記ブロック毎に割り当てられるフラグ値を集めてフラグビット列を生成する。前記空間的関連性とは、１つのビデオフレーム内でブロック間の位置が隣接したか否かを意味し、例えば図３のような対角線方向にマクロブロックの順序で定める場合、ＭＢ１〜ＭＢ６は空間的に隣接したと看做される。
【００５２】
最大ラン決定部１２２は、前記フラグビット列の最大ランを決定する。本発明の実施例１によれば、符号語の適用時に最大ランを制限することによって不要なビットの無駄を減らそうとした。前記最大ランは最終ビットストリームの大きさを最小にする値で決定される。一方、前記最大ランをフラグエンコード装置１２０でいちいち決定せず、ビデオエンコード装置とビデオデコード装置との間に予め固定された値（例    ８）で約束することもできる。
【００５３】
スキャニング部１２３は、前記フラグビット列をスキャニングして連続した０および最初０でない値までのビット（以下、マスクという）を１つのシンボルとして変換部１２５に提供する。
【００５４】
変換部１２５は、前記フラグビット列に含まれ、前記最大ランを超えない大きさのビットを表（２）の例のような符号語テーブル１２４を用いて符号語に変換する。
【００５５】
前記符号語テーブル１２４は、前記決定された最大ランに該当する数だけの０を最短長さの符号語にマッピングさせ、前記最短長さの符号語は０であることが好ましい。
【００５６】
前記フラグエンコード技術は、ＳＶＣから提供する多様な他のフラグにも適用できるが、特にＣｂｐや残差予測フラグに適用された時、さらに効率的になり得る。
【００５７】
一方、フラグエンコード技術が残差予測フラグに適用される場合には、上述したように、演算部１２６によって、前記フラグビット列を生成する前に前記残差予測フラグと、前記フラグ値が属するブロックに対応する下位階層のブロックの残差エネルギの有無を示す値との排他的論理和を求め、その論理和をフラグ組合せ部１２１に提供することも可能である。前記残差エネルギの有無は、前記下位階層のブロックのＣｂｐによって把握することができる。前記排他的論理和を求める過程をさらに導入することによって、０がより多く発生するようになり、これは符号化効率の増加に繋がることができる。
【００５８】
最後に、ビットストリーム生成部１３０は、前記変換部１２５から提供される符号語と、ビデオコード部１１０から提供されるモーションベクトルおよび符号化された残差を含むビットストリームを生成する。
【００５９】
図１０は、本発明の実施例1に係るビデオデコード装置２００およびフラグデコード装置２２０の構成を示すブロック図である。
【００６０】
ビデオデコード装置２００は、ビットストリームパーサ２１０、フラグデコード装置２２０、およびビデオデコード部２３０を含んで構成することができる。
【００６１】
先ず、ビットストリームパーサ２１０は、入力されたビットストリームからモーションベクトル、符号化された残差、最大ラン、符号語などを読み込む。
【００６２】
フラグデコード装置２２０は、複数のブロックからなるビデオフレームのコーディングに用いられるフラグをデコードする装置であり、符号語テーブル２２１、逆変換部２２２、フラグ復元部２２３、および演算部２２４からなる。
【００６３】
逆変換部２２２は、所定の符号語テーブルを参照して入力されたビットストリームに含まれる符号語からフラグビット列を復元する。
【００６４】
前記符号語テーブル２２１は、図９における符号語テーブル１２４に相応し、前記符号語を所定大きさの最大ラン内のシンボルにマッピングさせる。特に、前記符号語テーブル２２１は、前記符号語のうち最短長さの符号語を前記最大ランに該当する数だけの０にマッピングさせる。この時、前記最短長さの符号語は０である。前記最大ランは、ビットストリームから読み取ることもできるが、予め約束された値（例    ８）が用いられることもできる。
【００６５】
フラグ復元部２２３は、前記復元されたフラグビット列に含まれる各々のビットを読み取って、前記複数のブロックに関するフラグを復元する。すなわち、前記各々のビットが各々のブロックのフラグになる。前記読み取られたビットのうち隣接したビットに対応するブロックは前記ビデオフレーム内で空間的に隣接した位置を有する。
【００６６】
フラグデコード装置２２０は、前記復元しようとするフラグが残差予測フラグの場合、前記逆変換部２２２によって復元されたフラグビット列と、前記フラグビット列が属するブロックに対応する下位階層のブロックの残差エネルギの有無を示す値との排他的論理和を求める演算部２２４をさらに含むこともできる。この時には前記排他的論理和を求めた結果が残差予測フラグとなる。
【００６７】
最後に、ビデオデコード部２３０は、前記復元されたフラグと、ビットストリームパーサ２１０から提供されるモーションベクトル、および符号化された残差を用いてビデオフレームを復元する。前記ビデオフレーム復元過程は、従来に知らされた通常の方法からなり、図１０のビデオフレーム符号化過程の逆に行われる。
【００６８】
図１１は、本発明の実施例２に係るビデオエンコード装置３００およびフラグエンコード装置３２０の構成を示すブロック図である。
【００６９】
ビデオエンコード装置３００は、ビデオコード部３１０、フラグエンコード装置３２０、およびビットストリーム生成部３３０を含んで構成することができる。
【００７０】
先ず、ビデオコード部３１０は、ビデオコード部１１０と同様に入力されたビデオフレームからモーションベクトルおよび符号化された残差を生成する。
【００７１】
フラグエンコード装置３２０は、複数のブロックからなるビデオフレームのコーディングに用いられるフラグをエンコードする装置であって、フラグ組合せ部３２１、ビット列分割部３２２、グループサイズ決定部３２３、スキップビット設定部３２４、およびスイッチング部３２５を含んで構成することができる。
【００７２】
フラグ組合せ部３２１は、前記ブロックの空間的関連性に基づいて前記ブロック毎に割り当てられるフラグ値を集めてフラグビット列を生成する。
【００７３】
ビット列分割部３２２は、所定のグループサイズに前記フラグビット列を分割する。前記グループサイズは、ビデオエンコード装置とビデオデコード装置との間に予め約束されていることもでき、ビデオエンコード装置側で最適のグループサイズを可変的に決定して、ビデオデコード装置側に伝達することもできる。後者の場合、グループサイズ決定部３２３は、前記グループサイズを、前記ビットストリームの大きさを最小にする値で決定する。
【００７４】
スキップビット設定部３２４は、前記分割されたフラグビット列のすべての値が０であるかを表示するスキップビットを設定する。
【００７５】
スイッチング部３２５は、前記設定されたスキップビットによって前記分割されたフラグビット列をビットストリームに記録されるように通過させたりスキップしたりする。スイッチング部３２５のスイッチング動作に関する制御信号はスキップビット設定部３２４から提供されるスキップビットである。より具体的に、前記スキップビットが第１ビット（例    １）の場合には前記スイッチング部３２５は開かれるように制御されて前記分割されたビット列はスキップされ、前記スキップビットが第２ビット（例    ０）の場合には前記スイッチング部３２５は閉じられるように制御されて前記分割されたビット列は通過して、ビットストリームに記録される。
【００７６】
表（４）で上述したように、前記グループサイズは前記ビットストリームのスライスヘッダに記録されることが好ましい。また、表（５）および表（６）で上述したように、前記スキップビットは前記ビットストリームのグループサイズだけのブロックのうち最初ブロックのヘッダに記録されることが好ましい。しかし前記スキップビットを集めてスライスヘッダに記録することも勿論可能である。
【００７７】
図１２は、本発明の実施例２に係るビデオデコード装置４００およびフラグデコード装置４２０の構成を示すブロック図である。
【００７８】
ビデオデコード装置４００は、ビットストリームパーサ４１０、フラグデコード装置４２０、およびビデオデコード部４３０を含んで構成することができる。
【００７９】
ビットストリームパーサ４１０は、入力されたビットストリームからモーションベクトル、符号化された残差、フラグビット列などを読み込む。
【００８０】
フラグデコード装置４２０は、複数のブロックからなるビデオフレームのコーディングに用いられるフラグをデコードする装置であり、スキップビット読取部４２１、フラグ復元部４２２、およびグループサイズ読取部４２３を含んで構成することができる。
【００８１】
先ず、スキップビット読取部４２１は入力されたビットストリームからスキップビットを読み取り、グループサイズ読取部４２３は前記ビットストリームからグループサイズを読み取る。前記グループサイズは前記ビットストリームのスライスヘッダに記録されており、前記スキップビットは前記ビットストリームのグループサイズだけのブロックのうち最初ブロックのヘッダまたは前記スライスヘッダに記録されている。
【００８２】
フラグ復元部４２２は、前記読み取られたスキップビットによって前記ビットストリームに含まれるフラグビット列のうち前記グループサイズだけのビットから前記ブロックに関する各々のフラグを復元する。より具体的に、前記フラグ復元部４２２は、前記スキップビットが第１ビット（例    １）の場合には前記グループサイズだけのビット各々を前記復元されたフラグとして設定する。そして、前記スキップビットが第２ビット（例    ０）の場合にはフラグエンコード装置３２０で前記グループサイズだけのフラグビット列だけの連続した０がスキップされているため、前記グループサイズだけの０を前記復元されたフラグとして設定する。
【００８３】
前記フラグ復元部４２２によって設定され、各ブロック毎に復元されるフラグはビデオデコード部４３０に提供される。ビデオデコード部２３０は、前記復元されたフラグと、ビットストリームパーサ４１０から提供されるモーションベクトルおよび符号化された残差を用いてビデオフレームを復元する。前記ビデオフレーム復元過程は、従来知らされた通常の方法からなり、図１１のビデオフレーム符号化過程の逆に行われる。
【００８４】
以上の実施例において、各フラグはマクロブロック毎に設定されるか復元されるものにして説明した。しかし、これは１つの例に過ぎず、前記フラグはマクロブロックより大きいスライス単位や、マクロブロックより小さいサブブロック（８×８ブロック、４×４ブロックなど）単位で設定されるか、復元されてもよいことは当業者であれば、十分に理解できる。
【００８５】
今まで図２〜図６の各構成要素は、メモリ上の所定領域で行われるタスク、クラス、サブルーチン、プロセス、オブジェクト、実行スレッド、プログラムのようなソフトウェアや、ＦＰＧＡやＡＳＩＣのようなハードウェアで具現することができ、また、前記ソフトウェアおよびハードウェアの組合せからなることもできる。前記構成要素は、コンピュータで読取可能な格納媒体に含まれていることもでき、複数のコンピュータにその一部が分散して分布することもできる。
【００８６】
以上、添付した図面を参照して本発明の実施形態を説明したが、本発明が属する技術分野で通常の知識を有する者であれば、本発明がその技術的思想や必須の特徴を変更せず、他の具体的な形態によって実施することができるということを理解できる。したがって、以上で記述した実施形態はすべての面で例示的なものであり、限定的なものではないことを理解しなければならない。
【図面の簡単な説明】
【００８７】
【図１】量子化パラメータによるＶＬＣとＣＡＢＡＣのビット比率の変化を示すグラフである。
【図２】ＶＬＣおよびＣＡＢＡＣ各々について多様なフラグに対するビット比率を示すグラフである。
【図３】１つのフレームを構成するマクロブロックを示す図である。
【図４】各々のマクロブロックヘッダに含まれた特定フラグ間の空間的関連性を示す図である。
【図５】同一のフラグの値を集めて、エントロピー符号化する概念を示す図である。
【図６】ラン値の相対的な比率分布を示すグラフである。
【図７】実施例２に係るビットストリームの構造を示す図である。
【図８】本発明の実施例１、実施例２および既存のＪＳＶＭ間の性能を比較するグラフである。
【図９】本発明の実施例１に係るビデオエンコード装置の構成を示すブロック図である。
【図１０】本発明の実施例１に係るビデオデコード装置の構成を示すブロック図である。
【図１１】本発明の実施例２に係るビデオエンコード装置の構成を示すブロック図である。
【図１２】本発明の実施例２に係るビデオデコード装置の構成を示すブロック図である。
【符号の説明】
【００８８】
１００、３００    ビデオエンコード装置
１１０、３１０    ビデオコード部
１２０、３２０    フラグエンコード装置
１２１、３２１    フラグ組合せ部
１２２            最大ラン決定部
１２３            スキャニング部
１２４、２２１    符号語テーブル
１２５            変換部
１２６、２２４    演算部
１３０、３３０    ビットストリーム生成部
２１０、４１０    ビットストリームパーサ
２２０、４２０    フラグデコード装置
２２２            逆変換部
２２３            フラグ復元部
２３０、４３０    ビデオデコード部
３２２            ビット列分割部
３２３            グループサイズ決定部
３２４            スキップビット設定部
３２５            スイッチング部
４２１            スキップビット読取部
４２２            フラグ復元部
４２３            グループサイズ読取部
【図１】
2008005504.tif 000009
【図２】
2008005504.tif 000010
【図３】
2008005504.tif 000011
【図４】
2008005504.tif 000012
【図５】
2008005504.tif 000013
【図６】
2008005504.tif 000014
【図７】
2008005504.tif 000015
【図８】
2008005504.tif 000016
【図９】
2008005504.tif 000017
【図１０】
2008005504.tif 000018
【図１１】
2008005504.tif 000019
【図１２】
2008005504.tif 000020