(57)【要約】  本発明の実施形態は、ビデオ信号処理方法及び装置を提供する。本発明の実施形態による画像信号のデコード方法は、現在ブロックの高さ（ｈｅｉｇｈｔ）と幅（ｗｉｄｔｈ）に基づいて非分離変換の入力長及び出力長を決定するステップと、前記非分離変換の入力長及び出力長に対応する非分離変換行列を決定するステップと、前記非分離変換行列を前記現在ブロックにおいて前記入力長に相当する個数の分だけの係数に適用するステップとを含み、前記ブロックの高さと幅は、８より大きいか等しく、前記現在ブロックの高さと幅がそれぞれ８である場合、前記非分離変換の入力長は、８と決定される。【選択図】図３３
2021510253.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）に変換させるための効率的な変換技術を必要とする。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、高いコーディング効率を有するとともに低複雑度を有する変換を適用する画像信号処理方法及び装置を提供しようとする。
【０００６】
本発明で解決しようとする技術的課題は、以上で言及した技術的課題に限定されず、言及しないまた他の技術的課題は、下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解されるべきである。
【課題を解決するための手段】
【０００７】
本発明の実施形態による画像信号のデコード方法は、現在ブロックの高さ（ｈｅｉｇｈｔ）と幅（ｗｉｄｔｈ）に基づいて非分離変換の入力長及び出力長を決定するステップと、前記非分離変換の入力長及び出力長に対応する非分離変換行列を決定するステップと、前記非分離変換行列を前記現在ブロックにおいて前記入力長に該当する個数の分だけの係数に適用するステップとを含み、前記ブロックの高さと幅は８より大きいか等しく、前記現在ブロックの高さと幅がそれぞれ８である場合、前記非分離変換の入力長は８と決定される。
【０００８】
また、前記現在ブロックの高さと幅が８である場合に該当しないと、前記非分離変換の入力長は１６と決定される。
【０００９】
また、前記出力長は４８又は６４と決定される。
【００１０】
また、前記非分離変換行列を前記現在ブロックに適用するステップは、前記高さと幅がそれぞれ８である場合に該当しないとともに前記幅と高さの積が臨界値より小さいと、前記非分離変換行列を前記現在ブロックの左上側の４×４領域に適用するステップを含む。
【００１１】
また、前記非分離変換行列を決定するステップは、前記現在ブロックのイントラ予測モードに基づいて非分離変換集合インデックスを決定するステップと、前記非分離変換集合インデックスに含まれた非分離変換集合内で非分離変換インデックスに対応する非分離変換カーネルを決定するステップと、前記入力長及び出力長に基づいて前記非分離変換カーネルから前記非分離変換行列を決定するステップとを含む。
【００１２】
本発明の他の実施形態による画像信号処理装置は、前記画像信号を格納するメモリと、前記メモリと結合されたプロセッサとを含み、前記プロセッサは、現在ブロックの高さ（ｈｅｉｇｈｔ）と幅（ｗｉｄｔｈ）に基づいて非分離変換の入力長及び出力長さを決定し、前記非分離変換の入力長及び出力長に対応する非分離変換行列を決定し、前記非分離変換行列を前記現在ブロックにおいて前記入力長に相当する個数の分だけの係数に適用するように設定され、前記現在ブロックの高さと幅は８より大きいか等しく、前記現在ブロック高さと幅がそれぞれ８である場合、前記非分離変換の入力長は８、出力長は前記入力長より大きく６４より小さいか等しい値と決定される。
【発明の効果】
【００１３】
本発明の実施形態によれば、現在ブロックのサイズに基づいて変換を適用することにより、高いコーディング効率を有するとともに低複雑度を有するビデオコーディング方法及び装置を提供することができる。
【００１４】
本発明で得られる効果は、以上で言及した効果に制限されず、言及しないまた他の効果は以下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解されるべきである。
【図面の簡単な説明】
【００１５】
本発明に関する理解を助けるために詳細な説明の一部に含まれる添付図面は本発明に対する実施形態を提供し、詳細な説明と共に本発明の技術的特徴を説明する。
【００１６】
【図１】本発明が適用される実施形態であって、ビデオ／イメージ信号のエンコードが行われるエンコード装置の概略的なブロック図を示す。
【図２】本発明が適用される実施形態であって、画像信号のデコードが行われるデコード装置の概略的なブロック図を示す。
【図３】本発明が適用できる実施形態であって、図３ＡはＱＴ（ｑｕａｄｔｒｅｅ：ＱＴ）、図３ＢはＢＴ（ｂｉｎａｒｙ  ｔｒｅｅ：ＢＴ）、図３ＣはＴＴ（ｔｅｒｎａｒｙ  ｔｒｅｅ：ＴＴ）、図３ＤはＡＴ（ａｓｙｍｍｅｔｒｉｃ  ｔｒｅｅ：ＡＴ）によるブロック分割構造を説明するための図である。
【図４】本発明が適用される実施形態であって、図１のエンコード装置内の変換及び量子化部、逆量子化及び逆変換部の概略的なブロック図を示す。
【図５】本発明が適用される実施形態であって、デコード装置内の逆量子化及び逆変換部の概略的なブロック図を示す。
【図６】本発明が適用される実施形態であって、一次変換及び二次変換によりビデオ信号をエンコードするフローチャートを示す。
【図７】本発明が適用される実施形態であって、二次逆変換及び一次逆変換によりビデオ信号をデコードするフローチャートを示す。
【図８】本発明の実施形態によるＡＭＴ（ａｄａｐｔｉｖｅ  ｍｕｌｔｉｐｌｅ  ｔｒａｎｓｆｏｒｍ）が適用される変換設定グループ（ｔｒａｎｓｆｏｒｍ  ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｇｒｏｕｐ）の例を示す。
【図９】本発明の実施形態によるＡＭＴが適用されるエンコードフローチャートの例を示す。
【図１０】本発明の実施形態によるＡＭＴが適用されるデコードフローチャートの例を示す。
【図１１】本発明の実施形態によるＡＭＴフラグ及びＡＭＴインデックスをエンコードするためのフローチャートの例を示す。
【図１２】ＡＭＴフラグ及びＡＭＴインデックスに基づいた変換を行うためのデコードフローチャートの例を示す。
【図１３】本発明が適用される実施形態であって、ギブンス回転（Ｇｉｖｅｎｓ  ｒｏｔａｔｉｏｎ）を説明するためのダイアグラムを示す。
【図１４】本発明が適用される実施形態であって、ギブンス回転レイヤと置換（ｐｅｒｍｕｔａｔｉｏｎ）から構成された４×４ＮＳＳＴにおける１ラウンドの構成を示す。
【図１５】本発明の実施形態によるイントラ予測モード別の非分離変換集合の構成の例を示す。
【図１６】ＨＥＶＣ（ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ）標準において適用された変換係数又は変換係数ブロックに対する３つの順方向スキャン順序であって、（ａ）は対角スキャン（ｄｉａｇｏｎａｌ  ｓｃａｎ）、（ｂ）は水平スキャン（ｈｏｒｉｚｏｎｔａｌ  ｓｃａｎ）、（ｃ）は垂直スキャン（ｖｅｒｔｉｃａｌ  ｓｃａｎ）を示す。
【図１７】本発明が適用される実施形態であって、４×８ブロックに対する４×４ＲＳＴの適用時、順方向対角スキャンが適用される場合の変換係数の位置を示す。
【図１８】本発明が適用される実施形態であって、２つの４×４ブロックの有効な変換係数を１つのブロックに併合する場合の例を示す。
【図１９】本発明が適用される実施形態であって、イントラ予測モード別に混合されたＮＳＳＴ集合の構成方法の例を示す。
【図２０】本発明が適用される実施形態であって、イントラ予測モードと変換ブロックサイズを考慮してＮＳＳＴ集合（又は、カーネル）を選択する方法の例を示す。
【図２１Ａ】本発明が適用される実施形態であって、順方向及び逆方向縮小された変換を示す。
【図２１Ｂ】本発明が適用される実施形態であって、順方向及び逆方向縮小された変換を示す。
【図２２】本発明の実施形態による縮小された変換を使用したデコードフローチャートの例を示す。
【図２３】本発明の実施形態による条件的縮小された変換の適用のためのフローチャートの例を示す。
【図２４】本発明の実施形態による条件的縮小された変換が適用される二次逆変換のためのデコードフローチャートの例を示す。
【図２５Ａ】本発明の実施形態による縮小された変換及び縮小された逆変換の例を示す。
【図２５Ｂ】本発明の実施形態による縮小された変換及び縮小された逆変換の例を示す。
【図２６Ａ】本発明の実施形態による縮小された変換及び縮小された逆変換の例を示す。
【図２６Ｂ】本発明の実施形態による縮小された変換及び縮小された逆変換の例を示す。
【図２７】本発明の実施形態による縮小された二次変換が適用される領域の例を示す。
【図２８】本発明の実施形態による縮小因子による縮小された変換を示す。
【図２９】本発明が適用される実施形態であって、変換を行うエンコードフローチャートの例を示す。
【図３０】本発明が適用される実施形態であって、変換を行うデコードフローチャートの例を示す。
【図３１】本発明が適用される実施形態であって、エンコード装置内の変換部の細部ブロック図の例を示す。
【図３２】本発明が適用される実施形態であって、デコード装置内の逆変換部の細部ブロック図の例を示す。
【図３３】本発明の実施形態による変換が適用されるデコードフローチャートの例を示す。
【図３４】本発明が適用される実施形態であって、ビデオ信号を処理するための装置のブロック図の例を示す。
【図３５】本発明が適用される実施形態であって、画像コーディングシステムの例を示す。
【図３６】本発明が適用される実施形態であって、コンテンツストリーミングシステムの構造図である。
【発明を実施するための形態】
【００１７】
以下、本発明に係る好適な実施の形態を添付の図面を参照して、詳細に説明する。添付された図面と一緒に以下に開示される詳細な説明は、本発明の例示的な実施形態を説明しようとするものであり、本発明が実施されることができる唯一の実施形態を示したいのではない。以下の詳細な説明は、本発明の完全な理解を提供するために具体的な細部事項を含む。しかし、当業者は、本発明がこのような具体的な詳細事項がなくても実施できることが分かる。
【００１８】
いくつかの場合、本発明の概念が曖昧になることを避けるために、公知の構造及び装置は省略されるか、各構造及び装置の核心機能を中心としたブロック図の形式で示されることができる。
【００１９】
いくつかの場合、本発明の概念が曖昧になることを避けるために、公知の構造及び装置は省略されるか、各構造及び装置の核心機能を中心としたブロック図の形式で示されることができる。
【００２０】
以下の説明で用いられる特定の用語は、本発明の理解を助けるために提供されたものであり、このような特定の用語の使用は、本発明の技術的思想を逸脱しない範囲で他の形態に変更されることができる。例えば、信号、データ、サンプル、ピクチャ、フレーム、ブロックなどの場合、各コーディングの過程で適切に代替されて解釈されることがある。
【００２１】
以下、本明細書において「処理ユニット」は、予測、変換、及び/または量子化などのようなエンコード／デコードの処理過程が実行される単位を意味する。また、処理ユニットは、輝度（luma）成分の単位と色差（chroma）成分の単位を含む意味で解釈されることができる。例えば、処理ユニットは、ブロック（block）、符号化ユニット（coding unit、ＣＵ）、予測ユニット（prediction unit、ＰＵ）、または変換ブロック（transform unit、ＴＵ）に該当することができる。
【００２２】
また、処理ユニットは、輝度成分の単位または色差成分の単位として解釈されることができる。例えば、処理ユニットは、輝度成分のＣＴＢ、ＣＢ、ＰＵ、またはＴＢに該当することができる。または、処理ユニットは、色差成分のＣＴＢ、ＣＢ、ＰＵ、またはＴＢに該当することができる。また、これに限定されるものではなく処理ユニットは、輝度成分の単位と色差成分の単位を含む意味で解釈されることもある。
【００２３】
また、処理ユニットは、必ず正方形のブロックに限定されるものではなく、３つ以上の頂点を有する多角形の形で構成されることもある。
【００２４】
また、以下、本明細書において、ピクセル、画素、又は係数（変換係数又は一次変換を経た変換係数）などをサンプルと総称する。そして、サンプルを用いるということは、ピクセル値、画素値、又は係数（変換係数又は一次変換を経た変換係数）などを利用することを意味する。
【００２５】
以下、静止画又は動画のエンコード／デコード方法に関し、最悪の場合（ｗｏｒｓｔ  ｃａｓｅ）の計算的複雑度を考慮した縮小された二次変換（ｒｅｄｕｃｅｄ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ：ＲＳＴ）の設計及び適用方法について説明する。
【００２６】
本発明の実施形態は、画像及びビデオ圧縮方法及び装置を提供する。圧縮されたデータはビットストリームの形態を有し、ビットストリームは様々な形態のストレージ（ｓｔｏｒａｇｅ）に格納されることもでき、ネットワークを介してストリーミングされてデコーダを有する端末機に伝達されることもできる。端末機においては、ディスプレイ装置を装着した場合、ディスプレイ装置で復号された画像をディスプレイしてもよく、単にビットストリームデータを格納してもよい。本発明の実施形態において提案される方法及び装置は、エンコーダとデコーダの両方ともに適用でき、ビットストリームを生成する装置又はビットストリームを受信する装置に全て適用でき、端末機においてディスプレイ装置を介して出力するか否かに関係なく適用できる。
【００２７】
画像圧縮装置は、予測部、変換及び量子化部、エントロピーコーディング部から構成され、エンコード装置とデコード装置の概略的なブロック図は、図１及び図２のようである。そのうち、変換及び量子化部においては、原本信号から予測信号を減算して残差信号をＤＣＴ（ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍ）−２のような変換により周波数ドメイン信号に変換した後、量子化を適用して０でない信号の数を大幅に減らして画像圧縮を可能とする。
【００２８】
図１は、本発明が適用される実施形態であって、ビデオ／イメージ信号のエンコードが行われるエンコード装置の概略的なブロック図を示す。
【００２９】
画像分割部１１０は、エンコード装置１００に入力された入力画像（又は、ピクチャ、フレーム）を１つ以上の処理ユニット（ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）に分割する。一例として、前記処理ユニットは、符号化ユニット（ＣＵ）と呼ばれてもよい。この場合、符号化ユニットは、符号化ツリーユニット（ｃｏｄｉｎｇ  ｔｒｅｅ  ｕｎｉｔ：ＣＴＵ）又は最大符号化ユニット（ｌａｒｇｅｓｔ  ｃｏｄｉｎｇ  ｕｎｉｔ：ＬＣＵ）からＱＴＢＴ（Ｑｕａｄ−ｔｒｅｅ  ｂｉｎａｒｙ−ｔｒｅｅ）構造によって再帰的に（ｒｅｃｕｒｓｉｖｅｌｙ）分割される。例えば、１つの符号化ユニットは、クアッドツリー構造及び／又はバイナリツリー構造をベースに下位（ｄｅｅｐｅｒ）デプスの複数の符号化ユニットに分割される。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造が後で適用されてもよい。または、バイナリツリー構造が先に適用されてもよい。これ以上分割されない最終符号化ユニットをベースに本発明によるコーディング手順が行われる。この場合、画像特性によるコーディング効率などに基づいて最大符号化ユニットが直ちに最終符号化ユニットとして使用されてもよく、または、必要に応じて符号化ユニットは再帰的に（ｒｅｃｕｒｓｉｖｅｌｙ）より下位デプスの符号化ユニットに分割されて最適のサイズの符号化ユニットが最終符号化ユニットとして使用されてもよい。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含む。他の例として、前記処理ユニットは、予測ユニット（ＰＵ）又は変換ユニット（ＴＵ）をさらに含んでもよい。この場合、前記予測ユニット及び前記変換ユニットは、それぞれ前述した最終符号化ユニットから分割又はパーティショニングされる。前記予測ユニットはサンプル予測の単位であり、前記変換ユニットは変換係数を誘導する単位及び／又は変換係数から残差信号（ｒｅｓｉｄｕａｌ  ｓｉｇｎａｌ）を誘導する単位であり得る。
【００３０】
ユニットは、場合によって、ブロック（ｂｌｏｃｋ）又は領域（ａｒｅａ）などの用語と混用されてもよい。一般的な場合、Ｍ×Ｎブロックは、Ｍ個の列とＮ個の行からなるサンプル又は変換係数（ｔｒａｎｓｆｏｒｍ  ｃｏｅｆｆｉｃｉｅｎｔ）の集合を示す。サンプルは、一般的にピクセル又はピクセルの値を示し、輝度（ｌｕｍａ）成分のピクセル／ピクセルの値のみを示してもよく、彩度（ｃｈｒｏｍａ）成分のピクセル／ピクセルの値のみを示してもよい。サンプルは、１つのピクチャ（又は、画像）をピクセル（ｐｉｘｅｌ）又はペル（ｐｅｌ）に対応する用語として使用することができる。
【００３１】
エンコード装置１００は、入力画像信号（原本ブロック、原本サンプルアレイ）からインター予測部１８０又はイントラ予測部１８５から出力された予測信号（予測されたブロック、予測サンプルアレイ）を減算して残差信号（ｒｅｓｉｄｕａｌ  ｓｉｇｎａｌ、残余ブロック、残余サンプルアレイ）を生成し、生成された残差信号は変換部１２０に送信される。この場合、図示されているようにエンコーダ１００内で入力画像信号（原本ブロック、原本サンプルアレイ）から予測信号（予測ブロック、予測サンプルアレイ）を減算するユニットは、減算部１１５と呼ばれてもよい。予測部は、処理対象ブロック（以下、現在ブロックという）に対する予測を行い、現在ブロックに対する予測サンプルを含む予測されたブロック（ｐｒｅｄｉｃｔｅｄ  ｂｌｏｃｋ）を生成する。予測部は、現在ブロック又はＣＵ単位でイントラ予測が適用されるか又はインター予測が適用されるかを決定することができる。予測部は、各予測モードに関する説明において後述のように予測モード情報などの予測に関する様々な情報を生成してエントロピーエンコード部１９０に伝達する。予測に関する情報は、エントロピーエンコード部１９０においてエンコードされてビットストリームの形態で出力される。
【００３２】
イントラ予測部１８５は、現在ピクチャ内のサンプルを参照して現在ブロックを予測する。参照されるサンプルは、予測モードによって前記現在ブロックの周辺（ｎｅｉｇｈｂｏｒ）に位置するか、又は離れて位置する。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードを含む。非方向性モードは、例えば、ＤＣモード及びプレーナモード（Ｐｌａｎａｒ  ｍｏｄｅ）を含む。方向性モードは、予測方向の細密程度に応じて、例えば、３３個の方向性予測モード又は６５個の方向性予測モードを含んでもよい。ただし、これは例示であって、設定によってそれ以上又はそれ以下の数の方向性予測モードが使用されてもよい。イントラ予測部１８５は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【００３３】
インター予測部１８０は、参照ピクチャ上で動きベクトルにより特定される参照ブロック（参照サンプルアレイ）をベースに、現在ブロックに対する予測されたブロックを誘導することができる。ここで、インター予測モードにおいて送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。動き情報は、動きベクトル及び参照ピクチャインデックスを含む。動き情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）情報をさらに含んでもよい。インター予測の場合、周辺ブロックは現在ピクチャ内に存在する空間的周辺ブロック（ｓｐａｔｉａｌ  ｎｅｉｇｈｂｏｒｉｎｇ  ｂｌｏｃｋ）と参照ピクチャに存在する時間的周辺ブロック（ｔｅｍｐｏｒａｌ  ｎｅｉｇｈｂｏｒｉｎｇ  ｂｌｏｃｋ）を含む。参照ブロックを含む参照ピクチャと時間的周辺ブロックを含む参照ピクチャは同一であってもよく、異なってもよい。前記時間的周辺ブロックは、同一位置参照ブロック（ｃｏｌｌｏｃａｔｅｄ  ｒｅｆｅｒｅｎｃｅ  ｂｌｏｃｋ）、同一位置ＣＵ（ｃｏｌＣＵ）などの名で呼ばれてもよく、時間的周辺ブロックを含む参照ピクチャは、同一位置ピクチャ（ｃｏｌｌｏｃａｔｅｄ  ｐｉｃｔｕｒｅ、ｃｏｌＰｉｃ）と呼ばれてもよい。例えば、インター予測部１８０は、周辺ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び／又は参照ピクチャインデックスを導出するためにどの候補が使用されるかを示す情報を生成することができる。様々な予測モードに基づいてインター予測が行われることができ、例えば、スキップモードとマージモードの場合、インター予測部１８０は、周辺ブロックの動き情報を現在ブロックの動き情報として利用することができる。スキップモードの場合、マージモードと異なって、残差信号が送信されない場合がある。動き情報予測（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｉｏｎ：ＭＶＰ）モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｏｒ）として利用し、動きベクトル差分（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｄｉｆｆｅｒｅｎｃｅ）をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
【００３４】
インター予測部１８０又はイントラ予測部１８５により生成された予測信号は、復元信号を生成するために利用されるか残差信号を生成するために利用される。
【００３５】
変換部１２０は、残差信号に変換技法を適用して変換係数（ｔｒａｎｓｆｏｒｍ  ｃｏｅｆｆｉｃｉｅｎｔｓ）を生成する。例えば、変換技法は、ＤＣＴ、ＤＳＴ（Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）、ＫＬＴ（Ｋａｒｈｕｎｅｎ−Ｌｏｅｖｅ  Ｔｒａｎｓｆｏｒｍ）、ＧＢＴ（Ｇｒａｐｈ−Ｂａｓｅｄ  Ｔｒａｎｓｆｏｒｍ）、又はＣＮＴ（Ｃｏｎｄｉｔｉｏｎａｌｌｙ  Ｎｏｎ−ｌｉｎｅａｒ  Ｔｒａｎｓｆｏｒｍ）の少なくとも１つを含む。ここで、ＧＢＴは、ピクセル間の関係情報をグラフで表現するとき、このグラフから得られた変換を意味する。ＣＮＴは、以前に復元された全てのピクセル（ａｌｌ  ｐｒｅｖｉｏｕｓｌｙ  ｒｅｃｏｎｓｔｒｕｃｔｅｄ  ｐｉｘｅｌ）を利用して予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同一サイズを有するピクセルブロックに適用されてもよく、正方形ではない可変サイズのブロックに適用されてもよい。
【００３６】
量子化部１３０は、変換係数を量子化してエントロピーエンコード部１９０に送信し、エントロピーエンコード部１９０は、量子化された信号（量子化された変換係数に関する情報）をエンコードしてビットストリームに出力する。量子化された変換係数に関する情報はレジデュアル情報と呼ばれてもよい。量子化部１３０は、係数スキャン順序（ｓｃａｎ  ｏｒｄｅｒ）に基づいてブロック形態の量子化された変換係数を一次元ベクトル形態に再整列し、一次元ベクトル形態の量子化された変換係数に基づいて前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコード部１９０は、例えば、指数ゴロム（ｅｘｐｏｎｅｎｔｉａｌ  Ｇｏｌｏｍｂ）、ＣＡＶＬＣ（ｃｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｉｎｇ）、ＣＡＢＡＣ（ｃｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ  ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ）などの様々なエンコード方法を行うことができる。エントロピーエンコード部１９０は、量子化された変換係数のほか、ビデオ／イメージ復元に必要な情報（例えば、シンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔｓ）の値など）をともに又は別にエンコードすることもできる。エンコードされた情報（例えば、ビデオ／画像情報）は、ビットストリームの形態でＮＡＬ（ｎｅｔｗｏｒｋ  ａｂｓｔｒａｃｔｉｏｎ  ｌａｙｅｒ）ユニット単位で送信又は格納される。前記ビットストリームは、ネットワークを介して送信され、又はデジタル格納媒体に格納される。ここで、ネットワークは、放送網及び／又は通信網などを含み、デジタル格納媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、ブルーレイ、ＨＤＤ、ＳＳＤなどの多様な格納媒体を含む。エントロピーエンコード部１９０から出力された信号を送信する送信部（図示せず）及び／又は格納する格納部（図示せず）がエンコード装置１００の内部／外部エレメントとして構成されてもよく、又は送信部はエントロピーエンコード部１９０の構成要素であってもよい。
【００３７】
量子化部１３０から出力された量子化された変換係数は、予測信号を生成するために利用されることができる。例えば、量子化された変換係数は、ループ内の逆量子化部１４０及び逆変換部１５０により逆量子化及び逆変換を適用することにより残差信号を復元することができる。加算部１５５は、復元された残差信号をインター予測部１８０又はイントラ予測部１８５から出力された予測信号に加算することにより復元（ｒｅｃｏｎｓｔｒｕｃｔｅｄ）信号（復元ピクチャ、復元ブロック、復元サンプルアレイ）が生成される。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部１５５は、復元部又は復元ブロック生成部と呼ばれてもよい。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されてもよく、後述のようにフィルタリングを経て次のピクチャのインター予測のために使用されてもよい。
【００３８】
フィルタリング部１６０は、復元信号にフィルタリングを適用して主観的／客観的画質を向上させることができる。例えば、フィルタリング部１６０は、復元ピクチャに様々なフィルタリング方法を適用して修正された（ｍｏｄｉｆｉｅｄ）復元ピクチャを生成し、修正された復元ピクチャを復号ピクチャバッファ１７０に送信する。様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応オフセット（ｓａｍｐｌｅ  ａｄａｐｔｉｖｅ  ｏｆｆｓｅｔ）、適応ループフィルタ（ａｄａｐｔｉｖｅ  ｌｏｏｐ  ｆｉｌｔｅｒ）、バイラテラルフィルタ（ｂｉｌａｔｅｒａｌ  ｆｉｌｔｅｒ）などが含まれる。フィルタリング部１６０は、各フィルタリング方法の説明において、後述のようにフィルタリングに関する様々な情報を生成してエントロピーエンコード部１９０に伝達する。フィルタリングに関する情報は、エントロピーエンコード部１９０においてエンコードされてビットストリームの形態で出力される。
【００３９】
復号ピクチャバッファ１７０に送信された修正された復号ピクチャは、インター予測部１８０において参照ピクチャとして使用される。エンコード装置１００は、これによりインター予測が適用される場合、エンコード装置１００とデコード装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【００４０】
復号ピクチャバッファ１７０は、修正された復元ピクチャをインター予測部１８０における参照ピクチャとして使用するために格納できる。
【００４１】
図２は、本発明が適用される実施形態であって、画像信号のデコードが行われるデコード装置の概略的なブロック図を示す。
【００４２】
図２に示すように、デコード装置２００は、エントロピーデコード部２１０、逆量子化部２２０、逆変換部２３０、加算部２３５、フィルタリング部２４０、復号ピクチャバッファ（ＤＰＢ）２５０、インター予測部２６０及びイントラ予測部２６５を含んで構成される。インター予測部２６０及びイントラ予測部２６５を合わせて予測部と呼んでもよい。すなわち、予測部は、インター予測部１８０及びイントラ予測部１８５を含む。逆量子化部２２０、逆変換部２３０を合わせてレジデュアル処理部と呼んでもよい。すなわち、レジデュアル処理部は、逆量子化部２２０、逆変換部２３０を含む。前述のエントロピーデコード部２１０、逆量子化部２２０、逆変換部２３０、加算部２３５、フィルタリング部２４０、インター予測部２６０及びイントラ予測部２６５は、実施形態によって１つのハードウェアコンポーネント（例えば、デコーダ又はプロセッサ）により構成される。また、復号ピクチャバッファ２５０は、実施形態によって１つのハードウェアコンポーネント（例えば、メモリ又はデジタル格納媒体）により構成される。
【００４３】
ビデオ／イメージ情報を含むビットストリームが入力されると、デコード装置２００は、図２のエンコード装置１００においてビデオ／イメージ情報が処理されたプロセスに対応して画像を復元することができる。例えば、デコード装置２００は、エンコード装置１００において適用された処理ユニットを利用してデコードを行う。従って、デコーディングの処理ユニットは、例えば、符号化ユニットであり、符号化ユニットは、符号化ツリーユニット又は最大符号化ユニットからクアッドツリー構造及び／又はバイナリツリー構造によって分割される。そして、デコード装置２００によりデコード及び出力された復元画像信号は再生装置により再生される。
【００４４】
デコード装置２００は、図２のエンコード装置１００から出力された信号をビットストリームの形態で受信し、受信された信号はエントロピーデコード部２１０を介してデコードされる。例えば、エントロピーデコード部２１０は、ビットストリームをパーシングして画像復元（又は、ピクチャ復元）に必要な情報（例えば、ビデオ／画像情報）を導出する。例えば、エントロピーデコード部２１０は、指数ゴロム符号化、ＣＡＶＬＣ又はＣＡＢＡＣなどのコーディング方法に基づいてビットストリーム内の情報をデコードし、画像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力することができる。より詳細に、ＣＡＢＡＣエントロピーデコード方法は、ビットストリームにおいて各構文要素に該当するビンを受信し、デコーディング対象構文要素情報と周辺及びデコーディング対象ブロックのデコーディング情報又は以前の段階でデコードされたシンボル／ビンの情報を利用してコンテキスト（ｃｏｎｔｅｘｔ）モデルを決定し、決定されたコンテキストモデルによってビン（ｂｉｎ）の発生確率を予測してビンの算術デコーディング（ａｒｉｔｈｍｅｔｉｃ  ｄｅｃｏｄｉｎｇ）を行って各構文要素の値に該当するシンボルを生成することができる。ここで、ＣＡＢＡＣエントロピーデコード方法は、コンテキストモデルの決定後、次のシンボル／ビンのコンテキストモデルのためにデコードされたシンボル／ビンの情報を利用してコンテキストモデルをアップデートすることができる。エントロピーデコード部２１０においてデコードされた情報のうち予測に関する情報は、予測部（インター予測部２６０及びイントラ予測部２６５）に提供され、エントロピーデコード部２１０においてエントロピーデコードが行われたレジデュアル値、すなわち、量子化された変換係数及び関連パラメータ情報は、逆量子化部２２０に入力される。また、エントロピーデコード部２１０においてデコードされた情報のうちフィルタリングに関する情報は、フィルタリング部２４０に提供される。一方、エンコード装置１００から出力された信号を受信する受信部（図示せず）がデコード装置２００の内部／外部エレメントとしてさらに構成されてもよく、または、受信部は、エントロピーデコード部２１０の構成要素でもあり得る。
【００４５】
逆量子化部２２０においては、量子化された変換係数を逆量子化して変換係数を出力する。逆量子化部２２０は、量子化された変換係数を２次元のブロック形態で再整列する。この場合、エンコード装置１００において行われた係数スキャン順序に基づいて再定列が行われることができる。逆量子化部２２０は、量子化パラメータ（例えば、量子化ステップサイズ情報）を用いて量子化された変換係数に対する逆量子化を行い、変換係数（ｔｒａｎｓｆｏｒｍ  ｃｏｅｆｆｉｃｉｅｎｔｓ）を取得する。
【００４６】
逆変換部２３０は、変換係数を逆変換することにより残差信号（レジデュアルブロック、レジデュアルサンプルアレイ）を取得する。
【００４７】
予測部は、現在ブロックに対する予測を行い、現在ブロックに対する予測サンプルを含む予測されたブロック（ｐｒｅｄｉｃｔｅｄ  ｂｌｏｃｋ）を生成する。予測部は、エントロピーデコード部２１０から出力された前記予測に関する情報に基づいて現在ブロックにイントラ予測が適用されるか又はインター予測が適用されるかを決定し、具体的なイントラ／インター予測モードを決定することができる。
【００４８】
イントラ予測部２６５は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。参照されるサンプルは、予測モードに応じて現在ブロックの周辺（ｎｅｉｇｈｂｏｒ）に位置してよく、又は離隔して位置してもよい。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードを全て含む。イントラ予測部２６５は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【００４９】
インター予測部２６０は、参照ピクチャ上で動きベクトルにより特定される参照ブロック（参照サンプルアレイ）に基づいて、現在ブロックに対する予測されたブロックを誘導する。ここで、インター予測モードで送信される動き情報の量を減少させるために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測する。動き情報は、動きベクトル及び参照ピクチャインデックスを含んでもよい。動き情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）情報をさらに含んでもよい。インター予測の場合、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック（ｓｐａｔｉａｌ  ｎｅｉｇｈｂｏｒｉｎｇ  ｂｌｏｃｋ）と参照ピクチャに存在する時間的周辺ブロック（ｔｅｍｐｏｒａｌ  ｎｅｉｇｈｂｏｒｉｎｇ  ｂｌｏｃｋ）を含む。例えば、インター予測部２６０は、周辺ブロックの予測に関する情報に基づいて動き情報候補リストを構成し、受信された候補選択情報に基づいて現在ブロックの動きベクトル及び／又は参照ピクチャインデックスを導出する。様々な予測モードに基づいてインター予測が行われ、予測に関する情報は現在ブロックに対するインター予測のモードを指示する情報を含む。
【００５０】
加算部２３５は、取得した残差信号をインター予測部２６０又はイントラ予測部２６５から出力された予測信号（予測されたブロック、予測サンプルアレイ）に加算することにより復元信号（復元ピクチャ、復元ブロック、復元サンプルアレイ）を生成する。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【００５１】
加算部２３５は、復元部又は復元ブロック生成部と称されてもよい。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されてもよく、後述のようにフィルタリングを経て次のピクチャのインター予測のために使用されてもよい。
【００５２】
フィルタリング部２４０は、復元信号にフィルタリングを適用することにより主観的／客観的画質を向上させることができる。例えば、フィルタリング部２４０は、復元ピクチャに様々なフィルタリング方法を適用して修正された（ｍｏｄｉｆｉｅｄ）復元ピクチャを生成し、修正された復元ピクチャを復号ピクチャバッファ２５０に送信する。様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応オフセット（ｓａｍｐｌｅ  ａｄａｐｔｉｖｅ  ｏｆｆｓｅｔ：ＳＡＯ）、適応ループフィルタ（ａｄａｐｔｉｖｅ  ｌｏｏｐ  ｆｉｌｔｅｒ：ＡＬＦ）、バイラテラルフィルタ（ｂｉｌａｔｅｒａｌ  ｆｉｌｔｅｒ）を含む。
【００５３】
復号ピクチャバッファ２５０に送信された修正された復号ピクチャは、インター予測部２６０により参照ピクチャとして使用されることができる。
【００５４】
本文書において、エンコード装置１００のフィルタリング部１６０、インター予測部１８０、及びイントラ予測部１８５において説明された実施形態は、それぞれデコード装置２００のフィルタリング部２４０、インター予測部２６０及びイントラ予測部２６５にも同一に又は対応するように適用される。
【００５５】
図３は、本発明が適用できる実施形態であって、図３ＡはＱＴ（ｑｕａｄｔｒｅｅ：ＱＴ）、図３ＢはＢＴ（ｂｉｎａｒｙ  ｔｒｅｅ：ＢＴ）、図３ＣはＴＴ（ｔｅｒｎａｒｙ  ｔｒｅｅ：ＴＴ）、図３ＤはＡＴ（ａｓｙｍｍｅｔｒｉｃ  ｔｒｅｅ：ＡＴ）によるブロック分割構造を説明するための図である。
【００５６】
ビデオコーディングにおいて１つのブロックはＱＴベースに分割されることができる。また、ＱＴにより分割された１つのサブブロック（ｓｕｂｂｌｏｃｋ）はＱＴを使用して再帰的にさらに分割されてもよい。これ以上ＱＴ分割されないリーフブロック（ｌｅａｆ  ｂｌｏｃｋ）はＢＴ、ＴＴ又はＡＴのうち少なくとも１つの方式により分割される。ＢＴは、水平（ｈｏｒｉｚｏｎｔａｌ）ＢＴ（２Ｎ×Ｎ、２Ｎ×Ｎ）と垂直（ｖｅｒｔｉｃａｌ）ＢＴ（Ｎ×２Ｎ、Ｎ×２Ｎ）の２つの形態の分割を有することができる。ＴＴは、水平ＴＴ（２Ｎ×１／２Ｎ、２Ｎ×Ｎ、２Ｎ×１／２Ｎ）と垂直ＴＴ（１／２Ｎ×２Ｎ、Ｎ×２Ｎ、１／２Ｎ×２Ｎ）の２つの形態の分割を有することができる。ＡＴは、水平−上側（ｈｏｒｉｚｏｎｔａｌ−ｕｐ）ＡＴ（２Ｎ×１／２Ｎ、２Ｎ×３／２Ｎ）、水平−下側（ｈｏｒｉｚｏｎｔａｌ−ｄｏｗｎ）ＡＴ（２Ｎ×３／２Ｎ、２Ｎ×１／２Ｎ）、垂直−左側（ｖｅｒｔｉｃａｌ−ｌｅｆｔ）ＡＴ（１／２Ｎ×２Ｎ、３／２Ｎ×２Ｎ）、垂直−右側（ｖｅｒｔｉｃａｌ−ｒｉｇｈｔ）ＡＴ（３／２Ｎ×２Ｎ、１／２Ｎ×２Ｎ）の４つの形態の分割を有することができる。それぞれのＢＴ、ＴＴ、ＡＴはＢＴ、ＴＴ、ＡＴを使用して再帰的にさらに分割されてもよい。
【００５７】
図３Ａは、ＱＴ分割の例を示す。ブロックＡはＱＴにより４つのサブブロック（Ａ０、Ａ１、Ａ２、Ａ３）に分割される。サブブロックＡ１は再びＱＴにより４つのサブブロック（Ｂ０、Ｂ１、Ｂ２、Ｂ３）に分割される。
【００５８】
図３Ｂは、ＢＴ分割の例を示す。ＱＴによりこれ以上分割されないブロックＢ３は、垂直ＢＴ（Ｃ０、Ｃ１）又は水平ＢＴ（Ｄ０、Ｄ１）に分割される。ブロックＣ０のように、それぞれのサブブロックは水平ＢＴ（Ｅ０、Ｅ１）又は垂直ＢＴ（Ｆ０、Ｆ１）の形態のように再帰的にさらに分割される。
【００５９】
図３Ｃは、ＴＴ分割の例を示す。ＱＴによりこれ以上分割されないブロックＢ３は、垂直ＴＴ（Ｃ０、Ｃ１、Ｃ２）又は水平ＴＴ（Ｄ０、Ｄ１、Ｄ２）に分割される。ブロックＣ１のように、それぞれのサブブロックは水平ＴＴ（Ｅ０、Ｅ１、Ｅ２）又は垂直ＴＴ（Ｆ０、Ｆ１、Ｆ２）の形態のように再帰的にさらに分割される。
【００６０】
図３Ｄは、ＡＴ分割の例を示す。ＱＴによりこれ以上分割されないブロックＢ３は、垂直ＡＴ（Ｃ０、Ｃ１）又は水平ＡＴ（Ｄ０、Ｄ１）に分割される。ブロックＣ１のように、それぞれのサブブロックは水平ＡＴ（Ｅ０、Ｅ１）又は垂直ＴＴ（Ｆ０、Ｆ１）の形態のように再帰的にさらに分割されることができる。
【００６１】
一方、ＢＴ、ＴＴ、ＡＴ分割は共に使用されてもよい。例えば、ＢＴにより分割されたサブブロックはＴＴ又はＡＴによる分割が可能である。また、ＴＴにより分割されたサブブロックはＢＴ又はＡＴによる分割が可能である。ＡＴにより分割されたサブブロックはＢＴ又はＴＴによる分割が可能である。例えば、水平ＢＴ分割の後、それぞれのサブブロックが垂直ＢＴに分割されることができ、または、垂直ＢＴ分割の後、それぞれのサブブロックが水平ＢＴに分割されることもできる。この場合、分割順序は異なるが、最終的に分割される形状は同一である。
【００６２】
また、ブロックが分割されると、ブロックを探索する順序を多様に定義することができる。一般に、左から右へ、上端から下端へ探索が行われ、ブロックを探索するということは、各分割されたサブブロックの追加的なブロック分割の可否を決定する順序を意味するか、ブロックがこれ以上分割されない場合は、各サブブロックの符号化順序を意味するか、又は、サブブロックにおいて他の隣接ブロックの情報を参照するときの探索順序を意味する。
【００６３】
図３Ａないし図３Ｄのような分割構造により分割された処理ユニット（又は、変換ブロック）別に変換が行われることができ、特に、行（ｒｏｗ）方向と列（ｃｏｌｕｍｎ）方向別に分割されて変換行列が適用されることができる。本発明の実施形態によれば、処理ユニット（又は、変換ブロック）の行方向又は列方向の長さに応じて異なる変換タイプが使用できる。
【００６４】
図４及び図５は、本発明が適用される実施形態であって、図４は、図１のエンコード装置１００内の変換及び量子化部１２０／１３０、逆量子化及び逆変換部１４０／１５０の概略的なブロック図を示し、図５は、デコード装置２００内の逆量子化及び逆変換部２２０／２３０の概略的なブロック図を示す。
【００６５】
図４に示すように、変換及び量子化部１２０／１３０は、一次変換部（ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉ）１２１、二次変換部（ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）１２２及び量子化部１３０を含む。逆量子化及び逆変換部１４０／１５０は、逆量子化部１４０、逆二次変換部（ｉｎｖｅｒｓｅ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）１５１及び逆一次変換部（ｉｎｖｅｒｓｅ  ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）１５２を含む。
【００６６】
図５に示すように、逆量子化及び逆変換部２２０／２３０は、逆量子化部２２０、逆二次変換部（ｉｎｖｅｒｓｅ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）２３１及び逆一次変換部（ｉｎｖｅｒｓｅ  ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）２３２を含む。
【００６７】
本発明において、変換を行うときは複数の段階を経て変換を行う。例えば、図４に示すように、一次変換（ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ）、二次変換（ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ）の２段階を適用することができ、また、アルゴリズムによってそれ以上の変換段階が用いられることもできる。ここで、一次変換は、コア変換（ｃｏｒｅ  ｔｒａｎｓｆｏｒｍ）と称されてもよい。
【００６８】
一次変換部１２１は、残差信号に対して一次変換を適用し、ここで、一次変換はエンコーダ及び／又はデコーダにおいてテーブルとして既に定義されることができる。
【００６９】
二次変換部１２２は、一次変換された信号に対して二次変換を適用し、ここで、二次変換はエンコーダ及び／又はデコーダにおいてテーブルとして既に定義定されることができる。
【００７０】
一実施形態において、二次変換として非分離二次変換（ｎｏｎ−ｓｅｐａｒａｂｌｅ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ）（ＮＳＳＴ）が条件的に適用できる。例えば、ＮＳＳＴは、画面内の予測ブロックである場合にのみ適用され、予測モードグループごとに適用可能な変換セットを有することができる。
【００７１】
ここで、予測モードグループは、予測方向に対する対称性に基づいて設定される。例えば、予測モード５２と予測モード１６は、予測モード３４（対角方向）を基準に対称であるので、１つのグループを形成して同一の変換セット（ｔｒａｎｓｆｏｒｍ  ｓｅｔ）が適用できる。ここで、予測モード５２に対する変換を適用するとき、入力データを転置（ｔｒａｎｓｐｏｓｅ）した後に適用し、これは予測モード１６と変換セットが同一であるためである。
【００７２】
一方、プレーナモード（Ｐｌａｎａｒ  ｍｏｄｅ）とＤＣモード（ＤＣ  ｍｏｄｅ）の場合、方向に対する対称性が存在しないので、各自の変換セットを有し、当該変換セットは２つの変換で構成されることができる。残りの方向性モードに対しては変換セットごとに３つの変換で構成されることができる。
【００７３】
量子化部１３０は、二次変換された信号に対して量子化を行う。
【００７４】
逆量子化及び逆変換部１４０／１５０は、前述した説明の過程を逆に行い、重複する説明は省略する。
【００７５】
図５は、デコード装置２００内の逆量子化及び逆変換部２２０／２３０の概略的なブロック図を示す。
【００７６】
図５に示すように、逆量子化及び逆変換部２２０／２３０は逆量子化部２２０、逆二次変換部（ｉｎｖｅｒｓｅ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）２３１及び逆一次変換部（ｉｎｖｅｒｓｅ  ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）２３２を含む。
【００７７】
逆量子化部２２０は、量子化ステップサイズ情報を用いてエントロピーデコードされた信号から変換係数を取得する。
【００７８】
逆二次変換部２３１においては、変換係数に対して逆二次変換を行う。ここで、逆二次変換は図４で説明した二次変換の逆変換を示す。
【００７９】
逆一次変換部２３２は、逆二次変換された信号（又は、ブロック）に対して逆一次変換を行い、残差信号（ｒｅｓｉｄｕａｌ  ｓｉｇｎａｌ）を取得する。ここで、逆一次変換は、図４で説明した前記一次変換（ｐｒｉｍａｒｙ  ｔｒａｎｓｆｏｒｍ）の逆変換を示す。
【００８０】
図６は、本発明が適用される実施形態であって、一次変換及び二次変換によりビデオ信号をエンコードするフローチャートを示す。図６に示す各動作は、エンコード装置１００の変換部１２０により行われる。
【００８１】
エンコード装置１００は、現在ブロックの予測モード、ブロック形状及び／又はブロックサイズの少なくとも１つに基づいて順方向二次変換を決定（又は、選択）する（Ｓ６１０）。
【００８２】
エンコード装置１００は、ＲＤ最適化（ｒａｔｅ−ｄｉｓｔｏｒｔｉｏｎ  ｏｐｔｉｍｉｚａｔｉｏｎ）により最適の順方向二次変換を決定することができる。最適の順方向二次変換は、複数の変換組み合わせのうち１つに対応され、複数の変換組み合わせは変換インデックスにより定義される。例えば、ＲＤ最適化のために、エンコード装置１００は各候補に対して順方向二次変換、量子化、レジデュアルコーディングなどを全て行った結果を比較することができる。
【００８３】
エンコード装置１００は、最適の順方向二次変換に対応する二次変換インデックスをシグナリングする（Ｓ６２０）。ここで、２次変換インデックスは、本明細書で説明した他の実施形態が適用できる。
【００８４】
一方、エンコード装置１００は、現在ブロック（レジデュアルブロック）に対して順方向一次変換を行う（Ｓ６３０）。
【００８５】
エンコード装置１００は、最適の順方向二次変換を用いて現在ブロックに対して順方向二次変換を行う（Ｓ６４０）。一方、順方向二次変換は以下に説明されるＲＳＴであり得る。ＲＳＴはＮ個のレジデュアルデータ（Ｎ×１レジデュアルベクトル）が入力されてＲ個（Ｒ＜Ｎ）の変換係数データ（Ｒ×１変換係数ベクトル）が出力される変換を意味する。
【００８６】
一実施形態として、ＲＳＴは現在ブロックの特定領域に適用できる。例えば、現在ブロックがＮ×Ｎであるとき、特定領域は左上側のＮ／２×Ｎ／２領域を意味し得る。しかしながら、本発明はこれに限定されず、予測モード、ブロック形状、又はブロックサイズのうち少なくとも１つによって異なるように設定される。例えば、現在ブロックがＮ×Ｎであるとき、特定領域は左上側のＭ×Ｍ領域（Ｍ≦Ｎ）を意味し得る。
【００８７】
一方、エンコード装置１００は、現在ブロックに対して量子化を行うことにより、変換係数ブロックを生成する（Ｓ６５０）。
【００８８】
エンコード装置１００は、変換係数ブロックに対してエントロピーエンコードを行って、ビットストリームを生成することができる。
【００８９】
図７は、本発明が適用される実施形態であって、二次逆変換及び一次逆変換によりビデオ信号をデコードするフローチャートを示す。図７に示す各動作は、デコード装置２００の逆変換部２３０により行われる。
【００９０】
デコード装置２００は、ビットストリームから二次変換インデックスを取得する（Ｓ７１０）。
【００９１】
デコード装置２００は、二次変換インデックスに対応する二次変換を誘導する（Ｓ７２０）。
【００９２】
ただし、Ｓ７１０及びＳ７２０ステップは一実施形態であり、本発明はこれに限定されない。例えば、デコード装置２００は、二次変換インデックスを取得せずに、現在ブロックの予測モード、ブロック形状及び／又はブロックサイズのうち少なくとも１つに基づいて二次変換を誘導することができる。
【００９３】
一方、デコーダ２００は、ビットストリームをエントロピーデコードして変換係数ブロックを取得し、前記変換係数ブロックに対して逆量子化を行う（Ｓ７３０）。
【００９４】
デコーダ２００は、逆量子化された変換係数ブロックに対して逆方向二次変換を行う（Ｓ７４０）。例えば、逆方向二次変換は逆方向ＲＳＴであり得る。逆方向ＲＳＴは、図６で説明されたＲＳＴの転置（ｔｒａｎｓｐｏｓｅ）行列であって、Ｒ個の変換係数データ（Ｒｘ１変換係数ベクトル）が入力され、Ｎ個のレジデュアルデータ（Ｎｘ１レジデュアルベクトル）が出力される変換を意味する。
【００９５】
一実施形態として、縮小された二次変換は、現在ブロックの特定の領域に適用できる。例えば、現在ブロックがＮ×Ｎであるとき、特定領域は左上側のＮ／２×Ｎ／２領域を意味し得る。しかしながら、本発明はこれに限定されず、予測モード、ブロック形状、又はブロックサイズのうち少なくとも１つによって異なるように設定される。例えば、現在ブロックがＮ×Ｎであるとき、特定領域は左上側のＭ×Ｍ領域（Ｍ≦Ｎ）又はＭ×Ｌ（Ｍ≦Ｎ、Ｌ≦Ｎ）を意味し得る。
【００９６】
そして、デコーダ２００は、逆方向二次変換された結果に対して逆方向一次変換を行う（Ｓ７５０）。
【００９７】
デコーダ２００は、Ｓ７５０ステップによりレジデュアルブロックを生成し、レジデュアルブロックと予測ブロックを加算することにより復元ブロックを生成する。
【００９８】
図８は、本発明の実施形態によるＡＭＴ（ａｄａｐｔｉｖｅ  ｍｕｌｔｉｐｌｅ  ｔｒａｎｓｆｏｒｍ）が適用される変換設定グループ（ｔｒａｎｓｆｏｒｍ  ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｇｒｏｕｐ）の例を示す。
【００９９】
図８によれば、変換設定グループは予測モードに基づいて決定され、グループの個数は計６個（Ｇ０〜Ｇ５）であり得る。そして、Ｇ０〜Ｇ４はイントラ予測が適用される場合に該当し、Ｇ５はインター予測により生成された残差（ｒｅｓｉｄｕａｌ）ブロックに適用される変換組み合わせ（又は、変換セット、変換組み合わせセット）を示す。
【０１００】
１つの変換組み合わせは、該当二次元ブロックの行（ｒｏｗ）に適用される水平変換（ｈｏｒｉｚｏｎｔａｌ  ｔｒａｎｓｆｏｒｍ）（又は、行変換（ｒｏｗ  ｔｒａｎｓｆｏｒｍ））と列（ｃｏｌｕｍｎ）に適用される垂直変換（ｖｅｒｔｉｃａｌ  ｔｒａｎｓｆｏｒｍ（又は、列変換（ｃｏｌｕｍｎ  ｔｒａｎｓｆｏｒｍ））で構成される。
【０１０１】
ここで、全ての変換設定グループのそれぞれは、４つの変換組み合わせ候補を含む。４つの変換組み合わせ候補は０〜３の変換組み合わせインデックスにより選択又は決定され、エンコード装置１００からデコード装置２００に変換組み合わせインデックスがエンコード手順により送信される。
【０１０２】
一実施形態として、イントラ予測により取得された残差データ（又は、残差信号）は、イントラ予測モードに応じて統計的特性がそれぞれ異なる。従って、図８のようにイントラ予測モード別に一般的なコサイン変換ではない他の変換が適用されることができる。本文書において、変換タイプは、例えば、ＤＣＴ−Ｔｙｐｅ  ２、ＤＣＴ−ＩＩ、ＤＣＴ−２のように表現されてもよい。
【０１０３】
図８に示すように、３５個のイントラ予測モードが使用される場合と、６７個のイントラ予測モードが使用される場合に対する変換集合構成がそれぞれ図示される。イントラ予測モード列において区分される変換設定グループ別に複数の変換組み合わせが適用できる。例えば、複数の変換組み合わせ（行方向変換、列方向変換）は４つの組み合わせで構成される。より具体的に、グループ０において行（水平）方向と列（垂直）方向の全てにＤＳＴ−７とＤＣＴ−５が適用できるので、４つの組み合わせが可能である。
【０１０４】
各イントラ予測モードに対して計４つの変換カーネルの組み合わせが適用できるので、そのうちの１つを選択するための変換組み合わせインデックスが変換単位（ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）ごとに送信される。本文書において、変換組み合わせインデックスはＡＭＴインデックス（ＡＭＴ  ｉｎｄｅｘ）と称され、ａｍｔ＿ｉｄｘと表現されてもよい。
【０１０５】
また、図８に示す変換カーネル以外にも、残差信号（ｒｅｓｉｄｕａｌ  ｓｉｇｎａｌ）の特性上、行方向と列方向の両方ともに対してＤＣＴ−２が最適である場合がある。従って、符号化ユニット（ｃｏｄｉｎｇ  ｕｎｉｔ）ごとにＡＭＴフラグを定義することにより適応的に変換を行うことができる。ここで、ＡＭＴフラグが０であると、行方向と列方向の両方ともに対してＤＣＴ−２を適用し、ＡＭＴフラグが１であると、ＡＭＴインデックスにより４つの組み合わせのうち１つを選択又は決定することができる。
【０１０６】
一実施形態として、ＡＭＴフラグが０である場合、１つの変換単位に対して変換係数の個数が３より小さいと、図８の変換カーネルが適用されずに、行方向と列方向に対して全てＤＳＴ−７が適用される。
【０１０７】
一実施形態として、変換係数の値を先にパーシングして変換係数の個数が３より小さいと、ＡＭＴインデックスをパーシングせずにＤＳＴ−７を適用することにより付加情報の送信量を減少させることができる。
【０１０８】
一実施形態として、ＡＭＴは変換単位の幅と高さが全て３２以下である場合にのみ適用できる。
【０１０９】
一実施形態として、図８は、オフライントレーニング（ｏｆｆ−ｌｉｎｅ  ｔｒａｉｎｉｎｇ）により事前に設定されてもよい。
【０１１０】
一実施形態として、ＡＭＴインデックスは、水平変換と垂直変換の組み合わせを同時に指示できる１つのインデックスにより定義されることができる。または、ＡＭＴインデックスは水平変換インデックスと垂直変換インデックスにより別途に定義されることができる。
【０１１１】
前述したＡＭＴのように複数の変換カーネル（例えば、ＤＣＴ−２、ＤＳＴ−７、ＤＣＴ−８）のうち選択された変換を適用する技法は、ＭＴＳ（ｍｕｌｔｉｐｌｅ  ｔｒａｎｓｆｏｒｍ  ｓｅｌｅｃｔｉｏｎ）又はＥＭＴ（ｅｎｈａｎｃｅｄ  ｍｕｌｔｉｐｌｅ  ｔｒａｎｓｆｏｒｍ）と称されてもよく、ＡＭＴインデックスはＭＴインデックスと称されてもよい。
【０１１２】
図９は、本発明の実施形態によるＡＭＴが適用されるエンコードフローチャートの例を示す。図９に示された動作は、エンコード装置１００の変換部１２０により行われる。
【０１１３】
本文書は、基本的に水平方向と垂直方向に対して分離して変換を適用する実施形態を説明するが、変換組み合わせは非分離変換（ｎｏｎ−ｓｅｐａｒａｂｌｅ  ｔｒａｎｓｆｏｒｍ）で構成されることもできる。
【０１１４】
また、分離可能な変換と非分離変換の混合で構成されることもできる。この場合、非分離変換が利用されると、行／列（ｒｏｗ／ｃｏｌｕｍｎ）別の変換選択や水平／垂直（ｈｏｒｉｚｏｎｔａｌ／ｖｅｒｔｉｃａｌ）方向別の選択は不要となり、分離可能な変換が選択される場合にのみ前記図８の変換組み合わせが利用される。
【０１１５】
また、本明細書で提案する方式は、一次変換や二次変換に関係なく適用することができる。すなわち、両方のうちいずれか一方にのみ適用されなければならないという制約はなく、両方ともに適用できる。ここで、一次変換は残差ブロックを１番目に変換するための変換を意味し、二次変換は、前記一次変換の結果として生成されたブロックに対して変換を適用するための変換を意味し得る。
【０１１６】
まず、エンコード装置１００は、現在ブロックに対応する変換設定グループを決定する（Ｓ９１０）。ここで、変換設定グループは、図８のような組み合わせで構成されることもできる。
【０１１７】
エンコード装置１００は、変換設定グループ内で利用可能な候補変換の組み合わせに対して変換を行う（Ｓ９２０）。
【０１１８】
変換実行の結果、エンコード装置１００は、ＲＤ（ｒａｔｅ  ｄｉｓｔｏｒｔｉｏｎ）コストが最も小さい変換組み合わせを決定又は選択する（Ｓ９３０）。
【０１１９】
エンコード装置１００は、選択された変換組み合わせに対応する変換組み合わせインデックスをエンコードする（Ｓ９４０）。
【０１２０】
図１０は、本発明の実施形態によるＡＭＴが適用されるデコードフローチャートの例を示す。図１０に示す動作は、デコード装置２００の逆変換部２３０により行われる。
【０１２１】
まず、デコード装置２００は、現在ブロックのための変換設定グループを決定する（Ｓ１０１０）。デコード装置２００は、ビデオ信号から変換組み合わせインデックスをパーシング（又は、取得）し、ここで、変換組み合わせインデックスは、変換設定グループ内の複数の変換組み合わせのいずれか１つに対応する（Ｓ１０２０）。例えば、変換設定グループはＤＣＴ−２、ＤＳＴ−７又はＤＣＴ−８を含む。
【０１２２】
デコード装置２００は、変換組み合わせインデックスに対応する変換組み合わせを誘導する（Ｓ１０３０）。ここで、変換組み合わせは水平変換及び垂直変換で構成され、ＤＣＴ−２、ＤＳＴ−７又はＤＣＴ−８の少なくとも１つを含む。また、変換組み合わせは、図８で説明された変換組み合わせを使用してもよい。
【０１２３】
デコード装置２００は、誘導された変換組み合わせに基づいて現在ブロックに対して逆変換を行う（Ｓ１０４０）。変換組み合わせが行（水平）変換と列（垂直）変換で構成された場合、行（水平）変換を先に適用した後、列（垂直）変換を適用することができる。ただし、本発明はこれに限定されず、逆に適用されるか、又は非分離変換で構成される場合は、直ちに非分離変換が適用されることができる。
【０１２４】
一実施形態において、垂直変換又は水平変換がＤＳＴ−７又はＤＣＴ−８である場合、ＤＳＴ−７の逆変換又はＤＣＴ−８の逆変換を列ごとに適用した後、行ごとに適用する。また、垂直変換又は水平変換は、各行ごとに及び／又は各列ごとに異なる変換が適用される。
【０１２５】
一実施形態において、変換組み合わせインデックスは、ＡＭＴが行われるか否かを示すＡＭＴフラグに基づいて取得できる。すなわち、変換組み合わせインデックスは、ＡＭＴフラグによってＡＭＴが行われる場合に限って取得できる。また、デコード装置２００は、０ではない変換係数（ｎｏｎ−ｚｅｒｏ  ｃｏｅｆｆｉｃｉｅｎｔ）の個数が臨界値より大きいか否かを確認する。ここで、変換組み合わせインデックスは、０でない変換係数の個数が臨界値より大きい場合に限ってパーシングできる。
【０１２６】
一実施形態において、ＡＭＴフラグ又はＡＭＴインデックスは、シーケンス（ｓｅｑｕｅｎｃｅ）、ピクチャ（ｐｉｃｔｕｒｅ）、スライス（ｓｌｉｃｅ）、ブロック（ｂｌｏｃｋ）、符号化ユニット（ｃｏｄｉｎｇ  ｕｎｉｔ）、変換ユニット（ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）、又は予測ユニット（ｐｒｅｄｉｃｔｉｏｎ）の少なくとも１つのレベルに定義される。
【０１２７】
一方、他の実施形態として、変換設定グループを決定する過程と変換組み合わせインデックスをパーシングする過程は同時に行われることができる。または、Ｓ１０１０ステップは、エンコード装置１００及び／又はデコード装置２００において既に設定されて省略できる。
【０１２８】
図１１は、本発明の実施形態によるＡＭＴフラグ及びＡＭＴインデックスをエンコードするためのフローチャートの例を示す。図１１の動作は、エンコード装置１００の変換部１２０により行われる。
【０１２９】
エンコード装置１００は、現在ブロックに対してＡＭＴが適用されるか否かを決定する（Ｓ１１１０）。
【０１３０】
もし、ＡＭＴが適用される場合、エンコード装置１００は、ＡＭＴフラグ＝１でエンコードする（Ｓ１１２０）。
【０１３１】
そして、エンコード装置１００は、現在ブロックの予測モード、水平変換、垂直変換の少なくとも１つに基づいてＡＭＴインデックスを決定する（Ｓ１１３０）。ここで、ＡＭＴインデックスは、各イントラ予測モードに対して複数の変換組み合わせのいずれかを指すインデックスを示し、ＡＭＴインデックスは変換単位ごとに送信される。
【０１３２】
ＡＭＴインデックスが決定されると、エンコード装置１００はＡＭＴインデックスをエンコードする（Ｓ１１４０）。
【０１３３】
一方、ＡＭＴが適用されない場合、エンコード装置１００はＡＭＴフラグ＝０でエンコードする（Ｓ１１５０）。
【０１３４】
図１２は、ＡＭＴフラグ及びＡＭＴインデックスに基づいた変換を行うためのデコードフローチャートの例を示す。
【０１３５】
デコード装置２００は、ビットストリームからＡＭＴフラグをパーシングする（Ｓ１２１０）。ここで、ＡＭＴフラグは、現在ブロックに対してＡＭＴが適用されるか否かを示す。
【０１３６】
デコード装置２００は、ＡＭＴフラグに基づいて現在ブロックに対してＡＭＴが適用されるか否かを確認する（Ｓ１２２０）。例えば、ＡＭＴフラグが１であるか否かを確認する。
【０１３７】
もし、ＡＭＴフラグが１である場合、デコード装置２００は、ＡＭＴインデックスをパーシングする（Ｓ１２３０）。ここで、ＡＭＴインデックスは、各イントラ予測モードに対して複数の変換組み合わせのうちいずれか１つを指すインデックスを意味し、ＡＭＴインデックスは変換単位ごとに送信できる。または、ＡＭＴインデックスは、既に設定された変換組み合わせテーブルに定義されたいずれか１つの変換組み合わせを指すインデックスを意味し、ここで、既に設定された変換組み合わせテーブルは図８を意味し得るが、本発明はこれに限定されない。
【０１３８】
デコード装置２００は、ＡＭＴインデックス又は予測モードのうち少なくとも１つに基づいて水平変換及び垂直変換を誘導又は決定する（Ｓ１２４０）。
【０１３９】
または、デコード装置２００は、ＡＭＴインデックスに対応する変換組み合わせを誘導する。例えば、デコード装置２００は、ＡＭＴインデックスに対応する水平変換及び垂直変換を誘導又は決定する。
【０１４０】
一方、ＡＭＴフラグが０である場合、デコード装置２００は、既に設定された垂直逆変換を列ごとに適用する（Ｓ１２５０）。例えば、垂直逆変換はＤＣＴ−２の逆変換であり得る。
【０１４１】
そして、デコード装置２００は、既に設定された水平逆変換を行ごとに適用する（Ｓ１２６０）。例えば、水平逆変換はＤＣＴ−２の逆変換であり得る。すなわち、ＡＭＴフラグが０である場合、エンコード装置１００又はデコード装置２００において既に設定された変換カーネルが用いられる。例えば、図８のような変換組み合わせテーブルにおいて定義されるのではなく、多く用いられる変換カーネルが用いられてもよい。
【０１４２】
ＮＳＳＴ（ｎｏｎ−ｓｅｐａｒａｂｌｅ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ）
【０１４３】
二次変換は、一次変換が適用された結果を入力にしてもう一度変換カーネルを適用することをいう。一次変換は、ＨＥＶＣにおけるＤＣＴ−２、ＤＳＴ−７や前述したＡＭＴなどを含む。非分離変換（ｎｏｎ−ｓｅｐａｒａｂｌｅ  ｔｒａｎｓｆｏｒｍ）は、行方向と列方向に対して順次にＮ×Ｎ変換カーネルを適用するのではなく、Ｎ×Ｎ２次元残差ブロックをＮ2×１ベクトルとみなした後、このベクトルに対してＮ2×Ｎ2変換カーネルを１度だけ適用することをいう。
【０１４４】
すなわち、ＮＳＳＴは、変換ブロックの係数から構成されたベクトルに適用される非分離正方形行列を称する。また、本文書の実施形態は、ブロックのサイズによって決定される左上側の領域（低周波数領域）に適用される非分離変換の例としてＮＳＳＴを中心に説明するが、本発明の実施形態は、ＮＳＳＴの用語に限定されるものではなく、どのようなタイプの非分離変換でも本発明の実施形態に適用できる。例えば、ブロックのサイズによって決定される左上側の領域（低周波数領域）に適用される非分離変換は、ＬＦＮＳＴ（ｌｏｗ  ｆｒｅｑｕｅｎｃｙ  ｎｏｎ−ｓｅｐａｒａｂｌｅ  ｔｒａｎｓｆｏｒｍ）と称される。本文書において、Ｍ×Ｎ変換（又は、変換行列）はＭ個の行とＮ個の列で構成された行列を意味する。
【０１４５】
ＮＳＳＴにおいて、一次変換を適用することにより取得された二次元ブロックデータをＭ×Ｍブロックに分割した後、各Ｍ×Ｍブロックに対してＭ2×Ｍ2非分離変換を適用する。Ｍの値は４又は８であり得る。一次変換により取得した２次元ブロックの全ての領域に対してＮＳＳＴを適用するのではなく、一部の領域に対してのみ適用することも可能であるが、例えば、左上端（ｔｏｐ−ｌｅｆｔ）の８×８ブロックに対してのみＮＳＳＴを適用することができる。また、一次変換により取得された２次元ブロックの幅と高さが両方とも８以上である場合のみ左上端の８×８領域に対して６４×６４非分離変換を適用することができ、残りの場合に対しては４×４ブロックに分けてそれぞれ当該１６×１６非分離変換を適用することができる。
【０１４６】
Ｍ2×Ｍ2非分離変換は、行列積の形態で適用することもできるが、計算量とメモリ要求量の低減のためにギブンス回転レイヤ（Ｇｉｖｅｎｓ  ｒｏｔａｔｉｏｎ  ｌａｙｅｒ）と置換レイヤ（ｐｅｒｍｕｔａｔｉｏｎ  ｌａｙｅｒ）の組み合わせで近似できる。図１３は、１つのギブンス回転を示す。図１３のように１つのギブンス回転の１つの角度により説明できる。
【０１４７】
図１３及び図１４は、本発明が適用される実施形態であって、図１３は、ギブンス回転（Ｇｉｖｅｎｓ  ｒｏｔａｔｉｏｎ）を説明するためのダイアグラムを示し、図１４は、ギブンス回転レイヤと置換（ｐｅｒｍｕｔａｔｉｏｎ）からなる４×４ＮＳＳＴにおける１ラウンド（ｒｏｕｎｄ）の構成を示す。
【０１４８】
８×８ＮＳＳＴと４×４ＮＳＳＴの両方ともギブンス回転の階層的組み合わせで構成されることができる。１つのギブンス回転に該当する行列は数式１のようであり、行列積をダイアグラムで表現すると、図１３のようになる。
【０１４９】
【数１】
2021510253.tif 000003
【０１５０】
図１３において、ギブンス回転により出力されるｔmとｔnは数式２のように計算されることができる。
【０１５１】
【数２】
2021510253.tif 000004
【０１５２】
図１３のように、１つのギブンス回転は２つのデータを回転させるので、６４個のデータ（８×８ＮＳＳＴの場合）又は１６個のデータ（４×４ＮＳＳＴの場合）の処理のためにそれぞれ３２個又は８個のギブンス回転が必要である。従って、３２個又は８個のギブンス回転の束がギブンス回転レイヤ（Ｇｉｖｅｎｓ  ｒｏｔａｔｉｏｎ  ｌａｙｅｒ）を形成することができる。図１５のように、１つのギブンス回転レイヤに対する出力データが置換（シャッフリング）により次のギブンス回転レイヤに対する入力データに伝達される。図１５のように置換されるパターンは規則的に定義され、４×４ＮＳＳＴの場合、４つのギブンス回転レイヤ及び対応する置換が１つのラウンドを形成する。４×４ＮＳＳＴは２回のラウンドにより行われ、８×８ＮＳＳＴは４回のラウンドにより行われる。異なるラウンドは同一の置換パターンを使うが、適用されるギブンス回転角度はそれぞれ異なる。従って、各変換を構成する全てのギブンス回転に対する角度データの格納が必要である。
【０１５３】
最後の段階として、ギブンス回転レイヤを経て出力されたデータに対して、最終的に１回の置換がさらに行われ、当該置換に関する情報は変換ごとに別途格納される。順方向（ｆｏｒｗａｒｄ）ＮＳＳＴの最後に当該置換が行われ、逆方向（ｉｎｖｅｒｓｅ）ＮＳＳＴは最初に当該逆方向置換が適用される。
【０１５４】
逆方向ＮＳＳＴは、順方向ＮＳＳＴにおいて適用されていたギブンス回転レイヤと置換を逆順に行い、各ギブンス回転の角度に対してもマイナス（−）の値を取ることにより回転させる。
【０１５５】
図１５は、本発明の実施形態によるイントラ予測モード別の非分離変換集合の構成の例を示す。
【０１５６】
同じＮＳＳＴ又はＮＳＳＴ集合が適用されるイントラ予測モードがグループを形成することができる。図１５は、６７個のイントラ予測モードを３５個のグループに分類しているが、例えば、２０番モードと４８番モードは両方ともに２０番グループ（以下、モードグループ）に属する。
【０１５７】
各モードグループ別に１つのＮＳＳＴではない複数のＮＳＳＴを集合として構成することができる。各集合は、ＮＳＳＴを適用しない場合を含む。例えば、１つのモードグループに対して３つの異なるＮＳＳＴを適用できる場合、ＮＳＳＴを適用しない場合を含んで４つの場合のうち１つを選択するように構成されることができる。ここで、４つの場合のうち１つを区分するためにインデックスをＴＵ単位で送信する。モードグループごとにＮＳＳＴの個数を異なるように構成することもできるが、例えば、０番と１番モードグループはＮＳＳＴを適用しない場合を含んでそれぞれ３つの場合のうち１つを選択するようにシグナリングする。
【０１５８】
実施形態１：４×４ブロックに適用できるＲＳＴ
【０１５９】
１つの４×４ブロックに適用できる非分離変換（ｎｏｎ−ｓｅｐａｒａｂｌｅ  ｔｒａｎｓｆｏｒｍ）は１６×１６変換である。すなわち、当該４×４ブロックを構成するデータ要素が行優先（ｒｏｗ−ｆｉｒｓｔ）又は列優先（ｃｏｌｕｍｎ−ｆｉｒｓｔ）の順で一列に整列されると、１６×１ベクトルとなり、１６×１ベクトルに対して当該非分離変換が適用されることができる。順方向１６×１６変換は１６個の行方向変換基底ベクトル（ｔｒａｎｓｆｏｒｍ  ｂａｓｉｓ  ｖｅｃｔｏｒ）で構成され、前記１６×１ベクトルと各変換基底ベクトルに対して内積（ｉｎｎｅｒ  ｐｒｏｄｕｃｔ）を取ると、当該変換基底ベクトルに対する変換係数が取得される。１６個の変換基底ベクトルに対して全て当該変換係数を得る過程は、１６×１６非分離変換行列と入力１６×１ベクトルを乗算することのようである。行列積で得られる変換係数は１６×１ベクトルの形態を有するが、変換係数別に統計的特性が異なることがある。例えば、１６×１変換係数ベクトルが０番目の要素から１５番目の要素で構成されたとすると、０番目の要素の分散は１５番目の要素の分散より大きいことがある。すなわち、前に位置する要素であるほど当該分散値が大きくて大きなエネルギー値を有することができる。
【０１６０】
１６×１変換係数から逆方向１６×１６非分離変換を適用すると、（量子化や整数化計算などの効果を無視したとき）元の４×４ブロック信号を復元することができる。順方向１６×１６非分離変換が直交正規変換（ｏｒｔｈｏｎｏｒｍａｌ  ｔｒａｎｓｆｏｒｍ）であれば、当該逆方向１６×１６変換は、順方向１６×１６変換に対する行列の転置を取って求めることができる。単純には、逆方向１６×１６非分離変換行列を１６×１変換係数ベクトルに乗算すると、１６×１ベクトル形態のデータを得られ、最初に適用した行優先又は列優先の順に配列すると、４×４ブロック信号を復元することができる。
【０１６１】
前述したように、１６×１変換係数ベクトルをなす要素はそれぞれ統計的特性が異なる場合がある。前述の例示のように、前方に配置された（０番目の要素に近い）変換係数がより大きなエネルギーを有すると、全ての変換係数を使用せずに先に登場する一部の変換係数に逆方向変換を適用しても元の信号にかなり近い信号を復元することができる。例えば、逆方向１６×１６非分離変換が１６個の列基底ベクトルで構成されるとすると、Ｌ個の列基底ベクトルのみを残して１６×Ｌ行列を構成し、変換係数の中からもより重要なＬ個の変換係数のみを残した後（Ｌ×１ベクトル、前述の例示のように先に登場することができる）、１６×Ｌ行列とＬ×１ベクトルを乗算すると、元の入力１６×１ベクトルデータと誤差が大きくない１６×１ベクトルを復元することができる。結果として、Ｌ個の係数のみがデータ復元に介入するので、変換係数を得るときにも１６×１変換係数ベクトルではないＬ×１変換係数ベクトルを求めればよい。すなわち、順方向１６×１６非分離変換行列において、Ｌ個の当該行方向変換ベクトルを選んでＬ×１６変換を構成した後、１６×１入力ベクトルと乗算するとＬ個の重要変換係数を得ることができる。
【０１６２】
実施形態２：４×４ＲＳＴの適用領域設定と変換係数の配置
【０１６３】
４×４ＲＳＴは二次変換として適用されることができ、このとき、ＤＣＴ−ｔｙｐｅ２などの一次変換が適用されたブロックに対して二次的に適用できる。一次変換が適用されたブロックのサイズをＮ×Ｎにしたとき、通常は４×４よりは大きくなる。従って、４×４ＲＳＴをＮ×Ｎブロックに適用するときには、次のような２つの方法が考えられる。
【０１６４】
１）Ｎ×Ｎ領域に対して全て４×４ＲＳＴを適用するのではなく、一部の領域にのみ適用できる。例えば、左上側（ｔｏｐ−ｌｅｆｔ）Ｍ×Ｍ領域に対してのみ適用できる（Ｍ＜＝Ｎ）。
【０１６５】
２）二次変換が適用される領域を４×４ブロックに分割した後、各分割されたブロックに対して４×４ＲＳＴが適用できる。
【０１６６】
前記方法１）と２）を混合して適用できる。例えば、左上側のＭ×Ｍ領域に対してのみ４×４ブロックに分割した後、４×４ＲＳＴを適用することができる。
【０１６７】
具体的な実施形態として、左上側８×８領域に対してのみ二次変換を適用し、Ｎ×Ｎブロックが８×８より大きいか等しい場合は８×８ＲＳＴを適用し、Ｎ×Ｎブロックが８×８より小さい場合は（４×４、８×４、４×８）前記２）のように４×４ブロックに分けた後、それぞれ４×４ＲＳＴを適用できる。
【０１６８】
４×４ＲＳＴを適用した後、Ｌ個の変換係数（１＜＝Ｌ＜１６）が生成されたとしたとき、Ｌ個の変換係数をどのように配置するかに対する自由度が生じる。しかしながら、レジデュアルコーディング（ｒｅｓｉｄｕａｌ  ｃｏｄｉｎｇ）パートにおいて変換係数を読み込んで処理するとき、定められた順序が存在することから、前記Ｌ個の変換係数を２次元（２−ｄｉｍｅｎｓｉｏｎａｌ）ブロックにどのように配置するかによってコーディング性能が変わる可能性がある。ＨＥＶＣ（ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ）規格でのレジデュアルコーディングは、ＤＣ位置において最も遠く離れた位置からコーディングを開始するが、これは、ＤＣ位置から遠く離れるほど量子化を経た係数の値が０であるか０に近いということを利用してコーディング性能を高めるためである。従って、Ｌ個の変換係数に対しても高いエネルギーを有するとともに、より重要な係数をレジデュアルコーディングの順序上、後でコーディングされるように配置するのがコーディング性能の面で有利であり得る。
【０１６９】
図１６は、ＨＥＶＣ標準において適用された変換係数又は変換係数ブロックに対する３つの順方向スキャン順序であって、（ａ）は対角スキャン（ｄｉａｇｏｎａｌ  ｓｃａｎ）、（ｂ）は水平スキャン（ｈｏｒｉｚｏｎｔａｌ  ｓｃａｎ）、（ｃ）は垂直スキャン（ｖｅｒｔｉｃａｌ  ｓｃａｎ）を示す。
【０１７０】
図１６は、ＨＥＶＣ標準において適用されている変換係数又は変換係数ブロック（４×４ブロック、Ｃｏｅｆｆｉｃｉｅｎｔ  Ｇｒｏｕｐ（ＣＧ））に対する３つの順方向スキャン順序を図示し、レジデュアルコーディングは（ａ）、（ｂ）、又は（ｃ）のスキャン順序の逆順により行われる（すなわち、１６から１の順にコーディングされる）。（ａ）、（ｂ）、及び（ｃ）に示した３つのスキャン順序は、イントラ予測（ｉｎｔｒａ−ｐｒｅｄｉｃｔｉｏｎ）モードに応じて選択されるので、前記Ｌ個の変換係数に対しても同様にイントラ予測モードに応じてスキャン順序を決定するように構成することができる。
【０１７１】
Ｌ値は１＜＝Ｌ＜１６の範囲を有し、一般的には、１６個の変換基底ベクトルのうち任意の方法でＬ個を選択できるが、符号化と復号化の観点からは、前記に提示した例のように信号のエネルギーの側面で重要度が高い変換基底ベクトルを選択することが符号化効率の観点から有利であり得る。
【０１７２】
図１７と図１８は、本発明が適用される実施形態であって、図１７は、４×８ブロックに対する４×４ＲＳＴの適用時の順方向対角スキャンが適用される場合の変換係数の位置を示し、図１８は、２つの４×４ブロックの有効な変換係数を１つのブロックに併合する場合の例を示す。
【０１７３】
（ａ）の対角スキャン順序に従って左上側４×８ブロックを４×４ブロックにそれぞれ分割して４×４ＲＳＴを適用するとき、Ｌ値が８であると（すなわち、１６個のうち８個の変換係数のみを残すと）、図１７のように変換係数が位置するが、各４×４ブロックの半分のみが変換係数を有することができ、Ｘが表示されている位置にデフォルト（ｄｅｆａｕｌｔ）として０の値が充填される。従って、（ａ）において提示されたスキャン順に従ってＬ個の変換係数を各４×４ブロックに対して配置させ、各４×４ブロックの残りの（１６−Ｌ）個の位置に対しては０で充填されることを仮定して当該レジデュアルコーディング（例えば、ＨＥＶＣにおけるレジデュアルコーディング）を適用することができる。
【０１７４】
また、図１８のように２つの４×４ブロックに配置されていたＬ個の変換係数を１つのブロックに構成することができる。特に、Ｌ値が８である場合、２つの４×４ブロックの変換係数が１つの４×４ブロックを完全に充填するので、他のブロックには変換係数は残らない。従って、変換係数が空になった４×４ブロックに対してはレジデュアルコーディングが不要であるので、ＨＥＶＣの場合、当該ブロックのレジデュアルコーディングの適用可否を示すフラグ（ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇ）が０にコーディングされる。２つの４×４ブロックの変換係数の位置に対する組み合わせ方式は多様である。例えば、任意の順序に従って位置が組み合わせられるが、以下のような方法も適用されることがある。
【０１７５】
１）２つの４×４ブロックの変換係数をスキャン順に交互に組み合わせる。すなわち、図８Ａ、図８Ｂ、図８Ｃにおいて上位ブロック（ｕｐｐｅｒ  ｂｌｏｃｋ）に対する変換係数を
2021510253.tif 000005
とし、下位ブロック（ｌｏｗｅｒ  ｂｌｏｃｋ）の変換係数を
2021510253.tif 000006
とするとき、
2021510253.tif 000007
のように１つずつ交互に組み合わせることができる。また、
2021510253.tif 000008
と
2021510253.tif 000009
の順序を変えることができる
2021510253.tif 000010
。
【０１７６】
２）１番目の４×４ブロックに対する変換係数を先に配置し、その後、２番目の４×４ブロックに対する変換係数を配置することができる。すなわち、
2021510253.tif 000011
のように連結して配置することができる。当然、
2021510253.tif 000012
のように順序を変えることもできる。
【０１７７】
実施形態３：４×４ＲＳＴに対するＮＳＳＴ（ｎｏｎ−ｓｅｐａｒａｂｌｅ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ）インデックスをコーディングする方法
【０１７８】
図１７のように４×４ＲＳＴが適用されると、各４×４ブロックに対する変換係数スキャン順序に従って、Ｌ＋１番目の位置から１６番目の位置までは０の値が充填される。従って、２つの４×４ブロックのうち１つでもＬ＋１番目の位置から１６番目の位置のうち０でない値が存在すると、４×４ＲＳＴが適用されない場合であることが導出される。４×４ＲＳＴがＪＥＭ（ｊｏｉｎｔ  ｅｘｐｅｒｉｍｅｎｔ  ｍｏｄｅｌ）ＮＳＳＴのように用意された変換集合（ｔｒａｎｓｆｏｒｍ  ｓｅｔ）のうち選択された変換を適用する構造を有すると、どのような変換を適用するかに対するインデックス（以下、ＮＳＳＴインデックスと呼ばれる）がシグナリングされる。
【０１７９】
あるデコーダにおいてＮＳＳＴインデックスがビットストリームパーシング（ｂｉｔｓｔｒｅａｍ  ｐａｒｓｉｎｇ）により分かり、ビットストリームパーシングがレジデュアルコーディング後に行われることができる。この場合、レジデュアルデコーディングによりＬ＋１番目の位置から１６番目の位置の間に０でない変換係数が存在すると、当該デコーダは４×４ＲＳＴが適用されないことが確実であるので、ＮＳＳＴインデックスをパーシングしない。従って、必要な場合にのみＮＳＳＴインデックスを選択的にパーシングすることにより、シグナリングコストが減少する。
【０１８０】
図１７のように特定領域内の複数の４×４ブロックに対して４×４ＲＳＴが適用されると（このとき、全て同一の４×４ＲＳＴが適用されてもよく、それぞれ異なる４×４ＲＳＴが適用されてもよい）、１つのＮＳＳＴインデックスにより全ての４×４ブロックに適用される（同一のもしくは異なる）４×４ＲＳＴが指定される。１つのＮＳＳＴインデックスにより全ての４×４ブロックに対する４×４ＲＳＴ及び４×４ＲＳＴの適用可否が決定されるので、全ての４×４ブロックに対してＬ＋１番目から１６番目までの位置において０でない変換係数が存在するか否かをレジデュアルデコード過程中に調査した結果、４×４ブロックにおいて許容されない位置に（Ｌ＋１番目の位置から１６番目の位置）０でない変換係数が存在すると、エンコード装置１００はＮＳＳＴインデックスをコーディングしないように設定されることができる。
【０１８１】
エンコード装置１００は、輝度（ｌｕｍｉｎａｎｃｅ）ブロックと色差（ｃｈｒｏｍｉｎａｎｃｅ）ブロックに対してそれぞれのＮＳＳＴインデックスを別途にシグナリングすることもでき、色差ブロックの場合、Ｃｂ成分とＣｒ成分に対してそれぞれ別途のＮＳＳＴインデックスをシグナリングすることもでき、１つの共通するＮＳＳＴインデックスを使用することもできる。１つのＮＳＳＴインデックスが使用される場合、ＮＳＳＴインデックスのシグナリングも１回だけ行われる。Ｃｂ成分とＣｒ成分に対して１つのＮＳＳＴインデックスが共有される場合、同一のＮＳＳＴインデックスが指示する４×４ＲＳＴが適用され、この場合、Ｃｂ成分とＣｒ成分に対する４×４ＲＳＴ自体が同一であってもよく、ＮＳＳＴインデックスは同じであるがＣｂ成分とＣｒ成分に対して個別の４×４ＲＳＴが設定されてもよい。Ｃｂ成分とＣｒ成分に対して共有されるＮＳＳＴインデックスが使用される場合、前述した条件的シグナリングのためにＣｂ成分とＣｒ成分に対する全ての４×４ブロックに対してＬ＋１番目の位置から１６番目の位置まで０でない変換係数が存在するか否かをチェックし、Ｌ＋１番目の位置から１６番目の位置において０でない変換係数が発見されると、ＮＳＳＴインデックスに対するシグナリングが省略されてもよい。
【０１８２】
図１８のように、２つの４×４ブロックに対する変換係数が１つの４×４ブロックに併合される場合にも、エンコード装置１００は、４×４ＲＳＴが適用されたとき、有効な変換係数が存在しない位置に０でない変換係数が登場するか否かをチェックした後、ＮＳＳＴインデックスに対するシグナリング可否を決定することができる。特に、図１８のようにＬ値が８であるので、４×４ＲＳＴ適用時に１つの４×４ブロックに有効な変換係数が存在しない場合（図１８の（ｂ）においてＸと表示されたブロック）、当該ブロックのレジデュアルコーディング可否に対するフラッグ（ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇ）をチェックし、１であると、ＮＳＳＴインデックスがシグナリングされないように設定されることができる。前述したように、以下の説明では、非分離変換の例としてＮＳＳＴを中心に説明するが、非分離変換に対して他の知られている用語（例えば、ＬＦＮＳＴ）が使用されてもよい。例えば、ＮＳＳＴ集合（ＮＳＳＴ  Ｓｅｔ）、ＮＳＳＴインデックスは、ＬＦＮＳＴ集合、ＬＦＮＳＴインデックスに代替されて使用されてもよい。また、本文書において説明されるＲＳＴは、変換ブロックの少なくとも一部の領域（左上側４×４、８×８領域又は８×８ブロックにおいて右下側４×４領域を除いた残りの領域）に適用される正方形非分離変換行列において、縮小された入力長及び／又は縮小された出力長を有する非定方形の変換行列を使用する非分離変換（例えば、ＬＦＮＳＴ）の例として、ＲＳＴもＬＦＮＳＴに代替されて使用されることができる。
【０１８３】
実施形態４：４×４インデックスに対するコーディングをレジデュアルコーディング以前に行う場合に対する最適化方法
【０１８４】
ＮＳＳＴインデックスに対するコーディングがレジデュアルコーディング以前に行われる場合、４×４ＲＳＴの適用可否が予め決定されるので、変換係数が０で充填される位置に対するレジデュアルコーディングが省略されてもよい。ここで、４×４ＲＳＴの適用可否は、ＮＳＳＴインデックス値により決定されるように（例えば、ＮＳＳＴインデックスが０であると、４×４ＲＳＴ適用しないように）構成することもでき、または、別途のシンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）（例えば、ＮＳＳＴフラグ）により４×４ＲＳＴの適用可否がシグナリングされることもできる。例えば、別途のシンタックス要素がＮＳＳＴフラグであるとすると、デコード装置２００は、ＮＳＳＴフラグを先にパーシングすることにより、４×４ＲＳＴ適用可否を決定した後、もし、ＮＳＳＴフラグ値が１であると、前述したように有効な変換係数が存在できない位置に対して、レジデュアルコーディング（デコーディング）を省略することができる。
【０１８５】
ＨＥＶＣの場合、レジデュアルコーディングの実行時、１番目にＴＵでの最後の０でない係数（ｌａｓｔ  ｎｏｎ−ｚｅｒｏ  ｃｏｅｆｆｉｃｉｅｎｔ）の位置においてコーディングが行われる。もし、ＮＳＳＴインデックスに対するコーディングは最後の０でない係数の位置に対するコーディング以後に行われ、最後の０でない係数の位置が４×４ＲＳＴの適用を仮定したとき、０でない係数が存在できない位置であれば、デコード装置２００はＮＳＳＴインデックスをコーディングせずに４×４ＲＳＴを適用しないように設定することができる。例えば、図１７においてＸと表示された位置の場合、４×４ＲＳＴが適用されたとき、有効な変換係数が位置しないので（０の値が充填されることができる）、Ｘと表示された領域に最後の０でない係数が位置すると、デコード装置２００はＮＳＳＴインデックスに対するコーディングを省略することができる。もし、Ｘと表示された領域に最後の０でない係数が位置しない場合、デコード装置２００はＮＳＳＴインデックスに対するコーディングを行うことができる。
【０１８６】
０でない係数の位置に対するコーディング以後に条件的にＮＳＳＴインデックスをコーディングすることにより、４×４ＲＳＴの適用可否が分かった場合、以下、残りのレジデュアルコーディングが行われる部分は以下のような２つの方式で処理されることができる。
【０１８７】
１）４×４ＲＳＴが適用しない場合、一般的なレジデュアルコーディングが行われる。すなわち、最後の０でない係数の位置からＤＣまでいずれの位置にも０でない変換係数が存在し得るという仮定下でコーディングが行われる。
【０１８８】
２）４×４ＲＳＴが適用される場合、特定の位置又は特定４×４ブロック（例えば、図１７のＸ位置）に対して当該変換係数が存在しないので（デフォルトとして０で充填される）、当該位置又はブロックに対してはレジデュアルコーディングが省略されてもよい。例えば、図１７においてスキャンの順序に従ってスキャンしながらＸと表示された位置に到達する場合、ＨＥＶＣ標準において当該位置に０でない係数が存在するか否かに関するフラグ（ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ）に対するコーディングは省略されることができ、図１８のように２つのブロックの変換係数が１つのブロックに併合される場合、０で充填された４×４ブロックのレジデュアルコーディングの可否を示すフラグ（例えば、ＨＥＶＣ標準のｃｏｄｅ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇ）に対するコーディングが省略され、該当値は０に誘導することができ、該当４×４ブロックに対しては別途のコーディングなしに全て０値で充填されることができる。
【０１８９】
最後の０でない係数の位置に対するコーディング以後にＮＳＳＴインデックスをコーディングする場合、最後の０でない係数のｘ位置（Ｐｘ）とｙ位置（Ｐｙ）がそれぞれＴｘ、Ｔｙより小さい場合、ＮＳＳＴインデックスのコーディングが省略され、４×４ＲＳＴが適用されないように設定されることができる。例えば、Ｔｘ＝１、Ｔｙ＝１であり、最後の０でない係数がＤＣの位置に存在する場合、ＮＳＳＴインデックスコーディングは省略される。このような臨界値との比較のためにＮＳＳＴインデックスコーディング可否を決定する方式は、輝度成分と色差成分にそれぞれ異なるように適用されることができるが、例えば、輝度成分と色差成分に対してそれぞれ異なるＴｘ、Ｔｙが適用されることもあり、輝度成分には臨界値が適用され、色差成分には臨界値が適用されないこともある。逆に、色差成分には臨界値が適用され、輝度成分には臨界値が適用されないこともあり得る。
【０１９０】
前述した２つの方法が（最後の０でない係数が有効な変換係数が存在しない領域に位置する場合、ＮＳＳＴインデックスコーディング省略、最後の０でない係数に対するＸ座標とＹ座標がそれぞれ臨界値より小さいとき、ＮＳＳＴインデックスコーディング省略）同時に適用されることもある。例えば、最後の０でない係数の位置座標に対する臨界値の確認を先に行った後、最後の０でない係数が有効な変換係数が存在しない領域に位置するか否かをチェックすることができ、２つの方法の順序は変更されることができる。
【０１９１】
実施形態４）において提示された方法は、８×８ＲＳＴに対しても適用されることができる。すなわち、最後の０でない係数が左上側８×８領域内で左上側４×４でない領域に位置することになると、ＮＳＳＴインデックスに対するコーディングは省略されることができ、そうでないと、ＮＳＳＴインデックスに対するコーディングが行われることができる。また、最後の０でない係数の位置に対するＸ、Ｙ座標の値が全てある臨界値未満であると、ＮＳＳＴインデックスに対するコーディングは省略できる。２つの方法は同時に適用されることもできる。
【０１９２】
実施形態５：ＲＳＴ適用時、輝度成分と色差成分に対してそれぞれ異なるＮＳＳＴインデックスコーディング及びレジデュアルコーディング方式を適用
【０１９３】
実施形態３と実施形態４において説明された方式が輝度成分と色差成分に対してそれぞれ異なるように適用されることができる。すなわち、ＮＳＳＴインデックスコーディング及びレジデュアルコーディング方式が輝度成分と色差成分に対して異なるように適用されることができる。例えば、輝度成分に対して実施形態４において説明された方式が適用され、色差成分に対して実施形態３において説明された方式が適用されることができる。また、輝度成分に対して実施形態３又は実施形態４において提案される条件的ＮＳＳＴインデックスコーディングが適用され、輝度成分に対して条件的ＮＳＳＴインデックスコーディングが適用されないこともあり、逆（色差成分には条件的ＮＳＳＴインデックスコーディング適用、輝度成分には未適用）も可能である。
【０１９４】
実施形態６
【０１９５】
本発明の一実施形態には、ＮＳＳＴを適用する過程で様々なＮＳＳＴ条件を適用するための混合されたＮＳＳＴ変換集合（ｍｉｘｅｄ  ＮＳＳＴ  ｔｒａｎｓｆｏｒｍ  ｓｅｔ：ＭＮＴＳ）と該当ＭＮＴＳの構成方法を提供する。
【０１９６】
ＪＥＭによると、予め選択された下位ブロックのサイズによって４×４ＮＳＳＴ集合は、４×４カーネル（ｋｅｒｎｅｌ）のみを含み、８×８ＮＳＳＴ集合は８×８カーネルのみを含む。本発明の実施形態は、以下のように混合されたＮＳＳＴ集合の構成方法を追加的に提案する。
【０１９７】
−ＮＳＳＴ集合において利用可能なＮＳＳＴカーネルのサイズが固定されず、１つ以上の可変的なサイズを有するＮＳＳＴカーネルがＮＳＳＴ集合に含まれることができる（例えば、１つのＮＳＳＴ集合に４×４ＮＳＳＴカーネルと８×８ＮＳＳＴカーネルの両方ともが含まれる）。
【０１９８】
−ＮＳＳＴ集合内に利用可能なＮＳＳＴカーネルの数が固定されずに可変的であり得る（例えば、第１集合は３つのカーネル、第２集合は４つのカーネルを含む）。
【０１９９】
−ＮＳＳＴカーネルの順序が固定されずにＮＳＳＴ集合によって順序が異なるように定義されることがある（例えば、第１集合においてＮＳＳＴカーネル１、２、３がＮＳＳＴインデックス１、２、３にそれぞれマッピングされるが、第２集合においてＮＳＳＴカーネル３、２、１がＮＳＳＴインデックス１、２、３にそれぞれマッピングされる）。
【０２００】
より詳細に、混合されたＮＳＳＴ変換集合構成方法の例は以下のようである。
【０２０１】
−ＮＳＳＴ変換集合において使用可能なＮＳＳＴカーネルの優先順位は、ＮＳＳＴカーネルのサイズ（例えば、４×４ＮＳＳＴ及び８×８ＮＳＳＴ）によって決定されることができる。
【０２０２】
例えば、ブロックが大きい場合、８×８ＮＳＳＴカーネルが４×４ＮＳＳＴカーネルより重要であり得るので、８×８ＮＳＳＴカーネルに低い値を有するＮＳＳＴインデックスを割り当てる。
【０２０３】
−ＮＳＳＴ変換集合において使用可能なＮＳＳＴカーネルの優先順位はＮＳＳＴカーネルの順序によって決定されることができる。
【０２０４】
例えば、与えられた４×４ＮＳＳＴ第１カーネルが４×４ＮＳＳＴ第２カーネルより優先することがある。
【０２０５】
ＮＳＳＴインデックスが符号化して送信されるので、よく発生するＮＳＳＴカーネルにさらに高い優先権（より小さいインデックス）を割り当てることにより、さらに少ないビット数でＮＳＳＴインデックスをシグナリングすることができる。
【０２０６】
以下の表１と表２は、本実施形態において提案する混合されたＮＳＳＴ集合の例を示す。
【０２０７】
【表１】
2021510253.tif 000013
【０２０８】
【表２】
2021510253.tif 000014
【０２０９】
実施形態７
【０２１０】
本発明の一実施形態には、二次変換集合を決定する過程において、イントラ予測モードとブロックのサイズを考慮してＮＳＳＴ集合を決定する方法を提案する。
【０２１１】
本実施形態において提案される方法は、実施形態６と連係してイントラ予測モードに適合した変換集合を構成して様々なサイズのカーネルを構成してブロックに適用できるようにする。
【０２１２】
図１９は、本発明が適用される実施形態であって、イントラ予測モード別に混合されたＮＳＳＴ集合の構成方法の例を示す。
【０２１３】
図１９は、実施形態２において提案する方法を実施形態６と連係して適用する方法によるテーブルの例である。すなわち、図１９に示すように、各イントラ予測モード毎に既存のＮＳＳＴ集合構成方法に従うか、それとも他の方法のＮＳＳＴ集合構成方法に従うかを示すインデックス（「Ｍｉｘｅｄ  Ｔｙｐｅ」）が定義される。
【０２１４】
より具体的に、図１９においてインデックス（「Ｍｉｘｅｄ  Ｔｙｐｅ」）が「１」と定義されたイントラ予測モードの場合、ＪＥＭのＮＳＳＴ集合構成方法によらず、システムにおいて定義されたＮＳＳＴ集合構成方法を使用してＮＳＳＴ集合が構成される。ここで、システムにおいて定義されたＮＳＳＴ集合構成方法は、実施形態６において提案された混合されたＮＳＳＴ集合を意味する。
【０２１５】
また他の実施形態として、図１９のテーブルはイントラ予測モードに関連した混合されたタイプ（ｍｉｘｅｄ  ｔｙｐｅ）情報（フラグ）に基づいた２種類の変換集合構成方法（ＪＥＭベースのＮＳＳＴ集合構成、本発明の実施形態で提案する混合されたタイプＮＳＳＴ集合構成方法）が説明されるが、混合されたタイプＮＳＳＴ構成方法は１つ以上であり、ここで、混合されたタイプ情報がＮ（Ｎ＞２）種類の様々な値と表現されることができる。
【０２１６】
また他の実施形態として、イントラ予測モードと変換ブロックのサイズをともに考慮して現在ブロックに適した変換集合を混合されたタイプで構成するか否かを決定することができる。例えば、イントラ予測モードに該当するモードタイプが０であると、ＪＥＭのＮＳＳＴ集合設定に従い、そうでないと、（Ｍｏｄｅ  Ｔｙｐｅ＝１）変換ブロックのサイズによって様々な混合されたタイプのＮＳＳＴ集合が決定できる。
【０２１７】
図２０は、本発明が適用される実施形態であって、イントラ予測モードと変換ブロックのサイズを考慮してＮＳＳＴ集合（又は、カーネル）を選択する方法の例を示す。
【０２１８】
デコード装置２００は、変換集合が決定されると、ＮＳＳＴインデックス情報を利用して使用されたＮＳＳＴカーネルを決定できる。
【０２１９】
実施形態８
【０２２０】
本発明の一実施形態には、二次変換を適用する過程でイントラ予測モードとブロックのサイズを考慮して変換集合を構成する場合、エンコード後に送信されるＮＳＳＴインデックス値の統計的分布の変化を考慮することによりＮＳＳＴインデックスを効率的にエンコードするための方法を提供する。本発明の実施形態は、カーネルサイズを示すシンタックスを使用して適用されるカーネルの選択方法を提供する。
【０２２１】
また、本発明の実施形態は、変換集合ごとに使用可能なＮＳＳＴカーネルの数が異なるので、効率的な二進化の方法のために当該集合別に使用可能な最大ＮＳＳＴインデックス値に応じて以下の表３のようにトランケーテッド・ユーナリー（ｔｒｕｎｃａｔｅｄ  ｕｎａｒｙ）二進化の方法を提供する。
【０２２２】
【表３】
2021510253.tif 000015
【０２２３】
表３は、ＮＳＳＴインデックス値の二進化方法を示し、各変換集合ごとに利用可能なＮＳＳＴカーネルの数が異なるため、ＮＳＳＴインデックスは最大ＮＳＳＴインデックス値によって二進化されることができる。
【０２２４】
実施形態９：縮小された変換（Ｒｅｄｕｃｅｄ  Ｔｒａｎｓｆｏｒｍ）
【０２２５】
変換における複雑度イシュー（ｃｏｍｐｌｅｘｉｔｙ  ｉｓｓｕｅｓ）により（例えば、大きなブロック変換又は非分離変換）、コア変換（例えば、ＤＣＴ、ＤＳＴなど）及び二次変換（例えば、ＮＳＳＴ）に適用できる縮小された変換を提供する。
【０２２６】
縮小された変換の主要なアイデアは、Ｎ次元ベクトルを他の空間からＲ次元ベクトルにマッピングすることであり、ここで、Ｒ／Ｎ（Ｒ＜Ｎ）が縮小因子（ｒｅｄｕｃｔｉｏｎ  ｆａｃｔｏｒ）である。縮小された変換は、下記の数式３のようなＲ×Ｎ行列である。
【０２２７】
【数３】
2021510253.tif 000016
【０２２８】
数式１において変換のＲ個の行は新規Ｎ次元空間のＲ個のベースである。従って、縮小された変換と呼ばれる理由は、変換により出力されるベクトルのエレメントの個数が入力されるベクトルのエレメントの個数より小さいためである（Ｒ＜Ｎ）。縮小された変換に対する逆方向変換行列（ｉｎｖｅｒｓｅ  ｔｒａｎｓｆｏｒｍ  ｍａｔｒｉｘ）は順方向変換の転置である。順方向及び逆方向縮小された変換について図１３Ａ及び図１３Ｂを参照して説明する。
【０２２９】
図２１Ａ及び図２１Ｂは、本発明が適用される実施形態であって、順方向及び逆方向縮小された変換を示す。
【０２３０】
縮小された変換のエレメントの数は、完全な行列（Ｎ×Ｎ）のサイズよりＲ／Ｎの分だけ小さいＲｘＮ個であり、これは要求されるメモリが完全な行列のＲ／Ｎであることを意味する。
【０２３１】
また、要求される乗算の個数も元のＮ×ＮよりＲ／Ｎの分だけ少ないＲ×Ｎである。
【０２３２】
もし、ＸがＮレベルのベクトルであると、縮小された変換を適用した後にＲ個の係数が取得されるが、これは元のＮ個の係数の代わりにＲ個の値のみを伝達すればよいことを意味する。
【０２３３】
図２２は、本発明の実施形態による縮小された変換を使用したデコードフローチャートの例を示す。
【０２３４】
提案された縮小された変換（デコーダで逆変換）は、図２１に示されたように、係数（逆量子化された係数）に適用できる。予め決定された縮小因子（Ｒ、又はＲ／Ｎ）と変換を行うための変換カーネルが要求されることがある。ここで、変換カーネルは、ブロックサイズ（幅、高さ）、イントラ予測モード、Ｃｉｄｘのように使用可能な情報に基づいて決定できる。現在コーディングブロックがルーマブロックであると、ＣＩｄｘは０である。そうでないと（Ｃｂ又はＣｒブロック）、ＣＩｄｘは１などのように、０でない値となる。
【０２３５】
以下、本文書で使用される演算子は、以下の表４及び表５に示すように定義される
【０２３６】
【表４】
2021510253.tif 000017
【０２３７】
【表５】
2021510253.tif 000018
【０２３８】
図２３は、本発明の実施形態による条件的縮小された変換の適用のためのフローチャートの例を示す。図２３の動作は、デコード装置２００の逆量子化部１４０及び逆変換部１５０により行われる。
【０２３９】
一実施形態において、縮小された変換は特定条件を満足すると使用できる。例えば、縮小された変換は、以下のように一定サイズより大きいブロックに対して適用できる。
【０２４０】
− Width > TH && Height > HT（ここで、ＴＨは事前に定義された値（例えば、４））
【０２４１】
または
【０２４２】
− Width * Height > K && MIN(width, height) > TH（Ｋ及びＴＨは予め定義された値）
【０２４３】
すなわち、前記条件のように現在ブロックの幅（ｗｉｄｔｈ）が事前に定義された値（ＴＨ）より大きく、現在ブロックの高さ（ｈｅｉｇｈｔ）が事前に定義された値（ＴＨ）より大きい場合に縮小された変換が適用できる。または、現在ブロックの幅と高さの積が事前に定義された値（Ｋ）より大きく、現在ブロックの幅と高さのうち小さい値が事前に定義された値（ＴＨ）より大きい場合、縮小された変換が適用できる。
【０２４４】
縮小された変換は、下記のように事前に決定されたブロックがグループに対して適用できる。
【０２４５】
− Width == TH && Height == TH
【０２４６】
または
【０２４７】
− Width == Height
【０２４８】
すなわち、現在ブロックの幅と高さがそれぞれ事前に決定された値（ＴＨ）と同一であるか、現在ブロックの幅と高さが同一である場合（現在ブロックが正方形ブロックである場合）、縮小された変換が適用できる。
【０２４９】
縮小された変換の使用のための条件を満足しないと、通常の（ｒｅｇｕｌａｒ）変換が適用される。通常の変換は、ビデオコーディングシステムにおいて予め定義されて使用可能な変換であり得る。通常の変換の例示は下記の通りである。
【０２５０】
−ＤＣＴ−２、ＤＣＴ−４、ＤＣＴ−５、ＤＣＴ−７、ＤＣＴ−８
【０２５１】
または
【０２５２】
−ＤＳＴ−１、ＤＳＴ−４、ＤＳＴ−７
【０２５３】
または
【０２５４】
−非分離変換
【０２５５】
または
【０２５６】
−ＪＥＭ−ＮＳＳＴ（ＨｙＧＴ）
【０２５７】
図２３に示すように、縮小された変換条件はどの変換（例えば、ＤＣＴ−４、ＤＳＴ−１）が使用されるか又はどのカーネルが適用されるか（複数のカーネルが利用可能であるとき）を示すインデックス（Ｔｒａｎｓｆｏｒｍ＿ｉｄｘ）に依存する。特に、Ｔｒａｎｓｆｏｒｍ＿ｉｄｘは２回送信できる。１つは水平変換を示すインデックスであり（Ｔｒａｎｓｆｏｒｍ＿ｉｄｘ＿ｈ）、他の１つは垂直変換を示すインデックスである（Ｔｒａｎｓｆｏｒｍ＿ｉｄｘ＿ｖ）。
【０２５８】
より具体的に、図２３を参照すると、デコード装置２００は、入力されたビットストリームに対する逆量子化を行う（Ｓ２３０５）。その後、デコード装置２００は変換を適用するか否かを決定する（Ｓ２３１０）。デコード装置２００は、変換をスキップするか否かを示すフラグにより変換を適用するか否かを決定する。
【０２５９】
変換が適用される場合、デコード装置２００は、適用される変換を示す変換インデックス（Ｔｒａｎｓｆｏｒｍ＿ｉｄｘ）をパーシングする（Ｓ２３１５）。また、デコード装置２００は変換カーネルを選択する（Ｓ２３３０）。例えば、デコード装置２００は、変換インデックス（Ｔｒａｎｓｆｏｒｍ＿ｉｄｘ）に対応する変換カーネルを選択する。また、デコード装置２００は、ブロックサイズ（幅、高さ）、イントラ予測モード、ＣＩｄｘ（ルーマ、クロマ）を考慮して変換カーネルを選択する。
【０２６０】
デコード装置２００は、縮小された変換の適用のための条件を満足するか否かを決定する（Ｓ２３２０）。縮小された変換の適用のための条件は、前述したような条件を含む。縮小された変換が適用されない場合、デコード装置２００は通常の逆変換を適用する（Ｓ２３２５）。例えば、デコード装置２００は、Ｓ２３３０ステップで選択された変換カーネルから逆変換行列を決定し、決定された逆変換行列を変換係数を含む現在ブロックに適用する。
【０２６１】
縮小された変換が適用される場合、デコード装置２００は縮小された逆変換を適用する（Ｓ２３３５）。例えば、デコード装置２００は、Ｓ２３３０ステップで選択された変換カーネルから縮小因子を考慮して縮小された逆変換行列を決定し、縮小された逆変換行列を変換係数を含む現在ブロックに適用する。
【０２６２】
図２４は、本発明の実施形態による条件的縮小された変換が適用される二次逆変換のためのデコードフローチャートの例を示す。図２４の動作はデコード装置２００の逆変換部２３０により行われる。
【０２６３】
一実施形態において、縮小された変換は、図２４のように二次変換に適用できる。ＮＳＳＴインデックスがパーシングされると、縮小された逆変換が適用できる。
【０２６４】
図２４を参照すると、デコード装置２００は逆量子化を行う（Ｓ２４０５）。逆量子化により生成された変換係数に対して、デコード装置２００はＮＳＳＴを適用するか否かを決定する（Ｓ２４１０）。すなわち、デコード装置２００は、ＮＳＳＴを適用するか否かによってＮＳＳＴインデックス（ＮＳＳＴ＿ｉｄｘ）のパーシングが必要であるか否かを決定する。
【０２６５】
ＮＳＳＴが適用される場合、デコード装置２００はＮＳＳＴインデックスをパーシングし（Ｓ２４１５）、ＮＳＳＴインデックスが０より大きいか否かを決定する（Ｓ２４２０）。ＮＳＳＴインデックスはエントロピーデコード部２１０によりＣＡＢＡＣのような技法により復元される。ＮＳＳＴインデックスが０である場合、デコード装置２００は、二次逆変換を省略し、コア逆変換又は一次逆変換を適用する（Ｓ２４４５）。
【０２６６】
また、ＮＳＳＴが適用される場合、デコード装置２００は二次逆変換のための変換カーネルを選択する（Ｓ２４３５）。例えば、デコード装置２００は、ＮＳＳＴインデックス（ＮＳＳＴ＿ｉｄｘ）に対応する変換カーネルを選択する。また、デコード装置２００は、ブロックサイズ（幅、高さ）、イントラ予測モード、ＣＩｄｘ（ルーマ、クロマ）を考慮して変換カーネルを選択する。
【０２６７】
ＮＳＳＴインデックスが０より大きい場合、デコード装置２００は、縮小された変換の適用のための条件が満足されるか否かを決定する（Ｓ２４２５）。縮小された変換の適用のための条件は、前述したような条件を含む。縮小された変換が適用されない場合、デコード装置２００は、通常の二次逆変換を適用する（Ｓ２４３０）。例えば、デコード装置２００は、Ｓ２４３５ステップで選択された変換カーネルから二次逆変換行列を決定し、決定された二次逆変換行列を変換係数を含む現在ブロックに適用する。
【０２６８】
縮小された変換が適用される場合、デコード装置２００は縮小された二次逆変換を適用する（Ｓ２４４０）。例えば、デコード装置２００は、Ｓ２３３５ステップで選択された変換カーネルから縮小因子を考慮して縮小された逆変換行列を決定し、縮小された逆変換行列を変換係数を含む現在ブロックに適用することができる。以後、デコード装置２００はコア逆変換又は一次逆変換を適用する（Ｓ２４４５）。
【０２６９】
実施形態１０：異なるブロックサイズに対する二次変換としての縮小された変換（Ｒｅｄｕｃｅｄ  Ｔｒａｎｓｆｏｒｍ  ａｓ  ａ  Ｓｅｃｏｎｄａｒｙ  Ｔｒａｎｓｆｏｒｍ  ｗｉｔｈ  Ｄｉｆｆｅｒｅｎｔ  Ｂｌｏｃｋ  Ｓｉｚｅ）
【０２７０】
図２５Ａ、図２５Ｂ、図２６Ａ、及び図２６Ｂは、本発明の実施形態による縮小された変換及び縮小された逆変換の例を示す。
【０２７１】
本発明の一実施形態において、４×４、８×８、１６×１６などの異なるブロックサイズに対するビデオコーデックにおいて縮小された変換が二次変換及び二次逆変換として使用できる。８×８ブロックサイズ及び縮小因子Ｒ＝１６に対する例として、２次変換及び２次逆変換が図２５Ａ及び図２５Ｂのように設定されることができる。
【０２７２】
縮小された変換及び縮小された逆変換の疑似コード（ｐｓｅｕｄｏｃｏｄｅ）は、図２６のように設定される。
【０２７３】
実施形態１１：非正方形の二次変換として縮小された変換（Ｒｅｄｕｃｅｄ  Ｔｒａｎｓｆｏｒｍ  ａｓ  ａ  Ｓｅｃｏｎｄａｒｙ  Ｔｒａｎｓｆｏｒｍ  ｗｉｔｈ  Ｎｏｎ−Ｒｅｃｔａｎｇｕｌａｒ  Ｓｈａｐｅ）
【０２７４】
図２７は、本発明の実施形態による縮小された二次変換が適用される領域の例を示す。
【０２７５】
前述したように、二次変換における複雑度イシューにより、二次変換は４×４及び８×８コーナーに適用されることができる。縮小された変換は非定方形にも適用できる。
【０２７６】
前述したように、二次変換における複雑度イシューにより、二次変換は４×４及び８×８コーナーに適用されることができる。縮小された変換は非定方形にも適用できる。
【０２７７】
また他の例において、８×８ブロックに対してＲＳＴが適用される場合、右下側（ｂｏｔｔｏｍ−ｒｉｇｈｔ）の４×４ブロックを除いた残りの左上側（ｔｏｐ−ｌｅｆｔ）、右上側（ｔｏｐ−ｒｉｇｈｔ）、右下側（ｂｏｔｔｏｍ−ｌｅｆｔ）の３つの４×４ブロック（計４８個の変換係数）に対してのみ非分離変換（ＲＳＴ）が適用されることができる。
【０２７８】
実施形態１２：縮小因子（Ｒｅｄｕｃｔｉｏｎ  Ｆａｃｔｏｒ）
【０２７９】
図２８は、本発明の実施形態による縮小因子による縮小された変換を示す。
【０２８０】
縮小因子の変更はメモリと乗算複雑度を変更させることができる。前述したように、縮小因子変更により因子（ｆａｃｔｏｒ）Ｒ／Ｎの分だけのメモリと乗算複雑度が減少する。例えば、８×８ＮＳＳＴに対して、Ｒ＝１６である場合、メモリと乗算複雑度は１／４の分だけ減少する。
【０２８１】
実施形態１３：上位レベルシンタックス（Ｈｉｇｈ  Ｌｅｖｅｌ  Ｓｙｎｔａｘ）
【０２８２】
以下の表６のようなシンタックスエレメントがビデオコーディングにおいてＲＳＴを処理するために使用されることができる。縮小された変換に関連したセマンティクス（ｓｅｍａｎｔｉｃｓ）はＳＰＳ（ｓｅｑｕｅｎｃｅ  ｐａｒａｍｅｔｅｒ  ｓｅｔ）又はスライスヘッダ（ｓｌｉｃｅ  ｈｅａｄｅｒ）に存在し得る。
【０２８３】
Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１であることは縮小された変換が可能で、適用されることを示す。Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０であることは、縮小された変換が可能でないことを示す。Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｅｎａｂｌｅｄ＿ｆｌａｇが存在しない場合、０であると推論される(Reduced_transform_enabled_flag equals to 1 specifies that reduced transform is enabled and applied. Reduced_transform_enabled_flag equal to 0 specifies that reduced transform is not enabled. When Reduced_transform_enabled_flag is not present, it is inferred to be equal to 0)。
【０２８４】
Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｆａｃｔｏｒは縮小された変換のために維持する縮小された次元の個数を示す。Ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｆａｃｔｏｒが存在しないと、Ｒと同一であると推論される(Reduced_transform_factor specifies that the number of reduced dimensions to keep for reduced transform. When Reduced_transform_factor is not present, it is inferred to be equal to R)。
【０２８５】
ｍｉｎ＿ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅは、縮小された変換を適用するための最小の変換サイズを示す。ｍｉｎ＿ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅが存在しないと、０と推論される(min_reduced_transform_size specifies that the minimum transform size to apply reduced transform. When min_reduced_transform_size is not present, it is inferred to be equal to 0)。
【０２８６】
ｍａｘ＿ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅは、縮小された変換を適用するための最大の変換サイズを示す。ｍａｘ＿ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅが存在しないと、０と推論される。
【０２８７】
ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅは、縮小された変換のために維持する縮小された次元の個数を示す。ｒｅｄｕｃｅｄ＿ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅが存在しないと、０と推論される(reduced_transform_size specifies that the number of reduced dimensions to keep for reduced transform. When Reduced_transform_factor is not present, it is inferred to be equal to 0.)
【０２８８】
【表６】
2021510253.tif 000019
【０２８９】
実施形態１４：最悪の場合のハンドリング（Ｗｏｒｓｔ  ｃａｓｅ  ｈａｎｄｌｉｎｇ）のための４×４ＲＳＴの条件的適用
【０２９０】
４×４ブロックに適用できる非分離二次変換（４×４ＮＳＳＴ）は１６×１６変換である。４×４ＮＳＳＴはＤＣＴ−２、ＤＳＴ−７、又はＤＣＴ−８などの一次変換が適用されたブロックに対して二次的に適用される。一次変換が適用されたブロックのサイズをＮ×Ｍとすると、４×４ＮＳＳＴをＮ×Ｍブロックに適用するとき、以下のような方法が考えられる。
【０２９１】
１）Ｎ×Ｍ領域に対して４×４ＮＳＳＴを適用するための条件は下記のａ）、ｂ）のようである。
【０２９２】
ａ）N >= 4
【０２９３】
ｂ）M >= 4
【０２９４】
２）Ｎ×Ｍ領域に対して全て４×４ＮＳＳＴが適用されるのではなく、一部の領域にのみ適用される。例えば、左上側のＫ×Ｊ領域に対してのみ４×４ＮＳＳＴが適用できる。この場合のための条件は、下記のａ）、ｂ）のようである。
【０２９５】
ａ）K >= 4
【０２９６】
ｂ）J >= 4
【０２９７】
３）二次変換が適用される領域を４×４ブロックに分割した後、各分割されたブロックに対して４×４ＮＳＳＴが適用されることができる。
【０２９８】
４×４ＮＳＳＴの計算複雑度はエンコーダとデコーダの非常に重要な考慮要素であるので、これについて詳細に分析する。特に、乗算数を基準に４×４ＮＳＳＴの計算的複雑度を分析する。順方向ＮＳＳＴの場合、１６×１６二次変換は１６個の行方向変換基底ベクトルで構成され、１６×１ベクトルと各変換基底ベクトルに対して内積を取ると、当該変換基底ベクトルに対する変換係数が取得される。１６個の変換基底ベクトルに対する全ての変換係数を得る過程は、１６×１６非分離変換行列と入力１６×１ベクトルを乗算することのようである。従って、４×４順方向ＮＳＳＴに要求される総乗算数は２５６である。
【０２９９】
デコーダにおいて、１６×１変換係数に対して逆方向１６×１６非分離変換を適用すると（量子化や整数化計算などの効果を無視したとき）、元の４×４一次変換ブロックの係数が復元できる。言い換えると、逆方向１６×１６非分離変換行列を１６×１変換係数ベクトルに乗算すると、１６×１ベクトル形態のデータが取得され、最初に適用していた行優先又は列優先順序に従ってデータを配列すると、４×４ブロック信号（一次変換係数）が復元できる。従って、４×４逆方向ＮＳＳＴに要求される総乗算数は２５６である。
【０３００】
前述したように４×４ＮＳＳＴが適用される場合、サンプル単位で要求される乗算個数は１６である。これは、４×４ＮＳＳＴ実行過程である１６×１ベクトルと各変換基底ベクトルの内積過程で取得される乗算の総個数２５６から全サンプルの個数１６で除したときに得られる数である。順方向４×４ＮＳＳＴと逆方向４×４ＮＳＳＴの場合に対して全て同一に要求される乗算数は１６である。
【０３０１】
もし、８×８ブロックの場合、４×４ＮＳＳＴを適用したときに要求されるサンプル当たりの乗算の個数は、４×４ＮＳＳＴを適用した領域によって以下のように決定される。
【０３０２】
１．４×４ＮＳＳＴを左上側４×４領域にのみ適用した場合：２５６（４×４ＮＳＳＴ過程で必要な乗算数）／６４（８×８ブロック内の全サンプルの数）＝４乗算数／サンプル
【０３０３】
２．４×４ＮＳＳＴを左上側４×４領域と右上側４×４領域に適用した場合：５１２（２つの４×４ＮＳＳＴ過程で必要な乗算数）／６４（８×８ブロック内の全サンプルの個数）＝８乗算数／サンプル
【０３０４】
３．４×４ＮＳＳＴを８×８ブロックの全ての４×４領域に適用した場合：１０２４（４つの４×４ＮＳＳＴ過程で必要な乗算数）／６４（８×８ブロック内の全サンプルの個数）＝１６乗算数／サンプル
【０３０５】
前述したように、ブロックのサイズが大きい場合、各サンプルが要求される最悪の場合の乗算の数を減少させるために４×４ＮＳＳＴを適用する範囲を減少させることができる。
【０３０６】
従って、４×４ＮＳＳＴを使用する場合、ＴＵのサイズが４×４である場合、最悪の場合となる。この場合、最悪の場合の複雑度（ｗｏｒｓｔ  ｃａｓｅ  ｃｏｍｐｌｅｘｉｔｙ）を減少させるための方法は以下のようである。
【０３０７】
方法１．小さいＴＵ（すなわち、４×４ＴＵ）に対して４×４ＮＳＳＴを適用しない。
【０３０８】
方法２．４×４ブロック（４×４ＴＵ）の場合、４×４ＮＳＳＴの代わりに４×４ＲＳＴを適用する。
【０３０９】
方法１の場合、４×４ＮＳＳＴを適用しないことにより符号化性能に多くの低下が発生することが実験により観察された。方法２の場合、１６×１変換係数ベクトルを構成する要素の統計的特性によって全ての変換係数を使用しなくても前側に位置する一部の変換係数に対する逆変換を適用することにより元の信号にかなり近い信号を復元することができ、大部分の符号化性能を維持できることが明らかになった。
【０３１０】
具体的に４×４ＲＳＴの場合、逆方向（又は、順方向）１６×１６非分離変換が１６個の列基底ベクトル（ｃｏｌｕｍｎ  ｂａｓｉｓ  ｖｅｃｔｏｒ）で構成されるとすると、Ｌ個の列基底ベクトルのみが残されて１６×Ｌ行列が構成される。変換係数のうちさらに重要なＬ個の変換係数のみを残すことにより１６×Ｌ行列とＬ×１ベクトルを乗算すると、元の１６×１ベクトルデータと誤差が大きくない１６×１ベクトルが復元できる。
【０３１１】
結果として、Ｌ個の係数のみがデータ復元に介入するので、変換係数を取得するために１６×１変換係数ベクトルではなく、Ｌ×１変換係数ベクトルを求めればよい。すなわち、順方向１６×１６非分離変換行列においてＬ個の行方向変換ベクトルを選択することによりＬ×１６変換行列が構成され、Ｌ×１６変換行列と１６×１入力ベクトルを乗算すると、Ｌ個の変換係数が取得される。
【０３１２】
Ｌ値は１＜＝Ｌ＜１６の範囲を有し、一般的には、１６個の変換基底ベクトルのうち任意の方法でＬ個が選択できるが、前述したように、符号化と復号化の側面から信号のエネルギー重要度の高い変換基底ベクトルを選択することが符号化効率の観点から有利であり得る。Ｌ値の変換による４×４ブロックでのサンプル当たりの最悪の場合の乗算数は下記の表７のようである。
【０３１３】
【表７】
2021510253.tif 000020
【０３１４】
前述したように、最悪の場合の乗算複雑度の減少のために下記の表８のように４×４ＮＳＳＴと４×４ＲＳＴを複合的に使用することができる（ただし、以下の例は、４×４ＮＳＳＴを適用するための条件（すなわち、現在ブロックの幅と高さが全て４より大きいか等しい場合）下で４×４ＮＳＳＴと４×４ＲＳＴを適用する条件を説明する）。
【０３１５】
前述したように、４×４ブロックに対する４×４ＮＳＳＴは、１６個のデータが入力されて１６個のデータを出力する正方形（１６ｘ１６）変換行列であり、４×４ＲＳＴはエンコーダ側を基準に１６個のデータが入力されて１６より小さいＲ個（例えば、８つ）のデータを出力する非正方形（８×１６）変換行列を意味する。デコーダ側を基準に４×４ＲＳＴは１６より小さいＲ個（例えば、８つ）のデータが入力されて１６個のデータを出力する非正方形（１６×８）変換行列を意味する。
【０３１６】
【表８】
2021510253.tif 000021
【０３１７】
表８を参照すると、現在ブロックの幅と高さがそれぞれ４である場合、現在ブロックに対して８×１６行列に基づいた４×４ＲＳＴが適用され、そうでないと（現在ブロックの幅又は高さのいずれか１つが４でない場合）、現在ブロックの左上側の４×４領域に対して４×４ＮＳＳＴが適用できる。より具体的に、現在ブロックのサイズが４×４である場合、１６の入力長と８の出力長を有する非分離変換が適用できる。逆方向非分離変換の場合、逆に８の入力長と１６の出力長を有する非分離変換が適用できる。
【０３１８】
前述したように、最悪の場合の乗算複雑度の減少のために下記の表９のように４×４ＮＳＳＴと４×４ＲＳＴを組み合わせて使用することができる（ただし、以下の例は、４×４ＮＳＳＴを適用するための条件（すなわち、現在ブロックの幅と高さが全て４より大きいか等しい場合）下で４×４ＮＳＳＴと４×４ＲＳＴを適用する条件を説明する）。
【０３１９】
【表９】
2021510253.tif 000022
【０３２０】
表９を参照すると、現在ブロックの幅と高さがそれぞれ４である場合、８×１６行列に基づいた４×４ＲＳＴが適用され、現在ブロックの幅と高さの積が臨界値（ＴＨ）より小さいと、４×４ＮＳＳＴが現在ブロックの左上側の４×４領域に適用され、現在ブロックの幅が高さより大きいか等しいと、４×４ＮＳＳＴが現在ブロックの左上側の４×４領域及び左上側の４×４領域の右側に位置する４×４領域に適用され、残りの場合（現在ブロックの高さより小さい場合）、４×４ＮＳＳＴが現在ブロックの左上側の４×４領域及び左上側の４×４領域の下に位置する４×４領域に適用される。
【０３２１】
結論として、最悪の場合の乗算の計算的複雑度の減少のために、４×４ブロックに対して４×４ＮＳＳＴの代わりに４×４ＲＳＴ（例えば、８×１６行列）が適用できる。
【０３２２】
実施形態１５：最悪の場合のハンドリング（Ｗｏｒｓｔ  ｃａｓｅ  ｈａｎｄｌｉｎｇ）のための８×８ＲＳＴの条件的適用
【０３２３】
８×８ブロックに適用できる非分離二次変換（８×８ＮＳＳＴ）は６４×６４変換である。８×８ＮＳＳＴはＤＣＴ−２、ＤＳＴ−７、又はＤＣＴ−８などの一次変換が適用されたブロックに対して二次的に適用される。一次変換が適用されたブロックのサイズをＮ×Ｍとすると、８×８ＮＳＳＴをＮ×Ｍブロックに適用するとき、以下のような方法が考慮される。
【０３２４】
１）Ｎ×Ｍ領域に対して８×８ＮＳＳＴを適用するための条件は下記のｃ）、ｄ）のようである。
【０３２５】
ｃ） N >= 8
【０３２６】
ｄ） M >= 8
【０３２７】
２）Ｎ×Ｍ領域に対して全て８×８ＮＳＳＴが適用されるのではなく、一部の領域にのみ適用されることがある。例えば、左上側のＫ×Ｊ領域に対してのみ８×８ＮＳＳＴが適用される。この場合のための条件は下記のｃ）、ｄ）のようである。
【０３２８】
ｃ） K >= 8
【０３２９】
ｄ） J >= 8
【０３３０】
３）二次変換が適用される領域を８×８ブロックに分割した後、各分割されたブロックに対して８×８ＮＳＳＴが適用できる。
【０３３１】
８×８ＮＳＳＴの計算複雑度はエンコーダとデコーダの非常に重要な考慮要素であるので、これについて詳細に分析する。特に、乗算数を基準に８×８ＮＳＳＴの計算的複雑度を分析する。順方向ＮＳＳＴの場合、６４×６４非分離二次変換は６４個の行方向変換基底ベクトルで構成され、６４×１ベクトルと各変換基底ベクトルに対して内積を取ると、当該変換基底ベクトルに対する変換係数が取得される。６４個の変換基底ベクトルに対する全ての変換係数を得る過程は６４×６４非分離変換行列と入力６４×１ベクトルを乗算することのようである。従って、８×８順方向ＮＳＳＴに要求される総乗算数は４０９６である。
【０３３２】
デコーダにおいて、６４×１変換係数に対して逆方向６４×６４非分離変換を適用すると（量子化や整数化計算などの効果を無視したとき）、元の８×８一次変換ブロックの係数が復元できる。言い換えると、逆方向６４×６４非分離変換行列を６４×１変換係数ベクトルに乗算すると、６４×１ベクトル形態のデータが取得され、最初に適用していた行優先又は列優先順序に従ってデータを配列すると、８×８ブロック信号（一次変換係数）が復元できる。従って、８×８逆方向ＮＳＳＴに要求される総乗算数は４０９６である。
【０３３３】
前述したように、８×８ＮＳＳＴが適用される場合、サンプル単位で要求される乗算個数は６４である。これは、８×８ＮＳＳＴ実行過程である６４×１ベクトルと各変換基底ベクトルの内積過程で取得される乗算の総個数４０９６から全サンプルの個数６４で除したときに得られる数である。順方向８×８ＮＳＳＴと逆方向８×８ＮＳＳＴの場合に対して全て同一に要求される乗算数は６４である。
【０３３４】
もし、１６×１６ブロックの場合、８×８ＮＳＳＴを適用したときに要求されるサンプル当たりの乗算の個数は、８×８ＮＳＳＴを適用した領域によって以下のように決定される。
【０３３５】
１．８×８ＮＳＳＴを左上側の８×８領域にのみ適用した場合：４０９６（８×８ＮＳＳＴ過程で必要な乗算数）／２５６（１６×１６ブロック内の全サンプルの数）＝１６乗算数／サンプル
【０３３６】
２．８×８ＮＳＳＴを左上側の８×８領域と右上側の８×８領域に適用した場合：８１９２（２つの８×８ＮＳＳＴ過程で必要な乗算数）／２５６（１６×１６ブロック内の全サンプルの個数）＝３２乗算数／サンプル
【０３３７】
３．８×８ＮＳＳＴを１６×１６ブロックの全ての８×８領域に適用した場合：１６３８４（４つの８×８ＮＳＳＴ過程で必要な乗算数）／２５６（１６×１６ブロック内の全サンプルの個数）＝６４乗算数／サンプル
【０３３８】
前述したように、ブロックのサイズが大きい場合、各サンプル当たり要求される最悪の場合の乗算の数を減少させるために８×８ＮＳＳＴを適用する範囲を減少させることができる。
【０３３９】
８×８ＮＳＳＴが適用される場合、８×８ブロックが８×８ＮＳＳＴが適用できる最小のＴＵであるので、サンプル当たり要求される乗算数の観点からＴＵのサイズが８×８である場合、最悪の場合に該当する。この場合、最悪の場合の複雑度（ｗｏｒｓｔ  ｃａｓｅ  ｃｏｍｐｌｅｘｉｔｙ）を減少させるための方法は以下のようである。
【０３４０】
方法１．小さいＴＵ（すなわち、８×８ＴＵ）に対して８×８ＮＳＳＴを適用しない。
【０３４１】
方法２．８×８ブロック（８×８ＴＵ）の場合、８×８ＮＳＳＴの代わりに８×８ＲＳＴを適用する。
【０３４２】
方法１の場合、８×８ＮＳＳＴを適用しないことにより符号化性能に多くの低下が発生することが実験により観察された。方法２の場合、６４×１変換係数ベクトルを構成する要素の統計的特性によって全ての変換係数を使用しなくても前側に位置する一部の変換係数に対する逆変換を適用することにより元の信号とかなり近い信号を復元でき、大部分の符号化性能を維持できることが明らかになった。
【０３４３】
具体的に８×８ＲＳＴの場合、逆方向（又は、順方向）６４×６４非分離変換が１６個の列基底ベクトル（ｃｏｌｕｍｎ  ｂａｓｉｓ  ｖｅｃｔｏｒ）で構成されるとすると、Ｌ個の列基底ベクトルのみが残されて６４×Ｌ行列が構成される。変換係数のうちさらに重要なＬ個の変換係数のみを残すことにより６４×Ｌ行列とＬ×１ベクトルを乗算すると、元の６４×１ベクトルデータと誤差が大きくない６４×１ベクトルが復元できる。
【０３４４】
また、実施形態１１において説明したように、８×８ブロックに含まれた６４個の変換係数全体に対してＲＳＴが適用されずに、一部の領域（例えば、８×８ブロックにおいて右下側の４×４領域を除いた残りの領域）にＲＳＴが適用されることができる。
【０３４５】
結果として、Ｌ個の係数のみがデータ復元に介入するので、変換係数を取得するために６４×１変換係数ベクトルではなく、Ｌ×１変換係数ベクトルを求めればよい。すなわち、順方向６４×６４非分離変換行列においてＬ個の行方向変換ベクトルを選択することによりＬ×６４変換行列が構成され、Ｌ×６４変換行列と６４×１入力ベクトルを乗算すると、Ｌ個の変換係数が取得される。
【０３４６】
Ｌ値は１＜＝Ｌ＜６４の範囲を有し、一般的には、６４個の変換基底ベクトルのうち任意の方法でＬ個が選択できるが、前述のように符号化と復号化の側面から信号のエネルギー重要度の高い変換基底ベクトルを選択することが符号化効率の観点から有利であり得る。Ｌ値の変化による８×８ブロックでのサンプル当たりの最悪の場合の乗算数は以下の表１０のようである。
【０３４７】
【表１０】
2021510253.tif 000023
【０３４８】
前述したように、最悪の場合の乗算複雑度の減少のために以下の表１１のように異なるＬ値を有する８×８ＲＳＴを複合的に使用することができる（ただし、以下の例は、８×８ＮＳＳＴを適用するための条件（すなわち、現在ブロックの幅と高さが全て８より大きいか等しい場合）下で８×８ＲＳＴを適用する条件を説明する）。
【０３４９】
【表１１】
2021510253.tif 000024
【０３５０】
表１１を参照すると、現在ブロックの幅と高さがそれぞれ８である場合、現在ブロックに対して８×６４行列に基づいた８×８ＲＳＴが適用され、そうでないと（現在ブロックの幅又は高さのいずれか１つが８でない場合）、現在ブロックに対して１６×６４行列に基づいた８×８ＲＳＴが適用できる。より具体的に、現在ブロックのサイズが８×８である場合、６４の入力長と８の出力長を有する非分離変換が適用され、そうでないと、６４の入力長と１６の出力長を有する非分離変換が適用される。逆方向非分離変換の場合、現在ブロックが８×８である場合と、８の入力長と６４の出力長を有する非分離変換が適用され、そうでないと、１６の入力長と６４の出力長を有する非分離変換が適用される。
【０３５１】
また、実施形態１１において説明されたように、ＲＳＴは８×８ブロック全体に対して適用されずに一部の領域にのみ適用できるので、例えば、８×８ブロックの右下側の４×４領域を除いた残りの領域にＲＳＴが適用される場合、８×４８又は１６×１８行列に基づいた８×８ＲＳＴが適用されることができる。すなわち、現在ブロックの幅と高さがそれぞれ８に該当する場合、８×４８行列に基づいた８×８ＲＳＴが適用され、そうでない場合（現在ブロックの幅又は高さが８でない場合）、１６×４８行列に基づいた８×８ＲＳＴが適用される。
【０３５２】
順方向非分離変換の場合、現在ブロックが８×８であると、４８の入力長と８の出力長を有する非分離変換が適用され、そうでないと、４８の入力長と１６の出力長を有する非分離変換が適用される。
【０３５３】
逆方向非分離変換の場合、現在ブロックが８×８であると、８の入力長と４８の出力長を有する非分離変換が適用され、そうでないと、１６の入力長と４８の出力長を有する非分離変換が適用される。
【０３５４】
結論として、８×８より大きいブロックに対してＲＳＴが適用される場合、エンコーダ側を基準に、ブロックの高さと幅がそれぞれ８に該当すると、６４より小さいか等しい入力長（例えば、４８又は６４）と６４より小さい出力長（例えば、８）とを有する非分離変換行列（８×４８又は８×６４行列）が適用され、ブロックの高さ又は幅が８に該当しないと、６４より小さいか等しい入力長（例えば、４８又は６４）と６４より小さい出力長（例えば、１６）とを有する非分離変換行列（１６×４８又は１６×６４行列）が適用される。
【０３５５】
また、デコーダ側を基準に８×８より大きいブロックに対してＲＳＴが適用される場合、ブロックの高さと幅がそれぞれ８に該当すると、６４より小さい入力長（例えば、８）と６４より小さいか等しい出力長（例えば、４８又は６４）を有する非分離変換行列（４８×８又は６４×８行列）が適用され、ブロックの高さ又は幅が８に該当しないと、６４より小さい入力長（例えば、１６）と６４より小さいか等しい出力長（例えば、４８又は６４）を有する非分離変換行列（４８×１６又は６４×１６行列）が適用される。
【０３５６】
表１２は、８×８ＮＳＳＴを適用するための条件（すなわち、現在ブロックの幅と高さが８より大きいか等しい場合）下で、様々な８×８ＲＳＴの適用に関する例である。
【０３５７】
【表１２】
2021510253.tif 000025
【０３５８】
表１２を参照すると、現在ブロックの幅と高さがそれぞれ８である場合、８×６４行列（又は、８×４８行列）に基づいた８×８ＲＳＴが適用され、現在ブロックの幅と高さの積が臨界値（ＴＨ）より小さい場合、１６×６４行列（又は、１６×４８行列）に基づいた８×８ＲＳＴが現在ブロックの左上側の８×８領域に適用され、残りの場合（現在ブロックの幅又は高さが８ではなく、現在ブロックの幅と高さの積が臨界値より大きいか等しい場合）、３２×６４行列（又は、３２×４８行列）に基づいた８×８ＲＳＴが現在ブロックの左上側の８×８領域に適用される。
【０３５９】
図２９は、本発明が適用される実施形態であって、変換を行うエンコードフローチャートの例を示す。
【０３６０】
エンコード装置１００は、レジデュアルブロックに対して一次変換を行う（Ｓ２９１０）。一次変換は、コア変換と称されてもよい。実施形態として、エンコード装置１００は、前述のＭＴＳを用いて一次変換を行う。また、エンコード装置１００は、ＭＴＳ候補のうち特定ＭＴＳを示すＭＴＳインデックスをデコード装置２００に送信する。ここで、ＭＴＳ候補は、現在ブロックのイントラ予測モードに基づいて構成される。
【０３６１】
エンコード装置１００は、二次変換を適用するか否かを決定する（Ｓ２９２０）。一例として、エンコード装置１００は、一次変換されたレジデュアル変換係数に基づいて二次変換を適用するか否かを決定する。例えば、二次変換はＮＳＳＴ又はＲＳＴであり得る。
【０３６２】
エンコード装置１００は二次変換を決定する（Ｓ２９３０）。このとき、エンコード装置１００は、イントラ予測モードによって指定されたＮＳＳＴ（又は、ＲＳＴ）変換集合に基づいて二次変換を決定する。
【０３６３】
また、一例として、エンコード装置１００は、Ｓ２９３０ステップに先立って現在ブロックのサイズに基づいて二次変換が適用される領域を決定する。
【０３６４】
エンコード装置１００は、Ｓ２９３０ステップで決定された二次変換を用いて二次変換を行う（Ｓ２９４０）。
【０３６５】
図３０は、本発明が適用される実施形態であって、変換を行うデコードフローチャートの例を示す。
【０３６６】
デコード装置２００は、二次逆変換を適用するか否かを決定する（Ｓ３０１０）。例えば、二次逆変換は、ＮＳＳＴ又はＲＳＴであり得る。一例として、デコード装置２００は、エンコード装置１００から受信された二次変換フラグに基づいて二次逆変換を適用するか否かを決定する。
【０３６７】
デコード装置２００は二次逆変換を決定する（Ｓ３０２０）。ここで、デコード装置２００は、前述のイントラ予測モードによって指定されたＮＳＳＴ（又は、ＲＳＴ）変換集合に基づいて現在ブロックに適用される二次逆変換を決定することができる。
【０３６８】
また、一例として、デコード装置２００は、Ｓ３０２０ステップに先立って現在ブロックのサイズに基づいて二次逆変換が適用される領域を決定する。
【０３６９】
デコード装置２００は、Ｓ３０２０ステップで決定された二次逆変換を利用して逆量子化されたレジデュアルブロックに対して二次逆変換を行う（Ｓ３０３０）。
【０３７０】
デコード装置２００は、二次逆変換されたレジデュアルブロックに対して一次逆変換を行う（Ｓ３０４０）。一次逆変換は、コア逆変換と称されてもよい。実施形態として、デコード装置２００は、前述のＭＴＳを用いて一次逆変換を行う。また、一例として、デコード装置２００は、Ｓ３０４０ステップに先立って現在ブロックにＭＴＳが適用されるか否かを決定できる。この場合、図３０のデコードフローチャートにＭＴＳが適用されるか否かを決定するステップがさらに含まれてもよい。
【０３７１】
一例として、現在ブロックにＭＴＳが適用される場合（すなわち、ｃｕ＿ｍｔｓ＿ｆｌａｇ＝１）、デコード装置２００は、現在ブロックのイントラ予測モードに基づいてＭＴＳ候補を構成する。この場合、図３０のデコードフローチャートにＭＴＳ候補を構成するステップがさらに含まれてもよい。そして、デコード装置２００は、構成されたＭＴＳ候補のうち特定ＭＴＳを示すｍｔｓ＿ｉｄｘを利用して現在ブロックに適用される一次逆変換を決定することができる。
【０３７２】
図３１は、本発明が適用される実施形態であって、エンコード装置１００内の変換部１２０の細部ブロック図の例を示す。
【０３７３】
本発明の実施形態が適用されるエンコード装置１００は、一次変換部３１１０、二次変換適用可否決定部３１２０、二次変換決定部３１３０、二次変換部３１４０を含む。
【０３７４】
一次変換部３１１０は、レジデュアルブロックに対して一次変換を行うことができる。一次変換はコア変換と称されてもよい。実施形態として、一次変換部３１１０は前述のＭＴＳを用いて一次変換を行う。また、一次変換部３１１０は、ＭＴＳ候補のうち特定ＭＴＳを示すＭＴＳインデックスをデコード装置２００に送信する。ここで、ＭＴＳ候補は現在ブロックのイントラ予測モードに基づいて構成される。
【０３７５】
二次変換適用可否決定部３１２０は、二次変換を適用するか否かを決定することができる。一例として、二次変換適用可否決定部３１２０は、一次変換されたレジデュアルブロックの変換係数に基づいて二次変換を適用するか否かを決定することができる。例えば、二次変換はＮＳＳＴ又はＲＳＴであり得る。
【０３７６】
二次変換決定部３１３０は二次変換を決定する。このとき、二次変換決定部３１３０は、前述のようにイントラ予測モードによって指定されたＮＳＳＴ（又は、ＲＳＴ）変換集合に基づいて二次変換を決定する。
【０３７７】
また、一例として、二次変換決定部３１３０は、現在ブロックのサイズに基づいて二次変換が適用される領域を決定することもできる。
【０３７８】
二次変換部３１４０は、決定された二次変換を用いて二次変換を行うことができる。
【０３７９】
図３２は、本発明が適用される実施形態であって、デコード装置２００内の逆変換部２３０の細部ブロック図の例を示す。
【０３８０】
本発明が適用されるデコード装置２００は、二次逆変換適用可否決定部３２１０、二次逆変換決定部３２２０、二次逆変換部３２３０、一次逆変換部３２４０を含む。
【０３８１】
二次逆変換適用可否決定部３２１０は、二次逆変換を適用するか否かを決定する。例えば、二次逆変換はＮＳＳＴ又はＲＳＴであり得る。一例として、二次逆変換適用可否決定部３２１０は、エンコード装置１００から受信された二次変換フラグに基づいて二次逆変換を適用するか否かを決定する。他の一例として、二次逆変換適用可否決定部３２１０は、レジデュアルブロックの変換係数に基づいて二次逆変換を適用するか否かを決定することもできる。
【０３８２】
二次逆変換決定部３２２０は二次逆変換を決定する。このとき、二次逆変換決定部３２２０は、イントラ予測モードによって指定されたＮＳＳＴ（又は、ＲＳＴ）変換集合に基づいて現在ブロックに適用される二次逆変換を決定する。
【０３８３】
また、一例として、二次逆変換決定部３２２０は、現在ブロックのサイズに基づいて二次逆変換が適用される領域を決定することができる。
【０３８４】
また、一例として、二次逆変換部３２３０は、決定された二次逆変換を用いて逆量子化されたレジデュアルブロックに対して二次逆変換を行うことができる。
【０３８５】
一次逆変換部３２４０は、二次逆変換されたレジデュアルブロックに対して一次逆変換を行う。実施形態として、一次逆変換部３２４０は、前述のＭＴＳを用いて一次変換を行う。また、一例として、一次逆変換部３２４０は現在ブロックにＭＴＳが適用されるか否かを決定することができる。
【０３８６】
一例として、現在ブロックにＭＴＳが適用される場合（すなわち、ｃｕ＿ｍｔｓ＿ｆｌａｇ＝１）、一次逆変換部３２４０は、現在ブロックのイントラ予測モードに基づいてＭＴＳ候補を構成する。そして、一次逆変換部３２４０は、構成されたＭＴＳ候補のうち特定ＭＴＳを示すｍｔｓ＿ｉｄｘを利用して現在ブロックに適用される一次変換を決定する。
【０３８７】
図３３は、本発明の実施形態による変換が適用されるデコードフローチャートの例を示す。図３３の動作は、デコード装置１００の逆変換部２３０により行われる。
【０３８８】
Ｓ３３０５ステップで、デコード装置２００は、現在ブロックの高さと幅に基づいて非分離変換の入力長及び出力長を決定する。ここで、現在ブロックの高さと幅がそれぞれ８である場合、非分離変換の入力長は８、出力長は前記入力長より大きく６４より小さいか等しい値（例えば、４８又は６４）と決定される。例えば、エンコーダ側において８×８ブロックの変換係数全体に対して非分離変換が適用された場合、出力長は６４と決定され、８×８ブロックの変換係数の一部（例えば、８×８ブロックのうち右下端の４×４領域を除いた部分）に対して非分離変換が適用された場合、出力長は４８と決定される。
【０３８９】
Ｓ３３１０ステップで、デコード装置２００は、非分離変換の入力長及び出力長に対応する非分離変換行列を決定する。例えば、非分離変換の入力長が８であり、出力長が４８又は６４である場合（現在ブロックのサイズが４×４である場合）、変換カーネルから導出された４８×８又は６４×８行列が非分離変換として決定され、非分離変換の入力長が１６であり、出力長が４８又は６４である場合（例えば、現在ブロックが８×８より小さいとともに４×４でない場合）、４８×１６又は６４×１６変換カーネルが非分離として決定されることができる。
【０３９０】
本発明の実施形態によれば、デコード装置２００は、現在ブロックのイントラ予測モードに基づいて非分離変換集合インデックス（例えば、ＮＳＳＴインデックス）を決定し、非分離変換集合インデックスに含まれた非分離変換集合内で非分離変換インデックスに対応する非分離変換カーネルを決定し、Ｓ３３０５ステップで決定された入力長及び出力長に基づいて非分離変換カーネルから非分離変換行列を決定することができる。
【０３９１】
Ｓ３３１５ステップで、デコード装置２００は、現在ブロックに決定された非分離変換行列を前記現在ブロックにおいて決定された入力長（８又は１６）の分だけの係数に適用する。例えば、非分離変換の入力長が８であり、出力長が４８又は６４である場合、変換カーネルから導出された４８×８又は６４×８行列を現在ブロックに含まれた８つの係数に適用し、非分離変換の入力長が１６であり、出力長が４８又は６４である場合、変換カーネルから導出された４８×１６又は６４×１６行列を現在ブロックの左上側の４×４領域１６個の係数に適用できる。ここで、非分離変換が適用される係数は、現在ブロックのＤＣ位置から定められたスキャン順序（例えば、図１６の（ａ）、（ｂ）、又は（ｃ））によって入力長（例えば、８又は１６）に該当する位置までの係数である。
【０３９２】
また、現在ブロックの高さと幅がそれぞれ８である場合に該当しない場合に対して、デコード装置２００は、現在ブロックの幅と高さの積が臨界値より小さいと、現在ブロックにおいて左上側の４×４領域の１６個の係数を入力にして出力長（例えば、４８又は６４）の分だけの変換された係数を出力する非分離変換行列（４８×１６又は６４×１６行列）を適用し、現在ブロックの幅と高さの積が臨界値より大きいか等しいと、現在ブロックにおいて３２個の係数を入力にして出力長（例えば、４８又は６４）の分だけの変換された係数を出力する非分離変換行列（４８×３２又は６４×３２行列）を適用する。
【０３９３】
出力長が６４である場合、非分離変換行列の適用により８×８ブロックに非分離変換が適用された６４個の変換されたデータ（変換された係数）が配置され、出力長が４８である場合、非分離変換行列の適用により８×８ブロックにおいて右下端の４×４領域を除いた残りの領域に非分離変換が適用された４８個の変換されたデータ（変換された係数）が配置される。
【０３９４】
図３４は、本発明が適用される実施形態であって、ビデオ信号を処理するための装置のブロック図の例を示す。図３４の画像処理装置３４００は、図１のエンコード装置１００又は図２のデコード装置２００に該当し得る。
【０３９５】
画像信号を処理する画像処理装置３４００は、画像信号を格納するメモリ３４２０と、前記メモリと結合するとともに画像信号を処理するプロセッサ３４１０とを含む。
【０３９６】
本発明の実施形態によるプロセッサ３４１０は、画像信号の処理のための少なくとも１つのプロセッシング回路で構成され、画像信号をエンコード又はデコードのための命令語を実行することにより画像信号を処理することができる。すなわち、プロセッサ３４１０は、前述のエンコード又はデコード方法を実行することにより、原本画像データをエンコードするか、エンコードされた画像信号をデコードすることができる。
【０３９７】
図３５は、本発明が適用される実施形態であって、画像コーディングシステムの例を示す。
【０３９８】
画像コーディングシステムは、ソースデバイス及び受信デバイスを含む。ソースデバイスは、エンコードされたビデオ／画像情報又はデータをファイル又はストリーミングの形態でデジタル格納媒体又はネットワークを介して受信デバイスに伝達する。
【０３９９】
ソースデバイスはビデオソース、エンコード装置、送信機を含む。受信デバイスは受信機、デコード装置及びレンダラーを含む。エンコード装置はビデオ／画像エンコード装置と呼ばれてもよく、デコード装置はビデオ／画像デコード装置と呼ばれてもよい。送信機はエンコード装置に含まれてもよい。受信機はデコード装置に含まれてもよい。レンダラーはディスプレイ部を含んでもよく、ディスプレイ部は別個のデバイス又は外部コンポーネントで構成されてもよい。
【０４００】
ビデオソースは、ビデオ／画像のキャプチャ、合成又は生成過程などによりビデオ／画像を取得する。ビデオソースは、ビデオ／画像キャプチャデバイス及び／又はビデオ／画像生成デバイスを含む。ビデオ／画像キャプチャデバイスは、例えば、１つ以上のカメラ、以前にキャプチャされたビデオ／画像を含むビデオ／画像アーカイブなどを含む。ビデオ／画像生成デバイスは、例えばコンピュータ、タブレット及びスマートフォンなどを含み、（電子的に）ビデオ／画像を生成することができる。例えば、コンピュータなどにより仮想のビデオ／画像が生成でき、この場合、関連データが生成される過程でビデオ／画像キャプチャの過程が代わることができる。
【０４０１】
エンコード装置は入力ビデオ／画像をエンコードする。エンコード装置は、圧縮及びコーディング効率のために予測、変換、量子化など一連の手順を行うことができる。エンコードされたデータ（エンコードされたビデオ／画像情報）はビットストリーム形式で出力される。
【０４０２】
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ／画像情報又はデータをファイル又はストリーミング形態でデジタル格納媒体又はネットワークを介して受信デバイスの受信部に伝達する。デジタル格納媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、ブルーレイ、ＨＤＤ、ＳＳＤなどの多様な格納媒体を含む。送信部は、予め決められたファイルフォーマットによりメディアファイルを生成するためのエレメントを含み、放送／通信ネットワークを介する送信のためのエレメントを含む。受信機は、ビットストリームを抽出してデコード装置に伝達する。
【０４０３】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ／画像をデコードする。
【０４０４】
レンダラーは、デコードされたビデオ／画像をレンダリングする。レンダリングされたビデオ／画像は、ディスプレイ部を介して表示される。
【０４０５】
図３６は、本発明が適用される実施形態であって、コンテンツストリーミングシステムの構造図である。
【０４０６】
本発明が適用されるコンテンツストリーミングシステムは、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含む。
【０４０７】
エンコードサーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これをストリーミングサーバに送信する役割を果たす。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、エンコードサーバは省略されてもよい。
【０４０８】
ビットストリームは、本発明が適用されるエンコード方法又はビットストリーム生成方法により生成され、ストリーミングサーバは、ビットストリームを送信又は受信する過程で一時的にビットストリームを格納することができる。
【０４０９】
ストリーミングサーバは、ウェブサーバを介するユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒体としての役割を果たす。ユーザがウェブサーバにご希望のサービスを要求すると、ウェブサーバはこれをストリーミングサーバに伝達し、ストリーミングサーバはユーザにマルチメディアデータを送信する。ここで、コンテンツストリーミングシステムは別途の制御サーバを含んでもよく、この場合、制御サーバは、コンテンツストリーミングシステム内の各装置間の命令／応答を制御する役割を果たす。
【０４１０】
ストリーミングサーバは、メディア格納所及び／又はエンコードサーバからコンテンツを受信する。例えば、エンコードサーバからコンテンツを受信する場合、コンテンツをリアルタイムに受信できる。この場合、円滑なストリーミングサービスを提供するために、ストリーミングサーバはビットストリームを一定時間格納することができる。
【０４１１】
ユーザ装置の例としては、携帯電話、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、ノートブックコンピュータ（ｌａｐｔｏｐ  ｃｏｍｐｕｔｅｒ）、デジタル放送用端末、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔｓ）、ＰＭＰ（ｐｏｒｔａｂｌｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）、ナビゲーション、スレートＰＣ（ｓｌａｔｅ  ＰＣ）、タブレットＰＣ（ｔａｂｌｅｔ  ＰＣ）、ウルトラブック（ｕｌｔｒａｂｏｏｋ）、ウェアラブルデバイス（ｗｅａｒａｂｌｅ  ｄｅｖｉｃｅ、例えば、スマートウォッチ（ｓｍａｒｔｗａｔｃｈ）、スマートグラス（ｓｍａｒｔ  ｇｌａｓｓ）、ＨＭＤ（ｈｅａｄ  ｍｏｕｎｔｅｄ  ｄｉｓｐｌａｙ））、デジタルＴＶ、デスクトップコンピュータ、デジタルサイネージなどを有することができる。
【０４１２】
コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営でき、この場合、各サーバで受信するデータは分散処理されることができる。
【０４１３】
また、本発明が適用される処理方法は、コンピュータで実行されるプログラムの形で生産されることができ、コンピュータが読み取り可能な貯蔵媒体に貯蔵することができる。本発明に係るデータ構造を有するマルチメディアデータもまた、コンピュータが読み出しできる記録媒体に貯蔵することができる。前記コンピュータが判読可能な記録媒体は、コンピュータで読み取り可能なデータが貯蔵されるあらゆる種類のストレージデバイス及び分散ストレージデバイスを含む。前記コンピュータが判読可能な記録媒体は、例えば、ブルーレイディスク（ＢＤ）、ユニバーサルシリアルバス（ＵＳＢ）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、及び光学的データ貯蔵装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波（例えば、インターネットを通じた伝送）の形で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームが、コンピュータが読み取り可能な記録媒体に貯蔵したり、有線／無線通信ネットワークを介して転送されることができる。
【０４１４】
また、本発明の実施形態は、プログラムコードによるコンピュータプログラム製品として実現されることができ、前記プログラムコードは、本発明の実施形態により、コンピュータ上で実行することができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に貯蔵することができる。
【０４１５】
前記記述されたように、本発明で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。例えば、各図で示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。
【０４１６】
また、本発明が適用されるデコーダとエンコーダは、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信などのようなリアルタイム通信装置、モバイルストリーミング装置、貯蔵媒体、キャムコーダ、ビデオオンデマンド（ＶｏＤ）サービス提供装置、ＯＴＴビデオ（Over the top video）装置、インターネットストリーミングサービス提供装置、３次元（３Ｄ）ビデオ装置、テレビ電話、ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために用いられる。たとえば、ＯＴＴビデオ（Over the top video）装置では、ゲーム機、ブルーレイプレーヤー、インターネット接続ＴＶ、ホームシアターシステム、スマートフォン、タブレットＰＣ、ＤＶＲ（Digital Video Recoder）などを含むことができる。
【０４１７】
また、本発明が適用される処理方法は、コンピュータで実行されるプログラムの形で生産されることができ、コンピュータが読み取り可能な貯蔵媒体に貯蔵することができる。本発明に係るデータ構造を有するマルチメディアデータもまた、コンピュータが読み出し可能な貯蔵媒体に貯蔵することができる。前記コンピュータが判読可能な記録媒体は、コンピュータに読み取り可能なデータが貯蔵されるあらゆる種類のストレージデバイス及び分散ストレージデバイスを含む。前記コンピュータが判読可能な記録媒体は、例えば、ブルー例ディスク（ＢＤ）、ユニバーサルシリアルバス（ＵＳＢ）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、及び光学的データ貯蔵装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波（例えば、インターネットを通じた伝送）の形で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に貯蔵したり、有線／無線通信ネットワークを介して転送されることができる。
【０４１８】
また、本発明の実施形態は、プログラムコードによるコンピュータプログラム製品として実現されることができ、前記プログラムコードは、本発明の実施形態により、コンピュータ上で実行することができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に貯蔵することができる。
【０４１９】
以上で説明した実施形態は、本発明の構成要素と特徴が所定形態で結合されたものである。各構成要素または特徴は、別の明示的な言及がない限り選択的なもので考慮されるべきである。各構成要素または特徴は、他の構成要素や特徴と結合されない形態で実施されることができる。また、一部の構成要素及び／または特徴を結合して、本発明の実施形態を構成することも可能である。本発明の実施形態で説明される動作の順序は変更されることができる。どの実施形態の一部の構成や特徴は、他の実施形態に含まれることができ、または他の実施形態に対応する構成または特徴と代替されることができる。特許請求の範囲で明示的な引用関係がない請求項を結合して実施形態を構成したり、出願後の補正により新しい請求項として含めることができることは自明である。
【０４２０】
本発明に係る実施形態は、様々な手段、例えば、ハードウェア、ファームウェア（firmware）、ソフトウェアまたはそれらの組み合わせなどにより実現されることができる。ハードウェアによる実現の場合、本発明の一実施形態は、一つまたはそれ以上のＡＳＩＣｓ（application specific integrated circuits）、ＤＳＰｓ（digital signal processors）、ＤＳＰＤｓ（digital signal processing devices）、ＰＬＤｓ（programmable logic devices）、ＦＰＧＡｓ（field programmable gate arrays）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどにより実現されることができる。
【０４２１】
ファームウェアやソフトウェアによる実現の場合、本発明の一実施形態は、以上で説明した機能または動作を実行するモジュール、プロシージャ、関数などの形態で実現されることができる。ソフトウェアコードは、メモリに貯蔵されてプロセッサによって駆動されることができる。前記メモリは、前記プロセッサの内部または外部に位置して、既に公知の多様な手段により、前記プロセッサとデータを送受信することができる。
【０４２２】
本発明は、本発明の必須的特徴を逸脱しない範囲で他の特定の形態で具体化されることができることは、当業者に自明である。したがって、前述した詳細な説明は、すべての面で制限的に解釈してはならなく、例示的なものとみなされるべきである。本発明の範囲は、添付された請求項の合理的解釈によって決定されるべきであり、本発明の等価的範囲内でのすべての変更は、本発明の範囲に含まれる。
【産業上の利用可能性】
【０４２３】
以上、前述した本発明の好ましい実施形態は、例示の目的のために開示されたもので、当業者であれば、以下、添付された特許請求の範囲に開示された本発明の技術的思想とその技術的範囲内で、様々な他の実施形態を改良、変更、代替または付加することなどが可能である。
【図１】
2021510253.tif 000026
【図２】
2021510253.tif 000027
【図３ａ】
2021510253.tif 000028
【図３ｂ】
2021510253.tif 000029
【図３ｃ】
2021510253.tif 000030
【図３ｄ】
2021510253.tif 000031
【図４】
2021510253.tif 000032
【図５】
2021510253.tif 000033
【図６】
2021510253.tif 000034
【図７】
2021510253.tif 000035
【図８】
2021510253.tif 000036
【図９】
2021510253.tif 000037
【図１０】
2021510253.tif 000038
【図１１】
2021510253.tif 000039
【図１２】
2021510253.tif 000040
【図１３】
2021510253.tif 000041
【図１４】
2021510253.tif 000042
【図１５】
2021510253.tif 000043
【図１６（ａ）】
2021510253.tif 000044
【図１６（ｂ）】
2021510253.tif 000045
【図１６（ｃ）】
2021510253.tif 000046
【図１７】
2021510253.tif 000047
【図１８】
2021510253.tif 000048
【図１９】
2021510253.tif 000049
【図２０】
2021510253.tif 000050
【図２１ａ】
2021510253.tif 000051
【図２１ｂ】
2021510253.tif 000052
【図２２】
2021510253.tif 000053
【図２３】
2021510253.tif 000054
【図２４】
2021510253.tif 000055
【図２５ａ】
2021510253.tif 000056
【図２５ｂ】
2021510253.tif 000057
【図２６ａ】
2021510253.tif 000058
【図２６ｂ】
2021510253.tif 000059
【図２７】
2021510253.tif 000060
【図２８】
2021510253.tif 000061
【図２９】
2021510253.tif 000062
【図３０】
2021510253.tif 000063
【図３１】
2021510253.tif 000064
【図３２】
2021510253.tif 000065
【図３３】
2021510253.tif 000066
【図３４】
2021510253.tif 000067
【図３５】
2021510253.tif 000068
【図３６】
2021510253.tif 000069
【手続補正書】
【提出日】令和2年7月6日(2020.7.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像信号をデコードするための方法において、
現在ブロックの高さと幅に基づいて非分離変換の入力長及び出力長を決定するステップと、
非分離変換の前記入力長及び前記出力長に関連した非分離変換行列を決定するステップと、
前記非分離変換行列を前記現在ブロックにおいて前記入力長の数だけの係数に適用するステップと、を含み、
前記現在ブロックの前記高さと前記幅のそれぞれが８に等しいことに基づいて、前記非分離変換の前記入力長は、８と決定される、方法。
【請求項２】
現在ブロックの前記高さと前記幅のそれぞれが８に等しくないことに基づいて、前記非分離変換の前記入力長は、１６と決定される、請求項１に記載の方法。
【請求項３】
前記出力長は、４８又は６４と決定される、請求項１に記載の方法。
【請求項４】
前記非分離変換行列を適用するステップは、現在ブロックの前記高さと前記幅のそれぞれが８に等しくなく、前記幅と前記高さとの乗算が臨界値より小さいことに基づいて、前記非分離変換行列を前記現在ブロックの左上側の４×４領域に適用するステップを含む、請求項１に記載の方法。
【請求項５】
非分離変換行列を決定するステップは、
前記現在ブロックのイントラ予測モードに基づいて非分離変換集合インデックスを決定するステップと、
前記非分離変換集合インデックスに含まれた非分離変換集合内で非分離変換インデックスに関連した非分離変換カーネルを決定するステップと、
前記入力長及び前記出力長に基づいて前記非分離変換から前記非分離変換行列を決定するステップと、を含む、請求項１に記載の方法。
【請求項６】
画像信号をデコードするための装置において、
ビデオ信号を格納するように設定されたメモリと、
前記メモリと結合されたプロセッサと、を含み、
前記プロセッサは、
現在ブロックの高さと幅に基づいて非分離変換の入力長及び出力長を決定し、
非分離変換の前記入力長及び前記出力長に関連した非分離変換行列を決定し、
前記非分離変換行列を前記現在ブロックにおいて前記入力長の数だけの係数に適用するように設定され、
現在ブロックの前記高さと前記幅のそれぞれが８に等しいことに基づいて、前記非分離変換の前記入力長は、８と決定される、装置。
【請求項７】
現在ブロックの前記高さと前記幅のそれぞれが８に等しくないことに基づいて、前記非分離変換の前記入力長は、１６と決定される、請求項６に記載の装置。
【請求項８】
前記出力長は、４８又は６４と決定される、請求項６に記載の装置。
【請求項９】
前記プロセッサは、現在ブロックの前記高さと前記幅のそれぞれが８に等しくなく、前記幅と前記高さとの乗算が臨界値より小さいことに基づいて、前記非分離変換行列を前記現在ブロックの左上側の４×４領域に適用するように設定される、請求項６に記載の装置。
【請求項１０】
前記プロセッサは、
前記現在ブロックのイントラ予測モードに基づいて非分離変換集合インデックスを決定し、
前記非分離変換集合インデックスに含まれた非分離変換集合内で非分離変換インデックスに関連した非分離変換カーネルを決定し、
前記入力長及び前記出力長に基づいて前記非分離変換から前記非分離変換行列を決定するように設定される、請求項６に記載の装置。
【国際調査報告】
2021510253.tif 000070
2021510253.tif 000071
2021510253.tif 000072
2021510253.tif 000073