(57)【特許請求の範囲】
【請求項１】
ビデオデータをコーディングするための方法であって、
現在のビデオブロックに対して、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定することと、
前記第１の最尤イントラ予測モードと前記第２の最尤イントラ予測モードとに基づいて、前記現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めることとを備え、前記実際のイントラ予測モードの前記推定値を求めることが、
前記第１の最尤モードが角度的イントラ予測モードであることおよび前記第２の最尤モードが非角度的イントラ予測モードであることに応答して、前記実際のイントラ予測モードの前記推定値として前記第１の最尤モードを選択することと、
前記第１の最尤モードと前記第２の最尤モードの両方が、異なる角度的予測モードであることに応答して、前記実際のイントラ予測の前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方を選択することとを備え、前記実際のイントラ予測モードの前記推定値として前記第１の最尤イントラ予測モードおよび前記第２の最尤イントラ予測モードの一方を選択することが、前記第１の最尤モードおよび前記第２の最尤モードのどちらがより小さいイントラモード番号を有するか、並びに前記第１の最尤モードおよび前記第２の最尤モードのどちらが前記現在のビデオブロックにサイズがより近いビデオデータのブロックに関連するか、の少なくとも一方に基づく、方法。
【請求項２】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、
前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角により近い角度を有する最尤モードであるかを判断することと、
前記垂直角により近い前記角度を有する前記最尤モードを、前記実際のイントラ予測モードの前記推定値として選択することとをさらに備える、請求項１に記載の方法。
【請求項３】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角と水平角との間にないかを選択することをさらに備える、請求項１に記載の方法。
【請求項４】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方を、シグナリングすることをさらに備える、請求項１に記載の方法。
【請求項５】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードのどちらがより小さいイントラモード番号を有するかを選択することをさらに備える、請求項１に記載の方法。
【請求項６】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、１つまたは複数の隣接ビデオブロックのブロック情報に少なくとも部分的に基づく、請求項１に記載の方法。
【請求項７】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、前記第１の最尤モードおよび前記第２の最尤モードのどちらが、前記現在のビデオブロックにサイズがより近いビデオデータのブロックに関連するかを選択することをさらに備える、請求項１に記載の方法。
【請求項８】
ビデオデコーダによって実行され、
差情報を受信することと、
前記差情報および前記実際のイントラ予測モードの前記推定値に基づいて、前記現在のビデオブロックに対する実際のイントラ予測モードを決定することとをさらに備える、請求項１に記載の方法。
【請求項９】
前記実際のイントラ予測モードを使用して再構成ビデオブロックを生成することをさらに備える、請求項８に記載の方法。
【請求項１０】
ビデオエンコーダによって実行され、
差情報を符号化ビットストリーム内でシグナリングすることをさらに備え、前記差情報が、前記現在ブロックに対する実際のイントラ予測モードと前記実際のイントラ予測モードの前記推定値との間の差を識別する、請求項１に記載の方法。
【請求項１１】
ビデオデータをコーディングするためのデバイスであって、
現在のビデオブロックに対して、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定し、
前記第１の最尤イントラ予測モードおよび前記第２の最尤イントラ予測モードに基づいて、前記現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めるように構成されたビデオコーダを備え、前記実際のイントラ予測モードの前記推定値を求めることが、
前記第１の最尤モードが角度的イントラ予測モードであることおよび前記第２の最尤モードが非角度的イントラ予測モードであることに応答して、前記実際のイントラ予測モードの前記推定値として前記第１の最尤モードを選択することと、
前記第１の最尤モードと前記第２の最尤モードの両方が、異なる角度的予測モードであることに応答して、前記実際のイントラ予測の前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方を選択することとを備え、前記ビデオコーダは、前記第１の最尤モードおよび前記第２の最尤モードのどちらがより小さいイントラモード番号を有するか、並びに前記第１の最尤モードおよび前記第２の最尤モードのどちらが前記現在のビデオブロックにサイズがより近いビデオデータのブロックに関連するか、の少なくとも一方に基づいて前記実際のイントラ予測モードの前記推定値として前記第１の最尤イントラ予測モードおよび前記第２の最尤イントラ予測モードの一方を選択するようにさらに構成される、デバイス。
【請求項１２】
前記ビデオコーダが、前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角により近い角度を有する最尤モードであるかを判断すること、ならびに前記垂直角により近い前記角度を有する前記最尤モードを前記実際のイントラ予測モードの前記推定値として選択することによって、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、請求項１１に記載のデバイス。
【請求項１３】
前記ビデオコーダが、前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角と水平角との間にないかを選択することによって、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、請求項１１に記載のデバイス。
【請求項１４】
前記ビデオコーダが、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方をシグナリングすることによって、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、請求項１１に記載のデバイス。
【請求項１５】
前記ビデオコーダが、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードのどちらがより小さいイントラモード番号を有するかを選択することによって、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、請求項１１に記載のデバイス。
【請求項１６】
前記ビデオコーダが、１つまたは複数の隣接ビデオブロックのブロック情報に少なくとも部分的に基づいて、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、請求項１１に記載のデバイス。
【請求項１７】
前記ビデオコーダが、前記第１の最尤モードおよび前記第２の最尤モードのどちらが、前記現在のビデオブロックにサイズがより近いビデオデータのブロックに関連するかを選択することによって、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、請求項１１に記載のデバイス。
【請求項１８】
前記ビデオコーダがビデオデコーダであり、前記ビデオコーダが、
差情報を受信し、
前記差情報および前記実際のイントラ予測モードの前記推定値に基づいて、前記現在のビデオブロックに対する実際のイントラ予測モードを決定するようにさらに構成される、請求項１１に記載のデバイス。
【請求項１９】
前記ビデオコーダが、
前記実際のイントラ予測モードを使用して再構成ビデオブロックを生成するようにさらに構成される、請求項１８に記載のデバイス。
【請求項２０】
前記ビデオコーダがビデオエンコーダを備え、前記ビデオコーダが、
差情報を符号化ビットストリーム内でシグナリングするようにさらに構成され、前記差情報が、前記現在ブロックに対する実際のイントラ予測モードと前記実際のイントラ予測モードの前記推定値との間の差を識別する、請求項１８に記載のデバイス。
【請求項２１】
集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスとのうちの少なくとも１つを備える、請求項１１に記載のデバイス。
【請求項２２】
ビデオデータをコーディングするための装置であって、
現在のビデオブロックに対する第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定するための手段と、
前記第１の最尤イントラ予測モードおよび前記第２の最尤イントラ予測モードに基づいて、前記現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めるための手段とを備え、前記実際のイントラ予測モードの前記推定値を求めるための前記手段が、
前記第１の最尤モードが角度的イントラ予測モードであることおよび前記第２の最尤モードが非角度的イントラ予測モードであることに応答して、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードを選択するための手段と、
前記第１の最尤モードおよび前記第２の最尤モードの両方が、異なる角度的予測モードであることに応答して、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方を選択するための手段とを備え、前記実際のイントラ予測モードの前記推定値として前記第１の最尤イントラ予測モードおよび前記第２の最尤イントラ予測モードの一方を選択するための前記手段は、前記第１の最尤モードおよび前記第２の最尤モードのどちらがより小さいイントラモード番号を有するか、並びに前記第１の最尤モードおよび前記第２の最尤モードのどちらが前記現在のビデオブロックにサイズがより近いビデオデータのブロックに関連するか、の少なくとも一方に基づいて前記実際のイントラ予測モードの前記推定値を選択する、装置。
【請求項２３】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、
前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角により近い角度を有する最尤モードであるかを判断するための手段と、
前記垂直角により近い前記角度を有する前記最尤モードを、前記実際のイントラ予測モードの前記推定値として選択するための手段とを備える、請求項２２に記載の装置。
【請求項２４】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角と水平角との間にないかを選択するための手段を備える、請求項２２に記載の装置。
【請求項２５】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方をシグナリングするための手段を備える、請求項２２に記載の装置。
【請求項２６】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードのどちらがより小さいイントラモード番号を有するかを選択するための手段を備える、請求項２２に記載の装置。
【請求項２７】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、１つまたは複数の隣接する情報のブロックに少なくとも部分的に基づいて、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択する、請求項２２に記載の装置。
【請求項２８】
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、前記第１の最尤モードおよび前記第２の最尤モードのどちらが、前記現在のビデオブロックにサイズがより近いビデオデータのブロックに関連するかを選択するための手段を備える、請求項２２に記載の装置。
【請求項２９】
ビデオデコーダを備え、
差情報を受信するための手段と、
前記差情報および前記実際のイントラ予測モードの前記推定値に基づいて、前記現在のビデオブロックに対する実際のイントラ予測モードを決定するための手段とをさらに備える、請求項２２に記載の装置。
【請求項３０】
前記実際のイントラ予測モードを使用して再構成ビデオブロックを生成するための手段をさらに備える、請求項２９に記載の装置。
【請求項３１】
ビデオエンコーダを備え、
差情報を符号化ビットストリーム内でシグナリングするための手段をさらに備え、前記差情報が、前記現在ブロックに対する実際のイントラ予測モードと前記実際のイントラ予測モードの前記推定値との間の差を識別する、請求項２２に記載の装置。
【請求項３２】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、１つまたは複数のプロセッサに、
現在のビデオブロックに対して、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定させ、
前記第１の最尤イントラ予測モードおよび前記第２の最尤イントラ予測モードに基づいて、前記現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めさせるように動作可能であり、前記命令が、前記１つまたは複数のプロセッサに、
前記第１の最尤モードが角度的イントラ予測モードであることおよび前記第２の最尤モードが非角度的イントラ予測モードであることに応答して、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードを選択することと、
前記第１の最尤モードと前記第２の最尤モードの両方が、異なる角度的予測モードであることに応答して、前記実際のイントラ予測の前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方を選択することとによって、前記実際のイントラ予測モードの前記推定値を求めさせ、前記１つまたは複数のプロセッサは、前記第１の最尤モードおよび前記第２の最尤モードのどちらがより小さいイントラモード番号を有するか、並びに前記第１の最尤モードおよび前記第２の最尤モードのどちらが前記現在のビデオブロックにサイズがより近いビデオデータのブロックに関連するか、の少なくとも一方に基づいて前記実際のイントラ予測モードの前記推定値として前記第１の最尤イントラ予測モードおよび前記第２の最尤イントラ予測モードの一方を選択する、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、各々の全内容が参照により本明細書に組み込まれる、２０１１年１１月１８日に出願された米国仮出願第６１／５６１，８０３号、および２０１１年１１月１８日に出願された米国仮出願第６１／５６１，８１９号の恩恵を主張する。
【技術分野】
【０００２】
本開示は、ビデオコーディングに関し、より詳細には、コード化ビデオデータについてのイントラ予測モードのシグナリングに関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはビデオブロックに区分され得る。各ビデオブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のビデオブロックは、隣接ビデオブロックに対する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のビデオブロックは、同じフレームまたはスライス中の隣接マクロブロックまたはコーディングユニットに関する空間的予測、あるいは他の参照フレームに関する時間的予測を使用し得る。
【発明の概要】
【０００５】
一般に、本開示は、コード化ビデオデータに対するコーディング特性の、シグナリングおよびシグナリングを処理するための技法を説明し、より詳細には、本開示は、ビデオデータの符号化ビットストリーム内でイントラ予測モードの、シグナリングおよびシグナリングを処理するための技法を説明する。ビデオコーディングでは、現在コード化されている（符号化されているか復号されているかのいずれか）ビデオデータのブロックは、前にコード化されたピクチャのビデオブロックから予測され得る（すなわち、インター予測(inter prediction)）か、または同じピクチャについてすでにコード化されているビデオブロックから予測され得る（すなわち、イントラ予測(intra prediction)）。ビデオブロックがイントラ予測であるとき、イントラ予測のモードは、時々、実際のイントラ予測モードが明白にシグナリングされるのとは対照的に、推定された実際のイントラ予測モードと、実際のイントラ予測モードとの間の差としてシグナリングされる。実際のイントラ予測モードが、通常、推定されるイントラ予測モードに近いものと仮定すると、可変長コーディング（ＶＬＣ）技法を使用して、実際のイントラ予測モードは比較的少ないビットを使用してシグナリングされ得る。いくつかの例では、本開示の技法は、いくつかのコーディングシナリオにおいて、実際のイントラ予測モードにより近い推定されたイントラ予測モードを決定することによって、ビデオデータのブロックをイントラコーディングするために使用されるイントラ予測モードのシグナリングのための効率を改善し得る。
【０００６】
一例では、ビデオデータをコーディングするための方法は、現在のビデオブロックに対して、第１の最尤イントラ予測モード(first most probable intra prediction)と第２の最尤イントラ予測モード(second most probable intra prediction mode)とを決定することと、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとに基づいて、現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めることとを含む。実際のイントラ予測モードの推定値を決定することは、第１の最尤モードが角度的イントラ予測モード(angular intra prediction mode)であることおよび第２の最尤モードが非角度的イントラ予測モード(non-angular intra prediction mode)であることに応答して、実際のイントラ予測モードの推定値として第１の最尤モードを選択すること、ならびに第１の最尤モードと第２の最尤モードの両方が異なる角度的予測モードであることに応答して、実際のイントラ予測の推定値として第１の最尤モードおよび第２の最尤モードの一方を選択することを含む。
【０００７】
別の例では、ビデオデータをコーディングするためのデバイスは、現在のビデオブロックに対して、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定し、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとに基づいて、現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めるように構成されたビデオコーダを含む。ビデオコーダは、第１の最尤モードが角度的イントラ予測モードであることおよび第２の最尤モードが非角度的イントラ予測モードであることに応答して、実際のイントラ予測モードの推定値として第１の最尤モードを選択すること、ならびに第１の最尤モードと第２の最尤モードの両方が異なる角度的予測モードであることに応答して、実際のイントラ予測の推定値として第１の最尤モードおよび第２の最尤モードの一方を選択することによって、実際のイントラ予測モードの推定値を決定するように構成される。
【０００８】
別の例では、ビデオデータをコーディングするための装置は、現在のビデオブロックに対して第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定するための手段と、第１の最尤イントラ予測モードおよび第２の最尤イントラ予測モードに基づいて、現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めるための手段とを含む。実際のイントラ予測モードの推定値を求めるための手段は、第１の最尤モードが角度的イントラ予測モードであることおよび第２の最尤モードが非角度的イントラ予測モードであることに応答して、実際のイントラ予測モードの推定値として第１の最尤モードを選択するための手段と、第１の最尤モードと第２の最尤モードの両方が異なる角度的予測モードであることに応答して、実際のイントラ予測の推定値として第１の最尤モードおよび第２の最尤モードの一方を選択するための手段とを含む。
【０００９】
別の例では、コンピュータ可読記憶媒体が、１つまたは複数のプロセッサに、現在のビデオブロックに対して、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定させ、第１の最尤イントラ予測モードおよび第２の最尤イントラ予測モードに基づいて、現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めさせるように動作可能な命令を記憶する。命令は、１つまたは複数のプロセッサに、第１の最尤モードが角度的イントラ予測モードであることおよび第２の最尤モードが非角度的イントラ予測モードであることに応答して、実際のイントラ予測モードの推定値として第１の最尤モードを選択すること、ならびに第１の最尤モードと第２の最尤モードの両方が異なる角度的予測モードであることに応答して、実際のイントラ予測の推定値として第１の最尤モードおよび第２の最尤モードの一方を選択することによって、実際のイントラ予測モードの推定値を決定させる。
【００１０】
１つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１１】
【図１】本開示の技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】イントラ予測モードを示す情報をコーディングするための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３Ａ】イントラ予測モードの一例を示す図。
【図３Ｂ】最尤イントラ予測モードおよび推定された実際のイントラ予測モードの一例を示す図。
【図３Ｃ】最尤イントラ予測モードおよび推定された実際のイントラ予測モードの一例を示す図。
【図４】現在ブロックに対する最尤モードを決定するために使用され得る現在ブロックおよび隣接ブロックの一例を示す図。
【図５】イントラ予測モードを示す情報を復号するための技法を実装し得るビデオデコーダの一例を示すブロック図。
【図６】本開示の技法によるイントラ予測モードをシグナリングする例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１２】
詳細な説明
一般に、本開示は、コード化ビデオデータに対するコーディング特性の、シグナリングおよびシグナリングを処理するための技法を説明し、より詳細には、本開示は、ビデオデータの符号化ビットストリーム内でイントラ予測モードの、シグナリングおよびシグナリングを処理するための技法を説明する。ビデオコーディングでは、現在コード化されている（たとえば、符号化されているか復号されているかのいずれか）ビデオデータのブロックは、前にコード化されているピクチャのビデオブロックから予測され得る（すなわち、インター予測）か、または同じピクチャについてすでにコード化されているビデオブロックから予測され得る（すなわち、イントラ予測）。ビデオブロックがイントラ予測であるとき、イントラ予測のモードは、時々、実際のイントラ予測モードが明白にシグナリングされるのとは対照的に、本開示で実際のイントラ予測モードの推定値とも呼ばれる参照モードと、実際のイントラ予測モードとの間の差としてシグナリングされる。以下でより詳細に説明されるように、イントラ予測の異なるモードは概括的に予測の異なる角度に対応するが、いくつかのモードは非角度的であるものとみなされる。
【００１３】
実際のイントラ予測モードが、通常、推定されるイントラ予測モードに近いものと仮定すると、可変長コーディング（ＶＬＣ）技法を使用して、実際のイントラ予測モードは比較的少ないビットを使用してシグナリングされ得る。いくつかの例では、本開示の技法は、いくつかのコーディングシナリオにおいて、実際のイントラ予測モードにより近い推定されたイントラ予測モードを決定することによって、ビデオデータのブロックをイントラコーディングするために使用されるイントラ予測モードのシグナリングのための効率を改善し得る。
【００１４】
現在ブロックに対する推定されたイントラ予測モードは、ブロックに対する最尤イントラ予測モードに基づいて決定され得る。これらの最尤イントラ予測モードは、本開示では、時として、単に最尤モードと呼ばれ得る。以下でより詳細に説明するように、現在のビデオブロックに対する最尤モードが、少なくとも部分的に、すでにコード化されている隣接ブロックのイントラ予測モードに基づいて選択され得る。たとえば、現在ブロックは、現在ブロックの上のブロックをコーディングするために使用されるイントラ予測モードと、現在ブロックの左のブロックをコーディングするために使用されるイントラ予測モードとに対応する２つの最尤モードを有し得る。ビデオブロックがラスタ走査順（たとえば、左から右でかつ上から下）にコード化されるものと仮定すると、現在ブロックの上のビデオブロックおよび現在ブロックの左のビデオブロックは、現在ブロックの前にコード化され、したがって、それらのブロックのイントラ予測モードは、現在ブロックをコーディングするより前にビデオコーダに知られる。また、現在ブロックは、隣接ブロックに基づいて同様に決定されるかまたはいくつかの他の方式で決定される追加の最尤モード（たとえば、第３の最尤モード、第４の最尤モードなど）を有し得る。
【００１５】
２つの最尤モードを仮定し、最尤イントラ予測モードのうちの１つが現在ブロックに対する実際のイントラ予測モードであるとき、実際のイントラ予測モードは、ブロックが最尤モードのうちの１つを使用してコード化されていることを示すために、２ビットの符号語(codeword)を使用してシグナリングされ得る。符号語「００」は、たとえば、ブロックに対する実際のイントラ予測モードが第１の最尤モードであることをシグナリングするために使用され、符号語「０１」は、ブロックに対する実際のイントラ予測モードが第２の最尤モードであることをシグナリングするために使用され得る。３つ以上の最尤モードを使用する場合、いくつかの例では、追加のビットが、どの最尤モードが実際のモードであるかをシグナリングするために使用され得る。
【００１６】
実際のモードまたは選択されたモードとも呼ばれる、使用のために選択されたモードが、最尤モードのうちの１つとは異なる場合の例では、実際のモードは、直接シグナリングされ得るか、または実際のモードと実際のモードの推定値との間の差情報（differential information）を使用してシグナリングされ得るかのいずれかである。これらの例では、実際のイントラ予測モードは、その符号語を最尤モードに対する符号語と区別するために、「１」で始まる符号語を使用してシグナリングされ得る。上の例は、最尤モードがビデオブロックのイントラ予測モードをシグナリングするために使用され得る多くのコーディング構造のうちの１つである。本開示の技法は、最尤モードを利用するためのいずれか１つの特定の構造に限定されない。
【００１７】
イントラ予測モードを推定されたモードと実際のモードとの間の差としてシグナリングするとき、差情報は、符号化ビットストリーム内の符号語としてビデオエンコーダからデコーダにシグナリングされ得る。たとえば、符号語は、実際のモードの推定値と実際のモードとの間の連続的モード順序における差に対応する、可変長符号語であってよい。可変長のコード名を使用する場合、たとえば、より短い符号語がより頻繁に発生する差に割り当てられ、一方、より長い符号語がより少ない頻度で発生する差に割り当てられる。たとえば、より頻繁に発生する差はより短い差であり、一方、より少ない頻度で発生する差はより長い距離である。したがって、実際のイントラ予測モードの推定値が実際のイントラ予測モードから遠いときよりも、実際のイントラ予測モードの推定値が実際の予測に近いときに、より少ないビットが、概して、差情報をシグナリングするために使用される。以下の例でより詳細に説明するように、２つのイントラ予測モード間の距離は、概して、それらの連続的モード順序における差の絶対値であるものとみなされ得る。したがって、連続的モード順序が３のモードと１５のモードとは、連続的モード順序が８のモードと６のモードとよりも遠く離れているものとみなされ得る。
【００１８】
現在の技法によれば、最尤モードセット内の２つのモードが角度的（すなわち、非角度的とは対照的に）であるとき、推定されるモードは、２つの最尤モードの角度の平均値または中央値として求められる。しかしながら、いくつかの例では、この推定されたモードは、たとえば連続的モード順序の観点から、現在のビデオブロックのために使用される実際のモードに近いもののすべてであるとは限らない。したがって、２つの最尤モードの平均値または中央値を使用する代わりに、実際のモードの推定値として最尤モードのうちの１つを使用することの方が、より正確であり得る。たとえば、エッジが隣接ブロック内に存在する場合、最尤モードは、かなり正確に情報を伝え得る。エッジは、最尤モードのうちの１つから１つまたは２つの角度だけシフトし得るが、エッジは、特に、２つの最尤モードの角度が大きい量で異なるときは、２つの最尤モードの中間の角度にシフトすることはできそうにない。言い換えれば、２つの最尤モードが比較的大きい角度差を有する場合、それら２つの最尤モードの平均値または中央値に基づく推定値は、実際のモードである可能性が小さいモードに対してより短い符号語を、所望の頻度より高い頻度で割り当てることがあり、そのことが、コーディング効率を低下させる。本開示は、全体的に、２つの最尤モードのうちの１つを実際のイントラ予測モードの推定値となるように選択することによって、実際のイントラ予測モードの推定値を求めるための技法を説明する。
【００１９】
実際のイントラ予測モードの推定値は、たとえば、ビデオデータのブロックをコーディングするために使用される実際のイントラ予測モードを識別するために、差情報と連動して使用され得る。したがって、ビデオエンコーダおよびビデオデコーダが、実際のイントラ予測モードに対して同じ推定値を両方が求めるように構成される場合、ビデオデコーダが、ビデオデータのブロックをコーディングするために使用されるイントラ予測モードを決定するために、実際のイントラ予測モードの推定値と実際のイントラ予測モードとの間の差だけが、符号化ビットストリーム内で伝えられる必要がある。
【００２０】
図１は、本開示の技法に従って、ビデオデータのブロックに対するイントラ予測モードを表すシンタックスデータをコーディングするための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先デバイス１４に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、広範囲のデバイスのいずれかを備えることができる。場合によっては、ソースデバイス１２および宛先デバイス１４は、いわゆるセルラー電話または衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信デバイス、または通信チャネル１６を介してビデオ情報を通信することができ、その場合、通信チャネル１６がワイヤレスである任意のワイヤレスデバイスを備え得る。
【００２１】
ただし、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータのコード化に関係する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。たとえば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用し得る。したがって、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスまたはワイヤード媒体の任意の組合せを備え得る。その上、通信チャネル１６は、ビデオ符号化デバイスがビデオ復号デバイスにデータを送信し得る多くの方法のうちのただ１つを表すためのものである。たとえば、システム１０の他の構成では、ソースデバイス１２は、宛先デバイス１４による復号のために符号化ビデオを生成し、必要に応じて、符号化ビデオが宛先デバイス１４によってアクセスされ得るように、記憶媒体またはファイルサーバ上に符号化ビデオを記憶し得る。
【００２２】
図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、送信機２４とを含む。宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。ビデオエンコーダ２０およびビデオデコーダ３０は、同様に、本開示の技法を実行するように構成され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、最尤モードおよび推定されたモードが符号化ビデオのビットストリーム内で明白にシグナリングされる必要がないように、同じ技法を使用して最尤モードと推定されるモードとを求めるように構成され得る。
【００２３】
図１の図示のシステム１０は一例にすぎない。ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータのコード化のための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話のための、ビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートできる。
【００２４】
ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き携帯電話またはビデオ電話を形成できる。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各々の場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータで生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、次いで、通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含むことができる。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含むことができる。
【００２５】
宛先デバイス１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８は情報を復調する。この場合も、ビデオ符号化プロセスは、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータをコード化するために、本明細書で説明する技法のうちの１つまたは複数を実施できる。チャネル１６を介して通信される情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、マクロブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００２６】
図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成できる。通信チャネル１６は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用なルータ、スイッチ、基地局、または任意の他の機器を含むことができる。
【００２７】
ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠できる。
【００２８】
ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、一般にＨ．２６４規格に準拠するデバイスに適用できる。Ｈ．２６４規格は、ＩＴＵ−Ｔ研究グループによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」に記載されており、本明細書ではＨ．２６４規格またはＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格または仕様と呼ぶ。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００２９】
ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
【００３０】
ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャのグループ（ＧＯＰ：group of pictures）は、概して、一連の１つまたは複数のビデオフレームを備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのフレームを記述するシンタックスデータを、ＧＯＰのヘッダ中、ＧＯＰの１つまたは複数のフレームのヘッダ中、または他の場所に含み得る。各フレームは、それぞれのフレームの符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、マクロブロックまたはマクロブロックのパーティションに対応し得る。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のマクロブロックを含み得、それらはサブブロックとも呼ばれるパーティションに配置され得る。
【００３１】
一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×（x）Ｎ」と「Ｎ×（by）Ｎ」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、１６×（x）１６ピクセルまたは１６×（by）１６ピクセルを指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ただし、Ｎは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得る一方で、Ｍは必ずしもＮに等しいとは限らない。１６×１６より小さいブロックサイズは、ＩＴＵ−Ｔ  Ｈ．２６４における１６×１６マクロブロックの区画と呼ばれ得る。
【００３２】
ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え得、あるいは、たとえば、コード化ビデオブロックと予測ビデオブロックとの間のピクセル差分を表す残差ビデオブロックデータ(residual video block data)への離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
【００３３】
ビデオブロックは、小さいほどより良い解像度が得られ、高い詳細レベルを含むビデオフレームの位置決めに使用できる。概して、マクロブロック、およびサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックとみなされ得る。さらに、スライスは、マクロブロックおよび／またはサブブロックなど、複数のビデオブロックであるとみなされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体を復号可能なユニットとすることができるか、またはフレームの他の部分を復号可能なユニットとして定義できる。「コード化ユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャのグループ（ＧＯＰ）など、ビデオフレームの単独で復号可能な任意のユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指すことがある。
【００３４】
高効率ビデオコーディング（ＨＥＶＣ）と現在呼ばれる、新しいビデオコーディング規格を開発するための取組みが現在進行中である。新興のＨＥＶＣ規格はＨ．２６５と呼ばれることもあり得る。この規格化の取組みは、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）と呼ばれるビデオコーディングデバイスのモデルに基づく。ＨＭは、たとえばＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従ってデバイスを介したビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測モードを与えるが、ＨＭは、たとえば、イントラ予測コード化されるブロックのサイズに基づいて、３３個ものイントラ予測モードを与える。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９」または「ＷＤ９」と呼ばれるＨＥＶＣ規格の最近のドラフトは、文書ＪＣＴＶＣ−Ｋ１００３、Ｂｒｏｓｓら、「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ９」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）、第１１回会合：中国上海、２０１２年１０月１０−１９日の中で説明されており、文書は、２０１２年１１月１３日の時点で下記のリンク：  ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔ／１１＿Ｓｈａｎｇｈａｉ／ｗｇ１１／ＪＣＴＶＣ−Ｋ１００３−ｖ７．ｚｉｐからダウンロード可能である。
【００３５】
ＨＭは、ビデオデータのブロックをコーディングユニット（ＣＵ）と称する。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大のコーディングユニットである最大コーディングユニット（ＬＣＵ：largest coding unit）を定義し得る。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。したがって、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コーディングユニットまたはＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵはサブＣＵに分割され得る。ビットストリームのシンタックスデータは、ＣＵ深度と呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示ではまた、ＣＵ、予測ユニット（ＰＵ）、または変換ユニット（ＴＵ）のいずれかを指すために「ブロック」という用語を使用する。
【００３６】
ＬＣＵは４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグ(split flag)を含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。
【００３７】
分割されないＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。一般に、ＰＵは、対応するＣＵの全部または一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルが指す参照フレーム、および／または動きベクトルの参照リスト（たとえば、リスト０もしくはリスト１）を記述し得る。（１つまたは複数の）ＰＵを定義するＣＵのデータはまた、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵがコード化されないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。
【００３８】
１つまたは複数のＰＵを有するＣＵはまた、１つまたは複数の変換ユニット（ＴＵ）を含み得る。ＰＵを使用した予測の後に、ビデオエンコーダは、ＰＵに対応するＣＵの部分の残差値(residual value)を計算し得る。残差値のセットは、変換され、走査され、量子化されて、変換係数のセットが定義され得る。ＴＵは、変換係数を含むデータ構造を定義する。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、同じＣＵの対応するＰＵよりも大きいことも小さいこともある。いくつかの例では、ＴＵの最大サイズは、対応するＣＵのサイズに対応し得る。
【００３９】
本開示の技法によれば、ビデオエンコーダ２０は、イントラ予測モード符号化を使用してビデオデータのいくつかのブロックを符号化し、ブロックを符号化するために使用される選択された（すなわち、実際の）イントラ予測モードを示す情報を提供し得る。ビデオエンコーダ２０は、ＰフレームまたはＰスライス、およびＢフレームまたはＢスライスに加えて、たとえば、ＩフレームまたはＩスライスなど、イントラ予測モードを使用して、任意のタイプのフレームまたはスライスのブロックをイントラ予測符号化し得る。あるブロックがイントラ予測モード符号化されるべきであることをビデオエンコーダ２０が決定したとき、ビデオエンコーダ２０は、最も適切なイントラ予測モードを選択するためにレートひずみ分析(rate-distortion analysis)を実行できる。たとえば、ビデオエンコーダ２０は、１つまたは複数のイントラ予測モードについてのレートひずみ値を計算し、受容できるレートひずみ特性を有するモードのうちの１つを選択できる。
【００４０】
ビデオエンコーダ２０は、ブロックの符号化コンテキストを決定するように構成することもできる。コンテキストは、たとえば、ピクセル寸法で決定され得るブロックのサイズ、たとえばＨＥＶＣの例における２Ｎ×２Ｎ、Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×Ｎなどの予測ユニット（ＰＵ）タイプ、２Ｎ×Ｎ／２、Ｎ／２×２Ｎ、２Ｎ×１、１×２Ｎなどの短距離イントラ予測（ＳＤＩＰ）タイプ、Ｈ．２６４の例におけるマクロブロックタイプ、ブロックについてのコーディングユニット（ＣＵ）深さ、またはビデオデータのブロックについてのサイズの他の測定値など、ブロックの様々な特性を含むことができる。いくつかの例では、コンテキストは、上に隣接するブロック、左に隣接するブロック、左上に隣接するブロック、右上に隣接するブロック、または他の隣接するブロックに対して、コーディングモードなどの情報に基づいて決定され得る。いくつかの例では、コンテキストは、１つまたは複数のブロックについてのイントラ予測モードと、符号化されている現在ブロックのサイズ情報の両方を含み得る。
【００４１】
いずれの場合も、ビデオエンコーダ２０は、ブロックのコンテキストを現在ブロックについての様々なコーディング特性にマッピングする構成データを含み得る。たとえば、ブロックのコンテキストに基づいて、構成データは、１つまたは複数の最尤イントラ予測モード、および／または１つまたは複数の可変長符号（ＶＬＣ）テーブルを示し得る。上で紹介したように、ＶＬＣテーブルは、符号語を異なる値にマッピングし得る。たとえば、異なる値は、実際のモードと推定されるモードとの間の連続的モード順序(sequential mode order)における差であり得る。
【００４２】
ビデオエンコーダ２０は、いくつかの例では、コンテキストに基づいて、最尤モードでイントラ予測モードの選択のための分析を開始するように構成され得る。最尤モードが適切なレートひずみ特性を達成するとき、いくつかの例では、ビデオエンコーダ２０は、最尤モードを選択できる。他の例では、ビデオエンコーダ２０は、最尤モードで選択プロセスを開始する必要はない。
【００４３】
予測データと残差データとを生成するためのイントラ予測コーディングまたはインター予測コーディングの後、および変換係数を生成するための（Ｈ．２６４／ＡＶＣで使用される４×４または８×８整数変換、あるいは離散コサイン変換ＤＣＴなどの）任意の変換の後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度(bit depth)を低減できる。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ｎはｍよりも大きい。
【００４４】
量子化の後に、たとえば、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ：content adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、または別のエントロピーコーディング方法に従って、量子化データのエントロピーコーディングが実行され得る。エントロピーコーディング用に構成された処理ユニットまたは別の処理ユニットは、量子化係数のゼロランレングスコーディング、および／またはコード化ブロックパターン（ＣＢＰ）値、マクロブロックタイプ、コーディングモード、（フレーム、スライス、マクロブロック、またはシーケンスなどの）コード化ユニットの最大マクロブロックサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。
【００４５】
ビデオデコーダ３０は、最終的に、符号化ビデオデータを、たとえばモデム２８から受信し、受信機２６は、記憶媒体のための、または何らかの他の方式におけるファイルサーバから受信する。本開示の技法によれば、ビデオデコーダ３０は、ビデオデータのブロックを符号化するために使用されるイントラ予測モードを識別するシンタックス要素を表す符号語を受信し得る。ビデオデコーダ３０は、ビデオエンコーダ２０と実質的に同様の方法でブロックのコーディングコンテキストを判断するように構成され得る。その上、ビデオデコーダ３０は、ビデオエンコーダ２０に対するのと類似の構成データ、たとえば隣接ブロックのモードに基づいて最尤モードを決定するための情報を含み得る。ビデオデコーダ３０は、ビデオエンコーダ２０に対するのと類似の方式で実際のイントラ予測モードに対する推定値を求め得る。すなわち、ビデオデコーダ３０は、最尤モードと実際のイントラ予測モードの推定値とを決定するために、ビデオエンコーダ２０によって使用されるプロセスと同等または類似のプロセスを適用するように構成され得る。このようにして、ビデオデコーダ３０は、ビデオエンコーダ２０と同じ最尤モードと、同じ実際のイントラ予測モードの推定値とを決定する。受信された符号語に基づいて、ビデオデコーダ３０は、次いで、推定されたイントラ予測モードと実際のイントラ予測モードとの間の差を求め得る。したがって、符号語および推定されたイントラ予測モードに基づいて、ビデオデコーダ３０は、実際のイントラ予測モードを決定し得る。一例では、ビデオデコーダ３０は、復号される現在ブロックに対する実際のイントラ予測モードを示す値を作成するために、符号語によって示される差の値と、推定されたイントラ予測モードによって示される値とを合計する。
【００４６】
ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含む装置は、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００４７】
図２は、イントラ予測モードを示す情報をコーディングするための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ビデオフレーム内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは時間的予測を利用して、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去する。イントラ予測モード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し、単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインター予測モードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【００４８】
図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、メモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピーコーディングユニット５６とを含む。ビデオブロック復元のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。図２に示されていないが、非ブロック化フィルタ、サンプル適応型オフセットフィルタ、および適応型ループフィルタなど、１つまたは複数のループフィルタは、同様に、再構築されたビデオブロックをフィルタ処理するために含まれ得る。所望される場合、１つまたは複数のループフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。
【００４９】
符号化プロセス中に、ビデオエンコーダ２０は、コード化されるビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対する受信したビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット４６は、空間圧縮を行うためにコード化されるブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する受信したビデオブロックのイントラ予測コーディングを実行し得る。
【００５０】
モード選択ユニット４０は、たとえば、誤差結果に基づいて、およびコード化されている現在ブロックを含むフレームまたはスライスについてのフレームタイプまたはスライスタイプに基づいて、コーディングモード、すなわち、イントラまたはインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器５０に与え、参照フレームまたは参照スライス中で使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器６２に供給し得る。概して、イントラ予測は、隣接する、前にコード化されたブロック内のピクセルサンプルに対して現在ブロックを予測することを伴い、一方、インター予測は、現在ブロックを時間的に予測するために動き推定および動き補償を伴う。
【００５１】
動き推定ユニット４２と動き補償ユニット４４とは、ビデオエンコーダ２０のインター予測要素を表す。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム（または、他のコード化ユニット）内のコード化されている現在ブロックに対する予測参照フレーム(predictive reference frame)（または、他のコード化ユニット）内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって判断され得るピクセル差分に関して、コード化されるべきブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、マクロブロックのパーティションの変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。
【００５２】
動き推定ユニット４２は、ビデオブロックをメモリ６４中の参照フレームのビデオブロックと比較することによってインターコード化フレームのビデオブロックの動きベクトルを計算する。動き補償ユニット４４はまた、参照フレーム、たとえば、ＩフレームまたはＰフレームのサブ整数ピクセルを補間し得る。例として、ＩＴＵ  Ｈ．２６４規格およびＨＥＶＣ規格には、符号化されている現在フレームよりも前の表示順序を有する参照フレームを含むリスト０、および符号化されている現在フレームよりも後の表示順序を有する参照フレームを含むリスト１という２つの参照ピクチャリストの使用が記載されている。したがって、メモリ６４に記憶されたデータは、これらのリストに従って編成され得る。
【００５３】
動き推定ユニット４２は、メモリ６４からの１つまたは複数の参照フレームのブロックを、現在のフレーム、たとえば、ＰフレームまたはＢフレームの符号化されるべきブロックと比較する。メモリ６４中の参照フレームがサブ整数ピクセルの値を含むとき、動き推定ユニット４２によって計算される動きベクトルは参照フレームのサブ整数ピクセルロケーションを参照し得る。動き推定ユニット４２および／または動き補償ユニット４４はまた、サブ整数ピクセル位置の値がメモリ６４に記憶されていない場合、メモリ６４に記憶された参照フレームのサブ整数ピクセル位置の値を計算するように構成され得る。動き推定ユニット４２は、計算された動きベクトルをエントロピーコーディングユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれることがある。動き補償ユニット４４は、インター予測ブロックに基づいて予測データを計算し得る。
【００５４】
イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を判断する。イントラ予測モジュール４６は、どのイントラ予測モードがブロックについての最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックについてのひずみおよびレートから比を計算し得る。
【００５５】
本開示の技法は、ＨＥＶＣなどの符号化規格および技法に適用され得る。いくつかの例では、たとえばＨＥＶＣにおいて、使用可能なイントラ予測モードの数は、コード化されているブロックのサイズ（たとえば、ＨＥＶＣでの「コーディングユニット」または「ＣＵ」）に依存し得る。各イントラ予測モードに対して、モードインデックスが割り当てられ得る。図３Ａに、ＨＥＶＣとともに使用され得るイントラ予測モード、および対応するモードインデックスの例を示す。図３Ａの矢印は予測方向を表し、番号はモードインデックスを表す。図３Ａに示されるモードインデックスは、他の図において使用される任意の参照番号に対応するものと仮定されるべきではない。
【００５６】
図３Ｂおよび図３Ｃの例に示されるように、各モードはまた、モードインデックスとは異なる連続的モード順序を有し得る。一般に、２種類のイントラ予測モードがある。（１）イントラ予測が一定の方向に沿って実行される角度的モード、および（２）ＤＣ予測および平面予測などの非角度的モードである。最尤モードセット内の両モードが角度的であるとき、現在知られている技法に従う実際のモードの推定値は、図３Ｂおよび図３Ｃの例に示されるように、その角度の平均値または中央値であり得る。本開示は、実際のイントラ予測モードの推定値を求めるための新しい技法を説明する。
【００５７】
図３Ｂは、最尤モードセット内の２つのモードの一例を示す。図３Ｂのモードは、２つの異なる方式でと標示されている。円内にない番号は、イントラ予測モードインデックスに対応する。たとえば、イントラ予測モードインデックスは、コーディングにおいて使用されるために、いかに頻繁にモードが予想されるかに対応し得るが、必ずしもそのような相関関係が必要であるとは限らない。円内の番号は、連続的モード順序を表す。連続的モード順序付けは、それらの予測の角度に基づくモードの順序付けに対応する。連続的モード順序付けにおいて、たとえば、連続的モード順序６を有するモードの角度は、連続的モード順序５を有するモードの角度と連続的モード順序７を有するモードの角度との間にある。図３Ｂの例では、２つの最尤モードは、モードインデックス１１および１３を有するイントラ予測モードである。たとえば、これらの２つの最尤モードは、２つの隣接ブロックをコーディングするために使用されるモードに対応し得る。
【００５８】
従来技術の技法によれば、２つの最尤モードに基づく実際のイントラ予測モードの推定値は、２つの最尤モードの連続的モード順序の平均値または中央値であってよい。したがって、従来技術の技法による図３Ｂの例では、連続的モード順序４は連続的モード順序６と連続的モード順序２との平均値であるので、実際のイントラ予測モードの推定値は、イントラ予測モード１２となり得る。しかしながら、本開示の技法によれば、平均値または中央値ではない２つの最尤モードの一方が、実際のイントラ予測モードの推定値として選択され得る。したがって、本開示の技法によれば、実際のイントラ予測モードの推定値は、イントラ予測モード１２ではなく、イントラ予測モード１１かまたはイントラ予測モード１３のいずれかであり得る。イントラ予測モード１１およびイントラ予測モード１３のどちらが実際のイントラ予測モードの推定値として使用されるかを選択するための技法は、以下でより詳細に説明される。
【００５９】
図３Ｃは、最尤モードセット内の２つの最尤モードが遠く離れている（すなわち、角度において大きい差を有する）ときに、実際のイントラ予測モードの推定値を求めるために使用され得る代替の従来技術の技法の例を示す。図３Ｃの例では、２つの最尤モードは、モードインデックス１３および１６を有するイントラ予測モードである。従来技術の一技法によれば、２つの最尤モード間の角度が大きいとき、平均値または中央値は２つの最尤モードに対して求められ、実際のイントラ予測モードの推定値は、９０度だけ調整された平均値または中央値であり得る（たとえば、モード１０から９０度回転された、図３Ｃの例におけるモード１７）。代替として、平均値または中央値は、１つの最尤モードと他の最尤モードの鏡映方向（mirrored direction）との間で求められ得る。しかしながら、本開示の技法によれば、実際のイントラ予測モードの推定値は、最尤モードが遠く離れているときでも、最尤モードのうちの１つであり得る。したがって、図３Ｃの例では、実際のイントラ予測モードの推定値は、イントラ予測モード１７ではなく、イントラ予測モード１６かまたはイントラ予測モード１３のいずれかであり得る。イントラ予測モード１６およびイントラ予測モード１３のどちらが実際のイントラ予測モードの推定値として使用されるかを選択するための技法は、以下でより詳細に説明される。
【００６０】
図３Ｂおよび図３Ｃにおける最尤モードは、すでにコード化されている隣接ブロックのモードに対応し得る。図３Ｂおよび図３Ｃは、２つの例を表すことを意図されており、これらの例における特定の最尤モードが、説明のためにランダムに選択されている。図３Ｂおよび図３Ｃに示される任意の２つのモードは、潜在的に、本開示の技法による最尤モードであり得る。
【００６１】
以下の表１は、ＣＵのサイズと、そのサイズのＣＵを符号化するために利用可能なイントラ予測モードの番号との間の、潜在的な対応の一例を示す。表１の例によってわかるように、８×８、１６×１６、および３２×３２のＣＵは、図３Ａに示される３５のイントラ予測モードを使用することができ、一方、４×４および６４×６４のＣＵは、イントラ予測モードのより小さいセットを使用する。
【表１】
0005866453.tif 000002
【００６２】
いずれの場合にも、ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピーコーディングユニット５６に与え得る。エントロピーコーディングユニット５６は、本開示の技法に従って、実際のイントラ予測モードを示す情報を符号化し得る。たとえば、ビデオエンコーダ２０は、現在ブロックに対する実際のイントラ予測モードと実際のイントラ予測モードの推定値との間の差を識別する差情報を符号化ビットストリーム内でシグナリングできる。上記で説明したように、実際のイントラ予測は、レートひずみ分析に基づいて決定される一方で、最尤イントラ予測モードは、すでにコード化された隣接ブロックをコーディングするために使用されるモードなど、コンテキスト情報に基づいて決定され得る。
【００６３】
本開示の技法によれば、イントラ予測ユニット４６は、１つまたは複数の異なる規準による最尤モードに基づいて実際のモードの推定値を求め得る。最尤モードは、隣接ブロックをコーディングするために使用されるモードおよび／または隣接ブロックのサイズなど、１つまたは複数の隣接ブロックに関連するデータから導出されるコンテキストに基づいて決定され得る。
【００６４】
図４は、現在ブロックに対する最尤モードを決定するために使用され得る現在ブロックおよび隣接ブロックの一例を示す。ブロック４０２は、現在コード化されているブロックの一例を表す。ブロック４０４は、左上の隣接ブロックの一例を表す。ブロック４０６は、上の隣接ブロックの一例を表す。ブロック４０８は、右上の隣接ブロックの一例を表し、ブロック４１０は、左の隣接ブロックの一例を表す。ブロックが、左から右でかつ上から下のラスタ走査順でコード化されているものと仮定すると、ブロック４０４、ブロック４０６、ブロック４０８およびブロック４１０は、ブロック４０２がコード化される前にコード化される。したがって、これらの隣接ブロックのコーディングモードは、ブロック４０２がコード化される前に知られている。ブロック４０４、ブロック４０６、ブロック４０８およびブロック４１０、ならびに図示されない他のすでにコード化された隣接ブロックのうちのいずれかが、ブロック４０２に対する最尤モードを決定するために使用され得る。
【００６５】
例として、ブロック４０６およびブロック４１０が、ブロック４０２に対する最尤モードを決定するために使用されるものと仮定する。追加として、ブロック４０２は、３つの最尤モードを有するものと仮定する。ブロック４０６およびブロック４１０が同じ角度的モードを使用してコード化される場合の例では、３つの最尤モードは、ブロック４０６およびブロック４１０をコーディングするために使用される角度的モード、ならびにそのモードに隣接する２つの角度的モードであり得る。ブロック４０６およびブロック４１０が異なる角度的モードを使用してコード化される場合の例では、それらの角度的モードのそれぞれが、最尤モードとして使用されてよく、第３の最尤モードは、非角度的モード（たとえば、平面またはＤＣ）のうちの１つから選択され得る。ブロック４０６およびブロック４１０の一方が角度的モードを使用してコード化され、他方が非角度的モードを使用してコード化される場合の例では、角度的モードと非角度的モードの両方が最尤モードとして使用され得、第３の最尤モードが、最尤モードとしてすでに使用された非角度的モードとは異なる非角度的モードとなるように選択され得るか、またはいくつかの他のモードとなるように選択され得る。これらの例は、ビデオエンコーダ２０およびビデオデコーダ３０が最尤モードを決定し得る多くの方法のうちのほんの少数を表す。
【００６６】
上記で説明したように、最尤モードが決定された後、イントラ予測ユニット４６は、コード化されているブロックに対する実際のイントラ予測モードが最尤モードのうちの１つであるかどうかを示す１つまたは複数のシンタックス要素を生成し得る。実際のイントラ予測モードが最尤モードのうちの１つでない場合、イントラ予測ユニット４６は、最尤モードに基づいて実際のモードに対する推定値を求め、実際のイントラ予測モードと実際のイントラ予測モードの推定値との間の差を示すシンタックス要素を生成し得る。ビデオエンコーダ２０が、図４を参照して上記で説明した例における３つの最尤モードなど、３つ以上の最尤モードを決定するように構成される場合の例では、ビデオエンコーダ２０は、最尤モードのすべてより少ない最尤モードを使用して実際の予測の推定値を求め得る。一例として、ビデオエンコーダ２０は、第３の最尤モードを使用せずに２つの隣接ブロックのモードに対応する２つの最尤モードを使用して実際のイントラ予測モードの推定値を求め得る。
【００６７】
本開示の技法によれば、１つの最尤モードが角度的予測モードであり、別の最尤モードが非角度的予測モードであるとき、イントラ予測ユニット４６は、角度的最尤モードを使用することによって、実際のイントラ予測モードの推定値として実際のイントラ予測モードの推定値を求め得る。
【００６８】
両方の最尤モードが角度的予測モードであるとき、実際のモードの推定値は、最尤モードのうちの１つであり得る。第１の最尤モードおよび第２の最尤モードがいずれも角度的モードであるが同じモードではない場合の例では、イントラ予測ユニット４６は、２つの最尤モードの平均値または中央値を実際のイントラ予測モードの推定値として使用するのとは対照的に、２つの最尤モードの一方を実際のモードの推定値となるように選択し得る。たとえば、これは、２つの隣接ブロックが、いずれも角度的モードであるが異なる角度的モードを有するときに発生する。隣接ブロックが同じ角度的モードを有する場合の例では、その角度的モードは最尤モードのうちの１つであり得、実際のイントラ予測モードがブロックをコーディングするために使用されない場合、イントラ予測ユニット４６は、その角度的モードを実際のイントラ予測モードの推定値として使用し得る。
【００６９】
第１の最尤モードおよび第２の最尤モードが異なる角度的モードである場合の例において、どの最尤モードを実際のモードの推定値として使用するかを選択するために、以下の技法のうちの１つまたは複数が使用され得る。一例では、イントラ予測ユニット４６は、垂直角（たとえば、図３Ｂおよび図３Ｃのイントラ予測モード０）により近い予測の角度を有する最尤モードを、実際のイントラ予測モードの推定値として選択し得る。別の例では、イントラ予測ユニット４６は、垂直角（たとえば、モード０）と水平角（たとえば、図３Ｂおよび図３Ｃのイントラ予測モード１）との間にない最尤モードを、実際のイントラ予測モードの推定値として選択し得る。言い換えれば、２つの最尤モードの一方が、イントラ予測モード０とイントラ予測モード１との間のイントラ予測モードである場合、イントラ予測ユニット４６は、イントラ予測モード０とイントラ予測モード１との間にない最尤イントラ予測モードのうちの１つを実際のイントラ予測モードの推定値として選択するように構成され得る。
【００７０】
他の例では、イントラ予測ユニット４６は、最尤モードのうちの１つを実際のイントラ予測モードの推定値として選択し、その選択をシグナリングし得る。どの最尤モードが実際のモードの推定値であるかのシグナリングは、たとえば、符号語内に含まれ得、それにより、符号語は、実際のモードの推定値と、実際のモードの推定値と実際のモードとの間の差の両方を識別する。
【００７１】
一例では、イントラ予測ユニット４６は、より小さいイントラモード番号を有する最尤モードを、実際のイントラ予測モードの推定値として選択し得る。たとえば、図３Ｂを参照すると、イントラ予測モード０は、モード１よりも好ましい。代替として、連続的モード順序付け、選好(preference)の個別の順序付け、または何らかの他の順序付けが使用され得る。
【００７２】
一例では、イントラ予測ユニット４６は、隣接ブロックの情報に基づいて、最尤モードを実際のイントラ予測モードの推定値として選択し得る。たとえば、イントラ予測ユニット４６は、左上のブロックのイントラ予測モードをチェックし、次いで、左上のブロックのイントラ予測モードにより近い最尤モードを、実際のモードの推定値として取り上げることができる。たとえば、上の隣接ブロックおよび左の隣接ブロックが最尤モードを決定するために使用される場合、左上のブロックは、この状況において、どの最尤モードを実際のモードの推定値として使用するかを選択するために使用され得る。一例として図４を使用して、ブロック４０６およびブロック４１０のモードが最尤モードとして使用される場合、ブロック４０４のイントラ予測モードは、ブロック４０６およびブロック４１０のどちらが、実際のイントラ予測モードの推定値として使用されるべきかを判断するために使用され得る。具体的には、一例では、連続的モード順序に基づいてブロック４０４のモードに数値的に最も近いブロック４０６または４１０のモードが、実際のイントラ予測モードの推定値として選択される。
【００７３】
一例では、イントラ予測ユニット４６は、最尤モードブロックの情報に基づいて、最尤モードを実際のイントラ予測モードの推定値として選択し得る。たとえば、１つの最尤モードが上の隣接ブロックからであり、１つの最尤モードが左の隣接ブロックからである場合、イントラ予測ユニット４６は、現在ブロックと類似のサイズを有するブロックに属する最尤モードを実際のモードの推定値として選択し得る。これらの規準の追加または代替として、ＰＵ深さ、インター／イントラモード、または何らかの他のタイプのブロック情報もまた使用され得る。
【００７４】
本開示の追加の技法によれば、ビデオエンコーダ２０は、推定される実際のイントラ予測モードとして両方の最尤モードを使用して、推定される実際のイントラ予測モードを求め得る。たとえば、ビデオエンコーダ２０は、連続的モード順序によって測定される、最尤モードのうちの１つまでの最短距離(shortest distance)を使用することによってイントラ予測モードに対する差を計算し得る。符号語は、概してより小さい距離に対して使用されるより短い符号語を用いて分類される距離に基づいて割り当てられ得る。そのような技法を使用すると、いくつかのモードが同じ距離を有することがある。したがって、本開示は、同じ距離を有するモード間を区別するための技法を説明する。たとえば、技法は、好適な最尤モード、好適な予測方向、および／または隣接ブロックの情報に基づくことができる。このコンテキストでは、「好適な」は、イントラ予測モードをシグナリングするために、特定の最尤モードまたは特定の予測方向の選択におけるビデオエンコーダの好適性を指し、必ずしも、最良のコーディング性能を提供する最尤モードまたは予測方向と同じであるとは限らない。
【００７５】
一例として、最尤モード０が、最尤モード１に対して好適なモードであるものと仮定すると、最尤モードと実際のモードとの間の距離は、以下の、ＭＰＭ０＿＋１、ＭＰＭ０＿−１、ＭＰＭ１＿＋１、ＭＰＭ１＿−１、ＭＰＭ０＿＋２、ＭＰＭ０＿−２、ＭＰＭ１＿＋２、ＭＰＭ１＿−２などのように分類され得、ＭＰＭ０が第１の最尤モードに対応し、ＭＰＭ１が第２の最尤モードに対応する。ＭＰＭ０＿＋１は、第１の最尤モードから（連続的モード順序に基づいて）＋１の距離を表し、ＭＰＭ＿−１は、第１の最尤モードから−１の距離を表す。代替として、分類される距離は、ＭＰＭ０＿−１、ＭＰＭ０＿＋１、ＭＰＭ１＿−１、ＭＰＭ１＿＋１、ＭＰＭ０＿−２、ＭＰＭ０＿＋２、ＭＰＭ１＿−２、ＭＰＭ１＿＋２などであり得る。これらの分類順序は、多くの可能性のある分類順序のうちの２つを表すにすぎない。これらの分類順序は、概して、最小符号語から最長符号語までの各距離に割り当てられる符号語の長さに対応する。したがって、上で示された第１の分類順序に対して、ＭＰＭ０＿＋１が最短の符号語を有する一方で、ＭＰＭ１＿−２はより長い符号語を有し得る。上で示された第２の分類順序では、ＭＰＭ０＿−１が最短の符号語を有し得る。
【００７６】
たとえば、イントラ予測またはインター予測を使用して、現在ブロックを予測した後、ビデオエンコーダ２０は、コード化されている元のビデオブロックから、動き補償ユニット４４またはイントラ予測ユニット４６によって計算された予測データを減算することによって残差ビデオブロックを形成し得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義される変換など、他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。量子化ユニット５４は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減できる。量子化の程度は、量子化パラメータを調整することによって変更され得る。
【００７７】
量子化の後、エントロピーコーディングユニット５６が量子化変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット５６は、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または別のエントロピーコーディング技法を実行し得る。エントロピーコーディングユニット５６によるエントロピーコーディングの後、符号化ビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。コンテキスト適応型バイナリ算術コーディングの場合、コンテキストは隣接ブロックおよび／またはブロックサイズに基づき得る。
【００７８】
場合によっては、エントロピーコーディングユニット５６またはビデオエンコーダ２０の別のユニットは、上で説明したように、エントロピーコーディングおよびイントラ予測モードのコーディングに加えて他のコーディング機能を実行するように構成され得る。たとえば、エントロピーコーディングユニット５６は、ブロックおよびパーティションのためのコード化ブロックパターン（ＣＢＰ：coded block pattern）値を判断するように構成され得る。また、場合によっては、エントロピーコーディングユニット５６は、マクロブロックまたはそれのパーティション中の係数のランレングスコーディングを実行し得る。特に、エントロピーコーディングユニット５６は、マクロブロックまたはパーティション中の変換係数をスキャンするためにジグザグスキャンまたは他のスキャンパターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピーコーディングユニット５６はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素とともにヘッダ情報を構成し得る。
【００７９】
逆量子化ユニット５８および逆変換処理ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックをメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、メモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【００８０】
このようにして、ビデオエンコーダ２０は、現在のビデオブロックに対して、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定し、第１の最尤イントラ予測モードおよび第２の最尤イントラ予測モードに基づいて、現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めるように構成されたビデオデコーダの一例を表す。ビデオエンコーダ２０は、第１の最尤モードが角度的イントラ予測モードであることおよび第２の最尤モードが非角度的イントラ予測モードであることに応答して、実際のイントラ予測モードの推定値として第１の最尤モードを選択することによって、ならびに、第１の最尤モードと第２の最尤モードの両方が異なる角度的予測モードであることに応答して、実際のイントラ予測の推定値として第１の最尤モードおよび第２の最尤モードの一方を選択することによって、実際のイントラ予測モードの推定値を求め得る。
【００８１】
図５は、符号化ビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図５の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、メモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信した動きベクトルに基づいて予測データを生成し得る。動き補償ユニット７２は、ビットストリーム中で受信された動きベクトルを使用して、メモリ８２中の参照フレーム中の予測ブロックを識別し得る。イントラ予測ユニット７４は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。
【００８２】
本開示の技法の一例では、エントロピー復号ユニット７０は、ビデオデータの符号化ブロックを復号するために使用するためのイントラ予測モードを表す符号語を受信する。符号語は異なる値にマッピングし、差異値は、実際のイントラ予測モードの推定値と実際のイントラ予測モードとの間の差を識別し得る。イントラ予測ユニット７４は、たとえば、符号化ブロックに対して左に隣接するブロックおよび上に隣接するブロックのイントラ予測モード、および／または符号化ブロックのサイズに基づいて、符号化ブロックのコンテキストを判断し得る。コンテキストに基づいて、イントラ予測ユニット７４は、ブロックの復号に使用するために、１つまたは複数の最尤イントラ予測モードを決定し得る。最尤モードに基づいて、イントラ予測ユニット７４は、符号化ブロックに対して推定された実際のイントラ予測モードを決定し得る。推定された実際のイントラ予測モードおよび符号化ビットストリーム内でシグナリングされた差異値に基づいて、イントラ予測ユニット７４は、符号化ブロックを符号化するために使用される実際のイントラ予測モードを決定し得る。
【００８３】
イントラ予測ユニット７４は、たとえば、隣接する、以前復号されたブロックのピクセルを使用して、符号化ブロックをイントラ予測するためにイントラ予測モードの指示を使用できる。ブロックがインター予測モード符号化される例では、動き補償ユニット７２は、符号化ブロックについての動き補償予測データを取り出すために、動きベクトルを定義する情報、ならびに予測方向と参照ピクチャインデックスとを示す情報を受信できる。いずれの場合も、動き補償ユニット７２またはイントラ予測ユニット７４は、予測ブロックを定義する情報を加算器８０に与え得る。
【００８４】
イントラ予測ユニット７４は、概して、最尤モードと推定された実際のイントラ予測モードとを決定するために、図２のイントラ予測ユニット４６を参照して以前に説明したものと同じ技法を実施し得る。たとえば、以前に説明したのと類似する方式で、イントラ予測ユニット７４は、すでに復号されている隣接ブロックに基づいて復号されるビデオブロックに対して最尤モードを決定し得る。最尤モードが決定された後、イントラ予測ユニット７４は、コード化されているブロックに対する実際のイントラ予測モードが最尤モードのうちの１つであるかどうかを示すシンタックス要素をパースできる。実際のイントラ予測モードが最尤イントラ予測モードのうちの１つでない場合、イントラ予測ユニット７４は、最尤モードに基づいて実際のモードに対する推定値を求め、実際のイントラ予測モードと実際のイントラ予測モードの推定値との間の差を示すシンタックスをパースできる。たとえば、ビデオデコーダ３０は、符号化ビデオビットストリーム内の差情報を受信し、差情報および実際のイントラ予測モードの推定値に基づいて、現在のビデオブロックに対する実際のイントラ予測モードを決定し得る。
【００８５】
本開示の技法によれば、１つの最尤モードが角度的予測モードであり、もう１つの最尤モードが非角度的予測モードであるとき、イントラ予測ユニット７４は、角度的最尤モードを実際のイントラ予測モードの推定値として使用することによって、実際のイントラ予測モードの推定値を求め得る。
【００８６】
両方の最尤モードが角度的予測モードであるとき、実際のモードの推定値は、最尤モードのうちの１つであり得る。第１の最尤モードおよび第２の最尤モードが同じイントラ予測モードである場合の例では、イントラ予測ユニット７２は、実際のイントラ予測モードの推定値としてそのイントラ予測モードを使用し得る。第１の最尤モードおよび第２の最尤モードがいずれも角度的モードであるが同じモードではない場合の例では、イントラ予測ユニット７２は、２つの最尤モードの平均値または中央値を実際のイントラ予測モードの推定値として使用するのとは対照的に、２つの最尤モードの一方を実際のモードの推定値となるように選択し得る。
【００８７】
第１の最尤モードおよび第２の最尤モードが異なる角度的モードである場合の例において、どの最尤モードを実際のモードの推定値として使用するかを選択するために、以下の技法のうちの１つまたは複数が使用され得る。一例では、イントラ予測ユニット７２は、垂直角（たとえば、図３Ｂおよび図３Ｃのイントラ予測モード０）により近い予測の角度を有する最尤モードを、実際のイントラ予測モードの推定値として選択し得る。別の例では、イントラ予測ユニット７２は、垂直角と水平角（たとえば、図３Ｂおよび図３Ｃのイントラ予測モード１）との間にない最尤モードを、実際のイントラ予測モードの推定値として選択し得る。言い換えれば、２つの最尤モードの一方が、イントラ予測モード０とイントラ予測モード１との間のイントラ予測モードである場合、イントラ予測ユニット７２は、イントラ予測モード０とイントラ予測モード１との間にない最尤イントラ予測モードのうちの１つを実際のイントラ予測モードの推定値として選択するように構成され得る。
【００８８】
他の例では、イントラ予測ユニット７２は、最尤モードのうちの１つを実際のイントラ予測モードの推定値として選択し、その選択をシグナリングし得る。どの最尤モードが実際のモードの推定値であるかのシグナリングは、たとえば、符号語内に含まれ得、それにより、符号語は、実際のモードの推定値と、実際のモードの推定値と実際のモードとの間の差の両方を識別する。
【００８９】
一例では、イントラ予測ユニット７２は、より小さいイントラモード番号を有する最尤モードを、実際のイントラ予測モードの推定値として選択し得る。たとえば、図３Ｂを参照すると、イントラ予測モード０は、モード１よりも好ましい。代替として、連続的モード順序付け、選好の個別の順序付け、または何らかの他の順序付けが使用され得る。
【００９０】
一例では、イントラ予測ユニット７２は、隣接ブロックの情報に基づいて、最尤モードを実際のイントラ予測モードの推定値として選択し得る。たとえば、イントラ予測ユニット７２は、左上のブロックのイントラ予測モードをチェックし、次いで、左上のブロックのイントラ予測モードにより近い最尤モードを、実際のモードの推定値として取り上げることができる。たとえば、上の隣接ブロックおよび左の隣接ブロックが最尤モードを決定するために使用される場合、左上のブロックは、この状況において、どの最尤モードを実際のモードの推定値として使用するかを選択するために使用され得る。一例として図４を使用して、ブロック４０６およびブロック４１０のモードが最尤モードとして使用される場合、ブロック４０４のイントラ予測は、ブロック４０６およびブロック４１０のどちらが、実際のイントラ予測モードの推定値として使用されるかを判断するために使用され得る。
【００９１】
一例では、イントラ予測ユニット７２は、最尤モードブロックの情報に基づいて、最尤モードを実際のイントラ予測モードの推定値として選択し得る。たとえば、１つの最尤モードが上の隣接ブロックからであり、１つの最尤モードが左の隣接ブロックからである場合、イントラ予測ユニット７２は、現在ブロックのサイズと同等かまたは類似のサイズを有するブロックに属する最尤モードを実際のモードの推定値として選択し得る。たとえば、現在コード化されているブロックが１６×１６のブロックであり、２つの隣接ブロックがそれぞれ、４×４および８×８のブロックである場合、８×８のブロックはコード化されているブロックにサイズがより近いので、８×８のブロックのモードが実際のイントラ予測モードの推定値として選択され得る。これらの規準の追加または代替として、ＰＵ深さ、インター／イントラモード、または何らかの他のタイプのブロック情報もまた使用され得る。たとえば、２つの最尤モードの間で選択するとき、コード化されているブロックと同じかまたは最も近いＰＵ深さを有するブロックに関連する最尤モードが、実際のイントラ予測モードの推定値として選択され得る。
【００９２】
本開示の追加の技法によれば、イントラ予測ユニット７２は、推定される実際のイントラ予測モードとして両方の最尤モードを使用して、推定される実際のイントラ予測モードを求め得る。たとえば、イントラ予測ユニット７２は、最尤モードまでの最短距離を使用することによってイントラ予測モードに対する差を計算し得る。符号語は、概してより小さい距離に対して使用されるより短い符号語を用いて分類された距離に基づいて割り当てられ得る。そのような技法を使用すると、いくつかのモードが同じ距離を有することがある。したがって、本開示は、同じ距離を有するモード間を区別するための技法を説明する。たとえば、技法は、好適な最尤モード、好適な予測方向、および／または隣接ブロック情報に基づくことができる。
【００９３】
逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化ブロック係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、たとえば、Ｈ．２６４復号規格によって定義されるかまたはＨＥＶＣテストモデルによって実行される、従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を判断し、同様に、適用する逆量子化の程度を判断するための、各マクロブロックについてエンコーダ２０によって計算される量子化パラメータＱＰYの使用を含み得る。
【００９４】
逆変換処理ユニット５８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。動き補償ユニット７２は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子がシンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【００９５】
動き補償ユニット７２は、シンタックス情報のいくつかを使用して、符号化ビデオシーケンスの（１つまたは複数の）フレームを符号化するために使用されるブロックのサイズと、符号化ビデオシーケンスのフレームまたはスライスの各ブロックがどのように区分されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化ブロックまたはパーティションのための１つまたは複数の参照フレーム（および参照フレームリスト）と、符号化ビデオシーケンスを復号するための他の情報とを判断する。
【００９６】
加算器８０は、残差ブロックを、動き補償ユニット７２またはイントラ予測ユニット７４によって生成される対応する予測ブロックと加算して、復号ブロックを形成する。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタリングすることもできる。復号ビデオブロックは、次いで、メモリ８２に記憶され、メモリ８２は、参照ブロックを後続の動き補償に供給し、また、（図１のディスプレイデバイス３２などの）ディスプレイデバイス上での提示のために復号ビデオを生成する。
【００９７】
このようにして、ビデオエンコーダ３０は、現在のビデオブロックに対して、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定し、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとに基づいて、現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を決定するように構成されたビデオデコーダの一例を表す。ビデオデコーダ３０は、第１の最尤モードが角度的イントラ予測モードであることおよび第２の最尤モードが非角度的イントラ予測モードであることに応答して、実際のイントラ予測モードの推定値として第１の最尤モードを選択することによって、ならびに、第１の最尤モードと第２の最尤モードの両方が異なる角度的予測モードであることに応答して、実際のイントラ予測の推定値として第１の最尤モードおよび第２の最尤モードの一方を選択することによって、実際のイントラ予測モードの推定値を求め得る。
【００９８】
図６は、本開示の技法によるイントラ予測モードをシグナリングする例示的な方法を示すフローチャートである。図６の技法は、ビデオエンコーダ２０およびビデオデコーダ３０など、ビデオエンコーダまたはビデオデコーダのいずれかであリ得る一般的なビデオコーダを参照して説明される。
【００９９】
ビデオコーダは、現在のビデオブロックに対する第１の最尤イントラ予測モード(first most probable intra prediction mode)と第２の最尤イントラ予測モード(second most probable intra prediction mode)とを決定し得る（６０２）。第１および第２の最尤イントラ予測モードは、たとえば、コード化される現在ブロックに隣接する上の隣接ブロックに割り当てられるイントラ予測モード、およびコード化される現在ブロックに隣接する左の隣接ブロックに割り当てられるモードとして選択され得る。第１の最尤モードおよび第２の最尤モードのうちの１つが角度的であり、もう１つが非角度的である（６０４、はい）場合、ビデオコーダは、現在のビデオブロックの実際のイントラ予測モードの推定値として、角度的である最尤モードを選択し得る（６０６）。第１の最尤モードおよび第２の最尤モードが、いずれも角度的モードであり（６０４、いいえ）かつ同じである（６０８、はい）場合、ビデオコーダは、実際のイントラ予測モードの推定値としてそのモードを選択し得る（６１０）。第１の最尤モードおよび第２の最尤モードが、いずれも角度的モードである（６０４、いいえ）が同じではない（６０８、いいえ）場合、ビデオコーダは、実際のイントラ予測モードの推定値として、第１の最尤モードおよび第２の最尤モードの一方を選択し得る（６１２）。この場合、ビデオコーダは、上記で説明した技法のうちの１つまたは複数を使用して、第１の最尤モードおよび第２の最尤モードのどちらを実際のイントラ予測モードの推定値として使用するかを選択し得る。
【０１００】
図６のビデオコーダがビデオエンコーダである場合の例では、ビデオコーダは、求められた実際のイントラ予測モードの推定値とビデオデータのブロックをコーディングするために使用された実際のイントラ予測モードとの間の差を求め、符号化ビデオデータのビットストリーム内に差の指示を含めることができる。図６のビデオコーダがビデオデコーダである場合の例では、ビデオコーダは、実際のイントラ予測モードの推定値と符号化ビデオデータのビットストリーム内の実際のイントラ予測モードとの間の差の指示を受信し、ビデオデータのブロックをコーディングするために使用される実際のイントラ予測モードを決定するために、差情報と求められた実際のイントラ予測モードの推定値とを使用できる。
【０１０１】
図６を参照して説明されたビデオコーダはまた、３つ以上の最尤イントラ予測モードを決定し得るが、この例の目的として、実際のイントラ予測モードの推定値は、第１の最尤モードおよび第２の最尤モードの一方であるように選択され得る。
【０１０２】
１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１０３】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１０４】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１０５】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１０６】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[Ｃ１]
ビデオデータをコーディングするための方法であって、
現在のビデオブロックに対して、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定することと、
前記第１の最尤イントラ予測モードと前記第２の最尤イントラ予測モードとに基づいて、前記現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めることとを備え、前記実際のイントラ予測モードの前記推定値を求めることが、
前記第１の最尤モードが角度的イントラ予測モードであることおよび前記第２の最尤モードが非角度的イントラ予測モードであることに応答して、前記実際のイントラ予測モードの前記推定値として前記第１の最尤モードを選択することと、
前記第１の最尤モードと前記第２の最尤モードの両方が、異なる角度的予測モードであることに応答して、前記実際のイントラ予測の前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方を選択することとを備える、方法。
[Ｃ２]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、
前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角により近い角度を有する最尤モードであるかを判断することと、
前記垂直角により近い前記角度を有する前記最尤モードを、前記実際のイントラ予測モードの前記推定値として選択することとを備える、Ｃ１に記載の方法。
[Ｃ３]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角と水平角との間にないかを選択することを備える、Ｃ１に記載の方法。
[Ｃ４]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方を、シグナリングすることを備える、Ｃ１に記載の方法。
[Ｃ５]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードのどちらがより小さいイントラモード番号を有するかを選択することを備える、Ｃ１に記載の方法。
[Ｃ６]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、１つまたは複数の隣接する情報のブロックに少なくとも部分的に基づく、Ｃ１に記載の方法。
[Ｃ７]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択することが、前記第１の最尤モードおよび前記第２の最尤モードのどちらが、前記現在のビデオブロックにサイズがより近いビデオデータのブロックに関連するかを選択することを備える、Ｃ１に記載の方法。
[Ｃ８]
ビデオデコーダによって実行され、
差情報を受信することと、
前記差情報および前記実際のイントラ予測モードの前記推定値に基づいて、前記現在のビデオブロックに対する実際のイントラ予測モードを決定することとをさらに備える、Ｃ１に記載の方法。
[Ｃ９]
前記実際のイントラ予測モードを使用して再構成ビデオブロックを生成することをさらに備える、Ｃ８に記載の方法。
[Ｃ１０]
ビデオエンコーダによって実行され、
差情報を符号化ビットストリーム内でシグナリングすることをさらに備え、前記差情報が、前記現在ブロックに対する実際のイントラ予測モードと前記実際のイントラ予測モードの前記推定値との間の差を識別する、Ｃ１に記載の方法。
[Ｃ１１]
ビデオデータをコーディングするためのデバイスであって、
現在のビデオブロックに対して、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定し、
前記第１の最尤イントラ予測モードおよび前記第２の最尤イントラ予測モードに基づいて、前記現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めるように構成されたビデオコーダを備え、前記実際のイントラ予測モードの前記推定値を求めることが、
前記第１の最尤モードが角度的イントラ予測モードであることおよび前記第２の最尤モードが非角度的イントラ予測モードであることに応答して、前記実際のイントラ予測モードの前記推定値として前記第１の最尤モードを選択することと、
前記第１の最尤モードと前記第２の最尤モードの両方が、異なる角度的予測モードであることに応答して、前記実際のイントラ予測の前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方を選択することとを備える、デバイス。
[Ｃ１２]
前記ビデオコーダが、前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角により近い角度を有する最尤モードであるかを判断すること、ならびに前記垂直角により近い前記角度を有する前記最尤モードを前記実際のイントラ予測モードの前記推定値として選択することによって、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、Ｃ１１に記載のデバイス。
[Ｃ１３]
前記ビデオコーダが、前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角と水平角との間にないかを選択することによって、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、Ｃ１１に記載のデバイス。
[Ｃ１４]
前記ビデオコーダが、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方をシグナリングすることによって、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、Ｃ１１に記載のデバイス。
[Ｃ１５]
前記ビデオコーダが、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードのどちらがより小さいイントラモード番号を有するかを選択することによって、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、Ｃ１１に記載のデバイス。
[Ｃ１６]
前記ビデオコーダが、１つまたは複数の隣接する情報のブロックに少なくとも部分的に基づいて、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、Ｃ１１に記載のデバイス。
[Ｃ１７]
前記ビデオコーダが、前記第１の最尤モードおよび前記第２の最尤モードのどちらが、前記現在のビデオブロックにサイズがより近いビデオデータのブロックに関連するかを選択することによって、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するように構成される、Ｃ１１に記載のデバイス。
[Ｃ１８]
前記ビデオコーダがビデオデコーダであり、前記ビデオコーダが、
差情報を受信し、
前記差情報および前記実際のイントラ予測モードの前記推定値に基づいて、前記現在のビデオブロックに対する実際のイントラ予測モードを決定するようにさらに構成される、Ｃ１１に記載のデバイス。
[Ｃ１９]
前記ビデオコーダが、
前記実際のイントラ予測モードを使用して再構成ビデオブロックを生成するようにさらに構成される、Ｃ１８に記載のデバイス。
[Ｃ２０]
前記ビデオコーダがビデオエンコーダを備え、前記ビデオコーダが、
差情報を符号化ビットストリーム内でシグナリングするようにさらに構成され、前記差情報が、前記現在ブロックに対する実際のイントラ予測モードと前記実際のイントラ予測モードの前記推定値との間の差を識別する、Ｃ１８に記載のデバイス。
[Ｃ２１]
集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスとのうちの少なくとも１つを備える、Ｃ１１に記載のデバイス。
[Ｃ２２]
ビデオデータをコーディングするための装置であって、
現在のビデオブロックに対する第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定するための手段と、
前記第１の最尤イントラ予測モードおよび前記第２の最尤イントラ予測モードに基づいて、前記現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めるための手段とを備え、前記実際のイントラ予測モードの前記推定値を求めるための前記手段が、
前記第１の最尤モードが角度的イントラ予測モードであることおよび前記第２の最尤モードが非角度的イントラ予測モードであることに応答して、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードを選択するための手段と、
前記第１の最尤モードおよび前記第２の最尤モードの両方が、異なる角度的予測モードであることに応答して、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方を選択するための手段とを備える、装置。
[Ｃ２３]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、
前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角により近い角度を有する最尤モードであるかを判断するための手段と、
前記垂直角により近い前記角度を有する前記最尤モードを、前記実際のイントラ予測モードの前記推定値として選択するための手段とを備える、Ｃ２２に記載の装置。
[Ｃ２４]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、前記第１の最尤モードおよび前記第２の最尤モードのどちらが垂直角と水平角との間にないかを選択するための手段を備える、Ｃ２２に記載の装置。
[Ｃ２５]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方をシグナリングするための手段を備える、Ｃ２２に記載の装置。
[Ｃ２６]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードのどちらがより小さいイントラモード番号を有するかを選択するための手段を備える、Ｃ２２に記載の装置。
[Ｃ２７]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、１つまたは複数の隣接する情報のブロックに少なくとも部分的に基づいて、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択する、Ｃ２２に記載の装置。
[Ｃ２８]
前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの前記一方を選択するための前記手段が、前記第１の最尤モードおよび前記第２の最尤モードのどちらが、前記現在のビデオブロックにサイズがより近いビデオデータのブロックに関連するかを選択するための手段を備える、Ｃ２２に記載の装置。
[Ｃ２９]
ビデオデコーダを備え、
差情報を受信するための手段と、
前記差情報および前記実際のイントラ予測モードの前記推定値に基づいて、前記現在のビデオブロックに対する実際のイントラ予測モードを決定するための手段とをさらに備える、Ｃ２２に記載の装置。
[Ｃ３０]
前記実際のイントラ予測モードを使用して再構成ビデオブロックを生成するための手段をさらに備える、Ｃ２９に記載の装置。
[Ｃ３１]
ビデオエンコーダを備え、
差情報を符号化ビットストリーム内でシグナリングするための手段をさらに備え、前記差情報が、前記現在ブロックに対する実際のイントラ予測モードと前記実際のイントラ予測モードの前記推定値との間の差を識別する、Ｃ２２に記載の装置。
[Ｃ３２]
命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、１つまたは複数のプロセッサに、
現在のビデオブロックに対して、第１の最尤イントラ予測モードと第２の最尤イントラ予測モードとを決定させ、
前記第１の最尤イントラ予測モードおよび前記第２の最尤イントラ予測モードに基づいて、前記現在のビデオブロックをコーディングするために使用される実際のイントラ予測モードの推定値を求めさせるように動作可能であり、前記命令が、前記１つまたは複数のプロセッサに、
前記第１の最尤モードが角度的イントラ予測モードであることおよび前記第２の最尤モードが非角度的イントラ予測モードであることに応答して、前記実際のイントラ予測モードの前記推定値として、前記第１の最尤モードを選択することと、
前記第１の最尤モードと前記第２の最尤モードの両方が、異なる角度的予測モードであることに応答して、前記実際のイントラ予測の前記推定値として、前記第１の最尤モードおよび前記第２の最尤モードの一方を選択することとによって、前記実際のイントラ予測モードの前記推定値を求めさせる、コンピュータ可読記憶媒体。
【図１】
0005866453.tif 000003
【図２】
0005866453.tif 000004
【図３Ａ】
0005866453.tif 000005
【図３Ｂ】
0005866453.tif 000006
【図３Ｃ】
0005866453.tif 000007
【図４】
0005866453.tif 000008
【図５】
0005866453.tif 000009
【図６】
0005866453.tif 000010