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