(57)【要約】【課題】画像コーディング効率を高める方法及び装置を提供する。【解決手段】デコード装置により行われる画像デコード方法は、ビットストリームから対象ブロックの変換係数を導出するステップと、前記対象ブロックに対するＮＳＳＴ（Ｎｏｎ−Ｓｅｐａｒａｂｌｅ  Ｓｅｃｏｎｄａｒｙ  Ｔｒａｎｓｆｏｒｍ）インデックスを導出するステップと、前記対象ブロックの前記変換係数に基づいて前記対象ブロックのレジデュアルサンプルを生成するステップとを含む。【選択図】図１５
2021507597.tif 000002
【特許請求の範囲】
【請求項１】
デコード装置により行われる画像デコード方法において、
ビットストリームから対象ブロックの変換係数を導出するステップと、
前記対象ブロックに対するＮＳＳＴ（Ｎｏｎ−Ｓｅｐａｒａｂｌｅ  Ｓｅｃｏｎｄａｒｙ  Ｔｒａｎｓｆｏｒｍ）インデックスを導出するステップと、
前記ＮＳＳＴインデックスに基づいて前記対象ブロックの前記変換係数に対する逆変換（ｉｎｖｅｒｓｅｄ  ｔｒａｎｓｆｏｒｍ）を行って前記対象ブロックのレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに基づいて復元ピクチャを生成するステップと、を含むことを特徴とする、画像デコード方法。
【請求項２】
前記ＮＳＳＴインデックスに基づいて前記対象ブロックの前記変換係数に対する逆変換（ｉｎｖｅｒｓｅｄ  ｔｒａｎｓｆｏｒｍ）を行って前記対象ブロックの前記レジデュアルサンプルを導出するステップは、
前記ＮＳＳＴインデックスの値が０である場合、前記対象ブロックの前記変換係数に対する核心変換（ｃｏｒｅ  ｔｒａｎｓｆｏｒｍ）を行って前記レジデュアルサンプルを導出するステップと、
前記ＮＳＳＴインデックスの値が０でない場合、前記ＮＳＳＴインデックスが示す簡素化変換マトリックス（ｒｅｄｕｃｅｄ  ｔｒａｎｓｆｏｒｍ  ｍａｔｒｉｘ）に基づいて前記対象ブロックの左上端対象領域に位置する変換係数に対するＮＳＳＴを行って修正された変換係数を導出し、前記修正された変換係数を含む前記対象ブロックに対する確信変換を行って前記レジデュアルサンプルを導出するステップと、を含む、請求項１に記載の画像デコード方法。
【請求項３】
前記簡素化変換マトリックスのサイズはＲ×Ｎであり、
前記Ｎは前記左上端対象領域のサンプル数であり、前記Ｒは簡素化係数（ｒｅｄｕｃｅｄ  ｃｏｅｆｆｉｃｉｅｎｔ）であり、前記Ｒは前記Ｎより小さい、請求項２に記載の画像デコード方法。
【請求項４】
前記対象ブロックに対する前記ＮＳＳＴインデックスを導出するステップは、
前記対象ブロックの変換係数のうちＲ＋１番目からＮ番目の変換係数をスキャンするステップと、
前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスの値を０として導出するステップと、を含む、請求項３に記載の画像デコード方法。
【請求項５】
前記対象ブロックに対する前記ＮＳＳＴインデックスを導出するステップは、
前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれていない場合、前記ビットストリームに含まれた前記ＮＳＳＴインデックスに対するシンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）をパーシングして前記ＮＳＳＴインデックスの値を導出するステップをさらに含む、請求項３に記載の画像デコード方法。
【請求項６】
前記対象ブロックの幅及び最小幅、前記対象ブロックの高さ及び最小の高さに基づいて前記ＮＳＳＴインデックスの範囲が導出され、
前記最小幅及び前記最小高さは既に設定される、請求項１に記載の画像デコード方法。
【請求項７】
前記対象ブロックのサンプル数及び特定値に基づいて前記ＮＳＳＴインデックスの範囲が導出され、
前記サンプル数は前記対象ブロックの幅と高さを乗じた値であり、前記特定値は既に設定される、請求項１に記載の画像デコード方法。
【請求項８】
前記対象ブロックが非正方形（ｎｏｎ−ｓｑｕａｒｅ）ブロックであるか否かに基づいて前記ＮＳＳＴインデックスの範囲が導出される、請求項１に記載の画像デコード方法。
【請求項９】
前記ＮＳＳＴインデックスが前記対象ブロックのルーマブロックの変換係数、クロマＣｂブロックの変換係数及びクロマＣｒブロックの変換係数に対する逆変換に使用される場合、前記ルーマブロックのＲ＋１番目からＮ番目の変換係数、前記クロマＣｂブロックのＲ＋１番目からＮ番目の変換係数及び前記クロマＣｒブロックのＲ＋１番目からＮ番目の変換係数がスキャンされ、
前記スキャンされた変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスの値は０として導出される、請求項３に記載の画像デコード方法。
【請求項１０】
ビットストリームから前記対象ブロックを含む対象ＣＴＵに対するＮＳＳＴインデックスインジケータ（ｉｎｄｉｃａｔｏｒ）がシグナリングされ、
前記ＮＳＳＴインデックスインジケータは、前記対象ＣＴＵにＮＳＳＴが可用であるか（ｅｎａｂｌｅｄ）否かを示す、請求項１に記載の画像デコード方法。
【請求項１１】
画像デコード装置において、
ビットストリームから対象ブロックの変換係数を導出し、前記対象ブロックに対するＮＳＳＴ（Ｎｏｎ−Ｓｅｐａｒａｂｌｅ  Ｓｅｃｏｎｄａｒｙ  Ｔｒａｎｓｆｏｒｍ）インデックスを導出するエントロピーデコード部と、
前記ＮＳＳＴインデックスに基づいて前記対象ブロックの前記変換係数に対する逆変換（ｉｎｖｅｒｓｅｄ  ｔｒａｎｓｆｏｒｍ）を行って前記対象ブロックのレジデュアルサンプルを導出する逆変換部と、
前記レジデュアルサンプルに基づいて復元ピクチャを生成する加算部と、を含むことを特徴とする、画像デコード装置。
【請求項１２】
エンコード装置により行われる画像エンコードの方法において、
対象ブロックのレジデュアルサンプルを導出するステップと、
前記レジデュアルサンプルに対する変換（ｔｒａｎｓｆｏｒｍ）を行って前記対象ブロックの変換係数を導出するステップと、
前記対象ブロックに対するＮＳＳＴインデックスのエンコード可否を決定するステップと、
前記変換係数に対する情報をエンコードするステップと、を含み、
前記ＮＳＳＴインデックスのエンコード可否を決定するステップは、
前記対象ブロックの前記変換係数のうちＲ＋１番目からＮ番目の変換係数をスキャンするステップと、
前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスをエンコードしないと決定するステップと、を含み、
前記Ｎは前記対象ブロックの左上端対象領域のサンプル数であり、前記Ｒは簡素化係数（ｒｅｄｕｃｅｄ  ｃｏｅｆｆｉｃｉｅｎｔ）であり、前記Ｒは前記Ｎより小さいことを特徴とする、画像エンコード方法。
【請求項１３】
前記ＮＳＳＴインデックスのエンコード可否を決定するステップは、
前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれていない場合、前記ＮＳＳＴインデックスをエンコードすると決定するステップをさらに含み、
前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれていない場合、前記変換係数に関する情報は、前記ＮＳＳＴインデックスに対するシンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）を含む、請求項１２に記載の画像エンコード方法。
【請求項１４】
前記レジデュアルサンプルに対する変換を行いって前記対象ブロックの前記変換係数を導出するステップは、
前記対象ブロックに対するＮＳＳＴの適用可否を決定するステップと、
前記対象ブロックに対して前記ＮＳＳＴが適用される場合、前記レジデュアルサンプルに対する核心変換を行って修正された変換係数を導出し、簡素化変換マトリックスに基づいて前記左上端対象領域に位置する修正された変換係数に対するＮＳＳＴを行って前記対象ブロックの前記変換係数を導出するステップと、
前記対象ブロックに対して前記ＮＳＳＴが適用されない場合、前記レジデュアルサンプルに対する核心変換を行って前記対象ブロックの前記変換係数を導出するステップと、を含む、請求項１２に記載の画像エンコード方法。
【請求項１５】
前記対象ブロックの幅及び最小幅、前記対象ブロックの高さ及び最小の高さに基づいて前記ＮＳＳＴインデックスの範囲が導出され、
前記最小幅及び前記最小高さは既に設定される、請求項１２に記載の画像エンコード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像コーディング技術に関し、より詳細には、画像コーディングシステムにおける非分離二次変換による画像デコード方法及び装置に関する。
【背景技術】
【０００２】
最近、ＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）映像及びＵＨＤ（Ｕｌｔｒａ  Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）映像のような高解像度、高品質の映像に対する需要が多様な分野で増加している。映像データが高解像度、高品質になるほど、既存の映像データに比べて相対的に送信される情報量またはビット量が増加するため、既存の有無線広帯域回線のような媒体を利用して映像データを送信するか、または既存の格納媒体を利用して映像データを格納する場合、送信費用と格納費用が増加する。
【０００３】
これによって、高解像度、高品質映像の情報を効果的に送信または格納し、再生するために高効率の映像圧縮技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の技術的課題は、画像コーディング効率を高める方法及び装置を提供することにある。
【０００５】
本発明の他の技術的課題は、対象ブロックに対してＮＳＳＴを適用する画像デコード方法及び装置を提供することにある。
【０００６】
本発明の他の技術的課題は、対象ブロックの特定条件に基づいてＮＳＳＴインデックスの範囲を導出する画像デコード方法や装置を提供することにある。
【０００７】
本発明の他の技術的課題は、対象ブロックの変換係数に基づいてＮＳＳＴインデックスをコーディングするか否かを決定する画像デコード方法及び装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一実施形態によれば、デコード装置により行われる画像デコード方法が提供される。前記方法は、ビットストリームから対象ブロックの変換係数を導出するステップと、前記対象ブロックに対するＮＳＳＴ（Ｎｏｎ−Ｓｅｐａｒａｂｌｅ  Ｓｅｃｏｎｄａｒｙ  Ｔｒａｎｓｆｏｒｍ）インデックスを導出するステップと、前記ＮＳＳＴインデックスに基づいて前記対象ブロックの前記変換係数に対する逆変換（ｉｎｖｅｒｓｅｄ  ｔｒａｎｓｆｏｒｍ）を行って前記対象ブロックのレジデュアルサンプルを導出するステップと、前記レジデュアルサンプルに基づいて復元ピクチャを生成するステップとを含むことを特徴とする。
【０００９】
本発明の他の実施形態によれば、画像デコードを行うデコード装置が提供される。前記デコード装置は、ビットストリームから対象ブロックの変換係数を導出し、前記対象ブロックに対するＮＳＳＴ（Ｎｏｎ−Ｓｅｐａｒａｂｌｅ  Ｓｅｃｏｎｄａｒｙ  Ｔｒａｎｓｆｏｒｍ）インデックスを導出するエントロピーデコード部と、前記ＮＳＳＴインデックスに基づいて前記対象ブロックの前記変換係数に対する逆変換（ｉｎｖｅｒｓｅｄ  ｔｒａｎｓｆｏｒｍ）を行って前記対象ブロックのレジデュアルサンプルを導出する逆変換部と、前記レジデュアルサンプルに基づいて復元ピクチャを生成する加算部とを含むことを特徴とする。
【００１０】
本発明のまた他の実施形態によれば、エンコード装置により行われるビデオエンコード方法を提供する。前記方法は、対象ブロックのレジデュアルサンプルを導出するステップと、前記レジデュアルサンプルに対する変換（ｔｒａｎｓｆｏｒｍ）を行って前記対象ブロックの変換係数を導出するステップと、前記対象ブロックに対するＮＳＳＴインデックスのエンコード可否を決定するステップと、前記変換係数に関する情報をエンコードするステップとを含むものの、前記ＮＳＳＴインデックスのエンコード可否を決定するステップは、前記対象ブロックの前記変換係数のうちＲ＋１番目からＮ番目の変換係数をスキャンするステップと、前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスのエンコードしないと決定するステップとを含み、前記Ｎは、前記対象ブロックの左上端対象領域のサンプル数であり、前記Ｒは簡素化係数（ｒｅｄｕｃｅｄ  ｃｏｅｆｆｉｃｉｅｎｔ）であり、前記Ｒは前記Ｎより小さいことを特徴とする。
【００１１】
本発明のまた他の実施形態によれば、ビデオエンコード装置を提供する。前記エンコード装置は、対象ブロックのレジデュアルサンプルを導出する加算部と、前記レジデュアルサンプルに対する変換（ｔｒａｎｓｆｏｒｍ）を行って前記対象ブロックの変換係数を導出する変換部と、前記対象ブロックに対するＮＳＳＴインデックスのエンコード可否を決定し、前記変換係数に関する情報をエンコードするエントロピーエンコード部とを含むものの、前記エントロピーエンコード部は、前記対象ブロックの前記変換係数のうちＲ＋１番目からＮ番目の変換係数をスキャンし、前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスのエンコードしないと決定し、前記Ｎは、前記対象ブロックの左上端対象領域のサンプル数であり、前記Ｒは簡素化係数（ｒｅｄｕｃｅｄ  ｃｏｅｆｆｉｃｉｅｎｔ）であり、前記Ｒは前記Ｎより小さいことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ＮＳＳＴインデックスの範囲を対象ブロックの特定条件に基づいて導出することができ、これにより、前記ＮＳＳＴインデックスのためのビット量を減少させ、全般的なコーディング効率を向上させることができる。
【００１３】
本発明によれば、ＮＳＳＴインデックスに対するシンタックスエレメント（Ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）の送信が対象ブロックに対する変換係数に基づいて決定され、これにより、ＮＳＳＴインデックスのためのビット量を減少させ、全般的なコーディング効率を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明が適用されることができるビデオエンコーディング装置の構成を概略的に説明する図面である。
【図２】ビデオエンコード装置により行われる画像エンコード方法の一例を示す。
【図３】本発明が適用できるビデオデコード装置の構成を概略的に説明する図である。
【図４】デコード装置により行われる画像デコード方法の一例を示す。
【図５】本発明に従う多重変換技法を概略的に示す。
【図６】６５個の予測方向のイントラ方向性モードを例示的に示す。
【図７ａ】一実施形態による変換係数のコーディング過程を示すフローチャートである。
【図７ｂ】一実施形態による変換係数のコーディング過程を示すフローチャートである。
【図８】本発明の実施形態による対象ブロックに基づいて変換係数の配列を説明するための図である。
【図９】Ｒ＋１からＮまでの変換係数をスキャンする一例を示す。
【図１０ａ】一実施形態によるＮＳＳＴインデックスのコーディング過程を示すフローチャートである。
【図１０ｂ】一実施形態によるＮＳＳＴインデックスのコーディング過程を示すフローチャートである。
【図１１】ＮＳＳＴインデックスがコーディングされるか否かを判断する一例を示す。
【図１２】対象ブロックの全ての成分に対するＲ＋１からＮまでの変換係数をスキャンする一例を示す。
【図１３】本発明に従うエンコード装置による画像エンコード方法を概略的に示す。
【図１４】本発明に従う画像エンコード方法を行うエンコード装置を概略的に示す。
【図１５】本発明に従うデコード装置による画像デコード方法を概略的に示す。
【図１６】本発明に従う画像デコード方法を行うデコード装置を概略的に示す。
【発明を実施するための形態】
【００１５】
本発明は、多様な変更を加えることができ、様々な実施例を有することができ、特定の実施例を図面に例示して詳細に説明する。しかし、これは本発明を特定の実施例に限定するものではない。本明細書で使用する用語は、単に特定の実施例を説明するために使われたものであり、本発明の技術的思想を限定しようとする意図に使われるものではない。単数の表現は、文脈上明白に異なる意味ではない限り、複数の表現を含む。本明細書において、“含む”または“有する”などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品またはそれらを組み合わせたものが存在することを指定するものであり、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品またはそれらを組み合わせたものの存在または付加の可能性を予め排除しないと理解しなければならない。
【００１６】
一方、本発明で説明される図面上の各構成は、互いに異なる特徴的な機能に対する説明の便宜のために独立して図示されたものであり、各構成が互いに別個のハードウェアや別個のソフトウェアで具現されるということを意味しない。例えば、各構成のうち二つ以上の構成が合わせて一つの構成をなすこともあり、一つの構成が複数の構成に分けられることもある。各構成が統合及び／または分離された実施例も、本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【００１７】
以下、添付図面を参照し、本発明の好ましい実施例をより詳細に説明する。以下、図面上の同一の構成要素については同一の参照符号を使用し、同一の構成要素について重複説明は省略する。
【００１８】
一方、本発明は、ビデオ／映像コーディングに関する、例えば、本発明で開示された方法／実施例は、ＶＶＣ（ｖｅｒｓａｔｉｌｅ  ｖｉｄｅｏ  ｃｏｄｉｎｇ）標準または次世代ビデオ／イメージコーディングに開示された方法に適用されることができる。
【００１９】
本明細書で、ピクチャ（ｐｉｃｔｕｒｅ）は、一般的に特定時間帯の一つの映像を示す単位を意味し、スライス（ｓｌｉｃｅ）は、コーディングにおいてピクチャの一部を構成する単位である。一つのピクチャは複数のスライスで構成されてもよく、必要に応じて、ピクチャ及びスライスは互いに混用して用いられてもよい。
【００２０】
ピクセル（ｐｉｘｅｌ）またはペル（ｐｅｌ）は、一つのピクチャ（または、映像）を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(ｓａｍｐｌｅ)」が使用されることができる。サンプルは、一般的にピクセルまたはピクセルの値を示し、輝度（ルーマ）成分のピクセル／ピクセルの値のみを示してもよく、彩度（クロマ）成分のピクセル／ピクセルの値のみを示してもよい。
【００２１】
ユニット(ｕｎｉｔ)は、映像処理の基本単位を示す。ユニットは、ピクチャの特定領域及び該当領域に対する情報のうち少なくとも一つを含むことができる。ユニットは、場合によってブロック（ｂｌｏｃｋ）または領域（ａｒｅａ）などの用語と混用して用いられてもよい。一般的な場合、ＭｘＮのブロックは、Ｍ個の列とＮ個の行からなるサンプルまたは変換係数（ｔｒａｎｓｆｏｒｍ  ｃｏｅｆｆｉｃｉｅｎｔ）の集合を示すことができる。
【００２２】
図１は、本発明が適用されることができるビデオエンコーディング装置の構成を概略的に説明する図面である。
【００２３】
図１を参照すると、ビデオエンコーディング装置１００は、ピクチャ分割部１０５、予測部１１０、レジデュアル処理部１２０、エントロピーエンコーディング部１３０、加算部１４０、フィルタ部１５０、及びメモリ１６０を含むことができる。レジデュアル処理部１２０は、減算部１２１、変換部１２２、量子化部１２３、再整列部１２４、逆量子化部１２５、及び逆変換部１２６を含むことができる。
【００２４】
ピクチャ分割部１０５は、入力されたピクチャを少なくとも一つの処理ユニット（ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）に分割できる。
【００２５】
一例として、処理ユニットは、コーディングユニット（ｃｏｄｉｎｇ  ｕｎｉｔ、ＣＵ）と呼ばれる。この場合、コーディングユニットは、最大コーディングユニット（ｌａｒｇｅｓｔ  ｃｏｄｉｎｇ  ｕｎｉｔ、ＬＣＵ）からＱＴＢＴ（Ｑｕａｄ−ｔｒｅｅ  ｂｉｎａｒｙ−ｔｒｅｅ）構造によって再帰的に（ｒｅｃｕｒｓｉｖｅｌｙ）分割されることができる。例えば、一つのコーディングユニットは、クアッドツリー構造及び／またはバイナリツリー構造に基づいて下位（ｄｅｅｐｅｒ）デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造が後に適用されることができる。または、バイナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて、本発明によるコーディング手順が実行されることができる。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使われることができ、または、必要によって、コーディングユニットは、再帰的に（ｒｅｃｕｒｓｉｖｅｌｙ）もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使われることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。
【００２６】
他の例として、処理ユニットは、コーディングユニット（ｃｏｄｉｎｇ  ｕｎｉｔ、ＣＵ）、予測ユニット（ｐｒｅｄｉｃｔｉｏｎ  ｕｎｉｔ、ＰＵ）または変換ユニット（ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ、ＴＵ）を含むこともできる。コーディングユニットは、最大コーディングユニット（ｌａｒｇｅｓｔ  ｃｏｄｉｎｇ  ｕｎｉｔ、ＬＣＵ）からクアッドツリー構造によって下位（ｄｅｅｐｅｒ）デプスのコーディングユニットに分割（ｓｐｌｉｔ）されることができる。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使われることができ、または、必要によって、コーディングユニットは、再帰的に（ｒｅｃｕｒｓｉｖｅｌｙ）もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使われることができる。最小コーディングユニット（ｓｍａｌｌｅｓｔ  ｃｏｄｉｎｇ  ｕｎｉｔ、ＳＣＵ）が設定された場合、コーディングユニットは、最小コーディングユニットより小さいコーディングユニットに分割されることができない。ここで、最終コーディングユニットとは、予測ユニットまたは変換ユニットにパーティショニングまたは分割の基盤となるコーディングユニットを意味する。予測ユニットは、コーディングユニットからパーティショニング（ｐａｒｔｉｔｉｏｎｉｎｇ）されるユニットであって、サンプル予測のユニットである。このとき、予測ユニットは、サブブロック（ｓｕｂｂｌｏｃｋ）に分けられることもできる。変換ユニットは、コーディングユニットからクアッドツリー構造によって分割されることができ、変換係数を誘導するユニット及び／または変換係数からレジデュアル信号（ｒｅｓｉｄｕａｌ  ｓｉｇｎａｌ）を誘導するユニットである。以下、コーディングユニットはコーディングブロック（ｃｏｄｉｎｇ  ｂｌｏｃｋ、ＣＢ）、予測ユニットは予測ブロック（ｐｒｅｄｉｃｔｉｏｎ  ｂｌｏｃｋ、ＰＢ）、変換ユニットは変換ブロック（ｔｒａｎｓｆｏｒｍ  ｂｌｏｃｋ、ＴＢ）とも呼ばれる。予測ブロックまたは予測ユニットは、ピクチャ内でブロック形態の特定領域を意味し、予測サンプルのアレイ（ａｒｒａｙ）を含むことができる。また、変換ブロックまたは変換ユニットは、ピクチャ内でブロック形態の特定領域を意味し、変換係数またはレジデュアルサンプルのアレイを含むことができる。
【００２７】
予測部１１０は、処理対象ブロック（以下、現在ブロックという）に対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック（ｐｒｅｄｉｃｔｅｄ  ｂｌｏｃｋ）を生成することができる。予測部１１０で実行される予測の単位は、コーディングブロック、または変換ブロック、または予測ブロックである。
【００２８】
予測部１１０は、現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。一例として、予測部１１０は、ＣＵ単位にイントラ予測またはインター予測が適用されるかを決定することができる。
【００２９】
イントラ予測の場合、予測部１１０は、現在ブロックが属するピクチャ（以下、現在ピクチャ）内の現在ブロック外部の参照サンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。このとき、予測部１１０は、（ｉ）現在ブロックの隣接（ｎｅｉｇｈｂｏｒｉｎｇ）参照サンプルの平均（ａｖｅｒａｇｅ）または補間（ｉｎｔｅｒｐｏｌａｔｉｏｎ）に基づいて予測サンプルを誘導することができ、（ii）現在ブロックの隣接参照サンプルのうち、予測サンプルに対して特定（予測）方向に存在する参照サンプルに基づいて前記予測サンプルを誘導することもできる。（ｉ）の場合は非方向性モードまたは非角度モードと呼ばれ、（ii）の場合は方向性（ｄｉｒｅｃｔｉｏｎａｌ）モードまたは角度（ａｎｇｕｌａｒ）モードと呼ばれる。イントラ予測における予測モードは、例えば、３３個の方向性予測モードと少なくとも２個以上の非方向性モードを有することができる。非方向性モードは、ＤＣ予測モード及びプラナーモード（Ｐｌａｎａｒモード）を含むことができる。予測部１１０は、隣接ブロックに適用された予測モードを利用し、現在ブロックに適用される予測モードを決定することもできる。
【００３０】
インター予測の場合、予測部１１０は、参照ピクチャ上で動きベクトルにより特定されるサンプルに基づいて、現在ブロックに対する予測サンプルを誘導することができる。予測部１１０は、スキップ（ｓｋｉｐ）モード、マージ（ｍｅｒｇｅ）モード、及びＭＶＰ（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｉｏｎ）モードのうちいずれか一つを適用して現在ブロックに対する予測サンプルを誘導することができる。スキップモードとマージモードの場合、予測部１１０は、隣接ブロックの動き情報を現在ブロックの動き情報として利用できる。スキップモードの場合、マージモードと違って予測サンプルと原本サンプルとの間の差（レジデュアル）が送信されない。ＭＶＰモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子（Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｏｒ）として利用して現在ブロックの動きベクトル予測子として利用して現在ブロックの動きベクトルを誘導することができる。
【００３１】
インター予測の場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック（ｓｐａｔｉａｌ  ｎｅｉｇｈｂｏｒｉｎｇ  ｂｌｏｃｋ）と参照ピクチャ（ｒｅｆｅｒｅｎｃｅ  ｐｉｃｔｕｒｅ）に存在する時間的隣接ブロック（ｔｅｍｐｏｒａｌ  ｎｅｉｇｈｂｏｒｉｎｇ  ｂｌｏｃｋ）を含むことができる。前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ（ｃｏｌｌｏｃａｔｅｄ  ｐｉｃｔｕｒｅ、ｃｏｌＰｉｃ）とも呼ばれる。動き情報（ｍｏｔｉｏｎ  ｉｎｆｏｒｍａｔｉｏｎ）は、動きベクトルと参照ピクチャインデックスを含むことができる。予測モード情報と動き情報などの情報は、（エントロピー）エンコーディングされてビットストリーム形態で出力されることができる。
【００３２】
スキップモードとマージモードで時間的隣接ブロックの動き情報が利用される場合、参照ピクチャリスト（ｒｅｆｅｒｅｎｃｅ  ｐｉｃｔｕｒｅ  ｌｉｓｔ）上の最上位ピクチャが参照ピクチャとして利用されることもできる。参照ピクチャリスト（Ｐｉｃｔｕｒｅ  Ｏｒｄｅｒ  Ｃｏｕｎｔ）に含まれる参照ピクチャは、現在ピクチャと該当参照ピクチャとの間のＰＯＣ（Ｐｉｃｔｕｒｅ  ｏｒｄｅｒ  ｃｏｕｎｔ）差に基づいて整列されることができる。ＰＯＣは、ピクチャのディスプレイ順序に対応し、コーディング順序と区分されることができる。
【００３３】
減算部１２１は、原本サンプルと予測サンプルとの間の差であるレジデュアルサンプルを生成する。スキップモードが適用される場合には、前述したようにレジデュアルサンプルを生成しない。
【００３４】
変換部１２２は、変換ブロック単位にレジデュアルサンプルを変換して変換係数（ｔｒａｎｓｆｏｒｍ  ｃｏｅｆｆｉｃｉｅｎｔ）を生成する。変換部１２２は、該当変換ブロックのサイズと、該当変換ブロックと空間的に重なるコーディングブロックまたは予測ブロックに適用された予測モードによって変換を実行することができる。例えば、前記変換ブロックと重なる前記コーディングブロックまたは前記予測ブロックにイントラ予測が適用され、前記変換ブロックが４×４のレジデュアルアレイ（ａｒｒａｙ）である場合、レジデュアルサンプルは、ＤＳＴ（Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）変換カーネルを利用して変換され、その他の場合、レジデュアルサンプルは、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）変換カーネルを利用して変換できる。
【００３５】
量子化部１２３は、変換係数を量子化し、量子化された変換係数を生成することができる。
【００３６】
再整列部１２４は、量子化された変換係数を再整列する。再整列部１２４は、係数スキャニング（ｓｃａｎｎｉｎｇ）方法を介してブロック形態の量子化された変換係数を１次元ベクトル形態で再整列できる。ここで、再整列部１２４は、別途の構成で説明したが、量子化部１２３の一部であってもよい。
【００３７】
エントロピーエンコーディング部１３０は、量子化された変換係数に対するエントロピーエンコーディングを実行することができる。エントロピーエンコーディングは、例えば、指数ゴロム（ｅｘｐｏｎｅｎｔｉａｌ  Ｇｏｌｏｍｂ）、ＣＡＶＬＣ（ｃｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｉｎｇ）、ＣＡＢＡＣ（ｃｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ  ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ）などのようなエンコーディング方法を含むことができる。エントロピーエンコーディング部１３０は、量子化された変換係数外にビデオ復元に必要な情報（例えば、シンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）の値等）を共にまたは別途にエントロピーエンコーディングまたは既設定された方法によってエンコーディングすることもできる。エンコーディングされた情報は、ビットストリーム形態でＮＡＬ（ｎｅｔｗｏｒｋ  ａｂｓｔｒａｃｔｉｏｎ  ｌａｙｅｒ）ユニット単位に送信または格納されることができる。
【００３８】
逆量子化部１２５は、量子化部１２３で量子化された値（量子化された変換係数）を逆量子化し、逆変換部１２６は、逆量子化部１２５で逆量子化された値を逆変換してレジデュアルサンプルを生成する。
【００３９】
加算部１４０は、レジデュアルサンプルと予測サンプルを加算してピクチャを復元する。レジデュアルサンプルと予測サンプルは、ブロック単位に加算されて復元ブロックが生成されることができる。ここで、加算部１４０は、別途の構成で説明したが、予測部１１０の一部であってもよい。一方、加算部１４０は、復元部（ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｍｏｄｕｌｅ）または復元ブロック生成部とも呼ばれる。
【００４０】
復元されたピクチャ（ｒｅｃｏｎｓｔｒｕｃｔｅｄ  ｐｉｃｔｕｒｅ）に対してフィルタ部１５０は、デブロッキングフィルタ及び／またはサンプル適応的オフセット（ｓａｍｐｌｅ  ａｄａｐｔｉｖｅ  ｏｆｆｓｅｔ）を適用することができる。デブロッキングフィルタリング及び／またはサンプル適応的オフセットを介して、復元ピクチャ内のブロック境界のアーチファクトや量子化過程での歪曲が補正されることができる。サンプル適応的オフセットは、サンプル単位に適用されることができ、デブロッキングフィルタリングの過程が完了した後に適用されることができる。フィルタ部１５０は、ＡＬＦ（Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ）を復元されたピクチャに適用することもできる。ＡＬＦは、デブロッキングフィルタ及び／またはサンプル適応的オフセットが適用された後の復元されたピクチャに対して適用されることができる。
【００４１】
メモリ１６０は、復元ピクチャ（デコーディングされたピクチャ）またはエンコーディング／デコーディングに必要な情報を格納することができる。ここで、復元ピクチャは、前記フィルタ部１５０によりフィルタリング手順が完了した復元ピクチャである。前記格納された復元ピクチャは、他のピクチャの（インター）予測のための参照ピクチャとして活用されることができる。例えば、メモリ１６０は、インター予測に使われる（参照）ピクチャを格納することができる。このとき、インター予測に使われるピクチャは、参照ピクチャセット（ｒｅｆｅｒｅｎｃｅ  ｐｉｃｔｕｒｅ  ｓｅｔ）または参照ピクチャリスト（ｒｅｆｅｒｅｎｃｅ  ｐｉｃｔｕｒｅ  ｌｉｓｔ）により指定されることができる。
【００４２】
図２は、ビデオエンコード装置により行われる画像エンコード方法の一例を示す。図２に示すように、前記画像エンコード方法は、イントラ／インター予測、変換（ｔｒａｎｓｆｏｒｍ）、量子化（ｑｕａｎｔｉｚａｔｉｏｎ）及びエントロピーエンコード（ｅｎｔｒｏｐｙ  ｅｎｃｏｄｉｎｇ）の過程を含む。例えば、イントラ／インター予測により現在ブロックの予測ブロックが生成され、前記現在ブロックの入力ブロックと前記予測ブロックとの減算により前記現在ブロックのレジデュアルブロックが生成される。以後、前記レジデュアルブロックに対する変換により係数（ｃｏｅｆｆｉｃｅｎｔ）ブロック、すなわち、前記現在ブロックの変換係数が生成される。前記変換係数は、量子化及びエントロピーエンコードされてビットストリームに格納される。
【００４３】
図３は、本発明が適用できるビデオデコード装置の構成を概略的に説明する図である。
【００４４】
図３に示すように、ビデオデコード装置３００は、エントロピーデコード部３１０、レジデュアル処理部３２０、予測部３３０、加算部３４０、フィルタ部３５０及びメモリ３６０を含む。ここで、レジデュアル処理部３２０は、再整列部３２１、逆量子化部３２２、逆変換部３２３を含んでもよい。
【００４５】
ビデオ情報を含むビットストリームが入力されると、ビデオデコード装置３００は、ビデオエンコード装置においてビデオ情報が処理されたプロセスに対応してビデオを復元することができる。
【００４６】
例えば、ビデオデコード装置３００は、ビデオエンコード装置において適用された処理ユニットを利用してビデオデコードを行うことができる。従って、ビデオデコーディングの処理ユニットブロックは一例としてコーディングユニットであり得、他の例としてコーディングユニット、予測ユニット又は変換ユニットであり得る。コーディングユニットは、最大コーディングユニットからクアッドツリー構造及び／又はバイナリツリー構造に従って分割されることができる。
【００４７】
予測ユニット及び変換ユニットが場合によってさらに使用されることができ、この場合、予測ブロックは、コーディングユニットから導出又はパーティショニングされるブロックであって、サンプル予測のユニットであり得る。ここで、予測ユニットはサブブロックに分けられることもできる。変換ユニットは、コーディングユニットからクアッドツリー構造に従って分割され、変換係数を誘導するユニット又は変換係数からレジデュアル信号を誘導するユニットであり得る。
【００４８】
エントロピーデコード部３１０はビットストリームをパーシングしてビデオ復元又はピクチャ復元に必要な情報を出力する。例えば、エントロピーデコード部３１０は、指数ゴロム符号化、ＣＡＶＬＣ又はＣＡＢＡＣなどのコーディング方法に基づいてビットストリーム内の情報をデコードし、ビデオ復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力することができる。
【００４９】
より詳細に、ＣＡＢＡＣエントロピーデコード方法は、ビットストリームにおいて各構文要素に該当するビンを受信し、デコード対象構文要素情報と周辺及びデコード対象ブロックのデコード情報又は以前段階でデコードされたシンボル／ビンの情報を利用して文脈（ｃｏｎｔｅｘｔ）モデルを決定し、決定された文脈モデルによってビン（ｂｉｎ）の発生確率を予測してビンの算術デコーディング（ａｒｉｔｈｍｅｔｉｃ  ｄｅｃｏｄｉｎｇ）を行って各構文要素の値に該当するシンボルを生成する。ここで、ＣＡＢＡＣエントロピーデコード方法は、文脈モデルの決定後、次のシンボル／ビンの文脈モデルのためにデコードされたシンボル／ビンの情報を利用して文脈モデルをアップデートすることができる。
【００５０】
エントロピーデコード部３１０においてデコードされた情報のうち予測に関する情報は予測部３３０に提供され、エントロピーデコード部３１０においてエントロピーデコードが行われたレジデュアル値、すなわち、量子化された変換係数は再整列部３２１に入力される。
【００５１】
再整列部３２１は、量子化されている変換係数を２次元のブロック形態に再整列する。再整列部３２１は、エンコード装置において行われた係数スキャニングに対応して再整列を行うことができる。ここで、再整列部３２１は、別途の構成として説明したが、再整列部３２１は逆量子化部３２２の一部であってもよい。
【００５２】
逆量子化部３２２は、量子化されている変換係数を（逆）量子化パラメータに基づいて逆量子化して変換係数を出力する。ここで、量子化パラメータを誘導するための情報はエンコード装置からシグナリングされる。
【００５３】
逆変換部３２３は、変換係数を逆変換してレジデュアルサンプルを誘導する。
【００５４】
予測部３３０は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック（ｐｒｅｄｉｃｔｅｄ  ｂｌｏｃｋ）を生成する。予測部３３０において行われる予測の単位はコーディングブロックでもあり、変換ブロックでもあり、予測ブロックでもあり得る。
【００５５】
予測部３３０は、前記予測に関する情報に基づいてイントラ予測を適用するかインター予測を適用するかを決定する。ここで、イントラ予測とインター予測のうちいずれを適用するかを決定する単位と予測サンプルを生成する単位は相異なってもよい。あわせて、インター予測とイントラ予測において予測サンプルを生成する単位も相異なってもよい。例えば、インター予測とイントラ予測のうちいずれを適用するかはＣＵ単位で決定されることができる。また、例えば、インター予測においてＰＵ単位で予測モードを決定し、予測サンプルを生成することができ、イントラ予測においてＰＵ単位で予測モードを決定し、ＴＵ単位で予測サンプルを生成することもできる。
【００５６】
イントラ予測の場合、予測部３３０は、現在ピクチャ内の周辺参照サンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。予測部３３０は、現在ブロックの周辺参照サンプルに基づいて方向性モード又は非方向性モードを適用して現在ブロックに対する予測サンプルを誘導することができる。ここで、周辺ブロックのイントラ予測モードを利用して現在ブロックに適用する予測モードが決定されることもできる。
【００５７】
インター予測の場合、予測部３３０は、参照ピクチャ上において動きベクトルにより参照ピクチャ上において特定されるサンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。予測部３３０は、スキップ（ｓｋｉｐ）モード、マージ（ｍｅｒｇｅ）モード及びＭＶＰモードのうちいずれか１つを適用して現在ブロックに対する予測サンプルを誘導する。ここで、ビデオエンコード装置から提供された現在ブロックのインター予測に必要な動き情報、例えば、動きベクター、参照ピクチャインデックスなどに関する情報は、前記予測に関する情報に基づいて取得または誘導される。
【００５８】
スキップモードとマージモードの場合、周辺ブロックの動き情報が現在ブロックの動き情報として利用されてもよい。ここで、周辺ブロックは空間的周辺ブロックと時間的周辺ブロックを含む。
【００５９】
予測部３３０は、可用の周辺ブロックの動き情報としてマージ候補リストを構成し、マージインデックスがマージ候補リスト上において指示する情報を現在ブロックの動きベクターとして使用できる。マージインデックスはエンコード装置からシグナリングされる。動き情報は動きベクトルと参照ピクチャを含んでもよい。スキップモードとマージモードにおいて時間的周辺ブロックの動き情報が用いられる場合、参照ピクチャリスト上の最上位ピクチャが参照ピクチャとして利用されることができる。
【００６０】
スキップモードの場合、マージモードとは異なって予測サンプルと原本サンプルとの間の差（レジデュアル）が送信されない。
【００６１】
ＭＶＰモードの場合、周辺ブロックの動きベクトルを動きベクトル予測子（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｏｒ）として用いて現在ブロックの動きベクトルが誘導される。ここで、周辺ブロックは空間的周辺ブロックと時間的周辺ブロックを含む。
【００６２】
一例として、マージモードが適用される場合、復元された空間的周辺ブロックの動きベクトル及び／又は時間的周辺ブロックであるＣｏｌブロックに対応する動きベクトルを用いて、マージ候補リストが生成される。マージモードにおいては、マージ候補リストにおいて選択された候補ブロックの動きベクトルが現在ブロックの動きベクトルとして使用される。前記予測に関する情報は、前記マージ候補リストに含まれた候補ブロックのうち選択された最適な動きベクトルを有する候補ブロックを指示するマージインデックスを含む。ここで、予測部３３０は、前記マージインデックスを利用して、現在ブロックの動きベクトルを導出する。
【００６３】
他の例として、ＭＶＰ（Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）モードが適用される場合、復元された空間的周辺ブロックの動きベクトル及び／又は時間的周辺ブロックであるＣｏｌブロックに対応する動きベクトルを用いて、動きベクトル予測子候補リストが生成される。すなわち、復元された空間的周辺ブロックの動きベクトル及び／又は時間的周辺ブロックであるＣｏｌブロックに対応する動きベクトルは、動きベクトル候補として使用されることができる。前記予測に関する情報は、前記リストに含まれた動きベクトル候補のうち選択された最適の動きベクトルを指示する予測動きベクトルインデックスを含む。ここで、予測部３３０は、前記動きベクトルインデックスを用いて、動きベクトル候補リストに含まれた動きベクトル候補のうち、現在ブロックの予測動きベクトルを選択することができる。エンコード装置の予測部は、現在ブロックの動きベクトルと動きベクトル予測子との間の動きベクトル差分（ＭＶＤ）を求め、これをエンコードしてビットストリーム態形で出力する。すなわち、ＭＶＤは、現在ブロックの動きベクトルから前記動きベクトル予測子を減算した値として求められる。ここで、予測部３３０は、前記予測に関する情報に含まれた動きベクトル差分を取得し、前記動きベクトル差分と前記動きベクトル予測子の加算により現在ブロックの前記動きベクトルを導出する。予測部はまた、参照ピクチャを指示する参照ピクチャインデックスなどを前記予測に関する情報から取得又は誘導することができる。
【００６４】
加算部３４０は、レジデュアルサンプルと予測サンプルを加算して現在ブロック又は現在ピクチャを復元する。加算部３４０は、レジデュアルサンプルと予測サンプルをブロック単位で加算して現在ピクチャを復元することもできる。スキップモードが適用された場合はレジデュアルが送信されないので、予測サンプルが復元サンプルになり得る。ここでは加算部３４０を別途の構成として説明しているが、加算部３４０は予測部３３０の一部であってもよい。一方、加算部３４０は、復元部又は復元ブロック生成部と呼ばれてもよい。
【００６５】
フィルタ部３５０は、復元されたピクチャにデブロッキングフィルタリングサンプル適応的オフセット、及び／又はＡＬＦなどを適用することができる。ここで、サンプル適応的オフセットはサンプル単位で適用され、デブロッキングフィルタリング以後に適用されてもよい。ＡＬＦは、デブロッキングフィルタリング及び／又はサンプル適応的オフセット以後に適用されてもよい。
【００６６】
メモリ３６０は、復元ピクチャ（デコードされたピクチャ）又はデコードに必要な情報を格納する。ここで、復元ピクチャは、前記フィルタ部３５０によりフィルタリング手順が完了した復元ピクチャであり得る。例えば、メモリ３６０は、インター予測に使用されるピクチャを格納する。ここで、インター予測に使用されるピクチャは参照ピクチャセット又は参照ピクチャリストにより指定されることもある。復元されたピクチャは他のピクチャに対する参照ピクチャとして利用されることもある。また、メモリ３６０は復元されたピクチャを出力順序に従って出力することもある。
【００６７】
図４は、デコード装置により行われる画像デコード方法の一例を示す。図４に示すように、前記画像デコード方法は、エントロピーデコード（ｅｎｔｒｏｐｙ  ｄｅｃｏｄｉｎｇ）、逆量子化、逆変換（ｉｎｖｅｒｓｅ  ｔｒａｎｓｆｏｒｍ）及びイントラ／インター予測の過程を含む。例えば、デコード装置においては前記エンコード方法の逆過程が行われることができる。具体的に、ビットストリームに対するエントロピーデコードにより量子化された変換係数が取得され、前記量子化された変換係数に対する逆量子化過程により現在ブロックの係数ブロック、すなわち、変換係数が取得できる。前記変換係数に対する逆変換により前記現在ブロックのレジデュアルブロックが導出され、イントラ／インター予測により導出された前記現在ブロックの予測ブロックと前記レジデュアルブロックとの加算により前記現在ブロックの復元ブロック（ｒｅｃｏｎｓｔｒｕｃｔｅｄ  ｂｌｏｃｋ）が導出される。
【００６８】
一方、前述した変換により前記現在ブロックのレジデュアルブロックに対する低周波数（ｌｏｗｅｒ  ｆｒｅｑｕｅｎｃｙ）の変換係数が導出され、前記レジデュアルブロックの端部にはゼロテール（ｚｅｒｏ  ｔａｉｌ）が導出される。
【００６９】
具体的に、前記変換は２つの主要過程から構成され、前記主要過程は核心変換（ｃｏｒｅ  ｔｒａｎｓｆｏｒｍ）及び二次変換（ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ）を含む。前記核心変換及び前記二次変換を含む変換は、多重変換技法と言える。
【００７０】
図５は、本発明に従う多重変換技法を概略的に示す。
【００７１】
図５に示すように、変換部は、前述した図１のエンコード装置内の変換部に対応し、逆変換部は、前述した図１のエンコード装置内の逆変換部又は図３のデコード装置内の逆変換部に対応する。
【００７２】
変換部は、レジデュアルブロック内のレジデュアルサンプル（レジデュアルサンプルアレイ）に基づいて一次変換を行って（一次）変換係数を導出する（Ｓ５１０）。ここで、前記一次変換は適応的多重核心変換（Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉｐｌｅ  ｃｏｒｅ  ｔｒａｎｓｆｏｒｍ：ＡＭＴ）を含む。前記適応的多重核心変換は、ＭＴＳ（Ｍｕｌｔｉｐｌｅ  Ｔｒａｎｓｆｏｒｍ  Ｓｅｔ）と表現してもよい。
【００７３】
前記適応的多重核心変換は、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）タイプ２とＤＳＴ（Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）タイプ７、ＤＣＴタイプ８、及び／又はＤＳＴタイプ１を追加的に使用して変換する方式を示す。すなわち、前記適応的多重核心変換は、前記ＤＣＴタイプ２、前記ＤＳＴタイプ７、前記ＤＣＴタイプ８及び前記ＤＳＴタイプ１のうち選択された複数の変換カーネルに基づいて空間ドメインのレジデュアル信号（又は、レジデュアルブロック）を周波数ドメインの変換係数（又は、一次変換係数）に変換する変換方法を示す。ここで、前記一次変換係数は、変換部の立場から臨時変換係数と呼ばれてもよい。
【００７４】
言い換えれば、既存の変換方法が適用される場合、ＤＣＴタイプ２に基づいてレジデュアル信号（又は、レジデュアルブロック）に対する空間ドメインから周波数ドメインへの変換が適用されて変換係数が生成された。これとは異なり、前記適応的多重核心変換が適用される場合、ＤＣＴタイプ２、ＤＳＴタイプ７、ＤＣＴタイプ８、及び／又はＤＳＴタイプ１などに基づいてレジデュアル信号（又は、レジデュアルブロック）に対する空間ドメインから周波数ドメインへの変換が適用されて変換係数（又は、一次変換係数）が生成される。ここで、ＤＣＴタイプ２、ＤＳＴタイプ７、ＤＣＴタイプ８、及びＤＳＴタイプ１などは変換タイプ、変換カーネル（ｋｅｒｎｅｌ）又は変換コア（ｃｏｒｅ）と呼ばれてもよい。
【００７５】
参考として、前記ＤＣＴ／ＤＳＴ変換タイプは基底関数（ｂａｓｉｓ  ｆｕｎｃｔｉｏｎｓ）に基づいて定義され、前記基底関数は下記の表のように表現することができる。
【００７６】
【表１】
2021507597.tif 000003
【００７７】
前記適応的多重核心変換が行われる場合、前記変換カーネルのうち対象ブロックに対する垂直変換カーネル及び水平変換カーネルが選択され、前記垂直変換カーネルに基づいて前記対象ブロックに対する垂直変換が行われ、前記水平変換カーネルに基づいて前記対象ブロックに対する水平変換が行われる。ここで、前記水平変換は前記対象ブロックの水平成分に対する変換を示し、前記垂直変換は前記対象ブロックの垂直成分に対する変換を示す。前記垂直変換カーネル／水平変換カーネルは、レジデュアルブロックを囲む（ｅｎｃｏｍｐａｓｓ）対象ブロック（ＣＵ又はサブブロック）の予測モード及び／又は変換サブセットを示す変換インデックスに基づいて適応的に決定される。
【００７８】
例えば、前記適応的多重核心変換は、対象ブロックの幅（ｗｉｄｔｈ）及び高さ（ｈｅｉｇｈｔ）が両方とも６４より小さいか等しい場合に適用され、前記対象ブロックの前記適応的多重核心変換が適用されるか否かは、ＣＵレベルフラグに基づいて決定できる。具体的に、前記ＣＵレベルフラグが０である場合、前述の既存の変換方法が適用されることがある。すなわち、前記ＣＵレベルフラグが０である場合、前記ＤＣＴタイプ２に基づいてレジデュアル信号（又は、レジデュアルブロック）に対する空間ドメインから周波数ドメインへの変換が適用されて変換係数が生成され、前記変換係数がエンコードされる。一方、ここで、前記対象ブロックはＣＵであり得る。前記ＣＵレベルフラグが０である場合、前記適応的多重核心変換が前記対象ブロックに適用できる。
【００７９】
また、前記適応的多重核心変換が適用される対象ブロックのルーマブロックの場合、２つの追加的なフラグがシグナリングされ、前記フラグに基づいて垂直変換カーネル及び水平変換カーネルが選択される。前記垂直変換カーネルに対するフラグは、ＡＭＴ垂直フラグと表してもよく、ＡＭＴ＿ＴＵ＿ｖｅｒｔｉｃａｌ＿ｆｌａｇ（又は、ＥＭＴ＿ＴＵ＿ｖｅｒｔｉｃａｌ＿ｆｌａｇ）は、前記ＡＭＴ垂直フラグのシンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）を示す。前記水平変換カーネルに対するフラグは、ＡＭＴ水平フラグと表してもよく、ＡＭＴ＿ＴＵ＿ｈｏｒｉｚｏｎｔａｌ＿ｆｌａｇ（又は、ＥＭＴ＿ＴＵ＿ｈｏｒｉｚｏｎｔａｌ＿ｆｌａｇ）は、前記ＡＭＴ水平フラグのシンタックス要素を示す。前記ＡＭＴ垂直フラグは、前記垂直変換カーネルに対する変換サブセットに含まれた変換カーネル候補のうち１つの変換カーネル候補を示し、前記ＡＭＴ垂直フラグが示す変換カーネル候補は前記対象ブロックに対する垂直変換カーネルとして導出される。また、前記ＡＭＴ水平フラグは、前記水平変換カーネルに対する変換サブセットに含まれた変換カーネル候補のうち１つの変換カーネル候補を示し、前記ＡＭＴ水平フラグが示す変換カーネル候補は、前記対象ブロックに対する水平変換カーネルとして導出される。一方、前記ＡＭＴ垂直フラグはＭＴＳ垂直フラグと表してもよく、前記ＡＭＴ水平フラグはＭＴＳ水平フラグと表してもよい。
【００８０】
一方、３つの変換サブセットが既に設定され、前記対象ブロックに適用されたイントラ予測モードに基づいて前記変換サブセットのうち１つが前記垂直変換カーネルに対する変換サブセットとして導出される。また、前記対象ブロックに適用されたイントラ予測モードに基づいて前記変換サブセットのうち１つが前記水平変換カーネルに対する変換サブセットとして導出される。例えば、前記既に設定された変換サブセットは下記の表のように導出される。
【００８１】
【表２】
2021507597.tif 000004
【００８２】
表２を参照すると、インデックス値が０である変換サブセットは、ＤＳＴタイプ７及びＤＣＴタイプ８を変換カーネル候補として含む変換サブセットを示し、インデックス値が１である変換サブセットは、ＤＳＴタイプ７及びＤＣＴタイプ８を変換カーネル候補として含む変換サブセットを示す。
【００８３】
前記対象ブロックに適用されたイントラ予測モードに基づいて導出される前記垂直変換カーネルに対する変換サブセット及び前記水平変換カーネルに対する変換サブセットは、下記の表のように導出される。
【００８４】
【表３】
2021507597.tif 000005
【００８５】
ここで、Ｖは前記垂直変換カーネルに対する変換サブセットを示し、Ｈは前記水平変換カーネルに対する変換サブセットを示す。
【００８６】
前記対象ブロックに対するＡＭＴフラグ（又は、ＥＭＴ＿Ｃｕ＿ｆｌａｇ）の値が１である場合、表３に示すように前記対象ブロックのイントラ予測モードに基づいて前記垂直変換カーネルに対する変換サブセット及び前記水平変換カーネルに対する変換サブセットが導出される。以後、前記垂直変換カーネルに対する変換サブセットに含まれた変換カーネル候補のうち前記対象ブロックのＡＭＴ垂直フラグが示す変換カーネル候補が前記対象ブロックの垂直変換カーネルとして導出され、前記水平変換カーネル候補が前記対象ブロックの水平変換カーネルとして導出される。一方、前記ＡＭＴフラグはＭＴＳフラグと表してもよい。
【００８７】
参考として、例えば、イントラ予測モードは２つの非方向性（ｎｏｎ−ｄｉｒｅｃｔｉｏｎａｌ、又は、非角度性（ｎｏｎ−ａｎｇｕｌａｒ））イントラ予測モードと６５個の方向性（ｄｉｒｅｃｔｉｏｎａｌ、又は、角度性（ａｎｇｕｌａｒ））イントラ予測モードを含む。前記非方向性イントラ予測モードは、０番であるプランナー（ｐｌａｎａｒ）イントラ予測モード及び１番であるＤＣイントラ予測モードを含み、前記方向性イントラ予測モードは、２番ないし６６番の６５個のイントラ予測モードを含む。ただし、これは例示であって、本発明は、イントラ予測モードの数が異なる場合にも適用される。一方、場合によっては６７番であるイントラ予測モードがさらに使用されることもあり、前記６７番のイントラ予測モードはＬＭ（ｌｉｎｅａｒ  ｍｏｄｅｌ）モードを示すことができる。
【００８８】
図６は、６５個の予測方向のイントラ方向性モードを例示的に示す。
【００８９】
図６に示すように、左上向き対角予測方向を有する３４番のイントラ予測モードを中心に水平方向性（ｈｏｒｉｚｏｎｔａｌ  ｄｉｒｅｃｔｉｏｎａｌｉｔｙ）を有するイントラ予測モードと垂直方向性（ｖｅｒｔｉｃａｌ  ｄｉｒｅｃｔｉｏｎａｌｉｔｙ）を有するイントラ予測モードを区分することができる。図６のＨとＶはそれぞれ水平方向性と垂直方向性を意味し、−３２〜３２の数字はサンプルグリッドポジション（ｓａｍｐｌｅ  ｇｒｉｄ  ｐｏｓｉｔｉｏｎ）上において１／３２単位の変位を示す。２番ないし３３番のイントラ予測モードは水平方向性を有し、３４番ないし６６番のイントラ予測モードは垂直方向性を有する。１８番のイントラ予測モードと５０番のイントラ予測モードはそれぞれ水平イントラ予測モード（ｈｏｒｉｚｏｎｔａｌ  ｉｎｔｒａ  ｐｒｅｄｉｃｔｉｏｎ  ｍｏｄｅ）と、垂直イントラ予測モード（ｖｅｒｔｉｃａｌ  ｉｎｔｒａ  ｐｒｅｄｉｃｔｉｏｎ  ｍｏｄｅ）を示し、２番のイントラ予測モードは左下向き対角イントラ予測モード、３４番のイントラ予測モードは左上向き対角イントラ予測モード、６６番のイントラ予測モードは右上向きモードと呼ばれてもよい。
【００９０】
変換部は、前記（一次）変換係数に基づいて二次変換を行って（二次）変換係数を導出する（Ｓ５２０）。前記一次変換が空間ドメインから周波数ドメインへの変換であったとしたら、前記二次変換は周波数ドメインから周波数ドメインへの変換であるといえる。前記二次変換は非分離変換（ｎｏｎ−ｓｅｐａｒａｂｌｅ  ｔｒａｎｓｆｏｒｍ）を含む。この場合、前記二次変換は、非分離二次変換（ｎｏｎ−ｓｅｐａｒａｂｌｅ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ：ＮＳＳＴ）又はＭＤＮＳＳＴ（ｍｏｄｅ−ｄｅｐｅｎｄｅｎｔ  ｎｏｎ−ｓｅｐａｒａｂｌｅ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ）と呼ばれてもよい。前記非分離二次変換は、前記一次変換により導出された（一次）変換係数を非分離変換マトリックス（ｎｏｎ−ｓｅｐａｒａｂｌｅ  ｔｒａｎｓｆｏｒｍ  ｍａｔｒｉｘ）に基づいて二次変換してレジデュアル信号に対する変換係数（又は、二次変換係数）を生成する変換を示す。ここで、前記非分離変換マトリックスに基づいて前記（一次）変換係数に対して垂直変換及び水平変換を分離して（又は、水平垂直変換を独立的に）適用せずに一度に変換を適用することができる。言い換えれば、前記非分離二次変換は、前記非分離変換マトリックスに基づいて前記（一次）変換係数の垂直成分及び水平成分分離せずに共に変換して変換係数（又は、二次変換係数）を生成する変換方法を示す。前記非分離二次変換は、（一次）変換係数で構成されたブロック（以下、変換係数ブロック又は対象ブロックと呼ばれてもよい）の左上端（ｔｏｐ−ｌｅｆｔ）領域に対して適用される。例えば、前記変換係数ブロックの幅（Ｗ）及び高さ（Ｈ）が両方とも８以上である場合、８×８非分離二次変換が前記変換係数ブロックの左上端８×８領域（以下、左上端対象領域）に対して適用される。また、前記変換係数ブロックの幅（Ｗ）及び高さ（Ｈ）が両方とも４以上であるとともに、前記変換係数ブロックの幅（Ｗ）又は高さ（Ｈ）が８より小さい場合、４×４非分離二次変換が前記変換係数ブロックの左上端ｍｉｎ（８，Ｗ）×ｍｉｎ（８，Ｈ）領域に対して適用される。
【００９１】
具体的に、例えば、４×４入力ブロックが使用される場合、非分離二次変換は以下のように行われる。
【００９２】
前記４×４入力ブロックＸは次のように表現される。
【００９３】
【数１】
2021507597.tif 000006
【００９４】
前記Ｘをベクトル形態で示す場合、ベクトル
2021507597.tif 000007
は次のように表現される。
【００９５】
【数２】
2021507597.tif 000008
【００９６】
この場合、前記二次非分離変換は次のように計算される。
【００９７】
【数３】
2021507597.tif 000009
【００９８】
ここで、
2021507597.tif 000010
は変換係数ベクトルを示し、Ｔは１６×１６（非分離）変換メトリクスを示す。
【００９９】
前記数式３により１６×１変換係数ベクトル
2021507597.tif 000011
が導出され、前記
2021507597.tif 000012
はスキャン順序（水平、垂直、対角（ｄｉａｇｏｎａｌ）など）により４×４ブロックに再構成（ｒｅ−ｏｒｇａｎｉｚｅｄ）される。ただし、前述の計算は例示であって、非分離二次変換の計算複雑度を減らすためにＨｙＧＴ（Ｈｙｐｅｒｃｕｂｅ−Ｇｉｖｅｎｓ  Ｔｒａｎｓｆｏｒｍ）などが非分離二次変換の計算のために使用されることもある。
【０１００】
一方、前記非分離二次変換は、モード基盤（ｍｏｄｅ  ｄｅｐｅｎｄｅｎｔ）に変換カーネル（又は、変換コア、変換タイプ）が選択されることができる。ここで、モードは、イントラ予測モード及び／又はインター予測モードを含む。
【０１０１】
前述したように、前記非分離二次変換は、前記変換係数ブロックの幅（Ｗ）及び高さ（Ｈ）に基づいて決定された８×８変換又は４×４変換に基づいて行われる。すなわち、前記非分離二次変換は、８×８サブブロックサイズ又は４×４サブブロックサイズに基づいて行われる。例えば、前記モード基盤変換カーネルの選択のために、８×８サブブロックサイズ及び４×４サブブロックサイズの両方ともに対して非分離二次変換のための３つずつ３５セットの非分離二次変換カーネルが構成される。すなわち、８×８サブブロックサイズに対して３５個の変換セットが構成され、４×４サブブロックサイズに対して３５個の変換セットが構成される。この場合、８×８サブブロックサイズに対する３５個の変換セットにはそれぞれ３つずつの８×８変換カーネルが含まれ、この場合、４×４サブブロックサイズに対する３５個の変換セットにはそれぞれ３つずつの４×４変換カーネルが含まれる。ただし、前記変換サブブロックサイズ、前記セットの数及びセット内の変換カーネルの数は例示であって、８×８又は４×４以外のサイズが使用されてもよく、または、ｎ個のセットが構成され、各セット内にｋ個の変換カーネルが含まれてもよい。
【０１０２】
前記変換セットはＮＳＳＴセットと呼ばれてもよく、前記ＮＳＳＴセット内の変換カーネルはＮＳＳＴカーネルと呼ばれてもよい。前記変換セットのうち特定セットの選択は、例えば、対象ブロック（ＣＵ又はサブブロック）のイントラ予測モードに基づいて行われる。
【０１０３】
この場合、前記３５個の変換セットと前記イントラ予測モードの間のマッピング（ｍａｐｐｉｎｇ）は、例えば、以下の表のように示される。参考として、対象ブロックにＬＭモードが適用される場合、前記対象ブロックに対しては二次変換が適用されないことがある。
【０１０４】
【表４】
2021507597.tif 000013
【０１０５】
一方、特定セットが使用されることが決定すると、非分離二次変換インデックスにより前記特定セット内のｋ個の変換カーネルのうち１つが選択される。エンコード装置は、ＲＤ（ｒａｔｅ−ｄｉｓｔｏｒｔｉｏｎ）チェック基盤で特定変換カーネルを示す非分離二次変換インデックスを導出し、前記非分離二次変換インデックスをデコード装置にシグナリングする。デコード装置は、前記非分離二次変換インデックスに基づいて特定セット内のｋ個の変換カーネルのうち１つを選択する。例えば、ＮＳＳＴインデックス値０は１番目の非分離二次変換カーネルを示し、ＮＳＳＴインデックス値１は２番目の非分離二次変換カーネルを示し、ＮＳＳＴインデックス値２は３番目の非分離二次変換カーネルを示す。または、ＮＳＳＴインデックス値０は対象ブロックに対して１番目の非分離二次変換が適用されないことを示し、ＮＳＳＴインデックス値１ないし３は前記３つの変換カーネルを示す。
【０１０６】
図５をまた参照すると、変換部は、選択された変換カーネルに基づいて前記非分離二次変換を行い、（二次）変換係数を取得することができる。前記変換係数は、前述したように量子化部により量子化された変換係数として導出され、エンコードされてデコード装置にシグナリング及びエンコード装置内の逆量子化／逆変換部に伝達される。
【０１０７】
一方、二次変換が省略される場合、前記一次（分離）変換の出力である（一次）変換係数が前述したように量子化部により量子化された変換係数として導出され、エンコードされてデコード装置にシグナリング及びエンコード装置内の逆量子化／逆変換部に伝達される。
【０１０８】
逆変換部は、前述の変換部において行われた手順の逆順で一連の手順を行う。逆変換部は、（逆量子化された）変換係数を受信して、二次（逆）変換を行って（一次）変換係数を導出し（Ｓ５５０）、前記（一次）変換係数に対して一次（逆）変換を行ってレジデュアルブロック（レジデュアルサンプル）を取得する。ここで、前記一次変換係数は、逆変換部の立場から修正された（ｍｏｄｉｆｉｅｄ）変換係数と呼ばれてもよい。エンコード装置及びデコード装置は、前記レジデュアルブロックと予測されたブロックに基づいて復元ブロックを生成し、これに基づいて復元ピクチャを生成できることは前述の通りである。
【０１０９】
一方、前述したように、二次（逆）変換が省略される場合、（逆量子化された）変換係数を受信して前記一次（分離）変換を行ってレジデュアルブロック（レジデュアルサンプル）を取得する。エンコード装置及びデコード装置は、前記レジデュアルブロックと予測されたブロックに基づいて復元ブロックを生成し、これに基づいて復元ピクチャを生成できることは前述の通りである。
【０１１０】
一方、前述の非分離二次変換は、変換スキップモードでコーディングされたブロックに対しては適用されないことがある。例えば、対象ＣＵに対するＮＳＳＴインデックスがシグナリングされ、前記ＮＳＳＴインデックスの値が０でない場合、前記対象ＣＵ内の変換スキップモードでコーディングされたブロックに対して前記非分離二次変換は適用されないことがある。また、全ての構成要素（ルーマ成分、クロマ成分など）のブロックを含む前記対象ＣＵが前記変換スキップモードでコーディングされた場合、又は、前記対象ＣＵに対する変換係数のうち０でない変換係数の個数が２より小さい場合、前記ＮＳＳＴインデックスはシグナリングされないことがある。具体的な変換係数のコーディング過程は次のようである。
【０１１１】
図７ａ及び図７ｂは、一実施形態による変換係数のコーディング過程を示すフローチャートである。
【０１１２】
図７ａ及び図７ｂに開示された各ステップは、図１及び図３に開示されたエンコード装置１００又はデコード装置３００により行われ、より具体的には、図１に開示されたエントロピーエンコード部１３０及び図３に開示されたエントロピーデコード部３１０により行われる。従って、図１又は図３において前述された内容と重複する具体的な内容は説明を省略するか簡単にする。
【０１１３】
本明細書においては、特定情報又は概念を定義するための用語又は文章を使用している。例えば、本明細書においては、「対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグ」をｃｂｆと表現している。しかしながら、「ｃｂｆ」は、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｆｌａｇなどの多様な用語に置き換えることができるので、本明細書において特定情報又は概念を定義するために用いられた用語又は文章を明細書全般で解釈するにおいて、その名称に限った解釈を行ってはならず、前記用語の意味による多様な動作、機能及び効果に注目して解釈する必要がある。
【０１１４】
図７ａは、変換係数のエンコード過程を示す。
【０１１５】
一実施形態によるエンコード装置１００は、対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグが１を示すか否かを判断する（Ｓ７００）。対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグが１を示す場合、対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在する。逆に、対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグが０を示す場合、対象ブロックに対する変換係数は全て０を示す。
【０１１６】
対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグは、例えば、ｃｂｆフラグと表現される。ｃｂｆフラグはルーマブロックに対するｃｂｆ＿ｌｕｍａ［ｘ０］［ｙ０］［ｔｒａｆｏＤｅｐｔｈ］及びクロマブロックに対するｃｂｆ＿ｃｂ［ｘ０］［ｙ０］［ｔｒａｆｏＤｅｐｔｈ］及びｃｂｆ＿ｃｒ［ｘ０］［ｙ０］［ｔｒａｆｏＤｅｐｔｈ］フラグを含む。ここで、アレイインデックスｘ０及びｙ０は現在ピクチャの左上端（ｔｏｐ−ｌｅｆｔ）ルーマ／クロマサンプルに対する対象ブロックの左上端ルーマ／クロマサンプルの位置を意味し、アレイインデックスｔｒａｆｏＤｅｐｔｈは変換コーディングを目的にしてコーディングブロックが分割されたレベルを意味し得る。ｔｒａｆｏＤｅｐｔｈが０を示すブロックがコーディングブロックと対応し、コーディングブロックと変換ブロックが同一に定義された場合は、ｔｒａｆｏＤｅｐｔｈが０とみなされる。
【０１１７】
一実施形態によるエンコード装置１００は、Ｓ７００で対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグが１を示す場合、対象ブロックに対する変換係数に関する情報をエンコードする（Ｓ７１０）。
【０１１８】
対象ブロックに対する変換係数に関する情報は、例えば、０ではない最後の変換係数の位置に関する情報、対象ブロックのサブグループに０でない変換係数が含まれるか否かを示すグループフラグ情報及び簡素化係数に関する情報のうち少なくとも１つを含む。各情報に関する具体的な説明は後述する。
【０１１９】
一実施形態によるエンコード装置１００は、ＮＳＳＴを行う条件に該当するか否かを判断する（Ｓ７２０）。より具体的に、エンコード装置１００は、ＮＳＳＴインデックスをエンコードする条件に該当するか否かを判断する。ここで、ＮＳＳＴインデックスは、例えば、変換インデックス（ｔｒａｎｓｆｏｒｍ  ｉｎｄｅｘ）と呼ばれてもよい。
【０１２０】
一実施形態によるエンコード装置１００は、Ｓ７２０でＮＳＳＴを行う条件に該当すると判断された場合、ＮＳＳＴインデックスをエンコードする（Ｓ７３０）。より具体的に、エンコード装置１００は、ＮＳＳＴインデックスをエンコードする条件に該当すると判断される場合、ＮＳＳＴインデックスをエンコードする。
【０１２１】
一実施形態によるエンコード装置１００は、Ｓ７００で対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグが０を示す場合、Ｓ７１０、Ｓ７２０及びＳ７３０に従う動作を省略することができる。
【０１２２】
また、一実施形態によるエンコード装置１００は、Ｓ７２０でＮＳＳＴを行う条件に該当しないと判断された場合、Ｓ７３０に従う動作を省略することができる。
【０１２３】
図７ｂは、変換係数のデコード過程を示す。
【０１２４】
一実施形態によるデコード装置３００は、対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグが１を示すか否かを判断する（Ｓ７４０）。対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグが１を示す場合、対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在する。逆に、対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグが０を示す場合、対象ブロックに対する変換係数は全て０を示す。
【０１２５】
一実施形態によるデコード装置３００は、Ｓ７４０で対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグが１を示す場合、対象ブロックに対する変換係数に関する情報をデコードする（Ｓ７５０）。
【０１２６】
一実施形態によるデコード装置３００は、ＮＳＳＴを行う条件に該当するか否かを判断する（Ｓ７６０）。より具体的に、デコード装置３００は、ＮＳＳＴインデックスをビットストリームからデコードする条件に該当するか否かを判断する。
【０１２７】
一実施形態によるデコード装置３００は、Ｓ７６０でＮＳＳＴを行う条件に該当すると判断された場合、ＮＳＳＴインデックスをデコードする（Ｓ７７０）。
【０１２８】
一実施形態によるデコード装置３００は、Ｓ７４０で対象ブロックに対する変換係数のうち０でない変換係数が少なくとも１つ存在するか否かを示すフラグが０を示す場合、Ｓ７５０、Ｓ７６０及びＳ７７０に従う動作を省略することができる。
【０１２９】
また、一実施形態によるデコード装置３００は、Ｓ７６０でＮＳＳＴを行う条件に該当しないと判断された場合、Ｓ７７０に従う動作を省略することができる。
【０１３０】
前述のようにＮＳＳＴが行われない場合に前記ＮＳＳＴインデックスがシグナリングされることは、コーディング効率を低下させる可能性がある。また、特定条件に応じて前記ＮＳＳＴインデックスのコーディング方法を異なるようにする方案が、全般的な画像のコーディング効率を向上させることができる。従って、本発明においては、様々なＮＳＳＴインデックスコーディング方法を提案する。
【０１３１】
一例として、特定条件に基づいて前記ＮＳＳＴインデックス範囲が決定される。言い換えれば、特定条件に基づいて前記ＮＳＳＴインデックスの値の範囲が決定されることができる。具体的に、前記特定条件に基づいて前記ＮＳＳＴインデックスの最大値が決定される。
【０１３２】
例えば、ブロックサイズに基づいて前記ＮＳＳＴインデックスの値の範囲が決定される。ここで、前記ブロックサイズは最小（Ｗ，Ｈ）と定義される。前記Ｗは幅（ｗｉｄｔｈ）を示し、Ｈは高さ（ｈｅｉｇｈｔ）を示す。この場合、対象ブロックの幅と前記Ｗとの比較、前記対象ブロックの高さと前記最小Ｈとの比較により、前記ＮＳＳＴインデックスの値の範囲が決定される。
【０１３３】
または、前記ブロックサイズはブロックのサンプル数である（Ｗ＊Ｈ）と定義される。この場合、対象ブロックのサンプル数であるＷ＊Ｈと特定値との比較により前記ＮＳＳＴインデックスの値の範囲が決定される。
【０１３４】
また、例えば、ブロックの形状（ｓｈａｐｅ）、すなわち、ブロックタイプ（ｔｙｐｅ）に基づいて前記ＮＳＳＴインデックスの値の範囲が決定できる。ここで、前記ブロックタイプは正方形（ｓｑｕａｒｅ）ブロック又は非正方形（ｎｏｎ−ｓｑｕａｒｅ）ブロックと定義される。この場合、対象ブロックが正方形ブロック又は非正方形ブロックであるかに基づいて前記ＮＳＳＴインデックスの値の範囲が決定される。
【０１３５】
または、前記ブロックタイプは、ブロックの長い辺（幅及び高さのうち長い辺）と短い辺の割合（ｒａｔｉｏ）と定義される。この場合、対象ブロックの長い辺と短い辺の割合と既設定の臨界値（例えば、２又は３）との比較により前記ＮＳＳＴインデックスの値の範囲が決定される。ここで、前記割合は前記短い辺により前記長い辺を割った値を示す。例えば、前記対象ブロックの幅が高さよりも長い場合、前記幅を前記高さに割った値と前記既設定の臨界値との比較により前記ＮＳＳＴインデックスの値の範囲が決定される。また、前記対象ブロックの高さが幅より長い場合、前記高さを前記幅で割った値と前記既設定の臨界値との比較により前記ＮＳＳＴインデックスの値の範囲が決定される。
【０１３６】
また、例えば、ブロックに適用されるイントラ予測モードに基づいて前記ＮＳＳＴインデックスの値の範囲が決定される。一例として、前記対象ブロックに適用されるイントラ予測モードが非方向性イントラ予測モード又は方向性イントラ予測モードであるかに基づいて前記ＮＳＳＴインデックスの値の範囲が決定される。
【０１３７】
または、他の例として、前記対象ブロックに適用されるイントラ予測モードがカテゴリＡ（Ｃａｔｅｇｏｒｙ  Ａ）又はカテゴリＢ（Ｃａｔｅｇｏｒｙ  Ｂ）に含まれたイントラ予測モードであるかに基づいて前記ＮＳＳＴインデックスの値の範囲が決定される。ここで、一例として、前記カテゴリＡは、２番のイントラ予測モード、１０番のイントラ予測モード、１８番のイントラ予測モード、２６番のイントラ予測モード、３４番のイントラ予測モード、４２番のイントラ予測モード、５０番のイントラ予測モード、５８番のイントラ予測モード及び６６番のイントラ予測モードを含み、前記カテゴリＢは、前記カテゴリＡに含まれるイントラ予測モード以外のイントラ予測モードを含む。前記カテゴリＡに含まれたイントラ予測モードは既に設定されてもよく、前記カテゴリＡ及び前記カテゴリＢは前述した例と異なるイントラ予測モードを含むと既に設定されてもよい。
【０１３８】
または、他の例として、ブロックのＡＭＴファクター（ｆａｃｔｏｒ）に基づいて前記ＮＳＳＴインデックスの値の範囲が決定される。前記ＡＭＴファクターはＭＴＳファクターと示してもよい。
【０１３９】
例えば、前記ＡＭＴファクターは、前述のＡＭＴフラグと定義されてもよい。この場合、前記対象ブロックのＡＭＴフラグの値に基づいて前記ＮＳＳＴインデックスの値の範囲が決定される。
【０１４０】
または、前記ＡＭＴファクターは、前述のＡＭＴ垂直フラグ及び／又はＡＭＴ水平フラグと定義されてもよい。この場合、前記対象ブロックの前記ＡＭＴ垂直フラグ及び／又は前記ＡＭＴ水平フラグの値に基づいて前記ＮＳＳＴインデックスの値の範囲が決定される。
【０１４１】
または、前記ＡＭＴファクターは、多重核心変換において適用された変換カーネルと定義されてもよい。この場合、前記対象ブロックの多重核心変換において適用された変換カーネルに基づいて前記ＮＳＳＴインデックスの値の範囲が決定される。
【０１４２】
または、他の例として、ブロックの成分に基づいて前記ＮＳＳＴインデックスの値の範囲が決定される。例えば、前記対象ブロックのルーマブロックに対するＮＳＳＴインデックスの値の範囲と前記対象ブロックのクロマブロックに対する前記ＮＳＳＴインデックスの値の範囲は相異なるように適用されることができる。
【０１４３】
一方、前述の特定条件の組み合わせにより前記ＮＳＳＴインデックスの値の範囲が決定されることもある。
【０１４４】
前記特定条件に基づいて決定される前記ＮＳＳＴインデックスの値の範囲、すなわち、前記ＮＳＳＴインデックスの最大値は多様に設定されることができる。
【０１４５】
例えば、前記特定条件に基づいて前記ＮＳＳＴインデックスの最大値はＲ１、Ｒ２又はＲ３と決定される。具体的に、前記特定条件がカテゴリＡに該当する場合、前記ＮＳＳＴインデックスの最大値はＲ１として導出され、前記特定条件がカテゴリＢに該当する場合、前記ＮＳＳＴインデックスの最大値はＲ２として導出され、前記特定条件がカテゴリＣに該当する場合、前記ＮＳＳＴインデックスの最大値はＲ３として導出される。
【０１４６】
前記カテゴリＡに対するＲ１、前記カテゴリＢに対するＲ２、前記カテゴリＣに対するＲ３は、以下の表のように導出される。
【０１４７】
【表５】
2021507597.tif 000014
【０１４８】
前記Ｒ１、前記Ｒ２、前記Ｒ３は既に設定されてもよい。例えば、前記Ｒ１、前記Ｒ２、前記Ｒ３の関係は以下の数式のように導出される。
【０１４９】
【数４】
2021507597.tif 000015
【０１５０】
数式４を参照すると、前記Ｒ１は０より大きいか等しく、前記Ｒ２は前記Ｒ１より大きく、前記Ｒ３は前記Ｒ２より大きい。一方、前記Ｒ１が０である場合に前記対象ブロックに対する前記ＮＳＳＴインデックスの最大値が前記Ｒ１と決定された場合、前記ＮＳＳＴインデックスはシグナリングされずに、前記ＮＳＳＴインデックスの値は０として導出（ｉｎｆｅｒｒｅｄ）される。
【０１５１】
また、本発明においては、暗示的（ｉｍｐｌｉｃｉｔ）ＮＳＳＴインデックスコーディング方法が提案される。
【０１５２】
一般に、ＮＳＳＴが適用される場合、変換係数のうち０でない変換係数の分布は変更されることができる。特に、特定条件において二次変換としてＲＳＴ（ｒｅｄｕｃｅｄ  ｓｅｃｏｎｄａｒｙ  ｔｒａｎｓｆｏｒｍ）が使用される場合、ＮＳＳＴインデックスはコーディングされないことがある。
【０１５３】
ここで、前記ＲＳＴは、非分離変換マトリックスとして簡素化変換マトリックスを使用する二次変換を示し、前記簡素化変換マトリックスは、Ｎ次元ベクトル（Ｎ  ｄｉｍｅｎｓｉｏｎａｌ  ｖｅｃｔｏｒ）が他の空間に位置するＲ次元ベクトル（Ｒ  ｄｉｍｅｎｓｉｏｎａｌ  ｖｅｃｔｏｒ）にマッピングされて決定され、ここで、ＲはＮより小さい。前記Ｎは、変換が適用されるブロックの一辺の長さ（ｌｅｎｇｔｈ）の二乗又は変換が適用されるブロックと対応する変換係数の総数を意味し、簡素化ファクターはＲ／Ｎ値を意味し得る。簡素化ファクターは減少したファクター、減少ファクター、ｒｅｄｕｃｅｄ  ｆａｃｔｏｒ、ｒｅｄｕｃｔｉｏｎ  ｆａｃｔｏｒ、ｓｉｍｐｌｉｆｉｅｄ  ｆａｃｔｏｒ、ｓｉｍｐｌｅ  ｆａｃｔｏｒなどの多様な用語と呼ばれる。一方、Ｒは簡素化係数（ｒｅｄｕｃｅｄ  ｃｏｅｆｆｉｃｉｅｎｔ）と呼ばれてもよいが、場合によっては簡素化ファクターがＲを意味することもある。また、場合によっては簡素化ファクターはＮ／Ｒ値を意味することもある。
【０１５４】
一実施形態による前記簡素化変換マトリックスのサイズは、通常の変換マトリックスのサイズＮ×Ｎより小さいＲ×Ｎであり、下記の数式５のように定義される。
【０１５５】
【数５】
2021507597.tif 000016
【０１５６】
対象ブロックの一次変換が適用された変換係数に対して簡素化変換マトリクスＴＲ×Ｎが乗算される場合、前記対象ブロックに対する（二次）変換係数が導出される。
【０１５７】
前記ＲＳＴが適用される場合、二次変換にＲ×Ｎサイズである簡素化変換マトリックスが適用されるので、Ｒ＋１からＮまでの変換係数は暗示的に（ｉｍｐｌｉｃｉｔｌｙ）０となり得る。言い換えれば、対象ブロックの変換係数が前記ＲＳＴが適用されて導出された場合、前記Ｒ＋１からＮまでの変換係数の値は０であり得る。ここで、前記Ｒ＋１からＮまでの変換係数は変換係数のうちＲ＋１番目の変換係数からＮ番目の変換係数を示す。具体的に、対象ブロックの変換係数の配列は次のように説明できる。
【０１５８】
図８は、本発明の実施形態による対象ブロックに基づいて変換係数の配列を説明するための図である。以下、図８において後述する変換に関する説明は、逆変換にも同様に適用される。対象ブロック（又は、レジデュアルブロック）８００に対して、一次変換及び簡素化変換に基づいたＮＳＳＴ（二次変換の一例）が行われる。一例において、図８に示された１６×１６ブロックは対象ブロック８００示し、ＡないしＰと表記された４×４ブロックは対象ブロック８００のサブグループを示す。一次変換は対象ブロック８００全体の範囲において行われ、一次変換が行われた後、ＮＳＳＴはサブグループＡ、Ｂ、Ｅ及びＦが構成する８×８ブロック（以下、左上端対象領域）に対して適用される。ここで、簡素化変換に基づいたＮＳＳＴが行われると、Ｒ個（ここで、Ｒは簡素化係数を意味し、ＲはＮより小さい）のＮＳＳＴ変換係数のみが導出されるので、Ｒ＋１番目からＮ番目の範囲のＮＳＳＴ変換係数はそれぞれ０と決定される。Ｒが、例えば、１６である場合、簡素化変換に基づいたＮＳＳＴが行われて導出された１６個の変換係数は、対象ブロック８００の左上端対象領域に含まれる左上端４×４ブロックであるサブグループＡに含まれた各ブロックに割り当てられ、サブグループＢ、Ｅ及びＦに含まれたＮ−Ｒ個、すなわち、６４−１６＝４８個の各ブロックに対しては変換係数０が割り当てられる。簡素化変換に基づいたＮＳＳＴが行われない一次変換係数は、サブグループＣ、Ｄ、Ｇ、Ｈ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍ、Ｎ、Ｏ及びＰに含まれた各ブロックに割り当てられる。
【０１５９】
従って、Ｒ＋１からＮまでの変換係数をスキャンして０でない変換係数が少なくとも１つでも導出される場合、前記ＲＳＴは適用されないと判断され、前記ＮＳＳＴインデックスの値は、別途のシグナリングなしに暗示的に０になり得る。すなわち、Ｒ＋１からＮまでの変換係数をスキャンして０でない変換係数が少なくとも１つでも導出される場合、前記ＲＳＴは適用されず、前記ＮＳＳＴインデックスの値は別途のシグナリングなしに０として導出される。
【０１６０】
図９は、Ｒ＋１からＮまでの変換係数をスキャンする一例を示す。
【０１６１】
図９に示すように、変換が適用される対象ブロックのサイズが６４×６４であり、Ｒ＝１６（すなわち、Ｒ／Ｎ＝１６／６４＝１／４である）であり得る。すなわち、図９は、前記対象ブロックの左上端対象領域を示す。前記対象ブロックの前記左上端対象領域の６４個のサンプルに対する二次変換に１６×６４サイズの簡素化変換マトリックスが適用されることがある。この場合、前記左上端対象領域に前記ＲＳＴが適用されると、１７から６４（Ｎ）までの変換係数の値は０でなければならない。言い換えれば、前記対象ブロックの１７から６４までの変換係数のうち０でない変換係数が少なくとも１つでも導出される場合、前記ＲＳＴは適用されず、前記ＮＳＳＴインデックスの値は、別途のシグナリングなしに０として導出される。従って、デコード装置は、対象ブロックの変換係数をデコードし、デコードされた変換係数のうち１７から６４までの変換係数をスキャンし、０でない変換係数が導出される場合、前記ＮＳＳＴインデックスに対する別途のシンタックス要素のシグナリングなしに前記ＮＳＳＴインデックスの値を０として導出することができる。一方、前記１７から６４までの変換係数のうち０でない変換係数が存在しない場合、デコード装置は前記ＮＳＳＴインデックスを受信し、デコードすることができる。
【０１６２】
図１０ａ及び図１０ｂは、一実施形態によるＮＳＳＴインデックスのコーディング過程を示すフローチャートである。
【０１６３】
図１０ａは、ＮＳＳＴインデックスのエンコード過程を示している。
【０１６４】
エンコード装置は、対象ブロックに対する変換係数をエンコードする（Ｓ１０００）。エンコード装置は、量子化された変換係数に対するエントロピーエンコードを行う。エントロピーエンコードは、例えば、指数ゴロム（ｅｘｐｏｎｅｎｔｉａｌ  Ｇｏｌｏｍｂ）、ＣＡＶＬＣ（ｃｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｉｎｇ）、ＣＡＢＡＣ（ｃｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ  ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ）などのエンコード方法を含む。
【０１６５】
エンコード装置は、対象ブロックに対する（明示的な（ｅｘｐｌｉｃｉｔ））ＮＳＳＴインデックスがコーディングされるか否かを判断する（Ｓ１０１０）。ここで、前記明示的な（ｅｘｐｌｉｃｉｔ）ＮＳＳＴインデックスはデコード装置に伝達されるＮＳＳＴインデックスを示す。すなわち、エンコード装置は、シグナリングされるＮＳＳＴインデックスを生成するか否かを判断することができる。言い換えれば、エンコード装置は、ＮＳＳＴインデックスに対するシンタックス要素のためのビットを割り当てるか否かを判断することができる。前述の実施形態のようにＮＳＳＴインデックスがシグナリングされなくてもデコード装置が前記ＮＳＳＴインデックスの値を導出できる場合は、エンコード装置は前記ＮＳＳＴインデックスをコーディングしないことがある。ＮＳＳＴインデックスがコーディングされるか否かを判断する具体的な過程は後述する。
【０１６６】
前記（明示的な）ＮＳＳＴインデックスがコーディングされると判断された場合、エンコード装置は前記ＮＳＳＴインデックスをエンコードする（Ｓ１０２０）。
【０１６７】
図１０ｂは、ＮＳＳＴインデックスのデコード過程を示している。
【０１６８】
デコード装置は、対象ブロックに対する変換係数をデコードする（Ｓ１０３０）。
【０１６９】
デコード装置は、対象ブロックに対する（明示的な（ｅｘｐｌｉｃｉｔ））ＮＳＳＴインデックスがコーディングされるか否かを判断する（Ｓ１０４０）。ここで、前記明示的な（ｅｘｐｌｉｃｉｔ）ＮＳＳＴインデックスは、エンコード装置からシグナリングされるＮＳＳＴインデックスを示す。前述した実施形態のようにＮＳＳＴインデックスがシグナリングされなくてもデコード装置が前記ＮＳＳＴインデックスの値を導出できる場合は、エンコード装置から前記ＮＳＳＴインデックスがシグナリングされないことがある。ＮＳＳＴインデックスがコーディングされるか否かを判断する具体的な過程は後述する。
【０１７０】
前記（明示的な）ＮＳＳＴインデックスがコーディングされると判断された場合、エンコード装置はＮＳＳＴインデックスをデコードする（Ｓ１０４０）。
【０１７１】
図１１は、ＮＳＳＴインデックスがコーディングされるか否かを判断する一例を示す。
【０１７２】
エンコード装置／デコード装置は、対象ブロックに対するＮＳＳＴインデックスをコーディングする条件に該当するか否かを判断する（Ｓ１１００）。例えば、前記対象ブロックに対するｃｂｆフラグが０を示す場合、エンコード装置／デコード装置は、前記対象ブロックに対するＮＳＳＴインデックスをコーディングしないと判断する。または、前記対象ブロックが変換スキップモードでコーディングされた場合、または、前記対象ブロックに対する変換係数のうち０でない変換係数の個数が既設定の臨界値より小さい場合、エンコード装置／デコード装置は、前記対象ブロックに対するＮＳＳＴインデックスをコーディングしないと判断する。例えば、前記既設定の臨界値は２であり得る。
【０１７３】
前記対象ブロックに対するＮＳＳＴインデックスをコーディングする条件に該当する場合、エンコード装置／デコード装置はＲ＋１からＮまでの変換係数をスキャンする（Ｓ１１１０）。前記Ｒ＋１からＮまでの変換係数は、前記変換係数のうちスキャンオーダー（ｓｃａｎ  ｏｒｄｅｒ）上、Ｒ＋１番目からＮ番目までの変換係数を示す。
【０１７４】
エンコード装置／デコード装置は、前記Ｒ＋１からＮまでの変換係数のうち０でない変換係数が導出されるか否かを判断する（Ｓ１１２０）。前記Ｒ＋１からＮまでの変換係数のうち０でない変換係数が導出された場合、エンコード装置／デコード装置は前記対象ブロックに対するＮＳＳＴインデックスをコーディングしないと判断する。この場合、エンコード装置／デコード装置は、前記対象ブロックに対するＮＳＳＴインデックスの値を０として導出することができる。言い換えれば、例えば、値が０であるＮＳＳＴインデックスがＮＳＳＴが適用されないことを示す場合、エンコード装置／デコード装置は前記対象ブロックの左上端対象領域に対するＮＳＳＴを行わないことがある。
【０１７５】
一方、前記Ｒ＋１からＮまでの変換係数のうち０でない変換係数が導出されていない場合、エンコード装置は前記対象ブロックに対するＮＳＳＴインデックスをエンコードし、デコード装置は前記対象ブロックに対するＮＳＳＴインデックスをデコードする。
【０１７６】
一方、前記対象ブロックの成分（ルーマ成分、クロマＣｂ成分、クロマＣｒ成分）が共通的な前記ＮＳＳＴインデックスを使用することが提案される。
【０１７７】
例えば、前記対象ブロックのクロマＣｂブロックと前記対象ブロックのクロマＣｒブロックに対して同一のＮＳＳＴインデックスが使用される。また、他の例として、前記対象ブロックのルーマブロック、前記対象ブロックのクロマＣｂブロック及び前記対象ブロックのクロマＣｒブロックに対して同一のＮＳＳＴインデックスが使用される。
【０１７８】
前記対象ブロックの２つ又は３つの成分が同一のＮＳＳＴインデックスを使用する場合、エンコード装置は、全ての成分（対象ブロックのルーマブロック、クロマＣｂブロック、クロマＣｒブロック）のＲ＋１からＮまでの変換係数をスキャンし、０でない変換係数が少なくとも１つ以上導出される場合、前記ＮＳＳＴインデックスをエンコードせずに、前記ＮＳＳＴインデックスの値を０として導出する。また、デコード装置は、全ての成分（対象ブロックのルーマブロック、クロマＣｂブロック、クロマＣｒブロック）のＲ＋１からＮまでの変換係数をスキャンし、０でない変換係数が少なくとも１つ以上導出される場合、前記ＮＳＳＴインデックスをデコードせずに、前記ＮＳＳＴインデックスの値を０として導出する。
【０１７９】
図１２は、対象ブロックの全ての成分に対するＲ＋１からＮまでの変換係数をスキャンする一例を示す。
【０１８０】
図１２に示すように、変換が適用される対象ブロックのルーマブロック、クロマＣｂブロック及びクロマＣｒブロックのサイズが６４×６４であり、Ｒ＝１６（すなわち、Ｒ/Ｎ＝１６／６４＝１／４である）であり得る。すなわち、図１２は、前記ルーマブロックの左上端対象領域、前記クロマＣｂブロックの左上端対象領域及び前記クロマＣｒブロックの左上端対象領域を示す。従って、前記ルーマブロックの左上端対象領域、前記クロマＣｂブロックの左上端対象領域、及び前記クロマＣｒブロックの左上端対象領域のそれぞれの６４個のサンプルに対する二次変換に１６×６４サイズの簡素化変換マトリックスが適用されることができる。この場合、前記ルーマブロックの左上端対象領域、前記クロマＣｂブロックの左上端対象領域及び前記クロマＣｒブロックの左上端対象領域に前記ＲＳＴが適用されると、各ブロックの１７から６４（Ｎ）までの変換係数の値は０でなければならない。言い換えれば、各ブロックの１７から６４までの変換係数のうち０でない変換係数が少なくとも１つでも導出される場合、前記ＲＳＴは適用されず、前記ＮＳＳＴインデックスの値は、別途のシグナリングなしに０として導出される。従って、デコード装置は、対象ブロックの全ての成分に対する変換係数をデコードし、デコードされた変換係数のうち前記ルーマブロック、前記クロマＣｂブロック及び前記クロマＣｒブロックの１７から６４までの変換係数をスキャンし、０でない変換係数が導出される場合、前記ＮＳＳＴインデックスに対する別途のシンタックス要素のシグナリングなしに前記ＮＳＳＴインデックスの値を０として導出する。一方、前記１７から６４までの変換係数のうち０でない変換係数が存在しない場合、デコード装置は、前記ＮＳＳＴインデックスを受信し、デコードすることができる。前記ＮＳＳＴインデックスは、前記ルーマブロック、前記クロマＣｂブロック及び前記クロマＣｒブロックに対するインデックスとして使用される。
【０１８１】
また、本発明では、上位レベルにおいてＮＳＳＴインデックスインジケータをシグナリングする方案が提案される。ＮＳＳＴ＿Ｉｄｘ＿ｉｎｄｉｃａｔｏｒは、前記ＮＳＳＴインデックスインジケータに対するシンタックス要素を示す。例えば、前記ＮＳＳＴインデックスインジケータはＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）レベルでコーディングされ、前記ＮＳＳＴインデックスインジケータは対象ＣＴＵにＮＳＳＴが適用されるか否かを示す。すなわち、前記ＮＳＳＴインデックスインジケータは、対象ＣＴＵにＮＳＳＴが可用であるか否かを示す。具体的には、前記対象ＣＴＵに対する前記ＮＳＳＴインデックスインジケータが活性化された（ｅｎａｂｌｅｄ）場合（前記対象ＣＴＵにＮＳＳＴが可能である場合）、すなわち、前記ＮＳＳＴインデックスインジケータの値が１である場合、対象ＣＴＵに含まれるＣＵ又はＴＵに対するＮＳＳＴインデックスがコーディングされる。前記対象ＣＴＵに対する前記ＮＳＳＴインデックスインジケータが活性化していない場合（前記対象ＣＴＵにＮＳＳＴが可用でない場合）、すなわち、前記ＮＳＳＴインデックスインジケータの値が０である場合、対象ＣＴＵに含まれたＣＵ又はＴＵに対するＮＳＳＴインデックスがコーディングされない。一方、前記ＮＳＳＴインデックスインジケータは、前述したようにＣＴＵレベルでコーディングされることができ、また、他の任意のサイズのサンプルグループレベルでコーディングされることもできる。例えば、前記ＮＳＳＴインデックスインジケータはＣＵ（Ｃｏｄｉｎｇ  Ｕｎｉｔ）レベルでコーディングされることもできる。
【０１８２】
図１３は、本発明に従うエンコード装置による画像エンコード方法を概略的に示す。図１３に開示された方法は、図１に開示されたエンコード装置により行われることができる。具体的には、例えば、図１３のＳ１３００は前記エンコード装置の減算部、Ｓ１３１０は前記エンコード装置の変換部、Ｓ１３２０ないしＳ１３３０は前記エンコード装置のエントロピーエンコード部により行われることができる。また、図示されてはいないが、予測サンプルを導出する過程は前記エンコード装置の予測部により行われることができる。
【０１８３】
エンコード装置は、対象ブロックのレジデュアルサンプルを導出する（Ｓ１３００）。例えば、エンコード装置は、対象ブロックにインター予測を行うか、又はイントラ予測を行うかを決定し、具体的なインター予測モード又は具体的なイントラ予測モードをＲＤコスト基盤で決定する決定されたモードに応じてエンコード装置は前記対象ブロックに対する予測サンプルを導出し、前記対象ブロックに対する原本サンプルと前記予測サンプルの加算により前記レジデュアルサンプルを導出する。
【０１８４】
エンコード装置は、前記レジデュアルサンプルに対する変換を行って前記対象ブロックの変換係数を導出する（Ｓ１３１０）。エンコード装置は、前記対象ブロックに対するＮＳＳＴの適用可否を決定する。
【０１８５】
前記対象ブロックに対して前記ＮＳＳＴが適用される場合、エンコード装置は、前記レジデュアルサンプルに対する核心変換を行って修正された変換係数を導出し、簡素化変換マトリックスに基づいて前記対象ブロックの左上端対象領域に位置する修正された変換係数に対するＮＳＳＴを行って前記対象ブロックの前記変換係数を導出する。前記対象ブロックの前記左上端領域に位置する前記修正された変換係数以外の修正された変換係数はそのまま前記対象ブロックの前記変換係数として導出される。前記簡素化変換マトリックスのサイズはＲ×Ｎであり、前記Ｎは前記左上端対象領域のサンプル数であり、前記Ｒは簡素化係数（ｒｅｄｕｃｅｄ  ｃｏｅｆｆｉｃｉｅｎｔ）であり、前記Ｒは前記Ｎより小さい。
【０１８６】
具体的に、前記レジデュアルサンプルに対する核心変換は次のように行われる。エンコード装置は前記対象ブロックに対する適応的多重核心変換（Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉｐｌｅ  ｃｏｒｅ  Ｔｒａｎｓｆｏｒｍ：ＡＭＴ）の適用可否を決定することができる。この場合、前記対象ブロックの適応的多重核心変換が適用されるか否かを示すＡＭＴフラグが生成される。前記対象ブロックに前記ＡＭＴが適用されない場合、エンコード装置はＤＣＴタイプ２を前記対象ブロックに対する変換カーネルとして導出し、前記ＤＣＴタイプ２に基づいて前記レジデュアルサンプルへの変換を行って前記修正された変換係数を導出する。
【０１８７】
前記対象ブロックに前記ＡＭＴが適用される場合、エンコード装置は、水平変換カーネルに対する変換サブセット及び垂直変換カーネルに対する変換サブセットを構成し、前記変換サブセットに基づいて水平変換カーネル及び垂直変換カーネルを導出し、前記水平変換カーネル及び前記垂直変換カーネルに基づいて前記レジデュアルサンプルに対する変換を行って修正された変換係数を導出する。ここで、前記水平変換カーネルに対する変換サブセット及び前記垂直変換カーネルに対する変換サブセットは、ＤＣＴタイプ２、ＤＳＴタイプ７、ＤＣＴタイプ８、及び／又はＤＳＴタイプ１を候補として含む。また、変換インデックス情報が生成されることができ、前記変換インデックス情報は、前記水平変換カーネルを示すＡＭＴ水平フラグ及び前記垂直変換カーネルを示すＡＭＴ垂直フラグを含む。一方、前記変換カーネルは変換タイプ又は変換コアと呼ばれてもよい。
【０１８８】
一方、前記対象ブロックに対して前記ＮＳＳＴが適用されない場合、エンコード装置は、前記レジデュアルサンプルに対する核心変換を行って前記対象ブロックの前記変換係数を導出することができる。
【０１８９】
具体的に、前記レジデュアルサンプルに対する核心変換は次のように行われる。エンコード装置は、前記対象ブロックに対する適応的多重核心変換（Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉｐｌｅ  ｃｏｒｅ  Ｔｒａｎｓｆｏｒｍ：ＡＭＴ）の適用可否を決定する。この場合、前記対象ブロックの適応的多重核心変換が適用されるか否かを示すＡＭＴフラグが生成される。前記対象ブロックに前記ＡＭＴが適用されない場合、エンコード装置はＤＣＴタイプ２を前記対象ブロックに対する変換カーネルとして導出し、前記ＤＣＴタイプ２に基づいて前記レジデュアルサンプルへの変換を行って前記変換係数を導出する。
【０１９０】
前記対象ブロックに前記ＡＭＴが適用される場合、エンコード装置は、水平変換カーネルに対する変換サブセット及び垂直変換カーネルに対する変換サブセットを構成し、前記変換サブセットに基づいて水平変換カーネル及び垂直変換カーネルを導出し、前記水平変換カーネル及び前記垂直変換カーネルに基づいて前記レジデュアルサンプルへの変換を行って変換係数を導出する。ここで、前記水平変換カーネルに対する変換サブセット及び前記垂直変換カーネルに対する変換サブセットは、ＤＣＴタイプ２、ＤＳＴタイプ７、ＤＣＴタイプ８、及び／又はＤＳＴタイプ１を候補として含む。また、変換インデックス情報が生成されることができ、前記変換インデックス情報は、前記水平変換カーネルを示すＡＭＴ水平フラグ、及び前記垂直変換カーネルを示すＡＭＴ垂直フラグを含む。一方、前記変換カーネルは変換タイプ又は変換コアと呼ばれてもよい。
【０１９１】
エンコード装置は、前記ＮＳＳＴインデックスをエンコードするか否かを決定する（Ｓ１３２０）。
【０１９２】
一例として、エンコード装置は、前記対象ブロックの変換係数のうち、Ｒ＋１番目からＮ番目の変換係数をスキャンし、前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスをエンコードしないと決定する。ここで、前記Ｎは前記左上端対象領域のサンプル数であり、前記Ｒは簡素化係数（ｒｅｄｕｃｅｄ  ｃｏｅｆｆｉｃｉｅｎｔ）であり、前記Ｒは前記Ｎより小さい。前記Ｎは、前記左上端対象領域の幅（ｗｉｄｔｈ）と高さ（ｈｅｉｇｈｔ）の積として導出される。
【０１９３】
また、前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれていない場合、エンコード装置は、前記ＮＳＳＴインデックスをエンコードすると決定する。この場合、変換係数に関する情報は、前記ＮＳＳＴインデックスに対するシンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）を含む。すなわち、前記ＮＳＳＴインデックスに対するシンタックス要素はエンコードされる。言い換えれば、前記ＮＳＳＴインデックスに対するシンタックス要素のためのビットが割り当てられる。
【０１９４】
一方、エンコード装置は、前記ＮＳＳＴが行われる実行できる条件に該当するか否かを判断し、前記ＮＳＳＴが実行できる場合、前記対象ブロックに対するＮＳＳＴインデックスをエンコードすると決定する。例えば、ビットストリームから前記対象ブロックを含む対象ＣＴＵに対するＮＳＳＴインデックスインジケータ（ｉｎｄｉｃａｔｏｒ）が生成され、前記ＮＳＳＴインデックスインジケータは前記対象ＣＴＵにＮＳＳＴが適用されるか否かを示す。前記ＮＳＳＴインデックスインジケータの値が１である場合、エンコード装置は、前記対象ブロックに対するＮＳＳＴインデックスをエンコードすると決定し、前記ＮＳＳＴインデックスインジケータの値が０である場合、デコード装置は、前記対象ブロックに対するＮＳＳＴインデックスをエンコードしないと決定する。前述した例のように、前記ＮＳＳＴインデックスインジケータはＣＴＵレベルでシグナリングされ、また、前記ＮＳＳＴインデックスインジケータはＣＵレベル又は他の上位レベルでシグナリングされる。
【０１９５】
また、前記ＮＳＳＴインデックスは、前記対象ブロックの複数の成分に対して使用される。
【０１９６】
例えば、前記ＮＳＳＴインデックスが前記対象ブロックのルーマブロックの変換係数、クロマＣｂブロックの変換係数及びクロマＣｒブロックの変換係数に対する逆変換に使用される。この場合、前記ルーマブロックのＲ＋１番目からＮ番目の変換係数、前記クロマＣｂブロックのＲ＋１番目からＮ番目の変換係数及び前記クロマＣｒブロックのＲ＋１番目からＮ番目の変換係数がスキャンされ、前記スキャンされた変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスはエンコードされないと決定される。前記スキャンされた変換係数に０でない変換係数が含まれていない場合、前記ＮＳＳＴインデックスはエンコードすると決定される。この場合、変換係数に関する情報は、前記ＮＳＳＴインデックスに対するシンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）を含む。すなわち、前記ＮＳＳＴインデックスに対するシンタックス要素はエンコードされる。言い換えれば、前記ＮＳＳＴインデックスに対するシンタックス要素のためのビットが割り当てられる。
【０１９７】
他の例として、前記ＮＳＳＴインデックスが前記対象ブロックのルーマブロックの変換係数及びクロマＣｂブロックの変換係数に対する逆変換に使用される。この場合、前記ルーマブロックのＲ＋１番目からＮ番目の変換係数及び前記クロマＣｂブロックのＲ＋１番目からＮ番目の変換係数がスキャンされ、前記スキャンされた変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスはエンコードされないと決定される。前記スキャンされた変換係数に０でない変換係数が含まれていない場合、前記ＮＳＳＴインデックスはエンコードすると決定される。この場合、変換係数に関する情報は、前記ＮＳＳＴインデックスに対するシンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）を含む。すなわち、前記ＮＳＳＴインデックスに対するシンタックス要素はエンコードされる。言い換えれば、前記ＮＳＳＴインデックスに対するシンタックス要素のためのビットが割り当てられる。
【０１９８】
他の例として、前記ＮＳＳＴインデックスが前記対象ブロックのルーマブロックの変換係数及びクロマＣｒブロックの変換係数に対する逆変換に使用される。この場合、前記ルーマブロックのＲ＋１番目からＮ番目の変換係数及び前記クロマＣｒブロックのＲ＋１番目からＮ番目の変換係数がスキャンされ、前記スキャンされた変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスはエンコードされないと決定される。前記スキャンされた変換係数に０でない変換係数が含まれていない場合、前記ＮＳＳＴインデックスはエンコードすると決定される。この場合、変換係数に関する情報は、前記ＮＳＳＴインデックスに対するシンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）を含む。すなわち、前記ＮＳＳＴインデックスに対するシンタックス要素はエンコードされる。言い換えれば、前記ＮＳＳＴインデックスに対するシンタックス要素のためのビットが割り当てられる。
【０１９９】
一方、特定条件に基づいてＮＳＳＴインデックスの範囲が導出されることができる。例えば、前記特定条件に基づいて前記ＮＳＳＴインデックスの最大値が導出され、前記範囲は０ないし前記導出された最大値として導出される。前記導出されたＮＳＳＴインデックスの値は前記範囲に含まれる。
【０２００】
例えば、前記対象ブロックのサイズに基づいて前記ＮＳＳＴインデックスの範囲が導出される。具体的に、最小幅及び最小高さが既に設定され、前記対象ブロックの幅及び前記最小幅、前記対象ブロックの高さ及び前記最小高さに基づいて前記ＮＳＳＴインデックスの範囲が導出される。また、前記対象ブロックのサンプル数及び特定の値に基づいて前記ＮＳＳＴインデックスの範囲が導出される。前記サンプル数は、前記対象ブロックの幅と高さを乗じた値であり、前記特定値は既に設定されてもよい。
【０２０１】
また、他の例として、前記対象ブロックのタイプに基づいて前記ＮＳＳＴインデックスの範囲が導出される。具体的に、前記対象ブロックが非正方形ブロックであるか否かに基づいて前記ＮＳＳＴインデックスの範囲が導出される。また、前記対象ブロックの幅と高さとの割合及び特定値に基づいて前記ＮＳＳＴインデックスの範囲が導出される。前記対象ブロックの幅と高さ間の割合は、前記対象ブロックの幅と高さのうち長い辺を短い辺で割った値であり、前記特定値は既に設定されてもよい。
【０２０２】
また、他の例として、前記対象ブロックのイントラ予測モードに基づいて前記ＮＳＳＴインデックスの範囲が導出される。具体的に、前記対象ブロックのイントラ予測モードが非方向性イントラ予測モードであるか又は方向性イントラ予測モードであるかに基づいて前記ＮＳＳＴインデックスの範囲が導出される。また、前記対象ブロックのイントラ予測モードがカテゴリＡ（Ｃａｔｅｇｏｒｙ  Ａ）又はカテゴリＢ（Ｃａｔｅｇｏｒｙ  Ｂ）に含まれたイントラ予測モードであるか否かに基づいて前記ＮＳＳＴインデックスの範囲が導出される。ここで、前記カテゴリＡに含まれたイントラ予測モードと前記カテゴリＢに含まれたイントラ予測モードは既に設定されてもよい。一例として、前記カテゴリＡは、２番のイントラ予測モード、１０番のイントラ予測モード、１８番のイントラ予測モード、２６番のイントラ予測モード、３４番のイントラ予測モード、４２番のイントラ予測モード、５０番のイントラ予測モード、５８番のイントラ予測モード及び６６番のイントラ予測モードを含み、前記カテゴリＢは前記カテゴリＡに含まれたイントラ予測モード以外のイントラ予測モードを含む。
【０２０３】
また、他の例として、前記対象ブロックの核心変換（ｃｏｒｅ  ｔｒａｎｓｆｏｒｍ）に関する情報に基づいて前記ＮＳＳＴインデックスの範囲が導出される。例えば、適応的多重核心変換（Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉｐｌｅ  ｃｏｒｅ  Ｔｒａｎｓｆｏｒｍ：ＡＭＴ）が適用されるか否かを示すＡＭＴフラグに基づいて前記ＮＳＳＴインデックスの範囲が導出される。また、水平変換カーネルを示すＡＭＴ水平フラグ及び垂直変換カーネルを示すＡＭＴ垂直フラグに基づいて前記ＮＳＳＴインデックスの範囲が導出される。
【０２０４】
一方、前記ＮＳＳＴインデックスの値が０である場合、前記ＮＳＳＴインデックスは前記対象ブロックにＮＳＳＴが適用されないことを示す。
【０２０５】
エンコード装置は変換係数に関する情報をエンコードする（Ｓ１３３０）。前記変換係数に関する情報は、前記変換係数のサイズ、位置などに関する情報を含む。また、前述したように、前記変換係数に関する情報は、前記ＮＳＳＴインデックス、前記変換インデックス情報及び／又は前記ＡＭＴフラグをさらに含んでもよい。前記変換係数に関する情報を含む画像情報はビットストリーム形態で出力される。また、前記画像情報は、前記ＮＳＳＴインデックスインジケータ及び／又は予測情報をさらに含んでもよい。前記予測情報は、前記予測手順に関する情報であり、予測モード情報及び動き情報に関する情報（例えば、インター予測が適用される場合）などを含む。
【０２０６】
出力されたビットストリームは格納媒体又はネットワークを介してデコード装置に伝達される。
【０２０７】
図１４は、本発明に従う画像エンコード方法を行うエンコード装置を概略的に示す。図１３に開示された方法は、図１４に開示されたエンコード装置により行われることができる。具体的に、例えば、図１４の前記エンコード装置の加算部は図１３のＳ１３００を行い、前記エンコード装置の変換部はＳ１３１０を行い、前記エンコード装置のエントロピーエンコード部は図１３のＳ１３２０ないしＳ１３３０を行うことができる。また、図示されてはいないが、予測サンプルを導出する過程は前記エンコード装置の予測部により行われることができる。
【０２０８】
図１５は、本発明に従うデコード装置による画像デコード方法を概略的に示す。図１５に開示された方法は、図３に開示されたデコード装置により行われることができる。具体的には、例えば、図１５のＳ１５００ないしＳ１５１０は前記デコード装置のエントロピーデコード部、Ｓ１５２０は前記デコード装置の逆変換部、Ｓ１５３０は前記デコード装置の加算部により行われることができる。また、図示されてはいないが、予測サンプルを導出する過程は前記デコード装置の予測部により行われる。
【０２０９】
デコード装置は、前記ビットストリームから前記対象ブロックの変換係数を導出する（Ｓ１５００）。デコード装置は、前記ビットストリームを介して受信された前記対象ブロックの変換係数に関する情報をデコードして前記対象ブロックの変換係数を導出する。前記受信された前記対象ブロックの変換係数に関する情報は、レジデュアル（ｒｅｓｉｄｕａｌ）情報と示す。
【０２１０】
一方、前記対象ブロックの変換係数は、前記対象ブロックのルーマブロックの変換係数、前記対象ブロックのクロマＣｂブロックの変換係数及び前記対象ブロックのクロマＣｒブロックの変換係数を含む。
【０２１１】
デコード装置は、前記対象ブロックに対するＮＳＳＴ（Ｎｏｎ−Ｓｅｐａｒａｂｌｅ  Ｓｅｃｏｎｄａｒｙ  Ｔｒａｎｓｆｏｒｍ）インデックスを導出する（Ｓ１５１０）。
【０２１２】
一例として、デコード装置は、前記対象ブロックの変換係数のうちＲ＋１番目からＮ番目の変換係数をスキャンし、前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスの値を０として導出する。ここで、前記Ｎは前記対象ブロックの左上端対象領域のサンプル数であり、前記Ｒは簡素化係数（ｒｅｄｕｃｅｄ  ｃｏｅｆｆｉｃｉｅｎｔ）であり、前記Ｒは前記Ｎより小さい。前記Ｎは、前記左上端の対象領域の幅（ｗｉｄｔｈ）と高さ（ｈｅｉｇｈｔ）の積として導出される。
【０２１３】
また、前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれていない場合、デコード装置は、前記ビットストリームに含まれた前記ＮＳＳＴインデックスに対するシンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）をパーシング（ｐａｒｓｉｎｇ）して前記ＮＳＳＴインデックスの値を導出する。すなわち、前記Ｒ＋１番目からＮ番目の変換係数に０でない変換係数が含まれていない場合、前記ビットストリームは前記ＮＳＳＴインデックスに対するシンタックス要素を含み、デコード装置はビットストリームを介して受信された前記ＮＳＳＴインデックスに対するシンタックス要素をパーシングして前記ＮＳＳＴインデックスの値を導出する。
【０２１４】
一方、デコード装置は、前記ＮＳＳＴが実行できるとの条件に該当するか否かを判断し、前記ＮＳＳＴが実行できる場合、前記対象ブロックに対するＮＳＳＴインデックスを導出する。例えば、ビットストリームから前記対象ブロックを含む対象ＣＴＵに対するＮＳＳＴインデックスインジケータ（ｉｎｄｉｃａｔｏｒ）がシグナリングされ、前記ＮＳＳＴインデックスインジケータは前記対象ＣＴＵにＮＳＳＴが可用であるか（ｅｎａｂｌｅｄ）否かを示す。前記ＮＳＳＴインデックスインジケータの値が１である場合、デコード装置は前記対象ブロックに対するＮＳＳＴインデックスを導出し、前記ＮＳＳＴインデックスインジケータの値が０である場合、デコード装置は前記対象ブロックに対するＮＳＳＴインデックスを導出しないことがある。前述の例のように、前記ＮＳＳＴインデックスインジケータはＣＴＵレベルでシグナリングされ、または、前記ＮＳＳＴインデックスインジケータはＣＵレベル又は他の上位レベルでシグナリングされる。
【０２１５】
また、前記ＮＳＳＴインデックスは前記対象ブロックの複数の成分に対して使用される。
【０２１６】
例えば、前記ＮＳＳＴインデックスが前記対象ブロックのルーマブロックの変換係数、クロマＣｂブロックの変換係数及びクロマＣｒブロックの変換係数に対する逆変換に使用される。この場合、前記ルーマブロックのＲ＋１番目からＮ番目の変換係数、前記クロマＣｂブロックのＲ＋１番目からＮ番目の変換係数及び前記クロマＣｒブロックのＲ＋１番目からＮ番目の変換係数がスキャンされ、前記スキャンされた変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスの値は０として導出される。前記スキャンされた変換係数に０でない変換係数が含まれていない場合、前記ビットストリームは前記ＮＳＳＴインデックスに対するシンタックス要素を含み、前記ＮＳＳＴインデックスの値はビットストリームを介して受信された前記ＮＳＳＴインデックスに対するシンタックス要素をパーシングして導出される。
【０２１７】
他の例として、前記ＮＳＳＴインデックスが前記対象ブロックのルーマブロックの変換係数及びクロマＣｂブロックの変換係数に対する逆変換に使用される。この場合、前記ルーマブロックのＲ＋１番目からＮ番目の変換係数及び前記クロマＣｂブロックのＲ＋１番目からＮ番目の変換係数がスキャンされ、前記スキャンされた変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスの値は０として導出される。前記スキャンされた変換係数に０でない変換係数が含まれていない場合、前記ビットストリームは前記ＮＳＳＴインデックスに対するシンタックス要素を含み、前記ＮＳＳＴインデックスの値はビットストリームを介して受信された前記ＮＳＳＴインデックスに対するシンタックス要素をパーシングして導出される。
【０２１８】
他の例として、前記ＮＳＳＴインデックスが前記対象ブロックのルーマブロックの変換係数及びクロマＣｒブロックの変換係数に対する逆変換に使用される。この場合、前記ルーマブロックのＲ＋１番目からＮ番目の変換係数及び前記クロマＣｒブロックのＲ＋１番目からＮ番目の変換係数がスキャンされ、前記スキャンされた変換係数に０でない変換係数が含まれた場合、前記ＮＳＳＴインデックスの値は０として導出される。前記スキャンされた変換係数に０でない変換係数が含まれていない場合、前記ビットストリームは前記ＮＳＳＴインデックスに対するシンタックス要素を含み、前記ＮＳＳＴインデックスの値はビットストリームを介して受信された前記ＮＳＳＴインデックスに対するシンタックス要素をパーシングして導出される。
【０２１９】
一方、特定条件に基づいてＮＳＳＴインデックスの範囲が導出されることができる。例えば、前記特定条件に基づいて前記ＮＳＳＴインデックスの最大値が導出され、前記範囲は０ないし前記導出された最大値として導出される。前記導出されたＮＳＳＴインデックスの値は前記範囲に含まれる。
【０２２０】
例えば、前記対象ブロックのサイズに基づいて前記ＮＳＳＴインデックスの範囲が導出される。具体的に、最小幅及び最小高さが既に設定され、前記対象ブロックの幅及び前記最小幅、前記対象ブロックの高さ及び前記最小高さに基づいて前記ＮＳＳＴインデックスの範囲が導出される。また、前記対象ブロックのサンプル数及び特定値に基づいて前記ＮＳＳＴインデックスの範囲が導出される。前記サンプル数は、前記対象ブロックの幅と高さを乗じた値であり、前記特定値は既に設定されてもよい。
【０２２１】
また、他の例として、前記対象ブロックのタイプに基づいて前記ＮＳＳＴインデックスの範囲が導出されることができる。具体的に、前記対象ブロックが非正方形ブロックであるか否かに基づいて前記ＮＳＳＴインデックスの範囲が導出される。また、前記対象ブロックの幅と高さとの割合及び特定値に基づいて前記ＮＳＳＴインデックスの範囲が導出される。前記対象ブロックの幅と高さ間の割合は前記対象ブロックの幅と高さのうち長い辺を短い辺で割った値であり、前記特定値は既に設定されてもよい。
【０２２２】
また、他の例として、前記対象ブロックのイントラ予測モードに基づいて前記ＮＳＳＴインデックスの範囲が導出されることができる。具体的に、前記対象ブロックのイントラ予測モードが非方向性イントラ予測モードか又は方向性イントラ予測モードであるかに基づいて前記ＮＳＳＴインデックスの範囲が導出される。また、前記対象ブロックのイントラ予測モードがカテゴリＡ（Ｃａｔｅｇｏｒｙ  Ａ）又はカテゴリＢ（Ｃａｔｅｇｏｒｙ  Ｂ）に含まれたイントラ予測モードであるか否かに基づいて前記ＮＳＳＴインデックスの範囲が導出される。ここで、前記カテゴリＡに含まれたイントラ予測モードと前記カテゴリＢに含まれたイントラ予測モードは既に設定されてもよい。一例として、前記カテゴリＡは、２番のイントラ予測モード、１０番のイントラ予測モード、１８番のイントラ予測モード、２６番のイントラ予測モード、３４番のイントラ予測モード、４２番のイントラ予測モード、５０番のイントラ予測モード、５８番のイントラ予測モード及び６６番のイントラ予測モードを含み、前記カテゴリＢは前記カテゴリＡに含まれたイントラ予測モード以外のイントラ予測モードを含む。
【０２２３】
また、他の例としては、前記対象ブロックの核心変換（ｃｏｒｅ  ｔｒａｎｓｆｏｒｍ）に関する情報に基づいて前記ＮＳＳＴインデックスの範囲が導出されることができる。例えば、適応的多重核心変換（Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉｐｌｅ  ｃｏｒｅ  ｔｒａｎｓｆｏｒｍ：ＡＭＴ）が適用されるか否かを示すＡＭＴフラグに基づいて前記ＮＳＳＴインデックスの範囲が導出される。また、水平変換カーネルを示すＡＭＴ水平フラグ及び垂直変換カーネルを示すＡＭＴ垂直フラグに基づいて前記ＮＳＳＴインデックスの範囲が導出される。
【０２２４】
一方、前記ＮＳＳＴインデックスの値が０である場合、前記ＮＳＳＴインデックスは前記対象ブロックにＮＳＳＴが適用されないことを示す。
【０２２５】
デコード装置は、前記ＮＳＳＴインデックスに基づいて前記対象ブロックの前記変換係数に対する逆変換（ｉｎｖｅｒｓｅｄ  ｔｒａｎｓｆｏｒｍ）を行って前記対象ブロックのレジデュアルサンプルを導出する（Ｓ１５２０）。
【０２２６】
例えば、前記ＮＳＳＴインデックスの値が０である場合、デコード装置は前記対象ブロックの前記変換係数に対する核心変換（ｃｏｒｅ  ｔｒａｎｓｆｏｒｍ）を実行し、前記レジデュアルサンプルを導出する。
【０２２７】
具体的に、デコード装置は、ビットストリームから適応的多重核心変換（Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉｐｌｅ  ｃｏｒｅ  Ｔｒａｎｓｆｏｒｍ：ＡＭＴ）が適用されるか否かを示すＡＭＴフラグを取得する。
【０２２８】
前記ＡＭＴフラグの値が０である場合、デコード装置は、ＤＣＴタイプ２を前記対象ブロックに対する変換カーネルとして導出し、前記ＤＣＴタイプ２に基づいて前記変換係数に対する逆変換を行って前記レジデュアルサンプルを導出する。
【０２２９】
前記ＡＭＴフラグの値が１である場合、デコード装置は水平変換カーネルに対する変換サブセット及び垂直変換カーネルに対する変換サブセットを構成し、前記ビットストリームから取得された変換インデックス情報、前記変換サブセットに基づいて水平変換カーネル及び垂直変換カーネルを導出し、前記水平変換カーネル及び垂直変換カーネルに基づいて前記変換係数に対する逆変換を行って前記レジデュアルサンプルを導出する。ここで、前記水平変換カーネルに対する変換サブセット及び前記垂直変換カーネルに対する変換サブセットは、ＤＣＴタイプ２、ＤＳＴタイプ７、ＤＣＴタイプ８、及び／又はＤＳＴタイプ１を候補として含む。また、前記変換インデックス情報は、前記水平変換カーネルに対する変換サブセットに含まれた候補のうち１つを示すＡＭＴ水平フラグ及び前記垂直変換カーネルに対する変換サブセットに含まれた候補のうち１つを示すＡＭＴ垂直フラグを含む。一方、前記変換カーネルは変換タイプ又は変換コア（ｃｏｒｅ）と呼ばれてもよい。
【０２３０】
他の例として、前記ＮＳＳＴインデックスの値が０でない場合、デコード装置は、前記ＮＳＳＴインデックスが示す簡素化変換マトリックス（ｒｅｄｕｃｅｄ  ｔｒａｎｓｆｏｒｍ  ｍａｔｒｉｘ）に基づいて前記対象ブロックの左上端対象領域に位置する変換係数に対するＮＳＳＴを実行して修正された変換係数を導出し、前記修正された変換係数を含む対象ブロックに対する核心変換を行って前記レジデュアルサンプルを導出する。前記簡素化変換マトリックスのサイズはＲ×Ｎであり、前記Ｎは前記左上端対象領域のサンプル数であり、前記Ｒは簡素化係数（ｒｅｄｕｃｅｄ  ｃｏｅｆｆｉｃｉｅｎｔ）であり、前記Ｒは前記Ｎより小さい。
【０２３１】
前記対象ブロックに対する核心変換は次のように行われる。デコード装置は、ビットストリームから適応的多重核心変換（Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉｐｌｅ  ｃｏｒｅ  Ｔｒａｎｓｆｏｒｍ：ＡＭＴ）が適用されるか否かを示すＡＭＴフラグを取得し、前記ＡＭＴフラグの値が０である場合、デコード装置は、ＤＣＴタイプ２を前記対象ブロックに対する変換カーネルとして導出し、前記ＤＣＴタイプ２に基づいて前記修正された変換係数を含む前記対象ブロックに対する逆変換を行って前記サンプルを導出する。
【０２３２】
前記ＡＭＴフラグの値が１である場合、デコード装置は、水平変換カーネルに対する変換サブセット及び垂直変換カーネルに対する変換サブセットを構成し、前記ビットストリームから取得された変換インデックス情報、前記変換サブセットに基づいて水平変換カーネル及び垂直変換カーネルを導出し、前記水平変換カーネル及び前記垂直変換カーネルに基づいて前記修正された変換係数を含む前記対象ブロックに対する逆変換を行って前記レジデュアルサンプルを導出する。ここで、前記水平変換カーネルに対する変換サブセット及び前記垂直変換カーネルに対する変換サブセットは、ＤＣＴタイプ２、ＤＳＴタイプ７、ＤＣＴタイプ８、及び／又はＤＳＴタイプ１を候補として含む。また、前記変換インデックス情報は、前記水平変換カーネルに対する変換サブセットに含まれた候補のうち１つを示すＡＭＴ水平フラグ及び前記垂直変換カーネルに対する変換サブセットに含まれた候補のうち１つを示すＡＭＴ垂直フラグを含む。一方、前記変換カーネルは変換タイプ又は変換コア（ｃｏｒｅ）と呼ばれもよい。
【０２３３】
デコード装置は、前記レジデュアルサンプルに基づいて復元ピクチャを生成する（Ｓ１５３０）。デコード装置は、前記レジデュアルサンプルに基づいて復元ピクチャを生成する。例えば、デコード装置は、ビットストリームを介して受信された予測情報に基づいて対象ブロックに対するインター予測又はイントラ予測を行い、予測サンプルを導出することができ、前記予測サンプルと前記レジデュアルサンプルの加算により前記復元ピクチャを生成する。以後、必要に応じて、主観的／客観的画質を向上させるために、デブロッキングフィルタリング、ＳＡＯ及び／又はＡＬＦ手順のようなインループフィルタリング手順が前記復元ピクチャに適用できることは前述の通りである。
【０２３４】
図１６は、本発明に従う画像デコード方法を行うデコード装置を概略的に示す。図１５に開示された方法は、図１６に開示されたデコード装置により行われることができる。具体的に、例えば、図１６の前記デコード装置のエントロピーデコード部は図１５のＳ１５００ないしＳ１５１０を行い、図１６の前記デコード装置の逆変換部は図１５のＳ１５２０を行い、図１６の前記デコード装置の加算部は図１５のＳ１５３０を行うことができる。また、図示されてはいないが、予測サンプルを導出する過程は、図１６の前記デコード装置の予測部により行われることができる。
【０２３５】
前述した本発明によれば、ＮＳＳＴインデックスの範囲を対象ブロックの特定条件に基づいて導出し、これにより、前記ＮＳＳＴインデックスのためのビット量を減少させ、全般的なコーディング効率を向上させることができる。
【０２３６】
また、本発明によれば、ＮＳＳＴインデックスに対するシンタックスエレメントの送信が対象ブロックに対する変換係数に基づいて決定され、これにより、ＮＳＳＴインデックスのためのビット量を減少させ、全般的なコーディング効率を向上させることができる。
【０２３７】
前述した実施形態において、方法は一連のステップ又はブロックとしてフローチャートに基づいて説明されているが、本発明はステップの順序に限定されるものではなく、あるステップは前述とは異なるステップと異なる順序で又は同時に発生し得る。また、当業者であれば、フローチャートに示されているステップが排他的ではなく、他のステップが含まれるかフローチャートの１つ又はそれ以上のステップが本発明の範囲に影響を及ぼさずに削除できることが理解できるであろう。
【０２３８】
前述した本発明に従う方法は、ソフトウェア形態で実装され、本発明によるエンコード装置及び／又はデコード装置は、例えば、テレビ、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの画像処理を行う装置に含まれる。
【０２３９】
本発明において実施形態がソフトウェアにより実現されるとき、前述した方法は、前述した機能を行うモジュール（過程、機能など）により実現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部又は外部にあり、よく知られた多様な手段でプロセッサと接続されることができる。プロセッサは、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、他のチプセット、論理回路及び／又はデータ処理装置を含む。メモリは、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、フラッシュメモリ、メモリカード、格納媒体及び／又は他の格納装置を含む。すなわち、本発明で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われる。例えば、各図面で図示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて行われる。
【０２４０】
また、本発明が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ（ＶｏＤ）サービス提供装置、ＯＴＴ（Ｏｖｅｒ  ｔｈｅ  ｔｏｐ  ｖｉｄｅｏ）装置、インターネットストリーミングサービス提供装置、３次元（３Ｄ）ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号又はデータ信号を処理するために使用できる。例えば、ＯＴＴビデオ（Ｏｖｅｒ  ｔｈｅ  ｔｏｐ  ｖｉｄｅｏ）装置としては、ゲームコンソール、ブルーレイプレーヤ、インターネット接続ＴＶ、ホームシアターシステム、スマートフォン、タブレットＰＣ、ＤＶＲ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｄｅｒ）などが含まれる。
【０２４１】
また、本発明が適用される処理方法は、コンピュータにより実行されるプログラムの形態で生産されることができ、コンピュータにより読み取りできる記録媒体に格納できる。本発明によるデータ構造を有するマルチメディアデータもまたコンピュータにより読み取りできる記録媒体に格納できる。前記コンピュータにより読み取りできる記録媒体は、コンピュータにより読み取りできるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータにより読み取りできる記録媒体は、例えば、ブルーレイディスク（ＢＤ）、汎用直列バス（ＵＳＢ）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピ（登録商標）ディスク及び光学データ格納装置を含むことができる。また、前記コンピュータにより読み取りできる記録媒体は、搬送波（例えば、インターネットを介する送信）の形態で実現されたメディアを含む。また、エンコード方法により生成されたビットストリームがコンピュータにより読み取りできる記録媒体に格納されるか、有無線通信ネットワークを介して送信できる。また、本発明の実施形態は、プログラムコードによるコンピュータプログラム製品として実現され、前記プログラムコードは、本発明の実施形態によりコンピュータにおいて行われる。前記プログラムコードは、コンピュータにより読み取りできるキャリア上に格納されることができる。
【０２４２】
また、本発明が適用されるコンテンツストリーミングシステムは、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含む。
【０２４３】
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割を果たす。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されてもよい。前記ビットストリームは、本発明が適用されるエンコード方法又はビットストリーム生成方法により生成され、前記ストリームサーバは、前記ビットストリームを送信又は受信する過程で一時的に前記ビットストリームを格納することができる。
【０２４４】
前記ストリーミングサーバは、ウェブサーバを介するユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体としての役割を果たす。ユーザが前記ウェブサーバにご希望のサービスを要求すると、前記ウェブサーバはこれをストリーミングサーバに伝達し、前記ストリーミングサーバはユーザにマルチメディアデータを送信する。ここで、前記コンテンツストリーミングシステムは別途の制御サーバを含んでもよく、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令／応答を制御する役割を果たす。
【０２４５】
前記ストリーミングサーバは、メディア格納所及び／又はエンコードサーバからコンテンツを受信する。例えば、前記エンコードサーバからコンテンツを受信する場合、前記コンテンツをリアルタイムに受信できる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは前記ビットストリームを一定時間格納することができる。
【０２４６】
前記ユーザ装置の例としては、携帯電話、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、ノートブックコンピュータ（ｌａｐｔｏｐ  ｃｏｍｐｕｔｅｒ）、デジタル放送用端末、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔｓ）、ＰＭＰ（ｐｏｒｔａｂｌｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）、ナビゲーション、スレートＰＣ（ｓｌａｔｅ  ＰＣ）、タブレットＰＣ（ｔａｂｌｅｔ  ＰＣ）、ウルトラブック（ｕｌｔｒａｂｏｏｋ）、ウェアラブルデバイス（ｗｅａｒａｂｌｅ  ｄｅｖｉｃｅ、例えば、スマートウォッチ（ｓｍａｒｔｗａｔｃｈ）、スマートグラス（ｓｍａｒｔ  ｇｌａｓｓ）、ＨＭＤ（ｈｅａｄ  ｍｏｕｎｔｅｄ  ｄｉｓｐｌａｙ））、デジタルＴＶ、デスクトップコンピュータ、デジタルサイネージなどがあり得る。前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営でき、この場合、各サーバで受信するデータは分散処理されることができる。
【図１】
2021507597.tif 000017
【図２】
2021507597.tif 000018
【図３】
2021507597.tif 000019
【図４】
2021507597.tif 000020
【図５】
2021507597.tif 000021
【図６】
2021507597.tif 000022
【図７ａ】
2021507597.tif 000023
【図７ｂ】
2021507597.tif 000024
【図８】
2021507597.tif 000025
【図９】
2021507597.tif 000026
【図１０ａ】
2021507597.tif 000027
【図１０ｂ】
2021507597.tif 000028
【図１１】
2021507597.tif 000029
【図１２】
2021507597.tif 000030
【図１３】
2021507597.tif 000031
【図１４】
2021507597.tif 000032
【図１５】
2021507597.tif 000033
【図１６】
2021507597.tif 000034
【国際調査報告】
2021507597.tif 000035
2021507597.tif 000036
2021507597.tif 000037
2021507597.tif 000038