(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号するための方法であって、
前記ビデオデータの現在ピクチャのスライスを受信することと、
イントラブロックコピー（ＩＢＣ）モードが前記スライスに有効であると決定するために、ＩＢＣシンタックス要素を解析することと、
ビデオデータの前記スライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信することと、
前記参照ピクチャリスト内の参照ピクチャの前記数が１に等しい値であること、および、前記ＩＢＣモードが前記スライスに有効であるという前記決定、に応答して、参照ピクチャリスト修正情報を受信することなく、前記参照ピクチャリスト内の第１の項目として、前記スライスを備える前記現在ピクチャを追加することによって、前記ビデオデータの前記スライス用の前記参照ピクチャリストを構築することと、
を備える、方法。
【請求項２】
シーケンスパラメータセット（ＳＰＳ）内で前記ＩＢＣシンタックス要素を受信することをさらに備える、請求項１に記載の方法。
【請求項３】
復号することは、
前記ビデオデータの前記現在ピクチャの第２のスライスを受信することと、
イントラブロックコピー（ＩＢＣ）モードが前記第２のスライスに有効であると決定するために、ＩＢＣシンタックス要素を解析することと、
前記スライスがＩスライスであると決定するために、前記第２のスライスに関連付けられたスライスタイプシンタックス要素を解析することと、
前記第２のスライスをＩスライスとして復号することと、ここにおいて、前記第２のスライスをＩスライスとして復号することが、少なくとも１つのイントラ予測コーディングモードを使用して、前記第２のスライスのすべてのブロックを復号することを備える、
をさらに備える、請求項１に記載の方法。
【請求項４】
前記第２のスライスをＩスライスとして復号することが、イントラ予測のみを使用して前記スライスのブロックを復号することを備える、請求項３に記載の方法。
【請求項５】
前記ＩＢＣシンタックス要素がｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素を備え、前記ＩＢＣモードが前記スライスに有効であると決定するために前記ＩＢＣシンタックス要素を解析することが、前記ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素の値が１に等しいと決定することを備える、請求項１または３に記載の方法。
【請求項６】
前記スライスタイプシンタックス要素がｓｌｉｃｅ＿ｔｙｐｅシンタックス要素を備え、前記スライスがＩスライスであると決定するために前記スライスに関連付けられた前記スライスタイプシンタックス要素を解析することが、前記ｓｌｉｃｅ＿ｔｙｐｅシンタックス要素の値が２に等しいと決定することを備える、請求項３に記載の方法。
【請求項７】
ビデオデータを復号するための装置であって、
前記ビデオデータの現在ピクチャのスライスを受信するための手段と、
イントラブロックコピー（ＩＢＣ）モードが前記スライスに有効であると決定するために、ＩＢＣシンタックス要素を解析するための手段と、
前記ビデオデータの前記スライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信するための手段と、
前記参照ピクチャリスト内の参照ピクチャの前記数が１に等しい値であること、および、前記ＩＢＣモードが前記スライスに有効であるという前記決定、に応答して、参照ピクチャリスト修正情報を受信することなく、前記ビデオデータの前記スライス用の前記参照ピクチャリスト内の第１の項目として、前記スライスを備える前記現在ピクチャを追加することによって、前記参照ピクチャリストを構築するための手段と、
を備える、装置。
【請求項８】
前記ＩＢＣシンタックス要素がｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素を備え、前記ＩＢＣモードが前記スライスに有効であると決定するために前記ＩＢＣシンタックス要素を解析するための前記手段が、前記ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素の値が１に等しいと決定するための手段を備える、請求項７に記載の装置。
【請求項９】
前記ビデオデータの前記現在ピクチャの第２のスライスを受信するための手段と、
イントラブロックコピー（ＩＢＣ）モードが前記第２のスライスに有効であると決定するために、ＩＢＣシンタックス要素を解析するための手段と、
前記スライスがＩスライスであると決定するために、前記第２のスライスに関連付けられたスライスタイプシンタックス要素を解析するための手段と、
前記第２のスライスをＩスライスとして復号するための手段と、ここにおいて、前記第２のスライスをＩスライスとして復号するための手段が、少なくとも１つのイントラ予測コーディングモードを使用して、前記第２のスライスのすべてのブロックを復号するための手段を備える、
をさらに備える、請求項８に記載の装置。
【請求項１０】
前記スライスタイプシンタックス要素がｓｌｉｃｅ＿ｔｙｐｅシンタックス要素を備え、前記スライスがＩスライスであると決定するために前記スライスに関連付けられた前記スライスタイプシンタックス要素を解析するための前記手段が、前記ｓｌｉｃｅ＿ｔｙｐｅシンタックス要素の値が２に等しいと決定するための手段を備える、請求項９に記載の装置。
【請求項１１】
１つまたは複数のプロセッサによって実行されると、請求項１〜６のうちの何れか一項の方法を実行することを前記１つまたは複数のプロセッサに行わせる命令を記憶するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、２０１５年５月２９日に出願された米国仮特許出願第６２／１６８，３９６号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込むことができる。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）、ＩＴＵ−Ｔ  Ｈ．２６５、高効率ビデオコーディング（ＨＥＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。これらのビデオデバイスは、そのようなビデオ圧縮技法を実装することにより、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶することができる。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間（イントラピクチャ）予測および／または時間（インターピクチャ）予測を実施する。ブロックベースのビデオコーディングでは、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）が、ツリーブロック、コーディングユニット（ＣＵ）、および／またはコーディングノードと呼ばれる場合もあるビデオブロックに区分化される場合がある。ピクチャのイントラコード化（Ｉ）スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間予測、または他の参照ピクチャの中の参照サンプルに対する時間予測を使用する場合がある。ピクチャはフレームと呼ばれる場合があり、参照ピクチャは参照フレームと呼ばれる場合がある。
【０００５】
[0005]空間予測または時間予測は、コーディングされるべきブロックのための予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらす場合があり、次いで、その残差変換係数は量子化される場合がある。最初に２次元アレイで構成された量子化変換係数は、変換係数の１次元ベクトルを生成するために走査される場合があり、なお一層の圧縮を達成するためにエントロピーコーディングが適用される場合がある。
【発明の概要】
【０００６】
[0006]本開示は、既存の（existing）ビデオコーディング技法（techniques）を改善することができ、より具体的には、既存のイントラブロックコピー（ＩＢＣ）関連のビデオコーディング技法を改善することができる技法を記載する。本開示の技法は、いくつかのコーディングシナリオでは、たとえば、スライスレベルでＩＢＣを有効にすることにより、ＩＢＣの使用のより精細な制御を可能にすることができる。
【０００７】
[0007]一例では、ビデオデータを復号するための方法は、ビデオデータのスライスを受信することと、イントラブロックコピー（ＩＢＣ）モードがスライスに（for）有効であると決定するために、ＩＢＣシンタックス要素を解析すること（parsing）と、スライスがＩスライスであると決定するために、スライスに関連付けられたスライスタイプシンタックス要素を解析することと、スライスをＩスライスとして復号することとを含み、スライスをＩスライスとして復号することは、少なくとも１つのイントラ予測コーディングモードを使用してスライスのすべてのブロックを復号することを備える。
【０００８】
[0008]別の例では、ビデオデータを復号するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータのスライスを受信することと、イントラブロックコピー（ＩＢＣ）モードがスライスに有効であると決定するために、ＩＢＣシンタックス要素を解析することと、スライスがＩスライスであると決定するために、スライスに関連付けられたスライスタイプシンタックス要素を解析することと、スライスをＩスライスとして復号することとを行うように構成された１つまたは複数のプロセッサとを含み、スライスをＩスライスとして復号するために、１つまたは複数のプロセッサは、少なくとも１つのイントラ予測コーディングモードを使用してスライスのすべてのブロックを復号するように構成される。
【０００９】
[0009]別の例では、ビデオデータを復号するための装置、装置は、ビデオデータのスライスを受信するための手段と、イントラブロックコピー（ＩＢＣ）モードがスライスに有効であると決定するために、ＩＢＣシンタックス要素を解析するための手段と、スライスがＩスライスであると決定するために、スライスに関連付けられたスライスタイプシンタックス要素を解析するための手段と、スライスをＩスライスとして復号するための手段とを備え、スライスをＩスライスとして復号するための手段は、少なくとも１つのイントラ予測コーディングモードを使用してスライスのすべてのブロックを復号するための手段を備える。
【００１０】
[0010]別の例では、コンピュータ可読記憶媒体は、１つまたは複数のプロセッサによって実行されると、ビデオデータのスライスを受信することと、イントラブロックコピー（ＩＢＣ）モードがスライスに有効であると決定するために、ＩＢＣシンタックス要素を解析することと、スライスがＩスライスであると決定するために、スライスに関連付けられたスライスタイプシンタックス要素を解析することと、スライスをＩスライスとして復号することとを１つまたは複数のプロセッサに行わせる命令を記憶し、スライスをＩスライスとして復号するために、１つまたは複数のプロセッサは、少なくとも１つのイントラ予測コーディングモードを使用してスライスのすべてのブロックを復号する。
【００１１】
[0011]本開示の１つまたは複数の例の詳細は、添付の図面および下記の説明に記載されている。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】[0012]本開示に記載される技法を利用することができる、例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0013]本開示の技法による、現在ピクチャ内のビデオデータの現在ブロックを予測するための、現在ピクチャ内のビデオデータの例示的な予測ブロックを示す概念図。
【図３】[0014]本開示に記載される技法を実装することができる、例示的なビデオエンコーダを示すブロック図。
【図４】[0015]本開示に記載される技法を実装することができる、例示的なビデオデコーダを示すブロック図。
【図５】[0016]本開示の技法による、ビデオデータを符号化する方法を示すフローチャート。
【図６】[0017]本開示の技法による、ビデオデータを復号する方法を示すフローチャート。
【図７】[0018]本開示の技法による、ビデオデータを復号する方法を示すフローチャート。
【発明を実施するための形態】
【００１３】
[0019]ビデオシーケンスは、一般に、ピクチャのシーケンスとして表される。通常、ブロックベースのコーディング技法は、個々のピクチャの各々をコーディングするために使用される。すなわち、各ピクチャはブロックに分割され、ブロックの各々は個別にコーディングされる。ビデオデータのブロックをコーディングすることは、概して、ブロック用の（for）予測値を形成することと、元のブロックと予測値との間の差分を表す残差値をコーディングすることとを伴う。具体的には、ビデオデータの元のブロックはピクセル値の行列を含み、予測値は予測ピクセル値の行列を含む。残差値は、元のブロックのピクセル値と予測ピクセル値との間のピクセルごとの差分に対応し、その結果（such that）、予測値に残差値を加算することが、元の値を近似する。
【００１４】
[0020]ビデオデータのブロックのための予測技法は、一般に、イントラ予測またはインター予測として分類される。イントラ予測、すなわち空間予測は、概して、予測されているブロックと同じピクチャ内の前にコーディングされたブロックの一部である隣接ピクセル値からブロックを予測することを伴う。インター予測、すなわち時間予測は、概して、前にコーディングされたピクチャ（たとえば、フレームまたはスライス）のピクセル値からブロックを予測することを伴う。
【００１５】
[0021]リモートデスクトップ、リモートゲーミング、ワイヤレスディスプレイ、自動車のインフォテインメント、クラウドコンピューティングなどの多くのアプリケーションが、日常生活におけるルーチンになっている。これらのアプリケーションにおけるビデオコンテンツは、通常、自然のコンテンツ、テキスト、人工グラフィックス、および他のコンテンツの組合せである。テキスト領域および人工グラフィックス領域では、（文字、アイコン、シンボルなどの）反復パターンがしばしば存在する。
【００１６】
[0022]（イントラＢＣまたはＩＢＣと短縮される）イントラブロックコピーと呼ばれる場合があり、時々イントラ動き補償（イントラＭＣまたはＩＭＣ）とも呼ばれる、同じピクチャ内のビデオデータの予測ブロックからのビデオデータのブロックのイントラ予測は、ビデオコーダが冗長性を除去し、イントラフレームコーディング効率を向上させることを可能にすることができる技法である。通常のイントラ予測コーディングでは、ビデオコーダ（たとえば、ビデオエンコーダおよびビデオデコーダ）は、現在ビデオブロックの予測のために、同じピクチャ内のビデオデータの現在ブロックの真上もしくは真下（directly above or below）、または現在ブロックに対して水平方向に一直線上にある、前に復元された（reconstructed）ビデオデータのブロックを使用する。言い換えれば、ビデオデータのピクチャまたはフレームが２−Ｄグリッドに組み付けられた（is imposed）場合、ビデオデータの各ブロックは、ｘ値およびｙ値の一意の（unique）範囲を占有する。したがって、いくつかのビデオコーダは、ｘ値が同じである（すなわち、現在ビデオブロックに対して垂直方向に一直線上にある）セット、またはｙ値が同じである（すなわち、現在ビデオブロックに対して水平方向に一直線上にある）セットのみを共有する、同じピクチャ内の前にコーディングされたビデオデータのブロックに基づいて、ビデオデータの現在ブロックを予測することができる。
【００１７】
[0023]同じフレームまたは同じピクチャ内にあるが、ビデオデータの現在ブロックの真上もしくはすぐ左（directly above or to the left）（またはすぐ右もしくは真下）とは限らないビデオデータの前に復元されたブロックから現在ビデオブロックを予測することは、ビデオコーダにとって有利な場合がある。予測セット内により多くのビデオブロックを含めることにより、ビデオコーダは、現在ビデオブロックのより正確な予測を実現することができ、それにより、コーディング効率が向上する。
【００１８】
[0024]概して、本開示は、ＩＢＣモードと呼ばれる場合がある、同じピクチャ内のビデオデータの予測ブロックからビデオデータのブロックをイントラ予測するためのモードを含む、ビデオデータをコーディングするための技法を記載する。本開示のＩＢＣ技法は、ビデオデータの現在ブロックのためのビデオデータの予測ブロックを識別することを含む場合がある（may）。ビデオデータの予測ブロックは、たとえば、ビデオデータの現在ブロックと同じピクチャ内のビデオデータの復元ブロックに対応する場合がある。ビデオデータの予測ブロックは、ピクチャ内にある対象領域（intended region）内からの場合がある。対象領域は、ＩＢＣ予測領域と呼ばれる場合もある。対象領域は、たとえば、ビデオデータの現在ブロックの上、右上、左上、および／または左の領域に対応する場合がある。ビデオデータの予測ブロックは、現在ビデオブロックのすぐ上またはすぐ左のいずれかであると限定されるものではなく、その結果、現在ブロックに対して予測ブロックを識別するために使用されるベクトルは、必ずしも１次元ベクトルとは限らない。代わりに、ビデオデータの予測ブロックを識別または決定するために、ビデオコーダは、ビデオデータの現在ブロックに対する水平変位成分および垂直変位成分を含む２次元ベクトルを定義する１つまたは複数のシンタックス要素をコーディングすることができる。２次元ベクトルは、ブロックベクトル、オフセットベクトル、または動きベクトルと呼ばれる場合があり、たとえば、現在ベクトルの左上隅に対する（relative to）予測ブロックを識別するために使用される場合がある。
【００１９】
[0025]本開示は、既存のビデオコーディング技法を改善することができ、より具体的には、既存のＩＢＣ関連ビデオコーディング技法を改善することができる技法を記載する。本開示の技法は、いくつかのコーディングシナリオでは、たとえば、スライスレベルでＩＢＣを有効にすることにより、ＩＢＣの使用のより精細な制御を可能にすることができる。提案された技法は、任意のビット深度、クロマサンプリングフォーマットなどとともに使用される場合がある。
【００２０】
[0026]本明細書で使用する「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指す場合がある。したがって、別段に明記されていない限り、コーディングに関して記載される技法は、ビデオエンコーダまたはビデオデコーダのいずれかによって実施される場合があることが想定されるべきである。本出願のいくつかの部分では、ビデオ復号またはビデオデコーダに関して、ある特定の（certain）技法が記載される場合がある。しかしながら、そのような技法はビデオ符号化に適用可能ではなく、ビデオエンコーダによって実施されない場合があると想定されるべきではない。そのような技法は、たとえば、ビデオデータをどのように符号化するべきかを決定することの一部として実施される場合があるか、またはビデオエンコーダにおけるビデオ復号ループの一部として実施される場合がある。
【００２１】
[0027]本開示で使用されるように、現在ブロックという用語は、すでにコーディングされているか、またはさらに（yet）コーディングされるべきブロックとは反対に、現在コーディングされているブロックを指す。同様に、現在コーディングユニット、予測ユニット、または変換ユニットは、現在コーディングされている、変換ユニット、予測ユニット、またはコーディングユニットを指す。
【００２２】
[0028]図１は、本開示に記載される技法を利用することができる、例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されたように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォン、いわゆる「スマート」パッドなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備える場合がある。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信に対応する場合がある。
【００２３】
[0029]宛先デバイス１４は、リンク１６を介して、復号されるべき符号化ビデオデータを受信することができる。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備える場合がある。一例では、リンク１６は、ソースデバイス１２がリアルタイムで符号化ビデオデータを宛先デバイス１４に直接送信することを可能にする通信媒体を備える場合がある。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信される場合がある。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路などの、任意のワイヤレスまたは有線の通信媒体を備える場合がある。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどのパケットベースネットワークの一部を形成する場合がある。通信媒体には、ルータ、スイッチ、基地局、または、ソースデバイス１２から宛先デバイス１４への通信を容易にするために有用であり得る任意の他の機器が含まれる場合がある。
【００２４】
[0030]代替として、符号化データは、出力インターフェース２２からストレージデバイス２６に出力される場合がある。同様に、符号化データは、入力インターフェースによってストレージデバイス２６からアクセスされる場合がある。ストレージデバイス２６には、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、様々な分散された、またはローカルにアクセスされるデータ記憶媒体のいずれかが含まれる場合がある。さらなる一例では、ストレージデバイス２６は、ソースデバイス１２によって生成された符号化ビデオを保持することができるファイルサーバまたは別の中間ストレージデバイスに対応する場合がある。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイス２６から記憶されたビデオデータにアクセすることができる。ファイルサーバは、符号化ビデオデータを記憶すること、および宛先デバイス１４にその符号化ビデオデータを送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、（たとえば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブが含まれる。宛先デバイス１４は、インターネット接続を含む任意の標準的なデータ接続を介して、符号化ビデオデータにアクセスすることができる。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスすることに適した、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含む場合がある。記憶デバイス２６からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００２５】
[0031]本開示の技法は、必ずしもワイヤレスの用途または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途などの様々なマルチメディア用途のいずれかをサポートするビデオコーディングに適用される場合がある。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話などの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成される場合がある。
【００２６】
[0032]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含む場合がある。ソースデバイス１２では、ビデオソース１８は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前キャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、および／もしくは、ソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含む場合がある。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き携帯電話またはビデオ付き携帯電話を形成する場合がある。しかしながら、本開示に記載される技法は、概して、ビデオコーディングに適用可能な場合があり、ワイヤレスおよび／または有線の用途に適用される場合がある。
【００２７】
[0033]キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化される場合がある。符号化ビデオデータは、ソースデバイス１２の出力インターフェース２２を介して、宛先デバイス１４に直接送信される場合がある。符号化ビデオデータは、同じく（または代替として）、復号および／または再生のために宛先デバイス１４または他のデバイスが後でアクセスするために、ストレージデバイス２６に記憶される場合がある。
【００２８】
[0034]宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含む場合がある。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信されるか、またはストレージデバイス２６上で提供される符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０などのビデオデコーダが使用するための、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含む場合がある。そのようなシンタックス要素は、通信媒体上で送信される符号化ビデオデータとともに含められるか、記憶媒体上に記憶されるか、またはファイルサーバに記憶される場合がある。
【００２９】
[0035]ディスプレイデバイス３２は、宛先デバイス１４と統合されるか、または宛先デバイス１４の外部にある場合がある。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含む場合があり、外部ディスプレイデバイスとインターフェースするように構成される場合もある。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。一般に、ディスプレイデバイス３２は、復号ビデオデータをユーザに表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備える場合がある。
【００３０】
[0036]ビデオエンコーダ２０およびビデオデコーダ３０は、最近確定された（recently finalized）高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作することができる。代替として、ビデオエンコーダ２０およびビデオデコーダ３０は、ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）と代替的に呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格などの他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作することができる。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例には、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３が含まれる。
【００３１】
[0037]３Ｄ、マルチビュー、スケーラブル、およびスクリーンのコンテンツ用の拡張などの、ＨＥＶＣに対する様々な拡張は、現在開発中である。加えて、ＨＥＶＣに対する範囲拡張、すなわち、ＨＥＶＣ−ＲＥｘｔも、ＪＣＴ−ＶＣによって開発されている。これ以降ＲＥｘｔ  ＷＤ７と呼ばれる、範囲拡張の最近のワーキングドラフト（ＷＤ）は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１７＿Ｖａｌｅｎｃｉａ／ｗｇ１１／ＪＣＴＶＣ−Ｑ１００５−ｖ４．ｚｉｐから入手可能である。
【００３２】
[0038]本開示では、ＪＣＴＶＣ−Ｑ１００３に記載のＨＥＶＣ仕様テキストは、しばしば、ＨＥＶＣバージョン１と呼ばれる。本開示の技法は、説明を簡単にするために、ＨＥＶＣ用語を利用する場合がある。しかしながら、本開示の技法はＨＥＶＣに限定されると想定されるべきではなく、実際には、本開示の技法は、ＨＥＶＣの拡張を含むＨＥＶＣの後継規格（successor standards）、ならびに次世代の規格に実装される場合があることが明確に考えられる。
【００３３】
[0039]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、各々、オーディオエンコーダおよびデコーダと統合される場合があり、共通のデータストリームまたは個別のデータストリーム内のオーディオとビデオの両方の符号化を扱うために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含む場合がある。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠する場合がある。
【００３４】
[0040]ビデオエンコーダ２０およびビデオデコーダ３０は、各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、個別論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装される場合がある。本技法がソフトウェアに部分的に実装されるとき、デバイスは、本開示の技法を実施するために、適切な非一時的コンピュータ可読媒体にソフトウェア用の命令を記憶し、１つまたは複数のプロセッサを使用してハードウェア内で命令を実行することができる。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれる場合があり、それらのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合される場合がある。
【００３５】
[0041]上記で紹介されたように、ＪＣＴ−ＶＣは、ＨＥＶＣ規格、ＩＴＵ−Ｔ  Ｈ．２６５の開発を最近確定した。ＨＥＶＣは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対して、ビデオコーディングデバイスのいくつかの追加機能を可能にする。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＥＶＣは３５個ものイントラ予測符号化モードをサポートする。
【００３６】
[0042]ＨＥＶＣおよび他のビデオコーディング仕様では、ビデオシーケンスは、通常、一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれる場合もある。ピクチャは、ＳL、ＳCb、およびＳCrと表記される３つのサンプルアレイを含む場合がある。ＳLは、ルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれる場合もある。他の事例では、ピクチャは、モノクロームの場合があり、ルーマサンプルのアレイのみを含む場合がある。
【００３７】
[0043]ピクチャの符号化表現を生成するために、ビデオエンコーダ２０は、コーディングツリーユニット（ＣＴＵ）のセットを生成することができる。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。コーディングツリーブロックは、サンプルのＮ×Ｎブロックであり得る。ＣＴＵは、「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ）と呼ばれる場合もある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなどの他の規格のマクロブロックに大まかに類似する場合がある。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ）を含む場合がある。スライスは、ラスタ走査順序で連続的に順序付けられた整数個のＣＴＵを含む場合がある。
【００３８】
[0044]コード化ＣＴＵを生成するために、ビデオエンコーダ２０は、ＣＴＵのコーディングツリーブロックに対して４分木区分化を再帰的に実施して、コーディングツリーブロックをコーディングブロックに分割することができ、したがって「コーディングツリーユニット」と呼ばれる。コーディングブロックは、サンプルのＮ×Ｎブロックであり得る。ＣＵは、ルーマサンプルアレイと、Ｃｂサンプルアレイと、Ｃｒサンプルアレイとを有するピクチャの、ルーマサンプルのコーディングブロックと、クロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。
【００３９】
[0045]ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分化することができる。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックである。ＣＵの予測ユニット（ＰＵ）は、ルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、それらの予測ブロックを予測するために使用されるシンタックス構造とを備える場合がある。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備える場合がある。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロックのための予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックを生成することができる。
【００４０】
[0046]ビデオエンコーダ２０は、イントラ予測またはインター予測を使用して、ＰＵのための予測ブロックを生成することができる。ビデオエンコーダ２０がイントラ予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号サンプルに基づいて、ＰＵの予測ブロックを生成することができる。ビデオエンコーダ２０がインター予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ブロックを生成することができる。
【００４１】
[0047]ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成した後、ビデオエンコーダ２０は、ＣＵのためのルーマ残差ブロックを生成することができる。ＣＵのルーマ残差ブロックの中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つの中のルーマサンプルと、ＣＵの元のルーマコーディングブロックの中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ２０は、ＣＵのためのＣｂ残差ブロックを生成することができる。ＣＵのＣｂ残差ブロックの中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つの中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロックの中の対応するサンプルとの間の差分を示すことができる。ビデオエンコーダ２０は、ＣＵのためのＣｒ残差ブロックを生成することもできる。ＣＵのＣｒ残差ブロックの中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つの中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロックの中の対応するサンプルとの間の差分を示すことができる。
【００４２】
[0048]さらに、ビデオエンコーダ２０は、４分木区分化を使用して、ＣＵのルーマ残差ブロック、Ｃｂ残差ブロック、およびＣｒ残差ブロックを、１つまたは複数のルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに分解することができる。変換ブロックは、同じ変換が適用されるサンプルの矩形（たとえば、正方形または非正方形）ブロックである。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備える場合がある。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに関連付けられる場合がある。ＴＵに関連付けられたルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであり得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備える場合がある。
【００４３】
[0049]ビデオエンコーダ２０は、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用して、ＴＵのためのルーマ係数ブロックを生成することができる。係数ブロックは、変換係数の２次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ２０は、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用して、ＴＵのためのＣｂ係数ブロックを生成することができる。ビデオエンコーダ２０は、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用して、ＴＵのためのＣｒ係数ブロックを生成することができる。
【００４４】
[0050]係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロック、またはＣｒ係数ブロック）を生成した後、ビデオエンコーダ２０は、係数ブロックを量子化することができる。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。ビデオエンコーダ２０が係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）を実施することができる。
【００４５】
[0051]ビデオエンコーダ２０は、コード化ピクチャおよび関連データの表現を形成するビットのシーケンスを含むビットストリームを出力することができる。ビットストリームは、ＮＡＬユニットのシーケンスを備える場合がある。ＮＡＬユニットは、ＮＡＬユニット内のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが点在したＲＢＳＰの形態でそのデータを含んでいるバイトとを含んでいる、シンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ＲＢＳＰをカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを指示するシンタックス要素を含む場合がある。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。場合によっては、ＲＢＳＰはゼロビットを含む。
【００４６】
[0052]様々なタイプのＮＡＬユニットは、様々なタイプのＲＢＳＰをカプセル化することができる。たとえば、第１のタイプのＮＡＬユニットはＰＰＳ用のＲＢＳＰをカプセル化することができ、第２のタイプのＮＡＬユニットはコード化スライス用のＲＢＳＰをカプセル化することができ、第３のタイプのＮＡＬユニットはＳＥＩメッセージ用のＲＢＳＰをカプセル化することができ、以下同様である。（パラメータセットおよびＳＥＩメッセージ用のＲＢＳＰとは対照的に）ビデオコーディングデータ用のＲＢＳＰをカプセル化するＮＡＬユニットは、ＶＣＬ  ＮＡＬユニットと呼ばれる場合がある。
【００４７】
[0053]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信することができる。加えて、ビデオデコーダ３０は、ビットストリームを解析して、ビットストリームからシンタックス要素を取得することができる。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを復元することができる。ビデオデータを復元するプロセスは、概して、ビデオエンコーダ２０によって実施されたプロセスの逆であり得る。加えて、ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた係数ブロックを逆量子化することができる。ビデオデコーダ３０は、係数ブロックに対して逆変換を実施して、現在ＣＵのＴＵに関連付けられた変換ブロックを復元することができる。ビデオデコーダ３０は、現在ＣＵのＰＵのための予測ブロックのサンプルを現在ＣＵのＴＵの変換ブロックの対応するサンプルに加算することにより、現在ＣＵのコーディングブロックを復元することができる。ピクチャのＣＵごとにコーディングブロックを復元することにより、ビデオデコーダ３０はピクチャを復元することができる。
【００４８】
[0054]最近、動きを伴うテキストおよびグラフィックスなどのスクリーンコンテンツ材料のための新しいコーディングツールの調査が必要とされ、スクリーンコンテンツのためのコーディング効率を改善する技術が提案されている。いくつかのコーディングシナリオでは、新規の専用コーディングツールを用いてスクリーンコンテンツの特性を活用することにより、コーディング効率における改善が取得される場合があるという証拠があるので、スクリーンコンテンツコーディング（ＳＣＣ）のための固有のツールを含む、高効率ビデオコーディング（ＨＥＶＣ）規格の場合によっては開発中の将来の拡張を目標として、提案の募集（ＣｆＰ）が発行されている。このＣｆＰの使用事例および要件は、ＭＰＥＧ文書Ｎ１４１７４に記載されている。第１７回ＪＣＴ−ＶＣ会合中に、ＳＣＣ試験モデル（ＳＣＭ）が確立された。ＳＣＣの最近のワーキングドラフト（ＷＤ）は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／２０＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｔ１００５−ｖ２．ｚｉｐから入手可能である。
【００４９】
[0055]現在のＳＣＣでは、現在ピクチャを参照ピクチャリストに追加することにより、ＩＢＣシグナリングはインター予測シグナリングと統合される（unified）。現在スライスを復号する前に、ビデオデコーダ３０は、現在ピクチャを長期参照ピクチャとしてマークする。次いで、現在ピクチャの復号が完了した後、現在ピクチャは短期参照ピクチャに変換して戻される（is converted back）。マージ／ＡＭＶＰシグナリング、ＡＭＶＰ導出、およびＭＶＤコーディングを含むシグナリングおよびコーディング方法は、ＩＢＣモードの場合の（for）動きベクトルが整数動きベクトルであることが必要とされることが異なるが、インターケースにおけるのと同じである。ＩＢＣブロックは、対応する参照ピクチャを確認することにより、従来のインターブロックから差別化することができる。現在ピクチャのみが参照ピクチャとして使用される場合、現在ブロックはＩＢＣブロックである。そうでない場合、現在ブロックはインターブロックである。ＳＰＳレベルシンタックス要素ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、現在ピクチャのすでにコーディングされた部分が現在ピクチャのコーディングブロック用の参照ピクチャとして使用できるかどうかを示すために使用される場合がある。言い換えれば、ビデオデコーダ３０は、シンタックス要素ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇを受信し、シンタックス要素ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいことに応答して、ビデオデコーダ３０は、ＩＢＣを使用してＳＰＳに関連付けられたスライスのいくつかのブロックを復号することができる（may）。
【００５０】
[0056]図２は、本開示による同じピクチャ内のビデオデータの予測ブロックからビデオデータのブロックをイントラ予測するためのモードに従って、たとえば、本開示の技法によるＩＢＣモードに従って、現在ピクチャ１０３内のビデオデータ１０２の現在ブロックを予測するための例示的な技法を示す概念図である。図２は、現在ピクチャ１０３内の予測ブロックビデオブロック１０４を示す。ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、予測ビデオブロック１０４を使用して、本開示の技法によるＩＢＣモードに従って現在ビデオブロック１０２を予測することができる。
【００５１】
[0057]ビデオエンコーダ２０は、ビデオデータの前に復元されたブロックのセットから、現在ビデオブロック１０２を予測するための予測ビデオブロック１０４を選択する。ビデオエンコーダ２０は、符号化ビデオビットストリームにも含まれるビデオデータを逆量子化および逆変換し、得られた残差ブロックをビデオデータの復元ブロックを予測するために使用される予測ブロックと加算することにより、ビデオデータのブロックを復元する。図２の例では、「対象エリア」または「ラスタエリア」と呼ばれる場合もある、ピクチャ１０３内の対象領域１０８は、前に復元されたビデオブロックのセットを含む。ビデオエンコーダ２０は、以下でより詳細に記載されるように、様々な方法で、ピクチャ１０３内の対象領域１０８を定義することができる。ビデオエンコーダ２０は、対象領域１０８内の様々なビデオブロックに基づいて現在ビデオブロック１０２を予測およびコーディングする相対的な効率および確度の分析に基づいて、対象領域１０８内のビデオブロックの中から予測ビデオブロック１０４を選択して、現在ビデオブロック１０２を予測することができる。
【００５２】
[0058]ビデオエンコーダ２０は、現在ビデオブロック１０２に対する予測ビデオブロック１０４の位置または変位を表す２次元ベクトル１０６を決定する。２次元ブロックベクトル１０６は、それぞれ、現在ビデオブロック１０２に対する予測ビデオブロック１０４の水平変位および垂直変位を表す、水平変位成分１１２および垂直変位成分１１０を含む。ビデオエンコーダ２０は、２次元ブロックベクトル１０６を識別または画定する、たとえば、水平変位成分１１２および垂直変位成分１１０を画定する１つまたは複数のシンタックス要素を、符号化ビデオビットストリームに含めることができる。ビデオデコーダ３０は、１つまたは複数のシンタックス要素を復号して２次元ブロックベクトル１０６を決定し、決定されたベクトルを使用して現在ビデオブロック１０２用の予測ビデオブロック１０４を識別することができる。
【００５３】
[0059]いくつかの例では、２次元ブロックベクトル１０６の空間解像度は、整数ピクセル解像度であり得る、たとえば、整数ピクセル解像度を有するように制約することができる。そのような例では、水平変位成分１１２および垂直変位成分１１０の空間解像度は、整数ピクセル解像度であり得る。そのような例では、ビデオエンコーダ２０およびビデオデコーダ３０は、予測ビデオブロック１０４のピクセル値を補間して、現在ビデオブロック１０２用の予測器を決定する必要はない。
【００５４】
[0060]他の例では、水平変位成分１１２および垂直変位成分１１０の一方または両方の解像度は、サブピクセルであり得る。たとえば、成分１１０および成分１１２の一方は整数ピクセル解像度を有する場合があり、他方はサブピクセル解像度を有する。いくつかの例では、水平変位成分１１２と垂直変位成分１１０の両方の解像度はサブピクセルであり得るが、水平変位成分１１２および垂直変位成分１１０は異なる解像度を有する場合がある。
【００５５】
[0061]いくつかの例では、ビデオデコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、特定のレベル、たとえば、ブロックレベル、スライスレベル、またはピクチャレベルの適応に基づいて、水平変位成分１１２および垂直変位成分１１０の解像度を適応させる。たとえば、ビデオエンコーダ２０は、スライスレベルにおいて、たとえば、スライスヘッダ内で、水平変位成分１１２および垂直変位成分１１０の解像度が整数ピクセル解像度であるか否かを示すフラグをシグナリングすることができる。水平変位成分１１２および垂直変位成分１１０の解像度が整数ピクセル解像度ではないことをフラグが示す場合、ビデオデコーダ３０は、解像度がサブピクセル解像度であると推論することができる。いくつかの例では、必ずしもフラグであるとは限らない１つまたは複数のシンタックス要素は、水平変位成分１１２および／または垂直変位成分１１０の包括的な解像度または個別の解像度を示すために、ビデオデータのスライスまたは他のユニットごとに送信される場合がある。
【００５６】
[0062]さらに他の例では、フラグまたはシンタックス要素の代わりに、ビデオエンコーダ２０は、解像度コンテキスト情報に基づいて水平変位成分１１２および／または垂直変位成分１１０の解像度を設定することができ、ビデオデコーダ３０は、解像度コンテキスト情報から水平変位成分１１２および／または垂直変位成分１１０の解像度を推論することができる。解像度コンテキスト情報は、例として、現在ビデオブロック１０２を含むピクチャまたはピクチャのシーケンスのための色空間（たとえば、ＹＵＶ、ＲＧＢなど）、固有の色フォーマット（たとえば、４：４：４、４：２：２、４：２：０など）、フレームサイズ、フレームレート、または量子化パラメータ（ＱＰ）を含む場合がある。少なくともいくつかの例では、ビデオコーダは、前にコーディングされたフレームまたはピクチャに関する情報に基づいて、水平変位成分１１２および／または垂直変位成分１１０の解像度を決定することができる。このようにして、水平変位成分１１２の解像度および垂直変位成分１１０についての解像度は、あらかじめ定義もしくシグナリングされる場合があるか、他のサイド情報（たとえば、解像度コンテキスト情報）から推論される場合があるか、またはすでにコーディングされたフレームに基づく場合がある。
【００５７】
[0063]現在ビデオブロック１０２は、ＣＵ、またはＣＵのＰＵであり得る。いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＩＢＣに従って予測されたＣＵをいくつかのＰＵに分割することができる。そのような例では、ビデオコーダは、ＣＵのＰＵの各々について、それぞれの（たとえば、異なる）２次元ベクトル１０６を決定することができる。たとえば、ビデオコーダは、２Ｎ×２Ｎ  ＣＵを２つの２Ｎ×Ｎ  ＰＵ、２つのＮ×２Ｎ  ＰＵ、または４つのＮ×Ｎ  ＰＵに分割することができる。他の例として、ビデオコーダは、２Ｎ×２Ｎ  ＣＵを（（Ｎ／２）×Ｎ＋（３Ｎ／２）×Ｎ）ＰＵ、（（３Ｎ／２）×Ｎ＋（Ｎ／２）×Ｎ）ＰＵ、（Ｎ×（Ｎ／２）＋Ｎ×（３Ｎ／２））ＰＵ、（Ｎ×（３Ｎ／２）＋Ｎ×（Ｎ／２））ＰＵ、４つの（Ｎ／２）×２Ｎ  ＰＵ、または４つの２Ｎ×（Ｎ／２）ＰＵに分割することができる。いくつかの例では、ビデオコーダは、２Ｎ×２Ｎ  ＰＵを使用して２Ｎ×２Ｎ  ＣＵを予測することができる。
【００５８】
[0064]現在ビデオブロック１０２は、ルーマビデオブロック、またはルーマビデオブロックに対応するクロマビデオブロックであり得る。いくつかの例では、ビデオエンコーダ２０は、ルーマビデオブロック用の２次元ベクトル１０６を定義する１つまたは複数のシンタックス要素を、符号化ビデオビットストリーム内に符号化することのみできる。そのような例では、ビデオデコーダ３０は、ルーマブロック用にシグナリングされた２次元ベクトルに基づいて、ルーマブロックに対応する１つまたは複数のクロマブロックの各々について２次元ベクトル１０６を導出することができる。
【００５９】
[0065]色フォーマット、たとえば、色サンプリングフォーマットまたはクロマサンプリングフォーマットに応じて、ビデオコーダは、ルーマビデオブロックに対して対応するクロマビデオブロックをダウンサンプリングすることができる。色フォーマット４：４：４はダウンサンプリングを含まず、クロマブロックが水平方向および垂直方向にルーマブロックと同じ数のサンプルを含むことを意味する。色フォーマット４：２：２は、水平方向にダウンサンプリングされ、その結果、ルーマブロックに対してクロマブロック内で水平方向に半分の数のサンプルがあることを意味する。色フォーマット４：２：０は、水平方向および垂直方向にダウンサンプリングされ、その結果、ルーマブロックに対してクロマブロック内で水平方向および垂直方向に半分の数のサンプルがあることを意味する。
【００６０】
[0066]ビデオコーダが、クロマビデオブロック用のベクトル１０６を、対応するルーマブロック用のベクトル１０６に基づいて決定する例では、ビデオコーダはルーマベクトルを修正する必要があり得る。たとえば、ルーマベクトル１０６が、水平変位成分１１２および／または垂直変位成分１１０が奇数のピクセルである整数解像度を有し、色フォーマットが４：２：２または４：２：０である場合、変換ルーマベクトルは、対応するクロマブロック内の整数ピクセル位置を指さない場合がある。そのような例では、ビデオコーダは、クロマベクトルとして使用するためにルーマベクトルをスケーリングして、対応するクロマブロックを予測することができる。いくつかの例では、ビデオエンコーダ２０は、対象領域１０８を画定するか、または変換ベクトルをスケーリングすることができ、その結果、クロマブロックを予測するために使用される変換ルーマベクトル１０６は、復元されていないか、またはループ内フィルタリングされた予測クロマブロックを指さない場合がある。本開示では、クロマブロック用のベクトルのスケーリングが明示的に述べられていない場合、そのようなスケーリングが行われないと想定されるべきではない。本開示に記載された例において明示的に記載されていない場合でも、クロマブロック用のベクトルのスケーリングは行われる場合がある（が、必ずしもあらゆるケースで行われるとは限らない場合がある）。
【００６１】
[0067]本開示は、ＩＢＣ用のＩスライスを可能にするための技法を記載する。ＨＥＶＣに対するＳＣＣ拡張の現在のドラフトテキスト仕様（current draft text specification）では、ＩＢＣが有効であるとき（たとえば、シンタックス要素ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき）、Ｉスライスを使用することができない（cannot be used）。具体的には、ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいとき、ｓｌｉｃｅ＿ｔｙｐｅシンタックス要素の値は２に等しくなることができず、０、１、および２のｓｌｉｃｅ＿ｔｙｐｅの値は、それぞれ、Ｂスライス、Ｐスライス、およびＩスライスに対応する。これにより、いくつかの潜在的な欠点がもたらされる。たとえば、（参照用に現在ピクチャを含むいかなるピクチャも使用せずにコーディングされた）従来のイントラコード化スライスは、ｓｌｉｃｅ＿ｔｙｐｅシンタックス要素を介してシグナリングすることができず（cannot be signaled）、このことは、いくつかのシナリオでは、たとえば、下記に記載されるように何らかのシグナリングオーバーヘッドを省く（save）ために有用であり得る。
【００６２】
[0068]本開示は、ＩＢＣが有効であるときでもＩスライスの使用を可能にするための技法を記載する。ＩＢＣが有効であるときにＩスライスの使用を可能にすると、いくつかの例では、（ＩＢＣが有効であることを示す）ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しいときでも、ｓｌｉｃｅ＿ｔｙｐｅシンタックス要素の値が（所与のスライスのコーディングタイプがＩスライスであることを示す）２に等しくなることが可能になる（allow）。そのような場合、Ｉスライスは、参照用に現在ピクチャを含むいかなるピクチャも使用せずにコーディングされ、すべてのコード化ブロックにノーマルイントラ予測モードを使用してコーディングされた、従来のイントラコード化スライスである。言い換えれば、従来のＩスライスのブロックはインター予測またはＩＢＣを使用してコーディングされず、従来のＩスライスに使用される唯一のコーディングモードはイントラモードである。
【００６３】
[0069]ビデオエンコーダ２０は、たとえば、ビデオデータのスライスをＩスライスとして符号化し、ＩＢＣモードがスライスに有効であることを示す値を有するＩＢＣシンタックス要素（たとえば、ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）を生成するように構成されることにより、そのような機能を実装するように構成される場合がある。ビデオエンコーダ２０は、スライスタイプシンタックス要素（たとえば、ｓｌｉｃｅ＿ｔｙｐｅ）をさらに生成し、スライスがＩスライスであることを示す値にそのシンタックス要素を設定することができる。ビデオエンコーダ２０は、たとえば、ＳＰＳにＩＢＣシンタックス要素を含め、および／またはスライスヘッダにスライスタイプシンタックス要素を含めることができる。
【００６４】
[0070]ビデオデコーダ３０は、たとえば、ビデオデータのスライスを受信し、ＩＢＣシンタックス要素（たとえば、ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）を解析して（parse）、ＩＢＣモードがスライスに有効であると決定するように（to determine）構成されることにより、そのような機能を実装するように構成される場合がある。たとえば、ビデオデコーダ３０が、ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値が１に等しいと決定した場合、ビデオデコーダ３０は、ＩＢＣモードが有効であると決定することができるが、ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しい場合、ビデオデコーダ３０は、ＩＢＣモードが無効であると決定することができる。ビデオデコーダ３０は、スライスに関連付けられたスライスタイプシンタックス要素を解析して（parse）、スライスがＩスライスであり、Ｉスライスとして復号されるべきと決定すること（to determine）ができる。スライスをＩスライスとして復号するために、ビデオデコーダ３０は、イントラ予測のみを使用して、インター予測モードを使用することも、ＩＢＣモードを使用することもなしにスライスのブロックを復号することができる。
【００６５】
[0071]代替として、本開示は別のスライスタイプを導入することを提案する。たとえば、現在ピクチャを除きいかなる他の参照ピクチャももたないＩＢＣモードの使用を示すために、ＩＢＣスライスが使用される場合がある。言い換えれば、ＩＢＣスライスの場合、ビデオコーダは、イントラモードまたはＩＢＣモードを使用するが、インターモードを使用せずに、ＩＢＣスライスのブロックをコーディングすることができる。そのような例では、シンタックス要素ｓｌｉｃｅ＿ｔｙｐｅの値は、０、１、２、または３に等しくなることができ、ＩＢＣスライスを指定する３の値が新しく可能になる。下記の表１に示されたように、他の値のセマンティクスは、変更されないままであり得る。ｓｌｉｃｅ＿ｔｙｐｅがＩＢＣスライスに設定されると、ＰスライスおよびＢスライス用のインターモードのための何らかの（some）シグナリングが回避される場合がある。たとえば、スライスがＩＢＣスライスであるとビデオデコーダ３０が決定した場合、ＣＵヘッダ内のｃｕ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素、ｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇシンタックス要素などの情報、スライスヘッダ内の参照ピクチャ管理情報、および他のそのような情報は、符号化ビデオデータのビットストリームに含まれる必要はない。
【００６６】
【表１】
0006716611.tif 000002
【００６７】
[0072]上記で紹介された技法によれば、ビデオデコーダ３０は、ビデオデータのスライスを受信し、ビデオデータのスライスに関連付けられたスライスタイプシンタックス要素を解析するように構成される場合がある。スライスがＩＢＣスライスであることを示す値（たとえば、３に等しいｓｌｉｃｅ＿ｔｙｐｅ）をスライスタイプシンタックス要素が有することに応答して、ビデオデコーダ３０は、スライスをＩＢＣスライスとして復号することができ、このことは、ＩＢＣモードを使用してスライスのいくつかのブロックを復号すること、および／またはイントラモードを使用してスライスのいくつかのブロックを復号することを含む場合がある。ビデオデコーダ３０は、Ｉスライス（たとえば、２に等しいｓｌｉｃｅ＿ｔｙｐｅ）、Ｐスライス（１に等しいｓｌｉｃｅ＿ｔｙｐｅ）、またはＢスライス（０に等しいｓｌｉｃｅ＿ｔｙｐｅ）として他のスライスを復号することができる。他のタイプのスライスを復号することは、ＩＢＣスライスとして復号されるスライスの場合受信されないいくつかの異なるシンタックス要素を受信することを伴う場合があり、同様に、ＩＢＣスライスを復号することは、他のスライスの場合受信されないいくつかの異なるシンタックス要素を受信することを伴う場合がある。
【００６８】
[0073]本開示はまた、スライスレベルＩＢＣ制御フラグのための技法を記載する。既存の技法の場合、ＩＢＣが有効であるかどうかは、単に、ＳＰＳフラグ、ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇによって制御される（すなわち、ＩＢＣの有効化は、ＳＰＳフラグ、ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇに基づいて決定される）。たとえば、スライスレベルにおいてＩＢＣのより精細な制御を可能にすることは、いくつかの潜在的な利点を有する場合がある。一例として、スライスレベルＩＢＣ制御は、現在スライス内のブロックが参照として現在ピクチャを使用することができるかどうかを指定することができる。ＩＢＣモードは、ループ内フィルタリングの前にサンプルのさらなる記憶を要求する場合がある。スライスレベルにおいてＩＢＣが無効であるとき、スマートデコーダは、これらの追加サンプルを記憶することを回避することができ、それにより、平均帯域幅および平均電力使用量が削減される。別の例として、スライスレベルＩＢＣ制御により、ＩＢＣを使用しないスライスが、時間参照ピクチャにより多くの参照インデックスを割り振らせることが可能になり、それにより、いくつかのシナリオにおいて潜在的に改善されたコーディング効率のための重み付け予測において、より多くの重みがシグナリングされることが可能になる。
【００６９】
[0074]次に、スライスレベルＩＢＣ制御を可能にするための技法がより詳細に記載される。ビデオエンコーダ２０は、ＩＢＣが有効である（たとえば、ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい）とき、スライスヘッダ内で、スライスレベルＩＢＣ制御フラグ、たとえば、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇをシグナリングすることができる。加えて、ビデオデコーダ３０は、シグナリングされない場合、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値が０に等しいと推論する（すなわち、明示的なシグナリングの受信なしに決定する）ことができる。スライスレベル制御フラグは、ＰスライスおよびＢスライスの場合のみシグナリングされ、Ｉスライスの場合０の値を有すると推論される場合がある。このスライスレベルＩＢＣフラグは、たとえば、現在ピクチャがスライスのブロックを予測するための参照ピクチャとして使用されるかどうかを示すことができる。他の実装形態では、スライスレベルＩＢＣフラグは、現在ピクチャが自己参照のために現在ピクチャ用の参照ピクチャリストに追加されるかどうかを示すことができ、その場合、現在ピクチャは、スライスのブロックを予測するための参照ピクチャとしての使用に利用可能であるが、いくつかのスライスの場合、実際には予測に使用されない場合がある。加えて、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが無効である（すなわち、その値が０に等しいと明示的にシグナリングされるか、または０に等しいと推論される、場合、ビデオデコーダ３０は、その特定の（particular）スライスにＩＢＣモードを使用せず、（ＩＢＣ用のＩスライスを可能にすることに関して上述されたように）Ｉスライスタイプのシグナリングを可能にすることができる。
【００７０】
[0075]ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素についてのセマンティクスは以下の通りであり得る。
１に等しいｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、現在スライスを復号するとき、現在ピクチャが現在ピクチャの参照ピクチャリストに含まれる場合があることを明示する（specifies）。０に等しいｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、現在スライスを復号するとき、現在ピクチャが現在ピクチャの参照リストに決して含まれないことを明示する。存在しないとき、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値は０に等しいと推論される。
【００７１】
[0076]一般に、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、スライスヘッダレベルより下のシンタックス構造、セマンティクス、および復号プロセスにおいて、たとえば、参照ピクチャリスト構築、ＤＰＢ管理などにおいて、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇの後のスライスヘッダシンタックス内のｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇに取って代わる（replace）ことができる。シンタックス要素ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇのシグナリング用のゲートフラグ（gating flag）として扱うことができる。たとえば、ＮｕｍＰｉｃＴｏｔａｌＣｕｒｒの値は、スライスレベル制御フラグｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇに基づいて導出される場合がある。
【００７２】
[0077]加えて、（上述されたようにＩスライスを可能にするための技法が適用されないとき）以下の条件が適用される場合がある。
−現在ピクチャがＢＬＡピクチャまたはＣＲＡピクチャであるとき、ＮｕｍＰｉｃＴｏｔａｌＣｕｒｒの値はｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇに等しくなければならない。
【００７３】
[0078]別の代替では、ビデオデコーダ３０は、明示的なシグナリングなしにｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値を導出するように構成される場合がある。導出の一部として、ビデオデコーダ３０は、スライスヘッダ内でシグナリングされる参照ピクチャの最大数（ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１の場合、それぞれ、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１およびｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１）まで、参照ピクチャリストＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１を確認することができ、参照ピクチャが現在ピクチャに等しくない場合、ビデオデコーダ３０は、０であるようにｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇを導出することができる。そうでない場合、ビデオデコーダ３０は、１に等しいようにｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇを導出することができる。導出されたフラグは、たとえば、復号プロセスおよび他の関連する使用法において、シグナリングされたスライスレベルＩＢＣフラグの代わりに使用される場合がある。
【００７４】
[0079]上述されたスライスレベルＩＢＣ制御フラグを実装するために、ビデオデコーダ３０は、ビデオデータのスライスを受信し、スライスレベルシンタックス要素（たとえば、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）を解析して、ＩＢＣモードがスライスに有効であると決定するように構成される場合がある。ビデオデコーダ３０は、ビデオデータのスライス用の参照ピクチャリストを構築するように構成される場合があり、参照ピクチャリストに含まれるピクチャの数（a number of pictures）は、スライスレベルシンタックス要素が、ＩＢＣが有効であると示すか、または、ＩＢＣが無効であると示すかに依存する場合がある。ビデオデコーダ３０は、スライスレベルシンタックス要素を解析して、スライスがＰスライスまたはＢスライスのうちの１つであると決定することに応答して、ＩＢＣモードがスライスに有効であると決定することができる。Ｉスライスであると決定されたスライスの場合、ビデオデコーダ３０は、ＩＢＣモードが無効であることを示す（to indicate）スライスレベルシンタックス要素の値を推論する（infer）ことができる。ビデオデコーダ３０は、ビデオデータのスライス用の参照ピクチャリストを構築し、ＩＢＣモードが有効であることをスライスレベルシンタックス要素が示すことに応答して、スライスを含んでいるピクチャを参照ピクチャリストに追加することができる。
【００７５】
[0080]本開示はまた、スライスレベルＩＢＣ制御フラグおよびｓｌｉｃｅ＿ｔｙｐｅの使用に対する（on）潜在的な制約を記載する。下記で紹介される制約または態様のいずれも、単独で、または、本セクションもしくは本開示内の他のセクションにおける１つもしくは複数の他の制約と組み合わせて適用することができる。
【００７６】
[0081]いくつかの例では、ビットストリーム適合性（bitstream conformance）は、以下の要件を有する場合がある。
・ｃｕｒｒＰｉｃのみが参照に利用可能であるとき、ＰスライスおよびＢスライスの場合、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値は０に等しくてはならない（shall not be）。
・ｎａｌ＿ｕｎｉｔ＿ｔｙｐｅが、両端値を含むＢＬＡ＿Ｗ＿ＬＰからＲＳＶ＿ＩＲＡＰ＿ＶＣＬ２３までの範囲内の値を有する（すなわち、ピクチャがＩＲＡＰピクチャである）とき、ＰスライスおよびＢスライスの場合、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値は０に等しくてはならない。ＲｅｆＰｉｃＬｉｓｔ０は、現在ピクチャのみを指す１つまたは複数の項目（entries）を含んでいなければならない（shall）。
・代替として、ｃｕｒｒＰｉｃのみが参照に利用可能であるとき（すなわち、現在ピクチャであるただ１つの参照ピクチャをＤＰＢが含んでいるとき）、ＰスライスおよびＢスライスの場合、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇはシグナリングされてはならない（shall not be）。
【００７７】
[0082]次に、復号プロセスに対する変更が説明される。復号プロセスは、下線付きのテキストで示されたように変更される場合がある。示された変更は、個別または一緒に適用される場合がある。
現在ピクチャ内の少なくとも１つのスライスが１に等しいｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇを有するとき、ＤＰＢ内のピクチャ記憶バッファは現在ピクチャ用に割り振られ、現在ピクチャは「長期参照に使用される」としてマークされる。
節８．４、８．５、８．６、および８．７におけるプロセスは、すべてのシンタックス構造レイヤにおけるシンタックス要素を使用する復号プロセスを指定する。ピクチャのコード化スライスがピクチャのコーディングツリーユニットごとにスライスセグメントデータを含んでいなければならないことがビットストリーム適合性の要件であり、その結果、スライスへのピクチャの分割、スライスセグメントへのスライスの分割、およびコーディングツリーユニットへのスライスセグメントの分割は、各々、ピクチャの区分化を形成する。現在ピクチャ内の少なくとも１つのスライスが１に等しいｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇを有するとき、ループ内フィルタリング（in-loop filtering）の前の現在ピクチャの復号サンプル値は、現在ピクチャ用に割り振られたピクチャ記憶バッファに記憶される。
注記２−現在ピクチャ内の少なくとも１つのスライスが１に等しいｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇを有するとき、ＤＰＢの一部としてカウントされない１つの追加ピクチャ記憶バッファは、ループ内フィルタリングの後の現在ピクチャのサンプル値の記憶に必要とされる。
【００７８】
[0083]本開示はまた、コロケートピクチャの制約（collocated picture constraint）を記載する。現在のＷＤでは、現在ピクチャをコロケートピクチャとして使用することができないという制約が存在する。この制約の理由は、コロケートピクチャが現在ピクチャであった場合、動き予測に使用されるべきコロケートブロックにさらに割り当てられた動きフィールドは存在しないだろうということである。
【００７９】
[0084]この制約は、たとえば、現在ピクチャの処理より前に現在ピクチャの動きフィールドを初期化することにより、取り除くことができる。たとえば、現在ピクチャは、すべてのブロックをイントラコード化として有して（having）、初期化することができ（can be initialized）、動きフィールド情報（motion field information）がないことを意味する。代替として、動きフィールドはデフォルトの動きフィールドを用いて初期化することができ、デフォルトの動きフィールドは、エンコーダとデコーダの両方の場合、たとえば、ＲｅｆＰｉｃＬｉｓｔ０もしくはＲｅｆＰｉｃＬｉｓｔ１、または両方に関連付けられた少なくとも１つの方向間（inter direction）のゼロモーション（ゼロ参照インデックスを有する（with）ゼロモーションベクトル）として知られている。加えて、スライスに割り当てられたデフォルトの動きフィールドは、スライスタイプに依存することができる。たとえば、Ｉスライスの場合、そのスライス内のすべてのブロックはイントラモードを用いて初期化され、Ｐスライスの場合、ＲｅｆＰｉｃＬｉｓｔ０関連の動きフィールドはゼロモーションに設定され、Ｂスライスの場合、ゼロモーションはＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１に関連付けられた両方向に割り当てられる。
【００８０】
[0085]加えて、（現在ピクチャをコロケートピクチャとして使用することができない）上述された制約は、エンコーダ制約またはビットストリーム制約の形式で指定され、それらはいくつかのエンコーダによって破られる場合があり、ビットストリームを潜在的に破壊する。
【００８１】
[0086]本開示は、たとえば、制約を満たさないシンタックス要素の値をビットストリーム内でシグナリングすることができないようにシンタックスを修正することにより、この制約をより厳密にするための技法を記載する。
【００８２】
[0087]最初に、スライスが参照ピクチャ（a reference picture(s)）として現在ピクチャのみを有する場合、現在ピクチャをコロケートピクチャとして使用することができないので、スライスヘッダ内でシグナリングされるＴＭＶＰ有効フラグは無効にされなければならない。２つ以上の参照ピクチャが存在することができ、それらのすべては現在ピクチャであり得る。
【００８３】
[0088]代替として、ＴＭＶＰ有効フラグのシグナリングは、スライス内で使用される参照ピクチャの数（たとえば、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１およびｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１）のシグナリングの後に移動および配置することができ、すべての参照ピクチャが現在ピクチャであるかどうかを決定するために確認を行うことができる。すべての参照ピクチャが現在ピクチャである場合、ＴＭＶＰ有効フラグはシグナリングされず、無効である（すなわち、０に等しい）と導出される。
【００８４】
[0089]別の代替では、すべての参照ピクチャが現在ピクチャであるかどうかを導出する代わりに、そのようなケースを示すために、スライス内でフラグをシグナリングすることができる。
【００８５】
[0090]加えて、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘのシグナリングの場合、現在ピクチャを指す（pointing to）参照インデックスは、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘによって参照されることから除外することができ、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値は、所望のコロケートピクチャの前に存在する現在参照ピクチャを指す参照インデックスの数だけ（by）減らされる。同様にして、解析後、解析されたｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘは、シグナリングされたｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘより前の現在参照ピクチャを指す参照インデックスの数だけ増やされる。
【００８６】
[0091]一例によれば、ＲｅｆＰｉｃＬｉｓｔ＝｛Ｐｉｃ０，Ｃｕｒｒ，Ｐｉｃ１，Ｃｕｒｒ，Ｐｉｃ２｝と仮定する。
Ｐｉｃ０をコロケートピクチャのようにするために、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ＝０がシグナリングされる。
Ｐｉｃ１をコロケートピクチャのようにするために、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ＝１がシグナリングされ、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘが１だけ増やされ、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘを２に等しくする。
Ｐｉｃ２をコロケートピクチャのようにするために、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ＝２がシグナリングされ、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘが２だけ増やされ、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘを４に等しくする。
【００８７】
[0092]たとえば、所望のｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘがＮに等しいと仮定すると、符号化部分は以下の擬似コードとして実装されることができる。
【００８８】
【数１】
0006716611.tif 000003
【００８９】
[0093]たとえば、復号部分は以下の擬似コードとして実装されることができ、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘは更新されるべき解析された値である。
【００９０】
【数２】
0006716611.tif 000004
【００９１】
[0094]与えられた例では、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘの値はデコーダによって増やされるだろう（will）ので、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘは現在ピクチャ（Ｃｕｒｒ）に等しくなることができず、したがって、現在ピクチャがコロケートピクチャになることが不可能になる。
【００９２】
[0095]加えて、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘがシグナリングされる条件は、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘがただ１つの値を有することができるケースを除外するように修正されることができる。この場合、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃｌＬｉｓｔ１に含まれる参照ピクチャの数は、（本明細書ではｎｕｍＣｕｒｒＲｅｆ０およびｎｕｍＣｕｒｒＲｅｆ１と表記されて）カウントされることができ、参照ピクチャの数（たとえば、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１およびｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１）は、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１用の現在ピクチャに等しい参照インデックスの数だけ削減されることができる。参照インデックスのこの修正された数は、復号プロセスにおいて、たとえば、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘをシグナリングする際に、スライスヘッダ内の参照インデックスのシグナリングされる数の代わりに使用することができる。
【００９３】
[0096]たとえば、実装形態は以下のように実現することができる。
【００９４】
【数３】
0006716611.tif 000005
【００９５】
コロケート参照インデックス（collocated reference index）は、可能なコロケートインデックスの数が、たとえば１を超えるときのみシグナリングされる。
【００９６】
【表２】
0006716611.tif 000006
【００９７】
[0097]下線付きの部分は、現在のドラフトテキスト仕様の先頭に（on top the current draft text specification）追加される。
例：ＲｅｆＰｉｃＬｉｓｔ０＝｛Ｃｕｒｒ，Ｐｉｃ０，Ｃｕｒｒ｝
ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は２に等しいようにシグナリングされ、（参照ピクチャリスト内に２つの現在参照ピクチャが存在するので）ｎｕｍＣｕｒｒＲｅｆ０は２に等しい。
ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１−ｎｕｍＣｕｒｒＲｅｆ０は０に等しく、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘはシグナリングされないが、０に等しいと推論され、しかしながら、実際の値（real value）は１である（ゼロインデックスは現在ピクチャを指す）。
【００９８】
[0098]０と推論された後、上述されたコロケートインデックスの修正が使用され、
【００９９】
【数４】
0006716611.tif 000007
【０１００】
これは、最初の参照ピクチャが参照ピクチャリスト内の現在ピクチャに等しいことに起因して１の増分（one increment）が行われるので、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘを１に等しいように生成する。
【０１０１】
[0099]この例では、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘのシグナリングは、現在のドラフトテキスト仕様と比較して省かれ、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘはシグナリングされるが、１に等しいことが必要とされる。コロケートピクチャの制約およびコロケート参照インデックスのシグナリングに関して本明細書に記載されたいかなる技法も、単独で、または任意の組合せで使用される場合がある。
【０１０２】
[0100]本開示はまた、アクティブな参照ピクチャの数に基づいてリスト修正を無効にするための技法を記載する。現在のＷＤでは、ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎプロセスは、ＮｕｍＰｉｃＴｏｔａｌＣｕｒｒ＞１およびｌｉｓｔｓ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ＝１であるときに起動される（be invoked）場合がある。本開示は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１＝０であり（すなわち、スライスを復号するために使用される場合がある参照ピクチャリスト０用の最大参照インデックスが０に等しく）、スライスレベルＩＢＣ制御フラグに関して上述されたスライスレベルＩＢＣ制御フラグが１に等しいとき、リスト修正情報（list modification information）が冗長であり、推論できる（can be inferred）ことを提案する。言い換えれば、いくつかの実装形態では、リスト修正プロセスを必要とせずにＩＢＣモードが有効であるとき、現在ピクチャは参照ピクチャリストに常に追加される場合がある。
【０１０３】
[0101]本開示は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１＝０およびｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１であるとき、リスト修正情報をシグナリングしないための技法を記載する。リスト修正プロセスは、ＲｅｆＰｉｃＬｉｓｔ０内の最初の項目としてｃｕｒＰｉｃを含むと推論される場合がある。言い換えれば、いくつかの実装形態では、リスト修正プロセスを必要とせずにＩＢＣモードが有効であるとき、現在ピクチャは参照ピクチャリストに常に追加される場合がある。
【０１０４】
[0102]たとえば、ＩＢＣがＩＢＣスライスに対して有効であるとビデオエンコーダ２０が決定した場合、スライス用の参照ピクチャリスト内の参照ピクチャのみが、そのスライスを含む現在ピクチャである。したがって、ビデオデータのスライス用の参照ピクチャリスト内の参照ピクチャの数が１に等しいと決定することに応答して、および、ＩＢＣモードがスライスに有効であることに応答して、ビデオエンコーダ２０は、参照ピクチャリスト修正を無効にし、スライス用の参照ピクチャリスト修正情報（reference picture list modification information）を符号化ビットストリームに含めないように構成される場合がある。同様に、ビデオデコーダ３０は、ビデオデータのスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素（たとえば、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１）を受信するように構成される場合があり、ビデオデータのスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素が１に等しい（たとえば、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１が０に等しい）ことに応答して、および、ＩＢＣモードがスライスに有効であること（たとえば、ｓｌｉｃｅ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１および／またはｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝１）に応答して、ビデオデコーダ３０は参照ピクチャリスト修正を無効にすることができる。ビデオデコーダ３０は、たとえば、参照ピクチャリスト修正情報を受信せずに参照ピクチャリストを構築することにより、参照ピクチャリスト修正を無効にすることができる。一例では、参照ピクチャリスト修正を無効にすることは、参照ピクチャリスト修正情報に関連する情報（たとえば、シンタックス要素）がビットストリーム内でシグナリングされず、したがって、潜在的に圧縮を改善し、デコーダ側の複雑さを低減することを意味する場合がある。
【０１０５】
[0103]上記の例はＲｅｆＰｉｃＬｉｓｔ０に関して記載されているが、それはＲｅｆＰｉｃＬｉｓｔ１にも同様に等しく適用可能であることを諒解されたい。
【０１０６】
【表３】
0006716611.tif 000008
【０１０７】
[0104]第１の例示的な実装形態では、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１＝０であり（すなわち、スライスを復号するために使用される場合がある参照ピクチャリスト０用の最大参照インデックスが１に等しく）、現在のドラフト仕様に記載の（as in）ＳＰＳレベルＩＢＣ制御フラグ（ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）が１に等しいとき、リスト修正はシグナリングされない場合がある。リスト修正プロセスは、ＲｅｆＰｉｃＬｉｓｔ０内の最初の項目としてｃｕｒＰｉｃを含むと推論される。
【０１０８】
[0105]上記はＲｅｆＰｉｃＬｉｓｔ１にも拡張することができる。
【０１０９】
【表４】
0006716611.tif 000009
【０１１０】
[0106]本開示はまた、後処理としてループ内フィルタリングを実装するための技法を記載する。言い換えれば、いくつかのコーディングシナリオにおいてループ内フィルタリングとして適用されるフィルタは、他のコーディングシナリオではループ後フィルタとして適用される場合がある。ＩＢＣモードが使用されるとき、ＩＢＣ予測に使用される現在ピクチャの参照サンプルはフィルタリングされない。言い換えれば、デブロッキングフィルタおよびＳＡＯなどのループ内フィルタは、ＩＢＣ参照サンプルに適用されない場合がある。しかしながら、ループ内フィルタは、通常の（regular）予測用の復元サンプルにはまだ適用される場合がある。これらの技法は、複数の（multiple）理由で、全体的なコーディング効率およびデバイス性能を改善することができる。一例として、フィルタリングはグラフィカルコンテンツ用の良好な予測器（good predictor）ではない場合があり、したがって、フィルタリングに関連する計算の複雑さにより、いくつかのタイプのビデオコンテンツには最小の恩恵しかもたらさないか、またはまったく恩恵をもたらさない場合がある。別の例として、（ＩＢＣモードおよび通常のインターモードの場合）現在ピクチャ用のフィルタリングされていないサンプルとフィルタリングされたサンプルとを記憶する必要性に起因して、ループ内フィルタリングは、サンプルを読み書きする（writing and reading）ための帯域幅を増大させ、必要な記憶容量を増大させる場合がある。
【０１１１】
[0107]一例では、ビデオデコーダ３０は、ピクチャが出力または表示されるときのみループ内フィルタを適用し、ＩＢＣモードと通常のインターモードの両方には、参照ピクチャに関連付けられたフィルタリングされていないピクセルを使用することができる。そのような例の場合、ビデオデコーダ３０は、ＩＢＣモードを使用してビデオデータのブロックを復元し、ブロックを含むピクチャを出力するように構成される場合があり、出力されたピクチャ内のブロックは、１つまたは複数のループフィルタを使用してフィルタリングされる。しかしながら、ビデオデコーダ３０は、将来ブロック用の参照ピクチャとして、フィルタリングされていないバージョンのブロックを有するピクチャを記憶することができる。
【０１１２】
[0108]フィルタリングされていないピクセルのみが記憶される必要があるので、これにより帯域幅が削減される場があり、フィルタによって取り除かれる場合がある詳細を保存することにより、グラフィカルコンテンツに対する（for）予測をより良好にすることができる。しかしながら、ループ内フィルタは、表示用に出力されるピクチャにはまだ適用される場合がある。
【０１１３】
[0109]出力ピクチャに適用されるフィルタまたはポストフィルタとしてループ内フィルタが使用されるべきかどうかを導出するために、ＩＢＣ制御フラグまたは新しいフラグを使用することができる。たとえば、ビデオデコーダ３０は、ＩＢＣモードが有効であると決定することに応答して、ループフィルタ演算がインループまたはポストループに適用されるべきかどうかを示すシンタックス要素を受信するように構成される場合がある。加えて、新しいフラグは、ＩＢＣモードが使用中であるときにシグナリングすることができる。そのようなフラグは、たとえば、ビットストリーム内に存在しないとき、０に等しいように導出される場合がある。
【０１１４】
[0110]別の例では、ＩＢＣモードは、フィルタリングされた画像が利用可能であるとき、フィルタリングされた（たとえば、デブロックフィルタリングされた、ＳＡＯフィルタリングされた、またはＡＬＦフィルタリングされた）サンプルを使用することができる。フィルタの場合、フィルタリングされているブロックの外側のいくつかのピクセルは、必要とされるが、利用可能ではない場合がある。そのような外側のピクセルが利用可能である、すなわち、すでに復元されているとき、フィルタリングされたピクセルは、ＩＢＣモードにおける予測に使用される場合がある。フィルタリングに必要とされる少なくとも１つのピクセルが利用可能ではない場合、フィルタリングされていないサンプルがＩＢＣ予測に使用される。この場合、ＩＢＣ予測用に記憶されるべきフィルタリングされていないピクセルの量は削減されるので、帯域幅が削減される場合がある。代替として、ＩＢＣはフィルタリングされたサンプルのみを参照することができ、この場合、フィルタリングされていないサンプル（たとえば、まだ復元されていない少なくとも１つのピクセルを必要とするサンプル）は、ＩＢＣ予測用に記憶されることを必要とされない場合がある。この制限は、たとえば予測ブロックを導出するために使用されるＭＶがそのようなサンプルを含むべきではないという、エンコーダまたはビットストリームの制約によって達成されることができる。
【０１１５】
[0111]上記の例では、ＩＢＣ予測に使用されるべきフィルタリングされたピクセルまたはフィルタリングされていないピクセルに対する確認は、隣接ＣＵ（neighbor CU）を予測に使用することができるので、複雑であり得る。導出プロセスを簡略化するために、現在ブロックを含んでいる現在ＣＴＵのフィルタリングされていないサンプルは、ＩＢＣ予測に使用することができ、現在ＣＴＵの外側に位置するフィルタリングされたサンプルは、利用可能な場合、ＩＢＣ予測に使用される。この場合、現在ＣＴＵサンプルはキャッシュに記憶されることができ、エンコーダ２０またはデコーダ３０の外部メモリに記憶される必要がないので、フィルタリングされていないピクセルの記憶に関連する帯域幅は削減される場合がある。
【０１１６】
[0112]ＩＢＣ予測用のフィルタリングされたサンプルまたはフィルタリングされていないサンプルの間の選択が適用されるかどうかを示すために、フラグを導入することができる。このフラグは、ＩＢＣモードが使用されるときにシグナリングし、ビットストリーム内に存在しない場合無効であるように導出されることができる。
【０１１７】
[0113]代替として、ＩＢＣ予測用のフィルタリングされたサンプルまたはフィルタリングされていないサンプルの間の選択を示すシグナリングは、（ＣＴＵ、スライス、タイルの単位の）遅延の観点から行われる可能性がある。たとえば、遅延値より前のブロックからのＩＢＣ予測は、フィルタリングされたサンプルのみを使用することができ、遅延値より後のブロックからのＩＢＣ予測は、フィルタリングされていないサンプルを使用することができる。上記の例において記載された態様は、単独で、または他の記載された方法との任意の組合せで使用することができる。
【０１１８】
[0114]本開示は、帯域幅の削減をもたらすことができる技法を記載する。ＩＢＣモードの既存の実装形態の場合、ビデオデコーダは予測サンプルをフィルタリングしない。そのため、ＩＢＣが有効である場合、フィルタリングされたサンプルに加えて、余分のフィルタリングされていないサンプルも記憶される必要があり、少なくともＩＢＣモードが使用される場合２倍になる記憶帯域幅がもたらされる。
【０１１９】
[0115]本開示の技法によれば、フィルタリングされていないサンプルによって引き起こされる帯域幅の増加を削減するために、フィルタリングされていないサンプルを記憶する代わりに、ビデオデコーダ３０は、フィルタリングされたサンプルとフィルタリングされていないサンプルとの間の差分を記憶することができる。フィルタ演算（たとえば、デブロック、ＳＡＯ）は小さい値の変化のみを引き起こすので、フィルタリングされたサンプルとフィルタリングされていないサンプルとの間の差分は、記憶するために十分なビット深度を必要としない場合があり、それにより、ＩＢＣモードともに使用するためのフィルタリングされたサンプルとフィルタリングされていないサンプルの両方を記憶するために必要な記憶帯域幅を削減する助けになる場合がある。さらに、ネイバ（neighbors）からの予測のような、一例ではロスレス圧縮（lossless compression）であり得る、いくつかの圧縮方式、および可変長コーディングは、帯域幅および記憶空間をさらに削減するために適用することができる。そのような実装形態では、ビデオデコーダ３０は、ビデオデータの復元ブロックに対してループフィルタリング演算を実施してフィルタリングされた復元ブロックを生成し、フィルタリングされた復元ブロックと復元ブロックとの間の差分を示す差分値を記憶し、記憶された差分値に少なくとも部分的に基づいてブロックを予測するように構成される場合がある。
【０１２０】
[0116]本開示はまた、予測サンプルにフィルタリングを適用するための技法を記載する。上記のセクションに述べられたように、ＩＢＣモードについての現在の設計では、予測サンプルは、（ＳＡＯまたはデブロッキング前の（pre- SAO or de-blocking））、現在ピクチャのフィルタリングされていない復元サンプルである。これらのフィルタリングされていないサンプルは、表示するために送られたフィルタリングされたサンプルに加えて記憶される必要がある。このセクションでは、フィルタリングされていないサンプルをさらに記憶する必要を回避するために、いくつかの方法が提案される。
【０１２１】
[0117]本開示の第１の技法によれば、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、復元サンプルの代わりに予測サンプルにＳＡＯおよびデブロッキングを適用することができる。例示的な実装形態が下記に提供される。例示的な実装形態は、現在の設計を本開示で提案された設計の一例と比較する。
現在の設計：Ｆｉｎａｌ  Ｒｅｃｏｎ＝Ｆｉｌｔｅｒｅｄ（Ｐｒｅｄ＋Ｒｅｓｉｄｕｅ）
提案された設計：Ｆｉｎａｌ  Ｒｅｃｏｎ＝Ｆｉｌｔｅｒｅｄ（Ｐｒｅｄ）＋Ｒｅｓｉｄｕｅ
ここで、
Ｆｉｌｔｅｒｅｄ：ＳＡＯおよびデブロッキングのいずれかまたは両方のプロセスを表す
Ｐｒｅｄ：フィルタリングされていない予測サンプルを表す
[0118]上述された第１の技法に関して、ビデオコーダは、任意のモード（たとえば、インター、ＩＢＣ、イントラ）の予測サンプルにＳＡＯおよびデブロッキングを適用することができる。第２の技法によれば、ビデオコーダは、ＩＢＣモードの予測サンプルにＳＡＯおよびデブロッキングを適用するための上述された技法を適用することができる。この技法は、ＪＣＴＶＣ−Ｔ００４５に記載された技法に加えて適用される場合がある。Ｔ００４５では、フィルタリングは、参照としてＩＢＣに使用することができるＣＴＵに対して無効とされる。これは、客観的および主観的な品質劣化をもたらす場合がある。したがって、本開示は、ＩＢＣモードの場合のみに予測サンプルにフィルタリングを適用するための技法を紹介する。
【０１２２】
[0119]次に、例示的な実装形態が記載される。本開示は、ＩＢＣモードの場合に復元サンプルの代わりに予測サンプルにＳＡＯおよびデブロッキングを適用するための技法を記載する。さらに、ＩＢＣ用の参照エリアとしてＣＴＵが使用されるべき場合、ビットストリーム内でフラグがシグナリングされる場合があり、その場合、フラグは、そのＣＴＵに対してループ内後処理（デブロッキングおよびＳＡＯ）をオフに切替え、このようにして、さらなる記憶を回避する。
現在の設計：Ｆｉｎａｌ  Ｒｅｃｏｎ＝Ｆｉｌｔｅｒｅｄ（Ｐｒｅｄ＋Ｒｅｓｉｄｕｅ）
提案された設計：ＩＢＣモードの場合のＦｉｎａｌ  Ｒｅｃｏｎ＝Ｆｉｌｔｅｒｅｄ（Ｐｒｅｄ）＋Ｒｅｓｉｄｕｅ
ＩＢＣモードではない場合のＦｉｎａｌ  Ｒｅｃｏｎ＝Ｆｉｌｔｅｒｅｄ（Ｐｒｅｄ＋Ｒｅｓｉｄｕｅ）
ここで、
Ｆｉｌｔｅｒｅｄ：ＳＡＯおよびデブロッキングのいずれかまたは両方のプロセスを表す
Ｐｒｅｄ：フィルタリングされていない予測サンプルを表す
[0120]上述されたように予測サンプルにフィルタリングを適用することの一部として、ビデオデコーダ３０は、ビデオデータのブロックのための予測ブロックを決定し、予測ブロックをフィルタリングしてフィルタリングされた予測ブロックを生成し、フィルタリングされた予測ブロックに残差データを加算して復元ブロックを生成するように構成される場合がある。予測ブロックをフィルタリングするために、ビデオデコーダ３０は、ＳＡＯフィルタリング、デブロックフィルタリング、またはＡＬＦフィルタリングのうちの１つまたは複数を実施することができる。ビデオデコーダ３０は、ビデオデータのブロックがＩＢＣモードを使用してコーディングされることに応答して、予測ブロックをフィルタリングしてフィルタリングされた予測ブロックを生成することができる。ＩＢＣモード以外のコーディングモードでコーディングされたビデオデータの第２のブロックの場合、ビデオデコーダ３０は、第２のブロックのための第２の予測ブロックに残差データを加算して第２の復元ブロックを生成し、第２の復元ブロックをフィルタリングすることができる。
【０１２３】
[0121]図３は、本開示に記載された技法を実装することができる、例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実施することができる。イントラコーディングは、空間予測に依拠して、所与のビデオフレームまたはピクチャ内のビデオにおける空間冗長性を低減または削除する。インターコーディングは、時間予測に依拠して、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオにおける時間冗長性を低減または除去する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指す場合がある。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指す場合がある。
【０１２４】
[0122]図３の例では、ビデオエンコーダ２０は、ビデオデータメモリ３３と、区分化ユニット３５と、予測処理ユニット４１と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き推定ユニット（ＭＥＵ）４２と、動き補償ユニット（ＭＣＵ）４４と、イントラ予測処理ユニット４６と、ＩＢＣユニット４８とを含む。説明を簡単にするために、図３では別々に示されているが、ＭＥＵ４２、ＭＣＵ４４、イントラ予測処理ユニット４６、およびＩＢＣユニット４８は、実際には高度に統合される場合があることを理解されたい。ビデオブロック復元のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２と、フィルタユニット６４と、復号ピクチャバッファ（ＤＰＢ）ユニット６６とを含む。
【０１２５】
[0123]図３に示されたように、ビデオエンコーダ２０は、ビデオデータを受信し、受信されたビデオデータをビデオデータメモリ３３に記憶する。ビデオデータメモリ３３は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶することができる。ビデオデータメモリ３３に記憶されたビデオデータは、たとえば、ビデオソース１８から取得される場合がある。ＤＰＢ６６は、たとえば、イントラコーディングモードまたはインターコーディングモードで、ビデオエンコーダ２０がビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ３３およびＤＰＢ６６は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成される場合がある。ビデオデータメモリ３３およびＤＰＢ６６は、同じメモリデバイスまたは別個のメモリデバイスによって提供される場合がある。様々な例では、ビデオデータメモリ３３は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１２６】
[0124]区分化ユニット３５は、ビデオデータメモリ３３からビデオデータを取り出し、予測処理ユニット４１と連携して、ビデオデータをビデオブロックに区分化する。この区分化はまた、たとえば、ＬＣＵおよびＣＵの４分木構造に従って、スライス、タイル、または他のより大きいユニットへの区分化、ならびにビデオブロックの区分化を含む場合がある。説明を簡単にするために別々に示されているが、区分化ユニット３５および予測処理ユニット４１は高度に統合される場合があり、区分化ユニット３５と予測処理ユニット４１の両方は、ビデオのピクチャをどのように区分化するかを決定するプロセスの態様を実施することができる。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（場合によっては、タイルと呼ばれるビデオブロックのセットに）分割される場合がある。予測処理ユニット４１は、誤差結果（たとえばコーディングレートおよびひずみレベル）に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの１つ、または複数のインターコーディングモードのうちの１つなどの、複数の可能なコーディングモードのうちの１つを選択することができる。予測処理ユニット４１は、得られたイントラコード化ブロックまたはインターコード化ブロックを、加算器５０に供給して残差ブロックデータを生成し、加算器６２に供給して参照ピクチャとして使用するための符号化ブロックを復元することができる。
【０１２７】
[0125]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間圧縮を実現するために、コーディングされるべき現在ブロックと同じフレームまたはスライス内の１つまたは複数の隣接ブロックに対する現在ビデオブロックのイントラ予測コーディングを実施することができる。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を実現するために、１つまたは複数の参照ピクチャの中の１つまたは複数の予測ブロックに対する現在ビデオブロックのインター予測コーディングを実施する。動き推定ユニット４２によって実施される動き推定は、ビデオブロックについての動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示すことができる。
【０１２８】
[0126]予測ブロックは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定される場合があるピクセル差分に関して、コーディングされるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、ＤＰＢ６６に記憶された参照ピクチャのサブ整数ピクセル位置についての値を計算することができる。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間することができる。したがって、動き推定ユニット４２は、フルピクセル位置および分数ピクセル位置に対して動き探索を実施し、分数ピクセル精度で動きベクトルを出力することができる。
【０１２９】
[0127]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することにより、インターコード化スライス内のビデオブロックのＰＵ用の動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択される場合があり、それらの各々は、ＤＰＢ６６に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６および動き補償ユニット４４に送る。
【０１３０】
[0128]動き補償ユニット４４によって実施される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によっては、サブピクセル精度への補間を実施することを伴う場合がある。現在ビデオブロックのＰＵ用の動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックの位置を特定することができる。ビデオエンコーダ２０は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することにより、残差ビデオブロックを形成する。ピクセル差分値は、ブロック用の残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含む場合がある。加算器５０は、この減算演算を実施する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成することができる。
【０１３１】
[0129]いくつかの例では、ＩＢＣユニット４８は、動き推定ユニット４２および動き補償ユニット４４に関して上述された方式と同様の方式で２次元ベクトルを生成し、予測ブロックを取り込むことができるが、予測ブロックは現在ブロックと同じピクチャまたはフレーム内に位置する。他の例では、ＩＢＣユニット４８は、動き推定ユニット４２および動き補償ユニット４４を使用して、全体的または部分的に、本明細書に記載された技法によるＩＢＣ予測用のそのような機能を実施することができる。いずれの場合も、ＩＢＣの場合、予測ブロックは、ピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックであり、ピクセル差分は、ＳＡＤ、ＳＳＤ、または他の差分メトリックによって決定される場合があり、ブロックの識別は、サブ整数ピクセル位置についての値の計算を含む場合がある。
【０１３２】
[0130]予測処理ユニット４１が、イントラ予測、インター予測、またはＩＢＣを介して、現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することにより残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、１つまたは複数のＴＵに含まれ、変換処理ユニット５２に適用される場合がある。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、ピクセル領域から周波数領域などの変換領域に残差ビデオデータを変換することができる。
【０１３３】
[0131]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送ることができる。量子化ユニット５４は、変換係数を量子化して、ビットレートをさらに削減する。量子化プロセスは、係数の一部またはすべてに関連付けられたビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって修正される場合がある。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実施することができる。代替として、エントロピー符号化ユニット５６が走査を実施する場合がある。
【０１３４】
[0132]量子化に続いて、エントロピー符号化ユニット５６は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分化エントロピー（ＰＩＰＥ）コーディング、または別のエントロピー符号化の方法もしくは技法を実施することができる。エントロピー符号化ユニット５６によるエントロピー符号化に続いて、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、またはビデオデコーダ３０が後で送信するかもしくは取り出すためにアーカイブされる場合がある。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライス用の動きベクトルと他のシンタックス要素とをエントロピー符号化することができる。
【０１３５】
[0133]逆量子化ユニット５８および逆変換処理ユニット６０は、それぞれ、逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するためのピクセル領域内の残差ブロックを復元する。動き補償ユニット４４は、参照ピクチャリストのうちの１つの中の参照ピクチャのうちの１つの予測ブロックに残差ブロックを加算することにより、参照ブロックを計算することができる。動き補償ユニット４４はまた、復元残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算することができる。加算器６２は、動き補償ユニット４４によって生成された動き補償予測ブロックに復元残差ブロックを加算して、復元ビデオブロックを生成する。
【０１３６】
[0134]フィルタユニット６４は、復元ブロック（たとえば、加算器６２の出力）をフィルタリングし、参照ブロックとして使用するために、フィルタリングされた復元ブロックをＤＰＢ６６に記憶する。参照ブロックは、後続のビデオフレームまたはピクチャ内のブロックをインター予測するために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用される場合がある。フィルタユニット６４は、デブロッキングフィルタリング、サンプル適応オフセット（ＳＡＯ）フィルタリング、適応ループフィルタリング（ＡＬＦ）、または他のタイプのループフィルタリングのうちの１つまたは複数を適用することができる。フィルタユニット６４は、フィルタブロック境界にデブロッキングフィルタリングを適用して、復元ビデオからブロッキネスアーティファクト（blockiness artifacts）を除去することができ、他のタイプのフィルタリングを適用して、全体的なコーディング品質を改善することができる。追加のループフィルタ（インループまたはポストループ）が使用される場合もある。
【０１３７】
[0135]ビデオエンコーダ２０は、本開示の技法を実施することができるビデオエンコーダの、唯一ではないが、１つの例を表す。ビデオエンコーダ２０、たとえば、ＩＢＣユニット４８は、たとえば、ビデオデータのスライスをＩスライスとして符号化することができる。ビデオエンコーダ２０は、たとえば、コード化ビデオシーケンス用のいくつかのコーディングパスを実施し、スライスをＩスライスとしてコーディングすることが、望ましいレートひずみトレードオフなどの望ましいコーディング特性をもたらすと決定することができる。スライスの場合、ビデオエンコーダ２０、たとえば、ＩＢＣユニット４８およびエントロピー符号化ユニット５６はまた、ＩＢＣモードがスライスに有効であることを示すために、ＩＢＣシンタックス要素を生成することができる。スライスの場合、ビデオエンコーダ２０、たとえば、ＩＢＣユニット４８は、ＩＢＣモードを使用してスライスの少なくとも１つのブロックを符号化することができ、ビデオエンコーダ２０、たとえば、イントラ予測処理ユニット４６は、イントラモードを使用してスライスの少なくとも１つのブロックを符号化することができる。ビデオエンコーダ２０、たとえば、エントロピー符号化ユニット５６は、ＳＰＳ内にＩＢＣシンタックス要素を含めることができる。ビデオデータのスライス用の参照ピクチャリスト内の参照ピクチャの数が１に等しいと決定することに応答して、および、ＩＢＣモードがスライスに有効であることに応答して、ビデオエンコーダ２０、たとえば、予測処理ユニット４１は、参照ピクチャリスト修正を無効にすることができる。参照ピクチャリスト修正を無効にすることの一部として、ビデオエンコーダ２０は、符号化ビットストリーム内にスライス用の参照ピクチャリスト修正情報を含めない場合がある。
【０１３８】
[0136]図４は、本開示に記載された技法を実装することができる、例示的なビデオデコーダ３０を示すブロック図である。図４の例では、ビデオデコーダ３０は、ビデオデータメモリ７８と、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換処理ユニット８８と、加算器９０と、フィルタユニット９２と、ＤＰＢ９４とを含む。予測処理ユニット８１は、動き補償ユニット８２と、イントラ予測処理ユニット８４と、ＩＢＣユニット８５とを含む。ビデオデコーダ３０は、いくつかの例では、図３からのビデオエンコーダ２０に関して記載された符号化パスとは全体的に逆の復号パスを実施することができる。
【０１３９】
[0137]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連付けられたシンタックス要素とを表す、符号化ビデオビットストリームを受信する。ビデオデコーダ３０は、受信された符号化ビデオビットストリームをビデオデータメモリ７８に記憶する。ビデオデータメモリ７８は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶することができる。ビデオデータメモリ７８に記憶されたビデオデータは、たとえば、リンク１６を介して、ストレージデバイス２６から、または、カメラなどのローカルビデオソースから、または、物理データ記憶媒体にアクセスすることによって取得される場合がある。ビデオデータメモリ７８は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ（ＣＰＢ）を形成することができる。ＤＰＢ９４は、たとえば、イントラコーディングモードまたはインターコーディングモードで、ビデオデコーダ３０がビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ７８およびＤＰＢ９４は、ＤＲＡＭ、ＳＤＲＡＭ、ＭＲＡＭ、ＲＲＡＭ、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成される場合がある。ビデオデータメモリ７８およびＤＰＢ９４は、同じメモリデバイスまたは別個のメモリデバイスによって提供される場合がある。様々な例では、ビデオデータメモリ７８は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそのような構成要素に対してオフチップであり得る。
【０１４０】
[0138]ビデオデコーダ３０のエントロピー復号ユニット８０は、ビデオデータメモリ７８に記憶されたビデオデータをエントロピー復号して、量子化係数と、動きベクトルと、他のシンタックス要素とを生成する。エントロピー復号ユニット８０は、動きベクトルと他のシンタックス要素とを予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルで、シンタックス要素を受信することができる。
【０１４１】
[0139]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされたとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、シグナリングされたイントラ予測モード、および現在フレームまたはピクチャの前に復号されたブロックからのデータに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成することができる。ビデオフレームがインターコード化としてコーディングされるとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つの中の参照ピクチャのうちの１つから生成される場合がある。ビデオデコーダ３０は、ＤＰＢ９４に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、リスト０およびリスト１を構築することができる。
【０１４２】
[0140]動き補償ユニット８２および／またはＩＢＣユニット８５は、動きベクトルおよび他のシンタックス要素を解析することにより現在ビデオスライスのビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット８２は、現在ビデオスライス内のビデオブロックを復号するために、受信されたシンタックス要素のうちのいくつかを使用して、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測またはＩＢＣ）と、スライス用の参照ピクチャリストのうちの１つまたは複数についての構成情報と、スライスのインターコード化ビデオブロックごとの動きベクトルと、スライスのインターコード化ビデオブロックごとのインター予測ステータスと、他の情報とを決定する。
【０１４３】
[0141]動き補償ユニット８２および／またはＩＢＣユニット８５はまた、補間フィルタに基づいて補間を実施することができる。動き補償ユニット８２および／またはＩＢＣユニット８５は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数ピクセルについての補間された値を計算することができる。この場合、動き補償ユニット８２および／またはＩＢＣユニット８５は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成することができる。
【０１４４】
[0142]逆量子化ユニット８６は、ビットストリーム内で供給され、エントロピー復号ユニット８０によって復号された量子化変換係数を逆量子化、すなわち、量子化解除する。逆量子化処理は、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス内のビデオブロックごとにビデオエンコーダ２０によって計算された量子化パラメータの使用を含む場合がある。逆変換処理ユニット８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１４５】
[0143]予測処理ユニットが、たとえば、イントラ予測またはインター予測を使用して現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することにより、復元ビデオブロックを形成する。加算器９０は、この加算演算を実施する１つまたは複数の構成要素を表す。フィルタユニット９２は、たとえば、デブロッキングフィルタリング、ＳＡＯフィルタリング、ＡＬＦフィルタリング、または他のタイプのフィルタリングのうちの１つまたは複数を使用して、復元ビデオブロックをフィルタリングする。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、（コーディングループ中またはコーディングループ後のいずれかに）他のループフィルタが使用される場合もある。所与のフレームまたはピクチャ内の復号ビデオブロックは、次いでＤＰＢ９４に記憶され、ＤＰＢ９４は、その後の動き補償に使用される参照ピクチャを記憶する。ＤＰＢ９４は、図１のディスプレイデバイス３２など、ディスプレイデバイス上に後で提示するための（for later presentation）復号ビデオを記憶する追加メモリの一部であり得るか、または追加メモリとは別個であり得る。
【０１４６】
[0144]ビデオデコーダ３０は、本開示の技法を実施することができるビデオデコーダの、唯一ではないが、１つの例を表す。ビデオデコーダ３０、たとえば、ビデオデータメモリ７８およびエントロピー復号ユニット８０は、ビデオデータのスライスを受信することができる。ビデオデコーダ３０、たとえば、エントロピー復号ユニット８０および予測処理ユニット８１は、ＩＢＣシンタックス要素を解析して、ＩＢＣモードがスライスに有効であると決定することができる。ビデオデコーダ３０、たとえば、エントロピー復号ユニット８０および予測処理ユニット８１は、スライスに関連付けられたスライスタイプシンタックス要素を解析して、スライスがＩスライスであると決定することができる。ビデオデコーダ３０、たとえば、イントラ予測処理ユニット８４およびＩＢＣユニット８５は、スライスをＩスライスとして復号することができる。スライスをＩスライスとして復号するために、ビデオデコーダ３０は、イントラ予測のみを使用して、インター予測モードまたはＩＢＣモードを使用せずに、スライスのブロックを復号することができる。ビデオデコーダ３０、たとえば、エントロピー復号ユニット８０は、ＳＰＳ内でＩＢＣシンタックス要素を受信することができる。スライスの少なくとも１つのブロックに対してＩＢＣを実施するために、ビデオデコーダ３０、たとえば、ＩＢＣユニット８５は、スライスを備える現在ピクチャを参照ピクチャとして使用することができる。
【０１４７】
[0145]ビデオデコーダ３０、たとえば、予測処理ユニットおよびＤＰＢ９４は、たとえば、ビデオデータのスライス用の参照ピクチャリストを構築することができる。参照ピクチャリストに含まれるピクチャの数は、ＩＢＣが有効にされることに依存する場合がある。ビデオデコーダ３０、たとえば、予測処理ユニット８１は、ビデオデータのスライス用の参照ピクチャリストを構築することができる。ＩＢＣモードが有効であることに応答して、ビデオデコーダ３０、たとえば、予測処理ユニットおよびＤＰＢ９４は、スライスを含んでいるピクチャを参照ピクチャリストに追加することができる。
【０１４８】
[0146]ビデオデコーダ３０、たとえば、エントロピー復号ユニット８０および予測処理ユニット８１は、ビデオデータのスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信することができる。ビデオデータのスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素が１に等しいことに応答して、および、ＩＢＣモードがスライスに有効であることに応答して、ビデオデコーダ３０、たとえば、予測処理ユニットおよびＤＰＢ９４は、参照ピクチャリスト内の第１の項目としてスライスを備える現在ピクチャを含む、ビデオデータのスライス用の参照ピクチャリストを構築することができる。
【０１４９】
[0147]ビデオデコーダ３０、たとえば、エントロピー復号ユニット８０および予測処理ユニット８１は、ビデオデータのスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信することができる。ビデオデータのスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素が１に等しいことに応答して、および、ＩＢＣモードがスライスに有効であることに応答して、ビデオデコーダ３０、たとえば、予測処理ユニット８１は、参照ピクチャリスト修正を無効にすることができる。参照ピクチャリスト修正を無効にすることの一部として、ビデオデコーダ３０、たとえば、予測処理ユニット８１は、参照ピクチャリスト修正情報を受信せずに、参照ピクチャリストを構築することができる。
【０１５０】
[0148]図５は、本開示の技法による、ビデオデータを符号化する方法を示すフローチャートである。図５は、一般的なビデオエンコーダに関して記載される。図５の例では、ビデオエンコーダは、ビデオデータのスライスをＩスライスとして符号化する（１５０）。スライスの場合、ビデオエンコーダはまた、ＩＢＣモードがスライスに有効であることを示すために、ＩＢＣシンタックス要素を生成する（１５２）。スライスの場合、ビデオエンコーダは、ＩＢＣモードを使用してスライスの少なくとも１つのブロックを符号化することができ、イントラモードを使用してスライスの少なくとも１つのブロックを符号化することもできる。ビデオエンコーダは、スライスに関連付けられた、ＳＰＳに含めるためのＩＢＣシンタックス要素を生成することができる。ビデオデータのスライス用の参照ピクチャリスト内の参照ピクチャの数が１に等しいと決定することに応答して、および、ＩＢＣモードがスライスに有効であることに応答して、ビデオエンコーダは、参照ピクチャリスト修正を無効にすることができる。参照ピクチャリスト修正を無効にすることの一部として、ビデオエンコーダは、符号化ビットストリーム内にスライス用の参照ピクチャリスト修正情報を含めない場合がある。
【０１５１】
[0149]図６は、本開示の技法による、ビデオデータを符号化する方法を示すフローチャートである。図６は、一般的なビデオデコーダに関して記載される。一般的なビデオデコーダは、たとえば、ビデオデコーダ３０に対応する場合があるが、本開示の技法は、いかなる特定のタイプのビデオデコーダにも限定されない。ビデオデコーダは、ビデオデータのスライスを受信する（１６０）。ビデオデコーダは、ＩＢＣモードがスライスに有効であると決定するために、ＩＢＣシンタックス要素を解析する（１６２）。ビデオデコーダは、スライスがＩスライスであると決定するために、スライスに関連付けられたスライスタイプシンタックス要素を解析する（１６４）。ビデオデコーダは、スライスをＩスライスとして復号する（１６６）。スライスをＩスライスとして復号するために、ビデオデコーダは、たとえば、イントラ予測コーディングモードを使用してスライスのすべてのブロックを復号することができる。ビデオデコーダは、ＳＰＳ内でＩＢＣシンタックス要素を受信することができる。スライスをＩスライスとして復号するために、ビデオデコーダは、イントラ予測のみを使用してスライスのブロックを復号する。言い換えれば、スライスをＩスライスとして復号するために、ビデオデコーダは、インター予測モードを使用することも、ＩＢＣモードを使用することもなしに、スライスのブロックを復号する。
【０１５２】
[0150]ＩＢＣシンタックス要素は、たとえば、上述されたｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇの場合があり、ＩＢＣシンタックス要素を解析してＩＢＣモードがスライスに有効であると決定するために、ビデオデコーダは、ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値を１に等しいように決定することができる。スライスタイプシンタックス要素は、たとえば、上述されたｓｌｉｃｅ＿ｔｙｐｅシンタックス要素の場合があり、スライスに関連付けられたスライスタイプシンタックス要素を解析してスライスがＩスライスであると決定するために、ビデオデコーダは、ｓｌｉｃｅ＿ｔｙｐｅシンタックス要素の値を２に等しいように決定することができる。
【０１５３】
[0151]図６の例によれば、ビデオデコーダはまた、ビデオデータの第２のスライスを受信し、ビデオデータの第２のスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信し、ビデオデータの第２のスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素が１に等しいことに応答して、および、ＩＢＣモードが第２のスライスに有効であることに応答して、ビデオデコーダは、スライスを備える現在ピクチャを含む、ビデオデータの第２のスライス用の参照ピクチャリストを構築することができる。別の例では、ビデオデコーダは、ビデオデータの第２のスライスを受信し、ビデオデータの第２のスライス用の参照ピクチャリストを構築し、ＩＢＣモードが有効であることに応答して、第２のスライスを含んでいるピクチャを参照ピクチャリストに追加することができる。
【０１５４】
[0152]図７は、本開示の技法による、ビデオデータを符号化する方法を示すフローチャートである。図７は、一般的なビデオデコーダに関して記載される。図７の技法は、図６の技法と連携して使用される場合があるか、または単独で使用される場合がある。一般的なビデオデコーダは、たとえば、ビデオデコーダ３０に対応する場合があるが、本開示の技法は、いかなる特定のタイプのビデオデコーダにも限定されない。ビデオデコーダは、ビデオデータのスライスを受信する（１７０）。ビデオデコーダは、ビデオデータのスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信する（１７２）。ビデオデータのスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素が１に等しいことに応答して、および、ＩＢＣモードが第２のスライスに有効であることに応答して、ビデオデコーダは、第２のスライス用の参照ピクチャリストに対する参照ピクチャリスト修正を無効にする（１７４）。参照ピクチャリスト修正を無効にするために、ビデオデコーダは、たとえば、参照ピクチャリスト修正情報を受信せずに参照ピクチャリストを構築し、参照ピクチャリスト内の第１の項目としてスライスを備える現在ピクチャを追加することができる。
【０１５５】
[0153]１つまたは複数の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装される場合がある。ソフトウェアに実装される場合、機能は１つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行される場合がある。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含む場合がある。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、または（２）信号もしくは搬送波などの通信媒体に対応する場合がある。データ記憶媒体は、本開示に記載された技法の実装用の命令、コード、および／またはデータ構造を取り出すために、１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスすることができる、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含む場合がある。
【０１５６】
[0154]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用することができ、コンピュータによってアクセスすることができる任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに、非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
【０１５７】
[0155]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくは個別論理回路などの、固定機能および／またはプログラマブル処理回路を含む、１つまたは複数のプロセッサによって実行される場合がある。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書に記載された技法の実装に適した任意の他の構造のいずれかを指す場合がある。加えて、いくつかの態様では、本明細書に記載された機能は、符号化および復号のために構成された専用のハードウェアおよび／もしくはソフトウェアのモジュール内で提供されるか、または複合コーデックに組み込まれる場合がある。また、本技法は、１つまたは複数の回路または論理要素内に十分に実装される可能性がある。
【０１５８】
[0156]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置に実装される場合がある。本開示では、開示された技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが記載されたが、それらは、必ずしも異なるハードウェアユニットによって実現される必要があるとは限らない。むしろ、上述されたように、様々なユニットは、適切なソフトウェアおよび／またはファームウェアとともに、上述された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニット内で組み合わされるか、または相互動作可能なハードウェアユニットの集合によって提供される場合がある。
【０１５９】
[0157]様々な例が記載された。これらおよび他の例は以下の特許請求の範囲内にある。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号するための方法であって、
前記ビデオデータのスライスを受信することと、
イントラブロックコピー（ＩＢＣ）モードが前記スライスに有効であると決定するために、ＩＢＣシンタックス要素を解析することと、
前記スライスがＩスライスであると決定するために、前記スライスに関連付けられたスライスタイプシンタックス要素を解析することと、
前記スライスをＩスライスとして復号することと
を備え、前記スライスをＩスライスとして復号することが、少なくとも１つのイントラ予測コーディングモードを使用して前記スライスのすべてのブロックを復号することを備える、方法。
［Ｃ２］
シーケンスパラメータセット（ＳＰＳ）内で前記ＩＢＣシンタックス要素を受信すること
をさらに備える、Ｃ１に記載の方法。
［Ｃ３］
前記スライスをＩスライスとして復号することが、イントラ予測のみを使用して前記スライスのブロックを復号することを備える、Ｃ１に記載の方法。
［Ｃ４］
前記スライスをＩスライスとして復号することが、インター予測モードを使用することも、前記ＩＢＣモードを使用することもなしに、前記スライスのブロックを復号することを備える、Ｃ１に記載の方法。
［Ｃ５］
前記ＩＢＣシンタックス要素がｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素を備え、前記ＩＢＣモードが前記スライスに有効であると決定するために前記ＩＢＣシンタックス要素を解析することが、前記ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素の値が１に等しいと決定することを備える、Ｃ１に記載の方法。
［Ｃ６］
前記スライスタイプシンタックス要素がｓｌｉｃｅ＿ｔｙｐｅシンタックス要素を備え、前記スライスがＩスライスであると決定するために前記スライスに関連付けられた前記スライスタイプシンタックス要素を解析することが、前記ｓｌｉｃｅ＿ｔｙｐｅシンタックス要素の値が２に等しいと決定することを備える、Ｃ１に記載の方法。
［Ｃ７］
前記ビデオデータの第２のスライスを受信することと、
前記ビデオデータの前記第２のスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信することと、
前記ビデオデータの前記第２のスライス用の前記参照ピクチャリスト内の参照ピクチャの前記数を示す前記シンタックス要素が１に等しいことに応答して、および、前記ＩＢＣモードが前記第２のスライスに有効であることに応答して、前記第２のスライス用の前記参照ピクチャリストに対する参照ピクチャリスト修正を無効にすることと
をさらに備える、Ｃ１に記載の方法。
［Ｃ８］
参照ピクチャリスト修正を無効にすることが、
参照ピクチャリスト修正情報を受信せずに、前記参照ピクチャリストを構築することと、
前記参照ピクチャリスト内の第１の項目として、前記第２のスライスを備える現在ピクチャを追加することと
を備える、Ｃ７に記載の方法。
［Ｃ９］
前記ビデオデータの第２のスライスを受信することと、
前記ビデオデータの前記第２のスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信することと、
前記ビデオデータの前記第２のスライス用の前記参照ピクチャリスト内の参照ピクチャの前記数を示す前記シンタックス要素が１に等しいことに応答して、および、前記ＩＢＣモードが前記第２のスライスに有効であることに応答して、前記スライスを備える現在ピクチャを含む、前記ビデオデータの前記第２のスライス用の参照ピクチャリストを構築することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
前記ビデオデータの第２のスライスを受信することと、
前記ビデオデータの前記第２のスライス用の参照ピクチャリストを構築することと、  ＩＢＣモードが有効であることに応答して、前記第２のスライスを含んでいる前記ピクチャを前記参照ピクチャリストに追加することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ１１］
ビデオデータを復号するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
１つまたは複数のプロセッサとを備え、前記１つまたは複数のプロセッサが、
前記ビデオデータのスライスを受信することと、
イントラブロックコピー（ＩＢＣ）モードが前記スライスに有効であると決定するために、ＩＢＣシンタックス要素を解析することと、
前記スライスがＩスライスであると決定するために、前記スライスに関連付けられたスライスタイプシンタックス要素を解析することと、
前記スライスをＩスライスとして復号することと
を行うように構成され、前記スライスをＩスライスとして復号するために、前記１つまたは複数のプロセッサが、少なくとも１つのイントラ予測コーディングモードを使用して前記スライスのすべてのブロックを復号するように構成される、デバイス。
［Ｃ１２］
前記１つまたは複数のプロセッサが、
シーケンスパラメータセット（ＳＰＳ）内で前記ＩＢＣシンタックス要素を受信すること
を行うようにさらに構成される、Ｃ１１に記載のデバイス。
［Ｃ１３］
前記スライスをＩスライスとして復号するために、前記１つまたは複数のプロセッサが、イントラ予測のみを使用して前記スライスのブロックを復号するようにさらに構成される、Ｃ１１に記載のデバイス。
［Ｃ１４］
前記スライスをＩスライスとして復号するために、前記１つまたは複数のプロセッサが、インター予測モードを使用することも、前記ＩＢＣモードを使用することもなしに、前記スライスのブロックを復号するようにさらに構成される、Ｃ１１に記載のデバイス。
［Ｃ１５］
前記ＩＢＣシンタックス要素がｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素を備え、前記ＩＢＣシンタックス要素を解析して、前記ＩＢＣモードが前記スライスに有効であると決定するために、前記１つまたは複数のプロセッサが、前記ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素の値が１に等しいと決定するようにさらに構成される、Ｃ１１に記載のデバイス。
［Ｃ１６］
前記スライスタイプシンタックス要素がｓｌｉｃｅ＿ｔｙｐｅシンタックス要素を備え、前記スライスに関連付けられた前記スライスタイプシンタックス要素を解析して、前記スライスがＩスライスであると決定するために、前記１つまたは複数のプロセッサが、前記ｓｌｉｃｅ＿ｔｙｐｅシンタックス要素の値が２に等しいと決定するようにさらに構成される、Ｃ１１に記載のデバイス。
［Ｃ１７］
前記１つまたは複数のプロセッサが、
前記ビデオデータの第２のスライスを受信することと、
前記ビデオデータの前記第２のスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信することと、
前記ビデオデータの前記第２のスライス用の前記参照ピクチャリスト内の参照ピクチャの前記数を示す前記シンタックス要素が１に等しいことに応答して、および、前記ＩＢＣモードが前記第２のスライスに有効であることに応答して、前記第２のスライス用の前記参照ピクチャリストに対する参照ピクチャリスト修正を無効にすることと
を行うようにさらに構成される、Ｃ１１に記載のデバイス。
［Ｃ１８］
参照ピクチャリスト修正を無効にするために、前記１つまたは複数のプロセッサが、  参照ピクチャリスト修正情報を受信せずに、前記参照ピクチャリストを構築することと、
前記参照ピクチャリスト内の第１の項目として、前記第２のスライスを備える現在ピクチャを追加することと
を行うようにさらに構成される、Ｃ１７に記載のデバイス。
［Ｃ１９］
前記１つまたは複数のプロセッサが、
前記ビデオデータの第２のスライスを受信することと、
前記ビデオデータの前記第２のスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信することと、
前記ビデオデータの前記第２のスライス用の前記参照ピクチャリスト内の参照ピクチャの前記数を示す前記シンタックス要素が１に等しいことに応答して、および、前記ＩＢＣモードが前記第２のスライスに有効であることに応答して、前記スライスを備える現在ピクチャを含む、前記ビデオデータの前記第２のスライス用の参照ピクチャリストを構築することと
を行うようにさらに構成される、Ｃ１１に記載のデバイス。
［Ｃ２０］
前記１つまたは複数のプロセッサが、
前記ビデオデータの第２のスライスを受信することと、
前記ビデオデータの前記第２のスライス用の参照ピクチャリストを構築することと、  ＩＢＣモードが有効であることに応答して、前記第２のスライスを含んでいる前記ピクチャを前記参照ピクチャリストに追加することと
を行うようにさらに構成される、Ｃ１１に記載のデバイス。
［Ｃ２１］
前記デバイスが、
集積回路、
マイクロプロセッサ、または
符号化ビデオデータを受信するように構成された受信機を備えるワイヤレス通信デバイス
のうちの少なくとも１つを備える、Ｃ１１に記載のデバイス。
［Ｃ２２］
ビデオデータを復号するための装置であって、
前記ビデオデータのスライスを受信するための手段と、
イントラブロックコピー（ＩＢＣ）モードが前記スライスに有効であると決定するために、ＩＢＣシンタックス要素を解析するための手段と、
前記スライスがＩスライスであると決定するために、前記スライスに関連付けられたスライスタイプシンタックス要素を解析するための手段と、
前記スライスをＩスライスとして復号するための手段と
を備え、ここにおいて、前記スライスをＩスライスとして復号するための前記手段が、少なくとも１つのイントラ予測コーディングモードを使用して前記スライスのすべてのブロックを復号するための手段を備える、装置。
［Ｃ２３］
前記スライスをＩスライスとして復号するための前記手段が、インター予測モードを使用することも、前記ＩＢＣモードを使用することもなしに、前記スライスのブロックを復号するための手段を備える、Ｃ２２に記載の装置。
［Ｃ２４］
前記ＩＢＣシンタックス要素がｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素を備え、前記ＩＢＣモードが前記スライスに有効であると決定するために前記ＩＢＣシンタックス要素を解析するための前記手段が、前記ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素の値が１に等しいと決定するための手段を備える、Ｃ２２に記載の装置。
［Ｃ２５］
前記スライスタイプシンタックス要素がｓｌｉｃｅ＿ｔｙｐｅシンタックス要素を備え、前記スライスがＩスライスであると決定するために前記スライスに関連付けられた前記スライスタイプシンタックス要素を解析するための前記手段が、前記ｓｌｉｃｅ＿ｔｙｐｅシンタックス要素の値が２に等しいと決定するための手段を備える、Ｃ２２に記載の装置。
［Ｃ２６］
前記ビデオデータの第２のスライスを受信するための手段と、
前記ビデオデータの前記第２のスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信するための手段と、
前記ビデオデータの前記第２のスライス用の前記参照ピクチャリスト内の参照ピクチャの前記数を示す前記シンタックス要素が１に等しいことに応答して、および、前記ＩＢＣモードが前記第２のスライスに有効であることに応答して、前記スライスを備える現在ピクチャを含む、前記ビデオデータの前記第２のスライス用の参照ピクチャリストを構築するための手段と
をさらに備える、Ｃ２７に記載の装置。
［Ｃ２７］
１つまたは複数のプロセッサによって実行されると、
前記ビデオデータのスライスを受信することと、
イントラブロックコピー（ＩＢＣ）モードが前記スライスに有効であると決定するために、ＩＢＣシンタックス要素を解析することと、
前記スライスがＩスライスであると決定するために、前記スライスに関連付けられたスライスタイプシンタックス要素を解析することと、
前記スライスをＩスライスとして復号することと、ここにおいて、前記スライスをＩスライスとして復号するために、前記１つまたは複数のプロセッサが、少なくとも１つのイントラ予測コーディングモードを使用して前記スライスのすべてのブロックを復号する、  を前記１つまたは複数のプロセッサに行わせる命令を記憶するコンピュータ可読記憶媒体。
［Ｃ２８］
前記スライスをＩスライスとして復号するために、前記命令が、インター予測モードを使用することも、前記ＩＢＣモードを使用することもなしに、前記スライスのブロックを復号することを前記１つまたは複数のプロセッサに行わせる、Ｃ２７に記載のコンピュータ可読記憶媒体。
［Ｃ２９］
前記ＩＢＣシンタックス要素がｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素を備え、前記ＩＢＣシンタックス要素を解析して、前記ＩＢＣモードが前記スライスに有効であると決定するために、前記命令が、前記ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素の値が１に等しいと決定することを前記１つまたは複数のプロセッサに行わせる、Ｃ２７に記載のコンピュータ可読記憶媒体。
［Ｃ３０］
前記ビデオデータの第２のスライスを受信することと、
前記ビデオデータの前記第２のスライス用の参照ピクチャリスト内の参照ピクチャの数を示すシンタックス要素を受信することと、
前記ビデオデータの前記第２のスライス用の前記参照ピクチャリスト内の参照ピクチャの前記数を示す前記シンタックス要素が１に等しいことに応答して、および、前記ＩＢＣモードが前記第２のスライスに有効であることに応答して、前記スライスを備える現在ピクチャを含む、前記ビデオデータの前記第２のスライス用の参照ピクチャリストを構築することと
を前記１つまたは複数のプロセッサに行わせる命令をさらに記憶する、Ｃ２７に記載のコンピュータ可読記憶媒体。
【図１】
0006716611.tif 000010
【図２】
0006716611.tif 000011
【図３】
0006716611.tif 000012
【図４】
0006716611.tif 000013
【図５】
0006716611.tif 000014
【図６】
0006716611.tif 000015
【図７】
0006716611.tif 000016