(57)【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、
４分木データ構造を表す情報をコーディングすることであって、前記４分木データ構造が前記ビデオデータのコーディングユニットのサイズを定義する、コーディングすることと、
残差４分木変換（ＲＱＴ）データ構造を表す情報をコーディングすることであって、前記ＲＱＴを表す前記情報をコーディングすることが、前記コーディングユニットの変換ユニットが正方形か非正方形かを示す情報をコーディングすることを備える、コーディングすることと、
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて、単一の正方形変換ではなく、複数の非正方形変換を適用し、非正方形ブロックの各々を個別に変換する、前記変換ユニットの量子化パラメータを表すデータをコーディングすることと
を備える、方法。
【請求項２】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、変換選択フラグをコーディングすることを備える、請求項１に記載の方法。
【請求項３】
前記変換ユニットが子変換ユニットを備え、前記方法が、前記子変換ユニットに対する親変換ユニットが分割されるかどうかを示す情報をコーディングすることをさらに備え、前記子変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記子変換ユニットが正方形か非正方形かを示す前記情報を、前記親変換ユニットが分割される場合にのみコーディングすることを備える、請求項２に記載の方法。
【請求項４】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記変換ユニットが対応する前記ＲＱＴデータ構造のレベルを示す情報をコーディングすることを備える、請求項１に記載の方法。
【請求項５】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記変換ユニットがクロミナンス成分に対応するか輝度成分に対応するかに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることを備える、請求項１に記載の方法。
【請求項６】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記変換ユニットに対応する予測ユニットが正方形か非正方形かに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることを備える、請求項１に記載の方法。
【請求項７】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記変換ユニットに対応する予測ユニットが正方形か非正方形かを示す情報をコーディングすることを備える、請求項１に記載の方法。
【請求項８】
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化パラメータを決定することをさらに備える、請求項１に記載の方法。
【請求項９】
前記変換ユニットが非正方形である場合、前記変換ユニットの短い方の端から開始する走査パターンを適用して、前記変換ユニットの係数を変換することをさらに備える、請求項１に記載の方法。
【請求項１０】
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて前記変換ユニットのデータをコーディングすることが、前記変換ユニットが非正方形である場合、前記変換ユニットの短い方の端の位置に基づいて前記データをコーディングするためのコンテキストを選択することを備える、請求項１に記載の方法。
【請求項１１】
前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報を復号することを備え、
前記変換ユニットの前記データをコーディングすることが、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を復号することと、
前記量子化された変換係数を逆量子化することと、
前記変換係数を逆変換して、前記変換ユニットに対応するコーディングユニットの少なくとも一部分に対する残差データを生成することと
を備える、請求項１に記載の方法。
【請求項１２】
前記変換ユニットの前記データをコーディングすることが、
コーディングユニットの少なくとも一部分に対する残差データを計算することと、
前記残差データを変換して変換係数を生成することと、
前記変換係数を量子化することと、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を符号化することとを備え、
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記変換ユニットが正方形か非正方形かを示す前記情報を符号化すること
を備える、請求項１に記載の方法。
【請求項１３】
正方形変換ユニットを使用して前記コーディングユニットをコーディングした結果と、非正方形変換ユニットを使用して前記コーディングユニットをコーディングした結果とを比較することと、
前記比較に基づいて、正方形変換ユニットと非正方形変換ユニットのいずれかを選択することと
をさらに備える、請求項１２に記載の方法。
【請求項１４】
ビデオコーダを備える、ビデオデータをコーディングするためのデバイスであって、前記ビデオコーダが、４分木データ構造を表す情報をコーディングすることであって、前記４分木データ構造が前記ビデオデータのコーディングユニットのサイズを定義する、コーディングすることと、残差４分木変換（ＲＱＴ）データ構造を表す情報をコーディングすることであって、前記ＲＱＴデータ構造を表す前記情報が、前記コーディングユニットの変換ユニットが正方形か非正方形かを示す情報を含む、コーディングすることと、前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて、単一の正方形変換ではなく、複数の非正方形変換を適用し、非正方形ブロックの各々を個別に変換する、前記変換ユニットの量子化パラメータを表すデータをコーディングすることとを行うように構成される、デバイス。
【請求項１５】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするために、前記ビデオコーダが、変換選択フラグをコーディングするように構成される、請求項１４に記載のデバイス。
【請求項１６】
前記変換ユニットが子変換ユニットを備え、前記ビデオコーダがさらに、前記子変換ユニットに対する親変換ユニットが分割されるかどうかを示す情報をコーディングするように構成され、前記ビデオコーダが、前記子変換ユニットが正方形か非正方形かを示す前記情報を、前記親変換ユニットが分割される場合にのみコーディングするように構成される、請求項１５に記載のデバイス。
【請求項１７】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするために、前記ビデオコーダが、前記変換ユニットが対応する前記ＲＱＴデータ構造のレベルを示す情報をコーディングするように構成される、請求項１４に記載のデバイス。
【請求項１８】
前記ビデオコーダが、前記変換ユニットがクロミナンス成分に対応するか輝度成分に対応するかに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするように構成される、請求項１４に記載のデバイス。
【請求項１９】
前記ビデオコーダが、前記変換ユニットに対応する予測ユニットが正方形か非正方形かに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするように構成される、請求項１４に記載のデバイス。
【請求項２０】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするために、前記ビデオコーダが、前記変換ユニットに対応する予測ユニットが正方形か非正方形かを示す情報をコーディングするように構成される、請求項１４に記載のデバイス。
【請求項２１】
前記ビデオコーダがさらに、前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化パラメータを決定するように構成される、請求項１４に記載のデバイス。
【請求項２２】
前記ビデオコーダが、前記変換ユニットが非正方形である場合、前記変換ユニットの短い方の端から開始する走査パターンを適用して、前記変換ユニットの係数を変換するように構成される、請求項１４に記載のデバイス。
【請求項２３】
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて前記変換ユニットのデータをコーディングするために、前記変換ユニットが非正方形である場合、前記ビデオコーダが、前記変換ユニットの短い方の端の位置に基づいて前記データをコーディングするためのコンテキストを選択するように構成される、請求項１４に記載のデバイス。
【請求項２４】
前記ビデオコーダがビデオデコーダを備え、前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするために、前記ビデオデコーダが、前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報を復号するように構成され、前記変換ユニットの前記データをコーディングするために、前記ビデオデコーダが、前記変換ユニットが正方形か非正方形かに基づいて前記変換ユニットの量子化された変換係数を復号し、前記量子化された変換係数を逆量子化し、前記変換係数を逆変換して、前記変換ユニットに対応するコーディングユニットの少なくとも一部分に対する残差データを生成するように構成される、請求項１４に記載のデバイス。
【請求項２５】
前記ビデオコーダがビデオエンコーダを備え、前記変換ユニットの前記データをコーディングするために、前記ビデオエンコーダが、コーディングユニットの少なくとも一部分に対する残差データを計算し、前記残差データを変換して変換係数を生成し、前記変換係数を量子化し、前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの前記量子化された変換係数を符号化するように構成され、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするために、前記ビデオエンコーダが、前記変換ユニットが正方形か非正方形かを示す前記情報を符号化するように構成される、請求項１４に記載のデバイス。
【請求項２６】
集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、請求項１４に記載のデバイス。
【請求項２７】
ビデオデータをコーディングするためのデバイスであって、
４分木データ構造を表す情報をコーディングするための手段であって、前記４分木データ構造が前記ビデオデータのコーディングユニットのサイズを定義する、手段と、
残差４分木変換（ＲＱＴ）データ構造を表す情報をコーディングするための手段であって、前記ＲＱＴを表す前記情報をコーディングすることが、前記コーディングユニットの変換ユニットが正方形か非正方形かを示す情報をコーディングすることを備える、手段と、
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて、単一の正方形変換ではなく、複数の非正方形変換を適用し、非正方形ブロックの各々を個別に変換する、前記変換ユニットの量子化パラメータを表すデータをコーディングするための手段と
を備える、デバイス。
【請求項２８】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、変換選択フラグをコーディングするための手段を備える、請求項２７に記載のデバイス。
【請求項２９】
前記変換ユニットが子変換ユニットを備え、前記デバイスが、前記子変換ユニットに対する親変換ユニットが分割されるかどうかを示す情報をコーディングするための手段をさらに備え、前記子変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記子変換ユニットが正方形か非正方形かを示す前記情報を、前記親変換ユニットが分割される場合にのみコーディングするための手段を備える、請求項２８に記載のデバイス。
【請求項３０】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記変換ユニットが対応する前記ＲＱＴデータ構造のレベルを示す情報をコーディングするための手段を備える、請求項２７に記載のデバイス。
【請求項３１】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記変換ユニットがクロミナンス成分に対応するか輝度成分に対応するかに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための手段を備える、請求項２７に記載のデバイス。
【請求項３２】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記変換ユニットに対応する予測ユニットが正方形か非正方形かに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための手段を備える、請求項２７に記載のデバイス。
【請求項３３】
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記変換ユニットに対応する予測ユニットが正方形か非正方形かを示す情報をコーディングするための手段を備える、請求項２７に記載のデバイス。
【請求項３４】
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化パラメータを決定するための手段をさらに備える、請求項２７に記載のデバイス。
【請求項３５】
前記変換ユニットが非正方形である場合、前記変換ユニットの短い方の端から開始する走査パターンを適用して、前記変換ユニットの係数を変換するための手段をさらに備える、請求項２７に記載のデバイス。
【請求項３６】
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて前記変換ユニットのデータをコーディングするための前記手段が、前記変換ユニットが非正方形である場合、前記変換ユニットの短い方の端の位置に基づいて前記データをコーディングするためのコンテキストを選択するための手段を備える、請求項２７に記載のデバイス。
【請求項３７】
前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報を復号するための手段を備え、
前記変換ユニットの前記データをコーディングするための前記手段が、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を復号するための手段と、
前記量子化された変換係数を逆量子化するための手段と、
前記変換係数を逆変換して、前記変換ユニットに対応するコーディングユニットの少なくとも一部分に対する残差データを生成するための手段と
を備える、請求項２７に記載のデバイス。
【請求項３８】
前記変換ユニットの前記データをコーディングするための前記手段が、
コーディングユニットの少なくとも一部分に対する残差データを計算するための手段と、
前記残差データを変換して変換係数を生成するための手段と、
前記変換係数を量子化するための手段と、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を符号化するための手段と
を備え、
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記変換ユニットが正方形か非正方形かを示す前記情報を符号化するための手段を備える、請求項２７に記載のデバイス。
【請求項３９】
実行されると、プロセッサに、
４分木データ構造を表す情報をコーディングさせる命令であって、前記４分木データ構造がビデオデータのコーディングユニットのサイズを定義する、命令と、
残差４分木変換（ＲＱＴ）データ構造を表す情報をコーディングさせる命令であって、前記プロセッサに前記ＲＱＴを表す前記情報をコーディングさせる前記命令が、前記プロセッサに前記コーディングユニットの変換ユニットが正方形か非正方形かを示す情報をコーディングさせる、命令と、
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて、単一の正方形変換ではなく、複数の非正方形変換を適用し、非正方形ブロックの各々を個別に変換する、前記変換ユニットの量子化パラメータを表すデータをコーディングさせる命令と
を記憶した、コンピュータ可読記憶媒体。
【請求項４０】
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記プロセッサに変換選択フラグをコーディングさせる命令を備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４１】
前記変換ユニットが子変換ユニットを備え、前記コンピュータ可読記憶媒体が、前記子変換ユニットに対する親変換ユニットが分割されるかどうかを示す情報を前記プロセッサにコーディングさせる命令をさらに備え、前記子変換ユニットが正方形か非正方形かを示す前記情報を前記プロセッサにコーディングさせる前記命令が、前記子変換ユニットが正方形か非正方形かを示す前記情報を、前記親変換ユニットが分割される場合にのみ前記プロセッサにコーディングさせる命令を備える、請求項４０に記載のコンピュータ可読記憶媒体。
【請求項４２】
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記変換ユニットが対応する前記ＲＱＴデータ構造のレベルを示す情報を前記プロセッサにコーディングさせる命令を備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４３】
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記変換ユニットがクロミナンス成分に対応するか輝度成分に対応するかに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報を前記プロセッサにコーディングさせる命令を備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４４】
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記変換ユニットに対応する予測ユニットが正方形か非正方形かに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報を前記プロセッサにコーディングさせる命令を備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４５】
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記変換ユニットに対応する予測ユニットが正方形か非正方形かを示す情報を前記プロセッサにコーディングさせる命令を備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４６】
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化パラメータを前記プロセッサに決定させる命令をさらに備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記変換ユニットが非正方形である場合、前記プロセッサに、前記変換ユニットの短い方の端から開始する走査パターンを適用させて、前記変換ユニットの係数を変換させる命令をさらに備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて前記変換ユニットのデータを前記プロセッサにコーディングさせる前記命令が、前記変換ユニットが非正方形である場合、前記プロセッサに、前記変換ユニットの短い方の端の位置に基づいて前記データをコーディングするためのコンテキストを選択させる命令を備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項４９】
前記プロセッサにビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記プロセッサに前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報を復号させる命令を備え、
前記プロセッサに前記変換ユニットの前記データをコーディングさせる前記命令が、前記プロセッサに、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を復号させ、
前記量子化された変換係数を逆量子化させ、
前記変換係数を逆変換させて、前記変換ユニットに対応するコーディングユニットの少なくとも一部分に対する残差データを生成させる命令を備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項５０】
前記プロセッサに前記変換ユニットの前記データをコーディングさせる前記命令が、前記プロセッサに、
コーディングユニットの少なくとも一部分に対する残差データを計算させ、
前記残差データを変換させて変換係数を生成させ、
前記変換係数を量子化させ、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を符号化させる
命令を備え、
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報を符号化させる命令を備える、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項５１】
前記４分木データ構造が、前記コーディングユニットに対して１６×１６ピクセルよりも大きなサイズを定義する、請求項１に記載の方法。
【請求項５２】
前記変換ユニットに対応する前記コーディングユニットの予測ユニットが非正方形であることを示す情報をコーディングすることをさらに備え、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記変換ユニットが正方形であり前記予測ユニットのサイズよりも大きなサイズを有することを示す情報をコーディングすることを備える、請求項１に記載の方法。
【請求項５３】
前記４分木データ構造が、前記コーディングユニットに対して１６×１６ピクセルよりも大きなサイズを定義する、請求項１４に記載のデバイス。
【請求項５４】
前記ビデオコーダが、前記変換ユニットに対応する前記コーディングユニットの予測ユニットが非正方形であることを示す情報をコーディングし、前記変換ユニットが正方形であり前記予測ユニットのサイズよりも大きなサイズを有することを示す情報をコーディングするように構成される、請求項１４に記載のデバイス。
【請求項５５】
前記４分木データ構造が、前記コーディングユニットに対して１６×１６ピクセルよりも大きなサイズを定義する、請求項２７に記載のデバイス。
【請求項５６】
前記変換ユニットに対応する前記コーディングユニットの予測ユニットが非正方形であることを示す情報をコーディングするための手段をさらに備え、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための手段が、前記変換ユニットが正方形であり前記予測ユニットのサイズよりも大きなサイズを有することを示す情報をコーディングするための手段を備える、請求項２７に記載のデバイス。
【請求項５７】
前記４分木データ構造が、前記コーディングユニットに対して１６×１６ピクセルよりも大きなサイズを定義する、請求項３９に記載のコンピュータ可読記憶媒体。
【請求項５８】
前記プロセッサに、前記変換ユニットに対応する前記コーディングユニットの予測ユニットが非正方形であることを示す情報をコーディングさせる命令をさらに備え、前記プロセッサに、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記プロセッサに、前記変換ユニットが正方形であり前記予測ユニットのサイズよりも大きなサイズを有することを示す情報をコーディングさせる命令を備える、請求項３９に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１１年７月１日に出願した米国仮出願第６１／５０３，７２６号、および２０１１年１１月２日に出願した米国仮出願第６１／５５４，８３７号の優先権を主張する。
【０００２】
本開示は、ビデオコーディングに関し、より詳細には、ビデオデータを変換することに関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法のような、ビデオ圧縮技法を実装する。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的予測および／または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスは、マクロブロックまたはコーディングユニット（ＣＵ）のようなブロックに区分され得る。各ブロックはさらに区分され得る。イントラコーディングされた（Ｉ）フレームまたはスライス中のブロックは、隣接するブロックに対する空間的予測を使用して符号化される。インターコーディングされた（ＰまたはＢ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接するブロックに対する空間的予測、あるいは他の参照フレームに対する時間的予測を使用し得る。
【発明の概要】
【０００５】
全般に、本開示は、残差ビデオデータのようなビデオデータのブロックに非正方形変換を適用するための技法、または、残差ビデオデータを復元するために逆非正方形変換を適用するための技法を説明する。変換サイズを正方形変換のみに制限するのではなく、本技法は、ビデオコーダ（ビデオエンコーダ、ビデオデコーダ、またはビデオエンコーダとビデオデコーダの両方の組合せを指し得る）が、ビデオデータへの非正方形変換の適用を評価し場合によっては選択することを可能にし得る。非正方形変換をビデオデータに適用することによって、ビデオコーダは、正方形変換が予測境界（これは、動き推定が別々に実行される２つの別個の予測ユニット（ＰＵ）によって特定されるビデオデータの２つの別個のブロックの間の境界である）にまたがって適用される場合にもたらされる、アーチファクトと歪みとを低減することができる。
【０００６】
いくつかの例では、隣接するＰＵの２つの非正方形ブロック（合成されると正方形の予測ブロックを形成することが多い）にわたって単一の正方形変換を適用するのではなく、本技法は、ビデオエンコーダが、一致する複数の非正方形変換（複数の非正方形変換の各々がＰＵによって特定される対応するブロックのサイズおよび形状と一致するという意味で）を適用し、ＰＵの非正方形ブロックの各々を個別に変換することを可能にでき、その結果として、ＰＵの２つのブロックにわたって単一の正方形変換を適用した場合と比較して、０ではない係数の数が減る可能性がある。０ではない係数の数を減らす際、本技法は、残差ビデオデータを表現するのに必要なデータの量を減らすことができ、非正方形変換の適用を可能にしない技法と比較して、より圧縮された残差ビデオデータのバージョンを生成する。
【０００７】
一例では、ビデオデータをコーディングする方法は、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングすることと、変換ユニットが正方形か非正方形かに少なくとも一部基づいて変換ユニットのデータをコーディングすることとを含む。
【０００８】
別の例では、ビデオデータをコーディングするためのデバイスは、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングし、変換ユニットが正方形か非正方形かに少なくとも一部基づいて変換ユニットのデータをコーディングするように構成された、ビデオコーダを含む。
【０００９】
別の例では、ビデオデータをコーディングするためのデバイスは、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングするための手段と、変換ユニットが正方形か非正方形かに少なくとも一部基づいて変換ユニットのデータをコーディングするための手段とを含む。
【００１０】
別の例では、コンピュータプログラム製品は、実行されると、プロセッサに、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングさせ、変換ユニットが正方形か非正方形かに少なくとも一部基づいて変換ユニットのデータをコーディングさせる命令を記憶した、コンピュータ可読媒体を含む。
【００１１】
１つまたは複数の例の詳細を、添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】例示的なビデオ符号化および復号システムを示すブロック図。
【図２】例示的なビデオエンコーダを示すブロック図。
【図３】例示的なビデオデコーダを示すブロック図。
【図４】各々が異なるサイズを有する予測ユニット（ＰＵ）の概念図。
【図５】例示的な再帰的４分木変換構造を示す概念図。
【図６Ａ】本開示で説明される技法の態様による、波面走査を示す図。
【図６Ｂ】本開示で説明される技法の態様による、波面走査を示す図。
【図７Ａ】１つまたは複数の予測ブロック（たとえば、ＰＵ）へとブロック（たとえば、コーディングユニット）を区分するための様々なモードを示す概念図。
【図７Ｂ】非対称的な区分へと区分されたブロックの様々な例を示す概念図。
【図８】非正方形変換ユニットを表現するための例示的な区分構造を示す概念図。
【図９】非正方形変換ユニットを表現するための別の例示的な区分構造を示す概念図。
【図１０Ａ】ＣＵが正方形変換ユニットを含むか非正方形変換ユニットを含むかをシグナリングするための例示的なシグナリングデータを示す概念図。
【図１０Ｂ】ＣＵが正方形ＴＵを含むか非正方形ＴＵを含むかをシグナリングするための代替的かつ例示的なシグナリングデータを示す概念図。
【図１１】正方形変換ユニットまたは非正方形変換ユニットを使用してビデオデータを符号化するための例示的な方法を示すフローチャート。
【図１２】正方形変換ユニットまた非正方形変換ユニットを使用してビデオデータを復号するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１３】
一般に、ビデオデータは、イントラ予測モードまたはインター予測モードでコーディングされ得る、フレームのシーケンスを含む。フレームは、ビデオデータのブロックに分割することができ、ブロックごとに符号化モードが選択され得る。インター予測モードでは、ブロックは、１つまたは複数の前にコーディングされたフレームのデータに対して予測され得る。イントラ予測モードでは、ブロックは、同じフレームの１つまたは複数の空間的に隣接する前にコーディングされたブロックに対して予測され得る。
【００１４】
Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）によれば、フレームは、たとえば、３２×３２の画素ブロックまたは６４×６４の画素ブロックを備え得る、最大コーディングユニット（ＬＣＵ）に分割され得る。一般に、ＬＣＵは、各々がさらに（再帰的に）区分され得るサブコーディングユニット（サブＣＵ）に区分され得る。一般に、コーディングユニット（ＣＵ）という用語は、ＬＣＵまたはＬＣＵの任意のサブＣＵ（たとえば、ＬＣＵのサブＣＵまたは別のサブＣＵのサブＣＵ）を指し得る。ＣＵは、４つの正方形の重複しないサブＣＵに区分され得る。
【００１５】
ＬＣＵは、１つまたは複数のノードを含む４分木データ構造に対応することがあり、４分木のルートノードはＬＣＵ自体に対応し、他のノードはＬＣＵのサブＣＵに対応する。区分されていないＣＵは、一般に、４分木のリーフノード（すなわち、子ノードを有さない４分木のノード）に対応する。したがって、区分されていないＣＵはリーフノードＣＵと呼ばれ得る。リーフノードＣＵは、一般に、ＣＵのデータがどのように予測されるか（すなわち、データがイントラコーディングされるかインターコーディングされるか）を記述する１つまたは複数の予測ユニット（ＰＵ）と、残差データ、すなわち、ＣＵの予測されたデータとＣＵの元のデータとの間の画素ごとの差分に対応する１つまたは複数の変換ユニット（ＴＵ）とを含む。
【００１６】
ＨＥＶＣテストモデル（「ＨＭ」と省略されることが多い）は、一般には「ＨＥＶＣ」として知られている次世代のビデオコーディング規格のためのビデオコーダ参照ソフトウェアを定義する。ＨＥＶＣでは、リーフＣＵを異なるＰＵへと分割することができ、各ＰＵはリーフＣＵの一部分の動き情報を定義する。インター予測モードでは、各ＰＵに対して、参照フレーム中で一時的な参照ブロックを見つけるために、動き補償が実行される。この一時的な参照ブロックは通常、ＰＵと比較されると（このことはこの文脈ではＰＵから差し引かれることを意味することが多い）定義された閾値を下回る量の残差データをもたらすブロックを表す。残差データは、ＰＵの対応する画素と参照ブロックの対応する画素との間の差分を示す、画素差分値を含む。この閾値を下回る場合、ビデオエンコーダは、ＰＵに対する一時的な参照ブロックの位置を特定する、動き情報を生成する。ビデオエンコーダは次いで、一時的な参照ブロックをＰＵと比較することにより生成される残差データを記憶し、たとえば、ＰＵに対する一時的な参照ブロックの位置を特定する動きベクトルを定義する、動き情報を記憶する。残差データはＴＵのために記憶されてよく、動きベクトルはＰＵのために記憶されてよい。
【００１７】
ＨＭはさらに、ＣＵの１つまたは複数のＴＵのデータを含む、４分木ベースの残差４分木変換（ＲＱＴ）構造を定義する。４分木のルートノードが４個の子ノードを有することができ、一般に、木のノードが４個の子ノードを有することができ、各ノードが同様の方式でフォーマット化され得るという点で、ＲＱＴは「再帰的」であると表現され得る。したがって、ＬＣＵは、リーフノードＣＵへのＬＣＵの区分を定義するＣＵ４分木、および、各リーフノードＣＵに対するＴＵのデータを含むＲＱＴという、２つの別個のタイプの４分木に対応するデータを含み得る。
【００１８】
ＨＭはまず、ＲＱＴのルートレベル（「レベル０」とも呼ばれ得る）を定義し、ルートレベルは実質的に、ＣＵに適用される変換を表す（ＣＵの形状およびサイズは通常２Ｎ×２Ｎの記法によって表され、Ｎは一般に、２の累乗である、ＣＵに対応するビデオデータのブロック中の画素の数を指す）。ＨＭを実装するビデオエンコーダは、リーフノードＣＵの変換係数がＲＱＴのレベル０に相当する場合、ルートレベルにおける変換を適用することができる。言い換えると、ＨＭを実装するビデオエンコーダは、形状およびサイズがＣＵの形状およびサイズと一致する、ＣＵの残差データに対して変換を適用することができる。
【００１９】
ＨＭはさらに、ＣＵ（２Ｎ×２Ｎのサイズを有する）を変換係数データの４個の等しいサイズの副部分（各部分のサイズはＮ×Ｎである）へと分割できることを示すことができ、サイズＮ×Ｎの変換が残差データのこれらのＮ×Ｎの副部分の各々に対して適用され得る。この意味で、変換は、ＲＱＴのいわゆる「レベル１」に適用され、このときルートレベルはレベル０を表し、４個のＮ×Ｎの副部分へのルートレベルの分割はこの構造のレベル１を表す。
【００２０】
変換サイズを選択するために、ビデオエンコーダは、ルートレベル（またはレベル０）において変換を適用した結果と、レベル１において変換を適用した結果とを比較することができる。変換を適用したことのいわゆる「結果」は、一般に、変換された残差データを符号化した結果を指す。この結果を生成するために、ビデオエンコーダは、上で述べられたように、残差データに対する変換を適用して残差データを空間領域から周波数領域へと変換し、様々な周波数の規定された正弦波または余弦波のような基本関数に対する重みとして機能する変換係数の形態で残差データを表す変換係数をもたらす。ビデオエンコーダは次いで、これらの変換係数（変換された残差データとも呼ばれ得る）を量子化して、変換係数を丸めることができる。この量子化ステップは通常、より小さな変換係数の１つまたは複数を０へと丸めることを伴う。ビデオエンコーダはさらに、変換係数をコーディングすることができる。したがって、量子化およびコーディングは、非可逆な形態の圧縮を表す。ビデオエンコーダは次いで、ビデオデータを復号し、逆量子化を実行し、逆変換を適用して、ビデオブロックを再構成することができる。
【００２１】
この再構成されたビデオブロックは、この文脈では、変換を適用した結果を表し得る。再構成されたビデオブロックは次いで、元のＣＵと比較されてよく、元のＣＵと再構成されたビデオブロックとの間の誤差が求められ得る。ビデオエンコーダは次いで、レベル０において変換を適用した場合に求められた誤差と、レベル１において変換を適用した場合にこの方式で求められた誤差とを比較することができる。
【００２２】
いくつかの例では、誤差に加えて（消費される帯域幅または記憶空間に関して）レートを考慮する、レート歪み分析またはレート歪み最適化と呼ばれるより複雑な処理が実行され得る。符号化されたビデオデータを表現するのに使用されるレートまたはビットは、ビットコストを、ビットコストと特定の品質レベルの品質との関係を表す値であるラグランジアンと乗算することによって、数学的に測定される。ソースからの偏差（本開示では誤差または歪みと呼ばれる）は通常、ピーク信号対雑音比（ＰＳＮＲ）というビデオ品質の尺度を最大化するために、平均二乗誤差として測定される。
【００２３】
レベル１において変換を適用した結果が、レベル０において変換を適用した結果より（求められた誤差またはレート歪みの尺度に関して）良好である場合、ビデオエンコーダは、副部分の各々に関してこの処理を繰り返して、各副部分を４個の等しいサイズの２次的な（Ｎ／２×Ｎ／２のサイズの）副部分へと分割し、これによって再帰的な４分木変換構造のレベル２を生成することへと、進むことができる。ビデオエンコーダは次いで、レベル２において変換を適用した結果と、各１次の副部分に対してレベル１において変換を適用した結果とを比較することができ、レベル２において変換を適用した結果がレベル１において変換を適用した結果より（求められる誤差に関して）良好である場合、レベル２の変換を選択する。この処理は、この再帰的な方式で続くことができ、レベルＭにおいて適用される変換がレベルＭ＋１において適用される変換より良好になるまで、または、何らかの最大の変換レベルに達するまで、各副部分を４個の等しいサイズの副部分を次々に分割する。いくつかの実装形態では、ビデオエンコーダは、最大の変換レベルで開始することができ、最小のサイズの変換ブロックを適用し、より大きなサイズの変換が（求められる誤差に関して）より良好に実行される場合、より小さなサイズの変換を統合する。この理由で、この変換構造は再帰的４分木変換構造と呼ばれることがある。
【００２４】
上のＨＭの説明の全体で、変換のサイズは、正方形である（たとえば、２Ｎ×２Ｎ、Ｎ×Ｎ、およびＮ／２×Ｎ／２）ものとしてのみ説明されてきた。提案されるＨＭは現在、変換のサイズを正方形に限定するが、（以下でより詳しく説明される）図４の例に示されるもののような、非正方形の長方形のＰＵサイズを実現する。非正方形ＰＵは、ＰＵの種々の区分モードから生じ得る。一例として、ビデオコーダは、非対称動き区分（ＡＭＰ）を使用して、ＣＵをＰＵに区分することができる。別の例として、ビデオコーダは、短距離イントラ予測（ＳＤＩＰ）または非対称ＳＤＩＰを使用して、ＣＵをＰＵに区分することができる。ビデオコーダは、ＰＵの境界にまたがるＴＵを使用することを避けるように構成され得る。したがって、本開示の技法に従って（たとえば、対応する非正方形ＰＵのサイズと一致するように）非正方形ＴＵを設けることは、いくつかの利点をもたらし得る。
【００２５】
たとえば、正方形の変換または変換ユニット（ＴＵ）のみを許容することの１つの結果は、ビデオエンコーダが動きの境界（隣接するＰＵの間の境界を指す）にわたって変換を適用できるということである。動きの境界は、鋭い境界または色もしくは明るさの大きな変化があり得る動きの非連続性を示すことが多く、これらのタイプの境界を適切に捕捉するためにより多くの変換係数を必要とするので、動きの境界にわたって変換を適用すると、通常は変換効率が下がる。非正方形ＰＵ以外の正方形ＴＵのみを設けることの別の結果は、ビデオエンコーダが、関連するＰＵよりも小さな変換を適用できるということである。ＰＵに対してより小さなサイズの変換を適用することも、変換効率を下げることがあり、それは、変換が近隣の画素の間の相関を完全に利用できないことがあるからである。
【００２６】
本開示で説明される技法によれば、ビデオエンコーダは、非正方形変換をビデオデータに適用することができる。変換サイズを正方形変換のみに制限するのではなく、本技法は、ビデオコーダ（ビデオエンコーダ、ビデオデコーダ、またはビデオエンコーダとビデオデコーダの両方の組合せを指し得る）が、ビデオデータへの非正方形変換の適用を評価し場合によっては選択することを可能にし得る。非正方形変換をビデオデータに適用することによって、ビデオコーダは、正方形変換が予測境界（これは、動き推定が別々に実行される２つの別個の予測ユニット（ＰＵ）によって特定されるビデオデータの２つの別個のブロックの間の境界である）にまたがって適用される場合にもたらされる、アーチファクトと歪みとを低減することができる。加えて、本技法は、非正方形変換が、より大きなサイズのＰＵに対するより小さなサイズの変換の適用を避けることによって、近隣の画素の間の相関をより完全に利用できるという点で、変換効率を上げることができる。
【００２７】
いくつかの例では、２つ（またはそれより多く）の非正方形の隣接するＰＵ（合成されると正方形の予測ブロックを形成し得る）から生じた残差データに単一の正方形変換を適用するのではなく、これらの技法は、ビデオエンコーダが、一致する複数の非正方形変換（複数の非正方形変換の各々がＰＵによって特定されるブロックのサイズと一致するという意味で）を適用し、非正方形ＰＵの各々から生じる残差データを個別に変換することを可能にでき、その結果として、ＰＵの２つのブロックにわたって単一の正方形変換を適用した場合と比較して、０ではない係数の数が減る可能性がある。０ではない係数の数を減らす際、本技法は、ビデオデータを表現するのに必要なデータの量を減らすことができ、非正方形変換の適用を可能にしない技法と比較して、より圧縮されたビデオデータのバージョンを生成する。
【００２８】
例示すると、ビデオエンコーダは、非正方形変換を非正方形ＰＵに対応する残差データへ適用することができる。一例として、Ｎ×ＭのＰＵサイズ（ＮおよびＭは、２の累乗であることが多い異なる画素数を表す）に対して、ビデオエンコーダは、変換構造を生成するとき、サイズＮ×Ｍの変換を追加で適用することができる。別の例として、サイズ２Ｎ×ＮのＰＵに対して、ビデオエンコーダは、サイズ２Ｎ×２Ｎ、２Ｎ×Ｎ、およびＮ×Ｎという変換を適用することができ、上で説明されたように、結果の求められた誤差に基づいて、これらの適用された変換の１つを選択する。このようにして、ビデオエンコーダは、非正方形変換サイズを選択することができる。
【００２９】
本開示で説明された技法は追加で、変換シグナリング構造（変換選択構造とも呼ばれる、すなわち、どの変換サイズが選択されたかを示す構造）を修正することができる。変換シグナリング構造は、残差４分木変換構造に対応し得る。具体的には、変換シグナリング構造は、非正方形変換に対応するように、これらの技法に従って修正され得る。これらの技法を実装するビデオエンコーダは、サイズ２Ｎ×ＮのＰＵがある場合、残差データのセットに対してどの変換サイズを選択するかを決定する処理の中で、ルートレベル（またはレベル０）において、サイズ２Ｎ×２Ｎの変換と２Ｎ×Ｎの変換の両方を適用することができる。
【００３０】
したがって、サイズ２Ｎ×ＮのこのＣＵと関連付けられるＰＵがある場合、ビデオエンコーダはこれらの変換の両方を適用すべきであると、変換シグナリング構造は規定し得る。ビデオエンコーダは次いで、この変換を適用した結果を比較することができ（比較において、上で説明された方式で求められた誤差を再び参照する）、この比較に基づいて、サイズ２Ｎ×２Ｎまたは２Ｎ×Ｎというこれらの変換のうちの１つを選択する。ビデオエンコーダは、残差４分木処理を続けることができ、１次のまたはレベル０の変換のうちの選択された１つを適用した結果を、４個の２次のまたはレベル１のＮ×Ｎの変換を適用した結果と比較する。この意味で、本技法は、非正方形ＰＵが現在のＣＵと関連付けられるかどうかに基づいて、非正方形変換の適用を可能にし得る。また、実際には、この変換選択処理は、最小のサイズの変換ブロックから開始し、たとえばレート対歪みに関してより大きなサイズの変換がより良好に実行される場合、それらの変換ブロックを統合するように、ボトムアップの方式で実行されてよい。
【００３１】
本開示で説明される技法のいくつかの実装形態では、ビデオエンコーダは、わずかに異なる方式でこの変換選択処理を実行することができ、サイズ２Ｎ×２Ｎの単一のルートレベル変換が適用され、レベル１の変換は２Ｎ×Ｎのサイズである。次のレベルの、またはレベル２の変換が次いで、レベル１の変換であるものとして上で説明された４個のＮ×Ｎの変換として規定され得る。したがって、これらの実装形態では、非正方形変換は、非正方形変換をルートレベル変換と統合するのではなく、固有のレベル１の変換として規定され得る。これらの実装形態は、上で説明された選択処理とより良好に一致することがあり、このとき、同じレベルの変換を適用した結果ではなく、異なるレベルの変換を適用した結果が比較される。
【００３２】
加えて、本技法は、変換がどのように選択されるかを制限することができる。たとえば、変換選択処理は、ビデオエンコーダが、ルートレベルにおいて、ＰＵサイズと同じサイズの変換のみを選択することを許容するように、修正され得る。この例では、サイズＮ×２ＮのＰＵに対して、ビデオエンコーダは、ルートレベルでＮ×２Ｎの変換を選択するように構成され得る。サイズ２Ｎ×２ＮのＰＵに対して、ビデオエンコーダは、ルートレベルでサイズ２Ｎ×２Ｎの変換を選択するように構成され得る。
【００３３】
いくつかの例では、本技法は、どの変換が適用されるかを制限することができる。つまり、ビデオエンコーダは、本技法のいくつかの実装形態では、ＰＵの形状に基づいて、非正方形変換を適用することができる。一例として、２Ｎ×Ｎという形状のＰＵに対して、ビデオエンコーダは、一例として、選択処理の間に、サイズ２Ｎ×Ｎの変換のみを適用してよく、サイズＮ×２Ｎの変換を適用しなくてよい。選択処理の間に可能な非正方形変換の部分集合のみを適用することで、いくつかの変換の適用をなくすことによって、消費されるプロセッサのサイクルおよび時間が少なくなるので、ビデオ符号化の性能が向上し得る。処理サイクルを減らすことで消費電力を減らすことができ、これは、ビデオエンコーダが、いわゆるスマートフォンのようなモバイルデバイスまたは他の消費電力を意識するデバイスにおいて実装される場合、有益であり得る。
【００３４】
その上、本技法は、ビデオコーダが、非正方形変換を、輝度成分と彩度成分の両方ではなく、一部の色成分にのみ、たとえば、輝度成分のみまたは彩度成分のみに適用することを可能にし得る。さらに他の例では、本技法は、ビデオコーダが、いくつかのＰＵおよび／またはＣＵのサイズに基づいて、非正方形変換を選択的に適用することを可能にし得る。
【００３５】
上で説明された方式で変換を選択した後、ビデオエンコーダは通常、シンタックス要素を使用して、選択された変換をシグナリングする。非正方形変換の導入には、ビデオエンコーダが追加のシンタックス要素をシグナリングすることを必要とし得る。ルートレベルにおいて利用可能な２つ以上の変換がある場合（上で説明された例示的な実装形態を指し、ルートレベルは２Ｎ×２Ｎの変換と２Ｎ×Ｎの変換とを含む）、ビデオエンコーダは、変換選択（ＴＳ）フラグをシグナリングして、２つ以上のルートレベルのいずれが選択されたビデオエンコーダを変換するかを示すことができる。ビデオエンコーダは、ルートレベルが４個のＮ×Ｎの部分に分割されたかどうかを示す、いわゆる「ｓｐｌｉｔフラグ」の後で、このＴＳフラグをシグナリングすることができる。たとえば、ビデオエンコーダは、２Ｎ×Ｎの変換を選択するとＴＳフラグを１に設定し、その他の場合、サイズ２Ｎ×２Ｎの変換を選択するとこのＴＳフラグを０に設定することができる。
【００３６】
本技法のいくつかの実装形態では、ビデオエンコーダは、他のシンタックス要素とともにＴＳフラグをシグナリングすることができ、ＴＳフラグを、ｓｐｌｉｔフラグと、輝度（ＣｂｆＹ）変換ブロックおよび彩度変換ブロック（Ｕ、Ｖは、２つの彩度色成分であり、ＵおよびＶの各々に対するこれらのシンタックス要素は「ＣｂｆＵ」および「ＣｂｆＶ」と表される）のためのコーディング済ブロックフラグとの１つまたは複数と組み合わせる。例示すると、非正方形変換が輝度成分ブロックに適用されると仮定する。輝度に対して、２Ｎ×２Ｎの変換とＮ×２Ｎの変換の両方が変換木のルートレベル（レベル０）において行われ、Ｎ×Ｎがレベル１であると規定される。サイズＮ×Ｎの彩度変換ブロックに対して（一般的な４：２：０のＹＵＶビデオフォーマットでは、彩度ブロックサイズが輝度ブロックサイズの１／２×１／２であることを考慮して）、ルートレベル（レベル０）変換はサイズＮ×Ｎであり、レベル１変換はサイズＮ／２×Ｎ／２の変換である。これらの仮定のもとで、次の情報がシンタックスとしてビデオデコーダに送信される。
【００３７】
１．Ｓｐｌｉｔフラグ；ルートレベル変換が採用されるか、またはより小さな変換（分割される場合）が使用されるかを示すためのフラグ。
【００３８】
２．変換選択フラグＴＳ。ルートレベル変換が選択される場合（ｓｐｌｉｔ＝１）、２Ｎ×２Ｎ（ＴＳ＝０）と２Ｎ×Ｎ（ＴＳ＝１）からの選択をシグナリングするためにＴＳが送信される。
【００３９】
３．輝度のＣｂｆ。Ｓｐｌｉｔ＝１または（Ｓｐｌｉｔ＝０，ＴＳ＝０）である場合、ＣＵの中に０ではない輝度係数があるかどうかをシグナリングするために、フラグＣｂｆＹが送信される（ＣｂｆＹ＝０では、すべての輝度係数が０であり、ＣｂｆＹ＝１では、少なくとも１つの輝度係数が０ではない）。ＴＳ＝１である場合、第１の２Ｎ×Ｎの変換ブロックと第２のブロックの中にそれぞれ０ではない係数があるかどうかをシグナリングするために、ＣｂｆＹ０およびＣｂｆＹ１が送信される。
【００４０】
４．彩度（Ｕ，Ｖ）のＣｂｆ。フラグＣｂｆＵは、ＣＵの中に０ではないＵ成分の係数があるかどうかをシグナリングするために送信される。フラグＣｂｆＶは、ＣＵの中に０ではないＶ成分の係数があるかどうかをシグナリングするために送信される。
【００４１】
これらのシンタックス要素の各々を別々に送信すると、異なるフラグの間の相関を完全には利用できない。その結果、本技法は、ビデオエンコーダが、以下で説明されるような結合コーディング方式を利用することを可能にし得る。
【００４２】
１．ビデオエンコーダはまず、可変長コーディング（ＶＬＣ）を使用して、ｓｐｌｉｔフラグと、ＣｂｆＹＹフラグと、ＣｂｆＵＶフラグとを送信し、ＣｂｆＹＹフラグおよびＣｂｆＵＶフラグは以下で説明される。
【００４３】
２．Ｓｐｌｉｔ＝０である場合、ＴＳフラグが、ビデオエンコーダが非正方形変換を選択したかどうかを示すために送信される。
【００４４】
３．ＴＳ＝１である場合、ＣｂｆＹＹはＣｂｆＹ０｜｜ＣｂｆＹ１であるとして解釈される（つまり、ＣｂｆＹ０は、変換が適用される第１の２Ｎ×Ｎ部分またはＮ×２Ｎ部分のＣｂｆＹフラグを指し、ＣｂｆＹ１は、変換が適用される第２の２Ｎ×Ｎ部分またはＮ×２Ｎ部分のＣｂｆＹフラグを指す）。この場合、ＣｂｆＹＹ＝１であれば、ＣｂｆＹ０、ＣｂｆＹ１またはこれらの両方が１かどうかをシグナリングするために、さらなる情報が送信される。ＣｂｆＹＹ＝０であれば、ＣＢＦＹ０＝ＣＢＦＹ１＝０である。
【００４５】
４．Ｓｐｌｉｔ＝１またはＴＳ＝０である場合、ＣｂｆＹＹは上で説明されたＣｂｆＹとして解釈される。
【００４６】
５．ＣｂｆＵＶが、（ＣｂｆＵ｜｜ＣｂｆＶ）と定義され、ＣｂｆＵＶ＝１である場合、ＣｂｆＵとＣｂｆＶの少なくとも１つが０ではない。ＣｂｆＵＶ＝１である場合、ＣｂｆＵ、ＣｂｆＶ、またはこれらの両方が１かどうかをシグナリングするために、さらなる情報が送信される。ＣｂｆＵＶ＝０である場合、ＣＢＦＵ＝ＣＢＦＶ＝０である。
【００４７】
上の結合コーディング方式では、ＣｂｆＹＹフラグは信号ＣｂｆＹ０とＣｂｆＹ１を一緒にシグナリングし、ＣｂｆＵＶフラグはＣｂｆＵとＣｂｆＹを一緒にシグナリングし、ＣｂｆＹＹが０に等しい例、および／またはＣｂｆＵＶが０に等しい例において、より効率的なシグナリングを実現する（これらの例でＣｂｆＹＹをシグナリングするには１ビットが必要であり、このときＣｂｆＹ０とＣｂｆＹ１とを別々にシグナリングするには２ビットが必要であり、また、これらの例でＣｂｆＵＶをシグナリングするには１ビットが必要であり、このときＣｂｆＵとＣｂｆＶとを別々にシグナリングするには２ビットが必要であるため）。
【００４８】
一方、ビデオエンコーダはまた、非正方形変換の適用により生成される変換係数を量子化する。これらの非正方形変換係数は量子化され、このとき、本開示の技法は、変換係数が正方形か非正方形かに応じて、異なる量子化ステップサイズを提供することができる。通常、量子化強度／ステップサイズは、量子化パラメータによって制御される。本技法は、ビデオエンコーダが、この量子化ステップサイズを決定する際に新たな量子化パラメータを使用することを可能にでき、このとき、この新たな量子化パラメータは、変換係数が正方形変換の適用を通じて生成されたか非正方形変換の適用を通じて生成されたかを示し得る。言い換えると、量子化パラメータは、異なる変換ステップサイズに対しては異なっていてよく、正方形変換と非正方形変換との間で異なっていてよい。一例では、量子化パラメータ０（ＱＰ０）が、現在のフレームの基本ＱＰであると仮定する。本技法のこの態様を実装するビデオエンコーダは、一例として、サイズ２Ｎ×ＮおよびＮ×２Ｎの非正方形変換に対してはＱＰ０＋３という量子化パラメータを使用し、すべての他の変換に対しては基本ＱＰ０を使用することができる。ビデオエンコーダとデコーダの両方が、本技法のこの態様を利用することができる。
【００４９】
量子化を実行した後、ビデオエンコーダは通常、２次元アレイとして通常表される係数を走査し、これらの係数の１次元の並びを生成する。通常、変換は、０ではない係数が左上の角または２次元アレイに配置されるように、係数を生成する。ビデオエンコーダは、０ではない係数が１次元の並びにおいて互いに隣に配置され、値が０の変換係数のランレングスコーディングを容易にして、これによって少なくともある量の圧縮を実現する（ランレングスコーディングは通常、単一の数を使用して、値が０の複数の変換係数を表現することを伴うので）ような方式で、これらの係数を走査することができる。
【００５０】
本開示で説明される技法の一態様は、非正方形変換係数がビデオエンコーダによって走査される際の方法を規定することができる。本技法のこの態様を実装するビデオエンコーダは、変換係数の２次元ブロックの形状に基づいて、この１次元走査を実行することができる。一例では、ビデオエンコーダは、波面走査と呼ばれる形式の走査（左下から右上または右上から左下への走査）を実行することができ、走査は常に短い方の端から始まる。
【００５１】
ビデオエンコーダは次いで、統計的に損失のない形式のコーディング（「エントロピーコーディング」と誤って呼ばれることが多い）を実行して、ランレングス符号化された変換係数の１次元の並びを符号化する。このエントロピーエンコーダは、上で説明されたようなシンタックス要素の結合符号化または合成符号化とともに、ランレングス符号化された変換係数の符号化も実行することができる。コンテキスト適応バイナリ算術コーディング（ＣＡＢＡＣ）と呼ばれる形式のエントロピー符号化が、変換係数の正方形ブロックから生成される変換係数の１次元の並びを符号化するために利用されることが多い。本開示で説明された技法の様々な態様は、ビデオエンコーダが、変換係数の非正方形ブロックから生成された変換係数の１次元の並びに関して、ＣＡＢＡＣを実行することを可能にし得る。
【００５２】
本技法のこれらのエントロピー符号化の態様を実装するビデオエンコーダは、変換係数の非正方形ブロックに対応するように３つの方法で修正された、ある形式のＣＡＢＡＣを実行することができる。第１の修正は、最後の有意な係数のシグナリングを伴い得る。第２の修正は、いわゆる「有意性マップ」に対する修正を伴ってよく、一方第３の修正は、いわゆる「係数レベル」の修正を伴ってよい。
【００５３】
非正方形ブロックに対しては、最後の有意な係数のシグナリングにおいて、ビデオエンコーダは、ＣＡＢＡＣを実行するときに使用されるコンテキストモデルが、コーディングされている座標のサイズの長さに応じたものになるように、第１の修正を実施することができる。言い換えると、水平方向の座標（最後の係数のＸ成分）は、ブロック（およびコーディングされているｘのビン）の幅に応じたコンテキストを有する。等価的に、垂直方向の座標（Ｙ成分）は、ブロックの高さに応じて割り当てられるコンテキストセットを有する。
【００５４】
非正方形ブロックの有意性マップに対して、本開示は、サイズ２Ｎ×ＮおよびＮ×２Ｎの変換がＣＡＢＡＣコーディングのために同じ１つまたは複数のコンテキストを共有することを、提案する。コンテキストを共有することによって、ビデオエンコーダは、コンテキストの総数を減らすことができる。性能を向上させるために、ビデオエンコーダは、コンテキストを、直接ではなく、長方形の形状の１つの座標と値とを転置した後で、導出し共有することができる。たとえば、２Ｎ×Ｎの変換の係数は直接符号化されてよいが、変換されるＮ×２Ｎの係数はコーディングの前に転置され、これは、座標ＸおよびＹと、幅および高さとが、コーディングの前に交換されることを意味する。本開示で説明された技法のこの態様は、２Ｎ×Ｎのブロックの統計が、転置された後のＮ×２Ｎのブロックの統計と類似しているという事実を利用する。
【００５５】
例として、ＣＡＢＡＣを使用してコーディングするとき、ビデオコーディングデバイスは、係数の有意性と、レベルと、符号とを示す、シンタックス要素を含むシンタックス要素をコーディングするために、係数の逆対角走査を適用することができる。レベルコーディングのために、係数は、１６個の係数の部分集合において走査され得る。コンテキストの近隣に基づいて（または、本開示の技法による、係数のＸ座標およびＹ座標に基づいて）、各部分集合に対して、コンテキストが再初期化され得る。レベル情報をコーディングするために、対応するバイナリ化されたシンボルの最初の２つのビンはＣＡＢＡＣを使用してコーディングされてよく、残りのビンは、指数ゴロムコーディングのような、別のバイパスコーディングエンジンを使用してコーディングされ得る。ビンがＣＡＢＡＣエンジンによってコーディングされると、コンテキスト状態が更新される（このとき、コンテキストは、確率モデルによって定義される複数の状態を有する）。ＣＡＢＡＣエンジンは、確率モデルと、コーディングされている実際の値とに基づいて、コンテキストの異なる状態（値）に移行する。
【００５６】
変換係数の８×４ブロックおよび４×８ブロックに対して、ビデオエンコーダは、本技法のこの態様を実装して、（ＨＥＶＣにおける４×４ブロックおよび８×８ブロックと同様に）係数の位置に基づいて有意性マップのコンテキストを使用することができる。この実装形態では、長辺に沿った２つの隣接する係数によって共有される、１６個のコンテキストがＣＡＢＡＣのために使用されてよい。以下は、これらの共有されるコンテキストがどのように導出され得るかを示す一例である。
【００５７】
ＸおよびＹを、変換係数の２次元ブロック内の変換係数の座標とし、＞＞をビット右シフト操作とし、ＣｔｘＮｕｍをブロックに割り当てられたコンテキストとする。８×４ブロックのコンテキストは、次のように導出され得る。
【数１】
0005951765.tif 000002
【００５８】
上で述べられたように、４×８ブロックに対して、コンテキストは次のように導出され得る。
【数２】
0005951765.tif 000003
【００５９】
ここで、Ｓｗａｐ（Ｘ，Ｙ）は、次のように実装され得る。
【数３】
0005951765.tif 000004
【００６０】
言い換えると、Ｓｗａｐ（Ｘ，Ｙ）は、ＸとＹの値を転置することができる。
【００６１】
より大きなブロック（１６×４、４×１６、およびそれを上回る）に対しては、ビデオエンコーダは、本技法のこれらの有意性マップの態様を実装して、コンテキストが近隣の係数の有意性に基づく、ＨＥＶＣにおいて使用される方法と同様の方法を使用することができる。適切な転置（または交換）操作が、２つの形状のうちの１つに適用され得る。
【００６２】
係数レベルのコーディングのために、１つのＨＥＶＣの案は、４×４のサブブロックへのブロックの分割を利用し、各サブブロック内で順番にコーディングを実行する。このタイプの処理は、ブロックサイズを４×４のサブブロックの中に収めることができない場合（すなわち、長方形の辺の少なくとも１つが４未満である場合）には不可能である。この問題を解決するために、本開示で説明される技法は、ブロックが走査の順序でｎ個（たとえば、ｎ＝１６）の連続的な係数の部分集合へと分割されるコーディング処理を、ビデオエンコーダが実行することを可能にし得る。これは、すべての非正方形のブロックサイズに対して、または、４×４のサブブロックを格納できないブロックサイズのみに対して、適用され得る。
【００６３】
加えて、ビデオエンコーダは、本開示で説明される技法のいくつかの態様を実装して、非正方形ブロックの４分木Ｃｂｆのための確率コンテキストの異なるセットを使用することができ、それは、非正方形ブロックが正方形ブロックとは異なる統計を有するからである。
【００６４】
本開示では、本技法は全般に、図４および図５の例に示されるビデオエンコーダ２０のようなビデオエンコーダに関して説明されるが、本技法の多くの態様が、図４および図６の例に示されるビデオデコーダ３０のようなビデオデコーダによって実施され得る。たとえば、ビデオデコーダは、上で説明されたＣＡＢＡＣ技法の逆バージョンを実施して、ビデオエンコーダのエントロピーエンコーダから出力される符号化されたビデオデータをエントロピー復号することができる。ビデオデコーダは、上で説明された技法の走査の態様と量子化の態様の両方の逆バージョンの形式を実施して、変換係数の非正方形ブロックを再構成することもできる。加えて、ビデオエンコーダは、逆非正方形変換を適用して、変換係数を周波数領域から空間領域へと戻すように変換することができる。ビデオデコーダはまた、上で説明された技法のシンタックスコーディングの態様の逆バージョンを実行して、ビットストリームからのシンタックス要素を解析し、次いで解析されたシンタックス要素を復号することができる。しかしながら、ビデオデコーダは通常、どの変換がシンタックス要素を介して選択されるかをビデオエンコーダがシグナリングすることを考慮して、本技法の選択の態様を実施しない。したがって、ビデオエンコーダに関して上で説明されるが、本技法の多くの態様は、以下でより詳しく説明されるように、ビデオデコーダによって実行され得る。
【００６５】
動作において、ビデオデコーダは、本技法を実施して、符号化されたビデオデータの一部を表す変換係数に適用されるべき逆変換が非正方形かどうかを、符号化されたビデオデータの一部と関連付けられる変換情報に基づいて判定し、変換ユニットが非正方形かどうかの判定に基づいて、変換係数を変換係数のブロックへと形成し、変換係数のブロックに逆変換を適用して、変換係数のブロックを残差ビデオデータのブロックへと変換することができる。
【００６６】
図１は、非正方形変換を使用してビデオデータをコーディングするための本開示で説明される技法を利用するように構成され得る、例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されるように、システム１０は、通信チャネル１６を介して符号化されたビデオを宛先デバイス１４に送信する、ソースデバイス１２を含む。符号化されたビデオデータはまた、記憶媒体３４またはファイルサーバ３６に記憶されてよく、必要に応じて宛先デバイス１４によってアクセスされてよい。記憶媒体またはファイルサーバに記憶される場合、ビデオエンコーダ２０は、コーディングされたビデオデータを記憶媒体に記憶するための、ネットワークインターフェース、コンパクトディスク（ＣＤ）、ブルーレイ（登録商標）またはデジタルビデオディスク（ＤＶＤ）バーナーまたは刻印設備デバイス、あるいは他のデバイスなど、別のデバイスにコーディングされたビデオデータを与えることができる。同様に、ネットワークインターフェース、ＣＤまたはＤＶＤリーダーなどのような、ビデオデコーダ３０とは別個のデバイスが、記憶媒体からコーディングされたビデオデータを取り出し、取り出されたデータをビデオデコーダ３０に与えることができる。
【００６７】
ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆるスマートフォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、広範囲にわたるデバイスのいずれかを備え得る。多くの場合、そのようなデバイスはワイヤレス通信が可能であり得る。したがって、通信チャネル１６は、符号化されたビデオデータの送信に適切な、ワイヤレスチャネル、有線チャネル、またはワイヤレスチャネルと有線チャネルとの組合せを備え得る。同様に、ファイルサーバ３６は、インターネット接続を含む任意の標準的なデータ接続を通じて、宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適切である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。
【００６８】
本開示の例による、非正方形変換を適用するための技法は、無線を通じたテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途など、種々のマルチメディア用途のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話などの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００６９】
図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器２２と、送信機２４とを含む。ソースデバイス１２において、ビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き電話またはビデオ電話を形成し得る。しかしながら、本開示で説明される技法は、全般にビデオコーディングに適用可能であってよく、ワイヤレス用途および／または有線用途、あるいは符号化されたビデオデータがローカルディスクに記憶される用途に適用され得る。
【００７０】
キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他のコンポーネントを含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００７１】
ビデオエンコーダ２０によって符号化された、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオはまた、後で利用するために記憶媒体３４またはファイルサーバ３６に記憶され得る。記憶媒体３４は、ブルーレイディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化されたビデオを記憶するための任意の他の適切なデジタル記憶媒体を含み得る。記憶媒体３４に記憶された符号化されたビデオは次いで、復号および再生のために宛先デバイス１４によってアクセスされ得る。
【００７２】
ファイルサーバ３６は、符号化されたビデオを記憶することと、その符号化されたビデオを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、ローカルディスクドライブ、または、符号化されたビデオデータを記憶することと、符号化されたビデオデータを宛先デバイスに送信することとが可能な他のタイプのデバイスを含む。ファイルサーバ３６からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。ファイルサーバ３６は、インターネット接続を含む任意の標準的なデータ接続を通じて、宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適切である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢなど）、または両方の組合せを含み得る。
【００７３】
図１の例では、宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。宛先デバイス１４の受信機２６はチャネル１６を通じて情報を受信し、モデム２８はその情報を復調して、ビデオデコーダ３０のための復調されたビットストリームを生成する。チャネル１６を通じて通信される情報は、ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された種々のシンタックス情報を含み得る。上で説明されたスライスヘッダシンタックスを含むそのようなシンタックスはまた、記憶媒体３４またはファイルサーバ３６に記憶された符号化されたビデオデータとともに含まれ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００７４】
ディスプレイデバイス３２は、宛先デバイス１４と一体化されてよく、またはその外部にあってよい。いくつかの例では、宛先デバイス１４は、一体化されたディスプレイデバイスを含んでよく、また、外部ディスプレイデバイスとインターフェースをとるように構成されてよい。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。一般に、ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、種々のディスプレイデバイスのいずれをも備え得る。
【００７５】
図１の例では、通信チャネル１６は、高周波（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路のような、任意のワイヤレス通信媒体または有線通信媒体、あるいはワイヤレス媒体と有線媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は一般に、有線媒体またはワイヤレス媒体の任意の適切な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに適切な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００７６】
ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中である来たるＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作することができ、ＨＥＶＣテストモデル（ＨＭ）に準拠することができる。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、またはそのような規格の拡張など、他のプロプライエタリ規格または業界規格に従って動作してよい。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００７７】
本開示の技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、非正方形変換ブロックを使用してビデオデータをコーディングするように構成され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、本開示で説明される非正方形変換ブロックに関連する技法のいずれかまたはすべてを、任意の組合せで実施することができる。一般に、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングし、変換ユニットが正方形か非正方形かに少なくとも一部基づいて変換ユニットのデータをコーディングするように構成される、ビデオコーダの例を代表する。
【００７８】
たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、２Ｎ×２ＮのＣＵの残差４分木（ＲＱＴ）データ構造のルートレベル（レベル０）が２Ｎ×２ＮのＴＵと２つのＮ×２Ｎ（もしくは２Ｎ×Ｎ）のＴＵとのいずれかに対応するように、かつ、ＲＱＴデータ構造のレベル１がＮ×ＮのＴＵに対応するように、構成され得る。あるいは、ビデオエンコーダ２０およびビデオデコーダ３０は、ＲＱＴデータ構造のルートレベル（レベル０）が２Ｎ×２ＮのＴＵに対応し、レベル１が２Ｎ×Ｎ（またはＮ×２Ｎ）のＴＵに対応し、レベル２がＮ×ＮのＴＵに対応するように、構成され得る。したがって、変換ユニットが対応するＲＱＴデータ構造のレベルを示す情報をコーディングすることは、変換ユニットが正方形か非正方形かを示す情報をコーディングすることの例を代表し得る。
【００７９】
別の代替形態として、ビデオエンコーダ２０およびビデオデコーダ３０は、ＴＵがＲＱＴデータ構造のルートレベル（レベル０）において対応するＰＵと同じサイズを常に有するように、または、非正方形ＴＵのみがある形状のＰＵ、たとえば非正方形ＰＵとともに使用されるように、構成され得る。したがって、変換ユニットが正方形か非正方形かを示す情報をコーディングすることは、変換ユニットに対応する予測ユニットが正方形か非正方形かに少なくとも一部基づき得る。いくつかの例では、変換ユニットに対応する予測ユニットが正方形か非正方形かを示す情報をコーディングすること自体が、変換ユニットが正方形か非正方形かを示すコーディングされた情報に相当し得る。
【００８０】
加えて、または代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、１つまたは複数の変換ユニットのサイズを表すデータをコーディングするように構成され得る。たとえば、ビデオエンコーダ２０は、変換ユニットのサイズを選択し、選択されたサイズを示す値をコーディングすることができ、一方ビデオデコーダ３０は、受信されたデータを復号し解釈して、コーディングされた変換ユニットのサイズを決定することができる。このようにして、ビデオエンコーダ２０およびビデオデコーダ３０は、同じ変換ユニットサイズをＣＵのＴＵに適用することができる。一般に、変換ユニットサイズを示す情報をコーディングすることは、そのような情報を符号化するビデオエンコーダ２０、またはそのような情報を復号するビデオデコーダ３０を指し得る。
【００８１】
いくつかの例では、変換ユニットサイズを示す情報をコーディングすることは、ＴＵが、ＲＱＴのレベル０に対応するか、ＲＱＴのレベル１（または、ＲＱＴのより高いレベル）に対応するかを示す、ｓｐｌｉｔフラグをコーディングすることを含み得る。そのような情報をコーディングすることはさらに、各レベルにおけるＴＵのサイズを示す情報をコーディングすることを含み得る。いくつかの例では、レベル０は、対応する２Ｎ×２ＮのＣＵのための、サイズ２Ｎ×２ＮのＴＵに対応する。他の例では、レベル０は、サイズ２Ｎ×２Ｎと２Ｎ×Ｎ（またはＮ×２Ｎ）とのいずれかのＴＵに対応してよく、レベル０が選択される場合、レベル０においてどのサイズが選択されるかを示すために、さらなる情報がコーディングされ得る。したがって、変換ユニットが対応するＲＱＴにおけるレベルを示す情報をコーディングすること、ｓｐｌｉｔフラグ（つまり、親変換ユニットが分割されて子変換ユニットを形成するかどうか）を示す情報をコーディングすること、および／または、変換選択フラグをコーディングすることは、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングすることの例を代表し得る。
【００８２】
たとえば、ＴＵが０ではない変換係数を含むかどうか、つまりＴＵがコーディングされるかどうかということのような、ＴＵのサイズを示す情報と一緒に、追加の情報がコーディングされ得る。そのような情報は、輝度のＴＵおよび／またはクロミナンスのＴＵに対するコーディングされたブロックフラグを含み得る。したがって、ビデオエンコーダ２０およびビデオデコーダ３０は、変換ユニットが正方形か非正方形かを示す情報を、変換ユニットがクロミナンス成分に対応するか輝度成分に対応するかに少なくとも一部基づいて、コーディングするように構成され得る。
【００８３】
さらに、加えて、または代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、様々なＴＵの量子化パラメータを表すデータをコーディングするように構成され得る。具体的には、ビデオエンコーダ２０およびビデオデコーダ３０は、ＴＵが正方形か非正方形かに基づいて、異なる量子化パラメータをＴＵに適用するように構成され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、現在のピクチャの基本量子化パラメータＱＰ0を表す値をコーディングすることができる。その上、ビデオエンコーダ２０およびビデオデコーダ３０は、ＱＰ0の値に適用されるべきオフセット値を決定するように構成されてよく、オフセット値は、正方形のＴＵと非正方形のＴＵとで異なり得る。たとえば、非正方形ＴＵでは、オフセット値は（ＱＰ0＋３に対しては）３であってよく、正方形ＴＵでは、オフセット値は（ＱＰ0に等しいＱＰでは）０であってよい。正方形ＴＵと非正方形ＴＵに対して異なるＱＰ値を使用することで、さらなる順応性をもたらすことができ、これにより、より良好なコーディング性能を実現することが可能になり得る。オフセット値は固定されていてよく、または、たとえば、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、適応パラメータセット（ＡＰＳ）、スライスヘッダ、ピクチャヘッダ、または他のデータ構造においてシグナリングされてよい。このようにして、ビデオエンコーダ２０およびビデオデコーダ３０は、変換ユニットが正方形か非正方形かに基づいて、変換ユニットに対する量子化パラメータを決定するように構成され得る。
【００８４】
その上、ビデオエンコーダ２０およびビデオデコーダ３０は、追加で、または代替的に、非正方形ＴＵに対して特定の走査パターンを実行するように構成され得る。たとえば、ＴＵが非正方形である場合、ＴＵは一般に、長方形または非正方形であると考えられ得る。したがって、ＴＵは、一方の辺が他方の辺よりも長くなり得る。たとえば、Ｎ×２ＮのＴＵでは、長さ２Ｎの辺（たとえば、上側と下側）は長さＮの辺（たとえば、左側と右側）よりも長い。同様に、２Ｎ×ＮのＴＵでは、長さ２Ｎの辺（たとえば、左側と右側）は長さＮの辺（たとえば、上側と下側）よりも長い。本開示の技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、非正方形ＴＵのどちらの辺が長いかに基づいて、走査を実行するように構成され得る。たとえば、Ｎ×２ＮのＴＵでは、ビデオエンコーダ２０およびビデオデコーダ３０は、順番が全般に左下から右上である波面走査を使用するように構成されてよく、常に短い方の端（たとえば、左の端）から始めることができる。このようにして、ビデオエンコーダ２０およびビデオデコーダ３０は、変換ユニットが非正方形である場合、変換ユニットの短い方の端から開始する走査パターンを適用して、変換ユニットの係数を変換するように構成され得る。
【００８５】
さらに、ビデオエンコーダ２０およびビデオデコーダ３０は、追加で、または代替的に、非正方形変換ユニットをサポートするための修正されたＣＡＢＡＣエントロピーコーディング技法を実行するように構成され得る。具体的には、非正方形変換ユニットをサポートするエントロピーコーディング技法は、（走査の順序で）最後の有意な係数と、有意性マップと、係数レベルとを示す情報を、シグナリングおよびコーディングすることを含み得る。非正方形ブロックに対しては、最後の有意な係数のシグナリングにおいて、ビデオエンコーダ２０およびビデオデコーダ３０は、（たとえば、ＣＡＢＡＣに対する）コンテキストモデルがコーディングされている座標の辺の長さに応じたものになるように、構成され得る。たとえば、水平方向の座標（最後の有意な係数のｘ成分）は、ブロックの幅とコーディングされているｘのビンとに応じたＣＡＢＡＣコンテキストを有し得る。同様に、垂直方向の座標（ｙ成分）は、ブロックの高さに応じて割り当てられるコンテキストセットを有し得る。
【００８６】
同様に、非正方形ブロックの有意性マップをコーディングするとき、２Ｎ×ＮおよびＮ×２Ｎは同じコンテキストを共有することができ、これにより、Ｎ×２Ｎおよび２Ｎ×Ｎに対して異なるコンテキストを有する場合と比較して、コンテキストの総数を減らすことができる。垂直方向の非正方形ＴＵおよび水平方向の非正方形ＴＵは、同じコンテキストと、コンテキストを選択するための同じ規則のセットとを使用することができる。しかしながら、一方のＴＵの方向に対する係数のＸ座標およびＹ座標は、コンテキスト選択に使用され得るが、他方の方向に対する係数のＸ座標およびＹ座標は、同じコンテキスト選択基準を使用するために転置され得る。具体的には、性能を向上させるために、ビデオエンコーダ２０およびビデオデコーダ３０は、直接共有を実行するのではなく、長方形の形状の座標と値とを転置することができる。たとえば、２Ｎ×Ｎの変換ユニットをコーディングするとき、ビデオエンコーダ２０およびビデオデコーダ３０は、コンテキストを直接適用することができるが、Ｎ×２Ｎの変換ユニットをコーディングするとき、ビデオエンコーダ２０およびビデオデコーダ３０は、コンテキストを選択する目的のみで、Ｘ座標およびＹ座標と、ブロックの幅および高さとを転置することができる。このようにして、ビデオエンコーダ２０およびビデオデコーダ３０は、２Ｎ×Ｎのブロックと転置されたＮ×２Ｎのブロックとの統計の類似性を利用するように構成され得る。
【００８７】
例として、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣにおける４×４ブロックおよび８×８ブロックと同様の方式で、４×８ブロックおよび８×４ブロックに対する係数の配置に基づいて、有意性マップをコーディングするためのコンテキストを使用するように構成され得る。長辺に沿った２つの隣接する係数によって共有される、１６個のコンテキストが使用されてよい。たとえば、ＸおよびＹは係数の座標とし、「＞＞」は右シフト操作を表すものとし、ＣｔｘＮｕｍは現在のブロックに割り当てられたコンテキストとする。８×４ブロックのコンテキストは、次のように導出され得る。
【数４】
0005951765.tif 000005
【００８８】
４×８ブロックに対しては、コンテキストは、式（１）を使用しても導出され得るが、それはＸとＹを交換した後である。より大きなブロック、たとえば、１６×４、４×１６、およびそれを上回るブロックに対しては、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣにおいて説明される方法と同様の方法を使用するように構成されてよく、この方法では、コンテキストは近隣の係数の有意性に基づく。適切な転置（または交換）操作が、２つの形状のうちの１つに適用され得る。
【００８９】
係数レベルのコーディングのために、現在のＨＥＶＣは、４×４のサブブロックへのブロックの分割を利用し、各サブブロック内で順番にコーディングを実行する。しかしながら、このタイプの処理は、４×４サブブロックの中に収まらないブロックサイズ（たとえば、長方形の辺の少なくとも１つが４未満である場合）に対しては不適合である。したがって、ビデオエンコーダ２０およびビデオデコーダ３０は、ブロックが走査の順序でｎ個（たとえば、ｎ＝１６）の連続する係数に分割される、コーディング処理を実行することができる。様々な例において、これは、すべての非長方形のブロックサイズに対して、または、４×４サブブロックを格納できないブロックサイズのみに対して、適用され得る。ビデオエンコーダ２０およびビデオデコーダ３０はさらに、非正方形ブロックの４分木コーディング済ブロックフラグ（ＣＢＦ）と、正方形ブロックの４分木ＣＢＦとに対して、異なるセットの確率コンテキストを使用するように構成されてよく、それは、非正方形ブロックが正方形ブロックと異なる統計を有し得るからである。
【００９０】
このようにして、ビデオエンコーダ２０およびビデオデコーダ３０は、変換ユニットが正方形か非正方形かに少なくとも一部基づいて、変換ユニットのデータをコーディングするように構成され得る。つまり、ビデオエンコーダ２０およびビデオデコーダ３０は、変換ユニットが非正方形である場合、変換ユニットの短い方の端の位置に基づいて、データをコーディングするためのコンテキストを選択するように構成され得る。
【００９１】
図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、各々オーディオエンコーダおよびオーディオデコーダと統合されてよく、また、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアとソフトウェアとを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００９２】
このようにして、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングし、変換ユニットが正方形か非正方形かに少なくとも一部基づいて変換ユニットのデータをコーディングするように構成される、ビデオコーダの例を代表する。たとえば、変換ユニットのデータをコーディングするために、ビデオエンコーダ２０は、コーディングユニットの少なくとも一部分に対する残差データを計算し、残差データを変換して変換係数を生成し、変換係数を量子化し、変換ユニットが正方形か非正方形かに基づいて、変換ユニットの量子化された変換係数を符号化するように構成され得る。加えて、変換ユニットが正方形か非正方形かを示す情報をコーディングするために、ビデオエンコーダ２０は、変換ユニットが正方形か非正方形かを示す情報を符号化するように構成され得る。
【００９３】
同様に、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングするために、ビデオデコーダ３０は、ビデオデータの変換ユニットが正方形か非正方形かを示す情報を復号するように構成され得る。加えて、変換ユニットのデータをコーディングするために、ビデオデコーダ３０は、変換ユニットが正方形か非正方形かに基づいて、変換ユニットの量子化された変換係数を復号し、量子化された変換係数を逆量子化し、変換係数を逆変換して、変換ユニットに対応するコーディングユニットの少なくとも一部分に対する残差データを生成するように構成され得る。
【００９４】
ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せのような、種々の適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行することができる。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合されてよい。
【００９５】
ビデオエンコーダ２０は、非正方形変換を使用してビデオデータをコーディングするための本開示の技法のうちのいずれかまたはすべてを実装することができる。同様に、ビデオデコーダ３０は、非正方形変換を使用してビデオデータをコーディングするためのこれらの技法のうちのいずれかまたはすべてを実装することができる。本開示で説明されるビデオコーダは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングはビデオ符号化またはビデオ復号を指し得る。
【００９６】
図２は、本開示で説明される動きベクトル予測処理における統合候補を選択するための技法を使用し得る、ビデオエンコーダ２０の例を示すブロック図である。ビデオエンコーダ２０は、例示のためにＨＥＶＣコーディングの状況において説明されるが、他のコーディング規格または方法に関して本開示を限定するものではない。ビデオエンコーダ２０は、ビデオフレーム内のＣＵのイントラコーディングとインターコーディングとを実行することができる。イントラコーディングは、所与のビデオフレーム内のビデオデータの空間的冗長性を低減または除去するために、空間的予測を利用する。インターコーディングは、ビデオシーケンスの現在のフレームと前にコーディングされたフレームとの間の時間的冗長性を低減または除去するために、時間的予測を利用する。イントラモード（Ｉモード）は、いくつかの空間ベースのビデオ圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのビデオ圧縮モードのいずれかを指し得る。
【００９７】
図２に示されるように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、参照フレームバッファ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。図２に示される変換処理ユニット５２は、残差データのブロックに実際の変換または変換の組合せを適用するユニットであり、ＣＵの変換ユニット（ＴＵ）と呼ばれることもある変換係数のブロックと混同されるべきでない。変換処理ユニット５２は、本開示で説明される技法に従って、非正方形変換を適用することができる。ビデオブロックの再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーチファクトを除去するためにブロック境界をフィルタリングするために、デブロッキングフィルタ（図１に示されない）も含まれ得る。所望される場合、デブロッキングフィルタは通常、加算器６２の出力をフィルタリングする。
【００９８】
符号化処理中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロック、たとえば、最大コーディングユニット（ＬＣＵ）に分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット４６は、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接するブロックに対して、受信されたビデオブロックのイントラ予測コーディングを実行することができる。
【００９９】
モード選択ユニット４０は、たとえば、各モードについての誤差（歪みと呼ばれ得る）の結果に基づいて、コーディングモードのうちの１つ、すなわち、イントラまたはインターを選択することができ、得られたイントラまたはインター予測ブロック（たとえば、予測ユニット（ＰＵ））を、残差ブロックデータを生成するために加算器５０に与え、参照フレーム中で使用する符号化されたブロックを再構成するために加算器６２に与える。モード選択ユニット４０はまた、上で説明された本開示の技法の変換選択の態様を実施することができる。加算器６２は、以下でより詳しく説明されるように、予測ブロックを、そのブロックについての、逆変換ユニット６０からの逆量子化され逆変換されたデータと合成して、符号化されたブロックを再構成する。いくつかのビデオフレームがＩフレームとして指定されることがあり、Ｉフレーム中のすべてのブロックはイントラ予測モードで符号化される。いくつかの場合には、たとえば、動き推定ユニット４２によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測ユニット４６は、ＰフレームまたはＢフレーム中のブロックのイントラ予測符号化を実行することができる。さらに、モード選択ユニット４０は、非正方形であり得る１つまたは複数のＰＵへとリーフノードコーディングユニットを区分する方式を選択することができる。たとえば、モード選択ユニット４０は、ＳＤＩＰの場合、２Ｎ×２ＮのＣＵ、Ｎ／２×２Ｎもしくは２Ｎ×Ｎ／２のＰＵに対して、Ｎ×２Ｎもしくは２Ｎ×ＮのＰＵを選択することができ、または、非対称動き区分または非対称ＳＤＩＰに対して、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、またはｎＲ×２Ｎを選択することができる。
【０１００】
動き推定ユニット４２および動き補償ユニット４４は、高度に統合されてよいが、概念的な目的のために別々に示されている。動き推定（または動き探索）は、ビデオブロックの動きを推定する動きベクトルを生成する処理である。動きベクトルは、たとえば、参照フレームの参照サンプル、すなわち参照ブロックに対する、現在のフレーム中の予測ユニットの変位を示し得る。動き推定ユニット４２は、予測ユニットを参照フレームバッファ６４に記憶された参照フレームの参照サンプルと比較することによって、インターコーディングされたフレームの予測ユニットの動きベクトルを計算する。参照サンプルは、絶対値差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分尺度によって求められ得る画素の差分に関して、コーディングされているＰＵを含むＣＵの部分と厳密に一致することが見出されるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこにでも発生する可能性があり、必ずしも、参照フレームまたはスライスのブロック（たとえば、コーディングユニット）境界において発生するとは限らない。いくつかの例では、参照サンプルは、挿入され得る部分画素位置において発生することがある。
【０１０１】
動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。具体的には、動き推定ユニット４２は、上で説明された統合候補を利用して、統合モードに従って動きベクトルをシグナリングする（すなわち、動きベクトルのコピー元の近隣ブロックのインデックスをシグナリングする）ことができる。動きベクトルによって識別される参照フレームの部分は、参照サンプルと呼ばれることがある。動き補償ユニット４４は、たとえば、ＰＵの動きベクトルによって特定される参照サンプルを取り出すことによって、現在のＣＵの予測ユニットに対する予測値を計算することができる。
【０１０２】
イントラ予測ユニット４６は、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、受信されたブロックをイントラ予測することができる。イントラ予測ユニット４６は、空間的に隣接する、前にコーディングされたブロック、たとえば、ブロックに対する左から右、上から下への符号化順序を仮定すると、現在のブロックの上のブロック、右上のブロック、左上のブロック、または左のブロックに対して、受信されたブロックを予測することができる。イントラ予測ユニット４６は、種々の異なるイントラ予測モードで構成され得る。たとえば、イントラ予測ユニット４６は、符号化されているＣＵのサイズに基づいて、一定数の方向予測モード、たとえば、３５個の方向予測モードで構成され得る。
【０１０３】
イントラ予測ユニット４６は、たとえば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択することができる。方向予測モードは、空間的に隣接する画素の値を合成し、その合成された値をＰＵ中の１つまたは複数の画素位置に適用するための機能を含み得る。ＰＵ中のすべての画素位置の値が計算されると、イントラ予測ユニット４６は、ＰＵと符号化されるべき受信されたブロックとの間の画素の差分に基づいて、予測モードの誤差値を計算することができる。イントラ予測ユニット４６は、許容できる誤差値を生じるイントラ予測モードが発見されるまで、イントラ予測モードをテストし続けることができる。イントラ予測ユニット４６は次いで、ＰＵを加算器５０に送ることができる。
【０１０４】
ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、動き補償ユニット４４またはイントラ予測ユニット４６によって計算された予測データを減算することによって、残差ブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数のコンポーネントを代表する。残差ブロックは画素の差分値の２次元行列に対応してよく、残差ブロック中の値の数は、残差ブロックに対応するＰＵ中の画素の数と同じである。残差ブロック中の値は、ＰＵの中と、コーディングされるべき元のブロックの中とで、同じ場所に位置する画素の値の差分、すなわち、誤差に対応し得る。差分は、コーディングされるブロックのタイプに応じて、彩度の差分または輝度の差分であり得る。
【０１０５】
変換処理ユニット５２は、残差ブロックから１つまたは複数の変換ユニット（ＴＵ）を形成することができる。変換処理ユニット５２は、上で説明された技法に従って、サイズ２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｍ、またはＭ×Ｎの非正方形変換を含み得る複数の変換の中から、ある変換を選択する。変換処理ユニット５２は、次いで、選択された変換をＴＵに適用して、変換係数の２次元アレイを備えるビデオブロックを生成する。このようにして、変換処理ユニット５２は、対応するＰＵと同じサイズのＴＵ、または対応するＰＵよりサイズが小さなＰＵを使用することができる。当然、変換処理ユニット５２は、ＰＵよりサイズが大きなＴＵを使用することもできるが、一般には、対応するＰＵより大きなＴＵを使用するのは望ましくないことがある。
【０１０６】
具体的には、本開示の技法によれば、変換処理ユニット５２は、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングし、変換ユニットが正方形か非正方形かに少なくとも一部基づいて変換ユニットのデータをコーディングすることができる。つまり、いくつかの例では、変換処理ユニット５２（または他の例ではモード選択ユニット４０）は、リーフノードコーディングユニットのために、正方形変換ユニットを形成すべきか非正方形変換ユニットを形成すべきかを決定することができる。あるいは、モード選択ユニット４０は、様々なコーディング経路のコーディング結果に基づいて、正方形変換ユニットを形成すべきか非正方形変換ユニットを形成すべきかを決定し、これによって各経路において変換処理ユニット５２に正方形変換と非正方形変換のいずれかを使用させ、また、これらの様々なコーディング経路の結果に基づいて、たとえば、歪みに関して、もしくはレート−歪みの尺度に関して、変換ユニットのサイズと形状とを選択することができる。
【０１０７】
いくつかの例では、ビデオエンコーダ２０（たとえば、ビデオエンコーダ２０のモード選択ユニット４０および／または変換処理ユニット５２）は、正方形変換ユニットを使用すべきか非正方形変換ユニットを使用すべきかを決定するとき、追加のまたは代替的な基準を分析することができる。たとえば、現在のリーフノードＣＵのＰＵの形状に基づいて、現在のリーフノードＣＵのサイズに基づいて、またはそのような基準の組合せに基づいて、たとえばある成分（クロミナンス成分または輝度成分）に対して、ある状況では正方形変換ユニットのみまたは非正方形変換ユニットのみが利用可能となるように、ビデオエンコーダ２０が構成され得る。
【０１０８】
その上、現在のリーフノードＣＵのＴＵの形状を選択した後、ビデオエンコーダ２０は、選択された形状を示すデータをコーディングすることができる。たとえば、ビデオエンコーダ２０は、現在のリーフノードＣＵのＴＵが対応するＲＱＴのレベルを表すデータをコーディングするように構成され得る。いくつかの例では、ＰＵの形状は、対応するＴＵの形状を指示し得るので、ＰＵの形状を示す情報をコーディングすることも、対応するＴＵの形状を示し得る。同様に、ＴＵがクロミナンス成分に対応するか輝度成分に対応するかを示す情報をコーディングすることはまた、ＴＵが正方形か非正方形か（またはそれらであり得るか）を示し得る。たとえば、ビデオコーディングデバイスは、輝度成分については正方形ＴＵと非正方形ＴＵから選択するように構成され得るが、クロミナンス成分については正方形ＴＵのみを使用するように構成され得る。
【０１０９】
変換処理ユニット５２は、ＴＵが加算器５０から受信された残差データを含むように選択されたサイズのＴＵを形成し、残差データを画素領域から周波数領域に変換するように残差データへの変換を適用することができる。そのような変換されたデータは、変換係数と呼ばれ得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送ることができる。量子化ユニット５４は次いで、その変換係数を量子化することができる。いくつかの例では、量子化ユニット５４は、ＴＵが正方形か非正方形かに基づいて、量子化パラメータを決定するように構成され得る。たとえば、量子化ユニット５４は、ＴＵが正方形か非正方形かに基づいて、量子化パラメータをある量だけオフセットすることができる。上で論じられたように、量子化ユニット５４は、ＱＰ0の値にオフセット値を適用することができ、ここでＱＰ0の値は、ＴＵを含む現在のフレームまたはスライスに対してシグナリングされる量子化パラメータであり、オフセットは、ＴＵが正方形か非正方形かに基づき得る。たとえば、正方形ＴＵと非正方形ＴＵに対して、ＱＰ0の値への異なるオフセットを使用することができる。いくつかの場合には、正方形ＴＵに対してはＱＰ0の値へのオフセットは使用しなくてよく、非正方形ＴＵに対してはＱＰ0の値への選択されたオフセットを使用してよい。
【０１１０】
エントロピー符号化ユニット５６は、走査パターンに従って、行列中の量子化された変換係数を走査してエントロピーコーディングすることができる。いくつかの例では、エントロピー符号化ユニット５６は、たとえば、ＨＥＶＣの技法または他の関連するコーディング規格ごとに、従来の走査を実行することができる。いくつかの例では、本開示の技法によれば、エントロピー符号化ユニット５６は、変換ユニットの短い方の端と交わる角にある短い方の端において開始し走査パターンの方向にある長い方の端へと至る走査パターンを使用して、非正方形変換ユニットの量子化された変換係数を走査することができる。たとえば、エントロピー符号化ユニット５６は、高さよりも長い幅を有するＴＵの左側の端において走査を開始することができ、このとき左側の端は上側の端と交わる。別の例として、エントロピー符号化ユニット５６は、幅よりも長い高さを有するＴＵの上側の端において走査を開始することができ、このとき上側の端は左側の端と交わる。
【０１１１】
エントロピー符号化ユニット５６はまた、ＴＵが正方形か非正方形かに基づいて、ＴＵの量子化された変換係数をコーディングするように構成され得る。一般に、エントロピーコーディングユニット５６は、各係数に対して、係数が０よりも大きな絶対値を有するかどうか（つまり、係数が有意かどうか）、係数が走査の順序で最後の有意な係数かどうか、係数が正の値を有するか負の値を有するか、係数の絶対値が１より大きいかどうか、係数の絶対値が２より大きいかどうか、および係数の「レベル」の値（つまり、係数の絶対値から３を減算したものとしてコーディングされ得る、係数の絶対値）を示す、データ（つまり、シンタックス要素）を符号化することができる。エントロピー符号化ユニット５６は、値が推測され得るシンタックス要素の符号化を飛ばすことができ、たとえば、係数が有意ではない場合、つまり、０より大きな絶対値を有さない場合、２よりも大きな絶対値を係数が有するかどうかを示すデータの符号化を飛ばすことができる。
【０１１２】
いくつかの例では、エントロピー符号化ユニット５６は、コンテキスト適応バイナリ算術コーディング（ＣＡＢＡＣ）を使用して係数を符号化することができる。一般に、ＣＡＢＡＣを実行するとき、エントロピー符号化ユニット５６は、複数のコンテキストセットのうちのあるセットとともに、そのセットの初期値を選択し、コーディングが進行するに従って状態間を遷移する。ＣＡＢＡＣを実行するために、エントロピー符号化ユニット５６は、本開示で説明されるＣＡＢＡＣ技法に従って送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択することができる。たとえば、コンテキストは、近隣の値が０ではないかどうかということと、上で説明された技法のＣＡＢＡＣの態様に関して上で説明された他の基準および／またはデータとに関連し得る。エントロピー符号化ユニット５６はまた、選択された変換を表す信号のような、シンタックス要素をエントロピー符号化することができる。エントロピー符号化ユニット５６によるエントロピーコーディングの後、得られた符号化されたビデオは、ビデオデコーダ３０などの別のデバイスに送信されてよく、あるいは、後で送信しまたは取り出すためにアーカイブされてよい。
【０１１３】
ＴＵは、変換係数の２次元行列であると考えられ得るので、変換係数の各々は、ペアの値（Ｘ，Ｙ）を使用してＴＵにおいて特定されてよく、ＴＵ内で、Ｘは水平方向の座標に対応し、Ｙは垂直方向の座標に対応する。最後の有意な係数のシンタックス要素（Ｘ，Ｙ）（すなわち、最後の有意な係数のＸ座標と最後の有意な係数のＹ座標とを示すシンタックス要素）をコーディングするとき、エントロピー符号化ユニット５６は、コーディングされている座標の辺の長さに基づいて、コンテキストセットを選択することができる。つまり、Ｘ成分をコーディングするとき、エントロピー符号化ユニット５６は、ＴＵの幅に基づいてコンテキストを選択することができ、一方Ｙ成分をコーディングするとき、エントロピー符号化ユニット５６は、ＴＵの高さに基づいてコンテキストを選択することができる。
【０１１４】
ＴＵの有意性マップ（すなわち、各々のそれぞれの係数が有意（０ではない）かどうかを示す値のセット）をコーディングするとき、エントロピー符号化ユニット５６は、幅よりも高さが大きいＴＵと、高さよりも幅が大きいＴＵとで、基本的に同じコンテキストを使用することができる。そうするために、エントロピー符号化ユニット５６は、直接的なコンテキストの決定を使用していくつかのＴＵをコーディングすることができ、ＴＵの座標を転置し次いでコンテキストを決定することによって、他のＴＵをコーディングすることができる。たとえば、相対的に水平方向のＴＵ（高さよりも幅が長い）に対しては、エントロピー符号化ユニット５６は、直接的なコンテキストの決定を適用することができ、このときコンテキストは、係数のｘ座標およびｙ座標に基づいて係数に対して選択され、相対的に垂直方向のＴＵ（幅よりも高さが長い）に対しては、エントロピー符号化ユニット５６は、垂直方向のＴＵを転置し、次いでコンテキストを決定することができ、このときコンテキストは、転置されたｘ座標およびｙ座標に基づいて係数に対して選択される。具体的には、相対的に垂直方向のＴＵの中の各係数のｘ座標およびｙ座標は、コンテキストの選択のために、元のｙ座標が転置されたｘ座標として使用され、元のｘ座標が転置されたｙ座標として使用されるように、転置される。相対的に垂直方向のＴＵの中の係数の各々に対する転置された座標［（ｘ，ｙ）→（ｙ，ｘ）］は次いで、ｘ座標およびｙ座標が相対的に水平方向のＴＵに対して使用されるのと同じ方式で、それぞれの係数に対するコンテキストを選択するために使用される。
【０１１５】
ある例として、エントロピー符号化ユニット５６は、ＨＥＶＣにおいて説明されるような４×４ブロックおよび８×８ブロックと同様に、係数の配置に基づいて、有意性マップのコーディングのために、ＣＡＢＡＣコンテキストを使用して、８×４のＴＵおよび４×８のＴＵの係数を符号化することができる。エントロピー符号化ユニット５６は、上の式（１）に関して説明されたようなコンテキストを決定するように構成され得る。つまり、エントロピー符号化ユニット５６は、８×４ブロックの各係数に対するコンテキストを、ＣｔｘＮｕｍ＝Ｙ＋（Ｘ＞＞１）として導出することができ、ＸおよびＹは、コンテキストが決定されるそれぞれの係数の水平方向の座標および垂直方向の座標である。つまり、有意係数フラグのような、係数のシンタックス要素をコーディングするためのコンテキストの識別子は、係数のＸ座標およびＹ座標に基づき得る。同様に、エントロピー符号化ユニット５６は、それぞれの係数のＸ座標とＹ座標をまず交換することによって、４×８ブロックの各係数に対するコンテキストを導出することができ、次いで、ＣｔｘＮｕｍ＝Ｙ＋（Ｘ＞＞１）を実行する。係数レベルのコーディングのために、エントロピー符号化ユニット５６は、ＴＵを走査の順序で１６個の連続的な係数に分割することができる。非正方形ブロックのコーディング済ブロックフラグをコーディングするとき、エントロピー符号化ユニット５６は、コンテキストの異なるセット、たとえば、対応する係数のＸ座標およびＹ座標に基づくコーディング済ブロックフラグに特別に対応するコンテキストを使用することができる。
【０１１６】
いくつかの場合には、エントロピー符号化ユニット５６またはビデオエンコーダ２０の別のユニットは、エントロピーコーディングに加えて、他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット５６は、ＣＵおよびＰＵのコーディング済ブロックパターン（ＣＢＰ）の値を決定するように構成され得る。また、いくつかの場合には、エントロピー符号化ユニット５６は、係数のランレングスコーディングを実行することができる。
【０１１７】
逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームバッファ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算することができる。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算することができる。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償された予測ブロックに加算して、参照フレームバッファ６４に記憶するための再構成されたビデオブロックを生成する。
【０１１８】
モード選択ユニット４０は次いで、変換を適用した結果を分析し、どの変換がビットストリームの中でシグナリングされるべきかを選択することができ、上で説明された本技法の変換選択の態様に従って、レート−歪み分析または最適化を実行し、様々な変換を互いに比較することが多い。モード選択ユニット４０は、上で説明された再帰的な選択処理を実施して、残差４分木変換構造を生成することができ、モード選択ユニット４０は、この残差４分木変換構造を、上で説明されたシンタックス要素の形式でエントロピー符号化ユニット５６に渡すことができる。
【０１１９】
このようにして、ビデオエンコーダ２０は、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングし、変換ユニットが正方形か非正方形かに少なくとも一部基づいて変換ユニットのデータをコーディングするように構成される、ビデオコーダの例を代表する。具体的には、変換ユニットのデータをコーディングするために、ビデオエンコーダ２０は、コーディングユニットの少なくとも一部分に対する残差データを計算し、残差データを変換して変換係数を生成し、変換係数を量子化し、変換ユニットが正方形か非正方形かに基づいて、変換ユニットの量子化された変換係数を符号化するように構成されてよく、変換ユニットが正方形か非正方形かを示す情報をコーディングするために、ビデオエンコーダ２０は、変換ユニットが正方形か非正方形かを示す情報を符号化するように構成され得る。加えて、ビデオエンコーダ２０は、正方形変換ユニットを使用してコーディングユニットをコーディングした結果と、非正方形変換ユニットを使用してコーディングユニットをコーディングした結果とを比較して、この比較に基づいて正方形変換ユニットと非正方形変換ユニットのいずれかを選択することができる。
【０１２０】
図３は、符号化されたビデオシーケンスを復号するビデオデコーダ３０の例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームバッファ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２参照）に関して説明された符号化経路とは全般的に逆の復号経路を実行することができる。
【０１２１】
エントロピー復号ユニット７０は、変換係数の１次元アレイを取り出すために、符号化されたビットストリームに対してエントロピー復号処理を実行する。使用されるエントロピー復号処理は、ビデオエンコーダ２０によって使用されたエントロピーコーディング（たとえば、ＣＡＢＡＣ、ＣＡＶＬＣなど）に依存する。エンコーダによって使用されるエントロピーコーディング処理は、符号化されたビットストリーム中でシグナリングされてよく、または所定の処理であってよい。一般に、エントロピー復号ユニット７０は、エントロピー符号化ユニット５６に関して上で説明されたものと逆の方式で、上で説明された技法のエントロピー復号の態様を実施する。エントロピー復号ユニット７０はまた、上で説明された技法のシンタックス符号化の態様と全般に逆の、本技法のシンタックス復号の態様を実施して、ビットストリーム（図２および図３の例では「符号化されたビデオ」と表される）の中で特定されるシンタックス要素を復号することができる。
【０１２２】
いくつかの例では、エントロピー復号ユニット７０（または逆量子化ユニット７６）は、ビデオエンコーダ２０のエントロピー符号化ユニット５６（または量子化ユニット５４）によって使用された走査モードを反映する走査を使用して、受信された値を走査することができる。この意味で、エントロピー復号ユニット７０は、エントロピー符号化ユニット５６に関して上で説明された技法の走査の態様と逆の方式で、本技法の走査の態様を実施することができる。係数の走査は逆量子化ユニット７６において実行され得るが、例示のために、走査はエントロピー復号ユニット７０によって実行されるものとして説明される。加えて、説明しやすいように別個の機能ユニットとして示されているが、ビデオデコーダ３０のエントロピー復号ユニット７０、逆量子化ユニット７６、および他のユニットの構造および機能は、互いに高度に統合されてよい。
【０１２３】
逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された、量子化された変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。このようにして、逆量子化ユニット７６は、量子化ユニット５４に関して上で説明された技法の量子化の態様と全般的に逆の、本明細書で説明される技法の逆量子化の態様を実施することができる。その上、逆量子化ユニット７６は、ビデオエンコーダ２０の逆量子化ユニット５８によって実施されるような、本技法と実質的に同じ態様を実施することができる。逆量子化処理は、たとえば、ＨＥＶＣのために提案された処理またはＨ．２６４復号規格によって定義された処理と同様の、従来の処理を含み得る。逆量子化処理は、量子化の程度を判定し、同様に、適用されるべき逆量子化の程度を決定するための、ＣＵについてビデオエンコーダ２０によって計算される量子化パラメータＱＰの使用を含み得る。逆量子化ユニット７６は、係数が１次元アレイから２次元アレイに変換される前または変換された後に、変換係数を逆量子化することができる。
【０１２４】
逆変換ユニット７８は、逆量子化された変換係数に逆変換を適用する。いくつかの例では、逆変換ユニット７８は、ビデオエンコーダ２０からのシグナリングに基づいて、あるいはブロックサイズ、コーディングモードのような１つまたは複数のコーディング特性から変換を推測することによって、逆変換を決定することができる。いくつかの例では、逆変換ユニット７８は、現在のブロックを含むＬＣＵのための４分木のルートノードにおけるシグナリングされた変換に基づいて、現在のブロックに適用すべき変換を決定することができる。代替的に、変換は、ＬＣＵ４分木中のリーフノードＣＵのためのＴＵ４分木のルートにおいてシグナリングされ得る。いくつかの例では、逆変換ユニット７８は、逆変換ユニット７８が、復号されている現在のブロックの変換係数に２つ以上の逆変換を適用する、カスケード逆変換を適用することができる。逆変換ユニット７８は、変換処理ユニット５２に関して上で説明された非正方形変換の適用とは全般的に逆の方式で、１つまたは複数の非正方形逆変換を適用することができる。
【０１２５】
このようにして、逆変換ユニット７８は、変換処理ユニット５２に関して上で説明された技法の非正方形変換の態様と全般的に逆の、本明細書で説明される技法の非正方形変換の態様を実施することができる。その上、逆変換ユニット７８は、ビデオエンコーダ２０の逆変換ユニット６０によって実施されるような、本技法と実質的に同じ態様を実施することができる。
【０１２６】
イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在のフレームの以前復号されたブロックからのデータとに基づいて、現在のフレームの現在のブロックについての予測データを生成することができる。
【０１２７】
一方、動き補償ユニット４４は、動きベクトル、参照フレームインデックス、および動き方向のような、動き情報を示すシンタックスデータを受信することができる。取り出された動き予測方向、参照フレームインデックス、および計算された現在の動きベクトル（たとえば、統合モードに従って近隣のブロックからコピーされた動きベクトル）に基づいて、動き補償ユニットは、インター予測のための、現在の部分の動き補償されたブロックを生成する。これらの動き補償されたブロックは基本的に、残差データを生成するために使用される予測ブロックを再現する。
【０１２８】
動き補償ユニット７２は、動き補償されたブロックを生成することができ、場合によっては、補間フィルタに基づいて補間を実行する。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素のための補間値を計算することができる。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを判定し、その補間フィルタを使用して予測ブロックを生成することができる。
【０１２９】
加えて、動き補償ユニット７２およびイントラ予測ユニット７４は、ＨＥＶＣの例では、（たとえば、４分木によって与えられる）シンタックス情報の一部を使用して、符号化されたビデオシーケンスのフレームを符号化するために使用されたＬＣＵのサイズを判定することができる。動き補償ユニット７２およびイントラ予測ユニット７４はまた、シンタックス情報を使用して、符号化されたビデオシーケンスのフレームの各ＣＵがどのように分割されるか（および、同様に、サブＣＵがどのように分割されるか）を記述する分割情報を判定することができる。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード（たとえば、イントラ予測またはインター予測、およびイントラ予測の場合はイントラ予測符号化モード）と、各インター符号化されたＰＵに対する１つまたは複数の参照フレーム（および／またはそれらの参照フレームの識別子を含んでいる参照リスト）と、符号化されたビデオシーケンスを復号するための他の情報とを含み得る。
【０１３０】
加算器８０は、残差ブロックを、動き補償ユニット７２またはイントラ予測ユニット７４によって生成される対応する予測ブロックと合成して、復号されたブロックを形成する。ビデオデコーダ３０はまた、デブロッキングフィルタを適用するデブロッキングユニットを含み得る。このフィルタは、ブロッキネスアーチファクトを除去するために、復号されたブロックをフィルタリングするために適用され得る。復号されたビデオブロックは次いで、参照フレームバッファ８２に記憶され、参照フレームバッファ８２は、その後の動き補償のための参照ブロックを与え、また、（図１のディスプレイデバイス３２などの）ディスプレイデバイス上での提示のために復号されたビデオを生成する。
【０１３１】
このようにして、ビデオデコーダ３０は、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングし、変換ユニットが正方形か非正方形かに少なくとも一部基づいて変換ユニットのデータをコーディングするように構成される、ビデオコーダの例を代表する。具体的には、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングするために、ビデオデコーダ３０は、ビデオデータの変換ユニットが正方形か非正方形かを示す情報を復号するように構成されてよく、変換ユニットのデータをコーディングするために、ビデオデコーダ３０は、変換ユニットが正方形か非正方形かに基づいて変換ユニットの量子化された変換係数を復号し、量子化された変換係数を逆量子化し、変換係数を逆変換して、変換ユニットに対応するコーディングユニットの少なくとも一部分に対する残差データを生成するように構成され得る。
【０１３２】
図４は、コーディングユニット（ＣＵ）１００Ａ〜１００Ｄが異なるサイズを有する複数のＰＵへと分割されることの、概念図である。サイズ２Ｎ×２ＮのＣＵは、ＣＵ１００Ａ〜１００Ｄの区分戦略の１つに従って分割され得る。ＣＵ１００Ａは、サイズ２Ｎ×２ＮのＰＵを含むので、ＣＵ１００ＡのＰＵは、ＣＵ１００Ａと同じサイズである。ＣＵ１００Ｂは、サイズＮ×２Ｎの２つのＰＵへと分割される。ＣＵ１００Ｃは、サイズ２Ｎ×Ｎの２つのＰＵへと分割される。ＣＵ１００Ｄは、サイズＮ×Ｎの４つのＰＵへと分割される。これらの例の各々において、ＣＵは、リーフノードＣＵであると仮定される。
【０１３３】
本開示の技法によれば、ＣＵ１００Ａ〜１００ＤのＴＵは、正方形または非正方形であり得る。いくつかの例では、たとえば、ビデオエンコーダ２０およびビデオデコーダ３０が対応するＰＵと同じサイズを有するＴＵを使用するように構成される場合、ＣＵ１００Ｂおよび１００ＣのＴＵは非正方形であると仮定されてよいが、ＣＵ１００Ａおよび１００ＤのＴＵは正方形であると仮定されてよい。他の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＣＵ１００Ａおよび１００Ｄに対しては正方形ＴＵのみを使用するが、ＣＵ１００Ｂおよび１００Ｃに対しては正方形ＴＵを使用するか非正方形ＴＵを使用するかを決定するように構成され得る。
【０１３４】
図５は、例示的な残差４分木変換構造１１０を示す概念図である。図５の例では、構造１１０はルートレベルを含み、ルートレベルは、４個のＮ×Ｎのサブブロック１１２Ａ、１１２Ｂ、１１２Ｃ、および１１２Ｄに分割された、サイズ２Ｎ×２Ｎの外側の箱である。構造１１０のサブブロック１１２Ｂはさらに、サイズＮ／２×Ｎ／２の４個の副部分へと副次的に分割されており、これは、サイズＮ×Ｎの変換を副部分１１２Ｂに適用することで得られる結果よりも良好な結果を生むために、サイズＮ／２×Ｎ／２の変換が決定された可能性があることを意味する。部分の副部分１１２Ａ、１１２Ｃ、および１１２Ｄに適用されるとき、ビデオエンコーダは、サイズＮ／２×Ｎ／２の変換ではなくサイズＮ×Ｎの変換を選んだので、副部分１１２Ａ、１１２Ｃ、および１１２Ｄに関しては、サイズＮ／２×Ｎ／２の４個の副部分への、これらの部分のさらなる副次的な分割は、より良好な結果を生んでいない可能性がある。加えて、ルートレベルにおいて適用されるサイズ２Ｎ×２Ｎの変換は、副部分１１２Ａ、１１２Ｂ、１１２Ｃ、および１１２Ｄに適用されるサイズＮ×Ｎの変換をビデオエンコーダが選択したことを考慮すると、図５の例ではより良好な結果を生んでいない。
【０１３５】
ＲＱＴ構造１１０の例は、図５の例では正方形の形状のＴＵを示すが、本開示の技法によれば、ＲＱＴ構造は、非正方形の形状のＴＵも含み得る。そのようなＲＱＴ構造の例が、図８および図９に関して以下で説明される。
【０１３６】
図６Ａおよび図６Ｂは、本開示で説明されるいくつかの技法による、波面走査を示す概念図である。図６Ａの例では、サイズ２Ｎ×Ｎの変換係数１２０の非正方形ブロックは、変換係数１２０の非正方形ブロックの最も左側の端である最短の端で開始し、左下から右上に、ビデオコーダによって走査される。高さが幅より小さいので、ビデオコーダは、変換係数１２０の非正方形ブロックの最も左側の境界から、これらの係数を走査することができる。ビデオエンコーダ２０は、エントロピー符号化の間、たとえば、非正方形変換ユニットの短い方の端の位置に応じて、左上の角から開始し、図６Ａまたは図６Ｂに示される順序で、非正方形変換ユニットの量子化された変換係数を走査することができる。別の例として、ビデオデコーダ３０は、変換係数をエントロピー復号し、次いで、変換係数１２０の非正方形ブロックの対応する位置に、復号された変換係数を配置することができる。
【０１３７】
図６Ｂの例では、変換係数１２２の非正方形ブロックは、変換係数１２２の非正方形ブロックの最も左側の端である最短の端で開始し、右上から左下に、ビデオコーダによって走査される。幅が高さより小さいので、ビデオコーダは、変換係数１２２の非正方形ブロックの最も上側の境界から、これらの係数を走査することができる。ビデオエンコーダ２０は、たとえば、エントロピー符号化の間、示された順序で、量子化された変換係数を走査することができる。別の例として、ビデオデコーダ３０は、変換係数をエントロピー復号し、次いで、変換係数１２２の非正方形ブロックの対応する位置に、復号された変換係数を配置することができる。
【０１３８】
図７Ａは、１つまたは複数の予測ブロック（たとえば、ＰＵ）へとブロック（たとえば、ＣＵ）を区分する様々なモード示す概念図である。具体的には、ブロック１３０は、予測ブロックが現在のブロックと同じサイズである例を示す。したがって、ブロック１３０は、対応するＣＵと同じサイズのＰＵを表し得る。ブロック１３２は、２Ｎ×２Ｎ画素のサイズを有すると言われることがあり、Ｎ×Ｎの予測ブロックに区分され得る。つまり、ブロック１３２は、４個の正方形の重複しないブロックに区分され、その各々が、親ブロックの対応する角と接触するちょうど１つの角を有する。
【０１３９】
ブロック１３４および１３６は、短距離イントラ予測（ＳＤＩＰ）に従って区分されたブロックの例を表す。ＳＤＩＰは、２Ｎ×ｈＮおよびｈＮ×２Ｎという２つの新たなユニット区分タイプをもたらす、イントラコーディング技法である。２Ｎ×ｈＮの区分（たとえば、ブロック１３４）では、ＣＵは４個の２Ｎ×ｈＮのＰＵを有し、ｈＮ×２Ｎ（たとえば、ブロック１３６）では、ＣＵは４個のｈＮ×２ＮのＰＵを有する。各ＰＵは、固有のイントラ予測モード（たとえば、図４に示される３５個のモードの１つ）を有し得る。図７Ａは、ブロック１３４および１３６のＳＤＩＰ区分が対称であることを示す。ブロック１３４では、ＳＤＩＰ区分は水平方向の軸に関して対称であるが、ブロック１３６では、ＳＤＩＰ区分は垂直方向の軸に関して対称である。したがって、ブロック１３４および１３６は、非正方形ＰＵを含むブロックの例を表し、非正方形ＰＵに対して、非正方形ＴＵが本開示の技法に従って与えられ得る。本開示の技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０のようなビデオコーダは、ＣＵ１３４および１３６のような、ＳＤＩＰ  ＰＵに区分されるＣＵに、非正方形変換を適用するように構成され得る。
【０１４０】
図７Ｂは、非対称的な区分へと区分されたブロック１４０〜１４６の様々な例を示す概念図である。図７Ｂの例では、各ブロック１４０〜１４６は２つの長方形に区分され、ここでブロック１４０〜１４６の各々は元は２Ｎ×２Ｎのブロックである。一方の長方形は、Ｎ／２個の画素という寸法（すなわち、長さまたは幅）を有し、もう一方の長方形は、３Ｎ／２個の画素という同じ寸法を有する。非対称な区分は、インター予測では非対称動き区分（ＡＭＰ）から、またはイントラ予測では非対称短距離イントラ予測（ＳＤＩＰ）から生じ得る。
【０１４１】
この例では、ブロック１４０、１４２、１４４、および１４６の各々は６４×６４の画素ブロックであるが、ブロックの他のサイズ（たとえば、３２×３２、１６×１６、１２８×１２８など）も同様の方式で区分され得る。ブロック１４０は、垂直方向の境界１５０Ａによって、（１／２Ｎ）×２ＮのＰＵ１５２Ａおよび（３／２Ｎ）×２ＮのＰＵ１５４Ａという、２つのＰＵへと水平方向に分割される。ブロック１４２は、垂直方向の境界１５０Ｂによって、（３／２Ｎ）×２ＮのＰＵ１５４Ｂおよび（１／２Ｎ）×２ＮのＰＵ１５２Ｂという、２つのＰＵへと水平方向に分割される。ブロック１４４は、水平方向の境界１５０Ｃによって、２Ｎ×（３／２Ｎ）のＰＵ１５４Ｃおよび２Ｎ×（１／２Ｎ）のＰＵ１５２Ｃという、２つのＰＵへと垂直方向に分割される。ブロック１４６は、水平方向の境界１５０Ｄによって、２Ｎ×（１／２Ｎ）のＰＵ１５２Ｄおよび２Ｎ×（３／２Ｎ）のＰＵ１５４Ｄという、２つのＰＵへと垂直方向に分割される。このようにして、図７ＢのＰＵ１５２、１５４は、非対称であると呼ばれ得る。また、様々な例において、図７ＢのＰＵ１５２、１５４は、非対称動き区分または非対称ＳＤＩＰ区分により生じ得る。本開示の技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０のようなビデオコーダは、ＣＵ１４０、１４２、１４４、および１４６のような、非対称ＰＵに区分されるＣＵに、非正方形変換を適用するように構成され得る。
【０１４２】
図８は、非正方形変換ユニットを表現するための例示的な区分構造を示す概念図である。この区分構造は、残差４分木（ＲＱＴ）に対応し得る。一般に、上で論じられたように、ＲＱＴは様々なレベルを有し得る。図８の例では、ＲＱＴのレベル０に対応するＴＵは、ルートノード１６０Ａのような正方形の形状と、ルートノード１６０Ｂのような非正方形の形状のいずれかを有してよく、ルートノード１６０Ｂは、２つの非正方形変換ユニット１６２Ａおよび１６２Ｂに分割される。
【０１４３】
この例では、ＣＵのＴＵが２Ｎ×２Ｎのサイズを有することを示すために、ビデオコーダは、ＴＵがＲＱＴのレベル０に対応することを示す値をコーディングすることができ、さらに、ＴＵがルートノード１６０Ａの形状と同様の形状に対応することを示す変換選択フラグをコーディングすることができる。一方、ＣＵが非正方形ＴＵを含むことを示すために、ビデオコーダは、ＴＵがＲＱＴのレベル０に対応することを示す値をコーディングすることができ、ＴＵがルートノード１６０Ｂの変換ユニット１６２Ａ、１６２Ｂの形状と同様の形状に対応することを示す変換選択フラグをコーディングすることができる。いくつかの例では、ビデオコーダはさらに、対応するＣＵのＰＵに基づいて、ＴＵ１６２Ａ、１６２Ｂが幅よりも長い高さを有するかどうかを判定することができ、または、長さが幅よりも長いかどうかを示すデータをコーディングすることができる。
【０１４４】
図８に示されるＲＱＴのレベル１に対応する、ノード１６６のＴＵ１６４Ａ〜１６４Ｄ（子変換ユニットとも呼ばれる）はＮ×Ｎのサイズを有するので、正方形の形状も有する。したがって、ビデオコーダは、ＴＵがＮ×Ｎのサイズを有することを示すように、ＣＵのＴＵが図８のＲＱＴのレベル１に対応することを示す値をコーディングすることができる。Ｎ×ＮのＴＵのみがレベル１にあるので、この例では、ＴＵのサイズと形状とを示すためにさらなる情報がコーディングされる必要はない。たとえば、ＴＵがＲＱＴのレベル１に対応する場合、この例ではレベル１はＴＵのサイズおよび形状について１つの選択肢しか含まないので、ビデオコーダは変換選択フラグをコーディングする必要はない。
【０１４５】
いくつかの例では、ビデオエンコーダ２０は、ＴＵ１６４Ａ〜１６４Ｄに対応するサイズを有するＴＵを使用した様々な例において、ＣＵ（１つまたは複数の正方形ＰＵまたは非正方形ＰＵに区分され得る）の第１のコーディング経路を実行することができる。ビデオエンコーダ２０は、第１のコーディング経路から得られる性能の尺度を分析することができ、その後、ＴＵ１６２Ａおよび１６２Ｂに対応するＴＵ（または関連する例では、水平方向を向いた非正方形ＴＵ）を使用して、ＣＵの第２のコーディング経路を実行することができる。ビデオエンコーダ２０は次いで、この第２のコーディング経路から得られる性能の尺度を分析し、第１のコーディング経路から得られる尺度を第２のコーディング経路から得られる尺度と比較することができる。第１のコーディング経路からの尺度がより良好である場合、ビデオエンコーダ２０は、ＴＵ１６４Ａ〜１６４Ｄに対応するサイズを有するＴＵを選択することができる。
【０１４６】
一方、第２のコーディング経路からの尺度がより良好である場合、ビデオエンコーダ２０は、ルートノード１６０Ａに対応するサイズを有するＴＵを使用して、第３のコーディング経路を実行し、第３のコーディング経路から得られる尺度を分析することができる。その上、ビデオエンコーダ２０は、第３のコーディング経路からの尺度を、第２のコーディング経路からの尺度と比較することができる。第２のコーディング経路からの尺度がより良好である場合、ビデオエンコーダ２０は、ＴＵ１６２Ａ、１６２Ｂに対応するサイズを有するＴＵを選択することができる。一方、第３のコーディング経路からの尺度がより良好である場合、ビデオエンコーダ２０は、ルートノード１６０Ａに対応するサイズを有するＴＵを選択することができる。
【０１４７】
図９は、非正方形変換ユニットを表現するための別の例示的な区分構造を示す概念図である。この例では、ＲＱＴのレベル０に対応するルートノード１７０は、２Ｎ×２Ｎのサイズを有する。ＲＱＴのレベル１に対応するノード１７２は、２Ｎ×Ｎのサイズを有する２つのＴＵ１７４Ａ、１７４Ｂ（子変換ユニットとも呼ばれる）を含む。ＲＱＴのレベル２に対応するノード１７６は、サイズＮ×Ｎの４つのＴＵ１７８Ａ〜１７８Ｄを含む。
【０１４８】
この例では、ビデオコーダは、ＣＵのＴＵがＲＱＴのレベル０、１、または２に対応するかどうかを示す情報をコーディングすることができる。この例では、ＣＵのＴＵがレベル０またはレベル２に対応する場合はＴＵは正方形であるが、ＴＵがレベル１に対応する場合はＴＵは非正方形である。非正方形ＴＵが幅よりも長い高さを有するかどうかを示すために、追加の情報がコーディングされてよく、またはこのことは、他の情報、たとえば、ＣＵのＰＵが幅よりも長い高さを有するかどうかに基づいて決定されてよい。
【０１４９】
ビデオエンコーダ２０は、図８を参照して説明された方式と実質的に一致する方式で、図９の例示的なＲＱＴのレベル０、１、または２に対応するＴＵを使用するかどうか決定することができる。たとえば、ビデオエンコーダ２０は、レベル２のＴＵを使用した結果とレベル１のＴＵを使用した結果を比較することができ、レベル１のＴＵを使用した結果がより良好である場合、レベル０のＴＵを使用した結果とレベル１のＴＵを使用した結果を比較することができる。ビデオエンコーダ２０は、これらの結果に基づいて、ＴＵのサイズを選択することができる。ビデオエンコーダ２０は、選択されたＴＵのサイズと形状とを示す情報をコーディングすることができ、ビデオデコーダ３０は、そのような情報を復号して、ＴＵのサイズと形状とを決定することができる。
【０１５０】
図１０Ａは、ＣＵが正方形ＴＵを含むか非正方形ＴＵを含むかをシグナリングするための例示的なシグナリングデータを示す概念図である。この例では、シグナリングデータは、ｓｐｌｉｔフラグ１８０と、変換選択（ＴＳ）フラグ１８２と、輝度コーディング済ブロックフラグ（ｌｕｍａ  ＣＢＦ）１８４と、青色相クロミナンスＣＢＦ（ｃｈｒｏｍａ−ｕ  ＣＢＦ）１８６と、赤色相クロミナンスＣＢＦ（ｃｈｒｏｍａ−ｖ  ＣＢＦ）１８８とを含む。Ｓｐｌｉｔフラグ１８０は、ルートレベル変換が採用されるかどうか、またはより小さな変換が使用されるかどうかを示し得る。たとえば、ｓｐｌｉｔフラグ１８０は、ルートノードＴＵのサイズが使用されることを示すための第１の値（たとえば、０）、または、ルートノードＴＵがより小さなＴＵに分割されることを示すための第２の値（たとえば、１）を有し得る。したがって、図１０Ａのシグナリングデータは、図８に示されたもののようにＲＱＴに対応し得る。
【０１５１】
ＴＳフラグ１８２は、所与のＣＵに対して正方形変換ユニットが使用されるか非正方形変換ユニットが使用されるかを示す値を有し得る。たとえば、ルートレベルＴＵが使用されることをｓｐｌｉｔフラグ１８０が示す場合、ＴＳフラグ１８２は、ルートレベルＴＵが正方形（たとえば、２Ｎ×２Ｎ）か非正方形（たとえば、２Ｎ×ＮまたはＮ×２Ｎ）かを示し得る。したがって、図８の例に関して、ｓｐｌｉｔフラグ１８０は、リーフノードＣＵがレベル０のＴＵを有することを示すために０という値に設定されてよく、ＴＳフラグ１８２の０という値は、ルートノード１６０Ａに対応するＴＵをＣＵが有することを示すことができ、ＴＳフラグ１８２の１という値は、ＴＵ１６２Ａ、１６２Ｂに対応する２つのＴＵをＣＵが有することを示すことができる。いくつかの例では、より高いレベル（たとえば、レベル１）のＲＱＴが使用されることをｓｐｌｉｔフラグ１８０が示す場合、ＴＳフラグ１８２がコーディングされる必要はない。
【０１５２】
各ＣＵは、輝度値を示す輝度成分と、色値（たとえば、青と赤の色相）を示す２つのクロミナンス成分という、３つの異なる成分に対するＴＵを含み得る。様々な成分に対するＴＵは各々、同じ方法で分割され得るので、ＲＱＴに対するデータによって示されるように、すべて、正方形と非正方形のいずれかであり得る。その上、ｌｕｍａ  ＣＢＦ１８４は、輝度成分に対するＴＵの少なくとも１つの係数が０ではない、すなわち有意であるかどうかを示す値を有し得る。少なくとも１つの０ではないＴＵの係数がある場合、つまり、少なくとも１つの有意な係数がある場合、ＴＵは「コーディング済」と言われる。同様に、ｃｈｒｏｍａ−Ｕ  ＣＢＦ１８６は、第１のクロミナンス成分（たとえば、青色相彩度成分）に対するＴＵの少なくとも１つの係数が０ではないかどうかを示すことができ、一方ｃｈｒｏｍａ−Ｖ  ＣＢＦ１８８は、第２のクロミナンス成分（たとえば、青色相彩度成分）に対するＴＵの少なくとも１つの係数が０ではないかどうかを示すことができる。
【０１５３】
いくつかの例では、ＴＵが非正方形の形状を有することをＴＳフラグ１８２が示す場合、複数のＣＢＦが各成分に対してコーディングされ得る。たとえば、非正方形ＴＵ１６２Ａ、１６２Ｂ（図８）では、２つのＣＢＦが、各成分に対してコーディングされ得る（ＣＢＦ−Ｙ０およびＣＢＦ−Ｙ１、ＣＢＦ−Ｕ０およびＣＢＦ−Ｕ１、ならびにＣＢＦ−Ｖ０およびＣＢＦ−Ｖ１）。
【０１５４】
図１０Ｂは、ＣＵが正方形ＴＵを含むか非正方形ＴＵを含むかをシグナリングするためのシグナリングデータの代替的な例を示す概念図である。Ｓｐｌｉｔフラグ１９０は、ｓｐｌｉｔフラグ１８０（図１０Ａ）と実質的に一致し得る。ＴＳフラグ１９２は、変換選択フラグ１８２（図１０Ａ）と実質的に一致し得る。しかしながら、この例では、より高いレベルのＲＱＴが使用されるように、ルートノードＴＵが分割されることをｓｐｌｉｔフラグ１９０が示す場合しか、ＴＳフラグ１９２はコーディングされる必要がない。したがって、図１０Ｂのシグナリングデータは、図９に示されたもののようにＲＱＴに対応し得る。
【０１５５】
加えて、図１０Ｂのシグナリングデータは、ＣＢＦＹＹフラグ１９４を含む。ＣＢＦＹＹフラグ１９４は、対応するＴＵが正方形である場合は単一のＣＢＦ−Ｙフラグを表し、または、非正方形の対応する輝度ＴＵの２つのＣＢＦ−Ｙフラグを表し得る。Ｙ０およびＹ１と呼ばれる非正方形の輝度ＴＵに対しては、ＣＢＦＹＹフラグ１９４は、ＣＢＦ−Ｙ０フラグとＣＢＦ−Ｙ１フラグのＯＲを表す値を有し得る。したがって、ＴＵ  Ｙ０とＹ１のいずれかまたは両方が０ではない係数を有する場合、ＣＢＦＹＹフラグ１９４は、ＴＵ  Ｙ０とＹ１の少なくとも１つが０ではない係数を有することを示す値を有し得る。したがって、ＴＵ  Ｙ０とＹ１のいずれが０ではない係数を有するかを示すために、ＣＢＦＹ０フラグ１９６およびＣＢＦＹ１フラグ１９８に対して値がコーディングされ得る。ＣＢＦＹ０フラグ１９６は、ＴＵ  Ｙ０が０ではない係数を有するかどうかを示すことができ、一方ＣＢＦＹ１フラグ１９８は、ＴＵ  Ｙ１が０ではない係数を有するかどうかを示すことができる。一方、ＴＵ  Ｙ０とＹ１の両方のすべての係数の値が０である場合、ＣＢＦＹ０フラグ１９６およびＣＢＦＹ１フラグ１９８は明確にコーディングされる必要はないが、ＴＵ  Ｙ０およびＹ１の各々のすべての係数の値が０であることを示すと、ＣＢＦＹＹフラグ１９４から推測され得る。
【０１５６】
同様に、ＣＢＦＵＶフラグ２００は、対応するＴＵのＣＢＦ−ＵフラグとＣＢＦ−ＶフラグのＯＲを表し得る。つまり、ＣＢＦＵＶフラグ２００は、ｃｈｒｏｍａ−Ｕ  ＴＵとｃｈｒｏｍａ−Ｖ  ＴＵの少なくとも１つが０ではない値の係数を有するかどうかを示し得る。ｃｈｒｏｍａ−Ｕ  ＴＵとｃｈｒｏｍａ−Ｖ  ＴＵの少なくとも１つが０ではない値の係数を有することをＣＢＦＵＶフラグ２００が示す場合、ＣＢＦ−Ｕフラグ２０２は、ｃｈｒｏｍａ−Ｕ  ＴＵが０ではない係数を有するかどうかを示すためにコーディングされてよく、ＣＢＦ−Ｖフラグ２０４は、ｃｈｒｏｍａ−Ｖ  ＴＵが０ではない係数を有するかどうかを示すためにコーディングされてよい。ｃｈｒｏｍａ−Ｕ  ＴＵおよびｃｈｒｏｍａ−Ｖ  ＴＵのすべての係数の値が０であることをＣＢＦＵＶフラグ２００が示す場合、ＣＢＦ−Ｕフラグ２０２およびＣＢＦ−Ｖフラグ２０４はコーディングされる必要はない。いくつかの例では、ＴＵが分割されることをｓｐｌｉｔフラグ１９０が示す場合、追加のフラグ、たとえば、Ｕ１、Ｕ２、Ｖ１、およびＶ２に対するＣＢＦＵフラグが、クロミナンス成分に対して与えられ得る。
【０１５７】
いくつかの例では、ｓｐｌｉｔフラグ１９０、ＣＢＦＹＹフラグ１９４、およびＣＢＦＵＶフラグは、たとえば、ＶＬＣ、ゴロムコーディング、単項コーディング、ランレングスコーディング、または他の結合コーディング方法を使用して、一緒にコーディングされ得る。この結合コーディングは、様々なフラグの間の相関を利用することができる。
【０１５８】
図１１は、正方形変換ユニットまたは非正方形変換ユニットを使用してビデオデータを符号化するための、例示的な方法を示すフローチャートである。図１１の方法は、例示および説明のためにビデオエンコーダ２０に関して説明される。しかしながら、他のビデオコーディングデバイスが、同様の方法を実行するように構成され得ることを理解されたい。方法のステップは、必ずしも示された順序で実行される必要はなく、いくつかのステップは、並列にではなく順番に実行されてよい。
【０１５９】
最初に、ビデオエンコーダ２０は、現在のコーディングユニットのための１つまたは複数の予測ユニットを決定することができる（２５０）。たとえば、ビデオエンコーダ２０は、いくつかのコーディング経路を実行して、コーディングユニットを１つまたは複数の予測ユニット（ＰＵ）に区分するための区分戦略を決定することができる。ＰＵは、正方形または非正方形であり得る。たとえば、２Ｎ×２ＮのＣＵでは、たとえば、従来の区分、非対称動き区分、短距離イントラ予測区分、または非対称短距離イントラ予測区分の結果として、２Ｎ×２ＮのＰＵ、２Ｎ×ＮのＰＵ、Ｎ×２ＮのＰＵ、２Ｎ×Ｎ／２のＰＵ、Ｎ／２×２ＮのＰＵ、２Ｎ×ｎＵのＰＵ、２Ｎ×ｎＤのＰＵ、ｎＬ×２ＮのＰＵ、ｎＲ×２ＮのＰＵ、または他のサイズのＰＵが存在し得る。
【０１６０】
いずれの場合でも、ビデオエンコーダ２０は、コーディングユニットのための残差データも計算することができる（２５２）。つまり、ＰＵを形成した後で、ビデオエンコーダ２０は、ＣＵの生の画素値と、ＰＵの予測される画素値との間の、画素ごとの差分を計算して、残差データを形成することができる。ビデオエンコーダ２０はさらに、変換ユニットの形状を、たとえば正方形ＴＵか非正方形ＴＵかを決定することができる（２５４）。いくつかの例では、ビデオエンコーダ２０は、上で説明されたように、ＰＵの形状に少なくとも一部基づいてＴＵの形状を選択することができる。同様に、ビデオエンコーダ２０は、ＴＵがクロミナンス成分に対応するか輝度成分に対応するかに少なくとも一部基づいて、ＴＵの形状を選択することができる。その上、上で説明されたように、ビデオエンコーダ２０は、複数のコーディング経路を実行して、正方形ＴＵの形状を使用したコーディング結果と非正方形ＴＵの形状を使用したコーディング結果とを比較することができる。これらの複数のコーディング経路は、ＰＵの形状を決定するためのコーディング経路と同時に実行されてよく、または、ＰＵの形状を選択した後で実行されてよい。
【０１６１】
いずれの場合でも、ＴＵの形状を決定した後で、ビデオエンコーダ２０は、残差データを含む、決定された形状の変換ユニットを形成することができる（２５６）。ビデオエンコーダ２０は次いで、変換ユニットの残差データに変換を適用して（２５８）、変換係数の形式で、画素領域から変換領域（たとえば、周波数領域）に残差データを変換することができる。ビデオエンコーダ２０はさらに、変換係数を量子化することができる（２６０）。上で論じられたように、変換係数を量子化することは、ＴＵが正方形か非正方形かに少なくとも一部基づき得る。たとえば、ビデオエンコーダ２０は、ＴＵが正方形か非正方形かに基づいて決定される値だけ、ＴＵに対する量子化パラメータをオフセットすることができる。
【０１６２】
ビデオエンコーダ２０は次いで、量子化された変換係数を走査しエントロピーコーディングすることができる（２６２）。また、上で論じられたように、走査およびエントロピーコーディングは、ＴＵが正方形か非正方形かに基づき得る。たとえば、走査は、非正方形ＴＵの長さが短い方の端で開始することができ、コンテキストは、ＴＵが非正方形かどうかに基づいて、係数のＣＡＢＡＣコーディングに対して選択され得る。さらに、ビデオエンコーダ２０は、ＴＵの形状を示すデータをコーディングすることができる（２６４）。ＴＵの形状を示すデータは、いくつかの例では、図１０Ａまたは図１０Ｂに関して説明されるシンタックスデータに対応し得る。
【０１６３】
このようにして、図１１の方法は、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングすることと、変換ユニットが正方形か非正方形かに少なくとも一部基づいて変換ユニットのデータをコーディングすることとを含む、方法の例を代表する。具体的には、変換ユニットのデータをコーディングすることは、コーディングユニットの少なくとも一部分に対する残差データを計算することと、残差データを変換して変換係数を生成することと、変換係数を量子化することと、変換ユニットが正方形か非正方形かに基づいて、変換ユニットの量子化された変換係数を符号化することとを含み得る。同様に、変換ユニットが正方形か非正方形かを示す情報をコーディングすることは、変換ユニットが正方形か非正方形かを示す情報を符号化することを含み得る。その上、方法はさらに、正方形変換ユニットを使用したコーディングユニットのコーディングの結果と、非正方形変換ユニットを使用したコーディングユニットのコーディングの結果とを比較することと、この比較に基づいて正方形変換ユニットと非正方形変換ユニットのいずれかを選択することとを含み得る。
【０１６４】
図１２は、正方形変換ユニットまた非正方形変換ユニットを使用してビデオデータを復号するための例示的な方法を示すフローチャートである。図１２の方法は、例示および説明のためにビデオデコーダ２０に関して説明される。しかしながら、他のビデオコーディングデバイスが、同様の方法を実行するように構成され得ることを理解されたい。同様に、方法のステップは、必ずしも示された順序で実行される必要はなく、いくつかのステップは、並列にではなく順番に実行されてよい。
【０１６５】
この例では、ビデオデコーダ３０は、変換ユニットの形状を示すデータを復号することができる（２８０）。いくつかの例では、このデータはまた、対応する予測ユニットの形状を表し得る。他の例では、データは、いくつかの例では、図１０Ａまたは図１０Ｂに関して説明されるシンタックスデータに対応し得る。このようにして、ビデオデコーダ３０は、現在のＣＵに対するＴＵの形状を決定することができる。
【０１６６】
ビデオデコーダ３０は次いで、ＴＵの量子化された変換係数を逆走査しエントロピー復号することができる（２８２）。上で論じられたように、走査およびエントロピー復号（たとえば、ＣＡＢＡＣに対するコンテキスト選択）は、ＴＵが正方形か非正方形かに基づき得る。ビデオデコーダ３０は、復号された量子化された変換係数を逆走査して、量子化された変換係数を含むＴＵの形態で、２次元行列を復元することができ、この行列は、決定されたように正方形ＴＵまたは非正方形ＴＵの形状を有する。さらに、ビデオデコーダ３０は、量子化された変換係数を逆量子化することができ（２８４）、これは、上で論じられたように、ＴＵが正方形か非正方形かに基づき得る。ビデオデコーダ３０はさらに、ＴＵの変換係数を逆変換し、画素領域中で残差データを復元することができる（２８６）。
【０１６７】
ビデオデコーダ３０はまた、ＴＵに対応するＰＵに対する予測データを計算することができる（２８８）。たとえば、ビデオデコーダ３０は、現在のＣＵを含む現在のピクチャまたはスライスの、近隣の以前にコーディングされた画素からのデータをイントラ予測することができ、または、現在のＣＵに対する動きベクトルのデータを使用して、以前にコーディングされたピクチャからのデータをインター予測することができる。いずれの場合でも、ビデオデコーダ３０は次いで、予測データと残差データを合成して現在のＣＵを復元することができる（２９０）。その後、ビデオデコーダ３０は、たとえば、その後の復号における参照として使用するために、復号されたＣＵを記憶することができ、完全なピクチャを復元した後で、復号されたＣＵを出力することができ、これによって合成されたデータを記憶し出力する（２９２）。
【０１６８】
このようにして、図１２の方法は、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングすることと、変換ユニットが正方形か非正方形かに少なくとも一部基づいて変換ユニットのデータをコーディングすることとを含む、方法の例を代表する。具体的には、ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングすることは、ビデオデータの変換ユニットが正方形か非正方形かを示す情報を復号することを含み得る。同様に、変換ユニットのデータをコーディングすることは、変換ユニットが正方形か非正方形かに基づいて、変換ユニットの量子化された変換係数を復号することと、量子化された変換係数を逆量子化することと、変換係数を逆変換して、変換ユニットに対応するコーディングユニットの少なくとも一部分に対する残差データを生成することとを含み得る。
【０１６９】
１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。各機能は、ソフトウェアで実装される場合、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は全般に、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に相当し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１７０】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１７１】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明された技法の実装に適切な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内で与えられてよく、あるいは複合コーデックに組み込まれてよい。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１７２】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上で説明されたように、様々なユニットが、適切なソフトウェアおよび／またはファームウェアとともに、上で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられてよく、または相互動作可能なハードウェアユニットの集合によって与えられてよい。
【０１７３】
様々な例が説明されてきた。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータをコーディングする方法であって、
前記ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングすることと、
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて、前記変換ユニットのデータをコーディングすることとを備える、方法。
［Ｃ２］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、変換選択フラグをコーディングすることを備える、Ｃ１に記載の方法。
［Ｃ３］
前記変換ユニットが子変換ユニットを備え、前記方法が、前記子変換ユニットに対する親変換ユニットが分割されるかどうかを示す情報をコーディングすることをさらに備え、前記子変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記子変換ユニットが正方形か非正方形かを示す前記情報を、前記親変換ユニットが分割される場合にのみコーディングすることを備える、Ｃ２に記載の方法。
［Ｃ４］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記変換ユニットが対応する残差４分木（ＲＱＴ）データ構造のレベルを示す情報をコーディングすることを備える、Ｃ１に記載の方法。
［Ｃ５］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記変換ユニットがクロミナンス成分に対応するか輝度成分に対応するかに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることを備える、Ｃ１に記載の方法。
［Ｃ６］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記変換ユニットに対応する予測ユニットが正方形か非正方形かに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることを備える、Ｃ１に記載の方法。
［Ｃ７］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記変換ユニットに対応する予測ユニットが正方形か非正方形かを示す情報をコーディングすることを備える、Ｃ１に記載の方法。
［Ｃ８］
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化パラメータを決定することをさらに備える、Ｃ１に記載の方法。
［Ｃ９］
前記変換ユニットが非正方形である場合、前記変換ユニットの短い方の端から開始する走査パターンを適用して、前記変換ユニットの係数を変換することをさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて前記変換ユニットのデータをコーディングすることが、前記変換ユニットが非正方形である場合、前記変換ユニットの短い方の端の位置に基づいて前記データをコーディングするためのコンテキストを選択することを備える、Ｃ１に記載の方法。
［Ｃ１１］
前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報を復号することを備え、
前記変換ユニットの前記データをコーディングすることが、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を復号することと、
前記量子化された変換係数を逆量子化することと、
前記変換係数を逆変換して、前記変換ユニットに対応するコーディングユニットの少なくとも一部分に対する残差データを生成することとを備える、Ｃ１に記載の方法。
［Ｃ１２］
前記変換ユニットの前記データをコーディングすることが、
コーディングユニットの少なくとも一部分に対する残差データを計算することと、
前記残差データを変換して変換係数を生成することと、
前記変換係数を量子化することと、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を符号化することとを備え、
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングすることが、前記変換ユニットが正方形か非正方形かを示す前記情報を符号化することを備える、Ｃ１に記載の方法。
［Ｃ１３］
正方形変換ユニットを使用して前記コーディングユニットをコーディングした結果と、非正方形変換ユニットを使用して前記コーディングユニットをコーディングした結果とを比較することと、
前記比較に基づいて、正方形変換ユニットと非正方形変換ユニットのいずれかを選択することとをさらに備える、Ｃ１２に記載の方法。
［Ｃ１４］
ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングし、前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて前記変換ユニットのデータをコーディングするように構成されたビデオコーダを備える、前記ビデオデータをコーディングするためのデバイス。
［Ｃ１５］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするために、前記ビデオコーダが、変換選択フラグをコーディングするように構成される、Ｃ１４に記載のデバイス。
［Ｃ１６］
前記変換ユニットが子変換ユニットを備え、前記ビデオコーダがさらに、前記子変換ユニットに対する親変換ユニットが分割されるかどうかを示す情報をコーディングするように構成され、前記ビデオコーダが、前記子変換ユニットが正方形か非正方形かを示す前記情報を、前記親変換ユニットが分割される場合にのみコーディングするように構成される、Ｃ１５に記載のデバイス。
［Ｃ１７］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするために、前記ビデオコーダが、前記変換ユニットが対応する残差４分木（ＲＱＴ）データ構造のレベルを示す情報をコーディングするように構成される、Ｃ１４に記載のデバイス。
［Ｃ１８］
前記ビデオコーダが、前記変換ユニットがクロミナンス成分に対応するか輝度成分に対応するかに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするように構成される、Ｃ１４に記載のデバイス。
［Ｃ１９］
前記ビデオコーダが、前記変換ユニットに対応する予測ユニットが正方形か非正方形かに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするように構成される、Ｃ１４に記載のデバイス。
［Ｃ２０］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするために、前記ビデオコーダが、前記変換ユニットに対応する予測ユニットが正方形か非正方形かを示す情報をコーディングするように構成される、Ｃ１４に記載のデバイス。
［Ｃ２１］
前記ビデオコーダがさらに、前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化パラメータを決定するように構成される、Ｃ１４に記載のデバイス。
［Ｃ２２］
前記ビデオコーダが、前記変換ユニットが非正方形である場合、前記変換ユニットの短い方の端から開始する走査パターンを適用して、前記変換ユニットの係数を変換するように構成される、Ｃ１４に記載のデバイス。
［Ｃ２３］
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて前記変換ユニットのデータをコーディングするために、前記変換ユニットが非正方形である場合、前記ビデオコーダが、前記変換ユニットの短い方の端の位置に基づいて前記データをコーディングするためのコンテキストを選択するように構成される、Ｃ１４に記載のデバイス。
［Ｃ２４］
前記ビデオコーダがビデオデコーダを備え、前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするために、前記ビデオデコーダが、前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報を復号するように構成され、前記変換ユニットの前記データをコーディングするために、前記ビデオデコーダが、前記変換ユニットが正方形か非正方形かに基づいて前記変換ユニットの量子化された変換係数を復号し、前記量子化された変換係数を逆量子化し、前記変換係数を逆変換して、前記変換ユニットに対応するコーディングユニットの少なくとも一部分に対する残差データを生成するように構成される、Ｃ１４に記載のデバイス。
［Ｃ２５］
前記ビデオコーダがビデオエンコーダを備え、前記変換ユニットの前記データをコーディングするために、前記ビデオエンコーダが、コーディングユニットの少なくとも一部分に対する残差データを計算し、前記残差データを変換して変換係数を生成し、前記変換係数を量子化し、前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの前記量子化された変換係数を符号化するように構成され、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするために、前記ビデオエンコーダが、前記変換ユニットが正方形か非正方形かを示す前記情報を符号化するように構成される、Ｃ１４に記載のデバイス。
［Ｃ２６］
集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、Ｃ１４に記載のデバイス。
［Ｃ２７］
ビデオデータをコーディングするためのデバイスであって、
前記ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングするための手段と、
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて、前記変換ユニットのデータをコーディングするための手段とを備える、デバイス。
［Ｃ２８］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、変換選択フラグをコーディングするための手段を備える、Ｃ２７に記載のデバイス。
［Ｃ２９］
前記変換ユニットが子変換ユニットを備え、前記デバイスが、前記子変換ユニットに対する親変換ユニットが分割されるかどうかを示す情報をコーディングするための手段をさらに備え、前記子変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記子変換ユニットが正方形か非正方形かを示す前記情報を、前記親変換ユニットが分割される場合にのみコーディングするための手段を備える、Ｃ２８に記載のデバイス。
［Ｃ３０］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記変換ユニットが対応する残差４分木（ＲＱＴ）データ構造のレベルを示す情報をコーディングするための手段を備える、Ｃ２７に記載のデバイス。
［Ｃ３１］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記変換ユニットがクロミナンス成分に対応するか輝度成分に対応するかに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための手段を備える、Ｃ２７に記載のデバイス。
［Ｃ３２］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記変換ユニットに対応する予測ユニットが正方形か非正方形かに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための手段を備える、Ｃ２７に記載のデバイス。
［Ｃ３３］
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記変換ユニットに対応する予測ユニットが正方形か非正方形かを示す情報をコーディングするための手段を備える、Ｃ２７に記載のデバイス。
［Ｃ３４］
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化パラメータを決定するための手段をさらに備える、Ｃ２７に記載のデバイス。
［Ｃ３５］
前記変換ユニットが非正方形である場合、前記変換ユニットの短い方の端から開始する走査パターンを適用して、前記変換ユニットの係数を変換するための手段をさらに備える、Ｃ２７に記載のデバイス。
［Ｃ３６］
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて前記変換ユニットのデータをコーディングするための前記手段が、前記変換ユニットが非正方形である場合、前記変換ユニットの短い方の端の位置に基づいて前記データをコーディングするためのコンテキストを選択するための手段を備える、Ｃ２７に記載のデバイス。
［Ｃ３７］
前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報を復号するための手段を備え、
前記変換ユニットの前記データをコーディングするための前記手段が、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を復号するための手段と、
前記量子化された変換係数を逆量子化するための手段と、
前記変換係数を逆変換して、前記変換ユニットに対応するコーディングユニットの少なくとも一部分に対する残差データを生成するための手段とを備える、Ｃ２７に記載のデバイス。
［Ｃ３８］
前記変換ユニットの前記データをコーディングするための前記手段が、
コーディングユニットの少なくとも一部分に対する残差データを計算するための手段と、
前記残差データを変換して変換係数を生成するための手段と、
前記変換係数を量子化するための手段と、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を符号化するための手段とを備え、
前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングするための前記手段が、前記変換ユニットが正方形か非正方形かを示す前記情報を符号化するための手段を備える、Ｃ２７に記載のデバイス。
［Ｃ３９］
実行されると、プロセッサに、
前記ビデオデータの変換ユニットが正方形か非正方形かを示す情報をコーディングさせ、
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて、前記変換ユニットのデータをコーディングさせる命令を記憶した、コンピュータ可読媒体を備える、コンピュータプログラム製品。
［Ｃ４０］
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記プロセッサに変換選択フラグをコーディングさせる命令を備える、Ｃ３９に記載のコンピュータプログラム製品。
［Ｃ４１］
前記変換ユニットが子変換ユニットを備え、前記コンピュータプログラム製品が、前記子変換ユニットに対する親変換ユニットが分割されるかどうかを示す情報を前記プロセッサにコーディングさせる命令をさらに備え、前記子変換ユニットが正方形か非正方形かを示す前記情報を前記プロセッサにコーディングさせる前記命令が、前記子変換ユニットが正方形か非正方形かを示す前記情報を、前記親変換ユニットが分割される場合にのみ前記プロセッサにコーディングさせる命令を備える、Ｃ４０に記載のコンピュータプログラム製品。
［Ｃ４２］
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記変換ユニットが対応する残差４分木（ＲＱＴ）データ構造のレベルを示す情報を前記プロセッサにコーディングさせる命令を備える、Ｃ３９に記載のコンピュータプログラム製品。
［Ｃ４３］
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記変換ユニットがクロミナンス成分に対応するか輝度成分に対応するかに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報を前記プロセッサにコーディングさせる命令を備える、Ｃ３９に記載のコンピュータプログラム製品。
［Ｃ４４］
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記変換ユニットに対応する予測ユニットが正方形か非正方形かに少なくとも一部基づいて、前記変換ユニットが正方形か非正方形かを示す前記情報を前記プロセッサにコーディングさせる命令を備える、Ｃ３９に記載のコンピュータプログラム製品。
［Ｃ４５］
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記変換ユニットに対応する予測ユニットが正方形か非正方形かを示す情報を前記プロセッサにコーディングさせる命令を備える、Ｃ３９に記載のコンピュータプログラム製品。
［Ｃ４６］
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化パラメータを前記プロセッサに決定させる命令をさらに備える、Ｃ３９に記載のコンピュータプログラム製品。
［Ｃ４７］
前記変換ユニットが非正方形である場合、前記プロセッサに、前記変換ユニットの短い方の端から開始する走査パターンを適用させて、前記変換ユニットの係数を変換させる命令をさらに備える、Ｃ３９に記載のコンピュータプログラム製品。
［Ｃ４８］
前記変換ユニットが正方形か非正方形かに少なくとも一部基づいて前記変換ユニットのデータを前記プロセッサにコーディングさせる前記命令が、前記変換ユニットが非正方形である場合、前記プロセッサに、前記変換ユニットの短い方の端の位置に基づいて前記データをコーディングするためのコンテキストを選択させる命令を備える、Ｃ３９に記載のコンピュータプログラム製品。
［Ｃ４９］
前記プロセッサに前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記プロセッサに前記ビデオデータの前記変換ユニットが正方形か非正方形かを示す前記情報を復号させる命令を備え、
前記プロセッサに前記変換ユニットの前記データをコーディングさせる前記命令が、前記プロセッサに、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を復号させ、
前記量子化された変換係数を逆量子化させ、
前記変換係数を逆変換させて、前記変換ユニットに対応するコーディングユニットの少なくとも一部分に対する残差データを生成させる命令を備える、Ｃ３９に記載のコンピュータプログラム製品。
［Ｃ５０］
前記プロセッサに前記変換ユニットの前記データをコーディングさせる前記命令が、前記プロセッサに、
コーディングユニットの少なくとも一部分に対する残差データを計算させ、
前記残差データを変換させて変換係数を生成させ、
前記変換係数を量子化させ、
前記変換ユニットが正方形か非正方形かに基づいて、前記変換ユニットの量子化された変換係数を符号化させる命令を備え、
前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報をコーディングさせる前記命令が、前記プロセッサに前記変換ユニットが正方形か非正方形かを示す前記情報を符号化させる命令を備える、Ｃ３９に記載のコンピュータプログラム製品。
【図１】
0005951765.tif 000006
【図２】
0005951765.tif 000007
【図３】
0005951765.tif 000008
【図４】
0005951765.tif 000009
【図５】
0005951765.tif 000010
【図６Ａ】
0005951765.tif 000011
【図６Ｂ】
0005951765.tif 000012
【図７Ａ】
0005951765.tif 000013
【図７Ｂ】
0005951765.tif 000014
【図８】
0005951765.tif 000015
【図９】
0005951765.tif 000016
【図１０Ａ】
0005951765.tif 000017
【図１０Ｂ】
0005951765.tif 000018
【図１１】
0005951765.tif 000019
【図１２】
0005951765.tif 000020