(57)【要約】  一つ又は複数の非再帰的変換をより大きい再帰的変換に埋め込むことにより、新しいマルチ変換データ構造を生成することを含む、デコードまたはエンコード方法である。該方法は、ターゲットデータブロックに関する情報を受信するステップと、再帰的変換を使用するかそれとも非再帰的変換を使用するかを判定するステップとをさらに含み得る。前記再帰的変換を使用すると判定された場合、該方法は、前記マルチ変換データ構造を使用して前記再帰的変換を生成し、生成された前記再帰的変換を使用して前記ターゲットデータブロックをエンコードまたはデコードさせることを含み得る。そうでない場合、該方法は、前記マルチ変換データ構造に埋め込まれた前記一つ又は複数の非再帰的変換のうちの１つを使用して前記ターゲットデータブロックをエンコードまたはデコードさせることを含み得る。【特許請求の範囲】
【請求項１】
一つ又は複数の非再帰的変換をより大きい再帰的変換に埋め込むことにより、新しいマルチ変換データ構造を生成するステップと、
エンコードまたはデコード用のターゲットデータブロックに関する情報を受信するステップであって、前記エンコードまたはデコード用のターゲットデータブロックは、圧縮されたビデオまたは画像データブロック、もしくは非圧縮であるビデオまたは画像データブロックのうちの１つである、ステップと、
前記ターゲットデータブロックに対する前記エンコードまたはデコードに再帰的変換を使用するかそれとも非再帰的変換を使用するかを判定するステップと、
前記判定の結果が、前記再帰的変換を使用する場合、前記マルチ変換データ構造を使用して前記再帰的変換を生成し、生成された前記再帰的変換を使用して前記ターゲットデータブロックをエンコードまたはデコードさせる情報を発生または送信するステップと、
前記判定の結果が、前記マルチ変換データ構造の前記非再帰的変換を使用する場合、前記マルチ変換データ構造に埋め込まれた前記一つ又は複数の非再帰的変換のうちの１つを使用して前記ターゲットデータブロックをエンコードまたはデコードさせる情報を発生または送信するステップであって、前記マルチ変換データ構造の前記一つ又は複数の非再帰的変換のうちの１つの少なくとも一部が、前記マルチ変換データ構造の前記より大きい再帰的変換の半分の少なくとも一部に埋め込まれている、ステップと、
を含むデコードまたはエンコード方法。
【請求項２】
前記一つ又は複数の非再帰的変換のサイズはＭであり、Ｍ＝Ｎ／２であり、ただし、Ｎは前記マルチ変換データ構造の前記再帰的変換のサイズである、請求項１に記載の方法。
【請求項３】
Ｎ点非再帰的変換を２Ｎ点再帰的変換に埋め込むことにより、複合正規直交変換（ＣＯＴ）である新しい正規直交変換として前記マルチ変換データ構造を導出するステップであって、前記新しい正規直交変換は、前記再帰的変換の対称性／反対称性特性により、正規直交変換のままである、ステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記再帰的変換は、ＤＣＴ―２、アダマール変換、ＤＣＴ―１、ＤＳＴ―１、ＤＳＴ―２、ＤＣＴ―３またはＤＳＴ―３のうちの１つである、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記一つ又は複数の非再帰的変換は、ＤＳＴ―７またはＤＣＴ―８のうちの一つ又は複数である、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記再帰的変換はＤＣＴ―２であり、前記一つ又は複数の非再帰的変換のうちの１つはＤＳＴ―７またはＤＣＴ―８である、請求項１〜３のいずれか一項に記載の方法。
【請求項７】
前記再帰的変換はＤＣＴ―２であり、前記方法は、前記マルチ変換データ構造の再帰的ＤＣＴ―２変換を使用する場合、（ｉ）前記マルチ変換データ構造に基づいてＤＣＴ−２変換行列の左半分を決定するステップと、（ｉｉ）前記ＤＣＴ−２変換行列の左半分を考慮して、前記ＤＣＴ−２変換行列の右半分を、ＤＣＴ−２コアの対称性／反対称性特性に従って導出するするステップと、をさらに含む、請求項１〜３のいずれか一項に記載の方法。
【請求項８】
（ｉ）２Ｎ点ＤＣＴ―２の奇数の基底の前半をＮ点スケーリングされたＤＳＴ−７またはＤＣＴ−８基底で置き換えるステップと、（ｉｉ）前記２Ｎ点ＤＣＴ−２の奇数の基底の後半を、反転されたＤＳＴ−７またはＤＣＴ−８基底および逆符号で埋めるステップとにより、２Ｎ点ＤＣＴ―２の元の奇数の基底に対応する結果としての基底を作成するステップをさらに含む、請求項６に記載の方法。
【請求項９】
前記一つ又は複数の非再帰的変換をより大きい再帰的変換に埋め込み、生成された新しい再帰的変換をエンコードまたはデコードに使用することによる前記新しい再帰的変換の生成が高レベル構文で示され、前記高レベル構文は、ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、またはＣＴＵヘッダのうちの少なくとも１つを含む、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
Ｎ点ＤＣＴ―８またはＤＳＴ―７を２Ｎ点ＤＣＴ−２に埋め込むことにより、複合正規直交変換（ＣＯＴ）である新しい正規直交変換として前記マルチ変換データ構造を導出するステップであって、前記新しい正規直交変換は、ＤＣＴ−２の対称性／反対称性特性により、正規直交変換のままである、ステップをさらに含む、請求項１に記載の方法。
【請求項１１】
ＤＣＴ−４はＤＣＴ−２から抽出され、
ＤＣＴ−４は、特定のブロックサイズに対して適応多重変換（ＡＭＴ）におけるＤＣＴ−８を置き換え、
前記新しい変換コアは、ＤＣＴ−４変換基底を左右に反転することにより導出され、
前記新しい変換コアは、特定のブロックサイズに対してＡＭＴにおけるＤＳＴ−７を置き換える、請求項１に記載の方法。
【請求項１２】
コンピュータプログラムコードを記憶するように構成される少なくとも１つのメモリと、
前記少なくとも１つのメモリにアクセスし、前記コンピュータプログラムコードに従って動作するように構成される少なくとも１つのプロセッサと、を備え、前記コンピュータプログラムコードは、
一つ又は複数の非再帰的変換をより大きい再帰的変換に埋め込むことにより、新しいマルチ変換データ構造を生成するように構成される第１の適用コードと、
エンコードまたはデコード用のターゲットデータブロックに関する情報を前記少なくとも１つのプロセッサに受信させるように構成される適用コードであって、前記エンコードまたはデコード用のターゲットデータブロックは、圧縮されたビデオまたは画像データブロック、もしくは非圧縮であるビデオまたは画像データブロックのうちの１つである、第２の適用コードと、
前記ターゲットデータブロックに対する前記エンコードまたはデコードのために、前記ターゲットデータブロックに対する前記エンコードまたはデコードに再帰的変換を使用するかそれとも非再帰的変換を使用するかを前記少なくとも１つのプロセッサに判定させるように構成される第３の適用コードと、
前記判定の結果が、前記再帰的変換を使用する場合、前記マルチ変換データ構造を使用して前記再帰的変換を生成し、生成された前記再帰的変換を使用して前記ターゲットデータブロックをエンコードまたはデコードさせる情報を発生または送信することを前記少なくとも１つのプロセッサに実行させるように構成される第４の適用コードと、
前記判定の結果が、前記マルチ変換データ構造の前記非再帰的変換を使用する場合、前記マルチ変換データ構造に埋め込まれた前記一つ又は複数の非再帰的変換のうちの１つを使用して前記ターゲットデータブロックをエンコードまたはデコードさせる情報を発生または送信する適用コードであって、前記マルチ変換データ構造の前記一つ又は複数の非再帰的変換のうちの１つの少なくとも一部が、前記マルチ変換データ構造の前記より大きい再帰的変換の半分の少なくとも一部に埋め込まれている、第５の適用コードと、を含む装置。
【請求項１３】
前記一つ又は複数の非再帰的変換のうちの１つのサイズはＭであり、Ｍ＝Ｎ／２であり、ただし、Ｎは前記マルチ変換データ構造の前記再帰的変換のサイズである、請求項１２に記載の装置。
【請求項１４】
前記第１の適用コードは、Ｎ点非再帰的変換を２Ｎ点再帰的変換に埋め込むことにより、複合正規直交変換（ＣＯＴ）である新しい正規直交変換として前記マルチ変換データ構造を前記少なくとも１つのプロセッサに導出させ、前記新しい正規直交変換は、前記再帰的変換の対称性／反対称性特性により、正規直交変換のままであるように構成される、請求項１２に記載の装置。
【請求項１５】
前記再帰的変換は、ＤＣＴ−２、アダマール変換、ＤＣＴ−１、ＤＳＴ−１、またはＤＳＴ−２のうちの１つであり、
前記一つ又は複数の非再帰的変換は、ＤＳＴ−７またはＤＣＴ−８のうちの一つ又は複数である、
請求項１２〜１４のいずれか一項に記載の装置。
【請求項１６】
前記再帰的変換はＤＣＴ―２であり、前記コンピュータプログラムコードは、前記マルチ変換データ構造の再帰的ＤＣＴ―２変換を使用する場合、前記少なくとも１つのプロセッサに、（ｉ）前記マルチ変換データ構造に基づいてＤＣＴ−２変換行列の左半分を決定させ、（ｉｉ）前記ＤＣＴ−２変換行列の左半分を考慮して、前記ＤＣＴ−２変換行列の右半分を、ＤＣＴ−２コアの対称性／反対称性特性に従って導出させるように構成される第６の適用コードをさらに含む、請求項１２〜１４のいずれか一項に記載の装置。
【請求項１７】
前記第６の適用コードは、（ｉ）２Ｎ点ＤＣＴ―２の奇数の基底の前半をＮ点スケーリングされたＤＳＴ−７またはＤＣＴ−８基底で置き換えるステップと、（ｉｉ）前記２Ｎ点ＤＣＴ−２の奇数の基底の後半を、反転されたＤＳＴ−７またはＤＣＴ−８基底および逆符号で埋めるステップとにより、２Ｎ点ＤＣＴ―２の元の奇数の基底に対応する結果としての基底を、少なくとも１つのプロセッサに作成させるように構成される、請求項１６に記載の装置。
【請求項１８】
前記一つ又は複数の非再帰的変換をより大きい再帰的変換に埋め込み、生成された新しい再帰的変換をエンコードまたはデコードに使用することによる前記新しい再帰的変換の生成は高レベル構文で示され、前記高レベル構文は、ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、またはＣＴＵヘッダのうちの少なくとも１つを含む、請求項１２〜１７のいずれか一項に記載の装置。
【請求項１９】
前記第１の適用コードは、少なくとも１つのプロセッサに、Ｎ点ＤＣＴ―８またはＤＳＴ―７を２Ｎ点ＤＣＴ−２に埋め込むことにより、複合正規直交変換（ＣＯＴ）である新しい正規直交変換として前記マルチ変換データ構造を導出させるように構成され、前記新しい正規直交変換は、ＤＣＴ−２の対称性／反対称性特性により、正規直交変換のままである、請求項１８に記載の装置。
【請求項２０】
コンピュータに請求項１〜１１のいずれか一項に記載の方法のステップを実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［優先情報］
本出願は、それぞれ米国特許商標庁へ、２０１８年５月１１日に出願された米国仮出願番号第６２／６７０，７０４号、および、２０１８年５月７日に出願された米国仮出願第６２／６６８，０６５号の優先権を主張し、その内容を全て参照により本出願に組み込むものとする。
【０００２】
［技術分野］
この開示は、ビデオ圧縮技術を対象とする。特に、本開示は、多目的ビデオ符号化（ＶＶＣ）などの高効率ビデオ符号化（ＨＥＶＣ）を超えるビデオ符号化／デコード技術を含む次世代のビデオ符号化技術を対象とする。ＶＶＣは、現在開発中のビデオ符号化規格である。開示された主題は、ＶＶＣのコンテキストで使用されてもよい。より具体的には、本開示の一態様は、１つの正規直交変換をより大きい正規直交変換に埋め込むことに基づいてエンコードまたはデコードするための方法、デバイスおよびコンピュータ媒体を対象とする。
【背景技術】
【０００３】
何十年にもわたって、動き補償を伴うインターピクチャ予測を使用するビデオ符号化およびデコードが知られている。非圧縮デジタルビデオは、一連のピクチャで構成されることができ、各ピクチャは、例えば、１９２０×１０８０の輝度サンプルと関連する色差サンプルの空間次元を持っている。該一連のピクチャは、例えば毎秒６０ピクチャまたは６０ヘルツ（Ｈｚ）の固定または可変ピクチャレート（非公式にはフレームレートとも呼ばれる）を持つことができる。非圧縮ビデオには、顕著なビットレート要件がある。例えば、サンプルあたり８ビットでの１０８０ｐ６０  ４：２：０ビデオ（６０Ｈｚフレームレートでの１９２０×１０８０の輝度サンプル解像度）には、１．５Ｇｂｉｔ／ｓに近い帯域幅が必要である。このようなビデオを１時間使用するには、６００ＧＢｙｔｅを超えた記憶領域が必要である。
【０００４】
ビデオ符号化およびデコードの１つの目的は、圧縮によって入力ビデオ信号の冗長性を減らすことであり得る。圧縮は、前述の帯域幅または記憶領域の要件を、場合によっては２桁以上削減するのに役立つ。可逆圧縮と非可逆圧縮の両方、およびそれらの組み合わせを使用することができる。可逆圧縮とは、圧縮された元の信号から元の信号の正確なコピーを再構築できる技法を指す。非可逆圧縮を使用する場合、再構築された信号は元の信号と同一ではない可能性があるが、元の信号と再構築された信号との間の歪みが十分小さくて、再構築された信号が意図された応用に役立てる。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量はアプリケーションによって異なる。例えば、特定のコンシューマストリーミングアプリケーションのユーザは、テレビコントリビューションアプリケーションのユーザよりも高い歪みを許容できる。達成可能な圧縮率は、受け入れ可能／許容可能な歪みが大きいほど、圧縮率が高くなることを反映することができる。
【０００５】
当業者は一般に、ビデオ圧縮／解凍技術を理解している。一般に、ビデオまたは画像データを圧縮するには、一連の機能ステップを実行して、圧縮されたビデオまたは画像データブロックを生成する。３６０°画像（例えば、３６０°カメラによって獲得される）などの画像は圧縮に適しているかもしれないが、読みやすくするために、ビデオデータブロックの圧縮について説明する。圧縮ビデオデータブロックを生成するには、従来の規格（例えば、Ｈ．２６４、Ｈ．２６５）でビデオソースから受信された非圧縮ビデオサンプルストリームは分割または構文解析されることができ、結果として、２つ以上の参照ピクチャのサンプルのブロックが得られる。
【０００６】
双方向予測は、サンプルの予測ブロックなどの予測ユニット（ＰＵ）が、２つ以上の参照ピクチャのサンプルの２つの動き補償ブロックから予測され得る技術に関連し得る。双方向予測は、ＭＰＥＧ−１でのビデオ符号化規格に最初に導入され、ＭＰＥＧ−２パート２（またはＨ．２６２）、Ｈ．２６４、Ｈ．２６５などの他のビデオ符号化技術および規格にも含まれたことがある。
【０００７】
圧縮ビデオファイルを解凍するとき、双方向予測されたＰＵのサンプルの再構築中に、各参照ブロックからの動き補償および補間された入力サンプルは、各参照ブロックごとに異なる可能性がある重み付け係数によって乗算されることができ、該２つの参照ブロックのそのような重み付けされたサンプル値を加算して再構築中のサンプルを生成することができる。このようなサンプルは、ループフィルタリングなどのメカニズムでさらに処理されることができる。
【０００８】
ＭＰＥＧ―１およびＭＰＥＧ―２では、再構築中のＰＵが属するピクチャと２つの参照ピクチャとの間の相対的な時間的距離に基づいて、重み付け係数を決定することができる。これが可能となるのは、ＭＰＥＧ−１およびＭＰＥＧ−２では、２つの参照ＩまたはＰピクチャのうちの１つが再構築中のＢピクチャの「過去」にあり、もう１つが「未来」（提示順で）にあったためであり、また、ＭＰＥＧ−１およびＭＰＥＧ−２では、再構築中の如何なるピクチャに対してその参照ピクチャと関連して明確なタイミング関係が確立されていたためである。
【０００９】
Ｈ．２６４以降、双方向予測ピクチャの参照ピクチャ選択の概念が緩和されたため、参照ピクチャは、デコード順で以前にあるだけでよく、提示順で以前にある必要はなくなった。さらに、Ｈ．２６４も、Ｈ．２６５も、時間領域での制約された／固定されたピクチャ間隔を必要としないという点で、時間の概念も緩和された。したがって、デコーダは、ビットストリームで使用可能なタイミング情報に基づいて重み付け係数を計算することができなくなった。代わりに、Ｈ．２６４およびＨ．２６５は、双方向予測ピクチャの参照サンプルのための重み付け係数として「デフォルト」０．５を含む。このデフォルトは、ｐｒｅｄ＿ｗｅｉｇｈｔ＿ｔａｂｌｅ（）と呼ばれるスライスヘッダで使用可能な構文で上書きされることができる。デフォルト０．５またはｐｒｅｄ＿ｗｅｉｇｈｔ＿ｔａｂｌｅにおける情報は、特定のスライス内のすべての双方向予測ＰＵに適用され得る。
【００１０】
非特許文献１には、Ｈ．２６５／ＨＥＶＣ規格が示されている。しかしながら、圧縮能力がＨＥＶＣ規格（その拡張を含む）の圧縮能力を大幅に上回る将来のビデオ符号化技術の標準化の必要性は、本発明者らによって研究されてきた。
【００１１】
非特許文献２は、バージョンＶＴＭ（ＶＶＣテストモデル）を備えた多目的ビデオ符号化（ＶＶＣ）と呼ばれるＨＥＶＣを超える次世代ビデオ符号化のための最近開始された標準化フォーマットを開示している。ＶＶＣは一般に、１０ビット整数行列を使用して大きい（例えば、６４点以上の）変換コアを提供する。
【００１２】
［発明が解決しようとする課題］
高速な方法が広く研究されてきたＤＣＴ―２とは異なり、ＤＳＴ―７の実施は、ＤＣＴ―２、例えば、非特許文献２のＶＴＭ１に基づく行列乗算よりも遥かに効率が悪い。非特許文献３では、ＤＣＴ−２、ＤＣＴ−３、ＤＳＴ−２およびＤＳＴ−３を含むＤＣＴ−２ファミリーの変換に調整ステージを適用することにより、ＪＥＭ７における異なるタイプのＤＣＴおよびＤＳＴを近似する方法が提案されており、調整ステージは、比較的少ない演算数を必要とするスパース行列を使用した行列乗算を指す。非特許文献４では、２Ｎ＋１点離散フーリエ変換（ＤＦＴ）を用いてＮ点ＤＳＴ−７を実施する方法が提案されている。
【００１３】
しかしながら、実際の実施のために追加の変換コアをオンチップメモリに記憶する必要があるとともに、変換タイプをあるブロックから別のブロックに切り替えるときに変換コアをロードする必要があるため、適応多重変換（ＡＭＴ）における追加の変換タイプによって複雑さおよび実施コストが増加する。ＨＥＶＣでは、小さいＤＣＴ−２変換は大きいＤＣＴ−２変換の一部であり、これは、異なるサイズの変換を実施するために同じロジックの再利用をサポートする。しかし、ＡＭＴでは、ＤＣＴ−２を除き、このような機能が欠落しているため、大きい変換に小さい変換を再利用することはできず、その場合は、異なるサイズの変換を実施するには、異なるロジックを設計する必要があることを意味する。
【００１４】
ＨＥＶＣにおけるＤＣＴ―２は、行列乗算と部分バタフライとの間の同一の出力、すなわち、デュアル実装をサポートする部分バタフライを使用して実施される。しかしながら、依然として計算負担であるハーフサイズの行列乗算も必要であり、例えば、３２点ＨＥＶＣ  ＤＣＴ−２の部分バタフライには、２×２、４×４、８×８、１６×１６の行列乗算が必要である。
【関連技術のリスト】
【００１５】
【非特許文献１】“Transform design for HEVC with 16 bit intermediate datarepresentation”; published by: Joint Collaborative Team on Video Coding (JCT-VC) ofITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 5th Meeting: Geneva, CH, March16-23, 2011 (Document: JCTVC-E243)。Ｈ．２６５／ＨＥＶＣ（高効率ビデオ符号化）規格は、ＩＴＵ−Ｔ  ＶＣＥＧ（Ｑ６／１６）ＩＳＯ／ＩＥＣ  ＭＰＥＧ（ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１）によって発刊されたバージョン１（２０１３）、バージョン２（２０１４）、バージョン３（２０１５）、およびバージョン４（２０１６）を含み得る。
【００１６】
【非特許文献２】“Algorithm description for Versatile Video Coding and Test Model 1(VTM 1)”; published by Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3and ISO/IEC JTC 1/SC 29/WG 11, 10thMeeting: San Diego, US, April 10-20, 2018 (Document: JVET-J1002-v2).
【００１７】
【非特許文献３】A.Said, H.Egilmez, V.Seregin,M.Karczewicz, “Complexity Reduction for Adaptive Multiple Transforms (AMTs) usingAdjustment Stages”, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 andISO/IEC JTC 1/SC 29/WG 11, San Diego, US, 10-20 Apr. 2018 (Document:JVET-J0066).
【００１８】
【非特許文献４】M.Koo, J.Heo, J.Nam, N.Park,J.Lee, J.Choi, S.Yoo, H.Jang, L.Li, J.Lim, S.Paluri, M.Salehifar, S.Kim, “Descriptionof SDR video coding technology proposal by LG Electronics,” Joint VideoExploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, SanDiego, US, 10-20 Apr. 2018 (Document: JVET-J0017).
【発明の概要】
【００１９】
本開示の一態様によれば、デコードまたはエンコード方法は、一つ又は複数の非再帰的変換をより大きい再帰的変換に埋め込むことにより、新しいマルチ変換データ構造を生成するステップを含み得る。前記方法は、圧縮されたビデオまたは画像データブロック、もしくは非圧縮であるビデオまたは画像データブロックのうちの１つである、エンコードまたはデコード用のターゲットデータブロックに関する情報を受信するステップをさらに含み得る。前記デコードまたはエンコード方法は、前記ターゲットデータブロックに対する前記エンコードまたはデコードに再帰的変換を使用するかそれとも非再帰的変換を使用するかを判定するステップをさらに含み得る。前記デコードまたはエンコード方法は、前記判定の結果が、前記再帰的変換を使用する場合、前記マルチ変換データ構造を使用して前記再帰的変換を生成し、生成された前記再帰的変換を使用して前記ターゲットデータブロックをエンコードまたはデコードさせる情報を発生または送信するステップをさらに含み得る。前記エンコードまたはデコード方法は、前記マルチ変換データ構造に埋め込まれた前記一つ又は複数の非再帰的変換のうちの１つを使用して前記ターゲットデータブロックをエンコードまたはデコードさせる情報を発生または送信するステップをさらに含み得る。
【００２０】
前記エンコードまたはデコード方法は、前記マルチ変換データ構造の前記一つ又は複数の非再帰的変換のうちの１つの少なくとも一部が、前記マルチ変換データ構造の前記より大きい再帰的変換の半分の少なくとも一部に埋め込まれているステップをさらに含み得る。
【００２１】
本開示の一態様によれば、装置は、コンピュータプログラムコードを記憶するように構成される少なくとも１つのメモリと、前記少なくとも１つのメモリにアクセスし、前記コンピュータプログラムコードに従って動作するように構成される少なくとも１つのプロセッサと、を備えてもよい。前記コンピュータプログラムコードは、第１の適用コード、第２の適用コード、第３の適用コード、第４の適用コード、第５の適用コード、および第６の適用コードを含み得るが、含まれ得るコードセグメントの数は限定されていない。
【００２２】
第１の適用コードは、一つ又は複数の非再帰的変換をより大きい再帰的変換に埋め込むことにより、新しいマルチ変換データ構造を生成するように構成され得る。第２の適用コードは、圧縮されたビデオまたは画像データブロック、もしくは非圧縮であるビデオまたは画像データブロックのうちの１つである、エンコードまたはデコード用のターゲットデータブロックに関する情報を前記少なくとも１つのプロセッサに受信させるように構成され得る。第３の適用コードは、前記ターゲットデータブロックに対する前記エンコードまたはデコードのために、前記ターゲットデータブロックに対する前記エンコードまたはデコードに再帰的変換を使用するかそれとも非再帰的変換を使用するかを前記少なくとも１つのプロセッサに判定させるように構成され得る。
【００２３】
第４の適用コードは、前記判定の結果が、前記再帰的変換を使用する場合、前記マルチ変換データ構造を使用して前記再帰的変換を生成し、生成された前記再帰的変換を使用して前記ターゲットデータブロックをエンコードまたはデコードさせる情報を発生または送信することを前記少なくとも１つのプロセッサに実行させるように構成され得る。第５の適用コードは、前記判定の結果が、前記マルチ変換データ構造の前記非再帰的変換を使用する場合、少なくとも一部が前記マルチ変換データ構造の前記より大きい再帰的変換の半分の少なくとも一部に埋め込まれている、前記マルチ変換データ構造に埋め込まれた前記一つ又は複数の非再帰的変換のうちの１つを使用して前記ターゲットデータブロックをエンコードまたはデコードさせる情報を前記少なくとも１つのプロセッサに引き起こさせるまたは送信させるように構成され得る。
【００２４】
エンコードまたはデコードのための装置は、前記マルチ変換データ構造の前記一つ又は複数の非再帰的変換のうちの１つの少なくとも一部が、前記マルチ変換データ構造の前記より大きい再帰的変換の半分の少なくとも一部に埋め込まれることをさらに含み得る。
【００２５】
本開示の一態様によれば、非一時的なコンピュータ読取可能な記憶媒体は、一つ又は複数のプロセッサにいくつかのステップを実行させる命令を記憶することができる。前記いくつかのステップは、一つ又は複数の非再帰的変換をより大きい再帰的変換に埋め込むことにより、新しいマルチ変換データ構造を生成するステップを含み得る。前記いくつかのステップは、圧縮されたビデオまたは画像データブロック、もしくは非圧縮であるビデオまたは画像データブロックのうちの１つである、エンコードまたはデコード用のターゲットデータブロックに関する情報を受信するステップをさらに含み得る。前記いくつかのステップは、前記ターゲットデータブロックに対する前記エンコードまたはデコードのために、前記ターゲットデータブロックに対して前記エンコードまたはデコードに再帰的変換を使用するかそれとも非再帰的変換を使用するかを判定するステップをさらに含み得る。
【００２６】
前記いくつかのステップは、前記判定の結果が、前記再帰的変換を使用する場合、前記マルチ変換データ構造を使用して前記再帰的変換を生成し、生成された前記再帰的変換を使用して前記ターゲットデータブロックをエンコードまたはデコードさせる情報を発生または送信するステップをさらに含み得る。前記いくつかのステップは、前記判定の結果が、前記マルチ変換データ構造の前記非再帰的変換を使用する場合、前記マルチ変換データ構造に埋め込まれた前記一つ又は複数の非再帰的変換のうちの１つを使用して前記ターゲットデータブロックをエンコードまたはデコードさせる情報を発生または送信し、前記マルチ変換データ構造の前記一つ又は複数の非再帰的変換のうちの１つの少なくとも一部が、前記マルチ変換データ構造の前記より大きい再帰的変換の半分の少なくとも一部に埋め込まれるステップをさらに含み得る。
【図面の簡単な説明】
【００２７】
開示される主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【００２８】
【図１】一実施形態による通信システムの簡略化されたブロック図の概略図である。
【００２９】
【図２】一実施形態によるストリーミングシステムの簡略化されたブロック図の概略図である。
【００３０】
【図３】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
【００３１】
【図４】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【００３２】
【図５】一実施形態によるエンコードまたはデコードの例示的な方法の概略図である。
【００３３】
【図６Ａ】６４点ＤＣＴ―２の第２、第４、第６および第８の基底、３２点ＤＣＴ―８の第１、第２、第３および第４の基底を示すグラフである。
【００３４】
【図６Ｂ】６４点ＤＣＴ−２の第２、第４、第６および第８の基底、スケーリングされた３２点ＤＣＴ−８の第１、第２、第３および第４の基底、逆符号を有するスケーリングされた３２点ＤＣＴ−８の反転された第１、第２、第３および第４の基底を示すグラフである。
【００３５】
【図７】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【００３６】
図１は、本開示の実施形態による通信システム（１００）の簡略ブロック図を示している。システム（１００）は、ネットワーク（１５０）を介して相互接続される少なくとも２つの端末（１１０，１２０）を含み得る。データの単方向送信の場合、第１の端末（１１０）は、ネットワーク（１５０）を介して他の端末（１２０）に送信するためにビデオデータをローカル位置で符号化し得る。第２の端末（１２０）は、ネットワーク（１５０）から他の端末の符号化ビデオデータを受信し、符号化されたデータをデコードし、復元されたビデオデータを表示することができる。単方向のデータ送信は、メディア供給アプリケーションなどで一般的である。
【００３７】
図１は、例えば、ビデオ会議中に発生し得る符号化ビデオの双方向送信をサポートするように提供される第２の端末のペア（１３０，１４０）を示している。データの双方向送信の場合、各端末（１３０，１４０）は、ネットワーク（１５０）を介して他の端末に送信するためにローカル位置で獲得されたビデオデータを符号化し得る。各端末（１３０，１４０）はまた、他の端末によって送信された符号化ビデオデータを受信することができ、符号化されたデータをデコードすることができ、復元されたビデオデータをローカル表示デバイスに表示することができる。
【００３８】
図１において、端末（１１０〜１４０）は、ラップトップ１１０、サーバ１２０、およびスマートフォン１３０と１４０として示されているが、しかし、本開示の原理はこれに制限されることはない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤー、および／または専用のビデオ会議機器を含むがこれらに限定されない他の機器における用途を見出す。ネットワーク（１５０）は、例えば有線および／または無線通信ネットワークを含む、端末（１１０〜１４０）間で符号化ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク（１５０）は、回線交換および／またはパケット交換チャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび／またはインターネットを含む。本議論の目的のために、ネットワーク（１５０）のアーキテクチャおよびトポロジーは、以下で本明細書において説明されない限り、本開示の操作にとって重要でないかもしれない。
【００３９】
図２は、開示された主題の適用の例として、ストリーミング環境におけるビデオエンコーダおよびデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルＴＶ、および、ＣＤ、ＤＶＤ、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶など、を含む他のビデオ対応アプリケーションに等しく適用可能である。
【００４０】
ストリーミングシステムは、例えば、非圧縮ビデオサンプルストリーム（２０２）を作成し得るデジタルカメラなどのビデオソース（２０１）を含むことができる獲得サブシステム（２１３）を含み得る。エンコードされたビデオビットストリームと比較して高データ量を強調するために太線で示されたサンプルストリーム（２０２）は、カメラ（２０１）に結合されたエンコーダ（２０３）によって処理されることができる。以下でより詳細に説明されるように、エンコーダ（２０３）は、開示された主題の態様を実現できるまたは実施できるハードウェア（例えば、プロセッサまたは回路およびメモリ）、ソフトウェア、またはそれらの組み合わせを含むことができる。エンコードされたビデオビットストリーム（２０４）は、サンプルストリームと比較して、より低いデータ量を強調するために細い線で示され、将来使うためにストリーミングサーバ（２０５）に記憶されることができる。一つ又は複数のストリーミングクライアント（２０６，２０８）は、ストリーミングサーバ（２０５）にアクセスして、エンコードされたビデオビットストリーム（２０４）のコピー（２０７，２０９）を検索することができる。クライアント（２０６）は、エンコードされたビデオビットストリーム（２０７）の入り方向コピーをデコードし、ディスプレイ（２１２）または他のレンダリングデバイス（示されていない）でレンダリングできる出方向ビデオサンプルストリーム（２１１）を作成するデコーダ（２１０）を含むことができる。
【００４１】
図３は、本開示の実施形態によるデコーダ（２１０）の機能ブロック図を示している。図３に示されるように、受信機（３１０）は、デコーダ（２１０）によるデコード対象となる一つ又は複数のコーデックビデオシーケンスを受信し得る。同一または別の実施形態では、一度に１つの符号化ビデオシーケンスを受信してもよく、各符号化ビデオシーケンスのデコードは、他の符号化ビデオシーケンスから独立している。符号化ビデオシーケンスは、エンコードされたビデオデータを記憶する記憶装置へのハードウェア／ソフトウェアリンクであり得るチャネル（３１２）から受信されることができる。受信機（３１０）は、それぞれの使用エンティティ（示されていない）に転送され得る他のデータ、例えば、符号化オーディオデータおよび／または補助データストリームとともに、エンコードされたビデオデータを受信し得る。受信機（３１０）は、符号化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ（３１５）は、受信機（３１０）とエントロピーデコーダ／パーサ（３２０）（以降、「パーサ」）との間に結合されてもよい。受信機（３１０）が十分な帯域幅および可制御性を有する記憶／転送装置から、または等同期ネットワークからデータを受信する際に、バッファ（３１５）は必要とされないことがあり、または小さくされることがある。インターネットなどのベストエフォートパケットネットワークで使用するために、比較的大きくされることができ、有利には適応サイズであることができるバッファ（３１５）が必要とされることがある。
【００４２】
ビデオデコーダ（３１０）は、エントロピー符号化ビデオシーケンスからシンボル（３２１）を再構築するパーサ（３２０）を含み得る。これらのシンボルのカテゴリには、デコーダ（２１０）の操作を管理するために使用される情報、および、デコーダの不可欠な部分ではないが、図２および図３に示されように、デコーダに結合されることができるディスプレイ（２１２）のようなレンダリングデバイスを制御する潜在的情報が含まれる。レンダリングデバイスの制御情報は、付加情報（ＳＥＩメッセージ）またはビデオ表示情報（ＶＵＩ）パラメータセットフラグメント（示されていない）の形態であってよい。パーサ（３２０）は、受信された符号化ビデオシーケンスを構文解析／エントロピーデコードすることができる。符号化ビデオシーケンスの符号化は、ビデオ符号化技術または規格に合わせることができ、可変長符号化、ハフマン符号化、コンテキスト依存性を有するもしくは有さない算術符号化などを含む当業者によく知られる原理に従うことができる。パーサ（３２０）は、グループに対応する少なくとも１つのパラメータに基づいて、符号化ビデオシーケンスからビデオデコーダ内の画素のサブグループのうちの少なくとも１つのサブグループパラメータのセットを抽出することができる。サブグループは、ピクチャ群（ＧＯＰ）、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット（ＣＵ）、ブロック、変換ユニット（ＴＵ）、予測ユニット（ＰＵ）などを含むことができる。エントロピーデコーダ／パーサは、符号化ビデオシーケンスから変換係数、量子化パラメータ値、動きベクトルなどのような情報をも抽出することができる。
【００４３】
パーサ（３２０）は、シンボル（３２１）を作成するために、バッファ（３１５）から受信されたビデオシーケンスに対してエントロピーデコード／構文解析操作を実行することができる。シンボル（３２１）の再構築は、符号化ビデオピクチャまたはその一部（インターおよびイントラピクチャ、インターおよびイントラブロックなど）のタイプ、および他の要因に応じて、複数の異なるユニットを含み得る。どのユニットが、どのように関与するかは、符号化ビデオシーケンスからパーサ（３２０）によって構文解析されたサブグループ制御情報によって制御されることができる。パーサ（３２０）と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために示されていない。
【００４４】
既に述べた機能ブロックに加えて、デコーダ２１０は、以下で説明されるように、概念的にいくつかの機能ユニットに細分されることができる。商業的な制約の下で実際の実施操作にあたっては、これらのユニットの多くは互いに密接に相互作用し、少なくとも一部は互いに統合することができる。しかしながら、開示された主題の説明の目的で、以下の機能ユニットへの概念的な細分は、適切に行われる。
【００４５】
第１のユニットは、スケーラ／逆変換ユニット（３５１）であり得る。スケーラ／逆変換ユニット（３５１）は、量子化された変換係数を、使用する変換、ブロックサイズ、量子化因子、量子化スケーリングマトリックスなどを含む制御情報とともに、シンボル（３２１）としてパーサ（３２０）から受信することができる。これは、アグリゲータ（３５５）に入力可能なサンプル値を含むブロックを出力することができる。
【００４６】
場合によっては、スケーラ／逆変換ユニット（３５１）の出力サンプルは、イントラ符号化ブロック、すなわち、予め再構築されたピクチャからの予測情報を使用していないが、現在ピクチャの予め再構築された部分からの予測情報を使用できるブロックに関係し得る。このような予測情報は、イントラピクチャ予測ユニット（３５２）によって提供されることができる。場合によっては、イントラピクチャ予測ユニット（３５２）は、現在の（一部再構築された）ピクチャ（３５６）から取り出された周囲の既に再構築された情報を用いて、再構築中のブロックの同じサイズおよび形状のブロックを生成する。アグリゲータ（３５５）は、場合によっては、サンプルごとに、イントラ予測ユニット（３５２）が生成した予測情報を、スケーラ／逆変換ユニット（３５１）によって提供される出力サンプル情報に追加する。
【００４７】
他の場合では、スケーラ／逆変換ユニット（３５１）の出力サンプルは、インター符号化されたブロック、および潜在的に動き補償されたブロックに関係し得る。このような場合、動き補償予測ユニット（３５３）は、参照ピクチャメモリ（３５７）にアクセスして、予測に使用されるサンプルを取り出すことができる。取り出されたサンプルをブロックに関係するシンボル（３２１）に従って動き補償した後、これらのサンプルは、出力サンプル情報を生成するように、アグリゲータ（３５５）によってスケーラ／逆変換ユニットの出力に追加されることができる（この場合、残差サンプルまたは残差信号と呼ばれる）。動き補償予測ユニットが予測サンプルを取り出す参照ピクチャメモリ内のアドレスは、動きベクトルによって制御されることができ、例えばＸ、Ｙ、および参照ピクチャ成分を有し得るシンボル（３２１）の形態で動き補償予測ユニットに利用可能な動きベクトルによって制御されることができる。動き補償は、サブサンプル正確な動きベクトルが使用中であるときに参照ピクチャメモリから取り出されたサンプル値の補間、動きベクトル予測メカニズムなどをも含むことができる。
【００４８】
アグリゲータ（３５５）の出力サンプルは、ループフィルタユニット（３５６）において様々なループフィルタリング技術を受けられる。ビデオ圧縮技術は、符号化されたビデオビットストリームに含まれるパラメータによって制御され、パーサ（３２０）からのシンボル（３２１）としてループフィルタユニット（３５６）に利用可能とされたループ内フィルタ技術を含むことができるが、しかし、符号化ピクチャまたは符号化ビデオシーケンスの（デコード順で）前の部分のデコード中に取得されたメタ情報に応答することができるとともに、予め再構築されループフィルタリングされたサンプル値に応答することもできる。
【００４９】
ループフィルタユニット（３５６）の出力は、レンダリングデバイス（２１２）へ出力されることができるとともに、将来のインターピクチャ予測で使用するために参照ピクチャメモリ（３５６）に記憶されることができるサンプルストリームであり得る。
【００５０】
特定の符号化ピクチャは、完全に再構築されると、将来の予測のために参照ピクチャとして使用されることができる。符号化ピクチャが完全に再構築され、該符号化ピクチャが（例えば、パーサ（３２０）によって）参照ピクチャとして識別されると、現在参照ピクチャ（３５６）は、参照ピクチャバッファ（３５７）の一部となり得、次の符号化ピクチャの再構築を開始する前に新しい現在ピクチャメモリを再割当てすることができる。
【００５１】
ビデオデコーダ３２０は、ＩＴＵ―Ｔ  Ｒｅｃ．Ｈ．２６５などの規格で文書化され得る所定のビデオ圧縮技術に従って、デコード操作を実行し得る。符号化ビデオシーケンスが、ビデオ圧縮技術ドキュメントまたは規格、特にその中のプロファイルドキュメントに指定されたようにビデオ圧縮技術または規格の構文に準拠しているという意味で、符号化ビデオシーケンスは、使用されているビデオ圧縮技術ドキュメントまたは規格によって指定される構文に準拠し得る。符号化ビデオシーケンスの複雑さがビデオ圧縮技術または規格のレベルで定義される範囲内にあることも、コンプライアンスに必要である。場合によっては、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート（例えば、１秒あたりのメガサンプルで測定される）、および／または最大参照ピクチャサイズがレベルによって制限される。レベルによって設定された制限は、場合によっては、符号化ビデオシーケンスでシグナリングされたＨＲＤバッファ管理のための仮想参照デコーダ（ＨＲＤ）仕様およびメタデータによってさらに制限され得る。
【００５２】
一実施形態では、受信機（３１０）は、エンコードされたビデオとともに追加の（冗長な）データを受信することができる。追加のデータは、符号化ビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切にデコードし、および／または、元のビデオデータをより正確に再構築するためにビデオデコーダ（３２０）によって使用され得る。追加のデータは、例えば、時間的、空間的、またはＳＮＲエンハンスメントレイヤ、冗長スライス、冗長ピクチャ、前方向誤り訂正コードなどの形態にされることができる。
【００５３】
図４は、本開示の実施形態によるエンコーダ（２０３）の機能ブロック図であり得る。
【００５４】
エンコーダ（２０３）は、エンコーダ（２０３）によって符号化されるビデオ画像を獲得し得る（エンコーダの一部ではない）ビデオソース（２０１）からビデオサンプルを受信し得る。
【００５５】
ビデオソース（２０１）は、エンコーダ（２０３）によって符号化されるソースビデオシーケンスを、任意の適切なビット深度（例えば、８ビット、１０ビット、１２ビット、・・・）、任意の色空間（例えば、ＢＴ．６０１  Ｙ  ＣｒＣＢ、ＲＧＢ、・・・）および任意の適切なサンプリング構造（例えば、Ｙ  ＣｒＣｂ  ４：２：０、Ｙ  ＣｒＣｂ  ４：４：４）であり得るデジタルビデオサンプルストリームの形態で提供し得る。メディア供給システムでは、ビデオソース（２０１）は、事前に準備されたビデオを記憶するメモリおよびプロセッサを含み得る記憶装置であり得る。ビデオ会議システムでは、ビデオソース（２０１）は、ローカル画像情報をビデオシーケンスとして獲得するカメラを含み得る。ビデオデータは、順番に見たときに動きを与える複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、画素の空間アレイとして編成されてもよく、各画素は、使用中のサンプリング構造、色空間などに応じて一つ又は複数のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明では、サンプルを中心に説明する。
【００５６】
一実施形態によれば、エンコーダ（２０３）は、リアルタイムでまたはアプリケーションが要求する任意の他の時間制約の下でソースビデオシーケンスのピクチャを符号化し、符号化ビデオシーケンス（４４３）に圧縮することができる。適切な符号化速度を実施することは、コントローラ（４５０）の機能の１つである。コントローラは、以下で説明される他の機能ユニットを制御し、これらのユニットに機能的に結合されている。分かりやすくするために、カップリングは示されていない。コントローラによって設定されるパラメータは、レート制御関連パラメータ（例えば、ピクチャスキップ、量子化器、レート歪み最適化技法のラムダ値）、ピクチャサイズ、ピクチャグ群（ＧＯＰ）レイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ（４５０）の他の機能が特定のシステム設計に対して最適化されたエンコーダ（２０３）に関係し得るので、当業者はそれらを容易に識別することができる。
【００５７】
一部のビデオエンコーダは、当業者が「符号化ループ」として容易に認識するもので動作する。過度に簡略化した説明として、符号化ループは、符号化対象となる入力ピクチャおよび参照ピクチャに基づいてシンボルを作成する役割を担うビデオコーダ（４３０）（以降、「ソースコーダ」）のエンコード部分と、参照ピクチャと、シンボルを再構築して、サンプルデータを作成するエンコーダ（２０３）に埋め込まれた（ローカル）デコーダ（４３３）から構成されることができ、ここで、前記サンプルデータは（リモート）デコーダにより作成してもよい（シンボルと符号化されたビデオビットストリーム間の如何なる圧縮は、開示された主題で考慮されるビデオ圧縮技術では可逆であるためである）。再構築されたサンプルストリームは、参照ピクチャメモリ（４３４）に入力される。シンボルストリームのデコードにより、デコーダの位置（ローカルまたはリモート）に関係なくビット正確な結果が得られるため、参照ピクチャバッファのコンテンツもローカルエンコーダとリモートエンコーダとの間でビットが正確である。言い換えれば、エンコーダの予測部分は、参照ピクチャサンプルとして、デコード中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値を「見る」。参照ピクチャの同期性の該基本原理（および、例えば、チャネルエラーに起因して同期性を維持できない場合に生じるドリフト）は、当業者によく知られている。
【００５８】
「ローカル」デコーダ（４３３）の動作は、前文で図３に関連して既に詳細に説明された、「リモート」デコーダ（２１０）の動作と同様であり得る。しかしながら、図３も簡単に参照し、シンボルが利用可能であり、エントロピーコーダ（４４５）およびパーサ（３２０）による符号化ビデオシーケンスへのシンボルのエンコード／デコードは可逆であり得るので、デコーダ（２１０）のエントロピーデコード部分（チャネル（３１２）、受信機（３１０）、バッファ（３１５）、およびパーサ（３２０）を含む）は、ローカルデコーダ（４３３）では完全に実施されない場合がある。
【００５９】
デコーダに存在する構文解析／エントロピーデコード以外の任意のデコーダ技術も、対応するエンコーダに実質的に同一の機能形式で必ず存在する必要があることがこの時点で行える観察である。エンコーダ技術の説明は、説明されたデコーダ技術の逆である。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【００６０】
その操作の一部として、ソースコーダ（４３０）は、「参照フレーム」として指定されたビデオシーケンスからの一つ又は複数の予め符号化されたフレームを参照して入力フレームを予測的に符号化する動き補償予測符号化を実行してもよい。このようにして、符号化エンジン（４３２）は、入力フレームの画素ブロックと、入力フレームへの予測参照として選択され得る参照フレームの画素ブロックとの間の差異を符号化する。
【００６１】
ローカルビデオデコーダ（４３３）は、ソースコーダ（４３０）によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化ビデオデータをデコードし得る。符号化エンジン（４３２）の操作は、有利にはロッシープロセスであり得る。符号化ビデオデータがビデオデコーダ（図４に示されていない）でデコードされ得るとき、再構築されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ（４３３）は、ビデオデコーダによって参照フレームに対して実行され得るデコードプロセスを複製し、再構築された参照フレームを参照ピクチャキャッシュ（４３４）に記憶させることができる。このようにして、エンコーダ（２０３）は、遠端ビデオデコーダによって取得される再構築された参照フレームと共通するコンテンツ（送信エラー無し）を有する再構築された参照フレームのコピーをローカルに記憶し得る。
【００６２】
予測器（４３５）は、符号化エンジン（４３２）の予測検索を実行することができる。すなわち、符号化対象となる新しいフレームについて、予測器（４３５）は、（候補の参照画素ブロックとしての）サンプルデータ、または、参照ピクチャの動きベクトル、ブロック形状など、新しいピクチャの適切な予測基準として機能し得る特定のメタデータを参照ピクチャメモリ（４３４）で検索することができる。予測器（４３５）は、適切な予測基準を見つけるために、サンプルブロックに対して画素ブロックごとに操作することができる。場合によっては、予測器（４３５）で取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ（４３４）に記憶された複数の参照ピクチャから引き出された予測基準を有してもよい。
【００６３】
コントローラ（４５０）は、例えば、ビデオデータをエンコードするために使用されるパラメータおよびサブグループパラメータの設定を含む、ビデオコーダ（４３０）の符号化操作を管理することができる。
【００６４】
前述のすべての機能ユニットの出力は、エントロピーコーダ（４４５）においてエントロピー符号化を受けられる。エントロピーコーダは、例えば、ハフマン符号化、可変長符号化、算術符号化など、当業者に知られている技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換することができる。
【００６５】
送信機（４４０）は、エンコードされたビデオデータを記憶する記憶装置へのハードウェア／ソフトウェアリンクであり得る通信チャネル（４６０）を介した送信の準備のために、エントロピーコーダ（４４５）によって作成された符号化ビデオシーケンスをバッファリングすることができる。送信機（４４０）は、ビデオコーダ（４３０）からの符号化ビデオデータを、送信されるべき他のデータ、例えば、符号化オーディオデータおよび／または補助データストリーム（ソースは示されていない）とマージすることができる。
【００６６】
コントローラ（４５０）は、エンコーダ（２０３）の操作を管理することができる。符号化中、コントローラ（４５０）は、各符号化ピクチャに特定の符号化されたピクチャタイプを割り当てることができ、これは、それぞれのピクチャに適用され得る符号化技法に影響を及ぼし得る。例えば、ピクチャは、多くの場合、例えばイントラピクチャ（Ｉピクチャ）、予測ピクチャ（Ｐピクチャ）および双方向予測ピクチャ（Ｂピクチャ）から以下のフレームタイプの１つとして割り当てられる。
【００６７】
イントラピクチャ（Ｉピクチャ）は、予測のソースとしてシーケンス内の他のいかなるフレームを使用せずに符号化およびデコードされ得るものであり得る。一部のビデオコーデックは、例えば、デコーダ復号動作の瞬時リフレッシュピクチャ（Instantaneous Decoder Refresh Picture）など、異なるタイプのイントラピクチャを許容する。当業者は、Ｉピクチャのそれらの変形およびそれらのそれぞれの用途および特徴を知っている。
【００６８】
予測ピクチャ（Ｐピクチャ）は、各ブロックのサンプル値を予測するために最大１つの動きベクトルおよび参照インデックスを使用したイントラ予測またはインター予測により符号化およびデコードされ得るものであり得る。
【００６９】
双方向予測ピクチャ（Ｂピクチャ）は、各ブロックのサンプル値を予測するために最大２つの動きベクトルおよび参照インデックスを使用したイントラ予測またはインター予測により符号化およびデコードされ得るものであり得る。同様に、多重予測ピクチャは、単数のブロックの再構築のために２つを超えた参照ピクチャおよび関連メタデータを使用することができる。
【００７０】
ソースピクチャは、一般に、複数のサンプルブロック（例えば、それぞれ４×４、８×８、４×８、または１６×１６サンプルのブロック）に空間的に細分され、ブロック単位で符号化され得る。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定された他の（既に符号化された）ブロックを参照して予測的に符号化され得る。例えば、Ｉピクチャのブロックは、非予測的に符号化されてもよく、或いは、同一のピクチャの既に符号化されたブロック（空間予測またはイントラ予測）を参照して予測的に符号化されてもよい。Ｐピクチャの画素ブロックは、１つの予め符号化された参照ピクチャを参照して、空間予測または時間予測を介して非予測的に符号化され得る。Ｂピクチャのブロックは、１つまたは２つの予め符号化された参照ピクチャを参照して、空間予測または時間予測を介して非予測的に符号化され得る。
【００７１】
ビデオコーダ（４３０）は、ＩＴＵ―Ｔ  Ｒｅｃ．Ｈ．２６５などの予め設定されたビデオ符号化技術または規格に従って、符号化操作を実行することができる。この操作において、ビデオコーダ（４３０）は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化操作を含む、様々な圧縮操作を実行することができる。したがって、符号化ビデオデータは、使用されているビデオ符号化技術または規格によって指定された構文に準拠する場合がある。
【００７２】
一実施形態では、送信機（４４０）は、エンコードされたビデオとともに追加のデータを送信することができる。ビデオコーダ（４３０）は、このようなデータを符号化ビデオシーケンスの一部として含み得る。追加のデータは、時間的／空間的／ＳＮＲエンハンスメントレイヤ、冗長なピクチャやスライスなどの他の形態での冗長データ、付加情報（ＳＥＩ）メッセージ、ビジュアル表示情報（ＶＵＩ）パラメータセットフラグメントなどを含み得る。
【００７３】
上述のように、符号化ビデオシーケンスの符号化は、ビデオ符号化技術または規格に合わせることができ、可変長符号化、ハフマン符号化、コンテキスト依存性を有するもしくは有さない算術符号化などを含む様々な原理に従うことができる。一部のストリーミングシステムでは、ビデオビットストリーム（２０４，２０７，２０９）は、特定のビデオ符号化／圧縮規格に従ってエンコードされることができる。これらの規格の例には、Ｈ．２６５のＩＴＵ−Ｔ  ＨＥＶＣ勧告が含まれる。
【００７４】
ＨＥＶＣでは、一次変換は、４点、８点、１６点、または３２点ＤＣＴ―２変換コア行列を有することができ、変換コア行列は、８ビット整数を用いて表されることができる（すなわち、８ビット変換コア行列）。以下に示されるように、小さいＤＣＴ−２のＨＥＶＣ変換コア行列は、大きいＤＣＴ−２の一部である。
【００７５】
４×４  ＤＣＴ―２変換
【数１】
2021520144.tif 000002
【００７６】
８×８  ＤＣＴ―２変換
【数２】
2021520144.tif 000003
【００７７】
１６×１６  ＤＣＴ―２変換
【数３】
2021520144.tif 000004
【００７８】
３２×３２  ＤＣＴ―２変換
【数４】
2021520144.tif 000005
【００７９】
以上で示されたように、ＤＣＴ―２コアのそれぞれは、対称性／反対称性特性を示している。これらの対称性／反対称性特性には、少なくとも次の３つの特徴（Ｆｅａｔｕｒｅ＃１〜＃３）が含まれる。Ｆｅａｔｕｒｅ＃１は、インデックス０、２、４、・・・を持つ偶数行は、係数番号Ｎ／２の前に対称点があるという状況で対称である点である。Ｆｅａｔｕｒｅ＃２は、インデックス１、３、５、７、・・・を持つ奇数行は、係数番号Ｎ／２の前に対称点があるという状況で反対称である点である。さらに、Ｆｅａｔｕｒｅ＃３は、Ｎ点ＤＣＴ−２コア（ＴＮで示される）が２Ｎ点ＤＣＴ−２（Ｔ２Ｎで示される）の一部であり、ＴＮｘ，ｙ＝Ｔ２Ｎｘ，２ｙであり、ただし、ｘ，ｙ＝０、１、・・・、Ｎ−１である点である。
【００８０】
上記対称性／反対称性特性（Ｆｅａｔｕｒｅ＃１および＃２）、および、Ｎ点ＤＣＴ―２と２Ｎ点ＤＣＴ―２（Ｆｅａｔｕｒｅ＃３）との間の関係に基づいて、いわゆる「部分バタフライ」の実施がサポートされ、操作回数（乗算、加算／減算、シフト）を減らすことができ、部分バタフライの実施を使用して、行列乗算の同一結果を得ることができる。ＨＥＶＣ変換設計に関する詳細は、非特許文献１に見出すことができる。
【００８１】
本開示では、変換基底のそれぞれが対称または反対称であり、かつＮ点変換が２Ｎ点変換の一部であれば、これは「再帰的変換」と呼ばれる。再帰的変換の例は、ＤＣＴ−２、アダマール変換、ＤＣＴ−１、ＤＳＴ−１、およびＤＳＴ−２である。ある再帰的変換の変換基底を並べ替えると、別の再帰的変換になる。
【００８２】
ＨＥＶＣで採用されているＤＣＴ―２および４×４  ＤＳＴ―７に加えて、適応多重変換（ＡＭＴ。或いは拡張多重変換（ＥＭＴ）としても知られており、或いは多重変換選択（ＭＴＳ）としても知られている）スキームは、インターおよびイントラの両方の符号化ブロックの残差符号化に対して提案されている。ＡＭＴは、ＨＥＶＣにおける現在の変換以外に、ＤＣＴ／ＤＳＴファミリーから選択された複数の変換を使用し得る。新しく導入された変換行列には、ＤＳＴ−７、ＤＣＴ−８、ＤＳＴ−１、ＤＣＴ−５が含まれる。
【００８３】
以下の表１は、選択されたＤＳＴ／ＤＣＴの例示的な基底関数を示す。
【００８４】
［表１］Ｎ点入力のためのＤＣＴ−ＩＩ／Ｖ／ＶＩＩＩおよびＤＳＴ−Ｉ／ＶＩＩの変換基底関数
【表１】
2021520144.tif 000006
【００８５】
変換行列の直交性を維持するために、変換行列は、ＨＥＶＣでの８ビットの代わりに１０ビット表現で、ＨＥＶＣでの変換行列よりも正確に量子化されてもよい。変換された係数の中間値を１６ビットの範囲内に保つために、水平および垂直変換後に、すべての係数は、現在のＨＥＶＣ変換で使用されている右シフトと比較して、さらに２ビット右シフトされる。ＡＭＴは、幅と高さの両方が６４以下の符号化ユニット（ＣＵ）に適用され得、ＡＭＴが適用されるか否かは、ＣＵレベルフラグによって制御され得る。ＣＵレベルフラグが０に等しい場合、ＤＣＴ−２をＣＵに適用して残差をエンコードすることができる。ＡＭＴ有効化されたＣＵ内の輝度符号化ブロックの場合、使用される水平および垂直変換を識別するために、２つの追加のフラグをシグナリングしてもよい。
【００８６】
イントラ残差符号化の場合、異なるイントラ予測モードの残差統計が異なるため、モード依存の変換候補選択処理を使用することができる。以下の表２に示されるように、３つの変換サブセットを定義することができる。
【００８７】
変換サブセットは、以下の表３に指定されるように、イントラ予測モードに基づいて選択され得る。
【００８８】
［表２］３つの事前定義された変換候補セット
【表２】
2021520144.tif 000007
【００８９】
サブセットの概念により、表３に基づいて、１に等しいＣＵレベルＡＭＴフラグを有するＣＵのイントラ予測モードを使用して変換サブセットを最初に識別することができる。その後、水平変換および垂直変換のそれぞれについて、「エラー！参照元が見つからない」に従って、識別された変換サブセット内の２つの変換候補のうちの１つを、フラグで明示的にシグナリングされることに基づいて選択することができる。
【００９０】
［表３］各イントラ予測モードのための選択された（Ｈ）水平および（Ｖ）垂直変換セット
【表３】
2021520144.tif 000008
【００９１】
しかしながら、インター予測残差の場合、ＤＳＴ―７およびＤＣＴ―８からなる１つの変換セットのみが、すべてのインターモードに、ならびに水平および垂直変換の両方に使用され得る。４つの追加の変換タイプ、つまりＤＳＴ−７、ＤＣＴ−８、ＤＳＴ−１およびＤＣＴ−５の中で、最も効率的に使用される変換タイプはＤＳＴ−７とＤＣＴ−８である。なお、ＤＣＴ−８は実質的にＤＳＴ−７基底を符号変更に伴って左右に反転しているため、ＤＣＴ−８とＤＳＴ−７は基本的に同じ変換基底を共有する場合がある。
【００９２】
ＤＳＴ―７の、基底ベクトルによって構成される行列である変換コアは、以下に示されるように表すこともできる。
【００９３】
４点ＤＳＴ―７：
【数５】
2021520144.tif 000009
【００９４】
８点ＤＳＴ―７：
【数６】
2021520144.tif 000010
【００９５】
１６点ＤＳＴ―７：
【数７】
2021520144.tif 000011
【００９６】
３２点ＤＳＴ―７：
【数８】
2021520144.tif 000012
【００９７】
６４点ＤＳＴ―７：
【数９】
2021520144.tif 000013
【数１０】
2021520144.tif 000014
【数１１】
2021520144.tif 000015
【数１２】
2021520144.tif 000016
【数１３】
2021520144.tif 000017
【数１４】
2021520144.tif 000018
【数１５】
2021520144.tif 000019
【数１６】
2021520144.tif 000020
【数１７】
2021520144.tif 000021
【数１８】
2021520144.tif 000022
【００９８】
変数ａ，ｂｃ，・・・ａａ，ａｂ，ａｃ，・・・，ｃｌは、表１に示されるＤＳＴ―７の公式に基づいて導出されることができる。
【００９９】
それらの値は、ＤＳＴ―７の異なるサイズの間で異なる可能性がある。例えば、「ａ」の値は、４点ＤＳＴ−７と８点ＤＳＴ−７とで異なる場合がある。
【０１００】
浮動小数点演算を回避するために、ＤＳＴ―７の変換コアは、ＨＥＶＣで使用されるＤＣＴ―２コアに類似し、６４・√（Ｎ‘）（８ビット変換コアに対応）または６４・√Ｎ（１０ビット変換コアに対応）などの事前定義された係数によってスケーリングされ、最も近い整数に丸められるか、或いは、＋１／−１などのオフセットによってさらにチューニングされてもよい。
【０１０１】
高速な方法が広く研究されてきたＤＣＴ−２とは異なり、ＤＳＴ−７の実施は、ＤＣＴ−２、例えば、非特許文献２のＶＴＭ１に基づく行列乗算よりも遥かに効率が悪い。
【０１０２】
非特許文献３では、ＤＣＴ―２、ＤＣＴ―３、ＤＳＴ―２およびＤＳＴ−３を含むＤＣＴ―２ファミリーの変換に調整ステージを適用することにより、ＪＥＭ７における異なるタイプのＤＣＴおよびＤＳＴを近似する方法が提案されており、調整ステージは、比較的少ない演算数を必要とするスパース行列を使用した行列乗算を指す。非特許文献４では、２Ｎ＋１点離散フーリエ変換（ＤＦＴ）を用いてＮ点ＤＳＴ−７を実施する方法が提案されている。
【０１０３】
しかしながら、実際の実施のために追加の変換コアをオンチップメモリに記憶する必要があるとともに、変換タイプをあるブロックから別のブロックに切り替えるときに変換コアをロードする必要があるため、ＡＭＴにおける追加の変換タイプによって複雑さおよび実施コストが増加する。ＨＥＶＣでは、小さいＤＣＴ−２変換は大きいＤＣＴ−２変換の一部であり、これは、異なるサイズの変換を実施するために同じロジックの再利用をサポートする。しかし、ＡＭＴでは、ＤＣＴ−２を除き、このような機能が欠落しているため、大きい変換に小さい変換を再利用することはできず、その場合は、異なるサイズの変換を実施するには、異なるロジックを設計する必要があることを意味する。
【０１０４】
ＨＥＶＣにおけるＤＣＴ−２は、行列乗算と部分バタフライとの間の同一の出力、すなわち、デュアル実装をサポートする部分バタフライを使用して実施される。しかしながら、依然として計算負担であるハーフサイズの行列乗算も必要であり、例えば、３２点ＨＥＶＣ  ＤＣＴ−２の部分バタフライには、２×２、４×４、８×８、１６×１６の行列乗算が必要である。
【０１０５】
ＤＣＴ―２における奇数の基底（奇数の基底は、奇数のインデックスに関連付けられる基底ベクトルを指し、第１の基底はインデックス０に関連付けられる）の一部は、スケーリングされたＤＣＴ―８の基底に非常に類似していることが観察された。以下の図６Ａにおいて、６４点ＤＣＴ―２の第２、第４、第６、および第８の基底ベクトルを、実線の曲線で示されるように示している。さらに、定数１／√２によってスケーリングされた３２点ＤＣＴ−８の第１、第２、第３、および第４の基底ベクトルも点線の曲線で示されるように、図６Ａに示されている。図６Ａから、６４点ＤＣＴ―２の第２、第４、第６、および第８の基底ベクトルの前半は、１／√２によってスケーリングされた３２点ＤＣＴ―８の第１、第２、第３および第４の基底ベクトルに非常に近いことが分かる。
【０１０６】
この観察に基づいて、２Ｎ点ＤＣＴ―２の奇数の基底の前半をＮ点スケーリングされたＤＣＴ―８基底で置き換え、その後半を反転されたＤＣＴ―８基底および逆符号で埋めると、結果としての基底は、図６Ｂに示されるように、２Ｎ点ＤＣＴ−２の元の奇数の基底に非常に近くなる。
【０１０７】
したがって、Ｎ点ＤＣＴ―８（またはＤＳＴ―７。ＤＳＴ―７基底とＤＣＴ―８基底が互いに対称になっているのがその理由である）を２Ｎ点ＤＣＴ−２に埋め込むことにより、新しい正規直交変換、すなわち複合正規直交変換（ＣＯＴ）を導出することができ、結果としての変換は、ＤＣＴ−２の対称性／反対称性特性、つまり、Ｆｅａｔｕｒｅ＃１およびＦｅａｔｕｒｅ＃２により、正規直交変換のままである。
【０１０８】
このようにして、Ｎ点ＤＣＴ−８／ＤＳＴ−７を２Ｎ点ＤＣＴ−２に埋め込むことによりＡＭＴを実行する複雑さは、下記の３点で低減される。（ｉ）ＤＣＴ−２およびＤＣＴ−８／ＤＳＴ−７の変換を実行するロジックは共有されることができる。（ｉｉ）ＤＣＴ−８およびＤＳＴ−７基底を記憶するためのオンチップメモリコストは、それらがＤＣＴ−２基底の一部であるため削減されることができる。（ｉｉｉ）ＤＳＴ−７がＤＣＴ−２の一部であるため、参照することにより組み込まれる‘０６５出願のロスレス高速ＤＳＴ−７方法は、提案されたＣＯＴとともに、ＤＣＴ−２の計算コストをさらに削減するために適用されることができる。
【０１０９】
提案された方法は、別々に使用されてもよいし、任意の順序で組み合わせられてもよい。前述のＣＯＴコアの利点により、従来の変換コア（ＤＣＴ−２やＤＳＴ−７など）の代わりにＣＯＴコアを変換画像や残差ブロックなどのビデオおよび／または画像圧縮に使用することが提案されている。２Ｎ点ＣＯＴコアは、Ｎ点正規直交変換（変換コアがＴ０、Ｔ１、Ｔ２・・・で表される）を別の２Ｎ点再帰的変換（変換コアがＲで表される）に埋め込むことにより生成されることができる。得られた変換コア（ＲＴで表される）も正規直交行列である。該新たに得られた変換コアＲＴ（ＣＯＴコア）は、画像ブロックまたは残差ブロックのエンコードまたはデコードに使用されることができる。ＣＯＴコアは次の特徴がある。
【０１１０】
Ｆｅａｔｕｒｅ＃Ａ：一実施形態では、Ｎ点正規直交変換コア、すなわち、Ｔ０、Ｔ１、Ｔ２・・・は、反対称性であるＲＴ基準行の半分を置き換え、残りの半分は、反対称性特性を維持するために導出される。Ｆｅａｔｕｒｅ＃Ｂ：一実施形態では、Ｎ点正規直交変換コア、すなわち、Ｔ０、Ｔ１、Ｔ２・・・は、対称であるＲＴ基準行の半分を置き換え、残りの半分は対称性を維持するために導出される。
【０１１１】
Ｆｅａｔｕｒｅ＃Ｃ：一実施形態では、１つのＮ点正規直交変換は、対称であるＲＴ基準行の選択されたセット（ｓｅｔ０によって示される）の半分を置き換え、別のＮ点正規直交変換は、反対称であるＲＴ基準行の選択されたセット（ｓｅｔｌで示される）の半分を置き換え、残りの半分は、関連する対称性と反対称性特性を維持するために導出される。該Ｆｅａｔｕｒｅ＃Ｃの例では、一例として、ｓｅｔ０はＲＴの最後のＮ行内にあるＲＴ基準行を指し、ｓｅｔｌはＲＴの最初のＮ行内にあるＲＴ基準行を指す。
【０１１２】
Ｆｅａｔｕｒｅ＃Ｄ：一実施形態では、ＲＴは、ＤＣＴ／ＤＳＴファミリーからの変換であり、その例にはＤＣＴ―２、ＤＣＴ―３、ＤＳＴ―２またはＤＳＴ―３がある。該Ｆｅａｔｕｒｅ＃Ｄの例では、ＲＴは、さらに、定数によってスケーリングされ、最も近い整数に丸められてもよい。定数の例示的な値は、６４・√Ｎ、１２８・√Ｎ、２５６・√Ｎである。該Ｆｅａｔｕｒｅ＃Ｄの例では、ＲＴは、さらに、定数によってスケーリングされ、最も近い整数に丸められ、さらにオフセットによって調整されてもよい。オフセットの例示的な値は、＋１／−１、＋２／−２などがある。
【０１１３】
Ｆｅａｔｕｒｅ＃Ｅ：一実施形態では、Ｔ０、Ｔ１、Ｔ２・・・は、ＤＳＴ−７、ＤＣＴ−８、選択された行／列の逆符号付きＤＳＴ−７、選択された行／列の逆符号付きＤＣＴ−８、ＤＳＴ−４、またはＤＣＴ−４を例として含むＤＣＴ／ＤＳＴファミリーからの変換である。Ｆｅａｔｕｒｅ＃Ｅの一例では、Ｔ０、Ｔ１、Ｔ２・・・は、さらに、定数によってスケーリングされ、最も近い整数に丸められてもよい。定数の例示的な値は、
６４・√Ｎ、１２８・√Ｎ、２５６・√Ｎである。Ｆｅａｔｕｒｅ＃Ｅの一例では、Ｔ０、Ｔ１、Ｔ２・・・は、さらに、定数によってスケーリングされ、最も近い整数に丸められ、さらにオフセットによって調整されてもよい。オフセットの例示的な値は、＋１／−１、＋２／−２を含む。
【０１１４】
Ｆｅａｔｕｒｅ＃Ｆ：一実施形態では、Ｔ０、Ｔ１、Ｔ２・・・はＫＬＴである。Ｆｅａｔｕｒｅ＃Ｇ：一実施形態では、Ｎは、４、８、１６、３２、および／または６４であり得る。Ｆｅａｔｕｒｅ＃Ｇ：一実施形態では、Ｔ０、Ｔ１、Ｔ２・・・は、Ｒに埋め込まれる前に事前定義された定数ｓによってスケーリングされる。Ｆｅａｔｕｒｅ＃Ｇの一例では、定数ｓは√２である。
【０１１５】
Ｆｅａｔｕｒｅ＃Ｉでは、新たに得られた変換コアＲＴを使用してＤＣＴ―２コアを置き換えることができる。Ｆｅａｔｕｒｅ＃Ｉの例では、一例として、３２点ＤＣＴ−２コアおよび／または６４点ＤＣＴ−２コアのみを置き換えることができる。
【０１１６】
Ｆｅａｔｕｒｅ＃Ｊでは、新たに得られた変換コアＲＴが適用されるか否かは、ＶＰＳ、ＳＰＳ、ＰＰＳ、またはスライスヘッダ、またはＣＴＵレベルのフラグで示されている。Ｆｅａｔｕｒｅ＃Ｊの一例では、新たに得られた変換コアＲＴが適用されない場合、元の２Ｎ点変換コアＲが使用され得る。Ｆｅａｔｕｒｅ＃Ｊの一例では、ビデオシーケンス／ピクチャ／スライス／ＣＴＵを符号化するために、ＤＳＴ−７／ＤＣＴ−８／ＤＣＴ−４／ＤＳＴ−４など、ＤＣＴ−２以外の追加の変換タイプが使用されていれば、それに応じて、新たに得られた変換コアＲＴは、ＤＣＴ−２を置き換えてもよい。それ以外の場合、ＤＣＴ−２のみが使用されていれば、新しい変換コアＲＴは使用されない。
【０１１７】
正規直交変換をより大きい正規直交変換Ｋに埋め込む代わりに、より大きい正規直交変換Ｋを変わらないままで保つが、このより大きい正規直交変換から正規直交変換Ｔを抽出し、すなわち、変換コアＴはＫの一部であることが提案されている。一実施形態では、Ｋは２Ｎ点変換コアであり、ＴはＮ点変換コアであり、Ｔは、反対称であるＲＴの基準行の半分から抽出される。一実施形態では、Ｋは、ＤＣＴ―２、ＤＣＴ―３、ＤＳＴ―２またはＤＳＴ―３がその例であるＤＣＴ／ＤＳＴファミリーからの変換である。
【０１１８】
一実施形態では、Ｔは、特定の変換サイズのみ、例えば、１６点および／または３２点でＫから抽出される。一実施形態では、ＤＣＴ−４は、ＤＣＴ−２から抽出され、ＤＣＴ−４は、特定のブロックサイズ、例えば、１６点および／または３２点に対してＡＭＴにおけるＤＣＴ−８を置き換える。一実施形態では、ＤＣＴ−４変換基底を左右に反転することにより新しい変換コアを得、この新しい変換コアは、特定のブロックサイズ、例えば、１６点、３２点に対してＡＭＴにおけるＤＳＴ−７を置き換える。
【０１１９】
一実施形態では、ＤＣＴ―４はＤＣＴ―２から抽出され、ＤＣＴ―４は、例えば、４点、８点などの特定のブロックサイズに対して追加の変換タイプとしてＡＭＴに含まれ、ＤＣＴ―４が使用されるか否かは、ブロックサイズ、イントラ予測モード、水平／垂直変換、ＡＭＴフラグ、ＡＭＴインデックスによって決まる。一実施形態では、新しい変換コアは、ＤＣＴ−４変換基底を左右に反転することにより導出され、この新しい変換コアは、例えば、４点、８点などの特定のブロックサイズに対して追加の変換タイプとしてＡＭＴに含まれ、この新しい変換コアが使用されるか否かは、ブロックサイズ、イントラ予測モード、水平／垂直変換、ＡＭＴフラグ、ＡＭＴインデックスによって決まる。
【０１２０】
これらの理由により、変換画像または残差ブロックなどのビデオおよび／または画像圧縮において、従来の変換コア（ＤＣＴ―２およびＤＳＴ―７など）の代わりにＣＯＴコアを使用することが提案されている。複数の直交変換コア間でクロネッカー積を計算することによりＣＯＴコアを生成し、直交変換コアでもある１つのより大きい行列としてまとめて、ＣＯＴコアとして使用することができる。
【０１２１】
一実施形態では、例えば、変換コアがＴ０、Ｔ１、・・・ＴＮ−１によって示されるＮ個の正規直交変換のセット、および、変換コアがＰによって示される追加の正規直交変換が与えられ、ＰがＮ個の行列Ｐ０、Ｐ１、・・・ＰＮ−１に分割されると、つまり、Ｐ０、Ｐ１、・・・ＰＮ−１をまとめると、Ｐが得られる。その後、
【数１９】
2021520144.tif 000023
を１つの行列（ｉ＝０、１、・・・、Ｎ−１であり、「○」の中に「×」はクロネッカー積を示す）としてまとめることで、新しい正規直交変換Ｘを導出することができ、該行列をＣＯＴコアとして使用する。
【０１２２】
一実施形態では、Ｐはアダマール変換である。一実施形態では、Ｐは、Ｎ個の行列Ｐ０、Ｐ１、・・・、ＰＮ−１に水平に分割される。一実施形態では、Ｐは、Ｎ個の行列Ｐ０、Ｐ１、・・・、ＰＮ−１に垂直に分割される。一実施形態では、Ｎ個の正規直交変換のセットは、ＤＣＴ−１〜ＤＣＴ−８、ＤＳＴ−１〜ＤＳＴ−７を含む。
【０１２３】
一例では、Ｎ＝２であり、Ｎ個の正規直交変換のセットは｛Ｔ０＝ｎ点ＤＣＴ―２，Ｔ１＝ｎ点ＤＳＴ―８｝であり、Ｐは２×２アダマール変換行列
【数２０】
2021520144.tif 000024
であり、Ｐは、Ｐ０＝［１  １］およびＰｌ＝［１  −１］に垂直に分割される。
【数２１】
2021520144.tif 000025
を計算してまとめると、新しい２ｎ点正規直交変換Ｘが得られる。
【０１２４】
一実施形態では、
【数２２】
2021520144.tif 000026
を１つのマトリクスとしてまとめた後、行および／または列はさらに並べ替えられ、これは、新しい変換の直交性を変えない。
【０１２５】
一実施形態では、クロネッカー積、即ち
【数２３】
2021520144.tif 000027
を実行する前に、Ｔｉおよび／またはＰｉの行および／または列はさらに並べ替えられ、これは、新しい変換の直交性を変えない。
【０１２６】
図５を参照し、第１の簡単な例では、複合正規直交変換を利用する方法は、図５に示される以下のステップを含み得る。ステップ５００：一つ又は複数の非再帰的変換をより大きい再帰的変換に埋め込むことにより、新しいマルチ変換データ構造を生成する。ステップ５０１：エンコードまたはデコード用のターゲットデータブロックに関する情報を受信し、エンコードまたはデコード用のターゲットデータブロックは、圧縮されたビデオまたは画像データブロック、もしくは非圧縮であるビデオまたは画像データブロックのうちの１つである。図５の方法は、ターゲットデータブロックのエンコードまたはデコードのために再帰的変換を使用するか否かを判定することを含むステップ５０２をも含み得る。同様に、ステップ５０２は、ターゲットデータブロックのエンコードまたはデコードに再帰的変換を使用するかそれとも非再帰的変換を使用するかを判定することを含み得る。
【０１２７】
図５に示されるように、ステップ５０２の判定がＹＥＳである（すなわち、再帰的変換を使用する）場合、ステップ５０３を実行する。ステップ５０３は、判定の結果が、再帰的変換を使用する場合、マルチ変換データ構造を使用して再帰的変換を生成し、生成された再帰的変換を使用してターゲットデータブロックをエンコードまたはデコードさせる情報を発生または送信することを含む。ステップ５０２の判定がＮＯである（すなわち、再帰的変換を使用しないか、あるいは代替的に非再帰的変換を使用する）場合、ステップ５０４を実行する。ステップ５０４は、判定の結果が、再帰的変換を使用しない場合、マルチ変換データ構造に埋め込まれた一つ又は複数の非再帰的変換のうちの１つを使用することを含み得る。特に、ステップ５０４は、マルチ変換データ構造に埋め込まれた一つ又は複数の非再帰的変換のうちの１つを使用してターゲットデータブロックをエンコードまたはデコードさせる情報を発生または送信することを含み得る。図５の方法は、マルチ変換データ構造の非再帰的変換の少なくとも一部を、マルチ変換データ構造の再帰的変換の半分の少なくとも一部に埋め込むことをさらに含み得る。
【０１２８】
図５に示される方法は、一つ又は複数のプロセッサによって実行される処理ステップ５００〜５０４をさらに含み得る。図５に示される方法は、ステップ５０１〜５０４の実行前または実行中に、メモリ内の一つ又は複数のプロセッサによってマルチ変換データ構造を事前に記憶することをさらに含み得る。
【０１２９】
図５に示される方法は、非再帰的変換のサイズがＭであり、Ｍ＝Ｎ／２であり、ただし、Ｎが、マルチ変換データ構造の再帰的変換のサイズであることをさらに含み得る。図５の方法は、再帰的変換が、ＤＣＴ―２、アダマール変換、ＤＣＴ―１、ＤＳＴ―１、またはＤＳＴ―２のうちの１つであることをさらに含み得る。図５の方法は、非再帰的変換が、ＤＳＴ−７またはＤＣＴ−８のうちの１つであることをさらに含み得る。
【０１３０】
図５の方法は、再帰的変換がＤＣＴ―２であり、非再帰的変換がＤＳＴ―７またはＤＣＴ―８であることをさらに含み得る。図５の方法は、再帰的変換がＤＣＴ―２であることをさらに含み得、該方法は、マルチ変換データ構造の再帰的ＤＣＴ―２変換を使用する場合、（ｉ）マルチ変換データ構造に基づいて、ＤＣＴ―２変換行列の左半分を決定するステップと、（ｉｉ）ＤＣＴ−２変換行列の左半分を考慮して、ＤＣＴ−２変換行列の右半分をＤＣＴ−２コアの対称性／反対称性特性に従って導出するステップと、をさらに含み得る。
【０１３１】
図５の方法は、（ｉ）２Ｎ点ＤＣＴ−２の奇数の基底の前半をＮ点スケーリングされたＤＳＴ−７またはＤＣＴ−８基底で置き換えるステップと、（ｉｉ）２Ｎ点ＤＣＴ−２の奇数の基底の後半を、反転されたＤＳＴ−７基底またはＤＣＴ−８基底および逆符号で埋めることにより、２Ｎ点ＤＣＴ−２の元の奇数の基底に対応する結果としての基底を作成することをさらに含み得る。図５の方法は、変換行列が１０ビット表現で量子化されることをさらに含み得る。
【０１３２】
図５の方法は、Ｎ点非再帰的変換を２Ｎ点再帰的変換に埋め込むことにより、複合正規直交変換（ＣＯＴ）である新しい正規直交変換としてマルチ変換データ構造を導出し、新しい正規直交変換は、再帰的変換の対称性／反対称性特性により、正規直交変換のままであることをさらに含み得る。図５の方法は、Ｎ点ＤＣＴ−８またはＤＳＴ−７を２Ｎ点ＤＣＴ−２に埋め込むことにより、複合正規直交変換（ＣＯＴ）である新しい正規直交変換としてマルチ変換データ構造を導出し、新しい正規直交変換は、ＤＣＴ−２の対称性／反対称性特性により、正規直交変換のままであることをさらに含み得る。
【０１３３】
一例では、マルチ変換データ構造として、以下に示されるように、６４点ＣＯＴコアが提案される。
【数２４】
2021520144.tif 000028
【数２５】
2021520144.tif 000029
【数２６】
2021520144.tif 000030
【数２７】
2021520144.tif 000031
【数２８】
2021520144.tif 000032
【数２９】
2021520144.tif 000033
【数３０】
2021520144.tif 000034
【数３１】
2021520144.tif 000035
【数３２】
2021520144.tif 000036
ここで、
【数３３】
2021520144.tif 000037
は事前定義された数値である。
【０１３４】
上記の事前定義された数値（６４点ＣＯＴコアにおける要素）の例示的な値は、次の通りである。
【数３４】
2021520144.tif 000038
【０１３５】
６４点ＣＯＴコアにおける要素の例示的な値は、次の通りである。
【数３５】
2021520144.tif 000039
【０１３６】
上記の変換コアから、以下に示されるように、２点ＤＣＴ―２を抽出することができる。
【表４】
2021520144.tif 000040
【０１３７】
上記の変換コアから、以下に示されるように、４点ＤＣＴ−２を抽出することができる。
【表５】
2021520144.tif 000041
【０１３８】
上記の変換コアから、以下に示されるように、８点ＤＣＴ−２を抽出することができる。
【表６】
2021520144.tif 000042
【０１３９】
上記の変換コアから、以下に示されるように、１６点ＤＣＴ−２を抽出することができる。
【表７】
2021520144.tif 000043
【０１４０】
上記の変換コアから、以下に示されるように、３２点ＤＣＴ−２を置き換える３２点ＣＯＴを抽出することができる。
【数３６】
2021520144.tif 000044
【数３７】
2021520144.tif 000045
【数３８】
2021520144.tif 000046
【０１４１】
３２点ＣＯＴコアにおける要素の例示的な値は、次の通りである。
【数３９】
2021520144.tif 000047
【０１４２】
さらに、１６点ＤＣＴ−８変換コアは、以下のように抽出されることもでき、１６点ＤＳＴ−７変換コアは、１６点ＤＣＴ−８変換コアを左右に反転することおよび奇数行の符号の変更により導出されることができる。
【表８】
2021520144.tif 000048
【０１４３】
さらに、３２点ＤＣＴ−８変換コアは、以下のように抽出されることもでき、３２点ＤＳＴ−７変換コアは、３２点ＤＣＴ−８変換コアを左右に反転することおよび奇数行の符号の変更により導出されることができる。
【０１４４】
３２点ＤＣＴ−８変換コアを以下に示す。
【数４０】
2021520144.tif 000049
【数４１】
2021520144.tif 000050
【数４２】
2021520144.tif 000051
【数４３】
2021520144.tif 000052
【０１４５】
３２点ＤＣＴ−８コアにおける要素の例示的な値は、次の通りである。
【数４４】
2021520144.tif 000053
【０１４６】
エンコード／デコードのための技法は、一つ又は複数のコンピュータ読取可能な媒体（例えば、ハードディスクドライブ）に物理的に記憶され得るコンピュータ読取可能な命令を有するコンピュータソフトウェアを実行し得る一つ又は複数のプロセッサによって実施されることができる。例えば、図７は、開示された主題の特定の実施形態を実施することに適したコンピュータシステム７００を示す。
【０１４７】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、またはそのようなメカニズムを施されて、コンピュータ中央処理装置（ＣＰＵ）、グラフィックスプロセッシングユニット（ＧＰＵ）などによって直接、または解釈、マイクロコード実行などによって実行されることができる命令を含むコードを作成する任意の適切な機械コードまたはコンピュータ言語を用いて符号化されることができる。
【０１４８】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはそのコンポーネント上で実行されることができる。
【０１４９】
コンピュータシステム７００について図７に示されるコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関していかなる限定を示唆することも意図しない。コンポーネントの構成は、コンピュータシステム７００の例示的な実施形態で示されるコンポーネントのうちのいずれか１つ又は組み合わせに関する任意の依存性又は必要性を有するとして解釈されるべきではない。
【０１５０】
コンピュータシステム７００は、特定のヒューマンインターフェース入力デバイスを含み得る。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力（キーストローク、スワイプ、データグローブの動きなど）、オーディオ入力（音声、拍手など）、視覚入力（ジェスチャーなど）、嗅覚入力（示されていない）によって、１人以上のユーザによる入力に応答することができる。ヒューマンインターフェースデバイスは、オーディオ（音声、音楽、環境音など）、画像（走査画像、静止画像カメラから取得される写真画像など）、ビデオ（２次元ビデオ、立体ビデオを含む３次元ビデオなど）など、人間による意識的な入力に必ずしも直接関係しない特定のメディアを獲得することにも使用できる。
【０１５１】
入力ヒューマンインターフェースデバイスは、キーボード７０１、マウス７０２、トラックパッド７０３、タッチスクリーン７１０、データグローブ７０４、ジョイスティック７０５、マイクロフォン７０６、スキャナ７０７、カメラ７０８（それぞれ１つのみ示されている）のうちの一つ又は複数を含み得る。
【０１５２】
コンピュータシステム７００は、特定のヒューマンインターフェース出力デバイスをも含み得る。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音声、光、および嗅覚／味覚を介して１人以上のユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス（例えば、タッチスクリーン７１０、データグローブ７０４、またはジョイスティック７０５による触覚フィードバックがあるが、入力デバイスとして機能しない触覚フィードバックデバイスであってもよい）、オーディオ出力デバイス（スピーカ７０９、ヘッドホン（示されていない）など）、視覚出力デバイス（ＣＲＴスクリーン、ＬＣＤスクリーン、プラズマスクリーン、ＯＬＥＤスクリーンを含むスクリーン７１０（それぞれタッチスクリーン入力能力を有するかもしくは有せず、それぞれ触覚フィードバック能力を有するかもしくは有しない。それらの一部は、ステレオグラフィック出力などの手段を介して、２次元の視覚出力または３次元以上の出力を出力することができる）、仮想現実眼鏡（示されていない）、ホログラフィックディスプレおよびスモークタンク（示されていない）など）、およびプリンタ（示されていない）を含み得る。
【０１５３】
コンピュータシステム７００は、人間がアクセス可能な記憶装置およびそれらの関連する媒体、例えば、ＣＤ／ＤＶＤなどの媒体７２１付きのＣＤ／ＤＶＤ  ＲＯＭ／ＲＷ７２０を含む光学媒体、サムドライブ７２２、リムーバブルハードドライブまたはソリッドステートドライブ７２３、テープやフロッピーディスクなどの従来の磁気媒体（示されていない）、セキュリティドングルなどの専用のＲＯＭ／ＡＳＩＣ／ＰＬＤ基底のデバイス（示されていない）などをも含むことができる。
【０１５４】
ここで開示された主題に関連して使用される「コンピュータ読取可能な媒体」あるいは「コンピュータ読取可能なメディア」という用語は、送信媒体、搬送波、または他の一時的な信号を包含しないことをも当業者が理解するべきである。
【０１５５】
コンピュータシステム７００は、一つ又は複数の通信ネットワークへのインターフェースをさらに含むことができる。ネットワークは、例えば、無線、有線、光学的であり得る。ネットワークは、さらに、ローカル、広域、大都市圏、車両用および産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例は、イーサネット、無線ＬＡＮなどのローカルエリアネットワーク、ＧＳＭ、３Ｇ、４Ｇ、５Ｇ、ＬＴＥなどを含むセルラーネットワーク、ケーブルＴＶ、衛星ＴＶ、および地上放送ＴＶを含むＴＶ有線または無線広域デジタルネットワーク、ＣＡＮＢｕｓを含む車両用や産業用などを含む。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス７４９（例えば、コンピュータシステム７００のＵＳＢポートなど）に接続された外部ネットワークインターフェースアダプターを必要とする。他のものは一般に、以下で説明するようにシステムバスに接続されることにより、コンピュータシステム７００のコアに統合される（例えば、ＰＣコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピューターシステムへのセルラーネットワークインターフェース）。これらのネットワークのいずれかを用いて、コンピュータシステム７００は、他のエンティティと通信することができる。このような通信は、単方向、受信のみ（例えば、放送ＴＶ）、単方向の送信のみ（例えば、特定のＣＡＮｂｕｓデバイスへのＣＡＮｂｕｓ）、または双方向、例えばローカルまたはワイドエリアデジタルネットワークを用いる他のコンピュータシステムへの送信であり得る。特定のプロトコルおよびプロトコルスタックを上述したこれらのネットワークおよびネットワークインターフェースのそれぞれで使用することができる。
【０１５６】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータシステム７００のコア７４０に接続されることができる。
【０１５７】
コア７４０は、一つ又は複数の中央処理装置（ＣＰＵ）７４１、グラフィックスプロセッシングユニット（ＧＰＵ）７４２、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）７４３の形態での専用プログラマブル処理ユニット、特定のタスクのためのハードウェアアクセラレータ７４４などを含むことができる。これらのデバイスは、リードオンリーメモリ（ＲＯＭ）７４５、ランダムアクセスメモリ７４６、非ユーザアクセス可能な内部ハードドライブ、ＳＳＤなどの内部大容量記憶装置７４７とともに、システムバス７４８を介して接続されてもよい。一部のコンピュータシステムでは、システムバス７４８は、一つ又は複数の物理プラグの形態でアクセスでき、追加のＣＰＵ、ＧＰＵなどによる拡張を可能にする。周辺機器は、コアのシステムバス７４８に直接、または周辺バス７４９を介して接続されることができる。周辺バスのアーキテクチャは、ＰＣＩ、ＵＳＢなどを含む。
【０１５８】
ＣＰＵ７４１、ＧＰＵ７４２、ＦＰＧＡ７４３、およびアクセラレータ７４４は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ＲＯＭ７４５またはＲＡＭ７４６に記憶されることができる。推移データはＲＡＭ７４６にも記憶できるが、永続データは、例えば、内部大容量ストレージ７４７に記憶されることができる。一つ又は複数のＣＰＵ７４１、ＧＰＵ７４２、大容量ストレージ７４７、ＲＯＭ７４５、ＲＡＭ７４６などと密接に関連付けることができるキャッシュメモリを使用することにより、任意のメモリデバイスへの高速保存および検索が可能になる。
【０１５９】
コンピュータ読取可能な媒体は、様々なコンピュータ実施操作を実行するためのコンピュータコードを備えることができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、もしくは、それらは、コンピュータソフトウェア技術の当業者に周知であって利用可能な種類のものであり得る。
【０１６０】
限定ではなく、一例として、アーキテクチャを有するコンピュータシステム７００、特にコア７４０は、一つ又は複数の有形のコンピュータ読取可能な媒体に組み込まれたソフトウェアを実行するプロセッサ（ＣＰＵ、ＧＰＵ、ＦＰＧＡ、アクセラレータなどを含む）の結果としての機能性を提供することができる。このようなコンピュータ読取可能な媒体は、以上で紹介したようにユーザがアクセス可能な大容量ストレージ、および、コア内部大容量ストレージ７４７またはＲＯＭ７４５などの非一時的な性質を持つコア７４０の特定のストレージに関連付けられた媒体であり得る。本開示の様々な実施形態を実行するソフトウェアは、このようなデバイスに記憶され、コア７４０によって実行されることができる。コンピュータ読取可能な媒体は、特定の必要に応じて、一つ又は複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア７４０、具体的にはその中のプロセッサ（ＣＰＵ、ＧＰＵ、ＦＰＧＡなどを含む）に、ＲＡＭ７４６に記憶されたデータ構造を定義すること、および、ソフトウェアで定義されたプロセスに従ってこのようなデータ構造を変更することを含む、ここで説明する特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または、代替として、コンピュータシステムは、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりにまたは一緒に動作することができる回路（例えば、アクセラレータ７４４）に有線接続されたまたは組み込まれたロジックの結果としての機能性を提供することができる。ソフトウェアへの言及は、必要に応じて、ロジックを含むことができ、その逆も同様である。コンピュータ読取可能な媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路（集積回路（ＩＣ）など）、実行のためのロジックを具現化する回路、またはその両方を含むことができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを含む。
【０１６１】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内に含まれる変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書では明示的に示されていないか、または記載されていないが、本開示の原理を具現化し、その思想および範囲内に含まれる様々なシステムおよび方法を考案できることが理解されよう。
【図１】
2021520144.tif 000054
【図２】
2021520144.tif 000055
【図３】
2021520144.tif 000056
【図４】
2021520144.tif 000057
【図５】
2021520144.tif 000058
【図６Ａ】
2021520144.tif 000059
【図６Ｂ】
2021520144.tif 000060
【図７】
2021520144.tif 000061
【国際調査報告】
2021520144.tif 000062
2021520144.tif 000063