(57)【要約】  本発明の実施形態は、ビデオ信号処理方法および装置を提供する。本発明の実施形態による画像信号のデコード方法は、現ブロックの高さ（height）および幅（width）に基づいて非分離変換の入力長および出力長を決定するステップと、上記非分離変換の入力長および出力長に対応する非分離変換行列を決定するステップと、上記非分離変換行列を上記現ブロックに適用するステップと、を有し、上記現ブロックの高さおよび幅がそれぞれ４である場合、上記非分離変換の入力長は８、出力長は１６に決定される。【選択図】図１
2021510286.tif 000002
【特許請求の範囲】
【請求項１】
画像信号をデコードするための方法であって、
現ブロックの高さ（height）および幅（width）に基づいて非分離変換の入力長および出力長を決定するステップと、
前記非分離変換の入力長および出力長に対応する非分離変換行列を決定するステップと、
前記非分離変換行列を前記現ブロックに適用するステップと、を有し、
前記現ブロックの高さおよび幅がそれぞれ４である場合、前記非分離変換の入力長は８、出力長は１６に決定される、ことを特徴とする方法。
【請求項２】
前記現ブロックの高さおよび幅がそれぞれ４である場合に該当しない場合、前記非分離変換の入力長および出力長は、それぞれ１６に決定される、ことを特徴とする請求項１に記載の方法。
【請求項３】
前記非分離変換行列を前記現ブロックに適用するステップは、
前記高さおよび幅がそれぞれ４である場合に該当しないとともに前記幅と高さとの積が閾値より小さい場合、前記非分離変換行列を前記現ブロックの左上側の４×４領域に適用するステップを有する、ことを特徴とする請求項２に記載の方法。
【請求項４】
前記非分離変換行列を前記現ブロックに適用するステップは、
前記高さおよび幅がそれぞれ４である場合に該当しないとともに前記幅が高さより大きいか等しい場合、前記非分離変換行列を前記現ブロックの左上側の４×４領域および前記左上側の４×４領域の右側に位置する４×４領域に適用するステップを有する、ことを特徴とする請求項２に記載の方法。
【請求項５】
前記非分離変換行列を前記現ブロックに適用するステップは、
前記高さおよび幅がそれぞれ４である場合に該当しないとともに前記幅と高さとの積が前記閾値より大きいか等しく、前記幅が高さより小さい場合、前記非分離変換行列を前記現ブロックの左上側の４×４領域および前記左上側の４×４領域の下に位置する４×４領域に適用するステップを有する、ことを特徴とする請求項２に記載の方法。
【請求項６】
前記非分離変換行列を決定するステップは、
前記現ブロックのイントラ予測モードに基づいて非分離変換集合インデックスを決定するステップと、
前記非分離変換集合インデックスに有される非分離変換集合内で非分離変換インデックスに対応する非分離変換カーネルを決定するステップと、
前記入力長および出力長に基づいて前記非分離変換カーネルから前記非分離変換行列を決定するステップと、を有する、ことを特徴とする請求項１に記載の方法。
【請求項７】
画像信号をデコードするための装置であって、
前記画像信号を記憶するメモリと、
前記メモリと結合されたプロセッサと、を有し、
前記プロセッサは、
現ブロックの高さ（height）および幅（width）に基づいて非分離変換の入力長および出力長を決定し、
前記非分離変換の入力長および出力長に対応する非分離変換行列を決定し、
前記非分離変換行列を前記現ブロックに適用するように設定され、
前記現ブロックの高さおよび幅がそれぞれ４である場合、前記非分離変換の入力長は８、出力長は１６に決定される、ことを特徴とする装置。
【請求項８】
前記現ブロックの高さおよび幅がそれぞれ４である場合に該当しない場合、前記非分離変換の入力長さおよび出力長は、それぞれ１６に決定される、ことを特徴とする請求項７に記載の装置。
【請求項９】
前記プロセッサは、
前記高さおよび幅がそれぞれ４である場合に該当しないとともに前記幅と高さとの積が閾値より小さい場合、前記非分離変換行列を前記現ブロックの左上側の４×４領域に適用するように設定される、ことを特徴とする請求項８に記載の装置。
【請求項１０】
前記プロセッサは、
前記高さおよび幅がそれぞれ４である場合に該当しないとともに前記幅が高さより大きいか等しい場合、前記非分離変換行列を前記現ブロックの左上側の４×４領域および前記左上側の４×４領域の右側に位置する４×４領域に適用するように設定される、ことを特徴とする請求項８に記載の装置。
【請求項１１】
前記プロセッサは、
前記高さおよび幅がそれぞれ４である場合に該当しないとともに前記幅と高さとの積が前記閾値より大きいか等しく、前記幅が高さより小さい場合、前記非分離変換行列を前記現ブロックの左上側の４×４領域および前記左上側の４×４領域の下に位置する４×４領域に適用するように設定される、ことを特徴とする請求項８に記載の装置。
【請求項１２】
前記プロセッサは、
前記現ブロックのイントラ予測モードに基づいて非分離変換集合インデックスを決定し、
前記非分離変換集合インデックスに有される非分離変換集合内で非分離変換インデックスに対応する非分離変換カーネルを決定し、
前記入力長および出力長に基づいて前記非分離変換カーネルから前記非分離変換行列を決定するように設定される、ことを特徴とする請求項７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像信号を処理するための方法および装置に関し、特に変換を実行することにより、映像信号をエンコードまたはデコードするための方法および装置に関する。
【背景技術】
【０００２】
圧縮符号化（エンコーディング）とは、デジタル化した情報を通信回線を介して転送したり、記憶（貯蔵）媒体に適合した形で記憶するための一連の信号処理技術を意味する。映像、映像、音声などのメディアが圧縮符号化の対象となることができ、特に、映像を対象に圧縮符号化を実行する技術をビデオ映像圧縮と称する。
【０００３】
次世代ビデオコンテンツは、高解像度（high spatial resolution）、高フレームレート（high frame rate）および映像表現の高次化（high dimensionality of scene representation）という特徴を有するようになる。そのようなコンテンツを処理するためには、メモリストレージ（memory storage）、メモリアクセスレート（率）（memory access rate）および処理電力（processing power）の面で莫大な増加をもたらす。
【０００４】
したがって、次世代の映像コンテンツをより効率的に処理するためのコーディングツールをデザインする必要がある。特に、ＨＥＶＣ（High Efficiency Video Coding）標準の後のビデオコーデック標準は、さらに高い精度（正確度）を有する予測技術とともに空間領域（spatial domain）のビデオ信号を周波数領域（frequency domain）に変換させるための効率的な変換技術を必要とする。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、高いコーディング効率を有するとともに低複雑度を有する変換を適用する画像信号処理方法および装置を提供しようとする。
【０００６】
本発明で解決しようとする技術的課題は、以上で言及した技術的課題に限定されず、言及しないさらに他の技術的課題は、下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解されるべきである。
【課題を解決するための手段】
【０００７】
本発明の実施形態による画像信号のデコード方法は、現（現在）ブロックの高さ（height）および幅（width）に基づいて非分離変換の入力長および出力長を決定するステップと、非分離変換の入力長および出力長に対応する非分離変換行列を決定するステップと、非分離変換行列を現ブロックに適用するステップと、を有し、現ブロックの高さおよび幅がそれぞれ４である場合、非分離変換の入力長は８、出力長は１６に決定される。
【０００８】
また、現ブロックの高さおよび幅がそれぞれ４である場合に該当しない場合、非分離変換の入力長および出力長は、それぞれ１６に決定される。
【０００９】
また、非分離変換行列を現ブロックに適用するステップは、高さおよび幅がそれぞれ４である場合に該当しないとともに幅と高さとの積が閾（臨界）値より小さい場合、非分離変換行列を現ブロックの左上側の４×４領域に適用するステップを有する。
【００１０】
また、非分離変換行列を現ブロックに適用するステップは、高さおよび幅がそれぞれ４である場合に該当しないとともに幅が高さより大きいか等しい場合、非分離変換行列を現ブロックの左上側の４×４領域および左上側の４×４領域の右側に位置する４×４領域に適用するステップを有する。
【００１１】
また、非分離変換行列を現ブロックに適用するステップは、高さおよび幅がそれぞれ４である場合に該当しないとともに幅と高さとの積が閾値より大きいか等しく、幅が高さより小さい場合、非分離変換行列を現ブロックの左上側の４×４領域および左上側の４×４領域の下に位置する４×４領域に適用するステップを有する。
【００１２】
また、非分離変換行列を決定するステップは、現ブロックのイントラ予測モードに基づいて非分離変換集合インデックスを決定するステップと、非分離変換集合インデックスに有される非分離変換集合内で非分離変換インデックスに対応する非分離変換カーネルを決定するステップと、入力長および出力長に基づいて非分離変換カーネルから非分離変換行列を決定するステップと、を有する。
【００１３】
本発明の他の実施形態による画像信号のデコード装置は、画像信号を記憶するメモリと、メモリと結合されたプロセッサと、を有し、プロセッサは、現ブロックの高さおよび幅に基づいて非分離変換の入力長および出力長を決定し、非分離変換の入力長および出力長に対応する非分離変換行列を決定し、非分離変換行列を現ブロックに適用するように設定され、現ブロックの高さおよび幅がそれぞれ４である場合、非分離変換の長さは８、出力１６に決定される。
【発明の効果】
【００１４】
本発明の実施形態によれば、現ブロックのサイズに基づいて変換を適用することにより、高いコーディング効率を有するとともに低複雑度を有するビデオコーディング方法および装置を提供することができる。
【００１５】
本発明で得られる効果は、以上で言及した効果に制限されず、言及しないさらに他の効果は、以下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解されるべきである。
【図面の簡単な説明】
【００１６】
【図１】本発明が適用される実施形態であって、ビデオ／イメージ信号のエンコードが行われるエンコード装置の概略ブロック図である。
【図２】本発明が適用される実施形態であって、画像信号のデコードが行われるデコード装置の概略ブロック図である。
【図３Ａ】本発明が適用されることができる実施形態であって、ＱＴ（QuadTree：ＱＴ）によるブロック分割構造を説明する図である。
【図３Ｂ】本発明が適用されることができる実施形態であって、ＢＴ（Binary Tree：ＢＴ）によるブロック分割構造を説明する図である。
【図３Ｃ】本発明が適用されることができる実施形態であって、ＴＴ（Ternary Tree：ＴＴ）によるブロック分割構造を説明する図である。
【図３Ｄ】本発明が適用されることができる実施形態であって、ＡＴ（Asymmetric Tree：ＡＴ）によるブロック分割構造を説明する図である。
【図４】本発明が適用される実施形態であって、図１のエンコード装置内の変換および量子化部、逆量子化および逆変換部の概略ブロック図である。
【図５】本発明が適用される実施形態であって、デコード装置内の逆量子化および逆変換部の概略ブロック図である。
【図６】本発明が適用される実施形態であって、一次変換および二次変換によりビデオ信号をエンコードするフローチャートである。
【図７】本発明が適用される実施形態であって、二次逆変換および一次逆変換によりビデオ信号をデコードするフローチャートである。
【図８】本発明の実施形態によるＡＭＴ（Adaptive Multiple Transform）が適用される変換設定グループ（transform configuration group）の例を示す図である。
【図９】本発明の実施形態によるＡＭＴが適用されるエンコードのフローチャートの例を示す図である。
【図１０】本発明の実施形態によるＡＭＴが適用されるデコードのフローチャートの例を示す図である。
【図１１】本発明の実施形態によるＡＭＴフラグおよびＡＭＴインデックスをエンコードするフローチャートの例を示す図である。
【図１２】ＡＭＴフラグおよびＡＭＴインデックスに基づいた変換を行うためのデコードのフローチャートの例を示す図である。
【図１３】本発明が適用される実施形態であって、ギブンス回転（Givens rotation）を説明するためのダイアグラムを示す図である。
【図１４】本発明が適用される実施形態であって、ギブンス回転レイヤおよび置換（permutation）から構成された４×４ＮＳＳＴにおける１ラウンドの構成を示す図である。
【図１５】本発明が適用される実施形態であって、本発明の実施形態によるイントラ予測モード別の非分離変換集合の構成の例を示す図である。
【図１６】変換係数または変換係数ブロックに対する３つの順方向スキャン順序であって、（ａ）は対角スキャン（diagonal scan）、（ｂ）は水平スキャン（horizontal scan）、（ｃ）は垂直スキャン（vertical scan）を示す図である。
【図１７】本発明が適用される実施形態であって、４×８ブロックに対する４×４ＲＳＴの適用時、順方向対角スキャンが適用される場合の変換係数の位置を示す図である。
【図１８】本発明が適用される実施形態であって、２つの４×４ブロックの有効な変換係数を１つのブロックにマージ（併合）する場合の例を示す図である。
【図１９】本発明が適用される実施形態であって、イントラ予測モード別に混合されたＮＳＳＴ集合の構成方法の例を示す図である。
【図２０】本発明が適用される実施形態であって、イントラ予測モードおよび変換ブロックサイズを考慮してＮＳＳＴ集合（または、カーネル）を選択する方法の例を示す図である。
【図２１Ａ】本発明が適用される実施形態であって、順方向および逆方向に縮小された変換を示す図である。
【図２１Ｂ】本発明が適用される実施形態であって、順方向および逆方向に縮小された変換を示す図である。
【図２２】本発明の実施形態による縮小された変換を使用したデコードのフローチャートの例を示す図である。
【図２３】本発明の実施形態による条件的に縮小された変換の適用のフローチャートの例を示す図である。
【図２４】本発明の実施形態による条件的に縮小された変換が適用される二次逆変換のためのデコードのフローチャートの例を示す図である。
【図２５Ａ】本発明の実施形態による縮小された変換および縮小された逆変換の例を示す図である。
【図２５Ｂ】本発明の実施形態による縮小された変換および縮小された逆変換の例を示す図である。
【図２６Ａ】本発明の実施形態による縮小された変換および縮小された逆変換の例を示す図である。
【図２６Ｂ】本発明の実施形態による縮小された変換および縮小された逆変換の例を示す図である。
【図２７】本発明の実施形態による縮小された二次変換が適用される領域の例を示す図である。
【図２８】本発明の実施形態による縮小因子による縮小された変換を示す図である。
【図２９】本発明の実施形態による変換が適用されるデコードのフローチャートの例を示す図である。
【図３０】本発明が適用される実施形態であって、ビデオ信号を処理するための装置のブロック図の例を示す図である。
【図３１】本発明が適用される実施形態であって、画像コーディングシステムの例を示す図である。
【図３２】本発明が適用される実施形態であって、コンテンツストリーミングシステムの構造図である。
【発明を実施するための形態】
【００１７】
本発明に関する理解を助けるために詳細な説明の一部に含まれる添付図面は、本発明に対する実施形態を提供し、詳細な説明と共に本発明の技術的特徴を説明する。
【００１８】
以下、本発明に係る好適な実施形態を添付の図面を参照して、詳細に説明する。添付された図面と一緒に以下に開示される詳細な説明は、本発明の例示的な実施形態を説明しようとするものであり、本発明が実施されることができる唯一の実施形態を示したいのではない。以下の詳細な説明は、本発明の完全な理解を提供するために具体的な細部事項を含む。しかしながら、当業者は、本発明がこのような具体的な詳細事項がなくても実施できることが分かる。
【００１９】
いくつかの場合、本発明の概念が曖昧になることを避けるために、公知の構造および装置は省略されるか、各構造および装置の中核機能を中心としたブロック図の形式で示されることができる。
【００２０】
いくつかの場合、本発明の概念が曖昧になることを避けるために、公知の構造および装置は省略されるか、各構造および装置の中核機能を中心としたブロック図の形式で示されることができる。
【００２１】
以下の説明で用いられる特定の用語は、本発明の理解を助けるために提供されたものであり、このような特定の用語の使用は、本発明の技術的思想を逸脱しない範囲で他の形態に変更されることができる。例えば、信号、データ、サンプル、ピクチャ、フレーム、ブロックなどの場合、各コーディングの過程で適切に代替されて解釈されることがある。
【００２２】
以下、本明細書において「処理ユニット」は、予測、変換、および／または量子化などのエンコード／デコードの処理過程が実行される単位を意味する。また、処理ユニットは、輝度（luma）成分の単位と色差（chroma）成分の単位とを含む意味で解釈されることができる。例えば、処理ユニットは、ブロック（block）、コーディングユニット（Coding Unit、ＣＵ）、予測ユニット（Prediction Unit、ＰＵ）、または変換ブロック（Transform Unit、ＴＵ）に該当することができる。
【００２３】
また、処理ユニットは、輝度成分の単位または色差成分の単位として解釈されることができる。例えば、処理ユニットは、輝度成分のＣＴＢ、ＣＢ、ＰＵ、またはＴＢに該当することができる。あるいは、処理ユニットは、色差成分のＣＴＢ、ＣＢ、ＰＵ、またはＴＢに該当することができる。また、これに限定されるものではなく、処理ユニットは、輝度成分の単位および色差成分の単位を含む意味で解釈されることもある。
【００２４】
また、処理ユニットは、必ずしも正方形のブロックに限定されるものではなく、３つ以上の頂点を有する多角形の形で構成されることもある。
【００２５】
また、以下、本明細書において、ピクセル、画素、または係数（変換係数または一次変換を経た変換係数）などをサンプルとして総称（通称）する。そして、サンプルを用いるということは、ピクセル値、画素値、または係数（変換係数または一次変換を経た変換係数）などを利用することを意味する。
【００２６】
以下、静止画または動画のエンコード／デコード方法に関し、最悪の場合（worst case）の計算複雑度を考慮した縮小された二次変換（Reduced Secondary Transform：ＲＳＴ）の設計および適用方法について説明する。
【００２７】
本発明の実施形態は、画像およびビデオ圧縮方法および装置を提供する。圧縮されたデータは、ビットストリームの形態を有し、ビットストリームは、様々な形態のストレージ（storage）に記憶（格納）されることもでき、ネットワークを介してストリーミングされてデコーダを有する端末機に伝達されることもできる。端末機においては、ディスプレイ装置を装着した場合、ディスプレイ装置で復号された画像を表示してもよく、単にビットストリームデータを記憶してもよい。本発明の実施形態において提案される方法および装置は、エンコーダおよびデコーダの両方に適用されることができ、ビットストリームを生成する装置またはビットストリームを受信する装置に全て適用されることができ、端末機においてディスプレイ装置を介して出力するか否かに関係なく適用されることができる。
【００２８】
画像圧縮装置は、予測部、変換および量子化部、エントロピコーディング部から構成され、エンコード装置およびデコード装置の概略ブロック図は、図１および図２の通りである。そのうち、変換および量子化部においては、オリジナル（原本）信号から予測信号を減算して残差信号をＤＣＴ（Discrete Cosine Transform）−２のような変換により周波数領域（ドメイン）信号に変換した後、量子化を適用して０でない信号の数を大幅に減らして画像圧縮を可能とする。
【００２９】
図１は、本発明が適用される実施形態であって、ビデオ／イメージ信号のエンコードが行われるエンコード装置の概略ブロック図を示す。
【００３０】
画像分割部１１０は、エンコード装置１００に入力された入力画像（または、ピクチャ、フレーム）を１つまたは複数の処理ユニット（processing unit）に分割する。一例として、上記処理ユニットは、コーディングユニット（ＣＵ）と呼ばれてもよい。この場合、コーディングユニットは、コーディングツリーユニット（Coding Tree Unit：ＣＴＵ）または最大コーディングユニット（Largest Coding Unit：ＬＣＵ）からＱＴＢＴ（Quad-Tree Binary-Tree）構造によって再帰的に（recursively）分割される。例えば、１つのコーディングユニットは、四分木（クアッドツリー）構造および／または二分木（バイナリツリー）構造をベースに下位デプスの（deeper）複数のコーディングユニットに分割される。この場合、例えば、四分木構造が先に適用され、二分木構造が後で適用されてもよい。あるいは、二分木構造が先に適用されてもよい。これ以上分割されない最終コーディングユニットをベースに本発明によるコーディング手順が行われる。この場合、画像特性によるコーディング効率などに基づいて最大コーディングユニットが直ちに最終コーディングユニットとして使用されてもよく、または、必要に応じてコーディングユニットは再帰的に（recursively）より下位デプスのコーディングユニットに分割されて最適なサイズのコーディングユニットが最終コーディングユニットとして使用されてもよい。ここで、コーディング手順とは、後述する予測、変換、および復元などの手順を含む。他の例として、上記処理ユニットは、予測ユニット（ＰＵ）または変換ユニット（ＴＵ）をさらに含んでもよい。この場合、上記予測ユニットおよび上記変換ユニットは、それぞれ前述した最終コーディングユニットから分割またはパーティショニングされる。上記予測ユニットは、サンプル予測の単位であり、上記変換ユニットは、変換係数を導出（誘導）する単位および／または変換係数から残差（レジデュアル）信号（residual signal）を導出する単位であり得る。
【００３１】
ユニットは、場合によって、ブロック（block）または領域（area）などの用語と混用されてもよい。一般的な場合、Ｍ×Ｎブロックは、Ｍ個の列およびＮ個の行からなるサンプルまたは変換係数（transform coefficient）の集合を示す。サンプルは、一般的にピクセルまたはピクセルの値を示し、輝度（luma）成分のピクセル／ピクセルの値のみを示してもよく、彩度（chroma）成分のピクセル／ピクセルの値のみを示してもよい。サンプルは、１つのピクチャ（または、画像）をピクセル（pixel）またはペル（pel）に対応する用語として使用することができる。
【００３２】
エンコード装置１００は、入力画像信号（オリジナル（原本）ブロック、オリジナルサンプルアレイ）から、インター予測部１８０またはイントラ予測部１８５から出力された予測信号（予測されたブロック、予測サンプルアレイ）を減算して、残差信号（residual signal、残差（残余）ブロック、残差サンプルアレイ）を生成し、生成された残差信号は、変換部１２０に送信される。この場合、図示されているようにエンコーダ１００内で入力画像信号（オリジナルブロック、オリジナルサンプルアレイ）から予測信号（予測ブロック、予測サンプルアレイ）を減算するユニットは、減算部１１５と呼ばれてもよい。予測部は、処理対象ブロック（以下、現ブロックという）に対する予測を行い、現ブロックに対する予測サンプルを含む予測されたブロック（predicted block）を生成する。予測部は、現ブロックまたはＣＵ単位で、イントラ予測が適用されるかまたはインター予測が適用されるかを決定することができる。予測部は、各予測モードに関する説明において後述するように予測モード情報などの予測に関する様々な情報を生成してエントロピエンコード部１９０に伝達する。予測に関する情報は、エントロピエンコード部１９０においてエンコードされてビットストリームの形態で出力される。
【００３３】
イントラ予測部１８５は、現ピクチャ内のサンプルを参照して現ブロックを予測する。参照されるサンプルは、予測モードによって上記現ブロックの周辺（neighbor）に位置するか、または離れて位置する。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含む。非方向性モードは、例えば、ＤＣモードおよび平面（プランナー）モード（Planar mode）を含む。方向性モードは、予測方向の細密程度に応じて、例えば、３３個の方向性予測モードまたは６５個の方向性予測モードを含んでもよい。ただし、これは例であって、設定によってそれ以上またはそれ以下の数の方向性予測モードが使用されてもよい。イントラ予測部１８５は、周辺ブロックに適用された予測モードを用いて、現ブロックに適用される予測モードを決定することもできる。
【００３４】
インター予測部１８０は、参照ピクチャ上で動きベクトルにより特定される参照ブロック（参照サンプルアレイ）をベースに、現ブロックに対する予測されたブロックを導出することができる。ここで、インター予測モードにおいて送信される動き情報の量を減らすために、周辺ブロックと現ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロックまたはサンプル単位で予測することができる。動き情報は、動きベクトルおよび参照ピクチャインデックスを含む。動き情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）情報をさらに含んでもよい。インター予測の場合、周辺ブロックは、現ピクチャ内に存在する空間的周辺ブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）とを含む。参照ブロックを含む参照ピクチャと時間的周辺ブロックを含む参照ピクチャとは同一であってもよく、異なってもよい。上記時間的周辺ブロックは、同位置参照ブロック（collocated reference block）、コロケート（同一位置）ＣＵ（ｃｏｌＣＵ）などの名で呼ばれてもよく、時間的周辺ブロックを含む参照ピクチャは、コロケートピクチャ（collocated picture、ｃｏｌＰｉｃ）と呼ばれてもよい。例えば、インター予測部１８０は、周辺ブロックに基づいて動き情報候補リストを構成し、上記現ブロックの動きベクトルおよび／または参照ピクチャインデックスを導出するためにどの候補が使用されるかを示す情報を生成することができる。様々な予測モードに基づいてインター予測が行われることができ、例えば、スキップモードおよびマージモードの場合、インター予測部１８０は、周辺ブロックの動き情報を現ブロックの動き情報として利用することができる。スキップモードの場合、マージモードと異なって、残差信号が送信されない場合がある。動き情報予測（Motion Vector Prediction：ＭＶＰ）モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子（motion vector predictor）として利用し、動きベクトル差分（motion vector difference）をシグナリングすることにより、現ブロックの動きベクトルを指示することができる。
【００３５】
インター予測部１８０またはイントラ予測部１８５により生成された予測信号は、復元信号を生成するために利用されるか残差信号を生成するために利用される。
【００３６】
変換部１２０は、残差信号に変換技法を適用して変換係数（transform coefficients）を生成する。例えば、変換技法は、ＤＣＴ、ＤＳＴ（Discrete Sine Transform）、ＫＬＴ（Karhunen-Loeve Transform）、ＧＢＴ（Graph-Based Transform）、またはＣＮＴ（Conditionally Non-linear Transform）の少なくとも１つを含む。ここで、ＧＢＴは、ピクセル間の関係情報をグラフで表現するとき、このグラフから得られた変換を意味する。ＣＮＴは、以前に復元された全てのピクセル（all previously reconstructed pixel）を利用して予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同一サイズを有するピクセルブロックに適用されてもよく、正方形ではない可変サイズのブロックに適用されてもよい。
【００３７】
量子化部１３０は、変換係数を量子化してエントロピエンコード部１９０に送信し、エントロピエンコード部１９０は、量子化された信号（量子化された変換係数に関する情報）をエンコードしてビットストリームに出力する。量子化された変換係数に関する情報は、残差情報と呼ばれてもよい。量子化部１３０は、係数スキャン順序（scan order）に基づいてブロック形態の量子化された変換係数を一次元ベクトル形態で再整列し、一次元ベクトル形態の量子化された変換係数に基づいて上記量子化された変換係数に関する情報を生成することもできる。エントロピエンコード部１９０は、例えば、指数ゴロム（exponential Golomb）、ＣＡＶＬＣ（Context-Adaptive Variable Length Coding）、ＣＡＢＡＣ（Context-Adaptive Binary Arithmetic Coding）などの様々なエンコード方法を行うことができる。エントロピエンコード部１９０は、量子化された変換係数のほか、ビデオ／イメージ復元に必要な情報（例えば、シンタックス要素（syntax elements）の値など）をともにまたは別にエンコードすることもできる。エンコードされた情報（例えば、ビデオ／画像情報）は、ビットストリームの形態でＮＡＬ（Network Abstraction Layer）ユニット単位で送信または記憶される。上記ビットストリームは、ネットワークを介して送信され、またはデジタル記憶媒体に記憶される。ここで、ネットワークは、放送網および／または通信網などを含み、デジタル記憶媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、ブルーレイ、ＨＤＤ、ＳＳＤなどの多様な記憶媒体を含む。エントロピエンコード部１９０から出力された信号を送信する送信部（図示せず）および／もしくは記憶する記憶部（図示せず）がエンコード装置１００の内／外部エレメントとして構成されてもよく、または、送信部は、エントロピエンコード部１９０の構成要素であってもよい。
【００３８】
量子化部１３０から出力された量子化された変換係数は、予測信号を生成するために利用されることができる。例えば、量子化された変換係数は、ループ内の逆量子化部１４０および逆変換部１５０により逆量子化および逆変換を適用することにより残差信号を復元することができる。加算部１５５は、復元された残差信号をインター予測部１８０またはイントラ予測部１８５から出力された予測信号に加算することにより復元（reconstructed）信号（復元ピクチャ、復元ブロック、復元サンプルアレイ）が生成される。スキップモードが適用された場合のように処理対象ブロックに対する残差がない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部１５５は、復元部または復元ブロック生成部と呼ばれてもよい。生成された復元信号は、現ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されてもよく、後述のようにフィルタリングを経て次のピクチャのインター予測のために使用されてもよい。
【００３９】
フィルタリング部１６０は、復元信号にフィルタリングを適用して主観的／客観的画質を向上させることができる。例えば、フィルタリング部１６０は、復元ピクチャに様々なフィルタリング方法を適用して修正された（modified）復元ピクチャを生成し、修正された復元ピクチャを復号ピクチャバッファ１７０に送信する。様々なフィルタリング方法には、例えば、デブロックフィルタリング、サンプル適応オフセット（sample adaptive offset）、適応ループフィルタ（adaptive loop filter）、双方向フィルタ（bilateral filter）などが含まれる。フィルタリング部１６０は、各フィルタリング方法の説明において、後述のようにフィルタリングに関する様々な情報を生成してエントロピエンコード部１９０に伝達する。フィルタリングに関する情報は、エントロピエンコード部１９０においてエンコードされてビットストリームの形態で出力される。
【００４０】
復号ピクチャバッファ１７０に送信された修正された復号ピクチャは、インター予測部１８０において参照ピクチャとして使用される。エンコード装置１００は、これにより、インター予測が適用される場合、エンコード装置１００とデコード装置とにおける予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【００４１】
復号ピクチャバッファ１７０は、修正された復元ピクチャをインター予測部１８０における参照ピクチャとして使用するために記憶できる。
【００４２】
図２は、本発明が適用される実施形態であって、画像信号のデコードが行われるデコード装置の概略ブロック図を示す。
【００４３】
図２に示すように、デコード装置２００は、エントロピデコード部２１０、逆量子化部２２０、逆変換部２３０、加算部２３５、フィルタリング部２４０、復号ピクチャバッファ（ＤＰＢ）２５０、インター予測部２６０およびイントラ予測部２６５を含んで構成される。インター予測部２６０およびイントラ予測部２６５を合わせて予測部と呼んでもよい。すなわち、予測部は、インター予測部１８０およびイントラ予測部１８５を含む。逆量子化部２２０、逆変換部２３０を合わせて残差処理部と呼んでもよい。すなわち、残差処理部は、逆量子化部２２０、逆変換部２３０を含む。前述のエントロピデコード部２１０、逆量子化部２２０、逆変換部２３０、加算部２３５、フィルタリング部２４０、インター予測部２６０およびイントラ予測部２６５は、実施形態によって１つのハードウェアコンポーネント（例えば、デコーダまたはプロセッサ）により構成される。また、復号ピクチャバッファ２５０は、実施形態によって１つのハードウェアコンポーネント（例えば、メモリまたはデジタル記憶媒体）により構成される。
【００４４】
ビデオ／イメージ情報を含むビットストリームが入力されると、デコード装置２００は、図２のエンコード装置１００においてビデオ／イメージ情報が処理されたプロセスに対応して画像を復元することができる。例えば、デコード装置２００は、エンコード装置１００において適用された処理ユニットを利用してデコードを行う。したがって、デコーディングの処理ユニットは、例えば、コーディングユニットであり、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットから四分木構造および／または二分木構造によって分割される。そして、デコード装置２００によりデコードおよび出力された復元画像信号は、再生装置により再生される。
【００４５】
デコード装置２００は、図２のエンコード装置１００から出力された信号をビットストリームの形態で受信し、受信した信号は、エントロピデコード部２１０を介してデコードされる。例えば、エントロピデコード部２１０は、ビットストリームをパージングして画像復元（または、ピクチャ復元）に必要な情報（例えば、ビデオ／画像情報）を導出する。例えば、エントロピデコード部２１０は、指数ゴロム符号化、ＣＡＶＬＣまたはＣＡＢＡＣなどのコーディング方法に基づいてビットストリーム内の情報をデコードし、画像復元に必要なシンタックスエレメントの値、残差に関する変換係数の量子化された値を出力することができる。より詳細には、ＣＡＢＡＣエントロピデコード方法は、ビットストリームにおいて各構文要素に該当するビンを受信し、デコーディング対象の構文要素情報ならびに周辺およびデコーディング対象ブロックのデコーディング情報または以前の段階でデコードされたシンボル／ビンの情報を利用してコンテキスト（context）モデルを決定し、決定されたコンテキストモデルによってビン（bin）の発生確率を予測してビンの算術復号（デコーディング）（arithmetic decoding）を行って各構文要素の値に該当するシンボルを生成することができる。ここで、ＣＡＢＡＣエントロピデコード方法は、コンテキストモデルの決定後、次のシンボル／ビンのコンテキストモデルのために、デコードされたシンボル／ビンの情報を利用してコンテキストモデルをアップデートすることができる。エントロピデコード部２１０においてデコードされた情報のうちの予測に関する情報は、予測部（インター予測部２６０およびイントラ予測部２６５）に提供され、エントロピデコード部２１０においてエントロピデコードが行われた残差値、すなわち、量子化された変換係数および関連パラメータ情報は、逆量子化部２２０に入力される。また、エントロピデコード部２１０においてデコードされた情報のうちのフィルタリングに関する情報は、フィルタリング部２４０に提供される。一方、エンコード装置１００から出力された信号を受信する受信部（図示せず）は、デコード装置２００の内／外部エレメントとしてさらに構成されてもよく、または、受信部は、エントロピデコード部２１０の構成要素でもあり得る。
【００４６】
逆量子化部２２０においては、量子化された変換係数を逆量子化して変換係数を出力する。逆量子化部２２０は、量子化された変換係数を２次元のブロック形態で再整列する。この場合、エンコード装置１００において行われた係数スキャン順序に基づいて再整列（定列）が行われることができる。逆量子化部２２０は、量子化パラメータ（例えば、量子化ステップサイズ情報）を用いて量子化された変換係数に対する逆量子化を行い、変換係数（transform coefficients）を取得する。
【００４７】
逆変換部２３０は、変換係数を逆変換することにより残差信号（残差ブロック、残差サンプルアレイ）を取得する。
【００４８】
予測部は、現ブロックに対する予測を行い、現ブロックに対する予測サンプルを含む予測されたブロック（predicted block）を生成する。予測部は、エントロピデコード部２１０から出力された上記予測に関する情報に基づいて、現ブロックにイントラ予測が適用されるかまたはインター予測が適用されるかを決定し、具体的なイントラ／インター予測モードを決定することができる。
【００４９】
イントラ予測部２６５は、現ピクチャ内のサンプルを参照して現ブロックを予測することができる。参照されるサンプルは、予測モードに応じて現ブロックの周辺（neighbor）に位置してもよく、または離隔して位置してもよい。イントラ予測において予測モードは、複数の非方向性モードおよび複数の方向性モードを全て含む。イントラ予測部２６５は、周辺ブロックに適用された予測モードを用いて、現ブロックに適用される予測モードを決定することもできる。
【００５０】
インター予測部２６０は、参照ピクチャ上で動きベクトルにより特定される参照ブロック（参照サンプルアレイ）に基づいて、現ブロックに対する予測されたブロックを導出する。ここで、インター予測モードで送信される動き情報の量を減少させるために、周辺ブロックと現ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロックまたはサンプル単位で予測する。動き情報は、動きベクトルおよび参照ピクチャインデックスを含んでもよい。動き情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）情報をさらに含んでもよい。インター予測の場合、周辺ブロックは、現ピクチャ内に存在する空間的周辺ブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）とを含む。例えば、インター予測部２６０は、周辺ブロックの予測に関する情報に基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて現ブロックの動きベクトルおよび／または参照ピクチャインデックスを導出する。様々な予測モードに基づいてインター予測が行われ、予測に関する情報は、現ブロックに対するインター予測のモードを指示する情報を含む。
【００５１】
加算部２３５は、取得した残差信号をインター予測部２６０またはイントラ予測部２６５から出力された予測信号（予測されたブロック、予測サンプルアレイ）に加算することにより復元信号（復元ピクチャ、復元ブロック、復元サンプルアレイ）を生成する。スキップモードが適用された場合のように処理対象ブロックに対する残差がない場合、予測されたブロックが復元ブロックとして使用されることができる。
【００５２】
加算部２３５は、復元部または復元ブロック生成部と称されてもよい。生成された復元信号は、現ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されてもよく、後述のようにフィルタリングを経て次のピクチャのインター予測のために使用されてもよい。
【００５３】
フィルタリング部２４０は、復元信号にフィルタリングを適用することにより主観的／客観的画質を向上させることができる。例えば、フィルタリング部２４０は、復元ピクチャに様々なフィルタリング方法を適用して修正された（modified）復元ピクチャを生成し、修正された復元ピクチャを復号ピクチャバッファ２５０に送信する。様々なフィルタリング方法は、例えば、デブロックフィルタリング、サンプル適応オフセット（Sample Adaptive Offset：ＳＡＯ）、適応ループフィルタ（Adaptive Loop Filter：ＡＬＦ）、双方向フィルタ（bilateral filter）を含む。
【００５４】
復号ピクチャバッファ２５０に送信された修正された復号ピクチャは、インター予測部２６０により参照ピクチャとして使用されることができる。
【００５５】
本文書において、エンコード装置１００のフィルタリング部１６０、インター予測部１８０、およびイントラ予測部１８５において説明された実施形態は、それぞれデコード装置２００のフィルタリング部２４０、インター予測部２６０およびイントラ予測部２６５にも同一にまたは対応するように適用される。
【００５６】
図３は、本発明が適用されることができる実施形態であって、図３ＡはＱＴ（QuadTree：ＱＴ）、図３ＢはＢＴ（Binary Tree：ＢＴ）、図３ＣはＴＴ（Ternary Tree：ＴＴ）、図３ＤはＡＴ（Asymmetric Tree：ＡＴ）によるブロック分割構造を説明する図である。
【００５７】
ビデオコーディングにおいて、１つのブロックは、ＱＴベースで分割されることができる。また、ＱＴにより分割された１つのサブブロック（subblock）は、ＱＴを使用して再帰的にさらに分割されてもよい。これ以上ＱＴ分割されないリーフブロック（leaf block）は、ＢＴ、ＴＴまたはＡＴのうちの少なくとも１つの方式により分割される。ＢＴは、水平（horizontal）ＢＴ（２Ｎ×Ｎ、２Ｎ×Ｎ）および垂直（vertical）ＢＴ（Ｎ×２Ｎ、Ｎ×２Ｎ）の２つの形態の分割を有することができる。ＴＴは、水平ＴＴ（２Ｎ×１／２Ｎ、２Ｎ×Ｎ、２Ｎ×１／２Ｎ）および垂直ＴＴ（１／２Ｎ×２Ｎ、Ｎ×２Ｎ、１／２Ｎ×２Ｎ）の２つの形態の分割を有することができる。ＡＴは、水平−上側（horizontal-up）ＡＴ（２Ｎ×１／２Ｎ、２Ｎ×３／２Ｎ）、水平−下側（horizontal-down）ＡＴ（２Ｎ×３／２Ｎ、２Ｎ×１／２Ｎ）、垂直−左側（vertical-left）ＡＴ（１／２Ｎ×２Ｎ、３／２Ｎ×２Ｎ）、垂直−右側（vertical-right）ＡＴ（３／２Ｎ×２Ｎ、１／２Ｎ×２Ｎ）の４つの形態の分割を有することができる。それぞれのＢＴ、ＴＴ、ＡＴは、ＢＴ、ＴＴ、ＡＴを使用して再帰的にさらに分割されてもよい。
【００５８】
図３Ａは、ＱＴ分割の例を示す。ブロックＡは、ＱＴにより４つのサブブロック（Ａ０、Ａ１、Ａ２、Ａ３）に分割される。サブブロックＡ１は、再びＱＴにより４つのサブブロック（Ｂ０、Ｂ１、Ｂ２、Ｂ３）に分割される。
【００５９】
図３Ｂは、ＢＴ分割の例を示す。ＱＴによりこれ以上分割されないブロックＢ３は、垂直ＢＴ（Ｃ０、Ｃ１）または水平ＢＴ（Ｄ０、Ｄ１）に分割される。ブロックＣ０のように、それぞれのサブブロックは、水平ＢＴ（Ｅ０、Ｅ１）または垂直ＢＴ（Ｆ０、Ｆ１）の形態のように再帰的にさらに分割される。
【００６０】
図３Ｃは、ＴＴ分割の例を示す。ＱＴによりこれ以上分割されないブロックＢ３は、垂直ＴＴ（Ｃ０、Ｃ１、Ｃ２）または水平ＴＴ（Ｄ０、Ｄ１、Ｄ２）に分割される。ブロックＣ１のように、それぞれのサブブロックは、水平ＴＴ（Ｅ０、Ｅ１、Ｅ２）または垂直ＴＴ（Ｆ０、Ｆ１、Ｆ２）の形態のように再帰的にさらに分割される。
【００６１】
図３Ｄは、ＡＴ分割の例を示す。ＱＴによりこれ以上分割されないブロックＢ３は、垂直ＡＴ（Ｃ０、Ｃ１）または水平ＡＴ（Ｄ０、Ｄ１）に分割される。ブロックＣ１のように、それぞれのサブブロックは、水平ＡＴ（Ｅ０、Ｅ１）または垂直ＴＴ（Ｆ０、Ｆ１）の形態のように再帰的にさらに分割されることができる。
【００６２】
一方、ＢＴ、ＴＴ、ＡＴ分割は、共に使用されてもよい。例えば、ＢＴにより分割されたサブブロックは、ＴＴまたはＡＴによる分割が可能である。また、ＴＴにより分割されたサブブロックは、ＢＴまたはＡＴによる分割が可能である。ＡＴにより分割されたサブブロックは、ＢＴまたはＴＴによる分割が可能である。例えば、水平ＢＴ分割の後、それぞれのサブブロックが垂直ＢＴに分割されることができ、または、垂直ＢＴ分割の後、それぞれのサブブロックが水平ＢＴに分割されることもできる。この場合、分割順序は異なるが、最終的に分割される形状は同一である。
【００６３】
また、ブロックが分割されると、ブロックを探索する順序を多様に定義することができる。一般に、左から右へ、上端から下端へ探索が行われ、ブロックを探索するということは、各分割されたサブブロックの追加的なブロック分割が可能か否かを決定する順序を意味するか、ブロックがこれ以上分割されない場合は、各サブブロックの符号化順序を意味するか、または、サブブロックにおいて他の隣接ブロックの情報を参照するときの探索順序を意味する。
【００６４】
図３Ａないし図３Ｄのような分割構造により分割された処理ユニット（または、変換ブロック）別に変換が行われることができ、特に、行（row）方向および列（column）方向別に分割されて変換行列が適用されることができる。本発明の実施形態によれば、処理ユニット（または、変換ブロック）の行方向または列方向の長さに応じて異なる変換タイプが使用されることができる。
【００６５】
図４および図５は、本発明が適用される実施形態であって、図４は、図１のエンコード装置１００内の変換および量子化部１２０／１３０、逆量子化および逆変換部１４０／１５０の概略ブロック図を示し、図５は、デコード装置２００内の逆量子化および逆変換部２２０／２３０の概略ブロック図を示す。
【００６６】
図４に示すように、変換および量子化部１２０／１３０は、一次変換部（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）の２段階を適用することができ、また、アルゴリズムによってそれ以上の変換段階が用いられることもできる。ここで、一次変換は、コア変換（core transform）と称されてもよい。
【００６９】
一次変換部１２１は、残差信号に対して一次変換を適用し、ここで、一次変換は、エンコーダおよび／またはデコーダにおいてテーブルとして既に（予め）定義されることができる。
【００７０】
二次変換部１２２は、一次変換された信号に対して二次変換を適用し、ここで、二次変換は、エンコーダおよび／またはデコーダにおいてテーブルとして既に定義されることができる。
【００７１】
一実施形態において、二次変換として非分離二次変換（non-separable secondary transform）（ＮＳＳＴ）が条件的に適用されることができる。例えば、ＮＳＳＴは、画面内の予測ブロックである場合にのみ適用され、予測モードグループごとに適用可能な変換セットを有することができる。
【００７２】
ここで、予測モードグループは、予測方向に対する対称性に基づいて設定される。例えば、予測モード５２と予測モード１６とは、予測モード３４（対角方向）を基準に対称であるので、１つのグループを形成して同一の変換セット（transform set）が適用されることができる。ここで、予測モード５２に対する変換を適用するとき、入力データを転置（transpose）した後に適用し、これは、予測モード１６と変換セットが同一であるためである。
【００７３】
一方、平面モード（Planar mode）およびＤＣモード（DC mode）の場合、方向に対する対称性が存在しないので、各自の変換セットを有し、当該変換セットは、２つの変換で構成されることができる。残りの方向性モードに対しては、変換セットごとに３つの変換で構成されることができる。
【００７４】
量子化部１３０は、二次変換された信号に対して量子化を行う。
【００７５】
逆量子化および逆変換部１４０／１５０は、前述した説明の過程を逆に行い、重複する説明は省略する。
【００７６】
図５は、デコード装置２００内の逆量子化および逆変換部２２０／２３０の概略ブロック図を示す。
【００７７】
図５に示すように、逆量子化および逆変換部２２０／２３０は、逆量子化部２２０、逆二次変換部（inverse secondary transform unit）２３１および逆一次変換部（inverse primary transform unit）２３２を含む。
【００７８】
逆量子化部２２０は、量子化ステップサイズ情報を用いてエントロピデコードされた信号から変換係数を取得する。
【００７９】
逆二次変換部２３１においては、変換係数に対して逆二次変換を行う。ここで、逆二次変換は、図４で説明した二次変換の逆変換を示す。
【００８０】
逆一次変換部２３２は、逆二次変換された信号（または、ブロック）に対して逆一次変換を行い、残差信号（residual signal）を取得する。ここで、逆一次変換は、図４で説明した上記一次変換（primary transform）の逆変換を示す。
【００８１】
図６は、本発明が適用される実施形態であって、一次変換および二次変換によりビデオ信号をエンコードするフローチャートを示す。図６に示す各動作は、エンコード装置１００の変換部１２０により行われる。
【００８２】
エンコード装置１００は、現ブロックの予測モード、ブロック形状および／またはブロックサイズの少なくとも１つに基づいて、順方向二次変換を決定（または、選択）する（Ｓ６１０）。
【００８３】
エンコード装置１００は、ＲＤ最適化（rate-distortion optimization）により最適な順方向二次変換を決定することができる。最適な順方向二次変換は、複数の変換組合せのうちの１つに対応し、複数の変換組合せは、変換インデックスにより定義される。例えば、ＲＤ最適化のために、エンコード装置１００は、各候補に対して順方向二次変換、量子化、残差コーディングなどを全て行った結果を比較することができる。
【００８４】
エンコード装置１００は、最適な順方向二次変換に対応する二次変換インデックスをシグナリングする（Ｓ６２０）。ここで、２次変換インデックスは、本明細書で説明した他の実施形態が適用されることができる。
【００８５】
一方、エンコード装置１００は、現ブロック（残差ブロック）に対して順方向一次変換を行う（Ｓ６３０）。
【００８６】
エンコード装置１００は、最適な順方向二次変換を用いて現ブロックに対して順方向二次変換を行う（Ｓ６４０）。一方、順方向二次変換は、以下に説明されるＲＳＴであり得る。ＲＳＴは、Ｎ個の残差データ（Ｎ×１残差ベクトル）が入力されてＲ個（Ｒ＜Ｎ）の変換係数データ（Ｒ×１変換係数ベクトル）が出力される変換を意味する。
【００８７】
一実施形態として、ＲＳＴは、現ブロックの特定領域に適用されることができる。例えば、現ブロックがＮ×Ｎであるとき、特定領域は、左上側のＮ／２×Ｎ／２領域を意味し得る。しかしながら、本発明はこれに限定されず、予測モード、ブロック形状、またはブロックサイズのうちの少なくとも１つによって異なるように設定される。例えば、現ブロックがＮ×Ｎであるとき、特定領域は、左上側のＭ×Ｍ領域（Ｍ≦Ｎ）を意味し得る。
【００８８】
一方、エンコード装置１００は、現ブロックに対して量子化を行うことにより、変換係数ブロックを生成する（Ｓ６５０）。
【００８９】
エンコード装置１００は、変換係数ブロックに対してエントロピエンコードを行って、ビットストリームを生成することができる。
【００９０】
図７は、本発明が適用される実施形態であって、二次逆変換および一次逆変換によりビデオ信号をデコードするフローチャートを示す。図７に示す各動作は、デコード装置２００の逆変換部２３０により行われる。
【００９１】
デコード装置２００は、ビットストリームから二次変換インデックスを取得する（Ｓ７１０）。
【００９２】
デコード装置２００は、二次変換インデックスに対応する二次変換を導出する（Ｓ７２０）。
【００９３】
ただし、ステップＳ７１０およびＳ７２０は、一実施形態であり、本発明はこれに限定されない。例えば、デコード装置２００は、二次変換インデックスを取得せずに、現ブロックの予測モード、ブロック形状および／またはブロックサイズのうちの少なくとも１つに基づいて二次変換を導出することができる。
【００９４】
一方、デコーダ２００は、ビットストリームをエントロピデコードして変換係数ブロックを取得し、上記変換係数ブロックに対して逆量子化を行う（Ｓ７３０）。
【００９５】
デコーダ２００は、逆量子化された変換係数ブロックに対して逆方向二次変換を行う（Ｓ７４０）。例えば、逆方向二次変換は、逆方向ＲＳＴであり得る。逆方向ＲＳＴは、図６で説明されたＲＳＴの転置（transpose）行列であって、Ｒ個の変換係数データ（Ｒｘ１変換係数ベクトル）が入力され、Ｎ個の残差データ（Ｎｘ１残差ベクトル）が出力される変換を意味する。
【００９６】
一実施形態として、縮小された二次変換は、現ブロックの特定の領域に適用されることができる。例えば、現ブロックがＮ×Ｎであるとき、特定領域は、左上側のＮ／２×Ｎ／２領域を意味し得る。しかしながら、本発明はこれに限定されず、予測モード、ブロック形状、またはブロックサイズのうちの少なくとも１つによって異なるように設定される。例えば、現ブロックがＮ×Ｎであるとき、特定領域は、左上側のＭ×Ｍ領域（Ｍ≦Ｎ）またはＭ×Ｌ（Ｍ≦Ｎ、Ｌ≦Ｎ）を意味し得る。
【００９７】
そして、デコーダ２００は、逆方向二次変換された結果に対して逆方向一次変換を行う（Ｓ７５０）。
【００９８】
デコーダ２００は、ステップＳ７５０により残差ブロックを生成し、残差ブロックと予測ブロックとを加算することにより復元ブロックを生成する。
【００９９】
図８は、本発明の実施形態によるＡＭＴ（Adaptive Multiple Transform）が適用される変換設定グループ（transform configuration group）の例を示す。
【０１００】
図８によれば、変換設定グループは、予測モードに基づいて決定され、グループの個数は、計６個（Ｇ０〜Ｇ５）であり得る。そして、Ｇ０〜Ｇ４は、イントラ予測が適用される場合に該当し、Ｇ５は、インター予測により生成された残差（residual）ブロックに適用される変換組合せ（または、変換セット、変換組合せセット）を示す。
【０１０１】
１つの変換組合せは、該当の二次元ブロックの行（row）に適用される水平変換（horizontal transform）（または、行変換（row transform））と列（column）に適用される垂直変換（vertical transform）（または、列変換（column transform））とで構成される。
【０１０２】
ここで、全ての変換設定グループのそれぞれは、４つの変換組合せ候補を含む。４つの変換組合せ候補は、０〜３の変換組合せインデックスにより選択または決定され、エンコード装置１００からデコード装置２００に変換組合せインデックスがエンコード手順により送信される。
【０１０３】
一実施形態として、イントラ予測により取得された残差データ（または、残差信号）は、イントラ予測モードに応じて統計的特性がそれぞれ異なる。したがって、図８のようにイントラ予測モード別に一般的なコサイン変換ではない他の変換が適用されることができる。本文書において、変換タイプは、例えば、ＤＣＴ−Ｔｙｐｅ  ２、ＤＣＴ−ＩＩ、ＤＣＴ−２のように表現されてもよい。
【０１０４】
図８に示すように、３５個のイントラ予測モードが使用される場合と、６７個のイントラ予測モードが使用される場合と、に対する変換集合構成がそれぞれ図示される。イントラ予測モード列において区分される変換設定グループ別に、複数の変換組合せが適用されることができる。例えば、複数の変換組合せ（行方向変換、列方向変換）は、４つの組み合わせで構成される。より具体的には、グループ０において行（水平）方向および列（垂直）方向の全てにＤＳＴ−７およびＤＣＴ−５が適用されることができるので、４つの組み合わせが可能である。
【０１０５】
各イントラ予測モードに対して計４つの変換カーネルの組み合わせが適用されることができるので、そのうちの１つを選択するための変換組合せインデックスが、変換単位（transform unit）ごとに送信される。本文書において、変換組合せインデックスは、ＡＭＴインデックス（AMT index）と称され、ａｍｔ＿ｉｄｘと表現されてもよい。
【０１０６】
また、図８に示す変換カーネル以外にも、残差信号（residual signal）の特性上、行方向および列方向の両方に対してＤＣＴ−２が最適である場合がある。したがって、コーディングユニット（coding unit）ごとにＡＭＴフラグを定義することにより適応的に変換を行うことができる。ここで、ＡＭＴフラグが０である場合、行方向および列方向の両方に対してＤＣＴ−２を適用し、ＡＭＴフラグが１である場合、ＡＭＴインデックスにより４つの組み合わせのうちの１つを選択または決定することができる。
【０１０７】
一実施形態として、ＡＭＴフラグが０である場合、１つの変換単位に対して変換係数の個数が３より小さい場合、図８の変換カーネルが適用されずに、行方向および列方向に対して全てＤＳＴ−７が適用される。
【０１０８】
一実施形態として、変換係数の値を先にパージングして変換係数の個数が３より小さい場合、ＡＭＴインデックスをパージングせずにＤＳＴ−７を適用することにより付加情報の送信量を減少させることができる。
【０１０９】
一実施形態として、ＡＭＴは、変換単位の幅および高さが全て３２以下である場合にのみ適用されることができる。
【０１１０】
一実施形態として、図８は、オフライントレーニング（off-line training）により事前に設定されてもよい。
【０１１１】
一実施形態として、ＡＭＴインデックスは、水平変換と垂直変換との組み合わせを同時に指示できる１つのインデックスにより定義されることができる。あるいは、ＡＭＴインデックスは、水平変換インデックスおよび垂直変換インデックスにより別途に定義されることができる。
【０１１２】
前述したＡＭＴのように複数の変換カーネル（例えば、ＤＣＴ−２、ＤＳＴ−７、ＤＣＴ−８）のうちの選択された変換を適用する技法は、ＭＴＳ（Multiple Transform Selection）またはＥＭＴ（Enhanced Multiple Transform）と称されてもよく、ＡＭＴインデックスは、ＭＴインデックスと称されてもよい。
【０１１３】
図９は、本発明の実施形態によるＡＭＴが適用されるエンコードのフローチャートの例を示す。図９に示された動作は、エンコード装置１００の変換部１２０により行われる。
【０１１４】
本文書は、基本的に水平方向と垂直方向とに対して分離して変換を適用する実施形態を説明するが、変換組合せは、非分離変換（non-separable transform）で構成されることもできる。
【０１１５】
また、可分離変換と非分離変換との混合で構成されることもできる。この場合、非分離変換が利用されると、行／列（row/column）別の変換選択や水平／垂直（horizontal/vertical）方向別の選択は不要となり、可分離変換（分離可能な変換）が選択される場合にのみ上記図８の変換組合せが利用される。
【０１１６】
また、本明細書で提案する方式は、一次変換や二次変換に関係なく適用することができる。すなわち、両方のうちのいずれか一方にのみ適用されなければならないという制約はなく、両方に適用できる。ここで、一次変換は、残差ブロックを１番目に変換するための変換を意味し、二次変換は、上記一次変換の結果として生成されたブロックに対して変換を適用するための変換を意味し得る。
【０１１７】
まず、エンコード装置１００は、現ブロックに対応する変換設定グループを決定する（Ｓ９１０）。ここで、変換設定グループは、図８のような組み合わせで構成されることもできる。
【０１１８】
エンコード装置１００は、変換設定グループ内で利用可能な候補変換の組み合わせに対して変換を行う（Ｓ９２０）。
【０１１９】
変換実行の結果、エンコード装置１００は、ＲＤ（Rate Distortion）コストが最も小さい変換組合せを決定または選択する（Ｓ９３０）。
【０１２０】
エンコード装置１００は、選択された変換組合せに対応する変換組合せインデックスをエンコードする（Ｓ９４０）。
【０１２１】
図１０は、本発明の実施形態によるＡＭＴが適用されるデコードのフローチャートの例を示す。図１０に示す動作は、デコード装置２００の逆変換部２３０により行われる。
【０１２２】
まず、デコード装置２００は、現ブロックのための変換設定グループを決定する（Ｓ１０１０）。デコード装置２００は、ビデオ信号から変換組合せインデックスをパージング（または、取得）し、ここで、変換組合せインデックスは、変換設定グループ内の複数の変換組合せのいずれか１つに対応する（Ｓ１０２０）。例えば、変換設定グループは、ＤＣＴ−２、ＤＳＴ−７またはＤＣＴ−８を含む。
【０１２３】
デコード装置２００は、変換組合せインデックスに対応する変換組合せを導出する（Ｓ１０３０）。ここで、変換組合せは、水平変換と垂直変換とで構成され、ＤＣＴ−２、ＤＳＴ−７またはＤＣＴ−８の少なくとも１つを含む。また、変換組合せは、図８で説明された変換組合せを使用してもよい。
【０１２４】
デコード装置２００は、導出された変換組合せに基づいて現ブロックに対して逆変換を行う（Ｓ１０４０）。変換組合せが行（水平）変換と列（垂直）変換とで構成される場合、行（水平）変換を先に適用した後、列（垂直）変換を適用することができる。ただし、本発明はこれに限定されず、逆に適用されるか、または非分離変換で構成される場合は、直ちに非分離変換が適用されることができる。
【０１２５】
一実施形態において、垂直変換または水平変換がＤＳＴ−７またはＤＣＴ−８である場合、ＤＳＴ−７の逆変換またはＤＣＴ−８の逆変換を列ごとに適用した後、行ごとに適用する。また、垂直変換または水平変換は、各行ごとにおよび／または各列ごとに異なる変換が適用される。
【０１２６】
一実施形態において、変換組合せインデックスは、ＡＭＴが行われるか否かを示すＡＭＴフラグに基づいて取得できる。すなわち、変換組合せインデックスは、ＡＭＴフラグによってＡＭＴが行われる場合に限って取得できる。また、デコード装置２００は、０ではない変換係数（non-zero coefficient）の個数が、閾値より大きいか否かを確認する。ここで、変換組合せインデックスは、０でない変換係数の個数が閾値より大きい場合に限ってパージングできる。
【０１２７】
一実施形態において、ＡＭＴフラグまたはＡＭＴインデックスは、シーケンス（sequence）、ピクチャ（picture）、スライス（slice）、ブロック（block）、コーディングユニット（coding unit）、変換ユニット（transform unit）、または予測ユニット（prediction）の少なくとも１つのレベルに定義される。
【０１２８】
一方、他の実施形態として、変換設定グループを決定する過程と変換組合せインデックスをパージングする過程とは、同時に行われることができる。あるいは、ステップＳ１０１０は、エンコード装置１００および／またはデコード装置２００において既に設定されて省略できる。
【０１２９】
図１１は、本発明の実施形態によるＡＭＴフラグおよびＡＭＴインデックスをエンコードするフローチャートの例を示す。図１１の動作は、エンコード装置１００の変換部１２０により行われる。
【０１３０】
エンコード装置１００は、現ブロックに対してＡＭＴが適用されるか否かを決定する（Ｓ１１１０）。
【０１３１】
ＡＭＴが適用される場合、エンコード装置１００は、ＡＭＴフラグ＝１でエンコードする（Ｓ１１２０）。
【０１３２】
そして、エンコード装置１００は、現ブロックの予測モード、水平変換、垂直変換の少なくとも１つに基づいてＡＭＴインデックスを決定する（Ｓ１１３０）。ここで、ＡＭＴインデックスは、各イントラ予測モードに対して複数の変換組合せのいずれかを指すインデックスを示し、ＡＭＴインデックスは、変換単位ごとに送信される。
【０１３３】
ＡＭＴインデックスが決定されると、エンコード装置１００は、ＡＭＴインデックスをエンコードする（Ｓ１１４０）。
【０１３４】
一方、ＡＭＴが適用されない場合、エンコード装置１００は、ＡＭＴフラグ＝０でエンコードする（Ｓ１１５０）。
【０１３５】
図１２は、ＡＭＴフラグおよびＡＭＴインデックスに基づいた変換を行うためのデコードのフローチャートの例を示す。
【０１３６】
デコード装置２００は、ビットストリームからＡＭＴフラグをパージングする（Ｓ１２１０）。ここで、ＡＭＴフラグは、現ブロックに対してＡＭＴが適用されるか否かを示す。
【０１３７】
デコード装置２００は、ＡＭＴフラグに基づいて現ブロックに対してＡＭＴが適用されるか否かを確認する（Ｓ１２２０）。例えば、ＡＭＴフラグが１であるか否かを確認する。
【０１３８】
ＡＭＴフラグが１である場合、デコード装置２００は、ＡＭＴインデックスをパージングする（Ｓ１２３０）。ここで、ＡＭＴインデックスは、各イントラ予測モードに対して複数の変換組合せのうちのいずれか１つを指すインデックスを意味し、ＡＭＴインデックスは、変換単位ごとに送信できる。あるいは、ＡＭＴインデックスは、既に設定された変換組合せテーブルに定義されたいずれか１つの変換組合せを指すインデックスを意味し、ここで、既に設定された変換組合せテーブルを図８は意味し得るが、本発明はこれに限定されない。
【０１３９】
デコード装置２００は、ＡＭＴインデックスまたは予測モードのうちの少なくとも１つに基づいて水平変換および垂直変換を導出または決定する（Ｓ１２４０）。
【０１４０】
あるいは、デコード装置２００は、ＡＭＴインデックスに対応する変換組合せを導出する。例えば、デコード装置２００は、ＡＭＴインデックスに対応する水平変換および垂直変換を導出または決定する。
【０１４１】
一方、ＡＭＴフラグが０である場合、デコード装置２００は、既に設定された垂直逆変換を列ごとに適用する（Ｓ１２５０）。例えば、垂直逆変換は、ＤＣＴ−２の逆変換であり得る。
【０１４２】
そして、デコード装置２００は、既に設定された水平逆変換を行ごとに適用する（Ｓ１２６０）。例えば、水平逆変換は、ＤＣＴ−２の逆変換であり得る。すなわち、ＡＭＴフラグが０である場合、エンコード装置１００またはデコード装置２００において既に設定された変換カーネルが用いられる。例えば、図８のような変換組合せテーブルにおいて定義されるのではなく、多く用いられる変換カーネルが用いられてもよい。
【０１４３】
ＮＳＳＴ（Non-Separable Secondary Transform）
【０１４４】
二次変換は、一次変換が適用された結果を入力としてもう一度変換カーネルを適用することをいう。一次変換は、ＨＥＶＣにおけるＤＣＴ−２、ＤＳＴ−７や前述したＡＭＴなどを含む。非分離変換（non-separable transform）は、行方向および列方向に対して順次Ｎ×Ｎ変換カーネルを適用するのではなく、Ｎ×Ｎ２次元残差ブロックをＮ2×１ベクトルとみなした後、このベクトルに対してＮ2×Ｎ2変換カーネルを１度だけ適用することをいう。
【０１４５】
すなわち、ＮＳＳＴは、変換ブロックの係数から構成されたベクトルに適用される非分離正方形行列を称する。また、本文書の実施形態は、ブロックのサイズによって決定される左上側の領域（低周波数領域）に適用される非分離変換の例としてＮＳＳＴを中心に説明するが、本発明の実施形態は、ＮＳＳＴの用語に限定されるものではなく、どのようなタイプの非分離変換でも本発明の実施形態に適用できる。例えば、ブロックのサイズによって決定される左上側の領域（低周波数領域）に適用される非分離変換は、ＬＦＮＳＴ（Low Frequency Non-Separable Transform）と称される。本文書において、Ｍ×Ｎ変換（または、変換行列）は、Ｍ個の行およびＮ個の列で構成された行列を意味する。
【０１４６】
ＮＳＳＴにおいて、一次変換を適用することにより取得された二次元ブロックデータをＭ×Ｍブロックに分割した後、各Ｍ×Ｍブロックに対してＭ2×Ｍ2非分離変換を適用する。Ｍの値は、４または８であり得る。一次変換により取得した２次元ブロックの全ての領域に対してＮＳＳＴを適用するのではなく、一部の領域に対してのみ適用することも可能であるが、例えば、左上端（top-left）の８×８ブロックに対してのみＮＳＳＴを適用することができる。また、一次変換により取得された２次元ブロックの幅および高さが両方とも８以上である場合のみ、左上端の８×８領域に対して６４×６４非分離変換を適用することができ、残りの場合に対しては、４×４ブロックに分けてそれぞれに当該１６×１６非分離変換を適用することができる。
【０１４７】
Ｍ2×Ｍ2非分離変換は、行列積の形態で適用することもできるが、計算量およびメモリ要求量の低減のために、ギブンス回転レイヤ（Givens rotation layer）と置換レイヤ（permutation layer）との組み合わせで近似できる。図１３は、１つのギブンス回転を示す。図１３のように１つのギブンス回転の１つの角度により説明できる。
【０１４８】
図１３および図１４は、本発明が適用される実施形態であって、図１３は、ギブンス回転（Givens rotation）を説明するためのダイアグラムを示し、図１４は、ギブンス回転レイヤおよび置換（permutation）からなる４×４ＮＳＳＴにおける１ラウンド（round）の構成を示す。
【０１４９】
８×８ＮＳＳＴおよび４×４ＮＳＳＴの両方とも、ギブンス回転の階層的組み合わせで構成されることができる。１つのギブンス回転に該当する行列は、数式１のようであり、行列積をダイアグラムで表現すると、図１３のようになる。
【０１５０】
＜数式１＞
【数１】
2021510286.tif 000003
【０１５１】
＜数式２＞
【数２】
2021510286.tif 000004
図１３のように、１つのギブンス回転は２つのデータを回転させるので、６４個のデータ（８×８ＮＳＳＴの場合）または１６個のデータ（４×４ＮＳＳＴの場合）の処理のために、それぞれ３２個または８個のギブンス回転が必要である。したがって、３２個または８個のギブンス回転の束がギブンス回転レイヤ（Givens rotation layer）を形成することができる。図１５のように、１つのギブンス回転レイヤに対する出力データが置換（シャッフリング）により次のギブンス回転レイヤに対する入力データとして伝達される。図１５のように置換されるパターンは規則的に定義され、４×４ＮＳＳＴの場合、４つのギブンス回転レイヤおよび対応する置換が１つのラウンドを形成する。４×４ＮＳＳＴは、２回のラウンドにより行われ、８×８ＮＳＳＴは、４回のラウンドにより行われる。相異なるラウンドは、同一の置換パターンを使うが、適用されるギブンス回転角度は、それぞれ異なる。したがって、各変換を構成する全てのギブンス回転に対する角度データの記憶が必要である。
【０１５２】
最後の段階として、ギブンス回転レイヤを経て出力されたデータに対して、最終的に１回の置換がさらに行われ、当該置換に関する情報は、変換ごとに別途記憶される。順方向（forward）ＮＳＳＴの最後に当該置換が行われ、逆方向（inverse）ＮＳＳＴは、最初に当該逆方向置換が適用される。
【０１５３】
逆方向ＮＳＳＴは、順方向ＮＳＳＴにおいて適用されたギブンス回転レイヤと置換とを逆順に行い、各ギブンス回転の角度に対してもマイナス（−）の値を取ることにより回転させる。
【０１５４】
図１５は、本発明の実施形態によるイントラ予測モード別の非分離変換集合の構成の例を示す。
【０１５５】
同じＮＳＳＴまたはＮＳＳＴ集合が適用されるイントラ予測モードが、グループを形成することができる。図１５は、６７個のイントラ予測モードを３５個のグループに分類しているが、例えば、２０番モードおよび４８番モードは、両方とも２０番グループ（以下、モードグループ）に属する。
【０１５６】
各モードグループ別に、１つのＮＳＳＴではない複数のＮＳＳＴを集合として構成することができる。各集合は、ＮＳＳＴを適用しない場合を含む。例えば、１つのモードグループに対して３つの異なるＮＳＳＴを適用できる場合、ＮＳＳＴを適用しない場合を含んで４つの場合のうちの１つを選択するように構成されることができる。ここで、４つの場合のうちの１つを区分するためにインデックスをＴＵ単位で送信する。モードグループごとにＮＳＳＴの個数を異なるように構成することもできるが、例えば、０番および１番モードグループは、ＮＳＳＴを適用しない場合を含んでそれぞれ３つの場合のうちの１つを選択するようにシグナリングする。
【０１５７】
実施形態１：４×４ブロックに適用できるＲＳＴ
【０１５８】
１つの４×４ブロックに適用できる非分離変換（non-separable transform）は、１６×１６変換である。すなわち、当該４×４ブロックを構成するデータ要素が行−優先（row-first）または列−優先（column-first）の順で一列に整列されると、１６×１ベクトルとなり、１６×１ベクトルに対して当該非分離変換が適用されることができる。順方向１６×１６変換は、１６個の行方向変換基底ベクトル（transform basis vector）で構成され、上記１６×１ベクトルと各変換基底ベクトルとに対して内積（inner product）を取ると、当該変換基底ベクトルに対する変換係数が取得される。１６個の変換基底ベクトルに対して全て当該変換係数を得る過程は、１６×１６非分離変換行列と入力１６×１ベクトルとを乗算することのようである。行列積で得られる変換係数は、１６×１ベクトルの形態を有するが、変換係数別に統計的特性が異なることがある。例えば、１６×１変換係数ベクトルが０番目の要素から１５番目の要素で構成されたとすると、０番目の要素の分散は、１５番目の要素の分散より大きいことがある。すなわち、前に位置する要素であるほど、当該分散値が大きくて大きなエネルギ値を有することができる。
【０１５９】
１６×１変換係数に逆方向１６×１６非分離変換を適用すると、（量子化や整数化計算などの効果を無視したとき）元の４×４ブロック信号を復元することができる。順方向１６×１６非分離変換が直交正規変換（orthonormal transform）であれば、当該逆方向１６×１６変換は、順方向１６×１６変換に対する行列の転置を取って求めることができる。簡単には、逆方向１６×１６非分離変換行列を１６×１変換係数ベクトルに乗算すると、１６×１ベクトル形態のデータが得られ、最初に適用した行−優先または列−優先の順に配列すると、４×４ブロック信号を復元することができる。
【０１６０】
前述したように、１６×１変換係数ベクトルをなす要素は、それぞれ統計的特性が異なる場合がある。前述の例のように、前方に配置された（０番目の要素に近い）変換係数がより大きなエネルギを有する場合、全ての変換係数を使用せずに先に登場する一部の変換係数に逆方向変換を適用しても元の信号にかなり近い信号を復元することができる。例えば、逆方向１６×１６非分離変換が１６個の列基底ベクトルで構成されるとすると、Ｌ個の列基底ベクトルのみを残して１６×Ｌ行列を構成し、変換係数の中からもより重要なＬ個の変換係数のみを残した後（Ｌ×１ベクトル、前述の例のように先に登場することができる）、１６×Ｌ行列とＬ×１ベクトルとを乗算すると、元の入力１６×１ベクトルデータとの誤差が大きくない１６×１ベクトルを復元することができる。結果として、Ｌ個の係数のみがデータ復元に介入するので、変換係数を得るときにも１６×１変換係数ベクトルではないＬ×１変換係数ベクトルを求めればよい。すなわち、順方向１６×１６非分離変換行列において、Ｌ個の当該行方向変換ベクトルを選んでＬ×１６変換を構成した後、１６×１入力ベクトルと乗算するとＬ個の重要変換係数を得ることができる。
【０１６１】
実施形態２：４×４ＲＳＴの適用領域設定および変換係数の配置
【０１６２】
４×４ＲＳＴは、二次変換として適用されることができ、このとき、ＤＣＴ−ｔｙｐｅ２などの一次変換が適用されたブロックに対して二次的に適用されることができる。一次変換が適用されたブロックのサイズをＮ×Ｎにしたとき、通常は４×４より大きくなる。したがって、４×４ＲＳＴをＮ×Ｎブロックに適用するときには、次のような２つの方法が考えられる。
【０１６３】
１）Ｎ×Ｎ領域に対して全て４×４ＲＳＴを適用するのではなく、一部の領域にのみ適用できる。例えば、左上側（top-left）のＭ×Ｍ領域に対してのみ適用できる（Ｍ＜＝Ｎ）。
【０１６４】
２）二次変換が適用される領域を４×４ブロックに分割した後、各分割されたブロックに対して４×４ＲＳＴが適用されることができる。
【０１６５】
上記方法１）と２）とを混合して適用できる。例えば、左上側のＭ×Ｍ領域に対してのみ４×４ブロックに分割した後、４×４ＲＳＴを適用することができる。
【０１６６】
具体的な実施形態として、左上側８×８領域に対してのみ二次変換を適用し、Ｎ×Ｎブロックが８×８より大きいか等しい場合は、８×８ＲＳＴを適用し、Ｎ×Ｎブロックが８×８より小さい場合は（４×４、８×４、４×８）、上記２）のように４×４ブロックに分けた後、それぞれ４×４ＲＳＴを適用できる。
【０１６７】
４×４ＲＳＴを適用した後、Ｌ個の変換係数（１＜＝Ｌ＜１６）が生成されたとしたとき、Ｌ個の変換係数をどのように配置するかに関する自由度が生じる。しかしながら、残差コーディング（residual coding）パートにおいて変換係数を読み込んで処理するとき、定められた順序が存在することから、上記Ｌ個の変換係数を２次元（2-dimensional）ブロックにどのように配置するかによってコーディング性能が変わる可能性がある。ＨＥＶＣ（High Efficiency Video Coding）規格における残差コーディングは、ＤＣ位置において最も遠く離れた位置からコーディングを開始するが、これは、ＤＣ位置から遠く離れるほど量子化を経た係数の値が０であるか０に近いということを利用してコーディング性能を高めるためである。したがって、Ｌ個の変換係数に対しても高いエネルギを有するとともに、より重要な係数を残差コーディングの順序上、後でコーディングされるように配置することがコーディング性能の面で有利であり得る。
【０１６８】
図１６は、ＨＥＶＣ標準において適用された変換係数または変換係数ブロックに対する３つの順方向スキャン順序であって、（ａ）は対角スキャン（diagonal scan）、（ｂ）は水平スキャン（horizontal scan）、（ｃ）は垂直スキャン（vertical scan）を示す。
【０１６９】
図１６は、ＨＥＶＣ標準において適用される変換係数または変換係数ブロック（４×４ブロック、Ｃｏｅｆｆｉｃｉｅｎｔ  Ｇｒｏｕｐ（ＣＧ））に対する３つの順方向スキャン順序を図示し、残差コーディングは、（ａ）、（ｂ）、または（ｃ）のスキャン順序の逆順により行われる（すなわち、１６から１の順にコーディングされる）。（ａ）、（ｂ）、および（ｃ）に示した３つのスキャン順序は、イントラ予測（intra-prediction）モードに応じて選択されるので、上記Ｌ個の変換係数に対しても同様にイントラ予測モードに応じてスキャン順序を決定するように構成することができる。
【０１７０】
Ｌ値は、１＜＝Ｌ＜１６の範囲を有し、一般的には、１６個の変換基底ベクトルのうち任意の方法でＬ個を選択できるが、符号化および復号の観点からは、上記に提示した例のように信号のエネルギの側面で重要度が高い変換基底ベクトルを選択することが符号化効率の観点から有利であり得る。
【０１７１】
図１７および図１８は、本発明が適用される実施形態であって、図１７は、４×８ブロックに対する４×４ＲＳＴの適用時の順方向対角スキャンが適用される場合の変換係数の位置を示し、図１８は、２つの４×４ブロックの有効な変換係数を１つのブロックにマージする場合の例を示す。
【０１７２】
（ａ）の対角スキャン順序に従って左上側４×８ブロックを４×４ブロックにそれぞれ分割して４×４ＲＳＴを適用するとき、Ｌ値が８である（すなわち、１６個のうちの８個の変換係数のみを残す）場合、図１７のように変換係数が位置するが、各４×４ブロックの半分のみが変換係数を有することができ、Ｘが表示されている位置にデフォルト（default）として０の値が充填（パディング）される。したがって、（ａ）において提示されたスキャン順に従ってＬ個の変換係数を各４×４ブロックに対して配置させ、各４×４ブロックの残りの（１６−Ｌ）個の位置に対しては０で充填されると仮定して、当該残差コーディング（例えば、ＨＥＶＣにおける残差コーディング）を適用することができる。
【０１７３】
また、図１８のように、２つの４×４ブロックで配置されたＬ個の変換係数を１つのブロックで構成することができる。特に、Ｌ値が８である場合、２つの４×４ブロックの変換係数が１つの４×４ブロックを完全に充填するので、他のブロックに変換係数は残らない。したがって、変換係数が空になった４×４ブロックに対しては、残差コーディングが不要であるので、ＨＥＶＣの場合、当該ブロックの残差コーディングの適用が可能か否かを示すフラグ（ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇ）が０にコーディングされる。２つの４×４ブロックの変換係数の位置に対する組み合わせ方式は多様である。例えば、任意の順序に従って位置が組み合わせられるが、以下のような方法も適用されることがある。
【０１７４】
１）２つの４×４ブロックの変換係数をスキャン順に交互に組み合わせる。すなわち、図８Ａ、図８Ｂ、図８Ｃにおいて、上位ブロック（upper block）に対する変換係数を
2021510286.tif 000005
とし、下位ブロック（lower block）の変換係数を
2021510286.tif 000006
とするとき、
2021510286.tif 000007
のように１つずつ交互に組み合わせることができる。また、
2021510286.tif 000008
と
2021510286.tif 000009
との順序を変えることができる
2021510286.tif 000010
。
【０１７５】
２）１番目の４×４ブロックに対する変換係数を先に配置し、その後、２番目の４×４ブロックに対する変換係数を配置することができる。すなわち、
2021510286.tif 000011
のように連結して配置することができる。当然、
2021510286.tif 000012
のように順序を変えることもできる。
【０１７６】
実施形態３：４×４ＲＳＴに対するＮＳＳＴ（Non-Separable Secondary Transform）インデックスをコーディングする方法
【０１７７】
図１７のように４×４ＲＳＴが適用されると、各４×４ブロックに対する変換係数スキャン順序に従って、Ｌ＋１番目の位置から１６番目の位置までは０の値が充填される。したがって、２つの４×４ブロックのうちの１つでもＬ＋１番目の位置から１６番目の位置までのうちに０でない値が存在すると、４×４ＲＳＴが適用されない場合であることが導出される。４×４ＲＳＴがＪＥＭ（Joint Experiment Model）ＮＳＳＴのように用意された変換集合（transform set）のうちの選択された変換を適用する構造を有する場合、どのような変換を適用するかに対するインデックス（以下、ＮＳＳＴインデックスと呼ばれる）がシグナリングされる。
【０１７８】
あるデコーダにおいて、ＮＳＳＴインデックスは、ビットストリームパージング（bit stream parsing）により分かり、ビットストリームパージングは、残差コーディング後に行われることができる。この場合、残差デコーディングによりＬ＋１番目の位置から１６番目の位置までの間に０でない変換係数が存在すると、当該デコーダは、４×４ＲＳＴが適用されないことが確実であるので、ＮＳＳＴインデックスをパージングしない。したがって、必要な場合にのみＮＳＳＴインデックスを選択的にパージングすることにより、シグナリングコストが減少する。
【０１７９】
図１７のように特定領域内の複数の４×４ブロックに対して４×４ＲＳＴが適用されると（このとき、全て同一の４×４ＲＳＴが適用されてもよく、それぞれ異なる４×４ＲＳＴが適用されてもよい）、１つのＮＳＳＴインデックスにより全ての４×４ブロックに適用される（同一のもしくは相異なる）４×４ＲＳＴが指定される。１つのＮＳＳＴインデックスにより全ての４×４ブロックに対する４×４ＲＳＴおよび４×４ＲＳＴの適用が可能か否かが決定されるので、全ての４×４ブロックに対してＬ＋１番目から１６番目までの位置において０でない変換係数が存在するか否かを残差デコード過程中に調査した結果、４×４ブロックにおいて許容されない位置に（Ｌ＋１番目の位置から１６番目の位置までに）０でない変換係数が存在すると、エンコード装置１００は、ＮＳＳＴインデックスをコーディングしないように設定されることができる。
【０１８０】
エンコード装置１００は、輝度（luminance）ブロックおよび色差（chrominance）ブロックに対してそれぞれのＮＳＳＴインデックスを別途にシグナリングすることもでき、色差ブロックの場合、Ｃｂ成分とＣｒ成分とに対してそれぞれ別途のＮＳＳＴインデックスをシグナリングすることもでき、１つの共通するＮＳＳＴインデックスを使用することもできる。１つのＮＳＳＴインデックスが使用される場合、ＮＳＳＴインデックスのシグナリングも１回だけ行われる。Ｃｂ成分とＣｒ成分とに対して１つのＮＳＳＴインデックスが共有される場合、同一のＮＳＳＴインデックスが指示する４×４ＲＳＴが適用され、この場合、Ｃｂ成分とＣｒ成分とに対する４×４ＲＳＴ自体が同一であってもよく、ＮＳＳＴインデックスは同じであるが、Ｃｂ成分とＣｒ成分とに対して個別の４×４ＲＳＴが設定されてもよい。Ｃｂ成分とＣｒ成分とに対して共有されるＮＳＳＴインデックスが使用される場合、前述した条件的シグナリングのためにＣｂ成分およびＣｒ成分に対する全ての４×４ブロックに対してＬ＋１番目の位置から１６番目の位置までに０でない変換係数が存在するか否かをチェックし、Ｌ＋１番目の位置から１６番目の位置までにおいて０でない変換係数が発見されると、ＮＳＳＴインデックスに対するシグナリングが省略されてもよい。
【０１８１】
図１８のように、２つの４×４ブロックに対する変換係数が１つの４×４ブロックにマージされる場合にも、エンコード装置１００は、４×４ＲＳＴが適用されたとき、有効な変換係数が存在しない位置に０でない変換係数が登場するか否かをチェックした後、ＮＳＳＴインデックスに対するシグナリングが可能か否かを決定することができる。特に、図１８のようにＬ値が８であるので、４×４ＲＳＴ適用時に１つの４×４ブロックに有効な変換係数が存在しない場合（図１８の（ｂ）においてＸと表示されたブロック）、当該ブロックの残差コーディングが可能か否かに関するフラグ（ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇ）をチェックし、１である場合、ＮＳＳＴインデックスがシグナリングされないように設定されることができる。前述したように、以下の説明では、非分離変換の例としてＮＳＳＴを中心に説明するが、非分離変換に対して他の知られている用語（例えば、ＬＦＮＳＴ）が使用されてもよい。例えば、ＮＳＳＴ集合（NSST Set）、ＮＳＳＴインデックスは、ＬＦＮＳＴ集合、ＬＦＮＳＴインデックスに代替されて使用されてもよい。また、本文書において説明されるＲＳＴは、変換ブロックの少なくとも一部の領域（左上側４×４、８×８領域または８×８ブロックにおいて右下側の４×４領域を除いた残りの領域）に適用される正方形非分離変換行列において、縮小された入力長および／または縮小された出力長を有する非正方形（定方形）の変換行列を使用する非分離変換（例えば、ＬＦＮＳＴ）の例として、ＲＳＴもＬＦＮＳＴに代替されて使用されることができる。
【０１８２】
実施形態４：４×４インデックスに対するコーディングを残差コーディング以前に行う場合に対する最適化方法
【０１８３】
ＮＳＳＴインデックスに対するコーディングが残差コーディング以前に行われる場合、４×４ＲＳＴの適用が可能か否かが予め決定されるので、変換係数が０で充填される位置に対する残差コーディングが省略されてもよい。ここで、４×４ＲＳＴの適用が可能か否かは、ＮＳＳＴインデックス値により決定されるように（例えば、ＮＳＳＴインデックスが０である場合、４×４ＲＳＴを適用しないように）構成することもでき、あるいは、別途のシンタックス要素（syntax element）（例えば、ＮＳＳＴフラグ）により４×４ＲＳＴの適用が可能か否かがシグナリングされることもできる。例えば、別途のシンタックス要素がＮＳＳＴフラグであるとすると、デコード装置２００は、ＮＳＳＴフラグを先にパージングすることにより、４×４ＲＳＴ適用が可能か否かを決定した後、ＮＳＳＴフラグ値が１である場合、前述したように有効な変換係数が存在できない位置に対して、残差コーディング（デコーディング）を省略することができる。
【０１８４】
ＨＥＶＣの場合、残差コーディングの実行時、１番目にＴＵにおける最後の０でない係数（last non-zero coefficient）の位置においてコーディングが行われる。ＮＳＳＴインデックスに対するコーディングは、最後の０でない係数の位置に対するコーディング以後に行われ、最後の０でない係数の位置が４×４ＲＳＴの適用を仮定したとき、０でない係数が存在できない位置であれば、デコード装置２００は、ＮＳＳＴインデックスをコーディングせずに４×４ＲＳＴを適用しないように設定することができる。例えば、図１７においてＸと表示された位置の場合、４×４ＲＳＴが適用されたとき、有効な変換係数が位置しないので（０の値が充填されることができる）、Ｘと表示された領域に最後の０でない係数が位置すると、デコード装置２００は、ＮＳＳＴインデックスに対するコーディングを省略することができる。Ｘと表示された領域に最後の０でない係数が位置しない場合、デコード装置２００は、ＮＳＳＴインデックスに対するコーディングを行うことができる。
【０１８５】
０でない係数の位置に対するコーディング以後に条件的にＮＳＳＴインデックスをコーディングすることにより、４×４ＲＳＴの適用が可能か否かが分かった場合、以下、残りの残差コーディングが行われる部分は、以下のような２つの方式で処理されることができる。
【０１８６】
１）４×４ＲＳＴが適用されない場合、一般的な残差コーディングが行われる。すなわち、最後の０でない係数の位置からＤＣまでのいずれの位置にも０でない変換係数が存在し得るという仮定下でコーディングが行われる。
【０１８７】
２）４×４ＲＳＴが適用される場合、特定の位置または特定４×４ブロック（例えば、図１７のＸ位置）に対して当該変換係数が存在しないので（デフォルトとして０で充填される）、当該位置またはブロックに対しては残差コーディングが省略されてもよい。例えば、図１７においてスキャンの順序に従ってスキャンしながらＸと表示された位置に到達する場合、ＨＥＶＣ標準において当該位置に０でない係数が存在するか否かに関するフラグ（ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ）に対するコーディングは省略されることができ、図１８のように２つのブロックの変換係数が１つのブロックにマージされる場合、０で充填された４×４ブロックの残差コーディングが可能か否かを示すフラグ（例えば、ＨＥＶＣ標準のｃｏｄｅ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇ）に対するコーディングが省略され、該当値は、０として導出することができ、該当４×４ブロックに対しては別途のコーディングなしで全て０値で充填（充電）されることができる。
【０１８８】
最後の０でない係数の位置に対するコーディング以後にＮＳＳＴインデックスをコーディングする場合、最後の０でない係数のｘ位置（Ｐｘ）およびｙ位置（Ｐｙ）がそれぞれＴｘ、Ｔｙより小さい場合、ＮＳＳＴインデックスのコーディングが省略され、４×４ＲＳＴが適用されないように設定されることができる。例えば、Ｔｘ＝１、Ｔｙ＝１であり、最後の０でない係数がＤＣの位置に存在する場合、ＮＳＳＴインデックスコーディングは省略される。このような閾値との比較のためにＮＳＳＴインデックスコーディングが可能か否かを決定する方式は、輝度成分と色差成分とにそれぞれ異なるように適用されることができるが、例えば、輝度成分と色差成分とに対してそれぞれ異なるＴｘ、Ｔｙが適用されることもあり、輝度成分には閾値が適用され、色差成分には閾値が適用されないこともある。逆に、色差成分には閾値が適用され、輝度成分には閾値が適用されないこともあり得る。
【０１８９】
前述した２つの方法（最後の０でない係数が有効な変換係数が存在しない領域に位置する場合、ＮＳＳＴインデックスコーディングを省略、最後の０でない係数に対するＸ座標およびＹ座標がそれぞれ閾値より小さいとき、ＮＳＳＴインデックスコーディングを省略）が、同時に適用されることもある。例えば、最後の０でない係数の位置座標に対する閾値の確認を先に行った後、最後の０でない係数が有効な変換係数が存在しない領域に位置するか否かをチェックすることができ、２つの方法の順序は、変更されることができる。
【０１９０】
実施形態４）において提示された方法は、８×８ＲＳＴに対しても適用されることができる。すなわち、最後の０でない係数が左上側８×８領域内で左上側４×４でない領域に位置することになると、ＮＳＳＴインデックスに対するコーディングは省略されることができ、そうでない場合、ＮＳＳＴインデックスに対するコーディングが行われることができる。また、最後の０でない係数の位置に対するＸ、Ｙ座標の値が全てある閾値未満である場合、ＮＳＳＴインデックスに対するコーディングは省略できる。２つの方法は、同時に適用されることもできる。
【０１９１】
実施形態５：ＲＳＴ適用時、輝度成分と色差成分とに対してそれぞれ異なるＮＳＳＴインデックスコーディングおよび残差コーディング方式を適用
【０１９２】
実施形態３および実施形態４において説明された方式は、輝度成分と色差成分とに対してそれぞれ異なるように適用されることができる。すなわち、ＮＳＳＴインデックスコーディングおよび残差コーディング方式が、輝度成分と色差成分とに対して異なるように適用されることができる。例えば、輝度成分に対して実施形態４において説明された方式が適用され、色差成分に対して実施形態３において説明された方式が適用されることができる。また、輝度成分に対して実施形態３または実施形態４において提案される条件的ＮＳＳＴインデックスコーディングが適用され、輝度成分に対して条件的ＮＳＳＴインデックスコーディングが適用されないこともあり、逆（色差成分には条件的ＮＳＳＴインデックスコーディングを適用、輝度成分には適用しない）も可能である。
【０１９３】
実施形態６
【０１９４】
本発明の一実施形態では、ＮＳＳＴを適用する過程で様々なＮＳＳＴ条件を適用するための混合されたＮＳＳＴ変換集合（mixed NSST transform set：ＭＮＴＳ）および該当ＭＮＴＳの構成方法を提供する。
【０１９５】
ＪＥＭによると、予め選択された下位ブロックのサイズによって、４×４ＮＳＳＴ集合は、４×４カーネル（kernel）のみを含み、８×８ＮＳＳＴ集合は、８×８カーネルのみを含む。本発明の実施形態は、以下のように混合されたＮＳＳＴ集合の構成方法を追加的に提案する。
【０１９６】
−ＮＳＳＴ集合において利用可能なＮＳＳＴカーネルのサイズが固定されず、１つまたは複数の可変的なサイズを有するＮＳＳＴカーネルがＮＳＳＴ集合に含まれることができる（例えば、１つのＮＳＳＴ集合に４×４ＮＳＳＴカーネルおよび８×８ＮＳＳＴカーネルの両方ともが含まれる）。
【０１９７】
−ＮＳＳＴ集合内に利用可能なＮＳＳＴカーネルの数は、固定されずに可変的であり得る（例えば、第１集合は３つのカーネル、第２集合は４つのカーネルを含む）。
【０１９８】
−ＮＳＳＴカーネルの順序が固定されずにＮＳＳＴ集合によって順序が異なるように定義されることがある（例えば、第１集合においてＮＳＳＴカーネル１、２、３がＮＳＳＴインデックス１、２、３にそれぞれマッピングされるが、第２集合においてＮＳＳＴカーネル３、２、１がＮＳＳＴインデックス１、２、３にそれぞれマッピングされる）。
【０１９９】
より詳細には、混合されたＮＳＳＴ変換集合構成方法の例は、以下の通りである。
【０２００】
−ＮＳＳＴ変換集合において使用可能なＮＳＳＴカーネルの優先順位は、ＮＳＳＴカーネルのサイズ（例えば、４×４ＮＳＳＴおよび８×８ＮＳＳＴ）によって決定されることができる。
【０２０１】
例えば、ブロックが大きい場合、８×８ＮＳＳＴカーネルが４×４ＮＳＳＴカーネルより重要であり得るので、８×８ＮＳＳＴカーネルに低い値を有するＮＳＳＴインデックスを割り当てる。
【０２０２】
−ＮＳＳＴ変換集合において使用可能なＮＳＳＴカーネルの優先順位は、ＮＳＳＴカーネルの順序によって決定されることができる。
【０２０３】
例えば、与えられた４×４ＮＳＳＴ第１カーネルは、４×４ＮＳＳＴ第２カーネルより優先することがある。
【０２０４】
ＮＳＳＴインデックスが符号化して送信されるので、よく発生するＮＳＳＴカーネルにさらに高い優先権（より小さいインデックス）を割り当てることにより、さらに少ないビット数でＮＳＳＴインデックスをシグナリングすることができる。
【０２０５】
以下の表１および表２は、本実施形態において提案する混合されたＮＳＳＴ集合の例を示す。
【０２０６】
＜表１＞
【表１】
2021510286.tif 000013
【０２０７】
＜表２＞
【表２】
2021510286.tif 000014
【０２０８】
実施形態７
【０２０９】
本発明の一実施形態では、二次変換集合を決定する過程において、イントラ予測モードおよびブロックのサイズを考慮してＮＳＳＴ集合を決定する方法を提案する。
【０２１０】
本実施形態において提案される方法は、実施形態６と連係してイントラ予測モードに適合した変換集合を構成して様々なサイズのカーネルを構成してブロックに適用できるようにする。
【０２１１】
図１９は、本発明が適用される実施形態であって、イントラ予測モード別に混合されたＮＳＳＴ集合の構成方法の例を示す。
【０２１２】
図１９は、実施形態２において提案する方法を実施形態６と連係して適用する方法によるテーブルの例である。すなわち、図１９に示すように、各イントラ予測モードごとに既存のＮＳＳＴ集合構成方法に従うか、あるいは他の方法のＮＳＳＴ集合構成方法に従うかを示すインデックス（「Ｍｉｘｅｄ  Ｔｙｐｅ」）が定義される。
【０２１３】
より具体的には、図１９においてインデックス（「Ｍｉｘｅｄ  Ｔｙｐｅ」）が「１」と定義されたイントラ予測モードの場合、ＪＥＭのＮＳＳＴ集合構成方法によらず、システムにおいて定義されたＮＳＳＴ集合構成方法を使用してＮＳＳＴ集合が構成される。ここで、システムにおいて定義されたＮＳＳＴ集合構成方法は、実施形態６において提案された混合されたＮＳＳＴ集合を意味する。
【０２１４】
さらに他の実施形態として、図１９のテーブルは、イントラ予測モードに関連する混合されたタイプ（mixed type）情報（フラグ）に基づいた２種類の変換集合構成方法（ＪＥＭベースのＮＳＳＴ集合構成、本発明の実施形態で提案する混合されたタイプＮＳＳＴ集合構成方法）が説明されるが、混合されたタイプＮＳＳＴ構成方法は１つまたは複数であり、ここで、混合されたタイプ情報は、Ｎ（Ｎ＞２）種類の様々な値として表現されることができる。
【０２１５】
さらに他の実施形態として、イントラ予測モードおよび変換ブロックのサイズをともに考慮して現ブロックに適した変換集合を混合されたタイプで構成するか否かを決定することができる。例えば、イントラ予測モードに該当するモードタイプが０である場合、ＪＥＭのＮＳＳＴ集合設定に従い、そうでない場合、（Ｍｏｄｅ  Ｔｙｐｅ＝１）変換ブロックのサイズによって様々な混合されたタイプのＮＳＳＴ集合が決定されることができる。
【０２１６】
図２０は、本発明が適用される実施形態であって、イントラ予測モードおよび変換ブロックのサイズを考慮してＮＳＳＴ集合（または、カーネル）を選択する方法の例を示す。
【０２１７】
デコード装置２００は、変換集合が決定されると、ＮＳＳＴインデックス情報を利用して使用されたＮＳＳＴカーネルを決定できる。
【０２１８】
実施形態８
【０２１９】
本発明の一実施形態では、二次変換を適用する過程でイントラ予測モードおよびブロックのサイズを考慮して変換集合を構成する場合、エンコード後に送信されるＮＳＳＴインデックス値の統計的分布の変化を考慮することにより、ＮＳＳＴインデックスを効率的にエンコードするための方法を提供する。本発明の実施形態は、カーネルサイズを示すシンタックスを使用して適用されるカーネルの選択方法を提供する。
【０２２０】
また、本発明の実施形態では、変換集合ごとに使用可能なＮＳＳＴカーネルの数が相異なるので、効率的な二進化の方法のために、当該集合別に使用可能な最大ＮＳＳＴインデックス値に応じて以下の表３のようにトランケートされた（切削型）単項（truncated unary）二進化の方法を提供する。
【０２２１】
＜表３＞
【表３】
2021510286.tif 000015
【０２２２】
表３は、ＮＳＳＴインデックス値の二進化方法を示し、各変換集合ごとに利用可能なＮＳＳＴカーネルの数が相異なるため、ＮＳＳＴインデックスは、最大ＮＳＳＴインデックス値によって二進化されることができる。
【０２２３】
実施形態９：縮小された変換（Reduced Transform）
【０２２４】
変換における複雑度の論点（complexity issues）により（例えば、大きなブロック変換または非分離変換）、コア変換（例えば、ＤＣＴ、ＤＳＴなど）および二次変換（例えば、ＮＳＳＴ）に適用できる縮小された変換を提供する。
【０２２５】
縮小された変換の主要なアイデアは、Ｎ次元ベクトルを他の空間からＲ次元ベクトルにマッピングすることであり、ここで、Ｒ／Ｎ（Ｒ＜Ｎ）が縮小因子（reduction factor）である。縮小された変換は、下記の数式３のようなＲ×Ｎ行列である。
【０２２６】
＜数式３＞
【数３】
2021510286.tif 000016
【０２２７】
数式１において変換のＲ個の行は、新規Ｎ次元空間のＲ個のベースである。したがって、縮小された変換と呼ばれる理由は、変換により出力されるベクトルのエレメントの個数が入力されるベクトルのエレメントの個数より小さいためである（Ｒ＜Ｎ）。縮小された変換に対する逆方向変換行列（inverse transform matrix）は、順方向変換の転置である。順方向および逆方向に縮小された変換について、図１３Ａおよび図１３Ｂを参照して説明する。
【０２２８】
図２１Ａおよび図２１Ｂは、本発明が適用される実施形態であって、順方向および逆方向縮小された変換を示す。
【０２２９】
縮小された変換のエレメントの数は、完全な行列（Ｎ×Ｎ）のサイズよりＲ／Ｎの分だけ小さいＲｘＮ個であり、これは、要求されるメモリが完全な行列のＲ／Ｎであることを意味する。
【０２３０】
また、要求される乗算の個数も、元のＮ×ＮよりＲ／Ｎの分だけ少ないＲ×Ｎである。
【０２３１】
ＸがＮレベルのベクトルである場合、縮小された変換を適用した後にＲ個の係数が取得されるが、これは、元のＮ個の係数の代わりにＲ個の値のみを伝達すればよいことを意味する。
【０２３２】
図２２は、本発明の実施形態による縮小された変換を使用したデコードのフローチャートの例を示す。
【０２３３】
提案された縮小された変換（デコーダで逆変換）は、図２１に示されたように、係数（逆量子化された係数）に適用されることができる。予め決定された縮小因子（Ｒ、またはＲ／Ｎ）および変換を行うための変換カーネルが要求されることがある。ここで、変換カーネルは、ブロックサイズ（幅、高さ）、イントラ予測モード、Ｃｉｄｘのような使用可能な情報に基づいて決定できる。現在コーディングブロックがルマブロックである場合、ＣＩｄｘは０である。そうでない場合（ＣｂまたはＣｒブロック）、ＣＩｄｘは、１などのように、０でない値となる。
【０２３４】
以下、本文書で使用される演算子は、以下の表４および表５に示すように定義される
【０２３５】
＜表４＞
【表４】
2021510286.tif 000017
【０２３６】
＜表５＞
【表５】
2021510286.tif 000018
【０２３７】
図２３は、本発明の実施形態による条件的に縮小された変換の適用のフローチャートの例を示す。図２３の動作は、デコード装置２００の逆量子化部１４０および逆変換部１５０により行われる。
【０２３８】
一実施形態において、縮小された変換は、特定条件を満たす場合に使用されることができる。例えば、縮小された変換は、以下のように、一定サイズより大きいブロックに対して適用されることができる。
【０２３９】
− Width > TH && Height > HＴ（ここで、ＴＨは、事前に定義された値（例えば、４））
【０２４０】
または
【０２４１】
− Width * Height > K && MIN（Width, Height） > TH（ＫおよびＴＨは、予め定義された値）
【０２４２】
すなわち、上記条件のように現ブロックの幅（width）が事前に定義された値（ＴＨ）より大きく、現ブロックの高さ（height）が事前に定義された値（ＴＨ）より大きい場合に、縮小された変換が適用されることができる。あるいは、現ブロックの幅と高さとの積が事前に定義された値（Ｋ）より大きく、現ブロックの幅および高さのうちの小さい値が事前に定義された値（ＴＨ）より大きい場合、縮小された変換が適用されることができる。
【０２４３】
縮小された変換は、下記のように事前に決定されたブロックのグループに対して適用されることができる。
【０２４４】
− Width == TH && Height == TH
【０２４５】
または
【０２４６】
− Width == Height
【０２４７】
すなわち、現ブロックの幅および高さがそれぞれ事前に決定された値（ＴＨ）と同一であるか、現ブロックの幅と高さとが同一である場合（現ブロックが正方形ブロックである場合）、縮小された変換が適用されることができる。
【０２４８】
縮小された変換の使用のための条件を満足しない場合、通常の（regular）変換が適用される。通常の変換は、ビデオコーディングシステムにおいて予め定義され使用可能な変換であり得る。通常の変換の例は、下記の通りである。
【０２４９】
−ＤＣＴ−２、ＤＣＴ−４、ＤＣＴ−５、ＤＣＴ−７、ＤＣＴ−８
【０２５０】
または
【０２５１】
−ＤＳＴ−１、ＤＳＴ−４、ＤＳＴ−７
【０２５２】
または
【０２５３】
−非分離変換
【０２５４】
または
【０２５５】
−ＪＥＭ−ＮＳＳＴ（ＨｙＧＴ）
【０２５６】
図２３に示すように、縮小された変換条件は、どの変換（例えば、ＤＣＴ−４、ＤＳＴ−１）が使用されるかまたはどのカーネルが適用されるか（複数のカーネルが利用可能であるとき）を示すインデックス（Ｔｒａｎｓｆｏｒｍ＿ｉｄｘ）に依存する。特に、Ｔｒａｎｓｆｏｒｍ＿ｉｄｘは、２回送信できる。１つは、水平変換を示すインデックスであり（Ｔｒａｎｓｆｏｒｍ＿ｉｄｘ＿ｈ）、他の１つは、垂直変換を示すインデックスである（Ｔｒａｎｓｆｏｒｍ＿ｉｄｘ＿ｖ）。
【０２５７】
より具体的には、図２３を参照すると、デコード装置２００は、入力されたビットストリームに対する逆量子化を行う（Ｓ２３０５）。その後、デコード装置２００は、変換を適用するか否かを決定する（Ｓ２３１０）。デコード装置２００は、変換をスキップするか否かを示すフラグにより変換を適用するか否かを決定する。
【０２５８】
変換が適用される場合、デコード装置２００は、適用される変換を示す変換インデックス（Ｔｒａｎｓｆｏｒｍ＿ｉｄｘ）をパージングする（Ｓ２３１５）。また、デコード装置２００は、変換カーネルを選択する（Ｓ２３３０）。例えば、デコード装置２００は、変換インデックス（Ｔｒａｎｓｆｏｒｍ＿ｉｄｘ）に対応する変換カーネルを選択する。また、デコード装置２００は、ブロックサイズ（幅、高さ）、イントラ予測モード、ＣＩｄｘ（ルマ、クロマ）を考慮して変換カーネルを選択する。
【０２５９】
デコード装置２００は、縮小された変換の適用のための条件を満たすか否かを決定する（Ｓ２３２０）。縮小された変換の適用のための条件は、前述したような条件を含む。縮小された変換が適用されない場合、デコード装置２００は、通常の逆変換を適用する（Ｓ２３２５）。例えば、デコード装置２００は、ステップＳ２３３０で選択した変換カーネルから逆変換行列を決定し、決定した逆変換行列を変換係数を含む現ブロックに適用する。
【０２６０】
縮小された変換が適用される場合、デコード装置２００は、縮小された逆変換を適用する（Ｓ２３３５）。例えば、デコード装置２００は、ステップＳ２３３０で選択した変換カーネルから縮小因子を考慮して縮小された逆変換行列を決定し、縮小された逆変換行列を変換係数を含む現ブロックに適用する。
【０２６１】
図２４は、本発明の実施形態による条件的に縮小された変換が適用される二次逆変換のためのデコードのフローチャートの例を示す。図２４の動作は、デコード装置２００の逆変換部２３０により行われる。
【０２６２】
一実施形態において、縮小された変換は、図２４のように二次変換に適用できる。ＮＳＳＴインデックスがパージングされると、縮小された逆変換が適用されることができる。
【０２６３】
図２４を参照すると、デコード装置２００は、逆量子化を行う（Ｓ２４０５）。逆量子化により生成された変換係数に対して、デコード装置２００は、ＮＳＳＴを適用するか否かを決定する（Ｓ２４１０）。すなわち、デコード装置２００は、ＮＳＳＴを適用するか否かによって、ＮＳＳＴインデックス（ＮＳＳＴ＿ｉｄｘ）のパージングが必要であるか否かを決定する。
【０２６４】
ＮＳＳＴが適用される場合、デコード装置２００は、ＮＳＳＴインデックスをパージングし（Ｓ２４１５）、ＮＳＳＴインデックスが０より大きいか否かを決定する（Ｓ２４２０）。ＮＳＳＴインデックスは、エントロピデコード部２１０によりＣＡＢＡＣのような技法により復元される。ＮＳＳＴインデックスが０である場合、デコード装置２００は、二次逆変換を省略し、コア逆変換または一次逆変換を適用する（Ｓ２４４５）。
【０２６５】
また、ＮＳＳＴが適用される場合、デコード装置２００は、二次逆変換のための変換カーネルを選択する（Ｓ２４３５）。例えば、デコード装置２００は、ＮＳＳＴインデックス（ＮＳＳＴ＿ｉｄｘ）に対応する変換カーネルを選択する。また、デコード装置２００は、ブロックサイズ（幅、高さ）、イントラ予測モード、ＣＩｄｘ（ルマ、クロマ）を考慮して、変換カーネルを選択する。
【０２６６】
ＮＳＳＴインデックスが０より大きい場合、デコード装置２００は、縮小された変換の適用のための条件が満足されるか否かを決定する（Ｓ２４２５）。縮小された変換の適用のための条件は、前述したような条件を含む。縮小された変換が適用されない場合、デコード装置２００は、通常の二次逆変換を適用する（Ｓ２４３０）。例えば、デコード装置２００は、ステップＳ２４３５で選択した変換カーネルから二次逆変換行列を決定し、決定した二次逆変換行列を変換係数を含む現ブロックに適用する。
【０２６７】
縮小された変換が適用される場合、デコード装置２００は、縮小された二次逆変換を適用する（Ｓ２４４０）。例えば、デコード装置２００は、ステップＳ２３３５で選択した変換カーネルから縮小因子を考慮して縮小された逆変換行列を決定し、縮小された逆変換行列を変換係数を含む現ブロックに適用することができる。以後、デコード装置２００は、コア逆変換または一次逆変換を適用する（Ｓ２４４５）。
【０２６８】
実施形態１０：相異なるブロックサイズに対する二次変換としての縮小された変換（Reduced Transform as a Secondary Transform with Different Block Size）
【０２６９】
図２５Ａ、図２５Ｂ、図２６Ａ、および図２６Ｂは、本発明の実施形態による縮小された変換および縮小された逆変換の例を示す。
【０２７０】
本発明の一実施形態において、４×４、８×８、１６×１６などの相異なるブロックサイズに対するビデオコーデックにおいて、縮小された変換が二次変換および二次逆変換として使用できる。８×８ブロックサイズおよび縮小因子Ｒ＝１６に関する例として、２次変換および２次逆変換は、図２５Ａおよび図２５Ｂのように設定されることができる。
【０２７１】
縮小された変換および縮小された逆変換の疑似コード（pseudocode）は、図２６のように設定される。
【０２７２】
＜表６＞
【表６】
2021510286.tif 000019
【０２７３】
＜表７＞
【表７】
2021510286.tif 000020
【０２７４】
実施形態１１：非正方形の二次変換として縮小された変換（Reduced Transform as a Secondary Transform with Non-Rectangular Shape）
【０２７５】
図２７は、本発明の実施形態による縮小された二次変換が適用される領域の例を示す。
【０２７６】
前述したように、二次変換における複雑度の論点により、二次変換は、４×４および８×８コーナに適用されることができる。縮小された変換は、非正方形にも適用できる。
【０２７７】
図２７に示すように、ＲＳＴは、ブロックの一部領域（斜め領域）にのみ適用できる。図２７において、各四角形は、４×４領域を示し、１０個の４×４ピクセル（すなわち、１６０個のピクセル）にＲＳＴが適用される。縮小因子Ｒ＝１６である場合、全体のＲＳＴ行列は１６×１６行列であり、これは、受容可能な計算量であり得る。
【０２７８】
実施形態１２：縮小因子（Reduction Factor）
【０２７９】
図２８は、本発明の実施形態による縮小因子による縮小された変換を示す。
【０２８０】
縮小因子の変更は、メモリおよび乗算複雑度を変更することができる。前述したように、縮小因子変更により因子（factor）Ｒ／Ｎの分だけのメモリおよび乗算複雑度が減少する。例えば、８×８ＮＳＳＴに対して、Ｒ＝１６である場合、メモリおよび乗算複雑度は、１／４の分だけ減少する。
【０２８１】
実施形態１３：上位レベルシンタックス（High Level Syntax）
【０２８２】
下記のシンタックスエレメントが、ビデオコーディングにおいてＲＳＴを処理するために使用される。縮小された変換に関連するセマンティクス（semantics）は、ＳＰＳ（Sequence Parameter Set）またはスライスヘッダ（slice header）に存在する。
【０２８３】
Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１であることは、縮小された変換が可能で、適用されることを示す。Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０であることは、縮小された変換が可能でないことを示す。Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが存在しない場合、０であると推論される（Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇ  ｅｑｕａｌｓ  ｔｏ  １  ｓｐｅｃｉｆｉｅｓ  ｔｈａｔ  ｒｅｄｕｃｅｄ  ｔｒａｎｓｆｏｒｍ  ｉｓ  ｅｎａｂｌｅｄ  ａｎｄ  ａｐｐｌｉｅｄ．  Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇ  ｅｑｕａｌ  ｔｏ  ０  ｓｐｅｃｉｆｉｅｓ  ｔｈａｔ  ｒｅｄｕｃｅｄ  ｔｒａｎｓｆｏｒｍ  ｉｓ  ｎｏｔ  ｅｎａｂｌｅｄ．  Ｗｈｅｎ  Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇ  ｉｓ  ｎｏｔ  ｐｒｅｓｅｎｔ，  ｉｔ  ｉｓ  ｉｎｆｅｒｒｅｄ  ｔｏ  ｂｅ  ｅｑｕａｌ  ｔｏ  ０）。
【０２８４】
Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｆａｃｔｏｒは、縮小された変換のために維持する縮小された次元の個数を示す。Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｆａｃｔｏｒが存在しない場合、Ｒと同一であると推論される（Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｆａｃｔｏｒ  ｓｐｅｃｉｆｉｅｓ  ｔｈａｔ  ｔｈｅ  ｎｕｍｂｅｒ  ｏｆ  ｒｅｄｕｃｅｄ  ｄｉｍｅｎｓｉｏｎｓ  ｔｏ  ｋｅｅｐ  ｆｏｒ  ｒｅｄｕｃｅｄ  ｔｒａｎｓｆｏｒｍ．  Ｗｈｅｎ  Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｆａｃｔｏｒ  ｉｓ  ｎｏｔ  ｐｒｅｓｅｎｔ，  ｉｔ  ｉｓ  ｉｎｆｅｒｒｅｄ  ｔｏ  ｂｅ  ｅｑｕａｌ  ｔｏ  Ｒ）。
【０２８５】
ｍｉｎ＿ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅは、縮小された変換を適用するための最小の変換サイズを示す。ｍｉｎ＿ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅが存在しない場合、０であると推論される（ｍｉｎ＿ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ  ｓｐｅｃｉｆｉｅｓ  ｔｈａｔ  ｔｈｅ  ｍｉｎｉｍｕｍ  ｔｒａｎｓｆｏｒｍ  ｓｉｚｅ  ｔｏ  ａｐｐｌｙ  ｒｅｄｕｃｅｄ  ｔｒａｎｓｆｏｒｍ．    Ｗｈｅｎ  ｍｉｎ＿ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ  ｉｓ  ｎｏｔ  ｐｒｅｓｅｎｔ，  ｉｔ  ｉｓ  ｉｎｆｅｒｒｅｄ  ｔｏ  ｂｅ  ｅｑｕａｌ  ｔｏ  ０）。
【０２８６】
ｍａｘ＿ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅは、縮小された変換を適用するための最大の変換サイズを示す。ｍａｘ＿ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅが存在しない場合、０であると推論される。
【０２８７】
ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅは、縮小された変換のために維持する縮小された次元の個数を示す。ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅが存在しない場合、０であると推論される（ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ  ｓｐｅｃｉｆｉｅｓ  ｔｈａｔ  ｔｈｅ  ｎｕｍｂｅｒ  ｏｆ  ｒｅｄｕｃｅｄ  ｄｉｍｅｎｓｉｏｎｓ  ｔｏ  ｋｅｅｐ  ｆｏｒ  ｒｅｄｕｃｅｄ  ｔｒａｎｓｆｏｒｍ．  Ｗｈｅｎ  Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｆａｃｔｏｒ  ｉｓ  ｎｏｔ  ｐｒｅｓｅｎｔ，  ｉｔ  ｉｓ  ｉｎｆｅｒｒｅｄ  ｔｏ  ｂｅ  ｅｑｕａｌ  ｔｏ  ０．）。
【０２８８】
＜表８＞
【表８】
2021510286.tif 000021
【０２８９】
実施形態１４：最悪の場合のハンドリング（Worst case handling）のための４×４ＲＳＴの条件的適用
【０２９０】
４×４ブロックに適用できる非分離二次変換（４×４ＮＳＳＴ）は、１６×１６変換である。４×４ＮＳＳＴは、ＤＣＴ−２、ＤＳＴ−７、またはＤＣＴ−８などの一次変換が適用されたブロックに対して二次的に適用される。一次変換が適用されたブロックのサイズをＮ×Ｍとすると、４×４ＮＳＳＴをＮ×Ｍブロックに適用するとき、以下のような方法が考えられる。
【０２９１】
１）Ｎ×Ｍ領域に対して４×４ＮＳＳＴを適用するための条件は、下記のａ）、ｂ）の通りである。
【０２９２】
ａ）N >= 4
【０２９３】
ｂ）M >= 4
【０２９４】
２）Ｎ×Ｍ領域に対して全て４×４ＮＳＳＴが適用されるのではなく、一部の領域にのみ適用される。例えば、左上側のＫ×Ｊ領域に対してのみ４×４ＮＳＳＴが適用されることができる。この場合のための条件は、下記のａ）、ｂ）の通りである。
【０２９５】
ａ）K > = 4
【０２９６】
ｂ）J > = 4
【０２９７】
３）二次変換が適用される領域を４×４ブロックに分割した後、各分割されたブロックに対して４×４ＮＳＳＴが適用されることができる。
【０２９８】
４×４ＮＳＳＴの計算複雑度は、エンコーダおよびデコーダの非常に重要な考慮すべき要素であるので、これについて詳細に分析する。特に、乗算数を基準に４×４ＮＳＳＴの計算複雑度を分析する。順方向ＮＳＳＴの場合、１６×１６二次変換は、１６個の行方向変換基底ベクトルで構成され、１６×１ベクトルと各変換基底ベクトルとに対して内積を取ると、当該変換基底ベクトルに対する変換係数が取得される。１６個の変換基底ベクトルに対する全ての変換係数を得る過程は、１６×１６非分離変換行列と入力１６×１ベクトルとを乗算することのようである。したがって、４×４順方向ＮＳＳＴに要求される総乗算数は、２５６である。
【０２９９】
デコーダにおいて、１６×１変換係数に対して逆方向１６×１６非分離変換適用すると（量子化や整数化計算などの効果を無視したとき）、元の４×４一次変換ブロックの係数が復元されることができる。言い換えると、逆方向１６×１６非分離変換行列を１６×１変換係数ベクトルに乗算すると、１６×１ベクトルの形態のデータが取得され、最初に適用した行−優先または列−優先順序に従ってデータを配列すると、４×４ブロック信号（一次変換係数）が復元されることができる。したがって、４×４逆方向ＮＳＳＴに要求される総乗算数は、２５６である。
【０３００】
前述したように４×４ＮＳＳＴが適用される場合、サンプル単位で要求される乗算個数は、１６である。これは、４×４ＮＳＳＴ実行過程である１６×１ベクトルと各変換基底ベクトルとの内積過程で取得される乗算の総数２５６から総サンプルの個数１６で除したときに得られる数である。順方向４×４ＮＳＳＴおよび逆方向４×４ＮＳＳＴの場合に対して全て同一に要求される乗算数は、１６である。
【０３０１】
８×８ブロックの場合、４×４ＮＳＳＴを適用したときに要求されるサンプル当たりの乗算の個数は、４×４ＮＳＳＴを適用した領域によって以下のように決定される。
【０３０２】
１．４×４ＮＳＳＴを左上側４×４領域にのみ適用した場合：２５６（４×４ＮＳＳＴ過程で必要な乗算数）／６４（８×８ブロック内の総サンプルの数）＝４乗算数／サンプル
【０３０３】
２．４×４ＮＳＳＴを左上側４×４領域および右上側４×４領域に適用した場合：５１２（２つの４×４ＮＳＳＴ過程で必要な乗算数）／６４（８×８ブロック内の総サンプルの個数）＝８乗算数／サンプル
【０３０４】
３．４×４ＮＳＳＴを８×８ブロックの全ての４×４領域に適用した場合：１０２４（４つの４×４ＮＳＳＴ過程で必要な乗算数）／６４（８×８ブロック内の総サンプルの個数）＝１６乗算数／サンプル
【０３０５】
前述したように、ブロックのサイズが大きい場合、各サンプルが要求される最悪の場合の乗算の数を減少させるために４×４ＮＳＳＴを適用する範囲を減少させることができる。
【０３０６】
したがって、４×４ＮＳＳＴを使用する場合、ＴＵのサイズが４×４である場合、最悪の場合となる。この場合、最悪の場合の複雑度（worst case complexity）を減少させるための方法は、以下の通りである。
【０３０７】
方法１．小さいＴＵ（すなわち、４×４ＴＵ）に対して４×４ＮＳＳＴを適用しない。
【０３０８】
方法２．４×４ブロック（４×４ＴＵ）の場合、４×４ＮＳＳＴの代わりに４×４ＲＳＴを適用する。
【０３０９】
方法１の場合、４×４ＮＳＳＴを適用しないことにより符号化性能に多くの低下が発生することが実験により観察された。方法２の場合、１６×１変換係数ベクトルを構成する要素の統計的特性によって、全ての変換係数を使用しなくても前側に位置する一部の変換係数に対する逆変換を適用することにより、元の信号にかなり近い信号を復元することができ、大部分の符号化性能を維持できることが明らかになった。
【０３１０】
具体的には、４×４ＲＳＴの場合、逆方向（または、順方向）１６×１６非分離変換が１６個の列基底ベクトル（column basis vector）で構成されるとすると、Ｌ個の列基底ベクトルのみが残されて１６×Ｌ行列が構成される。変換係数のうちのより重要なＬ個の変換係数のみを残すことにより、１６×Ｌ行列とＬ×１ベクトルとを乗算すると、元の１６×１ベクトルデータとの誤差が大きくない１６×１ベクトルが復元できる。
【０３１１】
結果として、Ｌ個の係数のみがデータ復元に介入するので、変換係数を取得するために１６×１変換係数ベクトルではなく、Ｌ×１変換係数ベクトルを求めればよい。すなわち、順方向１６×１６非分離変換行列においてＬ個の行方向変換ベクトルを選択することによりＬ×１６変換行列が構成され、Ｌ×１６変換行列と１６×１入力ベクトルとを乗算すると、Ｌ個の変換係数が取得される。
【０３１２】
Ｌ値は、１＜＝Ｌ＜１６の範囲を有し、一般的には、１６個の変換基底ベクトルのうち任意の方法でＬ個が選択できるが、前述したように、符号化および復号の側面から信号のエネルギ重要度の高い変換基底ベクトルを選択することが符号化効率の観点から有利であり得る。Ｌ値の変換による４×４ブロックにおけるサンプル当たりの最悪の場合の乗算数は、下記の表９の通りである。
【０３１３】
＜表９＞
【表９】
2021510286.tif 000022
【０３１４】
前述したように、最悪の場合の乗算複雑度の減少のために、下記の表１０のように４×４ＮＳＳＴと４×４ＲＳＴとを複合的に使用することができる（ただし、以下の例は、４×４ＮＳＳＴを適用するための条件（すなわち、現ブロックの幅および高さが全て４より大きいか等しい場合）下で４×４ＮＳＳＴおよび４×４ＲＳＴを適用する条件を説明する）。
【０３１５】
前述したように、４×４ブロックに対する４×４ＮＳＳＴは、１６個のデータが入力されて１６個のデータを出力する正方形（１６ｘ１６）変換行列であり、４×４ＲＳＴは、エンコーダ側を基準に１６個のデータが入力されて１６より小さいＲ個（例えば、８つ）のデータを出力する非正方形（８×１６）変換行列を意味する。デコーダ側を基準に４×４ＲＳＴは、１６より小さいＲ個（例えば、８つ）のデータが入力されて１６個のデータを出力する非正方形（１６×８）変換行列を意味する。
【０３１６】
＜表１０＞
【表１０】
2021510286.tif 000023
【０３１７】
表１０を参照すると、現ブロックの幅および高さがそれぞれ４である場合、現ブロックに対して８×１６行列に基づいた４×４ＲＳＴが適用され、そうでない場合（現ブロックの幅または高さのいずれか１つが４でない場合）、現ブロックの左上側の４×４領域に対して４×４ＮＳＳＴが適用されることができる。より具体的には、現ブロックのサイズが４×４である場合、１６の入力長および８の出力長を有する非分離変換が適用されることができる。逆方向非分離変換の場合、逆に８の入力長および１６の出力長を有する非分離変換が適用されることができる。
【０３１８】
前述したように、最悪の場合の乗算複雑度の減少のために、下記の表１１のように４×４ＮＳＳＴと４×４ＲＳＴとを組み合わせて使用することができる（ただし、以下の例は、４×４ＮＳＳＴを適用するための条件（すなわち、現ブロックの幅および高さが全て４より大きいか等しい場合）下で４×４ＮＳＳＴおよび４×４ＲＳＴを適用する条件を説明する）。
【０３１９】
＜表１１＞
【表１１】
2021510286.tif 000024
【０３２０】
表１１を参照すると、現ブロックの幅および高さがそれぞれ４である場合、８×１６行列に基づいた４×４ＲＳＴが適用され、現ブロックの幅と高さとの積が閾値（ＴＨ）より小さい場合、４×４ＮＳＳＴが現ブロックの左上側の４×４領域に適用され、現ブロックの幅が高さより大きいか等しい場合、４×４ＮＳＳＴが現ブロックの左上側の４×４領域および左上側の４×４領域の右側に位置する４×４領域に適用され、残りの場合（現ブロックの高さより小さい場合）、４×４ＮＳＳＴが現ブロックの左上側の４×４領域および左上側の４×４領域の下に位置する４×４領域に適用される。
【０３２１】
結論として、最悪の場合の乗算の計算複雑度の減少のために、４×４ブロックに対して４×４ＮＳＳＴの代わりに４×４ＲＳＴ（例えば、８×１６行列）が適用されることができる。
【０３２２】
実施形態１５：最悪の場合のハンドリング（Worst case handling）のための８×８ＲＳＴの条件的適用
【０３２３】
８×８ブロックに適用できる非分離二次変換（８×８ＮＳＳＴ）は、６４×６４変換である。８×８ＮＳＳＴは、ＤＣＴ−２、ＤＳＴ−７、またはＤＣＴ−８などの一次変換が適用されたブロックに対して二次的に適用される。一次変換が適用されたブロックのサイズをＮ×Ｍとすると、８×８ＮＳＳＴをＮ×Ｍブロックに適用するとき、以下のような方法が考慮される。
【０３２４】
１）Ｎ×Ｍ領域に対して８×８ＮＳＳＴを適用するための条件は、下記のｃ）、ｄ）の通りである。
【０３２５】
ｃ）N >= 8
【０３２６】
ｄ）M >= 8
【０３２７】
２）Ｎ×Ｍ領域に対して全て８×８ＮＳＳＴが適用されるのではなく、一部の領域にのみ適用されることがある。例えば、左上側のＫ×Ｊ領域に対してのみ８×８ＮＳＳＴが適用される。この場合のための条件は、下記のｃ）、ｄ）の通りである。
【０３２８】
ｃ）K >= 8
【０３２９】
ｄ）J >= 8
【０３３０】
３）二次変換が適用される領域を８×８ブロックに分割した後、各分割されたブロックに対して８×８ＮＳＳＴが適用されることができる。
【０３３１】
８×８ＮＳＳＴの計算複雑度は、エンコーダおよびデコーダの非常に重要な考慮すべき要素であるので、これについて詳細に分析する。特に、乗算数を基準に８×８ＮＳＳＴの計算複雑度を分析する。順方向ＮＳＳＴの場合、６４×６４非分離二次変換は、６４個の行方向変換基底ベクトルで構成され、６４×１ベクトルと各変換基底ベクトルとに対して内積を取ると、当該変換基底ベクトルに対する変換係数が取得される。６４個の変換基底ベクトルに対する全ての変換係数を得る過程は、６４×６４非分離変換行列と入力６４×１ベクトルとを乗算することのようである。したがって、８×８順方向ＮＳＳＴに要求される総乗算数は、４０９６である。
【０３３２】
デコーダにおいて、６４×１変換係数に対して逆方向６４×６４非分離変換を適用すると（量子化や整数化計算などの効果を無視したとき）、元の８×８一次変換ブロックの係数が復元されることができる。言い換えると、逆方向６４×６４非分離変換行列を６４×１変換係数ベクトルに乗算すると、６４×１ベクトル形態のデータが取得され、最初に適用した行−優先または列−優先順序に従ってデータを配列すると、８×８ブロック信号（一次変換係数）が復元されることができる。したがって、８×８逆方向ＮＳＳＴに要求される総乗算数は、４０９６である。
【０３３３】
前述したように、８×８ＮＳＳＴが適用される場合、サンプル単位で要求される乗算個数は、６４である。これは、８×８ＮＳＳＴ実行過程である６４×１ベクトルと各変換基底ベクトルとの内積過程で取得される乗算の総数４０９６から総サンプルの個数６４で除したときに得られる数である。順方向８×８ＮＳＳＴと逆方向８×８ＮＳＳＴとの場合に対して全て同一に要求される乗算数は、６４である。
【０３３４】
１６×１６ブロックの場合、８×８ＮＳＳＴを適用したときに要求されるサンプル当たりの乗算の個数は、８×８ＮＳＳＴを適用した領域によって以下のように決定される。
【０３３５】
１．８×８ＮＳＳＴを左上側の８×８領域にのみ適用した場合：４０９６（８×８ＮＳＳＴ過程で必要な乗算数）／２５６（１６×１６ブロック内の総サンプルの数）＝１６乗算数／サンプル
【０３３６】
２．８×８ＮＳＳＴを左上側の８×８領域および右上側の８×８領域に適用した場合：８１９２（２つの８×８ＮＳＳＴ過程で必要な乗算数）／２５６（１６×１６ブロック内の総サンプルの個数）＝３２乗算数／サンプル
【０３３７】
３．８×８ＮＳＳＴを１６×１６ブロックの全ての８×８領域に適用した場合：１６３８４（４つの８×８ＮＳＳＴ過程で必要な乗算数）／２５６（１６×１６ブロック内の総サンプルの個数）＝６４乗算数／サンプル
【０３３８】
前述したように、ブロックのサイズが大きい場合、各サンプル当たり要求される最悪の場合の乗算の数を減少させるために８×８ＮＳＳＴを適用する範囲を減少させることができる。
【０３３９】
８×８ＮＳＳＴが適用される場合、８×８ブロックが８×８ＮＳＳＴが適用されることができる最小のＴＵであるので、サンプル当たり要求される乗算数の観点から、ＴＵのサイズが８×８である場合が最悪の場合に該当する。この場合、最悪の場合の複雑度（worst case complexity）を減少させるための方法は、以下の通りである。
【０３４０】
方法１．小さいＴＵ（すなわち、８×８ＴＵ）に対して８×８ＮＳＳＴを適用しない。
【０３４１】
方法２．８×８ブロック（８×８ＴＵ）の場合、８×８ＮＳＳＴの代わりに８×８ＲＳＴを適用する。
【０３４２】
方法１の場合、８×８ＮＳＳＴを適用しないことにより符号化性能に多くの低下が発生することが実験により観察された。方法２の場合、６４×１変換係数ベクトルを構成する要素の統計的特性によって、全ての変換係数を使用しなくても前側に位置する一部の変換係数に対する逆変換を適用することにより元の信号とかなり近い信号を復元でき、大部分の符号化性能を維持できることが明らかになった。
【０３４３】
具体的には、８×８ＲＳＴの場合、逆方向（または、順方向）６４×６４非分離変換が１６個の列基底ベクトル（column basis vector）で構成されるとすると、Ｌ個の列基底ベクトルのみが残されて６４×Ｌ行列が構成される。変換係数のうちのより重要なＬ個の変換係数のみを残すことにより６４×Ｌ行列とＬ×１ベクトルとを乗算すると、元の６４×１ベクトルデータとの誤差が大きくない６４×１ベクトルが復元できる。
【０３４４】
結果として、Ｌ個の係数のみがデータ復元に介入するので、変換係数を取得するために、６４×１変換係数ベクトルではなく、Ｌ×１変換係数ベクトルを求めればよい。すなわち、順方向６４×６４非分離変換行列においてＬ個の行方向変換ベクトルを選択することによりＬ×６４変換行列が構成され、Ｌ×６４変換行列と６４×１入力ベクトルとを乗算すると、Ｌ個の変換係数が取得される。
【０３４５】
Ｌ値は、１＜＝Ｌ＜６４の範囲を有し、一般的には、６４個の変換基底ベクトルのうち任意の方法でＬ個が選択されるが、前述したように符号化および復号の側面から信号のエネルギ重要度が高い変換基底ベクトルを選択することが符号化効率の観点から有利であり得る。Ｌ値の変換による８×８ブロックにおけるサンプル当たりの最悪の場合の乗算数は、以下の表１２の通りである。
【０３４６】
＜表１２＞
【表１２】
2021510286.tif 000025
【０３４７】
前述したように、最悪の場合の乗算複雑度の減少のために、以下の表１３のように相異なるＬ値を有する８×８ＲＳＴを複合的に使用することができる（ただし、以下の例は、８×８ＮＳＳＴを適用するための条件（すなわち、現ブロックの幅および高さが全て８より大きいか等しい場合）下で８×８ＲＳＴを適用する条件を説明する）。
【０３４８】
＜表１３＞
【表１３】
2021510286.tif 000026
【０３４９】
表１３を参照すると、現ブロックの幅および高さがそれぞれ８である場合、現ブロックに対して８×６４行列に基づいた８×８ＲＳＴが適用され、そうでない場合（現ブロックの幅または高さのいずれか１つが８でない場合）、現ブロックに対して１６×６４行列に基づいた８×８ＲＳＴが適用されることができる。より具体的には、現ブロックのサイズが８×８である場合、６４の入力長および８の出力長を有する非分離変換が適用され、そうでない場合、６４の入力長および１６の出力長を有する非分離変換が適用される。逆方向非分離変換の場合、現ブロックが８×８である場合、８の入力長および６４の出力長を有する非分離変換が適用され、そうでない場合、１６の入力長および６４の出力長を有する非分離変換が適用される。
【０３５０】
表１４は、８×８ＮＳＳＴを適用するための条件（すなわち、現ブロックの幅および高さが８より大きい場合）下で、様々な８×８ＲＳＴの適用に関する例である。
【０３５１】
＜表１４＞
【表１４】
2021510286.tif 000027
【０３５２】
表１４を参照すると、現ブロックの幅および高さがそれぞれ８である場合、８×６４行列に基づいた８×８ＲＳＴが適用され、現ブロックの幅と高さとの積が閾値（ＴＨ）より小さい場合、１６×６４行列に基づいた８×８ＲＳＴが現ブロックの左上側の８×８領域に適用され、現ブロックの幅が高さより大きいか等しい場合、３２×６４行列に基づいた８ＲＳＴが現ブロックの左上側の８×８領域に位置する４×４領域に適用され、残りの場合（現ブロックの幅と高さとの積が閾値より大きいか等しく、現ブロックの幅が高さより小さい場合）、３２×６４行列に基づいた８×８ＲＳＴが現ブロックの左上側の８×８領域に適用される。
【０３５３】
図２９は、本発明の実施形態による変換が適用されるデコードのフローチャートの例を示す。図２９の動作は、デコード装置２００の逆変換部２３０により行われる。
【０３５４】
ステップＳ２９０５で、デコード装置２００は、現ブロックの高さおよび幅に基づいて非分離変換の入力長および出力長を決定する。ここで、現ブロックの高さおよび幅がそれぞれ４である場合、非分離変換の入力長は８、出力長は１６に決定される。すなわち、８×１６行列に基づいた４×４ＲＳＴの逆変換（１６×８行列に基づいた逆方向４×４ＲＳＴ）が適用される。現ブロックの高さおよび幅がそれぞれ４である場合に該当しない場合、非分離変換の入力長および出力長は、それぞれ１６に決定される。
【０３５５】
ステップＳ２９１０で、デコード装置２００は、非分離変換の入力長および出力長に対応する非分離変換行列を決定する。例えば、非分離変換の入力長が８であり、出力長が１６である場合（現ブロックのサイズが４×４である場合）、変換カーネルから導出された１６×８行列が非分離変換ブロックとして決定され、非分離変換の入力長が１６であり、出力長が１６である場合（例えば、現ブロックが８×８より小さいとともに４×４でない場合）、１６×１６変換カーネルが非分離変換として決定できる。
【０３５６】
本発明の実施形態によれば、デコード装置２００は、現ブロックのイントラ予測モードに基づいて非分離変換集合インデックス（例えば、ＮＳＳＴインデックス）を決定し、非分離変換集合インデックスに含まれる非分離変換集合内で非分離変換インデックスに対応する非分離変換カーネルを決定し、ステップＳ２９０５で決定された入力長および出力長に基づいて非分離変換カーネルから非分離変換行列を決定できる。
【０３５７】
ステップＳ２９１５で、デコード装置２００は、現ブロックで決定された非分離変換行列を上記現ブロックに適用する。例えば、非分離変換の入力長が８であり、出力長が１６である場合、変換カーネルから導出された８×１６行列を現ブロックに適用し、非分離変換の入力長が１６であり、出力長が１６である場合、変換カーネルから導出された１６×１６行列を現ブロックの左上側の４×４領域の係数に適用できる。
【０３５８】
また、現ブロックの高さおよび幅がそれぞれ４である場合に該当しない場合に対して、デコード装置２００は、現ブロックの幅と高さとの積が閾値より小さい場合、非分離変換行列を現ブロックの左上側の４×４領域に適用し、現ブロックの幅が高さより大きいか等しい場合、現ブロックの左上側の４×４領域および上記左上側の４×４領域の右側に位置する４×４領域に適用し、現ブロックの幅と高さとの積が閾値より大きいか等しく、現ブロックの幅が高さより小さい場合、上記非分離変換行列を上記現ブロックの左上側の４×４領域および上記左上側の４×４領域の下に位置する４×４領域に適用する。
【０３５９】
図３０は、本発明が適用される実施形態であって、ビデオ信号を処理するための装置のブロック図の例を示す。図３０の画像処理装置３０００は、図１のエンコード装置１００または図２のデコード装置２００に該当し得る。
【０３６０】
画像信号を処理する画像処理装置３０００は、画像信号を記憶するメモリ３０２０と、上記メモリと結合しながら画像信号を処理するプロセッサ３０１０と、を含む。
【０３６１】
本発明の実施形態によるプロセッサ３０１０は、画像信号の処理のための少なくとも１つの処理（プロセッシング）回路で構成され、画像信号をエンコードまたはデコードするための命令語を実行することにより画像信号を処理することができる。すなわち、プロセッサ３０１０は、前述のエンコードまたはデコードの方法を実行することにより、オリジナル画像データをエンコードするか、エンコードされた画像信号をデコードする。
【０３６２】
図３１は、本発明が適用される実施形態であって、画像コーディングシステムの例を示す。
【０３６３】
画像コーディングシステムは、ソースデバイスおよび受信デバイスを含む。ソースデバイスは、エンコードされたビデオ／画像情報またはデータをファイルまたはストリーミングの形態でデジタル記憶媒体またはネットワークを介して受信デバイスに伝達する。
【０３６４】
ソースデバイスは、ビデオソース、エンコード装置、送信器を含む。受信デバイスは、受信器、デコード装置およびレンダラを含む。エンコード装置は、ビデオ／画像エンコード装置と呼ばれてもよく、デコード装置は、ビデオ／画像デコード装置と呼ばれてもよい。送信器は、エンコード装置に含まれてもよい。受信器は、デコード装置に含まれてもよい。レンダラは、ディスプレイ部を含んでもよく、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されてもよい。
【０３６５】
ビデオソースは、ビデオ／画像のキャプチャ、合成または生成過程などによりビデオ／画像を取得する。ビデオソースは、ビデオ／画像キャプチャデバイスおよび／またはビデオ／画像生成デバイスを含む。ビデオ／画像キャプチャデバイスは、例えば、１つまたは複数のカメラ、以前にキャプチャされたビデオ／画像を含むビデオ／画像アーカイブなどを含む。ビデオ／画像生成デバイスは、例えばコンピュータ、タブレットおよびスマートフォンなどを含み、（電子的に）ビデオ／画像を生成することができる。例えば、コンピュータなどにより仮想のビデオ／画像が生成されることができ、この場合、関連データが生成される過程は、ビデオ／画像キャプチャの過程と代わることができる。
【０３６６】
エンコード装置は、入力ビデオ／画像をエンコードする。エンコード装置は、圧縮およびコーディング効率のために予測、変換、量子化など一連の手順を行うことができる。エンコードされたデータ（エンコードされたビデオ／画像情報）は、ビットストリーム形式で出力される。
【０３６７】
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ／画像情報またはデータをファイルまたはストリーミング形態でデジタル記憶媒体またはネットワークを介して受信デバイスの受信部に伝達する。デジタル記憶媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、ブルーレイ、ＨＤＤ、ＳＳＤなどの多様な記憶媒体を含む。送信部は、予め決められたファイルフォーマットによりメディアファイルを生成するためのエレメントを含み、放送／通信ネットワークを介した送信のためのエレメントを含む。受信器は、ビットストリームを抽出してデコード装置に伝達する。
【０３６８】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ／画像をデコードする。
【０３６９】
レンダラは、デコードされたビデオ／画像をレンダリングする。レンダリングされたビデオ／画像は、ディスプレイ部を介して表示される。
【０３７０】
図３２は、本発明が適用される実施形態であって、コンテンツストリーミングシステムの構造図である。
【０３７１】
本発明が適用されるコンテンツストリーミングシステムは、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア記憶装置（格納所）、ユーザ装置およびマルチメディア入力装置を含む。
【０３７２】
エンコードサーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これをストリーミングサーバに送信する役割を果たす。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、エンコードサーバは省略されてもよい。
【０３７３】
ビットストリームは、本発明が適用されるエンコード方法またはビットストリーム生成方法により生成され、ストリーミングサーバは、ビットストリームを送信または受信する過程で一時的にビットストリームを記憶することができる。
【０３７４】
ストリーミングサーバは、ウェブサーバを介したユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、上記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体としての役割を果たす。ユーザがウェブサーバに希望のサービスを要求すると、ウェブサーバは、これをストリーミングサーバに伝達し、ストリーミングサーバは、ユーザにマルチメディアデータを送信する。ここで、コンテンツストリーミングシステムは、別途の制御サーバを含んでもよく、この場合、制御サーバは、コンテンツストリーミングシステム内の各装置間の命令／応答を制御する役割を果たす。
【０３７５】
ストリーミングサーバは、メディア記憶装置および／またはエンコードサーバからコンテンツを受信する。例えば、エンコードサーバからコンテンツを受信する場合、コンテンツをリアルタイムに受信できる。この場合、円滑なストリーミングサービスを提供するために、ストリーミングサーバは、ビットストリームを一定時間記憶することができる。
【０３７６】
ユーザ装置の例としては、携帯電話、スマートフォン（smart phone）、ノートブックコンピュータ（laptop computer）、デジタル放送用端末、ＰＤＡ（Personal Digital Assistants）、ＰＭＰ（Portable Multimedia Player）、ナビゲーション、スレートＰＣ（slate PC）、タブレットＰＣ（tablet PC）、ウルトラブック（ultrabook）、ウェアラブルデバイス（wearable device、例えば、スマートウォッチ（smartwatch）、スマートグラス（smart glass）、ＨＭＤ（Head Mounted Display））、デジタルＴＶ、デスクトップコンピュータ、デジタルサイネージなどを有することができる。
【０３７７】
コンテンツストリーミングシステム内の各サーバは、分散サーバとして運用でき、この場合、各サーバで受信するデータは、分散処理されることができる。
【０３７８】
また、本発明が適用される処理方法は、コンピュータで実行されるプログラムの形で生産されることができ、コンピュータが読み取り可能な記憶媒体に記憶することができる。本発明に係るデータ構造を有するマルチメディアデータもまた、コンピュータが読み出しできる記録媒体に記憶することができる。上記コンピュータが読み取り可能な記録媒体は、コンピュータで読み取り可能なデータが記憶されるあらゆる種類のストレージデバイスおよび分散ストレージデバイスを含む。上記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク（ＢＤ）、ユニバーサルシリアルバス（ＵＳＢ）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピ（登録商標）ディスク、および光学データ記憶装置を含むことができる。また、上記コンピュータが読み取り可能な記録媒体は、搬送波（例えば、インターネットを通じた伝送）の形で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームは、コンピュータが読み取り可能な記録媒体に記憶されたり、有無線通信ネットワークを介して転送されることができる。
【０３７９】
また、本発明の実施形態は、プログラムコードによるコンピュータプログラム製品として実現されることができ、上記プログラムコードは、本発明の実施形態により、コンピュータ上で実行されることができる。上記プログラムコードは、コンピュータによって読み取り可能なキャリア上に記憶することができる。
【０３８０】
上記記述されたように、本発明で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。例えば、各図で示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。
【０３８１】
また、本発明が適用されるデコーダおよびエンコーダは、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、ビデオオンデマンド（ＶｏＤ）サービス提供装置、ＯＴＴビデオ（Over The Top video）装置、インターネットストリーミングサービス提供装置、３次元（３Ｄ）ビデオ装置、テレビ電話、ビデオ装置、および医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために用いられる。たとえば、ＯＴＴビデオ（Over The Top video）装置では、ゲーム機、ブルーレイプレーヤ、インターネット接続ＴＶ、ホームシアターシステム、スマートフォン、タブレットＰＣ、ＤＶＲ（Digital Video Recorder）などを含むことができる。
【０３８２】
また、本発明が適用される処理方法は、コンピュータで実行されるプログラムの形で生産されることができ、コンピュータが読み取り可能な記憶媒体に記憶されることができる。本発明に係るデータ構造を有するマルチメディアデータもまた、コンピュータが読み出し可能な記憶媒体に記憶されることができる。上記コンピュータが読み取り（判読）可能な記録媒体は、コンピュータが読み取り可能なデータが記憶されるあらゆる種類のストレージデバイスおよび分散ストレージデバイスを含む。上記コンピュータが読み取り可能な記録媒体は、例えば、ブルー例ディスク（ＢＤ）、ユニバーサルシリアルバス（ＵＳＢ）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピ（登録商標）ディスク、および光学データ記憶装置を含むことができる。また、上記コンピュータが読み取り可能な記録媒体は、搬送波（例えば、インターネットを通じた伝送）の形で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームは、コンピュータが読み取り可能な記録媒体に記憶されたり、有無線通信ネットワークを介して転送されることができる。
【０３８３】
また、本発明の実施形態は、プログラムコードによるコンピュータプログラム製品として実現されることができ、上記プログラムコードは、本発明の実施形態により、コンピュータ上で実行されることができる。上記プログラムコードは、コンピュータによって読み取り可能なキャリア上に記憶されることができる。
【０３８４】
以上で説明した実施形態は、本発明の構成要素および特徴が所定形態で結合されたものである。各構成要素または特徴は、別の明示的な言及がない限り選択的なものとして考慮されるべきである。各構成要素または特徴は、他の構成要素や特徴と結合されない形態で実施されることができる。また、一部の構成要素および／または特徴を結合して、本発明の実施形態を構成することも可能である。本発明の実施形態で説明される動作の順序は変更されることができる。いずれの実施形態の一部の構成や特徴も、他の実施形態に含まれることができ、または他の実施形態に対応する構成もしくは特徴と代替されることができる。特許請求の範囲で明示的な引用関係がない請求項を結合して実施形態を構成したり、出願後の補正により新しい請求項として含めることができることは自明である。
【０３８５】
本発明に係る実施形態は、様々な手段、例えば、ハードウェア、ファームウェア（firmware）、ソフトウェアまたはそれらの組み合わせなどにより実現されることができる。ハードウェアによる実現の場合、本発明の一実施形態は、一つまたは複数のＡＳＩＣｓ（Application Specific Integrated Circuits）、ＤＳＰｓ（Digital Signal Processors）、ＤＳＰＤｓ（Digital Signal Processing Devices）、ＰＬＤｓ（Programmable Logic Devices）、ＦＰＧＡｓ（Field Programmable Gate Arrays）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどにより実現されることができる。
【０３８６】
ファームウェアやソフトウェアによる実現の場合、本発明の一実施形態は、以上で説明した機能または動作を実行するモジュール、プロシージャ、関数などの形態で実現されることができる。ソフトウェアコードは、メモリに記憶されてプロセッサによって駆動されることができる。上記メモリは、上記プロセッサの内部または外部に位置して、既に公知の多様な手段により、上記プロセッサとデータを送受信することができる。
【０３８７】
本発明は、本発明の必須的特徴を逸脱しない範囲で他の特定の形態で具体化されることができることは、当業者に自明である。したがって、前述した詳細な説明は、すべての面で制限的に解釈してはならず、例示的なものとみなされるべきである。本発明の範囲は、添付された請求項の合理的解釈によって決定されるべきであり、本発明の等価的範囲内におけるすべての変更は、本発明の範囲に含まれる。
【産業上の利用可能性】
【０３８８】
以上、前述した本発明の好ましい実施形態は、例示の目的のために開示されたもので、当業者であれば、以下、添付された特許請求の範囲に開示された本発明の技術的思想とその技術的範囲内で、様々な他の実施形態の改良、変更、代替または付加などが可能である。
【図１】
2021510286.tif 000028
【図２】
2021510286.tif 000029
【図３ａ】
2021510286.tif 000030
【図３ｂ】
2021510286.tif 000031
【図３ｃ】
2021510286.tif 000032
【図３ｄ】
2021510286.tif 000033
【図４】
2021510286.tif 000034
【図５】
2021510286.tif 000035
【図６】
2021510286.tif 000036
【図７】
2021510286.tif 000037
【図８】
2021510286.tif 000038
【図９】
2021510286.tif 000039
【図１０】
2021510286.tif 000040
【図１１】
2021510286.tif 000041
【図１２】
2021510286.tif 000042
【図１３】
2021510286.tif 000043
【図１４】
2021510286.tif 000044
【図１５】
2021510286.tif 000045
【図１６（ａ）】
2021510286.tif 000046
【図１６（ｂ）】
2021510286.tif 000047
【図１６（ｃ）】
2021510286.tif 000048
【図１７】
2021510286.tif 000049
【図１８】
2021510286.tif 000050
【図１９】
2021510286.tif 000051
【図２０】
2021510286.tif 000052
【図２１ａ】
2021510286.tif 000053
【図２１ｂ】
2021510286.tif 000054
【図２２】
2021510286.tif 000055
【図２３】
2021510286.tif 000056
【図２４】
2021510286.tif 000057
【図２５ａ】
2021510286.tif 000058
【図２５ｂ】
2021510286.tif 000059
【図２６ａ】
2021510286.tif 000060
【図２６ｂ】
2021510286.tif 000061
【図２７】
2021510286.tif 000062
【図２８】
2021510286.tif 000063
【図２９】
2021510286.tif 000064
【図３０】
2021510286.tif 000065
【図３１】
2021510286.tif 000066
【図３２】
2021510286.tif 000067
【手続補正書】
【提出日】令和2年7月8日(2020.7.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像信号をデコードするための方法であって、
現ブロックの高さ（height）および幅（width）に基づいて非分離変換の入力長および出力長を決定するステップと、
前記非分離変換の入力長および出力長に関連する非分離変換行列を決定するステップと、
前記非分離変換行列を前記現ブロックにおいて前記入力長の数により係数に適用するステップと、を有し、
前記現ブロックの高さおよび幅のそれぞれが４に等しいことに基づいて、前記非分離変換の入力長は８として決定され、前記非分離変換の出力長は１６として決定される、方法。
【請求項２】
前記現ブロックの高さおよび幅のそれぞれが８に等しくないことに基づいて、前記非分離変換の入力長および出力長は、１６として決定される、請求項１に記載の方法。
【請求項３】
前記非分離変換行列を適用するステップは、
前記現ブロックの高さおよび幅のそれぞれが４に等しくなく、前記幅と前記高さとの積が閾値より小さいことに基づいて、前記非分離変換行列を前記現ブロックの左上側の４×４領域に適用するステップを有する、請求項２に記載の方法。
【請求項４】
前記非分離変換行列を適用するステップは、
前記現ブロックの高さおよび幅のそれぞれが４に等しくなく、前記幅が前記高さより大きいか等しいことに基づいて、前記非分離変換行列を前記現ブロックの左上側の４×４領域および前記左上側の４×４領域の右側に位置する４×４領域に適用するステップを有する、請求項２に記載の方法。
【請求項５】
前記非分離変換行列を適用するステップは、
前記現ブロックの高さおよび幅のそれぞれが４に等しくなく、前記幅と前記高さとの積が前記閾値より大きいか等しく、前記幅が前記高さより小さいことに基づいて、前記非分離変換行列を前記現ブロックの左上側の４×４領域および前記左上側の４×４領域の下側に位置する４×４領域に適用するステップを有する、請求項２に記載の方法。
【請求項６】
前記非分離変換行列を決定するステップは、
前記現ブロックのイントラ予測モードに基づいて非分離変換集合インデックスを決定するステップと、
前記非分離変換集合インデックスに有される非分離変換集合内で非分離変換インデックスに関連する非分離変換カーネルを決定するステップと、
前記入力長および出力長に基づいて前記非分離変換カーネルから前記非分離変換行列を決定するステップと、を有する、請求項１に記載の方法。
【請求項７】
画像信号をデコードするための装置であって、
前記画像信号を記憶するように構成されたメモリと、
前記メモリと結合されたプロセッサと、を有し、
前記プロセッサは、
現ブロックの高さ（height）および幅（width）に基づいて非分離変換の入力長および出力長を決定し、
前記非分離変換の入力長および出力長に関連する非分離変換行列を決定し、
前記非分離変換行列を前記現ブロックにおいて前記入力長の数により係数に適用するように構成され、
前記現ブロックの高さおよび幅のそれぞれが４に等しいことに基づいて、前記非分離変換の入力長は８として決定され、前記非分離変換の出力長は１６として決定される、装置。
【請求項８】
前記現ブロックの高さおよび幅のそれぞれが８に等しくないことに基づいて、前記非分離変換の入力長および出力長は、１６として決定される、請求項７に記載の装置。
【請求項９】
前記プロセッサは、
前記現ブロックの高さおよび幅のそれぞれが４に等しくなく、前記幅と前記高さとの積が閾値より小さいことに基づいて、前記非分離変換行列を前記現ブロックの左上側の４×４領域に適用するように構成される、請求項８に記載の装置。
【請求項１０】
前記プロセッサは、
前記現ブロックの高さおよび幅のそれぞれが４に等しくなく、前記幅が前記高さより大きいか等しいことに基づいて、前記非分離変換行列を前記現ブロックの左上側の４×４領域および前記左上側の４×４領域の右側に位置する４×４領域に適用するように構成される、請求項８に記載の装置。
【請求項１１】
前記プロセッサは、
前記現ブロックの高さおよび幅のそれぞれが４に等しくなく、前記幅と前記高さとの積が前記閾値より大きいか等しく、前記幅が前記高さより小さいことに基づいて、前記非分離変換行列を前記現ブロックの左上側の４×４領域および前記左上側の４×４領域の下側に位置する４×４領域に適用するように構成される、請求項８に記載の装置。
【請求項１２】
前記プロセッサは、
前記現ブロックのイントラ予測モードに基づいて非分離変換集合インデックスを決定し、
前記非分離変換集合インデックスに有される非分離変換集合内で非分離変換インデックスに関連する非分離変換カーネルを決定し、
前記入力長および出力長に基づいて前記非分離変換カーネルから前記非分離変換行列を決定するように構成される、請求項７に記載の装置。
【国際調査報告】
2021510286.tif 000068
2021510286.tif 000069
2021510286.tif 000070
2021510286.tif 000071