(57)【要約】  ビデオ信号をエンコーディングするかデコーディングするビデオ信号処理方法及び装置が開示される。より詳しくは、ビデオ信号の処理方法において、現在ブロックのためのイントラ予測モード情報を受信するステップと、前記イントラ予測モード情報は、イントラ予測モードセットを構成する複数のイントラ予測モードのうちいずれか一つを指示する；及び受信されたイントラ予測モード情報に基づいて前記現在ブロックをデコーディングするステップと、を含むが、前記イントラ予測モードセットは複数の角度モードを含み、前記複数の角度モードは基本角度モードと拡張角度モードを含み、前記拡張角度モードは前記基本角度モードに基づいてシグナリングされるビデオ信号処理方法、及びこれを利用したビデオ信号処理装置が開示される。
2021500835.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ信号の処理方法において、
現在ブロックのためのイントラ予測モード情報を受信するステップと、前記イントラ予測モード情報は、イントラ予測モードセットを構成する複数のイントラ予測モードのうちいずれか一つを指示する；及び
受信されたイントラ予測モード情報に基づいて前記現在ブロックをデコーディングするステップと、を含むが、
前記イントラ予測モードセットは複数の角度モードを含み、前記複数の角度モードは基本角度モードと拡張角度モードを含み、
前記拡張角度モードは前記基本角度モードに基づいてシグナリングされるビデオ信号処理方法。
【請求項２】
前記基本角度モードは予め設定された第１角度範囲以内の角度に対応するモードであり、前記拡張角度モードは前記基本角度モードに基づいて決定される請求項１に記載のビデオ信号処理方法。
【請求項３】
前記拡張角度モードは前記第１角度範囲を逸脱する広角モードである請求項２に記載のビデオ信号処理方法。
【請求項４】
前記広角モードは、前記第１角度範囲以内の少なくとも一つの基本角度モードを代替し、代替される前記基本角度モードに対応するイントラ予測モードインデックスは前記広角モードをシグナリングする請求項３に記載のビデオ信号処理方法。
【請求項５】
前記拡張角度モードは、前記第１角度範囲内で基本角度モードの間の角度モードである請求項２に記載のビデオ信号処理方法。
【請求項６】
前記イントラ予測モードセットの拡張角度モード間の間隔は、対応する基本角度モード間の間隔に基づいて設定される請求項１に記載のビデオ信号処理方法。
【請求項７】
前記拡張角度モード間の角度間隔は、対応する前記基本角度モード間の角度間隔と同じように設定される請求項６に記載のビデオ信号処理方法。
【請求項８】
前記拡張角度モードの使用可否は、前記現在ブロックの模様及び大きさのうち少なくとも一つに基づいて決定される請求項１に記載のビデオ信号処理方法。
【請求項９】
前記イントラ予測モードセットにおいて、拡張角度モードの個数は基本角度モードの個数以下に設定される請求項１に記載のビデオ信号処理方法。
【請求項１０】
ビデオ信号処理装置において、
プロセッサを含み、
前記プロセッサは、
現在ブロックのためのイントラ予測モード情報を受信するが、前記イントラ予測モード情報は、イントラ予測モードセットを構成する複数のイントラ予測モードのうちいずれか一つを指示し、
受信されたイントラ予測モード情報に基づいて前記現在ブロックをデコーディングするが、
前記イントラ予測モードセットは複数の角度モードを含み、前記複数の角度モードは基本角度モードと拡張角度モードを含み、
前記拡張角度モードは前記基本角度モードに基づいてシグナリングされるビデオ信号処理装置。
【請求項１１】
前記基本角度モードは予め設定された第１角度範囲以内の角度に対応するモードであり、前記拡張角度モードは前記基本角度モードに基づいて決定される請求項１０に記載のビデオ信号処理装置。
【請求項１２】
前記拡張角度モードは前記第１角度範囲を逸脱する広角モードである請求項１１に記載のビデオ信号処理装置。
【請求項１３】
前記広角モードは、前記第１角度範囲以内の少なくとも一つの基本角度モードを代替し、代替される前記基本角度モードに対応するイントラ予測モードインデックスは前記広角モードをシグナリングする請求項１２に記載のビデオ信号処理装置。
【請求項１４】
前記拡張角度モードは、前記第１角度範囲内で基本角度モードの間の角度モードである請求項１１に記載のビデオ信号処理装置。
【請求項１５】
前記イントラ予測モードセットの拡張角度モード間の間隔は、対応する基本角度モード間の間隔に基づいて設定される請求項１０に記載のビデオ信号処理装置。
【請求項１６】
前記拡張角度モード間の角度間隔は、対応する前記基本角度モード間の角度間隔と同じように設定される請求項１５に記載のビデオ信号処理装置。
【請求項１７】
前記拡張角度モードの使用可否は、前記現在ブロックの模様及び大きさのうち少なくとも一つに基づいて決定される請求項１０に記載のビデオ信号処理装置。
【請求項１８】
前記イントラ予測モードセットにおいて、拡張角度モードの個数は基本角度モードの個数以下に設定される請求項１０に記載のビデオ信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はビデオ信号処理方法及び装置に関し、より詳しくは、ビデオ信号をエンコーディングするかデコーディングするビデオ信号処理方法及び装置に関する。
【背景技術】
【０００２】
圧縮符号化とは、デジタル化した情報を通信回線を介して伝送するか、貯蔵媒体に適合した形態に貯蔵するための一連の信号処理技術を意味する。圧縮符号化の対象としては音声、映像、文字などの対象が存在するが、特に映像を対象とする圧縮符号化を行う技術をビデオ圧縮と称する。ビデオ信号に対する圧縮符号化は、空間的な相関関係、時間的な相関関係、確率的な相関関係などを考慮して剰余情報を除去することで行われる。しかし、最近の多様なメディア及びデータ伝送媒体の発展によって、より高効率のビデオ信号処理方法及び装置が求められている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、ビデオ信号のコーディング効率を上げるための目的を有する。
【０００４】
また、本発明は、周辺ブロックの予測情報を利用して現在ブロックを予測する際にシグナリング効率を上げるための目的を有する。
【課題を解決するための手段】
【０００５】
前記のような課題を解決するために、本発明は以下のようなビデオ信号処理装置及びビデオ信号処理方法を提供する。
【０００６】
まず、本発明の実施例によると、ビデオ信号の処理方法において、現在ブロックのためのイントラ予測モード情報を受信するステップと、前記イントラ予測モード情報は、イントラ予測モードセットを構成する複数のイントラ予測モードのうちいずれか一つを指示する；及び受信されたイントラ予測モード情報に基づいて前記現在ブロックをデコーディングするステップと、を含むが、前記イントラ予測モードセットは複数の角度モードを含み、前記複数の角度モードは基本角度モードと拡張角度モードを含み、前記拡張角度モードは前記基本角度モードに基づいてシグナリングされるビデオ信号処理方法が提供される。
【０００７】
また、本発明の実施例によると、ビデオ信号の処理装置において、プロセッサを含み、前記プロセッサは、現在ブロックのためのイントラ予測モード情報を受信するが、前記イントラ予測モード情報は、イントラ予測モードセットを構成する複数のイントラ予測モードのうちいずれか一つを指示し、受信されたイントラ予測モード情報に基づいて前記現在ブロックをデコーディングするが、前記イントラ予測モードセットは複数の角度モードを含み、前記複数の角度モードは基本角度モードと拡張角度モードを含み、前記拡張角度モードは前記基本角度モードに基づいてシグナリングされるビデオ信号処理装置が提供される。
【０００８】
前記基本角度モードは予め設定された第１角度範囲以内の角度に対応するモードであり、前記拡張角度モードは前記基本角度モードに基づいて決定される。
【０００９】
前記拡張角度モードは前記第１角度範囲を逸脱する広角モードである。
【００１０】
前記広角モードは、前記第１角度範囲以内の少なくとも一つの基本角度モードを代替し、代替される前記基本角度モードに対応するイントラ予測モードインデックスは前記広角モードをシグナリングする。
【００１１】
前記拡張角度モードは、前記第１角度範囲内で基本角度モードの間の角度モードである。
【００１２】
前記イントラ予測モードセットの拡張角度モード間の間隔は、対応する基本角度モード間の間隔に基づいて設定される。
【００１３】
前記拡張角度モード間の角度間隔は、対応する前記基本角度モード間の角度間隔と同じように設定される。
【００１４】
前記拡張角度モードの使用可否は、前記現在ブロックの模様及び大きさのうち少なくとも一つに基づいて決定される。
【００１５】
前記イントラ予測モードセットにおいて、拡張角度モードの個数は基本角度モードの個数以下に設定される。
【発明の効果】
【００１６】
本発明の実施例によると、ビデオ信号のコーディング効率が高くなる。
【００１７】
また、本発明の実施例によると、現在ブロックのための予測方法を多様に拡張することができ、このような拡張によるシグナリングオーバーヘッドを最小化することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施例によるビデオ信号エンコーディング装置の概略的なブロック図である。
【図２】本発明の実施例によるビデオ信号デコーディング装置の概略的なブロック図である。
【図３】ピクチャ内でコーディングツリーユニットがコーディングユニットに分割される実施例を示す図である。
【図４】クォードツリー及びマルチ−タイプツリーの分割をシグナリングする方法の一実施例を示す図である。
【図５】イントラ予測モードで現在ブロックを予測するために使用される参照サンプルの一実施例を示す図である。
【図６】イントラ予測に使用される予測モードの一実施例を示す図である。
【図７】エンコーダによって選択されたイントラ予測モードをデコーダにシグナリングする方法の一実施例を示す図である。
【図８】イントラ予測モードをシグナリングする方法の詳細実施例を示す図である。
【図９】イントラ予測モードに適用されるコンテキスト条件の一実施例を示す図である。
【図１０】イントラ予測モードに適用されるコンテキスト条件の他の実施例を示す図である。
【図１１】イントラ予測モードに適用されるコンテキスト条件のまた他の実施例を示す図である。
【図１２】現在ブロックのイントラ予測のために周辺ブロックを参照する一実施例を示す図である。
【図１３】現在ブロックのイントラ予測のために周辺ブロックを参照する他の実施例を示す図である。
【図１４】現在ブロックのイントラ予測のために周辺ブロックのＭＰＭリストを参照する一実施例を示す図である。
【図１５】現在ブロックのイントラ予測のために現在ブロック及び周辺ブロックの模様及び／または大きさを考慮する一実施例を示す図である。
【図１６】周辺ブロックの予測情報を参照して現在ブロックの予測情報を獲得する拡張された実施例を示す図である。
【図１７】周辺ブロックの予測情報を参照して現在ブロックの予測情報を獲得する拡張された実施例を示す図である。
【図１８】周辺ブロックの予測情報を参照して現在ブロックの予測情報を獲得する拡張された実施例を示す図である。
【図１９】周辺ブロックのイントラ予測モードの発生頻度数に基づいてイントラ予測モードの優先順位を設定する一実施例を示す図である。
【図２０】イントラ予測モードを複数のサブセットに分類する実施例を示す図である。
【図２１】イントラ予測モードを複数のサブセットに分類する実施例を示す図である。
【図２２】分類されたイントラ予測モードのサブセットを利用して現在ブロックのイントラ予測モードをシグナリングする実施例を示す図である。
【図２３】分類されたイントラ予測モードのサブセットを利用して現在ブロックのイントラ予測モードをシグナリングする詳細実施例を示す図である。
【図２４】周辺ブロックの予測情報に基づいて現在ブロックのイントラ予測モードを動的にシグナリングする実施例を示す図である。
【図２５】ＭＰＭモードの個数を可変的に調整し、それに基づいて現在ブロックのイントラ予測モードをシグナリングする実施例を示す図である。
【発明を実施するための形態】
【００１９】
本明細書で使用される用語は本発明における機能を考慮しながらできるだけ現在広く使用されている一般的な用語を選択したが、これは当分野に携わる技術者の意図、慣例または新たな技術の出現などによって異なり得る。また、特定の場合は出願人が任意に選定した用語もあるが、この場合、該当する発明を実施する形態の部分にその意味を記載する。よって、本明細書で使用される用語は、単なる用語の名称ではなく、その用語の有する実質的な意味と本明細書全般にわたる内容に基づいて解釈すべきであることを明らかにする。
【００２０】
本明細書において、一部の用語は以下のように解釈される。コーディングは、場合によってはエンコーディングまたはでコーディングと解釈される。本明細書において、ビデオ信号のエンコーディング（符号化）を行ってビデオ信号のビットストリームを生成する装置はエンコーディング装置またはエンコーダと称され、ビデオ信号ビットストリームのデコーディング（復号化）を行ってビデオ信号を復元する装置はデコーディング装置またはデコーダと称される。また、本明細書において、ビデオ信号処理装置はエンコーダ及びデコーダをいずれも含む概念の用語として使用される。情報（ｉｎｆｏｒｍａｔｉｏｎ）は値（ｖａｌｕｅｓ）、パラメータ（ｐａｒａｍｅｔｅｒ）、係数（ｃｏｅｆｆｉｃｉｅｎｔｓ）、成分（ｅｌｅｍｅｎｔｓ）などをいずれも含む用語であって、場合によっては意味が異なるように解釈されることがあるため、本発明はこれに限らない。「ユニット」は映像処理の基本単位またはピクチャの特定位置を指す意味で移用され、ルマ（ｌｕｍａ）成分とクロマ（ｃｈｒｏｍａ）成分をいずれも含むイメージ領域を指す。また、「ブロック」はルマ成分及びクロマ成分（つまり、Ｃｂ及びＣｒ）のうち特定成分を含むイメージ領域を指す。但し、実施例によって「ユニット」、「ブロック」、「パーティション」、及び「領域」などの用語は互いに混合して使用されてもよい。また、本明細書において、ユニットはコーディングユニット、予測ユニット、変換ユニットをいずれも含む概念として使用される。ピクチャはフィールドまたはフレームを指し、実施例よっては前記用語は互いに混用して使用される。
【００２１】
図１は、本発明の一実施例によるビデオ信号エンコーディング装置の概略的なブロック図である。図１を参照すると、本明細書のエンコーディング装置１００は、変換部１１０、量子化部１１５、逆量子化部１２０、逆変換部１２５、フィルタリング部１３０、予測部１５０、及びエントロピーコーディング部１６０を含む。
【００２２】
変換部１１０は、入力されたビデオ信号と予測部１５０で生成された予測信号の差であるレジデュアル信号を変換して変換係数値を獲得する。例えば、離散コサイン変換（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ、ＤＣＴ）、離散サイン変換（Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ、ＤＳＴ）、またはウェーブレット変換（Ｗａｖｅｌｅｔ  Ｔｒａｎｓｆｏｒｍ）などが使用される。離散コサイン変換及び離散サイン変換は、入力されたピクチャ信号をブロックの形態に分けて変換を行うようになる。変換において、変換領域内の分布と特性によってコーディング効率が異なり得る。量子化部１１５は、変換部１１０で出力された変換係数の値を量子化する。
【００２３】
コーディング効率を上げるために、ピクチャ信号をそのままコーディングするのではなく、予測部１５０を介して予めコーディングされた領域を利用してピクチャを予測し、予測されたピクチャに原本ピクチャと予測ピクチャ間のレジデュアル値を足して復元ピクチャを獲得する方法が使用される。エンコーダとデコーダでミスマッチが発生しないように、エンコーダで予測を行う際にはデコーダでも使用可能な情報を使用すべきである。そのために、エンコーダでは符号化した現在ブロックを更に復元する過程を行う。逆量子化部１２０では変換係数値を逆量子化し、逆変換部１２５では逆量子化された変換係数値を利用してレジデュアル値を復元する。一方、フィルタリング部１３０は、復元されたピクチャの品質改善及び符号化効率の向上のためのフィルタリング演算を行う。例えば、デブロッキングフィルタ、サンプル適応的オフセット（Ｓａｍｐｌｅ  Ａｄｐａｔｉｖｅ  Ｏｆｆｓｅｔ、ＳＡＯ）、及び適応的ループフィルタなどが含まれる。フィルタリングを経たピクチャは、出力されるか参照ピクチャとして利用するために複合ピクチャバッファ（Ｄｅｃｏｄｅｄ  Ｐｉｃｔｕｒｅ  Ｂｕｆｆｅｒ、ＤＰＢ）１５６に貯蔵される。
【００２４】
予測部１５０は、イントラ予測部１５２とインター予測部１５４を含む。イントラ予測部１５２は現在ピクチャ内でイントラ（ｉｎｔｒａ）予測を行い、インター予測部１５４は複合ピクチャバッファ１５６に貯蔵された参照バッファを利用して現在ピクチャを予測するインター（ｉｎｔｅｒ）予測を行う。イントラ予測部１５２は、現在ピクチャ内の復元されたサンプルからイントラ予測を行い、イントラ符号化情報をエントロピーコーディング部１６０に伝達する。イントラ符号化情報は、イントラ予測モード、ＭＰＭ（Ｍｏｓｔ  Ｐｒｏｂａｂｌｅ  Ｍｏｄｅ）フラッグ、ＭＰＭインデックスのうち少なくとも一つを含む。インター予測部１５４は、モーション推定部１５４ａ及びモーション補償部１５４ｂを含んで構成される。モーション推定部１５４ａは、復元された参照信号ピクチャの特定領域を参照して現在領域のモーションベクトル値を獲得する。モーション推定部１５４ａは、参照領域に対するモーション情報（参照ピクチャインデックス、モーションベクトル情報）をエントロピーコーディング部１６０に伝達する。モーション補償部１５４ｂは、モーション補償部１５４ａから伝達されたモーションベクトル値を利用してモーション補償を行う。インター予測部１５４は、参照領域に対するモーション情報を含むインター符号化情報をエントロピーコーディング部１６０に伝達する。
【００２５】
上述したピクチャ予測が行われれば、変換部１１０は原本ピクチャと予測ピクチャ間のレジデュアル値を変換して変換係数値を獲得する。この際、変換はピクチャ内で特定ブロック単位で行われるが、特定ブロックの大きさは予め設定された範囲内で可変する。量子化部１１５は、変換部１１０で生成された変換係数の値を量子化してエントロピーコーディング部１６０に伝達する。
【００２６】
エントロピーコーディング部１６０は、量子化された変換係数、イントラ符号化情報、及びインター符号化情報などをエントロピーコーディングしてビデオ信号ビットストリームを生成する。エントロピーコーディング部１６０では、可変長コーディング（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅｉｎｇ、ＶＬＣ）方式と算術コーディング（ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ）方式などが使用される。可変長コーディング（ＶＬＣ）方式は入力されるシンボルを連続したコードワードに変換するが、コードワードの長さは可変的である。例えば、よく発生するシンボルは短いコードワードで、よく発生しないシンボルは長いコードワードで表す。可変長コーディング方式として、コンテキスト基盤の適応型可変長コーディング（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ、ＣＡＶＬＣ）方式が使用される。算術コーディングは連続したデータシンボルを一つの素数に変換するが、算術コーディングは各シンボルを表すために必要な最適の素数ビットを得る。算術コーディングとして、コンテキスト基盤の適応型算術符号化（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ、ＣＡＢＡＣ）方式が利用される。
【００２７】
前記生成されたビットストリームは、ＮＡＬ（Ｎｅｔｗｏｒｋ  Ａｂｓｔｒａｃｔｉｏｎ  Ｌａｙｅｒ）ユニットを基本単位にカプセル化される。ＮＡＬユニットは、符号化された整数個のコーディングツリーユニット（ｃｏｄｉｎｇ  ｔｒｅｅ  ｕｎｉｔ）を含む。ビデオデコーダでビットストリームを復号化するためには、まずビットストリームをＮＡＬユニット単位に分離した後、分離されたそれぞれのＮＡＬユニットを復号化すべきである。一方、ビデオ信号ビットストリームの復号化のために必要な情報は、ピクチャパラメータセット（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ、ＰＰＳ）、シーケンスパラメータセット（Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ、ＳＰＳ）、ビデオパラメータセット（Ｖｉｄｅｏ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ、ＶＰＳ）などのような上位レベルセットのＲＢＳＰ（Ｒａｗ  Ｂｙｔｅ  Ｓｅｑｕｅｎｃｅ  Ｐａｙｌｏａｄ）を介して伝送される。
【００２８】
一方、図１のブロック図は本発明の一実施例によるエンコーディング装置１００を示し、分離して示したブロックはエンコーディング装置１００のエレメントを論理的に区別して示している。よって、上述したエンコーディング装置１００のエレメントは、ディバイスの設計に応じて一つのチップまたは複数のチップで取り付けられる。一実施例によると、上述したエンコーディング装置１００の各エレメントの動作はプロセッサ（図示せず）によって行われる。
【００２９】
図２は、本発明の実施例によるビデオ信号デコーディング装置の２００概略的なブロック図である。図２を参照すると、本明細書のデコーディング装置２００は、エントロピーデコーディング部２１０、逆量子化部２２０、逆変換部２２５、フィルタリング部２３０、予測部２５０を含む。
【００３０】
エントロピーデコーディング部２１０は、ビデオ信号ビットストリームをエントロピーコーディングし、各領域に対する変換係数、イントラ符号化情報、インター符号化情報などを抽出する。逆量子化部２２０はエントロピーデコーディングされた変換係数を逆量子化し、逆変換部２２５は逆量子化された変換係数を利用してレジデュアル値を復元する。ビデオ信号処理装置２００は、逆変換部２２５から獲得されたレジデュアル値を予測部２５０から獲得された予測値と合算して元の画素値を復元する。
【００３１】
一方、フィルタリング部２３０は、ピクチャに対するフィルタリングを行って画質を向上させる。ここには、ブロック歪曲現象を減少させるためのデブロッキングフィルタ及び／またはピクチャ全体の歪曲を除去するための適応的ループフィルタが含まれる。フィルタリングを経たピクチャは出力されるか、次のピクチャに対する参照ピクチャとして利用するために複合ピクチャバッファ（ＤＰＢ）２５６に貯蔵される。
【００３２】
予測部２５０は、イントラ予測部２５２とインター予測部２５４を含む。予測部２５０は、上述したエントロピーデコーディング部２１０を介して復号化された符号化タイプ、各領域に対する変換係数、イントラ／インター符号化情報などを活用して予測ピクチャを生成する。復号化が行われる現在ブロックを復元するために、現在ブロックが含まれた現在ピクチャまたは他のピクチャの復号化された領域が利用される。復元に現在ピクチャのみを利用する、つまり、イントラ予測のみを行うピクチャ（または、タイル／スライス）をイントラピクチャまたはＩピクチャ（または、タイル／スライス）、イントラ予測とインター予測をいずれも行うピクチャ（または、タイル／スライス）をインターピクチャ（または、タイル／スライス）という。インターピクチャ（または、タイル／スライス）のうち各ブロックのサンプル値を予測するために最大一つのモーションベクトル及び参照ピクチャインデックスを利用するピクチャ（または、タイル／スライス）を予測ピクチャ（ｐｒｅｄｉｃｔｉｖｅ  ｐｉｃｔｕｒｅ）またはＰピクチャ（または、タイル／スライス）と言い、最大２つのモーションベクトル及び参照ピクチャインデックスを利用するピクチャ（または、タイル／スライス）を双予測ピクチャ（Ｂｉ−ｐｒｅｄｉｃｔｉｖｅ  ｐｉｃｔｕｒｅ）またはＢピクチャ（または、タイル／スライス）という。つまり、Ｐピクチャ（または、タイル／スライス）は各ブロックを予測するために最大一つのモーション情報セットを利用し、Ｂピクチャ（または、タイル／スライス）は各ブロックを予測するために最大２つのモーション情報セットを利用する。ここで、モーション情報セットは一つ以上のモーションベクトルと一つの参照ピクチャインデックスを含む。
【００３３】
イントラ予測部２５２は、イントラ符号化情報及び現在ピクチャ内の復元されたサンプルを利用して予測ブロックを生成する。上述したように、イントラ符号化情報は、イントラ予測モード、ＭＰＭフラッグ、ＭＰＭインデックスのうち少なくとも一つを含む。イントラ予測部２５２は、現在ブロックの左側及び／または上側に位置する復元されたピクセルを参照ピクセルとして利用して、現在ブロックのピクセル値を予測する。一実施例によると、参照ピクセルは現在ブロックの左側境界に隣接したピクセル及び／または上側境界に隣接したピクセルである。他の実施例によると、参照ピクセルは現在ブロックの周辺ブロックのピクセルのうち、現在ブロックの左側境界から予め設定された距離以内に隣接したピクセル、及び／または現在ブロックの上側境界から予め設定された距離以内に隣接したピクセルである。この際、現在ブロックの周辺ブロックは、現在ブロックに隣接した左側（Ｌ）ブロック、上側（Ａ）ブロック、下左側（Ｂｅｌｏｗ  Ｌｅｆｔ、ＢＬ）ブロック、上右側（Ａｂｏｖｅ  Ｒｉｇｈｔ、ＡＲ）ブロック、または上左側（Ａｂｏｖｅ  Ｌｅｆｔ、ＡＬ）ブロックのうち少なくとも一つを含む。
【００３４】
インター予測部２５４は、複合ピクチャバッファ２５６に貯蔵された参照ピクチャ及びインター符号化情報を利用して予測ブロックを生成する。インター符号化情報は、参照ブロックに対する現在ブロックのモーション情報（参照ピクチャインデックス、モーションベクトルなど）を含む。インター予測には、Ｌ０予測、Ｌ１予測、及び双予測（Ｂｉ−ｐｒｅｄｉｃｔｉｏｎ）がある。Ｌ０予測はＬ０ピクチャリストに含まれた一つの参照ピクチャを利用した予測であり、Ｌ１予測はＬ１ピクチャリストに含まれた一つの参照ピクチャを利用した予測を意味する。そのためには、１セットのモーション情報（例えば、モーションベクトル及び参照ピクチャインデックス）が必要である。双予測方式では最大２つの参照領域を利用するが、この２つの参照領域は同じ参照ピクチャに存在してもよく、互いに異なるピクチャにそれぞれ存在してもよい。つまり、双予測方式では最大２セットのモーション情報（例えば、モーションベクトル及び参照ピクチャインデックス）が利用されるが、２つのモーションベクトルが同じ参照ピクチャインデックスに対応してもよく、互いに異なる参照ピクチャインデックスに対応してもよい。この際、参照ピクチャは時間的に現在ピクチャの以前や以降のいずれにも表示（または出力）される。
【００３５】
インター予測部２５４は、モーションベクトル及び参照ピクチャインデックスを利用して現在の参照ブロックを獲得する。前記参照ブロックは、参照ピクチャインデックスに対応する参照ピクチャ内に存在する。また、モーションベクトルによって特定されたブロックのピクセル値またはこれの補間（ｉｎｔｅｒｐｏｌａｔｉｏｎ）された値が現在ブロックの予測値（ｐｒｅｄｉｃｔｏｒ）として利用される。サブペル（ｓｕｂ−ｐｅｌ）単位のピクセル正確度を有するモーション予測のために、例えば、ルマ信号に対して８−タブ補間フィルタが、クロマ信号に対して４−タブ補間フィルタが使用される。但し、サブペル単位のモーション予測のための補間フィルタはこれに限らない。このように、インター予測部２５４は、以前復元されたピクチャから現在ユニットのテクスチャをモーション情報を利用して予測するモーション補償（ｍｏｔｉｏｎ  ｃｏｍｐｅｎｓａｔｉｏｎ）を行う。
【００３６】
前記イントラ予測部２５２またはインター予測部２５４から出力された予測値、及び逆変換部２２５から出力されたレジデュアル値が足されて復元されたビデオピクチャが生成される。つまり、ビデオ信号デコーディング装置２００は、初速部２５０から生成された予測ブロックと逆変換部２２５から獲得されたレジデュアルを利用して現在ブロックを復元する。
【００３７】
一方、図２のブロック図は本発明の一実施例によるデコーディング装置２００を示し、分離して示したブロックはデコーディング装置２００のエレメントを論理的に区別して示している。よって、上述したデコーディング装置２００のエレメントは、ディバイスの設計に応じて一つのチップまたは複数のチップで取り付けられる。一実施例によると、上述したデコーディング装置２００の各エレメントの動作はプロセッサ（図示せず）によって行われる。
【００３８】
図３は、ピクチャ内でコーディングツリーユニット（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ、ＣＴＵ）がコーディングユニット（Ｃｏｄｉｎｇ  Ｕｎｉｔｓ、ＣＵｓ）に分割される実施例を示している。ビデオ信号のコーディング過程において、ピクチャはコーディングツリーユニット（ＣＴＵ）のシーケンスに分割される。コーディングツリーユニットは、ルマサンプルのＮＸＮブロックと、それに対応するクロマサンプルの２つのブロックからなる。コーディングツリーユニットは、複数のコーディングユニットに分割される。コーディングユニットは上述したビデオ信号の処理過程、つまり、イントラ／インター予測、変換、量子化及び／またはエントロピーコーディングなどの過程でピクチャを処理するための基本単位を指す。一つのピクチャ内において、コーディングユニットの大きさ及び模様は一定ではない。コーディングユニットは正方形または長方形の模様を有する。長方形コーディングユニット（または、長方形ブロック）は垂直コーディングユニット（または、垂直ブロック）と水平コーディングユニット（または、水平ブロック）を含む。本明細書において、垂直ブロックは高さが幅より大きいブロックであり、水平ブロックは幅が高さより大きいブロックである。また、本明細書において、正方形ではない（ｎｏｎ−ｓｑｕａｒｅ）ブロックは長方形ブロックを指すが、本発明はこれに限らない。
【００３９】
図３を参照すると、コーディングツリーユニットは、まずクォードツリー（Ｑｕａｄ  Ｔｒｅｅ、ＱＴ）構造に分割される。つまり、クォードツリー構造において、２ＮＸ２Ｎの大きさを有する一つのノードはＮＸＮの大きさを有する４つのノードに分割される。本明細書において、クォードツリーは４進（ｑｕａｔｅｒｎａｒｙ）ツリーとも称される。クォードツリー分割は再帰的に行われ、全てのノードが同じ深さに分割される必要はない。
【００４０】
一方、上述したクォードツリーのリーフノード（ｌｅａｆ  ｎｏｄｅ）は、マルチ−タイプツリー（Ｍｕｌｔｉ−Ｔｙｐｅ  Ｔｒｅｅ、ＭＴＴ）構造に更に分割される。本発明の実施例によると、マルチタイプツリー構造では一つのノードが水平または垂直分割の２進（ｂｉｎａｒｙ、バイナリー）または３進（ｔｅｒｎａｒｙ、ターナリー）ツリー構造に分割される。つまり、マルチ−タイプツリー構造には、垂直バイナリー分割、水平バイナリー分割、垂直ターナリー分割、及び水平ターナリーの４つの分割構造が存在する。本発明の実施例によると、前記各ツリー構造において、ノードの幅及び高さはいずれも２の累乗値を有する。例えば、バイナリーツリー（Ｂｉｎａｒｙ  Ｔｒｅｅ、ＢＴ）構造において、２ＮＸ２Ｎの大きさのノードは垂直バイナリー分割によって２つのＮＸ２Ｎノードに分割され、水平バイナリー分割によって２つの２ＮＸＮノードに分割される。また、ターナリーツリー（Ｔｅｒｎａｒｙ  Ｔｒｅｅ、ＴＴ）構造において、２ＮＸ２Ｎの大きさのノードは垂直ターナリー分割によって（Ｎ／２）Ｘ２Ｎ、ＮＸ２Ｎ、及び（Ｎ／２）Ｘ２Ｎのノードに分割され、水平バイナリー分割によって２ＮＸ（Ｎ／２）、２ＮＸＮ及び、２ＮＸ（Ｎ／２）のノードに分割される。このようなマルチ−タイプツリー分割は再帰的に行われる。
【００４１】
マルチ−タイプツリーのリーフノードはコーディングユニットになり得る。コーディングユニットが最大変換長に比べ過度に大きくなければ、該当コーディングユニットはそれ以上分割されずに予測及び変換の単位として使用される。一方、上述したクォードツリー及びマルチ−タイプツリーにおいて、次のパラメータのうち少なくとも一つが事前に定義されるか、ＰＰＳ、ＳＰＳ、ＶＰＳなどのような上位レベルセットのＲＢＳＰを介して伝送される。１）ＣＴＵの大きさ：クォードツリーのルートノード（ｒｏｏｔ  ｎｏｄｅ）の大きさ、２）最小ＱＴの大きさ（ＭｉｎＱｔＳｉｚｅ）：許容された最小ＱＴリーフノードの大きさ、３）最大ＢＴの大きさ（ＭａｘＢｔＳｉｚｅ）：許容された最大ＢＴルートノードの大きさ、４）最大ＴＴの大きさ（ＭａｘＴｔＳｉｚｅ）：許容された最大ＴＴルートノードの大きさ、５）最大ＭＴＴの深さ（ＭａｘＭｔｔＤｅｐｔｈ）：ＱＴのリーフノードからのＭＴＴ分割の最大許容深さ、６）最大ＢＴの大きさ（ＭｉｎＢｔＳｉｚｅ）：許容された最大ＢＴリーフノードの大きさ、７）最小ＴＴの大きさ（ＭｉｎＴｔＳｉｚｅ）：許容された最小ＴＴリーフノードの大きさ。
【００４２】
図４は、クォードツリー及びマルチ−タイプツリーの分割をシグナリングする方法の一実施例を示す図である。上述したクォードツリー及びマルチ−タイプツリーの分割をシグナリングするために、予め設定されたフラッグが使用される。図４を参照すると、クォードツリーノードの分割可否を指示するフラッグ「ｑｔ＿ｓｐｌｉｔ＿ｆｌａｇ」、マルチ−タイプツリーノードの分割可否を指示するフラッグ「ｍｔｔ＿ｓｐｌｉｔ＿ｆｌａｇ」、マルチ−タイプツリーノードの分割方向を指示するフラッグ「ｍｔｔ＿ｓｐｌｉｔ＿ｖｅｒｔｉｃａｌ＿ｆｌａｇ」、またはマルチ−タイプツリーノードの分割模様を指示するフラッグ「ｍｔｔ＿ｓｐｌｉｔ＿ｂｉｎａｒｙ＿ｆｌａｇ」のうち少なくとも一つが使用される。
【００４３】
本発明の実施例によると、コーディングツリーユニットはクォードツリーのルートノードであり、クォードツリー構造に優先的に分割される。クォードツリー構造ではそれぞれのノード「ＱＴ＿ｎｏｄｅ」別に「ｑｔ＿ｓｐｌｉｔ＿ｆｌａｇ」がシグナリングされる。「ｑｔ＿ｓｐｌｉｔ＿ｆｌａｇ」の値が１であれば、該当ノードは４つの正方形ノードに分割され、「ｑｔ＿ｓｐｌｉｔ＿ｆｌａｇ」の値が０であれば、該当ノードはクォードツリーのリーフノード「ＱＴ＿ｌｅａｆ＿ｎｏｄｅ」となる。
【００４４】
それぞれのクォードツリーリーフノード「ＱＴ＿ｌｅａｆ＿ｎｏｄｅ」は、マルチ−タイプツリー構造に更に分割される。マルチ−タイプツリー構造ではそれぞれのノード「ＭＴＴ＿ｎｏｄｅ」別に「ｍｔｔ＿ｓｐｌｉｔ＿ｆｌａｇ」がシグナリングされる。「ｍｔｔ＿ｓｐｌｉｔ＿ｆｌａｇ」の値が１であれば、該当ノードは複数の長方形ノードに分割され、「ｍｔｔ＿ｓｐｌｉｔ＿ｆｌａｇ」の値が０であれば、該当ノードはマルチ−タイプツリーのリーフノード「ＭＴＴ＿ｌｅａｆ＿ｎｏｄｅ」となる。マルチ−タイプツリーノード「ＭＴＴ＿ｎｏｄｅ」が複数の長方形ノードに分割されれば（つまり、「ｍｔｔ＿ｓｐｌｉｔ＿ｆｌａｇ」の値が１であれば）、ノード「ＭＴＴ＿ｎｏｄｅ」のための「ｍｔｔ＿ｓｐｌｉｔ＿ｖｅｒｔｉｃａｌ＿ｆｌａｇ」及び「ｍｔｔ＿ｓｐｌｉｔ＿ｂｉｎａｒｙ＿ｆｌａｇ」が更にシグナリングされる。「ｍｔｔ＿ｓｐｌｉｔ＿ｖｅｒｔｉｃａｌ＿ｆｌａｇ」の値が１であれば、ノード「ＭＴＴ＿ｎｏｄｅ」の垂直分割が指示され、「ｍｔｔ＿ｓｐｌｉｔ＿ｖｅｒｔｉｃａｌ＿ｆｌａｇ」の値が０であれば、ノード「ＭＴＴ＿ｎｏｄｅ」の水平分割が指示される。また、「ｍｔｔ＿ｓｐｌｉｔ＿ｂｉｎａｒｙ＿ｆｌａｇ」の値が１であれば、ノード「ＭＴＴ＿ｎｏｄｅ」は２つの長方形ノードに分割され、「ｍｔｔ＿ｓｐｌｉｔ＿ｂｉｎａｒｙ＿ｆｌａｇ」の値が０であれば、ノード「ＭＴＴ＿ｎｏｄｅ」は３つの長方形ノードに分割される。
【００４５】
図５及び図６は、本発明の実施例によるイントラ予測方法をより詳しく示す図である。上述したように、イントラ予測部は、現在ブロックの左側及び／または上側に位置する復元されたピクセルを参照ピクセルとして利用して、現在ブロックのピクセル値を予測する。
【００４６】
まず、図５はイントラ予測モードで現在ブロックを予測するために使用される参照サンプルの一実施例を示す。一実施例によると、参照ピクセルは現在ブロックの左側境界に隣接したピクセル及び／または上側境界に隣接したピクセルである。図５に示したように、現在ブロックの大きさがＷＸＨで現在ブロックに隣接した単一参照ライン（ｌｉｎｅ）のピクセルがイントラ予測に使用されれば、現在ブロックの左側及び／または上側に位置した最大２Ｗ＋２Ｈ＋１個の隣接したピクセルを使用して参照ピクセルが設定される。一方、本発明の更なる実施例によると、現在ブロックのイントラ予測のために多重参照ラインのピクセルが使用される。多重参照ラインは、現在ブロックから予め設定された範囲以内に位置するｎ個のラインからなる。一実施例によると、イントラ予測のために多重参照ラインのピクセルが使用されれば、参照ピクセルに設定されるラインを指示する別途のインデックス情報がシグナリングされる。参照ピクセルとして使用される少なくとも一部の隣接ピクセルがまだ復元されていなければ、イントラ予測部は予め設定された規則による参照サンプルパッディング過程を行って参照ピクセルを獲得する。また、イントラ予測部は、イントラ予測の誤差を減らすために参照サンプルフィルタリング過程を行う。つまり、隣接ピクセル及び／または参照サンプルパッディング過程によって獲得されたピクセルにフィルタリングを行って参照ピクセルを獲得する。イントラ予測部は、このように獲得された参照ピクセルを利用して現在ブロックのピクセルを予測する。
【００４７】
次に、図６はイントラ予測に使用される予測モードの一実施例を示す図である。イントラ予測のために、イントラ予測方向を指示するイントラ予測モード情報がシグナリングされる。イントラ予測モードは、イントラ予測モードセットを構成する複数のイントラ予測モードのうちいずれか一つを指示する。現在ブロックがイントラ予測ブロックであれば、デコーダはビットストリームから現在ブロックのイントラ予測モード情報を受信する。デコーダのイントラ予測部は、抽出されたイントラ予測モード情報に基づいて現在ブロックに対するイントラ予測を行う。
【００４８】
本発明の実施例によると、イントラ予測モードセットは、イントラ予測に使用される全てのイントラ予測モード（例えば、総６７個のイントラ予測モード）を含む。より詳しくは、イントラ予測モードセットは、平面モード、ＤＣモード、及び複数の（例えば、６５個の）角度モード（つまり、方向モード）を含む。それぞれのイントラ予測モードは、予め設定されたインデックス（つまり、イントラ予測モードインデックス）を介して指示される。例えば、図６に示したように、イントラ予測モードインデックス０は平面モードを指示し、イントラ予測モードインデックス１はＤＣモードを指示する。また、イントラ予測モードインデックス２乃至６６は、互いに異なる角度モードをそれぞれ指示する。角度モードは、予め設定された角度範囲以内の互いに異なる角度をそれぞれ指示する。例えば、角度モードは時計回りに４５度から−１３５度の間の角度範囲（つまり、第１角度範囲）以内の角度を指示する。この際、前記角度モードは１２時方向を基準に定義される。この際、イントラ予測モードインデックス２は水平対角（Ｈｏｒｉｚｏｎｔａｌ  Ｄｉａｇｏｎａｌ、ＨＤＩＡ）モードを指示し、イントラ予測モードインデックス１８は水平（Ｈｏｒｉｚｏｎｔａｌ、ＨＯＲ）モードを指示し、イントラ予測モードインデックス３４は対角（Ｄｉａｇｏｎａｌ、ＤＩＡ）モードを指示し、イントラ予測モードインデックス５０は水直（Ｖｅｒｔｉｃａｌ、ＶＥＲ）モードを指示し、イントラ予測モードインデックス６６は垂直対角（Ｖｅｒｔｉｃａｌ  Ｄｉａｇｏｎａｌ、ＶＤＩＡ）モードを指示する。
【００４９】
一方、予め設定された角度範囲は現在ブロックの模様に応じて互いに異なるように設定される。例えば、現在ブロックが長方形ブロックであれば、時計回りに４５度を超過するか−１３５度未満の角度を指示する広角モードが更に使用される。現在ブロックが水平ブロックであれば、角度モードは時計回りに（４５＋ｏｆｆｓｅｔ１）度から（−１３５＋ｏｆｆｓｅｔ１）度の間の角度範囲（つまり、第２角度範囲）以内の角度を指示する。この際、第１角度範囲を逸脱する角度モード６７乃至７６が更に使用される。また、現在ブロックが水直ブロックであれば、角度モードは時計回りに（４５−ｏｆｆｓｅｔ２）度から（−１３５−ｏｆｆｓｅｔ２）度の間の角度範囲（つまり、第３角度範囲）以内の角度を指示する。この際、第１角度範囲を逸脱する角度モード−１０乃至−１が更に使用される。本発明の実施例によると、ｏｆｆｓｅｔ１及びｏｆｆｓｅｔ２の値は、長方形ブロックの幅と高さとの間の割合によって互いに異なるように決定される。また、ｏｆｆｓｅｔ１及びｏｆｆｓｅｔ２は正数である。
【００５０】
本発明の追加的な実施例によると、イントラ予測モードセットを構成する複数の角度モードは、基本角度モードと拡張角度モードを含む。この際、拡張角度モードは基本角度モードに基づいて決定される。
【００５１】
一実施例によると、基本角度モードは従来のＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）標準のイントラ予測で使用される角度に対応するモードであり、拡張角度モードは次世代ビデオコーデック標準のイントラ予測で新たに追加される角度に対応するモードである。より詳しくは、基本角度モードはイントラ予測モード｛２、４、６、…、６６｝のうちいずれか一つに対応する角度モードであり、拡張角度モードはイントラ予測モード｛３、５、６、…、６５｝のうちいずれか一つに対応する角度モードである。つまり、拡張角度モードは、第１角度範囲内で基本角度モードの間の角度モードである。よって、拡張角度モードが指示する角度は基本角度モードが指示する角度に基づいて決定される。
【００５２】
他の実施例によると、基本角度モードは予め設定された第１角度範囲以内の角度に対応するモードであり、拡張角度モードは前記第１角度範囲を逸脱する広角モードである。つまり、基本角度モードはイントラ予測モード｛２、３、４、…、６６｝のうちいずれか一つに対応する角度モードであり、拡張角度モードはイントラ予測モード｛−１０、−９、…、−１｝及び｛６７、６８、…、７６｝のうちいずれか一つに対応する角度モードである。拡張角度モードが指示する角度は、対応する基本角度モードが指示する角度の反対側の角度に決定される。よって、拡張角度モードが指示する角度は基本角度モードが指示する角度に基づいて決定される。一方、拡張角度モードの個数はこれに限らず、現在ブロックの大きさ及び／または模様によって更なる拡張角度が定義される。例えば、拡張角度モードはイントラ予測モード｛−１４、−１３、…、−１｝及び｛６７、６８、…、８０｝のうちいずれか一つに対応する角度モードに定義されてもよい。一方、イントラ予測モードセットに含まれるイントラ予測モードの総個数は、上述した基本角度モードと拡張角度モードの構成によって可変する。
【００５３】
前記実施例において、拡張角度モード間の間隔は、対応する基本角度モード間の間隔に基づいて設定される。例えば、拡張角度モード｛３、５、７、…、６５｝間の間隔は、対応する基本角度モード｛２、４、６、…、６６｝間の間隔に基づいて決定される。また、拡張角度モード｛−１０、−９、…、−１｝間の間隔は、対応する反対側の基本角度モード｛５６、５７、…、６５｝間の間隔に基づいて決定され、拡張角度モード｛６７、６８、…、７６｝間の間隔は、対応する反対側の基本角度モード｛３、４、…、１２｝間の間隔に基づいて決定される。拡張角度モード間の角度間隔は、対応する基本角度モード間の角度間隔と同じように設定される。また、イントラ予測モードセットにおいて、拡張角度モードの個数は基本角度モードの個数以下に設定される。
【００５４】
本発明の実施例によると、拡張角度モードは基本角度モードに基づいてシグナリングされる。例えば、広角モード（つまり、拡張角度モード）は第１角度範囲以内の少なくとも一つの角度モード（つまり、基本角度モード）を代替する。代替される基本角度モードは、広角モードの反対側に対応する角度モードである。つまり、代替される基本角度モードは広角モードが指示する角度の反対方向の角度に対応するか、または前記反対方向の角度から予め設定されたオフセットインデックスだけ差がある角度に対応する角度モードである。本発明の実施例によると、予め設定されたオフセットインデックスは１である。代替される基本角度モードに対応するイントラ予測モードインデックスは広角モードに更にマッピングされて、該当広角モードをシグナリングする。例えば、広角モード｛−１０、−９、…、−１｝はイントラ予測モードインデックス｛５７、５８、…、６６｝によってそれぞれシグナリングされ、広角モード｛６７、６８、…、７６｝はイントラ予測モードインデックス｛２、３、…、１１｝によってそれぞれシグナリングされる。このように基本角度モードのためのイントラ予測モードインデックスが拡張角度モードをシグナリングするようにすることで、各ブロックのイントラ予測に使用される角度モードの構成が互いに異なっても、同じセットのイントラ予測モードインデックスがイントラ予測モードのシグナリングに使用される。よって、イントラ予測モードの構成の変化によるシグナリングオーバーヘッドが最小化される。
【００５５】
一方、拡張角度モードの使用可否は、現在ブロックの模様及び大きさのうち少なくとも一つに基づいて決定される。一実施例によると、現在ブロックの大きさが予め設定された大きさより大きければ、拡張角度モードが現在ブロックのイントラ予測のために使用され、そうでなければ基本角度モードのみ現在ブロックのイントラ予測のために使用される。他の実施例によると、現在ブロックが正方形ではないブロックであれば、拡張角度モードが現在ブロックのイントラ予測のために使用され、現在ブロックが正方形ブロックであれば、基本角度モードのみ現在ブロックのイントラ予測のために使用される。
【００５６】
イントラ予測部は現在ブロックのイントラ予測モード情報に基づいて、現在ブロックのイントラ予測に使用される参照ピクセル及び／または補間された参照ピクセルを決定する。イントラ予測モードインデックスが特定角度モードを指示すれば、現在ブロックの現在ピクセルから前記特定角度に対応する参照ピクセルまたは補間された参照ピクセルが現在ピクセルの予測に使用される。よって、イントラ予測モードに応じて互いに異なるセットの参照ピクセル及び／または補間された参照ピクセルがイントラ予測に使用される。参照ピクセル及びイントラ予測モード情報を利用して現在ブロックのイントラ予測が行われた後、デコーダは逆変換部から獲得された現在ブロックの残差信号を現在ブロックのイントラ予測値と足して、現在ブロックのピクセル値を復元する。
【００５７】
図７は、エンコーダによって選択されたイントラ予測モードをデコーダにシグナリングする方法の一実施例を示す図である。イントラ予測モードセットに含まれたイントラ予測モードの総個数をＴ（例えば、６７）とすると、Ｔ個のモードを単に二進法で表現してシグナリングする方法は、各モードが選択される確率及び該当ブロック及び周辺ブロックのコンテキストを考慮しないため非効率的である。よって、全体モードのうち現在ブロックに使用されている確率が高い一部モードのリストを別途に管理すれば、効率的なシグナリングが行われる。
【００５８】
本発明の実施例によると、現在ブロックのイントラ予測のために、全体のイントラ予測モードのうち一部モードからなる少なくとも一つの予測モードリストが管理される。イントラ予測のための第１予測モードリストは、ＭＰＭリストである。ＭＰＭリストに含まれるイントラ予測モードはＭＰＭモードであって、前記ＭＰＭリストに含まれていないイントラ予測モードは非−ＭＰＭモードと称される。エンコーダは、現在ブロックに使用されているイントラ予測モードがＭＰＭモードであるのかまたは非−ＭＰＭモードであるのかを区分するＭＰＭフラッグをシグナリングする。デコーダは、現在ブロックに使用されているイントラ予測モードがＭＰＭモードであるのかまたは非−ＭＰＭモードであるのかを、受信されたＭＰＭフラッグを介して識別する。
【００５９】
一実施例によると、ＭＰＭモードのために別途の符号化方法を使用することで、より少ないビットで効率的なシグナリングを行うことができる。ＭＰＭリストに含まれるＭＰＭモードの個数をｍとすると、非−ＭＰＭモードの個数はＴ−ｍである。ＭＰＭモードの個数ｍが非−ＭＰＭモードの個数Ｔ−ｍより小さければ、ＭＰＭモードは切り捨て単項（ｔｒｕｎｃａｔｅｄ  ｕｎａｒｙ）二進化でコーディングされ、非−ＭＰＭモードは切り捨て二項（ｔｒｕｎｃａｔｅｄ  ｂｉｎａｒｙ）二進化でコーディングされる。
【００６０】
ＭＰＭリストは、以下のように多様なコンテキストを段階別に考慮して構成される。第一、ＭＰＭリストは、現在ブロックの周辺ブロックで使用されたイントラ予測モード及び平面／ＤＣモードからなる（コンテキストＭ０）。復元が完了された周辺ブロックのうちイントラ予測モードで符号化されたブロックが存在すれば、ピクチャの地域的類似性のため、現在ブロックは該当ブロックと同じイントラ予測モードを使用している可能性がある。よって、ＭＰＭリストは、周辺ブロックのイントラ予測モードを含んで構成される。一実施例によると、現在ブロックの周辺ブロックは、現在ブロックに隣接した左側（Ｌ）ブロック、上側（Ａ）ブロック、下左側（ＢＬ）ブロック、上右側（ＡＲ）ブロック、または上左側（ＡＬ）ブロックのうち少なくとも一つを含む。例えば、現在ブロックの周辺ブロックは現在ブロックに隣接した左側（Ｌ）ブロック及び上側（Ａ）ブロックを含む。左側（Ｌ）ブロックは現在ブロックの左側境界に隣接した最下端のブロックであり、上側（Ａ）ブロックは現在ブロックの上側境界に隣接した最右側のブロックである。ＭＰＭリストを構成するための周辺ブロックの具体的な実施例は、図８を参照して更に説明する。現在ブロックの周辺ブロックで選択されたイントラ予測モード、平面モード、及びＤＣモードが予め設定された順に沿ってＭＰＭリストに追加される。例えば、｛ブロックＬのモード、ブロックＡのモード、平面モード、ＤＣモード、ブロックＢＬのモード、ブロックＡＲのモード、ブロックＡＬのモード｝の順にＭＰＭリストが構成される。
【００６１】
第二、前記方法でＭＰＭモードの個数ｍを埋めることができなければ、更なるコンテキスト条件（例えば、コンテキストＭ１、コンテキストＭ２，…）を適用してＭＰＭリストを埋める。更なるコンテキスト条件を適用する際、ＭＰＭモードに既に含まれているイントラ予測モードは新たに追加されない。
【００６２】
一方、全体Ｔ個のイントラ予測モードのうち、ＭＰＭリストに含まれていない残りのＴ−ｍ個の非−ＭＰＭモードは切り捨て二項二進化でコーディングされる。切り捨て二項二進化が使用されれば、２＾（ｋ−１）＜Ｔ−ｍ＜２＾（ｋ）と仮定すると、初期２＾（ｋ）−（Ｔ−ｍ）個のインデックスはＫ−１個のビット（またはビン）を使用してシグナリングされ、残りのインデックスはｋ個のビット（またはビン）を使用してシグナリングされる。よって、非−ＭＰＭモードに対しても更なるコンテキスト条件（つまり、コンテキストＮ）を適用し、該当ブロックで選択される可能性が相対的に高いモードをｋ−１個のビットで構成されたインデックスでシグナリングしてシグナリングオーバーヘッドを最小化することができる。
【００６３】
本発明の更なる実施例によると、非−ＭＰＭモードのうち一部モードからなる第２予測モードリストが管理される。より詳しくは、非−ＭＰＭモードは更に選択（ｓｅｌｅｃｔｅｄ、ｓ）モードと非−選択（ｎｏｎ−ｓｅｌｅｃｔｅｄ、ｎｓ）モードに区分され、選択モードからなる第２予測モードリスト（つまり、選択モードリスト）が管理される。選択リストに含まれるイントラ予測モードは選択モードと、前記選択モードリストに含まれていないイントラ予測モードは非−選択モードと称される。エンコーダは、現在ブロックに使用されているイントラ予測モードが選択モードであるのかまたは非−選択モードであるのかを区分する選択モードフラッグをシグナリングする。デコーダは、現在ブロックに使用されているイントラ予測モードが選択モードであるのかまたは非−選択モードであるのかを、受信された選択モードフラッグを介して識別する。
【００６４】
上述したように、非−ＭＰＭモードを更に区分する場合、選択モードは固定長でコーディングされる。この際、選択モードに更なるコンテキスト条件（例えば、コンテキストＳ）を適用して、該当ブロックで選択される可能性が高いモードを優先して配置する。この際、ｓ個（この際、ｓは２の累乗値）の選択モードは固定長でコーディングされ、残りのｎｓ個の非−選択モードは切り捨て二項二進化でコーディングされる。ｎｓ個の非−選択モードは、任意のｌ−１個のビット（またはビン）、またはｌ個のビット（またはビン）を使用してシグナリングされる。この際、非−選択モードに対して更なるコンテキスト条件（つまり、コンテキストＮＳ）を適用し、該当ブロックで選択される可能性が相対的に高いモードをｌ−１個のビットからなるインデックスでシグナリングしてシグナリングオーバーヘッドを最小化することができる。
【００６５】
前記コンテキスト条件の具体的な実施例は、図面を参照して後述する。以下の実施例で追加に定義されるコンテキスト条件は、前記コンテキスト条件｛Ｍ０、Ｍ１、Ｍ２、Ｎ、Ｓ、ＮＳ｝が適用される多様な構成に個別にまたは重複して適用される。例えば、基本角度モードを拡張角度モードより優先してシグナリングするコンテキスト条件が更に使用されてもよい。また、ＭＰＭモードの最初のコンテキスト条件（例えば、コンテキストＭ０）を介して導出されたブロックの角度モードに任意のオフセット（例えば、−１、＋１）を足した角度モードを予測モードリストに優先的に追加するコンテキスト条件が使用されてもよい。このようなコンテキスト条件は、ＭＰＭモード、非−ＭＰＭモード、選択モード、または非−選択モードのうち一つ以上に対するコンテキスト条件として適用される。
【００６６】
本発明の更なる実施例によると、上述したイントラ予測方法は、周辺ブロックのイントラ予測モードの個数及び／またはイントラ予測モード情報に基づいて決定される。例えば、前記ＭＰＭモード、非−ＭＰＭモード、選択モード、及び非−選択モードの区分可否、各モード別にシグナリングされるイントラ予測モードの個数（つまり、ｍ、Ｔ−ｍ、ｓ、及びｎｓ）、及び各モードが符号化される方法（つまり、切り捨て単項二進化、切り捨て二項二進化、固定長符号化）などは、周辺ブロックのイントラ予測モードの個数またはその値に応じて可変的に構成される。この際、周辺ブロックはＭＰＭリストを構成するために参照する予め設定されたブロックである。
【００６７】
第一、ＭＰＭリストを構成するために現在ブロックの周辺ブロックのイントラ予測モードを検討した後、予測モードの総個数に基づいて前記可変構成が適用される。現在ブロックがＢフレームまたはＰフレームのブロックであれば、周辺ブロックのうちからイントラ予測が行われたブロックの個数及び／または予測モードの個数に応じて前記ＭＰＭリストを構成する方法が変更される。これを更に拡張すると、ＭＰＭリストを構成するためにＩフレームとＢ／Ｐフレームとの間に互いに異なる方法が使用される。Ｉフレームでは周辺の全てのブロックがイントラ予測で構成されているため、上述した第一方法を適用せずに次の第二方法または類似した方法が適用される。
【００６８】
第二、周辺ブロックで使用された互いに異なるイントラ予測モードの個数に基づいて前記可変構成が適用される。例えば、周辺ブロックで使用されたイントラ予測モードがいずれも同じであるのかまたは互いに異なるのかによって、前記ＭＰＭリストを構成する方法が変更される。または、周辺ブロックで使用されたイントラ予測モードの異なる程度によって、前記ＭＰＭリストを構成する方法が変更される。周辺ブロックで使用されたイントラ予測モードの異なる程度は、周辺ブロックで使用されたイントラ予測モードの個数が予め設定された値以上であるのか否かに基づいて決定される。また、周辺ブロックで使用されたイントラ予測モードの異なる程度は、周辺ブロックで使用されたイントラ予測モードのモード値の差に基づいて決定される。周辺ブロックで使用されたイントラ予測モードの異なる程度が予め設定された基準を満足すれば、第一方法に基づいてＭＰＭリストが構成される。しかし、周辺ブロックで使用されたイントラ予測モードの異なる程度が予め設定された基準を満足しなければ、第一方法とは異なる第二方法に基づいてＭＰＭリストが構成される。一方、上述した可変的なＭＰＭリストを生成するために検討する現在ブロックの周辺ブロックは、基本的に設定された位置以外に更なる位置のブロックを含む。それに関する具体的な実施例は、図８を参照して説明する。
【００６９】
図８は、イントラ予測モードをシグナリングする方法の詳細実施例を示す図である。図８（ａ）及び図８（ｂ）は、予測モードリストを構成するために参照する周辺ブロックの実施例を示す図である。図８（ｃ）は、上述したイントラ予測モードをシグナリングする方法の一実施例を示す図である。また、図８（ｄ）は、非−選択モードを切り捨て二項二進化でシグナリングする一実施例を示す図である。
【００７０】
まず、図８（ａ）はＭＰＭリストを構成するために参照する周辺ブロックの相対的な位置の一実施例を示す図である。図８（ａ）を参照すると、周辺ブロックは現在ブロックに隣接した左側（Ｌ）ブロック、上側（Ａ）ブロック、下左側（ＢＬ）ブロック、上右側（ＡＲ）ブロック、または上左側（ＡＬ）の順に参照される。この際、前記周辺ブロックから選択されたイントラ予測モード、平面モード、及びＤＣモードが予め設定された順に沿ってＭＰＭリストに追加される。但し、本発明の実施例において、ＭＰＭリストを構成するために参照する周辺ブロックはこれに限らない。例えば、現在ブロックの周辺ブロックは現在ブロックの左側（Ｌ）ブロック及び上側（Ａ）ブロックを含む。左側（Ｌ）ブロックは現在ブロックの左側境界に隣接した最下端のブロックであり、上側（Ａ）ブロックは現在ブロックの上側境界に隣接した最右側ブロックである。
【００７１】
次に、図８（ｂ）はＭＰＭリストを構成するために参照する周辺ブロックの相対的な位置の他の実施例を示す図である。現在ブロックの周辺ブロックは現在ブロックより小さい大きさに分割され、現在ブロックの左側または上側境界に隣接した複数のブロックが存在する。この際、現在ブロックの左側または上側境界に隣接した複数のブロックのイントラ予測モードがＭＰＭリストを構成するために参照される。図８（ｂ）の実施例では、現在ブロックの左側境界に隣接した複数のブロックを下から上にＬ０、Ｌ１とし、現在ブロックの上側境界に隣接した複数のブロックを右側から左側にＡ０、Ａ１とする。
【００７２】
第一実施例によると、｛ブロックＬ０のＬモード、ブロックＡ０のモード、平面モード、ＤＣモード、ブロックＢＬのモード、ブロックＡＲのモード、及びブロックＡＬのモード｝の順にＭＰＭリストが構成される。第二実施例によると、｛ブロックＬ０のＬモード、ブロックＬ１のモード、ブロックＡ０のモード、ブロックＡ１のモード、平面モード、ＤＣモード、ブロックＢＬのモード、ブロックＡＲのモード、及びブロックＡＬのモード｝の順にＭＰＭリストが構成される。この際、更に参照される周辺ブロックの位置及び個数は可変する。また、現在ブロックに隣接した下左側ブロック（ＢＬ）、上右側（ＡＲ）ブロック、及び上左側（ＡＬ）でも追加のブロックが参照される。第三実施例によると、｛ブロックＬ０のＬモード、ブロックＡ０のモード、平面モード、ＤＣモード、ブロックＬ１のモード、ブロックＡ１のモード、ブロックＢＬのモード、ブロックＡＲのモード、及びブロックＡＬのモード｝の順にＭＰＭリストが構成される。つまり、選択される確率が高い平面モード及びＤＣモードがＭＰＭリストに選択される順序をブロックＬ１のモード及びブロックＡ１のモードより優先することで、シグナリングオーバーヘッドを減らすことができる。第四実施例によると、｛ブロックＬ０のＬモード、ブロックＡ０のモード、平面モード、ＤＣモード、ブロックＢＬのモード、ブロックＡＲのモード、ブロックＡＬのモード、ブロックＬ１のモード、及びブロックＡ１のモード｝の順にＭＰＭリストが構成される。つまり、上述した第一実施例によるＭＰＭリスト構成の順序以降、ブロックＬ１及びブロックＡ１が参照される。
【００７３】
本発明の更なる実施例によると、ＭＰＭリストを構成する順序は現在ブロックの模様に基づいて決定される。より詳しくは、現在ブロックが正方形ではないブロックであれば、現在ブロックが垂直ブロックであるのかまたは水平ブロックであるのかによって周辺ブロックの参照順序が異なるように決定される。例えば、現在ブロックが垂直ブロックであれば左側ブロックが上側ブロックより優先的に参照され、現在ブロックが水平ブロックであれば上側ブロックが左側ブロックより優先的に参照される。他の実施例によると、ＭＰＭリストを構成する順序は現在ブロックの模様と周辺ブロックの模様を比べて決定される。例えば、現在ブロックが垂直ブロックであれば、予め設定された周辺ブロックのうちから垂直ブロックに使用されたイントラ予測モードがＭＰＭリストに優先的に含まれる。
【００７４】
本発明のまた他の実施例によると、ＭＰＭリストを構成する順序は現在ブロックの模様と周辺ブロックで使用された角度モードとの間の連関性を考慮して決定される。例えば、現在ブロックが垂直ブロックであれば、予め設定された周辺ブロックで使用された角度モードのうち垂直（ＶＥＲ）モード５０から予め設定された範囲にあるか、対角（ＤＩＡ）モード３４と垂直対角（ＶＤＩＡ）モード６６との間にある角度モードがＭＰＭリストに優先的に含まれる。更なる実施例によると、周辺ブロックのＭＰＭリストに含まれたイントラ予測モードが現在ブロックのＭＰＭリストに含まれる。この際、周辺ブロックに使用されたイントラ予測モードで現在ブロックのＭＰＭリストが埋まられなければ、前記周辺ブロックのＭＰＭリストに含まれたイントラ予測モードが現在ブロックのＭＰＭリストに追加される。
【００７５】
図８（ｃ）は、上述したイントラ予測モードをシグナリングする方法の一実施例を示す図である。全体Ｔ個のイントラ予測モードのうちｍ個のモードはＭＰＭモードに区分され、切り捨て単項二進化でシグナリングされる。一実施例によると、Ｔは６７でｍは６である。切り捨て単項二進化ではシグナリングインデックスが大きくなるほど使用されるビット（またはビン）の個数が増加するため、該当ブロックで選択される可能性が相対的に高いモードを低い値のインデックスにマッチングしてシグナリング効率を上げる。このために、エンコードとデコーダが同じコンテキスト条件でＭＰＭリストを構成し、導出されたモード値は前記コンテキスト条件に基づいて再配列してシグナリングされる。例えば、選択されたモードをＤＣ／平面モードのような非−角度モード、垂直モード、平面角度モードの順に分類してＣＡＢＡＣ基板の符号化が行われる。次に、任意のコンテキスト条件によって決定されたｓ個の選択モードは固定長ビットでシグナリングされ、残りのｎｓ個の非−選択モードは切り捨て二項二進化でシグナリングされる。一実施例によると、ｎは１６でｎｓは４５である。
【００７６】
図８（ｄ）は、非−選択モードを切り捨て二項二進化でシグナリングする一実施例を示す図である。前記実施例によると、非−選択モードの個数ｎｓは４５である。切り捨て二項二進化が使用されれば、２＾５＜４５＜２＾６であるため、初期２＾６−４５＝１９個のインデックスは５個のビット（またはビン）を使用してシグナリングされ、残りの２６個のインデックスは６個のビット（またはビン）を使用してシグナリングされる。よって、非−選択モードにも予め設定されたコンテキスト条件を適用し、該当ブロックで選択される可能性が相対的に高いモードを５個のビット（またはビン）でシグナリングされる低い値のインデックスにマッチングする。予め設定されたコンテキスト条件の具体的な実施例は、以下の図面を参照して説明する。
【００７７】
図９はイントラ予測モードに適用されるコンテキスト条件の一実施例であって、角度モードに予め設定されたオフセットを適用する方法を示す図である。本発明の一実施例によると、特定優先順位を有する角度モードに予め設定されたオフセットを足すか引いた角度モードに新たな優先順位が与えられる。例えば、第１優先順位を有する角度モードに予め設定されたオフセットを足すか引いた角度モードに第１優先順位または第２優先順位が与えられる。一実施例によると、全体のイントラ予測モードのうち第１優先順位を有するモードは残りのモードより優先的に選択される。また、前記残りのモードは第２優先順位を有するモードと第３優先順位を有するモードに区分されるが、第２優先順位を有するモードは第３優先順位を有するモードより優先的に選択される。ここで、優先的に選択されるモードは、より少ない数のビットでシグナリングされる低い値のインデックスにマッチングされる。
【００７８】
より詳しくイントラ予測モードインデックスａ、ｂ、及びｃが第１優先順位を有するとすると、イントラ予測モードインデックスａ−ｏｆｆｓｅｔ、ａ＋ｏｆｆｓｅｔ、ｂ−ｏｆｆｓｅｔ、ｂ＋ｏｆｆｓｅｔ、ｃ−ｏｆｆｓｅｔ、及びｃ＋ｏｆｆｓｅｔ（ここで、ｏｆｆｓｅｔは０ではない整数）のモードに第１優先順位または第２優先順位が与えられる。例えば、ＭＰＭリストの構成過程で周辺ブロックから選択されたモードに第１優先順位が与えられ、周辺ブロックから選択されたモードのうち角度モードに−１または＋１を足した角度モードに第１優先順位または第２優先順位が与えられる。最優先順位のモードに予め設定されたオフセットを足すか引いたモードに同じまたは次の優先順位を与えることで、最優先順位と類似性を有するモードに高い優先順位が与えられる。
【００７９】
しかし、図９を参照すると、角度モードが予め設定された角度範囲以内に限定されている際、特定角度モードにオフセットを足すか引いた角度モードは予め設定された範囲を逸脱する可能性がある。例えば、イントラ予測モードセットの角度モードがイントラ予測モード２から６６までに限定され、予め設定されたオフセットが１であれば、イントラ予測モード２から前記オフセットを引いたイントラ予測モード１や、イントラ予測モード６６に前記オフセットを足したイントラ予測モード６７は予め設定された角度範囲を逸脱するようになる。つまり、イントラ予測モードｋから誘導されたイントラ予測モードｋ−ｏｆｆｓｅｔまたはｋ＋ｏｆｆｓｅｔが予め設定された角度範囲を逸脱する。よって、このような問題点を解決するための方法が必要である。
【００８０】
本発明の一実施例によると、特定角度モードにオフセットを足すか引いた角度モードが設定された角度範囲を逸脱すれば、該当範囲の角度モードセットから循環的に決定された角度モードが選択される。つまり、特定角度モードにオフセットを足すか引いた角度モードが予め設定された角度範囲を逸脱すれば、該当範囲の角度モードセットのうちから前記特定角度モードの反対側に位置する角度モードが選択される。例えば、予め設定された角度範囲の角度モードセットがイントラ予測モードインデックスの昇順でモード｛ａ、ｂ、ｃ、ｄ、ｅ、ｆ｝からなれば、モードｆにオフセット１を足すとモードａが選択され、モードｆにオフセット２を足すとモードｂが選択される。同じく、モードａからオフセット１を引くとモードｆが選択され、モードａからオフセット２を引くとモードｅが選択される。図９を参照すると、垂直対角モードＶＤＩＡにオフセットを足すと、水平対角モードＨＤＩＡまたはその近くの角度モードが選択される。つまり、ＶＤＩＡ＋１はＨＤＩＡにマッチングされ、ＶＤＩＡ＋２はＨＤＩＡ＋１にマッチングされる。また、ＨＤＩＡ−１はＶＤＩＡにマッチングされ、ＨＤＩＡ−２はＶＤＩＡ−１にマッチングされる。
【００８１】
本発明の他の実施例によると、特定角度モードにオフセットを足すか引いた角度モードが設定された角度範囲を逸脱すれば、前記オフセットを足すか引いた角度モードは無視される。特定角度モードに予め設定されたオフセットを足すか引くと、特定角度モードと類似した角度モードが選択される。しかし、以前の実施例のように循環的に決定された角度モードを選択すると、特定角度モードの反対側に位置する角度モードが選択されて選択された角度モード間の類似性が落ちる可能性がある。よって、オフセットを足すか引いた角度モードが予め設定された角度範囲を逸脱すれば、該当角度は選択されない。例えば、予め選択されたモード｛ａ、ｂ、ｃ｝にオフセットを足すか引いたモードａ−ｏｆｆｓｅｔ、ａ＋ｏｆｆｓｅｔ、ｂ−ｏｆｆｓｅｔ、ｂ＋ｏｆｆｓｅｔ、ｃ−ｏｆｆｓｅｔ、及びｃ＋ｏｆｆｓｅｔのうちからモードｃ＋ｏｆｆｓｅｔが予め設定された角度範囲を逸脱すれば、モードｃ＋ｏｆｆｓｅｔを除いた残りのモードａ−ｏｆｆｓｅｔ、ａ＋ｏｆｆｓｅｔ、ｂ−ｏｆｆｓｅｔ、ｂ＋ｏｆｆｓｅｔ、及びｃ−ｏｆｆｓｅｔが選択される。
【００８２】
本発明のまた他の実施例によると、特定角度モードに第１オフセットを足すか引いた角度モードが設定された角度範囲を逸脱すれば、前記特定角度モードに第２オフセットを引くか足した角度モードが選択される。または、特定角度モードに第１オフセットを足すか引いた角度モードが設定された角度範囲を逸脱すれば、前記第２オフセットを更に足すか引いた角度モードが選択される。この際、第２オフセットは第１オフセットとは異なる値を有する。例えば、モードａ＋ｏｆｆｓｅｔ１が予め設定された角度範囲を逸脱すれば、モードａ−ｏｆｆｓｅｔ２またはモードａ＋ｏｆｆｓｅｔ１−ｏｆｆｓｅｔ２が選択される。図９を参照すると、予め選択された垂直対角モードＶＤＩＡに第１オフセット１を足した角度モードＶＤＩＡ＋１が予め設定された角度範囲から逸脱している。この際、角度モードＶＤＩＡから第２オフセット２を引いた角度モードＶＤＩＡ−２が選択される。もし第２オフセットを適用して選択された角度モードが予め選択された角度モードがと重複すれば、第２オフセットとは異なる第３オフセットが上述した方法と類似して使用される。
【００８３】
本発明の更に他の実施例によると、特定角度モードに第１オフセットを足すか引いた角度モードが設定された角度範囲を逸脱すれば、前記特定角度モードに第２オフセットを足すか引いた角度モードが選択される。この際、第２オフセットの絶対値は第１オフセットの絶対値より小さい。例えば、モードａ＋ｏｆｆｓｅｔ１が予め設定された角度範囲を逸脱すれば、モードａ＋ｏｆｆｓｅｔ２が選択される。より詳しくは、予め選択された角度モードがＶＤＩＡとＨＤＩＡであれば、ＶＤＩＡ＋ｏｆｆｓｅｔ１は予め設定された角度範囲を逸脱する可能性がある。よって、予め選択された角度モードがＶＤＩＡとＨＤＩＡであれば、ＶＤＩＡ＋ｏｆｆｓｅｔ２が選択される。また、図９を参照すると、予め選択された垂直対角モードＶＤＩＡ−１に第１オフセット２を足した角度モードＶＤＩＡ−１＋２は予め設定された角度範囲から逸脱している。この際、角度モードＶＤＩＡ−１に第２オフセット１を足した角度モードＶＤＩＡ−１＋１が選択される。もし第２オフセットを適用して選択された角度モードが予め選択された角度モードがと重複すれば、第２オフセットとは異なる第３オフセットが上述した方法と類似して使用される。
【００８４】
図１０はイントラ予測モードに適用されるコンテキスト条件の他の実施例であって、予測モードリストに予め選択された角度モードの角度またはインデックスの最小値及び最大値を考慮した予測モードリストの構成方法を示す図である。本発明の実施例において、予測モードリストはＭＰＭリスト及び選択モードリストを含むが、本発明はこれに限らない。
【００８５】
イントラ予測において、現在ブロックのイントラ予測モードは周辺ブロックのイントラ予測モードと類似している。例えば、現在ブロックの角度モードは周辺ブロックの角度モードのうちいずれか一つと同じであるか類似している。よって、現在ブロックのために予め構成された第１予測モードリストがあれば、第１予測モードリストのエレメントを考慮して第２予測モードリストが構成される。一実施例によると、第１予測モードリストに含まれる角度モードの角度またはインデックス（つまり、イントラ予測モードインデックス）の最小値及び／または最大値に基づいて第２予測モードリストが構成される。第２予測モードリストのイントラ予測モードには、第１及び第２予測モードリスト以外のイントラ予測モードより高い優先順位が与えられる。
【００８６】
より詳しくは、第１予測モードリストに含まれる角度モードの角度またはインデックスの最小値及び最大値をそれぞれ「ｍｉｎ」及び「ｍａｘ」とすると、第２予測モードリストに含まれる角度モードは「ｍｉｎ」以上「ｍａｘ」以下の範囲、または「ｍｉｎ」超過「ｍａｘ」未満の範囲以内で選択される。一実施例によると、第１予測モードリストに基づいて決定された前記最小値及び最大値の間で均一に分布された（つまり、一定のインデックス差を有するか一定の角度差を有する）角度モードが第２予測モードリストに含まれる。このように、第２予測モードリストに含まれる角度モードは第１または第２予測モードリストに含まれていない角度モードより高い優先順位を有する。
【００８７】
他の実施例によると、第２予測モードリストに含まれる角度モードは「ｍｉｎ−ｏｆｆｓｅｔ１」以上「ｍｉｎ＋ｏｆｆｓｅｔ２」以下の範囲、または「ｍｉｎ−ｏｆｆｓｅｔ１」超過「ｍｉｎ＋ｏｆｆｓｅｔ２」未満の範囲以内で選択される。ここで、ｏｆｆｓｅｔ１及びｏｆｆｓｅｔ２は予め設定されたオフセットであって、負ではない整数である。また、ｏｆｆｓｅｔ１及びｏｆｆｓｅｔ２は互いに同じ値を有してもよく、互いに異なる値を有してもよい。一実施例によると、ｏｆｆｓｅｔ１とｏｆｆｓｅｔ２は同じ値に設定されるが、図９の実施例のように、オフセットに基づいて設定された範囲が予め設定された角度範囲を逸脱すれば、ｏｆｆｓｅｔ１とｏｆｆｓｅｔ２は互いに異なる値に設定される。他の実施例によると、第１予測モードリストに含まれる角度モードの分布に基づいて、ｏｆｆｓｅｔ１及びｏｆｆｓｅｔ２が互いに同じ値または互いに異なる値に設定される。例えば、第１予測モードリストに含まれる角度モードが均一に分布していなければ、ｏｆｆｓｅｔ１及びｏｆｆｓｅｔ２は互いに異なる値に設定される。第１予測モードリストに基づいて決定された前記「ｍｉｎ−ｏｆｆｓｅｔ１」及び「ｍｉｎ＋ｏｆｆｓｅｔ２」の間で均一に分布された（つまり、一定のインデックス差を有するか一定の角度差を有する）角度モードが第２予測モードリストに含まれる。例えば、第２予測モードリストに選択されるモードの個数がｎであれば、ｍ＝ｆｌｏｏｒ（（（ｍａｘ−ｏｆｆｓｅｔ２）−（ｍｉｎ−ｏｆｆｓｅｔ１））／（ｎ＋１））と設定され、第２予測モードリストにはインデックスまたは角度「ｍｉｎ−ｏｆｆｓｅｔ１＋ｍ」、「ｍｉｎ−ｏｆｆｓｅｔ１＋２ｍ」、…、「ｍｉｎ−ｏｆｆｓｅｔ１＋ｎｍ」に対応する角度モードが含まれる。このように、第２予測モードリストに含まれる角度モードは第１または第２予測モードリストに含まれていない角度モードより高い優先順位を有する。
【００８８】
図１０を参照すると、第１予測モードリストはＭＰＭリストである。また、予め設定された規則に従って構成されたＭＰＭリストに含まれた角度モードのインデックスの最小値及び最大値をそれぞれ「ＭＰＭ＿ｍｉｎ」及び「ＭＰＭ＿ｍａｘ」と称する。この際、上述した実施例のように、現在ブロックと周辺ブロックの類似性を考慮して前記ＭＰＭリストに基づいて第２予測モードリストが構成される。例えば、「ＭＰＭ＿ｍｉｎ」及び「ＭＰＭ＿ｍａｘ」に基づいて第２予測モードリストが構成される。より詳しくは、「ＭＰＭ＿ｍｉｎ−ｏｆｆｓｅｔ」及び「ＭＰＭ＿ｍｉｎ＋ｏｆｆｓｅｔ」の間で均一に分布された（つまり、一定のインデックス差を有するか一定の角度差を有する）角度モードが第２予測モードリストに含まれる。ここで、ｏｆｆｓｅｔは負ではない整数である。
【００８９】
上述した実施例のように、第１予測モードリストに基づいて第２予測モードリストが構成されれば、第１及び第２予測モードリストを利用したイントラ予測が行われる。一実施例によると、第２予測モードリストは選択モードリストに使用される。他の実施例によると、第２予測モードリストはｋ−１個またはｋ個のビットを使用してシグナリングされる非−ＭＰＭモードのうちからｋ−１個のビットからなるインデックスでシグナリングされるイントラ予測モードを指示する。また、第１予測モードリスト及び第２予測モードリストは、同じ予測モードリストの第１セット及び第２セットを指す。つまり、上述した図１０の実施例において、第１予測モードリスト及び第２予測モードリストは、予測モードリストの第１セット及び予測モードリストの第２セットにそれぞれ置換される。ここで、予測モードリストはＭＰＭリストまたは選択モードリストである。
【００９０】
図１１は、イントラ予測モードに適用されるコンテキスト条件の他の実施例であって、基本角度モードを考慮した予測モードリストの構成方法を示す図である。上述したように、イントラ予測モードセットを構成する複数の角度モードは、基本角度モードと拡張角度モードを含む。
【００９１】
本発明の一実施例によると、予測モードリストは基本角度モードを優先的に考慮して構成される。予測モードリストに含まれる角度モードは、リストに含まれていない角度モードより高い優先順位を有する。一実施例によると、基本角度モードを優先的に考慮して予測モードリストを構成する方法は、周辺ブロックが基本角度モードを使用する条件下で適用される。また、基本角度モードを優先的に考慮して予測モードリストを構成する方法は、基本角度モードを使用する周辺ブロックの個数が臨界値以上の条件下で適用される。
【００９２】
エンコーダの予測モード決定ステップにおいて、選択可能な（定義した）全ての角度モードに対する率−歪曲コスト（ＲＤ−ｃｏｓｔ）の計算を行うことは複雑度に負担がある恐れがある。よって、イントラ予測モード決定ステップで複雑度を減らすために、エンコーダは予め設定された角度モードを、例えば、基本角度モードに対してのみ率−歪曲コストの計算を先に行ってイントラ予測モードを選択する。次に、エンコーダは選択された基本角度モードの周辺角度モードに対する率−歪曲コストの計算を更に行ってイントラ予測モードを選択する。
【００９３】
現在ブロックと周辺ブロックとの間の類似性及び前記説明したエンコーダの具現実施例を考慮すると、現在ブロックが基本角度モードを使用する可能性が高い。よって、優先順位を有する予測モードリストを基本角度モードに基づいて構成する。まず、構成しようとする予測モードリストのエレメントの個数が基本角度モードの全体個数より少なければ、基本角度モードのうち一部を選択して予測モードリストを構成する。例えば、基本角度モードの個数が３３で構成しようとする予測モードリストのエレメントの個数が１６であれば、全体の基本角度モードのうちいずれか一つの基本角度モードから始まって一つ置きに基本角度モードが選択される。つまり、図１３の実施例において、角度モード４、８、１２、１６、…、６０、及び６４が選択される。一実施例によると、このように選択されたイントラ予測モードからなる予測モードリストは選択モードリストに使用される。本発明の他の実施例として、構成しようとする予測モードリストのエレメントの個数は基本角度モードの個数に基づいて定義される。例えば、基本角度モードの個数が３３であれば、構成しようとする予測モードリストのエレメントの個数は３３または３２（＝３３−１）などで定義される。
【００９４】
上述したように、拡張角度モードは基本角度モードに基づいてシグナリングされる。基本角度モードのためのイントラ予測モードインデックスを利用して、拡張角度モードがシグナリングされる。例えば、基本角度モードに基づいた予測モードリストが構成される際、前記リストを参照してオフセットまたはオン／オフフラッグを介して拡張角度がシグナリングされる。より詳しくは、基本角度モード｛ａ、ｂ、ｃ、ｄ｝に基づいて予測モードリストが構成されれば、それぞれの角度モードに対応するオフセット｛ｏｆｆｓｅｔ１、ｏｆｆｓｅｔ２、ｏｆｆｓｅｔ３、ｏｆｆｓｅｔ４｝がシグナリングされる。シグナリングされたオフセットに基づいて、角度モード｛ａ＋ｏｆｆｓｅｔ１、ｂ＋ｏｆｆｓｅｔ２、ｃ＋ｏｆｆｓｅｔ３、ｄ＋ｏｆｆｓｅｔ４｝が指示される。他の実施例によると、基本角度モードに対応するオフセットの使用可否を指示するフラッグが別途に伝送される。例えば、基本角度モードａに対応するフラッグが伝送されるが、前記フラッグの値が１であれば角度モードａ＋ｏｆｆｓｅｔ１が指示され、前記フラッグの値が０であれば角度モードａが指示される。
【００９５】
図１２は、現在ブロックのイントラ予測のために周辺ブロックを参照する一実施例を示す図である。図１２において、現在ブロックの左側または上側境界に隣接し周辺ブロックが存在すると仮定する。以下、現在ブロックの周辺ブロックを参照して、現在ブロックのための予測モードリストを構成する方法が説明される。予測モードリストはＭＰＭリスト、選択モード、及び非−選択モードリスト自体、またはその一部のセットを含むが、本発明はこれに限らない。
【００９６】
１）ＭＰＭリストの構成方法（第１方法）。本発明の実施例によると、現在ブロックに対するＭＰＭリストは以下のような方法で構成される。現在ブロックの左側または上側境界に隣接した複数の周辺ブロックが存在すれば、該当ブロックで使用されたイントラ予測モードの情報が総合的に考慮される。この際、現在ブロックの左側または上側境界に隣接した周辺ブロックは、現在ブロックの高さ「Ｃｕｒ＿ｂｌｏｃｋ＿ｈｅｉｇｈｔ」の高さを有する左側面、または現在ブロックの幅「Ｃｕｒ＿ｂｌｏｃｋ＿ｗｉｄｔｈ」の長さを有する上側面に隣接しているブロックを指す。
【００９７】
例えば、図１２でのように、現在ブロックの左側境界にブロックＬ０及びＬ１が隣接しており、上側境界にブロックＡ０、Ａ１、及びＡ２が隣接していれば、該当ブロックで使用されたイントラ予測モードを参照してＭＰＭリストを構成する。この際、現在ブロックに隣接した周辺ブロックを参照する順序は以下のような実施例で構成される。
【００９８】
第一実施例によると、ＭＰＭリストは｛ブロックＬ０のＬモード、ブロックＬ１のモード、…、ブロックＡ０のモード、ブロックＡ１のモード、…、平面モード、ＤＣモード、ブロックＢＬのモード、ブロックＡＲのモード、ブロックＡＬのモード｝の順に構成される。つまり、現在ブロックの左側境界に隣接したブロックと上側境界に隣接したブロックをそれぞれ順序通りに参照してＭＰＭリストを構成する。第二実施例によると、ＭＰＭリストは｛ブロックＬ０のＬモード、ブロックＡ０のモード、ブロックＬ１のモード、ブロックＡ１のモード、ブロックＬ＿ｘのモード、ブロックＡ＿ｘのモード、ブロックＬ＿ｘ＋１のモード、ブロックＡ＿ｘ＋１のモード、…、平面モード、ＤＣモード、ブロックＢＬのモード、ブロックＡＲのモード、ブロックＡＬのモード｝の順に構成される。つまり、現在ブロックの左側境界に隣接した代表ブロックＬ０と現在ブロックの上側境界に隣接した代表ブロックＡ０を先に参照し、現在ブロックの左側境界に隣接した残りのブロックと現在ブロックの上側境界に隣接した残りのブロックを順序通りに交互に参照してＭＰＭリストを構成する。第三実施例によると、ＭＰＭリストは｛ブロックＬ０のモード、ブロックＡ０のモード、平面モード、ＤＣモード、ブロックＢＬのモード、ブロックＡＲのモード、ブロックＡＬのモード、ブロックＬ１のモード、…、ブロックＡ１のモード、…｝の順に構成される。つまり、現在ブロックの左側境界に隣接した代表ブロックＬ０と現在ブロックの上側境界に隣接した代表ブロックＡ０を先に参照し、平面モード及びＤＣモードを追加した後、現在ブロックの左側境界に隣接した残りのブロックと現在ブロックの上側境界に隣接した残りのブロックを順序通りに交互に参照してＭＰＭリストを構成する。他の実施例によると、現在ブロックの左側または上側境界に隣接したブロックのイントラ予測モードに基づいた平均値または代表値を抽出し、それを利用してＭＰＭリストが構成される。一方、上述した実施例において、現在ブロックの左側／上側境界に隣接した代表ブロックはＬ０及びＡ０ではない位置のブロックと設定される。例えば、現在ブロックの左側面の中間地点と上側面の中間地点にそれぞれ最も近いブロックが代表ブロックとして設定されてもよい。
【００９９】
一方、図１２では現在ブロックの左側または上側境界に隣接した周辺ブロックの個数がそれぞれ２個、３個である例を示したが、上述した実施例は周辺ブロックの個数が増えても拡張して適用される。また、前記実施例には現在ブロックの左側と上側の周辺ブロックに基づいて述べられたが、現在ブロックの下左側（ＢＬ）、上右側（ＡＲ）、及び上左側（ＡＬ）に位置する周辺ブロックにも類似して適用される。それに関する具体的な実施例は、図１３を参照して説明する。もし上述した方法でＭＰＭリストを埋めることができなければ、ＭＰＭリストに予め選択された角度モードに予め設定されたオフセットを適用してＭＰＭリストを追加する。つまり、ＭＰＭリストに予め選択された角度モードに予め設定されたオフセットを足すか引いた角度モードがＭＰＭリストに追加される。この際、予め設定されたオフセットは０ではない整数である。
【０１００】
２）選択モードリストの構成方法（第２方法）。選択モードリストは、現在ブロックの周辺ブロックで使用されたイントラ予測モードに基づいて構成される。また、前記第１方法で述べた周辺ブロックを参照する優先順位の多様な実施例が選択モードリストを構成する際にも適用される。もし上述した方法で選択モードリストを埋めることができなければ、選択モードリストに予め選択された角度モードに予め設定されたオフセットを適用して選択モードリストを追加する。つまり、選択モードリストに予め選択された角度モードに予め設定されたオフセットを足すか引いた角度モードが選択モードリストに追加される。この際、予め設定されたオフセットは０ではない整数である。
【０１０１】
本発明の他の実施例によると、前記第１方法を適用する際、周辺ブロックのイントラ予測モードのうちＭＰＭリストに含まれていない下位モードが優先的に選択モードリストに含まれる。もしこのような方法で選択モードリストを埋めることができなければ、選択モードリストに予め選択された角度モードに予め設定されたオフセットを適用して選択モードリストを追加する。また他の実施例によると、周辺ブロックの角度モードに予め設定されたオフセット（つまり、ｏｆｆｓｅｔ１）を適用して選択モードリストが構成される。例えば、前記第１方法のうちいずれか一つの実施例から平面モード及びＤＣモードを除いた残りの角度モードに基づいて、以下のような選択モードリストが構成される。｛ブロックＬ０のモード＋／−ｏｆｆｓｅｔ１、ブロックＬ１のモード＋／−ｏｆｆｓｅｔ１、…、ブロックＡ０のモード＋／−ｏｆｆｓｅｔ１、ブロックＡ１のモード＋／−ｏｆｆｓｅｔ１、…、ブロックＢＬのモード＋／−ｏｆｆｓｅｔ１、ブロックＡＲのモード＋／−ｏｆｆｓｅｔ１、ブロックＡＬのモード＋／−ｏｆｆｓｅｔ１｝。この際、予め設定されたオフセットは多様な方法で決定される。例えば、オフセットは正の整数であって、その値が１から始まって１ずつ増加するように設定される。また、オフセットは正の整数であって、その値が１から始まって２の倍数に増加するように設定されてもよい。また、オフセットは初期値が１より大きい整数から始まって増加してもよく、増加されるスケールは２の倍数または３の倍数などに拡張されてもよい。また、オフセットは予め設定された初期値（例えば、１０）から始まって次第に小さくなるように設定されてもよい。
【０１０２】
３）非−選択モードリストの構成方法（第３方法）。非−選択モードリストを構成する際にも、上述した第１方法と類似して現在ブロックの周辺ブロックで使用されたイントラ予測モードが使用される。例えば、非−選択モードリストが４５個のイントラ予測モードからなり、切り捨て二項二進化でシグナリングされれば、上位１９個のモードは２０番目以降のモードより一つ少ないビットでシグナリングされる。つまり、非−選択モードリストのイントラ予測モードは、ｌ−１個のビットからなるインデックスでシグナリングされる第１セットと、ｌ個のビットからなるインデックスからなるインデックでグナリングされる第２セットに区分される。この際、上述した第１方法による周辺ブロックを参照する優先順位に基づいて選択された角度モードは前記第１セットに含まれる。もしこのような方法で第１セットを埋めることができなければ、第１セットに予め選択された角度モードに予め設定されたオフセットを適用して獲得された角度モードが第１セットに追加される。
【０１０３】
本発明の他の実施例によると、周辺ブロックのイントラ予測モードのうちＭＰＭリスト及び／または選択モードリストに含まれていない下位モードが優先的に第１セットに含まれる。もしこのような方法で第１セットを埋めることができなければ、第１セットに予め選択された角度モードに予め設定されたオフセットを適用して獲得された角度モードが第１セットに追加される。また他の実施例によると、前記第２方法と類似して周辺ブロックの角度モードに基づいて以下のように第１セットが構成される。｛ブロックＬ０のモード＋／−offset２、ブロックＬ１のモード＋／−offset２、…、ブロックＡ０のモード＋／−offset２、ブロックＡ１のモード＋／−offset２、…、ブロックＢＬのモード＋／−offset２、ブロックＡＲのモード＋／−offset２、ブロックＡＬのモード＋／−offset２｝。この際、第１セットを構成するために使用される予め設定されたオフセット（つまり、ｏｆｆｓｅｔ２）は、ＭＰＭリストの構成に使用されたオフセット及び選択モードリストの構成に使用されたオフセット（つまり、ｏｆｆｓｅｔ１）とは異なる値に設定される。
【０１０４】
図１３は、現在ブロックのイントラ予測のために周辺ブロックを参照する他の実施例を示す図である。複数の周辺ブロックを参照して現在ブロックのイントラ予測を行う図１２の実施例は、現在ブロックの左側（Ｌ)及び上側（Ａ)だけでなく、現在ブロックの下左側（ＢＬ)、上右側（ＡＲ)、及び上左側（ＡＬ)に位置する周辺ブロックにも拡張して適用される。
【０１０５】
現在ブロックの左側または上側に位置する周辺ブロックの定義は、図１２の実施例と同じである。更に、現在ブロックの下左側（ＢＬ）、上右側（ＡＲ）、及び上左側（ＡＬ）に位置する周辺ブロックが定義される。まず、現在ブロックの下左側（ＢＬ）に位置する周辺ブロックは、現在ブロックの左側面から長さ「ＢＬ＿ｂｌｏｃｋ＿ｈｅｉｇｈｔ」だけ下に延長された面に隣接したブロックを指す。また、現在ブロックの上右側（ＡＲ)に位置する周辺ブロックは、現在ブロックの上側面から長さ「ＡＲ＿ｂｌｏｃｋ＿ｗｉｄｔｈ」だけ右側に延長された面に隣接したブロックを指す。同じく、現在ブロックの上左側（ＡＬ)に位置する周辺ブロックは、現在ブロックの上側面から長さ「ＡＬ＿ｂｌｏｃｋ＿ｗｉｄｔｈ」だけ下側に延長された面に隣接したブロックを指す。一実施例によると、「ＢＬ＿ｂｌｏｃｋ＿ｈｅｉｇｈｔ」の長さは「Ｃｕｒ＿ｂｌｏｃｋ＿ｈｅｉｇｈｔ」の長さと同じく設定されるか、「Ｃｕｒ＿ｂｌｏｃｋ＿ｈｅｉｇｈｔ」の長さの整数倍に設定される。また、「ＡＲ＿ｂｌｏｃｋ＿ｗｉｄｔｈ」及び「ＡＬ＿ｂｌｏｃｋ＿ｈｅｉｇｈｔ」の長さは「Ｃｕｒ＿ｂｌｏｃｋ＿ｗｉｄｔｈ」の長さと同じく設定されるか、「Ｃｕｒ＿ｂｌｏｃｋ＿ｗｉｄｔｈ」の長さの整数倍に設定される。この際、該当位置のブロックのうち利用可能な全てのブロックが現在ブロックのイントラ予測のために参照される。また、参照可能なブロックの大きさを予め定義し、該当大きさより小さいか大きい大きさのブロックのみ現在ブロックのイントラ予測のために参照される。また、現在ブロック正方形ではないブロックであれば、現在ブロックの大きさに応じて参照される周辺ブロックの模様が異なり得る。
【０１０６】
例えば、図１３のように、現在ブロックの下左側（ＢＬ）に位置する周辺ブロックがＢＬ０、ＢＬ１、及びＢＬ２で、現在ブロックの上右側（ＡＲ）に位置する周辺ブロックがＡＲ０及びＡＲ１で、現在ブロックの上左側（ＡＬ）に位置する周辺ブロックがＡＬ０、ＡＬ１、及びＡＬ２であれば、以下のような順に予測モードリストが構成される。｛ブロックＬ０のモード、ブロックＬ１のモード、…、ブロックＡ０のモード、ブロックＡ１のモード、…、平面モード、ＤＣモード、ブロックＢＬ０のモード、ブロックＢＬ１のモード、ブロックＢＬ２のモード、…、ブロックＡＬ０のモード、ブロックＡＬ１のモード、…、ブロックＡＲ０のモード、ブロックＡＲ１のモード、…｝。本発明の実施例によると、このような予測モードリストの構成順序に基づいてＭＰＭリストが構成される。また、前記予測モードリストにおいて、角度モードのみを利用して選択モードリストが構成されてもよく、選択モードリストを埋められなければ、選択モードリストに予め選択された角度モードに予め設定されたオフセットを適用して選択モードを追加する。また、前記予測モードリストにおいて、角度モードのみを利用して非−選択モードリストの第１セットが構成されてもよく、同じく第１セットを埋められなければ、第１セットに予め選択された角度モードに予め設定されたオフセットを適用して獲得された角度モードが第１セットに追加される。図１２を参照して説明された周辺ブロックを考慮した予測モードリスト構成の実施例は、図１３による拡張された周辺ブロックにも同じく適用される。
【０１０７】
図１４は、現在ブロックのイントラ予測のために周辺ブロックのＭＰＭリストを参照する一実施例を示す図である。現在ブロックに対するＭＰＭリストを構成する際、周辺ブロックのイントラ予測モードだけでなく、該当ブロックのＭＰＭリストが更に参照される。より詳しくは、現在ブロックのイントラ予測のために周辺ブロックのイントラ予測モード、周辺ブロックのＭＰＭリストに含まれたイントラ予測モード、周辺ブロックの周辺ブロックのイントラ予測モード、周辺ブロックの周辺ブロックのＭＰＭリストに含まれたイントラ予測モードなどが参照される。つまり、現在ブロックの第１ステップ（１ｓｔ  ｔｉｅｒ）の周辺ブロックに限らず、第２ステップ（２ｎｄ  ｔｉｅｒ）の周辺ブロック、第３ステップ（３ｒｄ  ｔｉｅｒ）の周辺ブロックなど、より広い範囲の周辺ブロックのイントラ予測情報を利用して現在ブロックのイントラ予測モードがシグナリングされる。ここで、ブロックのイントラ予測情報は、前記ブロックのイントラ予測モード及びＭＰＭリスト情報のうち少なくとも一つを含む。
【０１０８】
図１４を参照すると、現在ブロックの左側周辺ブロック（つまり、Ｎｅｉｇｈｂｏｒ  ｂｌｏｃｋ１）がイントラ予測モードでコーディングされれば、該当周辺ブロックのＭＰＭリストに含まれたイントラ予測モードが現在ブロックのイントラ予測モードシグナリングに優先的に考慮される。つまり、現在ブロックのイントラ予測モードをシグナリングするために以下のような順序のモードが参照される。｛ブロックＬのモード、ブロックＡのモード、平面モード、ＤＣモード、ブロックＢＬのモード、ブロックＡＲのモード、ＮＢ１＿ＭＰＭ０モード、ＮＢ１＿ＭＰＭ１モード、ＮＢ１＿ＭＰＭ２モード、…、ＮＢ２＿ＭＰＭ０モード、ＮＢ２＿ＭＰＭ１モード、ＮＢ２＿ＭＰＭ２モード、…｝。ここで、ＮＢｘ＿ＭＰＭｙモードは現在ブロックのｘ番目の周辺ブロックのイントラ予測情報を指す。つまり、ＮＢｘ＿ＭＰＭｙモードは、前記ｘ番目の周辺ブロックのイントラ予測モード情報、または該当ブロックのＭＰＭリストのｙ番目のイントラ予測モード情報を指す。この際、ｙ番目のモードが平面モードやＤＣモードのような非−角度モードであれば、現在ブロックで考慮されなくてもよい。
【０１０９】
本発明の実施例によると、周辺ブロックの周辺ブロックに対するイントラ予測モード情報を多様に変形及び組み合わせて、現在ブロックのためのイントラ予測に使用する。例えば、現在ブロックの模様（つまり、正方形ブロック、長方形ブロック）及び周辺ブロックの模様に基づいて実施例が変形及び拡張されてもよく、その順序対も多様な組み合わせに拡張して適用されてもよい。周辺ブロックのＭＰＭリストに含まれたイントラ予測モードを現在ブロックのイントラ予測モードシグナリングに活用する実施例は、上述した実施例と組み合わせられる。つまり、現在ブロックのＭＰＭリスト、非−ＭＰＭモードのうちｋ−１個のビットからなるインデックスでシグナリングされる上位モードのセット、選択モードリスト、及び非−選択モードのうちｌ−１個のビットからなるインデックスでシグナリングされる上位モードのセットのうち少なくとも一つを構成する際、周辺ブロックのＭＰＭリストに含まれたモードが参照される。また、それぞれのケースで該当リストまたはセットを埋めることができなければ、該当リストまたはセットに予め選択された角度モードに予め設定されたオフセットを適用して獲得された角度モードが該当リストまたはセットに追加される。
【０１１０】
図１５は、現在ブロックのイントラ予測のために現在ブロック及び周辺ブロックの模様及び／または大きさを考慮する一実施例を示す図である。現在ブロックのＭＰＭを構成する際、周辺ブロックのうち現在ブロックと模様及び／または大きさが類似したブロックのイントラ予測情報が優先的に参照される。ここで、イントラ予測情報はイントラ予測モード及びＭＰＭリスト情報のうち少なくとも一つを含む。現在ブロックと周辺ブロックの模様が類似しているのか否かは、両ブロックが正方形ブロックであるのか否か、両ブロックが垂直ブロックであるのか否か、両ブロックが水平ブロックであるのか否かなどに基づいて決定される。両ブロックが共に垂直ブロックであるか共に水平ブロックであれば、各ブロックの幅と高さとの間の割合が更に考慮される。また、本発明の実施例において、ブロックの模様は上述したケースに限らず、非−均等長方形ブロック、斜線形ブロックなどに拡張されてもよい。
【０１１１】
より詳しくは、現在ブロックが垂直ブロックであれば、周辺ブロックのうち垂直ブロック（つまり、ＮＢ＿ｌ、ＮＢ＿ａ）に使用されたイントラ予測情報が現在ブロックのＭＰＭリストを構成する際に優先的に参照される。また、現在ブロックの大きさが１６×３２であれば、周辺ブロックのうち同じ大きさのブロック（つまり、ＮＢ＿ｌ）に使用されたイントラ予測情報が現在ブロックのＭＰＭリストを構成する際に優先的に参照される。現在ブロック及び周辺ブロックの模様及び／または大きさを考慮して現在ブロックのイントラ予測モードをシグナリングする実施例は、上述した実施例と組み合わせられる。つまり、現在ブロックのＭＰＭリスト、非−ＭＰＭモードのうちｋ−１個のビットからなるインデックスでシグナリングされる上位モードのセット、選択モードリスト、及び非−選択モードのうちｌ−１個のビットからなるインデックスでシグナリングされる上位モードのセットのうち少なくとも一つを構成する際、周辺ブロックうち現在ブロックと模様及び／または大きさが類似したブロックのイントラ予測情報が優先的に参照される。また、それぞれのケースで該当リストまたはセットを埋めることができなければ、該当リストまたはセットに予め選択された角度モードに予め設定されたオフセットを適用して獲得された角度モードが該当リストまたはセットに追加される。
【０１１２】
図１６乃至図１８は、周辺ブロックの予測情報を参照して現在ブロックの予測情報を獲得する拡張された実施例を示す図である。本発明の実施例によると、現在ブロックの予測情報をシグナリングするのに参照されるブロックは、現在ブロックに隣接した周辺ブロックだけでなく、現在ブロックに隣接していない周辺ブロックに拡張される。それぞれの図面を参照して、周辺ブロックのイントラ予測情報を参照して現在ブロックのイントラ予測情報を獲得する実施例が説明される。一実施例によると、周辺ブロックのイントラ予測情報を参照しながら現在ブロックのＭＰＭリストが構成される。但し、本発明はこれに限らず、それぞれの実施例は周辺ブロックのインター予測情報を参照して現在ブロックのインター予測情報を獲得する際にも類似して適用される。ここで、インター予測情報はモーションベクトル、参照ピクチャインデックスなどを含む。
【０１１３】
まず、図１６は現在ブロックの予測情報を獲得するために参照される拡張された周辺ブロックの一実施例を示す図である。上述したように、ピクチャの地域的類似性を反映して、周辺ブロックのイントラ予測モードを利用して現在ブロックのＭＰＭリストを構成する。この際、現在ブロックの境界に隣接した周辺ブロックＬ（１）、Ａ（１）、ＢＬ（１）、ＡＲ（１）、及びＡＬ（１）を第１ステップ（１ｓｔ  ｔｉｅｒ）の周辺ブロックと定義し、それぞれの第１ステップの周辺ブロックの境界に隣接した周辺ブロックＬ（２）、Ａ（２）、ＢＬ（２）、ＡＲ（２）、及びＡＬ（２）を第２ステップ（２ｎｄ  ｔｉｅｒ）の周辺ブロックと定義する。例えば、現在ブロックの左側境界に隣接した最下端ブロックＬ（１）は第１ステップの周辺ブロックであり、ブロックＬ（１）の左側または上側境界に隣接したブロックＬ（２）、Ａ（２）、ＢＬ（２）、ＡＲ（２）、及びＡＬ（２）は第２ステップの周辺ブロックである。この際、第１ステップの周辺ブロックに隣接したブロックのうち現在ブロックと重畳するブロックは、第２ステップの周辺ブロックから除外される。つまり、ブロックＬ（１）の上右側ブロックＡＲ（１）は現在ブロックと重畳するため、現在ブロックのＭＰＭリストを構成する際に参照されない。同じく、ブロックＡ（１）に隣接したブロックＢＬ（２）、ブロックＢＬ（１）に隣接したブロックＡＲ（２）、ブロックＡＲ（１）に隣接したブロックＢＬ（２）も現在ブロックと重畳するため、ＭＰＭリストを構成する際に参照されない。
【０１１４】
図１６では現在ブロックの左側または上側に位置する５個の第１ステップの周辺ブロックに対して最大２５個の第２ステップの周辺ブロックに拡張される実施例が示されているが、本発明はこれに限らない。つまり、本発明の実施例は現在ブロックの左側または上側に位置するＮ個の第１ステップの周辺ブロックに対し、最大Ｎ＾２個の第２ステップの周辺ブロックに拡張される。この場合、現在ブロックから予め設定された範囲以内の最大Ｎ＾２＋Ｎ個の周辺ブロックのイントラ予測モードを参照して、現在ブロックのＭＰＭリストが構成される。よって、Ｎ個の第１ステップの周辺ブロックのイントラ予測モードのみを参照してＭＰＭリストを構成する際より、ピクチャの地域的な特性を更に反映することができる。また、現在ブロックの最適なイントラ予測モードがＭＰＭリスト内に存在する確率を上げるため、イントラ予測モードコーディングに必要なビット量の減少が期待される。
【０１１５】
現在ブロックの第２ステップの周辺ブロックの正確な位置を決定するためには、第１ステップの周辺ブロックの大きさと該当ブロックの左上側、右上側、左下側、及び右下側の頂点などのうち少なくとも一つの位置情報が必要である。エンコーダとデコーダに前記情報が貯蔵されていなければ、第１ステップの周辺ブロックの基準座標にオフセットを足してそれぞれの第２ステップの周辺ブロックの座標を求める。例えば、ブロックＡＬ（１）の右下側の基準座標が（ｘ０、ｙ０）であれば、ブロックＬ（２）、Ａ（２）、ＢＬ（２）、ＡＲ（２）、及びＡＬ（２）の基準位置は、それぞれ（ｘ０−ｏｆｆｓｅｔ−１、ｙ０−１）、（ｘ０−１、ｙ０−ｏｆｆｓｅｔ−１）、（ｘ０−ｏｆｆｓｅｔ−１、ｙ０＋１）、（ｘ０＋１、ｙ０−ｏｆｆｓｅｔ−１）、及び（ｘ０−ｏｆｆｓｅｔ−１、ｙ０−ｏｆｆｓｅｔ−１）に決定する。ここで、ｏｆｆｓｅｔは０より大きい整数であり、ｘ軸方向のｏｆｆｓｅｔとｙ軸方向のｏｆｆｓｅｔは互いに同じ値または互いに異なる値に設定される。他の実施例によると、ｏｆｆｓｅｔは現在ブロックの大きさに基づいて決定される。つまり、ｏｆｆｓｅｔは現在ブロックの大きさに比例するように設定される。例えば、現在ブロックの幅と高さがそれぞれ｛６４、３２｝であれば、ｘ軸方向のｏｆｆｓｅｔ及びｙ軸方向のｏｆｆｓｅｔは、それぞれ前記幅と高さを整数で割った｛６４、３２｝、｛３２、１６｝、｛１６、８｝、｛８、４｝などに設定される。エンコーダとデコーダは予め定義された規則に従って同じｏｆｆｓｅｔを使用するため、エンコーダとデコーダがいずれも同じ位置の第２ステップの周辺ブロックのインター予測モードを参照する。
【０１１６】
本発明の他の実施例によると、現在ブロックの第１ステップの周辺ブロックＬ（１）、Ａ（１）、ＢＬ（１）、ＡＲ（１）、またはＡＬ（１）のＭＰＭリストが構成されれば、エンコーダとデコーダは第２ステップの周辺ブロックを探索する過程なしに、第１ステップの周辺ブロックのＭＰＭリストに含まれたイントラ予測モードを参照して現在ブロックのＭＰＭリストを構成する。第１ステップの周辺ブロックのＭＰＭリストが構成される際、現在ブロックの第２ステップの周辺ブロックの予測モードを参照するため、第１ステップの周辺ブロックのＭＰＭリストには第２ステップの周辺ブロックの予測モードが含まれる。よって、第２ステップの周辺ブロックを探索し並びに位置を計算する過程なしに、第１ステップの周辺ブロックのＭＰＭリスト参照することで第２ステップの周辺ブロックの予測モードを参照することができる。一方、第１ステップの周辺ブロックのＭＰＭリスト情報を全て貯蔵することはメモリに負担をかける恐れがある。よって、本発明また他の実施例によると、エンコーダとデコーダは第１ステップの周辺ブロックのＭＰＭリストに含まれた上位Ｍ個のイントラ予測モードのみを貯蔵し参照して、現在ブロックのＭＰＭリストを構成する。例えば、ＭＰＭリストの大きさが６で上位３個のＭＰＭインデックス（つまり、ｉｎｄｅｘ＝０、１、２）のイントラ予測モードが参照されれば、現在ブロックのＭＰＭリストは第１ステップの周辺ブロックＬ（１）、Ａ（１）、ＢＬ（１）、ＡＲ（１）、及びＡＬ（１）のイントラ予測モードと、各ブロックのＭＰＭリストの上位３個のＭＰＭインデックスが指示するイントラ予測モードを参照して構成される。一実施例によると、平面モード及びＤＣモードは上述した上位Ｍ個のイントラ予測モードから除外される。
【０１１７】
図１７は、現在ブロックの予測情報を獲得するために参照される拡張された周辺ブロックの他の実施例を示す図である。本発明の他の実施例によると、現在ブロックの予測情報を獲得するために、現在ブロックを基準とする予め設定された探索範囲が使用される。
【０１１８】
図１７を参照すると、第１ステップの周辺ブロックの左上側、左下側、右上側の頂点の座標を基準に第２ステップの周辺ブロックＬ（２）、Ａ（２）、ＢＬ（２）、ＡＲ（２）、及びＡＬ（２）を探すために、長方形状の探索範囲が定義される。この際、探索範囲内でｘ軸及び／またはｙ軸方向に決められたステップだけ移動しながら、第２ステップの周辺ブロックが探索される。例えば、現在ブロックの第１ステップの周辺ブロックであるＡＬ（１）に対する第２ステップの周辺ブロックＬ（２）を探索するために、ブロックＡＬ（１）の左下側の座標基準点からｘ軸方向に決められたステップの大きさだけ移動しながら、ブロックＬ（２）が探索される。この際、決められた探索範囲内でブロックＡＬ（１）の予測情報とは異なる予測情報を有するブロックが発見されるまで探索が行われる。また、現在ブロックの第１ステップの周辺ブロックであるＡＬ（１）に対する第２ステップの周辺ブロックＡ（２）を探索するために、ブロックＡＬ（１）の右上側の座標基準点からｙ軸方向に決められたステップの大きさだけ移動しながら、ブロックＡ（２）が探索される。同じく、第２ステップの周辺ブロックＡＬ（２）、ＡＲ（２）、及びＢＬ（２）ブロックを探索するために、それぞれブロックＡＬ（１）の左上側、右上側、及び左下側の座標基準点からｙ軸及び／またはｙ軸方向に決められたステップの大きさだけ移動しながら、第２ステップの周辺ブロックが探索される。
【０１１９】
本発明の実施例によると、探索範囲は１６×１６、３２×３２、６４×６４などの固定された大きさに設定されてもよく、現在ブロックの大きさに応じて設定されてもよい。つまり、探索範囲は現在ブロックの幅及び／または高さに比例するように設定される。例えば、現在ブロックの大きさが１２８×１２８であれば、探索範囲は前記ブロックの大きさを整数で割った１２８×１２８、６４×６４、３２×３２、１６×１６、８×８などに設定される。探索範囲内で探索のためのステップの大きさは、ブロックの最小の大きさより大きいか同じであり、探索範囲より小さい値に設定される。例えば、６４×６４の探索範囲でブロックの最小の大きさが４×４であれば、前記ステップの大きさは４、６、１６、または３２に設定される。本発明の実施例によると、探索範囲内で予測情報の探索は、予め設定された予測モードリストが全部埋められるまで行われる。つまり、探索範囲内で第１ステップの大きさで探索された予想情報が予測モードリストに含まれ、予測モードリスト埋められなければ、前記探索範囲内で第２ステップの大きさで探索された予測情報が予測モードリストに追加される。エンコーダとデコーダは、予測モードリストが全部埋められるまで探索のためのステップの大きさを大きくしながら探索を行う。一方、それぞれの探索範囲とステップの大きさは自然数であり、エンコーダとデコーダで予め定義された同じ値で使用されるため、エンコーダとデコーダはいずれも同じ第２ステップの周辺ブロックの予測モードを参照することができる。
【０１２０】
図１８は、現在ブロックの予測情報を獲得するために参照される拡張された周辺ブロックのまた他の実施例を示す図である。エンコーダとデコーダが現在ブロックの周辺ブロックの構造、つまり、ブロックの大きさの左上側の座標を知っていれば、現在ブロックに対する第２ステップの周辺ブロックの位置を決定する。図１８に示したサブブロックにおいて、左上側の数字は符号化または復号化の順序を明示したものであり、現在ブロックは１５番目に符号かまたは復号化処理されることを意味する。
【０１２１】
現在ブロック（つまり、１５番目のブロック）の第２ステップの周辺ブロックの位置を決定するために、第１ステップの周辺ブロックそれぞれの左上側、右上側、左下側、右下側の４つの基準点のうち少なくとも一つの座標と、該当ブロックの幅及び高さ情報が活用される。例えば、現在ブロックの第１ステップの周辺ブロックＡＬ（１）に対する第２ステップの周辺ブロックのＬ（２）、Ａ（２）、ＢＬ（２）、ＡＲ（２）、及びＡＬ（２）の基準位置は、それぞれ（ｘ０−１、ｙ０＋ｈ−１）、（ｘ０＋ｗ−１、ｙ０−１）、（ｘ０−１、ｙ０＋ｈ＋１）、（ｘ０＋ｗ＋１、ｙ０−１）、及び（ｘ０−１、ｙ０−１）に計算される。この際、（ｘ０、ｙ０）は現在ブロックの第１ステップの周辺ブロックである５番目のブロック左上側の座標であり、ｗとｈはそれぞれブロックの幅と高さである。残りの第１ステップの周辺ブロックＬ（１）、Ａ（１）、ＢＬ（１）、及びＡＲ（１）に対してもそれぞれの第２ステップの周辺ブロックの位置を同じ方式で計算し、第２ステップの周辺ブロックのイントラ予測モードを参照して現在ブロックのＭＰＭリストを構成する。
【０１２２】
本発明の更なる実施例によると、現在ブロックの予測情報を獲得する際、周辺ブロックにおける予測モードの発生頻度数が考慮される。つまり、周辺ブロックにおける発生頻度数が高い予測モードが、周辺ブロックにおける発生頻度数が低い予測モードに比べ高い優先順位で現在ブロックの予測のために参照される。一実施例によると、第１ステップの周辺ブロックの予測モードと第２ステップの周辺ブロックの予測モードに対するそれぞれの発生頻度数を考慮して、現在ブロックのＭＰＭリストに含まれている予測モード間の優先順位が決定される。それに関する具体的な実施例は、図１９を参照して説明する。
【０１２３】
図１９は、周辺ブロックのイントラ予測モードの発生頻度数に基づいてイントラ予測モードの優先順位を設定する一実施例を示す図である。まず、現在ブロックの第１ステップの周辺ブロックであるＬ（１）、Ａ（１）、ＢＬ（１）、ＡＲ（１）、及びＡＬ（１）と、第２ステップの周辺ブロックであるＬ（２）、Ａ（２）、ＢＬ（２）、ＡＲ（２）、及びＡＬ（２）の予測モードに対する発生頻度数が算出される。第１ステップの周辺ブロックの予測モードの発生頻度数と第２ステップの周辺ブロックの予測モードの発生頻度数は、互いに異なるリスト（つまり、第１リスト及び第２リスト）に貯蔵され、該当ステップの周辺ブロックに対する予測モードが確認されたら１ずつ増加する。例えば、ブロックＬ（１）のイントラ予測モードがモード５０であれば、第２リストの５０番モードの発生頻度数が１ずつ増加し、第２リストの５０番モードの発生頻度数は増加しない。第１ステップの周辺ブロックと第２ステップの周辺ブロックの予測モードの発生頻度数の算出が完了されれば、前記発生頻度数の加重値の合計を介して各予測モードに対する最終発生頻度数が算出される。より詳しくは、特定モードｉの最終発生頻度数ＦＭｉは、下記数式１のように算出される。
【０１２４】
【数１】
2021500835.tif 000003
【０１２５】
ここで、ＦＭｉ（１）は第１ステップの周辺ブロックにおけるモードｉの発生頻度数、ＦＭｉ（２）は第２ステップの周辺ブロックにおけるモードｉの発生頻度数、Ｗ１及びＷ２は加重値。
【０１２６】
例えば、図１９を参照すると、イントラ予測モード５０に対する第１ステップの周辺ブロック及び第２ステップの周辺ブロックにおける発生頻度数がそれぞれ２及び３であれば、イントラ予測モード５０の最終発生頻度数はｗ１＊３＋ｗ２＊３に算出される。この際、加重値Ｗ１及びＷ２によってスケールが増加されたことを補償するために、ビットソフト演算が更に適用される。また、加重値Ｗ１及びＷ２は実数かけ算演算を避けるために０より大きい整数に設定されて加重値合計のスケジュールを増加させるが、前記スケールはビットシフト演算によって補正される。
【０１２７】
本発明の実施例によると、加重値Ｗ１及びＷ２は多様な実施例に基づいて決定される。一実施例によると、第１ステップの周辺ブロックが第２ステップの周辺ブロックに比べ現在ブロックとより近いため、Ｗ１がＷ２より大きい値に設定される。例えば、Ｗ１及びＷ２はそれぞれ５と３に設定されてもよい。他の実施例によると、加重値Ｗ１及びＷ２は対応する予測モードに応じて可変的に設定される。つまり、Ｗ１及びＷ２は同じリストの全ての予測モードに対して同じく設定されるのではなく、予測モードに応じて可変的に設定されて、特定予測モードの発生がより重要に考慮される。例えば、発生確率が高い｛平面モード、ＤＣモード、ＶＥＲモード、ＨＯＲモード、ＨＤＩＡモード、ＤＩＡモード、ＶＤＩＡモード｝などにより大きい加重値が与えられる。また、拡張角度モードに比べ基本角度モードにより大きい加重値が与えられる。他の実施例によると、加重値Ｗ１及びＷ２は現在ブロックの模様に応じて可変的に設定されて、特定角度モードの優先順位を更に上げる。例えば、現在ブロックが垂直ブロックであれば、ＶＥＲモード及びＶＥＲモード近くの角度モードに対してより大きい加重値が設定され、現在ブロックが水平ブロックであれば、ＨＯＲモード及びＨＯＲモード近くの角度モードに対してより大きい加重値が設定される。また他の実施例によると、加重値Ｗ１及びＷ２は対応する周辺ブロック位置に応じて可変的に設定される。例えば、周辺ブロック間の優先順位が｛ブロックＬ、ブロックＡ、ブロックＢＬ、ブロックＡＲ、ブロックＡＬ｝の順に設定されれば、この順に応じて高い加重値が与えられる。例えば、ブロックＬ（２）とブロックＡＬ（２）の予測モードが３４番であれば、ブロックＬ（２）により大きい加重値がかけられて発生頻度数に合算される。
【０１２８】
加重値Ｗ１及びＷ２が可変的に設定されれば、各リスト内の特定予測モードが発生する際、頻度数はそれぞれＷ１及びＷ２ずつ増加する。一実施例によると、加重値Ｗ１及びＷ２は予め設定される。この際、エンコーダとデコーダがいずれも同じ加重値Ｗ１及びＷ２を使用するため、更なるシグナリングなしにエンコーダとデコーダがいずれも同じ発生頻度数の計算を行うことができる。他の実施例によると、加重値Ｗ１及びＷ２に関する情報はＰＰＳ、ＶＰＳ、またはＳＰＳなどのＲＢＳＰを介してシグナリングされる。
【０１２９】
上述した実施例によって算出された最終発生頻度数に基づいて、現在ブロックのＭＰＭリストが構成される。周辺ブロックで発生頻度数が高いイントラ予測モードは、現在ブロックいで選択される確率が高い。よって、周辺ブロックで算出された最終発生頻度数が高いイントラ予測モードが現在ブロックのＭＰＭリストに含まれる。例えば、ＭＰＭリストの大きさがｍであれば、ＭＰＭリストは平面モード、ＤＣモード、及び最終発生頻度数が高い上位ｍ−２個の角度モードからなる。また、ＭＰＭリストでインデックスが低いほどより少ない数のビットで表すことができるため、最終発生頻度数が高い予測モードがＭＰＭリストのより小さいＭＰＭインデックスにマッチングされる。
【０１３０】
一方、最終発生頻度数が０ではない同じ値を有する複数の角度モードが存在すれば、第１ステップの周辺ブロックにおける該当角度モードの発生頻度数が優先的に考慮される。例えば、イントラ予測モード１８とイントラ予測モード５０の最終発生頻度数が８で同じであれば、第１ステップの周辺ブロックにおける発生頻度数がより高いイントラ予測モードにより高い優先順位が割り当てられる。他の実施例によると、最終発生頻度数が０ではない同じ値を有する複数の角度モードが存在すれば、現在ブロックの模様に応じて該当角度モード間の優先順位が決定される。例えば、現在ブロックが垂直ブロックであれば、第１ステップの周辺ブロックのうちブロックＡ（１）、ブロックＡＲ（１）、及びブロックＡＬ（１）の角度モードにより高い優先順位が与えられるか、垂直モードに近い角度モードにより高い優先順位が与えられる。
【０１３１】
一実施例によると、ＭＰＭリスト内で平面モードとＤＣモードのＭＰＭインデックスは、第１ステップの周辺ブロックのイントラ予測モードに応じて異なるように設定される。例えば、第１ステップの周辺ブロックのイントラ予測モードのうち平面モード、ＤＣモードの発生頻度が臨界値以上であれば、平面モードとＤＣモードがＭＰＭインデックス０及び１にマッチングされる。また、第１ステップの周辺ブロックのイントラ予測モードのうち角度モードの発生頻度数が臨界値以上であれば、角度モードのＭＰＭインデックスが平面モード及びＤＣモードのＭＰＭインデックスより小さい値に設定される。
【０１３２】
上述した実施例において、０ではない最終発生頻度数を有する角度モードがｍ−２個より小さければ、｛ＶＥＲモード、ＨＯＲモード、ＨＤＩＡモード、ＶＤＩＡモード｝のうち一つ以上を使用してＭＰＭリストが構成される。また、非−ＭＰＭモードを符号化するのにかかるシグナリングオーバーヘッドを最小化するために、最終発生頻度数が高い予測モードが使用される。例えば、最終発生頻度数が高い予測モードは選択モードリストに含まれるか、非−選択モードのうちより少ない数のビットでシグナリングされる低い値のインデックスにマッチングされる。他の実施例によると、ＭＰＭリストに含まれた最終発生頻度数が高い角度モードに予め設定されたオフセットを足すか引いた角度モードを利用して選択モードリストを構成する。また、ＭＰＭリストに含まれていない０ではない最終発生頻度数を有する角度モード、及び該当モードに予め設定されたオフセットを足すか引いた角度モードが、非−選択モードのうちより少ない数のビットでシグナリングされる低い値のインデックスにマッチングされる。
【０１３３】
以下、周辺ブロックのイントラ予測モードの発生頻度数に基づいて現在ブロックのイントラ予測モードを符号化するエンコーダの動作を説明する。まず、現在ブロックに対するイントラ予測モードを符号化するために、エンコーダは現在ブロックの周辺ブロックが存在するのかを確認し、該当周辺ブロックのイントラ予測モードの発生頻度数を計算する。次に、エンコーダは周辺ブロックのイントラ予測モードの発生頻度数に基づいてＭＰＭリスト、選択モードリスト、または非−選択モードのうち少なくとも一つを構成する。この際、発生頻度数が高い予測モードが高い優先順位を有するように構成される。次に、エンコーダは現在ブロックのイントラ予測モードが現在ブロックのＭＰＭリスト内に存在するのか否かを示すＭＰＭフラッグを符号化する。もし現在ブロックのイントラ予測モードが現在ブロックのＭＰＭリスト内に存在しなければ、前記イントラ予測モードが選択モードのうちいずれか一つと一致するのか否かを示す選択モードフラッグを符号化する。一方、現在ブロックのイントラ予測モードが現在ブロックのＭＰＭリスト内に存在すれば（つまり、ＭＰＭフラッグの値が１であれば）、エンコーダはＭＰＭリスト内に現在ブロックのイントラ予測モードに対応するＭＰＭインデックスを符号化する。また、現在ブロックのイントラ予測モードが現在ブロックの選択モードリスト内に存在すれば（つまり、ＭＰＭフラッグの値が０で、選択モードフラッグの値が１であれば）、エンコーダは選択モードリスト内に現在ブロックのイントラ予測モードに対応する選択モードインデックスを符号化する。その他の場合、現在ブロックのイントラ予測モードに対応する非−選択モードインデックスを符号化する。
【０１３４】
また、周辺ブロックのイントラ予測モードの発生頻度数に基づいて現在ブロックのイントラ予測モードを復号化するデコーダの動作は以下のようである。まず、現在ブロックのシンボルをパーシング（ｐａｒｓｉｎｇ）する過程で現在ブロックのＭＰＭフラッグがパーシングされ、ＭＰＭフラッグが０であれば更に選択モードフラッグがパーシングされる。符号化過程と同じく、デコーダは、現在ブロックの周辺ブロックが存在するのかを確認し、該当周辺ブロックのイントラ予測モードの発生頻度数を計算する。次に、デコーダは周辺ブロックのイントラ予測モードの発生頻度数に基づいてＭＰＭリスト、選択モードリスト、または非−選択モードのうち少なくとも一つを構成する。デコーダにおけるＭＰＭリスト、選択モードリスト、及び非−選択モードの構成方法は、上述したエンコーダにおける方法と同じである。ＭＰＭフラッグが１であれば、デコーダはＭＰＭインデックスを復号化する。ＭＰＭフラッグが０で選択モードフラッグが１であれば、デコーダは選択モードインデックスを復号化する。その他の場合、デコーダは非−選択モードインデックスを復号化して現在ブロックのイントラ予測モードを決定する。デコーダは、決定されたイントラ予測モードを使用してイントラ予測を行い、予測ブロックを生成する。
【０１３５】
図２０及び図２１は、イントラ予測モードを複数のサブセットに分類する実施例を示す図である。イントラ予測モードの個数が増加するにつれ、現在ブロックのイントラ予測モードがＭＰＭリストに含まれる確率が落ち、それによってイントラ予測モードの符号化に必要なビット量が多くなる。これを解決するために、イントラ予測モードを複数のサブセットに分類し、現在ブロックの周辺コンテキストによる予測モードセットを使用してイントラ予測が行われる。
【０１３６】
まず、図２０はイントラ予測モードを複数のサブセットに分類する一実施例を示す図である。図２０に実施例によると、イントラ予測モードセットのＮ個のイントラ予測モードは、排他的イントラ予測モードからなるＭ個のサブセット（Ｓ０、Ｓ１、…、ＳＭ−１）に分類される。図２０において、ｍｉ、ｊはｉ番目のサブセットに属するｊ番目のイントラ予測モードを指す。それぞれのサブセットＳｉはＫｉ個の排他的イントラ予測モードからなり、以下の数式２を満足する。
【０１３７】
【数２】
2021500835.tif 000004
【０１３８】
この際、それぞれのイントラ予測モードサブセットを構成するイントラ予測モードの個数Ｋｉは、サブセット別にそれぞれ異なり得る。
【０１３９】
例えば、イントラ予測モードセットが総６７個のイントラ予測モードを含む場合、イントラ予測モードは水平モードセット｛平面モード、モード２、モード３、…、モード３４｝と垂直モードセット｛ＤＣモード、モード３５、モード３６、…、モード６６｝に区分される。他の実施例によると、イントラ予測モードは水平モードセット｛水平モード、モード１０、モード１１、…、モード２６｝、垂直モードセット｛ＤＣモード、モード４２、モード４３、…、モード５８｝、ＤＩＡモードセット｛モード２７、モード２８、…、モード４１｝、ＨＤＩＡモードセット｛モード２、モード３、…、モード９｝、及びＶＤＩＡモードセット｛モード５９、モード６０、…、モード６６｝に区分される。また他の実施例によると、イントラ予測モードは第１サブセット｛平面モード、ＤＣモード、基本角度モード｝と第２サブセット｛拡張角度モード｝に区分される。
【０１４０】
次に、図２１はイントラ予測モードを複数のサブセットに分類する他の実施例を示す図である。図２１に実施例によると、イントラ予測モードセットのＮ個のイントラ予測モードは、排他的イントラ予測モードと重複する（または、共用）イントラ予測モードを含むＭ個のサブセット（Ｓ０、Ｓ１、…、ＳＭ−１）に分類される。一実施例によると、共用イントラ予測モードは、インター予測において統計的に選択される確率が高い上位Ｌ個のイントラ予測モードで設定される。図２１において、ｃｍｋは各サブセットに属するｋ番目の共用イントラ予測モードを指し、ｍｉ、ｊはｉ番目のサブセットに属するｊ番目の排他的イントラ予測モードを指す。それぞれのサブセットＳｉはＬ個の共用イントラ予測モードとＬｉ個の排他的イントラ予測モードからなり、以下の数式３を満足する。
【０１４１】
【数３】
2021500835.tif 000005
【０１４２】
この際、それぞれのイントラ予測モードサブセットに含まれた排他的イントラ予測モードの個数Ｌｉは、サブセット別にそれぞれ異なり得る。
【０１４３】
例えば、イントラ予測モードセットが総６７個のイントラ予測モードを含む場合、共用イントラ予測モードは｛平面モード、ＤＣモード、ＨＤＩＡモード、ＨＯＲモード、ＤＩＡモード、ＶＥＲモード、ＶＤＩＡモード｝のうち一つ以上に設定される。これを活用して、イントラ予測モードは第１サブセット｛平面モード、ＤＣモード、基本角度モード｝と第２サブセット｛平面モード、ＤＣモード、ＨＤＩＡモード、ＨＯＲモード、ＤＩＡモード、ＶＥＲモード、ＶＤＩＡモード、拡張角度モード｝に区分される。他の実施例によると、イントラ予測モードは第１サブセット｛平面モード、ＤＣモード、ＨＤＩＡモード、モード３、モード４、…、モード３３、ＤＩＡモード、ＶＥＲモード、ＶＤＩＡモード｝と第２サブセット｛平面モード、ＤＣモード、ＨＤＩＡモード、ＨＯＲモード、ＤＩＡモード、モード３５、モード３６、…、モード６５、ＶＤＩＡモード｝に区分される。
【０１４４】
図２２は、分類されたイントラ予測モードのサブセットを利用して現在ブロックのイントラ予測モードをシグナリングする実施例を示す図である。本発明の実施例によると、現在ブロックの周辺ブロックで使用されたイントラ予測モードサブセットを利用し、現在ブロックのイントラ予測モードサブセットを決定する。
【０１４５】
図２０の実施例によってそれぞれのイントラ予測モードサブセットが排他的イントラ予測モードからなれば、周辺ブロックのイントラ予測モードが含まれているイントラ予測モードサブセット情報を確認し、該当情報を利用して現在ブロックのイントラ予測モードサブセットが決定される。つまり、周辺ブロックで最も多く使用されるイントラ予測モードサブセットが現在ブロックのイントラ予測モードサブセットに割り当てられる。この際、現在ブロックの予測情報を獲得するために拡張された周辺ブロックを参照する図１６乃至図１８の実施例が更に適用される。
【０１４６】
図２２を参照すると、まず、現在ブロックの第１ステップの周辺ブロックＬ（１）、Ａ（１）、ＢＬ（１）、ＡＲ（１）、及びＡＬ（１）のイントラ予測モードサブセット情報を参照し、次に、現在ブロックの第２ステップの周辺ブロックＬ（２）、Ａ（２）、ＢＬ（２）、ＡＲ（２）、及びＡＬ（２）のイントラ予測モードサブセット情報を参照して、現在ブロックのイントラ予測モードサブセットが決定される。一実施例によると、図１９を参照して述べられた発生頻度数算出方法に基づいて、第１ステップの周辺ブロックのイントラ予測モードサブセットの頻度数と、第２ステップの周辺ブロックのイントラ予測モードサブセットの頻度数にそれぞれ加重値ｗ１及びｗ２を適用して、イントラ予測モードサブセットの最終発生頻度数が算出される。この際、最も大きい発生頻度数を有するイントラ予測モードサブセットを現在ブロックのイントラ予測モードサブセットに割り当てる。
【０１４７】
一方、最終発生頻度数が０ではない同じ値を有する複数のイントラ予測モードサブセットが存在すれば、図１９を参照して説明された実施例と類似して第１ステップの周辺ブロックにおける発生頻度数を優先的に考慮するか、現在ブロックの模様に基づいていずれか一つのイントラ予測モードサブセットが選択される。
【０１４８】
次に、図２１の実施例によってそれぞれのイントラ予測モードサブセットが共用イントラ予測モードを含む場合、共用イントラ予測モードのため周辺ブロックのイントラ予測モード情報のみでイントラ予測モードサブセットを識別することができない場合が発生する。つまり、周辺ブロックのイントラ予測モードが共用イントラ予測モードのうち一つであれば、周辺ブロックのイントラ予測モードサブセットを導出することができなくなる。よって、現在ブロックのイントラ予測モードサブセットのインデックスが別途にシグナリングされるべきであり、現在ブロックのイントラ予測モードサブセット情報が貯蔵されるべきである。
【０１４９】
前記のような状況において、一実施例によると、現在ブロックのイントラ予測モードサブセットのインデックスを別途にシグナリングしなくてもよい。イントラ予測モードサブセットの個数が増加するほどイントラ予測モードサブセットのインデックス情報を表すのに必要な別途の個数が増加するため、予め設定された規則に従って共用イントラ予測モードを有する周辺ブロックのイントラ予測モードサブセット情報が決定される。例えば、周辺ブロックに共用イントラ予測モードが使用されていれば、基本サブセットが該当周辺ブロックのイントラ予測モードサブセットに決定される。または、該当ブロックの共用イントラ予測モードの種類に応じてイントラ予測モードサブセットが決定される。例えば、周辺ブロックに使用された共用イントラ予測モードが垂直モードであれば、垂直モード近くの角度モードを多く含むサブセットが該当周辺ブロックのイントラ予測モードサブセットに決定される。また、周辺ブロックに使用された共用イントラ予測モードが水平モードであれば、水平モード近くの予測モードを多く含むサブセットが該当周辺ブロックのイントラ予測モードサブセットに決定される。
【０１５０】
現在ブロックのイントラ予測モードサブセットが決定されたら、イントラ予測モードサブセット内で優先的に考慮して、現在ブロックのＭＰＭリスト及び非−ＭＰＭモードが構成される。
【０１５１】
一実施例によると、予め設定された優先順位の周辺ブロックの位置及び／または予め設定された優先順位のイントラ予測モードに基づいてＭＰＭリストが構成される。現在ブロックと同じイントラ予測モードサブセットを有する周辺ブロックの予測モードを左側ブロック、上側ブロック、下左側ブロック、上右側ブロック、及び上左側ブロックの順にＭＰＭリストに追加する。また、現在ブロックのイントラ予測モードサブセットに平面モードとＤＣモードが含まれていれば、該当イントラ予測モードは角度モードより優先的に考慮される。但し、イントラ予測モードサブセットに共用イントラ予測モードが含まれていれば、現在ブロックと互いに異なるイントラ予測モードサブセットを有する周辺ブロックのイントラ予測モードが共用イントラ予測モードのうち一つであれば、該当周辺ブロックのイントラ予測モードを予め設定された優先順位に従って現在ブロックのＭＰＭリストに追加する。例えば、共用イントラ予測モードが｛平面モード、ＤＣモード、ＨＤＩＡモード、ＨＯＲモード、ＤＩＡモード、ＶＥＲモード、ＶＤＩＡモード｝で、左側ブロックのイントラ予測モードサブセットが現在ブロックとは異なっても、左側ブロックのイントラ予測モードが共用イントラ予測モードのうち一つであれば、該当イントラ予測モードは現在ブロックのＭＰＭリストに含まれる。
【０１５２】
他の実施例によると、現在ブロックの模様及び周辺ブロックの模様に基づいてＭＰＭリストが構成される。現在ブロックが垂直ブロックであれば、上側ブロック、上右側ブロック、及び上左側ブロックのうち現在ブロックと同じイントラ予測モードサブセットを有するブロックのイントラ予測モードに高い優先順位が与えられ、現在イントラ予測モードサブセット内の垂直モードまたは垂直モードに近い角度モードが優先的にＭＰＭリストに追加される。また他の実施例によると、図１９を参照して述べられた発生頻度数算出方法に基づいて、現在ブロックの第１ステップの周辺ブロックの予測モードと第２ステップの周辺ブロックの予測モードのうち、現在ブロックのイントラ予測モードサブセットに含まれる予測モードの頻度数を考慮してＭＰＭリスト、選択モードリスト、または非−選択モードのうち少なくとも一つが構成される。
【０１５３】
このように、Ｎ個の予測モードをＭ個のイントラ予測モードサブセットに分け、周辺ブロックのイントラ予測モードサブセット情報を活用して現在ブロックのイントラ予測モードサブセットを決定すれば、現在ブロックに不必要なイントラ予測モードが除去された最適の予測モードリストが構成される。よって、現在ブロックのイントラ予測モードがＭＰＭリスト内のイントラ予測モードと一致する確率が高くなり、イントラ予測モードシグナリングに必要なビット量が減少される。
【０１５４】
図２３は、分類されたイントラ予測モードのサブセットを利用して現在ブロックのイントラ予測モードをシグナリングする詳細実施例を示す図である。図２３の実施例では、イントラ予測モードサブセットが排他的イントラ予測モードで構成されていると仮定する。より詳しくは、イントラ予測モードサブセットの６７個のイントラ予測モードが排他的イントラ予測モードからなる２個のサブセットに分類される。２個のイントラ予測モードサブセットは、それぞれ排他的な３５個のイントラ予測モード及び３２個のイントラ予測モードからなる。例えば、第１サブセットは｛平面モード、ＤＣモード、３３個の基本角度モード｝からなり、第２サブセットは｛３２個の拡張角度モード｝からなる。または、イントラ予測モードは水平モードセット｛平面モード、ＤＣモード、モード２、モード３、…、モード３４｝及び垂直モードセット｛モード３５、モード３６、…、モード６６｝に区分される。
【０１５５】
イントラ予測モードが２個のサブセットに分類されれば、シグナリングされるＭＰＭモード、選択モード、及び非−選択モードの個数は調整される。つまり、現在ブロックのイントラ予測をシグナリングするために４個のＭＰＭモード、８個の選択モード、及び２３個（または２０個）の非−選択モードが使用される。図２３(ａ)は現在ブロックのイントラ予測のためのそれぞれのフラッグ及びインデックスをシグナリングする実施例を示し、図２３(ｂ)は切り捨て二項二進化にシグナリングされる非−選択モードインデックスの実施例を示す。
【０１５６】
もし現在ブロックのイントラ予測モードがＭＰＭリスト内に存在すれば、ＭＰＭフラッグとＭＰＭインデックスがシグナリングされる。この際、ＭＰＭフラッグは１ビットでシグナリングされ、ＭＰＭインデックスは切り捨て二項二進化でコーディングされて１ビット乃至３ビットでシグナリングされる。二進化されたＭＰＭインデックスは、ＣＡＢＡＣを介して符号化される。一方、現在ブロックのイントラ予測モードがＭＰＭリスト内に存在しない際にはＭＰＭフラッグが０に設定され、選択モードと非−選択モードを活用してイントラ予測モードが符号化される。イントラ予測モードが８個の選択モードのうち一つと一致すれば、ＭＰＭフラッグ、選択モードフラッグ、及び選択モードインデックスがシグナリングされる。この際、ＭＰＭフラッグ及び選択モードフラッグは１ビットでシグナリングされ、選択モードインデックスは固定された３ビットでシグナリングされる。
【０１５７】
残りの非−選択モードの場合、ＭＰＭフラッグ、選択モードフラッグ、及び非−選択モードインデックスがシグナリングされる。この際、非−選択モードインデックスは切り捨て二項二進化でコーディングされてシグナリングされる。現在ブロックに対して３５個のイントラ予測モードを含む第１サブセットが使用されれば、該当サブセットで非−選択モードの個数は２３個である。２＾４＜２３＜２＾５を満足するため、非−選択モードの上位９個のモードのインデックスは４ビットでシグナリングされ、下位１４個のモードのインデックスは５ビットでシグナリングされる。しかし、現在ブロックに対して３２個のイントラ予測モードを含む第２サブセットが使用されれば、該当サブセットで非−選択モードの個数は２０個である。２＾４＜２０＜２＾５を満足するため非−選択モードの上位１２個のモードのインデックスは４ビットでシグナリングされ、下位８個のモードのインデックスは５ビットでシグナリングされる。
【０１５８】
図２４は、周辺ブロックの予測情報に基づいて現在ブロックのイントラ予測モードを動的にシグナリングする実施例を示す図である。より詳しくは、図２４の実施例によると、多様な条件によってＭＰＭモードの構成が変更される。図２４（ａ）は、現在ブロックが属するピクチャの種類に応じてＭＰＭ構成を変更する方法を示す。図２４（ｂ）及び図２４（ｃ）は、周辺ブロックで使用されたイントラ予測モードに応じてＭＰＭモードを可変的に構成する方法を示す。
【０１５９】
まず、図２４（ａ）は、本発明の一実施例によって現在ブロックが属するピクチャの種類に応じてＭＰＭ構成を変更する方法を示す。従来のＭＰＭモード、非−ＭＰＭモード、非−選択モードなどの構成は、該当ブロックが属するピクチャのタイプ（つまり、Ｉピクチャ、Ｐピクチャ、またはＰピクチャ）を区分せずに同じく適用されている。しかし、本発明の一実施例によると、図２４（ａ）に示すように、周辺ブロックがインター予測とイントラ予測を自由に行い得るＰピクチャ及びＢピクチャにおけるＭＰＭ構成方法を、周辺ブロックがイントラ予測のみを行うＩピクチャにおけるＭＰＭ構成方法とは異なるように適用してもよい。例えば、Ｐピクチャ及びＢピクチャにおけるＭＰＭモードの個数は、ＩピクチャにおけるＭＰＭモードの個数とは異なるように設定される。つまり、Ｐピクチャ及びＢピクチャにおけるＭＰＭモードの個数は、ＩピクチャにおけるＭＰＭモードの個数より小さい値に設定される。
【０１６０】
次に、図２４(ｂ）は、周辺ブロックで使用されたイントラ予測モードに応じてＭＰＭモードを可変的に構成する本発明の一実施例を示す。現在タイル（または、スライス）がＰタイル（または、スライス）またはＢタイル（または、スライス）であれば、デコーダは周辺ブロックの位置で使用された予測モードを探索する。この際、周辺ブロックの全ての探索位置（例えば、Ｌ、Ａ、ＢＬ、ＡＲ、及びＡＬ）のうちからイントラ予測ブロックと確認された位置の個数をｍ１と指示する。また、周辺ブロックが全ての探索位置でイントラ予測に使用された互いに異なるイントラ予測モードの個数をｍ２と指示する。例えば、周辺ブロックの探索位置がいずれもイントラ予測ブロックと確認されればｍ１は大きい値を有するが、もし各位置で使用されたイントラ予測モードがいずれも同じであればｍ２は１と設定される。本発明の一実施例によると、前記ｍ１及び／またはｍ２の値に基づいて以下のような可変的なＭＰＭモードシグナリング方法が適用される。それぞれの実施例において、Ｔｈ１、Ｔｈ２、及びＴｈ３はそれぞれ第１臨界値、第２臨界値、及び第３臨界値を示す。この際、Ｔｈ１＜Ｔｈ２＜Ｔｈ３を満足する。
【０１６１】
１）ｍ１の値がＴｈ１以下であれば、第１ＭＰＭモードシグナリング方法が適用される。周辺ブロックの位置でイントラ予測ブロックの個数がＴｈ１以下であれば、周辺ブロックの位置で使用されたイントラ予測モードまたはこれから派生された（例えば、角度モードに予め設定されたオフセットに適用された）モードのコンテキストが現在ブロックとは関係がない可能性がある。つまり、周辺ブロックが大部分インター予測ブロックである可能性が高いため、現在ブロックのイントラ予測は周辺ブロックとの連関性が低い可能性がある。この場合、ＭＰＭモードは多数のコンテキストで抽出されたｍ個のイントラ予測モードを均等なオーバーヘッドでシグナリングすることが適切である。よって、ＭＰＭモードに固定長符号化が適用される。
【０１６２】
２）ｍ１の値がＴｈ１より大きいがＴｈ２以下であれば、第２ＭＰＭモードシグナリング方法が適用される。周辺ブロックの位置でイントラ予測ブロックの個数がＴｈ１より大きければ、周辺ブロックの位置で使用されたイントラ予測モードまたはこれから派生されたモードのコンテキストが差等的に考慮される必要がある。つまり、イントラ予測が行われた周辺ブロックが存在するため、現在ブロックのイントラ予測モードのシグナリングは周辺のイントラ予測ブロックに基づいて構成するが、それらの位置を考慮した差等的シグナリングが必要である。この場合、ＭＰＭモードは周辺ブロックで使用されたイントラ予測モードとこれから派生されたモードを順次に考慮するコンテキストで抽出されたｍ個のイントラ予測モードを差等的なオーバーヘッドでシグナリングすることが適切である。よって、ＭＰＭモードは切り捨て単項二進化でシグナリングされる。
【０１６３】
３）ｍ１の値がＴｈ２より大きいがｍ２の値がＴｈ３より小さければ、第３ＭＰＭモードシグナリング方法が適用される。周辺ブロックの位置でイントラ予測ブロックの個数がＴｈ２より大きいが使用されたイントラ予測モードの多様性が大きくない場合であるため、周辺ブロックのイントラ予測モードまたはこれから派生されたモードのコンテキストが差等的に考慮する必要がある。この場合、ＭＰＭモードのシグナリング方法は前記第２方法と同じである。
【０１６４】
４）ｍ１の値がＴｈ２より大きくｍ２の値もＴｈ３より大きければ、第４ＭＰＭモードシグナリング方法が適用される。周辺ブロックの位置でイントラ予測ブロックの個数がＴｈ２より大きければ、使用されたイントラ予測モードの多様性が大きい場合であるため、周辺ブロックのイントラ予測モードまたはこれから派生されたモードのコンテキストを均等に考慮し、最大その値をＭＰＭモードを介してシグナリングする必要がある。つまり、イントラ予測が行われた周辺ブロックが多いが、該当ブロックで大部分異なるイントラ予測モードが使用されているため、現在ブロックのイントラ予測は周辺のイントラ予測ブロックをいずれも考慮した非差等的シグナリングが必要である。この場合、ＭＰＭモードは周辺ブロックで使用されたイントラ予測モードとこれから派生されたモードを考慮するコンテキストで抽出されたｍ個のイントラ予測モードを均等なオーバーヘッドでシグナリングすることが適切である。よって、ＭＰＭモードに固定長符号化が適用される。
【０１６５】
前記方法において、ＭＰＭモードでシグナリングされるモードの個数ｍは、導出されたｍ１及びｍ２の値に基づいて決定される。また、決定されたｍの値に基づいて選択モードの個数ｓ、非−選択モードの個数ｎｓ、及びこれらの符号化方法が決定される。一実施例によると、選択モードには固定長符号化が適用され、ＭＰＭモードの個数ｍに基づいて設定された後続するｓ個のイントラ予測モードのシグナリングを担当することが適切である。
【０１６６】
図２４(ｃ）は、周辺ブロックで使用されたイントラ予測モードに応じてＭＰＭモードを可変的に構成する本発明の他の実施例を示す。図２４（ｂ）の実施例で上述したように、周辺ブロックが全ての探索位置でイントラ予測に使用された互いに異なるイントラ予測モードの個数をｍ２と指示する。本発明の他の実施例によると、前記ｍ２の値に基づいて以下のような可変的なＭＰＭモードシグナリング方法が適用される。
【０１６７】
５）ｍ２の値がＴｈ１以下であれば、第５ＭＰＭモードシグナリング方法が適用される。周辺ブロックの位置でイントラ予測ブロックの個数がＴｈ１以下であれば、周辺ブロックの位置で使用されたイントラ予測モードまたはこれから派生されたモードのコンテキストを適切に反映してｍを少ない数に設定する。周辺ブロックの互いに異なるイントラ予測モードの個数が少なければ、これを拡張してＭＰＭモードの個数を埋めるとしても、前記派生されたモードが現在ブロックの予測モードとは異なる可能性が高いためである。この場合、単一または少数のコンテキストで抽出された少ない個数のｍ個のＭＰＭモードが使用されるが、前記ＭＰＭモードを均等なオーバーヘッドでシグナリングすることが適切である。よって、ＭＰＭモードに固定長符号化が適用される。
【０１６８】
６）ｍ２の値がＴｈ１より大きいがＴｈ２以下であれば、第６ＭＰＭモードシグナリング方法が適用される。周辺ブロックの位置でイントラ予測ブロックの個数が一定個数より大きければ、周辺ブロックの位置で使用されたイントラ予測モードまたはこれから派生されたモードのコンテキストが差等的に考慮される必要がある。第６ＭＰＭモードシグナリング方法の具体的な実施例は、上述した第２ＭＰＭモードシグナリング方法と同じである。
【０１６９】
７）ｍ２の値がＴｈ２より大きければ、第７ＭＰＭモードシグナリング方法が適用される。周辺ブロックの位置でイントラ予測ブロックの個数がＴｈ２より大きければ、使用されたイントラ予測モードの多様性が大きい場合であるため、周辺ブロックのイントラ予測モードまたはこれから派生されたモードのコンテキストを均等に考慮し、最大その値をＭＰＭモードを介してシグナリングする必要がある。第７ＭＰＭモードシグナリング方法の具体的な実施例は、上述した第４ＭＰＭモードシグナリング方法と同じである。
【０１７０】
前記方法において、ＭＰＭモードでシグナリングされるモードの個数ｍは、導出されたｍ２の値に基づいて決定される。また、決定されたｍの値に基づいて選択モードの個数ｓ、非−選択モードの個数ｎｓ、及びこれらの符号化方法が決定される。一実施例によると、選択モードには固定長符号化が適用され、ＭＰＭモードの個数ｍに基づいて設定された後続するｓ個のイントラ予測モードのシグナリングを担当することが適切である。
【０１７１】
図２５は、ＭＰＭモードの個数を可変的に調整し、それに基づいて現在ブロックのイントラ予測モードをシグナリングする実施例を示す図である。図２４で述べたように、ＭＰＭモードシグナリング方法によって少ない個数のＭＰＭモードが使用される。
【０１７２】
図２５（ａ）を参照すると、ＭＰＭモードの個数は固定されておらず、周辺ブロックのイントラ予測モード情報に基づいて可変する。総６７個のイントラ予測モードのうち２個のモードがＭＰＭモードと設定され、固定長符号化でシグナリングされる。固定長符号化方式は、シグナリングするモード間に均等な優先順位を与える。次に、選択モードの個数ｓは１６または９に決定され、選択モードは固定長符号化でシグナリングされる。この際、相対的に少ない個数のＭＰＭモードがシグナリングされるため、図２５（ａ）の実施例によると、選択モードの個数（つまり、１６個）を大きくしてＭＰＭモードでシグナリングされないイントラ予測モードが選択モードにシグナリングされる確率を上げる。しかし、選択モードでシグナリング行われれば、従来の固定された個数のＭＰＭモードを使用する方法とシグナリングオーバーヘッドが同じであるため、図２５（ｂ）の実施例によると、選択モードの個数（つまり、９個）を減らして全体のオーバーヘッドを減らすことができる。
【０１７３】
しかし、選択モードの個数を減らした実施例において、非−選択モードがシグナリングされれば、シグナリングオーバーヘッドが増加する。選択モードの個数が９の図２５（ｂ）の実施例では、選択モードの個数が１６個の図２５（ａ）の実施例より多い５６個の非−選択モードを切り捨て二項二進化でシグナリングすべきである。この際、２＾５＜５６＜２＾６であるため、非−選択モードの初期２＾６−５６＝８個のインデックスは５個のビットのみを使用してシグナリングされ、残りの４８個のインデックスは６個のビットを使用してシグナリングされる。よって、１５個のインデックスを５個のビットを使用してシグナリングし、３４個のインデックスを６個のビットでシグナリングする図２５（ａ）の非−選択モードに比べれば、図２５（ｂ）の非−選択モードのシグナリングオーバーヘッドが増加したことが分かる。
【０１７４】
前記実施例において、ＭＰＭモードでシグナリングされるイントラ予測モードの個数ｍは、図２４を参照して上述した方法に基づいて決定される。また、決定されたｍの値に基づいて選択モードの個数ｓが決定される。また、選択モードの個数ｓは以下のような更なる条件に基づいて決定される。
【０１７５】
まず、選択モードの個数はＭＰＭモードで決定されたイントラ予測モードの値及びコンテキストに基づいて決定される。もしＭＰＭモードを決定する際に周辺ブロックのイントラ予測モードが反映されていれば、ＭＰＭモードまたはこれから派生された選択モードを介して現在ブロックのイントラ予測モードがシグナリングされる可能性が高い。よって、ＭＰＭモードから派生された更なるイントラ予測モードを獲得し、前記更なるイントラ予測モードを相対的に少ない個数の選択モードで構成してシグナリングする。このように、選択モードの個数を制限することでシグナリングオーバーヘッドを減らすことができる。しかし、ＭＰＭモードを決定する際、周辺ブロックのイントラ予測モードが反映されずに平面モード、ＤＣモード、ＶＥＲモード、ＨＯＲモードなど基本角度モードでＭＰＭリストが構成されれば、相対的に多い個数の選択モードを構成してシグナリングする。ＭＰＭリストが周辺ブロックとは関係のないコンテキストからなっているため、選択モードの個数を最大限増やして現在ブロックのイントラ予測モードが選択モードに含まれる可能性を上げる。一方、非−選択モードの個数ｎｓは、イントラ予測モードの総個数ＴからＭＰＭモードの個数ｍ及び選択モードの個数ｓを引いた値に決定される。
【０１７６】
上述した本発明の実施例は多様な手段を介して具現される。例えば、本発明の実施例は、ハードウェア、ファームウェア（ｆｉｒｍｗａｒｅ）、ソフトフェアまたはそれらの組み合わせによって具現される。
【０１７７】
ハードウェアによる具現の場合、本発明の実施例による方法は、一つまたはそれ以上のＡＳＩＣｓ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）、ＤＳＰｓ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒｓ）、ＤＳＤＰｓ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｄｅｖｉｃｅｓ）、ＰＤＬｓ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅｓ）、ＦＰＧＡｓ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙｓ）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって具現される。
【０１７８】
ファームフェアやソフトウェアによる具現の場合、本発明の実施例による方法は、上述した機能または動作を行うモジュール、手順または関数などの形態で具現される。ソフトウェアコードは、メモリに貯蔵されてプロセッサによって具現される。前記メモリはプロセッサの内部または外部に位置し、既に公知の多様な手段によってプロセッサとデータを交換する。
【０１７９】
上述した本発明の説明は例示のためのものであって、本発明が属する技術分野における通常の知識を有する者は、本発明の技術的思想や必須的特徴を変更せずに他の具体的な形態に容易に変更可能であることを理解できるはずである。よって、上述した実施例は全ての面で例示的なものであり、限定的なものではないと理解すべきである。例えば、単一型として説明されている各構成要素は分散されて実施されてもよく、同じく分散されていると説明されている構成要素も結合された形態で実施されてもよい。
【０１８０】
本発明の範囲は、上述した詳細な説明よりは後述する特許請求の範囲によって示され、特許請求の範囲の意味及び範囲、そしてその均等概念から導き出される全ての変更または変形された形態が本発明の範囲に含まれると解釈すべきである。
【符号の説明】
【０１８１】
110  変換部
115  量子化部
120  逆量子化部
125  逆変換部
150  予測部
152  イントラ予測部
154  インター予測部
154a  モーション推定部
154b  モーション補償部
160  エントロピーコーディング部
210  エントロピーデコーディング部
220  逆量子化部
225  逆変換部
230  フィルタリング部
250  予測部
252  イントラ予測部
254  インター予測部
【図１】
2021500835.tif 000006
【図２】
2021500835.tif 000007
【図３】
2021500835.tif 000008
【図４】
2021500835.tif 000009
【図５】
2021500835.tif 000010
【図６】
2021500835.tif 000011
【図７】
2021500835.tif 000012
【図８（ａ）】
2021500835.tif 000013
【図８（ｂ）】
2021500835.tif 000014
【図８（ｃ）】
2021500835.tif 000015
【図８（ｄ）】
2021500835.tif 000016
【図９】
2021500835.tif 000017
【図１０】
2021500835.tif 000018
【図１１】
2021500835.tif 000019
【図１２】
2021500835.tif 000020
【図１３】
2021500835.tif 000021
【図１４】
2021500835.tif 000022
【図１５】
2021500835.tif 000023
【図１６】
2021500835.tif 000024
【図１７】
2021500835.tif 000025
【図１８】
2021500835.tif 000026
【図１９】
2021500835.tif 000027
【図２０】
2021500835.tif 000028
【図２１】
2021500835.tif 000029
【図２２】
2021500835.tif 000030
【図２３（ａ）】
2021500835.tif 000031
【図２３（ｂ）】
2021500835.tif 000032
【図２４（ａ）】
2021500835.tif 000033
【図２４（ｂ）】
2021500835.tif 000034
【図２４（ｃ）】
2021500835.tif 000035
【図２５（ａ）】
2021500835.tif 000036
【図２５（ｂ）】
2021500835.tif 000037
【国際調査報告】
2021500835.tif 000038
2021500835.tif 000039
2021500835.tif 000040
2021500835.tif 000041
2021500835.tif 000042
2021500835.tif 000043