(57)【特許請求の範囲】
【請求項１】
ビデオ情報を符号化するように構成された装置であって、
前記装置は、
基準層と対応する拡張層に関連付けられるビデオ情報を記憶するための手段と、
前記基準層と前記拡張層と関連付けられる前記ビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得するための手段と、
前記ビデオ情報と関連付けられる変換関数の少なくとも一部に調整関数を適用することによって調整された変換関数を決定するための手段と、ここにおいて、前記調整された変換関数を決定するための手段は、前記拡張層の量子化パラメータ（ＱＰ）と前記基準層のＱＰとの間の差分が予め決定された閾値より小さい場合のみ、前記調整された変換関数を決定するための手段を備える、
前記調整された変換関数と前記残差ブロック情報に基づいて変換ブロックを決定するための手段と、
を備え、
前記変換関数は第１の変換行列および第２の変換行列を備え、前記第１の変換行列、前記第２の変換行列、またはその両方は、ディスクリートコサイン変換、ディスクリートサイン変換、アダマール変換、ハール変換を備えるグループから選択された変換に対応する、
装置。
【請求項２】
前記第１の変換行列は１つまたは複数の行を備え、各行は１つまたは複数の変換ベースを備え、前記第２の変換行列は１つまたは複数の行を備え、各行は１つまたは複数の変換ベースを備え、そこにおいて、前記調整された変換関数を決定するための手段は前記第１の変換行列と前記第２の変換行列のうちの１つまたは両方に基づいて前記調整された変換関数を決定するようにさらに構成される、請求項１に記載の装置。
【請求項３】
前記調整関数は、前記第１の変換行列の少なくとも１つの行において前記変換ベースのうちの少なくともいくつかのものの順序を反転させるか、あるいは前記第１の変換行列の前記行の少なくともいくつかのものの前記順序を反転させるように構成される、請求項２に記載の装置。
【請求項４】
前記第１の変換行列は、前記第２の変換行列の転置行列である、請求項１に記載の装置。
【請求項５】
前記ビデオ情報は、符号化ユニット（ＣＵ）モード、ＣＵサイズ、変換ユニット（ＴＵ）サイズ、フレームタイプ、フレームサイズ、量子化パラメータ（ＱＰ）、および構文解析された残差係数情報を備えるグループから選択され、前記構文解析された残差係数情報は、最後の非ゼロ係数の位置、非ゼロ係数の数、および１つまたは複数の係数の大きさを備えるグループから選択される、請求項１記載の装置。
【請求項６】
前記装置が、前記変換ブロックを用いて前記ビデオ情報をエンコードし、および／または前記変換ブロックを用いて前記ビデオ情報をデコードするようにさらに構成される、請求項１に記載の装置。
【請求項７】
前記残差ブロック情報を取得するための手段と、前記調整された変換関数を決定するための手段と、前記変換ブロックを決定するための手段と、を備えるデバイスをさらに備え、そこにおいて、前記デバイスは、デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、テレフォンハンドセット、スマートフォン、スマート・パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタル・メディア・プレーヤー、ビデオゲームコンソール、またはビデオストリーミングデバイスを備えるグループから選択される、請求項１に記載の装置。
【請求項８】
ビデオ情報をデコードする方法であって、
前記方法は、
基準層と対応する拡張層に関連付けられるビデオ情報を記憶することと、
前記基準層と前記拡張層と関連付けられる前記ビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得することと、
前記ビデオ情報と関連付けられる変換関数の少なくとも一部に調整関数を適用することによって調整された変換関数を決定することと、ここにおいて、前記調整された変換関数を決定することは、前記拡張層の量子化パラメータ（ＱＰ）と前記基準層のＱＰとの間の差分が予め決定された閾値より小さい場合のみ、前記調整された変換関数を決定することを備える、
前記調整された変換関数と前記残差ブロック情報に基づいて変換ブロックを決定することと、
前記変換ブロックを用いて前記ビデオ情報をデコードすること、
を備え、
前記変換関数は第１の変換行列および第２の変換行列を備え、前記第１の変換行列、前記第２の変換行列、またはその両方は、ディスクリートコサイン変換、ディスクリートサイン変換、アダマール変換、ハール変換を備えるグループから選択された変換に対応する、
方法。
【請求項９】
ビデオ情報をエンコードする方法であって、
前記方法は、
基準層と対応する拡張層に関連付けられるビデオ情報を記憶することと、
前記基準層と前記拡張層と関連付けられる前記ビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得することと、
前記ビデオ情報と関連付けられる変換関数の少なくとも一部に調整関数を適用することによって調整された変換関数を決定することと、ここにおいて、前記調整された変換関数を決定することは、前記拡張層の量子化パラメータ（ＱＰ）と前記基準層のＱＰとの間の差分が予め決定された閾値より小さい場合のみ、前記調整された変換関数を決定することを備える、
前記調整された変換関数と前記残差ブロック情報に基づいて変換ブロックを決定することと、
前記変換ブロックを用いて前記ビデオ情報をエンコードすることと、
を備え、
前記変換関数は第１の変換行列および第２の変換行列を備え、前記第１の変換行列、前記第２の変換行列、またはその両方は、ディスクリートコサイン変換、ディスクリートサイン変換、アダマール変換、ハール変換を備えるグループから選択された変換に対応する、
方法。
【請求項１０】
前記第１の変換行列は１つまたは複数の行を備え、各行は１つまたは複数の変換ベースを備え、前記第２の変換行列は１つまたは複数の行を備え、各行は１つまたは複数の変換ベースを備え、前記第１の変換行列は、前記第２の変換行列の転置行列であり、および前記方法は、前記第１の変換行列と前記第２の変換行列のうちの１つまたは両方に基づいて前記調整された変換関数を決定することをさらに備える、請求項８または９に記載の方法。
【請求項１１】
前記変換関数を適用することは、前記第１の変換行列の少なくとも１つの行において前記変換ベースのうちの少なくともいくつかのものの順序を反転させること、あるいは前記第１の変換行列の前記行の少なくともいくつかのものの前記順序を反転させること備える、請求項１０に記載の方法。
【請求項１２】
前記ビデオ情報は、符号化ユニット（ＣＵ）モード、ＣＵサイズ、変換ユニット（ＴＵ）サイズ、フレームタイプ、フレームサイズ、ＱＰ、および構文解析された残差係数情報を備える前記グループから選択され、前記構文解析された残差係数情報は、最後の非ゼロ係数の位置、非ゼロ係数の数、および１つまたは複数の係数の大きさを備える前記グループから選択される、請求項８または９に記載の方法。
【請求項１３】
計算デバイスによって実行される時に、請求項８−１２のいずれかにしたがって前記方法を実行することを前記計算デバイスにさせるコンピュータ実行可能な命令を有するコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示はビデオ符号化に関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、無線ブロードキャストシステム、個人用デジタル補助装置（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、ｅ−ブックリーダー、デジタルカメラ、デジタル録音デバイス、デジタル・メディア・プレーヤー、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、パート１０、先進ビデオ符号化（ＡＶＣ）、現在開発中の高機能ビデオ符号化（ＨＥＶＣ）標準、およびこういった標準の拡張によって定義される標準に記載された技術のようなビデオ符号化技術を実装する。ビデオデバイスは、こういったビデオ符号化技術を実装することによって、より効果的にデジタルビデオ情報を送信、受信、エンコード、デコード、および／または格納し得る。
【０００３】
[0003]ビデオ符号化技術は、ビデオシーケンスに内在する冗長性を低減するため、あるいは取り除くための空間（ピクチャ内）予測および／または時間（ピクチャ間）予測を含む。ブロックベースでのビデオ符号化のために、ビデオスライス（例えば、ビデオフレームまたはビデオフレームの一部分）はビデオブロックに区分され得、それらは、ツリーブロック、符号化ユニット（ＣＵ）および／または符号化ノードとも称され得る。ピクチャ（ｐｉｃｔｕｒｅ）のイントラ符号化（ｉｎｔｒａ−ｃｏｄｅｄ）された（Ｉ）スライス内のビデオブロックは、同じピクチャにおける隣接ブロック内の基準サンプルについて空間予測を用いてエンコードされる。ピクチャのインター符号化（ｉｎｔｅｒ−ｃｏｄｅｄ）された（ＰまたはＢ）スライス内のビデオブロックは、同じピクチャにおける隣接ブロック内の基準サンプルについて空間予測を用いるか、あるいは他の基準ピクチャ内の基準サンプルについて時間予測を用い得る。ピクチャ（ｐｉｃｔｕｒｅ）はフレームと称され得、および基準ピクチャは基準フレームと称され得る。
【０００４】
[0004]空間または時間予測は、符号化されるブロックのための予測ブロックをもたらす。残差データは、符号化される元のブロックと予測ブロックの間の画素差を表す。インター符号化ブロックは、予測ブロックを形成する基準サンプルのブロックを指す動きベクトルにしたがってエンコードされ、残差データは、符号化ブロックと予測ブロックの間の差分を示す。イントラ符号化ブロックは、イントラ符号化モードと残差データにしたがってエンコードされる。さらなる圧縮のために、残差データは画素領域から変換領域に変換され、残差変換係数をもたらし得、それは次に量子化され得る。量子化された変換係数は、２次元アレイに初めに配列され、変換係数の１次元ベクトルを生成するために走査され得、エントロピーエンコーディングはさらに圧縮を実現するために適用され得る。
【発明の概要】
【０００５】
[0005]一般的に、本開示は、スケーラブルビデオ符号化中に、条件的にまたは適応的に変換関数を調整することによって符号化のパフォーマンスを向上することに関する。
【０００６】
[0006]１つまたは複数の例の詳細は、添付の図面と下記の詳述において説明される。他の特徴、オブジェクト、および利点は、詳述、図面、および請求項から明白であるだろう。
【０００７】
[0007]１つの実施例において、ビデオ情報を符号化するように構成された装置は、メモリユニットとプロセッサを含む。メモリユニットは、基準層と対応する拡張層に関連付けられるビデオ情報を記憶するように構成される。プロセッサはメモリユニットと通信を行う。プロセッサは、基準層と拡張層に関連付けられるビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得するように構成される。プロセッサはまた、ビデオ情報と関連付けられる変換関数に基づいて調整された変換関数を決定するように構成される。プロセッサはまた、調整された変換関数と残差ブロック情報に基づいて変換ブロックを決定するように構成される。
【０００８】
[0008]別の実施例において、ビデオ情報をデコードする方法は、基準層と対応する拡張層に関連付けられるビデオ情報を記憶することを含む。この方法はまた、基準層と拡張層に関連付けられるビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得することを含む。この方法はまた、ビデオ情報と関連付けられる変換関数に基づいて調整された変換関数を決定することを含む。この方法はまた、調整された変換関数と残差ブロック情報に基づいて変換ブロックを決定することを含む。この方法はまた、変換ブロックを用いてビデオ情報をデコードすることを含む。
【０００９】
[0009]別の実施例において、ビデオ情報をエンコードする方法が提供される。この方法は、基準層と対応する拡張層に関連付けられるビデオ情報を記憶することを含む。この方法はまた、基準層と拡張層に関連付けられるビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得することを含む。この方法はまた、ビデオ情報と関連付けられる変換関数に基づいて調整された変換関数を決定することを含む。この方法はまた、調整された変換関数と残差ブロック情報に基づいて変換ブロックを決定することを含む。この方法はまた、変換ブロックを用いてビデオ情報をエンコードすることを含む。
【００１０】
[0010]さらに別の実施例において、ビデオ情報を符号化するための手段が提供される。この装置は、基準層と対応する拡張層に関連付けられるビデオ情報を記憶するための手段を含む。この装置はまた、基準層と拡張層に関連付けられるビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得するための手段を含む。この装置はまた、ビデオ情報と関連付けられる変換関数に基づいて調整された変換関数を決定するための手段を含む。この装置はまた、調整された変換関数と残差ブロック情報に基づいて変換ブロックを決定するための手段を含む。
【００１１】
[0011]さらに別の実施例において、コンピュータ可読媒体は、コンピュータで実行可能な命令を有するものであって、コンピュータで実行可能な命令は、計算デバイスによって実行される時に、基準層と対応する拡張層に関連付けられるビデオ情報を記憶することを計算デバイスにさせる。この命令はまた、基準層と対応する拡張層に関連付けられるビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得することを計算デバイスにさせる。この命令はまた、ビデオ情報と関連付けられる変換関数に基づいて調整された変換関数を決定することを計算デバイスにさせる。この命令はまた、調整された変換関数と残差ブロック情報に基づいて変換ブロックを決定することを計算デバイスにさせる。
【図面の簡単な説明】
【００１２】
【図１】[0012]図１は、本開示に記載された観点にしたがった技術を利用し得るビデオエンコーディングおよびデコーディングシステムの例を示すブロック図である。
【図２】[0013]図２は、本開示に記載された観点にしたがった技術を実施し得るビデオエンコーダの例を示すブロック図である。
【図３】[0014]図３は、本開示に記載された観点にしたがった技術を実施し得るビデオデコーダの例を示すブロック図である。
【図４】[0015]図４は、多次元スケーラビリティ(multi-dimensional scalabilities)の例を示すブロック図である。
【図５】[0016]図５は、ＳＶＣ符号化構造の１つの実施例のブロック図である。
【図６】[0017]図６は、種々のアクセスユニットを形成する符号化スライスのビットストリームの１つの実施例を示すブロック図である。
【図７】[0018]図７は、協置ブロックの１つの実施例を示すブロック図である。
【図８】[0019]図８は、変換基準の調整の方法のフローチャートである。
【詳細な説明】
【００１３】
[0020]本開示に記載された技術は一般に、スケーラブルビデオ符号化（ＳＶＣ）および３Ｄビデオ符号化に関する。例えば、この技術は、高機能ビデオ符号化（ＨＥＶＣ）スケーラブルビデオ符号化（ＳＶＣ）拡張に関し、およびそれと共にまたその中で用いられ得る。ＳＶＣ拡張において、ビデオ情報の複数の層が存在し得る。最下位にある層は、基本層（ＢＬ）としての役割を果たし得、および最上位層にある層は、拡張された層（ＥＬ）としての役割を果たし得る。「拡張された層」は、「拡張層」と称されることもあり、これらの用語は、置換可能に用いられ得る。中間にある全ての層は、ＥＬまたはＢＬ、あるいはその両方としての役割を果たし得る。例えば、中間にある層は、基本層または任意の介在する拡張層のように、それより下の層にとってはＥＬであり得、同時に、それより上の拡張層にとってはＢＬとしての役割を果たす。
【００１４】
[0021]階層間予測が用いられないビデオ符号化において、ＤＣと低周波数（ＬＦ）構成要素は、変換後に最大の残差エネルギーを有する傾向がある。この性質（ＤＣ／ＬＦ構成要素が、大振幅を有する傾向にある一方でＨＦ構成要素は低振幅を有する傾向にある）は、圧縮効率の良さを実現するために特定のビデオ符号化工程において活用されてきた。しかし、スケーラブルビデオ符号化の残差は、階層間予測（例えば、下記に記載されるイントラＢＬモードにおける予測）に起因して異なる分布属性を有する可能性がある。特に、ＳＶＣを用いると、残差は、よりノイズのようになり、ならびにエネルギーは、全体またはより大きい周波数領域にわたって広がる可能性がある。確かに、非ＳＶＣビデオ符号化とは異なり、ＳＶＣを用いると、ＨＦ構成要素はＤＣまたはＬＦ構成要素より多くのエネルギーを有することが可能である。それ故に、通常の非ＳＶＣビデオ符号化に用いられる従来の方法は、スケーラブルビデオ符号化にうまく機能し得ない。変換基準調整は、ＳＶＣを実施する時の圧縮効率を向上するのに貢献し得る。こういった技術は、下記でより詳細に説明される。さらに、これらの技術は、エンコーダ（例えば、下記で、図１および２を参照して説明されるような）および／またはデコーダ（例えば、下記で、図１および３を参照して説明されるような）によって実施され得る。
【００１５】
[0022]例示のみのために、本開示に記載された技術は、２つの層のみ（例えば、基本層のようなより低位の層および拡張された層のようなより高位の層）を含む例を用いて説明される。本開示に記載された例は、複数の基本層と拡張層も用いた例にも拡大適用され得ることが理解されるべきである。
【００１６】
[0023]ビデオ符号化標準は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＶｉｓｕａｌおよびＩＴＵ−Ｔ  Ｈ．２６４（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）を含み、スケーラブルビデオ符号化（ＳＶＣ）およびマルチビュービデオ符号化（ＭＶＣ）拡張を含む。さらに、新しいビデオ符号化標準、すなわち高機能ビデオ符号化（ＨＥＶＣ）は、ＩＴＵ−Ｔビデオ符号化専門家グループ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ動画専門家グループ（ＭＰＥＧ）からなるビデオ符号化（ＪＣＴ−ＶＣ）に関する共同協力チームによって開発されている。ＨＥＶＣの最近のドラフトは、２０１２年６月７日から、ｈｔｔｐ：／／ｗｇ１１．ｓｃ２９．ｏｒｇ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝５８８５／ＪＣＴＶＣ−Ｉ１００３−ｖ２から入手可能となっている。「ＨＥＶＣ作業ドラフト７」と称されるＨＥＶＣ標準の別の最近のドラフトは、２０１２年６月７日から、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／９＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｉ１００３−ｖ３．ｚｉｐからダウンロード可能となっている。ＨＥＶＣ作業ドラフト７に記載の完全版は、文献ＨＣＴＶＣ−Ｉ１００３、ブロス氏他、「高機能ビデオ符号化（ＨＥＶＣ）テキスト仕様ドラフト７」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のビデオ符号化（ＪＣＴ−ＶＣ）に関する共同協力チーム、２０１２年４月２７日から５月７日までスイスのジュネーブにおいて開催された第９回会議、である。これらの基準の各々は、その全体における参照によって組み込まれる。
【００１７】
[0024]スケーラブルビデオ符号化（ＳＶＣ）は、品質（信号対ノイズ（ＳＮＲ）とも称される）スケーラビリティ、空間スケーラビリティおよび／または時間スケーラビリティを提供するために用いられ得る。拡張された層は、基本層とは異なる差分空間解像度を有し得る。例えば、ＥＬとＢＬの間の空間アスペクト比率は、１．０、１．５、２．０または他の異なる比率であり得る。換言すると、ＥＬの空間アスペクトはＢＬの空間アスペクトの１．０、１．５、２．０倍に等しい。いくつかの例において、ＥＬのスケーリング因子は、ＢＬよりも大きい可能性がある。例えば、ＥＬ内のピクチャのサイズは、ＢＬ内のピクチャのサイズより大きい可能性がある。このように、ＥＬの空間解像度がＢＬの空間解像度より大きい可能性はあり得るが、それに限定されることはない。
【００１８】
[0025]Ｈ．２６４のためのＳＶＣ拡張において、現在のブロックの予測は、ＳＶＣに提供される異なる層を用いて実行され得る。こういった予測は階層間予測と称され得る。階層間予測方法は、階層間の冗長性を低減するためにＳＶＣにおいて利用され得る。階層間予測のいくつかの例は、階層間イントラ予測、階層間動き予測、および階層間残差予測を含み得る。階層間イントラ予測は、拡張層における現在のブロックを予測するために、基本層内の協置ブロックの再構成を用いる。階層間動き予測は、拡張層における動きを予測するために、基本層の動きを用いる。階層間残差予測は、拡張層の残差を予測するために基本層の残差を用いる。
【００１９】
[0026]階層間残差予測において、基本層の残差は、拡張層における現在のブロックを予測するために用いられ得る。残差は、ソースビデオユニットとビデオユニットに関する時間予測の間の差分として定義され得る。残差予測において、基本層の残差はまた、現在のブロックを予測する際に検討される。例えば、現在のブロックは、拡張層からの残差、拡張層からの時間予測、および基本層からの残差を用いて再構成され得る。現在のブロックは、下記の式にしたがって再構成され得る。
【数１】
0006293756.tif 000002
【００２０】
ここにおいて、
【数２】
0006293756.tif 000003
【００２１】
は現在のブロックの再構成を表し、
【数３】
0006293756.tif 000004
【００２２】
は拡張層からの残差を表し、
【数４】
0006293756.tif 000005
【００２３】
は、拡張層からの時間予測を表し、および
【数５】
0006293756.tif 000006
【００２４】
は、基本層からの残差予測を表す。
【００２５】
[0027]拡張層におけるマクロブロック（ＭＢ）に階層間残差予測を用いるために、基本層内の協置マクロブロックは、インターＭＢであるべきであり、および協置基本層マクロブロックの残差は、拡張層の空間解像度比にしたがってアップサンプルされ得る（例えば、ＳＶＣにおける層は異なる空間解像度を有し得るので）。階層間残差予測において、拡張層の残差とアップサンプルされた基本層の残差の間の差分はビットストリーム内で符号化され得る。基本層の残差は、基本および拡張層の量子化過程の間の比率に基づいて正規化され得る。
【００２６】
[0028]Ｈ．２６４へのＳＶＣ拡張は、デコーダのために低い複雑性を保持するために、動き補償のために単一ループデコーディングを要求する。一般的に、動き補償は、下記のように、現在のブロックに関する残差と時間予測を加算することによって行われる。
【数６】
0006293756.tif 000007
【００２７】
ここにおいて、
【数７】
0006293756.tif 000008
【００２８】
は現在のフレームを表し、ｒは残差を表し、およびＰは時間予測を表す。単一ループデコーディングにおいて、ＳＶＣにおいて各サポートされた層は、単一動き補償ループを用いてデコードされ得る。これを実現するために、上位層を階層間イントラ予測するために用いられる全ての層は、制約されたイントラ予測を用いて符号化される。制約されたイントラ予測において、イントラモードＭＢは、隣接インター符号化ＭＢからの任意のサンプルを参照することなくイントラ符号化される。一方、ＨＥＶＣはＳＶＣにマルチループデコーディングを可能し、そこにおいて、ＳＶＣ層は複数の動き補償ループを用いてデコードされ得る。例えば、基本層が最初に完全にデコードされ、次に拡張層がデコードされる。
【００２９】
[0029]式（１）において公式化された残差予測は、Ｈ．２６４ＳＶＣ拡張において有効な技術であり得る。しかし、その性能は、特にマルチループデコーディングがＨＥＶＣ  ＳＶＣ拡張において用いられるときに、ＨＥＶＣ  ＳＶＣ拡張においてさらに向上し得る。
【００３０】
[0030]マルチループデコーディングの場合、差分領域動き補償が残差予測の代わりに用いられ得る。ＳＶＣにおいて、拡張層は画素領域符号化または差分領域符号化を用いて符号化され得る。画素領域符号化において、拡張層画素に関する入力画素は、非ＳＶＣ  ＨＥＶＣ層については符号化され得る。一方、差分領域符号化において、拡張層に関する差分値が符号化され得る。差分値は、拡張層に関する入力画素と対応するスケールされた基本層の再構成された画素の間の差分であり得る。こういった差分値は、差分領域動き補償のために動き補償において用いられ得る。
【００３１】
[0031]差分領域を用いるインター符号化に関して、現在の予測ブロックは、拡張層基準ピクチャ内の対応する予測ブロックサンプルとスケールされた基本層基準ピクチャ内の対応する予測ブロックサンプルの間の差分値に基づいて決定される。差分値は差分予測ブロックと称され得る。協置基本層再構成サンプルは、拡張層予測サンプルを取得するために差分予測ブロックに加えられる。
【００３２】
[0032]しかし、階層間予測における差分領域動き補償を用いることは、動き推定および動き補償が画素領域と差分領域の両方にしばしば用いられるので、動き推定および動き補償の２つのセットを導入する。動き推定および動き補償の２つのセットを導入することは、より高いバッファと計算コストにつながる可能性があり、それはエンコーダまたはデコーダにとって実用的で無い。さらに、動きベクトルの２つのセットを符号化することは、動きベクトルの２つのセットが異なる属性をもち、ならびに符号化ユニット（ＣＵ）レベルでインターリーブされるときに動きフィールドが不規則になり得るので、符号化効率を低下し得る。さらに、差分領域における動き推定は、基本層と拡張層が同じ動きを共有することを求める。さらに、２つの階層間のディファレンシャルピクチャの導出が各層の十分に再構成されたピクチャに基づくので、差分領域動き補償は、単一ループデコーディングを用いて動作しない。したがって、差分領域動き補償を用いる場合の動き推定および動き補償の２つのセットを持つ際に冗長性を避けることは有利になるだろう。同様に、単一ループデコーディングの際に差分領域動き補償を拡張することは有利になる。
【００３３】
[0033]本開示に記載された技術は、ＳＶＣにおける階層間残差予測と差分領域動き補償に関する課題に対応し得る。技術は、汎用残差予測（ＧＲＰ）フレームワーク内で適用され得る。上記で説明されたように、階層間残差予測は、現在のビデオユニット、例えば、ブロックまたはフレームを予測する際に基準層の残差を用いる。汎用残差予測において、現在のビデオユニットの階層間残差予測は、現在の層の残差、現在の層の時間予測、および基準層の残差に基づき得る。基準層の残差は、重み付け因子によって調整され得る。重み付け因子は、種々のタイプの情報に基づき、ならびに種々のタイプの情報を含み得る。こういった情報の例は、重み付け候補、重み付けステップ、重み付けインデックス、および重み付けテーブルの数字を含み得る。
【００３４】
[0034]本開示の観点にしたがったＧＲＰフレームワークは、重み付け因子を抱合することによって種々のタイプの残差予測に適合し得る。適切なに重み付け因子を調整することは、残差予測に十分な符号化利得をもたらし得る。さらに、該ＧＲＰフレームワークにおいて、残差予測は、従来の残差予測における基本層では必ずしも無い基準層を用いて実行され得る。例えば、基準層は、現在の拡張層から抽出され得る。該ＧＲＰはまた、重み付け因子が１に設定される時に従来の残差予測に適合し得る。該ＧＲＰフレームワークは、単一ループデコーディングとマルチループデコーディングの両方と共に用いられ得る。さらに、該ＧＲＰフレームワークにおいて、差分領域における動き推定は必須でない場合もあり、それによって、現在の層と拡張層は、動き推定のために同じ動きを共有しなくても良い。該ＧＲＰフレームワークは、多くの異なるタイプの残差予測に適用され得、ならびに式（１）において定義されたような従来の残差予測と差分領域動き補償は、該ＧＲＰフレームワークを用いる２つの特定のシナリオである。該技術は、ＨＥＶＣのスケーラブル拡張における動き補償の性能を向上し得、ならびにＨＥＶＣの３Ｄビデオ符号化拡張にも適用され得る。
【００３５】
[0035]新規のシステム、装置、および方法の様々な観点は、添付の図面について下記でさらに詳細に説明される。しかし、本開示は、多くの異なる形式において具体化されるが、本開示を通して表されるいずれかの特定の構造または機能に限定されると解釈されるべきではない。むしろ、これらの観点は、本開示が綿密で完璧であり、および当業者に対して本開示の範囲を十分に伝えるために提供される。ここでの教示に基づいて、当業者は、本開示の範囲が本願のいずれかの他の観点から独立して、または組み合わせて実施されようがなかろうが、ここで開示された新規のシステム、装置、および方法のいずれかの観点をカバーすることを意図していることを評価するべきである。例えば、装置は実装され、または、方法はここで説明される観点のうちのいくつかを用いて実施され得る。さらに、本願の範囲は、他の構造、機能、またはここで説明される本願の様々な観点に加えたまたはそれ以外の構造と機能を用いて実施されるこういった装置、または方法をカバーすることを意図している。ここで開示されたいずれの観点も、請求項の１つまたは複数の要素によって具体化され得ることが理解されるべきである。
【００３６】
[0036]特定の観点はここに記載されたが、これらの観点の多くの変形および並べ替えは本開示の範囲内である。好適な観点のうちのいくつかの利益および利点が述べられるが、本開示の範囲は、特定の利益、使用、または目的に限定されることを意図していない。むしろ、本開示の観点は、異なる無線技術、システム構成、ネットワーク、および送信プロトコルに対して広義に適用可能であることを意図しており、それらのうちのいくつかは、図面内の例および下記の好適な観点の説明における具体例によって示される。詳細な説明および図面は、添付の請求項およびそれらの等価物によって定義される本開示の範囲を限定するというよりはむしろ本開示の単なる例示にすぎない。
【００３７】
ビデオエンコーディングおよびデコーディングシステム
[0037]図１は、本開示に記載された観点にしたがった技術を利用し得るビデオエンコーディングおよびデコーディングシステムの例を示すブロック図である。図１に示されるように、システム１０は、宛先デバイス１４によって後にデコードされるエンコードされたビデオデータを提供するソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介して宛先デバイス１４にビデオデータを提供する。ソースデバイス１２と宛先デバイス１４は、デスクトップコンピュータ、ノートブック（例えばラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォン、のようなテレフォンハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタル・メディア・プレーヤー、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む広範囲のデバイスのうちのいずれかを備え得る。場合によって、ソースデバイス１２と宛先デバイス１４は、無線通信のために装備され得る。
【００３８】
[0038]宛先デバイス１４は、コンピュータ可読媒体１６を介してデコードされるエンコードされたビデオデータを受信し得る。コンピュータ可読媒体１６は、ソースデバイス１２から宛先デバイス１４へエンコードされたビデオデータを移動することができる任意のタイプの媒体またはデバイスを備え得る。一例において、コンピュータ可読媒体１６は、リアルタイムにエンコードされたビデオデータを直接宛先デバイス１４へ送信することをソースデバイス１２可能にするための通信媒体を備え得る。エンコードされたビデオデータは、無線通信プロトコルのような通信標準にしたがって変調され、ならびに宛先デバイス１４へ送信される。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物質の送信路のような、任意の無線または有線の通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、またはインターネットのようなグローバルネットワークといったパケットベースのネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を容易にするために有用であり得るルータ、スイッチ、基地局、またはいずれか他の機器を含み得る。
【００３９】
[0039]いくつかの例において、エンコードされたデータは、出力インターフェース２２から記憶デバイス（不図示）へ出力され得る。同様に、エンコードされたデータは、入力インターフェース２８によって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、ブルーレイディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、またはエンコードされたビデオデータを記憶するためのいずれか他の適切なデジタル記憶媒体のような様々な分散型または局所的にアクセスされるデータ記憶媒体のうちのいずれかを含み得る。さらなる例において、記憶デバイスは、ソースデバイス１２によって生成されたエンコードされたビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードによって記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、エンコードされたビデオデータを格納し、およびそのエンコードされたビデオデータを宛先デバイス１４に送信可能な任意のタイプのサーバであり得る。ファイルサーバの具体例は、ウェブサーバ（例えば、ウェブサイト用）、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＳＡ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む任意の標準のデータ接続を経由してエンコードされたビデオデータにアクセスし得る。これは、ファイルサーバに格納されたエンコードされたビデオデータにアクセスするのに適した無線チャンネル（例えば、Ｗｉ−Ｆｉ接続）、有線接続（例えば、ＤＳＬ、ケーブルモデムなど）、または、その両方の組合せを含み得る。記憶デバイスからのエンコードされたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００４０】
[0040]本開示の技術は、必ずしも無線機器または環境に限定されるものではない。この技術は、無線テレビ放送、ケーブルテレビ送信、衛星テレビ送信、ＨＴＴＰを経由する動的適応ストリーミング（ＤＡＳＨ）のようなインターネットストリーミングビデオ送信、データ記憶媒体上でエンコードされるデジタルビデオ、データ記憶媒体上に記憶されるデジタルビデオのデコーディング、または他のアプリケーションのような様々なマルチメディアアプリケーションのうちのいずれかを支援するビデオ符号化に適用され得る。いくつかの例において、システム１０は、ビデオストリーミング、ビデオの再生、ビデオブロードキャスティング、および／またはビデオ電話のような機器を支援するために、一方向または双方向のビデオ送信を支援するように構成され得る。
【００４１】
[0041]図１の例において、ソースデバイス１２は、ビデオソース１８、ビデオエンコーダ２０、および出力インターフェース２２を含む。宛先デバイス１４は、入力インターフェース２８、ビデオデコーダ３０、およびディスプレイデバイス３２を含む。本開示にしたがって、ソースデバイス１２のビデオエンコーダ２０は、複数の標準または標準の拡張に準拠するビデオデータを含むビットストリームを符号化するための技術を適用するように構成され得る。他の例において、ソースデバイスと宛先デバイスは、他の構成要素または配置を含み得る。例えば、ソースデバイス１２は、外部のカメラのような外部のビデオソース１８からビデオデータを受信し得る。同じく、宛先デバイス１４は、統合されたディスプレイデバイスを含むよりむしろ、外部のディスプレイデバイスとインターフェースで接続し得る。
【００４２】
[0042]図１の例示的なシステム１０は、単なる１つの例である。現在のブロックのために動きベクトル予測変数に関する候補リスト用の候補を決定する技術は、デジタルビデオエンコーディングおよび／またはデコーディングデバイスによって実行され得る。一般的に、本開示の技術は、ビデオエンコーディングデバイスによって実行されるが、この技術は、通常「ＣＯＤＥＣ」と称されるビデオエンコーダ／デコーダによっても実行され得るさらに、本開示の技術は、ビデオプレプロセッサによっても実行され得る。ソースデバイス１２と宛先デバイス１４は単に、ソースデバイス１２が、宛先デバイス１４への送信のために符号化されたビデオデータを生成する例えば符号化デバイスの例である。いくつかの例において、デバイス１２、１４は、デバイス１２、１４のそれぞれがビデオエンコーディングとデコーディングの構成要素を含むために、実質的に対称的に動作し得る。したがって、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオ電話技術のためのビデオデバイス１２、１４の間の一方向または双方向のビデオ送信を支援し得る。
【００４３】
[0043]ソースデバイス１２のビデオソース１８は、ビデオカメラ、予め取得したビデオを含むビデオアーカイブ、および／またはビデオコンテンツの提供者からビデオを受信するためのビデオフィードインタフェースのようなビデオ取得デバイスを抱合し得る。さらなる代替として、ビデオソース１８は、ソースビデオのようなコンピュータグラフィックスベースのデータ、またはライブビデオ、アーカイブされたビデオ、およびコンピュータ生成されたビデオの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２と宛先デバイス１４は、いわゆるカメラ電話またはビデオ電話を形成し得る。しかし、上述したとおり、本開示に記載された技術は、一般に、ビデオ符号化に適用可能であり得、および無線および／または有線アプリケーションに適用可能であり得る。それぞれの場合において、取得されたか、予め取得されたか、あるいはコンピュータ生成されたビデオは、ビデオエンコーダ２０によってエンコードされ得る。エンコードされたビデオ情報は次に、コンピュータ可読媒体１６に出力インターフェース２２によって出力され得る。
【００４４】
[0044]コンピュータ可読媒体１６は、無線ブロードキャストまたは有線ネットワーク送信のような一時的媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体のような記憶媒体（すなわち、非一時的な記憶媒体）を含み得る。いくつかの例において、ネットワークサーバ（不図示）は、ソースデバイス１２からエンコードされたビデオデータを受信し、およびネットワーク送信、直接有線の通信、などを介して、宛先デバイス１４へエンコードされたビデオデータを提供し得る。同様に、ディスクスタンピング機能のような媒体作成機能の計算デバイスは、ソースデバイス１２からエンコードされたビデオデータを受信し、およびエンコードされたビデオデータを抱合するディスクを作成し得る。したがって、コンピュータ可読媒体１６は、種々の例において、種々の形式の１つまたは複数のコンピュータ可読媒体を含むと理解され得る。
【００４５】
[0045]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義されるシンタックス情報を含み得、その情報は、ブロックおよび他の符号化ユニット例えば、ＧＯＰの特徴および／または処理を記述するシンタックスエレメントを含むビデオデコーダ３０によっても用いられる。ディスプレイデバイス３２は、ユーザにデコードされたビデオデータを表示し、およびカソードレイチューブ（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、またはいずれか別のタイプのディスプレイデバイスのような様々なディスプレイデバイスのいずれかを備え得る。
【００４６】
[0046]ビデオエンコーダ２０とビデオデコーダ３０は、現在開発中の高機能ビデオ符号化（ＨＥＶＣ）標準のようなビデオ符号化標準にしたがって動作し得、およびＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替として、ビデオエンコーダ２０とビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｈ．２６４標準のような他の専有的に定める標準または業界の標準にしたがって動作し得、代替として、ＭＰＥＧ−４、パート１０、先進ビデオ符号化（ＡＶＣ）またはこういった標準の拡張と称される。しかし、本開示の技術は、いずれか特定の符号化標準に限定されることはなく、上記に挙げられた標準のいずれかを含むがそれらに限定されることはない。ビデオ符号化標準の他の例はＭＰＥＧ−２とＩＴＵ−Ｔ  Ｈ．２６３を含む。図１には図示されていないが、いくつかの観点において、ビデオエンコーダ２０とビデオデコーダ３０はそれぞれ音声エンコーダおよびデコーダと統合され得、および共通のデータストリームまたは別々のデータストリームにおいて音声とビデオの両方のエンコーディングを扱うために、適切なＭＵＸ−ＤＥＭＵＸユニット、あるいは他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコルまたはユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに準拠し得る。
【００４７】
[0047]ビデオエンコーダ２０とビデオデコーダ３０は、それぞれ１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、アプリケーション特定集積回路（ＡＳＩＣ）フィールド・プログラマブル・ゲイト・アレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せのような様々な適切なエンコーダ回路のいずれかとして実装され得る。この技術がソフトウェアに部分的に実装される場合、デバイスは、本開示の技術を実行するために、ソフトウェアへの命令を適切な非一時的なコンピュータ可読媒体に記憶し、および１つまたは複数のプロセッサを用いてハードウェア内の命令を実行し得る。ビデオエンコーダ２０とビデオデコーダ３０のそれぞれは、１つまたは複数のエンコーダまたはデコーダ内に含まれ得、それらのうちのいずれかが、各デバイスに一体化されたエンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話のような無線通信デバイスを備え得る。
【００４８】
[0048]ＪＣＴ−ＶＣは、ＨＥＶＣ標準の開発に取り組んでいる。ＨＥＶＣ標準化の試みは、ＨＥＶＣテストモデル（ＨＭ）と称されるビデオ符号化デバイスの発展型モデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣにしたがった既存のデバイスと比較して、ビデオ符号化デバイスの種々の付加的な機能を仮定する。例えば、Ｈ．２６４が９種類のイントラ予測エンコーディングモードを提供する一方で、ＨＭは、３３種類ものイントラ予測エンコーディングモードを提供し得る。
【００４９】
[0049]一般的に、ＨＭの作業モデルは、ビデオフレームまたはピクチャが一連のツリーブロックまたはルマおよびクロマの両方のサンプルを含む最大符号化ユニット（ＬＣＵ）に分割され得ることを記載している。ビットストリーム内のシンタックスデータは、画素の数という点で最大符号化ユニットであるＬＣＵのためのサイズを定義し得る。スライスは、符号化順に多数の連続したツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、四分木にしたがって符号化ユニット（ＣＵ）に分割され得る。一般的に、四分木データ構造は、ＣＵ毎に１つのノードを含み、ツリーブロックはルートノードに対応する。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは、４つの葉ノードを含み、葉ノードのそれぞれは、サブＣＵのうちの１つに対応する。
【００５０】
[0050]四分木データ構造の各ノードは、対応するＣＵにシンタックスデータを提供し得る。例えば、四分木内のノードは、ノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵに関するシンタックスエレメントは再帰的に定義され得、およびＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがこれ以上分割されない場合、それは葉ＣＵと称される。本開示において、元の葉ＣＵの明示的な分割が無いとしても、葉ＣＵの４つのサブＣＵはやはり葉ＣＵと称されるだろう。例えば、１６ｘ１６サイズのＣＵがこれ以上分割されない場合、１６ｘ１６のＣＵが全く分割されなかったとしても、４つの８ｘ８のサブＣＵも葉ＣＵと称されるだろう。
【００５１】
[0051]ＣＵは、ＣＵがサイズの区別を持たないことを除いて、Ｈ．２６４の標準のマクロブロックと類似の目的を有する。例えば、ツリーブロックは４つの子ノード（サブＣＵとも称される）に分割され得、および各子ノードは、順に親ノードになり得、および別の４つの子ノードに分割され得る。四分木の葉ノードと称される最後の分割されない子ノードは、葉ＣＵとも称される符号化ノードを備える。符号化されたビットストリームと関連付けられるシンタックスデータは、ツリーブロックが分割され得る最大回数をも定義し得、それは最大ＣＵ深さとも称され、および符号化ノードの最小サイズも定義し得る。したがって、ビットストリームはまた、最小符号化ユニット（ＳＣＵ）を定義し得る。本開示は、ＨＥＶＣのコンテキストにおけるＣＵ、ＰＵ、またはＴＵのうちのいずれか、あるいは他の標準（例えば、Ｈ．２６４／ＡＶＣにおけるそれらのマクロブロックおよびサブブロック）のコンテキストにおける類似のデータ構造を指すために、用語「ブロック」を用いる。
【００５２】
[0052]ＣＵは符号化ノードを含み、および予測ユニット（ＰＵ）と変換ユニット（ＴＵ）は符号化ノードと関連付けられる。ＣＵのサイズは符号化ノードのサイズに対応し、および正方形でなければならない。ＣＵのサイズは、８ｘ８画素から最大６４ｘ６４画素以上を有するツリーブロックのサイズまでの範囲であり得る。各ＣＵは１つまたは複数のＰＵおよび１つまたは複数のＴＵを抱合し得る。ＣＵと関連付けられるシンタックスデータは、例えば、ＣＵを１つまたは複数のＰＵに分割することを記述し得る。分割モードは、ＣＵがスキップあるいはダイレクトモードでエンコードされるか、イントラ予測モードでエンコードされるか、あるいはインター予測モードでエンコードされるかによって異なり得る。ＰＵは、非正方形になるように区分され得る。ＣＵと関連付けられるシンタックスデータは、例えば、四分木にしたがってＣＵを１つまたは複数のＴＵへ分割することを記述し得る。ＴＵは、正方形または非正方形（例えば、長方形）であり得る。
【００５３】
[0053]ＨＥＶＣ標準はＴＵにしたがった変形を可能し、それはそれぞれのＣＵによって異なり得る。ＴＵは、常にこうであるとは限らないが、通常、分割されたＬＣＵに関して定義された所与のＣＵ内のＰＵのサイズに基づいてサイズが決められる。ＴＵは通常、ＰＵと同じサイズかあるいはそれより小さい。いくつかの例において、ＣＵに対応する残差サンプルは、「残差四分木」（ｒｅｓｉｄｕａｌ  ｑｕａｄ  ｔｒｅｅ）（ＲＱＴ）として知られる四分木構造を用いてより小さいユニットに分割され得る。ＲＱＴの葉ノードは、変換ユニット（ＴＵ）と称され得る。ＴＵと関連付けられる画素差分値は、変換係数を生成するために変換され得、それらの変換係数は、量子化され得る。
【００５４】
[0054]葉ＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。一般的に、ＰＵは、対応するＣＵの全てあるいは一部に対応する空間領域を表し、およびＰＵに関する基準サンプルを検索するためのデータを含み得る。さらに、ＰＵは、予測と関連するデータを含む。例えば、ＰＵがイントラモード（ｉｎｔｒａ−ｍｏｄｅ）でエンコードされる場合、ＰＵに関するデータは残差四分木（ＲＱＴ）に含まれ得、それは、ＰＵに対応するＴＵに関するイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード（ｉｎｔｅｒ−ｍｏｄｅ）でエンコードされる場合、ＰＵはＰＵに関する１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵに関する動きベクトルを定義するデータは、例えば、動きベクトルの水平構成要素、動きベクトルの垂直構成要素、動きベクトルに関する解像度（例えば、４分の１画素精度または８分の１画素精度）、動きベクトルが指し示す基準ピクチャ、および／または動きベクトルに関する基準ピクチャリスト（例えば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００５５】
[0055]１つまたは複数のＰＵを有する葉ＣＵはまた、１つまたは複数の変換ユニット（ＴＵ）を含み得る。変換ユニットは、上記で論じられたように、ＲＱＴ（ＴＵ四分木構造とも称される）を用いて特定され得る。例えば、分割フラグは、葉ＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次に、各変換ユニットはさらにサブＴＵに分割され得る。ＴＵがこれ以上分割されない場合、それは葉ＴＵと称される。一般的に、イントラ符号化に関して、葉ＣＵに属する全ての葉ＴＵは、同じイントラ予測モードを共有する。すなわち、同じイントラ予測モードは一般的に、葉ＣＵの全てのＴＵに関する予測された値を計算するために適用される。イントラ符号化に関して、ビデオエンコーダは、ＴＵに対応するＣＵの一部と元のブロックの間の差分としてイントラ予測モードを用いて各葉ＴＵに関する残差値を計算し得る。ＴＵは、ＰＵのサイズに必ずしも限定されることはない。したがって、ＴＵは、ＰＵよりも大きいか、あるいは小さくなり得る。イントラ符号化に関して、ＰＵは、同じＣＵに関して対応する葉ＴＵと共に割り当てられ得る。いくつかの例において、葉ＴＵの最大のサイズは対応する葉ＣＵのサイズに対応し得る。
【００５６】
[0056]さらに、葉ＣＵのＴＵはまた、残差四分木（ＲＱＴ）と称される各四分木データ構造と関連付けられ得る。すなわち、葉ＣＵは、葉ＣＵがどのようにＴＵに分割されるか示す四分木を含み得る。ＴＵ四分木のルートノードは、一般的に葉ＣＵに対応し、その一方で、ＣＵ四分木のルートノードは一般的に、ツリーブロック（またはＬＣＵ）に対応する。分割されないＲＱＴのＴＵは葉ＴＵと称される。一般的に、本開示は、特に断りの無い限り、それぞれ葉ＣＵと葉ＴＵを指すために、用語ＣＵおよびＴＵを用いる。
【００５７】
[0057]ビデオシーケンスは通常、一連のビデオフレームまたはピクチャを含む。ピクチャのグループ（ＧＯＰ）は一般的に、一連の１つまたは複数のビデオピクチャを備える。ＧＯＰはＧＯＰのヘッダ、１つまたは複数のピクチャのヘッダ、または他のいずれかの場所にシンタックスデータを含み、それは、ＧＯＰに含まれた多数のピクチャを記述する。ピクチャの各スライスは、各スライスに関するエンコーディングモードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は通常、ビデオデータをエンコードするために個々のビデオスライス内のビデオブロック上で動作する。ビデオブロックはＣＵ内の符号化ノードに対応し得る。ビデオブロックは、固定されたまたは変化するサイズを有し、および特定された符号化標準によってサイズが異なり得る。
【００５８】
[0058]例として、ＨＭは、様々なサイズのＰＵにおける予測を支援する。特定のＣＵのサイズが２Ｎｘ２Ｎであると仮定すると、ＨＭは、２Ｎｘ２ＮまたはＮｘＮのサイズのＰＵにおけるイントラ予測、および２Ｎｘ２Ｎ、２ＮｘＮ、Ｎｘ２Ｎ、またはＮｘＮのサイズの対称なＰＵにおけるインター予測を支援する。ＨＭはまた、２ＮｘｎＵ、２ＮｘｎＤ、ｎＬｘ２Ｎ、およびｎＲｘ２ＮのサイズのＰＵにおけるインター予測のための非対称な分割を支援する。非対称な分割において、ＣＵの１つの方向は分割されないが、他の方向は２５％と７５％に分割される。２５％の分割に対応するＣＵの部分は、「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」の表示が後に続く「ｎ」によって示される。したがって、例えば「２ＮｘｎＵ」は、上部で２Ｎｘ０．５ＮのＰＵおよび下部で２Ｎｘ１．５ＮのＰＵを用いて水平に分割される２Ｎｘ２ＮのＣＵを指す。
【００５９】
[0059]本開示において、「ＮｘＮ」および「Ｎ掛けるＮ」は、例えば１６ｘ１６画素あるいは１６掛ける１６画素の垂直および水平寸法の寸法を単位としてビデオブロックの画素の寸法を指すために置換可能に用いられ得る。一般的に、１６ｘ１６ブロックは垂直方向に１６画素（ｙ＝１６）および水平方向に１６画素（ｘ＝１６）を有することになる。同じく、ＮｘＮのブロックは一般的に、垂直方向にＮ個の画素および水平方向にＮ個の画素を有し、そこでＮ個は非負整数の値を表す。ブロック内の画素は、行と列に配列され得る。さらに、ブロックは、垂直方向と水平方向に必ずしも同じ画素の数を有する必要はない。例えば、ブロックはＮｘＭの画素を備え得、そこで、Ｍは必ずしもＮと等しくない。
【００６０】
[0060]ＣＵのＰＵを用いるイントラ予測またはインター予測符号化に続いて、ビデオエンコーダ２０は、ＣＵのＴＵに関する残差データを計算し得る。ＰＵは、空間領域（画素領域とも称される）において予測画素データを生成する方法またはモードを記述するシンタックスデータを備え得、およびＴＵは、例えば、ディスクリートコサイン変換（ＤＣＴ）、整数変換、ウェイブレット変換、または残差ビデオデータに概念上類似する変換などの変換アプリケーションに従う変換領域において係数を備え得る。残差データは、エンコードされなかったピクチャの画素とＰＵに対応する予測値の間の画素差に対応し得る。ビデオエンコーダ２０は、ＣＵに関する残差データを含むＴＵを形成し、次にＣＵに関する変換係数を生成するためにＴＵを変換し得る。
【００６１】
[0061]変換係数を生成するための任意の変換の次に、ビデオエンコーダ２０は変換係数の量子化を実行し得る。量子化とはもっとも広い通常の意味を持つように意図された広義の用語である。１つの実施例において、量子化は、変換係数が、さらなる圧縮を提供する係数を表すために用いられるデータの量をできるだけ低減するために量子化される過程を指す。量子化の過程は、係数のうちのいくつかまたは全てと関連付けられるビット深さを低減し得る。例えば、ｎビットの値は量子化中にｍビットの値に四捨五入され得、そこにおいて、ｎはｍより大きい。
【００６２】
[0062]量子化の次に、ビデオエンコーダは変換係数を走査し、量子化された変換係数を含む２次元マトリックスから１次元ベクトルを生成し得る。走査は、アレイの前方により高いエネルギー（それ故により低い周波数）係数を設定し、およびアレイの後方により低いエネルギー（それ故により高い周波数）係数を設定するように設計され得る。いくつかの例において、ビデオエンコーダ２０は、エントロピーエンコードされ得るシリアル化されたベクトルを生成するために、量子化された変換係数を走査するために既定義の走査順を利用し得る。他の例において、ビデオエンコーダ２０は適応可能な走査を実行し得る。１次元ベクトルを形成するために量子化された変換係数を走査した後、ビデオエンコーダ２０は、例えば、コンテキスト適応可変長符号化（ＣＡＶＬＣ）、コンテキスト適応二値算術符号化（ＣＡＢＡＣ）、シンタックスベースのコンテキスト適応二値算術符号化（ＳＢＡＣ）、確立区間分割エントロピー（ＰＩＰＥ）符号化、または別のエントロピーエンコーディング方法論にしたがって、１次元ベクトルをエントロピーエンコードし得る。ビデオエンコーダ２０はまた、ビデオデータをデコーディングする際にビデオデコーダ３０によって用いるためのエンコードされたビデオデータと関連付けられるシンタックスエレメントをエントロピーエンコードし得る。
【００６３】
[0063]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるシンボルにコンテキストモデル内のコンテキストを割り当て得る。コンテキストは例えば、シンボルの隣接する値が非ゼロか否かに関する。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるシンボルに関する可変長符号を選択し得る。ＶＬＣ内のコードワードは、比較的より短いコードがより可能性のあるシンボルに対応する一方で、より長いコードがより可能性のないシンボルに対応するように解釈され得る。このように、ＶＬＣの使用は、例えば、送信される各シンボルに等しい長さのコードワードを使用することを通じてビット節約を実現し得る。可能性判定は、シンボルに割り当てられたコンテキストに基づき得る。
【００６４】
[0064]ビデオエンコーダ２０は、例えば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはＧＯＰヘッダ内で、ビデオデコーダ３０にブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびＧＯＰベースのシンタックスデータのようなシンタックスデータをさらに送り得る。ＧＯＰシンタックスデータは、各ＧＯＰ内の多数のフレームを記述し得、およびフレームシンタックスデータは、対応のフレームをエンコードするために用いられるエンコーディング／予測モードを示し得る。
【００６５】
ビデオエンコーダ
[0065]図２は、本開示に記載された観点にしたがった技術を実施し得るビデオエンコーダの例を示すブロック図である。ビデオエンコーダ２０のユニットのうちの1つまたは複数は、本開示の技術のうちのいずれかまたは全てを実行するように構成され得る。１つの例として、変換処理ユニット５２および逆変換ユニット６０は、図８について下記で説明される本開示に記載された適応変換技術のうちのいずれかまたは全てを実行するように構成され得る。しかし、本開示の観点はそれに限定されることはない。いくつかの例において、本開示に記載された技術は、ビデオエンコーダ２０の種々の構成要素の間で共有され得る。１つの例として、モード選択ユニット４０に加えて、あるいはその代わりに、本開示に記載された技術のうちのいずれかまたは全てを実行するように構成され得る。
【００６６】
[0066]ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラおよびインター符号化を実行し得る。イントラ符号化は、所与のビデオフレームまたはピクチャの範囲内でビデオ内の空間冗長性を低減または除去するための空間予測に依存する。インター符号化は、ビデオシーケンスの隣接するフレームまたはピクチャの範囲内でビデオ内の時間の冗長性を低減または除去するために時間予測に依存する。イントラモード（Ｉモード）とは、種々の空間ベースの符号化モードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）のようなインターモードは、種々の時間ベースの符号化モードのいずれかを指し得る。
【００６７】
[0067]図２に示されるように、ビデオエンコーダ２０は、エンコードされるビデオフレーム内の現在のビデオブロックを受信する。図２の例において、ビデオエンコーダ２０は、モード選択ユニット４０、基準フレームメモリ６４、アナログ加算器５０、変換処理ユニット５２、量子化ユニット５４、およびエントロピーエンコーディングユニット５６を含む。モード選択ユニット４０は、順に、動き補償ユニット４４、動き推定ユニット４２、イントラ予測ユニット４６、および区分ユニット４８を含む。ビデオブロックの再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８、逆変換ユニット６０、およびアナログ加算器６２を含む。非ブロック化フィルタ（図２にでは不図示）はまた、再構成されたビデオからブロックノイズアーチファクトを除去するように、ブロック境界にフィルタをかけるために含まれ得る。所望される場合、非フロック化フィルタは通常、アナログ加算器６２の出力にフィルタをかけることもある。追加のフィルタ（ループ内またはループの後）はまた、非フロック化フィルタに加えて用いられ得る。こういったフィルタは簡潔のために不図示であるが、所望される場合、アナログ加算器５０の出力にフィルタをかけ得る（ループ内フィルタとして）。
【００６８】
[0068]エンコーディングの過程の間、ビデオエンコーダ２０は、符号化されるビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット４２と動き補償ユニット４４は、時間予測を提供するために、１つまたは複数の基準フレーム内の１つまたは複数のブロックと比較して受信されたビデオブロックのインター予測符号化を実行する。イントラ予測ユニット４６は代替として、空間予測を提供するために符号化されるブロックと同じフレームまたはスライス内の１つまたは複数の隣接ブロックと比較して、受信されたビデオブロックのイントラ予測符号化を実行し得る。ビデオエンコーダ２０は、例えば、ビデオデータの各ブロックに適切な符号化モードを選択するために複数の符号化パスを実行し得る。
【００６９】
[0069]さらに、区分ユニット４８は、前の符号化パス内の前の区分スキームの評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。例えば、区分ユニット４８は、フレームまたはスライスを複数のＬＣＵに初めに区分し得、およびレート歪み（ｒａｔｅ−ｄｉｓｔｏｒｔｉｏｎ）解析（例えば、レート歪み最適化）に基づいて、各ＬＣＵをサブＣＵに区分し得る。モード選択ユニット４０はさらに、ＬＣＵをサブＣＵへ区分することを示す四分木データ構造を生成し得る。四分木の葉ノードＣＵは、１つまたは複数のＰＵと１つまたは複数のＴＵを含み得る。
【００７０】
[0070]モード選択ユニット４０は、例えば、エラー結果に基づいて、イントラまたはインター符号化モードのうちの１つを選択し、そして残差ブロックデータを生成するためにアナログ加算器５０におよび基準フレームとして使用するためのエンコードされたブロックを再構成するためにアナログ加算器６２に結果としてのイントラまたはインター符号化ブロックを提供する。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のこういったシンタックス情報のようなシンタックスエレメントをエントロピーエンコーディングユニット５６に提供する。
【００７１】
[0071]動き推定ユニット４２と動き補償ユニット４４は、概念的な目的で別々に例示されるが、高度に統合され得る。動き推定ユニット４２によって実行される動き推定は、動きベクトルを生成する過程であり、動き推定は、ビデオブロックに関する動きを推定する。動きベクトルは、例えば、現在のフレーム（または他の符号化されたユニット）内で符号化中の現在のブロックと比較した基準フレーム（または他の符号化されたユニット）内の予測ブロックと比較した現在のピクチャまたはビデオフレーム内のビデオブロックのＰＵの置換を示し得る。予測ブロックとは、画素差の点から、符号化されるべきブロックに正確に一致していることがわかるブロックであり、それは、絶対差分値（ＳＡＤ）の和、正方差（ＳＳＤ）の和、または他の差分メトリックによって決定され得る。いくつかの例において、ビデオエンコーダ２０は、基準フレームメモリ６４内に記憶された基準ピクチャのサブ整数画素位置に関する値を計算し得る。例えば、ビデオエンコーダ２０は、基準ピクチャの４分の１画素位置、８分の１画素位置、または他の分数画素位置の値を補完し得る。それ故に、動き推定ユニット４２は、フル画素位置と分数画素位置とを比較して動き検出を実行し、および分数画素精度を用いて動きベクトルを出力する。
【００７２】
[0072]動き推定ユニット４２は、ＰＵの位置を基準ピクチャの予測ブロックの位置と比較することによって、インター符号化したスライス内のビデオブロックのＰＵに関する動きベクトルを計算する。基準ピクチャは、第１の基準ピクチャリスト（リスト０）または第２の基準ピクチャリスト（リスト１）から選択され得、ピクチャリストのそれぞれは、基準フレームメモリ６４内に記憶された１つまたは複数の基準ピクチャを識別する。動き推定ユニット４２は、エントロピーエンコーディングユニット５６と動き補償ユニット４４へ、算出された動きベクトルを送る。
【００７３】
[0073]動き補償ユニット４４によって実行された動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて、予測ブロックを取り出すことまたは生成することを抱合し得る。さらに、動き推定ユニット４２と動き補償ユニット４４は、いくつかの例において、機能的に統合され得る。現在のビデオブロックのＰＵに関する動きベクトルを受信すると、動き補償ユニット４４は、基準ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックを特定し得る。アナログ加算器５０は、下記で論じられるように、符号化中の現在のビデオブロックの画素値から予測ブロックの画素値を差し引き、画素差分値を形成することにより、残差ビデオブロックを形成する。一般的に、動き推定ユニット４２は、ルマ構成要素と比較して動き推定を実行し、および動き補償ユニット４４は、クロマ構成要素とルマ構成要素の両方に関するルマ構成要素に基づいて算出された動きベクトルを用いる。モード選択ユニット４０はまた、ビデオスライスのビデオブロックをデコードする際に、ビデオデコーダ３０が用いるビデオブロックとビデオスライスと関連付けられるシンタックスエレメントを生成し得る。
【００７４】
[0074]イントラ予測ユニット４６は、上述したとおり、動き推定ユニット４２と動き補償ユニット４４によって実行されたインター予測の代わりとして、現在のブロックをイントラ予測しおよび算出し得る。特に、イントラ予測ユニット４６は、現在のブロックをエンコードするために用いるイントラ予測モードを決定し得る。いくつかの例において、イントラ予測ユニット４６は、例えばエンコーディングパスを分割する間、種々のイントラ予測モードを用いて現在のブロックをエンコードし得、およびイントラ予測ユニット４６（またはいくつかの例におけるモード選択ユニット４０）は、テストされたモードから用いるのに適切なイントラ予測モードを選択し得る。
【００７５】
[0075]例えば、イントラ予測ユニット４６は、種々のテストされたイントラ予測モードに関するレート歪み解析を用いてレート歪み値を算出し、およびテストされたモードのうちの最適なレート歪みの特性を有するイントラ予測モードを選択し得る。レート歪み解析は一般的に、エンコードされたブロックを生成するために用いられるビットレート（すなわち、ビットの数）と同様に、エンコードされたブロックとエンコードされたブロックを生成するためにエンコードされた元のエンコードされなかったブロックの間の歪み（または誤差）の量を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックに関する最適なレート歪み値を提示しているかを判断するために、種々のエンコードされたブロックに関するレートと歪みから割合を算出し得る。
【００７６】
[0076]ブロックに関するイントラ予測モードを選択した後、イントラ予測ユニット４６は、ブロックに関して選択されたイントラ予測モードを示す情報をエントロピーエンコーディングユニット５６に提供し得る。エントロピーエンコーディングユニット５６は、選択されたイントラ予測モードを示す情報をエンコードし得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルと複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも称される）を含み得る送信されたビットストリーム構成データ内に、種々のブロックに関するエンコーディングコンテキストの定義と、最も可能性のあるイントラ予測モードの指示と、各コンテキストを使用するための修正されたイントラ予測モードインデックステーブルとイントラ予測モードインデックステーブルを含み得る。
【００７７】
[0077]ビデオエンコーダ２０は、符号化中の元のビデオブロックから、モード選択ユニット４０からの予測データを差し引くことによって残差ビデオブロックを形成する。アナログ加算器５０は、構成要素またはこの差し引き動作を実行する複数の構成要素を表す。変換処理ユニット５２は、ディスクリートコサイン変換（ＤＣＴ）または概念上類似する変換のような変換を、残差変換係数値を備えるビデオブロックを生成する残差ブロックに適用する。変換処理ユニット５２は、ＤＣＴに概念上類似する他の変換を実行し得る。ウェイブレット変換、整数変換、サブ帯域変換、または他のタイプの変換もまた用いられる。いずれかの場合において、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、画素値領域からの残差情報を周波数領域のような変換領域へコンバートし得る。変換処理ユニット５２は、図８について下記で説明される適応変換方法を実行するように構成され得る。
【００７８】
[0078]変換処理ユニット５２は、生じた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、さらにビットレートを低減するために変換係数を量子化する。量子化の過程は、係数のうちのいずれかまたは全てと関連付けられるビット深さを減じ得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例において、量子化ユニット５４は次に、量子化された変換係数を含むマトリックスの走査を実行し得る。代替として、エントロピーエンコーディングユニット５６は走査を実行し得る。
【００７９】
[0079]量子化に続いて、エントロピーエンコーディングユニット５６は、量子化された変換係数をエントロピー符号化する。例えば、エントロピーエンコーディングユニット５６は、コンテキスト適応可変長符号化（ＣＡＶＬＣ）、コンテキスト適応バイナリ算術符号化（ＣＡＢＡＣ）、シンタックスベースのコンテキスト適応バイナリ算術符号化（ＳＢＡＣ）、確立区間区分エントロピー（ＰＩＰＥ）符号化、または別のエントロピーエンコーディング技術を実行し得る。コンテキストベースのエントロピーエンコ−ディングの場合において、コンテキストは隣接ブロックに基づき得る。エントロピーエンコーディングユニット５６によるエントロピーエンコーディングに続いて、エンコードされたビットストリームは、別のデバイス（例えば、ビデオデコーダ３０）に送信されるか、または後の送信または検索のためにアーカイブされ得る。
【００８０】
[0080]逆量子化ユニット５８と逆変換ユニット６０は、例えば、後に基準ブロックとして用いるために、画素領域内に残差ブロックを再構成するために、それぞれ逆量子化と逆変換を適用する。逆変換ユニット６０は、図８について下記で説明される適応変換方法を実行するように構成され得る。
【００８１】
[0081]動き補償ユニット４４は、基準フレームメモリ６４の複数のフレームのうちの１つの予測ブロックに残差ブロックを追加することによって基準ブロックを算出し得る。動き補償ユニット４４はまた、動き推定の際に使用するためのサブ整数画素値を算出するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用し得る。アナログ加算器６２は、基準フレームメモリ６４に記憶するために再構成されたビデオブロックを生成するために、動き補償ユニット４４によって生成された動き補償された予測ブロックに再構成された残差ブロックを追加する。再構成されたビデオブロックは、後続のビデオフレーム内のブロックをインター符号化するための基準ブロックとして動き推定ユニット４２と動き補償ユニット４４によって用いられ得る。
【００８２】
ビデオデコーダ
[0082]図３は、本開示に記載された観点にしたがった技術を実施し得るビデオデコーダの例を示すブロック図である。ビデオデコーダ３０のユニットのうちの1つまたは複数は、本開示の技術のうちのいずれかまたは全てを実行するように構成され得る。１つの例として、逆変換ユニット７８は、図８について下記で説明されるように、本開示に記載された適応的変換技術のうちのいずれかまたは全てを実行するように構成され得る。しかし、本開示の観点は、それに限定されるものではない。いくつかの例において、本開示に記載された技術は、ビデオデコーダ３０の種々の構成要素のうちで共有され得る。いくつかの例において、ビデオデコーダ３０に加えて、あるいはその代わりに、本開示に記載れた技術のうちのいずれかまたは全てを実行するように構成され得る。
【００８３】
[0083]図３の例において、ビデオデコーダ３０は、エントロピーデコーディングユニット７０、動き補償ユニット７２、イントラ予測ユニット７４、逆量子化ユニット７６、逆変換ユニット７８、基準フレームメモリ８２、およびアナログ加算器８０を含む。ビデオデコーダ３０は、いくつかの例において、ビデオエンコーダ２０（例えば、図１および図２を参照のこと）と関連して説明されるエンコーディングパスと一般的に相互関係のあるデコーディングパスを実行し得る。動き補償ユニット７２は、エントロピーデコーディングユニット７０から受信された動きベクトルに基づいて予測データを生成し得、その一方で、イントラ予測ユニット７４は、エントロピーデコーディングユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【００８４】
[0084]デコーディング過程の間に、ビデオデコーダ３０は、ビデオエンコーダ２０から、エンコードされたビデオスライスのビデオブロックを表すエンコードされたビデオビットストリームと、関連するシンタックスエレメントを受信する。ビデオデコーダ３０のエントロピーデコーディングユニット７０は、量子化された係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックスエレメントを生成するために、ビットストリームをエントロピーデコードする。エントロピーデコーディングユニット７０は、動きベクトルと他のシンタックスエレメントを動き補償ユニット７２へ転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックスエレメントを受信し得る。
【００８５】
[0085]ビデオスライスがイントラ符号化（Ｉ）スライスとして符号化される場合、イントラ予測ユニット７４は、信号で伝えられたイントラ予測モードと現在のフレームまたはピクチャの予めデコードされたブロックからのデータに基づいて、現在のビデオスライスのビデオブロックに関する予測データを生成し得る。ビデオフレームがインター符号化（例えばＢ、Ｐ、またはＧＰＢ）スライスとして符号化される場合、動き補償ユニット７２は、動きベクトルとエントロピーデコーディングユニット７０から受信された他のシンタックスエレメントに基づいて、現在のビデオスライスのビデオブロックに関する予測ブロックを作成する。予測ブロックは、基準ピクチャリストのうちの１つの内の基準ピクチャのうちの１つから作成され得る。ビデオデコーダ３０は、基準フレームメモリ８２に記憶された基準ピクチャに基づくデフォルトの再構成技術を用いて、基準フレームリスト、すなわちリスト０とリスト１を構成し得る。動き補償ユニット７２は、動きベクトルと他のシンタックスエレメントを解析することによって現在のビデオスライスのビデオブロックに関する予測情報を決定し、およびデコード中の現在のビデオブロックに関する予測ブロックを生成するために予測情報を使用する。例えば、動き補償ユニット７２は、ビデオスライスのビデオブロック、インター予測スライスのタイプ（例えば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）、スライスに関する１つまたは複数の基準ピクチャリストに関する再構成情報、スライスの各インターエンコードされたビデオブロックに関する動きベクトル、スライスの各インターエンコードされたビデオブロックに関するインター予測ステータス、および現在のビデオスライス内のビデオブロックをデコードするための他の情報を符号化するために用いられる予測モード（例えば、イントラまたはインター予測）を決定するために受信されたシンタックスエレメントのうちのいくつかを使用する。
【００８６】
[0086]動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、基準ブロックのサブ整数画素に関する補間値を算出するために、ビデオブロックのエンコーディングの間にビデオエンコーダ２０によって用いられるような補間フィルタを用い得る。この場合、動き補償ユニット７２は、受信されたシンタックスエレメントからビデオエンコーダ２０によって用いられる補間フィルタを決定し、および予測ブロックを生成するために補間フィルタを用い得る。
【００８７】
[0087]逆量子化ユニット７６は、例えば、ビットストリームに提供されおよびエントロピーデコーディングユニット７０によってデコードされた量子化変換係数を逆量子化(inverse quantizes)、例えば、逆量子化(de-quantizes)する。逆量子化過程は、量子化程度、および同じく適用されるべき逆量子化の程度を決定するために、ビデオスライス内の各ビデオブロックに関してビデオデコーダ３０によって算出された量子化パラメータＱＰＹを使用することを含み得る。
【００８８】
[0088]逆変換ユニット７８は、画素領域内に残差ブロックを生成するための変換係数に、逆変換、例えば、逆ＤＣＴ、逆整数変換、または概念上類似する逆変換の過程を適用する。逆変換ユニット７８は、図８について下記で説明される適応変換方法を実行するように構成され得る。
【００８９】
[0089]動き補償ユニット７２が、動きベクトルと他のシンタックスエレメントに基づいて現在のビデオブロックに関する予測ブロックを生成した後、ビデオデコーダ３０を介した他のシンタックスエレメントは、動き補償ユニット７２によって生成された対応する予測ブロックを用いて、逆変換ユニット７８からの残差ブロックを加算することによって、デコードされたビデオブロックを形成する。アナログ加算器８０とは、構成要素またはこの加算演算を実行する構成要素を表す。所望の場合、非ブロック化フィルタはまた、ブロッキネスアーチファクトを除去するためのデコードされたブロックにフィルタをかけるために適用され得る。他のループフィルタ（符号化ループ内、または符号化ループ後）はまた、画素遷移をスムーズにするために用いられ得、それ以外にはビデオ品質を向上する。所与のフレームまたはピクチャ内のデコードされたビデオブロックは次に、次の動き補償に用いられる基準ピクチャを記憶する基準ピクチャメモリ９２に記憶される。基準フレームメモリ８２はまた、図１のディスプレイデバイス３２のようなディスプレイデバイスに後で表示するためにデコードされたビデオを記憶する。
【００９０】
スケーラブルビデオ符号化（ＳＶＣ）
[0090]多次元スケーラビリティ４００の１つの例が図４に示される。例示的な実施例において、スケーラビリティは、ｘ軸に沿って示される時間(temporal)４０２（または時間(time)）、ｙ軸に沿って示される空間４０４、およびｚ軸にそって示される品質４０６の３次元で可能になる。時間４０２において、時間ディメンション、７．５Ｈｚ、１５Ｈｚ、または３０Ｈｚなどの様々な値を有するが、それらに限定されないフレームレートが、時間スケーラビリティ（Ｔ）によって支援され得る。空間スケーラビリティ４０４（Ｓ）が支援されるとき、ＱＣＩＦ，ＣＩＦ、および４ＣＩＦ、などのような異なる解像度が可能になる。それぞれ特定の空間解像度とフレームレートに関して、ＳＮＲ（信号対ノイズ比、または品質、Ｑ）層４０６は、ピクチャの品質を向上するために加えられ得る。一度ビデオコンテンツが、こういったスケーラブル方法でエンコードされると、抽出ツールが、アプリケーション要求にしがって、実際にもたらされたコンテンツを適合させるために用いられ得、それは、例えば、クライアントおよび／または送信チャンネルのような様々な因子またはパラメータに依存し得る。図４に示された例において、各立方体４０８は、同じフレームレート（時間レベル）、空間解像度、およびＳＮＲ層を有するピクチャを抱合する。より良い表示は、それらの立方体４０８（例えば、ピクチャ）を任意の次元４０２、４０４、４０６に追加することによって実現され得る。組み合わされたスケーラビリティは、２つ、３つ、またはそれ以上の可能なスケーラビリティがある場合にサポートされる。
【００９１】
[0091]最下位空間４１０と品質４１２の層を使用するピクチャは、Ｈ．２６４／ＡＶＣと互換性がある。一般的に、最下位時間レベル４１４にあるピクチャは、時間の基本層を形成する。これらの最下位時間レベルピクチャは、より高位の時間レベルにあるピクチャを用いて拡張され得る。Ｈ．２６４／ＡＶＣと互換性のある層に加えて、種々の空間および／またはＳＮＲ拡張層が、空間および／または品質スケーラビリティを提供するために加えられ得る。ＳＮＲスケーラビリティは、品質スケーラビリティとも称される。各空間４０４またはＳＮＲ４０６拡張層それ自体は、Ｈ．２６４／ＡＶＣと互換性のある層と同じ時間スケーラビリティ構造を用いて、時間的にスケーラブルされ得る。１つの空間４０４またはＳＮＲ４０６拡張層に関して、それが依存するより低位の層は、その特定の空間またはＳＮＲ拡張層の基本層とも称される。
【００９２】
[0092]ＳＶＣ符号化構造５００の例が図５に示される。最下位の空間と品質層（ＱＣＩＦ解像度を有する、層０  ５０２と層１  ５０４におけるピクチャ）は、Ｈ．２６４／ＡＶＣと互換性がある。それらのうちで、最下位の時間レベルのそれらのピクチャは、図５の層０  ５０２に示されるように、時間の基本層を形成する。この時間の基本層（層０  ５０２）は、より高位の時間レベルのピクチャ（例えば、層１  ５０４から層４  ５１０まで、など）を用いて拡張され得る。Ｈ．２６４／ＡＶＣ互換性層に加えて、種々の空間および／またはＳＮＲ拡張層は、空間および／または品質スケーラビリティを提供するために追加され得る。例えば、拡張層は、層２  ５０６と同じ解像度を有するＣＩＦ解像度であり得る。具体例において、層３  ５０８は、ＳＮＲ拡張層（ＣＩＦ、１５Ｈｚ、５１２、Ｋｂｐｓ）である。具体例に示されたように、各空間またはＳＮＲ拡張層自体は、Ｈ．２６４／ＡＶＣと互換性のある層と同じ時間スケーラビリティ構造を用いて時間的にスケーラブルされ得る。
【００９３】
[0093]さらに、拡張層は、空間解像度とフレームレートの両方を拡張し得る。例えば、層４  ５１０は、１５Ｈｚから３０Ｈｚまでのフレームレートを含む４ＣＩＦ拡張層を提供する。
【００９４】
[0094]図６に示されるように、同じ時間インスタンスにおける符号化されたスライスは、ビットストリーム順に連続しており、ＳＶＣのコンテンツ内に１つのアクセスユニット６００（ＡＵ）を形成する。そして、それらのＳＶＣアクセスユニット６００は、表示順とは異なる可能性のある、および、例えば時間予測の関係によって決定されるデコーディング順に従う。
【００９５】
変換
[0095]ビデオ符号化の1つの実施例において、画像ブロックは初めに、再構成された時間的および／または空間的に隣接するブロック内の画素を用いて予測される。予測誤差（「残差」と称される場合もある）は、変換および量子化され得る。例えば、ＳがサイズＮ×Ｎの残差ブロックである場合、変換されたブロックＫは、下記の通り、行列乗算を用いて抽出され得る。
【数８】
0006293756.tif 000009
【００９６】
そこにおいて、Ｋ、Ａ、およびＢはまた、サイズＮ×Ｎである。Ａが垂直変換行列であり、およびＢが水平変換行列である。いくつかの実施例において、ＡおよびＢは、相互の転置行列である（例えば、Ｂ＝Ａ´であり、そこにおいて、「´」は転置行列を意味する）。他の実施例において、ＡおよびＢは、相互の転置行列ではない。ＡおよびＢが相互の転置行列である場合、前の式は下記の通りとなる。
【数９】
0006293756.tif 000010
【００９７】
[0096]各変換（ＡおよびＢ）は様々な変換のいずれかを含み得る。いくつかの実施例において、変換は、ディスクリートコサイン変換（ＤＣＴ）、ディスクリートサイン変換（ＤＳＴ）、アダマール変換、ハール変換、などを含む。
【００９８】
イントラＢＬモード
[0097]スケーラブル符号化において、「イントラＢＬモード」と呼ばれる拡張層に関する特定の符号化モードがある。イントラＢＬモードにおいて、拡張層ブロックにおけるテクスチャは、基本層における対応する（「協置された」（ｃｏ−ｌｏｃａｔｅｄ）と称される場合もある、例えば、同じ空間の場所に配置される）ブロックのテクスチャを用いて予測される。対応するまたは協置するブロックの１つの例が図７に示される。第１のブロック７０２は、基本層７０４のようなより低いレベルの層に配置される。第２のブロック７０６は、基本層７０４の拡張層７０８に配置される。第２のブロック７０６（「現在のブロック」または現在符号化中のブロックとも称される）は基本層ブロック７０２に関して協置される。基本層７０４におけるブロック７０２は、拡張層７０８の画像が基本層７０４の画像より大きいか、あるいは異なるサイズを有する場合、アップサンプルされ得る。予測誤差（例えば、残差）は変換、量子化、およびエントロピーエンコードされ得る。
【００９９】
ＳＶＣ残差の変換
[0098]上述したとおり、スケーラブルビデオ符号化の残差は、層間予測（例えば、イントラＢＬモードにおける予測に起因して）に起因して、非ＳＶＣ符号化と比較すると異なるエネルギー分布属性を有し得る。ＳＶＣ残差は、よりノイズライクであり、エネルギーは、全体またはより大きい周波数領域に広がり得る。上述したとおり、非ＳＶＣビデオ符号化とは異なり、ＳＶＣを用いると、ＨＦ構成要素はＤＣまたはＬＦ構成要素より多くのエネルギーを有することが可能である。それ故に、通常の非ＳＶＣビデオ符号化に用いられる従来の方法は、スケーラブルビデオ符号化にうまく機能し得ない。変換基準調整は、ＳＶＣを実施する場合の圧縮効率を向上するのに役立つ。
【０１００】
変換行列の調整
[0099]実施例において、ビデオ符号化に用いられる変換行列Ａは、適応的に調整される。Ｈは、調整後の変換行列である。関数Ｆは調整工程を定義するために用いられる。
【数１０】
0006293756.tif 000011
【０１０１】
[00100]例１：
[00101]例えば、調整とは、全体の基準関数を反転することを含み得る（例えば、変換基準の全てのまたはいくつかの順序を反転する）。
【０１０２】
[00102]例１.ａ（垂直反転、行交換）Ａは、下記の通り４ｘ４の変換行列である。
【数１１】
0006293756.tif 000012
【０１０３】
[00103]各行は変換基底関数である。
【０１０４】
第１の（最上位の）行は、ＤＣの構成要素に対応する変換基準である。
【０１０５】
次の行は、より高い周波数コンポーネントに関する変換基準である（増加する順および最も高い周波数のコンポーネントに対応する最後の（最下位）の行）。
【０１０６】
[00104]この実施例において、Ｆ（Ａ）は、下記の式となる。
【数１２】
0006293756.tif 000013
【０１０７】
および、調整後の変換行列Ｈは、下記の式となる。
【数１３】
0006293756.tif 000014
【０１０８】
[00105]例１．ｂ（水平反転、基準要素の交換）
[00106]この実施例において、Ｆ（Ａ）は、下記の式となる。
【数１４】
0006293756.tif 000015
【０１０９】
および、調整後の変換行列Ｈは、下記の式となる。
【数１５】
0006293756.tif 000016
【０１１０】
[00107]例２：この実施例において、Ｈにおける行ｉはＡにおける行ｉ１である。
【数１６】
0006293756.tif 000017
【０１１１】
[00108]ｉとｉ１の間の関係は関数Ｇを用いて定義される。
【数１７】
0006293756.tif 000018
【０１１２】
[00109]例３：この実施例において、変換調整は、変換基準のサブセットにのみ適用され得る。例えば、ｉのいくつかの値に関して、ｉ＝Ｇ（ｉ）であり、例えば、これらの変換基準は、ＡおよびＨの両方において同じ場所にある。
【０１１３】
[00110]図８は、例えば、量子化より前に残差ブロックを変換するために用いられる変換行列を適応的に調整する方法の１つの実施例を示す。方法８００はブロック８０２において開始する。ブロック８０４において、残差ブロック情報が取得される。例えば、残差は、上述した技術のいずれかを用いて決断される。ブロック８０６において、残差ブロックをエンコードまたはデコードするために用いられる変換関数が調整される。変換関数は、ここに記載された技術のいずれかにしたがって調整され得る。例えば、変換関数は、垂直反転、水平反転、行交換基準要素交換、などによって調整され得る。変換することはまた、逆変換することも含み得る。
【０１１４】
[00111]ブロック８０８において、調整され、変換された残差ブロックが決定される。調整され、変換された残差ブロックは、調整された変換関数と残差ブロックに基づいて決定される。例えば、調整され、変換された残差ブロックは、変換ブロックと称され得る。方法８００はブロック８１０において終了する。
【０１１５】
[00112]方法８００は、ここに記載された符号化デバイスのいずれかによって実施され得る。例えば、１つの実施例において、図２のエンコーダ２０の変換処理ユニット５２および／または逆変換ユニット６０は、ビデオデータをエンコードするために方法５００を実行するように構成される。別の実施例において、図３のデコーダ３０の逆変換ユニット７８は、エンコードされたビデオビットストリームを逆変換するために、方法８００を実行するように構成される。
【０１１６】
[00113]別の実施例において、変換基準調整は、第１の変換（例えば、水平変換）、第２の変換（例えば、垂直変換）、またはその両方に適用され得る。水平変換および垂直変換（調整前の）はそれぞれ、相互の転置行列であるかもしれないし、そうではないかもしれない。実施例において、水平変換および垂直変換はディスクリートサイン変換（ＤＳＴ）であり、およびそれの転置されたバージョンである。別の実施例において、水平変換はディスクリートコサイン変換（ＤＣＴ）であり、および垂直変換はＤＳＴであり得る。
【０１１７】
[00114]別の実施例において、変換基準調整は、サイド情報または付加的なビデオ情報に基づいて適応的に適用され得る。例えば、変換調整を適用するかどうかおよび／またはどのように変換調整を適用するか（例えば、どのようにＦ（）および／またはＧ（）が実施されるか）は、例えば、付加的なビデオ情報（例えば、サイド情報）に基づいて適応的に決定され得る。
【０１１８】
[00115]サイド情報は、ＣＵモード、ＣＵサイズ、ＴＵサイズ、フレームタイプ、フレームサイズ、量子化パラメータ（ＱＰ）、時間層、などを含むが、それらに限定されない。変換選択は、ＣＵサイズ、ＴＵサイズ、フレームタイプ、フレームサイズ、ＱＰ、時間層、構文解析された残差係数情報（例えば、最後の非ゼロ係数の位置、非ゼロ係数の数、係数の大きさ、など）のサイド情報に基づいて適応的に決定され得るが、それらに限定されない。
【０１１９】
[00116]例えば、１つの実施例において、変換基準調整は、イントラＢＬモードに関してのみ可能である。別の実施例において、変換基準調整は、拡張層ＱＰと基本層ＱＰの間の差分が非常に近い（例えば、差分は閾値より小さい）場合にのみ有効である。例えば、１つの非限定的な実施例において、ＱＰ差分閾値は６に設定される。拡張層ＱＰと基本層ＱＰの間の差分が６に等しいかそれより小さい場合、変換基準調整が可能になる。他のＱＰ差分閾値が用いられ得る。例えば、１つの実施例において、ＱＰ差分閾値は２から１０までの範囲内である。別の実施例において、変換基準調整は、上記の両方の条件が満たされる時のみに可能になる。
【０１２０】
[00117]別の実施例において、変換基準調整が可能かどうかおよび／またはどのように可能かは、対応する基本層、例えば、Ｂｌｋ＿ＢＬ、などにおいて対応するブロック（例えば、協置ブロック）内の情報に基づいても可能であり得る。例えば、変換基準調整を可能にするかどうかおよび／またはどのように可能にするかどうかは、画素特性、例えば、Ｂｌｋ＿ＢＬの画素特性に基づき得る。画素特性は、例えば、テクスチャの方向、画素の大きさ、画素値の平均値、画素値の可変性、勾配方向／値（例えば、Ｂｌｋ＿ＢＬの）などであり得るが、それらに限定されない。他の特性は、これらの特性のうちの任意の１つまた複数の代わりにまたはそれらに加えて考慮され得る。例えば、変換基準調整を可能にするかどうかおよび／またはどのように可能にするかどうかは、その場所に関する基本層において検出された残差構造、基本層および予測ブロックの間の差分、などに依存し得る。
【０１２１】
[00118]変換基準調整を実行するかどうかまたはどのように実行するかの選択はまた、符号化モード（例えば、Ｂｌｋ＿ＢＬの符号化モード）、例えば、Ｂｌｋ＿ＢＬがイントラまたはインターまたはスキップモード、イントラ予測、などであるかどうかに基づき得る。変換基準調整を実行するかどうかまたはどのように実行するかの選択はまた、Ｂｌｋ＿ＢＬ上で調整方法（オン／オフの決定を含む）をテストすることによっておよびＢｌｋ＿ＢＬにおいて最高のパフォーマンス（例えば、最良のエネルギー圧縮属性）を与えるものを選択することによって抽出され得る。
【０１２２】
[00119]実施例において、関数、例えば、Ｆ（）、Ｇ（）など、または基準関数に適用するための交換は、現在のフレームまたは前のフレームにおいて収集される統計値に依存するかもしれない。変換基準調整を可能にするかどうかおよび／またはどのように可能にするかどうかは、シーケンスパラメータセット（ＳＰＳ）におけるエンコーダ、より低レベルにあるピクチャパラメータセット（ＰＰＳ）、スライスヘッダによって、例えば、各最大符号化ユニット（ＬＣＵ）、符号化ユニット（ＣＵ）、予測ユニット（ＰＵ）または変換ユニット（ＴＵ）に信号伝達され得る。信号伝達は、前の変換について交換または差分を適用し得る。さらに、いくつかの実施例において、変換係数符号化ステージに適用される走査は基準関数に依存し得る。
【０１２３】
[00120]例に依存して、ここに記載された技術のうちのいずれか特定の動作または事象は、異なるシーケンスにおいて実行されることが可能であり、追加されたり、併合されたり、あるいは完全に除外され得る（例えば、記載された動作または事象の全てが技術の実施に必要ではない）ことが認識されるはずである。さらに、特定の例において、動作または事象は、例えば、マルチスレッド処理、割り込み処理、または複数のプロセッサを介して、連続的よりむしろ同時に実行され得る。
【０１２４】
[00121]１つまたは複数の例において、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装され得る。ソフトウェアに実装される場合、この機能は、コンピュータ可読媒体上に１つまたは複数の命令またはコードとして格納されるか、またはコンピュータ可読媒体を介して送信され、およびハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、コンピュータ可読記憶媒体、それはデータ記憶媒体のような実体のある媒体に対応する、または、通信プロトコルにしたがって、ある場所から別の場所へコンピュータプログラムの転送を容易にする任意の媒体等を含む通信媒体を含み得る。この仕方において、コンピュータ可読媒体は、一般的に、（１）非一時的な実体のあるコンピュータ可読記憶媒体または（２）信号または搬送波のような通信媒体に対応し得る。データ記憶媒体は、ここに記載された技術の実施のための命令、コードおよび／またはデータ構造を検索するための１つまたは複数のコンピュータまたは１つまたは複数のプロセッサによってアクセスされ得る任意の入手可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１２５】
[00122]限定ではなく例として、こういったコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光学ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイス、フラッシュメモリ、または命令の形式で望ましいプログラムコードまたはデータ構造を記憶するために使用可能なおよびコンピュータによってアクセス可能な任意の他の媒体を備えることができる。同様に、任意の接続は適切にコンピュータ可読媒体と呼ばれる。例えば、命令が同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または赤外線、無線、およびマイクロ波のような無線技術を用いて、ウェブサイト、サーバ、または他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波のような無線技術は、媒体の定義に含まれる。しかし、コンピュータ可読記憶媒体とデータ記憶媒体は、接続、搬送波、信号または他の一時的媒体を含まないが、代わりに非一時的で実体のある記憶媒体を対象にしていることが理解されるべきである。ディスク(disk)およびディスク(disc)は、ここで用いられるように、コンパクトディスク（ＣＤ）、レーザ―ディスク（登録商標）、光ディスク、デジタル多目的ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、そこにおいて、ディスク(disk)は通常、データを磁気的に再生し、一方、ディスク(disc)は、レーザを用いて光学的にデータを再生する。上記の組合せはまた、コンピュータ可読媒体の範囲に含まれるべきである。
【０１２６】
[00123]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、アプリケーション特定集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価の集積またはディスクリート論理回路のような１つまたは複数のプロセッサによって実行され得る。従って、ここで用いられたような用語「プロセッサ」は、ここに記載された技術の実施に適した前述の構造または任意の他の構造のうちのいずれかを指し得る。さらに、いくつかの観点において、ここに記載された機能は、エンコーディングおよびデコーディングのために構成された、または組み合わされたコーデックに統合された専用のハードウェアおよび／またはソフトウェアモジュール内に提供され得る。同様に、技術は、１つまたは複数の回路または論理要素内で十分に実施されるだろう。
【０１２７】
[00124]本開示の技術は、無線ハンドセット、集積回路（ＩＣ）またはＩＣのセット（例えば、チップセット）を含む多種多様なデバイスまたは装置に実装され得る。種々の構成要素、モジュール、またはユニットは、開示された技術を実行するように構成されたデバイスの機能的な観点を強調するためにこの開示において説明されるが、異なるハードウェアユニットによる実現を必ずしも要求しない。むしろ、上述したとおり、種々のユニットは、コーデックハードウェアユニットに組み合されるか、または適切なソフトウェアおよび／またはファームウェアと連動して、上述されたような１つまたは複数のプロセッサを含む相互に動作可能なハードウェアユニットの収集によって提供され得る。
【０１２８】
[00125]様々な例が説明されてきた。これらのおよびその他の例は、下記の請求項の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[Ｃ１]
ビデオ情報を符号化するように構成された装置であって、
前記装置は、
基準層と対応する拡張層に関連付けられるビデオ情報を記憶するように構成されたメモリユニットと、
前記メモリユニットと通信するプロセッサであって、
前記プロセッサは、
前記基準層と前記拡張層と関連付けられるビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得し、
前記ビデオ情報と関連付けられる変換関数に基づいて調整された変換関数を決定し、
前記調整された変換関数と前記残差ブロック情報に基づいて変換ブロックを決定する、
ように構成された、
プロセッサ、
を備える、
装置。
[Ｃ２]
前記変換関数は第１の変換行列を備え、前記第１の変換行列は１つまたは複数の行を備え、各行は１つまたは複数の変換ベースと第２の変換行列を備え、前記第２の変換行列は１つまたは複数の行を備え、各行は１つまたは複数の変換ベースを備え、そこにおいて、前記プロセッサは前記第１の変換行列と前記第２の変換行列のうちの１つまたは両方に基づいて前記調整された変換関数を決定するようにさらに構成される、Ｃ１に記載の装置。
[Ｃ３]
前記プロセッサは、前記第１の変換行列の少なくとも１つの行において前記変換ベースのうちの少なくともいくつかの順序を反転させることによって、前記調整された変換関数を決定するように構成される、Ｃ２に記載の装置。
[Ｃ４]
前記プロセッサは、前記第１の変換行列の前記行の前記順序を反転させることによって、前記調整された変換関数を決定するように構成される、Ｃ２に記載の装置。
[Ｃ５]
前記第１の変換行列、前記第２の変換行列、またはその両方は、ディスクリートコサイン変換、ディスクリートサイン変換、アダマール変換、ハール変換を備える前記グループから選択された変換に対応する、Ｃ２に記載の装置。
[Ｃ６]
前記第１の変換行列は、前記第２の変換行列の転置行列である、Ｃ２に記載の装置。
[Ｃ７]
前記プロセッサは、前記ビデオ情報に基づいて前記調整された変換関数を決定するようにさらに構成される、Ｃ１に記載の装置。
[Ｃ８]
前記ビデオ情報は、符号化ユニット（ＣＵ）モード、ＣＵサイズ、変換ユニット（ＴＵ）サイズ、フレームタイプ、フレームサイズ、ＱＰ、時間層、および構文解析された残差係数情報のうちの１つまたは複数を備える前記グループから選択される、Ｃ７に記載の装置。
[Ｃ９]
前記構文解析された残差係数情報は、最後の非ゼロ係数の位置、非ゼロ係数の数、および１つまたは複数の係数の大きさのうちの１つまたは複数を備える前記グループから選択される、Ｃ８に記載の装置。
[Ｃ１０]
前記プロセッサは、（ａ）前記ビデオ情報が予め決定された符号化モードに対応するか、（ｂ）前記拡張層のＱＰと前記基準層のＱＰの間の差分が予め決定された閾値より小さいか、あるいは（ａ）および（ｂ）の両方の場合のみ前記調整された変換関数を決定するように構成される、Ｃ１に記載の装置。
[Ｃ１１]
前記プロセッサが、前記変換ブロックを用いて前記ビデオ情報をエンコードするようにさらに構成される、Ｃ１に記載の装置。
[Ｃ１２]
前記プロセッサが、前記変換ブロックを用いて前記ビデオ情報をデコードするようにさらに構成される、Ｃ１に記載の装置。
[Ｃ１３]
前記プロセッサを備えるデバイスをさらに備え、そこにおいて、前記デバイスは、デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、テレフォンハンドセット、スマートフォン、スマート・パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタル・メディア・プレーヤー、ビデオゲームコンソール、またはビデオストリーミングデバイスのうちの１つ又は複数を備える前記グループから選択される、Ｃ１に記載の装置。
[Ｃ１４]
ビデオ情報をデコードする方法であって、
前記方法は、
基準層と対応する拡張層に関連付けられるビデオ情報を記憶することと、
前記基準層と前記拡張層と関連付けられるビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得することと、
前記ビデオ情報と関連付けられる変換関数に基づいて調整された変換関数を決定することと、
前記調整された変換関数と前記残差ブロック情報に基づいて変換ブロックを決定することと、
前記変換ブロックを用いて前記ビデオ情報をデコードすること、
を備える、
方法。
[Ｃ１５]
前記変換関数は第１の変換行列を備え、前記第１の変換行列は１つまたは複数の行を備え、各行は１つまたは複数の変換ベースと第２の変換行列を備え、前記第２の変換行列は１つまたは複数の行を備え、各行は１つまたは複数の変換ベースを備え、および前記第１の変換行列と前記第２の変換行列のうちの１つまたは両方に基づいて前記調整された変換関数を決定する、Ｃ１４に記載の方法。
[Ｃ１６]
前記第１の変換行列の少なくとも１つの行において前記変換ベースのうちの少なくともいくつかの順序を反転させることによって、前記調整された変換関数を決定することをさらに備える、Ｃ１５に記載の方法。
[Ｃ１７]
前記第１の変換行列の前記行の前記順序を反転させることによって、前記調整された変換関数を決定することをさらに備える、Ｃ１５に記載の方法。
[Ｃ１８]
前記第１の変換行列、前記第２の変換行列、またはその両方は、ディスクリートコサイン変換、ディスクリートサイン変換、アダマール変換、ハール変換を備える前記グループから選択された変換に対応する、Ｃ１５に記載の方法。
[Ｃ１９]
前記第１の変換行列は、前記第２の変換行列の転置行列である、Ｃ１５に記載の方法。
[Ｃ２０]
前記調整された変換関数を決定することは、前記ビデオ情報に基づく、Ｃ１４に記載の方法。
[Ｃ２１]
前記ビデオ情報は、符号化ユニット（ＣＵ）モード、ＣＵサイズ、変換ユニット（ＴＵ）サイズ、フレームタイプ、フレームサイズ、ＱＰ、時間層、および構文解析された残差係数情報のうちの１つまたは複数を備える前記グループから選択される、Ｃ２０に記載の方法。
[Ｃ２２]
前記構文解析された残差係数情報は、最後の非ゼロ係数の位置、非ゼロ係数の数、および１つまたは複数の係数の大きさのうちの１つまたは複数を備える前記グループから選択される、Ｃ２１に記載の方法。
[Ｃ２３]
前記調整された変換関数を前記決定することは、（ａ）前記ビデオ情報が予め決定された符号化モードに対応するか、（ｂ）前記拡張層のＱＰと前記基準層のＱＰの間の差分が予め決定された閾値より小さいか、あるいは（ａ）および（ｂ）の両方の場合のみ決定される、Ｃ１４に記載の方法。
[Ｃ２４]
ビデオ情報をエンコードする方法であって、
前記方法は、
基準層と対応する拡張層に関連付けられるビデオ情報を記憶することと、
前記基準層と前記拡張層と関連付けられるビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得することと、
前記ビデオ情報と関連付けられる変換関数に基づいて調整された変換関数を決定することと、
前記調整された変換関数と前記残差ブロック情報に基づいて変換ブロックを決定することと、
前記変換ブロックを用いて前記ビデオ情報をエンコードすること、
を備える、
方法。
[Ｃ２５]
前記変換関数は第１の変換行列を備え、前記第１の変換行列は１つまたは複数の行を備え、各行は１つまたは複数の変換ベースと第２の変換行列を備え、前記第２の変換行列は１つまたは複数の行を備え、各行は１つまたは複数の変換ベースを備え、および前記第１の変換行列と前記第２の変換行列のうちの１つまたは両方に基づいて前記調整された変換関数を決定する、Ｃ２４に記載の方法。
[Ｃ２６]
前記第１の変換行列の少なくとも１つの行において前記変換ベースのうちの少なくともいくつかの順序を反転させることによって、前記調整された変換関数を決定することをさらに備える、Ｃ２５に記載の方法。
[Ｃ２７]
前記第１の変換行列の前記行の前記順序を反転させることによって、前記調整された変換関数を決定することをさらに備える、Ｃ２５に記載の方法。
[Ｃ２８]
前記第１の変換行列、前記第２の変換行列、またはその両方は、ディスクリートコサイン変換、ディスクリートサイン変換、アダマール変換、ハール変換を備える前記グループから選択された変換に対応する、Ｃ２５に記載の方法。
[Ｃ２９]
前記第１の変換行列は、前記第２の変換行列の転置行列である、Ｃ２５に記載の方法。
[Ｃ３０]
前記調整された変換関数を決定することは、前記ビデオ情報に基づく、Ｃ２４に記載の方法。
[Ｃ３１]
前記ビデオ情報は、符号化ユニット（ＣＵ）モード、ＣＵサイズ、変換ユニット（ＴＵ）サイズ、フレームタイプ、フレームサイズ、ＱＰ、時間層、および構文解析された残差係数情報のうちの１つまたは複数を備える前記グループから選択される、Ｃ３０に記載の方法。
[Ｃ３２]
前記構文解析された残差係数情報は、最後の非ゼロ係数の位置、非ゼロ係数の数、および１つまたは複数の係数の大きさのうちの１つまたは複数を備える前記グループから選択される、Ｃ３１に記載の方法。
[Ｃ３３]
前記調整された変換関数を前記決定することは、（ａ）前記ビデオ情報が予め決定された符号化モードに対応するか、（ｂ）前記拡張層のＱＰと前記基準層のＱＰの間の差分が予め決定された閾値より小さいか、あるいは（ａ）および（ｂ）の両方の場合のみ決定される、Ｃ２４に記載の方法。
[Ｃ３４]
ビデオ情報を符号化するための装置であって、
前記装置は、
基準層と対応する拡張層に関連付けられるビデオ情報を記憶するための手段と、
前記基準層と前記拡張層と関連付けられるビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得するための手段と、
前記ビデオ情報と関連付けられる変換関数に基づいて調整された変換関数を決定するための手段と、
前記調整された変換関数と前記残差ブロック情報に基づいて変換ブロックを決定するための手段、
を備える、
装置。
[Ｃ３５]
前記調整された変換関数を決定するための前記手段は、前記ビデオ情報に基づいて前記調整された変換関数を決定するように構成される、Ｃ３４に記載の装置。
[Ｃ３６]
前記ビデオ情報は、符号化ユニット（ＣＵ）モード、ＣＵサイズ、変換ユニット（ＴＵ）サイズ、フレームタイプ、フレームサイズ、ＱＰ、時間層、および構文解析された残差係数情報のうちの１つまたは複数を備える前記グループから選択される、Ｃ３５に記載の装置。
[Ｃ３７]
前記構文解析された残差係数情報は、最後の非ゼロ係数の位置、非ゼロ係数の数、および１つまたは複数の係数の大きさのうちの１つまたは複数を備える前記グループから選択される、Ｃ３６に記載の装置。
[Ｃ３８]
コンピュータで実行可能な命令を有するコンピュータ可読媒体であって、前記コンピュータで実行可能な命令は、計算デバイスによって実行される時に、
基準層と対応する拡張層に関連付けられるビデオ情報を記憶することと、
前記基準層と前記拡張層と関連付けられるビデオ情報に少なくとも部分的に基づいて残差ブロック情報を取得することと、
前記ビデオ情報と関連付けられる変換関数に基づいて調整された変換関数を決定することと、
前記調整された変換関数と前記残差ブロック情報に基づいて変換ブロックを決定すること、
を前記計算デバイスにさせる、コンピュータ可読媒体。
[Ｃ３９]
前記コンピュータで実行可能な命令は、前記ビデオ情報に基づいて前記調整された変換関数を決定することを前記計算デバイスにさせる、Ｃ３８に記載のコンピュータ可読媒体。
[Ｃ４０]
前記ビデオ情報は、符号化ユニット（ＣＵ）モード、ＣＵサイズ、変換ユニット（ＴＵ）サイズ、フレームタイプ、フレームサイズ、ＱＰ、時間層、および構文解析された残差係数情報のうちの１つまたは複数を備える前記グループから選択される、Ｃ３９に記載のコンピュータ可読媒体。
[Ｃ４１]
前記構文解析された残差係数情報は、最後の非ゼロ係数の位置、非ゼロ係数の数、および１つまたは複数の係数の大きさのうちの１つまたは複数を備える前記グループから選択される、Ｃ４０に記載のコンピュータ可読媒体。
【図１】
0006293756.tif 000019
【図２】
0006293756.tif 000020
【図３】
0006293756.tif 000021
【図４】
0006293756.tif 000022
【図５】
0006293756.tif 000023
【図６】
0006293756.tif 000024
【図７】
0006293756.tif 000025
【図８】
0006293756.tif 000026