【文献】
K.Sato (Sony),Description of Core Experiment 4: Quantization[online], JCTVC-E JCTVC-E704r1,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/5_Geneva/wg11/JCTVC-E704-v9.zip>
【文献】
Ankur Saxena 1301 E. Lookout Drive, Richardson, TX - 75082, USA,CE7: Mode-dependent 8x8 DCT/DST for Intra Prediction[online], JCTVC-F JCTVC-F282,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/6_Torino/wg11/JCTVC-F282-v2.zip>
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明の多様な実施例を例示図面を参照して詳細に説明する。本発明は、多様な変更を加えることができ、多様な実施例を有することができ、本発明を特定の実施形態に対して限定するものではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物乃至代替物を含むと理解しなければならない。各図面の説明において、類似の構成要素に対して類似の参照符号を使用した。
【0011】
図1は、本発明による映像符号化装置100を示すブロック図である。
【0012】
図1を参照すると、本発明による映像符号化装置100は、ピクチャ分割部101、変換部103、量子化部104、スキャニング部105、エントロピー符号化部106、逆量子化部107、逆変換部108、後処理部110、ピクチャ格納部111、イントラ予測部112、インター予測部113、減算部102及び加算部109を含む。
【0013】
ピクチャ分割部101は、ピクチャ又はスライスを複数個のLCU(Largest Coding Unit)に分割し、前記各々のLCUを一つ以上のコーディングユニットに分割する。ピクチャ分割部101は、各コーディングユニットの予測モード、予測ユニットのサイズ及び変換ユニットのサイズを決定する。
【0014】
一つのLCUは、一個又は複数個のコーディングユニット(coidng unit)を含む。前記LCUは、分割構造を示すために、再帰的クワッドツリー構造(recursive quadtree structure)を有する。コーディングユニットの最大サイズ及び最小サイズを示す情報がシーケンスパラメータセット(sequence parameter set)に含まれる。前記分割構造は、一個又は複数個の分割コーディングユニットフラグ(split_cu_flag)を利用して表現される。コーディングユニットは、2N×2Nのサイズを有する。
【0015】
コーディングユニットは、一個又は複数個の予測ユニット(prediction unit)を含む。イントラ予測において、前記予測ユニットのサイズは、2N×2N又はN×Nである。インター予測において、前記予測ユニットのサイズは、2N×2N、2N×N、N×2N又はN×Nである。インター予測において、予測ユニットが非対称パーティション(asymmetric partition)の場合、前記予測ユニットのサイズは、hN×2N、(2−h)N×2N、2N×hN及び2N×(2−h)Nのうち一つである。ここで、hは、1/2である。
【0016】
コーディングユニットは、一個又は複数個の変換ユニット(transform unit)を含む。変換ユニットは、分割構造を示すために、再帰的クワッドツリー構造(recursive quadtree structure)を有する。分割構造は、一個又は複数個の分割変換ユニットフラグ(split_tu_flag)により表現される。変換ユニットの最大サイズ及び最小サイズを示す情報がシーケンスパラメータセットに含まれる。
【0017】
イントラ予測部112は、現在予測ユニットのイントラ予測モードを決定し、前記イントラ予測モードを利用して予測ブロックを生成する。予測ブロックは、変換ユニットと同じサイズを有する。
【0018】
インター予測部113は、ピクチャ格納部111に格納されている一つ以上の参照ピクチャを利用して現在予測ユニットの動き情報を決定し、前記予測ユニットの予測ブロックを生成する。前記動き情報は、一つ以上の参照ピクチャインデックスと一つ以上の動きベクトルを含む。
【0019】
変換部103は、原本ブロックと予測ブロックを利用して生成される残差信号を変換して変換ブロックを生成する。残差信号は、変換ユニット単位に変換される。変換タイプは、予測モード及び変換ユニットのサイズによって決定される。変換タイプは、DCTベースの整数変換又はDSTベースの整数変換である。例えば、インター予測ではDCTベースの整数変換が使われる。イントラ予測では、前記変換ユニットのサイズが予め決められたサイズより小さい場合、DSTベースの整数変換を使用し、そうでない場合、DCTベースの整数変換を使用する。
【0020】
量子化部104は、前記変換ブロックを量子化するための量子化パラメータを決定する。量子化パラメータは、量子化ステップサイズである。量子化パラメータは、量子化ユニット毎に決定される。前記基準サイズは、量子化ユニットの最小サイズである。量子化ユニットのサイズは、コーディングユニットの許容可能なサイズのうち一つである。コーディングユニットのサイズが量子化ユニットの最小サイズより大きい又は同じ場合、前記コーディングユニットは、量子化ユニットになる。複数個のコーディングユニットが最小量子化ユニットに含まれることもできる。前記量子化ユニットの最小サイズは、ピクチャ毎に決定され、前記量子化ユニットの最小サイズを特定する情報は、ピクチャパラメータセットに含まれる。
【0021】
量子化部104は、量子化パラメータ予測子を生成し、量子化パラメータから量子化パラメータ予測子を減算して差分量子化パラメータを生成する。前記差分量子化パラメータは、符号化され、コーディングユニットシンタックス(syntax)に含まれる。
【0022】
前記量子化パラメータ予測子は、隣接コーディングユニットの量子化パラメータ及び以前コーディングユニットの量子化パラメータを利用して下記のように生成される。
【0023】
左側量子化パラメータ、上側量子化パラメータ及び以前量子化パラメータは、前記順序通りに検索される。2個以上の量子化パラメータが利用可能な場合、前記順序に検索される最初の2個の利用可能な量子化パラメータの平均値が量子化パラメータ予測子に設定され、一つの量子化パラメータのみが利用可能な場合は、前記利用可能な量子化パラメータが量子化パラメータ予測子に設定される。即ち、前記左側及び上側量子化パラメータが両方とも利用可能な場合、前記左側及び上側量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記左側及び上側量子化パラメータのうち一つのみが利用可能な場合、前記利用可能な量子化パラメータと前記以前量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記左側及び上側量子化パラメータが両方とも利用可能でない場合、前記以前量子化パラメータが前記量子化パラメータ予測子に設定される。前記平均値は、四捨五入した平均値である。
【0024】
量子化部104は、量子化マトリクス及び量子化パラメータを利用して変換ブロックを量子化して量子化ブロックを生成する。量子化ブロックは、逆量子化部107とスキャニング部105に提供される。
【0025】
スキャニング部105は、スキャンパターンを決定し、前記スキャンパターンを前記量子化ブロックに適用する。エントロピー符号化のために、CABAC(Context adaptive bianry arithmetic coding)が使われる場合、前記スキャンパターンは、下記のように決定される。
【0026】
イントラ予測において、スキャンパターンは、前記イントラ予測モード及び前記変換ユニットのサイズにより決定される。変換ユニットのサイズ、変換ブロックのサイズ及び量子化ブロックのサイズは、同じである。対角線スキャン(diagonal scan)、垂直スキャン(vertical scan)及び水平スキャン(horizontal scan)の中からスキャンパターンが決定される。量子化ブロックの量子化された変換係数は、重要フラグ(significant flags)、係数符号(coefficient signs)及び係数レベル(coefficient levels)に分離される。前記スキャンパターンが重要フラグ、係数符号及び係数レベルに各々適用される。前記重要フラグは、対応する量子化変換係数が0であるか否かを示す。前記係数符号は、0でない量子化変換係数の符号を示す。前記係数レベルは、0でない量子化変換係数の絶対値を示す。
【0027】
変換ユニットのサイズが第1のサイズより小さい又は同じ場合、垂直モード及び前記垂直モードに隣接した予め決められた個数のイントラ予測モードでは水平スキャンが選択され、水平モード及び前記水平モードに隣接した予め決められた個数のイントラ予測モードでは垂直スキャンが選択され、残りのイントラ予測モードでは対角線スキャンが選択される。変換ユニットのサイズが前記第1のサイズより大きい場合、対角線スキャンが利用される。前記第1のサイズは、8×8である。
【0028】
インター予測では、変換ユニットのサイズに関係なく予め決められたスキャンパターンが使われる。CABACがエントロピーコーディングに使われると、前記予め決められたスキャンパターンは、対角線スキャンである。
【0029】
変換ユニットのサイズが第2のサイズより大きい場合、前記量子化ブロックは、メインサブセットと複数個の残余サブセットに分割され、前記決定されたスキャンパターンが各サブセットに適用される。各サブセットの重要フラグ、係数符号及び係数レベルが各々前記決定されたスキャンパターンによってスキャンされる。メインサブセットは、DC係数を含み、残余サブセットは、前記メインサブセットがカバーする領域以外の領域をカバーする。前記第2のサイズは、4×4である。サブセットのサイズは4×4ブロックであってもよく、スキャンパターンによって変更されることができる。前記サブセットは、16個の変換係数を含む。
【0030】
サブセットをスキャンするためのスキャンパターンは、前記各サブセットの量子化された変換係数をスキャンするためのスキャンパターンと同じである。各サブセットの量子化された変換係数は、逆方向にスキャンされる。前記サブセットも逆方向にスキャンされる。
【0031】
0でない最後の係数位置(last non−zero coefficient position)が符号化されて復号器に送信される。0でない最後の係数位置は、変換ユニット内での0でない最後の量子化された変換係数の位置を示す。ノンゼロサブセットフラグ(non−zero subset flag)がメインサブセットと最後のサブセット以外の各サブセットに対して設定される。前記最後のサブセットは、0でない最後の係数をカバーする。ノンゼロサブセットフラグは、サブセットが0でない係数を含むかどうかを示す。
【0032】
逆量子化部107は、量子化ブロックの量子化された変換係数を逆量子化する。
【0033】
逆変換部108は、逆量子化ブロックを逆変換して空間領域が残差信号を生成する。
【0034】
加算部109は、残差ブロックと予測ブロックを加えて復元ブロックを生成する。
【0035】
後処理部110は、復元されたピクチャで発生するブロッキングアーチファクトを除去するためのデブロッキングフィルタリング過程を実行する。
【0036】
ピクチャ格納部111は、後処理部110から後処理された映像を受信し、ピクチャ単位に前記映像を格納する。ピクチャは、フレーム又はフィールドである。
【0037】
エントロピー符号化部106は、スキャニング部105から受信される1次元係数情報、イントラ予測部112から受信されるイントラ予測情報、インター予測部113から受信される動き情報などをエントロピー符号化する。
【0038】
図2は、本発明による映像復号化装置200を示すブロック図である。
【0039】
本発明による映像復号化装置200は、エントロピー復号化部201、逆スキャニング部202、逆量子化部203、逆変換部204、加算部205、後処理部206、ピクチャ格納部207、イントラ予測部208及びインター予測部209を含む。
【0040】
エントロピー復号化部201は、受信されたビットストリームからイントラ予測情報、インター予測情報及び1次元係数情報を抽出する。エントロピー復号化部201は、インター予測情報をインター予測部209に送信し、イントラ予測情報をイントラ予測部208に送信し、前記係数情報を逆スキャニング部202に送信する。
【0041】
逆スキャニング部202は、逆スキャンパターンを使用して量子化ブロックを生成する。CABACがエントロピー符号化方法として使われると、前記逆スキャンパターンは、下記のように決定される。
【0042】
イントラ予測では、イントラ予測モード及び変換ユニットのサイズにより逆スキャンパターンが決定される。逆スキャンパターンは、対角線スキャン、垂直スキャン及び水平スキャンの中から選択される。前記選択された逆スキャンパターンが重要フラグ、係数符号及び係数レベルに各々適用されて量子化ブロックを生成する。
【0043】
変換ユニットのサイズが前記第1のサイズより小さい又は同じ場合、垂直モード及び前記垂直モードに隣接した予め決められた個数のイントラ予測モードでは水平スキャンが選択され、水平モード及び前記水平モードに隣接した予め決められた個数のイントラ予測モードでは垂直スキャンが選択され、残りのイントラ予測モードでは対角線スキャンが選択される。前記変換ユニットのサイズが前記第1のサイズより大きい場合、対角線スキャンが利用される。前記第1のサイズは、8×8である。
【0044】
変換ユニットのサイズが前記第1のサイズより大きい場合、全てのイントラ予測モードに対角線スキャンが適用される。
【0045】
インター予測では、対角線スキャンが使われる。
【0046】
変換ユニットのサイズが第2のサイズより大きい場合、前記決定されたスキャンパターンによって重要フラグ、係数符号及び係数レベルがサブセット単位に逆スキャンされてサブセットが生成され、前記サブセットは、逆スキャンされて量子化ブロックを生成する。前記第2のサイズは、4×4である。サブセットのサイズは、4×4ブロックであってもよく、スキャンパターンによって決定される非正方形ブロックであってもよい。前記非正方形ブロックは、16個の変換係数を含む。例えば、前記サブセットのサイズは、水平スキャン時は8×2、垂直スキャン時は2×8、対角線スキャン時は4×4である。
【0047】
各サブセットを生成するために使われる逆スキャンパターンは、量子化ブロックを生成するために使われる逆スキャンパターンと同じである。重要フラグ、係数符号及び係数レベルは、逆方向に逆スキャンされる。サブセットも逆方向に逆スキャンされる。
【0048】
0でない最後の係数位置(last non−zero position)及びノンゼロサブセットフラグが符号化器から受信される。0でない最後の係数位置及び前記逆スキャンパターンによって符号化されたサブセットの数が決定される。ノンゼロサブセットフラグは、生成されるサブセットを選択するために使われる。メインサブセットと最後のサブセットは、前記逆スキャンパターンによって生成される。
【0049】
逆量子化部203は、エントロピー復号化部201から差分量子化パラメータを受信し、量子化パラメータ予測子を生成する。量子化パラメータ予測子は、
図1の量子化部104による動作と同様な過程を介して生成される。その後、逆量子化部203は、前記差分量子化パラメータと前記量子化パラメータ予測子を加えて現在コーディングユニットの量子化パラメータを生成する。現在コーディングユニットのサイズが最小量子化ユニットのサイズより大きい又は同じであり、且つ現在コーディングユニットの差分量子化パラメータが符号器から受信されない場合、前記差分量子化パラメータは、0に設定される。
【0050】
逆量子化部203は、量子化ブロックを逆量子化する。
【0051】
逆変換部204は、前記逆量子化されたブロックを逆変換して残差ブロックを復元する。逆変換タイプは、予測モード及び変換ユニットのサイズによって決定される。逆変換タイプは、DCTベースの整数変換又はDSTベースの整数変換である。例えば、インター予測ではDCTベースの整数変換が使われる。イントラ予測では、前記変換ユニットのサイズが予め決められたサイズより小さい場合、DSTベースの整数変換が使われ、そうでない場合、DCTベースの整数変換が使われる。
【0052】
イントラ予測部208は、受信されたイントラ予測情報を利用して現在予測ユニットのイントラ予測モードを復元し、前記復元されたイントラ予測モードに応じて予測ブロックを生成する。
【0053】
インター予測部209は、受信されたインター予測情報を利用して現在予測ユニットの動き情報を復元し、前記動き情報を利用して予測ブロックを生成する。
【0054】
後処理部206は、
図1の後処理部110と同様に動作する。
【0055】
ピクチャ格納部207は、後処理部206から後処理された映像を受信し、ピクチャ単位に前記映像を格納する。ピクチャは、フレーム又はフィールドである。
【0056】
加算部205は、復元された残差ブロックと予測ブロックを加えて復元ブロックを生成する。
【0057】
図3は、本発明によるイントラ予測モードでの復元ブロックを生成する過程を説明するフローチャートである。
【0058】
まず、現在予測ユニットのイントラ予測モードを誘導する(S1100)。
【0059】
図4は、本発明による現在予測ユニットのイントラ予測モードを復元する過程を説明するフローチャートである。
【0060】
受信されたビットストリームから現在予測ユニットのイントラ予測パラメータが抽出される(S1110)。
【0061】
前記イントラ予測パラメータは、モードグループ指示子及び予測モードインデックスを含む。前記モードグループ指示子は、現在予測ユニットのイントラ予測モードがMPMグループ(most probable mode group)に属するかどうかを示すフラグである。前記フラグが1の場合、現在予測ユニットのイントラ予測モードはMPMグループに属する。前記フラグが0の場合、現在予測ユニットのイントラ予測モードは残余モードグループ(residual mode group)に属する。前記残余モードグループは、前記MPMグループに属するイントラ予測モード以外の全てのイントラ予測モードを含む。前記予測モードインデックスは、前記モードグループ指示子により特定されるグループ内での現在予測ユニットのイントラ予測モードを特定する。
【0062】
隣接予測ユニットのイントラ予測モードを利用してMPMグループが構成される(S1120)。前記MPMグループのイントラ予測モードは、左側イントラ予測モード及び上側イントラ予測モードにより適応的に決定される。前記左側イントラ予測モードは、左側に隣接した予測ユニットのイントラ予測モードであり、前記上側イントラ予測モードは、上側に隣接した予測ユニットのイントラ予測モードである。前記MPMグループは、3個のイントラ予測モードで構成される。
【0063】
前記左側又は上側に隣接した予測ユニットが存在しない場合、前記左側又は上側の隣接予測ユニットのイントラ予測モードは利用可能でないと設定される。例えば、現在予測ユニットがピクチャの左側又は上側の境界に位置すると、左側又は上側に隣接した予測ユニットが存在しない。左側又は上側に隣接した予測ユニットが他のスライス又は他のタイルに属すると、左側又は上側に隣接した予測ユニットのイントラ予測モードは利用可能でないと設定される。左側又は上側に隣接した予測ユニットがインター符号化されると、左側又は上側に隣接した予測ユニットのイントラ予測モードが利用可能でないと設定される。上側予測ユニットが他のLCUに属すると、前記上側予測に隣接した予測ユニットのイントラ予測モードが利用可能でないと設定される。
【0064】
図5は、本発明によるイントラ予測モードを説明する概念図である。
図5に示すように、イントラ予測モードの数は35個である。DCモードとプラナーモードは非方向性モードであり、残りは方向性モードである。
【0065】
左側イントラ予測モード及び上側イントラ予測モードが両方とも利用可能であり、且つ互いに異なる場合は、前記左側イントラ予測モード及び前記上側イントラ予測モードが前記MPMグループに含まれ、1個の追加イントラ予測モードが前記MPMグループに追加される。二つのうち、モード番号が小さいイントラ予測モードにインデックス0が割り当てられ、残りの一つにインデックス1が割り当てられる。または、左側イントラ予測モードにインデックス0が割り当てられ、上側イントラ予測モードにインデックス1が割り当てられてもよい。前記追加イントラ予測モードは、前記左側及び上側イントラ予測モードにより下記のように決定される。
【0066】
左側及び上側イントラ予測モードのうち、一つは非方向性モード(non−directional mode)であり、他の一つは方向性モード(directional mode)の場合、残りの一つの非方向性モードが前記MPMグループに追加される。例えば、前記左側及び上側イントラ予測モードのうち、一つがDCモードの場合、プラナーモードが前記MPMグループに追加され、前記左側及び上側イントラ予測モードのうち、一つがプラナーモードの場合、DCモードが前記MPMグループに追加される。左側及び上側イントラ予測モードが両方とも非方向性モードの場合、垂直モードが前記MPMグループに追加される。左側及び上側イントラ予測モードが両方とも方向性モードの場合、DCモード又はプラナーモードが前記MPMグループに追加される。
【0067】
左側イントラ予測モード及び上側イントラ予測モードのうち一つのみ利用可能な場合は、前記利用可能なイントラ予測モードが前記MPMグループに含まれ、2個の追加イントラ予測モードが前記MPMグループに追加される。前記2個の追加イントラ予測モードは、前記利用可能なイントラ予測モードにより下記のように決定される。
【0068】
前記利用可能なイントラ予測モードが非方向性モードの場合、残りの一つの非方向性モードと垂直モードが前記MPMグループに追加される。例えば、前記利用可能なイントラ予測モードがDCモードの場合、プラナーモードと垂直モードが前記MPMグループに追加される。前記利用可能なイントラ予測モードがプラナーモードの場合、DCモードと垂直モードが前記MPMグループに追加される。前記利用可能なイントラ予測モードが方向性モードの場合、2個の非方向性モード(DCモード及びプラナーモード)が前記MPMグループに追加される。
【0069】
左側イントラ予測モード及び上側イントラ予測モードが両方とも利用可能であり、且つ互いに同じ場合、前記利用可能なイントラ予測モードがMPMグループに含まれ、2個の追加イントラ予測モードが前記MPMグループに追加される。前記追加される2個のイントラ予測モードは、前記利用可能なイントラ予測モードにより下記のように決定される。
【0070】
前記利用可能なイントラ予測モードが方向性モードの場合、2個の隣接方向性モードが前記MPMグループに追加される。例えば、前記利用可能なイントラ予測モードがモード23の場合、左側隣接モード(モード1)と右側隣接モード(モード13)が前記MPMグループに追加される。前記利用可能なイントラ予測モードがモード30の場合、2個の隣接モード(モード2とモード16)が前記MPMグループに追加される。前記利用可能なイントラ予測モードが非方向性モードの場合、残りの一つの非方向性モードと垂直モードが前記MPMグループに追加される。例えば、前記利用可能なイントラ予測モードがDCモードの場合、プラナーモードと垂直モードが前記MPMグループに追加される。
【0071】
左側イントラ予測モード及び上側イントラ予測モードが両方とも利用可能でない場合は、3個の追加イントラ予測モードが前記MPMグループに追加される。前記3個のイントラ予測モードは、DCモード、プラナーモード及び垂直モードである。DCモード、プラナーモード及び垂直モードの順序に又はプラナーモード、DCモード及び垂直モードの順序に、インデックス0、1及び2が前記3個のイントラ予測モードに割り当てられる。
【0072】
前記モードグループ指示子がMPMグループを示すかどうかを決定する(S1130)。
【0073】
前記モードグループ指示子が前記MPMグループを示す場合、前記予測モードインデックスにより特定されるMPMグループ内のイントラ予測モードが現在予測ユニットのイントラ予測モードとして設定される(S1140)。
【0074】
前記モードグループ指示子が前記MPMグループを示さない場合、MPMグループ内の3個のイントラ予測モードがモード番号の順序通りに再整列される(S1150)。MPMグループの3個のイントラ予測モードのうち、最も小さいモード番号を有するイントラ予測モードが第1の候補に設定され、中間モード番号を有するイントラ予測モードが第2の候補に設定され、最も大きいモード番号を有するイントラ予測モードが第3の候補に設定される。
【0075】
前記予測モードインデックスと第1の候補を比較する(S1160)。前記予測モードインデックスが前記MPMグループ内の第1の候補のモード番号より大きい又は同じ場合、前記予測モードインデックスの値が1ほど増加する。そうでない場合、前記予測モードインデックスの値は維持される。
【0076】
前記予測モードインデックスと第2の候補を比較する(S1170)。前記予測モードインデックスが前記MPMグループ内の第2の候補のモード番号より大きい又は同じ場合、前記予測モードインデックスの値が1ほど増加する。そうでない場合、前記予測モードインデックスの値は維持される。
【0077】
前記予測モードインデックスと第3の候補を比較する(S1180)。前記予測モードインデックスが前記MPMグループ内の第3の候補のモード番号より大きい又は同じ場合、前記予測モードインデックスの値が1ほど増加する。そうでない場合、前記予測モードインデックスの値は維持される。
【0078】
前記最終予測モードインデックスが現在予測ユニットのイントラ予測モードのモード番号に設定される(S1190)。
【0079】
次に、予測ブロックを生成するために現在ブロックのサイズが決定される(S1200)。
【0080】
現在ブロックのサイズは変換ブロックのサイズと同じである。現在ブロックのサイズは、予測ユニットのサイズと変換サイズ情報により決定される。現在ブロックの予測ブロックと残差ブロックのサイズは、変換ユニットのサイズと同じである。変換サイズ情報は、分割構造を示すための一個又は複数個の分割フラグを含む。
【0081】
変換ユニットのサイズが現在予測ユニットのサイズと同じ場合、現在予測ユニットが現在ブロックに設定される。
【0082】
変換ユニットのサイズが現在予測ユニットのサイズより小さい場合、予測ユニットは、複数個のサブブロックからなる。各サブブロックが現在ブロックとして設定される。この場合、ステップS1300、S1400及びS1500が予測ユニットの1番目のサブブロックに対して実行される。次に、ステップS1300、S1400及びS1500が前記予測ユニット内の残りのサブブロックに対して復号化の順序通りに繰り返して実行される。同じイントラ予測モードが前記予測ユニット内の全てのサブブロックに利用される。
【0083】
次に、前記イントラ予測モードに応じて予測ブロックが生成される(S1300)。
【0084】
図6は、本発明による予測ブロックを生成する過程を説明するフローチャートである。
【0085】
現在ブロックの参照画素が全て利用可能かどうかを判断し、一つ以上の参照画素が利用可能でない場合、参照画素を生成する(S1210)。現在ブロックは、現在予測ユニット又は現在予測ユニットのサブブロックである。前記現在ブロックのサイズは、変換ユニットのサイズである。
【0086】
図7は、本発明による現在ブロックの参照画素の位置を説明するブロック図である。
図7に示すように、現在ブロックの参照画素は、(x=0,...,2N−1、y=−1)に位置する上側参照画素と、(x=−1、y=0,...,2M−1)に位置する左側参照画素と、(x=−1、y=−1)に位置するコーナー参照画素とで構成される。Nは、現在ブロックの横の長さであり、Mは、現在ブロックの縦の長さである。
【0087】
一つ以上の参照画素が利用可能でない場合、前記一つ以上の参照画素が下記のように生成される。
【0088】
全ての参照画素が利用可能でない場合、定数値に代替される。前記定数値は、全ての参照画素が2
L−1であり、Lの値は、輝度画素の値を表現するのに使われるビットの数である。
【0089】
利用可能な参照画素が利用可能でない参照画素の片側方向にのみ存在する場合、前記利用可能でない参照画素の値は、前記利用可能でない参照画素に最も近い位置の参照画素の値に代替される。
【0090】
利用可能な参照画素が利用可能でない参照画素の両側方向に存在する場合、予め決められた方向に前記利用可能でない参照画素に最も近い位置の参照画素の値に代替される。
【0091】
前記イントラ予測モード及び現在ブロックのサイズに基づいて前記参照画素が適応的にフィルタリングされる(S1220)。現在ブロックのサイズは、変換ブロックのサイズである。
【0092】
DCモードでは参照画素がフィルタリングされない。垂直モード及び水平モードでも参照画素がフィルタリングされない。前記垂直モード及び水平モード以外の方向性モードでは、参照画素が前記現在ブロックのサイズによって適応的にフィルタリングされる。
【0093】
現在ブロックのサイズが4×4の場合、全てのイントラ予測モードで前記参照画素がフィルタリングされない。8×8、16×16及び32×32のサイズで、参照画素がフィルタリングされなければならないイントラ予測モードの数は、現在ブロックのサイズが大きくなるほど増加する。
【0094】
前記復元されたイントラ予測モードに応じて参照画素を利用して現在ブロックの予測ブロックが生成される(S1230)。
【0095】
DCモードでは、(x=0,...,N−1、y=−1)に位置するN個の参照画素と、(x=−1、y=0,...,M−1)に位置するM個の参照画素を平均して予測画素が生成される。参照画素に接する予測ブロックの予測画素は、一個又は2個の前記予測画素に接する参照画素を利用してフィルタリングされる。
【0096】
垂直モードでは、垂直参照画素の値を複写して予測画素が生成される。左側参照画素に接する予測画素は、前記左側隣接参照画素とコーナー参照画素を利用してフィルタリングされる。
【0097】
水平モードでも水平参照画素の値を複写して予測画素が生成される。上側参照画素に接する予測画素は、前記上側隣接参照画素とコーナー参照画素を利用してフィルタリングされる。
【0098】
次に、前記イントラ予測モードに応じて残差ブロックが生成される(S1400)。
【0099】
図8は、本発明による残差ブロックを生成する過程を説明するフローチャートである。
【0100】
符号化された残差信号は、エントロピー復号化されて量子化係数情報を生成する(S1410)。エントロピーコーディングにCABACが使われると、前記量子化された係数情報は、重要フラグ、係数符号及び係数レベルを含む。前記重要フラグは、対応する量子化変換係数が0であるか否かを示す。前記係数符号は、0でない量子化変換係数の符号を示し、前記係数レベルは、0でない量子化変換係数の絶対値を示す。
【0101】
逆スキャンパターンが決定され、前記逆スキャンパターンによって量子化ブロックが生成される(S1420)。このステップは、
図2の逆スキャニング部202により実行される。したがって、逆スキャニング部202の動作と同様に逆スキャンパターンが決定され、量子化ブロックが生成される。
【0102】
前記量子化ブロックは、量子化パラメータを利用して逆量子化される(S1430)。
【0103】
図9は、本発明による量子化パラメータを誘導する過程を説明するフローチャートである。
【0104】
量子化ユニットの最小サイズが誘導される(S1431)。量子化ユニットの最小サイズは、LCUのサイズ又はLCUのサブブロックのサイズである。量子化ユニットの最小サイズは、ピクチャ毎に決定される。量子化ユニットの最小サイズの深さを特定するパラメータ(cu_qp_delta_enabled_info)がPPSから抽出される。量子化ユニットの最小サイズは、ピクチャ毎に下記のように誘導される。
【0105】
Log2(MinQUSize)=Log2(MaxCUSize)−cu_qp_delta_enabled_info
【0106】
MinQUSizeは、量子化ユニットの最小サイズである。MaxCUSizeは、LCUのサイズである。量子化ユニットの最小サイズを誘導するために、一つのパラメータのみが使われる。
【0107】
現在コーディングユニットの差分量子化パラメータ(dQP)が復元される(S1432)。dQPは、量子化ユニット毎に復元される。例えば、現在コーディングユニットのサイズが前記量子化ユニットの最小サイズより大きい又は同じ場合、現在コーディングユニットに対してdQPが復元される。現在コーディングユニットが符号化されたdQPを含まない場合、dQPは、0に設定される。量子化ユニットが複数個のコーディングユニットを含む場合、復号化の順序上、0でない係数を少なくとも一つ有する最初のコーディングユニットが符号化されたdQPを含む。
【0108】
前記符号化されたdQPは、算術復号化されてビンストリング(bin string)を生成し、前記ビンストリングは、dQPに変換される。前記ビンストリングは、dQPが0であるか否かを示すビンを含む。dQPが0でない場合、前記ビンストリングは、dQPの符号を示すビンとdQPの絶対値を示すビンストリングを含む。
【0109】
現在コーディングユニットの前記量子化パラメータ予測子が生成される(S1433)。前記量子化パラメータ予測子は、
図2の逆量子化部203の動作と同様に生成される。
【0110】
量子化ユニットが複数個のコーディングユニットを含む場合、復号化の順序上、1番目のコーディングユニットの量子化パラメータ予測子が生成され、前記生成された量子化パラメータ予測子が前記量子化ユニット内の全ての量子化ユニットに使われる。
【0111】
dQPと前記量子化パラメータ予測子を利用して量子化パラメータが生成される(S1434)。
【0112】
一方、ユーザ定義の量子化マトリクスも復元される。ユーザ定義の量子化マトリクスのセットが符号器からシーケンスパラメータセット又はピクチャパラメータセットを介して受信される。前記ユーザ定義の量子化マトリクスは、逆DPCMを利用して復元される。前記DPCMに対角線スキャンが使われる。前記ユーザ定義の量子化マトリクスの大きさが8×8より大きい場合、前記ユーザ定義の量子化マトリクスは、受信された8×8量子化マトリクスの係数をアップサンプリングして復元される。前記ユーザ定義の量子化マトリクスのDC係数は、シーケンスパラメータセット又はピクチャパラメータセットから抽出されることができる。例えば、前記ユーザ定義の量子化マトリクスのサイズが16×16の場合、受信された8×8量子化マトリクスの係数が1:4アップサンプリングを使用してアップサンプリングされる。
【0113】
前記逆量子化ブロックを逆変換して残差ブロックが生成される(S1440)。逆変換タイプは、予測モード及び変換ユニットのサイズによって決定される。変換タイプは、DCTベースの整数変換又はDSTベースの整数変換である。イントラ予測では、前記変換ユニットのサイズが予め決められたサイズより小さい場合、DSTベースの整数変換を使用し、そうでない場合、DCTベースの整数変換を使用する。
【0114】
次に、前記予測ブロックと前記残差ブロックを加算して復元ブロックが生成される(S1500)。
【0115】
図10は、本発明による復元ブロックを生成する装置300を説明するブロック図である。
【0116】
図10に示すように、本発明による装置300は、イントラ予測モード誘導部310、予測サイズ決定部320、予測ブロック生成部330、残差ブロック生成部340及び復元ブロック生成部350を含む。
【0117】
イントラ予測モード誘導部310は、現在予測ユニットのイントラ予測モードを誘導する。イントラ予測モード誘導部310は、
図4に示す過程と同様の過程にイントラ予測モードを誘導する。
【0118】
予測サイズ決定部320は、現在予測ユニットのサイズと変換サイズ情報を利用して現在ブロックのサイズを決定する。現在ブロックのサイズは、変換ユニットのサイズと同じである。現在ブロックの予測ブロック及び残差ブロックは、変換ユニットのサイズを有する。前記変換サイズ情報に基づいて現在予測ユニット又は現在予測ユニットのサブブロックが現在ブロックとして設定される。
【0119】
予測ブロック生成部330は、前記イントラ予測モードを利用して現在ブロックの予測ブロックを生成する。予測ブロック生成部330は、参照画素生成器331、参照画素フィルタ332及び予測ブロック生成器333を含む。
【0120】
参照画素生成器331は、一つ以上の参照画素が利用可能でない場合、参照画素を生成する。全ての参照画素が利用可能でない場合、全ての参照画素が2
L−1の値に代替される。Lの値は、輝度画素の値を表現するのに使われるビットの数である。利用可能な参照画素が利用可能でない参照画素の片側方向にのみ存在する場合、前記利用可能でない参照画素の値は、前記利用可能でない参照画素に最も近い位置の参照画素の値に代替される。利用可能な参照画素が利用可能でない参照画素の両側方向に存在する場合、予め決められた方向に前記利用可能でない参照画素に最も近い位置の参照画素の値に代替される。
【0121】
参照画素フィルタ332は、前記イントラ予測モード及び変換ユニットのサイズに基づいて前記参照画素を適応的にフィルタリングする。
【0122】
DCモードでは参照画素がフィルタリングされない。垂直モード及び水平モードでも参照画素がフィルタリングされない。前記垂直モード及び水平モード以外の方向性モードでは、参照画素が前記現在ブロックのサイズによって適応的にフィルタリングされる。
【0123】
現在ブロックのサイズが4×4の場合、全てのイントラ予測モードで前記参照画素がフィルタリングされない。8×8、16×16及び32×32のサイズで、参照画素がフィルタリングされなければならないイントラ予測モードの数は、現在ブロックのサイズが大きくなるほど増加する。例えば、垂直モード及び前記垂直モードに隣接した予め決められた個数のイントラ予測モードでは、参照画素がフィルタリングされない。水平モード及び前記水平モードに隣接した前記予め決められた個数のイントラ予測モードでは、参照画素がフィルタリングされない。前記予め決められた個数は、0〜7の一つであり、現在ブロックのサイズが大きくなるほど減少する。
【0124】
予測ブロック生成器333は、前記イントラ予測モードに応じて参照画素を利用して現在ブロックの予測ブロックを生成する。
【0125】
DCモードでは、(x=0,...,N−1、y=−1)に位置するN個の参照画素と、(x=−1、y=0,...,M−1)に位置するM個の参照画素を平均して予測ブロックの予測画素を生成する。そして、参照画素に接する予測画素は、前記予測画素に接する一個又は二個の参照画素を利用してフィルタリングされる。
【0126】
垂直モードでは、垂直参照画素の値を複写して予測画素が生成される。そして、左側参照画素に接する予測画素は、左側隣接参照画素とコーナー参照画素を利用してフィルタリングされる。
【0127】
水平モードでは、水平参照画素の値を複写して予測画素が生成される。そして、上側参照画素に接する予測画素は、左側隣接参照画素とコーナー参照画素を利用してフィルタリングされる。
【0128】
残差ブロック生成部340は、前記イントラ予測モードを利用して現在ブロックの残差ブロックを生成する。
図8に示す過程と同様の過程が前記残差ブロック生成部340により行なわれる。
【0129】
復元ブロック生成部350は、前記予測ブロックと前記残差ブロックを加算して現在ブロックの復元ブロックを生成する。
【0130】
以上、実施例を参照して説明したが、該当技術分野の熟練された当業者は、特許請求の範囲に記載された本発明の思想及び領域から外れない範囲内で本発明を多様に修正及び変更可能であることを理解することができる。