(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
１つまたは複数のプロセッサが、第１のレイヤと異なるマルチレイヤビットストリームのビデオデータの第２のレイヤの中のサンプルのロケーションおよび１つまたは複数のスケーリングされたオフセット値に基づいて、前記マルチレイヤビットストリームのビデオデータの前記第１のレイヤの中に含まれる参照ピクチャに関連付けられた参照サンプルのロケーションを決定することと、ここにおいて、前記１つまたは複数のスケーリングされたオフセット値は、前記第１のレイヤと前記第２のレイヤとの間のスケールの差分を示す、
前記１つまたは複数のプロセッサが、前記参照ピクチャ内に配置される前記参照サンプルのための調整されたロケーションを決定するために、前記参照サンプルの前記ロケーションを調整することと、
前記参照サンプルの前記ロケーションを調整した後に、前記１つまたは複数のプロセッサが、前記参照サンプルの前記調整されたロケーションに基づいて、前記第１のレイヤの中のビデオデータの参照ブロックのロケーションを決定することと、
前記１つまたは複数のプロセッサが、前記第１のレイヤの中の前記参照ブロックの参照データに関連して前記第２のレイヤの中のビデオデータの現在のブロックを復号することと、ここにおいて、前記参照データに関連して前記現在のブロックを復号することは、前記現在のブロックのための残差データを復号することと、前記残差データおよび前記参照ブロックの前記参照データの組合せに基づいて前記現在のブロックを再構成することとを備え、
前記参照ブロックは、コーディングツリーユニット（ＣＴＵ）を備え、それにより前記参照ブロックの前記ロケーションを決定することが、前記ＣＴＵのロケーションを決定することを備え、
前記ＣＴＵの前記ロケーションを決定することは、前記ＣＴＵのラスタ走査アドレスを決定することを備える、
を備える、方法。
【請求項２】
前記マルチレイヤビットストリームから前記１つまたは複数のスケーリングされたオフセット値を復号することをさらに備える、請求項１に記載の方法。
【請求項３】
前記参照サンプルの前記ロケーションを調整することは、前記１つまたは複数のスケーリングされたオフセット値に基づいて前記参照サンプルのロケーションをクリップすることを備える、請求項１に記載の方法。
【請求項４】
前記参照サンプルの前記ロケーションをクリップすることは、
前記参照サンプルの水平ロケーションが左の参照ピクチャ境界の左側に配置されるとき、前記水平ロケーションを前記左の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、前記水平ロケーションを前記右の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、前記垂直ロケーションを前記上の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、前記垂直ロケーションを前記下の参照ピクチャ境界のロケーションと取り換えることと
を備える、請求項３に記載の方法。
【請求項５】
前記第１のレイヤについてのオフセット遅延を示すデータを復号することをさらに備え、前記オフセット遅延は、前記マルチレイヤビットストリームの前記第２のレイヤを復号する前に復号されるべき前記第１のレイヤからのビデオデータの最低限の量を示し、
前記参照ブロックの前記ロケーションを決定することは、前記参照ブロックの前記決定されたロケーションに基づいて前記オフセット遅延を調整することを備える、請求項１に記載の方法。
【請求項６】
ビデオデータを符号化する方法であって、
１つまたは複数のプロセッサが、第１のレイヤと異なるマルチレイヤビットストリームのビデオデータの第２のレイヤの中のサンプルのロケーションおよび１つまたは複数のスケーリングされたオフセット値に基づいて、前記マルチレイヤビットストリームのビデオデータの前記第１のレイヤの中に含まれる参照ピクチャに関連付けられた参照サンプルのロケーションを決定することと、ここにおいて、前記１つまたは複数のスケーリングされたオフセット値は、前記第１のレイヤと前記第２のレイヤとの間のスケールの差分を示す、
前記１つまたは複数のプロセッサが、前記参照ピクチャ内に配置される前記参照サンプルのための調整されたロケーションを決定するために、前記参照サンプルの前記ロケーションを調整することと、
前記参照サンプルの前記ロケーションを調整した後に、前記１つまたは複数のプロセッサが、前記参照サンプルの前記調整されたロケーションに基づいて、前記第１のレイヤの中のビデオデータの参照ブロックのロケーションを決定することと、
１つまたは複数のプロセッサが、前記第１のレイヤの中の前記参照ブロックの参照データに関連して前記第２のレイヤの中のビデオデータの現在のブロックを符号化することと、ここにおいて、前記参照データに関連して前記現在のブロックを符号化することは、前前記現在のブロックと前記参照ブロックとの間の差分に基づいて、前記現在のブロックのための残差データを決定することと、符号化されたビットストリームの中の前記残差データを符号化することとを備え、
前記参照ブロックは、コーディングツリーユニット（ＣＴＵ）を備え、それにより前記参照ブロックの前記ロケーションを決定することが、前記ＣＴＵのロケーションを決定することを備え、
前記ＣＴＵの前記ロケーションを決定することは、前記ＣＴＵのラスタ走査アドレスを決定することを備える、
備える、方法。
【請求項７】
前記マルチレイヤビットストリームの中で前記１つまたは複数のスケーリングされたオフセット値を符号化することをさらに備える、請求項６に記載の方法。
【請求項８】
前記参照サンプルの前記ロケーションを調整することは、前記１つまたは複数のスケーリングされたオフセット値に基づいて前記参照サンプルのロケーションをクリップすることを備える、請求項６に記載の方法。
【請求項９】
前記参照サンプルの前記ロケーションをクリップすることは、
前記参照サンプルの水平ロケーションが左の参照ピクチャ境界の左側に配置されるとき、前記水平ロケーションを前記左の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、前記水平ロケーションを前記右の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、前記垂直ロケーションを前記上の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、前記垂直ロケーションを前記下の参照ピクチャ境界のロケーションと取り換えることとを備える、請求項８に記載の方法。
【請求項１０】
前記第１のレイヤについてのオフセット遅延を示すデータを符号化することをさらに備え、前記オフセット遅延は、前記マルチレイヤビットストリームの前記第２のレイヤを符号化する前に符号化されるべき前記第１のレイヤからのビデオデータの最低限の量を示し、
前記参照ブロックの前記ロケーションを決定することは、前記参照ブロックの前記決定されたロケーションに基づいて前記オフセット遅延を調整することを備える、請求項６に記載の方法。
【請求項１１】
ビデオ復号を実行する装置であって、
ビデオデータを記憶するメモリと、
第１のレイヤと異なるマルチレイヤビットストリームのビデオデータの第２のレイヤの中のサンプルのロケーションおよび１つまたは複数のスケーリングされたオフセット値に基づいて前記マルチレイヤビットストリームのビデオデータの前記第１のレイヤの中に含まれる参照ピクチャに関連付けられた参照サンプルのロケーションを決定することと、ここにおいて、前記１つまたは複数のスケーリングされたオフセット値は、前記第１のレイヤと前記第２のレイヤとの間のスケールの差分を示す、
前記参照ピクチャ内に配置される前記参照サンプルのための調整されたロケーションを決定するために、前記参照サンプルの前記ロケーションを調整することと、
前記参照サンプルの前記ロケーションを調整した後に、前記参照サンプルの前記調整されたロケーションに基づいて前記第１のレイヤの中のビデオデータの参照ブロックのロケーションを決定することと、
前記第１のレイヤの中の前記参照ブロックの参照データに関連して前記第２のレイヤの中のビデオデータの現在のブロックを復号することと、ここにおいて、前記参照データに関連して前記現在のブロックを復号するために、ビデオデコーダは、前記現在のブロックのための残差データを復号することと、前記残差データおよび前記参照ブロックの前記参照データの組合せに基づいて前記現在のブロックを再構成することとを行うように構成される、
を行うように構成された前記ビデオデコーダとを備え、
前記参照ブロックは、コーディングツリーユニット（ＣＴＵ）を備え、それにより前記参照ブロックの前記ロケーションを決定するために、前記ビデオデコーダが、前記ＣＴＵのロケーションを決定するように構成され、
前記ＣＴＵの前記ロケーションを決定するために、前記ビデオデコーダは、前記ＣＴＵのラスタ走査アドレスを決定するように構成される、
装置。
【請求項１２】
前記ビデオデコーダは、前記マルチレイヤビットストリームの中で前記１つまたは複数のスケーリングされたオフセット値を復号するようにさらに構成される、請求項１１に記載の装置。
【請求項１３】
前記参照サンプルの前記ロケーションを調整するために、前記ビデオデコーダは、前記１つまたは複数のスケーリングされたオフセット値に基づいて前記参照サンプルのロケーションをクリップするように構成される、請求項１１に記載の装置。
【請求項１４】
前記参照サンプルの前記ロケーションをクリップするために、前記ビデオデコーダは、
前記参照サンプルの水平ロケーションが左の参照ピクチャ境界の左側に配置されるとき、前記水平ロケーションを前記左の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、前記水平ロケーションを前記右の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、前記垂直ロケーションを前記上の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、前記垂直ロケーションを前記下の参照ピクチャ境界のロケーションと取り換えることとを行うように構成される、請求項１３に記載の装置。
【請求項１５】
前記ビデオデコーダは、
前記第１のレイヤについてのオフセット遅延を示すデータを復号するようにさらに構成され、前記オフセット遅延は、前記マルチレイヤビットストリームの前記第２のレイヤを復号する前に復号されるべき前記第１のレイヤからのビデオデータの最低限の量を示し、
前記参照ブロックの前記ロケーションを決定するために、前記１つまたは複数のプロセッサは、前記参照ブロックの前記決定されたロケーションに基づいて前記オフセット遅延を調整するように構成される、請求項１１に記載の装置。
【請求項１６】
前記ビデオデータを提示するように構成されたディスプレイデバイスをさらに備える、請求項１１に記載の装置。
【請求項１７】
前記ビデオデータを受信するように構成されたワイヤレスモデムをさらに備える、請求項１１に記載の装置。
【請求項１８】
ビデオ復号を実行する装置であって、
第１のレイヤと異なるマルチレイヤビットストリームのビデオデータの第２のレイヤの中のサンプルのロケーションおよび１つまたは複数のスケーリングされたオフセット値に基づいて、前記マルチレイヤビットストリームのビデオデータの前記第１のレイヤの中に含まれる参照ピクチャに関連付けられた参照サンプルのロケーションを決定するための手段と、ここにおいて、前記１つまたは複数のスケーリングされたオフセット値は、前記第１のレイヤと前記第２のレイヤとの間のスケールの差分を示す、
前記参照ピクチャ内に配置される前記参照サンプルのための調整されたロケーションを決定するために、前記参照サンプルの前記ロケーションを調整するための手段と、
前記参照サンプルの前記ロケーションを調整した後に、前記参照サンプルの前記調整されたロケーションに基づいて、前記第１のレイヤの中のビデオデータの参照ブロックのロケーションを決定するための手段と、
前記第１のレイヤの中の前記参照ブロックの参照データに関連して前記第２のレイヤの中のビデオデータの現在のブロックを復号するための手段と、ここにおいて、前記参照データに関連して前記現在のブロックを復号するための前記手段は、前記現在のブロックのための残差データを復号するための手段と、前記残差データおよび前記参照ブロックの前記参照データの組合せに基づいて前記現在のブロックを再構成するための手段とを備え、
前記参照ブロックは、コーディングツリーユニット（ＣＴＵ）を備え、それにより前記参照ブロックの前記ロケーションを決定するための前記手段が、前記ＣＴＵのロケーションを決定するための手段を備え、
前記ＣＴＵの前記ロケーションを決定するための前記手段は、前記ＣＴＵのラスタ走査アドレスを決定するための手段を備える、
を備える、装置。
【請求項１９】
前記マルチレイヤビットストリームの中で前記１つまたは複数のスケーリングされたオフセット値を復号するための手段をさらに備える、請求項１８に記載の装置。
【請求項２０】
前記参照サンプルの前記ロケーションを調整するための前記手段は、前記１つまたは複数のスケーリングされたオフセット値に基づいて前記参照サンプルのロケーションをクリップするための手段を備える、請求項１８に記載の装置。
【請求項２１】
前記参照サンプルの前記ロケーションをクリップするための前記手段は、
前記参照サンプルの水平ロケーションが左の参照ピクチャ境界の左側に配置されるとき、前記水平ロケーションを前記左の参照ピクチャ境界のロケーションと取り換えるための手段と、
前記参照サンプルの前記水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、前記水平ロケーションを前記右の参照ピクチャ境界のロケーションと取り換えるための手段と、
前記参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、前記垂直ロケーションを前記上の参照ピクチャ境界のロケーションと取り換えるための手段と、
前記参照サンプルの前記垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、前記垂直ロケーションを前記下の参照ピクチャ境界のロケーションと取り換えるための手段とを備える、請求項２０に記載の装置。
【請求項２２】
前記第１のレイヤについてのオフセット遅延を示すデータを復号するための手段をさらに備え、前記オフセット遅延は、前記マルチレイヤビットストリームの前記第２のレイヤを復号する前に復号されるべき前記第１のレイヤからのビデオデータの最低限の量を示し、
前記参照ブロックの前記ロケーションを決定するための前記手段は、前記参照ブロックの前記決定されたロケーションに基づいて前記オフセット遅延を調整するための手段を備える、請求項１８に記載の装置。
【請求項２３】
命令を記憶する非一時的コンピュータ可読媒体であって、前記命令が、実行されたとき、ビデオデコーダに、
第１のレイヤと異なるマルチレイヤビットストリームのビデオデータの第２のレイヤの中のサンプルのロケーションおよび１つまたは複数のスケーリングされたオフセット値に基づいて前記マルチレイヤビットストリームのビデオデータの前記第１のレイヤの中に含まれる参照ピクチャに関連付けられた参照サンプルのロケーションを決定することと、ここにおいて、前記１つまたは複数のスケーリングされたオフセット値は、前記第１のレイヤと前記第２のレイヤとの間のスケールの差分を示す、
前記参照ピクチャ内に配置される前記参照サンプルのための調整されたロケーションを決定するために、前記参照サンプルの前記ロケーションを調整することと、
前記参照サンプルの前記ロケーションを調整した後に、前記参照サンプルの前記調整されたロケーションに基づいて前記第１のレイヤの中のビデオデータの参照ブロックのロケーションを決定することと、
前記第１のレイヤの中の前記参照ブロックの参照データに関連して前記第２のレイヤの中のビデオデータの現在のブロックを復号することと、ここにおいて、前記参照データに関連して前記現在のブロックを復号するために、前記命令が、前記ビデオデコーダに、前記現在のブロックのための残差データを復号することと、前記残差データおよび前記参照ブロックの前記参照データの組合せに基づいて前記現在のブロックを再構成することとを行わせ、
前記参照ブロックは、コーディングツリーユニット（ＣＴＵ）を備え、それにより前記参照ブロックの前記ロケーションを決定するために、前記命令が、前記ビデオデコーダに、前記ＣＴＵのロケーションを決定させ、
前記ＣＴＵの前記ロケーションを決定するために、前記命令は、前記ビデオデコーダに、前記ＣＴＵのラスタ走査アドレスを決定させる、
を行わせる、非一時的コンピュータ可読媒体。
【請求項２４】
前記命令は、前記ビデオデコーダに、前記１つまたは複数のスケーリングされたオフセット値を、前記マルチレイヤビットストリームの中で復号させる、請求項２３に記載の非一時的コンピュータ可読媒体。
【請求項２５】
前記参照サンプルの前記ロケーションを調整するために、前記命令は、前記ビデオデコーダに、前記１つまたは複数のスケーリングされたオフセット値に基づいて前記参照サンプルのロケーションをクリップさせる、請求項２３に記載の非一時的コンピュータ可読媒体。
【請求項２６】
前記参照サンプルの前記ロケーションをクリップするために、前記命令は、前記ビデオデコーダに、
前記参照サンプルの水平ロケーションが左の参照ピクチャ境界の左側に配置されるとき、前記水平ロケーションを前記左の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、前記水平ロケーションを前記右の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、前記垂直ロケーションを前記上の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、前記垂直ロケーションを前記下の参照ピクチャ境界のロケーションと取り換えることとを行わせる、請求項２５に記載の非一時的コンピュータ可読媒体。
【請求項２７】
前記命令がさらに、前記ビデオデコーダに、
前記第１のレイヤについてのオフセット遅延を示すデータを復号させ、前記オフセット遅延は、前記マルチレイヤビットストリームの前記第２のレイヤを復号する前に復号されるべき前記第１のレイヤからのビデオデータの最低限の量を示し、
前記参照ブロックの前記ロケーションを決定するために、前記命令は、前記１つまたは複数のプロセッサに、前記参照ブロックの前記決定されたロケーションに基づいて前記オフセット遅延を調整することを行わせる、請求項２３に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本出願は、その内容全体が参照により本明細書に組み込まれる、２０１３年７月１５日に出願された米国仮出願第６１／８４６，５７０号の利益を主張する。
【０００２】
[0002]  本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]  デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]  ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）が、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた（Ｉ）スライス内のビデオブロックは、同じピクチャにおける隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測、または他の参照ピクチャ（reference picture）の中の参照サンプルに対する時間的予測を使用することができる。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]  空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングされたブロックと予測ブロックとの間の差分（difference）を示す残差データ（residual data）に従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初に２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査されてよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてよい。
【発明の概要】
【０００６】
[0006]  概して、本開示は、ビデオコーディングの並列処理ための技法を説明する。たとえば、本開示は、高効率ビデオコーディング（ＨＥＶＣ）規格のマルチレイヤ拡張を含む、マルチレイヤビデオコーディング処理における並列処理のための技法を説明する。本開示の技法はまた、マルチビューＨＥＶＣ（ＭＶ−ＨＥＶＣ）などの他のマルチレイヤビデオコーディング規格およびそのような規格の拡張に適用され得る。いくつかの例では、技法は、オフセット遅延情報（offset delay information）などの、複数のレイヤを並列に処理するための情報をビデオパラメータセット（ＶＰＳ：video parameter set）の中でシグナリングすることを含む。技法はまた、タイル整列情報（tile alignment information）などの、複数のレイヤを並列に処理するための情報をシグナリングすることを、または含み得る。態様はまた、マルチレイヤビデオコーディングにおいて、配列されたブロックのロケーションを決定するための技法に関し得る。
【０００７】
[0007]  一例では、ビデオデータを復号する方法は、マルチレイヤビットストリーム（multi-layer bitstream）のビデオパラメータセット（ＶＰＳ）から、マルチレイヤビットストリームの任意のレイヤがレイヤ間予測制約（inter-layer prediction restriction）を有するかどうかを示すデータ、またはタイル境界（tile boundary）がマルチレイヤビットストリームのレイヤのうちの少なくとも２つの間で整列されている（aligned）かどうかを示すデータのうちの、少なくとも１つを復号することと、ＶＰＳから復号されたデータに従って、マルチレイヤビットストリームを復号することとを含む。
【０００８】
[0008]  別の例では、ビデオデータを符号化する方法は、マルチレイヤビットストリームのビデオパラメータセット（ＶＰＳ）の中で、マルチレイヤビットストリームの任意のレイヤがレイヤ間予測制約を有するかどうかを示すデータ、またはタイル境界がマルチレイヤビットストリームのレイヤのうちの少なくとも２つの間で整列されているかどうかを示すデータのうちの、少なくとも１つを符号化することと、ＶＰＳの中で符号化されるデータに従って、マルチレイヤビットストリームを符号化することとを含む。
【０００９】
[0009]  別の例では、ビデオコーディングを実行する装置は、ビデオデータを記憶するメモリと、マルチレイヤビットストリームの任意のレイヤがレイヤ間予測制約を有するかどうかを示すデータ、またはタイル境界がマルチレイヤビットストリームのレイヤのうちの少なくとも２つの間で整列されているかどうかを示すデータのうちの、少なくとも１つをコーディングすることを含む、マルチレイヤビットストリームのビデオパラメータセット（ＶＰＳ）のデータをコーディングすることと、ＶＰＳのデータに従って、マルチレイヤビットストリームをコーディングすることとを行うように構成されたビデオコーダとを含む。
【００１０】
[0010]  別の例では、ビデオコーディングを実行する装置は、マルチレイヤビットストリームの任意のレイヤがレイヤ間予測制約を有するかどうかを示すデータ、またはタイル境界がマルチレイヤビットストリームのレイヤのうちの少なくとも２つの間で整列されているかどうかを示すデータのうちの少なくとも１つを含む、マルチレイヤビットストリームのビデオパラメータセット（ＶＰＳ）のデータをコーディングするための手段と、ＶＰＳのデータに従って、マルチレイヤビットストリームをコーディングするための手段とを含む。
【００１１】
[0011]  別の例では、非一時的コンピュータ可読媒体は、実行されたとき、ビデオコーダに、マルチレイヤビットストリームの任意のレイヤがレイヤ間予測制約を有するかどうかを示すデータ、またはタイル境界がマルチレイヤビットストリームのレイヤのうちの少なくとも２つの間で整列されているかどうかを示すデータのうちの、少なくとも１つをコーディングすることを含む、マルチレイヤビットストリームのビデオパラメータセット（ＶＰＳ）のデータをコーディングすることと、ＶＰＳのデータに従って、マルチレイヤビットストリームをコーディングすることとを行わせる命令を記憶する。
【００１２】
[0012]  別の例では、ビデオデータを復号する方法は、ビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを、１つまたは複数のスケーリングされたオフセット値に基づいて決定することと、ここにおいて、参照ピクチャは、マルチレイヤビットストリームの第１のレイヤの中に含まれ、１つまたは複数のスケーリングされたオフセット値は、第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す、第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを、参照サンプルのロケーションに基づいて決定することと、前記配列された参照ブロックに関連して第２のレイヤの中のビデオデータの現在のブロックを復号することとを含む。
【００１３】
[0013]  別の例では、ビデオデータを符号化する方法は、ビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを、１つまたは複数のスケーリングされたオフセット値に基づいて決定することと、ここにおいて、参照ピクチャは、マルチレイヤビットストリームの第１のレイヤの中に含まれ、１つまたは複数のスケーリングされたオフセット値は、第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す、第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを、参照サンプルのロケーションに基づいて決定することと、前記配列された参照ブロックに関連して第２のレイヤの中のビデオデータの現在のブロックを符号化することとを含む。
【００１４】
[0014]  別の例では、ビデオコーディングを実行する装置は、ビデオデータを記憶するメモリと、ビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを、１つまたは複数のスケーリングされたオフセット値に基づいて決定することと、ここにおいて、参照ピクチャは、マルチレイヤビットストリームの第１のレイヤの中に含まれ、１つまたは複数のスケーリングされたオフセット値は、第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す、参照サンプルのロケーションに基づいて第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを決定することと、配列された参照ブロックに関連して第２のレイヤの中のビデオデータの現在のブロックをコーディングすることとを行うように構成されたビデオコーダとを含む。
【００１５】
[0015]  別の例では、ビデオコーディングを実行する装置は、ビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを、１つまたは複数のスケーリングされたオフセット値に基づいて決定するための手段と、ここにおいて、参照ピクチャは、マルチレイヤビットストリームの第１のレイヤの中に含まれ、１つまたは複数のスケーリングされたオフセット値は、第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す、第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを、参照サンプルのロケーションに基づいて決定するための手段と、前記配列された参照ブロックに対して第２のレイヤの中のビデオデータの現在のブロックをコーディングするための手段とを含む。
【００１６】
[0016]  別の例では、非一時的コンピュータ可読媒体は、実行されたとき、ビデオコーダに、ビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを、１つまたは複数のスケーリングされたオフセット値に基づいて決定することと、ここにおいて、参照ピクチャは、マルチレイヤビットストリームの第１のレイヤの中に含まれ、１つまたは複数のスケーリングされたオフセット値は、第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す、第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを、参照サンプルのロケーションに基づいて決定することと、前記配列された参照ブロックに対して第２のレイヤの中のビデオデータの現在のブロックをコーディングすることとを行わせる命令を記憶する。
【００１７】
[0017]  本開示の１つまたは複数の例の詳細が、添付の図面および以下の説明に記載されている。本開示の他の特徴、目的、および利点は、その説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１８】
【図１】[0018]  ビデオデータを並列に処理するための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0019]  ビデオデータを並列に処理するための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】[0020]  ビデオデータを並列に処理するための技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】[0021]  スケーラブルビデオコーディング（ＳＶＣ）のための様々なスケーラブルな次元を示す概念図。
【図５】[0022]  ＳＶＣコーディング構造の一例を示す概念図。
【図６】[0023]  例示的なアクセスユニット（ＡＵ）を示す概念図。
【図７】[0024]  高効率ビデオコーディング（ＨＥＶＣ）規格による例示的なタイルを示す概念図。
【図８】[0025]  波面並列処理（ＷＰＰ：wavefront parallel processing）に対する波面を示す概念図。
【図９】[0026]  配列された参照レイヤ領域を有しないエンハンスメントレイヤ領域を示す概念図。
【図１０】[0027]  配列された参照レイヤ領域を有しないエンハンスメントレイヤ領域を示す別の概念図。
【図１１Ａ】[0028]  マルチレイヤビデオコーディングにおいてオフセット遅延情報を決定するための例示的なプロセスを示す流れ図。
【図１１Ｂ】マルチレイヤビデオコーディングにおいてオフセット遅延情報を決定するための例示的なプロセスを示す流れ図。
【図１２】[0029]  マルチレイヤビデオコーディングにおいてビデオデータの配列されたブロックを決定するための例示的なプロセスを示す流れ図。
【図１３】[0030]  マルチレイヤビデオコーディングにおいてタイル整列情報を決定するための例示的なプロセスを示す流れ図。
【発明を実施するための形態】
【００１９】
[0031]  本開示の態様は、ビデオコーディングにおけるクロスレイヤ並列処理およびオフセット遅延パラメータと関連した様々な技法に関し得る。いくつかの事例では、技法は、ＨＥＶＣに対するマルチビュービデオコーディング拡張（ＭＶ−ＨＥＶＣ）またはＨＥＶＣに対するスケーラブルビデオコーディング（ＳＶＣ）拡張（ＳＨＶＣ）などの、高効率ビデオコーディング（ＨＥＶＣ）規格に対するマルチレイヤ拡張とともに実行され得る。技法はまた、ＨＥＶＣに対する他の拡張、他のスケーラブルコーディング規格、他のマルチビューコーディング規格（深度コンポーネントを伴う、または伴わない）および／または他のマルチレイヤビデオコーデックとともに使用され得る。本開示の技法がいかなる特定のビデオコーディング規格にも限定されないことを理解されたい。加えて、本開示の技法のいずれかが、独立にまたは組み合わせて適用され得ることを理解されたい。
【００２０】
[0032]  以下でより詳細に説明するように、本開示の態様は、クロスレイヤ並列処理のオフセット遅延パラメータのシグナリングに関する改善を含み得る。「オフセット遅延（offset delay）」は、一般に、複数のレイヤを並列に処理（たとえば、符号化または復号）することと関連した遅延を指す場合がある。たとえば、ビデオデコーダは、マルチレイヤビットストリームの２つ以上のレイヤを並列に復号し得る（すなわち、ビデオデコーダは、マルチレイヤビットストリームの複数のレイヤを同時にまたは同期的に復号し得る）。しかしながら、現在のレイヤを復号するためにレイヤ間予測技法を使用するとき、ビデオデコーダは、現在のレイヤと異なる参照レイヤ（reference layer）の参照データにアクセスすることがある。現在のレイヤを復号するためのレイヤ間の参照として使用されるために、参照データが利用可能で（たとえば、復号され）なければならない。したがって、一般に、ビデオデコーダは、参照レイヤのうちの１つまたは複数を参照するレイヤを復号する前に、マルチレイヤ復号方式におけるすべての参照レイヤの復号を確定する。
【００２１】
[0033]  いくつかの事例では、並列性は、オフセット遅延情報と呼ばれる情報を実装することによって増大させることができる。すなわち、参照レイヤ全体が確定（たとえば、復号）されるのを待つのではなく、ビデオデコーダは、参照レイヤのうちの少なくともいくつかが復号されるまで、現在のレイヤの復号の開始を遅延させればよい。オフセット遅延は、一般に、ビデオデコーダが現在のレイヤの復号を開始する前に復号されるべき参照レイヤの最低限の量を示し得る。オフセット遅延を実装することは、参照レイヤおよび現在のレイヤの少なくとも部分が並列に復号されることを依然として可能にしながら、レイヤ間参照データが参照として使用されるために、確実に利用可能にさせる助けとなり得る。たとえば、並列デコーダは、規定された参照レイヤのオフセット遅延が達成されるとすぐに、エンハンスメントレイヤの復号を開始し得る。上記の例はビデオ復号（並列デコーダによって実行されるような）に関して説明されるが、類似の技法が並列な符号化の間にビデオエンコーダによって適用され得ることを理解されたい。
【００２２】
[0034]  一般的な意味では、テクスチャビューコンポーネント、深度ビューコンポーネント、ならびに様々な時間レイヤ、空間レイヤ、および品質レイヤは、本開示に関していくらか互換性があるものとして考えられ得る。たとえば、いくつかの事例では、コーディングされているマルチレイヤビットストリームが、テクスチャビューコンポーネント、深度ビューコンポーネント、または典型的にはスケーラブルビデオコーディングと関連したスケーラブルコンポーネント（たとえば、時間レイヤ、空間レイヤおよび／または品質レイヤ）を含むかどうかにかかわらず、ビデオコーダは、類似または同一のレイヤ間ビデオコーディング技法を実行し得る。したがって、本開示の技法は、一般的な意味で「レイヤ」に適用可能であると考えられ得、その場合、レイヤは、テクスチャビューコンポーネント、深度ビューコンポーネント、時間スケーラブルレイヤ、空間スケーラブルレイヤ、または品質スケーラブルレイヤのいずれかであり得る。すなわち、本明細書で説明される技法は、上述された用語として一般的な「レイヤ」に広く適用可能であることを理解されたい。
【００２３】
[0035]  オフセット遅延のシグナリングのための１つの方式が、Ｓｋｕｐｉｎらへの文書「Ｉｎｔｅｒ−Ｌａｙｅｒ  Ｄｅｌａｙ  Ｉｎｄｉｃａｔｉｏｎ  ｉｎ  ＶＵＩ」，ＪＣＴＶＣ−Ｍ０４６３，Ｉｎｃｈｅｏｎ，ＫＲ，２０１３年４月１８〜２６日（以後、ＪＣＴＶＣ−Ｍ０４６３）の中で提案された。方式は、各レイヤについて最低限必要とされる復号遅延を伝達するシーケンスパラメータセット（ＳＰＳ: sequence parameter set）のビデオユーザビリティ情報（ＶＵＩ: video usability information）の中でオフセット遅延シンタックス要素（offset delay syntax element）をシグナリングすることによって、レイヤにわたって並列に復号する際の助けとなるように設計された。この方式のもとで、オフセット遅延によって規定された参照レイヤの中の領域が復号されるとすぐに、特定のレイヤの復号は開始することができる。
【００２４】
[0036]  しかしながら、ＪＣＴＶＣ−Ｍ０４６３に開示された方式は、いくつかの欠点を有することがある。たとえば、ＳＰＳは、異なる識別値（たとえば、ｎｕｈ＿ｌａｙｅｒ＿ｉｄシンタックス要素によって示されるような）を有する複数のレイヤに関連付けられ得る。シンタックス要素ｎｕｍ＿ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓの提案されたセマンティック（ＪＣＴＶＣ−Ｍ０４６３で導入された）は、ＳＰＳを参照する各レイヤについて、そのシンタックス要素の値がＮｕｍＤｉｒｅｃｔＲｅｆＬａｙｅｒｓパラメータに等しくなるように制限する（ここで、ＮｕｍＤｉｒｅｃｔＲｅｆＬａｙｅｒｓパラメータは特定の直接参照レイヤを示す）。直接参照レイヤは、予測のために別のレイヤによって直接参照される。たとえば、参照としてレイヤＢを使用する現在のレイヤＡを仮定すると、参照レイヤＢは直接参照レイヤと呼ばれてよい。参照としてレイヤＣを使用するレイヤＡを仮定し、レイヤＣがレイヤＢを参照する場合、レイヤＢは間接参照レイヤと呼ばれてよい。
【００２５】
[0037]  いずれの場合も、異なる値のＮｕｍＤｉｒｅｃｔＲｅｆＬａｙｅｒｓパラメータを有する（所与のＳＰＳを参照する）レイヤ（すなわち、シンタックス要素ｎｕｍ＿ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓのそれぞれの値が互いの間で異なるレイヤ）、またはわずかに異なるオフセット値を有し得る（所与のＳＰＳを参照する）レイヤについて、シンタックス要素の提案されたシンタックス構造ｎｕｍ＿ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓは、ＳＰＳ内の情報をこれらのレイヤ間で共有することを厳しく制限する。言い換えれば、別個のＳＰＳは、異なる値のＮｕｍＤｉｒｅｃｔＲｅｆＬａｙｅｒｓパラメータを所有するような各レイヤ、または所与のＳＰＳを参照する他のレイヤに対してわずかに異なるオフセット値を有し得るような各レイヤのいずれかについて、シグナリングされる必要がある場合がある。したがって、オフセット遅延情報をＳＰＳの中でシグナリングすることは、理想的でない場合がある。
【００２６】
[0038]  加えて、ＳＰＳの中のビデオパラメータセット（ＶＰＳ）のパーシング依存性を回避するために、ｎｕｍ＿ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓ（レイヤ間予測制約を有する特定の参照レイヤを示す）は、ｎｕｍ＿ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓの値がＮｕｍＤｉｒｅｃｔＲｅｆＬａｙｅｒｓ［ｎｕｈ＿ｌａｙｅｒ＿ｉｄ]に等しくなければならないという制約を伴ってＳＰＳの中でシグナリングされ、ここで、ｎｕｈ＿ｌａｙｅｒ＿ｉｄは、ＳＰＳを参照する任意のピクチャのｎｕｈ＿ｌａｙｅｒ＿ｉｄである。言い換えれば、いくつかの参照レイヤは、異なるレイヤが場合によってはオフセット遅延に影響を及ぼし得る異なる特性を有するにもかかわらず、ＳＰＳの中に含まれる同じオフセット遅延情報を共有することを強制されることがある。
【００２７】
[0039]  本開示の態様によれば、オフセット遅延情報は、２つ以上のレイヤによって参照され得るビデオパラメータセット（ＶＰＳ）の中に含まれ得る。ＶＰＳは、サブレイヤ間の依存性を含む、コーディングされたビデオシーケンスの全特性を記述するデータを含み得る。ＶＰＳの１つの目的は、システムレイヤにおけるシグナリングに関して、特定の規格の互換性のある拡張性を可能にすることであり得る。ＶＰＳは、通常、復号されるべきビットストリームのためのマルチレイヤビットストリームの中に含まれなければならない。
【００２８】
[0040]  オフセット遅延情報をＶＰＳの中に含めることによって、オフセット遅延情報は、各参照レイヤについて別個に規定され得る。そのようなシグナリングは、異なる特性を有する参照レイヤが同じオフセット遅延情報を共有することを強制されないので、効率を増大させ得る。加えて、オフセット遅延情報をＶＰＳの中に含めることによって、シンタックス要素ｎｕｍ＿ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓの値は、復号の間に（以下でより詳細に説明するように）推測され得る（すなわち、明示的なシグナリングなしにデコーダによって決定され得る）。したがって、制約を有する参照レイヤの数のシグナリング（たとえば、上述したｎｕｍ＿ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓシンタックス要素）が、回避され得る。
【００２９】
[0041]  本開示の技法はまた、拡張された空間スケーラビリティマルチレイヤビデオコーディングを使用するときにビデオデータの配列されたブロックのロケーションを決定すること、および配列されたブロックと関連したオフセット遅延を決定することに、適用可能であり得る。以下でより詳細に説明するように、得られたサブストリームが、ターゲットにするデコーダによって復号可能な別の有効なビットストリームを形成する方法で、ストリームの部分が除去され得る場合、ビデオビットストリームは「スケーラブル（scalable）」であると呼ばれることがある。空間スケーラビリティに関して、ビットストリームのサブセットは、異なるピクチャサイズ（空間解像度）を有するソースコンテンツを表す。各空間レイヤでは、ビデオコーダは、動き補償された予測とイントラ予測とを、シングルレイヤコーディングのためのものと同じ方式で実施し得る。ただし、異なる空間解像度を同時放送することと比較してコーディング効率を改善するために、ビデオコーダは、レイヤ間予測のメカニズムを組み込み得る。空間スケーラブルビデオコーディングの最もフレキシブルなタイプは、連続したレイヤ間の２つの部分から成る関係（たとえば、２：１の解像度比）に厳密に忠実であるとは限らず、拡張された空間スケーラビリティ（ＥＳＳ：Extended Spatial Scalability）と呼ばれることがある。Ｈ.２６４／ＡＶＣのＳＶＣ拡張とＨＥＶＣのＳＶＣ拡張の両方に対して、ＳＶＣに関するいくつかの詳細が、図４〜図９に関して以下で説明される。
【００３０】
[0042]  拡張された空間スケーラビリティは、いくつかの事例では、オフセット遅延を決定するときに課題を与えることがある。たとえば、ビデオコーダが、拡張された空間スケーラビリティを使用するとき、現在復号されているレイヤの空間セグメントＡ（たとえば、スライス（slice）、タイル（tile）、コーディングツリーユニット（ＣＴＵ：coding tree unit）またはＣＴＵ行）が、参照レイヤの中に存在する配列された空間セグメントＢ（たとえば、参照として使用するために利用可能な）を有し得ないことが起こり得る。オフセット遅延は配列された空間セグメントに基づいて決定され得るので、配列された空間セグメントが存在しない空間セグメントについてのオフセット遅延をどのようにして導出するかは明らかでない。
【００３１】
[0043]  本開示の技法は、ビデオデータの配列されたブロック（たとえば、ＣＴＵ）のロケーションを決定するために実施され得る。たとえば、本開示の態様は、ビデオデータの参照ピクチャと関連した参照サンプルのロケーションを、１つまたは複数のスケーリングされたオフセット値に基づいて決定することを含む。スケーリングされたオフセット値は、ベースレイヤとスケーリングされたエンハンスメントレイヤとの間のスケールの差分（たとえば、スケーリングすることに起因するロケーションの差分）を表し得る。参照サンプルのロケーションを決定した後、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、配列された参照ブロック（collocated reference block）（たとえば、コロケートＣＴＵ）のロケーションを、参照サンプルのロケーションに基づいて決定し得る。
【００３２】
[0044]  一例として、ベースレイヤは、アップスケールされたエンハンスメントレイヤ（たとえば、ベースレイヤよりも空間解像度が相対的に高いレイヤ）のための参照として使用され得る。エンハンスメントレイヤピクチャとベースレイヤピクチャとの間のサイズの差分のために、エンハンスメントレイヤピクチャの中で現在コーディングされているブロックは、ベースレイヤ参照ピクチャの境界の外側にある配列された参照ブロックに位置することがある。そのような配列されたブロックは、エンハンスメントレイヤピクチャによる参照にとって利用可能でない。いくつかの例では、本開示の態様によれば、ベースレイヤの中に配列される参照ブロックのロケーションを決定する前に、ビデオコーダは、ベースレイヤの中の参照ピクチャ（すなわち、ベースレイヤ参照ピクチャ）の境界内に配置されるべき参照サンプルのロケーションを調整し得る。
【００３３】
[0045]  したがって、本開示の態様によれば、参照レイヤの中に配列されたブロック（たとえば、配列されたＣＴＵ（collocated CTU））が、現在コーディングされているレイヤの中の特定のブロックにとって存在しない場合、調整されたアドレスが参照レイヤの中に存在するブロックに対応するように、配列されたブロックのアドレスは、対応する参照レイヤ境界内に入るように調整され得る。上述されたオフェスト遅延（offest delay）などの、現在のレイヤの中のＣＴＵのためのレイヤ間予測制約は、次いで、境界ＣＴＵとともに参照として適用される。
【００３４】
[0046]  本開示の態様はまた、レイヤ間でのタイルの整列を示すための技法を含み得る。たとえば、タイルは、ピクチャのパーティションを含み得、並列コーディングのために使用され得る。ＨＥＶＣ規格に記載されるように、タイルは、ピクチャの中の特定のタイル列内および特定のタイル行内の、矩形領域のコーディングツリーブロック（以下に記載されるような、ＣＴＢ）として定義され得る。タイル列は、ピクチャの高さに等しい高さと、ピクチャパラメータセット（ＰＰＳ：picture parameter set）の中のシンタックス要素によって規定される幅とを有する矩形領域のＣＴＢとして定義され得る。加えて、タイル行は、ＰＰＳピクチャパラメータセットの中のシンタックス要素によって規定される高さと、ピクチャの幅に等しい幅を有する矩形領域のＣＴＢとして定義され得る。タイル境界は、スライス境界と同様に、タイルが単独で処理され得るようにパースおよび予測の依存性を分断するが、ループ内フィルタ（デブロッキングおよびサンプル適応オフセット（ＳＡＯ：sample adaptive offset））は依然としてタイル境界を横切ることができる（すなわち、複数のタイルに適用され得る）。タイルベースの構造を実装することは、並列処理を可能にし得、スライスの使用と比較してＣＴＵの復号順序を変えさせることによってコーディング効率を改善し得る。
【００３５】
[0047]  タイルの数およびタイルの境界のロケーションは、全体のシーケンスに対して定義されてもよく、またはピクチャごとに変更されてもよい。タイル境界がレイヤ間で整列されているかどうか（レイヤ間予測に影響を及ぼし得る）を示すための１つの方式が、Ｓｕｈｒｉｎｇらへの文書「Ｔｉｌｅ  Ｂｏｕｎｄａｒｙ  Ａｌｉｇｎｍｅｎｔ  ａｎｄ  Ｉｎｔｅｒ−Ｌａｙｅｒ  Ｐｒｅｄｉｃｔｉｏｎ  Ｃｏｎｓｔｒａｉｎｔｓ  ｆｏｒ  ＳＨＶＣ  ａｎｄ  ＭＶ−ＨＥＶＣ」，ＪＣＴＶＣ−Ｍ０４６４，Ｉｎｃｈｅｏｎ，ＫＲ，２０１３年４月１８〜２６日（以後、ＪＣＴＶＣ−Ｍ０４６４）の中で提案された。その方式は、タイル境界が整列されているかどうかの指示を、（たとえば、ｔｉｌｅ＿ｂｏｕｎｄａｒｉｅｓ＿ａｌｉｇｎｅｄ＿ｆｌａｇシンタックス要素を用いて）ＶＵＩの中で各レイヤについてシグナリングすることを含んでいた。しかしながら、タイル境界の整列がレイヤ固有でないので、タイル境界が整列されているかどうかを、各レイヤについてＶＵＩの中でシグナリングすることは非効率であり得る。したがって、そのような情報をＶＵＩの中でシグナリングすることは、不必要な複雑さを加えることがある。
【００３６】
[0048]  本開示の態様によれば、タイル境界が整列されているかどうかの指示は、ＶＰＳの中で提供され得る。たとえば、タイルがマルチレイヤビットストリームのレイヤ間で整列されているかどうかを示す１つまたは複数のシンタックス要素が、ＶＰＳの中に含まれ得る。このようにして、ＶＰＳの中でシグナリングされるような、タイル境界の整列された情報は、マルチレイヤビットストリームのレイヤのためのクロスレイヤの範囲を有する。
【００３７】
[0049]  図１は、ビデオデータを並列に処理するための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを与えるソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介してビデオデータを宛先デバイス１４に与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００３８】
[0050]  宛先デバイス１４は、コンピュータ可読媒体１６を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、符号化されたビデオデータをソースデバイス１２から宛先デバイス１４に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が、符号化されたビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、高周波（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００３９】
[0051]  いくつかの例では、符号化されたデータは、出力インターフェース２２からストレージデバイスに出力され得る。同様に、符号化されたデータは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性のメモリ、あるいは符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化されたビデオを記憶し得る、ファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先デバイス１４に送信することができる任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含むいずれかの標準データ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適しているワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含むことができる。ストレージデバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００４０】
[0052]  本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、ｄｙｎａｍｉｃ  ａｄａｐｔｉｖｅ  ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ（ＤＡＳＨ）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途のような、種々のマルチメディア用途のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００４１】
[0053]  図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、ビデオデータを並列に処理するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースをとり得る。
【００４２】
[0054]  図１の図示のシステム１０は一例にすぎない。ビデオデータを並列に処理するための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が、宛先デバイス１４に送信するためのコーディングされたビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４の各々がビデオ符号化コンポーネントとビデオ復号コンポーネントとを含むように、デバイス１２、１４は、実質的に対称的な方式で動作することができる。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのためのビデオデバイス１２とビデオデバイス１４の間の一方向または双方向のビデオ送信をサポートし得る。
【００４３】
[0055]  ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータにより生成されたビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。しかしながら、上で言及されたように、本開示で説明される技法は、一般にビデオコーディングに適用可能であり、ワイヤレスおよび／または有線の用途に適用され得る。各々の場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。次いで、符号化されたビデオ情報は、出力インターフェース２２によってコンピュータ可読媒体１６に出力され得る。
【００４４】
[0056]  コンピュータ可読媒体１６は、ワイヤレスブロードキャストもしくはワイヤードネットワーク送信などの一時媒体、または、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、もしくは他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、たとえば、ネットワーク送信を介して、ソースデバイス１２から符号化されたビデオデータを受信し、宛先デバイス１４に符号化されたビデオデータを与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化されたビデオデータを受信し、その符号化されたビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
【００４５】
[0057]  宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロックおよび他のコーディングされたユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスのような、様々なディスプレイデバイスのいずれかを備え得る。
【００４６】
[0058]  ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合されてよい。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００４７】
[0059]  本開示では、概して、ビデオエンコーダ２０が、ある種の情報をビデオデコーダ３０などの別のデバイスに「シグナリング」することに言及することがある。しかしながら、ビデオエンコーダ２０は、いくつかのシンタックス要素をビデオデータの符号化される様々な部分に関連付けることによって、情報をシグナリングできることを理解されたい。すなわち、ビデオエンコーダ２０は、ビデオデータの符号化される様々な部分のヘッダにいくつかのシンタックス要素を格納することによって、データを「シグナリング」することができる。場合によっては、そのようなシンタックス要素は、ビデオデコーダ３０によって受信および復号される前に、符号化および格納され得る。したがって、「シグナリング」という用語は全般に、そのような通信がリアルタイムで発生するか、ほぼリアルタイムで発生するか、それともある期間にわたって発生するかにかかわらず、圧縮されたビデオデータを復号するためのシンタックスまたは他のデータの通信を指すことがあり、ある期間にわたる通信は、シンタックス要素を符号化の時点で媒体に記憶し、次いで、シンタックス要素がこの媒体に記憶された後の任意の時点で復号デバイスによって取り出され得るときに発生し得る。
【００４８】
[0060]  いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、それのスケーラブルビデオコーディング（ＳＶＣ）拡張、マルチビュービデオコーディング（ＭＶＣ）拡張、およびＭＶＣベースの３次元ビデオ（３ＤＶ）拡張を含む、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌおよび（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４などのビデオ圧縮規格に従って動作する。ＳＶＣとＭＶＣとのジョイントドラフトは、「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１０年３月に記載されている。
【００４９】
[0061]  加えて、高効率ビデオコーディング（ＨＥＶＣ）規格は、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）およびＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）のＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって開発された。簡単のため本明細書でＨＥＶＣ  ＷＤ１０として参照される最近のＨＥＶＣテキスト仕様ドラフトは、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１３＿Ｉｎｃｈｅｏｎ／ｗｇ１１／ＪＣＴＶＣ−Ｍ０４３２−ｖ３．ｚｉｐから入手可能である。ＭＶ−ＨＥＶＣと呼ばれるＨＥＶＣに対するマルチビュー拡張が、ＪＣＴ−３Ｖによって開発されている。以下でのＭＶ−ＨＥＶＣ  ＷＤ４の最近のワーキングドラフト（ＷＤ）は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／４＿Ｉｎｃｈｅｏｎ／ｗｇ１１／ＪＣＴ３Ｖ−Ｄ１００４−ｖ２．ｚｉｐから入手可能である。一方、ＨＥＶＣに基づく、より進歩した３Ｄビデオコーディング（３Ｄ−ＨＥＶＣ）およびスケーラブルビデオコーディングのための２つの規格トラックも開発中である。３Ｄ−ＨＥＶＣの最近のテストモデルの説明は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／３＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴ３Ｖ−Ｄ１００５−ｖ２．ｚｉｐから入手可能である。ＳＨＶＣの最近のテストモデルの説明は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１２＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｍ１００７−ｖ３．ｚｉｐから入手可能である。
【００５０】
[0062]  ＨＥＶＣおよび他のビデオコーディング規格では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム（frame）」と呼ばれることもある。ピクチャは、ＳL、ＳCb、およびＳCrと表示される３つのサンプルアレイを含み得る。ＳLは、ルーマサンプル（luma sample）の２次元アレイ（すなわち、ブロック）である。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ（chroma）」サンプルと呼ばれることもある。他の事例では、ピクチャは、モノクロームであってよく、ルーマサンプルのアレイのみを含み得る。
【００５１】
[0063]  ビデオエンコーダ２０は、別個のルーマ成分およびクロマ成分のコーディングツリーブロック（ＣＴＢ）を有し得るコーディングツリーユニット（ＣＴＵ）のセットを生成し得る。たとえば、ＣＴＵの各々は、ルーマサンプルのＣＴＢと、クロマサンプルの２つの対応するＣＴＢと、それらのＣＴＢのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、ＣＴＵは、単一のＣＴＢと、そのＣＴＢのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。ＣＴＢは、Ｎ×Ｎブロックのサンプルであり得る。ＣＴＵは、「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ：largest coding unit）と呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなどの他のビデオコーディング規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ：coding unit）を含み得る。スライスは、ラスタ走査において連続的に順序付けられた整数個のＣＴＵを含み得る。
【００５２】
[0064]  本開示は、サンプルおよびサンプルの１つまたは複数のブロックのサンプルをコーディングするために使用されるシンタックス構造の１つまたは複数のブロックを指すために、「ビデオユニット」または「ビデオブロック」という用語を使用することがある。例示的なタイプのビデオユニットは、ＣＴＵと、ＣＴＢと、ＣＵと、ＰＵと、変換ユニット（ＴＵ）と、マクロブロックと、マクロブロックパーティションと、ピクチャの他の類似のパーティションとを含み得る。
【００５３】
[0065]  コーディングされたＣＴＵを生成するために、ビデオエンコーダ２０は、ＣＴＢをコーディングブロックに分割するように、ＣＴＵのＣＴＢに対して４分木区分を再帰的に実行することができ、したがって「コーディングツリーユニット」という名称がある。コーディングブロックは、Ｎ×Ｎブロックのサンプルである。ＣＵは、ルーマサンプルアレイとＣｂサンプルアレイとＣｒサンプルアレイとを有するピクチャの、ルーマサンプルのコーディングブロックと、クロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００５４】
[0066]  ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックであり得る。ＣＵの予測ユニット（ＰＵ）は、ルーマサンプルの予測ブロックと、ピクチャのクロマサンプルの２つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロックのための、予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成し得る。
【００５５】
[0067]  ビデオエンコーダ２０は、ＰＵのための予測ブロックを生成するために、イントラ予測またはインター予測を使用することができる。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成することができる。
【００５６】
[0068]  ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成することができる。インター予測は、単方向インター予測（すなわち、単予測）または双方向インター予測（すなわち、双予測）であり得る。単予測または双予測を実行するために、ビデオエンコーダ２０は、現在のスライスに対して、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを生成し得る。参照ピクチャリストの各々は、１つまたは複数の参照ピクチャを含み得る。単予測を使用するとき、ビデオエンコーダ２０は、参照ピクチャ内の参照ロケーションを決定するために、ＲｅｆＰｉｃＬｉｓｔ０とＲｅｆＰｉｃＬｉｓｔ１のいずれかまたは両方の中の参照ピクチャを探索し得る。さらに、単予測を使用するとき、ビデオエンコーダ２０は、参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、ＰＵのための予測サンプルブロックを生成し得る。さらに、単予測を使用するとき、ビデオエンコーダ２０は、ＰＵの予測ブロックと参照ロケーションとの間の空間変位を示す単一の動きベクトルを生成し得る。ＰＵの予測ブロックと参照ロケーションとの間の空間変位を示すために、動きベクトルは、ＰＵの予測ブロックと参照ロケーションとの間の水平変位を規定する水平成分を含み得、ＰＵの予測ブロックと参照ロケーションとの間の垂直変位を規定する垂直成分を含み得る。
【００５７】
[0069]  ＰＵを符号化するために双予測を使用するとき、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャ中の第１の参照ロケーションと、ＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャ中の第２の参照ロケーションとを決定し得る。ビデオエンコーダ２０は、次いで、第１および第２の参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、ＰＵのための予測ブロックを生成し得る。さらに、ＰＵを符号化するために双予測を使用するとき、ビデオエンコーダ２０は、ＰＵのサンプルブロックと第１の参照ロケーションとの間の空間変位を示す第１の動きと、ＰＵの予測ブロックと第２の参照ロケーションとの間の空間変位を示す第２の動きとを生成し得る。
【００５８】
[0070]  ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための、予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成した後、ビデオエンコーダ２０は、ＣＵのためのルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つの中のルーマサンプルと、ＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ２０は、ＣＵのためのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つの中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２０はまた、ＣＵのためのＣｒ残差ブロックを生成し得る。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つの中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【００５９】
[0071]  さらに、ビデオエンコーダ２０は、ＣＵのルーマ残差ブロックと、Ｃｂ残差ブロックと、Ｃｒ残差ブロックとを、１つまたは複数のルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに分解するために、４分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであってもよい。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに関連付けられ得る。ＴＵに関連付けられたルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであってもよい。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであってもよい。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであってもよい。
【００６０】
[0072]  ビデオエンコーダ２０は、ＴＵのためのルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１回または複数回の変換を適用し得る。係数ブロックは、変換係数の２次元アレイであり得る。変換係数は、スカラー量であってよい。ビデオエンコーダ２０は、ＴＵのためのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１回または複数回の変換を適用し得る。ビデオエンコーダ２０は、ＴＵのためのＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１回または複数回の変換を適用し得る。
【００６１】
[0073]  係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後、ビデオエンコーダ２０は、係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。さらに、ビデオエンコーダ２０は、ピクチャのＣＵのＴＵの変換ブロックを再構成（reconstruct）するために、変換係数を逆量子化し変換係数に逆変換（inverse transform）を適用し得る。ビデオエンコーダ２０は、ＣＵのコーディングブロックを再構成するために、ＣＵのＴＵの再構成された変換ブロックと、ＣＵのＰＵの予測ブロックとを使用することができる。ピクチャの各ＣＵのコーディングブロックを再構成することによって、ビデオエンコーダ２０は、ピクチャを再構成することができる。ビデオエンコーダ２０は、復号ピクチャバッファ（ＤＰＢ）に再構成されたピクチャを記憶し得る。ビデオエンコーダ２０は、ＤＰＢ中の再構成されたピクチャを、インター予測およびイントラ予測のために使用し得る。
【００６２】
[0074]  ビデオエンコーダ２０が係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対して、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）を実施し得る。ビデオエンコーダ２０は、エントロピー符号化シンタックス要素をビットストリーム中に出力し得る。
【００６３】
[0075]  ビデオエンコーダ２０は、コード化ピクチャおよび関連するデータの表現を形成する一連のビットを含むビットストリームを出力し得る。ビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ：network abstraction layer）ユニットを備え得る。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）をカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって規定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、ＲＢＳＰは０ビットを含む。
【００６４】
[0076]  異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。たとえば、第１のタイプのＮＡＬユニットはピクチャパラメータセット（ＰＰＳ）のためのＲＢＳＰをカプセル化し得、第２のタイプのＮＡＬユニットはコード化スライスのためのＲＢＳＰをカプセル化し得、第３のタイプのＮＡＬユニットは補助強化情報（ＳＥＩ：supplemental enhancement information）のためのＲＢＳＰをカプセル化し得、以下同様である。ＰＰＳは、０個以上のコード化ピクチャ全体に適用されるシンタックス要素を含み得るシンタックス構造である。ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰとは対照的に）、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれることがある。コード化スライスをカプセル化するＮＡＬユニットは、本明細書ではコード化スライスＮＡＬユニットと呼ばれることがある。コード化スライスのためのＲＢＳＰは、スライスヘッダとスライスデータとを含み得る。
【００６５】
[0077]  ＭＶ−ＨＥＶＣ、３Ｄ−ＨＥＶＣおよびＳＨＶＣでは、ビデオエンコーダ２０は、一連のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを備えるビットストリームを生成し得る。ビットストリームの異なるＮＡＬユニットが、ビットストリームの異なるレイヤに関連付けられ得る。レイヤは、同じレイヤ識別子を有するビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットおよび関連する非ＶＣＬ  ＮＡＬユニットのセットとして定義され得る。レイヤは、マルチビュービデオコーディングにおけるビューと等価であり得る。マルチビュービデオコーディングでは、レイヤは、異なる時間インスタンスを伴う同じレイヤのすべてのビューコンポーネントを含むことができる。各ビューコンポーネントは、特定の時間インスタンスにおける特定のビューに属するビデオシーンのコード化ピクチャであり得る。
【００６６】
[0078]  ビデオデコーダ３０は、ビットストリームを受信し得る。加えて、ビデオデコーダ３０は、ビットストリームからシンタックス要素を復号するために、ビットストリームを解析（parse）し得る。ビデオデコーダ３０は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成し得る。ビデオデータを再構成するための処理は、全般に、ビデオエンコーダ２０によって実行される処理の逆であり得る。たとえば、ビデオデコーダ３０は、現在のＣＵのＰＵのための予測ブロックを決定するために、ＰＵの動きベクトルを使用し得る。ビデオデコーダ３０は、ＰＵのための予測ブロックを生成するために、ＰＵの１つまたは複数の動きベクトルを使用し得る。
【００６７】
[0079]  さらに、ビデオデコーダ３０は、現在のＣＵのＴＵに関連付けられた係数ブロックを逆量子化し得る。ビデオデコーダ３０は、現在のＣＵのＴＵに関連付けられた変換ブロックを再構成するために、係数ブロックに対して逆変換を実行し得る。ビデオデコーダ３０は、現在のＣＵのＰＵのための予測サンプルブロックのサンプルを現在のＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在のＣＵのコーディングブロックを再構成し得る。ピクチャの各ＣＵのコーディングブロックを再構成することによって、ビデオデコーダ３０は、ピクチャを再構成し得る。ビデオデコーダ３０は、出力のためにおよび／または他のピクチャを復号する際に使用するために、復号されたピクチャを復号ピクチャバッファに記憶し得る。
【００６８】
[0080]  ３Ｄビデオコーディングでは、レイヤは、特定のビューのすべてのコーディングされた深度ピクチャ、または特定のビューのコーディングされたテクスチャピクチャのいずれかを含み得る。同様に、スケーラブルビデオコーディングのコンテキストにおいて、レイヤは、通常、他のレイヤの中のコード化ピクチャと異なるビデオ特性を有するコード化ピクチャに対応する。そのようなビデオ特性は、通常、空間解像度と品質レベル（信号対雑音比）とを含む。ＨＥＶＣおよびそれの拡張では、時間スケーラビリティは、特定の時間レベルを伴うピクチャのグループをサブレイヤと定義することによって、１つのレイヤ内で達成され得る。
【００６９】
[0081]  ビットストリームのそれぞれの各レイヤについて、低いレイヤの中のデータは、高いレイヤの中のデータと無関係に復号され得る。スケーラブルビデオコーディングでは、たとえば、ベースレイヤの中のデータは、エンハンスメントレイヤの中のデータと無関係に復号され得る。ＮＡＬユニットは、単一のレイヤのデータをカプセル化するだけである。したがって、ビットストリームの残りの最高レイヤのデータをカプセル化するＮＡＬユニットは、ビットストリームの残りのレイヤの中のデータの復号可能性に影響を及ぼすことなくビットストリームから除去され得る。マルチビューコーディングおよび３Ｄ−ＨＥＶＣでは、より高いレイヤは、さらなるビューコンポーネントを含み得る。ＳＨＶＣでは、より高いレイヤは、信号対雑音比（ＳＮＲ）エンハンスメントデータ、空間エンハンスメントデータ、および／または時間エンハンスメントデータを含み得る。ＭＶ−ＨＥＶＣ、３Ｄ−ＨＥＶＣおよびＳＨＶＣでは、ビデオデコーダが、あるビューの中のピクチャをいかなる他のレイヤのデータとも無関係に復号できる場合、そのビューは「ベースレイヤ」と呼ばれ得る。ベースレイヤは、ＨＥＶＣベース仕様に準拠し得る。
【００７０】
[0082]  ビデオエンコーダ２０および／またはビデオデコーダ３０は、本開示の技法の任意の組合せを実行するように構成され得る。たとえば、上述のように、本開示の態様は、クロスレイヤ並列処理のオフセット遅延パラメータのシグナリングに関する改善を含む。「オフセット遅延（offset delay）」は、一般に、複数のレイヤを並列に復号することと関連した遅延を指す場合がある。たとえば、参照レイヤ全体が復号されるのを待つのではなく、ビデオデコーダ３０は、参照レイヤのうちの少なくともいくつかが復号されるまで、現在のレイヤの復号を遅延させればよい。オフセット遅延は、一般に、ビデオデコーダが現在のレイヤの復号を開始する前に復号される参照レイヤの最低限の量を示し得る。
【００７１】
[0083]  本開示の態様によれば、オフセット遅延を示すデータは、ＶＰＳの中に含まれ得る。たとえば、ビデオエンコーダ２０は、オフセット遅延情報を示すデータ（たとえば、１つまたは複数のシンタックス要素）をＶＰＳの中で符号化し得る。同様に、ビデオデコーダ３０は、符号化されたビットストリームから、オフセット遅延情報を示すデータを復号し得る。オフセット遅延情報は、２つ以上のレイヤによって参照され得る。たとえば、本開示の態様によれば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、以下の表１に従ってオフセット遅延情報をシグナリング／復号し得る。
【００７２】
【表１】
0006301467.tif 000002
【００７３】
[0084]  上の表１において、０に等しいシンタックス要素ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓ＿ｆｌａｇは、ＶＰＳを参照するいかなるレイヤの直接参照レイヤのいずれについても、レイヤ間予測に対する制約がシグナリングされていないことを示す。しかしながら、１に等しいシンタックス要素ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓ＿ｆｌａｇは、レイヤ間予測に対する制約が、ＶＰＳを参照する１つまたは複数のレイヤの直接参照レイヤのいずれかにとって適用され得ることを規定する。
【００７４】
[0085]  別の例では、上の表１において、０に等しいシンタックス要素ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓ＿ｆｌａｇは、レイヤ間予測に対する制約が適用されてもされなくてもよいことを示し得る。この例では、しかしながら、１に等しいシンタックス要素ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓ＿ｆｌａｇは、ＶＰＳを参照する任意のレイヤの直接参照レイヤのいずれかについて、レイヤ間予測に対する制約がシグナリングされていることを示し得る。
【００７５】
[0086]  加えて、シンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１、ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ、およびｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１は、ＪＣＴＶＣ−Ｍ０４６３に記載されるものと類似であり得るが、ＳＰＳからＶＰＳへ移動され得る。たとえば、ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]［ｊ]は、それ自体によって、または以下で規定されるｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]［ｊ]と一緒に、ｊ番目の直接参照レイヤの各ピクチャの中の、レイヤインデックスｉを有しＶＰＳを参照するピクチャの復号のためのレイヤ間予測について使用されない空間エリアを示し得る。ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]［ｊ]の値は、両端値を含む０〜ｒｅｆＰｉｃＷｉｄｔｈＩｎＣｔｂｓＹ［ｊ]＊ｒｅｆＰｉｃＨｅｉｇｈｔＩｎＣｔｂｓＹ［ｊ]の範囲の中になければならない。存在しないとき、ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]［ｊ]の値は０に等しいと推測され得る。いくつかの例では、最低限の空間セグメントは、ＣＴＵ、スライス、またはタイルなどの様々な単位のビデオデータに関連付けられ得る。
【００７６】
[0087]  加えて、１に等しいシンタックス要素ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ［ｉ]［ｊ]は、ＣＴＵを単位として、ｊ番目の直接参照レイヤの各ピクチャの中の、レイヤインデックスｉを有しＶＰＳを参照するピクチャの復号のためのレイヤ間予測について使用されない空間エリアが、ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]［ｊ]およびｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]［ｊ]によって一緒に示されることを規定する。しかしながら、０に等しいシンタックス要素ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ［ｉ]［ｊ]は、スライスセグメント、タイル、またはＣＴＵ行を単位として、ｊ番目の直接参照レイヤの各ピクチャの中の、ＳＰＳを参照するピクチャの復号のためのレイヤ間予測について使用されない空間エリアが、ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]［ｊ]のみによって示されることを規定する。存在しないとき、ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ［ｉ]［ｊ]の値は０に等しいと推測される。
【００７７】
[0088]  加えて、シンタックス要素ｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]［ｊ]は、シンタックス要素ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ［ｉ]［ｊ]が１に等しいとき、ｊ番目の直接参照レイヤの各ピクチャの中の、レイヤインデックスｉを有しＶＰＳを参照するピクチャの復号のためのレイヤ間予測について使用されない空間エリアを、以下で規定されるようにｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]［ｊ]と一緒に示す。ｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]［ｊ]の値は、両端値を含む０〜ｒｅｆＰｉｃＷｉｄｔｈＩｎＣｔｂｓＹ［ｊ]の範囲の中になければならない。
【００７８】
[0089]  したがって、上記の例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、マルチレイヤビットストリームのいずれかのレイヤがレイヤ間予測制約を有するかどうかを示すデータをコーディングすることができ、そのデータは、ＶＰＳの中に含まれ得る。たとえば、ビデオエンコーダ２０は、現在符号化されているレイヤのための少なくとも１つの参照レイヤが、関連付けられたオフセット遅延を有することを示すための、ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓ＿ｆｌａｇシンタックス要素を符号化し得る。同様に、ビデオデコーダ３０は、ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓ＿ｆｌａｇシンタックス要素をＶＰＳから復号し得る。この例では、ビデオデコーダ３０は、現在コーディングされているレイヤのための１つまたは複数の参照レイヤが、関連付けられたオフセット遅延を有するかどうかを決定し得る。そのような遅延が示される場合、ビデオデコーダ３０は、オフセット遅延情報と一致する量のデータが１つまたは複数の参照レイヤから復号されるまで、現在のレイヤを復号することを待ってもよい。
【００７９】
[0090]  別の例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、補助強化情報（ＳＥＩ）メッセージの中のオフセット遅延パラメータを示すデータ（たとえば、１つまたは複数のシンタックス要素）をコーディングし得る。たとえば、本開示の態様によれば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、以下の表２に従ってオフセット遅延情報をシグナリング／復号し得る。
【００８０】
【表２】
0006301467.tif 000003
【００８１】
[0091]  表２の例では、シンタックス要素ｌｐ＿ｓｅｉ＿ａｃｔｉｖｅ＿ｖｐｓ＿ｉｄは、コーディングされたビデオシーケンス（ＣＶＳ：coded video sequence）の中のレイヤについての情報を含むアクティブなＶＰＳを識別する。シンタックス要素ｌｐ＿ｓｅｉ＿ａｃｔｉｖｅ＿ｖｐｓ＿ｉｄの値は、ＳＥＩメッセージを含むアクセスユニットのＶＣＬ  ＮＡＬユニットのためのアクティブなＶＰＳのシンタックス要素ｖｐｓ＿ｖｉｄｅｏ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄの値に等しくなければならない。シンタックス要素ｉｌｐ＿ｒｅｓｔｒｉｃｔｅｄ＿ｒｅｆ＿ｌａｙｅｒｓ＿ｆｌａｇ、ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１、ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ、ｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１のセマンティックは、表１に関して上述されたものと同じであり得る。さらに別の例では、シンタックス要素ｌｐ＿ｓｅｉ＿ａｃｔｉｖｅ＿ｖｐｓ＿ｉｄのシグナリングは省略されてもよい。
【００８２】
[0092]  上述のように、本開示の技法はまた、拡張された空間スケーラビリティ、たとえば、拡張された空間スケーラビリティを使用するときに、配列されたＣＴＵのロケーションと、関連付けられたオフセット遅延とを決定することに関する。表１および表２に関して上述したように、シンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１およびｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１は、空間セグメントに関して、対応する参照レイヤに対するコーディングの依存性によってもたらされる、現在のレイヤの復号遅延を示し得る。特定のＣＴＵのオフセット遅延の指示を受信した後、ビデオデコーダ３０は、オフセット遅延を実現するように、配列されたＣＴＵを配置し得る。すなわち、ビデオデコーダ３０は、どのＣＴＵが現在コーディングされているレイヤの中のレイヤ間予測のために利用可能であるかを決定するとともに、そのＣＴＵを参照レイヤの中の配列されたＣＴＵにマッピングし得る。
【００８３】
[0093]  本開示の態様によれば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、配列されたサンプル（たとえば、配列された参照サンプル）と、配列されたＣＴＵとを導出し得る。配列されたＣＴＵのロケーションは、配列されたサンプルに基づき得る。
【００８４】
[0094]  例示のための一例では、第１のレイヤ（たとえば、エンハンスメントレイヤ）の中で現在コーディングされているサンプルが、第２の異なるレイヤ（たとえば、ベースレイヤ）の中の参照サンプルに関連してコーディングされることを想定する。ビデオエンコーダ２０および／またはビデオデコーダ３０は、ベースレイヤの中の参照サンプルを、ベースレイヤに関連付けられたスケーリングされたオフセットに基づいて配置し得る。スケーリングされたオフセットは、ベースレイヤとエンハンスメントレイヤとの間の空間的な差分に基づいて定義され得る。本開示の態様によれば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ベースレイヤの中の配列されたＣＴＵを、配置された参照サンプルに基づいて配置し得る。たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、配列されたＣＴＵを、以下の式に基づいて配置し得る。
【００８５】
【数１】
0006301467.tif 000004
【００８６】
ここで、ｘＣｏｌＣｔｂはＣＴＵのｘ成分（たとえば、ルーマＣＴＢ、またはＣＴＵのクロマＣＴＢのうちの１つ）を表し、ｘＲｅｆは配列されたサンプルのｘ座標を表し、ｙＣｏｌＣｔｂは配列されたＣＴＵのｙ成分を表し、ｙＲｅｆは配列されたサンプルのｙ座標を表し、ｃｏｌＣｔｂＡｄｄｒ［ｉ]は配列されたＣＴＵのアドレスを表す。加えて、変数ｒｅｆＣｔｂＬｏｇ２ＳｉｚｅＹ［ｉ]［ｊ]、ｒｅｆＰｉｃＷｉｄｔｈＩｎＣｔｂｓＹ［ｉ]［ｊ]、およびｒｅｆＰｉｃＨｅｉｇｈｔＩｎＣｔｂｓＹ［ｉ]［ｊ]は、ｉ番目のレイヤのｊ番目の直接参照レイヤの、それぞれ、ＣｔｂＬｏｇ２ＳｉｚｅＹ、ＰｉｃＷｉｄｔｈＩｎＣｔｂｓＹ、およびＰｉｃＨｅｉｇｈｔＩｎＣｔｂｓＹに等しく設定され得る。
【００８７】
[0095]  加えて、本開示の態様によれば、配列されたＣＴＵが現在のレイヤの中の特定のＣＴＵのための参照レイヤの境界内に存在しないとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、調整されたアドレスが参照レイヤの中に存在するＣＴＵに対応するように、ＣＴＵアドレスの値を対応する参照レイヤ境界に調整し得る。コロケートＣＴＵが参照ピキュア内にある場合、調整は必要とされなくてよい。
【００８８】
[0096]  ビデオエンコーダ２０および／またはビデオデコーダ３０は、サンプルのロケーションｘＲｅｆおよびｙＲｅｆ（たとえば、配列されたサンプルのｘ座標およびｙ座標）を、配列されたＣＴＵのアドレスを導出する前の対応する参照レイヤ境界に以下の式に基づいてクリップすることによって、ロケーションを調整し得る。
【００８９】
【数２】
0006301467.tif 000005
【００９０】
ここで、ｘＲｅｆ［ｉ]は配列されたサンプルのｘコオディネイトを表し、ｙＲｅｆ［ｉ]は配列されたサンプルのｙコオディネイトを表し、ｌｅｆｔＳｔａｒｔは現在のレイヤ（たとえば、エンハンスメントレイヤ）に関連する参照レイヤ（たとえば、ベースレイヤ）の左端を表し、ｒｉｇｈｔＥｎｄは現在のレイヤに関連する参照レイヤの右端を表し、ｔｏｐＳｔａｒｔは現在のレイヤに関連する参照レイヤの上端を表し、ｂｏｔｔｏｍＥｎｄは現在のレイヤに関連する参照レイヤの下端を表す。関数Ｃｌｉｐ３（ｘ，ｙ，ｚ）は、ｚ＜ｘの場合はｘを出力し、ｚ＞ｙの場合はｙを出力し、他の場合はｚを出力し得る。
【００９１】
[0097]  上の式は、参照レイヤ内に配置されるように、配列されたサンプルの値を制限する。たとえば、参照サンプルの水平ロケーションが左の参照ピクチャ境界（reference picture boundary）の左側に配置されるとき、ビデオコーダは、水平ロケーションを左の参照ピクチャ境界のロケーションと取り換え得る。同様に、参照サンプルの水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、ビデオコーダは、水平ロケーションを右の参照ピクチャ境界のロケーションと取り換え得る。参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、ビデオコーダは、垂直ロケーションを上の参照ピクチャ境界のロケーションと取り換え得る。参照サンプルの垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、ビデオコーダは、垂直ロケーションを下の参照ピクチャ境界のロケーションと取り換え得る。ビデオエンコーダ２０および／またはビデオデコーダ３０、次いで、決定された境界のＣＴＵを参照として、現在のレイヤの中のＣＴＵのためのレイヤ間予測制約（inter-layer prediction constraint）（たとえば、オフェスト遅延）を適用し得る。
【００９２】
[0098]  このようにして、ビデオエンコーダ２０および／またはビデオデコーダ３０は、境界の参照レイヤ内に存在する配列されたＣＴＵのロケーションを決定し得、レイヤ間予測制約（たとえば、オフセット遅延）を適切に適用し得る。
【００９３】
[0099]  本開示のさらに他の技法は、ＣＴＵオフセットが可能にされている（enabled）こと（たとえば、表１および表２で上述したｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素）をシグナリングする際の改善に関する。たとえば、ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素は、シグナリングされているオフセット遅延がＣＴＵを単位としていることを規定するために使用され得る。言い換えれば、ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素の値が１に等しいとき、ＣＴＵを単位として、ｉ番目の直接参照レイヤの各ピクチャの中の、ＳＰＳを参照するピクチャの復号のためのレイヤ間予測について使用されない空間エリアは、シンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]およびシンタックス要素ｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]によって一緒に示される。
【００９４】
[0100]  ＪＣＴＶＣ−Ｍ０４６３に記載されるものなどの、ＨＥＶＣ拡張のためのｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇシグナリングについての現在の設計は、いくつかの欠点を有することがある。たとえば、ＣＴＵベースのオフセット遅延を１つのレイヤに対してシグナリングし、スライスベース、タイルベース、またはＣＴＵ行ベースのオフセット遅延を別のレイヤ（たとえば、ＣＴＵベースのオフセット遅延がない）に対してシグナリングすることは、比較的複雑であり得る。たとえば、たいていの場合、オフセット遅延を示すために使用される空間セグメントは、すべてのレイヤについて同じであり得、別個のシグナリングを不必要に複雑にさせる。この意味において、ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素を、すべてのレイヤおよびそれらの直接参照レイヤに適用可能なグローバルフラグにさせることが望ましいことがある。
【００９５】
[0101]  加えて、現在のレイヤまたは現在のレイヤの直接参照レイヤ（現在のレイヤが直接参照する先の参照レイヤ）のいずれかの中に２つ以上のタイルが存在するとき、ｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１シンタックス要素は有用でないことがある。たとえば、タイルが整列されていないとき、ｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１シンタックス要素の値は、異なるタイルに属する空間セグメントを指すことがある。このことは、コーディングの間に異なるタイルのデータを参照する必要を潜在的にもたらし得、それは並列コーディングのために受け入れられ得ない。
【００９６】
[0102]  本開示の態様によれば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、下の表３に示すＶＰＳを実装し得る（ここで、テキスト［削除：]はＪＣＴＶＣ−Ｍ０４６３からの削除を示す）。
【００９７】
【表３】
0006301467.tif 000006
【００９８】
[0103]  表３の例では、１に等しいシンタックス要素ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、ＣＴＵを単位として、すべての直接参照レイヤピクチャについての［ＪＣＴＶＣ−Ｍ０４６３から削除：ｉ番目の直接参照レイヤの各ピクチャの中の]、［ＪＣＴＶＣ−Ｍ０４６３から削除：ＳＰＳ]ＶＰＳを参照するピクチャの復号のためのレイヤ間予測について使用されない空間エリアが、シンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]およびシンタックス要素ｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]によって一緒に示されることを規定する。０に等しいシンタックス要素ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、スライスセグメント、タイル、またはＣＴＵ行を単位として、［ＪＣＴＶＣ−Ｍ０４６３から削除：ｉ番目の直接参照レイヤの各ピクチャの中の]すべての直接参照レイヤピクチャについての、ＶＰＳを参照するピクチャの復号のためのレイヤ間予測について使用されない空間エリアが、ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]のみによって示されることを規定する。存在しないとき、ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ［ｉ]の値は０に等しいと推測される。本開示の態様によれば、すべてのレイヤのアクティブなＰＰＳについてシンタックス要素ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい場合に、シンタックス要素ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しくなければならないことは、ビットストリーム準拠の要件であり得る。
【００９９】
[0104]  別の例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、下の表４に示すＶＰＳを実装し得る（ここで、テキスト［削除：]はＪＣＴＶＣ−Ｍ０４６３からの削除を示す）。
【０１００】
【表４】
0006301467.tif 000007
【０１０１】
[0105]  表４の例では、１に等しいシンタックス要素ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ［ｉ]は、ＣＴＵを単位として、すべての直接参照レイヤピクチャについての［ＪＣＴＶＣ−Ｍ０４６３から削除：ｉ番目の直接参照レイヤの各ピクチャの中の]、レイヤインデックスｉを有しＶＰＳ［ＪＣＴＶＣ−Ｍ０４６３から削除：ＳＰＳ]を参照するピクチャの復号のためのレイヤ間予測について使用されない空間エリアが、シンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]およびシンタックス要素ｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]によって一緒に示されることを規定する。０に等しいシンタックス要素ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ［ｉ]は、スライスセグメント、タイル、またはＣＴＵ行を単位として、すべての直接参照レイヤピクチャについての［ＪＣＴＶＣ−Ｍ０４６３から削除：ｉ番目の直接参照レイヤの各ピクチャの中の]、レイヤインデックスｉを有しＶＰＳを参照するピクチャの復号のためのレイヤ間予測について使用されない空間エリアが、ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]のみによって示されることを規定する。存在しないとき、シンタックス要素ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ［ｉ]の値は０に等しいと推測される。本開示の態様によれば、すべてのレイヤのアクティブなＰＰＳについてシンタックス要素ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１に等しい場合に、シンタックス要素ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しくなければならないことは、ビットストリーム準拠の要件であり得る。上記のシンタックス要素は、ＳＰＳ、ＰＰＳ、スライスヘッダまたはそれの拡張の中でシグナリングされ得る。上のシンタックスはまた、ＳＥＩメッセージとしてまたはＶＵＩメッセージとしてシグナリングされ得る。
【０１０２】
[0106]  本開示のさらに他の技法は、レイヤ間でのタイルの整列を示すことに関する。たとえば、上述のように、タイルは、ピクチャのパーティションを含み得、並列コーディングのために使用され得る。タイル境界は、スライス境界と同様に、タイルが単独で処理され得るようにパースおよび予測の依存性を分断するが、ループ内フィルタ（デブロッキングおよびサンプル適応オフセット（ＳＡＯ：sample adaptive offset））は依然としてタイル境界を横切ることができる。タイルベースの構造を実装することは、並列処理を可能にし得、スライスの使用と比較してＣＴＵの復号順序を変えさせることによってコーディング効率を改善し得る。
【０１０３】
[0107]  たとえば、一般性を喪失することなく、４つのタイルが参照レイヤおよびエンハンスメントレイヤについて使用されると想定する。この場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、４つのプロセッサコアを用いてコーディングを実行し得、プロセッサコアの各々は、タイルのうちのそれぞれの１つに専用される。レイヤ間でのタイルの整列は、タイルが処理される方式と密接な関係があり得る。たとえば、４つのタイルが並列に処理され得ることを確実にするために、ビデオエンコーダ２０および／またはビデオデコーダ３０は、いくつかの制約を強いることがある。たとえば、レイヤ間フィルタリングのアップサンプリングは、参照レイヤの中のタイル境界を横切ることを許され得ない。エンハンスメントタイルについて、参照レイヤサンプルがこのエンハンスメントタイルに整列されていないタイルに属する（すなわち、その中に含まれる）場合、参照レイヤの配列されたサンプルは、利用不可能であると見なされる。
【０１０４】
[0108]  本開示の態様によれば、タイル境界が整列されているかどうかの指示は、ＶＰＳの中で提供され得る。たとえば、ビデオエンコーダ２０は、マルチレイヤビットストリームのレイヤが整列されるように制約されているかどうかを示す、１つまたは複数のシンタックス要素をＶＰＳの中で符号化し得る（また、ビデオデコーダ３０は解析および復号し得る）。ＶＰＳの中でシグナリングされるような、タイル境界の整列された情報は、ビットストリームのすべてのレイヤに適用されるクロスレイヤの範囲を有し得る。
【０１０５】
[0109]  一例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、以下の表５に示すＶＰＳを実装し得る。
【０１０６】
【表５】
0006301467.tif 000008
【０１０７】
[0110]  表５の例では、１に等しいシンタックス要素ｔｉｌｅ＿ｂｏｕｎｄａｒｉｅｓ＿ａｌｉｇｎｅｄ＿ｆｌａｇは、アクセスユニットの中の１つのピクチャのいずれか２つのサンプルが１つのタイルに属するとき、もしあれば、同じアクセスユニットの中の別のピクチャの中の配列されたサンプルは１つのタイルに属し、アクセスユニットの中の１つのピクチャのいずれか２つのサンプルが異なるタイルに属するとき、同じアクセスユニットの中の別のピクチャの中の配列されたサンプルは異なるタイルに属さなければならないことを示す。０に等しいシンタックス要素ｔｉｌｅ＿ｂｏｕｎｄａｒｉｅｓ＿ａｌｉｇｎｅｄ＿ｆｌａｇは、そのような制約が適用されてもされなくてもよいことを示す。たとえば、０に等しいシンタックス要素ｔｉｌｅ＿ｂｏｕｎｄａｒｉｅｓ＿ａｌｉｇｎｅｄ＿ｆｌａｇは、タイルが整列されてもよいが、整列されるように厳密に制約されるとは限らないことを示し得る。
【０１０８】
[0111]  したがって、技法は、ビデオデコーダ３０が、現在復号されているレイヤについて、現在のレイヤのタイル境界が現在のレイヤのいずれかの参照レイヤと整列されているかどうかを、ＶＰＳを復号することによって決定できるようにし得る。たとえば、ビデオデコーダ３０は、各直接参照レイヤ（たとえば、直接依存性フラグによって示される）が、現在のレイヤのタイルと整列されているタイル境界を有するかどうかを決定し得る。
【０１０９】
[0112]  図２は、ビデオデータを並列に処理するための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実施することができる。イントラコーディングは、空間的予測を利用して、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去する。インターコーディングは、時間的予測を利用して、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのいずれかを指す場合がある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指す場合がある。
【０１１０】
[0113]  上述のように、ビデオエンコーダ２０は、マルチビューおよび／またはスケーラブルビデオコーディングを実行するように構成され得る。たとえば、ビデオエンコーダ２０は、ＳＨＶＣ、ＭＶ−ＨＥＶＣ、または３Ｄ−ＨＥＶＣなどの１つまたは複数のビデオコーディング規格の拡張に準拠するビットストリームを符号化するように構成され得る。ただし、特定のコーディング規格が参照されるが、本技法は、任意の１つのコーディング規格に固有のものではなく、将来のおよび／またはまだ開発されていない規格とともに実装され得ることを理解されたい。
【０１１１】
[0114]  図２に示されたように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、ビデオデータメモリ３８と、モード選択ユニット４０と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。モード選択ユニット４０は、今度は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、区分ユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。ブロック境界をフィルタ処理して復元されたビデオからブロッキネスアーティファクトを除去するために、デブロッキングフィルタ（図２に示されず）が含まれる場合もある。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタリングすることになる。追加のフィルタ（ループ内またはループ後）もデブロッキングフィルタに加えて使用され得る。そのようなフィルタは簡潔のために示されていないが、必要な場合、（ループ内フィルタとして）加算器５０の出力をフィルタ処理することができる。
【０１１２】
[0115]  ビデオデータメモリ３８は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ３８に記憶されるビデオデータは、たとえば、ビデオソース１８から取得され得る。参照ピクチャメモリ６４は、たとえば、イントラコーディングモードまたはインターコーディングモードで、ビデオエンコーダ２０によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する、復号ピクチャバッファと呼ばれることがある。ビデオデータメモリ３８および参照ピクチャメモリ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ３８および参照ピクチャメモリ６４は、同じメモリデバイスまたは別個のメモリデバイスによって設けられ得る。様々な例では、ビデオデータメモリ３８は、ビデオエンコーダ２０の他の構成要素とともにオンチップであってよく、またはそれらの構成要素に対してオフチップであってもよい。
【０１１３】
[0116]  符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間予測を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット４６は、代替として、空間予測を実現するために、コーディングされるべきブロックと同じフレームまたはスライス内の１つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行することができる。ビデオエンコーダ２０は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行することができる。
【０１１４】
[0117]  その上、パーティションユニット４８は、以前のコーディングパスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分することができる。たとえば、パーティションユニット４８は、最初にフレームまたはスライスをＬＣＵに区分し、レートひずみ分析（たとえば、レートひずみ最適化）に基づいてＬＣＵの各々をサブＣＵに区分することができる。モード選択ユニット４０は、ＬＣＵをサブＣＵに区分することを示す４分木データ構造をさらに生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵと１つまたは複数のＴＵとを含む場合がある。
【０１１５】
[0118]  モード選択ユニット４０は、たとえば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器５０に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器６２に与え得る。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット５６に与える。
【０１１６】
[0119]  動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在フレーム（または他のコード化ユニット）内でコーディングされている現在ブロックに対する参照フレーム（または他のコード化ユニット）内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【０１１７】
[0120]  動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択されてよく、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０１１８】
[0121]  動き補償ユニット４４によって実施される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。現在ビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。加算器５０は、以下で説明されるように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット４２はルーマ成分に対して動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０１１９】
[0122]  イントラ予測ユニット４６は、前述のように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用するようにイントラ予測モードを決定することができる。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パスにおいて、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。
【０１２０】
[0123]  たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化されたブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックのひずみおよびレートから比率を計算し得る。
【０１２１】
[0124]  ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る、構成データを含め得る。
【０１２２】
[0125]  ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって、残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を含むビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴと概念的に同様である他の変換を実行することができる。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送ることができる。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行することができる。代替的に、エントロピー符号化ユニット５６が走査を実行してよい。
【０１２３】
[0126]  量子化の後、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後に、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、または後で送信するかまたは取り出すためにアーカイブされ得る。
【０１２４】
[0127]  逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構築する。動き補償ユニット４４は、残差ブロックを参照ピクチャメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用し得る。加算器６２は、再構築された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための再構築されたビデオブロックを生成する。再構築されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１２５】
[0128]  ビデオエンコーダ２０は、本開示の技法のいずれかを、単独でまたは任意の組合せで実行するように構成され得るビデオエンコーダの一例を表す。たとえば、ビデオエンコーダ２０は、マルチレイヤビットストリームの任意のレイヤがレイヤ間予測制約を有するかどうかを示すデータ、およびタイル境界がマルチレイヤビットストリームのレイヤのうちの少なくとも２つの間で整列されているかどうかを示すデータのうちの、少なくとも１つを含むマルチレイヤビットストリームをＶＰＳの中で符号化するとともに、ＶＰＳのデータに従って、マルチレイヤビットステラムを符号化するように構成され得る。付加的または代替的には、ビデオエンコーダ２０は、ビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを１つまたは複数のスケーリングされたオフセット値に基づいて決定し得、その場合、参照ピクチャはマルチレイヤビットストリームの第１のレイヤに含まれ、１つまたは複数のスケーリングされたオフセット値は第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す。ビデオエンコーダ２０はまた、第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを、参照サンプルのロケーションに基づいて決定し得、配列された参照ブロックに関連して第２のレイヤの中のビデオデータの現在のブロックを符号化し得る。
【０１２６】
[0129]  図３は、ビデオデータを並列に処理するための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。上述のように、ビデオデコーダ３０は、マルチビューおよび／またはスケーラブルビデオコーディングを実行するように構成され得る。たとえば、ビデオデコーダ３０は、ＳＨＶＣ、ＭＶ−ＨＥＶＣ、または３Ｄ−ＨＥＶＣなどの１つまたは複数のビデオコーディング規格の拡張に準拠するビットストリームを復号するように構成され得る。ただし、特定のコーディング規格が参照されるが、本技法は、任意の１つのコーディング規格に固有のものではなく、将来のおよび／またはまだ開発されていない規格とともに実装され得ることを理解されたい。
【０１２７】
[0130]  図３の例では、ビデオデコーダ３０は、ビデオデータメモリ６８と、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照ピクチャメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明された符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【０１２８】
[0131]  ビデオデータメモリ６８は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化されたビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ６８に記憶されるビデオデータは、たとえば、コンピュータ可読媒体１６から、たとえば、カメラなどのローカルビデオソースから、ビデオデータの有線もしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ６８は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶する、コード化ピクチャバッファ（ＣＰＢ）を形成し得る。参照ピクチャメモリ８２は、たとえば、イントラコーディングモードまたはインターコーディングモードで、ビデオデコーダ３０によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する、復号ピクチャバッファと呼ばれることがある。ビデオデータメモリ６８および参照ピクチャメモリ８２は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ６８および参照ピクチャメモリ８２は、同じメモリデバイスまたは別個のメモリデバイスによって設けられ得る。様々な例では、ビデオデータメモリ６８は、ビデオデコーダ３０の他の構成要素とともにオンチップであってよく、またはそれらの構成要素に対してオフチップであってもよい。
【０１２９】
[0132]  復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックと、関連付けられるシンタックス要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他のシンタックス要素とを動き補償ユニット７２に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１３０】
[0133]  ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、Ｐ、またはＧＰＢ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロック用の予測ブロックを生成する。予測ブロックは、参照ピクチャリストの１つの中の参照ピクチャのうち１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０とリスト１とを構成し得る。動き補償ユニット７２は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコーディングビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【０１３１】
[0134]  動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、参照ブロックのサブ整数ピクセルのための補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１３２】
[0135]  逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０１３３】
[0136]  逆変換ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１３４】
[0137]  動き補償ユニット７２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器８０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタ処理するデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、（コーディングループ内またはコーディングループ後のいずれかの）他のループフィルタも使用され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ８２に記憶される。参照ピクチャメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の提示のために、復号されたビデオを記憶する。
【０１３５】
[0138]  ビデオデコーダ３０は、本開示の技法のいずれかまたはすべてを、単独で、または任意の組合せで実施するように構成され得る。たとえば、ビデオデコーダ３０は、マルチレイヤビットストリームの任意のレイヤがレイヤ間予測制約を有するかどうかを示すデータ、およびタイル境界がマルチレイヤビットストリームのレイヤのうちの少なくとも２つの間で整列されているかどうかを示すデータのうちの、少なくとも１つをマルチレイヤビットストリームのビデオパラメータセット（ＶＰＳ）から復号するとともに、ＶＰＳから取得されたデータに従って、マルチレイヤビットステラムを復号するように構成され得る。付加的または代替的には、ビデオデコーダ３０は、ビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを１つまたは複数のスケーリングされたオフセット値に基づいて決定し得、その場合、参照ピクチャはマルチレイヤビットストリームの第１のレイヤに含まれ、１つまたは複数のスケーリングされたオフセット値は第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す。ビデオデコーダ３０はまた、第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを、参照サンプルのロケーションに基づいて決定し得、配列された参照ブロックに関連して第２のレイヤの中のビデオデータの現在のブロックを復号し得る。
【０１３６】
[0139]  図４は、スケーラブルビデオコーディング（ＳＶＣ）のための様々なスケーラブルな次元を示す概念図である。図４は、ＳＶＣのスケーラビリティ構造の一例を示す。特に、異なる次元におけるスケーラビリティの一例が図４に示される。この例では、スケーラビリティが３つの次元において使用可能である。時間次元では、７．５Ｈｚ、１５Ｈｚまたは３０Ｈｚをもつフレームレートが時間スケーラビリティ（Ｔ）によってサポートされ得る。空間スケーラビリティ（Ｓ）がサポートされるとき、ＱＣＩＦ、ＣＩＦおよび４ＣＩＦなどの異なる解像度が使用可能である。特定の空間解像度およびフレームレートごとに、ピクチャ品質を改善するために信号対雑音（ＳＮＲ）（Ｑ）レイヤが追加され得る。
【０１３７】
[0140]  ビデオコンテンツがそのようなスケーラブルな方法で符号化されると、たとえば、クライアントまたは送信チャネルに依存し得るアプリケーション要件に従って、実際の配信されたコンテンツを適応させるために、抽出器ツールが使用され得る。図４に示された例では、各体積、すなわち立方体は、同じフレームレート（時間レベル）、空間解像度およびＳＮＲレイヤをもつピクチャを含んでいる。それらの立方体（ピクチャ）を任意の次元で追加することによって、より良い表現が達成され得る。使用可能な２つ、３つまたはさらに多くのスケーラビリティがあるとき、複合スケーラビリティがサポートされ得る。
【０１３８】
[0141]  ＳＶＣの仕様によれば、最も低い空間レイヤおよび品質レイヤを有するピクチャは、Ｈ．２６４／ＡＶＣと互換性があり、最低の時間レベルにあるピクチャは、より高い時間レベルにあるピクチャで強調され得る時間ベースレイヤを形成する。Ｈ．２６４／ＡＶＣ互換レイヤに加えて、空間スケーラビリティおよび／または品質スケーラビリティを実現するために、いくつかの空間エンハンスメントレイヤおよび／またはＳＮＲエンハンスメントレイヤが追加され得る。ＳＮＲスケーラビリティは品質スケーラビリティと呼ばれることもある。各空間またはＳＮＲエンハンスメントレイヤ自体は、Ｈ．２６４／ＡＶＣ適合レイヤと同じ時間スケーラビリティ構造で、時間的にスケーラブルになり得る。１つの空間またはＳＮＲエンハンスメントレイヤについて、それが依存するより低いレイヤは、その特定の空間またはＳＮＲエンハンスメントレイヤのベースレイヤと呼ばれることもある。
【０１３９】
[0142]  図５は、ＳＶＣコーディング構造の一例を示す概念図である。この例では、最低空間および品質レイヤをもつピクチャ（ＱＣＩＦ解像度をもつ、レイヤ０およびレイヤ１中のピクチャ）は、Ｈ．２６４／ＡＶＣに適合する。それらの中で、最低時間レベルのピクチャは、図５のレイヤ０に示されているように、時間ベースレイヤを形成する。この時間ベースレイヤ（レイヤ０）は、より高い時間レベル（レイヤ１）のピクチャを用いて拡張され得る。Ｈ．２６４／ＡＶＣ互換レイヤに加えて、空間スケーラビリティおよび／または品質スケーラビリティを実現するために、いくつかの空間エンハンスメントレイヤおよび／またはＳＮＲエンハンスメントレイヤが追加され得る。たとえば、エンハンスメントレイヤは、レイヤ２と同じ解像度をもつＣＩＦ表現であり得る。この例では、レイヤ３はＳＮＲエンハンスメントレイヤである。この例に示されているように、各空間またはＳＮＲエンハンスメントレイヤ自体は、Ｈ．２６４／ＡＶＣ適合レイヤと同じ時間スケーラビリティ構造で、時間的にスケーラブルになり得る。また、エンハンスメントレイヤは空間解像度とフレームレートの両方を向上させことができる。たとえば、レイヤ４は、フレームレートを１５Ｈｚから３０Ｈｚにさらに増加させる４ＣＩＦエンハンスメントレイヤを与える。
【０１４０】
[0143]  図６は、例示的なアクセスユニット（ＡＵ）を示す概念図である。各ＡＵは、ネットワークアブストラクションレイヤ（ＮＡＬ）ユニット内にカプセル化された、１つまたは複数のスライスを含む。レイヤごとのアクセスユニット当たりにゼロまたはそれ以上のＮＡＬユニットが存在し得る。１つのアクセスユニット内の１つのレイヤに対応するＮＡＬユニットのセットは、「レイヤ成分」と呼ばれることがある。図６の例は、図５のレイヤ成分に対応するレイヤ成分を描いている。図６の例に示されているように、同じ時間インスタンス中（すなわち、共通のＡＵの中）のコード化スライスは、ビットストリーム順序で連続しており、ＳＶＣのコンテキストにおける１つのアクセスユニットを形成する。それらのＳＶＣアクセスユニットは、次いで、表示順序とは異なり得る、たとえば、時間予測関係によって決定され得る、復号順序に従う。
【０１４１】
[0144]  Ｈ.２６４／ＡＶＣ（アドバンストビデオコーディング）のスケーラブルな拡張が、以下で説明される。ＳＶＣのいくつかの機能はＨ．２６４／ＡＶＣから引き継がれている。以前のスケーラブルな規格と比較すると、Ｈ.２６４／ＡＶＣに対するＳＶＣ拡張の最大の利点のいくつか、すなわちレイヤ間予測およびシングルループ復号が、以下で考察される。
【０１４２】
[0145]  Ｈ.２６４／ＡＶＣのＳＶＣ拡張は、シングルループ復号をサポートする。低複雑度デコーダを保持するために、ＳＶＣではシングルループ復号が必須である。シングルループ復号で、各々のサポートされるレイヤは、単一の動き補償ループで復号され得る。これを達成するために、レイヤ間イントラ予測の使用は、配列された参照レイヤ信号がそのためにイントラコーディングされるエンハンスメントレイヤマクロブロックのためにのみ可能にされる。より高いレイヤをレイヤ間予測するために使用されるすべてのレイヤが、制約付きイントラ予測を使用してコーディングされることがさらに必要である。
【０１４３】
[0146]  Ｈ．２６４／ＡＶＣのＳＶＣ拡張もまた、レイヤ間予測をサポートする。ＳＶＣは、テクスチャ、残差および動きに基づいて、空間スケーラビリティおよびＳＮＲスケーラビリティのためのレイヤ間予測を導入する。ＳＶＣにおける空間スケーラビリティは、２つのレイヤ間の任意の解像度比に一般化されている。ＳＮＲスケーラビリティは、粗粒度スケーラビリティ（ＣＧＳ）または中粒度スケーラビリティ（ＭＧＳ）によって実現され得る。ＳＶＣでは、２つの空間レイヤまたはＣＧＳレイヤは、（ＮＡＬユニットヘッダ内でシンタックス要素ｄｅｐｅｎｄｅｎｃｙ＿ｉｄによって示される）異なる依存性レイヤに属するが、２つのＭＧＳレイヤは同じ依存性レイヤ内にあり得る。１つの依存性レイヤは、品質エンハンスメントレイヤに対応する、０からより高い値までのシンタックス要素ｑｕａｌｉｔｙ＿ｉｄの値を有する品質レイヤを含む。ＳＶＣでは、レイヤ間の冗長性を低減するために、レイヤ間予測方法が利用される。それらは以下の段落で簡単に紹介される。
【０１４４】
[0147]  レイヤ間イントラ予測を使用するコーディングモードは、ＳＶＣでは「イントラＢＬ」モードと呼ばれる。シングルループ復号を使用可能にするために、制約付きイントラモードとしてコーディングされるベースレイヤ中の配列されたマクロブロック（ＭＢ）を有するＭＢのみが、レイヤ間イントラ予測モードを使用することができる。制約付きイントラモードのＭＢは、隣接するインターコーディングされたＭＢからのいかなるサンプルも参照せずにイントラコーディングされる。
【０１４５】
[0148]  ＭＢが残差予測を使用するように指示された場合、レイヤ間予測用のベースレイヤ内で配列されたＭＢは、インターＭＢであるに違いなく、その残差は空間解像度比に従ってアップサンプリングされる場合がある。エンハンスメントレイヤの残差とベースレイヤの残差との間の差分がコーディングされる。すなわち、エンハンスメントレイヤの現在のフレーム
【０１４６】
【数３】
0006301467.tif 000009
【０１４７】
の再構成は、以下に示すように、エンハンスメントレイヤの逆量子化係数ｒe、エンハンスメントレイヤからの時間的予測Ｐe、およびベースレイヤの量子化正規化残差係数ｒbの合計に等しい。
【０１４８】
【数４】
0006301467.tif 000010
【０１４９】
[0149]  配列されたベースレイヤの動きベクトルは、ＭＢの動きベクトル用の予測子またはエンハンスメントレイヤ内のＭＢパーティションを生成するためにスケーリングされる場合がある。加えて、ＭＢごとに１つのフラグを送る、基本モードと命名された１つのＭＢタイプが存在する。このフラグが真であり、対応するベースレイヤのＭＢがイントラでない場合、動きベクトル、区分モード、および参照インデックスは、すべてベースレイヤから導出される。
【０１５０】
[0150]  上述のように、Ｈ．２６４／ＡＶＣと同様に、ＨＥＶＣもまた、少なくとも時間スケーラビリティと、ＳＮＲスケーラビリティと、空間スケーラビリティとを提供する、ＳＨＶＣと現在呼ばれるスケーラブルビデオコーディング拡張を有する。ＳＨＶＣにおいて、レイヤ間テクスチャ予測を達成するために、参照レイヤの解像度がエンハンスメントレイヤの解像度より低いときに、参照レイヤの再構成されたサンプルが最初にアップサンプリングされる。ＳＮＲスケーラビリティの場合でさえ、参照レイヤサンプルは、より高いコーディング効率を得るために、レイヤ間予測のために使用される前にフィルタリングされることがある。アップサンプリングまたはレイヤ間フィルタリング処理が、レイヤ成分または単にピクチャと呼ばれることもあるレイヤピクチャ全体について実行され得る。ＳＨＶＣでは、マルチループ復号構造が使用され得、ビデオデコーダ（ビデオデコーダ３０などの）は、異なるレイヤを並列に処理し得る。
【０１５１】
[0151]  本開示の態様によれば、マルチレイヤビデオコーディングのためのオフセット遅延情報が、ビデオパラメータセット（ＶＰＳ）の中に含まれ得る。上述のように、オフセット遅延情報は、参照データを確実に利用可能にするための、別のレイヤに関連するあるレイヤをコーディング（符号化または復号）する間の遅延を示し得る。本開示の態様によれば、ビデオエンコーダ２０は、オフセット遅延情報を示すデータをＶＰＳの中で符号化し得る。同様に、ビデオデコーダ３０は、符号化されたビットストリームから、オフセット遅延情報を示すデータを復号し得る。
【０１５２】
[0152]  いくつかの例では、ビデオコーダ（ビデオエンコーダ２０および／またはビデオデコーダ３０などの）は、マルチレイヤビットストリームのいずれかのレイヤがレイヤ間予測制約を有するかどうかを示すＶＰＳのデータをコーディングし得る。たとえば、現在コーディングされているレイヤのための少なくとも１つの参照レイヤが、関連付けられたオフセット遅延を有することを示すためのフラグが、ＶＰＳの中に含まれ得る。少なくとも１つのレイヤが、関連付けられたオフセット遅延を有すると決定すると、ビデオコーダは、どの参照レイヤがオフセット遅延を有するのか、およびそのようなレイヤに関連付けられたオフセット遅延を決定し得る。すなわち、オフセット遅延情報は、オフセット遅延を有する参照レイヤについてのみ提供され得る。
【０１５３】
[0153]  図７は、高効率ビデオコーディング（ＨＥＶＣ）規格による例示的なタイルを示す概念図である。ＨＥＶＣは、タイルおよび波面並列処理（ＷＰＰ）を含む、コーデックをより並列に順応させるためのいくつかの提案を含む。ＨＥＶＣ  ＷＤ１０は、タイルのＣＴＢラスタ走査において連続的に順序付けられた、１つの列および１つの行内で同時に発生する整数個のＣＴＢとしてタイルを定義する。各ピクチャをタイルに分割することは、区分と呼ばれ得る。ピクチャ内のタイルは、図７に示すように、ピクチャのタイルラスタ走査において連続的に順序付けられる。
【０１５４】
[0154]  たとえば、図７は、複数のタイル９２Ａ、９２Ｂ、９２Ｃ、９２Ｄ、９２Ｅ、９２Ｆ、９２Ｇ、９２Ｈ、９２Ｉ、および９２Ｊ（まとめて、「タイル９２」）に区分されるピクチャ９０のための例示的なＣＴＢのコーディング順序を示し、タイル境界が太線によって示されている。ピクチャ９０における各正方形ブロックは、ＣＴＢに関連付けられたピクセルブロックを表す。ピクセルブロックにおける数字は、ピクチャ９０についてのタイルのコーディング順序で対応するＣＴＢ（たとえば、ＬＣＵ）の位置を示す。図１１の例に示すように、タイル９２ＡのＣＴＢが最初にコーディングされ、続いてタイル９２ＢのＣＴＢ、続いてタイル９２ＣのＣＴＢ、続いてタイル９２ＤのＣＴＢ、続いてタイル９２ＥのＣＴＢ、続いてタイル９２ＦのＣＴＢ、続いてタイル９２ＧのＣＴＢ、続いてタイル９２ＨのＣＴＢ、続いてタイル９２ＩのＣＴＢ、続いてタイル９２ＪのＣＴＢが、コーディングされる。タイル９２の各々の中で、ラスタ走査順序に従ってＣＴＢがコーディングされる。
【０１５５】
[0155]  タイルの数およびそれらの境界のロケーションは、全体のシーケンスに対して定義されてもよく、またはピクチャごとに変更されてもよい。スライス境界と同様に、タイル境界は、タイルが単独で処理され得るように、パースと予測依存性とを分割する。しかしながら、いくつかの事例では、ループ内フィルタ（たとえば、デブロッキングまたはサンプル適応オフセット（ＳＡＯ）フィルタ）は、依然としてタイル境界を横切ることができる。たとえば、ＨＥＶＣワーキングドラフト１０は、ＰＰＳの中に規定されるｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素を提供する。ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素の値が１に等しいとき、ループ内フィルタリング動作は、ＰＰＳを参照するピクチャの中のタイル境界を横切って実行され得る。０に等しいｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素は、ループ内フィルタリング動作がＰＰＳを参照するピクチャの中のタイル境界を横切って実行されないことを規定する。
【０１５６】
[0156]  エントロピー復号および動き補償再構成のためにプロセッサまたはプロセッサコアの間で通信が必要とされない（または、比較的少量ですむ）ので、タイルの使用は並列性を向上させることができる。加えて、タイルがスライスよりも潜在的に高い相関を有するサンプルを含むピクチャパーティション形状を可能にするので、タイルは、スライスと比較したときに比較的良好なコーディング効率を示し得る。タイルはまた、スライスヘッダのオーバーヘッドを低減し得る。
【０１５７】
[0157]  タイルがシングルレイヤコーディングにおいて使用されるとき、シンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔａｔｉｏｎ＿ｉｄｃは、１つの処理スレッドによって処理されるべきルーマサンプルの最大数を計算するためにビデオデコーダ（ビデオデコーダ３０などの）によって使用され得、ビデオデコーダ３０は並列復号情報を最大限に利用することが想定される。０に等しくないとき、ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔａｔｉｏｎ＿ｉｄｃシンタックス要素は、コーディングされたビデオシーケンスのピクチャの中で、異なるコーディングされた空間セグメント化領域の最大可能なサイズで境界を確立する助けとなり得る。ＨＥＶＣ  ＷＤ１０では、たとえば、エントロピーコーディング同期、またはタイル境界もしくはスライス境界を横切るデブロッキングフィルタリングに起因して、異なるスレッド間に何らかのピクチャ相互依存性が存在し得る。
【０１５８】
[0158]  図８は、波面並列処理（ＷＰＰ）に対する波面を示す概念図である。ＨＥＶＣは、ＷＰＰ技法を定義する。ＷＰＰが可能にされるとき、ピクチャのＣＴＵ行の各々は、分離されたパーティションである。しかしながら、スライスおよびタイルと比較すると、コーディング依存性は、ＣＴＵ行の境界において分割されない。加えて、ＣＡＢＡＣ確率は、以前の行の第２のＣＴＵから伝搬され、コーディングロスをさらに低減する。同じく、ＷＰＰは、通常のラスタ走査順序を変更しない。依存性は分割されないので、ＷＰＰビットストリームのレートひずみロスは、非並列ビットストリーム（nonparallel bitstream）と比較して小さい。
【０１５９】
[0159]  ＷＰＰが可能にされると、ＣＴＵ行の数までの数のプロセッサが、ＣＴＵ行（またはライン）を処理するために並列に働き得る。しかしながら、波面依存性は、ピクチャのはじめにおいて、すべてのＣＴＵ行が復号を開始することを許容しない。したがって、ＣＴＵ行は、同じく、ピクチャの終わりにおいて、同時に復号を終了することができない。これは、多数のプロセッサが使用されるときにより明白になる、並列化の非効率性をもたらす。図８は、ＷＰＰが、どのようにしてＣＴＢの行を並列に処理するかを示しており、各行は、上の行の第２のＣＴＢを処理した後、利用可能なＣＡＢＡＣ確率から開始する。
【０１６０】
[0160]  図９は、参照レイヤピクチャ１０４から予測される例示的なエンハンスメントレイヤピクチャ１００を示す概念図である。この例では、エンハンスメントレイヤピクチャ１００がタイル１０２Ａ〜１０２Ｄを含む一方で、参照レイヤピクチャ１０４は、タイル１０６Ａ、１０６Ｂを含む。図９の点線で示すように、エンハンスメントレイヤピクチャ１００のタイル１０２Ｂが、参照レイヤピクチャ１０４のタイル１０６Ａに対応する一方で、エンハンスメントレイヤピクチャ１００のタイル１０２Ｃは、参照レイヤピクチャ１０４のタイル１０６Ｂに対応する。
【０１６１】
[0161]  この例では、エンハンスメントレイヤピクチャ１００は、参照レイヤピクチャ１０４と異なるアスペクト比を有する。たとえば、参照レイヤピクチャ１０４は４：３のアスペクト比を有し得、一方、エンハンスメントレイヤピクチャ１００は１６：９のアスペクト比を有し得る。したがって、エンハンスメントレイヤピクチャ１００のタイル１０２Ａ、１０２Ｄは、参照レイヤピクチャ１０４内に対応するタイルをもたない。たとえば、エンハンスメントレイヤピクチャ１００のタイル１０２Ａは、サンプル１０８を含む。垂直のハッシングで示すように、サンプル１０８は、参照レイヤピクチャ１０４内に利用可能な配列された参照レイヤ（ＲＬ）サンプルをもたない。同様に、エンハンスメントレイヤピクチャ１００のタイル１０２Ｄのサンプル１１４は、利用可能な配列されたＲＬサンプルをもたない。しかしながら、サンプル１１０、１１２は、参照レイヤピクチャ１０４内に利用可能な配列された参照レイヤサンプル（クロスハッチングで示す）を有する。特に、サンプル１１０、１１２は、参照レイヤピクチャ１０４のサンプル１１６、１１８に対応する。
【０１６２】
[0162]  図９は、タイル１０２Ｂ、１０２Ｃのタイル境界がタイル１０６Ａ、１０６Ｂのタイル境界と整列されていると言われてよい一例を示す。いくつかの例では、同じエンハンスメントレイヤタイル内にある任意の２つのエンハンスメントレイヤピクチャサンプルに対して、配列された参照レイヤサンプルが、利用可能な場合、対応する参照レイヤタイル内にあるとき、および、コレスポンディングレファレンスレイヤタイル内にある任意の２つの参照レイヤピクチャサンプルに対して、配列されたエンハンスメントレイヤサンプルが、利用可能な場合、対応するエンハンスメントレイヤタイル内にあるときに、タイル境界は、整列されていると言われてよい。タイル１０２Ｂ内の任意の２つのサンプルは１０６Ａ内の配列されたサンプルに対応し、同様に、タイル１０６Ａ内の任意の２つのサンプルはタイル１０２Ｂ内の配列されたサンプルに対応するので、タイル１０２Ｂの境界は、タイル１０６Ａの境界と整列されていると言われてよい。同様に、タイル１０２Ｃ内の任意の２つのサンプルはタイル１０６Ｂ内の配列されたサンプルに対応し、同様に、タイル１０６Ｃ内の任意の２つのサンプルはタイル１０２Ｃ内の配列されたサンプルに対応するので、タイル１０２Ｃの境界は、タイル１０６Ｂの境界と整列されていると言われてよい。
【０１６３】
[0163]  タイル境界の整列は、ビデオコーダ（ビデオエンコーダ２０またはビデオデコーダ３０などの）がピクチャ（または、タイル）をコーディングする方式に影響を及ぼし得る。たとえば、いくつかの事例では、ビデオコーダは、タイル境界が整列されていない事例におけるレイヤ間予測または何らかのフィルタリング動作を制約することがある。
【０１６４】
[0164]  本開示の態様によれば、タイル境界が整列されているかどうかの指示は、ＶＰＳの中で提供され得る。たとえば、ＶＰＳを参照するレイヤのタイルが互いに整列されているかどうかを示す１つまたは複数のシンタックス要素が、ＶＰＳの中に含まれ得る。たとえば、１に等しいシンタックス要素ｔｉｌｅ＿ｂｏｕｎｄａｒｉｅｓ＿ａｌｉｇｎｅｄ＿ｆｌａｇ［ｉ]［ｊ]は、ＶＰＳによって規定されるｉ番目のレイヤの１つのピクチャのいずれか２つのサンプルが１つのタイルに属するとき、２つの配列されたサンプルは、両方がｉ番目のレイヤのｊ番目の直接参照レイヤのピクチャの中に存在する場合に１つのタイルに属し、ｉ番目のレイヤの１つのピクチャのいずれか２つのサンプルが異なるタイルに属するとき、２つの配列されたサンプルは、両方がｉ番目のレイヤのｊ番目の直接参照レイヤのピクチャの中に存在する場合に異なるタイルに属することを示し得る。０に等しいシンタックス要素ｔｉｌｅ＿ｂｏｕｎｄａｒｉｅｓ＿ａｌｉｇｎｅｄ＿ｆｌａｇは、そのような制約が適用されてもされなくてもよいことを示す。存在しないとき、ｔｉｌｅ＿ｂｏｕｎｄａｒｉｅｓ＿ａｌｉｇｎｅｄ＿ｆｌａｇ［ｉ]［ｊ]の値は０に等しいと推測される。
【０１６５】
[0165]  いくつかの例では、タイル境界の整列情報は、上の表５に示す方式で提供され得る。そのような例では、ビデオデコーダ３０は、各直接参照レイヤ（たとえば、直接依存性フラグによって示されるような）が現在のレイヤのタイルと整列されているタイル境界を有するかどうかを決定し得る。
【０１６６】
[0166]  このようにして、ビデオエンコーダ（ビデオエンコーダ２０などの）は、タイル境界がマルチレイヤビットストリームのレイヤのうちの少なくとも２つの間で整列されているかどうかを示すデータを、ＶＰＳの中で符号化し得る。同様に、ビデオデコーダ（ビデオデコーダ３０などの）は、タイル境界がマルチレイヤビットストリームのレイヤのうちの少なくとも２つの間で整列されているかどうかを示すデータを、ＶＰＳから復号し得る。
【０１６７】
[0167]  図１０は、配列された参照レイヤ領域を有しないエンハンスメントレイヤ領域を示す概念図である。図１０の例は、エンハンスメントレイヤ１３０とベースレイヤ１３２とを含む。ベースレイヤ１３２は、エンハンスメントレイヤ１３０をコーディングするためのレイヤ間参照（参照レイヤ）におけるものとして使用され得る。ベースレイヤ１３２のスケーリング／アップサンプリングされたバージョンが、エンハンスメントレイヤ１３０内で破線１３４によって示される。
【０１６８】
[0168]  図１０の例に示すように、エンハンスメントレイヤ１３４はまた、ベースレイヤ１３４の中に含まれない領域１３６を含む。領域１３６は、概して、スケーリングされたオフセット値ｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｌｅｆｔ＿ｏｆｆｓｅｔ、ｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｔｏｐ＿ｏｆｆｓｅｔ、ｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｒｉｇｈｔ＿ｏｆｆｓｅｔ、およびｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｂｏｔｔｏｍ＿ｏｆｆｓｅｔによって示されるように、スケーリング／アップサンプリングされたベースレイヤ１３４とエンハンスメントレイヤ１３０の境界との間のエリアを含む。すなわち、シンタックス要素ｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｌｅｆｔ＿ｏｆｆｓｅｔの値は、エンハンスメントレイヤ１３０の左端とスケーリング／アップサンプリングされたベースレイヤ１３４の左端との間のロケーションの差分を示す。同様に、ｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｔｏｐ＿ｏｆｆｓｅｔはエンハンスメントレイヤ１３０の上端とスケーリング／アップサンプリングされたベースレイヤ１３４の上端との間のロケーションの差分を示し、ｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｒｉｇｈｔ＿ｏｆｆｓｅｔはエンハンスメントレイヤ１３０の右端とスケーリング／アップサンプリングされたベースレイヤ１３４の右端との間のロケーションの差分を示し、シンタックス要素ｓｃａｌｅｄ＿ｒｅｆ＿ｌａｙｅｒ＿ｂｏｔｔｏｍ＿ｏｆｆｓｅｔの値はエンハンスメントレイヤ１３０の下端とスケーリング／アップサンプリングされたベースレイヤ１３４の下端との間のロケーションの差分を示す。いくつかの事例では、オフセットによって示されるスケーリング／アップサンプリングされたベースレイヤ１３４とエンハンスメントレイヤ１３０の境界との間のエリアは、テキストまたは他のスクリーンコンテンツ（たとえば、ビデオデータでない）を含み得る。
【０１６９】
[0169]  本開示の態様によれば、ビデオコーダ（ビデオエンコーダ２０および／またはビデオデコーダ３０などの）は、配列されたサンプル（たとえば、参照サンプル）のロケーションを決定し得る。ビデオコーダはまた、配列されたＣＴＵのロケーションを、決定された配列されたサンプルに基づいて決定し得る。配列されたＣＴＵは、エンハンスメントレイヤ１３０とベースレイヤ１３２（たとえば、ここでベースレイヤ１３２が参照レイヤである）との間でのレイヤ間予測のために使用され得る。
【０１７０】
[0170]  例示のための一例では、ビデオコーダは、ｉ番目の直接参照レイヤの配列されたサンプルにとっての変数ｘＲｅｆ［ｉ]とｙＲｅｆ［ｉ]とを、以下の式に従って決定し得る。
【０１７１】
【数５】
0006301467.tif 000011
【０１７２】
ここで、ｘＲｅｆ［ｉ]は配列されたサンプルのｘ座標を表し、ｙＲｅｆ［ｉ]は配列されたサンプルのｙ座標を表す。加えて、ｘＰおよびｙＰはピクチャの左上のサンプルに対するピクチャＰの中の中のサンプルのロケーションであり得、シンタックス要素ＳｃａｌｅｄＲｅｆＬａｙｅｒＬｅｆｔＯｆｆｓｅｔの値はエンハンスメントレイヤ１３０の左端とスケーリング／アップサンプリングされたベースレイヤ１３４の左端との間の距離の指示であり得、シンタックス要素ＳｃａｌｅｄＲｅｆＬａｙｅｒＴｏｐＯｆｆｓｅｔの値はエンハンスメントレイヤ１３０の右端とスケーリング／アップサンプリングされたベースレイヤ１３４の右端との間の距離の指示であり得る。加えて、ＳｃａｌｅＦａｃｔｏｒＸおよびＳｃａｌｅＦａｃｔｏｒＹ（参照ピクチャおよびスケーリングされた参照ピクチャのサイズに基づくスケーリングファクタ）は、上述のＳＨＶＣ文書（ＪＣＴＶＣ−Ｍ１００７）のセクションＧ．８．１．４に従って、エンハンスメントレイヤ１３０とベースレイヤ１３２との間でのスケールの差分に基づいて決定され得る。
【０１７３】
[0171]  上記の例では、本開示の態様によれば、ビデオコーダは、配列されたサンプルｘＲｅｆ、ｙＲｅｆをオフセット値に基づいて調整する。たとえば、ビデオコーダは、参照サンプルのロケーションを、２つのレイヤ間でのスケールの差分を示すスケーリングされたオフセットに基づいて決定し得る。したがって、エンハンスメントレイヤ１３０のサンプルをベースレイヤ１３２の中の対応するロケーションに直接マッピングするのではなく、ビデオコーダは、スケールおよびオフセットの差分に起因するロケーションの相対的な差分を説明し得る。
【０１７４】
[0172]  配列されたサンプルのロケーションを決定した後、ビデオコーダは、配列されたＣＴＵのロケーションを決定し得る。いくつかの事例では、ビデオコーダは、所与のＣＴＵのそれぞれの配列されたＣＴＢ（ルーマおよびクロマＣＴＢ）のロケーションを別個に決定し得る。例示のための一例では、本開示の態様によれば、ビデオコーダは、配列されたＣＴＵのロケーションを以下の式に基づいて決定し得る。
【０１７５】
【数６】
0006301467.tif 000012
【０１７６】
ここで、ｘＣｏｌＣｔｂはＣＴＵのｘ成分（たとえば、ルーマＣＴＢ、またはＣＴＵのクロマＣＴＢのうちの１つ）を表し、ｘＲｅｆは配列されたサンプルのｘ座標を表し、ｙＣｏｌＣｔｂは配列されたＣＴＵのｙ成分を表し、ｙＲｅｆは配列されたサンプルのｙ座標を表し、ｃｏｌＣｔｂＡｄｄｒ［ｉ]は配列されたＣＴＵのアドレスを表す。加えて、変数ｒｅｆＣｔｂＬｏｇ２ＳｉｚｅＹ［ｉ]［ｊ]、ｒｅｆＰｉｃＷｉｄｔｈＩｎＣｔｂｓＹ［ｉ]［ｊ]、およびｒｅｆＰｉｃＨｅｉｇｈｔＩｎＣｔｂｓＹ［ｉ]［ｊ]は、ｉ番目のレイヤのｊ番目の直接参照レイヤの、それぞれ、ＣｔｂＬｏｇ２ＳｉｚｅＹ、ＰｉｃＷｉｄｔｈＩｎＣｔｂｓＹ、およびＰｉｃＨｅｉｇｈｔＩｎＣｔｂｓＹに等しく設定され得る。したがって、変数ｃｏｌＣｔｂＡｄｄｒ［ｉ]は、ｃｔｂＡｄｄｒに等しいラスタ走査アドレスを有するＣＴＵの、ｉ番目の直接参照レイヤの中のピクチャの中の、配列されたＣＴＵのラスタ走査アドレス（raster scan address）を表示する。
【０１７７】
[0173]  本開示の態様によれば、配列されたＣＴＵは、配列されたＣＴＵがオフセット遅延を満足するエリアの中に配置される場合のみ、使用され得る。たとえば、上述のように、シンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１、およびｍｉｎ＿ｈｏｒｉｚｏｎｔａｌ＿ｃｔｕ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１は、現在のレイヤの復号遅延を示すために使用され得る。しかしながら、拡張された空間スケーラビリティが使用されるとき、現在のレイヤの中の空間セグメントＡ（スライス、タイル、ＣＴＵ行またはＣＴＵ）にとって、配列された空間セグメントＢが直接参照レイヤの中に存在し得ないことが起こり得る。たとえば、図１０の例に示すように、エンハンスメントレイヤ１３０の中に含まれる空間セグメントの配列された空間セグメントが、ベースレイヤ１３２の中に含まれないことがある（たとえば、空間セグメントが、対応するエリアをベースレイヤ１３２の中に有しないエリア１３６の中に含まれ得る）。そのような例では、オフセット遅延は、正確に決定されないことがある。
【０１７８】
[0174]  本開示の態様によれば、参照レイヤの中の配列されたＣＴＵが現在のレイヤの中の特定のＣＴＵにとって存在しないとき、ビデオコーダ（ビデオエンコーダ２０および／またはビデオデコーダ３０などの）は、調整されたアドレスが参照レイヤの中に存在するＣＴＵに対応するように、ＣＴＵアドレス（ｘ成分およびｙ成分）の値を、対応する参照レイヤ境界に調整し得る。図１０の例では、ビデオコーダは、配列されたＣＴＵがベースレイヤ１３２の境界内のＣＴＵに対応するように、アドレスをアドジャストし得る。
【０１７９】
[0175]  例示のための一例では、ビデオコーダは、コルコーテッド（collcoated）ＣＴＵを決定する前に、配列されたサンプルのアドレスを調整するために、クリッピング関数を適用し得る。たとえば、ビデオコーダは、以下の式を適用し得る。
【０１８０】
【数７】
0006301467.tif 000013
【０１８１】
ここで、ｘＲｅｆ［ｉ]は配列されたサンプルのｘコオディネイト（coodinate）を表し、ｙＲｅｆ［ｉ]は配列されたサンプルのｙコオディネイト（coodinate）を表す。いくつかの例では、ビデオコーダは、変数ｌｅｆｔＳｔａｒｔC、ｒｉｇｈｔＥｎｄC、ｔｏｐＳｔａｒｔC、およびｂｏｔｔｏｍＥｎｄC（ここで、下付き文字Ｃはクロマサンプルを表す）を、図１０の例に示すオフセットに対応するスケーリングされたオフセット（たとえば、ＳｃａｌｅｄＲｅｆＬａｙｅｒＯｆｆｓｅ）を用いて、以下の式に基づいて決定し得る。
ｌｅｆｔＳｔａｒｔＣ＝ＳｃａｌｅｄＲｅｆＬａｙｅｒＬｅｆｔＯｆｆｓｅｔ／ＳｕｂＷｉｄｔｈＣ
【０１８２】
【数８】
0006301467.tif 000014
【０１８３】
上記の例はクロマサンプルについて示されるが、ビデオコーダは類似の式をルーマＣＴＢについて適用し得る。
【０１８４】
[0176]  上記の例では、ビデオコーダは、参照サンプルが参照ピクチャの外側に配置される場合には、オフセットを参照ピクチャの相対的な境界に調整し、他の場合には、ビデオコーダは、参照サンプルのロケーションを調整しない。たとえば、参照サンプルの水平ロケーションが左の参照ピクチャ境界の左側に配置されるとき、ビデオコーダは、水平ロケーションを左の参照ピクチャ境界のロケーションと取り換え得る。同様に、参照サンプルの水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、ビデオコーダは、水平ロケーションを右の参照ピクチャ境界のロケーションと取り換え得る。参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、ビデオコーダは、垂直ロケーションを上の参照ピクチャ境界のロケーションと取り換え得る。参照サンプルの垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、ビデオコーダは、垂直ロケーションを下の参照ピクチャ境界のロケーションと取り換え得る。
【０１８５】
[0177]  配列されたＣＴＵをベースレイヤ１３０の中に配置する前に、配列されたサンプルのロケーションを、スケーリングされたオフセット値に基づいて調整することによって、ビデオコーダは、ベースレイヤ１３０の境界内に配置されるように、配列されたＣＴＵを調整し得る。
【０１８６】
[0178]  このようにして、オフセット遅延が、参照レイヤ（ベースレイヤ１３２などの）の中に存在しない空間的なロケーションを示す場合、ビデオコーダは、いつ現在のレイヤ（エンハンスメントレイヤ１３０などの）のコーディングを開始するべきかを、依然として決定し得る。すなわち、参照レイヤ内に配置されるように、配列されたＣＴＵを調整することによって、ビデオコーダはまた、オフセット遅延を参照レイヤの有効なロケーションの中に配置されるように調整し得る。
【０１８７】
[0179]  別の例では、アドレスｃｏｌＣｔｂＡｄｄｒを有するＣＴＵがｉ番目の直接参照レイヤの中に存在しないとき、ビデオコーダは、その空間セグメントにとってのシンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]の値が０であると推測されることを推測し得る。この例では、ビデオコーダはまた、ＪＣＴＶＣ−Ｍ０４６４に関連するいくつかの他の変更を適用し得る。たとえば、ｃｔｕ＿ｂａｓｅｄ＿ｏｆｆｓｅｔ＿ｅｎａｂｌｅｄ［ｉ]シンタックス要素が０に等しいとき、ビデオコーダは、以下の制約を適用し得る。すなわち、ＣＴＵ行Ａを、ＳＰＳを参照する任意のピクチャｐｉｃＡの中の任意のＣＴＵ行とし、ｃｔｂＡｄｄｒを、ＣＴＵ行Ａの中の最後のＣＴＵのラスタ走査アドレスとする；ＣＴＵ行Ｂを、ｐｉｃＡと同じアクセスユニットに属するとともにｉ番目の直接参照レイヤに属するピクチャｐｉｃＢの中にある、ラスタ走査アドレスｃｏｌＣｔｂＡｄｄｒ［ｉ]を有するＣＴＵを含むＣＴＵ行とする；ＣＴＵ行Ｃを、同様にｐｉｃＢの中にあり復号順序でＣＴＵ行Ｂに続くＣＴＵ行とし、ＣＴＵ行ＢとそのＣＴＵ行との間に、ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]−１個のＣＴＵ行が復号順序で存在する；ＣＴＵ行Ｃが存在するとき、ＣＴＵ行Ａのシンタックス要素は、ＣＴＵ行ＣまたはＣに続く同じピクチャの行の中のサンプルまたはシンタックス要素の値が、ＣＴＵ行Ａ内の任意のサンプルの復号プロセスにおけるレイヤ間予測のために使用されないように、制約される。加えて、ＣＴＵ行Ｂが存在しないとき、その空間セグメントにとってのシンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]の値は、０であると推測される。
【０１８８】
[0180]  ビデオコーダは、スライスおよびタイルのような他の空間セグメントについて同じ制約を適用し得る。たとえば、スライスセグメントＢが存在しないとき、その空間セグメントにとってのシンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]の値は、０であると推測され得る。別の例として、タイルＢが存在しないとき、その空間セグメントにとってのシンタックス要素ｍｉｎ＿ｓｐａｔｉａｌ＿ｓｅｇｍｅｎｔ＿ｏｆｆｓｅｔ＿ｐｌｕｓ１［ｉ]の値は、０であると推測され得る。
【０１８９】
[0181]  図１１Ａは、ビデオデータのためのオフセット遅延情報を含むマルチレイヤビデオデータを符号化するための例示的なプロセスを示す流れ図である。図１１Ａのプロセスは、概して、例示のためにビデオエンコーダ２０によって実行されるものとして説明されるが、様々な他のプロセッサも図１１Ａに示すプロセスを実行し得る。
【０１９０】
[0182]  図１１Ａの例では、ビデオエンコーダ２０は、現在符号化されているマルチレイヤビットストリームにとって任意のレイヤ間予測制約が存在するかどうかを決定し得る（１５０）。たとえば、ビデオエンコーダ２０は、並列に復号され得る複数のレイヤを符号化するとき、レイヤ間予測制約を適用し得る。特定のオフセット遅延パラメータは、ビデオエンコーダ２０の特定のアーキテクチャ（たとえば、処理コアの数など）に依存し得る。
【０１９１】
[0183]  レイヤ間制約（inter-layer restriction）が存在する場合（１５０の「はい」分岐）、ビデオエンコーダ２０は、オフセット遅延指示と各参照レイヤにとってのオフセット遅延とを符号化し得る（１５２）。本開示の態様によれば、ビデオエンコーダ２０は、そのような情報をＶＰＳの中で符号化し得る。たとえば、ビデオエンコーダ２０は、任意のレイヤ間予測制約が存在するかどうかを示すデータをＶＰＳの中で符号化し得る。データは、いくつかの事例では、少なくとも１つの参照レイヤが、関連付けられたオフセット遅延を有するかどうかを示す１つまたは複数のシンタックス要素を含み得る。ビデオエンコーダ２０はまた、遅延を有する各参照レイヤにとってのオフセット遅延（たとえば、オフセット遅延の空間エリア）を示すデータを符号化し得る。
【０１９２】
[0184]  ビデオエンコーダ２０は、次いで、ＶＰＳのデータに従ってレイヤを符号化し得る（１５４）。いくつかの事例では、ビデオエンコーダ２０は、レイヤを並列に符号化し得る。
【０１９３】
[0185]  図１１Ｂは、ビデオデータのためのオフセット遅延情報を含むマルチレイヤビデオデータを復号するための例示的なプロセスを示す流れ図である。図１１Ｂのプロセスは、概して、例示のためにビデオデコーダ３０によって実行されるものとして説明されるが、様々な他のプロセッサも図１１Ｂに示すプロセスを実行し得る。
【０１９４】
[0186]  図１１Ｂの例では、ビデオデコーダ３０は、現在符号化されているマルチレイヤビットストリームにとって任意のレイヤ間予測制約が存在するかどうかを決定し得る（１５８）。たとえば、ビデオデコーダ３０は、現在のレイヤのための任意の直接参照レイヤ（この場合、直接参照レイヤはレイヤ間予測のために現在のレイヤによって参照される）が、関連付けられたオフセット遅延を有するかどうかを決定し得る。本開示の態様によれば、ビデオデコーダ３０は、ＶＰＳの中に含まれるデータに基づいて、レイヤ間予測制約の決定を行い得る。データは、いくつかの事例では、少なくとも１つの参照レイヤが、関連付けられたオフセット遅延を有するかどうかを示す１つまたは複数のシンタックス要素を含み得る。ビデオデコーダ３０はまた、遅延を有する各参照レイヤにとってのオフセット遅延（たとえば、オフセット遅延の空間エリア）を示すデータを復号し得る。
【０１９５】
[0187]  ビデオデコーダ３０は、次いで、ＶＰＳのデータに従ってレイヤを復号し得る（１６２）。たとえば、いくつかの事例では、ビデオデコーダ３０は、別のレイヤに関連してあるレイヤを復号し得る。加えて、ビデオデコーダ３０は、複数のレイヤを並列に復号するとき、決定されたオフセットパラメータ（上述されたＶＰＳの中で規定されるような）に忠実であり得る。すなわち、ビデオデコーダ３０は、参照レイヤからの規定された量のビデオデータが復号されるまで（オフセット遅延によって規定されるように）、現在のレイヤを復号することを待ってもよい。
【０１９６】
[0188]  図１２は、マルチレイヤビデオコーディングにおいてビデオデータの配列されたブロックを決定するための例示的なプロセスを示す流れ図である。配列されたブロックは、レイヤ間予測のために使用され得、オフセット遅延を実現するときに決定され得る。図１２の方法は、概して、ビデオコーダによって実行されるものとして説明される。ビデオコーダは、たとえば、ビデオエンコーダ２０またはビデオデコーダ３０、あるいは他のそのようなビデオコーディングデバイス（たとえば、ビデオトランスコーディングデバイス）に対応し得る。
【０１９７】
[0189]  図１２の例では、ビデオコーダは、配列された参照サンプルのロケーションを決定し得る（１７０）。たとえば、マルチレイヤビデオコーディングにおいて、ビデオコーダは、最初に、現在コーディングされているレイヤの中のサンプルのロケーションを決定し得る。ビデオコーダは、次いで、サンプルのケーションを参照レイヤの中の対応する配列されたロケーションにマッピングし得る。
【０１９８】
[0190]  ビデオコーダは、参照ピクチャ内に配置されるように、参照サンプルのロケーションを調整し得る（１７２）。たとえば、いくつかの事例では、現在のピクチャの中のブロック（たとえば、現在のＣＴＵ）は、たとえば、図９および図１０の例に示すように、参照ピクチャの中の対応するブロック（たとえば、配列されたＣＴＵ）を有しないことがある。配列されたブロックが参照ピクチャの中で利用可能でない場合、いくつかの例では、ビデオコーダは、参照レイヤに関連付けられたオフセット遅延を適切に適用することができない。たとえば、ビデオコーダは、現在のレイヤの中の遅延によって示される空間セグメントを配置すること、および空間セグメントを参照レイヤの中の配列された位置にマッピングすることによって、オフセット遅延を実現することができる。配列された空間セグメントが利用可能でない場合、ビデオコーダは、オフセット遅延を適切に実現できない場合がある。
【０１９９】
[0191]  本開示の態様によれば、ビデオコーダは、参照ピクチャのエリア内にあるサンプルのロケーションを決定することによって、参照サンプルのロケーションを調整し得る。たとえば、現在のピクチャに関連付けられたスケーリングされたオフセット値（たとえば、図１０に示すような）は、参照ピクチャの境界を示し得る。ビデオコーダは、これらの境界内となるように、配列されたサンプルのロケーションを調整し得る。いくつかの例では、本開示の態様によれば、ビデオコーダは、参照サンプルが参照ピクチャ内になるように、たとえば、クリッピング関数を使用して、参照サンプルのロケーションをクリップし得る。参照サンプルが参照ピクチャの境界にすでに含まれている場合、ビデオコーダは上述された調整を実行し得ない。
【０２００】
[0192]  ビデオコーダは、次いで、配列されたブロックのロケーションを参照サンプルに基づいて決定し得る（１７４）。たとえば、ビデオコーダは、配列されたブロックのサイズを決定するとともに、その適切にサイズ決定されたブロックを、参照サンプルのロケーションに配置し得る。いくつかの例では、ビデオコーダは、レイヤ間予測のためのオフセット遅延を適用するとき、配列されたブロックを決定し得る。ビデオコーダは、配列されたブロックに関連して現在のブロックをコーディングし得る（１７６）。
【０２０１】
[0193]  図１３は、マルチレイヤビデオコーディングにおいてタイル整列情報を決定するための例示的なプロセスを示す流れ図である。図１３の方法は、概して、ビデオコーダによって実行されるものとして説明される。ビデオコーダは、たとえば、ビデオエンコーダ２０またはビデオデコーダ３０、あるいは他のそのようなビデオコーディングデバイス（たとえば、ビデオトランスコーディングデバイス）に対応し得る。
【０２０２】
[0194]  この例では、ビデオコーダは、１つまたは複数の参照レイヤタイルをコーディングする（１８０）。次いでビデオコーダは、エンハンスメントレイヤのタイル境界が整列されているかどうかを決定する（１８２）。たとえば、ビデオエンコーダ２０は、参照レイヤピクチャを整列させるかどうかを決定し、タイル境界が整列されているかどうかを示す、ｔｉｌｅ＿ｂｏｕｎｄａｒｉｅｓ＿ａｌｉｇｎｅｄ＿ｆｌａｇシンタックス要素などのシンタックス要素に対する値を符号化し得る一方で、ビデオデコーダ３０は、たとえば、ｔｉｌｅ＿ｂｏｕｎｄａｒｉｅｓ＿ａｌｉｇｎｅｄ＿ｆｌａｇなどのシンタックス要素の値に基づいて、参照レイヤの境界が整列されているかどうかを決定し得る。同じエンハンスメントレイヤタイル内にある任意の２つのエンハンスメントレイヤピクチャサンプルに対して、配列された参照レイヤサンプルもまた、利用可能な場合、同じ参照レイヤタイル内にあるとき、および、同じ参照レイヤタイル内にある任意の２つの参照レイヤピクチャサンプルに対して、配列されたエンハンスメントレイヤサンプルもまた、利用可能な場合、同じエンハンスメントレイヤタイル内にあるときに、エンハンスメントレイヤピクチャのタイル境界は、参照レイヤピクチャのタイル境界と整列されていると言われてよい。
【０２０３】
[0195]  本開示の態様によれば、ビデオエンコーダ２０は、タイル境界が整列されているかどうかを示すデータを、ＶＰＳの中で符号化し得る。同様に、ビデオデコーダ３０は、タイル境界が整列されているかどうかを示すデータを、ＶＰＳから復号し得る。タイル境界が整列されているかどうかを示すデータは、レイヤ固有でなくてもよく、タイル境界が整列されるように制約されるかどうかのクロスレイヤ指示を提供し得る。
【０２０４】
[0196]  エンハンスメントレイヤピクチャのタイル境界が、参照レイヤピクチャのタイル境界と整列されていないとき（１８２の「いいえ」分岐）、ビデオコーダは、それに応じてビデオデータをコーディングし得る（１８４）。たとえば、ビデオコーダは、いくつかの事例では、レイヤ間予測、フィルタリングなどに制約を適用し得る。一方で、エンハンスメントレイヤピクチャのタイル境界が、参照レイヤピクチャのタイル境界と整列されているとき（１８２の「はい」分岐）、ビデオコーダは、それに応じてビデオデータをコーディングし得る（１８６）。たとえば、ビデオコーダは、レイヤ間予測、フィルタリング、または整列されたタイル境界を用いる他の技法を使用することができる。
【０２０５】
[0197]  本開示のいくつかの態様が、説明のためにＨＥＶＣ規格およびＨＥＶＣ規格の拡張に関して説明された。ただし、本開示で説明する技法は、他の規格またはまだ開発されていないプロプライエタリなビデオコーディング処理を含む、他のビデオコーディング処理にとって有用であり得る。
【０２０６】
[0198]  本開示に記載されたビデオコーダは、ビデオエンコーダまたはビデオデコーダを指す場合がある。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指す場合がある。同様に、ビデオコーディングは、適用可能な場合、ビデオ符号化またはビデオ復号を指す場合がある。
【０２０７】
[0199]  例によるが、本明細書で説明した技法のうちいずれかの、いくつかの作用またはイベントは、異なるシーケンスで実行される可能性があり、追加されるか、併合されるか、または完全に除外される場合がある（たとえば、すべての説明した作用またはイベントが、本技法の実施のために必要であるとは限らない）ことは認識されたい。その上、いくつかの例では、動作またはイベントは、連続的にではなく、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて実行され得る。
【０２０８】
[0200]  １つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実現され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、あるいは、コンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を支援する任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法を実装するための命令、コードおよび／またはデータ構造を取り出すために、１つもしくは複数のコンピュータ、または１つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含む場合がある。
【０２０９】
[0201]  限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、この場合、ディスク（disk）は、通常、データを磁気的に再生し、一方、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０２１０】
[0202]  命令は、１つもしくは複数のデジタルシグナルプロセッサ（ＤＳＰ）などの１つもしくは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明された技法の実施に適した任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に設けられる場合があるか、または複合コーデックに組み込まれる場合がある。また、本技法は、１つまたは複数の回路または論理要素に完全に実装され得る。
【０２１１】
[0203]  本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置の中に実装される場合がある。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、前述のように、適切なソフトウェアおよび／またはファームウェアとともに、様々なユニットがコーデックハードウェアユニットにおいて組み合わせられ得るか、または前述のような１つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合体によって設けられ得る。
【０２１２】
[0204]  種々の例が記載された。これらおよび他の例は、以下の特許請求の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、
１つまたは複数のスケーリングされたオフセット値に基づいて、ビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを決定することと、ここにおいて、前記参照ピクチャは、マルチレイヤビットストリームの第１のレイヤの中に含まれ、前記１つまたは複数のスケーリングされたオフセット値は、前記第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す、
前記参照サンプルの前記ロケーションに基づいて、前記第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを決定することと、
前記配列された参照ブロックに関連して前記第２のレイヤの中のビデオデータの現在のブロックを復号することと
を備える、方法。
［Ｃ２］
前記配列された参照ブロックは、配列されたコーディングツリーユニット（ＣＴＵ）を備え、それにより前記配列された参照ブロックの前記ロケーションを決定することが、前記配列されたＣＴＵのロケーションを決定することを備える、Ｃ１に記載の方法。
［Ｃ３］
前記配列されたＣＴＵの前記ロケーションを決定することは、前記配列されたＣＴＵのラスタ走査アドレスを決定することを備える、Ｃ２に記載の方法。
［Ｃ４］
前記マルチレイヤビットストリームから前記１つまたは複数のスケーリングされたオフセット値を復号することをさらに備える、Ｃ１に記載の方法。
［Ｃ５］
前記配列された参照ブロックの前記ロケーションを決定する前に、前記参照サンプルが前記参照ピクチャ内に配置されるように、前記参照サンプルの前記ロケーションを調整することをさらに備える、Ｃ１に記載の方法。
［Ｃ６］
前記参照サンプルの前記ロケーションを調整することは、前記１つまたは複数のスケーリングされたオフセット値に基づいて前記参照サンプルのロケーションをクリップすることを備える、Ｃ５に記載の方法。
［Ｃ７］
前記参照サンプルの前記ロケーションをクリップすることは、
前記参照サンプルの水平ロケーションが左の参照ピクチャ境界の左側に配置されるとき、前記水平ロケーションを前記左の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、前記水平ロケーションを前記右の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、前記垂直ロケーションを前記上の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、前記垂直ロケーションを前記下の参照ピクチャ境界のロケーションと取り換えることと
を備える、Ｃ６に記載の方法。
［Ｃ８］
前記マルチレイヤビットストリームはスケーラブルなビットストリームであり、第１のレイヤは前記スケーラブルなビットストリームのベースレイヤであり、前記第２のレイヤは前記スケーラブルなビットストリームのエンハンスメントレイヤである、Ｃ１に記載の方法。
［Ｃ９］
ビデオデータを符号化する方法であって、
１つまたは複数のスケーリングされたオフセット値に基づいて、ビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを決定することと、ここにおいて、前記参照ピクチャは、マルチレイヤビットストリームの第１のレイヤの中に含まれ、前記１つまたは複数のスケーリングされたオフセット値は、前記第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す、
前記参照サンプルの前記ロケーションに基づいて、前記第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを決定することと、
前記配列された参照ブロックに関連して前記第２のレイヤの中のビデオデータの現在のブロックを符号化することと
を備える、方法。
［Ｃ１０］
前記配列された参照ブロックは、配列されたコーディングツリーユニット（ＣＴＵ）を備え、それにより前記配列された参照ブロックの前記ロケーションを決定することが、前記配列されたＣＴＵのロケーションを決定することを備える、Ｃ９に記載の方法。
［Ｃ１１］
前記配列されたＣＴＵの前記ロケーションを決定することは、前記配列されたＣＴＵのラスタ走査アドレスを決定することを備える、Ｃ１０に記載の方法。
［Ｃ１２］
前記マルチレイヤビットストリームの中で前記１つまたは複数のスケーリングされたオフセット値を符号化することをさらに備える、Ｃ９に記載の方法。
［Ｃ１３］
前記配列された参照ブロックの前記ロケーションを決定する前に、前記参照サンプルが前記参照ピクチャ内に配置されるように、前記参照サンプルの前記ロケーションを調整することをさらに備える、Ｃ９に記載の方法。
［Ｃ１４］
前記参照サンプルの前記ロケーションを調整することは、前記１つまたは複数のスケーリングされたオフセット値に基づいて前記参照サンプルのロケーションをクリップすることを備える、Ｃ１３に記載の方法。
［Ｃ１５］
前記参照サンプルの前記ロケーションをクリップすることは、
前記参照サンプルの水平ロケーションが左の参照ピクチャ境界の左側に配置されるとき、前記水平ロケーションを前記左の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、前記水平ロケーションを前記右の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、前記垂直ロケーションを前記上の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、前記垂直ロケーションを前記下の参照ピクチャ境界のロケーションと取り換えることとを備える、Ｃ１４に記載の方法。
［Ｃ１６］
前記マルチレイヤビットストリームはスケーラブルなビットストリームであり、第１のレイヤは前記スケーラブルなビットストリームのベースレイヤであり、前記第２のレイヤは前記スケーラブルなビットストリームのエンハンスメントレイヤである、Ｃ９に記載の方法。
［Ｃ１７］
ビデオコーディングを実行する装置であって、
ビデオデータを記憶するメモリと、
１つまたは複数のスケーリングされたオフセット値に基づいてビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを決定することと、ここにおいて、前記参照ピクチャは、マルチレイヤビットストリームの第１のレイヤの中に含まれ、前記１つまたは複数のスケーリングされたオフセット値は、前記第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す、
前記参照サンプルの前記ロケーションに基づいて前記第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを決定することと、
前記配列された参照ブロックに関連して前記第２のレイヤの中のビデオデータの現在のブロックを、コーディングすることと
を行うように構成されたビデオコーダと
を備える、装置。
［Ｃ１８］
前記配列された参照ブロックは、配列されたコーディングツリーユニット（ＣＴＵ）を備え、それにより前記配列された参照ブロックの前記ロケーションを決定するために、前記ビデオコーダが、前記配列されたＣＴＵのロケーションを決定するように構成される、Ｃ１７に記載の装置。
［Ｃ１９］
前記配列されたＣＴＵの前記ロケーションを決定するために、前記ビデオコーダは、前記配列されたＣＴＵのラスタ走査アドレスを決定するように構成される、Ｃ１８に記載の装置。
［Ｃ２０］
前記ビデオコーダは、前記マルチレイヤビットストリームの中で前記１つまたは複数のスケーリングされたオフセット値をコーディングするようにさらに構成される、Ｃ１７に記載の装置。
［Ｃ２１］
前記ビデオコーダは、前記配列された参照ブロックの前記ロケーションを決定する前に、前記参照サンプルが前記参照ピクチャ内に配置されるように、前記参照サンプルの前記ロケーションを調整するようにさらに構成される、Ｃ１７に記載の装置。
［Ｃ２２］
前記参照サンプルの前記ロケーションを調整するために、前記ビデオコーダは、前記１つまたは複数のスケーリングされたオフセット値に基づいて前記参照サンプルのロケーションをクリップするように構成される、Ｃ２１に記載の装置。
［Ｃ２３］
前記参照サンプルの前記ロケーションをクリップするために、前記ビデオコーダは、
前記参照サンプルの水平ロケーションが左の参照ピクチャ境界の左側に配置されるとき、前記水平ロケーションを前記左の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、前記水平ロケーションを前記右の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、前記垂直ロケーションを前記上の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、前記垂直ロケーションを前記下の参照ピクチャ境界のロケーションと取り換えることとを行うように構成される、Ｃ２２に記載の装置。
［Ｃ２４］
前記マルチレイヤビットストリームはスケーラブルなビットストリームであり、第１のレイヤは前記スケーラブルなビットストリームのベースレイヤであり、前記第２のレイヤは前記スケーラブルなビットストリームのエンハンスメントレイヤである、Ｃ１７に記載の装置。
［Ｃ２５］
前記ビデオデータをコーディングするために、前記ビデオコーダは、
前記マルチレイヤビットストリームの少なくとも１つのレイヤについての残差ビデオデータを決定することと、
前記残差データを変換することと、
前記マルチレイヤビットストリームの中で前記変換された残差データを表すデータを符号化することとを備える、前記ビデオデータを符号化することを行うように構成される、Ｃ１７に記載の装置。
［Ｃ２６］
前記ビデオデータをコーディングするために、前記ビデオコーダは、
前記マルチレイヤビットストリームから、前記マルチレイヤビットストリームの少なくとも１つのレイヤについての残差ビデオデータを表すデータを解析することと、
前記残差データを逆変換することと、
前記逆変換された残差データに基づいてビデオデータの前記少なくとも１つのレイヤを再構成することとを備える、前記ビデオデータを復号することを行うように構成される、Ｃ１７に記載の装置。
［Ｃ２７］
前記ビデオデータを提示するように構成されたディスプレイデバイスをさらに備える、Ｃ１７に記載の装置。
［Ｃ２８］
前記ビデオデータを受信するように構成されたワイヤレスモデムをさらに備える、Ｃ１７に記載の装置。
［Ｃ２９］
ビデオコーディングを実行する装置であって、
１つまたは複数のスケーリングされたオフセット値に基づいて、ビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを決定するための手段と、ここにおいて、前記参照ピクチャは、マルチレイヤビットストリームの第１のレイヤの中に含まれ、前記１つまたは複数のスケーリングされたオフセット値は、前記第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す、
前記参照サンプルの前記ロケーションに基づいて、前記第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを決定するための手段と、
前記配列された参照ブロックに関連して前記第２のレイヤの中のビデオデータの現在のブロックをコーディングするための手段とを備える、装置。
［Ｃ３０］
前記配列された参照ブロックは、配列されたコーディングツリーユニット（ＣＴＵ）を備え、それにより前記配列された参照ブロックの前記ロケーションを決定するための前記手段が、前記配列されたＣＴＵのロケーションを決定するための手段を備える、Ｃ２９に記載の装置。
［Ｃ３１］
前記配列されたＣＴＵの前記ロケーションを決定するための前記手段は、前記配列されたＣＴＵのラスタ走査アドレスを決定するための手段を備える、Ｃ３０に記載の装置。
［Ｃ３２］
前記マルチレイヤビットストリームの中で前記１つまたは複数のスケーリングされたオフセット値をコーディングするための手段をさらに備える、Ｃ２９に記載の装置。
［Ｃ３３］
前記配列された参照ブロックの前記ロケーションを決定する前に、前記参照サンプルが前記参照ピクチャ内に配置されるように、前記参照サンプルの前記ロケーションを調整するための手段をさらに備える、Ｃ２９に記載の装置。
［Ｃ３４］
前記参照サンプルの前記ロケーションを調整するための前記手段は、前記１つまたは複数のスケーリングされたオフセット値に基づいて前記参照サンプルのロケーションをクリップするための手段を備える、Ｃ３３に記載の装置。
［Ｃ３５］
前記参照サンプルの前記ロケーションをクリップするための前記手段は、
前記参照サンプルの水平ロケーションが左の参照ピクチャ境界の左側に配置されるとき、前記水平ロケーションを前記左の参照ピクチャ境界のロケーションと取り換えるための手段と、
前記参照サンプルの前記水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、前記水平ロケーションを前記右の参照ピクチャ境界のロケーションと取り換えるための手段と、
前記参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、前記垂直ロケーションを前記上の参照ピクチャ境界のロケーションと取り換えるための手段と、
前記参照サンプルの前記垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、前記垂直ロケーションを前記下の参照ピクチャ境界のロケーションと取り換えるための手段とを備える、Ｃ３４に記載の装置。
［Ｃ３６］
前記マルチレイヤビットストリームはスケーラブルなビットストリームであり、第１のレイヤは前記スケーラブルなビットストリームのベースレイヤであり、前記第２のレイヤは前記スケーラブルなビットストリームのエンハンスメントレイヤである、Ｃ２９に記載の装置。
［Ｃ３７］
命令を記憶する非一時的コンピュータ可読媒体であって、前記命令が、実行されたとき、ビデオコーダに、
１つまたは複数のスケーリングされたオフセット値に基づいてビデオデータの参照ピクチャに関連付けられた参照サンプルのロケーションを決定することと、ここにおいて、前記参照ピクチャは、マルチレイヤビットストリームの第１のレイヤの中に含まれ、前記１つまたは複数のスケーリングされたオフセット値は、前記第１のレイヤと第２の異なるレイヤとの間のスケールの差分を示す、
前記参照サンプルの前記ロケーションに基づいて前記第１のレイヤの中のビデオデータの配列された参照ブロックのロケーションを、決定することと、
前記配列された参照ブロックに対して前記第２のレイヤの中のビデオデータの現在のブロックを符号化することとを行わせる、非一時的コンピュータ可読媒体。
［Ｃ３８］
前記配列された参照ブロックは、配列されたコーディングツリーユニット（ＣＴＵ）を備え、それにより前記配列された参照ブロックの前記ロケーションを決定するために、前記命令が、前記ビデオコーダに、前記配列されたＣＴＵのロケーションを決定させる、Ｃ３７に記載の非一時的コンピュータ可読媒体。
［Ｃ３９］
前記配列されたＣＴＵの前記ロケーションを決定するために、前記命令は、前記ビデオコーダに、前記配列されたＣＴＵのラスタ走査アドレスを決定させる、Ｃ３８に記載の非一時的コンピュータ可読媒体。
［Ｃ４０］
前記命令は、前記ビデオコーダに、前記１つまたは複数のスケーリングされたオフセット値を、前記マルチレイヤビットストリームの中でコーディングさせる、Ｃ３７に記載の非一時的コンピュータ可読媒体。
［Ｃ４１］
前記命令は、前記ビデオコーダに、前記配列された参照ブロックの前記ロケーションを決定する前に、前記参照サンプルが前記参照ピクチャ内に配置されるように、前記参照サンプルの前記ロケーションを調整させる、Ｃ３７に記載の非一時的コンピュータ可読媒体。
［Ｃ４２］
前記参照サンプルの前記ロケーションを調整するために、前記命令は、前記ビデオコーダに、前記１つまたは複数のスケーリングされたオフセット値に基づいて前記参照サンプルのロケーションをクリップさせる、Ｃ４１に記載の非一時的コンピュータ可読媒体。
［Ｃ４３］
前記参照サンプルの前記ロケーションをクリップするために、前記命令は、前記ビデオコーダに、
前記参照サンプルの水平ロケーションが左の参照ピクチャ境界の左側に配置されるとき、前記水平ロケーションを前記左の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記水平ロケーションが右の参照ピクチャ境界の右側に配置されるとき、前記水平ロケーションを前記右の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの垂直ロケーションが上の参照ピクチャ境界の上方に配置されるとき、前記垂直ロケーションを前記上の参照ピクチャ境界のロケーションと取り換えることと、
前記参照サンプルの前記垂直ロケーションが下の参照ピクチャ境界の下方に配置されるとき、前記垂直ロケーションを前記下の参照ピクチャ境界のロケーションと取り換えることとを行わせる、Ｃ４２に記載の非一時的コンピュータ可読媒体。
［Ｃ４４］
前記マルチレイヤビットストリームはスケーラブルなビットストリームであり、第１のレイヤは前記スケーラブルなビットストリームのベースレイヤであり、前記第２のレイヤは前記スケーラブルなビットストリームのエンハンスメントレイヤである、Ｃ３７に記載の非一時的コンピュータ可読媒体。
【図１】
0006301467.tif 000015
【図２】
0006301467.tif 000016
【図３】
0006301467.tif 000017
【図４】
0006301467.tif 000018
【図５】
0006301467.tif 000019
【図６】
0006301467.tif 000020
【図７】
0006301467.tif 000021
【図８】
0006301467.tif 000022
【図９】
0006301467.tif 000023
【図１０】
0006301467.tif 000024
【図１１Ａ】
0006301467.tif 000025
【図１１Ｂ】
0006301467.tif 000026
【図１２】
0006301467.tif 000027
【図１３】
0006301467.tif 000028