(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、
変更されたイントラ予測モードインデックスに対応する受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することと、
イントラ予測モードインデックスを決定することと、前記イントラ予測モードインデックスを決定することは、前記変更されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することを備える、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記現在のブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択することと、前記選択されたイントラ予測モードは、前記決定されたイントラ予測モードインデックスに対応し、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記変更されたイントラ予測モードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスよりも２大きいイントラ予測モードインデックスを有する前記イントラ予測モードを選択することを備える、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号することと、
を備える方法。
【請求項２】
前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのイントラ予測モードに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定することをさらに備える、請求項１に記載の方法。
【請求項３】
前記現在のブロックについての第３の最も可能性の高いイントラ予測モードを決定することをさらに備える、請求項１に記載の方法。
【請求項４】
前記変更されたイントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスに等しいイントラ予測モードインデックスを有する前記イントラ予測モードを選択することを備える、請求項１に記載の方法。
【請求項５】
前記変更されたイントラ予測モードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスよりも１大きいイントラ予測モードインデックスを有する前記イントラ予測モードを選択することを備える、請求項１に記載の方法。
【請求項６】
ビデオデコーダを備え、前記ビデオデコーダは、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、
変更されたイントラ予測モードインデックスに対応する受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行し、
前記変更されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することによって、イントラ予測モードインデックスを決定し、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記現在のブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択し、前記選択されたイントラ予測モードは、前記変更されたイントラ予測モードインデックスに対応し、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記変更されたイントラ予測モードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であるとき、前記ビデオデコーダは、前記変更されたイントラ予測モードインデックスよりも２大きいイントラ予測モードインデックスを有する前記イントラ予測モードを選択するように構成される、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号する
ように構成される、ビデオデータを復号するための装置。
【請求項７】
前記ビデオデコーダは、前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのイントラ予測モードに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定するようにさらに構成される、請求項６に記載の装置。
【請求項８】
前記ビデオデコーダは、前記現在のブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定するようにさらに構成される、請求項６に記載の装置。
【請求項９】
前記変更されたイントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記ビデオデコーダは、前記変更されたイントラ予測モードインデックスに等しいイントラ予測モードインデックスを有する前記イントラ予測モードを選択するように構成される、請求項６に記載の装置。
【請求項１０】
前記変更されたイントラ予測モードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記ビデオデコーダは、前記変更されたイントラ予測モードインデックスよりも１大きいイントラ予測モードインデックスを有する前記イントラ予測モードを選択するように構成される、請求項６に記載の装置。
【請求項１１】
前記装置は、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信デバイスと、
のうちの少なくとも１つを備える、請求項６に記載の装置。
【請求項１２】
ビデオデータを符号化する方法であって、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを使用して、前記現在のブロックを符号化することと、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記イントラ予測モードに対応するイントラ予測モードインデックスを決定することと、
変更されたイントラ予測モードインデックスを決定することと、前記変更されたイントラ予測モードインデックスを決定することは、前記決定されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することを備え、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスよりも大きく、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスよりも大きいとき、前記変更されたイントラ予測モードインデックスを決定することは、前記イントラ予測モードインデックスよりも２小さい前記変更されたイントラ予測モードインデックスのうちの１つを決定することを備える、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記変更されたイントラ予測モードインデックスに対応するコードワードを符号化することと、
を備える方法。
【請求項１３】
前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのモードに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定することをさらに備える、請求項１２に記載の方法。
【請求項１４】
前記現在のブロックについての第３の最も可能性の高いイントラ予測モードを決定することをさらに備える、請求項１２に記載の方法。
【請求項１５】
前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記変更されたイントラ予測モードインデックスを決定することは、前記イントラ予測モードインデックスに等しい前記変更されたイントラ予測モードインデックスのうちの１つを決定することを備える、請求項１２に記載の方法。
【請求項１６】
前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記変更されたイントラ予測モードインデックスを決定することは、前記イントラ予測モードインデックスよりも１小さい前記変更されたイントラ予測モードインデックスを決定することを備える、請求項１２に記載の方法。
【請求項１７】
ビデオエンコーダを備え、前記ビデオエンコーダは、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを使用して、前記現在のブロックを符号化し、
前記イントラ予測モードに対応するイントラ予測モードインデックスを決定し、
前記決定されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することによって、イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づき、変更されたイントラ予測モードインデックスを決定し、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスよりも大きく、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスよりも大きいとき、前記ビデオエンコーダは、前記イントラ予測モードよりも２小さい前記変更されたイントラ予測モードインデックスのうちの１つを決定することによって、前記変更されたイントラ予測モードインデックスを決定するように構成され、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記変更されたイントラ予測モードインデックスに対応するコードワードを符号化する
ように構成される、ビデオデータを符号化するための装置。
【請求項１８】
前記ビデオエンコーダは、前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのモードに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定するようにさらに構成される、請求項１７に記載の装置。
【請求項１９】
前記ビデオエンコーダは、前記現在のブロックについての第３の最も可能性の高いイントラ予測モードを決定するようにさらに構成される、請求項１７に記載の装置。
【請求項２０】
前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記ビデオエンコーダは、前記イントラ予測モードインデックスに等しい前記変更されたイントラ予測モードを決定することによって、前記変更されたイントラ予測モードインデックスを決定するようにさらに構成される、請求項１７に記載の装置。
【請求項２１】
前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記ビデオエンコーダは、前記イントラ予測モードインデックスよりも１小さい前記変更されたイントラ予測モードインデックスを決定することによって、前記変更されたイントラ予測モードインデックスを決定するようにさらに構成される、請求項１７に記載の装置。
【請求項２２】
前記装置は、
集積回路と、
マイクロプロセッサと、
前記ビデオエンコーダを含むワイヤレス通信デバイスと、
のうちの少なくとも１つを備える、請求項１７に記載の装置。
【請求項２３】
ビデオデータを復号するための装置であって、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定する手段と、
変更されたイントラ予測モードインデックスに対応する受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行する手段と、
イントラ予測モードインデックスを決定する手段と、前記イントラ予測モードインデックスを決定する手段は、前記変更されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較する手段を備える、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記現在のブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択する手段と、前記選択されたイントラ予測モードは、前記決定されたイントラ予測モードインデックスに対応し、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記変更されたイントラ予測モードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であるとき、前記イントラ予測モードを選択する手段は、前記変更されたイントラ予測モードインデックスよりも２大きいイントラ予測モードインデックスを有する前記イントラ予測モードを選択する手段を備える、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号する手段と、
を備える装置。
【請求項２４】
前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとの少なくとも１つについてのイントラ予測モードに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定する手段
をさらに備える、請求項２３に記載の装置。
【請求項２５】
前記現在のブロックについての第３の最も可能性の高いイントラ予測モードを決定する手段
をさらに備える、請求項２３に記載の装置。
【請求項２６】
ビデオデータを符号化するための装置であって、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定する手段と、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを使用して、前記現在のブロックを符号化する手段と、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記イントラ予測モードに対応するイントラ予測モードインデックスを決定する手段と、
前記決定されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することによって、変更されたイントラ予測モードインデックスを決定する手段と、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスよりも大きく、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスよりも大きいとき、前記変更されたイントラ予測モードインデックスを決定する手段は、前記イントラ予測モードインデックスよりも２小さい前記変更されたイントラ予測モードインデックスのうちの１つを決定する手段を備える、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記変更されたイントラ予測モードインデックスに対応するコードワードを符号化する手段と、
を備える装置。
【請求項２７】
前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのモードに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定する手段
をさらに備える、請求項２６に記載の装置。
【請求項２８】
前記現在のブロックについての第３の最も可能性の高いイントラ予測モードを決定する手段
をさらに備える、請求項２６に記載の装置。
【請求項２９】
実行されると、１つまたは複数のプロセッサに、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定させ、
変更されたイントラ予測モードインデックスに対応する受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行させ、
前記変更されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較するによって、イントラ予測モードインデックスを決定させ、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記現在のブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択させ、前記選択されたイントラ予測モードは、前記決定されたイントラ予測モードインデックスに対応し、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記変更されたイントラ予測モードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であるとき、前記１つまたは複数のプロセッサは、前記変更されたイントラ予測モードインデックスよりも２大きいイントラ予測モードインデックスを有する前記イントラ予測モードを選択することで、前記イントラ予測モードを選択する、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号させる
命令を記憶する非一時的なコンピュータ可読記憶媒体。
【請求項３０】
実行されると、１つまたは複数のプロセッサに、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定させ、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外の前記イントラ予測モードを使用して、前記現在のブロックを符号化させ、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記イントラ予測モードに対応するイントラ予測モードインデックスを決定させ、
前記決定されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することによって、変更されたイントラ予測モードインデックスを決定させ、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスよりも大きく、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスよりも大きいとき、前記１つまたは複数のプロセッサは、前記イントラ予測モードインデックスよりも２小さい前記変更されたイントラ予測モードインデックスのうちの１つを決定することを備える前記変更されたイントラ予測モードインデックスを決定する、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記変更されたイントラ予測モードインデックスに対応するコードワードを符号化させる
命令を記憶する非一時的なコンピュータ可読記憶媒体。
【請求項３１】
ビデオデータを復号する方法であって、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、
変更されたイントラ予測モードインデックスに対応する受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することと、
イントラ予測モードインデックスを決定することと、前記イントラ予測モードインデックスを決定することは、前記変更されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することを備える、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記現在のブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択することと、前記選択されたイントラ予測モードは、前記決定されたイントラ予測モードインデックスに対応し、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記変更されたイントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスに等しいイントラ予測モードインデックスを有する前記イントラ予測モードを選択することを備える、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号することと、
を備える方法。
【請求項３２】
前記変更されたイントラ予測モードインデックス＋１が、前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスよりも１大きいイントラ予測モードインデックスを有する前記イントラ予測モードを選択することを備える、請求項３１に記載の方法。
【請求項３３】
ビデオデコーダを備え、前記ビデオデコーダは、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、
変更されたイントラ予測モードインデックスに対応する受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行し、
前記変更されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することによって、イントラ予測モードインデックスを決定し、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記現在のブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択し、前記選択されたイントラ予測モードは、前記変更されたイントラ予測モードインデックスに対応し、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記変更されたイントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記ビデオデコーダは、前記変更されたイントラ予測モードインデックスに等しいイントラ予測モードインデックスを有する前記イントラ予測モードを選択するように構成され、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号する
ように構成される、ビデオデータを復号するための装置。
【請求項３４】
前記変更されたイントラ予測モードインデックス＋１が、前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記イントラ予測モードを選択するために、前記デコーダは、前記変更されたイントラ予測モードインデックスよりも１大きいイントラ予測モードインデックスを有する前記イントラ予測モードを選択するように構成される、請求項３３に記載の装置。
【請求項３５】
ビデオデータを復号する方法であって、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、
変更されたイントラ予測モードインデックスに対応する受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することと、
イントラ予測モードインデックスを決定することと、前記イントラ予測モードインデックスを決定することは、前記変更されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することを備える、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記現在のブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択することと、前記選択されたイントラ予測モードは、前記決定されたイントラ予測モードインデックスに対応し、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記変更されたイントラ予測モードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスよりも１大きいイントラ予測モードインデックスを有する前記イントラ予測モードを選択することを備える、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号することと
を備える方法。
【請求項３６】
ビデオデコーダを備え、前記ビデオデコーダは、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、
変更されたイントラ予測モードインデックスに対応する受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行し、
イントラ予測モードインデックスを決定し、前記イントラ予測モードインデックスを決定することは、前記変更されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することを備える、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記現在のブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択し、前記選択されたイントラ予測モードは、前記決定されたイントラ予測モードインデックスに対応し、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記変更されたイントラ予測モードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記ビデオデコーダは、前記変更されたイントラ予測モードインデックスよりも１大きいイントラ予測モードインデックスを有する前記イントラ予測モードを選択するように構成され、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号する
ように構成される、ビデオデータを復号するための装置。
【請求項３７】
ビデオデータを符号化する方法であって、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、前記現在のブロックを符号化することと、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記イントラ予測モードに対応するイントラ予測モードインデックスを決定することと、
変更されたイントラ予測モードインデックスを決定することと、前記変更されたイントラ予測モードを決定することは、前記決定されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することを備え、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記変更されたイントラ予測モードインデックスを決定することは、前記イントラ予測モードインデックスに等しい前記変更されたイントラ予測モードインデックスのうちの１つを決定することを備える、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記変更されたイントラ予測モードインデックスに対応するコードワードを符号化することと、
を備える方法。
【請求項３８】
ビデオエンコーダを備え、前記ビデオエンコーダは、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを使用して、前記現在のブロックを符号化し、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記イントラ予測モードに対応するイントラ予測モードインデックスを決定し、
前記決定されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することによって変更されたイントラ予測モードインデックスを決定し、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記変更されたイントラ予測モードインデックスを決定するために、前記エンコーダは、前記イントラ予測モードインデックスに等しい前記変更されたイントラ予測モードインデックスのうちの１つを決定するようにさらに構成され、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記変更されたイントラ予測モードインデックスに対応するコードワードを符号化する
ように構成される、ビデオデータを符号化するための装置。
【請求項３９】
ビデオデータを符号化する方法であって、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、前記現在のブロックを符号化することと、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記イントラ予測モードに対応するイントラ予測モードインデックスを決定することと、
変更されたイントラ予測モードインデックスを決定することと、前記変更されたイントラ予測モードを決定することは、前記決定されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することを備え、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記変更されたイントラ予測モードインデックスを決定することは、前記イントラ予測モードインデックスよりも１小さい前記変更されたイントラ予測モードインデックスを決定することを備える、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記変更されたイントラ予測モードインデックスに対応するコードワードを符号化することと
を備える方法。
【請求項４０】
ビデオエンコーダを備え、前記ビデオエンコーダは、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外の前記イントラ予測モードを使用して、前記現在のブロックを符号化することと、
イントラ予測モードへのイントラ予測モードインデックスのマッピングに基づいて、前記イントラ予測モードに対応するイントラ予測モードインデックスを決定し、
変更されたイントラ予測モードインデックスを決定し、前記変更されたイントラ予測モードを決定することは、前記決定されたイントラ予測モードインデックスを、第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスおよび第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックスと比較することを備え、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モードの各々がそれぞれのイントラ予測モードインデックスに対応し、前記イントラ予測モードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのイントラ予測モードインデックス未満であるとき、前記変更されたイントラ予測モードインデックスを決定するために、前記ビデオエンコーダは、前記イントラ予測モードインデックスよりも１小さい前記変更されたイントラ予測モードインデックスを決定するようにさらに構成され、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記変更されたイントラ予測モードインデックスに対応するコードワードを符号化することと、
ように構成される、ビデオデータを符号化するための装置。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１１年１月６日に出願された米国仮出願第６１／４３０，５２０号、２０１１年２月２４日に出願された米国仮出願第６１／４４６，４０２号、および２０１１年３月２日に出願された米国仮出願第６１／４４８，６２３号の利益を主張する。
【技術分野】
【０００２】
本開示は、ビデオコーディングに関し、より詳細には、コード化されたビデオデータについてのコード化特性のシグナリングに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはビデオブロックに区分され得る。各ビデオブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のビデオブロックは、隣接ビデオブロックに対する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のビデオブロックは、同じフレームまたはスライス中の隣接マクロブロックまたはコーディングユニットに関する空間的予測、あるいは他の参照フレームに関する時間的予測を使用し得る。
【発明の概要】
【０００５】
[0005]概して、本開示では、コード化されたビデオデータについてのコード化特性をシグナリングするための技法について説明する。本開示の技法は、ビデオデータのブロックを符号化するために使用されるイントラ予測モードのシグナリングの効率を向上させることができる。本開示の技法は、コードワードを使用したビデオデータのブロックについての符号化されたビットストリームイントラ予測モードにおけるシグナリングを含む。本技法はさらに、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）プロセスを使用してコードワードをコード化することをさらに含む。このようにして、本開示の技法を使用するとき、コード化されたビットストリームについての相対的なビット節約があり得る。
【０００６】
[0006]一例では、ビデオデータを復号する方法は、現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択することと、コードワードのテーブルは、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、ＣＡＢＡＣプロセスを実行して、受信されたコードワードを決定することと、コードワードのテーブルを使用して受信されたコードワードに対応する変更されたイントラ予測モードインデックスのうちの１つを決定することと、コード化ブロックの復号に使用するために、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択することと、選択されたイントラ予測モードは、変更されたイントラ予測モードインデックスのうちの決定された１つに対応し、選択されたイントラ予測モードを使用して、現在のブロックを復号することと、を含む。
【０００７】
[0007]一例では、ビデオデータを復号するための装置は、ビデオデコーダを含み、このビデオデコーダは、現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択するように構成され、コードワードのテーブルは、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、ビデオデコーダはさらに、ＣＡＢＡＣプロセスを実行して、受信されたコードワードを決定し、コードワードのテーブルを使用して受信されたコードワードに対応する変更されたイントラ予測モードインデックスのうちの１つを決定し、コード化ブロックの復号に使用するために、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択するように構成され、選択されたイントラ予測モードは、変更されたイントラ予測モードインデックスのうちの決定された１つに対応し、ビデオデコーダはさらに、選択されたイントラ予測モードを使用して、現在のブロックを復号するように構成される。
【０００８】
[0008]一例では、ビデオデータを符号化する方法は、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択することと、コードワードのテーブルは、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、現在のブロックを符号化することと、コードワードのテーブルを使用してイントラ予測モードのうちの１つに対応する変更されたイントラ予測モードインデックスのうちの１つを決定することと、ＣＡＢＡＣプロセスを実行することによって、選択されたコードワードのテーブルからコードワードを符号化することと、を含み、コードワードは変更されたイントラ予測モードインデックスのうちの１つに対応する。
【０００９】
[0009]一例では、ビデオデータを符号化するための装置は、ビデオエンコーダを含み、このビデオデコーダは、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択するように構成され、コードワードのテーブルは、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、ビデオデコーダはさらに、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、現在のブロックを符号化し、コードワードのテーブルを使用してイントラ予測モードのうちの１つに対応する変更されたイントラ予測モードインデックスのうちの１つを決定し、ＣＡＢＡＣプロセスを実行することによって、選択されたコードワードのテーブルからコードワードを符号化するように構成され、コードワードは変更されたイントラ予測モードインデックスのうちの１つに対応する。
【００１０】
[0010]一例では、ビデオを復号するための装置は、現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定するための手段と、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択するための手段と、コードワードのテーブルは、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、受信されたコードワードを決定するために、ＣＡＢＡＣプロセスを実行するための手段と、コードワードのテーブルを使用して受信されたコードワードに対応する変更されたイントラ予測モードインデックスのうちの１つを決定するための手段と、コード化ブロックの復号に使用するために、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択するための手段と、選択されたイントラ予測モードは、変更されたイントラ予測モードインデックスのうちの決定された１つに対応し、選択されたイントラ予測モードを使用して、現在のブロックを復号するための手段と、を含む。
【００１１】
[0011]一例では、ビデオデータを符号化するための装置は、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定するための手段と、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択するための手段と、コードワードのテーブルは、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、現在のブロックを符号化するための手段と、コードワードのテーブルを使用してイントラ予測モードのうちの１つに対応する変更されたイントラ予測モードインデックスのうちの１つを決定するための手段と、ＣＡＢＡＣプロセスを実行することによって、選択されたコードワードのテーブルからコードワードを符号化するための手段と、を含み、コードワードは変更されたイントラ予測モードインデックスのうちの１つに対応する。
【００１２】
[0012]一例では、実行されると、１つまたは複数のプロセッサに、現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定させ、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択させ、コードワードのテーブルは、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、受信されたコードワードを決定するために、ＣＡＢＡＣプロセスを実行させ、コードワードのテーブルを使用して受信されたコードワードに対応する変更されたイントラ予測モードインデックスのうちの１つを決定させ、コード化ブロックの復号に使用するために、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択させ、選択されたイントラ予測モードは、変更されたイントラ予測モードインデックスのうちの決定された１つに対応し、選択されたイントラ予測モードを使用して、現在のブロックを復号させる命令を記憶するコンピュータ可読記憶媒体。
【００１３】
[0013]一例では、実行されると、１つまたは複数のプロセッサに、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定させ、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択させ、コードワードのテーブルは、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、現在のブロックを符号化させ、コードワードのテーブルを使用してイントラ予測モードのうちの１つに対応する変更されたイントラ予測モードインデックスのうちの１つを決定させ、ＣＡＢＡＣプロセスを実行することによって、選択されたコードワードのテーブルからコードワードを符号化させ、コードワードは変更されたイントラ予測モードインデックスのうちの１つに対応する、命令を記憶するコンピュータ可読記憶媒体。
【００１４】
[0014]一例では、ビデオデータを復号する方法は、現在のブロックのコンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、現在のブロックのコンテキストに基づいて、コードワードのテーブルを選択することと、コードワードのテーブルは、コードワードインデックスに対応する複数のコードワードを備え、コードワードインデックスはイントラ予測モードにマッピングされ、受信されたコードワードを決定するために、ＣＡＢＡＣプロセスを実行することと、コードワードのテーブルを使用して受信されたコードワードに対応する変更されたコードワードインデックスを決定することと、コード化ブロックの復号に使用するために、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択することと、選択されたイントラ予測モードは、変更されたコードワードインデックス、第１の最も可能性の高いイントラ予測モード、および第２の最も可能性の高いイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、選択されたイントラ予測モードを使用して、現在のブロックを復号することと、を含む。
【００１５】
[0015]一例では、ビデオデータを復号するための装置は、ビデオデコーダを含み、このビデオデコーダは、現在のブロックのコンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、現在のブロックのコンテキストに基づいて、コードワードのテーブルを選択するように構成され、コードワードのテーブルは、コードワードインデックスに対応する複数のコードワードを備え、コードワードインデックスはイントラ予測モードにマッピングされる。ビデオデコーダはさらに、受信されたコードワードを決定するために、ＣＡＢＡＣプロセスを実行し、コードワードのテーブルを使用して受信されたコードワードに対応する変更されたコードワードインデックスを決定し、コード化ブロックの復号に使用するために、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択するように構成され、選択されたイントラ予測モードは、変更されたコードワードインデックス、第１の最も可能性の高いイントラ予測モード、および第２の最も可能性の高いイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、ビデオデコーダはさらに、選択されたイントラ予測モードを使用して、現在のブロックを復号するように構成される。
【００１６】
[0016]一例では、ビデオを復号するための装置は、現在のブロックのコンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定するための手段と、現在のブロックのコンテキストに基づいて、コードワードのテーブルを選択するための手段と、コードワードのテーブルは、コードワードインデックスに対応する複数のコードワードを備え、コードワードインデックスはイントラ予測モードにマッピングされ、受信されたコードワードを決定するために、ＣＡＢＡＣプロセスを実行するための手段と、コードワードのテーブルを使用して受信されたコードワードに対応する変更されたコードワードインデックスを決定するための手段と、コード化ブロックの復号に使用するために、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択するための手段と、選択されたイントラ予測モードは、変更されたコードワードインデックス、第１の最も可能性の高いイントラ予測モード、および第２の最も可能性の高いイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、選択されたイントラ予測モードを使用して、現在のブロックを復号するための手段と、を含む。
【００１７】
[0017]一例では、実行されると、１つまたは複数のプロセッサに、現在のブロックのコンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定させ、現在のブロックのコンテキストに基づいて、コードワードのテーブルを選択させ、コードワードのテーブルは、コードワードインデックスに対応する複数のコードワードを備え、コードワードインデックスはイントラ予測モードにマッピングされ、受信されたコードワードを決定するために、ＣＡＢＡＣプロセスを実行させ、コードワードのテーブルを使用して受信されたコードワードに対応する変更されたコードワードインデックスを決定させ、コード化ブロックの復号に使用するために、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択させ、選択されたイントラ予測モードは、変更されたコードワードインデックス、第１の最も可能性の高いイントラ予測モード、および第２の最も可能性の高いイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、選択されたイントラ予測モードを使用して、現在のブロックを復号させる命令を記憶するコンピュータ可読記憶媒体。
【００１８】
[0018]一例では、ビデオデータを符号化する方法は、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、現在のブロックのコンテキストに基づいて、コードワードのテーブルを選択することと、コードワードのテーブルは、コードワードインデックスに対応する複数のコードワードを備え、コードワードインデックスはイントラ予測モードにマッピングされ、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、現在のブロックを符号化することと、現在のブロックを符号化するために使用されるイントラ予測モードのうちの１つのコードワードインデックス、第１の最も可能性の高いモードにマッピングされたコードワードインデックス、および第２の最も可能性の高いモードにマッピングされたコードワードインデックスに基づいて、変更されたコードワードインデックスを決定することと、ＣＡＢＡＣプロセスを実行することによって、選択されたコードワードのテーブルからコードワードを符号化することと、を含み、コードワードは変更されたイントラ予測モードインデックスのうちの１つに対応する。
【００１９】
[0019]一例では、ビデオデータを符号化するための装置は、ビデオエンコーダを含み、このビデオエンコーダは、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、現在のブロックのコンテキストに基づいて、コードワードのテーブルを選択するように構成され、コードワードのテーブルは、コードワードインデックスに対応する複数のコードワードを備え、コードワードインデックスはイントラ予測モードにマッピングされ、ビデオエンコーダはさらに、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、現在のブロックを符号化し、現在のブロックを符号化するために使用されるイントラ予測モードのうちの１つのコードワードインデックス、第１の最も可能性の高いモードにマッピングされたコードワードインデックス、および第２の最も可能性の高いモードにマッピングされたコードワードインデックスに基づいて、変更されたコードワードインデックスを決定し、ＣＡＢＡＣプロセスを実行することによって、選択されたコードワードのテーブルからコードワードを符号化するように構成され、コードワードが変更されたイントラ予測モードインデックスのうちの１つに対応する。
【００２０】
[0020]一例では、ビデオを符号化するための装置は、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定するための手段と、現在のブロックのコンテキストに基づいて、コードワードのテーブルを選択するための手段と、コードワードのテーブルは、コードワードインデックスに対応する複数のコードワードを備え、コードワードインデックスはイントラ予測モードにマッピングされ、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、現在のブロックを符号化するための手段と、現在のブロックを符号化するために使用されるイントラ予測モードのうちの１つのコードワードインデックス、第１の最も可能性の高いモードにマッピングされたコードワードインデックス、および第２の最も可能性の高いモードにマッピングされたコードワードインデックスに基づいて、変更されたコードワードインデックスを決定するための手段と、ＣＡＢＡＣプロセスを実行することによって、選択されたコードワードのテーブルからコードワードを符号化するための手段と、を含み、コードワードは変更されたイントラ予測モードインデックスのうちの１つに対応する。
【００２１】
[0021]一例では、実行されると、１つまたは複数のプロセッサに、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定させ、現在のブロックのコンテキストに基づいて、コードワードのテーブルを選択させ、コードワードのテーブルは、コードワードインデックスに対応する複数のコードワードを備え、コードワードインデックスはイントラ予測モードにマッピングされ、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、現在のブロックを符号化させ、現在のブロックを符号化するために使用されるイントラ予測モードのうちの１つのコードワードインデックス、第１の最も可能性の高いモードにマッピングされたコードワードインデックス、および第２の最も可能性の高いモードにマッピングされたコードワードインデックスに基づいて、変更されたコードワードインデックスを決定させ、ＣＡＢＡＣプロセスを実行することによって、選択されたコードワードのテーブルからコードワードを符号化させる命令を記憶し、コードワードは変更されたイントラ予測モードインデックスのうちの１つに対応する、コンピュータ可読記憶媒体。
【００２２】
[0022]１つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００２３】
【図１】ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータをコード化するための技法を利用し得る一例のビデオ符号化および復号システムを示すブロック図。
【図２】イントラ予測モードを示す情報をコード化するための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】イントラ予測モードおよび対応するモードインデックスの一例を示す図。
【図４】符号化ビデオシーケンスを復号するビデオデコーダの一例を示すブロック図。
【図５Ａ】本開示で説明する技法に従って使用され得るコンテキストベースの適応バイナリ算術符号化ユニットの一例を示すブロック図。
【図５Ｂ】本開示で説明する技法に従って使用され得るコンテキストベースの適応バイナリ算術復号ユニットの一例を示すブロック図。
【図６】ビデオデータのブロックをイントラ予測符号化するための一例の方法を示すフローチャート。
【図７Ａ】コード化ブロックについてのイントラ予測モードを示すコードワードを選択するための例示的な方法を示すフローチャート。
【図７Ｂ】コード化ブロックについてのイントラ予測モードを示すコードワードを選択するための例示的な方法を示すフローチャート。
【図８】ビデオデータのブロックをイントラ予測復号するための例示的な方法を示すフローチャート。
【図９Ａ】コード化ブロックについてのイントラ予測モードを示す受信されたコードワードを使用して、ブロックについてのイントラ予測モードを決定するための例示的な方法を示すフローチャート。
【図９Ｂ】コード化ブロックについてのイントラ予測モードを示す受信されたコードワードを使用して、ブロックについてのイントラ予測モードを決定するための例示的な方法を示すフローチャート。
【図１０】イントラ予測モードインデックステーブルと変更されたイントラ予測モードインデックステーブルとコンテキストデータとの間の関係を示す構成データの組の一例を示す概念図。
【発明を実施するための形態】
【００２４】
[0034]一般に、本開示は、コード化されたビデオデータについてのコード化特性をシグナリングするための技法について説明し、より詳細には、本開示は、コンテキストベースのバイナリ算術コーディング（ＣＡＢＡＣ）プロセスを使用して、ビデオデコーダにイントラ予測モードをシグナリングすることについて説明する。本開示の技法は、ビデオデータのブロックをイントラ符号化するために使用されるイントラ予測モードのシグナリングの効率を向上することができる。ビデオエンコーダは、たとえば、様々なイントラ予測モードを使用して符号化されるブロックの符号化コンテキストに基づいて、イントラ予測モードのインデックスを示す構成データを含み得る。符号化コンテキストは、たとえば、隣接する、前にコード化されたブロックについての符号化モードおよび／またはブロックサイズを含み得る。
【００２５】
[0035]構成データは、コンテキストごとに１つの最も可能性の高いイントラ予測モードを定義する、またはコンテキストごとに２つ以上の最も可能性の高いイントラ予測モードを定義するために使用され得る。これらの最も可能性の高いイントラ予測モードは、本開示では、時として、単に最も可能性の高いモードと呼ばれ得る。構成データは、所与のコンテキストにおいて最も可能性の高いモード以外のモード（複数可）についてのイントラ予測モードを記述するシンタックスデータの符号化に使用するために、マッピングテーブルを定義することもできる。特に、マッピングテーブルは、コードワードに対するインデックスのマッピングを含むことができる。以下でより詳細に説明するように、マッピングテーブルは、コードワードに対して変更されたイントラ予測モードインデックスをマッピングすることができる、または次いで変更されたコードワードインデックスに調整されるコードワードインデックスに対してイントラ予測モードインデックスをマッピングすることができる。
【００２６】
[0036]したがって、ビデオエンコーダは、あるブロックがイントラ予測モード符号化される符号化コンテキストを決定するように構成することができる。符号化コンテキストは、最も可能性の高いイントラ予測モード、ならびに他のイントラ予測モードの可能性に関連し得る。現在のブロックの符号化に使用するために、最も可能性の高いイントラ予測モードが選択されると、ビデオエンコーダは、ブロックが生じるコンテキストについて、最も可能性の高いモードで、ブロックが符号化されることを示すために、１ビットのコードワード（たとえば「１」）を選択することができる。２つ以上の最も可能性の高いイントラ予測モードが使用される例では、第１のビットは、現在のブロックの符号化に使用するために、最も可能性の高いイントラ予測モードのうちの１つが選択されるかどうかを示すことができ、最も可能性の高いイントラ予測のうちの１つが使用される場合、最も可能性の高いイントラ予測モードのうちどれが選択されるかを第２のビット（または一連のビット）が示し得る。時として、本開示全体にわたって、この第１のビットと第２のビットとの組合せは、それ自体、コードワードと呼ばれることがあり、コードワードの第１のビットは、選択されたイントラ予測モードが最も可能性の高いイントラ予測モードのうちの１つであることをシグナリングし、第２のビット（または一連のビット）は、最も可能性の高いイントラ予測モードのうちのどれかを識別する。したがって、本開示の技法によれば、選択されたモードが最も可能性の高いモードであるかどうか、および選択されたモードがどの最も可能性の高いモードであるかを示すコードワードは、本開示で説明するように、ＣＡＢＡＣプロセスを使用してコード化することができる。さらに、いくつかの例では、非最も可能性の高いモードを示すコードワードとともに、最も可能性の高いモードをシグナリングするために使用されるビットが一緒にコードワードとして扱われ、本開示で説明するように、ＣＡＢＡＣプロセスを使用してコード化され得る。
【００２７】
[0037]符号化コンテキストに基づいて、他のイントラ予測モード（すなわち最も可能性の高いイントラ予測モード（複数可）以外のイントラ予測モード）の各々に、変更されたインデックス値を割り当てることもできる。その上、符号化コンテキストは、イントラ予測モードのインデックスに関連するインデックス値によってインデックスを付けられる１組のコードワードを有するテーブルに、さらに対応し得る。特に、上記で説明したように、最も可能性の高いイントラ予測モード（複数可）のインデックス値に、最も可能性の高いイントラ予測モードが選択されたことを表すシングルビットの（または場合によってはより長い）コードワード以外の、別のコードワードを割り当てる必要はない。コードワードを残りの各イントラ予測モードにマッピングするために、最も可能性が高いモード（複数可）に対し最初に割り振られたものを除外するために、残りの各イントラ予測モードのインデックスが最初に変更され得る。したがって、変更されたイントラ予測モードインデックスは、最も可能性の高いモードについてのモードインデックス未満であるイントラ予測モードインデックスに等しくなり得る。一方、１つの最も可能性の高いモードを使用するとき、変更されたイントラ予測モードインデックスは、最も可能性の高いモードについてのインデックスよりも大きいイントラ予測モードインデックスについてのイントラ予測モードインデックスより１小さくなり得る。このようにして、イントラ予測モードよりも１つ少ないコードワードがあり得、符号化コンテキストに基づいて、コードワードは、イントラ予測モードにマッピングされ得る。２つ以上の最も可能性の高いイントラ予測モードを使用するとき、コードワードテーブルに、イントラ予測モードよりも２以上少ないコードワードがあり得、コードワードは、同様に、符号化コンテキストに基づいて、イントラ予測モードにマッピングされ得る。コードワードは、ＣＡＢＡＣプロセスを使用してコード化することができる。
【００２８】
[0038]ビデオデコーダは、たとえば、符号化されたブロックについてのイントラ予測モードを決定するとき、類似の技法を実行するように、同様に構成され得る。本開示の技法によれば、ビデオデコーダは、符号化されたブロックのデータ、ならびに符号化されたブロックの復号に使用するためのイントラ予測モードを示すコードワードを受信することができる。ビデオデコーダは、コードワードを受信し、一般に、ビデオエンコーダによって実行されるＣＡＢＡＣプロセスの逆であるＣＡＢＡＣプロセスを実行することによって、コードワードを復号することができる。ビデオデコーダは、ビデオエンコーダと同様の方法で、ブロックのコンテキストを決定することができる。コンテキストに基づいて、ビデオデコーダは、ブロックについての１つまたは複数の最も可能性の高いイントラ予測モードを決定することができる。１つの最も可能性の高いイントラ予測モードを使用するとき、最も可能性の高いモードが選択されるかどうかを決定するために、シングルビットが復号され得る。最も可能性の高いモードが選択されることをシングルビットが示す場合、ビデオデコーダは、最も可能性の高いイントラ予測モードを使用してブロックを復号することができる。そうでない場合、ビデオデコーダは、受信されたコードワードにマッピングされる変更されたイントラ予測モードインデックスを参照し得る。変更されたイントラ予測モードインデックスが、最も可能性の高いイントラ予測モードのモードインデックス以上である場合、ビデオデコーダは、変更されたイントラ予測モードインデックスよりも１大きいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号し得る。変更されたイントラ予測モードインデックスが、最も可能性の高いイントラ予測モードのモードインデックス未満である場合、ビデオデコーダは、変更されたイントラ予測モードインデックスに等しいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号し得る。
【００２９】
[0039]同様に、２つの最も可能性の高いイントラ予測符号化モードを使用するとき、選択されたイントラ予測モードが最も可能性の高いイントラ予測モードのうちの１つであることを第１のビットまたは一連のビットが示す場合、ビデオデコーダは、第２のビットによって識別された最も可能性の高いイントラ予測モードを使用してブロックを復号することができる。そうでない場合、ビデオデコーダは、受信されたコードワードにマッピングされる変更されたイントラ予測モードインデックスを参照し得る。変更されたイントラ予測モードインデックスが、第１の最も可能性の高いイントラ予測モードのモードインデックス未満である場合、ビデオデコーダは、変更されたイントラ予測モードインデックスに等しいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号し得る。そうではなく、変更されたイントラ予測モードインデックス＋１が、第２の最も可能性の高いイントラ予測モードのモードインデックス未満である場合、ビデオデコーダは、変更されたイントラ予測モードインデックスよりも１大きいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号し得る。そうでない場合、ビデオデコーダは、変更されたイントラ予測モードインデックスよりも２大きいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号し得るなど、以下同様である。
【００３０】
[0040]「第１の最も可能性の高い」および「第２の最も可能性の高い」という句は、本開示では、一般に、２つの別々の最も可能性の高いイントラ予測モードを指すために使用され、２つのイントラ予測モードの相対的な見込みを暗示するものではない。しかしながら、例によって後で説明するように、一般に、本開示での説明のために、第１の最も可能性の高いイントラ予測モードが第２の最も可能性の高いイントラ予測モードよりも低い対応するモードインデックス値を有すると仮定され得る。したがって、変更されたイントラ予測モードインデックス値が第１の最も可能性の高いモードのモードインデックス未満であると言われた場合、変更されたイントラ予測モードインデックス値も、第２の最も可能性の高いイントラ予測モード、第３の最も可能性の高いイントラ予測モードなどのモードインデックス未満であると仮定することができる。
【００３１】
[0041]本開示の技法は、３つ以上の最も可能性の高いイントラ予測モードを利用する実装に拡張することができる。たとえば、最も可能性の高いイントラ予測モードがＮ個あると仮定すると、第１のビットまたは一連のビットは、選択されたイントラ予測モードがＮ個の最も可能性の高いイントラ予測モードのうちの１つであるかどうかを示し得る。選択されたイントラ予測モードがＮ個の最も可能性の高いイントラ予測モードのうちの１つである場合、第２の一連のビットは、Ｎ個の最も可能性の高いイントラ予測モードのうちどれが選択されたイントラ予測モードであるかを識別することができる。たとえば、３つの最も可能性の高いモードを使用して、次のように、２ビットを使用して、選択されたイントラ予測モードが最も可能性の高いモードのうちの１つであるかどうかをシグナリングすることができる。第１の最も可能性の高いモードが使用されることを示すには、「００」をシグナリングし、第２の最も可能性の高いモードが使用されることを示すには、「０１」をシグナリングし、第３の最も可能性の高いモードが使用されることを示すには、「１０」をシグナリングし、３つの最も考えるモードのうちのどれも使用されないことを示すには、「１１」をシグナリングする。最も可能性の高いモードのうちのどれも使用されない場合、追加のコードワードを使用して、選択さされたイントラ予測モードをシグナリングすることができる。
【００３２】
[0042]いくつかの例では、最も可能性の高いイントラ予測モードは、１つまたは複数のグループでシグナリングされ得、この場合、第１のビットまたは一連のビットは、選択された最も可能性の高いイントラ予測モードが第１のグループからであるかどうかをシグナリングする。選択されたイントラ予測モードが第１のグループからではない場合、後続のビットは、それが第２のグループなどからのものであるかどうかをシグナリングすることができる。
【００３３】
[0043]たとえば、５つの最も可能性の高いモードが使用される場合、第１のビットまたは一連のビットは、選択されたイントラ予測モードが２つの最も可能性の高いイントラ予測モードの第１のグループからのものであるかどうかをシグナリングし得る。選択されたモードが２つのうちの１つである場合、第２のビットは、２つのうちのどちらが選択されたモードであるかを識別し得る。選択されたモードが２つのうちの１つではない場合、ビットの第２グループは、選択されたモードを識別し得る。たとえば、ビットの第２グループが２ビットを含む場合、第１のビットの組合せ（たとえば００）は、選択されたモードが第３の最も可能性の高いモードであることを示し得、第２のビットの組合せ（たとえば０１）は、選択されたモードが第４の最も可能性の高いモードであることを示し得、第３のビットの組合せ（たとえば１０）は、選択されたモードが第５の最も可能性の高いモードであることを示し得る。選択されたモードが５つの最も可能性の高いイントラ予測モードのうちの１つである場合、デコーダは、最も可能性の高いモードを使用してブロックを復号することができる。第４のビットの組合せ（たとえば１１）は、選択されたモードが５つの最も可能性の高いモードのうちの１つでないことを示し得、その場合、本開示で説明する技法に従って、第４のビットの組合せの後に、選択されたモードを識別する後続のビットが続き得る。
【００３４】
[0044]選択されたモードが最も可能性の高いモードではない例では、ビデオデコーダは、受信されたコードワードにマッピングされる変更されたイントラ予測モードインデックスを参照し得る。例として、第１の最も可能性の高いイントラ予測モードが第２の最も可能性の高いイントラ予測モードよりも低い対応するモードインデックス値を有する、第２が第３よりも低いインデックスを有するなどと仮定することができる。本開示の技法によれば、変更されたイントラ予測モードインデックスが、第１の最も可能性の高いイントラ予測モードのモードインデックス未満である場合、ビデオデコーダは、変更されたイントラ予測モードインデックスに等しいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号し得る。そうではなく、変更されたイントラ予測モードインデックス＋１が、第２の最も可能性の高いイントラ予測モードのモードインデックス未満である場合、ビデオデコーダは、変更されたイントラ予測モードインデックスよりも１大きいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号し得る。そうではなく、変更されたイントラ予測モードインデックス＋２が、第３の最も可能性の高いイントラ予測モードのモードインデックス未満である場合、ビデオデコーダは、変更されたイントラ予測モードインデックスよりも２大きいモードインデックスにマッピングされるイントラ予測モードを使用してブロックを復号し得るなど、以下同様である。以下でさらに詳細に説明するように、変更されたイントラ予測モードインデックスが最も可能性の高いモードのエントリを含まない場合があり、そのために、イントラ予測モードインデックスが、最も可能性の高いモードのモードインデックスに応じて、変更されたイントラ予測モードインデックス＋１、変更されたイントラ予測モードインデックス＋２などに、マッピングされ得る。
【００３５】
[0045]図１は、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータをコード化するための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先デバイス１４に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、広範囲のデバイスのいずれかを備えることができる。場合によっては、ソースデバイス１２および宛先デバイス１４は、いわゆるセルラー電話または衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信デバイス、または通信チャネル１６を介してビデオ情報を通信することができ、その場合、通信チャネル１６がワイヤレスである任意のワイヤレスデバイスを備え得る。
【００３６】
[0046]ただし、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータのコード化に関係する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。たとえば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用し得る。したがって、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスまたはワイヤード媒体の任意の組合せを備え得る。その上、通信チャネル１６は、ビデオ符号化デバイスがビデオ復号デバイスにデータを送信し得る多くの方法のうちのただ１つを表すためのものである。たとえば、システム１０の他の構成では、ソースデバイス１２は、宛先デバイス１４による復号のために符号化ビデオを生成し、必要に応じて、符号化ビデオが宛先デバイス１４によってアクセスできるように、記憶媒体またはファイルサーバ上に符号化ビデオを記憶し得る。
【００３７】
[0047]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、送信機２４とを含む。宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータをコード化するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００３８】
[0048]図１の図示のシステム１０は一例にすぎない。ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータのコード化のための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化されたビデオデータを発生するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４の各々がビデオ符号化構成要素および復号構成要素を含むので、デバイス１２、１４は、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話通信のためのビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートすることができる。
【００３９】
[0049]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き携帯電話またはビデオ電話を形成することができる。ただし、上述のように、本開示で説明する技法は、一般にビデオコーディングに適用可能であり、ワイヤレスおよび／またはワイヤードアプリケーションに適用可能であり得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオまたはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。次いで、符号化ビデオ情報は、通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含むことができる。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含むことができる。
【００４０】
[0050]宛先デバイス１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８は情報を復調する。この場合も、ビデオ符号化プロセスは、ビデオデータのブロックについてのイントラ予測モードを表すシンタックスデータをコード化するために、本明細書で説明する技法のうちの１つまたは複数を実施することができる。チャネル１６を介して通信される情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、マクロブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００４１】
[0051]図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送ラインなど、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００４２】
[0052]ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例には、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠することができる。
【００４３】
[0053]ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、一般にＨ．２６４規格に準拠するデバイスに適用することができる。Ｈ．２６４規格は、ＩＴＵ−Ｔ研究グループによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」に記載されており、本明細書ではＨ．２６４規格またはＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格または仕様と呼ぶ。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００４４】
[0054]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
【００４５】
[0055]ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャのグループ（ＧＯＰ）は、概して、一連の１つまたは複数のビデオフレームを備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのフレームを記述するシンタックスデータを、ＧＯＰのヘッダ中、ＧＯＰの１つまたは複数のフレームのヘッダ中、または他の場所に含み得る。各フレームは、それぞれのフレームのための符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、マクロブロックまたはマクロブロックのパーティションに対応し得る。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のマクロブロックを含み得、それらはサブブロックとも呼ばれるパーティションに配置され得る。
【００４６】
[0056]一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、ならびにクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×Ｎ」と「Ｎ by Ｎ」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、１６×１６ピクセルまたは１６ by １６ピクセルを指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、Ｎは、非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックは、Ｎ×Ｍピクセルを備え得、Ｍは必ずしもＮに等しいとは限らない。１６×１６未満のブロックサイズは、ＩＴＵ−Ｔ  Ｈ．２６４では１６×１６のマクロブロックのパーティションと呼ばれ得る。
【００４７】
[0057]ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え得、あるいは、たとえば、コード化ビデオブロックと予測ビデオブロックとのピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後の、変換領域における変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域における量子化変換係数のブロックを備え得る。
【００４８】
[0058]小さいビデオブロックほど、より良い解像度が得られ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。一般に、マクロブロック、およびサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックと見なされ得る。さらに、スライスは、マクロブロックおよび／またはサブブロックなど、複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャのグループ（ＧＯＰ）など、ビデオフレームの単独で復号可能な任意のユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指すことがある。
【００４９】
[0059]高効率ビデオコーディング（ＨＥＶＣ）と現在呼ばれる、新しいビデオコーディング規格を開発するための取り組みが現在進行中である。新興のＨＥＶＣ規格はＨ．２６５と呼ばれることもあり得る。この規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）と呼ばれるビデオコーディングデバイスのモデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、Ｈ．２６４が９つのイントラ予測モードを提供するのに対して、ＨＭは、たとえば、イントラ予測コード化されるブロックのサイズに基づいて、３３ものイントラ予測モードを提供する。
【００５０】
[0060]ＨＭは、ビデオデータのブロックをコーディングユニット（ＣＵ）と称する。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大のコーディングユニットである最大コーディングユニット（ＬＣＵ：largest coding unit）を定義し得る。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。したがって、ＣＵは、サブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コーディングユニットまたはＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵはサブＣＵに分割され得る。ビットストリームのシンタックスデータは、ＣＵ深さと呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示ではまた、ＣＵ、予測ユニット（ＰＵ：prediction unit）、または変換ユニット（ＴＵ：transform unit）のいずれかを指すために「ブロック」という用語を使用する。
【００５１】
[0061]ＬＣＵは４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。
【００５２】
[0062]分割されないＣＵは、１つまたは複数の予測ユニット（ＰＵ：prediction unit）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含む。たとえば、ＰＵがイントラ予測モード符号化されるとき、ＰＵは、そのＰＵのためのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの精度（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルが指す参照フレーム、および／または動きベクトルの参照リスト（たとえば、リスト０もしくはリスト１）を記述し得る。また、（１つまたは複数の）ＰＵを定義するＣＵについてのデータは、たとえば、１つまたは複数のＰＵへのＣＵの区分について記述し得る。区分モードは、ＣＵがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかとの間で異なり得る。
【００５３】
[0063]１つまたは複数のＰＵを有するＣＵは、１つまたは複数の変換ユニット（ＴＵ：transform unit）をも含み得る。ＰＵを使用した予測の後に、ビデオエンコーダは、ＰＵに対応するＣＵの部分の残差値を計算し得る。１組の残差値は、変換され、走査され、量子化されて、１組の変換係数が定義され得る。ＴＵは、変換係数を含むデータ構造を定義する。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、同じＣＵの対応するＰＵよりも大きいことも小さいこともある。いくつかの例では、ＴＵの最大サイズは、対応するＣＵのサイズに対応し得る。
【００５４】
[0064]本開示の技法によれば、ビデオエンコーダ２０は、イントラ予測モード符号化を使用して、ビデオデータのいくつかのブロックを符号化することができ、ブロックを符号化するために使用される選択されたイントラ予測モードを示す情報を提供することができる。ビデオエンコーダ２０は、イントラ予測モードを使用して、例えば、ＰフレームまたはＰスライス、およびＢフレームまたはＢスライスに加えて、ＩフレームまたはＩスライスなどの任意のタイプのフレームまたはスライスのブロックをイントラ予測符号化することができる。あるブロックがイントラ予測モード符号化されるべきであることをビデオエンコーダ２０が決定したとき、ビデオエンコーダ２０は、最も適切なイントラ予測モードを選択するためにレートひずみ分析を実行することができる。たとえば、ビデオエンコーダ２０は、１つまたは複数のイントラ予測モードについてのレートひずみ値を計算し、受容できるレートひずみ特性を有するモードのうちの１つを選択することができる。
【００５５】
[0065]ビデオエンコーダ２０は、ブロックの符号化コンテキストを決定するように構成することもできる。コンテキストは、たとえば、ピクセル寸法で決定され得るブロックのサイズ、たとえばＨＥＶＣの例における２Ｎ×２Ｎ、Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×Ｎなどの予測ユニット（ＰＵ）タイプ、２Ｎ×Ｎ／２、Ｎ／２×２Ｎ、２Ｎ×１、１×２Ｎなどの短距離イントラ予測（ＳＤＩＰ）タイプ、Ｈ．２６４の例におけるマクロブロックタイプ、ブロックについてのコーディングユニット（ＣＵ）深さ、またはビデオデータのブロックについてのサイズの他の測定値など、ブロックの様々な特性を含むことができる。いくつかの例では、コンテキストは、上に隣接するブロック、左に隣接するブロック、左上に隣接するブロック、右上に隣接するブロック、または他の隣接するブロックについてのイントラ予測モードの方法のいずれかまたはすべてに対応することができる。いくつかの例では、コンテキストは、１つまたは複数のブロックについてのイントラ予測モードと、符号化されている現在のブロックのサイズ情報の両方を含むことができる。
【００５６】
[0066]いずれの場合にも、ビデオエンコーダ２０は、ブロックのコンテキストを現在のブロックについての様々なコーディング特性にマッピングする構成データを含み得る。たとえば、ブロックのコンテキストに基づいて、構成データは、１つまたは複数の最も可能性の高いイントラ予測モード、イントラ予測モードインデックステーブル、およびマッピングテーブルを示し得る。すなわち、構成データは、複数のイントラ予測モードインデックステーブルおよびマッピングテーブル、ならびに複数のイントラ予測モードインデックステーブルのうちの１つの指示、および現在のブロックの符号化コンテキストに基づいて、現在のブロックについてのイントラ予測モードの指示の符号化に使用するためのマッピングテーブルのうちの１つの指示を含み得る。構成データは、符号化コンテキストに基づいて、現在のブロックについての１つまたは複数の最も可能性の高いモードの指示をさらに提供することができる。１つの最も可能性の高いイントラ予測モードが常に使用されるように、２つの最も可能性の高いイントラ予測モードが常に使用されるように、３つの最も可能性の高いイントラ予測モードが常に使用されるようになど、使用される最も可能性の高いイントラ予測モードの数を固定してもよく、または、代わりに、いくつかのコンテキストは、最も可能性の高いイントラ予測モードを１つ使用し、他のコンテキストは、最も可能性の高いイントラ予測モードを２つ以上使用するように、最も可能性の高いイントラ予測モードの数は、コンテキスト依存でもよい。
【００５７】
[0067]モードインデックステーブルは、１組のイントラ予測モード、ならびにイントラ予測モードの各々にマッピングされるインデックスを含み得る。いくつかの例では、利用可能なイントラ予測モードの数は、符号化されているブロックのサイズに依存し得、したがって、複数のイントラ予測モードインデックステーブルおよびマッピングテーブルは、たとえば、符号化されているブロックのサイズおよび／または他の要因に応じて、異なる数のエントリを有することができる。構成データにおけるマッピングテーブルとイントラ予測モードインデックステーブルとの間に１対多の関係があり得る。すなわち、１つまたは複数のイントラ予測モードインデックステーブルから選択されたイントラ予測モードを符号化するために、同じマッピングテーブルを使用することができる。このように、マッピングテーブルは、複数のイントラ予測モードインデックステーブルに再利用することができる。同様に、たとえば、２つ以上のコンテキストが同じ組のイントラ予測モード、およびそれらのコンテキストにおいてイントラ予測モードが使用される同様または同一の相対的な可能性を共有するときなど、同じイントラ予測モードインデックステーブルは、様々なコンテキストにおいて再利用することができる。その上、いくつかの場合において、同じイントラ予測モードインデックステーブルおよびマッピングテーブルは、特定のサイズのすべてのブロックに使用されてもよく、最も可能性の高いイントラ予測モードは、たとえば、特定のサイズのブロックに隣接するブロックについてのイントラ予測モードに基づいて決定することができる。
【００５８】
[0068]いずれの場合にも、この開示の技法によれば、ビデオエンコーダ２０は、ブロックについての符号化コンテキスト、ならびにブロックについての符号化コンテキストに基づくイントラ予測モードインデックステーブルおよびマッピングテーブルに基づいて、あるブロックについての１つまたは複数の最も可能性の高いモードを決定することができる。ブロックの符号化に使用するイントラ予測モードを選択した後、ビデオエンコーダ２０は、選択されたイントラ予測モードがブロックについての最も可能性の高いイントラ予測モード（複数可）のうちの１つであるかどうかを決定することができる。選択されたモードが最も可能性の高いモード（複数可）のうちの１つである場合、ビデオエンコーダ２０は、シングルビットのコードワード（たとえば、「０」または「１」など）、または一連のビットからなるコードワードを使用してイントラ予測モードをシグナリングすることができる。
【００５９】
[0069]その上、最も可能性の高いイントラ予測モードは、ブロックの符号化コンテキストに基づいてブロックのために選択されたイントラ予測モードインデックステーブル内のインデックス値を有し得る。特に、イントラ予測モードインデックステーブルは、テーブル内のイントラ予測モードごとに一意のインデックス値を含み得る。ｍは最も可能性の高いイントラ予測モードのインデックスの値を表すとする。最も可能性の高いイントラ予測モードについてのコードワードは、個別にシグナリングされ得るので、マッピングテーブルは、最も可能性の高いイントラ予測モードについての追加のコードワードを含む必要はない。したがって、使用可能なイントラ予測モードの組が０からＫにわたるインデックスの範囲にマッピングされるＫ＋１個のメンバーを有する場合、マッピングテーブルは、Ｋ個のコードワードを０からＫ−１のインデックスに割り当てることができる。
【００６０】
[0070]この例示的な方式に従ってコードワードを決定するために、選択されたイントラ予測モードが最も可能性の高いイントラ予測モードでなく、ｊのモードインデックス値を有すると仮定する。値ｎはｊに対応する変更されたイントラ予測モードのインデックスを表すとする。前の記述によれば、インデックスｎにマッピングされたコードワードは、選択されたイントラ予測モードｊを示すために、エンコーダからデコーダにシグナリングされる。選択されたイントラ予測モードについてのモードインデックス値が最も可能性の高いイントラ予測モードのモードインデックス値未満である場合、ビデオエンコーダ２０は、ｊに対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化することができる。言い換えれば、ｊ＜ｍである場合、ｎ＝ｊである。一方、選択されたイントラ予測モードについてのモードインデックス値が最も可能性の高いイントラ予測モードのモードインデックス値以上である場合、ビデオエンコーダ２０は、ｊ−１に対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化することができる。言い換えれば、ｊ≧ｍである場合、ｎ＝ｊ−１である。
【００６１】
[0071]２つ以上の最も可能性の高いイントラ予測モードが選択される例では、ビデオエンコーダ２０は、選択されたモードが第１のビット（たとえば「０」または「１」）または一連のビットを使用して決定された最も可能性の高いイントラ予測モードのうちの１つであるかどうかを、符号化されたビットストリームでシグナリングすることができる。選択されたモードが決定された最も可能性の高いイントラ予測モードのうちの１つである場合、ビデオエンコーダ２０は、第２のビットを使用して最も可能性の高いイントラ予測モードのうちどれが選択されたモードであるかをシグナリングすることができる。選択されたモードが決定された最も可能性の高いイントラ予測モードのうちの１つではない場合、ビデオエンコーダ２０は、マッピングテーブルからのコードワードを使用して他のイントラ予測モードのうちどれが選択されたモードであるかをシグナリングすることができる。再度、一般性の喪失なしに、選択されたモードが最も可能性の高いイントラ予測モードのうちの１つであることを示す「０」の値を第１のビットが有し、ビデオエンコーダ２０が２つの最も可能性の高いイントラ予測モードを決定することを仮定すると、ビデオエンコーダ２０は、２つの最も可能性の高いイントラ予測モードのうちのどちらが選択されたモードであるかを「００」または「０１」の値でシグナリングすることができ、この場合、第１の０は、第１のビットを表す。選択されたモードが最も可能性の高いイントラ予測モードのうちの１つではない場合、ビデオエンコーダ２０は、第１のビットの「１」と、続いてコードワードとをシグナリングすることによって、選択されたモードをシグナリングすることができる。
【００６２】
[0072]その上、２つの最も可能性の高いイントラ予測モードは、ブロックの符号化コンテキストに基づいてブロックのために選択されたイントラ予測モードインデックステーブル内のインデックス値を有し得る。特に、イントラ予測モードインデックステーブルは、テーブル内のイントラ予測モードごとに一意のインデックス値を含み得る。ｍ1は、第１の最も可能性の高いイントラ予測モードのインデックスの値を表し、ｍ2は、第２の最も可能性の高いイントラ予測モードのインデックスの値を表すとする。上記で説明したように、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードについてのコードワードが第１のビットおよび第２のビットを使用してシグナリングされ得るので、マッピングテーブルは、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードについての追加のコードワードを含む必要はない。したがって、使用可能なイントラ予測モードの組が０からＫにわたるインデックスの範囲にマッピングされるＫ＋１個のメンバーを有する場合、マッピングテーブルは、Ｋ−１個のコードワードを０からＫ−２のインデックスに割り当てることができる。
【００６３】
[0073]２つの最も可能性の高いモードが識別されるこの例示的な方式に従ってコードワードを決定するために、選択されたイントラ予測モードが最も可能性の高いイントラ予測モードのうちの１つではなく、ｊのモードインデックス値を有すると仮定する。値ｎはｊに対応する変更されたイントラ予測モードを表すとする。前の記述によれば、インデックスｎにマッピングされたコードワードは、選択されたイントラ予測モードｊを示すために、エンコーダからデコーダにシグナリングされる。選択されたイントラ予測モードについてのモードインデックス値が第１の最も可能性の高いイントラ予測モードのモードインデックス値未満である場合、ビデオエンコーダ２０は、ｊに対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化することができる。言い換えれば、ｊ＜ｍ1である場合、ｎ＝ｊである。一方、選択されたイントラ予測モードについてのモードインデックス値が第１の最も可能性の高いイントラ予測モードのモードインデックス値以上であるが、第２の最も可能性の高いイントラ予測モード未満である場合、ビデオエンコーダ２０は、ｊ−１に対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化することができる。言い換えれば、ｊ≧ｍ1かつｊ＜ｍ2である場合、ｎ＝ｊ−１である。最後に、選択されたイントラ予測モードについてのモードインデックス値が第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードのモードインデックス値より大きい場合、ビデオエンコーダ２０は、ｊ−２に対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化することができる。言い換えれば、ｊ≧ｍ1かつｊ≧ｍ2である場合、ｎ＝ｊ−２である。最も可能性の高いモードがマッピングテーブルに含まれないということを考慮するようにインデックスを再割り当てすることによって、残りのイントラ予測モードについてのマッピングテーブルをより効率的に構築することができ、これは、そうでなければ、１つまたは複数の任意抽出の最も可能性の高いモードが割り当てられたコードワードを有するとき、ビットの節約になり得る。
【００６４】
[0074]ビデオエンコーダ２０は、いくつかの例では、コンテキストに基づいて、最も可能性の高いモードでイントラ予測モードの選択のための分析を開始するように構成され得る。最も可能性の高いモードが適切なレートひずみ特性を達成するとき、いくつかの例では、ビデオエンコーダ２０は、最も可能性の高いモードを選択することができる。他の例では、ビデオエンコーダ２０は、最も可能性の高いモードで選択プロセスを開始する必要はない。
【００６５】
[0075]予測データと残差データとを生成するためのイントラ予測コーディングまたはインター予測コーディングの後、および変換係数を生成するための（Ｈ．２６４／ＡＶＣで使用される４×４または８×８整数変換、あるいは離散コサイン変換ＤＣＴなどの）任意の変換の後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ｎはｍよりも大きい。
【００６６】
[0076]量子化の後に、たとえば、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または別のエントロピーコーディング方法に従って、量子化データのエントロピーコーディングが実行され得る。エントロピーコーディング用に構成された処理ユニットまたは別の処理ユニットは、量子化係数のゼロランレングスコーディング、および／またはコード化ブロックパターン（ＣＢＰ）値、マクロブロックタイプ、コーディングモード、（フレーム、スライス、マクロブロック、またはシーケンスなどの）コード化ユニットの最大マクロブロックサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。
【００６７】
[0077]ビデオデコーダ３０は、最終的に、たとえば、モデム２８および受信機２６から符号化ビデオデータを受信することができる。本開示の技法によれば、ビデオデコーダ３０は、ビデオデータのブロックを符号化するために使用されるイントラ予測モードを表すコードワードを受信することができる。コードワードは、ＣＡＢＡＣプロセスを使用してビデオエンコーダ２０によってコード化することができ、逆のＣＡＢＡＣプロセスを使用してビデオデコーダ３０によって復号することができる。ビデオデコーダ３０は、ビデオエンコーダ２０と実質的に同様の方法でブロックについてのコーディングコンテキストを決定するように構成することができる。その上、ビデオデコーダ３０は、たとえば、最も可能性の高いモードの指示、イントラ予測モードインデックステーブル、およびコーディングコンテキストごとのマッピングテーブルなど、ビデオエンコーダ２０と同様の構成データを含み得る。
【００６８】
[0078]１つの最も可能性の高いイントラ予測モードを使用するとき、ブロックを符号化するために使用されるイントラ予測モードが最も可能性の高いモードであるかどうかを示すために、シングルビットが使用され得る。選択されたモードが最も可能性の高いモードではないと決定された場合、ビデオデコーダ３０は、全体的にビデオエンコーダ２０とは逆の方法で、ビデオデータのブロックを符号化するために使用されるイントラ予測モードを決定することができる。
【００６９】
[0079]具体的には、この場合も、ｎは、マッピングテーブルにおける受信されたコードワードがマッピングされる変更されたイントラ予測モードのインデックスを表し、ｊは、コード化ブロックを復号するために使用されるイントラ予測モードのモードインデックスを表し、ｍは、最も可能性の高いモードのモードインデックスを表すとする。変更されたイントラ予測モードインデックスｎが最も可能性の高いモードのモードインデックスｍ未満である場合、ビデオデコーダ３０は、インデックスｎを有するイントラ予測モードを使用してコード化ブロックを復号することができる。すなわち、ｎ＜ｍである場合、ｊ＝ｎである。一方、変更されたイントラ予測モードインデックスｎが最も可能性の高いモードのモードインデックスｍ以上である場合、ビデオデコーダ３０は、インデックスｎ＋１を有するイントラ予測モードを使用してコード化ブロックを復号することができる。言い換えれば、ｎ≧ｍである場合、ｊ＝ｎ＋１である。
【００７０】
[0080]２つ以上の最も可能性の高いイントラ予測モードを使用するとき、選択されたモードが２つの最も可能性の高いイントラ予測モードのうちの１つであることを示す第１のビットをコードワードが備える場合、ビデオデコーダ３０は、２つ以上の最も可能性の高いイントラ予測モードのうちどれが選択されたモードに対応するかを識別する追加のビットに基づいて、コード化ブロックを符号化するために使用されるイントラ予測モードを決定することができる。選択されたモードが２つの最も可能性の高いイントラ予測モードのうちの１つではないことを第１のビットが示す場合、ビデオデコーダ３０は、全体的にビデオエンコーダ２０のものとは逆の方法で、ビデオデータのブロックを符号化するために使用されるイントラ予測モードを決定することができる。
【００７１】
[0081]具体的には、この場合も、ｎは、マッピングテーブルにおける受信されたコードワードがマッピングされる変更されたイントラ予測モードのインデックスを表し、ｊは、コード化ブロックを復号するために使用されるイントラ予測モードのモードインデックスを表し、ｍ1は、第１の最も可能性の高いモードのモードインデックスを表し、ｍ2は、第２の最も可能性の高いモードのモードインデックスを表すとする。上述のように、ｍ1のモードインデックスがｍ2のモードインデックスよりも低いと仮定することができる。変更されたイントラ予測モードインデックスｎが第１の最も可能性の高いモードのモードインデックスｍ1未満である場合、ビデオデコーダ３０は、インデックスｎを有するイントラ予測モードを使用してコード化ブロックを復号することができる。すなわち、ｎ＜ｍ1である場合、ｊ＝ｎである。そうではなく、変更されたイントラ予測モードインデックス＋１（ｎ＋１）が第２の最も可能性の高いモードのモードインデックスｍ2未満である場合、ビデオデコーダ３０は、インデックスｎ＋１を有するイントラ予測モードを使用してコード化ブロックを復号することができる。言い換えれば、ｎ＋１＜ｍ2である場合、ｊ＝ｎ＋１である。そうでない場合、ビデオデコーダ３０は、インデックスｎ＋２を有するイントラ予測モードを使用してコード化ブロックを復号することができる。言い換えれば、ｎ＋１≧ｍ2である場合、ｊ＝ｎ＋２である。
【００７２】
[0082]２つの最も可能性の高いモードについて、ビデオエンコーダ２０によって実行される、変更されたイントラ予測モードインデックスに対するモードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。
【数１】
0005731013.tif 000002
【００７３】
[0083]Ｎ個の最も可能性の高いモードについて、ｍ1が第１の最も可能性の高いモードを表し、ｍNがＮ番目の最も可能性の高いモードを表す場合、ビデオエンコーダ２０によって実行される、変更されたイントラ予測モードインデックスに対するモードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。
【数２】
0005731013.tif 000003
【００７４】
[0084]２つの最も可能性の高いモードについて、ビデオデコーダ３０によって実行される、モードインデックスに対する変更されたイントラ予測モードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。
【数３】
0005731013.tif 000004
【００７５】
[0085]Ｎ個の最も可能性の高いモードについて、ビデオデコーダ３０によって実行される、モードインデックスに対する変更されたイントラ予測モードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。
【数４】
0005731013.tif 000005
【００７６】
[0086]本開示の技法によれば、モードは、対応するコードワードを示すコードワードインデックスに直接マッピングすることもできる。上述した変更されたイントラ予測モードインデックスと同様の方法で、モードインデックスに対応するインデックスに関するコードワードを送る代わりに、変更されたコードワードインデックスに関するコードワードを送ることによって、ビットの節約を達成することができ、この場合、変更は、最も可能性の高いモードではないモードを示すために、最も可能性の高いモードに最初に関連付けられたコードワードインデックスを使用した結果である。上記で説明したように、最も可能性の高いモードは、最初のビットまたは一連のビットを使用してシグナリングされるので、最も可能性の高いモードは、最も可能性の高いモードのうちの１つではないモードのコードワードインデックスをシグナリングするとき、考慮から除外することができる。その結果、最も可能性の高いモードのうちの１つに最初にマッピングされたコードワードインデックスを使用して、最も可能性の高いモードのうちの１つではないモードを示すことができる。コードワードが変更されたイントラ予測モードインデックスにマッピングされるか、変更されたコードワードインデックスにマッピングされるかにかかわらず、コードワードは、ＣＡＢＡＣプロセスを使用してコード化することができる。
【００７７】
[0087]たとえば、上記の変更されたイントラ予測モードと同様に、２つの最も可能性の高いイントラ予測モードが使用されると仮定すると、使用可能なイントラ予測モードの組が０からＫにわたるコードワードインデックスの範囲にマッピングされるＫ＋１個のメンバーを有する場合、変更されたコードワードインデックスのテーブルは、Ｋ−１個のコードワードを０からＫ−２までのコードワードインデックスに割り当てることができる。
【００７８】
[0088]Ｃがコードワードインデックスを表し、Ｃmodが変更されたコードワードインデックスを表すと仮定する。さらに、Ｃm1が最も可能性の高いモードの最も低いコードワードインデックスを表し、Ｃm2が最も可能性の高いモードに対応する第２に低いコードワードインデックスを表し、以下同様であると仮定する。以下でより詳細に説明するように、コードワードインデックスに対するモードのマッピングは、動的でもよい。したがって、最も低いモードインデックスを有する第１の最も可能性の高いモードは、最も低いコードワードインデックスを有していない場合もある。したがって、必ずしもＣm1は第１の最も可能性の高いモードに対応しているとは限らず、Ｃm2は第２の最も可能性の高いモードに対応しているとは限らず、以下同様であり得る。Ｎ個の最も可能性の高いモードについて、ビデオエンコーダ２０によって実行される、変更されたコードワードインデックスに対するコードワードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。
【数５】
0005731013.tif 000006
【００７９】
[0089]Ｎ個の最も可能性の高いモードについて、ビデオデコーダ３０によって実行される、コードワードインデックスに対する変更されたコードワードインデックスのマッピングは、したがって、以下の擬似コードによって表すことができる。
【数６】
0005731013.tif 000007
【００８０】
[0090]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含む装置は、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００８１】
[0091]図２は、イントラ予測モードを示す情報をコード化するための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、マクロブロックあるいはマクロブロックのパーティションまたはサブパーティションを含むビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは時間的予測を利用して、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去する。イントラ予測（I）モードは、いくつかの空間ベースの圧縮モードのいずれかを指し、単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。図２にはインターモード符号化のための構成要素が示されているが、ビデオエンコーダ２０はイントラ予測モード符号化のための構成要素をさらに含み得ることを理解されたい。ただし、簡潔および明快のために、そのような構成要素は示されていない。
【００８２】
[0092]図２に示すように、ビデオエンコーダ２０は、符号化されるビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、メモリ６４と、加算器４９と、変換モジュール５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換モジュール６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理するであろう。
【００８３】
[0093]符号化プロセス中に、ビデオエンコーダ２０はコーディングされるビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対する受信したビデオブロックのインター予測コーディングを実行する。イントラ予測ユニットモジュール４６は、空間圧縮を行うために、コーディングされるブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する受信したビデオブロックのイントラ予測コーディングを実行し得る。
【００８４】
[0094]モード選択ユニット４０は、たとえば、誤差結果に基づいて、およびコード化されている現在のブロックを含むフレームまたはスライスのフレームまたはスライスタイプに基づいて、コーディングモード、すなわち、イントラまたはインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器４９に供給し、参照フレームまたは参照スライス中で使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器６２に供給し得る。一般に、イントラ予測は、隣接する、前にコード化されたブロックに対して現在のブロックを予測することを伴い、一方、インター予測は、現在のブロックを時間的に予測するために、動き推定および動き補償を伴う。
【００８５】
[0095]動き推定ユニット４２および動き補償ユニット４４は、ビデオエンコーダ２０のインター予測要素を表す。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム（または、他のコード化ユニット）内のコーディングされている現在のブロックに対する予測参照フレーム（または、他のコード化ユニット）内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、マクロブロックのパーティションの変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。
【００８６】
[0096]動き推定ユニット４２は、ビデオブロックを参照フレームストア６４中の参照フレームのビデオブロックと比較することによってインターコード化フレームのビデオブロックの動きベクトルを計算する。動き補償ユニット４４はまた、参照フレーム、たとえば、ＩフレームまたはＰフレームのサブ整数ピクセルを補間し得る。ＩＴＵ  Ｈ．２６４規格は、一例として、符号化されている現在のフレームよりも前の表示順序を有する参照フレームを含むリスト０、および符号化されている現在のフレームよりも後の表示順序を有する参照フレームを含むリスト１の２つのリストを記述する。したがって、参照フレームストア６４に記憶されたデータは、これらのリストに従って編成され得る。
【００８７】
[0097]動き推定ユニット４２は、参照フレームストア６４からの１つまたは複数の参照フレームのブロックを現在のフレーム、たとえば、ＰフレームまたはＢフレームの符号化すべきブロックと比較する。参照フレームストア６４中の参照フレームがサブ整数ピクセルの値を含むとき、動き推定ユニット４２によって計算される動きベクトルは参照フレームのサブ整数ピクセルロケーションを参照し得る。動き推定ユニット４２および／または動き補償ユニット４４はまた、サブ整数ピクセル位置の値が参照フレームストア６４に記憶されていない場合、参照フレームストア６４に記憶された参照フレームのサブ整数ピクセル位置の値を計算するように構成され得る。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれることがある。動き補償ユニット４４は、インター予測ブロックに基づいて予測データを計算し得る。
【００８８】
[0098]イントラ予測モジュール４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測モジュール４６は、現在のブロックの符号化に使用するためのイントラ予測モードを決定することができる。いくつかの例では、イントラ予測モジュール４６は、たとえば、別々の符号化パスの間など、様々なイントラ予測モードを使用して、現在のブロックを符号化することができ、イントラ予測モジュール４６（または、いくつかの例において、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。たとえば、イントラ予測モジュール４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中の最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、一般に、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（またはエラー）の量、ならびに、符号化されたブロックを生成するために使用されたビットレート（すなわち、ビット数）を決定する。イントラ予測モジュール４６は、どのイントラ予測モードがブロックについての最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックについてのひずみおよびレートから比率を計算することができる。
【００８９】
[0099]いずれの場合も、あるブロックについてのイントラ予測モードを選択した後、イントラ予測ユニットモジュール４６は、エントロピー符号化ユニット５６にブロックについての選択されたイントラ予測モードを示す情報を提供することができる。エントロピー符号化ユニット５６は、本開示の技法に従ってＣＡＢＡＣを使用して選択されたイントラ予測モードを示す情報を符号化することができる。図２に示すように、ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、最も可能性の高いイントラ予測モード、イントラ予測モードインデックステーブル、各コンテキストについての使用する変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データ６６とを含むことができる。
【００９０】
[0100]以下の表１は、イントラ予測モードインデックス、対応するイントラ予測モード、およびモードのうちのどれが特定のコンテキストについて最も可能性の高いモードであるかの指示の一例を表す。表１は、この特定の例では、各モードインデックスにマッピングする変更されたイントラ予測モードインデックスも示す。表２は、表１のモードインデックスに全体的に対応する変更されたイントラ予測モードインデックスにコードワードをマッピングする例示的なマッピングテーブルを提供する。上記で説明したように、２つ以上の最も可能性の高いモードが使用されてもよいが、表１および表２の例は、最も可能性の高いモード１つのみが使用されると仮定する。最も可能性の高いモードが１つ使用されるため、表２は、表１よりも１つ少ないエントリを含む。最も可能性の高いモードは、残りのモードとは別にシグナリングされるので、モードインデックス５は、対応する変更されたイントラ予測モードインデックスを有していない。同様に、表２は、最も可能性の高いモードについてのコードワードを含む必要はない。
【表１】
0005731013.tif 000008
【表２】
0005731013.tif 000009
【００９１】
[0101]例として、ｍは表１において最も可能性の高いモードのモードインデックスを表し、ｎはｊに対応する変更されたイントラ予測モードのインデックスを表すとする。選択されたモードが最も可能性の高いモードである場合、第１のビット（たとえば「０」）は、この例では、モードを表すために使用され、モードは、表１によって示されるように、最も可能性の高いモードとして決定される（この例では、垂直−右）。０以外の第１のビット（すなわち「１」）が送られる場合、モードは、最も可能性の高いモードではない。ｎはモードを表すために送られるコードワードによって示される変更されたイントラ予測モードインデックスに対応するとする。インデックスｎにマッピングされたコードワードは、選択されたイントラ予測モードｊを示すために、エンコーダからデコーダにシグナリングされる。選択されたイントラ予測モードについてのモードインデックス値が最も可能性の高いイントラ予測モードのモードインデックス値未満である場合、ビデオエンコーダ２０は、ｊに対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化することができる。言い換えれば、ｊ＜ｍである場合、ｎ＝ｊである。一方、選択されたイントラ予測モードについてのモードインデックス値が最も可能性の高いイントラ予測モードのモードインデックス値以上である場合、ビデオエンコーダ２０は、ｊ−１に対応するコードワードを使用して現在のブロックを符号化するために使用されるイントラ予測モードの指示を符号化することができる。言い換えれば、ｊ≧ｍである場合、ｎ＝ｊ−１である。
【００９２】
[0102]デコーダ、たとえばデコーダ３０は、一般に、エンコーダ２０の逆のマッピングを実行する。したがって、デコーダ３０は、ｎ＜ｍである場合、モードインデックスがｎに等しいことを決定することができる。一方、ｎ≧ｍである場合、モードインデックスはｎ＋１に等しい。言い換えれば、変更されたイントラ予測モードインデックス（たとえば、送られるコードワードに対応する表２からの変更されたイントラ予測モードインデックス）が（この例では、表１からの）最も可能性の高いモードのインデックス以上である場合、イントラ予測モードは、事実上、ｎではなく、ｎ＋１によって示される。このようにして、現在のブロックを符号化するために使用されるイントラ予測モードについてのモードインデックス（たとえば、ｎ＋１）が最も可能性の高い符号化モードのインデックス（ｍ）よりも大きいとき、選択されたイントラ予測モードを表すために使用されるコードワードは、現在のブロックを符号化するために使用されるイントラ予測モードについてのモードインデックス（ｎ＋１）よりも１小さい変更されたイントラ予測モードインデックス（ｎ）に対応する。
【００９３】
[0103]表１および表２の例に関する一例として、垂直−右の最も可能性の高いモードを示すコンテキストを有する現在のブロックについて、選択されたモードが水平−下であると仮定する。この例では、最も可能性の高いモードのインデックスｍは５であり、一方、（表１による）選択されたモードについてのモードインデックスは８である。この例では、選択されたモードについてのモードインデックスは、最も可能性の高いモードについてのモードインデックスよりも大きいので、ｎ＝ｊ−１であり、この場合、ｎは、変更されたイントラ予測モードのインデックスであり、７に等しい。したがって、表２では、ビデオエンコーダ２０は、この例では、選択されたモードを表すために、コードワード１１１を使用する。コードワード１１１は、選択されたモードが最も可能性の高いモードではないことを示す最初のビットに続く。したがって、ビデオデコーダ３０（図１および図４）は、最初のビットとコードワード１１１とを受信し、ｎの値が７であることを決定する。この例では７が５よりも大きい（すなわち、ｎ≧ｍ）ので、ビデオデコーダ３０は、この例では、８であり、水平−下に対応する、モードインデックスｎ＋１を有するモードを表１から取り出す。
【００９４】
[0104]別の例として、この場合も、表１および表２の例に関して、現在のブロックについて、選択されたモードがＤＣであると仮定する。同じく、この例では、最も可能性の高いモードのインデックスｍは５であり、一方、（表１による）選択されたモードについてのモードインデックスは０である。この例では、選択されたモードについてのモードインデックスが最も可能性の高いモードについてのモードインデックス未満であるので、モードインデックスはｎに等しく、この場合、ｎは、変更されたイントラ予測モードインデックスである。したがって、表２では、ビデオエンコーダ２０は、この例では、選択されたモードを表すために、コードワード０００を使用する。コードワード０００は、選択されたモードが最も可能性の高いモードではないことを示す最初のビットに続く。したがって、ビデオデコーダ３０（図１および図４）は、最初のビットとコードワード０００とを受信し、ｎの値が０であることを決定する。この例では０が５未満（すなわち、ｎ＜ｍ）なので、ビデオデコーダ３０は、この例では、０であり、ＤＣに対応する、モードインデックスｎを有するモードを表１から取り出す。
【００９５】
[0105]以下の表３は、イントラ予測モードインデックス、対応するイントラ予測モード、およびモードのうちのどれが特定のコンテキストについて最も可能性の高いモードであるかの指示の一例を表す。表３は、この特定の例では、各モードインデックスにマッピングする変更されたイントラ予測モードインデックスも示す。表４は、表３のモードインデックスに全体的に対応する変更されたイントラ予測モードインデックスにコードワードをマッピングする例示的なマッピングテーブルを提供する。上記で説明したように、３つ以上の最も可能性の高いモードが使用されてもよいが、表３および表４の例は、最も可能性の高いモード２つのみが使用されると仮定する。最も可能性の高いモードが２つ使用されるため、表４は、表３よりも２つ少ないエントリを含む。
【表３】
0005731013.tif 000010
【表４】
0005731013.tif 000011
【００９６】
[0106]特に、ｍ1は表３における第１の最も可能性の高いモードのモードインデックスを表し、ｍ2は第２の最も可能性の高いモードのモードインデックスを表すとする。選択されたモードが最も可能性の高いモードのうちの１つである場合、モードが２つの最も可能性の高いモードのうちの１つであることをシグナリングするために、第１のビット（たとえば「０」）が使用される。モードが２つの最も可能性の高いモードのうちの１つである場合、第２のビットは、２つの最も可能性の高いモードのうちのどちらが選択されたモードに対応するかをシグナリングするために使用される。したがって、２つの最も可能性の高いモードは、それぞれ「００」および「０１」の最初のビットシーケンスでシグナリングすることができる。「０」以外の第１のビット（すなわち「１」）が送られる場合、選択されたモードは、２つの最も可能性の高いモードのうちの１つではない。ｎはモードを表すために送られるコードワードによって示される変更されたイントラ予測モードインデックスに対応するとする。
【００９７】
[0107]ビデオエンコーダ２０は、選択されたモードのモードインデックス（ｊ）を決定し、モードインデックスを変更されたモードインデックス（ｎ）にマッピングすることができる。ｊ≧ｍ2である場合、ｎ＝ｊ−２である。そうではなく、ｊ≧ｍ1である場合、ｎ＝ｊ−１である。そうでない場合、ｎ＝ｊである。ビデオデコーダ３０は、変更されたイントラ予測モードインデックス（ｎ）を受信し、最初にｎをｍ1と比較することができる。ｎ＜ｍ1である場合、モードインデックス（ｊ）はｎに等しい。ｎがｍ1以上である場合、ｎ＋１はｍ2と比較することができる。ｎ＋１＜ｍ2である場合、モードインデックスはｎ＋１に等しい。そうでない場合、モードインデックスは、ｎ＋２に等しい。
【００９８】
[0108]表３および表４の例に関する一例として、垂直−左および斜め下／左の最も可能性の高いモードを示すコンテキストを有する現在のブロックについて、選択されたモードが水平−下であると仮定する。この例では、最も可能性の高いモードのインデックスｍ1およびｍ2は４および６であり、一方、（表３による）選択されたモードについてのモードインデックスｊは８である。この例では、選択されたモードについてのモードインデックスが両方の最も可能性の高いモードについてのモードインデックスよりも大きいので、モードインデックスｊはｎ＋２に等しく、この場合、ｎは、表４における変更されたイントラ予測モードのインデックスに等しい。したがって、モードインデックスｊが８に等しい場合、ｎ＝６である。したがって、ビデオエンコーダ２０は、この例では、選択されたモードを表すために、コードワード１１０を使用する。したがって、ビデオデコーダ３０（図１および図４）は、コードワード１１０を受信し、ｎの値が６であることを決定する。この例では、６が４以上（すなわちｎ≧ｍ1）であり、６＋１が６以上である（すなわち、ｎ＋１≧ｍ2）であるので、ビデオデコーダ３０は、ｎ＋２に等しいモードインデックスｊを有するモードを表３から取り出し、この例では、ｊは８であり、水平−下に対応する。
【００９９】
[0109]別の例として、この場合も、表３および表４の例に関して、現在のブロックについて、選択されたモードがＤＣであると仮定する。この場合も、この例では、最も可能性の高いモードのインデックスｍ1およびｍ2は４および６であり、一方、（表３による）選択されたモードについてのモードインデックスｊは０である。この例では、選択されたモードについてのモードインデックスが両方の最も可能性の高いモードについてのモードインデックス未満（すなわち、ｎ＜ｍ1）なので、モードインデックスｊはｎに等しく、この場合、ｎは、表４における変更されたイントラ予測モードのインデックスに等しい。したがって、ｎは、０に等しい。したがって、表４に基づいて、ビデオエンコーダ２０は、この例では、選択されたモードを表すために、コードワード０を使用する。コードワード０００は、選択されたモードが最も可能性の高いモードではないことを示す最初のビットまたは一連のビットに続く。したがって、ビデオデコーダ３０（図１および図４）は、最初のビットまたは一連のビットとコードワード０００とを受信し、ｎの値が０であることを決定する。この例では０が４および６未満（すなわち、ｎ＜ｍ1）なので、ビデオデコーダ３０は、ｎに等しいモードインデックスｊを有するモードを表３から取り出し、この例では、ｊは０であり、ＤＣに対応する。
【０１００】
[0110]さらに別の例として、表３および表４の例に関して、現在のブロックについて、選択されたモードが垂直−右であると仮定する。この例では、最も可能性の高いモードのインデックスｍ1およびｍ2は４および６であり、一方、（表３による）選択されたモードについてのモードインデックスｊは５である。この例では、選択されたモードについてのモードインデックスが第１の最も可能性の高いモードについてのモードインデックス以上であるが、第２の最も可能性の高いモードについてのモードインデックス未満であるので、モードインデックスｊはｎ＋１に等しく、この場合、ｎは、表４における変更されたイントラ予測モードのインデックスに等しい。したがって、モードインデックスｊが５である場合、ｎ＝４である。したがって、ビデオエンコーダ２０は、この例では、選択されたモードを表すために、コードワード１１０を使用する。コードワード１１０は、選択されたモードが最も可能性の高いモードではないことを示す最初のビットまたは一連のビットに続く。したがって、ビデオデコーダ３０（図１および図４）は、最初のビットおよび一連のビットと、コードワード１１０とを受信し、ｎの値が４であることを決定する。この例では、４が４以上であり、しかし４＋１が６未満（すなわち、ｎ≧ｍ1しかしｎ＋１＜ｍ2）であるので、ビデオデコーダ３０は、この例では、５であり、垂直−右に対応する、ｎ＋１に等しいモードインデックスｊを有するモードを表３から取り出す。
【０１０１】
[0111]表１、表２、表３、および表４は単に、最も可能性の高いモード、モードのインデックス、および様々なインデックスに割り当てられるコードワードの表の例にすぎないことを理解されたい。他の例では、たとえば、あるブロックの符号化コンテキストに基づいて、他のモードが最も可能性の高いと決定され得る。たとえば、最も可能性の高いモードは、左および上に隣接するブロックを符号化するために使用される符号化モードに基づいて決定することができる。構成データ６６は、概して表１および表３の例に類似した、最も可能性の高いモードとして識別される異なる符号化モードに関連付けられた複数の異なるテーブルを含み得る。同様に、構成データ６６は、インデックスをコードワードにマッピングする、たとえば表２および表４など、複数のコードワードマッピングテーブルを含み得る。
【０１０２】
[0112]一般に、表１および表３は、モードインデックステーブルと呼ばれ得、一方、表２および表４は、変更されたイントラ予測モードインデックスマッピングテーブル、または単にマッピングテーブルと呼ばれ得る。上記のように、表１および表２は、単にモードインデックステーブルおよびマッピングテーブルの一例にすぎない。いくつかの例では、構成データ６６は、複数のモードインデックステーブルおよび複数のマッピングテーブルについてのデータを含み得る。いくつかの例では、複数のコーディングコンテキストは、共通のモードインデックステーブルに対応し得る。同様に、複数のモードインデックステーブルは、共通のマッピングテーブルにマッピングされ得る。
【０１０３】
[0113]本開示の技法によれば、モードは、変更されたイントラ予測モードインデックスではなく、コードワードインデックスにマッピングすることもできる。次いで、コードワードインデックスを、コードワードを検索するために使用される、変更されたコードワードインデックスにマッピングすることができる。以下の表５は、イントラ予測モードインデックス、およびコードワードインデックスにマッピングされたモードの一例を表す。表５は、どのモードが特定のコンテキストについての最も可能性の高いモードであるかの指示、およびこの特定の例でのコードワードインデックスに対応する変更されたコードワードインデックスも示す。
【表５】
0005731013.tif 000012
【表６】
0005731013.tif 000013
【０１０４】
[0114]例として、Ｃm1は１つの最も可能性の高いモードのコードワードインデックスを表し、Ｃm2は別の最も可能性の高いモードのコードワードインデックスを表すとし、この場合、Ｃm1は、Ｃm2よりも低いコードワードインデックス値を有する。上記で説明したように、Ｃm1およびＣm2は、モードインデックス値とは反対に、コードワードインデックス値に基づいて決定される。したがって、Ｃm1は必ずしも第１の最も可能性の高いモードに対応しているとは限らず、Ｃm2は必ずしも第２の最も可能性の高いモードに必ずしも対応しているとは限らない場合がある。表５の例では、たとえば、モード３（斜め下／右）は、それが最も可能性の高いモードの最も低いモードインデックスを有するので、第１の最も可能性の高いモードであり、モード６は、第２の最も可能性の高いモードである。しかしながら、第２のモードの可能性の高いモードは、第１の最も可能性の高いモードよりも低い対応するコードワードインデックスを有する。したがって、表５の例では、Ｃm1は第２の最も可能性の高いモードのコードワードインデックスに対応し、Ｃm2は第１の最も可能性の高いモードのコードワードインデックスに対応する。以下の説明では、Ｃm1がＣm2未満であると仮定される。
【０１０５】
[0115]選択されたモードが最も可能性の高いモードのうちの１つである場合、モードが２つの最も可能性の高いモードのうちの１つであることをシグナリングするために、第１のビット（たとえば「０」）が使用される。モードが２つの最も可能性の高いモードのうちの１つである場合、第２のビットは、２つの最も可能性の高いモードのうちのどちらが選択されたモードに対応するかをシグナリングするために使用される。したがって、２つの最も可能性の高いモードは、それぞれ「００」および「０１」の最初のビットシーケンスでシグナリングすることができる。「０」以外の第１のビット（すなわち「１」）が送られる場合、選択されたモードは、２つの最も可能性の高いモードのうちの１つでなく、選択されたモードは、コードワードインデックスに対応するコードワードとして送られる。しかしながら、選択されたモードについてのコードワードインデックスに直接対応するコードワードを送る代わりに、ビデオエンコーダ２０が変更されたコードワードインデックスに対応するコードワードを送ることによって、ビットの節約が達成され得る。ビデオデコーダ３０は、変更されたコードワードインデックスに対応するコードワードを受信し、次いで、選択されたイントラ予測モードに対応するコードワードインデックスを決定することができる。
【０１０６】
[0116]ビデオエンコーダ２０は、選択されたモード（Ｃ）のコードワードインデックスを決定し、モードインデックスを変更されたモードインデックス（Ｃmod）にマッピングすることができる。Ｃ≧Ｃm2である場合、Ｃmod＝Ｃ−２である。そうではなく、Ｃ≧Ｃm1である場合、Ｃmod＝Ｃ−１である。そうでない場合、Ｃmod＝Ｃである。ビデオデコーダ３０は、変更されたイントラ予測モードインデックス（Ｃmod）を受信し、最初にそれをＣm1と比較することができる。Ｃmod＜Ｃm1である場合、モードインデックス（Ｃ）はＣmodに等しい。ＣmodがＣm1以上である場合、Ｃmod＋１はＣm2と比較することができる。Ｃmod＋１＜Ｃm2である場合、モードインデックスはＣmod＋１に等しい。そうでない場合、モードインデックスは、Ｃmod＋２に等しい。
【０１０７】
[0117]表５および表６の例に関する一例として、垂直−左（モードインデックス６）および斜め下／右（モードインデックス３）の最も可能性の高いモードを示すコンテキストを有する現在のブロックについて、選択されたモードが水平−下（モードインデックス８）であると仮定する。この例では、最も可能性の高いモードについてのコードワードインデックスＣm1およびＣm2は２および５であり、一方、（表５による）選択されたモードについてのモードインデックスは８である。表５によれば、モードインデックス３、６、および８はそれぞれ、コードワードインデックス５、２、および８にマッピングする。この例では、選択されたモードについてのコードワードインデックス（すなわちコードワードインデックス８）が両方の最も可能性の高いモードについてのコードワードインデックス（すなわちコードワードインデックス５および２）よりも大きいので、コードワードインデックスはＣmod＋２に等しく、この場合、Ｃmodは、表６におけるコードワードに対応する変更されたコードワードインデックスに等しい。したがって、選択されたモードのコードワードインデックスが８に等しい場合、Ｃmod＝６である。したがって、ビデオエンコーダ２０は、この例では、選択されたモードを表すために、コードワード１１０を使用する。したがって、ビデオデコーダ３０（図１および図４）は、コードワード１１０を受信し、Ｃmodの値が６であることを決定する。この例では、６が２以上（すなわちＣmod≧Ｃm1）であり、６＋１が５以上である（すなわち、Ｃmod＋１≧Ｃm2）であるので、ビデオデコーダ３０は、この例では、８であり、水平−下に対応する、モードインデックスＣmod＋２を有するモードを表５から取り出す。
【０１０８】
[0118]別の例として、この場合も、表５および表６の例に関して、現在のブロックについて、選択されたモードが垂直（モードインデックス１およびコードワードインデックス０）であると仮定する。さらに、最も可能性の高いモードのインデックスＣm1およびＣm2は、５および２である。この例では、選択されたモードについてのコードワードインデックスが両方の最も可能性の高いモードについてのコードワードインデックス未満（すなわちＣ＜Ｃm1）であるので、変更されたコードワードインデックスＣmodは、コードワードインデックスに等しい。したがって、ビデオエンコーダ２０は、この例では、選択されたモードを表すために、コードワード０００を使用する。コードワード０００は、選択されたモードが最も可能性の高いモードではないことを示す最初のビットまたは一連のビットに続く。したがって、ビデオデコーダ３０（図１および図４）は、最初のビットまたは一連のビットとコードワード０００とを受信し、Ｃmodの値が０であることを決定する。この例では０が５および２未満（すなわち、Ｃmod＜Ｃm1）なので、ビデオデコーダ３０は、この例では、０であり、垂直に対応する、Ｃmodに等しいモードインデックスＣを有するモードを表５から取り出す。
【０１０９】
[0119]さらに別の例として、表５および表６の例に関して、現在のブロックについて、選択されたモードが水平（モードインデックス２およびコードワードインデックス４）であると仮定する。この例では、最も可能性の高いモードについてのインデックスＣm1およびＣm2は、２および５である。この例では、選択されたモードについてのコードワードインデックスがＣm1以上であり、しかしＣm2未満であるので、コードワードインデックスはＣmod＋１に等しく、この場合、Ｃmodは、変更されたコードワードインデックスである。したがって、コードワードインデックスが４である場合、Ｃmod＝３である。したがって、ビデオエンコーダ２０は、この例では、選択されたモードを表すために、コードワード０１１を使用する。コードワード０１１は、選択されたモードが最も可能性の高いモードではないことを示す最初のビットまたは一連のビットに続く。したがって、ビデオデコーダ３０（図１および図４）は、最初のビットおよび一連のビットとコードワード０１１とを受信し、Ｃmodの値が３であることを決定する。この例では、３が２以上であり、３＋１が５未満である（すなわち、Ｃmod≧Ｃm1であり、しかしＣmod＋１＜Ｃm2）であるので、ビデオデコーダ３０は、４であり、水平に対応する、Ｃmod＋１に等しいモードインデックスを有するモードを表５から取り出す。
【０１１０】
[0120]表１〜表６は単に、最も可能性の高いモード、モードのインデックス、コードワードインデックス、および様々なインデックスに割り当てられるコードワードの表の例にすぎないことを理解されたい。他の例では、たとえば、あるブロックの符号化コンテキストに基づいて、他のイントラ予測モードが最も可能性の高いモードと決定され得る。たとえば、最も可能性の高いモードは、左および上に隣接するブロックを符号化するために使用されるイントラ予測モードに基づいて決定することができる。構成データ６６は、概して表１、表３、および表５の例に類似した、最も可能性の高いモードとして識別される異なるイントラ予測モード、ならびに識別された異なる数の最も可能性の高いモードに関連付けられた複数の異なるテーブルを含み得る。同様に、構成データ６６は、残りのイントラ予測モードインデックスをコードワードにマッピングする、たとえば表２、表４、および表６など、複数のコードワードマッピングテーブルを含み得る。上記で説明したように、最も可能性の高いモードは、最初のビットまたは一連のビットを使用してシグナリングされる。そのような最初のビットまたは一連のビットは、コンテキスト依存でもよい。たとえば、異なる一連のビットは、どのイントラ予測モードが最も可能性の高いモードであると識別されるか、ならびに最も可能性の高いモードがどれくらい識別されるかに応じて、最も可能性の高いモードをシグナリングするために使用され得る。所与の例についての最も可能性の高いモードおよびコーディングテーブルは、その例で使用される隣接するブロックのイントラ予測モードの代わりに、またはそれに加えて、他のタイプのコンテキストに基づいて定義することもできる。
【０１１１】
[0121]表１、表２、表３、表４、および表５の例は、Ｈ．２６４の９つのイントラ予測モードに関して提供される。しかしながら、本開示の技法を高効率ビデオコーディング（ＨＥＶＣ）など他の符号化標準および技法に適用することができることを理解されたい。いくつかの例では、たとえばＨＥＶＣにおいて、使用可能なイントラ予測モードの数は、コード化されているブロックのサイズ（たとえば、ＨＥＶＣでの「コーディングユニット」または「ＣＵ」）に依存し得る。イントラ予測モードごとに、モードインデックスは、各イントラ予測モードの出現の可能性に基づいて割り当てることができる。図３は、ＨＥＶＣで使用することができるイントラ予測モードおよび対応するモードインデックスの一例を示す。図３の矢印は、予測方向を表し、数字は、モードインデックスを表す。以下の表７は、ＣＵのサイズと、そのサイズのＣＵの符号化のために利用可能なイントラ予測モードの数（number）との間の対応を示す。表７によってわかるように、８×８、１６×１６、および３２×３２のＣＵは、図３に示される３５のイントラ予測モードを使用することができ、一方、４×４および６４×６４のＣＵはより少ない組のイントラ予測モードを使用する。
【表７】
0005731013.tif 000014
【０１１２】
[0122]イントラ予測モードの数がブロックサイズに基づいて変わる例では、構成データ６６は、異なるサイズのブロックについての異なるテーブルを含むことができる。したがって、あるブロックを符号化するために使用されるイントラ予測モードの指示を符号化するためのコンテキストは、ブロックのサイズ、ならびに隣接するブロックを符号化するために使用されるコーディングモードを含むことができる。エントロピー符号化ユニット５６は、ブロックのコンテキストに基づいてブロックの符号化に使用される選択されたイントラ予測モードを表すコードワードを選択するために使用されるモードインデックステーブルおよびコードワードマッピングテーブルを選択することができる。その上、特定サイズのブロックについてのモードインデックステーブルは、そのサイズのブロックについてのイントラ予測モードの数に等しい数のエントリを有することができる。したがって、サイズ４×４のブロックについてのモードインデックステーブルは、１８のエントリを有し得、サイズ８×８、１６×１６、および３２×３２のブロックについてのモードインデックステーブルは、３５のエントリを有し得、サイズ６４×６４のブロックについてのモードインデックステーブルは、４つのエントリを有し得る。たとえば１２８×１２８など、他のサイズのブロックも、決定された数の利用可能なイントラ予測モードを有することができる。
【０１１３】
[0123]サイズ８×８、１６×１６、および３２×３２のブロックのために利用可能なイントラ予測モードは、同じとすることができ、したがって、同じモードインデックステーブルは、サイズ８×８、１６×１６、および３２×３２のブロックに使用され得る。しかしながら、これらのサイズのブロックについて同じモードが可能であるが、特定のモードを使用してあるブロックを符号化する確率は、ブロックのサイズに基づいて変わり得る。したがって、いくつかの例では、エントロピー符号化ユニット５６は、イントラ予測モードがシグナリングされることになっているブロックのサイズに基づいて、特定のモードインデックステーブルについてのコードワードマッピングテーブルを決定することができる。
【０１１４】
[0124]例として、上記の表２、表４、および表６は、様々な符号化モードを表す例示的なテーブルにすぎない。しかしながら、他の例では、他のタイプのコードを使用することができることを理解されたい。コードワードの各々が一意に復号可能である限り、コードワードマッピングテーブル（すなわち、マッピングテーブルまたは変更されたイントラ予測モードインデックステーブル）のために、任意の組のコードワードを使用することができる。
【０１１５】
[0125]たとえば、イントラ予測またはインター予測を使用して、現在のブロックを予測した後、ビデオエンコーダ２０は、コード化されている元のビデオブロックから、動き補償ユニット４４またはイントラ予測モジュール４６によって計算された予測データを減算することによって残差ビデオブロックを形成し得る。加算器４９は、この減算演算を実行する１つまたは複数の構成要素を表す。変換モジュール５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換モジュール５２は、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義される変換などの他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換をも使用することができる。いずれの場合も、変換モジュール５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。量子化ユニット５４は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって変更され得る。
【０１１６】
[0126]量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または別のエントロピーコーディング技法を実行し得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後に、符号化されたビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。コンテキスト適応型バイナリ算術コーディングの場合、コンテキストは隣接ブロックおよび／またはブロックサイズに基づき得る。
【０１１７】
[0127]場合によっては、エントロピー符号化ユニット５６またはビデオエンコーダ２０の別のユニットは、上記で説明したように、エントロピーコーディングおよびイントラ予測モードのコーディングに加えて他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット５６はブロックのコード化ブロックパターン（ＣＢＰ：coded block pattern）値およびパーティションを判断するように構成され得る。また、場合によっては、エントロピー符号化ユニット５６は、マクロブロックまたはそれのパーティション中の係数のランレングスコーディングを実行し得る。特に、エントロピー符号化ユニット５６は、マクロブロックまたはパーティション中の変換係数をスキャンするためにジグザグスキャンまたは他のスキャンパターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピー符号化ユニット５６はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。
【０１１８】
[0128]逆量子化ユニット５８および逆変換モジュール６０は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームストア６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームストア６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１１９】
[0129]このようにして、ビデオエンコーダ２０は、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択し、コードワードのテーブルは、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、現在のブロックを符号化し、コードワードのテーブルを使用してイントラ予測モードのうちの１つに対応する変更されたイントラ予測モードインデックスのうちの１つを決定し、ＣＡＢＡＣプロセスを実行することによって、選択されたコードワードのテーブルから、変更されたイントラ予測モードインデックスのうちの１つに対応するコードワードを符号化するように構成されたビデオエンコーダの一例を表す。
【０１２０】
[0130]このようにして、ビデオエンコーダ２０は、現在のブロックの符号化コンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、現在のブロックのコンテキストに基づいて、コードワードインデックスに対応する複数のコードワードを備えるコードワードのテーブルを選択し、コードワードインデックスはイントラ予測モードにマッピングされ、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードのうちの１つを使用して、現在のブロックを符号化し、現在のブロックを符号化するために使用されるイントラ予測モードのうちの１つのコードワードインデックス、第１の最も可能性の高いモードにマッピングされたコードワードインデックス、および第２の最も可能性の高いモードにマッピングされたコードワードインデックスに基づいて、変更されたコードワードインデックスを決定し、ＣＡＢＡＣプロセスを実行することによって、選択されたコードワードのテーブルから、変更されたイントラ予測モードインデックスのうちの１つに対応するコードワードを符号化するように構成されたビデオエンコーダの一例も表す。
【０１２１】
[0131]図４は、符号化されたビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図４の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測モジュール７４と、逆量子化ユニット７６と、逆変換ユニット７８と、メモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信した動きベクトルに基づいて予測データを生成し得る。
【０１２２】
[0132]動き補償ユニット７２は、ビットストリーム中で受信した動きベクトルを使用して、参照フレームストア８２中の参照フレーム中の予測ブロックを識別し得る。イントラ予測モジュール７４は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。特に、ビデオデコーダ３０は、図４の例では、構成データ８４を含む。構成データ８４が、イントラ予測されたブロックのコンテキストを記述する情報と、ならびに、コンテキストごとに使用する複数のイントラ予測インデックスマッピングテーブルのうちの１つと、コンテキストごとに使用する複数の変更されたイントラ予測モードインデックス（またはコードワードマッピング）テーブルのうちの１つと、コンテキストごとの最も可能性の高いイントラ予測モードとを含むという点で、構成データ８４は、図２の構成データ６６と実質的に同様である。
【０１２３】
[0133]エントロピー復号ユニット７０は、ビデオデータの符号化されたブロックの復号に使用するためのイントラ予測モードを表すコードワードを受信することができる。エントロピー復号ユニット７０は、たとえば、符号化されたブロックの左に隣接するブロックおよび上に隣接するブロックについてのイントラ予測モード、および／または符号化されたブロックについてのサイズに基づいて、符号化されたブロックのコンテキストを決定することができる。コンテキストに基づいて、エントロピー復号ユニット７０は、ブロックの復号に使用するための１つまたは複数の最も可能性の高いイントラ予測モード、ならびにブロックの復号に使用するための実際のイントラ予測モードの決定に使用するためのイントラ予測インデックステーブルおよび変更されたイントラ予測モードインデックステーブルを決定することができる。
【０１２４】
[0134]単一の最も可能性の高いイントラ予測モードを使用するとき、コードワードが、たとえば「０」など、第１のビットを備える場合、エントロピー復号ユニット７０は、実際のイントラ予測モードが符号化されたブロックについての最も可能性の高いイントラ予測モードであることを決定することができる。そうでない場合、エントロピー復号ユニット７０は、符号化されたブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルに基づいて、受信されたコードワードにマッピングされる変更されたイントラ予測モードインデックスを決定することができる。ｎは変更されたイントラ予測モードインデックスを表し、ｍは最も可能性の高いイントラ予測モードについてのモードインデックスを表すとする。ｎ＜ｍであるとき、エントロピー復号ユニット７０は、符号化されたブロックについての実際のイントラ予測モードがｎのモードインデックスを有することを決定することができる。そうでない場合（すなわち、ｎ≧ｍ）、エントロピー復号ユニット７０は、符号化されたブロックについての実際のイントラ予測モードがｎ＋１のモードインデックスを有することを決定することができる。上記のようにｎまたはｎ＋１のいずれかに等しいモードインデックスを使用することによって、エントロピー復号ユニット７０は、符号化されたブロックの復号に使用するための実際のイントラ予測モードを示す情報を取り出し、イントラ予測モジュール７４にモードの指示を送ることができる。
【０１２５】
[0135]２つの最も可能性の高いイントラ予測モードなど、２つ以上の最も可能性の高いイントラ予測モードを使用するとき、第１のビットが、たとえば「０」など、ある値を有する場合、エントロピー復号ユニット７０は、実際のイントラ予測モードが符号化されたブロックについての最も可能性の高いイントラ予測モードのうちの１つであることを決定することができる。そのような場合、第２のビットまたは一連のビットに基づいて、エントロピー復号ユニット７０は、最も可能性の高いイントラ予測モードのうちどれが選択されたイントラ予測モードであるかを決定することができる。そうでない場合、第１のビットの後、エントロピー復号ユニット７０は、受信されたコードワードにマッピングされた変更されたイントラ予測モードインデックスを決定し、変更されたイントラ予測モードインデックスに基づいて、ブロックについての選択されたイントラ予測モードを決定することができる。一例として、ｎは変更されたイントラ予測モードインデックスを表し、ｍ1およびｍ2は最も可能性の高いイントラ予測モードについてのモードインデックスを表すとする。ｎ＜ｍ1である場合、エントロピー復号ユニット７０は、符号化されたブロックについての選択されたイントラ予測モードがｎのモードインデックスを有することを決定することができる。ｎ＋１＜ｍ2である（しかしｎはｍ1以上である）とき、エントロピー復号ユニット７０は、符号化されたブロックについての選択されたイントラ予測モードがｎ＋１のモードインデックスを有することを決定することができる。そうではなく、ｎ＋１がｍ2以上であるとき、エントロピー復号ユニット７０は、符号化されたブロックについての選択されたイントラ予測モードがｎ＋２のモードインデックスを有することを決定することができる。モードインデックスを使用することによって、エントロピー復号ユニット７０は、符号化されたブロックの復号に使用するための選択されたイントラ予測モードを示す情報を取り出し、イントラ予測モジュール７４にモードの指示を送ることができる。
【０１２６】
[0136]同様に、イントラ予測モードインデックスがコードワードインデックスにマッピングされ、２つ以上の最も可能性の高いモードが使用されている場合、第１のビットまたは一連のビットが、たとえば「０」など、ある値を有する場合、エントロピー復号ユニット７０は、実際のイントラ予測モードが符号化されたブロックについての最も可能性の高いイントラ予測モードのうちの１つであることを決定することができる。そのような場合、第２のビットまたは一連のビットに基づいて、エントロピー復号ユニット７０は、最も可能性の高いイントラ予測モードのうちどれが選択されたイントラ予測モードであるかを決定することができる。そうでない場合、第１のビットまたは一連のビットの後、エントロピー復号ユニット７０は、受信されたコードワードにマッピングされた変更されたコードワードインデックスを決定し、変更されたコードワードインデックスに基づいて、ブロックについての選択されたイントラ予測モードを決定することができる。一例として、Ｃmodは変更されたコードワードインデックスを表し、Ｃm1およびＣm2は最も可能性の高いイントラ予測モードについてのモードインデックスを表すとする。Ｃmod＜Ｃm1である場合、エントロピー復号ユニット７０は、符号化されたブロックについての実際の選択されたイントラ予測モードがＣmodに等しいコードワードインデックスを有することを決定することができる。Ｃmod＋１＜Ｃm2である（しかしＣmodはＣm1以上である）とき、エントロピー復号ユニット７０は、符号化されたブロックについての実際の選択されたイントラ予測モードがＣmod＋１のコードワードインデックスを有することを決定することができる。そうではなく、Ｃmod＋１がＣm2以上であるとき、エントロピー復号ユニット７０は、符号化されたブロックについての実際の選択されたイントラ予測モードがＣmod＋２のモードインデックスを有することを決定することができる。コードワードインデックスを使用することによって、エントロピー復号ユニット７０は、符号化されたブロックの復号に使用するための実際の選択されたイントラ予測モードを示す情報を取り出し、イントラ予測モジュール７４にモードの指示を送ることができる。
【０１２７】
[0137]イントラ予測モジュール７４は、たとえば、隣接する、以前復号されたブロックのピクセルを使用して、符号化されたブロックをイントラ予測するためにイントラ予測モードの指示を使用することができる。ブロックがインター予測モード符号化される例では、動き補償ユニット７２は、符号化されたブロックについての動き補償予測データを取り出すために、動きベクトルを定義する情報を受信することができる。いずれの場合も、動き補償ユニット７２またはイントラ予測モジュール７４は、加算器８０に予測ブロックを定義する情報を提供することができる。
【０１２８】
[0138]逆量子化ユニット７６は、ビットストリーム中で供給され、エントロピー復号ユニット７０によって復号された量子化ブロック係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、たとえば、Ｈ．２６４復号規格によって定義される、またはＨＥＶＣテストモデルによって実行されるなど、従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を判断し、同様に、適用する逆量子化の程度を判断するための、各マクロブロックについてエンコーダ２０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０１２９】
[0139]逆変換モジュール５８は、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。動き補償ユニット７２は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１３０】
[0140]動き補償ユニット７２は、シンタックス情報のいくつかを使用して、符号化ビデオシーケンスの（１つまたは複数の）フレームを符号化するために使用されるブロックのサイズと、符号化ビデオシーケンスのフレームまたはスライスの各ブロックがどのように区分されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化ブロックまたはパーティションのための１つまたは複数の参照フレーム（および参照フレームリスト）と、符号化ビデオシーケンスを復号するための他の情報と、を判断する。
【０１３１】
[0141]加算器８０は、残差ブロックを、動き補償ユニット７２またはイントラ予測モジュール７４によって生成される対応する予測ブロックと合計して、復号ブロックを形成する。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理することもできる。復号されたビデオブロックは、次いで、参照フレームストア８２に記憶され、参照フレームストア８２は、参照ブロックをその後の動き補償に供給し、また、ディスプレイデバイス（図１のディスプレイデバイス３２など）上での提示のために復号されたビデオを生成する。
【０１３２】
[0142]このようにして、図４のビデオデコーダ３０は、現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、現在のブロックのコンテキストに基づいてコードワードのテーブルを選択し、コードワードのテーブルが、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、ＣＡＢＡＣプロセスを実行して、受信されたコードワードを決定し、コードワードのテーブルを使用して受信されたコードワードに対応する変更されたイントラ予測モードインデックスのうちの１つを決定し、コード化ブロックの復号に使用するために、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択し、選択されたイントラ予測モードは、変更されたイントラ予測モードインデックスのうちの決定された１つに対応し、選択されたイントラ予測モードを使用して、現在のブロックを復号するように構成されたビデオデコーダの一例を表す。
【０１３３】
[0143]このようにして、図４のビデオデコーダ３０は、現在のブロックのコンテキストに基づいて、ビデオデータの現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、現在のブロックのコンテキストに基づいて、コードワードのテーブルを選択し、コードワードのテーブルが、コードワードインデックスに対応する複数のコードワードを備え、コードワードインデックスがイントラ予測モードにマッピングされ、ＣＡＢＡＣプロセスを実行して、受信されたコードワードを決定し、コードワードのテーブルを使用して受信されたコードワードに対応する変更されたコードワードインデックスを決定し、コード化ブロックの復号に使用するために、第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択し、選択されたイントラ予測モードは、変更されたコードワードインデックス、第１の最も可能性の高いイントラ予測モード、および第２の最も可能性の高いイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、選択されたイントラ予測モードを使用して、現在のブロックを復号するように構成されたビデオデコーダの一例も表す。
【０１３４】
[0144]図５Ａは、本開示で説明する技法に従って使用され得るＣＡＢＡＣ符号化ユニット５０Ａの一例を示すブロック図である。ＣＡＢＡＣ符号化ユニット５０Ａは、値対ビンマッピングモジュール５１Ａと、コンテキスト割当てモジュール５３Ａと、適応型算術コーディングモジュール５５Ａとを含む。適応型算術コーディングモジュール５５Ａは、確率推定モジュール５７Ａと、コーディングエンジン５９Ａとを含む。ＣＡＢＡＣコーディングユニット５０Ａは、たとえば、図２のエントロピー符号化ユニット５６の一部であることがわかる。
【０１３５】
[0145]非バイナリ値シンタックス要素では、値対ビンマッピングモジュール５１Ａ値は、シンタックス要素の値を、１つまたは複数のビットまたは「ビン」を備え得る「ビンストリング」とも呼ばれるバイナリシーケンスに割り当てることができる。言い換えれば、値対ビンマッピングモジュール５１Ａは、ビンストリングを使用して値が表されるように、シンタックス要素の値を「２値化する」ことができる。任意の値のビンストリングを任意の特定の非バイナリ値シンタックス要素に割り当てることができること、および、ビンストリングが必ずしもバイナリ形態でシンタックス要素の値を表す必要があるとは限らないことに留意されたい。上記の表２、表４、および表６の例では、提供されたコードワードは、すでにバイナリ形態であり、したがって２値化のために使用され得る。シンタックス値をバイナリコードワードにマッピングすることは、シンタックス要素がビンマッピングモジュール５１Ａに渡される前に、シンタックス値を本質的に「２値化する」。しかしながら、バイナリシンタックス要素では、ビンマッピングモジュール５１Ａは、シンタックス要素を２値化することができる。
【０１３６】
[0146]上述のように、表２、表４、および表６の各々は、すでにバイナリ値として表されている、すなわち、すでに２値化されているので、コードワードは、この２値化プロセスをバイパスすることができ、以下で説明するコンテキスト割当てモジュール５３Ａによって実行されるＣＡＢＡＣのコンテキストモデリング段階に進むことができる。同様に、使用するイントラ予測モードが特定のコンテキストについての最も可能性の高いイントラ予測モードであるかどうかを示す、表１、表３、および表５を参照して上述した１つまたは複数のビンも、すでにバイナリ値として表されている可能性があり、したがって、上述と同じ理由から２値化される必要はない場合がある。他の例では、変更されたイントラ予測モードインデックス、変更されたコードワードインデックス、他のシンタックス要素、および使用されるイントラ予測モードが特定のコンテキストについての最も可能性の高いイントラ予測モードであるかどうかの指示は、２値化されていない場合があり、したがって、２値化を利用することができる。
【０１３７】
[0147]コンテキスト割当てモジュール５３Ａは、シンタックス要素を表すために使用されるビンストリングの各ビンにコンテキストを割り当てる。たとえば、コンテキスト割当てモジュール５３Ａは、ビンストリング内の各ビンに異なるコンテキストを割り当てることができる。代わりに、コンテキスト割当てモジュール５３Ａは、ビンストリングの１つまたは複数のビンに共通のコンテキストを割り当てることができる。いくつかの他の場合、たとえば、ＣＡＢＡＣバイパスモードを使用してビンがコード化されるとき、明確なコンテキストは必要ではなく、コンテキスト割当てモジュール５３Ａは、任意のコンテキストをビンに割り当てる必要はない場合がある。いずれの場合にも、いくつかの例では、各コンテキストは、コンテキストインデックスを使用して表され得る。言い換えれば、ビンストリングの各ビンは、それぞれのビンに割り当てられる特定のコンテキストを示すコンテキストインデックスに関連付けられ得る。
【０１３８】
[0148]コンテキスト割当てモジュール５３Ａは、時として「コンテキストモデリング」と呼ばれるプロセスを使用してビンストリングの各ビンへのコンテキストの割当てを実行することができる。たとえば、コンテキスト割当てモジュール５３Ａは、コンテキストモデルに基づいて決定されるコンテキストに、各ビンを割り当てることができる。コンテキストモデルは、所与のビンについて、特定のコンテキストがどのように計算されるかについて決定する。たとえば、コンテキストは、たとえば、ビデオデータの隣接ブロックについての対応する前に符号化されたシンタックス要素の値、またはビンストリング内のビンの相対位置など、ビンのために利用可能な情報に基づいて計算することができる。たとえば、コンテキストモデルは、現在ブロックの上部および左側にビデオデータの隣接するブロックについての変更されたイントラ予測モードインデックスの値（またはインデックスを表すために使用されるコードワード）、および／またはビンストリング内のビンの位置を使用して、コンテキストを計算することができる。
【０１３９】
[0149]いくつかの例では、各コンテキストは、複数の「コンテキスト状態」を含み得、そこで、コンテキスト状態の各々は、所与の値、たとえば「０」または「１」を備える、コンテキストが割り当てられるビンの確率を示す確率推定値の特定の組に関連付けられる。さらに、各コンテキストは、所与の時間において特定の現在のコンテキスト状態に関連付けられていてもよく、現在のコンテキスト状態は、そのコンテキストについての最も現在の確率推定値を示す。
【０１４０】
[0150]ビンストリングのビンは、その後、適応型算術コーディングモジュール５５Ａによって符号化され得る。ビンを符号化するために、適応型算術コーディングモジュール５５Ａの確率推定モジュール５７Ａは、ビンに割り当てられるコンテキスト（およびその現在の状態）に基づいてコード化されているビンの確率推定値を決定することができる。
【０１４１】
[0151]コーディングエンジン５９Ａは、ビンの値、およびビンに割り当てられるコンテキスト（およびその現在の状態）に対応する確率推定値を、ビンを符号化するときの適応型算術コーディングモジュール５５Ａへの入力として使用することができる。上記で説明したように、割り当てられたコンテキストを使用して、確率推定モジュール５７Ａによって、ビンについての確率推定値が決定される。前述のように、これらの確率推定値は、一般に、「０」に等しい値または「１」に等しい値を有するビンの確率に対応する。確率推定値は、１つのコンテキストに割り当てられるビンについて同じとすることができ、コンテキストの各々の現在のコンテキスト状態によって反映されるように、コンテキスト間で異なっていてもよい。
【０１４２】
[0152]さらに、割り当てられたコンテキストについての確率推定値は、コーディングエンジン５９Ａによって符号化されているビンの実効値に基づいて更新することができる。たとえば、特定のビンが「１」の値を有する場合、割り当てられたコンテキストについての「１」の確率推定値が増加する。同様に、ビンが「０」の値を有する場合、割り当てられたコンテキストについての「０」の確率推定値が増加する。上記の例では、割り当てられたコンテキストについての確率推定値は、前述のように、コンテキストについての最も現在の確率推定値を反映するためにコンテキスト状態を更新することによって更新され得る。たとえば、更新されたコンテキスト状態によって示される最も現在の確率推定値は、同じコンテキストが選択される次のビンを符号化するために使用され得る。
【０１４３】
[0153]上記で説明した技法は、ビンストリングのビンごとに繰り返すことができる。いくつかの例では、バイパスモードは、ビンストリングの１つまたは複数のビンのために利用され得、その場合、明示的に割り当てられたコンテキストモデルの使用なしに、１つまたは複数のビンがコード化され、これは、ビンのコード化を単純化し、高速化することができる。たとえば、バイパスモードを使用してコード化される１つまたは複数のビンについて、ほぼ均等な（たとえば、値「０」および「１」を有する「０．５」）確率推定値を仮定することができる。言い換えれば、バイパスモードは、一様に分布したビンをコード化するために使用することができる。
【０１４４】
[0154]上記のＣＡＢＡＣプロセスは、ＣＡＢＡＣプロセスの一例を表すためのものである。上記のプロセスに対する変更、ならびに上記のものに対する代替のＣＡＢＡＣプロセスは、本開示で説明する技法の範囲内であることが企図される。さらに、本開示の技法は、他のコンテキスト適応型エントロピーコーディングプロセス、たとえばＰｒｏｂａｂｉｌｉｔｙ  Ｉｎｔｅｒｖａｌ  Ｐａｒｔｉｔｉｏｎｉｎｇ  Ｅｎｔｒｏｐｙ  Ｃｏｄｉｎｇ（ＰＩＰＥ）プロセス、ならびに他のコンテキスト適応型エントロピーコーディングプロセスを使用することをさらに企図する。
【０１４５】
[0155]図５Ｂは、本開示で説明する技法に従って使用され得るＣＡＢＡＣ復号ユニット５０Ｂの一例を示すブロック図である。ＣＡＢＡＣ復号ユニット５０Ｂは、ビン対値マッピングモジュール５１Ｂと、コンテキスト割当てモジュール５３Ｂと、適応型算術復号モジュール５５Ｂとを含む。適応型算術復号モジュール５５Ｂは、確率推定モジュール５７Ｂと、復号エンジン５９Ｂを含む。ＣＡＢＡＣ復号ユニット５０Ｂは、たとえば、図４のエントロピー復号ユニット７０の一部であることがわかる。
【０１４６】
[0156]ＣＡＢＡＣ符号化ユニット５０Ａに関して上記で説明したのと類似の、しかし逆の方法で、ＣＡＢＡＣ復号ユニット５０Ｂは、１つまたは複数のビンを備える符号化されたビンストリングを復号することができる。前述のように、符号化されたビンストリングは、符号化されたバイナリ値、または非バイナリ値シンタックス要素を表し得る。
【０１４７】
[0157]たとえば、コンテキスト割当てモジュール５３Ｂは、ビンストリングの特定のビンに割り当てられることになっているコンテキストを決定するために、コンテキストモデリングを使用することができる。確率推定モジュール５７Ｂは、ビンを復号するために使用される確率推定値を決定するために、割り当てられたコンテキスト（およびその現在の状態）を使用することができる。さらに、復号エンジン５９Ｂは、確率推定値を使用してビンを復号することができる。上記で説明したのと同様の様式で、このプロセスは、ビンストリングの一部または全部のビンについて繰り返すことができ、結果的に、ビンストリングの復号がもたらされる。最後に、ビン対値マッピングモジュール５１Ｂは、ビンストリングの復号されたビンを、非バイナリ値シンタックス要素にマッピングすることができ、または１つまたは複数の復号されたビンを「非２値化する」ことができる。
【０１４８】
[0158]同じく、上記のＣＡＢＡＣプロセスは、ＣＡＢＡＣプロセスの一例を表すためのものである。上記のプロセスに対する変更、ならびに上記のものに対する代替のＣＡＢＡＣプロセスは、本開示で説明する技法の範囲内であることが企図される。さらに、本開示の技法は、他のコンテキスト適応型エントロピーコーディングプロセス、たとえばＰＩＰＥプロセス、ならびに他のコンテキスト適応型エントロピーコーディングプロセスを使用することをさらに企図する。
【０１４９】
[0159]図６は、ビデオデータのブロックをイントラ予測符号化するための一例の方法を示すフローチャートである。図６の技法は、一般に、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれに実装されようと、任意の処理ユニットまたはプロセッサによって実行することができ、ソフトウェアまたはファームウェアに実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図６の技法は、ビデオエンコーダ２０（図１および図２）に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図６に示されるステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくつかのステップが省略されたりしてもよい。
【０１５０】
[0160]初めに、ビデオエンコーダ２０は、ビデオデータの現在のブロックについてのイントラ予測モードを選択する（１００）。たとえば、イントラ予測モジュール４６は、ブロックを符号化するために使用される様々なイントラ予測モードについてのレートひずみ値を計算し、次いで、テストされたイントラ予測モードの最良のレートひずみ値を呈するイントラ予測モードを選択する。イントラ予測モジュール４６は、次いで、選択されたイントラ予測モードを使用してブロックを符号化する（１０２）。すなわち、イントラ予測モジュール４６は、選択されたイントラ予測モードに基づいてブロックについての予測ブロックを計算する。ビデオエンコーダ２０は、ビデオエンコーダ２０が次いで変換し、量子化することができる残差ブロックを生成するために、予測ブロックと元のブロックとの間の差をさらに計算する。
【０１５１】
[0161]ビデオエンコーダ２０は、選択されたイントラ予測モードを表す情報をさらに符号化する。すなわち、イントラ予測モジュール４６は、エントロピー符号化ユニット５６に選択されたイントラ予測モードの指示を送る。エントロピー符号化ユニット５６、またはビデオエンコーダ２０の別のユニットは、ブロックのコンテキストを決定する（１０４）。ブロックのコンテキストは、ブロックのサイズ、ならびに／またはたとえば上に隣接するブロックおよび／もしくは左に隣接するブロックなど、隣接するブロックのイントラ予測モードを含みえる。エントロピー符号化ユニット５６は、ブロックの符号化コンテキストに基づいて、イントラ予測モードインジケータの符号化に使用するための変更されたイントラ予測モードインデックステーブルを選択することもできる（１０６）。エントロピー符号化ユニット５６は、いくつかの例では、イントラ予測インデックステーブルをさらに選択することができ、一方、他の例では、イントラ予測モードインデックスは固定されてもよい。エントロピー符号化ユニット５６は、ブロックのコンテキストにおけるブロックについての１つまたは複数の最も可能性の高いイントラ予測モードをさらに決定することができる（１０８）。
【０１５２】
[0162]エントロピー符号化ユニット５６は、次いで、最も可能性の高いイントラ予測モード（複数可）に基づいて、イントラ予測モードについてのコードワードを変更されたイントラ予測モードインデックステーブルから選択することができる（１１０）。たとえば、以下でより詳細に説明するように、エントロピー符号化ユニット５６は、シングルビットまたは一連のビット（たとえば、シングルビットまたは２ビット）を使用して、選択されたイントラ予測モードが最も可能性の高いイントラ予測モードのうちの１つを備えることをシグナリングすることができる。選択されたイントラ予測モードが最も可能性の高いイントラ予測モードのうちの１つではない場合、エントロピー符号化ユニット５６は、選択されたイントラ予測モードをシグナリングするために、コードワードを選択することができる。エントロピー符号化ユニット５６は、次いで、コード化ブロック（たとえば、符号化された量子化変換係数）をビットストリームに出力し、ＣＡＢＡＣプロセスを使用して、選択されたコードワードをビットストリームに出力することができる（１１２）。
【０１５３】
[0163]図７Ａは、コード化ブロックについてのイントラ予測モードを示すコードワードを選択するための例示的な方法を示すフローチャートである。この場合も、図７Ａの技法は、任意の適したプロセッサにおいて実施することができるが、図７Ａの技法は、例として、ビデオエンコーダ２０の例に関して説明する。図７Ａは、一般に、図６のステップ１１０についての追加の詳細を提供する。図７Ａに示される方法のステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくつかのステップが省略されたりしてもよい。
【０１５４】
[0164]上記で説明したように、ビデオエンコーダ２０は、現在のブロックについてのコーディングコンテキストを決定する（１２０）。同様に、ビデオエンコーダ２０は、ブロックについてのコーディングコンテキストに基づいて、変更されたイントラ予測モードインデックステーブルを選択する（１２２Ａ）。ビデオエンコーダ２０の構成データは、ブロックのコンテキストについての、変更されたイントラ予測モードインデックステーブルの、および、いくつかの例では、イントラ予測モードインデックステーブルの指示を提供する。さらに、ビデオエンコーダ２０は、ブロックについてのコーディングコンテキストに基づいてブロックの符号化に使用するための最も可能性の高いイントラ予測モードを決定する（１２４Ａ）。この場合も、ビデオエンコーダ２０の構成データは、ブロックのコンテキストについての最も可能性の高いイントラ予測モードの指示を提供することができる。
【０１５５】
[0165]上記で説明したように、ビデオエンコーダ２０は、ブロックの実際の符号化に使用するために、ブロックについてのイントラ予測モードを選択する（１２６Ａ）。ビデオエンコーダ２０は、選択されたイントラ予測モードが、ブロックのコンテキストに基づいて、ブロックについての最も可能性の高いイントラ予測モードと同じであるかどうかを決定する（１２８Ａ）。選択されたモードが最も可能性の高いモードである場合（１２８Ａの「YES」分岐）、ビデオエンコーダ２０は、最も可能性の高いモードに基づいて、シングルビット、たとえば、「０」または「１」を使用して、ブロックの符号化に使用されるイントラ予測モードの指示を符号化する（１３０Ａ）。
【０１５６】
[0166]選択されたモードが最も可能性の高いモードでないとき（１２８Ａの「NO」分岐）、ビデオエンコーダ２０は、たとえば、イントラ予測モードインデックステーブルから、選択されたイントラ予測モードについてのモードインデックスを決定する（１２２Ａ）。いくつかの例では、モードインデックスは、コンテキストに関係なく、グローバルな値でもよく、一方、他の例では、ビデオエンコーダ２０の構成データは、各コンテキストを複数のイントラ予測モードインデックステーブルのうちの１つにマッピングし得る。ビデオエンコーダ２０は、最も可能性の高いイントラ予測モードについてのモードインデックスをさらに決定する。次いで、ビデオエンコーダ２０は、選択されたイントラ予測モードについてのモードインデックスがブロックのコンテキストにおいて最も可能性の高いイントラ予測モードについてのモードインデックス未満であるかどうかを決定する（１３４Ａ）。
【０１５７】
[0167]選択されたイントラ予測モードについてのモードインデックスが最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき（１３４Ａの「YES」分岐）、ビデオエンコーダ２０は、選択されたイントラ予測モードについてのモードインデックスに対応するブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルからコードワードを決定する。より詳細には、ビデオエンコーダ２０は、ＣＡＢＡＣプロセスを使用して、選択されたイントラ予測モードについてのモードインデックスに等しい変更されたイントラ予測モードインデックスにマッピングされたコードワードを出力する（１３６Ａ）。
【０１５８】
[0168]一方、選択されたイントラ予測モードについてのモードインデックスが最も可能性の高いイントラ予測モードについてのモードインデックスよりも大きいとき（１３４Ａの「NO」分岐）、ビデオエンコーダ２０は、選択されたイントラ予測モードについてのモードインデックスよりも１小さいものに対応するブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルからコードワードを決定する。より詳細には、ビデオエンコーダ２０は、ＣＡＢＡＣプロセスを使用して、選択されたイントラ予測モードについてのモードインデックスよりも１小さいものに等しい変更されたイントラ予測モードインデックスにマッピングされたコードワードを出力する（１３８Ａ）。
【０１５９】
[0169]最も可能性の高いイントラ予測モードが別個にシグナリングされるので、変更されたイントラ予測モードインデックステーブルは、追加のコードワードを最も可能性の高いイントラ予測モードのインデックスにマッピングする必要はない。したがって、最も可能性の高いイントラ予測モードについてのモードインデックスに等しい変更されたイントラ予測モードインデックスは、このようにして、最も可能性の高いイントラ予測モードについてのモードインデックスよりも１大きいモードインデックスにマッピングされ得る。したがって、ブロックのために利用可能なイントラ予測モードがＫ個ある場合、変更されたイントラ予測モードインデックステーブルは、最も可能性の高いイントラ予測モードがブロックを符号化するために使用されるかどうかを示すシングルビットのコードワード以外の、Ｋ−１個の変更されたイントラ予測モードインデックスについてのコードワードを提供するだけでよい。
【０１６０】
[0170]図７Ｂは、コード化ブロックについてのイントラ予測モードを示すコードワードを選択するための例示的な方法を示すフローチャートである。この場合も、図７Ｂの技法は、任意の適したプロセッサにおいて実施することができるが、図７Ｂの技法は、例として、ビデオエンコーダ２０の例に関して説明する。図７Ｂは、一般に、２つの最も可能性の高いモードが使用される例について、図６のステップ１１０の追加の詳細を提供する。図７Ｂに示される方法のステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくつかのステップが省略されたりしてもよい。
【０１６１】
[0171]上記で説明したように、ビデオエンコーダ２０は、現在のブロックについてのコーディングコンテキストを決定する（１２０Ｂ）。同様に、ビデオエンコーダ２０は、ブロックについてのコーディングコンテキストに基づいて、変更されたイントラ予測モードインデックステーブルを選択する（１２２ＢＡ）。ビデオエンコーダ２０の構成データは、ブロックのコンテキストについての、変更されたイントラ予測モードインデックステーブルの、および、いくつかの例では、イントラ予測モードインデックステーブルの指示を提供することができる。さらに、ビデオエンコーダ２０は、ブロックについてのコーディングコンテキストに基づいてブロックの符号化に使用するための第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定する（１２４Ｂ）。この場合も、ビデオエンコーダ２０の構成データは、ブロックのコンテキストについての最も可能性の高いイントラ予測モードの指示を提供することができる。
【０１６２】
[0172]上記で説明したように、ビデオエンコーダ２０は、ブロックの実際の符号化に使用するために、ブロックについてのイントラ予測モードを選択する（１２６Ｂ）。ビデオエンコーダ２０は、選択されたイントラ予測モードが、ブロックのコンテキストに基づいて、ブロックについての最も可能性の高いイントラ予測モードのうちの１つと同じであるかどうかを決定する（１２８Ｂ）。選択されたモードが最も可能性の高いモードである場合（１２８Ｂの「YES」分岐）、ビデオエンコーダ２０は、最も可能性の高いモードに基づいて、たとえば、実際のモードが最も可能性の高いモードのうちの１つであることを示す第１のビット、および最も可能性の高いモードのうちどれが実際のモードであるかを示す第２のビットを含む２ビットなど、最初の一連のビットを使用してブロックの符号化に使用されるイントラ予測モードの指示を符号化する（１３０Ｂ）。
【０１６３】
[0173]選択されたモードが最も可能性の高いモードのうちの１つではないとき（１２８Ｂの「NO」分岐）、ビデオエンコーダ２０は、たとえば、イントラ予測モードインデックステーブルから、選択されたイントラ予測モードのためのモードインデックスを決定する（１２２Ｂ）。いくつかの例では、モードインデックスは、コンテキストに関係なく、グローバルな値でもよく、一方、他の例では、ビデオエンコーダ２０の構成データは、各コンテキストを複数のイントラ予測モードインデックステーブルのうちの１つにマッピングすることができる。ビデオエンコーダ２０は、最も可能性の高いイントラ予測モードについてのモードインデックスをさらに決定する。次いで、ビデオエンコーダ２０は、選択されたイントラ予測モードについてのモードインデックスがブロックのコンテキストにおいて第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるかどうかを決定する（１３４Ｂ）。
【０１６４】
[0174]選択されたイントラ予測モードについてのモードインデックスが両方の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき（１３４Ｂの「YES」分岐）、ビデオエンコーダ２０は、選択されたイントラ予測モードについてのモードインデックスに対応するブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルからコードワードを決定する。より詳細には、ビデオエンコーダ２０は、選択されたイントラ予測モードについてのモードインデックスに等しい変更されたイントラ予測モードインデックスにマッピングされたコードワードを使用する（１３６Ｂ）。
【０１６５】
[0175]一方、選択されたイントラ予測モードについてのモードインデックスが両方の最も可能性の高いイントラ予測モードについてのモードインデックス以上であるとき（１３４Ｂの「NO」分岐）、ビデオエンコーダ２０は、選択されたイントラ予測モードについてのモードインデックスが、ブロックのコンテキストにおける第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードについてのモードインデックス以上であるかどうかを決定する（１３８Ｂ）。選択されたイントラ予測モードについてのモードインデックスが両方の最も可能性の高いイントラ予測モードについてのモードインデックス以上であるとき（１３８Ｂの「YES」分岐）、当該ブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルから、ビデオエンコーダ２０は、選択されたイントラ予測モードについてのモードインデックスに対応するコードワードを決定する。より詳細には、ビデオエンコーダ２０は、当該ブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルから、選択されたイントラ予測モードについてのモードインデックスよりも２小さいものに対応するコードワードを決定する。より詳細には、ビデオエンコーダ２０は、ＣＡＢＡＣプロセスを使用して、選択されたイントラ予測モードについてのモードインデックスよりも２小さいものに等しい変更されたイントラ予測モードインデックスにマッピングされたコードワードを出力することができる（１４０Ｂ）。
【０１６６】
[0176]選択されたイントラ予測モードについてのモードインデックスが両方の最も可能性の高いイントラ予測モードについてのモードインデックス以上であるとき（１３４Ｂの「NO」分岐）、および選択されたイントラ予測モードについてのモードインデックスが両方の最も可能性の高いイントラ予測モードについてのモードインデックス以上ではないとき（１３８Ｂの「NO」分岐）、選択されたイントラ予測モードについてのモードインデックスは、第１の最も可能性の高いイントラ予測モードについてのモードインデックス以上であるが、第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満である（１３８Ｂの「NO」分岐）。選択されたイントラ予測モードについてのモードインデックスが第１の最も可能性の高いイントラ予測モードについてのモードインデック以上であるが、第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき、ビデオエンコーダ２０は、当該ブロックのコンテキストについての変更されたイントラ予測モードインデックステーブルから、選択されたイントラ予測モードについてのモードインデックスに対応するコードワードを決定する。より詳細には、ビデオエンコーダ２０は、ＣＡＢＡＣプロセスを使用して、選択されたイントラ予測モードについてのモードインデックスよりも１小さいものに等しい変更されたイントラ予測モードインデックスにマッピングされたコードワードを出力する（１４２Ｂ）。
【０１６７】
[0177]上記で説明した方法で最も可能性の高いモードをシグナリングするために第１のビットおよび第２のビットが使用されるので、変更されたイントラ予測モードインデックステーブルは、追加のコードワードを最も可能性の高いイントラ予測モードのインデックスにマッピングする必要はない。したがって、ブロックのために利用可能なイントラ予測モードがＫ個ある場合、変更されたイントラ予測モードインデックステーブルは、Ｋ−２個の変更されたイントラ予測モードインデックスについてのコードワードを提供するだけでよい。
【０１６８】
[0178]図８は、ビデオデータのブロックをイントラ予測復号するための例示的な方法を示すフローチャートである。図８の技法は、一般に、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれに実装されようと、任意の処理ユニットまたはプロセッサによって実行することができ、ソフトウェアまたはファームウェアに実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図８の技法は、ビデオデコーダ３０（図１および図４）に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図８に示されるステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくつかのステップが省略されたりしてもよい。
【０１６９】
[0179]ビデオデコーダ３０は、ＣＡＢＡＣプロセスを使用して、イントラ予測モードコード化ブロックについてのコードワードを決定する（１５０）。コードワードは、一般に、ブロックを符号化するために使用されるイントラ予測モードと、同様に、ブロックを復号するために使用されるイントラ予測モードとを表すことができる。ビデオデコーダ３０は、たとえば、ブロックのサイズ、および／または上に隣接するブロックおよび／または左に隣接するブロックなど、隣接するブロックのイントラ予測モードに基づいて、ビデオエンコーダ２０のものと同様の方法でブロックについてのコーディングコンテキストを決定する（１５２）。
【０１７０】
[0180]ビデオデコーダ３０は、ブロックについての決定されたコーディングコンテキストに基づいて、ブロックについての変更されたイントラ予測モードインデックステーブルをさらに選択する（１５４）。ビデオデコーダ３０は、いくつかの例では、コンテキストに基づいてイントラ予測モードインデックステーブルを決定することができ、一方、他の例では、イントラ予測モードインデックスは、固定され、グローバルにすべてのコンテキストに適用することができる。ビデオデコーダ３０は、ブロックのコンテキストについての１つまたは複数の最も可能性の高いイントラ予測モードをさらに決定する（１５６）。
【０１７１】
[0181]次いで、ビデオデコーダ３０は、選択されたコードワードテーブル、最も可能性の高いイントラ予測モード（複数可）、および受信されたコードワードを使用して、ブロックの復号に使用するために、実際のイントラ予測モードを決定する（１５８）。たとえば、選択されたモードが最も可能性の高いモードであるかどうかを示すシングルビットまたは一連のビットをコードワードが備える場合、ビデオデコーダ３０は、シングルビットまたは一連のビットを使用して、最も可能性の高いイントラ予測モード（複数可）がブロックの復号に使用されるかどうかを決定する。選択されたモードが最も可能性の高いモードではないことが決定された場合、ビデオデコーダ３０は、変更されたイントラ予測モードインデックステーブルを使用して、コードワードに基づいて、変更されたイントラ予測モードインデックスを決定し、変更されたイントラ予測モードインデックスに基づいて、ビデオデコーダ３０は、ブロックの符号化に使用されるイントラ予測モードを決定する。
【０１７２】
[0182]ビデオデコーダ３０は、ブロックを復号するために、決定されたイントラ予測モードを使用する（１６０）。たとえば、ビデオデコーダ３０は、決定されたイントラ予測モードを使用して、ブロックについての予測ブロックを計算する。ビデオデコーダ３０は、ブロックについての残差ブロックを再構築するために、ビデオデコーダ３０が復号し、逆量子化し、および逆変換し得るコード化された量子化変換係数をさらに受信する。次いで、ビデオデコーダ３０は、予測ブロックおよび残差ブロックを合計して、復号されたブロックを形成する。ビデオデコーダ３０は、復号されたブロックを出力し（１６２）、これは、復号されたビデオブロックを表示のためのディスプレイデバイスに（たとえば、フレームバッファを介して）送ることと、たとえば時間的に別々のフレームまたはスライスにおいて、ビデオデータの後続のブロックを復号するとき、参照ブロックとして使用するために、参照フレームバッファに復号されたブロックのコピーを記憶することと、のいずれかまたは両方を含み得る。
【０１７３】
[0183]図９Ａは、コード化ブロックについてのイントラ予測モードを示す受信されたコードワードを使用して、ブロックについてのイントラ予測モードを決定するための例示的な方法を示すフローチャートである。この場合も、図９Ａの技法は、任意の適したプロセッサにおいて実施することができるが、図９Ａの技法は、例として、および説明のために、ビデオデコーダ３０の例に関して説明する。図９Ａは、一般に、図８のステップ１６０についての追加の詳細を提供する。図９Ａに示される方法のステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくつかのステップが省略されたりしてもよい。
【０１７４】
[0184]ビデオデコーダ３０は、ＣＡＢＡＣプロセスを使用して、イントラコード化されたブロックについてのコードワードを決定する（１７０Ａ）。上記で説明したように、ビデオデコーダ３０は、たとえば、ブロックのサイズ、および／または隣接するブロックのイントラ予測コード化モードに基づいて、ブロックについてのコーディングコンテキストを決定する（１７２Ａ）。決定されたコンテキストに基づいて、ビデオデコーダ３０は、ブロックについての変更されたイントラ予測モードインデックステーブルを選択し（１７４Ａ）、ブロックについての最も可能性の高いイントラ予測モードを決定する（１７６Ａ）。いくつかの例では、ビデオデコーダ３０は、決定されたコンテキストに基づいてブロックについてのイントラ予測モードインデックステーブルをさらに選択することができる。
【０１７５】
[0185]ビデオデコーダ３０は、選択されたイントラ予測モードが最も可能性の高いモードであることを、コードワードにおける第１のビットが示すかどうかを決定する。選択されたイントラ予測モードが最も可能性の高いモードである場合（１７８Ａの「YES」分岐）、ビデオデコーダ３０は、最も可能性の高いイントラ予測モードを使用して、ブロックを復号する（１８０Ａ）。一方、選択されたイントラ予測モードが最も可能性の高いモード以外のイントラ予測モードである場合（１７８Ａの「NO」分岐）、ビデオデコーダ３０は、選択された変更されたイントラ予測モードインデックステーブルからのコードワードに基づいて変更されたイントラ予測モード（ＭＩＰＭ）インデックスを決定する（１８２Ａ）。
【０１７６】
[0186]次いで、ビデオデコーダ３０は、変更されたイントラ予測モードインデックスがブロックのコンテキストについての最も可能性の高いイントラ予測モードについてのモードインデックス未満であるかどうかを決定する（１８４Ａ）。変更されたイントラ予測モードインデックスが、最も可能性の高いイントラ予測モードについてのモードインデックス未満である場合（１８４Ａの「YES」分岐）、ビデオデコーダ３０は、変更されたイントラ予測モードインデックスに等しいモードインデックスを有するイントラ予測モードを使用してブロックを復号する（１８６Ａ）。一方、変更されたイントラ予測モードインデックスが、最も可能性の高いイントラ予測モードについてのモードインデックス以上である場合（１８４Ａの「NO」分岐）、ビデオデコーダ３０は、変更されたイントラ予測モードインデックスよりも１大きいものに等しいモードインデックスを有するイントラ予測モードを使用してブロックを復号する（１８８Ａ）。
【０１７７】
[0187]図９Ｂは、コード化ブロックについてのイントラ予測モードを示す受信されたコードワードを使用して、ブロックについてのイントラ予測モードを決定するための例示的な方法を示すフローチャートである。この場合も、図９Ｂの技法は、任意の適したプロセッサにおいて実施することができるが、図９Ｂの技法は、例として、および説明のために、ビデオデコーダ３０の例に関して説明する。図９Ｂは、一般に、２つ以上の最も可能性の高いモードが使用される例について、図８のステップ１６０の追加の詳細を提供する。図９Ｂに示される方法のステップは、本開示の技法から逸脱することなく、異なる順序でまたは並行して実行されてもよく、追加のステップが追加されたり、いくつかのステップが省略されたりしてもよい。
【０１７８】
[0188]ビデオデコーダ３０は、ＣＡＢＡＣプロセスを使用して、イントラコード化されたブロックについてのコードワードを決定する（１７０Ｂ）。上記で説明したように、ビデオデコーダ３０は、たとえば、ブロックのサイズ、および／または隣接するブロックのイントラ予測コード化モードに基づいて、ブロックについてのコーディングコンテキストを決定する（１７２Ｂ）。決定されたコンテキストに基づいて、ビデオデコーダ３０は、ブロックについての変更されたイントラ予測モードインデックステーブルを選択し（１７４Ｂ）、ブロックについての最も可能性の高いイントラ予測モードを決定する（１７６Ｂ）。いくつかの例では、ビデオデコーダ３０は、決定されたコンテキストに基づいてブロックについてのイントラ予測モードインデックステーブルをさらに選択することができる。
【０１７９】
[0189]ビデオデコーダ３０は、選択されたイントラ予測モードが最も可能性の高いモードのうちの１つであることを、コードワードにおける第１のビットまたは一連のビットが示すかどうかを決定する。選択されたモードが最も可能性の高いモードのうちの１つである場合（１７８Ｂの「はい」分岐）、ビデオデコーダ３０は、最も可能性の高いイントラ予測モードを使用して、ブロックを復号する（１８０Ｂ）。ビデオデコーダ３０は、たとえば、最も可能性の高いモードのうちのどれが選択されたモードであるかを示すために、第２のビットまたは一連のビットを受信することができる。一方、選択されたモードが最も可能性の高いモードのうちの１つではないことを第１のビットまたは一連のビットが示す場合（１７８Ｂの「NO」分岐）、ビデオデコーダ３０は、選択された変更されたイントラ予測モードインデックステーブルからのコードワードに基づいて変更されたイントラ予測モード（ＭＩＰＭ）インデックスを決定することができる（１８２Ｂ）。
【０１８０】
[0190]次いで、ビデオデコーダ３０は、変更されたイントラ予測モードインデックスがブロックのコンテキストについての第１の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるかどうかを決定する（１８４Ｂ）。上記に説明されるように、第１の最も可能性の高いモードについてのモードインデックスが第２の最も可能性の高いモードについてのモードインデックスよりも低いと仮定される。したがって、変更されたイントラ予測モードインデックスは、第１の最も可能性の高いイントラ予測モードについてのモードインデックスよりも低い場合、第２の最も可能性の高いイントラ予測モードについてのモードインデックスよりも低い。変更されたイントラ予測モードインデックスが第１の最も可能性の高いイントラ予測モードについてのモードインデックス未満である場合（１８４Ｂの「YES」分岐）、ビデオデコーダ３０は、変更されたイントラ予測モードインデックスに等しいモードインデックスを有するイントラ予測モードを使用してブロックを復号する（１８６Ｂ）。変更されたイントラ予測モードインデックスが第１の最も可能性の高いイントラ予測モードについてのモードインデックス以上である場合（１８４Ｂの「NO」分岐）、ビデオデコーダ３０は、変更されたイントラ予測モードインデックス＋１がブロックのコンテキストについての第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるかどうかを決定する（１８８Ｂ）。変更されたイントラ予測モードインデックス＋１がブロックのコンテキストについての第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満である場合（１８８Ｂの「YES」分岐）、ビデオデコーダ３０は、変更されたイントラ予測モードインデックスよりも１大きいものに等しいモードインデックスを有するイントラ予測モードを使用してブロックを復号する（１９０Ｂ）。
【０１８１】
[0191]変更されたイントラ予測モードインデックスが第２の最も可能性の高いイントラ予測モードについてのモードインデックス以上である場合（１８８Ｂの「NO」分岐）、ビデオデコーダ３０は、変更されたイントラ予測モードインデックスよりも２大きいものに等しいモードインデックスを有するイントラ予測モードを使用してブロックを復号する（１９２Ｂ）。
【０１８２】
[0192]図６、図７Ａ、図７Ｂ、図８、図９Ａ、および図９Ｂの方法は、モードインデックスに対して変更されたイントラ予測モードインデックスをマッピングすることに関して示されているが、表５および表６の例に関して、上記で説明した方法で、変更されたコードワードインデックスをコードワードインデックスに、またはその逆にマッピングするために、方法の基礎をなす技法を使用することもできることを理解されたい。
【０１８３】
[0193]図１０は、イントラ予測モードインデックステーブル２００と変更されたイントラ予測モードインデックステーブル２１０とコンテキストデータ２２０との間の関係を示す構成データ２５０の組の一例を示す概念図である。構成データ２５０は、一般に、構成データ６６（図２）または構成データ８４（図４）に対応し得る。その上、コンテキスト、テーブル、および最も可能性の高いイントラ予測モードを記述する構成データは、所与のビットストリームについてのエンコーダとデコーダの両方で同じでなければならない。
【０１８４】
[0194]図１０の例では、イントラ予測モードインデックステーブル２００は、１組のイントラ予測モード２０２1〜２０２K（イントラ予測モード２０２）と、対応するインデックス２０４1〜２０４Kとを含む。説明のために、および例として、イントラ予測モードインデックステーブル２００が１つのみ示されているが、構成データ２５０は、イントラ予測モードインデックステーブル２００に類似した複数のイントラ予測モードインデックステーブルを含み得ることを理解されたい。ブロックに利用可能なイントラ予測モードの数は、たとえば表５に関して上記で説明したように、ブロックのサイズに依存し得るので、イントラ予測モードインデックステーブルは、すべてが同じサイズを有する必要はない。インデックス２０４は、イントラ予測モードインデックス、または単にモードインデックスとも呼ばれ得る。
【０１８５】
[0195]変更されたイントラ予測モードインデックステーブル２１０は、インデックス２１２1〜２１２K-1、ならびにコードワード２１４1〜２１４K-1を含む。このようにして、変更されたイントラ予測モードインデックステーブル２１０は、イントラモードインデックステーブル２００（Ｋ）よりも１つ少ないエントリ（Ｋ−１）を備える。上記で説明したように、最も可能性の高いイントラ予測モードは、コードワード２１４のうちの１つではなく、シングルビットまたは一連のビットを使用して示され得る。したがって、最も可能性の高いイントラ予測モード以外のイントラ予測モードは、コードワード２１４のうちの１つによって表すことができる。この場合も、図１０の例には、変更されたイントラ予測モードインデックステーブルが１つのみ示されているが、構成データ２５０は、複数の変更されたイントラ予測モードインデックステーブルを含むことができることを理解されたい。さらに、変更されたイントラ予測モードインデックステーブルの数は、必ずしもイントラモードインデックステーブルの数に等しい必要はない。いくつかの例では、同じモードインデックステーブルが１つまたは複数のイントラモードインデックステーブルに対応し得るように、イントラモードインデックステーブルと変更されたイントラ予測モードインデックステーブルとの間に多対１の関係があり得る。
【０１８６】
[0196]さらに、構成データ２５０は、コンテキストエントリ２２２Ａに類似した複数のコンテキストエントリを含むコンテキストデータ２２０を含む。この例では、コンテキストエントリ２２２Ａは、最も可能性の高いイントラモードインジケータ２２４Ａと、イントラ予測モードインデックステーブル識別子２２６Ａと、変更されたイントラ予測モードインデックステーブル識別子２２８Ａと、ブロックコンテキストデータ２３０Ａとを含む。ブロックコンテキストデータ２３０Ａは、コンテキストエントリ２２２Ａが該当するブロックを示す情報を含み得る。たとえば、ブロックコンテキストデータ２３０Ａは、コンテキストエントリ２２２Ａが該当するブロックの１つまたは複数のサイズ、ならびにコンテキストエントリ２２２Ａが該当するブロックの隣接するブロックについてのイントラ予測モードを記述する情報を含み得る。一例として、コンテキストエントリ２２２のうちの１つのブロックコンテキストデータは、コンテキストエントリが１６×１６のピクセルを有するブロックに対応することを示し、この場合、上に隣接するブロックは、水平のイントラ予測モードを使用して符号化され、左に隣接するブロックも、水平のイントラ予測モードを使用して符号化される。
【０１８７】
[0197]最も可能性の高いイントラモードインジケータ２２４Ａは、この例では、イントラ予測モード２０２Mを示す。いくつかの例では、構成データ２５０は、あるブロックが、最も可能性の高いイントラ予測モードを使用して符号化されることを表すために使用するためのシングルビットのコードワードを指定することができる。したがって、ブロックコンテキストデータ２３０Ａに対応するコンテキストを有するブロックでは、この例では、最も可能性の高いイントラ予測モードは、イントラ予測モード２０２Mである。イントラ予測モード２０２Mはコンテキストエントリ２２２Ａについての最も可能性の高いイントラ予測モードであるので、イントラ予測モード２０２Mは、変更されたイントラ予測モードインデックステーブル２１０におけるコードワード２１４のうちの１つにマッピングされる必要はなく、したがって、イントラモードインデックステーブル２００におけるイントラ予測モード２０２よりも、変更されたイントラ予測モードインデックステーブル２１０に１つ少ないコードワードがあり得る。
【０１８８】
[0198]その上、この例では、モードインデックス２０４M未満であるモードインデックス２０４、すなわち、モードインデックス２０４1〜２０４M-1は、変更されたイントラ予測モードインデックステーブル２１０の等しく評価された変更されたイントラ予測モードインデックス２１２にマッピングされる。たとえば、この例では、モードインデックス２０４2がモードインデックス２０４M未満であるため、モードインデックス２０４2は、変更されたイントラ予測モードインデックス２１２2にマッピングされる。したがって、ビデオエンコーダ２０がイントラ予測モード２０２2を使用してブロックコンテキストデータ２３０Ａによって定義されるコンテキストを有するブロックを符号化するとき、ビデオエンコーダ２０は、コードワード２１４2を使用して、ブロックについてのイントラ予測モードをシグナリングすることができる。同様に、ビデオデコーダ３０がブロックコンテキストデータ２３０Ａによって定義されるコンテキストを有するブロックについてのコードワード２１４2を受信するとき、ビデオデコーダ３０は、ブロックの符号化に使用されるイントラ予測モード（および、同様に、ブロックの復号に使用されるイントラ予測モード）がイントラ予測モード２０２2を備えることを決定することができる。同様に、モードインデックス２０４M-1が変更されたイントラ予測モードインデックス２１２M-1にマッピングされるため、イントラ予測モード２０２M-1は、コードワード２１４M-1にマッピングされる。
【０１８９】
[0199]一方、モードインデックス２０４Mよりも大きいモードインデックス２０４、すなわち、この例では、モードインデックス２０４M-1〜２０４Kは、モードインデックスよりも１小さい変更されたイントラ予測モードインデックス２１２にマッピングされる。たとえば、この例では、モードインデックス２０４K-1がモードインデックス２０４Mよりも大きいため、モードインデックス２０４K-1は、変更されたイントラ予測モードインデックス２１２K-2にマッピングされる。したがって、ビデオエンコーダ２０がイントラ予測モード２０２K-1を使用してブロックコンテキストデータ２３０Ａによって定義されるコンテキストを有するブロックを符号化するとき、ビデオエンコーダ２０は、コードワード２１４K-2を使用して、ブロックについてのイントラ予測モードをシグナリングすることができる。同様に、ビデオデコーダ３０がブロックコンテキストデータ２３０Ａによって定義されるコンテキストを有するブロックについてのコードワード２１４K-2を受信するとき、ビデオデコーダ３０は、ブロックの符号化に使用されるイントラ予測モード（および、同様に、ブロックの復号に使用されるイントラ予測モード）がイントラ予測モード２０２K-1を備えることを決定することができる。同様に、モードインデックス２０４M+1が変更されたイントラ予測モードインデックス２１２Mにマッピングされるため、イントラ予測モード２０２M+1は、コードワード２１４Mにマッピングされる。
【０１９０】
[0200]このように、モードインデックスｊにマッピングされるイントラ予測モードが与えられると、ビデオエンコーダ２０は、以下のステップ関数ｆ（ｊ）を使用して、最も可能性の高いモード以外のイントラ予測モードについてのコードワードを決定することができ、式中、ｍは最も可能性の高いイントラ予測モードについてのモードインデックスを表し、コードワード（ｎ）は変更されたイントラ予測モードインデックスｎに割り当てられるコードワードを表す。
【数７】
0005731013.tif 000015
【０１９１】
[0201]同様に、最も可能性の高いモードでない選択されたイントラ予測モードについてのコードワードが与えられると、ビデオデコーダ３０は、以下のステップ関数ｇ（ｎ）を使用して、コードワードにマッピングされるイントラ予測モードを決定することができ、式中、ｍは最も可能性の高いイントラ予測モードについてのモードインデックスを表し、モード（ｊ）はモードインデックスｊにマッピングされるイントラコーディングモードを指す。
【数８】
0005731013.tif 000016
【０１９２】
[0202]これらの概念が、２つの最も可能性の高いモードが使用される例に拡張されるとき、モードインデックスｊにマッピングされるイントラコーディングモードが与えられると、ビデオエンコーダ２０は、以下のステップ関数ｆ（ｊ）を使用して、コードワードを決定することができ、式中、ｍ1は第１の最も可能性の高いイントラ予測モードについてのモードインデックスを表し、ｍ2は第２の最も可能性の高いイントラ予測モードについてのモードインデックスを表し、コードワード（ｎ）は変更されたイントラ予測モードインデックスｎに割り当てられるコードワードを表す。
【数９】
0005731013.tif 000017
【０１９３】
[0203]同様に、コードワードが与えられると、ビデオデコーダ３０は、以下のステップ関数ｇ（ｎ）を使用して、コードワードにマッピングされるイントラ予測モードを決定することができ、式中、ｍ1は第１の最も可能性の高いイントラ予測モードについてのモードインデックスを表し、ｍ2は第２の最も可能性の高いイントラ予測モードについてのモードインデックスを表し、モード（ｊ）はモードインデックスｊにマッピングされるイントラ予測モードを指す。
【数１０】
0005731013.tif 000018
【０１９４】
[0204]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的(non-transitory)である有形（tangible）コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１９５】
[0205]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１９６】
[0206]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つもしくは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１９７】
[0207]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１９８】
[0208]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ビデオデータを復号する方法であって、
現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、
前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択することと、コードワードの前記テーブルは、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、
受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することと、
コードワードの前記テーブルを使用して前記受信されたコードワードに対応する前記変更されたイントラ予測モードインデックスのうちの１つを決定することと、
前記コード化ブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択することと、前記選択されたイントラ予測モードは、前記変更されたイントラ予測モードインデックスのうちの前記決定された１つに対応し、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号することと、
を備える方法。
［Ｃ２］  前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのイントラ予測モードに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定することをさらに備える、Ｃ１に記載の方法。
［Ｃ３］  前記コード化ブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定することをさらに備える、Ｃ１に記載の方法。
［Ｃ４］  前記イントラ予測モードの各々がそれぞれのモードインデックスに対応する、Ｃ１に記載の方法。
［Ｃ５］  前記変更されたイントラ予測モードインデックスのうちの前記決定された１つのモードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス以上であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスよりも２大きいモードインデックスに対応する前記イントラ予測モードを選択することを備える、Ｃ４に記載の方法。
［Ｃ６］  前記変更されたイントラ予測モードインデックスのうちの前記決定された１つが前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスに等しいモードインデックスを有する前記イントラ予測モードを選択することを備える、Ｃ４に記載の方法。
［Ｃ７］  前記変更されたイントラ予測モードインデックスのうちの前記決定された１つのモードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスよりも１大きいモードインデックスに対応する前記イントラ予測モードを選択することを備える、Ｃ４に記載の方法。
［Ｃ８］  ビデオデコーダを備え、前記ビデオデコーダは、
現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、
前記現在のブロックのコンテキストに基づいてコードワードのテーブルを選択し、コードワードの前記テーブルは、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、
受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行し、
コードワードの前記テーブルを使用して前記受信されたコードワードに対応する前記変更されたイントラ予測モードインデックスのうちの１つを決定し、
前記コード化ブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択し、前記選択されたイントラ予測モードは、前記変更されたイントラ予測モードインデックスのうちの前記決定された１つに対応し、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号する
ように構成される、ビデオデータを復号するための装置。
［Ｃ９］  前記ビデオデコーダは、前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのイントラ予測モードに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定するようにさらに構成される、Ｃ８に記載の装置。
［Ｃ１０］  前記ビデオデコーダは、前記コード化ブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定するようにさらに構成される、Ｃ８に記載の装置。
［Ｃ１１］  前記イントラ予測モードの各々がそれぞれのモードインデックスに対応する、Ｃ８に記載の装置。
［Ｃ１２］  前記変更されたイントラ予測モードインデックスのうちの前記決定された１つのモードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス以上であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスよりも２大きいモードインデックスに対応する前記イントラ予測モードを選択することを備える、Ｃ１１に記載の装置。
［Ｃ１３］  前記変更されたイントラ予測モードインデックスのうちの前記決定された１つが前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき、前記ビデオデコーダは、前記変更されたイントラ予測モードインデックスに等しいモードインデックスを有する前記イントラ予測モードを選択することによって、前記イントラ予測モードを選択するようにさらに構成される、Ｃ１１に記載の装置。
［Ｃ１４］  前記変更されたイントラ予測モードインデックスのうちの前記決定された１つのモードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスよりも１大きいモードインデックスに対応する前記イントラ予測モードを選択することを備える、Ｃ１１に記載の装置。
［Ｃ１５］  前記装置は、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信デバイスと、
のうちの少なくとも１つを備える、Ｃ８に記載の装置。
［Ｃ１６］  ビデオデータを符号化する方法であって、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、
前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択することと、コードワードの前記テーブルは、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外の前記イントラ予測モードのうちの１つを使用して、前記現在のブロックを符号化することと、
コードワードの前記テーブルを使用して前記イントラ予測モードのうちの前記１つに対応する前記変更されたイントラ予測モードインデックスのうちの１つを決定することと、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記選択されたコードワードのテーブルから、前記変更されたイントラ予測モードインデックスのうちの前記１つに対応するコードワードを符号化することと、
を備える方法。
［Ｃ１７］  前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのモードに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定することをさらに備える、Ｃ１６に記載の方法。
［Ｃ１８］  前記現在のブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定することをさらに備える、Ｃ１６に記載の方法。
［Ｃ１９］  前記イントラ予測モードの各々がそれぞれのモードインデックスに対応する、Ｃ１６に記載の方法。
［Ｃ２０］  前記イントラ予測モードのうちの１つについてのモードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのモードインデックスよりも大きく、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックスよりも大きいとき、前記変更されたイントラ予測モードインデックスのうちの前記１つを決定することは、前記最も可能性の高いイントラ予測モードについての前記モードインデックスよりも２小さい前記変更されたイントラ予測モードインデックスのうちの１つを決定することを備える、Ｃ１９に記載の方法。
［Ｃ２１］  前記イントラ予測モードのうちの１つについてのモードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき、前記変更されたイントラ予測モードインデックスのうちの前記１つを決定することは、前記最も可能性の高いイントラ予測モードについての前記モードインデックスに等しい前記変更されたイントラ予測モードインデックスのうちの１つを決定することを備える、Ｃ１９に記載の方法。
［Ｃ２２］  前記イントラ予測モードのうちの１つについてのモードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき、前記変更されたイントラ予測モードインデックスのうちの前記１つを決定することは、前記最も可能性の高いイントラ予測モードについての前記モードインデックスよりも１小さい前記変更されたイントラ予測モードインデックスのうちの１つを決定することを備える、Ｃ１９に記載の方法。
［Ｃ２３］  ビデオエンコーダを備え、前記ビデオエンコーダは、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、
前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択し、コードワードの前記テーブルは、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外の前記イントラ予測モードのうちの１つを使用して、前記現在のブロックを符号化し、
コードワードの前記テーブルを使用して前記イントラ予測モードのうちの１つに対応する前記変更されたイントラ予測モードインデックスのうちの１つを決定し、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記選択されたコードワードのテーブルからコードワードを符号化するように構成され、前記コードワードが前記変更されたイントラ予測モードインデックスのうちの前記１つに対応する、
ビデオデータを符号化するための装置。
［Ｃ２４］  前記ビデオエンコーダは、前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのモードに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定するようにさらに構成される、Ｃ２３に記載の装置。
［Ｃ２５］  前記ビデオエンコーダは、前記現在のブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定するようにさらに構成される、Ｃ２３に記載の装置。
［Ｃ２６］  前記イントラ予測モードの各々がそれぞれのモードインデックスに対応する、Ｃ２３に記載の装置。
［Ｃ２７］  前記イントラ予測モードのうちの１つについてのモードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのモードインデックスよりも大きく、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックスよりも大きいとき、前記ビデオエンコーダは、前記最も可能性の高いイントラ予測モードについての前記モードインデックスよりも２小さい前記変更されたイントラ予測モードインデックスのうちの１つを決定することによって、前記変更されたイントラ予測モードインデックスのうちの前記１つを決定するようにさらに構成される、Ｃ２６に記載の装置。
［Ｃ２８］  前記イントラ予測モードのうちの１つについてのモードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき、前記ビデオエンコーダは、前記最も可能性の高いイントラ予測モードについての前記モードインデックスに等しい前記変更されたイントラ予測モードインデックスのうちの１つを決定することによって、前記変更されたイントラ予測モードインデックスのうちの前記１つを決定するようにさらに構成される、Ｃ２３に記載の装置。
［Ｃ２９］  前記イントラ予測モードのうちの１つについてのモードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき、前記ビデオエンコーダは、前記最も可能性の高いイントラ予測モードについての前記モードインデックスよりも１小さい前記変更されたイントラ予測モードインデックスのうちの１つを決定することによって、前記変更されたイントラ予測モードインデックスのうちの前記１つを決定するようにさらに構成される、Ｃ２３に記載の装置。
［Ｃ３０］  前記装置は、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信デバイスと、
のうちの少なくとも１つを備える、Ｃ２３に記載の装置。
［Ｃ３１］  ビデオデータを復号するための装置であって、
現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定する手段と、
前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択する手段と、コードワードの前記テーブルは、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、
受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行する手段と、
コードワードの前記テーブルを使用して前記受信されたコードワードに対応する前記変更されたイントラ予測モードインデックスのうちの１つを決定する手段と、
前記コード化ブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択する手段と、前記選択されたイントラ予測モードは、前記変更されたイントラ予測モードインデックスのうちの前記決定された１つに対応し、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号する手段と、
を備える装置。
［Ｃ３２］  前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとの少なくとも１つについてのイントラ予測モードに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定する手段
をさらに備える、Ｃ３１に記載の装置。
［Ｃ３３］  前記コード化ブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定する手段
をさらに備える、Ｃ３１に記載の装置。
［Ｃ３４］  ビデオデータを符号化するための装置であって、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定する手段と、
前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択する手段と、コードワードの前記テーブルは、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外の前記イントラ予測モードのうちの１つを使用して、前記現在のブロックを符号化する手段と、
コードワードの前記テーブルを使用して前記イントラ予測モードのうちの前記１つに対応する前記変更されたイントラ予測モードインデックスのうちの１つを決定する手段と、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記選択されたコードワードのテーブルからコードワードを符号化する手段と、前記コードワードは前記変更されたイントラ予測モードインデックスのうちの前記１つに対応する、
を備える装置。
［Ｃ３５］  前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのモードに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定する手段
をさらに備える、Ｃ３４に記載の装置。
［Ｃ３６］  前記現在のブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定する手段
をさらに備える、Ｃ３４に記載の装置。
［Ｃ３７］  実行されると、１つまたは複数のプロセッサに、
前記現在のブロックのコンテキストに基づいて、ビデオデータのコード化ブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定させ、
前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択させ、コードワードの前記テーブルは、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、
受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行させ、
コードワードの前記テーブルを使用して前記受信されたコードワードに対応する前記変更されたイントラ予測モードインデックスのうちの１つを決定させ、
前記コード化ブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択させ、前記選択されたイントラ予測モードは、前記変更されたイントラ予測モードインデックスのうちの前記決定された１つに対応し、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号させる
命令を記憶するコンピュータ可読記憶媒体。
［Ｃ３８］  実行されると、１つまたは複数のプロセッサに、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定させ、
前記現在のブロックの前記コンテキストに基づいてコードワードのテーブルを選択させ、コードワードの前記テーブルは、前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードに対応する変更されたイントラ予測モードインデックスに対応する複数のコードワードを備え、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外の前記イントラ予測モードのうちの１つを使用して、前記現在のブロックを符号化させ、
コードワードの前記テーブルを使用して前記イントラ予測モードのうちの前記１つに対応する前記変更されたイントラ予測モードインデックスのうちの１つを決定させ、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記選択されたコードワードのテーブルから、前記変更されたイントラ予測モードインデックスのうちの前記１つに対応するコードワードを符号化させる
命令を記憶するコンピュータ可読記憶媒体。
［Ｃ３９］  ビデオデータを復号する方法であって、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、
前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択することと、コードワードの前記テーブルは、コードワードインデックスに対応する複数のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、
受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することと、
コードワードの前記テーブルを使用して前記受信されたコードワードに対応する変更されたコードワードインデックスを決定することと、
前記コード化ブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択することと、前記選択されたイントラ予測モードは、前記変更されたコードワードインデックス、前記第１の最も可能性の高いイントラ予測モード、および前記第２の最も可能性の高いイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号することと、
を備える方法。
［Ｃ４０］  前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのイントラ予測モードに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定することをさらに備える、Ｃ３９に記載の方法。
［Ｃ４１］  前記コード化ブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定することをさらに備える、Ｃ３９に記載の方法。
［Ｃ４２］  前記変更されたコードワードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのコードワードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのコードワードインデックス以上であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラ予測モードインデックスよりも２大きいコードワードインデックスに対応する前記イントラ予測モードを選択することを備える、Ｃ３９に記載の方法。
［Ｃ４３］  前記変更されたコードワードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのコードワードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのコードワードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたコードワードインデックスに等しいコードワードインデックスを有する前記イントラ予測モードを選択することを備える、Ｃ３９に記載の方法。
［Ｃ４４］  前記変更されたコードワードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラコードワードインデックスよりも１大きいコードワードインデックスに対応する前記イントラ予測モードを選択することを備える、Ｃ３９に記載の方法。
［Ｃ４５］  イントラ予測モードに対する前記コードワードインデックスのマッピングを動的に調整すること
をさらに備える、Ｃ３９に記載の方法。
［Ｃ４６］  ビデオデコーダを備え、前記ビデオデコーダは、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、
前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択し、コードワードの前記テーブルは、コードワードインデックスに対応する複数のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、
受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行し、
コードワードの前記テーブルを使用して前記受信されたコードワードに対応する変更されたコードワードインデックスを決定し、
前記コード化ブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択し、前記選択されたイントラ予測モードは、前記変更されたコードワードインデックス、前記第１の最も可能性の高いイントラ予測モード、および前記第２の最も可能性の高いイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号する
ように構成される、ビデオデータを復号するための装置。
［Ｃ４７］  前記ビデオデコーダは、前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのイントラ予測モードに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定するようにさらに構成される、Ｃ４６に記載の装置。
［Ｃ４８］  前記ビデオデコーダは、前記コード化ブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定するようにさらに構成される、Ｃ４６に記載の装置。
［Ｃ４９］  前記変更されたコードワードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのコードワードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのコードワードインデックス以上であるとき、前記イントラ予測モードを選択することは、前記変更されたイントラコードワードインデックスよりも２大きいコードワードインデックスに対応する前記イントラ予測モードを選択することを備える、Ｃ４６に記載の装置。
［Ｃ５０］  前記変更されたコードワードインデックスが前記第１の最も可能性の高いイントラ予測モードについてのコードワードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードについてのコードワードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたコードワードインデックスに等しいコードワードインデックスを有する前記イントラ予測モードを選択することを備える、Ｃ４６に記載の装置。
［Ｃ５１］  前記変更されたコードワードインデックス＋１が前記第１の最も可能性の高いイントラ予測モードについてのモードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードについてのモードインデックス未満であるとき、前記イントラ予測モードを選択することは、前記変更されたコードワードインデックスよりも１大きいコードワードインデックスに対応する前記イントラ予測モードを選択することを備える、Ｃ４６に記載の装置。
［Ｃ５２］  前記ビデオデコーダは、イントラ予測モードに対する前記コードワードインデックスのマッピングを動的に調整するようにさらに構成される、Ｃ４６に記載の装置。
［Ｃ５３］  前記装置は、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、Ｃ４６に記載の装置。
［Ｃ５４］  ビデオを復号するための装置であって、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定する手段と、
前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択する手段と、コードワードの前記テーブルは、コードワードインデックスに対応する複数のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、
受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行する手段と、
コードワードの前記テーブルを使用して前記受信されたコードワードに対応する変更されたコードワードインデックスを決定するための手段と、
前記コード化ブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択する手段と、前記選択されたイントラ予測モードは、前記変更されたコードワードインデックス、前記第１の最も可能性の高いイントラ予測モード、および前記第２の最も可能性の高いイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号する手段と、
を備える装置。
［Ｃ５５］  前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのイントラ予測モードに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定する手段をさらに備える、Ｃ５４に記載の装置。
［Ｃ５６］  前記コード化ブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記コンテキストを決定する手段をさらに備える、Ｃ５４に記載の装置。
［Ｃ５７］  実行されると、１つまたは複数のプロセッサに、
現在のブロックのコンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定させ、
前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択させ、コードワードの前記テーブルは、コードワードインデックスに対応する複数のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、
受信されたコードワードを決定するために、コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行させ、
コードワードの前記テーブルを使用して前記受信されたコードワードに対応する変更されたコードワードインデックスを決定させ、
前記コード化ブロックの復号に使用するために、前記第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モード以外のイントラ予測モードを選択させ、前記選択されたイントラ予測モードは、前記変更されたコードワードインデックス、前記第１の最も可能性の高いイントラ予測モード、および前記第２の最も可能性の高いイントラ予測モードに基づいて選択されたコードワードインデックスに対応し、
前記選択されたイントラ予測モードを使用して、前記現在のブロックを復号させる
命令を記憶するコンピュータ可読記憶媒体。
［Ｃ５８］  ビデオデータを符号化する方法であって、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定することと、
前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択することと、コードワードの前記テーブルは、コードワードインデックスに対応する複数のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外の前記イントラ予測モードのうちの１つを使用して、前記現在のブロックを符号化することと、
前記現在のブロックを符号化するために使用される前記イントラ予測モードのうちの前記１つの前記コードワードインデックス、前記第１の最も可能性の高いモードにマッピングされたコードワードインデックス、および前記第２の最も可能性の高いモードにマッピングされたコードワードインデックスに基づいて、変更されたコードワードインデックスを決定することと、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記選択されたコードワードのテーブルから、前記変更されたイントラ予測モードインデックスのうちの前記１つに対応するコードワードを符号化することと、
を備える方法。
［Ｃ５９］  前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのモードに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定することをさらに備える、Ｃ５８に記載の方法。
［Ｃ６０］  前記現在のブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定することをさらに備える、Ｃ５８に記載の方法。
［Ｃ６１］  前記現在のブロックの符号化に使用される前記イントラ予測モードのうちの前記１つの前記コードワードインデックスが前記第１の最も可能性の高いイントラ予測モードにマッピングされたコードワードインデックスよりも大きく、前記第２の最も可能性の高いイントラ予測モードにマッピングされたコードワードインデックスよりも大きいとき、前記変更されたコードワードインデックスを決定することは、前記コードワードインデックスよりも２小さい前記変更されたコードワードインデックスを決定することを備える、Ｃ５８に記載の方法。
［Ｃ６２］  前記現在のブロックの符号化に使用される前記イントラ予測モードのうちの前記１つの前記コードワードインデックスが、前記第１の最も可能性の高いイントラ予測モードにマッピングされたコードワードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードにマッピングされたモードインデックス未満であるとき、前記変更されたコードワードインデックスを決定することは、前記コードワードインデックスに等しい前記変更されたコードワードインデックスを決定することを備える、Ｃ５８に記載の方法。
［Ｃ６３］  前記現在のブロックの符号化に使用される前記イントラ予測モードのうちの前記１つの前記コードワードインデックスが前記第１の最も可能性の高いイントラ予測モードにマッピングされたコードワードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードにマッピングされたコードワードインデックス未満であるとき、前記変更されたコードワードインデックスを決定することは、前記コードワードインデックスよりも１小さい前記変更されたコードワードインデックスを決定することを備える、Ｃ５８に記載の方法。
［Ｃ６４］  イントラ予測モードに対する前記コードワードインデックスのマッピングを動的に調整すること
をさらに備える、Ｃ５８に記載の方法。
［Ｃ６５］  ビデオエンコーダを備え、前記ビデオエンコーダは、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定し、
前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択し、コードワードの前記テーブルは、コードワードインデックスに対応する複数のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外の前記イントラ予測モードのうちの１つを使用して、前記現在のブロックを符号化し、
前記現在のブロックを符号化するために使用される前記イントラ予測モードのうちの前記１つの前記コードワードインデックス、前記第１の最も可能性の高いモードにマッピングされたコードワードインデックス、および前記第２の最も可能性の高いモードにマッピングされたコードワードインデックスに基づいて、変更されたコードワードインデックスを決定し、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記選択されたコードワードのテーブルから、前記変更されたイントラ予測モードインデックスのうちの前記１つに対応するコードワードを符号化するように構成される、
ビデオデータを符号化するための装置。
［Ｃ６６］  前記ビデオエンコーダは、前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとの少なくとも１つについてのモードに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定するようにさらに構成される、Ｃ６５に記載の装置。
［Ｃ６７］  前記ビデオエンコーダは、前記現在のブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定するようにさらに構成される、Ｃ６５に記載の装置。
［Ｃ６８］  前記現在のブロックの符号化に使用される前記イントラ予測モードのうちの前記１つの前記コードワードインデックスが前記第１の最も可能性の高いイントラ予測モードにマッピングされたコードワードインデックスよりも大きく、前記第２の最も可能性の高いイントラ予測モードにマッピングされたコードワードインデックスよりも大きいとき、前記変更されたコードワードインデックスを決定することは、前記コードワードインデックスよりも２小さい前記変更されたコードワードインデックスを決定することを備える、Ｃ６５に記載の装置。
［Ｃ６９］  前記現在のブロックの符号化に使用される前記イントラ予測モードのうちの前記１つの前記コードワードインデックスが、前記第１の最も可能性の高いイントラ予測モードにマッピングされたコードワードインデックス未満であり、前記第２の最も可能性の高いイントラ予測モードにマッピングされたモードインデックス未満であるとき、前記変更されたコードワードインデックスを決定することは、前記コードワードインデックスに等しい前記変更されたコードワードインデックスを決定することを備える、Ｃ６５に記載の装置。
［Ｃ７０］  前記現在のブロックの符号化に使用される前記イントラ予測モードのうちの前記１つの前記コードワードインデックスが前記第１の最も可能性の高いイントラ予測モードにマッピングされたコードワードインデックス以上であり、前記第２の最も可能性の高いイントラ予測モードにマッピングされたコードワードインデックス未満であるとき、前記変更されたコードワードインデックスを決定することは前記コードワードインデックスよりも１小さい前記変更されたコードワードインデックスを決定することを備える、Ｃ６５に記載の装置。
［Ｃ７１］  イントラ予測モードに対する前記コードワードインデックスのマッピングを動的に調整すること
をさらに備える、Ｃ６５に記載の装置。
［Ｃ７２］  前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、Ｃ６５に記載の装置。
［Ｃ７３］  ビデオを符号化するための装置であって、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定する手段と、
前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択する手段と、コードワードの前記テーブルは、コードワードインデックスに対応する複数のコードワードを備え、前記コードワードインデックスがイントラ予測モードにマッピングされ、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外の前記イントラ予測モードのうちの１つを使用して、前記現在のブロックを符号化する手段と、
前記現在のブロックを符号化するために使用される前記イントラ予測モードのうちの前記１つの前記コードワードインデックス、前記第１の最も可能性の高いモードにマッピングされたコードワードインデックス、および前記第２の最も可能性の高いモードにマッピングされたコードワードインデックスに基づいて、変更されたコードワードインデックスを決定する手段と、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記選択されたコードワードのテーブルから、前記変更されたイントラ予測モードインデックスのうちの前記１つに対応するコードワードを符号化する手段と、
を備える装置。
［Ｃ７４］  前記現在のブロックに対して左に隣接するブロックと前記現在のブロックに対して上に隣接するブロックとのうちの少なくとも１つについてのモードに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定する手段をさらに備える、Ｃ７３に記載の装置。
［Ｃ７５］  前記現在のブロックのサイズに少なくとも部分的に基づいて、前記現在のブロックについての前記符号化コンテキストを決定する手段をさらに備える、Ｃ７３に記載の装置。
［Ｃ７６］  実行されると、１つまたは複数のプロセッサに、
現在のブロックの符号化コンテキストに基づいて、ビデオデータの前記現在のブロックについての第１の最も可能性の高いイントラ予測モードおよび第２の最も可能性の高いイントラ予測モードを決定させ、
前記現在のブロックの前記コンテキストに基づいて、コードワードのテーブルを選択させ、コードワードの前記テーブルは、コードワードインデックスに対応する複数のコードワードを備え、前記コードワードインデックスはイントラ予測モードにマッピングされ、
前記第１の最も可能性の高いイントラ予測モードおよび前記第２の最も可能性の高いイントラ予測モード以外の前記イントラ予測モードのうちの１つを使用して、前記現在のブロックを符号化させ、
前記現在のブロックを符号化するために使用される前記イントラ予測モードのうちの前記１つの前記コードワードインデックス、前記第１の最も可能性の高いモードにマッピングされたコードワードインデックス、および前記第２の最も可能性の高いモードにマッピングされたコードワードインデックスに基づいて、変更されたコードワードインデックスを決定させ、
コンテキストベース適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを実行することによって、前記選択されたコードワードのテーブルから、前記変更されたイントラ予測モードインデックスのうちの前記１つに対応するコードワードを符号化させる
る命令を記憶するコンピュータ可読記憶媒体。
【図１】
0005731013.tif 000019
【図２】
0005731013.tif 000020
【図３】
0005731013.tif 000021
【図４】
0005731013.tif 000022
【図５Ａ】
0005731013.tif 000023
【図５Ｂ】
0005731013.tif 000024
【図６】
0005731013.tif 000025
【図７Ａ】
0005731013.tif 000026
【図７Ｂ】
0005731013.tif 000027
【図８】
0005731013.tif 000028
【図９Ａ】
0005731013.tif 000029
【図９Ｂ】
0005731013.tif 000030
【図１０】
0005731013.tif 000031