(57)【特許請求の範囲】
【請求項１】
ビデオ情報を復号する方法であって、
ベースレイヤ（ＢＬ）、エンハンスメントレイヤ（ＥＬ）、またはその両方に関連するビデオ情報を記憶するように構成されたメモリユニットであって、ここにおいて、前記ＢＬは、ＢＬ幅値およびＢＬ高さ値を有する１つまたは複数のＢＬピクチャを備え、前記ＥＬは、ＥＬ幅値およびＥＬ高さ値を有する１つまたは複数のＥＬピクチャを備える、メモリユニットに結合されたプロセッサを用いて、
（１）前記ＢＬ幅値および前記ＥＬ幅値に基づいて第１のスケーリングファクタ、および（２）前記ＢＬ高さ値および前記ＥＬ高さ値に基づいて第２のスケーリングファクタを決定することと、ここにおいて、前記第１のスケーリングファクタは、前記第２のスケーリングファクタとは異なり、
スケーリング関数への入力として前記決定された第１のスケーリングファクタを使用して、前記ベースレイヤに関連する要素の第１の成分を空間的にスケーリングすることと、ここにおいて、前記スケーリング関数は、時間動きベクトル予測子（ＴＭＶＰ）を生成するために、動きベクトルを時間的にスケーリングするように構成され、
前記スケーリング関数への入力として前記決定された第２のスケーリングファクタを使用して前記ＢＬに関連する前記要素の第２の成分を空間的にスケーリングすることと、
前記要素の前記空間的にスケーリングされた第１および第２の成分を使用して前記ビデオ情報を復号することと
を備え、
前記第１および第２のスケーリングファクタを決定することは、前記第１および第２のスケーリングファクタに関連する除算演算ごとにルックアップテーブルを使用することによって、前記第１および第２のスケーリングファクタを決定することを備え、
最大可能ＢＬ幅値、最大可能ＥＬ幅値、最大可能ＢＬ高さ値、および最大可能ＥＬ高さ値が小さくなればなるほど、各除算演算に使用される前記ルックアップテーブルがより小さくなり、
前記最大可能ＢＬ幅値は前記ＢＬ幅値の上限値であり、前記最大可能ＥＬ幅値は前記ＥＬ幅値の上限値であり、前記最大可能ＢＬ高さ値は前記ＢＬ高さ値の上限値であり、前記最大可能ＥＬ高さ値は前記ＥＬ高さ値の上限値である、方法。
【請求項２】
ビデオ情報を符号化する方法であって、
ベースレイヤ（ＢＬ）、エンハンスメントレイヤ（ＥＬ）、またはその両方に関連するビデオ情報を記憶するように構成されたメモリユニットであって、ここにおいて、前記ＢＬは、ＢＬ幅値およびＢＬ高さ値を有する１つまたは複数のＢＬピクチャを備え、前記ＥＬは、ＥＬ幅値およびＥＬ高さ値を有する１つまたは複数のＥＬピクチャを備える、メモリユニットに結合されたプロセッサを用いて、
（１）前記ＢＬ幅値および前記ＥＬ幅値に基づいて第１のスケーリングファクタ、および（２）前記ＢＬ高さ値および前記ＥＬ高さ値に基づいて第２のスケーリングファクタを決定することと、ここにおいて、前記第１のスケーリングファクタは、前記第２のスケーリングファクタとは異なり、
スケーリング関数への入力として前記決定された第１のスケーリングファクタを使用して、前記ベースレイヤに関連する要素の第１の成分を空間的にスケーリングすることと、ここにおいて、前記スケーリング関数は、時間動きベクトル予測子（ＴＭＶＰ）を生成するために、動きベクトルを時間的にスケーリングするように構成され、
前記スケーリング関数への入力として前記決定された第２のスケーリングファクタを使用して前記ＢＬに関連する前記要素の第２の成分を空間的にスケーリングすることと、
前記要素の前記空間的にスケーリングされた第１および第２の成分を使用して前記ビデオ情報を符号化することと
を備え、
前記第１および第２のスケーリングファクタを決定することは、前記第１および第２のスケーリングファクタに関連する除算演算ごとにルックアップテーブルを使用することによって、前記第１および第２のスケーリングファクタを決定することを備え、
最大可能ＢＬ幅値、最大可能ＥＬ幅値、最大可能ＢＬ高さ値、および最大可能ＥＬ高さ値が小さくなればなるほど、各除算演算に使用される前記ルックアップテーブルがより小さくなり、
前記最大可能ＢＬ幅値は前記ＢＬ幅値の上限値であり、前記最大可能ＥＬ幅値は前記ＥＬ幅値の上限値であり、前記最大可能ＢＬ高さ値は前記ＢＬ高さ値の上限値であり、前記最大可能ＥＬ高さ値は前記ＥＬ高さ値の上限値である、方法。
【請求項３】
前記第１のスケーリングファクタは、（ａ）第１のＥＬ空間寸法値と第１のＢＬ空間寸法値との比率と、（ｂ）所定の値との積を備え、前記第１のＥＬ空間寸法値は前記ＥＬ幅値であり、前記第１のＢＬ空間寸法値は前記ＢＬ幅値であり、前記第２のスケーリングファクタは、（ａ）第２のＥＬ空間寸法値と第２のＢＬ空間寸法値との比率と、（ｂ）前記所定の値との積を備え、前記第２のＥＬ空間寸法値は前記ＥＬ高さ値であり、前記第２のＢＬ空間寸法値は前記ＢＬ高さ値である、請求項１または２に記載の方法。
【請求項４】
前記所定の値は２５６である、請求項３に記載の方法。
【請求項５】
第１のＥＬ空間寸法値は、（ａ）所定の値によって乗算されたＥＬ幅値と、（ｂ）オフセット値との和を備え、ここにおいて、第１のＢＬ空間寸法値は、ＢＬ幅値を備え、前記第１のスケーリングファクタは、前記和を前記ＢＬ幅値で除算することによって計算される、請求項１または２に記載の方法。
【請求項６】
前記オフセット値は、前記ＢＬ幅値の１／２である、または
前記オフセット値は、前記ＢＬ幅値の１／２よりも１小さい、請求項５に記載の方法。
【請求項７】
前記ＥＬ幅値は、０から最大可能ＥＬ幅値までの範囲内にあり、前記ＢＬ幅値は、０から最大可能ＢＬ幅値までの範囲内にある、請求項１または２に記載の方法。
【請求項８】
前記要素は動きベクトルを備える、または
前記要素は、ピクセルまたはビデオブロックの空間位置を備える、請求項１または２に記載の方法。
【請求項９】
前記ＢＬ高さ値は、０から最大可能ＢＬ高さ値までの範囲内にあり、前記ＥＬ高さ値は、０から最大可能ＥＬ高さ値までの範囲内にある、請求項１または２に記載の方法。
【請求項１０】
実行されたとき、装置に、請求項１乃至９のいずれか一項に記載の方法を行わせる命令を備える、非一時的コンピュータ可読媒体。
【請求項１１】
ビデオ情報を復号するように構成された装置であって、
（１）ベースレイヤ（ＢＬ）幅値およびエンハンスメントレイヤ（ＥＬ）幅値に基づいて第１のスケーリングファクタ、および（２）ＢＬ高さ値およびＥＬ高さ値に基づいて第２のスケーリングファクタを決定するための手段と、ここにおいて、前記第１のスケーリングファクタは、前記第２のスケーリングファクタとは異なり、
スケーリング関数への入力として前記決定された第１のスケーリングファクタを使用して、ベースレイヤに関連する要素の第１の成分を空間的にスケーリングするための手段と、ここにおいて、前記スケーリング関数は、時間動きベクトル予測子（ＴＭＶＰ）を生成するために、動きベクトルを時間的にスケーリングするように構成され、
前記スケーリング関数への入力として前記決定された第２のスケーリングファクタを使用して前記ＢＬに関連する前記要素の第２の成分を空間的にスケーリングするための手段と、
前記要素の前記空間的にスケーリングされた第１および第２の成分を使用して前記ビデオ情報を復号するための手段と
を備え、
前記第１および第２のスケーリングファクタを決定することは、前記第１および第２のスケーリングファクタに関連する除算演算ごとにルックアップテーブルを使用することによって、前記第１および第２のスケーリングファクタを決定することを備え、
最大可能ＢＬ幅値、最大可能ＥＬ幅値、最大可能ＢＬ高さ値、および最大可能ＥＬ高さ値が小さくなればなるほど、各除算演算に使用される前記ルックアップテーブルがより小さくなり、
前記最大可能ＢＬ幅値は前記ＢＬ幅値の上限値であり、前記最大可能ＥＬ幅値は前記ＥＬ幅値の上限値であり、前記最大可能ＢＬ高さ値は前記ＢＬ高さ値の上限値であり、前記最大可能ＥＬ高さ値は前記ＥＬ高さ値の上限値である、装置。
【請求項１２】
ビデオ情報を符号化するように構成された装置であって、
（１）ベースレイヤ（ＢＬ）幅値およびエンハンスメントレイヤ（ＥＬ）幅値に基づいて第１のスケーリングファクタ、および（２）ＢＬ高さ値およびＥＬ高さ値に基づいて第２のスケーリングファクタを決定するための手段と、ここにおいて、前記第１のスケーリングファクタは、前記第２のスケーリングファクタとは異なり、
スケーリング関数への入力として前記決定された第１のスケーリングファクタを使用して、ベースレイヤに関連する要素の第１の成分を空間的にスケーリングするための手段と、ここにおいて、前記スケーリング関数は、時間動きベクトル予測子（ＴＭＶＰ）を生成するために、動きベクトルを時間的にスケーリングするように構成され、
前記スケーリング関数への入力として前記決定された第２のスケーリングファクタを使用して前記ＢＬに関連する前記要素の第２の成分を空間的にスケーリングするための手段と、
前記要素の前記空間的にスケーリングされた第１および第２の成分を使用して前記ビデオ情報を符号化するための手段と
を備え、
前記第１および第２のスケーリングファクタを決定することは、前記第１および第２のスケーリングファクタに関連する除算演算ごとにルックアップテーブルを使用することによって、前記第１および第２のスケーリングファクタを決定することを備え、
最大可能ＢＬ幅値、最大可能ＥＬ幅値、最大可能ＢＬ高さ値、および最大可能ＥＬ高さ値が小さくなればなるほど、各除算演算に使用される前記ルックアップテーブルがより小さくなり、
前記最大可能ＢＬ幅値は前記ＢＬ幅値の上限値であり、前記最大可能ＥＬ幅値は前記ＥＬ幅値の上限値であり、前記最大可能ＢＬ高さ値は前記ＢＬ高さ値の上限値であり、前記最大可能ＥＬ高さ値は前記ＥＬ高さ値の上限値である、装置。
【請求項１３】
前記装置は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話、衛星無線電話、スマートフォン、ビデオ遠隔会議デバイス、およびビデオストリーミングデバイスからなる群から選択されるデバイスである、請求項１１または１２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、ビデオコーディングおよび圧縮の分野に関する。詳細には、本開示は、高効率ビデオコーディング（ＨＥＶＣ）およびその拡張、たとえば、スケーラブルビデオコーディング（ＳＶＣ）、マルチビュービデオおよび３Ｄコーディング（ＭＶＣ、３ＤＶ）などに関する。いくつかの実施形態では、本開示は、ＳＶＣのための空間動きベクトルスケーリングに関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００３】
[0003]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）が、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた（Ｉ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００４】
[0004]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【０００５】
[0005]いくつかの状況では、符号化または復号されているレイヤとは異なる空間スケーラビリティを有するレイヤから動きベクトルを空間的にスケーリングすることが望ましい。他の状況では、レイヤからのビデオブロックの位置を、符号化または復号されているレイヤ中の等価の位置にマッピングすることが望ましい。しかしながら、空間スケーリングおよびレイヤ間位置マッピングは、概して、適切なスケーリングパラメータを決定するために実行される任意の除算演算により処理コストの増加を必要とする。
【発明の概要】
【０００６】
[0006]一般に、本開示は、スケーラブルビデオコーディング（ＳＶＣ）に関係する技法を記載する。以下で説明する技法は、（動き情報を含む）レイヤ間シンタックス予測が特定のベースレイヤコーデック（たとえば、ＨＥＶＣなど）に対して許可されるかどうかを示すための機構を与える。
【０００７】
[0007]一実施形態では、ビデオ情報を符号化または復号するための装置が提供される。本装置は、ベースレイヤおよび／またはエンハンスメントレイヤに関連するビデオ情報を記憶するように構成されたメモリユニットを備える。本装置は、メモリユニットに動作可能に結合されたプロセッサをさらに備える。一実施形態では、プロセッサは、ビデオ情報の空間動きベクトルスケーリングを実行するように構成される。たとえば、プロセッサは、スケーラブルビデオコーディングフレームワーク内で空間動きベクトルスケーリングを実行するように構成され得る。
【０００８】
[0008]一実施形態では、ビデオ情報をコーディングするための装置を提供する。本装置は、メモリユニットとプロセッサとを含む。メモリユニットは、ベースレイヤ、エンハンスメントレイヤ、またはその両方に関連するビデオ情報を記憶するように構成される。プロセッサは、メモリユニットに動作可能に結合され、スケーリングファクタが所定の範囲内に制約されるように、ベースレイヤおよびエンハンスメントレイヤに関連する空間寸法値に基づいてスケーリングファクタを決定することと、スケーリングファクタと時間動きベクトルスケーリングプロセスまたは関数とを使用してベースレイヤまたはエンハンスメントレイヤに関連する要素を空間的にスケーリングすることとを行うように構成される。
【０００９】
[0009]別の実施形態では、ビデオ情報を復号する方法は、ベースレイヤ、エンハンスメントレイヤ、またはその両方に関連するビデオ情報を記憶するように構成されたメモリユニットに結合されたプロセッサを用いて、スケーリングファクタが所定の範囲内に制約されるように、ベースレイヤおよびエンハンスメントレイヤに関連する空間寸法値に基づいてスケーリングファクタを決定することを含む。本方法はまた、スケーリングファクタと時間動きベクトルスケーリングプロセスとを使用してベースレイヤまたはエンハンスメントレイヤに関連する要素を空間的にスケーリングすることを含む。本方法はまた、空間的にスケーリングされた要素を使用してビデオ情報を復号することを含む。
【００１０】
[0010]別の実施形態では、ビデオ情報を符号化する方法は、ベースレイヤ、エンハンスメントレイヤ、またはその両方に関連するビデオ情報を記憶するように構成されたメモリユニットに結合されたプロセッサを用いて、スケーリングファクタが所定の範囲内に制約されるように、ベースレイヤおよびエンハンスメントレイヤに関連する空間寸法値に基づいてスケーリングファクタを決定することを含む。本方法はまた、スケーリングファクタと時間動きベクトルスケーリングプロセスとを使用してベースレイヤまたはエンハンスメントレイヤに関連する要素を空間的にスケーリングすることを含む。本方法はまた、空間的にスケーリングされた要素を使用してビデオ情報を符号化することを含む。
【００１１】
[0011]別の実施形態では、非一時的コンピュータ可読媒体は、実行されたとき、装置に、スケーリングファクタが所定の範囲内に制約されるように、ベースレイヤおよびエンハンスメントレイヤに関連する空間寸法値に基づいてスケーリングファクタを決定することを行わせる命令を含む。命令はまた、本装置に、スケーリングファクタと時間動きベクトルスケーリングプロセスとを使用してベースレイヤまたはエンハンスメントレイヤに関連する要素を空間的にスケーリングすることを行わせる。命令はまた、本装置に、空間的にスケーリングされた要素を使用してビデオ情報をコーディングすることを行わせる。
【００１２】
[0012]別の実施形態では、装置は、ビデオ情報をコーディングするように構成される。本装置は、スケーリングファクタが所定の範囲内に制約されるように、ベースレイヤおよびエンハンスメントレイヤに関連する空間寸法値に基づいてスケーリングファクタを決定するための手段を含む。本装置はまた、スケーリングファクタと時間動きベクトルスケーリングプロセスとを使用してベースレイヤまたはエンハンスメントレイヤに関連する要素を空間的にスケーリングするための手段を含む。本装置はまた、空間的にスケーリングされた要素を使用してビデオ情報をコーディングするための手段を含む。
【００１３】
[0013]１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。添付の図面および以下の説明は、本明細書に説明する発明概念の全範囲を制限するものではない。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【００１４】
[0014]図面全体にわたって、参照される要素間の対応を示すために参照番号が再使用される場合がある。図面は、本明細書に記載される例示的な実施形態を図示するために提供され、本開示の範囲を限定するものではない。
【図面の簡単な説明】
【００１５】
【図１】[0015]本開示で説明する態様による技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0016]本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】[0017]本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】[0018]本開示の態様による、時間スケーリング関数を使用して空間スケーリングを実行する方法の一実施形態を示すフローチャート。
【発明を実施するための形態】
【００１６】
[0019]本開示で説明する技法は、概して、スケーラブルビデオコーディング（ＳＶＣ）およびマルチビュー／３Ｄビデオコーディングに関する。たとえば、本技法は、高効率ビデオコーディング（ＨＥＶＣ）スケーラブルビデオコーディング（ＳＶＣ、ＳＨＶＣと呼ばれることがある）拡張に関係し、それとともにまたはそれの中で使用され得る。ＳＶＣ拡張では、ビデオ情報の複数のレイヤがあり得る。最下位レベルにあるレイヤはベースレイヤ（ＢＬ：base layer）として働き、最上位にあるレイヤ（または最上位レイヤ）はエンハンストレイヤ（ＥＬ：enhanced layer）として働き得る。「エンハンストレイヤ」は「エンハンスメントレイヤ」と呼ばれることがあり、これらの用語は互換的に使用され得る。ベースレイヤは「参照レイヤ」（ＲＬ：reference layer）と呼ばれることがあり、これらの用語は互換的に使用され得る。ベースレイヤとトップレイヤとの中間にあるすべてのレイヤは、ＥＬまたは参照レイヤ（ＲＬ）のどちらかまたはその両方として働き得る。たとえば、中間にあるレイヤは、ベースレイヤまたは介在エンハンスメントレイヤ（intervening enhancement layer）など、それの下のレイヤのためのＥＬであり、同時にそれの上のエンハンスメントレイヤのためのＲＬとして働き得る。ベースレイヤとトップレイヤ（または最上位レイヤ）との中間の各レイヤは、上位レイヤによってレイヤ間予測のための参照として使用され得、レイヤ間予測のための参照として下位レイヤを使用し得る。(Each layer in between the base layer and the top layer (or the highest layer) is may be used as a reference for inter-layer prediction by a higher layer and may use a lower layer as a reference for inter-layer prediction.)
[0020]簡単のために、ＢＬおよびＥＬのただ２つのレイヤに関して例を提示するが、以下で説明する概念および実施形態が複数のレイヤを用いる場合にも適用可能であることをよく理解されたい。さらに、説明を簡単にするために、「フレーム」または「ブロック」という用語がしばしば使用される。ただし、これらの用語は限定的なものではない。たとえば、以下で説明する技法は、限定はしないが、ピクセル、ブロック（たとえば、ＣＵ、ＰＵ、ＴＵ、マクロブロックなど）、スライス、ピクチャなどを含む、様々なビデオユニットのいずれかとともに使用され得る。
【００１７】
ビデオコーディング
[0021]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびそれのスケーラブルビデオコーディング（ＳＶＣ）拡張とマルチビュービデオコーディング（ＭＶＣ）拡張とを含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含む。ＳＶＣおよびＭＶＣの最新のジョイントドラフトは、「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１０年３月に記載されている。
【００１８】
[0022]加えて、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）およびＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）のＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって開発されている新しいビデオコーディング規格、高効率ビデオコーディング（ＨＥＶＣ）がある。最近の高効率ビデオコーディング（ＨＥＶＣ）テキスト仕様ドラフトは、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１２＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｌ１００３−ｖ１３．ｚｉｐから入手可能である。ＨＥＶＣ  ＷＤ９と呼ばれる、ＨＥＶＣの別の最新のワーキングドラフト（ＷＤ）は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１１＿Ｓｈａｎｇｈａｉ／ｗｇ１１／ＪＣＴＶＣ−Ｋ１００３−ｖ１３．ｚｉｐから入手可能である。ＨＥＶＣ  ＷＤ８（またはＷＤ８）と呼ばれる、ＨＥＶＣの別のワーキングドラフトは、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１０＿Ｓｔｏｃｋｈｏｌｍ／ｗｇ１１／ＪＣＴＶＣ−Ｊ１００３−ｖ８．ｚｉｐから入手可能である。以下ＨＥＶＣ  ＷＤ７と呼ばれる、ＨＥＶＣの別のワーキングドラフトは、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／９＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｉ１００３−ｖ５．ｚｉｐから入手可能である。これらの文献のすべては、その全体が参照により組み込まれる。
【００１９】
[0023]ＳＶＣでは、ビデオ情報は、複数のレイヤとして与えられ得る。最下位レベルにあるレイヤはベースレイヤ（ＢＬ）としてのみ働くことができ、最上位レベルにあるレイヤはエンハンスメントレイヤ（ＥＬ）として働くことができる。最上層と最下層との間のすべてのレイヤは、エンハンスメントレイヤとベースレイヤの両方として働き得る。たとえば、中間にあるレイヤは、それの下のレイヤのためのＥＬであり、同時にそれの上のレイヤのためのＢＬとしてのものであり得る。説明を簡単にするために、以下で説明する本技法を示す際に、ＢＬおよびＥＬの２つのレイヤがあると仮定し得る。しかしながら、本明細書で説明する技法はすべて、複数の（３つ以上の）レイヤを用いる場合にも適用可能である。
【００２０】
[0024]スケーラブルビデオコーディング（ＳＶＣ）は、（信号対雑音比（ＳＮＲ）とも呼ばれる）品質スケーラビリティ、空間スケーラビリティ、および／または時間スケーラビリティを実現するために使用され得る。たとえば、一実施形態では、参照レイヤ（たとえば、ベースレイヤ）は、第１の品質レベルでビデオを表示するのに十分なビデオ情報を含み、エンハンスメントレイヤは、参照レイヤと比べてさらなるビデオ情報を含み、その結果、参照レイヤおよびエンハンスメントレイヤは一緒に、第１の品質レベルよりも高い第２の品質レベル（たとえば、少ない雑音、大きい解像度、より良いフレームレートなど）でビデオを表示するのに十分なビデオ情報を含む。強調レイヤは、ベースレイヤとは異なる空間解像度を有し得る。たとえば、ＥＬとＢＬとの間の空間アスペクト比は、１．０、１．５、２．０または他の異なる比であり得る。言い換えれば、ＥＬの空間アスペクトは、ＢＬの空間アスペクトの１．０倍、１．５倍、または２．０倍に等しくなり得る。いくつかの例では、ＥＬのスケーリングファクタはＢＬよりも大きくなり得る。たとえば、ＥＬ中のピクチャのサイズは、ＢＬ中のピクチャのサイズよりも大きくなり得る。このようにして、限定はしないが、ＥＬの空間解像度がＢＬの空間解像度よりも大きいことが可能であり得る。
【００２１】
[0025]Ｈ．２６４用のＳＶＣ拡張では、現在ブロックの予測は、ＳＶＣ用に提供された様々なレイヤを使用して実行され得る。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測方法は、レイヤ間冗長性を低減するためにＳＶＣにおいて利用され得る。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測があり得る。レイヤ間イントラ予測は、ベースレイヤ中のコロケートブロックの再構成を使用してエンハンスメントレイヤ中の現在ブロックを予測する。レイヤ間動き予測は、ベースレイヤの動き情報を使用してエンハンスメントレイヤ中の動作を予測する。レイヤ間残差予測は、ベースレイヤの残差を使用してエンハンスメントレイヤの残差を予測する。
【００２２】
[0026]レイヤ間動き予測のいくつかの実施形態では、（たとえば、同じ位置にあるブロックについての）ベースレイヤの（動きベクトルを含む）動きデータは、エンハンスメントレイヤ中の現在ブロックを予測するために使用され得る。たとえば、エンハンスメントレイヤでビデオユニットをコーディングしながら、ビデオコーダは、参照レイヤからの情報を使用して、さらなる仮説を識別するために使用され得るさらなる動き補償データを取得することができる。これらのさらなる仮説は、ビデオのビットストリーム内にすでに存在するデータから暗黙的に導出されるので、ビットストリームのサイズにおける追加コストがほとんどまたはまったくない状態で、ビデオコーディングにおけるさらなる性能が得られ得る。別の例では、さらなる仮説を見つけるために、空間的に隣接するビデオユニットからの動き情報が使用され得る。導出された仮説は、次いで、明示的に符号化された仮説と平均化されるか、または場合によっては組み合わされて、ビデオユニットの値のより良い予測を生成することができる。いくつかの状況では、ベース（または参照）レイヤの空間解像度が現在ブロックのレイヤの空間解像度とは異なるときなどに、ベースレイヤ動き情報は、現在ブロックを符号化または復号するために使用されるより前に空間的にスケーリングされる。同様に、レイヤが現在ブロックのレイヤとは異なる空間解像度を有するとき、ベース（または参照）レイヤ中のブロックの位置は、以下で説明するように、レイヤ間位置マッピングによって決定され得る。
【００２３】
空間動きベクトルスケーリング
[0027]ベースレイヤからの動きベクトル（ＭＶ）は、少なくともマージモードまたはＡＭＶＰモード中でＭＶ候補として使用され得る。ベースレイヤおよびエンハンスメントレイヤは異なる解像度を潜在的に有することができるので、ベースレイヤからのＭＶは、レイヤ間ＭＶ予測候補として使用される前に、解像度差に従ってスケーリングされる必要があり得る。一実施形態では、そのようなスケーリングは、次式によって表される。
【数１】
0006466349.tif 000002
【００２４】
ここで、ｅｌはエンハンスメントレイヤを示し、ｂｌはベースレイヤを示し、Ｗは幅を示し、Ｈは高さを示す。
【００２５】
[0028]上記の式は、説明のために提供され、同様の式が使用され得る。たとえば、同様の式は、たとえば、丸めオフセットが追加される場合の使用であり得る。
【００２６】
レイヤ間位置マッピング
[0029]ベースレイヤピクチャとエンハンスメントレイヤピクチャとの間の位置マッピングは、レイヤ間テクスチャおよび／またはシンタックス予測のために実行される。たとえば、レイヤ間テクスチャ予測では、（ＰＥＬ（ｘ，ｙ）と呼ばれることがある）エンハンスメントレイヤの位置（ｘ，ｙ）のピクセルについて、対応するポジション（ｂｌｘ，ｂｌｙ）が導出され得る。したがって、ＰＢＬ（ｂｌｘ，ｂｌｙ）と呼ばれることがある、ベースレイヤの（ｂｌｘ，ｂｌｙ）のピクセル値が、ＰＥＬ（ｘ，ｙ）の値を予測するために使用され得る。位置マッピングは、次のように表され得る。
【数２】
0006466349.tif 000003
【００２７】
[0030]上記の式は、説明のために使用され、同様の式が、たとえば、丸めオフセットが追加され得る場合に使用され得る。ベースレイヤピクチャおよびエンハンスメントレイヤピクチャが異なるクロッピングを有する場合、クロッピングパラメータが式中に組み込まれ得る。しかしながら、上記の式を使用することの１つの欠点は、任意のベースおよびエンハンスメントレイヤスケーラビリティアスペクト比に除算演算が必要とされることである。そのような除算演算は、以下でより詳細に説明するように、計算コストが高く、大量のコンピューティングリソースおよび／またはより大きいメモリおよび帯域幅要件を必要とする。
【００２８】
[0031]ベースレイヤＭＶスケーリングのためにＨＥＶＣ規格中で利用可能な時間動きベクトル予測子（ＴＭＶＰ）スケーリング関数が使用され得ることが提案されている。この関数についての入力パラメータは、可変スケーリングパラメータであり、次のように計算される。
【数３】
0006466349.tif 000004
【００２９】
これは、ｉＳｃａｌｅＢａｓｅ＝２５６×ｅｌＷ／ｂｌＷに相当する（ここで、ｅｌＷおよびｂｌＷは、それぞれ、エンハンスメントレイヤピクチャおよびベースレイヤピクチャの幅に対応する）。表現ｘ＜＜ｙは、数ｘの２値表現のｙビットだけの左シフトを指し、これは、数ｘを２yで除算することに相当する。同様に、表現ｘ＞＞ｙは、数ｘの２値表現のｙビットだけの右シフトを指し、これは、数ｘを２yで乗算することに相当する。スケーリングがない場合、たとえば、ベースレイヤおよびエンハンスメントレイヤのピクチャサイズが等しいとき、入力パラメータｉＳｃａｌｅＢａｓｅは等しい２５６である。２×のスケーラビリティの場合（たとえば、エンハンスメントレイヤピクチャの幅がベースレイヤピクチャの幅の２倍であるとき）、入力パラメータｉＳｃａｌｅＢａｓｅは、５１２に等しくなり、１．５ｘの場合、入力パラメータｉＳｃａｌｅＢａｓｅは、３８４に等しくなる。この入力パラメータは、シーケンスごとに１回計算され得る。しかしながら、上述のように、任意の除算器を用いた除算が必要とされ、これは、コストを増加させ、ならびに／または符号化および復号プロセスの効率を低減させ得る。
【００３０】
[0032]添付の図面を参照しながら新規のシステム、装置、および方法の様々な態様について以下でより十分に説明する。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えられる。本明細書の教示に基づいて、本開示の範囲は、本発明の他の態様とは無関係に実装されるにせよ、または本発明の他の態様と組み合わせて実装されるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載の任意の数の態様を使用しても、装置は実装され得、または方法は実施され得る。さらに、本発明の範囲は、本明細書に記載の本発明の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置またはそのような方法をカバーするものとする。本明細書で開示する任意の態様が請求項の１つまたは複数の要素によって実施され得ることを理解されたい。
【００３１】
[0033]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好ましい態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものとし、それらのいくつかを例として、図および好適な態様についての以下の説明において示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
【００３２】
ビデオコーディングシステム
[0034]図１は、本開示で説明する態様による技法を利用し得る例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用し説明する「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。
【００３３】
[0035]図１に示されるように、ビデオコーディングシステム１０は、ソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２は符号化ビデオデータを生成する。宛先デバイス１４は、ソースデバイス１２によって生成された符号化ビデオデータを復号し得る。ソースデバイス１２は、コンピュータ可読媒体１６を介して宛先デバイス１４にビデオデータを与えることができる。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（たとえば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォン、いわゆる「スマート」パッドなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータ、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスを含み得る。ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００３４】
[0036]宛先デバイス１４は、コンピュータ可読媒体１６を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、ソースデバイス１２から宛先デバイス１４に符号化されたビデオデータを移動させることができるタイプの媒体またはデバイスを備え得る。たとえば、コンピュータ可読媒体１６は、ソースデバイス１２が、符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路など、ワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または他の機器を含み得る。
【００３５】
[0037]いくつかの実施形態では、符号化データは、出力インターフェース２２からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、またはビデオデータを記憶するための他のデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。ストレージデバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能なタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００３６】
[0038]本開示の技法は、ワイヤレス適用例または設定に加えた適用例または設定を適用することができる。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例をサポートするビデオコーディングに適用され得る。いくつかの実施形態では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３７】
[0039]図１では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。ソースデバイス１２のビデオエンコーダ２０は、複数の規格または規格拡張に準拠するビデオデータを含むビットストリームをコーディングするための技法を適用するように構成され得る。他の実施形態では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなど、外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００３８】
[0040]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、あらかじめキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。いくつかの実施形態では、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、出力インターフェース２２によってコンピュータ可読媒体１６に出力され得る。
【００３９】
[0041]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体（たとえば、非一時的記憶媒体）を含み得る。ネットワークサーバ（図示せず）は、ソースデバイス１２から符号化ビデオデータを受信し、（たとえば、ネットワーク送信を介して）その符号化ビデオデータを宛先デバイス１４に与え得る。ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含むと理解され得る。
【００４０】
[0042]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信し得る。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、ビデオデコーダ３０によって使用され得る、ブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００４１】
[0043]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオコーディング規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、任意の特定のコーディング規格に限定されない。ビデオコーディング規格の他の例としては、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４２】
[0044]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００４３】
[0045]ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００４４】
[0046]概して、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット（ＬＣＵ：largest coding unit）に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるＬＣＵのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはツリーブロックに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。
【００４５】
[0047]４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しない場合でも、リーフＣＵの４つのサブＣＵをリーフＣＵとも呼ぶ。たとえば、１６×１６サイズのＣＵがさらに分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵをリーフＣＵとも呼ぶ。
【００４６】
[0048]ＣＵは、ＣＵがサイズの差異を有さないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、４つの子ノード（サブＣＵとも呼ばれる）に分割され得、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフＣＵとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大ＣＵ深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示では、ＨＥＶＣのコンテキストにおけるＣＵ、ＰＵ、もしくはＴＵ、または他の規格のコンテキストにおける同様のデータ構造（たとえば、Ｈ．２６４／ＡＶＣにおけるマクロブロックおよびそれのサブブロック）のいずれかを指すために「ブロック」という用語を使用する。
【００４７】
[0049]ＣＵは、コーディングノードと、コーディングノードに関連する予測ユニット（ＰＵ：prediction unit）および変換ユニット（ＴＵ：transform unit）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルを有するツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形または非方形（たとえば、矩形）であり得る。
【００４８】
[0050]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるかまたはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差クワッドツリー」（ＲＱＴ：residual quad tree）として知られるクワッドツリー構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、量子化され得る変換係数を生成するために変換され得る。
【００４９】
[0051]リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分に対応する空間的エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵについてのデータは、ＰＵに対応するＴＵについてのイントラ予測モードを記述するデータを含み得る残差４分木（ＲＱＴ）中に含まれ得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００５０】
[0052]１つまたは複数のＰＵを有するリーフＣＵはまた、１つまたは複数の変換ユニット（ＴＵ）を含み得る。変換ユニットは、上記で説明したように、（ＴＵ４分木構造とも呼ばれる）ＲＱＴを使用して指定され得る。たとえば、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブＴＵに分割され得る。ＴＵがさらに分割されないとき、そのＴＵはリーフＴＵと呼ばれることがある。概して、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。すなわち、概して、リーフＣＵのすべてのＴＵの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値をＴＵに対応するＣＵの一部と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵはＰＵよりも大きくまたは小さくなり得る。イントラコーディングの場合、ＰＵは、同じＣＵの対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００５１】
[0053]さらに、リーフＣＵのＴＵはまた、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造に関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してツリーブロック（またはＬＣＵ）に対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、特に明記しない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。
【００５２】
[0054]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
【００５３】
[0055]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００５４】
[0056]本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ただし、Ｎは非負整数値を表す。ブロック中のピクセルは行と列で構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有さなくてもよい。たとえば、ブロックはＮ×Ｍピクセルを備え得、ただし、Ｍは必ずしもＮに等しいとは限らない。
【００５５】
[0057]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、ＴＵは、変換、たとえば、離散サイン変換（ＤＳＴ）、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【００５６】
[0058]変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、その最も広い通常の意味を有することが意図された広義の用語である。一実施形態では、量子化は、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ただし、ｎはｍよりも大きい。
【００５７】
[0059]量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、より高いエネルギー（したがってより低い周波数）の係数をアレイの前方に配置し、より低いエネルギー（したがってより高い周波数）の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応型走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００５８】
[0060]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００５９】
[0061]ビデオエンコーダ２０は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびＧＯＰベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはＧＯＰヘッダ中でビデオデコーダ３０に送り得る。ＧＯＰシンタックスデータは、それぞれのＧＯＰ中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化／予測モードを示し得る。
【００６０】
ビデオエンコーダ
[0062]図２は、本開示で説明する態様による技法を実装し得るビデオエンコーダの例を示すブロック図である。ビデオエンコーダ２０は、限定はしないが、図４に関して以下でさらに詳細に説明する時間スケーリング関数を使用して空間スケーリングを実行する方法を含む、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、レイヤ間予測ユニット６６は（提供されたとき）、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。ただし、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオエンコーダ２０の様々な構成要素間で共有され得る。いくつかの例では、追加としてまたは代わりに、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。
【００６１】
[0063]ビデオエンコーダ２０は、ビデオスライス内のビデオブロックの（イントラコーディング、インターコーディングまたはレイヤ間コーディングとも呼ばれる）イントラ予測、インター予測、およびレイヤ間予測を実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間予測に依拠する。レイヤ間コーディングは、同じビデオコーディングシーケンス内の異なるレイヤ内のビデオに基づく予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
【００６２】
[0064]図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、参照フレームメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。モード選択ユニット４０は、今度は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、レイヤ間予測ユニット６６と、パーティションユニット４８とを含む。
【００６３】
[0065]ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。また、デブロッキングフィルタに加えて追加のフィルタ（ループ内またはループ後）が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、（ループ内フィルタとして）加算器５０の出力をフィルタ処理し得る。
【００６４】
[0066]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間的予測を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット４６は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ２０は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
【００６５】
[0067]その上、パーティションユニット４８は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット４８は、初めにフレームまたはスライスをＬＣＵに区分し、レートひずみ分析（たとえば、レートひずみ最適化など）に基づいてＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、ＬＣＵをサブＣＵに区分することを示す４分木データ構造をさらに生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵおよび１つまたは複数のＴＵを含み得る。
【００６６】
[0068]モード選択ユニット４０は、たとえば、誤差結果に基づいてコーディングモード、すなわち、イントラ予測モード、インター予測モード、またはレイヤ間予測モードのうちの１つを選択し、残差ブロックデータを生成するために加算器５０に得られたイントラコード化ブロック、インターコード化ブロック、またはレイヤ間コード化ブロックを与え、参照フレームとして使用するための符号化ブロックを再構成するために加算器６２に得られたイントラコード化ブロック、インターコード化ブロック、またはレイヤ間コード化ブロックを与え得る。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報など、シンタックス要素をエントロピー符号化ユニット５６に与える。
【００６７】
[0069]動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム（または他のコード化ユニット）内でコーディングされている現在のブロックに対する参照フレーム（または他のコード化ユニット）内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照フレームメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【００６８】
[0070]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照フレームメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００６９】
[0071]動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。いくつかの例では、動き推定ユニット４２および動き補償ユニット４４は機能的に統合され得る。現在のビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。加算器５０は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。いくつかの実施形態では、動き推定ユニット４２はルーマ成分に対して動き推定を実行し得、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用し得る。モード選択ユニット４０は、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００７０】
[0072]イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測または計算し得る。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
【００７１】
[0073]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
【００７２】
[0074]ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
【００７３】
[0075]ビデオエンコーダ２０は、レイヤ間予測ユニット６６を含み得る。レイヤ間予測ユニット６６は、ＳＶＣにおいて利用可能である１つまたは複数の異なるレイヤ（たとえば、ベースレイヤまたは参照レイヤ）を使用して現在ブロック（たとえば、ＥＬ中の現在ブロック）を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット６６は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測がある。レイヤ間イントラ予測は、ベースレイヤ中のコロケートブロックの再構成を使用してエンハンスメントレイヤ中の現在ブロックを予測する。レイヤ間動き予測は、ベースレイヤの動き情報を使用してエンハンスメントレイヤ中の動作を予測する。レイヤ間残差予測は、ベースレイヤの残差を使用してエンハンスメントレイヤの残差を予測する。ベースレイヤおよびエンハンスメントレイヤが異なる空間解像度を有するとき、時間スケーリング関数を使用する空間動きベクトルスケーリングおよび／またはレイヤ間位置マッピングが、以下でより詳細に説明するように、レイヤ間予測ユニット６６によって実行され得る。
【００７４】
[0076]ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴと概念的に同様である他の変換を実行し得る。たとえば、離散サイン変換（ＤＳＴ）、ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。
【００７５】
[0077]変換処理ユニット５２は、変換を残差ブロックに適用し得、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【００７６】
[0078]量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接するブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、または後で送信するかまたは取り出すためにアーカイブされ得る。
【００７７】
[0079]逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームメモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【００７８】
ビデオデコーダ
[0080]図３は、本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図である。ビデオデコーダ３０は、限定はしないが、図４に関して以下でさらに詳細に説明する時間スケーリング関数を使用して空間スケーリングを実行する方法を含む、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、レイヤ間予測ユニット７５は、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。ただし、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオデコーダ３０の様々な構成要素間で共有され得る。いくつかの例では、追加としてまたは代わりに、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。
【００７９】
[0081]図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、レイヤ間予測ユニット７５と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームメモリ８２と、加算器８０とを含む。いくつかの実施形態では、動き補償ユニット７２および／またはイントラ予測ユニット７４が、レイヤ間予測を実行するように構成され得、その場合、レイヤ間予測ユニット７５は、省略され得る。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【００８０】
[0082]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット７２に転送する。(Entropy decoding unit 70 forwards the motion vectors to and other syntax elements to motion compensation unit 72.)ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【００８１】
[0083]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（たとえば、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照フレームメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【００８２】
[0084]動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【００８３】
[0085]ビデオデコーダ３０もレイヤ間予測ユニット７５を含み得る。レイヤ間予測ユニット７５は、ＳＶＣにおいて利用可能である１つまたは複数の異なるレイヤ（たとえば、ベースレイヤまたは参照レイヤ）を使用して現在ブロック（たとえば、ＥＬ中の現在ブロック）を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット７５は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測がある。レイヤ間イントラ予測は、ベースレイヤ中のコロケートブロックの再構成を使用してエンハンスメントレイヤ中の現在ブロックを予測する。レイヤ間動き予測は、ベースレイヤの動き情報を使用してエンハンスメントレイヤ中の動作を予測する。レイヤ間残差予測は、ベースレイヤの残差を使用してエンハンスメントレイヤの残差を予測する。ベースレイヤおよびエンハンスメントレイヤが異なる空間解像度を有するとき、空間動きベクトルスケーリングおよび／またはレイヤ間位置マッピングが、以下でより詳細に説明するように、時間スケーリング関数を使用してレイヤ間予測ユニット７５によって実行され得る。
【００８４】
[0086]逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化変換係数を逆量子化（inverse quantize）、たとえば、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。
【００８５】
[0087]逆変換ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば逆ＤＣＴ、逆ＤＳＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【００８６】
[0088]動き補償ユニット７２が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックに加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタも（コーディングループ中またはコーディングループ後のいずれかで）使用され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照フレームメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の表示のための、復号されたビデオを記憶する。
【００８７】
動きベクトルスケーリング
[0089]上記で説明したように、いくつかの実施形態では、動きベクトルは、符号化または復号プロセスの一部としてスケーリングされる。たとえば、現在ブロックのレイヤとは異なる空間解像度を有するレイヤからの動きベクトルは、現在ブロックを符号化または復号するために使用するより前にスケーリングされ得る。一実施形態では、プロセッサは、動きベクトルスケーリングの方法を実装するように構成される。本方法の第１のステップは、上記で説明した入力パラメータｉＳｃａｌｅＢａｓｅを次式に変更することであり得る。
【数４】
0006466349.tif 000005
【００８８】
通常、高さ値は幅よりも小さいので、エンハンスメントレイヤとベースレイヤとの高さ値の比率を使用して決定されるｉＳｃａｌｅＢａｓｅは、エンハンスメントレイヤとベースレイヤとの幅値の比率を使用することに勝る利点を与える。
【００８９】
[0090]入力パラメータ計算のための方法の別の実施形態として、次のように式にオフセットが追加され得る。
【数５】
0006466349.tif 000006
【００９０】
ここで、ｏｆｆｓｅｔはｂｌＷ／２であり得、これは、０．５の丸めオフセット値に対応する。丸めオフセットを与える別の実施形態では、入力パラメータは、次式であり得る。
【数６】
0006466349.tif 000007
【００９１】
[0091]上記で説明したように、これらの入力パラメータは、空間スケーリングを実行するためにＨＥＶＣ規格の下ですでに存在するＴＭＶＰ時間スケーリング関数への入力として使用され得る。空間スケーリングを実行するために既存のＴＭＶＰ時間スケーリング関数を使用することは、ＨＥＶＣ規格または（ＳＨＶＣ拡張などの）それの拡張に新しい、特定のスケーリング関数を導入することなしに空間スケーリングを可能にするという利点を与える。
【００９２】
水平および垂直方向のスケーラビリティ比率
[0092]スケーラビリティ比率が水平方向および垂直方向で同じであるべきでないことが望まれる場合、上記で説明した方法が、それぞれ、水平方向および垂直方向のための２つのスケールパラメータｉＳｃａｌｅＢａｓｅＸおよびｉＳｃａｌｅＢａｓｅＹを導入することによって拡張され得る。一実施形態では、次式である。
【数７】
0006466349.tif 000008
【００９３】
ここで、スケーリングファクタＮは、２５６などの整数であり得る。  別の例では、各スケールパラメータの分子にオフセットが追加され得る。
【００９４】
[0093]この実施形態では、ＴＭＶＰスケーリング関数は、ｉＳｃａｌｅＢａｓｅＸおよびｉＳｃａｌｅＢａｓｅＹの２つの入力パラメータを有し、ＴＭＶＰスケーリング方法は動きベクトル成分ごとに単独で適用され得る。たとえば、ＴＭＶＰ関数は、最初に入力としてｉＳｃａｌｅＢａｓｅＸを使用するのと、２回目に入力としてｉＳｃａｌｅＢａｓｅＹを使用するのとの２回呼び出され得る。
【００９５】
[0094]さらに、１つのスケーラビリティ比率に関して以下で説明するすべての方法および技法は、同様に、水平および垂直スケーラビリティ比率に単独で適用され得る。たとえば、以下で説明する位置マッピングに対して同様の方法が実行され得、ここで、２つのスケーリングパラメータ（たとえば、垂直方向のための１つおよび水平方向のための１つ）が導入され得る。水平パラメータ計算のために、ｅｌＷおよびｂｌＷが使用され、垂直パラメータ計算のために、ｅｌＨおよびｂｌＨが使用される。
【００９６】
除算のためのデータ範囲低減
[0095]いくつかの実施形態では、計算コスト、帯域幅コスト、および／またはメモリコストを低減するために、ある（たとえば、あらかじめ決定された）範囲内に除算器を制限することによって、ｉＳｃａｌｅＢａｓｅパラメータの除算演算が制限される。そうすることによって、除算演算が、より小さいサイズのルックアップテーブルを用いて実装され得る。
【００９７】
[0096]ベースレイヤおよびエンハンスメントレイヤの幅または高さの値は、ベースレイヤ幅が（０，ｂｌＭａｘ）の範囲内になるように低減され、ここで、ｂｌＭａｘは、最大可能ベースレイヤ幅値であり、ルックアップテーブルのサイズに接続され得る。この値が小さくなればなるほど、使用され得るルックアップテーブルがより小さくなる。ルックアップテーブルサイズと精度との間の最適なしきい値は、ｂｌＭａｘ値を変更することによって発見され得る。
【００９８】
[0097]所与の数ｂｌＭａｘについて、シフトの数（または２のべき乗の除算器）が、値を（０，ｂｌＭａｘ）の範囲内にするためにベースレイヤの幅または高さのために計算される。一実施形態では、シフト数はＮと呼ばれ、ベースレイヤの対応している除算器は２Nである。２除算演算がビットシフトによって実行されたので、実装形態を簡略化するために２のべき乗が利用され得る。(The power of two may be utilized to simplify the implementation, as division-by-two operations may performed by bit shifting.)しかしながら、他の実施形態では、値は、ベースレイヤの幅または高さよりも小さい任意の数であり得る。
【００９９】
[0098]次に、ベースレイヤおよびエンハンスメントレイヤは、同じスケーラビリティ比率を保つために、Ｎだけ右シフトされる。最終入力パラメータ計算は、次のように表され得る。
【数８】
0006466349.tif 000009
【０１００】
[0099]丸め誤差を低減するためにバリアント式が使用され得る。
【数９】
0006466349.tif 000010
【０１０１】
ここで、（ｂｌＷ＞＞Ｎ）は、上限を有する範囲（０，ｂｌＭａｘ）内にあり、ＴＭＶＰスケーリング関数の入力パラメータを正規化するために８の左シフトが使用される（たとえば、１のスケールは２５６に対応する）。
【０１０２】
[00100]さらに、上式に丸めオフセットが追加され得る。たとえば、オフセットは次のように追加され得る。
【数１０】
0006466349.tif 000011
【０１０３】
ここで、ｏｆｆｓｅｔは（ｂｌＷ＞＞（Ｎ＋１））であり得、これは、０．５の丸めオフセット値に対応する。丸めオフセットのための別の変形態は（ｂｌＷ＞＞（Ｎ＋１））−１であり得、ここで、０に向けた丸めが使用される。
【０１０４】
[00101]以下の変形態は、ｅｌＷの低減されたデータ範囲について丸め誤差を低減するために使用され得る。
【数１１】
0006466349.tif 000012
【０１０５】
同様に、オフセットは、０．５の丸めオフセット値に対応する（ｂｌＷ＞＞（Ｎ＋１））に、または０に向けた丸めに対応する（ｂｌＷ＞＞（Ｎ＋１））−１に設定され得る。すべての上式中の変数ｂｌＷおよびｅｌＷは、ｂｌＨおよびｅｌＨと置き換えられ得る。
【０１０６】
Ｃ＋＋実装形態
[00102]Ｃ＋＋実装形態の一例は、以下の通りである。
【数１２】
0006466349.tif 000013
【０１０７】
ここで、ｉＢＷｉｄｔｈは、ベースレイヤ幅であり、ｉＥＷｉｄｔｈは、エンハンスメントレイヤ幅である。この実施形態は、丸めオフセットを省略しているが、丸めオフセットは、上記で説明したように含まれ得る。
【０１０８】
除算演算の回避
[00103]除算演算からルックアップテーブルアクセス関数へのより容易な変換のために、入力パラメータ計算が、次のように実装され得る。
【数１３】
0006466349.tif 000014
【０１０９】
別の実施形態では、オフセットが追加される。
【数１４】
0006466349.tif 000015
【０１１０】
ここで、ｏｆｆｓｅｔは、上記で説明したように、ｂｌＷ／２または
【数１５】
0006466349.tif 000016
【０１１１】
に設定され得る。別の実施形態では、次式である。
【数１６】
0006466349.tif 000017
【０１１２】
ここで、Ｋは、あらかじめ定義された定数値である（たとえば、Ｋの１つの例示的な値は１６である）。この式で、除算
【数１７】
0006466349.tif 000018
【０１１３】
は、ルックアップテーブルと容易に置き換えられ得る。
【０１１４】
[00104]上記で説明した方法は、この「除算演算の回避」セクションの方法にも適用され得る。たとえば、一実施形態では、（ｂｌＷ＞＞Ｎ）のシフト値があらかじめ定義された範囲（０，ｂｌＭａｘ）内になるように、ｂｌＷは、Ｎビットだけ右シフトされる。（２＾Ｋ／（ｂｌＷ＞＞Ｎ））の値は、（０，ｂｌＭａｘ）の範囲内で（ｂｌＷ＞＞Ｎ）のルックアップテーブル中に記憶される。
【０１１５】
[00105]計算は、次のように実行され得る。
【数１８】
0006466349.tif 000019
【０１１６】
別の実施形態では、次式である。
【数１９】
0006466349.tif 000020
【０１１７】
ここで、ｏｆｆｓｅｔは、上述のように、（ｂｌＷ＞＞（Ｎ＋１）または（（ｂｌＷ＞＞（Ｎ＋１）−１）に設定され得る。
【０１１８】
[00106]上式のすべての中の変数ｂｌＷおよびｅｌＷは、上述のように、ｂｌＨおよびｅｌＨと置き換えられ得る。
【０１１９】
レイヤ間位置マッピングの改善
[00107]除算演算を簡略化することは、スケーラビリティアスペクト比による分割が使用される他の要素に適用され得る。たとえば、ベースレイヤピクチャ中でコロケートピクセル位置を特定するためにベースレイヤの幅または高さで除算することも必要になり得る。この場合、上記で説明した、動きベクトルをスケーリングするために使用された同じ技法または方法が、ベースレイヤ中でコロケートピクセルまたはコロケートブロックの位置を計算するために適用され得る。
【０１２０】
[00108]上述のように、ベースレイヤ（ｂｌｘ，ｂｌｙ）中のピクセル（またはブロック）のｘおよびｙ座標は、次のように表され得る。
【数２０】
0006466349.tif 000021
【０１２１】
ここで、ｘおよびｙは、エンハンスメントレイヤ中のピクセルの座標に対応し、ｂｌＷ、ｅｌＷ、ｂｌＨ、およびｅｌＨは、それぞれ、ベースレイヤおよびエンハンスレイヤの幅および高さに対応する。上式は、次のように変更され得る。
【数２１】
0006466349.tif 000022
【数２２】
0006466349.tif 000023
【０１２２】
ここで、ｉＳｃａｌｅＢａｓｅ’は、次のように計算され得る。
【数２３】
0006466349.tif 000024
【０１２３】
[00109]上記のすべての方法は、ｅｌＷ除算演算のコストを低減するために上式に適用され得る。また、上記で説明したオフセットのうちのいずれか１つが、上記のｏｆｆｓｅｔ１を定義するために適用され得る。
【０１２４】
ルックアップテーブル実装形態
[00110]別の実施形態では、除算演算は、ベースレイヤおよびエンハンスメントレイヤの幅および／または高さの範囲低減値に基づいてそれをルックアップテーブルと置き換えることによって除去される。
【０１２５】
[00111]一実施形態では、ベースレイヤおよびエンハンスメントレイヤの幅および／または高さの値は、それらが、それぞれ、（０，ｂｌＭａｘ）および（０，ｅｌＭａｘ）の範囲内に入ることを保証するために低減される。ｂｌＭａｘは、最大可能ベースレイヤ幅および／または高さ値であり、ｅｌＭａｘは、最大可能エンハンスメントレイヤ幅および／または高さ値である。ｂｌＭａｘとｅｌＭａｘの両方は、ルックアップテーブルのサイズに接続するか、またはそれに関係し得る。これらの値が小さくなればなるほど、使用され得るルックアップテーブルがより小さくなる。
【０１２６】
[00112]この手法は、スケーリングの計算の複雑さと精度との間のトレードオフを与える。ルックアップテーブルサイズと精度との間の最適なしきい値は、ｂｌＭａｘ値とｅｌＭａｘ値とを変更することによって発見され得る。
【０１２７】
[00113]所与の数ｂｌＭａｘについて、シフトの数（または２のべき乗の除算器）が、それぞれ、値を（０，ｂｌＭａｘ）および／または（０，ｅｌＭａｘ）の範囲内にするために、ベースレイヤおよび／またはエンハンスメントレイヤの幅または高さのために計算され得る。たとえば、シフト数は、Ｎｂとして表され得、ベースレイヤの対応する除算器は２Nbとなる。同じ技法および方法が、エンハンスメントレイヤにも適用され得る。除算がシフトによって実行され得るので、容易な演算によって２のべき乗が選定され得るが、他の実施形態では、それは、ベースレイヤ幅または高さよりも小さい任意の数であり得る。
【０１２８】
[00114]ベースレイヤおよびエンハンスメントレイヤは、その後、同じスケーラビリティ比率を保つために、ＮｂおよびＮｅだけ右シフトされる。最終入力パラメータ計算は、次のように表され得る。
【数２４】
0006466349.tif 000025
【０１２９】
[00115]ＬｏｏｋＵｐＴａｂｌｅ関数は、丸め精度、レートひずみコストなどに基づいて様々な方法で実装され得る。さらに、すべての上式中の変数ｉＥＷｉｄｔｈおよびｉＢＷｉｄｔｈは、ｉＥＨｅｉｇｈｔおよびｉＢＨｅｉｇｈｔと置き換えられ得る。
【０１３０】
[00116]図４に、図２のビデオエンコーダ２０または図３のビデオデコーダ３０によって実行され得る時間スケーリング関数を使用して空間スケーリングを実行する方法の一実施形態を示す。方法４００は、図２のビデオエンコーダ２０の動き推定ユニット４２、動き補償ユニット４４、イントラ予測ユニット４６、およびレイヤ間予測ユニット６６のうちの任意の１つまたは複数によって実行され得る。別の実施形態では、方法４００は、図３のデコーダの動き補償ユニット７２、イントラ予測ユニット７４、およびレイヤ間予測ユニット７５のうちの任意の１つまたは複数によって実行され得る。
【０１３１】
[00117]方法４００はブロック４１０において開始する。ブロック４２０において、ベースレイヤ（ＢＬ）およびエンハンスメントレイヤ（ＥＬ）の空間寸法値が決定される。たとえば、ベースレイヤピクチャの幅およびエンハンスメントレイヤピクチャの幅がブロック４２０において決定され得る。別の実施形態では、ベースレイヤピクチャの高さおよびエンハンスメントレイヤピクチャの高さがブロック４２０において決定される。別の実施形態では、寸法は、ＢＬとＥＬの両方で同じ寸法である。
【０１３２】
[00118]ブロック４３０において、スケーリングファクタが所定の範囲内に制約されるように、ＢＬおよびＥＬの空間寸法値に基づいてスケーリングファクタが決定される。たとえば、ＢＬ寸法値は、上記で説明したように、（０，ｂｌＭａｘ）の範囲内に入るように制約され得、ＥＬ寸法値は、上記で説明したように、（０，ｅｌＭａｘ）の範囲内に入るように制約され得る。一実施形態では、スケーリングファクタは、ＥＬとＢＬとの寸法値の比率に第１の値を乗算し、その積を第２の値で除算することによって制約される。一実施形態では、除算が右シフト演算によって実行され得るように、第２の値は２のべき乗である。スケーリングファクタは、それがＴＭＶＰスケーリングプロセス提供のＨＥＶＣ仕様などの既存の動きベクトルをスケーリングプロセスまたは関数とともに使用され得るように制約される。一実施形態では、スケーリングファクタは、クリッピング関数を使用して制約される。
【０１３３】
[00119]ブロック４４０において、ＥＬまたはＢＬのいずれかに関連する要素が、時間スケーリング関数とスケーリングファクタとを使用して空間的にスケーリングされる。たとえば、一実施形態では、要素は、ＢＬ中のビデオブロックに関連する動きベクトルに対応する。別の実施形態では、要素は、ＢＬ中のピクセルまたはビデオブロックの空間ロケーション（または、位置）に対応する。方法４００は、ブロック４５０に進み、終了する。
【０１３４】
[00120]上記の開示は特定の実施形態を記載しているが、多くの変形形態が可能である。たとえば、上述されたように、上記の技法は３Ｄビデオコーディングに適用され得る。３Ｄビデオのいくつかの実施形態では、参照レイヤ（たとえば、ベースレイヤ）は、ビデオの第１のビューを表示するのに十分なビデオ情報を含み、エンハンスメントレイヤは、参照レイヤに比べてさらなるビデオ情報を含み、その結果、参照レイヤおよびエンハンスメントレイヤは一緒に、ビデオの第２のビューを表示するのに十分な情報を含む。これらの２つのビューは、立体的な画像を生成するために使用され得る。上記で説明されたように、本開示の態様に従って、エンハンスメントレイヤ内でビデオユニットを符号化または復号するとき、参照レイヤからの動き情報は、さらなる暗黙的な仮説を識別するために使用され得る。これにより、３Ｄビデオのビットストリームについてのより大きいコーディング効率が実現され得る。
【０１３５】
[00121]例によっては、本明細書で説明された技法のうちいずれかの、いくつかの行為またはイベントは、異なるシーケンスで実行され得、追加、マージ、または完全に除外され得る（たとえば、すべての説明した作用またはイベントが、本技法の実施のために必要であるとは限らない）ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して、同時に実行され得る。
【０１３６】
[00122]本明細書で開示される情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
【０１３７】
[00123]本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明する機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【０１３８】
[00124]本明細書で説明した技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明した特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装された場合、本技法は、実行されたとき、上記で説明した方法のうちの１つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気または光学データ記憶媒体など、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および／または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０１３９】
[00125]プログラムコードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価の集積回路もしくはディスクリート論理回路など、１つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明する技法のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明する技法の実装に好適な他の構造もしくは装置のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールもしくはハードウェアモジュール内に提供され得、または複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。
【０１４０】
[00126]本発明の様々な実施形態について説明した。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ビデオ情報をコーディングするための装置であって、
ベースレイヤ、エンハンスメントレイヤ、またはその両方に関連するビデオ情報を記憶するように構成されたメモリユニットと、
前記メモリに動作可能に結合され、
スケーリングファクタが所定の範囲内に制約されるように、前記ベースレイヤおよび前記エンハンスメントレイヤに関連する空間寸法値に基づいて前記スケーリングファクタを決定することと、
前記スケーリングファクタと時間動きベクトルスケーリングプロセスとを使用して前記ベースレイヤまたは前記エンハンスメントレイヤに関連する要素を空間的にスケーリングすることと
を行うように構成されたプロセッサと
を備える装置。
［Ｃ２］  それぞれ、前記ベースレイヤに関連する前記空間寸法が、ベースレイヤ高さまたは幅寸法を備え、前記エンハンスメントレイヤに関連する前記空間寸法が、エンハンスメントレイヤ高さまたは幅寸法を備える、Ｃ１に記載の装置。
［Ｃ３］  前記プロセッサが、前記スケーリングパラメータと所定の値との積に基づいて前記ベースレイヤまたは前記エンハンスメントレイヤに関連する前記要素を空間的にスケーリングするようにさらに構成された、Ｃ１に記載の装置。
［Ｃ４］  前記所定の値が２５６である、Ｃ３に記載の装置。
［Ｃ５］  前記エンハンスメントレイヤに関連する前記空間寸法値が、（ａ）エンハンスメントレイヤ幅寸法値と所定の値との積と、（ｂ）オフセット値との和を備え、ここにおいて、前記ベースレイヤに関連する前記空間寸法が、ベースレイヤ幅寸法を備える、Ｃ１に記載の装置。
［Ｃ６］  前記オフセット値が、前記ベースレイヤ幅寸法値の１／２である、Ｃ５に記載の装置。
［Ｃ７］  前記オフセット値が、前記ベースレイヤ幅寸法の１／２よりも１小さい、Ｃ５に記載の装置。
［Ｃ８］  前記所定の範囲が０から前記ベースレイヤの幅寸法までである、Ｃ１に記載の装置。
［Ｃ９］  前記プロセッサが、前記空間的にスケーリングされた要素を使用して前記ビデオ情報を符号化するようにさらに構成された、Ｃ１に記載の装置。
［Ｃ１０］  前記プロセッサが、前記空間的にスケーリングされた要素を使用して前記ビデオ情報を復号するようにさらに構成された、Ｃ１に記載の装置。
［Ｃ１１］  前記要素が動きベクトルを備える、Ｃ１に記載の装置。
［Ｃ１２］  前記要素が、ピクセルまたはビデオブロックの空間位置を備える、Ｃ１に記載の装置。
［Ｃ１３］  デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話、衛星無線電話、スマートフォン、ビデオ遠隔会議デバイス、およびビデオストリーミングデバイスからなる群から選択されるデバイスをさらに備える、Ｃ１に記載の装置。
［Ｃ１４］  前記プロセッサが、除算演算を実行することなしに前記スケーリングファクタを決定するようにさらに構成された、Ｃ１に記載の装置。
［Ｃ１５］  前記プロセッサが、ルックアップテーブルを使用して前記スケーリングファクタを決定するようにさらに構成された、Ｃ１に記載の装置。
［Ｃ１６］  前記スケーリングファクタが、水平および垂直方向スケーリングファクタのうちの１つまたは複数を備える、Ｃ１に記載の装置。
［Ｃ１７］  スケーラビリティ比率が、水平方向および垂直方向で互いに異なる、Ｃ１６に記載の装置。
［Ｃ１８］  ビデオ情報を復号する方法であって、
ベースレイヤ、エンハンスメントレイヤ、またはその両方に関連するビデオ情報を記憶するように構成されたメモリユニットに結合されたプロセッサを用いて、
スケーリングファクタが所定の範囲内に制約されるように、前記ベースレイヤおよび前記エンハンスメントレイヤに関連する空間寸法値に基づいて前記スケーリングファクタを決定することと、
前記スケーリングファクタと時間動きベクトルスケーリングプロセスとを使用して前記ベースレイヤまたは前記エンハンスメントレイヤに関連する要素を空間的にスケーリングすることと、
前記空間的にスケーリングされた要素を使用して前記ビデオ情報を復号することと
を備える方法。
［Ｃ１９］  それぞれ、前記ベースレイヤに関連する前記空間寸法が、ベースレイヤ高さまたは幅寸法を備え、前記エンハンスメントレイヤに関連する前記空間寸法が、エンハンスメントレイヤ高さまたは幅寸法を備える、Ｃ１８に記載の方法。
［Ｃ２０］  前記ベースレイヤまたは前記エンハンスメントレイヤに関連する前記要素を空間的にスケーリングすることが、前記スケーリングパラメータと所定の値との積を決定することを備える、Ｃ１８に記載の方法。
［Ｃ２１］  前記所定の値が２５６である、Ｃ２０に記載の方法。
［Ｃ２２］  （ａ）エンハンスメントレイヤ幅寸法値と所定の値との積と、（ｂ）オフセット値との和として、前記エンハンスメントレイヤに関連する前記空間寸法値を決定することと、ベースレイヤ幅寸法として、前記ベースレイヤに関連する前記空間寸法を決定することとをさらに備える、Ｃ１８に記載の方法。
［Ｃ２３］  前記オフセット値が、前記ベースレイヤ幅寸法値の１／２である、Ｃ２２に記載の方法。
［Ｃ２４］  前記オフセット値が、前記ベースレイヤ幅寸法の１／２よりも１小さい、Ｃ２２に記載の方法。
［Ｃ２５］  前記所定の範囲が０から前記ベースレイヤの幅寸法までである、Ｃ１８に記載の方法。
［Ｃ２６］  前記要素が動きベクトルを備える、Ｃ１８に記載の方法。
［Ｃ２７］  前記要素が、ピクセルまたはビデオブロックの空間位置を備える、Ｃ１８に記載の方法。
［Ｃ２８］  前記スケーリングファクタを決定することが、除算演算を実行することなしに前記スケーリングファクタを決定することを備える、Ｃ１８に記載の方法。
［Ｃ２９］  前記スケーリングファクタを決定することが、ルックアップテーブルを使用して前記スケーリングファクタを決定することを備える、Ｃ１８に記載の方法。
［Ｃ３０］  前記スケーリングファクタが、水平および垂直方向スケーリングファクタのうちの１つまたは複数を備える、Ｃ１８に記載の方法。
［Ｃ３１］  スケーラビリティ比率が、水平方向および垂直方向で互いに異なる、Ｃ３０に記載の方法。
［Ｃ３２］  ビデオ情報を符号化する方法であって、
ベースレイヤ、エンハンスメントレイヤ、またはその両方に関連するビデオ情報を記憶するように構成されたメモリユニットに結合されたプロセッサを用いて、
スケーリングファクタが所定の範囲内に制約されるように、前記ベースレイヤおよび前記エンハンスメントレイヤに関連する空間寸法値に基づいて前記スケーリングファクタを決定することと、
前記スケーリングファクタと時間動きベクトルスケーリングプロセスとを使用して前記ベースレイヤまたは前記エンハンスメントレイヤに関連する要素を空間的にスケーリングすることと、
前記空間的にスケーリングされた要素を使用して前記ビデオ情報を符号化することと
を備える方法。
［Ｃ３３］  それぞれ、前記ベースレイヤに関連する前記空間寸法が、ベースレイヤ高さまたは幅寸法を備え、前記エンハンスメントレイヤに関連する前記空間寸法が、エンハンスメントレイヤ高さまたは幅寸法を備える、Ｃ３２に記載の方法。
［Ｃ３４］  前記ベースレイヤまたは前記エンハンスメントレイヤに関連する前記要素を空間的にスケーリングすることが、前記スケーリングパラメータと所定の値との積を決定することを備える、Ｃ３２に記載の方法。
［Ｃ３５］  前記所定の値が２５６である、Ｃ３４に記載の方法。
［Ｃ３６］  （ａ）エンハンスメントレイヤ幅寸法値と所定の値との積と、（ｂ）オフセット値との和として、前記エンハンスメントレイヤに関連する前記空間寸法値を決定することと、ベースレイヤ幅寸法として、前記ベースレイヤに関連する前記空間寸法を決定することとをさらに備える、Ｃ３２に記載の方法。
［Ｃ３７］  前記オフセット値が、前記ベースレイヤ幅寸法値の１／２である、Ｃ３６に記載の方法。
［Ｃ３８］  前記オフセット値が、前記ベースレイヤ幅寸法の１／２よりも１小さい、Ｃ３６に記載の方法。
［Ｃ３９］  前記所定の範囲が０から前記ベースレイヤの幅寸法までである、Ｃ３２に記載の方法。
［Ｃ４０］  前記要素が動きベクトルを備える、Ｃ３２に記載の方法。
［Ｃ４１］  前記要素が、ピクセルまたはビデオブロックの空間位置を備える、Ｃ３２に記載の方法。
［Ｃ４２］  前記スケーリングファクタを決定することが、除算演算を実行することなしに前記スケーリングファクタを決定することを備える、Ｃ３２に記載の方法。
［Ｃ４３］  前記スケーリングファクタを決定することが、ルックアップテーブルを使用して前記スケーリングファクタを決定することを備える、Ｃ３２に記載の方法。
［Ｃ４４］  前記スケーリングファクタが、水平および垂直方向スケーリングファクタのうちの１つまたは複数を備える、Ｃ３２に記載の方法。
［Ｃ４５］  スケーラビリティ比率が、水平方向および垂直方向で互いに異なる、Ｃ４４に記載の方法。
［Ｃ４６］  実行されたとき、装置に、
スケーリングファクタが所定の範囲内に制約されるように、ベースレイヤおよびエンハンスメントレイヤに関連する空間寸法値に基づいて前記スケーリングファクタを決定することと、
前記スケーリングファクタと時間動きベクトルスケーリングプロセスとを使用して前記ベースレイヤまたは前記エンハンスメントレイヤに関連する要素を空間的にスケーリングすることと、
前記空間的にスケーリングされた要素を使用して前記ビデオ情報をコーディングすることと
を行わせる命令を備える非一時的コンピュータ可読媒体。
［Ｃ４７］  前記命令が、前記装置に、前記スケーリングパラメータと所定の値との積を決定することによって、前記ベースレイヤまたは前記エンハンスメントレイヤに関連する前記要素を空間的にスケーリングすることを行わせる、Ｃ４６に記載の媒体。
［Ｃ４８］  前記命令が、前記装置に、除算演算を実行することなしに前記スケーリングファクタを決定することを行わせる、Ｃ４６に記載の媒体。
［Ｃ４９］  ビデオ情報をコーディングするように構成された装置であって、
スケーリングファクタが所定の範囲内に制約されるように、ベースレイヤおよびエンハンスメントレイヤに関連する空間寸法値に基づいて前記スケーリングファクタを決定するための手段と、
前記スケーリングファクタと時間動きベクトルスケーリングプロセスとを使用して前記ベースレイヤまたは前記エンハンスメントレイヤに関連する要素を空間的にスケーリングするための手段と、
前記空間的にスケーリングされた要素を使用して前記ビデオ情報をコーディングするための手段と
を備える装置。
［Ｃ５０］  前記ベースレイヤまたは前記エンハンスメントレイヤに関連する前記要素を空間的にスケーリングするための前記手段が、前記スケーリングパラメータと所定の値との積を決定するための手段を備える、Ｃ４９に記載の装置。
［Ｃ５１］  前記スケーリングファクタを決定するための前記手段が、除算演算を実行することなしに前記スケーリングファクタを決定するための手段を備える、Ｃ４９に記載の装置。
【図１】
0006466349.tif 000026
【図２】
0006466349.tif 000027
【図３】
0006466349.tif 000028
【図４】
0006466349.tif 000029