ビデオデータを復号する方法であって、現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定することと、前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択することと、前記コードワードのテーブルは、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、前記コードワードのテーブルを使用して、受信されたコードワードに対応する前記変更されたイントラ予測モードインデックスのうちの1つを決定することと、前記コード化ブロックの復号に使用するために、前記第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モード以外のイントラ予測モードを選択することと、前記選択されたイントラ予測モードは、前記変更されたイントラ予測モードインデックスのうちの前記決定された1つに対応し、前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号することとを備える方法。前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも1つについてのイントラ予測モードに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定することをさらに備える、請求項1に記載の方法。前記コード化ブロックのサイズに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定することをさらに備える、請求項1に記載の方法。前記イントラ予測モードの各々は、それぞれのモードインデックスに対応する、請求項1に記載の方法。前記変更されたイントラ予測モードインデックスのうちの前記決定された1つの変更されたイントラ予測モードインデックス1が前記第1の最もありえるイントラ予測モードについてのモードインデックス以上であり、前記第2の最もありえるイントラ予測モードについてのモードインデックス以上であるとき、前記イントラ予測モードを選択することは、前記1つの変更されたイントラ予測モードインデックスよりも2大きいモードインデックスに対応する前記イントラ予測モードを選択することを備える、請求項4に記載の方法。前記変更されたイントラ予測モードインデックスのうちの前記決定された1つの変更されたイントラ予測モードインデックスが前記第1の最もありえるイントラ予測モードについてのモードインデックスより小さく、前記第2の最もありえるイントラ予測モードについてのモードインデックスより小さいとき、前記イントラ予測モードを選択することは、前記1つの変更されたイントラ予測モードインデックスに等しいモードインデックスを有する前記イントラ予測モードを選択することを備える、請求項4に記載の方法。前記変更されたイントラ予測モードインデックスのうちの前記決定された1つの変更されたイントラ予測モードインデックス1が前記第1の最もありえるイントラ予測モードについてのモードインデックス以上であり、前記第2の最もありえるイントラ予測モードについてのモードインデックスより小さいとき、前記イントラ予測モードを選択することは、前記1つの変更されたイントラ予測モードインデックスよりも1大きいモードインデックスに対応する前記イントラ予測モードを選択することを備える、請求項4に記載の方法。ビデオデータを復号するための装置であって、現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定し、前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択し、前記コードワードのテーブルは、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、前記コードワードのテーブルを使用して、受信されたコードワードに対応する前記変更されたイントラ予測モードインデックスのうちの1つを決定し、前記コード化ブロックの復号に使用するために、前記第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モード以外のイントラ予測モードを選択し、前記選択されたイントラ予測モードは、前記変更されたイントラ予測モードインデックスのうちの前記決定された1つに対応し、前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号するように構成されたビデオデコーダを備える装置。前記ビデオデコーダは、前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも1つについてのイントラ予測モードに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定するようにさらに構成される、請求項8に記載の装置。前記ビデオデコーダは、前記コード化ブロックのサイズに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定するようにさらに構成される、請求項8に記載の装置。前記イントラ予測モードの各々は、それぞれのモードインデックスに対応する、請求項8に記載の装置。前記変更されたイントラ予測モードインデックスのうちの前記決定された1つの変更されたイントラ予測モードインデックス1が前記第1の最もありえるイントラ予測モードについてのモードインデックス以上であり、前記第2の最もありえるイントラ予測モードについてのモードインデックス以上であるとき、前記イントラ予測モードを選択することは、前記1つの変更されたイントラ予測モードインデックスよりも2大きいモードインデックスに対応する前記イントラ予測モードを選択することを備える、請求項11に記載の装置。前記変更されたイントラ予測モードインデックスのうちの前記決定された1つの変更されたイントラ予測モードインデックスが前記第1の最もありえるイントラ予測モードについてのモードインデックスより小さく、前記第2の最もありえるイントラ予測モードについてのモードインデックスより小さいとき、前記ビデオデコーダは、前記1つの変更されたイントラ予測モードインデックスに等しいモードインデックスを有する前記イントラ予測モードを選択することによって、前記イントラ予測モードを選択するようにさらに構成される、請求項11に記載の装置。前記変更されたイントラ予測モードインデックスのうちの前記決定された1つの変更されたイントラ予測モードインデックス1が前記第1の最もありえるイントラ予測モードについてのモードインデックス以上であり、前記第2の最もありえるイントラ予測モードについてのモードインデックスより小さいとき、前記イントラ予測モードを選択することは、前記1つの変更されたイントラ予測モードインデックスよりも1大きいモードインデックスに対応する前記イントラ予測モードを選択することを備える、請求項11に記載の装置。前記装置は、集積回路と、マイクロプロセッサと、前記ビデオデコーダを含むワイヤレス通信デバイスと、のうちの少なくとも1つを備える、請求項8に記載の装置。ビデオデータを符号化する方法であって、現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定することと、前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択することと、前記コードワードのテーブルは、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外の前記イントラ予測モードのうちの1つを使用して、前記現在のブロックを符号化することと、前記コードワードのテーブルを使用して、前記イントラ予測モードのうちの前記1つに対応する前記変更されたイントラ予測モードインデックスのうちの1つを決定することと、前記選択されたコードワードのテーブルからコードワードを出力することと、前記コードワードは前記変更されたイントラ予測モードインデックスのうちの前記1つに対応する、を備える方法。前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも1つについてのモードに少なくとも一部基づいて、前記現在のブロックについての前記符号化コンテキストを決定することをさらに備える、請求項16に記載の方法。前記現在のブロックのサイズに少なくとも一部基づいて、前記現在のブロックについての前記符号化コンテキストを決定することをさらに備える、請求項16に記載の方法。前記イントラ予測モードの各々は、それぞれのモードインデックスに対応する、請求項16に記載の方法。前記イントラ予測モードのうちの1つについてのモードインデックスが前記第1の最もありえるイントラ予測モードについてのモードインデックスよりも大きく、前記第2の最もありえるイントラ予測モードについてのモードインデックスよりも大きいとき、前記変更されたイントラ予測モードインデックスのうちの前記1つを決定することは、前記最もありえるイントラ予測モードについての前記モードインデックスよりも2小さい前記変更されたイントラ予測モードインデックスのうちの1つを決定することを備える、請求項19に記載の方法。前記イントラ予測モードのうちの1つについてのモードインデックスが前記第1の最もありえるイントラ予測モードについてのモードインデックスより小さく、前記第2の最もありえるイントラ予測モードについてのモードインデックスより小さいとき、前記変更されたイントラ予測モードインデックスのうちの前記1つを決定することは、前記最もありえるイントラ予測モードについての前記モードインデックスに等しい前記変更されたイントラ予測モードインデックスのうちの1つを決定することを備える、請求項19に記載の方法。前記イントラ予測モードのうちの1つについてのモードインデックスが前記第1の最もありえるイントラ予測モードについてのモードインデックス以上であり、前記第2の最もありえるイントラ予測モードについてのモードインデックスより小さいとき、前記変更されたイントラ予測モードインデックスのうちの前記1つを決定することは、前記最もありえるイントラ予測モードについての前記モードインデックスよりも1小さい前記変更されたイントラ予測モードインデックスのうちの1つを決定することを備える、請求項19に記載の方法。ビデオデータを符号化するための装置であって、現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定し、前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択し、前記コードワードのテーブルは、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外の前記イントラ予測モードのうちの1つを使用して、前記現在のブロックを符号化し、前記コードワードのテーブルを使用して、前記イントラ予測モードのうちの前記1つに対応する前記変更されたイントラ予測モードインデックスのうちの1つを決定し、前記選択されたコードワードのテーブルからコードワードを出力し、前記コードワードは前記変更されたイントラ予測モードインデックスのうちの前記1つに対応する、ように構成されたビデオエンコーダを備える装置。前記ビデオエンコーダは、前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも1つについてのモードに少なくとも一部基づいて、前記現在のブロックについての前記符号化コンテキストを決定するようにさらに構成される、請求項23に記載の装置。前記ビデオエンコーダは、前記現在のブロックのサイズに少なくとも一部基づいて、前記現在のブロックについての前記符号化コンテキストを決定するようにさらに構成される、請求項23に記載の装置。前記イントラ予測モードの各々は、それぞれのモードインデックスに対応する、請求項23に記載の装置。前記イントラ予測モードのうちの1つについてのモードインデックスが前記第1の最もありえるイントラ予測モードについてのモードインデックスよりも大きく、前記第2の最もありえるイントラ予測モードについてのモードインデックスよりも大きいとき、前記ビデオエンコーダは、前記最もありえるイントラ予測モードについての前記モードインデックスよりも2小さい前記変更されたイントラ予測モードインデックスのうちの1つを決定することによって、前記変更されたイントラ予測モードインデックスのうちの前記1つを決定するようにさらに構成される、請求項26に記載の装置。前記イントラ予測モードのうちの1つについてのモードインデックスが前記第1の最もありえるイントラ予測モードについてのモードインデックスより小さく、前記第2の最もありえるイントラ予測モードについてのモードインデックスより小さいとき、前記ビデオエンコーダは、前記最もありえるイントラ予測モードについての前記モードインデックスに等しい前記変更されたイントラ予測モードインデックスのうちの1つを決定することによって、前記変更されたイントラ予測モードインデックスのうちの前記1つを決定するようにさらに構成される、請求項23に記載の装置。前記イントラ予測モードのうちの1つについてのモードインデックスが前記第1の最もありえるイントラ予測モードについてのモードインデックス以上であり、前記第2の最もありえるイントラ予測モードについてのモードインデックスより小さいとき、前記ビデオエンコーダは、前記最もありえるイントラ予測モードについての前記モードインデックスよりも1小さい前記変更されたイントラ予測モードインデックスのうちの1つを決定することによって、前記変更されたイントラ予測モードインデックスのうちの前記1つを決定するようにさらに構成される、請求項23に記載の装置。前記装置が、集積回路と、マイクロプロセッサと、前記ビデオデコーダを含むワイヤレス通信デバイスと、のうちの少なくとも1つを備える、請求項23に記載の装置。ビデオデータを復号するための装置であって、現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定する手段と、前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択する手段と、前記コードワードのテーブルは、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、前記コードワードのテーブルを使用して、受信されたコードワードに対応する前記変更されたイントラ予測モードインデックスのうちの1つを決定する手段と、前記コード化ブロックの復号に使用するために、前記第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モード以外のイントラ予測モードを選択する手段と、前記選択されたイントラ予測モードは、前記変更されたイントラ予測モードインデックスのうちの前記決定された1つに対応し、前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号する手段と、を備える装置。前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも1つについてのイントラ予測モードに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定する手段をさらに備える、請求項31に記載の装置。前記コード化ブロックのサイズに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定する手段をさらに備える、請求項31に記載の装置。ビデオデータを符号化するための装置であって、現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定する手段と、前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択する手段と、前記コードワードのテーブルは、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外の前記イントラ予測モードのうちの1つを使用して、前記現在のブロックを符号化する手段と、前記コードワードのテーブルを使用して、前記イントラ予測モードのうちの前記1つに対応する前記変更されたイントラ予測モードインデックスのうちの1つを決定する手段と、前記選択されたコードワードのテーブルからコードワードを出力する手段と、前記コードワードは前記変更されたイントラ予測モードインデックスのうちの前記1つに対応する、を備える装置。前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも1つについてのモードに少なくとも一部基づいて、前記現在のブロックについての前記符号化コンテキストを決定する手段をさらに備える、請求項34に記載の装置。前記現在のブロックのサイズに少なくとも一部基づいて、前記現在のブロックについての前記符号化コンテキストを決定する手段をさらに備える、請求項34に記載の装置。実行されると、1つまたは複数のプロセッサに、現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定させ、前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択させ、前記コードワードのテーブルは、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、前記コードワードのテーブルを使用して、受信されたコードワードに対応する前記変更されたイントラ予測モードインデックスのうちの1つを決定させ、前記コード化ブロックの復号に使用するために、前記第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モード以外のイントラ予測モードを選択させ、前記選択されたイントラ予測モードは、前記変更されたイントラ予測モードインデックスのうちの前記決定された1つに対応し、前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号させる命令を記憶するコンピュータ可読記憶媒体。実行されると、1つまたは複数のプロセッサに、現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定させ、前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択させ、前記コードワードのテーブルは、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外の前記イントラ予測モードのうちの1つを使用して、前記現在のブロックを符号化させ、前記コードワードのテーブルを使用して、前記イントラ予測モードのうちの前記1つに対応する前記変更されたイントラ予測モードインデックスのうちの1つを決定させ、前記選択されたコードワードのテーブルからコードワードを出力させ、前記コードワードは前記変更されたイントラ予測モードインデックスのうちの前記1つに対応する、命令を記憶するコンピュータ可読記憶媒体。ビデオデータを復号する方法であって、現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定することと、前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択することと、前記コードワードのテーブルは、コードワードインデックスに対応する複数の可変長のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、前記コードワードのテーブルを使用して、受信されたコードワードに対応する変更されたコードワードインデックスを決定することと、前記コード化ブロックの復号に使用するために、前記第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モード以外のイントラ予測モードを選択することと、前記選択されたイントラ予測モードは、前記変更されたコードワードインデックス、前記第1の最もありえるイントラ予測モード、および前記第2の最もありえるイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号することと、を備える方法。前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも1つについてのイントラ予測モードに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定することをさらに備える、請求項39に記載の方法。前記コード化ブロックのサイズに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定することをさらに備える、請求項39に記載の方法。前記変更されたコードワードインデックス1が前記第1の最もありえるイントラ予測モードについてのコードワードインデックス以上であり、前記第2の最もありえるイントラ予測モードについてのコードワードインデックス以上であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスよりも2大きいコードワードインデックスに対応する前記イントラ予測モードを選択することを備える、請求項39に記載の方法。前記変更されたコードワードインデックスが前記第1の最もありえるイントラ予測モードについてのコードワードインデックスより小さく、前記第2の最もありえるイントラ予測モードについてのコードワードインデックスより小さいとき、前記イントラ予測モードを選択することは、前記変更されたコードワードインデックスに等しいコードワードインデックスを有する前記イントラ予測モードを選択することを備える、請求項39に記載の方法。前記変更されたコードワードインデックス1が前記第1の最もありえるイントラ予測モードについてのモードインデックス以上であり、前記第2の最もありえるイントラ予測モードについてのモードインデックスより小さいとき、前記イントラ予測モードを選択することは、前記変更されたイントラコードワードインデックスよりも1大きいコードワードインデックスに対応する前記イントラ予測モードを選択することを備える、請求項39に記載の方法。イントラ予測モードに対する前記コードワードインデックスのマッピングを動的に調整することをさらに備える、請求項39に記載の方法。ビデオデータを復号するための装置であって、現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定し、前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択し、前記コードワードのテーブルはコードワードインデックスに対応する複数の可変長のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、前記コードワードのテーブルを使用して、受信されたコードワードに対応する変更されたコードワードインデックスを決定し、前記コード化ブロックの復号に使用するために、前記第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モード以外のイントラ予測モードを選択し、前記選択されたイントラ予測モードは、前記変更されたコードワードインデックス、前記第1の最もありえるイントラ予測モード、および前記第2の最もありえるイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号するように構成されたビデオデコーダを備える装置。前記ビデオデコーダは、前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも1つについてのイントラ予測モードに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定するようにさらに構成される、請求項46に記載の装置。前記ビデオデコーダは、前記コード化ブロックのサイズに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定するようにさらに構成される、請求項46に記載の装置。前記変更されたコードワードインデックス1が前記第1の最もありえるイントラ予測モードについてのコードワードインデックス以上であり、前記第2の最もありえるイントラ予測モードについてのコードワードインデックス以上であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラコードワードインデックスよりも2大きいコードワードインデックスに対応する前記イントラ予測モードを選択することを備える、請求項46に記載の装置。前記変更されたコードワードインデックスが前記第1の最もありえるイントラ予測モードについてのコードワードインデックスより小さく、前記第2の最もありえるイントラ予測モードについてのコードワードインデックスより小さいとき、前記イントラ予測モードを選択することは、前記変更されたコードワードインデックスに等しいコードワードインデックスを有する前記イントラ予測モードを選択することを備える、請求項46に記載の装置。前記変更されたコードワードインデックス1が前記第1の最もありえるイントラ予測モードについてのモードインデックス以上であり、前記第2の最もありえるイントラ予測モードについてのモードインデックスより小さいとき、前記イントラ予測モードを選択することは、前記変更されたコードワードインデックスよりも1大きいコードワードインデックスに対応する前記イントラ予測モードを選択することを備える、請求項46に記載の装置。前記ビデオデコーダは、イントラ予測モードに対する前記コードワードインデックスのマッピングを動的に調整するようにさらに構成される、請求項46に記載の装置。前記装置は、集積回路と、マイクロプロセッサと、前記ビデオデコーダを含むワイヤレス通信デバイスと、のうちの少なくとも1つを備える、請求項46に記載の装置。ビデオデータを復号するための装置であって、現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定する手段と、前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択する手段と、前記コードワードのテーブルは、コードワードインデックスに対応する複数の可変長のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、前記コードワードのテーブルを使用して、受信されたコードワードに対応する変更されたコードワードインデックスを決定する手段と、前記コード化ブロックの復号に使用するために、前記第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モード以外のイントラ予測モードを選択する手段と、前記選択されたイントラ予測モードは、前記変更されたコードワードインデックス、前記第1の最もありえるイントラ予測モード、および前記第2の最もありえるイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号する手段と、を備える装置。前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも1つについてのイントラ予測モードに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定する手段をさらに備える、請求項54に記載の装置。前記コード化ブロックのサイズに少なくとも一部基づいて、前記現在のブロックについての前記コンテキストを決定する手段をさらに備える、請求項54に記載の装置。実行されると、1つまたは複数のプロセッサに、現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定させ、前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択させ、前記コードワードのテーブルは、コードワードインデックスに対応する複数の可変長のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、前記コードワードのテーブルを使用して、受信されたコードワードに対応する変更されたコードワードインデックスを決定させ、前記コード化ブロックの復号に使用するために、前記第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モード以外のイントラ予測モードを選択させ、前記選択されたイントラ予測モードは、前記変更されたコードワードインデックス、前記第1の最もありえるイントラ予測モード、および前記第2の最もありえるイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号させる命令を記憶するコンピュータ可読記憶媒体。ビデオデータを符号化する方法であって、現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定することと、前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択することと、前記コードワードのテーブルは、コードワードインデックスに対応する複数の可変長のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、前記第1の最もありえるイントラ予測モードおよび前記第2の最もありえるイントラ予測モード以外の前記イントラ予測モードのうちの1つを使用して、前記現在のブロックを符号化することと、前記現在のブロックを符号化するために使用される前記イントラ予測モードのうちの前記1つの前記コードワードインデックス、前記第1の最もありえるモードにマッピングされたコードワードインデックス、および前記第2の最もありえるモードにマッピングされたコードワードインデックスに基づいて、変更されたコードワードインデックスを決定することと、前記選択されたコードワードのテーブルからコードワードを出力することと、前記コードワードは前記変更されたコードワードインデックスに対応する、を備える方法。前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも1つについてのモードに少なくとも一部基づいて、前記現在のブロックについての前記符号化コンテキストを決定することをさらに備える、請求項58に記載の方法。前記コード化ブロックのサイズに少なくとも一部基づいて、前記現在のブロックについての前記符号化コンテキストを決定することをさらに備える、請求項58に記載の方法。前記現在のブロックの符号化に使用される前記イントラ予測モードのうちの前記1つの前記コードワードインデックスが前記第1の最もありえるイントラ予測モードにマッピングされたコードワードインデックスよりも大きく、前記第2の最もありえるイントラ予測モードにマッピングされたコードワードインデックスよりも大きいとき、前記変更されたコードワードインデックスを決定することは、前記コードワードインデックスよりも2小さい前記変更されたコードワードインデックスを決定することを備える、請求項58に記載の方法。前記現在のブロックの符号化に使用される前記イントラ予測モードのうちの前記1つの前記コードワードインデックスが前記第1の最もありえるイントラ予測モードにマッピングされたコードワードインデックスより小さく、前記第2の最もありえるイントラ予測モードにマッピングされたモードインデックスより小さいとき、前記変更されたコードワードインデックスを決定することは、前記コードワードインデックスに等しい前記変更されたコードワードインデックスを決定することを備える、請求項58に記載の方法。前記現在のブロックの符号化に使用される前記イントラ予測モードのうちの前記1つの前記コードワードインデックスが前0030概して、本開示では、コード化されたビデオデータについてのコーディング特性をシグナリングするための技法について説明する。本開示の技法は、ビデオデータのブロックをイントラ符号化するために使用されるイントラ予測モードのシグナリングの効率を向上させることができる。ビデオエンコーダは、たとえば、様々なイントラ予測モードを使用して符号化されるブロックの符号化コンテキストに基づいて、イントラ予測モードのインデックスを示す構成データを含み得る。符号化コンテキストは、たとえば、隣接する、前にコード化されたブロックについての符号化モードおよび/またはブロックサイズを含み得る。0031構成データは、コンテキストごとに1つの最もありえるイントラ予測モードを定義する、またはコンテキストごとに2つ以上の最もありえるイントラ予測モードを定義するために使用され得る。これらの最もありえるイントラ予測モードは、本開示では、時として、単に最もありえるモードと呼ばれ得る。構成データは、所与のコンテキストにおいて1つまたは複数の最もありえるモード以外のモードについてのイントラ予測モードを記述するシンタックスデータの符号化に使用するために、可変長コードVLCテーブルも定義し得る。特に、VLCテーブルは、VLCコードワードに対するインデックスのマッピングを含むことができる。以下でより詳細に説明するように、VLCテーブルは、コードワードに対して変更されたイントラ予測モードインデックスをマッピングし得、または、イントラ予測モードインデックスを、すぐ後で、変更されたコードワードインデックスに調整されるコードワードインデックスに対してマッピングし得る。イントラ予測モードのインデックスについてのコードワードは、比較的可能性が高いイントラ予測モードでは比較的短くなり得る。0032したがって、ビデオエンコーダは、イントラ予測モード符号化されるブロックに対し符号化コンテキストを決定するように構成され得る。符号化コンテキストは、最もありえるイントラ予測モードと、他のイントラ予測モードの可能性とに関連し得る。現在のブロックの符号化に使用するために、最もありえるイントラ予測モードが選択されると、ビデオエンコーダは、ブロックが生じるコンテキストについて、ブロックは最もありえるモードで符号化されることを示すために、1ビットのコードワードたとえば1を選択し得る。2つ以上の最もありえるイントラ予測モードが使用される例では、第1のビットは、現在のブロックの符号化に使用するために、最もありえるイントラ予測モードのうちの1つが選択されるかどうかを示し、最もありえるイントラ予測のうちの1つが使用される場合、最もありえるイントラ予測モードのうちどれが選択されるかを第2のビットまたは一連のビットが示し得る。時として、本開示全体にわたって、この第1のビットと第2のビットとの組合せは、それ自体、コードワードと呼ばれ、コードワードの第1のビットは、選択されたイントラ予測モードが最もありえるイントラ予測モードのうちの1つであることをシグナリングし、第2のビットまたは一連のビットは、最もありえるイントラ予測モードのうちのどれかを識別する。0033符号化コンテキストに基づいて、他のイントラ予測モードすなわち1つまたは複数の最もありえるイントラ予測モード以外のイントラ予測モードの各々に、変更されたインデックス値を割り当てることもできる。その上、符号化コンテキストは、さらに、イントラ予測モードのインデックスに関連するインデックス値によってインデックス付けされる1セットのコードワードたとえば、可変長のコードワードを有するテーブルに対応し得る。特に、上記で説明したように、1つまたは複数の最もありえるイントラ予測モードのインデックス値に、最もありえるイントラ予測モードが選択されたことを表すシングルビットのまたは場合によってはより長いコードワード以外の別の可変長のコードワードを割り当てる必要はない。可変長のコードワードを残りの各イントラ予測モードにマッピングするために、まず、1つまたは複数の最も可能性が高いモードに対し当初割り振られたものを除外するために、残りの各イントラ予測モードのインデックスが変更され得る。したがって、変更されたイントラ予測モードインデックスは、最もありえるモードについてのモードインデックスより小さいイントラ予測モードインデックスに等しくなり得る。一方、変更されたイントラ予測モードインデックスは、最もありえるモードについてのインデックスよりも大きいイントラ予測モードインデックスに対し、イントラ予測モードインデックスより1つ小さいものであり得る。このようにして、イントラ予測モードよりも1つ少ない可変長のコードワードがあり、符号化コンテキストに基づいて、比較的短いコードワードが比較的可能性が高いイントラ予測モードにマッピングされるように、コードワードは、イントラ予測モードにマッピングされ得る。2つ以上の最もありえるイントラ予測モードを使用するとき、コードワードテーブルに、イントラ予測モードよりも2以上少ない可変長のコードワードがあり得、コードワードは、同様に、符号化コンテキストに基づいて、比較的短いコードワードが比較的可能性が高いイントラ予測モードにマッピングされるように、イントラ予測モードにマッピングされ得る。0034ビデオデコーダは、たとえば、符号化されたブロックについてのイントラ予測モードを決定するとき、類似の技法を実行するように、同様に構成され得る。本開示の技法によれば、ビデオデコーダは、符号化されたブロックのデータ、ならびに符号化されたブロックの復号に使用するためのイントラ予測モードを示すコードワードを受信し得る。ビデオデコーダは、ビデオエンコーダと同様の方法で、ブロックのコンテキストを決定することができる。コンテキストに基づいて、ビデオデコーダは、ブロックについての1つまたは複数の最もありえるイントラ予測モードを決定することができる。1つの最もありえるイントラ予測モードを使用するとき、最もありえるモードが選択されるかどうかを決定するために、シングルビットが復号され得る。最もありえるモードが選択されることをシングルビットが示す場合、ビデオデコーダは、最もありえるイントラ予測モードを使用してブロックを復号することができる。そうでない場合、ビデオデコーダは、受信されたコードワードにマッピングされる変更されたイントラ予測モードインデックスを参照し得る。変更されたイントラ予測モードインデックスが、最もありえるイントラ予測モードのモードインデックス以上である場合、ビデオデコーダは、変更されたイントラ予測モードインデックスよりも1大きいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号する。変更されたイントラ予測モードインデックスが、最もありえるイントラ予測モードのモードインデックスより小さい場合、ビデオデコーダは、変更されたイントラ予測モードインデックスに等しいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号する。0035同様に、2つの最もありえるイントラ予測符号化モードを使用するとき、選択されたイントラ予測モードが最もありえるイントラ予測モードのうちの1つであることを第1のビットが示す場合、ビデオデコーダは、第2のビットによって識別された最もありえるイントラ予測モードを使用してブロックを復号することができる。そうでない場合、ビデオデコーダは、受信されたコードワードにマッピングされる変更されたイントラ予測モードインデックスを参照し得る。変更されたイントラ予測モードインデックスが、第1の最もありえるイントラ予測モードのモードインデックスより小さい場合、ビデオデコーダは、変更されたイントラ予測モードインデックスに等しいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号することができる。そうでない場合、変更されたイントラ予測モードインデックス1が、第2の最もありえるイントラ予測モードのモードインデックスより小さい場合、ビデオデコーダは、変更されたイントラ予測モードインデックスよりも1大きいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号することができる。そうでない場合、ビデオデコーダは、変更されたイントラ予測モードインデックスよりも2大きいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号することができ、以下同様である。0036第1の最もありえるおよび第2の最もありえるという句は、本開示では、一般に、2つの別個の最もありえるイントラ予測モードを指すために使用され、2つのイントラ予測モードの相対的な見込みを暗示するものではない。しかしながら、後で例を通じて説明するように、一般に、本開示での説明のために、第1の最もありえるイントラ予測モードが第2の最もありえるイントラ予測モードよりも低い対応するモードインデックス値を有すると想定され得る。したがって、変更されたイントラ予測モードインデックス値が第1の最もありえるモードのモードインデックスより小さいという場合、変更されたイントラ予測モードインデックス値も、第2の最もありえるイントラ予測モード、第3の最もありえるイントラ予測モードなどのモードインデックスより小さいと想定することができる。0037本開示の技法は、3つ以上の最もありえるイントラ予測モードを利用する実装に拡張することができる。たとえば、最もありえるイントラ予測モードがN個あると仮定すると、第1のビットまたは一連のビットは、選択されたイントラ予測モードがN個の最もありえるイントラ予測モードのうちの1つであるかどうかを示し得る。選択されたイントラ予測モードがN個の最もありえるイントラ予測モードのうちの1つである場合、第2の一連のビットは、N個の最もありえるイントラ予測モードのうちどれが選択されたイントラ予測モードであるかを識別することができる。いくつかの例では、最もありえるイントラ予測モードは、1つまたは複数のグループでシグナリングされ得、この場合、第1のビットまたは一連のビットは、選択された最もありえるイントラ予測モードが第1のグループからであるかどうかをシグナリングする。選択されたイントラ予測モードが第1のグループからではない場合、後続のビットは、それが第2のグループからのものであるかどうか、などをシグナリングすることができる。0038たとえば、5つの最もありえるモードが使用される場合、第1のビットまたは一連のビットは、選択されたイントラ予測モードが2つの最もありえるイントラ予測モードの第1のグループからのものであるかどうかをシグナリングし得る。選択されたモードが2つのうちの1つである場合、第2のビットは、2つのうちのどちらが選択されたモードであるかを識別し得る。選択されたモードが2つのうちの1つではない場合、第2グループのビットは、選択されたモードを識別し得る。たとえば、第2グループのビットが2ビットを含む場合、第1のビットの組合せたとえば00は、選択されたモードが第3の最もありえるモードであることを示し、第2のビットの組合せたとえば01は、選択されたモードが第4の最もありえるモードであることを示し、第3のビットの組合せたとえば10は、選択されたモードが第5の最もありえるモードであることを示す。選択されたモードが5つの最もありえるイントラ予測モードのうちの1つである場合、デコーダは、最もありえるモードを使用してブロックを復号することができる。第4のビットの組合せたとえば11は、選択されたモードが5つの最もありえるモードのうちの1つでないことを示し、その場合、本開示で説明する技法に従って、第4のビットの組合せの後に、選択されたモードを識別する後続のビットが続き得る。0039選択されたモードが最もありえるモードではない例では、ビデオデコーダは、受信されたコードワードにマッピングされる変更されたイントラ予測モードインデックスを参照し得る。例として、第1の最もありえるイントラ予測モードが第2の最もありえるイントラ予測モードよりも低い対応するモードインデックス値を有し、第2が第3よりも低いインデックスを有する、などが想定できる。本開示の技法によれば、変更されたイントラ予測モードインデックスが、第1の最もありえるイントラ予測モードのモードインデックスより小さい場合、ビデオデコーダは、変更されたイントラ予測モードインデックスに等しいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号することができる。そうでなく、変更されたイントラ予測モードインデックス1が、第2の最もありえるイントラ予測モードのモードインデックスより小さい場合、ビデオデコーダは、変更されたイントラ予測モードインデックスよりも1大きいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号することができる。そうではなく、変更されたイントラ予測モードインデックス2が、第3の最もありえるイントラ予測モードのモードインデックスより小さい場合、ビデオデコーダは、変更されたイントラ予測モードインデックスよりも2大きいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号することができ、以下同様である。以下でさらに詳細に説明するように、変更されたイントラ予測モードインデックスが最もありえるモードのエントリを含まないので、イントラ予測モードインデックスが、最もありえるモードのモードインデックスに応じて、変更されたイントラ予測モードインデックス1、変更されたイントラ予測モードインデックス2など、にマッピングされ得る。0040図1は、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータをコード化するための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先デバイス14に送信するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、広範囲のデバイスのいずれかを備えることができる。場合によっては、ソースデバイス12および宛先デバイス14は、いわゆるセルラー電話または衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信デバイス、または通信チャネル16を介してビデオ情報を通信することができる任意のワイヤレスデバイスを備え得、その場合、通信チャネル16はワイヤレスである。0041ただし、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータのコード化に関係する本開示の技法は、必ずしもワイヤレスアプリケーションまたはセッティングに限定されるとは限らない。たとえば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用し得る。したがって、通信チャネル16は、符号化ビデオデータの送信に好適なワイヤレスまたはワイヤード媒体の任意の組合せを備え得る。その上、通信チャネル16は、ビデオ符号化デバイスがビデオ復号デバイスにデータを送信し得る多くの方法のうちのただ1つを表すためのものである。たとえば、システム10の他の構成では、ソースデバイス12は、宛先デバイス14による復号のために符号化ビデオを生成し、必要に応じて、符号化ビデオが宛先デバイス14によってアクセスできるように、記憶媒体またはファイルサーバ上に符号化ビデオを記憶し得る。0042図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器モデム22と、送信機24とを含む。宛先デバイス14は、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータをコード化するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。0043図1の図示のシステム10は一例にすぎない。ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータのコード化のための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般にコーデックと呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを発生するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14の各々はビデオ符号化構成要素および復号構成要素を含むようにして、デバイス12、14は、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話通信のためのビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートすることができる。0044ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ電話を形成することができる。ただし、上述のように、本開示で説明する技法は、一般にビデオコーディングに適用可能であり、ワイヤレスおよび/またはワイヤードアプリケーションに適用可能であり得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオまたはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。次いで、符号化ビデオ情報は、通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含むことができる。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含むことができる。0045宛先デバイス14の受信機26はチャネル16を介して情報を受信し、モデム28は情報を復調する。この場合も、ビデオ符号化プロセスは、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータをコード化するために、本明細書で説明する技法のうちの1つまたは複数を実施することができる。チャネル16を介して通信される情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、マクロブロックおよび他のコード化ユニット、たとえば、GOPの特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管CRT、液晶ディスプレイLCD、プラズマディスプレイ、有機発光ダイオードOLEDディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。0046図1の例では、通信チャネル16は、無線周波数RFスペクトルまたは1つもしくは複数の物理的伝送線路など、ワイヤレスまたはワイヤードの任意の通信媒体、あるいはワイヤレスおよびワイヤード媒体の任意の組合せを備えることができる。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成することができる。通信チャネル16は、一般に、ワイヤードまたはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用なルータ、スイッチ、基地局、または任意の他の機器を含むことができる。0047ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG-4、Part10、AdvancedVideoCodingAVCと呼ばれるITU-TH.264規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例には、MPEG-2およびITU-TH.263がある。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なMUX-DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX-DEMUXユニットはITUH.223マルチプレクサプロトコル、またはユーザデータグラムプロトコルUDPなどの他のプロトコルに準拠することができる。0048ITU-TH.264/MPEG-4AVC規格は、JointVideoTeamJVTとして知られる共同パートナーシップの成果として、ISO/IECMovingPictureExpertsGroupMPEGとともにITU-TVideoCodingExpertsGroupVCEGによって策定された。いくつかの態様では、本開示で説明する技法は、一般にH.264規格に準拠するデバイスに適用することができる。H.264規格は、ITU-T研究グループによる2005年3月付けのITU-T勧告H.264AdvancedVideoCodingforgenericaudiovisualservicesに記載されており、本明細書ではH.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と呼ぶ。JointVideoTeamJVTはH.264/MPEG-4AVCへの拡張に取り組み続けている。0049ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダコーデックの一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。0050ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャグループGOPは、概して、一連の1つまたは複数のビデオフレームを備える。GOPは、GOP中に含まれるいくつかのフレームを記述するシンタックスデータを、GOPのヘッダ、GOPの1つまたは複数のフレームのヘッダ、または他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、マクロブロックまたはマクロブロックのパーティションに対応し得る。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のマクロブロックを含み得、それらはサブブロックとも呼ばれるパーティションに配置され得る。0051一例として、ITU-TH.264規格は、ルーマ成分については16×16、8×8、または4×4、およびクロマ成分については8×8など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については16×16、16×8、8×16、8×8、8×4、4×8および4×4、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、N×NとNbyNは、垂直および水平次元に関するブロックのピクセル次元、たとえば、16×16ピクセルまたは16by16ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有しy=16、水平方向に16ピクセルを有するx=16。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、Nは、非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックは、N×M個のピクセルを備えることができ、必ずしもMがNに等しいとは限らない。16×16未満のブロックサイズは、ITU-TH.264では16×16のマクロブロックのパーティションと呼ばれ得る。0052ビデオブロックは、ピクセル領域におけるピクセルデータのブロックを備え得、あるいは、たとえば、コード化ビデオブロックと予測ビデオブロックとのピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換DCT、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換を適用した後の変換領域における変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域における量子化変換係数のブロックを備え得る。0053より小さいビデオブロックは、より良い解像度を与え、高い詳細レベルを含むビデオフレームの位置に使用され得る。一般に、マクロブロック、およびサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックと見なされ得る。さらに、スライスは、マクロブロックおよび/またはサブブロックなど、複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットとすることができる。代替的に、フレーム自体を復号可能なユニットとすることができるか、またはフレームの他の部分を復号可能なユニットとして定義することができる。コード化ユニットという用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループGOPなど、ビデオフレームの単独で復号可能な任意のユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指すことがある。0054高効率ビデオコーディングHEVCと現在呼ばれる、新しいビデオコーディング規格を開発するための取り組みが現在進行中である。新たに登場したHEVC規格はH.265と呼ばれる。この規格化の取り組みは、HEVCテストモデルHM:HEVCTestModelと呼ばれるビデオコーディングデバイスのモデルに基づく。HMは、たとえば、ITU-TH.264/AVCによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、H.264が9つのイントラ予測モードを提供するのに対して、HMは、たとえば、イントラ予測コード化されるブロックのサイズに基づいて、33ものイントラ予測モードを提供する。0055HMは、ビデオデータのブロックをコーディングユニットCUと称する。ビットストリーム内のシンタックスデータは、ピクセルの数に関して最大のコーディングユニットである最大コーディングユニットLCU:largestcodingunitを定義し得る。概して、CUは、CUがサイズの差異を有しないことを除いて、H.264のマクロブロックと同様の目的を有する。したがって、CUは複数のサブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大コーディングユニットまたはLCUのサブCUを指すことがある。LCUは複数のサブCUに分割され得、各サブCUは複数のサブCUに分割され得る。ビットストリームのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニットSCU:smallestcodingunitをも定義し得る。本開示ではまた、CU、予測ユニットPU:predictionunit、または変換ユニットTU:transformunitのいずれかを指すためにブロックという用語を使用する。0056LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。0057分割されないCUは、1つまたは複数の予測ユニットPUを含み得る。概して、PUは、対応するCUの全部または一部分を表し、そのPUについて参照サンプルを取り出すためのデータを含む。たとえば、PUがイントラ予測モード符号化されるとき、PUは、そのPUのためのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度たとえば、1/4ピクセル精度もしくは1/8ピクセル精度、動きベクトルが指す参照フレーム、および/または動きベクトルの参照リストたとえば、リスト0もしくはリスト1を記述し得る。また、1つまたは複数のPUを定義するCUについてのデータは、たとえば、1つまたは複数のPUへのCUの区分partitioningについて記述し得る。区分partitioningモードは、CUがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかとの間で異なり得る。00581つまたは複数のPUを有するCUは、1つまたは複数の変換ユニットTU:transformunitをも含み得る。PUを使用した予測の後に、ビデオエンコーダは、PUに対応するCUの部分の残差値を計算し得る。1組の残差値は、変換され、走査され、量子化されて、1組の変換係数が定義され得る。TUは、変換係数を含むデータ構造を定義する。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUは、同じCUについての対応するPUよりも大きくても小さくてもよい。いくつかの例では、TUの最大サイズは、対応するCUのサイズに対応し得る。0059本開示の技法によれば、ビデオエンコーダ20は、イントラ予測モード符号化を使用して、ビデオデータのいくつかのブロックを符号化することができ、ブロックを符号化するために使用される選択されたイントラ予測モードを示す情報を提供することができる。ビデオエンコーダ20は、PフレームまたはPスライス、およびBフレームまたはBスライスに加えて、たとえば、IフレームまたはIスライスなど、イントラ予測モードを使用して、任意のタイプのフレームまたはスライスのブロックをイントラ予測符号化することができる。あるブロックがイントラ予測モード符号化されるべきであることをビデオエンコーダ20が決定したとき、ビデオエンコーダ20は、最も適切なイントラ予測モードを選択するためにレートひずみ分析を実行することができる。たとえば、ビデオエンコーダ20は、1つまたは複数のイントラ予測モードについてのレートひずみ値を計算し、受容できるレートひずみ特性を有するモードのうちの1つを選択することができる。0060ビデオエンコーダ20は、ブロックの符号化コンテキストを決定するように構成され得る。コンテキストは、ブロックの様々な特性を含み、例えば、ピクセル次元の観点で決定され得るブロックのサイズ、たとえばHEVCの例における2N×2N、N×2N、2N×N、N×Nなどの予測ユニットPUタイプ、2N×N/2、N/2×2N、2N×1、1×2Nなどの短距離イントラ予測SDIPタイプ、H.264の例におけるマクロブロックタイプ、ブロックについてのコーディングユニットCU深さ、またはビデオデータのブロックについてのサイズの他の測定値などの、ブロックの様々な特性を含む。いくつかの例では、コンテキストは、上に隣接するブロック、左に隣接するブロック、左上に隣接するブロック、右上に隣接するブロック、または他の隣接するブロックについてのイントラ予測モードのいずれかまたはすべてに対応することができる。いくつかの例では、コンテキストは、1つまたは複数のブロックについてのイントラ予測モードと、符号化されている現在のブロックのサイズ情報の両方を含むことができる。0061いずれの場合にも、ビデオエンコーダ20は、ブロックのコンテキストを現在のブロックについての様々なコーディング特性にマッピングする構成データを含み得る。たとえば、ブロックのコンテキストに基づいて、構成データは、1つまたは複数の最もありえるイントラ予測モード、イントラ予測モードインデックステーブル、および可変長コードVLCテーブルを示し得る。すなわち、構成データは、複数のイントラ予測モードインデックステーブルおよびVLCテーブル、ならびに複数のイントラ予測モードインデックステーブルのうちの1つの指示、および現在のブロックの符号化コンテキストに基づく現在のブロックについてのイントラ予測モードの指示の符号化に使用するためのVLCテーブルのうちの1つの指示を含み得る。構成データは、符号化コンテキストに基づいて、現在のブロックについての1つまたは複数の最もありえるモードの指示をさらに提供することができる。1つの最もありえるイントラ予測モードが常に使用され、2つの最もありえるイントラ予測モードが常に使用され、3つの最もありえるイントラ予測モードが常に使用されるなどのように、使用される最もありえるイントラ予測モードの数を固定してもよく、または、代わりに、いくつかのコンテキストは、最もありえるイントラ予測モードを1つ使用し、他のコンテキストは、最もありえるイントラ予測モードを2つ以上使用するように、最もありえるイントラ予測モードの数は、コンテキスト依存でもよい。0062モードインデックステーブルは、1組のイントラ予測モード、ならびにイントラ予測モードの各々にマッピングされるインデックスを含み得る。いくつかの例では、利用可能なイントラ予測モードの数は、符号化されているブロックのサイズに依存し、したがって、複数のイントラ予測モードインデックステーブルおよびVLCテーブルは、たとえば、符号化されているブロックのサイズおよび/または他の要因に応じて、異なる数のエントリを有する。構成データにおけるVLCテーブルとイントラ予測モードインデックステーブルとの間に1対多の関係があり得る。すなわち、1つまたは複数のイントラ予測モードインデックステーブルから選択されたイントラ予測モードを符号化するために、同じVLCテーブルを使用することができる。このように、VLCテーブルは、複数のイントラ予測モードインデックステーブルに再利用することができる。同様に、たとえば、2つ以上のコンテキストが同じ組のイントラ予測モード、およびそれらのコンテキストにおいて使用されるイントラ予測モードの類似または同一の相対的可能性を共有するときなど、同じイントラ予測モードインデックステーブルは、様々なコンテキストにおいて再利用することができる。その上、いくつかの場合において、同じイントラ予測モードインデックステーブルおよびVLCテーブルは、特定のサイズのすべてのブロックに使用されてもよく、最もありえるイントラ予測モードは、たとえば、特定のサイズのブロックに隣接するブロックについてのイントラ予測モードに基づいて決定することができる。0063いずれの場合にも、この開示の技法によれば、ビデオエンコーダ20は、ブロックについての符号化コンテキスト、ならびにブロックについての符号化コンテキストに基づくイントラ予測モードインデックステーブルおよびVLCテーブルに基づいて、あるブロックについての1つまたは複数の最もありえるモードを決定することができる。ブロックの符号化に使用するイントラ予測モードを選択した後、ビデオエンコーダ20は、選択されたイントラ予測モードがブロックについての最もありえるイントラ予測モードであるかどうかを決定することができる。選択されたモードが最もありえるモードである場合、ビデオエンコーダ20は、シングルビットのコードワードたとえば、0または1などまたは一連のビットを使用してイントラ予測モードをシグナリングすることができる。0064さらに、最もありえるイントラ予測モードは、ブロックの符号化コンテキストに基づいてブロックのために選択されたイントラ予測モードインデックステーブル内のインデックス値を有し得る。特に、イントラ予測モードインデックステーブルは、テーブル内の各イントラ予測モードに対してユニークなインデックス値を含み得る。mは最もありえるイントラ予測モードのインデックスの値を表すとする。最もありえるイントラ予測モードについてのコードワードは、個別にシグナリングされ得るので、VLCテーブルは、最もありえるイントラ予測モードについての追加のコードワードを含む必要はない。したがって、使用可能なイントラ予測モードのセットが0からKにわたるインデックスの範囲にマッピングされるK1個のメンバーを有する場合、VLCテーブルは、K個のコードワードを0からK-1のインデックスに割り当てることができる。0065この例示的な方式に従ってコードワードを決定するために、選択されたイントラ予測モードが最もありえるイントラ予測モードでなく、モードインデックス値jを有すると仮定する。値nはjに対応する変更されたイントラ予測モードのインデックスを表すとする。前の記述によれば、インデックスnにマッピングされたコードワードは、選択されたイントラ予測モードjを示すために、エンコーダからデコーダにシグナリングされる。選択されたイントラ予測モードについてのモードインデックス値が最もありえるイントラ予測モードのモードインデックス値より小さい場合、ビデオエンコーダ20は、jに対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化する。言い換えれば、j<mである場合、n=jである。一方、選択されたイントラ予測モードについてのモードインデックス値が最もありえるイントラ予測モードのモードインデックス値以上である場合、ビデオエンコーダ20は、j-1に対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化する。言い換えれば、j≧mである場合、n=j-1である。00662つ以上の最もありえるイントラ予測モードが選択される例では、ビデオエンコーダ20は、第1のビットたとえば0または1を使用して、選択されたモードが決定された最もありえるイントラ予測モードのうちの1つであるかどうかを、符号化されたビットストリームでシグナリングする。選択されたモードが決定された最もありえるイントラ予測モードのうちの1つである場合、ビデオエンコーダ20は、第2のビットを使用して、最もありえるイントラ予測モードのうちどれが選択されたモードであるかをシグナリングする。選択されたモードが決定された最もありえるイントラ予測モードのうちの1つではない場合、ビデオエンコーダ20は、VLCテーブルからのコードワードを使用して他のイントラ予測モードのうちどれが選択されたモードであるかをシグナリングする。再度、一般性の喪失なしに、第1のビットが、選択されたモードは最もありえるイントラ予測モードのうちの1つであることを示す0の値を有し、ビデオエンコーダ20が2つの最もありえるイントラ予測モードを決定することを仮定すると、ビデオエンコーダ20は、2つの最もありえるイントラ予測モードのうちのどちらが選択されたモードであるかを00または01の値でシグナリングすることができ、この場合、最初の0は、第1のビットを表す。選択されたモードが最もありえるイントラ予測モードのうちの1つではない場合、ビデオエンコーダ20は、第1のビットの1と、続いてコードワードとをシグナリングすることによって、選択されたモードをシグナリングすることができる。0067さらに、2つの最もありえるイントラ予測モードは、ブロックの符号化コンテキストに基づいてブロックに対し選択されたイントラ予測モードインデックステーブル内にインデックス値を有し得る。特に、イントラ予測モードインデックステーブルは、テーブル内の各イントラ予測モードに対しユニークなインデックス値を含み得る。m1は、第1の最もありえるイントラ予測モードのインデックスの値を表し、m2は、第2の最もありえるイントラ予測モードのインデックスの値を表すとする。上記で説明したように、第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードについてのコードワードは第1のビットおよび第2のビットを使用してシグナリングされ得るので、VLCテーブルは、第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードについての追加のコードワードを含む必要はない。したがって、使用可能なイントラ予測モードのセットが0からKにわたるインデックスの範囲にマッピングされるK1個のメンバーを有する場合、VLCテーブルは、K-1個のコードワードを0からK-2のインデックスに割り当てることができる。00682つの最もありえるモードが識別されるこの例示的な方式に従ってコードワードを決定するために、選択されたイントラ予測モードが最もありえるイントラ予測モードのうちの1つではなく、モードインデックス値jを有すると仮定する。値nはjに対応する変更されたイントラ予測モードを表すとする。前の記述によれば、インデックスnにマッピングされたコードワードは、選択されたイントラ予測モードjを示すために、エンコーダからデコーダにシグナリングされる。選択されたイントラ予測モードについてのモードインデックス値が第1の最もありえるイントラ予測モードのモードインデックス値より小さい場合、ビデオエンコーダ20は、jに対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化することができる。言い換えれば、j<m1である場合、n=jである。一方、選択されたイントラ予測モードについてのモードインデックス値が第1の最もありえるイントラ予測モードのモードインデックス値以上であるが、第2の最もありえるイントラ予測モードより小さい場合、ビデオエンコーダ20は、j-1に対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化することができる。言い換えれば、j≧m1およびj<m2である場合、n=j-1である。最後に、選択されたイントラ予測モードについてのモードインデックス値が第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードのモードインデックス値より大きい場合、ビデオエンコーダ20は、j-2に対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化することができる。言い換えれば、j≧m1およびj≧m2である場合、n=j-2である。最もありえるモードがVLCテーブルに含まれないということを考慮するようにインデックスを再割り当てすることによって、残りのイントラ予測モードについてのVLCテーブルをより効率的に構築することができ、これは、1つまたは複数の選択されなかった最もありえるモードが、そうでない場合に、選択されたモードより小さい定義されたVLCインデックスをもつとき、ビットの節約になり得る。0069ビデオエンコーダ20は、いくつかの例では、コンテキストに基づいて、最もありえるモードでイントラ予測モードの選択のための分析を開始するように構成され得る。最もありえるモードが適切なレートひずみ特性を達成するとき、いくつかの例では、ビデオエンコーダ20は、最もありえるモードを選択する。他の例では、ビデオエンコーダ20は、最もありえるモードで選択プロセスを開始する必要はない。0070予測データと残差データとを生成するためのイントラ予測コーディングまたはインター予測コーディングの後、および変換係数を生成するためのH.264/AVCで使用される4×4または8×8整数変換、あるいは離散コサイン変換DCTなどの任意の変換の後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、この場合、nはmよりも大きい。0071量子化の後に、たとえば、コンテンツ適応型可変長コーディングCAVLC、コンテキスト適応型2値算術コーディングCABAC、または別のエントロピーコーディング方法に従って、量子化データのエントロピーコーディングが実行され得る。エントロピーコーディング用に構成された処理ユニットまたは別の処理ユニットは、量子化係数のゼロランレングスコーディング、および/またはコード化ブロックパターンCBP値、マクロブロックタイプ、コーディングモード、フレーム、スライス、マクロブロック、またはシーケンスなどのコード化ユニットの最大マクロブロックサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。0072ビデオデコーダ30は、最終的に、たとえば、モデム28および受信機26から符号化ビデオデータを受信し得る。本開示の技法によれば、ビデオデコーダ30は、ビデオデータのブロックを符号化するために使用されるイントラ予測モードを表すコードワードを受信し得る。ビデオデコーダ30は、ビデオエンコーダ20と実質的に同様の方法でブロックについてのコーディングコンテキストを決定するように構成される。さらに、ビデオデコーダ30は、たとえば、最もありえるモードの指示、イントラ予測モードインデックステーブル、および各コーディングコンテキストに対するVLCテーブルなど、ビデオエンコーダ20と同様の構成データを含み得る。00731つの最もありえるイントラ予測モードを使用するとき、ブロックを符号化するために使用されるイントラ予測モードが最もありえるモードであるかどうかを示すために、シングルビットが使用され得る。選択されたモードが最もありえるモードではないと決定された場合、ビデオデコーダ30は、全体的にビデオエンコーダ20とは逆の方法で、ビデオデータのブロックを符号化するために使用されるイントラ予測モードを決定し得る。0074具体的には、この場合も、nは、VLCテーブルにおいて受信されたコードワードがマッピングされる変更されたイントラ予測モードのインデックスを表し、jは、コード化ブロックを復号するために使用されるイントラ予測モードのモードインデックスを表し、mは、最もありえるモードのモードインデックスを表すとする。変更されたイントラ予測モードインデックスnが最もありえるモードのモードインデックスmより小さい場合、ビデオデコーダ30は、インデックスnを有するイントラ予測モードを使用してコード化ブロックを復号する。すなわち、n<mである場合、j=nである。一方、変更されたイントラ予測モードインデックスnが最もありえるモードのモードインデックスm以上である場合、ビデオデコーダ30は、インデックスn1を有するイントラ予測モードを使用してコード化ブロックを復号することができる。言い換えれば、n≧mである場合、j=n1である。00752つ以上の最もありえるイントラ予測モードを使用するとき、選択されたモードが2つの最もありえるイントラ予測モードのうちの1つであることを示す第1のビットをコードワードが備える場合、ビデオデコーダ30は、2つ以上の最もありえるイントラ予測モードのうちどれが選択されたモードに対応するかを識別する追加のビットに基づいて、コード化ブロックを符号化するために使用されるイントラ予測モードを決定し得る。選択されたモードが2つの最もありえるイントラ予測モードのうちの1つではないことを第1のビットが示す場合、ビデオデコーダ30は、全体的にビデオエンコーダ20のものとは逆の方法で、ビデオデータのブロックを符号化するために使用されるイントラ予測モードを決定し得る。0076具体的には、この場合も、nは、VLCテーブルにおいて受信されたコードワードがマッピングされる変更されたイントラ予測モードのインデックスを表し、jは、コード化ブロックを復号するために使用されるイントラ予測モードのモードインデックスを表し、m1は、第1の最もありえるモードのモードインデックスを表し、m2は、第2の最もありえるモードのモードインデックスを表すとする。上述のように、m1のモードインデックスがm2のモードインデックスよりも小さいと仮定することができる。変更されたイントラ予測モードインデックスnが第1の最もありえるモードのモードインデックスm1より小さい場合、ビデオデコーダ30は、インデックスnを有するイントラ予測モードを使用してコード化ブロックを復号し得る。すなわち、n<m1である場合、j=nである。そうではなく、変更されたイントラ予測モードインデックス1n1が第2の最もありえるモードのモードインデックスm2より小さい場合、ビデオデコーダ30は、インデックスn1を有するイントラ予測モードを使用してコード化ブロックを復号し得る。言い換えれば、n1<m2である場合、j=n1である。そうでない場合、ビデオデコーダ30は、インデックスn2を有するイントラ予測モードを使用してコード化ブロックを復号し得る。言い換えれば、n1≧m2である場合、j=n2である。00772つの最もありえるモードについて、ビデオエンコーダ20によって実行される、変更されたイントラ予測モードインデックスに対するモードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。0078N個の最もありえるモードについて、m1が第1の最もありえるモードを表し、mNがN番目の最もありえるモードを表す場合、ビデオエンコーダ20によって実行される、変更されたイントラ予測モードインデックスに対するモードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。00792つの最もありえるモードについて、ビデオデコーダ30によって実行される、モードインデックスに対する変更されたイントラ予測モードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。0080N個の最もありえるモードについて、ビデオデコーダ30によって実行される、モードインデックスに対する変更されたイントラ予測モードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。0081本開示の技法によれば、モードは、対応するコードワードを示すコードワードインデックスに直接マッピングすることもできる。一般に、小さいlowerコードワードインデックス値は、より短いコードワードに割り当てられ、大きいコードワードインデックス値は、より長いコードワードに割り当てられる。上述した変更されたイントラ予測モードインデックスと同様の方法で、モードインデックスに対応するインデックスでコードワードを送る代わりに、変更されたコードワードインデックスでコードワードを送ることによって、ビットの節約を達成することができ、この場合、変更は、最もありえるモードではないモードを示すために、最もありえるモードに当初関連付けられたコードワードインデックスを使用した結果である。上記で説明したように、最もありえるモードは、最初のビットまたは一連のビットを使用してシグナリングされるので、最もありえるモードは、最もありえるモードのうちの1つではないモードのコードワードインデックスをシグナリングするとき、考慮から除外することができる。その結果、最もありえるモードのうちの1つに当初マッピングされたコードワードインデックスを使用して、最もありえるモードのうちの1つではないモードを示すことができる。0082たとえば、上記の変更されたイントラ予測モードと同様に、2つの最もありえるイントラ予測モードが使用されると仮定すると、使用可能なイントラ予測モードのセットが0からKにわたるコードワードインデックスの範囲にマッピングされるK1個のメンバーを有する場合、変更されたコードワードインデックスのテーブルは、K-1個のコードワードを0からK-2までのコードワードインデックスに割り当てる。0083Cがコードワードインデックスを表し、Cmodが変更されたコードワードインデックスを表すと仮定する。さらに、Cm1が最もありえるモードの最も小さいlowestコードワードインデックスを表し、Cm2が最もありえるモードに対応する第2に最も小さいコードワードインデックスを表し、以下同様であると仮定する。以下でより詳細に説明するように、コードワードインデックスに対するモードのマッピングは、動的でもよい。したがって、最も小さいモードインデックスをもつ第1の最もありえるモードは、最も小さいコードワードインデックスを有していない場合もある。したがって、必ずしもCm1は第1の最もありえるモードに対応しているとは限らず、Cm2は第2の最もありえるモードに対応しているとは限らず、以下同様であり得る。N個の最もありえるモードについて、ビデオエンコーダ20によって実行される、変更されたコードワードインデックスに対するコードワードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。0084N個の最もありえるモードについて、ビデオデコーダ30によって実行される、コードワードインデックスに対する変更されたコードワードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。0085ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダコーデックの一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。0086図2は、イントラ予測モードを示す情報をコード化するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、マクロブロックあるいはマクロブロックのパーティションまたはサブパーティションを含むビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラ予測Iモードは、いくつかの空間ベース圧縮モードのいずれかを指し、単方向予測Pモードまたは双方向予測Bモードなどのインターモードは、いくつかの時間ベース圧縮モードのいずれかを指し得る。図2にはインターモード符号化のための構成要素が示されているが、ビデオエンコーダ20はイントラ予測モード符号化のための構成要素をさらに含み得ることを理解されたい。ただし、簡潔および明快のために、そのような構成要素は示されていない。0087図2に示すように、ビデオエンコーダ20は、符号化されるビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、メモリ64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピーコーディングユニット56とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ図2に図示せずも含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理するであろう。0088符号化プロセス中に、ビデオエンコーダ20はコーディングされるビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対して、受信したビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は、空間圧縮を行うために、コーディングされるブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して、受信したビデオブロックのイントラ予測コーディングを実行し得る。0089モード選択ユニット40は、たとえば、誤差結果に基づいて、およびコード化されている現在のブロックを含むフレームまたはスライスのフレームまたはスライスタイプに基づいて、コーディングモード、すなわち、イントラまたはインターのうちの1つを選択し、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器50に供給し、参照フレームまたは参照スライス中で使用するための符号化ブロックを再構成するために加算器62に供給し得る。一般に、イントラ予測は、前にコード化された隣接ブロックに対して現在のブロックを予測することを含み、一方、インター予測は、現在のブロックを時間的に予測するために、動き推定および動き補償を含む。0090動き推定ユニット42および動き補償ユニット44は、ビデオエンコーダ20のインター予測要素を表す。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレームまたは、他のコード化ユニット内のコーディングされている現在のブロックに対する予測参照フレームまたは、他のコード化ユニット内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和SAD:sumofabsolutedifference、2乗差分和SSD:sumofsquaredifference、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、マクロブロックのパーティションの変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを含み得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。0091動き推定ユニット42は、ビデオブロックを参照フレームストア64中の参照フレームのビデオブロックと比較することによって、インターコード化フレームのビデオブロックに対し動きベクトルを計算する。動き補償ユニット44はまた、参照フレーム、たとえば、IフレームまたはPフレームのサブ整数ピクセルを補間し得る。ITUH.264規格は、一例として、符号化されている現在のフレームよりも前の表示順序を有する参照フレームを含むリスト0、および符号化されている現在のフレームよりも後の表示順序を有する参照フレームを含むリスト1の2つのリストを記述する。したがって、参照フレームストア64に記憶されたデータは、これらのリストに従って編成され得る。0092動き推定ユニット42は、参照フレームストア64からの1つまたは複数の参照フレームのブロックを現在のフレーム、たとえば、PフレームまたはBフレームの符号化すべきブロックと比較する。参照フレームストア64中の参照フレームがサブ整数ピクセルについての値を含むとき、動き推定ユニット42によって計算される動きベクトルは参照フレームのサブ整数ピクセルロケーションを参照し得る。動き推定ユニット42および/または動き補償ユニット44は、サブ整数ピクセル位置についての値が参照フレームストア64に記憶されていない場合、参照フレームストア64に記憶された参照フレームのサブ整数ピクセル位置の値を計算するように構成することもできる。動き推定ユニット42は、計算された動きベクトルをエントロピーコーディングユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれることがある。動き補償ユニット44は、インター予測ブロックに基づいて予測データを計算し得る。0093イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックの符号化に使用するためのイントラ予測モードを決定することができる。いくつかの例では、イントラ予測ユニット46は、たとえば別々の符号化パスの間中に、様々なイントラ予測モードを使用して、現在のブロックを符号化し、イントラ予測ユニット46または、いくつかの例において、モード選択ユニット40は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードに対しレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択する。レートひずみ分析は、一般に、符号化されたブロックと、当該符号化されたブロックを生成するために符号化された符号化されていないオリジナルのブロックとの間のひずみまたはエラーの量、ならびに、符号化されたブロックを生成するために使用されるビットレートすなわち、ビット数を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについての最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックについてのひずみおよびレートから比率を計算し得る。0094いずれの場合も、あるブロックについてイントラ予測モードを選択した後、イントラ予測ユニット46は、エントロピーコーディングユニット56に、当該ブロックについて選択されたイントラ予測モードを示す情報を提供する。エントロピーコーディングユニット56は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。図2に示すように、ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブルコードワードマッピングテーブルとも呼ばれると、様々なブロックについての符号化コンテキストの定義と、最もありえるイントラ予測モード、イントラ予測モードインデックステーブル、および各コンテキストについての使用する変更されたイントラ予測モードインデックステーブルの指示とを含む構成データ66を含みえる。0095以下の表1は、イントラ予測モードインデックス、対応するイントラ予測モード、およびどのモードが特定のコンテキストについて最もありえるモードであるかの指示の一例を表す。表1は、この特定の例において、各モードインデックスにマッピングする変更されたイントラ予測モードインデックスも示す。表2は、表1のモードインデックスに全体的に対応する変更されたイントラ予測モードインデックスにコードワードをマッピングする例示的なマッピングテーブルを提供する。上記で説明したように、2つ以上の最もありえるモードが使用されてもよいが、表1および表2の例は、ただ1つの最もありえるモードが使用されると仮定する。最もありえるモードが1つ使用されるため、表2は、表1よりも1つ少ないエントリを含む。最もありえるモードは、残りのモードとは別にシグナリングされるので、モードインデックス5は、対応する変更されたイントラ予測モードインデックスを有していない。同様に、表2は、最もありえるモードについてのコードワードを含む必要はない。0096例として、mは表1において最もありえるモードのモードインデックスを表し、nはjに対応する変更されたイントラ予測モードのインデックスを表すとする。選択されたモードが最もありえるモードである場合、第1のビットたとえば0は、この例では、モードを表すために使用され、モードは、表1によって示されるように、最もありえるモードとして決定されるこの例では、垂直-右。0以外の第1のビットすなわち1が送られる場合、モードは、最もありえるモードではない。nは、モードを表すために送られるコードワードによって示される変更されたイントラ予測モードインデックスに対応するとする。インデックスnにマッピングされたコードワードは、選択されたイントラ予測モードjを示すために、エンコーダからデコーダにシグナリングされる。選択されたイントラ予測モードについてのモードインデックス値が最もありえるイントラ予測モードのモードインデックス値より小さい場合、ビデオエンコーダ20は、jに対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化する。言い換えれば、j<mである場合、n=jである。一方、選択されたイントラ予測モードについてのモードインデックス値が最もありえるイントラ予測モードのモードインデックス値以上である場合、ビデオエンコーダ20は、j-1に対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化する。言い換えれば、j≧mである場合、n=j-1である。0097デコーダ、たとえばデコーダ30は、一般に、エンコーダ20の逆のマッピングを実行する。したがって、デコーダ30は、n<mである場合、モードインデックスがnに等しいことを決定する。一方、n≧mである場合、モードインデックスはn1に等しい。言い換えれば、変更されたイントラ予測モードインデックスたとえば、送られるコードワードに対応する表2からの変更されたイントラ予測モードインデックスがこの例では、表1からの最もありえるモードのインデックス以上である場合、イントラ予測モードは、事実上、nではなく、n1によって示される。このようにして、現在のブロックを符号化するために使用されるイントラ予測モードについてのモードインデックスたとえば、n1が最もありえる符号化モードのインデックスmよりも大きいとき、選択されたイントラ予測モードを表すために使用されるコードワードは、現在のブロックを符号化するために使用されるイントラ予測モードについてのモードインデックスn1よりも1小さい変更されたイントラ予測モードインデックスnに対応する。0098表1および表2の例に関する一例として、垂直-右の最もありえるモードを示すコンテキストを有する現在のブロックに対して、選択されたモードが水平-下であると仮定する。この例では、最もありえるモードのインデックスmは5であり、一方、表1による選択されたモードについてのモードインデックスは8である。この例では、選択されたモードについてのモードインデックスは、最もありえるモードについてのモードインデックスよりも大きいので、n=j-1であり、この場合、nは、変更されたイントラ予測モードのインデックスであり、7に等しい。したがって、表2では、ビデオエンコーダ20は、この例では、選択されたモードを表すために、コードワード11111を使用する。コードワード11111は、選択されたモードが最もありえるモードではないことを示す最初のビットに続く。したがって、ビデオデコーダ30図1および図4は、最初のビットとコードワード11111とを受信し、nの値が7であることを決定する。この例では7が5よりも大きいすなわち、n≧mので、ビデオデコーダ30はモードインデックスn1を有するモード、この例ではモードインデックス8を有し、水平-下に対応するモードを表1から取り出す。0100別の例として、この場合も、表1および表2の例に関して、現在のブロックについて、選択されたモードがDCであると仮定する。同じく、この例では、最もありえるモードのインデックスmは5であり、一方、表1による選択されたモードについてのモードインデックスは0である。この例では、選択されたモードについてのモードインデックスが最もありえるモードについてのモードインデックスより小さいので、モードインデックスはnに等しく、この場合、nは、変更されたイントラ予測モードインデックスである。したがって、表2では、ビデオエンコーダ20は、この例では、選択されたモードを表すために、コードワード0を使用する。コードワード0は、選択されたモードが最もありえるモードではないことを示す最初のビットに続く。したがって、ビデオデコーダ30図1および図4は、最初のビットとコードワード0とを受信し、nの値が0であることを決定する。この例では0が5より小さいすなわち、n<mので、ビデオデコーダ30は、モードインデックスnを有するモード、この例ではモードインデックス0を有し、DCに対応するモードを表1から取り出す。0101以下の表3は、イントラ予測モードインデックス、対応するイントラ予測モード、およびどのモードが特定のコンテキストについて最もありえるモードであるかの指示の一例を表す。表3は、この特定の例では、各モードインデックスにマッピングする変更されたイントラ予測モードインデックスも示す。表4は、表3のモードインデックスに全体的に対応する変更されたイントラ予測モードインデックスにコードワードをマッピングする例示的なマッピングテーブルを提供する。上記で説明したように、3つ以上の最もありえるモードが使用されてもよいが、表3および表4の例は、最もありえるモード2つのみが使用されると仮定する。最もありえるモードが2つ使用されるため、表4は、表3よりも2つ少ないエントリを含む。0102特に、m1は表3における第1の最もありえるモードのモードインデックスを表し、m2は第2の最もありえるモードのモードインデックスを表すとする。選択されたモードが最もありえるモードのうちの1つである場合、モードが2つの最もありえるモードのうちの1つであることをシグナリングするために、第1のビットたとえば0が使用される。モードが2つの最もありえるモードのうちの1つである場合、第2のビットは、2つの最もありえるモードのうちのどちらが選択されたモードに対応するかをシグナリングするために使用される。したがって、2つの最もありえるモードは、それぞれ00および01の最初のビットシーケンスでシグナリングすることができる。0以外の第1のビットすなわち1が送られる場合、選択されたモードは、2つの最もありえるモードのうちの1つではない。nはモードを表すために送られるコードワードによって示される変更されたイントラ予測モードインデックスに対応するとする。0103ビデオエンコーダ20は、選択されたモードのモードインデックスjを決定し、モードインデックスを変更されたモードインデックスnにマッピングすることができる。j≧m2である場合、n=j-2である。そうではなく、j≧m1である場合、n=j-1である。そうでない場合、n=jである。ビデオデコーダ30は、変更されたイントラ予測モードインデックスnを受信し、最初にnをm1と比較することができる。n<m1である場合、モードインデックスjはnに等しい。nがm1以上である場合、n1はm2と比較することができる。n1<m2である場合、モードインデックスはn1に等しい。そうでない場合、モードインデックスは、n2に等しい。0104表3および表4の例に関する一例として、垂直-左および対角下/左の最もありえるモードを示すコンテキストを有する現在のブロックについて、選択されたモードが水平-下であると仮定する。この例では、最もありえるモードのインデックスm1およびm2は4および6であり、表3による選択されたモードについてのモードインデックスjは8である。この例では、選択されたモードについてのモードインデックスが両方の最もありえるモードについてのモードインデックスよりも大きいので、モードインデックスjはn2に等しく、この場合、nは、表4における変更されたイントラ予測モードのインデックスに等しい。したがって、モードインデックスjが8に等しい場合、n=6である。したがって、ビデオエンコーダ20は、この例では、選択されたモードを表すために、コードワード1111を使用する。したがって、ビデオデコーダ30図1および図4は、コードワード1111を受信し、nの値が6であることを決定する。この例では、6が4以上すなわちn≧m1であり、61が6以上であるすなわち、n1≧m2であるので、ビデオデコーダ30は、n2に等しいモードインデックスjを有するモード、この例ではモードインデックス8を有し、水平-下に対応するモードを表3から取り出す。0105別の例として、この場合も、表3および表4の例に関して、現在のブロックについて、選択されたモードがDCであると仮定する。この場合も、この例では、最もありえるモードのインデックスm1およびm2は4および6であり、表3による選択されたモードについてのモードインデックスjは0である。この例では、選択されたモードについてのモードインデックスが両方の最もありえるモードについてのモードインデックスより小さいすなわち、n<m1ので、モードインデックスjはnに等しく、この場合、nは、表4における変更されたイントラ予測モードのインデックスに等しい。したがって、nは、0に等しい。したがって、表4に基づいて、ビデオエンコーダ20は、この例では、選択されたモードを表すために、コードワード0を使用する。コードワード0は、選択されたモードが最もありえるモードではないことを示す最初のビットまたは一連のビットに続く。したがって、ビデオデコーダ30図1および図4は、最初のビットまたは一連のビットとコードワード0とを受信し、nの値が0であることを決定する。この例では0が4および6未満すなわち、n<m1なので、ビデオデコーダ30は、nに等しいモードインデックスjを有するモード、この例では、モードインデックス0を有し、DCに対応するモードを表3から取り出す。0106さらに別の例として、表3および表4の例に関して、現在のブロックについて、選択されたモードが垂直-右であると仮定する。この例では、最もありえるモードについてのインデックスm1およびm2は4および6であり、表3による選択されたモードについてのモードインデックスjは5である。この例では、選択されたモードについてのモードインデックスが第1の最もありえるモードについてのモードインデックス以上であるが、第2の最もありえるモードについてのモードインデックスより小さいので、モードインデックスjはn1に等しく、この場合、nは、表4における変更されたイントラ予測モードのインデックスに等しい。したがって、モードインデックスjが5である場合、n=4である。したがって、ビデオエンコーダ20は、この例では、選択されたモードを表すために、コードワード1101を使用する。コードワード1101は、選択されたモードが最もありえるモードではないことを示す最初のビットまたは一連のビットに続く。したがって、ビデオデコーダ30図1および図4は、最初のビットおよび一連のビットと、コードワード1101とを受信し、nの値が4であることを決定する。この例では、4が4以上であるが、41が6未満すなわち、n≧m1、しかしn1<m2であるので、ビデオデコーダ30は、n1に等しいモードインデックスjを有するモード、この例ではモードインデックス5を有し、垂直-右に対応するモードを表3から取り出す。0107表1、表2、表3、および表4は単に、最もありえるモード、モードのインデックス、および様々なインデックスに割り当てられるコードワードの表の例にすぎないことを理解されたい。他の例では、たとえば、あるブロックの符号化コンテキストに基づいて、他のモードが最もありえると決定され得る。たとえば、最もありえるモードは、左および上に隣接するブロックを符号化するために使用される符号化モードに基づいて決定することができる。構成データ66は、概して表1および表3の例に類似した、最もありえるモードとして識別される異なる符号化モードに関連付けられた複数の異なるテーブルを含み得る。同様に、構成データ66は、特定のモードの使用の確率がそのコードワードの長さに反比例するように、最もありえるモードを比較的短いコードワードたとえば、1または2ビットのコードワードにマッピングし、残りのインデックスをコードワードにマッピングする表2および表4などの複数のコードワードマッピングテーブルを含み得る。所与の例についての最もありえるモードおよびコーディングテーブルは、その例で使用される符号化モードの代わりに、またはそれに加えて、コンテキストのタイプに基づいて定義することもできる。これらの方法では、符号化モードが比較的短いコードワードにマッピングされる確率が比較的高いため、ビットの節約を達成することができる。0108いくつかの実装形態では、たとえば表2および表4に示される例など、変更されたイントラ予測モードインデックスに対するコードワードのマッピングは、より頻繁に生じる変更されたイントラ予測モードインデックスに、より短いコードワードが動的に割り当てられるように、適応型でもよい。いくつかの例では、特定のコンテキストでは、各変更されたイントラ予測モードインデックスが選択される回数が、カウンタを使用して追跡され、選択の回数に基づいて、より頻繁に生じる変更されたイントラ予測モードインデックスは、あまり頻繁に生じないイントラ予測モードインデックスよりも短いコードワードが割り当てられる。いくつかの他の例では、変更されたイントラ予測モードインデックスがコード化すなわち、符号化または復号のいずれかされるときはいつでも、この変更されたイントラ予測モードインデックスは、VLCテーブルにおける現在のコードワードの直前にくるコードワードにマッピングされる別の変更されたイントラ予測モードインデックスと、コードワードを交換する。たとえば表4で、変更されたイントラ予測モードインデックス4がコード化される場合、表4におけるマッピングテーブルは、将来のブロックを符号化するかまたは復号するために、変更されたイントラ予測モードインデックス4がコードワード1100にマッピングされ、変更されたイントラ予測モードインデックス3がコードワード1101にマッピングされるように調整される。したがって、表2および表4は、変更されたイントラ予測モードが増加するにつれてコードワード長が増加することを示すが、この関係は必ずしも生じるとは限らない場合がある。たとえば、変更されたイントラ予測モードインデックス6が最も頻繁に生じている変更されたイントラ予測モードである場合、変更されたイントラ予測モード6は、最も短いコードワードが割り当てられ得る。0109一般に、表1および表3は、モードインデックステーブルと呼ばれ得、一方、表2および表4は、変更されたイントラ予測モードインデックスマッピングテーブル、または単にマッピングテーブルと呼ばれ得る。上記のように、表1および表2は、単にモードインデックステーブルおよびマッピングテーブルの一例にすぎない。いくつかの例では、構成データ66は、複数のモードインデックステーブルおよび複数のマッピングテーブルについてのデータを含み得る。いくつかの例では、複数のコーディングコンテキストは、1つの共通のモードインデックステーブルに対応し得る。同様に、複数のモードインデックステーブルは、1つの共通のマッピングテーブルにマッピングされ得る。0110本開示の技法によれば、モードは、変更されたイントラ予測モードインデックスではなく、コードワードインデックスにマッピングすることもできる。次いで、コードワードインデックスを、コードワードを検索するために使用される、変更されたコードワードインデックスにマッピングすることができる。以下の表5は、イントラ予測モードインデックス、およびコードワードインデックスにマッピングされたモードの一例を表す。表5は、どのモードが特定のコンテキストについての最もありえるモードであるかの指示、およびこの特定の例でのコードワードインデックスに対応する変更されたコードワードインデックスも示す。0111例として、Cm1は1つの最もありえるモードのコードワードインデックスを表し、Cm2は別の最もありえるモードのコードワードインデックスを表すとし、この場合、Cm1は、Cm2よりも低いコードワードインデックス値を有する。上記で説明したように、Cm1およびCm2は、モードインデックス値とは反対に、コードワードインデックス値に基づいて決定される。したがって、Cm1は必ずしも第1の最もありえるモードに対応しているとは限らず、Cm2は必ずしも第2の最もありえるモードに対応しているとは限らない。表5の例では、たとえば、モード3対角下/右は、それが最もありえるモードの最も低いモードインデックスを有するので、第1の最もありえるモードであり、モード6は、第2の最もありえるモードである。しかしながら、第2のモードありえるモードは、第1の最もありえるモードよりも低い対応するコードワードインデックスを有する。したがって、表5の例では、Cm1は第2の最もありえるモードのコードワードインデックスに対応し、Cm2は第1の最もありえるモードのコードワードインデックスに対応する。以下の説明では、Cm1がCm2より小さいと仮定される。0112選択されたモードが最もありえるモードのうちの1つである場合、モードが2つの最もありえるモードのうちの1つであることをシグナリングするために、第1のビットたとえば0が使用される。モードが2つの最もありえるモードのうちの1つである場合、第2のビットは、2つの最もありえるモードのうちのどちらが選択されたモードに対応するかをシグナリングするために使用される。したがって、2つの最もありえるモードは、それぞれ00および01の最初のビットシーケンスでシグナリングすることができる。0以外の第1のビットすなわち1が送られる場合、選択されたモードは、2つの最もありえるモードのうちの1つでなく、選択されたモードは、コードワードインデックスに対応するコードワードとして送られる。しかしながら、選択されたモードについてのコードワードインデックスに直接対応するコードワードを送る代わりに、ビデオエンコーダ20が変更されたコードワードインデックスに対応するコードワードを送ることによって、ビットの節約が達成され得る。ビデオデコーダ30は、変更されたコードワードインデックスに対応するコードワードを受信し、次いで、選択されたイントラ予測モードに対応するコードワードインデックスを決定することができる。0113ビデオエンコーダ20は、選択されたモードCのコードワードインデックスを決定し、モードインデックスを変更されたモードインデックスCmodにマッピングすることができる。C≧Cm2である場合、Cmod=C-2である。そうではなく、C≧Cm1である場合、Cmod=C-1である。そうでない場合、Cmod=Cである。ビデオデコーダ30は、変更されたイントラ予測モードインデックスCmodを受信し、最初にそれをCm1と比較することができる。Cmod<Cm1である場合、モードインデックスCはCmodに等しい。CmodがCm1以上である場合、Cmod1はCm2と比較することができる。Cmod1<Cm2である場合、モードインデックスはCmod1に等しい。そうでない場合、モードインデックスは、Cmod2に等しい。0114表5および表6の例に関する一例として、垂直-左モードインデックス6および対角下/右モードインデックス3の最もありえるモードを示すコンテキストを有する現在のブロックについて、選択されたモードが水平-下モードインデックス8であると仮定する。この例では、最もありえるモードについてのコードワードインデックスCm1およびCm2は2および5であり、一方、表5による選択されたモードについてのモードインデックスは8である。表5によれば、モードインデックス3、6、および8はそれぞれ、コードワードインデックス5、2、および8にマッピングする。この例では、選択されたモードについてのコードワードインデックスすなわちコードワードインデックス8が両方の最もありえるモードについてのコードワードインデックスすなわちコードワードインデックス5および2よりも大きいので、コードワードインデックスはCmod2に等しく、この場合、Cmodは、表6におけるコードワードに対応する変更されたコードワードインデックスに等しい。したがって、選択されたモードのコードワードインデックスが8に等しい場合、Cmod=6である。したがって、ビデオエンコーダ20は、この例では、選択されたモードを表すために、コードワード1111を使用する。したがって、ビデオデコーダ30図1および図4は、コードワード1111を受信し、Cmodの値が6であることを決定する。この例では、6が2以上すなわちCmod≧Cm1であり、61が5以上であるすなわち、Cmod1≧Cm2であるので、ビデオデコーダ30は、モードインデックスCmod2を有するモード、この例ではモードインデックス8を有し、水平-下に対応するモードを表5から取り出す。0115別の例として、この場合も、表5および表6の例に関して、現在のブロックについて、選択されたモードが垂直モードインデックス1およびコードワードインデックス0であると仮定する。さらに、最もありえるモードのインデックスCm1およびCm2は、5および2である。この例では、選択されたモードについてのコードワードインデックスが両方の最もありえるモードについてのコードワードインデックスより小さいすなわちC<Cm1ので、変更されたコードワードインデックスCmodは、コードワードインデックスに等しい。したがって、ビデオエンコーダ20は、この例では、選択されたモードを表すために、コードワード0を使用する。コードワード0は、選択されたモードが最もありえるモードではないことを示す最初のビットまたは一連のビットに続く。したがって、ビデオデコーダ30図1および図4は、最初のビットまたは一連のビットとコードワード0とを受信し、Cmodの値が0であることを決定する。この例では0が5および2より小さいすなわち、Cmod<Cm1なので、ビデオデコーダ30は、Cmodに等しいモードインデックスCを有するモード、この例ではモードインデックス0を有し、垂直に対応するモードを表5から取り出す。0116さらに別の例として、表5および表6の例に関して、現在のブロックについて、選択されたモードが水平モードインデックス2およびコードワードインデックス4であると仮定する。この例では、最もありえるモードについてのインデックスCm1およびCm2は、2および5である。この例では、選択されたモードについてのコードワードインデックスは、Cm1以上であるがCm2より小さいので、コードワードインデックスはCmod1に等しく、ここで、Cmodは、変更されたコードワードインデックスである。したがって、コードワードインデックスが4である場合、Cmod=3である。したがって、ビデオエンコーダ20は、この例では、選択されたモードを表すために、コードワード1100を使用する。コードワード1100は、選択されたモードが最もありえるモードではないことを示す最初のビットまたは一連のビットに続く。したがって、ビデオデコーダ30図1および図4は、最初のビットおよび一連のビットとコードワード1100とを受信し、Cmodの値が3であると決定する。この例では、3が2以上であるが、31が5未満なのですなわち、Cmod≧Cm1であるが、Cmod1<Cm2であるので、ビデオデコーダ30は、Cmod1に等しいモードインデックスを有するモード、すなわちモードインデックス4を有し、水平に対応するモードを表5から取り出す。0117表1~表6は単に、最もありえるモード、モードのインデックス、コードワードインデックス、および様々なインデックスに割り当てられるコードワードの表の例にすぎないことを理解されたい。他の例では、たとえば、あるブロックの符号化コンテキストに基づいて、他のイントラ予測モードが最もありえるモードと決定され得る。たとえば、最もありえるモードは、左および上に隣接するブロックを符号化するために使用されるイントラ予測モードに基づいて決定することができる。構成データ66は、概して表1、表3、および表5の例に類似した、最もありえるモードとして識別される異なるイントラ予測モード、ならびに識別される異なる数の最もありえるモードに関連付けられた複数の異なるテーブルを含み得る。同様に、構成データ66は、特定のモードの使用の確率がそのコードワードの長さに反比例するように、残りのイントラ予測モードインデックスをコードワードにマッピングする表2、表4、および表6のような複数のコードワードマッピングテーブルを含み得る。上記で説明したように、最もありえるモードは、最初のビットまたは一連のビットを使用してシグナリングされる。そのような最初のビットまたは一連のビットは、コンテキスト依存でもよい。たとえば、異なる一連のビットは、最もありえるモードがいくつ識別されるか、ならびにどのイントラ予測モードが最もありえるモードであると識別されるかに応じて、最もありえるモードをシグナリングするために使用され得る。所与の例についての最もありえるモードおよびコーディングテーブルは、その例で使用される隣接ブロックイントラ予測モードの代わりに、またはそれに加えて、他のタイプのコンテキストに基づいて定義することもできる。これらの方法では、比較的高い確率の符号化モードは比較的短いコードワードにマッピングされるため、ビットの節約を達成することができる。0118いくつかの実装形態では、たとえば表5におけるコードワードインデックスに対するモードのマッピングは、特定のコンテキストについて、各モードが選択される回数が追跡され、選択の回数に基づいて、比較的短い対応するコードワードを有する比較的低いコードワードインデックスに、より頻繁に生じるモードが割り当てられ、一方、比較的長い対応するコードワードを有する比較的高いコードワードインデックスに、あまり頻繁に生じないモードが割り当てられるように、適応型でもよい。0119表1、表2、表3、表4、および表5の例は、H.264の9つのイントラ予測モードに関して提供される。しかしながら、本開示の技法を高効率ビデオコーディングHEVCなど他の符号化標準および技法に適用することができることを理解されたい。いくつかの例では、たとえばHEVCにおいて、使用可能なイントラ予測モードの数は、コード化されているブロックのサイズたとえば、HEVCでのコーディングユニットまたはCUに依存し得る。各イントラ予測モードに対し、モードインデックスは、各イントラ予測モードの出現の可能性に基づいて割り当てることができる。図3は、HEVCで使用することができるイントラ予測モードおよび対応するモードインデックスの一例を示す。図3の矢印は、予測方向を表し、数字は、モードインデックスを表す。以下の表7は、CUのサイズと、そのサイズのCUの符号化のために利用可能なイントラ予測モードの数との間の対応を示す。表7によってわかるように、8×8、16×16、および32×32のCUは、図3に示される35のイントラ予測モードを使用することができ、一方、4×4および64×64のCUはより少ないセットのイントラ予測モードを使用する。0120イントラ予測モードの数がブロックサイズに基づいて変わる例では、構成データ66は、異なるサイズのブロックについての異なるテーブルを含み得る。したがって、1つのブロックを符号化するために使用されるイントラ予測モードの指示を符号化するためのコンテキストは、当該ブロックのサイズ、ならびに隣接するブロックを符号化するために使用されるコーディングモードを含み得る。エントロピーコーディングユニット56は、ブロックのコンテキストに基づいてブロックの符号化に使用される選択されたイントラ予測モードを表すコードワードを選択するために使用されるモードインデックステーブルおよびコードワードマッピングテーブルを選択することができる。その上、特定サイズのブロックについてのモードインデックステーブルは、そのサイズのブロックについてのイントラ予測モードの数に等しい数のエントリを有することができる。したがって、サイズ4×4のブロックについてのモードインデックステーブルは、18のエントリを有し、サイズ8×8、16×16、および32×32のブロックについてのモードインデックステーブルは、35のエントリを有し、サイズ64×64のブロックについてのモードインデックステーブルは、4つのエントリを有し得る。たとえば128×128のような他のサイズのブロックも、決定された数の利用可能なイントラ予測モードを有し得る。0121サイズ8×8、16×16、および32×32のブロックのために利用可能なイントラ予測モードは同じであり、したがって、サイズ8×8、16×16、および32×32のブロックに対して同じモードインデックステーブルが使用され得る。しかしながら、これらのサイズのブロックについて同じモードが可能であるが、ブロックを符号化するために特定のモードを使用する確率は、ブロックのサイズに基づいて変わり得る。したがって、いくつかの例では、エントロピーコーディングユニット56は、イントラ予測モードがシグナリングされることになっているブロックのサイズに基づいて、特定のモードインデックステーブルについてのコードワードマッピングテーブルを決定することができる。0122例として、上記の表2は、様々な符号化モードを表す例示的なテーブルにすぎない。しかしながら、他の例では、たとえば単項unaryコードワードなど、他のタイプの可変長コードを使用することができることを理解されたい。コードワードの各々が一意に復号可能である限りたとえば、コードワードのいずれも、同じテーブルの別のコードワードのプレフィックスでない、コードワードマッピングテーブルすなわち、VLCテーブルまたは変更されたイントラ予測モードインデックステーブルのために、任意のセットのコードワードを使用することができる。0123構成データ66に含まれる複数のコードワードマッピングテーブルは各々、異なるコードワード構造を有することができ、この場合、コードワード構造とは、一般に、コードワードマッピングテーブルにおけるコードワードの長さを意味する。特定のコードワードマッピングテーブルについてのコードワード構造は、あるブロックの符号化コンテキストに依存し得る。以下の表8は、コードワードマッピングテーブルについてのコードワード構造の4つの異なる例リストVLC0、リストVLC1、リストVLC2、およびリストVLC3と識別されるを識別するが、追加の構造が使用されてもよい。リストをよりコンパクトにするために、多くのコードワードの終わりにいくつかのxが含まれる。xは、0または1のいずれかであり得る。たとえば、0Xは2つのコードワード01および00を表し、0XXは4つのコードワード000、001、010、および011を表し、以下同様である。0124表8によってわかるように、テーブルにおける第1のコードワードについて、より少ない数のビットを使用することによって、テーブルにおけるその後のコードワードは、速く長くなり得る。たとえば、リストVLC0では、第5のコードワードは、長さ5ビットであるが、リストVLC1では、第5のコードワードは、長さわずか4ビットである。しかしながら、リストVLC0の第1のコードワードは、リストVLC1の第1のコードワードよりも短い2と比較して1ビット。したがって、テーブルにおける第1のコードワードを使用するとき、リストVLC0のコードワードは、リストVLC1と比較してビット節約をもたらすが、リストVLC1における第5のコードワードを使用することは、リストVLC0と比較してビット節約をもたらす。0125異なるコンテキストについての異なるコードワード構造を有するコードワードマッピングテーブルを維持することによって、全体的なビット節約を達成することができる。上記で説明したように、たとえば、ブロックのサイズおよび形状、ならびに隣接するブロックがどのように符号化されたかなどの特性に基づいて、特定のブロックについてのコンテキストが決定され得る。異なるコンテキストについて、最もありえるイントラ予測モード以外の符号化モードの可能性は、異なる分布を有し得る。たとえば、いくつかのイントラ予測モードが他のイントラ予測モードと比較して高い可能性を有する場合、当該いくつかの可能性のあるイントラ予測モードを最初のいくつかの最も短いコードワードにマッピングすることによって、リストVLC0のような構造を有するコードワードマッピングテーブルを使用することは、リストVLC1などの構造を有するコードワードマッピングテーブルを使用することと比較して、ビット節約をもたらし得る。この相対的ビット節約が起こり得るのは、コードワードマッピングテーブルの最初の数個の最も短いコードワードが、他のコードワードに使用される余分なビットを最初の数個のコードワードについてのリストVLC1に対するリストVLC0についてのビット節約を超えるほど十分頻繁に使用されるからであり、その結果、リストVLC1と比較してリストVLC0についてのビットの正味の節約になる。0126しかしながら、たとえば、コードワードマッピングテーブルにおける最初の数個の最も短いコードワードにマッピングされるイントラ予測モードが、他のコードワードにマッピングされるイントラ予測モードよりもかなり高い可能性を有していない場合、リストVLC1などの構造を有するコードワードマッピングテーブルを使用することは、リストVLC0などのコードワード構造を有するコードワードマッピングテーブルを使用することと比較して、ビット節約になり得る。この相対的ビット節約が起こり得るのは、テーブルのさらに下方にあるコードワードが、最初の数個のコードワードに使用される余分なビットをテーブルのさらに下方にあるコードワードについてのリストVLC0に対するリストVLC1のビット節約を超えるほど十分頻繁に使用されるからであり、その結果、リストVLC0と比較してリストVLC1についてのビットの正味の節約になる。0127たとえば、イントラ予測またはインター予測を使用して、現在のブロックを予測した後、ビデオエンコーダ20は、コーディングされている元のビデオブロックから、動き補償ユニット44またはイントラ予測ユニット46によって計算された予測データを減算することによって残差ビデオブロックを形成し得る。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。変換ユニット52は、離散コサイン変換DCTまたは概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換ユニット52は、概念的にDCTと同様である、H.264規格によって定義される変換のような他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換をも使用することができる。いずれの場合も、変換ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域のような変換領域に変換し得る。量子化ユニット54は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって変更され得る。0128量子化の後、エントロピーコーディングユニット56が量子化変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット56は、コンテンツ適応型可変長コーディングCAVLC、コンテキスト適応型2値算術コーディングCABAC、または別のエントロピーコーディング技法を実行し得る。エントロピーコーディングユニット56によるエントロピーコーディングの後、符号化ビデオを、別のデバイスに送信するか、あるいは後で送信または検索するためにアーカイブすることができる。コンテキスト適応型2値算術コーディングの場合、コンテキストは隣接ブロックおよび/またはブロックサイズに基づき得る。0129場合によっては、エントロピーコーディングユニット56またはビデオエンコーダ20の別のユニットは、上記で説明したように、エントロピーコーディングおよびイントラ予測モードのコーディングに加えて他のコーディング機能を実行するように構成され得る。たとえば、エントロピーコーディングユニット56はブロックのコード化ブロックパターンCBP:codedblockpattern値およびパーティションを判断するように構成され得る。また、場合によっては、エントロピーコーディングユニット56は、マクロブロックまたはそのパーティション中の係数のランレングスコーディングを実行し得る。特に、エントロピーコーディングユニット56は、マクロブロックまたはパーティション中の変換係数をスキャンするためにジグザグスキャンまたは他のスキャンパターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピーコーディングユニット56はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素とともにヘッダ情報を構成し得る。0130逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域における残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレームストア64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレームストア64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。0131このように、ビデオエンコーダ20は、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての1つまたは複数の最もありえるイントラ予測モードを決定し、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択し、ここで、コードワードのテーブルは、コンテキストに基づいて、最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、最もありえるイントラ予測モード以外のイントラ予測モードのうちの1つを使用して、現在のブロックを符号化し、イントラ予測モードのうちの1つに対応する変更されたイントラ予測モードインデックスのうちの1つを決定し、選択されたコードワードのテーブルからコードワードを出力し、ここで、コードワードは変更されたイントラ予測モードインデックスのうちの1つに対応する、ように構成されたビデオエンコーダの一例を表す。0132図4は、符号化ビデオシーケンスを復号するビデオデコーダ30の一例を示すブロック図である。図4の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、メモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20図2に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信した動きベクトルに基づいて予測データを生成し得る。0133動き補償ユニット72は、ビットストリーム中で受信した動きベクトルを使用して、参照フレームストア82中の参照フレーム中の予測ブロックを識別し得る。イントラ予測ユニット74は、ビットストリーム中で受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。特に、ビデオデコーダ30は、図4の例では、構成データ84を含む。構成データ84は、イントラ予測されたブロックのコンテキストを記述する情報と、各コンテキストについて使用する複数のイントラ予測インデックスマッピングテーブルのうちの1つと、各コンテキストについて使用する複数の変更されたイントラ予測モードインデックスまたはコードワードマッピングテーブルのうちの1つと、各コンテキストについて最もありえるイントラ予測モードとを含むという点で、構成データ84は、図2の構成データ66と実質的に同様である。0134エントロピー復号ユニット70は、ビデオデータの符号化されたブロックの復号に使用するためのイントラ予測モードを表すコードワードを受信し得る。エントロピー復号ユニット70は、たとえば、符号化されたブロックの左に隣接するブロックおよび上に隣接するブロックについてのイントラ予測モード、および/または符号化されたブロックについてのサイズに基づいて、符号化されたブロックのコンテキストを決定し得る。コンテキストに基づいて、エントロピー復号ユニット70は、ブロックの復号に使用するための1つまたは複数の最もありえるイントラ予測モード、ならびにブロックの復号に使用するための実際のイントラ予測モードの決定に使用するためのイントラ予測インデックステーブルおよび変更されたイントラ予測モードインデックステーブルを決定することができる。0135単一の最もありえるイントラ予測モードを使用する場合、コードワードが、たとえば0といった第1のビットを備えるときには、エントロピー復号ユニット70は、実際のイントラ予測モードは符号化されたブロックについての最もありえるイントラ予測モードであると決定し得る。そうでないときには、エントロピー復号ユニット70は、符号化されたブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルに基づいて、受信されたコードワードにマッピングされる変更されたイントラ予測モードインデックスを決定し得る。nは変更されたイントラ予測モードインデックスを表し、mは最もありえるイントラ予測モードについてのモードインデックスを表すとする。n<mであるとき、エントロピー復号ユニット70は、符号化されたブロックについての実際のイントラ予測モードはモードインデックスnを有すると決定し得る。そうでない場合すなわち、n≧m、エントロピー復号ユニット70は、符号化されたブロックについての実際のイントラ予測モードはモードインデックスn1を有すると決定し得る。上記のようにnまたはn1のいずれかに等しいモードインデックスを使用することによって、エントロピー復号ユニット70は、符号化されたブロックの復号に使用するための実際のイントラ予測モードを示す情報を取り出し、イントラ予測ユニット74にモードの指示を送ることができる。01362つの最もありえるイントラ予測モードといった2つ以上の最もありえるイントラ予測モードを使用する場合、第1のビットが例えば0といった、ある値を有するときには、エントロピー復号ユニット70は、実際のイントラ予測モードが符号化されたブロックについての最もありえるイントラ予測モードのうちの1つであると決定し得る。そのような場合、第2のビットまたは一連のビットに基づいて、エントロピー復号ユニット70は、最もありえるイントラ予測モードのうちどれが選択されたイントラ予測モードであるかを決定することができる。そうでないときには、第1のビットの後、エントロピー復号ユニット70は、受信されたコードワードにマッピングされた変更されたイントラ予測モードインデックスを決定し、変更されたイントラ予測モードインデックスに基づいて、ブロックについての選択されたイントラ予測モードを決定することができる。一例として、nは変更されたイントラ予測モードインデックスを表し、m1およびm2は最もありえるイントラ予測モードについてのモードインデックスを表すとする。n<m1である場合、エントロピー復号ユニット70は、符号化されたブロックについての選択されたイントラ予測モードがモードインデックスnを有すると決定し得る。n1<m2であるしかしnはm1以上であるとき、エントロピー復号ユニット70は、符号化されたブロックについての選択されたイントラ予測モードがモードインデックスn1を有すると決定し得る。そうではなく、n1がm2以上であるとき、エントロピー復号ユニット70は、符号化されたブロックについての選択されたイントラ予測モードがモードインデックスn2を有すると決定し得る。モードインデックスを使用することによって、エントロピー復号ユニット70は、符号化されたブロックの復号に使用するための選択されたイントラ予測モードを示す情報を取り出し、イントラ予測ユニット74にモードの指示を送ることができる。0137同様に、イントラ予測モードインデックスがコードワードインデックスにマッピングされ、2つ以上の最もありえるモードが使用されている場合、第1のビットまたは一連のビットが、たとえば0など、ある値を有するときには、エントロピー復号ユニット70は、実際のイントラ予測モードが符号化されたブロックについての最もありえるイントラ予測モードのうちの1つであると決定し得る。そのような場合、第2のビットまたは一連のビットに基づいて、エントロピー復号ユニット70は、最もありえるイントラ予測モードのうちどれが選択されたイントラ予測モードであるかを決定することができる。そうでないときには、第1のビットまたは一連のビットの後、エントロピー復号ユニット70は、受信されたコードワードにマッピングされた変更されたコードワードインデックスを決定し、変更されたコードワードインデックスに基づいて、ブロックについての選択されたイントラ予測モードを決定し得る。一例として、Cmodは変更されたコードワードインデックスを表し、Cm1およびCm2は最もありえるイントラ予測モードについてのモードインデックスを表すとする。Cmod<Cm1である場合、エントロピー復号ユニット70は、符号化されたブロックについての実際の選択されたイントラ予測モードがCmodに等しいコードワードインデックスを有すると決定することができる。Cmod1<Cm2であるしかしCmodはCm1以上であるとき、エントロピー復号ユニット70は、符号化されたブロックについての実際の選択されたイントラ予測モードがCmod1のコードワードインデックスを有すると決定することができる。そうではなく、Cmod1がCm2以上であるとき、エントロピー復号ユニット70は、符号化されたブロックについての実際の選択されたイントラ予測モードがCmod2のモードインデックスを有すると決定することができる。コードワードインデックスを使用することによって、エントロピー復号ユニット70は、符号化されたブロックの復号に使用するための実際の選択されたイントラ予測モードを示す情報を取り出し、イントラ予測ユニット74にモードの指示を送ることができる。0138イントラ予測ユニット74は、たとえば、隣接する、以前復号されたブロックのピクセルを使用して、符号化されたブロックをイントラ予測するためにイントラ予測モードの指示を使用することができる。ブロックがインター予測モード符号化される例では、動き補償ユニット72は、符号化されたブロックについての動き補償予測データを取り出すために、動きベクトルを定義する情報を受信する。いずれの場合も、動き補償ユニット72またはイントラ予測ユニット74は、加算器80に予測ブロックを定義する情報を提供することができる。0139逆量子化ユニット76は、ビットストリーム中で供給され、エントロピー復号ユニット70によって復号された量子化ブロック係数を逆量子化inversequantize、すなわち、逆量子化dequantizeする。逆量子化プロセスは、たとえば、H.264復号規格によって定義される、またはHEVCテストモデルによって実行されるなど、従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を判断し、同様に、適用する逆量子化の程度を判断するための、各マクロブロックについてエンコーダ20によって計算される量子化パラメータQPYの使用を含み得る。0140逆変換ユニット58は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域における残差ブロックを生成する。動き補償ユニット72は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用される補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット72は、受信したシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。0141動き補償ユニット72は、シンタックス情報のいくつかを使用して、符号化ビデオシーケンスの1つまたは複数のフレームを符号化するために使用されるブロックのサイズと、符号化ビデオシーケンスのフレームまたはスライスの各ブロックがどのように区分されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化ブロックまたはパーティションのための1つまたは複数の参照フレームおよび参照フレームリストと、符号化ビデオシーケンスを復号するための他の情報と、を判断する。0142加算器80は、残差ブロックを、動き補償ユニット72またはイントラ予測ユニット74によって生成される対応する予測ブロックと合計して、復号ブロックを形成する。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理することもできる。復号されたビデオブロックは、次いで、参照フレームストア82に記憶され、参照フレームストア82は、参照ブロックをその後の動き補償に供給し、また、ディスプレイデバイス図1のディスプレイデバイス32など上での提示のために復号されたビデオを生成する。0143このように、図4のビデオデコーダ30は、現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての1つまたは複数の最もありえるイントラ予測モードを決定し、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択し、ここで、コードワードのテーブルは、コンテキストに基づいて、最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、コードワードのテーブルを使用して受信されたコードワードに対応する変更されたイントラ予測モードインデックスのうちの1つを決定し、コード化ブロックの復号に使用するために、最もありえるイントラ予測モード以外のイントラ予測モードを選択し、ここで、選択されたイントラ予測モードは、変更されたイントラ予測モードインデックスのうちの決定された1つに対応し、選択されたイントラ予測モードを使用して、現在のブロックを復号するように構成されたビデオデコーダの一例を表す。0144図5は、ビデオデータのブロックをイントラ予測符号化するための例示的な方法を示すフローチャートである。図5の技法は、一般に、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれに実装されようと、任意の処理ユニットまたはプロセッサによって実行することができ、ソフトウェアまたはファームウェアに実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図5の技法は、ビデオエンコーダ20図1および図2に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。さらに、図5に示されるステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくつかのステップが省略されたりしてもよい。0145初めに、ビデオエンコーダ20は、ビデオデータの現在のブロックについてのイントラ予測モードを選択する100。たとえば、イントラ予測ユニット46は、ブロックを符号化するために使用される様々なイントラ予測モードについてのレートひずみ値を計算し、次いで、テストされたイントラ予測モードの最良のレートひずみ値を呈するイントラ予測モードを選択する。イントラ予測ユニット46は、次いで、選択されたイントラ予測モードを使用してブロックを符号化する102。すなわち、イントラ予測ユニット46は、選択されたイントラ予測モードに基づいてブロックについての予測ブロックを計算する。ビデオエンコーダ20は、予測ブロックと元のオリジナルのブロックとの間の差をさらに計算して、残差ブロックを生成し、ビデオエンコーダ20は、次に、残差ブロックを変換および量子化する。0146ビデオエンコーダ20は、選択されたイントラ予測モードを表す情報をさらに符号化する。すなわち、イントラ予測ユニット46は、エントロピーコーディングユニット56に選択されたイントラ予測モードの指示を送る。エントロピーコーディングユニット56またはビデオエンコーダ20の別のユニットは、ブロックのコンテキストを決定する104。ブロックのコンテキストは、ブロックのサイズ、および/または、上に隣接するブロックおよび/または左に隣接するブロックなどの隣接するブロックのイントラ予測モードを含み得る。エントロピーコーディングユニット56は、ブロックの符号化コンテキストに基づいて、イントラ予測モードインジケータの符号化に使用するための変更されたイントラ予測モードインデックステーブルを選択する106。エントロピーコーディングユニット56は、いくつかの例では、イントラ予測インデックステーブルをさらに選択することができ、一方、他の例では、イントラ予測モードインデックスは固定されてもよい。エントロピーコーディングユニット56は、ブロックのコンテキストにおけるブロックについての1つまたは複数の最もありえるイントラ予測モードをさらに決定する108。0147エントロピーコーディングユニット56は、次いで、最もありえるイントラ予測モードに基づいて、イントラ予測モードについてのコードワードを変更されたイントラ予測モードインデックステーブルから選択する110。たとえば、以下でより詳細に説明するように、エントロピーコーディングユニット56は、シングルビットまたは一連のビットたとえば、シングルビットまたは2ビットを使用して、選択されたイントラ予測モードが最もありえるイントラ予測モードのうちの1つを備えることをシグナリングすることができる。選択されたイントラ予測モードが最もありえるイントラ予測モードのうちの1つではない場合、エントロピーコーディングユニット56は、選択されたイントラ予測モードをシグナリングするために、可変長のコードワードを選択する。選択されたコードワードは、ブロックについての決定されたコンテキストにおいて、ブロックを符号化するためにイントラ予測モードの使用の可能性に反比例する長さを有し得る。エントロピーコーディングユニット56は、次いで、コード化ブロックたとえば、符号化された量子化変換係数と選択されたコードワードとをビットストリームに出力する112。0148図6Aは、コード化ブロックについてのイントラ予測モードを示すコードワードを選択するための例示的な方法を示すフローチャートである。この場合も、図6Aの技法は、任意の適したプロセッサにおいて実施することができるが、図6Aの技法は、例として、ビデオエンコーダ20の例に関して説明する。図6Aは、一般に、図5のステップ110についての追加の詳細を提供する。図6Aに示される方法のステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくつかのステップが省略されたりしてもよい。0149上記で説明したように、ビデオエンコーダ20は、現在のブロックについてのコーディングコンテキストを決定する120。同様に、ビデオエンコーダ20は、ブロックについてのコーディングコンテキストに基づいて、変更されたイントラ予測モードインデックステーブルを選択する122A。ビデオエンコーダ20の構成データは、ブロックのコンテキストについて、変更されたイントラ予測モードインデックステーブルと、いくつかの例では、イントラ予測モードインデックステーブルとの指示を提供することができる。さらに、ビデオエンコーダ20は、ブロックについてのコーディングコンテキストに基づいてブロックの符号化に使用するための最もありえるイントラ予測モードを決定する124A。この場合も、ビデオエンコーダ20の構成データは、ブロックのコンテキストについて最もありえるイントラ予測モードの指示を提供することができる。0150上記で説明したように、ビデオエンコーダ20は、ブロックの実際の符号化に使用するために、ブロックについてのイントラ予測モードを選択する126A。ビデオエンコーダ20は、選択されたイントラ予測モードが、ブロックのコンテキストに基づいて、ブロックについての最もありえるイントラ予測モードと同じであるかどうかを決定する128A。選択されたモードが最もありえるモードである場合128Aのはい分岐、ビデオエンコーダ20は、最もありえるモードに基づいて、シングルビット、たとえば、0または1を使用して、ブロックの符号化に使用されるイントラ予測モードの指示を符号化する130A。0151選択されたモードが最もありえるモードでないとき128Aのいいえ分岐、ビデオエンコーダ20は、たとえば、イントラ予測モードインデックステーブルから、選択されたイントラ予測モードについてのモードインデックスを決定する122A。いくつかの例では、モードインデックスは、コンテキストに関係なく、グローバルな値でもよいが、他の例では、ビデオエンコーダ20の構成データは、各コンテキストを複数のイントラ予測モードインデックステーブルのうちの1つにマッピングする。ビデオエンコーダ20は、最もありえるイントラ予測モードについてのモードインデックスをさらに決定する。次いで、ビデオエンコーダ20は、選択されたイントラ予測モードについてのモードインデックスがブロックのコンテキストにおいて最もありえるイントラ予測モードについてのモードインデックスより小さいかどうかを決定する134A。0152選択されたイントラ予測モードについてのモードインデックスが最もありえるイントラ予測モードについてのモードインデックスより小さいとき134Aのはい分岐、ビデオエンコーダ20は、ブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルから、選択されたイントラ予測モードについてのモードインデックスに対応するコードワードを決定する。より詳細には、ビデオエンコーダ20は、選択されたイントラ予測モードについてのモードインデックスに等しい変更されたイントラ予測モードインデックスにマッピングされたコードワードを使用する136A。0153一方、選択されたイントラ予測モードについてのモードインデックスが最もありえるイントラ予測モードについてのモードインデックスよりも大きいとき134Aのいいえ分岐、ビデオエンコーダ20は、ブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルから、選択されたイントラ予測モードについてのモードインデックスよりも1小さいものに対応するコードワードを決定する。より詳細には、ビデオエンコーダ20は、選択されたイントラ予測モードよりも1小さいモードインデックスに等しい変更されたイントラ予測モードインデックスにマッピングされたコードワードを使用する136A。0154シングルビットのコードワードが最もありえるイントラ予測モードにマッピングされるので、変更されたイントラ予測モードインデックステーブルは、追加のコードワードを最もありえるイントラ予測モードのインデックスにマッピングする必要はない。したがって、最もありえるイントラ予測モードについてのモードインデックスに等しい変更されたイントラ予測モードインデックスは、このようにして、最もありえるイントラ予測モードについてのモードインデックスよりも1大きいモードインデックスにマッピングされ得る。したがって、ブロックのために利用可能なイントラ予測モードがK個ある場合、変更されたイントラ予測モードインデックステーブルは、最もありえるイントラ予測モードがブロックを符号化するために使用されるかどうかを示すシングルビットのコードワード以外の、K-1個の変更されたイントラ予測モードインデックスについての可変長コードを提供するだけでよい。0155このようにして、本開示の技法は、ビデオデータのブロックの符号化に使用されるイントラ予測モードを表す可変長のコードワードの使用を提供する。コードワードの長さは、ブロックのコンテキストに基づいて、ブロックについてのイントラ予測モードの可能性に反比例し得る。利用可能なイントラ予測モードの数は、たとえば、HEVCテストモデルまたは他の類似の符号化デバイスでは、比較的大きくなり得る。たとえば、特定のブロックについての利用可能なイントラ予測モードは35個ある。固定長の値を使用して35個の一意のイントラ予測モードを表すために、固定長の値は、少なくとも6ビットを必要とする。しかしながら、可変長のコードワードは、本開示の技法によれば、イントラ予測モードの可能性に反比例する長さを有し得るので、可能性が十分に決定されていると仮定すると、これらの技法は、ビットストリーム全体にわたって相対的ビット節約をもたらすことができる。0156このようにして、図6Aの方法は、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての最もありえるイントラ予測モードを決定することと、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択することと、ここで、コードワードのテーブルは、コンテキストに基づいて、最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、最もありえるイントラ予測モード以外のイントラ予測モードのうちの1つを使用して、現在のブロックを符号化することと、イントラ予測モードのうちの1つに対応する変更されたイントラ予測モードインデックスのうちの1つを決定することと、選択されたコードワードのテーブルからコードワードを出力すると、ここで、コードワードは、変更されたイントラ予測モードインデックスのうちの1つに対応し、を含む方法の一例を表す。0157図6Bは、コード化ブロックについてのイントラ予測モードを示すコードワードを選択するための例示的な方法を示すフローチャートである。この場合も、図6Bの技法は、任意の適したプロセッサにおいて実施することができるが、図6Bの技法は、例として、ビデオエンコーダ20の例に関して説明する。図6Bは、一般に、2つの最もありえるモードが使用される例について、図5のステップ110の追加の詳細を提供する。図6Bに示される方法のステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくつかのステップが省略されたりしてもよい。0158上記で説明したように、ビデオエンコーダ20は、現在のブロックについてのコーディングコンテキストを決定する120B。同様に、ビデオエンコーダ20は、ブロックについてのコーディングコンテキストに基づいて、変更されたイントラ予測モードインデックステーブルを選択する122BA。ビデオエンコーダ20の構成データは、ブロックのコンテキストについて、変更されたイントラ予測モードインデックステーブルと、いくつかの例では、イントラ予測モードインデックステーブルとの指示を提供する。さらに、ビデオエンコーダ20は、ブロックについてのコーディングコンテキストに基づいて、ブロックの符号化に使用するための第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードを決定する124B。この場合も、ビデオエンコーダ20の構成データは、ブロックのコンテキストについて、最もありえるイントラ予測モードの指示を提供する。0159上記で説明したように、ビデオエンコーダ20は、ブロックの実際の符号化に使用するために、ブロックについてのイントラ予測モードを選択する126B。ビデオエンコーダ20は、選択されたイントラ予測モードが、ブロックのコンテキストに基づいて、ブロックについての最もありえるイントラ予測モードのうちの1つと同じであるかどうかを決定する128B。選択されたモードが最もありえるモードである場合128Bのはい分岐、ビデオエンコーダ20は、最もありえるモードに基づいて、最初の一連のビットを使用してブロックの符号化に使用されるイントラ予測モードの指示を符号化し、最初の一連のビットは、たとえば、実際のモードが最もありえるモードのうちの1つであることを示す第1のビットと、最もありえるモードのうちどれが実際のモードであるかを示す第2のビットとを含む2ビットである130B。0160選択されたモードが最もありえるモードのうちの1つではないとき128Bのいいえ分岐、ビデオエンコーダ20は、たとえば、イントラ予測モードインデックステーブルから、選択されたイントラ予測モードのためのモードインデックスを決定する122B。いくつかの例では、モードインデックスは、コンテキストに関係なく、グローバルな値でもよく、他の例では、ビデオエンコーダ20の構成データは、各コンテキストを複数のイントラ予測モードインデックステーブルのうちの1つにマッピングする。ビデオエンコーダ20は、最もありえるイントラ予測モードについてのモードインデックスをさらに決定する。次いで、ビデオエンコーダ20は、選択されたイントラ予測モードについてのモードインデックスがブロックのコンテキストにおいて第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードについてのモードインデックスより小さいかどうかを決定する134B。0161選択されたイントラ予測モードについてのモードインデックスが両方の最もありえるイントラ予測モードについてのモードインデックスより小さいとき134Bのはい分岐、ビデオエンコーダ20は、ブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルから、選択されたイントラ予測モードについてのモードインデックスに対応するコードワードを決定する。より詳細には、ビデオエンコーダ20は、選択されたイントラ予測モードについてのモードインデックスに等しい変更されたイントラ予測モードインデックスにマッピングされたコードワードを使用する136B。0162一方、選択されたイントラ予測モードについてのモードインデックスが両方の最もありえるイントラ予測モードについてのモードインデックス以上であるとき134Bのいいえ分岐、ビデオエンコーダ20は、選択されたイントラ予測モードについてのモードインデックスが、ブロックのコンテキストにおける第1の最もありえるイントラ予測モードおよび第2の最もありえるイントラ予測モードについてのモードインデックス以上であるかどうかを決定する138B。選択されたイントラ予測モードについてのモードインデックスが両方の最もありえるイントラ予測モードについてのモードインデックス以上であるとき138Bのはい分岐、ビデオエンコーダ20は、ブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルから、選択されたイントラ予測モードについてのモードインデックスに対応するコードワードを決定する。より詳細には、ビデオエンコーダ20は、ブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルから、選択されたイントラ予測モードについてのモードインデックスよりも2小さいものに対応するコードワードを決定する。より詳細には、ビデオエンコーダ20は、選択されたイントラ予測モードについてのモードインデックスよりも2小さいものに等しい変更されたイントラ予測モードインデックスにマッピングされたコードワードを使用する140B。0163選択されたイントラ予測モードについてのモードインデックスが両方の最もありえるイントラ予測モードについてのモードインデックス以上であるとき134Bのいいえ分岐、および選択されたイントラ予測モードについてのモードインデックスが両方の最もありえるイントラ予測モードについてのモードインデックス以上ではないとき138Bのいいえ分岐、選択されたイントラ予測モードについてのモードインデックスは、第1の最もありえるイントラ予測モードについてのモードインデックス以上であるが、第2の最もありえるイントラ予測モードについてのモードインデックスより小さい138Bのいいえ分岐。選択されたイントラ予測モードについてのモードインデックスが第1の最もありえるイントラ予測モードについてのモードインデック以上であるが、第2の最もありえるイントラ予測モードについてのモードインデックスより小さいとき、ビデオエンコーダ20は、ブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルから、選択されたイントラ予測モードについてのモードインデックスに対応するコードワードを決定する。より詳細には、ビデオエンコーダ20は、選択されたイントラ予測モードについてのモードインデックスよりも1小さいものに等しい変更されたイントラ予測モードインデックスにマッピングされたコードワードを使用する140B。0164上記で説明した方法で最もありえるモードをシグナリングするために第1のビットおよび第2のビットが使用されるので、変更されたイントラ予測モードインデックステーブルは、追加のコードワードを最もありえるイントラ予測モードのインデックスにマッピングする必要はない。したがって、ブロックのために利用可能なイントラ予測モードがK個ある場合、変更されたイントラ予測モードインデックステーブルは、K-2個の変更されたイントラ予測モードインデックスについての可変長コードを提供するだけでよい。0165このようにして、本開示の技法は、ビデオデータのブロックの符号化に使用されるイントラ予測モードを表す可変長のコードワードの使用を提供する。コードワードの長さは、ブロックのコンテキストに基づいて、ブロックについてのイントラ予測モードの可能性に反比例し得る。利用可能なイントラ予測モードの数は、たとえば、HEVCテストモデルまたは他の類似の符号化デバイスでは、比較的大きくなり得る。たとえば、特定のブロックについての利用可能なイントラ予測モードが35個ある。固定長の値を使用して35個の一意のイントラ予測モードを表すために、固定長の値は、少なくとも6ビットを必要とする。しかしながら、可変長のコードワードは、本開示の技法によれば、イントラ予測モードの可能性に反比例する長さを有するので、可能性が十分に決定されていると仮定すると、これらの技法は、ビットストリーム全体にわたって相対的ビット節約をもたらすことができる。0166図7は、ビデオデータのブロックをイントラ予測復号するための例示的な方法を示すフローチャートである。図7の技法は、一般に、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれに実装されようと、任意の処理ユニットまたはプロセッサによって実行することができ、ソフトウェアまたはファームウェアに実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図7の技法は、ビデオデコーダ30図1および図4に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図7に示されるステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくつかのステップが省略されたりしてもよい。0167ビデオデコーダ30は、イントラ予測モードコード化ブロックについてのコードワードを受信する150。コードワードは、一般に、ブロックを符号化するために使用されるイントラ予測モードと、同様に、ブロックを復号するために使用されるイントラ予測モードとを表す。ビデオデコーダ30は、たとえば、ブロックのサイズ、および/または上に隣接するブロックおよび/または左に隣接するブロックなどの隣接するブロックのイントラ予測モードに基づいて、ビデオエンコーダ20のものと同様の方法でブロックについてのコーディングコンテキストを決定する152。0168ビデオデコーダ30は、さらに、ブロックについての決定されたコーディングコンテキストに基づいて、ブロックについての変更されたイントラ予測モードインデックステーブルを選択する154。ビデオデコーダ30は、いくつかの例では、コンテキストに基づいてイントラ予測モードインデックステーブルを決定し、他の例では、イントラ予測モードインデックスは、固定され、グローバルにすべてのコンテキストに適用することができる。ビデオデコーダ30は、さらに、ブロックのコンテキストについての1つまたは複数の最もありえるイントラ予測モードを決定する156。0169次いで、ビデオデコーダ30は、選択されたコードワードテーブル、最もありえるイントラ予測モード、および受信されたコードワードを使用して、ブロックの復号に使用するために、実際のイントラ予測モードを決定する158。たとえば、選択されたモードが最もありえるモードであるかどうかを示すシングルビットまたは一連のビットをコードワードが備える場合、ビデオデコーダ30は、シングルビットまたは一連のビットを使用して、最もありえるイントラ予測モードがブロックの復号に使用されるかどうかを決定する。選択されたモードが最もありえるモードではないことが決定された場合、ビデオデコーダ30は、変更されたイントラ予測モードインデックステーブルを使用して、コードワードに基づいて、変更されたイントラ予測モードインデックスを決定し、変更されたイントラ予測モードインデックスに基づいて、ビデオデコーダ30は、ブロックの符号化に使用されるイントラ予測モードを決定する。0170ビデオデコーダ30は、ブロックを復号するために、決定されたイントラ予測モードを使用する160。たとえば、ビデオデコーダ30は、決定されたイントラ予測モードを使用して、ブロックについての予測ブロックを計算する。ビデオデコーダ30は、さらに、コード化された量子化変換係数を受信し、ブロックについての残差ブロックを再構築するために、ビデオデコーダ30は、コード化された量子化変換係数を復号し、逆量子化し、および逆変換する。次いで、ビデオデコーダ30は、予測ブロックおよび残差ブロックを合計して、復号されたブロックを形成する。ビデオデコーダ30は、復号されたブロックを出力し162、これは、復号されたビデオブロックを表示のためにディスプレイデバイスにたとえば、フレームバッファを介して送ることと、たとえば時間的に別個のフレームまたはスライスにおいて、ビデオデータの後続のブロックを復号するとき、参照ブロックとして使用するために、参照フレームバッファに復号されたブロックのコピーを記憶することと、のいずれかまたは両方を含む。0171図8Aは、コード化ブロックについてのイントラ予測モードを示す受信されたコードワードを使用して、ブロックについてのイントラ予測モードを決定するための例示的な方法を示すフローチャートである。この場合も、図8Aの技法は、任意の適したプロセッサにおいて実施することができるが、図8Aの技法は、例として、および説明のために、ビデオデコーダ30の例に関して説明する。図8Aは、一般に、図7のステップ160についての追加の詳細を提供する。図8Aに示される方法のステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくらかのステップが省略されたりしてもよい。0172ビデオデコーダ30は、イントラコード化ブロックについてのコードワードを受信する170A。上記で説明したように、ビデオデコーダ30は、たとえば、ブロックのサイズ、および/または隣接するブロックのイントラ予測コード化モードに基づいて、ブロックについてのコーディングコンテキストを決定する172A。決定されたコンテキストに基づいて、ビデオデコーダ30は、ブロックに対し変更されたイントラ予測モードインデックステーブルを選択し174A、ブロックについての最もありえるイントラ予測モードを決定する176A。いくつかの例では、ビデオデコーダ30は、さらに、決定されたコンテキストに基づいてブロックについてのイントラ予測モードインデックステーブルを選択する。0173ビデオデコーダ30は、コードワードにおける第1のビットが、選択されたイントラ予測モードが最もありえるモードであることを示すかどうかを決定する。選択されたイントラ予測モードが最もありえるモードである場合178Aのはい分岐、ビデオデコーダ30は、最もありえるイントラ予測モードを使用して、ブロックを復号する180A。一方、選択されたイントラ予測モードが最もありえるモード以外のイントラ予測モードである場合178Aのいいえ分岐、ビデオデコーダ30は、選択された変更されたイントラ予測モードインデックステーブルから、コードワードに基づいて変更されたイントラ予測モードMIPMインデックスを決定する182A。0174次いで、ビデオデコーダ30は、変更されたイントラ予測モードインデックスがブロックのコンテキストについての最もありえるイントラ予測モードについてのモードインデックスより小さいかどうかを決定する184A。変更されたイントラ予測モードインデックスが、最もありえるイントラ予測モードについてのモードインデックスより小さい場合184Aのはい分岐、ビデオデコーダ30は、変更されたイントラ予測モードインデックスに等しいモードインデックスを有するイントラ予測モードを使用してブロックを復号する186A。一方、変更されたイントラ予測モードインデックスが、最もありえるイントラ予測モードについてのモードインデックス以上である場合184Aのいいえ分岐、ビデオデコーダ30は、変更されたイントラ予測モードインデックスよりも1大きいものに等しいモードインデックスを有するイントラ予測モードを使用してブロックを復号する188A。0175このようにして、図8Aは、現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての最もありえるイントラ予測モードを決定することと、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択することと、ここで、コードワードのテーブルは、コンテキストに基づいて、最もありえるイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数の可変長のコードワードを備え、コードワードのテーブルを使用して、受信されたコードワードに対応する変更されたイントラ予測モードインデックスのうちの1つを決定することと、コード化ブロックの復号に使用するために、最もありえるイントラ予測モード以外のイントラ予測モードを選択することと、ここで、選択されたイントラ予測モードは、変更されたイントラ予測モードインデックスのうちの決定された1つに対応し、選択されたイントラ予測モードを使用して、現在のブロックを復号することと、を含む方法の一例を表す。0176図8Bは、コード化ブロックについてのイントラ予測モードを示す受信されたコードワードを使用して、ブロックについてのイントラ予測モードを決定するための例示的な方法を示すフローチャートである。この場合も、図8Bの技法は、任意の適したプロセッサにおいて実施することができるが、図8Bの技法は、例として、および説明のために、ビデオデコーダ30の例に関して説明する。図8Bは、一般に、2つ以上の最もありえるモードが使用される例について、図7のステップ160の追加の詳細を提供する。図8Bに示される方法のステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくつかのステップが省略されたりしてもよい。0177ビデオデコーダ30は、イントラコード化ブロックについてのコードワードを受信する170B。上記で説明したように、ビデオデコーダ30は、たとえば、ブロックのサイズ、および/または隣接するブロックのイントラ予測コード化モードに基づいて、ブロックについてのコーディングコンテキストを決定する172B。決定されたコンテキストに基づいて、ビデオデコーダ30は、ブロックについての変更されたイントラ予測モードインデックステーブルを選択し174B、ブロックについての最もありえるイントラ予測モードを決定する176B。いくつかの例では、ビデオデコーダ30は、さらに、決定されたコンテキストに基づいてブロックについてのイントラ予測モードインデックステーブルを選択する。0178ビデオデコーダ30は、コードワードにおける第1のビットまたは一連のビットが、選択されたイントラ予測モードは最もありえるモードのうちの1つであることを示すかどうかを決定する。選択されたモードが最もありえるモードのうちの1つである場合178Bのはい分岐、ビデオデコーダ30は、最もありえるイントラ予測モードを使用して、ブロックを復号する180B。ビデオデコーダ30は、たとえば、最もありえるモードのうちのどれが選択されたモードであるかを示す第2のビットまたは一連のビットを受信する。一方、第1のビットまたは一連のビットが、選択されたモードが最もありえるモードのうちの1つではないことを示す場合178Bのいいえ分岐、ビデオデコーダ30は、選択された変更されたイントラ予測モードインデックステーブルからコードワードに基づいて変更されたイントラ予測モードMIPMインデックスを決定する182B。0179次いで、ビデオデコーダ30は、変更されたイントラ予測モードインデックスがブロックのコンテキストについての第1の最もありえるイントラ予測モードについてのモードインデックスより小さいかどうかを決定する184B。上記に説明されるように、第1の最もありえるモードについてのモードインデックスが第2の最もありえるモードについてのモードインデックスよりも低いと仮定される。したがって、変更されたイントラ予測モードインデックスが、第1の最もありえるイントラ予測モードについてのモードインデックスよりも低い場合、第2の最もありえるイントラ予測モードについてのモードインデックスよりも低い。変更されたイントラ予測モードインデックスが第1の最もありえるイントラ予測モードについてのモードインデックスより小さい場合184Bのはい分岐、ビデオデコーダ30は、変更されたイントラ予測モードインデックスに等しいモードインデックスを有するイントラ予測モードを使用してブロックを復号する186B。変更されたイントラ予測モードインデックスが第1の最もありえるイントラ予測モードについてのモードインデックス以上である場合184Bのいいえ分岐、ビデオデコーダ30は、変更されたイントラ予測モードインデックス1がブロックのコンテキストについての第2の最もありえるイントラ予測モードについてのモードインデックスより小さいかどうかを決定する188B。変更されたイントラ予測モードインデックス1がブロックのコンテキストについての第2の最もありえるイントラ予測モードについてのモードインデックスより小さい場合188Bのはい分岐、ビデオデコーダ30は、変更されたイントラ予測モードインデックスよりも1大きいものに等しいモードインデックスを有するイントラ予測モードを使用してブロックを復号する190B。0180変更されたイントラ予測モードインデックスが第2の最もありえるイントラ予測モードについてのモードインデックス以上である場合188Bのいいえ分岐、ビデオデコーダ30は、変更されたイントラ予測モードインデックスよりも2大きいものに等しいモードインデックスを有するイントラ予測モードを使用してブロックを復号する192B。0181図5、図6A、図6B、図7、図8A、および図8Bの方法は、モードインデックスに対して変更されたイントラ予測モードインデックスをマッピングすることに関して示されているが、表5および表6の例に関して、上記で説明した方法で、変更されたコードワードインデックスをコードワードインデックスに、またはその逆にマッピングするために、方法の基礎をなす技法を使用することもできることを理解されたい。0182図9は、イントラ予測モードインデックステーブル200と、変更されたイントラ予測モードインデックステーブル210と、コンテキストデータ220との間の関係を示す構成データ250のセットの一例を示す概念図である。構成データ250は、一般に、構成データ66図2または構成データ84図4に対応し得る。さらに、コンテキスト、テーブル、および最もありえるイントラ予測モードを記述する構成データは、所与のビットストリームに対し、エンコーダとデコーダの両方で同じでなければならない。0183図9の例では、イントラ予測モードインデックステーブル200は、1セットのイントラ予測モード2021~202Kイントラ予測モード202と、対応するインデックス2041~204Kとを含む。説明のために、および例として、イントラ予測モードインデックステーブル200が1つのみ示されているが、構成データ250は、イントラ予測モードインデックステーブル200に類似した複数のイントラ予測モードインデックステーブルを含み得ることを理解されたい。ブロックに利用可能なイントラ予測モードの数は、たとえば表5に関して上記で説明したように、ブロックのサイズに依存し得るので、イントラ予測モードインデックステーブルは、すべてが同じサイズを有する必要はない。インデックス204は、イントラ予測モードインデックス、または単にモードインデックスとも呼ばれ得る。0184変更されたイントラ予測モードインデックステーブル210は、インデックス2121~212K1、ならびにコードワード2141~214K1を含む。このようにして、変更されたイントラ予測モードインデックステーブル210は、イントラモードインデックステーブル200Kよりも1つ少ないエントリK-1を備える。上記で説明したように、最もありえるイントラ予測モードは、コードワード214のうちの1つではなく、シングルビットまたは一連のビットを使用して示され得る。したがって、最もありえるイントラ予測モード以外のイントラ予測モードは、コードワード214のうちの1つによって表される。再び、図9の例には、変更されたイントラ予測モードインデックステーブルが1つのみ示されているが、構成データ250は、複数の変更されたイントラ予測モードインデックステーブルを含むことができることを理解されたい。さらに、変更されたイントラ予測モードインデックステーブルの数は、必ずしもイントラモードインデックステーブルの数に等しい必要はない。いくつかの例では、同じモードインデックステーブルが1つまたは複数のイントラモードインデックステーブルに対応し得るように、イントラモードインデックステーブルと変更されたイントラ予測モードインデックステーブルとの間に多対1の関係があり得る。0185さらに、構成データ250は、コンテキストエントリ222Aに類似した複数のコンテキストエントリを含むコンテキストデータ220を含む。この例では、コンテキストエントリ222Aは、最もありえるイントラモードインジケータ224Aと、イントラ予測モードインデックステーブル識別子226Aと、変更されたイントラ予測モードインデックステーブル識別子228Aと、ブロックコンテキストデータ230Aとを含む。ブロックコンテキストデータ230Aは、コンテキストエントリ222Aが適用するブロックを示す情報を含み得る。たとえば、ブロックコンテキストデータ230Aは、コンテキストエントリ222Aが適用するブロックの1つまたは複数のサイズ、ならびにコンテキストエントリ222Aが適用するブロックの隣接するブロックについてのイントラ予測モードを記述する情報を含み得る。一例として、コンテキストエントリ222のうちの1つのブロックコンテキストデータは、コンテキストエントリが16×16のピクセルを有するブロックに対応することを示し、この場合、上に隣接するブロックは、水平のイントラ予測モードを使用して符号化され、左に隣接するブロックも、水平のイントラ予測モードを使用して符号化される。0186最もありえるイントラモードインジケータ224Aは、この例では、イントラ予測モード202Mを示す。いくつかの例では、構成データ250は、あるブロックが、最もありえるイントラ予測モードを使用して符号化されることを表すために使用するためのシングルビットのコードワードを指定する。したがって、ブロックコンテキストデータ230Aに対応するコンテキストを有するブロックでは、この例では、最もありえるイントラ予測モードは、イントラ予測モード202Mである。イントラ予測モード202Mはコンテキストエントリ222Aについての最もありえるイントラ予測モードであるので、イントラ予測モード202Mは、変更されたイントラ予測モードインデックステーブル210におけるコードワード214のうちの1つにマッピングされる必要はなく、したがって、変更されたイントラ予測モードインデックステーブル210のコードワードは、イントラモードインデックステーブル200におけるイントラ予測モード202よりも1つ少ない。0187さらに、この例では、モードインデックス204Mより小さいモードインデックス204、すなわち、モードインデックス2041~204M1は、変更されたイントラ予測モードインデックステーブル210の均一に値の定められた変更されたイントラ予測モードインデックス212にマッピングされる。たとえば、この例では、モードインデックス2042がモードインデックス204Mより小さいため、モードインデックス2042は、変更されたイントラ予測モードインデックス2122にマッピングされる。したがって、ビデオエンコーダ20がイントラ予測モード2022を使用してブロックコンテキストデータ230Aによって定義されるコンテキストを有するブロックを符号化するとき、ビデオエンコーダ20は、コードワード2142を使用して、ブロックについてのイントラ予測モードをシグナリングする。同様に、ビデオデコーダ30がブロックコンテキストデータ230Aによって定義されるコンテキストを有するブロックについてのコードワード2142を受信するとき、ビデオデコーダ30は、ブロックの符号化に使用されるイントラ予測モードおよび、同様に、ブロックの復号に使用されるイントラ予測モードがイントラ予測モード2022を備えることを決定する。同様に、モードインデックス204M1が変更されたイントラ予測モードインデックス212M1にマッピングされるため、イントラ予測モード202M1は、コードワード214M1にマッピングされる。0188一方、モードインデックス204Mよりも大きいモードインデックス204、すなわち、この例では、モードインデックス204M1~204Kは、モードインデックスよりも1小さい変更されたイントラ予測モードインデックス212にマッピングされる。たとえば、この例では、モードインデックス204K1がモードインデックス204Mよりも大きいため、モードインデックス204K1は、変更されたイントラ予測モードインデックス212K2にマッピングされる。したがって、ビデオエンコーダ20がイントラ予測モード202K1を使用してブロックコンテキストデータ230Aによって定義されるコンテキストを有するブロックを符号化するとき、ビデオエンコーダ20は、コードワード214K2を使用して、ブロックについてのイントラ予測モードをシグナリングする。同様に、ビデオデコーダ30がブロックコンテキストデータ230Aによって定義されるコンテキストを有するブロックについてのコードワード214K2を受信するとき、ビデオデコーダ30は、ブロックの符号化に使用されるイントラ予測モードおよび、同様に、ブロックの復号に使用されるイントラ予測モードがイントラ予測モード202K1を備えることを決定する。同様に、モードインデックス204M1が変更されたイントラ予測モードインデックス212Mにマッピングされるため、イントラ予測モード202M1は、コードワード214Mにマッピングされる。0189このように、モードインデックスjにマッピングされるイントラ予測モードが与えられると、ビデオエンコーダ20は、以下のステップ関数fjを使用して、最もありえるモード以外のイントラ予測モードに対し、コードワードを決定する。式中、mは最もありえるイントラ予測モードについてのモードインデックスを表し、コードワードnは変更されたイントラ予測モードインデックスnに割り当てられるコードワードを表す。0190同様に、最もありえるモードでない選択されたイントラ予測モードについてのコードワードが与えられると、ビデオデコーダ30は、以下のステップ関数gnを使用して、コードワードにマッピングされるイントラ予測モードを決定する。式中、mは最もありえるイントラ予測モードについてのモードインデックスを表し、モードjはモードインデックスjにマッピングされるイントラコーディングモードを指す。0191これらの概念が、2つの最もありえるモードが使用される例に拡張されるとき、モードインデックスjにマッピングされるイントラコーディングモードが与えられると、ビデオエンコーダ20は、以下のステップ関数fjを使用して、コードワードを決定する。式中、m1は第1の最もありえるイントラ予測モードについてのモードインデックスを表し、m2は第2の最もありえるイントラ予測モードについてのモードインデックスを表し、コードワードnは変更されたイントラ予測モードインデックスnに割り当てられるコードワードを表す。0192同様に、コードワードが与えられると、ビデオデコーダ30は、以下のステップ関数gnを使用して、コードワードにマッピングされるイントラ予測モードを決定する。式中、m1は第1の最もありえるイントラ予測モードについてのモードインデックスを表し、m2は第2の最もありえるイントラ予測モードについてのモードインデックスを表し、モードjはモードインデックスjにマッピングされるイントラ予測モードを指す。01931つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、1非一時的である有形コンピュータ可読記憶媒体、あるいは2信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。0194限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。同様に、いかなる接続も適切にコンピュータ可読媒体と称される。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスクdiskおよびディスクdiscは、コンパクトディスクdiscCD、レーザディスクdisc、光ディスクdisc、デジタル多用途ディスクdiscDVD、フロッピー登録商標ディスクdiskおよびブルーレイディスクdiscを含み、ディスクdiskは、通常、データを磁気的に再生し、ディスクdiscは、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。0195命令は、1つまたは複数のデジタル信号プロセッサDSPなどの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブル論理アレイFPGA、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用するプロセッサという用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。0196本開示の技法は、ワイヤレスハンドセット、集積回路ICまたはICのセットたとえば、チップセットを含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明したように1つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。