(57)【要約】  本発明は、縮小された変換（Reduced transform）に基づいて、ビデオ信号のデコード方法において、現在のブロックに変換スキップ（transform skip）が適用されるかどうかを確認する段階と、前記現在のブロックに前記変換スキップが適用されない場合、前記ビデオ信号から前記現在のブロックの変換カーネル（transform kernel）を指示する変換インデックス（transform index）を獲得する段階と、前記変換インデックスによって指示される変換カーネル及び前記現在のブロックのサイズに基づいて、前記現在のブロックに一次変換（primary transform）が適用される領域を決定する段階と、前記一次変換が適用される領域に対し、前記変換インデックスによって指示される変換カーネルを用いて、逆方向一次変換（inverse primary transform）を実行する段階を含む方法を提供する。【選択図】図２５
2021511752.tif 000002
【特許請求の範囲】
【請求項１】
縮小された変換（Reduced transform）に基づいて、ビデオ信号のデコード方法において、
現在のブロックに変換スキップ（transform skip）が適用されるか否かを確認する段階と、
前記現在のブロックに前記変換スキップが適用されない場合、前記ビデオ信号から前記現在のブロックの変換カーネル（transform kernel）を指示する変換インデックス（transform index）を獲得する段階と、
前記変換インデックスによって指示される変換カーネル及び前記現在のブロックのサイズに基づいて、前記現在のブロックに一次変換（primary transform）が適用される領域を決定する段階と、
前記一次変換が適用される領域に対し、前記変換インデックスによって指示される変換カーネルを用いて、逆方向一次変換（inverse primary transform）を実行する段階を含む、ビデオ信号のデコード方法。
【請求項２】
前記一次変換が適用される領域を決定する段階は、
前記現在のブロック内では、前記一次変換が適用される領域以外の残りの領域の係数を０とみなす段階を含む、請求項１に記載のビデオ信号のデコード方法。
【請求項３】
前記一次変換が適用される領域を決定する段階は、
前記変換インデックスによって指示される変換カーネルが予め定義された変換であり、前記現在のブロックの幅（width）、及び/または高さ（height）が予め定義されたサイズより大きい場合、前記予め定義されたサイズの幅及び/または高さを有する領域を前記一次変換が適用される領域に決定することにより実行される、請求項１に記載のビデオ信号のデコード方法。
【請求項４】
前記予め定義された変換は、ＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせの内いずれか１つであることを特徴とする、請求項３に記載のビデオ信号のデコード方法。
【請求項５】
前記予め定義されたサイズは、１６であることを特徴とする、請求項３に記載のビデオ信号のデコード方法。
【請求項６】
前記一次変換が適用される領域を決定する段階は、
前記変換インデックスによって指示される変換カーネルが第１変換グループに属する場合、前記現在のブロックの幅（width）及び３２の内、小さい方の値を前記一次変換が適用される領域の幅と決定し、前記現在のブロックの高さ（height）及び３２の内、小さい方の値を前記一次変換が適用される領域の高さと決定し、
前記変換インデックスによって指示される変換カーネルが第２変換グループに属する場合、前記現在のブロックの幅と１６の内、小さな値を前記一次変換が適用される領域の幅と決定し、前記現在のブロックの高さ及び１６の内、小さな値を前記一次変換が適用される領域の高さと決定することにより実行される、請求項１に記載のビデオ信号のデコード方法。
【請求項７】
前記第１変換グループは、ＤＣＴ２を含み、前記第２変換グループはＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせを含む、請求項６に記載のビデオ信号のデコード方法。
【請求項８】
縮小された変換（Reduced transform）に基づいて、ビデオ信号をデコードする装置において、
現在のブロックに変換スキップ（transform skip）が適用されるか否かを確認する変換スキップ確認部と、
前記現在のブロックに前記変換スキップが適用されない場合、前記ビデオ信号から前記現在のブロックの変換カーネル（transform kernel）を指示する変換インデックス（transform index）を獲得する変換インデックス獲得部と、
前記変換インデックスによって指示される変換カーネル及び前記現在のブロックのサイズに基づいて、前記現在のブロックに一次変換（primary transform）が適用される領域を決定し、前記一次変換が適用される領域に対して、前記変換インデックスによって指示される変換カーネルを用いて、逆方向一次変換（inverse primary transform）を実行する一次逆変換部を含む、ビデオ信号のデコード装置。
【請求項９】
前記一次変換部は、
前記現在のブロック内で、前記一次変換が適用される領域以外の残りの領域の係数を０とみなす、請求項１に記載のビデオ信号のデコード装置。
【請求項１０】
前記一次変換部は、
前記変換インデックスによって指示される変換カーネルが予め定義された変換であり、前記現在のブロックの幅（width）、及び/または高さ（height）が予め定義されたサイズより大きい場合、前記予め定義されたサイズの幅及び/または高さを有する領域を前記一次変換が適用される領域に決定する、請求項１に記載のビデオ信号のデコード装置。
【請求項１１】
前記予め定義された変換は、ＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせの内、いずれか１つであることを特徴とする、請求項１０に記載のビデオ信号のデコード装置。
【請求項１２】
前記予め定義されたサイズは、１６であることを特徴とする、請求項１０に記載のビデオ信号のデコード装置。
【請求項１３】
前記一次変換部は、
前記変換インデックスによって指示される変換カーネルが第１変換グループに属する場合、前記現在のブロックの幅（width）及び３２の内、小さい方の値を前記一次変換が適用される領域の幅と決定し、前記現在のブロックの高さ（height）及び３２の内、小さい方の値を前記一次変換が適用される領域の高さと決定し、
前記変換インデックスによって指示される変換カーネルが第２変換グループに属する場合、前記現在のブロックの幅及び１６の内、小さな値を前記一次変換が適用される領域の幅と決定し、前記現在のブロックの高さと１６の内、小さな値を前記一次変換が適用される領域の高さと決定する、請求項８に記載のビデオ信号のデコード装置。
【請求項１４】
前記第１変換グループは、ＤＣＴ２を含み、前記第２変換グループはＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせを含む、請求項１３に記載のビデオ信号のデコード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ信号を処理する方法及び装置に関し、より具体的には一次変換に適用することができる縮小された変換の設計及び適用方法に関する。
【背景技術】
【０００２】
次世代ビデオコンテンツは、高解像度（ｈｉｇｈ  ｓｐａｔｉａｌ  ｒｅｓｏｌｕｔｉｏｎ）、高フレーム率（ｈｉｇｈ  ｆｒａｍｅ  ｒａｔｅ）及び画像表現の高次元化（ｈｉｇｈ  ｄｉｍｅｎｓｉｏｎａｌｉｔｙ  ｏｆ  ｓｃｅｎｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）という特徴を有する。そのようなコンテンツを処理するためには、メモリ格納（ｍｅｍｏｒｙ  ｓｔｏｒａｇｅ）、メモリアクセス率（ｍｅｍｏｒｙ  ａｃｃｅｓｓ  ｒａｔｅ）及び処理電力（ｐｒｏｃｅｓｓｉｎｇ  ｐｏｗｅｒ）の側面で多大な増加をもたらすだろう。
【０００３】
従って、次世代ビデオコンテンツをより効率的に処理するためのコーディングツールをデザインする必要がある。特に、変換（ｔｒａｎｓｆｏｒｍ）を適用するとき、コーディング効率と複雑度の側面ではるかに効率的な変換を設計する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、特定の条件に応じて、予め定義された領域に対して、一次変換（primary transform）を実行する方法を提案する。
【０００５】
本発明において解決しようとする技術的課題は、以上で言及した技術的課題に限定されず、言及していないまた他のの技術的課題は、下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解されることができる。
【課題を解決するための手段】
【０００６】
本発明の１つの様相は、縮小された変換（Reduced transform）に基づいて、ビデオ信号のデコード方法において、現在のブロックに変換スキップ（transform skip）が適用されるかどうかを確認する段階と、前記現在のブロックに前記変換スキップが適用されない場合、前記ビデオ信号から前記現在のブロックの変換カーネル（transform kernel）を指示する変換インデックス（transform index）を獲得する段階と、前記変換インデックスによって指示される変換カーネル及び前記現在のブロックのサイズに基づいて、前記現在のブロックの一次変換（primary transform）が適用される領域を決定する段階と、前記一次変換が適用される領域に対し、前記変換インデックスによって指示される変換カーネルを用いて、逆方向一次変換（inverse primary transform）を実行する段階を含むことができる。
【０００７】
好ましくは、前記一次変換が適用される領域を決定する段階は、前記現在のブロック内において、前記一次変換が適用される領域以外の残りの領域の係数を０とみなすステップを含むことができる。
【０００８】
好ましくは、前記一次変換が適用される領域を決定する段階は、前記変換インデックスによって指示される変換カーネルが予め定義された変換であり、前記現在のブロックの幅（width）、及び/または高さ（height）が予め定義さされたサイズより大きい場合、前記予め定義されたサイズの幅及び/または高さを有する領域を前記一次変換が適用される領域に決定することにより行うことができる。
【０００９】
好ましくは、前記予め定義された変換は、ＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせの内、いずれか１つで有り得る。
【００１０】
好ましくは、前記予め定義されたサイズは、１６で有り得る。
【００１１】
好ましくは、前記一次変換が適用される領域を決定する段階は、前記変換インデックスによって指示される変換カーネルが第１変換グループに属する場合、前記現在のブロックの幅（width）と３２の内小さい方の値を前記一次変換が適用される領域の幅と決定し、前記現在のブロックの高さ（height）及び３２の内小さい方の値を前記一次変換が適用される領域の高さと決定し、前記変換インデックスによって指示される変換カーネルが第２変換グループに属する場合、前記現在のブロックの幅及び１６の内、小さな値を前記一次変換が適用される領域の幅と決定し、前記現在のブロックの高さ及び１６の内、小さな値を前記一次変換が適用される領域の高さと決定することにより行うことができる。
【００１２】
好ましくは、前記第１変換グループは、ＤＣＴ２を含み、前記第２変換グループはＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせを含むことができる。
【００１３】
本発明の他の一様相は、縮小された変換（Reduced transform）に基づいて、ビデオ信号をデコードする装置において、現在のブロックに変換スキップ（transform skip）が適用されるかどうかを確認する変換スキップ確認部と、前記現在のブロックに前記変換スキップが適用されない場合、前記ビデオ信号から前記現在のブロックの変換カーネル（transform kernel）を指示する変換インデックス（transform index）を獲得する変換インデックス獲得部と、前記変換インデックスによって指示される変換カーネル及び前記現在のブロックのサイズに基づいて、前記現在のブロックに一次変換（primary transform）が適用される領域を決定し、前記一次変換が適用される領域に対して、前記変換インデックスによって指示される変換カーネルを用いて、逆方向一次変換（inverse primary transform）を実行する一次逆変換部を含むことができる。
【００１４】
好ましくは、前記一次変換部は、前記現在のブロック内において、前記一次変換が適用される領域以外の残りの領域の係数を０とみなすことができる。
【００１５】
好ましくは、前記一次変換部は、前記変換インデックスによって指示される変換カーネルが予め定義された変換であり、前記現在のブロックの幅（width）、及び/または高さ（height）が予め定義されたサイズより大きい場合、前記予め定義されたサイズの幅及び/または高さを有する領域を前記一次変換が適用される領域に決定することができる。
【００１６】
好ましくは、前記予め定義された変換は、ＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせの内、いずれか１つで有り得る。
【００１７】
好ましくは、前記予め定義されたサイズは、１６で有り得る。
【００１８】
好ましくは、 前記一次変換部は、前記変換インデックスによって指示される変換カーネルが第１変換グループに属する場合、前記現在のブロックの幅（width）及び３２の内、小さい方の値を前記一次変換が適用される領域の幅と決定し、前記現在のブロックの高さ（height）及び３２の内、小さい方の値を前記一次変換が適用される領域の高さと決定し、前記変換インデックスによって指示される変換カーネルが第２変換グループに属する場合、前記現在のブロックの幅及び１６の内、小さな値を前記一次変換が適用される領域の幅と決定し、前記現在のブロックの高さ及び１６の内、小さな値を前記一次変換が適用される領域の高さと決定することができる。
【００１９】
好ましくは、前記第１変換グループは、ＤＣＴ２を含み、前記第２変換グループはＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせを含むことができる。
【発明の効果】
【００２０】
本発明の実施形態に係ると、特定の条件に応じて、予め定義された領域にのみ変換を実行することで、複雑度を著しく減少させることができる。
【００２１】
本発明で得られる効果は、以上で言及した効果に制限されず、言及また異なる効果は以下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解される。
【図面の簡単な説明】
【００２２】
【図１】本発明が適用される実施形態として、ビデオ信号のエンコードが行われるエンコーダの概略的なブロック図を示す。
【図２】本発明が適用される実施形態として、ビデオ信号のデコードが行われるデコーダの概略的なブロック図を示す。
【図３】本発明が適用できる実施形態として、〔図３Ａ〕はＱＴ（ＱｕａｄＴｒｅｅ、以下「ＱＴ」という）、〔図３Ｂ〕はＢＴ（Ｂｉｎａｒｙ  Ｔｒｅｅ、以下「ＢＴ」という）、〔図３Ｃ〕はＴＴ（Ｔｅｒｎａｒｙ  Ｔｒｅｅ、以下「ＴＴ」という）、〔図３Ｄ〕はＡＴ（Ａｓｙｍｍｅｔｒｉｃ  Ｔｒｅｅ、以下「ＡＴ」という）によるブロック分割構造を説明するための図である。
【図４】本発明が適用される実施形態として、エンコーダ内の変換及び量子化部１２０／１３０、逆量子化及び逆変換部１４０／１５０の概略的なブロック図を示す。
【図５】本発明が適用される実施形態として、デコーダ内の逆量子化及び逆変換部２２０／２３０の概略的なブロック図を示す。
【図６】本発明が適用される実施形態として、ＭＴＳ（Multiple Transform Selection）が適用される変換設定グループ（ｔｒａｎｓｆｏｒｍ  ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｇｒｏｕｐ）を示す表である。
【図７】本発明が適用される実施形態として、ＭＴＳ（Multiple Transform Selection）が行われるエンコード過程を示すフローチャートである。
【図８】本発明が適用される実施形態として、ＭＴＳ（Multiple Transform Selection）が行われるデコード過程を示すフローチャートである。
【図９】本発明が適用される実施形態として、ＭＴＳフラグ及びＭＴＳインデックスをエンコードする過程を説明するためのフローチャートである
【図１０】本発明が適用される実施形態として、ＭＴＳフラグ及びＭＴＳインデックスに基づいて水平変換又は垂直変換を行又は列に適用するデコード過程を説明するためのフローチャートである。
【図１１】本発明が適用される実施形態として、変換関連パラメータに基づいて逆変換を実行するフローチャートを示す。
【図１２】本発明が適用される実施形態として、ＮＳＳＴでイントラ予測モードごとに変換セット（transform set）を割り当てることを示すテーブルである。
【図１３】本発明が適用される実施形態として、ギボンズ回転（Givens rotation）の計算フロー図を示す。
【図１４】本発明が適用される実施形態として、ギボンズ回転層（Givens rotation layer）と置換（permutation）で構成された４ｘ４ ＮＳＳＴでの１ラウンド構成を示す。
【図１５】本発明が適用される実施形態として、順方向縮小変換（forward reduced transform）及び逆方向縮小変換（forward reduced transform）の動作を説明するためのブロック図である。
【図１６】本発明が適用される実施形態として、逆方向スキャン順に基づいて６４番目から１７番目までの逆方向スキャンを実行する過程を示す図である。
【図１７】本発明が適用される実施形態として、変換係数のブロック（変換ブロック）の３つの順方向スキャンの順序を示す。
【図１８】本発明が適用される実施形態として、左上側４ｘ８ブロックで対角スキャン（diagonal scan）が適用され４ｘ４ ＲＳＴが適用されたとき、有効な変換係数の位置と４ｘ４ブロック別順方向スキャンの順序を示す。
【図１９】本発明が適用される実施形態として、左上側４ｘ８ブロックで対角スキャン（diagonal scan）が適用され４ｘ４ ＲＳＴが適用されたときに２ ４ｘ４ブロックの有効な変換係数を一つの４ｘ４ブロックにまとめる場合を示す。
【図２０】本発明が適用される実施形態として、縮小された２次変換に基づいて、ビデオ信号をエンコードするフローチャートを示す。
【図２１】本発明が適用される実施形態として、縮小された２次変換に基づいて、ビデオ信号をデコードするフローチャートを示す。
【図２２】本発明が適用される実施形態として、縮小された変換（Reduced transform）を用いて、ビデオ信号をエンコードする方法を例示する図である。
【図２３】本発明が適用される実施形態として、縮小された変換（Reduced transform）を用いて、ビデオ信号のデコード方法を例示する図である。
【図２４】本発明が適用されることができる実施形態として、縮小された因子（reduced factor）に基づいた縮小された変換構造を例示する図である。
【図２５】本発明が適用されることができる実施形態として、縮小された変換を適応的に適用してデコードを実行する方法を例示する図である。
【図２６】本発明が適用されることができる実施形態として、縮小された変換を適応的に適用してデコードを実行する方法を例示する図である。
【図２７】本発明が適用されることができる実施形態として、、順方向縮小された二次変換（forward reduced secondary transform）及び逆方向縮小された二次変換（forward reduced secondary transform）の一例及び、これを誘導するための擬似コードを例示する図である。
【図２８】本発明が適用されることができる実施形態として、、順方向縮小された二次変換（forward reduced secondary transform）及び逆方向縮小された二次変換（forward reduced secondary transform）の一例及び、これを誘導するための擬似コードを例示する図である。
【図２９】本発明が適用される実施形態として、正方形でない領域に縮小された二次変換を適用する方法を例示する図である。
【図３０】本発明が適用される実施形態として、縮小因子によって制御される縮小された変換を例示する図である。
【図３１】本発明が適用される実施形態に係る逆変換部例示する図である。
【図３２】本発明が適用されるビデオコーディングシステムを示す。
【図３３】本発明が適用される実施形態として、コンテンツストリーミングシステム構造図を示す。
【発明を実施するための形態】
【００２３】
以下、添付された図面を参照して、本発明の実施形態の構成とその作用を説明し、図面によって説明される本発明の構成と作用は、一つの実施形態として説明されるものであり、これによって、本発明の技術的思想とその核心構成及び作用が制限されることはない。
【００２４】
さらに、本発明で使用される用語は、できる限り、現在広く使用される一般的な用語を選択したが、特定の場合には、出願人が任意に選定した用語を使用して説明する。そのような場合には、該当部分の詳細な説明で、その意味を明確に記載するため、本発明の説明で使用された用語の名称のみで単純に解釈されてはならないものであり、その対応する用語の意味まで把握して解釈されるべきであることを明らかにしておく。
【００２５】
また、本発明で使用される用語は、発明を説明するために選択された一般的な用語であるが、同様の意味を有する他の用語がある場合、より適切な解釈のために代替可能である。例えば、信号、データ、サンプル、ピクチャ、フレーム、ブロックなどの場合、各コーディングの過程で適切に代替されて解釈されることができる。また、パーティショニング（partitioning）、分解（decomposition）、スプリーツ加工（splitting）及び分割（division）などの場合にも、各コーディングの過程で適切に代替されて解釈されることができる。
【００２６】
本文書でＭＴＳ（Multiple Transform Selection、以下「ＭＴＳ」と称する）とは、少なくとも２つ以上の変換タイプを用いて変換を実行する方法を意味することができる。これはＡＭＴ（Adaptive Multiple Transform）またはＥＭＴ（Explicit Multiple Transform）にも表現することができ、同様に、Mts_idx もＡＭＴ_idx、ＥＭＴ_idx、tu_Mts_idx 、ＡＭＴ_TU_idx、ＥＭＴ_ＴＵ_idx、変換インデックスまたは変換の組み合わせのインデックスなどのように表現することができ、本発明は、このような表現に限定されない。
【００２７】
図１は、本発明が適用される実施形態として、ビデオ信号のエンコーディングが行われるエンコーダの概略的なブロック図を示す。
【００２８】
図１を参照すると、エンコーダ１００は、映像分割部１１０、変換部１２０、量子化部１３０、逆量子化部１４０、逆変換部１５０、フィルタリング部１６０、復号ピクチャバッファ（ＤＰＢ：Decoded Picture Buffer）１７０、インター予測部１８０、イントラ予測部１８５及びエントロピーエンコーディング部１９０を含みから構成されることができる。
【００２９】
映像分割部１１０は、エンコーダ１００に入力された入力画像（Input image）（または、ピクチャ、フレーム）を１つ以上の処理ユニットに分割することができる。例えば、前記処理ユニットは、コーディングツリーユニット（ＣＴＵ：Coding Tree Unit）、コーディングユニット（ＣＵ：Coding Unit）、予測ユニット（ＰＵ：Prediction Unit）または変換ユニット（ＴＵ：Transform Unit）で有り得る。
【００３０】
ただし、前記用語は、本発明の説明の便宜のために用いるだけであり、本発明は、当該用語の定義に限定されない。また、本明細書においては、説明の便宜のために、ビデオ信号をエンコードまたはデコードする過程で用いられる単位としてコーディングユニットという用語を使用するが、本発明は、それに限定されず発明の内容に応じて適切に解釈可能である。
【００３１】
エンコーダ１００は、入力映像信号からインター予測部１８０またはイントラ予測部１８５から出力された予測信号（prediction signal）を減算して残りの信号（residual signal）を生成することができ、生成された残りの信号は、変換部１２０に転送される。
【００３２】
変換部１２０は、残りの信号に変換手法を適用して変換係数（transform coefficient）を生成することができる。変換プロセスは、クワッドツリー（quadtree）構造の正方形ブロック、バイナリツリー（binarytree）構造、三進ツリー（ternary）構造または非対称ツリー（asymmetric）構造によって分割されたブロック（正方形または長方形）に適用することができる。
【００３３】
前記変換部１２０は、複数個の変換（または変換の組み合わせ）に基づいて変換を実行することができ、このような変換方式をＭＴＳ（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）を誘導し、前記２次変換を用いて、変換係数のブロックに対して逆方向２次変換を実行し、前記逆方向２次変換が行われたブロックの逆方向１次変換を実行することができる。ここで、前記２次変換は、縮小された２次変換を意味し、前記縮小された２次変換は、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクトル）が入力されてＬ個（Ｌ <Ｎ）の変換係数データ（Ｌｘ１変換係数ベクトル）が出力される変換を示す。
【００６５】
本発明において、前記縮小された２次変換は、前記現在のブロックの特定領域に適用され、前記特定領域は、前記現在のブロック内の左上側ＭｘＭ（Ｍ≦Ｎ）領域であることを特徴とする。
【００６６】
本発明において、前記逆方向２次変換が実行されるとき、前記現在のブロック内の分割された４ｘ４ブロックのそれぞれについて、４ｘ４縮小された２次変換が適用されることを特徴とする。
【００６７】
本発明において、前記２次変換インデックスを獲得するかどうかは、前記変換係数ブロック内の最後の０でない変換係数の位置に基づいて決定されることを特徴とする。
【００６８】
本発明において、前記最後の０でない変換係数が、特定領域に位置しない場合に前記２次変換インデックスは獲得され、前記特定領域は、前記縮小された２次変換が適用される場合、スキャン順序によって変換係数を配置したとき、０でない変換係数が存在することができる位置を除外した残りの領域を表すことを特徴とする。
【００６９】
前記逆変換部２３０は、１次変換インデックスに対応する変換の組み合わせを誘導し、前記変換の組み合わせを用いて、逆方向１次変換を実行することができる。ここで前記１次変換インデックスは、ＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数個の変換の組み合わせの内、いずれか１つに対応し、前記変換の組み合わせは、水平変換及び垂直変換で構成される。この時、前記水平変換及び前記垂直変換は、前記ＤＳＴ７または前記ＤＣＴ８の内、いずれかに１つに対応する。
【００７０】
前記逆量子化部２２０と、前記逆変換部２３０は、別個の機能ユニットで説明されるが、本発明はこれに限定されず、一つの機能ユニットとして結合することができる。
【００７１】
獲得された残りの信号をインター予測部２６０またはイントラ予測部２６５から出力された予測信号（prediction signal）に加えることで復元信号（reconstructed signal）が生成される。
【００７２】
フィルタリング部２４０は、復元信号（reconstructed signal）にフィルタリングを適用して、これを再生装置に出力したり、復号ピクチャバッファ部２５０に転送する。復号ピクチャバッファ部２５０に転送され、フィルタリングされた信号は、インター予測部２６０から参照ピクチャとして用いられる。
【００７３】
本明細書において、エンコーダ１００の変換部１２０及び各機能ユニットで説明された実施形態は、それぞれデコーダの逆変換部２３０及び対応する機能ユニットにも同様に適用することができる。
【００７４】
図３は、本発明が適用されることができる実施形態として、図３Ａは、ＱＴ（QuadTree、以下「ＱＴ」とする）、図３Ｂは、ＢＴ（Binary Tree、以下「ＢＴ」という）、図３Ｃは、ＴＴ（Ternary Tree、以下「ＴＴ」という）図３ＤはＡＴ（Asymmetric Tree、以下「ＡＴ」という）によるブロック分割構造を説明するための図である。
【００７５】
ビデオコーディングの１つのブロックは、ＱＴ（QuadTree）に基づいて分割されることができる。また、ＱＴによって分割された一つのサブブロック（sub block）は、ＱＴを使用して再帰的にさらに分割されることができる。もはやＱＴ分割されないリーフブロック（leaf block）は、ＢＴ（Binary Tree）、ＴＴ（Ternary Tree）またはＡＴ（Asymmetric Tree）の内、少なくとも一つの方式によって分割されることができる。 ＢＴはhorizontal ＢＴ（２ＮｘＮ、２ＮｘＮ）とvertical ＢＴ（Ｎｘ２Ｎ、Ｎｘ２Ｎ）の二つの形態の分割を有することができる。 ＴＴはhorizontal ＴＴ（２Ｎｘ１/２Ｎ、２ＮｘＮ、２Ｎｘ１/２Ｎ）とvertical ＴＴ（１/２Ｎｘ２Ｎ、Ｎｘ２Ｎ、１/２Ｎｘ２Ｎ）の二つの形態の分割を有することができる。 ＡＴはhorizontal-up ＡＴ（２Ｎｘ１/２Ｎ、２Ｎｘ３/２Ｎ）、horizontal-down ＡＴ（２Ｎｘ３/  ２Ｎ、２Ｎｘ１/２Ｎ）、vertical-left ＡＴ（１/２Ｎｘ２Ｎ、３/２Ｎｘ２Ｎ）、vertical-right ＡＴ（３/２Ｎｘ２Ｎ、１/２Ｎｘ２Ｎ）の四つの形態の分割を有することができる。それぞれのＢＴ、ＴＴ、ＡＴはＢＴ、ＴＴ、ＡＴを使用して再帰的にさらに分割されることができる。
【００７６】
前記図３Ａは、ＱＴ分割の例を示す。ブロックＡは、ＱＴによって４つのサブブロック（Ａ０、Ａ１、Ａ２、Ａ３）に分割されることができる。サブブロックＡ１は、再びＱＴによって４つのサブブロック（Ｂ０、Ｂ１、Ｂ２、Ｂ３）に分割されることができる。
【００７７】
前記図３Ｂは、ＢＴ分割の例を示す。 ＱＴによってもはや分割されないブロックＢ３は、vertical BT（Ｃ０、Ｃ１）またはhorizontal ＢＴ（Ｄ０、Ｄ１）に分割されることができる。ブロックＣ０のように、それぞれのサブブロックは、horizontal ＢＴ（Ｅ０、Ｅ１）またはvertical ＢＴ（Ｆ０、Ｆ１）の形態のように再帰的にさらに分割されることができる。
【００７８】
前記３Ｃは ＴＴ分割の例を示す。ＱＴによってもはや分割されないブロックＢ３は、vertical ＴＴ（Ｃ０、Ｃ１、Ｃ２）またはhorizontal ＴＴ（Ｄ０、Ｄ１、Ｄ２）に分割されることができる。ブロックＣ１のように、それぞれのサブブロックは、horizontal ＴＴ（Ｅ０、Ｅ１、Ｅ２）またはvertical ＴＴ（Ｆ０、Ｆ１、Ｆ２）の形態のように再帰的にさらに分割されることができる。
【００７９】
前記３ＤはＡＴ分割の例を示す。ＱＴによってもはや分割されないブロックＢ３は、vertical ＡＴ（Ｃ０、Ｃ１）またはhorizontal ＡＴ（Ｄ０、Ｄ１）に分割されることができる。ブロックＣ１のように、それぞれのサブブロックは、horizontal ＡＴ（Ｅ０、Ｅ１）またはvertical ＴＴ（Ｆ０、Ｆ１）の形態のように再帰的にさらに分割されることができる。
【００８０】
一方、ＢＴ、ＴＴ、ＡＴ分割は一緒に使用して分割が可能である。たとえば、ＢＴによって分割されたサブブロックは、ＴＴまたはＡＴによる分割が可能である。また、ＴＴによって分割されたサブブロックは、ＢＴまたはＡＴによる分割が可能である。ＡＴによって分割されたサブブロックは、ＢＴまたはＴＴによる分割が可能である。たとえば、horizontal ＢＴ分割以後、それぞれのサブブロックがvertical ＢＴに分割されることができ、またはvertical ＢＴ分割以後、それぞれのサブブロックがhorizontal ＢＴに分割されることもできる。前記二種類の分割方法は、分割手順は異なるが、最終的に分割される形は同じである。
【００８１】
また、ブロックが分割されると、ブロックを探索する順序を多様に定義することができる。一般的に、左側から右側に、上端から下端に探索を行い、ブロックを探索するということは、各分割されたサブブロックの追加的なブロックが分割するかどうかを決定する順序を意味するか、ブロックがもはや分割されない場合、各サブブロックの符号化順序を意味するか、またはサブブロックで他の隣接ブロックの情報を参照するときの探索順序を意味することができる。
【００８２】
図４及び図５は、本発明が適用される実施形態として、図４は、エンコーダ内の変換及び量子化部（１２０/１３０）、逆量子化及び逆変換部（１４０/１５０）の概略的なブロック図を示し、図５デコーダ内の逆量子化及び逆変換部（２２０/２３０）の概略的なブロック図を示す。
【００８３】
前記図４を注意深く見ると、変換、及び量子化部（１２０/１３０）は、１次変換部（primary transform unit）１２１、２次変換部（secondary transform unit）１２２及び量子化部１３０を含むことがことができる。逆量子化及び逆変換部（１４０/１５０）は、逆量子化部１４０、逆方向２次変換部（inverse secondary transform unit）１５１及び逆１次変換部（inverse primary transform unit）１５２を含むことがことができる。
【００８４】
前記図５を注意深く見ると、逆量子化及び逆変換部（２２０/２３０）は、逆量子化部２２０、逆２次変換部（inverse secondary transform unit）２３１と逆１次変換部（inverse primary transform unit） ２３２を含むことができる。
【００８５】
本発明において、変換を実行するときに、複数の段階を経て変換を実行することができる。例えば、図４のように、１次変換（primary transform）、２次変換（secondary transform）の２段階を適用することができ、またはアルゴリズムに基づいて、それ以上の変換ステップが用いられる。ここで、前記１次変換（primary transform）は、主要な変換（core transform）と呼ぶこともできる。
【００８６】
前記１次変換部（primary transform unit１２１は、残りの信号に対して１次変換（primary transform）を適用することができ、ここで前記１次変換（primary transform）は、エンコーダ及び/またはデコーダでテーブルに予め定義することができる。
【００８７】
前記１次変換（primary transform）の場合、Discrete Cosine Transform type ２（以下、「ＤＣＴ２」という）が適用されることができる。
【００８８】
または、特定の場合に限定してDiscrete Sine Transform-type ７（以下、「ＤＳＴ７」という）が適用されることもある。例えば、イントラ予測モードで４ｘ４ブロックに対してＤＳＴ７が適用されることができる。
【００８９】
また、前記１次変換（primary transform）の場合、ＭＴＳ（Multiple Transform Selection）の多くの変換（ＤＳＴ ７、ＤＣＴ ８、ＤＳＴ １、ＤＣＴ ５）の組み合わせが適用されることもある。例えば、図６が適用されることがある。
【００９０】
前記２次変換部（secondary transform unit）１２２は、１次変換された信号に対して２次変換（secondary transform）を適用することができ、ここで前記２次変換（secondary transform）は、エンコーダ及び/またはデコーダでテーブルに予め定義することができる。
【００９１】
一実施形態として、前記２次変換（secondary transform）は、Non-Separable Secondary Transform（以下、「ＮＳＳＴ」という）を条件付きで適用することができる。例えば、前記ＮＳＳＴはイントラ予測ブロックの場合にのみ適用され、予測モードグループごとに適用可能な変換セットを有することができる。
【００９２】
ここで、前記予測モードグループは、予測方向の対称性に基づいて設定されることができる。例えば、予測モード５２と予測モード１６は、予測モード３４（対角方向）に基づいて対称なので、１つのグループを形成して、同じ変換セット（transform set）が適用されることができる。この時、前記予測モード５２の変換を適用するときに入力データをトランスポーズ（transpose）した後に適用し、これは予測モード１６と変換セットが同じであるからである。
【００９３】
一方、プランナーモード（Planar mode）とＤＣモード（ＤＣ 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）に適用されることもできる。
【０１１０】
本発明は、予測モード、ブロックサイズまたはブロック状（block shape）の内、少なくとも１つによって区分される変換設定のグループ（transform configuration group）別に変換の組み合わせ（transform combination）を構成する方法を提供し、前記逆１次変換部（inverse primary transform unit）２３２は、本発明によって構成された変換の組み合わせに基づいて逆変換を行うことができる。また、本明細書で説明した実施形態が適用されることができる。
【０１１１】
図６は、本発明が適用される実施形態として、ＭＴＳ、（Multiple Transform Selection）が適用される変換設定のグループ（transform configuration group）を示す表である。
【０１１２】
ＭＴＳ（Multiple Transform Selection）が適用される変換設定のグループ
【０１１３】
本明細書においては、変換設定のグループＧｉのｊ番目の変換の組み合わせの候補を次の数式（１）のようなペア（対）で表示する。
【０１１４】
［数１］
（Ｈ（Ｇｉ、ｊ）、Ｖ（Ｇｉ、ｊ））
【０１１５】
ここで、 Ｈ（Ｇｉ、ｊ）は、ｊ番目の候補の水平変換（horizontal transform）を指し、Ｖ（Ｇｉ、ｊ）は、ｊ番目の候補の垂直変換（vertical transform）を指す。例えば、図６でＨ（Ｇ３、２）＝ ＤＳＴ７、Ｖ（Ｇ３、２）＝ ＤＣＴ８のように表記することができる。文脈に応じてＨ（Ｇｉ、ｊ）またはＶ（Ｇｉ、ｊ）に割り当てられる値は、前記の例示のように変換を区分するための表示上の値（nominal value）で有り得、該変換を指すインデックス値で有り得、該変換の２Ｄ行列（２ Ｄimensional matrix）で有り得る。
【０１１６】
また、本明細書において、ＤＣＴとＤＳＴの２Ｄ行列の値を次の数式２〜３のように表記することができる。
【０１１７】
［数２］
ＤＣＴ type ２：、ＤＣＴ type ８：
【０１１８】
［数３］
ＤＳＴ type ７：、ＤＳＴ type ４：
【０１１９】
ここで、ＤＳＴまたはＤＣＴであるかどうかは、ＳまたはＣで表し、ｔｙｐｅ数字はローマ数字の形で上添字表記し、下部添字のＮはＮｘＮ変換であることを示す。また、前記
2021511752.tif 000003
と
2021511752.tif 000004
のような２Ｄ行列は、列ベクトル（column vector）が変換基底（transform basis）をなすことを仮定する。
【０１２０】
前記図６を注意深く見ると、変換設定のグループ（transform configuration group）は、予測モードに基づいて決定され、グループの数は、総６個（Ｇ０〜Ｇ５）で有り得る。そして、Ｇ０〜Ｇ４は、イントラ予測が適用される場合に該当しＧ５はインター予測によって生成された残差（residual）ブロックに適用される変換の組み合わせ（または変換セット、変換の組み合わせセット）を示す。
【０１２１】
一つの変換の組み合わせは、該２Ｄブロックの行（row）に適用される水平変換（horizontal  transform）（または行変換（rowtransform））と列（column）に適用される垂直変換（vertical transform）（または列変換（column transform））で行うことができる。
【０１２２】
ここで、すべての変換設定のグループは、各４つの変換の組み合わせ候補を有することができる。前記４つの変換の組み合わせ候補は０〜３の変換の組み合わせのインデックスを介して選択または決定することができ、エンコーダからデコーダに前記変換の組み合わせのインデックスをエンコードして転送することができる。
【０１２３】
一実施形態として、イントラ予測を介して獲得された残差データ（または残差信号）は、イントラ予測モードに応じて、その統計的特性がそれぞれ異なることができる。したがって、前記図６に示すように、イントラ予測モードごとに、一般的なコサイン変換ではなく、別の変換を適用することができる。
【０１２４】
前記図６を注意深く見ると、３５個のイントラ予測モードを用いる場合と６７個のイントラ予測モードを用いる場合を示す。各イントラ予測モードの列で区分された変換設定グループごとに複数個の変換の組み合わせが適用されることができる。例えば、前記複数個の変換の組み合わせは、４つの（行方向の変換、列方向変換）組み合わせで構成されることができる。具体例として、グループ０では、行（水平）方向と列（垂直）方向の全てＤＳＴ−７とＤＣＴ−５が適用されることができ、総４つの組み合わせが可能である。
【０１２５】
各イントラ予測モードに対して、総４つの変換カーネルの組み合わせが適用されることがあるので、それらの内、いずれか１つを選択するための変換の組み合わせのインデックスが変換ユニット（transform unit）ごとに転送されることができる。本明細書において、前記変換の組み合わせのインデックスは、ＭＴＳインデックス（ＭＴＳ index）と呼ぶことができ、Mts_idx で表現されることができる。
【０１２６】
また、前記図６に提示した変換カーネル以外にも、残差信号（residual signal）の特性上、行方向と列方向全てに対してＤＣＴ２が最適な場合が発生することができる。したがって、コーディングユニット（Coding Unit）毎にＭＴＳフラグを定義することにより、適応的に変換を実行することができる。ここで、ＭＴＳフラグが０であれば、行方向と列方向の全てに対してＤＣＴ２を適用し、ＭＴＳフラグが１であれば、ＭＴＳインデックスを介して、４つの組み合わせの内、いずれか１つを選択または決定することができる。
【０１２７】
一実施形態として、ＭＴＳフラグが１である場合、１つの変換ユニットに対して０ではない変換係数の数がしきい値より大きくなければ、前記図６の変換カーネルを適用せずに行方向と列方向の全てにＤＳＴ− ７を適用することができる。例えば、前記しきい値は２で設定されることができ、これはブロックサイズまたは変換ユニットのサイズに基づいて、異なるように設定することができる。これは明細書の他の実施形態でおいても適用可能である。
【０１２８】
一実施形態として、変換係数の値を先に解析して、０でない変換係数の数がしきい値より大きくなければ、ＭＴＳ、インデックスを解析せずにＤＳＴ−７を適用することにより、付加情報転送量を削減することができる。
【０１２９】
一実施形態として、ＭＴＳフラグが１である場合、１つの変換ユニットに対して０ではない変換係数の数がしきい値より大きいとＭＴＳインデックスを解析して、ＭＴＳインデックスに基づいて、水平変換と垂直変換を決定することができる。
【０１３０】
一実施形態として、ＭＴＳは変換ユニットの幅と高さが全て３２以下の場合にのみ、適用することができる。
【０１３１】
一実施形態として、前記図６は、オフライントレーニング（off-line training）を介して既設定されることができる。
【０１３２】
一実施形態として、前記ＭＴＳインデックスは、水平変換と垂直変換の組み合わせを同時に指すことができる１つのインデックスとして定義することができる。または、前記ＭＴＳインデックスは、水平変換のインデックスと垂直変換インデックスを別々に定義することもできる。
【０１３３】
一実施形態として、前記ＭＴＳフラグまたは前記ＭＴＳインデックスは、シーケンス、ピクチャ、スライス、ブロック、コーディングユニット、変換ユニット、または予測ユニットの内、少なくとも一つのレベルで定義することができる。例えば、前記ＭＴＳフラグまたは前記ＭＴＳインデックスはＳＰＳ（Sequence Parameter Set）、コーディングユニットまたは変換ユニットの内、少なくとも一つのレベルで定義することができる。また、一例として、ＭＴＳのenable / disableのための構文フラグはＳＰＳ（Sequence Parameter Set）、ＰＰＳ（Picture parameter set）またはスライスヘッダ（slice header）の内、少なくとも一つのレベルで定義することができる。
【０１３４】
他の実施形態として、変換インデックスに対応する変換の組み合わせ（水平変換、垂直変換）は、ＭＴＳフラグ、予測モード及び／またはブロックの形とに依存せず構成することができる。例えば、前記の変換の組み合わせは、ＤＣＴ２、ＤＳＴ７及び/またはＤＣＴ８の内、少なくとも一つで構成されることができる。具体例として、変換インデックスが０、１、２、３、４であれば、それぞれ前記変換の組み合わせは、（ＤＣＴ２、ＤＣＴ２）、（ＤＳＴ７、ＤＳＴ７）、（ＤＣＴ８、ＤＳＴ７）、（ＤＳＴ７、ＤＣＴ８）、（ＤＣＴ８、ＤＣＴ８ ）で有り得る。
【０１３５】
図７は、本発明が適用される実施形態として、ＭＴＳ（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 ７）及びＤＣＴ８（Discrete Cosine Transform type ８）を含むことができる。前記変換の組み合わせのインデックスは、ＭＴＳインデックスと呼ぶことができる。
【０１４６】
一実施形態として、前記変換設定のグループは、現在のブロックの予測モード、ブロックサイズまたはブロック状の内、少なくとも一つに基づいて設定されることができる。
【０１４７】
前記デコーダは、前記変換の組み合わせのインデックスに対応する変換の組み合わせを誘導することができる（Ｓ８３０）。ここで、前記変換の組み合わせは、水平変換及び垂直変換で構成され、前記ＤＳＴ−７またはＤＣＴ−８の内、少なくとも一つを含むことができる。
【０１４８】
また、前記変換の組み合わせは、前記図６で説明した変換の組み合わせを意味することができるが、本発明はこれに限定されない。すなわち、本明細書の内、他の実施形態に係る他の変換の組み合わせによる構成も可能である。
【０１４９】
前記デコーダは、前記変換の組み合わせに基づいて前記現在のブロックの逆変換を行うことができる（Ｓ８４０）。前記変換の組み合わせが行（水平）変換と列（垂直）変換で構成された場合、行（水平）変換を先に適用した後、列（垂直）変換を適用することができる。ただし、本発明はこれに限定されず、逆に適用されるか、または非分離変換で構成された場合には、すぐに非分離変換が適用されることができる。
【０１５０】
実施形態として、前記垂直変換または前記水平変換が、前記ＤＳＴ−７またはＤＣＴ−８である場合、前記ＤＳＴ−７の逆変換またはＤＣＴ−８の逆変換を列ごとに適用した後、行ごとに適用することができる。
【０１５１】
一実施形態として、前記垂直変換または前記水平変換は、各行ごとに、及び/または各列（ごと）に別の変換が適用されることができる。
【０１５２】
一実施形態として、前記変換の組み合わせのインデックスは、ＭＴＳが実行されるかどうかを示すＭＴＳフラグに基づいて獲得することができる。すなわち、前記変換の組み合わせのインデックスは、前記ＭＴＳフラグに基づいてＭＴＳが実行される場合に獲得することができる。
【０１５３】
一実施形態として、前記デコーダは、０でない変換係数の数がしきい値より大きいかどうかを確認することができる。この際、前記変換の組み合わせのインデックスは、前記０でない変換係数の数がしきい値より大きい場合に獲得することができる。
【０１５４】
一実施形態として、前記ＭＴＳフラグまたは前記ＭＴＳインデックスは、シーケンス、ピクチャ、スライス、ブロック、コーディングユニット、変換ユニット、または予測ユニットの内、少なくとも一つのレベルで定義することができる。
【０１５５】
一実施形態として、前記逆変換は、変換ユニットの幅と高さの全てが３２以下の場合にのみ、適用することができる。
【０１５６】
一方、他の一実施形態として、変換設定のグループを決定する過程と変換の組み合わせのインデックスを解析(parsing）する過程は、同時に実行することができる。または前記Ｓ８１０のステップは、エンコーダ及び/またはデコーダで既設定されて省略されることができる。
【０１５７】
図９は、本発明が適用される実施形態として、ＭＴＳフラグ及びＭＴＳインデックスをエンコードする過程を説明するためのフローチャートである。
【０１５８】
エンコーダは、現在のブロックのＭＴＳ（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 ＝ ０であれば、tu_mts_flagがイントラコーディングユニットのレジデュアルコーディング構文に存在せず、sps_mts_intra_enabled_flag ＝ ０であれば、tu_mts_flagがイントラコーディングユニットのレジデュアルコーディング構文に存在する。そして、sps_mts_inter_enabled_flagはtu_mts flagがインターコーディングユニットのレジデュアルコーディング構文に存在するかどうかを示す。たとえば、sps_mts_inter_enabled_flag ＝ ０であれば、tu_mts_flagがインターコーディングユニットのレジデュアルコーディング構文に存在せず、sps_mts_inter_enabled_flag ＝ ０であれば、tu_mts_flagがインターコーディングユニットのレジデュアルコーディング構文に存在する。
【０１７６】
前記デコーダは、sps_mts_intra_enabled_flagまたはsps_mts_inter_enabled_flagに基づいてtu_mts_flagを獲得することができる（Ｓ１１２０）。たとえば、 sps_mts_intra_enabled_flag＝１またはsps_mts_inter_enabled_flag＝１の時、前記デコーダはtu_mts_flagを獲得することがある。ここで、tu_mts_flagは多変換の選択（multiple transform selection、以下「ＭＴＳ」という）がルマ変換ブロックのレジデュアルサンプルに適用されるかどうかを示す。たとえば、tu_mts_flag ＝ ０の場合、ＭＴＳがルマ変換ブロックのレジデュアルサンプルに適用されず、tu_mts_flag = 1であればＭＴＳがルマ変換ブロックのレジデュアルサンプルに適用される。
【０１７７】
他の例として、前記tu_mts_flagについて本文書の実施形態の内、少なくとも１つが適用されることができる。
【０１７８】
前記デコーダはtu_mts_flagに基づいて mts_idxを獲得することができる（Ｓ１１３０）。たとえば、tu_mts_flag ＝ １のとき、前記デコーダはmts_idxを獲得することができる。ここで、mts_idxはどの変換カーネルが現在の変換ブロックの水平及び/または垂直方向に沿ったルマレジデュアルサンプルに適用されるかを示す。
【０１７９】
例えば、mts_idxについて、本文書の実施形態の内、少なくとも１つが適用されることができる。具体例として、前記図６の実施形態の内、少なくとも１つが適用されることができる。
【０１８０】
前記デコーダはmts_idxに対応する変換カーネルを誘導することができる（Ｓ１１４０）。例えば、前記mts_idx に対応する変換カーネルは、水平変換及び垂直変換に区分されて定義することができる。
【０１８１】
他の例として、前記水平変換及び垂直変換は、互いに異なる変換カーネルが適用されることができる。ただし、本発明はこれに限定されず、前記水平変換及び垂直変換は、同じ変換カーネルが適用されることもある。
【０１８２】
一実施形態で、mts _idxは、以下の表１に示すように定義することができる。
【０１８３】
【表１】
2021511752.tif 000005
【０１８４】
そして、前記デコーダは、前記変換カーネルに基づいて逆変換を行うことができる（Ｓ１１５０）。
【０１８５】
前記図１１では、ＭＴＳが適用するかどうかを決定するためにtu_mts_flagを獲得し、以後獲得られたtu_mts_flag値に基づいてmts_idxを獲得して、変換カーネルを決定する実施形態を中心に説明したが、本発明はこれに限定されない。一例として、デコーダは、tu_mts_flag解析せずにmts_idxをすぐ直接に解析して変換カーネルを決定することができる。この場合、前述した表１が用いられる。つまり、mts_idx値が０を指示する場合、水平/垂直方向にＤＣＴ−２を適用し、 mts_idx値が０以外の値を指示する場合、mts_idx値に基づいてＤＳＴ−７及び/またはＤＣＴ−８を適用することができる。
【０１８６】
本発明の他の実施形態として、変換過程を実行するデコード過程を説明する。
【０１８７】
デコーダは、変換サイズ（nTbS）を確認することができる（Ｓ１０）。ここで、前記変換サイズ（ｎＴｂＳ）は、スケールされた変換係数の水平方向のサンプルサイズを表す変数で有り得る。
【０１８８】
前記デコーダは、変換カーネルタイプ（ｔｒＴｙｐｅ）を確認することができる（Ｓ２０）。ここで、前記変換カーネルタイプ（ｔｒＴｙｐｅ）は変換カーネルのタイプを表す変数で有り得、本文書の様々な実施形態が適用されることができる。前記変換カーネルタイプ（ｔｒＴｙｐｅ）は、水平変換カーネルタイプ（ｔｒＴｙｐｅＨｏｒ）と垂直変換カーネルタイプ（ｔｒＴｙｐｅＶｅｒ）を含むことができる。
【０１８９】
前記表１を参照すれば、前記変換カーネルタイプ（ｔｒＴｙｐｅ）が０であうと、ＤＣＴ２を示し、１であるとＤＳＴ７を示し、２であるとＤＣＴ８を示すことができる。
【０１９０】
前記デコーダは、変換サイズ（ｎＴｂＳ）または変換カーネルタイプの内、少なくとも一つに基づいて、変換行列の乗算を行うことができる（Ｓ３０）。
【０１９１】
他の例として、変換カーネルタイプが１であり、変換サイズが４であれば、変換行列の乗算を実行する際既決定された変換行列１が適用されることができる。
【０１９２】
他の例として、変換カーネルタイプが１であり、変換サイズが８であれば、変換行列の乗算の実行際既決定された変換行列２が適用されることができる。
【０１９３】
他の例として、変換カーネルタイプが１であり、変換サイズが１６であれば、変換行列の乗算の実行際既決定された変換行列３が適用されることができる。
【０１９４】
他の例として、変換カーネルタイプが１であり、変換サイズが３２であれば、既定議された変換行列４が適用されることができる。
【０１９５】
同様に、変換カーネルタイプが２であり、変換サイズが４、８、１６、または３２であれば、それぞれ既定議された変換行列（５）、（６）、（７）、（８）が適用されることができる。
【０１９６】
ここで、前記既定議された変換行列（１）〜（８）は、それぞれ、様々なタイプの変換行列の内、いずれか１つに対応することができる。一例として、前記図６に例示されたタイプの変換行列が適用されることができる。
【０１９７】
前記デコーダは、変換行列の乗算に基づいて変換サンプル（または変換係数）を誘導することができる（Ｓ４０）。
【０１９８】
前記実施形態は、それぞれ用いられるが、本発明はこれに限定されず、前記実施形態及び本明細書の他の実施形態と組み合わせて用いられる。
【０１９９】
図１２は、本発明が適用される実施形態として、ＮＳＳＴでイントラ予測モードごとに変換セット（transform set）を割り当てることを示すテーブルである。
【０２００】
Non-Separable Secondary Transform（ＮＳＳＴ）
【０２０１】
２次変換部（secondary transform unitは、１次変換された信号に対して２次変換（secondary transform）を適用することができ、ここで前記２次変換（secondary transform）は、エンコーダ及び/またはデコーダでテーブルに既定儀されることができる。
【０２０２】
一実施形態として、前記２次変換（secondary transform）は、Non-Separable SecondaryTransform（以下、「ＮＳＳＴ」という）を条件付きで適用することができる。例えば、前記ＮＳＳＴはイントラ予測ブロックの場合にのみ適用され、予測モードグループごとに適用可能な変換セットを有することができる。
【０２０３】
ここで、前記予測モードグループは、予測方向の対称性に基づいて設定されることができる。例えば、予測モード５２と予測モード１６は、予測モード３４（対角方向）に基づいて対称なので、１つのグループを形成して、同じ変換セット（transform set）が適用されることができる。この時、前記予測モード５２の変換を適用するときに入力データをトランスポーズ（transpose）した後に適用し、これは予測モード１６と変換セットが同じだからである。
【０２０４】
一方、プランナーモード（Planar mode）とＤＣモード（ＤＣ mode）の場合、方向の対称性が存在しないため、それぞれの変換セットを有し、該変換セットは、２つの変換で構成されることができる。残りの方向性モードに対しては、変換セットごとに３つの変換で構成されることができる。ただし、本発明はこれに限定されず、各変換セットは、複数個の変換で構成されることができる。
【０２０５】
一実施形態において、図１２に示されるところと他の変換セットテーブルが定義されることができる。たとえば、次の表２のように、イントラ予測モード（またはイントラ予測モードグループ）に基づいて、予め定義されたテーブルからの変換セットを決定することができる。イントラ予測モードに応じて決定された変換セット内で特定の変換を指示する構文がエンコーダからデコーダにシグナリングすることができる。
【０２０６】
【表２】
2021511752.tif 000006
【０２０７】
表２を参照すると、グループ化されたイントラ予測モード（またはイントラ予測モードグループ）に予め定義された変換セット（transform set）を割り当てることができる。ここで、IntraPredMode値はWAIP（Wide Angle Intra Prediction）を考慮して、変換されたモード値で有り得る。
【０２０８】
図１３は、本発明が適用される実施形態であって、ギボンズ回転（Givens rotation）の計算フロー図を示す。
【０２０９】
他の実施形態として、前記ＮＳＳＴは１次変換されたブロック全体に適用されるものではなく左上側（top-left）８ｘ８領域にのみ適用されることができる。例えば、ブロックのサイズが８ｘ８以上の場合は、８ｘ８ ＮＳＳＴが適用され、８ｘ８未満の場合は、４ｘ４ ＮＳＳＴが適用されるが、この時、４ｘ４ブロックに分けた後、それぞれ４ｘ４ ＮＳＳＴが適用される。
【０２１０】
他の実施形態として、４ｘＮ / Ｎｘ４（Ｎ> ＝ １６）である場合にも、４ｘ４ ＮＳＳＴが適用されることができる。
【０２１１】
８ｘ８ ＮＳＳＴと４ｘ４ ＮＳＳＴすべて本文書で説明する変換の組み合わせの構成にしたがって、非分離変換（non-separable transform）であるため、８ｘ８ ＮＳＳＴは６４個のデータの入力を受け、６４個のデータを出力し、４ｘ４ ＮＳＳＴは、１６個の入力と１６個の出力を有する。
【０２１２】
８ｘ８ ＮＳＳＴと４ｘ４ ＮＳＳＴすべてギボンズ回転（Givens rotation）の階層的な組み合わせで構成される。一つのギボンズ回転（Givens rotation）に対応する行列は次の数式（４）と同じであり、行列の積は次数式５の通りである。
【０２１３】
【数４】
2021511752.tif 000007
【０２１４】
【数５】
2021511752.tif 000008
【０２１５】
前記図１３のように、一つのギボンズ回転（Givens rotation）は、２つのデータを回転させるので、６４個（８ｘ８ ＮＳＳＴの場合）または１６個の（４ｘ４ ＮＳＳＴの場合）のデータを処理するためには、それぞれ総３２個または８つのギボンズ回転（Givens rotation）が必要である。
【０２１６】
したがって、３２個または８個を束にしてギボンズ回転層（Givens rotation layer）を形成する。一つのギボンズ回転層の出力データが決まった置換（permutation）を次のギボンズ回転層の入力データとして転達される。
【０２１７】
図１４は、本発明が適用される実施形態であって、ギボンズ回転層（Givens rotation layer）と置換（permutation）で構成された４ｘ４ ＮＳＳＴでの１ラウンド構成を示す。
【０２１８】
前記図１４を注意深く見ると、４ｘ４ ＮＳＳＴの場合について、４つのギボンズ回転層が順次処理される様子を示している。前記図１４のようにしたギボンズ回転層の出力データが決まった置換（i.e. shuffling）を経て、次のギボンズ回転層の入力データとして転達される。
【０２１９】
前記図１４のように置換されるパターンは、規則的に決まっており、４ｘ４ ＮＳＳＴの場合は、４つのギボンズ回転層と該置換を合わせて一つのラウンド（round）をなす。
【０２２０】
８ｘ８ ＮＳＳＴの場合は、６つのギボンズ回転層と該置換が一つのラウンドを形成する。４ｘ４ ＮＳＳＴは２回のラウンドを経され、８ｘ８ ＮＳＳＴは４回のラウンドを経ることになる。互いに異なるラウンド同士は同じ置換パターンを使用するが適用されるギボンズ回転角度は、それぞれ異なる。したがって、各変換を構成するすべてのギボンズ回転の角度データを格納しなければならない。
【０２２１】
最後のステップでギボンズ回転層を経て出力されたデータに対して、最終的に一度の置換をさらに行うようになり、該置換情報は、変換ごとに別に格納されている。順方向ＮＳＳＴにおいては最後に該置換が行われ、逆方向ＮＳＳＴでは逆に、最初に、該逆置換が適用される。
【０２２２】
逆方向ＮＳＳＴの場合は、順方向ＮＳＳＴで適用されたギボンズ回転層と置換を逆の順序で実行すると、され、各ギボンズ回転の角度にたいしても（−）の値をとって回転させる。
【０２２３】
図１５は、本発明が適用される実施形態として、順方向縮小変換（forward reduced transform）及び逆方向縮小変換（forward reduced transform）の動作を説明するためのブロック図である。
【０２２４】
Reduced Secondary Transform（ＲＳＴ）
【０２２５】
一変換を表す直交行列がＮｘＮの形態を有するとしたとき、縮小された変換（Reduced Transform、以下「ＲＴ」という）は、Ｎ個の変換基底ベクトルの中Ｒ個だけ残すものである（Ｒ <Ｎ）。変換係数を生成する順方向ＲＴの行列は、以下の数式（６）のように与えられる。
【０２２６】
【数６】
2021511752.tif 000009
【０２２７】
逆方向ＲＴの行列は、順方向ＲＴ行列の転置行列（transpose matrix）となるので、順方向ＲＴと逆方向ＲＴの適用を図示すると、前記図１５と同じである。ここで、Reduction factorは、Ｒ / Ｎ（Ｒ <Ｎ）で定義される。
【０２２８】
縮小された変換の要素数は、Ｒ ＊ Ｎとして、全体行列のサイズ（Ｎ ＊ Ｎ）より小さい。つまり、必要な行列は、全体行列のＲ/Ｎである。また、必要な乗算の数はＲｘＮであり、元のＮｘＮよりＲ/Ｎだけ低い。縮小された変換を適用すると、Ｒ個の係数を有するため、Ｎ係数の代わりにＲ個の係数の値だけ転送することができる。
【０２２９】
１次変換を経た変換ブロックの左上端８ｘ８ブロックのＲＴを適用する場合を仮定すると、前記ＲＴを８ｘ８縮小２次変換（８ｘ８ ＲＳＴ）と命名することができる。
【０２３０】
前記数式６でのＲ値を１６とするとき、順方向８ｘ８ ＲＳＴは１６ｘ６４行列の形を有し、逆方向８ｘ８ ＲＳＴは６４ｘ１６行列の形を有する。
【０２３１】
また、８ｘ８ ＲＳＴに対しても、前記図１２と同じ変換のセットの構成を適用することができる。すなわち、前記図１２での変換セットに基づいて対応する８ｘ８ ＲＳＴが適用されることができる。
【０２３２】
一実施形態であり、前記図１２において１つの変換セットがイントラ予測モードに応じて、２つまたは３つの変換で構成されているときに、２次変換を適用しない場合を含め、最大４つの変換の内、一つを選択するように構成されることができる。ここで、１つの変換は、恒等行列と見ることができる。
【０２３３】
前記４つの変換に対して、それぞれ０、１、２、３のインデックスを付与するとき、ＮＳＳＴインデックスと呼ばれる構文要素（syntax element）を変換ブロックごとにシグナリングして対応する変換を指定することができる。つまり、ＮＳＳＴインデックスを介して８ｘ８左上端ブロックについて、ＮＳＳＴの場合は８ｘ８ ＮＳＳＴを指定することができ、ＲＳＴの構成では８ｘ８ ＲＳＴを指定することができる。また、このとき、０番インデックスを恒等行列、すなわち２次変換を適用しない場合に割り当てることができる。
【０２３４】
前記数式６のような順方向８ｘ８ ＲＳＴを適用するようにすると、１６個の有効な変換係数が生成されるので、８ｘ８の領域を構成する６４個の入力データが１６個の出力データに縮小されると見ることができる。 ２次元領域の観点から見ると、１／４ほどの領域のみ有効な変換係数が満たされるようになる。したがって、順方向８ｘ８ ＲＳＴを適用して得られた１６個の出力データを図１６での４ｘ４左上端領域に満たすことができる。
【０２３５】
図１６は、本発明が適用される実施形態として、逆方向スキャン順に基づいて６４番目から１７番目までの逆方向スキャンを実行する過程を示す図である。
【０２３６】
前記図１６は、順方向スキャン順序が１から始まるとするとき、（順方向スキャン順上）１７番目の係数から６４番目の係数のスキャンを実行することを示す。ただし、前記図１６においては、逆方向スキャンを示しているところ、これは６４番目から１７番目までの逆方向スキャンを実行することを示す。
【０２３７】
前記図１６を注意深く見ると、左上端４ｘ４の領域が有効な変換係数が割り当てられる関心領域（Region Of Interest、ＲＯＩ）であり、残りの領域は空になるようになる。すなわち、前記残りの領域には、０の値がデフォルトで割り当てられることができる。
【０２３８】
もし、前記図１６のＲＯＩ領域以外０でない有効な変換係数が存在すると８ｘ８ ＲＳＴが適用されないことを意味するので、この場合、それに対応するＮＳＳＴインデックスコーディングを省略することができる。
【０２３９】
逆に、前記図１６のＲＯＩ領域以外で０でないの変換係数が存在しない場合（８ｘ８ ＲＳＴが適用される場合、ＲＯＩ以外の領域にたいしては、０に割り当てられるとき）８ｘ８ ＲＳＴが適用された可能性があるので、ＮＳＳＴインデックスをコーディングすることができる。
【０２４０】
このように、条件付きＮＳＳＴインデックスコーディングはゼロではなく、変換係数の存在の有無を確認しなければなのでレジデュアルコーディングプロセスの以後に実行されることができる。
【０２４１】
本発明は、ＲＳＴ構造から４ｘ４ブロックに適用することができるＲＳＴの設計及び関連最適化の方法を扱っている。本明細書に記載された実施形態は、４ｘ４ ＲＳＴだけでなく、８ｘ８ ＲＳＴまたは他の形態の変換にも適用することができる。
【０２４２】
図１７は、本発明が適用される実施形態として、変換係数のブロック（変換ブロック）の３つの順方向スキャンの順序を示す。
【０２４３】
実施形態１：４ｘ４ブロックに適用することができるＲＳＴ
【０２４４】
一つの４ｘ４ブロックに適用することができる非分離変換（non-separable transform）は１６ｘ１６変換である。つまり、４ｘ４ブロックを構成するデータ要素を行優先（row-first）または列優先（column-first）の一列で並べ配置されると、１６ｘ１のベクトルになって非分離変換を適用することができる。
【０２４５】
順方向１６ｘ１６変換は、１６個の行（row）方向変換基底ベクトルで構成され、前記１６ｘ１ベクトルと各変換基底ベクトルに対して内積（inner product）を適用すると、変換基底ベクトルの変換係数を得ることになる。１６個の変換基底ベクトルに対してすべて対応する変換係数を獲得するプロセスは、１６ｘ１６非分離変換行列と前記入力１６ｘ１ベクトルを乗算することと同じである。
【０２４６】
行列積に得られる変換係数は、１６ｘ１のベクトルの形を有するが、変換係数ごとに統計的特性が異なることがある。たとえば、１６ｘ１変換係数ベクトルが０番目の要素から１５番目の要素で構成されたとしたとき、０番目の要素の分散は、１５番目の要素の分散より大きくなることができる。つまり、前に位置した要素ほど当該分散値が大きく、大きなエネルギーの値を有することができる。
【０２４７】
１６ｘ１変換係数から逆１６ｘ１６非分離変換を適用するようにすると、元の４ｘ４ブロックの信号を復元することができる。順方向１６ｘ１６非分離変換が正規直交変換（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を０にコーディングすることができる。
【０２７１】
また、本発明の一実施形態として、２つの４ｘ４ブロックの変換係数をどのように混在させるかについても様々な方式が適用されることができる。任意の順序に沿って合わせることもできるが、本発明は、次のような方法を提供することができる。
【０２７２】
１）２つの４ｘ４ブロックの変換係数をスキャン順に交互に混ぜる。すなわち、前記図１８で上側ブロックの変換係数を
2021511752.tif 000010
とし、下側ブロックの変換係数を
2021511752.tif 000011
とするとき
2021511752.tif 000012
のように一つずつ交互に混ぜることができる。または、
2021511752.tif 000013
と
2021511752.tif 000014
の順序を変えることもできる。つまり、
2021511752.tif 000015
が先に出るように設定することができる。
【０２７３】
２）最初の４ｘ４ブロックの変換係数を先に配置させ、続いて第２の４ｘ４ブロックの変換係数を配置させることができる。つまり、
2021511752.tif 000016
のように接続して配置することができる。または、
2021511752.tif 000017
のように順序を変更することもできる。
【０２７４】
実施形態３：４ｘ４ ＲＳＴのＮＳＳＴインデックスをコーディングする方法
【０２７５】
前記図１８のように４ｘ４ ＲＳＴが適用されると、各４ｘ４ブロックの変換係数のスキャン順序によって、Ｌ ＋ １番目から１６番目まで０値が満たすことができる。
【０２７６】
したがって、もし２つの４ｘ４ブロックの内、いずれか１つでも、Ｌ ＋ １番目から１６番目の位置の中、０でない値が発生すると、４ｘ４ ＲＳＴが適用されない場合と分かるようになる。
【０２７７】
４ｘ４ ＲＳＴもＮＳＳＴのように用意された変換セットの内、いずれか１つを選択して適用する構造を有すると、どのような変換を適用するかの変換インデックス（本実施形態においては、ＮＳＳＴインデックスと命名することができる）をシグナリングすることができる。
【０２７８】
もし、あるデコーダでＮＳＳＴインデックスを、ビットストリーム解析を通じて知ることができるとして、このような解析をレジデュアルデコーディングの後に実行するとする。
【０２７９】
もし、レジデュアルデコーディングが行われ、Ｌ ＋ １番目から１６番目の間に０でない変換係数が一つでも存在することが確認されれば、４ｘ４ ＲＳＴは適用されないので、ＮＳＳＴインデックスを解析しないように設定することができる。
【０２８０】
したがって、必要な場合にのみＮＳＳＴインデックスを選択的に解析するようになってシグナリングコストを削減することができる。
【０２８１】
前記図１８のように、特定領域内で複数個の４ｘ４ブロックの４ｘ４ ＲＳＴが適用されるとすれば（例えば、すべて同じ４ｘ４ ＲＳＴが適用されることもでき、それぞれ異なる４ｘ４ ＲＳＴが適用されることもできる）、１つのＮＳＳＴインデックスを介して前記すべての４ｘ４ブロックに適用される４ｘ４ ＲＳＴが指定されることができる。この場合、同じ４ｘ４ ＲＳＴが指定されることもあり、またはすべての４ｘ４ブロックのそれぞれに適用される４ｘ４ ＲＳＴが指定されることができる。
【０２８２】
一つのＮＳＳＴインデックスにより前記すべての４ｘ４ブロックの４ｘ４ ＲＳＴ及び適用するかどうかが決定されるので、前記すべての４ｘ４ブロックに対して、Ｌ ＋ １番目から１６番目までの位置で、０でない変換係数が存在するかどうかをレジデュアルデコード過程中に確認することができる。確認の結果、１つの４ｘ４ブロックでも許容されない位置に（Ｌ ＋ １番目から１６番目までの位置）、０でない変換係数が存在することになるとＮＳＳＴインデックスをコーディングしないように構成することができる。
【０２８３】
ＮＳＳＴインデックスはルマブロックとクロマブロックについて別々にシグナリングすることもあり、クロマブロックの場合ＣｂとＣｒに対してそれぞれ別々のＮＳＳＴインデックスをシグナリングすることもでき、一つのＮＳＳＴインデックスを共有することもできる。
【０２８４】
ＣｂとＣｒの１つのＮＳＳＴインデックスを共有する場合、同じＮＳＳＴインデックスが指定する４ｘ４ ＲＳＴが適用されることができる。この場合、ＣｂとＣｒの４ｘ４ ＲＳＴ自体が同じで有り得、ＮＳＳＴインデックスは同じであるが、個々の４ｘ４ ＲＳＴを有することもできる。
【０２８５】
共有ＮＳＳＴインデックスに対して、前述した条件付きシグナリングを適用するには、ＣｂとＣｒのすべての４ｘ４ブロックに対して、Ｌ ＋ １番目から１６番目まで０でない変換係数が存在することを確認して、もし０でない変換係数が存在するとＮＳＳＴインデックスのシグナリングしないように構成することができる。
【０２８６】
前記図１９のように、２つの４ｘ４ブロックの変換係数を合わせる場合に対しても、４ｘ４ ＲＳＴが適用されたとき、有効な変換係数が存在しない位置に０でない変換係数が存在するかどうか確認した後ＮＳＳＴインデックスがシグナリングするかどうかを決定することができる。
【０２８７】
例えば、前記図１９（ｂ）に示すようにＬ値が８であり４ｘ４ ＲＳＴ適用時１つの４ｘ４ブロックに対しては、有効な変換係数が存在しない場合（Ｘで表示されたブロック）、有効変換係数が存在しないブロックのcoded_sub_block_flagを確認することができる。このとき、coded_sub_block_flagが１の場合、ＮＳＳＴインデックスをシグナリングしないように設定することができる。
【０２８８】
実施形態４：ＮＳＳＴインデックスのコーディングをレジデュアルコーディングの前に実行する場合の最適化方法
【０２８９】
ＮＳＳＴ インデックスのコーディングをレジデュアルコーディングの前に実行する場合、４ｘ４ ＲＳＴを適用するかどうかが予め決定されるため、変換係数が０に割り当てられる位置に対しては、レジデュアルコーディングを省略することができるようになる。
【０２９０】
ここで、４ｘ４ ＲＳＴを適用するかどうかは、ＮＳＳＴインデックスを通じて分かるように構成することができる。たとえば、ＮＳＳＴインデックスが０であると、４ｘ４ ＲＳＴを適用しない。
【０２９１】
または別の構文要素（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のコーディングを省略し対応する値を０に誘導することができ、対応する４ｘ４ブロックについては、別途コーディングなく、すべて０の値に誘導することができる。
【０２９９】
最後の０でない変換係数の位置のコーディングの後にＮＳＳＴインデックスをコーディングする場合、最後の０でない変換係数のx位置（Ｐｘ）とｙの位置（Ｐｙ）がそれぞれＴｘ、Ｔｙよりも小さいときＮＳＳＴインデックスコーディングを省略し４ｘ４ ＲＳＴを適用しないように構成することができる。
【０３００】
例えば、Ｔｘ ＝ １、Ｔｙ ＝ １の場合は、最後の０でない変換係数がＤＣ位置に存在する場合には、ＮＳＳＴインデックスコーディングを省略することを意味する。
【０３０１】
このようなしきい値との比較を通じて、ＮＳＳＴインデックスコーディングをするかどうかを決定する方式は、ルマとクロマにそれぞれ違って適用することができる。例えば、ルマとクロマに対しそれぞれ異なるＴｘ、Ｔｙを適用することもあり、ルマには、しきい値を適用してクロマには適用しないこともある。またはその逆の場合も可能である。
【０３０２】
前述した２つの方法、すなわち、第一、最後の０でない変換係数が有効な変換係数が存在しない領域に位置する場合、ＮＳＳＴインデックスコーディングを省略する方法、第二、最後０でない変換係数のＸ座標とＹ座標がそれぞれどんなしきい値より小さいときＮＳＳＴインデックスコーディングを省略する方法を一緒に適用することもできる。
【０３０３】
たとえば、最後の０でない変換係数の位置座標のしきい値を先に確認した後、最後の０でない変換係数が有効な変換係数が存在しない領域に位置するかどうかを確認することができる。または順序を変更することもある。
【０３０４】
本実施形態４において提示する方法は、８ｘ８ ＲＳＴにも適用することができる。つまり、最後の０でない変換係数が左上側８ｘ８領域内で左上側４ｘ４ではない、領域に位置するようになればＮＳＳＴインデックスのコーディングを省略することができ、そうでない場合はＮＳＳＴインデックスコーディングを行うことができる。
【０３０５】
また、最後の０でない変換係数の位置のＸ、Ｙ座標の値がすべてしきい値未満の場合ＮＳＳＴインデックスのコーディングを省略することができる。または、２つの方法を一緒に適用することもできる。
【０３０６】
実施形態５：ＲＳＴ適用時ルマとクロマに対しそれぞれ異なるＮＳＳＴインデックスコーディング及びレジデュアルコーディング方式を適用
【０３０７】
前記実施形態３と実施形態４に記述された方式をルマとクロマにそれぞれ異なるように適用することができる。つまり、ルマとクロマに対するＮＳＳＴインデックスコーディング及びレジデュアルコーディング方式が異なるように適用することができる。
【０３０８】
例えば、ルマは前記実施形態４の方式を適用し、クロマは前記実施形態３の方式を適用することができる。またはルマは、前記実施形態３または実施形態４に提示された条件付きＮＳＳＴインデックスコーディングを適用し、クロマは条件付きＮＳＳＴインデックスコーディングを適用しないことができる。またはその逆も可能である。
【０３０９】
図２０は、本発明が適用される実施形態として、縮小された２次変換（Reduced Secondary Transform、ＲＳＴ）に基づいて、ビデオ信号をエンコードするフローチャートを示す。
【０３１０】
エンコーダは、現在のブロックの予測モード、ブロックの形状及び/またはブロックサイズの内、少なくとも一つに基づいて、順方向の２次変換を決定（または選択）することができる（Ｓ２０１０）。この時、前記順方向２次変換の候補は、前記図６及び/または図１２の実施形態の内、少なくとも一つを含むことができる。
【０３１１】
前記エンコーダは、ＲＤ最適化（Rate Distortion optimization）を介して、最適の順方向２次変換を決定することができる。前記最適の順方向２次変換は、複数個の変換の組み合わせの内、いずれか１つに対応することができ、前記複数個の変換の組み合わせは、変換インデックスによって定義することができる。たとえば、ＲＤ最適化のために、各候補の順方向２次変換、量子化、レジデュアルコーディングなどをすべて実行した結果を比較することができる。このとき、cost = rate +λ・distortionまたはcost ＝ distortion +λ・rateなどの数式を用いることができるが、本発明はこれに限定されない。
【０３１２】
前記エンコーダは、前記最適の順方向２次変換に対応する２次変換インデックスをシグナリングすることができる（Ｓ２０２０）。ここで、前記２次変換インデックスは、本明細書で説明した他の実施形態を適用されることができる。
【０３１３】
例えば、前記２次変換インデックスは、前記図１２の変換セットの構成を適用することができる。一つの変換のセットは、イントラ予測モードに応じて、２つまたは３つの変換で構成されているので、２次変換を適用しない場合まで含めて、最大４つの変換のいずれか１つを選択するように構成されることができる。４つの変換に対して、それぞれ０、１、２、３のインデックスを付与するとしたとき、前記２次変換インデックスを変換係数のブロックごとにシグナリングして適用される変換を指定することができる。このとき、０番インデックスを恒等行列、すなわち２次変換を適用しない場合に割り当てることができる。
【０３１４】
他の一実施形態として、前記２次変換インデックスのシグナリングは、１）レジデュアルコーディング前、２）レジデュアルコーディング中間（最後０でない変換係数の位置コーディング後の）、または３）レジデュアルコーディング後の内、いずれかの段階で実行されることができる。前記実施形態を具体的に説明すると、次の通りである。
【０３１５】
レジデュアルコーディング以前に２次変換インデックスをシグナリングする方法
【０３１６】
エンコーダは、順方向の２次変換を決定することができる。
【０３１７】
前記エンコーダは、前記順方向２次変換に対応する２次変換インデックスをコーディングすることができる。
【０３１８】
前記エンコーダは、最後の０でない変換係数の位置をコーディングすることができる。
【０３１９】
前記エンコーダは、最後の０でない変換係数の位置以外の構文要素のレジデュアルコーディングを行うことができる。
【０３２０】
（２）レジデュアルコーディング中間に２次変換インデックスをシグナリングする方法
【０３２１】
エンコーダは、順方向２次変換を決定することができる。
【０３２２】
前記エンコーダは、最後の０でない変換係数の位置をコーディングすることができる。
【０３２３】
前記最後の０でない変換係数が、特定領域に位置しない場合に、前記エンコーダは、前記順方向２次変換に対応する２次変換インデックスをコーディングすることができる。ここで、前記特定領域は縮小された２次変換が適用される場合、スキャン順序によって変換係数を配置したとき、０でない変換係数が存在することができる位置を除外した残りの領域を示す。ただし、本発明はこれに限定されない。
【０３２４】
前記エンコーダは、前記最後の０でない変換係数の位置以外の構文要素のレジデュアルコーディングを行うことができる。
【０３２５】
レジデュアルコーディングの後に２次変換インデックスをシグナリングする方法
【０３２６】
エンコーダは、順方向２次変換を決定することができる。
【０３２７】
前記エンコーダは、最後の０でない変換係数の位置をコーディングすることができる。
【０３２８】
前記最後の０でない変換係数が特定領域に位置しない場合に、前記エンコーダは、前記最後の０でない変換係数の位置以外の構文要素のレジデュアルコーディングを行うことができる。ここで、前記特定領域は縮小された２次変換が適用される場合、スキャン順序によって変換係数を配置したとき、０でない変換係数が存在することができる位置を除外した残りの領域を示す。ただし、本発明はこれに限定されない。
【０３２９】
前記エンコーダは、前記順方向２次変換に対応する２次変換インデックスをコーディングすることができる。
【０３３０】
一方、前記エンコーダは、現在のブロック（レジデュアルブロック）について順方向１次変換を実行することができる（Ｓ２０３０）。ここで、前記順方向１次変換は、前記Ｓ２０１０段階及び/またはＳ２０２０段階が類似に適用することができる。
【０３３１】
前記エンコーダは、前記最適の順方向二次変換を用いて前記現在のブロックの順方向２次変換を実行することができる（Ｓ２０４０）。例えば、前記最適の順方向２次変換は、縮小された２次変換で有り得る。前記縮小された２次変換は、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクトル）が入力されてＬ個（Ｌ <Ｎ）の変換係数データ（Ｌｘ１変換係数ベクトル）が出力される変換を意味する。
【０３３２】
一実施形態として、前記縮小された２次変換は、前記現在のブロックの特定領域に適用することができる。例えば、前記現在のブロックがＮｘＮの時、前記特定領域は、左上側Ｎ/２ｘＮ/２の領域を意味することができる。しかし、本発明はこれに限定されず、予測モード、ブロックの形状、またはブロックサイズの内、少なくとも一つに基づいて異なるように設定することができる。例えば、前記現在のブロックがＮｘＮの時、前記特定領域は、左上側ＭｘＭ領域（Ｍ≦Ｎ）を意味することができる。
【０３３３】
一方、前記エンコーダは、前記現在のブロックの量子化を行うことにより、変換係数のブロックを生成することができる（Ｓ２０５０）。
【０３３４】
前記エンコーダは、前記変換係数のブロックに対してエントロピーエンコーディングを行い、ビットストリームを生成することができる。
【０３３５】
図２１は、本発明が適用される実施形態として、縮小された２次変換（Reduced Secondary Transform、ＲＳＴ）に基づいて、ビデオ信号をデコードするフローチャートを示す。
【０３３６】
デコーダは、ビットストリームから２次変換インデックスを獲得することができる（Ｓ２１１０）。ここで、前記２次変換インデックスは、本明細書で説明した他の実施形態が適用されることができる。例えば、前記２次変換インデックスは、前記図６及び/または図１２の実施形態の内、少なくとも一つを含むことができる。
【０３３７】
他の一実施形態として、前記２次変換インデックスの獲得段階は、１）レジデュアルデコーディング以前、２）レジデュアルデコーディング中（最後の０でない変換係数の位置をデコード以後）、または３）レジデュアルデコーディングの以後の内、いずれか一つの段階で実行されることができる。
【０３３８】
前記デコーダは、前記２次変換インデックスに対応する２次変換を誘導することができる（Ｓ２１２０）。この時、前記２次変換の候補は、前記図６及び/または図１２の実施形態の内、少なくとも一つを含むことができる。
【０３３９】
ただし、前記Ｓ２１１０及びＳ２１２０ステップは、一実施形態であり、本発明はこれに限定されない。例えば、前記デコーダは、前記２次変換インデックスを獲得せずに、現在のブロックの予測モードでは、ブロックの形状及び/またはブロックサイズの内、少なくとも一つに基づいて、２次変換を誘導することができる。
【０３４０】
一方、前記デコーダは、前記ビットストリームをエントロピーデコードして変換係数のブロックを獲得し、前記変換係数のブロックに対して逆量子化を行うことができる（Ｓ２１３０）。
【０３４１】
前記デコーダは、前記逆量子化された変換係数のブロックに対して逆方向２次変換を実行することができる（Ｓ２１４０）。例えば、前記逆方向２次変換は、縮小された２次変換で有り得る。前記縮小された２次変換は、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクトル）が入力されてＬ個（Ｌ <Ｎ）の変換係数データ（Ｌｘ１変換係数ベクトル）が出力される変換を意味する。
【０３４２】
一実施形態として、前記縮小された２次変換は、現在のブロックの特定領域に適用することができる。例えば、前記現在のブロックがＮｘＮの時、前記特定領域は、左上側Ｎ/２ｘＮ/２の領域を意味することができる。しかし、本発明はこれに限定されず、予測モード、ブロックの形状、またはブロックサイズの内、少なくとも一つに基づいて違うように設定することができる。例えば、前記現在のブロックがＮｘＮの時、前記特定領域は、左上側ＭｘＭ領域（Ｍ≦Ｎ）またはＭｘＬ（Ｍ≦Ｎ、Ｌ≦Ｎ）を意味することができる。
【０３４３】
そして、前記デコーダは、前記逆方向２次変換された結果の逆方向１次変換を実行することができる（Ｓ２１５０）。
【０３４４】
前記デコーダは、Ｓ２１５０段階を経てレジデュアルブロックを生成し、前記レジデュアルブロックと予測ブロックが加わり、復元ブロックが生成される。
【０３４５】
実施形態６：縮小された（Reduced）ＭＴＳ（Multiple Transform Selection）
【０３４６】
本発明の実施形態においては、予め定義された領域にのみ一次変換（primary transform）を適用することにより、複雑度を改善する方法を提案する。ＭＴＳのような様々な複数の変換（または変換カーネル）（例えば、ＤＣＴ２、ＤＳＴ７、ＤＣＴ８、ＤＳＴ１、Ｄｃｔ５など）の組み合わせが選択的に一次変換に適用される場合の複雑度が増加することができる。特に、コーディングブロック（または変換ブロック）のサイズが大きくなるほど多様な複数の変換を考慮しなければならないことにより、著しく複雑度が増加することができる。
【０３４７】
したがって、本発明においては、複雑度の減少のために、すべての領域に対して変換を実行する（または適用する）のではなく、特定の条件に応じて、予め定義された領域にのみ変換を実行する方法を提案する。
【０３４８】
実施形態として、先の図１５〜２１で説明した縮小された変換（ＲＴ：Reduced transform）の方法に基づいて、エンコーダ/デコーダは、ＭｘＭサイズのピクセルブロック（luma block）に対して一次変換（Primary transform）を適用してＭｘＭサイズの変換ブロックを獲得する代わりに、ＲｘＲ（Ｍ> ＝ Ｒ）のサイズの領域にのみ変換を実行することにより、ＲｘＲサイズの変換ブロックを獲得することができる。一例として、ＲｘＲ領域は、現在のブロック（コーディングブロック、変換ブロック）内の左上側（top-left）ＲｘＲ領域で有り得る。
【０３４９】
結果的に、ＲｘＲ領域にのみ有効な係数（non-zero coefficients）が存在することができる。一例として、この場合、エンコーダ/デコーダは、ＲｘＲ領域以外の領域内に存在する係数については、計算を実行せずに値を０と見なす（zero-out）ことができる。
【０３５０】
また、エンコーダ/デコーダは、コーディングブロック（または変換ブロック）のサイズ及び/または変換（または変換カーネル）の種類に応じて決定される予め定義された領域にのみ一次変換を適用することができる。次の表３は、変換のサイズ（または変換ブロックのサイズ）に応じて、予め定義されたＲ値を使用するReduced Adaptive Multiple Transform（ＲＡＭＴ）を例示する。本発明において、ブロックサイズに応じて適応的に決定される縮小された変換を示すReduced Adaptive Multiple Transform（ＲＡＭＴ）はReduced ＭＴＳ（Multiple Transform Selection）、Reduced explicit multiple transform、Reduced primary transformなどで指称されることができる。
【０３５１】
【表３】
2021511752.tif 000018
【０３５２】
表３を参照すると、変換のサイズ（または変換ブロックのサイズ）に応じて、少なくとも一つ以上の縮小された変換が定義されることができる。一実施形態において、表３に例示された縮小された変換の内、いずれの縮小された変換が利用されるかは、現在のブロック（コーディングブロックまたは変換ブロック）に適用される変換（または変換カーネル）に基づいて決定することができる。前記表３では、３つの縮小された変換が利用される場合を仮定するが、本発明がこれに限定されるものではなく、変換のサイズに応じて１つ以上の様々な多くの数の縮小された変換が予め定義されることができる。
【０３５３】
また、本発明の実施形態において、前述したreduced adaptive multiple transformを適用することにおいて、reduced transform factor（R）が一次変換に基づいて依存的に決定することができる。例えば、一次変換がＤＣＴ２である場合、他の一次変換（例えば、ＤＳＴ７及び/またはＤＣＴ８の組み合わせ）に比べて計算量が比較的簡単であるのでサイズが小さいブロックには、縮小された変換を使用しないか、相対的に大きなＲ値を使用することにより、コーディング性能の低下を最小化することができる。次の表４は、変換のサイズ（または変換ブロックのサイズ）及び変換カーネルに基づいて予め定義されたＲ値を使用するReduced Adaptive Multiple Transform（ＲＡＭＴ）を例示する。
【０３５４】
【表４】
2021511752.tif 000019
【０３５５】
表４を参照すると、一次変換に適用される変換がＤＣＴ２の場合及びその他の変換（例えば、ＤＳＴ７及び/またはＤＣＴ８の組み合わせ）である場合、互いに異なるReduced transform factorを用いられる。
【０３５６】
図２２は、本発明が適用される実施形態として、縮小された変換（Reduced transform）を用いて、ビデオ信号をエンコードする方法を例示する図である。
【０３５７】
図２２を参照すると、まず、エンコーダは、現在のブロックに変換を適用するかどうかを決定する（Ｓ２２０１）。エンコーダは、決定された結果に基づいて変換スキップフラグ（transform skip flag）をエンコードすることができる。この場合には、変換スキップフラグをエンコードするステップがＳ２２０１段階に含めることができる。
【０３５８】
エンコーダは、現在のブロックに変換が適用される場合、現在のブロックの一次変換（primary transform）に適用される変換カーネルを決定する（Ｓ２２０２）。エンコーダは、決定された変換カーネルを指示する変換インデックス（transform index）をエンコードすることができ、この場合、変換インデックス（transform index）をエンコードするステップがＳ２２０２段階に含めることができる。
【０３５９】
エンコーダは、現在のブロックの一次変換に適用される変換カーネル及び現在のブロックのサイズに基づいて、現在のブロックに一次変換（primary transform）が適用される領域を決定する（Ｓ２２０３）。
【０３６０】
一実施形態として、エンコーダは、現在のブロック内において、一次変換が適用される領域以外の残りの領域の係数を０とみなすことができる。
【０３６１】
また、一実施形態として、エンコーダは、変換インデックスによって指示される変換カーネルが予め定義された変換であり、現在のブロックの幅（width）、及び/または高さ（height）が予め定義されたサイズより大きい場合、前記予め定義サイズの幅及び/または高さを有する領域を前記一次変換が適用される領域に決定することができる。
【０３６２】
例えば、前記予め定義された変換は、ＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせの内、いずれか１つで有り得、前記予め定義されたサイズは、１６で有り得る。または、前記予め定義された変換は、ＤＣＴ２を除外した残りの変換で有り得る。また、一例として、エンコーダは、前記変換インデックスによって指示される変換カーネルがＤＣＴ２であり、前記現在のブロックの幅及び/または高さが３２より大きい場合、幅及び/または高さが３２である領域を、前記一次変換が適用される領域に決定することができる。
【０３６３】
また、一実施形態として、エンコーダは、前記変換インデックスによって指示される変換カーネルが第１変換グループに属する場合、現在のブロックの幅（width）と第１しきい値の内、小さい方の値を前記一次変換が適用される領域の幅で決定し、現在のブロックの高さ（height）及び、第１しきい値の内、小さい方の値を前記一次変換が適用される領域の高さに決定することができる。一例として、第１しきい値は３２で有り得るが、本発明がこれに制限されるものではなく、前述した表３または表４のように４、８、１６でも有り得る。
【０３６４】
そして、エンコーダは、前記変換インデックスによって指示される変換カーネルが第２変換グループに属する場合、現在のブロックの幅と第２しきい値の内、小さい方の値を一次変換が適用される領域の幅に決定し、現在のブロックの高さ及び第２しきい値の内、小さい方の値を一次変換が適用される領域の高さに決定することができる。一例として、第２しきい値は１６で有り得るが、本発明がこれに制限されるものではなく、前述した表３または表のように、４、６、８、１２、３２でも有り得る。
【０３６５】
一実施形態として、前記第１変換グループは、ＤＣＴ２を含み、前記第２変換グループはＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせを含むことができる。
【０３６６】
エンコーダは、一次変換が適用される領域に対し、現在のブロックの一次変換に適用される変換カーネルを用いて、順方向一次変換（forward primary transform）を実行する（Ｓ２２０４）。エンコーダは、順方向一次変換を実行することにより、一次変換された変換係数を獲得することができる。一実施形態として、エンコーダは、一次変換された変換係数に二次変換（secondary transform）を適用することができ、この場合、先の図４〜図２０で説明した方法が適用されることができる。
【０３６７】
図２３は、本発明が適用される実施形態として、縮小された変換（Reduced transform）を用いて、ビデオ信号のデコード方法を例示する図である。
【０３６８】
デコーダは、現在のブロックに変換スキップ（transform skip）が適用されるかどうかを確認する（Ｓ２３０１）。
【０３６９】
デコーダは、現在のブロックに変換スキップが適用されない場合、ビデオ信号から現在ブロックに適用される変換カーネル（transform kernel）を指示する変換インデックス（transform index）を獲得する（Ｓ２３０２）。
【０３７０】
デコーダは、変換インデックスによって指示される変換カーネル及び、現在のブロックのサイズ（つまり、幅及び/または高さ）に基づいて、現在のブロックの一次変換（primary transform）が適用される領域を決定する（Ｓ２３０３）。
【０３７１】
一実施形態として、デコーダは、現在のブロック内において、一次変換が適用される領域以外の残りの領域の係数を０とみなすことができる。
【０３７２】
また、一実施形態として、デコーダは、変換インデックスによって指示される変換カーネルが予め定義された変換であり、現在のブロックの幅（width）、及び/または高さ（height）が予め定義されたサイズより大きい場合、前記予め定義されたサイズの幅及び／または高さを有する領域を前記一次変換が適用される領域に決定することができる。
【０３７３】
例えば、前記予め定義された変換は、ＤＳＴ７及び／またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせの内、いずれか１つで有り得、前記予め定義されたサイズは、１６で有り得る。または、前記予め定義された変換は、ＤＣＴ２を除外した残りの変換で有り得る。また、一例として、デコーダは、前記変換インデックスによって指示される変換カーネルがＤＣＴ２であり、前記現在のブロックの幅及び/または高さが３２より大きい場合、幅及び/または高さが３２である領域を、前記一次変換が適用される領域に決定することができる。
【０３７４】
また、一実施形態として、デコーダは、前記変換インデックスによって指示される変換カーネルが第１変換グループに属する場合、現在のブロックの幅（width）と第１しきい値の内、小さい方の値を前記一次変換が適用される領域の幅に決定し、現在のブロックの高さ（height）及び、第１しきい値の内、小さい方の値を前記一次変換が適用される領域の高さに決定することができる。一例として、第１しきい値は３２で有り得るが、本発明がこれに制限されるものではなく、前述した表３または表４のように４、８、１６で有り得る。
【０３７５】
そして、デコーダは、前記変換インデックスによって指示される変換カーネルが第２変換グループに属する場合、現在のブロックの幅及び第２しきい値の内、小さい方の値を一次変換が適用される領域の幅を決定し、現在のブロックの高さ及び第２しきい値の内、小さい方の値を一次変換が適用される領域の高さに決定することができる。一例として、第２しきい値は１６で有り得るが、本発明がこれに制限されるものではなく、前述した表３または表４のように、４、６、８、１２、３２で有り得る。
【０３７６】
一実施形態でとして、前記第１変換グループは、ＤＣＴ２を含み、前記第２変換グループはＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせを含むことができる。
【０３７７】
デコーダは、一次変換が適用される領域に対し、変換インデックスによって指示される変換カーネルを用いて、逆方向一次変換（inverse primary transform）を実行する（Ｓ２３０４）。デコーダは、逆方向一次変換を実行することにより、一次逆変換された変換係数を獲得することができる。一実施形態として、デコーダは、一次変換を実行する前に、逆量子化された変換係数に二次変換（secondary transform）を適用することができ、この場合、先の図４〜図２０で説明した方法が適用されることができる。
【０３７８】
本発明の実施形態に係ると、特定の条件に応じて、予め定義された領域にのみ変換を実行することにより、worst case複雑度を顕著に減少させることができる。
【０３７９】
実施形態７：縮小された変換（Reduced Transform）
【０３８０】
本発明の実施形態においては、変換の複雑性の問題を改善するために先の図１５乃至図２３で提案された縮小された変換の様々な実施形態を説明する。前述したように、本発明で提案する縮小された変換は、１次変換（primary transform）（例えば、Ｄｃｔ、ＤＳＴ）や２次変換（secondary transform）（例えば、ＮＳＳＴ、ＬＦＮＳＴ（Low-Frequency Non-Separable Transform ））に関係なく適用することができる。
【０３８１】
図２４は、本発明が適用されることができる実施形態として、縮小された因子（reduced factor）に基づいた縮小された変換構造を例示する図である。
【０３８２】
図２４を参照すると、説明の便宜のためにデコーダを中心に説明するが、本実施形態で提案する縮小された変換は、エンコーダでも同じように適用することができる。
【０３８３】
デコーダは、逆方向の縮小された変換は、逆量子化された変換係数に適用することができる。このとき、縮小された変換を実行するためにデコーダは、予め決定された（または予め定義された）縮小された因子（例えば、ＲまたはＲ/Ｎ）及び/または変換カーネルが用いられる。
【０３８４】
一実施形態において、変換カーネルは、現在のブロック（コーディングブロックまたは変換ブロック）のサイズ（例えば、幅/高さ）、イントラ/インター予測モード、ＣＩｄｘなどのような利用可能な情報に基づいて選択することができる。現在のコーディングブロックがルマブロックである場合、ＣＩｄｘは０の値を有することができる。そうでなければ（つまり、現在のコーディングブロックがＣｂまたはＣｒブロックの場合）ＣＩｄｘは１のような０でない値を有することができる。
【０３８５】
図２５は、本発明が適用されることができる実施形態として、縮小された変換を適応的に適用してデコードを実行する方法を例示する図である。
【０３８６】
図２５を参照すると、説明の便宜のためにデコーダを中心に説明するが、本実施形態で提案する縮小された変換を用いて変換を実行する方法は、エンコーダでも同じように適用することができる。
【０３８７】
デコーダは、現在のブロックに逆量子化を行う（Ｓ２５０１）。
【０３８８】
デコーダは、現在のブロックに変換が適用され（または使用され）るかどうかを確認する（Ｓ２５０２）。もし、現在のブロックに変換が適用されない場合、デコーダは、変換プロセスを終了する。
【０３８９】
デコーダは、現在のブロックに変換が適用される場合、ビデオ信号から現在ブロックに適用される変換カーネル（transform kernel）を指示する変換インデックス（transform index）を解析する（Ｓ２５０３）。
【０３９０】
デコーダは、縮小された逆変換条件を満たすか確認する（Ｓ２５０４）。もし、縮小された逆変換条件を満たしていない場合、デコーダは、現在のブロックに正規逆変換を実行する（Ｓ２５０５）。もし、縮小された逆変換条件を満たす場合、デコーダは、現在のブロックに縮小された逆変換を実行する（Ｓ２５０７）。このとき、デコーダは、Ｓ２５０３段階で解析した変換インデックスに基づいて、現在のブロックに適用される変換カーネルを選択することができる（Ｓ２５０６）。実施形態として、変換カーネルは、現在のブロック（コーディングブロックまたは変換ブロック）のサイズ（例えば、幅／高さ）、イントラ／インター予測モード、ＣＩｄｘなどのような利用可能な情報に基づいて選択することができる。また、現在のブロックに縮小された逆変換が適用される場合、Ｓ２５０６のステップはreduced factorを選択するステップを含むことができる。
【０３９１】
一実施形態において、縮小された逆変換条件は、前述した６の条件（例えば、表３、４）を適用することができる。つまり、現在のブロック（コーディングブロックまたは変換ブロック）のサイズ及び変換タイプ（または変換カーネル）に基づいて縮小された逆変換を適用するかどうかを決定することができる。
【０３９２】
一例として、縮小された変換は、次の特定の条件が満たされるときに用いられる。つまり、次の特定条件を満たす一定のサイズ以上の（または一定のサイズより大きい）ブロックに適用することができる。
【０３９３】
-  Ｗｉｄｔｈ> ＴＨ ＆＆ Ｈｅｉｇｈｔ> ＴＨ（ここで、ＴＨは、予め定義された値（例えば、４）に、特定のしきい値を示す）
【０３９４】
Or
【０３９５】
-  Ｗｉｄｔｈ ＊ Ｈｅｉｇｈｔ> Ｋ ＆＆ ＭＩＮ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）> ＴＨ（ここで、Ｋ、ＴＨは、予め定義された値であり、特定のしきい値を示す）
【０３９６】
他の一例として、縮小された変換は、次の特定の条件が満たされるときに用いられる。つまり、次の特定の条件を満たす一定のサイズ以下の（または一定サイズより小さい）ブロックに適用することができる。
【０３９７】
−  Ｗｉｄｔｈ <＝ ＴＨ ＆＆ Ｈｅｉｇｈｔ <＝ ＴＨ（ここで、ＴＨは、予め定義された値（例えば、８）で、特定しきい値を示す）
【０３９８】
or
【０３９９】
-  Ｗｉｄｔｈ ＊ Ｈｅｉｇｈｔ <＝ Ｋ ＆＆ ＭＩＮ（ｗｉｄｔｈ、ｈｅｉｇｈｔ）<＝ ＴＨ（ここで、Ｋ、ＴＨは、予め定義された値であり、特定しきい値を示す）
【０４００】
他の一例として、縮小された変換は、次のように予め決定されたブロックのグループのみに適用することができる。
【０４０１】
-  Ｗｉｄｔｈ ＝＝ ＴＨ ＆＆ Ｈｅｉｇｈｔ ＝＝ ＴＨ
【０４０２】
Or
【０４０３】
-  Ｗｉｄｔｈ ＝＝ Ｈｅｉｇｈｔ
【０４０４】
実施形態として、縮小された変換の使用条件が満たされなければ、正規変換が適用されることができる。具体的に、正規変換はエンコーダ／デコーダに予め定義され、使用可能で有り得る。以下は、正規変換の例を示す。
【０４０５】
-  Ｄｃｔ２、Ｄｃｔ４、Ｄｃｔ５、Ｄｃｔ７、Ｄｃｔ８
【０４０６】
Or
【０４０７】
-  ＤＳＴ１、ＤＳＴ４、ＤＳＴ７、
【０４０８】
or
【０４０９】
-  Non separable transform
【０４１０】
or
【０４１１】
-  ＮＳＳＴ（HyGT）
【０４１２】
or
【０４１３】
−  ＬＦＮＳＴ（Low-Frequency Non-Separable Transform）
【０４１４】
前述した条件は、次の表５のような論理演算子に基づいて解釈されることができる。
【０４１５】
【表５】
2021511752.tif 000020
【０４１６】
また、図２５に示すように、縮小された変換条件は、現在のブロックに適用される変換を示す変換インデックス（Transform_idx）に依存することができる。一例として、前記Transform_idxは２回、エンコーダからデコーダに転送されることができる。一つは、横方向の変換インデックス（Transform_idx_h）であり、他の一つは、縦方向の変換インデックス（Transform_idx_v）で有り得る。
【０４１７】
図２６は、本発明が適用されることができる実施形態として、縮小された変換を適応的に適用してデコードを実行する方法を例示する図である。
【０４１８】
図２６を参照すると、説明の便宜のためにデコーダを中心に説明するが、本実施形態において提案する縮小された変換を用いて変換を実行する方法は、エンコーダにおいても同じように適用することができる。
【０４１９】
本発明の一実施形態において、前述した縮小変換は、二次変換に用いられる。関連して、先の図２５で説明した方法と重複する説明は省略する。
【０４２０】
１）デコーダは、現在のブロックに逆量子化を実行した後、現在のブロックにＮＳＳＴ活性化するかどうかを確認する。デコーダはＮＳＳＴインデックスを解析する必要があるか、予め定義された条件を使用して決定することができる。
【０４２１】
ＮＳＳＴが活性化された場合、デコーダはＮＳＳＴインデックスを解析し、縮小された二次逆変換が適用するかどうかを確認する。
【０４２２】
３）デコーダは縮小された二次逆変条件を満たすか確認する。
【０４２３】
４）もし、縮小された逆変換条件を満たしていない場合、デコーダは、現在のブロックに正規の二次逆変換を実行する。
【０４２４】
５）もし、縮小された二次逆変換条件を満たす場合、デコーダは、現在のブロックに縮小された二次逆変換を実行する。
【０４２５】
６）このとき、デコーダはＮＳＳＴインデックスに基づいて、現在のブロックに適用される変換カーネルを選択することができる。実施形態として、変換カーネルは、現在のブロック（コーディングブロックまたは変換ブロック）のサイズ（例えば、幅／高さ）、イントラ／インター予測モード、ＣＩｄｘなどのような利用可能な情報に基づいて選択することができる。また、現在のブロックに縮小された二次逆変換が適用される場合、デコーダはreduced factor（縮小因子）を選択することができる。
【０４２６】
一実施形態において、縮小された二次逆変換条件は、前述した６の条件（例えば、表３、４）が適用されることができる。つまり、現在のブロック（コーディングブロックまたは変換ブロック）のサイズ及び変換タイプ（または変換カーネル）に基づいて縮小された逆変換を適用するかどうかが決定されることができる。
【０４２７】
実施形態８：Reduced Transform as a Secondary Transform with Different Block Size
【０４２８】
本発明の一実施形態において、二次変換／二次逆変換に用いられる様々なブロックサイズを考慮した縮小された変換を提案する。一例として、二次変換／二次逆変換に用いられる４ｘ４、８ｘ８、１６ｘ１６の異なるブロックサイズの縮小された変換が定義されることができる。
【０４２９】
図２７及び図２８は、本発明が適用される実施形態として、順方向縮小された二次変換（forward reduced secondary transform）及び逆方向縮小された二次変換（forward reduced secondary transform）の一例及びこれを誘導するための擬似コードを例示する図である。
【０４３０】
図２７及び図２８を参照すると、二次変換が適用されるブロックが８ｘ８ブロックであり、減少係数Ｒ ＝ １６の場合の縮小された二次変換及び縮小された二次逆変換を示す。図２７に示すような縮小された二次変換及び縮小された二次逆変換は、図２８に示された擬似コードを用いて誘導することができる。
【０４３１】
実施形態９：Reduced Transform as a Secondary Transform with Non-Rectangular Shape
【０４３２】
前述したように、非分離変換が適用される二次変換の複雑度の問題により、従来の映像圧縮技術においては、コーディングブロック（または変換ブロック）の左上側４ｘ４または８ｘ８領域に二次変換が適用される。
【０４３３】
本発明の実施形態においては、４ｘ４または８ｘ８の正方形領域のほか、非正方形の様々な多くの図形に対して縮小された二次変換を適用する方法を提案する。
【０４３４】
図２９は、本発明が適用される実施形態として、正方形でない領域に縮小された二次変換を適用する方法を例示する図である。
【０４３５】
図２９を参照すると、一実施形態において、縮小された二次変換は、図２９に示すように、ブロックの一部のみ適用されることができる。
【０４３６】
図２９において、各正方形は、４ｘ４の領域を示す。したがって、エンコーダ／デコーダは１０ｘ４ピクセル、すなわち１６０ピクセルの領域に対して縮小された二次変換を適用することができる。この場合、減少係数Ｒ ＝ １６に該当し、全体のＲＳＴ行列は１６ｘ１６０行列に該当し、これにより、二次変換を適用することによる計算の複雑度を減らすことができる。
【０４３７】
実施形態１０：Reduced Factor
【０４３８】
図３０は、本発明が適用される実施形態として、縮小因子によって制御される縮小された変換を例示する図である。
【０４３９】
図３０を参照すると、前述したように、本発明の実施形態に係る縮小変換は、図３０に示すように、縮小因子によって制御されることができる。
【０４４０】
具体的には、縮小因子を修正すると、メモリの複雑度及び乗算演算の数が修正されることができる。先の図１５及び数学式６で縮小因子をＲ/Ｎで言及したように縮小因子修正を介して、メモリと乗算が減少することができる。例えば、Ｒ ＝ １６である８ｘ８ ＮＳＳＴの場合、メモリと乗算は１/４ずつ減少することができる。
【０４４１】
実施形態１１：High Level Syntax
【０４４２】
本発明の実施形態においては、縮小された変換を上位レベルで制御するための上位レベルの構文構造を提案する。
【０４４３】
一実施形態において、次の表６の例示のように、ＳＰＳ（sequence parameter set）を介して縮小された変換が許容するかどうか、サイズ、及び/または縮小因子に関する情報が転送されることができる。ただし、本発明がこれに限定されるものではなく、前述した構文はＰＰＳ（picture parameter set）、スライスヘッダ（slice header）などを介してシグナリングされることもできる。
【０４４４】
【表６】
2021511752.tif 000021
【０４４５】
表６を参照すると、Reduced_transform_enabled_flagが１であれば縮小された変換が使用可能であり、適用することができる。 Reduced_transform_enabled_flagが０であれば、縮小された変換を使用することができないことを示す。もし、Reduced_transform_enabled_flagが存在しない場合、その値は０と同じであると推定することができる。
【０４４６】
Reduced_transform_factorは縮小された変換のための縮小された次元の数を指定する構文要素を示す。
【０４４７】
min_reduced_transform_sizeは縮小された変換を適用する最小変換サイズを指定する構文要素を示す。min_reduced_transform_sizeが存在しない場合、その値は０と同じであると推定することができる。
【０４４８】
max_reduced_transform_sizeは縮小された変換を適用する最大の変換サイズを指定する構文要素を示す。max_reduced_transform_sizeがなければ０と同じであると推定することができる。
【０４４９】
reduced_transform_size縮小された変換のための縮小された次元の数を指定する構文要素を示す。Reduced_transform_factorがなければ０と同じであると推定 することができる。
【０４５０】
実施形態１２：secondary transform kernels
【０４５１】
本発明の実施形態においては、様々な二次変換カーネルを提案する。
【０４５２】
一実施形態において、ＤＣモードのための４ｘ４ ＮＳＳＴカーネルは次の表７のように定義することができる。
【０４５３】
【表７】
2021511752.tif 000022
【０４５４】
また、一実施形態において、プランナー（planar）モードのための４ｘ４ ＮＳＳＴカーネルは次の表８のように定義することができる。
【０４５５】
【表８】
2021511752.tif 000023
【０４５６】
また、一実施形態において、ＤＣモードのための８ｘ８ ＮＳＳＴカーネルは次の表９のように定義することができる。
【０４５７】
【表９−１】
2021511752.tif 000024
【０４５８】
【表９−２】
2021511752.tif 000025
【０４５９】
【表９−３】
2021511752.tif 000026
【０４６０】
【表９−４】
2021511752.tif 000027
【０４６１】
【表９−５】
2021511752.tif 000028
【０４６２】
また、一実施形態において、プランナー（planar）モードのための８ｘ８ ＮＳＳＴカーネルは次の表１０のように定義することができる。
【０４６３】
【表１０−１】
2021511752.tif 000029
【０４６４】
【表１０−２】
2021511752.tif 000030
【０４６５】
【表１０−３】
2021511752.tif 000031
【０４６６】
【表１０−４】
2021511752.tif 000032
【０４６７】
【表１０−５】
2021511752.tif 000033
【０４６８】
先に注意深く見た表７〜１０の変換カーネルは、縮小された変換のために、さらに小さなサイズの変換カーネルに定義することができる。
【０４６９】
たとえば、ＤＣモードでありＲ＝８である４ｘ４ ＮＳＳＴの場合、メモリ及び乗算は１/２に減少することができる。したがって、縮小された変換カーネルは、先に表７の変換カーネルの上側半分だけの係数（８ｘ１６行列）だけ維持することにより、次の表１１のように、さらに小さなサイズで定義することができる。
【０４７０】
【表１１】
2021511752.tif 000034
【０４７１】
別の例において、ＤＣモードでありＲ＝１６である８ｘ８ ＮＳＳＴの場合、メモリ及び乗算は１/４に減少することができる。したがって、縮小された変換カーネルは、先の表９の変換カーネルの上側１/４だけの係数（１６ｘ６４行列）を維持することにより、次の表１２のように、さらに小さなサイズで定義することができる。
【０４７２】
【表１２−１】
2021511752.tif 000035
【０４７３】
【表１２−２】
2021511752.tif 000036
【０４７４】
【表１２−３】
2021511752.tif 000037
【０４７５】
【表１２−４】
2021511752.tif 000038
【０４７６】
【表１２−５】
2021511752.tif 000039
【０４７７】
前述した例において、それぞれの変換係数は、９ビット（すなわち、１ビット：符号、８ビット：０〜２５５の絶対値）で表現される。本発明の一実施形態において、様々な精密度（precision）が変換係数を示すために用いられる。例えば、９ビットの代わりに８ビットが各係数を表すために用いられる。この場合、符号ビットは変更されないが、絶対値の範囲は変更されることができる。
【０４７８】
以上で説明した本発明の実施形態は、説明の便宜上、それぞれの実施形態を区分して説明したが、本発明がこれに限定されるものではない。つまり、先に説明した実施形態１〜１２で説明した実施形態は、それぞれ独立に実行されることもあり、１つ以上の多くの実施形態が組み合わされて実行されることもある。
【０４７９】
図３１は、本発明が適用される実施形態に係る逆変換部例示する図である。
【０４８０】
図３１においてはは、説明の便宜のために逆変換部を一つのブロックで図示したが、インター予測部はエンコーダ及び/またはデコーダに含まれる構成で実現されることができる。
【０４８１】
図３１を参照すると、逆変換部は先の図４〜図３０で提案された機能、プロセス及び/または方法を実現する。具体的に、逆変換部は変換スキップ確認部３１０１、変換インデックス獲得部３１０２と一次逆変換部３１０３を含みから構成されることができる。
【０４８２】
変換スキップ確認部３１０１は、現在のブロックに変換スキップ（transform skip）が適用されるかどうかを確認する。
【０４８３】
変換インデックス獲得部３１０２は、現在のブロックに変換スキップが適用されない場合、ビデオ信号から現在ブロックに適用される変換カーネル（transform kernel）を指示する変換インデックス（transform index）を獲得する。
【０４８４】
一次逆変換部３１０３は、変換インデックスによって指示される変換カーネル及び、現在のブロックのサイズ（つまり、幅及び/または高さ）に基づいて、現在のブロックの一次変換（primary transform）が適用される領域を決定する。
【０４８５】
一実施形態として、一次逆変換部３１０３は、現在のブロック内で、一次変換が適用される領域以外の残りの領域の係数を０と見なすことができる。
【０４８６】
また、一実施形態として、一次逆変換部３１０３は、変換インデックスによって指示される変換カーネルが予め定義された変換であり、現在のブロックの幅（width）、及び/または高さ（height）が予め定義されたサイズより大きい場合、前記予め定義されたサイズの幅及び/または高さを有する領域を前記一次変換が適用される領域に決定することができる。
【０４８７】
例えば、前記の予め定義された変換は、ＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせの内、いずれか１つで有り得、前記予め定義されたサイズは、１６で有り得る。または、前記予め定義された変換は、ＤＣＴ２を除外した残りの変換で有り得る。また、一例として、一次逆変換部３１０３は、前記変換インデックスによって指示される変換カーネルがＤＣＴ２であり、前記現在のブロックの幅及び/または高さが３２より大きい場合、幅及び/または高さが３２である領域を前記一次変換が適用される領域に決定することができる。
【０４８８】
また、一実施形態として、一次逆変換部３１０３は、前記変換インデックスによって指示される変換カーネルが第１変換グループに属する場合、現在ブロックの幅（width）及び第１しきい値の内、小さい方の値を前記一次変換が適用される領域の幅で決定し、現在のブロックの高さ（height）及び、第１しきい値の内、小さい方の値を前記一次変換が適用される領域の高さに決定することができる。一例として、前記第１しきい値は３２で有り得るが、本発明がこれに限定されるものではなく、前述した表３または表４のように４、８、１６であることもある。
【０４８９】
そして、デコーダは、前記変換インデックスによって指示される変換カーネルが第２変換グループに属する場合、現在のブロックの幅と第２しきい値の内、小さい方の値を一次変換が適用される領域の幅で決定し、現在のブロックの高さ及び第２しきい値の内、小さい方の値を一次変換が適用される領域の高さに決定することができる。一例として、前記第２しきい値は１６で有り得るが、本発明がこれに限定されるものではなく、前述した表３または表４のように、４、６、８、１２、３２で有り得る。
【０４９０】
一実施形態として、前記第１変換グループは、ＤＣＴ２を含み、前記第２変換グループはＤＳＴ７及び/またはＤＣＴ８の組み合わせで構成された複数の変換の組み合わせを含むことができる。
【０４９１】
一次逆変換部３１０３は、一次変換が適用される領域に対し、変換インデックスによって指示される変換カーネルを用いて、逆方向一次変換（inverse primary transform）を実行する。一次逆変換部３１０３は、逆方向一次変換を実行することにより、一次逆変換された変換係数を獲得することができる。一実施形態として、デコーダは、一次変換を実行する前に、逆量子化された変換係数に二次変換（secondary transform）を適用することができ、この場合、先に図４〜図２０で説明した方法が適用されることができる。
【０４９２】
図３２は、本発明が適用されるビデオコーディングシステムを示す。
【０４９３】
ビデオコーディングシステムは、ソースデバイス（source device）及び受信デバイス（receiving device）を含むことができる。ソースデバイスは、エンコードされたビデオ／映像情報やデータを、ファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達することができる。
【０４９４】
前記ソースデバイスは、ビデオソース（videosource）、エンコード装置（encoding apparatus）、転送部（transmitter）を含むことができる。前記受信デバイスは、受信部（receiver）、デコード装置（decoding apparatus）及びレンダラー（renderer）を含むことができる。前記エンコード装置は、ビデオ／映像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/映像デコード装置と呼ばれることができる。送信機は、エンコード装置に含まれることができる。受信機は、デコード装置に含まれることができる。レンダラーは、ディスプレイ部を含むこともでき、ディスプレイ部は別個のデバイスまたは外部のコンポーネントで構成されることもある。
【０４９５】
ビデオソースはビデオ／映像のキャプチャ、合成または生成過程などを通じてビデオ／映像を獲得することができる。ビデオソースはビデオ／映像キャプチャデバイス及び/またはビデオ／映像生成デバイスを含むことができる。ビデオ／映像キャプチャデバイスは、例えば、１つ以上のカメラ、以前にキャプチャされたビデオ／映像を含むビデオ／映像アーカイブなどを含むことができる。ビデオ／映像生成デバイスは、例えばコンピュータ、タブレット及びスマートフォンなどを含むことができ、（電子的に）ビデオ/画像を生成することができる。たとえば、コンピュータなどを通じて、仮想のビデオ／映像が生成されることができ、この場合、関連するデータが生成される過程で、ビデオ／映像キャプチャプロセスが代えることができる。
【０４９６】
エンコード装置は、入力ビデオ／映像をエンコードすることができる。エンコード装置は、圧縮及びコーディング効率のために予測、変換、量子化などの一連の手順を実行することができる。エンコードされたデータ（エンコードされたビデオ／映像情報）は、ビットストリーム（bitstream）の形で出力されることができる。
【０４９７】
転送部は ビットストリームの形で出力され、エンコードされたビデオ／映像情報またはデータを、ファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル格納媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、Ｂｌｕ−ｒａｙ、ＨＤＤ、ＳＳＤなど、様々な格納媒体を含むことができる。伝送部は、予め決まれたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送／通信ネットワークを介して転送ための要素を含むことができる。受信部は、前記ビットストリームを抽出してデコード装置に伝達することができる。
【０４９８】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測などの一連の手順を実行して、ビデオ／映像をデコードすることができる。
【０４９９】
レンダラーは、デコードされたビデオ／映像をレンダリングすることができる。レンダリングされたビデオ／映像は、ディスプレイ部を介してディスプレイされることができる。
【０５００】
図３３は、本発明が適用される実施形態として、コンテンツストリーミングシステム構造図を示す。
【０５０１】
図３３に示すように、本発明が適用されるコンテンツストリーミングシステムは、大きくエンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含む。
【０５０２】
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割を果たす。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されてもよい。
【０５０３】
前記ビットストリームは、本発明が適用されるエンコード方法又はビットストリーム生成方法により生成され、前記ストリーミングサーバは、前記ビットストリームを送信又は受信する過程で一時的に前記ビットストリームを格納することができる。
【０５０４】
前記ストリーミングサーバは、ウェブサーバに介するユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介の役割を果たす。ユーザが前記ウェブサーバにご希望のサービスを要求すると、前記ウェブサーバはこれをストリーミングサーバに伝達し、前記ストリーミングサーバはユーザにマルチメディアデータを送信する。ここで、前記コンテンツストリーミングシステムは別途の制御サーバを含んでもよく、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令／応答を制御する役割を果たす。
【０５０５】
前記ストリーミングサーバは、メディア格納所及び／又はエンコードサーバからコンテンツを受信する。例えば、前記エンコードサーバからコンテンツを受信する場合、前記コンテンツをリアルタイムに受信できる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは前記ビットストリームを一定時間格納することができる。
【０５０６】
前記ユーザ装置の例としては、携帯電話、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、ノートブックコンピュータ（ｌａｐｔｏｐ  ｃｏｍｐｕｔｅｒ）、デジタル放送用端末、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔｓ）、ＰＭＰ（ｐｏｒｔａｂｌｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）、ナビゲーション、スレートＰＣ（ｓｌａｔｅ  ＰＣ）、タブレットＰＣ（ｔａｂｌｅｔ  ＰＣ）、ウルトラブック（ｕｌｔｒａｂｏｏｋ）、ウェアラブルデバイス（ｗｅａｒａｂｌｅ  ｄｅｖｉｃｅ、例えば、スマートウォッチ（ｓｍａｒｔｗａｔｃｈ）、スマートグラス（ｓｍａｒｔ  ｇｌａｓｓ）、ＨＭＤ（ｈｅａｄ  ｍｏｕｎｔｅｄ  ｄｉｓｐｌａｙ））、デジタルＴＶ、デスクトップコンピュータ、デジタルサイネージなどを有することができる。
【０５０７】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営でき、この場合、各サーバで受信するデータは分散処理されることができる。
【０５０８】
前述したように、本発明で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われることができる。例えば、各図面に示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で実現されて行われることができる。
【０５０９】
また、本発明が適用されるデコーダ及びエンコーダは、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ（ＶｏＤ）サービス提供装置、ＯＴＴ（Ｏｖｅｒ  ｔｈｅ  ｔｏｐ  ｖｉｄｅｏ）装置、インターネットストリーミングサービス提供装置、３次元（３Ｄ）ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号及びデータ信号を処理するために使用できる。例えば、ＯＴＴビデオ（Ｏｖｅｒ  ｔｈｅ  ｔｏｐ  ｖｉｄｅｏ）装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続ＴＶ、ホームシアターシステム、スマートフォン、タブレットＰＣ、ＤＶＲ（Ｄｉｇｉｔａｌ Ｖｉｄｅｏ Ｒｅｃｏｄｅｒ）などが含まれる。
【０５１０】
また、本発明が適用される処理方法は、コンピュータにより実行されるプログラムの形態で生産されることができ、コンピュータにより読み取りできる格納媒体に格納できる。本発明によるデータ構造を有するマルチメディアデータもまたコンピュータにより読み取りできる格納媒体に格納できる。前記コンピュータにより読み取りできる格納媒体は、コンピュータにより読み取りできるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータにより読み取りできる格納媒体は、例えば、ブルーレイディスク（ＢＤ）、汎用直列バス（ＵＳＢ）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピ（登録商標）ディスク、及び光学データ格納装置を含むことができる。また、前記コンピュータにより読み取りできる格納媒体は、搬送波（例えば、インターネットを介する送信）の形態で実現されたメディアを含む。また、エンコード方法により生成されたビットストリームがコンピュータにより読み取りできる格納媒体に格納されるか、有無線通信ネットワークを介して送信できる。
【０５１１】
また、本発明の実施形態は、プログラムコードによるコンピュータプログラム製品として実現することができ、前記プログラムコードは、本発明の実施形態により、コンピュータ上で実行することができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に格納することができる。
【０５１２】
以上で説明した実施形態は、本発明の構成要素と特徴が所定形態で結合されたものである。各構成要素または特徴は、別の明示的な言及がない限り選択的なもので検討されるべきである。各構成要素または特徴は、他の構成要素や特徴と結合されない形態で実施されることができる。また、一部の構成要素及び/または特徴を結合して、本発明の実施形態を構成することも可能である。本発明の実施形態で説明される動作の順序は変更されることができる。いずれの実施形態の一部の構成や特徴は、他の実施形態に含まれることができ、または他の実施形態に対応する構成または特徴と交替することができる。特許請求の範囲で明示的な引用関係がない請求項を結合して実施形態を構成したり、出願後の補正により新しい請求項として含めることができることは自明である。
【０５１３】
本発明に係る実施形態は、様々な手段、例えば、ハードウェア、ファームウェア（firmware）、ソフトウェアまたはそれらの組み合わせなどにより実現されることができる。ハードウェアによる実現の場合、本発明の一実施形態は、一つまたはそれ以上のＡＳＩＣｓ（application specific integrated circuits）、ＤＳＰＳ（digital signal processors）、ＤＳＰＤｓ（digital signal processing devices）、ＰＬＤｓ（programmable logic devices）、ＦＰＧＡｓ（ field programmable gate arrays）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどにより実現されることができる。
【０５１４】
ファームウェアやソフトウェアによる実現の場合、本発明の一実施形態は、以上で説明した機能または動作を実行するモジュール、プロシージャ、関数などの形態で具現されることができる。ソフトウェアコードは、メモリに格納されてプロセッサによって駆動されることができる。前記メモリは、前記プロセッサの内部または外部に位置して、既に公知された多様な手段により、前記プロセッサとデータを送受信することができる。
【０５１５】
本発明は、本発明の必須の特徴を逸脱しない範囲で他の特定の形態で具体化されることは、当業者に自明である。したがって、前述した詳細な説明は、すべての面で制限的に解釈してはならないされ、例示的なものとみなされるべきである。本発明の範囲は、添付された請求項の合理的解釈によって決定されるべきであり、本発明の等価的範囲内でのすべての変更は、本発明の範囲に含まれる。
【産業上の利用可能性】
【０５１６】
以上、前述した本発明の好ましい実施形態は、例示の目的のために開示されたものであり、当業者であれば、以下に添付された特許請求範囲に開示された本発明の技術的思想とその技術的範囲内において、様々な他の実施形態を改良、変更、代替又は付加などが可能であろう。
【図１】
2021511752.tif 000040
【図２】
2021511752.tif 000041
【図３ａ】
2021511752.tif 000042
【図３ｂ】
2021511752.tif 000043
【図３ｃ】
2021511752.tif 000044
【図３ｄ】
2021511752.tif 000045
【図４】
2021511752.tif 000046
【図５】
2021511752.tif 000047
【図６】
2021511752.tif 000048
【図７】
2021511752.tif 000049
【図８】
2021511752.tif 000050
【図９】
2021511752.tif 000051
【図１０】
2021511752.tif 000052
【図１１】
2021511752.tif 000053
【図１２】
2021511752.tif 000054
【図１３】
2021511752.tif 000055
【図１４】
2021511752.tif 000056
【図１５（ａ）】
2021511752.tif 000057
【図１５（ｂ）】
2021511752.tif 000058
【図１６】
2021511752.tif 000059
【図１７（ａ）】
2021511752.tif 000060
【図１７（ｂ）】
2021511752.tif 000061
【図１７（ｃ）】
2021511752.tif 000062
【図１８】
2021511752.tif 000063
【図１９】
2021511752.tif 000064
【図２０】
2021511752.tif 000065
【図２１】
2021511752.tif 000066
【図２２】
2021511752.tif 000067
【図２３】
2021511752.tif 000068
【図２４】
2021511752.tif 000069
【図２５】
2021511752.tif 000070
【図２６】
2021511752.tif 000071
【図２７（ａ）】
2021511752.tif 000072
【図２７（ｂ）】
2021511752.tif 000073
【図２８（ａ）】
2021511752.tif 000074
【図２８（ｂ）】
2021511752.tif 000075
【図２９】
2021511752.tif 000076
【図３０】
2021511752.tif 000077
【図３１】
2021511752.tif 000078
【図３２】
2021511752.tif 000079
【図３３】
2021511752.tif 000080
【国際調査報告】
2021511752.tif 000081
2021511752.tif 000082
2021511752.tif 000083
2021511752.tif 000084