(57)【特許請求の範囲】
【請求項１】
マルチレイヤビットストリーム中のピクチャを符号化するための方法であって、
第１のコーディングスキームに基づいて前記マルチレイヤビットストリームの少なくとも１つのエンハンスメントレイヤを符号化すること、前記マルチレイヤビットストリームは、前記エンハンスメントレイヤとは異なるベースレイヤを備える、と、
前記ベースレイヤが前記第１のコーディングスキームまたは前記第１のコーディングスキームに関連付けられたコーディングスキームに基づいてコーディングされたかどうかを決定することと、
前記ベースレイヤのビデオパラメータセット（ＶＰＳ）中で適合ウィンドウフラグを符号化すること、前記適合ウィンドウフラグは、前記ＶＰＳが少なくとも１つの位置オフセットを備えるかどうかを示し、前記少なくとも１つの位置オフセットは、前記ピクチャのための位置情報を示す、と、
前記ベースレイヤが前記第１のコーディングスキームまたは前記第１のコーディングスキームに関連付けられたコーディングスキームに基づいてコーディングされたと決定することに応答して、第１の予め定められた値に前記適合ウィンドウフラグを設定することと、
前記ベースレイヤが前記第１のコーディングスキームまたは前記第１のコーディングスキームに関連付けられたコーディングスキームに基づいてコーディングされなかったと決定することに応答して、（ｉ）前記第１の予め定められた値と異なる第２の予め定められた値に前記適合ウィンドウフラグを設定すること、前記第２の予め定められた値は、前記ＶＰＳが前記少なくとも１つの位置オフセットを備えることを示す、と、（ｉｉ）前記ベースレイヤの前記ＶＰＳ中の前記少なくとも１つの位置オフセットを符号化することと
を備える、方法。
【請求項２】
前記コーディングスキームは、前記コーディングスキームが前記第１のコーディングスキームと同等である場合にのみ、前記第１のコーディングスキームに関連付けられる、
請求項１に記載の方法。
【請求項３】
前記コーディングスキームは、前記第１のコーディングスキームが前記コーディングスキームのスケーラブル拡張である場合にのみ、前記第１のコーディングスキームに関連付けられる、
請求項１に記載の方法。
【請求項４】
前記少なくとも１つの位置オフセットは、左オフセット、右オフセット、上オフセット、および下オフセットのうちの少なくとも１つを備える、
請求項１に記載の方法。
【請求項５】
前記ベースレイヤが前記第１のコーディングスキームまたは前記第１のコーディングスキームに関連付けられたコーディングスキームに基づいてコーディングされなかったと決定することに応答して、前記少なくとも１つの位置オフセットに基づいて前記ピクチャを符号化することをさらに備える、
請求項４に記載の方法。
【請求項６】
前記ベースレイヤは、出力ピクチャサイズをさらに備える、
請求項１に記載の方法。
【請求項７】
マルチレイヤビットストリーム中のピクチャを符号化するための装置であって、
メモリと、
前記メモリに動作可能に結合されたハードウェアプロセッサと
を備え、前記ハードウェアプロセッサは、
第１のコーディングスキームに基づいて前記マルチレイヤビットストリームの少なくとも１つのエンハンスメントレイヤを符号化すること、前記マルチレイヤビットストリームは、前記エンハンスメントレイヤとは異なるベースレイヤを備える、と、
前記ベースレイヤが前記第１のコーディングスキームまたは前記第１のコーディングスキームに関連付けられたコーディングスキームに基づいてコーディングされたかどうかを決定することと、
前記ベースレイヤのビデオパラメータセット（ＶＰＳ）中の適合ウィンドウフラグを符号化すること、ここにおいて、前記適合ウィンドウフラグは、前記ＶＰＳが少なくとも１つの位置オフセットを備えるかどうかを示し、前記少なくとも１つの位置オフセットは、前記ピクチャのための位置情報を示す、と、
前記ベースレイヤが前記第１のコーディングスキームまたは前記第１のコーディングスキームに関連付けられたコーディングスキームに基づいてコーディングされたと決定することに応答して、第１の予め定められた値に前記適合ウィンドウフラグを設定することと、
前記ベースレイヤが前記第１のコーディングスキームまたは前記第１のコーディングスキームに関連付けられたコーディングスキームに基づいてコーディングされなかったと決定することに応答して、（ｉ）前記第１の予め定められた値と異なる第２の予め定められた値に前記適合ウィンドウフラグを設定すること、前記第２の予め定められた値は、前記ＶＰＳが前記少なくとも１つの位置オフセットを備えることを示す、と、（ｉｉ）前記ベースレイヤの前記ＶＰＳ中の前記少なくとも１つの位置オフセットを符号化することと
を行うように構成される、装置。
【請求項８】
コーディングスキームは、前記コーディングスキームが前記第１のコーディングスキームと同等である場合にのみ、前記第１のコーディングスキームに関連付けられる、
請求項７に記載の装置。
【請求項９】
コーディングスキームは、前記第１のコーディングスキームが前記コーディングスキームのスケーラブル拡張である場合にのみ、前記第１のコーディングスキームに関連付けられる、
請求項７に記載の装置。
【請求項１０】
前記少なくとも１つの位置オフセットは、左オフセット、右オフセット、上オフセット、および下オフセットのうちの少なくとも１つを備える、
請求項７に記載の装置。
【請求項１１】
前記ベースレイヤが前記第１のコーディングスキームまたは前記第１のコーディングスキームに関連付けられたコーディングスキームに基づいてコーディングされなかったと決定することに応答して、前記プロセッサは、前記少なくとも１つの位置オフセットに基づいて前記ピクチャを符号化するようにさらに構成される、
請求項１０に記載の装置。
【請求項１２】
前記ベースレイヤは、出力ピクチャサイズをさらに備える、
請求項７に記載の装置。
【請求項１３】
マルチレイヤビットストリーム中のピクチャを復号するための方法であって、
前記マルチレイヤビットストリームを受信すること、前記マルチレイヤビットストリームは、少なくともエンハンスメントレイヤとベースレイヤとを備え、前記ベースレイヤは、前記マルチレイヤビットストリームの他のレイヤを符号化するために使用されたコーディングスキームに関連しないコーディングスキームを使用してコーディングされたベースレイヤ、または前記マルチレイヤビットストリームの他のレイヤを符号化するために使用されたコーディングスキームに関連するコーディングスキームを使用してコーディングされたベースレイヤである、と、
前記ベースレイヤのビデオパラメータセット（ＶＰＳ）中の適合ウィンドウフラグを復号すること、前記適合ウィンドウフラグは、前記ＶＰＳが少なくとも１つの位置オフセットを備えるかどうかを示す、と、
前記適合ウィンドウフラグが予め定められた値に設定されていることに応答して、前記ベースレイヤの前記ＶＰＳ中の少なくとも１つの位置オフセットを復号することと
を備える、方法。
【請求項１４】
前記少なくとも１つの位置オフセットは、左オフセット、右オフセット、上オフセット、および下オフセットのうちの少なくとも１つを備える、
請求項１３に記載の方法。
【請求項１５】
前記適合ウィンドウフラグが予め定められた値に設定されていることに応答して、前記少なくとも１つの位置オフセットに基づいて前記ピクチャを復号することをさらに備える、
請求項１４に記載の方法。
【請求項１６】
前記ベースレイヤは、出力ピクチャサイズをさらに備える、
請求項１３に記載の方法。
【請求項１７】
マルチレイヤビットストリーム中のピクチャを復号するための装置であって、
メモリと、
前記メモリに動作可能に結合されたハードウェアプロセッサと
を備え、前記ハードウェアプロセッサは、
ビデオコーデックにおいて前記マルチレイヤビットストリームを受信すること、前記マルチレイヤビットストリームは、少なくともエンハンスメントレイヤとベースレイヤとを備え、前記ベースレイヤは、前記マルチレイヤビットストリームの他のレイヤを符号化するために使用されたコーディングスキームに関連しないコーディングスキームを使用してコーディングされたベースレイヤ、または前記マルチレイヤビットストリームの他のレイヤを符号化するために使用されたコーディングスキームに関連するコーディングスキームを使用してコーディングされたベースレイヤである、と、
前記ベースレイヤのビデオパラメータセット（ＶＰＳ）中の適合ウィンドウフラグを復号すること、ここにおいて、前記適合ウィンドウフラグは、前記ＶＰＳが少なくとも１つの位置オフセットを備えるかどうかを示す、と、
前記適合ウィンドウフラグが予め定められた値に設定されていることに応答して、前記ベースレイヤの前記ＶＰＳ中の前記少なくとも１つの位置オフセットを復号することと
を行うように構成される、装置。
【請求項１８】
前記少なくとも１つの位置オフセットは、左オフセット、右オフセット、上オフセット、および下オフセットのうちの少なくとも１つを備える、
請求項１７に記載の装置。
【請求項１９】
前記プロセッサは、前記適合ウィンドウフラグが予め定められた値に設定されていることに応答して、前記少なくとも１つの位置オフセットに基づいて前記ピクチャを復号することを行うようにさらに構成される、
請求項１８に記載の装置。
【請求項２０】
前記ベースレイヤは、出力ピクチャサイズをさらに備える、
請求項１７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、一般に、ビデオコーディングおよび圧縮の分野に関し、より詳細には、適合ウィンドウ情報に基づいてピクチャをコーディングすることに関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ムービングピクチャエキスパートグループ−２（ＭＰＥＧ−２）、ＭＰＥＧ−４、万国電信連合−電気通信標準化部門（ＩＴＵ−Ｔ）Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ  １０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【発明の概要】
【０００３】
[0003]本開示のシステム、方法およびデバイスは、それぞれいくつかの発明的態様を有し、それらのうちの単一の態様が、本明細書で開示する望ましい属性を単独で担当するとは限らない。
【０００４】
[0004]一態様では、第１のコーディングスキームに従ってマルチレイヤビットストリームの少なくとも１つのレイヤを符号化することを伴い得、マルチレイヤビットストリームがベースレイヤを備える、マルチレイヤビットストリーム中のピクチャを符号化するための方法が提供される。本方法はまた、ベースレイヤのビデオパラメータセット（ＶＰＳ：Video Parameter Set）中でピクチャのための適合ウィンドウフラグと少なくとも１つの位置オフセットとを符号化することを伴い得、適合ウィンドウフラグは、ＶＰＳが少なくとも１つの位置オフセットを備えることを示す。
【０００５】
[0005]別の態様では、メモリ、ならびにメモリに動作可能に結合され、第１のコーディングスキームに従ってマルチレイヤビットストリームの少なくとも１つのレイヤを符号化するように構成されたハードウェアプロセッサを含み得、マルチレイヤビットストリームがベースレイヤを備える、マルチレイヤビットストリーム中のピクチャを符号化するための装置が提供される。プロセッサは、ベースレイヤのビデオパラメータセット（ＶＰＳ）中で適合ウィンドウフラグと少なくとも１つの位置オフセットとを符号化するようにさらに構成され得、ここにおいて、適合ウィンドウフラグは、ＶＰＳが少なくとも１つの位置オフセットを備えることを示す。
【０００６】
[0006]一態様では、マルチレイヤビットストリームを受信することを伴い得、マルチレイヤビットストリームがベースレイヤを備える、マルチレイヤビットストリーム中のピクチャを復号するための方法が提供される。本方法はまた、ベースレイヤのビデオパラメータセット（ＶＰＳ）中で適合ウィンドウフラグと少なくとも１つの位置オフセットとを復号することを伴い得、適合ウィンドウフラグは、ＶＰＳが少なくとも１つの位置オフセットを備えることを示す。
【０００７】
[0007]また別の態様では、メモリ、ならびにメモリに動作可能に結合され、ビデオコーデックにおいてマルチレイヤビットストリームを受信するように構成されたハードウェアプロセッサを含み得、マルチレイヤビットストリームがベースレイヤを備える、マルチレイヤビットストリーム中のピクチャを復号するための装置が提供される。プロセッサは、ベースレイヤのビデオパラメータセット（ＶＰＳ）中で適合ウィンドウフラグと少なくとも１つの位置オフセットとをコーディングするようにさらに構成され得、ここにおいて、適合ウィンドウフラグは、ＶＰＳが少なくとも１つの位置オフセットを備えることを示す。
【図面の簡単な説明】
【０００８】
【図１Ａ】[0008]本開示で説明する態様による技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図１Ｂ】[0009]本開示で説明する態様による技法を実施し得る別の例示的なビデオ符号化および復号システムを示すブロック図。
【図２Ａ】[0010]本開示で説明する態様による技法を実装し得るビデオ符号化器の一例を示すブロック図。
【図２Ｂ】[0011]本開示で説明する態様による技法を実装し得るビデオ符号化器の別の例を示すブロック図。
【図３Ａ】[0012]本開示で説明する態様による技法を実装し得るビデオ復号器の一例を示すブロック図。
【図３Ｂ】[0013]本開示で説明する態様による技法を実装し得るビデオ復号器の別の例を示すブロック図。
【図４】[0014]適合ウィンドウ情報を利用するための技法を示す例示的な概略図。
【図５】[0015]本開示で説明する（１つまたは複数の）態様による、ピクチャを符号化するためのプロセスの例示的な実施形態のフローチャート。
【図６】[0016]本開示で説明する（１つまたは複数の）態様による、ピクチャを復号するためのプロセスの例示的な実施形態のフローチャート。
【発明を実施するための形態】
【０００９】
[0017]概して、本開示は、高効率ビデオコーディング（ＨＥＶＣ）、アドバンストビデオコーディング（ＡＶＣ）など、アドバンストビデオコーデックのコンテキストにおいて、適合ウィンドウ情報に基づいてピクチャをコーディングすることに関する。
【００１０】
[0018]適合ウィンドウは、概して、コーディングプロセスから出力されたコード化ビデオシーケンス中のピクチャのサンプルのウィンドウを指す。ビットストリームは、コード化ピクチャの出力領域を示すための適合ウィンドウクロッピングパラメータを与え得る。たとえば、ウィンドウは、シグナリングされたピクチャ座標を使用して指定された矩形領域であり得る。ピクチャ座標は、参照レイヤに対してシグナリングされ得る。
【００１１】
[0019]参照レイヤに対して指定された得られた出力領域は、再サンプリングプロセスを含む様々なプロセスのための入力として使用され得る。たとえば、再サンプリングプロセスは、出力ピクチャを計算するために、（参照レイヤに対してシグナリングされた）上、下、左、および右オフセットを含んでいる適合ウィンドウを利用し得る。
【００１２】
[0020]（ＳＶＣとして知られる）ＡＶＣのスケーラブル拡張および（ＳＨＶＣとして知られる）ＨＥＶＣのスケーラブル拡張では、ビデオ情報は複数のレイヤ中で与えられ得る。最下位レベルにあるレイヤはベースレイヤとして働くことができ、最上位レベルにあるレイヤはエンハンスメントレイヤとして働くことができる。「エンハンスメントレイヤ」は「エンハンストレイヤ」と呼ばれることがあり、これらの用語は互換的に使用される。ベースレイヤは「参照レイヤ」と呼ばれることがあり、これらの用語も互換的に使用され得る。最上レイヤと最下レイヤとの間のすべてのレイヤは、エンハンスメントレイヤとベースレイヤの両方として働き得る。たとえば、中間にあるレイヤは、それの下のレイヤのためのエンハンスメントレイヤであり、同時にそれの上のレイヤのためのベースレイヤであり得る。
【００１３】
[0021]マルチレイヤビットストリームでは、レイヤは、異なるコーディングスキームを使用してコーディングされ得る。これは、たとえば、マルチレイヤビットストリームを形成するためにシングルレイヤがスケーリングされたときに行われ得る。たとえば、ＳＨＶＣでコーディングされたエンハンスメントレイヤが、マルチレイヤビットストリームを形成するために、ＨＥＶＣでコーディングされたベースレイヤと組み合わせられ得る。ＳＨＶＣはＨＥＶＣのスケーラブル拡張であるので、ＳＨＶＣおよびＨＥＶＣは「関連する」コーディングスキームと呼ばれることがある。しかしながら、いくつかの事例では、マルチレイヤビットストリーム中の個々のレイヤは、関連しない異なるコーディングスキームを使用してコーディングされ得る。たとえば、ＡＶＣを使用してコーディングされたベースレイヤが、ＳＶＣ（ＡＶＣのスケーラブル拡張）ではなく、ＳＨＶＣを使用してコーディングされたエンハンスメントレイヤと組み合わせられ得る。そのような事例では、ベースレイヤの適合ウィンドウ情報が、再サンプリングプロセスなど、様々な目的で使用するために利用可能でないことがある。したがって、参照レイヤを受信するコーデックのコーディングスキームに関連しないコーディングスキームを使用してコーディングされたベースレイヤからの適合ウィンドウ情報を送信および／または受信するためのシステムおよび方法が望まれる。そのような参照レイヤのための適合ウィンドウ情報を与えるいくつかの技術について以下で説明する。
【００１４】
[0022]本開示の実施形態は、マルチレイヤビットストリームのベースレイヤを使用して適合ウィンドウ情報を送信するためのシステムおよび方法を提供する。スケーラブル拡張コーディングスキームを使用するコーデックが、スケーラブル拡張コーディングスキームに対応しないベースラインコーディングスキームを使用してコーディングされたベースレイヤを受信したとき、そのコーデックにおいてベースレイヤ適合ウィンドウフラグが設定され得る。フラグは、再サンプリングされたピクチャのための配置情報を与えるベースレイヤ位置オフセットが後続することを示し得る。ビデオコーデックは、次いで、再サンプリングプロセスなどの様々なプロセスにおいて、または適合ウィンドウ情報の使用を伴う他のプロセスにおいて、そのような情報を利用し得る。
【００１５】
[0023]いくつかの実施形態について、ＨＥＶＣおよび／またはＨ．２６４規格のコンテキストにおいて本明細書で説明するが、本明細書で開示するシステムおよび方法が任意の好適なビデオコーディング規格に適用可能であり得ることを、当業者は諒解されよう。たとえば、本明細書で開示する実施形態は、以下の規格、すなわち、国際電気通信連合（ＩＴＵ）電気通信標準化部門（ＩＴＵ−Ｔ）Ｈ．２６１、国際標準化機構／国際電気標準会議（ＩＳＯ／ＩＥＣ）ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびスケーラブル拡張とマルチビュー拡張とを含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４のうちの１つまたは複数に適用可能であり得る。また、本開示で説明する技法は、将来において開発される規格の一部になり得る。言い換えれば、本開示で説明する技法は、前に開発されたビデオコーディング規格、現在開発中のビデオコーディング規格、および次のビデオコーディング規格に適用可能であり得る。
【００１６】
[0024]ＨＥＶＣは、概して、多くの点で、前のビデオコーディング規格のフレームワークに従う。ＨＥＶＣにおける予測のユニットは、いくつかの前のビデオコーディング規格における予測のユニット（たとえば、マクロブロック）とは異なる。事実上、いくつかの前のビデオコーディング規格において理解されているようなマクロブロックの概念は、ＨＥＶＣでは存在しない。マクロブロックは、考えられる利益の中でも、高いフレキシビリティを与え得る、４分木スキームに基づく階層構造と置き換えられる。たとえば、ＨＥＶＣスキーム内で、３つのタイプのブロック、ＣＵ、ＰＵ、および変換ユニット（ＴＵ：transform unit）が定義される。ＣＵは領域分割の基本ユニットを指すことがある。ＣＵはマクロブロックの概念に類似すると見なされ得るが、ＨＥＶＣは、ＣＵの最大サイズを制限せず、コンテンツ適応性を改善するために４つの等しいサイズのＣＵへの再帰的分割を可能にし得る。ＰＵはインター／イントラ予測の基本ユニットと見なされ得、単一のＰＵは、不規則な画像パターンを効果的にコーディングするために、複数の任意の形状区分を含んでいることがある。ＴＵは変換の基本ユニットと見なされ得る。ＴＵは、ＰＵとは無関係に定義され得るが、ＴＵのサイズは、ＴＵが属するＣＵのサイズに制限され得る。３つの異なる概念へのブロック構造のこの分離は、各ユニットがユニットのそれぞれの役割に従って最適化されることを可能にし得、それによりコーディング効率が改善され得る。
【００１７】
[0025]単に説明の目的で、本明細書で開示するいくつかの実施形態について、ビデオデータのただ２つのレイヤ（たとえば、ベースレイヤなどの下位レイヤ、およびエンハンスメントレイヤなどの上位レイヤ）を含む例を用いて説明する。ビデオデータの「レイヤ」は、概して、ビュー、フレームレート、解像度などの少なくとも１つの共通の特性を有するピクチャのシーケンスを指すことがある。たとえば、レイヤは、マルチビュービデオデータの特定のビュー（たとえば、パースペクティブ）に関連付けられたビデオデータを含み得る。別の例として、レイヤは、スケーラブルビデオデータの特定のレイヤに関連付けられたビデオデータを含み得る。したがって、本開示は、ビデオデータのレイヤおよびビューを互換的に指すことがある。すなわち、ビデオデータのビューはビデオデータのレイヤと呼ばれることがあり、ビデオデータのレイヤはビデオデータのビューと呼ばれることがある。さらに、（マルチレイヤビデオコーダまたはマルチレイヤ符号化器復号器とも呼ばれる）マルチレイヤコーデックは、マルチビューコーデックまたはスケーラブルコーデック（たとえば、ＨＥＶＣのマルチビュー拡張（ＭＶ−ＨＥＶＣ）、ＨＥＶＣの３次元拡張（３Ｄ−ＨＥＶＣ）、ＳＨＶＣ、または別のマルチレイヤコーディング技法を使用してビデオデータを符号化および／または復号するように構成されたコーデック）を一緒に指すことがある。ビデオ符号化およびビデオ復号は両方とも、一般にビデオコーディングと呼ばれることがある。そのような例は、複数のベースレイヤおよび／またはエンハンスメントレイヤを含む構成に適用可能であり得ることを理解されたい。さらに、説明を簡単にするために、以下の開示は、いくつかの実施形態に関して「フレーム」または「ブロック」という用語を含む。ただし、これらの用語は限定的なものではない。たとえば、以下で説明する技法は、ブロック（たとえば、ＣＵ、ＰＵ、ＴＵ、マクロブロックなど）、スライス、フレームなど、任意の好適なビデオユニットとともに使用され得る。  
ビデオコーディング規格
【００１８】
[0026]ビデオ画像、ＴＶ画像、静止画像、あるいはビデオレコーダまたはコンピュータによって生成された画像など、デジタル画像は、水平ラインおよび垂直ラインで構成されたピクセルまたはサンプルからなり得る。単一の画像中のピクセルの数は一般に数万個である。各ピクセルは、一般に、ルミナンス情報とクロミナンス情報とを含んでいる。圧縮がなければ、画像符号化器から画像復号器に搬送されるべき情報の甚だしい量は、リアルタイム画像送信を不可能にするであろう。送信されるべき情報の量を低減するために、ＪＰＥＧ、ＭＰＥＧおよびＨ．２６３規格など、いくつかの異なる圧縮方法が開発された。
【００１９】
[0027]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびスケーラブル拡張とマルチビュー拡張とを含むＩＴＵ−Ｔ  Ｈ．２６４を含む。
【００２０】
[0028]さらに、ビデオコーディング規格、すなわち、ＨＥＶＣが、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣ  ＭＰＥＧとのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発された。ＨＥＶＣドラフト１０についての完全引用は、文書ＪＣＴＶＣ−Ｌ１００３、Ｂｒｏｓｓら、「High Efficiency Video Coding (HEVC) Text Specification Draft 10」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaborative Team on Video Coding）、第１２回会合：ジュネーブ、スイス、２０１３年１月１４日〜２０１３年１月２３日である。ＨＥＶＣのマルチビュー拡張すなわちＭＶ−ＨＥＶＣ、およびＳＨＶＣと称されるＨＥＶＣのスケーラブル拡張も、それぞれＪＣＴ−３Ｖ（ＩＴＵ−Ｔ／ＩＳＯ／ＩＥＣジョイントコラボレーティブチームオン３Ｄビデオコーディング拡張開発）およびＪＣＴ−ＶＣによって開発されている。  
ビデオコーディングシステム
【００２１】
[0029]添付の図面を参照しながら新規のシステム、装置、および方法の様々な態様について以下でより十分に説明する。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示する任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるために与えるものである。本明細書の教示に基づいて、本開示の範囲は、本開示の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者は諒解されたい。たとえば、本明細書に記載する態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本開示の範囲は、本明細書に記載する本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示するどの態様も請求項の１つまたは複数の要素によって実施され得ることを理解されたい。
【００２２】
[0030]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものとし、それらのいくつかを例として、図および好適な態様についての以下の説明において示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
【００２３】
[0031]添付の図面は例を示している。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。本開示では、序数語（たとえば、「第１の」、「第２の」、「第３の」など）で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じまたは同様のタイプの異なる要素を指すために使用されるにすぎない。
【００２４】
[0032]図１Ａは、本開示で説明する態様による技法を利用し得る例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用し説明する「ビデオコーダ」という用語は、総称的にビデオ符号化器とビデオ復号器の両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。ビデオ符号化器およびビデオ復号器に加えて、本出願で説明する態様は、トランスコーダ（たとえば、ビットストリームを復号し、別のビットストリームを再符号化することができるデバイス）およびミドルボックス（たとえば、ビットストリームを変更、変換、および／または場合によっては操作することができるデバイス）など、他の関係するデバイスに拡張され得る。
【００２５】
[0033]図１Ａに示されているように、ビデオコーディングシステム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。図１Ａの例では、ソースデバイス１２および宛先デバイス１４は、別個のデバイスを構成する。ただし、ソースデバイス１２および宛先デバイス１４は、図１Ｂの例に示されているように、同じデバイス上にあるかまたはそれの一部であり得ることに留意されたい。
【００２６】
[0034]もう一度図１Ａを参照すると、ソースデバイス１２および宛先デバイス１４は、それぞれ、デスクトップコンピュータ、ノートブック（たとえば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。様々な実施形態では、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００２７】
[0035]宛先デバイス１４は、復号されるべき符号化ビデオデータを、リンク１６を介して受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。図１Ａの例では、リンク１６は、ソースデバイス１２が符号化ビデオデータをリアルタイムで宛先デバイス１４に送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得る任意の他の機器を含み得る。
【００２８】
[0036]代替的に、符号化データは出力インターフェース２２から（オプションとして存在する）ストレージデバイス３１に出力され得る。同様に、符号化データは、たとえば、宛先デバイス１４の入力インターフェース２８によってストレージデバイス３１からアクセスされ得る。ストレージデバイス３１は、ハードドライブ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス３１は、ソースデバイス１２によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介してストレージデバイス３１から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することができる任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイトのための）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）接続）、ワイヤード接続（たとえば、デジタル加入者線（ＤＳＬ）、ケーブルモデムなど）、またはその両方の組合せを含み得る。ストレージデバイス３１からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００２９】
[0037]本開示の技法はワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信（たとえば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）上での動的適応ストリーミングなど）、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３０】
[0038]図１Ａの例では、ソースデバイス１２は、ビデオソース１８と、ビデオ符号化器２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、図１Ｂの例に示されているように、いわゆる「カメラフォン」または「ビデオフォン」を形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００３１】
[0039]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオ符号化器２０によって符号化され得る。符号化ビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４に送信され得る。符号化ビデオデータは、さらに（または代替として）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのためにストレージデバイス３１上に記憶され得る。図１Ａおよび図１Ｂに示されているビデオ符号化器２０は、図２Ａに示されているビデオ符号化器２０、図２Ｂに示されているビデオ符号化器２３、または本明細書で説明する他のビデオ符号化器を備え得る。
【００３２】
[0040]図１Ａの例では、宛先デバイス１４は、入力インターフェース２８と、ビデオ復号器３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介しておよび／またはストレージデバイス３１から符号化ビデオデータを受信し得る。リンク１６を介して通信された、またはストレージデバイス３１上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオ復号器３０などのビデオ復号器が使用するための、ビデオ符号化器２０によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバに記憶された符号化ビデオデータに含まれ得る。図１Ａおよび図１Ｂに示されているビデオ復号器３０は、図３Ａに示されているビデオ復号器３０、図３Ｂに示されているビデオ復号器３３、または本明細書で説明する他のビデオ復号器を備え得る。
【００３３】
[0041]ディスプレイデバイス３２は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３４】
[0042]関係する態様では、図１Ｂは例示的なビデオコーディングシステム１０’を示し、ここにおいて、ソースデバイス１２および宛先デバイス１４はデバイス１１上にあるかまたはそれの一部である。デバイス１１は、「スマート」フォンなどの電話ハンドセットであり得る。デバイス１１は、ソースデバイス１２および宛先デバイス１４と動作可能に通信している（オプションとして存在する）コントローラ／プロセッサデバイス１３を含み得る。図１Ｂのビデオコーディングシステム１０’およびそれの構成要素は、場合によっては図１Ａのビデオコーディングシステム１０およびそれの構成要素と同様である。
【００３５】
[0043]ビデオ符号化器２０およびビデオ復号器３０は、ＨＥＶＣなどのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオ符号化器２０およびビデオ復号器３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，ＡＶＣと呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としてはＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００３６】
[0044]図１Ａおよび図１Ｂの例には示されていないが、ビデオ符号化器２０およびビデオ復号器３０は、それぞれオーディオ符号化器および復号器と統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３７】
[0045]ビデオ符号化器２０およびビデオ復号器３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適な符号化器回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実施するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオ符号化器２０およびビデオ復号器３０の各々は１つまたは複数の符号化器または復号器中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合符号化器／復号器の一部として統合され得る。  
ビデオコーディングプロセス
【００３８】
[0046]上記で手短に述べたように、ビデオ符号化器２０はビデオデータを符号化する。ビデオデータは１つまたは複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。いくつかの事例では、ピクチャはビデオ「フレーム」と呼ばれることがある。ビデオ符号化器２０がビデオデータを符号化するとき、ビデオ符号化器２０はビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャと関連データとを含み得る。コード化ピクチャとは、ピクチャのコード化表現である。
【００３９】
[0047]ビットストリームを生成するために、ビデオ符号化器２０は、ビデオデータ中の各ピクチャに対して符号化演算を実施し得る。ビデオ符号化器２０がピクチャに対して符号化演算を実施するとき、ビデオ符号化器２０は、一連のコード化ピクチャと関連データとを生成し得る。関連データは、ビデオパラメータセット（ＶＰＳ）と、シーケンスパラメータセット（ＳＰＳ：sequence parameter set）と、ピクチャパラメータセット（ＰＰＳ：picture parameter set）と、適応パラメータセット（ＡＰＳ：adaptation parameter set）と、他のシンタックス構造とを含み得る。ＳＰＳは、ピクチャの０個以上のシーケンスに適用可能なパラメータを含んでいることがある。ＰＰＳは、０個以上のピクチャに適用可能なパラメータを含んでいることがある。ＡＰＳは、０個以上のピクチャに適用可能なパラメータを含んでいることがある。ＡＰＳ中のパラメータは、ＰＰＳ中のパラメータよりも変化する可能性が高いパラメータであり得る。
【００４０】
[0048]コード化ピクチャを生成するために、ビデオ符号化器２０は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックはサンプルの２次元アレイであり得る。ビデオブロックの各々はツリーブロックに関連付けられる。いくつかの事例では、ツリーブロックは、最大コーディングユニット（ＬＣＵ：largest coding unit）と呼ばれることがある。ＨＥＶＣのツリーブロックは、Ｈ．２６４／ＡＶＣなど、以前の規格のマクロブロックに広い意味で類似し得る。しかしながら、ツリーブロックは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。ビデオ符号化器２０は、４分木区分（quadtree partitioning）を使用して、ツリーブロックのビデオブロックを、ＣＵに関連付けられたビデオブロックに区分し得、したがって「ツリーブロック」という名前がある。
【００４１】
[0049]いくつかの例では、ビデオ符号化器２０はピクチャを複数のスライスに区分し得る。スライスの各々は整数個のＣＵを含み得る。いくつかの事例では、スライスは整数個のツリーブロックを備える。他の事例では、スライスの境界はツリーブロック内にあり得る。
【００４２】
[0050]ピクチャに対して符号化演算を実施することの一部として、ビデオ符号化器２０は、ピクチャの各スライスに対して符号化演算を実施し得る。ビデオ符号化器２０がスライスに対して符号化演算を実施するとき、ビデオ符号化器２０は、スライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは「コード化スライス」と呼ばれることがある。
【００４３】
[0051]コード化スライスを生成するために、ビデオ符号化器２０は、スライス中の各ツリーブロックに対して符号化演算を実施し得る。ビデオ符号化器２０がツリーブロックに対して符号化演算を実施するとき、ビデオ符号化器２０はコード化ツリーブロックを生成し得る。コード化ツリーブロックは、ツリーブロックの符号化バージョンを表すデータを備え得る。
【００４４】
[0052]ビデオ符号化器２０がコード化スライスを生成するとき、ビデオ符号化器２０は、ラスタスキャン順序に従って、スライス中のツリーブロックに対して符号化演算を実施し得る（たとえば、そのツリーブロックを符号化し得る）。たとえば、ビデオ符号化器２０は、スライス中のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の下の行にわたって左から右に進み、以下同様に進む順序で、ビデオ符号化器２０がスライス中のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化し得る。
【００４５】
[0053]ラスタスキャン順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上および左のツリーブロックは符号化されていることがあるが、所与のツリーブロックの下および右のツリーブロックはまだ符号化されていない。したがって、ビデオ符号化器２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上および左のツリーブロックを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオ符号化器２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下および右のツリーブロックを符号化することによって生成された情報にアクセスすることができないことがある。
【００４６】
[0054]コード化ツリーブロックを生成するために、ビデオ符号化器２０は、ビデオブロックを徐々により小さいビデオブロックに分割するために、ツリーブロックのビデオブロックに対して４分木区分を再帰的に実施し得る。より小さいビデオブロックの各々は、異なるＣＵに関連付けられ得る。たとえば、ビデオ符号化器２０は、ツリーブロックのビデオブロックを４つの等しいサイズのサブブロックに区分し、サブブロックのうちの１つまたは複数を、４つの等しいサイズのサブサブブロックに区分し得、以下同様である。区分されたＣＵは、それのビデオブロックが、他のＣＵに関連付けられたビデオブロックに区分された、ＣＵであり得る。区分されていないＣＵは、それのビデオブロックが、他のＣＵに関連付けられたビデオブロックに区分されていない、ＣＵであり得る。
【００４７】
[0055]ビットストリーム中の１つまたは複数のシンタックス要素は、ビデオ符号化器２０がツリーブロックのビデオブロックを区分し得る最大の回数を示し得る。ＣＵのビデオブロックは形状が正方形であり得る。ＣＵのビデオブロックのサイズ（たとえば、ＣＵのサイズ）は、８×８ピクセルから、最大６４×６４以上のピクセルをもつツリーブロックのビデオブロックのサイズ（たとえば、ツリーブロックのサイズ）までに及び得る。
【００４８】
[0056]ビデオ符号化器２０は、ｚスキャン順序に従って、ツリーブロックの各ＣＵに対して符号化演算を実施し得る（たとえば、各ＣＵを符号化し得る）。言い換えれば、ビデオ符号化器２０は、左上のＣＵと、右上のＣＵと、左下のＣＵと、次いで右下のＣＵとを、その順序で符号化し得る。ビデオ符号化器２０が、区分されたＣＵに対して符号化演算を実施するとき、ビデオ符号化器２０は、ｚスキャン順序に従って、区分されたＣＵのビデオブロックのサブブロックに関連付けられたＣＵを符号化し得る。言い換えれば、ビデオ符号化器２０は、左上のサブブロックに関連付けられたＣＵと、右上のサブブロックに関連付けられたＣＵと、左下のサブブロックに関連付けられたＣＵと、次いで右下のサブブロックに関連付けられたＣＵとを、その順序で符号化し得る。
【００４９】
[0057]ｚスキャン順序に従ってツリーブロックのＣＵを符号化した結果として、所与のＣＵの上、左上、右上、左、および左下のＣＵは符号化されていることがある。所与のＣＵの下および右のＣＵはまだ符号化されていない。したがって、ビデオ符号化器２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接するいくつかのＣＵを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオ符号化器２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接する他のＣＵを符号化することによって生成された情報にアクセスすることができないことがある。
【００５０】
[0058]ビデオ符号化器２０が、区分されていないＣＵを符号化するとき、ビデオ符号化器２０は、ＣＵのために１つまたは複数の予測ユニット（ＰＵ：prediction unit）を生成し得る。ＣＵのＰＵの各々は、ＣＵのビデオブロック内の異なるビデオブロックに関連付けられ得る。ビデオ符号化器２０は、ＣＵの各ＰＵについて予測ビデオブロックを生成し得る。ＰＵの予測ビデオブロックはサンプルのブロックであり得る。ビデオ符号化器２０は、ＰＵのための予測ビデオブロックを生成するために、イントラ予測またはインター予測を使用し得る。
【００５１】
[0059]ビデオ符号化器２０が、ＰＵの予測ビデオブロックを生成するためにイントラ予測を使用するとき、ビデオ符号化器２０は、ＰＵに関連付けられたピクチャの復号サンプルに基づいてＰＵの予測ビデオブロックを生成し得る。ビデオ符号化器２０が、ＣＵのＰＵの予測ビデオブロックを生成するためにイントラ予測を使用する場合、ＣＵはイントラ予測されたＣＵである。ビデオ符号化器２０が、ＰＵの予測ビデオブロックを生成するためにインター予測を使用するとき、ビデオ符号化器２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ビデオブロックを生成し得る。ビデオ符号化器２０が、ＣＵのＰＵの予測ビデオブロックを生成するためにインター予測を使用する場合、ＣＵはインター予測されたＣＵである。
【００５２】
[0060]さらに、ビデオ符号化器２０が、ＰＵのための予測ビデオブロックを生成するためにインター予測を使用するとき、ビデオ符号化器２０はＰＵのための動き情報を生成し得る。ＰＵのための動き情報は、ＰＵの１つまたは複数の参照ブロックを示し得る。ＰＵの各参照ブロックは参照ピクチャ内のビデオブロックであり得る。参照ピクチャはＰＵに関連付けられたピクチャ以外のピクチャであり得る。いくつかの事例では、ＰＵの参照ブロックはＰＵの「参照サンプル」と呼ばれることもある。ビデオ符号化器２０は、ＰＵの参照ブロックに基づいて、ＰＵのための予測ビデオブロックを生成し得る。
【００５３】
[0061]ビデオ符号化器２０がＣＵの１つまたは複数のＰＵのための予測ビデオブロックを生成した後、ビデオ符号化器２０は、ＣＵのＰＵのための予測ビデオブロックに基づいて、ＣＵのための残差データを生成し得る。ＣＵのための残差データは、ＣＵのＰＵのための予測ビデオブロック中のサンプルと、ＣＵの元のビデオブロック中のサンプルとの間の差を示し得る。
【００５４】
[0062]さらに、区分されていないＣＵに対して符号化演算を実施することの一部として、ビデオ符号化器２０は、ＣＵの残差データを、ＣＵの変換ユニット（ＴＵ）に関連付けられた残差データの１つまたは複数のブロック（たとえば、残差ビデオブロック）に区分するために、ＣＵの残差データに対して再帰的な４分木区分を実施し得る。ＣＵの各ＴＵは異なる残差ビデオブロックに関連付けられ得る。
【００５５】
[0063]ビデオ符号化器２０は、ＴＵに関連付けられた変換係数ブロック（たとえば、変換係数のブロック）を生成するために、ＴＵに関連付けられた残差ビデオブロックに１つまたは複数の変換を適用し得る。概念的に、変換係数ブロックは変換係数の２次元（２Ｄ）行列であり得る。
【００５６】
[0064]変換係数ブロックを生成した後、ビデオ符号化器２０は、変換係数ブロックに対して量子化プロセスを実施し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、変換係数の一部または全部に関連付けられたビット深度を低減し得る。たとえば、量子化中にｎビットの変換係数がｍビットの変換係数に切り捨てられることがあり、ここで、ｎはｍよりも大きい。
【００５７】
[0065]ビデオ符号化器２０は、各ＣＵを量子化パラメータ（ＱＰ：quantization parameter）値に関連付け得る。ＣＵに関連付けられたＱＰ値は、ビデオ符号化器２０が、ＣＵに関連付けられた変換係数ブロックをどのように量子化するかを決定し得る。ビデオ符号化器２０は、ＣＵに関連付けられたＱＰ値を調整することによって、ＣＵに関連付けられた変換係数ブロックに適用される量子化の程度を調整し得る。
【００５８】
[0066]ビデオ符号化器２０が変換係数ブロックを量子化した後、ビデオ符号化器２０は、量子化された変換係数ブロック中で変換係数を表すシンタックス要素のセットを生成し得る。ビデオ符号化器２０は、これらのシンタックス要素のうちのいくつかに、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context Adaptive Binary Arithmetic Coding）演算などのエントロピー符号化演算を適用し得る。コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable-length coding）、確率間隔区分エントロピー（ＰＩＰＥ：probability interval partitioning entropy）コーディング、または他のバイナリ算術コーディングなど、他のエントロピーコーディング技法も使用され得る。
【００５９】
[0067]ビデオ符号化器２０によって生成されるビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ：Network Abstraction Layer）ユニットを含み得る。ＮＡＬユニットの各々は、ＮＡＬユニット中のデータのタイプの指示と、データを含んでいるバイトとを含んでいるシンタックス構造であり得る。たとえば、ＮＡＬユニットは、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、コード化スライス、補足エンハンスメント情報（ＳＥＩ：supplemental enhancement information）、アクセスユニット区切り文字、フィラーデータ、または別のタイプのデータを表すデータを含んでいることがある。ＮＡＬユニット中のデータは様々なシンタックス構造を含み得る。
【００６０】
[0068]ビデオ復号器３０は、ビデオ符号化器２０によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオ符号化器２０によって符号化されたビデオデータのコード化表現を含み得る。ビデオ復号器３０がビットストリームを受信するとき、ビデオ復号器３０は、ビットストリームに対してパース演算を実施し得る。ビデオ復号器３０がパース演算を実施するとき、ビデオ復号器３０は、ビットストリームからシンタックス要素を抽出し得る。ビデオ復号器３０は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構成し得る。シンタックス要素に基づいてビデオデータを再構成するためのプロセスは、一般に、シンタックス要素を生成するためにビデオ符号化器２０によって実施されるプロセスとは逆であり得る。
【００６１】
[0069]ビデオ復号器３０がＣＵに関連付けられたシンタックス要素を抽出した後、ビデオ復号器３０は、シンタックス要素に基づいて、ＣＵのＰＵのための予測ビデオブロックを生成し得る。さらに、ビデオ復号器３０は、ＣＵのＴＵに関連付けられた変換係数ブロックを逆量子化し得る。ビデオ復号器３０は、ＣＵのＴＵに関連付けられた残差ビデオブロックを再構成するために、変換係数ブロックに対して逆変換を実施し得る。予測ビデオブロックを生成し、残差ビデオブロックを再構成した後、ビデオ復号器３０は、予測ビデオブロックと残差ビデオブロックとに基づいて、ＣＵのビデオブロックを再構成し得る。このようにして、ビデオ復号器３０は、ビットストリーム中のシンタックス要素に基づいて、ＣＵのビデオブロックを再構成し得る。  
ビデオ符号化器
【００６２】
[0070]図２Ａは、本開示で説明する態様による技法を実装し得るビデオ符号化器２０の一例を示すブロック図である。ビデオ符号化器２０は、ＨＥＶＣの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオ符号化器２０は、本開示の技法のいずれかまたはすべてを実施するように構成され得る。いくつかの例では、本開示で説明する技法は、ビデオ符号化器２０の様々な構成要素間で共有され得る。いくつかの例では、追加または代替として、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたはすべてを実施するように構成され得る。
【００６３】
[0071]説明の目的で、本開示では、ＨＥＶＣコーディングのコンテキストにおいてビデオ符号化器２０について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。図２Ａに示された例はシングルレイヤコーデックのためのものである。しかしながら、図２Ｂに関してさらに説明するように、ビデオ符号化器２０の一部または全部はマルチレイヤコーデックの処理のために複製され得る。
【００６４】
[0072]ビデオ符号化器２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実施し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオ中の時間冗長性を低減または削除するために、時間予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースコーディングモードのいずれかを指すことがある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指すことがある。
【００６５】
[0073]図２Ａの例では、ビデオ符号化器２０は複数の機能構成要素を含む。ビデオ符号化器２０の機能構成要素は、予測処理ユニット１００と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換ユニット１１０と、再構成ユニット１１２と、フィルタユニット１１３と、復号ピクチャバッファ１１４と、エントロピー符号化ユニット１１６とを含む。予測処理ユニット１００は、インター予測ユニット１２１と、動き推定ユニット１２２と、動き補償ユニット１２４と、イントラ予測ユニット１２６と、レイヤ間予測ユニット１２８とを含む。他の例では、ビデオ符号化器２０は、より多数の、より少数の、または異なる機能構成要素を含み得る。さらに、動き推定ユニット１２２と動き補償ユニット１２４とは、高度に統合され得るが、図２Ａの例では、説明の目的で別々に表されている。
【００６６】
[0074]ビデオ符号化器２０はビデオデータを受信し得る。ビデオ符号化器２０は、様々なソースからビデオデータを受信し得る。たとえば、ビデオ符号化器２０は、（たとえば、図１Ａまたは図１Ｂに示された）ビデオソース１８、または別のソースからビデオデータを受信し得る。ビデオデータは一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオ符号化器２０は、ピクチャの各々に対して符号化演算を実施し得る。ピクチャに対して符号化演算を実施することの一部として、ビデオ符号化器２０は、ピクチャの各スライスに対して符号化演算を実施し得る。スライスに対して符号化演算を実施することの一部として、ビデオ符号化器２０は、スライス中のツリーブロックに対して符号化演算を実施し得る。
【００６７】
[0075]ツリーブロックに対して符号化演算を実施することの一部として、予測処理ユニット１００は、ビデオブロックを徐々により小さいビデオブロックに分割するために、ツリーブロックのビデオブロックに対して４分木区分を実施し得る。より小さいビデオブロックの各々は、異なるＣＵに関連付けられ得る。たとえば、予測処理ユニット１００は、ツリーブロックのビデオブロックを４つの等しいサイズのサブブロックに区分し、サブブロックの１つまたは複数を、４つの等しいサイズのサブサブブロックに区分し得、以下同様である。
【００６８】
[0076]ＣＵに関連付けられたビデオブロックのサイズは、８×８サンプルから、最大６４×６４以上のサンプルをもつツリーブロックのサイズまでに及び得る。本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのサンプル寸法、たとえば、１６×１６（16x16）サンプルまたは１６×１６（16 by 16）サンプルを指すために互換的に使用され得る。概して、１６×１６ビデオブロックは、垂直方向に１６個のサンプルを有し（ｙ＝１６）、水平方向に１６個のサンプルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ個のサンプルを有し、水平方向にＮ個のサンプルを有し、ここで、Ｎは非負整数値を表す。
【００６９】
[0077]さらに、ツリーブロックに対して符号化演算を実施することの一部として、予測処理ユニット１００は、ツリーブロックのための階層的な４分木データ構造を生成し得る。たとえば、ツリーブロックは、４分木データ構造のルートノードに対応し得る。予測処理ユニット１００が、ツリーブロックのビデオブロックを４つのサブブロックに区分する場合、ルートノードは、４分木データ構造中に４つの子ノードを有する。子ノードの各々は、サブブロックのうちの１つに関連付けられたＣＵに対応する。予測処理ユニット１００が、サブブロックのうちの１つを４つのサブサブブロックに区分する場合、サブブロックに関連付けられたＣＵに対応するノードは、サブサブブロックのうちの１つに関連付けられたＣＵに各々が対応する、４つの子ノードを有し得る。
【００７０】
[0078]４分木データ構造の各ノードは、対応するツリーブロックまたはＣＵのシンタックスデータ（たとえば、シンタックス要素）を含み得る。たとえば、４分木の中のノードは、そのノードに対応するＣＵのビデオブロックが４つのサブブロックに区分される（たとえば、分割される）かどうかを示す分割フラグを含み得る。ＣＵのためのシンタックス要素は、再帰的に定義され得、ＣＵのビデオブロックがサブブロックに分割されるかどうかに依存し得る。それのビデオブロックが区分されていないＣＵは、４分木データ構造におけるリーフノードに対応し得る。コード化ツリーブロックは、対応するツリーブロックのための４分木データ構造に基づくデータを含み得る。
【００７１】
[0079]ビデオ符号化器２０は、ツリーブロックの区分されていない各ＣＵに対して符号化演算を実施し得る。ビデオ符号化器２０が、区分されていないＣＵに対して符号化演算を実施するとき、ビデオ符号化器２０は、区分されていないＣＵの符号化表現を表すデータを生成する。
【００７２】
[0080]ＣＵに対して符号化演算を実施することの一部として、予測処理ユニット１００は、ＣＵの１つまたは複数のＰＵの中で、ＣＵのビデオブロックを区分し得る。ビデオ符号化器２０およびビデオ復号器３０は、様々なＰＵサイズをサポートし得る。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオ符号化器２０およびビデオ復号器３０は、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズと、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、２Ｎ×ｎＵ、ｎＬ×２Ｎ、ｎＲ×２Ｎ、または同様の対称ＰＵサイズでのインター予測とをサポートし得る。ビデオ符号化器２０およびビデオ復号器３０は、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズに対する非対称区分をもサポートし得る。いくつかの例では、予測処理ユニット１００は、ＣＵのビデオブロックの辺に直角に接触しない境界に沿って、ＣＵのＰＵの間でＣＵのビデオブロックを区分するように、幾何学的な区分を実施し得る。
【００７３】
[0081]インター予測ユニット１２１はＣＵの各ＰＵに対してインター予測を実施し得る。インター予測は時間圧縮を実現し得る。ＰＵに対してインター予測を実施するために、動き推定ユニット１２２はＰＵのための動き情報を生成し得る。動き補償ユニット１２４は、動き情報と、ＣＵに関連付けられたピクチャ以外のピクチャ（たとえば、参照ピクチャ）の復号サンプルとに基づくＰＵのための予測ビデオブロックを生成し得る。本開示では、動き補償ユニット１２４によって生成された予測ビデオブロックは、インター予測ビデオブロックと呼ばれることがある。
【００７４】
[0082]スライスは、Ｉスライス、Ｐスライス、またはＢスライスであり得る。動き推定ユニット１２２および動き補償ユニット１２４は、ＰＵがＩスライス中にあるか、Ｐスライス中にあるか、Ｂスライス中にあるかに応じて、ＣＵのＰＵに対して異なる演算を実施し得る。Ｉスライス中では、すべてのＰＵがイントラ予測される。したがって、ＰＵがＩスライス中にある場合、動き推定ユニット１２２および動き補償ユニット１２４は、ＰＵに対してインター予測を実施しない。
【００７５】
[0083]ＰＵがＰスライス中にある場合、ＰＵを含んでいるピクチャは、「リスト０」と呼ばれる参照ピクチャのリストに関連付けられる。リスト０中の参照ピクチャの各々は、他のピクチャのインター予測に使用され得るサンプルを含んでいる。動き推定ユニット１２２が、Ｐスライス中のＰＵに関して動き推定演算を実施するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０中の参照ピクチャを探索し得る。ＰＵの参照ブロックは、ＰＵのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、たとえば、サンプルのブロックであり得る。動き推定ユニット１２２は、参照ピクチャ中のサンプルのセットがどの程度密接にＰＵのビデオブロック中のサンプルに対応するかを決定するために、様々なメトリクスを使用し得る。たとえば、動き推定ユニット１２２は、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって、参照ピクチャ中のサンプルのセットがどの程度密接にＰＵのビデオブロック中のサンプルに対応するかを決定し得る。
【００７６】
[0084]Ｐスライス中のＰＵの参照ブロックを識別した後、動き推定ユニット１２２は、参照ブロックを含んでいる、リスト０中の参照ピクチャを示す参照インデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。様々な例において、動き推定ユニット１２２は動きベクトルを異なる精度に生成し得る。たとえば、動き推定ユニット１２２は、１／４サンプル精度、１／８サンプル精度、または他の分数のサンプル精度で動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット１２４は、ＰＵの動き情報によって識別された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００７７】
[0085]ＰＵがＢスライス中にある場合、ＰＵを含んでいるピクチャは、「リスト０」および「リスト１」と呼ばれる参照ピクチャの２つのリストに関連付けられ得る。いくつかの例では、Ｂスライスを含んでいるピクチャは、リスト０とリスト１の組合せである、リストの組合せに関連付けられ得る。
【００７８】
[0086]さらに、ＰＵがＢスライス中にある場合、動き推定ユニット１２２は、ＰＵについての単方向予測または双方向予測を実施し得る。動き推定ユニット１２２が、ＰＵについての単方向予測を実施するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０またはリスト１の参照ピクチャを探索し得る。動き推定ユニット１２２は、次いで、参照ブロックを含んでいる、リスト０またはリスト１中の参照ピクチャを示す参照インデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。予測方向インジケータは、参照インデックスが、リスト０中の参照ピクチャを示すのか、リスト１中の参照ピクチャを示すのかを示し得る。動き補償ユニット１２４は、ＰＵの動き情報によって示された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００７９】
[0087]動き推定ユニット１２２が、ＰＵについての双方向予測を実施するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０中の参照ピクチャを探索し得、また、ＰＵのための別の参照ブロックについて、リスト１中の参照ピクチャを探索し得る。動き推定ユニット１２２は、次いで、参照ブロックを含んでいる、リスト０およびリスト１中の参照ピクチャを示す参照インデックスと、参照ブロックとＰＵとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット１２２は、ＰＵの動き情報としてＰＵの参照インデックスと動きベクトルとを出力し得る。動き補償ユニット１２４は、ＰＵの動き情報によって示された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００８０】
[0088]いくつかの例では、動き推定ユニット１２２は、ＰＵのための動き情報のフルセットをエントロピー符号化ユニット１１６に出力しない。そうではなく、動き推定ユニット１２２は、別のＰＵの動き情報を参照して、ＰＵの動き情報をシグナリングし得る。たとえば、動き推定ユニット１２２は、ＰＵの動き情報が、隣接ＰＵの動き情報と十分に類似していると決定し得る。この例では、動き推定ユニット１２２は、ＰＵに関連付けられたシンタックス構造において、ＰＵが隣接ＰＵと同じ動き情報を有することをビデオ復号器３０に示す値を示し得る。別の例では、動き推定ユニット１２２は、ＰＵに関連付けられたシンタックス構造において、隣接ＰＵと動きベクトル差分（ＭＶＤ：motion vector difference）とを識別し得る。動きベクトル差分は、ＰＵの動きベクトルと、示された隣接ＰＵの動きベクトルとの間の差分を示す。ビデオ復号器３０は、ＰＵの動きベクトルを決定するために、示された隣接ＰＵの動きベクトルと、動きベクトル差分とを使用し得る。第２のＰＵの動き情報をシグナリングするときに第１のＰＵの動き情報を参照することによって、ビデオ符号化器２０は、より少数のビットを使用して、第２のＰＵの動き情報をシグナリングすることが可能であり得る。
【００８１】
[0089]ＣＵに対して符号化演算を実施することの一部として、イントラ予測ユニット１２６は、ＣＵのＰＵに対してイントラ予測を実施し得る。イントラ予測は空間圧縮を実現し得る。イントラ予測ユニット１２６がＰＵに対してイントラ予測を実施するとき、イントラ予測ユニット１２６は、同じピクチャ中の他のＰＵの復号サンプルに基づいて、ＰＵのための予測データを生成し得る。ＰＵのための予測データは、予測ビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライス中のＰＵに対してイントラ予測を実施し得る。
【００８２】
[0090]ＰＵに対してイントラ予測を実施するために、イントラ予測ユニット１２６は、ＰＵのための予測データの複数のセットを生成するために複数のイントラ予測モードを使用し得る。イントラ予測ユニット１２６が、ＰＵのための予測データのセットを生成するためにイントラ予測モードを使用するとき、イントラ予測ユニット１２６は、イントラ予測モードに関連付けられた方向および／または勾配で、隣接ＰＵのビデオブロックからＰＵのビデオブロックにわたって、サンプルを延ばし得る。隣接ＰＵは、ＰＵ、ＣＵ、およびツリーブロックについて左から右、上から下の符号化順序を仮定すると、ＰＵの上、右上、左上、または左にあり得る。イントラ予測ユニット１２６は、ＰＵのサイズに応じて、様々な数のイントラ予測モード、たとえば、３３個の方向性イントラ予測モードを使用し得る。
【００８３】
[0091]予測処理ユニット１００は、ＰＵについての、動き補償ユニット１２４によって生成された予測データ、またはＰＵについての、イントラ予測ユニット１２６によって生成された予測データの中から、ＰＵのための予測データを選択し得る。いくつかの例では、予測処理ユニット１００は、予測データのセットのレート／ひずみメトリックに基づいて、ＰＵのための予測データを選択する。
【００８４】
[0092]予測処理ユニット１００が、イントラ予測ユニット１２６によって生成された予測データを選択する場合、予測処理ユニット１００は、ＰＵのための予測データを生成するために使用されたイントラ予測モード、たとえば、選択されたイントラ予測モードをシグナリングし得る。予測処理ユニット１００は、選択されたイントラ予測モードを様々な方法でシグナリングし得る。たとえば、選択されたイントラ予測モードは、隣接ＰＵのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接ＰＵのイントラ予測モードは現在ＰＵに対して最確モードであり得る。したがって、予測処理ユニット１００は、選択されたイントラ予測モードが隣接ＰＵのイントラ予測モードと同じであることを示すための、シンタックス要素を生成し得る。
【００８５】
[0093]上記で説明したように、ビデオ符号化器２０はレイヤ間予測ユニット１２８を含み得る。レイヤ間予測ユニット１２８は、ＳＨＶＣにおいて利用可能である１つまたは複数の異なるレイヤ（たとえば、ベースレイヤまたは参照レイヤ）を使用して、現在ブロック（たとえば、ＥＬ中の現在ブロック）を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット１２８は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測がある。レイヤ間イントラ予測は、エンハンスメントレイヤ中の現在ブロックを予測するために、ベースレイヤ中のコロケートブロックの再構成を使用する。レイヤ間動き予測は、エンハンスメントレイヤ中の動作を予測するために、ベースレイヤの動き情報を使用する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、ベースレイヤの残差を使用する。
【００８６】
[0094]予測処理ユニット１００がＣＵのＰＵのための予測データを選択した後、残差生成ユニット１０２は、ＣＵのビデオブロックからＣＵのＰＵの予測ビデオブロックを差し引くこと（たとえば、マイナス符号によって示される）によって、ＣＵのための残差データを生成し得る。ＣＵの残差データは、ＣＵのビデオブロック中のサンプルの異なるサンプル成分に対応する、２Ｄ残差ビデオブロックを含み得る。たとえば、残差データは、ＣＵのＰＵの予測ビデオブロック中のサンプルのルミナンス成分と、ＣＵの元のビデオブロック中のサンプルのルミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。さらに、ＣＵの残差データは、ＣＵのＰＵの予測ビデオブロック中のサンプルのクロミナンス成分と、ＣＵの元のビデオブロック中のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。
【００８７】
[0095]予測処理ユニット１００は、ＣＵの残差ビデオブロックをサブブロックに区分するために、４分木区分を実施し得る。各分割されていない残差ビデオブロックは、ＣＵの異なるＴＵに関連付けられ得る。ＣＵのＴＵに関連付けられた残差ビデオブロックのサイズおよび位置は、ＣＵのＰＵに関連付けられたビデオブロックのサイズおよび位置に基づくことも基づかないこともある。「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造は、残差ビデオブロックの各々に関連付けられたノードを含み得る。ＣＵのＴＵはＲＱＴのリーフノードに対応し得る。
【００８８】
[0096]変換処理ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに１つまたは複数の変換を適用することによって、ＣＵの各ＴＵのための１つまたは複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は変換係数の２Ｄ行列であり得る。変換処理ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに様々な変換を適用し得る。たとえば、変換処理ユニット１０４は、離散コサイン変換（ＤＣＴ）、方向性変換、または概念的に同様の変換を、ＴＵに関連付けられた残差ビデオブロックに適用し得る。
【００８９】
[0097]変換処理ユニット１０４が、ＴＵに関連付けられた変換係数ブロックを生成した後、量子化ユニット１０６は、変換係数ブロック中の変換係数を量子化し得る。量子化ユニット１０６は、ＣＵに関連付けられたＱＰ値に基づいて、ＣＵのＴＵに関連付けられた変換係数ブロックを量子化し得る。
【００９０】
[0098]ビデオ符号化器２０は、様々な方法でＱＰ値をＣＵに関連付け得る。たとえば、ビデオ符号化器２０は、ＣＵに関連付けられたツリーブロックに対してレートひずみ分析を実施し得る。レートひずみ分析では、ビデオ符号化器２０は、ツリーブロックに対して符号化演算を複数回実施することによって、ツリーブロックの複数のコード化表現を生成し得る。ビデオ符号化器２０がツリーブロックの異なる符号化表現を生成するとき、ビデオ符号化器２０は、異なるＱＰ値をＣＵに関連付け得る。ビデオ符号化器２０は、最小のビットレートおよびひずみメトリックを有するツリーブロックのコード化表現で所与のＱＰ値がＣＵに関連付けられるとき、所与のＱＰ値がＣＵに関連付けられることをシグナリングし得る。
【００９１】
[0099]逆量子化ユニット１０８および逆変換ユニット１１０は、変換係数ブロックから残差ビデオブロックを再構成するために、それぞれ、変換係数ブロックに逆量子化および逆変換を適用し得る。再構成ユニット１１２は、ＴＵに関連付けられた再構成されたビデオブロックを生成するために、再構成された残差ビデオブロックを、予測処理ユニット１００によって生成された１つまたは複数の予測ビデオブロックからの対応するサンプルに加算し得る。このようにＣＵの各ＴＵのためのビデオブロックを再構成することによって、ビデオ符号化器２０は、ＣＵのビデオブロックを再構成し得る。
【００９２】
[0100]再構成ユニット１１２がＣＵのビデオブロックを再構成した後、フィルタユニット１１３は、ＣＵに関連付けられたビデオブロックにおけるブロッキングアーティファクトを低減するためにデブロッキング演算を実施し得る。１つまたは複数のデブロッキング演算を実施した後、フィルタユニット１１３は、ＣＵの再構成されたビデオブロックを復号ピクチャバッファ１１４に記憶し得る。動き推定ユニット１２２および動き補償ユニット１２４は、後続ピクチャのＰＵに対してインター予測を実施するために、再構成されたビデオブロックを含んでいる参照ピクチャを使用し得る。さらに、イントラ予測ユニット１２６は、ＣＵと同じピクチャの中の他のＰＵに対してイントラ予測を実施するために、復号ピクチャバッファ１１４中の再構成されたビデオブロックを使用し得る。
【００９３】
[0101]エントロピー符号化ユニット１１６は、ビデオ符号化器２０の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット１１６は、量子化ユニット１０６から変換係数ブロックを受信し得、予測処理ユニット１００からシンタックス要素を受信し得る。エントロピー符号化ユニット１１６がデータを受信するとき、エントロピー符号化ユニット１１６は、エントロピー符号化されたデータを生成するために、１つまたは複数のエントロピー符号化演算を実施し得る。たとえば、ビデオ符号化器２０は、ＣＡＶＬＣ演算、ＣＡＢＡＣ演算、変数間（Ｖ２Ｖ：variable-to-variable）レングスコーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）演算、確率間隔区分エントロピー（ＰＩＰＥ）コーディング演算、または別のタイプのエントロピー符号化演算をデータに対して実施し得る。エントロピー符号化ユニット１１６は、エントロピー符号化されたデータを含むビットストリームを出力し得る。
【００９４】
[0102]データに対してエントロピー符号化演算を実施することの一部として、エントロピー符号化ユニット１１６はコンテキストモデルを選択し得る。エントロピー符号化ユニット１１６がＣＡＢＡＣ演算を実施している場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示し得る。ＣＡＢＡＣのコンテキストでは、「ビン」という用語は、シンタックス要素の２値化されたバージョンのビットを指すために使用される。  
マルチレイヤビデオ符号化器
【００９５】
[0103]図２Ｂは、本開示で説明する態様による技法を実装し得る（単にビデオ符号化器２３とも呼ばれる）マルチレイヤビデオ符号化器２３の別の例を示すブロック図である。ビデオ符号化器２３は、ＳＨＶＣおよびＭＶ−ＨＥＶＣの場合など、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオ符号化器２３は、本開示の技法のいずれかまたはすべてを実施するように構成され得る。
【００９６】
[0104]ビデオ符号化器２３はビデオ符号化器２０Ａとビデオ符号化器２０Ｂとを含み、それらの各々はビデオ符号化器２０として構成され得、ビデオ符号化器２０に関して上記で説明した機能を実施し得る。さらに、参照番号の再利用によって示されるように、ビデオ符号化器２０Ａおよび２０Ｂは、ビデオ符号化器２０としてシステムとサブシステムとのうちの少なくともいくつかを含み得る。ビデオ符号化器２３は、２つのビデオ符号化器２０Ａおよび２０Ｂを含むものとして示されているが、ビデオ符号化器２３は、そのようなものとして限定されず、任意の数のビデオ符号化器２０レイヤを含み得る。いくつかの実施形態では、ビデオ符号化器２３はアクセスユニット中の各ピクチャまたはフレームについてビデオ符号化器２０を含み得る。たとえば、５つのピクチャを含むアクセスユニットは、５つの符号化器レイヤを含むビデオ符号化器によって処理または符号化され得る。いくつかの実施形態では、ビデオ符号化器２３は、アクセスユニット中のフレームよりも多くの符号化器レイヤを含み得る。いくつかのそのような場合では、ビデオ符号化器レイヤのいくつかは、いくつかのアクセスユニットを処理するときに非アクティブであり得る。
【００９７】
[0105]ビデオ符号化器２０Ａおよび２０Ｂに加えて、ビデオ符号化器２３は再サンプリングユニット９０を含み得る。再サンプリングユニット９０は、場合によっては、たとえば、エンハンスメントレイヤを作成するために、受信されたビデオフレームのベースレイヤをアップサンプリングし得る。再サンプリングユニット９０は、フレームの受信されたベースレイヤに関連付けられた特定の情報をアップサンプリングするが、他の情報をアップサンプリングしないことがある。たとえば、再サンプリングユニット９０は、ベースレイヤの空間サイズまたはピクセルの数をアップサンプリングし得るが、スライスの数またはピクチャ順序カウントは一定のままであり得る。場合によっては、再サンプリングユニット９０は、受信されたビデオを処理しないことがあるか、および／またはオプションであり得る。たとえば、場合によっては、予測処理ユニット１００がアップサンプリングを実施し得る。いくつかの実施形態では、再サンプリングユニット９０は、レイヤをアップサンプリングすることと、スライス境界ルールおよび／またはラスタスキャンルールのセットに準拠するために１つまたは複数のスライスを再編成、再定義、変更、または調整することとを行うように構成される。アクセスユニット中のベースレイヤまたは下位レイヤをアップサンプリングするものとして主に説明したが、場合によっては、再サンプリングユニット９０はレイヤをダウンサンプリングし得る。たとえば、ビデオのストリーミング中に帯域幅が減少した場合、フレームは、アップサンプリングされるのではなく、ダウンサンプリングされ得る。
【００９８】
[0106]再サンプリングユニット９０は、下位レイヤ符号化器（たとえば、ビデオ符号化器２０Ａ）の復号ピクチャバッファ１１４からピクチャまたはフレーム（またはピクチャに関連付けられたピクチャ情報）を受信し、ピクチャ（または受信されたピクチャ情報）をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤ符号化器と同じアクセスユニット中のピクチャを符号化するように構成された上位レイヤ符号化器（たとえば、ビデオ符号化器２０Ｂ）の予測処理ユニット１００に与えられ得る。場合によっては、上位レイヤ符号化器は、下位レイヤ符号化器から削除された１つのレイヤである。他の場合には、図２Ｂのレイヤ０ビデオ符号化器とレイヤ１符号化器との間に１つまたは複数の上位レイヤ符号化器があり得る。
【００９９】
[0107]場合によっては、再サンプリングユニット９０は省略またはバイパスされ得る。そのような場合、ビデオ符号化器２０Ａの復号ピクチャバッファ１１４からのピクチャは、直接、または少なくとも再サンプリングユニット９０に与えられることなしに、ビデオ符号化器２０Ｂの予測処理ユニット１００に与えられ得る。たとえば、ビデオ符号化器２０Ｂに与えられたビデオデータと、ビデオ符号化器２０Ａの復号ピクチャバッファ１１４からの参照ピクチャとが同じサイズまたは解像度である場合、参照ピクチャは、再サンプリングなしにビデオ符号化器２０Ｂに与えられ得る。
【０１００】
[0108]いくつかの実施形態では、ビデオ符号化器２３は、ビデオ符号化器２０Ａにビデオデータを与える前に、ダウンサンプリングユニット９４を使用して下位レイヤ符号化器に与えられるべきビデオデータをダウンサンプリングする。代替的に、ダウンサンプリングユニット９４は、ビデオデータをアップサンプリングまたはダウンサンプリングすることが可能な再サンプリングユニット９０であり得る。また他の実施形態では、ダウンサンプリングユニット９４は省略され得る。
【０１０１】
[0109]図２Ｂに示されているように、ビデオ符号化器２３は、マルチプレクサ（またはｍｕｘ）９８をさらに含み得る。ｍｕｘ９８は、ビデオ符号化器２３から合成ビットストリームを出力することができる。合成ビットストリームは、ビデオ符号化器２０Ａおよび２０Ｂの各々からビットストリームを取り、所与の時間において出力されるビットストリームを交互に配置することによって作成され得る。場合によっては、２つの（または、３つ以上のビデオ符号化器レイヤの場合には、より多くの）ビットストリームからのビットが一度に１ビットずつ交互に配置され得るが、多くの場合、ビットストリームは別様に合成され得る。たとえば、出力ビットストリームは、選択されたビットストリームを一度に１ブロックずつ交互に配置することによって作成され得る。別の例では、出力ビットストリームは、ビデオ符号化器２０Ａおよび２０Ｂの各々からブロックの非１：１比を出力することによって作成され得る。たとえば、ビデオ符号化器２０Ａから出力された各ブロックについて、２つのブロックがビデオ符号化器２０Ｂから出力され得る。いくつかの実施形態では、ｍｕｘ９８からの出力ストリームはプリプログラムされ得る。他の実施形態では、ｍｕｘ９８は、ソースデバイス１２を含むソースデバイス上のプロセッサからなど、ビデオ符号化器２３の外部のシステムから受信された制御信号に基づいて、ビデオ符号化器２０Ａ、２０Ｂからのビットストリームを合成し得る。制御信号は、ビデオソース１８からのビデオの解像度またはビットレートに基づいて、リンク１６の帯域幅に基づいて、ユーザに関連付けられたサブスクリプション（たとえば、有料サブスクリプション対無料サブスクリプション）に基づいて、またはビデオ符号化器２３から望まれる解像度出力を決定するための他のファクタに基づいて生成され得る。  
ビデオ復号器
【０１０２】
[0110]図３Ａは、本開示で説明する態様による技法を実装し得るビデオ復号器３０の一例を示すブロック図である。ビデオ復号器３０は、ＨＥＶＣの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオ復号器３０は、本開示の技法のいずれかまたはすべてを実施するように構成され得る。いくつかの例では、本開示で説明する技法は、ビデオ復号器３０の様々な構成要素間で共有され得る。いくつかの例では、追加または代替として、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたはすべてを実施するように構成され得る。
【０１０３】
[0111]説明の目的で、本開示では、ＨＥＶＣコーディングのコンテキストにおいてビデオ復号器３０について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。図３Ａに示された例はシングルレイヤコーデックのためのものである。しかしながら、図３Ｂに関してさらに説明するように、ビデオ復号器３０の一部または全部はマルチレイヤコーデックの処理のために複製され得る。
【０１０４】
[0112]図３Ａの例では、ビデオ復号器３０は複数の機能構成要素を含む。ビデオ復号器３０の機能構成要素は、エントロピー復号ユニット１５０と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換ユニット１５６と、再構成ユニット１５８と、フィルタユニット１５９と、復号ピクチャバッファ１６０とを含む。予測処理ユニット１５２は、動き補償ユニット１６２と、イントラ予測ユニット１６４と、レイヤ間予測ユニット１６６とを含む。いくつかの例では、ビデオ復号器３０は、図２Ａのビデオ符号化器２０に関して説明された符号化経路とは全般に逆の復号経路を実施し得る。他の例では、ビデオ復号器３０は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【０１０５】
[0113]ビデオ復号器３０は、符号化ビデオデータを備えるビットストリームを受信し得る。ビットストリームは複数のシンタックス要素を含み得る。ビデオ復号器３０がビットストリームを受信したとき、エントロピー復号ユニット１５０は、ビットストリームに対してパース演算を実施し得る。ビットストリームに対してパース演算を実施した結果として、エントロピー復号ユニット１５０は、ビットストリームからシンタックス要素を抽出し得る。パース演算を実施することの一部として、エントロピー復号ユニット１５０は、ビットストリーム中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換ユニット１５６、再構成ユニット１５８、およびフィルタユニット１５９は、ビットストリームから抽出されたシンタックス要素に基づいて、復号ビデオデータを生成する再構成演算を実施し得る。
【０１０６】
[0114]上記で説明したように、ビットストリームは、一連のＮＡＬユニットを備え得る。ビットストリームのＮＡＬユニットは、ビデオパラメータセットＮＡＬユニット、シーケンスパラメータセットＮＡＬユニット、ピクチャパラメータセットＮＡＬユニット、ＳＥＩ  ＮＡＬユニットなどを含み得る。ビットストリームに対してパース演算を実施することの一部として、エントロピー復号ユニット１５０は、シーケンスパラメータセットＮＡＬユニットからのシーケンスパラメータセット、ピクチャパラメータセットＮＡＬユニットからのピクチャパラメータセット、ＳＥＩ  ＮＡＬユニットからのＳＥＩデータなどを抽出し、エントロピー復号する、パース演算を実施し得る。
【０１０７】
[0115]さらに、ビットストリームのＮＡＬユニットはコード化スライスＮＡＬユニットを含み得る。ビットストリームに対してパース演算を実施することの一部として、エントロピー復号ユニット１５０は、コード化スライスＮＡＬユニットからコード化スライスを抽出し、エントロピー復号する、パース演算を実施し得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号ユニット１５０は、スライスヘッダを再構成するために、コード化されたスライスヘッダ中のシンタックス要素に対して、ＣＡＢＡＣ復号演算などのエントロピー復号演算を実施し得る。
【０１０８】
[0116]コード化スライスのＮＡＬユニットからスライスデータを抽出することの一部として、エントロピー復号ユニット１５０は、スライスデータ中のコード化ＣＵからシンタックス要素を抽出するパース演算を実施し得る。抽出されたシンタックス要素は、変換係数ブロックに関連付けられたシンタックス要素を含み得る。エントロピー復号ユニット１５０は、次いで、シンタックス要素のうちのいくつかに対してＣＡＢＡＣ復号演算を実施し得る。
【０１０９】
[0117]エントロピー復号ユニット１５０が区分されていないＣＵに対してパース演算を実施した後、ビデオ復号器３０は、区分されていないＣＵに対して再構成演算を実施し得る。区分されていないＣＵに対して再構成演算を実施するために、ビデオ復号器３０はＣＵの各ＴＵに対して再構成演算を実施し得る。ＣＵの各ＴＵについて再構成演算を実施することによって、ビデオ復号器３０は、ＣＵに関連付けられた残差ビデオブロックを再構成し得る。
【０１１０】
[0118]ＴＵに対して再構成演算を実施することの一部として、逆量子化ユニット１５４は、ＴＵに関連付けられた変換係数ブロックを逆量子化（inverse quantize）、たとえば、逆量子化（de-quantize）し得る。逆量子化ユニット１５４は、ＨＥＶＣのために提案された、またはＨ．２６４復号規格によって定義された逆量子化プロセスと同様の方式で、変換係数ブロックを逆量子化し得る。逆量子化ユニット１５４は、量子化の程度を決定し、同様に、逆量子化ユニット１５４が適用すべき逆量子化の程度を決定するために、変換係数ブロックのＣＵのためにビデオ符号化器２０によって計算される量子化パラメータＱＰを使用し得る。
【０１１１】
[0119]逆量子化ユニット１５４が変換係数ブロックを逆量子化した後、逆変換ユニット１５６は、変換係数ブロックに関連付けられたＴＵのための残差ビデオブロックを生成し得る。逆変換ユニット１５６は、ＴＵのための残差ビデオブロックを生成するために、変換係数ブロックに逆変換を適用し得る。たとえば、逆変換ユニット１５６は、変換係数ブロックに、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve transform）、逆回転変換、逆方向変換、または別の逆変換を適用し得る。いくつかの例では、逆変換ユニット１５６は、ビデオ符号化器２０からのシグナリングに基づいて、変換係数ブロックに適用すべき逆変換を決定し得る。そのような例では、逆変換ユニット１５６は、変換係数ブロックに関連付けられたツリーブロックの４分木のルートノードにおいてシグナリングされた変換に基づいて、逆変換を決定し得る。他の例では、逆変換ユニット１５６は、ブロックサイズ、コーディングモードなど、１つまたは複数のコーディング特性から逆変換を推論し得る。いくつかの例では、逆変換ユニット１５６はカスケード逆変換を適用し得る。
【０１１２】
[0120]いくつかの例では、動き補償ユニット１６２は、補間フィルタに基づく補間を実施することによって、ＰＵの予測ビデオブロックを改良し得る。サブサンプル精度をもつ動き補償のために使用されるべき補間フィルタのための識別子が、シンタックス要素中に含まれ得る。動き補償ユニット１６２は、参照ブロックのサブ整数サンプルについての補間値を計算するために、ＰＵの予測ビデオブロックの生成中にビデオ符号化器２０によって使用された同じ補間フィルタを使用し得る。動き補償ユニット１６２は、受信されたシンタックス情報に従って、ビデオ符号化器２０によって使用された補間フィルタを決定し、予測ビデオブロックを生成するために、その補間フィルタを使用し得る。
【０１１３】
[0121]ＰＵが、イントラ予測を使用して符号化される場合、イントラ予測ユニット１６４は、ＰＵのための予測ビデオブロックを生成するためにイントラ予測を実施し得る。たとえば、イントラ予測ユニット１６４は、ビットストリーム中のシンタックス要素に基づいて、ＰＵのためのイントラ予測モードを決定し得る。ビットストリームは、ＰＵのイントラ予測モードを決定するためにイントラ予測ユニット１６４が使用し得るシンタックス要素を含み得る。
【０１１４】
[0122]いくつかの事例では、シンタックス要素は、イントラ予測ユニット１６４が、現在ＰＵのイントラ予測モードを決定するために、別のＰＵのイントラ予測モードを使用すべきであることを示し得る。たとえば、現在ＰＵのイントラ予測モードは隣接ＰＵのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接ＰＵのイントラ予測モードは現在ＰＵに対して最確モードであり得る。したがって、この例では、ビットストリームは、ＰＵのイントラ予測モードが隣接ＰＵのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測ユニット１６４は、次いで、空間的に隣接するＰＵのビデオブロックに基づいてＰＵの予測データ（たとえば、予測サンプル）を生成するために、イントラ予測モードを使用し得る。
【０１１５】
[0123]上記で説明したように、ビデオ復号器３０もレイヤ間予測ユニット１６６を含み得る。レイヤ間予測ユニット１６６は、ＳＨＶＣにおいて利用可能である１つまたは複数の異なるレイヤ（たとえば、ベースレイヤまたは参照レイヤ）を使用して、現在ブロック（たとえば、エンハンスメントレイヤ中の現在ブロック）を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット１６６は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測がある。レイヤ間イントラ予測は、エンハンスメントレイヤ中の現在ブロックを予測するために、ベースレイヤ中のコロケートブロックの再構成を使用する。レイヤ間動き予測は、エンハンスメントレイヤ中の動作を予測するために、ベースレイヤの動き情報を使用する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、ベースレイヤの残差を使用する。レイヤ間予測スキームの各々について、以下でより詳細に説明する。
【０１１６】
[0124]再構成ユニット１５８は、ＣＵのビデオブロックを再構成するために、適用可能なとき、ＣＵのＴＵに関連付けられた残差ビデオブロックと、ＣＵのＰＵの予測ビデオブロック、たとえば、イントラ予測データまたはインター予測データのいずれかとを使用し得る。したがって、ビデオ復号器３０は、ビットストリーム中のシンタックス要素に基づいて、予測ビデオブロックと残差ビデオブロックとを生成し得、予測ビデオブロックと残差ビデオブロックとに基づいてビデオブロックを生成し得る。
【０１１７】
[0125]再構成ユニット１５８がＣＵのビデオブロックを再構成した後、フィルタユニット１５９は、ＣＵに関連付けられたブロッキングアーティファクトを低減するために、デブロッキング演算を実施し得る。フィルタユニット１５９が、ＣＵに関連付けられたブロッキングアーティファクトを低減するためにデブロッキング演算を実施した後、ビデオ復号器３０はＣＵのビデオブロックを復号ピクチャバッファ１６０に記憶し得る。復号ピクチャバッファ１６０は、後続の動き補償、イントラ予測、および図１Ａまたは図１Ｂのディスプレイデバイス３２などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。たとえば、ビデオ復号器３０は、復号ピクチャバッファ１６０中のビデオブロックに基づいて、他のＣＵのＰＵに対してイントラ予測演算またはインター予測演算を実施し得る。  
マルチレイヤ復号器
【０１１８】
[0126]図３Ｂは、本開示で説明する態様による技法を実装し得る（単にビデオ復号器３３とも呼ばれる）マルチレイヤビデオ復号器３３の別の例を示すブロック図である。ビデオ復号器３３は、ＳＨＶＣおよびマルチビューコーディングの場合など、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオ復号器３３は、本開示の技法のいずれかまたはすべてを実施するように構成され得る。
【０１１９】
[0127]ビデオ復号器３３はビデオ復号器３０Ａとビデオ復号器３０Ｂとを含み、それらの各々はビデオ復号器３０として構成され得、ビデオ復号器３０に関して上記で説明した機能を実施し得る。さらに、参照番号の再利用によって示されるように、ビデオ復号器３０Ａおよび３０Ｂは、ビデオ復号器３０としてシステムとサブシステムとのうちの少なくともいくつかを含み得る。ビデオ復号器３３は、２つのビデオ復号器３０Ａおよび３０Ｂを含むものとして示されているが、ビデオ復号器３３は、そのようなものとして限定されず、任意の数のビデオ復号器３０レイヤを含み得る。いくつかの実施形態では、ビデオ復号器３３はアクセスユニット中の各ピクチャまたはフレームについてビデオ復号器３０を含み得る。たとえば、５つのピクチャを含むアクセスユニットは、５つの復号器レイヤを含むビデオ復号器によって処理または復号され得る。いくつかの実施形態では、ビデオ復号器３３は、アクセスユニット中のフレームよりも多くの復号器レイヤを含み得る。いくつかのそのような場合では、ビデオ復号器レイヤのいくつかは、いくつかのアクセスユニットを処理するときに非アクティブであり得る。
【０１２０】
[0128]ビデオ復号器３０Ａおよび３０Ｂに加えて、ビデオ復号器３３はアップサンプリングユニット９２を含み得る。いくつかの実施形態では、アップサンプリングユニット９２は、フレームまたはアクセスユニットのための参照ピクチャリストに追加されるべきエンハンストレイヤを作成するために、受信されたビデオフレームのベースレイヤをアップサンプリングし得る。このエンハンストレイヤは復号ピクチャバッファ１６０に記憶され得る。いくつかの実施形態では、アップサンプリングユニット９２は、図２Ａの再サンプリングユニット９０に関して説明した実施形態の一部または全部を含むことができる。いくつかの実施形態では、アップサンプリングユニット９２は、レイヤをアップサンプリングすることと、スライス境界ルールおよび／またはラスタスキャンルールのセットに準拠するために１つまたは複数のスライスを再編成、再定義、変更、または調整することとを行うように構成される。場合によっては、アップサンプリングユニット９２は、受信されたビデオフレームのレイヤをアップサンプリングおよび／またはダウンサンプリングするように構成された再サンプリングユニットであり得る。
【０１２１】
[0129]アップサンプリングユニット９２は、下位レイヤ復号器（たとえば、ビデオ復号器３０Ａ）の復号ピクチャバッファ１６０からピクチャまたはフレーム（またはピクチャに関連付けられたピクチャ情報）を受信し、ピクチャ（または受信されたピクチャ情報）をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤ復号器と同じアクセスユニット中のピクチャを復号するように構成された上位レイヤ復号器（たとえば、ビデオ復号器３０Ｂ）の予測処理ユニット１５２に与えられ得る。場合によっては、上位レイヤ復号器は、下位レイヤ復号器から削除された１つのレイヤである。他の場合には、図３Ｂのレイヤ０復号器とレイヤ１復号器との間に１つまたは複数の上位レイヤ復号器があり得る。
【０１２２】
[0130]場合によっては、アップサンプリングユニット９２は省略またはバイパスされ得る。そのような場合、ビデオ復号器３０Ａの復号ピクチャバッファ１６０からのピクチャは、直接、または少なくともアップサンプリングユニット９２に与えられることなしに、ビデオ復号器３０Ｂの予測処理ユニット１５２に与えられ得る。たとえば、ビデオ復号器３０Ｂに与えられたビデオデータと、ビデオ復号器３０Ａの復号ピクチャバッファ１６０からの参照ピクチャとが同じサイズまたは解像度である場合、参照ピクチャは、アップサンプリングなしにビデオ復号器３０Ｂに与えられ得る。さらに、いくつかの実施形態では、アップサンプリングユニット９２は、ビデオ復号器３０Ａの復号ピクチャバッファ１６０から受信された参照ピクチャをアップサンプリングまたはダウンサンプリングするように構成された再サンプリングユニット９０であり得る。
【０１２３】
[0131]図３Ｂに示されているように、ビデオ復号器３３は、デマルチプレクサ（またはｄｅｍｕｘ）９９をさらに含み得る。ｄｅｍｕｘ９９は符号化ビデオビットストリームを複数のビットストリームに分割することができ、ｄｅｍｕｘ９９によって出力された各ビットストリームは異なるビデオ復号器３０Ａおよび３０Ｂに与えられる。複数のビットストリームは、ビットストリームを受信することによって作成され得、ビデオ復号器３０Ａおよび３０Ｂの各々は、所与の時間においてビットストリームの一部分を受信する。場合によっては、ｄｅｍｕｘ９９において受信されるビットストリームからのビットは、ビデオ復号器の各々（たとえば、図３Ｂの例ではビデオ復号器３０Ａおよび３０Ｂ）の間で一度に１ビットずつ交互に配置され得るが、多くの場合、ビットストリームは別様に分割される。たとえば、ビットストリームは、一度に１ブロックずつビットストリームを受信するビデオ復号器を交互に配置することによって分割され得る。別の例では、ビットストリームは、ブロックの非１：１比によって、ビデオ復号器３０Ａおよび３０Ｂの各々に分割され得る。たとえば、２つのブロックは、ビデオ復号器３０Ａに与えられる各ブロックについてビデオ復号器３０Ｂに与えられ得る。いくつかの実施形態では、ｄｅｍｕｘ９９によるビットストリームの分割はプリプログラムされ得る。他の実施形態では、ｄｅｍｕｘ９９は、宛先モジュール１４を含む宛先デバイス上のプロセッサからなど、ビデオ復号器３３の外部のシステムから受信された制御信号に基づいてビットストリームを分割し得る。制御信号は、入力インターフェース２８からのビデオの解像度またはビットレートに基づいて、リンク１６の帯域幅に基づいて、ユーザに関連付けられたサブスクリプション（たとえば、有料サブスクリプション対無料サブスクリプション）に基づいて、またはビデオ復号器３３によって取得可能な解像度を決定するための他のファクタに基づいて生成され得る。  
イントラランダムアクセスポイント（ＩＲＡＰ）ピクチャ
【０１２４】
[0132]いくつかのビデオコーディングスキームは、ビットストリームが、ビットストリーム中で様々なランダムアクセスポイントに先行するいかなるピクチャも復号する必要なしに、それらのランダムアクセスポイントのいずれかから始めて復号され得るように、ビットストリーム全体にわたってそれらのランダムアクセスポイントを与え得る。そのようなビデオコーディングスキームでは、ランダムアクセススキップリーディング（ＲＡＳＬ：random access skipped leading）ピクチャを除いて、復号順序においてランダムアクセスポイントに後続するすべてのピクチャは、ランダムアクセスポイントに先行するいかなるピクチャも使用することなしに正確に復号され得る。たとえば、ビットストリームの一部分が送信の間または復号の間に失われても、復号器は、次のランダムアクセスポイントから始めてビットストリームの復号を再開することができる。ランダムアクセスのサポートは、たとえば、動的なストリーミングサービス、シーク動作、チャネル切替えなどを可能にし得る。
【０１２５】
[0133]いくつかのコーディングスキームでは、そのようなランダムアクセスポイントは、イントラランダムアクセスポイント（ＩＲＡＰ）ピクチャと呼ばれるピクチャによって与えられ得る。たとえば、アクセスユニット（「ａｕＡ」）中に含まれているエンハンスメントレイヤ（「ｌａｙｅｒＡ」）中のエンハンスメントレイヤＩＲＡＰピクチャに関連付けられたランダムアクセスポイントは、各参照レイヤ（「ｌａｙｅｒＢ」）中にあり、復号順序においてａｕＡに先行するアクセスユニット（「ａｕＢ」）中に含まれているピクチャに関連付けられたランダムアクセスポイント（または、ａｕＡ中に含まれているランダムアクセスポイント）を有するｌａｙｅｒＡのｌａｙｅｒＢ（たとえば、ｌａｙｅｒＡを予測するために使用されるレイヤである参照レイヤ）に関して復号順序においてａｕＡに後続する（ａｕＡ中に位置するピクチャを含む）ｌａｙｅｒＡ中のピクチャが、ａｕＡに先行するｌａｙｅｒＡ中のいかなるピクチャも復号する必要なしに正確に復号可能であるように、レイヤ特有のランダムアクセスを与え得る。
【０１２６】
[0134]ＩＲＡＰピクチャは、イントラ予測を使用してコーディングされ（たとえば、他のピクチャを参照することなしにコーディングされ）、および／またはレイヤ間予測を使用してコーディングされ得、たとえば、瞬時復号器リフレッシュ（ＩＤＲ：instantaneous decoder refresh）ピクチャと、クリーンランダムアクセス（ＣＲＡ：clean random access）ピクチャと、切断リンクアクセス（ＢＬＡ：broken link access）ピクチャとを含み得る。ビットストリーム中にＩＤＲピクチャがあるとき、復号順序においてＩＤＲピクチャに先行するすべてのピクチャは、ＩＤＲピクチャに後続するピクチャによる予測のために使用されない。ビットストリーム中にＣＲＡピクチャがあるとき、ＣＲＡピクチャに後続するピクチャは、復号順序においてＣＲＡピクチャに先行するピクチャを予測のために使用することも、使用しないこともある。復号順序においてＣＲＡピクチャに後続するが、復号順序においてＣＲＡピクチャに先行するピクチャを使用するピクチャは、ＲＡＳＬピクチャと呼ばれることがある。復号順序においてＩＲＡＰピクチャに後続し、出力順序においてＩＲＡＰピクチャに先行することができる別のタイプのピクチャは、復号順序においてＩＲＡＰピクチャに先行するいかなるピクチャへの参照も含んでいないことがあるランダムアクセス復号可能リーディング（ＲＡＤＬ：random access decodable leading）ピクチャである。ＣＲＡピクチャに先行するピクチャが利用可能でない場合、ＲＡＳＬピクチャは復号器によって廃棄され得る。ＢＬＡピクチャは、（たとえば、２つのビットストリームが互いにスプライスされ、ＢＬＡピクチャが復号順序において第２のビットストリームの最初のピクチャであるので）ＢＬＡピクチャに先行するピクチャが復号器にとって利用可能でないことがあることを、復号器に示す。ＩＲＡＰピクチャである（たとえば、０のレイヤＩＤ値を有する）ベースレイヤピクチャを含んでいるアクセスユニット（たとえば、複数のレイヤにわたって同じ出力時間に関連付けられたすべてのコード化ピクチャからなるピクチャのグループ）は、ＩＲＡＰアクセスユニットと呼ばれることがある。  
ＳＨＶＣにおける再サンプリングプロセス
【０１２７】
[0135]再サンプリングプロセスでは、ピクチャのサンプルの数がアップサンプリング（増加）またはダウンサンプリング（減少）され得る。参照レイヤピクチャ再サンプリングの１つの設計では、出力参照レイヤピクチャが再サンプリングプロセスのための入力として使用される。
【０１２８】
[0136]ＳＨＶＣでは、参照レイヤ（またはベースレイヤ）ピクチャサイズがエンハンスメントレイヤピクチャサイズとは異なる場合、レイヤ間予測のためのエンハンスメントレイヤピクチャのサイズを一致させるために、再サンプリング（またはアップサンプリング）プロセスが参照レイヤピクチャに適用され得る。参照レイヤピクチャを再サンプリングするために、Ｎタップ再サンプリングフィルタが色成分ごとに適用され得る。
【０１２９】
[0137]フィルタ処理プロセスでは、参照レイヤピクチャのサンプル（またはピクセル）絶対値が、フィルタ処理されたサンプル（またはピクセル）を導出するために、フィルタ係数を乗算され、合計され得る。参照レイヤピクチャのサイズとエンハンスメントレイヤピクチャのサイズとが異なるので、フィルタ処理プロセスに関与する参照レイヤサンプルの座標が定義され得る。たとえば、現在エンハンスメントレイヤピクチャのサンプルロケーションに対応する参照レイヤピクチャのサンプルロケーションは、参照レイヤピクチャのサンプルロケーションによって示される（１つまたは複数の）サンプルが再サンプリングプロセスにおいて使用され得るように決定され得る。  
ベースレイヤのための適合ウィンドウ
【０１３０】
[0138]上述のように、適合ウィンドウ情報は、参照レイヤ中に含まれ得、再サンプリングプロセスを含む様々な目的で使用され得る。コード化ピクチャの出力領域を示すための適合ウィンドウクロッピングパラメータが使用される。
【０１３１】
[0139]図４に、適合ウィンドウ情報を利用するための技法を示す例示的な概略図を示す。ＳＰＳとＰＰＳとＶＰＳとを含むコード化データがコード化ピクチャバッファ（ＣＰＢ：Coded Picture Buffer）４０５に記憶される。ＳＰＳは、プロファイル、ティア、およびレベル指示など、コード化シーケンスの特性を記述するためのパラメータを含み得る。従来のシステムでは、適合ウィンドウクロッピングパラメータもＳＰＳ中に含まれ得る。この情報は復号プロセス４１０に与えられ、復号されたピクチャが、出力のために復号ピクチャバッファ（ＤＰＢ：Decoded Picture Buffer）４１５に記憶され、参照ピクチャとして使用される。復号されたピクチャは、次いで、出力クロッピング段４２０に受け渡され、そこで、ＳＰＳ中で指定された適合ウィンドウパラメータに従って出力ピクチャに出力クロッピングが適用される。
【０１３２】
[0140]以下の表１に、ＨＥＶＣにおいて適合ウィンドウをシグナリングするための従来のシステムを示す。以下で表１に示されているように、適合ウィンドウは、上、下、左、および／または右オフセットを含み得る。これらのオフセットは、ピクチャ中のどのサンプルが再サンプリングのために使用されるべきかを示すために使用され得る。  
【０１３３】
【表１】
0006700193.tif 000002
【０１３４】
[0141]シングルレイヤビットストリームの場合、適合ウィンドウはＳＰＳ中でシグナリングされ得る。しかしながら、マルチレイヤビットストリームの場合、ＶＰＳはマルチレイヤビットストリームのレイヤのすべてに適用されるので、ＶＰＳ中でベースレイヤをシグナリングすることが有利であり得る。
【０１３５】
[0142]マルチレイヤビットストリームでは、個々のレイヤは、ＨＥＶＣ、ＳＨＶＣ、ＭＶ−ＨＥＶＣ、３Ｄ−ＨＥＶＣ、ＡＶＣ、ＳＶＣなど、異なるコーディングスキームを使用してコーディングされ得る。これらのコーディングスキームのいくつかは他のコーディングスキームに関連し得る。たとえば、ＨＥＶＣのスケーラブル拡張としてのＳＨＶＣはＨＥＶＣに関連し得る。ただし、ＳＨＶＣおよび／またはＨＥＶＣは他のコーディングスキームに関連し得る。コーデックが、そのコーデックがそれに関連しないコーディングスキームを使用してコーディングされた参照レイヤを有するビットストリームを受信したとき、コーデックは、レイヤのための適合ウィンドウ情報を決定することに適さないことがある。一例では、上記の表１に示されたＨＥＶＣにおける適合ウィンドウフラグは、ＳＨＶＣを使用するコーデックによる使用に好適であるが、ＳＶＣを使用するコーデックによる使用に好適ではないことがある。その上、本例では、上記の表１に示されたＨＥＶＣにおける適合ウィンドウフラグは、適合ウィンドウ情報をＳＶＣコーデックに搬送するのに好適ではないことがある。シングルレイヤコーディングスキームを使用してコーディングされたベースレイヤのための適合ウィンドウ情報は、シグナリングされないことがあり、したがって、シングルレイヤコーディングスキームに関連しない拡張コーディングスキームを使用するコーデックの場合に利用可能でないことがある。
【０１３６】
[0143]ＳＨＶＣでは、２つの再サンプリングプロセス、（１）サンプルまたはピクセル情報再サンプリング、および（２）動き（すなわち、動きフィールド）または非ピクセル情報再サンプリングがある。本開示の実施形態は、これらの再サンプリングプロセスのうちの１つに適用可能であるか、両方に適用可能であるか、またはいずれにも適用可能でないことがある。
【０１３７】
[0144]本開示のいくつかの態様では、適合ウィンドウ情報は、スケーラビリティアスペクト比またはスケーリングファクタを計算するために適用され得る。たとえば、再サンプリングプロセスは、計算されたアスペクト比を用いて復号参照レイヤピクチャに適用され得る。本開示の他の態様では、再サンプリングプロセスは、再サンプリングプロセスのための入力として出力参照レイヤピクチャを使用し得る。本開示の実施形態は、これらの態様のうちの１つに適用されるか、両方に適用されるか、またはいずれにも適用されないことがある。
【０１３８】
[0145]本開示の実施形態は、ベースレイヤ中で適合ウィンドウ情報をシグナリングするためのフラグを提供する。ベースレイヤ適合ウィンドウは、たとえば、ＶＰＳ、ＳＰＳ、ＰＰＳ、および／またはスライスヘッダ中でシグナリングされ得る。いくつかの実施形態では、ベースレイヤ適合ウィンドウは、受信コーデックに関連しないコーディングスキーム、および／または符号化器によって使用されるコーディングスキームを使用してベースレイヤが符号化されたことが示されるとき、シグナリングされ得る（たとえば、そのときのみシグナリングされ得る）。たとえば、ベースレイヤ適合ウィンドウは、ベースレイヤがＳＨＶＣ対応復号器によって受信されたとき、ベースレイヤが、非ＨＥＶＣコーディングスキーム（たとえば、ＳＨＶＣに関連しないことがあるコーディングスキームであるＡＶＣ）を使用してコーディングされたという指示に基づいてシグナリングされ得る。ベースレイヤ適合ウィンドウをシグナリングするための例示的なシンタックスおよびセマンティクスを以下で表２に示す。  
【０１３９】
【表２】
0006700193.tif 000003
【０１４０】
[0146]表２において、ｂｌ＿ｃｏｎｆｏｒｍａｎｃｅ＿ｗｉｎｄｏｗ＿ｆｌａｇは、ベースレイヤのオフセットパラメータが後続することを示すために１に設定され得る。そうではなく、０に設定されたｂｌ＿ｃｏｎｆｏｒｍａｎｃｅ＿ｗｉｎｄｏｗ＿ｆｌａｇは、オフセットパラメータが存在しないことを示し得る。ｂｌ＿ｃｏｎｆｏｒｍａｎｃｅ＿ｗｉｎｄｏｗ＿ｆｌａｇが存在しない場合、それは０に設定されると推論され得る。いくつかの実施形態では、ビットストリーム制約要件が使用され得る。たとえば、ｂｌ＿ｃｏｎｆｏｒｍａｎｃｅ＿ｗｉｎｄｏｗ＿ｆｌａｇは、非ＨＥＶＣコード化ベースレイヤの場合、１に設定され得る。別の例では、ｂｌ＿ｃｏｎｆｏｒｍａｎｃｅ＿ｗｉｎｄｏｗ＿ｆｌａｇは、ベースレイヤが、受信コーデックに関連しないコーディングスキームを使用してコーディングされた場合、１に設定され得る。
【０１４１】
[0147]さらに、表２において、ｂｌ＿ｃｏｎｆ＿ｗｉｎ＿ｌｅｆｔ＿ｏｆｆｓｅｔ、ｂｌ＿ｃｏｎｆ＿ｗｉｎ＿ｒｉｇｈｔ＿ｏｆｆｓｅｔ、ｂｌ＿ｃｏｎｆ＿ｗｉｎ＿ｔｏｐ＿ｏｆｆｓｅｔ、およびｂｌ＿ｃｏｎｆ＿ｗｉｎ＿ｂｏｔｔｏｍ＿ｏｆｆｓｅｔは、出力のためにピクチャ座標で指定された矩形領域に関して、ベースレイヤ復号プロセスから出力されるコード化ビデオシーケンス（ＣＶＳ：Coded Video Sequence）中のベースレイヤピクチャのサンプルを指定し得る。ｂｌ＿ｃｏｎｆｏｒｍａｎｃｅ＿ｗｉｎｄｏｗ＿ｆｌａｇが０に等しいとき、ｂｌ＿ｃｏｎｆ＿ｗｉｎ＿ｌｅｆｔ＿ｏｆｆｓｅｔ、ｂｌ＿ｃｏｎｆ＿ｗｉｎ＿ｒｉｇｈｔ＿ｏｆｆｓｅｔ、ｂｌ＿ｃｏｎｆ＿ｗｉｎ＿ｔｏｐ＿ｏｆｆｓｅｔ、およびｂｌ＿ｃｏｎｆ＿ｗｉｎ＿ｂｏｔｔｏｍ＿ｏｆｆｓｅｔの値も０に等しいと推論され得る。
【０１４２】
[0148]一例では、シグナリングされたベースレイヤウィンドウオフセットは、出力ベースレイヤピクチャサイズと、場合によっては、再サンプリングプロセスにおいて使用されるべき復号ベースレイヤピクチャに対するロケーションとを計算するために、および、たとえば、それぞれ復号エンハンスメントレイヤ幅または高さに対する出力ベースレイヤ幅または高さの分数として、スケーラビリティアスペクト比またはスケーリングファクタを計算するために含められ得る。
【０１４３】
[0149]図５は、本開示の（１つまたは複数の）態様による、ピクチャを符号化するためのプロセスの例示的な実施形態のフローチャートである。プロセス５００はブロック５０５において開始する。
【０１４４】
[0150]ブロック５１０において、プロセス５００は、マルチレイヤビットストリームのレイヤを符号化することを伴い得る。いくつかの実施形態では、第１のビデオ符号化器は、マルチレイヤビットストリームのすべてのレイヤを符号化し得る。他の実施形態では、ビデオ符号化器は、マルチレイヤビットストリームのレイヤの一部分のみを符号化し得る。ビデオ符号化器は、コーディングスキームに従ってビットストリームのレイヤを符号化し得る。いくつかの態様では、ビットストリームは、第１のビデオ符号化器によって使用されるコーディングスキームとは異なる、および／またはそれに関連しない、コーディングスキームを使用してコーディングされたベースレイヤを含み得る。たとえば、ベースレイヤは、第１のビデオ符号化器とは異なる第２のビデオ符号化器によって符号化されていることがある。他の態様では、ビットストリームは、受信コーデックと同じ、および／またはそれに関連する、コーディングスキームを使用してコーディングされたベースレイヤを含み得る。たとえば、ベースレイヤは、第１のビデオ符号化器によって符号化されていることがある。
【０１４５】
[0151]決定ブロック５１５において、プロセス５００は、ベースレイヤが、第１のビデオ符号化器によって使用されるコーディングスキームに関連するコーディングスキームを使用して符号化されたかどうかを決定することを伴い得る。ベースレイヤが、第１のビデオ符号化器によって使用されるコーディングスキームに関連するコーディングスキームを使用して符号化された場合、プロセス５００は、ブロック５２０に進むことを伴い得る。ベースレイヤが、第１のビデオ符号化器によって使用されるコーディングスキームに関連しないコーディングスキームを使用して符号化された場合、プロセス５００は、決定ブロック５３５に進むことを伴い得る。
【０１４６】
[0152]ブロック５２０において、プロセス５００は、適合ウィンドウをシグナリングすることを伴い得る。一例では、適合ウィンドウをシグナリングすることは、再サンプリングされたピクチャのための配置情報を与える位置オフセットが後続することを示すための値（たとえば、１）に適合ウィンドウフラグを設定することを伴い得る。適合ウィンドウは、１つまたは複数のオフセット、たとえば、上、下、左、および右オフセットを含み得る（表１参照）。適合ウィンドウおよび／またはオフセットはＳＰＳ中でシグナリングされ得る。たとえば、適合ウィンドウはＨＥＶＣコード化レイヤ中でシグナリングされ得る。
【０１４７】
[0153]ブロック５２５において、プロセス５００は、適合ウィンドウ情報を使用してピクチャを符号化することを伴い得る。
【０１４８】
[0154]ブロック５３０において、ベースレイヤが、第１のビデオ符号化器によって使用されるコーディングスキームに関連しないコーディングスキームを使用して符号化された場合、プロセス５００は、ベースレイヤ適合ウィンドウをシグナリングすることを伴い得る。一例では、適合ウィンドウをシグナリングすることは、再サンプリングされたピクチャのための配置情報を与えるベースレイヤ位置オフセットが後続することを示すための値（たとえば、１）にベースレイヤ適合ウィンドウフラグを設定することを伴い得る。ベースレイヤ適合ウィンドウは、１つまたは複数のオフセット、たとえば、上、下、左、および右オフセットを含み得る（表２参照）。適合ウィンドウおよび／またはオフセットは、ＶＰＳ、ＳＰＳ、ＰＰＳ、および／またはスライスヘッダ中でシグナリングされ得る。
【０１４９】
[0155]ブロック５３５において、プロセス５００は、ベースレイヤ適合ウィンドウを使用してピクチャをコーディングすることを伴い得る。プロセス５００はブロック５４０において終了する。
【０１５０】
[0156]図６は、本開示で説明する（１つまたは複数の）態様による、ピクチャを復号するためのプロセスの例示的な実施形態のフローチャートである。プロセス６００はブロック６０５において開始する。
【０１５１】
[0157]ブロック６１０において、プロセス６００は、ビットストリームを受信することを伴い得る。いくつかの態様では、ビットストリームは、ビットストリームの他のレイヤを符号化するために使用されたコーディングスキームに関連しないコーディングスキームを使用してコーディングされたベースレイヤを含み得る。他の態様では、ビットストリームは、ビットストリームの他のレイヤを符号化するために使用されたコーディングスキームに関連するコーディングスキームを使用してコーディングされたベースレイヤを含み得る。
【０１５２】
[0158]ブロック６１５において、プロセス６００は、ビットストリームのベースレイヤ中で適合ウィンドウフラグと少なくとも１つの位置オフセットとを復号することを伴い得る。いくつかの実施形態では、適合ウィンドウフラグおよび／または少なくとも１つの位置オフセットは、ベースレイヤのＶＰＳ中でシグナリングされ得る。
【０１５３】
[0159]ブロック６２０において、プロセス６００は、ベースレイヤ適合ウィンドウを使用してピクチャを復号することを伴い得る。プロセス６００はブロック６２５において終了する。
【０１５４】
[0160]一態様では、ベースレイヤ出力ピクチャは、ベースレイヤピクチャを表示すること、および再サンプリングプロセスを実施することを含む、多数の目的で導出され得る。
【０１５５】
[0161]別の態様では、適合ウィンドウのサイズは、幅および高さ情報を用いて明示的にシグナリングされ得、幅および高さ情報は、スケーラビリティアスペクト比を計算するために使用され得る。これは、復号ピクチャサイズまたは出力ベースレイヤピクチャの厳密な配置を決定することとともに行われるか、またはそれを決定することなしに行われ得る。したがって、適合ウィンドウは部分的にのみシグナリングされ得る。
【０１５６】
[0162]さらなる態様では、受信されたベースレイヤが非ＨＥＶＣコーディングされた場合、ＳＨＶＣワーキングドラフトにおいて使用される、スケーリングされた基準オフセットのセマンティクスおよび再サンプリングプロセスは、適用されたスケーリングされた基準オフセットをもつ参照レイヤ復号ピクチャが再サンプリングプロセスおよび／またはスケーラビリティ比計算への入力として使用され得るように、変更され得る。たとえば、そのような態様では、スケーリングされた基準オフセットは、ｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｌｅｆｔ＿ｏｆｆｓｅｔ、ｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｔｏｐ＿ｏｆｆｓｅｔ、ｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｒｉｇｈｔ＿ｏｆｆｓｅｔ、およびｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｂｏｔｔｏｍ＿ｏｆｆｓｅｔを含み得る。
【０１５７】
[0163]また別の態様では、ＳＨＶＣ復号器は、ＡＶＣベースレイヤの適合ウィンドウ情報が、ＳＨＶＣエンハンスメントレイヤによって使用され得、追加のシグナリングなしに適合ウィンドウ情報を導出するために使用され得るように、ＡＶＣ  ＳＰＳシンタックス構造を使用し得る。
【０１５８】
[0164]さらに別の態様では、ベースレイヤの適合ウィンドウパラメータの値は、ＳＨＶＣビットストリーム中で関係するシンタックスをシグナリングする代わりに、外部手段によって（たとえば、システムレベルによって）与えられ得る。これは、ベースレイヤ自体、およびベースレイヤピクチャのための外部から与えられる他のパラメータの場合と同様の方法で行われ得る。  
他の考慮事項
【０１５９】
[0165]本明細書で開示する情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【０１６０】
[0166]本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
【０１６１】
[0167]本明細書で説明した技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。デバイスまたは構成要素として説明した特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装された場合、本技法は、実行されたとき、上記で説明した方法のうちの１つまたは複数を実施する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気または光学データ記憶媒体など、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および／または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０１６２】
[0168]プログラムコードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価の集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明した技法のいずれかを実施するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明した技法の実装に好適な他の構造または装置のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアもしくはハードウェア内に提供され得、または複合ビデオ符号化器／復号器（コーデック）に組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１６３】
[0169]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示する技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素またはユニットについて説明したが、それらの構成要素またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【０１６４】
[0170]上記について様々な異なる実施形態に関して説明したが、一実施形態からの特徴または要素は、本開示の教示から逸脱することなく他の実施形態と組み合わせられ得る。たとえば、符号化器は、使用のために利用可能な説明した複数のハッシュ関数を有し得、いずれのハッシュ関数をビデオ情報の各ブロックのために使用すべきかを決定し得る。記憶されたハッシュインデックスは複数の値を備え得、ビデオ情報のブロックは、ブロックのための計算されたハッシュインデックスが、記憶されたハッシュインデックスの値のうちの１つまたは複数に一致する場合、記憶されたハッシュインデックスにマッピングされ得る。説明したハッシュフィルタは、代わりに、ハッシュテーブルへの現在ブロックの自動追加と組み合わせて適用され得、すなわち、ハッシュフィルタは、ビデオ情報のブロックを示す情報がハッシュテーブルに追加された後に適用され得る。たとえば、リンクリストがいっぱいになった場合、ハッシュフィルタはその時点において適用され得る。現在ブロックを示す情報がハッシュテーブル中のハッシュインデックスにマッピングされた後にその情報をハッシュテーブルに追加することを含む、特徴の同様の組合せも企図されるが、それぞれの実施形態間の特徴の組合せは、必ずしもそれに限定されるとは限らない。
【０１６５】
[0171]本開示の様々な実施形態について説明した。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
マルチレイヤビットストリーム中のピクチャを符号化するための方法であって、
第１のコーディングスキームに従って前記マルチレイヤビットストリームの少なくとも１つのレイヤを符号化すること、前記マルチレイヤビットストリームは、ベースレイヤを備える、と、
前記ベースレイヤのビデオパラメータセット（ＶＰＳ）中で前記ピクチャのための適合ウィンドウフラグと少なくとも１つの位置オフセットとを符号化すること、前記適合ウィンドウフラグは、前記ＶＰＳが前記少なくとも１つの位置オフセットを備えることを示す、と
を備える、方法。
［Ｃ２］
前記ベースレイヤが第２のコーディングスキームに従ってコーディングされた場合、前記適合ウィンドウフラグと前記少なくとも１つの位置オフセットとは、前記ベースレイヤの前記ＶＰＳ中で符号化され、前記第２のコーディングスキームは、前記第１のコーディングスキームに関連しない、
Ｃ１に記載の方法。
［Ｃ３］
前記第１のコーディングスキームが前記第２のコーディングスキームと同等でない場合、前記第１のコーディングスキームが前記第２のコーディングスキームに関連しないと決定することをさらに備える、
Ｃ２に記載の方法。
［Ｃ４］
前記第１のコーディングスキームが前記第２のコーディングスキームのスケーラブル拡張でない場合、前記第１のコーディングスキームが前記第２のコーディングスキームに関連しないと決定することをさらに備える、
Ｃ２に記載の方法。
［Ｃ５］
前記少なくとも１つの位置オフセットは、左オフセット、右オフセット、上オフセット、および下オフセットのうちの少なくとも１つを備える、
Ｃ１に記載の方法。
［Ｃ６］
前記少なくとも１つの位置オフセットに基づいて前記ピクチャを符号化することをさらに備える、
Ｃ５に記載の方法。
［Ｃ７］
前記ベースレイヤは、出力ピクチャサイズをさらに備える、
Ｃ１に記載の方法。
［Ｃ８］
マルチレイヤビットストリーム中のピクチャを符号化するための装置であって、
メモリと、
前記メモリに動作可能に結合されたハードウェアプロセッサと
を備え、前記ハードウェアプロセッサは、
第１のコーディングスキームに従って前記マルチレイヤビットストリームの少なくとも１つのレイヤを符号化すること、前記マルチレイヤビットストリームは、ベースレイヤを備える、と、
前記ベースレイヤのビデオパラメータセット（ＶＰＳ）中で適合ウィンドウフラグと少なくとも１つの位置オフセットとを符号化すること、ここにおいて、前記適合ウィンドウフラグは、前記ＶＰＳが前記少なくとも１つの位置オフセットを備えることを示す、と
を行うように構成される、装置。
［Ｃ９］
前記プロセッサは、前記ベースレイヤが第２のコーディングスキームに従ってコーディングされた場合、前記ベースレイヤの前記ＶＰＳ中で前記適合ウィンドウフラグと前記少なくとも１つの位置オフセットとをコーディングするようにさらに構成され、前記第２のコーディングスキームは、前記第１のコーディングスキームとは異なる、
Ｃ８に記載の装置。
［Ｃ１０］
前記プロセッサは、前記第１のコーディングスキームが前記第２のコーディングスキームと同等でない場合、前記第１のコーディングスキームが前記第２のコーディングスキームに関連しないと決定するようにさらに構成される、
Ｃ９に記載の装置。
［Ｃ１１］
前記プロセッサは、前記第１のコーディングスキームが前記第２のコーディングスキームのスケーラブル拡張でない場合、前記第１のコーディングスキームが前記第２のコーディングスキームに関連しないと決定するようにさらに構成される、
Ｃ９に記載の装置。
［Ｃ１２］
前記少なくとも１つの位置オフセットは、左オフセット、右オフセット、上オフセット、および下オフセットのうちの少なくとも１つを備える、
Ｃ８に記載の装置。
［Ｃ１３］
前記プロセッサは、前記少なくとも１つの位置オフセットに基づいて前記ピクチャを符号化するようにさらに構成される、
Ｃ１２に記載の装置。
［Ｃ１４］
前記ベースレイヤは、出力ピクチャサイズをさらに備える、
Ｃ８に記載の装置。
［Ｃ１５］
マルチレイヤビットストリーム中のピクチャを復号するための方法であって、
前記マルチレイヤビットストリームを受信すること、前記マルチレイヤビットストリームがベースレイヤを備える、と、
前記ベースレイヤのビデオパラメータセット（ＶＰＳ）中で適合ウィンドウフラグと少なくとも１つの位置オフセットとを復号すること、前記適合ウィンドウフラグは、前記ＶＰＳが前記少なくとも１つの位置オフセットを備えることを示す、と
を備える、方法。
［Ｃ１６］
前記少なくとも１つの位置オフセットは、左オフセット、右オフセット、上オフセット、および下オフセットのうちの少なくとも１つを備える、
Ｃ１５に記載の方法。
［Ｃ１７］
前記少なくとも１つの位置オフセットに基づいて前記ピクチャを復号することをさらに備える、
Ｃ１６に記載の方法。
［Ｃ１８］
前記ベースレイヤは、出力ピクチャサイズをさらに備える、
Ｃ１５に記載の方法。
［Ｃ１９］
マルチレイヤビットストリーム中のピクチャをコーディングするための装置であって、
メモリと、
前記メモリに動作可能に結合されたハードウェアプロセッサと
を備え、前記ハードウェアプロセッサは、
ビデオコーデックにおいて前記マルチレイヤビットストリームを受信すること、前記マルチレイヤビットストリームがベースレイヤを備える、と、
前記ベースレイヤのビデオパラメータセット（ＶＰＳ）中で適合ウィンドウフラグと少なくとも１つの位置オフセットとをコーディングすること、ここにおいて、前記適合ウィンドウフラグは、前記ＶＰＳが前記少なくとも１つの位置オフセットを備えることを示す、と
を行うように構成される、装置。
［Ｃ２０］
前記少なくとも１つの位置オフセットは、左オフセット、右オフセット、上オフセット、および下オフセットのうちの少なくとも１つを備える、
Ｃ１９に記載の装置。
［Ｃ２１］
前記プロセッサは、前記少なくとも１つの位置オフセットに基づいて前記ピクチャを復号するようにさらに構成される、
Ｃ２０に記載の装置。
［Ｃ２２］
前記ベースレイヤは、出力ピクチャサイズをさらに備える、
Ｃ１９に記載の装置。
【図１Ａ】
0006700193.tif 000004
【図１Ｂ】
0006700193.tif 000005
【図２Ａ】
0006700193.tif 000006
【図２Ｂ】
0006700193.tif 000007
【図３Ａ】
0006700193.tif 000008
【図３Ｂ】
0006700193.tif 000009
【図４】
0006700193.tif 000010
【図５】
0006700193.tif 000011
【図６】
0006700193.tif 000012