(57)【要約】  本発明は、縮小された２次変換に基づいて、ビデオ信号を復元する方法において、前記ビデオ信号から２次変換インデックスを獲得する段階と前記２次変換インデックスに対応する２次変換（secondary transform）を誘導するステップと、ここで前記２次変換は、縮小された２次変換を意味し、前記縮小された２次変換は、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクター）が入力されてＬ個（Ｌ <Ｎ）の変換係数データ（Ｌｘ１変換係数ベクトル）が出力される変換を示し、現在ブロック（ＮｘＮ）についてエントロピーデコード及び逆量子化を実行して、変換係数ブロックを獲得するステップと、前記縮小された２次変換を用いて前記変換係数ブロックに対して逆方向２次変換を実行するステップと、前記逆方向２次変換が実行されたブロックの逆方向１次変換を実行するステップと、前記逆方向１次変換が実行されたブロックを用いて前記現在ブロックを復元するステップを含むことを特徴とする方法を提供する。【選択図】図２１
2021517796.tif 000002
【特許請求の範囲】
【請求項１】
縮小された２次変換に基づいて、ビデオ信号を復元する方法において、
前記ビデオ信号から２次変換インデックスを獲得する段階と
前記２次変換インデックスに対応する２次変換（secondary transform）を誘導するステップと、ここで前記２次変換は、縮小された２次変換を意味し、前記縮小された２次変換は、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクター）が入力されてＬ個（Ｌ<Ｎ）の変換係数データ（Ｌｘ１変換係数ベクトル）が出力される変換を示し、
現在ブロック（ＮｘＮ）についてエントロピーデコード及び逆量子化を実行して、変換係数ブロックを獲得するステップと、
前記縮小された２次変換を用いて前記変換係数ブロックに対して逆２次変換を実行するステップと、
前記逆方向２次変換が実行されたブロックの逆１次変換を実行するステップと、
前記逆１次変換が実行されたブロックを用いて前記現在ブロックを復元するステップとを含むことを特徴とする方法。
【請求項２】
前記縮小された２次変換は、前記現在ブロックの特定領域に適用され、
前記特定領域は、前記現在ブロック内の左上側ＭｘＭ（Ｍ≦Ｎ）領域であることを特徴とする、請求項１に記載の方法。
【請求項３】
前記逆方向２次変換が実行されるとき、
前記現在ブロック内の分割された４ｘ４ブロックのそれぞれについて、４ｘ４縮小された２次変換が適用されることを特徴とする、請求項１に記載の方法。
【請求項４】
前記２次変換インデックスを獲得するかどうかは、前記変換係数ブロック内の最後の０でない変換係数の位置に基づいて決定されることを特徴とする、請求項１に記載の方法。
【請求項５】
前記最後の０でない変換係数が特定領域に位置しない場合に前記２次変換インデックスは獲得され、
前記特定領域は、前記縮小された２次変換が適用される場合、スキャン順によって変換係数を配置したとき、０でない変換係数が存在することができる位置を除外した残りの領域を示すことを特徴とする、請求項４に記載の方法。
【請求項６】
前記方法は、
前記ビデオ信号から前記現在ブロックの１次変換インデックスを獲得するステップと、ここで前記１次変換インデックスは、ＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数個の変換の組み合わせの内、いずれか１つに対応と、
前記１次変換インデックスに対応する変換の組み合わせを誘導する段階をさらに含み、
前記変換の組み合わせは、水平変換及び垂直変換で構成され、前記水平変換及び前記垂直変換は、前記ＤＳＴ７または前記ＤＣＴ８の内、いずれか１つに対応し、
前記逆方向１次変換は、前記変換の組み合わせを用いて実行されることを特徴とする、請求項１に記載の方法。
【請求項７】
縮小された２次変換に基づいて、ビデオ信号を復元する装置であって、
前記ビデオ信号から２次変換インデックスを獲得する解析部（Parsing：パッシング部）と、
前記２次変換インデックスに対応する２次変換（secondary transform）を誘導する変換部と、ここで前記２次変換は、縮小された２次変換を意味し、前記縮小された２次変換は、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクトル）が入力されてＬ個（Ｌ <Ｎ）の変換係数データ（Ｌｘ１変換係数ベクトル）が出力される変換を示し、
現在ブロック（ＮｘＮ）についてエントロピーデコードを実行するエントロピーデコード部と、
前記エントロピーデコードが行われた、現在ブロックに対して逆量子化を実行して、変換係数ブロックを獲得する逆量子化部と、
前記縮小された２次変換を用いて前記変換係数ブロックに対して逆方向２次変換を実行し、前記逆方向２次変換が実行されたブロックの逆方向１次変換を実行する前記変換部と、
前記逆方向１次変換が実行されたブロックを用いて前記現在ブロックを復元する復元部とを含むことを特徴とする装置。
【請求項８】
前記縮小された２次変換は、前記現在ブロックの特定領域に適用され、
前記特定領域は、前記現在ブロック内の左上側ＭｘＭ（Ｍ≦Ｎ）領域であることを特徴とする、請求項７に記載の装置。
【請求項９】
前記逆方向２次変換が実行されるとき、
前記現在ブロック内の分割された４ｘ４ブロックのそれぞれについて、４ｘ４縮小された２次変換が適用されることを特徴とする、請求項７に記載の装置。
【請求項１０】
前記２次変換インデックスを獲得するかどうかは、前記変換係数ブロック内の最後の０でない変換係数の位置に基づいて決定されることを特徴とする、請求項７に記載の装置。
【請求項１１】
前記最後の０でない変換係数が特定領域に位置しない場合に前記２次変換インデックスは獲得され、
前記特定領域は、前記縮小された２次変換が適用される場合、スキャン順によって変換係数を配置したとき、０でない変換係数が存在することができる位置を除外した残りの領域を示すことを特徴とする、請求項１０に記載の装置。
【請求項１２】
前記装置は、
前記ビデオ信号から前記現在ブロックの１次変換インデックスを獲得する前記解析部と、ここで前記１次変換インデックスは、ＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせの内、いずれか１つに対応し、
前記１次変換インデックスに対応する変換の組み合わせを誘導する前記変換部を含み、
前記変換の組み合わせは、水平変換及び垂直変換で構成され、前記水平変換及び前記垂直変換は、前記ＤＳＴ７または前記ＤＣＴ８の内、いずれか１つに対応し、
前記逆方向１次変換は、前記変換の組み合わせを用いて実行されることを特徴とする、請求項７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ信号を処理する方法及び装置に関し、さらに具体的には４ｘ４ブロックに適用することができるReduced Secondary Transform（ＲＳＴ）の設計、４ｘ４ ＲＳＴ適用後に生成される変換係数の配置とスキャンの順及び適用される４ｘ４ ＲＳＴを指定するための変換インデックスコーディング方法に関する。
【背景技術】
【０００２】
次世代ビデオコンテンツは、高解像度（ｈｉｇｈ  ｓｐａｔｉａｌ  ｒｅｓｏｌｕｔｉｏｎ）、高フレーム率（ｈｉｇｈ  ｆｒａｍｅ  ｒａｔｅ）及び画像表現の高次元化（ｈｉｇｈ  ｄｉｍｅｎｓｉｏｎａｌｉｔｙ  ｏｆ  ｓｃｅｎｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）という特徴を有する。そのようなコンテンツを処理するためには、メモリ格納（ｍｅｍｏｒｙ  ｓｔｏｒａｇｅ）、メモリアクセス率（ｍｅｍｏｒｙ  ａｃｃｅｓｓ  ｒａｔｅ）及び処理電力（ｐｒｏｃｅｓｓｉｎｇ  ｐｏｗｅｒ）の側面で多大な増加をもたらすだろう。
【０００３】
従って、次世代ビデオコンテンツをより効率的に処理するためのコーディングツールをデザインする必要がある。特に、変換（ｔｒａｎｓｆｏｒｍ）を適用するとき、コーディング効率と複雑度の側面ではるかに効率的な変換を設計する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、新たな変換デザインを反映するためのエンコーダ/デコーダの構造を提案する。
【０００５】
本発明は、４ｘ４ブロックに適用することができるＲＳＴの設計、４ｘ４ ＲＳＴ適用後に生成される変換係数の配置とスキャンの順と適用される４ｘ４ ＲＳＴを指定するための変換インデックスコーディング方法と構造を提案する。
【課題を解決するための手段】
【０００６】
本発明は、新しい変換デザインを介して複雑度を減らし、コーディング（符号化）効率を向上させる方法を提供する。
【０００７】
本発明は、４ｘ４ブロックに適用することができるＲＳＴの設計方法を提供する。
【０００８】
本発明は、４ｘ４ ＲＳＴを適用する領域の構成、４ｘ４ ＲＳＴ適用後に生成された変換係数の配置方法、配置された変換係数のスキャン順、ブロックごとに生成された変換係数を整列して合わせる方法などを提供する。
【０００９】
本発明は、４ｘ４ ＲＳＴを指定する変換インデックスをコーディングする方法を提供する。
【００１０】
本発明は、４ｘ４ ＲＳＴを適用した時許容されない領域に０(ゼロ)でない変換係数が存在することを確認して対応する変換インデックスを条件的にコーディングする方法を提供する。
【００１１】
本発明は、最後の０でない変換係数の位置をコーディングした後に、その変換インデックスを条件的にコーディングした後、許容されない位置に対しては、関連するレジデュアルコーディングを省略する方法を提供する。
【００１２】
本発明は、４ｘ４ ＲＳＴ適用時ルマブロックとクロマブロックに各々異なる変換インデックスコーディングとレジデュアルコーディングを適用する方法を提供する。
【発明の効果】
【００１３】
本発明は、静止画または動画を符号化する際に４ｘ４ ＲＳＴを適用して、他のＮｓｓｔ（non-separable secondary transform）を適用したときに比べて、計算量を大幅に削減することができる。
【００１４】
また、４ｘ４ ＲＳＴを適用したときに、特定領域に有効な変換係数が存在しないという事実に着目して、４ｘ４ ＲＳＴを指定する変換インデックスを条件的にコーディングして関連レジデュアルコーディングの最適化を適用して性能を向上させることができる。
【００１５】
このように、新しい低複雑度演算アルゴリズムを介して演算の複雑度を減らし、コーディング効率を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明が適用される実施形態として、ビデオ信号のエンコードが行われるエンコーダの概略的なブロック図を示す。
【図２】本発明が適用される実施形態として、ビデオ信号のデコードが行われるデコーダの概略的なブロック図を示す。
【図３】本発明が適用できる実施形態として、図３ＡはＱＴ（ＱｕａｄＴｒｅｅ、以下「ＱＴ」という）、図３ＢはＢＴ（Ｂｉｎａｒｙ  Ｔｒｅｅ、以下「ＢＴ」という）、図３ＣはＴＴ（Ｔｅｒｎａｒｙ  Ｔｒｅｅ、以下「ＴＴ」という）図３ＤはＡＴ（Ａｓｙｍｍｅｔｒｉｃ  Ｔｒｅｅ、以下「ＡＴ」という）によるブロック分割構造を説明するための図である。
【図４】本発明が適用される実施形態として、エンコーダ内の変換及び量子化部１２０／１３０、逆量子化及び逆変換部１４０／１５０の概略的なブロック図を示す。
【図５】本発明が適用される実施形態として、デコーダ内の逆量子化及び逆変換部２２０／２３０の概略的なブロック図を示す。
【図６】本発明が適用される実施形態として、ＭＴＳ（Multiple Transform Selection）が適用される変換設定グループ（transform configuration group）の表を示す図である。
【図７】本発明が適用される実施形態として、ＭＴＳ（Multiple Transform Selection）が行われるエンコード過程を示すフローチャートである。
【図８】本発明が適用される実施形態として、ＭＴＳ（Multiple Transform Selection）が行われるデコード過程を示すフローチャートである。
【図９】本発明が適用される実施形態として、ＭＴＳフラグとＭＴＳインデックスをエンコードする過程を説明するためのフローチャートである。
【図１０】本発明が適用される実施形態として、ＭＴＳフラグとＭＴＳインデックスに基づいて、水平変換または垂直変換を行または列に適用するデコード過程を説明するためのフローチャートである。
【図１１】本発明が適用される実施形態として、変換関連パラメータに基づいて逆変換を実行するフローチャートを示す。
【図１２】本発明が適用される実施形態として、Ｎｓｓｔでイントラ予測モードごとに変換セット（transform set）を割り当てることを示すテーブルである。
【図１３】本発明が適用される実施形態として、ギボンズ回転（Givens rotation）の計算フロー図を示す。
【図１４】本発明が適用される実施形態として、ギボンズ回転層（Givens rotation layer）と置換（permutation）で構成され４ｘ４ Ｎｓｓｔでの１ラウンド構成を示す。
【図１５】本発明が適用される実施形態として、順方向縮小変換（forward reduced transform）と逆方向縮小変換（forward reduced transform）の動作を説明するためのブロック図である。
【図１６】本発明が適用される実施形態として、逆方向スキャン順に基づいて６４番目から１７番目までの逆方向スキャンを実行する過程を示す図である。
【図１７】本発明が適用される実施形態として、変換係数ブロック（変換ブロック）の３つの順方向スキャンの順を示す。
【図１８】本発明が適用される実施形態として、左上側４ｘ８ブロックで対角スキャン（diagonal scan）が適用され４ｘ４ ＲＳＴが適用されたとき、有効な変換係数の位置と４ｘ４ブロック別順方向スキャンの順を示す。
【図１９】本発明が適用される実施形態として、左上側４ｘ８ブロックで対角スキャン（diagonal scan）が適用され４ｘ４ ＲＳＴが適用されたときに２つ ４ｘ４ブロックの有効な変換係数を一つの４ｘ４ブロックに合わせる場合を示す。
【図２０】本発明が適用される実施形態として、縮小された２次変換に基づいて、ビデオ信号をエンコードするフローチャートを示す。
【図２１】本発明が適用される実施形態として、縮小された２次変換に基づいて、ビデオ信号をデコードするフローチャートを示す。
【図２２】本発明が適用される実施形態として、コンテンツのストリーミングシステム構造図を示す。
【００１７】
［発明の実施のための最良の形態］
本発明は、縮小された２次変換に基づいて、ビデオ信号を復元する方法において、前記ビデオ信号から２次変換インデックスを獲得するステップと前記２次変換インデックスに対応する２次変換（secondary transform）を誘導するステップと、ここで前記２次変換は、縮小された２次変換を意味し、前記縮小された２次変換は、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクター）が入力されてＬ個（Ｌ <Ｎ）の変換係数データ（Ｌｘ１変換係数ベクトル）が出力される変換を示し、現在ブロック（ＮｘＮ）についてエントロピーデコード及び逆量子化を実行して、変換係数ブロックを獲得するステップと、前記縮小された２次変換を用いて前記変換係数ブロックに対して逆方向２次変換を実行するステップと、前記逆方向２次変換が実行されたブロックの逆方向１次変換を実行するステップと、前記逆方向１次変換が実行されたブロックを用いて前記現在ブロックを復元するステップを含むことを特徴とする方法を提供する。
【００１８】
本発明において、前記縮小された２次変換は、前記現在ブロックの特定領域に適用され、前記特定領域は、前記現在ブロック内の左上側ＭｘＭ（Ｍ≦Ｎ）領域であることを特徴とする。
【００１９】
本発明において、前記逆方向２次変換が実行されるとき、前記現在ブロック内の分割された４ｘ４ブロックのそれぞれについて、４ｘ４縮小された２次変換が適用されることを特徴とする。
【００２０】
本発明において、前記２次変換インデックスを獲得するかどうかは、前記変換係数ブロック内の最後の０でない変換係数の位置に基づいて決定されることを特徴とする。
【００２１】
本発明において、前記最後の０でない変換係数が特定領域に位置しない場合に前記２次変換インデックスは獲得され、前記特定領域は、前記縮小された２次変換が適用される場合、スキャン順によって変換係数を配置したとき、０でない変換係数が存在することができる位置を除外した残りの領域を示すことを特徴とする。
【００２２】
本発明において、前記方法は、前記ビデオ信号から前記現在ブロックの１次変換インデックスを獲得するステップと、ここで前記１次変換インデックスは、ＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数個の変換の組み合わせの内、いずれか１つに対応し、前記１次変換インデックスに対応する変換の組み合わせを誘導する段階をさらに含み、前記変換の組み合わせは、水平変換及び垂直変換で構成され、前記水平変換及び前記垂直変換は、前記ＤＳＴ７または前記ＤＣＴ８の内、いずれか１つに対応され、前記逆方向１次変換は、前記変換の組み合わせを用いて実行されることを特徴とする。
【００２３】
本発明は、縮小された２次変換に基づいて、ビデオ信号を復元する装置において、前記ビデオ信号から２次変換インデックスを獲得する解析（Parsing：パッシング）部と、前記２次変換インデックスに対応する２次変換（secondary transform）を誘導する変換部と、ここで前記２次変換は、縮小された２次変換を意味し、前記縮小された２次変換は、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクトル）が入力されてL個（Ｌ <Ｎ）の変換係数データ（Ｌｘ１変換係数ベクトル）が出力される変換を示し、現在ブロック（ＮｘＮ）についてエントロピーデコードを実行するエントロピーデコード部と前記エントロピーデコードが行われた、現在ブロックに対して逆量子化を実行して、変換係数ブロックを獲得する逆量子化部と、前記縮小された２次変換を用いて前記変換係数ブロックに対して逆方向２次変換を実行し、前記逆方向２次変換が実行されたブロックの逆方向１次変換を実行する前記変換部と、前記逆方向１次変換が実行されたブロックを用いて前記現在ブロックを復元する復元部を含むことを特徴とする装置を提供する。
【発明を実施するための形態】
【００２４】
以下、添付の図面を参照して本発明の実施形態の構成とその作用を説明し、図面により説明される本発明の構成と作用は１つの実施形態として説明されるものであり、これにより本発明の技術的思想とその核心構成及び作用が制限されるものではない。
【００２５】
併せて、本発明で使われる用語はできる限り現在広く使われる一般的な用語を選択したが、特定の場合は出願人が任意に選定した用語を使用して説明する。そのような場合には該当部分の詳細説明でその意味を明確に記載するので、本発明の説明で使われた用語の名称だけで単純解析されてはならず、その該当用語の意味まで把握して解析されるべきであることを明らかにする。
【００２６】
また、本発明で使われる用語は発明を説明するために選択された一般的な用語であるが、類似の意味を有する他の用語がある場合、より適切な解析のために代替可能である。例えば、信号、データ、サンプル、ピクチャ、フレーム、ブロックなどの場合、各コーディング過程で適切に代替されて解析できるものである。また、パーティショニング（ｐａｒｔｉｔｉｏｎｉｎｇ）、分解（ｄｅｃｏｍｐｏｓｉｔｉｏｎ）、スプリッティング（ｓｐｌｉｔｔｉｎｇ）及び分割（ｄｉｖｉｓｉｏｎ）などの場合にも各コーディング過程で適切に代替され解析できるものである。
【００２７】
本文書においてＭＴＳ（Multiple Transform Selection、以下「ＭＴＳ」と称する）とは、少なくとも２つ以上の変換タイプを用いて変換を実行する方法を意味することができる。これはＡＭＴ（Adaptive Multiple Transform）またはＥＭＴ（Explicit Multiple Transform）とも表現することができ、同様に、mts_idxもＡＭＴ_idx、ＥＭＴ_idx、tu_mts_idx、ＡＭＴ_ＴＵ_idx、ＥＭＴ＿ＴＵ_idx、変換索引または変換組み合わせのインデックスなどのように表現することができ、本発明は、このような表現に限定されない。
【００２８】
図１は、本発明が適用される実施形態として、ビデオ信号のエンコードが行われるエンコーダの概略的なブロック図を示す。
【００２９】
図１に示すように、エンコーダ１００は、画像分割部１１０、変換部１２０、量子化部１３０、逆量子化部１４０、逆変換部１５０、フィルタリング部１６０、復号ピクチャバッファ（ＤＰＢ：Ｄｅｃｏｄｅｄ  Ｐｉｃｔｕｒｅ  Ｂｕｆｆｅｒ）１７０、インター予測部１８０、イントラ予測部１８５及びエントロピーエンコード部１９０を含んで構成される。
【００３０】
画像分割部１１０は、エンコーダ１００に入力された入力画像（Ｉｎｐｕｔ  ｉｍａｇｅ）（又は、ピクチャ、フレーム）を１つ以上の処理ユニットに分割する。例えば、前記処理ユニットは、コーディングツリーユニット（ＣＴＵ：Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）、コーディングユニット（ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ）、予測ユニット（ＰＵ：Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ）又は変換ユニット（ＴＵ：Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔ）であり得る。
【００３１】
ただし、前記用語は、本発明に関する説明の便宜のために用いられるだけで、本発明は、当該用語の定義に限定されない。また、本明細書では説明の便宜のために、ビデオ信号をエンコード又はデコードする過程で用いられる単位としてコーディングユニットという用語を用いるが、本発明はそれに限定されなく、発明の内容に応じて適切に解析可能である。
【００３２】
エンコーダ１００は、入力画像信号から、インター予測部１８０又はイントラ予測部１８５から出力された予測信号（ｐｒｅｄｉｃｔｉｏｎ  ｓｉｇｎａｌ）を減算して残差信号（ｒｅｓｉｄｕａｌ  ｓｉｇｎａｌ）を生成し、生成された残差信号は変換部１２０に送信される。
【００３３】
変換部１２０は、残差信号に変換技法を適用して変換係数（ｔｒａｎｓｆｏｒｍ  ｃｏｅｆｆｉｃｉｅｎｔ）を生成する。変換過程は、クアッドツリー（ｑｕａｄｔｒｅｅ）構造の正方形ブロック、バイナリツリー（ｂｉｎａｒｙｔｒｅｅ）構造、３進ツリー（ｔｅｒｎａｒｙ）構造又は非対称ツリー（ａｓｙｍｍｅｔｒｉｃ）構造により分割されたブロック（正方形又は長方形）に適用できる。
【００３４】
前記変換部１２０は、複数個の変換（または変換の組み合わせ）に基づいて変換を実行することができ、このような変換方式をＭＴＳ（Multiple Transform Selection）と称することができる。前記ＭＴＳはＡＭＴ（Adaptive Multiple Transform）またはＥＭＴ（Enhanced Multiple Transform）と称することもできる。
【００３５】
前記（ＭＴＳまたはＡＭＴ、ＥＭＴ）は、複数個の変換（または変換の組み合わせ）から適応的に選択される変換（または変換の組み合わせ）に基づいて実行される変換方式を意味することができる。
【００３６】
前記複数個の変換（または変換の組み合わせ）は、本明細書の図６で説明する変換（または変換の組み合わせ）を含むことができる。本明細書において、前記変換または変換タイプは、例えば、ＤＣＴ-Ｔｙｐｅ  ２、ＤＣＴ−ＩＩ、ＤＣＴ２、ＤＣＴ２のように表記することができる。
【００３７】
前記変換部１２０は次の実施形態を実行することができる。
【００３８】
本発明は、４ｘ４ブロックに適用することができるＲＳＴの設計方法を提供する。
【００３９】
本発明は、４ｘ４ ＲＳＴを適用する領域の構成、４ｘ４ ＲＳＴ適用後に生成された変換係数の配置方法、配置された変換係数のスキャン順、ブロックごとに生成された変換係数を整列して合わせる方法などを提供する。
【００４０】
本発明は、４ｘ４ ＲＳＴを指定する変換インデックスをコーディングする方法を提供する。
【００４１】
本発明は、４ｘ４ ＲＳＴを適用したとき許容されない領域に０でない変換係数が存在することを確認して対応する変換インデックスを条件的にコーディングする方法を提供する。
【００４２】
本発明は、最後の０でない変換係数の位置をコーディングした後に、その変換インデックスを条件的にコーディングした後、許容されない位置に対しては、関連するレジデュアルコーディングを省略する方法を提供する。
【００４３】
本発明は、４ｘ４ ＲＳＴ適用時ルマブロックとクロマブロックに各々異なる変換インデックスコーディングとレジデュアルコーディングを適用する方法を提供する。
【００４４】
これに対する具体的な実施形態は、本明細書でより詳細に説明する。
【００４５】
量子化部１３０は、変換係数を量子化してエントロピーエンコーディング部１９０に送信し、エントロピーエンコーディング部１９０は、量子化された信号（quantized signal）をエントロピーコーディングしてビットストリームに出力することができる。
【００４６】
前記変換部１２０と、前記量子化部１３０は、別個の機能ユニットで説明されるが、本発明はこれに限定されず、一つの機能ユニットに結合することができる。前記逆量子化部１４０と、前記逆変換部１５０の場合にも、同様に一つの機能ユニットに結合することができる。
【００４７】
量子化部１３０から出力された量子化された信号（quantized signal）は、予測信号を生成するために用いることができる。例えば、量子化された信号（quantized signal）は、ループ内の逆量子化部１４０と逆変換部１５０を介して逆量子化と逆変換を適用することにより、残りの信号を復元することができる。復元された残りの信号をインター予測部１８０またはイントラ予測部１８５から出力された予測信号（prediction signal）に加えることで復元信号（reconstructed signal）が生成されることができる。
【００４８】
一方、前記のような圧縮過程で発生した量子化エラーによってブロック境界が見える劣化が発生することができる。このような現象をブロッキング劣化（blocking artifacts）と称し、これは画質を評価する重要な要素の一つである。このような劣化を低減するためにフィルタリング過程を行うことができる。このようなフィルタリング過程を介してブロッキング劣化を除去するとともに、現在ピクチャの誤差を減らすことによって、画質を向上させることになる。
【００４９】
フィルタリング部１６０は、復元信号にフィルタリングを適用して、これを再生装置に出力したり、復号ピクチャバッファ１７０に送信する。復号ピクチャバッファ１７０に送信されたフィルタリングされた信号は、インター予測部１８０で参照ピクチャとして用いることができる。このように、フィルタリングされたピクチャを画面間予測モードで参照ピクチャとして用いることにより、画質だけでなく、符号化効率も向上させることができる。
【００５０】
復号ピクチャバッファ１７０は、フィルタリングされたピクチャをインター予測部１８０からの参照ピクチャとして用いるために保存することができる。
【００５１】
インター予測部１８０は、復元ピクチャ（reconstructed picture）を参照して、時間的重複性及び／または空間的重複性を除去するために時間的予測、及び/または空間的予測を行う。ここで、予測を実行するために用いられる参照ピクチャは、以前の時間に符号化／復号化の時ブロック単位で量子化と逆量子化を経た変換された信号であるので、ブロッキングアーティファクト（blocking artifact）やリンギングアーティファクト（ringing artifact）が存在することができる。
【００５２】
したがって、インター予測部１８０は、このような信号の不連続や量子化による性能低下を解決するために、ローパスフィルタ（lowpass filter）を適用することにより、画素間の信号をサブピクセル単位で補間することができる。ここで、サブピクセルは、補間フィルタを適用して生成された仮想の画素を意味し、整数ピクセルは、復元されたピクチャに存在する実際の画素を意味する。補間方法としては、線形補間、バイリニア補間（bi-linear interpolation）、ウィーナーフィルタ（wiener filter）などが適用されることができる。
【００５３】
補間フィルタは、復元ピクチャ（reconstructed picture）に適用され、予測の精度を向上させることができる。例えば、インター予測部１８０は、整数ピクセルに補間フィルタを適用して補間画素を生成し、補間画素（interpolated pixels）で構成された補間ブロック（interpolated block）を予測ブロック（prediction block）として用いて予測を行うことができる。
【００５４】
一方、イントラ予測部１８５は、現在符号化を進行しようとするブロックの周辺にあるサンプルを参照して、現在ブロックを予測することができる。前記イントラ予測部１８５は、イントラ予測を実行するために、次のような過程を実行することができる。まず、予測信号を生成するために必要な参照サンプルを準備することができる。そして、準備されてサンプルを用いて予測信号を生成することができる。以後、予測モードを符号化することになる。このとき、参照サンプルは、参照サンプルパディング及び/または参照サンプルのフィルタリングを介して準備することができる。参照サンプルは、予測と復元の過程を経たため、量子化エラーが存在することができる。したがって、このようなエラーを減らすためにイントラ予測に用いられる各予測モードに対して参照サンプルのフィルタリング過程が実行されることができる。
【００５５】
前記インター予測部１８０または前記イントラ予測部１８５を介して生成された予測信号（prediction signal）は、復元信号を生成するために用いられるか、または残りの信号を生成するために用いることができる。
【００５６】
図２は、本発明が適用される実施形態であって、ビデオ信号のデコードが行われるデコーダの概略的なブロック図を示す。
【００５７】
図２を参照すると、デコーダ２００は、解析部（図示せず）、エントロピーデコード部２１０、逆量子化部２２０、逆変換部２３０、フィルタリング部２４０、復号ピクチャバッファ（ＤＰＢ： Decoded Picture Buffer Unit）２５０、インター予測部２６０及びイントラ予測部２６５を含みから構成されることができる。
【００５８】
そして、デコーダ２００を介して出力された復元映像信号（reconstructed video signal）は、再生装置を介して再生することができる。
【００５９】
デコーダ２００は、図１のエンコーダ１００から出力された信号を受信することができ、受信された信号は、エントロピーデコード部２１０を介して、エントロピーデコードすることができる。
【００６０】
逆量子化部２２０では、量子化ステップサイズ情報を用いて、エントロピーデコードされた信号から変換係数（transform coefficient）を獲得する。
【００６１】
逆変換部２３０では、変換係数を逆変換して残りの信号（residual signal）を獲得することになる。
【００６２】
ここで、本発明は、予測モード、ブロックサイズまたはブロック状（block shape）の内、少なくとも１つによって区分される変換設定グループ（transform configuration group）別に変換の組み合わせ（transform combination）を構成する方法を提供し、前記逆変換部２３０は、本発明によって構成された変換の組み合わせに基づいて逆変換を行うことができる。また、本明細書で説明した実施形態が適用されることができる。
【００６３】
前記逆変換部２３０は次の実施形態を実行することができる。
【００６４】
本発明は、縮小された２次変換に基づいて、ビデオ信号を復元する方法を提供する。
【００６５】
前記逆変換部２３０は、２次変換インデックスに対応する２次変換（secondary transform）を誘導して、前記２次変換を用いて、変換係数ブロックに対して逆方向２次変換を実行し、前記逆方向２次変換が行われたブロックの逆方向１次変換を実行することができる。ここで、前記２次変換は、縮小された２次変換を意味し、前記縮小された２次変換は、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクトル）が入力されてＬ個（Ｌ <Ｎ）の変換係数データ（Ｌｘ１変換係数ベクトル）が出力される変換を示す。
【００６６】
本発明において、前記縮小された２次変換は、前記現在ブロックの特定領域に適用され、前記特定領域は、前記現在ブロック内の左上側ＭｘＭ（Ｍ≦Ｎ）領域であることを特徴とする。
【００６７】
本発明において、前記逆方向２次変換が実行されるとき、前記現在ブロック内の分割された４ｘ４ブロックのそれぞれについて、４ｘ４縮小された２次変換が適用されることを特徴とする。
【００６８】
本発明において、前記２次変換インデックスを獲得するかどうかは、前記変換係数ブロック内の最後の０でない変換係数の位置に基づいて決定されることを特徴とする。
【００６９】
本発明において、前記最後の０でない変換係数が特定領域に位置しない場合に前記２次変換インデックスは獲得され、前記特定領域は、前記縮小された２次変換が適用される場合、スキャン順によって変換係数を配置したとき、０でない変換係数が存在することができる位置を除外した残りの領域を示すことを特徴とする。
【００７０】
前記逆変換部２３０は、１次変換インデックスに対応する変換の組み合わせを誘導し、前記変換の組み合わせを用いて、逆方向１次変換を実行することができる。ここで前記１次変換インデックスは、ＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数個の変換の組み合わせの内、いずれか１つに対応され、前記変換の組み合わせは、水平変換及び垂直変換で構成される。この時、前記水平変換及び前記垂直変換は、前記ＤＳＴ７または前記ＤＣＴ８の内、いずれか１つに対応される。
【００７１】
前記逆量子化部２２０と前記逆変換部２３０は、別個の機能ユニットとして説明されるが、本発明はこれに限定されなく、１つの機能ユニットに結合されてもよい。
【００７２】
獲得された残差信号をインター予測部２６０又はイントラ予測部２６５から出力された予測信号（ｐｒｅｄｉｃｔｉｏｎ  ｓｉｇｎａｌ）に足すことにより、復元信号（ｒｅｃｏｎｓｔｒｕｃｔｅｄ  ｓｉｇｎａｌ）が生成される。
【００７３】
フィルタリング部２４０は、復元信号（ｒｅｃｏｎｓｔｒｕｃｔｅｄ  ｓｉｇｎａｌ）にフィルタリングを適用してこれを再生装置に出力するか、復号ピクチャバッファ部２５０に送信する。復号ピクチャバッファ部２５０に送信されたフィルタリングされた信号は、インター予測部２６０において参照ピクチャとして使用可能である。
【００７４】
本明細書において、エンコーダ１００の変換部１２０及び各機能ユニットにおいて説明された実施形態は、それぞれデコーダの逆変換部２３０及び対応される機能ユニットにも同様に適用されることができる。
【００７５】
図３は、本発明が適用できる実施形態として、図３ＡはＱＴ（ＱｕａｄＴｒｅｅ、以下「ＱＴ」という）、図３ＢはＢＴ（Ｂｉｎａｒｙ  Ｔｒｅｅ、以下「ＢＴ」という）、図３ＣはＴＴ（Ｔｅｒｎａｒｙ  Ｔｒｅｅ、以下「ＴＴ」という）、図３ＤはＡＴ（Ａｓｙｍｍｅｔｒｉｃ  Ｔｒｅｅ、以下「ＡＴ」という）によるブロック分割構造を説明するための図である。
【００７６】
ビデオコーディングにおいて１つのブロックは、ＱＴ（ＱｕａｄＴｒｅｅ）ベースに分割されることができる。また、ＱＴにより分割された１つのサブブロック（ｓｕｂ  ｂｌｏｃｋ）は、ＱＴを使用して再帰的にさらに分割されることができる。これ以上ＱＴ分割されないリーフブロック（ｌｅａｆ  ｂｌｏｃｋ）は、ＢＴ（Ｂｉｎａｒｙ  Ｔｒｅｅ）、ＴＴ（Ｔｅｒｎａｒｙ  Ｔｒｅｅ）又は ＡＴ（Ａｓｙｍｍｅｔｒｉｃ  Ｔｒｅｅ）の少なくとも１つの方式により分割されることができる。ＢＴは、ｈｏｒｉｚｏｎｔａｌ  ＢＴ（２Ｎ×Ｎ、２Ｎ×Ｎ）とｖｅｒｔｉｃａｌ  ＢＴ（Ｎ×２Ｎ、Ｎ×２Ｎ）の２つの形態の分割を有する。ＴＴは、ｈｏｒｉｚｏｎｔａｌ  ＴＴ（２Ｎ×１／２Ｎ、２Ｎ×Ｎ、２Ｎ×１／２Ｎ）とｖｅｒｔｉｃａｌ  ＴＴ（１／２Ｎ×２Ｎ、Ｎ×２Ｎ、１／２Ｎ×２Ｎ）の２つの形態の分割を有する。ＡＴは、ｈｏｒｉｚｏｎｔａｌ−ｕｐ  ＡＴ（２Ｎｘ１／２Ｎ、２Ｎｘ３／２Ｎ）、ｈｏｒｉｚｏｎｔａｌ−ｄｏｗｎ  ＡＴ（２Ｎ×３／２Ｎ、２Ｎ×１／２Ｎ）、ｖｅｒｔｉｃａｌ−ｌｅｆｔ  ＡＴ（１／２Ｎ×２Ｎ、３／２Ｎ×２Ｎ）、ｖｅｒｔｉｃａｌ−ｒｉｇｈｔ  ＡＴ（３／２Ｎ×２Ｎ、１／２Ｎ×２Ｎ）の４つの形態の分割を有する。それぞれのＢＴ、ＴＴ、ＡＴは、ＢＴ、ＴＴ、ＡＴを使用して再帰的にさらに分割されることができる。
【００７７】
前記図３Ａは、ＱＴ分割の例を示す。ブロックＡは、ＱＴにより４つのサブブロック（Ａ０、Ａ１、Ａ２、Ａ３）に分割される。サブブロックＡ１は、ＱＴにより４つのサブブロック（Ｂ０、Ｂ１、Ｂ２、Ｂ３）にさらに分割される。
【００７８】
前記図３Ｂは、ＢＴ分割の例を示す。ＱＴによりこれ以上分割されないブロックＢ３は、ｖｅｒｔｉｃａｌ  ＢＴ（Ｃ０、Ｃ１）又はｈｏｒｉｚｏｎｔａｌ  ＢＴ（Ｄ０、Ｄ１）により分割される。ブロックＣ０のようにそれぞれのサブブロックは、ｈｏｒｉｚｏｎｔａｌ  ＢＴ（Ｅ０、Ｅ１）又はｖｅｒｔｉｃａｌ  ＢＴ（Ｆ０、Ｆ１）の形態のように再帰的にさらに分割されることができる。
【００７９】
前記図３Ｃは、ＴＴ分割の例を示す。ＱＴによりこれ以上分割されないブロックＢ３は、ｖｅｒｔｉｃａｌ  ＴＴ（Ｃ０、Ｃ１、Ｃ２）又はｈｏｒｉｚｏｎｔａｌ  ＴＴ（Ｄ０、Ｄ１、Ｄ２）により分割される。ブロックＣ１のようにそれぞれのサブブロックは、ｈｏｒｉｚｏｎｔａｌ  ＴＴ（Ｅ０、Ｅ１、Ｅ２）又はｖｅｒｔｉｃａｌ  ＴＴ（Ｆ０、Ｆ１、Ｆ２）の形態のように再帰的にさらに分割されることができる。
【００８０】
前記図３Ｄは、ＡＴ分割の例を示す。ＱＴによりこれ以上分割されないブロックＢ３は、ｖｅｒｔｉｃａｌ  ＡＴ（Ｃ０、Ｃ１）又はｈｏｒｉｚｏｎｔａｌ  ＡＴ（Ｄ０、Ｄ１）により分割される。ブロックＣ１のようにそれぞれのサブブロックはｈｏｒｉｚｏｎｔａｌ  ＡＴ（Ｅ０、Ｅ１）又はｖｅｒｔｉｃａｌ  ＴＴ（Ｆ０、Ｆ１）の形態のように再帰的にさらに分割されることができる。
【００８１】
一方、ＢＴ、ＴＴ、ＡＴ分割は共に使用して分割可能である。例えば、ＢＴ により分割されたサブブロックはＴＴ又はＡＴによる分割が可能である。また、ＴＴにより分割されたサブブロックはＢＴ又はＡＴによる分割が可能である。ＡＴにより分割されたサブブロックはＢＴ又はＴＴによる分割が可能である。例えば、ｈｏｒｉｚｏｎｔａｌ  ＢＴ分割の後、それぞれのサブブロックがｖｅｒｔｉｃａｌ  ＢＴにより分割されることができ、またはｖｅｒｔｉｃａｌ  ＢＴ分割の後、それぞれのサブブロックがｈｏｒｉｚｏｎｔａｌ  ＢＴにより分割されることができる。前記２種類の分割方法は分割順は異なるが、最終的に分割される形状は同一である。
【００８２】
また、ブロックが分割されると、ブロックを探索する順を多様に定義することができる。一般に、左側から右側へ、上段から下段へ探索を行い、ブロックを探索するということは、各分割されたサブブロックの追加的なブロック分割を行うか否かを決定する順を意味するか、ブロックがこれ以上分割されない場合、各サブブロックのコーディング順を意味するか、又はサブブロックにおいて他の隣接ブロックの情報を参照するときの探索順を意味する。
【００８３】
図４及び図５は、本発明が適用される実施形態として、図４は、エンコーダ内の変換及び量子化部１２０／１３０、逆量子化及び逆変換部１４０／１５０の概略的なブロック図を示し、図５は、デコーダ内の逆量子化及び逆変換部２２０／２３０の概略的なブロック図を示す。
【００８４】
前記図４に示すように、変換及び量子化部１２０／１３０は、１次変換部（ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）１２１、２次変換部（ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）１２２及び量子化部１３０を含む。逆量子化及び逆変換部１４０／１５０は、逆量子化部１４０、逆方向２次変換部（ｉｎｖｅｒｓｅ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）１５１及び逆方向１次変換部（ｉｎｖｅｒｓｅ  ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）１５２を含む。
【００８５】
前記図５に示すように、逆量子化及び逆変換部２２０／２３０は、逆量子化部２２０、逆方向２次変換部（ｉｎｖｅｒｓｅ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）２３１及び逆方向１次変換部（ｉｎｖｅｒｓｅ  ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）２３２を含む。
【００８６】
本発明において、変換を行うときに複数の段階を経て変換を行うことができる。例えば、図４のように、１次変換（ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ）、２次変換（ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ）の２段階を適用することができ、又はアルゴリズムによってそれ以上の変換段階が用いられることもできる。ここで、前記１次変換（ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ）は、主要変換（ｃｏｒｅ  ｔｒａｎｓｆｏｒｍ）ということもできる。
【００８７】
前記１次変換部（ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）１２１は、残差信号に対して１次変換（ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ）を適用し、ここで、前記１次変換（ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ）は、エンコーダ及び／又はデコーダにおいてテーブルとして既に定義されることができる。
【００８８】
前記１次変換（ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ）の場合、Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍ  ｔｙｐｅ ２（以下、「ＤＣＴ２」という）が適用されることができる。または、特定した場合に限定してＤｉｓｃｒｅｔｅ Ｓｉｎｅ Ｔｒａｎｓｆｏｒｍ−ｔｙｐｅ  ７（以下、「ＤＳＴ７」という。）が適用されることもできる。例えば、イントラ予測モードにおいて４×４ブロックに対してＤＳＴ７が適用されることができる。
【００８９】
また、前記１次変換（primary transform）の場合、ＭＴＳ（Multiple Transform Selection）の複数の変換（ＤＳＴ ７、ＤＣＴ ８、ＤＳＴ １、ＤＣＴ ５）の組み合わせが適用されることもできる。例えば、図６が適用されることができる。
【００９０】
前記２次変換部（secondary transform unit）１２２は、１次変換された信号に対して２次変換（secondary transform）を適用することができ、ここで前記２次変換（secondary transform）は、エンコーダ及び/またはデコーダからテーブルに既定義されることができる。
【００９１】
一実施形態として、前記２次変換（secondary transform）は、Non-Separable Secondary Transform（以下、「Ｎｓｓｔ」と称する）が条件的に適用することができる。例えば、前記Ｎｓｓｔはイントラ予測ブロックの場合にのみ適用され、予測モードグループごとに適用可能な変換セットを有することができる。
【００９２】
ここで、前記予測モードグループは、予測方向の対称性に基づいて設定されることができる。例えば、予測モード５２と予測モード１６は、予測モード３４（対角方向）に基づいて対称であるので、１つのグループを形成して、同じ変換セット（transform set）が適用されることができる。この時、前記予測モード５２の変換を適用するとき入力データをトランスポーズ（transpose）した後に適用し、これは予測モード１６と変換セットが同じであるからである。
【００９３】
一方、プランナーモード（Planar mode）とＤＣモード（DC mode）の場合、方向の対称性が存在しないため、それぞれの変換セットを有し、その変換セットは、２つの変換で構成されることができる。残りの方向性モードに対しては、変換セットごとに３つの変換で構成されることができる。
【００９４】
他の実施形態として、前記２次変換（secondary transform）の場合、ＭＴＳ（Multiple Transform Selection）のさまざまな変換（ＤＳＴ ７、ＤＣＴ ８、ＤＳＴ １、ＤＣＴ ５）の組み合わせが適用されることもできる。
例えば、図６が適用されることができる。他の実施形態として、ＤＳＴ７が２次変換（secondary transform）で適用されることもできる。
【００９５】
他の実施形態として、前記Ｎｓｓｔは１次変換されたブロック全体に対して適用されるものではなく左上側（top-left）８ｘ８の領域にのみ適用されることができる。例えば、ブロックのサイズが８ｘ８以上の場合は、８ｘ８ Ｎｓｓｔが適用され、８ｘ８未満の場合は、４ｘ４ Ｎｓｓｔが適用されるが、この時、４ｘ４ブロックに分割後、それぞれ４ｘ４ Ｎｓｓｔが適用される。
【００９６】
他の実施形態として、４ｘＮ/Ｎｘ４（Ｎ> ＝ １６）である場合にも、４ｘ４ Ｎｓｓｔが適用されることができる。
【００９７】
前記Ｎｓｓｔ、４ｘ４ Ｎｓｓｔと８ｘ８ Ｎｓｓｔについては、以下、図１２〜１５及び明細書の内、他の実施形態を介してより詳細に説明する。
【００９８】
前記量子化部１３０は、２次変換された信号に対して量子化を行うことができる。
前記逆量子化及び逆変換部（１４０/１５０）は、先に説明した過程を逆に実行し、重複する説明は省略する。
【００９９】
図５は、デコーダ内の逆量子化と逆変換部（２２０/２３０）の概略的なブロック図を示す。
【０１００】
前記図５を注意深く見ると、逆量子化及び逆変換部（２２０/２３０）は、逆量子化部２２０、逆２次変換部（inverse secondary transform unit）２３１と逆１次変換部（inverse primary transform unit） ２３２を含むことができる。
【０１０１】
前記逆量子化部２２０では、量子化ステップサイズ情報を用いて、エントロピーデコードされた信号から変換係数（transform coefficient）を獲得する。
【０１０２】
前記逆２次変換部（inverse secondary transform unit）２３１では、前記変換係数に対して逆２次変換を実行する。ここで、前記逆２次変換は、前記図４で説明した前記２次変換（secondary transform）の逆変換を示す。
【０１０３】
他の実施形態として、前記２次変換の場合、ＭＴＳ（Multiple Transform Selection）の様々な変換（ＤＳＴ ７、ＤＣＴ ８、ＤＳＴ １、ＤＣＴ ５）の組み合わせが適用されることもできる。例えば、図６が適用されることができる。
【０１０４】
前記逆１次変換部（inverse primary transform unit）２３２は、逆２次変換された信号（またはブロック）について逆１次変換を実行し、残りの信号（residualsignal）を獲得することになる。ここで、前記逆方向１次変換は、前記図４で説明した前記１次変換（primary transform）の逆変換を示す。
【０１０５】
一実施形態で、前記１次変換（primary transform）の場合、ＭＴＳ（Multiple Transform Selection）の様々な変換（ＤＳＴ ７、ＤＣＴ ８、ＤＳＴ １、ＤＣＴ ５）の組み合わせが適用されることもできる。例えば、図６が適用されることができる。
【０１０６】
本発明の一実施形態として、ＤＳＴ７が１次変換（primary transform）で適用されることもできる。
【０１０７】
本発明の一実施形態として、ＤＣＴ８が１次変換（primary transform）で適用されることもできる。
【０１０８】
本発明は、予測モード、ブロックサイズまたはブロック状（blockshape）の内、少なくとも１つによって区分される変換設定グループ（transform configuration group）別に変換の組み合わせ（transform combination）を構成する方法を提供し、前記逆１次変換部（inverse primary transform unit）２３２は、本発明によって構成された変換の組み合わせに基づいて逆変換を行うことができる。また、本明細書で説明した実施形態が適用されることができる。
【０１０９】
図６は、本発明が適用される実施形態として、ＭＴＳ（Multiple Transform Selection）が適用される変換設定グループ（transform configuration group）を示す表である。
【０１１０】
ＭＴＳ（Multiple Transform Selection）が適用される変換設定グループ
【０１１１】
本明細書においては、変換設定グループＧｉのｊ番目の変換の組み合わせの候補を次の数式（１）のようなペアで表示する。
【０１１２】
［数１］
(Ｈ(Ｇｉ, ｊ), Ｖ(Ｇｉ, ｊ))
【０１１３】
ここで、Ｈ（Ｇｉ、ｊ）は、ｊ番目の候補の水平変換（horizontal transform）を指し、Ｖ（Ｇｉ、ｊ）は、ｊ番目の候補の垂直変換（vertical transform）を指す。例えば、図６でＨ（Ｇ３、２）＝ ＤＳＴ７、Ｖ（Ｇ３、２）＝ ＤＣＴ８のように表記することができる。文脈に応じてＨ（Ｇｉ、ｊ）またはＶ（Ｇｉ、ｊ）に割り当てられる値は、前記例示のように変換を区分するための表示上の値（nominal value）で有り得、その変換を指すインデックス値で有り得、その変換の２Ｄ行列（２ Dimensional matrix）で有り得る。
【０１１４】
また、本明細書において、ＤＣＴとＤＳＴの２Ｄ行列の値を次の数式２〜３のように表記することができる。
【０１１５】
［数２］
DCT type 2：、DCT type 8：
【０１１６】
［数３］
DST type 7：、DST type 4：
【０１１７】
ここで、ＤＳＴまたはＤＣＴかどうかは、ＳまたはＣで示し、type数字はローマ数字の形で上付きで表記し、下部添字のＮはＮｘＮ変換であることを示す。また、前記―――のような２Ｄ行列は、列ベクトル（column vector）が変換基底（transform basis）をなすことを仮定する。
【０１１８】
前記図６を注意深く見ると、変換設定グループ（transform configuration group）は、予測モードに基づいて決定され、グループの数は、総６個（Ｇ０〜Ｇ５）で有り得る。そして、Ｇ０〜Ｇ４は、イントラ予測が適用される場合に該当されＧ５はインター予測によって生成された残差（residual）ブロックに適用される変換の組み合わせ（または変換セット、変換の組み合わせセット）を示す。
【０１１９】
一つの変換の組み合わせは、その２Ｄブロックの行（row）に適用される水平変換（horizontal transform）（または行変換（row transform））と列（column）に適用される垂直変換（vertical transform）（または列変換（column transform））でなることができる。
【０１２０】
ここで、すべての変換設定グループは、各４つの変換の組み合わせの候補を有することができる。前記４つの変換の組み合わせ候補は０〜３の変換の組み合わせのインデックスを介して選択または決定することができ、エンコーダからデコーダに前記変換の組み合わせのインデックスをエンコードして送信することができる。
【０１２１】
一実施形態として、イントラ予測を介して獲得された残差データ（または残差信号）は、イントラ予測モードに応じて、その統計的特性がそれぞれ異なることができる。したがって、前記図６に示すように、イントラ予測モードごとに、一般的なコサイン変換ではない、別の変換を適用することができる。
【０１２２】
前記図６を注意深く見ると、３５個のイントラ予測モードを用いる場合と６７個のイントラ予測モードを用いる場合を示す。各イントラ予測モードの列で変換設定グループごとに複数個の変換の組み合わせが適用されることができる。例えば、前記複数個の変換の組み合わせは、４つの（行方向の変換、列方向の変換）組み合わせで構成されることができる。具体例として、グループ０では、行（水平）方向と列（垂直）方向の全てＤＳＴ−７とＤＣＴ−５が適用されることができ、総４つの組み合わせが可能である。
【０１２３】
各イントラ予測モードに対して、総４つの変換カーネルの組み合わせが適用されることができるので、その内、いずれか１つを選択するための変換の組み合わせのインデックスが変換ユニット（transform unit）ごとに送信されることができる。本明細書において、前記変換の組み合わせのインデックスは、ＭＴＳインデックス（MTS index）と称することができ、mts_idxで表現されることができる。
【０１２４】
また、前記図６で提示した変換カーネル以外にも、残差信号（residual signal）の特性上、行方向と列方向の全てに対しＤＣＴ２が最適な場合が発生することができる。したがって、コーディングユニット（Coding Unit）毎にＭＴＳフラグを定義することにより、適応的に変換を実行することができる。ここで、ＭＴＳフラグが０の場合、行方向と列方向の全てにＤＣＴ２を適用し、ＭＴＳフラグが１であると、ＭＴＳインデックスを介して、４つの組み合わせの内、いずれか１つを選択または、決定することができる。
【０１２５】
一実施形態として、ＭＴＳフラグが１である場合、１つの変換ユニットに対して０ではない変換係数の数がしきい値より大きくなければ、前記図６の変換カーネルを適用せずに行方向と列方向の全てＤＳＴ− ７を適用することができる。例えば、前記しきい値は２に設定されることができ、これはブロックサイズまたは変換ユニットのサイズに基づいて、異なるように設定することができる。これは明細書の他の実施形態でも適用可能である。
【０１２６】
一実施形態として、変換係数の値を先に解析して、０でない変換係数の数がしきい値より大きくなければ、ＭＴＳインデックスを解析せずにＤＳＴ−７を適用することにより、付加情報転送量を削減することができる。
【０１２７】
一実施形態として、ＭＴＳフラグが１である場合、１つの変換ユニットに対し０ではない変換係数の数がしきい値より大きい場合ＭＴＳインデックスを解析して、ＭＴＳインデックスに基づいて、水平変換と垂直変換を決定することができる。
【０１２８】
一実施形態として、ＭＴＳは変換ユニットの幅と高さの全てが３２以下の場合にのみ、適用することができる。
【０１２９】
一実施形態として、前記図６は、オフライントレーニング（off-line training）を介して既設定されることができる。
【０１３０】
一実施形態として、前記ＭＴＳインデックスは、水平変換と垂直変換の組み合わせを同時に指すことができる１つのインデックスとして定義することができる。または、前記ＭＴＳインデックスは、水平変換インデックスと垂直変換インデックスを別々に定義することもできる。
【０１３１】
一実施形態として、前記ＭＴＳフラグまたは前記ＭＴＳインデックスは、シーケンス、ピクチャ、スライス、ブロック、コーディングユニット、変換ユニット、または予測ユニットの内、少なくとも一つのレベルで定義することができる。例えば、前記ＭＴＳフラグまたは前記ＭＴＳインデックスはｓｐｓ（Sequence Parameter Set）または変換ユニットの内、少なくとも一つのレベルで定義することができる。
【０１３２】
他の実施形態として、変換インデックスに対応する変換の組み合わせ（水平変換、垂直変換）は、ＭＴＳフラグ、予測モード、及び/またはブロックの形との依存性せずに構成することができる。例えば、前記変換の組み合わせは、ＤＣＴ２、ＤＳＴ７及び/またはＤＣＴ８の内、少なくとも一つで構成されることができる。具体例として、変換インデックスが０、１、２、３、４であれば、それぞれ前記変換の組み合わせは、（ＤＣＴ２、ＤＣＴ２）、（ＤＳＴ７、ＤＳＴ７）、（ＤＣＴ８、ＤＳＴ７）、（ＤＳＴ７、ＤＣＴ８）、（ＤＣＴ８、ＤＣＴ８ ）で有り得る。
【０１３３】
図７は、本発明が適用される実施形態として、ＭＴＳ（Multiple Transform Selection）が行われるエンコード過程を示すフローチャートである。
【０１３４】
本明細書においては、基本的に、水平方向と垂直方向に対して分離して変換を適用する実施形態を説明しているが、変換の組み合わせは、非分離変換（non-separable transform）でも構成が可能である。
【０１３５】
または、分離可能な変換（separable transform）と非分離変換（non-separable transform）の混合でも構成することができる。この場合、非分離変換（non-separable transform）が用いられると、行/列（row / column）別の変換選択や水平/垂直（horizontal / vertical）方向別選択は不要になり、分離可能な変換（separable transform）が選択された場合にのみ、前記図６の変換の組み合わせが用いられる。
【０１３６】
また、本明細書において提案する方式は、１次変換（primary transform）や２次変換（secondary transform）に関係なく適用することができる。即ち、２つの中一方にのみ適用されなければならないという制約がなく、両方ともに適用することができる。ここで、前記１次変換（primary transform）は、残差（residual）ブロックを最初に変換するための変換を意味することができ、前記２次変換（secondary transform）は、前記１次変換の結果として生成されたブロックについての変換を適用するための変換を意味することができる。
【０１３７】
まず、エンコーダは、現在ブロックに対応する変換設定グループを決定することができる（Ｓ７１０）。ここで、前記変換設定グループは、前記図６の変換設定グループを意味することができるが、本発明はこれに限定されず、他の変換の組み合わせで構成されることもできる。
【０１３８】
前記エンコーダは、前記の変換を設定するグループ内の利用可能な候補変換の組み合わせに対して変換を実行することができる（Ｓ７２０）。
【０１３９】
前記変換を実行結果、前記エンコーダは、ＲＤ（Rate Distortion）コストが最小の変換の組み合わせを決定または選択することができる（Ｓ７３０）。
【０１４０】
前記エンコーダは、前記選択された変換の組み合わせに対応する変換の組み合わせのインデックスをエンコードすることができる（Ｓ７４０）。
【０１４１】
図８は、 本発明が適用される実施形態として、ＭＴＳ(Multiple Transform Selection)実行されるデコード過程を示すフローチャートである。
【０１４２】
まず、デコーダは、現在ブロックのための変換設定グループを決定することができる（Ｓ８１０）。
【０１４３】
前記デコーダは、ビデオ信号から変換の組み合わせのインデックスを解析（または獲得）することができ、ここで前記変換の組み合わせのインデックスは、前記変換設定グループ内の複数個の変換の組み合わせの内、いずれか１つに対応することができる（Ｓ８２０）。例えば、前記変換設定グループは、ＤＳＴ７（Discrete Sine Transform type 7）とＤＣＴ８（Discrete Cosine Transform type 8）を含むことができる。前記変換の組み合わせのインデックスは、ＭＴＳインデックスと称することができる。
【０１４４】
一実施形態として、前記変換設定グループは、現在ブロックの予測モード、ブロックサイズまたはブロック状の内、少なくとも一つに基づいて設定されることができる。
【０１４５】
前記デコーダは、前記変換の組み合わせのインデックスに対応する変換の組み合わせを誘導することができる（Ｓ８３０）。ここで、前記変換の組み合わせは、水平変換及び垂直変換で構成され、前記ＤＳＴ−７またはＤＣＴ−８の内、少なくとも一つを含むことができる。
【０１４６】
また、前記変換の組み合わせは、前記図６で説明した変換の組み合わせを意味することができるが、本発明はこれに限定されない。すなわち、本明細書の内、他の実施形態に係る他の変換の組み合わせによる構成も可能である。
【０１４７】
前記デコーダは、前記変換の組み合わせに基づいて前記現在ブロックの逆変換を行うことができる（Ｓ８４０）。前記変換の組み合わせが行（水平）変換と列（垂直）変換で構成された場合、行（水平）変換を先に適用した後、列（垂直）変換を適用することができる。ただし、本発明はこれに限定されず、逆に適用されるか、または非分離変換で構成された場合には、すぐに非分離変換が適用されることができる。
【０１４８】
一実施形態として、前記垂直変換または前記水平変換は、前記ＤＳＴ−７またはＤＣＴ−８である場合、前記ＤＳＴ−７の逆変換またはＤＣＴ−８の逆変換を列ごとに適用した後、行ごとに適用することができる。
【０１４９】
一実施形態として、前記垂直変換または前記水平変換は、各行ごとに、及び/または各列ごとに別の変換が適用されることができる。
【０１５０】
一実施形態として、前記変換の組み合わせのインデックスは、ＭＴＳが実行されるかどうかを示すＭＴＳフラグに基づいて獲得することができる。すなわち、前記変換の組み合わせのインデックスは、前記ＭＴＳフラグに基づいてMTSが実行された場合に獲得することができる。
【０１５１】
一実施形態として、前記デコーダは、０でない変換係数の数がしきい値より大きいかどうかを確認することができる。この際、前記変換の組み合わせのインデックスは、前記０でない変換係数の数がしきい値より大きい場合に獲得することができる。
【０１５２】
一実施形態として、前記ＭＴＳフラグまたは前記ＭＴＳインデックスは、シーケンス、ピクチャ、スライス、ブロック、コーディングユニット、変換ユニット、または予測ユニットの内、少なくとも一つのレベルで定義することができる。
【０１５３】
一実施形態として、前記逆変換は、変換ユニットの幅と高さの全てが３２以下の場合にのみ、適用することができる。
【０１５４】
一方、他の一実施形態として、変換設定グループを決定する過程と変換の組み合わせのインデックスを解析する過程は、同時に実行することができる。または前記Ｓ８１０のステップは、エンコーダ及び/またはデコーダで既設定されて省略されることができる。
【０１５５】
図９は、本発明が適用される実施形態として、ＭＴＳフラグとＭＴＳインデックスをエンコードする過程を説明するためのフローチャートである。
【０１５６】
エンコーダは、現在ブロックのＭＴＳ（Multiple Transform Selection）が適用されるかどうかを決定することができる（Ｓ９１０）。
【０１５７】
もし、ＭＴＳ（Multiple Transform Selection）が適用される場合、前記エンコーダは、ＭＴＳフラグ＝ １でエンコードすることができる（Ｓ９２０）。
【０１５８】
そして、前記エンコーダは、前記現在ブロックの予測モード、水平変換、垂直変換の内、少なくとも一つに基づいて、ＭＴＳインデックスを決定することができる（Ｓ９３０）。ここで、ＭＴＳインデックスは、各イントラ予測モードに対して複数個の変換の組み合わせの内、いずれか１つを指すインデックスを意味し、前記ＭＴＳインデックスは、変換ユニット（transform unit）ごとに送信されることができる。
【０１５９】
前記ＭＴＳインデックスが決定されると、前記エンコーダは、前記ＭＴＳインデックスをエンコードすることができる（Ｓ９４０）。
【０１６０】
一方、前記（ＭＴＳ Multiple Transform Selection）が適用されない場合、前記エンコーダは、ＭＴＳフラグ＝ ０にエンコードすることができる（Ｓ９５０）。
【０１６１】
図１０は、本発明が適用される実施形態として、ＭＴＳフラグ及びＭＴＳインデックスに基づいて、水平変換または垂直変換を行または列に適用するデコード過程を説明するためのフローチャートである。
【０１６２】
デコーダは、ビットストリームからＭＴＳフラグを解析することができる（Ｓ１０１０）。ここで、ＭＴＳフラグは、現在ブロックのＭＴＳ（Multiple Transform Selection）が適用されるかどうかを示すことができる。
【０１６３】
前記デコーダは、前記ＭＴＳフラグに基づいて、現在ブロックのＭＴＳ（Multiple Transform Selection）が適用されるかどうかを確認することができる（Ｓ１０２０）。例えば、前記ＭＴＳフラグが１かどうかを確認することができる。
【０１６４】
もし、前記ＭＴＳフラグが１である場合、前記デコーダは、０でない変換係数の数がしきい値より大きい（またはそれ以上であること）かどうかを確認することができる（Ｓ１０３０）。例えば、前記しきい値は２に設定されることができ、これはブロックサイズまたは変換ユニットのサイズに基づいて、異なるように設定することができる。
【０１６５】
前記０でない変換係数の数がしきい値よりも大きい場合、前記デコーダは、ＭＴＳのインデックスを解析することができる（Ｓ１０４０）。ここで、前記ＭＴＳインデックスは、各イントラ予測モードまたはインター予測モードについて複数個の変換の組み合わせの内、いずれかを１つを指すインデックスを意味し、前記ＭＴＳインデックスは、変換ユニット（transform unit）ごとに送信されることができる。または、前記ＭＴＳインデックスは既に設定され変換の組み合わせテーブルに定義されたいずれか１つの変換の組み合わせを指すインデックスを意味することができ、ここで前記既設定された変換の組み合わせのテーブルは、前記図６を意味することができるが、本発明はこれに限定されない。
【０１６６】
前記デコーダは、前記ＭＴＳインデックスまたは予測モードの内、少なくとも一つに基づいて、水平変換及び垂直変換を誘導または決定することができる（Ｓ１０５０）。
【０１６７】
または、前記デコーダは、前記ＭＴＳインデックスに対応する変換の組み合わせを誘導することができる。例えば、前記デコーダは、前記ＭＴＳインデックスに対応される水平変換及び垂直変換を誘導または決定することができる。
【０１６８】
一方、前記０でない変換係数の数がしきい値より大きくない場合、前記デコーダは既設定された垂直逆変換を列ごとに適用することができる（Ｓ１０６０）。例えば、前記垂直逆変換は、ＤＳＴ７の逆変換で有り得る。
【０１６９】
そして、前記デコーダは、既設定された水平逆変換を行ごとに適用することができる（Ｓ１０７０）。例えば、前記水平逆変換は、ＤＳＴ７の逆変換で有り得る。すなわち、前記０でない変換係数の数がしきい値より大きくない場合には、エンコーダまたはデコーダで既設定された変換カーネルが用いることができる。例えば、前記図６のような変換の組み合わせテーブルで定義されたものではなく、多く用いられる変換カーネルが用いることができる。
【０１７０】
一方、前記ＭＴＳフラグが０である場合、前記デコーダは既設定された垂直逆変換を列ごとに適用することができる（Ｓ１０８０）。例えば、前記垂直逆変換は、ＤＣＴ２の逆変換で有り得る。
【０１７１】
そして、前記デコーダは、既設定された水平逆変換を行ごとに適用することができる（Ｓ１０９０）。例えば、前記水平逆変換は、ＤＣＴ２の逆変換で有り得る。即ち、ＭＴＳフラグが０である場合には、エンコーダまたはデコーダで既設定された変換カーネルが用いることができる。例えば、前記図６のような変換の組み合わせテーブルで定義されたものではなく、多く用いられる変換カーネルが用いることができる。
【０１７２】
図１１は、本発明が適用される実施形態として、変換関連パラメータに基づいて逆変換を実行するフローチャートを示す。
【０１７３】
本発明が適用されるデコーダは、sps_mts_intra_enabled_flagまたはsps_mts_inter_enabled_flagを獲得することができる（Ｓ１１１０）。ここで、sps_mts_intra_enabled_flagはtu_mts_flagがイントラコーディングユニットのレジデュアルコーディング構文に存在するかどうかを示す。たとえば、sps_mts_intra_enabled_flag = 0であれば、tu_mts_flagがイントラコーディングユニットのレジデュアルコーディング構文に存在せず、sps_mts_intra_enabled_flag = 0であれば、tu_mts_flagがイントラコーディングユニットのレジデュアルコーディング構文に存在する。そして、sps_mts_inter_enabled_flagはtu_mts_flagがインターコーディングユニットのレジデュアルコーディング構文に存在するかどうかを示す。たとえば、sps_mts_inter_enabled_flag = 0であれば、tu_mts_flagがインターコーディングユニットのレジデュアルコーディング構文に存在せず、sps_mts_inter_enabled_flag = 0であれば、tu_mts_flagがインターコーディングユニットのレジデュアルコーディング構文に存在する。
【０１７４】
前記デコーダは、sps_mts_intra_enabled_flagまたはsps_mts_inter_enabled_flagに基づいてtu_mts_flagを獲得することができる（Ｓ１１２０）。たとえば、sps_mts_intra_enabled_flag = 1またはsps_mts_inter_enabled_flag = 1のとき、前記デコーダはtu_mts_flagを獲得することができる。ここで、tu_mts_flagは多変換の選択（multiple transform selection、以下「ＭＴＳ」と称する）がルマ変換ブロックのレジデュアルサンプルに適用されるかどうかを示す。たとえば、tu_mts_flag = 0の場合、ＭＴＳがルマ変換ブロックのレジデュアルサンプルに適用されず、tu_mts_flag ＝ １であればＭＴＳがルマ変換ブロックのレジデュアルサンプルに適用される。
【０１７５】
他の例として、前記tu_mts_flagについて本文書の実施形態の内、少なくとも１つが適用されることができる。
【０１７６】
前記デコーダはtu_mts_flagに基づいてmts_idxを獲得することができる（Ｓ１１３０）。たとえば、tu_mts_flag = 1のとき、前記デコーダはmts_idxを獲得することができる。ここで、mts_idxはどの変換カーネルが現在変換ブロックの水平及び/または垂直方向に沿ったルマレジデュアルサンプルに適用されるかを示す。
【０１７７】
たとえば、mts_idxについては、本文書の実施形態の内、少なくとも１つが適用されることができる。具体例として、前記図６の実施形態の内、少なくとも１つが適用されることができる。
【０１７８】
前記デコーダはmts_idxに対応する変換カーネルを誘導することができる（Ｓ１１４０）。例えば、前記mts_idxに対応する変換カーネルは、水平変換及び垂直変換に区分されて定義することができる。
【０１７９】
他の例として、前記水平変換及び垂直変換は、互いに異なる変換カーネルが適用されることができる。ただし、本発明はこれに限定されず、前記水平変換及び垂直変換は、同じ変換カーネルが適用されることもある。
【０１８０】
一実施形態として、mts_idxは、以下の表１のように定義することができる。
【０１８１】
【表１】
2021517796.tif 000003
【０１８２】
そして、前記デコーダは、前記変換カーネルに基づいて逆変換を行うことができる（Ｓ１１５０）。
【０１８３】
本発明の他の実施形態であり、変換過程を実行するデコード過程を説明する。
【０１８４】
デコーダは、変換サイズ（ｎＴｂＳ）を確認することができる（Ｓ１０）。ここで、前記変換サイズ（ｎＴｂＳ）は、スケールされた変換係数の水平方向のサンプルサイズを示す変数で有り得る。
【０１８５】
前記デコーダは、 変換カーネルタイプ（ｔｒＴｙｐｅ）を確認することができる（Ｓ２０）。ここで、前記変換カーネルタイプ（ｔｒＴｙｐｅ）は変換カーネルタイプを示す変数で有り得、本文書の様々な実施形態が適用されることができる。前記変換カーネルタイプ（ｔｒＴｙｐｅ）は、水平変換カーネルタイプ（ｔｒＴｙｐｅＨｏｒ）と垂直変換カーネルタイプ（ｔｒＴｙｐｅＶｅｒ）を含むことができる。
【０１８６】
前記表１を参照すれば、前記変換カーネルタイプ（ｔｒＴｙｐｅ）が０であると、ＤＣＴ２を示し、１であるとＤＳＴ７を示し、2の場合はＤＣＴ８を示すことができる。
【０１８７】
前記デコーダは、変換サイズ（ｎＴｂＳ）または変換カーネルタイプの内、少なくとも一つに基づいて、変換行列の乗算を行うことができる（Ｓ３０）。
【０１８８】
他の例として、変換カーネルタイプが１であり、変換サイズが４であれば、変換行列の乗算を実行する際既決定された変換行列（１）が適用されることができる。
【０１８９】
他の例として、変換カーネルタイプが１であり、変換サイズが８であれば、変換行列の乗算を実行する際期決定された変換行列（2）が適用されることができる。
【０１９０】
他の例として、変換カーネルタイプが１であり、変換サイズが１６であれば、変換行列の乗算を実行する際既に決定された変換行列（3）が適用されることができる。
【０１９１】
他の例として、変換カーネルタイプが１であり、変換サイズが32であれば、既定義のされた変換行列（4）が適用されることができる。
【０１９２】
同様に、変換カーネルタイプが２であり、変換サイズが４、８、１６、または32であれば、それぞれ既定義された変換行列（５）、（６）、（７）、（８）が適用されることができる。
【０１９３】
ここで、前記既定義された変換行列（１）〜（８）は、それぞれ、様々なタイプの変換行列の内、いずれか１つに対応することができる。一例として、前記図６で例示されたタイプの変換行列が適用されることができる。
【０１９４】
前記デコーダは、変換行列の乗算に基づいて変換サンプルを誘導することができる（Ｓ４０）。
【０１９５】
前記実施形態は、それぞれ用いられることができるが、本発明はこれに限定されず、前記の実施形態及び本明細書の他の実施形態と組み合わせて用いられる。
【０１９６】
図１２は、本発明が適用される実施形態として、NSSTでイントラ予測モードごとに変換セット（transform set）を割り当てることを示すテーブルである。
【０１９７】
Non-Separable Secondary Transform（NSST）
２次変換部（secondary transform unitは、１次変換された信号に対して２次変換（secondary transform）を適用することができ、ここで前記２次変換（secondary transform）は、エンコーダ及び/またはデコーダでテーブルに既定義されることができる。
【０１９８】
一実施形態として、前記２次変換（secondary transform）は、Non-Separable Secondary Transform（以下、「Ｎｓｓｔ」と称する）が条件的に適用することができる。例えば、前記Ｎｓｓｔはイントラ予測ブロックの場合にのみ適用され、予測モードグループごとに適用可能な変換セットを有することができる。
【０１９９】
ここで、前記予測モードグループは、予測方向の対称性に基づいて設定されることができる。例えば、予測モード５２と予測モード１６は、予測モード３４（対角方向）をに基づいて対称であるので、１つのグループを形成して、同じ変換セット（transform set）が適用されることができる。この時、前記予測モード５２の変換を適用するときに入力データをトランスポーズ（transpose）した後に適用し、これは予測モード１６と変換セットが同じであるからである。
【０２００】
一方、プランナーモード（Planar mode）とＤＣモード（DC mode）の場合、方向の対称性が存在しないため、それぞれの変換セットを有し、その変換セットは、2つの変換で構成されることができる。残りの方向性モードに対しては、変換セットごとに３つの変換で構成されることができる。ただし、本発明はこれに限定されず、各変換セットは、複数個の変換で構成されることができる。
【０２０１】
図１３は、本発明が適用される実施形態として、ギボンズ回転（Givens rotation）の計算フロー図を示す。
【０２０２】
他の実施形態として、前記Ｎｓｓｔは１次変換されたブロック全体に対して適用されるものではなく左上側（top-left）８ｘ８領域にのみ適用されることができる。例えば、ブロックのサイズが８ｘ８以上の場合は、８ｘ８ Ｎｓｓｔが適用され、８ｘ８未満の場合は、４ｘ４ Ｎｓｓｔが適用されるが、この時、４ｘ４ブロックに分割後、それぞれ４ｘ４ Ｎｓｓｔが適用される。
【０２０３】
他の実施形態として、４ｘＮ / Ｎｘ４（Ｎ> ＝ １６）である場合にも、４ｘ４ Ｎｓｓｔが適用されることができる。
【０２０４】
８ｘ８ Ｎｓｓｔと４ｘ４ Ｎｓｓｔとも本文書で説明する変換の組み合わせの構成に従い、非分離変換（non-separable transform）であるため、８ｘ８ Ｎｓｓｔは６４個のデータの入力を受け、64個のデータを出力し、４ｘ４ Ｎｓｓｔは、１６個の入力と１６つの出力を有する。
【０２０５】
８ｘ８ Ｎｓｓｔと４ｘ４ Ｎｓｓｔともギボンズ回転（Givens rotation）の階層的な組み合わせで構成される。一つのギボンズ回転（Givens rotation）に該当する行列は次の数式４のようであり、行列積は次の数式５の通りである。
【０２０６】
【数４】
2021517796.tif 000004
【０２０７】
【数５】
2021517796.tif 000005
【０２０８】
前記図１３のように、一つのギボンズ回転（Givens rotation）は、2つのデータを回転させるものであるから、６４個（８ｘ８ NSSTの場合）または16個の（４ｘ４ NSSTの場合）のデータを処理するためには、それぞれ総32個または8つのギボンズ回転（Givens rotation）が必要である。
【０２０９】
したがって、３２個または８個を束にしてギボンズ回転層（Givens rotation layer）をなす。１つのギボンズ回転層の出力データが決まった置換（permutation）を次のギボンズ回転層への入力データで伝達される。
【０２１０】
図１４は、本発明が適用される実施形態として、ギボンズ回転層（Givens rotation layer）と置換（permutation）で構成された４ｘ４ Ｎｓｓｔでの１ラウンド構成を示す。
【０２１１】
前記図１4を注意深く見ると、４ｘ４ Ｎｓｓｔの場合について、４つのギボンズ回転層が順次処理される様子を示している。前記図１4のようにしたギボンズ回転層の出力データが決まった置換（i.e. shuffling）を経て、次のギボンズ回転層の入力データとして伝達される。
【０２１２】
前記図１4のように置換されるパターンは、規則的に決まっており、４ｘ４ Ｎｓｓｔの場合は、４つのギボンズ回転層とその置換を合わせて一つのラウンド（round）をなす。
【０２１３】
８ｘ８ Ｎｓｓｔの場合は、６つのギボンズ回転層とその置換が一つのラウンドを形成する。 ４ｘ４ Ｎｓｓｔは2番のラウンドを経され、８ｘ８ Ｎｓｓｔは4番のラウンドを経ることになる。互いに異なるラウンド同士は同じ置換パターンを用いるが適用されるギボンズ回転角度は、それぞれ異なる。したがって、各変換を構成するすべてのギボンズ回転の角度データを保存しなければならない。
【０２１４】
最後のステップでギボンズ回転層を経て出力されたデータに対して、最終的に一度の置換をさらに行うようになり、その置換情報は、変換ごとに別に保存されている。順方向NSSTで最後にその置換が行われ、逆NSSTでは逆に、最初に、その逆置換が適用される。
【０２１５】
逆方向Ｎｓｓｔの場合は、順方向Ｎｓｓｔで適用されたギボンズ回転層と置換を逆順で実行するとよい、各ギボンズ回転の角度にも（ - ）の値をとって回転させる。
【０２１６】
図１５は、本発明が適用される実施形態として、順方向縮小変換（forward reduced transform）と逆方向縮小変換（forward reduced transform）の動作を説明するためのブロック図である。
【０２１７】
Reduced Secondary Transform（ＲＳＴ）
【０２１８】
１つの変換を示す直交行列がＮｘＮの形態を有するとしたとき、縮小変換（Reduced Transform、以下「ＲＴ」という）は、Ｎ個の変換基底ベクトルの内、Ｒ個だけ残すものである（Ｒ <Ｎ）。変換係数を生成する順方向ＲＴの行列は、以下の式６のように与えられる。
【０２１９】
【数６】
2021517796.tif 000006
【０２２０】
逆方向ＲＴの行列は、順方向ＲＴ行列の転置行列（transpose matrix）となるので、順方向ＲＴと逆方向ＲＴの適用を図示すると、前記図１５のようである。
【０２２１】
１次変換を経た変換ブロックの左上端８ｘ８ブロックのＲＴを適用する場合を仮定すると、前記ＲＴを８ｘ８縮小２次変換（８ｘ８ ＲＳＴ）と命名することができる。
【０２２２】
前記数式６でのＲ値を１６とするとき、順方向８ｘ８ ＲＳＴは１６ｘ６４行列の形を有し、逆方向８ｘ８ ＲＳＴは６４ｘ１６行列の形を有する。
【０２２３】
また、８ｘ８ ＲＳＴにも、前記図１２と同じ変換セットの構成を適用することができる。すなわち、前記図１２での変換セットに基づいて対応する８ｘ８ ＲＳＴが適用されることができる。
【０２２４】
一実施形態として、前記図１２で１つの変換セットがイントラ予測モードに応じて、２つまたは３つの変換で構成されているときに、２次変換を適用しない場合を含めて、最大４つの変換のうちの一つを選択するように構成されることができる。ここで、１つの変換は、恒等行列と見ることができる。
【０２２５】
前記４つの変換に対して、それぞれ０、１、２、３のインデックスを付与するとき、Ｎｓｓｔインデックスという構文要素（syntax element）を変換ブロックごとにシグナリングして対応する変換を指定することができる。即ち、Ｎｓｓｔインデックスを介して８ｘ８左上端ブロックについて、Ｎｓｓｔの場合は８ｘ８ Ｎｓｓｔを指定することができ、ＲＳＴの構成では８ｘ８ RSTを指定することができる。また、このとき、０番インデックスを恒等行列、すなわち２次変換を適用していない場合に割り当てることができます。
【０２２６】
前記数式６のような順方向８ｘ８ ＲＳＴを適用すると、１６個の有効な変換係数が生成されるので、８ｘ８の領域を構成する６４個の入力データが１６個の出力データに縮小されると見ることができる。  ２次元領域の観点から見ると、１/４ほどの領域にのみ有効な変換係数が満たされるようになる。したがって、順方向８ｘ８ ＲＳＴを適用して得られた１６個の出力データを図１６での４ｘ４左上端の領域に満たされる。
【０２２７】
図１６は、本発明が適用される実施形態として、逆方向スキャン順に基づいて６４番目から１７番目までの逆方向スキャンを実行する過程を示す図である。
【０２２８】
前記図１６は、順方向スキャン順が１から始まるとするとき、（順方向スキャン順上）１７番目の係数から６４番目の係数のスキャンを実行することを示す。ただし、前記図１６では、逆スキャンを示しているところ、これは６４番目から１７番目までの逆方向スキャンを実行することを示す。
【０２２９】
前記図１６を注意深く見ると、左上端４ｘ４の領域が有効な変換係数が割り当てられる関心領域（Region Of Interest、ＲＯＩ）であり、残りの領域は空になる。すなわち、前記残りの領域には、０の値がデフォルトで割り当てられることができる。
【０２３０】
もし、前記図１６のＲＯＩ領域以外０でない有効な変換係数が存在すると８ｘ８ ＲＳＴが適用されないことを意味するので、この場合、それに対応するＮｓｓｔインデックスコーディングを省略することができる。
【０２３１】
逆に、前記図１６のＲＯＩ領域以外で０でない変換係数が存在しない場合（８ｘ８ ＲＳＴが適用される場合、ＲＯＩ以外の領域に対しては、０に割り当てられたとき）８ｘ８ ＲＳＴが適用された可能性があるので、Ｎｓｓｔインデックスをコーディングすることができる。
【０２３２】
このように、条件付きＮｓｓｔインデックスコーディングは０（ゼロ）ではない、変換係数の存在の有無を確認しなければならないのでレジデュアルコーディング過程の後に実行されることができる。
【０２３３】
本発明は、ＲＳＴ構造から４ｘ４ブロックに適用することができるＲＳＴの設計と関連最適化の方法を扱っている。本明細書に記載された実施形態は、４ｘ４ ＲＳＴだけでなく、８ｘ８ ＲＳＴまたは他の形態の変換にも適用することができる。
【０２３４】
図１７は、本発明が適用される実施形態として、変換係数ブロック（変換ブロック）の３つの順方向スキャンの順を示す。
【０２３５】
実施形態１：４ｘ４ブロックに適用することができるＲＳＴ
【０２３６】
一つの ４ｘ４ブロックに適用することができる非分離変換（non-separable transform）は１６ｘ１６変換である。即ち、４ｘ４ブロックを構成するデータ要素を行優先（row-first）または列優先（column-first）の順で並べ配置されると、１６ｘ１ベクトルになって非分離変換を適用することができる。
【０２３７】
順方向1６ｘ１６変換は、１６個の行（row）方向変換基底ベクトルで構成され、前記１６ｘ１ベクトルと各変換基底ベクトルに対して内積（inner product）を適用すると、変換基底ベクトルの変換係数を得ることになる。 １６個の変換基底ベクトルに対してすべて対応する変換係数を得る過程は、１６ｘ１６非分離変換行列と前記入力１６ｘ１ベクトルを乗算するのと同じである。
【０２３８】
行列積に得られる変換係数は、１６ｘ１ベクトルの形を有するが、変換係数ごとに統計的特性が異なることがある。たとえば、１６ｘ１変換係数ベクトルが０番目の要素から１５番目の要素で構成されたとしたとき、０番目の要素の分散は、１５番目の要素の分散より大きいことができる。即ち、前に位置した要素であるほどその分散値が大きくて、大きなエネルギーの値を有することができる。
【０２３９】
１６ｘ１変換係数から逆方向１６ｘ１６非分離変換を適用すると、元の４ｘ４ブロック信号を復元することができる。順方向1６ｘ１６非分離変換が正規直交変換（orthonormal transform）であれば、その逆方向１６ｘ１６変換は順方向１６ｘ１６変換の転置行列を介して獲得することができる。
【０２４０】
逆方向１６ｘ１６非分離変換行列と１６ｘ１変換係数ベクトルとの積により、１６ｘ１ベクトル形態のデータを獲得し、最初に適用した行優先（row-first）または列優先（column-first）の順で配列してくれれば４ｘ４ブロック信号を復元することができる。
【０２４１】
前述したように、１６ｘ１変換係数ベクトルをなす要素は、それぞれ統計的特性が異なることがある。
【０２４２】
前方に配置された（０番目の要素と近い）変換係数がさらに大きなエネルギーを有すると、すべての変換係数を使用せずに、最初に登場する一部の変換係数に逆方向変換を適用しても、元の信号とかなり近い信号を復元することができる。例えば、逆方向１６ｘ１６非分離変換が１６個の列基底ベクトル（column basis vector）で構成されるとしたとき、Ｌ個の列基底ベクトルだけを残し１６ｘＬ行列を構成することができる。また、変換係数の内、重要なＬ個の変換係数だけを残した後、（Ｌｘ１ベクトル）、１６ｘＬ行列とＬｘ１ベクトルを乗算すると、元の入力１６ｘ１ベクトルデータと誤差が大きくない１６ｘ１ベクトルを復元することができる。
【０２４３】
結果的に、Ｌ個の係数だけがデータの復元に用いられるので、変換係数を得るときも１６ｘ１変換係数ベクトルがなく、Ｌｘ１変換係数ベクトルを求めるになる。即ち、順方向１６ｘ１６非分離変換行列でＬ個の行（row）方向変換ベクトルを選んでＬｘ１６変換を構成した後１６ｘ１入力ベクトルを乗算すると、重要なＬ個の変換係数を得ることができる。
【０２４４】
Ｌ値は、１≦Ｌ<１６の範囲を有するようになり、一般的には、１６個の変換基底ベクトルの内、任意の方法でＬ個を選択することができるが、符号かと復号化の観点では、信号のエネルギー側面で重要度が高い変換基底ベクトルを選択することが符号化効率の観点から有利で有り得る。
【０２４５】
実施形態２：４ｘ４ ＲＳＴの適用領域の設定と変換係数の配置
【０２４６】
４ｘ４ ＲＳＴは２次変換に適用されることができ、この時、ＤＣＴ−ｔｙｐｅ  ２などの１次変換（primary transform）が適用されたブロックに対して２次的に適用することができる。 １次変換が適用されたブロックのサイズをＮｘＮとするとき、一般的に１次変換が適用されたブロックの大きさは、４ｘ４より大きい。したがって、４ｘ４ ＲＳＴを前記ＮｘＮブロックに適用するときは、次の２つの方法があることができる。
【０２４７】
実施形態２−１）ＮｘＮ領域に対し全て４ｘ４ ＲＳＴを適用するのではなく、一部の領域にのみ適用することができる。例えば、左上側ＭｘＭ領域に対してのみ適用することができる（Ｍ≦Ｎ）。
【０２４８】
実施形態２−２）、２次変換が適用される領域を４ｘ４ブロックに分割した後、各分割されたブロックの４ｘ４ ＲＳＴを適用することができる。
【０２４９】
一実施形態として、前記実施形態２−１）と２−２）を混合して適用することもできる。例えば、左上側ＭｘＭ領域についてのみ４ｘ４ブロックに分割した後、４ｘ４ ＲＳＴを適用することができる。
【０２５０】
一実施形態として、左上側８ｘ８の領域にのみ２次変換を適用し、ＮｘＮ部ロックが８ｘ８より同じか大きい場合には、８ｘ８ ＲＳＴを適用し、ＮｘＮブロックが８ｘ８より小さい場合（４ｘ４、８ｘ４、４ｘ８）には、前記実施形態２−２）番のように４ｘ４ブロックに分割し、それぞれ４ｘ４ ＲＳＴを適用することができる。また、４ｘＮ / Ｎｘ４（Ｎ> ＝ １６）である場合にも、４ｘ４ ＲＳＴが適用されることができる。
【０２５１】
４ｘ４ ＲＳＴを適用した後、Ｌ個（１≦Ｌ<１６）の変換係数が生成されたとき、前記Ｌ個の変換係数をどのように配置するかの自由度が生じる。しかし、レジデュアルコーディング（residual coding）段階で変換係数を処理する際に決まれた順が存在するので、前記Ｌ個の変換係数を２次元ブロックにどのように配置するかに応じて、コーディング性能が変わることができる。
【０２５２】
例えば、ＨＥＶＣのレジデュアルコーディングの場合ＤＣの位置から最も遠い位置からコーディングを開始する。これはＤＣ位置から遠く離れるほど量子化を経た係数の値が０であるが０に近いという事実を用いて、コーディング性能を向上させるためである。
【０２５３】
したがって、前記Ｌ個の変換係数にも高いエネルギーを有するより重要な係数をレジデュアルコーディングの順上後でコーディングされるように配置することがコーディング性能面で有利で有り得る。
【０２５４】
図１７は、ＨＥＶＣで適用されている４ｘ４変換ブロック（Coefficient Group（ＣＧ））単位の３つの順方向スキャンの順を示す。レジデュアルコーディングにおいては、前記図１７のスキャン順の逆に従う（即ち、１６から１の順でコーディングする）。
【０２５５】
前記図１７で提示する３つのスキャン順はイントラ予測モードに応じて選択されるので、本発明は、前記Ｌ個の変換係数に対しても同様にイントラ予測モードに応じてスキャン順を決定するように構成することができる。
【０２５６】
図１８は、本発明が適用される実施形態として、左上側４ｘ８ブロックで対角スキャン（diagonal scan）が適用され４ｘ４ ＲＳＴが適用されたとき、有効な変換係数の位置と４ｘ４ブロック別順方向スキャン順を示す。
【０２５７】
前記図１７での対角スキャン（diagonal scan）の順を従って左上側４ｘ８ブロックを４ｘ４ブロックに分割して、それぞれ４ｘ４ ＲＳＴを適用するとき、Ｌの値が８であれば（即ち、１６個の内、８個の変換係数だけを残した場合）、前記図１８のように変換係数が位置することができる。
【０２５８】
各４ｘ４ブロックの半分だけが変換係数を有することができ、Ｘが表示された位置には、デフォルトで０の値が割り当てることができる。
【０２５９】
したがって、前記図１７で示したスキャン順に従ってＬ個の変換係数を各４ｘ４ブロックに対し配置させ、各４ｘ４ブロックの残り（１６ − Ｌ）の位置に対しては０で満たされることを仮定してレジデュアルコーディングを適用することができる。
【０２６０】
図１９は、本発明が適用される実施形態として、左上側４ｘ８ブロックで対角スキャン（diagonal scan）が適用され４ｘ４ ＲＳＴが適用されたときに２ ４ｘ４ブロックの有効な変換係数を一つの４ｘ４ブロックに合わせる場合を示す。
【０２６１】
前記図１９を注意深く見ると、２つの４ｘ４ブロックに配置させたＬ個の変換係数を一つに合わせることができる。特にＬの値が８である場合、２つの４ｘ４ブロックの変換係数が一つの４ｘ４ブロックを完全に満たしながら合わせられるので、他の一つの４ｘ４ブロックにはどのような変換係数も残っていないことになる。
【０２６２】
したがって、このように空になった４ｘ４ブロックについては、ほとんどのレジデュアルコーディングが不要であるので、対応するcoded_sub_block_flagを０にコーディングすることができる。
【０２６３】
また、本発明の一実施形態として、２つの４ｘ４ブロックの変換係数をどのように混在させるかについても様々な方式が適用されることができる。任意の順に沿って合わせることもあるが、本発明は、次のような方法を提供することができる。
【０２６４】
1) ２つの４ｘ４ブロックの変換係数をスキャン順に交互に混ぜる。すなわち、前記図１８で上側ブロックの変換係数を
2021517796.tif 000007
とし、下側のブロックの変換係数を
2021517796.tif 000008
とするとき、
2021517796.tif 000009
のように一つずつ交互に混合することができる。または、
2021517796.tif 000010
と
2021517796.tif 000011
の順を変えることもできる。即ち
2021517796.tif 000012
が先に出るように設定することができる。
【０２６５】
2) 最初の４ｘ４ブロックの変換係数を最初に配置させ続いて第二の４ｘ４ブロックの変換係数を配置させることができる。即ち、
2021517796.tif 000013
のように接続して配置することができる。または、
2021517796.tif 000014
のように順を変更することもできる。
【０２６６】
実施形態３：４ｘ４ ＲＳＴのＮＳＳＴインデックスをコーディングする方法
【０２６７】
前記図１８のように４ｘ４ ＲＳＴが適用されると、各４ｘ４ブロックの変換係数のスキャン順によって、Ｌ ＋ １番目から１６番目までは０値が満たすことができる。
【０２６８】
したがって、もし２つの４ｘ４ブロックの内、いずれか１つであっても、Ｌ ＋ １番目から１６番目の位置の内、０でない値が発生した場合、４ｘ４ ＲＳＴが適用されない場合と分かるようになる。
【０２６９】
４ｘ４ ＲＳＴもＮｓｓｔのように用意された変換のセットの内から１つを選択して適用する構造を有するならば、どのような変換を適用するかの変換インデックス（本実施形態においては、Ｎｓｓｔインデックスと命名することができる）をシグナリングすることができる。
【０２７０】
もし、あるデコーダでＮｓｓｔインデックスをビットストリーム解析を通じて知ることができるとして、このような解析をレジデュアルデコーディングの後に実行するとしましょう。
【０２７１】
もし、 レジデュアルデコーディングが行われ、Ｌ ＋ １番目から１６番目の間に０でない変換係数が一つでも存在することが確認されれば、４ｘ４ ＲＳＴは適用されないので、Ｎｓｓｔインデックスを解析しないように設定することができる。
【０２７２】
したがって、必要な場合にのみＮｓｓｔインデックスを選択的に解析するようになりシグナリングコストを削減することができる。
【０２７３】
前記図１８のように、特定領域内で複数個の４ｘ４ブロックの４ｘ４ ＲＳＴが適用されるとすれば（例えば、すべて同じ４ｘ４ ＲＳＴが適用されることもあり、各々異なる４ｘ４ ＲＳＴが適用されることもある）、１つのＮｓｓｔインデックスを介して前記すべての４ｘ４ブロックに適用される４ｘ４ ＲＳＴが指定されることができる。この場合、同じ４ｘ４ ＲＳＴが指定されることもあり、またはすべての４ｘ４ブロックのそれぞれに適用される４ｘ４ ＲＳＴが指定されることができる。
【０２７４】
一つのＮｓｓｔインデックスにより前記すべての４ｘ４ブロックの４ｘ４ ＲＳＴ及び適用するかどうかが決定されるので、前記すべての４ｘ４ブロックに対して、Ｌ ＋ １番目から１６番目までの位置で、０でない変換係数が存在するかどうかレジデュアルデコード過程中に確認することができる。確認の結果、１つの４ｘ４ブロックでも許容されない位置に（Ｌ ＋ １番目から１６番目までの位置）、０でない変換係数が存在することになるとＮｓｓｔインデックスをコーディングしないように構成することができる。
【０２７５】
Ｎｓｓｔインデックスはルマブロックとクロマブロックについて別々にシグナリングすることもあり、クロマブロックの場合ＣｂとＣｒに対してそれぞれ別々のＮｓｓｔインデックスをシグナリングすることもでき、一つのＮｓｓｔインデックスを共有することもできる。
【０２７６】
ＣｂとＣｒの１つのＮｓｓｔインデックスを共有する場合は、同じＮｓｓｔインデックスが指定する４ｘ４ ＲＳＴが適用されることができる。この場合、ＣｂとＣｒの４ｘ４ ＲＳＴ自体が同じであることもあり、Ｎｓｓｔインデックスは同じであるが、個々の４ｘ４ ＲＳＴを有することもある。
【０２７７】
共有Ｎｓｓｔインデックスに対して、前述した条件付きシグナリングを適用するには、ＣｂとＣｒのすべての４ｘ４ブロックに対して、Ｌ ＋ １番目から１６番目までの０でない変換係数が存在することを確認して、もし０でない変換係数が存在するとＮｓｓｔインデックスのシグナリングしないように構成することができる。
【０２７８】
前記図１９のように、２つの４ｘ４ブロックの変換係数を合わせる場合に対しても、４ｘ４ ＲＳＴが適用されたとき、有効な変換係数が存在しない位置に０でない変換係数が存在するかどうか確認した後Ｎｓｓｔインデックスがシグナリングするかどうかを決定することができる。
【０２７９】
例えば、前記図１９（ｂ）に示すようにＬ値が８であるから４ｘ４ ＲＳＴ適用時１つの４ｘ４ブロックに対しては、有効な変換係数が存在しない場合（Ｘで表示されたブロック）、有効変換係数が存在しないブロックのcoded_sub_block_flagを確認することができる。このとき、coded_sub_block_flagが１であるとＮｓｓｔインデックスをシグナリングしないように設定することができる。
【０２８０】
実施形態４：Ｎｓｓｔインデックスのコーディングをレジデュアルコーディングの前に実行する場合の最適化方法
【０２８１】
Ｎｓｓｔインデックスのコーディングをレジデュアルコーディングの前に実行する場合、４ｘ４ ＲＳＴの適用をするかどうかが予め決定されるため、変換係数が０に割り当てられる位置にたいしては、レジデュアルコーディングを省略することができるようになる。
【０２８２】
ここで、４ｘ４ ＲＳＴ適用するかどうかは、Ｎｓｓｔインデックスを介して分かるように構成することができる。たとえば、Ｎｓｓｔインデックスが０であると、４ｘ４ ＲＳＴが適用しない。
【０２８３】
または別の構文（syntax）要素（e.g. Ｎｓｓｔ flag）を介してシグナリングすることもできる。たとえば、別の構文要素がＮｓｓｔ flagといえばＮｓｓｔ flagを先に解析して４ｘ４ ＲＳＴ適用をするかどうかを把握した後、仮にＮｓｓｔ flagの値が１であると、有効な変換係数が存在することができない位置には、レジデュアルコーディングを省略することができる。
【０２８４】
一実施形態として、レジデュアルコーディングを実行する際ＴＵ上での最後の０でない変換係数の位置を最初にコーディングすることになる。仮に、Ｎｓｓｔインデックスのコーディングを最後０でない変換係数の位置（last non-zero transform coefficient）のコーディングの後に実行し、最後の０でない変換係数の位置が４ｘ４ ＲＳＴの適用を想定したとき、０でない変換係数（non-zero transform coefficient）が発生することができない位置と判明された場合、Ｎｓｓｔインデックスをコーディングせずに４ｘ４ ＲＳＴを適用しないように構成することができる。
【０２８５】
例えば、前記図１８のＸで表示された位置の場合４ｘ４ ＲＳＴが適用されたとき、有効な変換係数が位置しないので、（eg ０の値などが満たすことができる）、Ｘで表示された領域に最後の０でない変換係数が位置するようになると、Ｎｓｓｔインデックスのコーディングを省略することができる。仮にＸで表示された領域に最後の０でない変換係数が位置しなければ、Ｎｓｓｔインデックスのコーディングを行うことができる。
【０２８６】
一実施形態として、最後の０でない変換係数の位置のコーディングの後に条件的にＮｓｓｔインデックスをコーディングして４ｘ４ ＲＳＴに適用するかどうかを確認する場合、残りのレジデュアルコーディング部分は、以下の２つの方式を用いて、処理されることができる。
【０２８７】
１）４ｘ４ ＲＳＴを適用していない場合には、一般的なレジデュアルコーディングをそのまま維持する。即ち、最後の０でない変換係数の位置からＤＣまでのどの位置でも０ではない変換係数が存在することができるという仮定の下でコーディングを行う。
【０２８８】
２）４ｘ４ ＲＳＴを適用する場合、特定位置または特定４ｘ４ブロックに対しては、変換係数が存在しないため（eg、前記図１８のＸ位置、デフォルトで０に満たすことができる）、対応する位置またはブロックには、レジデュアルコーディングをしないことができる。
【０２８９】
例えば、前記図１８のＸで表示された位置に到達する場合はsig_coeff_flagのコーディングを省略することができる。ここで、sig_coeff_flagは対応する位置に０でない変換係数が存在するかどうかのフラグを意味する。
【０２９０】
前記図１９のように ２つのブロックの変換係数を合わせる場合は、０に割り当てられた４ｘ４ブロックについては、coded_sub_block_flagのコーディングを省略して対応する値を０に誘導することができ、対応する４ｘ４ブロックについては、別途コーディングなしすべて０の値に誘導することができる。
【０２９１】
最後０でない変換係数の位置のコーディングの後にＮｓｓｔインデックスをコーディングする場合、最後の０でない変換係数のｘ位置（Ｐｘ）とｙの位置（Ｐｙ）がそれぞれＴｘ、Ｔｙより小さいときＮｓｓｔインデックスコーディングを省略し４ｘ４ ＲＳＴを適用しないように構成することができる。
【０２９２】
例えば、Ｔｘ ＝ １、Ｔｙ ＝ １の場合は、最後の０でない変換係数がＤＣ位置に存在する場合に対しては、Ｎｓｓｔインデックスコーディングを省略するとすることを意味する。
【０２９３】
このようなしきい値との比較を通じて、Ｎｓｓｔインデックスコーディングするかどうかを決定する方式は、ルマとクロマにそれぞれ異なるように適用することができる。例えば、ルマとクロマに各々異なるＴｘ、Ｔｙを適用することもあり、ルマには、しきい値を適用しクロマには適用しないこともある。またはその逆の場合も可能である。
【０２９４】
前述した２つの方法、すなわち、第一の最後の０でない変換係数が有効な変換係数が存在しない領域に位置する場合、Ｎｓｓｔインデックスコーディング省略する方法、第二に、最後０でない変換係数のＸ座標とＹ座標がそれぞれあるしきい値より小さいときＮｓｓｔインデックスコーディングを省略する方法を共に適用することもできる。
【０２９５】
たとえば、最後の０でない変換係数の位置座標のしきい値を先に確認した後、最後の０でない変換係数が有効な変換係数が存在しない領域に位置するかどうかを確認することができる。または順を変更することもできる。
【０２９６】
本実施形態４で提示する方法は、８ｘ８ ＲＳＴにも適用することができる。即ち、最後の０でない変換係数が左上側８ｘ８領域内で左上側４ｘ４でない領域に位置するようになればＮｓｓｔインデックスコーディングを省略することができ、そうでない場合はＮｓｓｔインデックスコーディングを行うことができる。
【０２９７】
また、最後の０でない変換係数の位置のＸ、Ｙ座標の値がすべてしきい値未満の場合Ｎｓｓｔインデックスのコーディングを省略することができる。または、２つの方法を一緒に適用することもできる。
【０２９８】
実施形態５：ＲＳＴ適用時ルマとクロマの各々異なるＮｓｓｔインデックスコーディング及びレジデュアルコーディング方式を適用
【０２９９】
前記実施形態３と実施形態４に記術された方式をルマとクロマにそれぞれ異なるように適用することができる。即ち、ルマとクロマのＮｓｓｔインデックスコーディングとレジデュアルコーディング方式を異なるように適用することができる。
【０３００】
例えば、ルマは前記実施形態４の方式を適用し、クロマは前記実施形態３の方式を適用することができる。またはルマは、前記実施形態３または実施形態４に提示され条件付きＮｓｓｔインデックスコーディングを適用し、クロマは条件付きＮｓｓｔインデックスコーディングを適用しないことがある。またはその逆も可能である。
【０３０１】
図２０は、本発明が適用される実施形態として、縮小された２次変換（Reduced Secondary Transform、ＲＳＴ）に基づいて、ビデオ信号をエンコードするフローチャートを示す。
【０３０２】
エンコーダは、現在ブロックの予測モード、ブロックの形状及び/またはブロックサイズの内、少なくとも一つに基づいて、順方向の２次変換を決定（または選択）することができる（Ｓ２０１０）。この時、前記順方向２次変換の候補は、前記図６及び/または図１２の実施形態の内、少なくとも一つを含むことができる。
【０３０３】
前記エンコーダは、ＲＤ最適化（Rate Distortion optimization）を介して、最適の順方向２次変換を決定することができる。前記最適の順方向２次変換は、複数個の変換の組み合わせの内、一つに対応することができ、前記複数個の変換の組み合わせは、変換インデックスによって定義することができる。たとえば、ＲＤ最適化のために、各候補の順方向２次変換、量子化、レジデュアルコーディングなどをすべて実行した結果を比較することができる。このとき、cost = rate ＋λ・distortionまたはcost = distortion ＋λ・rateなどの修飾が用いられることがあるが、本発明はこれに限定されない。
【０３０４】
前記エンコーダは、前記最適の順方向２次変換に対応する２次変換インデックスをシグナリングすることができる（Ｓ２０２０）。ここで、前記２次変換インデックスは、本明細書で説明した他の実施形態が適用されることができる。
【０３０５】
例えば、 前記２次変換インデックスは、前記図１２の変換セットの構成を適用することができる。一つの変換のセットは、イントラ予測モードに応じて、２つまたは３つの変換で構成されているので、２次変換を適用していない場合も含めて、最大４つの変換の内、１つを選択するように構成されることができる。 ４つの変換に対して、それぞれ０、１、２、３のインデックスを付与するとしたとき、前記２次変換インデックスを変換係数ブロックごとにシグナリングして適用される変換を指定することができる。このとき、０番インデックスを恒等行列、すなわち２次変換を適用していない場合に割り当てることができます。
【０３０６】
他の一実施形態として、前記２次変換インデックスのシグナリングは、１）レジデュアルコーディング前、２）レジデュアルコーディング中間（最後の０でない変換係数の位置コーディング後）、または３）レジデュアルコーディング後のいずれか１つの段階で実行されることができる。前記実施形態を具体的に説明すると、次の通りである。
【０３０７】
1) レジデュアルコーディング前に２次変換インデックスをシグナリングする方法
エンコーダは、順方向の２次変換を決定することができる。
【０３０８】
前記エンコーダは、前記順方向２次変換に対応する２次変換インデックスをコーディングすることができる。
【０３０９】
前記エンコーダは、最後の０でない変換係数の位置をコーディングすることができる。
【０３１０】
前記エンコーダは、最後の０でない変換係数の位置以外の構文要素のレジデュアルコーディングを行うことができる。
【０３１１】
2) レジデュアルコーディング中間に２次変換インデックスをシグナリングする方法
【０３１２】
エンコーダは、順方向の２次変換を決定することができる。
【０３１３】
前記エンコーダは、最後の０でない変換係数の位置をコーディングすることができる。
【０３１４】
前記最後の０でない変換係数が特定領域に位置しない場合に、前記エンコーダは、前記順方向２次変換に対応する２次変換のインデックスをコーディングすることができる。ここで、前記特定領域は縮小された２次変換が適用される場合、スキャン順によって変換係数を配置したとき、０でない変換係数が存在することができる位置を除外した残りの領域を示す。ただし、本発明はこれに限定されない。
【０３１５】
前記エンコーダは、前記最後の０でない変換係数の位置以外の構文（syntax）要素のレジデュアルコーディングを行うことができる。
【０３１６】
３）レジデュアルコーディングの後に２次変換インデックスをシグナリングする方法
【０３１７】
エンコーダは、順方向２次変換を決定することができる。
【０３１８】
前記エンコーダは、最後の０でない変換係数の位置をコーディングすることができる。
【０３１９】
前記最後の０でない変換係数が特定領域に位置しない場合に、前記エンコーダは、前記最後の０でない変換係数の位置以外の構文要素のレジデュアルコーディングを行うことができる。ここで、前記特定領域は縮小された２次変換が適用される場合、スキャン順によって変換係数を配置したとき、０でない変換係数が存在することができる位置を除外した残りの領域を示す。ただし、本発明はこれに限定されない。
【０３２０】
前記エンコーダは、前記順方向２次変換に対応する２次変換インデックスをコーディングすることができる。
【０３２１】
一方、前記エンコーダは、現在ブロック（レジデュアルブロック）について順方向１次変換を実行することができる（Ｓ２０３０）。ここで、前記順方向１次変換は、前記S２０１０段階及び/またはＳ２０２０段階が類似に適用することができる。
【０３２２】
前記エンコーダは、前記最適の順方向二次変換を用いて前記現在ブロックの順方向２次変換を実行することができる（Ｓ２０４０）。例えば、前記最適の順方向２次変換は、縮小された２次変換で有り得る。前記縮小された２次変換は、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクトル）が入力されてＬ個（Ｌ <Ｎ）の変換係数データ（Ｌｘ１変換係数ベクトル）が出力される変換を意味する。
【０３２３】
一実施形態として、前記縮小された２次変換は、前記現在ブロックの特定領域に適用することができる。例えば、前記現在ブロックがＮｘＮの時、前記特定領域は、左上側Ｎ/２ｘＮ/２の領域を意味することができる。しかし、本発明はこれに限定されず、予測モード、ブロックの形状、またはブロックサイズの内、少なくとも一つに基づいて異なるように設定することができる。例えば、前記現在ブロックがＮｘＮの時、前記特定領域は、左上側ＭｘＭ領域（Ｍ≦Ｎ）を意味することができる。
【０３２４】
一方、前記エンコーダは、前記現在ブロックの量子化を行うことにより、変換係数ブロックを生成することができる（Ｓ２０５０）。
【０３２５】
前記エンコーダは、前記変換係数ブロックに対してエントロピーエンコーディングを行い、ビットストリームを生成することができる。
【０３２６】
図２１は、本発明が適用される実施形態として、縮小された２次変換（Reduced Secondary Transform、ＲＳＴ）に基づいて、ビデオ信号をデコードするフローチャートを示す。
【０３２７】
デコーダは、ビットストリームから２次変換のインデックスを獲得することができる（Ｓ２１１０）。ここで、前記２次変換インデックスは、本明細書で説明した他の実施形態が適用されることができる。例えば、前記２次変換インデックスは、前記図６及び/または図１２の実施形態の内、少なくとも一つを含むことができる。
【０３２８】
他の一実施形態として、前記２次変換インデックスの獲得段階は、１）レジデュアルデコーディング前、２）レジデュアルデコーディング中間（最後の０でない変換係数の位置デコード後）、または３）レジデュアルデコーディングの後のいずれか一つの段階で実行されることができる。
【０３２９】
前記デコーダは、前記２次変換インデックスに対応する２次変換を誘導することができる（Ｓ２１２０）。この時、前記２次変換の候補は、前記図６及び/または図１２の実施形態の内、少なくとも一つを含むことができる。
【０３３０】
ただし、前記Ｓ２１１０とＳ２１２０のステップは、一実施形態であり、本発明はこれに限定されない。例えば、前記デコーダは、前記２次変換のインデックスを獲得せずに、現在ブロックの予測モードで、ブロックの形状及び/またはブロックサイズの内、少なくとも一つに基づいて、２次変換を誘導することができる。
【０３３１】
一方、前記デコーダは、前記ビットストリームをエントロピーデコードして変換係数ブロックを獲得し、前記変換係数ブロックに対して逆量子化を行うことができる（Ｓ２１３０）
【０３３２】
前記デコーダは、前記逆量子化された変換係数ブロックに対して逆方向２次変換を実行することができる（Ｓ２１４０）。例えば、前記逆方向２次変換は、縮小された２次変換で有り得る。前記縮小された２次変換は、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクトル）が入力されてＬ個（Ｌ<Ｎ）の変換係数データ（Ｌｘ１変換係数ベクトル）が出力される変換を意味する。
【０３３３】
一実施形態として、前記縮小された２次変換は、現在ブロックの特定領域に適用することができる。例えば、前記現在ブロックがＮｘＮの時、前記特定領域は、左上側Ｎ/２ｘＮ/２の領域を意味することができる。しかし、本発明はこれに限定されず、予測モード、ブロックの形状、またはブロックサイズの内、少なくとも一つに基づいて異なるように設定することができる。例えば、前記現在ブロックがＮｘＮの時、前記特定領域は、左上側ＭｘＭ領域（Ｍ≦Ｎ）またはＭｘＬ（Ｍ≦Ｎ、Ｌ≦Ｎ）を意味することができる。
【０３３４】
そして、前記デコーダは、前記逆方向２次変換された結果の逆方向１次変換を実行することができる（Ｓ２１５０）。
前記デコーダは、Ｓ２１５０段階を介してレジデュアルブロックを生成し、前記レジデュアルブロックと予測ブロックが加わり、復元ブロックが生成される。
【０３３５】
図２２は、本発明が適用される実施形態として、コンテンツストリーミングシステム構造図を示す。
【０３３６】
図２２に示すように、本発明が適用されるコンテンツストリーミングシステムは、大きくエンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含む。
【０３３７】
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割を果たす。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されてもよい。
【０３３８】
前記ビットストリームは、本発明が適用されるエンコード方法又はビットストリーム生成方法により生成され、前記ストリーミングサーバは、前記ビットストリームを送信又は受信する過程で一時的に前記ビットストリームを格納することができる。
【０３３９】
前記ストリーミングサーバは、ウェブサーバに介するユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介の役割を果たす。ユーザが前記ウェブサーバにご希望のサービスを要求すると、前記ウェブサーバはこれをストリーミングサーバに伝達し、前記ストリーミングサーバはユーザにマルチメディアデータを送信する。ここで、前記コンテンツストリーミングシステムは別途の制御サーバを含んでもよく、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令／応答を制御する役割を果たす。
【０３４０】
前記ストリーミングサーバは、メディア格納所及び／又はエンコードサーバからコンテンツを受信する。例えば、前記エンコードサーバからコンテンツを受信する場合、前記コンテンツをリアルタイムに受信できる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは前記ビットストリームを一定時間格納することができる。
【０３４１】
前記ユーザ装置の例としては、携帯電話、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、ノートブックコンピュータ（ｌａｐｔｏｐ  ｃｏｍｐｕｔｅｒ）、デジタル放送用端末、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔｓ）、ＰＭＰ（ｐｏｒｔａｂｌｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）、ナビゲーション、スレートＰＣ（ｓｌａｔｅ  ＰＣ）、タブレットＰＣ（ｔａｂｌｅｔ  ＰＣ）、ウルトラブック（ｕｌｔｒａｂｏｏｋ）、ウェアラブルデバイス（ｗｅａｒａｂｌｅ  ｄｅｖｉｃｅ、例えば、スマートウォッチ（ｓｍａｒｔｗａｔｃｈ）、スマートグラス（ｓｍａｒｔ  ｇｌａｓｓ）、ＨＭＤ（ｈｅａｄ  ｍｏｕｎｔｅｄ  ｄｉｓｐｌａｙ））、デジタルＴＶ、デスクトップコンピュータ、デジタルサイネージなどを有することができる。
【０３４２】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営でき、この場合、各サーバで受信するデータは分散処理されることができる。
【０３４３】
前述したように、本発明で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われることができる。例えば、各図面に示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で実現されて行われることができる。
【０３４４】
また、本発明が適用されるデコーダ及びエンコーダは、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ（ＶｏＤ）サービス提供装置、ＯＴＴ（Ｏｖｅｒ  ｔｈｅ  ｔｏｐ  ｖｉｄｅｏ）装置、インターネットストリーミングサービス提供装置、３次元（３Ｄ）ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号及びデータ信号を処理するために使用できる。例えば、ＯＴＴビデオ（Ｏｖｅｒ  ｔｈｅ  ｔｏｐ  ｖｉｄｅｏ）装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続ＴＶ、ホームシアターシステム、スマートフォン、タブレットＰＣ、ＤＶＲ（Ｄｉｇｉｔａｌ Ｖｉｄｅｏ Ｒｅｃｏｄｅｒ）などが含まれる。
【０３４５】
また、本発明が適用される処理方法は、コンピュータにより実行されるプログラムの形態で生産されることができ、コンピュータにより読み取りできる記録媒体に格納できる。本発明によるデータ構造を有するマルチメディアデータもまたコンピュータにより読み取りできる記録媒体に格納できる。前記コンピュータにより読み取りできる記録媒体は、コンピュータにより読み取りできるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータにより読み取りできる記録媒体は、例えば、ブルーレイディスク（ＢＤ）、汎用直列バス（ＵＳＢ）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピ（登録商標）ディスク、及び光学データ格納装置を含むことができる。また、前記コンピュータにより読み取りできる記録媒体は、搬送波（例えば、インターネットを介する送信）の形態で実現されたメディアを含む。また、エンコード方法により生成されたビットストリームがコンピュータにより読み取りできる記録媒体に格納されるか、有無線通信ネットワークを介して送信できる。
【０３４６】
また、本発明の実施形態は、プログラムコードによるコンピュータプログラム製品として実現され、前記プログラムコードは、本発明の実施形態によりコンピュータにおいて行われる。前記プログラムコードは、コンピュータにより読み取りできるキャリア上に格納されることができる。
【産業上の利用可能性】
【０３４７】
以上、前述した本発明の好ましい実施形態は、例示の目的のために開示されたものであり、当業者であれば、以下に添付された特許請求範囲に開示された本発明の技術的思想とその技術的範囲内において、様々な他の実施形態を改良、変更、代替又は付加などが可能であろう。
【図１】
2021517796.tif 000015
【図２】
2021517796.tif 000016
【図３Ａ】
2021517796.tif 000017
【図３Ｂ】
2021517796.tif 000018
【図３Ｃ】
2021517796.tif 000019
【図３Ｄ】
2021517796.tif 000020
【図４】
2021517796.tif 000021
【図５】
2021517796.tif 000022
【図６】
2021517796.tif 000023
【図７】
2021517796.tif 000024
【図８】
2021517796.tif 000025
【図９】
2021517796.tif 000026
【図１０】
2021517796.tif 000027
【図１１】
2021517796.tif 000028
【図１２】
2021517796.tif 000029
【図１３】
2021517796.tif 000030
【図１４】
2021517796.tif 000031
【図１５（ａ）】
2021517796.tif 000032
【図１５（ｂ）】
2021517796.tif 000033
【図１６】
2021517796.tif 000034
【図１７（ａ）】
2021517796.tif 000035
【図１７（ｂ）】
2021517796.tif 000036
【図１７（ｃ）】
2021517796.tif 000037
【図１８】
2021517796.tif 000038
【図１９】
2021517796.tif 000039
【図２０】
2021517796.tif 000040
【図２１】
2021517796.tif 000041
【図２２】
2021517796.tif 000042
【国際調査報告】
2021517796.tif 000043
2021517796.tif 000044
2021517796.tif 000045
2021517796.tif 000046