【文献】
Benjamin Bross et al.,High efficiency video coding (HEVC) text specification draft 8,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 10th Meeting: Stockholm, SE,2012年 7月28日,[JCTVC-J1003_d7]
(58)【調査した分野】(Int.Cl.,DB名)
前記インター予測情報は、参照ピクチャインデックス、差分動きベクトル及び前記動きベクトル候補リストで動きベクトル予測子として使用される動きベクトル候補を特定するインデックスを含むことを特徴とする請求項1に記載の方法。
前記予測ブロックを生成するステップにおいては、前記インデックスが指示する動きベクトル候補と前記差分動きベクトルを利用して動きベクトルを誘導し、前記参照ピクチャインデックスが指示する参照ピクチャを利用して前記予測ブロックを生成することを特徴とする請求項2に記載の方法。
前記差分量子化パラメータは、前記差分量子化パラメータの絶対値を示すビンストリング(bin string)と、前記差分量子化パラメータの符号を示すビン(bin)を復
元して生成されることを特徴とする請求項1に記載の方法。
前記左側及び上側量子化パラメータが両方とも利用可能でない場合、前記以前量子化パラメータが前記量子化パラメータ予測子に設定されることを特徴とする請求項1に記載の方法。
【発明を実施するための形態】
【0010】
以下、本発明の多様な実施例を例示図面を参照して詳細に説明する。本発明は、多様な変更を加えることができ、多様な実施例を有することができ、本発明を特定の実施形態に対して限定するものではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物乃至代替物を含むと理解しなければならない。各図面の説明において、類似の構成要素に対して類似の参照符号を使用した。
【0011】
本発明による映像符号化装置及び映像復号化装置は、パソコン、個人携帯端末、移動マルチメディアプレーヤー、スマートフォン又は無線通信ターミナルなどのようにユーザターミナルである。前記映像符号化装置及び映像復号化装置は、多様な機器と通信する通信ユニットと、映像を符号化又は復号化するために多様なプログラムとデータを格納するためのメモリとを具備する。
【0012】
図1は、本発明による映像符号化装置100を示すブロック図である。
【0013】
図1を参照すると、本発明による映像符号化装置100は、ピクチャ分割部110、イントラ予測部120、インター予測部130、変換部140、量子化部150、スキャニング部160、エントロピー符号化部170、逆量子化部155、逆変換部145、後処理部180、ピクチャ格納部190、減算部192及び加算部194を含む。
【0014】
ピクチャ分割部110は、ピクチャ又はスライスを複数個のLCU(Largest Coding Unit)に分割し、前記各々のLCUを一つ以上のコーディングユニットに分割する。LCUのサイズは、32×32、64×64又は128×128である。ピクチャ分割部110は、各コーディングユニットの予測モード及び予測ユニットのサイズを決定する。
【0015】
一つのLCUは、1個又は複数個のコーディングユニット(coding unit)を含む。前記LCUは、分割構造を示すために、再帰的クワッドツリー構造(recursive quadtree structure)を有する。コーディングユニットの最大サイズ及び最小サイズを示す情報がシーケンスパラメータセット(sequence parameter set)に含まれる。前記分割構造は、1個又は複数個の分割コーディングユニットフラグ(split_cu_flag)を利用して特定される。コーディングユニットは、2N×2Nのサイズを有する。LCUが64×64ブロックであり、且つ最小コーディングユニット(SCU:smallest coding unit)が8×8ブロックの場合、コーディングユニットのサイズは、64×64、32×32、16×16又は8×8である。
【0016】
コーディングユニットは、1個又は複数個の予測ユニット(prediction unit)を含む。イントラ予測において、前記予測ユニットのサイズは、2N×2N又はN×Nである。インター予測において、前記予測ユニットのサイズは、分割モードにより特定される。コーディングユニットが対称に分割されると、分割モードは、2N×2N、2N×N、N×2N又はN×Nである。コーディングユニットが非対称に分割されると、分割モードは、hN×2N、(2−h)N×2N、2N×hN又は2N×(2−h)Nである。
【0017】
コーディングユニットは、1個又は複数個の変換ユニット(transform unit)を含む。変換ユニットは、分割構造を示すために、再帰的クワッドツリー構造(recursive quadtree structure)を有する。分割構造は、1個又は複数個の分割変換ユニットフラグ(split_transform_flag)により表現される。変換ユニットの最大サイズ及び最小サイズを示すパラメータがシーケンスパラメータセットに含まれる。色差変換ユニットは、変換ユニットの1/2の幅と1/2の高さを有し、色差変換ユニットの最小サイズは、4×4である。
【0018】
イントラ予測部120は、現在予測ユニットのイントラ予測モードを決定し、前記イントラ予測モードを利用して予測ブロックを生成する。
【0019】
インター予測部130は、ピクチャ格納部190に格納されている一つ以上の参照ピクチャを利用して現在予測ユニットの動き情報を決定し、前記予測ユニットの予測ブロックを生成する。前記動き情報は、参照ピクチャを示す一つ以上の参照ピクチャインデックスと一つ以上の動きベクトルを含む。
【0020】
変換部140は、現在ブロックと予測ブロックを使用して生成される残差信号を変換して変換ブロックを生成する。前記残差信号は、変換ユニット単位に変換される。変換マトリクスは、予測モード及び変換ユニットのサイズにより決定される。前記変換マトリクスは、DCTベースの整数変換マトリクス又はDSTベースの整数変換マトリクスである。インター予測では、DCTベースの整数変換マトリクスが使われる。
【0021】
量子化部150は、前記変換ブロックを量子化するための量子化パラメータを決定する。量子化パラメータは、量子化ステップサイズを意味する。量子化パラメータは、量子化ユニット毎に決定される。量子化ユニットのサイズは、変更されることができ、コーディングユニットの許容可能なサイズのうち一つである。コーディングユニットのサイズが量子化ユニットの最小サイズより大きい又は同じ場合、前記コーディングユニットは、量子化ユニットになる。複数個のコーディングユニットが最小サイズの量子化ユニットに含まれることもできる。量子化ユニットの最小サイズは、ピクチャ毎に決定され、量子化ユニットの最小サイズを特定するパラメータは、ピクチャパラメータセット(picture parameter set)に含まれる。
【0022】
量子化部150は、量子化パラメータ予測子を生成し、量子化パラメータから量子化パラメータ予測子を減算して差分量子化パラメータを生成する。前記差分量子化パラメータは、符号化される。
【0023】
前記量子化パラメータ予測子は、隣接コーディングユニットの量子化パラメータ及び以前コーディングユニットの量子化パラメータを利用して下記のように生成される。
【0024】
左側量子化パラメータ、上側量子化パラメータ及び以前量子化パラメータは、前記順序通りに検索される。少なくとも2個の量子化パラメータが利用可能な場合、前記順序に検索される最初の2個の利用可能な量子化パラメータの平均値を量子化パラメータ予測子に設定し、一つの量子化パラメータのみが利用可能な場合は、前記利用可能な量子化パラメータが量子化パラメータ予測子に設定される。即ち、前記上側及び左側量子化パラメータが利用可能な場合、前記上側及び左側量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記上側及び左側量子化パラメータのうち一つのみが利用可能な場合、前記利用可能な量子化パラメータと前記以前パラメータの平均値が前記量子化パラメータ予測子に設定される。前記上側及び左側量子化パラメータが両方とも利用可能でない場合、前記以前量子化パラメータが前記量子化パラメータ予測子に設定される。前記平均値は、四捨五入した値である。
【0025】
前記差分量子化パラメータは、二進化過程を介して前記差分量子化パラメータの絶対値を示すビン(bin)と前記差分量子化パラメータの符号を示すビンに変換され、前記ビンは、算術符号化される。dQPの絶対値が0の場合、符号を示すビンは省略されることができる。トランケーテッドユーナリ(truncated unary)方式が前記絶対値の二進化表現に使われる。
【0026】
量子化部150は、量子化マトリクス及び量子化パラメータを利用して変換ブロックを量子化して量子化ブロックを生成する。量子化ブロックは、逆量子化/逆変換部180に提供される。
【0027】
スキャニング部160は、量子化ブロックにスキャンパターンを適用する。
【0028】
インター予測では、エントロピー符号化のためにCABACが使われると、対角線スキャンがスキャンパターンとして使われる。量子化ブロックの係数は、3個の量子化係数成分に分離される。前記量子化係数成分は、重要係数(significant coefficients)、係数符号(coefficient flags)及び係数レベル(coefficient levels)である。対角線スキャンが前記係数成分の各々に適用される。重要係数は、対応する量子化係数が0であるか否かを示す。係数符号は、0でない量子化係数の符号を示す。係数レベルは、0でない量子化係数の絶対値を示す。
【0029】
変換ユニットのサイズが予め決められたサイズより大きい場合、前記量子化ブロックは、複数個のサブセットに分割され、対角線スキャンが各サブセットに適用される。各サブセットの重要フラグ、係数符号及び係数レベルが前記対角線スキャンによって各々スキャンされる。前記予め決められたサイズは、4×4である。前記サブセットは、16個の変換係数を含む4×4ブロックである。
【0030】
サブセットをスキャンするためのスキャンパターンは、前記各サブセットの量子化された変換係数をスキャンするためのスキャンパターンと同じである。各サブセットの重要フラグ、係数符号及び係数レベルは、逆方向にスキャンされる。前記サブセットも逆方向にスキャンされる。
【0031】
0でない最後の係数位置を示すパラメータが符号化されて復号器に送信される。前記パラメータは、量子化ブロック内の0でない最後の量子化係数の位置を示す。ノンゼロサブセットフラグ(non−zero subset flags)が最初のサブセット及び最後のサブセット以外のサブセットに対して定義される。前記最初のサブセットは、DC係数を含む。前記最後のサブセットは、0でない最後の量子化係数を含む。前記ノンゼロサブセットは、サブセットが0でない係数を含むかどうかを示す。
【0032】
逆量子化/逆変換部180は、量子化ブロックの量子化された変換係数を逆量子化し、逆量子化ブロックを逆変換して残差ブロックを生成する。
【0033】
後処理部190は、復元されたピクチャで発生するブロッキングアーチファクトを除去するためのデブロッキングフィルタリング過程を実行する。
【0034】
ピクチャ格納部195は、後処理部190から後処理された映像を受信し、ピクチャ単位に前記映像を格納する。ピクチャは、フレーム又はフィールドである。
【0035】
エントロピー符号化部170は、スキャニング部160から受信されるスキャンされた係数成分、イントラ予測部120から受信されるイントラ予測情報、インター予測部130から受信される動き情報などをエントロピー符号化する。
【0036】
図2は、本発明によるインター予測モードにおける映像データを符号化する方法を説明するフローチャートである。
【0037】
現在ブロックの動き情報が決定される(S110)。現在ブロックは、予測ユニットである。現在ブロックのサイズは、コーディングユニットのサイズ及び分割モードにより決定される。
【0038】
動き情報は、予測タイプによって変わる。予測タイプが単方向予測の場合、前記動き情報は、参照リスト0のピクチャを特定する参照インデックスと、一つの動きベクトルとを含む。予測タイプが両方向予測の場合、前記動き情報は、参照リスト0のピクチャ及び参照リスト1のピクチャを特定する2個の参照インデックスと、リスト0動きベクトル及びリスト1動きベクトルとを含む。
【0039】
前記動き情報を利用して現在ブロックの予測ブロックが生成される(S120)。動きベクトルが画素位置を示す場合、前記動きベクトルにより特定される参照ピクチャのブロックを複写して予測ブロックを生成する。前記動きベクトルがサブ画素位置を示す場合、予測ブロックは、参照ピクチャの画素を補間して生成される。
【0040】
前記現在ブロックと予測ブロックを利用して残差ブロックが生成される(S130)。
【0041】
前記残差ブロックが符号化される(S140)。残差ブロックは、変換ユニットと同じサイズを有する。予測ユニットが変換ユニットより大きい場合、現在ブロックと予測ブロックとの間の残差信号は、複数個の残差ブロックに分けられる。一つ以上の残差ブロックが
図1の変換部140、量子化部150、スキャニング部160及びエントロピー符号化部170により符号化される。
【0042】
前記動き情報が符号化される(S150)。動き情報は、現在ブロックの空間候補と時間候補を利用して予測符号化されることができる。動き情報は、スキップモード、マージモード又はAMVPモードに符号化される。スキップモードでは、予測ユニットがコーディングユニットのサイズを有し、動き情報は、マージモードと同様の方法により符号化される。
【0043】
図3は、本発明によるAMVPモードにおける動き情報を符号化する方法を説明するフローチャートである。
図4は、本発明による空間動きベクトル候補ブロックの位置を説明する概念図である。
【0044】
左側動きベクトル候補は、現在ブロックの左側ブロック(ブロックA)又は左下側ブロック(ブロックD)の動きベクトルである。上側動きベクトル候補は、現在ブロックの上側ブロック(ブロックB)、右上側ブロック(ブロックC)又は左上側ブロック(ブロックE)である。隣接ブロックは、現在ブロックと比較して4個のタイプのうち一つに属する。隣接ブロックが現在ブロックと同じ参照ピクチャ及び同じ参照ピクチャリストを有する場合、前記隣接ブロックは、第1のタイプに属する。隣接ブロックが現在ブロックと同じ参照ピクチャ及び異なる参照ピクチャリストを有する場合、前記隣接ブロックは、第2のタイプに属する。隣接ブロックが現在ブロックと異なる参照ピクチャ及び同じ参照ピクチャリストを有する場合、前記隣接ブロックは、第3のタイプに属する。隣接ブロックが現在ブロックと異なる参照ピクチャ及び異なる参照ピクチャリストを有する場合、前記隣接ブロックは、第4のタイプに属する。
【0045】
左側動きベクトル候補が誘導される(S210)。ブロックDが第1のタイプ又は第2のタイプに属するかどうかを決定する。ブロックDが第1のタイプ又は第2のタイプに属する場合、ブロックDの動きベクトルが左側動きベクトル候補に設定される。ブロックDが第1のタイプ又は第2のタイプに属しない場合、ブロックAが第1のタイプ又は第2のタイプに属するかどうかを決定する。ブロックAが第1のタイプ又は第2のタイプに属する場合、ブロックAの動きベクトルが左側動きベクトル候補に設定される。ブロックAが第1のタイプ又は第2のタイプに属しない場合、ブロックDが第3のタイプ又は第4のタイプに属するかどうかを決定する。ブロックDが第3のタイプ又は第4のタイプに属する場合、ブロックDのスケーリングされた動きベクトルが左側動きベクトル候補に設定される。ブロックDが第3のタイプ又は第4のタイプに属しない場合、ブロックAが第3のタイプ又は第4のタイプに属するかどうかを決定する。ブロックAが第3のタイプ又は第4のタイプに属する場合、ブロックAのスケーリングされた動きベクトルが左側動きベクトル候補に設定される。ブロックAが第3のタイプ又は第4のタイプに属しない場合、左側動きベクトル候補は、利用可能でないと設定される。
【0046】
上側動きベクトル候補が誘導される(S220)。上側動きベクトル候補は、左側動きベクトル候補に依存して決定される。ブロックC、B及びEのいずれか一つが前記第1のタイプ又は第2のタイプに属する場合、ブロックC、B、Eの順に検索する時、接する最初のブロックの動きベクトルが上側動きベクトルに設定される。しかし、ブロックC、B及びEの全てが第1のタイプ及び第2のタイプに属しない場合、上側動きベクトルは、下記のように決定される。
【0047】
左側動きベクトルが第1又は第2のタイプに属する場合、第3又は第4のタイプに属する最初のブロックの動きベクトルが上側動きベクトル候補に設定される。ブロックC、B及びEの全てが第3のタイプ又は第4のタイプに属しない場合、上側動きベクトルは、利用可能でないと設定される。前記最初のブロックは、ブロックC、B及びEの順序に検索される時、接する最初のブロックである。
【0048】
左側動きベクトルが第3又は第4のタイプに属する場合、前記動きベクトル候補は、利用可能でないと設定される。
【0049】
時間動きベクトル候補が誘導される(S230)。時間動きベクトル候補は、下記のように誘導される。左側動きベクトル及び上側動きベクトルが両方とも利用可能であり、且つ互いに異なる場合、時間動きベクトル候補は、誘導されない。
【0050】
まず、時間候補ピクチャが決定される。時間候補ピクチャは、時間候補ブロックを含む。スライス内で一つの時間候補ピクチャが使われる。時間候補ピクチャの参照ピクチャインデックスは、0に設定されることもできる。
【0051】
現在スライスがPスライスの場合、参照ピクチャリスト0の参照ピクチャのうち一つが時間候補ピクチャとして設定される。現在スライスがBスライスの場合、参照ピクチャリスト0と1の参照ピクチャのうち一つが時間候補ピクチャとして設定される。現在スライスがBスライスの場合、時間候補ピクチャが参照ピクチャリスト0に属するか、又は1に属するかを示すリスト指示子がスライスヘッダに含まれる。時間候補ピクチャを特定する参照ピクチャインデックスがスライスヘッダに含まれることができる。
【0052】
次に、時間候補ブロックが決定される。時間候補ブロックは、第1の候補ブロック及び第2の候補ブロックのうち一つである。第1の候補ブロックが利用可能な場合、第1の候補ブロックが時間候補ブロックとして設定される。第1の候補ブロックが利用可能でない場合、第2の候補ブロックが時間候補ブロックとして設定される。第2の候補ブロックが利用可能でない場合、時間候補ブロックは、利用可能でないと設定される。
【0053】
図5は、本発明による時間候補ブロックの位置を説明する概念図である。
図5に示すように、第1の候補ブロックは、ブロックCの右下側コーナーブロック(ブロックH)である。ブロックCは、現在ブロックと同じサイズを有して同じ位置に存在し、前記時間候補ピクチャに位置する。第2の候補ブロックは、ブロックCのセンターの右下側画素を含むブロックである。
【0054】
時間候補ブロックが決定されると、時間候補ブロックの動きベクトルが前記時間動きベクトル候補に設定される。
【0055】
動きベクトル候補リストが構成される(S240)。動きベクトル候補は、左側、上側及び時間動きベクトル候補の順序に整列される。左側及び上側動きベクトル候補が同じ場合、上側動きベクトルが前記動きベクトル候補リストから削除される。
【0056】
動きベクトル候補の数が予め決められた数より小さい場合、一つ以上の動きベクトルが前記動きベクトルリストに追加される(S250)。前記予め決められた数は、2である。
【0057】
動きベクトル候補が動きベクトル予測子に選択され、現在ブロックの動きベクトルから前記動きベクトル候補を減算して差分動きベクトルが生成される(S260)。
【0058】
参照ピクチャインデックス、差分動きベクトル及びAMVPインデックスが符号化される(S270)。AMVPインデックスは、動きベクトル予測子を特定する。
【0059】
図6は、本発明による映像復号化装置200を示すブロック図である。
【0060】
本発明による映像復号化装置200は、エントロピー復号化部210、逆スキャニング部220、逆量子化部230、逆変換部240、イントラ予測部250及びインター予測部260、後処理部270、ピクチャ格納部280及び加算部290を含む。
【0061】
エントロピー復号化部210は、CABAD(context−adaptive binary arithmetic decoding)方法を利用して受信されたビットストリームから、イントラ予測情報、インター予測情報及び量子化係数成分を抽出する。
【0062】
逆スキャニング部220は、逆スキャンパターンを量子化係数成分に適用して量子化ブロックを生成する。インター予測では、逆スキャンパターンが対角線スキャンである。量子化係数成分は、重要フラグ、係数符号及び係数レベルを含む。
【0063】
変換ユニットのサイズが予め決められたサイズより大きい場合、重要フラグ、係数符号及び係数レベルが対角線スキャンによってサブセット単位に逆スキャンされてサブセットを生成し、前記サブセットが前記対角線スキャンによって逆スキャンされて量子化ブロックを生成する。前記予め決められたサイズは、サブセットのサイズである。前記サブセットは、16個の変換係数を含む4×4ブロックである。重要フラグ、係数符号及び係数レベルは、逆方向にスキャンされる。前記サブセットも逆方向にスキャンされる。
【0064】
図7は、本発明による逆スキャンパターンを説明する概念図である。
【0065】
図7に示すように、変換ユニットのサイズが16×16の場合、16個の4×4サブセットが生成される。前記サブセットは、逆方向に生成される。量子化係数成分が逆方向に逆スキャンされてサブセットを生成する。
【0066】
図8は、本発明による量子化ブロックを生成する方法を説明する概念図である。
【0067】
図8に示すように、最初のサブセットは、DC係数を含み、最後のサブセットは、0でない最後の係数を含む。サブセットフラグが前記最初のサブセットと最後のサブセット以外のサブセットに定義される。サブセットフラグは、サブセットが0でない係数を含むかどうかを示す。
【0068】
逆量子化部230は、エントロピー復号化部210から差分量子化パラメータを受信し、コーディングユニットの量子化パラメータ予測子を生成する。量子化パラメータは、
図1の量子化部150による動作と同様の過程を介して生成される。そして、前記差分量子化パラメータと前記量子化パラメータ予測子を加えて現在コーディングユニットの量子化パラメータを生成する。現在コーディングユニットの差分量子化パラメータが符号器から受信されない場合、前記差分量子化パラメータは、0に設定される。
【0069】
逆量子化部230は、量子化ブロックを逆量子化する。
【0070】
逆変換部240は、前記逆量子化されたブロックを逆変換して残差ブロックを復元する。逆変換タイプは、予測モード及び変換ユニットのサイズによって決定される。逆変換タイプは、DCTベースの整数変換又はDSTベースの整数変換である。インター予測では、DCTベースの整数変換が使われる。
【0071】
イントラ予測部250は、イントラ予測情報を利用して現在予測ユニットのイントラ予測モードを復元し、前記復元されたイントラ予測モードに応じて予測ブロックを生成する。
【0072】
インター予測部260は、インター予測情報を利用して現在予測ユニットの動き情報を復元し、前記動き情報を利用して予測ブロックを生成する。
【0073】
後処理部270は、
図1の後処理部180と同様に動作する。
【0074】
ピクチャ格納部280は、後処理部270から後処理された映像を受信し、ピクチャ単位に前記映像を格納する。ピクチャは、フレーム又はフィールドである。
【0075】
加算部290は、復元された残差ブロックと予測ブロックを加えて復元ブロックを生成する。
【0076】
図9は、本発明によるインター予測モードにおける映像復号化方法を説明するフローチャートである。
【0077】
現在ブロックの動き情報が誘導される(S310)。現在ブロックは、予測ユニットである。現在ブロックのサイズは、コーディングユニットのサイズ及び分割モードに応じて決定される。
【0078】
動き情報は、予測タイプによって変わる。予測タイプが単方向予測の場合、前記動き情報は、参照リスト0のピクチャを特定する参照インデックスと、一つの動きベクトルとを含む。予測タイプが両方向予測の場合、前記動き情報は、参照リスト0のピクチャ及び参照リスト1のピクチャを特定する2個の参照インデックスと、リスト0動きベクトル及びリスト1動きベクトルとを含む。
【0079】
動き情報は、符号化モードに応じて適応的に復号化される。動き情報の符号化モードは、スキップフラグとマージフラグにより決定される。スキップフラグが1の場合、マージフラグが存在せず、符号化モードは、スキップモードである。スキップフラグが0であり、且つマージフラグが1の場合、符号化モードは、マージモードである。スキップフラグ及びマージフラグが0の場合、符号化モードは、AMVPモードである。
【0080】
前記動き情報を利用して現在ブロックの予測ブロックが生成される(S320)。
【0081】
動きベクトルが画素位置を示す場合、予測ブロックは、前記動きベクトルにより特定される参照ピクチャのブロックを複写して生成される。動きベクトルがサブ画素位置を示す場合、予測ブロックは、参照ピクチャの画素を補間して生成される。
【0082】
残差ブロックが生成される(S330)。残差ブロックは、
図6のエントロピー復号化部210、逆スキャニング部220、逆量子化部230及び逆変換部240により生成される。
【0083】
前記予測ブロックと残差ブロックを利用して復元ブロックが生成される(S340)。
【0084】
予測ブロックは、予測ユニットと同じサイズを有し、残差ブロックは、変換ユニットと同じサイズを有する。したがって、同じサイズの残差信号と予測信号が加えられて復元信号が生成される。
【0085】
図10は、本発明によるAMVPモードにおける動き情報を誘導する方法を説明するフローチャートである。
【0086】
参照ピクチャインデックス、差分動きベクトル及びAMVPインデックスがビットストリームから抽出される(S410)。AMVPインデックスは、動きベクトル予測子を特定する。
【0087】
左側動きベクトル候補が誘導される(S420)。左側動きベクトル予測子は、
図3のS210に示すように誘導される。
【0088】
上側動きベクトル候補が誘導される(S430)。上側動きベクトル予測子は、
図3のS220に示すように誘導される。
【0089】
時間動きベクトル候補が誘導される(S440)。時間動きベクトル予測子は、
図3のS230に示すように誘導される。前記左側動きベクトル及び上側動きベクトルが両方とも利用可能であり、且つ互いに異なる場合、時間動きベクトル候補は、誘導されない。
【0090】
動きベクトル候補リストが構成される(S450)。動きベクトル候補リストは、左側、上側及び時間動きベクトル候補の順序に整列される。左側動きベクトル候補と上側動きベクトル候補が同じ場合、上側動きベクトル候補が動きベクトル候補リストから除去されることができる。
【0091】
動きベクトル候補の数が2より小さい場合、一つ以上の0動きベクトルが前記リストに追加されることができる(S460)。
【0092】
AMVPインデックスにより特定される動きベクトル候補が動きベクトル予測子に設定される(S470)。
【0093】
差分動きベクトルと動きベクトル予測子を加えて現在ブロックの動きベクトルが生成される(S480)。
【0094】
図11は、本発明によるインター予測モードにおける残差ブロックを生成する過程を説明するフローチャートである。
【0095】
量子化係数成分がエントロピー復号化されて生成される(S510)。
【0096】
量子化ブロックは、対角線スキャンによって前記量子化係数成分を逆スキャンして生成する(S520)。量子化係数成分は、重要フラグ、係数符号及び係数レベルを含む。
【0097】
変換ユニットのサイズが予め決められたサイズより大きい場合、対角線スキャンによって、重要フラグ、係数符号及び係数レベルがサブセット単位に逆スキャンされてサブセットを生成し、前記サブセットは、対角線スキャンによって逆スキャンされて量子化ブロックを生成する。前記予め決められたサイズは、サブセットのサイズと同じである。サブセットは、16個の係数を含む4×4ブロックである。重要フラグ、係数符号及び係数レベルは、逆方向に逆スキャンされる。サブセットも逆方向に逆スキャンされる。
【0098】
0でない量子化係数の位置を示すパラメータ及びノンゼロサブセットフラグがビットストリームから抽出される。符号化されたサブセットの数は、前記パラメータに基づいて決定される。ノンゼロサブセットフラグは、対応サブセットが0でない係数を少なくとも一つ含むかどうかを決定するために使われる。ノンゼロサブセットフラグが1の場合、サブセットは、対角線スキャンを使用して生成される。最初及び最後のサブセットは、逆スキャンパターンを利用して生成される。
【0099】
逆量子化マトリクス及び量子化パラメータを利用して量子化ブロックが逆量子化される(S530)。
【0100】
量子化パラメータは、下記のように誘導される。
【0101】
量子化ユニットの最小サイズが決定される。ビットストリームのPPSからパラメータ(cu_qp_delta_enabled_info)が抽出され、最小量子化ユニットのサイズは、前記パラメータを利用して決定される。
【0102】
現在コーディングユニットの差分量子化パラメータが誘導される。符号化された差分量子化パラメータは、算術復号化され、差分量子化パラメータの絶対値を示すビンストリング(bin string)と差分量子化パラメータの符号を示すビンが生成される。前記ビンストリングは、トランケーテッドユーナリコード(truncated unary code)である。差分量子化パラメータの絶対値が0の場合、前記符号を示すビンは、存在しない。差分量子化パラメータは、前記絶対値を示すビンストリングと符号を示すビンを利用して誘導される。
【0103】
現在コーディングユニットの前記量子化パラメータ予測子が生成される。前記量子化パラメータ予測子は、隣接コーディングユニットの量子化パラメータと以前コーディングユニットの量子化パラメータを利用して生成される。
【0104】
左側量子化パラメータ、上側量子化パラメータ及び以前量子化パラメータは、前記順序通りに検索される。少なくとも2個の量子化パラメータが利用可能な場合、前記順序に検索される最初の2個の利用可能な量子化パラメータの平均値を量子化パラメータ予測子に設定し、一つの量子化パラメータのみが利用可能な場合は、前記利用可能な量子化パラメータが量子化パラメータ予測子に設定される。即ち、前記左側量子化パラメータ及び前記上側量子化パラメータが両方とも利用可能な場合、前記左側量子化パラメータ及び前記上側量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記左側量子化パラメータ及び前記上側量子化パラメータのうち一つのみが利用可能な場合、前記利用可能な量子化パラメータと前記以前量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記左側量子化パラメータ及び前記上側量子化パラメータが両方とも利用可能でない場合、前記以前量子化パラメータが前記量子化パラメータ予測子に設定される。
【0105】
最小量子化ユニットが複数個のコーディングユニットを含む場合、復号化の順序上、最初のコーディングユニットの量子化パラメータ予測子が生成され、前記生成された量子化パラメータ予測子が前記量子化ユニット内の全てのコーディングユニットに使われる。
【0106】
前記差分量子化パラメータと前記量子化パラメータ予測子を利用して量子化パラメータが生成される。
【0107】
前記逆量子化ブロックを逆変換して残差ブロックを生成する(S540)。1次元の水平及び垂直逆DCTベースの変換が使われる。
【0108】
以上、実施例を参照して説明したが、該当技術分野の熟練された当業者は、特許請求の範囲に記載された本発明の思想及び領域から外れない範囲内で本発明を多様に修正及び変更可能であることを理解することができる。