(57)【要約】  ビデオ情報をコード化（例えば、符号化又は復号）するように構成された装置は、メモリユニットと、メモリユニットと通信しているプロセッサとを含む。メモリユニットは、ベースレイヤと拡張レイヤとに関連付けられたビデオ情報を記憶するように構成される。プロセッサは、ベースレイヤと拡張レイヤとが異なる解像度を有するとき、アップサンプリングフィルタを使用することによってベースレイヤ参照ブロックをアップサンプリングすることと、アップサンプリングされたベースレイヤ参照ブロックをフィルタ処理することによって動き補償補間を実行することと、フィルタ処理されたアップサンプリングされたベースレイヤ参照ブロックに基づいてベースレイヤ残差情報を決定することと、ベースレイヤ残差情報に重み付け係数を適用することによって、重み付けされたベースレイヤ残差情報を決定することと、重み付けされたベースレイヤ残差情報に基づいて拡張レイヤブロックを決定することとを行うように構成される。プロセッサはビデオ情報を符号化又は復号し得る。
2016506683.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ情報をコード化するように構成された装置であって、前記装置が、
ベースレイヤと拡張レイヤとに関連付けられたビデオ情報を記憶するように構成されたメモリユニットと、
前記メモリユニットと通信するプロセッサと
を備え、前記プロセッサは、
拡張レイヤ動きベクトルを使用してベースレイヤ参照ブロックを決定することと、
前記ベースレイヤと前記拡張レイヤとが異なる解像度を有するとき、アップサンプリングフィルタを使用することによって前記ベースレイヤ参照ブロックをアップサンプリングすることと、
前記アップサンプリングされたベースレイヤ参照ブロックをフィルタ処理することによって動き補償補間を実行することと、
フィルタ処理された前記アップサンプリングされたベースレイヤ参照ブロックに基づいてベースレイヤ残差情報を決定することと、
前記ベースレイヤ残差情報に重み付け係数を適用することによって、重み付けされたベースレイヤ残差情報を決定することと、
前記重み付けされたベースレイヤ残差情報に基づいて拡張レイヤブロックを決定することと
を行うように構成され、ここにおいて、前記アップサンプリングフィルタが６つ又はそれよりも少ないタップを有する、装置。
【請求項２】
前記プロセッサが、４タップアップサンプリングフィルタを使用して前記ベースレイヤ参照ブロックをアップサンプリングし、双一次補間フィルタを使用して前記動き補償補間を実行するように構成された、請求項１に記載の装置。
【請求項３】
前記プロセッサが、前記ベースレイヤ参照ブロックをアップサンプリングし、単一の５タップ合成アップサンプリング及び動き補償補間フィルタを適用することによって前記動き補償補間を実行するように構成された、請求項１に記載の装置。
【請求項４】
前記合成アップサンプリング及び動き補償補間フィルタが前記拡張レイヤブロックのルーマ成分とクロマ成分の両方について１６個の位相を有する、請求項３に記載の装置。
【請求項５】
前記拡張レイヤ動きベクトルが画素の１／１６の精度にスケーリングされる、請求項４に記載の装置。
【請求項６】
前記プロセッサが、平滑化、アップサンプリング、又は他のレイヤ間フィルタ処理を実行するために、３タップ平滑化フィルタと３タップアップサンプリングフィルタと３タップレイヤ間フィルタとのうちの少なくとも１つを使用するように更に構成された、請求項１に記載の装置。
【請求項７】
前記プロセッサは、
ルーマ専用モードが有効にされると決定したことに応答して、前記重み付けされたベースレイヤ残差情報に基づいて前記拡張レイヤブロックの前記ルーマ成分のみを決定し、通常時間予測を使用することによって前記拡張レイヤブロックの前記クロマ成分を決定することと、
クロマ専用モードが有効にされると決定したことに応答して、前記重み付けされたベースレイヤ残差情報に基づいて前記拡張レイヤブロックの前記クロマ成分のみを決定し、通常時間予測を使用することによって前記拡張レイヤブロックの前記ルーマ成分を決定することと
を行うように構成された、請求項１に記載の装置。
【請求項８】
ビデオ情報をコード化する方法であって、前記方法は、
ベースレイヤと拡張レイヤとに関連付けられたビデオ情報を記憶することと、
拡張レイヤ動きベクトルを使用してベースレイヤ参照ブロックを決定することと、
前記ベースレイヤと前記拡張レイヤとが異なる解像度を有するとき、６つ又はそれよりも少ないタップを有するアップサンプリングフィルタを使用することによって前記ベースレイヤ参照ブロックをアップサンプリングすることと、
前記アップサンプリングされたベースレイヤ参照ブロックをフィルタ処理することによって動き補償補間を実行することと、
前記フィルタ処理されたアップサンプリングされたベースレイヤ参照ブロックに基づいてベースレイヤ残差情報を決定することと、
前記ベースレイヤ残差情報に重み付け係数を適用することによって、重み付けされたベースレイヤ残差情報を決定することと、
前記重み付けされたベースレイヤ残差情報に基づいて拡張レイヤブロックを決定することと
を備える、方法。
【請求項９】
前記アップサンプリングフィルタが４タップアップサンプリングフィルタであり、前記動き補償補間が、双一次補間フィルタを使用することによって実行される、請求項８に記載の方法。
【請求項１０】
前記アップサンプリングすることと前記動き補償補間とが、単一の５タップ合成アップサンプリング及び動き補償補間フィルタを適用することによって一緒に実行される、請求項８に記載の方法。
【請求項１１】
前記合成アップサンプリング及び動き補償補間フィルタが前記拡張レイヤブロックのルーマ成分とクロマ成分の両方について１６個の位相を有する、請求項１０に記載の方法。
【請求項１２】
前記拡張レイヤ動きベクトルが画素の１／１６の精度にスケーリングされる、請求項１１に記載の方法。
【請求項１３】
平滑化、アップサンプリング、又は他のレイヤ間フィルタ処理を実行するために、３タップ平滑化フィルタと３タップアップサンプリングフィルタと３タップレイヤ間フィルタとのうちの少なくとも１つを使用することを更に備える、請求項８に記載の方法。
【請求項１４】
前記拡張レイヤブロックを決定する前記ステップは、
ルーマ専用モードが有効にされると決定したことに応答して、前記重み付けされたベースレイヤ残差情報に基づいて前記拡張レイヤブロックの前記ルーマ成分のみを決定し、通常時間予測を使用することによって前記拡張レイヤブロックの前記クロマ成分を決定することと、
クロマ専用モードが有効にされると決定したことに応答して、前記重み付けされたベースレイヤ残差情報に基づいて前記拡張レイヤブロックの前記クロマ成分のみを決定し、通常時間予測を使用することによって前記拡張レイヤブロックの前記ルーマ成分を決定することと
を備える、請求項８に記載の方法。
【請求項１５】
ビデオ情報をコード化するように構成された装置であって、前記装置が、
ベースレイヤと拡張レイヤとに関連付けられたビデオ情報を記憶するように構成されたメモリユニットと、
前記メモリユニットと通信しているプロセッサと
を備え、前記プロセッサは、
拡張レイヤブロックが、閾値サイズより大きいか又はそれに等しいサイズを有するかどうかを決定すること、及び
前記拡張レイヤブロックが、前記閾値サイズよりも大きいか又はそれに等しいサイズを有すると決定したことに応答して、少なくとも、
前記ベースレイヤと前記拡張レイヤとが異なる解像度を有するとき、アップサンプリングフィルタを使用することによってベースレイヤ参照ブロックをアップサンプリングすることと、
前記アップサンプリングされたベースレイヤ参照ブロックをフィルタ処理することによって動き補償補間を実行することと、
前記フィルタ処理されたアップサンプリングされたベースレイヤ参照ブロックに基づいてベースレイヤ残差情報を決定することと、
前記ベースレイヤ残差情報に重み付け係数を適用することによって、重み付けされたベースレイヤ残差情報を決定することと、
前記重み付けされたベースレイヤ残差情報に基づいて前記拡張レイヤブロックを決定することと
によって、一般化残差予測（ＧＲＰ）を実行すること
を行うように構成された、装置。
【請求項１６】
前記プロセッサは、前記拡張レイヤブロックが、前記閾値サイズよりも大きくないか又はそれに等しいサイズを有すると決定したことに応答して、前記拡張レイヤブロックが単方向予測ブロックである場合のみ、前記拡張レイヤブロックについてＧＲＰを実行する、請求項１５に記載の装置。
【請求項１７】
前記プロセッサによって実行される前記ＧＲＰがイントラ予測を含み、前記拡張レイヤブロックに隣接し、前記イントラ予測での使用するに利用不可能である近隣参照サンプルは、前記拡張レイヤのビット深度と、前記イントラ予測が差分領域中で実行されるかどうかとに基づいて置換される、請求項１５に記載の装置。
【請求項１８】
前記重み付け係数が、前記拡張レイヤブロックに空間的に近隣又は隣接するブロック、前記拡張レイヤブロックがそこに位置する現在ピクチャに時間的に隣接するピクチャ中のブロック、又は前記拡張レイヤブロックと同一位置配置されたベースレイヤブロックから導出される、請求項１５に記載の装置。
【請求項１９】
前記重み付け係数がデフォルト値に設定され、前記拡張レイヤブロックについて重み付け情報が信号伝達されない、請求項１５に記載の装置。
【請求項２０】
前記プロセッサが、ＧＲＰ重み付け情報を含むレイヤ間参照ピクチャと、前記ベースレイヤのアップサンプリングされたテクスチャピクチャとを参照ピクチャリストに追加するように構成された、請求項１５に記載の装置。
【請求項２１】
前記プロセッサが、ベースレイヤ参照ピクチャと同一位置配置された拡張レイヤ参照ピクチャをフィルタ処理することによって、前記ベースレイヤ参照ピクチャにアクセスする代わりにアクセスされ得る模擬ベースレイヤ参照ピクチャを決定することと、前記模擬ベースレイヤ参照ピクチャに基づいて前記拡張レイヤブロックを決定することとを行うように構成された、請求項１５に記載の装置。
【請求項２２】
前記プロセッサが、固定４タップ低域フィルタと固定３タップ低域フィルタと適応フィルタとのうちの少なくとも１つを使用して前記同一位置配置された拡張レイヤ参照ピクチャをフィルタ処理するように構成された、請求項２１に記載の装置。
【請求項２３】
ビデオ情報をコード化する方法であって、装置は、
ベースレイヤと拡張レイヤとに関連付けられたビデオ情報を記憶すること、
拡張レイヤブロックが、閾値サイズよりも大きいか又はそれに等しいサイズを有するかどうかを決定すること、及び
前記拡張レイヤブロックが、前記閾値サイズよりも大きいか又はそれに等しいサイズを有すると決定したことに応答して、少なくとも、
前記ベースレイヤと前記拡張レイヤとが異なる解像度を有するとき、アップサンプリングフィルタを使用することによってベースレイヤ参照ブロックをアップサンプリングすることと、
前記アップサンプリングされたベースレイヤ参照ブロックをフィルタ処理することによって動き補償補間を実行することと、
前記フィルタ処理されたアップサンプリングされたベースレイヤ参照ブロックに基づいてベースレイヤ残差情報を決定することと、
前記ベースレイヤ残差情報に重み付け係数を適用することによって、重み付けされたベースレイヤ残差情報を決定することと、
前記重み付けされたベースレイヤ残差情報に基づいて前記拡張レイヤブロックを決定することと
によって、一般化残差予測（ＧＲＰ）を実行すること
を備える、方法。
【請求項２４】
前記拡張レイヤブロックが、前記閾値サイズよりも大きくないか又はそれに等しいサイズを有すると決定したことに応答して、前記拡張レイヤブロックが単方向予測ブロックである場合のみ、前記拡張レイヤブロックについてＧＲＰを実行することを更に備える、請求項２３に記載の方法。
【請求項２５】
実行される前記ＧＲＰがイントラ予測を含み、前記拡張レイヤブロックに隣接し、前記イントラ予測での使用に利用不可能である近隣参照サンプルは、前記拡張レイヤのビット深度と、前記イントラ予測が異なる領域中で実行されるかどうかとに基づいて置換される、請求項２３に記載の方法。
【請求項２６】
前記重み付け係数が、前記拡張レイヤブロックに空間的に近隣又は隣接するブロック、前記拡張レイヤブロックがそこに位置する現在ピクチャに時間的に隣接するピクチャ中のブロック、又は前記拡張レイヤブロックと同一位置配置されたベースレイヤブロックから導出される、請求項２３に記載の方法。
【請求項２７】
前記重み付け係数がデフォルト値に設定され、前記拡張レイヤブロックについて重み付け情報が信号伝達されない、請求項２３に記載の方法。
【請求項２８】
ＧＲＰ重み付け情報を含むレイヤ間参照ピクチャと、前記ベースレイヤのアップサンプリングされたテクスチャピクチャとを参照ピクチャリストに追加することを更に備える、請求項２３に記載の方法。
【請求項２９】
ベースレイヤ参照ピクチャと同一位置配置された同一位置配置拡張レイヤ参照ピクチャをフィルタ処理することによって、前記ベースレイヤ参照ピクチャの代わりにアクセスされ得る模擬ベースレイヤ参照ピクチャを決定することと、
前記模擬ベースレイヤ参照ピクチャに基づいて前記拡張レイヤブロックを決定することと
を更に備える、請求項２３に記載の方法。
【請求項３０】
前記同一位置配置拡張レイヤ参照ピクチャが、固定４タップ低域フィルタと固定３タップ低域フィルタと適応フィルタとのうちの少なくとも１つを使用してフィルタ処理される、請求項２９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、ビデオコード化及び圧縮の分野に関し、詳細には、スケーラブルビデオコード化（ＳＶＣ：scalable video coding）又はマルチビュービデオコード化（ＭＶＣ：multiview video coding、３ＤＶ）に関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコード化（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコード化（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオ機器は、そのようなビデオコード化技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び／又は記憶し得る。
【０００３】
[0003]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的（イントラピクチャ）予測及び／又は時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコード化の場合、ビデオスライス（例えば、ビデオフレーム、ビデオフレームの一部分など）が、ツリーブロック、コード化単位（ＣＵ：coding unit）及び／又はコード化ノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（Ｐ又はＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、又は他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００４】
[0004]空間的予測又は時間的予測は、コード化されるべきブロックの予測ブロックを生じる。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピー符号化が適用され得る。
【発明の概要】
【０００５】
[0005]スケーラブルビデオコード化（ＳＶＣ）は、参照レイヤ（ＲＬ：reference layer）と呼ばれることがあるベースレイヤ（ＢＬ：base layer）と、１つ又は複数のスケーラブル拡張レイヤ（ＥＬ：enhancement layer）とが使用されるビデオコード化を指す。ＳＶＣの場合、ベースレイヤは、ベースレベルの品質でビデオデータを搬送することができる。１つ又は複数の拡張レイヤは、より高い空間レベル、時間レベル、及び／又は信号対雑音（ＳＮＲ：signal-to-noise）レベルをサポートするために追加のビデオデータを搬送することができる。拡張レイヤは、前に符号化されたレイヤに対して定義され得る。例えば、最下位レイヤはＢＬとして働き得、最上位レイヤはＥＬとして働き得る。中間レイヤは、ＥＬ又はＲＬのいずれか、又はその両方として働き得る。例えば、中間にあるレイヤは、ベースレイヤ又は介在拡張レイヤ（intervening enhancement layer）など、それの下のレイヤのためのＥＬであり、同時に、それの上の１つ又は複数の拡張レイヤのためのＲＬとして働き得る。同様に、ＨＥＶＣ規格のマルチビュー又は３Ｄ拡張では、複数のビューがあり得、１つのビューの情報は、別のビューの情報（例えば、動き推定、動きベクトル予測及び／又は他の冗長）をコード化（例えば、符号化又は復号）するために利用され得る。
【０００６】
[0006]ＳＶＣでは、拡張レイヤ又は別のビュー中の現在ブロックが、ベースレイヤの残差情報を使用して予測され得る。例えば、ベースレイヤ中の同一位置配置されたブロック(co-located block)がインター予測される場合、それの残差は、拡張レイヤ中の現在ブロックを予測するためにベースレイヤと拡張レイヤとの空間解像度比に従ってアップサンプリングされ得る。そのようなレイヤ間残差予測（inter-layer residual prediction）は、しばしば、ベースレイヤ参照レイヤと再構成されたベースレイヤとをアップサンプリングするためのアップサンプリングフィルタと、動きベクトルがサブ画素位置を指すときに参照サンプルを補間するための動き補償（ＭＣ：motion compensation）補間フィルタとを伴う。
【０００７】
[0007]しかしながら、幾つかの状況では、拡張レイヤブロックが小さすぎる場合、又はアップサンプリングフィルタ及び／又はＭＣ補間フィルタが複雑すぎる場合、アップサンプリングとＭＣ補間とに関連付けられたメモリアクセス要件はコード化複雑さを著しく増加させ得る。従って、そのような状況では、コード化複雑さは、残差予測を制限すること、及び／又は本明細書中で使用するフィルタを簡略化することによって低減され得る。そうすることによって、本開示で説明する技法は、ビデオ情報をコード化する方法に関連付けられた計算複雑さを低減し得る。
【０００８】
[0008]本開示のシステム、方法及び機器は、それぞれ幾つかの発明的態様を有し、それらのうちの単一の態様が、本明細書で開示する望ましい属性を単独で担当するとは限らない。
【０００９】
[0009]一実施形態では、ビデオ情報をコード化（例えば、符号化又は復号）するように構成された装置は、メモリユニットと、メモリユニットと通信しているプロセッサとを含む。メモリユニットは、ベースレイヤと拡張レイヤとに関連付けられたビデオ情報を記憶するように構成される。プロセッサは、ベースレイヤと拡張レイヤとが異なる解像度を有するとき、アップサンプリングフィルタを使用することによってベースレイヤ参照ブロックをアップサンプリングすることと、アップサンプリングされたベースレイヤ参照ブロックをフィルタ処理することによって動き補償補間を実行することと、フィルタ処理されたアップサンプリングされたベースレイヤ参照ブロックに基づいてベースレイヤ残差情報を決定することと、ベースレイヤ残差情報に重み付け係数（weighting factor）を適用することによって、重み付けされたベースレイヤ残差情報を決定することと、重み付けされたベースレイヤ残差情報に基づいて拡張レイヤブロックを決定することとを行うように構成される。プロセッサによって使用されるアップサンプリングフィルタは、６つ又はそれよりも少ないタップ（例えば、５タップ、４タップ、３タップなど）を有し得る。
【００１０】
[0010]一実施形態では、プロセッサは、４タップアップサンプリングフィルタを使用してベースレイヤ参照ブロックをアップサンプリングし、双一次補間フィルタ（bilinear interpolation filter）を使用することによって動き補償補間を実行するように構成される。一実施形態では、プロセッサは、ベースレイヤ参照ブロックをアップサンプリングし、単一の５タップ合成アップサンプリング及び動き補償補間フィルタを適用することによって動き補償補間を実行するように構成される。合成アップサンプリング及び動き補償補間フィルタは、拡張レイヤブロックのルーマ成分とクロマ成分の両方について１６個の位相を有し得、拡張レイヤ動きベクトルが画素の１／１６の精度にスケーリングされる。一実施形態では、プロセッサは、（例えば、平滑化、アップサンプリング、又は他のレイヤ間フィルタ処理を実行するために）３タップ平滑化フィルタ、３タップアップサンプリングフィルタ、及び／又は３タップレイヤ間フィルタを使用するように構成される。一実施形態では、プロセッサは、ルーマ専用モード（luma-only mode）が有効にされると決定したことに応答して、重み付けされたベースレイヤ残差情報に基づいて拡張レイヤブロックのルーマ成分のみを決定し、通常時間予測を使用することによって拡張レイヤブロックのクロマ成分を決定するように構成される。別の実施形態では、プロセッサは、クロマ専用モード（chroma-only mode）が有効にされると決定したことに応答して、重み付けされたベースレイヤ残差情報に基づいて拡張レイヤブロックのクロマ成分のみを決定し、通常時間予測を使用することによって拡張レイヤブロックのルーマ成分を決定するように構成される。
【００１１】
[0011]一実施形態では、ビデオ情報をコード化（例えば、符号化又は復号）する方法は、ベースレイヤと拡張レイヤとに関連付けられたビデオ情報を記憶することと、拡張レイヤ動きベクトルを使用してベースレイヤ参照ブロックを決定することと、ベースレイヤと拡張レイヤとが異なる解像度を有するとき、６つ又はそれよりも少ないタップを有するアップサンプリングフィルタを使用することによってベースレイヤ参照ブロックをアップサンプリングすることと、アップサンプリングされたベースレイヤ参照ブロックをフィルタ処理することによって動き補償補間を実行することと、フィルタ処理されたアップサンプリングされたベースレイヤ参照ブロックに基づいてベースレイヤ残差情報を決定することと、ベースレイヤ残差情報に重み付け係数を適用することによって、重み付けされたベースレイヤ残差情報を決定することと、重み付けされたベースレイヤ残差情報に基づいて拡張レイヤブロックを決定することとを備える。
【００１２】
[0012]一実施形態では、ビデオ情報をコード化（例えば、符号化又は復号）するように構成された装置は、メモリユニットと、メモリユニットと通信しているプロセッサとを含む。メモリユニットは、ベースレイヤと拡張レイヤとに関連付けられたビデオ情報を記憶するように構成される。プロセッサは、拡張レイヤブロックが、閾値サイズよりも大きいか又はそれに等しいサイズを有するかどうかを決定するように構成される。拡張レイヤブロックが、閾値サイズよりも大きいか又はそれに等しいサイズを有すると決定したことに応答して、プロセッサは、ベースレイヤと拡張レイヤとが異なる解像度を有するとき、アップサンプリングフィルタを使用することによってベースレイヤ参照ブロックをアップサンプリングすることと、アップサンプリングされたベースレイヤ参照ブロックをフィルタ処理することによって動き補償補間を実行することと、フィルタ処理されたアップサンプリングされたベースレイヤ参照ブロックに基づいてベースレイヤ残差情報を決定することと、ベースレイヤ残差情報に重み付け係数を適用することによって、重み付けされたベースレイヤ残差情報を決定することと、重み付けされたベースレイヤ残差情報に基づいて拡張レイヤブロックを決定することとを行うように更に構成される。
【００１３】
[0013]一実施形態では、プロセッサは、拡張レイヤブロックが、閾値サイズよりも大きくないか又はそれに等しいサイズを有すると決定したことに応答して、拡張レイヤブロックが単方向予測ブロック（uni-predicted block）である場合のみ、拡張レイヤブロックについて一般化残差予測（ＧＲＰ：Generalized Residual Prediction）を実行する。以下でより詳細に更に説明するように、ＧＲＰは、拡張レイヤブロックを予測するための様々なコード化技法（例えば、インター予測、レイヤ間残差予測、レイヤ間イントラ予測など）を採用するために、重み付け係数を使用する。別の実施形態では、プロセッサによって実行されるＧＲＰは、イントラＧＲＰ（例えば、イントラ予測、差分領域中で実行されるイントラ予測など）であり、拡張レイヤブロックに隣接し、イントラ予測での使用に利用不可能である近隣参照サンプルは、拡張レイヤのビット深度と、イントラ予測が差分領域中で実行されるかどうかとに基づいて置換されるイントラＧＲＰについては、以下でより詳細に更に説明する。また別の実施形態では、重み付け係数は、拡張レイヤブロックに空間的に近隣又は隣接するブロック、拡張レイヤブロックがそこに位置する現在ピクチャに時間的に隣接するピクチャ中のブロック、又は拡張レイヤブロックと同一位置配置されたベースレイヤブロックから導出される。代替的に、重み付け係数はデフォルト値に設定され得、拡張レイヤブロックについて重み付け情報が信号伝達されないことがある。
【００１４】
[0014]一実施形態では、プロセッサは、ＧＲＰ重み付け情報を含むレイヤ間参照ピクチャと、ベースレイヤのアップサンプリングされたテクスチャピクチャとを参照ピクチャリストに追加するように構成される。別の実施形態では、プロセッサは、ベースレイヤ参照ピクチャと同一位置配置された拡張レイヤ参照ピクチャをフィルタ処理することによって、ベースレイヤ参照ピクチャにアクセスする代わりにアクセスされ得る模擬（mimicked）ベースレイヤ参照ピクチャを決定することと、模擬ベースレイヤ参照ピクチャに基づいて拡張レイヤブロックを決定することとを行うように構成される。また別の実施形態では、プロセッサは、固定４タップ低域フィルタ、固定３タップ低域フィルタ、及び／又は適応フィルタを使用して、同一位置配置された拡張レイヤ参照ピクチャをフィルタ処理するように構成される。
【００１５】
[0015]一実施形態では、ビデオ情報をコード化（例えば、符号化又は復号）する方法は、ベースレイヤと拡張レイヤとに関連付けられたビデオ情報を記憶することと、拡張レイヤブロックが、閾値サイズよりも大きいか又はそれに等しいサイズを有するかどうかを決定することと、拡張レイヤブロックが、閾値サイズよりも大きいか又はそれに等しいサイズを有すると決定したことに応答してＧＲＰを実行することとを備える。ＧＲＰは、少なくとも、ベースレイヤと拡張レイヤとが異なる解像度を有するとき、アップサンプリングフィルタを使用することによってベースレイヤ参照ブロックをアップサンプリングすることと、アップサンプリングされたベースレイヤ参照ブロックをフィルタ処理することによって動き補償補間を実行することと、フィルタ処理されたアップサンプリングされたベースレイヤ参照ブロックに基づいてベースレイヤ残差情報を決定することと、ベースレイヤ残差情報に重み付け係数を適用することによって、重み付けされたベースレイヤ残差情報を決定することと、重み付けされたベースレイヤ残差情報に基づいて拡張レイヤブロックを決定することとによって実行され得る。
【図面の簡単な説明】
【００１６】
【図１】[0016]本開示で説明する態様による技法を利用し得るビデオ符号化及び復号システムの一例を示すブロック図。
【図２】[0017]本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】[0018]本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】[0019]異なる次元におけるＳＶＣスケーラビリティを示す概念図。
【図５】[0020]ＳＶＣビットストリームの例示的な構造を示す概念図。
【図６】[0021]ＳＶＣビットストリーム中のアクセス単位を示す概念図。
【図７Ａ】[0022]イントラ予測の様々なモード及び方向の向き（directional orientations）を示す概念図。
【図７Ｂ】イントラ予測の様々なモード及び方向の向きを示す概念図。
【図７Ｃ】[0023]残差予測を使用してコード化されたビデオデータの例示的なブロックを示す概念図。
【図８】[0024]本開示の一実施形態による、ビデオ情報をコード化する方法を示すフローチャート。
【図９】[0025]本開示の一実施形態による、ビデオ情報をコード化する方法を示すフローチャート。
【図１０】[0026]本開示の一実施形態による、ビデオ情報をコード化する方法を示すフローチャート。
【図１１】[0027]本開示の一実施形態による、ビデオ情報をコード化する方法を示すフローチャート。
【図１２】[0028]本開示の一実施形態による、ビデオ情報をコード化する方法を示すフローチャート。
【図１３】[0029]本開示の一実施形態による、ビデオ情報をコード化する方法を示すフローチャート。
【図１４】[0030]本開示の一実施形態による、ビデオ情報をコード化する方法を示すフローチャート。
【発明を実施するための形態】
【００１７】
[0031]本明細書で説明する幾つかの実施形態は、ＨＥＶＣ（高効率ビデオコード化）など、アドバンストビデオコーデックのコンテキストにおけるスケーラブルビデオコード化のためのレイヤ間予測に関する。より詳細には、本開示は、ＨＥＶＣのスケーラブルビデオコード化（ＳＶＣ）拡張におけるレイヤ間予測の性能の改善のためのシステム及び方法に関する。
【００１８】
[0032]以下の説明では、幾つかの実施形態に関係するＨ．２６４／ＡＶＣ技法について説明し、ＨＥＶＣ規格及び関係する技法についても説明する。幾つかの実施形態について、ＨＥＶＣ及び／又はＨ．２６４規格のコンテキストにおいて本明細書で説明するが、本明細書で開示するシステム及び方法が任意の好適なビデオコード化規格に適用可能であり得ることを、当業者は諒解されよう。例えば、本明細書で開示する実施形態は、以下の規格、即ち、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２又はＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、及びそれのスケーラブルビデオコード化（ＳＶＣ）拡張とマルチビュービデオコード化（ＭＶＣ）拡張とを含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４のうちの１つ又は複数に適用可能であり得る。
【００１９】
[0033]単に説明の目的で、本明細書で開示する幾つかの実施形態について、ただ２つのレイヤ（例えば、ベースレイヤなどの下位レベルレイヤ、及び拡張レイヤなどの上位レベルレイヤ）を含む例を用いて説明する。そのような例は、複数のベースレイヤ及び／又は拡張レイヤを含む構成に適用可能であり得ることを理解されたい。更に、説明を簡単にするために、以下の開示は、幾つかの実施形態に関して「フレーム」又は「ブロック」という用語を含む。但し、これらの用語は限定的なものではない。例えば、以下で説明する技法は、ブロック（例えば、ＣＵ、ＰＵ、ＴＵ、マクロブロックなど）、スライス、フレームなど、任意の好適なビデオ単位とともに使用され得る。
【００２０】
[0034]ＨＥＶＣは、概して、多くの点で、前のビデオコード化規格のフレームワークに従う。ＨＥＶＣにおける予測単位は、幾つかの前のビデオコード化規格における単位（例えば、マクロブロック）とは異なる。事実上、マクロブロックの概念は、幾つかの前のビデオコード化規格において理解されているように、ＨＥＶＣ中に存在しない。マクロブロックは、考えられる利益の中でも、高いフレキシビリティを与え得る、４分木方式に基づく階層構造と置き換えられ得る。例えば、ＨＥＶＣ方式内で、３つのタイプのブロック、コード化単位（ＣＵ：Coding Unit）、予測単位（ＰＵ：Prediction Unit）、及び変換単位（ＴＵ：Transform Unit）が定義される。ＣＵは領域分割の基本単位を指し得る。ＣＵはマクロブロックの概念に類似すると見なされ得るが、それは、最大サイズを制限せず、コンテンツ適応性を改善するために４つの等しいサイズのＣＵへの再帰的分割を可能にし得る。ＰＵはインター／イントラ予測の基本単位と見なされ得、それは、不規則な画像パターンを効果的にコード化するために、単一のＰＵ中に複数の任意の形状区分を含んでいることがある。ＴＵは変換の基本単位と見なされ得る。それは、ＰＵとは無関係に定義され得るが、それのサイズは、ＴＵが属するＣＵに制限され得る。３つの異なる概念へのブロック構造のこの分離は、各々がそれの役割に従って最適化されることを可能にし得、それによりコード化効率が改善され得る。
【００２１】
ビデオコード化規格
[0035]ビデオ画像、ＴＶ画像、静止画像、又はビデオレコーダ又はコンピュータによって生成された画像など、デジタル画像は、水平ライン及び垂直ラインで構成された画素又はサンプルからなり得る。単一の画像中の画素の数は一般に数万個である。各画素は、一般に、ルミナンス情報とクロミナンス情報とを含んでいる。圧縮なしに、画像エンコーダから画像デコーダに搬送されるべき情報の量は、リアルタイム画像送信を不可能にするほど非常に大きい。送信されるべき情報の量を低減するために、ＪＰＥＧ、ＭＰＥＧ及びＨ．２６３規格など、幾つかの異なる圧縮方法が開発された。
【００２２】
[0036]ビデオコード化規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２又はＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、及びそれのスケーラブルビデオコード化（ＳＶＣ）拡張とマルチビュービデオコード化（ＭＶＣ）拡張とを含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含み、その全ての全体が参照により組み込まれる。
【００２３】
[0037]更に、新しいビデオコード化規格、即ち、高効率ビデオコード化（ＨＥＶＣ）が、ＩＴＵ−Ｔビデオコード化専門家グループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャ専門家グループ（ＭＰＥＧ：Motion Picture Experts Group）とのジョイントコラボレーションチームオンビデオコード化（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発されている。ＨＥＶＣの最近のドラフトは、２０１３年１１月２２日現在、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zipから利用可能であり、その全体が参照により組み込まれる。ＨＥＶＣドラフト１０についての完全引用は、文書ＪＪＣＴＶＣ−Ｌ１００３、Ｂｒｏｓｓら、「High Efficiency Video Coding (HEVC) Text Specification Draft 10」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３及びＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のジョイントコラボレーティブチームオンビデオコード化（ＪＣＴ−ＶＣ：Joint Collaborative Team on Video Coding）、第１２回会合：ジュネーブ、スイス、２０１３年１月１４日〜２０１３年１月２３日である。
【００２４】
[0038]添付の図面を参照しながら新規のシステム、装置、及び方法の様々な態様について以下でより十分に説明する。但し、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示する任意の特定の構造又は機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えられる。本明細書の教示に基づいて、本開示の範囲は、本発明の他の態様とは無関係に実装されるにせよ、本発明の他の態様と組み合わされるにせよ、本明細書で開示する新規のシステム、装置、及び方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。例えば、本明細書に記載の態様をいくつ使用しても、装置は実装され得、又は方法は実施され得る。更に、本発明の範囲は、本明細書に記載の本発明の様々な態様に加えて又はそれらの態様以外に、他の構造、機能、又は構造及び機能を使用して実施されるそのような装置又は方法をカバーするものとする。本明細書で開示する任意の態様が請求項の１つ又は複数の要素によって実施され得ることを理解されたい。
【００２５】
[0039]本明細書では特定の態様について説明するが、これらの態様の多くの変形及び置換は本開示の範囲内に入る。好適な態様の幾つかの利益及び利点について説明するが、本開示の範囲は特定の利益、使用、又は目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、及び伝送プロトコルに広く適用可能であるものとし、それらの幾つかを例として、図及び好適な態様についての以下の説明において示す。発明を実施するための形態及び図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲及びそれの均等物によって定義される。
【００２６】
[0040]添付の図面は例を示している。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。
【００２７】
ビデオコード化システム
[0041]図１は、本開示で説明する態様による技法を利用し得る例示的なビデオコード化システム１０を示すブロック図である。本明細書で使用し説明する「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコード化」又は「コード化」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。
【００２８】
[0042]図１に示されているように、ビデオコード化システム１０は、発信源機器１２と宛先機器１４とを含む。発信源機器１２は符号化ビデオデータを生成する。宛先機器１４は、発信源機器１２によって生成された符号化ビデオデータを復号し得る。発信源機器１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（例えば、ラップトップなど）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォン、所謂「スマート」パッドなどの電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲にわたる機器を備え得る。幾つかの例では、発信源機器１２及び宛先機器１４は、ワイヤレス通信のために装備され得る。
【００２９】
[0043]宛先機器１４は、チャネル１６を介して発信源機器１２から符号化ビデオデータを受信し得る。チャネル１６は、発信源機器１２から宛先機器１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体又は機器を備え得る。一例では、チャネル１６は、発信源機器１２が符号化ビデオデータを宛先機器１４にリアルタイムで直接送信することを可能にする通信媒体を備え得る。この例では、発信源機器１２は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先機器１４に送信し得る。通信媒体は、無線周波数（ＲＦ）スペクトル又は１つ又は複数の物理伝送線路など、ワイヤレス通信媒体又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器１２から宛先機器１４への通信を可能にするルータ、スイッチ、基地局、又は他の機器を含み得る。
【００３０】
[0044]別の例では、チャネル１６は、発信源機器１２によって生成された符号化ビデオデータを記憶する記憶媒体に対応し得る。この例では、宛先機器１４は、ディスクアクセス又はカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、又は符号化ビデオデータを記憶するための他の適切なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含み得る。更なる例では、チャネル１６は、発信源機器１２によって生成された符号化ビデオを記憶する、ファイルサーバ又は別の中間記憶機器を含み得る。この例では、宛先機器１４は、ストリーミング又はダウンロードを介して、ファイルサーバ又は他の中間記憶装置に記憶された符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先機器１４に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、（例えば、ウェブサイトなどのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）装置、及びローカルディスクドライブがある。宛先機器１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続としては、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続など）、有線接続（例えば、ＤＳＬ、ケーブルモデムなど）、又はその両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はその両方の組合せであり得る。
【００３１】
[0045]本開示の技法はワイヤレス適用例又は設定に限定されない。本技法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信（例えば、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）など）、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、ビデオコード化システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び／又はビデオテレフォニーなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【００３２】
[0046]図１の例では、発信源機器１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は変調器／復調器（モデム）及び／又は送信機を含み得る。発信源機器１２において、ビデオ発信源１８は、撮像装置、例えば、ビデオカメラ、以前に撮影されたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、及び／又はビデオデータを生成するためのコンピュータグラフィックスシステムなどの発信源、又はそのような発信源の組合せを含み得る。
【００３３】
[0047]ビデオエンコーダ２０は、撮影されたビデオデータ、以前に撮影されたビデオデータ、又はコンピュータ生成されたビデオデータを符号化するように構成され得る。符号化ビデオデータは、発信源機器１２の出力インターフェース２２を介して宛先機器１４に直接送信され得る。符号化ビデオデータはまた、復号及び／又は再生のための宛先機器１４による後のアクセスのために記憶媒体又はファイルサーバ上に記憶され得る。
【００３４】
[0048]図１の例では、宛先機器１４は、入力インターフェース２８と、ビデオデコーダ３０と、表示装置３２とを含む。場合によっては、入力インターフェース２８は受信機及び／又はモデムを含み得る。宛先機器１４の入力インターフェース２８は、チャネル１６を介して符号化ビデオデータを受信する。符号化ビデオデータは、ビデオデータを表す、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含み得る。シンタックス要素は、ブロック及び他のコード化単位、例えば、グループオブピクチャ（ＧＯＰ：group of pictures）の特性及び／又は処理を記述し得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、又はファイルサーバ上に記憶される符号化ビデオデータとともに含まれ得る。
【００３５】
[0049]表示装置３２は、宛先機器１４と一体化され得るか又はその外部にあり得る。幾つかの例では、宛先機器１４は、一体型表示装置を含み得、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器１４は表示装置であり得る。概して、表示装置３２は復号ビデオデータをユーザに表示する。表示装置３２は、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００３６】
[0050]ビデオエンコーダ２０及びビデオデコーダ３０は、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格など、ビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０及びビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，先進ビデオコード化（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格又は業界規格、又はそのような規格の拡張に従って動作し得る。但し、本開示の技法は、いかなる特定のコード化規格にも限定されない。ビデオ圧縮規格の他の例としてはＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３がある。
【００３７】
[0051]図１の例には示されていないが、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ：user datagram protocol）などの他のプロトコルに準拠し得る。
【００３８】
[0052]この場合も、図１は一例にすぎず、本開示の技法は、符号化機器と復号機器との間のデータ通信を必ずしも含むとは限らないビデオコード化設定（例えば、ビデオ符号化又はビデオ復号）に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われ得る。符号化機器は、データを符号化し、メモリに記憶し得、及び／又は、復号機器は、メモリからデータを取り出し、復号し得る。多くの例では、符号化及び復号は、互いに通信しないが、メモリにデータを符号化し、及び／又はメモリからデータを取り出して復号するだけである機器によって実行される。
【００３９】
[0053]ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ハードウェアなど、様々な好適な回路のいずれか、又はそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、１つ又は複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０及び／又はビデオデコーダ３０を含む機器は、集積回路、マイクロプロセッサ、及び／又はセルラー電話などのワイヤレス通信機器を備え得る。
【００４０】
[0054]上記で手短に述べたように、ビデオエンコーダ２０はビデオデータを符号化する。ビデオデータは１つ又は複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。幾つかの事例では、ピクチャはビデオ「フレーム」と呼ばれることがある。ビデオエンコーダ２０がビデオデータを符号化するとき、ビデオエンコーダ２０はビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームはコード化ピクチャと関連データとを含み得る。コード化ピクチャはピクチャのコード化表現である。
【００４１】
[0055]ビットストリームを生成するために、ビデオエンコーダ２０は、ビデオデータ中の各ピクチャに対して符号化演算を実行し得る。ビデオエンコーダ２０がピクチャに対して符号化演算を実行するとき、ビデオエンコーダ２０は、一連のコード化ピクチャと関連データとを生成し得る。関連データは、ビデオパラメータセット（ＶＰＳ）と、シーケンスパラメータセットと、ピクチャパラメータセットと、適応パラメータセットと、他のシンタックス構造とを含み得る。シーケンスパラメータセット（ＳＰＳ：sequence parameter set）は、ピクチャの０個以上のシーケンスに適用可能なパラメータを含んでいることがある。ピクチャパラメータセット（ＰＰＳ：picture parameter set）は、０個以上のピクチャに適用可能なパラメータを含み得る。適応パラメータセット（ＡＰＳ：adaptation parameter set）は、０個以上のピクチャに適用可能なパラメータを含み得る。ＡＰＳ中のパラメータは、ＰＰＳ中のパラメータよりも変化する可能性が高いパラメータであり得る。
【００４２】
[0056]コード化ピクチャを生成するために、ビデオエンコーダ２０は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックはサンプルの２次元アレイであり得る。ビデオブロックの各々はツリーブロックに関連付けられる。幾つかの事例では、ツリーブロックは、最大コード化単位（ＬＣＵ：largest coding unit）と呼ばれることがある。ＨＥＶＣのツリーブロックは、Ｈ．２６４／ＡＶＣなど、以前の規格のマクロブロックに広い意味で類似し得る。しかしながら、ツリーブロックは、必ずしも特定のサイズに限定されるとは限らず、１つ又は複数のコード化単位（ＣＵ）を含み得る。ビデオエンコーダ２０は、４分木区分（quadtree partitioning）を使用して、ツリーブロックのビデオブロックを、ＣＵに関連付けられたビデオブロックに区分し得、従って「ツリーブロック」という名前がある。
【００４３】
[0057]幾つかの例では、ビデオエンコーダ２０はピクチャを複数のスライスに区分し得る。スライスの各々は整数個のＣＵを含み得る。幾つかの事例では、スライスは整数個のツリーブロックを備える。他の事例では、スライスの境界はツリーブロック内にあり得る。
【００４４】
[0058]ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ２０は、ピクチャの各スライスに対して符号化演算を実行し得る。ビデオエンコーダ２０がスライスに対して符号化演算を実行するとき、ビデオエンコーダ２０は、スライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは「コード化スライス」と呼ばれることがある。
【００４５】
[0059]コード化スライスを生成するために、ビデオエンコーダ２０は、スライス中の各ツリーブロックに対して符号化演算を実行し得る。ビデオエンコーダ２０がツリーブロックに対して符号化演算を実行するとき、ビデオエンコーダ２０はコード化ツリーブロックを生成し得る。コード化ツリーブロックは、ツリーブロックの符号化バージョンを表すデータを備え得る。
【００４６】
[0060]ビデオエンコーダ２０がコード化スライスを生成するとき、ビデオエンコーダ２０は、ラスタ走査順序に従って、スライス中のツリーブロックに対して符号化演算を実行し得る（例えば、そのツリーブロックを符号化し得る）。例えば、ビデオエンコーダ２０は、スライス中のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の下の行にわたって左から右に進み、以下同様に進む順序で、ビデオエンコーダ２０がスライス中のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化し得る。
【００４７】
[0061]ラスタ走査順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上及び左のツリーブロックは符号化されていることがあるが、所与のツリーブロックの下及び右のツリーブロックはまだ符号化されていない。従って、ビデオエンコーダ２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上及び左のツリーブロックを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下及び右のツリーブロックを符号化することによって生成された情報にアクセスすることができないことがある。
【００４８】
[0062]コード化ツリーブロックを生成するために、ビデオエンコーダ２０は、ツリーブロックのビデオブロックに対して４分木区分を再帰的に実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は異なるＣＵに関連付けられ得る。例えば、ビデオエンコーダ２０は、ツリーブロックのビデオブロックを４つの等しいサイズのサブブロックに区分し、サブブロックのうちの１つ又は複数を、４つの等しいサイズのサブサブブロックに区分し得、以下同様である。区分されたＣＵは、それのビデオブロックが、他のＣＵに関連付けられたビデオブロックに区分された、ＣＵであり得る。区分されていないＣＵは、それのビデオブロックが、他のＣＵに関連付けられたビデオブロックに区分されていない、ＣＵであり得る。
【００４９】
[0063]ビットストリーム中の１つ又は複数のシンタックス要素は、ビデオエンコーダ２０がツリーブロックのビデオブロックを区分し得る最大の回数を示し得る。ＣＵのビデオブロックは形状が正方形であり得る。ＣＵのビデオブロックのサイズ（例えば、ＣＵのサイズ）は、８×８画素から、最大６４×６４以上の画素をもつツリーブロックのビデオブロックのサイズ（例えば、ツリーブロックのサイズ）までに及び得る。
【００５０】
[0064]ビデオエンコーダ２０は、ｚ走査順序に従って、ツリーブロックの各ＣＵに対して符号化演算を実行し得る（例えば、各ＣＵを符号化し得る）。言い換えれば、ビデオエンコーダ２０は、左上のＣＵと、右上のＣＵと、左下のＣＵと、次いで右下のＣＵとを、その順序で符号化し得る。ビデオエンコーダ２０が、区分されたＣＵに対して符号化演算を実行するとき、ビデオエンコーダ２０は、ｚ走査順序に従って、区分されたＣＵのビデオブロックのサブブロックに関連付けられたＣＵを符号化し得る。言い換えれば、ビデオエンコーダ２０は、左上のサブブロックに関連付けられたＣＵと、右上のサブブロックに関連付けられたＣＵと、左下のサブブロックに関連付けられたＣＵと、次いで右下のサブブロックに関連付けられたＣＵとを、その順序で符号化し得る。
【００５１】
[0065]ｚ走査順序に従ってツリーブロックのＣＵを符号化した結果として、所与のＣＵの上、左上、右上、左、及び左下のＣＵは符号化されていることがある。所与のＣＵの下及び右のＣＵはまだ符号化されていない。従って、ビデオエンコーダ２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接する幾つかのＣＵを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接する他のＣＵを符号化することによって生成された情報にアクセスすることができないことがある。
【００５２】
[0066]ビデオエンコーダ２０が、区分されていないＣＵを符号化するとき、ビデオエンコーダ２０は、ＣＵのために１つ又は複数の予測単位（ＰＵ）を生成し得る。ＣＵのＰＵの各々は、ＣＵのビデオブロック内の異なるビデオブロックに関連付けられ得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのための予測ビデオブロックを生成し得る。ＰＵの予測ビデオブロックはサンプルのブロックであり得る。ビデオエンコーダ２０は、イントラ予測又はインター予測を使用して、ＰＵのための予測ビデオブロックを生成し得る。
【００５３】
[0067]ビデオエンコーダ２０がイントラ予測を使用してＰＵの予測ビデオブロックを生成するとき、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号サンプルに基づいて、ＰＵの予測ビデオブロックを生成し得る。ビデオエンコーダ２０がイントラ予測を使用してＣＵのＰＵの予測ビデオブロックを生成する場合、ＣＵはイントラ予測されたＣＵである。ビデオエンコーダ２０がインター予測を使用してＰＵの予測ビデオブロックを生成するとき、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つ又は複数のピクチャの復号サンプルに基づいて、ＰＵの予測ビデオブロックを生成し得る。ビデオエンコーダ２０がインター予測を使用してＣＵのＰＵの予測ビデオブロックを生成する場合、ＣＵはインター予測されたＣＵである。
【００５４】
[0068]更に、ビデオエンコーダ２０がインター予測を使用してＰＵのための予測ビデオブロックを生成するとき、ビデオエンコーダ２０はＰＵの動き情報を生成し得る。ＰＵの動き情報は、ＰＵの１つ又は複数の参照ブロックを示し得る。ＰＵの各参照ブロックは参照ピクチャ内のビデオブロックであり得る。参照ピクチャはＰＵに関連付けられたピクチャ以外のピクチャであり得る。幾つかの事例では、ＰＵの参照ブロックはＰＵの「参照サンプル」と呼ばれることもある。ビデオエンコーダ２０は、ＰＵの参照ブロックに基づいて、ＰＵのための予測ビデオブロックを生成し得る。
【００５５】
[0069]ビデオエンコーダ２０がＣＵの１つ又は複数のＰＵのための予測ビデオブロックを生成した後、ビデオエンコーダ２０は、ＣＵのＰＵのための予測ビデオブロックに基づいて、ＣＵの残差データを生成し得る。ＣＵの残差データは、ＣＵのＰＵのための予測ビデオブロック中のサンプルと、ＣＵの元のビデオブロック中のサンプルとの間の差を示し得る。
【００５６】
[0070]更に、区分されていないＣＵに対して符号化演算を実行することの一部として、ビデオエンコーダ２０は、ＣＵの残差データに対して再帰的な４分木区分を実行して、ＣＵの残差データを、ＣＵの変換単位（ＴＵ）に関連付けられた残差データの１つ又は複数のブロック（例えば、残差ビデオブロック）に区分し得る。ＣＵの各ＴＵは異なる残差ビデオブロックに関連付けられ得る。
【００５７】
[0071]ビデオコーダ２０は、ＴＵに関連付けられた残差ビデオブロックに１つ又は複数の変換を適用して、ＴＵに関連付けられた変換係数ブロック（例えば、変換係数のブロック）を生成し得る。概念的に、変換係数ブロックは変換係数の２次元（２Ｄ）行列であり得る。
【００５８】
[0072]変換係数ブロックを生成した後、ビデオエンコーダ２０は、変換係数ブロックに対して量子化プロセスを実行し得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を実現する処理を指す。量子化プロセスは、変換係数の一部又は全部に関連付けられたビット深度を低減し得る。例えば、量子化中にｎビットの変換係数がｍビットの変換係数に切り捨てられることがあり、ここで、ｎはｍよりも大きい。
【００５９】
[0073]ビデオエンコーダ２０は、各ＣＵを量子化パラメータ（ＱＰ：quantization parameter）値に関連付け得る。ＣＵに関連付けられたＱＰ値は、ビデオエンコーダ２０が、ＣＵに関連付けられた変換係数ブロックをどのように量子化するかを決定し得る。ビデオエンコーダ２０は、ＣＵに関連付けられたＱＰ値を調整することによって、ＣＵに関連付けられた変換係数ブロックに適用される量子化の程度を調整し得る。
【００６０】
[0074]ビデオエンコーダ２０が変換係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化された変換係数ブロック中で変換係数を表すシンタックス要素のセットを生成し得る。ビデオエンコーダ２０は、これらのシンタックス要素のうちの幾つかに、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：Context Adaptive Binary Arithmetic Coding）演算などのエントロピー符号化演算を適用し得る。コンテンツ適応型可変長コード化（ＣＡＶＬＣ：content adaptive variable length coding）、確率間隔区分エントロピー（ＰＩＰＥ：probability interval partitioning entropy）コード化、又は他のバイナリ算術コード化など、他のエントロピーコード化技法も使用され得る。
【００６１】
[0075]ビデオエンコーダ２０によって生成されるビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ：Network Abstraction Layer）単位を含み得る。ＮＡＬ単位の各々は、ＮＡＬ単位中のデータのタイプの指示と、データを含んでいるバイトとを含んでいるシンタックス構造であり得る。例えば、ＮＡＬ単位は、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、コード化スライス、補足拡張情報（ＳＥＩ：supplemental enhancement information）、アクセス単位区切り文字、フィラーデータ、又は別のタイプのデータを表すデータを含み得る。ＮＡＬ単位中のデータは様々なシンタックス構造を含み得る。
【００６２】
[0076]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオエンコーダ２０によって符号化されたビデオデータのコード化表現を含み得る。ビデオデコーダ３０がビットストリームを受信するとき、ビデオデコーダ３０は、ビットストリームに対して構文解析演算を実行し得る。ビデオデコーダ３０が構文解析演算を実行するとき、ビデオデコーダ３０は、ビットストリームからシンタックス要素を抽出し得る。ビデオデコーダ３０は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構成し得る。シンタックス要素に基づいてビデオデータを再構成するためのプロセスは、一般に、シンタックス要素を生成するためにビデオエンコーダ２０によって実行されるプロセスとは逆であり得る。
【００６３】
[0077]ビデオデコーダ３０がＣＵに関連付けられたシンタックス要素を抽出した後、ビデオデコーダ３０は、シンタックス要素に基づいて、ＣＵのＰＵのための予測ビデオブロックを生成し得る。更に、ビデオデコーダ３０は、ＣＵのＴＵに関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ３０は、変換係数ブロックに対して逆変換を実行して、ＣＵのＴＵに関連付けられた残差ビデオブロックを再構成し得る。予測ビデオブロックを生成し、残差ビデオブロックを再構成した後、ビデオデコーダ３０は、予測ビデオブロックと残差ビデオブロックとに基づいて、ＣＵのビデオブロックを再構成し得る。このようにして、ビデオデコーダ３０は、ビットストリーム中のシンタックス要素に基づいて、ＣＵのビデオブロックを再構成し得る。
【００６４】
ビデオエンコーダ
[0078]図２は、本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図である。ビデオエンコーダ２０は、本開示の技法のいずれか又は全てを実行するように構成され得る。一例として、予測ユニット１００は、本開示で説明する技法のいずれか又は全てを実行するように構成され得る。別の実施形態では、ビデオエンコーダ２０は、本開示で説明する技法のいずれか又は全てを実行するように構成された随意のレイヤ間予測ユニット１２８を含む。他の実施形態では、レイヤ間予測は予測ユニット１００（例えば、インター予測ユニット１２１及び／又はイントラ予測ユニット１２６）によって実行され得、その場合、レイヤ間予測ユニット１２８は省略され得る。但し、本開示の態様はそのように限定されない。幾つかの例では、本開示で説明する技法は、ビデオエンコーダ２０の様々な構成要素間で共有され得る。幾つかの例では、追加として又は代わりに、プロセッサ（図示せず）が、本開示で説明する技法のいずれか又は全てを実行するように構成され得る。
【００６５】
[0079]説明の目的で、本開示では、ＨＥＶＣコード化のコンテキストにおいてビデオエンコーダ２０について説明する。しかしながら、本開示の技法は、他のコード化規格又は方法にも適用可能であり得る。
【００６６】
[0080]ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコード化及びインターコード化を実行し得る。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオの空間冗長性を低減又は除去するために空間予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム又はピクチャ内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースのコード化モードのいずれかを指し得る。単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベースのコード化モードのいずれかを指し得る。
【００６７】
[0081]図２の例では、ビデオエンコーダ２０は複数の機能構成要素を含む。ビデオエンコーダ２０の機能構成要素は、予測ユニット１００と、残差生成ユニット１０２と、変換ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換ユニット１１０と、再構成ユニット１１２と、フィルタユニット１１３と、復号ピクチャバッファ１１４と、エントロピー符号化ユニット１１６とを含む。予測ユニット１００は、インター予測ユニット１２１と、動き推定ユニット１２２と、動き補償ユニット１２４と、イントラ予測ユニット１２６と、レイヤ間予測ユニット１２８とを含む。他の例では、ビデオエンコーダ２０は、より多数の、より少数の、又は異なる機能構成要素を含み得る。更に、動き推定ユニット１２２と動き補償ユニット１２４とは、高度に一体化され得るが、図２の例では、説明の目的で別々に表されている。
【００６８】
[0082]ビデオエンコーダ２０はビデオデータを受信し得る。ビデオエンコーダ２０は、様々な発信源からビデオデータを受信し得る。例えば、ビデオエンコーダ２０は、ビデオ発信源１８（図１）又は別の発信源からビデオデータを受信し得る。ビデオデータは一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオエンコーダ２０は、ピクチャの各々に対して符号化演算を実行し得る。ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ２０は、ピクチャの各スライスに対して符号化演算を実行し得る。スライスに対して符号化演算を実行することの一部として、ビデオエンコーダ２０は、スライス中のツリーブロックに対して符号化演算を実行し得る。
【００６９】
[0083]ツリーブロックに対して符号化演算を実行することの一部として、予測ユニット１００は、ツリーブロックのビデオブロックに対して４分木区分を実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は異なるＣＵに関連付けられ得る。例えば、予測ユニット１００は、ツリーブロックのビデオブロックを４つの等しいサイズのサブブロックに区分し、サブブロックの１つ又は複数を、４つの等しいサイズのサブサブブロックに区分し得、以下同様である。
【００７０】
[0084]ＣＵに関連付けられたビデオブロックのサイズは、８×８サンプルから、最大６４×６４以上のサンプルをもつツリーブロックのサイズまでに及び得る。本開示では、「Ｎ×Ｎ（NxN）」及び「Ｎ×Ｎ（N by N）」は、垂直寸法及び水平寸法に関するビデオブロックのサンプル寸法、例えば、１６×１６（16x16）サンプル又は１６×１６（16 by 16）サンプルを指すために互換的に使用され得る。概して、１６×１６ビデオブロックは、垂直方向に１６個のサンプルを有し（ｙ＝１６）、水平方向に１６個のサンプルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ個のサンプルを有し、水平方向にＮ個のサンプルを有し、ここで、Ｎは非負整数値を表す。
【００７１】
[0085]更に、ツリーブロックに対して符号化演算を実行することの一部として、予測ユニット１００は、ツリーブロック用の階層的な４分木データ構造を生成し得る。例えば、ツリーブロックは、４分木データ構造のルートノードに対応し得る。予測ユニット１００が、ツリーブロックのビデオブロックを４つのサブブロックに区分する場合、ルートノードは、４分木データ構造中に４つの子ノードを有する。子ノードの各々は、サブブロックのうちの１つに関連付けられたＣＵに対応する。予測ユニット１００が、サブブロックのうちの１つを４つのサブサブブロックに区分する場合、サブブロックに関連付けられたＣＵに対応するノードは、サブサブブロックのうちの１つに関連付けられたＣＵに各々が対応する、４つの子ノードを有し得る。
【００７２】
[0086]４分木データ構造の各ノードは、対応するツリーブロック又はＣＵのシンタックスデータ（例えば、シンタックス要素）を含み得る。例えば、４分木の中のノードは、そのノードに対応するＣＵのビデオブロックが４つのサブブロックに区分される（例えば、分割される）かどうかを示すスプリットフラグを含み得る。ＣＵのためのシンタックス要素は、再帰的に定義され得、ＣＵのビデオブロックがサブブロックに分割されるかどうかに依存し得る。それのビデオブロックが区分されていないＣＵは、４分木データ構造におけるリーフノードに対応し得る。コード化ツリーブロックは、対応するツリーブロック用の４分木データ構造に基づくデータを含み得る。
【００７３】
[0087]ビデオエンコーダ２０は、ツリーブロックの区分されていない各ＣＵに対して符号化演算を実行し得る。ビデオエンコーダ２０が、区分されていないＣＵに対して符号化演算を実行するとき、ビデオエンコーダ２０は、区分されていないＣＵの符号化表現を表すデータを生成する。
【００７４】
[0088]ＣＵに対して符号化演算を実行することの一部として、予測ユニット１００は、ＣＵの１つ又は複数のＰＵの中で、ＣＵのビデオブロックを区分し得る。ビデオエンコーダ２０及びビデオデコーダ３０は、様々なＰＵサイズをサポートし得る。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオエンコーダ２０及びビデオデコーダ３０は、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズと、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、２Ｎ×ｎＵ、ｎＬ×２Ｎ、ｎＲ×２Ｎ、又は同様の対称ＰＵサイズでのインター予測とをサポートし得る。ビデオエンコーダ２０及びビデオデコーダ３０は、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズに対する非対称区分をもサポートし得る。幾つかの例では、予測ユニット１００は、ＣＵのビデオブロックの辺に直角に接触しない境界に沿って、ＣＵのＰＵの間でＣＵのビデオブロックを区分するように、幾何学的な区分を実行し得る。
【００７５】
[0089]インター予測ユニット１２１はＣＵの各ＰＵに対してインター予測を実行し得る。インター予測は時間圧縮を実現し得る。ＰＵに対してインター予測を実行するために、動き推定ユニット１２２はＰＵの動き情報を生成し得る。動き補償ユニット１２４は、動き情報と、ＣＵに関連付けられたピクチャ以外のピクチャ（例えば、参照ピクチャ）の復号サンプルと基づくＰＵのための予測ビデオブロックを生成し得る。本開示では、動き補償ユニット１２４によって生成された予測ビデオブロックは、インター予測ビデオブロックと呼ばれることがある。
【００７６】
[0090]スライスは、Ｉスライス、Ｐスライス、又はＢスライスであり得る。動き推定ユニット１２２及び動き補償ユニット１２４は、ＰＵがＩスライス中にあるか、Ｐスライス中にあるか、Ｂスライス中にあるかに応じて、ＣＵのＰＵに対して異なる演算を実行し得る。Ｉスライス中では、全てのＰＵがイントラ予測される。従って、ＰＵがＩスライス中にある場合、動き推定ユニット１２２及び動き補償ユニット１２４は、ＰＵに対してインター予測を実行しない。
【００７７】
[0091]ＰＵがＰスライス中にある場合、ＰＵを含んでいるピクチャは、「リスト０」と呼ばれる参照ピクチャのリストに関連付けられる。リスト０中の参照ピクチャの各々は、他のピクチャのインター予測に使用され得るサンプルを含んでいる。動き推定ユニット１２２が、Ｐスライス中のＰＵに関して動き推定演算を実行するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０中の参照ピクチャを探索し得る。ＰＵの参照ブロックは、ＰＵのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、例えば、サンプルのブロックであり得る。動き推定ユニット１２２は、様々なメトリクスを使用して、参照ピクチャ中のサンプルのセットがどの程度密接にＰＵのビデオブロック中のサンプルに対応するかを決定し得る。例えば、動き推定ユニット１２２は、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、又は他の差分メトリックによって、参照ピクチャ中のサンプルのセットがどの程度密接にＰＵのビデオブロック中のサンプルに対応するかを決定し得る。
【００７８】
[0092]Ｐスライス中のＰＵの参照ブロックを識別した後、動き推定ユニット１２２は、参照ブロックを含んでいる、リスト０中の参照ピクチャを示す参照インデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。様々な例において、動き推定ユニット１２２は動きベクトルを異なる精度に生成し得る。例えば、動き推定ユニット１２２は、１／４サンプル精度、１／８サンプル精度、又は他の分数のサンプル精度で動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット１２４は、ＰＵの動き情報によって識別された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００７９】
[0093]ＰＵがＢスライス中にある場合、ＰＵを含んでいるピクチャは、「リスト０」及び「リスト１」と呼ばれる参照ピクチャの２つのリストに関連付けられ得る。幾つかの例では、Ｂスライスを含んでいるピクチャは、リスト０とリスト１の組合せである、リストの組合せに関連付けられ得る。
【００８０】
[0094]更に、ＰＵがＢスライス中にある場合、動き推定ユニット１２２は、ＰＵについての単方向予測又は双方向予測を実行し得る。動き推定ユニット１２２が、ＰＵについての単方向予測を実行するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０又はリスト１の参照ピクチャを探索し得る。動き推定ユニット１２２は、次いで、参照ブロックを含んでいる、リスト０又はリスト１中の参照ピクチャを示す参照インデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。予測方向インジケータは、参照インデックスが、リスト０中の参照ピクチャを示すか、リスト１中の参照ピクチャを示すかを示し得る。動き補償ユニット１２４は、ＰＵの動き情報によって示された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００８１】
[0095]動き推定ユニット１２２が、ＰＵについての双方向予測を実行するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０中の参照ピクチャを探索し得、また、ＰＵのための別の参照ブロックについて、リスト１中の参照ピクチャを探索し得る。動き推定ユニット１２２は、次いで、参照ブロックを含んでいる、リスト０及びリスト１中の参照ピクチャを示す参照インデックスと、参照ブロックとＰＵの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット１２２は、ＰＵの動き情報としてＰＵの参照インデックスと動きベクトルとを出力し得る。動き補償ユニット１２４は、ＰＵの動き情報によって示された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００８２】
[0096]幾つかの例では、動き推定ユニット１２２は、ＰＵの動き情報のフルセットをエントロピー符号化ユニット１１６に出力しない。そうではなく、動き推定ユニット１２２は、別のＰＵの動き情報を参照して、ＰＵの動き情報を信号伝達し得る。例えば、動き推定ユニット１２２は、ＰＵの動き情報が、隣接ＰＵの動き情報と十分に類似していると決定し得る。この例では、動き推定ユニット１２２は、ＰＵに関連付けられたシンタックス構造において、ＰＵが隣接ＰＵと同じ動き情報を有することをビデオデコーダ３０に示す値を示し得る。別の例では、動き推定ユニット１２２は、ＰＵに関連付けられたシンタックス構造において、隣接ＰＵと動きベクトル差分（ＭＶＤ：motion vector difference）とを識別し得る。動きベクトル差分は、ＰＵの動きベクトルと、示される隣接ＰＵの動きベクトルとの間の差分を示す。ビデオデコーダ３０は、示される隣接ＰＵの動きベクトルと、動きベクトル差分とを使用して、ＰＵの動きベクトルを決定し得る。第２のＰＵの動き情報を信号伝達するときに第１のＰＵの動き情報を参照することによって、ビデオエンコーダ２０は、より少数のビットを使用して、第２のＰＵの動き情報を信号伝達することが可能であり得る。
【００８３】
[0097]図８〜図１４に関して以下で更に説明するように、予測ユニット１００は、図８〜図１４に示されている方法を実行することによってＰＵ（又は他の拡張レイヤブロック又はビデオユニット）をコード化（例えば、符号化又は復号）するように構成され得る。例えば、（例えば、動き推定ユニット１２２及び／又は動き補償ユニット１２４を介した）インター予測ユニット１２１、イントラ予測ユニット１２６、又はレイヤ間予測ユニット１２８は、一緒に又は別々にのいずれかで、図８〜図１４に示されている方法を実行するように構成され得る。
【００８４】
[0098]ＣＵに対して符号化演算を実行することの一部として、イントラ予測ユニット１２６は、ＣＵのＰＵに対してイントラ予測を実行し得る。イントラ予測は空間圧縮を実現し得る。イントラ予測ユニット１２６がＰＵに対してイントラ予測を実行するとき、イントラ予測ユニット１２６は、同じピクチャ中の他のＰＵの復号サンプルに基づいて、ＰＵの予測データを生成し得る。ＰＵの予測データは、予測ビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測ユニット１２６は、Ｉスライス、Ｐスライス、及びＢスライス中のＰＵに対してイントラ予測を実行し得る。
【００８５】
[0099]ＰＵに対してイントラ予測を実行するために、イントラ予測ユニット１２６は、複数のイントラ予測モードを使用して、ＰＵの予測データの複数のセットを生成し得る。イントラ予測ユニット１２６が、イントラ予測モードを使用してＰＵの予測データのセットを生成するとき、イントラ予測ユニット１２６は、イントラ予測モードに関連付けられた方向及び／又は勾配で、隣接ＰＵのビデオブロックからＰＵのビデオブロックにわたって、サンプルを延ばし得る。隣接ＰＵは、ＰＵ、ＣＵ、及びツリーブロックについて左から右、上から下の符号化順序を仮定すると、ＰＵの上、右上、左上、又は左にあり得る。イントラ予測ユニット１２６は、ＰＵのサイズに応じて、様々な数のイントラ予測モード、例えば、３３個の方向性イントラ予測モードを使用し得る。
【００８６】
[00100]予測ユニット１００は、ＰＵについての、動き補償ユニット１２４によって生成された予測データ、又はＰＵについての、イントラ予測ユニット１２６によって生成された予測データの中から、ＰＵの予測データを選択し得る。幾つかの例では、予測ユニット１００は、予測データのセットのレート／歪みメトリックに基づいて、ＰＵの予測データを選択する。
【００８７】
[00101]予測ユニット１００が、イントラ予測ユニット１２６によって生成された予測データを選択する場合、予測ユニット１００は、ＰＵの予測データを生成するために使用されたイントラ予測モード、例えば、選択されたイントラ予測モードを信号伝達し得る。予測ユニット１００は、選択されたイントラ予測モードを様々な方法で信号伝達し得る。例えば、選択されたイントラ予測モードは、隣接ＰＵのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接ＰＵのイントラ予測モードは、現在ＰＵに対して最確モード（most probable mode）であり得る。従って、予測ユニット１００は、選択されたイントラ予測モードが隣接ＰＵのイントラ予測モードと同じであることを示すための、シンタックス要素を生成し得る。
【００８８】
[00102]上記で説明したように、ビデオエンコーダ２０はレイヤ間予測ユニット１２８を含み得る。レイヤ間予測ユニット１２８は、ＳＶＣにおいて利用可能である１つ又は複数の異なるレイヤ（例えば、ベースレイヤ又は参照レイヤ）を使用して現在ブロック（例えば、ＥＬ中の現在ブロック）を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット１２８は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コード化効率を改善し、計算資源要求を低減する。レイヤ間予測の幾つかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、及びレイヤ間残差予測がある。レイヤ間イントラ予測は、ベースレイヤ中の同一位置配置ブロックの再構成を使用して拡張レイヤ中の現在ブロックを予測する。レイヤ間動き予測は、ベースレイヤの動き情報を使用して拡張レイヤ中の動作を予測する。レイヤ間残差予測は、ベースレイヤの残差を使用して拡張レイヤの残差を予測する。レイヤ間予測方式の各々について、より詳細に以下で説明する。
【００８９】
[00103]予測ユニット１００がＣＵのＰＵの予測データを選択した後、残差生成ユニット１０２は、ＣＵのビデオブロックからＣＵのＰＵの予測ビデオブロックを差し引くことによって、ＣＵの残差データを生成し得る。ＣＵの残差データは、ＣＵのビデオブロック中のサンプルの異なるサンプル成分に対応する、２Ｄ残差ビデオブロックを含み得る。例えば、残差データは、ＣＵのＰＵの予測ビデオブロック中のサンプルのルミナンス成分と、ＣＵの元のビデオブロック中のサンプルのルミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。更に、ＣＵの残差データは、ＣＵのＰＵの予測ビデオブロック中のサンプルのクロミナンス成分と、ＣＵの元のビデオブロック中のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。
【００９０】
[00104]予測ユニット１００は、４分木区分を実行して、ＣＵの残差ビデオブロックをサブブロックに区分し得る。各分割されていない残差ビデオブロックは、ＣＵの異なるＴＵに関連付けられ得る。ＣＵのＴＵに関連付けられた残差ビデオブロックのサイズ及び位置は、ＣＵのＰＵに関連付けられたビデオブロックのサイズ及び位置に基づくことも基づかないこともある。「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造は、残差ビデオブロックの各々に関連付けられたノードを含み得る。ＣＵのＴＵはＲＱＴのリーフノードに対応し得る。
【００９１】
[00105]変換ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに１つ又は複数の変換を適用することによって、ＣＵの各ＴＵのための１つ又は複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は、変換係数の２Ｄ行列であり得る。変換ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに様々な変換を適用し得る。例えば、変換ユニット１０４は、離散コサイン変換（ＤＣＴ）、方向性変換、又は概念的に同様の変換を、ＴＵに関連付けられた残差ビデオブロックに適用し得る。
【００９２】
[00106]変換ユニット１０４が、ＴＵに関連付けられた変換係数ブロックを生成した後、量子化ユニット１０６は、変換係数ブロック中の変換係数を量子化し得る。量子化ユニット１０６は、ＣＵに関連付けられたＱＰ値に基づいて、ＣＵのＴＵに関連付けられた変換係数ブロックを量子化し得る。
【００９３】
[00107]ビデオエンコーダ２０は、様々な方法でＱＰ値をＣＵに関連付け得る。例えば、ビデオエンコーダ２０は、ＣＵに関連付けられたツリーブロックに対してレート歪み分析を実行し得る。レート歪み分析では、ビデオエンコーダ２０は、ツリーブロックに対して符号化演算を複数回実行することによって、ツリーブロックの複数のコード化表現を生成し得る。ビデオエンコーダ２０がツリーブロックの異なる符号化表現を生成するとき、ビデオエンコーダ２０は、異なるＱＰ値をＣＵに関連付け得る。ビデオエンコーダ２０は、最小のビットレート及び歪みメトリックを有するツリーブロックのコード化表現で所与のＱＰ値がＣＵに関連付けられるとき、所与のＱＰ値がＣＵに関連付けられることを信号伝達し得る。
【００９４】
[00108]逆量子化ユニット１０８及び逆変換ユニット１１０は、それぞれ、変換係数ブロックに逆量子化と逆変換とを適用して、変換係数ブロックから残差ビデオブロックを再構成し得る。再構成ユニット１１２は、再構成された残差ビデオブロックを、予測ユニット１００によって生成された１つ又は複数の予測ビデオブロックからの対応するサンプルに追加して、ＴＵに関連付けられた再構成されたビデオブロックを生成し得る。このようにＣＵの各ＴＵのためのビデオブロックを再構成することによって、ビデオエンコーダ２０は、ＣＵのビデオブロックを再構成し得る。
【００９５】
[00109]再構成ユニット１１２がＣＵのビデオブロックを再構成した後、フィルタユニット１１３は、ＣＵに関連付けられたビデオブロックにおけるブロック歪み（blocking artifacts）を低減するためにデブロッキング演算を実行し得る。１つ又は複数のデブロッキング演算を実行した後、フィルタユニット１１３は、復号ピクチャバッファ１１４にＣＵの再構成されたビデオブロックを記憶し得る。動き推定ユニット１２２及び動き補償ユニット１２４は、再構成されたビデオブロックを含んでいる参照ピクチャを使用して、後続ピクチャのＰＵに対してインター予測を実行し得る。更に、イントラ予測ユニット１２６は、復号ピクチャバッファ１１４中の再構成されたビデオブロックを使用して、ＣＵと同じピクチャの中の他のＰＵに対してイントラ予測を実行し得る。
【００９６】
[00110]エントロピー符号化ユニット１１６は、ビデオエンコーダ２０の他の機能構成要素からデータを受信し得る。例えば、エントロピー符号化ユニット１１６は、量子化ユニット１０６から変換係数ブロックを受信し得、予測ユニット１００からシンタックス要素を受信し得る。エントロピー符号化ユニット１１６がデータを受信するとき、エントロピー符号化ユニット１１６は、１つ又は複数のエントロピー符号化演算を実行して、エントロピー符号化されたデータを生成し得る。例えば、ビデオエンコーダ２０は、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）演算、ＣＡＢＡＣ演算、変数間（Ｖ２Ｖ：variable-to-variable）レングスコード化演算、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）演算、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コード化演算、又は別のタイプのエントロピー符号化演算をデータに対して実行し得る。エントロピー符号化ユニット１１６は、エントロピー符号化されたデータを含むビットストリームを出力し得る。
【００９７】
[00111]データに対してエントロピー符号化演算を実行することの一部として、エントロピー符号化ユニット１１６は、コンテキストモデルを選択し得る。エントロピー符号化ユニット１１６がＣＡＢＡＣ演算を実行している場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示し得る。ＣＡＢＡＣのコンテキストでは、「ビン」という用語は、シンタックス要素の２値化されたバージョンのビットを指すために使用される。
【００９８】
ビデオデコーダ
[00112]図３は、本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図である。ビデオデコーダ３０は、本開示の技法のいずれか又は全てを実行するように構成され得る。一例として、動き補償ユニット１６２及び／又はイントラ予測ユニット１６４は、本開示で説明する技法のいずれか又は全てを実行するように構成され得る。一実施形態では、ビデオデコーダ３０は、場合によっては、本開示で説明する技法のいずれか又は全てを実行するように構成されたレイヤ間予測ユニット１６６を含み得る。他の実施形態では、レイヤ間予測は予測ユニット１５２（例えば、動き補償ユニット１６２及び／又はイントラ予測ユニット１６４）によって実行され得、その場合、レイヤ間予測ユニット１６６は省略され得る。但し、本開示の態様はそのように限定されない。幾つかの例では、本開示で説明する技法は、ビデオデコーダ３０の様々な構成要素間で共有され得る。幾つかの例では、追加として又は代わりに、プロセッサ（図示せず）が、本開示で説明する技法のいずれか又は全てを実行するように構成され得る。
【００９９】
[00113]図３の例では、ビデオデコーダ３０は複数の機能構成要素を含む。ビデオデコーダ３０の機能構成要素は、エントロピー復号ユニット１５０と、予測ユニット１５２と、逆量子化ユニット１５４と、逆変換ユニット１５６と、再構成ユニット１５８と、フィルタユニット１５９と、復号ピクチャバッファ１６０とを含む。予測ユニット１５２は、動き補償ユニット１６２と、イントラ予測ユニット１６４と、レイヤ間予測ユニット１６６とを含む。幾つかの例では、ビデオデコーダ３０は、図２のビデオエンコーダ２０に関して説明された符号化経路とは全般に逆の復号経路を実行し得る。他の例では、ビデオデコーダ３０は、より多数の、より少数の、又は異なる機能構成要素を含み得る。
【０１００】
[00114]ビデオデコーダ３０は、符号化ビデオデータを備えるビットストリームを受信し得る。ビットストリームは複数のシンタックス要素を含み得る。ビデオデコーダ３０がビットストリームを受信したとき、エントロピー復号ユニット１５０は、ビットストリームに対して構文解析演算を実行し得る。ビットストリームに対して構文解析演算（parsing operation）を実行した結果として、エントロピー復号ユニット１５０は、ビットストリームからシンタックス要素を抽出し得る。構文解析演算を実行することの一部として、エントロピー復号ユニット１５０は、ビットストリーム中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測ユニット１５２、逆量子化ユニット１５４、逆変換ユニット１５６、再構成ユニット１５８、及びフィルタユニット１５９は、ビットストリームから抽出されたシンタックス要素に基づいて、復号ビデオデータを生成する再構成演算（reconstruction operation）を実行し得る。
【０１０１】
[00115]上記で説明したように、ビットストリームは、一連のＮＡＬ単位を備え得る。ビットストリームのＮＡＬ単位は、ビデオパラメータセット、シーケンスパラメータセットＮＡＬ単位、ピクチャパラメータセットＮＡＬ単位、ＳＥＩ  ＮＡＬ単位などを含み得る。ビットストリームに対して構文解析演算を実行することの一部として、エントロピー復号ユニット１５０は、シーケンスパラメータセットＮＡＬ単位からのシーケンスパラメータセット、ピクチャパラメータセットＮＡＬ単位からのピクチャパラメータセット、ＳＥＩ  ＮＡＬ単位からのＳＥＩデータなどを抽出しエントロピー復号する、構文解析演算を実行し得る。
【０１０２】
[00116]更に、ビットストリームのＮＡＬ単位はコード化スライスＮＡＬ単位を含み得る。ビットストリームに対して構文解析演算を実行することの一部として、エントロピー復号ユニット１５０は、コード化スライスＮＡＬ単位からコード化スライスを抽出しエントロピー復号する、構文解析演算を実行し得る。コード化されたスライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号ユニット１５０は、コード化されたスライスヘッダ中のシンタックス要素に対して、ＣＡＢＡＣ復号演算などのエントロピー復号演算を実行して、スライスヘッダを再構成し得る。
【０１０３】
[00117]コード化スライスのＮＡＬ単位からスライスデータを抽出することの一部として、エントロピー復号ユニット１５０は、スライスデータ中のコード化ＣＵからシンタックス要素を抽出する構文解析演算を実行し得る。抽出されたシンタックス要素は、変換係数ブロックに関連付けられたシンタックス要素を含み得る。エントロピー復号ユニット１５０は、次いで、シンタックス要素のうちの幾つかに対してＣＡＢＡＣ復号演算を実行し得る。
【０１０４】
[00118]エントロピー復号ユニット１５０が区分されていないＣＵに対して構文解析演算を実行した後、ビデオデコーダ３０は、区分されていないＣＵに対して再構成演算を実行し得る。区分されていないＣＵに対して再構成演算を実行するために、ビデオデコーダ３０はＣＵの各ＴＵに対して再構成演算を実行し得る。ＣＵの各ＴＵについて再構成演算を実行することによって、ビデオデコーダ３０は、ＣＵに関連付けられた残差ビデオブロックを再構成し得る。
【０１０５】
[00119]ＴＵに対して再構成演算を実行することの一部として、逆量子化ユニット１５４は、ＴＵに関連付けられた変換係数ブロックを逆量子化（inverse quantize）、例えば、逆量子化（de-quantize）し得る。逆量子化ユニット１５４は、ＨＥＶＣ用に提案された、又はＨ．２６４復号規格によって定義された逆量子化プロセスと同様の方式で、変換係数ブロックを逆量子化し得る。逆量子化ユニット１５４は、量子化の程度を決定し、同様に、逆量子化ユニット１５４が適用するべき逆量子化の程度を決定するために、変換係数ブロックのＣＵのためにビデオエンコーダ２０によって計算される量子化パラメータＱＰを使用し得る。
【０１０６】
[00120]逆量子化ユニット１５４が変換係数ブロックを逆量子化した後、逆変換ユニット１５６は、変換係数ブロックに関連付けられたＴＵのための残差ビデオブロックを生成し得る。逆変換ユニット１５６は、ＴＵのための残差ビデオブロックを生成するために、変換係数ブロックに逆変換を適用し得る。例えば、逆変換ユニット１５６は、変換係数ブロックに、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve transform）、逆回転変換、逆方向変換、又は別の逆変換を適用し得る。幾つかの例では、逆変換ユニット１５６は、ビデオエンコーダ２０からの信号伝達に基づいて、変換係数ブロックに適用すべき逆変換を決定し得る。そのような例では、逆変換ユニット１５６は、変換係数ブロックに関連付けられたツリーブロックの４分木のルートノードにおいて信号伝達された変換に基づいて、逆変換を決定し得る。他の例では、逆変換ユニット１５６は、ブロックサイズ、コード化モードなど、１つ又は複数のコード化特性から逆変換を推定し得る。幾つかの例では、逆変換ユニット１５６はカスケード逆変換を適用し得る。
【０１０７】
[00121]幾つかの例では、動き補償ユニット１６２は、補間フィルタに基づく補間を実行することによって、ＰＵの予測ビデオブロックを改良し得る。サブサンプル精度をもつ動き補償のために使用されるべき補間フィルタのための識別子が、シンタックス要素中に含まれ得る。動き補償ユニット１６２は、ＰＵの予測ビデオブロックの生成中にビデオエンコーダ２０によって使用された同じ補間フィルタを使用して、参照ブロックのサブ整数サンプルについての補間値を計算し得る。動き補償ユニット１６２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ビデオブロックを生成し得る。
【０１０８】
[00122]図８〜図１４に関して以下で更に説明するように、予測ユニット１５２は、図８〜図１４に示されている方法を実行することによってＰＵ（又は他の拡張レイヤブロック又はビデオユニット）をコード化（例えば、符号化又は復号）し得る。例えば、動き補償ユニット１６２、イントラ予測ユニット１６４、又はレイヤ間予測ユニット１６６は、一緒に又は別々にのいずれかで、図８〜図１４に示されている方法を実行するように構成され得る。
【０１０９】
[00123]ＰＵが、イントラ予測を使用して符号化される場合、イントラ予測ユニット１６４は、ＰＵのための予測ビデオブロックを生成するためにイントラ予測を実行し得る。例えば、イントラ予測ユニット１６４は、ビットストリーム中のシンタックス要素に基づいて、ＰＵのためのイントラ予測モードを決定し得る。ビットストリームは、ＰＵのイントラ予測モードを決定するためにイントラ予測ユニット１６４が使用し得るシンタックス要素を含み得る。
【０１１０】
[00124]幾つかの事例では、シンタックス要素は、イントラ予測ユニット１６４が別のＰＵのイントラ予測モードを使用して現在ＰＵのイントラ予測モードを決定するべきであることを示し得る。例えば、現在ＰＵのイントラ予測モードは隣接ＰＵのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接ＰＵのイントラ予測モードは、現在ＰＵに対して最確モードであり得る。従って、この例では、ビットストリームは、ＰＵのイントラ予測モードが隣接ＰＵのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測ユニット１６４は、次いで、イントラ予測モードを使用して、空間的に隣接するＰＵのビデオブロックに基づいて、ＰＵの予測データ（例えば、予測サンプル）を生成し得る。
【０１１１】
[00125]上記で説明したように、ビデオデコーダ３０もレイヤ間予測ユニット１６６を含み得る。レイヤ間予測ユニット１６６は、ＳＶＣにおいて利用可能である１つ又は複数の異なるレイヤ（例えば、ベースレイヤ又は参照レイヤ）を使用して現在ブロック（例えば、ＥＬ中の現在ブロック）を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット１６６は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コード化効率を改善し、計算資源要件を低減する。レイヤ間予測の幾つかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、及びレイヤ間残差予測がある。レイヤ間イントラ予測は、ベースレイヤ中の同一位置配置ブロックの再構成を使用して拡張レイヤ中の現在ブロックを予測する。レイヤ間動き予測は、ベースレイヤの動き情報を使用して拡張レイヤ中の動作を予測する。レイヤ間残差予測は、ベースレイヤの残差を使用して拡張レイヤの残差を予測する。レイヤ間予測方式の各々について、より詳細に以下で説明する。
【０１１２】
[00126]再構成ユニット１５８は、適用可能なとき、ＣＵのＴＵに関連付けられた残差ビデオブロックとＣＵのＰＵの予測ビデオブロックとを使用して、例えば、イントラ予測データ又はインター予測データのいずれかを使用して、ＣＵのビデオブロックを再構成し得る。従って、ビデオデコーダ３０は、ビットストリーム中のシンタックス要素に基づいて、予測ビデオブロックと残差ビデオブロックとを生成し得、予測ビデオブロックと残差ビデオブロックとに基づいて、ビデオブロックを生成し得る。
【０１１３】
[00127]再構成ユニット１５８がＣＵのビデオブロックを再構成した後、フィルタユニット１５９は、デブロッキング演算を実行して、ＣＵに関連付けられたブロック歪みを低減し得る。フィルタユニット１５９がデブロッキング演算を実行してＣＵに関連付けられたブロック歪みを低減した後、ビデオデコーダ３０は、復号ピクチャバッファ１６０にＣＵのビデオブロックを記憶し得る。復号ピクチャバッファ１６０は、後続の動き補償、イントラ予測、及び図１の表示装置３２などの表示装置上での提示のために、参照ピクチャを与え得る。例えば、ビデオデコーダ３０は、復号ピクチャバッファ１６０中のビデオブロックに基づいて、他のＣＵのＰＵに対してイントラ予測演算又はインター予測演算を実行し得る。
【０１１４】
スケーラブルビデオコード化（ＳＶＣ）の構造
[00128]図４は、異なる次元における例示的なスケーラビリティを示す概念図である。上記で説明したように、ＨＥＶＣのスケーラブルビデオコード化拡張（ＳＶＣ）は、ビデオ情報がレイヤ中で与えられることを可能にする。各レイヤは、異なるスケーラビリティに対応するビデオ情報を与えることができる。ＨＥＶＣでは、スケーラビリティは、３つの次元において使用可能であり、即ち、時間（temporal）（又は時間（time））スケーラビリティ、空間スケーラビリティ、及び（信号対雑音比又はＳＮＲスケーラビリティと呼ばれることがある）品質スケーラビリティである。例えば、時間次元では、７．５Ｈｚ、１５Ｈｚ、３０Ｈｚなどをもつフレームレートが時間スケーラビリティ（Ｔ）によってサポートされ得る。空間スケーラビリティ（Ｓ）がサポートされるとき、ＱＣＩＦ、ＣＩＦ、４ＣＩＦなどの異なる解像度が使用可能であり得る。特定の空間解像度及びフレームレートごとに、ピクチャ品質を改善するためにＳＮＲ（Ｑ）レイヤが追加され得る。
【０１１５】
[00129]ビデオコンテンツがそのようなスケーラブルな方法で符号化されると、例えば、クライアント又は送信チャネルに依存することがあるアプリケーション要件に従って、実際の配信されたコンテンツを適応させるために、抽出器ツールが使用され得る。図４に示された例では、各立方体は、同じフレームレート（時間レベル）、空間解像度及びＳＮＲレイヤをもつピクチャを含んでいる。例えば、立方体４０２及び４０４は、同じ解像度及びＳＮＲを有するが、異なるフレームレートを有するピクチャを含んでいる。立方体４０２及び４０６は、（例えば、同じ空間レイヤでは）同じ解像度を有するが、異なるＳＮＲ及びフレームレートを有するピクチャを表す。立方体４０２及び４０８は、（例えば、同じ品質イヤでは）同じＳＮＲを有するが、異なる解像度及びフレームレートを有するピクチャを表す。立方体４０２及び４１０は、異なる解像度と、フレームレートと、ＳＮＲとを有するピクチャを表す。それらの立方体（ピクチャ）を任意の次元で追加することによって、より良い表現が達成され得る。使用可能な２つ、３つ又は更に多くのスケーラビリティがあるとき、複合スケーラビリティがサポートされる。例えば、立方体４０２中のピクチャを立方体４０４中のピクチャと合成することによって、より高いフレームレートが実現され得る。立方体４０４中のピクチャを立方体４０６中のピクチャと合成することによって、より良好なＳＮＲが実現され得る。
【０１１６】
[00130]ＳＶＣの仕様によれば、最低空間レイヤ及び品質レイヤをもつピクチャは、Ｈ．２６４／ＡＶＣに適合し、最低時間レベルにあるピクチャは、より高い時間レベルにあるピクチャを用いて拡張され得る時間ベースレイヤを形成する。Ｈ．２６４／ＡＶＣ互換レイヤに加えて、空間スケーラビリティ及び／又は品質スケーラビリティを実現するために、幾つかの空間拡張レイヤ及び／又はＳＮＲ拡張レイヤが追加され得る。ＳＮＲスケーラビリティは品質スケーラビリティと呼ばれることもある。各空間又はＳＮＲ拡張レイヤ自体は、Ｈ．２６４／ＡＶＣ適合レイヤと同じ時間スケーラビリティ構造で、時間的にスケーラブルになり得る。１つの空間又はＳＮＲ拡張レイヤについて、それが依存するより低いレイヤは、その特定の空間又はＳＮＲ拡張レイヤのベースレイヤと呼ばれることもある。
【０１１７】
[00131]図５は、例示的なスケーラブルビデオコード化ビットストリームを示す概念図である。図５に示されている例示的なＳＶＣコード化構造では、最低空間及び品質レイヤをもつピクチャ（ＱＣＩＦ解像度を与えるレイヤ５０２及びレイヤ５０４中のピクチャ）は、Ｈ．２６４／ＡＶＣに適合する。それらの中で、最低時間レベルのピクチャは、図５に示されているように、時間ベースレイヤ５０２を形成する。この時間ベースレイヤ（例えば、レイヤ５０２）は、レイヤ５０４など、より高い時間レベルのピクチャを用いて拡張され得る。Ｈ．２６４／ＡＶＣ適合レイヤに加えて、空間スケーラビリティ及び／又は品質スケーラビリティを与えるために幾つかの空間及び／又はＳＮＲ拡張レイヤが追加され得る。例えば、拡張レイヤは、レイヤ５０６と同じ解像度を有するＣＩＦ表現であり得る。図５に示されている例では、レイヤ５０８はＳＮＲ拡張レイヤである。その例に示されているように、各空間又はＳＮＲ拡張レイヤ自体は、Ｈ．２６４／ＡＶＣ適合レイヤと同じ時間スケーラビリティ構造で、時間的にスケーラブルになり得る。また、拡張レイヤは空間解像度とフレームレートの両方を向上させことができる。例えば、レイヤ５１０は、フレームレートを１５Ｈｚから３０Ｈｚに更に増加させる４ＣＩＦ拡張レイヤを与える。
【０１１８】
[00132]図６は、スケーラブルビデオコード化ビットストリーム６００中の例示的なアクセス単位を示す概念図である。図６に示されているように、幾つかの実施形態では、同じ時間インスタンス中のコード化スライスは、ビットストリーム順序で連続しており、ＳＶＣのコンテキストにおける１つのアクセス単位を形成する。それらのＳＶＣアクセス単位は、次いで、表示順序とは異なり得る復号順序に従う。復号順序は、例えば、時間予測関係によって決定され得る。例えば、フレーム０のための（例えば、図５に示されているフレーム０のための）全ての４つのレイヤ６１２、６１４、６１６、及び６１８からなるアクセス単位６１０の後に、フレーム４のための（例えば、図５のフレーム４のための）全ての４つのレイヤ６２２、６２４、６２６、及び６２８からなるアクセス単位６２０が続き得る。フレーム２のためのアクセス単位６３０は、少なくともビデオ再生の観点から順が狂って続き得る。しかしながら、フレーム０及び４からの情報は、フレーム２を符号化又は復号するときに使用され得、従って、フレーム４は、フレーム２の前に符号化又は復号され得る。フレーム０とフレーム４との間の残りのフレームのためのアクセス単位６４０及び６５０は、図６に示されているように続き得る。
【０１１９】
[00133]ＳＶＣの幾つかの機能はＨ．２６４／ＡＶＣから継承され得る。前のスケーラブル規格と比較して、階層的時間スケーラビリティ、レイヤ間予測、シングルループ復号、及びフレキシブルトランスポートインターフェースなど、ＳＶＣの多くの態様はＨ．２６４／ＡＶＣから継承され得る。ＳＶＣのこれらの態様の各々について、以下でより詳細に説明する。
【０１２０】
スケーラブルビデオコード化（ＳＶＣ）の特徴
[00134]シングルループ復号
[00135]低複雑度デコーダを達成するために、ＳＶＣではシングルループ復号が使用される。シングルループ復号の場合、各サポートされるレイヤは、単一の動き補償ループを用いて復号され得る。これを達成するために、レイヤ間イントラ予測の使用は、同一位置配置された参照レイヤ信号がそのためにイントラコード化される拡張レイヤマクロブロックのためにのみ可能にされる。上位レイヤをレイヤ間予測するために使用される全てのレイヤは、制約付きイントラ予測（ＣＩＰ：constrained intra-prediction）を使用してコード化される（例えば、近隣のインターコード化されたＭＢからのサンプルを参照することなしにイントラコード化される）ことが更に必要とされる。
【０１２１】
[00136]レイヤ間予測
[00137]ＳＶＣは、テクスチャと残差と動きとに基づいて、空間スケーラビリティとＳＮＲスケーラビリティとのためのレイヤ間予測を導入する。ＳＶＣにおける空間スケーラビリティは、２つのレイヤ間の任意の解像度比に一般化され得る。ＳＮＲスケーラビリティは、粗粒度スケーラビリティ（ＣＧＳ：Coarse Granularity Scalability）又は中粒度スケーラビリティ（ＭＧＳ：Medium Granularity Scalability）によって実現され得る。ＳＶＣでは、２つの空間レイヤ又はＣＧＳレイヤは、（ＮＡＬ単位ヘッダ中でｄｅｐｅｎｄｅｎｃｙ＿ｉｄによって示される）異なる依存性レイヤに属するが、２つのＭＧＳレイヤは同じ依存性レイヤ中にあり得る。１つの依存性レイヤは、品質拡張レイヤに対応する、０からより高い値までのｑｕａｌｉｔｙ＿ｉｄをもつ品質レイヤを含む。ＳＶＣでは、以下で説明するように、レイヤ間の冗長性を低減するために、レイヤ間予測方法が利用される。
【０１２２】
[00138]レイヤ間イントラ予測：レイヤ間イントラ予測を使用するコード化モードは、ＳＶＣでは「イントラＢＬ」モードと呼ばれる。シングルループ復号を使用可能にするために、制約付きイントラモードとしてコード化されるベースレイヤ中の同一位置配置されたマクロブロック（ＭＢ）を有するＭＢのみが、レイヤ間イントラ予測モードを使用することができる。制約付きイントラモードＭＢは、近隣のインターコード化されたＭＢからのサンプルを参照することなしにイントラコード化される。
【０１２３】
[00139]レイヤ間残差予測：ＭＢが残差予測を使用するように示される（又はコード化される）場合、レイヤ間予測のためのベースレイヤ中の同一位置配置されたＭＢはインターＭＢでなければならず、それの残差は、空間解像度比に従ってアップサンプリングされ得る。拡張レイヤとベースレイヤのそれとの間の残差の差分がコード化される。
【数１】
2016506683.tif 000003
【数２】
2016506683.tif 000004
【０１２４】
[00140]レイヤ間動き予測：同一位置配置されたベースレイヤ動きベクトルは、拡張レイヤ中のＭＢ又はＭＢ区分の動きベクトルのための予測子を生成するためにスケーリングされ得る。更に、ＭＢごとに１つのフラグを送る、ベースモードと称される１つのＭＢタイプがある。このフラグが真であり、対応するベースレイヤＭＢがイントラでない場合、動きベクトル、区分モード及び参照インデックスは、全てベースレイヤから導出される。
【０１２５】
[00141]ＨＥＶＣにおけるイントラ予測
[00142]イントラ予測の場合、現在ビデオユニットの値を予測するために、隣接予測単位（ＰＵ）からの前に復号された境界サンプルが使用される。例えば、ＨＥＶＣでは、イントラ予測モード７５０として図７Ａに示されている３５個のイントラ予測モードが利用可能である。４×４から３２×３２までのＰＵサイズ（例えば、正方形）について、３３個の異なる方向の向きをもつ方向予測が定義される。可能な予測方向７５６が図７Ａに示されている。代替的に、（例えば、境界から導出された水平及び垂直傾斜をもつ振幅表面を仮定する）平面予測７５２、及び（例えば、境界の平均値に一致する値をもつ平坦な表面）ＤＣ予測７５４も使用され得る。クロマの場合、水平予測モード、垂直予測モード、平面予測モード、及びＤＣ予測モードが明示的に信号伝達され得るか、又はクロマ予測モードは、ルーマ予測モードと同じであることが示され得る。一実施形態では、冗長信号伝達を回避するために、第１の４つの選択肢のうちの１つが示され、ルーマ予測モードと同じであるとき、Ｉｎｔｒａ＿Ａｎｇｕｌａｒ「３４」モードが代わりに適用される。
【０１２６】
[00143]図７Ｂに示されている例では、現在ＰＵ７６２は、その方向が矢印７６６によって示されている、図７Ａに示された方向モード「２９」を使用してイントラ予測される。この例では、現在ＰＵ７６２中の画素又はサンプルは、復号されたＰＵ中の境界サンプル７６４中の画素又はサンプルに基づいて予測される。ＰＵ７６２中の画素又はサンプルの値は、境界サンプル７６４中の１つ又は複数の画素又はサンプルの加重平均として計算され得る。予測方向の角度に応じて、特定の画素を予測するために使用される１つ又は複数の画素又はサンプルの各々に与えられる重みは変更され得る。
【０１２７】
[00144]参照サンプル置換：近隣参照サンプルは、スライス又はタイル境界において利用可能でない。更に、損失耐性機能（例えば、制約付きイントラ予測（ＣＩＰ））が使用可能にされるとき、（例えば、潜在的に破損した前の復号されたピクチャデータに、予測信号中にエラーを伝搬させることを回避するために）どのインターコード化ブロック内の近隣参照サンプルも利用可能でないと見なされる。Ｈ．２６４／ＭＰＥＧ−４ＡＶＣではそのような場合のためにＩｎｔｒａ＿ＤＣ予測モードのみが可能にされるが、ＨＥＶＣは、利用不可能な基準サンプル値（例えば、スライス又はタイル境界における利用不可能な基準サンプル値、又はインターコード化されることにより利用可能でないとマークされたもの）を、近隣の利用可能な基準サンプル値で置換した後に、他のイントラ予測モードの使用を可能にする。全ての近隣サンプルが、イントラ予測のために利用可能でないとマークされたとき、値（１＜＜（ＢｉｔＤｅｐｔｈＹ−１））は、そのような近隣サンプルの値と交換され、但し、ＢｉｔＤｅｐｔｈＹはルーマ信号のビット深度である。
【０１２８】
ＨＥＶＣ  ＳＶＣ及び３ＤＶ拡張のための一般化残差予測
[00145]図７Ｃに、一般化残差予測（ＧＲＰ）モードによる、拡張レイヤブロックの残差を予測するための同一位置配置されたベースレイヤブロックのインター予測残差の使用を示す。図７Ｃに示されているように、ＧＲＰモードでは、拡張レイヤ中の現在ブロックのインター予測残差を予測するために、同一位置配置されたベースレイヤブロックのインター予測残差が使用され得る。例えば、この方法はインターＣＵとスキップモードＣＵとに適用され得る。この種類の残差予測は、スケーラブルビデオコード化と３Ｄビデオコード化とのために使用され得る。この方法のフレームワークは、単方向予測の場合が示されている図７Ｃに示されている。
【０１２９】
[00146]図７Ｃでは、ブロック７４４（Ｂe）とブロック７４８（Ｂb）とは、それぞれ、拡張レイヤピクチャ７４２中の現在ブロックとベースレイヤピクチャ７４６中のそれの同一位置配置されたベースレイヤブロックとを示す。ブロック７２４（Ｐe0）は、動きベクトル７０６を使用することによって取得されたブロック７４４（Ｂe）のための時間予測を示す。同様に、ブロック７２８（Ｐb0）は、（例えば、必要な場合）アップサンプリングされたベースレイヤ参照ピクチャ７２６中で同じ動きベクトル７０６を使用することによって取得されたブロック７４８（Ｂb）のための時間予測を表す。ベースレイヤブロックＲb0のインター予測残差は、例えば、以下の式（２）に示されているように、ブロック７４８とブロック７２８との間の差分を計算することによって取得され得る。
【数３】
2016506683.tif 000005
【０１３０】
[00147]ブロック７４４（Ｂe）のための時間予測７２４（Ｐe0）を考えると、ブロック７４４（Ｂe）のための最終単方向予測Ｐは以下のように取得され得る。
【数４】
2016506683.tif 000006
【０１３１】
[00148]但し、ｗは重み付け係数であり、例えば、値０、０．５、又は１を取り得る。
【０１３２】
[00149]場合によっては（例えば、Ｐフレームの場合）、式（３）の以下の変形態が時々より効率的である。
【数５】
2016506683.tif 000007
【０１３３】
[00150]但し、ｗは、例えば、０．５に等しくなり得る。従って、一実施形態では、例えば、式（３）中でｗが０、０．５、又は１であり、式（４）中でｗが０．５である、上記に記載された４つの重み付けモードは、ＧＲＰモードのために使用され得る。
【０１３４】
[00151]幾つかの実施形態では、重み付け係数ｗは、重み付けインデックスとしてＣＵレベルにおいて信号伝達される。重み付けインデックス０、１、２、及び３（又は異なる順序で）は、それぞれ、式（３）中でｗ＝０、０．５及び１をもち、式（４）中でｗ＝０．５をもつ重み付けモードを示すために使用され得る。正規ＣＡＢＡＣモードでの短縮単項コード（truncated unary code）が信号伝達のために使用される。幾つかの実施形態では、重み付け係数ｗは、上記に記載された値以外の値であり得る。重み付け係数ｗは、例えば、計算複雑さを最小限に抑えるか又はコード化効率を改善するために、式（３）又は式（４）のいずれかについて選定され得る。
【０１３５】
[00152]単一のＭＣ補間ＧＲＰ
[00153]図７Ｃの動きベクトル７０６がサブ画素位置を指すとき、以下で示される残差（Ｐe0−ｗ・Ｐb0）を取得するために、動き補償（ＭＣ）中に拡張レイヤピクチャとベースレイヤピクチャの両方に補間フィルタ処理が適用され得、これは、コード化複雑さを著しく増大させることがある。ＧＲＰモードの計算複雑さ及びメモリ帯域幅要件を低減するために、単一のＭＣ補間が実行され得る。例えば、式（３）は、以下のように、式（５）として書き直され得る。
【数６】
2016506683.tif 000008
【０１３６】
[00154]Ｐe0とＰb0とが同じ動きを共有するので、同じＭＣ補間プロセスを２回実行することを回避するために、拡張レイヤピクチャとベースレイヤピクチャとの間の差分信号（Ｐe0−ｗ・Ｐb0）にＭＣ補間が直接適用され得る。従って、実行されるＭＣ補間プロセスの回数が２から１に低減されるので、計算複雑さ及びメモリアクセスは低減される。この差分信号（Ｐe0−ｗ・Ｐb0）は、全ピクチャレベルにおいて生成され得るか、又はブロックごとにオンザフライで生成され得るかのいずれかである。
【０１３７】
[00155]ＧＲＰのための合成アップサンプリング及びＭＣ補間
[00156]一実施形態では、Ｐb0のためにアップサンプリング及びＭＣ補間プロセスを合成する方法は、メモリ帯域幅要件及び計算複雑さを低減することができる。
【０１３８】
[00157]別の実施形態では、アップサンプリング演算はまた、以下で説明する方法において実装され得る。例えば、ｕｐ（・）及びｉｎｔ（・）が、それぞれアップサンプリング及びＭＣ補間の演算を表す場合、式（３）は次のように書き直され得る。
【数７】
2016506683.tif 000009
【０１３９】
[00158]但し、Ｒｅｆe0とＲｅｆb0とは、整数位置における基準拡張ブロックと基準ベースレイヤブロックとを示し、Ｒｅｃbは、再構成された同一位置配置されたベースレイヤブロックを表す。式（６）では、ｉｎｔ（Ｒｅｆe0）、ｕｐ（Ｒｅｃb）、及びｉｎｔ（ｕｐ（Ｒｅｆb0））は、それぞれ式（３）中のＰe0、Ｂb、及びＰb0に対応する。幾つかの実施形態では、８タップアップサンプリングフィルタ及び８タップ補間フィルタは、それぞれｕｐ（・）及びｉｎｔ（・）のために使用される。アップサンプリング及び補間のために一般に使用されるボーダーパディングを考慮すると、それらの実施形態では、２つの８タップフィルタがカスケード接続されるので、式（６）中の項ｉｎｔ（ｕｐ（Ｒｅｆb0））を決定するために必要なメモリアクセスは、極めて高くなり得る。
【０１４０】
[00159]メモリアクセスを低減するために、１つの単一の８タップフィルタｉｕｐ（・）をもつ２つのカスケード８タップフィルタｉｎｔ（ｕｐ（・））が使用され得る。ベースレイヤ参照ブロックＲｅｆb0の場合、拡張レイヤ動きベクトルＭＶeo（例えば、図７Ｃの動きベクトル７０６）は、拡張レイヤとベースレイヤとの間の解像度比に基づいてターゲット精度にスケーリングされる。次いで、ｉｎｔ（ｕｐ（・））は、スケーリングされたＭＶｅｏに基づいて適用される。２×スケーラビリティ及び１．５×スケーラビリティの場合、ルーマ成分について１／８画素精度及び１／６の画素精度をもつｉｕｐ（・）がしばしば必要とされる。更に、幾つかの実施形態では、１６位相合成アップサンプリング及びＭＣ補間フィルタが実装され得る。
【０１４１】
[00160]イントラブロックのための一般化残差予測
[00161]ＧＲＰはまた、イントラブロックに適用され得る。そのような場合、上記で説明した式中のＰe0及びＰb0は、それぞれ、拡張レイヤピクチャ及びアップサンプリングされたベースレイヤピクチャ中の現在ブロックのイントラ予測を示すことになり、但し、２つのイントラ予測Ｐe0及びＰb0の方向は同じである。
【０１４２】
[00162]代替的に、最初にイントラ予測が差分領域中で実行され得、後でベースレイヤ画素が加算され得る。例えば、最初に、再構成された拡張レイヤピクチャＩeとベースレイヤピクチャＩbとの間の差分ピクチャ（ｗe・Ｉe＝ｗb・Ｉb）が計算され得、次いで、差分ピクチャにイントラ予測が直接適用され得る。ｗe＝１の場合は式（５）に対応するが、ｗe＝ｗbは式（４）に対応することに留意されたい。
【０１４３】
制約付き一般化残差予測
[00163]ＧＲＰがインターブロックに適用されるとき、（例えば、ブロックが単方向予測であるのか又は双方向予測であるのかに応じて）各方向の予測を形成するために３つの参照ブロック（Ｐe、Ｐb、及びＢb）がアクセスされ得る。これはメモリアクセスの帯域幅を増加させ、これは、性能を低下させ、及び／又はＧＲＰモードの場合の計算コストを増加させ得る。従って、ＧＲＰコード化ブロックの動き補償中にメモリアクセスの帯域幅を低減するために、そのようなブロックに幾つかの制約が適用され得る。
【０１４４】
[00164]固定タップフィルタが使用されるとき、ボーダーパディングサイズはフィルタの長さによって決定される。例えば、８タップアップサンプリングフィルタの場合、パディングサイズは各方向において７画素であり得る。従って、３２×３２ブロックがそのようなフィルタによってアップサンプリングされるとき、パディングされたブロックは３９×３９になり、これは、約５０％（３９＊３９／３２＊３２）だけメモリアクセスを増加させる。一方、４×４ブロックが同じフィルタによってアップサンプリングされるとき、パディングされたブロックは１１×１１になり、これは、メモリアクセスの７倍の増加（１１＊１１／４＊４）よりも多い。従って、幾つかの状況では、ある閾値よりも小さいブロックの場合、ＧＲＰを制限することが有利であり得る。
【０１４５】
[00165]一実施形態では、閾値サイズよりも小さいブロックの場合、ＧＲＰモードは、無効にされる（例えば、まったく使用されない）か、又は部分的に無効にされる（例えば、単方向予測ブロックがＧＲＰモードでコード化されることのみを可能にするなど、何らかの方法で制限される）。閾値サイズは、予め定義され得るか、又はシーケンスレベル、ピクチャオブグループ（ＧＯＰ）レベル、ピクチャレベル又はスライスレベルなど、任意のレベルにおいてビットストリーム中で信号伝達され得る。ブロックの特定のセット（例えば、８×８よりも小さい双方向予測ブロック）の場合、ＧＲＰモードが無効にされるとき、これらのブロックの場合、ＧＲＰ重み付け情報がコード化される必要はない。例えば、１６×１６よりも小さいブロックの場合、単方向予測のためにのみＧＲＰモードが可能にされるとき、８×８のサイズを有する双方向予測ブロックの場合、ＧＲＰ重み付けインデックスは信号伝達される必要はない。一方、８×８単方向予測ブロックの場合、ＧＲＰ重み付けインデックスは信号伝達され得る。従って、ＧＲＰモードが少なくとも部分的に無効にされるとき、これらのブロックのためのＧＲＰ重み付け情報のエントロピー符号化は、ＧＲＰ重み付けインデックスの低減されたセットを反映するように相応に変更され得る。代替又は追加として、ＧＲＰ重み付け情報は、ＧＲＰモードが無効にされるブロックについて信号伝達され得るが、ＧＲＰ重み付け情報は、ＧＲＰモードが無効にされることを示し得るか、又はＧＲＰモードが無効にされることを示す１つ又は複数の値に制限され得る。
【０１４６】
[00166]場合によっては、より小さいブロックの場合、異なるＧＲＰ重み付け情報（例えば、ＧＲＰ重み付け係数）は、ＧＲＰ重み付け情報を区別するための信号伝達コストの増加にもかかわらず、それでも同様の歪みにつながり得る。従って、幾つかの実施形態では、閾値サイズよりも小さいブロックの場合、ＧＲＰ重み付け係数がそれから選定され得る値の数は低減され得る。例えば、閾値サイズよりも大きいブロック（例えば、３２×３２ブロック）の場合、重み付け係数ｗは値０、０．５、及び１から選定され得、閾値サイズよりも小さいブロック（例えば、８×８ブロック）の場合、重み付け係数ｗは値０及び１から選定され得る。
【０１４７】
[00167]別の実施形態では、双方向インター予測ブロックの場合、ＧＲＰモードは可能にされない（例えば、無効にされる）。幾つかの実施形態では、ＧＲＰ重み付けインデックスは予測方向の前に信号伝達され得る。そのような実施形態では、インターブロック中の非０ＧＲＰ重み付けインデックスは、ブロックが単方向予測であることを示し、従って、ブロックが単方向予測であるのか双方向予測であるのかを示すフラグは、コード化される必要はない。言い換えれば、リストＬ０からの単方向動きベクトル又はリストＬ１からの単方向動きベクトルのみが信号伝達され得るので（双方向予測ブロックの場合、非０ＧＲＰ重み付けインデックスが信号伝達されなくなるので）インター方向フラグ中の冗長は除去され得る。インター方向フラグコード化中の冗長を除去することは、フラグ符号化及び構文解析プロセスの変更を必要とする。幾つかの実施形態では、インター方向フラグコード化を不変に保つことが望ましい場合、ＧＲＰモードは依然として適用されるが、双方向予測ブロックの場合、可能な２つの方向のうち１つの方向のみを使用し得る。例えば、双方向予測が信号伝達されることを可能にされた場合、Ｌ０からの動きベクトル又はＬ１からの動きベクトルのいずれかのみが、ＧＲＰモードを用いて使用され得る。双方向動きベクトルのために使用されるべき方向の選択は、少なくとも、ピクチャパラメータセット（ＰＰＳ）、シーケンスパラメータセット（ＳＰＳ）、スライスなど、何らかのヘッダにおいて高レベルフラグとして信号伝達され得るか、又は、それは、最大コード化単位（ＬＣＵ）、コード化単位（ＣＵ）、又は予測単位（ＰＵ）レベルなど、ブロックレベルにおいて信号伝達され得る。
【０１４８】
[00168]図８は、本開示の一実施形態による、ビデオ情報をコード化するための方法８００を示すフローチャートである。図８に示されているステップは、エンコーダ（例えば、図２に示されたビデオエンコーダ）、デコーダ（例えば、図３に示されたビデオデコーダ）、又は他の構成要素によって実行され得る。便宜上、ステップについては、エンコーダ、デコーダ又は別の構成要素であり得るコーダによって実行されるものとして説明する。
【０１４９】
[00169]方法８００はステップ８０１において開始する。ステップ８０５において、コーダは、現在ブロックが閾値サイズよりも小さいかどうかを決定する。上記で論じたように、閾値サイズは予め定義され得るか、又は任意のレベルにおいてビットストリーム中で信号伝達され得る。現在ブロックが閾値サイズよりも小さくないと決定された場合、ステップ８２０において、現在ブロックをＧＲＰモードでコード化する。場合によっては、ステップ８１０において、コーダは、現在ブロックが双方向予測であるかどうか（例えば、ブロックが各方向で動きベクトルを有するかどうか）を更に確認する。現在ブロックが双方向予測でないと決定された場合、ステップ８２０において、現在ブロックをＧＲＰモードでコード化する。現在ブロックが双方向予測であると決定された場合、ステップ８１５において、制限付きＧＲＰモードでブロックをコード化する（例えば、ＧＲＰモードのために動きベクトルのうちの１つのみを使用する）か、又はＧＲＰモードを無効にし、ＧＲＰを使用せず、例えば、通常時間予測を使用することによって現在ブロックをコード化する。方法８００はステップ８２５において終了する。
【０１５０】
[00170]上記で説明したように、図２のビデオエンコーダ２０又は図３のビデオデコーダ３０の１つ又は複数の構成要素は、現在ブロックが閾値サイズよりも小さいかどうか、又はそれが双方向予測であるのか単方向予測であるのかを決定すること、及び現在ブロックをＧＲＰモードでコード化するか、又は時間予測などの他のモードでコード化することなど、本開示で説明する技法のいずれかを実装するために使用され得る。
【０１５１】
[00171]別の例では、ＧＲＰ重み付けインデックスがインター予測方向の後に信号伝達される場合、ＧＲＰ重み付けインデックスは、ブロックが単方向予測であることを予測方向が示すときのみ、信号伝達されることになる。双方向予測ブロックの場合、ＧＲＰ重み付けインデックスの信号伝達なしに、双方向予測が信号伝達される場合、ＧＲＰモードはオフである（例えば、双方向予測ブロックの場合、ＧＲＰモードが無効にされることを意味する）と推定され得る。代替的に、ＧＲＰ重み付けインデックスは、依然として双方向動きベクトルについて信号伝達され得るが、それは、ＧＲＰモードが適用されないことを示す０に等しくなることができる。また別の実施形態では、何らかのＧＲＰ重み付けインデックスは双方向について信号伝達され得るが、上記で説明したように、双方向の場合２つの可能な方向のうち一方向のみが使用され得る。そのような実施形態では、上記で説明したように、Ｌ０を使用すべきかＬ１を使用すべきかは、フラグによって示され得る。
【０１５２】
[00172]別の実施形態では、ＧＲＰは、無効にされるか、又は単方向予測ブロックのために部分的に無効にされ得る。その上、上記の実施形態は、信号伝達されたか又は予め定義された閾値を下回るサイズをもつ双方向予測又は単方向予測ブロックの場合、ＧＲＰモードが無効にされるか又は部分的に無効にされるように組み合わせられ得る。
【０１５３】
[00173]上記で説明した技法及び制限はまた、差分領域予測方法及び合成予測方法など、他のレイヤ間テクスチャ予測方法に適用され得る。
【０１５４】
イントラＧＲＰの場合の参照サンプル置換
[00174]幾つかの状況では、差分領域中でイントラ予測を適用するとき（例えば、イントラＧＲＰ）、ＨＥＶＣ規格では、上記で説明したように直接参照サンプル置換を行う（例えば、１＜＜（ＢｉｔＤｅｐｔｈＹ−１）で利用不可能な値を置換する）ことは不利であり得る。例えば、イントラＧＲＰの場合、残差の画素値は通常０になるべきであるので、差分ピクチャが（Ｉe−Ｉb）として定義される８ビットビデオコード化の場合、参照サンプル置換を行うために、１２８に等しい１＜＜（ＢｉｔＤｅｐｔｈＹ−１）を使用することは効率的でない。
【０１５５】
[00175]従って、コード化性能を改善するために、イントラＧＲＰ又は差分領域イントラ予測の場合、参照サンプル置換は、代わりに、拡張レイヤのビット深度と、差分ピクチャが生成される様式とに基づいて行われる。一実施形態では、拡張レイヤのビット深度がＢＤである場合、参照サンプル置換のために使用される値は次のようになる。
【数８】
2016506683.tif 000010
【０１５６】
[00176]そのような実施形態では、８ビットビデオコード化の場合、差分領域イントラ予測中の参照サンプル置換のために使用される値は、ｗe＝ｗb＝１であるとき、０に等しく、ｗe＝１及びｗb＝０．５であるとき、６４に等しい。
【０１５７】
[00177]別の実施形態では、参照サンプル置換は次のように決定される。
【数９】
2016506683.tif 000011
【０１５８】
[00178]但し、Ｃは、例えば、予め定義された定数などの定数である。そのような実施形態では、８ビットビデオコード化の場合、差分領域イントラ予測中の参照サンプル置換のために使用される値は、ｗe＝ｗb＝１及びＣ＝０であるとき、０に等しい。別の例では、ｗe＝１、ｗb＝０．５、及びＣ＝０であるとき、値は６４に等しい。別の例では、ｗe＝１、ｗb＝１、及びＣ＝１２８であるとき、値は１２８に等しい。
【０１５９】
[00179]図９は、本開示の一実施形態による、ビデオ情報をコード化するための方法９００を示すフローチャートである。図９に示されているステップは、エンコーダ（例えば、図２に示されたビデオエンコーダ）、デコーダ（例えば、図３に示されたビデオデコーダ）、又は他の構成要素によって実行され得る。便宜上、方法９００については、エンコーダ、デコーダ又は別の構成要素であり得るコーダによって実行されるものとして説明する。
【０１６０】
[00180]方法９００はブロック９０１において開始する。ブロック９０５において、コーダは、（例えば、隣接ブロックがインターコード化されるので、又は現在ブロックがスライス／タイル境界にあるので）近隣参照サンプルが利用不可能であるかどうかを決定する。近隣参照サンプルが利用不可能でないと決定された場合、コーダはブロック９１５に進み、イントラＧＲＰを使用して現在ブロックをコード化する。コーダが、近隣参照サンプルが利用不可能であると決定した場合、ブロック９１０において、コーダは、現在レイヤのビット深度と、差分ピクチャが生成される様式とに基づいて参照サンプル置換を実行する。例えば、コーダは、利用不可能な参照サンプルが交換されるべき値を決定するために、式（７）及び式（８）に示された公式を使用し得る。参照サンプル置換を実行した後に、コーダは、ブロック９１５においてイントラＧＲＰを使用して現在ブロックをコード化するために、ブロック９１５に進む。方法９００はブロック９２０において終了する。
【０１６１】
[00181]上記で説明したように、図２のビデオエンコーダ２０又は図３のビデオデコーダ３０のうちの１つ又は複数の構成要素は、近隣参照サンプルが利用不可能であるかどうかを決定すること、ビット深度と、差分ピクチャが生成される様式とに基づいて参照サンプル置換を実行すること、及び／又はイントラＧＲＰを使用して現在ブロックをコード化することなど、本開示で説明する技法のいずれかを実装するために使用され得る。
【０１６２】
ＧＲＰのための合成アップサンプリング及びＭＣ補間
[00182]以下で説明する方法の実施形態は、有利には、（１）２×スケーラビリティ及び１．５×スケーラビリティだけよりも多くをサポートし、（２）そのための計算コストが実際には高い１／６画素精度を有する、合成アップサンプリング及びＭＣ補間を回避し、ならびに／又は（３）（実際の実装形態で選好されない）イントラＢＬモードのために使用されるアップサンプリングフィルタとはかなり異なる、合成アップサンプリング及びＭＣ補間フィルタを使用することを回避する。以下の説明では、合成アップサンプリング及びＭＣ補間フィルタを合成フィルタと呼ぶことがある。
【０１６３】
[00183]拡張動きベクトル（ＭＶ）スケーリング
[00184]ソフトウェア及びハードウェア適合性を改善するために、拡張レイヤＭＶは２-nの精度にスケーリングされ得、但し、ｎは整数である。スケーリングは、拡張レイヤのＭＶ精度、及び拡張レイヤとベースレイヤとの間の解像度比に基づく。
【０１６４】
[00185]一実施形態では、拡張レイヤＭＶは常に１／１６の精度にスケーリングされる。別の実施形態では、ＭＶスケーリングの精度は、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）及びスライスヘッダなど、あるレベルにおいてビットストリーム中で信号伝達される。
【０１６５】
[00186]合成フィルタの位相量子化
[00187]概して、２-nの動きベクトル精度の場合、２n個の位相をもつフィルタセットが補間フィルタとして使用される。値ｎは、予め定義されるか、又はビットストリーム中で信号伝達され得る。アップサンプリングフィルタセットと合成フィルタとのフィルタ数は、分数位相の量子化精度に基づいて決定される。アップサンプリングフィルタの分数位相は２つのレイヤ間の空間比に依存し得る。合成フィルタの分数位相は動きベクトルと２つのレイヤ間の空間比の両方に依存し得る。
【０１６６】
[00188]一実施形態では、合成フィルタとアップサンプリングフィルタとの分数位相は同じ精度に量子化される。量子化精度値は、１／８、１／１６など、予め定義された値であり得る。追加又は代替として、合成フィルタ及びアップサンプリングフィルタのルーマ成分とクロマ成分の両方の位相は同じ精度で量子化され得る。追加又は代替として、合成フィルタ及び／又はアップサンプリングフィルタの位相数は、ＳＰＳ、ＰＰＳ、及びスライスヘッダ中などで、あるレベルにおいてビットストリーム中で信号伝達され得る。
【０１６７】
[00189]分離可能合成フィルタ
[00190]上述のように、合成フィルタは、アップサンプリングフィルタとＭＣ補間フィルタとの合成として実装され得る。そのような設計はデコーダ側で選好され得る。しかしながら、エンコーダ側では、別個のアップサンプリングフィルタとＭＣ補間フィルタとが時々選好され得る。しかしながら、合成フィルタは、常に分離可能であるとは限らない。例えば、８タップ１６位相フィルタと８タップ４位相フィルタとは、２つのカスケードフィルタと同じ又は同様の結果を生じ得る８タップ８位相フィルタに合成され得る。そのような場合、合成フィルタは分離可能でないことがある。
【０１６８】
[00191]一実施形態では、分離可能合成フィルタが採用される。そのような実施形態では、合成フィルタはカスケードアップサンプリングフィルタとＭＣ補間フィルタとに分離され得る。例えば、８タップ合成フィルタは２つの４タップフィルタに分離され得、但し、２つのカスケード４タップフィルタの応答は合成８タップフィルタの応答と同じである。このようにして、エンコーダは、２つの分離されたフィルタを使用し得るが、デコーダは合成フィルタを使用し得る。
【０１６９】
[00192]レイヤ間テクスチャ予測のための合成フィルタとアップサンプリングフィルタとの一体化
[00193]合成フィルタに加えて、レイヤ間テクスチャ予測又はイントラＢＬモードのためなどのスケーラブルビデオコード化（例えば、ＳＶＣ、ＳＨＶＣ）、及びベースレイヤと拡張レイヤの両方のためのＭＣ補間において、他のアップサンプリング及び補間フィルタが使用され得る。実際には、全てのこれらの予測ツールは同じフィルタを共有することが有利である。
【０１７０】
[00194]一実施形態では、テクスチャ予測（イントラＢＬモード）のための合成フィルタとアップサンプリングフィルタとは同じフィルタ係数を共有する。更に、合成フィルタとアップサンプリングフィルタとが同じ位相量子化精度を有するとき、上記で説明したように、まったく同じフィルタセットが合成フィルタとアップサンプリングフィルタの両方によって使用され得る。別の実施形態では、合成フィルタは同じフィルタ係数をＭＣ補間フィルタと共有する。代替的に、全ての関係するコード化ツールが同じフィルタ係数を共有する。その上、これらのフィルタ係数は、ＳＰＳ、ＰＰＳ、適応パラメータセット（ＡＰＳ）、又はスライスヘッダ中などで、あるレベルにおいてビットストリーム中で適応的に信号伝達され得る。
【０１７１】
[00195]幾つかの実施形態では、同じフィルタが、フィルタの位相のサブセットのみを使用することによって様々な演算のために使用され得る。例えば、１６位相フィルタがアップサンプリングとＭＣ補間の両方のために使用され得、ここで、全ての１６個の位相がアップサンプリングのために使用されるが、４つのみの位相がＭＣ補間のために使用される。
【０１７２】
[00196]ＧＲＰモードでのルーマ及び／又はクロマのための双一次補間フィルタ
[00197]帯域幅使用を更に低減するために、双一次ＭＣ補間フィルタがルーマ成分、クロマ成分、又はその両方に適用され得る。一実施形態では、ベースレイヤブロック（ルーマのみ、クロマのみ、又はその両方）が最初にアップサンプリングされ、次いで、関係する動きベクトルがサブ画素位置を指すとき、双一次補間される。一実施形態では、双一次補間は、１つの方向（例えば、ｙ方向）の前に、他方の方向（例えば、ｘ方向）において実行され得る。別の実施形態では、補間を実行する順序が切り替えられる。双一次補間が、アップサンプリングされたベースレイヤブロックに適用されたとき、双一次補間は拡張ブロック（ルーマのみ、クロマのみ、又はその両方）にも適用され得る。一実施形態では、ベースレイヤブロックと拡張レイヤブロックの両方（ルーマのみ、クロマのみ、又はその両方）が双一次補間される場合、ベースレイヤブロックと拡張レイヤブロックとに対して別々に補間を実行するのではなく、単一の双一次補間がベースレイヤブロックと拡張レイヤブロックとの間の差分に直接適用され得る。
【０１７３】
[00198]別の実施形態では、合成アップサンプリング及びＭＣ補間フィルタを形成するために、（例えば、４タップフィルタ、６タップフィルタ、８タップフィルタなどを使用することによる）アップサンプリングが双一次ＭＣ補間フィルタと合成される。この合成フィルタは、上記で説明したように、分離可能又は非分離可能のいずれかであり得る。
【０１７４】
簡略化された一般化残差予測
[00199]上記で説明したように、幾つかの実施形態では、メモリアクセス要件と計算複雑さとを低減するために（例えば、２つのカスケード８タップフィルタ処理の代わりに）８タップ合成アップサンプリング及びＭＣ補間フィルタが使用される。しかしながら、以下で説明する実施形態では、ＧＲＰのための（マージ、スキップ又はベースモードなど、推定モードが使用されるとき、特に高くなり得る）帯域幅要件及び信号伝達コストは、更に低減され得る。
【０１７５】
[00200]短合成アップサンプリング及びＭＣ補間フィルタ
[00201]上記で説明したように、一般化残差予測（ＧＲＰ）は、ベースレイヤ参照ブロックをアップサンプリングすること（例えば、ＨＥＶＣにおいて使用される８タップアップサンプリングフィルタ）と、拡張レイヤ動きベクトルがサブ画素位置を指す場合、アップサンプリングされたベースレイヤ参照ブロックに対してＭＣ補間フィルタ（例えば、ＨＥＶＣにおいて使用される８タップＭＣ補間フィルタ）を適用することとを伴う。しかしながら、２つのカスケード８タップフィルタを適用するために必要とされるボーダーパディングの量は、ＧＲＰのための高いメモリアクセス要件を生じ得る。従って、上記で説明した実施形態の幾つかでは、２つのカスケード８タップフィルタを使用する代わりに、アップサンプリングとＭＣ補間の両方を行うための単一の合成８タップフィルタの使用が提案される。
【０１７６】
[00202]別の実施形態では、ＧＲＰモードの場合、４タップアップサンプリングフィルタと双一次補間フィルタとが使用される。代替的に、５タップ合成アップサンプリングとＭＣ補間フィルタとが使用され得る。５タップ合成フィルタは、カスケード４タップアップサンプリングフィルタと双一次補間フィルタとに分離され得る。代替的に、６タップよりも長くないフィルタも使用され得る。別の実施形態では、ＧＲＰモードの場合、４タップ合成アップサンプリング及びＭＣ補間フィルタが使用される。代替的に、６タップよりも長くないフィルタも使用され得る。例えば、ＧＲＰモードでアップサンプリング及びＭＣ補間のために使用されるべきフィルタのタイプは、コーダ（例えば、エンコーダ又はデコーダ）中にハードコード化され得る。
【０１７７】
[00203]図１０は、本開示の一実施形態による、ビデオ情報をコード化するための方法１０００を示すフローチャートである。図１０に示されているステップは、エンコーダ（例えば、図２に示されたビデオエンコーダ）、デコーダ（例えば、図３に示されたビデオデコーダ）、又は他の構成要素によって実行され得る。便宜上、方法１０００については、エンコーダ、デコーダ又は別の構成要素であり得るコーダによって実行されるものとして説明する。
【０１７８】
[00204]方法１０００はブロック１００１において開始する。ブロック１００５において、コーダは、４タップアップサンプリングフィルタを使用してベースレイヤ参照ブロックをアップサンプリングする。例えば、コーダは、以下の表１に示されている４タップ１６位相フィルタを使用し得る。ブロック１０１０において、コーダは、アップサンプリングされたベースレイヤ参照ブロックに対して双一次補間フィルタを適用することによって動き補償補間を実行する。ブロック１０１５において、コーダは、ブロック１０１０において実行された動き補償に基づいてベースレイヤ残差情報を決定する。ブロック１０２０において、コーダは、ベースレイヤ残差情報に重み付け係数ｗを適用することによって、重み付けされたベースレイヤ残差情報を決定し、重み付けされたベースレイヤ残差情報に基づいて現在ブロックを決定する（例えば、予測又は再構成する）。例えば、現在ブロックは、上記で説明した式（６）に示された公式に従って決定され得る。方法１０００はブロック１０２５において終了する。
【０１７９】
[00205]上記で説明したように、図２のビデオエンコーダ２０又は図３のビデオデコーダ３０の１つ又は複数の構成要素は、４タップアップサンプリングフィルタ又は双一次補間フィルタを適用すること、ベースレイヤ残差情報を決定すること、及び重み付けされたベースレイヤ残差情報に基づいて現在ブロックを決定することなど、本開示で説明する技法のいずれかを実装するために使用され得る。
【０１８０】
[00206]一実施形態では、以下の表１で与えられる４タップ１６位相フィルタが使用され得る。それは、ＧＲＰモードの場合、アップサンプリングフィルタ、ＭＣ補間フィルタ、又は合成フィルタとして使用され得る。
【表１】
2016506683.tif 000012
【０１８１】
[00207]３タップアップサンプリング／平滑化フィルタ
[00208]一実施形態では、（１：１アップサンプリングフィルタとも考えられ得る）３タップ平滑化フィルタがＳＮＲ事例においてＧＲＰモードに適用される。例えば、一実施形態では、フィルタ係数は（９、４６、９）である。別の実施形態では、ＧＲＰモードの場合、３タップアップサンプリング／レイヤ間フィルタが空間事例とＳＮＲ事例の両方において使用される。そのような３タップアップサンプリング／レイヤ間フィルタのための係数の２つの例示的なセットが以下の表２及び表３に示されている。
【表２】
2016506683.tif 000013
【表３】
2016506683.tif 000014
【０１８２】
[00209]図１１は、本開示の一実施形態による、ビデオ情報をコード化するための方法１１００を示すフローチャートである。図１１に示されているステップは、エンコーダ（例えば、図２に示されたビデオエンコーダ）、デコーダ（例えば、図３に示されたビデオデコーダ）、又は他の構成要素によって実行され得る。便宜上、方法１１００については、エンコーダ、デコーダ又は別の構成要素であり得るコーダによって実行されるものとして説明する。
【０１８３】
[00210]方法１１００はブロック１１０１において開始する。ブロック１１０５において、コーダは、６つ以下のタップを有する合成アップサンプリング及びＭＣ補間フィルタを適用することによって、ベースレイヤ参照ブロックをアップサンプリングし、ＭＣ補間を実行する。一実施形態では、５タップ合成アップサンプリング及びＭＣ補間フィルタが使用される。別の実施形態では、表１に示されているものなど、４タップ合成アップサンプリング及びＭＣ補間フィルタが使用される。また別の実施形態では、表２及び表３に示されているものなど、３タップ合成アップサンプリング及びＭＣ補間フィルタが使用される。ブロック１１１０において、コーダは、ベースレイヤ参照ブロックに対して実行されるアップサンプリング及びＭＣ補間に基づいてベースレイヤ残差情報を決定する。ブロック１１１５において、ベースレイヤ残差情報に重み付け係数ｗを適用し、重み付けされたベースレイヤ残差情報に基づいて現在ブロックを決定する（例えば、予測又は再構成する）。例えば、現在ブロックは、上記で説明した式（６）に示された公式に従って決定され得る。方法１１００はブロック１１２０において終了する。
【０１８４】
[00211]上記で説明したように、図２のビデオエンコーダ２０又は図３のビデオデコーダ３０の１つ又は複数の構成要素は、合成アップサンプリング及びＭＣ補間フィルタを適用することなど、本開示で説明する技法のいずれかを実装するために使用され得る。
【０１８５】
[00212]特定のビデオ信号成分のためにＧＲＰを無効化
[00213]一実施形態では、ＧＲＰはルーマ成分に適用されるのみである。そのような実施形態では、ＧＲＰはクロマ成分について無効にされ、通常時間予測がクロマ成分のために使用される。他の実施形態では、ＧＲＰは、ルーマのみ又はクロマのみなど、ビデオ信号成分の任意の組合せに適用され得る。例えば、幾つかの実施形態では、ＧＲＰはクロマ成分に適用されるのみである。そのような実施形態では、ＧＲＰはルーマ成分について無効にされ、通常時間予測がルーマ成分のために使用される。
【０１８６】
[00214]別の実施形態では、ＧＲＰは、通常、指定されたサイズ範囲中のブロックのために適用され、指定された範囲外のブロックの場合、ＧＲＰは、ルーマのみ又はクロマのみなど、ビデオ信号成分のサブセットのみに適用される。別の実施形態では、ＧＲＰは、通常、閾値サイズよりも大きいブロックのために適用され、閾値サイズよりも小さいかそれに等しいブロックの場合、ＧＲＰは、ルーマのみ又はクロマのみなど、ビデオ信号成分のサブセットのみに適用される。サイズ範囲又は閾値サイズは、予め定義され得るか、又はシーケンスレベル、ピクチャオブグループ（ＧＯＰ）レベル、ピクチャレベル又はスライスレベルなど、任意のレベルにおいてビットストリーム中で信号伝達され得る。
【０１８７】
[00215]図１２は、本開示の一実施形態による、ビデオ情報をコード化するための方法１２００を示すフローチャートである。図１２に示されているステップは、エンコーダ（例えば、図２に示されたビデオエンコーダ）、デコーダ（例えば、図３に示されたビデオデコーダ）、又は他の構成要素によって実行され得る。便宜上、方法１２００については、エンコーダ、デコーダ又は別の構成要素であり得るコーダによって実行されるものとして説明する。
【０１８８】
[00216]方法１２００はブロック１２０１において開始する。ブロック１２０５において、コーダは、クロマ専用モードが有効にされるかどうかを決定する。クロマ専用モードが有効にされると決定された場合、コーダはブロック１２２０に進み、クロマ成分にのみＧＲＰを適用し、ルーマ成分に通常時間予測を適用する。クロマ専用モードが有効にされないと決定された場合、コーダはブロック１２１０に進み、ルーマ専用モードが有効にされるかどうかを決定する。ルーマ専用モードが有効にされると決定された場合、コーダはブロック１２１５に進み、ルーマ成分にのみＧＲＰを適用し、クロマ成分に通常時間予測を適用する。ルーマ専用モードが有効にされないと決定された場合、コーダはブロック１２２５に進み、全てのビデオ成分に（例えば、ルーマ成分とクロマ成分の両方に）ＧＲＰを適用する。方法１２００はブロック１２３０において終了する。
【０１８９】
[00217]別の実施形態では、図１２に示された１つ又は複数のステップは、省略されるか又は並べ替えられ得る。例えば、クロマ専用モードが有効にされるかどうかが決定される前に、ルーマ専用モードが有効にされるかどうかが決定され得る。更に、コーダは、ルーマ専用モードが有効にされた場合、クロマ専用モードが有効にされないと自動的に仮定し得、その逆も同様である。また、コーダは、他のモードが有効にされるかどうかを検査することなしに、ルーマ専用（又はクロマ専用）モードが有効にされるかどうかのみを検査し得る。
【０１９０】
[00218]上記で説明したように、図２のビデオエンコーダ２０又は図３のビデオデコーダ３０の１つ又は複数の構成要素は、ルーマ成分にのみＧＲＰを適用すること、又はクロマ成分にのみＧＲＰを適用することなど、本開示で説明する技法のいずれかを実装するために使用され得る。
【０１９１】
[00219]スキップ／マージ又はベースモードでの推定ＧＲＰ重み付け
[00220]ＧＲＰが適用されたとき、重み付け情報が、ＣＵレベル又はＰＵレベルにおいてなど、あるレベルにおいて信号伝達される。一実施形態では、推定モード（例えば、スキップ／マージＣＵ／ＰＵ）の場合、現在ＣＵ／ＰＵのＧＲＰ重み付け情報は、動き情報が導出されるのと同様に、空間的及び／又は時間的に近隣のＣＵ／ＰＵからコピー（例えば、推定）される。例えば、現在ＰＵについてのＧＲＰ重み付け情報は、現在ＰＵに近隣又は隣接しているＰＵから導出され得る。別の例では、現在ＰＵについてのＧＲＰ重み付け情報は、現在ＰＵが位置する現在ピクチャに時間的に隣接するピクチャ中のＰＵから導出され得る。従って、そのような実施形態では、ＧＲＰ重み付け情報はＣＵ／ＰＵについて明示的にコード化されず、その結果信号伝達コスト削減が生じる。
【０１９２】
[00221]別の実施形態では、推定モードの場合、ＧＲＰ重み付け情報はデフォルト値に設定され、ＧＲＰ重み付け情報はＣＵ／ＰＵについて明示的に信号伝達されない。デフォルト値は、予め定義されるか、又はシーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、適応パラメータセット（ＡＰＳ）、スライスヘッダ中などで、任意のレベルにおいてビットストリーム中で信号伝達され得る。
【０１９３】
[00222]別の実施形態では、推定モードの場合、動き情報及び／又は区分情報がベースレイヤから導出される場合、ＣＵ／ＰＵのＧＲＰ重み付け情報もベースレイヤから導出される。ベースレイヤがビットストリーム中の第１のレイヤ（例えば、ＨＥＶＣ互換のレイヤ）であるとき、ＧＲＰ重み付け情報はデフォルト値に設定され得、それは、予め定義されるか又はビットストリーム中で信号伝達され得る。ベースレイヤが別のレイヤの拡張レイヤであるとき、ＧＲＰ重み付け情報は、例えば、同一位置配置されたベースレイヤブロックから、又はベースレイヤ中心ブロックから、又はベースレイヤ右下ブロックからそれをコピーすることによって、又は動き情報が導出されるのと同様に、直接それのベースレイヤから導出され得る。関係する（例えば、同一位置配置された）ベースレイヤブロックがイントラコード化されるとき、デフォルトＧＲＰ重み付け値が使用され得る。このデフォルト値は、予め定義されるか、又はビットストリーム中で明示的に信号伝達され得る。
【０１９４】
[00223]別の実施形態では、（１：１アップサンプリングを含む）アップサンプリングされたベースレイヤピクチャが拡張レイヤの参照ピクチャリストに入れられるとき、ＧＲＰ重み付け情報も新しい参照ピクチャ中に含められ得る。マッピングプロセスは動き情報のマッピングと同じであり得る。例えば、ＧＲＰ重み付け情報を含む新しい参照ピクチャ、ならびにアップサンプリングされたベースレイヤピクチャが拡張レイヤの参照ピクチャリストに追加され得る。一実施形態では、ＧＲＰ重み付け情報のフィールドが、アップサンプリングされたベースレイヤピクチャのそれぞれの部分に関連付けられ得る。従って、ＧＲＰ重み付け情報は、時間動きベクトル予測子（ＴＭＶＰ）と同様の方法で導出され得る。
【０１９５】
[00224]図１３は、本開示の一実施形態による、ビデオ情報をコード化するための方法１３００を示すフローチャートである。図１３に示されているステップは、エンコーダ（例えば、図２に示されたビデオエンコーダ）、デコーダ（例えば、図３に示されたビデオデコーダ）、又は他の構成要素によって実行され得る。便宜上、方法１３００については、エンコーダ、デコーダ又は別の構成要素であり得るコーダによって実行されるものとして説明する。
【０１９６】
[00225]方法１３００はブロック１３０１において開始する。ブロック１３０５において、コーダは、現在ブロックが推定モードでコード化されるかどうかを決定する（例えば、ＣＵ／ＰＵをスキップするか、又はＣＵ／ＰＵをマージする）。現在ブロックが推定モードでコード化されないと決定された場合、コーダはブロック１３１５に進み、予め定義されたか、又は信号伝達された重み付け係数に基づいて現在ブロックを決定する。現在ブロックが推定モードでコード化されると決定された場合、コーダはブロック１３１０に進み、隣接ブロック又はベースレイヤブロックからＧＲＰ重み付け情報を導出する。ブロック１３２０において、コーダは、導出された重み付け情報に基づいて現在ブロックを決定する。方法１３００はブロック１３２５において終了する。
【０１９７】
[00226]上記で説明したように、図２のビデオエンコーダ２０又は図３のビデオデコーダ３０の１つ又は複数の構成要素は、時間的又は空間的な隣接ブロックからＧＲＰ重み付け情報を導出することなど、本開示で説明する技法のいずれかを実装するために使用され得る。
【０１９８】
[00227]ベースレイヤ参照にアクセスすることを回避する
[00228]ＧＲＰでは、ベースレイヤ参照はアクセスされる（及び空間事例ではアップサンプリングされる）。しかしながら、そのようなベースレイヤ参照にアクセスすることが望ましくなくなる状況があり得る。一実施形態では、ベースレイヤ参照にアクセスすることを回避するために、低域フィルタを用いて関係する（例えば、同一位置配置された）拡張レイヤ参照をフィルタ処理することによってベースレイヤ参照が模倣される。例えば、ベースレイヤ参照にアクセスする代わりに、ベースレイヤ参照と同一位置配置された拡張レイヤ参照が低域フィルタを用いてフィルタ処理され、ＧＲＰを実行する過程においてアクセスされ得る。従って、フィルタ処理された拡張レイヤ参照は、同一位置配置されたベースレイヤ参照を「模倣」することができ、ベースレイヤ参照のアクセスすることは回避され得る。
【０１９９】
[00229]一実施形態では、ＧＲＰの場合にアクセスされる必要がある任意の関係する（例えば、同一位置配置されたか、近隣であるか、又は他の）アップサンプリングされたベースレイヤ参照を模倣するために、固定低域フィルタが拡張レイヤ参照に適用される。模擬参照は、ＧＲＰにおいてアップサンプリングされたベースレイヤ参照の代わりに使用され得る。例えば、上述の固定４タップフィルタ又は３タップフィルタは、模擬参照を導出するために、拡張レイヤ参照をフィルタ処理するために使用され得る。別の実施形態では、模擬アップサンプリングされたベースレイヤ参照を生成するために、適応フィルタが使用される。フィルタ係数は、ＰＰＳ、ＡＰＳ、又はスライスヘッダ中など、拡張レイヤのビットストリーム中で信号伝達され得る。
【０２００】
[00230]図１４は、本開示の一実施形態による、ビデオ情報をコード化するための方法１４００を示すフローチャートである。図１４に示されているステップは、エンコーダ（例えば、図２に示されたビデオエンコーダ）、デコーダ（例えば、図３に示されたビデオデコーダ）、又は他の構成要素によって実行され得る。便宜上、方法１４００については、エンコーダ、デコーダ又は別の構成要素であり得るコーダによって実行されるものとして説明する。
【０２０１】
[00231]方法１４００はブロック１４０１において開始する。ブロック１４０５において、コーダは、同一位置配置された拡張レイヤ参照をフィルタ処理することによって、模擬アップサンプリングされたベースレイヤ参照を作成する。例えば、コーダは、模擬アップサンプリングされたベースレイヤ参照を作成するために、固定低域フィルタ又は適応フィルタなど、上記で説明したフィルタのいずれかを使用することができる。ブロック１４１０において、コーダは、ベースレイヤ参照を参照することなしに、模擬アップサンプリングされたベースレイヤ参照に基づいてＧＲＰモードで現在ブロックを決定する。例えば、模擬参照は、現在ブロックをＧＲＰモードで予測又は再構成するために、（例えば、式（６）に示された）アップサンプリングされたベースレイヤ参照の代わりに使用され得る。方法１４００はブロック１４１５において終了する。
【０２０２】
[00232]上記で説明したように、図２のビデオエンコーダ２０又は図３のビデオデコーダ３０の１つ又は複数の構成要素は、同一位置配置されたか、又は他の関係する拡張レイヤ参照をフィルタ処理することによって模擬アップサンプリングされたベースレイヤ参照を作成又は導出すること、及び模擬参照に基づいて現在ブロックを決定することなど、本開示で説明する技法のいずれかを実装するために使用され得る。
【０２０３】
[00233]本明細書で開示する情報及び信号は、多種多様な技術及び技法のいずれかを使用して表され得る。例えば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁界又は磁性粒子、光場又は光学粒子、又はそれらの任意の組合せによって表され得る。
【０２０４】
[00234]本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、又は両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、及びステップについて、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例及び全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【０２０５】
[00235]本明細書で説明した技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信機器ハンドセット、又はワイヤレス通信機器ハンドセット及び他の機器における適用例を含む複数の用途を有する集積回路機器など、様々な機器のいずれかにおいて実装され得る。モジュール又は構成要素として説明した特徴は、集積論理機器に一緒に、又は個別であるが相互運用可能な論理機器として別々に実装され得る。ソフトウェアで実装した場合、本技法は、実行されたとき、上記で説明した方法のうちの１つ又は複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気又は光学データ記憶媒体など、メモリ又はデータ記憶媒体を備え得る。本技法は、追加又は代替として、伝搬信号又は電波など、命令又はデータ構造の形態でプログラムコードを搬送又は伝達し、コンピュータによってアクセスされ、読み取られ、及び／又は実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０２０６】
[00236]プログラムコードは、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、又は他の等価の集積回路又はディスクリート論理回路など、１つ又は複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明する技法のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であり得る。プロセッサは、コンピュータ機器の組合せ、例えば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つ又は複数のマイクロプロセッサ、又は任意の他のそのような構成として実装され得る。従って、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、又は本明細書で説明した技法の実装に好適な他の構造又は装置のいずれかを指す。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のソフトウェアモジュール又はハードウェアモジュール内に提供されるか、又は複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。また、本技法は、１つ又は複数の回路又は論理要素において完全に実装され得る。
【０２０７】
[00237]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実装され得る。本開示では、開示する技法を実行するために構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上記で説明した１つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作可能なハードウェアユニットの集合によって与えられ得る。
【０２０８】
[00238]本発明の様々な実施形態について説明した。これら及び他の実施形態は以下の特許請求の範囲内に入る。
【図１】
2016506683.tif 000015
【図２】
2016506683.tif 000016
【図３】
2016506683.tif 000017
【図４】
2016506683.tif 000018
【図５】
2016506683.tif 000019
【図６】
2016506683.tif 000020
【図７Ａ】
2016506683.tif 000021
【図７Ｂ】
2016506683.tif 000022
【図７Ｃ】
2016506683.tif 000023
【図８】
2016506683.tif 000024
【図９】
2016506683.tif 000025
【図１０】
2016506683.tif 000026
【図１１】
2016506683.tif 000027
【図１２】
2016506683.tif 000028
【図１３】
2016506683.tif 000029
【図１４】
2016506683.tif 000030
【国際調査報告】
2016506683.tif 000031
2016506683.tif 000032
2016506683.tif 000033
2016506683.tif 000034