(57)【特許請求の範囲】
【請求項１】
ツリー構造を使用して重要度マップを伝達する、データのバイナリ・セットを復号するデコーダを有する装置であって、
前記デコーダは、複数のノードを有する前記ツリー構造のサブツリーの部分を再帰的な復号の間に再使用して前記バイナリ・セットの一部分を再帰的に復号し、第１のサブツリー構造の最後のリーフは、第２のサブツリー構造のルートと同じであり、該第１のサブツリー構造及び第２のサブツリー構造は、前記重要度マップを伝達する前記ツリー構造のサブツリーの部分であり、該第２のサブツリー構造は、前記第１のサブツリー構造と同一の構造と、前記第１のサブツリー構造と同一の、そのノードに関連付けられた確率値とを有し、これにより、サブツリーの部分が再使用されなかった場合より少ない数の確率値が必要となり、前記確率値は、前記重要度マップのノードが重要である可能性を表す、前記装置。
【請求項２】
ツリー構造を使用して重要度マップを伝達する、データのバイナリ・セットを復号するステップであって、前記バイナリ・セットの一部分を再帰的に復号する前記ステップと、
複数のノードを有する前記ツリー構造のサブツリーの部分を前記再帰的な復号のステップの間に再使用するステップと、を含み、第１のサブツリー構造の最後のリーフは、第２のサブツリー構造のルートと同じであり、該第１のサブツリー構造及び第２のサブツリー構造は、前記重要度マップを伝達する前記ツリー構造のサブツリーの部分であり、該第２のサブツリー構造は、前記第１のサブツリー構造と同一の構造と、前記第１のサブツリー構造と同一の、そのノードに関連付けられた確率値とを有し、これにより、サブツリーの部分が再使用されなかった場合より少ない数の確率値が必要となり、前記確率値は、前記重要度マップのノードが重要である可能性を表す、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２００９年８月２０日出願の米国仮出願第６１／２３５，４４２号の利益を主張するものであり、これを参照することによりその開示内容全体が本明細書中に組み込まれる。
【０００２】
本発明の原理は、概ね、ビデオの符号化および復号に関し、さらに詳細には、ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置に関する。
【背景技術】
【０００３】
ブロックに基づく離散変換は、例えば、Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ、Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｃｔｏｒ（ＩＴＵ−Ｔ）Ｈ．２６３勧告（以下「Ｈ．２６３勧告」）、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ／Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ（ＩＳＯ／ＩＥＣ）  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ−１（ＭＰＥＧ−１）規格、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−２規格、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４規格  Ｐａｒｔ  １０  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）規格／ＩＴＵ−Ｔ  Ｈ．２６４勧告（以下「ＭＰＥＧ−４  ＡＶＣ規格」）を含む、多くの画像およびビデオの圧縮規格の基本的な構成要素であり、幅広い範囲の応用分野で使用されている。現在のビデオ符号化規格のほとんどは、空間領域の残差の相関を効率的に低減するために、変換を利用している。離散コサイン変換（ＤＣＴ）は、最も広く使用されているブロック変換である。
【０００４】
変換後に、変換係数が符号化される。変換係数を符号化する一般的な方法は、２つのステップを含む。第１のステップで、非ゼロ係数の位置を符号化する。第２のステップで、非ゼロ係数のレベルおよび符号を符号化する。第１のステップに関しては、位置を符号化する効率的な方法は、ツリー構造を使用するものである。ただし、ツリー毎に、そのノードおよびリーフの確率値を記憶し、更新する必要がある。ビデオ符号化技術は、予測および変換のサイズを大きくすることによって性能を向上させている。このようにサイズを大きくすると、ツリー構造の要件に影響がある。
【０００５】
変換プロセス後に、変換係数が量子化される。その後、量子化済みの係数を、それらのレベルおよび符号の情報を伝達するようにエントロピ符号化する。ゼロとされる係数の比率が非常に高いので、符号化プロセスは、上述のように２つのステップに分割すると効率的である。
【０００６】
ビデオ・コンテンツ・データは変化する統計値および性質を有するので、また、変換係数のそれぞれの重要度が、それぞれの係数の位置によって異なる性質を有するので、係数の位置の送信は、依然としてかなりコストがかかる可能性がある。重要度のツリーに基づく符号化が良好に動作しても、符号化および復号のプロセス中に追跡する必要がある確率値の量が増える可能性がある。
【０００７】
例えば、サイズ１６×１６の変換は、２５６個の係数を有する。バイナリ・ツリーを利用して重要度マップを符号化する場合には、このツリーは、２５５個の内部ノードおよび２５６個のリーフを有する。算術コーダを使用する通常の実施態様では、このツリーの符号化では、内部ノード毎に２つの確率値、すなわち５１０個の確率値がエンコーダおよびデコーダによって更新されることになる。この確率値の数はかなり多く、最高のビデオ解像度を得るためにさらに大きなサイズ３２×３２や６４×６４の変換を使用することを考慮した場合には、さらに多くなる。
【０００８】
ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置に関する本発明の原理は、従来技術の上記およびその他の欠点および短所に対処するものである。
【０００９】
本発明の原理の一態様によれば、装置が提供される。この装置は、ツリー構造を使用してデータのバイナリ・セットを符号化するエンコーダを含む。エンコーダは、ツリー構造の一部分を使用してバイナリ・セットの一部分を符号化し、かつ、バイナリ・セットの一部分を符号化するために使用したツリー構造の一部分の少なくとも一部を再使用することによってバイナリ・セットの別の部分を符号化する。
【００１０】
本発明の原理の他の態様によれば、ビデオ・エンコーダにおける方法が提供される。この方法は、ツリー構造を使用してデータのバイナリ・セットを符号化するステップを含む。符号化ステップは、ツリー構造の一部分を使用してバイナリ・セットの一部分を符号化し、かつ、バイナリ・セットの一部分を符号化するために使用したツリー構造の一部分の少なくとも一部を再使用することによってバイナリ・セットの別の部分を符号化する。
【００１１】
本発明の原理のさらに他の態様によれば、装置が提供される。この装置は、ツリー構造を使用してデータのバイナリ・セットを復号するデコーダを含む。デコーダは、ツリー構造の一部分を使用してバイナリ・セットの一部分を復号し、かつ、バイナリ・セットの一部分を復号するために使用したツリー構造の一部分の少なくとも一部を再使用することによってバイナリ・セットの別の部分を復号する。
【００１２】
本発明の原理のさらに他の態様によれば、ビデオ・デコーダにおける方法が提供される。この方法は、ツリー構造を使用してデータのバイナリ・セットを復号するステップを含む。復号ステップは、ツリー構造の一部分を使用してバイナリ・セットの一部分を復号し、かつ、バイナリ・セットの一部分を復号するために使用したツリー構造の一部分の少なくとも一部を再使用することによってバイナリ・セットの別の部分を復号する。
【００１３】
本発明の原理の上記およびその他の特徴、特性および利点は、以下の例示的な実施例の詳細な説明を添付の図面と関連付けて読むことによって明らかになるであろう。
【００１４】
本発明の原理は、以下の例示的な図によってよりよく理解することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の原理の一実施例による、本発明の原理を適用することができる例示的なビデオ・エンコーダを示すブロック図である。
【図２】本発明の原理の一実施例による、本発明の原理を適用することができる例示的なビデオ・デコーダを示すブロック図である。
【図３】本発明の原理の一実施例による、本発明の原理を適用することができる例示的なツリー構造を示す図である。
【図４】本発明の原理の一実施例による、本発明の原理を適用することができる例示的なバイナリ・ツリーを示す図である。
【図５】バイナリ・セットの、バイナリ・ツリーのリーフへの例示的なマッピングを示す図である。
【図６】バイナリ・ゼロ・ツリーを使用したバイナリ・セットの例示的な符号化を示す図である。
【図７】２次元（２Ｄ）係数の、１次元（１Ｄ）バイナリ・セットへの例示的なマッピングを示す図である。
【図８】本発明の原理の一実施例による、同じツリーを共用することができる図７の例示的なマッピングの複数の部分を示す図である。
【図９】本発明の原理の一実施例による、同じツリー構造および確率値を共用することができる図７の例示的なマッピングのその他の複数の部分を示す図である。
【図１０】本発明の原理の一実施例による、例示的な再帰的バイナリ・ツリーを示す図である。
【図１１】本発明の原理の一実施例による、バイナリ・セットのための大きなツリーを生成するために小さなツリーを再使用する例を示す図である。
【図１２】本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化する例示的な方法を示す流れ図である。
【図１３】本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号する例示的な方法を示す流れ図である。
【図１４】本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化する別の例示的な方法を示す流れ図である。
【図１５】本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号する別の例示的な方法を示す流れ図である。
【図１６】本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化するさらに別の例示的な方法を示す流れ図である。
【図１７】本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号するさらに別の例示的な方法を示す流れ図である。
【図１８】本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化するさらに別の例示的な方法を示す流れ図である。
【図１９】本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号するさらに別の例示的な方法を示す流れ図である。
【発明を実施するための形態】
【００１６】
本発明の原理は、ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置に関する。本発明の原理は、任意のタイプの基礎となっているデータに関連するバイナリ・セットに適用することができることを理解されたい。従って、バイナリ・セットを適用することができ、かつ本発明の原理に従って利用することができる例示的なタイプのデータをいくつか挙げると、画像、映像、音響（例えば人声、音楽、音声など）などがあるが、これらに限定されるわけではない。上記に列挙したものは単なる例示であり、バイナリ・セットが表すことができ、かつ本発明の原理に従って利用することができるデータのタイプを網羅するものではないことを強調しておく。さらに、本明細書に与える本発明の原理の教示があれば、当技術分野およびこれに関連する技術分野の当業者なら、本発明の原理の精神を維持しながら、本発明の原理を適用することができる上記およびその他の用途およびデータ・タイプを思いつくであろうことも理解されたい。
【００１７】
本明細書は、本発明の原理を例示するものである。従って、本明細書に明示的に記述または図示していなくても、本発明の原理を実現し、かつその精神および範囲に含まれる様々な構成を、当業者なら考案することができることを理解されたい。
【００１８】
本明細書に記載する全ての例および条件に関する表現は、本発明の原理と、当技術分野をさらに進歩させるために本発明者（等）が与える概念とを、読者が理解するのを助けるという教育的な目的を意図したものであって、これらの具体的に列挙した例および条件に限定されるわけではないものと解釈されたい。
【００１９】
さらに、本発明の原理の原理、特徴および実施例ならびにその具体的な例について本明細書で述べる全ての記述は、その構造的均等物および機能的均等物の両方を含むものとする。さらに、これらの均等物には、現在既知の均等物だけでなく、将来開発されるであろう均等物も含まれる、すなわち、その構造に関わらず、同じ機能を実行する開発される任意の要素も含まれるものとする。
【００２０】
従って、例えば、当業者なら、本明細書に示すブロック図が本発明の原理を実施する例示的な回路の概念図を表していることを理解するであろう。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コードなどが、コンピュータ可読媒体中に実質的に表現され、明示してある場合もしていない場合もあるコンピュータまたはプロセッサによって実質的に実行される様々なプロセスを表すことを理解されたい。
【００２１】
図に示す様々な要素の機能は、専用のハードウェアを使用することによって、またソフトウェアを実行することができるハードウェアを適当なソフトウェアと関連付けて使用することによって、実現することができる。プロセッサによってそれらの機能を実現するときには、単一の専用プロセッサで実現することも、単一の共用プロセッサで実現することも、あるいはその一部を共用することもできる複数の個別プロセッサで実現することもできる。さらに、「プロセッサ」または「制御装置」という用語を明示的に用いていても、ソフトウェアを実行することができるハードウェアのみを指していると解釈すべきではなく、ディジタル信号プロセッサ（「ＤＳＰ」）ハードウェア、ソフトウェアを記憶するための読取り専用メモリ（「ＲＯＭ」）、ランダム・アクセス・メモリ（「ＲＡＭ」）および不揮発性記憶装置（ただしこれらに限定されない）を暗に含むことがある。
【００２２】
従来の、かつ／または特注のその他のハードウェアも含まれることがある。同様に、図に示す任意のスイッチも、概念的なものに過ぎない。それらの機能は、プログラム論理の動作によっても、専用論理によっても、プログラム制御と専用論理の相互作用によっても、あるいは手作業でも実施することができ、実施者（ｉｍｐｌｅｍｅｎｔｅｒ）が、前後関係から具体的に考慮して特定の技術を選択することができる。
【００２３】
本明細書の特許請求の範囲において、特定の機能を実行する手段として表現されている任意の要素は、当該機能を実行する任意の方法を含むものとする。当該機能は、例えば、（ａ）当該機能を実行する回路素子の組合せや、（ｂ）ファームウェアやマイクロコードなども含めた任意の形態のソフトウェアを、当該ソフトウェアを実行して当該機能を実行する適当な回路と組み合わせたものなども含む。特許請求の範囲によって定義される本発明の原理は、記載した様々な手段が実施する機能を、特許請求の範囲が要求する形式で組み合わせ、まとめることにある。従って、これらの機能を実施することができる任意の手段を、本明細書に示す手段の均等物とみなすものとする。
【００２４】
本明細書において、本発明の原理の「一実施例」または「実施例」あるいはその他の変形例と述べている場合、それは、当該実施例に関連して述べられる特定の特性、構造、特徴などが、本発明の原理の少なくとも１つの実施例に含まれるという意味である。従って、本明細書の様々な箇所に見られる「一実施例において」または「実施例において」という表現、あるいは任意のその他の変形表現は、その全てが必ずしも同じ実施例のことを指しているわけではない。
【００２５】
例えば「Ａ／Ｂ」、「Ａおよび／またはＢ」ならびに「ＡおよびＢの少なくとも１つ」の場合など、「／」、「および／または」ならびに「の少なくとも１つ」の何れかを使用している場合、それは、１番目に挙げた選択肢（Ａ）のみを選択すること、または２番目に挙げた選択肢（Ｂ）のみを選択すること、または両方の選択肢（ＡおよびＢ）を選択することを含むということであることを理解されたい。さらに別の例として、「Ａ、Ｂおよび／またはＣ」ならびに「Ａ、ＢおよびＣの少なくとも１つ」の場合には、この表現は、１番目に挙げた選択肢（Ａ）のみを選択すること、または２番目に挙げた選択肢（Ｂ）のみを選択すること、または３番目に挙げた選択肢（Ｃ）のみを選択すること、または１番目と２番目に挙げた選択肢（ＡおよびＢ）のみを選択すること、または１番目と３番目に挙げた選択肢（ＡおよびＣ）のみを選択すること、または２番目と３番目に挙げた選択肢（ＢおよびＣ）のみを選択すること、または３つ全ての選択肢（ＡおよびＢおよびＣ）を選択することを含むということである。当技術分野および関連技術分野の当業者には容易に分かるように、このことは、列挙されている項目の数に応じて拡張することができる。
【００２６】
また、本明細書で使用する「ピクチャ」および「画像」という用語は入れ替えて使用してもよく、ビデオ・シーケンスに含まれる静止画像またはピクチャを指している。既知の通り、ピクチャは、フレームであってもフィールドであってもよい。
【００２７】
さらに、本明細書で使用する「信号（信号通信する）」という用語は、対応するデコーダに対して何かを示すことを指す。例えば、エンコーダは、例えばあるピクチャ内の１つまたは複数のブロックの係数の重要度を示すデータのバイナリ・セットなどのデータの復号に再使用するために、１つまたは複数のツリーまたはサブツリーを信号通信することができる。このようにして、エンコーダ側とデコーダ側とで、同じツリーおよび／またはサブツリーを使用することができる。従って、例えば、エンコーダは、１組のツリーおよび／またはサブツリーのセットをデコーダに伝送して、デコーダが同じツリーおよび／またはサブツリーのセットを使用することができるようにすることができ、あるいは、デコーダがその他のツリーおよび／またはサブツリーと同様に当該のツリーおよび／またはサブツリーを既に有している場合には、（伝送は行わずに）信号通信を使用して、単に当該のツリーおよび／またはサブツリーをデコーダに知らせて、それらを選択できるようにすることもできる。任意の実際のツリーおよび／またはサブツリーの伝送を避けることにより、ビット節約を実現することができる。信号通信は、様々な方法で実施することができることを理解されたい。例えば、１つまたは複数のシンタックス要素やフラグなどを使用して、対応するデコーダに対して情報を信号通信することができる。
【００２８】
上記のように、本発明の原理は、ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置に関する。
【００２９】
図１を参照すると、本発明の原理を適用することができる例示的なビデオ・エンコーダが、参照番号１００で全体的に示されている。ビデオ・エンコーダ１００は、結合器１８５の非反転入力部と信号通信する出力部を有するフレーム順序付けバッファ１１０を含む。結合器１８５の出力部は、変換器／量子化器１２５の第１の入力部に信号通信するように接続されている。変換器／量子化器１２５の出力部は、エントロピ・コーダ１４５の第１の入力部および逆変換器／逆量子化器１５０の第１の入力部に信号通信するように接続されている。エントロピ・コーダ１４５の出力部は、結合器１９０の第１の非反転入力部に信号通信するように接続されている。結合器１９０の出力部は、出力バッファ１３５の第１の入力部に信号通信するように接続されている。
【００３０】
エンコーダ制御装置１０５の第１の出力部は、フレーム順序付けバッファ１１０の第２の入力部、逆変換器／逆量子化器１５０の第２の入力部、ピクチャ・タイプ決定モジュール１１５の入力部、マクロブロック・タイプ（ＭＢタイプ）決定モジュール１２０の第１の入力部、イントラ予測モジュール１６０の第２の入力部、デブロッキング・フィルタ１６５の第２の入力部、動き補償器１７０の第１の入力部、動き推定器１７５の第１の入力部、および参照ピクチャ・バッファ１８０の第２の入力部に信号通信するように接続されている。
【００３１】
エンコーダ制御装置１０５の第２の出力部は、付加拡張情報（ＳＥＩ）挿入器１３０の第１の入力部、変換器／量子化器１２５の第２の入力部、エントロピ・コーダ１４５の第２の入力部、出力バッファ１３５の第２の入力部、およびシーケンス・パラメータ・セット（ＳＰＳ）／ピクチャ・パラメータ・セット（ＰＰＳ）挿入器１４０の入力部に信号通信するように接続されている。
【００３２】
ＳＥＩ挿入器１３０の出力部は、結合器１９０の第２の非反転入力部に信号通信するように接続されている。
【００３３】
ピクチャ・タイプ決定モジュール１１５の第１の出力部は、フレーム順序付けバッファ１１０の第３の入力部に信号通信するように接続されている。ピクチャ・タイプ決定モジュール１１５の第２の出力部は、マクロブロック・タイプ決定モジュール１２０の第２の入力部に信号通信するように接続されている。
【００３４】
シーケンス・パラメータ・セット（ＳＰＳ）／ピクチャ・パラメータ・セット（ＰＰＳ）挿入器１４０の出力部は、結合器１９０の第３の非反転入力部に信号通信するように接続されている。
【００３５】
逆量子化器／逆変換器１５０の出力部は、結合器１１９の第１の非反転入力部に信号通信するように接続されている。結合器１１９の出力部は、イントラ予測モジュール１６０の第１の入力部およびデブロッキング・フィルタ１６５の第１の入力部に信号通信するように接続されている。デブロッキング・フィルタ１６５の出力部は、参照ピクチャ・バッファ１８０の第１の入力部に信号通信するように接続されている。参照ピクチャ・バッファ１８０の出力部は、動き推定器１７５の第２の入力部および動き補償器１７０の第３の入力部に信号通信するように接続されている。動き推定器１７５の第１の出力部は、動き補償器１７０の第２の入力部に信号通信するように接続されている。動き推定器１７５の第２の出力部は、エントロピ・コーダ１４５の第３の入力部に信号通信するように接続されている。
【００３６】
動き補償器１７０の出力部は、スイッチ１９７の第１の入力部に信号通信するように接続されている。イントラ予測モジュール１６０の出力部は、スイッチ１９７の第２の入力部に信号通信するように接続されている。マクロブロック・タイプ決定モジュール１２０の出力部は、スイッチ１９７の第３の入力部に信号通信するように接続されている。スイッチ１９７の第３の入力部は、スイッチの「データ」入力（制御入力すなわち第３の入力に対して）が、動き補償器１７０またはイントラ予測モジュール１６０によって与えられるか否かを判定する。スイッチ１９７の出力部は、結合器１１９の第２の非反転入力部および結合器１８５の反転入力部に信号通信するように接続されている。
【００３７】
フレーム順序付けバッファ１１０の第１の入力部およびエンコーダ制御装置１０５の入力部は、エンコーダ１００の、入力ピクチャを受信するための入力部として利用することができる。さらに、付加拡張情報（ＳＥＩ）挿入器１３０の第２の入力部は、エンコーダ１００の、メタデータを受信するための入力部として利用することができる。出力バッファ１３５の出力部は、エンコーダ１００の、ビットストリームを出力するための出力部として利用することができる。
【００３８】
図２を参照すると、本発明の原理を適用することができる例示的なビデオ・デコーダが、参照番号２００で全体的に示されている。ビデオ・デコーダ２００は、エントロピ・デコーダ２４５の第１の入力部に信号通信するように接続された出力部を有する入力バッファ２１０を含む。エントロピ・デコーダ２４５の第１の出力部は、逆変換器／逆量子化器２５０の第１の入力部に信号通信するように接続されている。逆変換器／逆量子化器２５０の出力部は、結合器２２５の第２の非反転入力部に信号通信するように接続されている。結合器２２５の出力部は、デブロッキング・フィルタ２６５の第２の入力部およびイントラ予測モジュール２６０の第１の入力部に信号通信するように接続されている。デブロッキング・フィルタ２６５の第２の出力部は、参照ピクチャ・バッファ２８０の第１の入力部に信号通信するように接続されている。参照ピクチャ・バッファ２８０の出力部は、動き補償器２７０の第２の入力部に信号通信するように接続されている。
【００３９】
エントロピ・デコーダ２４５の第２の出力部は、動き補償器２７０の第３の入力部、デブロッキング・フィルタ２６５の第１の入力部、およびイントラ予測器２６０の第３の入力部に信号通信するように接続されている。エントロピ・デコーダ２４５の第３の出力部は、デコーダ制御装置２０５の入力部に信号通信するように接続されている。デコーダ制御装置２０５の第１の出力部は、エントロピ・デコーダ２４５の第２の入力部に信号通信するように接続されている。デコーダ制御装置２０５の第２の出力部は、逆変換器／逆量子化器２５０の第２の入力部に信号通信するように接続されている。デコーダ制御装置２０５の第３の出力部は、デブロッキング・フィルタ２６５の第３の入力部に信号通信するように接続されている。デコーダ制御装置２０５の第４の出力部は、イントラ予測モジュール２６０の第２の入力部、動き補償器２７０の第１の入力部、および参照ピクチャ・バッファ２８０の第２の入力部に信号通信するように接続されている。
【００４０】
動き補償器２７０の出力部は、スイッチ２９７の第１の入力部に信号通信するように接続されている。イントラ予測モジュール２６０の出力部は、スイッチ２９７の第２の入力部に信号通信するように接続されている。スイッチ２９７の出力部は、結合器２２５の第１の非反転入力部に信号通信するように接続されている。
【００４１】
入力バッファ２１０の入力部は、デコーダ２００の、入力ビットストリームを受信するための入力部として利用することができる。デブロッキング・フィルタ２６５の第１の出力部は、デコーダ２００の、出力ピクチャを出力するための出力部として利用することができる。
【００４２】
ＭＰＥＧ−４  ＡＶＣ規格では、非ゼロ係数の位置が重要度マップによって符号化される。ＭＰＥＧ−４  ＡＶＣ規格の重要度マップは、以下のように機能する。ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｆｌａｇが、ブロックが重要な係数を有することを示す場合には、バイナリ値重要度マップを符号化する。各係数について、走査順序で、１ビット・シンボルｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇが伝送される。ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇが１である場合、すなわちこの走査位置に非ゼロ係数が存在する場合には、さらに別の１ビット・シンボルｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇが送信される。このシンボルは、現在の重要な係数が当該ブロック内の最後の重要な係数であるかどうか、または別の重要な係数がさらに続くかどうかを示す。ブロックの最後の走査位置のフラグ（ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ）は決して伝送されないことに留意されたい。最後の走査位置に到達し、かつ重要度マップの符号化が値１のｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇでまだ終了していない場合には、最後の係数が重要でなければならないことが明らかである。
【００４３】
重要度を示す別の方法は、いわゆるゼロ・ツリーによって行われる。ツリーは、リンクされた１組のノード・セットを備えた階層木構造を模した、広く使用されているデータ構造である。さらに、ツリーは、各ノードが、ゼロ個以上の子ノードを有する１組の子ノード・セットと、最大で１個の親ノードとを有する、無閉路連結グラフ（ａｃｙｃｌｉｃ  ｃｏｎｎｅｃｔｅｄ  ｇｒａｐｈ）である。
【００４４】
ゼロ・ツリーを用いた重要度の信号通信の例は、画像圧縮のウェーブレット変換に見ることができる。ツリー構造は、重要度マップを伝達するために使用される。図３を参照すると、本発明の原理を適用することができる例示的なツリー構造が、参照番号３００で全体的に示されている。小さい四角はそれぞれ、変換係数を表している。ツリーのルートは、内部に星印を含んだ小さい四角で表されている。子ノードは、隣接する係数である。以下、子ノード同士のつながりは、矢印で示されている。図示のように、各親は、その他の４つの係数を子として有している。ツリー構造３００は、これらの前述の関係を示し、ツリーがどのような構造になっているのかを示す単なる一例であるが、ツリー全体またはツリー内の全ての親子関係を示しているわけではない。この場合には、ツリーの各ノードは、１つの係数と関係付けられ、ツリーは、２Ｄのウェーブレット変換係数間の空間的関係を考慮に入れて構築されている。その後、全てのノードについて、０または１が送信される。値／シンボル０は、ツリー内の特定のノードの係数ならびにツリー内の当該係数未満の全ての係数がゼロであることを示す。このように、多くのゼロ係数が、１つのシンボルのみで符号化される。多くのゼロがある場合には、このような手法により、良好な圧縮比が得られる。
【００４５】
別のタイプのツリーとして、バイナリ・ツリーがあり、これは、単純であるが効率的な種類のツリーである。第１の従来技術の手法では、このツリーを使用して、係数の位置を記述する。この場合には、ツリーの各リーフを変換係数と関係付けることができる一方で、ツリーの内部ノードはいかなる係数とも関係付けられない。この場合、符号化は、前述の場合と同様である。すなわち、あるノードより下の全ての係数がゼロであるときには、「０」でこの状況を示すことができる。従って、当該ノードより下に進んで、各「後続」係数の重要度／ゼロ値を明示的に示す必要がない。本発明の原理は、このタイプのツリーに関するものである。
【００４６】
ある係数が重要である確率は、従来技術の手法では適切に考慮されていない多くの要因によって決まる。例えば、係数の重要性には空間的相関がある。さらに、低周波数の係数の統計学的性質は、高周波数の係数の統計学的性質と異なる。さらに、異なる残差ブロックの重要度マップは、大きく異なる可能性がある。従って、１つのデータ構造および符号化プロセスを使用するだけでは、こうした多様性を全て捉えるには不十分である。
【００４７】
重要度マップ（または任意のバイナリ・セット）の多様性によりよく適応するために、いくつかのツリーおよびサブツリーを使用することが提案されている。重要度マップ毎に、マップを符号化するために使用する最良のツリーまたはサブツリーの組合せを選択する。複数のリーフの値の統計学的性質およびそれらの間の相関を活用する変換、グルーピング、符号反転（ｆｌｉｐｐｉｎｇ  ｓｉｇｎｓ）およびその他の演算を使用することも既知であり、ツリー、サブツリーまたはその一部でこれらの演算を使用することも提案されている。
【００４８】
ビデオ符号化技術は、予測および変換のサイズを大きくすることによって、性能を向上させている。これらの大きなサイズは、ツリー構造の要件に影響を及ぼす。ツリー構造の要件を簡略化するために、本発明者等は、本明細書において、例えば重要度マップなどの（ただしこれに限定されない）バイナリ・セットの異なる部分を符号化するためにツリーまたはツリーの一部を再使用する、再帰的ツリーを使用する方法および装置について述べる。具体的には、本発明者等は、類似の統計値を有するバイナリ・セットの異なる領域で、ツリーまたはツリーの一部を再使用する。本発明者等は、再帰的アルゴリズムが適用されるようにツリー構造を適応させる。この方法では、ツリー全体の符号化性能を維持またはむしろ改善し、かつ計算の複雑さをほぼ同程度に維持しつつも、必要とする確率値の数が減少する。
【００４９】
これに対して、現在のビデオ・エンコーダは、シンボルを符号化するのに算術符号化を使用する。各シンボルは、コンテキストが関連付けられた確率値を有する。バイナリ・セットを符号化するツリーに基づく方法は、各シンボルをエントロピ符号化することによって統計値に適応することができる。１つまたは複数の確率値が、各ノードまたはノード間の各分岐に関連付けられる。欠点は、対応するバイナリ・セットに対するツリーのサイズとともに、確率値の数が増えることである。本発明者等は、バイナリ・セットの異なる部分でツリーまたはサブツリーを再使用することによって、この増加を制限することを提案する。例えば、１６×１６の変換係数は、８×８のゼロ・ツリーまたは８×８のサブツリーを再使用することができる。従って、確率値と関連付けられる重要なコンテキストを減らすことができる。効率という観点からいえば、この複雑さの低減は、類似の統計値を有するバイナリ・セットの複数の部分に再使用を限定すると、良好に機能する。本発明の原理は、特に高精細度（ＨＤ）ビデオで符号化効率を改善するためにより大きな変換を使用する場合に、有利である。
【００５０】
バイナリ・セット（例えば変換済み係数の重要度マップなど）を符号化するためのゼロ・ツリー構造では、リーフに、当該セット内の要素のバイナリ値が与えられる。従って、各リーフの値とバイナリ・セット内の各要素との間には、一対一の関係がある。残差係数の重要度マップは、バイナリ・セットを形成する。
【００５１】
特定の内部ノードの値は、当該特定の内部ノードより下のノードの値を求めることによって求められる。このようにして、各内部ノードの重要度／バイナリ値が、リーフ・ノードからルート・ノードに導出される。次いで、ルート・ノードから始まるノードの値を信号通信することによって、ツリーを符号化する。特定のノードに「０」がマークされている場合、それは当該特定のノードより下の全ての（「下位」）ノードも「０」であることを意味するため、これらの下位ノードの値は特に信号通信する必要がないので、圧縮が実現される。この方法の様々な変形形態が存在する。
【００５２】
例：バイナリ・ツリー
分かりやすく例示するために、最初に、バイナリ・ツリーについて説明する。バイナリ・ツリーは、子を持たないリーフ・ノードを除き、各内部ノードが２つの子ノードを有するツリーである。前述の第１の従来技術の手法では、重要度マップを符号化するためのバイナリ・ツリーについて述べた。
【００５３】
図４を参照すると、本発明の原理を適用することができる例示的なバイナリ・ツリーが、参照番号４００で全体的に示されている。バイナリ・ツリー４００は、ノード１から１３を含む。バイナリ・ツリー４００は、６個の内部ノードおよび７個のリーフ・ノードを有する。ノード１は、ルート・ノードである。ノード２，３，６，９および１１は、内部ノードである。ノード４，５，７，８，１２および１３は、リーフ・ノードである。ノード内の数字は、ノードを通過する順序を示している。この例では、順序は、深さ優先である。もちろん、当技術分野および関連技術分野の当業者が容易に思いつくその他の順序であってもよい。
【００５４】
バイナリ・セットは、ツリーのリーフにマッピングされる。図５を参照すると、バイナリ・ツリーのリーフへのバイナリ・セットの例示的なマッピングが、全体的に参照番号５００で示されている。リーフ内の数字は、当該リーフがリンクされるバイナリ・セットの要素を示している。例えば、７個の係数（ｃ０からｃ６で示す）の重要度マップを、このツリーを用いて符号化することができる。ｃ０の値は、第１の係数がゼロである場合には「０」に等しく、さもなければ「１」に等しい。同じことが、残りの係数にも当てはまる。第１の係数の重要度は、参照番号「１」で示されるリーフを使用して符号化され、第２の係数の重要度は、参照番号「２」で示されるリーフを使用して符号化され、以下同様である。
【００５５】
どのようにこの符号化プロセスを実行するかの一例について、以下に説明する。符号化プロセスは、ルートから始まり、ノードを通過する順序に従う（この事例では深さ優先）。ノードが重要である（すなわち子が両方とも重要である）場合には、「１」が符号化され、符号化プロセスは次のノードに進む。ノードが重要でない（すなわち子の一方が重要でない）場合には、「０」が符号化され、次いで、左の子と右の子のうちのどちらが重要であるのかを示す。これは、左の子が重要である場合には「１」を符号化し、右の子が重要である場合には「０」を符号化することによって行われる。
【００５６】
以下は具体例である。リーフ・ノードへのマッピングが、本明細書で上記に説明したように行われるものと仮定する。また、ｃ１、ｃ２およびｃ４を除いて全ての係数がゼロであると仮定する。図６を参照すると、バイナリ・ゼロ・ツリーを使用した重要度マップの例示的な符号化が、参照番号６００で全体的に示されている。この符号化プロセスは、深さ優先順序で適用される。「０」が付された内部ノードは、２つの子のうちどちらが重要であるかを示す第２のシンボルの送信を必要とする。図６では、これを、対応するシンボルが付された左側の分岐上の小さい四角で示してある。このマップで符号化する最終的なシンボルは、「１１０００１０１」である。
【００５７】
２次元（２Ｄ）変換では、最初に、２次元係数セットを１次元セットにマッピングし、次いで、各セットをリーフにマッピングする。図７を参照すると、２次元（２Ｄ）係数の、１次元（１Ｄ）バイナリ・セットへの例示的なマッピングが、参照番号７００で全体的に示されている。特に、マッピング７００は、８×８変換の係数の２Ｄから１Ｄへのマッピングに関する。このマップは、係数０，ｃ０から始まり、右下部の最後の係数ｃ６３まで矢印に従って進む。
【００５８】
バイナリ・セットの符号化および復号におけるツリー構造の再使用
ツリー内の各シンボルは、対応する確率でエントロピ符号化される。エントロピ符号化は、算術コーダを用いて行うことができる。エンコーダおよびデコーダが各確率値を追跡してコンテンツに適応させているときには、エンコーダは、統計値に良好に適応し、良好な性能を発揮する。しかし、大きな変換の重要度マップの場合のようにツリーが大きい場合には、コストが高くなりすぎて、全ての確率値を記憶および追跡することができない。
【００５９】
この問題を軽減するために、本発明者等は、バイナリ・セットの異なる部分についてツリー構造および／または関連する確率値を再使用する。多くの場合、ツリー構造の一部分を再使用することは、再使用した部分に関連する任意の対応する確率値を再使用することを黙示的に含む。このように、当技術分野および関連技術分野の当業者なら容易に理解できるように、ツリー構造を再使用するとともに関連する任意の確率値も再使用することにより、複雑さやオーバヘッドなどが大幅に低減するので、最大の利点を得ることができる。一実施例では、８×８変換の場合に、垂直方向の周波数と水平方向の周波数とが類似していることから、重要度マップの異なる部分が類似点を有する。右上の係数と左下の係数の間に、統計学的な対称性がある。この場合には、構造および確率値を、両方の部分で再使用することができる。図８を参照すると、本発明の原理の一実施例による、同じツリーを共用することができる図７の例示的なマッピングの複数の部分が、参照番号８００で全体的に示されている。図８では、これらの部分８００を、参照番号８００で示すとともに破線の楕円でも示し、マッピング７００の残りの部分は実線で示してある。
【００６０】
重要度マップは、本発明の原理の教示に従って活用することができるその他の特徴を有する。通常は、１Ｄマップの最初のいくつかの係数は、重要である確率が高く、それらの間の相関が高い。一方、重要度マップの残りの部分は、重要である確率が低く、相関が低い。また、ツリー内で深くなるほど、重要な係数の数は少なくなる。従って、他の実施例では、マップのこれらの部分は、ほとんど常にゼロであるという意味で類似している。その結果として、効率性を損なうことなく、かつメモリの複雑さを軽減しながら、これらの領域でツリーの複数の部分を再使用することができる。図９を参照すると、本発明の原理の一実施例による、同じツリー構造および関連する確率値を共用することができる図７の例示的なマッピングのその他の部分が、参照番号９００で全体的に示されている。図９では、これらの部分９００を、参照番号９００で示すとともに破線でも示し、マッピング７００の残りの部分は実線で示してある。
【００６１】
以前に使用したツリー構造の１つまたは複数の部分を再使用するために本発明の原理で活用することができる類似性は、例えば、１つまたは複数の類似性メトリクスに基づくことができることを理解されたい。例えば、本明細書に与える本発明の原理の教示があれば、当技術分野および関連技術分野の当業者なら、類似性の判定に適用可能な閾値を容易に思いつくことができる。このようにして、容易に使用できる客観的な基準を使用して、類似性を容易に特定し、それにより、これを本発明の原理に従って活用することができる。
【００６２】
ここで、本発明の原理の少なくとも１つの例示的な実施形態について説明する。ただし、このような実施形態は例示を目的としたものであり、本発明の原理がこれにのみ限定されるわけではないことを理解されたい。この例示的な実施形態では、本発明者等は、上述の状況、すなわち重要度マップ内で最初のいくつかの要素のみが異なる統計値を有する状況を仮定する。従って、その後の要素について、このツリーのサブツリーを再使用する。これを行うために、本発明者等は、ツリーの最後のリーフが次のツリー（同じツリー）のルートに接続する、再帰的ツリーを提案する。このようにして、構造および確率値を再帰的に再使用する。図１０を参照すると、本発明の原理の一実施例による例示的な再帰的バイナリ・ツリーが、参照番号１０００で全体的に示されている。内部にそれぞれ参照番号「１」、「２」および「３」がラベル付けされている破線で描いた３つの四角で示すように、このツリーには、３回使用されるサブツリーがある。従って、同じ内部ノード（ａおよびｂ）を有する同じ構造が、（番号を付した破線の四角の中に）３回現れる。これらのリーフを符号化するために使用する確率値および内部ノードは、同じとすることができる。
【００６３】
他の実施例では、本発明者等は、小さな変換のツリーをそれより大きな変換に再使用する。１６×１６変換の係数は、４組の８×８個の係数のセットに分割することができる。例えば、これは、第１の係数を第１のセットに入れ、第２の係数を第２のセットに入れ、第３の係数を第３のセットに入れ、第４の係数を第４のセットに入れ、第５の係数を再び第１のセットに入れ、以下同様に行うことによって行うことができる。これにより、４つのセットのそれぞれが、８×８個の係数のツリーを使用することができる。さらに、これら４つの８×８ツリーを、４つのリーフ・ノードを有するツリーによって１つのツリーにまとめることができる。図１１を参照すると、本発明の原理の一実施例による複数の小さいツリーを再使用して変換重要度マップのための大きなツリーを生成する例が、参照番号１１００で全体的に示されている。
【００６４】
この方法は、カスケード変換で非常に良好に機能する。カスケード変換は、２つの変換を順番に連結することによって形成される変換である。例えば、１６×１６変換は、４つの８×８変換を適用した後に、最初の変換で得られたＤＣ成分に２×２変換を適用することによって得ることができる。この場合、４つの８×８サブツリーを再使用して１６×１６ツリーを分割すると、当然、以下のようになる。すなわち、最初の８×８変換の係数に２×２変換の１つの係数を加えたものが１つのサブツリーとなり、他の３つのサブツリーについても同様に構成される。
【００６５】
以下に述べる方法の一部は、データのバイナリ・セットおよびデータの非バイナリ・セットに関するものであることを理解されたい。例示的な一例としてのビデオ・データに関しては、このようなデータのセットは、符号化または復号されるピクチャ内の現在のブロックに対してどの予測を行うかを決定することから得ることができる。このような場合には、ある方法を使用してデータのバイナリ・セットを符号化または復号し、別の方法を使用してデータの非バイナリ・セットを符号化または復号することができる。本発明の原理が対象とするような場合では、データのバイナリ・セットである。
【００６６】
図１２を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化する例示的な方法が、参照番号１２００で全体的に示されている。この方法１２００は、制御を機能ブロック１２１０に渡す開始ブロック１２０５を含む。機能ブロック１２１０は、予測モード選択を実行し、制御を機能ブロック１２１５に渡す。機能ブロック１２１５は、（機能ブロック１２１０で選択された予測モードを使用して得られた）予測を信号通信し、制御を機能ブロック１２２０に渡す。機能ブロック１２２０は、非バイナリ・セットのエントロピ符号化を実行し、制御を機能ブロック１２２５に渡す。機能ブロック１２２５は、バイナリ・セットを符号化するために再使用するツリーおよび１つまたは複数のサブツリーを決定し、制御を機能ブロック１２３０に渡す。機能ブロック１２３０は、機能ブロック１２２５で決定されたツリーおよび１つまたは複数のサブツリーを用いてバイナリ・セットのエントロピ符号化を実行し、制御を終了ブロック１２９９に渡す。
【００６７】
図１３を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号する例示的な方法が、参照番号１３００で全体的に示されている。方法１３００は、制御を機能ブロック１３１０に渡す開始ブロック１３０５を含む。機能ブロック１３１０は、非バイナリ・セットのエントロピ復号を実行し、制御を機能ブロック１３１５に渡す。機能ブロック１３１５は、当該セットを符号化するために（以前に）再使用されたツリーおよび１つまたは複数のサブツリーを特定し、制御を機能ブロック１３２０に渡す。機能ブロック１３２０は、機能ブロック１３１５で特定されたツリーおよび１つまたは複数のサブツリーを使用してバイナリ・セットを復号し、制御を機能ブロック１３２５に渡す。機能ブロック１３２５は、信号の再構築を実行し、制御を終了ブロック１３９９に渡す。
【００６８】
図１２および図１３の方法１２００および１３００はそれぞれ、１つのツリーと（当該１つのツリーから派生した）１つまたは複数のサブツリーとを使用するが、本発明の原理の他の実施例では、２つ以上のツリーと当該２つ以上のツリーの１つまたは複数のサブツリーとを使用することができることを理解されたい。本明細書に与える本発明の原理の教示があれば、当技術分野および関連技術分野の当業者なら、本発明の原理の精神を維持しながら、本発明の原理の上記およびその他の変形を思いつくであろう。
【００６９】
図１４を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化する別の例示的な方法が、参照番号１４００で全体的に示されている。この方法１４００は、制御を機能ブロック１４１０に渡す開始ブロック１４０５を含む。機能ブロック１４１０は、予測モード選択、信号予測、順方向Ｎ×Ｎ変換および量子化を実行し、制御を機能ブロック１４１５に渡す。機能ブロック１４１５は、変換済みの係数の重要度マップを求め、制御を機能ブロック１４２０に渡す。機能ブロック１４２０は、重要度を１次元（１Ｄ）バイナリ・セットにマッピングし、制御を機能ブロック１４２５に渡す。機能ブロック１４２５は、最初の２Ｎ個の係数に対してツリーを用いてバイナリ・セットのエントロピ符号化を実行し、残りの係数に対しては別のＮ＋１個のリーフのサブツリーを再帰的に再使用し、制御を機能ブロック１４３０に渡す。機能ブロック１４３０は、重要な係数の大きさおよび符号を符号化し、制御を終了ブロック１４９９に渡す。
【００７０】
図１５を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号する別の例示的な方法が、参照番号１５００で全体的に示されている。この方法１５００は、制御を機能ブロック１５１０に渡す開始ブロック１５０５を含む。機能ブロック１５１０は、最初の２Ｎ個の係数に対してツリーを用いてバイナリ・セットのエントロピ復号を実行し、残りの係数に対しては別のＮ＋１個のリーフのサブツリーを再帰的に再使用し、制御を機能ブロック１５１５に渡す。機能ブロック１５１５は、１次元（１Ｄ）バイナリ・セットを重要度マップにマッピングし、制御を機能ブロック１５２０に渡す。機能ブロック１５２０は、変換済みの係数の重要度マップを求め、制御を機能ブロック１５３０に渡す。機能ブロック１５３０は、重要な係数の大きさおよび符号を復号し、制御を終了ブロック１５９９に渡す。
【００７１】
図１６を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化するさらに別の例示的な方法が、参照番号１６００で全体的に示されている。この方法１６００は、制御を機能ブロック１６１０に渡す開始ブロック１６０５を含む。機能ブロック１６１０は、予測モード選択、信号予測、順方向Ｎ×Ｎ変換および量子化を実行し、制御を機能ブロック１６１５に渡す。機能ブロック１６１５は、変換済みの係数の重要度マップを求め、制御を機能ブロック１６２０に渡す。機能ブロック１６２０は、重要度を１次元（１Ｄ）バイナリ・セットにマッピングし、制御を機能ブロック１６２５に渡す。機能ブロック１６２５は、Ｎ／２×Ｎ／２サイズ変換のためにツリーを４回再使用することによって形成したツリーを用いてバイナリ・セットのエントロピ符号化を実行し、制御を機能ブロック１６３０に渡す。機能ブロック１６３０は、重要な係数の大きさおよび符号を符号化し、制御を終了ブロック１６９９に渡す。
【００７２】
図１７を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号するさらに別の例示的な方法が、参照番号１７００で全体的に示されている。この方法１７００は、制御を機能ブロック１７１０に渡す開始ブロック１７０５を含む。機能ブロック１７１０は、Ｎ／２×Ｎ／２サイズ変換のためにツリーを４回再使用することによって形成したツリーを用いてバイナリ・セットのエントロピ復号を実行し、制御を機能ブロック１７１５に渡す。機能ブロック１７１５は、１次元（１Ｄ）バイナリ・セットを重要度マップにマッピングし、制御を機能ブロック１７２０に渡す。機能ブロック１７２０は、変換済みの係数の重要度マップを求め、制御を機能ブロック１７３０に渡す。機能ブロック１７３０は、重要な係数の大きさおよび符号を復号し、制御を終了ブロック１７９９に渡す。
【００７３】
図１８を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化するさらに別の例示的な方法が、参照番号１８００で全体的に示されている。この方法１８００は、制御を機能ブロック１８１０に渡す開始ブロック１８０５を含む。機能ブロック１８１０は、ビデオ・コンテンツの係数重要度マップを解析し、制御を機能ブロック１８１５に渡す。機能ブロック１８１５は、類似性メトリックによって、再使用するツリー構造および確率を決定し、制御を機能ブロック１８２０に渡す。機能ブロック１８２０は、現在の係数の重要度マップを１次元（１Ｄ）バイナリ・セットにマッピングし、制御を機能ブロック１８２５に渡す。機能ブロック１８２５は、ツリーを用いてバイナリ・セットのエントロピ符号化を実行し、制御を機能ブロック１８３０に渡す。機能ブロック１８３０は、重要な係数の大きさおよび符号を符号化し、制御を終了ブロック１８９９に渡す。
【００７４】
図１９を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号するさらに別の例示的な方法が、参照番号１９００で全体的に示されている。この方法１９００は、制御を機能ブロック１９１０に渡す開始ブロック１９０５を含む。機能ブロック１９１０で、ビデオ・コンテンツの係数重要度マップを解析し、制御を機能ブロック１９１５に渡す。機能ブロック１９１５は、類似性メトリックによって、再使用するツリー構造および確率を決定し、制御を機能ブロック１９２０に渡す。機能ブロック１９２０は、ツリーを用いて現在のバイナリ・セットのエントロピ復号を実行し、制御を機能ブロック１９２５に渡す。機能ブロック１９２５は、１次元（１Ｄ）バイナリ・セットを現在の係数の重要度マップにマッピングし、制御を機能ブロック１９３０に渡す。機能ブロック１９３０では、重要な係数の大きさおよび符号を復号し、制御を終了ブロック１９９９に渡す。
【００７５】
ここで、一部については既に上記で述べた、本発明の多数の付随的な利点／特性の一部について述べる。例えば、１つの利点／特性は、ツリー構造を使用してデータのバイナリ・セットを符号化するエンコーダを有する装置である。エンコーダは、ツリー構造の一部分を使用してバイナリ・セットの一部分を符号化し、かつ、バイナリ・セットの一部分を符号化するために使用したツリー構造の一部分の少なくとも一部を再使用することによってバイナリ・セットの別の部分を符号化する。
【００７６】
別の利点／特性は、上述のエンコーダを有する装置であって、バイナリ・セットの別の部分を符号化するために再使用したツリー構造の一部分の少なくとも一部が、再帰的に再使用される装置である。
【００７７】
さらに別の利点／特性は、上述のエンコーダを有する装置であって、バイナリ・セットが、変換係数の重要度を表し、既定のサイズを超える変換の変換係数の重要度が、既定のサイズより小さい変換に対応するツリー構造の部分を再使用する装置である。
【００７８】
さらに別の利点／特性は、上述のエンコーダを有する装置であって、ビデオ・エンコーダに含まれる装置である。
【００７９】
さらに、別の利点／特性は、上述のエンコーダを有する装置であって、ツリー構造のどの部分を再使用するかの決定が、バイナリ・セットが対応するコンテンツの性質に基づいて行われる装置である。
【００８０】
さらに、別の利点／特性は、ツリー構造のどの部分を再使用するかの決定が、バイナリ・セットが対応するコンテンツの性質に基づいて行われる、上述のエンコーダを有する装置であって、決定を下すために評価されるコンテンツの性質が、係数重要度マップから得られる装置である。
【００８１】
また、別の利点／特性は、ツリー構造のどの部分を再使用するかの決定が、バイナリ・セットが対応するコンテンツの性質に基づいて行われる、上述のエンコーダを有する装置であって、決定が、１つまたは複数の類似性メトリックに基づいて性質が類似しているかどうかに基づいて行われる装置である。
【００８２】
本発明の原理の上記およびその他の特性および利点は、本明細書の教示に基づいて、当業者であれば容易に確認することができる。本発明の原理の教示は、ハードウェア、ソフトウェア、ファームウェア、特殊目的プロセッサ、またはそれらの組合せの様々な形態で実施することができることを理解されたい。
【００８３】
本発明の原理の教示は、ハードウェアとソフトウェアの組合せとして実施されることが最も好ましい。さらに、ソフトウェアは、プログラム記憶装置に有形に実現されるアプリケーション・プログラムとして実施することができる。アプリケーション・プログラムは、任意の適当なアーキテクチャを備える機械にアップロードして実行することができる。この機械は、１つまたは複数の中央処理装置（「ＣＰＵ」）、ランダム・アクセス・メモリ（「ＲＡＭ」）および入力／出力（「Ｉ／Ｏ」）インタフェースなどのハードウェアを有するコンピュータ・プラットフォームで実施されることが好ましい。コンピュータ・プラットフォームは、オペレーティング・システムおよびマイクロ命令コードを含むこともできる。本明細書に記載する様々なプロセスおよび機能は、ＣＰＵによって実行することができる、マイクロ命令コードの一部またはアプリケーション・プログラムの一部あるいはそれらの任意の組合せの何れかにすることができる。さらに、追加のデータ記憶装置や印刷装置など、その他の様々な周辺装置をコンピュータ・プラットフォームに接続することができる。
【００８４】
さらに、添付の図面に示すシステム構成要素および方法の一部はソフトウェアで実施することが好ましいので、システム構成要素間またはプロセス機能ブロック間の実際の接続は、本発明の原理をプログラミングする方法によって異なっていてもよいことも理解されたい。本明細書の教示があれば、当業者なら、本発明の原理の上記の実施態様または構成およびそれと同様の実施態様または構成を思いつくことができるであろう。
【００８５】
本明細書では、添付の図面を参照して例示的な実施例について述べたが、本発明の原理は、これらの具体的な実施例に限定されるわけではなく、当業者なら、本発明の原理の範囲または精神を逸脱することなく様々な変更および修正をそれらの実施例に加えることができることを理解されたい。そうした変更および修正は全て、添付の特許請求の範囲に記載する本発明の原理の範囲に含まれるものとする。
上記の実施例に関し、更に以下の項目を開示する。
（付記１）ツリー構造を使用してデータのバイナリ・セットを符号化するエンコーダ（１４５）を有する装置であって、
前記エンコーダは、前記ツリー構造の一部分を使用して前記バイナリ・セットの一部分を符号化し、かつ、前記バイナリ・セットの前記一部分を符号化するために使用した前記ツリー構造の前記一部分の少なくとも一部を再使用することによって前記バイナリ・セットの別の部分を符号化する、前記装置。
（付記２）ツリー構造を使用してデータのバイナリ・セットを符号化するステップを含む方法であって、
前記符号化ステップは、前記ツリー構造の一部分を使用して前記バイナリ・セットの一部分を符号化し、かつ、前記バイナリ・セットの前記一部分を符号化するために使用した前記ツリー構造の前記一部分の少なくとも一部を再使用することによって前記バイナリ・セットの別の部分を符号化する（１２２５，１２３０）、前記方法。
（付記３）前記バイナリ・セットの前記別の部分を符号化するために再使用した前記ツリー構造の前記一部分の前記少なくとも一部が、再帰的に再使用される（１４２５）、付記２に記載の方法。
（付記４）前記バイナリ・セットが、変換係数の重要度を表し、既定のサイズを超える変換の変換係数の重要度が、前記既定のサイズより小さい変換に対応するツリー構造の部分を再使用する（１６２０，１６２５）、付記２に記載の方法。
（付記５）装置がビデオ・エンコーダに含まれる（１２２５，１２３０，１４００，１４２５）、付記２に記載の方法。
（付記６）ツリー構造のどの部分を再使用するかの決定が、前記バイナリ・セットが対応するコンテンツの性質に基づいて行われる（１８１０，１８１５，１８２５）、付記２に記載の方法。
（付記７）前記決定を下すために評価される前記コンテンツの前記性質が、係数重要度マップから得られる（１８１０，１８１５，１８２５）、付記６に記載の方法。
（付記８）前記決定が、１つまたは複数の類似性メトリックに基づいて前記性質が類似しているかどうかに基づいて行われる（１８１０，１８１５，１８２５）、付記６に記載の方法。
（付記９）ツリー構造を使用してデータのバイナリ・セットを復号するデコーダ（２４５）を有する装置であって、
前記デコーダは、前記ツリー構造の一部分を使用して前記バイナリ・セットの一部分を復号し、かつ、前記バイナリ・セットの前記一部分を復号するために使用した前記ツリー構造の前記一部分の少なくとも一部を再使用することによって前記バイナリ・セットの別の部分を復号する、前記装置。
（付記１０）ツリー構造を使用してデータのバイナリ・セットを復号するステップを含む方法であって、
前記復号ステップは、前記ツリー構造の一部分を使用して前記バイナリ・セットの一部分を復号し、かつ、前記バイナリ・セットの前記一部分を復号するために使用した前記ツリー構造の前記一部分の少なくとも一部を再使用することによって前記バイナリ・セットの別の部分を復号する（１３１５，１３２０）、前記方法。
（付記１１）前記バイナリ・セットの前記別の部分を復号するために再使用した前記ツリー構造の前記一部分の前記少なくとも一部が、再帰的に再使用される（１５１０）、付記１０に記載の方法。
（付記１２）前記バイナリ・セットが、変換係数の重要度を表し、既定のサイズを超える変換の変換係数の重要度が、前記既定のサイズより小さい変換に対応するツリー構造の部分を再使用する（１７１０，１７１５，１７２０）、付記１０に記載の方法。
（付記１３）装置がビデオ・デコーダに含まれる（１３１５，１３２０，１５００，１５１０）、付記１０に記載の方法。
（付記１４）ツリー構造のどの部分を再使用するかの決定が、前記バイナリ・セットが対応するコンテンツの性質に基づいて行われる（１９１０，１９１５，１９２０，１９３０）、付記１０に記載の方法。
（付記１５）前記決定を下すために評価される前記コンテンツの前記性質が、係数重要度マップから得られる（１９１０，１９１５，１９２０，１９３０）、付記１４に記載の方法。
（付記１６）前記決定が、１つまたは複数の類似性メトリックに基づいて前記性質が類似しているかどうかに基づいて行われる（１９１０，１９１５，１９２０，１９３０）、付記１４に記載の方法。
（付記１７）ツリー構造を使用して符号化されたデータのバイナリ・セットを含む、符号化されたビデオ信号データを有する、非一時的なコンピュータ可読記憶媒体であって、
前記バイナリ・セットの一部分が、前記ツリー構造の一部分を使用して符号化されており、かつ、前記バイナリ・セットの別の部分が、前記バイナリ・セットの前記一部分を符号化するために使用した前記ツリー構造の前記一部分の少なくとも一部を再使用することによって符号化されている、前記非一時的なコンピュータ可読記憶媒体。
【図１】
0006029979.tif 000002
【図２】
0006029979.tif 000003
【図３】
0006029979.tif 000004
【図４】
0006029979.tif 000005
【図５】
0006029979.tif 000006
【図６】
0006029979.tif 000007
【図７】
0006029979.tif 000008
【図８】
0006029979.tif 000009
【図９】
0006029979.tif 000010
【図１０】
0006029979.tif 000011
【図１１】
0006029979.tif 000012
【図１２】
0006029979.tif 000013
【図１３】
0006029979.tif 000014
【図１４】
0006029979.tif 000015
【図１５】
0006029979.tif 000016
【図１６】
0006029979.tif 000017
【図１７】
0006029979.tif 000018
【図１８】
0006029979.tif 000019
【図１９】
0006029979.tif 000020