(57)【特許請求の範囲】
【請求項１】
あるピクチャの少なくとも１部の少なくとも２つのパーティションに関連する少なくとも１つのシンタックスデータエレメントをエンコードするエンコーダを有する装置であって、
前記少なくとも１つのシンタックスデータエレメントは、第１のデータクラスとして、マクロブロック及びサブマクロブロックの符号化モードをエンコードする第１のループを含む複数の連続的な符号化ループによってエンコードされ、
後の符号化ループは、前記符号化モードに基づき、第２のデータクラスのシンタックスデータエレメントをエンコードし、
参照ピクチャ情報は、前記符号化モード及び前記第２のデータクラスのシンタックスデータエレメントに基づいて、前記後の符号化ループの後の符号化ループにおいて条件付きでエンコードされ、
前記複数の連続的な符号化ループの使用は、高水準シンタックスエレメントにおける少なくとも１つのシンタックスデータフィールドを使用して有効又は無効にされる、
ことを特徴とする装置。
【請求項２】
前記エンコーダは、既存のビデオ符号化規格又はビデオ符号化勧告の既存のエンコーダの拡張されたバージョンである、
請求項１記載の装置。
【請求項３】
前記複数の連続的な符号化ループは、スライスシンタックス符号化のために使用される、
請求項１記載の装置。
【請求項４】
あるピクチャの少なくとも１部の少なくとも２つのパーティションに関連する少なくとも１つのシンタックスデータエレメントをエンコードするステップを含む方法であって、
前記少なくとも１つのシンタックスデータエレメントは、第１のデータクラスとして、マクロブロック及びサブマクロブロックの符号化モードをエンコードする第１のループを含む複数の連続的な符号化ループによってエンコードされ、
後の符号化ループは、前記符号化モードに基づき、第２のデータクラスのシンタックスデータエレメントをエンコードし、
参照ピクチャ情報は、前記符号化モード及び前記第２のデータクラスのシンタックスデータエレメントに基づいて、前記後の符号化ループの後の符号化ループにおいて条件付きでエンコードされ、
前記複数の連続的な符号化ループの使用は、高水準シンタックスエレメントにおける少なくとも１つのシンタックスデータフィールドを使用して有効又は無効にされる、
ことを特徴とする方法。
【請求項５】
当該方法は、既存のビデオ符号化規格又はビデオ符号化勧告の既存のエンコーダの拡張されたバージョンであるエンコーダにより実行される、
請求項４記載の方法。
【請求項６】
前記複数の連続的な符号化ループは、スライスシンタックス符号化のために使用される、
請求項４記載の方法。
【請求項７】
あるピクチャの少なくとも１部の少なくとも２つのパーティションに関連する少なくとも１つのシンタックスデータエレメントをデコードするデコーダを有する装置であって、
前記少なくとも１つのシンタックスデータエレメントは、第１のデータクラスとして、マクロブロック及びサブマクロブロックの符号化モードをデコードする第１のループを含む複数の連続的な復号化ループによってデコードされ、
後の復号化ループは、前記符号化モードに基づき、第２のデータクラスのシンタックスデータエレメントをデコードし、
参照ピクチャ情報は、前記符号化モード及び前記第２のデータクラスのシンタックスデータエレメントに基づいて、前記後の復号化ループ後の復号化ループにおいてデコードされ、
前記複数の連続的な復号化ループの使用は、高水準シンタックスエレメントにおける少なくとも１つのシンタックスデータフィールドを使用して有効又は無効にされる、
ことを特徴とする装置。
【請求項８】
前記デコーダは、既存のビデオ符号化規格又はビデオ符号化勧告の既存のデコーダの拡張されたバージョンである、
請求項７記載の装置。
【請求項９】
前記複数の連続的な復号化ループは、スライスシンタックス復号化のために使用される、
請求項７記載の装置。
【請求項１０】
あるピクチャの少なくとも１部の少なくとも２つのパーティションに関連する少なくとも１つのシンタックスデータエレメントをデコードするステップを含む方法であって、
前記少なくとも１つのシンタックスデータエレメントは、第１のデータクラスとして、マクロブロック及びサブマクロブロックの符号化モードをデコードする第１のループを含む複数の連続的な復号化ループによってデコードされ、
後の復号化ループは、前記符号化モードに基づき、第２のデータクラスのシンタックスデータエレメントをデコードし、
参照ピクチャ情報は、前記符号化モード及び前記第２のデータクラスのシンタックスデータエレメントに基づいて、前記後の復号化ループ後の復号化ループにおいてデコードされ、
前記複数の連続的な復号化ループの使用は、高水準シンタックスエレメントにおける少なくとも１つのシンタックスデータフィールドを使用して有効又は無効にされる、
ことを特徴とする方法。
【請求項１１】
当該方法は、既存のビデオ符号化規格又はビデオ符号化勧告の既存のデコーダの拡張されたバージョンであるデコーダにより実行される、
請求項１０記載の方法。
【請求項１２】
前記複数の連続的な復号化ループは、スライスシンタックス復号化のために使用される、
請求項１０記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ符号化及び復号化に関し、より詳細には、スライスデータ用のマルチパスビデオのシンタックス構造をサポートする方法及び装置に関する。  
本出願は、2007年6月12日に提出された米国特許仮出願第60/943,406号の利益を特許請求するものである。
【背景技術】
【０００２】
幾つかの符号化方式において、（マクロブロック、サブブロック及び／又はブロックのような）フレーム分割におけるシンタックスエレメントの符号化は、（符号化スキャニング順序に従って因果的又は非因果的に）全体の近傍からのシンタックスエレメントに割り当てられるデータが条件とされるか、又は該データに依存する。たとえば、ＩＳＯ／ＩＥＣ（International  Organization  for  Standardization/International  Electrotechnical  Commission）ＭＰＥＧ−４（Moving  Picture  Experts  Group-4）Ｐａｒｔ１０  ＡＶＣ（Advanced  Video  Coding）規格／ＩＴＵ−Ｔ（International  Telecommunication  Union,  Telecommunication  Sector）Ｈ．２６４勧告（以下、MPEG-4規格）で実行されるような典型的なマクロブロックデータの符号化は、スキャニング順序における後のマクロブロックからのデータは利用可能ではないので、係る符号化方式の使用を損なう。
【０００３】
MPEG-4  AVC規格は、３つのカテゴリにおけるスライスデータの分割を提案するものであり、データは、以下のように基本的に分割される。カテゴリＡは、全てのデータであるが残差データであり、カテゴリＢは、残差データのパート１であり、カテゴリＣは、残差データのパート２である。データ分割の目的は、誤り耐性である。デコーダで、３つのカテゴリのシンタックスを１つの完全なケースにマージし、スキャニング順序に基づいて１つのパス分析を実行する。MPEG-4  AVC規格は、全体のマクロブロック及び／又はブロックの近傍のモードデータに関して動きデータの条件付き及び／又は従属符号化（conditional  and/or  dependent  coding）を可能にしない。また、MPEG-4  AVC規格は、モードデータ及び動きデータでの他のシンタックスデータクラスの挿入を可能にしない。
【０００４】
第一の従来技術のアプローチに係るリーフマージング（leaf  merging）のような実用的な用途は、アルゴリズムにフォーカスするのみであり、適切なデータのシステマティックな符号化の順序付けされた方式を供給するものではない。
【０００５】
リーフマージングパラダイムは、画像符号化の分野において、幾何学的な画像の特徴を表現するクワッドツリースキームが最適な指数関数的に減衰するレート歪みの挙動を得るために使用不可能であることが最近示されているという事実に依存する。この問題は、リーフマージングステップによるレート歪み（R-D）の最適なツリーの切り取りに従うことで修正される。同じことを考慮して、第一の従来技術のアプローチは、ビデオ圧縮のクワッドツリーに基づく動き表現は、リーフマージングにより更に克服される同じ基本的な問題に苦しむことを述べている。これらの考察に基づいて、第一の従来技術のアプローチは、MPEG-4  AVC規格により使用される既存のモデルへの非反復的な拡張を提案するものであり、第一のツリーの分解後、近傍のブロックは、ジョイントコーディングのために適応的にマージされる。これにより、予測が符号化されるブロックの間で一連の因果的及び非因果的な依存関係（causal  and  non-causal  dependency）、それらの符号化モード及びマージングの副情報が生成される。この目的のため、スキャニング順序に関する非因果的なやり方におけるデータの幾つかのクラスへのアクセスが必要である。しかし、第一の従来技術のアプローチは、リーフマージングのために必要なデータクラスを符号化ストリームに符号化するシステマチック且つ順序付けされたやり方を供給しない。確かに、各ブロックについて、マージングの仮説が検査される。圧縮効率が隣接ブロックとのマージングにより改善される場合、マージングは、選択されたターゲットブロックでマージされるべきブロックについてイネーブルにされる。所与のブロックについて可能なマージングターゲットは、隣接ブロックのモードに依存し、マージング候補のブロックの特定のモードに依存する。したがって、マージングの副情報は、全ての隣接ブロックモードに依存し、マージング候補のブロックの特定のモードに依存する。最終的に、予測符号化は、あるブロックについて隣接ブロックのマージングの副情報に依存し、同時に、隣接ブロックのマージングの副情報、並びにローカル及び隣接符号化モードに依存する。
【０００６】
図１を参照して、MPEG-4  AVC規格に従ってビデオ符号化を実行可能なビデオエンコーダは、参照符号１００により一般的に示される。
【０００７】
ビデオエンコーダ１００は、結合手段１８５の非反転入力と信号通信する出力を有するフレームオーダリングバッファ１１０を含む。結合手段１８５の出力は、変換器及び量子化器１２５の第一の入力と信号通信で接続される。変換器及び量子化器１２５の出力は、エントロピーコーダ１４５の第一の入力と逆変換器及び逆量子化器１５０の第一の入力と信号通信で接続される。エントロピーコーダ１４５の出力は、結合手段１９０の第一の非反転入力と信号通信で接続される。結合手段１９０の出力は、出力バッファ１３５の第一の入力と信号通信で接続される。
【０００８】
エンコーダコントローラ１０５の第一の出力は、フレームオーダリングバッファ１１０の第二の入力、逆変換器及び逆量子化器１５０の第二の入力、ピクチャタイプ判定モジュール１１５の入力、マクロブロックタイプ（ＭＢタイプ）判定モジュール１２０の入力、イントラ予測モジュール１６０の第二の入力、デブロッキングフィルタ１６５の第二の入力、動き補償器１７０の第一の入力、動き予測器１７５の第一の入力、及び参照画像バッファ１８０の第二の入力と信号通信で接続される。
【０００９】
エンコーダコントローラ１０５の第二の出力は、ＳＥＩ（Supplement  Enhancement  Information）挿入器１３０の第一の入力、変換器及び量子化器１２５の第二の入力、エントロピーコーダ１４５の第二の入力、出力バッファ１３５の第二の入力、及びＳＰＳ（Sequence  Parameter  Set）及びＰＰＳ（Picture  Parameter  Set）挿入器１４０の入力と信号通信で接続される。
【００１０】
ピクチャタイプ判定モジュール１１５の第一の出力は、フレームオーダリングバッファ１１０の第三の入力と信号通信で接続される。ピクチャタイプ判定モジュール１１５の第二の出力は、マクロブロックタイプの判定モジュール１２０の第二の入力と信号通信で接続される。
【００１１】
ＳＰＳ（Sequence  Parameter  Set）及びＰＰＳ（Picture  Parameter  Set）挿入器１４０の出力は、結合手段１９０の第三の非反転入力と信号通信で接続される。
【００１２】
逆量子化器と逆変換器１５０の出力は、結合手段１２７の第一の非反転入力と信号通信で接続される。結合手段１２７の出力は、イントラ予測モジュール１６０の第一の入力とデブロッキングフィルタ１６５の第一の入力と信号通信で接続される。デブロッキングフィルタ１６５の出力は、参照画像バッファ１８０の第一の入力と信号通信で接続される。参照画像バッファ１８０の出力は、動き予測器１７５の第二の入力と信号通信で接続される。動き予測器１７５の第一の出力は、動き補償器１７０の第二の入力と信号通信で接続される。動き予測器１７５の第二の出力は、エントロピーコーダ１４５の第三の入力と信号通信で接続される。
【００１３】
動き補償器１７０の出力は、スイッチ１９７の第一の入力と信号通信で接続される。イントラ予測モジュール１６０の出力は、スイッチ１９７の第二の入力と信号通信で接続される。マクロブロックタイプの判定モジュール１２０の出力は、スイッチ１９７の第三の入力と信号通信で接続される。スイッチ１９７の出力は、結合手段１２７の第二の非反転入力と信号通信で接続される。フレームオーダリングバッファ１１０及びエンコーダコントローラ１０５の入力は、入力画像１０１を受信するため、エンコーダ１００の入力として利用可能である。さらに、ＳＥＩ（Supplemental  Enhancement  Information）挿入器１３０の入力は、出力バッファ１３５の出力は、ビットストリームを出力するため、エンコーダ１００の出力として利用可能である。
【００１４】
図２を参照して、MPEG-4  AVC規格に従ってビデオ復号化を実行可能なビデオデコーダは、参照符号２００により一般的に示される。
【００１５】
ビデオデコーダ２００は、エントロピーデコーダ２４５の第一の入力と信号通信で接続される出力を有する入力バッファ２１０を含む。エントロピーデコーダ２４５の第一の出力は、逆変換器及び逆量子化２５０の第一の入力と信号通信で接続される。逆変換器及び逆量子化器２５０の出力は、結合手段２２５の第二の非反転入力と信号通信で接続される。結合手段２２５の出力は、デブロッキングフィルタ２６５の第二の入力とイントラ予測モジュール２６０の第一の入力と信号通信で接続される。デブロッキングフィルタ２６５の第二の入力は、参照画像バッファ２８０の第一の入力と信号通信で接続される。参照画像バッファ２８０の出力は、動き補償器２７０の第二の入力と信号通信で接続される。
【００１６】
エントロピーデコーダ２４５の第二の出力は、動き補償器２７０の第三の入力及びデブロッキングフィルタ２６５の第一の入力と信号通信で接続される。エントロピーデコーダ２４５の第三の出力は、デコーダコントローラ２０５の入力と信号通信で接続される。デコーダコントローラ２０５の第一の出力は、エントロピーデコーダ２４５の第二の入力と信号通信で接続される。デコーダコントローラ２０５の第二の出力は、逆変換器及び逆量子化器２５０の第二の入力と信号通信で接続される。デコーダコントローラ２０５の第三の出力は、デブロッキングフィルタ２６５の第三の入力と信号通信で接続される。デコーダコントローラ２０５の第四の出力は、イントラ予測モジュール２６０の第二の入力、動き補償器２７０の第一の入力、参照画像バッファ２８０の第二の入力と信号通信で接続される。
【００１７】
動き補償器２７０の出力は、スイッチ２９７の第一の入力と信号通信で接続される。イントラ予測モジュール２６０の出力は、スイッチ２９７の第二の入力と信号通信で接続される。スイッチ２９７の出力は、結合手段２２５の第一の非反転入力と信号通信で接続される。
【００１８】
入力バッファ２１０の入力は、入力ビットストリームを受信するため、デコーダ４００の入力として利用可能である。デブロッキングフィルタ２６５の第一の出力は、出力画像を出力するため、デコーダ２００の出力として利用可能である。
【発明の概要】
【課題を解決するための手段】
【００１９】
従来技術のこれらの問題点及び他の問題点は、スライスデータのマルチパスビデオシンタックス構造をサポートする方法及び装置に向けられる本発明の原理により対処される。
【００２０】
本発明の態様によれば、装置が提供され、当該装置は、あるピクチャの少なくとも１部の少なくとも２つのパーティションに関連される少なくとも１つのシンタックスデータエレメントをエンコードするエンコーダを含む。少なくとも１つのシンタックスエレメントは、マルチパスシンタックス構造（multi-pass  syntax  structure）でエンコードされる。少なくとも１つのシンタックスエレメントは、所与のデータのクラスに属する。エンコーダは、次のデータのクラスをエンコードする前にピクチャの少なくとも１部の全てのパーティションに関して、少なくとも１つのシンタックスデータエレメントをエンコードし、次のクラスを含めて、後に符号化されるデータクラスは、次のクラスよりも前に符号化された前に符号化されたデータクラスに関して、因果的な依存関係及び非因果的な依存関係の少なくとも１つの明示的な符号化及び暗黙的な符号化の少なくとも１つを有する。
【００２１】
本発明の別の態様によれば、方法が提供され、当該方法は、あるピクチャの少なくとも１部の少なくとも２つのパーティションに関連される少なくとも１つのシンタックスデータエレメントをエンコードするステップを含む。少なくとも１つのシンタックスエレメントは、マルチパスシンタックス構造でエンコードされる。少なくとも１つのシンタックスエレメントは、所与のデータのクラスに属する。エンコードするステップは、次のデータのクラスをエンコードする前にピクチャの少なくとも１部の全てのパーティションに関して、少なくとも１つのシンタックスデータエレメントをエンコードし、次のクラスを含めて、後に符号化されるデータクラスは、次のクラスよりも前に符号化された前に符号化されたデータクラスに関して、因果的な依存関係及び非因果的な依存関係の少なくとも１つの明示的な符号化及び暗黙的な符号化の少なくとも１つを有する。
【００２２】
本発明の更に別の態様によれば、装置が提供され、当該装置は、あるピクチャの少なくとも１部の少なくとも２つのパーティションに関連される少なくとも１つのシンタックスデータエレメントをデコードするデコーダを含む。少なくとも１つのシンタックスエレメントは、マルチパスシンタックス構造からデコードされる。少なくとも１つのシンタックスエレメントは、所与のデータのクラスに属する。デコーダは、次のデータのクラスをデコードする前にピクチャの少なくとも１部の全てのパーティションに関して、少なくとも１つのシンタックスデータエレメントをデコードし、次のクラスを含めて、後に復号化されるデータクラスは、次のクラスよりも前に復号化された前に復号化されたデータクラスに関して、因果的な依存関係及び非因果的な依存関係の少なくとも１つの明示的な復号化及び暗黙的な復号化の少なくとも１つを有する。
【００２３】
本発明の更なる態様によれば、方法が提供され、当該方法は、あるピクチャの少なくとも１部の少なくとも２つのパーティションに関連される少なくとも１つのシンタックスデータエレメントをデコードするステップを含む。少なくとも１つのシンタックスエレメントは、マルチパスシンタックス構造からデコードされる。少なくとも１つのシンタックスエレメントは、所与のデータのクラスに属する。デコードするステップは、次のデータのクラスをデコードする前にピクチャの少なくとも１部の全てのパーティションに関して、少なくとも１つのシンタックスデータエレメントをデコードし、次のクラスを含めて、後に復号化されるデータクラスは、次のクラスよりも前に復号化された前に復号化されたデータクラスに関して、因果的な依存関係及び非因果的な依存関係の少なくとも１つの明示的な復号化及び暗黙的な復号化の少なくとも１つを有する。
【００２４】
本発明の原理のこれらの態様、特徴及び利点、並びに他の態様、特徴及び利点は、添付図面と共に読まれることとなる例示的な実施の形態の以下の詳細な記載から明らかとなるであろう。
【図面の簡単な説明】
【００２５】
本発明の原理は、以下の例示的な図面に従って良好に理解される。
【図１】MPEG-4  AVC規格に従ってビデオ符号化を実行可能なビデオエンコーダのブロック図である。
【図２】MPEG-4  AVC規格に従ってビデオ復号化を実行可能なビデオデコーダのブロック図である。
【図３】本発明の実施の形態に係る、本発明との使用向けに拡張される、MPEG-4  AVC規格に従ってビデオ符号化を実行可能な例示的なビデオエンコーダのブロック図である。
【図４】本発明の実施の形態に係る、本発明との使用向けに拡張される、MPEG-4  AVC規格に従ってビデオ復号化を実行可能な例示的なビデオデコーダのブロック図である。
【図５】本発明の実施の形態に係る、スライスデータのマルチパスのシンタックス符号化の例示的な方法のフローダイアグラムである。
【図６】本発明の実施の形態に係る、スライスデータのマルチパスのシンタックス復号化の例示的な方法のフローダイアグラムである。
【図７】本発明の実施の形態に係る、スライスデータのマルチパスのシンタックス符号化における１つのマクロブロックの動きベクトル及び残差を符号化する例示的な方法のフローダイアグラムである。
【図８】本発明の実施の形態に係る、スライスデータのマルチパスのシンタックス復号化における１つのマクロブロックの動きベクトル及び残差を復号化する例示的な方法のフローダイアグラムである。
【発明を実施するための最良の形態】
【００２６】
本発明は、スライスデータのマルチパスのビデオシンタックスをサポートする方法及び装置に向けられる。  
本実施の形態は、本発明の原理を説明する。当業者であれば、本実施の形態で明示的に記載又は図示されていないが、本発明を実施し且つ本発明の精神及び範囲に含まれる様々なアレンジメントを創作することができることを理解されたい。
【００２７】
本実施の形態で参照される全ての例及び条件付言語は、当該技術分野を促進するために本発明者により寄与される本発明の原理及び概念を理解することにおいて教育的な目的のために読者を支援することが意図され、係る特定の参照される例及び条件に限定されることがないものと解釈される。
【００２８】
さらに、本発明の原理、態様及び実施の形態を参照する全ての説明は、本発明の特定の例と同様に、本発明の構造的且つ機能的に等価な概念を包含することが意図される。さらに、係る等価な概念は、現在公知の概念と同様に、将来的に開発される等価な概念、すなわち構造に係らず、同じ機能を実行する開発されたエレメントを含むことが意図される。
【００２９】
したがって、たとえば、当業者であれば、本実施の形態で与えられるブロック図は、本発明を実施する例示的な回路の概念図を表すことを理解されるであろう。同様に、フローチャート、フローダイアグラム、状態遷移図、擬似コード等は、コンピュータ読取り可能なメディアで実質的に表現され、コンピュータ又はプロセッサが明示的に示されるか否かに係らず、コンピュータ又はプロセッサにより実行される様々なプロセスを表すことを理解されるであろう。
【００３０】
図示される様々なエレメントの機能は、専用ハードウェアの使用と同様に、適切なソフトウェアと関連してソフトウェアを実行可能なハードウェアを通して提供される場合がある。プロセッサにより提供されたとき、機能は、１つの専用プロセッサにより提供されるか、１つの共有プロセッサにより提供されるか、又は、そのうちの幾つかが共有される複数の個々のプロセッサにより提供される。さらに、用語「プロセッサ」又は「コントローラ」の明示的な使用は、ソフトウェアを実行可能なハードウェアを排他的に示すように解釈されるべきではなく、限定されることなしに、デジタルシグナルプロセッサ（ＤＳＰ）ハードウェア、ソフトウェアを記憶するリードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）及び不揮発性ストレージを暗黙に含む場合がある。
【００３１】
コンベンショナル及び／又はカスタムである他のハードウェアが含まれる場合もある。同様に、図示されるスイッチは、概念的なものである。それらの機能は、プログラムロジックの動作を通して、専用ロジックを通して、プログラム制御及び専用ロジックのインタラクションを通して、更には手動的に実行される場合があり、特定の技術は、文脈から更に詳細に理解されるように実現者により選択可能である。
【００３２】
本発明の請求項では、特定の機能を実行する手段として表現されるエレメントは、たとえばａ）その機能を実行する回路エレメントの組み合わせ、又はｂ）機能を実行するためにそのソフトウェアを実行する適切な回路と組み合わされるファームウェア、マイクロコード等を含む任意の形式のソフトウェアを含む機能を実行する任意のやり方を包含することが意図される。係る請求項により定義される本発明の原理は、様々な参照される手段により提供される機能が結合され、請求項が要求するやり方で纏められる事実にある。したがって、それらの機能を提供する任意の手段は本実施の形態で図示されるものに等価であるとみなされる。
【００３３】
本発明の「１実施の形態」又は「実施の形態」への明細書における参照は、実施の形態と共に記載される特定の特徴、構造、特性等は、本発明の少なくとも１つの実施の形態に含まれることを意味する。したがって、明細書を通して様々な位置に現れるフレーズ「１実施の形態では」又は「実施の形態では」の出現は、必ずしも同じ実施の形態を全て参照するものではない。
【００３４】
たとえば、「Ａ及び／又はＢ」及び「Ａ及びＢの少なくとも１つ」の場合における用語「及び／又は」及び「少なくとも１つ」の使用は、最初に列挙されたオプション（Ａ）のみの選択、又は第二の列挙されたオプション（Ｂ）のみの選択、又は両方のオプションＡ及びＢの選択を包含することが意図される。更なる例として、「Ａ，Ｂ及び／又はＣ」及び「Ａ，Ｂ及びＣの少なくとも１つ」の場合では、係るフレーズは、最初に列挙されたオプション（Ａ）のみの選択、第二に列挙されたオプション（Ｂ）のみの選択、又は、第三の列挙されたオプション（Ｃ）のみの選択、或いは、第一及び第二の列挙されたオプション（Ａ及びＢ）の選択、或いは、第一及び第三の列挙されたオプション（Ａ及びＣ）のみの選択、或いは、第二及び第三の列挙されたオプション（Ｂ及びＣ）のみの選択、或いは、全ての３つのオプション（Ａ及びＢ及びＣ）の選択を包含する。これは、当業者により容易に明らかであるように、列挙される多数のアイテムについて拡張される場合がある。
【００３５】
図３を参照して、MPEG-4  AVC規格に従ってビデオ符号化を実行可能なビデオエンコーダは、参照符号３００により一般的に示される。
【００３６】
ビデオエンコーダ３００は、結合手段３８５の非反転入力と信号通信で出力を有するフレームオーダリングバッファ３１０を含む。結合手段３８５の出力は、変換器及び量子化器３２５の第一の入力と信号通信で接続される。変換器及び量子化器３２５の出力は、マルチパスシンタックス３４５によるエントロピーコーダの第一の入力、逆変換器及び逆量子化器３５０の第一の入力と信号通信で接続される。マルチパスシンタックス３４５によるエントロピーコーダの出力は、結合手段３９０の第一の非反転入力と信号通信で接続される。結合手段３９０の出力は、出力バッファ３３５の第一の入力と信号通信で接続される。
【００３７】
マルチパスシンタックス３０５によるエンコーダコントローラの第一の出力は、フレームオーダリングバッファ３１０の第二の入力、逆変換器及び逆量子化器３５０の第二の入力、ピクチャタイプ判定モジュール３１５の入力、マクロブロックタイプ（ＭＢタイプ）判定モジュール３２０、イントラ予測モジュール３６０の第二の入力、デブロッキングフィルタ３６５の第二の入力、動き補償器３７０の第一の入力、動き予測器３７５の第一の入力、及び参照画像バッファ３８０の第二の入力と信号通信で接続される。
【００３８】
マルチパスシンタックス３０５によるエンコーダコントローラの第二の入力は、ＳＥＩ（Supplemental  Enhancement  Information）挿入器３３０の第一の入力、変換器及び量子化器３２５の第二の入力、マルチパスシンタックス３４５によるエントロピーコーダの第二の入力、出力バッファ３３５の第二の入力、及びＳＰＳ（Sequence  Parameter  Set）及びＰＰＳ（Picture  Parameter  Set）挿入器３４０の入力と信号通信で接続される。
【００３９】
ピクチャタイプ判定モジュール３１５の第一の出力は、フレームオーダリングバッファ３１０の第三の入力と信号通信で接続される。ピクチャタイプ判定モジュール３１５の第二の出力は、マクロブロックタイプ判定モジュール３２０の第二の入力と信号通信で接続される。
【００４０】
ＳＰＳ（Sequence  Parameter  Set）及びＰＰＳ（Picture  Parameter  Set）挿入器３４０の出力は、結合手段３９０の第三の非反転入力と信号通信で接続される。
【００４１】
逆量子化器及び逆変換器３５０の出力は、結合手段３２７の第一の非反転入力と信号通信で接続される。結合手段３２７の出力は、イントラ予測モジュール３６０の第一の入力と、デブロッキングフィルタ３６５の第一の入力と信号通信で接続される。デブロッキングフィルタ３６５の出力は、参照画像バッファ３８０の第一の入力と信号通信で接続される。参照画像バッファ３８０の出力は、動き予測器３７５の第二の入力と信号通信で接続される。動き予測器３７５の第一の出力は、動き補償器３７０の第二の入力と信号通信で接続される。動き予測器３７５の第二の出力は、マルチパスシンタックス３４５によるエントロピーコーダの第三の入力と信号通信で接続される。
【００４２】
動き補償器３７０の出力は、スイッチ３９７の第一の入力と信号通信で接続される。イントラ予測モジュール３６０の出力は、スイッチ３９７の第二の入力と信号通信で接続される。マクロブロックタイプ判定モジュール３２０の出力は、スイッチ３９７の第三の入力と信号通信で接続される。スイッチ３９７の出力は、結合手段３２７の第二の非反転入力と信号通信で接続される。
【００４３】
マルチパスシンタックス３０５によるエンコーダコントローラの第三の出力は、ブロックマージング判定ユニット３３３の第二の入力と信号通信で接続される。マクロブロックタイプ判定モジュール３２０の第二の出力は、ブロックマージング判定ユニット３３３の第一の入力と信号通信で接続される。ブロックマージング判定ユニット３３３の第一の出力は、マルチパスシンタックス３４５によるエントロピーコーダの第四の入力と信号通信で接続される。ブロックマージング判定ユニット３３３の第二の出力は、動き予測器３７５の第三の入力と信号通信で接続される。
【００４４】
フレームオーダリングバッファ３１０及びマルチパスシンタックスによるエンコーダコントローラ３０５の入力は、入力画像３０１を受信するため、エンコーダ３００の入力として利用可能である。さらに、ＳＥＩ（Supplemental  Enhancement  Information）挿入器３３０の入力は、メタデータを受信するため、エンコーダ３００の入力として利用可能である。出力バッファ３３５の出力は、ビットストリームを出力するため、エンコーダ３００の出力として利用可能である。
【００４５】
図４を参照して、MPEG-4規格に従ってビデオ復号化を実行可能なビデオデコーダは、参照符号４００により一般的に示される。
【００４６】
ビデオデコーダ４００は、マルチパスシンタックスによるエントロピーデコーダ４４５の第一の入力と信号通信で接続される出力を有する入力バッファ４１０を有する。マルチパスシンタックスによるエントロピーデコーダ４４５の第一の出力は、逆変換器及び逆量子化器４５０の第一の入力と信号通信で接続される。逆変換及び逆量子化器４５０の出力は、結合手段４２５の第二の非反転入力と信号通信で接続される。結合手段４２５の出力は、デブロッキングフィルタ４６５の第二の入力及びイントラ予測モジュール４６０の第一の入力と信号通信で接続される。デブロッキングフィルタ４６５の第二の出力は、参照画像バッファ４８０の第一の入力と信号通信で接続される。参照画像バッファ４８０の出力は、動き補償器４７０の第二の入力と信号通信で接続される。
【００４７】
マルチパスシンタックスによるエントロピーデコーダ４４５の第二の出力は、動き補償器４７０の第三の入力及びデブロッキングフィルタ４６５の第一の入力と信号通信で接続される。マルチパスシンタックスによるエントロピーデコーダの第三の出力は、マルチパスシンタックスによるデコーダコントローラ４０５の入力と信号通信で接続される。マルチパスシンタックスによるデコーダコントローラ４０５の第一の出力は、マルチパスシンタックスによるエントロピーデコーダ４４５の第二の入力と信号通信で接続される。マルチパスシンタックスによるデコーダコントローラ４０５の第二の出力は、逆変換器及び逆量子化器４５０の第二の入力と信号通信で接続される。マルチパスシンタックスによるデコーダコントローラ４０５の第三の出力は、デブロッキングフィルタ４６５の第三の入力と信号通信で接続される。マルチパスシンタックスによるデコーダコントローラ４０５の第四の出力は、イントラ予測モジュール４６０の第二の入力、動き補償器４７０の第一の入力、参照画像バッファ４８０の第二の入力、及びブロックマージングユニット４３３の入力と信号通信で接続される。ブロックマージングユニット４３３の第一の出力は、マルチパスシンタックスによるエントロピーデコーダ４４５の第三の入力と信号通信で接続される。ブロックマージングユニット４３３の第二の出力は、動き補償器４７０の第四の入力と信号通信で接続される。
【００４８】
動き補償器４７０の出力は、スイッチ４９７の第一の入力と信号通信で接続される。イントラ予測モジュール４６０の出力は、スイッチ４９７の第二の入力と信号通信で接続される。スイッチ４９７の出力は、結合手段４２５の第一の非反転入力と信号通信で接続される。
【００４９】
入力バッファ４１０の入力は、入力ビットストリームを受信するため、デコーダ４００の入力として利用可能である。デブロッキングフィルタ４６５の第一の出力は、出力画像を出力するため、デコーダ４００の出力として利用可能である。
【００５０】
上述されたように、本発明は、スライスデータ用のマルチパスビデオのシンタックス構造をサポートする方法及び装置に向けられる。
【００５１】
実施の形態によれば、スライスデータのシンタックスにおけるマクロブロックデータを幾つかのクラスに分割し、それぞれのクラスのデータは、次のクラスのデータを出力する前に、全てのマクロブロックについて出力される。これにより、所与のシンタックスクラスに関して後にエンコードされた他のシンタックスデータクラスの条件付き及び／又は従属符号化について、所与のシンタックスクラスの完全なマクロブロックの近傍において既に復号化されたデータの使用が可能となる。実施の形態では、たとえば、上述された第一の従来技術のアプローチに関連するリーフマージング技術に基づいたデータの条件付き符号化の使用が可能となる。確かに、マージ情報を示すフルマクロブロックの近傍及び専用のエクストラシンタックスからのマクロブロックのモードデータに基づいて（両方の種類のデータは、スライスシンタックスの異なるパスにおいて符号化される）、動きのようなデータ及び／又は参照画像は、条件付きで符号化される。
【００５２】
したがって、実施の形態によれば、スライスデータ符号化のためのマルチパスのシンタックス構造を提案する。提案されるスライスデータ符号化用のマルチパス構造は、そのマクロブロック及び／又はブロックの完全な近傍（因果的及び非因果的）を考慮して、マクロブロックのシンタックスのエレメント及び／又はブロックのシンタックスのエレメントの、条件付き及び／又は従属的な符号化及び／又は分析を可能にする。
【００５３】
１実施の形態では、マルチパスシンタックス構造は、スライスデータ符号化のために利用される。はじめに、全てのマクロブロックについて全てのモード及び／又はサブモードに関連するデータ、後に、残差に関連するデータによる予測に関連するデータの順序で符号化するため、幾つかの連続的な符号化ループはスライスデータ内で使用される。残差に関連するデータは、MPEG-4  AVC規格のデータカテゴリに従って更に分割される。さらに、副情報を使用して予測の条件付き符号化を挿入するため、更なるデータクラスは、更なるデータパスの形式でスライスデータパスに挿入される。
【００５４】
上述されたように、マルチパススライスデータのシンタックス構造の実施の形態は、リーフマージング符号化技術に向けられる。実施の形態では、はじめに、あるスライス内の全てのモードデータは、マクロブロック及びサブマクロブロックの通常のスキャニング順序で符号化される。次いで、第二のシンタックスパスは、全てのマクロブロック及びサブマクロブロックについて全てのマージング情報をエンコードする。この第二のパスは、第一のパスのモードデータからの周囲全体に及ぶ近傍の情報に基づいて、現在のブロックについてマージング情報の条件付き及び／又は暗黙の符号化について多くの符号化ルールを導出する。第三のパスは、（たとえば、実施の形態では、全てのマクロブロックからのモード及びマージ情報といった）既に利用可能なデータに依存して予測データを条件付きで（及び／又は暗黙的に）エンコードする。
【００５５】
図５を参照して、スライスデータ用のマルチパスシンタックス符号化の例示的な方法は、参照符号５００により一般的に示される。
【００５６】
本方法５００は、開始ブロック５０５を含み、このブロックは、ループリミットブロック５１０に制御を移す。ループリミットブロック５１０は、（処理されている）現在のスライスにおける各マクロブロックを通してループを実行し、制御を機能ブロック５１５に移す。機能ブロック５１５は、マクロブロック及びサブマクロブロック符号化モードをエンコードし、制御をループリミットブロック５２０に移す。ループリミットブロック５２０は、現在のスライスにおける各マクロブロックを通してループを終了し、制御をループリミットブロック５２５に移す。ループリミットブロック５２５は、現在のスライスにおける各マクロブロックを通してループを実行し、制御を機能ブロック５３０に移す。機能ブロック５３０は、（第一の符号化されたデータクラスについて）現在のマクロブロックに関して因果的及び／又は非因果的な近傍からのモード情報に基づいて、（第二の符号化されたデータクラスについて）マクロブロック及びサブマクロブロックのマージングシンタックスを明示的及び暗黙的にエンコードし、制御をループリミットブロック５３５に移す。機能ブロック５３５は、現在のスライスにおける各マクロブロックを通してループを終了し、制御をループリミットブロック５４０に移す。ループリミットブロック５４０は、現在のスライスにおける各マクロブロックを通してループを実行し、制御を機能ブロック５４５に移す。機能ブロック５４５は、現在のマクロブロックに関して因果的及び／又は非因果的な近傍からの（第一の符号化されたデータクラスについて）マクロブロック及びサブマクロブロックモード並びに（第二の符号化されたデータクラスについて）マクロブロック及びサブマクロブロックマージングシンタックスが条件とされる（第三の符号化されたデータクラスについて）動きデータを明示的又は暗黙的にエンコード及び残差を符号化し、制御をループリミットブロック５５０に移す。ループリミットブロック５５０は、現在のスライスにおける各マクロブロックを通してループを終了し、制御を終了ブロック５９９に移す。
【００５７】
図６を参照して、スライスデータ用のマルチパスシンタックス復号化の例示的な方法は、参照符号６００により一般的に示される。
【００５８】
本方法６００は、開始ブロック６０５を含み、このブロックは、制御をループリミットブロック６１０に移す。ループリミットブロック６１０は、（処理されている）現在のスライスにおける各マクロブロックを通してループを実行し、制御を機能ブロック６１５に移す。機能ブロック６１５は、マクロブロック及びサブマクロブロックの符号化モードをデコードし、制御をループリミットブロック６２０に制御を移す。ループリミットブロック６２０は、現在のスライスにおける各マクロブロックを通してループを終了し、制御をループリミットブロック６２５に移す。ループリミットブロック６２５は、現在のスライスにおける各マクロブロックを通してループを実行し、制御を機能ブロック６３０に移す。機能ブロック６３０は、現在のマクロブロックに関して因果的及び／又は非因果的な近傍からの（第一の符号化されたデータクラスについて）モード情報に基づいて（第二の符号化されたデータクラスについて）マクロブロック及びサブブロックのマージングシンタックスを明示的又は暗黙的にデコードし、制御をループリミットブロック６３５に移す。機能ブロック６３５は、現在のスライスにおいて各マクロブロックを通してループを終了し、制御をループリミットブロック６４０に移す。ループリミットブロック６４０は、現在のスライスにおいて各マクロブロックを通してループを実行し、制御を機能ブロック６４５に移す。機能ブロック６４５は、（第一の符号化されたデータクラスについて）マクロブロック及びサブブロックモード、並びに、因果的及び／又は非因果的な近傍及び残差の符号化からの（第二の符号化されたデータクラスについて）マクロブロック及びサブブロックのマージングシンタックスが条件とされる（第三の符号化されたデータクラスについて）動きデータを明示的又は暗黙的にデコードし、制御をループリミットブロック６５０に移す。ループリミットブロック６５０は、現在のスライスにおける各マクロブロックを通してループを終了し、制御を終了ブロック６９９に移す。
【００５９】
図７を参照して、スライスデータのマルチパスシンタックスの符号化における、１つのマクロブロックの動きベクトル及び残差を符号化する例示的な方法は、参照符号７００により一般的に示される。
【００６０】
本方法７００は、開始ブロック７０５を含み、このブロックは、制御をループリミットブロック７１０に移す。ループリミットブロック７１０は、現在のマクロブロックにおける各ブロックを通してループを実行し、制御を判定ブロック７１５に移す。判定ブロック７１５は、現在のブロックがマージされていないか、又はマージされたセグメントからの第一のブロックであるかを判定する。そうである場合、制御を機能ブロック７２０に移す。さもなければ、制御をループリミットブロック７２５に移す。
【００６１】
機能ブロック７２０は、動き情報をエンコードし、制御をループリミットブロック７２５に移す。
【００６２】
ループリミットブロック７２５は、現在のマクロブロックにおける各ブロックを通してループを終了し、制御を機能ブロック７３０に移す。機能ブロック７３０は、残差の符号化を実行し、制御を終了ブロック７９９に移す。
【００６３】
図８を参照して、スライスデータのマルチパスのシンタックス復号化における、１つのマクロブロックの動きベクトル及び残差を復号化する例示的な方法は、参照符号８００により一般的に示される。
【００６４】
本方法８００は、開始ブロック８０５を含み、このブロックは、ループリミットブロック８１０に制御を移す。ループリミットブロック８１０は、現在のマクロブロックにおける各ブロックを通してループを実行し、制御を判定ブロック８１５に移す。判定ブロック８１５は、現在のブロックがマージされていないか、又はマージされたセグメントからの第一のブロックであるかを判定する。そうである場合、制御を機能ブロック８２０に移す。さもなければ、制御をループリミットブロック８２５に移す。
【００６５】
機能ブロック８２０は、動き情報をデコードし、制御をループリミットブロック８２５に移す。
【００６６】
ループリミットブロック８２５は、現在のマクロブロックにおける各マクロブロックを通してループを終了し、制御を機能ブロック８３０に移す。機能ブロック８３０は、残差の復号化を実行し、制御を終了ブロック８９９に移す。
【００６７】
以下の表は、リーフマージング及び副情報のマージを使用した予測データの条件付き及び／又は従属符号化のマルチパススライスのシンタックスデータの符号化の実施の形態を明示的に記述する。
【００６８】
表１は、本発明の実施の形態に係る、マルチパススライスのシンタックスデータの符号化のslice_data()機能のシンタックスを示す。
【００６９】
【表１】
0005801054.tif 000002
表２は、本発明の実施の形態に係る、マルチパススライスのシンタックスデータの符号化のmacroblock_layer_getMBmode_only()機能のシンタックスを示す。
【００７０】
【表２】
0005801054.tif 000003
表３は、本発明の実施の形態に係る、マルチパススライスのシンタックスデータの符号化のmacroblock_layer_getMergeInfo_only()機能のシンタックスを示す。
【００７１】
【表３】
0005801054.tif 000004
表４は、本発明の実施の形態に係る、マルチパススライスのシンタックスデータの符号化のmacroblock_layer_getPredictionData&Residual_only()機能のシンタックスを示す。
【００７２】
【表４】
0005801054.tif 000005
表５は、本発明の実施の形態に係る、マルチパススライスのシンタックスデータの符号化のsub_mb_pred  subMBMode_only  (mb_type)機能のシンタックスを示す。
【００７３】
【表５】
0005801054.tif 000006
表６は、本発明の実施の形態に係る、マルチパススライスのシンタックスデータの符号化のsub_mb_pred_PredictionData_only(mb_type)機能のシンタックスを示す。
【００７４】
【表６】
0005801054.tif 000007
表７は、本発明の実施の形態に係る、マルチパススライスのシンタックスデータの符号化のmb_pred(mb_type)機能のシンタックスを示す。
【００７５】
【表７】
0005801054.tif 000008
表８は、本発明の実施の形態に係る、マルチパススライスのシンタックスデータの符号化のsub_mb_get_mergeinfo(mb_type)機能のシンタックスを示す。
【００７６】
【表８】
0005801054.tif 000009
表９は、本発明の実施の形態に係る、マルチパススライスのシンタックスデータの符号化のget_mergeinfo(mb_type)機能のシンタックスを示す。
【００７７】
【表９】
0005801054.tif 000010
本発明の多くの付随する利点／特徴の幾つかに関する説明が以下に与えられ、そのうちの幾つかは、上述された。たとえば、１つの利点／特徴は、あるピクチャの少なくとも１部の少なくとも２つのパーティションに関連する少なくとも１つのシンタックスデータエレメントを符号化するエンコーダを含む装置であり、少なくとも１つのシンタックスエレメントは、マルチパスシンタックスの構造でエンコードされる。少なくとも１つのシンタックスエレメントは、所与のデータのクラスに属する。エンコーダは、次のデータのクラスを符号化する前に、そのピクチャの少なくとも１部の全てのパーティションに関して少なくとも１つのシンタックスデータエレメントをエンコードする。後に符号化されたデータクラスは、次のクラスを含めて、次のクラスよりも先に符号化された先に符号化されたデータクラスに関して、因果的な依存関係及び非因果的な依存関係の少なくとも１つの明示的な符号化及び暗黙的な符号化の少なくとも１つを有する。
【００７８】
別の利点／特徴は、上述されたエンコーダを有する装置であり、当該エンコーダは、既存のビデオ符号化規格又はビデオ符号化勧告の既存のエンコーダの拡張されたバージョンである。
【００７９】
更に別の利点／特徴は、上述されたエンコーダを有する装置であり、スライスシンタックス符号化についてマルチパスシンタックス構造が使用される。
【００８０】
更に別の利点／特徴は、上述されたエンコーダを有する装置であり、マルチパスシンタックス構造の使用は、ハイレベルシンタックスエレメントにおける少なくとも１つのシンタックスデータを使用してイネーブルにされるか、又はディスエーブルにされる。
【００８１】
さらに、別の利点／特徴は、上述されたエンコーダを有する装置であり、少なくとも２つのパーティションについてモードデータ及び予測データは、異なるデータクラスに関連する。
【００８２】
さらに、別の利点／特徴は、上述されたエンコーダを有する装置であり、データをモードデータ及び動きデータを含み、リーフマージングに基づく符号化の特定のデータのクラスは、モードデータ及び動きデータに挿入される。
【００８３】
本発明のこれらの特徴及び利点、並びに他の特徴及び利点は、本実施の形態での教示に基づいて当業者により容易に確かめられる。本発明の教示は、ハードウェア、ソフトウェア、ファームウェア、特定用途向けプロセッサ、又はその組み合わせの様々な形式で実現される場合があることを理解されたい。
【００８４】
より詳細には、本発明の教示は、ハードウェア及びソフトウェアの組み合わせとして実現される。さらに、ソフトウェアは、プログラムストレージユニットで実施されるアプリケーションプログラムとして実現される。アプリケーションプログラムは、適切なアーキテクチャを有するコンピュータにアップロードされるか、該コンピュータにより実行される場合がある。好ましくは、コンピュータは、１以上の中央処理装置（ＣＰＵ）、ランダムアクセスメモリ（ＲＡＭ）、及び入力／出力（Ｉ／Ｏ）インタフェースのようなハードウェアを有するコンピュータプラットフォームで実現される。コンピュータプラットフォームは、オペレーティングシステム及びマイクロインストラクションコードを含む。本実施の形態で記載される様々なプロセス及び機能は、ＣＰＵにより実行される、マイクロインストラクションコードの一部又はアプリケーションプログラムの一部、或いはその組み合わせの何れかである場合がある。さらに、様々な周辺装置は、更なるデータストレージユニット及びプリンティングユニットのようなコンピュータプラットフォームに接続される場合がある。
【００８５】
添付図面に示される構成システムコンポーネント及び方法の幾つかはソフトウェアで好適に実現されるので、システムコンポーネント又はプロセスの機能ブロック間の実際の接続は、本発明がプログラムされるやり方に依存して異なることを理解されたい。本実施の形態での教示が与えられると、当業者であれば、本発明のこれらの実現又はコンフィギュレーション、或いは類似の実現又はコンフィギュレーションを考えることができる。
【００８６】
例示的な実施の形態は添付図面を参照して本実施の形態で記載されたが、本発明はそれら正確な実施の形態に限定されないこと、及び様々な変形及び変更が本発明の範囲又は精神から逸脱することなしに当業者により実施される場合があることを理解されたい。全ての係る変形及び変更は、特許請求の範囲に述べたように本発明の範囲に含まれることが意図される。
【図１】
0005801054.tif 000011
【図２】
0005801054.tif 000012
【図３】
0005801054.tif 000013
【図４】
0005801054.tif 000014
【図５】
0005801054.tif 000015
【図６】
0005801054.tif 000016
【図７】
0005801054.tif 000017
【図８】
0005801054.tif 000018