【文献】
Robert Cohen,AHG7: Cross-verification of JCTVC-K0171, Transforms for extended chroma formats,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Shanghai, CN, 10-19 Oct. 2012,2012年10月11日,JCTVC-K0338,URL,http://phenix.it-sudparis.eu/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K0338-v1.zip
【文献】
C. Rosewarne, et al.,AHG7: Transforms for extended chroma formats,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 11th Meeting: Shanghai, CN, 10 - 19 October 2012,2012年10月11日,JCTVC-K0171,URL,http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=6542
【文献】
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, 11-20 July 2012,2012年 7月23日,JCTVC-J1003_d0,pp.1,50-52,89-90,URL,http://phenix.it-sudparis.eu/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v1.zip
(58)【調査した分野】(Int.Cl.,DB名)
前記色相成分ブロックを前記色相成分に対する変換ブロックに分割するステップでは、前記分割情報が前記第1ブロックが変換を遂行するための前記第2ブロックに分割されたことと指示する場合、前記N×2Nサイズの色相成分ブロックはN×Nサイズの第1変換ブロック及び第2変換ブロックに分割される、請求項1に記載の映像デコーディング方法。
【発明を実施するための形態】
【0016】
本発明は多様な変更を加えることができ、さまざまな実施形態を有することができるところ、特定の実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは本発明を特定の実施形態に対して限定しようとするものではない。本明細書で使用する用語は単に特定の実施形態を説明するために使われたものであって、本発明の技術的思想を限定しようとする意図として使われるものではない。単数の表現は文脈上、明白に異なる意味として使用されない限り、複数の表現を含む。本明細書で、「含む」または「有する」などの用語は明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つまたはその以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものの存在または付加可能性を予め排除しないことと理解されるべきである。
【0017】
一方、本発明で説明される図面上の各構成はビデオエンコーディング装置/デコーディング装置で互いに異なる特徴的な機能に関する説明の便宜のために独立的に図示されたものであって、各構成が互いに別のハードウェアや別のソフトウェアで具現されることを意味しない。例えば、各構成のうち、2つ以上の構成が合わさって1つの構成をなすこともでき、1つの構成が複数の構成に分けられることもできる。各構成が統合及び/又は分離された実施形態も本発明の本質から逸脱しない限り、本発明の権利範囲に含まれる。
【0018】
以下、添付した図面を参照して、本発明の好ましい実施形態をより詳細に説明する。以下、図面上の同一な構成要素に対しては同一な参照符号を使用し、同一な構成要素に対して重複した説明は省略する。
【0019】
図1は、本発明の一実施形態に従うビデオエンコーディング装置を概略的に示すブロック図である。
【0020】
図1を参照すると、エンコーディング装置100は、ピクチャ分割部105、予測部110、変換部115、量子化部120、再整列部125、エントロピーエンコーディング部130、逆量子化部135、逆変換部140、フィルタ部145、及びメモリ150を備える。
【0021】
ピクチャ分割部105は、入力されたピクチャを少なくとも1つの処理単位ブロックに分割することができる。この際、処理単位としてのブロックは予測ユニット(Prediction Unit;以下、「PU」という)、変換ユニット(Transform Unit;以下、「TU」という)、またはコーディングユニット(Coding Unit;以下、「CU」という)でありうる。
【0022】
ピクチャ分割部105で分割される処理単位ブロックはクワッドツリー(quad-tree)構造を有することができる。
【0023】
予測部110は、後述するように、インター予測を遂行するインター予測部及びイントラ予測を遂行するイントラ予測部を含む。予測部110は、ピクチャ分割部105でピクチャの処理単位に対して予測を遂行して予測ブロックを生成する。予測部110でピクチャの処理単位はCU、TU、またはPUでありうる。また、予測部110は該当処理単位に対して実施される予測がインター予測かイントラ予測かを決定し、各予測方法の具体的な内容(例えば、予測モードなど)を定めることができる。この際、予測が遂行される処理単位と予測方法及び予測方法の具体的な内容が定まる処理単位は異なることがある。例えば、予測の方法と予測モードなどはPU単位で決定され、予測の遂行はTU単位で遂行されることもできる。
【0024】
インター予測を通じては現在ピクチャの以前ピクチャ及び/又は以後ピクチャのうち、少なくとも1つのピクチャの情報に基づいて予測を遂行して予測ブロックを生成することができる。また、イントラ予測を通じては現在ピクチャ内のピクセル情報に基づいて予測を遂行して予測ブロックを生成することができる。
【0025】
インター予測の方法として、スキップ(skip)モード、マージ(merge)モード、MVP(Motion Vector Prediction)などを用いることができる。インター予測では、PUに対して参照ピクチャを選択し、PUに対応する参照ブロックを選択することができる。参照ブロックは整数ピクセル単位で選択できる。次に、現在PUとのレジデュアル(residual)信号が最小化され、動きベクトルサイズも最小となる予測ブロックが生成される。
【0026】
予測ブロックは整数サンプル単位で生成されることもでき、1/2ピクセル単位または1/4ピクセル単位のように整数以下のピクセル単位で生成されることもできる。この際、動きベクトルも整数ピクセル以下の単位で表現できる。
【0027】
インター予測を通じて選択された参照ピクチャのインデックス、動きベクトル(ex. Motion Vector Predictor)、レジデュアル信号などの情報はエントロピーエンコーディングされてデコーディング装置に伝達される。スキップモードが適用される場合にはレジデュアルを予測ブロックを復元ブロックにすることができるので、レジデュアルを生成、変換、量子化、転送しないことがある。
【0028】
イントラ予測を遂行する場合には、PU単位で予測モードが定まってPU単位で予測が遂行できる。また、PU単位で予測モードが定まり、TU単位でイントラ予測が遂行されることもできる。
【0029】
イントラ予測で予測モードは33個の方向性予測モードと少なくとも2つ以上の非方向性モードを有することができる。非方向性モードはDC予測モード及びプラナーモード(Planarモード)を含むことができる。
【0030】
イントラ予測では、参照サンプルにフィルタを適用した後、予測ブロックを生成することができる。この際、参照サンプルにフィルタを適用するのかは現在ブロックのイントラ予測モード及び/又はサイズによって決定できる。
【0031】
PUは多様なサイズ/形態のブロックであり、例えばインター予測の場合にPUは2N×2Nブロック、2N×Nブロック、N×2Nブロック、またはN×Nブロック(Nは整数)などでありうる。イントラ予測の場合に、PUは2N×2NブロックまたはN×Nブロック(Nは、整数)などでありうる。この際、N×NブロックサイズのPUは特定の場合のみに適用するように設定することができる。例えば、最小サイズCUに対してのみN×NブロックサイズのPUを用いるように定めるか、またはイントラ予測に対してのみ用いるように定めることもできる。また、前述したサイズのPUの他に、N×mNブロック、mN×Nブロック、2N×mNブロック、またはmN×2Nブロック(m<1)などのPUをさらに定義して使用することもできる。
【0032】
生成された予測ブロックと原本ブロックとの間のレジデュアル値(レジデュアルブロックまたはレジデュアル信号)は変換部115に入力される。また、予測のために使用した予測モード情報、動きベクトル情報などは、レジデュアル値と共にエントロピーエンコーディング部130でエンコーディングされてデコーディング装置に伝達される。
【0033】
変換部115は、変換ブロック単位でレジデュアルブロックに対する変換を遂行し、変換係数を生成する。
【0034】
変換ブロックはサンプルの矩形ブロックであって、同一な変換が適用されるブロックである。変換ブロックは変換ユニット(TU)であって、クワッドツリー(quad tree)構造を有することができる。
【0035】
変換部115はレジデュアルブロックに適用された予測モードとブロックのサイズによって変換を遂行することができる。
【0036】
例えば、レジデュアルブロックにイントラ予測が適用され、ブロックが4×4のレジデュアル配列であれば、レジデュアルブロックをDST(Discrete Sine Transform)を用いて変換し、その他の場合であればレジデュアルブロックをDCT(Discrete Cosine Transform)を用いて変換することができる。
【0037】
変換部115は、変換により変換係数の変換ブロックを生成することができる。
【0038】
量子化部120は、変換部115で変換されたレジデュアル値、即ち変換係数を量子化し、量子化された変換係数を生成することができる。量子化部120で算出された値は逆量子化部135と再整列部125に提供される。
【0039】
再整列部125は、量子化部120から提供された量子化された変換係数を再整列する。量子化された変換係数を再整列することによって、エントロピーエンコーディング部130でのエンコーディング効率を高めることができる。
【0040】
再整列部125は、係数スキャニング(Coefficient Scanning)方法により2次元ブロック形態の量子化された変換係数を1次元のベクトル形態に再整列することができる。
【0041】
エントロピーエンコーディング部130は、再整列部125により再整列された量子化された変換係数に対するエントロピーエンコーディングを遂行することができる。エントロピーエンコーディングには、例えば、指数ゴロム(Exponential Golomb)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)などのエンコーディング方法を使用することができる。エントロピーエンコーディング部130は、再整列部125及び予測部110から伝達を受けたCUの量子化された変換係数情報及びブロックタイプ情報、予測モード情報、分割単位情報、PU情報及び転送単位情報、動きベクトル情報、参照ピクチャ情報、ブロックの補間情報、フィルタリング情報など、多様な情報をエンコーディングすることができる。
【0042】
また、エントロピーエンコーディング部130は、必要な場合に、転送するパラメータセット(parameter set)またはシンタックスに一定の変更を加えることもできる。
【0043】
逆量子化部135は、量子化部120で量子化された値(量子化された変換係数)を逆量子化し、逆変換部140は逆量子化部135で逆量子化された値を逆変換する。
【0044】
逆量子化部135及び逆変換部140で生成されたレジデュアル値と予測部110で予測された予測ブロックが合わさって復元ブロック(Reconstructed Block)が生成できる。
【0045】
図1では加算器を通じてレジデュアルブロックと予測ブロックが合わさって復元ブロックが生成されることと説明している。この際、加算器を復元ブロックを生成する別途のユニット(復元ブロック生成部)と見ることもできる。
【0046】
フィルタ部145は、デブロッキングフィルタ、ALF(Adaptive Loop Filter)、SAO(Sample Adaptive Offset)を復元されたピクチャに適用することができる。
【0047】
デブロッキングフィルタは、復元されたピクチャでブロック間の境界に生じた歪曲を除去することができる。ALF(Adaptive Loop Filter)は、デブロッキングフィルタを通じてブロックがフィルタリングされた後、復元された映像と元の映像とを比較した値に基づいてフィルタリングを遂行することができる。ALFは、高効率を適用する場合のみに遂行されることもできる。SAOは、デブロッキングフィルタが適用されたレジデュアルブロックに対し、ピクセル単位で原本映像とのオフセット差を復元し、バンドオフセット(Band Offset)、エッジオフセット(Edge Offset)などの形態に適用される。
【0048】
一方、インター予測に使われる復元ブロックに対してフィルタ部145はフィルタリングを適用しないこともある。
【0049】
メモリ150は、フィルタ部145を通じて算出された復元ブロックまたはピクチャを格納することができる。メモリ150に格納された復元ブロックまたはピクチャはインター予測を遂行する予測部110に提供できる。
【0050】
図2は、本発明の一実施形態に従うビデオデコーディング装置を概略的に示すブロック図である。
【0051】
図2を参照すると、ビデオデコーディング装置200は、エントロピーデコーディング部210、再整列部215、逆量子化部220、逆変換部225、予測部230、フィルタ部235、及びメモリ240を含むことができる。
【0052】
ビデオエンコーディング装置で映像ビットストリームが入力された場合、入力されたビットストリームはビデオエンコーディング装置で映像情報が処理された手続きに従ってデコーディングできる。
【0053】
例えば、ビデオエンコーディング装置でエントロピーエンコーディングを遂行するためにCAVLCなどの可変長さ符号化(Variable Length Coding:VLC;以下、「VLC」という)が使われた場合に、エントロピーデコーディング部210もエンコーディング装置で使用したVLCテーブルと同一なVLCテーブルで具現してエントロピーデコーディングを遂行することができる。また、ビデオエンコーディング装置でエントロピーエンコーディングを遂行するためにCABACを用いた場合に、エントロピーデコーディング部210はこれに対応してCABACを用いたエントロピーデコーディングを遂行することができる。
【0054】
エントロピーデコーディング部210でデコーディングされた情報のうち、予測ブロックを生成するための情報は予測部230に提供され、エントロピーデコーディング部210でエントロピーデコーディングが遂行されたレジデュアル値、即ち量子化された変換係数は再整列部215に入力できる。
【0055】
再整列部215は、エントロピーデコーディング部210でエントロピーデコーディングされたビットストリームの情報、即ち量子化された変換係数をエンコーディング装置で再整列した方法に基づいて再整列することができる。
【0056】
再整列部215は、1次元ベクトル形態に表現された係数をまた2次元のブロック形態の係数に復元して再整列することができる。再整列部215は、現在ブロック(変換ブロック)に適用された予測モードと変換ブロックのサイズに基づいて係数に対するスキャニングを遂行して2次元ブロック形態の係数(量子化された変換係数)配列を生成することができる。
【0057】
逆量子化部220は、エンコーディング装置で提供された量子化パラメータと再整列されたブロックの係数値に基づいて逆量子化を遂行することができる。
【0058】
逆変換部225は、ビデオエンコーディング装置で遂行された量子化結果に対し、エンコーディング装置の変換部が遂行したDCT及びDSTに対して逆DCT及び/又は逆DSTを遂行することができる。
【0059】
逆変換は、エンコーディング装置で決定された転送単位または映像の分割単位に基づいて遂行できる。エンコーディング装置の変換部でDCT及び/又はDSTは、予測方法、現在ブロックのサイズ、及び予測方向など、複数の情報によって選択的に遂行されることができ、デコーディング装置の逆変換部225はエンコーディング装置の変換部で遂行された変換情報に基づいて逆変換を遂行することができる。
【0060】
予測部230は、エントロピーデコーディング部210で提供された予測ブロック生成関連情報とメモリ240で提供された以前にデコーディングされたブロック及び/又はピクチャ情報に基づいて予測ブロックを生成することができる。
【0061】
現在PUに対する予測モードがイントラ予測(intra prediction)モードの場合に、現在ピクチャ内のピクセル情報に基づいて予測ブロックを生成するイントラ予測を遂行することができる。
【0062】
現在PUに対する予測モードがインター予測(inter prediction)モードの場合に、現在ピクチャの以前ピクチャまたは以後ピクチャのうち、少なくとも1つのピクチャに含まれた情報に基づいて現在PUに対するインター予測を遂行することができる。この際、ビデオエンコーディング装置で提供された現在PUのインター予測に必要な動き情報、例えば動きベクトル、参照ピクチャインデックスなどに関する情報はエンコーディング装置から受信したスキップフラッグ、マージフラッグなどを確認し、これに対応して誘導できる。
【0063】
復元ブロックは、予測部230で生成された予測ブロックと逆変換部225で提供されたレジデュアルブロックを用いて生成できる。
図2では、加算器で予測ブロックとレジデュアルブロックが合わさって復元ブロックが生成されることと説明している。この際、加算器を復元ブロックを生成する別途のユニット(復元ブロック生成部)と見ることができる。
【0064】
スキップモードが適用される場合にはレジデュアルが転送されず、予測ブロックを復元ブロックにすることができる。
【0065】
復元されたブロック及び/又はピクチャは、フィルタ部235に提供できる。フィルタ部235は、復元されたブロック及び/又はピクチャにデブロッキングフィルタリング、SAO(Sample Adaptive Offset)及び/又はALFなどを適用することができる。
【0066】
メモリ240は復元されたピクチャまたはブロックを格納して参照ピクチャまたは参照ブロックに使用するようにすることができ、また復元されたピクチャを出力部に提供することができる。
【0067】
デコーディング装置200に含まれているエントロピーデコーディング部210、再整列部215、逆量子化部220、逆変換部225、予測部230、フィルタ部235、及びメモリ240のうち、映像のデコーディングに直接的に関連した構成要素、例えば、エントロピーデコーディング部210、再整列部215、逆量子化部220、逆変換部225、予測部230、フィルタ部235などを他の構成要素と区分してデコーダまたはデコーディング部と表現することができる。
【0068】
また、デコーディング装置200はビットストリームに含まれているエンコーディングされた映像に関連した情報をパッシングする図示しないパッシング部をさらに含むことができる。パッシング部は、エントロピーデコーディング部210を含むこともでき、エントロピーデコーディング部210に含まれることもできる。また、このようなパッシング部はデコーディング部の1つの構成要素で具現されることもできる。
【0069】
図3は、1つのユニットが複数の下位ユニットに分割される実施形態を概略的に示す図である。
図3では、説明の便宜上、コーディングユニット(Coding Unit;CU)を例として説明する。
【0070】
コーディングユニットとは、前述した映像の処理過程、例えばイントラ(intra)/インター(inter)予測、変換(transform)、量子化(quantization)及び/又はエントロピーコーディング(entropy coding)などの過程で映像を処理するための基本単位を意味する。1つの映像を符号化することに使われるユニットのサイズは一定でないことがある。
【0071】
コーディングユニットは四角形態を有することができ、1つのコーディングユニットはまた多数個のコーディングユニットに分割できる。例えば、2N×2Nサイズを有する1つのコーディングユニットは、また4個のN×Nサイズを有するコーディングユニットに分割できる。このようなコーディングユニットの分割過程は再帰的になされることができ、全てのコーディングユニットが同一な形態に分割される必要はない。但し、符号化及び処理過程での便宜のためにコーディングユニットの最大サイズまたは最小サイズに対する制限がありうる。コーディングユニットの最大サイズが定まれば、それを最大コーディングユニットサイズといい、コーディングユニットの最小サイズが定まれば、それを最小コーディングユニットサイズという。
【0072】
1つのコーディングユニットに対し、該当コーディングユニットが分割されるか否かを示す情報を指定することができる。例えば、分割されるか否かを示すフラッグの値が1であれば、該当コーディングユニットはまた4個のコーディングユニットに分けられ、分割されるか否かを示すフラッグの値が0であれば、該当コーディングユニットはこれ以上分けられず、該当コーディングユニットに対する処理過程が遂行できる。
【0073】
前述したコーディングユニットの分割構造はツリー構造を用いて示すことができる。例えば、1つの映像または最大サイズコーディングユニットをルート(root)にして分割がなされることができる。現在分割がなされるコーディングユニットは親ノード(parent node)となり、親ノードから分割されたコーディングユニットは子ノード(child node)となる。この際、現在分割がなされるコーディングユニット(親ノード)は分割されたコーディングユニットの個数だけ子ノードを有するようになる。そして、これ以上分割されないコーディングユニットはリーフノード(leaf node)となる。リーフノードは子ノードがないノードをいう。
【0074】
1つのコーディングユニットに対して正方形分割がなされると仮定する時、1つのコーディングユニットは最大4個の下位コーディングユニットに分割できるので、コーディングユニットの分割構造はクワッドツリー(Quard tree)構造となる。
【0075】
以下、本明細書では説明の便宜のために、最大コーディングユニットサイズを有するコーディングユニットを最大コーディングユニット(Largest Coding Unit;LCU)といい、最小コーディングユニットサイズを有するコーディングユニットを最小コーディングユニット(Smallest Coding Unit;SCU)という。
【0076】
エンコーディング装置では、ビデオ映像の特性(例えば、解像度)によって、または符号化の効率を考慮して、最大及び最小コーディングユニットサイズを決定し、これに対する情報またはこれを誘導することができる情報がビットストリームに含まれることができる。また、ツリー構造を有するコーディングユニットは深さ情報を有して階層的に分割できる。それぞれの分割された下位ユニットは深さ情報を有することができる。深さ情報はユニットが分割された回数及び/又は程度を示すので、下位ユニットのサイズに関する情報を含むこともできる。
【0077】
例えば、最大コーディングユニットサイズ及びツリーの最大深さが定義されたものであり、正方形分割をすると仮定すれば、コーディングユニットサイズは親ノードコーディングユニットサイズの半分になるので、最大コーディングユニットサイズ及び最大深さ情報を利用すれば最小コーディングユニットサイズを求めることができる。または逆に、最小コーディングユニットサイズ及びツリーの最大深さを予め定義すれば、最大コーディングユニットサイズを誘導して用いることができる。正方形分割でユニットのサイズは2の倍数形態に求めることができるので、実際のコーディングユニットのサイズは2を下にするログ値として示して転送されることによって、転送効率を高めることができる。
【0078】
デコーディング装置では、現在コーディングユニットが分割されたかを示す分割情報を獲得することができる。このような分割情報は特定の条件下で獲得するようにするか、またはエンコーディング装置で特定条件下で転送するようにすれば、符号化/復号化効率を高めることができる。例えば、現在コーディングユニットが最小コーディングユニット(SCU)であれば、これ以上小さいコーディングユニットに分割できないので、このような場合には分割情報を獲得する必要がない。
【0079】
図3を参照すると、最も上位コーディングユニット310はルートノードと呼ばれることができ、親ノードを有しない。したがって、最も上位コーディングユニット310は自身より上位コーディングユニットから分割されないユニットであり、最大コーディングユニット(LCU)でありうる。例えば、最も上位コーディングユニット310は最も小さい深さ(depth)値を有することができる。
【0080】
最も上位コーディングユニット310はクワッドツリー形態に分割されることができ、その結果、レベル1の深さを有する4個の下位コーディングユニット320が生成できる。ここで、レベル1の深さを有する下位コーディングユニット320のうち、少なくとも1つはクワッドツリー形態に分割されることもでき、またはこれ以上分割されないこともある。即ち、最も上位コーディングユニット310を基準にコーディングユニットの最大深さ(または、最大レベル)に到達するまでコーディングユニットは再帰的(recursive)にクワッドツリー形態に分割できる。
【0081】
例えば、
図3に示すように、コーディングユニットの最大許容可能な深さがレベル3とすれば、最も上位コーディングユニット310はレベル3の深さまで再帰的にクワッドツリー形態に分割されて下位コーディングユニット320、330、340が生成できる。ここで、下位コーディングユニット320、330、340は最も上位コーディングユニット(即ち、1つのLCU)内で分割されて
図3の350のような分割形態を有することができる。
【0082】
前述した
図3の実施形態ではコーディングユニットの分割過程に対して例を挙げて説明したが、変換を遂行する基本単位である変換ユニットの分割過程に対しても前述したクワッドツリー構造を適用することができる。即ち、変換ユニットはこれ以上分割できないコーディングユニット(リーフノード)内でクワッドツリー形態に分割できる。
【0083】
一方、映像(picture)は1つ以上のピクセル(pixel)またはサンプル(sample)配列(array)で構成され、1つのピクセル(または、サンプル)は色空間(color space)をなす構成要素である色成分(color component)で構成される。色成分は、光の三原色成分を示すR(Red)、G(Green)、B(Blue)を含むこともでき、輝度(または、ルーマ;luma)及び色相(または、クロマ;chroma)成分を含むこともできる。輝度成分は画面の明るさを示す成分であって、Yと示すことができ、色相成分は画面の色(color)を示す成分であって、U、V、またはCb、Cr、またはCg、Coと示すことができる。
【0084】
例えば、映像は輝度(Yまたはmonochrome)成分のみで構成できる。または、映像は1つの輝度成分と2つの色相成分(YUVまたはYCbCrまたはYCgCo)で構成できる。または、映像はR、G、B成分で構成できる。
【0085】
前述した色成分の表現方法によって色相形式(color formatまたはchroma format)が定義できる。例えば、輝度成分のサンプル配列のみで構成された場合、モノクローム(monochrome)色相形式として定義できる。1つの輝度成分と2つの色相成分で構成された場合、輝度成分のサンプル配列に対応する色相成分のサンプル配列によって4:2:0、4:2:2、4:4:4色相形式として定義できる。色相成分のサンプル配列が輝度成分のサンプル配列の横及び縦の1/2の時、4:2:0色相形式として定義できる。色相成分のサンプル配列が輝度成分のサンプル配列の縦と同一で、横の1/2の時、4:2:2色相形式として定義できる。色相成分のサンプル配列が輝度成分のサンプル配列の横及び縦と同一の時、4:4:4色相形式として定義できる。
【0086】
符/復号化器では色相形式によって色成分間のサンプリングを遂行して映像を符/復号化する。言い換えると、符号化器では映像を符号化する時、輝度成分サンプリングに対応して色相成分サンプリングを遂行することができ、復号化器では符号化時に使用した色成分間のサンプリング(色相形式)によって映像を復号化することができる。したがって、復号化器では符号化時に使用した色相形式に対する情報が必要である。このような色相形式に対する情報はシンタックス(syntax)を用いて符号化器からシグナリングできる。
【0087】
例えば、1つの輝度成分と2つの色相成分を用いて映像を表現する場合、色相形式に対する情報は輝度成分のサンプル配列に対応する色相成分のサンプル配列によってモノクローム、4:2:0、4:2:2、4:4:4色相形式を示す情報であって、例えばchroma_format_idcのようなシンタックスを用いてモノクローム、4:2:0、4:2:2、4:4:4のうち、いずれか1つを指示することができる。
【0088】
表1は、chroma_format_idcを用いて色相形式を特定する一例を示す。
【表1】
【0089】
表1を参照すると、chroma_format_idc値が0であれば、モノクローム色相形式を指示し、chroma_format_idc値が1であれば、4:2:0色相形式を指示することができる。また、chroma_format_idc値が2であれば、4:2:2色相形式を指示することができ、chroma_format_idc値が3であれば、4:4:4色相形式を指示することができる。
【0090】
前述したように、色相形式が4:2:0でない場合、色相成分のための変換ユニットのサイズは輝度成分のための変換ユニットの横及び縦サイズの半分にならない。即ち、色相形式が4:4:4の場合、色相成分のサンプル配列は輝度成分のサンプル配列と同一であるので、色相成分のためのコーディングユニットのサイズは輝度成分のためのコーディングユニットのサイズと同一である。このような場合、色相及び輝度成分のためのコーディングユニットが変換を遂行するための変換ユニットに分割される時、同一な分割深さ(depth、またはレベル)を有すれば、色相成分のための変換ユニットのサイズは輝度成分のための変換ユニットのサイズと同一に維持することもできる。色相形式が4:2:2の場合、色相成分のサンプル配列は輝度成分のサンプル配列の横方向に1/2ダウンサンプリング(down sampling)されるので、色相成分のためのコーディングユニットのサイズは輝度成分のためのコーディングユニットの横サイズの半分になる。
【0091】
以下、本明細書では説明の便宜のために、色相(または、輝度)成分のための変換ユニットは色相(または、輝度)成分変換ユニット、色相(または、輝度)変換ユニット、色相(または、輝度)成分ブロック、色相(または、輝度)ブロックなどの用語として表現することもできる。また、色相(または、輝度)成分のためのコーディングユニットは色相(または、輝度)成分コーディングユニット、色相(または、輝度)コーディングユニット、色相(または、輝度)成分ブロック、色相(または、輝度)ブロックなどの用語として表現することもできる。
【0092】
図4は、4:2:0色相形式を示す図である。
【0093】
図4では、4:2:0色相形式で輝度成分のサンプル(または、ルーマサンプル)と色相成分のサンプル(または、クロマサンプル)の垂直及び水平方向位置を図示した。この際、ルーマサンプルに対応するクロマサンプルの数はルーマサンプルの垂直方向及び水平方向サンプル数の1/2である。
【0094】
図5は、4:2:2色相形式を示す図である。
【0095】
図5では、4:2:2色相形式で輝度成分のサンプル(または、ルーマサンプル)と色相成分のサンプル(または、クロマサンプル)の垂直及び水平方向位置を図示した。この際、ルーマサンプルに対応するクロマサンプルの垂直方向サンプル数はルーマサンプルの垂直方向サンプル数と同一であり、ルーマサンプルに対応するクロマサンプルの水平方向サンプル数はルーマサンプルの水平方向サンプル数の1/2である。
【0096】
図6は、4:4:4色相形式を示す図である。
【0097】
図6では、4:2:4色相形式で輝度成分のサンプル(または、ルーマサンプル)と色相成分のサンプル(または、クロマサンプル)の垂直及び水平方向位置を図示した。この際、ルーマサンプルに対応するクロマサンプルの数はルーマサンプルの垂直方向及び水平方向のサンプル数と同一である。
【0098】
図5に図示された4:2:2色相形式で、色相及び輝度コーディングユニットが同一な分割深さを有して変換ユニットに分割される場合、輝度変換ユニットは正方形のサイズを有することができ、正方形の輝度変換ユニットに対する色相変換ユニットは矩形のサイズを有することができる。
【0099】
図7は、4:2:2色相形式で輝度変換ユニット及び色相変換ユニットの分割形態を示す一例である。
【0100】
図7を参照すると、4:2:2色相形式で輝度変換ユニット700が2N×2Nサイズ(正方形サイズ)を有する時、色相変換ユニット710、720はN×2Nサイズ(矩形サイズ)を有することができる。ここで、色相変換ユニット710はCb色相成分に対するブロックであり、色相変換ユニット720はCr色相成分に対するブロックでありうる。
【0101】
輝度変換ユニット700が4個の下位変換ユニットに分割される場合、
図7に示すように、クワッドツリー形態にN×Nサイズを有する4個の下位変換ユニットに分割できる。この際、輝度変換ユニット700に対応する色相変換ユニット710、720が輝度変換ユニット700の分割深さと同一であれば、色相変換ユニット710、720もクワッドツリー形態を維持し、
図7に示すように、矩形サイズを有する4個の下位変換ユニットに分割できる。
【0102】
上記のように矩形サイズを有する変換ユニット(または、コーディングユニット)は、その自体としてハードウェア具現などに負担になることがある。また、4:2:2色相形式をサポートする符号化器と復号化器は必ず4:2:0色相形式をサポートしなければならない。したがって、4:2:0色相形式をサポートするコーデック(例えば、HEVC:High Efficiency Video Coding)の基本構造と一貫性を維持するために追加的なハードウェア具現が必要でありうる。以下、本発明ではハードウェア具現などの追加的な負担無しで4:2:2色相形式をサポートすることができる方案について説明する。
【0103】
図8は、本発明の一実施形態に従って4:2:2色相形式で輝度ブロック及び色相ブロックの分割過程を説明するための図である。
【0104】
図8を参照すると、4:2:2色相形式で輝度ブロック800が2N×2Nサイズ(正方形サイズ)を有する時、輝度ブロック800に対応する色相ブロック810、820はN×2Nサイズ(矩形サイズ)を有することができる。色相ブロック810はCb色相成分に対するブロックであり、色相ブロック820はCr色相成分に対するブロックでありうる。
【0105】
この際、ハードウェア具現及び表現において正規性を高めて、符/復号化過程での処理効率を高めるために、N×2Nサイズの色相ブロック810、820に対して正方形のブロックを2回適用する方式を用いることができる。即ち、N×2Nサイズの色相ブロック810、820は、2つのN×Nサイズの正方形ブロックに配置できる。
【0106】
例えば、変換を遂行するためにN×2Nサイズの色相ブロック810、820がクワッドツリー形態に分割する場合、N×2Nサイズの色相ブロック810、820は、まずN×Nサイズの第1変換ブロック812、822及び第2変換ブロック814、824に分割できる。そして、第1変換ブロック812、822及び第2変換ブロック814、824は、それぞれの分割情報に基づいて再帰的にクワッドツリー形態に分割できる。この際、第1変換ブロック812、822及び第2変換ブロック814、824に対する分割形態は、
図9及び
図10の実施形態に図示されたようなクワッドツリー構造でありうる。
【0107】
ここで、分割情報は第1ブロックが4個の第2ブロックに分割されるか否かを指示する情報であって、変換を処理する過程で使われる分割情報は、例えばsplit_transform_flag情報を用いることができる。split_transform_flag値が0であれば、第1ブロックが4個の第2ブロックに分割されないことを意味し、split_transform_flag値が1であれば、第1ブロックが4個の第2ブロックに分割されることを意味することができる。
【0108】
N×2Nサイズの色相ブロック810、820が分割されず、変換を遂行する場合、例えば、N×2Nサイズの色相ブロック810、820に対する分割情報split_transform_flagが0の場合、N×2Nサイズの色相ブロック810、820に対する変換係数情報を獲得することができる。この際、N×2Nサイズの色相ブロック810、820に対する変換係数情報は、第1変換ブロック812、822の変換係数情報及び第2変換ブロック814、824の変換係数情報を含む。
【0109】
ここで、変換係数情報は変換ブロックが0でない1つ以上の変換係数を含んでいるか否かを示す情報でありうる。例えば、変換係数情報はフラッグを用いて示すことができ、Cb色相成分に対する変換係数情報はcbf_cbフラッグの値として示すことができ、Cr色相成分に対する変換係数情報はcbf_crフラッグの値として示すことができる。
【0110】
前述したように、
図8の実施形態によれば、N×2Nサイズの色相ブロック810、820が2つのN×Nサイズ色相ブロックに配置されて変換のための処理単位として用いられることが分かる。
【0111】
図9及び
図10は、前述した
図8の実施形態に従う4:2:2色相形式で輝度ブロック及び色相ブロックの分割形態を示す一例である。
【0112】
図9の実施形態は4:2:2色相形式で輝度ブロック900と色相ブロック910、920が同一な分割深さを有して分割される場合、言い換えると、色相ブロック910、920が輝度ブロック900の変換のための分割形態と同一に分割される場合を図示した。ここで、色相ブロック910はCb色相成分に対するブロックであり、色相ブロック920はCr色相成分に対するブロックでありうる。
【0113】
例えば、輝度ブロック900がクワッドツリー形態に4個の変換ブロックに分割された時、色相ブロック910、920もクワッドツリー形態に分割できる。この際、
図8で前述したように、色相ブロック910、920は2つの正方形色相ブロックで構成されて、2つの正方形色相ブロックの各々に対してクワッドツリー形態に再帰的に分割できる。
【0114】
図10の実施形態は、4:2:2色相形式で輝度ブロックに含まれた変換ブロックが互いに異なる分割深さを有して分割される場合、輝度ブロックに対応する色相ブロックに対する分割形態を図示した。
【0115】
図10の(a)に示すように、輝度ブロック1000に含まれた変換ブロックが互いに異なる分割深さを有して分割された時、色相ブロック1010、1020に含まれた変換ブロックも輝度ブロック1000の変換ブロックと同一な分割深さを有して分割できる。即ち、輝度ブロック1000と色相ブロック1010、1020に含まれた各変換ブロックが同一な形態に分割できる。ここで、色相ブロック1010はCb色相成分に対するブロックであり、色相ブロック1020はCr色相成分に対するブロックでありうる。
【0116】
例えば、2N×2Nサイズの輝度ブロック1000に対応するN×2Nサイズの色相ブロック1010、1020がN×Nサイズの第1色相ブロックと第2色相ブロックに配置される時、輝度ブロック1000に含まれた変換ブロックの分割深さと同一な分割深さを有する変換ブロックを含むように第1色相ブロックと第2色相ブロックの各々を再帰的にクォートツリー形態に分割することができる。
【0117】
または、
図10の(b)に示すように、輝度ブロック1050に含まれた変換ブロックが互いに異なる分割深さを有して分割された時、輝度ブロック1050に対応する色相ブロック1060、1070の位置のみで輝度ブロック1050の変換ブロック分割形態と同一に分割できる。ここで、色相ブロック1060はCb色相成分に対するブロックであり、色相ブロック1070はCr色相成分に対するブロックでありうる。
【0118】
例えば、2N×2Nサイズの輝度ブロック1050に対応するN×2Nサイズの色相ブロック1060、1070がN×Nサイズの第1色相ブロックと第2色相ブロックに配置される時、輝度ブロック1050に対応する色相ブロック1060、1070の位置は上端に配置された第1色相ブロックでありうる。したがって、上端に配置された第1色相ブロックが輝度ブロック1050に含まれた変換ブロックの分割深さと同一な分割深さを有する変換ブロックを含むように分割できる。
【0119】
図11は、本発明の他の実施形態に従って4:2:2色相形式で輝度ブロック及び色相ブロックの分割過程を説明するための図である。
【0120】
図11を参照すると、4:2:2色相形式で輝度ブロック1100が2N×2Nサイズ(正方形サイズ)を有する時、輝度ブロック1100に対応する色相ブロック1110、1120はN×2Nサイズ(矩形サイズ)を有することができる。色相ブロック1110はCb色相成分に対するブロックであり、色相ブロック1120はCr色相成分に対するブロックでありうる。
【0121】
符号化器では、輝度ブロック1100に対応する色相ブロック1110、1120をダウンサンプリングしてN×Nサイズの色相ブロック1115、1125に作ることができる。すると、4:2:0色相形式の時と色相ブロックのサイズが同一になるので、4:2:0色相形式と同一な方法によりN×Nサイズの色相ブロック1115、1125に対して符号化することができる。即ち、符号化器は4:2:0色相形式のように2N×2Nサイズの輝度ブロック1100に対応するN×Nサイズの色相ブロック1115、1125に対する符号化過程を遂行することができる。
【0122】
復号化器では、4:2:0色相形式のように2N×2Nサイズの輝度ブロック1100に対応するN×Nサイズの色相ブロック1115、1125に対する復号化過程を遂行し、N×Nサイズの色相ブロック1115、1125をアップサンプリングしてN×2Nサイズの色相ブロック1110、1120に作ることができる。
【0123】
図12は、本発明の更に他の実施形態に従って4:2:2色相形式で輝度ブロックに対応する色相ブロックの分割過程を説明するための図である。
【0124】
図12を参照すると、4:2:2色相形式で輝度ブロックが2N×2Nサイズ(正方形サイズ)を有する時、輝度ブロックに対応する色相ブロック1200はN×2Nサイズ(矩形サイズ)を有することができる。
【0125】
この際、N×2Nサイズの色相ブロック1200を2N×2Nサイズに拡大した後、符号/復号化過程を遂行し、また縮小する方法を使用することができる。このように、2N×2Nサイズにブロックを拡大する方法は一般的なアップサンプリングとダウンサンプリングの概念でないパディング(padding)方法を用いることができる。
【0126】
例えば、
図12に示すように、N×2Nサイズの色相ブロック1200にN×2Nサイズのダミー(dummy)ブロック1210を付加して2N×2Nサイズの色相ブロックに再構成することができる。ここで、ダミーブロックは符号化または復号化過程で影響を与えないブロックであって、例えば0値で構成されたブロックでありうる。
【0127】
図13は、前述した
図12の実施形態に従う4:2:2色相形式で色相ブロックの分割形態を示す図である。
【0128】
図12で前述したように、N×2Nサイズの色相ブロックがパディングを通じて2N×2Nサイズの色相ブロックに再構成された場合、2N×2Nサイズの色相ブロックは一般的な4:4:4色相形式での色相成分ブロックのように符/復号化が可能である。
【0129】
前述したように、ダミーブロック1320、1340を付加(パディング)して再構成された2N×2Nサイズの色相ブロック1300の場合、付加されたダミー情報(例えば、0値)を使用しないようにするために、変換ブロックの分割過程で分割深さが1回(1レベル)増加することもある。
【0130】
例えば、
図13に示すように、ダミーブロック1320、1340を含む2N×2Nサイズの色相ブロック1300は常にクワッドツリー形態に1回分割されて4個の変換ブロック1310、1320、1330、1340で構成されてから処理されることもできる。この際、変換ブロック0 1310と変換ブロック2 1330は色相成分を有するブロックであるので、一般的な変換とそれと関連した処理が進行されることができ、変換ブロック1 1320と変換ブロック3 1340はダミー情報を有するブロックであるので、全ての情報を0と見なして変換を遂行しないことがある。したがって、符号化器では変換と関連した諸般情報、例えば変換係数情報(cbf)、分割情報(split_transform_flag)、変換係数(transform coefficients)などを転送しないことがある。
【0131】
図12及び
図13で前述した方法は、4:2:2色相形式と4:4:4色相形式との間のハードウェア具現において差異点を減らし、具現及び表現において正規性を高める長所がある。
【0132】
図14は、本発明の更に他の実施形態に従って4:2:2色相形式で輝度ブロックに対応する色相ブロックの分割過程を説明するための図である。
【0133】
図14を参照すると、4:2:2色相形式で輝度ブロックが2N×2Nサイズ(正方形サイズ)を有する時、輝度ブロックに対応する色相ブロック1400はN×2Nサイズ(矩形サイズ)を有することができる。
【0134】
この際、符号化器ではN×2Nサイズの色相ブロック1400をインターレース(interlace)方式により再組合して2つのN×Nサイズの色相ブロック1410、1420で構成することができる。すると、各N×Nサイズの色相ブロック1410、1420は4:2:0色相形式と同一に符号化過程が処理できる。ここで、インターレース方式は1つの映像を2つのフィールド、例えば偶数と奇数ラインフィールドに分離して圧縮することができる技術をいう。
【0135】
例えば、N×2Nサイズの色相ブロック1400内の偶数ライン(even line)に位置したサンプルでN×Nサイズの第1色相ブロック1410を構成することができ、N×2Nサイズの色相ブロック1400内の奇数ライン(odd line)に位置したサンプルでN×Nサイズの第2色相ブロック1420を構成することができる。
【0136】
復号化器では、2つのN×Nサイズの色相ブロック1410、1420に対して4:2:0色相形式と同一に復号化過程を遂行した後、2つのN×Nサイズの色相ブロック1410、1420を元の形式で組み合わせてN×2Nサイズの色相ブロック1400で構成することができる。
【0137】
前述したように、N×2Nサイズの色相ブロック1400が偶数ラインにあるサンプルで組み合わせたN×Nサイズの第1色相ブロック1410と、奇数ラインにあるサンプルで組み合わせたN×Nサイズの第2色相ブロック1420で形成されれば、N×2Nサイズの色相ブロック1400を下方と上方に分割することに比べて、第1色相ブロック1410と第2色相ブロック1420はN×2Nサイズの色相ブロック1400と全体的に類似した情報を含むようになる。また、N×2Nサイズの色相ブロック1400をダウンサンプリングして符号化し、アップサンプリングして復号化することに比べて、遥かに少ない計算量を必要とし、損失される情報も減少できる。また、前述したインターレース方式により構成された第1色相ブロック1410と第2色相ブロック1420は、N×2Nサイズの色相ブロック1400と類似した性向を有するようになるので、輝度ブロックと同一な方式により変換ブロックに分割しても実際の映像情報と逸れる程度(誤差)が減るようになる。
【0138】
図15は、前述した
図14の実施形態に従う4:2:2色相形式で色相ブロックの分割形態を示す図である。
【0139】
2N×2Nサイズの輝度ブロック1500が分割されて
図15に示すような形態に変換ブロックを含んでいる場合、2N×2Nサイズの輝度ブロック1500に対応するN×2Nサイズの色相ブロック1510も同一な分割深さ(分割情報)を有して分割するとすれば、
図15の(a)に示すような分割形態を有して分割されることが合理的である。
【0140】
しかしながら、色相成分に対する変換ブロックのサイズが正方形に限定されれば、前述した
図14の実施形態のように、N×2Nサイズの色相ブロック1510が偶数ラインにあるサンプルで組み合わせたN×Nサイズの第1色相ブロック1520と奇数ラインにあるサンプルで組み合わせたN×Nサイズの第2色相ブロック1530で構成されて、
図15の(b)に示すように、第1色相ブロック1520と第2色相ブロック1530の各々に対して正方形サイズの変換ブロックに分割できる。
【0141】
図16は、本発明の実施形態に従う色相ブロックに対する復号化方法を概略的に示す順序図である。
図16の方法は、前述した
図2のデコーディング装置で遂行できる。
【0142】
図16を参照すると、デコーディング装置は色相形式情報に基づいて輝度成分を有する輝度ブロックに対応する色相成分を有する色相ブロックを誘導することができる(S1600)。
【0143】
色相形式情報は、前述したように、輝度成分サンプリングに対応する色相成分サンプリングを指示する情報でありうる。例えば、1つの輝度成分と2つの色相成分を用いて映像を表現する場合、色相形式情報は輝度成分のサンプル配列に対応する色相成分のサンプル配列によってモノクローム、4:2:0、4:2:2、4:4:4色相形式のうち、いずれか1つを指示する情報(例えば、chroma_format_idc)でありうる。
【0144】
もし、色相形式情報が4:2:2色相形式を指示する場合、2N×2Nサイズの輝度ブロックに対応する色相ブロックはN×2Nサイズブロックに誘導できる。即ち、色相ブロックの縦長は輝度ブロックの縦長と同一であり、色相ブロックの横長は輝度ブロックの横長の1/2でありうる。
【0145】
デコーディング装置は色相ブロックに対して変換を遂行するための分割情報に基づいて変換ブロックに分割を遂行することができる(S1610)。
【0146】
分割情報は、前述したように、第1ブロックが4個の第2ブロックに分割されるか否かを指示する情報であって、変換を処理する過程で使われる分割情報は、例えばsplit_transform_flag情報を用いることができる。
【0147】
色相形式情報が4:2:2色相形式を指示し、2N×2Nサイズの輝度ブロックに対応する色相ブロックがN×2Nサイズブロックに誘導された時、上記N×2Nサイズの色相ブロックに対して分割情報に基づいてクワッドツリー形式で分割する過程は、
図8から
図15を参照して説明したので、本実施形態ではこれに対する説明を省略する。
【0148】
デコーディング装置は変換ブロックに基づいて逆変換及び逆量子化のうち、少なくとも1つを遂行することができる(S1620)。
【0149】
デコーディング装置はエンコーディング装置で提供された量子化パラメータと変換ブロックの係数値に基づいて逆量子化を遂行することができ、逆量子化された結果に対して変換ブロック単位で逆変換を遂行することができる。このような逆量子化、逆変換を通じてレジデュアル情報を獲得することができる。
【0150】
前述したステップS1600〜1620は、エンコーディング装置でも同一な方式により遂行されることができ、また前述した
図1のエンコーディング装置及び前述した
図2のデコーディング装置に含まれたモジュールにより具現できる。
【0151】
前述した例示的なシステムにおいて、方法は一連のステップまたはブロックとして順序図に基づいて説明されているが、本発明はステップの順序に限定されるものではなく、あるステップは前述したことと異なるステップと異なる順序で、または同時に発生することができる。また、前述した実施形態は多様な様態の例示を含む。したがって、本発明は以下の特許請求範囲内に属する全ての他の取替、修正、及び変更を含むということができる。