【文献】
Shan Liu et al.,Method and syntax for partial CU merge,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,5th Meeting: Geneva, CH,2011年 3月,JCTVC-E085,pp.1-5
【文献】
Masaaki Kobayashi and Masato Shima,Sub-LCU level delta QP signaling,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,5th Meeting: Geneve, CH,2011年 3月,JCTVC-E198,pp.1-9
【文献】
Yunfei Zheng et al.,Unified Motion Vector Predictor Selection for Merge and AMVP,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,5th Meeting: Geneva,2011年 3月,JCTVC-E396,pp.1-5
【文献】
Chao Pang et al.,CE4 Subtest2: QP prediction with previous CU (subtest 2.1.a),Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, Italy,2011年 7月,JCTVC-F156_v2,pp.1-2
【文献】
Yunfei Zheng et al.,CE9: Unified Merge and AMVP candidates selection (UNI03),Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F297_r1,pp.1-11
【文献】
Jianle Chen and Tammy Lee,MVP index parsing with fixed number of candidates,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F402_r1,pp.1-17
【文献】
Hiroya Nakamura et al.,Unification of derivation process for merge mode and MVP,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F419,pp.1-10
【文献】
Kazushi Sato,CE4: Result of 2.3.d and 2.3.e,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F420r1,pp.1-5
【文献】
Kenji Kondo et al.,Improvement of delta-QP Coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F422r1,pp.1-8
【文献】
Toshiyasu Sugio and Takahiro Nishi,Parsing Robustness for Merge/AMVP,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F470_r4,pp.1-15
【文献】
Hiroya Nakamura et al.,Non-CE4: Compatible QP prediction with RC and AQ,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,8th Meeting: San Jose, CA, USA,2012年 2月,JCTVC-H0204_r2,pp.1-12
(58)【調査した分野】(Int.Cl.,DB名)
前記量子化ユニットは、少なくとも一つのコーディングユニットを含み、前記量子化ユニットの大きさは、ピクチャ単位で決定されることを特徴とする請求項1に記載の方法。
前記マージ候補リストを構成するステップは、前記利用可能な空間マージ候補及び時間マージ候補の個数が予め決められた個数より小さい場合、一つ以上の候補をマージ候補として追加するステップをさらに含むことを特徴とする請求項1に記載の方法。
前記時間マージ候補の動きベクトルは、時間マージ候補ピクチャ内の時間マージ候補ブロックの動きベクトルであり、前記時間マージ候補ピクチャは、スライス内で同じであることを特徴とする請求項1に記載の方法。
【発明を実施するための形態】
【0009】
以下、本発明の多様な実施例を例示図面を参照して詳細に説明する。本発明は、多様な変更を加えることができ、多様な実施例を有することができ、本発明を特定の実施形態に対して限定するものではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物乃至代替物を含むと理解しなければならない。各図面の説明において、類似の構成要素に対して類似の参照符号を使用した。
【0010】
本発明による映像符号化装置及び映像復号化装置は、パソコン、個人携帯端末、移動マルチメディアプレーヤー、スマートフォン又は無線通信ターミナルなどのようにユーザターミナルである。前記映像符号化装置及び映像復号化装置は、多様な機器と通信する通信ユニットと映像を符号化又は復号化するために、多様なプログラムとデータを格納するためのメモリを具備する。
【0011】
図1は、本発明による映像符号化装置100を示すブロック図である。
【0012】
図1を参照すると、本発明による映像符号化装置100は、ピクチャ分割部110、イントラ予測部120、インター予測部130、変換部140、量子化部150、スキャニング部160、エントロピー符号化部170、逆量子化/逆変換部180、後処理部190及びピクチャ格納部195を含む。
【0013】
ピクチャ分割部110は、ピクチャ又はスライスを複数個のLCU(LargestCoding Unit)に分割し、前記各々のLCUを一つ以上のコーディングユニットに分割する。LCUのサイズは、32×32、64×64又は128×128である。ピクチャ分割部110は、各コーディングユニットの予測モード及び分割モード(partitioning mode)を決定する。
【0014】
一つのLCUは、一個又は複数個のコーディングユニット(coidngunit)を含む。前記LCUは、分割構造を示すために、再帰的クワッドツリー構造(recursive quadtree structure)を有する。コーディングユニットの最大サイズ及び最小サイズを示す情報がシーケンスパラメータセット(sequence parameter set)に含まれる。前記分割構造は、一個又は複数個の分割コーディングユニットフラグ(split_cu_flag)を利用して特定される。コーディングユニットは、2N×2Nのサイズを有する。LCUのサイズが64×64であり、且つ最小コーディングユニット(SCU:smallestcoding unit)が8×8の場合、コーディングユニットは、64×64、32×32、16×16又は8×8である。
【0015】
コーディングユニットは、一個又は複数個の予測ユニット(predictionunit)を含む。イントラ予測において、前記予測ユニットのサイズは、2N×2N又はN×Nである。インター予測において、前記予測ユニットのサイズは、前記分割モードにより特定される。コーディングユニットが対称に分割されると、分割モードは、2N×2N、2N×N、N×2N及びN×Nのうち一つである。コーディングユニットが非対称に分割されると、分割モードは、2N×nU、2N×nD、nL×2N及びnR×2Nのうち一つである。ハードウェアの複雑度を減らすために、コーディングユニットのサイズに基づいて分割モードが許容される。コーディングユニットが最小サイズを有する場合、非対称分割が許容されない。また、コーディングユニットが最小サイズを有する場合、N×N分割モードが許容されない。
【0016】
コーディングユニットは、一個又は複数個の変換ユニット(transformunit)を含む。変換ユニットは、分割構造を示すために、再帰的クワッドツリー構造(recursive quadtree structure)を有する。分割構造は、一個又は複数個の分割変換ユニットフラグ(split_tu_flag)により表現される。変換ユニットの最大サイズ及び最小サイズを示すパラメータがシーケンスパラメータセットに含まれる。
【0017】
イントラ予測部120は、現在予測ユニットのイントラ予測モードを決定し、前記イントラ予測モードを利用して予測ブロックを生成する。
【0018】
インター予測部130は、ピクチャ格納部195に格納されている一つ以上の参照ピクチャを利用して現在予測ユニットの動き情報を決定し、前記予測ユニットの予測ブロックを生成する。前記動き情報は、参照ピクチャを示す一つ以上の参照ピクチャインデックスと一つ以上の動きベクトルを含む。
【0019】
変換部140は、残差ブロックを変換して変換ブロックを生成する。前記残差ブロックは、変換ユニットのサイズを有する。予測ユニットが変換ユニットより大きい場合、現在ブロックと予測ブロックとの間の残差信号は、複数個の残差ブロックに分割される。
【0020】
量子化部150は、前記変換ブロックを量子化するための量子化パラメータを決定する。量子化パラメータは、量子化ステップサイズを意味する。量子化パラメータは、量子化ユニット毎に決定される。量子化ユニットのサイズは、変更されることができ、コーディングユニットの許容可能なサイズのうち一つである。コーディングユニットのサイズが最小サイズより大きい又は同じ場合、前記コーディングユニットは、量子化ユニットになる。複数個のコーディングユニットが最小サイズの量子化ユニットに含まれることもできる。量子化ユニットの最小サイズは、ピクチャ毎に決定され、量子化ユニットの最小サイズを特定するパラメータは、ピクチャパラメータセット(pictureparameter set)に含まれる。
【0021】
量子化部150は、量子化パラメータ予測子を生成し、量子化パラメータから量子化パラメータ予測子を減算して差分量子化パラメータを生成する。前記差分量子化パラメータは、符号化される。
【0022】
前記量子化パラメータ予測子は、隣接コーディングユニットの量子化パラメータ及び以前コーディングユニットの量子化パラメータを利用して下記のように生成される。
【0023】
左側量子化パラメータ、上側量子化パラメータ及び以前量子化パラメータは、前記順序通りに検索される。少なくとも2個の量子化パラメータが利用可能な場合、前記順序に検索される最初の2個の利用可能な量子化パラメータの平均値を量子化パラメータ予測子に設定し、一つの量子化パラメータのみが利用可能な場合は、前記利用可能な量子化パラメータが量子化パラメータ予測子に設定される。即ち、前記上側及び左側量子化パラメータが利用可能な場合、前記上側及び左側量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記上側及び左側量子化パラメータのうち一つのみが利用可能な場合、前記利用可能な量子化パラメータと前記以前パラメータの平均値が前記量子化パラメータ予測子に設定される。前記上側及び左側量子化パラメータが両方とも利用可能でない場合、前記以前量子化パラメータが前記量子化パラメータ予測子に設定される。前記平均値は、四捨五入した値である。
【0024】
前記差分量子化パラメータは。二進化過程を介して前記差分量子化パラメータの絶対値を示すビン(bin)と前記差分量子化パラメータの符号を示すビンに変換され、前記ビンは、算術符号化される。dQPの絶対値が0の場合、符号を示すビンは省略されることができる。トランケーテッドユーナリ(truncatedunary)方式が前記絶対値の二進化表現に使われる。
【0025】
量子化部150は、量子化マトリクス及び量子化パラメータを利用して変換ブロックを量子化して量子化ブロックを生成する。量子化ブロックは、逆量子化/逆変換部180に提供される。
【0026】
スキャニング部160は、量子化ブロックにスキャンパターンを適用する。
【0027】
インター予測では、エントロピー符号化のためにCABACが使われると、対角線スキャンがスキャンパターンとして使われる。量子化ブロックの量子化係数は、量子化係数成分に分離される。前記量子化係数成分は、重要フラグ(significantflags)、係数符号(coefficientsigns)及び係数レベル(coefficient levels)である。対角線スキャンが前記係数成分の各々に適用される。重要フラグは、対応する量子化係数が0であるか否かを示す。係数符号は、0でない量子化係数の符号を示す。係数レベルは、0でない量子化係数の絶対値を示す。
【0028】
変換ユニットのサイズが予め決められたサイズより大きい場合、前記量子化ブロックは、複数個のサブセットに分割され、対角線スキャンが各サブセットに適用される。各サブセットの重要フラグ、係数符号及び係数レベルが前記対角線スキャンによって各々スキャンされる。前記予め決められたサイズは、4×4である。前記サブセットは、16個の変換係数を含む4×4ブロックである。
【0029】
サブセットをスキャンするためのスキャンパターンは、前記各サブセットの量子化された変換係数をスキャンするためのスキャンパターンと同じである。各サブセットの重要フラグ、係数符号及び係数レベルは、逆方向にスキャンされる。前記サブセットも逆方向にスキャンされる。
【0030】
0でない最後の係数位置を示すパラメータが符号化されて復号器に送信される。前記パラメータは、量子化ブロック内の0でない最後の量子化係数の位置を示す。ノンゼロサブセットフラグ(non−zerosubset flags)が最初のサブセット及び最後のサブセット以外のサブセットに対して定義されて復号器側に送信される。前記最初のサブセットは、DC係数を含む。前記最後のサブセットは、0でない最後の量子化係数を含む。前記ノンゼロサブセットは、サブセットが0でない係数を含むかどうかを示す。
【0031】
エントロピー符号化部170は、スキャニング部160から受信されるスキャンされた係数成分、イントラ予測部120から受信されるイントラ予測情報、インター予測部130から受信される動き情報などをエントロピー符号化する。
【0032】
逆量子化/逆変換部180は、量子化ブロックの量子化された変換係数を逆量子化し、逆量子化ブロックを逆変換して残差ブロックを生成する。
【0033】
後処理部190は、復元されたピクチャで発生するブロッキングアーチファクトを除去するためのデブロッキングフィルタリング過程を実行する。
【0034】
ピクチャ格納部195は、後処理部190から後処理された映像を受信し、ピクチャ単位に前記映像を格納する。ピクチャは、フレーム又はフィールドである。
【0035】
図2は、本発明による映像データを符号化する方法を説明するフローチャートである。
【0036】
現在ブロックの動き情報が決定される(S110)。現在ブロックは、予測ユニットである。現在ブロックのサイズは、コーディングユニットのサイズ及び分割モードにより決定される。
【0037】
動き情報は、予測タイプによって変わる。予測タイプが単方向予測の場合、前記動き情報は、参照リスト0のピクチャを特定する参照インデックスと、一つの動きベクトルとを含む。予測タイプが両方向予測の場合、前記動き情報は、参照リスト0のピクチャ及び参照リスト1のピクチャを特定する2個の参照インデックスと、リスト0動きベクトル及びリスト1動きベクトルとを含む。
【0038】
前記動き情報を利用して現在ブロックの予測ブロックが生成される(S120)。動きベクトルが画素位置を示す場合、前記動きベクトルにより特定される参照ピクチャのブロックを複写して予測ブロックを生成する。前記動きベクトルがサブ画素位置を示す場合、予測ブロックは、参照ピクチャの画素を補間して生成される。
【0039】
前記現在ブロックと予測ブロックを利用して残差ブロックが生成される(S130)。
【0040】
残差ブロックは、変換ユニットと同じサイズを有する。予測ユニットが変換ユニットより大きい場合、現在ブロックと予測ブロックとの間の残差信号は、複数個の残差ブロックに分けられる。
【0041】
前記残差ブロックが符号化される(S140)。残差ブロックは、
図1の変換部140、量子化部150、スキャニング部160及びエントロピー符号化部170により符号化される。
【0042】
前記動き情報が符号化される(S150)。動き情報は、現在ブロックの空間候補と時間候補を利用して予測符号化されることができる。動き情報は、スキップモード、マージモード又はAMVPモードに符号化される。スキップモードでは、予測ユニットがコーディングユニットのサイズを有し、動き情報は、マージモードと同様の方法により符号化される。マージモードでは、現在予測ユニットの動き情報が候補のうち一つの動き情報と同じである。AMVPモードでは、動き情報の動きベクトルが一つ以上の動きベクトル候補を利用して予測符号化される。
【0043】
図3は、本発明によるマージモードにおける動き情報を符号化する方法を説明するフローチャートである。
【0044】
空間マージ候補が誘導される(S210)。
図4は、本発明による空間マージ候補ブロックの位置を説明する概念図である。
【0045】
図4に示すように、マージ候補ブロックは、現在ブロックの利用可能な左側ブロック(ブロックA)、利用可能な上側ブロック(ブロックB)、利用可能な右上側ブロック(ブロックC)又は利用可能な左下側ブロック(ブロックD)である。前記ブロックは、予測ブロックである。ブロックA、B、C及びDのうち少なくとも一つが利用可能でない場合、利用可能な左上側ブロック(ブロックE)がマージ候補ブロックとして設定される。利用可能なマージ候補ブロックNの動き情報が空間マージ候補Nに設定される。Nは、A、B、C、D又はEである。
【0046】
空間マージ候補は、現在ブロックの形態及び位置によって利用可能でないと設定されることができる。例えば、コーディングユニットが非対称分割により2個の予測ユニット(ブロックP0及びブロックP1)に分割されると、ブロックP0の動き情報とブロックP1の動き情報が同じでない可能性が高い。したがって、現在ブロックが非対称ブロックP1の場合、
図5乃至
図8に示すように、ブロックP0は、利用可能でないと設定される。
【0047】
図5は、本発明による空間マージ候補ブロックの位置を説明する概念的なブロック図である。
【0048】
図5に示すように、コーディングユニットは、2個の非対称予測ブロックP0及び予測ブロックP1に分割され、前記分割モードは、nL×2Nモードである。ブロックP0のサイズは、hN×2Nであり、ブロックP1のサイズは、(2−h)N×2Nである。hの値は、1/2である。現在ブロックは、ブロックP1である。ブロックA、B、C、D及びEが空間マージ候補ブロックである。ブロックP0は、空間マージ候補ブロックAである。
【0049】
本発明では、前記空間マージ候補ブロックAを利用可能でないと設定してマージ候補リストに記載されないようにする。また、前記空間マージ候補ブロックAと同じ動き情報を有する前記空間マージ候補ブロックB、C、D又はEは、利用可能でないと設定される。
【0050】
図6は、本発明による空間マージ候補ブロックの位置を説明する他の概念的なブロック図である。
【0051】
図6に示すように、コーディングユニットは、2個の非対称予測ブロックP0及び予測ブロックP1に分割され、前記分割モードは、nR×2Nモードである。ブロックP0のサイズは、(2−h)N×2Nであり、ブロックP1のサイズは、hN×2Nである。hの値は、1/2である。現在ブロックは、ブロックP1である。ブロックA、B、C、D及びEが空間マージ候補ブロックである。ブロックP0は、空間マージ候補ブロックAである。
【0052】
本発明では、前記空間マージ候補ブロックAを利用可能でないと設定してマージ候補リストに記載されないようにする。また、前記空間マージ候補ブロックAと同じ動き情報を有する前記空間マージ候補ブロックB、C、D又はEは、利用可能でないと設定される。
【0053】
図7は、本発明による空間マージ候補ブロックの位置を説明する他の概念的なブロック図である。
【0054】
図7に示すように、コーディングユニットは、2個の非対称予測ブロックP0及び予測ブロックP1に分割され、前記分割モードは、2N×nUモードである。ブロックP0のサイズは、2N×hNであり、ブロックP1のサイズは、2N×(2−h)Nである。hの値は、1/2である。現在ブロックは、ブロックP1である。ブロックA、B、C、D及びEが空間マージ候補ブロックである。ブロックP0は、空間マージ候補ブロックBである。
【0055】
本発明では、前記空間マージ候補ブロックBを利用可能でないと設定してマージ候補リストに記載されないようにする。また、前記空間マージ候補ブロックBと同じ動き情報を有する前記空間マージ候補ブロックC、D又はEは、利用可能でないと設定される。
【0056】
図8は、本発明による空間マージ候補ブロックの位置を説明する他の概念的なブロック図である。
【0057】
図8に示すように、コーディングユニットは、2個の非対称予測ブロックP0及び予測ブロックP1に分割され、前記分割モードは、2N×nDモードである。ブロックP0のサイズは、2N×(2−h)Nであり、ブロックP1のサイズは、2N×hNである。hの値は、1/2である。現在ブロックは、ブロックP1である。ブロックA、B、C、D及びEが空間マージ候補ブロックである。ブロックP0は、空間マージ候補ブロックBである。
【0058】
本発明では、前記空間マージ候補ブロックBを利用可能でないと設定してマージ候補リストに記載されないようにする。また、前記空間マージ候補ブロックBと同じ動き情報を有する前記空間マージ候補ブロックC、D又はEは、利用可能でないと設定される。
【0059】
また、空間マージ候補ブロックがマージ領域に基づいて利用可能でないと設定されることもできる。現在ブロックと空間マージ候補ブロックが同じマージ領域に含まれる場合、前記空間マージ候補ブロックが利用可能でないと設定される。マージ領域は、動き予測が行われる領域単位であり、前記マージ領域を特定する情報は、ビットストリームに含まれる。
【0060】
時間マージ候補が誘導される(S220)。時間マージ候補は、参照ピクチャインデックスと動きベクトルを含む。
【0061】
時間マージ候補の参照ピクチャインデックスは、隣接ブロックの一つ以上の参照ピクチャインデックスを利用して誘導されることができる。例えば、左側隣接ブロック、上側隣接ブロック及びコーナー隣接ブロックの参照ピクチャインデックスのうち一つが時間マージ候補の参照ピクチャインデックスとして設定される。コーナー隣接ブロックは、右上側隣接ブロック、左下側隣接ブロック及び左上側隣接ブロックのうち一つである。または、複雑度減少のために時間マージ候補の参照ピクチャインデックスを0に設定することができる。
【0062】
時間マージ候補の動きベクトルは、下記のように誘導される。
【0063】
まず、時間マージ候補ピクチャが決定される。時間マージ候補ピクチャは、時間マージ候補ブロックを含む。スライス内で一つのマージ候補ピクチャが使われる。時間マージ候補ピクチャの参照ピクチャインデックスは、0に設定されることができる。
【0064】
現在スライスがPスライスの場合、参照ピクチャリスト0の参照ピクチャのうち一つが時間マージ候補ピクチャとして設定される。現在スライスがBスライスの場合、参照ピクチャリスト0と1の参照ピクチャのうち一つが時間マージ候補ピクチャとして設定される。現在スライスがBスライスの場合、時間マージ候補ピクチャが参照ピクチャリスト0に属するか、又は1に属するかを示すリスト指示子がスライスヘッダに含まれる。時間マージ候補ピクチャを特定する参照ピクチャインデックスがスライスヘッダに含まれることができる。
【0065】
次に、時間マージ候補ブロックが決定される。時間マージ候補ブロックは、第1の候補ブロック及び第2の候補グロックのうち一つである。第1の候補ブロックが利用可能な場合、第1の候補ブロックが時間マージ候補ブロックとして設定される。第1の候補ブロックが利用可能でない場合、第2の候補ブロックが時間マージ候補ブロックとして設定される。第2の候補ブロックが利用可能でない場合、時間候補ブロックは、利用可能でないと設定される。
【0066】
図9は、本発明による時間マージ候補ブロックの位置を説明する概念図である。
図9に示すように、第1のマージ候補ブロックは、ブロックCの右下側コーナーブロック(ブロックH)である。ブロックCは、現在ブロックと同じサイズを有して同じ位置に存在し、前記時間マージ候補ピクチャに位置する。第2のマージ候補ブロックは、ブロックCのセンターの右下側画素を含むブロックである。
【0067】
時間マージ候補ブロックが決定されると、時間マージ候補ブロックの動きベクトルが前記時間マージ候補の動きベクトルとして設定される。
【0068】
マージ候補リストが構成される(S230)。利用可能な空間候補及び時間候補が予め決められた順序にリストされる。空間マージ候補は、A、B、C、D及びEの順序に4個まで含まれることができる。時間マージ候補は、BとCとの間又は空間候補の後に位置することができる。
【0069】
一つ以上のマージ候補が生成されるべきであるかどうかを判断する(S240)。前記決定は、前記マージ候補リスト上のマージ候補が数と予め決められた数を比較して実行される。前記予め決められた数は、ピクチャ又はスライス毎に決定されることができる。
【0070】
マージ候補リスト上のマージ候補の数が前記予め決められた数より小さい場合、一つ以上のマージ候補が生成される(S250)。生成されたマージ候補は、最後の位置のマージ候補の後に位置する。
【0071】
利用可能なマージ候補の数が2より大きい又は同じであり、それらのうち一つがリスト0動き情報を有し、他の一つがリスト1動き情報を有する場合、リスト0動き情報とリスト1動き情報を結合してマージ候補を生成することができる。複数個の組合せが存在する場合、複数個の候補が生成されることができる。
【0072】
一つ以上のゼロマージ候補がリストに追加されることもできる。スライスタイプがPの場合、前記ゼロマージ候補は、リスト0動き情報のみを有する。スライスタイプがBの場合、前記ゼロマージ候補は、リスト0動き情報とリスト1動き情報を有する。
【0073】
前記マージ候補リストのマージ候補の中からマージ予測子が選択され、前記マージ予測子を特定するマージインデックスが符号化される(S260)。
【0074】
図10は、本発明による映像復号化装置200を示すブロック図である。
【0075】
本発明による映像復号化装置200は、エントロピー復号化部210、逆スキャニング部220、逆量子化部230、逆変換部240、イントラ予測部250及びインター予測部260、後処理部270、ピクチャ格納部280及び加算部290を含む。
【0076】
エントロピー復号化部210は、CABAD(context−adaptive binary arithmetic decoding)方法を利用して受信されたビットストリームでイントラ予測情報、インター予測情報及び量子化係数成分を抽出する。
【0077】
逆スキャニング部220は、逆スキャンパターンを量子化係数成分に適用して量子化ブロックを生成する。インター予測では、逆スキャンパターンが対角線スキャンである。量子化係数成分は、重要フラグ、係数符号及び係数レベルを含む。
【0078】
変換ユニットのサイズが予め決められたサイズより大きい場合、サブセット単位に重要フラグ、係数符号及び係数レベルが前記対角線スキャンによって各々逆スキャンされてサブセットを生成し、前記サブセットが前記対角線スキャンによって逆スキャンされて量子化ブロックを生成する。前記予め決められたサイズは、4×4である。前記サブセットは、16個の変換係数を含む4×4ブロックである。重要フラグ、係数符号及び係数レベルは、逆方向にスキャンされる。前記サブセットも逆方向にスキャンされる。
【0079】
0でない最後の係数位置を示すパラメータ及びノンゼロサブセットフラグがビットストリームから抽出される。符号化されたサブセットの数が前記0でない最後の係数位置に基づいて決定される。ノンゼロサブセットフラグは、対応サブセットが少なくとも一つの0でない係数を有するかどうかを決定するのに利用される。ノンゼロサブセットフラグが1の場合、サブセットが対角線スキャンを利用して生成される。最初及び最後のサブセットも前記逆スキャンパターンを使用して生成される。
【0080】
逆量子化部230は、エントロピー復号化部210から差分量子化パラメータを受信し、コーディングユニットの量子化パラメータ予測子を生成する。量子化パラメータ予測子は、
図1の量子化部150による動作と同様の過程を介して生成される。そして、前記差分量子化パラメータと前記量子化パラメータ予測子を加えて現在コーディングユニットの量子化パラメータを生成する。現在コーディングユニットの差分量子化パラメータが符号器から受信されない場合、前記差分量子化パラメータは、0に設定される。
【0081】
逆量子化部230は、量子化ブロックを逆量子化する。
【0082】
逆変換部240は、前記逆量子化されたブロックを逆変換して残差ブロックを復元する。逆変換タイプは、予測モード及び変換ユニットのサイズによって決定される。逆変換タイプは、DCTベースの整数変換又はDSTベースの整数変換である。インター予測では、DCTベースの整数変換が使われる。
【0083】
イントラ予測部250は、受信されたイントラ予測情報を利用して現在予測ユニットのイントラ予測モードを復元し、前記復元されたイントラ予測モードに応じて予測ブロックを生成する。
【0084】
インター予測部260は、受信されたインター予測情報を利用して現在予測ユニットの動き情報を復元し、前記動き情報を利用して予測ブロックを生成する。
【0085】
後処理部270は、
図1の後処理部180と同様に動作する。
【0086】
ピクチャ格納部280は、後処理部270から後処理された映像を受信し、ピクチャ単位に前記映像を格納する。ピクチャは、フレーム又はフィールドである。
【0087】
加算部290は、復元された残差ブロックと予測ブロックを加えて復元ブロックを生成する。
【0088】
図11は、本発明によるインター予測モードにおける映像復号化方法を説明するフローチャートである。
【0089】
現在ブロックの動き情報が誘導される(S310)。現在ブロックは、予測ユニットである。現在ブロックのサイズは、コーディングユニットのサイズ及び分割モードによって決定される。
【0090】
動き情報は、予測タイプによって変わる。予測タイプが単方向予測の場合、前記動き情報は、参照リスト0のピクチャを特定する参照インデックスと、一つの動きベクトルとを含む。予測タイプが両方向予測の場合、前記動き情報は、参照リスト0のピクチャ及び参照リスト1のピクチャを特定する2個の参照インデックスと、リスト0動きベクトル及びリスト1動きベクトルとを含む。
【0091】
動き情報は、符号化モードによって適応的に復号化される。動き情報の符号化モードは、スキップフラグとマージフラグにより決定される。スキップフラグが1の場合、マージフラグが存在せず、符号化モードは、スキップモードである。スキップフラグが0であり、且つマージフラグが1の場合、符号化モードは、マージモードである。スキップフラグ及びマージフラグが0の場合、符号化モードは、AMVPモードである。
【0092】
前記動き情報を利用して現在ブロックの予測ブロックが生成される(S320)。
【0093】
動きベクトルが画素位置を示す場合、予測ブロックは、前記動きベクトルにより特定される参照ピクチャのブロックを複写して生成される。動きベクトルがサブ画素位置を示す場合、予測ブロックは、参照ピクチャの画素を補間して生成される。
【0094】
残差ブロックが生成される(S330)。残差ブロックは、
図10のエントロピー復号化部210、逆スキャニング部220、逆量子化部230及び逆変換部240により生成される。
【0095】
前記予測ブロックと残差ブロックを利用して復元ブロックが生成される(S340)。
【0096】
予測ブロックは、予測ユニットと同じサイズを有し、残差ブロックは、変換ユニットと同じサイズを有する。したがって、同じサイズの残差信号と予測信号が加えられて復元信号が生成される。
【0097】
図12は、本発明によるマージモードにおける動き情報を誘導する方法を説明するフローチャートである。
【0098】
マージインデックスがビットストリームから抽出される(S410)。マージインデックスが存在しない場合、マージ候補の数は、1に設定される。
【0099】
空間マージ候補が誘導される(S420)。利用可能な空間マージ候補は、
図3のS210に記述された内容と同じである。
【0100】
時間マージ候補が誘導される(S430)。時間マージ候補は、参照ピクチャインデックスと動きベクトルを含む。時間マージ候補の参照ピクチャインデックス及び動きベクトルは、
図3のS220に記述された内容と同じである。
【0101】
マージ候補リストが構築される(S440)。マージ候補リストは、
図3のS230と同様に構築される。
【0102】
一つ以上のマージ候補が生成されるかどうかを決定する(S450)。前記決定は、マージ候補リスト上のマージ候補の数と予め決められた数を比較して行われる。予め決められた数は、ピクチャ又はスライス毎に決定される。
【0103】
マージ候補リスト上のマージ候補の数が前記予め決められた数より小さい場合、一つ以上のマージ候補が生成される(S460)。生成されたマージ候補は、利用可能な最後のマージ候補の後に位置するようになる。マージ候補は、
図3のS250に記述されたものと同様の方法により生成される。
【0104】
マージインデックスにより特定されるマージ候補を現在ブロックの動き情報に設定する (S470)。
【0105】
図13は、本発明によるインター予測モードにおける残差ブロックを生成する過程を説明するフローチャートである。
【0106】
量子化係数成分がエントロピー復号化されて生成される(S510)。
【0107】
量子化ブロックは、対角線スキャンによって前記量子化係数成分を逆スキャンして生成する(S520)。量子化係数成分は、重要フラグ、係数符号及び係数レベルを含む。
【0108】
変換ユニットのサイズが予め決められたサイズより大きい場合、対角線スキャンによって重要フラグ、係数符号及び係数レベルがサブセット単位に逆スキャンされてサブセットを生成し、前記サブセットは、対角線スキャンによって逆スキャンされて量子化ブロックを生成する。前記予め決められたサイズは、サブセットのサイズと同じである。サブセットは、16個の係数を含む4×4ブロックである。重要フラグ、係数符号及び係数レベルは、逆方向に逆スキャンされる。サブセットも逆方向に逆スキャンされる。
【0109】
0でない量子化係数の位置を示すパラメータ及びノンゼロサブセットフラグがビットストリームから抽出される。符号化されたサブセットの数は、前記0でない係数の位置に基づいて決定される。ノンゼロサブセットフラグは、対応サブセットが0でない係数を少なくとも一つ含むかどうかを決定するために使われる。ノンゼロサブセットフラグが1の場合、サブセットは、対角線スキャンを使用して生成される。最初及び最後のサブセットは、逆スキャンパターンを利用して生成される。
【0110】
逆量子化マトリクス及び量子化パラメータを利用して量子化ブロックが逆量子化される (S530)。
【0111】
図14は、本発明による量子化パラメータを誘導する方法を説明するフローチャートである。
【0112】
量子化ユニットの最小サイズが決定される(S531)。前記最小サイズを特定するパラメータ(cu_qp_delta_enabled_info)がPPSから抽出され、量子化ユニットの最小サイズは、下記のように誘導される。
【0113】
Log2(MinQUSize)=Log2(MaxCUSize)−cu_qp_delta_enabled_info
【0114】
MinQUSizeは、量子化ユニットの最小サイズである。MaxCUSizeは、LCUのサイズである。cu_qp_delta_enabled_infoは、ピクチャパラメータセットから抽出される。
【0115】
現在コーディングユニットの差分量子化パラメータ(dQP)が誘導される(S532)。差分量子化パラメータは、量子化ユニット毎に含まれる。したがって、現在コーディングユニットのサイズが前記最小サイズより大きい又は同じ場合、現在コーディングユニットに対して差分量子化パラメータが復元される。差分量子化パラメータが存在しない場合、差分量子化パラメータは、0に設定される。複数個のコーディングユニットが一つの量子化ユニットに含む場合、復号化の順序上、0でない係数を少なくとも一つ有する最初のコーディングユニットが差分量子化パラメータを含む。
【0116】
前記符号化された差分量子化パラメータは、算術復号化されて差分量子化パラメータの絶対値を示すビンストリング(bin string)と差分量子化パラメータの符号を示すビンが生成される。前記ビンストリングは、トランケーテッドユーナリ(truncatedunary)方式に二進化されたビンストリングである。前記差分量子化パラメータの絶対値が0の場合、前記符号を示すビンは存在しない。前記絶対値を示すビンストリングと前記符号を示すビンを利用して前記差分量子化パラメータが誘導される。
【0117】
現在コーディングユニットの前記量子化パラメータ予測子が誘導される(S533)。前記量子化パラメータ予測子は、隣接コーディングユニットの量子化パラメータと以前コーディングユニットの量子化パラメータを利用して生成される。
【0118】
左側量子化パラメータ、上側量子化パラメータ及び以前量子化パラメータは、前記順序通りに検索される。少なくとも2個の量子化パラメータが利用可能な場合、前記順序に検索される最初の2個の利用可能な量子化パラメータの平均値を量子化パラメータ予測子に設定し、一つの量子化パラメータのみが利用可能な場合は、前記利用可能な量子化パラメータが量子化パラメータ予測子に設定される。即ち、前記左側量子化パラメータ及び前記上側量子化パラメータが両方とも利用可能な場合、前記左側量子化パラメータ及び前記上側量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記左側量子化パラメータ及び前記上側量子化パラメータのうち一つのみが利用可能な場合、前記利用可能な量子化パラメータと前記以前量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記左側量子化パラメータ及び前記上側量子化パラメータが両方とも利用可能でない場合、前記以前量子化パラメータが前記量子化パラメータ予測子に設定される。
【0119】
量子化ユニットが複数個のコーディングユニットを含む場合、復号化の順序上、最初のコーディングユニットの量子化パラメータ予測子が生成され、前記生成された量子化パラメータ予測子が前記量子化ユニット内の全てのコーディングユニットに使われる。
【0120】
前記差分量子化パラメータと前記量子化パラメータ予測子を利用して量子化パラメータが生成される(S534)。
【0121】
前記逆量子化ブロックを逆変換して残差ブロックを生成する(S540)。1次元の水平及び垂直逆DCTベースの変換が使われる。
【0122】
以上、実施例を参照して説明したが、該当技術分野の熟練された当業者は、特許請求の範囲に記載された本発明の思想及び領域から外れない範囲内で本発明を多様に修正及び変更可能であることを理解することができる。