(57)【特許請求の範囲】
【請求項１】
フレームパーティショニングを用いたイメージ領域のパーティションをジョイントコーディングするためのエンコーダを有する装置であって、
前記パーティショニングは、所定の条件でパーティションマージング処理を用いて実行され、前記マージング処理は、明示的なコーディング規則とは異なる別個のマージング規則を使用し、
前記マージング規則を用いて同じ動き情報を共有する少なくとも２つのマージされたパーティションのセグメントにおいて、スキャンの順番において最初のパーティションである特定の一つのパーティションに対して、暗黙的なコーディング規則は無視され、前記明示的なコーディング規則が使われ、前記明示的なコーディング規則は、他のパーティションの動きベクトルを用いるのではなく、明示的に動きを算出して動きベクトルを求める規則である、装置。
【請求項２】
暗黙的なコーディング規則によるコーディングモードを使用する前記パーティションの所与の一つは、さらにもう一つのパーティションがすでに前記パーティションの前記所与の一つとマージされている場合にのみ、前記パーティションの別の一つと前記マージング処理によってマージされる、
請求項１記載の装置。
【請求項３】
マージされ得る前記パーティションは、いずれも、ツリーベースの画像デコンポジションの、少なくともブロックの一つまたはブロックの結合である、
請求項１記載の装置。
【請求項４】
暗黙的なコーディング規則によるコーディングモードは、スキップモード、ダイレクトモード、および方向性イントラデータの暗黙的なコーディングのためのモードのうちの少なくとも一つを含む、
請求項１記載の装置。
【請求項５】
暗黙的なコーディング規則による少なくとも２つのモードをマージする可能性は、高水準構文を使用して使用可能または使用不可能にされる、
請求項１記載の装置。
【請求項６】
フレームパーティショニングを用いたイメージ領域のパーティションをジョイントコーディングするための方法であって、
前記パーティショニングは、所定の条件でパーティションマージング処理を用いて実行され、前記マージング処理は、明示的なコーディング規則とは異なる別個のマージング規則を使用し、
前記マージング規則を用いて同じ動き情報を共有する少なくとも２つのマージされたパーティションのセグメントにおいて、スキャンの順番において最初のパーティションである特定の一つのパーティションに対して、暗黙的なコーディング規則は無視され、前記明示的なコーディング規則が使われ、前記明示的なコーディング規則は、他のパーティションの動きベクトルを用いるのではなく、明示的に動きを算出して動きベクトルを求める規則である、方法。
【請求項７】
暗黙的なコーディング規則によるコーディングモードを使用する前記パーティションの所与の一つは、さらにもう一つのパーティションがすでに前記パーティションの前記所与の一つとマージされている場合にのみ、前記パーティションの別の一つと前記マージング処理によってマージされる、
請求項６記載の方法。
【請求項８】
マージされ得る前記パーティションは、いずれも、ツリーベースの画像デコンポジションの、少なくともブロックの一つまたはブロックの結合である、
請求項６記載の方法。
【請求項９】
暗黙的なコーディング規則によるコーディングモードは、スキップモード、ダイレクトモード、および方向性イントラデータの暗黙的なコーディングのためのモードのうちの少なくとも一つを含む、
請求項６記載の方法。
【請求項１０】
暗黙的なコーディング規則による少なくとも２つのモードをマージする可能性は、高水準構文を使用して使用可能または使用不可能にされる、
請求項６記載の方法。
【請求項１１】
フレームパーティショニングを用いたイメージ領域のパーティションをジョイントデコーディングするためのデコーダを有する装置であって、
前記パーティショニングは、所定の条件でパーティションマージング処理を用いて実行され、前記マージング処理は、明示的なコーディング規則とは異なる別個のマージング規則を使用し、
前記マージング規則を用いて同じ動き情報を共有する少なくとも２つのマージされたパーティションのセグメントにおいて、スキャンの順番において最初のパーティションである特定の一つのパーティションに対して、暗黙的なコーディング規則は無視され、前記明示的なコーディング規則が使われ、前記明示的なコーディング規則は、他のパーティションの動きベクトルを用いるのではなく、明示的に動きを算出して動きベクトルを求める規則である、装置。
【請求項１２】
暗黙的なコーディング規則によるコーディングモードを使用する前記パーティションの所与の一つは、さらにもう一つのパーティションがすでに前記パーティションの前記所与の一つとマージされている場合にのみ、前記パーティションの別の一つと前記マージング処理によってマージされる、
請求項１１記載の装置。
【請求項１３】
マージすることとなっている前記パーティションは、いずれも、前もって実行されたツリーベースの画像デコンポジションからの、少なくともブロックの一つまたはブロックの結合である、
請求項１１記載の装置。
【請求項１４】
暗黙的なコーディング規則によるコーディングモードは、スキップモード、ダイレクトモード、および方向性イントラデータの暗黙的なコーディングのためのモードのうちの少なくとも一つを含む、
請求項１１記載の装置。
【請求項１５】
暗黙的なコーディング規則による少なくとも２つのモードをマージする可能性は、高水準構文を使用して使用可能または使用不可能にされる、
請求項１１記載の装置。
【請求項１６】
フレームパーティショニングを用いたイメージ領域のパーティションをジョイントデコーディングするための方法であって、
前記パーティショニングは、所定の条件でパーティションマージング処理を用いて実行され、前記マージング処理は、明示的なコーディング規則とは異なる別個のマージング規則を使用し、
前記マージング規則を用いて同じ動き情報を共有する少なくとも２つのマージされたパーティションのセグメントにおいて、スキャンの順番において最初のパーティションである特定の一つのパーティションに対して、暗黙的なコーディング規則は無視され、前記明示的なコーディング規則が使われ、前記明示的なコーディング規則は、他のパーティションの動きベクトルを用いるのではなく、明示的に動きを算出して動きベクトルを求める規則である、方法。
【請求項１７】
暗黙的なコーディング規則によるコーディングモードを使用する前記パーティションの所与の一つは、さらにもう一つのパーティションがすでに前記パーティションの前記所与の一つとマージされている場合にのみ、前記パーティションの別の一つと前記マージング処理によってマージされる、
請求項１６記載の方法。
【請求項１８】
マージされ得る前記パーティションは、いずれも、ツリーベースの画像デコンポジションの、少なくともブロックの一つまたはブロックの結合である、
請求項１６記載の方法。
【請求項１９】
暗黙的なコーディング規則によるコーディングモードは、スキップモード、ダイレクトモード、および方向性イントラデータの暗黙的なコーディングのためのモードのうちの少なくとも一つを含む、
請求項１６記載の方法。
【請求項２０】
暗黙的なコーディング規則による少なくとも２つのモードをマージする可能性は、高水準構文を使用して使用可能または使用不可能にされる、
請求項１６記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ・エンコーディング、およびデコーディングに関する。より詳細には、ビデオ・エンコーディング、およびデコーディングのためのスキップ／ダイレクトモードのための状況依存的なマージのための方法と装置に関する。
【背景技術】
【０００２】
［関連出願についてのクロスリファレンス］
本出願は、２００７年４月１２日に出願された、米国仮出願番号６０／９１１，４８９の利益を主張する。そして、これは完全に本願明細書において引用したものとする。
【０００３】
国際標準化機構／国際電気標準会議（ＩＳＯ／ＩＥＣ）ＭＰＥＧ−４において、第１０部Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）標準／国際電気通信連合、Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｃｔｏｒ（ＩＴＵ−Ｔ）Ｈ．２６４勧告（以下、「ＭＰＥＧ−４ＡＶＣ標準」という）における、スキップ、およびダイレクトモードは、非常に特殊なモードである。スキップ、およびダイレクトモードは、動きベクトルのいかなるビットも含まない。歪みとビット率との間の適切なトレードオフによって、スキップ、およびダイレクトモードは、低いビット率において最適化される。動きベクトルは、空間および／または時間的な近隣から取得される。スキップモードの場合、残差（ｒｅｓｉｄｕｅ）は、ゼロにセットされる。したがって、スキップ、およびダイレクトモードは、いかなる余分なサイド情報の伝送なしに、隣接したブロックから動き情報を取得するため、暗黙的な規則を使用する。ブロックマージを有するコード体系において使用するサイド情報は、送られる余分のデータのために、スキップ、およびダイレクトコーディングモードのコーディングペナルティとされる。
【０００４】
ツリー構造のビデオデータパーティショニングは、現在の主要ビデオコーディング規格に存在する。
【０００５】
ビデオ標準の大部分は、ビデオ信号に従いコーディングモードおよびビデオデータのコーディングに適応させるために、フレームパーティショニングに対し、ツリー構造のビデオデータパーティショニングを使用している。Ｈ．２６１、ＭＰＥＧ−１、およびＭＰＥＧ−２／Ｈ．２６２は、１６×１６ＭＢパーティショニングだけをサポートする。ＭＰＥＧ−４スタンダードの単純プロファイル、またはＨ．２６３（＋）は、１６×１６ＭＢに対して１６×１６、および８×８の両方のパーティションをサポートする。ＭＰＥＧ−４ＡＶＣスタンダードは、ツリー構造の階層的なマクロブロックパーティションをサポートする。１６×１６ＭＢは、サイズ１６×８、８×１６または８×８のマクロブロックパーティションに分けることができ、８×８パーティションは、サブマクロブロックとして知られている。サブマクロブロックは、マクロブロックがサイズ８×４、４×８、および４×４のパーティションに分けられる。図１を参照すると、ＭＰＥＧ−４ＡＶＣスタンダードコーディングモードが、参照番号１００として一般的に示されている。
【０００６】
しかしながら、場合によっては、ビデオデータの単純な４分木パーティショニングは、最高のコーディング効率を達成するのには十分ではない。パーティショニングの処理の間、一部のブロックでは、結局のところ近くに類似したデータが含まれることがある。このようなデータに対し、単一ブロックとしてジョイントしてエンコードすれば、よりよくコーディングされるだろう。しかしながら、これらの隣接したブロックは、ツリー構造のパーティショニングの別の親に対応していることがある。このような場合、結合したコーディングは不可能である。また、たとえばマクロブロックが与えられた場合、総合的にサブブロックの全てでなく、任意のパターンのサブブロックの一部だけをコーディングしたいという場合もある。この種の欠点を克服する従来のアプローチとしては、ツリーデコンポジションの後に葉をマージすることによって隣接したブロックをジョイントコーディングすることが挙げられる。上述の従来技術なアプローチを、ＭＰＥＧ−４ＡＶＣスタンダードに適用し、隣接したブロックの動画データのジョイントコーディングすることが提案されている。提案された応用は、どのブロックがジョイントされてコーディングされるかについて示すために、付加的なサイド情報を使用する。このサイド情報は、同じ動き情報をもつセグメントを生成するために、どのブロックがどのブロックにマージされるかを示すものである。図２に移ると、最初のツリーデコンポジションの領域ベースの動き補償およびコーディングの後の可能なマージ規則の例が示されている。図２において、マクロブロック、マクロブロックパーティション、サブマクロブロックおよび／またはサブマクロブロックパーティションの可能なマージが、矢印によってそれぞれ示されている。一実施例において、ブロックが他のブロックにマージされるかどうか指し示すためにマージフラグが用いられる。マージする方向の信号は、現在のブロックがどのブロックにマージされるかを示すために用いられる。本来、ＭＰＥＧ−４ＡＶＣスタンダードは、（例えば、スキップまたはダイレクトモード）予測器によってビデオデータ（例えば動き）が直接に得られ、そして、動きに関する情報（およびスキップの残差）がエンコードされない領域の有用なコーディングのための統計的に最適化されているモードを持っているにもかかわらず、上述の従来技術は、これを無視しているという欠点がある。場合によっては、この種のモードでの動きの情報のために導入されるいかなる追加情報も、結果としてコーディング効率の損失を導きかねない。このような例が上述に提案されたマージ情報のケースで起こり得る。見方を変えれば、スキップ、およびダイレクトモードは予測器によって生成される同じ動きを有するスキップ／ダイレクトのブロックの暗黙的なマージ操作と考えてもよい。このため、他の一部のブロックとのジョイントコーディングまたはスキップおよび／またはダイレクトモード内でマージの方向を示す追加のサイド情報は、結果として不必要な冗長性、および速度歪み（ＲＤ）効率の損失を導くこととなる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術のこれらの、そしてまた他の、欠点および不利な点は本願発明の原理によって対処される。そして、本願発明はビデオ・エンコーディング、およびデコーディングのためのスキップ／ダイレクトモードのための状況依存的なマージのための方法と装置を提供することを目指す。
【課題を解決するための手段】
【０００８】
本発明の一態様によって、以下の装置が提供される。
【０００９】
フレームパーティショニング、およびパーティションマージング処理を用いたイメージ領域のパーティションをジョイントコーディングするためのエンコーダを有する装置であって、
暗黙的なコーディング規則によるコーディングモードを使用する所与の前記パーティションはいずれも、明示的なコーディング規則によるコーディングモードに対して使用されるマージング規則とは異なる別個のマージング規則を使用して、前記パーティションの別の一つとマージされる装置。
【００１０】
本願発明の別の態様で、以下の方法が提供される。
【００１１】
フレームパーティショニング、およびパーティションマージング処理を用いたイメージ領域のパーティションをジョイントコーディングするための方法であって、
暗黙的なコーディング規則によるコーディングモードを使用する所与の前記パーティションはいずれも、明示的なコーディング規則によるコーディングモードに対して使用されるマージング規則とは異なる別個のマージング規則を使用して、前記パーティションの別の一つとマージされる方法。
【００１２】
本願発明のさらにもう一つの態様によれば、以下の装置が提供される。
【００１３】
フレームパーティショニング、およびパーティションマージング処理を用いたイメージ領域のパーティションをジョイントデコーディングするためのデコーダを有する装置であって、
暗黙的なコーディング規則によるコーディングモードを使用する所与の前記パーティションはいずれも、明示的なコーディング規則によるコーディングモードに対して使用されるマージング規則とは異なる別個のマージング規則を使用して、前記パーティションの別の一つとマージされる装置。
【００１４】
本願発明の他の態様によれば、以下の方法が提供される。
【００１５】
フレームパーティショニング、およびパーティションマージング処理を用いたイメージ領域のパーティションをジョイントデコーディングするための方法であって、
暗黙的なコーディング規則によるコーディングモードを使用する所与の前記パーティションはいずれも、明示的なコーディング規則によるコーディングモードに対して使用されるマージング規則とは異なる別個のマージング規則を使用して、前記パーティションの別の一つとマージされる方法。
【００１６】
これらの、そしてまた他の態様、特徴、および本発明の効果は以下の例示的な実施例の詳細な説明から明らかになる。そして、それは添付の図面と関連して説明する。
【００１７】
本願発明は、以下の例示的な図に従ってよりよく理解される。
【図面の簡単な説明】
【００１８】
【図１】本願発明が適用され得るＭＰＥＧ−４ＡＶＣスタンダードコーディングモードのためのブロック図である。
【図２】従来技術に従って、領域ベースの動き補償、およびコーディングのための最初のツリーデコンポジション段階の後の可能なマージの規則の例示的なスキームを示す図である。
【図３】本願発明が適用され得る例示的なエンコーダのブロック図である。
【図４】本願発明が適用され得る例示的なデコーダのブロック図である。
【図５】本願発明の実施例に従ったマージ可能なスキップモードのビデオエンコーダにおけるマージ処理のための例示的な方法のフローチャートである。
【図６】本願発明の実施例に従ったマージ可能なスキップモードのビデオデコーダにおけるマージ処理のための例示的な方法のフローチャートである。
【図７】本願発明の実施例に従ったマージ可能なスキップモードのためのコーディングの例示的な方法のためのフローチャートである。
【図８】本願発明の実施例に従ったマージ可能なスキップモードのためのデコーディングの例示的な方法のためのフローチャートである。
【発明を実施するための形態】
【００１９】
本願発明は、ビデオ・エンコーディング、およびデコーディングのためのスキップ／ダイレクトモードのための状況依存的なマージのための方法と装置を提供することを目的とする。本願明細書において、以下本願発明を例示する。当業者であれば、本願明細書において明示的に記載されまたは示されていない場合であっても、その趣旨および範囲の中に含まれるさまざまな本願発明を実施し、考案することが可能であると理解される。
【００２０】
本願明細書において詳述される全ての実施例、および条件つきの語は、説明を目的とし、読者が本願発明および発明者の貢献によって構築されたコンセプトを理解するのを助けることを目的とする。しかも、特にこの種の詳述された実施例および条件に限定されるものと解釈してはならない。
【００２１】
さらに、本願発明の原理、態様、および実施例並びにその具体例を詳述した本願明細書における全ての記載は、その構造および機能に関する均等物を含むことを意図している。加えて、このような均等物は、現在知られている均等物および将来開発される均等物をも含む。すなわち、開発された同じ機能を呈するいかなる要素も、その構造を問わず、含まれることとなる。
【００２２】
したがって、例えば、本願明細書において示されるブロック図は、本願発明を実施している実例となる回路の概念ビューを表すということが、当業者によって理解される。同様に、いかなるフローチャート、フローダイヤグラム、状態遷移図、擬似コード、などは、この種のコンピュータまたはプロセッサが明示的に示されているか否かにかかわらず、実質的に計算機可読のメディアで表されてもよく、かつコンピュータまたはプロセッサによって実行され得るさまざまな方法を表すことはいうまでもない。
【００２３】
図に示されるさまざまな構成要素の機能は、専用ハードウェアの使用によって提供されてもよく、また、適切なソフトウェアによって、ソフトウェア実行可能なハードウェアによって提供されてもよい。プロセッサによって提供される場合、機能は単一の専用プロセッサによって、単一の共有プロセッサによって、または複数の個々のプロセッサによって提供されてもよい。そして、その幾つかは共有されてもよい。さらに、語「プロセッサ」または「コントローラ」の明確な使用は、ソフトウェアを実行することが可能なハードウェアだけに関連すると解釈されてはならない。そして、これらには、デジタルシグナルプロセッサ（ＤＳＰハードウェア）、ソフトウェアを格納するための読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、および不揮発性記憶装置が挙げられるが、これに限定されるものではない。
【００２４】
他のハードウェア、通常のものおよび／またはカスタムなものも含まれ得る。同様に、図に示されるいかなるスイッチも、概念上のものに過ぎない。それらの機能は、プログラムロジックの動作によって達成されてもよい。これは、専用のロジック、プログラム制御および専用のロジックの相互作用、または手動でもよい。そして、特定の技術が詳細には文脈から理解され、作成者によって選択可能である。
【００２５】
請求項において、特定された機能を実行するための手段を示すいかなる構成要素も、その機能を実行する以下に示すいかなる方法も含むことを目的とする。すなわち、ａ）機能を実行する回路素子の組合せ、または、ｂ）機能を実行するための適切な回路と組み合わされたソフトウェアを実行するファームウェア、マイクロコード等を含むいかなる形式のソフトウェア、が挙げられる。クレームに記載された本願発明は、クレームに詳述された手段によって提供されるさまざまな機能が結合される形で実現される。したがって、それらの機能を提供するいかなる手段も、本願明細書において示されるものと均等である。
【００２６】
本願における「一実施例」または「実施例」の参照は、実施例に関連して記載される特定の特徴、構造、特質等が本願発明の少なくとも一つの実施例に含まれることを意味する。したがって、明細書のさまざまな場所において使用される「一実施例において」または「実施例において」という表現は、必ずしも同じ実施例に関連しているというわけではない。
【００２７】
例えば、「および／または」という表現は、例えば、「Ａおよび／またはＢ」においては、第１のオプション（Ａ）、第２のオプション（Ｂ）または両方のオプション（Ａ、およびＢ）の選択を含むことを意図する。更なる例としては、「Ａ、Ｂおよび／またはＣ」という場合には、第一のオプション（Ａ）、第二のオプション（Ｂ）、第三のオプション（Ｃ）、第一と第二のオプションの選択（ＡおよびＢ）、第一と第三のオプションの選択（ＡおよびＣ）、第二と第三のオプションの選択（ＢおよびＣ）、または全てのオプションの選択（ＡおよびＢおよびＣ）が含まれる。多くのアイテムが示された場合も同様であることは、の当業者によって直ちに明らかである。
【００２８】
本願で使用している「高水準構文」は、マクロブロック・レイヤーより上の層に存在するビット列に対する構文に関連する。例えば、本願明細書において使われるスライス・ヘッダ・レベルの高レベル構文としては、サプレメンタル・エンハンスメント・インフォメーション・レベル（Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ（ＳＥＩ）ｌｅｖｅｌ）、ピクチャ・パラメータ・セット・レベル（ｐｉｃｔｕｒｅ  ｐａｒａｍｅｔｅｒ  ｓｅｔ（ＳＰＳ）ｌｅｖｅｌ）、シーケンス・パラメータ・セットレベル、（ｓｅｑｕｅｎｃｅ  ｐａｒａｍｅｔｅｒ  ｓｅｔ（ＳＰＳ）ｌｅｖｅｌ）、およびネットワーク・アブストラクション・レイヤー・ユニット・ヘッダー・レベル（Ｎｅｔｗｏｒｋ  Ａｂｓｔｒａｃｔｉｏｎ  Ｌａｙｅｒ（ＮＡＬ）Ｕｎｉｔ  ｈｅａｄｅｒ  ｌｅｖｅｌ）が挙げられる。
【００２９】
さらに、本願発明の一つ以上の実施例は、ＭＰＥＧ−４ＡＶＣ標準に関して記載されている。しかしながら、本願発明の精神を維持するかぎり、本願発明は、単にこの標準だけに限られない。すなわち、ＭＰＥＧ−４ＡＶＣ標準の拡張を含み、その他の映像コーディング標準、勧告、および拡張に関連して利用されてもよいことが理解されるべきである。
【実施例】
【００３０】
図３において、ＭＰＥＧ−４ＡＶＣ標準に従ったビデオ・エンコーディングを実行することが可能なビデオエンコーダが、参照番号３００によって全体的に示されている。
【００３１】
ビデオエンコーダ３００は、コンバイナ３８５の非反転入力に信号通信接続された出力を有するフレーム順序付けバッファ３１０を含む。コンバイナ３８５の出力は、変換器および量子化器３２５の第一入力に信号通信接続される。変換器および量子化器３２５の出力は、領域マージ拡張付きエントロピー符号器３４５の第一入力、および逆変換器および逆量子化器３５０の第一入力に信号通信接続される。領域マージ拡張付きエントロピー符号器３４５の出力は、コンバイナ３９０の第１の非反転入力に信号通信接続される。コンバイナ３９０の出力は、出力バッファ３３５の第一入力に信号通信接続される。
【００３２】
領域マージ拡張付きエンコーダ・コントローラ３０５の第一出力端は、フレーム順序付けバッファ３１０の第２の入力、逆変換器および逆量子化器３５０の第２の入力、画像−タイプ決定モジュール３１５の入力、マクロブロック−タイプ（ＭＢ−タイプ）決定モジュール３２０の入力、イントラ予測モジュール３６０の第２の入力、デブロッキングフィルタ３６５の第２の入力、モーションコンペンセータ３７０の第一入力、モーション推定器３７５の第一入力、および参照ピクチャ・バッファ３８０の第２の入力に信号通信接続される。
【００３３】
領域マージ拡張付きエンコーダ・コントローラ３０５の第２の出力は、付加的強調情報（ＳＥＩ）インサータ３３０の第一入力、変換器および量子化器３２５の第２の入力、エントロピー符号器１４５の第２の入力、出力バッファ３３５の第２の入力、およびシーケンス・パラメータ・セット（ＳＰＳ）およびピクチャ・パラメータ・セット（ＰＰＳ）インサータ３４０の入力に信号通信接続される。
【００３４】
画像−タイプ決定モジュール３１５の第一出力端は、フレーム順序付けバッファ３１０の第三入力に信号通信接続される。画像−タイプ決定モジュール３１５の第２の出力は、マクロブロック−タイプ決定モジュール３２０の第２の入力に信号通信接続される。
【００３５】
シーケンス・パラメータ・セット（ＳＰＳ）およびピクチャ・パラメータ・セット（ＰＰＳ）インサータ３４０の出力は、コンバイナ３９０の第三非反転入力に信号通信接続される。逆量子化器および逆変換器３５０の出力は、コンバイナ３１９の第１の非反転入力に信号通信接続される。コンバイナ３１９の出力は、イントラ予測モジュール３６０の第一入力、およびデブロッキングフィルタ３６５の第一入力に信号通信接続される。デブロッキングフィルタ３６５の出力は、参照ピクチャ・バッファ３８０の第一入力に信号通信接続される。参照ピクチャ・バッファ３８０の出力は、モーション推定器３７５の第２の入力に信号通信接続される。モーション推定器３７５の第一出力端は、モーションコンペンセータ３７０の第２の入力に信号通信接続される。モーション推定器３７５の第２の出力は、領域マージ拡張付きエントロピー符号器３４５の第三入力に信号通信接続される。
【００３６】
モーションコンペンセータ３７０の出力は、スイッチ３９７の第一入力に信号通信接続される。イントラ予測モジュール３６０の出力は、スイッチ３９７の第２の入力に信号通信接続される。マクロブロック−タイプ決定モジュール３２０の出力は、スイッチ３９７の第三入力に信号通信接続される。スイッチ３９７の第三入力（制御入力と比較すると、すなわち第三入力）は、スイッチの「データ」入力がモーションコンペンセータ３７０かイントラ予測モジュール３６０によって提供されることであるか否かを確定する。スイッチ３９７の出力は、コンバイナ３１９の第２の非反転入力、およびコンバイナ３８５の逆相入力端子に信号通信接続される。
【００３７】
フレーム順序付けバッファ３１０、および領域マージ拡張付きエンコーダ・コントローラ３０５の入力は、入力画像３０１を受信するため、エンコーダ３００の入力として利用できる。さらに、サプレメンタルエンハンスメントインフォメーション（ＳＥＩ）インサータ３３０の入力は、メタデータの受信のために、エンコーダ３００の入力として使われる。出力バッファ３３５の出力は、ビット列を出力するために、エンコーダ３００の出力として使われる。
【００３８】
図４を参照すると、ＭＰＥＧ−４ＡＶＣ標準に従ってビデオ・デコーディングを実行することが可能なビデオデコーダが、参照番号４００によって全体的に示されている。
【００３９】
ビデオデコーダ４００は、領域マージ拡張付きエントロピーデコーダ４４５の第一入力に信号通信接続される出力を有する入力バッファ４１０を含む。領域マージ拡張付きエントロピーデコーダ４４５の第一出力端は、逆変換器および逆量子化器４５０の第一入力に信号通信接続される。逆変換器および逆量子化器４５０の出力は、コンバイナ４２５の第２の非反転入力に信号通信接続される。コンバイナ４２５の出力は、デブロッキングフィルタ４６５の第２の入力、およびイントラ予測モジュール４６０の第一入力に信号通信接続される。デブロッキングフィルタ４６５の第２の出力は、参照ピクチャ・バッファ４８０の第一入力に信号通信接続される。参照ピクチャ・バッファ４８０の出力は、モーションコンペンセータ４７０の第２の入力に信号通信接続される。
【００４０】
領域マージ拡張付きエントロピーデコーダ４４５の第２の出力は、モーションコンペンセータ４７０の第三入力、およびデブロッキングフィルタ４６５の第一入力に信号通信接続される。領域マージ拡張付きエントロピーデコーダ４４５の第三出力は、領域マージ拡張付きデコーダ・コントローラ４０５の入力に信号通信接続される。領域マージ拡張付きデコーダ・コントローラ４０５の第一出力端は、領域マージ拡張付きエントロピーデコーダ４４５の第２の入力に信号通信接続される。領域マージ拡張付きデコーダ・コントローラ４０５の第２の出力は、逆変換器および逆量子化器４５０の第２の入力に信号通信接続される。領域マージ拡張付きデコーダ・コントローラ４０５の第三出力は、デブロッキングフィルタ４６５の第三入力に信号通信接続される。領域マージ拡張付きデコーダ・コントローラ４０５の第四出力は、イントラ予測モジュール４６０の第２の入力、モーションコンペンセータ４７０の第一入力、および参照ピクチャ・バッファ４８０の第２の入力に信号通信接続される。
【００４１】
モーションコンペンセータ４７０の出力は、スイッチ４９７の第一入力に信号通信接続される。イントラ予測モジュール４６０の出力は、スイッチ４９７の第２の入力に信号通信接続される。スイッチ４９７の出力は、コンバイナ４２５の第１の非反転入力に信号通信接続される。
【００４２】
入力バッファ４１０の入力は、入力ビット列を受信するために、デコーダ４００の入力として使われる。デブロッキングフィルタ４６５の第一出力端は、出力画像を出力するために、デコーダ４００の出力として使われる。
【００４３】
上述の如く、本願発明は、ビデオ・エンコーディング、およびデコーディングのためのスキップ／ダイレクトモードのための状況依存的なマージのための方法と装置を提供することを目的とする。
【００４４】
場合によっては、与えられたブロックと他のブロックをジョイントコーディングすることを示す構文は、更にコーディング効率を改善するために役立つと理解されるべきである。実施例において、本願発明の原理はこの種のケースを特定するために用いる。さらに、条件つきのコーディング規則は、隣接したブロックの状況に依存してスキップおよびダイレクトモードでジョイントコーディングの利用を可能／使用不可能にするために導入される。さらに、ビデオデータのための暗黙的なコーディング規則をもつ一般のコーディングモードも、本願発明を使用することができる（スキップ／特別なダイレクトモードは、暗黙的なコーディングビデオ・データが動きであり、かつコーディング規則はメディアン予測器であるという特別なケースである）。実際には、本願明細書において記載されている課題としての、動きは、他の暗黙的に得られるビデオデータの状況にも現れ得ることが理解されるべきである。
【００４５】
本願発明は、ブロック予測のジョイントコーディングを有するコード体系の中で、スキップ、およびダイレクトモードの使用を目的としている。状況依存的な規則が、マージ情報の使用を可能／不可能にするために、この種のモードで使われる。このことは、スキップおよびダイレクトモードにおいて、マージ情報が無益な場合に、ＲＤパフォーマンスを失うことを回避する。さらに一般的にいえば、本願発明は、状況依存的なビデオデータをコーディングする暗黙的な導出規則（ｄｅｒｉｖａｔｉｏｎ  ｒｕｌｅ）を持つビデオ・データブロックおよび／または領域のジョイントコーディングのマージ情報を使用可能／不可能にする規則に適用可能である。
【００４６】
したがって、本願発明の実施例に従って、我々は、ビデオデータのための暗黙的なコーディング規則を持つコーディングモードを使用するフレームパーティションの中のマージ情報の適応的な使用に関する規則を定める。
【００４７】
暗黙的なコーディング規則を持つモードの実施例において、我々は、スキップおよびダイレクトモードを利用する。本実施例において、動きデータは、導出規則を使用し、暗黙的にコーディングされる。この導出規則は、利用できるデコードされたデータに基づいて、スキップ／ダイレクトコーディングブロックの動きの推定値を生成する予測器に基づく。このために典型的な予測器（特にＭＰＥＧ−４ＡＶＣスタンダードによって使われる）は、空間的近隣からのメディアン予測器（ｍｅｄｉａｎ  ｐｒｅｄｉｃｔｏｒ）または時間的近隣からの同一位置予測器（ｃｏｌｌｏｃｄａｔｅｄ  ｐｒｅｄｉｃｔｏｒ）である。これらの種類のコーディングモードは、何ら制限無く、他の種類のビデオ・データ、例えば方向モードのイントラコーディング、または、モデル・フィッティング（ｍｏｄｅｌ  ｆｉｔｔｉｎｇ）に基づいてイメージ／映像コーディングのために使用されるモデルのモデル・パラメータ、に適用することができる。
【００４８】
ある程度まで、暗黙的なコーディング規則を持つコーディングモードは、暗黙的なマージ操作としてとらえることができる。メディアン予測器が暗黙的なデータ導出規則として用いられる場合、暗黙的なマージは、予測器によって生成される同じ動きベクトルを持つブロックを有するスキップ／ダイレクトのブロックのマージである。
【００４９】
実施例において、マージサイド情報の使用は、暗黙的なコーディング規則を使用するコーディングモードの内で適合的に可能または不可能にされるケースが特定される。暗黙的なコーディング規則を使用しているフレームパーティションが与えられると、マージ情報を使用するべきか否かの決定は、隣接したパーティションモード、およびマージ情報に基づく。
【００５０】
スキップまたはダイレクトモードに関して上述の実施例について以下に説明する。スキップ／ダイレクトマクロブロックがマージ方法で影響を受け得る状況は、スキップ／ダイレクトマクロブロックが他の一部のブロック（通常は１６×１６または他のスキップ／ダイレクトモード）にマージされる可能性に依存する時である。不必要なペイロード・ビットを含むことがないよう、デフォルトにおいては、スキップ／ダイレクトモードはマージ情報を含まない。実際、それらは、デフォルトでマージされない。スキップ／ダイレクトモードが他の一部のブロックとマージされ得る唯一の状況は、スキップ／ダイレクトモードのブロックがすでに幾つかのマージングする葉（ｍｅｒｇｉｎｇ  ｌｅａｆ）端末送信（ｅｎｔｅｒｉｎｇ）を持っている場合である。実際、他のブロックがスキップ／ダイレクトブロックにマージされた場合、このことは、そのブロックに対し、ある軽減が既に得られていることを示している。したがって、他のブロックに対するマージングの決定を示す追加ビットを与えることができる。また、スキップ／ダイレクトモード・データの構文は、以下のように修正される。もし、あるブロックが、スキップ／ダイレクトマクロブロックにマージしており、そのスキップ／ダイレクトマクロブロックが、セグメントのスキャニングの最初のブロックである場合、スキップ／ダイレクトマクロブロック・データの構文は、マージされた部分のための動き情報を有する明示的な構文を含んでもよい。
【００５１】
図５を参照すると、マージを可能とするスキップモードのためのビデオエンコーダにおいてマージ処理を実行するための例示的な方法が参照番号５００によって全体的に示されている。
【００５２】
方法５００は、決定ブロック５１０にコントロールを渡す開始ブロック５０５を有する。決定ブロック５１０は、いずれかのブロックが現在のブロックにすでにマージされているか否か判断する。その場合は、コントロールは、機能ブロック５１５に移行する。それ以外の場合には、コントロールは、機能ブロック５３０に移行する。
【００５３】
機能ブロック５１５は、現在のブロックをマージすることをテストし、決定ブロック５２０にコントロールを渡す。決定ブロック５２０は、マージされたブロックがコーディング効率によりよいか否か判断する。その場合は、コントロールは、機能ブロック５２５に移行する。それ以外の場合、コントロールは、機能ブロック５３０に移行する。
【００５４】
機能ブロック５２５は、現在のブロックをマージし、かつ終了ブロック５９９にコントロールを渡す。
【００５５】
機能ブロック５３０は、現在のブロックをマージされないままにしておき、かつ機能ブロック５３５にコントロールを渡す。機能ブロック５３５は、暗黙的に現在のブロックのための動きデータをコーディングし、および終了ブロック５９９にコントロールを渡す。
【００５６】
図６を参照すると、マージ可能なスキップモードに対して、ビデオデコーダでマージ処理を実行するための例示的な方法が、参照番号５００によって全体的に示されている。
【００５７】
方法６００は、決定ブロック６１０にコントロールを渡す開始ブロック６０５を含む。決定ブロック６１０は、いずれかのブロックが現在のブロックにすでにマージされているか否か判断する。その場合は、コントロールは、機能ブロック６１５に移行する。それ以外の場合、コントロールは、機能ブロック６３０に移行する。
【００５８】
機能ブロック６１５は、コーディングされたマージ情報を読み込んで、決定ブロック６２０にコントロールを渡す。決定ブロック６２０は、現在のブロックがマージされたブロックであるか否か判断する。その場合は、コントロールは、機能ブロック６２５に移行する。それ以外の場合、コントロールは、機能ブロック６３０に移行する。
【００５９】
機能ブロック６２５は、コーディングされたデータに従って現在のブロックをマージし、終了ブロック６９９にコントロールを渡す。機能ブロック６３０は、現在のブロックをマージされないままにしておき、機能ブロック６３５にコントロールを渡す。機能ブロック６３５は、現在のブロックのために暗黙的にコーディングされた動きデータをデコードし、終了ブロック６９９にコントロールを渡す。
【００６０】
図７を参照すると、マージ可能なスキップモードのコーディングのための例示的な方法が、参照番号７００によって全体的に示されている。
【００６１】
方法７００は、決定ブロック７１０にコントロールを渡す開始ブロックを含む。決定ブロック７１０は、いずれかのブロックが現在のブロックにマージされるか否か判断する。その場合は、コントロールは、決定ブロック７１５に移行する。それ以外の場合、コントロールは、機能ブロック７５０に移行する。
【００６２】
決定ブロック７１５は、マージするのが可能なブロックがあるか否か判断する。その場合は、コントロールは、機能ブロック７２０に移行する。それ以外の場合、コントロールは、決定ブロック７４０に移行する。
【００６３】
機能ブロック７２０は、マージ／ノーマージ・フラグをコーディングし決定ブロック７２５にコントロールを渡す。決定ブロック７２５は、現在のブロックが他のブロックにマージされるか否か判断する。その場合は、コントロールは、決定ブロック７３０に移行する。それ以外の場合、コントロールは、決定ブロック７４０に移行する。
【００６４】
決定ブロック７３０は、マージする可能な複数ブロックがあるか否か判断する。その場合は、コントロールは、機能ブロック７３５に移行する。それ以外の場合、コントロールは、決定ブロック７４０に移行する。
【００６５】
機能ブロック７３５は、マージの決定をコーディングし、決定ブロック７４０にコントロールを渡す。
【００６６】
決定ブロック７４０は、現在のブロックがセグメントの最初のブロックであるか否か判断する。その場合は、コントロールは、機能ブロック７４５に移行する。それ以外の場合、コントロールは、終了ブロック７９９に移行する。
【００６７】
機能ブロック７４５は、明示的に現在のブロックのための動きデータをコーディングし、終了ブロック７９９にコントロールを渡す。
【００６８】
機能ブロック７５０は、暗黙的に現在のブロックの動きデータをコーディングし、終了ブロック７９９にコントロールを渡す。
【００６９】
図８を参照すると、マージ可能なスキップモードのデコーディングのための例示的な方法が、参照番号８００によって全体的に示されている。
【００７０】
方法８００は、決定ブロック８１０にコントロールを渡す開始ブロックを含む。決定ブロック８１０は、いずれかのブロックが現在のブロックにマージされるか否か判断する。その場合は、コントロールは、決定ブロック８１５に移行する。それ以外の場合、コントロールは、機能ブロック８５０に移行する。
【００７１】
決定ブロック８１５は、マージする可能なブロックがあるか否か判断する。その場合は、コントロールは、機能ブロック８２０に移行する。それ以外の場合、コントロールは、決定ブロック８４０に移行する。
【００７２】
機能ブロック８２０は、マージ／ノーマージ・フラグをデコードし、決定ブロック８２５にコントロールを渡す。決定ブロック８２５は、現在のブロックが他のブロックにマージされるか否か判断する。その場合は、コントロールは、決定ブロック８３０に移行する。それ以外の場合、コントロールは、決定ブロック８４０に移行する。
【００７３】
決定ブロック８３０は、マージする可能な複数ブロックがあるか否か判断する。その場合は、コントロールは、機能ブロック８３５に移行する。それ以外の場合、コントロールは、決定ブロック８４０に移行する。
【００７４】
機能ブロック８３５は、マージの決定をデコードし、決定ブロック８４０にコントロールを渡す。
【００７５】
決定ブロック８４０は、現在のブロックがセグメントの最初のブロックであるか否か判断する。その場合は、コントロールは、機能ブロック８４５に移行する。それ以外の場合、コントロールは、終了ブロック８９９に移行する。
【００７６】
機能ブロック８４５は、現在のブロックのための明示的にコーディングされた動きデータをデコードし、終了ブロック８９９にコントロールを渡す。
【００７７】
機能ブロック８５０は、暗黙的にコーディングされた現在のブロックのための動きデータをデコードし、終了ブロック８９９にコントロールを渡す。
【００７８】
本発明の多くの効果／特徴のいくつかは、すでに説明した。例えば、一つの効果／機能としては、パーティションをマージする処理およびフレームのパーティション化を用いたイメージ領域のパーティションのジョイントコーディングのためのエンコーダを含む装置であるということである。ここにおいて、明示的なコーディング規則を持つコーディングモードのために使われているマージング規則とは異なる別個のマージング規則が使用される。そして、暗黙的なコーディング規則を持つコーディングモードを使用する与えられたパーティションの一つのいかなるものも、異なったパーティションの一つとマージされることになる。
【００７９】
他の効果／機能は、上述の通りのエンコーダを有する装置であるということである。ここで、暗黙的なコーディング規則を持つコーディングモードを使用する与えられた一つのパーティションがマージ処理によってパーティションの他の一つにマージされるのは、さらにもう一つのパーティションが、前記与えられた一つのパーティションにすでにマージされた場合だけである。
【００８０】
さらにもう一つの効果／機能は、上述の通りのエンコーダを有する装置であるということである。ここで、パーティションのうちでマージの対象となるのは、ツリーベースの画像デコンポジションが既に実行された少なくとも一つのブロックまたはブロックの結合である。
【００８１】
さらに、他の効果／機能は、上述の通りのエンコーダを有する装置であるということである。ここで、暗黙的なコーディング規則を持つコーディングモードは、スキップモード、ダイレクトモード、および方向イントラデータ（ｄｉｒｅｃｔｉｏｎａｌ  ｉｎｔｒａ  ｄａｔａ）の暗黙的なコーディングのためのモードのうちの少なくとも一つを含むものである。
【００８２】
更に、他の効果／機能は、上述の通りのエンコーダを有する装置であるということである。ここで、暗黙的なコーディング規則を持つコーディングモードを使用するパーティションの与えられた一つ、およびパーティションの他の一つがマージされることになっている、パーティションの特定の一つが、スキャンの順番において、少なくとも２つのマージされたパーティションの最初のパーティションである場合、暗黙的なコーディング規則は無視され、明示的なコーディング規則が使われる。
【００８３】
他の効果／機能は、上述の通りのエンコーダを有する装置であるということである。ここで、暗黙的なコーディング規則を持つ少なくとも２つのモードをマージする可能性は、高水準構文を使用して使用可能または使用不可能にされる。
【００８４】
本願発明のこれらの、そしてまた他の、特徴および効果は、本願明細書における教示に基づいて関連する技術の当業者によって、直ちに確認される。
【００８５】
本願発明の教示は、ハードウェア、ソフトウェア、ファームウェア、専用プロセッサまたは組合せのさまざまな形式でインプリメントされてもよいことが理解されるであろう。
【００８６】
最も好ましくは、本願発明の教示は、ハードウェアおよびソフトウェアの組合せとしてインプリメントされる。さらに、ソフトウェアはアプリケーションプログラムとして、プログラム記憶領域ユニットに明白に記憶されるよう、インプリメントされてもよい。アプリケーションプログラムは、適切なアーキテクチュアを有しているいかなるマシンにアップロードされ、実行されてもよい。望ましくは、マシンは、ハードウェア、例えば一つ以上の中央処理装置（ＣＰＵ）、ランダムアクセスメモリ（ＲＡＭ）、および入出力（Ｉ／Ｏ）インターフェースを有するコンピュータプラットフォームにインプリメントされる。コンピュータプラットフォームは、オペレーティングシステムおよびマイクロ命令コードを含んでもよい。本願明細書において記載されているさまざまな方法、および機能は、マイクロ命令コードの一部かアプリケーションプログラムの一部またはそれのいかなる組合せであってもよい。それはＣＰＵによって実行されてもよい。加えて、さまざまな他の周辺装置が、コンピュータプラットフォーム、例えば追加データ記憶機構ユニット、および印刷ユニットに接続されてもよい。
【００８７】
添付の図面において表されるいくつかの構成部分のシステムコンポーネント、および方法はソフトウェアで好ましくはインプリメントされるため、システムコンポーネントまたは方法機能ブロックとの実際の結合は、本願発明がプログラムされる方式によって、異なってもよいことが、更に理解されるべきである。本願明細書における教示を与えられて、関連する技術の当業者は、これら、および類似した実装または本願発明の構成を考察することが可能である。
【００８８】
例示の実施例が添付の図面に即して本願明細書において記載されているが、本願発明は、それらの正確な実施例に限られない。そして、そのさまざまな変形例、および変更態様は本願発明の範囲または精神から逸脱することなく、関連する技術の当業者によって遂行されてもよい。全てのこの種の改変と変更態様は、請求項に記載したように本願発明の範囲内に含まれる。
【図１】
0005666293.tif 000002
【図２】
0005666293.tif 000003
【図３】
0005666293.tif 000004
【図４】
0005666293.tif 000005
【図５】
0005666293.tif 000006
【図６】
0005666293.tif 000007
【図７】
0005666293.tif 000008
【図８】
0005666293.tif 000009