本発明は多様な変更を加えることができ、さまざまな実施形態を有することができるところ、特定の実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは本発明を特定の実施形態に対して限定しようとするものではない。本明細書で使用する用語は単に特定の実施形態を説明するために使われたものであって、本発明の技術的思想を限定しようとする意図として使われるものではない。単数の表現は文脈上、明白に異なる意味として使用されない限り、複数の表現を含む。本明細書で“含む”または“有する”などの用語は明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものの存在または付加可能性を予め排除しないことと理解されるべきである。
一方、本発明で説明される図面上の各構成はビデオエンコーディング装置/デコーディング装置で互いに異なる特徴的な機能に関する説明の便宜のために独立して図示されたものであって、各構成が互いに別のハードウェアや別のソフトウェアで具現化されることを意味しない。例えば、各構成のうち、2つ以上の構成が合わさって1つの構成をなすこともでき、1つの構成が複数の構成に分けられることもできる。各構成が統合及び/又は分離された実施形態も本発明の本質から逸脱しない限り、本発明の権利範囲に含まれる。
以下、添付した図面を参照して、本発明の好ましい実施形態をより詳細に説明する。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に対して重複した説明は省略する。
本明細書において、ピクチャ(picture)は、一般的に特定の時間帯の一つの映像を示す単位を意味し、スライス(slice)は、コーディングにおいてピクチャの一部を構成する単位である。一つのピクチャは、複数のスライスで構成されることができ、必要によって、ピクチャ及びスライスは、互いに混在して使われることができる。
ピクセル(pixel)またはペル(pel)は、一つのピクチャ(または、映像)を構成する最小の単位を意味する。また、特定なピクセルの値を示す用語として‘サンプル(sample)’が使われることができる。サンプルは、一般的にピクセルの値を示すことができ、輝度(luma)成分のピクセル値のみを示すこともでき、彩度(chroma)成分のピクセル値のみを示すこともできる。
ユニット(unit)は、映像処理の基本単位を示す。ユニットは、ピクチャの特定の領域及び該当領域に関連した情報のうち少なくとも一つを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混在して使われることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)のセットを示すことができる。
図1は、本発明が適用されることができるビデオエンコーディング装置の構成の概略を説明する図面である。
図1を参照すると、ビデオエンコーディング装置100は、ピクチャ分割部105、予測部110、残差処理部120、エントロピーエンコーディング部130、加算部140、フィルタ部150及びメモリ160を含むことができる。残差処理部120は、減算部121、変換部122、量子化部123、再整列部124、逆量子化部125及び逆変換部126を含むことができる。
ピクチャ分割部105は、入力されたピクチャを少なくとも一つの処理ユニット(processing unit)に分割できる。
一例として、処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれる。この場合、コーディングユニットは、最大コーディングユニット(largest coding unit、LCU)からQTBT(Quad-tree binary-tree)構造によって再帰的に(recursively)分割されることができる。例えば、一つのコーディングユニットは、クアッドツリー構造及び/またはバイナリツリー構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造が後に適用されることができる。または、バイナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて本発明によるコーディング手順が実行されることができる。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使われることができ、または必要によって、コーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使われることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。
他の例として、処理ユニットは、コーディングユニット(coding unit、CU)、予測ユニット(prediction unit、PU)または変換ユニット(transform unit、TU)を含むこともできる。コーディングユニットは、最大コーディングユニット(largest coding unit、LCU)からクアッドツリー構造によって下位(deeper)デプスのコーディングユニットに分割(split)されることができる。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使われることができ、または必要によって、コーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使われることができる。最小コーディングユニット(smallest coding unit、SCU)が設定された場合、コーディングユニットは、最小コーディングユニットより小さいコーディングユニットに分割されることができない。ここで、最終コーディングユニットとは、予測ユニットまたは変換ユニットにパーティショニングまたは分割の基盤となるコーディングユニットを意味する。予測ユニットは、コーディングユニットからパーティショニング(partitioning)されるユニットであって、サンプル予測のユニットである。このとき、予測ユニットは、サブブロック(subblock)に分けられることもできる。変換ユニットは、コーディングユニットからクアッドツリー構造によって分割されることができ、変換係数を誘導するユニット及び/または変換係数から残差信号(residual signal)を誘導するユニットである。以下、コーディングユニットはコーディングブロック(coding block、CB)、予測ユニットは予測ブロック(prediction block、PB)、変換ユニットは変換ブロック(transform block、TB)と呼ばれる。予測ブロックまたは予測ユニットは、ピクチャ内でブロック形態の特定の領域を意味し、予測サンプルのアレイ(array)を含むことができる。また、変換ブロックまたは変換ユニットは、ピクチャ内でブロック形態の特定の領域を意味し、変換係数または残差サンプルのアレイを含むことができる。
予測部110は、処理対象ブロック(以下、現在ブロックという)に対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測ブロックを生成することができる。予測部110で実行される予測の単位は、コーディングブロック、または変換ブロック、または予測ブロックである。
予測部110は、現在ブロックにイントラ予測が適用されるか、インター予測が適用されるかを決定することができる。一例として、予測部110は、CU単位にイントラ予測またはインター予測が適用されるかを決定することができる。
イントラ予測の場合、予測部110は、現在ブロックが属するピクチャ(以下、現在ピクチャ)内の現在ブロック外部の参照サンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。このとき、予測部110は、(i)現在ブロックの隣接(neighboring)参照サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを誘導することができ、(ii)現在ブロックの隣接参照サンプルのうち予測サンプルに対して特定の(予測)方向に存在する参照サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は非方向性モードまたは非角度モードと呼ばれ、(ii)の場合は方向性(directional)モードまたは角度(angular)モードと呼ばれる。イントラ予測における予測モードは、例えば、33個の方向性予測モードと少なくとも2個以上の非方向性モードを有することができる。非方向性モードは、DC予測モード及びプラナーモード(Planarモード)を含むことができる。予測部110は、隣接ブロックに適用された予測モードを利用し、現在ブロックに適用される予測モードを決定することもできる。
インター予測の場合、予測部110は、参照ピクチャ上で動きベクトルにより特定されるサンプルに基づいて、現在ブロックに対する予測サンプルを誘導することができる。予測部110は、スキップ(skip)モード、マージ(merge)モード、及びMVP(motion vector prediction)モードのうちいずれか一つを適用して現在ブロックに対する予測サンプルを誘導することができる。スキップモードとマージモードの場合、予測部110は、隣接ブロックの動き情報を現在ブロックの動き情報として利用できる。スキップモードの場合、マージモードと違って予測サンプルと原本サンプルとの間の差(残差)が送信されない。MVPモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(Motion Vector Predictor)として利用して現在ブロックの動きベクトル予測子として利用して現在ブロックの動きベクトルを誘導することができる。
インター予測の場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャ(reference picture)に存在する時間的隣接ブロック(temporal neighboring block)を含むことができる。前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)とも呼ばれる。動き情報(motion information)は、動きベクトルと参照ピクチャインデックスを含むことができる。予測モード情報と動き情報などの情報は、(エントロピー)エンコーディングされてビットストリームの形態で出力されることができる。
スキップモードとマージモードで時間的隣接ブロックの動き情報が利用される場合、参照ピクチャリスト(reference picture list)上の最上位ピクチャが参照ピクチャとして利用されることもできる。参照ピクチャリスト(Picture Order Count)に含まれる参照ピクチャは、現在ピクチャと該当参照ピクチャとの間のPOC(Picture order count)の差に基づいて整列されることができる。POCは、ピクチャのディスプレイ順序に対応し、コーディング順序と区分されることができる。
減算部121は、原本サンプルと予測サンプルとの間の差である残差サンプルを生成する。スキップモードが適用される場合には、前述したように残差サンプルを生成しない。
変換部122は、変換ブロック単位に残差サンプルを変換して変換係数(transform coefficient)を生成する。変換部122は、該当変換ブロックのサイズと、該当変換ブロックと空間的に重なるコーディングブロックまたは予測ブロックに適用された予測モードによって変換を実行することができる。例えば、前記変換ブロックと重なる前記コーディングブロックまたは前記予測ブロックにイントラ予測が適用され、前記変換ブロックが4×4の残差アレイ(array)の場合、残差サンプルは、DST(Discrete Sine Transform)変換カーネルを利用して変換され、その他の場合、残差サンプルは、DCT(Discrete Cosine Transform)変換カーネルを利用して変換できる。
量子化部123は、変換係数を量子化し、量子化された変換係数を生成することができる。
再整列部124は、量子化された変換係数を再整列する。再整列部124は、係数スキャニング(scanning)方法を介してブロック形態の量子化された変換係数を1次元ベクトル形態で再整列できる。ここで、再整列部124は、別途の構成で説明したが、量子化部123の一部であってもよい。
エントロピーエンコーディング部130は、量子化された変換係数に対するエントロピーエンコーディングを実行することができる。エントロピーエンコーディングは、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのようなエンコーディング方法を含むことができる。エントロピーエンコーディング部130は、量子化された変換係数の他にビデオ復元に必要な情報(例えば、シンタックス要素(syntax element)の値等)を共にまたは別途にエンコーディングすることもできる。エントロピーエンコーディングされた情報は、ビットストリームの形態でNAL(network abstraction layer)ユニット単位に送信または格納されることができる。
逆量子化部125は、量子化部123で量子化された値(量子化された変換係数)を逆量子化し、逆変換部126は、逆量子化部125で逆量子化された値を逆変換して残差サンプルを生成する。
加算部140は、残差サンプルと予測サンプルを合わせてピクチャを復元する。残差サンプルと予測サンプルは、ブロック単位に加えられて復元ブロックが生成されることができる。ここで、加算部140は、別途の構成で説明したが、予測部110の一部であってもよい。一方、加算部140は、復元部または復元ブロック生成部とも呼ばれる。
復元されたピクチャ(reconstructed picture)に対してフィルタ部150は、デブロッキングフィルタ及び/またはサンプルアダプティブオフセット(sample adaptive offset)を適用することができる。デブロッキングフィルタリング及び/またはサンプルアダプティブオフセットを介して、復元ピクチャ内のブロック境界のアーチファクトや量子化過程での歪みが補正されることができる。サンプルアダプティブオフセットは、サンプル単位に適用されることができ、デブロッキングフィルタリングの過程が完了した後に適用されることができる。フィルタ部150は、復元されたピクチャにALF(Adaptive Loop Filter)を適用することもできる。ALFは、デブロッキングフィルタ及び/またはサンプルアダプティブオフセットが適用された後の復元されたピクチャに対して適用されることができる。
メモリ160は、復元ピクチャ(デコーディングされたピクチャ)またはエンコーディング/デコーディングに必要な情報を格納することができる。ここで、復元ピクチャは、前記フィルタ部150によりフィルタリング手順が完了した復元ピクチャである。前記格納された復元ピクチャは、他のピクチャの(インター)予測のための参照ピクチャとして活用されることができる。例えば、メモリ160は、インター予測に使われる(参照)ピクチャを格納することができる。このとき、インター予測に使われるピクチャは、参照ピクチャセット(reference picture set)または参照ピクチャリスト(reference picture list)により指定されることができる。
図2は、本発明が適用されることができるビデオエンコーディング装置の概略を説明する他の一例を示す。
図2を参照すると、ビデオエンコーディング装置は、イントラ予測部、レファレンススムージング部200、予測部210、ポスト-フィルタ部220、変換部230、量子化部240を含むことができる。ここで、イントラ予測部は、レファレンススムージング部200、予測部210、ポスト-フィルタ部220を含むことができる。
現在ブロックにイントラ予測が適用される場合、レファレンススムージング部200は、現在ブロックが属するピクチャ(以下、現在ピクチャ)内の現在ブロックのイントラ予測に使われる前記左側隣接サンプル及び前記上側隣接サンプルを前記現在ブロックのサイズ、イントラ(intra)予測モード情報及びサンプル値に基づいてスムージング処理(smoothing process)できる。それによって、前記左側隣接サンプル及び前記上側隣接サンプルの各々のサンプル値の差によって発生されることができる前記現在ブロックの予測サンプルに対するビジュアルアーチファクト(visual artifact)を防止することができる。
予測部210は、(i)現在ブロックの前記左側隣接サンプル及び前記上側隣接サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを誘導することができ、(ii)前記左側隣接サンプル及び前記上側隣接サンプルのうち予測サンプルに対して特定の(予測)方向に存在する隣接サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は非方向性モードまたは非角度モードと呼ばれ、(ii)の場合は方向性(directional)モードまたは角度(angular)モードと呼ばれる。イントラ予測における予測モードは、例えば、33個の方向性予測モードと少なくとも2個以上の非方向性モードを有することができる。非方向性モードは、DC予測モード及びプラナーモード(Planarモード)を含むことができる。予測部210は、隣接ブロックに適用された予測モードを利用し、現在ブロックに適用される予測モードを決定することもできる。
前記現在ブロックの予測サンプルが導出された予測モードによって選択的に、ポスト-フィルタ部220は、現在ブロックと隣接サンプルとの不連続性を緩和するための後処理(post-processing)フィルタリングを実行することができる。この後、エンコーディング装置は、前記予測サンプルと原本サンプルとの間の差分を残差サンプルとして導出することができ、変換部230は、ブロック単位に残差サンプルを変換して変換係数(transform coefficient)を生成することができる。また、量子化部240は、変換係数を量子化し、量子化された変換係数を生成することができる。
図3は、エンコーディング装置でイントラ予測が実行される過程を例示する。エンコーディング装置は、イントラ予測を実行して現在ブロックの予測サンプルを生成することができる(S300)。前記予測サンプルは、予測信号またはイントラ予測信号ともいう。具体的に、エンコーディング装置は、前記現在ブロックのイントラ予測に使われる左側隣接サンプル及び上側隣接サンプルを前記現在ブロックのサイズ、モード情報及びサンプル値に基づいてスムージング処理(smoothing process)できる(S310)。この後、エンコーディング装置は、前述したようにイントラ予測モードによる予測を実行して前記予測サンプルを生成することができ(S320)、現在ブロックと隣接サンプルとの不連続性を緩和するための後処理(post-processing)フィルタリングを実行することができる(S330)。エンコーディング装置は、前記予測サンプルと原本サンプルとの間の差分である残差サンプルを生成することができ(S340)、ブロック単位に残差サンプルを変換して変換係数(transform coefficient)を生成することができる。また、エンコーディング装置は、前記変換係数を量子化し、量子化された変換係数を生成することができ(S360)、前記量子化された変換係数をエントロピーエンコーディングしてシグナリングできる(S370)。
図4は、本発明が適用されることができるビデオデコーディング装置の構成の概略を説明する図面である。
図4を参照すると、ビデオデコーディング装置400は、エントロピーデコーディング部410、残差処理部420、予測部430、加算部440、フィルタ部450及びメモリ460を含むことができる。ここで、残差処理部420は、再整列部421、逆量子化部422、逆変換部423を含むことができる。
ビデオ情報を含むビットストリームが入力されると、ビデオデコーディング装置400は、ビデオエンコーディング装置でビデオ情報が処理されたプロセスに対応してビデオを復元することができる。
例えば、ビデオデコーディング装置400は、ビデオエンコーディング装置で適用された処理ユニットを利用してビデオデコーディングを実行することができる。したがって、ビデオデコーディングの処理ユニットブロックは、一例としてコーディングユニットであり、他の例としてコーディングユニット、予測ユニットまたは変換ユニットである。コーディングユニットは、最大コーディングユニットからクアッドツリー構造及び/またはバイナリツリー構造によって分割されることができる。
予測ユニット及び変換ユニットが場合によってさらに使用されることができ、この場合、予測ブロックは、コーディングユニットから導出またはパーティショニングされるブロックであって、サンプル予測のユニットである。このとき、予測ユニットは、サブブロックに分けられることもできる。変換ユニットは、コーディングユニットからクアッドツリー構造によって分割されることができ、変換係数を誘導するユニットまたは変換係数から残差信号を誘導するユニットである。
エントロピーデコーディング部410は、ビットストリームをパーシングしてビデオ復元またはピクチャ復元に必要な情報を出力することができる。例えば、エントロピーデコーディング部410は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法に基づいてビットストリーム内の情報をデコーディングし、ビデオ復元に必要なシンタックスエレメントの値、残差に対する変換係数の量子化された値を出力することができる。
より詳細に、CABACエントロピーデコーディング方法は、ビットストリームで各シンタックス要素に該当するBINを受信し、デコーディング対象シンタックス要素情報と隣接及びデコーディング対象ブロックのデコーディング情報または以前のステップでデコーディングされたシンボル/BINの情報を利用してコンテキスト(context)モデルを決定し、決定されたコンテキストモデルによってBINの発生確率を予測してBINの算術符号化(arithmetic decoding)を実行して各シンタックス要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコーディング方法は、コンテキストモデル決定後、次のシンボル/BINのコンテキストモデルのためにデコーディングされたシンボル/BINの情報を利用してコンテキストモデルをアップデートすることができる。
エントロピーデコーディング部410でデコーディングされた情報のうち予測に関する情報は、予測部430に提供され、エントロピーデコーディング部410でエントロピーデコーディングが実行された残差の値、即ち、量子化された変換係数は、再整列部421に入力されることができる。
再整列部421は、量子化されている変換係数を2次元のブロック形態で再整列できる。再整列部421は、エンコーディング装置で実行された係数スキャニングに対応して再整列を実行することができる。ここで、再整列部421は、別途の構成で説明したが、逆量子化部422の一部であってもよい。
逆量子化部422は、量子化されている変換係数を(逆)量子化パラメータに基づいて逆量子化して変換係数を出力することができる。このとき、量子化パラメータを誘導するための情報は、エンコーディング装置からシグナリングされることができる。
逆変換部423は、変換係数を逆変換して残差サンプルを誘導することができる。
予測部430は、現在ブロックに対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測ブロックを生成することができる。予測部430で実行される予測の単位は、コーディングブロック、または変換ブロック、または予測ブロックである。
予測部430は、イントラ予測を適用するか、インター予測を適用するかを決定することができる。このとき、イントラ予測とインター予測のうちいずれかを適用するかを決定する単位と予測サンプルを生成する単位は異なる。併せて、インター予測とイントラ予測において、予測サンプルを生成する単位も異なる。例えば、インター予測とイントラ予測のうちいずれかを適用するかは、CU単位に決定できる。また、例えば、インター予測において、PU単位に予測モードを決定して予測サンプルを生成することができ、イントラ予測において、PU単位に予測モードを決定して、TU単位に予測サンプルを生成することもできる。
イントラ予測の場合に、予測部430は、現在ピクチャ内の隣接参照サンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。予測部430は、現在ブロックの隣接参照サンプルに基づいて方向性モードまたは非方向性モードを適用して現在ブロックに対する予測サンプルを誘導することができる。このとき、隣接ブロックのイントラ予測モードを利用して現在ブロックに適用する予測モードが決定されることもできる。
インター予測の場合、予測部430は、参照ピクチャ上で動きベクトルにより参照ピクチャ上で特定されるサンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。予測部430は、スキップ(skip)モード、マージ(merge)モード及びMVPモードのうちいずれか一つを適用することで現在ブロックに対する予測サンプルを誘導することができる。このとき、ビデオエンコーディング装置で提供された現在ブロックのインター予測に必要な動き情報、例えば、動きベクトル、参照ピクチャインデックスなどに関する情報は、前記予測に関する情報に基づいて取得または誘導されることができる
スキップモードとマージモードの場合、隣接ブロックの動き情報が現在ブロックの動き情報として利用されることができる。このとき、隣接ブロックは、空間的隣接ブロックと時間的隣接ブロックを含むことができる。
予測部430は、利用可能な隣接ブロックの動き情報でマージ候補リストを構成し、マージインデックスがマージ候補リスト上で指示する情報を現在ブロックの動きベクトルとして使用することができる。マージインデックスは、エンコーディング装置からシグナリングされることができる。動き情報は、動きベクトルと参照ピクチャを含むことができる。
スキップモードの場合、マージモードと違って予測サンプルと原本サンプルとの間の差(残差)が送信されない。
MVPモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用して現在ブロックの動きベクトルが誘導されることができる。このとき、隣接ブロックは、空間的隣接ブロックと時間的隣接ブロックを含むことができる。
一例として、マージモードが適用される場合、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルを利用し、マージ候補リストが生成されることができる。マージモードではマージ候補リストから選択された候補ブロックの動きベクトルが現在ブロックの動きベクトルとして使われる。前記予測に関する情報は、前記マージ候補リストに含まれている候補ブロックの中から選択された最適の動きベクトルを有する候補ブロックを指示するマージインデックスを含むことができる。このとき、予測部430は、前記マージインデックスを利用し、現在ブロックの動きベクトルを導出することができる。
他の例として、MVP(Motion Vector Prediction)モードが適用される場合、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルを利用し、動きベクトル予測子候補リストが生成されることができる。即ち、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルは、動きベクトル候補として使われることができる。前記予測に関する情報は、前記リストに含まれている動きベクトル候補の中から選択された最適の動きベクトルを指示する予測動きベクトルインデックスを含むことができる。このとき、予測部430は、前記動きベクトルインデックスを利用し、動きベクトル候補リストに含まれている動きベクトル候補の中から、現在ブロックの予測動きベクトルを選択することができる。エンコーディング装置の予測部は、現在ブロックの動きベクトルと動きベクトル予測子との間の動きベクトル差分(MVD)を求めることができ、これをエンコーディングしてビットストリームの形態で出力できる。即ち、MVDは、現在ブロックの動きベクトルから前記動きベクトル予測子を引いた値として求められる。このとき、予測部430は、前記予測に関する情報に含まれている動きベクトル差分を取得し、前記動きベクトル差分と前記動きベクトル予測子の加算を介して現在ブロックの前記動きベクトルを導出することができる。また、予測部は、参照ピクチャを指示する参照ピクチャインデックスなどを前記予測に関する情報から取得または誘導できる。
加算部440は、残差サンプルと予測サンプルを加算して現在ブロックまたは現在ピクチャを復元することができる。加算部440は、残差サンプルと予測サンプルをブロック単位に加算して現在ピクチャを復元することもできる。スキップモードが適用された場合には残差が送信されないため、予測サンプルが復元サンプルになることができる。ここでは、加算部440は、別途の構成で説明したが、予測部430の一部であってもよい。一方、加算部440は、復元部または復元ブロック生成部とも呼ばれる。
フィルタ部450は、復元されたピクチャにデブロッキングフィルタリングのサンプルアダプティブオフセット、及び/またはALFなどを適用することができる。このとき、サンプルアダプティブオフセットは、サンプル単位に適用されることができ、デブロッキングフィルタリング以後に適用されることもできる。ALFは、デブロッキングフィルタリング及び/またはサンプルアダプティブオフセット以後に適用されることもできる。
メモリ460は、復元ピクチャ(デコーディングされたピクチャ)またはデコーディングに必要な情報を格納することができる。ここで、復元ピクチャは、前記フィルタ部450によりフィルタリング手順が完了した復元ピクチャである。例えば、メモリ460は、インター予測に使われるピクチャを格納することができる。このとき、インター予測に使われるピクチャは、参照ピクチャセットまたは参照ピクチャリストにより指定されることもできる。復元されたピクチャは、他のピクチャに対する参照ピクチャとして利用されることができる。また、メモリ460は、復元されたピクチャを出力順序によって出力することもできる。
図5は、本発明が適用されることができるビデオデコーディング装置の概略を説明する他の一例を示す。
図5を参照すると、ビデオエンコーディング装置は、イントラ予測部、レファレンススムージング部500、予測部510、ポスト-フィルタ部520、逆量子化部530、逆変換部540を含むことができる。ここで、イントラ予測部は、レファレンススムージング部500、予測部510、ポスト-フィルタ部520を含むことができる。イントラ予測部は、現在ブロックの隣接参照サンプルに基づいて方向性モードまたは非方向性モードを適用して現在ブロックに対する予測サンプルを誘導することができる。このとき、隣接ブロックのイントラ予測モードを利用して現在ブロックに適用する予測モードが決定されることもできる。
具体的に、現在ブロックにイントラ予測が適用される場合、レファレンススムージング部500は、現在ブロックが属するピクチャ(以下、現在ピクチャ)内の現在ブロックのイントラ予測に使われる前記左側隣接サンプル及び前記上側隣接サンプルを前記現在ブロックのサイズ、予測モード及びサンプル値に基づいてスムージング処理(smoothing process)できる。それによって、前記左側隣接サンプル及び前記上側隣接サンプルの各々のサンプル値の差によって発生されることができる前記現在ブロックの予測サンプルに対するビジュアルアーチファクト(visual artifact)を防止することができる。
予測部510は、(i)現在ブロックの前記左側隣接サンプル及び前記上側隣接サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを誘導することができ、(ii)前記左側隣接サンプル及び前記上側隣接サンプルのうち予測サンプルに対して特定の(予測)方向に存在する隣接サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は非方向性モードまたは非角度モードと呼ばれ、(ii)の場合は方向性(directional)モードまたは角度(angular)モードと呼ばれる。イントラ予測における予測モードは、例えば、33個の方向性予測モードと少なくとも2個以上の非方向性モードを有することができる。非方向性モードは、DC予測モード及びプラナーモード(Planarモード)を含むことができる。予測部510は、隣接ブロックに適用された予測モードを利用し、現在ブロックに適用される予測モードを決定することもできる。
前記現在ブロックの予測サンプルが導出された予測モードによって選択的に、ポスト-フィルタ部520は、現在ブロックと隣接サンプルとの不連続性を緩和するための後処理(post-processing)フィルタリングを実行することができる。この後、逆量子化部530は、エンコーディング装置から受信された量子化された変換係数(transform coefficient)を逆量子化することができ、逆変換部540は、前記逆量子化された変換係数を逆変換してブロック単位に残差サンプルを生成することができる。デコーディング装置は、前記残差サンプルと前記予測サンプルに基づいてイントラ予測に基づいてエンコーディングされた前記現在ブロックを復元することができる。
図6は、デコーディング装置でイントラ予測が実行される過程を例示する。デコーディング装置は、ビットストリームを介して受信されたエントロピーエンコーディングされた情報をエントロピーデコーディングして量子化された変換係数を取得することができる(S600)。その後、デコーディング装置は、前記量子化された変換係数を逆量子化して変換係数を取得することができ(S610)、前記変換係数を逆変換してブロック単位に残差サンプルを生成することができる(S620)。その後、デコーディング装置は、イントラ予測を実行して現在ブロックの予測サンプルを生成することができる(S630)。前記予測サンプルは、予測信号またはイントラ予測信号ともいう。具体的に、デコーディング装置は、前記現在ブロックのイントラ予測に使われる左側隣接サンプル及び上側隣接サンプルを前記現在ブロックのサイズ、予測モード及びサンプル値に基づいてスムージング処理(smoothing process)できる(S640)。この後、デコーディング装置は、前述したようにイントラ予測モードによる予測を実行して前記予測サンプルを生成することができ(S650)、現在ブロックと隣接サンプルとの不連続性を緩和するための後処理(post-processing)フィルタリングを実行することができる(S660)。デコーディング装置は、前記予測サンプルと前記残差サンプルを加算して前記現在ブロックの復元サンプルを生成することができる(S670)。
前述した内容のように現在ブロックに予測が実行される場合、イントラ予測モードに基づいて前記予測が実行されることができる。例えば、前記現在ブロックのデコーディング時点に既にエンコーディング/デコーディングが実行された隣接サンプルに基づいて前記イントラ予測が実行されることができる。即ち、前記現在ブロックの予測サンプルは、既に復元された前記現在ブロックの左側隣接サンプル及び上側隣接サンプルを使用して復元されることができる。前記左側隣接サンプル及び前記上側隣接サンプルは、下記の図7のように示すことができる。
図7は、前記現在ブロックのイントラ予測に使われる前記左側隣接サンプル及び上側隣接サンプルを例示する。前記現在ブロックにイントラ予測が実行される場合、前記現在ブロックに対するイントラ予測モードが導出されることができ、前記イントラ予測モードによって前記左側隣接サンプル及び上側隣接サンプルのうち少なくとも一つを利用して前記現在ブロックに対する予測サンプルが生成されることができる。前記現在ブロックのイントラ予測に使われる前記左側隣接サンプル及び前記上側隣接サンプルは、記現在ブロックのサイズ、予測モード及びサンプル値に基づいてスムージング処理(smoothing process)できる。即ち、前記現在ブロックのサイズ、予測モード及びサンプル値に基づいて前記左側隣接サンプル及び前記上側隣接サンプルの各々のサンプル値の差を減らすためのフィルタリングが実行されることができる。それによって、前記左側隣接サンプル及び前記上側隣接サンプルの各々のサンプル値の差によって発生されることができる前記現在ブロックの予測サンプルに対するビジュアルアーチファクト(visual artifact)を防止することができる。
ここで、イントラ予測モードは、2個の非方向性イントラ予測モードと33個の方向性イントラ予測モードを含むことができる。前記非方向性イントラ予測モードは、プラナー(planar)イントラ予測モード及びDCイントラ予測モードを含むことができ、前記方向性イントラ予測モードは、2番乃至34番のイントラ予測モードを含むことができる。前記プラナーイントラ予測モードはプラナーモードと呼ばれ、前記DCイントラ予測モードはDCモードと呼ばれる。また、10番のイントラ予測モードは、水平イントラ予測モード(horizontal intra prediction mode)または水平モードを示し、26番のイントラ予測モードは、垂直イントラ予測モード(vertical intra prediction mode)または垂直モードを示し、これを基準にして方向性イントラモード(angular intra mode)の予測方向を角度で表現できる。即ち、10番のイントラ予測モードに対応する水平基準角度0゜を基準にして各イントラ予測モードに対応する相対的角度を表現することができ、26番のイントラ予測モードに対応する垂直基準角度0゜を基準にして各イントラ予測モードに対応する相対的角度を表現することができる。
また、高画質のビデオに対する需要が増えており、これによるビデオコーデックの効率を上げるために方向性イントラ予測方向の数が65個に増加できる。即ち、イントラ予測モードは、2個の非方向性イントラ予測モードと65個の方向性イントラ予測モードを含むことができる。前記非方向性イントラ予測モードは、プラナー(planar)イントラ予測モード及びDCイントラ予測モードを含むことができ、前記方向性イントラ予測モードは、2番乃至66番のイントラ予測モードを含むことができる。
図8は、65個の予測方向のイントラ方向性モードを例示する。
図8を参照すると、左上の対角予測方向を有する34番のイントラ予測モードを中心に水平方向性(horizontal directionality)を有するイントラ予測モードと、垂直の方向性(vertical directionality)を有するイントラ予測モードと、を区分することができる。図8のHとVは、各々、水平方向性と垂直の方向性を意味し、-32~32の数字は、サンプルグリッドポジション(sample grid position)上で1/32単位の変位を示す。2番乃至33番のイントラ予測モードは水平方向性を有し、34番乃至66番のイントラ予測モードは垂直の方向性を有する。18番のイントラ予測モードと50番のイントラ予測モードは、各々、水平イントラ予測モード(horizontal intra prediction mode)、垂直イントラ予測モード(vertical intra prediction mode)を示し、これを基準にして方向性イントラ予測モード(angular intra prediction mode)の予測方向を角度で表現できる。即ち、18番のイントラ予測モードに対応する水平基準角度0゜を基準にして各イントラ予測モードに対応する相対的角度を表現することができ、50番のイントラ予測モードに対応する垂直基準角度0゜を基準にして各イントラ予測モードに対応する相対的角度を表現することができる。
前記現在ブロックに方向性イントラ予測モードが適用される場合、前記現在ブロック内のイントラ予測が実行される対象サンプルを基準にして前記方向性イントラ予測モードの予測方向に位置する参照サンプルに基づいて前記対象サンプルの予測サンプルが導出されることができる。即ち、前記予測方向に位置する前記参照サンプルが複写されて前記予測サンプルとして導出されることができる。ここで、前記参照サンプルは、前記現在ブロックの上側隣接サンプル及び左側隣接サンプルのうち前記対象サンプルを基準にして前記方向性イントラ予測モードの予測方向に位置する隣接サンプルを示すことができる。一方、前記対象サンプルを基準にして前記方向性イントラ予測モードの予測方向に整数サンプル単位の参照サンプルが存在しない場合、即ち、前記対象サンプルを基準にして前記方向性イントラ予測モードの予測方向に位置する参照サンプルの位置が分数サンプル(fractional sample)の位置である場合、前記参照サンプルの左右に隣接した整数サンプル間の補間を介して前記参照サンプルのサンプル値が導出されることができ、前記参照サンプルに基づいて前記対象サンプルの予測サンプルが導出されることができる。例えば、前記整数サンプル間の補間は、前記参照サンプルと前記整数サンプルの距離の比に基づいて実行されることができる。
図9は、前記方向性イントラ予測モードの予測方向に位置する参照サンプルの位置が分数サンプル(fractional sample)の位置である場合、前記参照サンプルの左右に隣接した整数サンプルに基づいて前記対象サンプルの予測サンプルが導出される一例を示す。
図9を参照すると、前記対象サンプルを基準にして前記方向性イントラ予測モードの予測方向に位置する参照サンプルの分数サンプルの位置は、tanθ*(y+1)として導出されることができる。前記分数サンプルの位置を計算するための各方向性イントラ予測モードの角度θに対するtanθの値は、演算実行をもっと容易にするためにあらかじめ整数単位にスケーリング(scaling)されて定義されることができる。スケーリングされた各方向性イントラ予測モードのtanθの値は、以下の表のように導出されることができる。
ここで、predModeIntraは、前記各方向性イントラ予測モードを示すことができ、intraPredAngleは、前記各方向性イントラ予測モードの予測角度を示すことができ、または前記各方向性イントラ予測モードのスケーリングされたtanθの近似値を示すことができる。表1に基づいてあらかじめ定義された前記イントラ予測モードによるtanθの近似値が導出されることができる。一方、スケーリングされた各方向性イントラ予測モードのtan-1θの値は、以下の表のように導出されることができる。
ここで、predModeIntraは、前記各方向性イントラ予測モードを示すことができ、intraPredAngleは、前記各方向性イントラ予測モードのインバース(inverse)予測角度を示すことができ、または前記各方向性イントラ予測モードのスケーリングされたtan-1θの近似値を示すことができる。前記表2に基づいてあらかじめ定義された前記イントラ予測モードによるtan-1θの近似値が導出されることができる。
一方、前記現在ブロックに非方向性イントラ予測モードが適用されることもできる。前記非方向性イントラ予測モードは、プラナー(planar)イントラ予測モード及びDCイントラ予測モードを含むことができる。前記プラナーイントラ予測モードはプラナーモードと呼ばれ、前記DCイントラ予測モードはDCモードと呼ばれる。前記DCモードは、前記現在ブロックの隣接サンプルの平均値に基づいて前記現在ブロックの予測サンプルが導出されることができる。前記DCモードに基づいて実行されるイントラ予測は、前記現在ブロックのサンプルの値が類似した場合に効率的に実行されることができる。それに対し、前記現在ブロックのサンプルの値が多様な場合に前記DCモードに基づいてイントラ予測が実行される場合、前記現在ブロックの予測ブロック(predicted block)と隣接サンプルとの間の不連続性が発生されることができる。類似した場合、方向性イントラ予測モードに基づいてイントラ予測が実行される場合にも意図しないヴィジブルコンツアリング(visible contouring)が発生されることができる。前記プラナーモードは、このような問題を補完するために考案された。前記プラナーモードは、前記対象サンプルに対する参照サンプルに基づいて水平線形予測(horizontal linear prediction)と垂直線形予測(vertical linear prediction)を実行した後、導出された値を平均して前記対象サンプルの予測サンプルを生成する予測モードを示す。
一方、現在ブロックに対して方向性イントラ予測モードに基づいて予測が実行される場合、前述した内容のように前記現在ブロックの対象サンプルを基準にして前記現在ブロックの方向性イントラ予測モードの予測方向に整数サンプル単位の参照サンプルが存在しない場合、即ち、前記対象サンプルを基準にして前記方向性イントラ予測モードの予測方向に位置する参照サンプルの位置が分数サンプル(fractional sample)の位置である場合、前記参照サンプルの左右の整数サンプル間の補間を介して前記参照サンプルのサンプル値が導出されることができ、前記導出された参照サンプルに基づいて前記対象サンプルの予測サンプルが導出されることができる。前記整数サンプルは、前記参照サンプルの位置に隣接して位置する整数サンプルの位置の隣接サンプルを示すことができる。
この場合、前記参照サンプルの左右の前記整数サンプル間の補間は、多様な補間フィルタのうちの一つに基づいて導出されることができる。例えば、低域通過フィルタ効果がある補間フィルタに基づいて前記補間が実行されることができ、または精巧な補間フィルタに基づいて前記補間が実行されることもできる。前記低域通過フィルタ効果がある補間フィルタは、リニアフィルタ(linear filter)またはガウシアンフィルタ(Gaussian filter)などを示すことができ、前記精巧な補間フィルタは、スプラインフィルタ(spline filter)を示すことができる。前記スプラインフィルタは、キュービックフィルタ(cubic filter)とも呼ばれる。前記補間フィルタは、4タップ(4-tap)補間フィルタである。前記4タップ補間フィルタは、4個の加重値に基づいて4個の整数サンプルに対する補間が実行されるフィルタを示すことができる。前記補間フィルタに基づいて実行される前記整数サンプル間の補間は、以下の数式のように示すことができる。
ここで、p[x][y]は、前記対象サンプルの予測サンプルを示すことができ、f[0]、f[1]、f[2]及びf[3]は、補間フィルタのフィルタ係数を示すことができ、ref[n]は、n番目の隣接サンプルを示すことができ、iIdxは、前記対象サンプルを基準にして前記現在ブロックのイントラ予測モードの予測方向に位置する分数サンプルの位置の整数インデックスを示すことができる。前記分数サンプルの位置の整数インデックスは、前記分数サンプルの位置の残りを除いた整数値を示すことができる。
一方、前記低域通過フィルタのうちの一つのキュービックフィルタのフィルタ係数及び前記低域通過フィルタ効果がある補間フィルタのうちの一つのガウシアンフィルタのフィルタ係数は、以下の表のように導出されることができる。
ここで、sub-pel position n/32は、前記対象サンプルを基準にして前記現在ブロックのイントラ予測モードの予測方向に位置する分数サンプルの位置の残りの値を示すことができる。前記対象サンプルの分数サンプルの位置及び前記表3に基づいてキュービックフィルタのフィルタ係数またはガウシアンフィルタのフィルタ係数が導出されることができる。
一方、前述した内容のように方向性イントラ予測モードに基づいて前記現在ブロックに対する予測が実行される場合、前記方向性イントラ予測モードの予測角度によって前記現在ブロックの対象サンプルと参照サンプルとの距離が遠のき、前記距離が遠のくほど予測の正確度が落ちることができる。前記対象サンプルと前記参照サンプルとの距離によって適切な補間フィルタを選択し、前記選択された補間フィルタを適用して導出された前記参照サンプルに基づいて予測を実行することで予測の正確度を向上させる方法が提案されることができる。前記対象サンプルと前記参照サンプルとの距離による適切な補間フィルタ及び前記適切な補間フィルタを選択する方法は、後述の通りである。
一例として、前記現在ブロックのサイズまたは前記現在ブロックのイントラ予測モードに基づいて前記補間フィルタが選択されることができる。前述したように、前記現在ブロックに対するイントラ予測モードの予測角度の傾きによって前記現在ブロックの対象サンプルと前記参照サンプルとの距離が導出されることができる。前記現在ブロックの参照サンプルは、前記現在ブロックの左側隣接サンプル及び上側隣接サンプルに基づいて導出されるため、前記対象サンプルの位置が前記現在ブロックの右下段に行くほど前記対象サンプルと前記参照サンプルとの距離が遠のく。また、前記表1で定義された前記方向性イントラ予測モードのintraPredAngleの値が大きくなるほど前記予測角度の傾きが45度に近づく。前記予測角度の傾きが45度に近づくほど前記対象サンプルと前記参照サンプルとの距離が遠のき、したがって、前記intraPredAngleの値が大きくなるほど前記対象サンプルと前記参照サンプルとの距離が遠のく。
また、前記現在ブロックのサイズに基づいて前記対象サンプルと前記参照サンプルとの距離が導出されることができる。即ち、前記現在ブロックのサイズが大きくなるほど前記対象サンプルと前記参照サンプルとの距離が遠のく。したがって、前記現在ブロックのサイズは、前記対象サンプルの予測の正確度と密接な関連があるということができる。
前述した内容のように前記intraPredAngleの値が0より大きく32より小さい場合、図9に示すように、分数サンプルの位置の参照サンプルに基づいて前記対象サンプルの予測が実行されることができる。この場合、分数サンプルの位置に隣接する整数サンプル値のみが存在し、コーディング装置は、補間フィルタに基づいて前記分数サンプルの位置の前記参照サンプルを予測することができ、前記予測された前記分数サンプルの位置の前記参照サンプルの値を前記対象サンプルの予測サンプルのサンプル値として複写できる。したがって、前記補間フィルタの正確度によって前記現在ブロックの予測ブロック(predicted block)の正確度が左右されることができる。
また、前記現在ブロックにイントラ予測が適用される場合、前記イントラ予測に使われることができる情報は、前記現在ブロックのデコーディング過程時点に既に復元された前記現在ブロックの左側隣接サンプル及び上側隣接サンプルに限定されており、前記現在ブロックの対象サンプルと参照サンプルとの距離が遠のくにつれて前記対象サンプルと前記左側隣接サンプル及び前記上側隣接サンプルに基づいて導出された前記参照サンプルとの相関度は急激に減少されることができる。
したがって、前記対象サンプルと前記参照サンプルとの距離が遠い場合、前記参照サンプルのアーチファクト(artifact)またはノイズ(noise)が伝播されないように低域通過フィルタ効果がある補間フィルタに基づいて前記参照サンプルを導出する方法が予測の正確度及びコーディング効率を向上させることができる。それに対し、前記対象サンプルと前記参照サンプルとの距離が近い場合、前記対象サンプルと前記参照サンプルの相関度が高いため、前記対象サンプルの予測サンプルと前記参照サンプルとの間の類似度を最大限維持できるように正確な補間に基づいて前記参照サンプルを導出する方法が予測性能の向上に有利である。即ち、前記対象サンプルと前記参照サンプルとの距離が近い場合、精巧な補間フィルタに基づいて前記参照サンプルを導出する方法が予測の正確度及びコーディング効率を向上させることができる。
それによって、前記現在ブロックの対象サンプルに対する参照サンプルを導出するための前記現在ブロックのサイズのみに基づいて選択されることができ、前記現在ブロックのイントラ予測モードのみに基づいて選択されることができ、または前記現在ブロックのサイズ及び前記現在ブロックのイントラ予測モードに基づいて選択されることができる。
具体的に、例えば、前記現在ブロックのサイズが4×4サイズであり、前記現在ブロックにイントラ予測が実行される場合、4×4サイズの前記現在ブロックは、前記現在ブロックの隣接サンプルとの相関度が非常に高く、したがって、イントラ予測モードにかかわらず精巧な補間フィルタに基づいて参照サンプルが導出されることができる。または、前記現在ブロックのサイズにかかわらず前記現在ブロックのイントラ予測モードから誘導されたintraPredAngleの値が11以上である場合、前記対象サンプルと前記参照サンプルとの距離が遠のき、したがって、低域通過フィルタ効果がある補間フィルタに基づいて前記参照サンプルが導出されることができる。または、前記現在ブロックのサイズが特定のサイズより小さく、前記現在ブロックのイントラ予測モードのintraPredAngleの値が特定の値より小さい場合には、精巧な補間フィルタに基づいて前記対象サンプルの参照サンプルが導出されることができ、それ以外の場合には、低域通過フィルタ効果がある補間フィルタに基づいて前記対象サンプルの参照サンプルが導出されることができる。
また、前記現在ブロックにMPM(most probable mode)モードが適用されて前記現在ブロックの隣接ブロックのイントラ予測モードに基づいて前記現在ブロックのイントラ予測モードが導出され、前記現在ブロックの前記イントラ予測モードがプラナー(Planar)モード、DCモードでない方向性イントラ予測モードである場合、前記MPMモードを介して選択された前記隣接ブロックに使われた補間フィルタも前記現在ブロックの補間フィルタとして導出されることができる。ここで、前記現在ブロックに前記MPMモードが適用される場合、コーディング装置は、前記現在ブロックの左側または上側隣接ブロックに対するイントラ予測モードに基づいてMPMリストを決定し、前記MPMリストに基づいて前記イントラ予測モードを決定することができる。
また、前記現在ブロックのイントラ予測モードに基づいて前記補間フィルタが選択される場合、イントラ予測モードの基準、即ち、低域通過フィルタ効果がある補間フィルタが使われるかまたは精巧な補間フィルタが使われるかを判断する基準は、現在ブロックのサイズ及び形態によって可変的である。
一方、前記現在ブロックが正方形のブロックである場合にはブロックの幅と高さが同じであるため、即ち、現在ブロックのサイズがN×Nであるため、補間フィルタを選択するにあたって基準となるブロックのサイズは、いかなる方向の方向性イントラ予測モードに対してもNになることができる。一方、前記現在ブロックの形態が非正方形である場合、即ち、前記現在ブロックのサイズがM×Nである場合、前記現在ブロックの予測モードとして選択されたモードが方向性イントラ予測モードであり、そのモードが垂直の方向性予測モードである時、補間フィルタを選択する基準となるブロックのサイズは、Mで表すことができる。ここで、前記垂直の方向性予測モードは、イントラ予測モードが65個の方向性イントラ予測モード及び2個の非方向性イントラ予測モードを含む場合に34番乃至66番のイントラ予測モードを示すことができる。同様に、前記現在ブロックのサイズがM×Nである場合、前記現在ブロックの予測モードとして選択されたモードが方向性モードであり、そのモードが水平方向性予測モードである時、補間フィルタを選択する基準となる前記現在ブロックのサイズは、Nで表すことができる。ここで、前記水平方向性予測モードは、イントラ予測モードが65個の方向性イントラ予測モード及び2個の非方向性イントラ予測モードを含む場合に2番乃至33番のイントラ予測モードを示すことができる。
または、それに対し、前記現在ブロックがM×Nサイズの非正方形ブロックであり、且つ前記現在ブロックの予測モードが垂直の方向性予測モードである場合、Nを基準にして前記現在ブロックの補間フィルタが選択されることができ、同様に、前記現在ブロックがM×Nサイズの非正方形ブロックであり、且つ前記現在ブロックの予測モードが水平方向性予測モードである場合、Mを基準にして前記現在ブロックの補間フィルタが選択されることもできる。ただし、以後記述する具体的な例示では、M×Nのサイズを有する前記現在ブロックに垂直の方向性予測モードが適用される場合、補間フィルタを選択する基準となる前記現在ブロックのサイズは、Mで表すことができ、同様に、M×Nのサイズを有する前記現在ブロックに水平方向性予測モードが適用される場合、補間フィルタを選択する基準となる前記現在ブロックのサイズは、Nで表すことができる。具体的に、例えば、ブロックのサイズの値が8より小さいまたは同じ場合、精巧な補間フィルタが選択されることができ、前記精巧な補間フィルタに基づいて前記ブロックの参照サンプルが導出されることができ、この場合、前記現在ブロックのサイズの値が8×4であり、前記現在ブロックのイントラ予測モードが垂直の方向性を有するイントラ予測モードのうちの一つである場合、前記精巧な補間フィルタが前記現在ブロックに対する補間フィルタとして選択されることができ、前記精巧な補間フィルタに基づいて前記現在ブロックの参照サンプルが導出されることができる。
また、前記現在ブロックのイントラ予測モードのintraPredAngleの値が11より小さいまたは同じ場合、精巧な補間フィルタが選択され、前記精巧な補間フィルタに基づいて参照サンプルが導出されることができる。また、前記現在ブロックのイントラ予測モードのintraPredAngleの値が11より大きい場合、低域通過フィルタ効果がある補間フィルタが選択され、前記低域通過フィルタ効果がある補間フィルタに基づいて参照サンプルが導出されることができる。
また、前記現在ブロックのサイズの値が16以上である時、前記現在ブロックのイントラ予測モードのintraPredAngleの値が5より小さいまたは同じ場合、精巧な補間フィルタが選択され、前記精巧な補間フィルタに基づいて参照サンプルが導出されることができる。また、前記現在ブロックのイントラ予測モードのintraPredAngleの値が5より大きい場合、低域通過フィルタ効果がある補間フィルタが選択され、前記低域通過フィルタ効果がある補間フィルタに基づいて参照サンプルが導出されることができる。
図10は、前記現在ブロックのサイズ及びイントラ予測モードに基づいて補間フィルタを選択する一例を示す。エンコーディング装置/デコーディング装置は、前記現在ブロックに対するイントラ予測モードを導出することができ、前記イントラ予測モードが方向性イントラ予測モードかどうかを判断することができる(S1000)。前記方向性イントラ予測モードは、角予測で表すこともできる。前記イントラ予測モードが非方向性イントラ予測モードである場合、エンコーディング/デコーディング装置は、前記イントラ予測モードに基づいて前記現在ブロックのイントラ予測を実行することができる。
前記イントラ予測モードが方向性イントラ予測モードである場合、エンコーディング装置/デコーディング装置は、前記現在ブロックのサイズが第1の閾値(threshold)より小さいかどうかを判断することができる(S1010)。前記現在ブロックがM×Nサイズの非正方形ブロックであり、前記現在ブロックのイントラ予測モードとして選択されたモードが垂直の方向性を有するイントラ予測モード、即ち、イントラ予測モードが65個の方向性イントラ予測モード及び2個の非方向性イントラ予測モードを含む場合に前記現在ブロックのイントラ予測モードが34番乃至66番のイントラ予測モードのうちの一つである時、補間フィルタを選択する基準は、前記現在ブロックの幅(width)、即ち、Mで表すことができる。同様に、前記現在ブロックがM×Nサイズの非正方形ブロックであり、前記現在ブロックのイントラ予測モードとして選択されたモードが水平方向性を有するイントラ予測モード、即ち、イントラ予測モードが65個の方向性イントラ予測モード及び2個の非方向性イントラ予測モードを含む場合に前記現在ブロックのイントラ予測モードが2番乃至33番のイントラ予測モードのうちの一つである時、補間フィルタを選択する基準は、前記現在ブロックの高さ(height)、即ち、Nで表すことができる。または、正方形状のブロックのみが考慮されて前記現在ブロックのサイズがN×Nである場合、前記現在ブロックのサイズの値は、Nで表すことができる。前記第1の閾値は、4、8、16または32等に設定されることができる。
前記現在ブロックのサイズが第1の閾値(threshold)より小さくない場合、即ち、前記現在ブロックのサイズが第1の閾値より大きいまたは同じ場合、エンコーディング装置/デコーディング装置は、ガウシアンフィルタ(gaussian filter)を前記現在ブロックの補間フィルタとして選択することができ、前記ガウシアンフィルタに基づいて前記現在ブロック内の対象サンプルの参照サンプルを導出することができる(S1020)。ここで、前記ガウシアンフィルタは、低域通過フィルタ効果がある補間フィルタのうちの一つであり、前記ガウシアンフィルタ以外の低域通過フィルタ効果がある補間フィルタに基づいて前記対象サンプルの参照サンプルが導出されることもできる。例えば、前記現在ブロックのサイズが前記第1の閾値より大きいまたは同じ場合、エンコーディング装置/デコーディング装置は、前記現在ブロックの補間フィルタを線形フィルタ(linear filter)として選択することができ、前記線形フィルタに基づいて前記現在ブロック内の対象サンプルの参照サンプルを導出することができる。ここで、前記参照サンプルは、前記対象サンプルを基準にして前記現在ブロックの方向性イントラ予測モードの予測方向に位置する隣接サンプルを示すことができる。
前記現在ブロックのサイズが第1の閾値より小さくない場合、前記現在ブロックの方向性イントラ予測モードのintraPredAngleが第2の閾値より小さいかどうかを判断することができる(S1030)。前記intraPredAngleは、前記方向性イントラ予測モードの予測角度を示すことができる。例えば、前記第2の閾値は、11に設定されることができる。
前記現在ブロックの方向性イントラ予測モードのintraPredAngleが前記第2の閾値より小さくない場合、エンコーディング装置/デコーディング装置は、ガウシアンフィルタを前記現在ブロックの補間フィルタとして選択することができ、前記ガウシアンフィルタに基づいて前記現在ブロック内の対象サンプルの参照サンプルを導出することができる(S1020)。ここで、前記ガウシアンフィルタは、前述した内容のように低域通過フィルタ効果がある補間フィルタのうちの一つであり、前記ガウシアンフィルタ以外の低域通過フィルタ効果がある補間フィルタに基づいて前記対象サンプルの参照サンプルが導出されることもできる。
前記現在ブロックの方向性イントラ予測モードのintraPredAngleが前記第2の閾値より小さい場合、エンコーディング装置/デコーディング装置は、キュービックフィルタ(cubic filter)を前記現在ブロックの補間フィルタとして選択することができ、前記キュービックフィルタに基づいて前記現在ブロック内の対象サンプルの参照サンプルを導出することができる(S1040)。ここで、前記キュービックフィルタは、前述した内容のように精巧な補間フィルタのうちの一つであり、前記キュービックフィルタ以外の精巧な補間フィルタに基づいて前記対象サンプルの参照サンプルが導出されることもできる。また、前記キュービックフィルタは、スプラインフィルタとも呼ばれる。
エンコーディング装置/デコーディング装置は、導出された前記対象サンプルの参照サンプルに基づいて前記対象サンプルの予測サンプルを生成することができる(S1050)。エンコーディング装置/デコーディング装置は、前記参照サンプルを複写して前記予測サンプルを生成することができる。前記参照サンプルが複写されて前記予測サンプルとして使用され、前記補間フィルタに基づいて前記予測サンプルが生成されるということができる。
一方、前述した例以外にも補間フィルタを選択する方法により前記現在ブロックを任意の領域に分け、各領域に対する補間フィルタを選択する方法が提案されることができる。
例えば、前記現在ブロックのサイズが特定のサイズ以上である場合、前記現在ブロックは、複数の領域に分けられ、各領域と前記現在ブロックの隣接サンプルとの距離を考慮して各領域の補間フィルタが選択されることができる。前記現在ブロックが分けられる領域のサイズは、エンコーディング装置とデコーディング装置との間にあらかじめ約束された(即ち、既に設定された)固定値(fixed value)であり、または前記現在ブロックのサイズ、イントラ予測モードなどに基づいて導出されることもできる。例えば、前記現在ブロックのイントラ予測モードが垂直の方向性を有するイントラ予測モードであり、前記イントラ予測モードのモード番号が34番より大きい場合、前記現在ブロックが分けられる領域のサイズは、4×4として導出されることができる。即ち、前記現在ブロックのイントラ予測モードが35番乃至66番のイントラ予測モードのうちの一つである場合、前記現在ブロックが分けられる領域のサイズは、4×4として導出されることができる。前記現在ブロックが16×16サイズのブロックである場合、前記現在ブロックの16個の4×4サイズの領域に分けられ、前記領域のうちラスタースキャンオーダー(raster scan order)上で、0乃至7番までの領域に対する補間フィルタは、前述した精巧な補間フィルタが選択されることができ、その以外の領域に対する補間フィルタは、前述した低域通過フィルタ効果がある補間フィルタが選択されることができる。ここで、前記ラスタースキャンオーダーによる前記16個の4×4サイズの領域の番号は、上の行から下の行へ順に、それぞれの行では左から右へ順に導出されることができる。即ち、前記現在ブロックの16個の4×4サイズの領域のうち上から1番目の行に含まれている領域は、左から右へ順に0番の領域、1番の領域、2番の領域及び3番の領域で表すことができ、2番目の行に含まれている領域は、左から右へ順に4番の領域、5番の領域、6番の領域及び7番の領域で表すことができ、3番目の行に含まれている領域は、左から右へ順に8番の領域、9番の領域、10番の領域及び11番の領域で表すことができ、4番目の行に含まれている領域は、左から右へ順に12番の領域、13番の領域、14番の領域及び15番の領域で表すことができる。一方、前記現在ブロックが分けられる領域のサイズ及び前記領域の各々に対する補間フィルタを示す情報がシグナリングされることもできる。この場合、デコーディング装置は、前記情報に基づいて前記現在ブロックを複数の領域に分けることができ、各領域の補間フィルタを選択することができる。
または、前記現在ブロックの対象サンプルと参照サンプルとの距離に基づいて前記補間フィルタが選択されることができる。即ち、前記対象サンプルと前記参照サンプルとの距離が特定の閾値以上かどうかに基づいて前記補間フィルタが選択されることができる。ここで、前記参照サンプルは、前記対象サンプルを基準にして前記現在ブロックのイントラ予測モードの予測方向に位置する隣接サンプルを示すことができる。
具体的に、例えば、前記現在ブロックのサイズがN×Nである時、前記現在ブロックの対象サンプルと参照サンプルとの距離がN/2以上の場合には、低域通過フィルタ効果がある補間フィルタに基づいて前記参照サンプルが導出されることができ、その以外の場合には精巧な補間フィルタに基づいて前記参照サンプルが導出されることができる。前記補間フィルタを選択するための前記特定の閾値は、前述した内容のように前記現在ブロックのサイズに基づいて導出されることができ、または前記現在ブロックのイントラ予測モード、正方形/非正方形ブロックの可否などに基づいて導出されることもできる。または、エンコーディング装置から前記特定の閾値に対する情報が送信されることができ、デコーディング装置は、受信された前記特定の閾値に対する情報に基づいて前記現在ブロックの前記特定の閾値を導出することができる。
図11は、前記現在ブロックの対象サンプルと参照サンプルとの距離に基づいて補間フィルタを選択する一例を示す。エンコーディング装置/デコーディング装置は、前記現在ブロックに対するイントラ予測モードを導出することができ、前記イントラ予測モードが方向性イントラ予測モードかどうかを判断することができる(S1100)。前記方向性イントラ予測モードは、角予測で表すこともできる。前記イントラ予測モードが非方向性イントラ予測モードである場合、エンコーディング/デコーディング装置は、前記イントラ予測モードに基づいて前記現在ブロックのイントラ予測を実行することができる。
前記イントラ予測モードが方向性イントラ予測モードである場合、エンコーディング装置/デコーディング装置は、前記現在ブロックの対象サンプルと参照サンプルとの距離が閾値(threshold)より小さいかどうかを判断することができる(S1110)。前記参照サンプルは、前記対象サンプルを基準にして前記現在ブロックのイントラ予測モードの予測方向に位置する隣接サンプルを示すことができる。また、前記閾値は、前述した内容のように前記現在ブロックのサイズ、前記現在ブロックのイントラ予測モード、または正方形/非正方形ブロックの可否などに基づいて導出されることができる。また、前記閾値に対する情報がシグナリングされることができ、前記シグナリングされた閾値に対する情報に基づいて前記現在ブロックの前記閾値が導出されることもできる。
前記現在ブロックの前記対象サンプルと前記参照サンプルとの距離が前記閾値より小さくない場合、即ち、前記対象サンプルと前記参照サンプルとの距離が前記閾値より大きいまたは同じ場合、エンコーディング装置/デコーディング装置は、ガウシアンフィルタ(gaussian filter)を前記現在ブロックの補間フィルタとして選択することができ、前記ガウシアンフィルタに基づいて前記現在ブロック内の対象サンプルの参照サンプルを導出することができる(S1120)。ここで、前記ガウシアンフィルタは、低域通過フィルタ効果がある補間フィルタのうちの一つであり、前記ガウシアンフィルタ以外の低域通過フィルタ効果がある補間フィルタに基づいて前記対象サンプルの参照サンプルが導出されることもできる。例えば、前記現在ブロックのサイズが前記閾値より大きいまたは同じ場合、エンコーディング装置/デコーディング装置は、前記現在ブロックの補間フィルタを線形フィルタ(linear filter)として選択することができ、前記線形フィルタに基づいて前記現在ブロック内の対象サンプルの参照サンプルを導出することができる。
前記現在ブロックの前記対象サンプルと前記参照サンプルとの距離が前記閾値より小さい場合、エンコーディング装置/デコーディング装置は、キュービックフィルタ(cubic filter)を前記現在ブロックの補間フィルタとして選択することができ、前記キュービックフィルタに基づいて前記参照サンプルを導出することができる(S1130)。ここで、前記キュービックフィルタは、前述した内容のように精巧な補間フィルタのうちの一つであり、前記キュービックフィルタ以外の精巧な補間フィルタに基づいて前記対象サンプルの前記参照サンプルが導出されることもできる。また、前記キュービックフィルタは、スプラインフィルタとも呼ばれる。
エンコーディング装置/デコーディング装置は、導出された前記対象サンプルの前記参照サンプルに基づいて前記対象サンプルの予測サンプルを生成することができる(S1140)。エンコーディング装置/デコーディング装置は、前記参照サンプルを複写して前記予測サンプルを生成することができる。前記参照サンプルが複写されて前記予測サンプルとして使用され、前記補間フィルタに基づいて前記予測サンプルが生成されるということができる。
また、前述した内容のように補間フィルタのうちの一つの補間フィルタが選択されて前記対象サンプルの参照サンプルが導出されることもできるが、複数の補間フィルタが使われて前記参照サンプルが導出されることもできる。
例えば、前記現在ブロックの対象サンプルの参照サンプルの位置が分数サンプル(fractional sample)の位置である場合、即ち、前記対象サンプルの前記参照サンプルが分数サンプルである場合、精巧な補間フィルタである第1の補間フィルタに基づいて第1の参照サンプルが生成されることができ、前述した低域通過フィルタ効果がある補間フィルタである第2の補間フィルタに基づいて第2の参照サンプルが生成されることができ、前記第1の補間フィルタ及び前記第2の補間フィルタと異なる補間フィルタである第3の補間フィルタに基づいて第3の参照サンプルが生成されることができる。前記第1の参照サンプル、前記第2の参照サンプル、及び前記第3の参照サンプルが生成された場合、前記第1の参照サンプル、前記第2の参照サンプル、及び前記第3の参照サンプルに基づいて前記対象サンプルの予測サンプルが生成されることができる。例えば、前記第1の参照サンプル及び前記第2の参照サンプルの平均が前記対象サンプルの予測サンプルとして導出されることができ、前記第1の参照サンプル及び前記第3の参照サンプルの平均が前記対象サンプルの予測サンプルとして導出されることもでき、または前記第2の参照サンプル及び前記第3の参照サンプルの平均が前記対象サンプルの予測サンプルとして導出されることもできる。または、前記第1の参照サンプル、前記第2の参照サンプル及び前記第3の参照サンプルの平均が前記対象サンプルの予測サンプルとして導出されることもできる。
または、前記第1の参照サンプル及び前記第2の参照サンプルの加重平均、即ち、前記第1の参照サンプル及び前記第2の参照サンプルの加重和(weighted sum)を介して前記対象サンプルの予測サンプルが導出されることができる。または、前記第1の参照サンプル及び前記第3の参照サンプルの加重和を介して前記対象サンプルの予測サンプルが導出されることもでき、前記第2の参照サンプル及び前記第3の参照サンプルの加重和を介して前記対象サンプルの予測サンプルが導出されることもでき、または前記第1の参照サンプル、前記第2の参照サンプル及び前記第3の参照サンプルの加重和を介して前記対象サンプルの予測サンプルが導出されることもできる。前述した例及び前述した例以外の前記第1の参照サンプル、前記第2の参照サンプル及び/または前記第3の参照サンプルの組み合わせに基づいて前記対象サンプルの予測サンプルが生成されることができる。
具体的に、例えば、次のように前記対象サンプルの予測サンプルが生成されることができる。前記現在ブロックに分数サンプルの位置の参照サンプルに基づいてイントラ予測が実行される方向性イントラ予測モードが実行される場合、整数サンプルの位置の隣接サンプルがキュービックフィルタに基づいて補間されて前記対象サンプルの第1の参照サンプルが導出されることができ、前記整数サンプルの位置の隣接サンプルがガウシアンフィルタに基づいて補間されて前記対象サンプルの第2の参照サンプルが導出されることができ、前記第1の参照サンプル及び前記第2の参照サンプルに基づいて前記対象サンプルの予測サンプルが生成されることができる。ここで、前記分数サンプルの位置の参照サンプルに基づいてイントラ予測が実行される方向性イントラ予測モードは、2番、18番、34番、50番及び66番のイントラ予測モードを除いた方向性イントラ予測モードのうちの一つを示すことができる。また、前記整数サンプルの位置の隣接サンプルは、前記現在ブロックの隣接サンプルのうち前記対象サンプルを基準にして前記現在ブロックの方向性イントラ予測モードの予測方向に位置する分数サンプルの位置に隣接する隣接サンプルを示すことができる。
または、他の例として、前記対象サンプルと前記参照サンプルとの距離が近いほどイントラ予測の正確度が高くて、前記対象サンプルと前記参照サンプルとの距離に基づいて精巧な補間フィルタである第1の補間フィルタに基づいて生成された第1の参照サンプルに対する第1の加重値及び低域通過フィルタ効果がある補間フィルタである第2の補間フィルタに基づいて生成された第2の参照サンプルに対する第2の加重値を導出し、前記第1の加重値及び前記第2の加重値に基づいて前記第1の参照サンプルと第2の参照サンプルを加重和して前記対象サンプルの予測サンプルを生成する方法が提案されることができる。例えば、前記第1の加重値は、前記対象サンプルと前記参照サンプルとの距離に反比例するように導出されることができ、前記第2の加重値は1から前記第1の加重値を引いた値として導出されることができる。または、この時に使われる前記第1の加重値及び前記第2の加重値は、小数点演算を避けるために整数単位にアップスケール(up-scaled)されて導出されることもできる。それによって、前記対象サンプルと前記参照サンプルとの距離が近いほど前記第1の加重値が大きい値として導出されることができ、前記対象サンプルと前記参照サンプルとの距離が遠いほど前記第1の加重値が小さい値として導出されることができる。前記対象サンプルと前記参照サンプルとの距離は、前記現在ブロックのイントラ予測モードの予測角度及び前記対象サンプルの位置に基づいて計算されることができる。または、前記ブロックのサイズ及びイントラ予測モードに対する表が予め格納されることができ、前記表が参照されて前記対象サンプルと前記参照サンプルとの距離が導出されることができる。一方、前述した実施例で開示された複数の補間フィルタに基づいて前記対象サンプルの参照サンプルを導出する方法は、特定の条件に基づいて選択的に適用されることができる。例えば、複数の補間フィルタに基づいて前記対象サンプルの前記参照サンプルを導出するかどうかは、前記現在ブロックのサイズ、前記現在ブロックのイントラ予測モード、または前記現在ブロックの隣接サンプル値の分散(variance)などに基づいて導出されることができる。または、エンコーディング装置から前記複数の補間フィルタに基づいて前記対象サンプルの前記参照サンプルを導出するかどうかを示すフラグが送信されることができ、前記フラグに基づいて前記複数の補間フィルタに基づいて前記対象サンプルの前記参照サンプルを導出するかどうかが決定されることができる。
図12は、前記複数の補間フィルタに基づいて前記現在ブロックの対象サンプルの参照サンプルを導出し、前記参照サンプルに基づいて前記対象サンプルの予測サンプルを導出する一例を示す。エンコーディング装置/デコーディング装置は、前記現在ブロックに対するイントラ予測モードを導出することができ、前記イントラ予測モードが方向性イントラ予測モードかどうかを判断することができる(S1200)。前記方向性イントラ予測モードは、角予測で表すこともできる。
前記イントラ予測モードが非方向性イントラ予測モードである場合、エンコーディング/デコーディング装置は、前記非方向性イントラ予測モードに基づいて前記現在ブロックのイントラ予測を実行することができる(S1210)。
前記イントラ予測モードが方向性イントラ予測モードである場合、エンコーディング装置/デコーディング装置は、キュービックフィルタ(cubic filter)に基づいて整数サンプルの位置の隣接サンプルを補間して前記対象サンプルの第1の参照サンプルを導出することができる(S1220)。ここで、前記整数サンプルの位置の隣接サンプルは、前記現在ブロックの隣接サンプルのうち前記対象サンプルを基準にして前記現在ブロックの方向性イントラ予測モードの予測方向に位置する分数サンプルの位置に隣接する隣接サンプルを示すことができる。エンコーディング装置/デコーディング装置は、前記第1の参照サンプルに基づいて前記対象サンプルのイントラ予測を実行することができる(S1230)。エンコーディング装置/デコーディング装置は、前記第1の参照サンプルを複写して第1の臨時予測サンプルを生成することができる。
前記イントラ予測モードが方向性イントラ予測モードである場合、エンコーディング装置/デコーディング装置は、ガウシアンフィルタ(Gaussian filter)に基づいて整数サンプルの位置の隣接サンプルを補間して前記対象サンプルの第2の参照サンプルを導出することができる(S1240)。エンコーディング装置/デコーディング装置は、前記第2の参照サンプルに基づいて前記対象サンプルのイントラ予測を実行することができる(S1240)。エンコーディング装置/デコーディング装置は、前記第2の参照サンプルを複写して前記第2の臨時予測サンプルを生成することができる。
エンコーディング装置/デコーディング装置は、前記第1の臨時予測サンプル及び前記第2の臨時予測サンプルを加重和して前記対象サンプルの予測サンプルを導出することができる(S1250)。前記予測サンプルは、前記第1の臨時予測サンプルに前記第1の臨時予測サンプルの第1の加重値αをかけた値と、前記第2の臨時予測サンプルに前記第2の臨時予測サンプルの第2の加重値1-αをかけた値と、の和として導出されることができる。前記第1の加重値は、前述した内容のように前記対象サンプルと参照サンプルとの距離に反比例するように導出されることができ、前記第2の加重値は、1から前記第1の加重値を引いた値として導出されることができる。または、この時に使われる前記第1の加重値及び前記第2の加重値は、小数点演算を避けるために整数単位にアップスケール(up-scaled)されて導出されることもできる。前記対象サンプルと前記参照サンプルとの距離は、前記現在ブロックのイントラ予測モードの予測角度及び前記対象サンプルの位置に基づいて計算されることができる。または、前記ブロックのサイズ及びイントラ予測モードに対する表が予め格納されることができ、前記表が参照されて前記対象サンプルと前記参照サンプルとの距離が導出されることができる。
図13は、本発明によるエンコーディング装置によるビデオエンコーディング方法の概略を示す。図13で開示された方法は、図1で開示されたエンコーディング装置により実行されることができる。具体的に、例えば、図13のS1300乃至S1340は、前記エンコーディング装置の予測部により実行されることができ、S1350は、前記エンコーディング装置のエントロピーエンコーディング部により実行されることができる。
エンコーディング装置は、現在ブロックに対するイントラ予測モードを決定する(S1300)。エンコーディング装置は、多様なイントラ予測モードを実行することで最適のRDコストを有するイントラ予測モードを前記現在ブロックに対するイントラ予測モードとして導出することができる。前記イントラ予測モードは、2個の非方向性予測モードと33個の方向性予測モードのうちの一つである。前記2個の非方向性予測モードは、イントラDCモード及びイントラプラナーモードを含むことができることは、前述の通りである。または、前記イントラ予測モードは、2個の非方向性イントラ予測モードと65個の方向性イントラ予測モードのうちの一つである。前記2個の非方向性予測モードは、イントラDCモード及びイントラプラナーモードを含むことができることは、前述の通りである。また、前記65個の方向性イントラ予測モードは、垂直の方向性イントラ予測モードと水平方向性イントラ予測モードを含むことができる。前記垂直の方向性イントラ予測モードは、34番のイントラ予測モード乃至66番のイントラ予測モードを含むことができ、前記水平方向性イントラ予測モードは、2番のイントラ予測モード乃至33番のイントラ予測モードを含むことができる。
エンコーディング装置は、前記現在ブロックの左側隣接サンプル及び上側隣接サンプルを含む隣接サンプルを導出する(S1310)。エンコーディング装置は、前記現在ブロックの隣接サンプルを導出することができる。前記隣接サンプルは、前記左側隣接サンプル及び前記上側隣接サンプルを含むことができる。また、前記隣接サンプルは、左上側隣接サンプルを含むことができる。前記左側隣接サンプル、前記左上側隣接サンプル、及び前記上側隣接サンプルは、前記現在ブロックのデコーディング時点に既に復元された隣接ブロックから導出されることができる。前記現在ブロックの2N個の前記上側隣接サンプル、左上側隣接サンプル、及び2N個の前記左側隣接サンプルが導出されることができる。ここで、前記現在ブロックのサイズがN×Nであり、前記現在ブロックの左上段(top-left)サンプルのx成分が0及びy成分が0である場合、前記左側隣接サンプルはp[-1][0]乃至p[-1][2N-1]、前記左上側隣接サンプルはp[-1][-1]、前記上側隣接サンプルはp[0][-1]乃至p[2N-1][-1]である。
または、前記現在ブロックのサイズがM×Nであり、前記現在ブロックの左上段(top-left)サンプルのx成分が0及びy成分が0である場合、前記現在ブロックのM+N個の前記上側隣接サンプル、左上側隣接サンプル、及びM+N個の前記左側隣接サンプルが導出されることができる。前記現在ブロックのサイズがM×Nの非正方形状であり、前記現在ブロックの左上段(top-left)サンプルのx成分が0及びy成分が0である場合、前記左側隣接サンプルはp[-1][0]乃至p[-1][M+N-1]、前記左上側隣接サンプルはp[-1][-1]、前記上側隣接サンプルはp[0][-1]乃至p[M+N-1][-1]である。
エンコーディング装置は、前記現在ブロックの対象サンプルの位置及びイントラ予測モードの予測角度に基づいて、前記隣接サンプルの中で前記対象サンプルの予測のための参照サンプルを導出する(S1320)。エンコーディング装置は、前記現在ブロックの対象サンプルの位置及びイントラ予測モードの予測角度に基づいて前記対象サンプルに対する参照サンプルの位置を導出することができ、前記参照サンプルの位置が分数サンプル(fractional sample)の位置である場合、前記現在ブロックの対象サンプルの位置及びイントラ予測モードの予測角度に基づいて導出された位置に隣接して位置する隣接サンプルを前記対象サンプルの前記参照サンプルとして導出することができる。即ち、前記現在ブロックの対象サンプルの位置及びイントラ予測モードの予測角度に基づいて複数の隣接サンプルを前記対象サンプルの前記参照サンプルとして導出することができる。例えば、4個の隣接サンプルが前記対象サンプルの前記参照サンプルとして導出されることができる。ここで、前記対象サンプルは、イントラ予測が実行される現在ブロック内サンプルを示すことができる。前記イントラ予測モードの予測角度は、前述した表1に基づいて導出されることができ、intraPredAngleは、前記イントラ予測モードから導出された予測角度を示す変数である。
エンコーディング装置は、前記対象サンプルに対する補間フィルタ(interpolation filter)を決定する(S1330)。エンコーディング装置は、前記対象サンプルに対する前記補間フィルタを前記現在ブロックのサイズ及び/または前記現在ブロックの前記イントラ予測モードに基づいて決定できる。また、例えば、前記補間フィルタは、前記参照サンプルの位置が分数サンプル(fractional sample)の位置である場合、即ち、複数の参照サンプルが導出された場合に決定されることができる。
一例として、前記対象サンプルに対する前記補間フィルタは、前記現在ブロックのサイズに基づいて決定されることができる。例えば、前記現在ブロックのサイズが4×4である場合、精巧な補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができる。具体的に、前記現在ブロックのサイズが4×4である場合、キュービックフィルタ(cubic filter)が前記対象サンプルに対する前記補間フィルタに決定されることができる。前記キュービックフィルタは、精巧な補間フィルタのうちの一つであり、前記キュービックフィルタは、スプラインフィルタ(spline filter)とも呼ばれる。
また、前記現在ブロックが正方形ブロックである場合には幅と高さが同じであるため、即ち、前記現在ブロックは、N×Nサイズの正方形ブロックであるため、補間フィルタを選択するにあたって基準となる大きさ(即ち、基準となる値)は、いかなる予測方向の方向性イントラ予測モードに対してもNになることができる。一方、前記現在ブロックが非正方形ブロックである場合、即ち、前記現在ブロックがM×Nサイズの非正方形ブロックである場合、前記現在ブロックのイントラ予測モードが垂直の方向性を有するイントラ予測モードである時、補間フィルタを選択する基準となるブロックのサイズ(即ち、基準となる値)は、Mになることができる。同様に、前記現在ブロックがM×Nサイズの非正方形ブロックであり、前記現在ブロックのイントラ予測モードが水平方向性を有するイントラ予測モードである時、補間フィルタを選択する基準となる前記現在ブロックのサイズ(即ち、基準となる値)は、Nになることができる。または、それに対し、前記現在ブロックがM×Nサイズの非正方形ブロックであり、前記現在ブロックのイントラ予測モードが垂直の方向性を有するイントラ予測モードである時、前記現在ブロックの補間フィルタは、Nを基準にして選択されることができ、同様に、前記現在ブロックがM×Nサイズの非正方形ブロックであり、前記現在ブロックのイントラ予測モードが水平方向性を有するイントラ予測モードである時、前記現在ブロックの補間フィルタは、Mを基準にして選択されることもできる。ただし、以後記述する具体的な例示では、M×Nのサイズを有する前記現在ブロックに垂直の方向性を有するイントラ予測モードが適用される場合、補間フィルタを選択する基準となる前記現在ブロックのサイズは、Mで表すことができ、同様に、前記現在ブロックに水平方向性を有するイントラ予測モードが適用される場合、前記現在ブロックのサイズは、Nで表すことができる。ここで、イントラ予測モードが65個の方向性イントラ予測モード及び2個の非方向性イントラ予測モードを含む場合、前記垂直の方向性を有するイントラ予測モードは、34番乃至66番のイントラ予測モードを示すことができ、前記水平方向性を有するイントラ予測モードは、2番乃至33番のイントラ予測モードを示すことができる。
例えば、前記現在ブロックの形態とイントラ予測モードの方向性によって表れる前記現在ブロックのサイズが特定の値より小さいかどうかが判断されることができ、前記現在ブロックのサイズが前記特定の値より小さい場合、精巧な補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができ、前記現在ブロックのサイズが前記特定の値より小さくない場合、低域通過フィルタ効果がある補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができる。具体的に、前記現在ブロックのサイズが前記特定の値より小さい場合、前記キュービックフィルタが前記対象サンプルに対する前記補間フィルタに決定されることができ、前記現在ブロックのサイズが前記特定の値より小さくない場合、ガウシアンフィルタ(gaussian filter)が前記対象サンプルに対する前記補間フィルタに決定されることができる。または、前記現在ブロックのサイズが前記特定の値より小さくない場合、リニアフィルタ(linear filter)が前記対象サンプルに対する前記補間フィルタに決定されることができる。前記低域通過フィルタ効果がある補間フィルタは、前記ガウシアンフィルタ及びリニアフィルタを含むことができる。ここで、前記特定の値は、4、8、16または32等に設定されることができる。
具体的に、前記現在ブロックの幅(width)と高さ(height)が同じ場合(即ち、前記現在ブロックが正方形ブロックである場合)、前記現在ブロックの幅(width)が特定の値より小さいかどうかが判断されることができ、前記現在ブロックの幅(width)が前記特定の値より小さい場合、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)として導出され、前記現在ブロックの幅(width)が前記特定の値より小さくない場合、前記対象サンプルに対する前記補間フィルタは、ガウシアンフィルタ(gaussian filter)として導出されることができる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり(即ち、前記現在ブロックが非正方形ブロックであり)、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、前記現在ブロックの幅が特定の値より小さいかどうかが判断されることができ、前記現在ブロックの幅が前記特定の値より小さい場合、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)として導出され、前記現在ブロックの幅が前記特定の値より小さくない場合、前記対象サンプルに対する前記補間フィルタは、ガウシアンフィルタ(gaussian filter)として導出されることができる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり(即ち、前記現在ブロックが非正方形ブロックであり)、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、前記現在ブロックの高さが特定の値より小さいかどうかが判断されることができ、前記現在ブロックの高さが前記特定の値より小さい場合、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタとして導出され、前記現在ブロックの高さが前記特定の値より小さくない場合、前記対象サンプルに対する前記補間フィルタは、ガウシアンフィルタとして導出されることができる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり(即ち、前記現在ブロックが非正方形ブロックであり)、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、前記現在ブロックの高さが特定の値より小さいかどうかが判断されることができ、前記現在ブロックの高さが前記特定の値より小さい場合、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)として導出され、前記現在ブロックの高さが前記特定の値より小さくない場合、前記対象サンプルに対する前記補間フィルタは、ガウシアンフィルタ(gaussian filter)として導出されることができる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり(即ち、前記現在ブロックが非正方形ブロックであり)、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、前記現在ブロックの幅が特定の値より小さいかどうかが判断されることができ、前記現在ブロックの幅が前記特定の値より小さい場合、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタとして導出され、前記現在ブロックの幅が前記特定の値より小さくない場合、前記対象サンプルに対する前記補間フィルタは、ガウシアンフィルタとして導出されることができる。
他の一例として、前記対象サンプルに対する前記補間フィルタは、前記現在ブロックのイントラ予測モードに基づいて決定されることができる。
例えば、前記現在ブロックのイントラ予測モードの予測角度が特定の値より小さいかどうかが判断されることができ、前記イントラ予測モードの前記予測角度が前記特定の値より小さい場合、精巧な補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができ、前記イントラ予測モードの前記予測角度が前記特定の値より小さくない場合、低域通過フィルタ効果がある補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができる。具体的に、前記イントラ予測モードの前記予測角度が前記特定の値より小さい場合、キュービックフィルタ(cubic filter)が前記対象サンプルに対する前記補間フィルタに決定されることができ、前記イントラ予測モードの前記予測角度が前記特定の値より小さくない場合、ガウシアンフィルタ(gaussian filter)が前記対象サンプルに対する前記補間フィルタに決定されることができる。または、前記イントラ予測モードの前記予測角度が前記特定の値より小さくない場合、リニアフィルタ(linear filter)が前記対象サンプルに対する前記補間フィルタに決定されることができる。前記低域通過フィルタ効果がある補間フィルタは、前記ガウシアンフィルタ及びリニアフィルタを含むことができる。ここで、前記特定の値は、4、8、16または32等に設定されることができる。前記イントラ予測モードの前記予測角度は、前述した表1に基づいて導出されることができ、intraPredAngleは、前記イントラ予測モードの前記予測角度を示すことができる。また、一例として、前記特定の値は、11に設定されることができる。
他の一例として、前記対象サンプルに対する前記補間フィルタは、前記現在ブロックのサイズ及び前記イントラ予測モードに基づいて決定されることができる。前記現在ブロックが正方形ブロックである場合には幅と高さが同じであるため、即ち、前記現在ブロックは、N×Nサイズの正方形ブロックであるため、補間フィルタを選択するにあたって基準となる大きさ(即ち、基準となる値)は、いかなる予測方向の方向性イントラ予測モードに対してもNになることができる。一方、前記現在ブロックが非正方形ブロックである場合、即ち、前記現在ブロックがM×Nサイズの非正方形ブロックである場合、前記現在ブロックのイントラ予測モードが垂直の方向性を有するイントラ予測モードである時、補間フィルタを選択する基準となるブロックのサイズ(即ち、基準となる値)は、Mになることができる。同様に、前記現在ブロックがM×Nサイズの非正方形ブロックであり、前記現在ブロックのイントラ予測モードが水平方向性を有するイントラ予測モードである時、補間フィルタを選択する基準となる前記現在ブロックのサイズ(即ち、基準となる値)は、Nになることができる。または、それに対し、前記現在ブロックがM×Nサイズの非正方形ブロックであり、前記現在ブロックのイントラ予測モードが垂直の方向性を有するイントラ予測モードである時、前記現在ブロックの補間フィルタは、Nを基準にして選択されることができ、同様に、前記現在ブロックがM×Nサイズの非正方形ブロックであり、前記現在ブロックのイントラ予測モードが水平方向性を有するイントラ予測モードである時、前記現在ブロックの補間フィルタは、Mを基準にして選択されることもできる。ただし、以後記述する具体的な例示ではM×Nのサイズを有する前記現在ブロックに垂直の方向性を有するイントラ予測モードが適用される場合、補間フィルタを選択する基準となる前記現在ブロックのサイズは、Mで表すことができ、同様に、前記現在ブロックに水平方向性を有するイントラ予測モードが適用される場合、前記現在ブロックのサイズは、Nで表すことができる。ここで、イントラ予測モードが65個の方向性イントラ予測モード及び2個の非方向性イントラ予測モードを含む場合、前記垂直の方向性を有するイントラ予測モードは、34番乃至66番のイントラ予測モードを示すことができ、前記水平方向性を有するイントラ予測モードは、2番乃至33番のイントラ予測モードを示すことができる。
例えば、エンコーディング装置は、前記現在ブロックのサイズが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックのサイズが前記第1の特定の値より小さくない場合、低域通過フィルタ効果がある補間フィルタを前記対象サンプルに対する前記補間フィルタに決定できる。具体的に、前記現在ブロックのサイズが前記第1の特定の値より小さくない場合、エンコーディング装置は、ガウシアンフィルタ(gaussian filter)を前記補間フィルタに決定できる。または、前記現在ブロックのサイズが前記第1の特定の値より小さくない場合、エンコーディング装置は、リニアフィルタ(linear filter)を前記補間フィルタに決定できる。
具体的に、前記現在ブロックの幅(width)と高さ(height)が同じ場合、エンコーディング装置は、前記現在ブロックの幅(width)が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅(width)が前記第1の特定の値より小さくない場合、ガウシアンフィルタまたはリニアフィルタを前記対象サンプルに対する前記補間フィルタに決定できる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さくない場合、ガウシアンフィルタまたはリニアフィルタを前記対象サンプルに対する前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さくない場合、ガウシアンフィルタまたはリニアフィルタを前記対象サンプルに対する前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さくない場合、ガウシアンフィルタまたはリニアフィルタを前記対象サンプルに対する前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さくない場合、ガウシアンフィルタまたはリニアフィルタを前記対象サンプルに対する前記補間フィルタに決定できる。
前記現在ブロックのサイズが前記第1の特定の値より小さい場合、エンコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができ、前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、精巧な補間フィルタを前記対象サンプルに対する補間フィルタに決定できる。具体的に、前記現在ブロックのサイズが前記第1の特定の値より小さい場合、エンコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
具体的に、前記現在ブロックの幅(width)と高さ(height)が同じ場合に前記現在ブロックの幅(width)が前記第1の特定の値より小さい場合、エンコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができ、前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、エンコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さい場合、エンコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、エンコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さい場合、エンコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、エンコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さい場合、エンコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、エンコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さい場合、エンコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、エンコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
また、前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、エンコーディング装置は、低域通過フィルタ効果がある補間フィルタを前記対象サンプルに対する前記補間フィルタに決定できる。具体的に、前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、エンコーディング装置は、ガウシアンフィルタ(gaussian filter)を前記補間フィルタに決定できる。または、前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、エンコーディング装置は、リニアフィルタ(linear filter)を前記補間フィルタに決定できる。
具体的に、前記現在ブロックの幅(width)と高さ(height)が同じ場合に前記現在ブロックの幅(width)が前記第1の特定の値より小さい場合、エンコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができ、前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、エンコーディング装置は、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記補間フィルタに決定できる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さい場合、エンコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、エンコーディング装置は、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さい場合、エンコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、エンコーディング装置は、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記補間フィルタに決定できる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さい場合、エンコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、エンコーディング装置は、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、エンコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さい場合、エンコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、エンコーディング装置は、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記補間フィルタに決定できる。
他の一例として、前記現在ブロックが複数の領域に分けられ、各領域と前記現在ブロックの隣接サンプルとの距離に基づいて各領域の補間フィルタが決定されることができる。この場合、前記対象サンプルに対する前記補間フィルタは、前記対象サンプルが含まれている領域の補間フィルタとして導出されることができる。また、前記現在ブロックのサイズが特定のサイズ以上である場合、前記現在ブロックが複数の領域に分けられる。具体的に、前記領域のうち、前記現在ブロックの隣接サンプルとの距離が特定の値より近い領域に対する補間フィルタは、精巧な補間フィルタに決定されることができ、前記領域のうち、前記現在ブロックの隣接サンプルとの特定の値より遠い領域に対する補間フィルタは、低域通過フィルタ効果がある補間フィルタに決定されることができる。
一方、前記現在ブロックが分けられる前記複数の領域のサイズは、予め設定されることができる。または、前記複数の領域のサイズは、前記現在ブロックのサイズ、イントラ予測モードなどに基づいて導出されることもできる。例えば、前記現在ブロックのイントラ予測モードが35番乃至66番のイントラ予測モードのうちの一つである場合、前記現在ブロックが分けられる領域のサイズは、4×4サイズとして導出されることができる。この場合、前記現在ブロックのサイズが16×16サイズである場合、前記現在ブロックは、16個の4×4サイズの領域に分けられ、前記領域のうち、ラスタースキャンオーダー(raster scan order)上で、0乃至7番までの領域に対する補間フィルタは、精巧な補間フィルタに決定されることができ、その以外の領域に対する補間フィルタは、低域通過フィルタ効果がある補間フィルタに決定されることができる。例えば、前記領域のうち、ラスタースキャンオーダー(raster scan order)上で、0乃至7番までの領域に対する補間フィルタは、キュービックフィルタ(cubic filter)に決定されることができ、その以外の領域に対する補間フィルタは、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)に決定されることができる。ここで、前記ラスタースキャンオーダーによる前記16個の4×4サイズの領域の番号は、上の行から下の行へ順に、それぞれの行では左から右へ順に導出されることができる。即ち、前記現在ブロックの16個の4×4サイズの領域のうち、上から1番目の行に含まれている領域は、左から右へ順に0番の領域、1番の領域、2番の領域及び3番の領域で表すことができ、2番目の行に含まれている領域は、左から右へ順に4番の領域、5番の領域、6番の領域及び7番の領域で表すことができ、3番目の行に含まれている領域は、左から右へ順に8番の領域、9番の領域、10番の領域及び11番の領域で表すことができ、4番目の行に含まれている領域は、左から右へ順に12番の領域、13番の領域、14番の領域及び15番の領域で表すことができる。一方、前記現在ブロックが分けられる領域のサイズ及び前記各領域の補間フィルタを示す情報が生成されることができる。
他の一例として、前記対象サンプルに対する前記補間フィルタは、前記対象サンプルと前記参照サンプルとの間の距離に基づいて決定されることができる。ここで、前記対象サンプルと前記参照サンプルとの間の距離は、前記対象サンプルの位置と前記現在ブロックのイントラ予測モードの予測角度に基づいて導出されることができる。例えば、前記対象サンプルの位置と前記イントラ予測モードの予測角度による三角関数値(例えば、tanθ)に基づいて計算されることができる。または、ブロックのサイズ及びイントラ予測モードに対するあらかじめ定義された表に基づいて導出されることができる。または、前記対象サンプルと前記参照サンプルとの間の距離は、垂直距離または水平距離を示すこともできる。即ち、前記対象サンプルと前記参照サンプルとの間の距離は、垂直距離に基づいて導出されることもでき、または水平距離に基づいて導出されることもできる。例えば、前記対象サンプルと前記参照サンプルとの間の距離が垂直距離を示す場合、前記対象サンプルのy成分に基づいて前記距離が導出されることができる。また、前記対象サンプルと前記参照サンプルとの間の距離が水平距離を示す場合、前記対象サンプルのx成分に基づいて前記距離が導出されることができる。
例えば、エンコーディング装置は、前記対象サンプルと前記参照サンプルとの間の距離を導出することができ、前記距離が特定の値より小さいかどうかを判断することができる。前記距離が特定の値より小さい場合、エンコーディング装置は、精巧な補間フィルタを前記対象サンプルに対する前記補間フィルタに決定でき、前記距離が特定の値より小さくない場合、低域通過フィルタ効果がある補間フィルタを前記対象サンプルに対する前記補間フィルタに決定できる。具体的に、前記距離が特定の値より小さい場合、エンコーディング装置は、キュービックフィルタ(cubic filter)を前記対象サンプルに対する前記補間フィルタに決定でき、前記距離が特定の値より小さくない場合、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記対象サンプルに対する前記補間フィルタに決定できる。前記特定の値は、前記現在ブロックのサイズに基づいて導出されることができる。または、前記特定の値は、前記現在ブロックのイントラ予測モード、または正方形/非正方形ブロックの可否などに基づいて導出されることもできる。例えば、前記現在ブロックのサイズがN×Nである場合、前記特定の値は、N/2として導出されることができる。また、前記特定の値に対する情報が生成されることができ、エントロピーエンコーディングされて送信されることができる。
他の一例として、複数の補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができる。例えば、前記対象サンプルに対する前記補間フィルタは、精巧な補間フィルタのうちの一つ及び低域通過フィルタ効果がある補間フィルタのうちの一つを含むことができる。または、前記対象サンプルに対する前記補間フィルタは、精巧な補間フィルタのうちの一つ及び低域通過フィルタ効果がある補間フィルタのうち二つを含むことができる。または、前記対象サンプルに対する前記補間フィルタは、精巧な補間フィルタのうち二つ及び低域通過フィルタ効果がある補間フィルタのうちの一つを含むことができる。具体的に、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)及びガウシアンフィルタ(Gaussian filter)を含むことができる。
エンコーディング装置は、前記補間フィルタ及び前記参照サンプルに基づいて前記対象サンプルの予測サンプルを導出する(S1340)。エンコーディング装置は、前記対象サンプルの位置及び前記イントラ予測モードの予測角度に基づいて前記補間フィルタのフィルタ係数を導出することができ、前記フィルタ係数及び前記参照サンプルに基づいて前記対象サンプルの前記予測サンプルを導出することができる。例えば、前記現在ブロックの前記隣接サンプルのうち、4個の隣接サンプルが前記参照サンプルとして導出されることができ、前記補間フィルタの4個のフィルタ係数が導出されることができる。エンコーディング装置は、前記フィルタ係数に基づいて前記参照サンプルを補間(interpolation)して前記予測サンプルを導出することができる。前記予測サンプルは、前述した数式1に基づいて導出されることができる。
また、複数の補間フィルタが前記対象サンプルに対する前記補間フィルタに決定された場合、エンコーディング装置は、それぞれの補間フィルタに基づいて(臨時)予測サンプルを導出することができ、導出された(臨時)予測サンプルに基づいて前記対象サンプルの予測サンプルを導出することができる。例えば、前記対象サンプルの前記予測サンプルは、前記(臨時)予測サンプルの平均を介して導出されることができ、または前記(臨時)予測サンプルの加重和(weighted sum)を介して導出されることができる。一方、前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されるかどうかは、前記現在ブロックのサイズ、前記現在ブロックの前記イントラ予測モード、または前記現在ブロックの隣接サンプル値の分散(variance)などに基づいて導出されることができる。また、前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されるかどうかを示すフラグが生成されることができる。
例えば、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)及びガウシアンフィルタ(Gaussian filter)を含むことができる。この場合、エンコーディング装置は、前記対象サンプルの位置及び前記イントラ予測モードの予測角度に基づいて前記キュービックフィルタのフィルタ係数を導出することができ、前記対象サンプルの位置及び前記イントラ予測モードの予測角度に基づいて前記ガウシアンフィルタのフィルタ係数を導出することができる。エンコーディング装置は、前記キュービックフィルタの前記フィルタ係数及び前記参照サンプルに基づいて前記対象サンプルに対する第1の予測サンプルを導出することができ、前記ガウシアンフィルタの前記フィルタ係数及び前記参照サンプルに基づいて前記対象サンプルに対する第2の予測サンプルを導出することができ、前記第1の予測サンプル及び前記第2の予測サンプルに基づいて前記対象サンプルの前記予測サンプルを導出することができる。前記対象サンプルの前記予測サンプルは、前記第1の予測サンプルと前記第2の予測サンプルとの平均を介して導出されることができる。または、前記対象サンプルの前記予測サンプルは、前記第1の予測サンプルと前記第2の予測サンプルとの加重和(weighted sum)を介して導出されることができる。この場合、前記第1の予測サンプルに対する加重値は、前記対象サンプルと前記参照サンプルとの間の距離に反比例することがあり、前記第2の予測サンプルに対する加重値は、1から前記第1の予測サンプルに対する加重値を引いた値として導出されることができる。または、この時に使われる前記第1の加重値及び前記第2の加重値は、小数点演算を避けるために整数単位にアップスケール(up-scaled)されて導出されることもできる。
また、例えば、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)及びリニアフィルタ(linear filter)を含むことができる。この場合、エンコーディング装置は、前記参照サンプルの位置に基づいて前記キュービックフィルタのフィルタ係数を導出することができ、前記参照サンプルの位置に基づいて前記リニアフィルタのフィルタ係数を導出することができる。エンコーディング装置は、前記キュービックフィルタの前記フィルタ係数及び前記参照サンプルに基づいて前記対象サンプルに対する第1の予測サンプルを導出することができ、前記リニアフィルタの前記フィルタ係数及び前記参照サンプルに基づいて前記対象サンプルに対する第2の予測サンプルを導出することができ、前記第1の予測サンプル及び前記第2の予測サンプルに基づいて前記対象サンプルの前記予測サンプルを導出することができる。前記対象サンプルの前記予測サンプルは、前記第1の予測サンプルと前記第2の予測サンプルとの平均を介して導出されることができる。または、前記対象サンプルの前記予測サンプルは、前記第1の予測サンプルと前記第2の予測サンプルとの加重和(weighted sum)を介して導出されることができる。この場合、前記第1の予測サンプルに対する加重値は、前記対象サンプルと前記参照サンプルとの間の距離に反比例することがあり、前記第2の予測サンプルに対する加重値は、1から前記第1の予測サンプルに対する加重値を引いた値として導出されることができる。または、この時に使われる前記第1の加重値及び前記第2の加重値は、小数点演算を避けるために整数単位にアップスケール(up-scaled)されて導出されることもできる。
他の一例として、前記現在ブロックにMPM(most probable mode)モードが適用されて前記現在ブロックの隣接ブロックのイントラ予測モードに基づいて前記現在ブロックのイントラ予測モードが導出され、前記現在ブロックの前記イントラ予測モードがプラナー(Planar)モード、DCモードでない方向性イントラ予測モードである場合、前記対象サンプルに対する補間フィルタは、前記隣接前記MPMモードを介して選択された前記隣接ブロックに基づいて決定されることができる。即ち、隣接ブロックに使われた補間フィルタが、前記対象サンプルに対する補間フィルタとして導出されることができる。ここで、前記現在ブロックに前記MPMモードが適用される場合、エンコーディング装置は、前記現在ブロックの左側または上側隣接ブロックに対するイントラ予測モードに基づいてMPMリストを決定し、前記MPMリストに基づいて前記イントラ予測モードを決定することができる。
エンコーディング装置は、前記現在ブロックに対する予測情報を生成してエンコーディングして出力する(S1350)。エンコーディング装置は、前記現在ブロックに対する予測情報をエンコーディングしてビットストリームの形態で出力できる。前記予測情報は、前記現在ブロックの前記イントラ予測モードに関する情報を含むことができる。エンコーディング装置は、前記イントラ予測モードを示すイントラ予測モードに関する情報を生成し、エンコーディングしてビットストリームの形態で出力できる。前記イントラ予測モードに関する情報は、前記現在ブロックに対するイントラ予測モードを直接的に示す情報を含むこともでき、または前記現在ブロックの左側または上側ブロックのイントラ予測モードに基づいて導出されたイントラ予測モード候補リストのうちいずれか一つの候補を示す情報を含むこともできる。前記イントラ予測モード候補リストは、前記MPMリストを示すことができる。
また、前記現在ブロックが複数の領域に分けられる場合、前記予測情報は、前記現在ブロックが分けられる領域のサイズ及び前記各領域の補間フィルタを示す情報を含むことができる。また、前記対象サンプルに対する前記補間フィルタが、前記現在ブロックのサイズ、前記現在ブロックのイントラ予測モード、または前記対象サンプルと前記参照サンプルとの間の距離に基づいて選択される場合、前記予測情報は、前記対象サンプルに対する前記補間フィルタの選択に使われる前記特定の値に対する情報を含むことができる。前記補間フィルタが、前記現在ブロックのサイズ及び前記現在ブロックのイントラ予測モードに基づいて選択される場合、前記予測情報は、第1の特定の値に対する情報及び第2の特定の値に対する情報を含むことができる。また、前記予測情報は、前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されるかどうかを示すフラグを含むことができる。前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されることを示す場合、複数の補間フィルタに基づいて前記対象サンプルに対する予測サンプルが導出されることができ、前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されないことを示す場合、前記複数の補間フィルタに基づいて前記対象サンプルに対する予測サンプルが導出されない。例えば、前記フラグの値が1である場合、前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されることを示すことができ、前記フラグの値が0である場合、前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されないことを示すことができる。前記予測情報は、VPS(video parameter set)、SPS(sequence parameter set)、PPS(picture parameter set)、またはスライスセグメントヘッダ(slice segment header)を介してシグナリングされることができ、またはブロック単位にシグナリングされることもできる。
図14は、本発明によるデコーディング装置によるビデオデコーディング方法の概略を示す。図14で開示された方法は、図4で開示されたデコーディング装置により実行されることができる。具体的に、例えば、図14のS1400乃至S1440は、前記デコーディング装置の予測部により実行されることができる。
デコーディング装置は、現在ブロックに対するイントラ予測モードを導出する(S1400)。デコーディング装置は、ビットストリームを介して前記現在ブロックに対する予測情報を取得することができる。前記予測情報は、前記現在ブロックに対するイントラ予測モードを直接的に示す情報を含むこともでき、または前記現在ブロックの左側または上側ブロックのイントラ予測モードに基づいて導出されたイントラ予測モード候補リストのうちいずれか一つの候補を示す情報を含むこともできる。前記イントラ予測モード候補リストは、MPM候補リストともいう。デコーディング装置は、前記取得された予測情報に基づいて前記現在ブロックに対するイントラ予測モードを導出することができる。前記イントラ予測モードは、2個の非方向性予測モードと33個の方向性予測モードのうちの一つである。前記2個の非方向性予測モードは、イントラDCモード及びイントラプラナーモードを含むことができることは、前述の通りである。または、前記イントラ予測モードは、2個の非方向性イントラ予測モードと65個の方向性イントラ予測モードのうちの一つである。前記2個の非方向性予測モードは、イントラDCモード及びイントラプラナーモードを含むことができることは、前述の通りである。また、前記65個の方向性イントラ予測モードは、垂直の方向性イントラ予測モードと水平方向性イントラ予測モードを含むことができる。前記垂直の方向性イントラ予測モードは、34番のイントラ予測モード乃至66番のイントラ予測モードを含むことができ、前記水平方向性イントラ予測モードは、2番のイントラ予測モード乃至33番のイントラ予測モードを含むことができる。
デコーディング装置は、前記現在ブロックの左側隣接サンプル及び上側隣接サンプルを含む隣接サンプルを導出する(S1410)。デコーディング装置は、前記現在ブロックの隣接サンプルを導出することができる。前記隣接サンプルは、前記左側隣接サンプル及び前記上側隣接サンプルを含むことができる。また、前記隣接サンプルは、左上側隣接サンプルを含むことができる。前記左側隣接サンプル、前記左上側隣接サンプル、及び前記上側隣接サンプルは、前記現在ブロックのデコーディング時点に既に復元された隣接ブロックから導出されることができる。前記現在ブロックの2N個の前記上側隣接サンプル、左上側隣接サンプル、及び2N個の前記左側隣接サンプルが導出されることができる。ここで、前記現在ブロックのサイズがN×Nであり、前記現在ブロックの左上段(top-left)サンプルのx成分が0及びy成分が0である場合、前記左側隣接サンプルはp[-1][0]乃至p[-1][2N-1]、前記左上側隣接サンプルはp[-1][-1]、前記上側隣接サンプルはp[0][-1]乃至p[2N-1][-1]である。
または、前記現在ブロックのサイズがM×Nであり、前記現在ブロックの左上段(top-left)サンプルのx成分が0及びy成分が0である場合、前記現在ブロックのM+N個の前記上側隣接サンプル、左上側隣接サンプル、及びM+N個の前記左側隣接サンプルが導出されることができる。前記現在ブロックのサイズがM×Nの非正方形状であり、前記現在ブロックの左上段(top-left)サンプルのx成分が0及びy成分が0である場合、前記左側隣接サンプルはp[-1][0]乃至p[-1][M+N-1]、前記左上側隣接サンプルはp[-1][-1]、前記上側隣接サンプルはp[0][-1]乃至p[M+N-1][-1]である。
デコーディング装置は、前記現在ブロックの対象サンプルの位置及びイントラ予測モードの予測角度に基づいて、前記隣接サンプルのうち、前記対象サンプルの予測のための参照サンプルを導出する(S1420)。デコーディング装置は、前記現在ブロックの対象サンプルの位置及びイントラ予測モードの予測角度に基づいて前記対象サンプルに対する参照サンプルの位置を導出することができ、前記参照サンプルの位置が分数サンプル(fractional sample)の位置である場合、前記現在ブロックの対象サンプルの位置及びイントラ予測モードの予測角度に基づいて導出された位置に隣接して位置する隣接サンプルを前記対象サンプルの前記参照サンプルとして導出することができる。即ち、前記現在ブロックの対象サンプルの位置及びイントラ予測モードの予測角度に基づいて複数の隣接サンプルを前記対象サンプルの前記参照サンプルとして導出することができる。例えば、4個の隣接サンプルが前記対象サンプルの前記参照サンプルとして導出されることができる。ここで、前記対象サンプルは、イントラ予測が実行される現在ブロック内サンプルを示すことができる。前記イントラ予測モードの予測角度は、前述した表1に基づいて導出されることができ、intraPredAngleは、前記イントラ予測モードから導出された予測角度を示す変数である。
デコーディング装置は、前記対象サンプルに対する補間フィルタ(interpolation filter)を決定する(S1430)。デコーディング装置は、前記対象サンプルに対する前記補間フィルタを前記現在ブロックのサイズ及び/または前記現在ブロックの前記イントラ予測モードに基づいて決定できる。また、例えば、前記補間フィルタは、前記参照サンプルの位置が分数サンプル(fractional sample)の位置である場合に決定されることができる。
一例として、前記対象サンプルに対する前記補間フィルタは、前記現在ブロックのサイズに基づいて決定されることができる。例えば、前記現在ブロックのサイズが4×4である場合、精巧な補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができる。具体的に、前記現在ブロックのサイズが4×4である場合、キュービックフィルタ(cubic filter)が前記対象サンプルに対する前記補間フィルタに決定されることができる。前記キュービックフィルタは、精巧な補間フィルタのうちの一つであり、前記キュービックフィルタは、スプラインフィルタ(spline filter)とも呼ばれる。
前記現在ブロックが正方形ブロックである場合には幅と高さが同じであるため、即ち、前記現在ブロックは、N×Nサイズの正方形ブロックであるため、補間フィルタを選択するにあたって基準となる大きさ(即ち、基準となる値)は、いかなる予測方向の方向性イントラ予測モードに対してもNになることができる。一方、前記現在ブロックが非正方形ブロックである場合、即ち、前記現在ブロックがM×Nサイズの非正方形ブロックである時、前記現在ブロックのイントラ予測モードが垂直の方向性を有するイントラ予測モードである時、補間フィルタを選択する基準となるブロックのサイズ(即ち、基準となる値)は、Mになることができる。同様に、前記現在ブロックがM×Nサイズの非正方形ブロックであり、前記現在ブロックのイントラ予測モードが水平方向性を有するイントラ予測モードである時、補間フィルタを選択する基準となる前記現在ブロックのサイズ(即ち、基準となる値)は、Nになることができる。または、それに対し、前記現在ブロックがM×Nサイズの非正方形ブロックであり、前記現在ブロックのイントラ予測モードが垂直の方向性を有するイントラ予測モードである時、前記現在ブロックの補間フィルタは、Nを基準にして選択されることができ、同様に、前記現在ブロックがM×Nサイズの非正方形ブロックであり、前記現在ブロックのイントラ予測モードが水平方向性を有するイントラ予測モードである時、前記現在ブロックの補間フィルタは、Mを基準にして選択されることもできる。ただし、以後記述する具体的な例示では、M×Nのサイズを有する前記現在ブロックに垂直の方向性を有するイントラ予測モードが適用される場合、補間フィルタを選択する基準となる前記現在ブロックのサイズは、Mで表すことができ、同様に、前記現在ブロックに水平方向性を有するイントラ予測モードが適用される場合、前記現在ブロックのサイズは、Nで表すことができる。ここで、イントラ予測モードが65個の方向性イントラ予測モード及び2個の非方向性イントラ予測モードを含む場合、前記垂直の方向性を有するイントラ予測モードは、34番乃至66番のイントラ予測モードを示すことができ、前記水平方向性を有するイントラ予測モードは、2番乃至33番のイントラ予測モードを示すことができる。
また、例えば、前記現在ブロックのサイズが特定の値より小さいかどうかが判断されることができ、前記現在ブロックのサイズが前記特定の値より小さい場合、精巧な補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができ、前記現在ブロックのサイズが前記特定の値より小さくない場合、低域通過フィルタ効果がある補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができる。具体的に、前記現在ブロックのサイズが前記特定の値より小さい場合、前記キュービックフィルタが前記対象サンプルに対する前記補間フィルタに決定されることができ、前記現在ブロックのサイズが前記特定の値より小さくない場合、ガウシアンフィルタ(gaussian filter)が前記対象サンプルに対する前記補間フィルタに決定されることができる。または、前記現在ブロックのサイズが前記特定の値より小さくない場合、リニアフィルタ(linear filter)が前記対象サンプルに対する前記補間フィルタに決定されることができる。前記低域通過フィルタ効果がある補間フィルタは、前記ガウシアンフィルタ及びリニアフィルタを含むことができる。ここで、前記特定の値は、4、8、16または32等に設定されることができる。また、前記現在ブロックに対する予測情報は、前記特定の値に対する情報を含むことができる。この場合、前記特定の値は、前記特定の値に対する情報に基づいて導出されることができる。
具体的に、前記現在ブロックが幅(width)と高さ(height)が同じ場合(即ち、前記現在ブロックが正方形ブロックである場合)、前記現在ブロックの幅(width)が特定の値より小さいかどうかが判断されることができ、前記現在ブロックの幅(width)が前記特定の値より小さい場合、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)として導出され、前記現在ブロックの幅(width)が前記特定の値より小さくない場合、前記対象サンプルに対する前記補間フィルタは、ガウシアンフィルタ(gaussian filter)として導出されることができる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり(即ち、前記現在ブロックが非正方形ブロックであり)、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、前記現在ブロックの幅が特定の値より小さいかどうかが判断されることができ、前記現在ブロックの幅が前記特定の値より小さい場合、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)として導出され、前記現在ブロックの幅が前記特定の値より小さくない場合、前記対象サンプルに対する前記補間フィルタは、ガウシアンフィルタ(gaussian filter)として導出されることができる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり(即ち、前記現在ブロックが非正方形ブロックであり)、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、前記現在ブロックの高さが特定の値より小さいかどうかが判断されることができ、前記現在ブロックの高さが前記特定の値より小さい場合、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタとして導出され、前記現在ブロックの高さが前記特定の値より小さくない場合、前記対象サンプルに対する前記補間フィルタは、ガウシアンフィルタとして導出されることができる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり(即ち、前記現在ブロックが非正方形ブロックであり)、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、前記現在ブロックの高さが特定の値より小さいかどうかが判断されることができ、前記現在ブロックの高さが前記特定の値より小さい場合、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)として導出され、前記現在ブロックの高さが前記特定の値より小さくない場合、前記対象サンプルに対する前記補間フィルタは、ガウシアンフィルタ(gaussian filter)として導出されることができる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり(即ち、前記現在ブロックが非正方形ブロックであり)、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、前記現在ブロックの幅が特定の値より小さいかどうかが判断されることができ、前記現在ブロックの幅が前記特定の値より小さい場合、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタとして導出され、前記現在ブロックの幅が前記特定の値より小さくない場合、前記対象サンプルに対する前記補間フィルタは、ガウシアンフィルタとして導出されることができる。
他の一例として、前記対象サンプルに対する前記補間フィルタは、前記現在ブロックのイントラ予測モードに基づいて決定されることができる。
例えば、前記現在ブロックのイントラ予測モードの予測角度が特定の値より小さいかどうかが判断されることができ、前記イントラ予測モードの前記予測角度が前記特定の値より小さい場合、精巧な補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができ、前記イントラ予測モードの前記予測角度が前記特定の値より小さくない場合、低域通過フィルタ効果がある補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができる。具体的に、前記イントラ予測モードの前記予測角度が前記特定の値より小さい場合、キュービックフィルタ(cubic filter)が前記対象サンプルに対する前記補間フィルタに決定されることができ、前記イントラ予測モードの前記予測角度が前記特定の値より小さくない場合、ガウシアンフィルタ(gaussian filter)が前記対象サンプルに対する前記補間フィルタに決定されることができる。または、前記イントラ予測モードの前記予測角度が前記特定の値より小さくない場合、リニアフィルタ(linear filter)が前記対象サンプルに対する前記補間フィルタに決定されることができる。前記低域通過フィルタ効果がある補間フィルタは、前記ガウシアンフィルタ及びリニアフィルタを含むことができる。ここで、前記特定の値は、4、8、16または32等に設定されることができる。前記イントラ予測モードの前記予測角度は、前述した表1に基づいて導出されることができ、intraPredAngleは、前記イントラ予測モードの前記予測角度を示すことができる。また、一例として、前記特定の値は、11に設定されることができる。また、前記現在ブロックに対する予測情報は、前記特定の値に対する情報を含むことができる。この場合、前記特定の値は、前記特定の値に対する情報に基づいて導出されることができる。
他の一例として、前記対象サンプルに対する前記補間フィルタは、前記現在ブロックのサイズ及び前記イントラ予測モードに基づいて決定されることができる。
例えば、デコーディング装置は、前記現在ブロックのサイズが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックのサイズが前記第1の特定の値より小さくない場合、低域通過フィルタ効果がある補間フィルタを前記対象サンプルに対する前記補間フィルタに決定できる。具体的に、前記現在ブロックのサイズが前記第1の特定の値より小さくない場合、デコーディング装置は、ガウシアンフィルタ(gaussian filter)を前記補間フィルタに決定できる。または、前記現在ブロックのサイズが前記第1の特定の値より小さくない場合、デコーディング装置は、リニアフィルタ(linear filter)を前記補間フィルタに決定できる。
具体的に、前記現在ブロックの幅(width)と高さ(height)が同じ場合、デコーディング装置は、前記現在ブロックの幅(width)が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅(width)が前記第1の特定の値より小さくない場合、ガウシアンフィルタまたはリニアフィルタを前記対象サンプルに対する前記補間フィルタに決定できる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さくない場合、ガウシアンフィルタまたはリニアフィルタを前記対象サンプルに対する前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さくない場合、ガウシアンフィルタまたはリニアフィルタを前記対象サンプルに対する前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さくない場合、ガウシアンフィルタまたはリニアフィルタを前記対象サンプルに対する前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さくない場合、ガウシアンフィルタまたはリニアフィルタを前記対象サンプルに対する前記補間フィルタに決定できる。
前記現在ブロックのサイズが前記第1の特定の値より小さい場合、デコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができ、前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、精巧な補間フィルタを前記対象サンプルに対する補間フィルタに決定できる。具体的に、前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、デコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
具体的に、前記現在ブロックの幅(width)と高さ(height)が同じ場合に前記現在ブロックの幅(width)が前記第1の特定の値より小さい場合、デコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができ、前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、デコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さい場合、デコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、デコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さい場合、デコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、デコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さい場合、デコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、デコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さい場合、デコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さい場合、デコーディング装置は、キュービックフィルタ(cubic filter)を前記補間フィルタに決定できる。
また、前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、デコーディング装置は、低域通過フィルタ効果がある補間フィルタを前記対象サンプルに対する前記補間フィルタに決定できる。具体的に、前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、デコーディング装置は、ガウシアンフィルタ(gaussian filter)を前記補間フィルタに決定できる。または、前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、デコーディング装置は、リニアフィルタ(linear filter)を前記補間フィルタに決定できる。
具体的に、前記現在ブロックの幅(width)と高さ(height)が同じ場合に前記現在ブロックの幅(width)が前記第1の特定の値より小さい場合、デコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができ、前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、デコーディング装置は、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記補間フィルタに決定できる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さい場合、デコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、デコーディング装置は、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さい場合、デコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、デコーディング装置は、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記補間フィルタに決定できる。
また、前記現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが垂直の方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの高さが第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの高さが前記第1の特定の値より小さい場合、デコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、デコーディング装置は、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記補間フィルタに決定できる。
また、現在ブロックの幅(width)と高さ(height)が異なり、前記現在ブロックの前記イントラ予測モードが水平方向性を有する方向性イントラ予測モードである場合、デコーディング装置は、前記現在ブロックの幅が第1の特定の値より小さいかどうかを判断することができ、前記現在ブロックの幅が前記第1の特定の値より小さい場合、デコーディング装置は、前記現在ブロックのイントラ予測モードの予測角度が第2の特定の値より小さいかどうかを判断することができる。前記イントラ予測モードの予測角度が前記第2の特定の値より小さくない場合、デコーディング装置は、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記補間フィルタに決定できる。
一方、前記現在ブロックに対する予測情報は、前記第1の特定の値に対する情報及び第2の特定の値に対する情報を含むことができる。この場合、前記第1の特定の値は、前記第1の特定の値に対する情報に基づいて導出されることができ、前記第2の特定の値は、前記第2の特定の値に対する情報に基づいて導出されることができる。または、前記第1の特定の値及び前記第2の特定の値は、既に設定された値に基づいて導出されることもできる。
他の一例として、前記現在ブロックが複数の領域に分けられ、各領域と前記現在ブロックの隣接サンプルとの距離に基づいて各領域の補間フィルタが決定されることができる。この場合、前記対象サンプルに対する前記補間フィルタは、前記対象サンプルが含まれている領域の補間フィルタとして導出されることができる。また、前記現在ブロックのサイズが特定のサイズ以上である場合、前記現在ブロックが複数の領域に分けられる。具体的に、前記領域のうち、前記現在ブロックの隣接サンプルとの距離が特定の値より近い領域に対する補間フィルタは、精巧な補間フィルタに決定されることができ、前記領域のうち、前記現在ブロックの隣接サンプルとの特定の値より遠い領域に対する補間フィルタは、低域通過フィルタ効果がある補間フィルタに決定されることができる。
一方、前記現在ブロックが分けられる前記複数の領域のサイズは、予め設定されることができる。または、前記複数の領域のサイズは、前記現在ブロックのサイズ、イントラ予測モードなどに基づいて導出されることもできる。例えば、前記現在ブロックのイントラ予測モードが35番乃至66番のイントラ予測モードのうちの一つである場合、前記現在ブロックが分けられる領域のサイズは、4×4サイズとして導出されることができる。この場合、前記現在ブロックのサイズが16×16サイズである場合、前記現在ブロックは、16個の4×4サイズの領域に分けられ、前記領域のうちラスタースキャンオーダー(raster scan order)上で、0乃至7番までの領域に対する補間フィルタは、精巧な補間フィルタに決定されることができ、その以外の領域に対する補間フィルタは、低域通過フィルタ効果がある補間フィルタに決定されることができる。例えば、前記領域のうちラスタースキャンオーダー(raster scan order)上で、0乃至7番までの領域に対する補間フィルタは、キュービックフィルタ(cubic filter)に決定されることができ、その以外の領域に対する補間フィルタは、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)に決定されることができる。ここで、前記ラスタースキャンオーダーによる前記16個の4×4サイズの領域の番号は、上の行から下の行へ順に、それぞれの行では左から右へ順に導出されることができる。即ち、前記現在ブロックの16個の4×4サイズの領域のうち、上から1番目の行に含まれている領域は、左から右へ順に0番の領域、1番の領域、2番の領域及び3番の領域で表すことができ、2番目の行に含まれている領域は、左から右へ順に4番の領域、5番の領域、6番の領域及び7番の領域で表すことができ、3番目の行に含まれている領域は、左から右へ順に8番の領域、9番の領域、10番の領域及び11番の領域で表すことができ、4番目の行に含まれている領域は、左から右へ順に12番の領域、13番の領域、14番の領域及び15番の領域で表すことができる。一方、現在ブロックに対する予測情報が受信されることができ、前記予測情報は、前記現在ブロックが分けられる領域のサイズを示す情報及び前記各領域の補間フィルタを示す情報を含むことができる。この場合、前記現在ブロックが分けられる領域のサイズ及び前記各領域の補間フィルタは、前記現在ブロックが分けられる領域のサイズを示す情報及び前記各領域の補間フィルタを示す情報に基づいて導出されることができる。
他の一例として、前記対象サンプルに対する前記補間フィルタは、前記対象サンプルと前記参照サンプルとの間の距離に基づいて決定されることができる。ここで、前記対象サンプルと前記参照サンプルとの間の距離は、前記対象サンプルの位置と前記現在ブロックのイントラ予測モードの予測角度に基づいて導出されることができる。例えば、前記対象サンプルの位置と前記イントラ予測モードの予測角度による三角関数値(例えば、tanθ)に基づいて計算されることができる。または、ブロックのサイズ及びイントラ予測モードに対するあらかじめ定義された表に基づいて導出されることができる。または、前記対象サンプルと前記参照サンプルとの間の距離は、垂直距離または水平距離を示すこともできる。前記対象サンプルと前記参照サンプルとの間の距離が垂直距離を示す場合、前記対象サンプルのy成分に基づいて前記距離が導出されることができる。また、前記対象サンプルと前記参照サンプルとの間の距離が水平距離を示す場合、前記対象サンプルのx成分に基づいて前記距離が導出されることができる。
例えば、デコーディング装置は、前記対象サンプルと前記参照サンプルとの間の距離を導出することができ、前記距離が特定の値より小さいかどうかを判断することができる。前記距離が特定の値より小さい場合、デコーディング装置は、精巧な補間フィルタを前記対象サンプルに対する前記補間フィルタに決定でき、前記距離が特定の値より小さくない場合、低域通過フィルタ効果がある補間フィルタを前記対象サンプルに対する前記補間フィルタに決定できる。具体的に、前記距離が特定の値より小さい場合、デコーディング装置は、キュービックフィルタ(cubic filter)を前記対象サンプルに対する前記補間フィルタに決定でき、前記距離が特定の値より小さくない場合、ガウシアンフィルタ(gaussian filter)またはリニアフィルタ(linear filter)を前記対象サンプルに対する前記補間フィルタに決定できる。前記特定の値は、前記現在ブロックのサイズに基づいて導出されることができる。または、前記特定の値は、前記現在ブロックのイントラ予測モード、または正方形/非正方形ブロックの可否などに基づいて導出されることもできる。例えば、前記現在ブロックのサイズがN×Nである場合、前記特定の値は、N/2として導出されることができる。また、前記現在ブロックに対する予測情報が受信されることができ、前記予測情報は、前記特定の値に対する情報を含むことができる。この場合、前記特定の値は、前記特定の値に対する情報に基づいて導出されることができる。
他の一例として、複数の補間フィルタが前記対象サンプルに対する前記補間フィルタに決定されることができる。例えば、前記対象サンプルに対する前記補間フィルタは、精巧な補間フィルタのうちの一つ及び低域通過フィルタ効果がある補間フィルタのうちの一つを含むことができる。または、前記対象サンプルに対する前記補間フィルタは、精巧な補間フィルタのうちの一つ及び低域通過フィルタ効果がある補間フィルタのうち二つを含むことができる。または、前記対象サンプルに対する前記補間フィルタは、精巧な補間フィルタのうち二つ及び低域通過フィルタ効果がある補間フィルタのうちの一つを含むことができる。具体的に、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)及びガウシアンフィルタ(Gaussian filter)を含むことができる。一方、前記現在ブロックに対する予測情報が受信されることができ、前記予測情報は、前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されるかどうかを示すフラグを含むことができる。前記フラグに基づいて複数の補間フィルタが決定されるかどうかが判断されることができる。例えば、前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されることを示す場合、複数の補間フィルタに基づいて前記対象サンプルの予測サンプルが導出されることができ、前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されないことを示す場合、前記複数の補間フィルタに基づいて前記対象サンプルの予測サンプルが導出されない。例えば、前記フラグの値が1である場合、前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されることを示すことができ、前記フラグの値が0である場合、前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されないことを示すことができる。
デコーディング装置は、前記補間フィルタ及び前記参照サンプルに基づいて前記対象サンプルの予測サンプルを導出する(S1440)。デコーディング装置は、前記対象サンプルの位置及び前記イントラ予測モードの予測角度に基づいて前記補間フィルタのフィルタ係数を導出することができ、前記フィルタ係数及び前記参照サンプルに基づいて前記対象サンプルの前記予測サンプルを導出することができる。例えば、前記現在ブロックの前記隣接サンプルのうち、4個の隣接サンプルが前記参照サンプルとして導出されることができ、前記補間フィルタの4個のフィルタ係数が導出されることができる。デコーディング装置は、前記フィルタ係数に基づいて前記参照サンプルを補間(interpolation)して前記予測サンプルを導出することができる。前記予測サンプルは、前述した数式1に基づいて導出されることができる。
また、複数の補間フィルタが前記対象サンプルに対する前記補間フィルタに決定された場合、デコーディング装置は、それぞれの補間フィルタに基づいて(臨時)予測サンプルを導出することができ、導出された(臨時)予測サンプルに基づいて前記対象サンプルの予測サンプルを導出することができる。例えば、前記対象サンプルの前記予測サンプルは、前記(臨時)予測サンプルの平均を介して導出されることができ、または前記(臨時)予測サンプルの加重和(weighted sum)を介して導出されることができる。一方、前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されるかどうかは、前記現在ブロックのサイズ、前記現在ブロックの前記イントラ予測モード、または前記現在ブロックの隣接サンプル値の分散(variance)などに基づいて導出されることができる。また、前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されるかどうかを示すフラグが受信されることができ、前記フラグに基づいて前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されるかどうかが判断されることができる。
例えば、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)及びガウシアンフィルタ(Gaussian filter)を含むことができる。この場合、デコーディング装置は、前記対象サンプルの位置及び前記イントラ予測モードの予測角度に基づいて前記キュービックフィルタのフィルタ係数を導出することができ、前記対象サンプルの位置及び前記イントラ予測モードの予測角度に基づいて前記ガウシアンフィルタのフィルタ係数を導出することができる。デコーディング装置は、前記キュービックフィルタの前記フィルタ係数及び前記参照サンプルに基づいて前記対象サンプルに対する第1の予測サンプルを導出することができ、前記ガウシアンフィルタの前記フィルタ係数及び前記参照サンプルに基づいて前記対象サンプルに対する第2の予測サンプルを導出することができ、前記第1の予測サンプル及び前記第2の予測サンプルに基づいて前記対象サンプルの前記予測サンプルを導出することができる。前記対象サンプルの前記予測サンプルは、前記第1の予測サンプルと前記第2の予測サンプルとの平均を介して導出されることができる。または、前記対象サンプルの前記予測サンプルは、前記第1の予測サンプルと前記第2の予測サンプルとの加重和(weighted sum)を介して導出されることができる。この場合、前記第1の予測サンプルに対する加重値は、前記対象サンプルと前記参照サンプルとの間の距離に反比例することがあり、前記第2の予測サンプルに対する加重値は、1から前記第1の予測サンプルに対する加重値を引いた値として導出されることができる。または、この時に使われる前記第1の加重値及び前記第2の加重値は、小数点演算を避けるために整数単位にアップスケール(up-scaled)されて導出されることもできる。
また、例えば、前記対象サンプルに対する前記補間フィルタは、キュービックフィルタ(cubic filter)及びリニアフィルタ(linear filter)を含むことができる。この場合、デコーディング装置は、前記参照サンプルの位置に基づいて前記キュービックフィルタのフィルタ係数を導出することができ、前記参照サンプルの位置に基づいて前記リニアフィルタのフィルタ係数を導出することができる。デコーディング装置は、前記キュービックフィルタの前記フィルタ係数及び前記参照サンプルに基づいて前記対象サンプルに対する第1の予測サンプルを導出することができ、前記リニアフィルタの前記フィルタ係数及び前記参照サンプルに基づいて前記対象サンプルに対する第2の予測サンプルを導出することができ、前記第1の予測サンプル及び前記第2の予測サンプルに基づいて前記対象サンプルの前記予測サンプルを導出することができる。前記対象サンプルの前記予測サンプルは、前記第1の予測サンプルと前記第2の予測サンプルとの平均を介して導出されることができる。または、前記対象サンプルの前記予測サンプルは前記第1の予測サンプルと前記第2の予測サンプルとの加重和(weighted sum)を介して導出されることができる。この場合、前記第1の予測サンプルに対する加重値は、前記対象サンプルと前記参照サンプルとの間の距離に反比例することがあり、前記第2の予測サンプルに対する加重値は、1から前記第1の予測サンプルに対する加重値を引いた値として導出されることができる。または、この時に使われる前記第1の加重値及び前記第2の加重値は、小数点演算を避けるために整数単位にアップスケール(up-scaled)されて導出されることもできる。
他の一例として、前記現在ブロックにMPM(most probable mode)モードが適用されて前記現在ブロックの隣接ブロックのイントラ予測モードに基づいて前記現在ブロックのイントラ予測モードが導出され、前記現在ブロックの前記イントラ予測モードがプラナー(Planar)モード、DCモードでない方向性イントラ予測モードである場合、前記対象サンプルに対する補間フィルタは、前記隣接前記MPMモードを介して選択された前記隣接ブロックに基づいて決定されることができる。即ち、隣接ブロックに使われた補間フィルタが、前記対象サンプルに対する補間フィルタとして導出されることができる。ここで、前記現在ブロックに前記MPMモードが適用される場合、デコーディング装置は、前記現在ブロックの左側または上側隣接ブロックに対するイントラ予測モードに基づいてMPMリストを決定し、前記MPMリストに基づいて前記イントラ予測モードを決定することができる。
一方、図面に示されていないが、デコーディング装置は、予測モードによって前記予測サンプルを復元サンプルとして利用することもでき、または前記予測サンプルに残差サンプルを加算して復元サンプルを生成することもできる。デコーディング装置は、前記対象ブロックに対する残差サンプルが存在する場合、前記対象ブロックに対する残差に関する情報を受信することができ、前記残差に関する情報は、前記復元サンプルに対する情報に含まれることができる。前記残差に関する情報は、前記残差サンプルに関する変換係数を含むことができる。デコーディング装置は、前記残差情報に基づいて前記対象ブロックに対する前記残差サンプル(または、残差サンプルアレイ)を導出することができる。デコーディング装置は、前記予測サンプルと前記残差サンプルに基づいて復元サンプルを生成することができ、前記復元サンプルに基づいて復元ブロックまたは復元ピクチャを導出することができる。以後、デコーディング装置は、必要によって主観的/客観的画質を向上させるためにデブロッキングフィルタリング及び/またはSAO手順のようなインループフィルタリング手順を前記復元ピクチャに適用できることは、前述の通りである。
また、デコーディング装置は、ビットストリームを介して前記現在ブロックに対する予測情報を受信することができ、エントロピーデコーディングすることができる。前記予測情報は、前記現在ブロックの前記イントラ予測モードに関する情報を含むことができる。デコーディング装置は、前記イントラ予測モードを示すイントラ予測モードに関する情報を取得することができる。前記イントラ予測モードに関する情報は、前記現在ブロックに対するイントラ予測モードを直接的に示す情報を含むこともでき、または前記現在ブロックの左側または上側ブロックのイントラ予測モードに基づいて導出されたイントラ予測モード候補リストのうちいずれか一つの候補を示す情報を含むこともできる。前記イントラ予測モード候補リストは、前記MPMリストを示すことができる。
また、前記現在ブロックが複数の領域に分けられる場合、前記予測情報は、前記現在ブロックが分けられる領域のサイズ及び前記各領域の補間フィルタを示す情報を含むことができる。また、前記対象サンプルに対する前記補間フィルタが、前記現在ブロックのサイズ、前記現在ブロックのイントラ予測モード、または前記対象サンプルと前記参照サンプルとの間の距離に基づいて選択される場合、前記予測情報は、前記対象サンプルに対する前記補間フィルタの選択に使われる前記特定の値に対する情報を含むことができる。前記補間フィルタが、前記現在ブロックのサイズ及び前記現在ブロックのイントラ予測モードに基づいて選択される場合、前記予測情報は、第1の特定の値に対する情報及び第2の特定の値に対する情報を含むことができる。また、前記予測情報は、前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されるかどうかを示すフラグを含むことができる。前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されることを示す場合、複数の補間フィルタに基づいて前記対象サンプルの前記予測サンプルが導出されることができ、前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されないことを示す場合、前記複数の補間フィルタに基づいて前記対象サンプルの前記予測サンプルが導出されない。例えば、前記フラグの値が1である場合、前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されることを示すことができ、前記フラグの値が0である場合、前記フラグが前記対象サンプルに対する前記補間フィルタとして複数の補間フィルタが決定されないことを示すことができる。前記予測情報は、VPS(video parameter set)、SPS(sequence parameter set)、PPS(picture parameter set)、またはスライスセグメントヘッダ(slice segment header)を介してシグナリングされることができ、またはブロック単位にシグナリングされることもできる。
前述した本発明によると、現在ブロックのサイズ、前記対象サンプルと前記参照サンプルとの距離、及び/または予測モード(予測角度)によって導出された補間フィルタに基づいて前記対象サンプルに対する予測を実行することができ、それによって、対象サンプルに対する分数サンプルの位置の参照サンプルをもっと正確に生成して前記現在ブロックに対する予測の正確度を向上させることができ、前記現在ブロックに対する残差(residual)を減らしてコーディング効率を向上させることができる。
また、本発明によると、前記さまざまな条件に基づいて対象サンプルに対する補間フィルタを選択することができて補間フィルタの選択に対する情報のビット量を減らすことができ、それによって、前記現在ブロックに対する予測の正確度を向上させることができ、それによって、前記現在ブロックのコーディング効率を向上させることができる。
前述した実施例において、方法は、一連のステップまたはブロックで流れ図に基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序にまたは同時に発生できる。また、当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、流れ図の一つまたはそれ以上のステップが本発明の範囲に影響を及ぼさずに削除可能であることを理解することができる。
前述した本発明による方法は、ソフトウェア形態で具現化されることができ、本発明によるエンコーディング装置及び/またはデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの映像処理を実行する装置に含まれることができる。
本発明において、実施例がソフトウェアで具現化される時、前述した方法は、前述した機能を遂行するモジュール(過程、機能など)で具現化されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあり、よく知られた多様な手段でプロセッサと連結されることができる。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/またはデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/または他の格納装置を含むことができる。