(57)【要約】低複雑度変換を使用して符号化または復号化を実行する方法は、符号化または復号化されるターゲットブロックに関する情報を受信し、ターゲットブロックのブロックサイズの幅または高さの少なくとも１つが所定の閾値以上である場合、ターゲットブロックの符号化または復号化を実行するが、ターゲットブロックのブロックサイズの幅または高さのうちの少なくとも１つに対応するサイズを有する大規模変換を適用する代わりに、ターゲットブロックの第１部分に第１変換を適用して、ターゲットブロックの第２部分に第１変換または第２変換を適用し、また、第１変換および第２変換のうちの少なくとも１つが所定の閾値よりも小さいサイズを有する低複雑度変換である、ことを含む。
2021513302.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのメモリと、少なくとも１つのプロセッサとを含む装置によって実行される方法であって、
前記少なくとも１つのプロセッサが、音声、ビデオまたは画像のデータブロックに関する情報を受信するステップであって、前記データブロックは、符号化または復号化するためのターゲットデータブロックであるステップと、
前記少なくとも１つのプロセッサが、前記ターゲットデータブロックのブロックサイズの幅または高さのうちの少なくとも１つが所定の閾値以上であるかどうかを決定するステップと、
前記ターゲットデータブロックのブロックサイズの幅または高さのうちの前記少なくとも１つが所定の閾値以上である場合、前記少なくとも１つのプロセッサが、前記ターゲットデータブロックの符号化または復号化を実行するが、前記ターゲットデータブロックのブロックサイズの幅または高さのうちの前記少なくとも１つに対応するサイズを有する大規模変換を適用する代わりに、前記ターゲットデータブロックの第１部分に第１変換を適用し、前記ターゲットデータブロックの第２部分に前記第１変換または第２変換を適用するステップであって、前記第１変換と前記第２変換のうちの少なくとも１つが、前記所定の閾値より小さいサイズを有する低複雑度変換であるステップと、
を含むことを特徴とする方法。
【請求項２】
前記低複雑度変換は、変換コアが１と−１のみからなるアダマール変換（Ｈａｄａｍａｒｄ  ｔｒａｎｓｆｏｒｍ）と、前記変換コアが２の累乗のみからなる所定の変換とのうちの１つである、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記少なくとも１つのプロセッサは、より低周波数の変換係数のみを維持するように、高周波数変換係数をゼロ設定するステップ、
をさらに含むことを特徴とする請求項１または２に記載の方法。
【請求項４】
前記低複雑度変換はスケーリングすることにより、前記低複雑度変換のサイズとは異なる別の変換サイズの同じ量子化スキームを再利用し、Ｎポイント変換コアが、Ｋ＊Ｋ’が単位行列となる直交変換コアＫを使用して６４＊ｓｑｒｔ（Ｎ）でスケーリングされる、
ことを特徴とする請求項１ないし３のうちいずれか一項に記載の方法。
【請求項５】
前記低複雑度変換は、変換コアが１と−１のみからなるアダマール変換と、前記変換コアが２の累乗のみからなる変換とのうちの１つであり、
前記方法は、
前記少なくとも１つのプロセッサが、前記低複雑度変換をスケーリングすることにより量子化スキームを生成するステップと、
前記低複雑度変換が前記アダマール変換ではない場合、前記少なくとも１つのプロセッサが、生成された量子化スキームを使用して前記ターゲットデータブロックを符号化または復号化するようにする情報を生成または転送するステップと、
前記低複雑度変換が前記アダマール変換である場合、前記少なくとも１つのプロセッサが、（ｉ）大規模変換でのスケーリングの差を補償するためにシフトを実行することによって前記量子化スキームを調整し、（ｉｉ）調整された量子化スキームを使用して前記ターゲットデータブロックを符号化または復号化するようにする情報を生成または転送するステップであって、ここで、前記復号化は、前記ターゲットデータブロックを逆変換して逆量子化された変換ブロックを導出し、残差ブロックを元のブロックサイズにアップサンプリングすることを含む、ステップ、
をさらに含むことを特徴とする請求項１ないし３のうちいずれか一項に記載の方法。
【請求項６】
前記低複雑度変換がアダマール変換であり、かつ、
前記少なくとも１つのプロセッサは、前記大規模変換のスケーリングに応じて、水平かつ垂直変換後の少なくとも右シフト動作を含む内部丸め動作を調整する、
ことを特徴とする請求項１ないし３のうちいずれか一項に記載の方法。
【請求項７】
まず、前記少なくとも１つのプロセッサは、ＸとＹが２、４、８、１６、３２または６４であることができるＸｘＹ変換を各々の非オーバーラップのＮｘＮのブロックに適用するステップと、
その後、前記少なくとも１つのプロセッサは、前記ＸｘＹ変換によって生成された変換係数に対して第２変換を適用するステップであって、ここで、第１変換である前記ＸｘＹ変換および／または前記第２変換のうちの少なくとも１つが、低複雑度変換であるステップと、
をさらに含むことを特徴とする請求項１ないし３のうちいずれか一項に記載の方法。
【請求項８】
前記ブロックサイズの幅および高さのうちの少なくとも１つが１２８に等しいターゲットデータブロックに対して、１２８ポイント変換について、前記少なくとも１つのプロセッサは、最初の６４、３２、１６、８、４、２または１つの変換係数のみを使用し、残りの係数をゼロ設定する、
ことを特徴とする請求項１ないし７のうちいずれか一項に記載の方法。
【請求項９】
１２８ｘＭ、Ｍｘ１２８、２５６ｘＭまたはＭｘ２５６のブロックに対して、前記少なくとも１つのプロセッサは、１２８ポイント／２５６ポイントの大規模変換を適用する代わりに、因子Ｓによってデータブロックをサブサンプリングし、
前記少なくとも１つのプロセッサは、前記サブサンプリングを水平／垂直方向の一方または両方に適用し、
前記符号化は、前記少なくとも１つのプロセッサが、各々のサブサンプルされたデータブロックに対して第１変換を適用し、各々のサブサンプリングされたデータブロックの変換係数を生成し、また、その後、前記変換係数を重み付けて加算することで、他の変換係数データブロックを生成し、前記他の変換係数ブロックをさらに量子化してエントロピー符号化する、ことを含み、
前記復号化は、前記少なくとも１つのプロセッサが、逆量子化された変換ブロックを逆変換し、残差ブロックを元のブロックサイズにアップサンプリングする、ことを含む、
ことを特徴とする請求項１ないし６のうちいずれか一項に記載の方法。
【請求項１０】
前記少なくとも１つのプロセッサは、大規模変換を水平および／または垂直方向に適用する必要がある場合、ＭｘＮの大規模変換を適用する代わりに、複数のより小さいブロックサイズの変換を水平および／または垂直方向に適用し、各々のより小さいブロックサイズの変換に対してゼロ化を適用して、結果を重み付けて加算することで、ブロック全体の変換係数を生成し、逆の大規模変換を前記水平および／または垂直方向に適用する必要がある場合、ＭｘＮの逆の大規模変換を適用する代わりに、より小さいブロックサイズの変換を適用して、ＭｘＮにアップサンプリングすることで、ブロック全体の残差を生成し、ここで、Ｍはブロックの幅であり、Ｎはブロックの高さである、
ことを特徴とする請求項１ないし３のうちいずれか一項に記載の方法。
【請求項１１】
装置であって、
コンピュータプログラムコードを記憶するように構成される少なくとも１つのメモリと、
前記少なくとも１つのメモリにアクセスして、前記コンピュータプログラムコードに従って動作するように構成される少なくとも１つのプロセッサと、を含み、前記コンピュータプログラムコードは、
前記少なくとも１つのプロセッサに、音声、ビデオまたは画像のデータブロックに関する情報を受信させる、ように構成される第１適用コードであって、前記データブロックは、符号化または復号化するためのターゲットデータブロックである、第１適用コードと、
前記少なくとも１つのプロセッサに、前記ターゲットデータブロックのブロックサイズの幅または高さのうちの少なくとも１つが所定の閾値以上であるかどうかを決定させる、ように構成される第２適用コードと、
前記少なくとも１つのプロセッサに、前記ターゲットデータブロックのブロックサイズの幅または高さのうちの前記少なくとも１つが所定の閾値以上である場合、前記ターゲットデータブロックの符号化または復号化を実行させるが、前記ターゲットデータブロックのブロックサイズの幅または高さのうちの前記少なくとも１つに対応するサイズを有する大規模変換を適用させる代わりに、前記ターゲットデータブロックの第１部分に第１変換を適用させ、前記ターゲットデータブロックの第２部分に前記第１変換または第２変換を適用させ、ここで、前記第１変換と前記第２変換のうちの少なくとも１つが、前記所定の閾値より小さいサイズを有する低複雑度変換である、ように構成される第３適用コードと、を含む、
ことを特徴とする装置。
【請求項１２】
前記低複雑度変換は、変換コアが１と−１のみからなるアダマール変換と、前記変換コアが２の累乗のみからなる所定の変換とのうちの１つである、
ことを特徴とする請求項１１に記載の装置。
【請求項１３】
前記少なくとも１つのプロセッサに、より低周波数の変換係数のみが維持されるように、高周波数変換係数をゼロ設定させる、ように構成される第４適用コードをさらに含む、
ことを特徴とする請求項１１または１２に記載の装置。
【請求項１４】
前記少なくとも１つのプロセッサに、前記低複雑度変換をスケーリングすることにより前記低複雑度変換のサイズとは異なる別の変換サイズの同じ量子化スキームを再利用させ、ここで、Ｎポイント変換コアが、Ｋ＊Ｋ’が単位行列となる直交変換コアＫを使用して６４×ｓｑｒｔ（Ｎ）でスケーリングされる、ように構成される第５適用コードをさらに含む、単位行列である、
ことを特徴とする請求項１１ないし１３のうちいずれか一項に記載の装置。
【請求項１５】
前記少なくとも１つのプロセッサに、
前記低複雑度変換をスケーリングすることにより量子化スキームを生成させ、
前記低複雑度変換が前記アダマール変換ではない場合、生成された量子化スキームを使用して、前記ターゲットデータブロックを符号化または復号化するようにする情報を生成または転送させ、
前記低複雑度変換が前記アダマール変換である場合、（ｉ）大規模変換でのスケーリングの差を補償するためにシフトを実行することによって前記量子化スキームを調整させ、（ｉｉ）調整された量子化スキームを使用して前記ターゲットデータブロックを符号化または復号化するようにする情報を生成または転送させ、ここで、前記復号化は、前記ターゲットデータブロックを逆変換して逆量子化された変換ブロックを導出し、残差ブロックを元のブロックサイズにアップサンプリングすることを含む、ように構成される第５適用コードをさらに含む、
ことを特徴とする請求項１２に記載の装置。
【請求項１６】
前記低複雑度変換がアダマール変換であり、かつ、
水平かつ垂直変換後の少なくとも右シフト動作を含む内部丸め動作は、前記大規模変換のスケーリングに応じて調整される、
ことを特徴とする請求項１１ないし１３のうちいずれか一項に記載の装置。
【請求項１７】
少なくとも１つのプロセッサに、
まず、ＸとＹが２、４、８、１６、３２または６４であることができるＸｘＹ変換を各々の非オーバーラップのＮｘＮのブロックに適用させ、
その後、前記ＸｘＹ変換によって生成された変換係数に対して第２変換を適用させ、ここで、前記第１変換であるＸｘＹ変換および／または前記第２変換のうちの少なくとも１つが低複雑度変換である、ように構成される第５適用コードをさらに含む、
ことを特徴とする請求項１１ないし１３のうちいずれか一項に記載の装置。
【請求項１８】
前記ブロックサイズの幅および高さのうちの少なくとも１つが１２８に等しいターゲットデータブロックに対して、１２８ポイント変換について、最初の６４、３２、１６、８、４、２または１つの変換係数のみを使用し、残りの係数をゼロ設定する、
ことを特徴とする請求項１１ないし１７のうちいずれか一項に記載の装置。
【請求項１９】
大規模変換を水平および／または垂直方向に適用する必要がある場合、ＭｘＮの大規模変換を適用する代わりに、複数のより小さいブロックサイズの変換を水平および／または垂直方向に適用し、各々のより小さいブロックサイズの変換に対してゼロ化を適用して、結果を重み付けて加算することで、ブロック全体の変換係数を生成し、逆の大規模変換を前記水平および／または垂直方向に適用する必要がある場合、ＭｘＮの逆の大規模変換を適用する代わりに、より小さいブロックサイズの変換を適用して、ＭｘＮにアップサンプリングすることで、ブロック全体の残差を生成し、ここで、Ｍはブロックの幅であり、Ｎはブロックの高さである、
ことを特徴とする請求項１１ないし１３のうちいずれか一項に記載の装置。
【請求項２０】
１つ以上のプロセッサに、
音声、ビデオまたは画像のデータブロックに関する情報を受信するステップであって、符前記データブロックは、符号化または復号化するためのターゲットデータブロックである、ステップと、
前記ターゲットデータブロックのブロックサイズの幅または高さのうちの少なくとも１つが所定の閾値以上であるかどうかを決定するステップと、
前記ターゲットデータブロックのブロックサイズの幅または高さのうちの前記少なくとも１つが所定の閾値以上である場合、前記ターゲットデータブロックの符号化または復号化を実行するが、前記ターゲットデータブロックのブロックサイズの幅または高さのうちの前記少なくとも１つに対応するサイズを有する大規模変換を適用する代わりに、前記ターゲットデータブロックの第１部分に第１変換を適用し、前記ターゲットデータブロックの第２部分に前記第１変換または第２変換を適用するステップであって、前記第１変換と前記第２変換のうちの少なくとも１つが、前記所定の閾値より小さいサイズを有する低複雑度変換である、ステップとを実行させるための
コンピュータ・プログラム。
【請求項２１】
請求項１〜１０のいずれか１項に記載の方法を、少なくとも１つのメモリと、少なくとも１つのプロセッサとを含む装置に実行させる、
ことを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願への相互参照］
本願は、２０１８年２月５日に米国特許＆商標庁に提出された米国仮出願第６２／６２６，５３９号からの優先権および２０１８年１２月２８日に米国特許＆商標庁に提出された米国仮出願第１６／２３５，３９５号からの優先権を主張し、それらの開示の全体が参照により本明細書に組み込まれる。
【０００２】
［技術分野］
本開示は、ビデオ圧縮技術に関するものである。特に、本開示は、高効率ビデオ符号化（ＨＥＶＣ：Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）に勝るビデオ符号化／復号化技術を含む次世代ビデオ符号化技術に関するものである。特に、本開示は、現在のＨＥＶＣ規格（現在の拡張機能を含む）の圧縮能力を著しく超える圧縮能力を有する将来のビデオ符号化技術の規格化への潜在的なニーズに関するものである。非特許文献１で論じられているように、ＨＥＶＣの能力を超えるビデオ符号化技術を探索するために、共同探索モデル（ＪＥＭ：Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅｌ）が開発された。ＪＥＭの比較的新しいバージョンは、ＪＥＭ−７．０であり、ＪＶＥＴ−Ｇ１００１のアルゴリズム説明を有する。開示された主題は、ＪＥＭ  ７．０のコンテキストおよびＪＥＭ−７．０の変更において使用されてもよい。より具体的には、本開示の一態様は、例えば６４ポイント、１２８ポイント、２５６ポイント、さらに２５６ポイント以上の変換などの大規模変換のための、低複雑度変換スキームに基づいて符号化または復号化するための方法、デバイス、およびコンピュータ媒体に関するものである。
【背景技術】
【０００３】
関連技術の説明
動き補償を有するフレーム間画像予測を使用するビデオ符号化および復号化が何十年も知られている。圧縮されていないデジタルビデオは、一連の画像によって形成されることができ、各画像が、例えば１９２０×１０８０の輝度サンプルおよび関連された色度サンプルの空間的次元を有する。この一連の画像は、例えば１秒間に６０枚の画像または６０ヘルツ（Ｈｚ）の固定または可変の画像レート（非公式にはフレームレートとして知られている）を有することができる。圧縮されていないビデオには、非常に高いビットレート要件がある。例えば、サンプル毎の８ビットの１０８０ｐ６０  ４：２：０のビデオ（６０Ｈｚのフレームレートでの１９２０ｘ１０８０の輝度サンプル解像度）は、１．５Ｇｂｉｔ／ｓの帯域幅に近い必要がある。このようなビデオは、一時間で６００ＧＢ以上の記憶空間を必要とする。
【０００４】
ビデオ符号化および復号化の１つの目的は、入力ビデオ信号における冗長情報を圧縮により低減することである。圧縮は、上記の帯域幅または記憶空間に対する要件を低減することを助けることができ、いくつかの場合では、二桁以上程度を低減することができる。無損失性および損失性の圧縮、ならびに両方の組み合わせは、いずれも使用されることができる。無損失性の圧縮とは、元の信号の正確なコピーを圧縮された元の信号から再構築することができる、という技術を指す。損失性の圧縮が使用される場合、再構築された信号は、元の信号と同一ではない可能性があるが、元の信号と再構築された信号との間の歪みが十分に小さいので、再構築された信号が予想されるアプリケーションに利用されることができる。ビデオの場合、損失性の圧縮は広く使われている。許容される歪みの量は、アプリケーションに依存し、例えば、あるストリーミングアプリケーションを消費するユーザは、テレビジョン配信アプリケーションのユーザより、高い歪みを許容することができる。実現可能な圧縮比は、より高い許可／許容可能な歪みがより高い圧縮比を生成することができる、ということを反映している。
【０００５】
当業者は、通常、ビデオ圧縮／解凍技術を理解する。一般的に、ビデオまたは画像データを圧縮するために、一連の機能ステップを実行することで、圧縮されたビデオまたは画像ファイルを生成する。（例えば、３６０°カメラによって捕捉された）３６０°画像などのような画像は、圧縮に適しているかもしれないが、読みやすいために、ビデオファイルの圧縮について説明する。圧縮されたビデオファイルを生成するために、従来の規格（例えば、Ｈ．２６４、  Ｈ．２６５）で、ビデオソースから受信された、圧縮されていないビデオサンプルストリームを分割または解析して、２つ以上の参照画像のサンプルブロックを生成することができる。
【０００６】
ＢＩ（双方向）予測は、予測されるサンプルブロックのような予測ユニット（ＰＵ：ｐｒｅｄｉｃｔｉｏｎ  ｕｎｉｔ）を、２つ以上の参照画像の２つの動き補償されたサンプルブロックから予測することができる、という技術に関することができる。ＢＩ予測は、まず、動的画像専門家グループ−１（ＭＰＥＧ−１：Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ−１）のビデオ符号化規格に導入され、また、ＭＰＥＧ−２の部分２（またはＨ．２６２）およびＨ．２６４とＨ．２６５などのような他のビデオ符号化技術と規格にも含まれている。
【０００７】
圧縮されたビデオファイルを解凍する場合、ＢＩ予測されたＰＵのサンプルの再構築の期間に、各参照ブロックからの、運動補償されて補間された入力サンプルを、各参照ブロックのために異なることができる重み付け因子で乗算することができ、そして、２つの参照ブロックのこのような重み付けされたサンプル値を追加することで、再構築中のサンプルを生成することができる。このようなサンプルを、ループフィルタリングのようなメカニズムによってさらに処理することができる。
【０００８】
ＭＰＥＧ−１とＭＰＥＧ−２では、再構築中のＰＵが属する画像と、２つの参照画像との間の相対的な時間的距離に基づいて、重み付け因子を決定することができる。これは可能であり、ＭＰＥＧ−１とＭＰＥＧ−２では、２つの参照するＩまたはＰ画像のうちの１つが「過去」にあり、もう１つが、再構築中のＢ画像の「将来」（呈示順序の観点から）にあるためであり、また、ＭＰＥＧ−１とＭＰＥＧ−２では、その参照画像に関連して、再構築中の、いかなる画像に対して確立された、明確に定義されたタイミング関係が存在しているためである。
【０００９】
Ｈ．２６４から始めて、ＢＩ予測された画像の参照画像の選択概念が緩和され、これによって、参照画像は、呈示順序ではなく、復号化順序においてより早く出現する必要があるだけになる。さらに、Ｈ．２６４もＨ．２６５も、時間領域での制約／固定された画像間隔を必要としないという点で、時間の概念も緩和された。したがって、デコーダは、ビットストリームで利用可能なタイミング情報に基づいて、重み付け因子を再計算することができない。その代わりに、Ｈ．２６４とＨ．２６５は、ＢＩ予測された画像の参照サンプルの重み付け因子とする、デフォルト値である０．５を含む。このデフォルト値は、ｐｒｅｄ＿ｗｅｉｇｈｔ＿ｔａｂｌｅ（）として知られているスライスヘッダーで使用可能な構文によって書き換えられる。デフォルト値である０．５、または、ｐｒｅｄ＿ｗｅｉｇｈｔ＿ｔａｂｌｅにおける情報は、与えられたスライスにおけるすべてのＢＩ予測されたＰＵに適用することができる。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
大規模変換（３２ポイント以上の変換）が付加的な符号化利得をもたらすという実験的証拠がある。しかしながら、大規模変換をビデオコーデックに導入することは、計算のコストおよび複雑度（例えば、付加的な乗算の数および付加的な乗算器）を増加することがある。さらに、大規模変換をビデオコーデックに導入することは、付加的なメモリ負担を増加し、この付加的なメモリ負担には、１）最大の変換サイズが水平かつ垂直に２倍（２ｘ）で増加した場合、パイプラインのバッファサイズが４倍（４ｘ）で増加することと、２）大規模変換が、変換カーネルを記憶するために付加的なメモリを必要とすることと、が含まれている。
【００１１】
ＤＣＴ−２、ＤＣＴ−３、ＤＳＴ−２、ＤＳＴ−３を含むＤＣＴ−２ファミリーにおける変換に対して調整段階を適用することによって、ＪＥＭ  ７における異なるタイプの離散コサイン変換（ＤＣＴ：Ｄｉｓｃｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）と離散サイン変換（ＤＳＴ：Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を近似する方法が提案され、また、前記の調整段階とは、比較的少ない動作カウントを必要とする疎行列を使用している行列乗算を指す。非特許文献１では、２Ｎ＋１ポイントの離散フーリエ変換（ＤＦＴ：Ｄｉｓｃｅｔｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）を使用して、ＮポイントのＤＳＴ−７を実現する方法が提案された。
【００１２】
しかしながら、適応型マルチコア変換（ＡＭＴ：Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉｐｌｅ  ｃｏｒｅ  Ｔｒａｎｓｆｏｒｍ）における付加的な変換タイプは、複雑度と実施コストを増加することがある。これは、実際に実行するために、付加的な変換コアをオンチップメモリに記憶する必要があり、また、変換タイプを１つのブロックから他のブロックへ切り替える際に、変換コアをロードする必要がある、からである。ＨＥＶＣでは、より小規模なＤＣＴ−２変換がより大規模なＤＣＴ−２変換の一部となっており、そのことが、異なるサイズの変換を実行するために同じロジックを再利用するのをサポートする。しかしながら、ＡＭＴを利用すると、このような特徴はなくなっている。ＤＣＴ−２以外で、より大規模な変換のためにより小規模な変換を再利用することはできず、これは、異なるサイズの変換を実行するために異なるロジックを設計する必要があることがある、ということを意味する。
【００１３】
関連技術リスト
非特許文献１とは、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の共同ビデオ探索チームが、２０１７年７月１３日〜２１日に、イタリア・トリノで開催された第７回の会議で、ＪＶＥＴ−Ｇ１００を提案し、作者が「Ｊ．Ｃｈｅｎ、Ｅ．Ａｌｓｈｉｎａ、Ｇ．Ｊ．Ｓｕｌｌｉｖａｎ、Ｊ．−Ｒ．ＯｈｍとＪ．Ｂｏｙｃｅ」であり、名称が「Ａｌｇｏｒｉｔｈｍ  Ｄｅｓｃｒｉｐｔｉｏｎ  ｏｆ  Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｔｅｓｔ  Ｍｏｄｅｌ  ７  （ＪＥＭ  ７）、共同探索テストモデル７（ＪＥＭ  ７）のアルゴリズム記述」である。
【課題を解決するための手段】
【００１４】
本開示の一態様によれば、符号化または復号化の方法は、符号化または復号化されるターゲットデータブロックである音声、ビデオまたは画像のデータブロックに関する情報を受信することを、含むことができる。符号化または復号化の方法は、ターゲットデータブロックのデータブロックサイズの幅または高さのうちの少なくとも１つが所定の閾値以上であるかどうかを決定することを、さらに含むことができる。符号化または復号化の方法は、ターゲットデータブロックのデータブロックサイズの幅または高さのうちの少なくとも１つが所定の閾値以上である場合、ターゲットデータブロックの符号化または復号化を実行するが、ターゲットデータブロックのデータブロックサイズの幅または高さのうちの少なくとも１つに対応するサイズを有する大規模変換を適用する代わりに、ターゲットデータブロックの第１部分に第１変換を適用することを、さらに含むことができる。
【００１５】
符号化または復号化の方法は、ターゲットデータブロックの第２部分に第１変換または第２変換を適用することを、さらに含むことができる。符号化または復号化の方法は、第１変換と第２変換のうちの少なくとも１つが所定の閾値より小さいサイズを有する低複雑度変換であることを、さらに含むことができる。
【００１６】
本開示の一態様によれば、装置は、コンピュータプログラムコードを記憶するように構成される少なくとも１つのメモリと、前記少なくとも１つのメモリにアクセスして、前記コンピュータプログラムコードに従って動作するように構成される少なくとも１つのプロセッサとを含むことができる。前記コンピュータプログラムコードは、複数の適用コード（例えば、第１適用コード、第２適用コード、第３適用コード、および第４適用コードなど）を含むことができる。  
【００１７】
第１適用コードは、少なくとも１つのプロセッサに、符号化または復号化されるターゲットデータブロックである音声、ビデオまたは画像のデータブロックに関する情報を受信させるように構成されることができる。第２適用コードは、少なくとも１つのプロセッサに、ターゲットデータブロックのデータブロックサイズの幅または高さのうちの少なくとも１つが所定の閾値以上であるかどうかを決定させるように構成されることができる。
【００１８】
第３適用コードは、少なくとも１つのプロセッサに、ターゲットデータブロックのデータブロックサイズの幅または高さのうちの少なくとも１つが所定の閾値以上である場合、ターゲットデータブロックの符号化または復号化動作を実行させるが、ターゲットデータブロックのデータブロックサイズの幅または高さのうちの少なくとも１つに対応するサイズを有する大規模変換を適用させる代わりに、ターゲットデータブロックの第１部分に第１変換を適用させ、ターゲットデータブロックの第２部分に第１変換または第２変換を適用させるように構成されることができる。装置は、第１変換と第２変換のうちの少なくとも１つが所定の閾値より小さいサイズを有する低複雑度変換であること、をさらに含むことができる。
【００１９】
本開示の一態様によれば、非一時的なコンピュータ読み取り可能な記憶媒体は、１つ以上のプロセッサに多くのステップを実行させる命令を記憶することができる。前記多くのステップは、符号化または復号化されるターゲットデータブロックである音声、ビデオまたは画像のデータブロックに関する情報を受信するステップを、含むことができる。前記多くのステップは、ターゲットデータブロックのデータブロックサイズの幅または高さのうちの少なくとも１つが所定の閾値以上であるかどうかを決定するステップを、さらに含むことができる。
【００２０】
前記多くのステップは、ターゲットデータブロックのデータブロックサイズの幅または高さのうちの少なくとも１つが所定の閾値以上である場合、ターゲットデータブロックの符号化または復号化を実行するが、ターゲットデータブロックのデータブロックサイズの幅または高さのうちの少なくとも１つに対応するサイズを有する大規模変換を適用する代わりに、ターゲットデータブロックの第１部分に第１変換をタ適用し、ターゲットデータブロックの第２部分に第１変換または第２変換を適用するステップを、さらに含むことができる。前記多くのステップは、第１変換と第２変換のうちの少なくとも１つが所定の閾値より小さいサイズを有する低複雑度変換であることを、さらに含むことができる。
【図面の簡単な説明】
【００２１】
開示された主題の更なる特徴、性質、および様々な利点は、以下の詳細な説明および添付図面からより明らかになり、ここで、
【００２２】
【図１】一実施形態による通信システムの簡略化されたブロック図の概略図である。
【００２３】
【図２】一実施形態によるストリーミングシステムの簡略化されたブロック図の概略図である。
【００２４】
【図３】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
【００２５】
【図４】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【００２６】
【図５】一実施形態による符号化または復号化の例示的方法の概略図である。
【００２７】
【図６Ａ】四分木プラス二分木（ＱＴＢＴ：ＱｕｄＴｒｅｅ  ｐｌｕｓ  Ｂｉｎａｒｙ  Ｔｒｅｅ）を使用してブロック分割を行う例を示す図である。
【００２８】
【図６Ｂ】図６Ａのブロック分割に対応するツリーを示す図である。
【００２９】
【図７】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【００３０】
図１は、本開示の実施形態による通信システム（１００）の簡略化されたブロック図を示す。通信システム（１００）は、ネットワーク（１５０）を介して相互接続された、少なくとも２つの端末（１１０、１２０）を含むことができる。データの単方向伝送について、第１端末（１１０）は、ネットワーク（１５０）を介して他の端末（１２０）に送信するために、ローカル位置でビデオデータを符号化することができる。第２端末（１２０）は、ネットワーク（１５０）から他の端末の符号化されたビデオデータを受信し、符号化されたデータを復号化して、復元されたビデオデータを表示することができる。単方向データ伝送は、メディアサービングアプリケーションでは一般的である。
【００３１】
図１は、例えば、ビデオ会議中に発生する可能性がある、符号化されたビデオの双方向伝送をサポートする第２ペアの端末（１３０、１４０）を示す。データの双方向伝送の場合、各端末（１３０、１４０）は、）は、ネットワーク（１５０）を介して他の端末に送信するために、ローカルで捕捉されたビデオデータを符号化することができる。各端末（１３０、１４０）は、他の端末によって送信された、符号化されたビデオデータを受信することもでき、符号化されたデータを復号化することができ、また復元されたビデオデータをローカルの表示デバイスに表示することもできる。
【００３２】
図１において、端末（１１０〜１４０）は、ラップトップ１１０、サーバ１２０、およびスマートフォン１３０と１４０として示されてもよいが、本開示の原理は、これに限定されていない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤおよび／または専用のビデオ会議機器を含むが、これらに限定されていない他の機器を有するアプリケーションを見つける。ネットワーク（１５０）は、符号化されたビデオデータを端末（１１０〜１４０）で送信する任意の数のネットワークを表し、例えば、有線および／または無線の通信ネットワークを含む。通信ネットワーク（１５０）は、回線交換および／またはパケット交換のチャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび／またはインターネットを含む。本議論の目的のために、ネットワーク（１５０）のアーキテクチャおよびトポロジは、以下に本明細書で説明されない限り、本開示の動作にとって重要ではない場合がある。
【００３３】
図２は、開示された主題に対するアプリケーションの例として、ストリーミング環境におけるビデオエンコーダおよびデコーダの配置を示す。開示された主題は、例えば、光ディスク（ＣＤ：Ｃｏｍｐｅｃｔ  Ｄｉｓｃ）、高密度デジタルビデオディスク（ＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｃ）、メモリスティックなどを含むデジタルメディアへの圧縮されたビデオの記憶、ビデオ会議、デジタルＴＶなどを含む、他のビデオサポートアプリケーションにも同等に適用可能である。  
【００３４】
ストリーミングシステムは、捕捉サブシステム（２１３）を含むことができ、この捕捉サブシステムが、例えばデジタルカメラなどのビデオソース（２０１）を含むことができ、圧縮されていないビデオサンプルストリーム（２０２）を作成することができる。符号化されたビデオビットストリームと比較する際に、高いデータボリュームを強調するために太い線で描かれたサンプルストリーム（２０２）は、カメラ（２０１）に結合されたエンコーダ（２０３）によって処理されることができる。エンコーダ（２０３）は、以下で詳細に説明するように、開示された主題の様々な態様を可能にするかまたは実現するために、ハードウェア（例えば、プロセッサ、または回路とメモリ）、ソフトウェア、またはそれらの組み合わせを含むことができる。サンプルストリームと比較する際により低いデータボリュームを強調するために細い線で描かれた、符号化されたビデオビットストリーム（２０４）は、将来の使用のためにストリーミングサーバ（２０５）に記憶されることができる。１つ以上のストリーミングクライアント（２０６、２０８）は、ストリーミングサーバ（２０５）にアクセスして、符号化されたビデオビットストリーム（２０４）のコピー（２０７、２０９）を検索することができる。クライアント（２０６）は、ビデオデコーダ（２１０）を含むことができ、このビデオデコーダ（２１０）は、伝入される、符号化されたビデオビットストリーム（２０７）のコピーを復号化して、伝出される、ビデオサンプルストリーム（２１１）を作成することができ、このビデオサンプルストリーム（２１１）が、ディスプレイ（２１２）または他のレンダリングデバイス（図示せず）に表示されることができる。
【００３５】
図３は、本開示の実施形態によるビデオデコーダ（２１０）の機能ブロック図を示す。図３に示すように、受信機（３１０）は、ビデオデコーダ（２１０）によって復号化される１つ以上の符号化されたビデオシーケンスを受信することができ、同じまたは別の実施形態では、一度に１つの符号化されたビデオシーケンスを受信することができ、ここで、各符号化されたビデオシーケンスの復号化が、他の符号化されたビデオシーケンスから独立している。符号化されたビデオシーケンスは、チャネル（３１２）から受信されることができ、このチャネルが、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア／ソフトウェアのリンクであってもよい。受信機（３１０）は、それぞれの使用エンティティ（図示せず）に転送されることができる、例えば符号化されたオーディオデータおよび／または補助のデータストリームなどの他のデータとともに、符号化されたビデオデータを受信することができる。受信機（３１０）は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタを防止するために、バッファメモリ（３１５）は、受信機（３１０）とエントロピーデコーダ／解析器（Ｐａｒｓｅｒ）（３２０）（以後の「解析器」）との間に結合されることができる。受信機（３１０）が十分な帯域幅および制御可能性を有するストア／フォワードデバイスからまたは等時性同期ネットワークからデータを受信する場合、バッファメモリ（３１５）は、必要ではないかまたは小さくでもよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ（３１５）は、必要になる場合があり、比較的大きくすることができ、有利には適応性のサイズにすることができる。
【００３６】
ビデオデコーダ（３１０）は、エントロピー符号化されたビデオシーケンスからシンボル（３２１）を再構築するための解析器（３２０）を含むことができる。これらのシンボルのカテゴリには、ビデオデコーダ（２１０）の動作を管理するために使用される情報と、デコーダの不可欠な部分ではないが、図２および図３に示すように、そのデコーダに結合されることができるディスプレイ（２１２）などのレンダリングデバイスを制御するための潜在的な情報とが含まれる。レンダリングデバイスの制御情報は、補助拡張情報（ＳＥＩ：Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）メッセージまたはビデオユーザビリティ情報（ＶＵＩ：Ｖｉｄｅｏ  Ｕｓａｂｉｌｉｔｙ  Ｉｎｆｏｒｍａｔｉｏｎ）パラメータセットフラグメント（図示せず）の形であってもよい。解析器（３２０）は、受信された、符号化されたビデオシーケンスに対して解析／エントロピー復号化を行うことができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または規格に従うことができて、当業者に知られている原理に従うことができ、可変長符号化、ハフマン符号化（Ｈｕｆｆｍａｎ  ｃｏｄｉｎｇ）、コンテキスト感度を有するかまたは有しないかの算術符号化などを含む。解析器（３２０）は、グループに対応する少なくとも１つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオデコーダにおける画素のサブグループのうちの少なくとも１つのためのサブグループパラメータのセットを、抽出することができる。サブグループは、画像のグループ（ＧＯＰ：Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）、画像、タイル、スライス、マクロブロック、符号化ユニット（ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ）、ブロック、変換ユニット（ＴＵ：Ｔｒａｎｓ  ｆｏｒｍ  Ｕｎｉｔ）、予測ユニット（ＰＵ：Ｐｒｅｃｔｉｏｎ  Ｕｎｉｔ）などを含むことができる。エントロピーデコーダ／解析器は、変換係数、量子化器パラメータ値、動きベクトルなどの情報を符号化されたビデオシーケンスから抽出することもできる。
【００３７】
解析器（３２０）は、シンボル（３２１）を作成するために、バッファメモリ（３１５）から受信されたビデオシーケンスに対してエントロピー復号化／解析動作を実行することができる。シンボル（３２１）の再構築は、符号化されたビデオ画像またはその一部（例えば、レーム間画像およびフレーム内画像、フレーム間ブロックおよびフレーム内ブロック）のタイプ、および他の要因に応じて、複数の異なるユニットに関連することができる。どのようなユニットに関連するか、およびどのように関連するかは、解析器（３２０）によって、符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御されることができる。解析器（３２０）と以下の複数のユニットの間との間のそのようなサブグループ制御情報のフローは明確にするために説明されていない。
【００３８】
既に言及された機能ブロックに加えて、ビデオデコーダ２１０は、以下に説明するように、いくつかの機能ユニットに概念的に細分化されることができる。商業的制約で動作する実際の実施形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には互いに統合されることができる。しかしながら、開示された主題を説明する目的のために、以下の機能ユニットへの概念的な細分が適切である。
【００３９】
第１ユニットは、スケーラ／逆変換ユニット（３５１）であってもよい。スケーラ／逆変換ユニット（３５１）は、量子化された変換係数と、どのような変換を使用するか、データブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報とを、シンボル（３２１）として解析器（３２０）から受信することができる。スケーラ／逆変換ユニット（３５１）は、アグリゲータ（３５５）に入力できるサンプル値を含むブロックを出力することができる。
【００４０】
いくつかの場合では、スケーラ／逆変換ユニット（３５１）の出力サンプルは、フレーム内符号化ブロックに属することができ、即ち、このフレーム内符号化ブロックは、以前に再構築された画像からの予測情報を使用していないが、現在の画像の以前に再構築された部分からの予測情報を使用できるブロックである。このような予測情報は、フレーム内画像予測ユニット（３５２）によって提供されてもよい。いくつかの場合では、フレーム内画像予測ユニット（３５２）は、現在の（部分的に再構築された）画像（３５６）から抽出された、周囲の既に再構築された情報を使用して、再構築中のブロックと同じサイズおよび形状のブロックを生成する。アグリゲータ（３５５）は、いくつかの場合では、サンプルごとに基づいて、フレーム内予測ユニット（３５２）によって生成された予測情報を、スケーラ／逆変換ユニット（３５１）によって提供される出力サンプル情報に追加する。
【００４１】
他の場合では、スケーラ／逆変換ユニット（３５１）の出力サンプルは、フレーム間符号化されたブロックおよび潜在的に動き補償されたブロックに属することができる。このような場合、動き補償予測ユニット（３５３）は、参照画像メモリ（３５７）にアクセスして、予測に用いられるサンプルを抽出することができる。抽出されたサンプルが、ブロックに関連するシンボル（３２１）に従って動き補償された後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ（３５５）によってスケーラ／逆変換ユニットの出力（この場合、残差サンプルまたは残差信号と呼ばれる）に追加されることができる。動き補償ユニットが予測サンプルを抽出するときの参照画像メモリ内のアドレスは、例えば、Ｘ、Ｙおよび参照画像成分を有することができるシンボル（３２１）の形で、動き補償ユニットに利用可能な動きベクトルによって制御されることができる。動き補償は、サブサンプルの正確な運動ベクトルが使用中であるときに、参照画像メモリから抽出されたサンプル値の補間、運動ベクトル予測メカニズムなどを含むこともできる。
【００４２】
アグリゲータ（３５５）の出力サンプルは、ループフィルタユニット（３５６）において様々なループフィルタリング技術によって採用されてもよい。ビデオ圧縮技術は、符号化されたビデオビットストリームに含まれ、解析器（３２０）からのシンボル（３２１）としてループフィルタユニット（３５６）に利用可能になるパラメータによって制御されるループ内フィルタ技術を含みことができ、また、符号化された画像または符号化されたビデオシーケンスの前の部分（復号化順序で）を復号化する期間で得られたメタ情報に応答し、および、以前に再構築されてループフィルタされたサンプル値に応答することもできる。
【００４３】
ループフィルタユニット（３５６）の出力は、レンダリングデバイス（２１２）に出力することができ、および、将来のフレーム間画像予測で使用するために参照画像メモリ（３５７）に記憶することができるサンプルストリームとすることができる。
【００４４】
特定の符号化された画像は、一旦完全に再構築されると、将来の予測のための参考画像として使用されることができる。例えば、符号化された画像が一旦完全に再構築され、かつ、符号化された画像が（例えば、解析器（３２０）によって）参照画像として識別されると、現在の参照画像（３５６）は、参照画像バッファ（３５７）の一部となることができ、また、後続の符号化された画像の再構築を開始する前に、新しい現在の画像メモリを再割り当てすることができる。
【００４５】
ビデオデコーダ３２０は、例えばＩＴＵ−Ｔ  ＲＥＣ．  Ｈ．２６５などの規格における所定のビデオ圧縮技術に従って復号化動作を実行することができる。符号化されたビデオシーケンスは、ビデオ圧縮技術ドキュメントまたは規格において、特に、それらのプロファイルドキュメントにおいて指定されたビデオ圧縮技術または規格の構文に従うという意味で、使用されているビデオ圧縮技術または規格によって指定された構文に従うことができる。符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格の階層によって定義された範囲内にあることもコンプライアンスに必要である。いくつかの場合では、階層は、最大画像サイズ、最大フレームレート、（例えば、毎秒メガ（ｍｅｇａ）個のサンプルを単位として測定された）最大再構築サンプルレート、および／または最大参照画像サイズを制限する。階層によって設定された制限は、いくつかの場合では、仮想参照デコーダ（ＨＲＤ：Ｈｙｐｔｈｅｔｉｃａｌ  Ｒｅｆｅｒｅｎｃｅ  Ｄｅｃｏｄｅｒ）仕様と、符号化されたビデオシーケンスにおいて信号で通知されたＨＲＤバッファ管理のメタデータとによって、さらに限定されることができる。
【００４６】
一実施形態では、受信機（３１０）は、符号化されたビデオとともに付加（冗長）的なデータを受信することができる。付加的なデータは、符号化されたビデオシーケンスの一部として含まれることができる。付加的なデータは、データを適切に復号化し、および／または、元のビデオデータをより正確に再構築するために、ビデオデコーダ（３２０）によって使用されることができる。付加的なデータは、例えば、時間的、空間的、または信号雑音比（ＳＮＲ：ｓｉｇｎａｌ  ｎｏｉｓｅ  ｒａｔｉｏ）拡張層、冗長スライス、冗長画像、前方誤り訂正符号などの形式にすることができる。
【００４７】
図４は、本開示の一実施形態によるビデオエンコーダ（２０３）の機能ブロック図である。
【００４８】
エンコーダ（２０３）は、エンコーダ（２０３）によって符号化されるビデオ画像を捕捉することができるビデオソース（２０１）（それはエンコーダの一部ではない）から、ビデオサンプルを受信することができる。
【００４９】
ビデオソース（２０１）は、エンコーダ（２０３）によって符号化されるソースビデオシーケンスをデジタルビデオサンプルストリームの形で提供することができ、前記タルビデオサンプルストリームは、任意の適切なビット深度（例えば、８ビット、１０ビット、１２ビット、…）、任意の色空間（例えば、ＢＴ．６０１  Ｙ  ＣｒＣＢ、ＲＧＢ…）、および任意の適切なサンプリング構造（例えば、Ｙ  ＣｒＣｂ  ４：２：０、Ｙ  ＣｒＣｂ  ４：４：４）を有することができる。メディアサービスシステムでは、ビデオソース（２０１）は、以前に準備されたビデオを記憶する記憶デバイスであってもよく、この記憶デバイスは、メモリとプロセッサとを含むことができる。ビデオ会議システムでは、ビデオソース（２０１）は、ローカル画像情報をビデオシーケンスとして捕捉するカメラを含むことができる。ビデオデータは、順番に見られるときに動きを与える複数の個別の画像として提供されることができる。画像自体は、空間画素アレイとして構成されてもよく、ここで、各画素は、使用中のサンプリング構造、色空間などに応じて、１つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てる。
【００５０】
一実施形態によれば、エンコーダ（２０３）は、リアルタイムで、またはアプリケーションによって要求される任意の他の時間制約の下で、ソースビデオシーケンスの画像を符号化して圧縮し、符号化されたビデオシーケンス（４４３）にすることができる。適切な符号化速度を実施することは、コントローラ（４５０）の１つの機能である。コントローラは、以下で説明するように他の機能ユニットを制御し、これらのユニットに機能的に結合される。結合は、明瞭にするために図示されていない。コントローラによって設定されたパラメータは、レート制御関連パラメータ（例えば、画像スキップ、量子化器、レート歪み最適化技術のλ（ラムダ）値）、画像サイズ、画像グループ（ＧＯＰ：ｇｒｏｕｐ  ｏｆ  ｐｉｃｔｕｒｅｓ）レイアウト、最大動きベクトル探索範囲などを含むことができる。当業者は、コントローラ（４５０）の他の機能を容易に識別することができ、これらの機能が、特定のシステム設計のために最適化されたビデオエンコーダ（２０３）に関係するからである。
【００５１】
いくつかのビデオエンコーダは、当業者が容易に認識する符号化ループで動作する。過度に簡単化された説明として、符号化ループは、エンコーダ（４３０）（以下、「ソースコーダ」）の符号化部分と、エンコーダ（２０３）に埋め込まれた（ローカル）デコーダ（４３３）とによって構成されることができ、前記エンコーダ（４３０）は、符号化される入力画像と、参照画像とに基づいてシンボルを作成することを担当し、前記デコーダ（４３３）は、（リモート）デコーダによってサンプルデータを作成するようにシンボルを再構築してサンプルデータを作成する（開示された主題で考慮されているビデオ圧縮技術では、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮が無損失であるため）。再構築されたサンプルストリームは、参照画像メモリ（４３４）に入力される。シンボルストリームの復号化により、デコーダの場所（ローカルまたはリモート）に関係なくビット正確な結果が得られるため、参照画像バッファのコンテンツは、ローカルエンコーダとリモートエンコーダとの間でもビットで正確に対応する。言い換えれば、エンコーダの予測部分が「見た」参照画像サンプルは、デコーダが復号化期間に予測を使用する際に「見た」サンプル値と全く同じである。この参照画像の同期性の基本原理（および、例えばチャネル誤差の原因で同期性を維持できない場合に生じるドリフト）は、当業者によく知られている。
【００５２】
「ローカル」デコーダ（４３３）の動作は、既に図３に関連して以上で詳細に説明された、「リモート」デコーダ（２１０）の動作と同じであってもよい。しかし、図３をさらに簡単に参照すると、シンボルが利用可能であり、かつ、エントロピーコーダ（４４５）および解析器（３２０）によって符号化されたビデオシーケンスへのシンボルの符号化／復号化が無損失であることができるため、（チャネル（３１２）、受信機（３１０）、バッファ（３１５）および解析器（３２０）を含む）デコーダ（２１０）のエントロピー復号化部分は、ローカルデコーダ（４３３）で完全に実行されていない可能性がある。
【００５３】
この時点で、デコーダに存在する解析／エントロピー復号化以外のいかなるデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形式で必ず存在する必要がある、ということが観察されている。エンコーダ技術の説明は、説明されたデコーダ技術の逆である。特定の領域だけで、より詳細な説明が必要であり、以下で提供される。
【００５４】
その動作の一部として、ソースコーダ（４３０）は、動き補償予測符号化を実行することができ、前記動き補償予測符号化は、ビデオシーケンスから「参照フレーム」として指定された１つ以上の以前に符号化されたフレームを参照して、入力フレームを予測的に符号化する。このようにして、符号化エンジン（４３２）は、入力フレームの画素ブロックと、入力フレームに対する予測参照として選択されることができる参照フレームの画素ブロックとの間の差分を符号化する。
【００５５】
ローカルビデオデコーダ（４３３）は、ソースコーダ（４３０）によって作成されたシンボルに基づいて、参照フレームとして指定されることができるフレームの符号化されたビデオデータを復号化することができる。符号化エンジン（４３２）の動作は、有利には損失性のプロセスであってもよい。符号化されたビデオデータがビデオデコーダ（図４に示されない）で復号化されることができる場合、再構築されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ（４３３）は、参照フレームに対してビデオデコーダによって実行されることができる復号化プロセスを複製して、再構築された参照フレームを参照画像キャッシュ（４３４）に記憶させることができる。このようにして、エンコーダ（２０３）は、遠端ビデオデコーダによって得られる（伝送誤差が存在しない）再構築された参照フレームと共通のコンテンツを有する再構築された参照フレームのコピーを、ローカルに記憶することができる。
【００５６】
予測器（４３５）は、符号化エンジン（４３２）に対して予測検索を実行することができる。すなわち、符号化される新しいフレームについて、予測器（４３５）は、新しい画像の適切な予測参照として機能するサンプルデータ（候補参照画素ブロックとして）または特定のメタデータ、例えば参照画像動きベクトル、ブロック形状などについて、参照画像メモリ（４３４）を検索することができる。予測器（４３５）は、適切な予測参照を見つけるために、サンプルブロックに基づいて、画素ブロックごとに動作することができる。いくつかの場合では、予測器（４３５）によって得られた検索結果によって決定されるように、入力画像は、参照画像メモリ（４３４）に記憶された複数の参照画像から引き出された予測参照を有することができる。
【００５７】
コントローラ（４５０）は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ビデオコーダ（４３０）の符号化動作を管理することができる。
【００５８】
上述のすべての機能ユニットの出力は、エントロピーコーダ（４４５）においてエントロピー符号化されることができる。エントロピーコーダは、ハフマン符号化、可変長符号化、算術符号化などのような、当業者に知られている技術に従って、シンボルを無損失で圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化されたビデオシーケンスに変換することができる。
【００５９】
送信機（４４０）は、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア／ソフトウェアリンクであることができる通信チャネル（４６０）を介した送信に備えるために、エントロピーコーダ（４４５）によって作成された、符号化されたビデオシーケンスをバッファリングすることができる。送信機（４４０）は、ビデオコーダ（４３０）からの符号化されたビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび／または補助データストリーム（ソースは図示せず）とマージすることができる。
【００６０】
コントローラ（４５０）は、ビデオエンコーダ（２０３）の動作を管理することができる。符号化する期間、コントローラ（４５０）は、各符号化された画像に、特定の符号化された画像タイプを割り当てることができ、これは、それぞれの画像に適用できる符号化技術に影響を与える可能性がある。例えば、画像は、たとえばフレーム内画像（Ｉ画像）、予測画像（Ｐ画像）、双方向予測画像（Ｂ画像）の中から、以下のフレームタイプのいずれかとして割り当てられることが多い。
【００６１】
フレーム内画像（Ｉ画像）は、シーケンス内の任意の他のフレームを予測ソースとして使用せずに、符号化および復号化されることができるものであってもよい。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ（ＩＤＲ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｅｃｏｄｅｒ  Ｒｅｆｒｅｓｈ）画像などの異なるタイプのフレーム内画像を許容する。当業者は、Ｉ画像の変種およびそれらのそれぞれのアプリケーションおよび特徴を理解している。
【００６２】
予測画像（Ｐ画像）は、多くとも１つの動きベクトルおよび参照インデックスを使用して各データブロックのサンプル値を予測するフレーム内予測またはフレーム間予測を、使用して符号化および復号化され得るものであってもよい。
【００６３】
双方向予測画像（Ｂ画像）は、多くとも２つの動きベクトルおよび参照インデックスを使用して各データブロックのサンプル値を予測するフレーム内予測またはフレーム間予測を使用して、符号化および復号化され得るものであってもよい。同様に、複数の予測画像は、単一のブロックの再構築に２つ以上の参照画像および関連されたメタデータを使用することができる。
【００６４】
ソース画像は、一般的に、複数のサンプルデータブロック（例えば、それぞれ４ｘ４、８ｘ８、４ｘ８、または１６ｘ１６個のサンプルのブロック）に空間的に細分化され、ブロックごとに符号化されることができる。これらのデータブロックは、データブロックのそれぞれの画像に適用される符号化割り当てによって決定されるように、他の（既に符号化された）データブロックを参照して予測的に符号化されることができる。例えば、Ｉ画像のブロックは、非予測的に符号化されてもよく、またはそれらが同じ画像の既に符号化されたブロックを参照して予測的に符号化されてもよい（空間予測またはフレーム内予測）。Ｐ画像の画素ブロックは、１つ前に符号化された参照画像を参照して、空間的予測を介してまたは時間的予測を介して予測的に符号化されてもよい。Ｂ画像のブロックは、１つまたは２つ前に符号化された参照画像を参照して、空間予測または時間領域予測を介して予測的に符号化されてもい。
【００６５】
ビデオコーダ（２０３）は、例えばＩＴＵ−Ｔ  ＲＥＣ．Ｈ．２６５などのような所定のビデオ符号化技術または規格に従って、符号化動作を実行することができる。その動作において、ビデオコーダ（２０３）は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含む、さまざまな圧縮動作を実行することができる。したがって、符号化されたビデオデータは、使用されるビデオ符号化技術または規格によって指定された構文に従うことができる。
【００６６】
一実施形態では、送信機（４４０）は、符号化されたビデオとともに、付加的なデータを送信することができる。ビデオコーダ（４３０）は、そのようなデータを、符号化されたビデオシーケンスの一部として含むことができる。付加的なデータは、時間的／空間的／ＳＮＲ拡張層、冗長画像やスライスなどの他の形式の冗長データ、補足拡張情報（ＳＥＩ：Ｓｕｐｐｌｅｍｅｎｔａｒｙ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）メッセージ、視覚ユーザビリティ情報（ＶＵＩ：Ｖｉｓｕａｌ  Ｕｓａｂｉｌｉｔｙ  Ｉｎｆｏｒｍａｔｉｏｎ）パラメータセットフラグメントなどを含むことができる。
【００６７】
上述したように、符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または規格に従うことができて、当業者に知られている原理に従うことができ、可変長符号化、ハフマン符号化、コンテキスト感度を有するかまたは有しないかの算術符号化などを含む。いくつかのストリーミングシステムでは、ビデオビットストリーム（２０４、２０７、２０９）は、特定のビデオ符号化／圧縮規格に従って符号化されることができる。それらの規格の例は、Ｈ．２６５のＩＴＵ−Ｔ  ＨＥＶＣ推薦を含む。
【００６８】
上述したように、ＪＥＭ  ７．０は、より高い圧縮能力を提供する。以下のセクション１．１および１．２は、この開示に関連するＪＥＭ−７．０の変更を説明する。
【００６９】
セクション１．１：  ＱＴＢＴブロックの分割構造
【００７０】
ＨＥＶＣでは、符号化ツリーとして示される四分木構造を使用して、符号化ツリーユニット（ＣＴＵ：Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔを、符号化ユニット（ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ）に分割することで、各種の局所特性を適応させる。ＣＵレベルでは、フレーム間画像予測（時間）またはフレーム内画像（空間）予測を用いて画像領域を符号化する判定が行われる。予測ユニット（ＰＵ：Ｐｒｅｃｔｉｏｎ  Ｕｎｉｔ）の分割タイプにより、各Ｃｕをさらに１つ、２つまたは４つのＰＵに分割することができる。１つのＰＵの内部では、同じ予測処理を適用することができ、また、ＰＵに基づいて、関連情報をデコーダに送信することができる。ＰＵの分割タイプに基づいて予測処理を適用して残差データブロックを取得した後、ＣＵの符号化ツリーと類似する他の四分木構造に従って、ＣＵを変換ユニット（ＴＵ：Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔ）に分割することができる。ＨＥＶＣ構造の重要な特徴の１つは、ＣＵ、ＰＵとＴＵを含む複数の分割概念を持つということである。
【００７１】
ＱＴＢＴ構造は、複数の分割タイプの概念を去除し、即ち、ＣＵ、ＰＵとＴＵ概念の分離を去除し、また、ＣＵの分割形状のより多くの柔軟性をサポートする。ＱＴＢＴブロック構造では、ＣＵは、正方形または長方形を有することができる。図６Ａに示すように、まず、四分木構造によって符号化ツリーユニット（ＣＴＵ）を分割することができる。さらに、二分木構造によって四分木のリーフノードを分割することができる。二分木分割では、２つの分割タイプ（対称水平分割と対称垂直分割）が存在する。二分木のリーフノードは、符号化ユニット（ＣＵ）と呼ばれ、この分割は、さらなる分割なしで、予測および変換処理に用いられる。言い換えれば、ＱＴＢＴの符号化ブロック構造では、ＣＵ、ＰＵとＴＵは、同じブロックサイズを有する。
【００７２】
ＪＥＭでは、ＣＵは、異なる色成分の符号化ブロック（ＣＢ）から構成される場合があり、例えば、４：２：０色度フォーマットのＰおよびＢスライスの場合、１つのＣＵが１つの輝度ＣＢと２つの色度ＣＢを含み、単一成分のＣＢから構成される場合があり、例えば、Ｉスライスの場合、１つのＣＵが１つの輝度ＣＢのみまたはちょうど２つの色度ＣＢを含む。
【００７３】
ＱＴＢＴの分割スキームに対して、以下のパラメータを定義することができる。
ＣＴＵサイズは、四分木のルートノードのサイズであり、ＨＥＶＣにおける同じ概念である。
ＭｉｎＱＴＳｉｚｅは、許可された最小の四分木のリーフノードのサイズである。
ＭａｘＢＴＳｉｚｅは、許可された最大の二分木のルートノードのサイズである。
ＭａｘＢＴＤｅｐｔｈは、許可された最大の二分木の深さである。
ＭｉｎＢＴＳｉｚｅは、許可された最小の二分木のリーフノードのサイズである。
【００７４】
ＱＴＢＴの分割構造の１つの例では、ＣＴＵサイズを色度サンプルの２つの対応する６４×６４のブロックを有する１２８×１２８の輝度サンプルに設定することができ、ＭａｘＢＴＳｉｚｅを１６×１６に設定することができ、ＭｉｎＱＴＳｉｚｅを６４×６４に設定することができ、（幅および高さのための）ＭｉｎＢＴＳｉｚｅを４×４に設定することができ、かつ、ＭａｘＢＴＤｅｐｔｈを４に設定することができる。まず、四分木のリーフノードを生成するために、四分木分割をＣＴＵに適用することができる。四分木のリーフノードは、１６×１６（即ち、ＭｉｎＱＴＳｉｚｅ）から１２８×１２８（即ち、ＣＴＵサイズ）までのサイズを有することができる。また、四分木のリーフノードが１２８×１２８のサイズである場合は、サイズがＭａｘＢＴＳｉｚｅ（即ち、６４×６４）を超えるため、二分木によって更に分割されない。そうでない場合は、四分木のリーフノードは、二分木によって更に分割されることができる。したがって、四分木のリーフノードも、二分木のルートノードであり、また、それが、二分木の深さ「０」を有する。二分木の深さがＭａｘＢＴＤｅｐｔｈ（即ち、４）に達する場合、さらなる分割は考慮されない。二分木のノードがＭｉｎＢＴＳｉｚｅ（即ち、４）に等しい幅を有する場合、さらなる水平分割は考慮されない。同様に、二分木のノードがＭｉｎＢＴＳｉｚｅと等しい高さを有する場合、さらなる垂直分割は考慮されない。
【００７５】
二進木のリーフノードは、更なる分割なしに、予測および変換処理によってさらに処理される。ＪＥＭでは、最大のＣＴＵサイズは２５６×２５６個の輝度サンプルである。
【００７６】
図６Ａは、四分木プラス二分木（ＱＴＢＴ）を使用することによるブロック分割の例を示し、図６Ｂは、図６Ａのブロック分割の対応するツリー表現を示す。図６Ａにおいて、実線は、四分木分割を示し、破線は、二分木分割を示す。二分木の各分割（即ち、非リーフ）ノードにおいて、どの分割タイプ（即ち、水平または垂直）を使用するかを示す１つのフラグを信号で通知し、ここで、０は、水平分割を示し、１は、垂直分割を示す。四分木の分割については、分割タイプを指示する必要がない。これは、四分木分割が常に、データブロックを水平かつ垂直に分割することで、等しいサイズを有する４つのサブブロックを生成するためである。
【００７７】
また、ＱＴＢＴスキームは、輝度と色度が個別のＱＴＢＴ構造を有する能力をサポートしている。現在、ＰスライスとＢスライスについて、１つのＣＴＵにおける輝度ＣＴＢと色度ＣＴＢは、同じＱＴＢＴ構造を共有する。しかしながら、Ｉスライスについて、輝度ＣＴＢをＱＴＢＴ構造に従ってＣＵに分割し、色度ＣＴＢを別のＱＴＢＴ構造に従って色度ＣＵに分割する。これは、ＩスライスにおけるＣＵが、輝度成分の符号化データブロックまたは２つの色度成分の符号化ブロックから構成され、ＰスライスまたはＢスライスにおけるＣＵが、３つの色成分の符号化ブロックのすべてから構成される、ということを意味する。
【００７８】
ＨＥＶＣでは、動き補償のメモリアクセスを低減するために、小さいブロックのフレーム間予測を制限し、これにより、４×８と８×４のブロックは、双方向予測をサポートしていないし、４×４のブロックは、フレーム間予測をサポートしていない。ＪＥＭのＱＴＢＴでは、これらの制限は削除された。
【００７９】
セクション１．２：  高周波数ゼロ設定による大きいブロックサイズの変換
【００８０】
ＪＥＭでは、大きいブロックサイズの変換（１２８×１２８のサイズまで）が実現されることは、主に、より高い解像度のビデオ（例えば１０８０ｐおよび４Ｋシーケンス）に使用されることができる。サイズ（幅または高さ、または幅と高さの両方）が６４以上である変換ブロックについて、高周波変換係数をゼロ設定して、これにより、より低周波数の係数のみが維持される。例えば、Ｍ×Ｎの変換ブロック（Ｍをブロック幅として、Ｎをブロック高さとする）については、Ｍが６４以上である場合、変換係数の左側の３２列のみが保持される。同様に、Ｎが６４以上である場合、変換係数の上部の３２行のみが保持される。大きいブロックに対して変換スキップモードを使用する場合、いかなる値もゼロ設定せずに、ブロック全体を使用する。
【００８１】
セクション１．３：適応マルチコア変換
【００８２】
既にＨＥＶＣに使用されているＤＣＴ−２と４×４  ＤＳＴ−７に加えて、フレーム間およびフレーム内符号化データブロックの残差符号化に対して、適応多重変換（ＡＭＴ、または拡張された多重変換（ＥＭＴ：Ｅｎｈａｎｃｅｄ  Ｍｕｌｔｉｐｌｅ  Ｔｒａｎｓｆｏｒｍ）として知られている）スキームが提案された。ＡＭＴは、ＨＥＶＣにおける現在の変換に加えて、ＤＣＴ／ＤＳＴファミリーから選択された複数の変換を使用することができる。新しく導入された変換行列は、ＤＳＴ−７、ＤＣＴ−８、ＤＳＴ−１、およびＤＣＴ−５を含むことができる。表１は、選択されたＤＳＴ／ＤＣＴの例示的なベース関数を以下に示す。
【００８３】
【表１】
2021513302.tif 000003
【００８４】
変換行列の直交性を維持するために、変換行列は、ＨＥＶＣにおける変換行列よりも正確に量子化され得る。変換された係数の中間値を１６ビットの範囲内に維持するために、水平変換後かつ垂直変換後に、現在のＨＥＶＣ変換で使用されている右シフトと比較して、すべての係数をさらに２ビットだけ右にシフトすることができる。ＡＭＴは、幅および高さが６４以下である符号化ユニット（ＣＵ：ｃｏｄｉｎｇ  ｕｎｉｔ）に適用されることができ、また、ＡＭＴが適用されるかどうかは、ＣＵレベルフラグによって制御されることができる。ＣＵレベルフラグが０に等しい場合、ＤＣＴ−２をＣＵに適用して残差を符号化することができる。ＡＭＴが実現されたＣＵ内の輝度符号化ブロックについて、使用される水平変換と垂直変換を識別するために、２つの付加的なフラグを信号で通知することができる。ＨＥＶＣでは、ＪＥＭにおいて、変換スキップモードを用いてブロックの残差を符号化することができる。構文符号化の冗長を避けるために、ＣＵレベルＡＭＴフラグがゼロに等しくない場合、変換レベルスキップフラグは、信号で通知されていない。
【００８５】
フレーム内の残差符号化について、異なるフレーム内予測モードの異なる残差統計情報のために、モード依存の変換候補選択プロセスを使用することができる。以下の表２に示すように、３つの変換サブセットを定義し、以下の表３に説明するように、フレーム内予測モードに基づいて変換サブセットを選択することができる。
【００８６】
【表２】
2021513302.tif 000004
【００８７】
サブセット概念に関しては、まず、ＣＵレベルＡＭＴフラグが１に等しいＣＵのフレーム内予測モードを使用して、表３に基づいて、変換サブセットを識別することができる。その後、各水平および垂直変換について、明示的に信号で通知されるフラグに基づいて、表２によって識別された変換サブセットにおける２つの変換候補のうちの１つを選択することができる。
【表３】
2021513302.tif 000005
【００８８】
しかし、フレーム間予測残差について、ＤＳＴ−７とＤＣＴ−８によって構成される１つの変換セットだけが、すべてのフレーム間モードのために、および、水平かつ垂直変換のために使用されることができる。エンコーダ側では、ＡＭＴの複雑さが比較的高く、これは、ブルートフォース検索を使用する場合、各残差ブロックのレート歪みコストに対して、合計５つの異なる変換候補（ＤＣＴ−ＩＩおよび４つの多重変換候補）を評価する必要があるからである。エンコーダ側の複雑さ問題を軽減するために、ＪＥＭにおけるアルゴリズム加速のために、いくつかの最適化方法が設計される。
【００８９】
大規模変換（３２ポイント以上の変換）が付加的な符号化利得をもたらす実験的証拠がある。しかしながら、大規模変換をビデオコーデックに導入することは、計算のコストおよび複雑さを増加させ、例えば、付加的な数量の乗算および付加的な乗算器を増加させる。さらに、大規模変換をビデオコーデックに導入することは、付加的なメモリ負担を増加させ、１）最大の変換サイズが水平かつ垂直に２倍（２ｘ）増加した場合、パイプラインのバッファサイズは、４倍（４ｘ）増加することと、２）大規模変換は、変換カーネルを記憶するために付加的なメモリを必要とすることと、が含まれている。
【００９０】
以下に説明する方法は、別々に使用してもよく、または、任意の順序で組み合わせて使用してもよい。
【００９１】
大規模変換について、伝統的なＤＣＴ−ＩＩを適用する代わりに、低複雑さの無乗算変換を適用することができる。さらに、この例では、変換カーネルは非常に簡単であり、これにより、変換カーネルを記憶するために必要なメモリは大きくないか、または、簡単なパターンを使用してカーネルを導出することができる。
【００９２】
大規模変換は、１２８ポイント、２５６ポイントと５１２ポイントの変換、および／または任意の変換サイズの６４ポイント以上の変換、または３２ポイント以上の変換を含むことができるが、これらに限定されない。低複雑さの無乗算変換は、変換コアが１と−１のみからなるアダマール変換（Ｈａｄａｍａｒｄ  ｔｒａｎｓｆｏｒｍ）と、変換コアが２の累乗のみからなる変換を含むことができるが、これらに限定されていない。アダマール・ウォルシュ（Ｈａｄａｍａｒｄ  Ｗａｌｓｈ）変換は、一般的に、アダマール変換またはウォルシュ変換とも呼ばれ、これらの用語は、本明細書で交換的に使用されてもよく、同じ変換を意味する。
【００９３】
他の変換サイズの同じ量子化スキームを再利用するために、低複雑さの無乗算変換コアをスケーリングすることができる。１つの例では、ＨＥＶＣでは、Ｋ＊Ｋ’が単位行列であることを満たす直交変換コアＫを使用して、Ｎポイント変換コアを６４＊ｓｑｒｔ（Ｎ）でスケーリングすることができる。この場合、大規模変換を適用するときに、Ｎポイント変換コアを６４＊ｓｑｒｔ（Ｎ）でスケーリングする。
【００９４】
また、大規模変換を異なってスケーリングすることができ、それに応じて、水平かつ垂直変換後の内部丸め動作（右シフト）を調整して、異なるスケーリングに一致させることができる。例えば、アダマール・ウォルシュ変換を使用する場合、水平かつ垂直変換後の右シフトビットは、異なるスケーリング因子に従って減少される。
【００９５】
１つの例では、最新のＨＥＶＣ参照ＳＷ  ＨＭでは、順方向水平変換後の右シフトは（ｌｏｇ２（Ｗｉｄｔｈ）＋ｂｉｔＤｅｐｔｈ＋６）−１５であり、順方向垂直変換後の右シフトは（ｌｏｇ２（Ｈｅｉｇｈｔ）＋６）である。提案された方法を使用して、大規模変換は、変換コアが１と−１からなるアダマール・ウォルシュ変換である場合、前方水平変換後の右シフトは（ｌｏｇ２（Ｗｉｄｔｈ）＋ｂｉｔＤｅｐｔｈ＋６）−２１であり、前方垂直変換後の右シフトはｌｏｇ２（Ｈｅｉｇｈｔ）である。従って、ＨＥＶＣでは、逆垂直変換後の右シフトは７であり、逆水平変換後の右シフトは２０−ｂｉｔＤｅｐｔｈである。
【００９６】
提案された方法を使用して、大規模変換は、変換コアが１と−１からなるアダマール・ウォルシュ変換である場合、逆垂直変換後の右シフトは１であり、逆水平変換後の右シフトは１４−ｂｉｔＤｅｐｔｈである。
【００９７】
また、大規模変換は、他の変換サイズと異なってスケーリングされ、異なる量子化スキームが適用されてもよい。
【００９８】
他の変換（ＤＣＴを含むが、これに限定されていない）に組み合わせて、低複雑さの乗算変換を使用することができる。１つの例では、１２８×Ｍ、Ｍ×１２８、２５６×ＭまたはＭ×２５６ブロックに対して、１２８ポイント／２５６ポイントの大規模変換を適用する代わりに、まず、Ｘ×Ｙ変換を、各々の非オーバーラップのＮ×Ｎブロックに適用して、その後、Ｘ×Ｙ変換によって生成された変換係数に対して、別の変換を適用してもよいし、ここでは、ＸとＹは、２、４、８、１６、３２または６４であってもよい。第１変換であるＸ×Ｙ変換および／または第２変換は、低複雑さの無乗算変換または他の変換（ＤＣＴ／ＤＳＴ、ＫＬＴ（Ｋａｒｈｕｎｅｎ−Ｌｏｅｖｅ  Ｔｒａｎｓｆｏｒｍ）などを含むが、これらに限定されていない）であってもよい。
【００９９】
もう１つの例では、１２８×Ｍ、Ｍ×１２８、２５６×ＭまたはＭ×２５６ブロックに対して、１２８ポイント／２５６ポイントの大規模変換を適用する代わりに、ブロックを因子ｓでサブサンプリングすることができる。例えば、ｓが２に等しい場合、これは、ブロックが２でサブサンプリングされ、偶数サンプルが１つのブロックを構成し、奇数サンプルがほかの１つのブロックを構成する、ということを意味する。サブサンプリングは、水平／垂直方向のいずれか／両方に適用されることができる。
【０１００】
エンコーダ側では、サブサンプリングされた各ブロックに対して第１変換を適用し、サブサンプリングされた各ブロックに対して変換係数を生成し、その後、変換係数を重み付けて加算して、他の変換係数ブロックを生成することができ、この他の変換係数ブロックは、さらに量子化されてエントロピー符号化される。
【０１０１】
デコーダ側では、逆量子化された変換ブロックを逆変換し、また、残差ブロックを元のブロックサイズにアップサンプリングすることができる。
【０１０２】
さらに、異なるブロックサイズに対して、異なるゼロ設定方法を実行することができる。具体的には、異なるブロックサイズに対して、異なる数のゼロ設定された変換係数を適用することができ、より大規模な変換に対して、より小さい数の変換係数が非ゼロ設定することを許容する。１つのサンプルでは、１２８ポイント変換に対して、最初の６４、３２、１６、８、４、２または１つの変換係数のみを使用して、残りの係数をゼロ設定してもよい。別のサンプルでは、２５６ポイント変換に対して、最初の１２８、６４、３２、１６、８、４、２または１つの変換係数のみを使用して、残りの係数をゼロ設定してもよい。１つの代表的な選択は、１２８ポイント変換に対して、最初の１６つの係数のみを保持し、２５６ポイント変換に対して、最初の４つの係数のみを保持し、これにより、より大規模な変換において、より小さい数の非ゼロ係数を許容する、ということである。
【０１０３】
ゼロ設定された変換係数の数は、いくつかの符号化された情報に依存することができ、フレーム内／フレーム間符号化、画像解像度、時間層、量子化パラメータ（ＱＰ：Ｑｕａｕｔｉｚａｔｉｏｎ  Ｐａｒａｍｅｅｔｅｒ）、変換タイプ、および輝度／色度成分を含むが、これらに限定されていない。
【０１０４】
非正方変換ＭｘＮを適用する場合については、Ｍポイント変換に対して、最初のｍ個の係数のみを保持し、Ｎポイント変換に対して、最初のｎ個の係数を保持すると仮定と仮定すると、非正方変換ＭｘＮに対して、左上のｍｘｎ個の係数を保持する。１つの例では、６４ポイント、１２８ポイントおよび２５６ポイント変換に対して、最初の３２、１６および４つの変換係数をそれぞれ保持することができる。それから、１２８ｘ３２の変換に対して、左上の１６ｘ３２個の変換係数を保持することができ、残りの係数はゼロとすることができる。６４ｘ１２８の変換に対して、左上の３２ｘ１６個の変換係数を保持することができ、残りの係数はゼロとすることができる。１６ｘ２５６の変換に対して、左上の１６ｘ４個の変換係数を保持することができ、残りの係数はゼロとすることができる。
【０１０５】
水平／垂直方向に対して１つの変換係数のみを保持し、また、残りの係数をすべてゼロ設定すると、これは、符号化されたブロックフラグ（ＣＢＦ：Ｃｏｄｅｄ  Ｂｌｏｃｋ  Ｆｌａｇ）がゼロではない場合、水平／垂直方向の最後の位置は１でなければならず、従って、符号化する必要がない、ということを意味する。
【０１０６】
あるいは、水平／垂直方向の全ての変換係数がゼロである場合、符号化されたブロックフラグ（ＣＢＦ）は常にゼロであり、ＣＢＦを信号で通知する必要がなく、また、変換係数の解析、逆量子化または逆変換を行う必要がない、ということを意味する。
【０１０７】
１つの例では、３２ｘ２５６のブロックに対して、ゼロ設定は３２ポイント変換に適用されないが、２５６ポイント変換に対して、すべての変換係数はゼロであるため、この場合、３２ｘ２５６ブロックに対して、ＣＢＦは常にゼロである。
【０１０８】
また、非ゼロ変換係数の数はブロック領域のサイズに依存し、また、各ブロックサイズについて、左上の変換係数のどの部分（即ち、ｍＸｎ）を非ゼロとして保持することができるかが予め定義された。一実施形態では、ｍとｎは、それぞれ、ＭとＮの小数であってもよい。例えば、ｍ＝Ｍ＞＞ｋ、かつ、ｎ＝Ｎ＞＞ｊ、ここでは、ｋとｊは、１、２、３または任意の非負整数に等しくてもよい。別の例では、ｍ＝Ｍ／ｋ、かつ、ｎ＝Ｎ／ｊであり、ここでは、ｋとｊは、１、２、３または任意の正整数に等しくてもよいし、ｍとｎが、最も近い整数に丸められる（切り上げまたは切り下げ）。パラメータＫとＪは、互いに等しくてもよく、あるいは異なってもよいし、予め定義されてもよく、あるいはスライスヘッダー、画像パラメータセット（ＰＰＳ：Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、シーケンスパラメータセット（ＳＰＳ：ｓｅｑｕｅｎｃｅ  ｐａｒａｍｅｔｅｒ  ｓｅｔ）または他の符号化領域ヘッダーにおいて信号で通知されてもよい。
【０１０９】
また、大規模変換を水平および／または垂直方向に適用する必要がある場合、ＭｘＮの大規模変換を適用する代わりに、複数のより小さいブロックサイズの変換を水平および／または垂直方向に適用することができ、また、各々のより小さいブロックサイズの変換に対してゼロ設定を適用して、結果を重み付けて加算することで、ブロック全体の変換係数を生成することができる。大規模な逆変換を水平および／または垂直方向に適用する必要がある場合、ＭｘＮの大規模な逆変換を適用する代わりに、より小さいブロックサイズの変換を適用して、より小さいブロックサイズの変換をＭｘＮにアップサンプリングすることで、ブロック全体の残差を生成することができる。
【０１１０】
１つの例では、左上の３２ｘ３２個の係数のみがゼロではない６４ｘ６４の逆量子化された変換係数ブロック、逆の６４ｘ６４変換を適用することができ、また、６４ｘ６４の残差ブロックを生成することができる。その後、６４ｘ６４の残差ブロックをアップサンプリングすることで、１２８ｘ２５６の残差ブロックを生成することができる。アップサンプリングプロセスは、６４ｘ６４の残差ブロックを１２８ｘ２５６の残差ブロックにコピーまたはインタリーブすることによって実行されてもよいし、あるいは、所定のアップサンプリングフィルタを使用することによって実行されてもよい。アップサンプリングフィルタは、動き補償のサブペル画素を生成するために使用されるＮタップキュービック補間フィルタ、ＮタップＤＣＴ補間フィルタ、または補間フィルタを含むが、これに限定されない。
【０１１１】
図５を参照して、簡単な第１例では、低複雑度変換を使用する符号化または復号化の方法を採用する方法は、図５に示す以下のステップを含むことができる。ステップ５０１では、符号化または復号化されるターゲットブロックである音声、ビデオまたは画像のブロックに関する情報を受信する。図５の方法は、ステップ５０２を含むこともでき、ステップ５０２が、ターゲットブロックのブロックサイズの幅または高さのうちの少なくとも１つが予め定められた閾値以上であるかどうかを判定する、ということを含む。
【０１１２】
図５に示すように、ステップ５０２の判定がＹＥＳである場合（ターゲットブロックサイズ＞閾値）、ステップ５０３を実行する。ステップ５０３は、ターゲットブロックのブロックサイズの幅または高さのうちの少なくとも１つが予め定められた閾値以上である場合、ターゲットブロックの符号化または復号化を実行するが、ターゲットブロックのブロックサイズの幅または高さのうちの少なくとも１つに対応するサイズを有する大規模変換を適用していないし、また、ターゲットブロックの第１部分に第１変換を適用して、ターゲットブロックの第２部分に第１変換または第２変換を適用すること、を含む。ステップ５０２の判定がＮＯである場合、ステップ５０４を実行する。ステップ５０４は、ターゲットブロックサイズに対応するサイズを有する変換を使用することを含むことができる。図５の方法は、第１変換および第２変換のうちの少なくとも１つが予め定められた閾値より小さいサイズを有する低複雑度変換である、ことを含むこともできる。図５に示す方法は、１つ以上のプロセッサによって実行される処理ステップ５０１〜５０４をも含むこともできる。図５に示す方法は、１つ以上のプロセッサによって、ステップ５０１〜５０４の実行前または実行中に、事前に低複雑度データ構造をメモリに記憶する、ことを含むこともできる。
【０１１３】
図５に示す方法は、低複雑度変換が、変換コアが１と−１のみからなるアダマール変換と、変換コアが２の累乗のみからなる予め定められた変換とのうちの１つである、ことを含むこともできる。
【０１１４】
図５に示す方法は、より低い周波数変換係数のみを維持するように、高周波数変換係数をゼロ設定する、ことをさらに含むことができる。
【０１１５】
図５に示す方法は、低複雑度変換のスケーリングは、低複雑度変換のサイズと異なる他の変換サイズの同じ量子化スキームを再利用することにより、Ｋ＊Ｋ’を満たす、単位行列である、直交変換コアＫを使用して、Ｎポイント変換コアを６４＊ｓｑｒｔ（Ｎ）でスケーリングすることを含むこともでき、これによって、低複雑度変換を適用する場合、Ｎポイント変換コアが６４＊ｓｑｒｔ（Ｎ）でスケーリングされる。
【０１１６】
図５に示す方法は、低複雑度変換が、変換コアが１と−１のみからなるアダマール−ウォルシュ変換と、変換コアが２の累乗のみからなる変換とのうちの１つである、ことを含むこともができ、さらに、低複雑度変換をスケーリングすることによって量子化スキームを生成し、低複雑度変換がアダマール−ウォルシュ変換ではない場合、生成された量子化スキームを使用して、ターゲットブロックを符号化または復号化するようにする情報を生成または送信し、低複雑度変換がアダマール−ウォルシュ変換である場合、（Ｉ）大規模変換でのスケーリングの差を補償するためにシフトを実行することによって量子化スキームを調整し、かつ（ｉｉ）調整された量子化スキームを使用して、ターゲットブロックを符号化または復号化するようにする情報を生成または送信し、ここで、復号化が、ターゲットブロックを逆変換して、逆量子化された変換ブロックを導出し、残差ブロックを元のブロックサイズにアップサンプリングすることを含む、ということをさらに含むこともできる。
【０１１７】
図５に示す方法は、低複雑度変換がアダマール−ウォルシュ変換であり、また、大規模変換のスケーリング比が異なるので、水平および垂直変換後の少なくともの右シフト演算を含む内部丸め演算をそれに応じて調整して、異なるスケーリングに適合させる、ということを含むこともできる。図５に示す方法は、まず、各々の非オーバーラップのＮｘＮのブロックに、ＸｘＹ変換を適用し、ここで、ＸおよびＹが２、４、８、１６、３２、または６４であってもよく、その後、ＸｘＹ変換によって生成された変換係数の上部に第２変換を適用し、ここで、第１変換であるＸｘＹおよび／または第２変換が低複雑度変換である、ということを含むこともできる。
【０１１８】
図５に示す方法は、ブロックサイズの幅および高さのうちの少なくとも１つが１２８に等しいターゲットブロックに対して、１２８ポイント変換について、最初の６４、３２、１６、８、４、２または１つの変換係数のみを使用し、残りの係数をゼロ設定する、ということを含むこともできる。
【０１１９】
図５に示す方法は、１２８ｘＭ、Ｍｘ１２８、２５６ｘＭまたはＭｘ２５６のブロックに対して、１２８ポイント／２５６ポイントの大規模変換を適用する代わりに、因子Ｓによってブロックをサブサンプリングし、偶数サンプルが１つのブロックを構成し、奇数サンプルが別のブロックを構成し、サブサンプリングを水平／垂直方向のいずれか／両方に適用し、符号化が、各々のサブサンプリングされたブロックに対して第１変換を適用し、各々のサブサンプリングされたブロックの変換係数を生成し、またその後、変換係数を重み付けて加算することで、他の変換係数ブロックを生成し、該他の変換係数ブロックをさらに量子化してエントロピー符号化することを含み、復号化が、逆量子化された変換ブロックを逆変換し、残差ブロックを元のブロックサイズにアップサンプリングすることを含む、ということを含むこともできる。
【０１２０】
図５に示す方法は、大規模変換を水平および／または垂直方向に適用する必要がある場合、ＭｘＮの大規模変換を適用する代わりに、複数のより小さいブロックサイズの変換を水平および／または垂直方向に適用し、各々のより小さいブロックサイズの変換に対してゼロ設定を適用して、結果を重み付けて加算することで、ブロック全体の変換係数を生成し、逆の大規模変換を水平および／または垂直方向に適用する必要がある場合、ＭｘＮの逆の大規模変換を適用する代わりに、より小さいブロックサイズの変換を適用し、そして、ＭｘＮにアップサンプリングして、ブロック全体の残差を生成する、ということを含むこともできる。
【０１２１】
コンピュータ読み取り可能な令を有するコンピュータソフトウェアを実行することができる１つ以上のプロセッサによって、符号化／復号化技術を実施することができ、このコンピュータソフトウェアは、１つ以上のコンピュータ読み取り可能な媒体（例えば、ハードディスクドライブ）に物理的に記憶されてもよい。例えば、図７は、開示された主題のいくつかの実施形態を実現するのに適したコンピュータシステム７００を示す。
【０１２２】
コンピュータソフトウェアは、任意の適切なマシンコードまたはコンピュータ言語を使用して符号化されてもよく、アセンブリ、コンパイル、リンクなどのメカニズムによって命令を含むコードを作成してもよいし、この命令は、コンピュータ中央処理ユニット（ＣＰＵ：ｃｏｍｐｕｔｅｒ  ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、グラフィック処理ユニット（ＧＰＵ：Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などによって直接的に実行されてもよく、または解釈、マイクロコードなどによって実行されてもよい。
【０１２３】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、オブジェクトネットワークデバイス（ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ  ｄｅｖｉｃｅｓ）などを含む、様々なタイプのコンピュータまたはそのコンポーネントで実行されてもよい。
【０１２４】
図７に示されるコンピュータシステム７００のコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータソフトウェアの使用範囲または機能に関するいかなる制限も示唆することが意図されていない。コンポーネントの構成は、コンピュータシステム７００の例示的な実施形態に示されているコンポーネントのいずれかまたは組み合わせに関連する任意の依存性または要件を有すると解釈されるべきではない。
【０１２５】
コンピュータシステム７００は、いくつかのヒューマンインターフェース入力デバイスを含むことができる。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力（例えば、キーストローク、スワイプ、データグローブの動き）、オーディオ入力（例えば、音声、拍手など）、視覚入力（例えば、ジェスチャーなど）、嗅覚入力（図示せず）によって、1人以上のユーザによる入力に応答することができる。ヒューマンインターフェース入力デバイスは、例えばオーディオ（例えば、音声、音楽、環境音など）、画像（例えば、スキャンされた画像、静止画像カメラから得られた写真画像など）、ビデオ（例えば、２次元ビデオ、立体映像を含む３次元ビデオなど）などの、人間による意識的な入力に必ずしも直接関連しているとは限らない、特定のメディアを捕捉するために使用されることもできる。
【０１２６】
ヒューマンインターフェース入力デバイスは、キーボード７０１、マウス７０２、トラックパッド７０３、タッチスクリーン７１０、データグローブ７０４、ジョイスティック７０５、マイクロホン７０６、スキャナ７０７、カメラ７０８のうちの１つまたは複数を含むことができる（そのうちの1つだけが図示された）。
【０１２７】
コンピュータシステム７００はまた、いくつかのヒューマンインターフェース出力デバイスを含むことができる。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚／味覚によって、１人以上のユーザの感覚を刺激することができる。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス（例えば、タッチスクリーン７１０、データグローブ７０４、ジョイスティック７０５による触覚フィードバックであるが、入力デバイスとして作用しない触覚フィードバックデバイスであってもよい）、オーディオ出力デバイス（例えば、スピーカ７０９、ヘッドホン（図示せず））、視覚出力デバイス（例えば、ＣＲＴスクリーン、ＬＣＤスクリーン、プラズマスクリーン、ＯＬＥＤスクリーンを含むスクリーン７１０であり、各々は、タッチスクリーン入力機能を備えてもよく、あるいは備えていなくてもよく、各々は、触覚フィードバック機能を備えてもよく、あるいは備えていなくてもよいし、これらのいくつかは、ステレオグラフィック出力、仮想現実メガネ（図示せず）、ホログラフィックディスプレイとスモークタンク（図示せず）、およびプリンタ（図示せず）などによって、２次元の視覚出力または３次元以上の視覚出力を出力することができる。
【０１２８】
コンピュータシステム７００は、例えば、ＣＤ／ＤＶＤを有するＣＤ／ＤＶＤ  ＲＯＭ／ＲＷ  ７２０を含む光学媒体または類似の媒体７２１、サムドライブ７２２、リムーバブルハードドライブまたはソリッドステートドライブ７２３、テープおよびフロッピーディスク（図示せず）などのレガシー磁気媒体、セキュリティドングル（図示せず）などの特殊なＲＯＭ／ＡＳＩＣ／ＰＬＤベースのデバイスなどのような、人間がアクセス可能な記憶デバイスおよびそれらに関連する媒体を含むことができる。
【０１２９】
当業者はまた、ここで開示されている主題に関連して使用される「コンピュータ読み取り可能な媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解すべきである。
【０１３０】
コンピュータシステム７００はまた、１つ以上の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光学的であってもよい。ネットワークはさらに、ローカルネットワーク、広域ネットワーク、大都市圏ネットワーク、車両用ネットワークおよび産業用ネットワーク、リアルタイムネットワーク、遅延耐性ネットワークなどであってもよい。ネットワークの例は、イーサネット（登録商標）、無線ＬＡＮ、セルラーネットワーク（ＧＳＭ（登録商標）、３Ｇ、４Ｇ、５Ｇ、ＬＴＥなど）などのＬＡＮ、テレビケーブルまたは無線広域デジタルネットワーク（有線テレビ、衛星テレビ、地上放送テレビを含む）、車両用ネットワークおよび産業用ネットワーク（ＣＡＮＢｕｓを含む）などを含む。いくつかのネットワークは、一般に、いくつかの汎用データポートまたは周辺バス（７４９）（例えば、コンピュータシステム７００のＵＳＢポート）に接続された外部ネットワークインターフェースアダプタが必要であり、他のシステムは、通常、以下に説明するようにシステムバスに接続することによって、コンピュータシステム７００のコアに統合される（例えば、イーサネットインターフェースからＰＣコンピュータシステムへ、またはセルラーネットワークインターフェースからスマートフォンコンピュータシステムへ）。これらのネットワークのいずれかを使用して、コンピュータシステム７００は、他のエンティティと通信することができる。このような通信は、単方向の受信のみ（例えば、放送ＴＶ）、単方向の送信のみ（例えば、ＣＡＮバスから特定のＣＡＮバスデバイスへ）、あるいは、双方向の、例えばローカルまたは広域デジタルネットワークを使用して他のコンピュータシステムへの通信であってもよい。上記のように、特定のプロトコルおよびプロトコルスタックは、それらのネットワークおよびネットワークインターフェースのそれぞれで使用されることができる。
【０１３１】
上記のヒューマンインターフェースデバイス、ヒューマンアクセス可能な記憶デバイス、およびネットワークインターフェースは、コンピュータシステム７００のコア７４０に接続されることができる。
【０１３２】
コア７４０は、１つ以上の中央処理ユニット（ＣＰＵ）７４１、画像処理ユニット（ＧＰＵ）７４２、フィールドプログラマブルゲートエリア（ＦＰＧＡ）７４３の形式の専用プログラマブル処理ユニット、特定のタスクのためのハードウェア加速器７４４などを含むことができる。これらのデバイスは、リードオンリーメモリ（ＲＯＭ）７４５、ランダムアクセスメモリ７４６、例えば内部の非ユーザアクセスハードドライブ、ＳＳＤなどの内部大容量ストレージ７４７などとともに、システムバス７４８を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス７４８は、付加的なＣＰＵ、ＧＰＵなどによって拡張を可能にするために、１つ以上の物理的プラグの形でアクセスすることができる。周辺デバイスは、コアのシステムバス７４８に直接に接続されてもよく、または周辺バス７４９を介して接続されてもよい。周辺バスのアーキテクチャは、外部コントローラインターフェース（ＰＣＩ）、汎用シリアルバス（ＵＳＢ）などを含む。
【０１３３】
ＣＰＵ  ７４１、ＧＰＵ  ７４２、ＦＰＧＡ  ７４３、および加速器７４４は、いくつかの命令を実行することができ、これらの命令を組み合わせて上記のコンピュータコードを構成することができる。そのコンピュータコードは、ＲＯＭ  ７４５またはＲＡＭ  ７４６に記憶されることができる。また、一時的なデータは、ＲＡＭ  ７４６に記憶されることができる一方、永久的なデータは、例えば内部大容量ストレージ７４７に記憶されることができる。１つ以上のＣＰＵ  ７４１、ＧＰＵ  ７４２、大容量ストレージ７４７、ＲＯＭ  ７４５、ＲＡＭ  ７４６などと密接に関連することができる、高速ストレージを使用することにより、任意のメモリデバイスに対する高速記憶および検索が可能になる。
【０１３４】
コンピュータ読み取り可能な媒体は、様々なコンピュータ実行された動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構成されたものであってもよく、またはコンピュータソフトウェア分野の技術者によって知られ、利用可能な媒体およびコードであってもよい。
【０１３５】
限定ではなく例として、アーキテクチャ７００、特にコア７４０を有するコンピュータシステムは、１つ以上の有形な、コンピュータ読み取り可能な媒体に具体化されたソフトウェアを実行する、（ＣＰＵ、ＧＰＵ、ＦＰＧＡ、加速器などを含む）プロセッサの結果として機能を提供することができる。このようなコンピュータ読み取り可能な媒体は、上述したようにユーザがアクセス可能な大容量ストレージに関連する媒体であり、コア内部大容量ストレージ７４７またはＲＯＭ  ７４５などの、不揮発性コア７４０を有する特定のストレージであってもよい。本開示の様々な実施形態を実現するソフトウェアは、そのようなデバイスに記憶され、コア７４０によって実行されてもよい。コンピュータ読み取り可能な媒体は、特定のニーズに応じて、１つ以上のメモリデバイスまたはチップを含むことができる。このソフトウェアは、コア７４０、具体的にはその中のプロセッサ（ＣＰＵ、ＧＰＵ、ＦＰＧＡなどを含む）に、ＲＡＭ  ７４６に記憶されているデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従ってこのようなデータ構造を変更することとを含む、ここで説明された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えてまたは代替として、コンピュータシステムは、ロジックハードワイヤまたは他の方式で回路（例えば、加速器７４４）で具体化された結果としての機能を提供することができ、この回路は、ソフトウェアの代わりに動作しまたはソフトウェアと一緒に動作して、ここで説明された特定のプロセスまたは特定のプロセスの特定の部分を実行してもよい。適切な場合には、ソフトウェアへの参照はロジックを含むことができ、逆もまた然りである。適切な場合には、コンピュータ読み取り可能な媒体への参照は、実行のソフトウェアを記憶する回路（例えば、集積回路（ＩＣ）など）、実行のロジックを具体化する回路、またはその両方を兼ね備えることができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【０１３６】
本開示は、いくつかの例示的な実施形態について説明したが、本開示の範囲内にある変更、置換、および様々な均等置換が存在している。したがって、当業者は、本明細書では明示的に示されていないか、または説明されていないが、本開示の原則を具体化しているので、本開示の精神および範囲内ある、様々なシステムおよび方法を設計することができる、ということを理解されたい。
【図１】
2021513302.tif 000006
【図２】
2021513302.tif 000007
【図３】
2021513302.tif 000008
【図４】
2021513302.tif 000009
【図５】
2021513302.tif 000010
【図６Ａ】
2021513302.tif 000011
【図６Ｂ】
2021513302.tif 000012
【図７】
2021513302.tif 000013
【国際調査報告】
2021513302.tif 000014
2021513302.tif 000015