JP6029979B2 - ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置 - Google Patents

ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置 Download PDF

Info

Publication number
JP6029979B2
JP6029979B2 JP2012525524A JP2012525524A JP6029979B2 JP 6029979 B2 JP6029979 B2 JP 6029979B2 JP 2012525524 A JP2012525524 A JP 2012525524A JP 2012525524 A JP2012525524 A JP 2012525524A JP 6029979 B2 JP6029979 B2 JP 6029979B2
Authority
JP
Japan
Prior art keywords
tree
tree structure
binary set
principles
binary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012525524A
Other languages
English (en)
Other versions
JP2013502822A (ja
JP2013502822A5 (ja
Inventor
ソレ,ジヨエル
イン,ペン
ルウ,シヤオアン
ジエン,ユンフエイ
シユイ,チエン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2013502822A publication Critical patent/JP2013502822A/ja
Publication of JP2013502822A5 publication Critical patent/JP2013502822A5/ja
Application granted granted Critical
Publication of JP6029979B2 publication Critical patent/JP6029979B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

(関連出願の相互参照)
本願は、2009年8月20日出願の米国仮出願第61/235,442号の利益を主張するものであり、これを参照することによりその開示内容全体が本明細書中に組み込まれる。
本発明の原理は、概ね、ビデオの符号化および復号に関し、さらに詳細には、ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置に関する。
ブロックに基づく離散変換は、例えば、Joint Photographic Experts Group、International Telecommunication Union、Telecommunication Sector(ITU−T)H.263勧告(以下「H.263勧告」)、International Organization for Standardization/International Electrotechnical Commission(ISO/IEC) Moving Picture Experts Group−1(MPEG−1)規格、ISO/IEC MPEG−2規格、ISO/IEC MPEG−4規格 Part 10 Advanced Video Coding(AVC)規格/ITU−T H.264勧告(以下「MPEG−4 AVC規格」)を含む、多くの画像およびビデオの圧縮規格の基本的な構成要素であり、幅広い範囲の応用分野で使用されている。現在のビデオ符号化規格のほとんどは、空間領域の残差の相関を効率的に低減するために、変換を利用している。離散コサイン変換(DCT)は、最も広く使用されているブロック変換である。
変換後に、変換係数が符号化される。変換係数を符号化する一般的な方法は、2つのステップを含む。第1のステップで、非ゼロ係数の位置を符号化する。第2のステップで、非ゼロ係数のレベルおよび符号を符号化する。第1のステップに関しては、位置を符号化する効率的な方法は、ツリー構造を使用するものである。ただし、ツリー毎に、そのノードおよびリーフの確率値を記憶し、更新する必要がある。ビデオ符号化技術は、予測および変換のサイズを大きくすることによって性能を向上させている。このようにサイズを大きくすると、ツリー構造の要件に影響がある。
変換プロセス後に、変換係数が量子化される。その後、量子化済みの係数を、それらのレベルおよび符号の情報を伝達するようにエントロピ符号化する。ゼロとされる係数の比率が非常に高いので、符号化プロセスは、上述のように2つのステップに分割すると効率的である。
ビデオ・コンテンツ・データは変化する統計値および性質を有するので、また、変換係数のそれぞれの重要度が、それぞれの係数の位置によって異なる性質を有するので、係数の位置の送信は、依然としてかなりコストがかかる可能性がある。重要度のツリーに基づく符号化が良好に動作しても、符号化および復号のプロセス中に追跡する必要がある確率値の量が増える可能性がある。
例えば、サイズ16×16の変換は、256個の係数を有する。バイナリ・ツリーを利用して重要度マップを符号化する場合には、このツリーは、255個の内部ノードおよび256個のリーフを有する。算術コーダを使用する通常の実施態様では、このツリーの符号化では、内部ノード毎に2つの確率値、すなわち510個の確率値がエンコーダおよびデコーダによって更新されることになる。この確率値の数はかなり多く、最高のビデオ解像度を得るためにさらに大きなサイズ32×32や64×64の変換を使用することを考慮した場合には、さらに多くなる。
ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置に関する本発明の原理は、従来技術の上記およびその他の欠点および短所に対処するものである。
本発明の原理の一態様によれば、装置が提供される。この装置は、ツリー構造を使用してデータのバイナリ・セットを符号化するエンコーダを含む。エンコーダは、ツリー構造の一部分を使用してバイナリ・セットの一部分を符号化し、かつ、バイナリ・セットの一部分を符号化するために使用したツリー構造の一部分の少なくとも一部を再使用することによってバイナリ・セットの別の部分を符号化する。
本発明の原理の他の態様によれば、ビデオ・エンコーダにおける方法が提供される。この方法は、ツリー構造を使用してデータのバイナリ・セットを符号化するステップを含む。符号化ステップは、ツリー構造の一部分を使用してバイナリ・セットの一部分を符号化し、かつ、バイナリ・セットの一部分を符号化するために使用したツリー構造の一部分の少なくとも一部を再使用することによってバイナリ・セットの別の部分を符号化する。
本発明の原理のさらに他の態様によれば、装置が提供される。この装置は、ツリー構造を使用してデータのバイナリ・セットを復号するデコーダを含む。デコーダは、ツリー構造の一部分を使用してバイナリ・セットの一部分を復号し、かつ、バイナリ・セットの一部分を復号するために使用したツリー構造の一部分の少なくとも一部を再使用することによってバイナリ・セットの別の部分を復号する。
本発明の原理のさらに他の態様によれば、ビデオ・デコーダにおける方法が提供される。この方法は、ツリー構造を使用してデータのバイナリ・セットを復号するステップを含む。復号ステップは、ツリー構造の一部分を使用してバイナリ・セットの一部分を復号し、かつ、バイナリ・セットの一部分を復号するために使用したツリー構造の一部分の少なくとも一部を再使用することによってバイナリ・セットの別の部分を復号する。
本発明の原理の上記およびその他の特徴、特性および利点は、以下の例示的な実施例の詳細な説明を添付の図面と関連付けて読むことによって明らかになるであろう。
本発明の原理は、以下の例示的な図によってよりよく理解することができる。
本発明の原理の一実施例による、本発明の原理を適用することができる例示的なビデオ・エンコーダを示すブロック図である。 本発明の原理の一実施例による、本発明の原理を適用することができる例示的なビデオ・デコーダを示すブロック図である。 本発明の原理の一実施例による、本発明の原理を適用することができる例示的なツリー構造を示す図である。 本発明の原理の一実施例による、本発明の原理を適用することができる例示的なバイナリ・ツリーを示す図である。 バイナリ・セットの、バイナリ・ツリーのリーフへの例示的なマッピングを示す図である。 バイナリ・ゼロ・ツリーを使用したバイナリ・セットの例示的な符号化を示す図である。 2次元(2D)係数の、1次元(1D)バイナリ・セットへの例示的なマッピングを示す図である。 本発明の原理の一実施例による、同じツリーを共用することができる図7の例示的なマッピングの複数の部分を示す図である。 本発明の原理の一実施例による、同じツリー構造および確率値を共用することができる図7の例示的なマッピングのその他の複数の部分を示す図である。 本発明の原理の一実施例による、例示的な再帰的バイナリ・ツリーを示す図である。 本発明の原理の一実施例による、バイナリ・セットのための大きなツリーを生成するために小さなツリーを再使用する例を示す図である。 本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化する例示的な方法を示す流れ図である。 本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号する例示的な方法を示す流れ図である。 本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化する別の例示的な方法を示す流れ図である。 本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号する別の例示的な方法を示す流れ図である。 本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化するさらに別の例示的な方法を示す流れ図である。 本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号するさらに別の例示的な方法を示す流れ図である。 本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化するさらに別の例示的な方法を示す流れ図である。 本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号するさらに別の例示的な方法を示す流れ図である。
本発明の原理は、ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置に関する。本発明の原理は、任意のタイプの基礎となっているデータに関連するバイナリ・セットに適用することができることを理解されたい。従って、バイナリ・セットを適用することができ、かつ本発明の原理に従って利用することができる例示的なタイプのデータをいくつか挙げると、画像、映像、音響(例えば人声、音楽、音声など)などがあるが、これらに限定されるわけではない。上記に列挙したものは単なる例示であり、バイナリ・セットが表すことができ、かつ本発明の原理に従って利用することができるデータのタイプを網羅するものではないことを強調しておく。さらに、本明細書に与える本発明の原理の教示があれば、当技術分野およびこれに関連する技術分野の当業者なら、本発明の原理の精神を維持しながら、本発明の原理を適用することができる上記およびその他の用途およびデータ・タイプを思いつくであろうことも理解されたい。
本明細書は、本発明の原理を例示するものである。従って、本明細書に明示的に記述または図示していなくても、本発明の原理を実現し、かつその精神および範囲に含まれる様々な構成を、当業者なら考案することができることを理解されたい。
本明細書に記載する全ての例および条件に関する表現は、本発明の原理と、当技術分野をさらに進歩させるために本発明者(等)が与える概念とを、読者が理解するのを助けるという教育的な目的を意図したものであって、これらの具体的に列挙した例および条件に限定されるわけではないものと解釈されたい。
さらに、本発明の原理の原理、特徴および実施例ならびにその具体的な例について本明細書で述べる全ての記述は、その構造的均等物および機能的均等物の両方を含むものとする。さらに、これらの均等物には、現在既知の均等物だけでなく、将来開発されるであろう均等物も含まれる、すなわち、その構造に関わらず、同じ機能を実行する開発される任意の要素も含まれるものとする。
従って、例えば、当業者なら、本明細書に示すブロック図が本発明の原理を実施する例示的な回路の概念図を表していることを理解するであろう。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コードなどが、コンピュータ可読媒体中に実質的に表現され、明示してある場合もしていない場合もあるコンピュータまたはプロセッサによって実質的に実行される様々なプロセスを表すことを理解されたい。
図に示す様々な要素の機能は、専用のハードウェアを使用することによって、またソフトウェアを実行することができるハードウェアを適当なソフトウェアと関連付けて使用することによって、実現することができる。プロセッサによってそれらの機能を実現するときには、単一の専用プロセッサで実現することも、単一の共用プロセッサで実現することも、あるいはその一部を共用することもできる複数の個別プロセッサで実現することもできる。さらに、「プロセッサ」または「制御装置」という用語を明示的に用いていても、ソフトウェアを実行することができるハードウェアのみを指していると解釈すべきではなく、ディジタル信号プロセッサ(「DSP」)ハードウェア、ソフトウェアを記憶するための読取り専用メモリ(「ROM」)、ランダム・アクセス・メモリ(「RAM」)および不揮発性記憶装置(ただしこれらに限定されない)を暗に含むことがある。
従来の、かつ/または特注のその他のハードウェアも含まれることがある。同様に、図に示す任意のスイッチも、概念的なものに過ぎない。それらの機能は、プログラム論理の動作によっても、専用論理によっても、プログラム制御と専用論理の相互作用によっても、あるいは手作業でも実施することができ、実施者(implementer)が、前後関係から具体的に考慮して特定の技術を選択することができる。
本明細書の特許請求の範囲において、特定の機能を実行する手段として表現されている任意の要素は、当該機能を実行する任意の方法を含むものとする。当該機能は、例えば、(a)当該機能を実行する回路素子の組合せや、(b)ファームウェアやマイクロコードなども含めた任意の形態のソフトウェアを、当該ソフトウェアを実行して当該機能を実行する適当な回路と組み合わせたものなども含む。特許請求の範囲によって定義される本発明の原理は、記載した様々な手段が実施する機能を、特許請求の範囲が要求する形式で組み合わせ、まとめることにある。従って、これらの機能を実施することができる任意の手段を、本明細書に示す手段の均等物とみなすものとする。
本明細書において、本発明の原理の「一実施例」または「実施例」あるいはその他の変形例と述べている場合、それは、当該実施例に関連して述べられる特定の特性、構造、特徴などが、本発明の原理の少なくとも1つの実施例に含まれるという意味である。従って、本明細書の様々な箇所に見られる「一実施例において」または「実施例において」という表現、あるいは任意のその他の変形表現は、その全てが必ずしも同じ実施例のことを指しているわけではない。
例えば「A/B」、「Aおよび/またはB」ならびに「AおよびBの少なくとも1つ」の場合など、「/」、「および/または」ならびに「の少なくとも1つ」の何れかを使用している場合、それは、1番目に挙げた選択肢(A)のみを選択すること、または2番目に挙げた選択肢(B)のみを選択すること、または両方の選択肢(AおよびB)を選択することを含むということであることを理解されたい。さらに別の例として、「A、Bおよび/またはC」ならびに「A、BおよびCの少なくとも1つ」の場合には、この表現は、1番目に挙げた選択肢(A)のみを選択すること、または2番目に挙げた選択肢(B)のみを選択すること、または3番目に挙げた選択肢(C)のみを選択すること、または1番目と2番目に挙げた選択肢(AおよびB)のみを選択すること、または1番目と3番目に挙げた選択肢(AおよびC)のみを選択すること、または2番目と3番目に挙げた選択肢(BおよびC)のみを選択すること、または3つ全ての選択肢(AおよびBおよびC)を選択することを含むということである。当技術分野および関連技術分野の当業者には容易に分かるように、このことは、列挙されている項目の数に応じて拡張することができる。
また、本明細書で使用する「ピクチャ」および「画像」という用語は入れ替えて使用してもよく、ビデオ・シーケンスに含まれる静止画像またはピクチャを指している。既知の通り、ピクチャは、フレームであってもフィールドであってもよい。
さらに、本明細書で使用する「信号(信号通信する)」という用語は、対応するデコーダに対して何かを示すことを指す。例えば、エンコーダは、例えばあるピクチャ内の1つまたは複数のブロックの係数の重要度を示すデータのバイナリ・セットなどのデータの復号に再使用するために、1つまたは複数のツリーまたはサブツリーを信号通信することができる。このようにして、エンコーダ側とデコーダ側とで、同じツリーおよび/またはサブツリーを使用することができる。従って、例えば、エンコーダは、1組のツリーおよび/またはサブツリーのセットをデコーダに伝送して、デコーダが同じツリーおよび/またはサブツリーのセットを使用することができるようにすることができ、あるいは、デコーダがその他のツリーおよび/またはサブツリーと同様に当該のツリーおよび/またはサブツリーを既に有している場合には、(伝送は行わずに)信号通信を使用して、単に当該のツリーおよび/またはサブツリーをデコーダに知らせて、それらを選択できるようにすることもできる。任意の実際のツリーおよび/またはサブツリーの伝送を避けることにより、ビット節約を実現することができる。信号通信は、様々な方法で実施することができることを理解されたい。例えば、1つまたは複数のシンタックス要素やフラグなどを使用して、対応するデコーダに対して情報を信号通信することができる。
上記のように、本発明の原理は、ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置に関する。
図1を参照すると、本発明の原理を適用することができる例示的なビデオ・エンコーダが、参照番号100で全体的に示されている。ビデオ・エンコーダ100は、結合器185の非反転入力部と信号通信する出力部を有するフレーム順序付けバッファ110を含む。結合器185の出力部は、変換器/量子化器125の第1の入力部に信号通信するように接続されている。変換器/量子化器125の出力部は、エントロピ・コーダ145の第1の入力部および逆変換器/逆量子化器150の第1の入力部に信号通信するように接続されている。エントロピ・コーダ145の出力部は、結合器190の第1の非反転入力部に信号通信するように接続されている。結合器190の出力部は、出力バッファ135の第1の入力部に信号通信するように接続されている。
エンコーダ制御装置105の第1の出力部は、フレーム順序付けバッファ110の第2の入力部、逆変換器/逆量子化器150の第2の入力部、ピクチャ・タイプ決定モジュール115の入力部、マクロブロック・タイプ(MBタイプ)決定モジュール120の第1の入力部、イントラ予測モジュール160の第2の入力部、デブロッキング・フィルタ165の第2の入力部、動き補償器170の第1の入力部、動き推定器175の第1の入力部、および参照ピクチャ・バッファ180の第2の入力部に信号通信するように接続されている。
エンコーダ制御装置105の第2の出力部は、付加拡張情報(SEI)挿入器130の第1の入力部、変換器/量子化器125の第2の入力部、エントロピ・コーダ145の第2の入力部、出力バッファ135の第2の入力部、およびシーケンス・パラメータ・セット(SPS)/ピクチャ・パラメータ・セット(PPS)挿入器140の入力部に信号通信するように接続されている。
SEI挿入器130の出力部は、結合器190の第2の非反転入力部に信号通信するように接続されている。
ピクチャ・タイプ決定モジュール115の第1の出力部は、フレーム順序付けバッファ110の第3の入力部に信号通信するように接続されている。ピクチャ・タイプ決定モジュール115の第2の出力部は、マクロブロック・タイプ決定モジュール120の第2の入力部に信号通信するように接続されている。
シーケンス・パラメータ・セット(SPS)/ピクチャ・パラメータ・セット(PPS)挿入器140の出力部は、結合器190の第3の非反転入力部に信号通信するように接続されている。
逆量子化器/逆変換器150の出力部は、結合器119の第1の非反転入力部に信号通信するように接続されている。結合器119の出力部は、イントラ予測モジュール160の第1の入力部およびデブロッキング・フィルタ165の第1の入力部に信号通信するように接続されている。デブロッキング・フィルタ165の出力部は、参照ピクチャ・バッファ180の第1の入力部に信号通信するように接続されている。参照ピクチャ・バッファ180の出力部は、動き推定器175の第2の入力部および動き補償器170の第3の入力部に信号通信するように接続されている。動き推定器175の第1の出力部は、動き補償器170の第2の入力部に信号通信するように接続されている。動き推定器175の第2の出力部は、エントロピ・コーダ145の第3の入力部に信号通信するように接続されている。
動き補償器170の出力部は、スイッチ197の第1の入力部に信号通信するように接続されている。イントラ予測モジュール160の出力部は、スイッチ197の第2の入力部に信号通信するように接続されている。マクロブロック・タイプ決定モジュール120の出力部は、スイッチ197の第3の入力部に信号通信するように接続されている。スイッチ197の第3の入力部は、スイッチの「データ」入力(制御入力すなわち第3の入力に対して)が、動き補償器170またはイントラ予測モジュール160によって与えられるか否かを判定する。スイッチ197の出力部は、結合器119の第2の非反転入力部および結合器185の反転入力部に信号通信するように接続されている。
フレーム順序付けバッファ110の第1の入力部およびエンコーダ制御装置105の入力部は、エンコーダ100の、入力ピクチャを受信するための入力部として利用することができる。さらに、付加拡張情報(SEI)挿入器130の第2の入力部は、エンコーダ100の、メタデータを受信するための入力部として利用することができる。出力バッファ135の出力部は、エンコーダ100の、ビットストリームを出力するための出力部として利用することができる。
図2を参照すると、本発明の原理を適用することができる例示的なビデオ・デコーダが、参照番号200で全体的に示されている。ビデオ・デコーダ200は、エントロピ・デコーダ245の第1の入力部に信号通信するように接続された出力部を有する入力バッファ210を含む。エントロピ・デコーダ245の第1の出力部は、逆変換器/逆量子化器250の第1の入力部に信号通信するように接続されている。逆変換器/逆量子化器250の出力部は、結合器225の第2の非反転入力部に信号通信するように接続されている。結合器225の出力部は、デブロッキング・フィルタ265の第2の入力部およびイントラ予測モジュール260の第1の入力部に信号通信するように接続されている。デブロッキング・フィルタ265の第2の出力部は、参照ピクチャ・バッファ280の第1の入力部に信号通信するように接続されている。参照ピクチャ・バッファ280の出力部は、動き補償器270の第2の入力部に信号通信するように接続されている。
エントロピ・デコーダ245の第2の出力部は、動き補償器270の第3の入力部、デブロッキング・フィルタ265の第1の入力部、およびイントラ予測器260の第3の入力部に信号通信するように接続されている。エントロピ・デコーダ245の第3の出力部は、デコーダ制御装置205の入力部に信号通信するように接続されている。デコーダ制御装置205の第1の出力部は、エントロピ・デコーダ245の第2の入力部に信号通信するように接続されている。デコーダ制御装置205の第2の出力部は、逆変換器/逆量子化器250の第2の入力部に信号通信するように接続されている。デコーダ制御装置205の第3の出力部は、デブロッキング・フィルタ265の第3の入力部に信号通信するように接続されている。デコーダ制御装置205の第4の出力部は、イントラ予測モジュール260の第2の入力部、動き補償器270の第1の入力部、および参照ピクチャ・バッファ280の第2の入力部に信号通信するように接続されている。
動き補償器270の出力部は、スイッチ297の第1の入力部に信号通信するように接続されている。イントラ予測モジュール260の出力部は、スイッチ297の第2の入力部に信号通信するように接続されている。スイッチ297の出力部は、結合器225の第1の非反転入力部に信号通信するように接続されている。
入力バッファ210の入力部は、デコーダ200の、入力ビットストリームを受信するための入力部として利用することができる。デブロッキング・フィルタ265の第1の出力部は、デコーダ200の、出力ピクチャを出力するための出力部として利用することができる。
MPEG−4 AVC規格では、非ゼロ係数の位置が重要度マップによって符号化される。MPEG−4 AVC規格の重要度マップは、以下のように機能する。coded_block_flagが、ブロックが重要な係数を有することを示す場合には、バイナリ値重要度マップを符号化する。各係数について、走査順序で、1ビット・シンボルsignificant_coeff_flagが伝送される。significant_coeff_flagが1である場合、すなわちこの走査位置に非ゼロ係数が存在する場合には、さらに別の1ビット・シンボルlast_significant_coeff_flagが送信される。このシンボルは、現在の重要な係数が当該ブロック内の最後の重要な係数であるかどうか、または別の重要な係数がさらに続くかどうかを示す。ブロックの最後の走査位置のフラグ(significant_coeff_flag、last_significant_coeff_flag)は決して伝送されないことに留意されたい。最後の走査位置に到達し、かつ重要度マップの符号化が値1のlast_significant_coeff_flagでまだ終了していない場合には、最後の係数が重要でなければならないことが明らかである。
重要度を示す別の方法は、いわゆるゼロ・ツリーによって行われる。ツリーは、リンクされた1組のノード・セットを備えた階層木構造を模した、広く使用されているデータ構造である。さらに、ツリーは、各ノードが、ゼロ個以上の子ノードを有する1組の子ノード・セットと、最大で1個の親ノードとを有する、無閉路連結グラフ(acyclic connected graph)である。
ゼロ・ツリーを用いた重要度の信号通信の例は、画像圧縮のウェーブレット変換に見ることができる。ツリー構造は、重要度マップを伝達するために使用される。図3を参照すると、本発明の原理を適用することができる例示的なツリー構造が、参照番号300で全体的に示されている。小さい四角はそれぞれ、変換係数を表している。ツリーのルートは、内部に星印を含んだ小さい四角で表されている。子ノードは、隣接する係数である。以下、子ノード同士のつながりは、矢印で示されている。図示のように、各親は、その他の4つの係数を子として有している。ツリー構造300は、これらの前述の関係を示し、ツリーがどのような構造になっているのかを示す単なる一例であるが、ツリー全体またはツリー内の全ての親子関係を示しているわけではない。この場合には、ツリーの各ノードは、1つの係数と関係付けられ、ツリーは、2Dのウェーブレット変換係数間の空間的関係を考慮に入れて構築されている。その後、全てのノードについて、0または1が送信される。値/シンボル0は、ツリー内の特定のノードの係数ならびにツリー内の当該係数未満の全ての係数がゼロであることを示す。このように、多くのゼロ係数が、1つのシンボルのみで符号化される。多くのゼロがある場合には、このような手法により、良好な圧縮比が得られる。
別のタイプのツリーとして、バイナリ・ツリーがあり、これは、単純であるが効率的な種類のツリーである。第1の従来技術の手法では、このツリーを使用して、係数の位置を記述する。この場合には、ツリーの各リーフを変換係数と関係付けることができる一方で、ツリーの内部ノードはいかなる係数とも関係付けられない。この場合、符号化は、前述の場合と同様である。すなわち、あるノードより下の全ての係数がゼロであるときには、「0」でこの状況を示すことができる。従って、当該ノードより下に進んで、各「後続」係数の重要度/ゼロ値を明示的に示す必要がない。本発明の原理は、このタイプのツリーに関するものである。
ある係数が重要である確率は、従来技術の手法では適切に考慮されていない多くの要因によって決まる。例えば、係数の重要性には空間的相関がある。さらに、低周波数の係数の統計学的性質は、高周波数の係数の統計学的性質と異なる。さらに、異なる残差ブロックの重要度マップは、大きく異なる可能性がある。従って、1つのデータ構造および符号化プロセスを使用するだけでは、こうした多様性を全て捉えるには不十分である。
重要度マップ(または任意のバイナリ・セット)の多様性によりよく適応するために、いくつかのツリーおよびサブツリーを使用することが提案されている。重要度マップ毎に、マップを符号化するために使用する最良のツリーまたはサブツリーの組合せを選択する。複数のリーフの値の統計学的性質およびそれらの間の相関を活用する変換、グルーピング、符号反転(flipping signs)およびその他の演算を使用することも既知であり、ツリー、サブツリーまたはその一部でこれらの演算を使用することも提案されている。
ビデオ符号化技術は、予測および変換のサイズを大きくすることによって、性能を向上させている。これらの大きなサイズは、ツリー構造の要件に影響を及ぼす。ツリー構造の要件を簡略化するために、本発明者等は、本明細書において、例えば重要度マップなどの(ただしこれに限定されない)バイナリ・セットの異なる部分を符号化するためにツリーまたはツリーの一部を再使用する、再帰的ツリーを使用する方法および装置について述べる。具体的には、本発明者等は、類似の統計値を有するバイナリ・セットの異なる領域で、ツリーまたはツリーの一部を再使用する。本発明者等は、再帰的アルゴリズムが適用されるようにツリー構造を適応させる。この方法では、ツリー全体の符号化性能を維持またはむしろ改善し、かつ計算の複雑さをほぼ同程度に維持しつつも、必要とする確率値の数が減少する。
これに対して、現在のビデオ・エンコーダは、シンボルを符号化するのに算術符号化を使用する。各シンボルは、コンテキストが関連付けられた確率値を有する。バイナリ・セットを符号化するツリーに基づく方法は、各シンボルをエントロピ符号化することによって統計値に適応することができる。1つまたは複数の確率値が、各ノードまたはノード間の各分岐に関連付けられる。欠点は、対応するバイナリ・セットに対するツリーのサイズとともに、確率値の数が増えることである。本発明者等は、バイナリ・セットの異なる部分でツリーまたはサブツリーを再使用することによって、この増加を制限することを提案する。例えば、16×16の変換係数は、8×8のゼロ・ツリーまたは8×8のサブツリーを再使用することができる。従って、確率値と関連付けられる重要なコンテキストを減らすことができる。効率という観点からいえば、この複雑さの低減は、類似の統計値を有するバイナリ・セットの複数の部分に再使用を限定すると、良好に機能する。本発明の原理は、特に高精細度(HD)ビデオで符号化効率を改善するためにより大きな変換を使用する場合に、有利である。
バイナリ・セット(例えば変換済み係数の重要度マップなど)を符号化するためのゼロ・ツリー構造では、リーフに、当該セット内の要素のバイナリ値が与えられる。従って、各リーフの値とバイナリ・セット内の各要素との間には、一対一の関係がある。残差係数の重要度マップは、バイナリ・セットを形成する。
特定の内部ノードの値は、当該特定の内部ノードより下のノードの値を求めることによって求められる。このようにして、各内部ノードの重要度/バイナリ値が、リーフ・ノードからルート・ノードに導出される。次いで、ルート・ノードから始まるノードの値を信号通信することによって、ツリーを符号化する。特定のノードに「0」がマークされている場合、それは当該特定のノードより下の全ての(「下位」)ノードも「0」であることを意味するため、これらの下位ノードの値は特に信号通信する必要がないので、圧縮が実現される。この方法の様々な変形形態が存在する。
例:バイナリ・ツリー
分かりやすく例示するために、最初に、バイナリ・ツリーについて説明する。バイナリ・ツリーは、子を持たないリーフ・ノードを除き、各内部ノードが2つの子ノードを有するツリーである。前述の第1の従来技術の手法では、重要度マップを符号化するためのバイナリ・ツリーについて述べた。
図4を参照すると、本発明の原理を適用することができる例示的なバイナリ・ツリーが、参照番号400で全体的に示されている。バイナリ・ツリー400は、ノード1から13を含む。バイナリ・ツリー400は、6個の内部ノードおよび7個のリーフ・ノードを有する。ノード1は、ルート・ノードである。ノード2,3,6,9および11は、内部ノードである。ノード4,5,7,8,12および13は、リーフ・ノードである。ノード内の数字は、ノードを通過する順序を示している。この例では、順序は、深さ優先である。もちろん、当技術分野および関連技術分野の当業者が容易に思いつくその他の順序であってもよい。
バイナリ・セットは、ツリーのリーフにマッピングされる。図5を参照すると、バイナリ・ツリーのリーフへのバイナリ・セットの例示的なマッピングが、全体的に参照番号500で示されている。リーフ内の数字は、当該リーフがリンクされるバイナリ・セットの要素を示している。例えば、7個の係数(c0からc6で示す)の重要度マップを、このツリーを用いて符号化することができる。c0の値は、第1の係数がゼロである場合には「0」に等しく、さもなければ「1」に等しい。同じことが、残りの係数にも当てはまる。第1の係数の重要度は、参照番号「1」で示されるリーフを使用して符号化され、第2の係数の重要度は、参照番号「2」で示されるリーフを使用して符号化され、以下同様である。
どのようにこの符号化プロセスを実行するかの一例について、以下に説明する。符号化プロセスは、ルートから始まり、ノードを通過する順序に従う(この事例では深さ優先)。ノードが重要である(すなわち子が両方とも重要である)場合には、「1」が符号化され、符号化プロセスは次のノードに進む。ノードが重要でない(すなわち子の一方が重要でない)場合には、「0」が符号化され、次いで、左の子と右の子のうちのどちらが重要であるのかを示す。これは、左の子が重要である場合には「1」を符号化し、右の子が重要である場合には「0」を符号化することによって行われる。
以下は具体例である。リーフ・ノードへのマッピングが、本明細書で上記に説明したように行われるものと仮定する。また、c1、c2およびc4を除いて全ての係数がゼロであると仮定する。図6を参照すると、バイナリ・ゼロ・ツリーを使用した重要度マップの例示的な符号化が、参照番号600で全体的に示されている。この符号化プロセスは、深さ優先順序で適用される。「0」が付された内部ノードは、2つの子のうちどちらが重要であるかを示す第2のシンボルの送信を必要とする。図6では、これを、対応するシンボルが付された左側の分岐上の小さい四角で示してある。このマップで符号化する最終的なシンボルは、「11000101」である。
2次元(2D)変換では、最初に、2次元係数セットを1次元セットにマッピングし、次いで、各セットをリーフにマッピングする。図7を参照すると、2次元(2D)係数の、1次元(1D)バイナリ・セットへの例示的なマッピングが、参照番号700で全体的に示されている。特に、マッピング700は、8×8変換の係数の2Dから1Dへのマッピングに関する。このマップは、係数0,c0から始まり、右下部の最後の係数c63まで矢印に従って進む。
バイナリ・セットの符号化および復号におけるツリー構造の再使用
ツリー内の各シンボルは、対応する確率でエントロピ符号化される。エントロピ符号化は、算術コーダを用いて行うことができる。エンコーダおよびデコーダが各確率値を追跡してコンテンツに適応させているときには、エンコーダは、統計値に良好に適応し、良好な性能を発揮する。しかし、大きな変換の重要度マップの場合のようにツリーが大きい場合には、コストが高くなりすぎて、全ての確率値を記憶および追跡することができない。
この問題を軽減するために、本発明者等は、バイナリ・セットの異なる部分についてツリー構造および/または関連する確率値を再使用する。多くの場合、ツリー構造の一部分を再使用することは、再使用した部分に関連する任意の対応する確率値を再使用することを黙示的に含む。このように、当技術分野および関連技術分野の当業者なら容易に理解できるように、ツリー構造を再使用するとともに関連する任意の確率値も再使用することにより、複雑さやオーバヘッドなどが大幅に低減するので、最大の利点を得ることができる。一実施例では、8×8変換の場合に、垂直方向の周波数と水平方向の周波数とが類似していることから、重要度マップの異なる部分が類似点を有する。右上の係数と左下の係数の間に、統計学的な対称性がある。この場合には、構造および確率値を、両方の部分で再使用することができる。図8を参照すると、本発明の原理の一実施例による、同じツリーを共用することができる図7の例示的なマッピングの複数の部分が、参照番号800で全体的に示されている。図8では、これらの部分800を、参照番号800で示すとともに破線の楕円でも示し、マッピング700の残りの部分は実線で示してある。
重要度マップは、本発明の原理の教示に従って活用することができるその他の特徴を有する。通常は、1Dマップの最初のいくつかの係数は、重要である確率が高く、それらの間の相関が高い。一方、重要度マップの残りの部分は、重要である確率が低く、相関が低い。また、ツリー内で深くなるほど、重要な係数の数は少なくなる。従って、他の実施例では、マップのこれらの部分は、ほとんど常にゼロであるという意味で類似している。その結果として、効率性を損なうことなく、かつメモリの複雑さを軽減しながら、これらの領域でツリーの複数の部分を再使用することができる。図9を参照すると、本発明の原理の一実施例による、同じツリー構造および関連する確率値を共用することができる図7の例示的なマッピングのその他の部分が、参照番号900で全体的に示されている。図9では、これらの部分900を、参照番号900で示すとともに破線でも示し、マッピング700の残りの部分は実線で示してある。
以前に使用したツリー構造の1つまたは複数の部分を再使用するために本発明の原理で活用することができる類似性は、例えば、1つまたは複数の類似性メトリクスに基づくことができることを理解されたい。例えば、本明細書に与える本発明の原理の教示があれば、当技術分野および関連技術分野の当業者なら、類似性の判定に適用可能な閾値を容易に思いつくことができる。このようにして、容易に使用できる客観的な基準を使用して、類似性を容易に特定し、それにより、これを本発明の原理に従って活用することができる。
ここで、本発明の原理の少なくとも1つの例示的な実施形態について説明する。ただし、このような実施形態は例示を目的としたものであり、本発明の原理がこれにのみ限定されるわけではないことを理解されたい。この例示的な実施形態では、本発明者等は、上述の状況、すなわち重要度マップ内で最初のいくつかの要素のみが異なる統計値を有する状況を仮定する。従って、その後の要素について、このツリーのサブツリーを再使用する。これを行うために、本発明者等は、ツリーの最後のリーフが次のツリー(同じツリー)のルートに接続する、再帰的ツリーを提案する。このようにして、構造および確率値を再帰的に再使用する。図10を参照すると、本発明の原理の一実施例による例示的な再帰的バイナリ・ツリーが、参照番号1000で全体的に示されている。内部にそれぞれ参照番号「1」、「2」および「3」がラベル付けされている破線で描いた3つの四角で示すように、このツリーには、3回使用されるサブツリーがある。従って、同じ内部ノード(aおよびb)を有する同じ構造が、(番号を付した破線の四角の中に)3回現れる。これらのリーフを符号化するために使用する確率値および内部ノードは、同じとすることができる。
他の実施例では、本発明者等は、小さな変換のツリーをそれより大きな変換に再使用する。16×16変換の係数は、4組の8×8個の係数のセットに分割することができる。例えば、これは、第1の係数を第1のセットに入れ、第2の係数を第2のセットに入れ、第3の係数を第3のセットに入れ、第4の係数を第4のセットに入れ、第5の係数を再び第1のセットに入れ、以下同様に行うことによって行うことができる。これにより、4つのセットのそれぞれが、8×8個の係数のツリーを使用することができる。さらに、これら4つの8×8ツリーを、4つのリーフ・ノードを有するツリーによって1つのツリーにまとめることができる。図11を参照すると、本発明の原理の一実施例による複数の小さいツリーを再使用して変換重要度マップのための大きなツリーを生成する例が、参照番号1100で全体的に示されている。
この方法は、カスケード変換で非常に良好に機能する。カスケード変換は、2つの変換を順番に連結することによって形成される変換である。例えば、16×16変換は、4つの8×8変換を適用した後に、最初の変換で得られたDC成分に2×2変換を適用することによって得ることができる。この場合、4つの8×8サブツリーを再使用して16×16ツリーを分割すると、当然、以下のようになる。すなわち、最初の8×8変換の係数に2×2変換の1つの係数を加えたものが1つのサブツリーとなり、他の3つのサブツリーについても同様に構成される。
以下に述べる方法の一部は、データのバイナリ・セットおよびデータの非バイナリ・セットに関するものであることを理解されたい。例示的な一例としてのビデオ・データに関しては、このようなデータのセットは、符号化または復号されるピクチャ内の現在のブロックに対してどの予測を行うかを決定することから得ることができる。このような場合には、ある方法を使用してデータのバイナリ・セットを符号化または復号し、別の方法を使用してデータの非バイナリ・セットを符号化または復号することができる。本発明の原理が対象とするような場合では、データのバイナリ・セットである。
図12を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化する例示的な方法が、参照番号1200で全体的に示されている。この方法1200は、制御を機能ブロック1210に渡す開始ブロック1205を含む。機能ブロック1210は、予測モード選択を実行し、制御を機能ブロック1215に渡す。機能ブロック1215は、(機能ブロック1210で選択された予測モードを使用して得られた)予測を信号通信し、制御を機能ブロック1220に渡す。機能ブロック1220は、非バイナリ・セットのエントロピ符号化を実行し、制御を機能ブロック1225に渡す。機能ブロック1225は、バイナリ・セットを符号化するために再使用するツリーおよび1つまたは複数のサブツリーを決定し、制御を機能ブロック1230に渡す。機能ブロック1230は、機能ブロック1225で決定されたツリーおよび1つまたは複数のサブツリーを用いてバイナリ・セットのエントロピ符号化を実行し、制御を終了ブロック1299に渡す。
図13を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号する例示的な方法が、参照番号1300で全体的に示されている。方法1300は、制御を機能ブロック1310に渡す開始ブロック1305を含む。機能ブロック1310は、非バイナリ・セットのエントロピ復号を実行し、制御を機能ブロック1315に渡す。機能ブロック1315は、当該セットを符号化するために(以前に)再使用されたツリーおよび1つまたは複数のサブツリーを特定し、制御を機能ブロック1320に渡す。機能ブロック1320は、機能ブロック1315で特定されたツリーおよび1つまたは複数のサブツリーを使用してバイナリ・セットを復号し、制御を機能ブロック1325に渡す。機能ブロック1325は、信号の再構築を実行し、制御を終了ブロック1399に渡す。
図12および図13の方法1200および1300はそれぞれ、1つのツリーと(当該1つのツリーから派生した)1つまたは複数のサブツリーとを使用するが、本発明の原理の他の実施例では、2つ以上のツリーと当該2つ以上のツリーの1つまたは複数のサブツリーとを使用することができることを理解されたい。本明細書に与える本発明の原理の教示があれば、当技術分野および関連技術分野の当業者なら、本発明の原理の精神を維持しながら、本発明の原理の上記およびその他の変形を思いつくであろう。
図14を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化する別の例示的な方法が、参照番号1400で全体的に示されている。この方法1400は、制御を機能ブロック1410に渡す開始ブロック1405を含む。機能ブロック1410は、予測モード選択、信号予測、順方向N×N変換および量子化を実行し、制御を機能ブロック1415に渡す。機能ブロック1415は、変換済みの係数の重要度マップを求め、制御を機能ブロック1420に渡す。機能ブロック1420は、重要度を1次元(1D)バイナリ・セットにマッピングし、制御を機能ブロック1425に渡す。機能ブロック1425は、最初の2N個の係数に対してツリーを用いてバイナリ・セットのエントロピ符号化を実行し、残りの係数に対しては別のN+1個のリーフのサブツリーを再帰的に再使用し、制御を機能ブロック1430に渡す。機能ブロック1430は、重要な係数の大きさおよび符号を符号化し、制御を終了ブロック1499に渡す。
図15を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号する別の例示的な方法が、参照番号1500で全体的に示されている。この方法1500は、制御を機能ブロック1510に渡す開始ブロック1505を含む。機能ブロック1510は、最初の2N個の係数に対してツリーを用いてバイナリ・セットのエントロピ復号を実行し、残りの係数に対しては別のN+1個のリーフのサブツリーを再帰的に再使用し、制御を機能ブロック1515に渡す。機能ブロック1515は、1次元(1D)バイナリ・セットを重要度マップにマッピングし、制御を機能ブロック1520に渡す。機能ブロック1520は、変換済みの係数の重要度マップを求め、制御を機能ブロック1530に渡す。機能ブロック1530は、重要な係数の大きさおよび符号を復号し、制御を終了ブロック1599に渡す。
図16を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化するさらに別の例示的な方法が、参照番号1600で全体的に示されている。この方法1600は、制御を機能ブロック1610に渡す開始ブロック1605を含む。機能ブロック1610は、予測モード選択、信号予測、順方向N×N変換および量子化を実行し、制御を機能ブロック1615に渡す。機能ブロック1615は、変換済みの係数の重要度マップを求め、制御を機能ブロック1620に渡す。機能ブロック1620は、重要度を1次元(1D)バイナリ・セットにマッピングし、制御を機能ブロック1625に渡す。機能ブロック1625は、N/2×N/2サイズ変換のためにツリーを4回再使用することによって形成したツリーを用いてバイナリ・セットのエントロピ符号化を実行し、制御を機能ブロック1630に渡す。機能ブロック1630は、重要な係数の大きさおよび符号を符号化し、制御を終了ブロック1699に渡す。
図17を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号するさらに別の例示的な方法が、参照番号1700で全体的に示されている。この方法1700は、制御を機能ブロック1710に渡す開始ブロック1705を含む。機能ブロック1710は、N/2×N/2サイズ変換のためにツリーを4回再使用することによって形成したツリーを用いてバイナリ・セットのエントロピ復号を実行し、制御を機能ブロック1715に渡す。機能ブロック1715は、1次元(1D)バイナリ・セットを重要度マップにマッピングし、制御を機能ブロック1720に渡す。機能ブロック1720は、変換済みの係数の重要度マップを求め、制御を機能ブロック1730に渡す。機能ブロック1730は、重要な係数の大きさおよび符号を復号し、制御を終了ブロック1799に渡す。
図18を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを符号化するさらに別の例示的な方法が、参照番号1800で全体的に示されている。この方法1800は、制御を機能ブロック1810に渡す開始ブロック1805を含む。機能ブロック1810は、ビデオ・コンテンツの係数重要度マップを解析し、制御を機能ブロック1815に渡す。機能ブロック1815は、類似性メトリックによって、再使用するツリー構造および確率を決定し、制御を機能ブロック1820に渡す。機能ブロック1820は、現在の係数の重要度マップを1次元(1D)バイナリ・セットにマッピングし、制御を機能ブロック1825に渡す。機能ブロック1825は、ツリーを用いてバイナリ・セットのエントロピ符号化を実行し、制御を機能ブロック1830に渡す。機能ブロック1830は、重要な係数の大きさおよび符号を符号化し、制御を終了ブロック1899に渡す。
図19を参照すると、本発明の原理の一実施例による、ツリー構造を再使用してバイナリ・セットを復号するさらに別の例示的な方法が、参照番号1900で全体的に示されている。この方法1900は、制御を機能ブロック1910に渡す開始ブロック1905を含む。機能ブロック1910で、ビデオ・コンテンツの係数重要度マップを解析し、制御を機能ブロック1915に渡す。機能ブロック1915は、類似性メトリックによって、再使用するツリー構造および確率を決定し、制御を機能ブロック1920に渡す。機能ブロック1920は、ツリーを用いて現在のバイナリ・セットのエントロピ復号を実行し、制御を機能ブロック1925に渡す。機能ブロック1925は、1次元(1D)バイナリ・セットを現在の係数の重要度マップにマッピングし、制御を機能ブロック1930に渡す。機能ブロック1930では、重要な係数の大きさおよび符号を復号し、制御を終了ブロック1999に渡す。
ここで、一部については既に上記で述べた、本発明の多数の付随的な利点/特性の一部について述べる。例えば、1つの利点/特性は、ツリー構造を使用してデータのバイナリ・セットを符号化するエンコーダを有する装置である。エンコーダは、ツリー構造の一部分を使用してバイナリ・セットの一部分を符号化し、かつ、バイナリ・セットの一部分を符号化するために使用したツリー構造の一部分の少なくとも一部を再使用することによってバイナリ・セットの別の部分を符号化する。
別の利点/特性は、上述のエンコーダを有する装置であって、バイナリ・セットの別の部分を符号化するために再使用したツリー構造の一部分の少なくとも一部が、再帰的に再使用される装置である。
さらに別の利点/特性は、上述のエンコーダを有する装置であって、バイナリ・セットが、変換係数の重要度を表し、既定のサイズを超える変換の変換係数の重要度が、既定のサイズより小さい変換に対応するツリー構造の部分を再使用する装置である。
さらに別の利点/特性は、上述のエンコーダを有する装置であって、ビデオ・エンコーダに含まれる装置である。
さらに、別の利点/特性は、上述のエンコーダを有する装置であって、ツリー構造のどの部分を再使用するかの決定が、バイナリ・セットが対応するコンテンツの性質に基づいて行われる装置である。
さらに、別の利点/特性は、ツリー構造のどの部分を再使用するかの決定が、バイナリ・セットが対応するコンテンツの性質に基づいて行われる、上述のエンコーダを有する装置であって、決定を下すために評価されるコンテンツの性質が、係数重要度マップから得られる装置である。
また、別の利点/特性は、ツリー構造のどの部分を再使用するかの決定が、バイナリ・セットが対応するコンテンツの性質に基づいて行われる、上述のエンコーダを有する装置であって、決定が、1つまたは複数の類似性メトリックに基づいて性質が類似しているかどうかに基づいて行われる装置である。
本発明の原理の上記およびその他の特性および利点は、本明細書の教示に基づいて、当業者であれば容易に確認することができる。本発明の原理の教示は、ハードウェア、ソフトウェア、ファームウェア、特殊目的プロセッサ、またはそれらの組合せの様々な形態で実施することができることを理解されたい。
本発明の原理の教示は、ハードウェアとソフトウェアの組合せとして実施されることが最も好ましい。さらに、ソフトウェアは、プログラム記憶装置に有形に実現されるアプリケーション・プログラムとして実施することができる。アプリケーション・プログラムは、任意の適当なアーキテクチャを備える機械にアップロードして実行することができる。この機械は、1つまたは複数の中央処理装置(「CPU」)、ランダム・アクセス・メモリ(「RAM」)および入力/出力(「I/O」)インタフェースなどのハードウェアを有するコンピュータ・プラットフォームで実施されることが好ましい。コンピュータ・プラットフォームは、オペレーティング・システムおよびマイクロ命令コードを含むこともできる。本明細書に記載する様々なプロセスおよび機能は、CPUによって実行することができる、マイクロ命令コードの一部またはアプリケーション・プログラムの一部あるいはそれらの任意の組合せの何れかにすることができる。さらに、追加のデータ記憶装置や印刷装置など、その他の様々な周辺装置をコンピュータ・プラットフォームに接続することができる。
さらに、添付の図面に示すシステム構成要素および方法の一部はソフトウェアで実施することが好ましいので、システム構成要素間またはプロセス機能ブロック間の実際の接続は、本発明の原理をプログラミングする方法によって異なっていてもよいことも理解されたい。本明細書の教示があれば、当業者なら、本発明の原理の上記の実施態様または構成およびそれと同様の実施態様または構成を思いつくことができるであろう。
本明細書では、添付の図面を参照して例示的な実施例について述べたが、本発明の原理は、これらの具体的な実施例に限定されるわけではなく、当業者なら、本発明の原理の範囲または精神を逸脱することなく様々な変更および修正をそれらの実施例に加えることができることを理解されたい。そうした変更および修正は全て、添付の特許請求の範囲に記載する本発明の原理の範囲に含まれるものとする。
上記の実施例に関し、更に以下の項目を開示する。
(付記1)ツリー構造を使用してデータのバイナリ・セットを符号化するエンコーダ(145)を有する装置であって、
前記エンコーダは、前記ツリー構造の一部分を使用して前記バイナリ・セットの一部分を符号化し、かつ、前記バイナリ・セットの前記一部分を符号化するために使用した前記ツリー構造の前記一部分の少なくとも一部を再使用することによって前記バイナリ・セットの別の部分を符号化する、前記装置。
(付記2)ツリー構造を使用してデータのバイナリ・セットを符号化するステップを含む方法であって、
前記符号化ステップは、前記ツリー構造の一部分を使用して前記バイナリ・セットの一部分を符号化し、かつ、前記バイナリ・セットの前記一部分を符号化するために使用した前記ツリー構造の前記一部分の少なくとも一部を再使用することによって前記バイナリ・セットの別の部分を符号化する(1225,1230)、前記方法。
(付記3)前記バイナリ・セットの前記別の部分を符号化するために再使用した前記ツリー構造の前記一部分の前記少なくとも一部が、再帰的に再使用される(1425)、付記2に記載の方法。
(付記4)前記バイナリ・セットが、変換係数の重要度を表し、既定のサイズを超える変換の変換係数の重要度が、前記既定のサイズより小さい変換に対応するツリー構造の部分を再使用する(1620,1625)、付記2に記載の方法。
(付記5)装置がビデオ・エンコーダに含まれる(1225,1230,1400,1425)、付記2に記載の方法。
(付記6)ツリー構造のどの部分を再使用するかの決定が、前記バイナリ・セットが対応するコンテンツの性質に基づいて行われる(1810,1815,1825)、付記2に記載の方法。
(付記7)前記決定を下すために評価される前記コンテンツの前記性質が、係数重要度マップから得られる(1810,1815,1825)、付記6に記載の方法。
(付記8)前記決定が、1つまたは複数の類似性メトリックに基づいて前記性質が類似しているかどうかに基づいて行われる(1810,1815,1825)、付記6に記載の方法。
(付記9)ツリー構造を使用してデータのバイナリ・セットを復号するデコーダ(245)を有する装置であって、
前記デコーダは、前記ツリー構造の一部分を使用して前記バイナリ・セットの一部分を復号し、かつ、前記バイナリ・セットの前記一部分を復号するために使用した前記ツリー構造の前記一部分の少なくとも一部を再使用することによって前記バイナリ・セットの別の部分を復号する、前記装置。
(付記10)ツリー構造を使用してデータのバイナリ・セットを復号するステップを含む方法であって、
前記復号ステップは、前記ツリー構造の一部分を使用して前記バイナリ・セットの一部分を復号し、かつ、前記バイナリ・セットの前記一部分を復号するために使用した前記ツリー構造の前記一部分の少なくとも一部を再使用することによって前記バイナリ・セットの別の部分を復号する(1315,1320)、前記方法。
(付記11)前記バイナリ・セットの前記別の部分を復号するために再使用した前記ツリー構造の前記一部分の前記少なくとも一部が、再帰的に再使用される(1510)、付記10に記載の方法。
(付記12)前記バイナリ・セットが、変換係数の重要度を表し、既定のサイズを超える変換の変換係数の重要度が、前記既定のサイズより小さい変換に対応するツリー構造の部分を再使用する(1710,1715,1720)、付記10に記載の方法。
(付記13)装置がビデオ・デコーダに含まれる(1315,1320,1500,1510)、付記10に記載の方法。
(付記14)ツリー構造のどの部分を再使用するかの決定が、前記バイナリ・セットが対応するコンテンツの性質に基づいて行われる(1910,1915,1920,1930)、付記10に記載の方法。
(付記15)前記決定を下すために評価される前記コンテンツの前記性質が、係数重要度マップから得られる(1910,1915,1920,1930)、付記14に記載の方法。
(付記16)前記決定が、1つまたは複数の類似性メトリックに基づいて前記性質が類似しているかどうかに基づいて行われる(1910,1915,1920,1930)、付記14に記載の方法。
(付記17)ツリー構造を使用して符号化されたデータのバイナリ・セットを含む、符号化されたビデオ信号データを有する、非一時的なコンピュータ可読記憶媒体であって、
前記バイナリ・セットの一部分が、前記ツリー構造の一部分を使用して符号化されており、かつ、前記バイナリ・セットの別の部分が、前記バイナリ・セットの前記一部分を符号化するために使用した前記ツリー構造の前記一部分の少なくとも一部を再使用することによって符号化されている、前記非一時的なコンピュータ可読記憶媒体。

Claims (2)

  1. ツリー構造を使用して重要度マップを伝達する、データのバイナリ・セットを復号するデコーダを有する装置であって、
    前記デコーダは、複数のノードを有する前記ツリー構造のサブツリーの部分を再帰的な復号の間に再使用して前記バイナリ・セットの一部分を再帰的に復号し、第1のサブツリー構造の最後のリーフは、第2のサブツリー構造のルートと同じであり、該第1のサブツリー構造及び第2のサブツリー構造は、前記重要度マップを伝達する前記ツリー構造のサブツリーの部分であり、該第2のサブツリー構造は、前記第1のサブツリー構造と同一の構造と、前記第1のサブツリー構造と同一の、そのノードに関連付けられた確率値とを有し、これにより、サブツリーの部分が再使用されなかった場合より少ない数の確率値が必要となり、前記確率値は、前記重要度マップのノードが重要である可能性を表す、前記装置。
  2. ツリー構造を使用して重要度マップを伝達する、データのバイナリ・セットを復号するステップであって、前記バイナリ・セットの一部分を再帰的に復号する前記ステップと、
    複数のノードを有する前記ツリー構造のサブツリーの部分を前記再帰的な復号のステップの間に再使用するステップと、を含み、第1のサブツリー構造の最後のリーフは、第2のサブツリー構造のルートと同じであり、該第1のサブツリー構造及び第2のサブツリー構造は、前記重要度マップを伝達する前記ツリー構造のサブツリーの部分であり、該第2のサブツリー構造は、前記第1のサブツリー構造と同一の構造と、前記第1のサブツリー構造と同一の、そのノードに関連付けられた確率値とを有し、これにより、サブツリーの部分が再使用されなかった場合より少ない数の確率値が必要となり、前記確率値は、前記重要度マップのノードが重要である可能性を表す、方法。
JP2012525524A 2009-08-20 2010-08-12 ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置 Active JP6029979B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US23544209P 2009-08-20 2009-08-20
US61/235,442 2009-08-20
PCT/US2010/002228 WO2011022043A1 (en) 2009-08-20 2010-08-12 Method and apparatus for reusing tree structures to encode and decode binary sets

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016160447A Division JP6509164B2 (ja) 2009-08-20 2016-08-18 ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置

Publications (3)

Publication Number Publication Date
JP2013502822A JP2013502822A (ja) 2013-01-24
JP2013502822A5 JP2013502822A5 (ja) 2013-09-19
JP6029979B2 true JP6029979B2 (ja) 2016-11-24

Family

ID=43313424

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012525524A Active JP6029979B2 (ja) 2009-08-20 2010-08-12 ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置
JP2016160447A Active JP6509164B2 (ja) 2009-08-20 2016-08-18 ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016160447A Active JP6509164B2 (ja) 2009-08-20 2016-08-18 ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置

Country Status (6)

Country Link
US (1) US20120134426A1 (ja)
EP (1) EP2467829A1 (ja)
JP (2) JP6029979B2 (ja)
KR (1) KR101739603B1 (ja)
CN (1) CN102473315B (ja)
WO (1) WO2011022043A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634669B2 (en) 2011-01-13 2014-01-21 Sony Corporation Fast implementation of context selection of significance map
US20130121417A1 (en) * 2011-11-16 2013-05-16 Qualcomm Incorporated Constrained reference picture sets in wave front parallel processing of video data
DE102014101307A1 (de) 2014-02-03 2015-08-06 Osram Opto Semiconductors Gmbh Kodierverfahren zur Datenkompression von Leistungsspektren eines optoelektronischen Bauteils und Dekodierverfahren
TWI761551B (zh) * 2017-07-13 2022-04-21 美商松下電器(美國)知識產權公司 編碼裝置、編碼方法、解碼裝置及解碼方法
US11601660B2 (en) * 2018-03-30 2023-03-07 Hulu, LLC Reuse of block tree pattern in video compression
CN111211787A (zh) * 2019-10-09 2020-05-29 华中科技大学 一种工业数据压缩方法、***、存储介质及终端
CN110971973A (zh) * 2019-12-03 2020-04-07 北京奇艺世纪科技有限公司 一种视频推送方法、装置及电子设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08502865A (ja) * 1992-09-01 1996-03-26 アプル・コンピュータ・インコーポレーテッド 改良されたベクトルの量子化
JP3302229B2 (ja) * 1994-09-20 2002-07-15 株式会社リコー 符号化方法、符号化/復号方法及び復号方法
US6549666B1 (en) * 1994-09-21 2003-04-15 Ricoh Company, Ltd Reversible embedded wavelet system implementation
US6269192B1 (en) * 1997-07-11 2001-07-31 Sarnoff Corporation Apparatus and method for multiscale zerotree entropy encoding
US6801665B1 (en) * 1998-09-15 2004-10-05 University Of Maryland Method and apparatus for compressing and decompressing images
DE60024097D1 (de) * 1999-07-30 2005-12-22 Indinell S A Verfahren und vorrichtung zur verarbeitung von digitalen bildern und audiodaten
EP1279290A1 (en) * 2000-04-04 2003-01-29 Koninklijke Philips Electronics N.V. Video encoding method using a wavelet transform
US6782136B1 (en) * 2001-04-12 2004-08-24 Kt-Tech, Inc. Method and apparatus for encoding and decoding subband decompositions of signals
CN1255770C (zh) * 2003-06-30 2006-05-10 大唐微电子技术有限公司 基于数字信号处理器的层次树集合划分图像编解码方法
US7313563B2 (en) * 2003-07-30 2007-12-25 International Business Machines Corporation Method, system and recording medium for maintaining the order of nodes in a heirarchical document
CN1564604A (zh) * 2004-04-08 2005-01-12 复旦大学 基于树状结构的等级树集合划分视频图像压缩方法
CN1281065C (zh) * 2004-05-20 2006-10-18 复旦大学 基于树状结构的等级树集合划分视频图像压缩方法
US7660475B2 (en) * 2004-12-22 2010-02-09 Ntt Docomo, Inc. Method and apparatus for coding positions of coefficients
US8356040B2 (en) * 2005-03-31 2013-01-15 Robert T. and Virginia T. Jenkins Method and/or system for transforming between trees and arrays
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US20080103701A1 (en) * 2006-10-31 2008-05-01 Motorola, Inc. Automatic signal processor design software system
CN100527847C (zh) * 2007-03-16 2009-08-12 清华大学 基于零前缀码的变长码解码方法

Also Published As

Publication number Publication date
KR20120065327A (ko) 2012-06-20
WO2011022043A1 (en) 2011-02-24
CN102473315B (zh) 2016-08-03
KR101739603B1 (ko) 2017-05-24
JP2013502822A (ja) 2013-01-24
JP6509164B2 (ja) 2019-05-08
JP2016220239A (ja) 2016-12-22
EP2467829A1 (en) 2012-06-27
CN102473315A (zh) 2012-05-23
US20120134426A1 (en) 2012-05-31

Similar Documents

Publication Publication Date Title
JP7384736B2 (ja) 適応ツリー選択を使用してバイナリ・セットをビデオ符号化およびビデオ復号する方法および装置
JP6509164B2 (ja) ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置
JP6351773B2 (ja) 統一された有意性マップ符号化方法および装置
JP6491691B2 (ja) 改善されたエントロピー符号化および復号を行う方法および装置
JP6199311B2 (ja) 映像コード化における係数のコード化
CN107710759B (zh) 转换系数编解码的方法及装置
CN103597838A (zh) 对末位有效系数的位置进行编码和解码的方法和设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130802

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140723

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141016

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141210

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150318

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150916

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160322

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160420

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160603

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160818

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160920

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161019

R150 Certificate of patent or registration of utility model

Ref document number: 6029979

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250