(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスが映像データを符号化する方法であって、
現在のブロックに隣接する前記映像データの１つ以上の近隣ブロックに関するイントラ予測又はインター予測のいずれかを同時並行して行いながら、
符号化されるべき前記映像データの前記現在のブロックに関する予め定義されたイントラ予測モードの第１の組を決定することであって、予め定義されたイントラ予測モードの前記第１の組を前記決定することは、前記イントラ予測を実行するときに、その他のモードと比較して使用される可能性が統計的により高いモードのみを選択することを含み、これによって、イントラ予測モードの前記第１の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことと、
イントラ予測モードの前記第１の予め定義された組に加えて前記現在のブロックに関するイントラ予測モードの第２の組を決定することであって、前記第１の組及び前記第２の組はすべての可能性のある予測モードの部分組を備え、イントラ予測モードの前記第２の組は、予め定義されておらず、ランダムに決定され、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数以下のイントラ予測モード数を含み、前記第１の組及び前記第２の組の両方は、合計して、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数よりも少ないイントラ予測モードを含むことと、
イントラ予測モードの前記第１の組に含まれる各イントラ予測モード及びイントラ予測モードの前記第２の組に含まれる各イントラ予測モードに関するフルレート歪みコストの近似値である近似コストを計算することであって、前記近似コストは、前記イントラ予測モードのうちの対応する１つを用いて映像データの前記現在のブロックを符号化するレート歪みコストの近似値であることと、
イントラ予測モードの前記第１の組において識別された各イントラ予測モード及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードのみに関する前記近似コストを、メモリに格納することと、
イントラ予測モードの前記第１の組及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストに基づいて、イントラ予測モードの前記第１の組又はイントラ予測モードの前記第２の組からモードを選択することと、
前記選択されたモードに従って、前記現在のブロックを符号化するためにイントラ予測を行うことと、
を備える、方法。
【請求項２】
イントラ予測モードの前記第１の組において識別された各イントラ予測モード及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードのみに関する前記近似コストを格納することは、
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する重み付き近似コストを計算するためにイントラ予測モードの前記第１の予め定義された組において識別された各イントラ予測モードに関して計算された前記近似コストの各々に重みを加えることと、
イントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストの各々と前記重み付き近似コストを比較することと、
前記比較の結果、前記近似コストの各々と前記重み付き近似コストとの間の差分がスレショルド値よりも小さいときに、イントラ予測モードの前記第１の予め定義された組において識別されたイントラ予測モードに関して計算された前記近似コストを前記メモリに格納することと、
を備える請求項１に記載の方法。
【請求項３】
イントラ予測モードの前記第２の組において識別された各イントラ予測のために選択されたモードに関して計算された前記近似コストの各々と前記重み付き近似コストを比較することは、
前記重み付き近似コストから１つの重み付き近似コストを選択することと、
前記重み付き近似コストと各イントラ予測のために選択された前記モードに関して計算された前記近似コストのうちの１つの近似コストとの間の差分を決定することと、
前記差分はスレショルド値よりも小さいと決定することと、
をさらに備える請求項２に記載の方法。
【請求項４】
イントラ予測モードの前記第１の組を決定することは、イントラ予測モードのヌルの組を決定することを備える請求項１に記載の方法。
【請求項５】
前記現在のブロックの近隣ブロックを決定することと、
前記近隣ブロックが符号化されたと決定したことに応答して、前記近隣ブロックの前記イントラ予測モードを決定することと、
前記近隣ブロックの前記イントラ予測モードに少なくとも部分的に基づいて前記現在のブロックに関する前記レート歪みコストを決定することと、
をさらに備え、前記レート歪みコストはフルレート歪み最適化プロセスを実行するときに使用され、前記レート歪みコストの近似値は、前記近似コストに対応する、請求項１に記載の方法。
【請求項６】
符号化されるべき前記映像データの前記現在のブロックに関するイントラ予測モードの前記第１の組を決定することは、符号化されるべき前記映像データの前記現在のブロックに関するイントラ予測モードの第１の予め定義された組を決定することを備える請求項１に記載の方法。
【請求項７】
前に予測されたブロックを符号化するためにイントラ予測モードが以前に選択されたことの発生数を示す少なくとも１つの統計値を生成することと、
前記発生数がスレショルド値よりも大きいと決定したことに応答して、前記イントラ予測モードをイントラ予測モードの前記第２の組に含めることと、
をさらに備える請求項１に記載の方法。
【請求項８】
前記現在のブロックを符号化するためにイントラ予測を行うことは、
イントラ予測モードに関連する近似コストを決定することであって、前記決定された近似コストは、前記近似コストのうちの最低の近似コストを有することと、
前記最低の近似コストを有する前記決定された近似コストに関連するモードを用いて前記現在のブロックをイントラ予測することと、
をさらに備える請求項１に記載の方法。
【請求項９】
映像データをコーディングするためにイントラ予測プロセスを実行するように構成された映像コーディングデバイスであって、
現在のブロックに隣接する前記映像データの１つ以上の近隣ブロックに関するイントラ予測又はインター予測のいずれかを同時並行して行いながら、
符号化されるべき前記映像データの前記現在のブロックに関する予め定義されたイントラ予測モードの第１の組を決定するように構成され、予め定義されたイントラ予測モードの前記第１の組を前記決定することは、前記イントラ予測を実行するときに、その他のモードと比較して使用される可能性が統計的により高いモードのみを選択することを含み、これによって、イントラ予測モードの前記第１の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含み、
イントラ予測モードの前記第１の予め定義された組に加えて前記現在のブロックに関するイントラ予測モードの第２の組を決定するように構成され、前記第１の組及び前記第２の組はすべての可能性のある予測モードの部分組を備え、イントラ予測モードの前記第２の組は、予め定義されておらず、ランダムに決定され、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数以下のイントラ予測モード数を含み、前記第１の組及び前記第２の組の両方は、合計して、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数よりも少ないイントラ予測モードを含み、
イントラ予測モードの前記第１の組に含まれる各イントラ予測モード及びイントラ予測モードの前記第２の組に含まれる各イントラ予測モードに関するフルレート歪みコストの近似値である近似コストを計算するように構成され、前記近似コストは、前記イントラ予測モードのうちの対応する１つを用いて映像データの前記現在のブロックを符号化するレート歪みコストの近似値であり、
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関する前記近似コストを、メモリに格納するように構成され、
イントラ予測モードの前記第１の組及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストに基づいて、イントラ予測モードの前記第１の組又はイントラ予測モードの前記第２の組からモードを選択するように構成され、
前記選択されたモードに従って、前記現在のブロックを符号化するためにイントラ予測を行うように構成されるプロセッサ、
を備える、映像コーディングデバイス。
【請求項１０】
前記プロセッサは、
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する重み付き近似コストを計算するためにイントラ予測モードの前記第１の予め定義された組において識別された各イントラ予測モードに関して計算された前記近似コストの各々に重みを加え、
イントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストの各々と前記重み付き近似コストを比較し、及び
前記比較の結果、前記近似コストの各々と前記重み付き近似コストとの間の差分がスレショルド値よりも小さいときに、イントラ予測モードの前記第１の予め定義された組において識別されたイントラ予測モードに関して計算された前記近似コストを前記メモリに格納する
ようにさらに構成される請求項９に記載の映像コーディングデバイス。
【請求項１１】
前記プロセッサは、
前記重み付き近似コストから１つの重み付き近似コストを選択し、
前記重み付き近似コストと各イントラ予測のために選択されたモードに関して計算された前記近似コストのうちの１つの近似コストとの間の差分を決定し、及び
前記差分はスレショルド値よりも小さいと決定する
ようにさらに構成される請求項１０に記載の映像コーディングデバイス。
【請求項１２】
前記プロセッサは、イントラ予測モードのヌルの組を決定するようにさらに構成される請求項９に記載の映像コーディングデバイス。
【請求項１３】
前記プロセッサは、
前記現在のブロックの近隣ブロックを決定し、
前記近隣ブロックが符号化されたと決定したことに応答して、前記近隣ブロックの前記イントラ予測モードを決定し、及び
前記近隣ブロックの前記イントラ予測モードに少なくとも部分的に基づいて前記現在のブロックに関するレート歪みコストを決定する
ようにさらに構成され、前記レート歪みコストはフルレート歪み最適化プロセスを実行するときに使用され、前記レート歪みコストの近似値は、前記近似コストに対応する、請求項９に記載の映像コーディングデバイス。
【請求項１４】
前記プロセッサは、符号化されるべき前記映像データの前記現在のブロックに関するイントラ予測モードの第１の予め定義された組を決定するようにさらに構成される請求項９に記載の映像コーディングデバイス。
【請求項１５】
前記プロセッサは、
前に予測されたブロックを符号化するためにイントラ予測モードが以前に選択されたことの発生数を示す少なくとも１つの統計値を生成し、
前記発生数がスレショルド値よりも大きいと決定したことに応答して、前記イントラ予測モードをイントラ予測モードの前記第２の組に含める
ようにさらに構成される請求項９に記載の映像コーディングデバイス。
【請求項１６】
前記プロセッサは、
イントラ予測モードに関連する近似コストを決定し、ここにおいて、前記決定された近似コストは、前記近似コストのうちの最低の近似コストを有し、及び
前記最低の近似コストを有する前記決定された近似コストに関連するモードを用いて前記現在のブロックをイントラ予測する
ようにさらに構成される請求項９に記載の映像コーディングデバイス。
【請求項１７】
現在のブロックに隣接する映像データの１つ以上の近隣ブロックに関するイントラ予測又はインター予測のいずれかを同時並行して行いながら、映像データをコーディングするためのイントラ予測プロセスを行うように構成された映像コーディングデバイスであって、
符号化されるべき前記映像データの前記現在のブロックに関する予め定義されたイントラ予測モードの第１の組を決定するための手段であって、予め定義されたイントラ予測モードの前記第１の組を前記決定することは、前記イントラ予測を実行するときに、その他のモードと比較して使用される可能性が統計的により高いモードのみを選択することを含み、これによって、イントラ予測モードの前記第１の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む手段と、
イントラ予測モードの前記第１の予め定義された組に加えて前記現在のブロックに関するイントラ予測モードの第２の組を決定するための手段であって、前記第１の組及び前記第２の組はすべての可能性のある予測モードの部分組を備え、イントラ予測モードの前記第２の組は、予め定義されておらず、ランダムに決定され、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数以下のイントラ予測モード数を含み、前記第１の組及び前記第２の組の両方は、合計して、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数よりも少ないイントラ予測モードを含む手段と、
イントラ予測モードの前記第１の組に含まれる各イントラ予測モード及びイントラ予測モードの前記第２の組に含まれる各イントラ予測モードに関するフルレート歪みコストの近似値である近似コストを計算するための手段であって、前記近似コストは、前記イントラ予測モードのうちの対応する１つを用いて映像データの前記現在のブロックを符号化するレート歪みコストの近似値である手段と、
イントラ予測モードの前記第１の組において識別された各イントラ予測モード及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードのみに関する前記近似コストを、メモリに格納するための手段と、
イントラ予測モードの前記第１の組及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストに基づいて、イントラ予測モードの前記第１の組又はイントラ予測モードの前記第２の組からモードを選択するための手段と、
前記選択されたモードに従って、前記現在のブロックを符号化するためにイントラ予測を行うための手段と、
を備える、映像コーディングデバイス。
【請求項１８】
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する重み付き近似コストを計算するためにイントラ予測モードの前記第１の予め定義された組において識別された各イントラ予測モードに関して計算された前記近似コストの各々に重みを加えるための手段と、
イントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストの各々と前記重み付き近似コストを比較するための手段と、
前記比較の結果、前記近似コストの各々と前記重み付き近似コストとの間の差分がスレショルド値よりも小さいときに、イントラ予測モードの前記第１の予め定義された組において識別されたイントラ予測モードに関して計算された前記近似コストを前記メモリに格納するための手段と、
をさらに備える請求項１７に記載の映像コーディングデバイス。
【請求項１９】
前記重み付き近似コストから１つの重み付き近似コストを選択するための手段と、
前記重み付き近似コストと各イントラ予測のために選択されたモードに関して計算された前記近似コストのうちの１つの近似コストとの間の差分を決定するための手段と、
前記差分はスレショルド値よりも小さいと決定するための手段と、
をさらに備える請求項１８に記載の映像コーディングデバイス。
【請求項２０】
イントラ予測モードのヌルの組を決定するための手段をさらに備える請求項１７に記載の映像コーディングデバイス。
【請求項２１】
前記現在のブロックの近隣ブロックを決定するための手段と、
前記近隣ブロックが符号化されたと決定したことに応答して、前記近隣ブロックの前記イントラ予測モードを決定するための手段と、
前記近隣ブロックの前記イントラ予測モードに少なくとも部分的に基づいて前記現在のブロックに関するレート歪みコストを決定するための手段と、
をさらに備え、前記レート歪みコストはフルレート歪み最適化プロセスを実行するときに使用され、前記レート歪みコストの近似値は、前記近似コストに対応する、請求項１７に記載の映像コーディングデバイス。
【請求項２２】
符号化されるべき前記映像データの前記現在のブロックに関するイントラ予測モードの第１の予め定義された組を決定するための手段をさらに備える請求項１７に記載の映像コーディングデバイス。
【請求項２３】
前に予測されたブロックを符号化するためにイントラ予測モードが以前に選択されたことの発生数を示す少なくとも１つの統計値を生成するため手段と、
前記発生数がスレショルド値よりも大きいと決定したことに応答して、前記イントラ予測モードをイントラ予測モードの前記第２の組に含めるための手段と、
をさらに備える請求項１７に記載の映像コーディングデバイス。
【請求項２４】
イントラ予測モードに関連する近似コストを決定するための手段であって、前記決定された近似コストは、前記近似コストのうちの最低の近似コストを有する手段と、
前記最低の近似コストを有する前記決定された近似コストに関連するモードを用いて前記現在のブロックをイントラ予測するための手段と、
をさらに備える請求項１７に記載の映像コーディングデバイス。
【請求項２５】
非一時的なコンピュータによって読み取り可能な記憶媒体であって、実行されたときに、現在のブロックに隣接する映像データの１つ以上の近隣ブロックに関するイントラ予測又はインター予測のいずれかを同時並行して行いながら、
符号化されるべき前記映像データの前記現在のブロックに関する予め定義されたイントラ予測モードの第１の組を決定することを１つ以上のプロセッサに行わせる命令であって、予め定義されたイントラ予測モードの前記第１の組を前記決定することは、前記イントラ予測を実行するときに、その他のモードと比較して使用される可能性が統計的により高いモードのみを選択することを含み、これによって、イントラ予測モードの前記第１の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む命令と、
イントラ予測モードの前記第１の予め定義された組に加えて前記現在のブロックに関するイントラ予測モードの第２の組を決定することを１つ以上のプロセッサに行わせる命令であって、前記第１の組及び前記第２の組はすべての可能性のある予測モードの部分組を備え、イントラ予測モードの前記第２の組は、予め定義されておらず、ランダムに決定され、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数以下のイントラ予測モード数を含み、前記第１の組及び前記第２の組の両方は、合計して、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数よりも少ないイントラ予測モードを含む命令と、
イントラ予測モードの前記第１の組に含まれる各イントラ予測モード及びイントラ予測モードの前記第２の組に含まれる各イントラ予測モードに関するフルレート歪みコストの近似値である近似コストを計算することを１つ以上のプロセッサに行わせる命令であって、前記近似コストは、前記イントラ予測モードのうちの対応する１つを用いて映像データの前記現在のブロックを符号化するレート歪みコストの近似値である命令と、
イントラ予測モードの前記第１の組において識別された各イントラ予測モード及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードのみに関する前記近似コストを、メモリに格納することを１つ以上のプロセッサに行わせる命令と、
イントラ予測モードの前記第１の組及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストに基づいて、イントラ予測モードの前記第１の組又はイントラ予測モードの前記第２の組からモードを選択することを１つ以上のプロセッサに行わせる命令と、
前記選択されたモードに従って、前記現在のブロックを符号化するためにイントラ予測を行うことを１つ以上のプロセッサに行わせる命令と、
が格納されている、非一時的なコンピュータによって読み取り可能な記憶媒体。
【請求項２６】
前記命令は、実行されたときに、
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する重み付き近似コストを計算するためにイントラ予測モードの前記第１の予め定義された組において識別された各イントラ予測モードに関して計算された前記近似コストの各々に重みを加えること、
イントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストの各々と前記重み付き近似コストを比較すること、及び
前記比較の結果、前記近似コストの各々と前記重み付き近似コストとの間の差分がスレショルド値よりも小さいときに、イントラ予測モードの前記第１の予め定義された組において識別されたイントラ予測モードに関して計算された前記近似コストを前記メモリに格納すること
を前記１つ以上のプロセッサに行わせる請求項２５に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
【請求項２７】
前記命令は、実行されたときに、
前記重み付き近似コストから１つの重み付き近似コストを選択すること、
前記重み付き近似コストと各イントラ予測のために選択されたモードに関して計算された前記近似コストのうちの１つの近似コストとの間の差分を決定すること、及び
前記差分はスレショルド値よりも小さいと決定すること
を前記１つ以上のプロセッサに行わせる請求項２６に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
【請求項２８】
前記命令は、実行されたときに、イントラ予測モードのヌルの組を決定することを前記１つ以上のプロセッサに行わせる請求項２５に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
【請求項２９】
前記命令は、実行されたときに、
前記現在のブロックの近隣ブロックを決定すること、
前記近隣ブロックが符号化されたと決定したことに応答して、前記近隣ブロックの前記イントラ予測モードを決定すること、及び
前記近隣ブロックの前記イントラ予測モードに少なくとも部分的に基づいて前記現在のブロックに関するレート歪みコストを決定すること
を前記１つ以上のプロセッサに行わせ、前記レート歪みコストはフルレート歪み最適化プロセスを実行するときに使用され、前記レート歪みコストの近似値は、前記近似コストに対応する、請求項２５に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
【請求項３０】
前記命令は、実行されたときに、符号化されるべき前記映像データの前記現在のブロックに関するイントラ予測モードの第１の予め定義された組を決定することを前記１つ以上のプロセッサに行わせる請求項２５に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
【請求項３１】
前記命令は、実行されたときに、
前に予測されたブロックを符号化するためにイントラ予測モードが以前に選択されたことの発生数を示す少なくとも１つの統計値を生成すること、及び
前記発生数がスレショルド値よりも大きいと決定したことに応答して、前記イントラ予測モードをイントラ予測モードの前記第２の組に含めること
を前記１つ以上のプロセッサに行わせる請求項２５に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
【請求項３２】
前記命令は、実行されたときに、
イントラ予測モードに関連する近似コストを決定すること、ここにおいて、前記決定された近似コストは、前記近似コストのうちの最低の近似コストを有し、及び
前記最低の近似コストを有する前記決定された近似コストに関連するモードを用いて前記現在のブロックをイントラ予測すること
を前記１つ以上のプロセッサに行わせる請求項２５に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［０００１］本開示は、映像コーディングに関するものであり、より具体的には、映像コーディングのイントラ予測の態様に関するものである。
【背景技術】
【０００２】
［０００２］デジタル映像能力を広範なデバイス内に組み入れることができ、デジタルテレビと、デジタル直接放送システムと、無線放送システムと、パーソナルデジタルアシスタント（ＰＤＡ）と、ラップトップ又はデスクトップコンピュータと、デジタルカメラと、デジタル記録デバイスと、デジタルメディアプレーヤーと、ビデオゲームプレイ装置と、ビデオゲームコンソールと、セルラー又は衛星無線電話と、ビデオ会議装置と、等、を含む。デジタル映像デバイスは、デジタル映像情報をより効率的に送信及び受信するための映像圧縮技法、例えば、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、アドバンストビデオコーディング（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ））規格によって定義される規格、及び該規格の拡張版において説明されるそれら、を実装する。新しい映像コーディング規格、例えば、ＭＰＥＧとＩＴＵ−Ｔの共同作業である“共同作業チーム−映像コーディング”（ＪＣＴ−ＶＣ）によって策定される高効率映像コーディング（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格が現在策定中である。新生のＨＥＶＣ規格は、Ｈ．２６５と時々呼ばれるが、該指定文字は、正式なものではない。
【発明の概要】
【０００３】
［０００３］概して、本開示は、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小するための技法について説明する。概して、映像コーダは、（例えば、同じピクチャのその他のブロックに関して符号化される）イントラモード符号化又は（例えば、前にコーディングされたピクチャのブロックに関して符号化される）インターモード符号化を用いてピクチャのブロックをコーディングすることができる。幾つかの例においては、映像コーダは、多数の異なるモードから所定のブロックをコーディングするためのモードを選択することができる。映像コーダは、選択されたモードに関する近似の歪みレートを表す対応する近似コスト（ａｐｐｒｏｘｉｍａｔｅ  ｃｏｓｔ）に基づいてモードを選択することができる。映像コーダは、各々の可能性のある予測モードに関する近似コスト値を格納するのではなく、すべての可能性のある予測モードの部分組に関する近似コスト値を格納することができる。部分組によって指定される予測モードの総数は、すべての可能性のある予測モードの総数よりも少ないため、本開示の技法は、これらの近似コスト値を格納するために要求されるオンチップメモリの量を低減させることができる。幾つかの例においては、要求されるオンチップメモリの量を低減させることは、並列及び／又は直列処理映像コーダにおける映像コーディング性能を向上させることができる。
【０００４】
［０００４］一実施形態においては、方法は、符号化されるべき映像データの現在のブロックに関するイントラ予測モードの第１の組を決定することを含む。イントラ予測モードの第１の組は、現在ブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。方法は、イントラ予測モードの第１の予め定義された組に加えて現在のブロックに関するイントラ予測モードの第２の組を決定することをさらに含むことができる。イントラ予測モードの第２の組は、現在のブロックを符号化するために使用することが可能な予測モードの総数以下のイントラ予測モードの数を含む。第１の組及び第２の組の両方は、合計して、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。方法は、イントラ予測モードの第１の組に含まれる各イントラ予測モード及びイントラ予測モードの第２の組に含まれる各イントラ予測モードに関する近似コストを計算することをさらに含むことができる。近似コストは、イントラ予測モードのうちの対応する１つを用いて映像データの現在のブロックを符号化するレート歪みコストの近似値であることができる。方法は、イントラ予測モードの第１の組において識別された各イントラ予測モードに関する及びイントラ予測モードの第２の組において識別された各イントラ予測モードに関する近似コストをメモリに格納することをさらに含むことができる。方法は、イントラ予測モードの第１の組及びイントラ予測モードの第２の組において識別された各イントラ予測モードに関して計算された近似コストに基づいてイントラ予測モードの第１の組又はイントラ予測モードの第２の組によって識別されたイントラ予測モードのうちの１つに従って現在のブロックを符号化するためにイントラ予測を行うことをさらに含むことができる。
【０００５】
［０００５］一実施形態においては、映像データをコーディングするためにイントラ予測プロセスを実行するように構成された映像コーディングデバイスは、符号化されるべき映像データの現在のブロックに関するイントラ予測モードの第１の組を決定するように構成されたプロセッサを含むことができる。イントラ予測モードの第１の組は、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。映像コーディングデバイスは、イントラ予測モードの第１の予め定義された組に加えて現在のブロックに関するイントラ予測モードの第２の組を決定するように構成することもできる。イントラ予測モードの第２の組は、現在のブロックを符号化するために使用することが可能な予測モードの総数以下のイントラ予測モードの数を含むことができる。第１の組及び第２の組の両方は、合計して、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。映像コーディングデバイスは、イントラ予測モードの第１の組に含まれる各イントラ予測モード及びイントラ予測モードの第２の組に含まれる各イントラ予測モードに関する近似コストを計算するように構成することもできる。近似コストは、イントラ予測モードのうちの対応する１つを用いて映像データの現在のブロックを符号化するレート歪みコストの近似値であることができる。映像コーディングデバイスは、イントラ予測モードの第１の組において識別された各イントラ予測モードに関する及びイントラ予測モードの第２の組において識別された各イントラ予測モードに関する近似コストをメモリに格納するように構成することもできる。映像コーディングデバイスは、イントラ予測モードの第１の組及びイントラ予測モードの第２の組において識別された各イントラ予測モードに関して計算された近似コストに基づいてイントラ予測モードの第１の組又はイントラ予測モードの第２の組によって識別されたイントラ予測モードのうちの１つに従って現在のブロックを符号化するためにイントラ予測を行うように構成することもできる。
【０００６】
［０００６］一実施形態においては、映像データをコーディングするためのイントラ予測プロセスを実行するように構成された映像コーディングデバイスは、符号化されるべき映像データの現在のブロックに関するイントラ予測モードの第１の組を決定するための手段を含む。イントラ予測モードの第１の組は、現在ブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。映像コーディングデバイスは、イントラ予測モードの第１の予め定義された組に加えて現在のブロックに関するイントラ予測モードの第２の組を決定するための手段を含むこともできる。イントラ予測モードの第２の組は、現在のブロックを符号化するために使用することが可能な予測モードの総数以下のイントラ予測モードの数を含むことができる。第１の組及び第２の組の両方は、合計して、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。映像コーディングデバイスは、イントラ予測モードの第１の組に含まれる各イントラ予測モード及びイントラ予測モードの第２の組に含まれる各イントラ予測モードに関する近似コストを計算するための手段をさらに含むことができる。近似コストは、イントラ予測モードのうちの対応する１つを用いて映像データの現在のブロックを符号化するレート歪みコストの近似値であることができる。映像コーディングデバイスは、イントラ予測モードの第１の組において識別された各イントラ予測モードに関する及びイントラ予測モードの第２の組において識別された各イントラ予測モードに関する近似コストをメモリに格納するための手段を含むこともできる。映像コーディングデバイスは、イントラ予測モードの第１の組及びイントラ予測モードの第２の組において識別された各イントラ予測モードに関して計算された近似コストに基づいてイントラ予測モードの第１の組又はイントラ予測モードの第２の組によって識別されたイントラ予測モードのうちの１つに従って現在のブロックを符号化するためにイントラ予測を行うための手段をさらに含むことができる。
【０００７】
［０００７］１つ以上の例の詳細が添付される図面及び以下の説明において示されている。これらの説明及び図面から、及び請求項からその他の特徴、目的、及び利点が明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】［０００８］複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小するために本開示において説明される技法を利用するように構成することができる映像符号化及び復号システム例を示したブロック図である。
【図２】［０００９］複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小するための技法を実装することができる映像符号器の例を示したブロック図である。
【図３】［００１０］本開示において説明される技法を実装することができる映像復号器の例を示したブロック図である。
【図４Ａ】［００１１］本開示において説明される技法による、映像コーダが選択することができるイントラ予測モードの概念的表現を例示したブロック図である。
【図４Ｂ】［００１２］本開示において説明される技法による、イントラ予測的にコーディングされるべき現在のブロック及び近隣ブロックの概念的表現を例示したブロック図である。
【図５】［００１３］本開示において説明される技法による、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小する態様を行う際の映像コーダ、例えば、図２に示される映像符号器、の典型的な動作を例示したフローチャートである。
【図６】［００１４］本開示の技法による、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小する態様を行う際の映像コーダ、例えば、図２に示される映像符号器、の典型的な動作を例示したフローチャートである。
【図７】［００１５］本開示の技法による、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小する態様を行う際の映像コーダ、例えば、図２に示される映像符号器、の典型的な動作を例示したフローチャートである。
【図８】［００１５］本開示の技法による、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小する態様を行う際の映像コーダ、例えば、図２に示される映像符号器、の典型的な動作を例示したフローチャートである。
【発明を実施するための形態】
【０００９】
［００１７］映像符号器（“映像コーダ”と呼ぶこともできる）が複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小するのを可能にすることができる技法が本開示において説明される。概して、符号化された映像データは、予測データと、残差データと、を含むことができる。例えば、映像符号器は、イントラ予測モード又はインター予測モード中に予測データを生成することができる。例えば、イントラ予測は、概して、同じピクチャの近隣の、前にコーディングされたブロック内の１つ以上の基準ブロック（“基準サンプル”と呼ぶこともできる）に関してピクチャのブロック内のピクセル値を予測することを含み、選択された前にコーディングされたブロックは、基準ブロックと呼ぶことができる。イントラ予測は、選択された基準ブロックが予測されるべきブロックと同じピクチャからのものであるため、空間的予測と呼ぶこともできる。インター予測は、典型的には、時間的に取り除かれたピクチャ内の１つ以上の基準サンプルに関するピクチャのブロック内のピクセル値を予測することを含む。この理由により、インター予測は、選択された基準ブロックが予測されるべきブロックを有するピクチャと異なる（従って、時間的に取り除かれた）ピクチャからのものであるため、時間的予測と呼ぶことができる。
【００１０】
［００１８］イントラ予測を行うときには、映像符号器は、（例えば、図４Ａにおいてさらに例示されるように）複数の、異なるイントラ予測モードの中から選択することができ、それらのイントラ予測モードの各々と関連する近似コストを計算する。この近似コストは、いわゆるリソース集約型のフルレート歪み最適化プロセスを実行するときにしばしば使用されるレート−歪みコストの近似値であることができる。レート−歪みコストを計算することは、典型的には、映像符号器が、イントラ予測モードのうちの各々を用いて予測されたブロックを計算すること及び予測されたブロックの各々と（上記の残差ピクセル値を指定する“残差ブロック”と共通して呼ばれる）現在のブロックとの間の差分を決定することを要求する。次に、映像符号器は、残差ブロックの各々を空間的領域から周波数領域に変換し、係数の対応する符号化された映像ブロックを生成するために変換された残差ブロックの各々における係数値を量子化する。最後に、映像符号器は、符号化された映像ブロックを復号し、復号された映像ブロックの各々を現在のブロックと比較して歪みメトリックを決定することができる。さらに、このレート−歪み解析は、イントラ予測モードの各々に関して、量子化レベルが与えられている場合に、符号化された映像ブロックの各々をシグナリングするために使用されるビットの量を計算することを含むことができる。
【００１１】
［００１９］映像符号器は、イントラ予測モードのうちの対応する１つを用いて予測される予測されたブロックの各々に関してフルレート−歪み解析を行うのではなく、近似コストを計算することができる。本開示においてさらに説明されるように、フルレート−歪みコストを概算する方法は、幾つかの異なる方法が存在する。幾つかの例においては、映像符号器は、イントラ予測コーディング中にイントラ予測モードの各々に関する近似コストを計算するのを回避することができ、その代わりに、１つ以上のいわゆる“最も可能性が高い”イントラ予測モードを識別することができる。最も可能性が高いモードを識別するために、映像符号器は、前に符号化されたブロック（現在のブロックに隣接し、既にイントラ予測されている近隣ブロック、例えば、現在のブロックの最上部又は上方及び左のブロック、であることがしばしばである）のイントラ予測モードを識別することができる。これらのいわゆる近隣ブロックのイントラモードは、現在のブロックに対する近隣ブロックの空間的な近接性に起因して現在のブロックと同じである又は類似する確率が相対的に高いことができる。この点において、映像符号器は、近似コストの計算数を、これらの最も可能性が高いモード又はこれらの最も可能性が高いモード及びイントラ予測を行うときにその他のモードと比較して使用される可能性が統計的により高いその他の可能性のあるモード（例えば、プレナー（ｐｌａｎａｒ）モード及びＤＣモード）のみに減らすことができる。
【００１２】
［００２０］しかしながら、幾つかの実装においては、映像符号器は、幾つかのブロックに関するイントラ予測を平行して行うことができ、それは、映像符号器がこれらの最も可能性が高いモードを決定するのを可能にしない。例えば、映像符号器は、幾つかの異なるサイズのコーディングユニットに分割することができる最大のコーディングユニット（ＬＣＵ）に関するイントラ予測を行うことができる。これらのＣＵのうちの各々が同時並行してイントラ予測又はインター予測中である場合は、映像符号器は、現在のブロックに関する最も可能性が高いモードを決定するためにそれらを使用することができない。
【００１３】
［００２１］イントラ予測を行うときに最も可能性が高いモードを利用することができない結果として、映像符号器は、ＬＣＵ内の各ＣＵに関して各イントラ予測モードに関する近似コストを計算するのを試みることができる。映像符号器は、これらの近似コストを格納することができる。映像符号器が近隣ブロックの符号化を完了させた時点で、映像符号器は、様々なモードのうちのいずれがより複雑なレート歪み解析を用いてより完全に試験されるべきであるかを識別するために現在のブロックに関して計算された近似コストを用いて、現在のブロックに関する最も可能性が高いモードを識別することができる。このようにして最も可能性が高いモードを使用することによって、映像符号器は、フルレート歪み解析を用いて解析される予測されたブロックの数を減少させることができる。換言すると、これらのモードの一部をレート歪み解析から除外し、それによって、レート歪み解析を行うために要求されるリソースの量を低減させることができる（メモリ及び／又はプロセッサの利用と呼ぶことができる）。
【００１４】
［００２２］ＬＣＵＳ内の各ＣＵに関して各イントラ予測モードに関する近似コストを計算する上記のプロセスは、（映像符号器が幾つかのブロックに関するイントラ予測及びインター予測を同時並行して行うという意味で）非常に並列的である映像コーダがフルレート歪み解析を用いて解析される予測されたブロックの数を減少させることによってイントラ予測をより効率的に行うのを可能にすることができる一方で、このプロセスは、結果的には、近似コストを格納するために要求されるメモリに起因してコストが高い映像符号器になってしまうおそれがある。映像符号器は、典型的には、これらの近似コストをローカルで又はチップ上に格納するのを要求すること、及び、該オンチップメモリは、コストが高くかつ映像符号器チップ上の有意なスペース（“ボードスペース”と呼ぶことができる）を消費する可能性があることを考慮した場合、上記のプロセスを実装する映像符号器は、各ブロックを順次で符号化することができる並列性がより低い映像符号器よりもコスト高になるおそれがある。
【００１５】
［００２３］本開示において説明される技法により、映像コーダ、例えば、並列映像符号器（現在のブロックを符号化するのと同時並行して近隣ブロックを符号化する映像符号器を意味する）、は、すべてのイントラ予測モードの部分組のみに関する近似コストを格納することができ、それによって、オンチップメモリに関する要求を軽減させること及び映像符号器の生産に関するコストの節約を提供することができる。動作上は、映像符号器は、現在のブロックに関するイントラ予測モードの第１の予め定義された組を決定することができる。現在のブロックは、幾つかの例においては、概して、映像コーダが現在符号化中である映像ブロックを意味する。第１の予め定義された組内のイントラ予測モードの数は、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないことができる。しばしばであるが、イントラ予測モード（例えば、モード０、１及び２６）のこの第１の予め定義された組は、イントラ予測モードのうちの残りのそれらよりも頻繁に生じるとして統計的に識別されている１つ、２つ又は３つのイントラ予測モードを備える。
【００１６】
［００２４］映像符号器は、イントラ予測モードの第１の予め定義された組に加えて現在のブロックに関するイントラ予測モードの第２の組を決定することもできる。繰り返すと、イントラ予測モードのこの第２の組は、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。モードの第２の組は、予め定義することができない。換言すると、イントラ予測モードの第１の予め定義された組は、設定することができ（ただし、特定のモードリストは、ＬＣＵ、スライス、ピクチャ、シーケンス、等の間で変化することができる）、他方、第２の組は、サンプリング、又は何らかのその他のプロセスによって、導き出されるか又はランダムに決定される。
【００１７】
［００２５］いずれの場合も、映像符号器は、イントラ予測モードの第１の予め定義された組内で識別された各イントラ予測モード及びイントラ予測モードの第２の組内で識別された各イントラ予測モードに関する近似コストを計算することができる。映像符号器は、イントラ予測モードの第１の予め定義された組内で識別された各イントラ予測モード及びイントラ予測モードの第２の組内で識別されたイントラ予測モードの一部に関する近似コストをメモリに格納することができる（繰り返すと、このメモリは、オンチップメモリ、例えば、層１（Ｌ１）キャッシュ、を表すことができる）。第１の予め定義された組内で指定されたイントラ予測モード及び第２の組内で選択されたそれらの総数（すなわち、和）は、現在のブロックを符号化するために使用可能なイントラ予測モードの総数（例えば、３５のモード）よりも少ないことを考慮した場合、映像符号器は、これらの近似コストを格納するために要求されるオンチップメモリの量を（合計して幾つかのモードのみ、例えば、５つ又は６つ、がイントラ予測モードの第１の組と第２の組との間で指定されている場合は、時には有意な量だけ）低減させることができる。
【００１８】
［００２６］図１は、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小するための本開示において説明される技法を利用するように構成することができる映像符号化及び復号システム例を示したブロック図である。図１の例において示されるように、システム１０は、行先デバイス１４による復号のための符号化された映像を生成するソースデバイス１２を含む。ソースデバイス１２は、通信チャネル１６を介して符号化された映像を行先デバイス１４に送信することができ又は符号化された映像を記憶媒体３４又はファイルサーバ３６に格納することができ、従って、符号化された映像は、希望に応じて行先デバイス１４によってアクセスすることができる。ソースデバイス１２及び行先デバイス１４は、非常に様々なデバイスのうちのいずれかを備えることができ、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット（携帯電話又はセルラーハンドセット及びいわゆるスマートフォンを含む）、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームプレイコンソール、等を含む。
【００１９】
［００２７］多くの場合、該デバイスは、無線通信のために装備することができる。従って、通信チャネル１６は、無線チャネルを備えることができる。代替として、通信チャネル１６は、符号化された映像データの送信に適する有線チャネル、無線チャネルと有線チャネルの組み合わせ又はその他のタイプの通信チャネル又は通信チャネルの組み合わせ、例えば、無線周波数（ＲＦ）スペクトル又は１つ以上の物理的送信ラインを備えることができる。幾つかの例においては、通信チャネル１６は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、又はグローバルネットワーク、例えば、インターネット、の一部を形成することができる。従って、通信チャネル１６は、概して、ソースデバイス１２から行先デバイス１４に映像データを送信するためのあらゆる適切な通信媒体、又は異なる通信媒体の集合を代表し、有線媒体又は無線媒体のあらゆる適切な組み合わせを含む。通信チャネル１６は、ルータ、スイッチ、基地局、又は、ソースデバイス１２から行先デバイス１４への通信を容易にするのに役立つことができるあらゆるその他の装置を代表する。
【００２０】
［００２８］図１の例においてさらに示されるように、ソースデバイス１２は、映像ソース１８と、映像符号器２０と、変調器／復調器２２（“モデム２２”）と、送信機２４と、を含む。ソースデバイス１２において、映像ソース１８は、映像キャプチャデバイス、等のソースを含むことができる。映像キャプチャデバイスは、例として、ビデオカメラ、以前にキャプチャされた映像が入っている映像アーカイブ、映像コンテンツプロバイダから映像を受信するための映像フィードインタフェース、及び／又は、コンピュータグラフィックスデータをソース映像として生成するためのコンピュータグラフィックスシステムのうちの１つ以上を含むことができる。一例として、映像ソース１８がビデオカメラである場合は、ソースデバイス１２及び行先デバイス１４は、いわゆるカメラフォン又はビデオフォンを形成することができる。しかしながら、本開示において説明される技法は、無線用途又はセッティングには限定されず、映像符号化及び／又は復号能力を含む非無線デバイスに適用することができる。従って、ソースデバイス１２及び行先デバイス１４は、ここにおいて説明される技法をサポートすることができるコーディングデバイスの単なる例であるにすぎない。
【００２１】
［００２９］映像符号器２０は、キャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像を符号化することができる。いったん符号化された時点で、映像符号器２０は、この符号化された映像をモデム２２に出力することができる。モデム２２は、通信規格、例えば、無線通信プロトコル、に従って符号化された映像を変調することができ、送信機２４は、変調された符号化された映像データを行先デバイス１４に送信することができる。モデム２２は、ミキサ、フィルタ、増幅器、又は信号変調のために設計されたその他のコンポーネントを含むことができる。送信機２４は、データを送信するために設計された回路を含むことができ、増幅器、フィルタ、及び１本以上のアンテナを含む。
【００２２】
［００３０］映像符号器２０によって符号化されるキャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像は、のちの取り出し、復号及び消費のために記憶媒体３４又はファイルサーバ３６上に格納することもできる。記憶媒体３４は、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、又は符号化された映像を格納するためのその他の適切なデジタル記憶媒体を含むことができる。行先デバイス１４は、記憶媒体３４又はファイルサーバ３６に格納された符号化された映像にアクセスし、この符号化された映像を復号して復号された映像を生成し、この復号された映像を再生することができる。
【００２３】
［００３１］ファイルサーバ３６は、符号化された映像を格納すること及びその符号化された映像を行先デバイス１４に送信することが可能なあらゆるタイプのサーバであることができる。ファイルサーバの例は、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）デバイス、ローカルディスクドライブ、又は、符号化された映像データを格納すること及びそれを行先デバイスに送信することが可能なあらゆるその他のタイプのデバイスを含む。ファイルサーバ３６からの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであることができる。行先デバイス１４は、インターネット接続を含む標準的なデータ接続を通じてファイルサーバ３６にアクセスすることができる。この接続は、ファイルサーバに格納された符号化された映像データにアクセスするのに適する無線チャネル（例えば、Ｗｉ−Ｆｉ接続又は無線セルラーデータ接続）、有線接続（例えば、ＤＳＬ、ケーブルモデム、等）、又は有線チャネルと無線チャネルの組み合わせ又はその他のタイプの通信チャネルを含むことができる。
【００２４】
［００３２］行先デバイス１４は、図１の例では、受信機２６と、モデム２８と、映像復号器３０と、表示装置３２と、を含む。行先デバイス１４の受信機２６は、チャネル１６を通じて情報を受信し、モデム２８は、その情報を復調して映像復号器３０のための復調されたビットストリームを生成する。チャネル１６を通じて通信される情報は、関連付けられた符号化された映像データを復号する際に映像復号器３０によって使用するために映像符号器２０によって生成された様々な構文情報を含むことができる。該構文は、記憶媒体３４又はファイルサーバ３６に格納された符号化された映像データとともに含めることもできる。映像符号器２０及び映像復号器３０の各々は、映像データを符号化又は復号することが可能な各々の符号器−復号器（ＣＯＤＥＣ）の一部を形成することができる。
【００２５】
［００３３］行先デバイス１４の表示装置３２は、ビューワによる消費のために映像データを提示することが可能なあらゆるタイプのディスプレイを代表する。表示装置３２は、行先デバイス１４と一体化された状態で示されるが、行先デバイス１４と一体化すること、又は行先デバイス１４の外部に存在することができる。幾つかの例においては、行先デバイス１４は、一体化された表示装置を含むことができ及び外部の表示装置とインタフェースするように構成することもできる。その他の例においては、行先デバイス１４は、表示装置であることができる。概して、表示装置３２は、復号された映像データをユーザに表示し、様々な表示装置、例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、又は他のタイプの表示装置、を備えることができる。
【００２６】
［００３４］映像符号器２０及び映像復号器３０は、映像圧縮規格、例えば、現在策定中の高効率映像コーディング（ＨＥＶＣ）規格、に従って動作することができ、及びＨＥＶＣテストモデル（ＨＭ）に準拠することができる。代替として、映像符号器２０及び映像復号器３０は、その他の独占規格又は工業規格、例えば、ＩＴＵ−Ｔ  Ｈ．２６４規格、代替でＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれる、又は該規格の拡張版、により動作することができる。しかしながら、本開示の技法は、特定のコーディング規格には限定されない。映像圧縮規格のその他の例は、ＭＰＥＧ−２と、ＩＴＵ−Ｔ  Ｈ．２６３と、を含む。
【００２７】
［００３５］図１には示されていないが、幾つかの態様では、映像符号器２０及び映像復号器３０は、各々、音声符号器及び復号器と一体化することができ、及び、共通のデータストリーム又は別々のデータストリーム内の音声及び映像の両方の符号化を取り扱うための該当するＭＵＸ−ＤＥＭＵＸユニット、又はその他のハードウェア及びソフトウェアを含むことができる。該当する場合は、幾つかの例においては、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はその他のプロトコル、例えば、ユーザデータグラムプロトコル（ＵＤＰ）、に準拠することができる。
【００２８】
［００３６］映像符号器２０及び映像復号器３０は、各々、様々な適切な符号器回路、例えば、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらのあらゆる組み合わせのうちのいずれかとして実装することができる。技法がソフトウェア内において部分的に実装されるときには、デバイスは、ソフトウェアに関する命令を適切な、非一時的なコンピュータによって読み取り可能な媒体に格納することができ及び本開示の技法を実行するために１つ以上のプロセッサを用いてハードウェア内で命令を実行することができる。映像符号器２０及び映像復号器３０の各々は、１つ以上の符号器又は復号器に含めることができ、それらのいずれも、各々のデバイスにおいて結合された符号器／復号器（ＣＯＤＥＣ）の一部として一体化することができる。
【００２９】
［００３７］ＪＣＴ−ＶＣでは、ＨＥＶＣ規格の策定作業中である。ＨＥＶＣ標準化努力は、ＨＥＶＣテストモデル（ＨＭ）と呼ばれる映像コーディングデバイスの進化中のモデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣ、による既存のデバイスに対する映像コーディングデバイスの幾つかの追加能力を想定している。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを提供する一方で、ＨＭは、３３ものイントラ予測符号化モードを提供することができる。
【００３０】
［００３８］概して、ＨＭのワーキングモデルでは、映像フレーム又はピクチャは、ルマサンプル及びクロマサンプルの両方を含むツリーブロック又は最大コーディングユニット（ＬＣＵ）のシーケンスに分割することができると記述している。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、幾つかの連続するツリーブロックをコーディング順に含む。映像フレーム又はピクチャは、１つ以上のスライスに分割することができる。各ツリーブロックは、四分木（ｑｕａｄｔｒｅｅ）に従ってコーディングユニット（ＣＵ）に分割することができる。例えば、ツリーブロックは、四分木の根ノードとして、４つの子ノードに分割することができ、各子ノードは、親ノードであることができ、及び他の４つの子ノードに分割することができる。最終的な、分割されない子ノードは、四分木の葉ノードとして、コーディングノード、すなわち、コーディングされた映像ブロック、を備える。コーディングされたビットストリームに関連する構文データは、ツリーブロックを分割することができる最大回数を定義することができ、及び、コーディングノードの最小サイズを定義することもできる。
【００３１】
［００３９］ＣＵは、コーディングノードと、そのコーディングノードに関連する予測ユニット（ＰＵ）及び変換ユニット（ＴＵ）を含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状は正方形でなければならない。ＣＵのサイズは、８×８ピクセルからツリーブロックのサイズまでの範囲であることができ、最大サイズは６４×６４ピクセル以上である。各ＣＵには、１つ以上のＰＵ及び１つ以上のＴＵが入ることができる。ＣＵに関連する構文データは、例えば、１つ以上のＰＵへのＣＵの分割を記述することができる。分割モードは、ＣＵがスキップ又は直接モード符号化されるか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかの間で異なることができる。ＰＵは、形状が非正方形に分割することができる。ＣＵに関連する構文データは、例えば、四分木による１つ以上のＴＵへのＣＵの分割も記述することができる。ＴＵの形状は、正方形であっても非正方形であってもよい。
【００３２】
［００４０］ＨＥＶＣ規格は、ＴＵによる変換を考慮しており、異なるＣＵごとに異なることができる。ＴＵは、典型的には、分割されたＬＣＵに関して定義される所定のＣＵ内のＰＵのサイズに基づいてサイズが設定されるが、常にそうであるわけではない。ＴＵは、典型的には、ＰＵと同じサイズであるか又はそれよりも小さい。幾つかの例においては、ＣＵに対応する残差サンプルは、“残差四分木（ＲＱＴ）”と呼ばれる四分木構造を用いてより小さいユニットに細分割することができる。ＲＱＴの葉ノードは、変換ユニット（ＴＵ）と呼ぶことができる。ＴＵに関連するピクセル差分値は、変換係数を生成するために変換することができ、それらは量子化することができる。
【００３３】
［００４１］概して、ＰＵは、予測プロセスに関連するデータを含む。例えば、ＰＵがイントラモード符号化されるときには、ＰＵは、ＰＵに関するイントラ予測モードを記述するデータを含むことができる。他の例として、ＰＵがインターモード符号化されるときには、ＰＵは、ＰＵに関する１つ以上の動きベクトルを定義するデータを含むことができる。ＰＵに関する動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルに関する解像度（例えば、１／４サンプル精度又は１／８サンプル精度）、動きベクトルが指し示す基準ピクチャ、予測方向（双方向予測又は単一方向予測）及び／又は動きベクトルに関する基準ピクチャリスト（例えば、リスト０、リスト１、又はリストＣ）を記述することができる。
【００３４】
［００４２］概して、ＴＵは、変換プロセス及び量子化プロセスのために使用される。１つ以上のＰＵを有する１つの所定のＣＵは、１つ以上の変換ユニット（ＴＵ）を含むこともできる。予測に引き続き、映像符号器２０は、ＰＵに対応する残差値を計算することができる。残差値は、変換係数に変換することができ、量子化することができ、及び、エントロピーコーディングのためのシリアライズされた（ｓｅｒｉａｌｉｚｅｄ）変換係数を生成するためにＴＵを用いて走査することができるピクセル差分値を備える。本開示は、典型的には、ＣＵのコーディングノードを意味するために用語“映像ブロック”を使用する。幾つかの特定の事例においては、本開示は、ツリーブロック、すなわち、ＬＣＵ、又はＣＵを意味するために用語“映像ブロック”を使用することもでき、コーディングノード及びＰＵ及びＴＵを含む。
【００３５】
［００４３］映像シーケンスは、典型的には、一連の映像フレーム又はピクチャを含む。ピクチャのグループ（ＧＯＰ）は、概して、映像ピクチャのうちの一連の１つ以上を備える。ＧＯＰは、ＧＯＰ内に含まれるピクチャ数を記述する構文データをＧＯＰのヘッダ、１つ以上のピクチャのヘッダ、又はその他の場所において含むことができる。ピクチャの各スライスは、各々のスライスに関する符号化モードを記述するスライス構文データを含むことができる。映像符号器２０は、典型的には、映像データを符号化するために個々の映像スライス内の映像ブロックに対して動作する。映像ブロックは、ＣＵ内のコーディングノードに対応することができる。映像ブロックは、固定された又は可変のサイズを有することができ、及び、指定されたコーディング規格によりサイズが異なることができる。
【００３６】
［００４４］一例として、ＨＭは、様々なＰＵサイズの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズでのイントラ予測、及び２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称的ＰＵサイズでのインター予測をサポートする。ＨＭは、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズでのインター予測に関する非対称的な分割もサポートする。非対称的な分割では、ＣＵの１方の方向が分割されず、他方の方向が２５％及び７５％に分割される。２５％の分割に対応するＣＵの部分は、“ｎ”によって示され、“上（Ｕｐ）”、“下（Ｄｏｗｎ）”、“左（Ｌｅｆｔ）”、又は“右（Ｒｉｇｈｔ）”の表示文字によって後続される。従って、例えば、“２Ｎ×ｎＵ”は、水平に分割され、最上部が２Ｎ×０．５Ｎ  ＰＵ、最下部が２Ｎ×１．５Ｎ  ＰＵである２Ｎ×２Ｎ  ＣＵを意味する。
【００３７】
［００４５］本開示においては、“Ｎ×Ｎ”及び“Ｎ  ｂｙ  Ｎ”は、垂直及び水平の寸法に関する映像ブロックのピクセル寸法を意味するために互換可能な形で使用することができ、例えば、１６×１６ピクセル又は１６  ｂｙ  １６ピクセル。概して、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）及び水平方向に１６ピクセル（ｘ＝１６）を有することになる。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮのピクセル及び水平方向にＮのピクセルを有し、ここで、Ｎは、負でない整数値を表す。ブロック内のピクセルは、行及び列で配列することができる。さらに、ブロックは、水平方向と垂直方向で必ずしも同じピクセル数を有する必要がない。例えば、ブロックは、Ｎ×Ｍサンプルを備えることができ、ここで、Ｍは必ずしもＮと等しくない。
【００３８】
［００４６］ＣＵのＰＵを用いたイントラ予測又はインター予測コーディングに引き続き、映像符号器２０は、ＣＵのＴＵに関する残差データを計算することができる。ＰＵは、空間領域（ピクセル領域とも呼ばれる）においてピクセルデータを備えることができ、及び、ＴＵは、変換、例えば、離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、又は概念的に類似する変換を残差映像データに適用後に変換領域において係数を備えることができる。残差データは、符号化されないピクチャのピクセルとＰＵに対応する予測値との間のピクセル差分に対応することができる。映像符号器２０は、ＣＵに関する残差データを含むＴＵを形成することができ、次に、ＣＵに関する変換係数を生成するためにＴＵを変換することができる。
【００３９】
［００４７］変換係数を生成するための変換に引き続き、映像符号器２０は、それらの変換係数の量子化を行うことができる。量子化は、概して、係数を表すために使用されるデータ量を低減させ、さらなる圧縮を提供するために変換係数が量子化されるプロセスを意味する。量子化プロセスは、係数の一部又は全部に関連するビット深度を小さくすることができる。例えば、量子化中にｎビット値が切り捨てられてｍビット値になり、ここで、ｎはｍよりも大きい。
【００４０】
［００４８］幾つかの例においては、映像符号器２０は、エントロピー符号化することができるシリアライズされたベクトルを生成するために量子化された変換係数を走査するために予め定義された走査順序を利用することができる。その他の例においては、映像符号器２０は、適応型走査を行うことができる。一次元ベクトルを形成するために量子化された変換係数走査後は、映像符号器２０は、例えば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、構文に基づくコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔分割エントロピー（ＰＩＰＥ）コーディング、又はその他のエントロピーコーディング技法に従って一次元ベクトルをエントロピー符号化することができる。映像符号器２０は、映像データを復号する際に映像符号器２０によって使用するために符号化された映像データに関連する構文要素をエントロピー符号化することもできる。
【００４１】
［００４９］ＣＡＢＡＣを行うために、映像符号器２０は、コンテキストモデル内のコンテキストを送信されるべきシンボルに割り当てることができる。コンテキストは、例えば、シンボルの近隣値がゼロでないかどうかに関連することができる。ＣＡＶＬＣを行うために、映像符号器２０は、送信されるべきシンボルに関する可変長コードを選択することができる。ＶＬＣにおけるコードワードは、相対的により短いコードがより確率の高いシンボルに対応し、より長いコードがより確率の低いシンボルに対応するような形で構築することができる。このように、ＶＬＣの使用は、例えば、送信されるべき各シンボルに関して等しい長さのコードワードを使用することと比較してビットの節約を達成することができる。確率決定は、シンボルに割り当てられたコンテキストに基づくことができる。
【００４２】
［００５０］上述されるように、映像符号器２０は、イントラ予測を行うことができる。イントラ予測を行うときには、従来の映像符号器は、しばしば、複数の異なるイントラ予測モード（例えば、図４Ａにおいてさらに例示）の各々に関するレート歪み解析を行うことによって、これらのモードの中から選択することができる。レート−歪みコストを計算することは、典型的には、映像符号器がイントラ予測モードの各々を用いて予測されるブロックを計算すること及び予測されるブロックの各々と現在のブロックとの間の差分（上記の残差ピクセル値を指定する“残差ブロック”と共通して呼ばれる）を決定することを要求する。次に、映像符号器は、係数の対応する符号化された映像ブロックを生成するために空間領域からの残差ブロックの各々を周波数領域に変換し、変換された残差ブロックの各々の中の係数値を量子化する。最後に、映像符号器は、符号化された映像ブロックを復号し、歪みメトリックを決定するために復号された映像ブロックの各々を現在のブロックと比較することができる。さらに、このレート−歪み解析は、量子化レベルが与えられている場合に、イントラ予測モードの各々に関して、符号化された映像ブロックの各々をシグナリングするために使用されるビットの量を計算することを含むことができる。
【００４３】
［００５１］本開示において説明される技法により、映像符号器２０は、１つ以上の選択技法に基づいて、予め定義された予測モードの第１の組、及び追加で、予測モードの第２の組を決定することができる。総じて、第１の組及び第２の組は、すべての可能性のある予測モードの部分組を備える。映像コーダは、所定のブロックをコーディングするときののちの使用のために部分組の１つ以上のモードに対応する近似コスト値を格納することができる。部分組内の予測モードの近似コスト値に基づき、映像コーダは、所定のブロックをコーディングするための予測モードを後続して選択する。技法のさらなる詳細が例えば以下の図２において示される。
【００４４】
［００５２］映像復号器３０は、コーディングされたデータを備えるビットストリームを受信し、映像符号器２０から受信された対応する構文要素に従ってそのデータを復号することができる。映像復号器３０は、概して、映像符号器２０に関して上述される動作と相互的なそれらを実行することができる。すなわち、映像復号器３０は、符号化された映像データの各ブロックをエントロピー復号し、符号化された映像データのブロックを量子化解除するために逆量子化を行い、符号化された映像データの量子化解除されたブロックを周波数領域から空間領域に変換するための逆変換を適用することができる。符号化された映像データのこの変換されたブロックは、残差データの再構築されたバージョンを表すことができる。予測プロセスにおいて、映像復号器３０は、予測モードをシグナリングする構文要素に基づいて所定のブロックを復号するために対応する予測モードを選択することができる。すなわち、映像符号器２０は、本開示の技法により、所定のブロックに関する予測モードをシグナリングする１つ以上の構文要素を送信することができ、それは、映像復号器３０が所定のブロックを復号するために後続して使用することができる。
【００４５】
［００５３］図２は、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小することが可能な技法を実装することができる映像符号器２０の例を示すブロック図である。映像符号器２０は、映像スライス内の映像ブロックのイントラコーディング及びインターコーディングを行うことができる。イントラコーディングは、所定の映像フレーム又はピクチャ内の映像の空間的冗長性を低減又は除去するために空間的予測に依存する。インターコーディングは、映像シーケンスの隣接するフレーム又はピクチャ内の映像の時間的冗長性を低減又は除去するために時間的予測に依存する。イントラモード（Ｉモード（登録商標））は、幾つかの空間に基づく圧縮モードのうちのいずれかを意味することができる。インターモード、例えば、単一方向性予測（Ｐモード）又は両方向性予測（Ｂモード）は、幾つかの時間に基づく圧縮モードのうちのいずれかを意味することができる。
【００４６】
［００５４］図２の例においては、映像符号器２０は、分割ユニット４０と、予測ユニット４１と、基準ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６と、を含む。予測ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測ユニット４６と、を含む。映像ブロック再構築に関して、映像符号器２０は、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２と、も含む。再構築された映像からブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするためのデブロッキングフィルタ（図２に示されていない）を含めることもできる。希望される場合は、デブロッキングフィルタは、典型的には、加算器６２の出力をフィルタリングする。デブロッキングフィルタに加えて追加のループフィルタ（ループ内又はループ後）も使用することができる。映像符号器２０は、モード選択ユニット４３も含む。モード選択ユニット４３は、例えば、誤り結果に基づいて、コーディングモードのうちの１つ、イントラ又はインター、を選択することができる。図２においてさらに示されるように、モード選択ユニット４３は、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小するための技法を実装することができる。
【００４７】
［００５５］図２において示されるように、映像符号器２０が映像データを受信し、分割ユニット４０がそのデータを映像ブロックに分割する。この分割は、映像ブロック分割に加えて、例えば、ＬＣＵ及びＣＵの四分木構造に従って、スライス、タイル、又はその他のより大きいユニットに分割することも含むことができる。映像符号器２０は、概して、符号化されるべき映像スライス内の映像ブロックを符号化するコンポーネントを例示する。概して、スライスは、複数の映像ブロック（及びおそらく、タイルと呼ばれる映像ブロックの組）に分割することができる。
【００４８】
［００５６］モード選択ユニット４３は、誤り結果（例えば、コーディングレート及び歪みレベル）に基づいて現在の映像ブロックに関する複数の可能性のあるコーディングモードのうちの１つ、例えば、複数のイントラコーディングモードのうちの１つ又は複数のインターコーディングモードのうちの１つ、を選択することができる。予測ユニット４１は、結果的に得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成するために加算器５０に及び基準フレームとして使用するための符号化されたブロックを再構築するために加算器６２に提供することができる。幾つかの例においては、モード選択ユニット４３は、“ＲＤＯ”として省略することができる“レート−歪み最適化”と共通して呼ばれるプロセスを通じて最良のレート対歪み比を選択するために再構築された映像ブロックの各々を解析することができる。以下において説明される図２のさらなる詳細は、本開示の１つ以上の態様によるモード選択技法を例示する。
【００４９】
［００５７］本開示の態様は、概して、イントラコーディングに関するものである。従って、本開示の幾つかの技法は、モード選択ユニット４３によって実行することができる。すなわち、例えば、モード選択ユニット４３は、以下の図２乃至８に関して説明される本開示の技法を実行することができる。その他の例においては、映像符号器２０の１つ以上のその他のユニット、例えば、イントラ予測ユニット４６、は、追加で、全体で、又は代替で、本開示の技法を実行することを担当することができる。
【００５０】
［００５８］予測ユニット４１内の動き推定ユニット４２及び動き補償ユニット４４は、時間的圧縮を提供するために１つ以上の基準ピクチャ内の１つ以上の予測ブロックに関して現在の映像ブロックのインター予測コーディングを行う。動き推定ユニット４２は、映像シーケンスに関する予め決定されたパターンに従って映像スライスに関するインター予測モードを決定するように構成することができる。予め決定されたパターンは、シーケンス内の映像スライスをＰスライス、Ｂスライス又はＧＰＢスライスとして指定することができる。動き推定ユニット４２及び動き補償ユニット４４は、高度に一体化することができるが、概念上の目的で別々に例示される。動き推定は、動き推定ユニット４２によって行われ、映像ブロックに関する動きを推定する動きベクトルを生成するプロセスである。例えば、動きベクトルは、基準ピクチャ内の予測ブロックに対する現在の映像フレーム又はピクチャ内の映像ブロックのＰＵの変位を示すことができる。
【００５１】
［００５９］予測ブロックは、ピクセル差分の点でコーディングされるべき映像ブロックのＰＵに密接にマッチングすることが判明しているブロックであり、差分絶対値和（ＳＡＤ）、差分二乗和（ＳＳＤ）、又はその他の差分メトリックによって決定することができる。幾つかの例では、映像符号器２０は、基準ピクチャメモリ６４に格納された基準ピクチャの整数未満のピクセル位置に関する値を計算することができる。例えば、映像符号器２０は、基準ピクチャの１／４ピクセル位置、１／８ピクセル位置、又はその他の分数のピクセル位置の値を内挿することができる。従って、動き推定ユニット４２は、完全ピクセル位置及び分数ピクセル位置に関する動き探索を行い、分数のピクセル精度を有する動きベクトルを出力することができる。
【００５２】
［００６０］動き推定ユニット４２は、ＰＵの位置を基準ピクチャの予測ブロックの位置と比較することによってインターコーディングされたスライス内の映像ブロックのＰＵに関する動きベクトルを計算する。基準ピクチャは、第１の基準ピクチャリスト（リスト０）又は第２の基準ピクチャリスト（リスト１）から選択することができ、それらの各々は、基準ピクチャメモリ６４に格納された１つ以上の基準ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６及び動き補償ユニット４４に送信する。
【００５３】
［００６１］動き補償は、動き補償ユニット４４によって行われ、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを含むことができ、サブピクセル精度に合わせた内挿を行うことができる。現在の映像ブロックのＰＵに関する動きベクトルを受信した時点で、動き補償ユニット４４は、基準ピクチャリストのうちの１つにおいて動きベクトルが指し示す予測ブロックの位置を突き止めることができる。映像符号器２０は、コーディング中の現在の映像ブロックのピクセル値から予測ブロックのピクセル値を減じることによって残差映像ブロックを形成し、ピクセル差分値を形成する。ピクセル差分値は、ブロックに関する残差データを形成し、及び、ルマ及びクロマ差分コンポーネントの両方を含むことができる。加算器５０は、この減算動作を行うコンポーネント又はコンポーネント（複数）を代表する。動き補償ユニット４４は、映像スライスの映像ブロックを復号する際に映像復号器３０によって使用するために映像ブロック及び映像スライスと関連付けられた構文要素を生成することもできる。
【００５４】
［００６２］予測ユニット４１内のイントラ予測ユニット４６は、空間的圧縮を提供するためにコーディングされるべき現在のブロックと同じピクチャ又はスライス内の１つ以上の近隣ブロックに関する現在の映像ブロックのイントラ予測コーディングを行うことができる。従って、イントラ予測ユニット４６は、上述されるように、動き推定ユニット４２及び動き補償ユニット４４によって行われるインター予測の代替として、現在のブロックをイントラ予測することができる。
【００５５】
［００６３］特に、モード選択ユニット４３は、所定のモード及びブロックに対応するレート歪みの量に基づいて現在のブロックを符号化するために使用するためのイントラ予測モードを決定することができる。幾つかの例においては、イントラ予測ユニット４６は、例えば、別々の符号化パス（ｅｎｃｏｄｉｎｇ  ｐａｓｓ）中に、モード選択ユニット４３から受信された様々なイントラ予測モードを用いて現在のブロックを符号化することができる。
【００５６】
［００６４］モード選択ユニット４３は、様々な試験されたイントラ予測モードに関するレート−歪み解析を用いてレート−歪み値を計算すること、及び、試験されたモードの中で最良のレート−歪み特性を有するイントラ予測モードを選択することができる。レート−歪み解析は、概して、符号化されたブロックを生成するために符号化されたブロックとオリジナルの符号化されないブロックとの間の歪み（又は誤り）の量、及び符号化されたブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定することを含む。モード選択ユニット４３は、いずれのイントラ予測モードがブロックに関する最良のレート−歪み値を呈するかを決定するために様々な符号化されたブロックに関する歪み及びレートから比率を計算することができる。提案されるＨＥＶＣ規格によれば、最高で３５のイントラ予測モードが存在することができ、及び、各イントラ予測モードは、インデックスと関連付けることができる。
【００５７】
［００６５］イントラ予測を行うときには、モード選択ユニット４３は、フルレート歪み解析を行うのではなく各々の可能性のあるイントラ予測モードに関連する近似コストを解析することができる。この近似コストは、レート−歪みコストの近似値であることができる。レート−歪みコストを計算することは、典型的には、映像符号器が、イントラ予測モードのうちの各々を用いて予測されるブロックを計算すること、予測されるブロックの各々と（上記の残差ピクセル値を指定する“残差ブロック”と共通して呼ばれる）現在のブロックとの間の差分を決定すること、残差ブロックの各々を空間的領域から周波数領域に変換すること、係数の対応する符号化された映像ブロックを生成するために変換された残差ブロックの各々における係数値を量子化すること、及び、符号化された映像ブロックを復号し、復号された映像ブロックの各々を現在のブロックと比較して歪みメトリックを決定することを要求する。さらに、このレート−歪み解析は、イントラ予測モードの各々に関して、量子化レベルが与えられている場合に、符号化された映像ブロックの各々をシグナリングするために使用されるビットの量を計算することを含むことができる。
【００５８】
［００６６］上述されるように、３５のイントラ予測モードのうちの対応する１つを用いて予測された予測ブロックの各々に関してフルレート−歪み解析を行うのではなく、モード選択ユニット４３は、１つ以上のイントラ予測モードに関する近似コストを計算することができる。モード選択ユニット４３は、フルレート−歪み解析コストを概算するための１つ以上の技法例を実装することができる。幾つかの技法例は、概して、ラグランジュレート歪み近似と呼ぶことができる。大量の可能性のあるモードの中から最良のモードを決定するために、各々の異なるコストを測定するためにラグランジュ乗数を適用することができる。ラグランジュ乗数は、歪み尺度Ｄ、及びレート尺度Ｒに基づくことができる。歪み尺度は、異なる実装に関して異なる方法で定義することが可能であり、例えば、二乗和誤差（ＳＳＥ）、絶対差和（ＳＡＤ）、又は絶対変換差和（ＳＡＴＤ）である。レート尺度は、現在のモード情報を符号化するためにどれだけの数のビットが必要であるかを表す。例えば、レート尺度は、予測モードタイプ、イントラモードインデックス、動きベクトル、等をシグナリングするために使用されるビットを含むことができる。Ｄ及びＲの値がいったん入手された時点で、方程式（１）において示されるようにコストＣを計算することができ、ここで、λは、予め定義された定数である。
【数１】
0006054552.tif 000002
【００５９】
モード選択ユニット４３は、最小のＣを提供するモードを選択することによって最良のモードを選択することができる。
【００６０】
［００６７］一例として、モード選択ユニット４３は、二乗歪み和（ＳＳＤ）、絶対差和（ＳＡＤ）、及び絶対変換差和（ＳＡＴＤ）を計算するための技法を実装することができる。モード選択ユニット４３は、レート−歪みコストの近似値を求めるための方法としてＳＡＴＤを実装することができ、及び、モード選択ユニット４３は、以下の方程式（２）に従ってＳＡＴＤを計算することができる。
【数２】
0006054552.tif 000003
【００６１】
方程式（１）において、Ｘ＾は、現在のブロックＸに関する予測されるブロックを表し、ＴＮ×Ｎ（・）は、Ｎ×Ｎ変換（例えば、アダマール変換）であり、λは、（実験によって選択することができる）ラグランジュ乗数であり、Ｒｍｏｄｅは、モードを符号化するために使用されるビット数である。
【００６２】
［００６８］モード選択ユニット４３は、イントラ予測コーディング中に可能性のあるイントラ予測モードの各々に関する近似コストを計算するのを回避することができ、その代わりに、１つ以上のいわゆる“最も可能性が高い”イントラ予測モードを識別することができる。最も可能性が高いモードを識別するために、モード選択ユニット４３は、前に符号化されたブロック（現在のブロックに隣接する近隣ブロックであることがしばしばである）のイントラ予測モードを識別することができる。これらのいわゆる近隣ブロックのイントラモードは、現在のブロックに対する近隣ブロックの空間的な近接性に起因して現在のブロックと同じである又は類似する確率が相対的に高いことができる。この点において、モード選択ユニット４３は、近似コストの計算数を、これらの最も可能性が高いモード又はこれらの最も可能性が高いモード及びイントラ予測を行うときにその他のモードと比較して使用される可能性が統計的により高いその他の可能性のあるモード（例えば、プレナー（ｐｌａｎａｒ）モード及びＤＣモード）のみに減らすことができる。
【００６３】
［００６９］幾つかの実装においては、映像符号器は、幾つかのブロックに関するイントラ予測を平行して行うことができ、それは、映像符号器がこれらの最も可能性が高いモードを決定するのを可能にすることができない。例えば、映像符号器は、幾つかの異なるサイズのコーディングユニットに分割することができる最大のコーディングユニット（ＬＣＵ）に関するイントラ予測を行うことができる。これらのＣＵの各々が同時並行してイントラ予測又はインター予測中である場合は、映像符号器は、現在のブロックに関する最も可能性が高いモードを決定するためにそれらを使用することができない。イントラ予測を行うときに最も可能性が高いモードを利用することができない結果として、映像符号器は、上記のＳＡＴＤコストを用いて、ＬＣＵ内の各ＣＵに関する各々のイントラ予測モードに関して近似コストを計算するのを試みることができる。上記のプロセスは、並列性が高い映像符号器がフルレート歪み解析を用いて解析される予測されるブロックの数を減少させることによってイントラ予測をより効率的に行うのを可能にすることができる一方で、このプロセスは、その結果として、近似コストを計算するために要求されるメモリに起因して高価な映像符号器になってしまうおそれがある。
【００６４】
［００７０］要求される記憶域を縮小するために、本開示は、すべての可能性のあるイントラ予測モードの部分組の近似コスト値に基づいて現在のブロックに関するイントラ予測モードを決定するための技法を提案する。例えば、映像符号器は、すべての可能性のあるイントラ予測モードの中からのイントラ予測モードの部分組を形成することができる。部分組内のそれらのイントラ予測モードに関して、映像符号器は、歪み尺度、例えば、本開示において説明される近似コスト値、を格納することができる。例えば、映像符号器は、ラグランジュ乗数を使用することから、１つ以上の最良のモード、例えば、近似コスト値があるスレショルドを下回るモード、を選択的に格納することができる。
【００６５】
［００７１］図２を参照し、モード選択ユニット４３は、本開示の技法により、すべてのイントラ予測モードの部分組のみに関する近似コストを格納することができ、それによって、オンチップメモリに関する要求を軽減させること及び映像符号器の生産に関するコストの節約を提供することができる。例えば、モード選択ユニット４３は、最初に、分割ユニット４０から符号化するための現在のブロックを決定することができる。モード選択ユニット４３は、イントラ予測ユニット４６によって符号化されるべき映像データの現在のブロックに関するイントラ予測モードの第１の組を決定することができる。イントラ予測モードの第１の組は、現在のブロックを符号化するためにイントラ予測ユニット４６によって使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。幾つかの例においては、イントラ予測モード（例えば、モード０、１及び２６）のこの第１の予め定義された組は、イントラ予測モードのうちの残りのそれらよりも頻繁に生じるとして統計的に識別されている１つ以上のイントラ予測モードを備える。すなわち、幾つかの例においては、イントラ予測ユニット４６は、１つ以上のモードがモード選択ユニット４３によって選択される発生回数を示す１つ以上の統計値を決定することができ、及び、それらの統計値に少なくとも部分的に基づいて、モード選択ユニット４３は、イントラ予測モードの第１の組に含まれるモードを選択することができる。
【００６６】
［００７２］モード選択ユニット４３は、幾つかの例においては、映像データ、例えば、ＬＣＵ、ＣＵ、スライス、ピクチャ、シーケンス、等、の個別の数量に関するイントラ予測モードの第１の組を決定することができる。幾つかの例においては、モード選択ユニット４３は、映像データ、例えば、ＬＣＵ、ＣＵ、スライス、ピクチャ、シーケンス、等、の個別の数量にわたって変化する予め定義されたイントラ予測モードの異なる第１の組を決定することができる。例えば、モード選択ユニット４３は、異なる、各々のＬＣＵに関して予め定義されたイントラ予測モードの異なる第１の組を選択することができる。他の例として、モード選択ユニット４３は、異なる、各々のスライス、ピクチャ、シーケンス、等に関して予め定義されたイントラ予測モードの異なる第１の組を選択することができる。
【００６７】
［００７３］モード選択ユニット４３は、イントラ予測モードの第１の予め定義された組に加えて現在のブロックに関するイントラ予測モードの第２の組を決定することもできる。モードの第２の組は、予め定義することができない。その代わりに、モード選択ユニット４３は、１つ以上の選択技法により第２の組を決定することができる。例えば、モード選択ユニット４３は、モード選択ユニット４３が１つ以上のモードをランダムに選択するランダム選択技法を実装することができる。幾つかの例においては、モード選択ユニット４３によってランダムに選択されるモードの数は、スレショルド値よりも小さいことができる。その他の例においては、モード選択ユニット４３によってランダムに選択されるモードの数は、スレショルド値よりも大きいことができる。
【００６８】
［００７４］選択技法のその他の例においては、モード選択ユニット４３は、１つ以上のモードを選択するためのサンプリング技法を実装することができる。例えば、モード選択ユニット４３は、現在のブロックの近隣ブロックである１つ以上のサンプルブロックをサンプリングすることができる。現在のブロックの近隣ブロックであるサンプルブロックに関連するモードに基づいて、モード選択ユニット４３は、現在のブロックに関する１つ以上のモードを選択することができる。近隣ブロックは、現在のブロックを含むピクチャ内で現在のブロックに隣接するブロックであることができる。幾つかの例においては、近隣ブロックは、現在のブロックと同じ水平上、垂直上及び／又は対角上の次元における前の隣接するブロックであることができる。その他の例においては、近隣ブロックは、ラスター順序で現在のブロックの前のブロックであることができる。いずれの場合も、１つ以上のサンプルブロックに関するモードを決定した時点で、モード選択ユニット４３は、スレショルド値よりも大きい発生数を有するモード選択ユニット４３によって選択されるサンプルブロックの１つ以上のモードを決定することができる。幾つかの例においては、サンプルブロックに基づいてモード選択ユニット４３によって選択されるモード数は、スレショルド値よりも小さいことができる。幾つかの例においては、統計値に基づいてモード選択ユニット４３によって選択されるモードの数量は、スレショルド値よりも大きいことができる。その他の例においては、統計値に基づいてモード選択ユニット４３によって選択されるモードの数量は、スレショルド値よりも小さいことができる。
【００６９】
［００７５］選択技法のその他の例においては、モード選択ユニット４３は、前に符号化されたイントラ予測されたピクチャに基づいて１つ以上のモードを選択するためのサンプリング技法を実装することができる。例えば、モード選択ユニット４３は、前に符号化されたイントラ予測されたピクチャ、すなわち、現在のブロックを含むピクチャよりも小さい表示順序及び復号順序を有するイントラ予測されたピクチャ、においてモード選択ユニット４３によって選択されたモードに関する統計値を生成することができる。例えば、モード選択ユニット４３は、１つ以上のイントラ予測モードに対応する１つ以上のカウンタを含むことができる。モード選択ユニット４３は、ピクチャのブロックをイントラ予測するために選択されたときに各々のモードのカウンタを増分することができる。幾つかの例においては、統計値に基づいて、モード選択ユニット４３は、予測モードの第２の組内に含めるための１つ以上のモードを選択することができる。例えば、モード選択ユニット４３は、スレショルド値よりも大きい値を有する対応するカウンタを有する１つ以上のモードを選択することができる。幾つかの例においては、統計値に基づいてモード選択ユニット４３によって選択されるモードの数は、スレショルド値よりも小さいことができる。幾つかの例においては、統計値に基づいてモード選択ユニット４３によって選択されるモードの数は、スレショルド値よりも大きいことができる。その他の例においては、統計値に基づいてモード選択ユニット４３によって選択されるモードの数量は、スレショルド値よりも小さいことができる。
【００７０】
［００７６］予め定義された予測モードの第１の組及び決定された予測モードの第２の組の各々におけるモード数は、幾つかの例においては同じであることができる。その他の例においては、予め定義された予測モードの第１の組内のモード数は、決定された予測モードの第２の組内のモード数と異なることができる。例えば、予め定義された予測モードの第１の組内のモード数は、決定された予測モードの第２の組内のモード数よりも少ないことができる。その他の例においては、予め定義された予測モードの第１の組内のモード数は、決定された予測モードの第２の組内のモード数よりも多いことができる。幾つかの例においては、イントラ予測モードの第２の組は、現在のブロックを符号化するために使用することが可能な予測モードの総数よりも少ないイントラ予測モードを含むことができる。イントラ予測モードの第１の組は、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。
【００７１】
［００７７］上述されるように、モード選択ユニット４３は、従って、予め定義されるイントラ予測モードの第１の組、及び、１つ以上の選択技法に基づくイントラ予測モードの第２の組を決定することができる。総じて、イントラ予測モードの第１の組及び第２の組は、すべての可能性のある予測モードの部分組を備えることができる。幾つかの例においては、モード選択ユニット４３は、イントラ予測モードの第１の組に含まれる各イントラ予測モード及びイントラ予測モードの第２の組に含まれる各イントラ予測モードに関する近似コストを計算することができる。その他の例においては、モード選択ユニット４３は、各々の可能性のあるイントラ予測モードに関する近似コストを計算すること及びイントラ予測モードの第２の組内にイントラ予測モードの部分組を格納することができる。モード選択ユニット４３は、上述される１つ以上の歪み測定技法例、例えば、二乗歪み和（ＳＳＤ）、差分絶対値和（ＳＡＤ）、及び絶対変換差和（ＳＡＴＤ）、を用いて近似コストを計算することができる。近似コストは、イントラ予測モードの第１及び／又は第２の組に含まれるイントラ予測モードのうちの対応する１つを用いて映像データの現在のブロックを符号化するレート歪みコストの近似値である。
【００７２】
［００７８］各イントラ予測モードに関する近似コストを決定した時点で、モード選択ユニット４３は、イントラ予測モードの第１の組において識別された各イントラ予測モード及びイントラ予測モードの第２の組において識別されたイントラ予測モードの一部又は全部に関する近似コストをメモリに格納することができる。その他の例においては、モード選択ユニット４３は、イントラ予測モードの第１の組において識別されたイントラ予測モードのうち１つ以上及び／又はイントラ予測モードの第２の組において識別されたイントラ予測モードのうちの１つ以上に関する近似コストの部分組を格納することができる。モード選択ユニット４３が近似コストを格納することができるメモリは、オンチップメモリであることができる。すなわち、オンチップメモリ（例えば、レジスタ、オンチップキャッシュ、等）は、映像符号器２０の一部分又は全体を実装するマイクロプロセッサ内に含めること又はマイクロプロセッサと一体化することができる。その他の例においては、モード選択ユニット４３が近似コストを格納することができるメモリは、オフチップメモリであることができる。オフチップメモリは、例えば、マイクロプロセッサが外部のメモリインタフェースを介してアクセスするダイナミックランダムアクセスメモリ（ＤＲＡＭ）を含むことができる。いずれの場合も、並列映像符号器のすべてのイントラ予測モードの部分組に関する近似コストを格納することのみによって、モード選択ユニット４３は、オンチップメモリに関する要求を軽減させることができ、及びそれによって映像符号器の生産に関するコストの節約を提供することができる
［００７９］モード選択ユニット４３は、モード選択ユニット４３が近似コストを生成している対象であるイントラ予測モードの第１の組及び／又は第２の組からモードを選択することができる。例えば、モード選択ユニット４３は、最低の近似コストに関連するモードを選択することができる。その他の例においては、モード選択ユニット４３は、第１の組及び第２の組に含まれている１つ以上のモードの直近に使用された組を決定することができる。モード選択ユニット４３は、１つ以上のモードの直近に使用された組内の最低の近似コストに関連するモードを選択することができる。直近に使用された組内に含まれているモードは、モード選択ユニット４３による直近の選択の前数内で選択されたモードであることができる。１つ以上のモードの直近に使用された組は、第１及び第２の組内に含まれているすべてのモードの部分組であることができる。１つ以上のモードの近似コストに基づいて現在のブロックをコーディングするためのモードを選択した時点で、モード選択ユニット４３は、選択されたモードを用いて現在のブロックを符号化するためにイントラ予測ユニット４６にデータを送信することができる。幾つかの例においては、本開示の技法は、映像符号器２０によって平行して実行することができる。すなわち、映像符号器２０は、現在のブロックを符号化するためにイントラ予測を行うことと同時並行して現在のブロックに隣接する映像データの１つ以上の近隣ブロックに関してイントラ予測又はインター予測のいずれかを行うことができる。
【００７３】
［００８０］イントラ予測ユニット４６は、イントラ予測モードの第１の組又はイントラ予測モードの第２の組によって識別されたイントラ予測モードのうちの１つ、すなわち、現在のブロックに関するモード選択ユニット４３によって選択されたモード、に従って現在のブロックを符号化するためのイントラ予測を行うことができる。このように、イントラ予測４６は、イントラ予測モードの第１の組及びイントラ予測モードの第２の組において識別された各イントラ予測モードに関して計算された近似コストに基づいて現在のブロックを符号化することができる。モード選択ユニット４３によって示された選択されたモードを使用することによって、イントラ予測ユニット４６は、現在のブロックを符号化するための予測ブロックを決定することができる。例えば、予測モードは、イントラ予測モードが予測ブロックを選択するためにいずれのブロック又はブロックのグループを評価するかを示すことができる。
【００７４】
［００８１］イントラ予測ユニット４６が現在の映像ブロックに関する予測ブロックを決定した後は、加算器５０は、現在の映像ブロックから予測ブロックを減じることによって残差映像ブロックを形成することができる。残差ブロック内の残差映像データは、１つ以上のＴＵに含めることができ及び変換処理ユニット５２に適用することができる。変換処理ユニット５２は、変換、例えば、離散コサイン変換（ＤＣＴ）又は概念的に類似の変換、を用いて残差映像データを残差変換係数に変換する。変換処理ユニット５２は、残差映像データをピクセル領域から変換領域、例えば、周波数領域、に変換することができる。
【００７５】
［００８２］変換処理ユニット５２は、結果的に得られた変換係数を量子化ユニット５４に送信することができる。量子化ユニット５４は、ビットレートをさらに低下させるために変換係数を量子化する。量子化プロセスは、それらの係数の一部又は全部に関連するビット深度を小さくすることができる。量子化度は、量子化パラメータを調整することによって変更することができる。幾つかの例においては、量子化ユニット５４は、量子化された変換係数を含む行列の走査を行うことができる。代替として、エントロピー符号化ユニット５６は、その走査を行うことができる。
【００７６】
［００８３］量子化に引き続き、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピーコーディングする。例えば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、構文に基づくコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔分割エントロピー（ＰＩＰＥ）コーディング、又はその他のエントロピーコーディング方法又は技法を実行することができる。エントロピーエントロピー符号化ユニット５６は、コーディング中の現在の映像スライスに関する動きベクトル及びその他の構文要素をエントロピー符号化することもできる。エントロピー符号化ユニット５６によるエントロピーコーディングに引き続き、符号化されたビットストリームは、映像復号器３０に送信すること、又は、映像復号器３０によるのちの送信又は取り出しのためにアーカイブに保存することができる。
【００７７】
［００８４］エントロピーコーディングユニット５６は、本開示の技法により選択されたイントラ予測モードを示す情報を符号化することができる。映像符号器２０は、１つ以上のイントラ予測モードインデックステーブルと複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）、様々なブロックに関するコンテキストを符号化することの定義、符号化された映像データ、等を送信されるビットストリーム構成データ内に含めることができる。映像符号器２０が送信されるビットストリーム内に含めることができる。映像符号器２０が送信されるビットストリーム内に含めることができるこれらのタイプの情報は、典型的であり、その他の数多くのタイプの情報もビットストリームに含めることができる。
【００７８】
［００８５］逆量子化ユニット５８及び逆変換処理ユニット６０は、基準ピクチャの基準ブロックとしてののちの使用のためにピクセル領域において残差ブロックを再構築するために逆量子化及び逆変換をそれぞれ適用する。動き補償ユニット４４は、基準ピクチャリストのうちの１つ内の基準ピクチャのうちの１つの予測ブロックに残差ブロックを加えることによって基準ブロックを計算することができる。動き補償ユニット４４は、動き推定における使用のために整数未満のピクセル値を計算するために１つ以上の内挿フィルタを再構築された残差ブロックに適用することもできる。加算器６２は、基準ピクチャメモリ６４内での格納のために基準ブロックを生成するために動き補償ユニット４４によって生成された動き補償された予測ブロックに再構築された残差ブロックを加える。基準ブロックは、後続する映像フレーム又はピクチャにおいてブロックをインターコーディングするための基準ブロックとして動き推定ユニット４２及び動き補償ユニット４４によって使用することができる。
【００７９】
［００８６］図３は、本開示において説明される技法を実装することができる映像復号器例３０を示したブロック図である。図３の例においては、映像復号器３０は、エントロピー復号ユニット７０と、予測ユニット７３と、逆量子化ユニット７６と、逆変換処理ユニット７８と、加算器８０と、基準ピクチャメモリ８２と、を含む。予測ユニット７３は、動き補償ユニット７２と、イントラ予測ユニット７４と、を含む。映像復号器３０は、幾つかの例では、図２からの映像符号器２０に関して説明された符号化パスと概して相互的な復号パスを行う。
【００８０】
［００８７］復号プロセス中には、映像復号器３０は、符号化された映像スライスの映像ブロックを表す符号化された映像ビットストリーム及び関連付けられた構文要素を映像符号器２０から受信する。符号化されたビットストリームは、とりわけ、ブロックに対応し及び本開示の技法による図２に関して前述されるようにモード選択ユニット４３によって選択された予測モードを含むことができる。映像復号器３０のエントロピー復号ユニット７０は、量子化された係数、動きベクトル、及びその他の構文要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトル及びその他の構文要素を動き補償ユニット７２に転送することができる。映像復号器３０は、映像スライスレベル及び／又は映像ブロックレベルで構文要素を受信することができる。
【００８１】
［００８８］映像スライスがイントラコーディングされた（Ｉ）スライスとしてコーディングされるときには、予測ユニット７３のイントラ予測ユニット７４は、シグナリングされたイントラ予測モード及び現在のフレーム又はピクチャの以前に復号されたブロックからのデータに基づいて現在の映像スライスの映像ブロックに関する予測データを生成することができる。イントラ予測ユニット７４は、現在のブロックに関するイントラ予測モードに対応するインデックスに基づいて映像データの現在のブロックを復号するための該当するイントラ予測モードを決定することができる。イントラ予測モードは、図２に関して前述されるようにモード選択ユニット４３によって予め選択しておくことができ、インデックスは、映像符号器２０によって映像復号器３０に送信される符号化されたビットストリーム内に含めておくことができる。イントラ予測ユニット７４は、インデックスに対応するイントラ予測モードに基づいて予測ブロックを選択することができる。加算器８０は、復号された現在のブロックを生成するために逆変換処理ユニット７８からの予測ブロックデータ及び残差ブロックデータを加えることができる。メモリ８２は、復号された現在のブロックを格納することができ、それは、表示装置によって後続して出力すること又は他のコンピューティングデバイスに送信することができる。
【００８２】
［００８９］上記のように、本開示の態様は、概して、イントラコーディングに関するものである。従って、本開示の幾つかの技法は、イントラ予測ユニット７４によって実行することができる。すなわち、例えば、イントラ予測ユニット７４は、以下の図４Ａ乃至８に関して説明される本開示の技法を実行することができる。その他の例においては、映像復号器３０の１つ以上のその他のユニットは、さらに加えて又は代替として、本開示の技法を実行することを担当することができる。
【００８３】
［００９０］映像ピクチャがインターコーディングされた（すなわち、Ｂ、Ｐ又はＧＰＢ）スライスとしてコーディングされるときには、予測ユニット７３の動き補償ユニット７２は、動きベクトル及びエントロピー復号ユニット７０から受信されたその他の構文要素に基づいて現在の映像スライスの映像ブロックに関する予測ブロックを生成する。予測ブロックは、基準ピクチャリストのうちの１つ内の基準ピクチャのうちの１つから生成することができる。映像復号器３０は、基準ピクチャメモリ８２に格納された基準ピクチャに基づいてデフォルト構築技法を用いて基準フレームリスト、リスト０及びリスト１、を構築することができる。
【００８４】
［００９１］動き補償ユニット７２は、動きベクトル及びその他の構文要素を構文解析することによって現在の映像スライスの映像ブロックに関する予測情報を決定し、復号中の現在の映像ブロックに関する予測ブロックを生成するために予測情報を使用する。例えば、動き補償ユニット７２は、映像スライス、インター予測スライスタイプ（例えば、Ｂスライス、Ｐスライス、又はＧＰＢスライス）、スライスに関する基準ピクチャリストのうちの１つ以上に関する構築情報、スライスの各インター符号化された映像ブロックに関する動きベクトル、スライスの各インターコーディングされた映像ブロックに関する動きベクトル、スライスの各インター符号化された映像ブロックに関するインター予測状態、及び現在の映像スライス内の映像ブロックを復号するためのその他の情報、の映像ブロックをコーディングするために使用される予測モード（例えば、イントラ又はインター予測）を決定するために受信された構文要素の一部を使用する。
【００８５】
［００９２］動き補償ユニット７２は、内挿フィルタに基づいて内挿を行うこともできる。動き補償ユニット７２は、基準ブロックの整数未満のピクセルに関する内挿値を計算するために映像ブロックの符号化中に映像符号器２０によって使用される内挿フィルタを使用することができる。この場合は、動き補償ユニット７２は、受信された構文要素から映像符号器２０によって使用される内挿フィルタを決定すること及び予測ブロックを生成するために内挿フィルタを使用することができる。
【００８６】
［００９３］逆量子化ユニット７６は、ビットストリーム内で提供され、エントロピー復号ユニット７０によって復号された量子化された変換係数を逆量子化する、すなわち、量子化解除する。逆量子化プロセスは、量子化度、そして同様に、適用されるべき逆量子化度、を決定するために映像スライス内の各映像ブロックに関して映像符号器２０によって計算された量子化パラメータを使用することを含むことができる。逆変換処理ユニット７８は、ピクセル領域において残差ブロックを生成するために逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念的に類似する逆変換プロセスを変換係数に適用する。
【００８７】
［００９４］動き補償ユニット７２が動きベクトル及びその他の構文要素に基づいて現在の映像ブロックに関する予測ブロックを生成した後は、映像復号器３０は、逆変換処理ユニット７８からの残差ブロックを、動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって復号された映像ブロックを形成する。加算器８０は、この加算動作を行うコンポーネント又はコンポーネント（複数）を表す。希望される場合は、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタリングするためにデブロッキングフィルタを適用することもできる。ピクセル遷移を平滑化するか、又は映像品質を向上するために（コーディングループ内又はコーディングループ後の）その他のループフィルタを使用することもできる。所定のフレーム又はピクチャ内の復号された映像ブロックは、基準ピクチャメモリ９２に格納され、それは、後続する動き補償のために使用される基準ピクチャを格納する。基準ピクチャメモリ８２は、表示装置、例えば、図１の表示装置３２、でののちの提示のために復号された映像も格納する。
【００８８】
［００９５］図４Ａは、本開示において説明される技法による、映像コーダが選択することができるイントラ予測モードの概念上の表現を例示したブロック図である。映像コーディング規格、例えば、Ｈ．２６４／ＡＶＣ、ＭＰＥＧ２、及びＨＥＶＣ、は、ブロックに基づくハイブリッド映像コーディングフレームワークを使用する。該フレームワークでは、ピクチャは、異なるサイズのブロックに分割され、それらは、ＨＥＶＣでは、ＣＵ（コーディングユニット）と呼ばれる。前述されるように、各ＣＵは、予測（ＰＵ）又は変換（ＴＵ）のためにより小さいブロックに分割することができる。各ＰＵは、イントラモードの場合は現在のスライス内において又はインターモードの場合は時間的に近隣のスライスから予測することができる。予測誤差は、図１乃至３において示されるように、可変長コーディング技法を用いて変換、量子化及びコーディングされる。
【００８９】
［００９６］映像データ内では、長方形エリア内のサンプルとそのエリアに隣接するサンプルとの間には相対的に高い相関関係が存在することができる。幾つかの例においては、ＨＥＶＣ、等の映像コーディング技法は、隣接する、前にコーディングされたＰＵ内のサンプルから現在のＰＵを予測するためにイントラ予測を使用する。ＨＥＶＣでは、イントラ予測は、異なるＰＵに関して３５のモードを提供する。それらの３５のモードは、プレナーモード（ｐｌａｎａｒ  ｍｏｄｅ）（モード０）、ＤＣモード（モード１）及び角度±［０，２，５，９，１３，１７，２１，２６，３２］／３２の３３の予測方向に対応する３３の角（ａｎｇｕｌａｒ）予測モードを含む。
【００９０】
［００９７］図４Ａは、ＨＥＶＣにおいて定義されるすべてのモードに関する３５の角予測方向を例示する。プレナーモード（“モード０”又は“０”で表される）では、映像符号器２０は、現在のブロックの左カラムに隣接するカラム内のピクセル値から現在のブロックに関するピクセル値を予測することができる。ＤＣモード（“モード１”又は“１”で表される）では、映像符号器２０は、現在のブロックの最上ローの上方のロー内のピクセルの値及び現在のブロックの左端のカラムに隣接するカラム内のピクセルの値の和の平均から予測ブロックを計算することができる。角予測モードでは、映像符号器２０は、典型的には現在のブロックの最上ローの上方のローからのピクセル値又は現在のブロックの左端のカラムに隣接するカラムのピクセル値から（上においてイントラ予測モード２乃至３４として示される）ある所定の角度に沿ってピクセルを予測することができる。
【００９１】
［００９８］幾つかの実装においては、映像符号器は、従属する近隣ブロックのうちの一部に関して予測モードが決定される前でも現在のブロックに関する異なるイントラ予測モードに関連するレート歪み値が利用可能であることを要求することができる。この要求は、実装の複雑さ（又はコスト）とコーディング性能、例えば、コーディング効率、スループット、等との間での設計上のトレードオフに起因して必要になることがある。例えば、映像符号器は、イントラモードコスト及びインターモードコストをそれぞれ検査する際に幾つかのブロック、例えば、ＬＣＵ内のすべての可能性のあるブロック、を平行して取り扱わなければならないことがある。この場合は、それらのブロック間での現在のブロックに関して、映像符号器は、従属する近隣ブロックの予測モード、例えば、イントラ又はインター、を決定することができる前に異なるイントラ予測モードを用いて現在のブロックの歪み値を計算することが必要になることがある。
【００９２】
［００９９］該実装においては、現在のブロックに関する、ビット数の点でのイントラ予測モードのシグナリングコストは、その時に決定されない近隣ブロックの予測モードに依存するため入手することができない。その結果、歪みのレートは、現在のブロックに関しても利用できないことがある。映像符号器は、ＬＣＵ内の各ブロックに関する各イントラ予測モードに関するすべての歪み値を格納することができる。映像符号器が従属する近隣ブロックの予測モードを決定するのちの段階において、映像符号器は、各イントラ予測モードに関連する現在のブロックに関する歪み値レートをその場で決定することができ及び取り出された関連する歪み値を用いてコストを計算することができる。該方式は、各ブロックに関するすべての可能性のあるイントラ予測モードに関してラグランジュ乗数を用いたコスト評価を可能にする一方で、１つのＬＣＵ内のすべての可能性のあるブロックに関するすべての歪み値を保持するために要求される記憶量が大きくなる可能性がある。例えば、ＬＣＵサイズが３２×３２であると仮定し、及び、各歪み値を格納するために３２ビット及び各モードインデックスに６ビットを要すると仮定し、ＬＣＵ内のすべての可能性のあるブロックに関する各イントラ予測モードのために必要な記憶量が表１に示される。
【表１】
0006054552.tif 000004
【００９３】
［０１００］表１に示される３２３０ビットのうちで、２７２０ビットは、歪み尺度値、５１０ビットはモードインデックス値を格納するために使用される。図１に示されるすべての３５モードがＬＣＵ内の各ＰＵ（又はブロック）に関して格納される場合は、歪み尺度値を格納するために合計２７２０＊３５＝９５２００ビットが必要である。該記憶サイズは、実際にはコスト高になる可能性がある。図４Ｂにおいてさらに説明されるように、映像符号器は、イントラ予測コーディング中に３５のイントラ予測モードの各々に関する近似コストを計算するのを回避することができ、その代わりに、１つ以上の“最も可能性が高い”イントラ予測モードを識別することができる。しかしながら、幾つかの実装においては、映像符号器は、幾つかのブロックに関するイントラ予測を平行して行うことができ、それは、映像符号器がこれらの最も可能性が高いモードを決定するのを可能にしない。
【００９４】
［０１０１］本開示の技法により、各々の可能性のある予測モードに関する近似コスト値を決定するのではなく、映像符号器２０は、すべての可能性のある予測モードの部分組に関する近似コスト値を決定することができる。すなわち、映像符号器２０は、選択されたモードに関する近似の歪みレートを表す対応する近似コスト値に基づいてモードを選択することができる。各々の可能性のある予測モードに関する近似コスト値を決定するではなく、映像符号器２０は、すべての可能性のある予測モードの部分組に関する近似コスト値を決定することができる。例えば、映像符号器２０は、図２において説明される１つ以上の選択技法に基づいて、予め定義された予測モードの第１の組、及び追加で、予測モードの第２の組を決定することができる。総じて、第１及び第２の組は、すべての可能性のある予測モードの部分組を備える。映像符号器２０は、所定のブロックをコーディングするときにのちに使用するために部分組の１つ以上のモードに対応する近似コスト値を格納することができる。部分組内の予測モードの近似コスト値に基づいて、映像符号器２０は、引き続いて、所定のブロックをコーディングするための予測モードを選択する。第１の組及び第２の組の両方において指定される予測モードの総数は、すべての可能性のある予測モードの総数よりも少ないため、これらの近似コスト値を格納するために映像符号器２３によって要求されるオンチップメモリの量は、すべての可能性のある予測モードに関する近似コスト値を計算するよりも小さいことができる。
【００９５】
［０１０２］図４Ｂは、本開示において説明される技法による、イントラ予測コーディングされるべき現在のブロック及び近隣ブロックの概念的表現を例示したブロック図である。図４Ｂは、イントラコーディング中に考慮することができる、現在のコーディングユニット（“現在のＣＵ”）と呼ぶことができる現在のブロック１００及び２つの近隣ブロック、ブロック１０２（“ブロックＡ”）及びブロック１０４（“ブロックＢ”）、の例を示す。例えば、映像符号器は、（現在のブロックの左に位置する）近隣ブロック１０２及び（現在のブロックの上方に位置する）近隣ブロック１０４をコーディングするために使用されるイントラ予測モードを現在のブロックの最も可能性が高いイントラモードとみなすことができる。
【００９６】
［０１０３］図２及び４Ａにおいて前述されるように、映像符号器は、フルレート−歪みコストを計算するのではなく、レート−歪みコストの近似値を求めることができる近似コストを計算することができる。可能性のあるイントラ予測モードの各々に関する近似コストを計算する代わりに、映像符号器は、イントラ予測コーディング中に１つ以上のいわゆる“最も可能性が高い”イントラ予測モードを識別することができる。最も可能性が高いモードを識別するために、映像符号器は、（現在のブロックに隣接する近隣ブロックでしばしばある）前に符号化されたブロックのイントラ予測モードを識別することができる。これらのいわゆる近隣ブロックのイントラモードは、現在のブロックに対する近隣ブロックの空間的な近接性に起因して現在のブロックと同じである又は類似する確率が相対的に高いことができる。映像符号器は、近似コストの計算数を、これらの最も可能性が高いモード又はこれらの最も可能性が高いモード及びイントラ予測を行うときにその他のモードと比較して使用される可能性が統計的により高いその他の可能性のあるモード（例えば、プレナー（ｐｌａｎａｒ）モード及びＤＣモード）のみに減らすことができる。
【００９７】
［０１０４］しかしながら、幾つかの実装においては、映像符号器は、幾つかのブロックに関するイントラ予測を平行して行うことができ、それは、映像符号器がこれらの最も可能性が高いモードを決定するのを可能にしない。例えば、映像符号器は、幾つかの異なるサイズのコーディングユニットに分割することができる最大のコーディングユニット（ＬＣＵ）に関するイントラ予測を行うことができる。これらのＣＵのうちの各々が同時並行してイントラ予測又はインター予測中である場合は、映像符号器は、現在のブロックに関する最も可能性が高いモードを決定するためにそれらを使用することができない。例示を目的として、映像符号器は、現在のブロック１００に関するイントラ予測を行う一方で、図４Ｂに示される近隣ブロック１０２及び１０４の両方をイントラ予測していることができる。映像符号器がブロック１０２及び１０４のイントラ予測を完了していないことを考慮した場合、映像符号器は、ブロック１０２及び１０４を符号化するために使用されるイントラ予測モードをまだ知らず、従って、現在のブロック１００に関してイントラ予測を行うことを試みるときに最も可能性が高いモードを決定することができる。
【００９８】
［０１０５］イントラ予測を行うときに最も可能性が高いモードを利用することができない結果として、映像符号器は、ＬＣＵ内の各ＣＵに関して各イントラ予測モードに関する近似コストを計算するのを試みることができる。映像符号器は、３２ビット近似コストがいずれのモードに対応するかを示すために６ビットを用いて、これらの近似コストを例えば３２ビット値として格納することができる。映像符号器が近隣ブロック１０２及び１０４の符号化を完了させた時点で、映像符号器は、様々なモードのうちのいずれがより複雑なレート歪み解析を用いてより完全に試験されるべきであるかを識別するために現在のブロックに関して計算された近似コストを用いて、現在のブロック１００に関する最も可能性が高いモードを識別することができる。
【００９９】
［０１０６］上記のプロセスは、（映像符号器が幾つかのブロックに関するイントラ予測及びインター予測を同時並行して行うという意味で）非常に並列的である映像コーダがフルレート歪み解析を用いて解析される予測ブロックの数を減少させることによってイントラ予測をより効率的に行うのを可能にすることができる一方で、このプロセスは、結果的には、近似コストを格納するために要求されるメモリに起因してコストが高い映像符号器になってしまうおそれがある。
【０１００】
［０１０７］本開示において説明される技法により、並列映像符号器、例えば、幾つかの例における映像符号器２０、（現在のブロック１００を符号化するのと同時並行して近隣ブロック１０２及び１０４を符号化する映像符号器を意味する）、は、図４Ａにおいて例示されるように、合計３５のイントラ予測モードの部分組のみに関する近似コストを格納することができ、それによって、オンチップメモリに関する要求を軽減させること及び映像符号器の生産に関するコストの節約を提供することができる。動作上は、映像符号器２０は、現在のブロック１００に関するイントラ予測モードの第１の予め定義された組を決定することができる。第１の予め定義された組内のイントラ予測モードのこの数は、現在のブロックを符号化するために映像符号器２０によって使用することが可能なイントラ予測モードの総数（例えば、図４Ａにおいて示される３５のイントラ予測モード）よりも少ない。しばしばであるが、イントラ予測モードのこの第１の予め定義された組は、イントラ予測モードのうちの残りのそれら（例えば、モード０、１及び２６）よりも頻繁に生じるとして統計的に識別されている１つ、２つ又は３つのイントラ予測モードを備える。
【０１０１】
［０１０８］映像符号器２０は、イントラ予測モードの第１の予め定義された組に加えて現在のブロック１００に関するイントラ予測モードの第２の組を決定することもできる。繰り返すと、イントラ予測モードのこの第２の組は、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数以下のイントラ予測モード数を含むことができる。モードの第２の組は、予め定義することができない。換言すると、図２において前述されるように、イントラ予測モードの第１の予め定義された組は、設定することができ（ただし、特定のモードリストは、ＬＣＵ、スライス、ピクチャ、シーケンス、等の間で変化することができる）、他方、第２の組は、サンプリング、又はその他のプロセスによって、導き出されるか又はランダムに決定される。
【０１０２】
［０１０９］映像符号器２０は、イントラ予測モードの第１の予め定義された組内で識別された各イントラ予測モード及びイントラ予測モードの第２の組内で識別された各イントラ予測モードに関する近似コストを計算することができる。映像符号器２０は、イントラ予測モードの第１の予め定義された組内で識別された各イントラ予測モード及びイントラ予測モードの第２の組内で識別されたイントラ予測モードの一部に関する近似コストをメモリに格納することができる。第１の予め定義された組内で指定されたイントラ予測モード及び第２の組内で選択されたそれらの総数（すなわち、和）は、現在のブロック１００を符号化するために使用可能なイントラ予測モードの総数よりも少ないことを考慮した場合、映像符号器２０は、これらの近似コストを格納するために要求されるオンチップメモリの量を低減させることができる。
【０１０３】
［０１１０］図５は、本開示の技法による、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小する態様を行う際の映像コーダ、例えば、図２に示される映像符号器２０、の典型的な動作を例示したフローチャートである。幾つかの例においては、映像符号器２０は、各ＰＵに関して、Ｍの予め定義されたイントラ予測モードに関連する歪み尺度を格納することができる。幾つかの例においては、映像符号器２０は、映像符号器２０によって決定された及び／又は格納された歪み尺度を有するすべての可能性のある残りのモードからＮのモードをさらに選択することができる。このように、映像符号器２０は、合計Ｍ＋Ｎのモードをすべての可能性のあるモードの部分組として格納することができる。一例として、映像符号器２０は、Ｍをモード１に設定することができ、それは、プレナーモードとして固定される。映像符号器２０は、Ｎをモード２又はモード３のいずれかに設定することができる。映像符号器２０は、利用可能なレート情報に基づいてラグランジュ乗数を用いて部分組から“最良の”モードを選択することができる。例えば、映像符号器２０は、最低の近似コストを有するモードとして部分組から“最良の”モードを選択することができる。今度は、これらの技法例をさらに示すために図５のフローチャートが参照される。
【０１０４】
［０１１１］最初に、映像符号器２０を最初に参照し、予測ユニット４１は、映像データの１つ以上の映像ブロックを符号化のために受信することができる。コーディングされるべき現在のブロックを決定したことに応答して、モード選択ユニット４３は、上述されるように、符号化されるべき映像データの現在のブロックに関するイントラ予測モードの第１の組を決定することができる（１２０）。幾つかの例においては、イントラ予測モードの第１の組は、イントラ予測モードの予め定義されたグループを含む。イントラ予測モード（例えば、モード０、１及び２６）の予め定義されたグループは、イントラ予測モードのうちの残りのそれらよりも頻繁に生じるとして統計的に識別されているイントラ予測モードを含むことができる。幾つかの例においては、イントラ予測モードの第１の組は、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む。
【０１０５】
［０１１２］モード選択ユニット４３は、次に、イントラ予測モードの第１の予め定義された組に加えて現在のブロックに関するイントラ予測モードの第２の組を決定することができる（１２２）。図２において示されるように、モード選択ユニット４３は、１つ以上のイントラ予測モードを選択するために、１つ以上の選択技法、例えば、ランダム選択、サンプリング選択、等、を実装することができる。イントラ予測モードの第２の組は、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。さらに、第１の組及び第２の組の両方は、合計して、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。
【０１０６】
［０１１３］幾つかの例においては、モード選択ユニット４３は、イントラ予測モードの第１の組に含まれる各イントラ予測モード及びイントラ予測モードの第２の組に含まれる各イントラ予測モードに関する近似コストを計算する（１２４）。図２において示されるように、近似コストは、イントラ予測モードのうちの対応する１つを用いて映像データの現在のブロックを符号化するレート歪みコストの近似値であることができる。モード選択ユニット４３は、１つ以上の歪み尺度例、例えば、二乗歪み和（ＳＳＤ）、差分絶対値和（ＳＡＤ）、及び絶対変換差和（ＳＡＴＤ）、を用いて、１つ以上のコスト近似技法例を実装することができる。
【０１０７】
［０１１４］モード選択ユニット４３は、イントラ予測モードの第１の組において識別された各イントラ予測モードに関する及びイントラ予測モードの第２の組において識別されたイントラ予測モードの一部又は全部に関する近似コストをメモリに格納することができる（１２６）。メモリは、映像符号器２０を実装するマイクロプロセッサ内に含められる又はマイクロプロセッサと一体化されるオンチップメモリ（例えば、レジスタ、オンチップキャッシュ、等）内に存在することができる。従って、第１及び第２の組に含まれるイントラ予測モードに関する近似コストは、のちの使用のために映像符号器２０によって取り出すことができる。
【０１０８】
［０１１５］モード選択ユニット４３は、イントラ予測モードの第１の組及び／又は第２の組からモードを選択することができ、それは、イントラ予測ユニット４６が現在のブロックをイントラコーディングするために使用することができる（１２８）。例えば、モード選択ユニット４３は、最低の近似コストに関連する最良のモードを第１及び第２の組から選択することができる。そのモードを選択した時点で、モード選択ユニット４３は、選択されたモードを指定するデータをイントラ予測ユニット４６に送信することができる。
【０１０９】
［０１１６］図２の例においてさらに説明されるように、イントラ予測ユニット４６は、モード選択ユニット４３から受信されたモードを用いて、選択されたモードに従って現在のブロックを符号化するためにイントラ予測を行うことができる（１３０）。このように、イントラ予測は、最良のモードがモード選択ユニット４３によって選択されたイントラ予測モードの第１の組及びイントラ予測モードの第２の組において識別された各イントラ予測モードに関して計算された近似コストに基づく。
【０１１０】
［０１１７］図６は、本開示の技法による、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小する態様を行う際の映像コーダ、例えば、図２に示される映像符号器、の典型的な動作を例示したフローチャートである。幾つかの例においては、映像符号器２０は、各ＰＵに関して、Ｍの予め定義されたイントラ予測モードに関連する歪み尺度、例えば、近似コスト、を格納することができる。幾つかの例においては、映像符号器２０は、ここにおいて説明される１つ以上の選択技法を用いて、部分組を形成するために歪み尺度に基づいて残りの可能性のあるモードの中からＮのモードを選択することができる。映像符号器２０は、これらのＮのモードの歪み尺度をＭの予め定義されたモードの重みが付けられた歪み尺度と比較することができる。重み付け係数は、１よりも小さく、０よりも大きいことができ、その場合は、所定の予め定義されたモードの歪み尺度とそれらのＮのモードの各々の歪み尺度との間の差分がスレショルド値よりも小さい場合は（すなわち、所定の予め定義されたモードの歪み尺度がＮのモードのそれらの歪み尺度よりもはるかに大きすぎる）、映像符号器２０は、所定の予め定義されたモードを選択し、映像符号器２０が現在のブロックをイントラ予測するための最良のモードをのちに選択するモードの結合された部分組内にそれを加えることができる。このように、映像符号器２０は、モードの結合された部分組内にＴのモードの総数を格納することができ、ここで、Ｔは、Ｎ乃至Ｎ＋Ｍの間のうちの１つに等しい。映像符号器２０は、入手可能なレート情報に基づいてラグランジュ乗数を用いて部分組から“最良の”モードを選択することができる。例えば、映像符号器２０は、最低の近似コストを有するモードとして“最良の”モードを部分組から選択することができる。今度は、これらの技法例をさらに示すために図６のフローチャートが参照される。
【０１１１】
［０１１８］最初に、映像符号器２０を最初に参照し、予測ユニット４１は、映像データの１つ以上の映像ブロックを符号化のために受信することができる。コーディングされるべき現在のブロックを決定したことに応答して、モード選択ユニット４３は、上述されるように、符号化されるべき映像データの現在のブロックに関するイントラ予測モードの第１の組を決定することができる（１４０）。幾つかの例においては、イントラ予測モードの第１の組は、イントラ予測モードの予め定義されたグループを含む。イントラ予測モードの予め定義されたグループは、イントラ予測モードのうちの残りのそれらよりも頻繁に生じるとして統計的に識別されているイントラ予測モードを含むことができる。幾つかの例においては、イントラ予測モードの第１の組は、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む。
【０１１２】
［０１１９］モード選択ユニット４３は、次に、イントラ予測モードの第１の予め定義された組に加えて現在のブロックに関するイントラ予測モードの第２の組を決定することができる（１４２）。図２において示されるように、モード選択ユニット４３は、１つ以上のイントラ予測モードを選択するために、１つ以上の選択技法、例えば、ランダム選択、サンプリング選択、等、を実装することができる。イントラ予測モードの第２の組は、現在ブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。さらに、第１の組及び第２の組の両方は、合計して、現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことができる。
【０１１３】
［０１２０］モード選択ユニット４３は、幾つかの例においては、イントラ予測モードの第２の組に含まれる各イントラ予測モードに関する近似コストを計算する（１４４）。図２において示されるように、近似コストは、イントラ予測モードのうちの対応する１つを用いて映像データの現在のブロックを符号化するレート歪みコストの近似値であることができる。モード選択ユニット４３は、１つ以上の歪み尺度例、例えば、二乗歪み和（ＳＳＤ）、差分絶対値和（ＳＡＤ）、及び絶対変換差和（ＳＡＴＤ）、を用いて、１つ以上のコスト近似技法例を実装することができる。
【０１１４】
［０１２１］モード選択ユニット４３は、幾つかの例においては、イントラ予測モードの第１の組に含まれる各イントラ予測モードに関する重みが付けられた近似コストを計算する（１４６）。すなわち、モード選択ユニット４３は、イントラ予測モードの第１の組において識別された各イントラ予測モードに関する重み付き近似コストを計算するためにイントラ予測モードの第１の予め定義された組において識別された各イントラ予測モードに関して計算された近似コストの各々に重みを加えることができる。例えば、モード選択ユニット４３は、イントラ予測モードの第１の組において最低のコストを有する２つ以上のモードの平均に少なくとも部分的に基づく重み付け係数を決定することができる。すなわち、モード選択ユニット４３は、その平均がより大きいときにはより大きい重み付け係数、その平均がより小さいときにはより小さい重み付け係数を適用することができる。重み付け係数の大きさは、２つ以上のモードの平均に比例することができる。その他の例においては、イントラ予測モードの第１の組内の２つ以上のモードのコストの分散を同様に使用することができる。幾つかの例においては、重み付け係数は、０乃至１の範囲内に含めることができるが、連続する値及び／又は個別の値のあらゆる適切な範囲が可能である。一例として、重み付け係数を適用するために、モード選択ユニット４３は、所定のイントラ予測モードに関する重み付け係数及び近似コストの積として所定のイントラ予測モードに関する重み付き近似コストを生成することができる。その他の例においては、モード選択ユニット４３は、所定のイントラ予測モードに関する重み付け係数及び近似コストの和として所定のイントラ予測モードに関する重み付き近似コストを生成することができる。
【０１１５】
［０１２２］モード選択ユニット４３は、次に、第１の組からの所定のモードに関連する重み付き近似コストを選択することができる（１４８）。重み付き近似コストを選択した時点で、モード選択ユニット４３は、第２の組内のモードの重み付き近似コストと近似コストの間の差分がスレショルド値よりも小さいかどうかを決定することができる（１４７）。すなわち、モード選択ユニット４３は、イントラ予測モードの第２の組内において識別された各イントラ予測モードに関して計算された近似コストの各々と重み付き近似コストを比較することができる。幾つかの例においては、モード選択ユニット４３は、第２の組内の複数のモードの重み付き近似コストと近似コストの間の差分がスレショルド値よりも小さいかどうかを決定することができる。例えば、モード選択ユニット４３は、第２の組内の複数の近似コストの平均又は複数の近似コストに基づくその他の適切な計算された値を決定することができる。
【０１１６】
［０１２３］いずれの場合も、第２の組の重み付き近似コストと近似コストとの間の差分がスレショルド値よりも小さい場合は（１５２）、モード選択ユニット４３は、少なくとも選択されたモードと第２の組の１つ以上のモードとを含む結合されたモードの組内にモードを格納することができる（１５４）。モード選択ユニット４３は、モードに関連する近似コスト値も格納することができる。代替として、第２の組の重み付き近似コストと近似コストとの間の差分がスレショルド値よりも小さくない場合は（１５０）、モード選択ユニット４３は、結合されたモードの組内にモードを格納することができない。すなわち、モード選択ユニット４３は、上述されて（１４７）において例示される比較に基づいてイントラ予測モードの第１の予め定義された組において識別されたイントラ予測モードに関して計算された近似コストをメモリに格納することができる。幾つかの例においては、モード選択ユニット４３は、モード選択ユニット４３によってまだ評価されていない重み付き近似コストに関連する第１の組内の追加のモードが存在するかどうかを決定することができる（１５５）。
【０１１７】
［０１２４］追加の評価されないモードが第１の組内に存在する場合は、モード選択ユニット４３は、次の評価されていないモードを選択し（１５６）、選択されたモードを評価することができる（１４８）。代替として、モード選択ユニット４３が第１の組内の各モードを評価済みである場合は（１５８）、モード選択ユニット４３は、次に、モードに関連する近似コスト値に基づいて結合されたモードの組からモードを選択することができる（１６０）。幾つかの例においては、モード選択ユニット４３は、最低のコスト値に関連するモードを選択することができる。選択されたモードの表示をモード選択ユニット４３から受信した時点で、イントラ予測ユニット４６は、選択されたモードに従って現在のブロックを符号化するためのイントラ予測を行うことができる（１６２）。
【０１１８】
［０１２５］図７は、本開示の技法による、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小する態様を行う際の映像コーダ、例えば、図２に示される映像符号器２０、の典型的な動作を例示したフローチャートである。幾つかの例においては、映像符号器２０は、各ＰＵに関して、部分組を形成するために（レートＲのない歪み尺度Ｄのみに関して）最良のＮのノードのみを選択することができ、及び、モード選択ユニット４３は、対応する歪み尺度を格納することができる。すなわち、幾つかの例においては、モード選択ユニット４３は、イントラ予測モードのヌル又は空の組を備えるイントラ予測モードの第１の予め定義された組を決定することができ、イントラ予測モードの第２の組のみがレート−歪み解析によって試験されることを意味する。これは、映像符号器に関するオンチップメモリ上の要求をさらに軽減することができる。モード選択ユニット４３は、レート情報が利用可能であるときにラグランジュ乗数を用いて部分組から最良のモードを選択することができる。例えば、映像符号器２０は、最低の近似コストを有するモードとして部分組から“最良の”モードを選択することができる。今度は、これらの技法例をさらに示すために図７のフローチャートが参照される。
【０１１９】
［０１２６］最初に、モード選択ユニット４３は、１つ以上の選択技法を用いてすべての可能性のあるイントラ予測モードの部分組を決定することができる（１８０）。例えば、図２において説明されるように、モード選択ユニット４３は、１つ以上のイントラ予測モードを選択するために、１つ以上の選択技法、例えば、ランダム選択、サンプリング選択、等、を実装することができる。幾つかの例においては、モード選択ユニット４３は、スレショルド値より小さいモード数量を選択することができる。その他の例においては、モード選択ユニット４３は、スレショルド値より大きいモード数量を選択することができる。
【０１２０】
［０１２７］モード選択ユニット４３は、次に、イントラ予測モードの部分組内に含まれる各イントラ予測モードに関する近似コストを計算することができる（１８２）。本開示において前述されるように、モード選択ユニット４３は、１つ以上の歪み尺度、例えば、二乗歪み和（ＳＳＤ）、差分絶対値和（ＳＡＤ）、及び絶対変換差和（ＳＡＴＤ）、を用いて１つ以上のコスト近似技法を実装することができる。モード選択ユニットは、各近似コストを計算するために１つ以上のコスト近似技法を使用することができる。
【０１２１】
［０１２８］モード選択ユニット４３は、部分組において識別された各イントラ予測モードに関する近似コストをメモリに格納することができる（１８４）。メモリは、映像符号器２０を実装するマイクロプロセッサ内に含められる又はマイクロプロセッサと一体化されるオンチップメモリ（例えば、レジスタ、オンチップキャッシュ、等）内に存在することができる。従って、部分組内に含まれるイントラ予測モードに関する近似コストは、のちの使用のために映像符号器２０によって取り出すことができる。
【０１２２】
［０１２９］モード選択ユニット４３は、イントラ予測モードの部分組からモードを選択することができ、それは、イントラ予測ユニット４６が現在のブロックをイントラコーディングするために使用することができる（１８６）。例えば、モード選択ユニット４３は、最低の近似コストに関連する最良のモードを第１及び第２の組から選択することができる。そのモードを選択した時点で、モード選択ユニット４３は、選択されたモードを指定するデータをイントラ予測ユニット４６に送信することができる。
【０１２３】
［０１３０］イントラ予測ユニット４６は、図２の例においてさらに説明されるように、モード選択ユニット４３から受信されたモードを用いて、選択されたモードに従って現在のブロックを符号化するためにイントラ予測を行うことができる（１８８）。このように、イントラ予測は、最良のモードがモード選択ユニット４３によって選択されたイントラ予測モードの部分組において識別された各イントラ予測モードに関して計算された近似コストに基づく。
【０１２４】
［０１３１］図８は、本開示の技法による、複数の、異なる予測モードから選択するときにレート歪み値を格納するために要求されるスペースを縮小する態様を行う際の映像コーダ、例えば、図２に示される映像符号器、の典型的な動作を例示したフローチャートである。幾つかの例においては、幾つかのＰＵに関して、映像符号器２０は、現在のブロックの近隣ブロックのうちの一部を既に符号化していることができる。映像符号器２０は、並列性が高いことができ、映像符号器は、このイントラ予測を行うのと同時並行して近隣ブロックを符号化中であることを意味する。従って、映像符号器２０は、所定のモードのコストの推定を向上させるために近隣ブロックの情報を現在のブロックの歪み尺度とともに利用することができる。例えば、現在のブロックがＬＣＵ境界上にある場合は、それの近隣ブロックを符号化することができ、従って、近隣ブロックに関する情報のうちの一部又は全部を利用可能である。近隣ブロックのイントラモードは既知であるため、映像符号器２０は、近隣ブロックの情報を用いて歪みレートをより正確に推定すること及び現在のブロックに関して各モードに関するラグランジュ乗数を入手することができる。近隣ブロックが完全に符号化及び再構築されないその他のブロック、例えば、現在のブロックを含むＬＣＵ内部のそれら、に関しては、映像復号器２０は、現在のブロックをイントラ予測するためのモードを選択するために図１乃至７において前述される１つ以上の技法を使用することに戻ることができる。
【０１２５】
［０１３２］このように、イントラ予測モードの第１の組の決定、イントラ予測モードの第２の組の決定、イントラ予測モードの第１の組において識別された各イントラ予測モード及びイントラ予測モードの第２の組において識別された各イントラ予測モードに関する近似コストの計算及び近似コストの格納は、現在のブロックに隣接する映像データの近隣ブロックを符号化するために使用されるイントラ予測モードが現在のブロックに関する最も可能性が高いイントラ予測モードを決定する際に使用するために利用可能であるかどうかに基づいて動的に生じることができる。今度は、これらの技法例をさらに示すために図８のフローチャートが参照される。
【０１２６】
［０１３３］最初に、モード選択ユニット４３は、符号化されるべき現在のブロックの少なくとも１つの近隣ブロックを決定することができる（２００）。例えば、現在のブロックは、少なくとも１つの近隣ブロックを含む隣接ＬＣＵの垂直なブロック境界に沿って存在することができる。他の例においては、現在のブロックは、少なくとも１つの近隣ブロックを含む隣接ＬＣＵの水平のブロック境界に沿って存在することができる。いずれの場合も、少なくとも１つの近隣ブロックを決定した時点で、モード選択ユニット４３は、少なくとも１つの近隣ブロックが既に符号化されているかどうかを決定することができる（２０２）。
【０１２７】
［０１３４］近隣ブロックが既に符号化されている場合は（２０６）、モード選択ユニット４３は、近隣ブロックのイントラ予測モードを決定することができる（２０８）。モード選択ユニット４３は、現在のブロックに関する歪みレート（例えば、図２において説明されるＲ）が、近隣ブロックの歪みレートの推定値又は近隣ブロックの実際の歪みレート値に等しいと決定することができる。現在のブロックの歪み尺度（例えば、図２において説明されるＤ）及び近隣ブロックの歪みレートに基づいて、モード選択ユニット４３は、現在のブロックに関する選択されたモードのコストを決定することができる（２１０）。すなわち、モード選択ユニット４３は、近隣ブロックのモード及び歪みレート、及び現在のブロックの歪み尺度に基づいて現在のブロックに関するコストを決定することができる。
【０１２８】
［０１３５］幾つかの例においては、モード選択ユニット４３は、複数の近隣ブロックの各モードに関するコストを決定することができる。その他の例においては、モード選択ユニット４３は、近隣ブロックを符号化するためにモード選択ユニット４３によって実際に適用されたモードを用いて現在のブロックのコストを決定することができる。いずれの場合も、モード選択ユニット４３は、すべての可能性のあるイントラ予測モードの部分組内の近隣ブロックの情報に基づいて１つ以上のモードを格納する。幾つかの例においては、部分組は、１つ以上の予め定義されたイントラ予測モード及び／又はここにおいて説明される選択技法を用いて決定された１つ以上のモードを含むこともできる。次に、モード選択ユニット４３は、モード選択ユニット４３によって決定された１つ以上のモードのコストに基づいて現在のブロックに関するモードを選択することができる（２１８）。幾つかの例においては、モード選択ユニット４３は、最低のコスト値に関連するモードを選択することができる。選択されたモードの表示をモード選択ユニット４３から受信した時点で、イントラ予測ユニット４６は、選択されたモードに従って現在のブロックを符号化するためのイントラ予測を行うことができる（２２０）。
【０１２９】
［０１３６］動作に戻り（２０２）、少なくとも１つの近隣ブロックが符号化されないとモード選択ユニット４３が決定した場合は（２０４）、モード選択ユニット４３は、現在のブロックをイントラ予測するための最良のモードを選択するために図１乃至７において説明される１つ以上の技法を使用することに戻ることができる。例えば、モード選択ユニット４３は、すべての可能性のあるイントラ予測モードの少なくとも１つの部分組を決定することができる。例えば、少なくとも１つの部分組は、１つ以上の予め定義されたモードを含むことができる。その他の例においては、部分組は、ここにおいて前述される選択技法を用いてモード選択ユニット４３によって選択された１つ以上のモードを含むことができる。さらにその他の例においては、モード選択ユニット４３は、予め定義されたモードと１つ以上の選択技法を用いて選択されたモードとをそれぞれ含む予測モードの２つの部分組を決定することができる（２１２）。
【０１３０】
［０１３７］いずれの場合も、モード選択ユニット４３は、次に、イントラ予測モードの少なくとも１つの部分組に含まれている各イントラ予測モードに関する近似コストを決定することができる（２１４）。モード選択ユニット４３は、１つ以上の歪み尺度、例えば、二乗歪み和（ＳＳＤ）、差分絶対値和（ＳＡＤ）、及び絶対変換差和（ＳＡＴＤ）、を用いて、１つ以上のコスト近似技法例を実装することができる。近似コスト値を決定した時点で、モード選択ユニット４３は、すべての可能性のあるイントラ予測モードの少なくとも１つの部分組において識別された各イントラ予測モードに関する近似コストをメモリに格納することができる（２１６）。メモリは、映像符号器２０を実装するマイクロプロセッサ内に含められる又はマイクロプロセッサと一体化されるオンチップメモリ（例えば、レジスタ、オンチップキャッシュ、等）内に存在することができる。従って、第１及び第２の組に含まれるイントラ予測モードに関する近似コストは、のちの使用のために映像符号器２０によって取り出すことができる。
【０１３１】
［０１３８］モード選択ユニット４３は、イントラ予測モードの少なくとも１つの部分組からモードを選択することができ、それは、イントラ予測ユニット４６が現在のブロックをイントラコーディングするために使用することができる（２１８）。例えば、モード選択ユニット４３は、最低の近似コストに関連する最良のモードを第１及び第２の組から選択することができる。そのモードを選択した時点で、モード選択ユニット４３は、選択されたモードを指定するデータをイントラ予測ユニット４６に送信することができる。
【０１３２】
［０１３９］モード選択ユニット４３から受信されたモードを用いて、イントラ予測ユニット４６は、図２の例においてさらに説明されるように、選択されたモードに従って現在のブロックを符号化するためにイントラ予測を行うことができる（２２０）。このように、イントラ予測は、最良のモードがモード選択ユニット４３によって選択されたイントラ予測モードの第１の組及びイントラ予測モードの第２の組において識別された各イントラ予測モードに関して計算された近似コストに基づく。
【０１３３】
［００１４０］１つ以上の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらのあらゆる組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において１つ以上の命令又はコードとして格納又は送信することができる。コンピュータによって読み取り可能な媒体は、コンピュータデータ記憶媒体又は１つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体を含むことができる。データ憶媒体は、本開示において説明される技法の実装のために命令、コード及び／又はデータ構造を取り出すために１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。一例により、及び制限することなしに、該コンピュータによって読み取り可能な媒体は、希望されるプログラムコードを命令又はデータ構造の形態で搬送又は格納するために使用することができ及びコンピュータによってアクセス可能であるＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又はその他のいずれかの媒体を備えることができる。さらに、どのような接続も、コンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン（ＤＳＬ）、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、ＤＳＬ、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。ここにおいて用いられるときのディスク（ｄｉｓｋ及びｄｉｓｃ）は、コンパクトディスク（ＣＤ）（ｄｉｓｃ）と、レーザディスク（ｄｉｓｃ）と、光ディスク（ｄｉｓｃ）と、デジタルバーサタイルディスク（ＤＶＤ）（ｄｉｓｃ）と、フロッピー（登録商標）ディスク（ｄｉｓｋ）と、Ｂｌｕ−ｒａｙディスク（ｄｉｓｃ）と、を含み、ここで、ｄｉｓｋは、通常は磁気的にデータを複製し、ｄｉｓｃは、レーザを用いて光学的にデータを複製する。上記の組み合わせも、コンピュータによって読み取り可能な媒体の適用範囲内に含められるべきである。
【０１３４】
［０１４１］コードは、１つ以上のプロセッサ、例えば、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、又はその他の同等の集積又はディスクリート論理回路によって実行することができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化および復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内において提供されること、又は組み合わされたコーデック内に組み入れることができる。さらに、技法は、１つ以上の回路又は論理素子内に完全に実装することが可能である。
【０１３５】
［０１４２］本開示の技法は、無線ハンドセット、集積回路（ＩＣ）又は一組のＩＣ（例えば、チップセット）を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び／又はファームウェアと関係させて、コーデックハードウェアユニット内において結合させること又は上述されるように１つ以上のプロセッサを含む相互運用的なハードウェアユニットの集合によって提供することができる。
【０１３６】
［０１２６］様々な例が説明されている。これらの及びその他の例は、以下の請求項の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  映像データを符号化する方法であって、
符号化されるべき前記映像データの現在のブロックに関するイントラ予測モードの第１の組を決定することであって、イントラ予測モードの前記第１の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含むことと、
イントラ予測モードの前記第１の予め定義された組に加えて前記現在のブロックに関するイントラ予測モードの第２の組を決定することであって、イントラ予測モードの前記第２の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数以下のイントラ予測モード数を含み、前記第１の組及び前記第２の組の両方は、合計して、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数よりも少ないイントラ予測モードを含むことと、
イントラ予測モードの前記第１の組に含まれる各イントラ予測モード及びイントラ予測モードの前記第２の組に含まれる各イントラ予測モードに関する近似コストを計算することであって、前記近似コストは、前記イントラ予測モードのうちの前記対応する１つを用いて映像データの前記現在のブロックを符号化するレート歪みコストの近似値であることと、
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関する前記近似コストをメモリに格納することと、
イントラ予測モードの前記第１の組及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストに基づいてイントラ予測モードの前記第１の組又はイントラ予測モードの前記第２の組によって識別された前記イントラ予測モードのうちの１つに従って前記現在のブロックを符号化するためにイントラ予測を行うことと、を備える、方法。
［Ｃ２］  前記現在のブロックを符号化するためにイントラ予測を行うことと同時並行して前記現在のブロックに隣接する前記映像データの１つ以上の近隣ブロックに関するイントラ予測又はインター予測を行うことをさらに備えるＣ１に記載の方法。
［Ｃ３］  イントラ予測モードの前記第１の組において識別された各イントラ予測モード及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関する前記近似コストを格納することは、
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する重み付き近似コストを計算するためにイントラ予測モードの前記第１の予め定義された組において識別された各イントラ予測モードに関して計算された前記近似コストの各々に重みを加えることと、
イントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストの各々と前記重み付き近似コストを比較することと、
前記比較に基づいてイントラ予測モードの前記第１の予め定義された組において識別されたイントラ予測モードに関して計算された前記近似コストを前記メモリに格納することと、を備えるＣ１に記載の方法。
［Ｃ４］  イントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストの各々と前記重み付き近似コストを比較することは、
前記重み付き近似コストから１つの重み付き近似コストを選択することと、
前記重み付き近似コストと各イントラ予測されたモードに関して計算された前記近似コストのうちの１つの近似コストとの間の差分を決定することと、
前記差分はスレショルド値よりも小さいと決定することと、をさらに備えるＣ３に記載の方法。
［Ｃ５］  イントラ予測モードの前記第１の組を決定することは、イントラ予測モードのヌルの組を決定することを備えるＣ１に記載の方法。
［Ｃ６］  イントラ予測モードの前記第１の組の前記決定、
イントラ予測モードの前記第２の組の前記決定、
イントラ予測モードの前記第１の組において識別された各イントラ予測モード及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関する前記近似コストの前記計算、及び
前記近似コストの前記格納のうちの少なくとも１つは、
前記現在のブロックに隣接する映像データの近隣ブロックを符号化するために使用されるイントラ予測モードが、前記現在のブロックに関する最も可能性が高いイントラ予測モードを決定する際に使用するために利用可能であるかどうかに少なくとも部分的に基づいて動的に生じるＣ１に記載の方法。
［Ｃ７］  前記現在のブロックの近隣ブロックを決定することと、
前記近隣ブロックが符号化されたと決定したことに応答して、前記近隣ブロックの前記イントラ予測モードを決定することと、
前記近隣ブロックの前記イントラ予測モードに少なくとも部分的に基づいて前記現在のブロックに関するレート歪みコストを決定することと、をさらに備えるＣ６に記載の方法。
［Ｃ８］  符号化されるべき前記映像データの前記現在のブロックに関するイントラ予測モードの前記第１の組を決定することは、符号化されるべき前記映像データの前記現在のブロックに関するイントラ予測モードの第１の予め定義された組を決定することを備えるＣ１に記載の方法。
［Ｃ９］  前に予測されたブロックを符号化するためにイントラ予測モードが以前に選択されたことの発生数を示す少なくとも１つの統計値を生成することと、
前記発生数がスレショルド値よりも大きいと決定したことに応答して、前記イントラ予測モードをイントラ予測モードの前記第２の組に含めることと、をさらに備えるＣ１に記載の方法。
［Ｃ１０］  前記現在のブロックを符号化するためにイントラ予測を行うことは、
イントラ予測モードに関連する近似コストを決定することであって、前記決定された近似コストは、前記近似コストのうちの最低の近似コストを有することと、
前記最低の近似コストを有する前記決定された近似コストに関連するモードを用いて前記現在のブロックをイントラ予測することと、をさらに備えるＣ１に記載の方法。
［Ｃ１１］  映像データをコーディングするためにイントラ予測プロセスを実行するように構成された映像コーディングデバイスであって、
符号化されるべき前記映像データの現在のブロックに関するイントラ予測モードの第１の組を決定するように構成され、イントラ予測モードの前記第１の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含み、
イントラ予測モードの前記第１の予め定義された組に加えて前記現在のブロックに関するイントラ予測モードの第２の組を決定するように構成され、イントラ予測モードの前記第２の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数以下のイントラ予測モード数を含み、前記第１の組及び前記第２の組の両方は、合計して、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数よりも少ないイントラ予測モードを含み、
イントラ予測モードの前記第１の組に含まれる各イントラ予測モード及びイントラ予測モードの前記第２の組に含まれる各イントラ予測モードに関する前記近似コストを計算するように構成され、前記近似コストは、前記イントラ予測モードのうちの前記対応する１つを用いて映像データの前記現在のブロックを符号化するレート歪みコストの近似値であり、
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関する前記近似コストをメモリに格納するように構成され、
イントラ予測モードの前記第１の組及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストに基づいてイントラ予測モードの前記第１の組又はイントラ予測モードの前記第２の組によって識別された前記イントラ予測モードのうちの１つに従って前記現在のブロックを符号化するためにイントラ予測を行うように構成されるプロセッサ、を備える、映像コーディングデバイス。
［Ｃ１２］  前記プロセッサは、前記現在のブロックを符号化するためにイントラ予測を行うことと同時並行して前記現在のブロックに隣接する前記映像データの１つ以上の近隣ブロックに関するイントラ予測又はインター予測を行うようにさらに構成されるＣ１１に記載の映像コーディングデバイス。
［Ｃ１３］  前記プロセッサは、
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する重み付き近似コストを計算するためにイントラ予測モードの前記第１の予め定義された組において識別された各イントラ予測モードに関して計算された前記近似コストの各々に重みを加え、
イントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストの各々と前記重み付き近似コストを比較し、及び
前記比較に基づいてイントラ予測モードの前記第１の予め定義された組において識別されたイントラ予測モードに関して計算された前記近似コストを前記メモリに格納するようにさらに構成されるＣ１１に記載の映像コーディングデバイス。
［Ｃ１４］  前記プロセッサは、
前記重み付き近似コストから１つの重み付き近似コストを選択し、
前記重み付き近似コストと各イントラ予測されたモードに関して計算された前記近似コストのうちの１つの近似コストとの間の差分を決定し、及び
前記差分はスレショルド値よりも小さいと決定するようにさらに構成されるＣ１３に記載の映像コーディングデバイス。
［Ｃ１５］  前記プロセッサは、イントラ予測モードのヌルの組を決定するようにさらに構成されるＣ１１に記載の映像コーディングデバイス。
［Ｃ１６］  イントラ予測モードの前記第１の組の前記決定、
イントラ予測モードの前記第２の組の前記決定、
イントラ予測モードの前記第１の組において識別された各イントラ予測モード及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関する前記近似コストの前記計算、及び
前記近似コストの前記格納のうちの少なくとも１つは、
前記現在のブロックに隣接する映像データの近隣ブロックを符号化するために使用されるイントラ予測モードが、前記現在のブロックに関する最も可能性が高いイントラ予測モードを決定する際に使用するために利用可能であるかどうかに少なくとも部分的に基づいて動的に生じるＣ１１に記載の映像コーディングデバイス。
［Ｃ１７］  前記プロセッサは、
前記現在のブロックの近隣ブロックを決定し、
前記近隣ブロックが符号化されたと決定したことに応答して、前記近隣ブロックの前記イントラ予測モードを決定し、及び
前記近隣ブロックの前記イントラ予測モードに少なくとも部分的に基づいて前記現在のブロックに関するレート歪みコストを決定するようにさらに構成されるＣ１６に記載の映像コーディングデバイス。
［Ｃ１８］  前記プロセッサは、符号化されるべき前記映像データの前記現在のブロックに関するイントラ予測モードの第１の予め定義された組を決定するようにさらに構成されるＣ１１に記載の映像コーディングデバイス。
［Ｃ１９］  前記プロセッサは、
前に予測されたブロックを符号化するためにイントラ予測モードが以前に選択されたことの発生数を示す少なくとも１つの統計値を生成し、
前記発生数がスレショルド値よりも大きいと決定したことに応答して、前記イントラ予測モードをイントラ予測モードの前記第２の組に含めるようにさらに構成されるＣ１１に記載の映像コーディングデバイス。
［Ｃ２０］  前記プロセッサは、
イントラ予測モードに関連する近似コストを決定するようにさらに構成され、前記決定された近似コストは、前記近似コストのうちの最低の近似コストを有し、
前記最低の近似コストを有する前記決定された近似コストに関連するモードを用いて前記現在のブロックをイントラ予測するようにさらに構成されるＣ１１に記載の映像コーディングデバイス。
［Ｃ２１］  映像データをコーディングするためのイントラ予測プロセスを行うように構成された映像コーディングデバイスであって、
符号化されるべき前記映像データの現在のブロックに関するイントラ予測モードの第１の組を決定するための手段であって、イントラ予測モードの前記第１の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む手段と、
イントラ予測モードの前記第１の予め定義された組に加えて前記現在のブロックに関するイントラ予測モードの第２の組を決定するための手段であって、イントラ予測モードの前記第２の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数以下のイントラ予測モード数を含み、前記第１の組及び前記第２の組の両方は、合計して、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数よりも少ないイントラ予測モードを含む手段と、
イントラ予測モードの前記第１の組に含まれる各イントラ予測モード及びイントラ予測モードの前記第２の組に含まれる各イントラ予測モードに関する近似コストを計算するための手段であって、前記近似コストは、前記イントラ予測モードのうちの前記対応する１つを用いて映像データの前記現在のブロックを符号化するレート歪みコストの近似値である手段と、
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関する前記近似コストをメモリに格納するための手段と、
イントラ予測モードの前記第１の組及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストに基づいてイントラ予測モードの前記第１の組又はイントラ予測モードの前記第２の組によって識別された前記イントラ予測モードのうちの１つに従って前記現在のブロックを符号化するためにイントラ予測を行うための手段と、を備える、映像コーディングデバイス。
［Ｃ２２］  前記現在のブロックを符号化するためにイントラ予測を行うことと同時並行して前記現在のブロックに隣接する前記映像データの１つ以上の近隣ブロックに関するイントラ予測又はインター予測を行うための手段をさらに備えるＣ２１に記載の映像コーディングデバイス。
［Ｃ２３］  イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する重み付き近似コストを計算するためにイントラ予測モードの前記第１の予め定義された組において識別された各イントラ予測モードに関して計算された前記近似コストの各々に重みを加えるための手段と、
イントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストの各々と前記重み付き近似コストを比較するための手段と、
前記比較に基づいてイントラ予測モードの前記第１の予め定義された組において識別されたイントラ予測モードに関して計算された前記近似コストを前記メモリに格納するための手段と、を備えるＣ２１に記載の映像コーディングデバイス。
［Ｃ２４］  前記重み付き近似コストから１つの重み付き近似コストを選択するための手段と、
前記重み付き近似コストと各イントラ予測されたモードに関して計算された前記近似コストのうちの１つの近似コストとの間の差分を決定するための手段と、
前記差分はスレショルド値よりも小さいと決定するための手段と、をさらに備えるＣ２３に記載の映像コーディングデバイス。
［Ｃ２５］  イントラ予測モードのヌルの組を決定するための手段をさらに備えるＣ２１に記載の映像コーディングデバイス。
［Ｃ２６］  イントラ予測モードの前記第１の組の前記決定、
イントラ予測モードの前記第２の組の前記決定、
イントラ予測モードの前記第１の組において識別された各イントラ予測モード及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関する前記近似コストの前記計算、及び
前記近似コストの前記格納のうちの少なくとも１つは、
前記現在のブロックに隣接する映像データの近隣ブロックを符号化するために使用されるイントラ予測モードが、前記現在のブロックに関する最も可能性が高いイントラ予測モードを決定する際に使用するために利用可能であるかどうかに少なくとも部分的に基づいて動的に生じるＣ２１に記載の映像コーディングデバイス。
［Ｃ２７］  前記現在のブロックの近隣ブロックを決定するための手段と、
前記近隣ブロックが符号化されたと決定したことに応答して、前記近隣ブロックの前記イントラ予測モードを決定するための手段と、
前記近隣ブロックの前記イントラ予測モードに少なくとも部分的に基づいて前記現在のブロックに関するレート歪みコストを決定するための手段と、をさらに備えるＣ２６に記載の映像コーディングデバイス。
［Ｃ２８］  符号化されるべき前記映像データの前記現在のブロックに関するイントラ予測モードの第１の予め定義された組を決定するための手段をさらに備えるＣ２１に記載の映像コーディングデバイス。
［Ｃ２９］  前に予測されたブロックを符号化するためにイントラ予測モードが以前に選択されたことの発生数を示す少なくとも１つの統計値を生成するため手段と、
前記発生数がスレショルド値よりも大きいと決定したことに応答して、前記イントラ予測モードをイントラ予測モードの前記第２の組に含めるための手段と、をさらに備えるＣ２１に記載の映像コーディングデバイス。
［Ｃ３０］  イントラ予測モードに関連する近似コストを決定するための手段であって、前記決定された近似コストは、前記近似コストのうちの最低の近似コストを有する手段と、
前記最低の近似コストを有する前記決定された近似コストに関連するモードを用いて前記現在のブロックをイントラ予測するための手段と、をさらに備えるＣ２１に記載の映像コーディングデバイス。
［Ｃ３１］  非一時的なコンピュータによって読み取り可能な記憶媒体であって、実行されたときに、
符号化されるべき前記映像データの現在のブロックに関するイントラ予測モードの第１の組を決定することを１つ以上のプロセッサに行わせる命令であって、イントラ予測モードの前記第１の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの総数よりも少ないイントラ予測モードを含む命令と、
イントラ予測モードの前記第１の予め定義された組に加えて前記現在のブロックに関するイントラ予測モードの第２の組を決定することを１つ以上のプロセッサに行わせる命令であって、イントラ予測モードの前記第２の組は、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数以下のイントラ予測モード数を含み、前記第１の組及び前記第２の組の両方は、合計して、前記現在のブロックを符号化するために使用することが可能なイントラ予測モードの前記総数よりも少ないイントラ予測モードを含む命令と、
イントラ予測モードの前記第１の組に含まれる各イントラ予測モード及びイントラ予測モードの前記第２の組に含まれる各イントラ予測モードに関する近似コストを計算することを１つ以上のプロセッサに行わせる命令であって、前記近似コストは、前記イントラ予測モードのうちの前記対応する１つを用いて映像データの前記現在のブロックを符号化するレート歪みコストの近似値である命令と、
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関する前記近似コストをメモリに格納することを１つ以上のプロセッサに行わせる命令と、
イントラ予測モードの前記第１の組及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストに基づいてイントラ予測モードの前記第１の組又はイントラ予測モードの前記第２の組によって識別された前記イントラ予測モードのうちの１つに従って前記現在のブロックを符号化するためにイントラ予測を行うことを１つ以上のプロセッサに行わせる命令、が格納されている、非一時的なコンピュータによって読み取り可能な記憶媒体
［Ｃ３２］  前記命令は、実行されたときに、前記現在のブロックを符号化するためにイントラ予測を行うことと同時並行して前記現在のブロックに隣接する前記映像データの１つ以上の近隣ブロックに関するイントラ予測又はインター予測を行うことを前記１つ以上のプロセッサに行わせるＣ３１に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
［Ｃ３３］  前記命令は、実行されときに、
イントラ予測モードの前記第１の組において識別された各イントラ予測モードに関する重み付き近似コストを計算するためにイントラ予測モードの前記第１の予め定義された組において識別された各イントラ予測モードに関して計算された前記近似コストの各々に重みを加えること、
イントラ予測モードの前記第２の組において識別された各イントラ予測モードに関して計算された前記近似コストの各々と前記重み付き近似コストを比較すること、及び
前記比較に基づいてイントラ予測モードの前記第１の予め定義された組において識別されたイントラ予測モードに関して計算された前記近似コストを前記メモリに格納することを前記１つ以上のプロセッサに行わせるＣ３１に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
［Ｃ３４］  前記命令は、実行されたときに、
前記重み付き近似コストから１つの重み付き近似コストを選択すること、
前記重み付き近似コストと各イントラ予測されたモードに関して計算された前記近似コストのうちの１つの近似コストとの間の差分を決定すること、及び
前記差分はスレショルド値よりも小さいと決定することを前記１つ以上のプロセッサに行わせるＣ３３に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
［Ｃ３５］  前記命令は、実行されたときに、イントラ予測モードのヌルの組を決定することを前記１つ以上のプロセッサに行わせるＣ３１に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
［Ｃ３６］  イントラ予測モードの前記第１の組の前記決定、
イントラ予測モードの前記第２の組の前記決定、
イントラ予測モードの前記第１の組において識別された各イントラ予測モード及びイントラ予測モードの前記第２の組において識別された各イントラ予測モードに関する前記近似コストの前記計算、及び
前記近似コストの前記格納のうちの少なくとも１つは、
前記現在のブロックに隣接する映像データの近隣ブロックを符号化するために使用されるイントラ予測モードが、前記現在のブロックに関する最も可能性が高いイントラ予測モードを決定する際に使用するために利用可能であるかどうかに少なくとも部分的に基づいて動的に生じるＣ３１に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
［Ｃ３７］  前記命令は、実行されたときに、
前記現在のブロックの近隣ブロックを決定すること、
前記近隣ブロックが符号化されたと決定したことに応答して、前記近隣ブロックの前記イントラ予測モードを決定すること、及び
前記近隣ブロックの前記イントラ予測モードに少なくとも部分的に基づいて前記現在のブロックに関するレート歪みコストを決定することを前記１つ以上のプロセッサに行わせるＣ３６に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
［Ｃ３８］  前記命令は、実行されたときに、符号化されるべき前記映像データの前記現在のブロックに関するイントラ予測モードの第１の予め定義された組を決定することを前記１つ以上のプロセッサに行わせるＣ３１に記載の映像コーディングデバイス。
［Ｃ３９］  前記命令は、実行されたときに、
前に予測されたブロックを符号化するためにイントラ予測モードが以前に選択されたことの発生数を示す少なくとも１つの統計値を生成すること、及び
前記発生数がスレショルド値よりも大きいと決定したことに応答して、前記イントラ予測モードをイントラ予測モードの前記第２の組に含めることを前記１つ以上のプロセッサに行わせるＣ３１に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
［Ｃ４０］  前記命令は、実行されたときに、
イントラ予測モードに関連する近似コストを決定すること、ここにおいて、前記決定された近似コストは、前記近似コストのうちの最低の近似コストを有し、及び
前記最低の近似コストを有する前記決定された近似コストに関連するモードを用いて前記現在のブロックをイントラ予測することを前記１つ以上のプロセッサに行わせるＣ３１に記載の非一時的なコンピュータによって読み取り可能な記憶媒体。
【図１】
0006054552.tif 000005
【図２】
0006054552.tif 000006
【図３】
0006054552.tif 000007
【図４Ａ】
0006054552.tif 000008
【図４Ｂ】
0006054552.tif 000009
【図５】
0006054552.tif 000010
【図６】
0006054552.tif 000011
【図７】
0006054552.tif 000012
【図８】
0006054552.tif 000013