(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
ビデオデコーダの１つ以上のプロセッサが、前記ビデオデータの第１のピクチャの第１のシンタックス要素を、１つ以上のピクチャパラメータセットにおいて、復号することと、ここにおいて、前記第１のシンタックス要素の第１の値が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す、
前記１つ以上のプロセッサが、複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素に応答して、前記それぞれのスライスにわたってピクチャ内予測が許可されるかどうかを示す第２のシンタックス要素を１つ以上の前記第１のピクチャにおける複数のスライスのそれぞれのスライスヘッダにおいて、復号することと、ここにおいて、前記スライスヘッダにおける前記第２のシンタックス要素の存在が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素の前記第１の値に依存する、
複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素と、前記第１のピクチャの第１のスライスについて、前記第１のスライスにわたってピクチャ内予測が許可されることを示すそれぞれの第２のシンタックス要素とに応答して、前記１つ以上のプロセッサが、前記ビデオデータの前記第１のピクチャの第２のスライスの第２のコード化単位の情報に基づいて、前記ビデオデータの前記第１のピクチャの前記第１のスライスの第１のコード化単位を１つ以上の復号することと、
を備える方法。
【請求項２】
前記１つ以上のプロセッサが、前記ビデオデータのスライスの開始アドレスを１つ以上の復号すること、を更に含み、前記スライスの前記開始アドレスが前記スライスヘッダにおける前記第２のシンタックス要素の前に位置する、請求項１に記載の方法。
【請求項３】
前記第１のシンタックス要素を復号することが、前記第１のシンタックス要素の第１のインスタンスを復号することを備え、前記方法が、
前記１つ以上のプロセッサが、第２のピクチャについての前記第１のシンタックス要素の第２のインスタンスを１つ以上の復号すること、を更に備え、前記第１のシンタックス要素の前記第２のインスタンスについての第２の値が、前記第２のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されないことを示す、請求項１に記載の方法。
【請求項４】
前記１つ以上のプロセッサが、前記第２のピクチャの前記スライスを単独で１つ以上の復号することを更に備える請求項３に記載の方法。
【請求項５】
前記第１のシンタックス要素を復号することが、前記第１の値を決定するために、前記第１のシンタックス要素を解析することを備える、請求項１に記載の方法。
【請求項６】
ビデオデータを復号するための装置であって、
前記ビデオデータの第１のピクチャを記憶するように構成されたメモリと、
前記第１のピクチャの第１のシンタックス要素の第１のインスタンスを、ピクチャパラメータセットにおいて、復号することと、ここにおいて、前記第１のシンタックス要素の第１の値が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す、
複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素に応答して、前記第１のピクチャ内のスライスのそれぞれのスライスヘッダにおいて、ピクチャ内予測が、前記それぞれのスライスにわたってピクチャ内予測が許可されるかどうかを示す第２のシンタックス要素を復号することと、ここにおいて、前記スライスヘッダにおける前記第２のシンタックス要素の存在が、前記第１のピクチャの複数のスライスについて複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素の前記第１の値に依存する、
複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素と、前記第１のピクチャの第１のスライスについて、前記第１のスライスにわたってピクチャ内予測が許可されることを示すそれぞれの第２のシンタックス要素とに応答して、前記ビデオデータの前記第１のピクチャの第２のスライスの第２のコード化単位の情報に基づいて、前記ビデオデータの前記第１のピクチャの前記第１のスライスの第１のコード化単位を復号することと、
を行うように構成されたビデオデコーダと、
を備える装置。
【請求項７】
前記ビデオデコーダが、
スライスの開始アドレスを復号するように更に構成され、前記スライスの前記開始アドレスが前記スライスヘッダにおける前記第２のシンタックス要素の前に位置する、請求項６に記載の装置。
【請求項８】
前記第１のシンタックス要素を復号するために、前記ビデオデコーダが、前記第１のシンタックス要素の第１のインスタンスをコード化するように構成され、前記ビデオデコーダが、
第２のピクチャについての前記第１のシンタックス要素の第２のインスタンスを復号するように更に構成され、前記第１のシンタックス要素の第２の値が、前記第２のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されないことを示す、請求項６に記載の装置。
【請求項９】
前記ビデオデコーダが、
前記第２のピクチャの前記スライスを単独で復号するように更に構成される、請求項８に記載の装置。
【請求項１０】
前記第１のシンタックス要素を復号するために、前記ビデオデコーダが、前記第１の値を決定するために、前記第１のシンタックス要素を構文解析するように更に構成される、請求項６に記載の装置。
【請求項１１】
前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信装置と
のうちの少なくとも１つを備える、請求項６に記載の装置。
【請求項１２】
ビデオデータを復号するための装置であって、
前記ビデオデータの第１のピクチャの第１のシンタックス要素を、ピクチャパラメータセットにおいて、復号するための手段と、ここにおいて、前記第１のシンタックス要素の第１の値が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す、
ピクチャ内予測がスライスにわたって許可されることを示す前記第１のシンタックス要素の応答して、かつ前記第１のピクチャ内のスライスのそれぞれのスライスヘッダにおいて、ピクチャ内予測が前記それぞれのスライスにわたって許可されるかどうかを示す第２のシンタックス要素を復号するための手段と、ここにおいて、前記スライスヘッダにおける前記第２のシンタックス要素の存在が、ピクチャ内予測が前記第１のピクチャのスライスの前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素の前記第１の値に依存する、
複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素と、前記第１のピクチャの第１のスライスについて、前記第１のスライスにわたってピクチャ内予測が許可されることを示すそれぞれの第２のシンタックス要素とに応答して、前記ビデオデータの前記第１のピクチャの第２のスライスの第２のコード化単位の情報に基づいて、前記ビデオデータの前記第１のピクチャの前記第１のスライスの第１のコード化単位を復号するための手段と、
を備える装置。
【請求項１３】
前記ビデオデータのスライスの開始アドレスを復号するための手段
を更に備え、前記スライスの前記開始アドレスが前記スライスヘッダにおける前記第２のシンタックス要素の前に位置する、請求項１２に記載の装置。
【請求項１４】
前記第１のシンタックス要素を復号するための前記手段が、前記第１のシンタックス要素の第１のインスタンスをコード化するための手段を備え、前記装置が、
第２のピクチャについての前記第１のシンタックス要素の第２のインスタンスを復号するための手段を更に備え、前記第１のシンタックス要素の前記第２のインスタンスについての第２の値が、前記第２のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されないことを示す、請求項１２に記載の装置。
【請求項１５】
前記第２のピクチャの前記スライスを単独で復号するための手段
を更に備える請求項１４に記載の装置。
【請求項１６】
前記第１のシンタックス要素を復号するための前記手段が、前記第１の値を決定するために、前記第１のシンタックス要素を構文解析するための手段を備える、請求項１２に記載の装置。
【請求項１７】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、実行されたとき、１つ以上のプロセッサに、
ピクチャパラメータにおいて、ビデオデータの第１のピクチャの第１のシンタックス要素の第１のインスタンスを復号することと、ここにおいて、前記第１のシンタックス要素の第１の値が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す、
複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素に応答して、前記第１のピクチャにおける複数のスライスのそれぞれのスライスヘッダにおいて、そのスライスにわたってピクチャ内予測が許可されるかどうかを示す第２のシンタックス要素を復号することと、ここにおいて、前記スライスヘッダにおける前記第２のシンタックス要素の存在が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素の前記第１の値に依存する、
複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素と、前記第１のピクチャの第１のスライスについて、前記ビデオデータの前記第１のピクチャの前記第１のスライスにわたってピクチャ内予測が許可されることを示すそれぞれの第２のシンタックス要素とに応答して、前記ビデオデータの前記第１のピクチャの第２のスライスの第２のコード化単位の情報に基づいて、前記第１のスライスの第１のコード化単位を復号することと、
を行わせるコンピュータ可読記憶媒体。
【請求項１８】
前記第１のシンタックス要素の前記第１の値が、前記第１のピクチャの１つ以上のスライスのヘッダにおけるシンタックス要素が前記第１のピクチャの先行するスライスのヘッダにおけるシンタックス要素から予測されることを許可されることを示すことによって、前記第１のピクチャの複数のスライスにわたってピクチャ内予測が許可されることを示し、
前記第２のシンタックス要素が、それぞれのスライスのヘッダにおけるシンタックス要素が前記先行するスライスの前記ヘッダにおけるシンタックス要素から予測されるかどうかを示すことによって、前記それぞれのスライスにわたってピクチャ内予測が許可されるかどうかを示す、請求項１に記載の方法。
【請求項１９】
前記第１のシンタックス要素の前記第１の値が、前記第１のピクチャの１つ以上のスライスのヘッダにおけるシンタックス要素が前記第１のピクチャの先行するスライスのヘッダにおけるシンタックス要素から予測されることを許可されることを示すことによって、前記第１のピクチャの複数のスライスにわたってピクチャ内予測が許可されることを示し、
前記第２のシンタックス要素が、それぞれのスライスのヘッダにおけるシンタックス要素が前記先行するスライスの前記ヘッダにおけるシンタックス要素から予測されるかどうかを示すことによって、前記それぞれのスライスにわたってピクチャ内予測が許可されるかどうかを示す、請求項６に記載の装置。
【請求項２０】
前記第１のシンタックス要素の前記第１の値が、前記第１のピクチャの１つ以上のスライスのヘッダにおけるシンタックス要素が前記第１のピクチャの先行するスライスのヘッダにおけるシンタックス要素から予測されることを許可されることを示すことによって、前記第１のピクチャの複数のスライスにわたってピクチャ内予測が許可されることを示し、
前記第２のシンタックス要素が、それぞれのスライスのヘッダにおけるシンタックス要素が前記先行するスライスの前記ヘッダにおけるシンタックス要素から予測されるかどうかを示すことによって、前記それぞれのスライスにわたってピクチャ内予測が許可されるかどうかを示す、請求項１２に記載の装置。
【請求項２１】
前記第１のシンタックス要素の前記第１の値が、前記第１のピクチャの１つ以上のスライスのヘッダにおけるシンタックス要素が前記第１のピクチャの先行するスライスのヘッダにおけるシンタックス要素から予測されることを許可されることを示すことによって、前記第１のピクチャの複数のスライスにわたってピクチャ内予測が許可されることを示し、
前記第２のシンタックス要素が、それぞれのスライスのヘッダにおけるシンタックス要素が前記先行するスライスの前記ヘッダにおけるシンタックス要素から予測されるかどうかを示すことによって、前記それぞれのスライスにわたってピクチャ内予測が許可されるかどうかを示す、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２２】
ビデオデータを符号化する方法であって、
ビデオエンコーダの１つ以上のプロセッサが、ピクチャパラメータセットにおいて、前記ビデオデータの第１のピクチャの第１のシンタックス要素を符号化することと、ここにおいて、前記第１のシンタックス要素の第１の値が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す、
複数のスライスにわたってピクチャ内予測が許可される場合、前記１つ以上のプロセッサが、前記第１のピクチャにおける複数のスライスのそれぞれのスライスヘッダにおいて、前記それぞれのスライスにわたってピクチャ内予測が許可されるかどうかを示す第２のシンタックス要素を符号化することと、ここにおいて、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１の値で前記第１のシンタックス要素が符号化される場合に、前記第２のシンタックス要素が、前記スライスヘッダにおいて存在する、
複数のスライスにわたってピクチャ内予測が許可され、前記第１のピクチャの第１のスライスにわたってピクチャ内予測が許可される場合、前記１つ以上のプロセッサが、前記ビデオデータの前記第１のピクチャの第２のスライスの第２のコード化単位の情報に基づいて、前記ビデオデータの前記第１のピクチャの前記第１のスライスの第１のコード化単位を符号化することと、
を備える方法。
【請求項２３】
前記第１のシンタックス要素の前記第１の値が、前記第１のピクチャの１つ以上のスライスのヘッダにおけるシンタックス要素が前記第１のピクチャの先行するスライスのヘッダにおけるシンタックス要素から予測されることを許可されることを示すことによって、前記第１のピクチャの複数のスライスにわたってピクチャ内予測が許可されることを示し、
前記第２のシンタックス要素が、それぞれのスライスのヘッダにおけるシンタックス要素が前記先行するスライスの前記ヘッダにおけるシンタックス要素から予測されるかどうかを示すことによって、前記それぞれのスライスにわたってピクチャ内予測が許可されるかどうかを示す、請求項２２に記載の方法。
【請求項２４】
ビデオデータを符号化するための装置であって、
前記ビデオデータの第１のピクチャを記憶するように構成されたメモリと、
ピクチャパラメータセットにおいて、前記第１のピクチャの第１のシンタックス要素の第１のインスタンスを符号化することと、ここにおいて、前記第１のシンタックス要素の第１の値が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す、
複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素に応答して、前記第１のピクチャにおける複数のスライスのそれぞれのスライスヘッダにおいて、前記それぞれのスライスにわたってピクチャ内予測が許可されるかどうかを示す第２のシンタックス要素を符号化することと、ここにおいて、前記スライスヘッダにおける前記第２のシンタックス要素の存在が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素の前記第１の値に依存する、
複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素と、前記第１のピクチャの第１のスライスについて、前記第１のスライスにわたってピクチャ内予測が許可されることを示すそれぞれの第２のシンタックス要素とに応答して、前記ビデオデータの前記第１のピクチャの第２のスライスの第２のコード化単位の情報に基づいて、前記ビデオデータの前記第１のピクチャの前記第１のスライスの第１のコード化単位を符号化することと、
を行うように構成されたビデオエンコーダと、
を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、２０１１年１０月２６日に出願された米国仮出願第６１／５５１，８６２号の利益を主張する。
【０００２】
本開示は、ビデオコード化に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信及び受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３又はＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び／又は時間的予測を実行する。ブロックベースのビデオコード化の場合、ビデオフレーム又はスライスはビデオブロックに区分され得る。各ビデオブロックは更に区分され得る。イントラコード化（Ｉ）フレーム又はスライス中のビデオブロックは、隣接ビデオブロックに対する空間的予測を使用して符号化される。インターコード化（Ｐ又はＢ）フレーム又はスライス中のビデオブロックは、同じフレーム又はスライス中の隣接マクロブロック又はコード化単位に関する空間的予測、若しくは他の参照フレームに関する時間的予測を使用し得る。
【図面の簡単な説明】
【０００５】
【図１】本開示で説明する技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。
【図２Ａ】最大コード化単位（ＬＣＵ：largest coding unit）に適用される４分木区分の一例を示す概念図。
【図２Ｂ】最大コード化単位（ＬＣＵ）に適用される４分木区分の一例を示す概念図。
【図３】ピクチャが複数のタイルに区分されるときの例示的なコード化順序を示す概念図。
【図４】波面並列処理を示す概念図。
【図５】本開示で説明する技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図６】符号化ビデオシーケンスを復号するビデオデコーダの一例を示すブロック図。
【図７】本開示で説明する技法による例示的な方法を示すフローチャート。
【図８】本開示で説明する技法による例示的な方法を示すフローチャート。
【発明の概要】
【０００６】
本開示は、ピクチャ内のスライス境界にわたるピクチャ内予測を制御するための技法について説明する。一例では、第１のシンタックス要素は、ピクチャのスライスについてスライス境界にわたるピクチャ内予測であるかどうかを制御することができる。ピクチャについてスライス境界にわたるピクチャ内予測が使用可能である場合、第２のシンタックス要素は、個々のスライスについて、スライスについてスライス境界にわたるピクチャ内予測が使用可能であるかどうかを制御することができる。
【０００７】
一例では、ビデオデータをコード化する方法は、第１のピクチャの第１のシンタックス要素をコード化することであり、第１のシンタックス要素の第１の値が、第１のピクチャのスライスについて、スライスにわたってピクチャ内予測が許可されることを示すことと、第２のスライスの第２のコード化単位の情報に基づいて第１のスライスの第１のコード化単位をコード化することとを含む。
【０００８】
別の例では、ビデオデータをコード化するための機器は、第１のピクチャの第１のシンタックス要素の第１のインスタンスをコード化し、第１のシンタックス要素の第１の値が、第１のピクチャのスライスについて、スライスにわたってピクチャ内予測が許可されることを示し、第２のスライスの第２のコード化単位の情報に基づいて第１のスライスの第１のコード化単位をコード化するように構成されたビデオコーダを含む。
【０００９】
別の例では、ビデオデータをコード化するための機器は、第１のピクチャの第１のシンタックス要素をコード化するための手段であり、第１のシンタックス要素の第１の値が、第１のピクチャのスライスについて、スライスにわたってピクチャ内予測が許可されることを示す、手段と、第２のスライスの第２のコード化ユニットの情報に基づいて第１のスライスの第１のコード化ユニットをコード化するための手段とを含む。
【００１０】
別の例では、コンピュータ可読記憶媒体は、命令を記憶し、命令は、実行されたとき、１つ又は複数のプロセッサに、第１のピクチャの第１のシンタックス要素をコード化させ、第１のシンタックス要素の第１の値が、第１のピクチャのスライスについて、スライスにわたってピクチャ内予測が許可されることを示し、第２のスライスの第２のコード化ユニットの情報に基づいて第１のスライスの第１のコード化ユニットをコード化させる。
【００１１】
１つ又は複数の例の詳細は、添付の図面及び以下の説明に記載されている。他の特徴、目的、及び利点は、その説明及び図面、ならびに特許請求の範囲から明らかになろう。
【発明を実施するための形態】
【００１２】
予測されたピクチャを復号するために、ビデオデコーダは、ピクチャの部分を連続的に復号する、又はピクチャの複数の部分を並列で復号する。ピクチャの部分を作成するための少なくとも４つの異なるピクチャ区分方式があり得る。これらの区分方式は、スライス、エントロピースライス、タイル、及び波面並列処理（ＷＰＰ）を含む。各区分方式は、幾つかの利点及び欠点を提供し得、従って、区分方式の中には、幾つかのコード化シナリオでより望ましいものもあり、一方、他のコード化シナリオでより望ましいものもあり得る。幾つかの例では、異なる区分方式のうちの２つ以上が一緒に使用され得る。
【００１３】
ピクチャを復号することは、しばしば、ピクチャ内予測を含む。ピクチャ内予測は、一般に、ピクチャの１つのコード化単位（ＣＵ）の復号は、同じピクチャの第２のＣＵに関連した少なくとも１つの情報に依存することを意味する。ピクチャ内予測は、ＣＵが同じピクチャ内の他のＣＵに基づいて予測されるイントラ予測を含み得る。しかしながら、ピクチャ内予測は、第１のピクチャの第１のＣＵが異なるピクチャの第２のＣＵに基づいて予測されるインター予測も含み得る。第１のＣＵ及び第２のＣＵが異なるピクチャからであるにもかかわらず、第１のＣＵは、第１のピクチャにおける他のＣＵの情報に依然として依存し得る。一例として、第１のピクチャにおける別のＣＵの動きベクトルに基づいて決定される動きベクトル予測器を使用して、第１のＣＵがコード化され得る。
【００１４】
本開示は、スライス境界、タイル境界、又は他のそのような境界にわたるピクチャ内予測を可能にする概念についても説明する。一般に、スライス境界にわたるピクチャ内予測は、第１のスライスと同じピクチャの一部である第２のスライスのＣＵに基づいて決定される幾つかの情報を使用して第１のスライスのＣＵが予測されるときに行われる。同様に、タイル境界にわたるピクチャ内予測は、第１のタイルと同じピクチャの一部である第２のタイルのＣＵに基づいて決定される幾つかの情報を使用して第１のタイルのＣＵが予測されるときに行われる。上記で説明したように、スライス境界にわたる、又はタイル境界にわたるピクチャ内予測は、イントラ予測又はインター予測のいずれかを指し得る。
【００１５】
従来、スライスは、ピクチャの一部であり、複数のＣＵを含む独立した複号ユニットである。スライス内のＣＵの各々は、ラスタスキャン順序（例えば、右から左及び上から下）で復号可能であり得る。従来、スライス境界にわたって、スライス内のＣＵは予測されない。しかしながら、以下でより詳細に論じるように、本開示は、スライス境界にわたってスライスのＣＵが予測され得る、依存するスライスを紹介する。
【００１６】
エントロピースライスは、スライスと類似し得る。しかしながら、スライス境界にわたって、エントロピースライス内のＣＵが予測され得る。また、エントロピースライスは、従来、それらのスライスヘッダの構造において、通常のスライスと異なる。エントロピースライスは、復号順序でエントロピースライスに先行するメインスライスヘッダから紛失したフィールドを継承しながら、通常のスライスヘッダに存在するフィールドのサブセットを使用することができる。エントロピースライスがメインスライスヘッダから紛失したフィールドを継承しなければならないことを示すために、本開示では、ｌｉｇｈｔｗｅｉｇｈｔ＿ｓｌｉｃｅ＿ｆｌａｇと呼ばれるシンタックス要素が使用され得る。例えば、このシンタックス要素が１に等しく設定されているとき、エントロピースライスは、メインスライスヘッダから紛失したフィールドを継承する。
【００１７】
タイルは、ピクチャ内の矩形の領域と考えることができるが、タイルは、他の形状をとることもできる。スライスは、タイル境界と交差し得る、又は、スライスは、タイル内のみに存在するように制限され得る。タイルを復号するために、ビデオデコーダは、ビデオデコーダがタイル内でのラスタスキャン順序でＣＵを復号するように、ＣＵを復号する順序を変えることができる。各タイルは、複数のスライスを含むことができる。幾つかの例では、１つのスライスがタイル境界と交差することが可能であり得、その場合、スライスが複数のタイルに存在し得る。更に、２つ以上のタイルが単独でコード化される場合、２つ以上のタイルが並列で処理され得る。１つのタイルを復号することが第２のタイルに含まれるどんな情報にも依存しない場合、２つのタイルは、単独でコード化されると考えられる。
【００１８】
ＷＰＰは、ピクチャを、ピクチャの内のＣＵの行(row)の組である「波」又は「波面」に分割することができる技法である。あるピクチャは、ＣＵのＲ個の行を有し、Ｎ個の波又は波面に区分され得、従って、値Ｘ（０≦Ｘ≦Ｎ）ごとに、Ｒ％Ｎ＝＝Ｘ（この場合、「％」はモジュロ演算子に対応する）を有する波は、同じ組に属する。このように、ビデオデコーダは、ピクチャの波の組の各々を並列で復号することができる。例えば、ピクチャは、幾つかの列に分割され得、行の各々は、インターリーブ方式で、波面値で識別され得る。例えば、第１から第３までの行は、それぞれ波面値０から２として識別され得る。次いで、第４の行は、波面値０として識別され、第５の行は、波面値１として識別され、第６の行は、波面値２として識別され、以下同様である。
【００１９】
スライスヘッダは、波面又はタイルに対応するスライスのエントリポイントを信号伝達(signaling)することができる。例えば、スライスヘッダは、スライスが交差する任意のタイルに入る場所を示すアドレスを含むことができる。別の例として、スライスヘッダは、スライスが交差する波面のアドレスを含むことができる。スライス及びエントロピースライスは、各自それぞれのネットワーク抽象化層（ＮＡＬ）単位内にカプセル化され得る。スライス及びエントロピースライスが各自それぞれのＮＡＬ単位にカプセル化されるので、ビデオエンコーダは、全てのケースのスライス又はエントロピースライスのエントリポイントを信号伝達する必要はない可能性がある。従って、以下でより詳細に説明するように、本開示の技法によれば、スライス又はエントロピースライスがタイル又は波の境界と交差しないとき、エントリポイントの信号伝達が取り除かれ得、これは、ビットの節約につながり得る。
【００２０】
現在、これらの区分方式の各々は、異なるように情報を信号伝達することをビデオエンコーダに要求し、従って、ビデオデコーダは、あるピクチャについてビデオエンコーダ側で使用された特定の区分方式に気づいている。本開示で使用するピクチャは、一般に、スライス、エントロピースライス、タイル、又は波のうちの少なくとも１つ、若しくはスライス、エントロピースライス、タイル、及び／又は波の何らかの組合せを含むビデオの単位を指す。ピクチャは、一般に、ビデオデータの１つの完全なフレームに対応すると考えることができるが、ピクチャは、幾つかの例では、完全なフレームよりも少ないビデオデータを含む。本開示がピクチャに言及するとき、ピクチャのＣＵが全て共通の時間インスタンスに対応すると仮定することができる。
【００２１】
本開示の技法は、これらの異なる区分方式のための情報を信号伝達する方法の少なくとも幾つかを統合することができる技法又はシンタックスを対象とし得る。例えば、本開示の技法は、そのような統合を提供するために、タイルと波との類似点を利用することができる。ビデオエンコーダがこれらの異なる区分方式のための情報を信号伝達する方法を、これらの技法が必ずしも完全に統合するとは限らないことに留意されたい。しかしながら、あるレベルの統合でも、ビデオエンコーダが信号伝達する必要があるビットの数の低減につながり得、また、ビデオエンコーダ及びビデオデコーダの複雑さの低減につながり得る。
【００２２】
統合に加えて、本開示の技法は、これらの区分方式を使用して予測されるピクチャを復号する際の潜在的な制限に対処し得る。例えば、現在のエントロピースライスについて、親スライス（即ち、エントロピースライスが信号伝達されないフィールドを継承するスライス）が失われた場合、又は２つのエントロピースライスにわたるピクチャ内予測が許可される別のエントロピースライスが失われた場合、エントロピースライスを復号するのに十分な情報がないので、現在のエントリピースライスは、役に立たなくなる。別の例として、別々に信号伝達されるタイル及びＷＰＰは、異なるスライスにカプセル化され得、これらの異なるスライスの各々は、完全なスライスヘッダを含み得る。タイル及びＷＰＰごとの完全なスライスヘッダのそのような信号伝達は、一度スライスヘッダを送信すれば十分であり得るので、帯域幅の不要な消費となり得る。エントロピースライスがスライスタイプを継承することを必要とする場合、スライスタイプは利用できない場合があり、例えばスライスタイプに依存するＣＡＢＡＣ初期化パラメータなどの他の不足がある場合があり、従って、そのようなエントロピースライスのスライスヘッダを解析することが困難になる。更に、現在のスライスヘッダの信号伝達の際、スライスの開始アドレスは、スライスヘッダに埋められており、しかしながら、開始アドレスへの便利なアクセスは、新しいコード化ピクチャの開始を検出するために、ビデオデコーダにとって望ましい場合がある。
【００２３】
本開示の技法では、タイルについてのシーケンスパラメータセット（ＳＰＳ）及びピクチャパラメータセット（ＰＰＳ）シンタックス要素は、ＷＤ８に記載される現在の技法と同じであり得る。ＷＰＰでは、シンタックス要素ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃｈｒｏは、ＰＰＳシンタックス要素に含まれる１ビットのフラグに変更され得る。ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃｈｒｏの値が０であるとき、コンテキスト変数のための特定の同期プロセスは呼び出されない。ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃｈｒｏの値が１であるとき、コンテキスト変数のための特定の同期プロセスが呼び出され得る。例えば、１つの波面のサブストリームは、上の行の２番目に大きいコード化単位（ＬＣＵ）の端部から同期され得る。この同期の一例について、以下で説明する。
【００２４】
ＷＰＰ及びタイルＰＰＳシンタックス要素の変更に加えて、本開示は、ＰＰＳシンタックスの一部であり得る、「ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇ」シンタックス要素及び「ｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ」シンタックス要素について説明する。表２及び表３に関して以下で示されるように、ＰＰＳにおけるｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、スライスヘッダにおける「ｓｌｉｃｅ＿ｉｄ」シンタックス要素、及び「ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇ」シンタックス要素の存在を示すことができる。同じく、表２及び表３に関して以下で示されるように、ＰＰＳにおけるｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素は、スライスヘッダにおける「ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇ」の存在を示すことができる。一般に、本開示で説明する技法は、より短いスライスヘッダを支持し、復号のためにスライスにわたるピクチャ内予測を許可する又は許可しない能力を示すために、スライスヘッダシンタックスを変更する。
【００２５】
「ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇ」シンタックス要素は、スライスが別のスライスから、又は、おそらくＰＰＳ又はＳＰＳから、紛失したフィールドを継承しなければならないことを示す。このシンタックス要素が指すスライスが通常のスライスであるかエントロピースライスであるかにかかわらず、「ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇ」シンタックス要素が使用され得る。上記で説明したように、スライス又はエントロピースライスは、タイル又は波の全て又は一部を形成する、又は含むことができる。
【００２６】
スライスのｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇが真である（例えば、１の値を有する）とき、ビデオデコーダは、このスライスが短いスライスヘッダを含むことを決定し、この短いスライスヘッダについての紛失したフィールドの全ては、完全なスライスヘッダから、又はＳＰＳ若しくはＰＰＳから、又はそれらの任意の組合せから継承されるものとする。完全なスライスヘッダは、復号順序で現在のスライスに先行する最も最近の完全なスライスヘッダであり得る。
【００２７】
本開示の技法によれば、完全なスライスヘッダ及び短いスライスヘッダは、単独で解析可能であり得る。言い換えれば、短いスライスヘッダは、ビデオデコーダがヘッダの紛失したフィールドを継承することができるのに十分なシンタックス要素を含むことができる。例えば、短いスライスヘッダは、スライス開始アドレスを含み得、スライスＩＤ、ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇ、ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇ、ＣＡＢＡＣ初期化パラメータ、及びスライス量子化パラメータ（ＱＰ）も含むことができる。ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇは、復号のためにスライスにわたるピクチャ内予測が許可される（値が０であるとき）か許可されない（値が１であるとき）かを信号伝達するために、スライスヘッダに導入される新しいフラグであり得る。幾つかの例では、スライス開始アドレスは、ヘッダに埋められるよりむしろ、短いスライスヘッダの先頭にあり得る。他の全てのスライスヘッダシンタックス要素は、完全なスライスヘッダのみに存在し得る。
【００２８】
本開示の技法は、ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｉｄｃシンタックス要素について更に説明する。このシンタックス要素が１に等しいとき、ビデオデコーダは、タイルの全てが単独で復号可能であることを認識する。言い換えれば、１つのタイルを復号するために、ビデオデコーダは、任意の他のタイルを復号することに依存する必要はない。上記のように、１つのタイルは、複数のスライスを含み得る。ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｉｄｃシンタックス要素が１であるとき、タイルの外側にある任意のスライスから、タイル内のスライスのいずれも予測することができないことを意味する。また、幾つかの例では、１つのスライスが２つ以上のタイルを含むことが可能であり得る。ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｉｄｃシンタックス要素が１であるとき、タイル内のスライスがタイルの境界を超えて延びていないことを意味する。更に、ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｉｄｃシンタックス要素が１であるとき、各タイルが単独で復号可能であるので、ビデオデコーダは、タイルを並列で復号するようにそれ自体を構成することができる。
【００２９】
この設計では、通常のスライス（即ち親スライス）、短いスライス（短いスライスヘッダを有するスライス）、エントロピースライス、波面、及びタイルは、互いに調和して支持され得る。この枠組では、タイルは、ＬＣＵの復号順序を決定するだけである。単独で復号可能なタイルが望まれるとき、それらの各々は、単独で復号可能なスライスに埋め込まれる。同様に、各ＷＰＰ波は、単独で復号可能なスライス内にカプセル化される。スライスは波又はタイルの境界と交差しないので、この場合、タイル又はＷＰＰ波のためのエントリポイントの信号伝達は必要ではない。エントロピースライスは、単に、ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇを０に等しく設定することによって、復号演算についてのピクチャ内予測を可能にすることによって支持される。
【００３０】
本開示の技法によれば、波面サブストリームは、それらの開始ＬＣＵアドレスに基づいて順序付けられ、従って、波面サブストリームは、並列復号を使用しないデコーダがビットストリームを復号することができる順序である。言い換えれば、ＬＣＵビットストリームの順序は、ＬＣＵピクチャスキャンの順序（ＬＣＵラスタスキャン）であり、これはビットストリームの因果関係を維持する。
【００３１】
異なるピクチャ区分方式を統合するほかに、本開示は、上述した他の問題を改善することもできる。例えば、本開示の技法によれば、スライス開始アドレスは、スライスヘッダで前方に動かされる。別の例では、ＣＡＢＡＣ初期化パラメータ、ｃａｂａｃ＿ｉｎｉｔ＿ｉｄｃの存在は、短いスライスヘッダに存在しないｓｌｉｃｅ＿ｔｙｐｅにはもはや依存せず、従って、短いスライスヘッダ自体が解析され得る。
【００３２】
図１は、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータをコード化するための技法を利用し得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先機器１４に送信する発信源機器１２を含む。発信源機器１２及び宛先機器１４は、広範囲の機器のいずれかを備えることができる。場合によっては、発信源機器１２及び宛先機器１４は、所謂セルラー電話又は衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信機器、又は通信チャネル１６を介してビデオ情報を通信することができ、その場合、通信チャネル１６がワイヤレスである任意のワイヤレス機器を備え得る。
【００３３】
但し、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータのコード化に関係する本開示の技法は、必ずしもワイヤレスアプリケーション又は設定に限定されるとは限らない。例えば、これらの技法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、又は他のシナリオに適用し得る。従って、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレス又はワイヤード媒体の任意の組合せを備え得る。その上、通信チャネル１６は、ビデオ符号化機器がビデオ復号機器にデータを送信し得る多くの方法のうちのただ１つを表すためのものである。例えば、システム１０の他の構成では、発信源機器１２は、宛先機器１４による復号のために符号化ビデオを生成し、必要に応じて、符号化ビデオが宛先機器１４によってアクセスされ得るように、記憶媒体又はファイルサーバ上に符号化ビデオを記憶し得る。
【００３４】
図１の例では、発信源機器１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、送信機２４とを含む。宛先機器１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、表示装置３２とを含む。本開示によれば、発信源機器１２のビデオエンコーダ２０は、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータをコード化するための技法を適用するように構成され得る。他の例では、発信源機器及び宛先機器は他の構成要素又は構成を含み得る。例えば、発信源機器１２は、外部カメラなどの外部ビデオ発信源１８からビデオデータを受信し得る。同様に、宛先機器１４は、内蔵表示装置を含むのではなく、外部表示装置とインターフェースし得る。
【００３５】
図１の図示のシステム１０は一例にすぎない。ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータのコード化のための技法は、任意のデジタルビデオ符号化及び／又は復号機器によって実行され得る。概して、本開示の技法はビデオ符号化機器によって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。発信源機器１２及び宛先機器１４は、発信源機器１２が宛先機器１４に送信するためのコード化されたビデオデータを生成するような、コード化機器の例にすぎない。幾つかの例では、機器１２、１４は、機器１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。従って、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト又はビデオ電話のための、ビデオ機器１２とビデオ機器１４との間の一方向又は双方向のビデオ送信をサポートすることができる。
【００３６】
発信源機器１２のビデオ発信源１８は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、及び／又はビデオコンテンツプロバイダからのビデオフィードを含み得る。更なる代替として、ビデオ発信源１８は、発信源ビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオ発信源１８がビデオカメラである場合、発信源機器１２及び宛先機器１４は、所謂カメラ付き携帯電話又はビデオ電話を形成することができる。但し、上述のように、本開示で説明する技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び／又はワイヤード適用例に適用され得る。各々の場合において、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、次いで、通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先機器１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含むことができる。送信機２４は、増幅器、フィルタ、及び１つ又は複数のアンテナを含む、データを送信するために設計された回路を含むことができる。
【００３７】
宛先機器１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８は情報を復調する。この場合も、ビデオ符号化プロセスは、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータをコード化するために、本明細書で説明する技法のうちの１つ又は複数を実施することができる。チャネル１６を介して通信される情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、マクロブロック及び他のコード化単位、例えば、ＧＯＰの特性及び／又は処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。表示装置３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００３８】
図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトル又は１つ若しくは複数の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体、若しくはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成することができる。通信チャネル１６は、概して、ワイヤード媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータを発信源機器１２から宛先機器１４に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル１６は、発信源機器１２から宛先機器１４への通信を可能にするのに有用なルータ、スイッチ、基地局、又は任意の他の機器を含むことができる。
【００３９】
この場合も、図１は例にすぎず、本開示の技法は、符号化機器と復号機器との間のデータ通信を必ずしも含むとは限らないビデオコード化設定（例えば、ビデオ符号化又はビデオ復号）に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われ得る。符号化機器がデータを符号化してメモリに記憶し、及び／又は復号機器がメモリからデータを取り出し、復号することができる。多くの場合、符号化及び復号は、互いに通信しないが、単にメモリにデータを符号化し、及び／又はメモリからデータを取り出し、復号する無関係な機器によって実行される。
【００４０】
ビデオエンコーダ２０及びビデオデコーダ３０は、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格など、ビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ４」又は「ＷＤ４」と呼ばれるＨＥＶＣ規格のドラフトは、文書「Ｈｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ４」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）、第６回会合：イタリア、トリノ、２０１１年７月１４〜２２日に記載されており、この文書は、参照によりその全体が本明細書に組み込まれる。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ８」又は「ＷＤ８」と呼ばれるＨＥＶＣ規格の最近のドラフトは、文書ＪＣＴＶＣ−Ｊ１００３、Ｂｒｏｓｓら、「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ８」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）、第１０回会合：スウェーデン  ストックホルム、２０１２年７月１１〜２０日に記載されており、２０１２年１０月１７日の時点で、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１０＿Ｓｔｏｃｋｈｏｌｍ／ｗｇ１１／ＪＣＴＶＣ−Ｊ１００３−ｖ８．ｚｉｐからダウンロード可能であり、この文書は、参照によりその全体が本明細書に組み込まれる。
【００４１】
代替的に、ビデオエンコーダ２０及びビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコード化（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格又は業界規格、若しくはそのような規格の拡張に従って動作し得る。但し、本開示の技法は、いかなる特定のコード化規格にも限定されない。他の例にはＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠することができる。
【００４２】
ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部としてそれぞれのカメラ、コンピュータ、モバイル機器、加入者機器、ブロードキャスト機器、セットトップボックス、サーバなどに統合され得る。
【００４３】
ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャのグループ（ＧＯＰ：group of pictures）は、概して、一連の１つ又は複数のビデオフレームを備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのフレームを記述するシンタックスデータを、ＧＯＰのヘッダ中、ＧＯＰの１つ又は複数のフレームのヘッダ中、又は他の場所に含み得る。各フレームは、それぞれのフレームの符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、マクロブロック又はマクロブロックの区分に対応し得る。ビデオブロックは、サイズを固定することも変更することもでき、指定のコード化規格に応じてサイズが異なることがある。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のマクロブロックを含み得、それらはサブブロックとも呼ばれる区分に配置され得る。
【００４４】
一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、又は４×４、及びクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、並びにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８及び４×４、及びクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×Ｎ（NxN）」及び「Ｎ×Ｎ（N by N）」は、垂直寸法及び水平寸法に関するブロックの画素寸法、例えば、１６×１６（16x16）画素又は１６×１６（16 by 16）画素を指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、但し、Ｎは非負整数値を表す。ブロック中の画素は行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要があるとは限らない。例えば、ブロックは、ＮｘＭ画素を備え得、ここでは、Ｍは、Ｎに必ずしも等しいとは限らない。１６ｘ１６未満であるブロックサイズは、ＩＴＵ―Ｔ  Ｈ．２６４における１６ｘ１６マクロブロックの区分と呼ばれ得る。
【００４５】
ビデオブロックは、画素領域中の画素データのブロックを備え得、又は、例えば、コード化ビデオブロックと予測ビデオブロックとの間の画素差分を表す残差ビデオブロックデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、又は概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
【００４６】
ビデオブロックは、小さいほどより良い解像度が得られ、高い詳細レベルを含むビデオフレームの位置決めに使用することができる。概して、マクロブロック、及びサブブロックと呼ばれることがある様々な区分は、ビデオブロックと見なされ得る。更に、スライスは、マクロブロック及び／又はサブブロックなど、複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能な単位であり得る。代替的に、フレーム自体を復号可能な単位とすることができるか、又はフレームの他の部分を復号可能な単位として定義することができる。「コード化単位」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャのグループ（ＧＯＰ）など、ビデオフレームの単独で復号可能な任意の単位、又は適用可能なコード化技法に従って定義される別の単独で復号可能な単位を指すことがある。
【００４７】
上記で紹介したように、ＨＥＶＣと現在呼ばれる、新しいビデオコード化規格を開発するための取り組みが現在進行中である。新生のＨＥＶＣ規格はＨ．２６５と呼ばれることもある。この規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）と呼ばれるビデオコード化機器のモデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによる機器に勝るビデオコード化機器の幾つかの能力を仮定する。例えば、Ｈ．２６４が９つのイントラ予測モードを提供するのに対して、ＨＭは、例えば、イントラ予測コード化されるブロックのサイズに基づいて、３３ものイントラ予測モードを提供する。
【００４８】
ＨＭは、ビデオデータのブロックをコード化単位（ＣＵ）と称する。ビットストリーム内のシンタックスデータが、画素の数に関して最大のコード化単位である最大コード化単位（ＬＣＵ：largest coding unit）を定義し得る。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。従って、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コード化単位又はＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵはサブＣＵに分割され得る。ビットストリームのシンタックスデータは、ＣＵ深度と呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コード化単位（ＳＣＵ：smallest coding unit）をも定義し得る。本開示ではまた、ＣＵ、予測単位（ＰＵ）、又は変換単位（ＴＵ）のいずれかを指すために「ブロック」という用語を使用する。
【００４９】
ＬＣＵは４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。例えば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。
【００５０】
分割されないＣＵは、１つ又は複数の予測単位（ＰＵ）を含み得る。一般に、ＰＵは、対応するＣＵの全部又は一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含む。例えば、ＰＵがイントラ予測モード符号化されるとき、ＰＵは、そのＰＵのためのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）、動きベクトルが指す参照フレーム、及び／又は動きベクトルの参照リスト（例えば、リスト０又はリスト１）を記述し得る。（１つ又は複数の）ＰＵを定義するＣＵのデータはまた、例えば、ＣＵを１つ又は複数のＰＵに区分することを記述し得る。区分モードは、ＣＵがコード化されないか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかによって異なり得る。
【００５１】
１つ又は複数のＰＵを有するＣＵはまた、１つ又は複数のＴＵを含み得る。ＰＵを使用した予測の後に、ビデオエンコーダは、ＰＵに対応するＣＵの部分の残差値を計算し得る。残差値のセットは、変換され、走査され、量子化されて、変換係数のセットが定義され得る。ＴＵは、変換係数を含むデータ構造を定義する。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。従って、ＴＵは、同じＣＵの対応するＰＵよりも大きいことも小さいこともある。幾つかの例では、ＴＵの最大サイズは、対応するＣＵのサイズに対応し得る。
【００５２】
図２Ａ及び図２Ｂは、例示的な４分木２５０と、対応するＬＣＵ２７２とを示す概念図である。図２Ａは、階層式に構成されたノードを含む、例示的な４分木２５０を示している。４分木２５０など、４分木中の各ノードは、子をもたないリーフノードであるか、又は４つの子ノードを有し得る。図２Ａの例では、４分木２５０はルートノード２５２を含む。ルートノード２５２は、リーフノード２５６Ａ〜２５６Ｃ（リーフノード２５６）とノード２５４とを含む、４つの子ノードを有する。ノード２５４はリーフノードでないので、ノード２５４は、この例ではリーフノード２５８Ａ〜２５８Ｄ（リーフノード２５８）である、４つの子ノードを含む。
【００５３】
４分木２５０は、この例ではＬＣＵ２７２など、対応するＬＣＵの特性を記述するデータを含み得る。例えば、４分木２５０は、それの構造により、サブＣＵへのＬＣＵの分割を記述し得る。ＬＵＣ２７２が２Ｎ×２Ｎのサイズを有すると仮定する。ＬＣＵ２７２は、この例では、４つのサブＣＵ２７６Ａ〜２７６Ｃ（サブＣＵ２７６）及び２７４を有し、各々はＮ×Ｎサイズである。サブＣＵ２７４は更に４つのサブＣＵ２７８Ａ〜２７８Ｄ（サブＣＵ２７８）に分割され、各々はサイズＮ／２×Ｎ／２である。この例では、４分木２５０の構造はＬＣＵ２７２の分割に対応する。即ち、ルートノード２５２はＬＣＵ２７２に対応し、リーフノード２５６はサブＣＵ２７６に対応し、ノード２５４はサブＣＵ２７４に対応し、リーフノード２５８はサブＣＵ２７８に対応する。
【００５４】
４分木２５０のノードのデータは、ノードに対応するＣＵが分割されるかどうかを記述し得る。ＣＵが分割される場合、４分木２５０中に４つの追加のノードが存在し得る。幾つかの例では、４分木のノードは以下の擬似コードと同様に実装され得る。
【数１】
0005882487.tif 000002
【００５５】
ｓｐｌｉｔ＿ｆｌａｇ値は、現在のノードに対応するＣＵが分割されるかどうかを表す１ビット値であり得る。ＣＵが分割されない場合、ｓｐｌｉｔ＿ｆｌａｇ値は「０」であり得るが、ＣＵが分割される場合、ｓｐｌｉｔ＿ｆｌａｇ値は「１」であり得る。４分木２５０の例に関して、分割フラグ値のアレイは１０１００００００であり得る。
【００５６】
幾つかの例では、サブＣＵ２７６及びサブＣＵ２７８の各々は、同じイントラ予測モードを使用してイントラ予測符号化され得る。従って、ビデオエンコーダ１２２は、ルートノード２５２においてイントラ予測モードの指示を与え得る。その上、サブＣＵの幾つかのサイズは、特定のイントラ予測モードのために複数の可能な変換を有し得る。ビデオエンコーダ１２２は、ルートノード２５２においてそのようなサブＣＵのために使用すべき変換の指示を与え得る。例えば、サイズＮ／２×Ｎ／２のサブＣＵでは複数の可能な変換が利用可能であり得る。ビデオエンコーダ１２２は、ルートノード２５２において使用すべき変換を信号伝達し得る。従って、ビデオデコーダ１２８は、ルートノード２５２において信号伝達されたイントラ予測モードと、ルートノード２５２において信号伝達された変換とに基づいてサブＣＵ２７８に適用すべき変換を決定し得る。
【００５７】
従って、ビデオエンコーダ１２２は、本開示の技法によれば、リーフノード２５６及びリーフノード２５８においてサブＣＵ２７６及びサブＣＵ２７８に適用すべき変換を信号伝達する必要はないが、代わりに、単に、ルートノード２５２において、イントラ予測モードと、幾つかの例では、幾つかのサイズのサブＣＵに適用すべき変換とを信号伝達し得る。このようにして、これらの技法は、ＬＣＵ２７２など、ＬＣＵのサブＣＵごとに変換機能を信号伝達するオーバーヘッドコストを低減し得る。
【００５８】
幾つかの例では、サブＣＵ２７６及び／又はサブＣＵ２７８のイントラ予測モードは、ＬＣＵ２７２のイントラ予測モードとは異なり得る。ビデオエンコーダ１２２及びビデオデコーダ１３０は、ルートノード２５２において信号伝達されるイントラ予測モードを、サブＣＵ２７６及び／又はサブＣＵ２７８のために利用可能なイントラ予測モードにマッピングする機能を用いて構成され得る。この機能は、ＬＣＵ２７２のために利用可能なイントラ予測モードとサブＣＵ２７６及び／又はサブＣＵ２７８のイントラ予測モードとの多対１のマッピングを与え得る。
【００５９】
幾つかのＨＥＶＣ設計では、例えば解析動作など、他のスライスからコード化要素に依存するコンテキストを使用不能にし、各スライスの先頭のコンテキストベース適応２進算術符号化（ＣＡＢＡＣ）状態をリセットし、復号のために、スライスにわたる、動きベクトル（ＭＶ）予測、イントラモード予測、画素予測を含む、スライス及びタイルの境界にわたるピクチャ内予測を使用不能にすることによって、スライスは、単独で復号可能な単位を提供することができる。スライスは、一般に、整数個のＣＵを含む。
【００６０】
エントロピースライスは、スライスにわたるコンテキスト要素の使用を使用不能にし、各エントロピースライスの先頭のＣＡＢＡＣ状態をリセットしながら、復号のためにスライスにわたるピクチャ内予測を可能にすることによって、独立して解析可能な単位を提供することができる。また、エントロピースライスは、それらのスライスヘッダの構造において、通常のスライスと異なり得る。エントロピースライスは、例えば、復号順序でエントロピースライスに先行するメインスライスヘッダから紛失したフィールドを継承しながら、通常のスライスヘッダに存在するフィールドのサブセットを使用することができる。エントロピースライスは、そのスライスヘッダにおけるシンタックス要素によって識別され得る。例えば、エントロピースライスは、１に等しいスライスヘッダシンタックス要素ｌｉｇｈｔｗｅｉｇｈｔ＿ｓｌｉｃｅ＿ｆｌａｇを有することができる。
【００６１】
タイルは、ＬＣＵの変更された復号順序を信号伝達するための機構を提供することができる。ＬＣＵの順序に加えて、ピクチャ内予測及びタイルにわたるコンテキスト要素の使用を使用不能にすることによって、タイルは、独立した符号化及び復号の能力を提供することができる。
【００６２】
タイルは、一般に、それぞれピクチャを列及び行に区分する垂直及び水平の境界を表す。これらの境界は、例えば、別段に規定されていない限り、スライス境界と同様に、（イントラ予測、動きベクトル予測、構文解析などに関連つけられた依存関係など）符号化の依存関係を壊し得る。交差している列及び行の境界から生じる、例えば矩形の領域などの領域は、タイルと呼ばれる（従って、全体として技術の名前）。各タイルは、整数個のＬＣＵを含むことができる。ＬＣＵは、各タイル内でのラスタスキャン順序で処理することができ、タイル自体は、ピクチャ内でラスタスキャン順序で処理することができる。スライス境界は、エンコーダによって導入することができ、タイル境界と一致する必要はない。例えば、１つのタイルは、１つより多いスライスを含むことができ、複数のスライスは、１つより多いタイルを含むことができる。スライスが１つより多いタイルにおいて複数のＬＣＵを含むとき、ＬＣＵを含む複数のタイルは隣接し得る。Ｔ＋１における第１のＬＣＵが、送信順序で、Ｔにおける最後のＬＣＵにすぐに続く場合、タイルＴ及びＴ＋１は、隣接すると言われる。更に、一般に、タイルによって、列及び行の境界は、均一間隔で、及び均一間隔なしで指定することができる。
【００６３】
図３は、複数のタイル３０２Ａ、３０２Ｂ、３０２Ｃ、３０２Ｄ、３０２Ｅ、及び３０２Ｆ（まとめて「タイル３０２」）に区分されるピクチャ３００の例示的なツリーブロックコード化順序を示す概念図である。ピクチャ３００における各正方形ブロックは、ツリーブロックに関連付けられた画素ブロックを表す。太い破線は、例示的なタイル境界を示す。異なるタイプのクロスハッチングは、異なるスライスに対応する。画素ブロックにおける数字は、ピクチャ３００についてのタイルコード化順序の対応するツリーブロック（ＬＣＵ）の位置を示す。図３の例に示すように、タイル３０２Ａのツリーブロックが最初にコード化され、タイル３０２Ｂのツリーブロックが続き、タイル３０２Ｃのツリーブロックが続き、タイル３０２Ｄのツリーブロックが続き、タイル３０２Ｅのツリーブロックが続き、タイル３０２Ｆのツリーブロックが続く。タイル３０２の各々の中で、ラスタスキャン順序に従って、ツリーブロックがコード化される。
【００６４】
波面並列処理（ＷＰＰ）は、ピクチャ内予測、及び波（ＬＣＵの行）のサブストリームにわたるコンテキスト要素の使用を制限することなく、（例えば半分単独で）並列に解析され、復号され得る複数のサブストリームを提供することができる。各波の始端において、Ｎ≧１のＬＣＵを復号した後、ＬＣＵの上行のＣＡＢＡＣの状態に基づいて、ＣＡＢＡＣ状態が初期化され得る。
【００６５】
図４は、波面並列処理を示す概念図である。上述のように、ピクチャは、画素ブロックに区分され得、その各々がツリーブロックに関連する。図４は、ツリーブロックに関連付けられた画素ブロックを白い正方形のグリッドとして示す。ピクチャは、ツリーブロック行４５０Ａ〜４５０Ｅ（まとめて、「ツリーブロック行４５０」）を含む。
【００６６】
第１のスレッドは、ツリーブロック行４５０Ａにおけるコード化ツリーブロックとすることができる。同時に、他のスレッドは、ツリーブロック行４５０Ｂ、４５０Ｃ、及び４５０Ｄにおけるコード化ツリーブロックとすることができる。図４の例において、第１のスレッドは、現在、ツリーブロック４５２Ａをコード化しており、第２のスレッドは、現在、ツリーブロック４５２Ｂをコード化しており、第３のスレッドは、現在、ツリーブロック４５２Ｃをコード化しており、第４のスレッドは、現在、ツリーブロック４５２Ｄをコード化している。本開示は、ツリーブロック４５２Ａ、４５２Ｂ、４５２Ｃ、及び４５２Ｄをまとめて「現在のツリーブロック４５２」と呼ぶことがある。すぐ上の行の３つ以上のツリーブロックがコード化された後、ビデオコーダがツリーブロック行をコード化し始める可能性があるので、現在のツリーブロック４５２は、２つのツリーブロックの幅だけ互いから水平にずらされる。
【００６７】
図４の例において、スレッドは、現在のツリーブロック４５２におけるＣＵのイントラ予測又はインター予測を実行するために太いグレーの矢印によって示されるツリーブロックからのデータを使用することができる。スレッドは、ＣＵのインター予測を実行するために、１つ又は複数の基準フレームからのデータを使用することもできる。所与のツリーブロックをコード化するために、スレッドは、前にコード化されたツリーブロックに関連付けられた情報に基づいて、１つ又は複数のＣＡＢＡＣコンテキストを選択することができる。スレッドは、所与のツリーブロックの第１のＣＵに関連付けられたシンタックス要素におけるＣＡＢＡＣコード化を実行するために、１つ又は複数のＣＡＢＡＣコンテキストを使用することができる。所与のツリーブロックが行の最左のツリーブロックではない場合、スレッドは、所与のツリーブロックの左側のツリーブロックの最後のＣＵに関連付けられた情報に基づいて、１つ又は複数のＣＡＢＡＣコンテキストを選択することができる。所与のツリーブロックが行の最左のツリーブロックである場合、スレッドは、所与のツリーブロックの上及び２ツリーブロック右のツリーブロックの最後のＣＵに関連付けられた情報に基づいて、１つ又は複数のＣＡＢＡＣコンテキストを選択することができる。スレッドは、現在のツリーブロック４５２の第１のＣＵのためのＣＡＢＡＣコンテキストを選択するために、細い黒い矢印によって示されるツリーブロックの最後のＣＵからのデータを使用することができる。
【００６８】
スライス、エントロピースライス、タイル、及びＷＰＰは全て、ピクチャを異なる領域に区分し、異なる領域を表すコード化ビットを生成するためのピクチャ区分機構の例である。スライス及びエントロピースライスの異なる領域についてのコード化ビットは、別々のネットワーク抽象化層（ＮＡＬ）単位にカプセル化され得、その結果、エントリポイントは必ずしも信号伝達される必要がない。異なるスライスに更に分割されない限り、タイル及び波の異なる領域についてのコード化ビットは、同じＮＡＬ単位にカプセル化され得、１つのスライスにおけるエントリポイントは、スライスヘッダで信号伝達され得る。
【００６９】
個々のＮＡＬ単位は、しばしば、ネットワークを介した送信の間、それ自体のパケットでトランスポートされる（即ち１つのパケットについて１つのＮＡＬ単位）。エントロピースライスでは、（エントロピースライスが紛失したスライスヘッダシンタックス要素を取得しなければならない完全なスライスヘッダを有する）関連するスライスが失われた場合、又は（２つのエントロピースライスにわたるピクチャ内予測が許可される）別のエントロピースライスが失われた場合、エントロピースライスは、適切に復号され得ない。
【００７０】
異なるタイル又は波が別々にトランスポートされることを可能にするために、タイル及び波は、一般に、各々完全なスライスヘッダを含む異なるスライスにカプセル化される。送信環境に誤りがないとき、複数回同じスライスヘッダを送信することは、不必要なビットを使用する可能性があり、従って、場合によっては、コード化効率が低下するかもしれない。更に、ＣＡＢＡＣ初期化パラメータ（例えばｃａｂａｃ＿ｉｎｉｔ＿ｉｄｃ）の存在は、パラメータｓｌｉｃｅ＿ｔｙｐｅに依存し、これは、短いスライスヘッダに存在していない場合があり、従って、場合によっては、短いスライスヘッダを解析することができなくなるかもしれない。更に、現在の設計では、スライス開始アドレスは、スライスヘッダに深く埋められる可能性があり、このことは、多くの適用例のシナリオでは、新しいコード化ピクチャの開始を検出するために、デコーダにとってのこのパラメータへの便利なアクセスを妨げ得る。
【００７１】
タイルについての全てのＳＰＳ及びピクチャシンタックス要素は、ＳＰＳシンタックス及びＰＰＳシンタックスに含まれ得る。以下でより詳細に説明するように、ＷＰＰでは、シンタックス要素ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃｈｒｏは、ＰＰＳシンタックスに含まれる１ビットのフラグとすることができる。このフラグが真に設定されているとき、波面サブストリームは、上の行の２番目に大きいコード化単位の端部から同期され得る。
【００７２】
タイル及びＷＰＰについての上記のＳＰＳ及びＰＰＳシンタックスの変更に加えて、本開示では、２つの新しいフラグをＰＰＳシンタックスに導入する。シンタックス要素「ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇ」は、スライスヘッダシンタックス要素ｓｌｉｃｅ＿ｉｄ及びｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇの存在を制御し、シンタックス要素「ｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ」は、シンタックス要素「ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇ」の存在を制御する。本開示の技法によれば、短いスライスヘッダを支持し、復号化のためにスライスにわたるピクチャ内予測を許可する又は許可しない能力を有するように、スライスヘッダ構文が変更される。短いスライスヘッダは、一般に、完全なスライスヘッダよりも短いスライスヘッダを指す。
【００７３】
既存のｌｉｇｈｔｗｅｉｇｈｔ＿ｓｌｉｃｅ＿ｆｌａｇは、短いスライスヘッダがスライスのために使用されるかどうかを信号伝達するｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇと置き換えられ得る。例えば、短いスライスヘッダが使用される（例えば、フラグが１に等しいとき）場合、短いスライスヘッダに含まれない他の全てのスライスヘッダシンタックス要素及びスライスヘッダシンタックス構造は、例えば復号順序で短いスライスヘッダを使用するスライスに先行するスライスの完全なスライスヘッダなどの完全なスライスヘッダから継承され得る。完全な又は短いスライスヘッダを有する全てのスライスは、幾つかの実装形態では、スライスの単独の構文解析可能性を確実にする。
【００７４】
本開示では、復号のためにスライスにわたるピクチャ内予測がその特定のスライスについて許可される（例えば値が０であるとき）か許可されない（例えば値が１であるとき）かを信号伝達するために、スライスヘッダに新しいシンタックス要素（ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇ）も導入する。ＰＰＳにおけるｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値は、スライスヘッダにおけるｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇの存在を決定することができる。例えば、あるピクチャについて、ｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値は、ピクチャのスライスにわたってピクチャ内予測が許可されないことを示すことができる。そのようなピクチャでは、ピクチャのスライスは、ピクチャの異なるスライスにおいて見つかる情報を使用しては予測されず、従って、そのようなピクチャのスライスヘッダは、「ｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ」シンタックス要素を含む必要はない。
【００７５】
しかしながら、他のピクチャでは、ｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値は、ピクチャのスライスにわたってピクチャ内予測が許可されることを示し得る。ｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇがピクチャのスライスにわたってピクチャ内予測が許可されることを示すとき、スライスは、スライスヘッダに「ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇ」を含み得る。スライスヘッダにおけるｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇの値は、スライスについてスライス境界にわたるピクチャ内予測が許可されるかどうかを示し得る。従って、ピクチャのスライスについて境界にわたるピクチャ内予測が使用可能にされる場合でも、境界にわたるピクチャ内予測は、ピクチャにおける幾つかのスライスについて、依然として使用不能であり得る。
【００７６】
短いスライスヘッダは、スライス開始アドレスを含むことができ、スライスＩＤ、ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇ、ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｙ＿ｆｌａｇ、ＣＡＢＡＣ初期化パラメータ、及びスライスＱＰを含み得る。例えば、追加のスライスヘッダシンタックス要素及びシンタックス構造は、完全なスライスヘッダにのみ存在し得る。短いスライスヘッダを有するスライスでは、単独の構文解析機能（即ちエントロピースライス機能）のみが使用可能にされるとき、即ち、ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｅｎｃｙ＿ｆｌａｇが０に等しいとき、スライスＱＰは含まれない。波面並列処理機能が使用可能にされる（即ち、ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃｈｒｏが１に等しい）とき、短いスライスヘッダは、例えば、ＣＡＢＡＣ初期化パラメータを含まない可能性がある。
【００７７】
親スライスは、ｓｌｉｃｅ＿ｉｄの同じ値を有する同じコード化ピクチャの１つ又は複数のスライス（子スライスとも呼ばれる）を備え得る。その境界に沿った親スライスの特性は、その子スライスの特性をオーバーライドし得る。親スライスは、単独の構文解析可能性及び復号可能性を提供することができ、これは、全ての親スライス境界にわたるピクチャ内予測が許可されないことを意味する。従って、子スライスがそのスライス境界にわたるピクチャ内予測を可能にするとき、ピクチャ内予測は、その親スライスの境界内でのみ許可され得る。
【００７８】
ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｉｄｃが１に等しいとき、それは、全てのタイルの独立した単独の復号可能性を信号伝達することができ、この場合、各タイルは、１に等しいｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇを有する１つの単独で復号可能なスライスにコード化され得る。これは、タイルの可能な並列／単独の処理のためにそれ自体を構成するために、デコーダが前もって知っている能力を提供することができる。しかしながら、単独で復号可能なスライス境界によって全てのタイル境界にわたるピクチャ内予測が許可されないので、ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｉｄｃは指示にすぎない可能性がある。
【００７９】
この設計では、通常のスライス（即ち親スライス）、短いスライス（短いスライスヘッダを有するスライス）、エントロピースライス、波面、及びタイルは、互いに調和して支持することができる。この枠組では、タイルは、幾つかの例では、ＬＣＵの復号順序を決定するだけである。単独で復号可能なタイルが望まれるとき、それらの各々は、単独で復号可能なスライスに埋め込まれ得る。各ＷＰＰ波は、スライス内にカプセル化され得る。タイル又はＷＰＰ波のためのエントリポイントの信号伝達が必要でない可能性がある。エントロピースライスは、単に、ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇを０に等しく設定することによって、復号演算についてのピクチャ内予測を可能にすることによって支持され得る。
【００８０】
波面スライスは、それらの開始ＬＣＵアドレスに基づいて順序付けされ得る。例えば、それらは、並列復号を使用しないデコーダがビットストリームを復号することができる順序命令とすることができる。言い換えれば、ＬＣＵ処理順序は、幾つかの例では、タイルに依存するだけであり得る。
【００８１】
本開示の技法は、異なるピクチャ区分方式の一部を統合するのに役立ち得、コード化性能を向上させ得る。本開示で説明する技法によれば、スライス開始アドレスは、スライスヘッダの第１のシンタックス要素とすることができる。更に、ＣＡＢＡＣ初期化パラメータ（ｃａｂａｃ＿ｉｎｉｔ＿ｉｄｃ）の存在は、短いスライスヘッダに存在しないｓｌｉｃｅ＿ｔｙｐｅに依存する必要はなく、従って、短いスライスヘッダ自体を解析することができる。
【００８２】
以下の表１に、本開示の技法によるタイルのＳＰＳシンタックスを示す。ビデオエンコーダ２０は、表１に従ってＳＰＳシンタックスを生成するように構成されたビデオコーダの例を表し、ビデオデコーダ３０は、表１に従ってＰＰＳシンタックスを解析するように構成されたビデオデコーダの例を表す。
【表１Ａ】
0005882487.tif 000003
【表１Ｂ】
0005882487.tif 000004
【００８３】
以下の表２に、本開示の技法によるタイルのＰＰＳシンタックスを示す。ビデオエンコーダ２０は、表２に従ってＰＰＳシンタックスを生成するように構成されたビデオコーダの例を表し、ビデオデコーダ３０は、表２に従ってＰＰＳシンタックスを解析するように構成されたビデオデコーダの例を表す。以下の表２でわかるように、「ｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ」シンタックス要素はＰＰＳシンタックスに存在する。
【表２Ａ】
0005882487.tif 000005
【表２Ｂ】
0005882487.tif 000006
【００８４】
ＷＰＰでは、シンタックス要素「ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃｈｒｏ」は、ＰＰＳシンタックス要素に含まれる１ビットのフラグであり得る。シンタックス要素「ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃｈｒｏ」は、コンテキスト変数のための特定の同期プロセスが呼び出されるかどうかを指定することができる。例えば、「ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃｈｒｏ」が１に設定されている場合、コンテキスト変数のための特定の同期プロセスが呼び出され得る。シンタックス要素ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃｈｒｏは、ＣＵを復号する前に、コンテキスト変数のための特定の暗記プロセスが呼び出されるかどうかを指定することもでき、ここでは、ｘ０が（１＜＜ｌｏｇ２ＭａｘＣＵＳｉｚｅ）＊（ｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃｈｒｏ）に等しく、ｙ０％（１＜＜ｌｏｇ２ＭａｘＣＵＳｉｚｅ）が０に等しい。
【００８５】
更に、２つのフラグｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｅｎａｂｌｅｄ＿ｆａｇ及びｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）は、ＰＰＳシンタックスに追加され得る。これらの２つのフラグは、スライスヘッダのシンタックス要素ｓｌｉｃｅ＿ｉｄ、ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇ及びｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇの存在を指定することができる。例えば、ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇ又はｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい場合、ｓｌｉｃｅ＿ｉｄシンタックス要素がスライスヘッダに存在し得る。そうでない場合、ｓｌｉｃｅ＿ｉｄシンタックス要素がスライスヘッダに存在しない可能性がある。更に、例えば、ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい場合、ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇがスライスヘッダに存在し得る。そうでない場合、ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇがスライスヘッダに存在しない可能性がある。更に、例えば、ｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい場合、ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇがスライスヘッダに存在し得る。そうでない場合、ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇがスライスヘッダに存在しない可能性がある。
【００８６】
以下の表３に、本開示の技法によるスライスヘッダシンタックスを示す。ビデオエンコーダ２０は、表３に従ってスライスヘッダシンタックスを生成するように構成されたビデオコーダの例を表し、ビデオデコーダ３０は、表３に従ってスライスヘッダシンタックスを解析するように構成されたビデオデコーダの例を表す。以下の表３でわかるように、「ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇ」シンタックス要素はスライスヘッダに存在し、「ｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ」シンタックス要素に依存している。更に、以下の表３からわかるように、シンタックス要素「ｓｌｉｃｅ＿ａｄｄｒｅｓｓ」は、スライスヘッダシンタックスの先頭に位置し、「ｄｅｐｅｎｄｅｎｔ＿ｓｌｉｃｅ＿ｅｎａｂｌｅｄ＿ｆｌａｇ」シンタックス要素の前に位置する。
【表３Ａ】
0005882487.tif 000007
【表３Ｂ】
0005882487.tif 000008
【００８７】
シンタックス要素「パラメータｓｌｉｃｅ＿ｉｄ」は、スライスに関連付けられた親スライスを識別することができる。各親スライスは、コード化ピクチャの親スライスの組の中の一意のｓｌｉｃｅ＿ｉｄ値を有することができる。存在しない場合、ｓｌｉｃｅ＿ｉｄの値が指定されていない可能性がある。親スライスは、ｓｌｉｃｅ＿ｉｄの同じ値を有する同じコード化ピクチャの１つ又は複数のスライスから成り得る。０に等しいｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇ及び１に等しいｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｙ＿ｆｌａｇを有するスライスは、それ自体で親スライスであり得る。存在する場合、親スライスのｓｌｉｃｅ＿ｉｄの値は、同じコード化ピクチャの別の親スライスのｓｌｉｃｅ＿ｉｄとは異なってもよい。１つの親スライスに属する全てのスライスについて、ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇが１に等しいとき、存在しないスライスヘッダシンタックス要素及びスライスヘッダシンタックス構造の各々は同一であり得る。
【００８８】
ピクチャの１つの親スライスの全てのスライスが１に等しいｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇを有する場合、シンタックス要素「ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇ」が１に設定されているときに存在しないスライスヘッダシンタックス要素及びスライスヘッダシンタックス構造の各々は、ピクチャの全てのスライスについて同一であり得る。
【００８９】
パラメータｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇが１に設定されている場合、スライスヘッダシンタックス要素のサブセットのみが存在し、スライスヘッダシンタックス構造は存在しない短いスライスヘッダを指定することができる。値０は、全てのスライスヘッダシンタックス要素及びスライスヘッダシンタックス構造が存在することを指定し得る。存在しないとき、ｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇの値は０に等しいと推測され得る。
【００９０】
１つのコード化ピクチャについて、０に等しいｓｈｏｒｔ＿ｓｌｉｃｅ＿ｈｅａｄｅｒ＿ｆｌａｇを有する少なくとも１つのスライスがあり得る。パラメータｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇが１に等しい場合、復号されているツリーブロックと同じスライス内に含まれていない全ての隣接したツリーブロックが利用不可能とマークされていることを示すことができ、スライスの第１のツリーブロックを復号するとき、エントロピーデコーダの初期化処理が呼び出される。パラメータｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇが０に等しい場合、ツリーブロックの利用可能性がこのスライスの境界によって影響を受けないことを示し得る。存在しないときに、パラメータｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇは１に等しいと推測され得る。代替例では、ｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇの上記の意味論で記載されている「ツリーブロック」の全てのインスタンスが「コード化ブロック」と置き換えられ得る。
【００９１】
幾つかの例では、パラメータｅｎｔｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃｈｒｏが１に等しい場合、以下のうちの１つ又は複数が適用され得る。
【００９２】
−  短いスライスヘッダはスライス開始アドレスを含んでおらず、スライス開始アドレスが導出される。第１のスライスは、０に等しいスライス開始アドレスを有する。第２のスライスは、１つのＬＣＵ行のＬＣＵ数に等しいスライス開始アドレスを有する。第２のスライスは、１つのＬＣＵ行のＬＣＵ数の２倍に等しいスライス開始アドレスを有するなど、以下同様である。
【００９３】
−  短いスライスヘッダはスライスＩＤを含んでおらず、復号順序で完全なスライスヘッダを有するスライスごとに１増やすことによって、スライスＩＤ値が導出される。
【００９４】
−  短いスライスヘッダはｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｙ＿ｆｌａｇを含んでおらず、値は１に等しいと推測される。
【００９５】
以下は、ツリーブロックアドレスの利用可能性のための例示的な導出プロセスについて説明する。このプロセスへの入力は、ツリーブロックアドレスｔｂＡｄｄｒであり得る。このプロセスの出力は、ツリーブロックアドレスｔｂＡｄｄｒの利用可能性とすることができる。プロセスが呼び出されると、利用可能性の意味が決定され得る。ツリーブロックが利用不可能とマークされ得る、以下の状態のうちの１つが真でない限り、ツリーブロックは利用可能とマークされ得る。
【００９６】
−  ｔｂＡｄｄｒ＜０
−  ｔｂＡｄｄｒ＞ＣｕｒｒＴｂＡｄｄｒ
−  アドレスｔｂＡｄｄｒを有するツリーブロックが、アドレスＣｕｒｒＴｂＡｄｄｒを有するツリーブロックとは異なる親スライスに属する
−  アドレスｔｂＡｄｄｒを有するツリーブロックが異なるスライスに属し、アドレスＣｕｒｒＴｂＡｄｄｒを有するツリーブロックを含むスライスが、１に等しいｓｌｉｃｅ＿ｂｏｕｎｄａｒｙ＿ｉｎｄｅｐｅｎｄｅｎｃｅ＿ｆｌａｇを有する。
【００９７】
幾つかの例では、タイルも含めて、ツリーブロックアドレスの利用可能性のための上記で説明した導出プロセスにおける「ツリーブロック」の全てのインスタンスが「コード化ブロック」と置き換えられ得る。
【００９８】
再び図１を参照すると、ビデオエンコーダ２０は、イントラ予測モード符号化を使用してビデオデータの幾つかのブロックを符号化し、ブロックを符号化するために使用される選択されたイントラ予測モードを示す情報を提供し得る。ビデオエンコーダ２０は、Ｐフレーム又はＰスライス、及びＢフレーム又はＢスライスに加えて、例えば、Ｉフレーム又はＩスライスなど、イントラ予測モードを使用して、任意のタイプのフレーム又はスライスのブロックをイントラ予測符号化し得る。あるブロックがイントラ予測モード符号化されるべきであることをビデオエンコーダ２０が決定したとき、ビデオエンコーダ２０は、最も適切なイントラ予測モードを選択するためにレート歪み分析を実行することができる。例えば、ビデオエンコーダ２０は、１つ又は複数のイントラ予測モードについてのレート歪み値を計算し、受容できるレート歪み特性を有するモードのうちの１つを選択することができる。
【００９９】
ビデオエンコーダ２０は、ブロックの符号化コンテキストを決定するように構成することもできる。コンテキストは、例えば、画素寸法で決定され得るブロックのサイズ、例えばＨＥＶＣの例における２Ｎ×２Ｎ、Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×Ｎなどの予測単位（ＰＵ）タイプ、２Ｎ×Ｎ／２、Ｎ／２×２Ｎ、２Ｎ×１、１×２Ｎなどの短距離イントラ予測（ＳＤＩＰ：short-distance intra-prediction）タイプ、Ｈ．２６４の例におけるマクロブロックタイプ、ブロックのＣＵ深さ、又はビデオデータのブロックについてのサイズの他の測定値など、ブロックの様々な特性を含み得る。幾つかの例では、コンテキストは、上に隣接するブロック、左に隣接するブロック、左上に隣接するブロック、右上に隣接するブロック、又は他の隣接するブロックのイントラ予測モードのいずれか又は全てに対応し得る。幾つかの例では、コンテキストは、１つ又は複数のブロックについてのイントラ予測モードと、符号化されている現在ブロックのサイズ情報の両方を含み得る。
【０１００】
いずれの場合も、ビデオエンコーダ２０は、ブロックのコンテキストを現在ブロックについての様々なコード化特性にマッピングする構成データを含み得る。例えば、ブロックのコンテキストに基づいて、構成データは、１つ又は複数の最確イントラ予測モードを示し得る。ビデオエンコーダ２０は、幾つかの例では、コンテキストに基づいて、最も可能性の高いモードでイントラ予測モードの選択のための分析を開始するように構成され得る。最も可能性の高いモードが適切なレート歪み特性を達成するとき、幾つかの例では、ビデオエンコーダ２０は、最も可能性の高いモードを選択することができる。他の例では、ビデオエンコーダ２０は、最も可能性の高いモードで選択プロセスを開始する必要はない。
【０１０１】
予測データと残差データとを生成するためのイントラ予測コード化又はインター予測コード化の後、及び変換係数を生成するための（Ｈ．２６４／ＡＶＣで使用される４×４又は８×８整数変換、あるいは離散コサイン変換ＤＣＴなどの）任意の変換の後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減することができる。例えば、量子化中にｎビット値がｍビット値に切り捨てられ得、ｎはｍよりも大きい。
【０１０２】
量子化の後に、例えば、コンテンツ適応型可変長コード化（ＣＡＶＬＣ：content adaptive variable length coding）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、又は別のエントロピーコード化方法に従って、量子化データのエントロピーコード化が実行され得る。エントロピーコード化用に構成された処理ユニット又は別の処理ユニットは、量子化係数のゼロランレングスコード化、及び／又はコード化ブロックパターン（ＣＢＰ）値、マクロブロックタイプ、コード化モード、（フレーム、スライス、マクロブロック、又はシーケンスなどの）コード化単位の最大マクロブロックサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。
【０１０３】
ビデオデコーダ３０は、最終的に、例えば、モデム２８及び受信機２６から、符号化ビデオデータを受信し得る。本開示の技法によれば、ビデオデコーダ３０は、ビデオデータのブロックを符号化するために使用されるイントラ予測モードを表す符号化されたデータを受信し得る。ビデオデコーダ３０は、ビデオエンコーダ２０と実質的に同様の方法でブロックのコード化コンテキストを決定するように構成され得る。その上、ビデオデコーダ３０は、例えば、最も考えられるモードの指示、イントラ予測モードインデックステーブル、及びコード化コンテキストごとのＶＬＣテーブルなど、ビデオエンコーダ２０と同様の構成データを含み得る。
【０１０４】
ビデオエンコーダ２０及びビデオデコーダ３０は、動き補償中に、本開示で説明する１つ又は複数の補間フィルタリング技法を使用し得る。ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、適用可能なとき、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ又はデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０及び／又はビデオデコーダ３０を含む装置は、集積回路、マイクロプロセッサ、及び／又はセルラー電話などのワイヤレス通信機器を備え得る。
【０１０５】
図５は、ビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、上記の表１、表２、及び表３に準拠するシンタックス要素を生成するように構成されたビデオエンコーダの一例である。ビデオエンコーダ２０は、マクロブロックあるいはマクロブロックの区分又はサブ区分を含むビデオフレーム内のブロックのイントラコード化及びインターコード化を実行し得る。イントラコード化は、所与のビデオフレーム内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラ予測モード（Ｉモード）は、幾つかの空間ベースの圧縮モードのいずれかを指し、単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。図５にはインターモード符号化のための構成要素が示されているが、ビデオエンコーダ２０はイントラ予測モード符号化のための構成要素を更に含み得ることを理解されたい。但し、簡潔及び明快のために、そのような構成要素は示されていない。
【０１０６】
図５に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図５の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、メモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピーコード化ユニット５６とを含む。ビデオブロック復元のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。ブロック境界をフィルタ処理して、復元されたビデオからブロック歪みを除去するデブロッキングフィルタ（図５に図示せず）も含むことができる。必要な場合、デブロッキングフィルタは、通常、加算器６２の出力をフィルタ処理することになる。
【０１０７】
符号化プロセス中に、ビデオエンコーダ２０は、コード化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロックに分割され得る。動き推定ユニット４２及び動き補償ユニット４４は、時間圧縮を行うために、１つ又は複数の参照フレーム中の１つ又は複数のブロックに対する受信したビデオブロックのインター予測コード化を実行する。イントラ予測ユニット４６は、空間圧縮を行うために、コード化されるべきブロックと同じフレーム又はスライス中の１つ又は複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コード化を実行し得る。
【０１０８】
モード選択ユニット４０は、例えば、誤差結果に基づいて、及びコード化されている現在ブロックを含むフレーム又はスライスについてのフレームタイプ又はスライスタイプに基づいて、コード化モード、即ち、イントラ又はインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロック又はインターコード化ブロックを加算器５０に与え、参照フレーム又は参照スライス中で使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロック又はインターコード化ブロックを加算器６２に供給し得る。概して、イントラ予測は、隣接する、前にコード化されたブロックに対して現在ブロックを予測することを伴い、一方、インター予測は、現在ブロックを時間的に予測するために動き推定及び動き補償を伴う。
【０１０９】
動き推定ユニット４２と動き補償ユニット４４とは、ビデオエンコーダ２０のインター予測要素を表す。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム（又は、他のコード化ユニット）内のコード化されている現在のブロックに対する予測参照フレーム（又は、他のコード化単位内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるべきブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、マクロブロックの区分の変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することに関与し得る。この場合も、幾つかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。
【０１１０】
動き推定ユニット４２は、ビデオブロックを参照フレームメモリ６４中の参照フレームのビデオブロックと比較することによってインターコード化フレームのビデオブロックの動きベクトルを計算する。動き補償ユニット４４はまた、参照フレーム、例えば、Ｉフレーム又はＰフレームのサブ整数画素を補間し得る。一例として、ＩＴＵ  Ｈ．２６４規格には、符号化されている現在フレームよりも前の表示順序を有する参照フレームを含むリスト０、及び符号化されている現在フレームよりも後の表示順序を有する参照フレームを含むリスト１という２つのリストが記載されている。従って、参照フレームメモリ６４に記憶されたデータは、これらのリストに従って編成され得る。
【０１１１】
動き推定ユニット４２は、参照フレームメモリ６４からの１つ又は複数の参照フレームのブロックを現在フレーム、例えば、Ｐフレーム又はＢフレームの符号化されるべきブロックと比較する。参照フレームメモリ６４中の参照フレームがサブ整数画素の値を含むとき、動き推定ユニット４２によって計算される動きベクトルは参照フレームのサブ整数画素位置を参照し得る。動き推定ユニット４２及び／又は動き補償ユニット４４はまた、サブ整数画素位置の値が参照フレームメモリ６４に記憶されていない場合、参照フレームメモリ６４に記憶された参照フレームのサブ整数画素位置の値を計算するように構成され得る。動き推定ユニット４２は、計算された動きベクトルをエントロピーコード化ユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれることがある。動き補償ユニット４４は、インター予測ブロックに基づいて予測データを計算し得る。
【０１１２】
イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測ユニット４６は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４６（又は、幾つかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。例えば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み（又は誤差）の量、及び符号化ブロックを生成するために使用されるビットレート（即ち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化ブロックの歪み及びレートから比を計算し得る。いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックについての選択されたイントラ予測モードを示す情報をエントロピーコード化ユニット５６に提供し得る。エントロピーコード化ユニット５６は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。
【０１１３】
例えば、イントラ予測又はインター予測を使用して、現在のブロックを予測した後、ビデオエンコーダ２０は、コード化されている元のビデオブロックから、動き補償ユニット４４又はイントラ予測ユニット４６によって計算された予測データを減算することによって残差ビデオブロックを形成し得る。加算器５０は、この減算演算を実行する１つ又は複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義される変換など、他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換又は他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を画素値領域から周波数領域などの変換領域に変換し得る。量子化ユニット５４は、ビットレートを更に低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって変更され得る。
【０１１４】
量子化の後、エントロピーコード化ユニット５６が量子化変換係数をエントロピーコード化する。例えば、エントロピーコード化ユニット５６は、コンテンツ適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、又は別のエントロピーコード化技法を実行し得る。エントロピーコード化ユニット５６によるエントロピーコード化の後、符号化ビデオは、別の機器に送信されるか、あるいは後で送信するか又は取り出すためにアーカイブされ得る。コンテキスト適応型バイナリ算術コード化の場合、コンテキストは隣接ブロック及び／又はブロックサイズに基づき得る。
【０１１５】
場合によっては、エントロピーコード化ユニット５６又はビデオエンコーダ２０の別のユニットは、上記で説明したように、エントロピーコード化及びイントラ予測モードのコード化に加えて他のコード化機能を実行するように構成され得る。例えば、エントロピーコード化ユニット５６は、ブロック及び区分のためのコード化ブロックパターン（ＣＢＰ：coded block pattern）値を決定するように構成され得る。また、場合によっては、エントロピーコード化ユニット５６は、マクロブロック又はそれの区分中の係数のランレングスコード化を実行し得る。特に、エントロピーコード化ユニット５６は、マクロブロック又は区分中の変換係数をスキャンするためにジグザグスキャン又は他のスキャンパターンを適用し、更なる圧縮のためにゼロのランを符号化し得る。エントロピーコード化ユニット５６はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素とともにヘッダ情報を構成し得る。
【０１１６】
逆量子化ユニット５８及び逆変換処理ユニット６０は、それぞれ逆量子化及び逆変換を適用して、例えば、参照ブロックとして後で使用するために、画素領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つ又は複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームメモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコード化するために動き推定ユニット４２及び動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１１７】
ビデオエンコーダ２０は、分数画素（又はサブ画素）精度を用いて動き推定を実行し得る。ビデオエンコーダ２０は、分数画素動き推定を使用するとき、本開示で説明する補間演算を使用してサブ画素解像度（例えば、サブ画素値又は分数画素値）におけるデータを生成し得る。言い換えれば、補間演算を使用して、整数画素位置間の位置における値を計算する。整数画素位置間の距離の半分に配置されるサブ画素位置を１／２画素（ハーフペル）位置と呼び、整数画素位置とハーフ画素位置との間の距離の半分に配置されるサブ画素位置を１／４画素（クォーターペル）位置と呼び、整数画素位置（又は、１／２画素位置）と１／４画素位置との間の距離の半分に配置されるサブ画素位置を１／８画素（１／８ペル）位置と呼び、以下同様である。
【０１１８】
ビデオエンコーダ２０は、上記の表１、表２、及び表３に従ってシンタックス要素を生成するように構成されたビデオエンコーダの一例を表す。例えば、ビデオエンコーダ２０は、第１のピクチャの第１のシンタックス要素の第１のインスタンスをコード化するように構成されたビデオエンコーダの一例を表す。第１のシンタックス要素は、ＰＰＳの一部とすることができる。第１のシンタックス要素の第１の値は、第１のピクチャのスライスについてスライスにわたってピクチャ内予測が許可されることを示すことができる。スライス境界にわたってピクチャ内予測が許可されるとき、ビデオエンコーダ２０は、第２のスライスの第２のコード化単位の情報に基づいて、第１のスライスの第１のコード化単位をコード化することができる。スライスにわたってピクチャ内予測が許可されることを第１のシンタックス要素が示すことに応答して、ビデオエンコーダ２０は、スライスにわたってピクチャ内予測が許可されることを示す第２のシンタックス要素をコード化することができる。第２のシンタックス要素は、スライスヘッダの一部とすることができ、スライスヘッダにおける第２のシンタックス要素の存在は、第１のシンタックス要素の第１の値に依存することができる。ビデオエンコーダ２０は、第２のピクチャの第１のシンタックス要素の第２のインスタンスをコード化することもできる。第１のシンタックス要素の第２の値は、第２のピクチャのスライスについてスライスにわたってピクチャ内予測が許可されないことを示すことができる。
【０１１９】
図６は、符号化ビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。ビデオデコーダ３０は、上記の表１、表２、及び表３に準拠するシンタックス要素を解析するように構成されたビデオデコーダの一例である。図６の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、メモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、幾つかの例では、ビデオエンコーダ２０（図５）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信した動きベクトルに基づいて予測データを生成し得る。
【０１２０】
動き補償ユニット７２は、ビットストリーム中で受信した動きベクトルを使用して、参照フレームメモリ８２中の参照フレーム中の予測ブロックを識別し得る。イントラ予測ユニット７４は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。
【０１２１】
エントロピー復号ユニット７０は、ビデオデータの符号化ブロックを復号するために使用すべきイントラ予測モードを表すデータを受信し得る。エントロピー復号ユニット７０は、例えば、符号化ブロックに対して左に隣接するブロック及び上に隣接するブロックのイントラ予測モード、及び／又は符号化ブロックのサイズに基づいて、符号化ブロックのコンテキストを決定し得る。コンテキストに基づいて、エントロピー復号ユニット７０は、ブロックの復号に使用するために、１つ又は複数の最確なイントラ予測モードを決定し得る。
【０１２２】
イントラ予測ユニット７４は、例えば、隣接する、以前復号されたブロックの画素を使用して、符号化されたブロックをイントラ予測するためにイントラ予測モードの指示を使用することができる。ブロックがインター予測モード符号化される例では、動き補償ユニット７２は、符号化されたブロックについての動き補償予測データを取り出すために、動きベクトルを定義する情報を受信することができる。いずれの場合も、動き補償ユニット７２又はイントラ予測ユニット７４は、予測ブロックを定義する情報を加算器８０に与え得る。
【０１２３】
逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化ブロック係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、例えば、Ｈ．２６４復号規格によって定義されるか又はＨＥＶＣテストモデルによって実行される、従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を決定し、同様に、適用する逆量子化の程度を決定するための、各マクロブロックについてエンコーダ２０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０１２４】
逆変換処理ユニット５８は、画素領域において残差ブロックを生成するために、逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。動き補償ユニット７２は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子がシンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１２５】
動き補償ユニット７２は、シンタックス情報の幾つかを使用して、符号化ビデオシーケンスの（１つ又は複数の）フレームを符号化するために使用されるブロックのサイズと、符号化ビデオシーケンスのフレーム又はスライスの各ブロックがどのように区分されるかを記述する区分情報と、各区分がどのように符号化されるかを示すモードと、各インター符号化ブロック又は区分のための１つ又は複数の参照フレーム（及び参照フレームリスト）と、符号化ビデオシーケンスを復号するための他の情報とを決定する。
【０１２６】
加算器８０は、残差ブロックを、動き補償ユニット７２又はイントラ予測ユニット７４によって生成される対応する予測ブロックと合計して、復号ブロックを形成する。所望される場合、ブロック歪み（blockiness artifacts）を除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号されたビデオブロックは、次いで、参照フレームメモリ８２に記憶され、参照フレームメモリ８２は、参照ブロックをその後の動き補償に供給し、また、表示装置（図１の表示装置３２など）上での提示のために復号されたビデオを生成する。
【０１２７】
このように、ビデオデコーダ３０は、ビデオデータを受信し、あるスライスについて、短いスライスヘッダ又は完全なスライスヘッダが存在するかどうかを決定するために、ビデオデータのＰＰＳシンタックスを解析するように構成され得る。構文解析は、例えば、短いスライスヘッダが使用可能にされるかどうかをフラグの値が識別することを決定することを含むことができる。短いスライスヘッダが存在することに応答して、ビデオデコーダ３０は、完全なスライスヘッダから他のスライスヘッダシンタックス要素及び他のスライスヘッダシンタックス構造を識別することができ、完全なスライスヘッダは、復号順序でスライスに先行するスライスに関連付けられる。短いスライスヘッダは、スライス開始アドレス、スライスＩＤ、短いスライスヘッダ対応フラグ、スライス境界独立フラグ、ＣＡＢＡＣ初期化パラメータ、及びスライスＱＰのうちの１つ又は複数を含むことができる。スライス境界独立フラグは、復号のためにスライスにわたるピクチャ内予測が許可されるかどうかを信号伝達することができる。
【０１２８】
また、ビデオデコーダ３０は、ビデオデータを受信し、スライス境界独立フラグがあるスライスのスライスヘッダに存在するかどうかを決定するために、ビデオデータのＰＰＳシンタックスを解析するように構成され得る。構文解析は、従属するスライス対応フラグの値を決定することを含むことができる。
【０１２９】
ビデオデコーダ３０は、上記の表１、表２、及び表３に従ってシンタックスを解析するように構成されたビデオエンコーダの一例を表す。例えば、ビデオデコーダ３０は、第１のピクチャの第１のシンタックス要素の第１のインスタンスをコード化するように構成されたビデオデコーダの一例を表す。第１のシンタックス要素は、ＰＰＳの一部とすることができる。第１のシンタックス要素の第１の値は、第１のピクチャのスライスについてスライスにわたってピクチャ内予測が許可されることを示すことができる。スライス境界にわたってピクチャ内予測が許可されるとき、ビデオデコーダ３０は、第２のスライスの第２のコード化単位の情報に基づいて、第１のスライスの第１のコード化単位をコード化することができる。スライスにわたってピクチャ内予測が許可されることを第１のシンタックス要素が示すことに応答して、ビデオデコーダ３０は、スライスにわたってピクチャ内予測が許可されることを示す第２のシンタックス要素をコード化することができる。第２のシンタックス要素は、スライスヘッダの一部とすることができ、スライスヘッダにおける第２のシンタックス要素の存在は、第１のシンタックス要素の第１の値に依存することができる。ビデオデコーダ３０は、第２のピクチャの第１のシンタックス要素の第２のインスタンスをコード化することもできる。第１のシンタックス要素の第２の値は、第２のピクチャのスライスについてスライスにわたってピクチャ内予測が許可されないことを示すことができる。
【０１３０】
ビデオデコーダ３０に関して記述された様々な復号技法は、幾つかの例において、ビデオエンコーダ２０によって実施することもできる。例えば、ビデオ符号化プロセスの一部として、ビデオエンコーダ２０は、符号化されたビデオを復号することができる。
【０１３１】
図７は、本開示の技法によるビデオデータを復号する例示的な方法を示すフローチャートである。例として、図５の方法について図１及び図４のビデオデコーダ３０に関して説明するが、本方法は他のタイプのビデオデコーダによっても実装され得る。
【０１３２】
ビデオデコーダ３０は、ビデオデータを受信することができる（１５０）。受信されたビデオデータにおいて、ビデオデコーダ３０は、現在のピクチャが波又はタイルに区分されるかどうかを決定するために、ビデオデータのパラメータセットを解析することができる（１５２）。現在のピクチャが波又はタイルに区分されることが決定されると、ビデオデコーダ３０は、交差区分予測が許可されるかどうかを決定することができる（１５４）。交差区分予測が許可されない場合（１５４、いいえ）、ビデオデコーダ３０は、波又はタイルを並列に復号することができる（１５６）。交差区分予測が許可される（１５４、はい）場合、ビデオデコーダ３０は、他の区分への現在のスライスのエントリポイントを決定することができる（１５８）。
【０１３３】
図８は、本開示の技法によるビデオデータをコード化する例示的な方法を示すフローチャートである。例として、図５の方法について、一般的なビデオコーダに関して説明する。一般的なビデオコーダは、例えば、図１及び図４のビデオデコーダ３０のようなビデオデコーダ、又は図１及び図３のビデオエンコーダ２０のようなビデオエンコーダとすることができるが、この方法は、他のタイプのビデオコーダによって実施することもできる。
【０１３４】
ビデオコーダは、ピクチャのスライスにわたってピクチャ内予測が許可されるかどうかを決定する（１６２）。ピクチャのスライスにわたってピクチャ内予測が許可されないことを決定することの一部として、ビデオコーダは、シンタックス要素をコード化することができる。ビデオコーダがビデオエンコーダである場合、シンタックス要素をコード化することは、シンタックス要素を生成し、ピクチャのスライス境界にわたってピクチャ内予測が許可されないことを示す値にシンタックス要素を設定することを含み得る。ビデオコーダがビデオデコーダである場合、ビデオデコーダは、シンタックス要素を解析し、ピクチャのスライス境界にわたってピクチャ内予測が許可されないことを示す値にシンタックス要素が設定されることを決定することによって、シンタックス要素をコード化し得る。シンタックス要素は、ビデオエンコーダによって生成されるか、ビデオデコーダによって解析されるかにかかわらず、ＰＰＳの一部とすることができる。
【０１３５】
ピクチャのスライスにわたってピクチャ内予測が許可されない場合（１６２、いいえ）、ビデオコーダは、幾つかの例において、ピクチャのスライスを単独でコード化することができる（１６４）。上記と同様の方法で、ピクチャのスライスにわたってピクチャ内予測が許可されないことを決定することの一部として、ビデオコーダは、シンタックス要素をコード化することができる。ビデオコーダがビデオエンコーダである場合、シンタックス要素をコード化することは、シンタックス要素を生成し、ピクチャのスライス境界にわたってピクチャ内予測が許可されないことを示す値にシンタックス要素を設定することを含み得る。ビデオコーダがビデオデコーダである場合、ビデオデコーダは、シンタックス要素を解析し、ピクチャのスライス境界にわたってピクチャ内予測が許可されることを示す値にシンタックス要素が設定されることを決定することによって、シンタックス要素をコード化し得る。従って、（例えば第１のピクチャに関連付けられた）シンタックス要素の第１のインスタンスについて、第１の値は、スライス境界にわたってピクチャ内予測が許可されることを示すことができ、一方、（例えば第２のピクチャに関連付けられた）シンタックス要素の第２のインスタンスについて、シンタックス要素の第２の値は、スライス境界にわたってピクチャ内予測が許容されないことを示すことができる。
【０１３６】
ピクチャのスライス境界にわたってピクチャ内予測が許可される（１６２、はい）例では、ビデオコーダは、特定のスライスについて、そのスライスの境界にわたってピクチャ内予測が許可されるかどうかを決定することができる（１６６）。特定のスライスの境界にわたってピクチャ内予測が許可されることを決定することの一部として、ビデオコーダは、第２のシンタックス要素をコード化することができる。ビデオコーダがビデオエンコーダである場合、第２のシンタックス要素をコード化することは、符号化されたビットストリームに含めるための第２のシンタックス要素を生成し、スライスの境界にわたってピクチャ内予測が許可されないことを示す値に第２のシンタックス要素を設定する、又はスライスの境界にわたってピクチャ内予測が許可されることを示す値に第２のシンタックス要素を設定することを含み得る。ビデオコーダがビデオデコーダである場合、ビデオデコーダは、第２のシンタックス要素を解析し、スライスの境界にわたってピクチャ内予測が許可されないことを示す値に第２のシンタックス要素が設定される、又はスライスの境界にわたってピクチャ内予測が許可されることを示す値に第２のシンタックス要素が設定されることを決定することによって、第２のシンタックス要素をコード化し得る。第２のシンタックス要素は、ビデオエンコーダによって生成されるか、ビデオデコーダによって解析されるかにかかわらず、スライスヘッダの一部とすることができ、スライスヘッダにおける第２のシンタックス要素の存在は、ＰＰＳの第１のシンタックス要素に依存し得る。
【０１３７】
１つ又は複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コード及び／又はデータ構造を取り出すために１つ又は複数のコンピュータあるいは１つ又は複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１３８】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージ機器、フラッシュメモリ、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピーディスク（登録商標）（disk）及びブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１３９】
命令は、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）などの１つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つ又は複数の回路又は論理要素中に十分に実装され得る。
【０１４０】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実装され得る。本開示では、開示する技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上記で説明した１つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
【０１４１】
様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータをコード化する方法であって、第１のピクチャの第１のシンタックス要素をコード化することと、前記第１のシンタックス要素の第１の値が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す、第２のスライスの第２のコード化単位の情報に基づいて第１のスライスの第１のコード化単位をコード化することと、を備える方法。
［２］  複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素に応答して、複数のスライスにわたってピクチャ内予測が許可されることを示す第２のシンタックス要素をコード化すること、を更に含み、前記第２のシンタックス要素がスライスヘッダの一部である、［１］に記載の方法。
［３］  前記スライスヘッダにおける前記第２のシンタックス要素の存在が、前記第１のシンタックス要素の前記第１の値に依存する、［２］に記載の方法。
［４］  スライスの開始アドレスをコード化すること、を更に含み、前記スライスの前記開始アドレスが前記スライスヘッダにおける前記第２のシンタックス要素の前に位置する、［２］に記載の方法。
［５］  前記第１のシンタックス要素がピクチャパラメータセット（ＰＰＳ）の一部である、［１］に記載の方法。
［６］  前記第１のシンタックス要素をコード化することが、前記第１のシンタックス要素の第１のインスタンスをコード化することを備え、前記方法が、第２のピクチャについての前記第１のシンタックス要素の第２のインスタンスをコード化すること、を更に備え、前記第１のシンタックス要素の前記第２のインスタンスについての第２の値が、前記第２のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されないことを示す、［１］に記載の方法。
［７］  前記第２のピクチャの前記スライスを単独でコード化することを更に備える［６］に記載の方法。
［８］  第１のシンタックス要素をコード化することが、前記第１のシンタックス要素を符号化することを備え、前記第１のシンタックス要素を符号化することが、前記第１の値を有する前記第１のシンタックス要素を生成することを備える、［１］に記載の方法。
［９］  第１のシンタックス要素をコード化することが、前記第１のシンタックス要素を復号することを備え、前記第１のシンタックス要素を復号することが、前記第１の値を決定するために、前記第１のシンタックス要素を解析することを備える、［１］に記載の方法。
［１０］  ビデオデータをコード化するための装置であって、第１のピクチャの第１のシンタックス要素の第１のインスタンスをコード化するように、前記第１のシンタックス要素の第１の値が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す、第２のスライスの第２のコード化単位の情報に基づいて第１のスライスの第１のコード化単位をコード化するように構成されたビデオコーダを備える装置。
［１１］  前記ビデオコーダが、複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素に応答して、複数のスライスにわたってピクチャ内予測が許可されることを示す第２のシンタックス要素をコード化するように更に構成され、前記第２のシンタックス要素がスライスヘッダの一部である、［１０］に記載の装置。
［１２］  前記スライスヘッダにおける前記第２のシンタックス要素の存在が、前記第１のシンタックス要素の前記第１の値に依存する、［１１］に記載の装置。
［１３］  前記ビデオコーダが、スライスの開始アドレスをコード化するように更に構成され、前記スライスの前記開始アドレスが前記スライスヘッダにおける前記第２のシンタックス要素の前に位置する、［１１］に記載の装置。
［１４］  前記第１のシンタックス要素がピクチャパラメータセット（ＰＰＳ）の一部である、［１０］に記載の装置。
［１５］  前記ビデオコーダが、第２のピクチャについての前記第１のシンタックス要素の第２のインスタンスをコード化するように更に構成され、前記第１のシンタックス要素の第２の値が、前記第２のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されないことを示す、［９］に記載の装置。
［１６］  前記ビデオコーダが、前記第２のピクチャの前記スライスを単独でコード化するように更に構成される、［１５］に記載の装置。
［１７］  前記ビデオコーダがビデオエンコーダを備え、前記ビデオコーダが、前記第１の値を有する前記第１のシンタックス要素を生成するように更に構成される、［１０］に記載の装置。
［１８］  前記ビデオコーダがビデオデコーダを備え、前記ビデオコーダが、前記第１の値を決定するために、前記第１のシンタックス要素を解析するように更に構成される、［１０］に記載の装置。
［１９］  前記装置が、集積回路と、マイクロプロセッサと、前記ビデオコーダを含むワイヤレス通信装置と
のうちの少なくとも１つを備える、［１０］に記載の装置。
［２０］  ビデオデータをコード化するための装置であって、第１のピクチャの第１のシンタックス要素をコード化するための手段と、前記第１のシンタックス要素の第１の値が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示す、第２のスライスの第２のコード化単位の情報に基づいて第１のスライスの第１のコード化単位をコード化するための手段と、を備える装置。
［２１］  複数のスライスにわたってピクチャ内予測が許可されることを示す第２のシンタックス要素をコード化するための手段を更に備え、複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素に応答して、前記第２のシンタックス要素がスライスヘッダの一部である、［２０］に記載の装置。
［２２］  前記スライスヘッダにおける前記第２のシンタックス要素の存在が、前記第１のシンタックス要素の前記第１の値に依存する、［２１］に記載の装置。
［２３］  スライスの開始アドレスをコード化するための手段を更に備え、前記スライスの前記開始アドレスが前記スライスヘッダにおける前記第２のシンタックス要素の前に位置する、［２１］に記載の装置。
［２４］  前記第１のシンタックス要素がピクチャパラメータセット（ＰＰＳ）の一部である、［２０］に記載の装置。
［２５］  前記第１のシンタックス要素をコード化するための前記手段が、前記第１のシンタックス要素の第１のインスタンスをコード化するための手段を備え、前記装置が、第２のピクチャについての前記第１のシンタックス要素の第２のインスタンスをコード化するための手段を更に備え、前記第１のシンタックス要素の前記第２のインスタンスについての第２の値が、前記第２のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されないことを示す、［２０］に記載の装置。
［２６］  前記第２のピクチャの前記スライスを単独でコード化するための手段
を更に備える［２５］に記載の装置。
［２７］  前記第１のシンタックス要素をコード化するための前記手段が、前記第１のシンタックス要素を符号化するための手段を備え、前記第１のシンタックス要素を符号化するための前記手段が、前記第１の値を有する前記第１のシンタックス要素を生成するための手段を備える、［２０］に記載の装置。
［２８］  前記第１のシンタックス要素をコード化するための前記手段が、前記第１のシンタックス要素を復号するための手段を備え、前記第１のシンタックス要素を復号するための前記手段が、前記第１の値を決定するために、前記第１のシンタックス要素を解析するための手段を備える、［２０］に記載の装置。
［２９］  命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、実行されたとき、１つ以上のプロセッサに、第１のピクチャの第１のシンタックス要素の第１のインスタンスをコード化させ、前記第１のシンタックス要素の第１の値が、前記第１のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されることを示し、前記第１のシンタックス要素がピクチャパラメータセット（ＰＰＳ）の一部であり、複数のスライスにわたってピクチャ内予測が許可されることを示す前記第１のシンタックス要素に応答して、複数のスライスにわたってピクチャ内予測が許可されることを示す第２のシンタックス要素をコード化させ、前記第２のシンタックス要素がスライスヘッダの一部であり、前記スライスヘッダにおける前記第２のシンタックス要素の存在が、前記第１のシンタックス要素の前記第１の値に依存し、前記第１のピクチャについて、第２のスライスの第２のコード化単位の情報に基づいて第１のスライスの第１のコード化単位をコード化させ、第２のピクチャについての前記第１のシンタックス要素の第２のインスタンスをコード化させ、前記第１のシンタックス要素の前記第２のインスタンスについての第２の値が、前記第２のピクチャの複数のスライスについて、複数のスライスにわたってピクチャ内予測が許可されないことを示す、コンピュータ可読記憶媒体。
【図１】
0005882487.tif 000009
【図２Ａ】
0005882487.tif 000010
【図２Ｂ】
0005882487.tif 000011
【図３】
0005882487.tif 000012
【図４】
0005882487.tif 000013
【図５】
0005882487.tif 000014
【図６】
0005882487.tif 000015
【図７】
0005882487.tif 000016
【図８】
0005882487.tif 000017