(57)【特許請求の範囲】
【請求項１】
ビデオエンコーダがビデオブロック用の変換係数を符号化する方法であって、
前記ビデオブロックに関連付けられた変換係数の変換ブロック内の最後有意係数の位置を示すバイナリストリングを決定することと、前記バイナリストリングは、プレフィックス部分およびサフィックス部分を含む、
前記変換ブロックのサイズに基づいて前記バイナリストリングの前記プレフィックス部分におけるバイナリインデックス用のコンテキストを決定することと、前記コンテキストが、下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って少なくとも２つのバイナリインデックスに割り当てられ、
【数１】
0005955974.tif 000026
ｎが前記バイナリインデックスであり、＞＞がバイナリシフト演算を表し、Ｔが前記変換ブロックの寸法であり、前記少なくとも２つのバイナリインデックスの各々が異なる変換ブロックのサイズに関連付けられる、
決定された前記コンテキストに少なくとも部分的に基づいて、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して前記バイナリストリングを符号化することと
を備える、方法。
【請求項２】
前記コンテキストが、１６×１６の変換ブロックの最後のバイナリインデックス、及び３２×３２の変換ブロックの最後のバイナリインデックスに割り当てられる、請求項１に記載の方法。
【請求項３】
第２のコンテキストが、前記１６×１６の変換ブロックの少なくとも２つのバイナリインデックスに割り当てられる、請求項２に記載の方法。
【請求項４】
前記変換ブロックが第１の変換ブロックであり、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記バイナリストリングを符号化することが、前記バイナリストリングの値に基づいて前記コンテキストを更新することを含み、前記方法が、
第２の変換ブロック内の最後有意係数の位置を示す第２のバイナリストリングを決定することと、
更新された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記第２のバイナリストリングを符号化することと
を更に備え、前記第１の変換ブロックと前記第２の変換ブロックが異なるサイズである、請求項１に記載の方法。
【請求項５】
ビデオデコーダが変換係数を復号する方法であって、
ビデオブロックに関連付けられた変換係数の変換ブロック内の最後有意係数の位置を示す符号化されたバイナリストリングを取得することと、前記符号化されたバイナリストリングは、プレフィックス部分およびサフィックス部分を含み、前記符号化されたバイナリストリングはコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して符号化される、
前記変換ブロックのサイズに基づいて前記符号化されたバイナリストリングの前記プレフィックス部分におけるバイナリインデックス用のコンテキストを決定することと、前記コンテキストは、下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って少なくとも２つのバイナリインデックスに割り当てられ、
【数２】
0005955974.tif 000027
ｎが前記バイナリインデックスであり、＞＞がバイナリシフト演算を表し、Ｔが前記変換ブロックの寸法であり、前記少なくとも２つのバイナリインデックスの各々は異なる変換ブロックサイズに関連付けられる、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記符号化されたバイナリストリングを復号することと、
前記復号されたバイナリストリングに基づいて前記ビデオブロックに関連付けられた前記変換係数の変換ブロック中の前記最後有意係数の位置を決定することと
を備える、方法。
【請求項６】
前記コンテキストが、１６×１６の変換ブロックの最後のバイナリインデックス、及び３２×３２の変換ブロックの最後のバイナリインデックスに割り当てられる、請求項５に記載の方法。
【請求項７】
第２のコンテキストが、前記１６×１６の変換ブロックの少なくとも２つのバイナリインデックスに割り当てられる、請求項６に記載の方法。
【請求項８】
前記変換ブロックは第１の変換ブロックであり、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記符号化されたバイナリストリングを復号することは、前記符号化されたバイナリストリングの値に基づいて前記コンテキストを更新することを含み、
第２の変換ブロック内の最後有意係数の位置を示す第２の符号化されたバイナリストリングを取得することと、
更新された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記第２の符号化されたバイナリストリングを復号することと
を更に備え、前記第１の変換ブロックと前記第２の変換ブロックは異なるサイズである、請求項５に記載の方法。
【請求項９】
ビデオブロック用の変換係数を符号化するように構成された装置であって、
前記ビデオブロックに関連付けられた変換係数の変換ブロック内の最後有意係数の位置を示すバイナリストリングを決定するための手段と、前記バイナリストリングは、プレフィックス部分およびサフィックス部分を含む、
前記変換ブロックのサイズに基づいて前記バイナリストリングの前記プレフィックス部分におけるバイナリインデックス用のコンテキストを決定するための手段と、前記コンテキストは、下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って少なくとも２つのバイナリインデックスに割り当てられ、
【数３】
0005955974.tif 000028
ｎが前記バイナリインデックスであり、＞＞がバイナリシフト演算を表し、Ｔが前記変換ブロックの寸法であり、前記少なくとも２つのバイナリインデックスの各々は異なる変換ブロックのサイズに関連付けられる、
決定された前記コンテキストに少なくとも部分的に基づいて、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して前記バイナリストリングを符号化するための手段と
を備える、装置。
【請求項１０】
前記変換ブロックが第１の変換ブロックであり、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記バイナリストリングを符号化することは、前記バイナリストリングの値に基づいて前記コンテキストを更新することを含み、
第２の変換ブロック内の最後有意係数の位置を示す第２のバイナリストリングを決定するための手段と、
更新された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記第２のバイナリストリングをエントロピーコード化するための手段と
を更に備え、前記第１の変換ブロックと前記第２の変換ブロックが異なるサイズである、請求項９に記載の装置。
【請求項１１】
ビデオブロック用の変換係数を復号するように構成された装置であって、
前記ビデオブロックに関連付けられた変換係数の変換ブロック内の最後有意係数の位置を示す符号化されたバイナリストリングを取得するための手段と、前記符号化されたバイナリストリングは、プレフィックス部分およびサフィックス部分を含み、前記符号化されたバイナリストリングは、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して符号化される、
前記変換ブロックのサイズに基づいて前記符号化されたバイナリストリングの前記プレフィックス部分におけるバイナリインデックス用のコンテキストを決定するための手段と、前記コンテキストが、下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って少なくとも２つのバイナリインデックスに割り当てられ、
【数４】
0005955974.tif 000029
ｎが前記バイナリインデックスであり、＞＞がバイナリシフト演算を表し、Ｔが前記変換ブロックの寸法であり、前記少なくとも２つのバイナリインデックスの各々が異なる変換ブロックのサイズに関連付けられる、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記符号化されたバイナリストリングを復号するための手段と、
前記復号されたバイナリストリングに基づいて前記ビデオブロックに関連付けられた前記変換係数の変換ブロック中の前記最後有意係数の位置を決定するための手段と
を備える、装置。
【請求項１２】
前記変換ブロックは第１の変換ブロックであり、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記符号化されたバイナリストリングを復号することは、前記符号化されたバイナリストリングの値に基づいて前記コンテキストを更新することを含み、
第２の変換ブロック内の最後有意係数の位置を示す第２の符号化されたバイナリストリングを取得するための手段と、
更新された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記第２の符号化されたバイナリストリングを復号するための手段と
を更に備え、前記第１の変換ブロックと前記第２の変換ブロックとは異なるサイズである、請求項１１に記載の装置。
【請求項１３】
ビデオブロック用の変換係数を符号化するように構成された装置であって、
前記変換係数を記憶するように構成されたメモリと、
前記ビデオブロックに関連付けられた変換係数の変換ブロック内の最後有意係数の位置を示すバイナリストリングを決定することと、前記バイナリストリングは、プレフィックス部分およびサフィックス部分を含む、
前記変換ブロックのサイズに基づいて前記バイナリストリングの前記プレフィックス部分におけるバイナリインデックス用のコンテキストを決定することと、前記コンテキストが、下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って少なくとも２つのバイナリインデックスに割り当てられ、
【数５】
0005955974.tif 000030
ｎが前記バイナリインデックスであり、＞＞がバイナリシフト演算を表し、Ｔが前記変換ブロックの寸法であり、前記少なくとも２つのバイナリインデックスの各々は異なる変換ブロックのサイズに関連付けられる、
決定された前記コンテキストに少なくとも部分的に基づいて、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して前記バイナリストリングを符号化することと
を行うように構成されたビデオエンコーダと
を備える、装置。
【請求項１４】
前記コンテキストは、１６×１６の変換ブロックの最後のバイナリインデックス、及び３２×３２の変換ブロックの最後のバイナリインデックスに割り当てられる、請求項１３に記載の装置。
【請求項１５】
第２のコンテキストは、前記１６×１６の変換ブロックの少なくとも２つのバイナリインデックスに割り当てられる、請求項１４に記載の装置。
【請求項１６】
前記変換ブロックが第１の変換ブロックであり、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記バイナリストリングを符号化することは、前記バイナリストリングの値に基づいて前記コンテキストを更新することを含み、前記ビデオエンコーダが、
第２の変換ブロック内の最後有意係数の位置を示す第２のバイナリストリングを決定することと、
更新された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記第２のバイナリストリングを符号化することと
を行うように更に構成され、前記第１の変換ブロックと前記第２の変換ブロックが異なるサイズである、請求項１３に記載の装置。
【請求項１７】
ビデオブロック用の変換係数を復号するように構成された装置であって、
前記変換係数を記憶するように構成されたメモリと、
前記ビデオブロックに関連付けられた変換係数の変換ブロック内の最後有意係数の位置を示す符号化されたバイナリストリングを取得することと、前記符号化されたバイナリストリングは、プレフィックス部分およびサフィックス部分を含み、前記符号化されたバイナリストリングは、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して符号化される、
前記変換ブロックのサイズに基づいて前記符号化されたバイナリストリングの前記プレフィックス部分におけるバイナリインデックス用のコンテキストを決定することと、前記コンテキストは、下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って少なくとも２つのバイナリインデックスに割り当てられ、
【数６】
0005955974.tif 000031
ｎが前記バイナリインデックスであり、＞＞がバイナリシフト演算を表し、Ｔが前記変換ブロックの寸法であり、前記少なくとも２つのバイナリインデックスの各々は異なる変換ブロックのサイズに関連付けられる、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記符号化されたバイナリストリングを復号することと、
前記復号されたバイナリストリングに基づいて前記ビデオブロックに関連付けられた前記変換係数の変換ブロック中の前記最後有意係数の位置を決定することと
を行うように構成されたビデオデコーダと、を備える、装置。
【請求項１８】
前記コンテキストが、１６×１６の変換ブロックの最後のバイナリインデックス、及び３２×３２の変換ブロックの最後のバイナリインデックスに割り当てられる、請求項１７に記載の装置。
【請求項１９】
第２のコンテキストが、前記１６×１６の変換ブロックの少なくとも２つのバイナリインデックスに割り当てられる、請求項１８に記載の装置。
【請求項２０】
前記変換ブロックが第１の変換ブロックであり、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記符号化されたバイナリストリングを復号することが、前記符号化されたバイナリストリングの値に基づいて前記コンテキストを更新することを含み、前記ビデオデコーダが、
第２の変換ブロック内の最後有意係数の位置を示す第２の符号化されたバイナリストリングを取得することと、
更新された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記第２の符号化されたバイナリストリングを復号することと
を行うように更に構成され、前記第１の変換ブロックと前記第２の変換ブロックが異なるサイズである、請求項１７に記載の装置。
【請求項２１】
実行されると、ビデオ符号化装置の１つ以上のプロセッサに、
ビデオブロックに関連付けられた変換係数の変換ブロック内の最後有意係数の位置を示すバイナリストリングを決定することと、前記バイナリストリングは、プレフィックス部分およびサフィックス部分を含む、
前記変換ブロックのサイズに基づいて前記バイナリストリングの前記プレフィックス部分におけるバイナリインデックス用のコンテキストを決定することと、前記コンテキストは、下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って少なくとも２つのバイナリインデックスに割り当てられ、
【数７】
0005955974.tif 000032
ｎが前記バイナリインデックスであり、＞＞がバイナリシフト演算を表し、Ｔが前記変換ブロックの寸法であり、前記少なくとも２つのバイナリインデックスの各々は異なる変換ブロックのサイズに関連付けられる、
決定された前記コンテキストに少なくとも部分的に基づいて、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して前記バイナリストリングを符号化することと
を行わせる命令を記憶する、コンピュータ可読記憶媒体。
【請求項２２】
前記コンテキストが、１６×１６の変換ブロックの最後のバイナリインデックス、及び３２×３２の変換ブロックの最後のバイナリインデックスに割り当てられる、請求項２１に記載のコンピュータ可読記憶媒体。
【請求項２３】
第２のコンテキストは、前記１６×１６の変換ブロックの少なくとも２つのバイナリインデックスに割り当てられる、請求項２２に記載のンピュータ可読記憶媒体。
【請求項２４】
前記変換ブロックが第１の変換ブロックであり、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記バイナリストリングを符号化することは、前記バイナリストリングの値に基づいて前記コンテキストを更新することを含み、前記命令が、実行されると、ビデオ符号化装置の１つ以上のプロセッサに、
第２の変換ブロック内の最後有意係数の位置を示す第２のバイナリストリングを決定することと、
更新された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記第２のバイナリストリングを符号化することと
を更に行わせ、前記第１の変換ブロックと前記第２の変換ブロックが異なるサイズである、請求項２１に記載のコンピュータ可読記憶媒体。
【請求項２５】
実行されると、ビデオ復号装置の１つ以上のプロセッサに、
ビデオブロックに関連付けられた変換係数の変換ブロック内の最後有意係数の位置を示す符号化されたバイナリストリングを取得することと、前記符号化されたバイナリストリングは、プレフィックス部分およびサフィックス部分を含み、前記符号化されたバイナリストリングはコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して符号化される、
前記変換ブロックのサイズに基づいて前記符号化されたバイナリストリングの前記プレフィックス部分におけるバイナリインデックス用のコンテキストを決定することと、前記コンテキストは、下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って少なくとも２つのバイナリインデックスに割り当てられ、
【数８】
0005955974.tif 000033
ｎが前記バイナリインデックスであり、＞＞がバイナリシフト演算を表し、Ｔが前記変換ブロックの寸法であり、前記少なくとも２つのバイナリインデックスの各々は異なる変換ブロックのサイズに関連付けられる、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記符号化されたバイナリストリングを復号することと、
前記復号されたバイナリストリングに基づいて前記ビデオブロックに関連付けられた前記変換係数の変換ブロック中の前記最後有意係数の位置を決定することと
を行わせる命令を記憶する、コンピュータ可読記憶媒体。
【請求項２６】
前記コンテキストが、１６×１６の変換ブロックの最後のバイナリインデックス、及び３２×３２の変換ブロックの最後のバイナリインデックスに割り当てられる、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項２７】
第２のコンテキストが、前記１６×１６の変換ブロックの少なくとも２つのバイナリインデックスに割り当てられる、請求項２６に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記変換ブロックが第１の変換ブロックであり、
決定された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記符号化されたバイナリストリングを復号することは、前記符号化されたバイナリストリングの値に基づいて前記コンテキストを更新することを含み、前記命令が、実行されると、ビデオ符号化装置の１つ以上のプロセッサに、
第２の変換ブロック内の最後有意係数の位置を示す第２の符号化されたバイナリストリングを取得することと、
更新された前記コンテキストに少なくとも部分的に基づいて、ＣＡＢＡＣを使用して前記第２の符号化されたバイナリストリングを復号することと
を更に行わせ、前記第１の変換ブロックと前記第２の変換ブロックが異なるサイズである、請求項２５に記載の非一時的コンピュータ可読記憶媒体。
【請求項２９】
前記装置は、
前記ビデオブロックを含むピクチャを表示するように構成された表示器、または前記ビデオブロックを含むピクチャを撮影するように構成されたカメラのうちの少なくとも１つを備えるワイヤレス通信装置、
マイクロプロセッサ、または、
集積回路
のうちの１つ以上を備える、請求項１７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、そのそれぞれの全体が参照により本明細書に組み込まれる、
２０１１年１１月８日に出願した米国仮出願第６１／５５７，３１７号、
２０１１年１１月２０日に出願した米国仮出願第６１／５６１，９０９号、
２０１２年１月１９日に出願した米国仮特許出願第６１／５８８，５７９号、及び
２０１２年２月７日に出願した米国仮特許出願第６１／５９６，０４９号の利益を主張する。
【０００２】
本開示は、ビデオコード化に関し、より詳細には、変換係数をコード化するための技法に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ又はデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、携帯電話又は衛星無線電話、所謂「スマートフォン」、ビデオ遠隔会議機器、ビデオストリーミング機器などを含む、広範囲にわたる機器に組み込むことができる。デジタルビデオ機器は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、高度ビデオコード化（ＡＶＣ）、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。ビデオ機器は、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び／又は記憶することができる。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために、空間的（イントラピクチャ）予測及び／又は時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコード化では、ビデオスライス（即ち、ビデオフレーム又はビデオフレームの一部）はビデオブロックに区分することができ、これらのビデオブロックは、ツリーブロック、コード化単位（ＣＵ）及び／又はコード化ノードと呼ばれる場合もある。ピクチャのイントラコード化（Ｉ）スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（Ｐ又はＢ）スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測、又は他の参照ピクチャの中の参照サンプルに対する時間的予測を使用することができる。ピクチャはフレームと呼ばれる場合があり、参照ピクチャは参照フレームと呼ばれる場合がある。
【０００５】
空間的予測又は時間的予測は、コード化されるべきブロック用の予測ブロックをもたらす。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、及びコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコード化モードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、画素領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数は、次いで量子化することができる。量子化変換係数は、最初に２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査することができ、なお一層の圧縮を達成するためにエントロピーコード化を適用することができる。
【発明の概要】
【０００６】
概して、本開示はビデオデータをコード化するための技法を記載する。詳細には、本開示は変換係数をコード化するための技法を記載する。
【０００７】
本開示の一例では、変換係数を符号化する方法は、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示すバイナリストリングを取得することと、ビデオブロックのサイズに基づいてバイナリストリングのバイナリインデックス用のコンテキストを決定することであって、コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、決定することと、少なくとも部分的に決定されたコンテキストに基づいて、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用してバイナリストリングを符号化することとを備える。
【０００８】
本開示の別の例では、変換係数を復号する方法は、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示す、ＣＡＢＡＣを使用して符号化された符号化バイナリストリングを取得することと、ビデオブロックのサイズに基づいて符号化バイナリストリングのバイナリインデックス用のコンテキストを決定することであって、コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、決定することと、少なくとも部分的に決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して符号化バイナリストリングを復号することとを備える。
【０００９】
本開示の別の例では、ビデオ符号化プロセス内で変換係数を符号化するように構成された装置は、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示すバイナリストリングを取得するための手段と、ビデオブロックのサイズに基づいてバイナリストリングのバイナリインデックス用のコンテキストを決定するための手段であって、コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、手段と、少なくとも部分的に決定されたコンテキストに基づいて、ＣＡＢＡＣを使用してバイナリストリングを符号化するための手段とを備える。
【００１０】
本開示の別の例では、ビデオ復号プロセス内で変換係数を復号するように構成された装置は、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示す、ＣＡＢＡＣを使用して符号化された符号化バイナリストリングを取得するための手段と、ビデオブロックのサイズに基づいて符号化バイナリストリングのバイナリインデックス用のコンテキストを決定するための手段と、コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して符号化バイナリストリングを復号するための手段と、を備える。
【００１１】
本開示の別の例では、機器は、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示すバイナリストリングを取得することと、ビデオブロックのサイズに基づいてバイナリストリングのバイナリインデックス用のコンテキストを決定することと、コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に決定されたコンテキストに基づいて、ＣＡＢＡＣを使用してバイナリストリングを符号化することとを行うように構成されたビデオエンコーダを備える。
【００１２】
本開示の別の例では、機器は、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示す、ＣＡＢＡＣを使用して符号化された符号化バイナリストリングを取得することと、ビデオブロックのサイズに基づいて符号化バイナリストリングのバイナリインデックス用のコンテキストを決定することと、コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して符号化バイナリストリングを復号することとを行うように構成されたビデオデコーダを備える。
【００１３】
本開示の別の例では、非一時的コンピュータ可読記憶媒体は、実行されるとビデオ符号化機器に、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示すバイナリストリングを取得することと、ビデオブロックのサイズに基づいてバイナリストリングのバイナリインデックス用のコンテキストを決定することと、コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に決定されたコンテキストに基づいて、ＣＡＢＡＣを使用してバイナリストリングを符号化することとを行わせる命令を記憶する。
【００１４】
本開示の別の例では、非一時的コンピュータ可読記憶媒体は、実行されるとビデオ復号機器に、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示す、ＣＡＢＡＣを使用して符号化された符号化バイナリストリングを取得することと、ビデオブロックのサイズに基づいて符号化バイナリストリングのバイナリインデックス用のコンテキストを決定することと、少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して符号化バイナリストリングを復号することとを行わせる命令を記憶し、コンテキストは少なくとも２つのバイナリインデックスに割り当てられる。
【００１５】
１つ又は複数の例の詳細は、添付の図面及び以下の説明に記載されている。他の特徴、目的、及び利点は、その説明及び図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１６】
【図１】例示的なビデオ符号化及び復号システムを示すブロック図。
【図２Ａ】例示的な係数値の走査順序を示す図。
【図２Ｂ】例示的な係数値の走査順序を示す図。
【図２Ｃ】例示的な係数値の走査順序を示す図。
【図２Ｄ】例示的な係数値の走査順序を示す図。
【図３】係数値のブロックに対する有意性マップの一例を示す図。
【図４】本開示に記載される技法を実施できる例示的なビデオエンコーダを示すブロック図。
【図５】本開示に記載される技法を実施できる例示的なエントロピーエンコーダを示すブロック図。
【図６】本開示の技法により、最後有意係数の位置を示すバイナリストリング値を符号化する例を示すフローチャート。
【図７】本開示に記載される技法を実施できる例示的なビデオデコーダを示すブロック図。
【図８】本開示に記載される技法を実施できる例示的なエントロピーデコーダを示すブロック図。
【図９】本開示の技法により、最後有意係数の位置を示すバイナリストリング値を復号する例を示すフローチャート。
【発明を実施するための形態】
【００１７】
概して、本開示はビデオデータをコード化するための技法を記載する。詳細には、本開示はビデオ符号化プロセス及び／又はビデオ復号プロセス内で変換係数をコード化するための技法を記載する。ブロックベースのビデオコード化では、変換係数のブロックは２次元（２Ｄ）アレイに配置することができる。変換係数の２次元（２Ｄ）アレイを順序付き変換係数の１次元（１Ｄ）アレイ、即ちベクトルに再配置するために、走査プロセスを実行することができる。走査順序に基づく変換係数のブロック内の最後有意係数（即ち、非ゼロ係数）の位置を示すために、１つ又は複数のシンタックス要素を使用することができる。最後有意係数の位置は、変換係数の符号化を最適化するためにビデオエンコーダによって使用することができる。同様に、ビデオデコーダは、最後有意係数の位置を使用して変換係数の復号を最適化することができる。即ち、最後有意係数の位置を示す１つ又は複数のシンタックス要素を効率的にコード化することが望ましい。
【００１８】
本開示は、最後有意係数の位置を示す１つ又は複数のシンタックス要素をコード化するための技法を記載する。幾つかの例では、最後有意係数の位置を示すシンタックス要素の全部又は一部は、以下の技法のうちのいずれか１つによりエントロピーコード化することができる：コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、確率間隔区分エントロピーコード化（ＰＩＰＥ）など。「ビン」又は「ビンインデックス」と呼ばれる場合もあるバイナリインデックスとコンテキスト割当てとを利用するエントロピーコード化技法では、異なる変換ブロック（ＴＵ）サイズ及び／又は異なる色成分について、共通のコンテキスト割当てを利用することができる。このようにして、コンテキストの総数を削減することができる。コンテキストの総数を削減することによって、記憶される必要があるコンテキストがより少なくなるので、ビデオエンコーダ及び／又はビデオデコーダは、最後有意係数の位置を示すシンタックス要素をより効率的にコード化することができる。
【００１９】
図１は、本開示の例により、変換係数をコード化するための技法を利用するように構成され得る、例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１に示されたように、システム１０は、通信チャネル１６を介して宛先機器１４に符号化されたビデオを送信する発信源機器１２を含む。符号化されたビデオデータはまた、記憶媒体３４又はファイルサーバ３６に記憶される場合があり、必要に応じて宛先機器１４によってアクセスされる場合がある。記憶媒体又はファイルサーバに記憶されたとき、ビデオエンコーダ２０は、コード化ビデオデータを記憶媒体に記憶するための、ネットワークインターフェース、コンパクトディスク（ＣＤ）、ブルーレイ（登録商標）又はデジタルビデオディスク（ＤＶＤ）のバーナ若しくはスタンピングファシリティ機器、又は他の機器などの別の機器にコード化ビデオデータを供給することができる。同様に、ネットワークインターフェース、ＣＤ又はＤＶＤのリーダなどのビデオデコーダ３０とは別個の機器は、記憶媒体からコード化ビデオデータを取り出し、取り出されたデータをビデオデコーダ３０に供給することができる。
【００２０】
発信源機器１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂スマートフォンなどの電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、多種多様な機器のうちのいずれかを備えることができる。多くの場合、そのような機器はワイヤレス通信用に装備することができる。従って、通信チャネル１６は、符号化されたビデオデータの送信に適したワイヤレスチャネル、有線チャネル、又はワイヤレスチャネルと有線チャネルの組合せを備えることができる。同様に、ファイルサーバ３６は、インターネット接続を含む任意の標準データ接続を介して宛先機器１４によってアクセスすることができる。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適したワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（例えば、ＤＳＬ、ケーブルモデムなど）、又は両方の組合せを含む場合がある。
【００２１】
本開示の例による、変換係数をコード化するための技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用することができる。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、及び／又はビデオテレフォニなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成することができる。
【００２２】
図１の例では、発信源機器１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、変調器／復調器２２と、送信機２４とを含む。発信源機器１２では、ビデオ発信源１８は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、及び／又は発信源ビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどの発信源、又はそのような発信源の組合せを含むことができる。一例として、ビデオ発信源１８がビデオカメラである場合、発信源機器１２及び宛先機器１４は、所謂カメラ付き電話又はビデオ電話を形成する場合がある。しかしながら、本開示に記載された技法は、一般のビデオコード化に適用可能であり得るし、ワイヤレス及び／又は有線の適用例、又は符号化されたビデオデータがローカルディスクに記憶される適用例に適用することができる。
【００２３】
撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化することができる。符号化されたビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム２２によって変調される場合があり、送信機２４を介して宛先機器１４に送信される場合がある。モデム２２は、信号変調用に設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含むことができる。送信機２４は、増幅器、フィルタ、及び１つ以上のアンテナを含む、データを送信するために設計された回路を含むことができる。
【００２４】
ビデオエンコーダ２０によって符号化された、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオはまた、後で消費するために記憶媒体３４又はファイルサーバ３６に記憶される場合がある。記憶媒体３４には、ブルーレイディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、又は符号化ビデオを記憶するための他の適切なデジタル記憶媒体が含まれ得る。記憶媒体３４に記憶された符号化ビデオは、次いで、復号及び再生のために宛先機器１４によってアクセスされる場合がある。
【００２５】
ファイルサーバ３６は、符号化されたビデオを記憶すること、及び符号化されたビデオを宛先機器１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、（例えば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）機器、ローカルディスクドライブ、又は符号化されたビデオデータを記憶すること、及び符号化されたビデオデータを宛先機器に送信することが可能な他のタイプの機器が含まれる。ファイルサーバ３６からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組合せであり得る。ファイルサーバ３６は、インターネット接続を含む任意の標準データ接続を介して、宛先機器１４によってアクセスされる場合がある。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適したワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、有線接続（例えば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢなど）、又は両方の組合せを含む場合がある。
【００２６】
図１の例では、宛先機器１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、表示装置３２とを含む。宛先機器１４の受信機２６は、チャネル１６を介して情報を受信し、モデム２８はその情報を復調して、ビデオデコーダ３０用の復調されたビットストリームを生成する。チャネル１６を介して通信される情報は、ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された様々なシンタックス情報を含む場合がある。そのようなシンタックスはまた、記憶媒体３４又はファイルサーバ３６に記憶された符号化ビデオデータとともに含まれる場合がある。ビデオエンコーダ２０及びビデオデコーダ３０の各々は、ビデオデータを符号化又は復号することが可能である、それぞれのエンコーダ−デコーダ（コーデック）の一部を形成する場合がある。
【００２７】
表示装置３２は、宛先機器１４と一体化されるか、又はその外部にあり得る。幾つかの例では、宛先機器１４は、一体型表示装置を含む場合があり、外部表示装置とインターフェースするように構成される場合もある。他の例では、宛先機器１４は表示装置であり得る。概して、表示装置３２は、復号されたビデオデータをユーザに対して表示し、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置などの様々な表示装置のいずれかを備えることができる。
【００２８】
図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトル又は１つ以上の物理伝送線路などの任意のワイヤレスもしくは有線の通信媒体、又はワイヤレス媒体と有線媒体の任意の組合せを備えることができる。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなどのパケットベースネットワークの一部を形成することができる。通信チャネル１６は、概して、有線媒体又はワイヤレス媒体の任意の適切な組合せを含む、ビデオデータを発信源機器１２から宛先機器１４に送信するのに適した任意の通信媒体、又は様々な通信媒体の集合を表す。通信チャネル１６には、発信源機器１２から宛先機器１４への通信を容易にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器が含まれ得る。
【００２９】
ビデオエンコーダ２０及びビデオデコーダ３０は、ＩＴＵ−Ｔビデオコード化専門家グループ（ＶＣＥＧ）のビデオコード化共同研究部会（ＪＣＴ−ＶＣ）によって現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格及びＩＳＯ／ＩＥＣ動画専門家グループ（ＭＰＥＧ）などのビデオ圧縮規格に従って動作することができ、ＨＥＶＣテストモデル（ＨＭ）に準拠することができる。ビデオエンコーダ２０及びビデオデコーダ３０は、「ＨＥＶＣワーキングドラフト５」又は「ＷＤ５」と呼ばれるＨＥＶＣ規格の最近のドラフトに従って動作することができ、同ドラフトは、文書ＪＣＴＶＣ−Ｇ１１０３、Ｂｒｏｓｓら、「ＷＤ５：高効率ビデオコード化（ＨＥＶＣ）ワーキングドラフト５」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のビデオコード化共同研究部会（ＪＣＴ−ＶＣ）、第７回会合：ジュネーブ、スイス、２０１２年１１月に記載されている。更に、ＨＥＶＣの別の最近のワーキングドラフト、ワーキングドラフト７は、文書ＨＣＴＶＣ−Ｉ１００３、Ｂｒｏｓｓら、「高効率ビデオコード化（ＨＥＶＣ）テキスト仕様ドラフト７」、ＩＴＵ−Ｔ  ＳＧ１６ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のビデオコード化共同研究部会（ＪＣＴ−ＶＣ）、第９回会合：ジュネーブ、スイス、２０１２年４月２７日〜２０１２年５月７日に記載されている。代替として、ビデオエンコーダ２０及びビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ１０、高度ビデオコード化（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格などの他のプロプライエタリ規格又は業界規格、若しくはそのような規格の拡張に従って動作することができる。しかしながら、本開示の技法は、いかなる特定のコード化規格にも限定されない。他の例にはＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３が含まれる。
【００３０】
図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、各々オーディオエンコーダ及びオーディオデコーダと一体化される場合があり、共通のデータストリーム又は個別のデータストリーム内のオーディオとビデオの両方の符号化を処理するのに適したＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含む場合がある。適用可能な場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠することができる。
【００３１】
ビデオエンコーダ２０及びビデオデコーダ３０は各々、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組合せなどの様々な適切なエンコーダ回路のうちのいずれかとして実装することができる。本技法が部分的にソフトウェアに実装されるとき、機器は、適切な非一時的コンピュータ可読媒体にソフトウェア用の命令を記憶し、１つ又は複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行することができる。ビデオエンコーダ２０及びビデオデコーダ３０の各々は、１つ又は複数のエンコーダ又はデコーダに含まれる場合があり、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合される場合がある。
【００３２】
ビデオエンコーダ２０は、ビデオ符号化プロセス内で変換係数をコード化するための、本開示の技法のうちのいずれか又は全てを実施することができる。同様に、ビデオデコーダ３０は、ビデオコード化プロセス内で変換係数をコード化するための、これらの技法のいずれか又は全てを実施することができる。本開示に記載されたビデオコーダは、ビデオエンコーダ又はビデオデコーダを指す場合がある。同様に、ビデオコード化ユニットは、ビデオエンコーダ又はビデオデコーダを指す場合がある。同様に、ビデオコード化はビデオ符号化又はビデオ復号を指す場合がある。
【００３３】
図１のビデオエンコーダ２０及びビデオデコーダ３０は、ビデオブロック内の最後有意係数の位置を示すバイナリストリングを取得することと、ビデオブロックのサイズに基づいてバイナリストリングのバイナリインデックス用のコンテキストを決定することと、コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に決定されたコンテキストに基づいて、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用してバイナリストリングを符号化することとを行うように構成されたビデオコーダの例を表す。
【００３４】
現在開発中のＨＥＶＣ規格に従うビデオコード化の場合、ビデオフレームをコード化単位に区分することができる。コード化単位（ＣＵ）は、一般に、様々なコード化ツールがビデオ圧縮用に適用される基本単位として働く画像領域を指す。ＣＵは、通常、Ｙと表記されるルミナンス成分と、Ｕ及びＶと表記される２つのクロマ成分とを有する。ビデオサンプリングフォーマットに応じて、Ｕ成分とＶ成分のサイズは、サンプル数に換算して、Ｙ成分のサイズと等しい場合があるか、又は異なる場合もある。ＣＵは、通常、正方形であり、例えば、ＩＴＵ−Ｔ  Ｈ．２６４などの他のビデオコード化規格の下での所謂マクロブロックと同様であると考えることができる。本出願では、例示のために、開発中のＨＥＶＣ規格の現在提案されている態様の幾つかに従うコード化が記載される。しかしながら、本開示に記載される技法は、Ｈ．２６４又は他の規格に従って定義されるビデオコード化プロセス、若しくは他の標準もしくはプロプライエタリのビデオコード化プロセスなどの他のビデオコード化プロセスに有用であり得る。ＨＥＶＣの規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコード化機器のモデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによる機器に勝るビデオコード化機器の幾つかの能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３４個ものイントラ予測符号化モードを提供する。
【００３５】
ビデオシーケンスは、通常、一連のビデオフレーム又はピクチャを含む。ピクチャグループ（ＧＯＰ）は、一般に、ビデオピクチャのうちの一連の１つ又は複数を備える。ＧＯＰは、ＧＯＰ内に含まれるピクチャの数を記述するシンタックスデータを、ＧＯＰのヘッダ内、ピクチャのうちの１つ以上のヘッダ内、又は他の場所に含む場合がある。ピクチャの各スライスは、それぞれのスライス用の符号化モードを記述するスライスシンタックスデータを含む場合がある。ビデオエンコーダ２０は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコード化ノードに対応する１つ又は複数のＴＵ又はＰＵを含む場合がある。ビデオブロックは、サイズを固定することも変更することもでき、指定されたコード化規格に応じてサイズが異なる場合がある。
【００３６】
ＨＭによれば、ＣＵは、１つもしくは複数の予測単位（ＰＵ）及び／又は１つ以上の変換単位（ＴＵ）を含むことができる。ビットストリーム内のシンタックスデータは、画素数に換算して最大のＣＵである最大コード化単位（ＬＣＵ）を定義することができる。概して、ＣＵは、ＣＵがサイズの差異を有していないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。従って、ＣＵはサブＣＵに分割することができる。概して、本開示におけるＣＵへの言及は、ピクチャの最大コード化単位又はＬＣＵのサブＣＵを指す場合がある。ＬＣＵはサブＣＵに分割され得るし、各サブＣＵは更にサブＣＵに分割され得る。ビットストリームのシンタックスデータは、ＣＵ深度と呼ばれる、ＬＣＵが分割され得る最大数を定義することができる。それに応じて、ビットストリームは最小コード化単位（ＳＣＵ）も定義することができる。本開示ではまた、ＣＵ、ＰＵ、又はＴＵのいずれかを指すために「ブロック」又は「部分」という用語も使用する。概して、「部分」は、ビデオフレームの任意のサブセットを指す場合がある。
【００３７】
ＬＣＵは４分木データ構造に関連付けることができる。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵにシンタックスデータを提供することができる。例えば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含むことができる。ＣＵのシンタックス要素は、再帰的に定義され得るし、ＣＵがサブＣＵに分割されるかどうかに依存する場合がある。ＣＵがこれ以上分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しなくても、リーフＣＵの４つのサブＣＵはリーフＣＵとも呼ばれる。例えば、１６×１６サイズのＣＵがこれ以上分割されない場合、この１６×１６ＣＵがまったく分割されなくても、４つの８×８サブＣＵもリーフＣＵと呼ばれる。
【００３８】
その上、リーフＣＵのＴＵもそれぞれの４分木データ構造に関連付けることができる。即ち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含むことができる。本開示では、ＬＣＵがどのように区分されるかを示す４分木をＣＵ４分木と呼び、リーフＣＵがどのようにＴＵに区分されるかを示す４分木をＴＵ４分木と呼ぶ。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してＬＣＵに対応する。分割されないＴＵ４分木のＴＵはリーフＴＵと呼ばれる。
【００３９】
リーフＣＵは、１つ又は複数の予測単位（ＰＵ）を含むことができる。概して、ＰＵは、対応するＣＵの全部又は一部を表し、そのＰＵ用の参照サンプルを取り出すためのデータを含むことができる。例えば、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵ用の動きベクトルを定義するデータを含むことができる。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度もしくは１／８画素精度）、動きベクトルが指す参照フレーム、及び／又は動きベクトル用の参照リスト（例えば、リスト０又はリスト１）を記述することができる。ＰＵを定義するリーフＣＵ用のデータはまた、例えば、ＣＵを１つ又は複数のＰＵに区分することを記述することができる。区分モードは、ＣＵがコード化されていないか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかに応じて異なる場合がある。イントラコード化の場合、ＰＵは、以下に記載されるリーフ変換単位と同じように扱うことができる。
【００４０】
一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、又は「Ｒｉｇｈｔ」という表示によって示される。従って、例えば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５ＮのＰＵと下部の２Ｎ×１．５ＮのＰＵとで水平方向に区分された２Ｎ×２ＮのＣＵを指す。
【００４１】
本開示では、「Ｎ×Ｎ（NxN）」及び「Ｎ×Ｎ（N by N）」は、垂直寸法及び水平寸法に関するビデオブロックの画素寸法、例えば、１６×１６（16x16）画素又は１６×１６（16 by 16）画素を指すために互換的に使用される場合がある。一般に、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、ここでＮは非負整数値を表す。ブロック内の画素は行と列で構成することができる。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要があるとは限らない。例えば、ブロックはＮ×Ｍ画素を備える場合があり、ここでＭは必ずしもＮに等しいとは限らない。
【００４２】
ブロック（例えば、ビデオデータの予測単位）をコード化するために、ブロックの予測子が最初に導出される。予測ブロックとも呼ばれる予測子は、イントラ（Ｉ）予測（即ち、空間的予測）又はインター（Ｐ又はＢ）予測（即ち時間的予測）のいずれかを介して導出することができる。従って、幾つかの予測単位は、同じフレーム（又はスライス）の中の隣接参照ブロック内の参照サンプルに対する空間的予測を使用してイントラコード化（Ｉ）され得るし、他の予測単位は、以前にコード化された他のフレーム（又はスライス）の中の参照サンプルのブロックに対して単方向にインターコード化（Ｐ）されるか、又は双方向にインターコード化（Ｂ）され得る。各場合において、参照サンプルは、コード化されるべきブロック用の予測ブロックを形成するために使用することができる。
【００４３】
予測ブロックの識別時に、元のビデオデータブロックとその予測ブロックとの間の差分が決定される。この差分は予測残差データと呼ばれる場合があり、コード化されるべきブロック内の画素値と、コード化ブロックを表すように選択された予測ブロック内の画素値との間の画素差分を示す。より良好な圧縮を実現するために、予測残差データは、例えば、離散コサイン変換（ＤＣＴ）、整数変換、カルーネン−レーベ（Ｋ−Ｌ）変換、又は別の変換を使用して変換することができる。
【００４４】
ＴＵなどの変換ブロック内の残差データは、空間的画素領域に存在する画素差分値の２次元（２Ｄ）アレイに配置される場合がある。変換は、周波数領域などの変換領域内で残差画素値を変換係数の２次元アレイに変換する。さらなる圧縮のために、変換係数は、エントロピーコード化より前に量子化することができる。次いで、エントロピーコーダは、ＣＡＶＬＣ、ＣＡＢＡＣ、ＰＩＰＥなどのエントロピーコード化を、量子化された変換係数に適用する。
【００４５】
量子化された変換係数のブロックをエントロピーコード化するために、ブロック内の量子化された変換係数の２次元（２Ｄ）アレイが、特定の走査順序に従って変換係数の順序付き１次元（１Ｄ）アレイ、即ちベクトルに再配置されるように、通常、走査プロセスが実行される。次いで、変換係数のベクトルにエントロピーコード化が適用される。変換単位内の量子化された変換係数の走査は、エントロピーコーダ用の変換係数の２Ｄアレイをシリアル化する。有意性マップは、有意（即ち、非０）係数の位置を示すために生成することができる。走査は、有意（即ち、非０）係数のレベルを走査するために、及び／又は有意係数の符号をコード化するために適用することができる。
【００４６】
ＨＥＶＣでは、有意変換係数の位置情報（例えば、有意性マップ）は、走査順序内の最後の非ゼロ係数の位置を示すために、ＴＵについて最初にコード化される。有意性マップ及びレベル情報（係数の絶対値と符号）は、逆方向走査順序で係数ごとにコード化される。
【００４７】
変換係数を生成する任意の変換に続いて、ビデオエンコーダ２０は、変換係数の量子化を実行することができる。量子化は、一般に、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減することができる。例えば、ｎビット値は量子化を通じてｍビット値に切り捨てることができ、ここでｎはｍよりも大きい。幾つかの例では、ビデオエンコーダ２０は、予め定義された走査順序を利用して、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化された変換係数を走査することができる。他の例では、ビデオエンコーダ２０は適応型走査を実行することができる。
【００４８】
図２Ａ〜図２Ｄは、幾つかの異なる例示的な走査順序を示す。他の定義された走査順序、又は適応型（変化する）走査順序が使用される場合もある。図２Ａはジグザグ走査順序を示し、図２Ｂは水平走査順序を示し、図２Ｃは垂直走査順序を示し、図２Ｄは対角走査順序を示す。これらの走査順序の組合せも定義し使用することができる。幾つかの例では、本開示の技法は、特に、ビデオコード化プロセス内の所謂有意性マップのコード化を通じて適用可能であり得る。
【００４９】
最後有意係数（即ち、非ゼロ係数）の位置を示すために、１つ又は複数のシンタックス要素が定義される場合があり、これは係数のブロックに関連する走査順序に依存する場合がある。例えば、１つのシンタックス要素は係数値のブロック内の最後有意係数の列の位置を定義する場合があり、別のシンタックス要素は係数値のブロック内の最後有意係数の行の位置を定義する場合がある。
【００５０】
図３は、係数値のブロックに対する有意性マップの一例を示す。有意性マップが右側に示され、その中で、１ビットのフラグが有意即ち非ゼロである、左側のビデオブロック内の係数を識別する。一例では、（例えば、有意性マップによって定義された）有意係数のセット及び走査順序が与えられると、最後有意係数の位置を定義することができる。新興のＨＥＶＣ規格では、変換係数はチャンクにグループ化することができる。チャンクはＴＵ全体を備えることができるか、又は場合によっては、ＴＵはより小さいチャンクに細分することができる。有意性マップ及びレベル情報（絶対値と符号）は、チャンク内の係数ごとにコード化される。一例では、チャンクは、４×４のＴＵ及び８×８のＴＵについての逆方向走査順序（例えば、対角、水平又は垂直）で１６個の連続する係数からなる。１６×１６のＴＵ及び３２×３２のＴＵの場合、４×４のサブブロック内の係数はチャンクとして扱われる。チャンク内の係数レベル情報を表すために、シンタックス要素がコード化され通知される。一例では、全てのシンボルが逆方向走査順序で符号化される。本開示の技法は、係数のブロックの最後有意係数の位置を定義するために使用されるシンタックス要素のコード化を改善することができる。
【００５１】
一例として、本開示の技法は、係数のブロック（例えば、ＴＵ又はＴＵのチャンク）の最後有意係数の位置をコード化するために使用することができる。次いで、最後有意係数の位置をコード化した後、変換係数に関連付けられたレベル及び符号の情報をコード化することができる。レベル及び符号の情報のコード化は、（例えば、ＴＵ又はＴＵのチャンクについての）逆方向走査順序で以下のシンボルをコード化することによって、５段階手法に従って処理することができる。
【００５２】
ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ（略称ｓｉｇＭａｐＦｌａｇ）：このフラグは、チャンク内の各係数の有意性を示すことができる。１以上の値を有する係数は有意であると考えることができる。
【００５３】
ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ（略称ｇｒ１Ｆｌａｇ）：このフラグは、非ゼロ係数（即ち、ｓｉｇＭａｐＦｌａｇが１である係数）について、係数の絶対値が１よりも大きいかどうかを示すことができる。
【００５４】
ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ（略称ｇｒ２Ｆｌａｇ）：このフラグは、１よりも大きい絶対値を有する係数（即ち、ｇｒ１Ｆｌａｇが１である係数）について、係数の絶対値が２よりも大きいかどうかを示すことができる。
【００５５】
ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ（略称ｓｉｇｎＦｌａｇ）：このフラグは、非ゼロ係数についての符号情報を示すことができる。例えば、このフラグについてのゼロは正符号を示し、１は負符号を示す。
【００５６】
ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎ（略称ｌｅｖｅｌＲｅｍ）：このシンタックス要素は、変換係数レベルの残っている絶対値を示すことができる。このシンタックス要素の場合、ｘよりも大きい大きさを有する各係数について、係数の絶対値−ｘを（ａｂｓ（ｌｅｖｅｌ）−ｘ）とコード化することができる。ｘの値は、ｇｒ１Ｆｌａｇ及びｇｒ２Ｆｌａｇの存在に依存する。ｇｒ２Ｆｌａｇがコード化された場合、ｌｅｖｅｌＲｅｍの値は（ａｂｓ（ｌｅｖｅｌ）−２）と計算することができる。ｇｒ２Ｆｌａｇがコード化されなかったが、ｇｒ１Ｆｌａｇがコード化された場合、ｌｅｖｅｌＲｅｍの値は（ａｂｓ（ｌｅｖｅｌ）−１）と計算することができる。
【００５７】
このようにして、ＴＵ又はＴＵの一部分（例えば、チャンク）用の変換係数をコード化することができる。いずれの場合も、係数のブロックの最後有意係数の位置を定義するために使用されるシンタックス要素のコード化に関係する本開示の技法は、変換係数のレベル及び符号の情報を最終的にコード化するための他のタイプの技法とともに、使用することもできる。有意性、レベル及び符号の情報をコード化するための５段階手法は、本開示に記載されたように、ブロックの最後有意係数の位置のコード化に続いて使用できる１つの例示的な技法にすぎない。
【００５８】
量子化変換係数を走査して１次元ベクトルを形成した後、ビデオエンコーダ２０は、変換係数の１次元ベクトルをエントロピー符号化することができる。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化することができる。エントロピー符号化は、以下の技法の１つに従って実行することができる：ＣＡＶＬＣ、ＣＡＢＡＣ、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ）、ＰＩＰＥコード化又は別のエントロピー符号化方法。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボル用の可変長コードを選択することができる。可変長コード化（ＶＬＣ）におけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成することができる。このようにして、ＶＬＣを使用すると、例えば、送信されるべきシンボルごとに等長コードワードを使用するよりも、ビット節約を実現することができる。
【００５９】
本開示のエントロピーコード化技法は、特にＣＡＢＡＣに適用可能であると記載されるが、この技法はＣＡＶＬＣ、ＳＢＡＣ、ＰＩＰＥ、又は他の技法にも適用可能であり得る。ＰＩＰＥは算術コード化の原理と同様の原理を使用することに留意されたい。
【００６０】
概して、ＣＡＢＡＣを使用してデータシンボルをコード化することは、以下のステップのうちの１つ又は複数を伴う場合がある。
【００６１】
（１）２値化：コード化されるべきシンボルが非２進値化された場合、そのシンボルは、バイナリシーケンス、即ち、所謂「ビンストリング」にマッピングされる。ビンストリング内の各バイナリインデックス（即ち、「ビン」）は、「０」又は「１」の値を有することができる。
【００６２】
（２）コンテキスト割当て：通常モードでは、各ビンはコンテキストに割り当てられる。ビンはまた、コンテキストが割り当てられないバイパスモードに従ってコード化することができる。コンテキストは確率モデルであり、しばしば「コンテキストモデル」と呼ばれる。本明細書で使用するコンテキストという用語は、確率モデル又は確率値を指す場合がある。コンテキストは、ビンの値の確率が所与のビンについてどのように計算されるかを決定する。コンテキストは、以前に符号化されたシンボル又はビン番号の値などの情報に基づいて、ビンの値の確率を関連付けることができる。更に、コンテキストは、より高いレベル（例えば、スライス）のパラメータに基づいて、ビンに割り当てることができる。
【００６３】
（３）ビン符号化：ビンは算術エンコーダを用いて符号化される。ビンを符号化するために、算術エンコーダは、入力として、ビンの値の確率、即ち、ビンの値が「０」に等しい確率、及び／又はビンの値が「１」に等しい確率を必要とする。（推定）確率は、「コンテキスト状態」と呼ばれる整数値により、コンテキスト内で表現することができる。
【００６４】
（４）状態更新：選択されたコンテキストについての確率（状態）は、ビンの実際にコード化された値に基づいて更新することができる（例えば、ビン値が「１」であった場合、「１」であるビンの確率が増加され得る）。確率の更新は、コンテキストに関連する変換規則に従って左右される場合がある。
【００６５】
以下は、ビデオエンコーダ２０によって実行され得る最後有意係数のシンタックス要素の例示的な２値化技法である。最後有意係数シンタックス要素は、２次元ブロック内の最後有意係数の行の位置と列の位置（即ち、ｘ座標とｙ座標）を含むことができる。８×８ブロックの場合、列又は行の内部の係数の最後の位置、即ち、０、１、．．．、７についての８個の異なる確率が存在する。８個の異なるビンは、これらの８個の行の位置又は列の位置を表すために使用される。例えば、ビン０＝１は、行０又は列０にある係数が最後有意係数であることを示すことができる。この例では、ビン０＝０である場合、位置０にある係数は最後の係数ではない。１に等しい別のビンは、最後有意係数の位置を示すことができる。例えば、ビン１＝１は、位置１が最後有意係数であることを示すことができる。別の例として、ビンＸ＝１は、位置Ｘが最後有意係数であることを示すことができる。上述されたように、各ビンは、２つの異なる方法：（１）コンテキストを用いたビンの符号化、及び（２）（コンテキストがない）バイパスモードを使用するビンの符号化によって符号化することができる。
【００６６】
表１は、幾つかのビンがコンテキストを用いて符号化され、他のビンがバイパスモードを使用して符号化される、最後有意係数の位置の例示的な２値化を示す。表１の例は、３２×３２のＴＵについての最後有意係数の例示的な２値化を提供する。表１の第２列は、２ｌｏｇ2（Ｔ）−１の最大切捨て単項プレフィックス長によって定義された、サイズＴのＴＵ内の最後有意係数の位置の考えられる値に対応する切捨て単項プレフィックス値を提供する。表１の第３列は、各切捨て単項プレフィックスに対応する固定長サフィックスを提供する。簡略にするために、表１は１又は０のいずれかのビット値を示すＸ値を含む。Ｘ値は、固定長コードに従って切捨て単項プレフィックスを共有する各値を一意にマッピングすることに留意されたい。表１の最後の位置成分の大きさは、ｘ座標の値及び／又はｙ座標の値に対応することができる。４×４、８×８、及び１６×１６のＴＵについての最後有意係数の２値化は、表１に関して記載された３２×３２のＴＵの２値化と同様の方式で定義することができる。
【表１】
0005955974.tif 000002
【００６７】
上述されたように、ＣＡＢＡＣを使用してデータシンボルをコード化することは、コンテキスト割当てを伴う場合もある。一例では、コンテキストのモデル化は、ビンストリングの切捨て単項ストリング部分の算術符号化に使用される場合があるが、コンテキストのモデル化は、ビンストリングの固定バイナリストリングの算術符号化に使用されない（即ち、固定バイナリストリングはバイパスされる）。切捨て単項ストリングがコンテキストのモデル化を使用して符号化される場合、コンテキストはバイナリストリングのビンインデックスの各々に割り当てることができる。
【００６８】
コンテキストがバイナリストリングの各ビンインデックスに割り当てることができる幾つかの方法が存在する。最後有意係数の位置を表すビンストリング用のコンテキスト割当ての数は、ビンインデックスの数又は考えられるＴＵサイズ及び色成分についての切捨て単項ストリングの長さに等しい場合がある。例えば、ルーマ成分の考えられるサイズが４×４、８×８、１６×１６、及び３２×３２である場合、ビンが１つもバイパスされないとき、１次元用のコンテキスト割当ての数は、６０（即ち、４＋８＋１６＋３２）に等しくなることができる。同様に、考えられるサイズが４×４、８×８、及び１６×１６である各クロマ成分の場合、ビンが１つもバイパスされないとき、コンテキスト割当ての数は、２８（即ち、４＋８＋１６）に等しくなることができる。従って、最後有意係数の位置がｘ座標とｙ座標の両方を使用して指定されるとき、コンテキスト割当ての最大数は、次元ごとに１１６（即ち、６０＋２８＋２８）に等しくなることができる。下記の例示的なコンテキスト割当ては、幾つかのビンが表１に関して記載された２値化方式に従ってバイパスされると考える。しかしながら、本明細書に記載されたコンテキスト割当て技法は、幾つかの２値化方式に適用可能であり得ることに留意されたい。更に、幾つかのビンがバイパスされることが考えられるときでも、コンテキストが最後有意係数の位置を表すビンストリングのビンに割り当てることができる多数の方法がまだ存在する。
【００６９】
場合によっては、必要なコンテキスト割当ての数に対してコンテキスの総数を削減することが望ましい場合がある。このようにして、エンコーダ又はデコーダは同数のコンテキストを記憶し維持する必要はない可能性がある。しかしながら、コンテキストの数が削減されるとき、例えば、コンテキストが異なる確率を有する２つのビンに共有される場合、予測確度も低減される可能性がある。更に、特定のコンテキストがより頻繁に更新される場合があり、このことはビンの値の推定確率に影響を及ぼす可能性がある。即ち、割り当てられたコンテキストを使用してビンをコード化することは、コンテキストを更新することを伴う場合がある。従って、コンテキストに割り当てられた後続のビンは、更新されたコンテキストを使用してコード化することができる。更に、幾つかの例では、スライス内のビンの値が後続のスライス内のビンのコード化に影響を及ぼすことができないが、それらのビンが同じコンテキストに割り当てられるように、コンテキストモデルはスライスレベルで初期化できることに留意されたい。本開示は、推定確率についての確度を維持しながらコンテキストの数を削減できるように、コンテキスト割当てを最適化するための技法を記載する。一例では、本明細書に記載されたコンテキスト割当て技法は、個々のビンインデックスが同じコンテキストに割り当てられる技法を含む。
【００７０】
下記の表２〜表１３は、ＴＵ内の最後有意係数の位置を表すビンストリングのビンインデックス用のコンテキスト割当てを示す。表２〜表１３の幾つかのビン（例えば、８×８ブロックのビン５〜７）には、コンテキストが割り当てられないことに留意されたい。これは、上述されたように、これらのビンがバイパスモードを使用してコード化されるからである。表２〜表１３の値がコンテキストのインデックスを表すことにも留意されたい。表２〜表１３では、異なるビンが同じコンテキストインデックス値を有するとき、それらは同じコンテキストを共有する。コンテキストインデックスの実際のコンテキストへのマッピングは、ビデオコード化規格に従って定義することができる。表２〜表１３は、コンテキストが通常どのようにビンに割り当てられ得るかを示す。
【００７１】
表２は、上記の表１に関して提供された例示的な２値化用の様々なＴＵサイズのビンごとに可能なコンテキストのインデックス付けを示す。表２の例では、隣接するビンは同じコンテキストを共有することを許可される。例えば、８×８のＴＵのビン２とビン３は同じコンテキストを共有する。
【表２】
0005955974.tif 000003
【００７２】
表３〜表６は、各々以下の規則に従うコンテキスト割当てのさらなる例を示す。
【００７３】
１．  最初のＫ個のビンはコンテキストを共有しない、但しＫ＞１。ＫはＴＵサイズごとに異なる可能性がある。
【００７４】
２．  １つのコンテキストは連続するビンに割り当てることだけできる。例えば、ビン３〜ビン５はコンテキスト５を使用する可能性がある。しかしながら、コンテキスト５を使用するビン３及びビン５、ならびにコンテキスト６を使用するビン４は許可されない。
【００７５】
３．  様々なＴＵサイズの最後のＮ個のビン、Ｎ＞＝０、は同じコンテキストを共有することができる。
【００７６】
４．  同じコンテキストを共有するビンの数は、ＴＵサイズとともに増加する。
【００７７】
上記の規則１〜４は、表１に提供された２値化に特に有用であり得る。しかしながら、規則１〜４は、他の２値化方式に等しく有用であり得るし、実際のコンテキスト割当ては、実装された２値化方式に従って調整することができる。
【表３】
0005955974.tif 000004
【表４】
0005955974.tif 000005
【表５】
0005955974.tif 000006
【表６】
0005955974.tif 000007
【００７８】
記の表７〜表８は、様々なブロックサイズからの最後のビンが同じコンテキストを共有する例示的なコンテキスト割当てを提供し、これはコンテキストの数を更に最適化することができる。一例では、２つ以上のブロックサイズの最後のビンの間でどのようにコンテキストが共有されるかを決定するために、直接マッピングを使用することができる。例えば、それぞれサイズＭとサイズＮを有するブロックＡとブロックＢの場合、ブロックＡのｎ番目のビンのコンテキストは、ブロックサイズＢのｎ番目のビンと同じコンテキストを使用することができる。
【表７】
0005955974.tif 000008
【００７９】
表８は、幾つかのブロックサイズからの最後の位置のビンが、お互いにコンテキストを共有する別の例を示す。この場合、サイズ８×８と１６×１６のＴＵが同じコンテキストを共有する。
【表８】
0005955974.tif 000009
【００８０】
別の例では、様々なブロックサイズからの最後の位置のビンについてのコンテキストのマッピングは、関数ｆ（．）を使用して導出することができる。例えば、ブロックサイズＡ内のｎ番目のビンは、ブロックサイズＢ内のｍ番目のビンと同じコンテキストを共有することができ、ここでｍはｎの関数である（ｍ＝ｆ（ｎ））。例えば、関数は線形、即ち、ｍ＝ｎ＊ａ＋ｂであり得るし、但しａとｂは線形関数のパラメータである。表９は、ａ＝１、ｂ＝１、Ａ＝８×８のＴＵ、及びＢ＝１６×１６のＴＵである例を示す。
【表９】
0005955974.tif 000010
【００８１】
上記の式を幾つかのケースに適用するとき、整数演算に起因して丸めが必要とされる場合があることに留意されたい。例えば、７＊０．５＝３である。
【００８２】
以下の例によれば、８×８ブロックサイズ内の位置ｎから４×４ブロック内の位置ｍへのマッピングは、以下の式を用いて計算することができる。
【数１】
0005955974.tif 000011
【００８３】
１６×１６ブロック内の位置ｎから４×４ブロック内の位置ｍへのマッピングは、以下の式を用いて計算することができる。
【数２】
0005955974.tif 000012
【００８４】
上述されたように、式（１）及び式（２）は、異なるサイズのブロック間のマッピングを実施するために使用され得る２つの例にすぎない。式（１）及び式（２）は、マッピング関数と呼ばれる場合がある。式（１）及び式（２）の中の「＞＞」は、ＨＥＶＣなどのビデオコード化規格に従って定義されたシフト演算を表すことができることに留意されたい。更に、同じマッピング又は異なるマッピングを実現するために、他の式を使用することができる。
【００８５】
表１０は、式（１）及び式（２）に従う４×４、８×８、及び１６×１６のＴＵについての最後有意係数用の例示的なコンテキスト割当てを提供する。
【表１０】
0005955974.tif 000013
【００８６】
表１１は、異なるコンテキストインデックスの値（即ち、０〜２の代わりに１５〜１７）が使用される場合の、表１０のコンテキスト割当ての例を提供する。上述されたように、表３〜表１２のコンテキストインデックスの値は、バイナリインデックスに割り当てられる実際のコンテキストを限定するものではない。
【表１１】
0005955974.tif 000014
【００８７】
表１１のコンテキストのマッピングは、以下のマッピング関数と同等であることに留意されたい。
【数３】
0005955974.tif 000015
【００８８】
但し、ｃｔｘ＿ｉｎｄｅｘはコンテキストのインデックスである。
【００８９】
ｎ＝ビンインデックス
k = log2TrafoDimension-2
log2TrafoDimension =ｘ寸法における最後の位置のｌｏｇ２（幅）
log2TrafoDimension =ｙ寸法における最後の位置のｌｏｇ２（高さ）
場合によっては、（１）〜（３）に定義された関数は、メモリに記憶され、コンテキスト割当てを参照するために利用され得る一連のテーブルを構築するために、コード化機器によって使用される場合がある。場合によっては、表は、本明細書に記載された式と規則とに基づいて予め決定され、ビデオエンコーダ２０とビデオデコーダ３０の両方に記憶される場合がある。
【００９０】
更に、幾つかの例では、上記に定義された関数（１）〜（３）は、特定のビンにコンテキストを割り当てるために選択的に適用することができる。このようにして、様々なビンは異なる規則に基づいてコンテキストに割り当てられる場合がある。一例では、上述された関数などの関数は、閾値Ｔｈ１よりも小さく、及び／又は閾値Ｔｈ２よりも大きいビンインデックス（即ち、ｎの値）のみに適用することができる。表１２は、上述されたマッピング技法がビンインデックスの値に基づいて選択的に適用される場合、即ち、ｎ＞Ｔｈ２＝２の例を示す。
【表１２】
0005955974.tif 000016
【００９１】
別の例では、ビンインデックスに技法を適用するための閾値は、様々なブロックサイズ、様々なフレームタイプ、様々な色成分（Ｙ、Ｕ、Ｖ）、及び／又は他の側面の情報で異なる可能性がある。この閾値は、ビデオコード化規格に従って予め定義することができるか、又は高レベルシンタックスを使用して通知することができる。例えば、閾値は、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、適応パラメータセット（ＡＰＳ）、及び／又はスライスヘッダの中で通知することができる。
【００９２】
別の例では、マッピング関数は、様々なブロックサイズ、様々なフレームタイプ、様々な色成分（Ｙ、Ｕ、及びＶ）、及び／又は他の側面の情報で異なる可能性がある。マッピング関数は、ビデオコード化規格に従って予め定義することができるか、又は高レベルシンタックスを使用して通知することができる。例えば、マッピング関数は、ＳＰＳ、ＰＰＳ、ＡＰＳ、及び／又はスライスヘッダの中で通知することができる。
【００９３】
別の例では、上述された直接マッピング技法及び関数マッピング技法は、色成分、フレームタイプ、量子化パラメータ（ＱＰ）及び／又は他の側面の情報に基づいて、適応的に適用することができる。例えば、直接マッピング技法又は関数マッピング技法は、クロマ成分のみに適用される場合がある。この適応性についての規則は、予め定義することができるか、又は高レベルシンタックスを使用して通知することができる。例えば、適応性についての規則は、ＳＰＳ、ＰＰＳ、ＡＰＳ、及び／又はスライスヘッダの中で通知することができる。
【００９４】
別の例では、クロマ成分用の最後の位置のビンとルーマ成分用の最後の位置のビンは、同じコンテキストを共有することができる。これは、任意のブロックサイズ、例えば、４×４、８×８、１６×１６、及び３２×３２に適用することができる。表１３は、４×４のＴＵ用のルーマ成分の最後の位置のビンとクロマ成分の最後の位置のビンにコンテキストが共有される場合の例を示す。
【表１３】
0005955974.tif 000017
【００９５】
図４は、本開示に記載されるように変換係数をコード化するための技法を使用できるビデオエンコーダ２０の例を示すブロック図である。例えば、ビデオエンコーダ２０は、ビデオブロック内の最後有意係数の位置を示すバイナリストリングを取得することと、ビデオブロックのサイズに基づいてバイナリストリングのバイナリインデックス用のコンテキストを決定することと、コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に決定されたコンテキストに基づいて、ＣＡＢＡＣを使用してバイナリストリングを符号化することとを行うように構成されたビデオエンコーダの例を表す。ビデオエンコーダ２０は、例示のためにＨＥＶＣコード化のコンテキストで記載されるが、変換係数の走査を必要とする場合がある他のコード化規格又はコード化方法に関して本開示を限定するものではない。ビデオエンコーダ２０は、ビデオフレーム内のＣＵのイントラコード化とインターコード化とを実行することができる。イントラコード化は、所与のビデオフレーム内のビデオデータの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの現在のフレームと以前にコード化されたフレームとの間の時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースのビデオ圧縮モードのいずれかを指す場合がある。単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベースのビデオ圧縮モードのいずれかを指す場合がある。
【００９６】
図４に示されたように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図４の例では、ビデオエンコーダ２０は、モード選択モジュール４０と、動き推定モジュール４２と、動き補償モジュール４４と、イントラ予測モジュール４６と、参照フレームバッファ６４と、加算器５０と、変換モジュール５２と、量子化モジュール５４と、エントロピー符号化モジュール５６とを含む。図４に示された変換モジュール５２は、残差データのブロックに実際の変換又は変換の組合せを適用するモジュールであり、ＣＵの変換単位（ＴＵ）と呼ばれる場合もある変換係数のブロックと混同されるべきでない。ビデオブロック復元のために、ビデオエンコーダ２０はまた、逆量子化モジュール５８と、逆変換モジュール６０と、加算器６２とを含む。ブロック境界をフィルタ処理して、復元されたビデオからブロック歪み（blockiness artifacts）を除去するデブロッキングフィルタ（図４に図示せず）が含まれる場合もある。所望される場合、デブロッキングフィルタは、通常、加算器６２の出力をフィルタ処理することになる。
【００９７】
符号化プロセス中に、ビデオエンコーダ２０は、符号化されるべきビデオのフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロック、例えば、最大コード化単位（ＬＣＵ）に分割することができる。動き推定モジュール４２及び動き補償モジュール４４は、時間圧縮を行うために、１つ又は複数の参照フレームの中の１つ又は複数のブロックに対して、受信されたビデオブロックのインター予測コード化を実行する。イントラ予測モジュール４６は、空間圧縮を行うために、コード化されるべきブロックと同じフレーム又はスライスの中の１つ又は複数の隣接ブロックに対して、受信されたビデオブロックのイントラ予測コード化を実行することができる。
【００９８】
モード選択モジュール４０は、例えば、モードごとの誤差（即ち、歪み）結果に基づいて、コード化モードのうちの１つ、イントラ又はインターを選択することができ、得られたイントラ又はインター予測ブロック（例えば、予測単位（ＰＵ））を加算器５０に供給して残差ブロックデータを生成し、加算器６２に供給して参照フレーム内で使用する符号化ブロックを復元する。加算器６２は、以下でより詳細に記載されるように、予測ブロックを、そのブロックについての逆変換モジュール６０からの逆量子化され逆変換されたデータと合成して、符号化ブロックを復元する。幾つかのビデオフレームはＩフレームとして指定することができ、Ｉフレーム内の全てのブロックはイントラ予測モードで符号化される。場合によっては、例えば、動き推定モジュール４２によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測モジュール４６は、Ｐフレーム又はＢフレームの中のブロックのイントラ予測符号化を実行することができる。
【００９９】
動き推定モジュール４２及び動き補償モジュール４４は、高度に統合される場合があるが、概念的な目的のために別々に示される。動き推定（又は動き探索）は、ビデオブロックについて動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照フレームの参照サンプルに対する、現在フレーム内の予測単位の変位を示すことができる。動き推定モジュール４２は、予測単位を参照フレームバッファ６４に記憶された参照フレームの参照サンプルと比較することによって、インターコード化フレームの予測単位用の動きベクトルを計算する。参照サンプルは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレーム又は参照スライス内のどこにでも発生する可能性があり、必ずしも、参照フレーム又はスライスのブロック（例えば、コード化単位）境界で発生するとは限らない。幾つかの例では、参照サンプルは分数画素位置で発生する場合がある。
【０１００】
動き推定モジュール４２は、計算された動きベクトルをエントロピー符号化モジュール５６と動き補償モジュール４４とに送る。動きベクトルによって識別される参照フレームの部分は、参照サンプルと呼ばれる場合がある。動き補償モジュール４４は、例えば、ＰＵ用の動きベクトルによって識別された参照サンプルを取り出すことによって、現在ＣＵの予測単位についての予測値を計算することができる。
【０１０１】
イントラ予測モジュール４６は、動き推定モジュール４２及び動き補償モジュール４４によって実行されるインター予測の代替として、受信ブロックをイントラ予測する場合がある。イントラ予測モジュール４６は、隣接する、以前にコード化されたブロック、例えば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの上、右上、左上、又は左のブロックに対して、受信ブロックを予測することができる。イントラ予測モジュール４６は多種多様なイントラ予測モードで構成することができる。例えば、イントラ予測モジュール４６は、符号化されているＣＵのサイズに基づいて、一定数の方向性予測モード、例えば、３４個の方向性予測モードで構成することができる。
【０１０２】
イントラ予測モジュール４６は、例えば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択することができる。方向性予測モードは、空間的に隣接する画素の値を合成し、その合成された値をＰＵ内の１つ又は複数の画素位置に適用するための機能を含むことができる。ＰＵ内の全ての画素位置についての値が計算されると、イントラ予測モジュール４６は、ＰＵと符号化されるべき受信ブロックとの間の画素差分に基づいて、予測モードについての誤差値を計算することができる。イントラ予測モジュール４６は、許容できる誤差値を生じるイントラ予測モードが発見されるまで、イントラ予測モードをテストし続けることができる。次いで、イントラ予測モジュール４６は、ＰＵを加算器５０に送ることができる。
【０１０３】
ビデオエンコーダ２０は、コード化されている元のビデオブロックから、動き補償モジュール４４又はイントラ予測モジュール４６によって計算された予測データを減算することによって、残差ブロックを形成する。加算器５０は、この減算演算を実行する１つ又は複数の構成要素を表す。残差ブロックは、画素差分値の２次元行列に対応することができ、残差ブロック内の値の数は、残差ブロックに対応するＰＵ内の画素の数と同じである。残差ブロック内の値は、ＰＵの中と、コード化されるべき元のブロックの中とで、同じ場所に位置する画素の値の差分、即ち誤差に対応することができる。差分は、コード化されるブロックのタイプに応じて、クロマ差分又はルーマ差分であり得る。
【０１０４】
変換モジュール５２は、残差ブロックから１つ又は複数の変換単位（ＴＵ）を形成することができる。変換モジュール５２は、複数の変換の中から１つの変換を選択する。変換は、ブロックサイズ、コード化モードなどの１つ又は複数のコード化特性に基づいて選択することができる。次いで、変換モジュール５２は、選択された変換をＴＵに適用して、変換係数の２次元アレイを備えるビデオブロックを生成する。
【０１０５】
変換モジュール５２は、得られた変換係数を量子化モジュール５４に送ることができる。次いで、量子化モジュール５４は変換係数を量子化することができる。次いで、エントロピー符号化モジュール５６は、走査モードに従って、行列内の量子化された変換係数の走査を実行することができる。本開示は、エントロピー符号化モジュール５６が走査を実行するものとして記載する。しかしながら、他の例では、量子化モジュール５４などの他の処理モジュールが走査を実行できることを理解されたい。
【０１０６】
逆量子化モジュール５８及び逆変換モジュール６０は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域において残差ブロックを復元する。動き補償モジュール４４は、残差ブロックを参照フレームバッファ６４のフレームのうちの１つの予測ブロックに加算することによって、参照ブロックを計算することができる。参照フレームバッファ６４は時々復号ピクチャバッファ（ＤＰＢ）と呼ばれる。動き補償モジュール４４はまた、復元された残差ブロックに１つ又は複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算することができる。加算器６２は、復元された残差ブロックを、動き補償モジュール４４によって生成された動き補償予測ブロックに加算して、参照フレームバッファ６４に記憶するための復元されたビデオブロックを生成する。復元されたビデオブロックは、後続のビデオフレーム内のブロックをインターコード化するために、動き推定モジュール４２及び動き補償モジュール４４によって参照ブロックとして使用することができる。
【０１０７】
変換係数が１次元アレイに走査されると、エントロピー符号化モジュール５６は、ＣＡＶＬＣ、ＣＡＢＡＣ、ＳＢＡＣ、ＰＩＰＥ、又は別のエントロピーコード化方法などのエントロピーコード化を係数に適用することができる。場合によっては、エントロピー符号化モジュール５６は、エントロピーコード化に加えて、他のコード化機能を実行するように構成される場合がある。例えば、エントロピー符号化モジュール５６は、ＣＵ及びＰＵ用のコード化ブロックパターン（ＣＢＰ）の値を決定するように構成される場合がある。また、場合によっては、エントロピー符号化モジュール５６は、係数のランレングスコード化を実行することができる。エントロピー符号化モジュール５６によるエントロピーコード化に続いて、得られた符号化ビデオは、ビデオデコーダ３０などの別の機器に送信されるか、又は後で送信するか若しくは取り出すためにアーカイブされる場合がある。
【０１０８】
本開示の技法によれば、エントロピー符号化モジュール５６は、例えば、表２〜表１３に関して上述されたコンテキスト割当て、又は以下の任意の組合せに基づいて、シンタックス要素を符号化するために使用されるコンテキストを選択することができる：イントラ予測モード用のイントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、変換タイプ、及び／又は他のビデオシーケンス特性。
【０１０９】
一例では、エントロピー符号化モジュール５６は、表１に関して上述された、ＨＥＶＣに採用された２値化技法を使用して、最後有意係数の位置を符号化することができる。他の例では、エントロピー符号化モジュール５６は、他の２値化技法を使用して、最後有意係数の位置を符号化することができる。一例では、最後有意係数の位置用のコードワードは、その後に固定長コードサフィックスが続く切捨て単項コードプレフィックスを含む場合がある。一例では、最後の位置の各大きさは、最後の位置がＴＵサイズマイナス１に等しいときを除き、全ての考えられるＴＵサイズに同じ２値化を使用することができる。この例外は切捨て単項コード化の特性に起因する。一例では、方形変換係数内の最後有意係数の位置は、ｘ座標の値とｙ座標の値とを指定することによって指定される場合がある。別の例では、変換係数ブロックは１×Ｎベクトルの形態であり得るし、ベクトル内の最後有意係数の位置は単一の位置値によって指定される場合がある。
【０１１０】
図５は、本開示に記載された技法を実施できる例示的なエントロピー符号化モジュール５６を示すブロック図である。一例では、図５に示されたエントロピー符号化モジュール５６は、ＣＡＢＡＣエンコーダであり得る。例示的なエントロピー符号化モジュール５６は、２値化モジュール５０２と、算術符号化モジュール５１０とを含む場合があり、算術符号化モジュール５１０は、バイパス符号化エンジン５０４と、正規符号化エンジン５０８と、コンテキストモデル化モジュール５０６とを含む。エントロピー符号化モジュール５６は、変換ブロック係数内の最後有意変換係数の位置を表す１つ又は複数のシンタックス要素などのシンタックス要素を受信し、そのシンタックス要素をビットストリームに符号化する。シンタックス要素は、変換係数ブロック内の最後有意係数の位置のｘ座標を指定するシンタックス要素と、変換係数ブロック内の最後有意係数の位置のｙ座標を指定するシンタックス要素とを含む場合がある。
【０１１１】
２値化モジュール５０２は、シンタックス要素を受信し、ビンストリング（即ち、バイナリストリング）を生成する。一例では、２値化モジュール５０２は、変換係数のブロック内の有意係数の最後の位置を表すシンタックス要素を受信し、表１に関して上述された例に従ってビンストリングを生成する。算術符号化モジュール５１０は、２値化モジュール５０２からビンストリングを受信し、そのビンストリングに対して算術符号化を実行する。図５に示されたように、算術符号化モジュール５１０は、バイパス経路又は正規コード化経路からビン値を受信することができる。上述されたＣＡＢＡＣプロセスに従って、算術符号化モジュール５１０がバイパス経路からビン値を受信する場合、バイパス符号化エンジン５０４は、ビン値に割り当てられたコンテキストを利用せずに、ビン値に対して算術符号化を実行することができる。一例では、バイパス符号化エンジン５０４は、ビンの考えられる値について等しい確率を仮定することができる。
【０１１２】
算術符号化モジュール５１０が正規経路を介してビン値を受信する場合、コンテキストモデル化モジュール５０６はコンテキスト変数（例えば、コンテキスト状態）を提供することができ、その結果、正規符号化エンジン５０８は、コンテキストモデル化モジュール５０６によって提供されたコンテキスト割当てに基づいて、算術符号化を実行することができる。一例では、算術符号化モジュール５１０は、コンテキスト割当てを使用してビットストリングのプレフィックス部分を符号化することができ、コンテキスト割当てを使用せずにビットストリングのサフィックス部分を符号化することができる。コンテキスト割当ては、表２〜表１３に関して上述された例に従って定義することができる。コンテキストモデルはメモリに記憶することができる。コンテキストモデル化モジュール５０６は、一連のインデックス付きデーブルを含み、及び／又はマッピング関数を利用してコンテキストと特定のビン用のコンテキスト変数とを決定することができる。ビン値を符号化した後、正規符号化エンジン５０８は、実際のビン値に基づいてコンテキストを更新し、符号化されたビン値をビットストリームの一部として出力することができる。このようにして、エントロピー符号化モジュールは、本明細書に記載されたコンテキスト割当て技法に基づいて、１つ又は複数のシンタックス要素を符号化するように構成される。
【０１１３】
図６は、本開示の技法により、最後有意係数の位置を示すバイナリストリング値用のコンテキストを決定するための例示的な方法を示すフローチャートである。図６に記載された方法は、本明細書に記載された例示的なビデオエンコーダ又はエントロピーエンコーダのいずれかによって実行することができる。ステップ６０２で、ビデオブロック内の最後有意変換係数の位置を示すバイナリストリングが取得される。バイナリストリングは、表１に関して記載された２値化方式に従って定義することができる。ステップ６０４で、バイナリストリングのビン値についてコンテキストが決定される。コンテキストは、本明細書に記載された技法に基づいて、ビンに割り当てることができる。コンテキストは、参照テーブルにアクセスするか、又はマッピング関数を実行するビデオエンコーダ又はエントロピーエンコーダによって決定することができる。コンテキストは、特定のビン用の特定のコンテキスト変数を導出するために使用することができる。コンテキスト変数は、６４個の考えられる確率（状態）のうちの１つと最も可能性がある状態（例えば、「１」又は「０」）とを示す７ビットのバイナリ値であり得る。上述されたように、場合によっては、ビンは、上述のマッピング関数と表２〜表１３とに従って、コンテキストを共有することができる。ステップ６０６で、ＣＡＢＡＣなどの、コンテキスト変数を利用する算術符号化プロセスを使用して、ビン値が符号化される。ビンがコンテキストを共有するとき、１つのビンの値は、コンテキスト適応型符号化技法に従って後続のビンを符号化するために使用される、コンテキスト変数の値に影響を及ぼす場合があることに留意されたい。例えば、特定のビンが「１」である場合、後続のビンは、増加された１である確率に基づいて符号化される場合がある。このようにして、バイナリストリングをエントロピー符号化することは、コンテキストモデルのコンテキスト状態を更新することを含む場合がある。更に、幾つかの例では、スライス内のビンの値が後続のスライス内のビンの符号化に影響を及ぼすことができないように、コンテキストモデルはスライスレベルで初期化できることに留意されたい。
【０１１４】
図７は、本開示に記載されるように、変換係数をコード化するための技法を使用できるビデオデコーダ３０の例を示すブロック図である。例えば、ビデオデコーダ３０は、ビデオブロック内の最後有意係数の位置を示す、ＣＡＢＡＣを使用して符号化された符号化バイナリストリングを取得することと、ビデオブロックのサイズに基づいて符号化バイナリストリングのバイナリインデックス用のコンテキストを決定することと、コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して符号化バイナリストリングを復号することとを行うように構成されたビデオデコーダの例を表す。
【０１１５】
図７の例では、ビデオデコーダ３０は、エントロピー復号モジュール７０と、動き補償モジュール７２と、イントラ予測モジュール７４と、逆量子化モジュール７６と、逆変換モジュール７８と、参照フレームバッファ８２と、加算器８０とを含む。幾つかの例では、ビデオデコーダ３０は、ビデオエンコーダ２０に関して記載された符号化パスとは全体的に逆の復号パスを実行することができる。
【０１１６】
エントロピー復号モジュール７０は、変換係数の１次元アレイを取り出すために、符号化ビットストリームに対してエントロピー復号プロセスを実行する。使用されるエントロピー復号プロセスは、ビデオエンコーダ２０によって使用されたエントロピーコード化（例えば、ＣＡＢＡＣ、ＣＡＶＬＣなど）に依存する。エンコーダによって使用されたエントロピーコード化プロセスは、符号化ビットストリーム内で通知され得るか、又は予め決められたプロセスであり得る。
【０１１７】
幾つかの例では、エントロピー復号モジュール７０（又は逆量子化モジュール７６）は、ビデオエンコーダ２０のエントロピー符号化モジュール５６（又は量子化モジュール５４）によって使用された走査モードをミラーリングする走査を使用して、受信された値を走査することができる。係数の走査は逆量子化モジュール７６において実行され得るが、走査は、例示のために、エントロピー復号モジュール７０によって実行されるものとして記載される。加えて、説明しやすいように別個の機能モジュールとして示されているが、ビデオデコーダ３０のエントロピー復号モジュール７０、逆量子化モジュール７６、及び他のモジュールの構造及び機能は、互いに高度に統合される場合がある。
【０１１８】
逆量子化モジュール７６は、ビットストリーム内で供給され、エントロピー復号モジュール７０によって復号された、量子化変換係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、例えば、ＨＥＶＣ用に提案されたプロセス、又はＨ．２６４復号規格によって定義されたプロセスと同様の、従来のプロセスを含むことができる。逆量子化プロセスは、ＣＵが量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、ビデオエンコーダ２０によって計算された量子化パラメータＱＰの使用を含むことができる。逆量子化モジュール７６は、係数が１次元アレイから２次元アレイに変換される前、又は変換された後に変換係数を逆量子化することができる。
【０１１９】
逆変換モジュール７８は、逆量子化された変換係数に逆変換を適用する。幾つかの例では、逆変換モジュール７８は、ビデオエンコーダ２０からの通知に基づいて、又はブロックサイズ、コード化モードなどの１つ又は複数のコード化特性から変換を推論することによって、逆変換を決定することができる。幾つかの例では、逆変換モジュール７８は、現在ブロックを含むＬＣＵ用の４分木のルートノードで通知された変換に基づいて、現在ブロックに適用すべき変換を決定することができる。代替として、変換は、ＬＣＵ４分木内のリーフノードＣＵ用のＴＵ４分木のルートで通知することができる。幾つかの例では、逆変換モジュール７８は、逆変換モジュール７８が復号されている現在ブロックの変換係数に２つ以上の逆変換を適用する、カスケード逆変換を適用することができる。
【０１２０】
イントラ予測モジュール７４は、通知されたイントラ予測モードと、現在フレームの以前に復号されたブロックからのデータとに基づいて、現在フレームの現在ブロックについての予測データを生成することができる。動き補償モジュール７２は、符号化ビットストリームから、動きベクトルと、動き予測方向と、参照インデックスとを取り出すことができる。参照予測方向は、インター予測モードが単方向である（例えば、Ｐフレーム）か、双方向である（Ｂフレーム）かを示す。参照インデックスは、候補動きベクトルがどの参照フレームに基づくかを示す。取り出された動き予測方向と、参照フレームインデックスと、動きベクトルとに基づいて、動き補償モジュール７２は現在部分用の動き補償ブロックを生成する。これらの動き補償ブロックは、基本的に、残差データを生成するために使用される予測ブロックを再現する。
【０１２１】
動き補償モジュール７２は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行することができる。サブ画素精度を有する動き推定に使用されるべき補間フィルタ用の識別子は、シンタックス要素内に含まれる場合がある。動き補償モジュール７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素用の補間値を計算することができる。動き補償モジュール７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成することができる。
【０１２２】
加えて、動き補償モジュール７２及びイントラ予測モジュール７４は、ＨＥＶＣの例では、（例えば、４分木によって提供される）シンタックス情報の一部を使用して、符号化ビデオシーケンスのフレームを符号化するために使用されたＬＣＵのサイズを決定することができる。動き補償モジュール７２及びイントラ予測モジュール７４はまた、シンタックス情報を使用して、符号化ビデオシーケンスのフレームの各ＣＵがどのように分割されるか（かつ、同様に、サブＣＵがどのように分割されるか）を記述する分割情報を決定することができる。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード（例えば、イントラ予測又はインター予測、及びイントラ予測の場合はイントラ予測符号化モード）と、各インター符号化ＰＵについての１つ又は複数の参照フレーム（及び／又はそれらの参照フレーム用の識別子を含んでいる参照リスト）と、符号化ビデオシーケンスを復号するための他の情報とを含むことができる。
【０１２３】
加算器８０は、残差ブロックを、動き補償モジュール７２又はイントラ予測モジュール７４によって生成された対応する予測ブロックと合成して、復号ブロックを形成する。必要な場合、ブロック歪みを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理することもできる。次いで、復号ビデオブロックは、参照フレームバッファ８２に記憶され、参照フレームバッファ８２は、その後の動き補償用の参照ブロックを提供し、また、（図１の表示装置３２などの）表示装置上の提示用の復号ビデオを生成する。参照フレームバッファ８２はＤＰＢと呼ばれる場合もある。
【０１２４】
図８は、本開示に記載された技法を実施できる例示的なエントロピー復号モジュール７０を示すブロック図である。エントロピー復号モジュール７０は、エントロピー符号化ビットストリームを受信し、そのビットストリームからのシンタックス要素を復号する。一例では、シンタックス要素は、変換ブロック係数内の最後有意変換係数の位置を表すことができる。シンタックス要素は、変換係数ブロック内の最後有意係数の位置のｘ座標を指定するシンタックス要素と、変換係数ブロック内の最後有意係数の位置のｙ座標を指定するシンタックス要素とを含む場合がある。一例では、図８に示されたエントロピー復号モジュール７０は、ＣＡＢＡＣデコーダであり得る。図８の例示的なエントロピー復号モジュール７０は、算術復号モジュール７０２を含み、算術復号モジュール７０２は、バイパス復号エンジン７０４と正規復号エンジン７０６とを含む場合がある。例示的なエントロピー復号モジュール７０はまた、コンテキストモデル化ユニット７０８と、逆２値化モジュール７１０とを含む。例示的なエントロピー復号モジュール７０は、図５に関して記載された例示的なエントロピー符号化モジュール５６の逆の機能を実行することができる。このようにして、エントロピー復号モジュール７０は、本明細書に記載されたコンテキスト割当て技法に基づいて、エントロピー復号を実行することができる。
【０１２５】
算術復号モジュール７０２は符号化ビットストリームを受信する。図８に示されたように、算術復号モジュール７０２は、バイパス経路又は正規コード化経路からの符号化されたビン値を処理することができる。符号化されたビン値がバイパス経路に従って処理されるべきか、又は正規経路に従って処理されるべきかの指示は、より高いレベルのシンタックスを有するビットストリーム内で通知することができる。上述されたＣＡＢＡＣプロセスに従って、算術復号モジュール７０２がバイパス経路からビン値を受信する場合、バイパス復号エンジン７０４は、ビン値に割り当てられたコンテキストを利用せずに、ビン値に対して算術復号を実行することができる。一例では、バイパス復号エンジン７０４は、ビンの考えられる値について等しい確率を仮定することができる。
【０１２６】
算術復号モジュール７０２が正規経路を介してビン値を受信する場合、コンテキストモデル化モジュール７０８はコンテキスト変数を提供することができ、その結果、正規復号エンジン７０６は、コンテキストモデル化モジュール７０８によって提供されたコンテキスト割当てに基づいて、算術復号を実行することができる。コンテキスト割当ては、表２〜表１３に関して上述された例に従って定義することができる。コンテキストモデルはメモリに記憶することができる。コンテキストモデル化モジュール７０８は、一連のインデックス付きデーブルを含み、及び／又はマッピング関数を利用して、符号化ビットストリームのコンテキストとコンテキスト変数部分とを決定することができる。ビン値を復号した後、正規復号エンジン７０６は、復号されたビン値に基づいてコンテキストを更新することができる。更に、逆２値化モジュール７１０は、ビン値に対して逆２値化を実行し、ビン照合関数を使用してビン値が有効かどうかを決定することができる。逆２値化モジュール７１０はまた、照合決定に基づいてコンテキストモデル化モジュールを更新することができる。従って、逆２値化モジュール７１０は、コンテキスト適応型復号技法に従ってシンタックス要素を出力する。このようにして、エントロピー復号モジュール７０は、本明細書に記載されたコンテキスト割当て技法に基づいて、１つ又は複数のシンタックス要素を復号するように構成される。
【０１２７】
図９は、本開示の技法により、バイナリストリングからの変換係数内の最後有意係数の位置を示す値を決定するための例示的な方法を示すフローチャートである。図９に記載された方法は、本明細書に記載された例示的なビデオデコーダ又はエントロピー復号ユニットのいずれかによって実行することができる。ステップ９０２で、符号化ビットストリームが取得される。符号化ビットストリームは、メモリから、又は伝送を介して取り出すことができる。符号化ビットストリームは、ＣＡＢＡＣ符号化プロセス又は別のエントロピーコード化プロセスに従って符号化することができる。ステップ９０４で、符号化バイナリストリングの部分についてコンテキストが決定される。コンテキストは、本明細書に記載された技法に基づいて、符号化されたビンに割り当てることができる。コンテキストは、参照テーブルにアクセスするか、又はマッピング関数を実行する、ビデオデコーダ又はエントロピーデコーダによって決定することができる。コンテキストは、符号化ビットストリーム内に提供されたより高いレベルのシンタックスに基づいて決定することができる。コンテキストは、特定の符号化されたビン用の特定のコンテキスト変数を導出するために使用することができる。上述されたように、コンテキスト変数は、６４個の考えられる確率（状態）のうちの１つと最も可能性がある状態（例えば、「１」又は「０」）とを示す７ビットのバイナリ値であり得るし、場合によっては、ビンは、コンテキストを共有することができる。ステップ９０６で、ＣＡＢＡＣなどの、コンテキスト変数を利用する算術復号プロセスを使用して、バイナリストリングが復号される。バイナリストリングはビンごとのベースで復号することができ、コンテキストモデルは各ビンを復号した後更新される。復号ビットストリームは、符号化ビデオデータに関連する変換係数を復号するために更に使用されるシンタックス要素を含む場合がある。このようにして、上述された技法を利用する特定のビンへのコンテキストの割当ては、符号化ビデオデータの効率的な復号を提供することができる。
【０１２８】
１つ又は複数の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せに実装することができる。ソフトウェアに実装される場合、機能は、１つ又は複数の命令又はコードとして、コンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行することができる。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、データ記憶媒体又は通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含むことができる。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、又は（２）信号若しくは搬送波などの通信媒体に対応することができる。データ記憶媒体は、本開示に記載された技法を実施するための命令、コード及び／又はデータ構造を取り出すために、１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含むことができる。
【０１２９】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭ又は他の光ディスク記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶装置、フラッシュメモリ、又は命令若しくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得るし、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１３０】
命令は、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、又は他の等価な集積回路若しくはディスクリート論理回路などの、１つ又は複数のプロセッサによって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書に記載された技法の実装に適した他の構造のいずれかを指す場合がある。加えて、幾つかの態様では、本明細書に記載された機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアのモジュール内に提供されるか、又は複合コーデックに組み込まれ得る。また、本技法は、１つ又は複数の回路又は論理要素に完全に実装することができる。
【０１３１】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置に実装され得る。開示された技法を実行するように構成された機器の機能的態様を強調するために、様々な構成要素、モジュール、又はユニットが本開示に記載されたが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上述されたように、様々なユニットが、適切なソフトウェア及び／又はファームウェアとともに、上述された１つ又は複数のプロセッサを含めて、コーデックハードウェアユニットに組み合わせられるか、又は相互動作ハードウェアユニットの集合によって提供され得る。
【０１３２】
様々な例が記載された。これら及び他の例は、以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオブロック用の変換係数を符号化する方法であって、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示すバイナリストリングを取得することと、ビデオブロックのサイズに基づいて前記バイナリストリングのバイナリインデックス用のコンテキストを決定することと、前記コンテキストが少なくとも２つのバイナリインデックスに割り当てられ、前記少なくとも２つのバイナリインデックスの各々が異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に前記決定されたコンテキストに基づいて、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して前記バイナリストリングを符号化することとを備える、方法。
［２］  下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って、前記コンテキストが前記少なくとも２つのバイナリインデックスの各々に割り当てられ、
【数４】
0005955974.tif 000018
ｎが前記バイナリインデックスであり、Ｔが前記ビデオブロックの寸法である、［１］に記載の方法。
［３］  前記コンテキストが、１６×１６のビデオブロックの最後のバイナリインデックス、及び３２×３２のビデオブロックの最後のバイナリインデックスに割り当てられる、［１］に記載の方法。
［４］  第２のコンテキストが、前記１６×１６のビデオブロックの隣接するバイナリインデックスに割り当てられる、［３］に記載の方法。
［５］  少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記バイナリストリングを符号化することが、前記バイナリストリングの値に基づいて前記コンテキストを更新することを含み、第２のビデオブロック内の最後有意係数の位置を示す第２のバイナリストリングを取得することと、少なくとも部分的に前記更新されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記第２のバイナリストリングを符号化することと
を更に備え、前記ビデオブロックと前記第２のビデオブロックが異なるサイズである、［１］に記載の方法。
［６］  変換係数を復号する方法であって、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示す符号化バイナリストリングを取得することと、前記符号化バイナリストリングはコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して符号化される、ビデオブロックのサイズに基づいて前記符号化バイナリストリングのバイナリインデックス用のコンテキストを決定することと、前記コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、前記少なくとも２つのバイナリインデックスの各々は異なるビデオブロックサイズに関連付けられる、少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記符号化バイナリストリングを復号することとを備える、方法。
［７］  下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って、前記コンテキストが前記少なくとも２つのバイナリインデックスの各々に割り当てられ、
【数５】
0005955974.tif 000019
ｎが前記バイナリインデックスであり、Ｔが前記ビデオブロックの寸法である、［６］に記載の方法。
［８］  前記コンテキストが、１６×１６のビデオブロックの最後のバイナリインデックス、及び３２×３２のビデオブロックの最後のバイナリインデックスに割り当てられる、［６］に記載の方法。
［９］  第２のコンテキストが、前記１６×１６のビデオブロックの隣接するバイナリインデックスに割り当てられる、［８］に記載の方法。
［１０］  少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記符号化バイナリストリングを復号することは、前記符号化バイナリストリングの値に基づいて前記コンテキストを更新することを含み、第２のビデオブロック内の最後有意係数の位置を示す第２の符号化バイナリストリングを取得することと、少なくとも部分的に前記更新されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記第２の符号化バイナリストリングを復号することとを更に備え、前記ビデオブロックと前記第２のビデオブロックは異なるサイズである、［６］に記載の方法。
［１１］  ビデオブロック用の変換係数を符号化するように構成された装置であって、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示すバイナリストリングを取得するための手段と、ビデオブロックのサイズに基づいて前記バイナリストリングのバイナリインデックス用のコンテキストを決定するための手段と、前記コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、前記少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に前記決定されたコンテキストに基づいて、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して前記バイナリストリングを符号化するための手段とを備える、装置。
［１２］  下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って、前記コンテキストは前記少なくとも２つのバイナリインデックスの各々に割り当てられ、
【数６】
0005955974.tif 000020
ｎが前記バイナリインデックスであり、Ｔが前記ビデオブロックの寸法である、［１１］に記載の装置。
［１３］  少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記バイナリストリングを符号化することは、前記バイナリストリングの値に基づいて前記コンテキストを更新することを含み、第２のビデオブロック内の最後有意係数の位置を示す第２のバイナリストリングを取得するための手段と、少なくとも部分的に前記更新されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記第２のバイナリストリングをエントロピーコード化するための手段とを更に備え、前記ビデオブロックと前記第２のビデオブロックが異なるサイズである、［１１］に記載の装置。
［１４］  ビデオブロック用の変換係数を復号するように構成された装置であって、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示す、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して符号化された符号化バイナリストリングを取得するための手段と、ビデオブロックのサイズに基づいて前記符号化バイナリストリングのバイナリインデックス用のコンテキストを決定するための手段と、前記コンテキストが少なくとも２つのバイナリインデックスに割り当てられ、前記少なくとも２つのバイナリインデックスの各々が異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記符号化バイナリストリングを復号するための手段とを備える、装置。
［１５］  下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って、前記コンテキストが前記少なくとも２つのバイナリインデックスの各々に割り当てられ、
【数７】
0005955974.tif 000021
ｎが前記バイナリインデックスであり、Ｔが前記ビデオブロックの寸法である、［１４］に記載の装置。
［１６］  少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記符号化バイナリストリングを復号することは、前記符号化バイナリストリングの値に基づいて前記コンテキストを更新することを含み、第２のビデオブロック内の最後有意係数の位置を示す第２の符号化バイナリストリングを取得するための手段と、少なくとも部分的に前記更新されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記第２の符号化バイナリストリングを復号するための手段とを備え、前記ビデオブロックと前記第２のビデオブロックとは異なるサイズである、［１４］に記載の装置。
［１７］  ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示すバイナリストリングを取得することと、ビデオブロックのサイズに基づいて前記バイナリストリングのバイナリインデックス用のコンテキストを決定することと、前記コンテキストが少なくとも２つのバイナリインデックスに割り当てられ、前記少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に前記決定されたコンテキストに基づいて、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して前記バイナリストリングを符号化することとを行うように構成されたビデオエンコーダを備える、装置。
［１８］  下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って、前記コンテキストは前記少なくとも２つのバイナリインデックスの各々に割り当てられ、
【数８】
0005955974.tif 000022
ｎが前記バイナリインデックスであり、Ｔが前記ビデオブロックの寸法である、［１７］に記載の装置。
［１９］  前記コンテキストは、１６×１６のビデオブロックの最後のバイナリインデックス、及び３２×３２のビデオブロックの最後のバイナリインデックスに割り当てられる、［１７］に記載の装置。
［２０］  第２のコンテキストは、前記１６×１６のビデオブロックの隣接するバイナリインデックスに割り当てられる、［１９］に記載の装置。
［２１］  少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記バイナリストリングを符号化することは、前記バイナリストリングの値に基づいて前記コンテキストを更新することを含み、前記ビデオエンコーダが、第２のビデオブロック内の最後有意係数の位置を示す第２のバイナリストリングを取得することと、少なくとも部分的に前記更新されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記第２のバイナリストリングを符号化することとを行うように更に構成され、前記ビデオブロックと前記第２のビデオブロックが異なるサイズである、［１７］に記載の装置。
［２２］  ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示す、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して符号化された符号化バイナリストリングを取得することと、ビデオブロックのサイズに基づいて前記符号化バイナリストリングのバイナリインデックス用のコンテキストを決定することと、前記コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、前記少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記符号化バイナリストリングを復号することとを行うように構成されたビデオデコーダを備える、装置。
［２３］  下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って、前記コンテキストは前記少なくとも２つのバイナリインデックスの各々に割り当てられ、
【数９】
0005955974.tif 000023
ｎが前記バイナリインデックスであり、Ｔが前記ビデオブロックの寸法である、［２２］に記載の装置。
［２４］  前記コンテキストが、１６×１６のビデオブロックの最後のバイナリインデックス、及び３２×３２のビデオブロックの最後のバイナリインデックスに割り当てられる、［２２］に記載の装置。
［２５］  第２のコンテキストが、前記１６×１６のビデオブロックの隣接するバイナリインデックスに割り当てられる、［２４］に記載の装置。
［２６］  少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記符号化されたバイナリストリングを復号することが、前記符号化されたバイナリストリングの値に基づいて前記コンテキストを更新することを含み、前記ビデオデコーダが、第２のビデオブロック内の最後有意係数の位置を示す第２の符号化バイナリストリングを取得することと、少なくとも部分的に前記更新されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記第２の符号化バイナリストリングを復号することとを行うように更に構成され、前記ビデオブロックと前記第２のビデオブロックが異なるサイズである、［２２］に記載の装置。
［２７］  実行されると、ビデオ符号化装置の１つ以上のプロセッサに、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示すバイナリストリングを取得することと、ビデオブロックのサイズに基づいて前記バイナリストリングのバイナリインデックス用のコンテキストを決定することと、前記コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、前記少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に前記決定されたコンテキストに基づいて、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して前記バイナリストリングを符号化することとを行わせる命令を記憶する、非一時的コンピュータ可読記憶媒体。
［２８］  下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って、前記コンテキストは前記少なくとも２つのバイナリインデックスの各々に割り当てられ、
【数１０】
0005955974.tif 000024
ｎが前記バイナリインデックスであり、Ｔが前記ビデオブロックの寸法である、［２７］に記載の非一時的コンピュータ可読記憶媒体。
［２９］  前記コンテキストが、１６×１６のビデオブロックの最後のバイナリインデックス、及び３２×３２のビデオブロックの最後のバイナリインデックスに割り当てられる、［２７］に記載の非一時的コンピュータ可読記憶媒体。
［３０］  第２のコンテキストは、前記１６×１６のビデオブロックの隣接するバイナリインデックスに割り当てられる、［２９］に記載の非一時的コンピュータ可読記憶媒体。
［３１］  少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記バイナリストリングを符号化することは、前記バイナリストリングの値に基づいて前記コンテキストを更新することを含み、前記命令が、実行されると、ビデオ符号化装置の１つ以上のプロセッサに、第２のビデオブロック内の最後有意係数の位置を示す第２のバイナリストリングを取得することと、少なくとも部分的に前記更新されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記第２のバイナリストリングを符号化することとを更に行わせ、前記ビデオブロックと前記第２のビデオブロックが異なるサイズである、［２７］に記載の非一時的コンピュータ可読記憶媒体。
［３２］  実行されると、ビデオ復号装置の１つ以上のプロセッサに、ビデオブロックに関連付けられた変換係数のブロック内の最後有意係数の位置を示す符号化された符号化バイナリストリングを取得することと、前記符号化された符号化バイナリストリングはコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して符号化される、ビデオブロックのサイズに基づいて前記符号化バイナリストリングのバイナリインデックス用のコンテキストを決定することと、前記コンテキストは少なくとも２つのバイナリインデックスに割り当てられ、前記少なくとも２つのバイナリインデックスの各々は異なるビデオブロックのサイズに関連付けられる、少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記符号化バイナリストリングを復号することとを行わせる命令を記憶する、非一時的コンピュータ可読記憶媒体。
［３３］  下記関数によって定義されたコンテキストインデックス（ｃｔｘ＿ｉｎｄｅｘ）に従って、前記コンテキストは前記少なくとも２つのバイナリインデックスの各々に割り当てられ、
【数１１】
0005955974.tif 000025
ｎが前記バイナリインデックスであり、Ｔが前記ビデオブロックの寸法である、［３２］に記載の非一時的コンピュータ可読記憶媒体。
［３４］  前記コンテキストが、１６×１６のビデオブロックの最後のバイナリインデックス、及び３２×３２のビデオブロックの最後のバイナリインデックスに割り当てられる、［３２］に記載の非一時的コンピュータ可読記憶媒体。
［３５］  第２のコンテキストが、前記１６×１６のビデオブロックの隣接するバイナリインデックスに割り当てられる、［３４］に記載の非一時的コンピュータ可読記憶媒体。
［３６］  少なくとも部分的に前記決定されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記符号化バイナリストリングを復号することは、前記符号化バイナリストリングの値に基づいて前記コンテキストを更新することを含み、前記命令が、実行されると、ビデオ復号装置の１つ以上のプロセッサに、第２のビデオブロック内の最後有意係数の位置を示す第２の符号化バイナリストリングを取得することと、少なくとも部分的に前記更新されたコンテキストに基づいて、ＣＡＢＡＣを使用して前記第２の符号化バイナリストリングを復号することとを行わせ、前記ビデオブロックと前記第２のビデオブロックが異なるサイズである、［３２］に記載の非一時的コンピュータ可読記憶媒体。
【図１】
0005955974.tif 000034
【図２Ａ】
0005955974.tif 000035
【図２Ｂ】
0005955974.tif 000036
【図２Ｃ】
0005955974.tif 000037
【図２Ｄ】
0005955974.tif 000038
【図３】
0005955974.tif 000039
【図４】
0005955974.tif 000040
【図５】
0005955974.tif 000041
【図６】
0005955974.tif 000042
【図７】
0005955974.tif 000043
【図８】
0005955974.tif 000044
【図９】
0005955974.tif 000045