本発明による映像符号化/復号化方法及び装置は、相関性情報獲得のために指定された参照画素領域を確認する段階と、参照画素領域の使用可能性判断に基づいて参照画素処理設定を決定する段階と、決定された参照画素処理設定による画面内予測を行う段階とを含むことができる。
本発明による映像符号化/復号化方法及び装置は、現在ブロックのモーション情報予測のための候補リストを生成し、前記候補リストと候補インデックスに基づいて前記現在ブロックの制御点ベクターを誘導し、前記現在ブロックの制御点ベクターに基づいて前記現在ブロックのモーションベクターを誘導し、前記モーションベクターを用いて前記現在ブロックに対してインター予測を遂行することができる。
本発明による映像符号化/復号化装置において、前記候補リストは、複数のアフィン候補を含むことができる。
本発明による映像符号化/復号化装置において、前記アフィン候補は、空間的候補、時間的候補又は構成候補の少なくとも1個を含むことができる。
本発明による映像符号化/復号化装置において、前記現在ブロックのモーションベクターは、前記現在ブロックのサブブロックの単位で誘導することができる。
本発明による映像符号化/復号化装置において、前記空間的候補は、前記現在ブロックの境界がコーディングツリーブロックの境界(CTU boundary)に接するかを考慮して決定することができる。
本発明による映像符号化/復号化装置において、前記構成候補は、前記現在ブロックの各コーナーに対応する制御点ベクターの少なくとも2個の組合せに基づいて決定することができる。
発明の実施のための形態
本発明は多様な変更を加えることができ、様々な実施例を有することができるが、特定の実施例を図面に例示して詳細に説明しようとする。しかし、これは本発明を特定の実施形態に限定しようとするものではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物乃至代替物を含むものと理解すべきである。
第1、第2、A、Bなどの用語は多様な構成要素を説明するのに使うことができるが、前記構成要素は前記用語に限定されてはいけない。前記用語は一構成要素を他の構成要素と区別する目的のみで使われる。例えば、本発明の権利範囲を逸脱しない範疇内で第1構成要素は第2構成要素と名付けることができ、同様に第2構成要素も第1構成要素と名付けることができる。及び/又はという用語は複数の関連した記載項目の組合せ又は複数の関連した記載項目のいずれか項目を含む。
ある構成要素が他の構成要素に“連結される”か“接続される”と言及されたときには、その他の構成要素に直接的に連結されているか又は接続されていることもできるが、中間にさらに他の構成要素が存在することもできると理解すべきであろう。一方、ある構成要素が他の構成要素に“直接連結される”か“直接接続される”と言及されたときには、中間にさらに他の構成要素が存在しないと理解すべきであろう。
本発明で使用した用語はただ特定の実施例を説明するために使用したもので、本発明を限定しようとする意図ではない。単数の表現は文脈上ではっきり他に指示しない限り、複数の表現を含む。本発明で、“含む”又は“有する”などの用語は明細書相に記載した特徴、数字、段階、動作、構成要素、部品又はこれらの組合せが存在することを指定しようとするものであり、1個又はそれ以上の他の特徴、数字、段階、動作、構成要素、部品又はこれらの組合せなどの存在又は付加の可能性を予め排除しないと理解すべきである。
他に定義しない限り、技術的又は科学的な用語を含めてここで使う全ての用語は本発明が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同一のものを意味する。一般的に使われる辞書に定義されているような用語は関連技術の文脈上で有する意味と一致するものと解釈すべきであり、本発明ではっきり定義しない限り、理想的な又は過度に形式的な意味と解釈されない。
通常的に、映像のカラーフォーマット(Color Format)によって1個以上のカラー空間から構成されることができる。カラーフォーマットによって一定のサイズを有する1個以上のピクチャー又は他のサイズを有する1個以上のピクチャーから構成されることができる。一例として、YCbCrカラー構成で、4:4:4、4:2:2、4:2:0、モノクロム(Yのみで構成)などのカラーフォーマットを支援することができる。一例として、YCbCr4:2:0の場合は1個の輝度成分(本例で、Y)と2個の色差成分(本例で、Cb/Cr)とから構成することができる。ここで、色差成分と輝度成分の構成比は、横縦1:2を有することができる。一例として、4:4:4の場合、横長及び縦長が同一の構成比を有することができる。前記例のように1個以上のカラー空間から構成される場合、ピクチャーは各カラー空間への分割を遂行することができる。
映像は、映像タイプ(例えば、ピクチャータイプ、スライスタイプ、タイルタイプなど)によって、I、P、Bなどに分類することができる。I映像タイプは、参照ピクチャーを使わずに自ら符号化/復号化する映像を意味することができ、P映像タイプは、参照ピクチャーを使って符号化/復号化するが、前方向予測のみ許す映像を意味することができ、B映像タイプは、参照ピクチャーを使って符号化/復号化し、前方向/後方向予測を許す映像を意味することができるが、符号化/復号化設定によって前記タイプの一部が結合(PとBを結合)するか他の構成の映像タイプを支援することもできる。
図1は本発明の実施例による映像符号化及び復号化システムの概念図である。
図1を参照すると、映像符号化装置105及び復号化装置100は、個人用コンピュータ(PC:Personal Computer)、ノートブック型コンピュータ、個人用携帯端末(PDA:Personal Digital Assistant)、携帯型マルチメディアプレーヤー(PMP:Portable Multimedia Player)、プレイステーションポータブル(PSP:PlayStation Portable)、無線通信端末(Wireless Communication Terminal)、スマートフォン(SmartPhone)又はTVなどの使用者端末であるか、応用サーバー、サービスサーバーなどのサーバー端末であることができ、各種の機器又は有無線通信網と通信を遂行するための通信モデムなどの通信装置、映像を符号化又は復号化するためにインター又はイントラ予測するための各種のプログラムとデータを保存するためのメモリ(memory)120、125、又はプログラムを実行して演算及び制御するためのプロセッサ(processor)110、115などを備える多様な装置を含むことができる。
また、映像符号化装置105によってビットストリームに符号化した映像は、実時間又は非実時間でインターネット、近距離無線通信網、無線LAN網、ワイブロ網又は移動通信網などの有無線通信網(Network)などを介して、又はケーブル又はユニバーサルシリアルバス(USB:Universal Serial Bus)などの多様な通信インターフェースを介して映像復号化装置100に伝送され、映像復号化装置100で復号化して映像に復元されて再生されることができる。また、映像符号化装置105によってビットストリームに符号化した映像はコンピュータ可読の記録媒体を介して映像符号化装置105から映像復号化装置100に伝達されることができる。
前述した映像符号化装置と映像復号化装置は互いに別個の装置であることができるが、具現によって1個の映像符号化/復号化装置に作られることができる。その場合、映像符号化装置の一部の構成は映像復号化装置の一部の構成と実質的に同じ技術要素であり、少なくとも同じ構造を含むか少なくとも同じ機能を果たすように具現されることができる。
よって、以下の技術要素とこれらの作動原理などについての詳細な説明では対応技術要素の重複説明を省略する。また、映像復号化装置は映像符号化装置で行われる映像符号化方法を復号化に適用するコンピュータ装置に対応するので、以下の説明では映像符号化装置を中心に説明する。
コンピュータ装置は、映像符号化方法及び/又は映像復号化方法を具現するプログラム又はソフトウェアモジュールを保存するメモリと、メモリに連結されてプログラムを実行するプロセッサとを含むことができる。ここで、映像符号化装置は符号化器と、映像復号化装置は復号化器とそれぞれいうことができる。
図2は本発明の一実施例による映像符号化装置のブロック構成図である。
図2を参照すると、映像符号化装置20は、予測部200、減算部205、変換部210、量子化部215、逆量子化部220、逆変換部225、加算部230、フィルター部235、符号化ピクチャーバッファー240及びエントロピー符号化部245を含むことができる。
予測部200はソフトウェアモジュールである予測モジュール(prediction module)を用いて具現することができ、符号化すべきブロックに対して画面内予測方式(Intra Prediction)又は画面間予測方式(Inter Prediction)で予測ブロックを生成することができる。予測部200は、映像で現在符号化しようとする現在ブロックを予測して予測ブロックを生成することができる。言い換えれば、予測部200は、映像で符号化しようとする現在ブロックの各画素の画素値(pixel value)を画面内予測又は画面間予測によって予測して生成した各画素の予測画素値(predicted pixel value)を有する予測ブロックを生成することができる。また、予測部200は、画面内予測モード又は画面間予測モードのような予測モードについての情報のような、予測ブロックを生成するのに必要な情報を符号化部に伝達し、符号化部にとって予測モードについての情報を符号化するようにすることができる。ここで、予測が行われる処理単位と予測方法及び具体的な内容が決定される処理単位は符号化/復号化設定によって決定することができる。例えば、予測方法、予測モードなどは予測単位で決定し、予測の遂行は変換単位で遂行することができる。
画面間予測部で、動き予測方法によって、移動動きモデル(Translation motion model)と移動外動きモデル(Affine motion model)に区分することができる。移動動きモデルの場合、平行移動のみ考慮して予測を遂行し、移動外動きモデルの場合、平行移動のみではなく、回転、遠近、ズームイン/アウト(Zoom in/out)などの動きを考慮して予測を遂行することができる。単方向予測を仮定するとき、移動動きモデルの場合は1個の動きベクターが必要であり得るが、移動外動きモデルの場合は1個以上の動きベクターが必要であり得る。移動外動きモデルの場合、各動きベクターは現在ブロックの左上側頂点、右上側頂点などの現在ブロックの既設定の位置に適用される情報であることができ、該当動きベクターによって現在ブロックの予測しようとする領域の位置を画素単位又はサブブロック単位で獲得することができる。画面間予測部は、前記動きモデルによって、後述する一部の過程は共通で適用することができ、一部の過程は個別的に適用することができる。
画面間予測部は、参照ピクチャー構成部、動き推定部、動き補償部、動き情報決定部、及び動き情報符号化部を含むことができる。参照ピクチャー構成部は、現在ピクチャーを中心に以前又は以後に符号化したピクチャーを参照ピクチャーリスト(L0、L1)に含むことができる。前記参照ピクチャーリストに含まれた参照ピクチャーから予測ブロックを獲得することができ、符号化設定によって現在映像も参照ピクチャーから構成され、参照ピクチャーリストの少なくとも1個に含まれることができる。
画面間予測部で、参照ピクチャー構成部は参照ピクチャー補間部を含むことができ、補間精度によって少数単位画素のための補間過程を遂行することができる。例えば、輝度成分の場合は8−tap DCTに基づく補間フィルターを適用し、色差成分の場合は4−tap DCTに基づく補間フィルターを適用することができる。
画面間予測部で、動き推定部は現在ブロックとの相関性が高いブロックを参照ピクチャーによって探索する過程であり、FBMA(Full search−based block matching algorithm)、TSS(Three step search)などの多様な方法を使うことができ、動き補償部は、動き推定過程によって予測ブロックを獲得する過程を意味する。
画面間予測部で、動き情報決定部は現在ブロックの最適の動き情報を選定するための過程を遂行することができ、動き情報はスキップモード(Skip Mode)、併合モード(Merge Mode)、競争モード(Competition Mode)などの動き情報符号化モードによって符号化することができる。前記モードは動きモデルによって支援されるモードが結合されて構成されることができ、スキップモード(移動)、スキップモード(移動外)、併合モード(移動)、併合モード(移動外)、競争モード(移動)、競争モード(移動外)がそれに対する例であることができる。符号化設定によって、前記モードの一部が候補群に含まれることができる。
前記動き情報符号化モードは、少なくとも1個の候補ブロックから現在ブロックの動き情報(動きベクター、参照ピクチャー、予測方向など)の予測値を獲得することができ、2個以上の候補ブロックを支援する場合には、最適の候補選択情報が発生することができる。スキップモード(残留信号なし)と併合モード(残留信号あり)は前記予測値をそのまま現在ブロックの動き情報として使うことができ、競争モードは現在ブロックの動き情報と前記予測値との差分値情報が発生することができる。
現在ブロックの動き情報予測値のための候補群は、動き情報符号化モードによって適応的で多様な構成を有することができる。現在ブロックに空間的に隣接したブロック(例えば、左側、上側、左上側、右上側、左下側ブロックなど)の動き情報を候補群に含むことができ、時間的に隣接したブロックの動き情報を候補群に含むことができ、空間的候補と時間的候補の組合せ動き情報などを候補群に含むことができる。
前記時間的に隣接したブロックは、現在ブロックに対応(又は相応)する他の映像内のブロックを含み、該当ブロックを中心に左側、右側、上側、下側、左上側、右上側、左下側、右下側ブロックなどに位置するブロックを意味することができる。前記組合せ動き情報は、空間的に隣接したブロックの動き情報と時間的に隣接したブロックの動き情報から、平均、中央値などとして獲得される情報を意味することができる。
動き情報予測値候補群構成のための優先順位が存在することができる。前記優先順位によって予測値候補群構成に含まれる手順を決定することができ、前記優先順位によって候補群の個数(動き情報符号化モードによって決定される)だけ満たされれば候補群構成を完了することができる。ここで、空間的に隣接したブロックの動き情報、時間的に隣接したブロックの動き情報、空間的候補と時間的候補の組合せ動き情報の順に優先順位を決定することができるが、それ以外の変形も可能である。
例えば、空間的に隣接したブロックの中では、左側−上側−右上側−左下側−左上側ブロックなどの順に候補群に含むことができ、時間的に隣接したブロックの中では、右下側−中側−右側−下側ブロックなどの順に候補群に含むことができる。
減算部205は、現在ブロックで予測ブロックを減算して残留ブロック(residual block)を生成することができる。言い換えれば、減算部205は、符号化しようとする現在ブロックの各画素の画素値と予測部によって生成された予測ブロックの各画素の予測画素値との間の差を計算してブロック形態の残留信号(residual signal)である残留ブロックを生成することができる。また、減算部205は、後述するブロック分割部によって獲得したブロック単位以外の単位によって残留ブロックを生成することもできる。
変換部210は、空間領域に属する信号を周波数領域に属する信号に変換することができ、変換過程によって獲得される信号を変換係数(Transformed Coefficient)と言う。例えば、減算部から伝達された残留信号を有する残留ブロックを変換して変換係数を有する変換ブロックを獲得することができる。入力された信号は符号化設定によって決定され、これは残留信号に限定されない。
変換部は、残留ブロックをアダマール変換(Hadamard Transform)、離散サイン変換(DST Based−Transform:Discrete Sine Transform)、離散コサイン変換(DCT Based−Transform:Discrete Cosine Transform)などの変換技法を使って変換することができるが、これに限定されず、これを改良及び変形した多様な変換技法を使うことができる。
前記変換技法の少なくとも1個の変換技法を支援することができ、各変換技法の少なくとも1個の細部変換技法を支援することができる。ここで、前記細部変換技法は各変換技法において基底ベクターの一部が異なるように構成される変換技法であることができる。
例えば、DCTの場合、DCT−I〜DCT−VIIIの1個以上の細部変換技法を支援することができ、DSTの場合、DST−I〜DST−VIIIの1個以上の細部変換技法を支援することができる。前記細部変換技法の一部を構成して変換技法候補群を構成することができる。一例として、DCT−II、DCT−VIII、DST−VIIを変換技法候補群に構成して変換を遂行することができる。
変換は水平/垂直方向に遂行することができる。例えば、DCT−IIの変換技法を使って水平方向に1次元変換を遂行し、DST−VIIIの変換技法を使って垂直方向に1次元変換を遂行して、総2次元変換を遂行することにより、空間領域の画素値を周波数領域に変換することができる。
固定的な1個の変換技法を使って変換を遂行することができるか、符号化/復号化設定によって変換技法を適応的に選択して変換を遂行することができる。ここで、適応的な場合には、明示的又は黙示的方法を使って変換技法を選択することができる。明示的な場合には、水平、垂直方向に適用されるそれぞれの変換技法選択情報又は変換技法セット選択情報がブロックなどの単位で発生することができる。黙示的な場合は、映像タイプ(I/P/B)、カラー成分、ブロックのサイズ、形態、画面内予測モードなどによって符号化設定を定義することができ、これによって予め定義された変換技法を選択することができる。
また、符号化設定によって前記一部変換を省略する場合があり得る。すなわち、明示的又は黙示的に水平/垂直単位の1個以上を省略することができることを意味する。
また、変換部は、変換ブロックを生成するのに必要な情報を符号化部に伝達してこれを符号化するようにすることができ、それによる情報をビットストリームに収録し、これを復号化器に伝送し、復号化器の復号化部はこれについての情報をパーシングして逆変換過程に使うことができる。
量子化部215は、入力された信号を量子化することができる。ここで、量子化過程によって獲得される信号を量子化係数(Quantized Coefficient)と言う。例えば、変換部から伝達された残留変換係数を有する残留ブロックを量子化して量子化係数を有する量子化ブロックを獲得することができる。入力された信号は符号化設定によって決定され、これは残留変換係数に限定されない。
量子化部は、変換された残留ブロックをデッドゾーン均一閾値量子化(Dead Zone Uniform Threshold Quantization)、量子化加重値マトリックス(Quantization Weighted Matrix)などの量子化技法を使って量子化することができるが、これに限定されず、これを改良及び変形した多様な量子化技法を使うことができる。
符号化設定によって量子化過程は省略することができる。例えば、符号化設定(例えば、量子化パラメーターが0。すなわち、無損失圧縮環境)によって量子化過程を省略(逆過程も含み)することができる。他の例として、映像の特性によって量子化による圧縮性能が発揮されない場合には、量子化過程を省略することができる。ここで、量子化ブロック(M×N)の中で量子化過程が省略される領域は全体領域であるか又は一部領域(M/2×N/2、M×N/2、M/2×Nなど)であることができ、量子化省略選択情報は黙示的又は明示的に決定することができる。
量子化部は、量子化ブロックを生成するのに必要な情報を符号化部に伝達してこれを符号化するようにすることができ、それによる情報をビットストリームに収録し、これを復号化器に伝送し、復号化器の復号化部はこれについての情報をパーシングし、これを逆量子化過程に使うことができる。
前記例では変換部及び量子化部によって残留ブロックを変換して量子化するという仮定の下で説明したが、残留信号を変換して変換係数を有する残留ブロックを生成し、量子化過程を遂行しないことができ、残留ブロックの残留信号を変換係数に変換せずに量子化過程のみ遂行することができるだけでなく、変換及び量子化過程のいずれも遂行しないこともできる。これは符号化器設定によって決定することができる。
逆量子化部220は、量子化部215によって量子化した残留ブロックを逆量子化する。すなわち、逆量子化部220は、量子化周波数係数列を逆量子化して周波数係数を有する残留ブロックを生成する。
逆変換部225は、逆量子化部220によって逆量子化した残留ブロックを逆変換する。すなわち、逆変換部225は、逆量子化した残留ブロックの周波数係数を逆変換し、画素値を有する残留ブロック、すなわち復元した残留ブロックを生成する。ここで、逆変換部225は、変換部210で使用した変換した方式を逆に使用して逆変換を遂行することができる。
加算部230は、予測部200で予測された予測ブロックと逆変換部225によって復元した残留ブロックを加算して現在ブロックを復元する。復元された現在ブロックは符号化ピクチャーバッファー240に参照ピクチャー(又は参照ブロック)として保存され、現在ブロックの次のブロック又は今後の他のブロック、他のピクチャーを符号化するときに参照ピクチャーとして使われることができる。
フィルター部235は、デブロッキングフィルター、SAO(Sample Adaptive Offset)、ALF(Adaptive Loop Filter)などの1個以上の後処理フィルター過程を含むことができる。デブロッキングフィルターは、復元されたピクチャーからブロック間の境界で生じたブロック歪みを除去することができる。ALFは、デブロッキングフィルターを介してブロックがフィルタリングされてから復元された映像と元の映像を比較した値に基づいてフィルタリングを遂行することができる。SAOは、デブロッキングフィルターが適用された残留ブロックに対し、画素単位で原本映像とのオフセット差を復元することができる。このような後処理フィルターは復元されたピクチャー又はブロックに適用することができる。
符号化ピクチャーバッファー240は、フィルター部235を介して復元されたブロック又はピクチャーを保存することができる。符号化ピクチャーバッファー240に保存された復元ブロック又はピクチャーは画面内予測又は画面間予測を行う予測部200に提供することができる。
エントロピー符号化部245は、生成された量子化周波数係数列を多様なスキャン方式でスキャンして量子化係数列を生成し、これをエントロピー符号化技法などで符号化することによって出力する。スキャンパターンは、ジグザグ、対角線、ラスター(raster)などの多様なパターンの1個に設定することができる。また、各構成部から伝達される符号化情報を含む符号化データを生成してビットストリームとして出力することができる。
図3は本発明の一実施例による映像復号化装置のブロック構成図である。
図3を参照すると、映像復号化装置30は、エントロピー復号化部305、予測部310、逆量子化部315、逆変換部320、加減算器325、フィルター330及び復号化ピクチャーバッファー335を含んでなることができる。
また、予測部310は、さらに画面内予測モジュール及び画面間予測モジュールを含んでなることができる。
まず、映像符号化装置20から伝達された映像ビットストリームが受信されれば、エントロピー復号化部305に伝達することができる。
エントロピー復号化部305は、ビットストリームを復号化して量子化した係数と各構成部に伝達される復号化情報を含む復号化データを復号化することができる。
予測部310は、エントロピー復号化部305から伝達されたデータに基づいて予測ブロックを生成することができる。ここで、復号化ピクチャーバッファー335に保存された参照映像に基づいて、デフォルト(default)構成技法を用いた参照ピクチャーリストを構成することもできる。
画面間予測部は、参照ピクチャー構成部、動き補償部、及び動き情報復号化部を含むことができ、一部は符号化器と同じ過程を遂行し、一部は逆に誘導する過程を遂行することができる。
逆量子化部315は、ビットストリームとして提供されてエントロピー復号化部305によって復号化した量子化変換係数を逆量子化することができる。
逆変換部320は、逆DCT、逆整数変換又はそれと類似した概念の逆変換技法を変換係数に適用して残留ブロックを生成することができる。
ここで、逆量子化部315及び逆変換部320は、前述した映像符号化装置20の変換部210及び量子化部215で遂行した過程を逆に遂行し、多様な方法で具現されることができる。例えば、変換部210及び量子化部215と共有する同じ過程及び逆変換を使うこともでき、映像符号化装置20から変換及び量子化過程についての情報(例えば、変換サイズ、変換形状、量子化タイプなど)を用いて変換及び量子化過程を逆に遂行することができる。
逆量子化及び逆変換過程を経た残留ブロックは予測部310によって導出された予測ブロックに加算されて復元した映像ブロックを生成することができる。このような加算は加減算器325によって行うことができる。
フィルター330は、復元した映像ブロックに対し、必要によってブロッキング(blocking)現象を除去するために、デブロッキングフィルターを適用することもでき、前記復号化過程の前後に他のループフィルターを、ビデオ品質を向上させるために、追加的に使うこともできる。
復元及びフィルターを経た映像ブロックは復号化ピクチャーバッファー335に保存されることができる。
図面に示していないが、映像符号化/復号化装置にピクチャー分割部とブロック分割部をさらに含むことができる。
ピクチャー分割部は、ピクチャーをカラー空間(例えば、YCbCr、RGB又はXYZなど)、タイル、スライス、基本符号化単位(又は最大符号化単位)などの少なくとも1個の処理単位に分割(又は区画)することができ、ブロック分割部は、基本符号化単位を少なくとも1個の処理単位(例えば、符号化、予測、変換、量子化、エントロピー及びインループフィルター単位など)に分割することができる。
基本符号化単位は、横方向及び縦方向にピクチャーを一定の間隔で分割して獲得することができる。これに基づいてタイル、スライスなどの分割を遂行することができるが、これに限定されない。前記タイルとスライスのような分割単位は基本符号化ブロックの整数倍で構成されることができるが、映像境界に位置する分割単位では例外的な場合が発生し得る。このために、基本符号化ブロックサイズの調整が発生することもできる。
例えば、ピクチャーを基本符号化単位に区画してから前記単位に分割することができるか、又はピクチャーを前記単位に区画してから基本符号化単位に分割することができる。本発明では各単位の区画及び分割順が前者である場合を仮定して説明するが、これに限定されず、符号化/復号化設定によって後者の場合も可能である。後者の場合、基本符号化単位のサイズが分割単位(タイルなど)によって適応的な場合への変形が可能である。すなわち、分割単位ごとに異なるサイズを有する基本符号化ブロックを支援することができることを意味する。
本発明ではピクチャーを基本符号化単位に区画する場合を基本設定にして後述の例を説明する。前記基本設定は、ピクチャーがタイル又はスライスに分割されないか又はピクチャーが1個のタイル又は1個のスライスである場合を意味することができる。しかし、前述したように、各分割単位(タイル、スライスなど)を先に区画し、獲得された単位によって基本符号化単位に分割する場合(すなわち、各分割単位が基本符号化単位の整数倍にならない場合など)にも後述する多様な実施例を同様に又は変更して適用することができることを理解すべきである。
前記分割単位の中で、スライスの場合、スキャンパターンによって連続する少なくとも1個のブロックの束から構成されることができ、タイルの場合、空間的に隣接したブロックの長方形の束から構成されることができ、それ以外の追加的な分割単位を支援し、それによる定義によって構成されることができる。スライスとタイルは並列処理などのための目的で支援する分割単位であることができ、このために分割単位間の参照は制限(すなわち、参照できない)することができる。
スライスは連続するブロックの開始位置についての情報で各単位の分割情報を生成することができ、タイルの場合、水平及び垂直方向の分割線についての情報を生成するか又はタイルの位置情報(例えば、左上側、右上側、左下側、右下側位置)を生成することができる。
ここで、スライスとタイルは符号化/復号化設定によって複数の単位に区分されることができる。
例えば、一部の単位<A>は符号化/復号化過程に影響を及ぼす設定情報を含む単位(すなわち、タイルヘッダー又はスライスヘッダーを含み)であることができ、一部の単位<B>は設定情報を含まない単位であることができる。もしくは、一部の単位<A>は符号化/復号化過程で他の単位を参照することができない単位であることができ、一部の単位<B>は参照することができる単位であることができる。また、一部の単位<A>は他の単位<B>を含む上下関係であることができるか、一部の単位<A>は他の単位<B>と対等な関係であることができる。
ここで、AとBはスライスとタイル(又はタイルとスライス)であることができる。もしくは、AとBはスライス及びタイルの1個で構成されることができる。例えば、Aはスライス/タイル<タイプ1>であり、Bはスライス/タイル<タイプ2>のような構成が可能である。
ここで、タイプ1とタイプ2はそれぞれ1個のスライス又はタイルであることができる。もしくは、タイプ1は(タイプ2を含む)複数のスライス又はタイル(スライス集合又はタイル集合)であることができ、タイプ2は1個のスライス又はタイルであることができる。
既に前述したように、本発明はピクチャーが1個のスライス又はタイルから構成される場合を仮定して説明するが、2個以上の分割単位が発生する場合であれば、前記説明を後述する実施例に適用して理解することができる。また、A及びBは分割単位が有することができる特性に対する例示であり、各例示のA及びBを組み合わせて構成する例も可能である。
一方、ブロック分割部によって多様なサイズのブロックに分割することができる。ここで、ブロックはカラーフォーマットによって1個以上のブロックから構成(例えば、1個の輝度ブロック及び2個の色差ブロックなど)されることができ、カラーフォーマットによってブロックのサイズが決定されることができる。以下では、説明の便宜上、1個のカラー成分(輝度成分)によるブロックを基準に説明する。
後述する内容は1個のカラー成分を対象とするが、カラーフォーマットによる比(例えば、YCbCr4:2:0の場合、輝度成分と色差成分の横長と縦長の比は2:1)に比例して他のカラー成分に変更して適用することができることを理解すべきである。また、他のカラー成分に依存的なブロック分割(例えば、Cb/CrでYのブロック分割結果に依存的な場合)ができるが、各カラー成分に独立的なブロック分割が可能であることを理解すべきである。また、共通する1個のブロック分割設定(長さ比に比例することを考慮)を使うことができるが、カラー成分によって個別的なブロック分割設定を使うことも考慮して理解する必要がある。
ブロックはM×N(M及びNは4、8、16、32、64、128などの整数)のような可変サイズを有することができ、符号化遂行のための単位(符号化ブロック。Coding Block)であることができる。詳細には、予測、変換、量子化及びエントロピー符号化などの基礎となる単位であることができ、本発明ではこれを通称してブロックと表現する。ここで、ブロックは方形のブロックのみ意味するものではなく、三角形、円形などの多様な形態の領域を含む広い概念と理解すべきであるが、本発明では方形の場合を中心に説明する。
ブロック分割部は映像符号化装置及び復号化装置の各構成部に関連して設定されることができ、この過程によってブロックのサイズ及び形態を決定することができる。ここで、設定されるブロックは構成部によって異なるように定義されることができ、予測部の場合は予測ブロック(Prediction Block)、変換部の場合は変換ブロック(Transform Block)、量子化部の場合は量子化ブロック(Quantization Block)などがこれに相当することができる。ただ、これに限定されず、他の構成部によるブロック単位が追加的に定義されることができる。本発明では各構成部で入力と出力がブロック(すなわち、長方形)である場合を仮定して説明するが、一部の構成部では他の形態(例えば、方形、三角形など)の入力/出力が可能である。
ブロック分割部の初期(又は開始)ブロックのサイズ及び形態は上位単位から決定することができる。例えば、符号化ブロックの場合は基本符号化ブロックが初期ブロックであることができ、予測ブロックの場合は符号化ブロックが初期ブロックであることができる。また、変換ブロックの場合は符号化ブロック又は予測ブロックが初期ブロックであることができ、これは符号化/復号化設定によって決定することができる。
例えば、符号化モードがイントラ(intra)の場合、予測ブロックは変換ブロックの上位単位であることができ、インター(inter)の場合、予測ブロックは変換ブロックに独立的な単位であることができる。分割の開始単位である初期ブロックは小さなサイズのブロックに分割されることができ、ブロックの分割による最適のサイズ及び形態が決定されれば、そのブロックは下位単位の初期ブロックに決定されることができる。分割の開始単位である初期ブロックを上位単位の初期ブロックと見なすことができる。ここで、上位単位は符号化ブロック、下位単位は予測ブロック又は変換ブロックであることができるが、これに限定されるものではない。前記例のように下位単位の初期ブロックが決定されれば、上位単位のように最適のサイズ及び形態のブロックを捜すための分割過程を遂行することができる。
まとめると、ブロック分割部は、基本符号化単位(又は最大符号化単位)を少なくとも1個の符号化単位(又は下位符号化単位)に分割することができる。また、符号化単位は少なくとも1個の予測単位に分割することができ、少なくとも1個の変換単位に分割することができる。符号化単位は少なくとも1個の符号化ブロックに分割することができ、符号化ブロックは少なくとも1個の予測ブロックに分割することができ、少なくとも1個の変換ブロックに分割することができる。予測単位は少なくとも1個の予測ブロックに分割することができ、変換単位は少なくとも1個の変換ブロックに分割することができる。
ここで、一部のブロックの場合、他のブロックと結合されて1個の分割過程を遂行することができる。例えば、符号化ブロックと変換ブロックが単一の単位に結合する場合、最適のブロックのサイズ及び形態を獲得するための分割過程を遂行し、これは符号化ブロックの最適のサイズ及び形態だけでなく変換ブロックの最適のサイズ及び形態であることができる。もしくは、符号化ブロックと変換ブロックが単一の単位に結合することができ、予測ブロックと変換ブロックが単一の単位に結合することができ、符号化ブロックと予測ブロックと変換ブロックとが単一の単位に結合することができ、その他のブロックの結合が可能である。ただ、前記結合可否は映像(ピクチャー、スライス、タイルなど)内で一括的に適用されるものではなく、ブロック単位の細部条件(例えば、映像タイプ、符号化モード、ブロックのサイズ/形態、予測モード情報など)によって適応的に結合可否などを決定することができる。
上述したように、最適のサイズ及び形態のブロックを捜した場合、これについてのモード情報(例えば、分割情報など)が生成されることができる。モード情報はブロックが属する構成部で発生する情報(例えば、予測関連情報及び変換関連情報など)とともにビットストリームに収録されて復号化器に伝送されることができ、復号化器で同一水準の単位でパーシングされて映像復号化過程で使われることができる。
以下では分割方式について説明し、説明の便宜上、初期ブロックが正方形であることを仮定するが、初期ブロックが長方形の場合にも同一に又は同様に適用することができるので、これに限定されるものではない。
ブロック分割のための多様な方法を支援することができるが、本発明ではツリー基盤の分割に重点を置いて説明し、少なくとも1個のツリー分割を支援することができる。ここで、ツリー方式は、クワッドツリー(Quad Tree.QT)、バイナリーツリー(Binary Tree.BT)、ターナリーツリー(Ternary Tree.TT)などを支援することができる。1個のツリー方式を支援する場合は単一ツリー分割、2個以上のツリー方式を支援する場合は多重ツリー方式ということができる。
クワッドツリー分割の場合はブロックを横方向及び縦方向にそれぞれ2分割する方式を意味し、バイナリーツリー分割の場合はブロックを横方向又は縦方向の一方向に2分割する方式を意味し、ターナリーツリー分割の場合はブロックを横方向又は縦方向に3分割する方式を意味する。
本発明で、分割前のブロックがM×Nの場合、クワッドツリー分割を4個のM/2×N/2に分割し、バイナリーツリー分割は2個のM/2×N又はM×N/2に分割し、ターナリーツリー分割の場合はM/4×N/M/2×N/M/4×N又はM×N/4/M×N/2/M×N/4に分割する場合を仮定する。しかし、分割結果が前記場合にのみ限定されず、多様な変形の例が可能である。
符号化/復号化設定によって前記ツリー分割の1個以上の方式を支援することができる。例えば、クワッドツリー分割を支援することができるか、又はクワッドツリー分割とバイナリーツリー分割を支援することができるか、又はクワッドツリー分割とターナリーツリー分割を支援することができるか、又はクワッドツリー分割とバイナリーツリー分割とターナリーツリー分割を支援することができる。
前記例は基本分割方式がクワッドツリーであり、その他のツリーの支援可否によってバイナリーツリー分割とターナリーツリー分割を追加分割方式に含む場合に対する例であるが、多様な変形が可能である。ここで、その他のツリー支援可否についての情報(bt_enabled_flag、tt_enabled_flag、bt_tt_enabled_flagなど。0又は1の値を有することができ、0であれば支援しなく、1であれば支援する)は符号化/復号化設定によって黙示的に決定されるか又はシーケンス、ピクチャー、スライス、タイルなどの単位で明示的に決定されることができる。
分割情報は分割可否についての情報(tree_part_flag。又はqt_part_flag、bt_part_flag、tt_part_flag、bt_tt_part_flag。0又は1の値を有することができ、0であれば分割しなく、1であれば分割する)を含むことができる。また、分割方式(バイナリーツリー、ターナリーツリー)によって分割方向(dir_part_flag。又はbt_dir_part_flag、tt_dir_part_flag、bt_tt_dir_part_flag。0又は1の値を有することができ、0であれば<横/水平>であり、1であれば<縦/垂直>)についての情報を加えることができ、これは分割を行う場合に発生可能な情報であることができる。
複数のツリー分割を支援する場合には多様な分割情報構成が可能である。次に1個の深さ(Depth)水準(すなわち、支援される分割深さが1個以上に設定されて再帰的な分割が可能であるが、説明の便宜のための目的)で分割情報がどのように構成されているかに対する例を仮定して説明する。
一例(1)で、分割可否についての情報を確認する。ここで、分割を遂行しない場合であれば分割を終了する。
仮に、分割を行う場合であれば、分割種類についての選択情報(例えば、tree_idx。0であればQT、1であればBT、2であればTT)を確認する。ここで、選択される分割種類によって分割方向情報をさらに確認し、次の段階(分割深さが最大に到逹しない場合などの理由で追加分割ができれば再び初めから始め、分割が不可の場合であれば、分割を終了)に移る。
一例(2)で、一部のツリー方式(QT)に対する分割可否についての情報を確認し、次の段階に移る。ここで、分割を遂行しない場合であれば、一部のツリー方式(BT)の分割可否についての情報を確認する。ここで、分割を遂行しない場合であれば、一部のツリー方式(TT)の分割可否についての情報を確認する。ここで、分割を遂行しない場合であれば、分割を終了する。
仮に、一部のツリー方式(QT)の分割を遂行する場合であれば、次の段階に移る。また、仮に、一部のツリー方式(BT)の分割を遂行する場合であれば、分割方向情報を確認し、次の段階に移る。また、仮に、一部のツリー分割方式(TT)の分割を遂行する場合であれば、分割方向情報を確認し、次の段階に移る。
一例(3)で、一部のツリー方式(QT)に対する分割可否についての情報を確認する。ここで、分割を遂行しない場合であれば、一部のツリー方式(BT及びTT)の分割可否についての情報を確認する。ここで、分割を遂行しない場合であれば、分割を終了する。
仮に、一部のツリー方式(QT)の分割を遂行する場合であれば、次の段階に移る。また、仮に、一部のツリー方式(BT及びTT)の分割を遂行する場合であれば、分割方向情報を確認し、次の段階に移る。
前記例はツリー分割の優先順位が存在(2番と3番例)するか存在しない場合(1番例)であるが、多様な変形の例が可能である。また、前記例で、現在段階の分割は以前段階の分割結果とは無関係な場合を説明する例であるが、現在段階の分割が以前段階の分割結果に依存的な設定も可能である。
例えば、1〜3番例の場合、以前段階で一部のツリー方式の分割(QT)を遂行して現在段階に移った場合であれば、現在段階でも同一ツリー方式(QT)の分割を支援することができる。
一方、以前段階で一部のツリー方式の分割(QT)を遂行せずに他のツリー方式の分割(BT又はTT)を遂行して現在段階に移った場合であれば、一部のツリー方式の分割(QT)を除き、一部のツリー方式の分割(BT及びTT)を現在段階を含めた後続の段階で支援する設定も可能である。
このような場合には、ブロック分割に支援するツリー構成が適応的であることを意味するので、前述した分割情報構成も異なるように構成されることができることを意味する(後述する例は3番例であると仮定)。すなわち、前記例で一部のツリー方式(QT)の分割を以前段階で遂行しなかった場合、現在段階では一部のツリー方式(QT)は考慮せずに分割過程を遂行することができる。また、関連のツリー方式についての分割情報(例えば、分割可否についての情報、分割方向情報など。本例<QT>では分割可否についての情報)を除去して構成することができる。
前記例はブロック分割が許される場合(例えば、ブロックサイズが最大値と最小値との間の範囲内に存在、各ツリー方式の分割深さが最大深さ<許容深さ>に到逹しないなど)に対する適応的な分割情報構成に対する場合であり、ブロック分割が制限される場合(例えば、ブロックのサイズが最大値と最小値との間の範囲に存在しなく、各ツリー方式の分割深さが最大深さに到逹するなど)にも適応的な分割情報構成が可能である。
前述したように、本発明で、ツリーに基づく分割は再帰的な方式で遂行することができる。例えば、分割深さがkである符号化ブロックの分割フラグが0の場合、符号化ブロックの符号化は分割深さがkである符号化ブロックで遂行し、分割深さがkである符号化ブロックの分割フラグが1の場合、符号化ブロックの符号化は分割方式によって分割深さがk+1であるN個のサブ符号化ブロック(ここで、Nは2、3、4のような2以上の整数)で遂行する。
前記サブ符号化ブロックはさらに符号化ブロック(k+1)に設定し、前記過程を経てサブ符号化ブロック(k+2)に分割することができ、このような階層的分割方式は分割範囲及び分割許容深さなどの分割設定によって決定することができる。
ここで、分割情報を表現するためのビットストリーム構造は1個以上のスキャン方法の中で選択することができる。例えば、分割深さ順を基準に分割情報のビットストリームを構成することができるか分割可否を基準に分割情報のビットストリームを構成することができる。
例えば、分割深さ順を基準にする場合、最初ブロックを基準に現水準の深さでの分割情報を獲得した後、次の水準の深さでの分割情報を獲得する方法であり、分割可否を基準にする場合、最初ブロックを基準に分割されたブロックでの追加分割情報を優先的に獲得する方法を意味し、他の追加的なスキャン方法を考慮することができる。本発明では分割可否を基準に分割情報のビットストリームを構成する場合を仮定する。
前述したように、ブロック分割に対する多様な場合を説明した。ブロック分割に対する固定的又は適応的な設定を支援することができる。
ここで、ブロック分割に対する設定は、シーケンス、ピクチャー、スライス、タイルなどの単位で関連情報を明示的に含むことができる。もしくは、符号化/復号化設定によって黙示的にブロック分割設定を決定することができる。ここで、符号化/復号化設定は、映像タイプ(I/P/B)、カラー成分、分割種類、分割深さなどの多様な符号化/復号化要素の中で1個又は2個以上の組合せによって構成することができる。
本発明の一実施例による映像符号化方法において、画面内予測は次のように構成することができる。予測部の画面内予測は、参照画素の構成段階、予測ブロック生成段階、予測モード決定段階、及び予測モード符号化段階を含むことができる。また、映像符号化装置は、参照画素構成段階、予測ブロック生成段階、予測モード決定段階、及び予測モード符号化段階を具現する参照画素構成部、予測ブロック生成部、及び予測モード符号化部を含むように構成されることができる。前述した過程の一部は省略することができるか他の過程を追加することができ、前記記載の順ではない他の順に変更することができる。
図4は本発明の一実施例による画面内予測モードを示す例示図である。
図4を参照すると、67個の予測モードが画面内予測のための予測モード候補群として構成されている。このうち、65個は方向性モードであり、2個は非方向性モード(DC、Planar)である場合を仮定して説明するが、これに限定されず、多様な構成が可能である。ここで、方向性モードは勾配(例えば、dy/dx)又は角度情報(Degree)で区分することができる。また、前記予測モードの全部又は一部が輝度成分又は色差成分の予測モード候補群に含まれることができ、それ以外の追加的なモードが予測モード候補群に含まれることができる。
本発明で、方向性モードの方向は直線型(Straight line)を意味することができ、曲線型(Curve)の方向性モードも追加的に予測モードに構成することができる。また、非方向性モードの場合、現在ブロックに隣接した周辺ブロック(例えば、左側、上側、左上側、右上側、左下側ブロックなど)の画素の平均(又は加重値平均など)から予測ブロックを獲得するDCモード、及び周辺ブロックの画素を線形補間などによって予測ブロックを獲得するPlanarモードを含むことができる。
ここで、DCモードの場合、予測ブロックの生成に使われる参照画素は、左側、上側、左側+上側、左側+左下側、上側+右上側、左側+上側+左下側+右上側などの多様な組合せからなるブロックから獲得することができ、映像タイプ、カラー成分、ブロックのサイズ/形態/位置などによって定義される符号化/復号化設定によって参照画素獲得ブロック位置を決定することができる。
ここで、Planarモードの場合、予測ブロック生成に使われる画素は、参照画素から構成された領域(例えば、左側、上側、左上側、右上側、左下側など)と参照画素から構成されない領域(例えば、右側、下側、右下側など)から獲得することができ、参照画素から構成されない領域(すなわち、符号化しない)の場合、参照画素から構成された領域から1個以上の画素を使用(例えば、そのままコピー、加重値平均など)して黙示的に獲得することができるか、又は参照画素から構成されない領域の少なくとも1個の画素についての情報を明示的に発生させることができる。それで、このように参照画素から構成された領域と参照画素から構成されない領域を使って予測ブロックを生成することができる。
図5は本発明の一実施例による方向性モードと非方向性モードに関する画面内予測を示す概念図である。
図5の(a)を参照すると、垂直(5a)、水平(5b)、対角線(5c〜5e)方向のモードによる画面内予測を示している。図5の(b)を参照すると、DCモードによる画面内予測を示している。図5の(c)を参照すると、Planarモードによる画面内予測を示している。
前記説明以外の追加的な非方向性モードを含むことができる。本発明では直線型方向性モードとDC、Planarの非方向性モードを中心に説明するが、他の場合への変更適用も可能である。
図4はブロックのサイズにかかわらず固定的に支援される予測モードであることができる。また、ブロックのサイズによって支援される予測モードは図4と違うことができる。
例えば、予測モード候補群の個数が適応的(例えば、予測モード間の角度は等間隔であるが、角度を異に設定する。方向性モードを基準に9、17、33、65、129個など)であるか又は予測モード候補群の個数は固定的であるが他の構成(例えば、方向性モード角度、非方向性種類など)からなることができる。
また、図4はブロックの形態にかわわらず固定的に支援される予測モードであることができる。また、ブロックの形態によって支援される予測モードは図4と違うことができる。
例えば、予測モード候補群の個数が適応的(例えば、ブロックの横長と縦長の比によって水平又は垂直方向に派生される予測モードの個数を少なく又は多く設定)であるか、又は予測モード候補群の個数は固定的であるが他の構成(例えば、ブロックの横長と縦長の比によって水平又は垂直方向に派生される予測モードをもっと細密に設定)からなることができる。
もしくは、ブロックの長さが長い側の予測モードはもっと多い個数を、ブロックの長さが短い側の予測モードはもっと少ない個数を支援することができ、ブロックの長さが長い場合、予測モード間隔を図4で66番モードの右側に位置するモード(例えば、50番モードを基準に+45度以上の角度を有するモード。すなわち、67〜80番などの番号を有するモード)又は2番モードの左側に位置するモード(例えば、18番モードを基準に−45度以上の角度を有するモード。すなわち、−1〜−14番などの番号を有するモード)を支援することもできる。これはブロックの横長と縦長の比によって決定することができ、その反対の状況が可能である。
本発明では図4のように予測モードが(何の符号化/復号化要素にも関係なく)固定的に支援される予測モードの場合を中心に説明するが、符号化設定によって適応的に支援される予測モード設定も可能である。
また、予測モードを分類するとき、水平及び垂直モード(18番と50番モード)、一部の対角線モード(Diagonal up right<2番>、Diagonal down right<34番>、Diagonal down left<66番>など)などが基準となることができ、これは一部の方向性(又は角度45度、90度など)によって行う分類方法であり得る。
そして、方向性モードの中で両端に位置する一部のモード(2番と66番モード)が予測モード分類に基準となるモードであることができ、これは図4のような画面内予測モード構成であるときに可能な例である。すなわち、予測モード構成が適応的である場合には、前記基準となるモードが変更される例も可能である。例えば、2番モードが2より小さいか大きい番号を有するモード(−2、−1、3、4など)に代替されるか、66番モードが66より小さいか大きい番号を有するモード(64、66、67、68など)に代替されることができる。
また、カラー成分に関する追加的な予測モードが予測モード候補群に含まれることができる。次に前記予測モードに対する例としてカラーコピーモード及びカラーモードについて説明する。
(カラーコピーモード)
他のカラー空間内に位置する領域から予測ブロックを生成するためのデータを獲得する方法に関連した予測モードを支援することができる。
例えば、カラー空間間の相関性を用いて予測ブロック生成のためのデータを他のカラー空間で獲得する方法に対する予測モードがそれに対する例となることができる。
図6は本発明の一実施例によるカラーコピーモードに関する画面内予測を示す概念図である。図6を参照すると、現在カラー空間Mの現在ブロックCは同一時間tに他のカラー空間Nの対応する領域Dのデータを使って予測を遂行することができる。
ここで、カラー空間間の相関性は、YCbCrを例として挙げる場合、YとCb、YとCr、CbとCrとの間の相関性を意味することができる。すなわち、色差成分(Cb又はCr)の場合、現在ブロックに対応する輝度成分(Y)の復元されたブロックを現在ブロックの予測ブロックとして使うことができる(色差対輝度が後述する例の基本設定)。もしくは、一部の色差成分(Cr又はCb)の現在ブロックに対応する一部の色差成分(Cb又はCr)の復元されたブロックを現在ブロックの予測ブロックとして使うことができる。
ここで、現在ブロックに対応する領域は、一部のカラーフォーマット(例として、YCbCr4:4:4など)の場合、各映像内の絶対的な位置が同一であり得る。もしくは、一部のカラーフォーマット(例として、YCbCr4:2:0など)の場合、各映像内の相対的な位置が同一であり得る。これは、カラーフォーマットによる横長と縦長の比によって対応する位置を決定することができ、現在映像の画素と他のカラー空間の対応する画素は現在画素の座標の各構成成分にカラーフォーマットによる横長と縦長の比を掛けるか割ることによって獲得することができる。
説明の便宜のために、一部のカラーフォーマット4:4:4の場合を中心に説明するが、他のカラー空間の対応する領域の位置はカラーフォーマットによる横長と縦長の比によって決定することができることを理解すべきである。
カラーコピーモードで他のカラー空間の復元されたブロックをそのまま予測ブロックとして使うことができるか、カラー空間間の相関性を考慮して獲得したブロックを予測ブロックとして使うことができる。カラー空間間の相関性を考慮して獲得したブロックは既存ブロックに補正を行って獲得することができるブロックを意味する。詳細には、{P=a*R+b}の数式で、aとbは補正のために使われる値を意味し、RとPはそれぞれ他のカラー空間で獲得された値と現在カラー空間の予測値を意味することができる。ここで、Pはカラー空間間の相関性を考慮して獲得したブロックを意味する。
本例では、カラー空間間の相関性を用いて獲得するデータを現在ブロックの予測値として使用する場合を仮定して説明するが、該当データを既に存在する現在ブロックの予測値に適用される補正値として使う場合も可能である。すなわち、他のカラー空間の残留値で現在ブロックの予測値を補正することができる。
本発明では前者の場合を仮定して説明するが、これに限定されず、補正値として使われる場合への同一変更又は変更適用が可能である。
カラーコピーモードは、符号化/復号化設定によって明示的又は黙示的に支援可否を決定することができる。ここで、映像タイプ、カラー成分、ブロックの位置/サイズ/形態、ブロックの横長と縦長の比などにおいて1個又は2個以上の組合せによって符号化/復号化設定を定義することができる。そして、明示的な場合には、シーケンス、ピクチャー、スライス、タイルなどの単位で関連情報を含むことができる。また、符号化/復号化設定によってカラーコピーモードの支援可否は一部の場合に黙示的に決定することができ、一部の場合には明示的に関連情報が発生することもできる。
カラーコピーモードでカラー空間間の相関性情報(aとbなど)は符号化/復号化設定によって明示的に発生するか黙示的に獲得することができる。
ここで、相関性情報を獲得するために比較(又は参照)される領域は現在ブロック(図6のC)と他のカラー空間の対応する領域(図6のD)であることができる。もしくは、現在ブロックの隣接した領域(図6のCを中心に左側、上側、左上側、右上側、左下側ブロックなど)と他のカラー空間が対応する領域の隣接した領域(図6のDを中心に左側、上側、左上側、右上側、左下側ブロックなど)であることができる。
前記説明で、前者の場合、相関性情報は現在ブロックに対応ブロックのデータを使って直接獲得しなければならないので、関連情報を明示的に処理する例に相当することができる。すなわち、現在ブロックのデータはいまだ符号化が完了しなかので、相関性情報を生成しなければならない場合であり得る。後者の場合、相関性情報を現在ブロックの隣接した領域に対応ブロックの隣接した領域のデータを使って間接的に獲得することができるので、関連情報を黙示的に処理する例に相当することができる。
まとめると、前者の場合、現在ブロックに対応ブロックを比較して相関性情報を獲得し、後者の場合、現在ブロックに対応ブロックにそれぞれ隣接した領域を比較して相関性情報を獲得する。そして、相関性情報を対応ブロックに適用して獲得したデータを現在ブロックの予測画素として使うことができる。
ここで、前者の場合、相関性情報をそのまま符号化することができるか又は隣接した領域を比較して獲得する相関性情報を予測値としてその差分値についての情報を符号化することができる。前記相関性情報はカラーコピーモードが予測モードに選定される場合に発生可能な情報であり得る。
ここで、後者の場合、予測モード候補群でカラーコピーモードが最適のモードに選定されることを除けば、追加的に発生する情報がない黙示的な場合の一例と理解することができる。すなわち、これは1個の相関性情報を支援する設定の下で可能な例であり得る。
仮に、2個以上の相関性情報を支援する設定の下ではカラーコピーモードが最適のモードに選定されることに加え、相関性情報についての選択情報が要求されることができる。前記例のように符号化/復号化設定によって明示的な場合と黙示的な場合を組み合わせる構成も可能である。
本発明では相関性情報を間接的に獲得する場合を中心に説明する。ここで獲得される相関性情報はN個以上(Nは1、2、3のような1以上の整数)であることができる。相関性情報の個数についての設定情報は、シーケンス、ピクチャー、スライス、タイルなどの単位で含むことができる。後述する例の一部で、k個の相関性情報を支援する場合はk個のカラーコピーモードを支援する場合と同じ意味であることができることを理解すべきである。
図7は本発明の一実施例によるカラーコピーモードに関連して各カラー空間の対応ブロックとそれに隣接した領域を示す例示図である。図7を参照すると、現在カラー空間Mと他のカラー空間Nで画素間の対応する例示(pとq)を示しており、一部のカラーフォーマット(4:2:0)の場合に発生可能な例示と理解することができる。そして、相関性情報獲得のために、対応する関係7aと予測値の適用のために対応する関係7bを確認することができる。
次にカラーコピーモードで相関性情報を獲得することについて説明する。相関性情報を獲得するためには各カラー空間の既設定の領域(現在ブロックに対応ブロックのそれぞれの隣接した領域の全部又は一部)内の画素の画素値を比較(又は使用)することができる(すなわち、1:1画素値比較過程を遂行)。ここで、比較される画素値は各カラー空間の対応する画素位置に基づいて獲得することができる。前記画素値は各カラー空間で少なくとも1個の画素から誘導される値であることができる。
例えば、一部のカラーフォーマット4:4:4の場合、色差空間の1個の画素の画素値と輝度空間の1個の画素の画素値が相関性情報獲得過程に対応する画素値として使うことができる。もしくは、一部のカラーフォーマット(4:2:0)の場合、色差空間の1個の画素の画素値と輝度空間の1個以上の画素から誘導される画素値(すなわち、ダウンサンプリング過程によって獲得)を相関性情報獲得過程に対応する画素値として使うことができる。
詳細には、前者の場合、色差空間のp[x、y]は輝度空間のq[x、y]と比較されることができる。ここで、画素値は1個の画素が有する明るさ値をそのまま使うことができる。後者の場合、色差空間のp[x、y]は輝度空間のq[2x、2y]、q[2x、2y+1]、q[2x+1、2y]、q[2x+1、2y+1]などと比較されることができる。
ここで、1:1画素値の比較を遂行しなければならないため、輝度空間の場合、前記複数の画素の中で1個を色差画素の画素値と比較する値として使うことができる。すなわち、前記複数の画素の中で1個の画素が有する明るさ値をそのまま使うことを意味する。もしくは、前記複数の画素の中で2個以上の画素(k個。kは2、4、6などの2以上の整数)から1個の画素値を誘導して比較する値として使うことができる。すなわち、2個以上の画素に加重値平均(各画素に加重値を均等に割り当てることができるか又は非均等に割り当てることができる)などを適用することができる。
前記例のように対応する画素が複数存在する場合、既設定の1個の画素の画素値又は2個以上の画素から誘導される画素値を比較値として使うことができる。ここで、符号化/復号化設定によって各カラー空間で比較される画素値の誘導に関する前記2方法の中で一つを単独で使うか又は組み合わせて使うことができる。
次に、現在カラー空間で1個の画素の画素値を比較に使い、他のカラー空間で1個以上の画素を画素値の誘導に使うことができることを前提とする説明する。例えば、カラーフォーマットはYCbCr4:2:0であり、現在カラー空間は色差空間であり、他のカラー空間は輝度空間である場合を仮定する。画素値の誘導に関する方法は他のカラー空間を中心に説明する。
一例として、ブロックの形態(横長と縦長の比)によって決定することができる。詳細な例として、現在ブロック(又は予測対象ブロック)の長さが長い側に隣接した色差空間のp[x、y]は輝度空間のq[2x、2y]と比較することができ、長さが短い側に隣接した色差空間のp[x、y]は輝度空間のq[2x、2y]とq[2x+1、2y]の平均と比較することができる。
ここで、横長と縦長の比にかかわらず、一部のブロック形態(長方形)に前記内容を適用することができるか又は横長と縦長の比が一定の比率(k:1又は1:k。例として、2:1、4:1などのようにkは2以上)以上/超過の場合にのみ適用することができるなどの適応的な設定が可能である。
一例として、ブロックのサイズによって決定することができる。詳細な例として、現在ブロックのサイズが一定のサイズ(M×N。例として、2m×2nであり、mとnは2〜6のような1以上の整数)以上/超過の場合、色差空間のp[x、y]を輝度空間のq[2x+1、2y]と比較することができ、一定のサイズ以下/未満の場合、色差空間のp[x、y]を輝度空間のq[2x、2y]、q[2x、2y+1]の平均と比較することができる。
ここで、サイズ比較のための境界値が前記例のように1個存在するか又は2個以上存在(M1×N1、M2×N2など)するなどの適応的な設定が可能である。
前記例は演算量の側面で考慮することができる一部の場合であり、前記例と反対の場合を含む多様な変形の例が可能である。
一例として、ブロックの位置によって決定することができる。詳細な例として、現在ブロックが既設定の領域(本例で最大符号化ブロックであると仮定)の内部に位置する場合、色差空間のp[x、y]を輝度空間のq[2x、2y]、q[2x+1、2y]、q[2x、2y+1]、q[2x+1、2y+1]の平均と比較することができ、既設定の領域の境界(本例で左側上の境界であると仮定)に位置する場合、色差空間のp[x、y]を輝度空間のq[2x+1、2y+1]と比較することができる。前記既設定の領域は、スライス、タイル、ブロックなどに基づいて設定される領域を意味することができる。詳細には、スライス、タイル、最大符号化/予測/変換ブロックの整数倍に基づいて獲得することができる。
他の例として、現在ブロックが前記領域の一部の境界(本例で上側境界であると仮定)に位置する場合、一部の境界(上側)に隣接した色差空間のp[x、y]を輝度空間のq[2x+1、2y+1]と比較することができ、前記領域内部(左側)に隣接した色差空間のp[x、y]を輝度空間のq[2x、2y]、q[2x+1、2y]、q[2x、2y+1]、q[2x+1、2y+1]の平均と比較することができる。
前記例はメモリの側面で考慮することができる一部の場合であり、前記例と反対の場合を含む多様な変形例が可能である。
前述した例に基づいて各カラー空間で比較される画素値の誘導に関する多様な場合を説明した。前記例のように、ブロックのサイズ/形態/位置だけでなく、多様な符号化/復号化要素を考慮して前記相関性情報獲得のための画素値誘導の設定を決定することができる。
前記例に基づいて、相関性情報獲得のために比較される領域は図7のように現在ブロックに対応ブロックのそれぞれの1個又は2個の参照画素ラインが使われる場合を説明した。すなわち、YCbCr4:4:4のような場合、それぞれ1個の参照画素ラインを使い、それ以外のフォーマットの場合、一部のカラー空間では図7の一部のカラー空間<color N>のように2個の参照画素ラインを使う場合を意味するが、これに限定されず、多様な変形の例が可能である。
次に現在カラー空間の参照画素ラインに重点を置いて説明し、他のカラー空間の場合、カラーフォーマットによって参照画素ラインを決定することができることを理解すべきである。例えば、同じ参照画素ラインの個数を使うか又は2倍の参照画素ラインを使うことができる。
本発明のカラーコピーモードではk個の参照画素ライン(ここで、kは1、2のような1以上の整数)を相関性情報獲得のために使用(又は比較)することができる。また、k個の参照画素ラインを固定的に使うか又は適応的に使うことができる。次に参照画素ライン個数の設定に関する多様な例を説明する。
一例として、ブロックの形態(横長と縦長の比)によって決定することができる。詳細な例として、現在ブロックの長さが長い側に隣接した2個の参照画素ラインを使うことができ、長さが短い側に隣接した1個の参照画素ラインを使うことができる。
ここで、横長と縦長の比にかかわらず、一部のブロック形態(長方形)に前記内容を適用することができるか又は横長と縦長の比が一定の比率(k:1又は1:k。例として、2:1、4:1などのようにkは2以上の整数)以上/超過の場合にのみ適用することができる。また、横長と縦長の比に対する境界値は2個以上存在し、2:1又は1:2の場合には長さが長い側(又は短い側)に隣接した2個の参照画素ラインを使い、4:1又は1:4の場合には長さが長い側(又は短い側)に隣接した3個の参照画素ラインを使うなどの拡張が可能である。
前記例は、横長と縦長の比によって長さが長い側(又は短い側)はs個の参照画素ラインを使い、長さが短い側(又は長い側)はt個の参照画素ラインを使い、ここで、sがtより大きいか同じ場合(すなわち、sとtは1以上の整数)の一例であり得る。
一例として、ブロックのサイズによって決定することができる。詳細な例として、現在ブロックのサイズが一定のサイズ(M×N。例として、2m×2nであり、mとnは2〜6のような1以上の整数)以上/超過の場合、2個の参照画素ラインを使うことができ、一定のサイズ以下/未満の場合、1個の参照画素ラインを使うことができる。
ここで、サイズ比較のための境界値が前記例のように1個存在するか又は2個以上存在(M1×N1、M2×N2など)するなどの適応的な設定が可能である。
一例として、ブロックの位置によって決定することができる。詳細な例として、現在ブロックが既設定の領域(相関性情報獲得に関連した以前の説明で誘導可能。本例で、最大符号化ブロックであると仮定)の内部に位置する場合、2個の参照画素ラインを使うことができ、既設定の領域の境界(本例で、左側上の境界であると仮定)に位置する場合、1個の参照画素ラインを使うことができる。
他の例として、現在ブロックが前記領域の一部の境界(本例で、上側境界であると仮定)に位置する場合、一部の境界(上側)に隣接した1個の参照画素ラインを使うことができ、前記領域内部(左側)に隣接した2個の参照画素ラインを使うことができる。
前記例は相関性情報の正確性とメモリの側面などで考慮することができる一部の場合であり、前記例と反対の場合を含む多様な変形例が可能である。
前述した例に基づいて各カラー空間で相関性情報を獲得するために使われる参照画素ラインの設定に関する多様な場合を説明した。前記例のように、ブロックのサイズ/形態/位置だけでなく多様な符号化/復号化要素を考慮して相関性情報獲得のための参照画素ライン設定を決定することができる。
次に相関性情報獲得のために比較(又は参照)される領域の他の場合を説明する。前記比較される領域は現在カラー空間の現在ブロックに隣接した左側、上側、左上側、右上側、左下側などの位置に隣接した画素が対象であり得る。
ここで、比較される領域は左側、上側、左上側、右上側、左下側位置のブロックを全部含んで設定することができる。もしくは、一部の位置のブロックの組合せで参照画素領域を構成することができる。例えば、左側/上側/左側+上側/左側+上側+左上側/左側+左下側/上側+右上側/左側+左上側+左下側/上側+左上側+右上側/左側+上側+右上側/左側+上側+左下側などの隣接したブロックの組合せと比較される領域を構成することができる。
図8は本発明の一実施例によるカラーコピーモードの相関性情報獲得のための領域設定に関する例示図である。図8のa〜eの場合、先に前述した例示(左側+上側、上側+右上側、左側+左下側、左側+上側+右上側、左側+上側+左下側)に相当することができ、一部の位置のブロックは1個以上のサブブロックに分割され、その一部が相関性情報獲得のための領域に設定される例(図8のf、g)が可能である。すなわち、一部の方向に位置する1個以上のサブブロックによって相関性情報獲得のための領域を設定することができる。もしくは、一部の方向(a)に位置する1個以上のブロックと一部の方向(b)に位置する1個以上のサブブロックで相関性情報獲得のための領域を設定(ここで、aとbは他の方向を意味)することができる。また、連続しないブロックで相関性情報獲得のための領域設定の例(図8のh、i)も可能である。
まとめると、相関性情報獲得のために比較される領域は既設定の領域で構成することができる。もしくは、一部の領域の多様な組合せで構成することができる。すなわち、符号化/復号化設定によって前記比較される領域は固定的又は適応的に構成することができる。
次に現在カラー空間の現在ブロックを中心にどの方向の隣接した領域が参照領域に構成されるかに対する多様な例を説明する。ここで、他のカラー空間の対応ブロックではどの方向の隣接した領域が参照領域に構成されるかは現在カラーブロックの参照領域構成によって決定することを前提とする。また、基本参照領域は左側及び上側ブロックから構成されることを前提とする。
一例として、ブロックの形態(横長と縦長の比)によって決定することができる。詳細な例として、現在ブロックが横方向に長い場合、左側、上側、右上側ブロックを参照領域に設定し、縦方向に長い場合、左側、上側、左下側ブロックを参照領域に設定することができる。
ここで、横長と縦長の比にかかわらず、一部のブロック形態(長方形)に前記内容を適用することができるか又は横長と縦長の比が一定の比率(k:1又は1:k。例として、2:1、4:1などのようにkは2以上の整数)以上/超過の場合にのみ適用することができる。また、横長と縦長の比に対する境界値は2個以上存在し、2:1(又は1:2)の場合には、左側、上側、右上側(又は左側、上側、左下側)ブロックを参照領域に設定し、4:1(又は1:4)の場合には、上側、右上側(又は左側、左下側)ブロックを参照領域に設定するなどの拡張が可能である。
一例として、ブロックのサイズによって決定することができる。詳細な例として、現在ブロックのサイズが一定のサイズ(M×N。例として、2m×2nであり、mとnは2〜6のような1以上の整数)以上/超過の場合、左側、上側ブロックを参照領域に設定し、一定のサイズ以下/未満の場合、左側、上側、左上側ブロックを参照領域に設定することができる。
ここで、サイズ比較のための境界値が前記例のように1個存在するか又は2個以上存在(M1×N1、M2×N2など)するなどの適応的な設定が可能である。
一例として、ブロックの位置によって決定することができる。詳細な例として、現在ブロックが既設定の領域(相関性情報獲得に関連した以前の説明から誘導可能。本例で、最大符号化ブロックであると仮定)の内部に位置する場合、左側、上側、左上側、右上側、左下側ブロックを参照領域に設定し、既設定の領域の境界(本例で、左側上の境界であると仮定)に位置する場合、左側及び上側ブロックを参照領域に設定することができる。
他の例として、現在ブロックが前記領域の一部の境界(本例で、上側境界であると仮定)に位置する場合、一部の境界(上側境界)に隣接したブロックを除き、前記領域の内部に隣接した左側及び左下側ブロックを参照領域に設定することができる。すなわち、左側、左下側ブロックを参照領域に設定することができる。
前記例は、演算量、メモリの側面などで考慮することができる一部の場合であり、前記例と反対の場合を含む多様な変形例が可能である。
前述した例に基づいて各カラー空間で相関性情報を獲得するために使われる参照領域の設定に対する多様な場合を説明した。前記例のように、ブロックのサイズ/形態/位置だけでなく、多様な符号化/復号化要素を考慮して相関性情報獲得のための参照領域設定を決定することができる。
また、前記比較される領域は現在カラー空間の現在ブロックに隣接した画素がその対象となることができる。ここで、参照画素の全部を相関性情報を獲得するために使うことができるか又はその一部画素を使うことができる。
例えば、(図7のcolor Mを基準)現在ブロックが(a、b)〜(a+7、b+7)の画素範囲を有するブロック(すなわち、8×8)の場合、前記比較される領域(対応ブロックはカラーフォーマットによって説明の誘導が可能であるので省略)は現在ブロックの左側及び上側ブロックの1個の参照画素ラインであると仮定する。
ここで、前記比較される領域に(a、b−1)〜(a+7、b−1)と(a−1、b)〜(a−1、b+7)の範囲内の全ての画素を含むことができる。もしくは、前記範囲の一部画素である(a、b−1)、(a+2、b−1)、(a+4、b−1)、(a+6、b−1)と(a−1、b)、(a−1、b+2)、(a−1、b+4)、(a−1、b+6)を含むことができる。もしくは、前記範囲の一部画素である(a、b−1)、(a+4、b−1)と(a−1、b)、(a−1、b+4)を含むことができる。
前記例は相関性獲得のために要求される演算量を減らすための目的で適用することができる。先に前述した多くの例とともに相関性情報獲得のための比較される領域の参照画素サンプリングに対する設定はブロックのサイズ/形態/位置などの多様な符号化/復号化要素を考慮することができ、以前の例から関連適用の例が誘導可能であるので、詳細な説明は省略する。
前述した多様な例に基づいて相関性情報獲得に影響を与える多様な要素(対応する画素値誘導、参照画素ライン個数、参照領域方向設定、参照画素サンプリングなど)を説明した。前記例が単独で又は組み合わせられて相関性情報獲得に影響を与える多様な場合の数が可能である。
前記説明は1個の相関性情報を獲得するための事前設定過程と理解することができる。また、先に言及したように符号化/復号化設定によって一個以上の相関性情報を支援することができる。ここで、2個以上の相関性情報は前記事前設定(すなわち、相関性情報獲得に影響を与える要素の組合せ)を2個以上置くことによって支援することができる。
まとめると、現在ブロックの隣接した領域と対応ブロックの隣接した領域から相関性情報に基づくパラメーター情報を誘導することができる。すなわち、相関性情報に基づいて少なくとも1個のパラメーター(例えば、<a1、b1>、<a2、b2>、<a3、b3>など)を生成することができ、これは他のカラー空間の復元されたブロックの画素に掛けられるか足される値として使うことができる。
次にカラーコピーモードで適用される線形モデルについて説明する。前記過程によって獲得されるパラメーターを適用して次のような線形モデルに基づく予測を遂行することができる。
pred_sample_C(i、j)=a×rec_sample_D(i、j)+b
前記数式で、pred_sample_Cは現在カラー空間の現在ブロックの予測画素値を意味し、rec_sample_Dは他のカラー空間の対応ブロックの復元画素値を意味する。aとbは現在ブロックの隣接した領域と対応ブロックの隣接した領域との間の回帰誤差(regression error)を最小化して得ることができ、次の数式によって計算することができる。
前記数式で、D(n)は対応ブロックの隣接した領域を意味し、C(n)は現在ブロックの隣接した領域を意味し、Nは現在ブロックの横長又は縦長に基づいて設定される値(本例で、横長及び縦長の中で最小値の2倍であると仮定)を意味する。
また、各カラー空間の隣接した領域の最小値と最大値に基づいて相関性情報を獲得する直線モデル(Straight−Line Equation)などの多様な方法を使うことができる。ここで、相関性情報を求めるモデルは既設定の1個のモデルを使うことができるか又は複数のモデルの中で1個を選択することができる。ここで、複数のモデルの中で1個を選択するという意味は相関性情報に基づくパラメーター情報に対する符号化/復号化要素としてモデル情報を考慮することができることを意味する。すなわち、複数のパラメーターを支援する場合、残りの相関性情報関連設定は同一であっても相関性を求めるモデルが違うことによって他のパラメーター情報に区分することができることを意味することができる。
一部のカラーフォーマットの場合(4:4:4ではない場合)、現在ブロックの1個画素は対応ブロックの1個以上(2個、4個など)の画素に対応することができる。例えば、4:2:0の場合、色差空間のp[x、y]は輝度空間のq[2x、2y]、q[2x、2y+1]、q[2x+1、2y]、q[2x+1、2y+1]などに対応することができる。
1個の予測画素値のために、前記対応する複数の画素から既設定の1個の画素の画素値(又は予測値)、又は2個以上の画素から1個の画素値を誘導(7b)することができる。すなわち、1個の予測画素値獲得のために、他のカラー空間の対応する1個以上の画素から相関性情報を適用する前の復元値を獲得することができる。符号化/復号化設定によって多様な場合の数が可能であり、これは、相関性情報獲得するために対応する画素値誘導(7a)に関する部分で関連説明を誘導することができるので、詳細な説明は省略する。ただ、7aと7bは同じか違う設定を適用することもできる。
(カラーモード)
他のカラー空間内に位置する領域から予測ブロック生成のための予測モードを獲得する方法に関連した予測モードを支援することができる。
例えば、カラー空間間の相関性を用いて予測ブロック生成のための予測モードを他のカラー空間で獲得する方法に対する予測モードがそれに対する例となることができる。すなわち、カラーモードは、ある特定の予測方向又は予測方法を有するものではなく、既存の存在する予測方向及び方法を使うが他のカラー空間に対応ブロックの予測モードによって適応的に決定されるモードであることができる。
ここで、ブロック分割設定によって多様なカラーモードを獲得する場合が可能である。
例えば、一部のカラー成分(輝度)に対するブロック分割結果によって一部のカラー成分(色差)に対するブロック分割が黙示的に決定される設定(すなわち、輝度成分のブロック分割は明示的に決定される場合)では一部のカラー成分(色差)の1個のブロックが一部のカラー空間(輝度)の1個のブロックに対応することができる。したがって、(4:4:4の場合を仮定。その他のフォーマットの場合、横長と縦長の比によって本例についての説明を誘導することができる)現在ブロック(色差)が(a、b)〜(a+m、b+n)の画素範囲を有すれば、これに対応ブロック(輝度)の(a、b)〜(a+m、b+n)の画素範囲内のどの画素位置を示しても1個のブロックを示すので、該当画素を含むブロックから1個の予測モードを獲得することができる。
もしくは、各カラー成分によって個別的なブロック分割を支援する場合(すなわち、各カラー空間のブロック分割を明示的に決定する場合)は、一部のカラー成分(色差)の1個のブロックが一部のカラー空間(輝度)の1個以上のブロックに対応することができる。したがって、現在ブロック(色差)が前記例と同じ画素範囲を有しても、対応ブロック(輝度)はブロック分割結果によって1個以上のブロックから構成されることができる。よって、現在ブロックの画素範囲内の画素位置によって該当画素が示す対応ブロックから他の予測モード(すなわち、1個以上のモード)を獲得することもできる。
仮に、色差成分のための画面内予測モード候補群で1個のカラーモードを支援する場合、対応ブロックのどの位置から予測モードを持って来るかを設定することができる。
例えば、対応ブロックの中央側−左上側−右上側−左下側−右下側などの位置から予測モードを持って来ることができる。すなわち、前記順に予測モードを持って来るが、対応ブロックが用いられない場合(例えば、符号化モードがインター(Inter)など)にはその次の順に相当する位置の予測モードを持って来ることができる。もしくは、前記位置のブロックから頻度数(2回以上)の高い予測モードを持って来ることもできる。
もしくは、複数のカラーモードを支援する場合、前記優先順位によってどこから予測モードを持って来るかを設定することができる。もしくは、前記優先順位によって一部の予測モードを持って来て、前記位置のブロックから頻度数の高い一部の予測モードを持って来る組合せが可能である。ここで、前記優先順位の場合は1例であり、多様な変形例が可能である。
カラーモードとカラーコピーモードは色差成分に支援することができる予測モードであることができる。例えば、水平、垂直、DC、Planar、対角線モードなどを含めて色差成分のための予測モード候補群を構成することができる。もしくは、カラーモードとカラーコピーモードを含めて画面内予測モード候補群を構成することができる。
すなわち、方向性+非方向性+カラーモードから構成するか又は方向性+非方向性+カラーコピーモードから構成することができ、方向性+非方向性+カラーモード+カラーコピーモードから構成することもでき、この他の追加的な色差成分のためのモードを含んでなることもできる。
符号化/復号化設定によってカラーモードとカラーコピーモードの支援可否を決定することができ、これは黙示的又は明示的な処理が可能である。もしくは、明示的+黙示的な組合せ構成の処理が可能である。これにカラーモードとカラーコピーモードに関連した細部設定(例えば、支援されるモード個数など)を含んで黙示的又は明示的な処理が可能である。
例えば、前記関連情報は、シーケンス、ピクチャー、スライス、タイル、ブロックなどの単位で明示的に関連情報を含むことができるか又は多様な符号化/復号化要素(例えば、映像タイプ、ブロックの位置、ブロックのサイズ、ブロックの形態、ブロックの横長と縦長の比など)によって黙示的に決定することができる。もしくは、符号化/復号化要素によって一部の条件では黙示的に決定するか又は一部の条件では明示的に関連情報が発生することもできる。
図9は本発明の一実施例による画面内予測に使われる参照画素の構成を説明するための例示図である。予測ブロックのサイズ及び形態(M×N)はブロック分割部によって獲得することができる。
画面内予測のための最小ブロック及び最大ブロックのサイズなどに定義されるブロック範囲情報は、シーケンス、ピクチャー、スライス、タイルなどの単位に関連情報を含むことができる。一般的に、横長と縦長を特定(例えば、32×32、64×64など)してサイズ情報を設定することができるが、横長と縦長の積の形態にサイズ情報を設定することもできる。例えば、最小ブロックのサイズは、横長と縦長の積が64の場合、4×16、8×8、16×4などが相当することができる。
また、横長と縦長を特定してサイズ情報を設定するか積の形態にサイズ情報を設定することを組み合わせて使うことができる。例えば、最大ブロックのサイズは、横長と縦長の積が4096であり、2個の中で1個の長さが有する最大値が64の場合、64×64が最大ブロックのサイズに相当することができる。
前記例のように、最小ブロックと最大ブロックのサイズ情報の他にブロック分割情報を組み合わせて予測ブロックのサイズ及び形態を最終に決定することができる。本発明で、予測ブロックは横長と縦長の積がs(例えば、sは16、32など2の倍数)より大きいか同一でなければならなく、横長と縦長の中で1個がk(例えば、kは4、8など2の倍数)より大きいか同一でなければならない。また、ブロックの横長と縦長がそれぞれvとw(例えば、vとwは16、32、64など2の倍数)より小さいか同一であるという設定の下で定義することができるか、これに限定されず、多様なブロック範囲の設定が可能である。
画面内予測は予測ブロック単位で行うことが一般的であることができるが、ブロック分割部の設定によって符号化ブロック、変換ブロックなどの単位で遂行することができる。ブロック情報を確認した後、参照画素構成部では現在ブロックの予測に使われる参照画素を構成することができる。ここで、参照画素は臨時メモリ(例えば、配列<Array>。1次、2次配列など)によって管理することができ、ブロックの画面内予測過程ごとに生成及び除去され、臨時メモリのサイズは参照画素の構成によって決定することができる。
本例では現在ブロックを中心に左側、上側、左上側、右上側、左下側ブロックを現在ブロックの予測に使う場合を仮定して説明するが、これに限定されず、他の構成のブロック候補群を現在ブロックの予測に使うこともできる。例えば、前記参照画素のための隣りブロックの候補群はラスター又はZスキャンによる場合の一例であることができ、スキャン順によって前記候補群の一部を除去することができるか又は他のブロック候補群(例えば、右側、下側、右下側ブロックなどが追加構成)を含んでなることができる。
また、一部の予測モード(カラーコピーモード)を支援する場合であれば、他のカラー空間の一部領域を現在ブロックの予測に使うことができるから、これも参照画素として考慮することができる。既存の参照画素(現在ブロックの空間的に隣接した領域)と前記追加的な参照画素を1個として管理することができるか又は別に管理(例えば、参照画素Aと参照画素B。すなわち、臨時メモリを別に使うように参照画素メモリも別に名付けることができる)することができる。
例えば、基本参照画素の臨時メモリは(1個の参照画素ラインを基準)<2×blk_width+2×blk_height+1>のサイズを有することができ、追加的な参照画素の臨時メモリは(4:4:4の場合)<blk_width×blk_height>のサイズ(4:2:0の場合にはblk_width/2×blk_height/2が必要)を有することができる。前記臨時メモリのサイズは一例であり、これに限定されない。
また、相関性情報を獲得するために、比較(又は参照)される現在ブロックと対応ブロックの隣接した領域まで含めて参照画素として管理することもできる。すなわち、カラーコピーモードによって追加的な参照画素を管理することができることを意味する。
まとめると、現在ブロックの隣接した領域を現在ブロックの画面内予測のための参照画素として含むことができ、予測モードによって他のカラー空間の対応ブロックとその隣接した領域まで参照画素として含むことができる。
図10は本発明の一実施例による画面内予測の対象ブロックに隣接したブロックを示す概念図である。詳細には、図10の左側は現在カラー空間の現在ブロックに隣接したブロックを示し、右側は他のカラー空間の対応ブロックを示す。後述する内容は、説明の便宜のために、現在カラー空間の現在ブロックに隣接したブロックが基本参照画素の構成である場合を仮定して説明する。
図9のように、現在ブロックの予測に使われる参照画素は、左側、上側、左上側、右上側、左下側ブロックの隣接した画素(図9のRef_L、Ref_T、Ref_TL、Ref_TR、Ref_BL)から構成することができる。ここで、参照画素は現在ブロックに最も隣接した隣りブロックの画素(図9のa。これを参照画素ラインと表現)から構成することが一般的であるがその他の画素(図9のbとその他の外側ラインの画素)も参照画素に構成することができる。
現在ブロックに隣接した画素は少なくとも1個の参照画素ラインに分類することができ、現在ブロックに最も隣接した画素はref_0{例えば、現在ブロックの境界画素と画素との間の距離が1である画素。p(−1、−1)〜p(2m−1、−1)、p(−1、0)〜p(−1、2n−1)}、その次の隣接した画素{例えば、現在ブロックの境界画素と画素との間の距離が2。p(−2、−2)〜p(2m、−2)、p(−2、−1)〜p(−2、2n)}はref_1、その次の隣接した画素{例えば、現在ブロックの境界画素と画素との間の距離が3。p(−3、−3)〜p(2m+1、−3)、p(−3、−2)〜p(−3、2n+1)}はref_2などに分けることができる。すなわち、現在ブロックの境界画素と隣接した画素との間の距離によって参照画素ラインに分類することができる。
ここで、支援される参照画素ラインはN個以上であることができ、Nは1〜5のような1以上の整数であることができる。ここで、現在ブロックに最も隣接した参照画素ラインから順に参照画素ライン候補群に含まれることが一般的である、これに限定されない。例えば、Nが3の場合、<ref_0、ref_1、ref_2>のように順次前記候補群を構成することができるか、又は<ref_0、ref_1、ref_3>、<ref_0、ref_2、ref_3>、<ref_1、ref_2、ref_3>のように順次ではないか最も隣接した参照画素ラインを除く構成で前記候補群を構成することもできる。
前記候補群内の全ての参照画素ラインを使って予測を遂行するか又は一部の参照画素ライン(1個以上)を使って予測を遂行することができる。
例えば、符号化/復号化設定によって複数の参照画素ラインの1個を選択し、該当参照画素ラインを使って画面内予測を遂行することができる。もしくは、複数の参照画素ラインの中で2個以上を選択し、該当参照画素ラインを使用(例えば、各参照画素ラインのデータに加重値平均などを適用)して画面内予測を遂行することができる。
ここで、参照画素ラインの選択は黙示的又は明示的に決定することができる。例えば、黙示的な場合は、映像タイプ、カラー成分、ブロックのサイズ/形態/位置などの要素の1個又は2個以上の組合せによって定義される符号化/復号化設定によって決定することを意味する。また、明示的な場合はブロックなどの単位で参照画素ライン選択情報が発生することができることを意味する。
本発明では最も隣接した参照画素ラインを使って画面内予測を行う場合を中心に説明するが、後述する多様な実施例が複数の参照画素ラインを使う場合にも同一又は同様な適用が可能であることを理解すべきである。
本発明の画面内予測の参照画素構成部は、参照画素生成部、参照画素補間部、参照画素フィルター部などを含むことができ、前記構成の全部又は一部を含んでなることができる。
参照画素構成部で参照画素使用可能性(Availability)を確認して使用可の参照画素と使用不可の参照画素を分類することができる。ここで、前記参照画素使用可能性は次の条件の少なくとも一つを満たす場合に使用不可と判断する。もちろん、後述する例で言及しなかった追加的な条件によって参照画素使用可能性を判断することもできるが、本発明では後述する例示の条件に限定される場合を仮定して説明する。
例えば、ピクチャー境界の外に位置する場合、現在ブロックと同じ分割単位(例えば、スライス、タイルなどのように互いに参照不可の単位。ただ、スライス又はタイルのような単位であっても互いに参照可能な特性を有する場合には同じ分割単位ではなくても例外処理)に属しない場合、符号化/復号化が完了しなかった場合の1個でも満たす場合には使用不可と判断することができる。すなわち、前記条件を一つでも満たさない場合には使用可と判断することができる。
また、符号化/復号化設定によって参照画素の使用を制限することができる。例えば、前記条件によって使用可と判断した場合と言っても制限された画面内予測(例えば、constrained_intra_pred_flag)の遂行可否によって参照画素の使用を制限することができる。制限された画面内予測は、通信環境などの外部要人にエラー強靭な符号化/復号化を遂行しようとするときに他の映像から参照されて復元されたブロックを参照画素として使用することを禁止しようとするときに遂行することができる。
制限された画面内予測が非活性化した場合(例えば、I映像タイプ。もしくはP又はB映像タイプでconstrained_intra_pred_flagが0に設定)、参照画素候補ブロック(ただ、ピクチャー境界の内側に位置するなどの前述した条件を満たす場合)は使用可であることができる。
もしくは、制限された画面内予測が活性化した場合(例えば、P又はB映像タイプでconstrained_intra_pred_flagが1に設定)、参照画素候補ブロックは符号化モード(Intra又はInter)によって使用可を判断することができる。一般的に、イントラ(Intra)モードの場合には使用可であり、インター(Inter)モードの場合には使用不可である。前記例では符号化モードによって使用可否を決定する場合を仮定するが、その他の多様な符号化/復号化要素によって前記使用可否を判断することもできる。
参照画素は1個以上のブロックから構成されているから、前記参照画素可能性を確認してから分類すれば<全部使用可>、<一部使用可>、<全部使用不可>のように3種の場合に分類することができる。全部使用可の場合を除いた残りの場合には使用不可の候補ブロック位置の参照画素を満たすか生成することができる(A)。もしくは、使用不可の候補ブロック位置の参照画素は予測過程に使わないことができ、該当位置の参照画素から予測を行う予測モードは除いて予測モード符号化/復号化を遂行することができる(B)。
参照画素候補ブロックが使用可の場合には、該当位置の画素を現在ブロックの参照画素メモリに含むことができる。ここで、前記画素データをそのままコピーするか、参照画素フィルタリング、参照画素補間などの過程によって参照画素メモリに含むことができる。
参照画素候補ブロックが使用不可の場合には、参照画素処理A又はB設定の下で処理することができる。次に、各設定によって参照画素候補ブロックが使用不可の場合の処理例を説明する。
(A)参照画素候補ブロックが使用不可の場合には、参照画素生成過程によって獲得された該当位置の画素を現在ブロックの参照画素メモリに含むことができる。
次に参照画素生成過程の例として使用不可の位置の参照画素を生成する方法を説明する。
例えば、任意の画素値を使って参照画素を生成することができる。ここで、任意の画素値とは、画素値範囲(例えば、ビット深度に基づく画素値範囲又は該当映像内の画素分布による画素値範囲)に属する1個の画素値(例えば、画素値範囲の最小値、最大値、中央値など)であることができる。詳細には、参照画素候補ブロックが全部使用不可の場合に適用可能な例であることができるが、これに限定されず、一部のみ使用不可の場合にも適用することができる。
もしくは、映像の符号化/復号化が完了した領域から参照画素を生成することができる。詳細には、使用不可のブロックに隣接した少なくとも1個の使用可のブロック(又は使用可の参照画素)に基づいて参照画素を生成することができる。ここで、外挿、内挿、コピーなどの方法の少なくとも1個を使うことができる。
(B)参照画素候補ブロックが使用不可の場合には、該当位置の画素を使う予測モードは使用を制限することができる。例えば、図9でTR位置の参照画素が使用不可の場合、該当位置の画素を使って予測を行う51番〜66番モード(図4)の使用を制限し、TR位置の参照画素ではないT、TL、L、BL位置の参照画素を使って予測を行う2番〜50番モード(垂直モード)の使用を許容(本例では、方向性モードに限定して説明)することができる。
他の例として、全ての位置の参照画素が使用不可の場合、許される予測モードは存在しないことができる。この場合、A設定の一部の構成のように任意の画素値を使って予測ブロックを生成することができ、次のブロックの予測モード符号化/復号化過程で参照のための目的で既設定の予測モード(例えば、DCモードなど)を該当ブロックの予測モードに設定することができる。すなわち、予測モード符号化/復号化過程を黙示的に省略することができる。
前記例は予測モード符号化/復号化過程に関連する場合であることができる。本発明の予測モード符号化/復号化部はA設定を支援する場合を仮定して後述する。仮に、B設定を支援する場合であれば、予測モード符号化/復号化部の一部の構成を変更することができる。全ての位置の参照画素が使用不可の場合については既に前述したので、一部の位置の参照画素が使用不可の場合について後述する。
例えば、MPM候補群に隣りブロックの予測モードを含む場合を仮定する。隣りブロックの予測モードが現在ブロックで使用不可のブロック位置の参照画素を使う予測モードの場合には、該当モードをMPM候補群から除く過程を加えることができる。すなわち、予測モード符号化/復号化部で後述する重複性確認過程に使用不可モード確認過程を加えることができる。ここで、使用不可モードは多様な定義によって指定することができるが、本例では使用不可のブロック位置の参照画素を使う予測モードであると仮定する。よって、優先順位によって予測モードのMPM候補群構成過程を遂行し、重複性確認過程及び/又は使用不可モード確認過程によってMPM候補群に含むかを決定することができる。ここで、該当順位の予測モードが前記確認過程を通過することができない場合、次の優先順位の予測モードがMPM候補群構成過程の候補となることができる。
もしくは、図9のTR、T、TL位置の参照画素が使用不可の場合、該当位置の画素を使って予測を行う19番〜66番の使用を制限すると仮定しよう。この場合、LとBL位置の参照画素を使って予測を行う2番〜18番モードが使用可の予測モードであることができる。この場合、MPM候補群に含まれる個数が6個であると仮定すると、non−MPM候補群に含まれる個数は12個であることができる。ここで、MPM候補群の個数を6個に維持すること(全体モードに比べて多い個数)は非効率的であることのように、使用不可の参照画素によって予測モード使用が制限されるとき、MPM候補群の個数調整(例えば、p個→q個。p>q)及び二進化(例えば、可変長二進化A→可変長二進化Bなど)などのエントロピー符号化/復号化設定変更も発生することができる。すなわち、適応的な予測モード符号化/復号化を支援する状況であることができ、これについての詳細な説明は省略する。
また、non−MPM候補群にも使用不可の参照画素によって使用が制限される予測モードは発生可能性がないことは同一であるから、該当モードを候補群に含む必要がないことができる。これは、non−MPM候補群の個数調整(例えば、s個→t個。s>t)及び二進化(例えば、固定長二進化→可変長二進化など)などのエントロピー符号化/復号化設定がMPM候補群のように変更可能な適応的な予測モード符号化/復号化を支援する状況であることができる。
前記例で参照画素が使用不可の場合の多様な処理例を説明した。これは、一般的な予測モードだけでなくカラーコピーモードの場合にも発生可能な場合であることができる。
次にカラーコピーモードを支援するとき、参照画素使用可能性に基づいて使用可の参照画素と使用不可の参照画素に分類し、それに対する多様な処理に対する例を説明する。
図11は本発明の一実施例によるカラーコピーモードでの参照画素使用可能性を説明するための例示図である。図11は現在ブロック(現在カラー空間)と対応ブロック(他のカラー空間)の左側及び上側ブロックが相関性情報獲得に使われる領域を意味する場合と一部のカラーフォーマット(YCbCr4:4:4)である場合を仮定する。
参照画素使用可能性は現在ブロックの位置に基づいて(例えば、ピクチャー境界の外に位置するかなど)判断することができると既に言及した。図11は現在ブロックの位置に基づいて有することができる参照画素使用可能性の多様な例を示している。
図11で現在ブロックの参照画素使用可能性は対応ブロックと同一である場合(結果)を意味する。ただ、他のカラー空間で現在カラー空間と同じ分割単位(タイル、スライスなど)に区画される場合(ただ、カラーフォーマットの成分比を考慮することが必要)であると仮定する。
図11のaは参照画素が全部使用可の場合であり、図11のb及びcは参照画素の一部が使用可の場合(それぞれ上側及び左側ブロック)であり、図11のdは参照画素が全部使用不可の場合を意味する。
図11のaを除けば少なくとも1個の参照画素が使用不可の場合に属するので、このための処理が必要である。参照画素処理A設定による場合、参照画素生成過程によって使用不可の領域を満たす過程を遂行することができる。ここで、現在ブロックの参照画素は既に前述した参照画素生成過程(一般的な画面内予測)によって処理することができる。
対応ブロックの参照画素は現在ブロックと同じ又は違う処理が可能である。例えば、現在ブロックの参照画素の中でL2位置(図10参照)の参照画素が使用不可の場合、任意の画素値によって生成するか又は使用可の参照画素によって生成することができる。詳細には、使用可の参照画素は使用不可の参照画素の左側/右側又は上側/下側方向(本例で、L1、L3など)に位置することができるか又は同じ参照画素ライン(本例で、R3など)に位置することができる。
一方、対応ブロックの参照画素も任意の画素値によって生成するか又は使用可の参照画素によって生成することができる。ただ、使用可の参照画素の位置が現在ブロックと同じか違うことができる。詳細には、使用可の参照画素は使用不可の参照画素の左側/右側/上側/下側方向だけでなく左上側、右上側、左下側、右下側などの多様な方向に位置することができる。現在ブロックの場合、いまだ符号化/復号化が完了しなかったから図10のa〜pの画素は使用可の参照画素に属しないが、対応ブロックの場合、符号化/復号化が完了したから図10のaa〜ppの画素も使用可の参照画素に属することができる。したがって、使用可の参照画素の内挿、外挿、コピー、フィルタリングなどの多様な方法によって使用不可の位置の参照画素を生成することができる。
前記過程によって図11のb〜dのような使用不可の位置の参照画素を生成して参照画素メモリに含むことができ、図11のaのように相関性情報獲得のために該当位置の参照画素を使うことができる。
次に参照画素処理B設定による場合について説明する。使用不可の位置の参照画素の使用を制限することができる。また、使用不可の位置の参照画素から予測を行う予測モードの使用を制限(適応的な予測モード符号化/復号化などが適用)するかそれ以外の処理が可能である。
まず、使用不可の位置の参照画素使用を制限する場合を説明する。図11のaのように現在ブロックと対応ブロックのそれぞれの左側及び上側ブロックを相関性情報獲得に使わなければならないが、図11のb及びcは一部の参照画素が使用不可の場合に相当する。ここで、使用不可の参照画素は使わず、使用可の参照画素を使って相関性情報を獲得することができる。一方、相関性情報獲得のためのデータが十分ではない場合に対する考慮が必要である。
例えば、現在ブロック(M×N)の左側(N)及び上側(M)ブロックが相関性情報獲得領域の場合、使用可の参照画素がk個(kは0を超えながら<M+N>以下)以上/超過の場合、該当参照画素は相関性情報獲得過程に使うことができる。仮に、使用可の参照画素個数がk個以下/未満の場合、該当参照画素は相関性情報獲得過程に使うことができない。
もしくは、左側ブロックで使用可の参照画素がp個(pは0を超えながらN以下)以上/超過であり、上側ブロックで使用可の参照画素がq個(qは0を超えながらM以下)以上/超過の場合、該当参照画素は相関性情報獲得過程に使うことができる。仮に、左側ブロックで使用可の参照画素個数がp個以下/未満であるか上ブロックで使用可の参照画素個数がq個以下/未満である場合、該当参照画素は相関性情報獲得過程に使うことができない。
前者の場合、相関性情報獲得のための全体領域での境界値条件による分類であることができ、後者の場合、相関性情報獲得のための一部(部分)領域での境界値条件による分類であることができる。後者の場合、相関性情報獲得のための隣接領域を左側、上側、左上側、右上側、左下側位置に分類した場合の一例であることができるが、多様な隣接領域区分を基準に分類した場合(例えば、左側及び上側位置に区分。ここで、前記上側+右上側ブロックを上側*に分類し、左側+左下側ブロックを左側*に分類)にも適用可能な例であることができる。
そして、後者の場合、各領域によって境界値設定を同じに又は異なるように行うことができる。例えば、左側ブロックは全ての参照画素(N個)が使用可の場合に該当参照画素を相関性情報獲得過程に使うことができ、上側ブロックは少なくとも1個以上の参照画素が使用可の場合(すなわち、一部の参照画素が使用可の場合)に該当参照画素を相関性情報獲得過程に使うことができる。
また、前記例はカラーコピーモード(例えば、図8のa、b、cなどを支援する場合)によって同じか異なる設定を支援する場合が可能である。その他の符号化/復号化設定(例えば、映像タイプ、ブロックのサイズ、形態、位置、ブロック分割タイプなど)によって関連設定を異なるように定義することもできる。
相関性情報獲得過程を遂行しない場合(すなわち、1個の参照画素でも相関性情報獲得過程に使わない場合)相関性情報は黙示的に獲得することができる。例えば、カラーコピーモード数式でa及びbをそれぞれ1と0に設定(すなわち、対応ブロックのデータをそのまま現在ブロックの予測値として使用)することができる。もしくは、カラーコピーモードで符号化/復号化が完了したブロックの相関性情報又は既設定の相関性情報を使うことができる。
もしくは、現在ブロックの予測値を任意の値(例えば、ビット深度又は画素値範囲の最小値、中央値、最大値など)で満たすことができる。すなわち、一般的な画面内予測で全ての参照画素が使用できない場合に行われる方法と類似した場合であることができる。
前記例のような相関性情報が黙示的に獲得される場合又は予測値を任意の値で満たす場合は図11のdのような場合に適用可能な例であることができる。すなわち、1個の参照画素でも相関性情報獲得過程に使われない場合であるからである。
次に使用不可の位置の参照画素から予測を行う予測モードの使用を制限する場合を説明する。
図12は本発明の一実施例によるカラーコピーモードで参照画素使用可能性を説明するための例示図である。後述する例では現在ブロックと対応ブロックの左側、上側、右上側、左下側ブロックが相関性情報獲得に使われる領域であると仮定する。また、3個のカラーコピーモード(mode_A、mode_B、mode_C)を支援し、各モードは各ブロックの左側+上側、上側+右上側、左側+左下側ブロックで相関性情報を獲得するものに区分されると仮定する。
図12を参照すると、図12のaは現在ブロックが映像内部(ピクチャー、スライス、タイルなど)に位置する場合、図12のbは現在ブロックが映像左側境界に位置する場合、図12のcは現在ブロックが映像上側境界に位置する場合、図12のdは現在ブロックが映像左側上境界に位置する場合を示す。すなわち、参照画素使用可能性を現在ブロックの位置に基づいて判断する場合を仮定する。
図12を参照すると、図12のaでmode_A、mode_B、mode_Cを支援することができ、図12のbでmode_Bを支援することができ、図12のcでmode_Cを支援することができ、図12のdでは何のモードも支援することができない。すなわち、相関性情報獲得のために使われる参照画素が1個でも使用不可の場合であれば、該当モードは支援しない場合についての説明であり得る。
例えば、色差成分のための画面内予測モード候補群を構成するとき、方向性及び非方向性モード、カラーモード、及びカラーコピーモードを含んでなることができる。ここで、DC、Planar、垂直、水平、対角線モードなどの4個の予測モード、1個のカラーモード、及び3個のカラーコピーモードの総7個の予測モードを候補群に含む場合を仮定する。
前記例のように使用不可の参照画素から相関性情報が獲得されるカラーコピーモードは除くことができる。図12のcの状況ではmode_cを除き、残りの6個の予測モードで色差成分のための候補群を構成することができる。すなわち、m個の予測モード候補群からn個(m>n。nは1以上の整数)に調整される場合が可能である。これも予測モードインデックス設定及び二進化などのエントロピー符号化/復号化を変更することが要求されることができる。
図12のdの状況ではmode_A、mode_B、mode_Cを除くことができ、残りの予測モードである方向性及び非方向性モードとカラーモードの総4個の候補群を構成することができる。
前記例のように使用不可の参照画素に基づいて予測モード使用制限設定を適用して画面内予測モード候補群を構成する場合が可能である。
前記例のように参照画素処理B設定による場合、多様な処理方法を支援することができる。符号化/復号化設定によって黙示的又は明示的に1個の処理方法に基づいて参照画素処理及び画面内予測を遂行することができる。
前記例は現在ブロックの位置に基づいて隣接した領域の参照画素使用可能性を判断する場合を説明した。すなわち、現在ブロックと対応ブロックは映像(ピクチャー、スライス、タイル、最大符号化ブロックなど)内の位置が同一であり、それによってある特定のブロック(現在ブロック又は対応ブロック)が映像境界に隣接すれば、対応ブロックも映像境界に位置するなどの関係が存在する。よって、各ブロックの位置に基づいて参照画素使用可能性を判断するとき、同じ結果を生み出した。
また、参照画素可能性を判断する基準として制限された画面内予測などについて前述した。これは現在ブロックと対応ブロックの隣接した領域の参照画素可能性が同一でない可能性を含む結果を生み出すことができる。
図13は本発明の一実施例によるカラーコピーモードで参照画素使用可能性を説明するための例示図である。後述する例では現在ブロックと対応ブロックの左側及び上側ブロックが相関性情報獲得に使われる領域であると仮定する。すなわち、図12のmode_Aについての説明であることができ、その他のカラーコピーモードでは後述する内容を同一に又は同様に適用することができることを前提とする。
図13を参照すると、両ブロック(現在ブロックと対応ブロック)の隣接した全ての領域が使用可の場合(i)と、一部のみ使用可の場合(ii)と、全部使用不可の場合(iii)とに区分することができる。ここで、一部のみ使用した場合(ii)は、両ブロックに共同で使用可能な領域が存在する場合(ii−1)と存在しない場合(ii−2)とに区分することができる。ここで、共同で使用可能な領域が存在する場合(ii−1)は、両ブロックで該当領域が完全に一致する場合(ii−1−1)と一部のみ一致する場合(ii−1−2)とに区分することができる。
図13を参照すると、前記分類の中でiとiiiは図13のaとfに相当し、ii−2は図13のdとeに相当し、ii−1−1は図13のcに相当し、ii−1−2は図13のbに相当する。ここで、現在ブロック(又は対応ブロック)の位置に基づいて参照画素可能性を判断する場合と比較すると、ii−2とii−1−2は新しく考慮しなければならない状況であることができる。
前記過程はカラーコピーモードの参照画素可能性を判断する段階に含まれる構成であることができる。前記判断結果によって参照画素に関する処理を含むカラーコピーモードの画面内予測設定を決定することができる。次に現在ブロックと対応ブロックのそれぞれ隣接した領域の使用可能性に基づく参照画素処理及び画面内予測に関する例を説明する。
参照画素処理A設定の場合、既に前述した多様な方法によって使用不可の位置の参照画素を満たすことができる。ただ、前記両ブロックの隣接した領域の使用可能性による分類によって細部設定を異なるようにすることができる。次にii−2とii−1−2の場合を中心に説明し、他の分類についての説明は本発明の前述した内容と重複することができるので、詳細な説明は省略する。
例えば、図13のd(ii−2)は現在ブロックと対応ブロックに共同で使用可能な領域が存在しない場合であることができる。また、図13のb(ii−1−2)は現在ブロックと対応ブロックで使用可能な隣接した一部の領域が重畳する場合であることができる。この場合、使用不可の位置の隣接した領域のデータを満たす過程(例えば、使用可能な領域から満たす)によって相関性情報獲得過程に使うことができる。
もしくは、図13のe(ii−2)は現在ブロック又は対応ブロックのいずれか1個は隣接した領域がいずれも使用不可の場合であることができる。すなわち、両ブロックのいずれか一方は相関性情報獲得過程に使うデータがない場合であり、該当領域に多様なデータを使って満たすことができる。
ここで、該当領域は任意の値を使って満たすことができ、映像の画素値範囲(又はビット深度)に基づく最小値、中央値、最大値などを使うことができる。
ここで、該当領域は他のカラー空間の使用可能な隣接領域でコピーなどの方法で満たすことができる。この場合、両ブロックの隣接した領域は前記過程によって同じ映像特性(すなわち、同じデータ)を有するので、既設定の相関性情報を獲得することができる。例えば、相関性関連数式で、aは1、bは0に設定することにより対応ブロックのデータを現在ブロックの予測値にそのままコピーする場合に相当し、その他の多様な相関性情報設定が可能である。
参照画素処理B設定の場合、既に前述した多様な方法によって使用不可の位置の参照画素の使用又は該当カラーコピーモードの使用を制限することができる。ただ、前記使用可能性に対する分類によって細部設定を異なるようにすることができる。次にii−2とii−1−2の場合を中心に説明し、他の分類についての説明は本発明の前述した内容と重複することができるので、詳細な説明は省略する。
例えば、図13のdとe(ii−2)は現在ブロックと対応ブロックに共同で使用可の領域が存在しない場合であることができる。両ブロックで相関性情報獲得のために比較可能な重畳領域が存在しないから、該当カラーコピーモードの使用を制限することができる。もしくは、現在ブロックの予測値を任意の値などで満たすことができる。すなわち、相関性情報獲得過程を遂行しないことを意味することができる。
もしくは、図13のb(ii−1−2)は現在ブロックと対応ブロックで使用可能な隣接した一部領域が重畳する場合であることができる。したがって、使用可能な隣接した一部の領域に限定しても相関性情報獲得過程を遂行することができる。
図14は本発明の一実施例によるカラーコピーモードの画面内予測方法を説明したフローチャートである。図14を参照すると、相関性情報獲得のために指定された参照画素領域を確認することができる(S1400)。そして、指定された参照画素領域の使用可能性判断に基づいて参照画素に関する処理設定を決定することができる(S1410)。そして、決定された参照画素に対する処理設定によって画面内予測を遂行することができる(S1420)。ここで、参照画素処理設定によって使用可能性が存在する参照画素領域のデータに基づいて相関性情報を獲得してカラーコピーモードによる予測ブロックを生成することができるか又は任意の値などで満たされる予測ブロックを生成することもできる。
まとめると、色差成分の画面内予測のためにカラーコピーモードを支援する場合、カラーコピーモードによって指定される相関性情報獲得のための比較領域を確認することができる。一般的な画面内予測モードとは違い、カラーコピーモードは現在ブロックの隣接した領域(特に、相関性情報比較に使われる領域)だけでなく対応ブロックの参照画素の使用可能性まで含んで確認することもできる。既設定の参照画素処理設定又は複数の参照画素処理設定の中で一つと前記参照画素の使用可能性によって前述した多様な例による参照画素処理及び画面内予測を遂行することができる。
ここで、参照画素処理設定は、映像タイプ、カラー成分、ブロックのサイズ/位置/形態、ブロックの横長と縦長の比、符号化モード、画面内予測モード(例えば、カラーコピーモードの相関性情報獲得に比較される領域の範囲、位置、画素個数など)、制限された画面内予測設定などによって黙示的に決定することができるか、又はシーケンス、ピクチャー、スライス、タイルなどの単位で明示的に関連情報が発生することができる。ここで、参照画素処理設定は、現在ブロック(又は現在映像)の状態情報に限定して、又は対応ブロック(又は他のカラー映像)の状態情報に限定して定義することができるか、又は複数の状態情報を結合して定義することもできる。
前記例で参照画素処理設定AとBを区分して説明したが、二つの設定は単独で使うか又は組み合わせて使うことができる。これも前記状態情報又は明示的な情報に基づいて決定することができる。
参照画素補間部で前記参照画素の構成を完了した後、参照画素の線形補間によって少数単位の参照画素を生成することができる。もしくは、後述する参照画素フィルター過程を遂行した後、参照画素補間過程を遂行することもできる。
ここで、水平、垂直、一部の対角線モード(例えば、Diagonal up right、Diagonal down right、Diagonal down leftのように、垂直/水平に45度差のモード。図4で2番、34番、66番モードに対応)、非方向性モード、カラーコピーモードなどの場合には補間過程を遂行しなく、その他のモード(他の対角線モード)の場合には補間過程を遂行することができる。
予測モード(例えば、予測モードの方向性。dy/dxなど)と参照画素及び予測画素の位置によって補間を行う画素位置(すなわち、どの少数単位が補間されるか。1/2〜1/64などから決定)を決定することができる。ここで、少数単位の精度にかかわらず、1個のフィルター(例えば、フィルター係数又はフィルタータップの長さを決定するために使われる数学式は同じフィルターを仮定。ただ、少数単位の精度<例として、1/32、7/32、19/32>によって係数のみ調整されるフィルターを仮定)を適用することができるか又は複数のフィルター(例えば、フィルター係数又はフィルタータップの長さを決定するために使われる数学式が区分されるフィルターを仮定)の中で1個を少数単位によって選択して適用することができる。
前者の場合、少数単位画素の補間のために整数単位の画素を入力として使用する例であることができ、後者の場合、段階別に入力画素を異にする例(例えば、1/2単位の場合は整数の画素使用。1/4単位の場合は整数及び1/2単位画素の使用など)であることができるが、これに限定されない。本発明では前者の場合を中心に説明する。
参照画素補間のために固定的なフィルタリング又は適応的なフィルタリングを遂行することができ、これは符号化/復号化設定(例えば、映像タイプ、カラー成分、ブロックの位置/サイズ/形態、ブロックの横長と縦長の比、予測モードなどから1個又は2個以上の組合せ)によって決定することができる。
固定的なフィルタリングは1個のフィルターを使って参照画素補間を遂行することができ、適応的なフィルタリングは複数のフィルターの中で1個を使用して参照画素補間を遂行することができる。
ここで、適応的なフィルタリングの場合、符号化/復号化設定によって複数のフィルターの中で1個を黙示的に決定することができるか明示的に決定することができる。ここで、フィルターの種類は、4−tap DCT−IFフィルター、4−tapキュービックフィルター、4−tapガウシアンフィルター、6−tapウィーナーフィルター、8−tapカルマンフィルターなどから構成することができ、カラー成分によって支援されるフィルター候補群が異に定義されること(例えば、フィルターの種類が一部は同じか異なり、又はフィルタータップの長さが短いか長いかなど)もできる。
参照画素フィルター部で符号化/復号化過程によって残っている劣化を減らすことによって予測の正確度を高める目的で参照画素にフィルタリングを遂行することができる。このときに使われるフィルターは低域通過フィルター(Low−pass Filter)であることができるが、これに限定されない。符号化/復号化設定(前述した説明から誘導可能)によってフィルタリングの適用有無を決定することができる。また、フィルタリングを適用する場合には固定的なフィルタリング又は適応的なフィルタリングを適用することができる。
固定的なフィルタリングは参照画素フィルタリングを遂行しないか又は1個のフィルターを使って参照画素フィルタリングを適用することを意味する。適応的なフィルタリングはフィルタリングの適用可否が符号化/復号化設定によって決定され、支援されるフィルターの種類が2種以上の場合、その中で1個を選択することができることを意味する。
ここで、フィルターの種類は[1、2、1]/4のような3−tapフィルター、[2、3、6、3、2]/16のような5−tapフィルターなどの多様なフィルター係数、フィルタータップ長さなどによって区分される複数のフィルターを支援することができる。
前記参照画素の構成段階で紹介した参照画素補間部と参照画素フィルター部は予測の正確性向上のために必要な構成であることができる。前記2過程は独立的に行われる過程であることができるが、2過程を組み合わせる構成(すなわち、一つのフィルタリングで処理)も可能である。
予測ブロック生成部で少なくとも1個の予測モードによって予測ブロックを生成することができ、前記予測モードに基づいて参照画素を使うことができる。ここで、参照画素は予測モードによって外挿(Extrapolation)などの方法(方向性モード)に使うことができ、内挿(Interpolation)又は平均(DC)又はコピー(Copy)などの方法(非方向性モード)に使うことができる。
次に予測モードによって使われる参照画素について説明する。
方向性モードの場合、水平と一部の対角線モード(Diagonal up right)との間のモード(図4で2番〜17番モード)は左下側+左側ブロック(図10でRef_BL、Ref_L)、水平モードは左側ブロック、水平と垂直との間のモード(図4で19番〜49番モード)は左側+左上側+上側ブロック(図10でRef_L、Ref_TL、Ref_T)、垂直モードは上側ブロック(図10でRef_L)、垂直と一部の対角線モード(Diagonal down left)との間のモード(図4で51番〜66番モード)は上側+右上側ブロック(図10でRef_T、Ref_TR)の参照画素を使うことができる。
また、非方向性モードの場合、左下側、左側、左上側、上側、右上側ブロック(図10でRef_BL、Ref_L、Ref_TL、Ref_T、Ref_TR)のブロックの1個以上のブロックに位置する参照画素を使うことができる。例えば、左側、上側、左側+上側、左側+上側+左上側、左側+上側+左上側+右上側+左下側などの多様な参照画素の組合せの形態で画面内予測に使うことができ、これは非方向性モード(DC、Planarなど)によって決定することができる。後述する例で、DCモードは左側+上側ブロックを、Planarモードは左側+上側+左下側+右上側ブロックを参照画素として予測に使う場合を仮定する。
また、カラーコピーモードの場合、他のカラー空間の復元されたブロック(図10でRef_C)を参照画素として使うことができる。後述する例で、現在ブロックと対応ブロックを参照画素として予測に使う場合を中心に説明する。
ここで、画面内予測に使われる参照画素は複数の概念(又は単位)に区分することができる。例えば、画面内予測に使われる参照画素は第1参照画素と第2参照画素のような1個以上のカテゴリーに区分することができる。説明の便宜のために、第1参照画素と第2参照画素に区分して説明するが、その他の追加的な参照画素も支援するものと理解することができる。
ここで、第1参照画素は現在ブロックの予測値生成に直接的に使われる画素であることができ、第2参照画素は現在ブロックの予測値生成に間接的に使われる画素であることができる。もしくは、第1参照画素は現在ブロック内の全ての画素の予測値生成に使われる画素であることができ、第2参照画素は現在ブロック内の一部の画素の予測値生成に使われる画素であることができる。もしくは、第1参照画素は現在ブロックの1次予測値生成に使われる画素であることができ、第2参照画素は現在ブロックの2次予測値生成に使われる画素であることができる。もしくは、第1参照画素は現在ブロックの予測方向の開始点(又は起原)に基づいて位置する画素であることができ、第2参照画素は現在ブロックの予測方向に関係なく位置する画素であることができる。
前記説明のように第2参照画素を使って予測を行うことを予測ブロック(又は補正)過程ということができる。すなわち、本発明の予測ブロック生成部には予測ブロック補正部を追加する構成が可能である。
ここで、予測ブロック生成部と予測ブロック補正部に使われる参照画素は各構成で第1参照画素と第2参照画素に限定されない。すなわち、予測ブロック生成部は第1参照画素を使って又は第1参照画素と第2参照画素を使って予測を遂行することができ、予測ブロック補正部は第2参照画素を使って又は第1参照画素と第2参照画素を使って予測(又は補正)を遂行することができる。本発明では、説明の便宜のために、複数の画素概念に区分して説明することを理解する必要がある。
本発明の画面内予測では第1参照画素を使って予測を行うことだけでなく第2参照画素を使って予測を行うこと(すなわち、補正を行うこと)が可能であり、これは符号化/復号化設定によって決定することができる。まず、第2参照画素の支援可否(すなわち、予測値補正の支援可否)についての情報がシーケンス、ピクチャー、スライス、タイルなどの単位で発生することができる。そして、明示的又は黙示的に第2参照画素を支援すると決定されても、全てのブロックで支援するか又は一部のブロックで支援するか、支援されるブロックでの第2参照画素関連細部設定(関連内容は後述する内容で参照可能)などは、映像タイプ、カラー成分、ブロックのサイズ/形態/位置、ブロックの横長と縦長の比、符号化モード、画面内予測モード、制限された画面内予測設定などによって定義される符号化/復号化設定によることができる。もしくは、シーケンス、ピクチャー、スライス、タイルなどの単位で関連設定情報を明示的に決定することもできる。
ここで、1個の画素の予測値に使われる第1参照画素と第2参照画素の個数はそれぞれm個、n個であることができ、mとnは(1:1)、(1:2以上)、(2以上:1)、(2以上:2以上)の画素数の比を有することができ、これは予測モード、現在ブロックのサイズ/形態/位置、画素位置などによって決定することができる。すなわち、mは1、2、3などの1以上の整数であることができ、nは1、2、3、4、5、8などの1以上の整数であることができる。
第1参照画素と第2参照画素に適用される加重値(本例でそれぞれ1個の画素が使われると仮定)がpとqであるとき、pはqより大きいか同一であることができ、pは正数の値を有し、qは正数又は負数の値を有することができる。
次に第1参照画素を使って予測ブロックを生成することに加え、第2参照画素を一緒に使用して予測を行う場合を説明する。
例えば、(図10を参照)Diagonal up right方向モードは<Ref_BL+Ref_L>ブロック又は<Ref_BL+Ref_L+Ref_T+Ref_TR>ブロックを使って予測を遂行することができる。また、水平モードはRef_Lブロック又は<Ref_L+Ref_T+Ref_TL>ブロックを使って予測を遂行することができる。また、Diagonal down right方向モードは<Ref_TL+Ref_T+Ref_L>ブロック又は<Ref_TL+Ref_T+Ref_L+Ref_TR+Ref_BL>ブロックを使って予測を遂行することができる。また、垂直モードはRef_Tブロック又は<Ref_T+Ref_L+Ref_TL>ブロックを使って予測を遂行することができる。また、Diagonal down left方向モードは<Ref_TR+Ref_T>ブロック又は<Ref_TR+Ref_T+Ref_L+Ref_BL>ブロックを使って予測を遂行することができる。
他の例として、DCモードは<Ref_T+Ref_L>ブロック又は<Ref_T+Ref_L+Ref_TL+Ref_TR+Ref_BL>ブロックを使って予測を遂行することができる。また、Planarモードは<Ref_T+Ref_L+Ref_TR+Ref_BL>ブロック又は<Ref_T+Ref_L+Ref_TR+Ref_BL+Ref_TL>ブロックを使って予測を遂行することができる。
また、カラーコピーモードはRef_Cブロック又は<Ref_C+(Ref_T or Ref_L or Ref_TL or Ref_TR or Ref_BL)>ブロックを使って予測を遂行することができる。もしくは、<Ref_C+(Def_T or Def_B or Def_L or Def_R or Def_TL or Def_TR or Def_BL or Def_BR)>ブロックを使って予測を遂行することができる。ここで、Defは図10には示していないが、Ref_C(現在ブロックと対応ブロック)の隣接したブロックを指称するために使用された用語であり、Def_T〜Def_BRはRef_Fの上側、下側、左側、右側、左上側、右上側、左下側、右下側方向に隣接したブロックであることができる。すなわち、カラーコピーモードはRef_Cブロックに現在ブロックに隣接した参照画素又はRef_C(対応ブロック)に隣接した参照画素などを使って予測を遂行することができる。
前記例は第1参照画素を使って予測を遂行するか又は第1参照画素と第2参照画素を使って予測を遂行する一部の例を示し、これに限定されず、多様な変形例が可能である。
複数の参照画素を使って予測ブロックを生成又は補正することは既存の予測モードの欠点を補償するための目的で行う場合であることができる。
例えば、方向性モードの場合、現在ブロックの特定方向のエッジが存在することを仮定して予測の正確度を高めるための目的で支援するモードであることができるが、予測方向の開始点に位置する参照画素のみでブロック内の変化を正確に反映することができないことがあるので、予測の正確度が低下することができる。もしくは、カラーコピーモードの場合、同一時間に他のカラー映像からの相関性情報を反映して予測を遂行しようとするが、他のカラー映像内のブロック境界に残っている劣化が反映されることができるので、予測の正確度が低下することができる。前記問題点を解決するために、第2参照画素を追加的に使用して予測の正確度を高めることができる。
次にカラーコピーモードで複数の参照画素を使って予測を行う場合を説明する。後述する例の図面に記載しない部分は図10を参照して誘導することができる。ここで、カラーコピーモードの相関性情報獲得過程などは以前過程で遂行するか又は以後過程で遂行することができることを仮定して概念的な部分に重点を置いて説明する。また、他のカラー空間から予測値を獲得することを除き、後述するカラーコピーモードでの画面内予測は他の画面内予測モードにも同一に又は同様に適用することができる。
図15は本発明の一実施例によるカラーコピーモードでの予測を説明するための例示図である。図15を参照すると、カラーコピーモードで対応ブロックの参照画素を使って予測ブロックを生成することができる。
詳細には、現在ブロックと対応ブロックのそれぞれの隣接した領域(カラーコピーモードによって指定される)から相関性情報を獲得することができる(p1)。そして、対応ブロックからデータを獲得し(p2)、先に求めた相関性情報を適用した(p3)予測ブロック(pred_t)を獲得することができる。これを現在ブロックの予測ブロック(pred_f)で補償することができる(p4)。
前記例は前述したカラーコピーモードから関連説明を誘導することができるので、詳細な説明は省略する。
図16は本発明の一実施例によるカラーコピーモードでの予測を説明するための例示図である。図16を参照すると、カラーコピーモードで対応ブロックとその隣接した参照画素を使って予測ブロックを生成及び補正することができる。
詳細には、現在ブロックと対応ブロックのそれぞれの隣接した領域から相関性情報を獲得することができる(p1)。そして、対応ブロックのデータに補正を遂行することができる。ここで、補正は対応ブロックの内部に限定することができるか(d5)又は対応ブロックに隣接したブロックの境界に限定することができるか(d5を除いたd1〜d9)又は対応ブロックの内部と外部との間の境界にわたって遂行することができる(d1〜d9)。すなわち、対応ブロックと対応ブロックの隣接した領域のデータを補正に使うことができる。ここで、補正が行われる外部境界は上側、下側、左側、右側、左上側、右上側、左下側、右下側方向(それぞれd1〜d9。ただ、d5除外)の1個以上(全部含むことが可能)であることができる。
そして、対応ブロックの補正過程によってデータを獲得し(p2)、先に求めた相関性情報を適用した(p3)予測ブロック(pred_t)を獲得することができる。これを現在ブロックの予測ブロック(pred_f)で補償することができる(p4)。
図17は本発明の一実施例によるカラーコピーモードでの予測を説明するための例示図である。図17を参照すると、カラーコピーモードで対応ブロックと現在ブロックの隣接した参照画素を使って予測ブロックを生成及び補正することができる。
詳細には、現在ブロックと対応ブロックのそれぞれの隣接した領域から相関性情報を獲得することができる(p1)。そして、対応ブロックからデータを獲得し(p2)、先に求めた相関性情報を適用した(p3)予測ブロック(pred_t)を獲得することができる。これを現在ブロックの1次予測ブロックで補償することができ(p4)、1次予測ブロック(予測ブロックという)に補正を遂行することができる。ここで、補正は予測ブロックの内部に限定することができるか(c5)又は予測ブロックと隣接したブロックとの間の境界に限定することができるか(c5を除いたc1〜c6)又は予測ブロック内部と外部境界にわたって遂行することができる(c1〜c6)。すなわち、予測ブロック(すなわち、対応ブロックに基づくデータ。ここで、基づくという表現は相関性情報などが適用されたから)と予測ブロックの隣接したデータ(現在ブロックの隣接した領域のデータ)を補正に使うことができる。ここで、補正が行われる外部境界は上側、左側、左上側、右上側、左下側方向(それぞれc1〜c6。ただ、c5除外)の1個以上(全部含むことが可能)であることができる。
前記予測ブロックの補正過程によって獲得されたデータを現在ブロックの(2次又は最終)予測ブロック(pred_f)で補償することができる(p5)。
図18は本発明の一実施例によるカラーコピーモードに補正を行う過程のフローチャートである。詳細には、図16及び図17に基づいて説明した補正過程の一つを選択して補正を行う過程を示す。
図18を参照すると、現在ブロックと対応ブロックの隣接した領域から相関性情報を獲得することができる(S1800)。そして、対応ブロックのデータを獲得することができる(S1800)。次の説明は予測ブロックの補正を遂行することが黙示的又は明示的に決定した場合を仮定する。現在カラー空間で予測ブロック補正を遂行するか又は他のカラー空間で予測ブロック補正を遂行するかを確認することができる(S1820)。
仮に、現在カラー空間で予測ブロックを補正する場合、対応ブロックのデータに相関性情報を適用して予測ブロックを生成することができる(S1830)。これは一般的なカラーコピーモードの過程と同一であることができる。そして、現在ブロックの隣接した領域を使って予測ブロックの補正を遂行することができる(S1840)。ここで、現在ブロックの隣接した領域だけでなく獲得された予測ブロック内部データも用いることができる。
仮に、他のカラー空間で予測ブロックを補正する場合、対応ブロックの隣接した領域を使って対応ブロックの補正を遂行することができる(S1850)。ここで、対応ブロックの隣接した領域だけでなく対応ブロック内部データも用いることができる。そして、補正された対応ブロックに相関性情報を適用して予測ブロックを生成することができる(S1860)。
前記過程によって獲得されたデータを現在ブロックの予測ブロックで補償することができる(S1870)。
前記例でのカラー空間による区分によって図16及び図17の適用例が両立することができないものではない。すなわち、図16及び図17の適用例を組み合わせて構成することができる。例えば、図16のように対応ブロックの補正過程などによって現在ブロックの予測ブロックとして獲得することができ、図17のように獲得された予測ブロックの補正過程によって最終予測ブロックを獲得することもできる。
本発明の画面内予測で補正を行うことは補正対象となる画素とそれ以外の画素(本例で隣接した画素)にフィルタリングを適用することを意味することができる。ここで、フィルタリングは既設定の1個のフィルタリング設定によるか又は複数のフィルタリング設定の中で1個を選定し、該当フィルタリング設定によることができる。ここで、フィルタリング設定は前述した第2参照画素関連細部設定に含まれる内容であることができる。
前記フィルタリング設定はフィルタリング適用可否を含み、フィルターの種類、フィルターの係数、フィルターに使われる画素位置などを含むことができる。ここで、フィルタリング設定が適用される単位はブロック又は画素単位であることができる。ここで、映像タイプ、カラー成分、カラーフォーマット(すなわち、カラー成分間の構成比)、符号化モード(Intra/Inter)、ブロックのサイズ/形態/位置、ブロックの横長と縦長の比、ブロック内の画素位置、画面内予測モード、制限された画面内予測などによって符号化/復号化設定を定義してフィルタリング設定に関与することができる。ここで、ブロックとは現在ブロックを仮定して説明するが、現在ブロックの隣接したブロック又はカラーコピーモードで対応ブロックの隣接したブロックなどを含む概念と理解することもできる。すなわち、現在ブロックとそれ以外のブロックの状態情報がフィルタリング設定に入力変数として作用することができることを意味する。また、シーケンス、ピクチャー、スライス、タイル、ブロックなどの単位でフィルタリング設定についての情報が明示的に含まれることができる。
次にフィルタリング設定のうちフィルターの種類について説明する。補正対象画素を中心に、水平、垂直、対角線などの1個のライン上の隣接した画素にフィルタリングを適用(すなわち、1次元)することができる。もしくは、補正対象画素を中心に、左側、右側、上側、下側、左上側、右上側、左下側、右下側方向の空間的に隣接した画素にフィルタリングを適用(すなわち、2次元)することができる。すなわち、補正対象画素を中心に、M×N内に隣接した画素にフィルタリングを適用することができる。後述する例ではMとNがいずれも3以下の場合を仮定して説明するが、M又はNが3を超える値を有することもできる。一般に、補正対象画素を中心に対称な隣接した画素にフィルタリングを適用することができるが、非対称の構成も可能である。
図19は本発明の一実施例による補正対象画素に適用されるフィルターの種類を説明するための例示図である。詳細には、補正対象画素(図面太線)を中心に対称にフィルター適用位置が決定される場合に対する例示を示している。
図19を参照すると、図19のa及びbは水平及び垂直方向の3−tapフィルターを意味する。また、図19のc及びdは対角線方向(垂直線を基準に−45、+45度傾いた角度)の3−tapフィルターを意味する。また、図19のe及びfは(+)又は(x)形態を有する5−tapフィルターを意味する。また、図19のgは正方形の9−tapフィルターを意味する。
フィルタリング適用に対する例示として、ブロックの内部又は外部(又は境界)に図19のa〜gを適用することができる。
他の例として、ブロックの内部に図19のe〜gを適用することができる。もしくは、ブロックの境界に図19のa〜dを適用することができる。詳細には、ブロックの左側境界に図19のaを、ブロックの上側境界に図19のbを適用することができる。ブロックの左上側境界に図19のcを、ブロックの右上側及び左下側境界に図19のdを適用することができる。
前記例は補正対象画素の位置に基づくフィルター選択に対する一部の場合であり、これに限定されず、反対の場合などを含む多様な適用例が可能である。
図20は本発明の一実施例による補正対象画素に適用されるフィルターの種類を説明するための例示図である。詳細には、補正対象画素を中心に非対称的にフィルター適用位置が決定される場合に対する例示を示している。
図20を参照すると、図20のa及びbはそれぞれ左側及び上側画素のみ用いる2−tapフィルターを意味し、図20のcは左側及び上側画素を用いる3−tapフィルターを意味する。図20のd〜fはそれぞれ左上側方向、上側方向、左側方向の4−tapフィルターを意味する。図20のg〜jはそれぞれ左右上側方向、左上下側方向、左右下側方向、右上下側方向の6−tapフィルターを意味する。
フィルタリング適用に対する例示として、ブロックの内部又は外部に図20のa〜jを適用することができる。
他の例として、ブロックの内部に図20のg〜jを適用することができる。もしくは、ブロックの境界に図20のa〜fを適用することができる。詳細には、ブロックの左側境界に図20のa及びfを、ブロックの上側境界に図20のb及びeを適用することができる。ブロックの左上側境界に図20のc及びdを適用することができる。
前記例は補正対象画素の位置に基づくフィルター選択に対する一部の場合であり、これに限定されず、反対の場合などを含む多様な適用例が可能である。
図19及び図20のフィルター係数は多様な設定が可能である。例えば、2−tapフィルターの場合は1:1又は1:3の比の加重値(ここで、1と3が補正対象画素の加重値)、3−tapフィルターの場合は1:1:2の比の加重値(ここで、2が補正対象画素の加重値)、4−tapフィルターの場合は1:1:1:5又は1:1:2:4の比の加重値(ここで、4と5が補正対象画素の加重値)、5−tapフィルターの場合は1:1:1:1:4の比の加重値(ここで、4が補正対象画素の加重値)、6−tapフィルターの場合は1:1:1:1:2:2の比の加重値(ここで、2が補正対象画素の加重値)、9−tapフィルターの場合は1:1:1:1:1:1:1:1:8又は1:1:1:1:2:2:2:2:4の比の加重値(ここで、8と4が補正対象画素の加重値)を適用することができる。前記例で補正対象画素の加重値の次に高い加重値を適用する画素は補正対象画素との距離が短いか(垂直方向及び水平方向に隣接)又は対称構造で補正対象画素のように中央に位置する画素であることができる。前記例は加重値設定に関する一部の場合に止めるだけ、これに限定されず、多様な変形例が可能である。
補正に使われるフィルターは符号化/復号化設定によって黙示的に決定されるか、シーケンス、ピクチャー、スライス、タイルなどの単位で明示的に含まれることができる。ここで、符号化/復号化設定を定義する説明は本発明の前述した多様な例から誘導することができる。
ここで、複数のフィルター支援可否を示す情報が前記単位で発生することができる。仮に、複数のフィルターを支援しなければ既設定のフィルターを使うことができ、複数のフィルターを支援すればフィルター選択情報が追加的に発生することができる。ここで、前記フィルターは図19及び図20に示したフィルター又はそれ以外のフィルターを候補群に含むことができる。
次に図16のような他のカラー空間で補正を行う場合を仮定し、このために図10を参照(すなわち、補正対象ブロックはRef_C)する。後述する例では以前過程によって該当ブロックで使われるフィルターを決定し、該当フィルターは該当ブロックの全部又は大部分の画素に適用する場合を仮定する。
補正対象ブロックの隣接した領域の状態情報に基づいて一括的なフィルターを支援するが、補正対象画素位置に基づく適応的なフィルターも支援することができる。
例えば、補正対象画素を中心に5−tapフィルター(図19のe)をRef_Cのaa〜ppに適用することができる。この場合、補正対象画素の位置にかかわらず、同じフィルターを適用する例であることができる。また、補正が行われるブロックの隣接した領域はフィルタリングを適用するのに制限事項がない場合であることができる。
もしくは、補正対象画素を中心に5−tapフィルターをRef_Cのff、gg、jj、kk(すなわち、ブロックの内部)に適用することができ、それ以外の画素(ブロックの境界)は隣接したブロックの状態に基づいてフィルタリングを適用することができる。詳細には、Ref_Cの左側ブロックがピクチャーの外郭であるか又は符号化モードがInter(すなわち、制限された画面内予測設定が活性化した場合)であって該当画素の使用可能性(本発明の参照画素使用可能性を確認する部分から関連説明誘導可能)が不可と判断される場合、垂直方向のフィルター(例えば、図19のbなど)をRef_Cのaa、ee、ii、mmに適用することができる。もしくは、Ref_Cの上側ブロックが使用不可の場合、水平方向のフィルター(例えば、図19のaなど)をRef_Cのaa〜ddに適用することができる。
画面内予測モードに基づいて一括的なフィルターを支援するが、補正対象画素位置に基づく適応的なフィルターも支援することができる。
例えば、カラーコピーモードの中で左側及び上側ブロックから相関性情報を獲得するモードの場合、9−tapフィルター(図19のg)をRef_Cのaa〜ppに適用することができる。この場合、補正対象画素の位置にかかわらず同じフィルターを適用する例であることができる。
もしくは、カラーコピーモードの中で左側及び左下側ブロックから相関性情報を獲得するモードの場合、9−tapフィルターをRef_Cのee〜ppに適用することができ、それ以外の画素(上側境界)は予測モード設定に基づいてフィルタリングを適用することができる。本例では相関性情報を左側及び左下側ブロックで獲得するから、上側ブロックとは相関性が低いと推定することができる。したがって、左右下側方向のフィルター(例えば、図20のiなど)をRef_Cのaa〜ddに適用することができる。
本発明でカラーコピーモードについては一部のカラーフォーマット4:4:4の場合を中心に説明した。カラーフォーマットによって補正に対する細部構成の違いが存在することができる。本例は他のカラー空間で補正を行う場合を仮定する。
カラーコピーモードでの相関性情報及び予測値の獲得は、一部のカラーフォーマット4:4:4の場合、現在カラー空間の1個の画素が他のカラー空間の1個の画素と対応するから、該当画素から関連データを直接獲得することができる。
一方、一部のカラーフォーマット(4:2:0)の場合、現在カラー空間の1個の画素が他のカラー空間の1個以上の画素(本例で4個)に対応する場合である。仮に、既設定の1個の画素が選定されて該当画素から関連データを獲得する場合ではなければ、対応する複数の画素から関連データを獲得するダウンサンプリング過程を要求することができる。
次に各カラーフォーマットによってカラーコピーモードの予測及び補正過程を説明する。後述する例で、一部のフォーマット(4:2:0)はダウンサンプリング過程が行われる場合を仮定する。また、現在ブロックと対応ブロックをそれぞれA、Bブロックという。
<1>4:4:4フォーマットでの画面内予測
<1−1>Aブロックの隣接した領域から画素値獲得
<1−2>Bブロックの隣接した領域から<1−1>の画素と対応する画素値獲得
<1−3>各カラー空間で隣接した領域の画素値に基づいて相関性情報獲得
<1−4>Bブロックの画素とそれに隣接した画素抽出
<1−5><1−4>の画素にフィルタリングを適用してBブロック補正
<1−6>Aブロック(M×N)の画素に対応するBブロック(M×N)の画素値獲得
<1−7><1−6>の画素値に相関性情報を適用して予測画素生成
<2>4:2:0フォーマットでの画面内予測(1)
<2−1>Aブロックの隣接した領域から画素値獲得
<2−2>Bブロックの隣接した領域から<2−1>の画素と対応する画素とそれに隣接した画素抽出
<2−3><2−2>の画素にダウンサンプリングを適用してBブロックの隣接した領域から<2−1>の画素と対応する画素値獲得
<2−4>各カラー空間で隣接した領域の画素値に基づいて相関性情報獲得
<2−5>Bブロックの画素とそれに隣接した画素抽出
<2−6><2−5>の画素にフィルタリングを適用してBブロック補正
<2−7>Aブロック(M×N)の画素に対応するBブロック(2M×2N)の画素とそれに隣接した画素抽出
<2−8><2−7>の画素にダウンサンプリングを適用してBブロックの画素値獲得
<2−9><2−8>の画素値に相関性情報を適用して予測画素生成
<1>と<2>の過程を説明すると、<1>は<1−5>で一回のフィルタリングを適用する反面、<2>は<2−6>と<2−8>で複数回のフィルタリングを適用することを確認することができる。<2−6>の場合は予測画素獲得に使われるデータの補正のための過程であることができ、<2−8>の場合は予測画素獲得のためのダウンサンプリング過程であることができ、各過程でのフィルターも異なるように構成することができる。もちろん、各過程によって符号化性能が向上することができるが、重複したフィルタリング効果が現れることができる。また、フィルタリング回数の増加によって複雑度が高くなることが一部のプロファイルなどには適しない構成であることができる。このために、一部のカラーフォーマットの場合、これを統合するフィルタリングを支援することが必要であり得る。
<3>4:2:0フォーマットでの画面内予測(2)
<3−1>Aブロックの隣接した領域から画素値獲得
<3−2>Bブロックの隣接した領域から<3−1>の画素と対応する画素とそれに隣接した画素抽出
<3−3><3−2>の画素にダウンサンプリングを適用してBブロックの隣接した領域で<3−1>の画素と対応する画素値獲得
<3−4>各カラー空間で隣接した領域の画素値に基づいて相関性情報獲得
<3−5>Bブロックの画素とそれに隣接した画素抽出
<3−6><3−5>の画素にフィルタリングを適用してBブロック補正
<3−7>Aブロック(M×N)の画素に対応するBブロック(2M×2N)の画素値獲得
<3−8><3−7>の画素値に相関性情報を適用して予測画素生成
<4>4:2:0フォーマットでの画面内予測(3)
<4−1>Aブロックの隣接した領域から画素値獲得
<4−2>Bブロックの隣接した領域から<4−1>の画素と対応する画素とそれに隣接した画素抽出
<4−3><4−2>の画素にダウンサンプリングを適用してBブロックの隣接した領域から<4−1>の画素と対応する画素値獲得
<4−4>各カラー空間で隣接した領域の画素値に基づいて相関性情報獲得
<4−5>Aブロック(M×N)の画素に対応するBブロック(2M×2N)の画素とそれに隣接した画素抽出
<4−6><4−5>の画素にダウンサンプリングを適用してBブロックの画素値獲得
<4−7><4−6>の画素値に相関性情報を適用して予測画素生成
<3>の過程を説明すると、Bブロックのダウンサンプリング過程を省略して既設定の位置の1個の画素に相関性情報を適用する場合である。その代わりに補正過程を遂行するからダウンサンプリング過程での欠点を除去する効果が発生することができる。
一方、<4>の過程を説明すると、補正過程を省略し、Bブロックのダウンサンプリング過程を行う場合である。その代わりに、ダウンサンプリング過程で補正の効果まで出すことができるフィルターを使うことができる。補正過程がダウンサンプリングに含まれる構成で変形が発生し得るが、前述した補正過程での設定などはそのまま適用することができる。すなわち、ダウンサンプリングに対するフィルター選択情報などを上位単位で明示的に決定するか符号化/復号化設定などによって黙示的に決定することができる。また、Bブロックの内部データのみ使用してダウンサンプリングを遂行するか又はBブロックと左側、右側、上側、下側、左上側、右上側、左下側、右下側方向に1以上の方向の外部データも一緒に使用してダウンサンプリングを遂行するかなどを黙示的又は明示的に決定することができる。
予測モード決定部では複数の予測モード候補群の中で最適のモードを選定するための過程を遂行する。一般的に、ブロックの歪み{例えば、現在ブロックと復元ブロックのDistortion。SAD(Sum of Absolute Difference)、SSD(Sum of Square Differenceなど}と該当モードによる発生ビット量を考慮する速度歪み(Rate−Distortion)技法を用いて符号化費用の側面で最適のモードを決定することができる。前記過程によって決定される予測モードに基づいて生成される予測ブロックを減算部と加算部に送信することができる。
最適の予測モードを決定するために予測モード候補群に存在する全ての予測モードを探索することができるか又は演算量/複雑度減少のための目的で他の決定過程を経て最適の予測モードを選定することができる。例えば、第1段階では画面内予測モード候補の全体に対して画質劣化の観点で良い性能を現す一部のモードを選定し、第2段階では第1段階で選定されたモードに対して画質劣化だけでなく発生ビット量まで考慮して最適の予測モードを選定することができる。前記方法の他に、演算量/複雑度減少の側面の多様な方法を適用することができる。
また、予測モード決定部は一般的に符号化器にのみ含まれる構成であることができるが、符号化/復号化設定によって復号化器にも含まれる構成であることができる。例えば、テンプレートマッチングを予測方法として含むか又は画面内予測モードを現在ブロックの隣接した領域で誘導する方法を含む場合、後者の場合、予測モードを復号化器で黙示的に獲得する方法を使ったと理解することができる。
予測モード符号化部では、予測モード決定部で選定された予測モードを符号化することができる。予測モード候補群で前記予測モードに対応するインデックス情報を符号化することができるか又は前記予測モードを予測してそれについての情報を符号化することができる。前者の場合は輝度成分に適用される方法であることができ、後者の場合は色差成分に適用される方法であることができるが、これに限定されない。
予測モードを予測して符号化する場合、予測モードの予測値(又は予測情報)をMPM(Most Probable Mode)ということができる。MPMは1個の予測モードで構成することができるか又は複数の予測モードで構成することができ、予測モード候補群個数などによってMPMの個数(k個。kは1、2、3、6などの1以上の整数)を決定することができる。MPMが複数の予測モードで構成される場合、MPM候補群ということができる。
MPMは予測モードを効率的に符号化するために支援する概念であり、実際に現在ブロックの予測モードで、発生可能性の高い予測モードで候補群を構成することができる。
例えば、MPM候補群は、既設定の予測モード(又は統計的によく発生する予測モード。DC、Plaanr、垂直、水平、一部の対角線モードなど)、隣接したブロック(左側、上側、左上側、右上側、左下側ブロックなど)の予測モードなどで構成することができる。ここで、隣接したブロックの予測モードは、図10でL0〜L3(左側ブロック)、T0〜T3(上側ブロック)、TL(左上側ブロック)、R0〜R3(右上側ブロック)、B0〜B3(左下側ブロック)から獲得することができる。
隣接したブロック(例えば、左側ブロック)で2個以上のサブブロック位置(例えば、L0、L2など)からMPM候補群を構成することができる場合、予め定義された優先順位(例えば、L0−L1−L2など)によって該当ブロックの予測モードを候補群に構成することができる。もしくは、2個以上サブブロック位置からMPM候補群を構成することができない場合、予め定義された位置(例えば、L0など)に相当するサブブロックの予測モードを候補群に構成することができる。詳細には、隣接したブロックの中でL3、T3、TL、R0、B0位置の予測モードを該当の隣接したブロックの予測モードとして選定してMPM候補群に含むことができる。前記説明は隣接したブロックの予測モードを候補群に構成する一部の場合であり、これに限定されない。後述する例で予め定義された位置の予測モードを候補群に構成する場合を仮定する。
また、1個以上の予測モードがMPM候補群に構成されている場合、既に含まれた1個以上の予測モードから誘導されるモードもMPM候補群に追加的に構成されることができる。詳細には、k番モード(方向性モード)がMPM候補群に含まれた場合、該当モードから誘導可能なモード(kを基準に+a、−bの間隔を有するモード。aとbは1、2、3などの1以上の整数)をMPM候補群に追加的に含むことができる。
MPM候補群構成のための優先順位が存在することができ、隣接したブロックの予測モード−既設定の予測モード−誘導される予測モードなどの順にMPM候補群を構成することができる。MPM候補群を構成する過程は、優先順位によって最大MPM候補の個数だけ満たせば完了することができる。前記過程で既に含まれた予測モードと一致する場合、該当予測モードは候補群に構成せず、次の優先順位の候補に手順が移る重複性確認過程を含むことができる。
次はMPM候補群が6個の予測モードで構成される場合を前提とする。
例えば、L−T−TL−TR−BL−Planar−DC−垂直−水平−対角線モードなどの順に候補群を構成することができる。隣接したブロックの予測モードを候補群に優先的に構成し、既設定の予測モードを追加的に構成しようとする場合であることができる。
もしくは、L−T−Planar−DC−<L+1>−<L−1>−<T+1>−<T−1>−垂直−水平−対角線モードなどの順に候補群を構成することができる。一部の隣接したブロックの予測モードと既設定の予測モードの一部を優先的に構成し、隣接したブロックの予測モードと類似した方向の予測モードが発生するという仮定の下で誘導されるモードと既設定の予測モードの一部を追加的に構成しようとする場合であることができる。
前記例はMPM候補群構成に関する一部の場合であり、これに限定されず、多様な変形例が可能である。
MPM候補群は、候補群内のインデックスに基づいて単項二進化(Unary Binarization)、トランケーティドライス二進化(Truncated Rice Binarization)などの二進化を使うことができる。すなわち、小さいインデックスを有する候補には短いビットを割り当て、大きいインデックスを有する候補には長いビットを割り当ててモードビットを表現することができる。
MPM候補群に含まれることができなかったモードはnon−MPM候補群に分類することができる。また、符号化/復号化設定によってnon−MPM候補群は2個以上の候補群に分類することができる。
次は予測モード候補群に方向性モードと非方向性モードを含む67個のモードが存在し、MPM候補は6個を支援してnon−MPM候補群に61個の予測モードで構成される場合を前提とする。
non−MPM候補群が1個で構成される場合はMPM候補群の構成過程に含まれることができなかった予測モードが残ったものであるから、追加的な候補群構成過程は要求されない。それで、non−MPM候補群内のインデックスに基づいて固定長二進化(Fixed Length Binarization)、トランケーティド単項二進化(Truncated Unary Binarization)などの二進化を使うことができる。
non−MPM候補群が2個以上の候補群で構成される場合を仮定して、本例でnon−MPM候補群はnon−MPM_A(以下、A候補群)とnon−MPM_B(以下、B候補群)に分類する。A候補群(p個。MPM候補群個数以上)がB候補群(q個。A候補群個数以上)より現在ブロックの予測モードで発生可能性の高い予測モードで候補群を構成すると仮定する。ここで、A候補群構成過程を追加することができる。
例えば、方向性モードの中で均等な間隔(例えば、2番、4番、6番モードなど)を有する一部の予測モードをA候補群に構成するか既設定の予測モード(例えば、MPM候補群に含まれた予測モードから誘導されるモードなど)を構成することができる。前記MPM候補群構成とA候補群構成から残った予測モードはB候補群に構成することができ、追加的な候補群構成過程は要求されない。A候補群とB候補群内のインデックスに基づいて固定長二進化、トランケーティド単項二進化などの二進化を使うことができる。
前記例はnon−MPM候補群が2個以上で構成されている一部の場合であり、これに限定されず、多様な変形例が可能である。
次に予測モードを予測して符号化する場合に対する過程を示す。
現在ブロックの予測モードがMPM(又はMPM候補群内の一部のモード)と一致するかについての情報(mpm_flag)を確認することができる。
MPMと一致する場合、MPMの構成(1個又は2個以上)によってMPMインデックス情報(mpm_idx)を追加的に確認することができる。その後、現在ブロックの符号化過程を完了する。
MPMと一致しない場合、non−MPM候補群が1個で構成されていれば、non−MPMインデックス情報(remaining_idx)を確認することができる。その後、現在ブロックの符号化過程を完了する。
仮に、non−MPM候補群が複数(本例で2個)で構成されていれば、現在ブロックの予測モードがA候補群内の一部の予測モードと一致するかについての情報(non_mpm_flag)を確認することができる。
A候補群と一致する場合、A候補群インデックス情報(non_mpm_A_idx)を確認することができ、A候補群と一致しない場合、B候補群インデックス情報(remaining_idx)を確認することができる。その後、現在ブロックの符号化過程を完了する。
予測モード候補群構成が固定的な場合、現在ブロックで支援される予測モード、隣接したブロックで支援される予測モード、及び既設定の予測モードは同じ予測番号インデックスを使うことができる。
一方、予測モード候補群構成が適応的な場合には、現在ブロックで支援される予測モード、隣接したブロックで支援される予測モード、及び既設定の予測モードは同じ予測番号インデックスを使うか異なる予測番号インデックスを使うことができる。次の説明のために図4を参照する。
前記予測モード符号化過程でMPM候補群などの構成のための予測モード候補群統一(又は調整)過程を遂行することができる。例えば、現在ブロックの予測モードは−5番〜61番モードの予測モード候補群の1個であり、隣接したブロックの予測モードは2番〜66番モードの予測モード候補群の1個であることができる。この場合、隣接したブロックの予測モードの一部(66番モード)は現在ブロックの予測モードに支援されないモードであることができるから、予測モード符号化過程でこれを統一させる過程を遂行することができる。すなわち、固定的な画面内予測モード候補群構成を支援する場合に要求されない過程であることができ、適応的な画面内予測モード候補群構成を支援する場合には要求される過程であることができ、これについての詳細な説明は省略する。
前記MPMを用いる方式とは違い、予測モード候補群に属する予測モードにインデックスを割り当てて符号化を遂行することができる。
例えば、予め定義された優先順位によって予測モードにインデックスを割り当て、現在ブロックの予測モードが選定されれば、該当インデックスを符号化する方法がそれに相当する。これは、固定的に予測モード候補群が構成され、予測モードに固定的なインデックスを割り当てる場合を意味する。
もしくは、予測モード候補群が適応的に構成される場合には前記固定的なインデックス割当方法が相応しくないことができる。このために、適応的な優先順位によって予測モードにインデックスを割り当て、現在ブロックの予測モードが選定されれば、該当インデックスを符号化する方法を適用することができる。これは、予測モード候補群の適応的な構成によって予測モードに割り当てられるインデックスを異にして予測モードを効率的に符号化することができる。すなわち、適応的な優先順位は、現在ブロックの予測モードとして選定される可能性が高い候補を短いモードビットが発生するインデックスに割り当てるためである。
次は予測モード候補群に既設定の予測モード(方向性モード及び非方向性モード)、カラーコピーモード、及びカラーモードを含む8個の予測モードを支援する場合(色差成分)を前提とする。
例えば、既設定の予測モードは、Planar、DC、水平、垂直、対角線モード(本例でDiagonal down left)の中で4個を支援し、カラーモード1個(C)とカラーコピーモード3個(CP1、CP2、CP3)を支援する場合を仮定する。予測モードに割り当てられるインデックスの基本順は既設定の予測モード−カラーコピーモード−カラーモードなどとして与えられることができる。
ここで、既設定の予測モードである方向性モード、非方向性モード、及びカラーコピーモードは予測方法が区分される予測モードに容易に区分することができる。ただ、カラーモードの場合、方向性モード又は非方向性モードであることができ、これは既設定の予測モードと重複する可能性が存在することができる。一例として、カラーモードが垂直モードの場合、既設定の予測モードの1個である垂直モードと重複する場合が発生し得る。
符号化/復号化設定によって予測モード候補群の数を適応的に調整する場合、前記重複する場合が発生すれば、候補群の数を調整(8個→7個)することができる。もしくは、予測モード候補群の数を固定的に維持する場合、前記重複する場合が発生すれば、他の候補を追加及び考慮してインデックスを割り当てることができ、この設定を仮定して後述する。また、適応的な予測モード候補群はカラーモードのように可変的なモードを含む場合にも支援される構成であることができる。したがって、適応的なインデックス割当を行う場合は適応的な予測モード候補群構成の一例と見なすことができる。
次にカラーモードによって適応的なインデックス割当を行う場合を説明する。基本インデックスは、Planar(0)−垂直(1)−水平(2)−DC(3)−CP1(4)−CP2(5)−CP3(6)−C(7)の順に割り当てると前提する。また、カラーモードが既設定の予測モードと一致しない場合には、前記順にインデックス割当を遂行することを前提とする。
例えば、カラーモードが既設定の予測モード(Planar、垂直、水平、DCモード)の1個と一致する場合には、カラーモードのインデックス(7)に一致する予測モードが満たされる。一致する予測モードのインデックス(0〜3の1個)には既設定の予測モード(Diagoanal down left)が満たされる。詳細には、カラーモードが水平モードの場合、Planar(0)−垂直(1)−Diagoanal down left(2)−DC(3)−CP1(4)−CP2(5)−CP3(6)−水平(7)のようなインデックス割当を遂行することができる。
もしくは、カラーモードが既設定の予測モードの1個と一致する場合には、0番インデックスに一致する予測モードが満たされる。そして、カラーモードのインデックス(7)に既設定の予測モード(Diagoanal down left)が満たされる。ここで、満たされた予測モードが既存の0番インデックスではない場合(すなわち、Planarモードではない場合)であれば、既存インデックス構成を調整することができる。詳細には、カラーモードがDCモードの場合、DC(0)−Planar(1)−垂直(2)−水平(3)−CP1(4)−CP2(5)−CP3(6)−Diagonal down left(7)のようなインデックス割当を遂行することができる。
前記例は適応的なインデックス割当に関する一部の場合であり、これに限定されず、多様な変形例が可能である。また、前記候補群内のインデックスに基づいて固定長二進化、単項二進化、トランケーティド単項二進化、トランケーティドライス二進化などの二進化を使うことができる。
次に予測モード候補群に属する予測モードにインデックスを割り当てて符号化を遂行する他の例を説明する。
例えば、予測モード、予測方法などに区分して複数の予測モード候補群に分類し、該当候補群に属する予測モードにインデックスを割り当てて符号化する方法がそれに相当する。この場合、候補群選択情報符号化を前記インデックス符号化に先立って行うことができる。一例として、同じカラー空間で予測を行う予測モードである方向性モード、非方向性モード、カラーモードが1個の候補群(以下、S候補群)に属することができ、他のカラー空間で予測を行う予測モードであるカラーコピーモードが1個の候補群(以下、D候補群)に属することができる。
次は予測モード候補群に既設定の予測モード、カラーコピーモード、及びカラーモードを含む9個の予測モードを支援する場合(色差成分)を前提とする。
例えば、既設定の予測モードは、Planar、DC、水平、垂直、対角線モードの中で4個を支援し、カラーモード1個(C)とカラーコピーモード4個(CP1、CP2、CP3、CP4)を支援する場合を仮定する。S候補群は既設定の予測モードとカラーモードで構成される5個の候補を有することができ、D候補群はカラーコピーモードで構成される4個の候補を有することができる。
S候補群は適応的に構成される予測モード候補群の一例であり、適応的なインデックス割当に関する例は前述したので、詳細な説明は省略する。D候補群は固定的に構成される予測モード候補群の一例であるので、固定的なインデックス割当方法を使うことができる。例えば、CP1(0)−CP2(1)−CP3(2)−CP4(3)のようなインデックス割当を遂行することができる。
前記候補群内のインデックスに基づいて固定長二進化、単項二進化、トランケーティド単項二進化、トランケーティドライス二進化などの二進化を使うことができる。また、前記例に限定されず、多様な変形例が可能である。
予測モード符号化部によって生成される予測関連情報は符号化部に伝送されてビットストリームに収録されることができる。
本発明の一実施例による映像復号化方法で画面内予測は次のように構成されることができる。予測部の画面内予測は、予測モード復号化段階、参照画素の構成段階、及び予測ブロック生成段階を含むことができる。また、映像復号化装置は、予測モード復号化段階、参照画素の構成段階、及び予測ブロック生成段階を具現する予測モード復号化部、参照画素構成部、及び予測ブロック生成部を含むように構成することができる。前述した過程の一部は省略することができるか他の過程を追加することができ、前記記載した順ではない他の順に変更することができる。
映像復号化装置の参照画素構成部、及び予測ブロック生成部は映像符号化装置の対応する構成と同じ役割を果たすので、詳細な説明は省略し、予測モード復号化部は予測モード符号化部で使用した方式を逆に使用して遂行することができる。
図21は本発明が適用される一実施例による画面間予測方法を示す図である。
図21を参照すると、現在ブロックのモーション情報予測のための候補リストを生成することができる(S2100)。
前記候補リストは、1個又はそれ以上のアフィンモデルに基づく候補(以下、アフィン候補という)を含むことができる。アフィン候補(Affine Candidate)は、制御点ベクター(control point vector)を有する候補を意味することができる。制御点ベクターは、アフィンモデルのための制御点のモーションベクターを意味し、ブロックのコーナー位置(例えば、左上端、右上端、左下端、又は右下端コーナーの少なくとも1個の位置)に対して定義することができる。
アフィン候補は、空間的候補、時間的候補、又は構成候補の少なくとも1個を含むことができる。ここで、空間的候補は、現在ブロックに空間的に隣接した周辺ブロックのベクターから誘導することができ、時間的候補は、現在ブロックに時間的に隣接した周辺ブロックのベクターから誘導することができる。ここで、前記周辺ブロックはアフィンモデルで符号化したブロックを意味することができる。前記ベクターはモーションベクターを意味することもでき、制御点ベクターを意味することもできる。
空間的/時間的周辺ブロックのベクターに基づいて空間的/時間的候補を誘導する方法については図22を参照して詳細に説明する。
一方、前記構成候補は、現在ブロックに空間的/時間的周辺ブロックのモーションベクター間の組合せに基づいて誘導することができ、これは図23を参照して詳細に説明する。
前述した複数のアフィン候補は、所定の優先順位に基づいて前記候補リストに配列することができる。例えば、複数のアフィン候補は、空間的候補、時間的候補、構成候補の順に候補リストに配列することができる。もしくは、複数のアフィン候補は、時間的候補、空間的候補、構成候補の順に候補リストに配列することもできる。ただ、これに限定されず、時間的候補は、構成候補の次に配列することもできる。もしくは、構成候補の一部は、空間的候補の前に配列し、残りは空間的候補の後に配列することもできる。
前記候補リストと候補インデックスに基づいて現在ブロックの制御点ベクターを誘導することができる(S2110)。
候補インデックスは、現在ブロックの制御点ベクターを誘導するために符号化したインデックスを意味することができる。前記候補インデックスは、候補リストに属する複数のアフィン候補のいずれか1個を特定することができる。前記候補インデックスによって特定されたアフィン候補の制御点ベクターを用いて現在ブロックの制御点ベクターを誘導することができる。
例えば、現在ブロックのアフィンモデルのタイプが4−parameterの場合(すなわち、現在ブロックが2個の制御点ベクターを使うものに決定された場合)を仮定する。ここで、前記候補インデックスによって特定されたアフィン候補が3個の制御点ベクターを有する場合、前記3個の制御点ベクターの中で2個の制御点ベクター(例えば、Idx=0、1の制御点ベクター)のみ選択し、これを現在ブロックの制御点ベクターに設定することができる。もしくは、前記特定されたアフィン候補の3個の制御点ベクターを現在ブロックの制御点ベクターに設定することができる。この場合、現在ブロックのアフィンモデルのタイプは6−parameterに更新されることができる。
反対に、現在ブロックのアフィンモデルのタイプが6−parameterの場合(すなわち、現在ブロックが3個の制御点ベクターを使うものに決定された場合)を仮定する。ここで、前記候補インデックスによって特定されたアフィン候補が2個の制御点ベクターを有する場合、1個の追加的な制御点ベクターを生成し、前記アフィン候補の2個の制御点ベクター及び追加的な制御点ベクターを現在ブロックの制御点ベクターに設定することができる。前記追加的な制御点ベクターは、アフィン候補の2個の制御点ベクター、現在/周辺ブロックのサイズ又は位置情報の少なくとも1個に基づいて誘導することができる。もしくは、前記特定されたアフィン候補の2個の制御点ベクターを現在ブロックの制御点ベクターに設定することができる。この場合、現在ブロックのアフィンモデルのタイプは4−parameterに更新されることができる。
現在ブロックの制御点ベクターに基づいて現在ブロックのモーションベクターを誘導することができる(S2120)。
前記モーションベクターは、現在ブロックのサブブロックの単位で誘導することができる。ここで、N×Mサブブロックは、長方形(N>M又はN<M)又は正方形(N=M)の形態であることができる。前記NとMの値は、4、8、16、32又はそれ以上であることができる。サブブロックのサイズ/形態は、復号化装置に予め定義された固定サイズ/形態であることができる。
もしくは、サブブロックのサイズ/形態は、前述したブロックの属性に基づいて可変的に誘導することもできる。例えば、現在ブロックのサイズが所定の閾値より大きいか同一である場合、現在ブロックは第1サブブロックの単位(例えば、8×8、16×16)に分割され、そうではない場合、現在ブロックは第2サブブロックの単位(例えば、4×4)に分割されることができる。もしくは、サブブロックのサイズ/形態についての情報が符号化装置で符号化してシグナリングされることもできる。
前記誘導されたモーションベクターを用いて現在ブロックに対してインター予測を遂行することができる(S2130)。
具体的に、現在ブロックのモーションベクターを用いて参照ブロックを特定することができる。前記参照ブロックは、現在ブロックのサブブロック別にそれぞれ特定することができる。各サブブロックの参照ブロックは、1個の参照ピクチャーに属することができる。すなわち、現在ブロックに属するサブブロックは1個の参照ピクチャーを共有することができる。もしくは、現在ブロックのサブブロック別に参照ピクチャーインデックスを独立的に設定することもできる。
前記特定された参照ブロックは現在ブロックの予測ブロックに設定することができる。前述した実施例は、マージモードだけでなく一般的なインターモード(例えば、AMVPモード)でも同一に/同様に適用することができる。前述した実施例は、現在ブロックのサイズが所定の閾値より大きいか同一である場合に限って遂行することができる。ここで、閾値は、8×8、8×16、16×8、16×16又はそれ以上であることができる。
図22は本発明が適用される一実施例による、空間的/時間的周辺ブロックからアフィン候補を誘導する方法に関する図である。
説明の便宜のために、本実施例では空間的周辺ブロックからアフィン候補を誘導する方法について説明する。
図5を参照すると、現在ブロック2200の幅及び高さはそれぞれcbW及びcbHであり、現在ブロックの位置は(xCb、yCb)である。空間的周辺ブロック2210の幅及び高さはそれぞれnbW及びnbHであり、空間的周辺ブロックの位置は(xNb、yNb)である。図22は空間的周辺ブロックであり、現在ブロックの左上端ブロックを示すが、これに限定されない。すなわち、空間的周辺ブロックは、現在ブロックの左側ブロック、左下端ブロック、右上端ブロック、上端ブロック又は左上端ブロックの少なくとも1個を含むことができる。
空間的候補は、n個の制御点ベクター(cpMV)を有することができる。ここで、n値は、1、2、3、又はそれ以上の整数であることができる。n値は、サブブロック単位で復号化するかについての情報、アフィンモデルに符号化したブロックであるかについての情報又はアフィンモデルのタイプ(4−parameter又は6−parameter)についての情報の少なくとも1個に基づいて決定することができる。
前記情報は、符号化装置で符号化してシグナリングされることもできる。もしくは、前記情報の全部又は一部は、ブロックの属性に基づいて復号化装置で誘導することもできる。ここで、ブロックは現在ブロックを意味することもでき、現在ブロックの空間的/時間的周辺ブロックを意味することもできる。前記属性は、サイズ、形態、位置、分割タイプ、インターモード、残留係数に関するパラメーターなどを意味することができる。前記インターモードは、復号化装置に予め定義されたモードであり、マージモード、スキップモード、AMVPモード、アフィンモデル、イントラ/インター組合せモード、現在ピクチャー参照モードなどを意味することができる。もしくは、n値は前述したブロックの属性に基づいて復号化装置で誘導することもできる。
本実施例で、n個の制御点ベクターは、第1制御点ベクター(cpMV[0])、第2制御点ベクター(cpMV[1])、第3制御点ベクター(cpMV[2])、・・・、第n制御点ベクター(cpMV[n−1])と表現することができる。一例として、第1制御点ベクター(cpMV[0])、第2制御点ベクター(cpMV[1])、第3制御点ベクター(cpMV[2])及び第4制御点ベクター(cpMV[3])は、ブロックの左上端サンプル、右上端サンプル、左下端サンプル及び右下端サンプルの位置にそれぞれ対応するベクターであることができる。ここで、空間的候補は3個の制御点ベクターを有することを仮定し、3個の制御点ベクターは第1〜第n制御点ベクターの中で選択された任意の制御点ベクターであることができる。ただ、これに限定されなく、空間的候補は2個の制御点ベクターを有することができ、2個の制御点ベクターは第1〜第n制御点ベクターの中で選択された任意の制御点ベクターであることができる。
一方、図22に示した境界2220がコーディングツリーブロックの境界(CTU boundary)であるかによって空間的候補の制御点ベクターを異なるように誘導することができる。
1.現在ブロックの境界2220がコーディングツリーブロックの境界(CTU boundary)に接しない場合
前記第1制御点ベクターは、空間的周辺ブロックの第1制御点ベクター、所定の差分値、現在ブロックの位置情報(xCb、yCb)又は空間的周辺ブロックの位置情報(xNb、yNb)の少なくとも1個に基づいて誘導することができる。
前記差分値の個数は、1個、2個、3個又はそれ以上であることができる。前記差分値の個数は、前述したブロックの属性を考慮して可変的に決定することもでき、復号化装置に既に約束された固定値であることができる。前記差分値は、複数の制御点ベクターのいずれか1個と他の1個との間の差分値と定義することができる。例えば、前記差分値は、第2制御点ベクターと第1制御点ベクターとの間の第1差分値、第3制御点ベクターと第1制御点ベクターとの間の第2差分値、第4制御点ベクターと第3制御点ベクターとの間の第3差分値、又は第4制御点ベクターと第2制御点ベクターとの間の第4差分値の少なくとも1個を含むことができる。
例えば、第1制御点ベクターは次の数学式1によって誘導することができる。
数学式1で、変数mvScaleHorとmvScaleVerは空間的周辺ブロックの第1制御点ベクターを意味することもでき、第1制御点ベクターにkだけのシフト演算を適用して誘導した値を意味することもできる。ここで、kは1、2、3、4、5、6、7、8、9又はそれ以上の整数であることができる。変数dHorXとdVerXは、第2制御点ベクターと第1制御点ベクターとの間の第1差分値のx成分とy成分にそれぞれ対応する。変数dHorYとdVerYは、第3制御点ベクターと第1制御点ベクターとの間の第2差分値のx成分とy成分にそれぞれ対応する。前述した変数は次の数学式2によって誘導することができる。
第2制御点ベクターは、空間的周辺ブロックの第1制御点ベクター、所定の差分値、現在ブロックの位置情報(xCb、yCb)、ブロックサイズ(幅又は高さ)又は空間的周辺ブロックの位置情報(xNb、yNb)の少なくとも1個に基づいて誘導することができる。ここで、ブロックサイズは、現在ブロック及び/又は空間的周辺ブロックのサイズを意味することができる。前記差分値は、第1制御点ベクターで説明したものと同一であるので、ここで詳細な説明は省略する。ただ、第2制御点ベクターの誘導過程で用いられる差分値の範囲及び/又は個数は第1制御点ベクターと異なることができる。
例えば、第2制御点ベクターは次の数学式3によって誘導することができる。
数学式3で、変数mvScaleHor、mvScaleVer、dHorX、dVerX、dHorY、dVerYは、数学式1で説明したものと同一であるので、ここで詳細な説明は省略する。
第3制御点ベクターは、空間的周辺ブロックの第1制御点ベクター、所定の差分値、現在ブロックの位置情報(xCb、yCb)、ブロックサイズ(幅又は高さ)又は空間的周辺ブロックの位置情報(xNb、yNb)の少なくとも1個に基づいて誘導することができる。ここで、ブロックサイズは、現在ブロック及び/又は空間的周辺ブロックのサイズを意味することができる。前記差分値は、第1制御点ベクターで説明したものと同一であるので、ここで詳細な説明は省略する。ただ、第3制御点ベクターの誘導過程で用いられる差分値の範囲及び/又は個数は第1制御点ベクター又は第2制御点ベクターと異なることができる。
例えば、第3制御点ベクターは次の数学式4によって誘導することができる。
数学式4で、変数mvScaleHor、mvScaleVer、dHorX、dVerX、dHorY、dVerYは、数学式1で説明したものと同一であるので、ここで詳細な説明は省略する。一方、前述した過程によって空間的候補の第n制御点ベクターを誘導することができる。
2.現在ブロックの境界2220がコーディングツリーブロックの境界(CTU boundary)に接する場合
前記第1制御点ベクターは、空間的周辺ブロックのモーションベクター(MV)、所定の差分値、現在ブロックの位置情報(xCb、yCb)又は空間的周辺ブロックの位置情報(xNb、yNb)の少なくとも1個に基づいて誘導することができる。
前記モーションベクターは、空間的周辺ブロックの最下端に位置するサブブロックのモーションベクターであることができる。前記サブブロックは、空間的周辺ブロックの最下端に位置する複数のサブブロックの中で最左側、中央側又は最右側に位置するものであることができる。もしくは、前記モーションベクターは、サブブロックのモーションベクターの平均値、最大値又は最小値を意味することもできる。
前記差分値の個数は、1個、2個、3個又はそれ以上であることができる。前記差分値の個数は、前述したブロックの属性を考慮して可変的に決定することもでき、復号化装置に既に約束された固定値であることもできる。前記差分値は、空間的周辺ブロックでサブブロックの単位で保存された複数のモーションベクターのいずれか1個と他の1個との間の差分値と定義することができる。例えば、前記差分値は、空間的周辺ブロックの右下端サブブロックのモーションベクターと左下端サブブロックのモーションベクターとの間の差分値を意味することができる。
例えば、第1制御点ベクターは次の数学式5によって誘導することができる。
数学式5で、変数mvScaleHorとmvScaleVerは前述した空間的周辺ブロックのモーションベクター(MV)又は前記モーションベクターにkだけシフト演算を適用して誘導した値を意味することもできる。ここで、kは1、2、3、4、5、6、7、8、9又はそれ以上の整数であることができる。
前記変数dHorXとdVerXは、所定の差分値のx成分とy成分にそれぞれ対応する。ここで、差分値は、空間的周辺ブロック内の右下端サブブロックのモーションベクターと左下端サブブロックのモーションベクターとの間の差分値を意味する。変数dHorYとdVerYは、前記変数dHorXとdVerXに基づいて誘導することができる。前述した変数は、次の数学式6によって誘導することができる。
第2制御点ベクターは、空間的周辺ブロックのモーションベクター(MV)、所定の差分値、現在ブロックの位置情報(xCb、yCb)、ブロックサイズ(幅又は高さ)又は空間的周辺ブロックの位置情報(xNb、yNb)の少なくとも1個に基づいて誘導することができる。ここで、ブロックサイズは、現在ブロック及び/又は空間的周辺ブロックのサイズを意味することができる。前記モーションベクターと差分値については第1制御点ベクターで説明したものと同一であるので、ここで詳細な説明は省略する。ただ、第2制御点ベクターの誘導過程で用いられるモーションベクターの位置、差分値の範囲及び/又は個数は第1制御点ベクターと異なることができる。
例えば、第2制御点ベクターは次の数学式7によって誘導することができる。
数学式7で、変数mvScaleHor、mvScaleVer、dHorX、dVerX、dHorY、dVerYは数学式5で説明したものと同一であるので、ここで詳細な説明は省略する。
第3制御点ベクターは、空間的周辺ブロックのモーションベクター(MV)、所定の差分値、現在ブロックの位置情報(xCb、yCb)、ブロックサイズ(幅又は高さ)又は空間的周辺ブロックの位置情報(xNb、yNb)の少なくとも1個に基づいて誘導することができる。ここで、ブロックサイズは、現在ブロック及び/又は空間的周辺ブロックのサイズを意味することができる。前記モーションベクターと差分値は、第1制御点ベクターで説明したものと同一であるので、ここで詳細な説明は省略する。ただ、第3制御点ベクターの誘導過程で用いられるモーションベクターの位置、差分値の範囲及び/又は個数は第1制御点ベクター又は第2制御点ベクターと異なることができる。
例えば、第3制御点ベクターは次の数学式8によって誘導することができる。
数学式8で、変数mvScaleHor、mvScaleVer、dHorX、dVerX、dHorY、dVerYは数学式5で説明したものと同一であるので、ここで詳細な説明は省略する。一方、前述した過程によって空間的候補の第n制御点ベクターを誘導することができる。
前述したアフィン候補の誘導過程は、予め定義された空間的周辺ブロックのそれぞれに対して遂行することができる。予め定義された空間的周辺ブロックは、現在ブロックの左側ブロック、左下端ブロック、右上端ブロック、上端ブロック又は左上端ブロックの少なくとも1個を含むことができる。
もしくは、前記アフィン候補の誘導過程は、前記空間的周辺ブロックのグループ別にそれぞれ遂行することもできる。ここで、空間的周辺ブロックは、左側ブロック及び左下端ブロックを含む第1グループと、右上端ブロック、上端ブロック及び左上端ブロックを含む第2グループとに分類することができる。
例えば、第1グループに属する空間的周辺ブロックから1個のアフィン候補を誘導することができる。前記誘導は、所定の優先順位によって可用アフィン候補が発見されるまで遂行することができる。前記優先順位は、左側ブロック→左下端ブロックの順であることもでき、その逆順であることもできる。
同様に、第2グループに属する空間的周辺ブロックから1個のアフィン候補を誘導することができる。前記誘導は、所定の優先順位によって可用アフィン候補が発見されるまで遂行することができる。前記優先順位は、右上端ブロック→上端ブロック→左上端ブロックの順であることもでき、その逆順であることもできる。
前述した実施例は、時間的周辺ブロックに対しても同一に/同様に適用することができる。ここで、時間的周辺ブロックは、現在ブロックと異なるピクチャーに属するが、現在ブロックと同一位置のブロックであることができる。同一位置のブロックとは、現在ブロックの左上端サンプルの位置、中央位置又は現在ブロックの右下端サンプルに隣接したサンプルの位置を含むブロックであることができる。
もしくは、時間的周辺ブロックは、前記同一位置のブロックで所定の変異ベクターだけシフトされた位置のブロックを意味することができる。ここで、変異ベクターは、前述した現在ブロックの空間的周辺ブロックのいずれか1個のモーションベクターに基づいて決定することができる。
図23は本発明が適用される一実施例による、空間的/時間的周辺ブロックのモーションベクターの組合せに基づいて構成候補を誘導する方法を示す図である。
本発明の構成候補は、現在ブロックの各コーナーに対応する制御点ベクター(以下、制御点ベクター(cpMVCorner[n])という)の少なくとも2個の組合せに基づいて誘導することができる。ここで、nは0、1、2、3であることができる。
前記制御点ベクターは、空間的周辺ブロック及び/又は時間的周辺ブロックのモーションベクターに基づいて誘導することができる。ここで、空間的周辺ブロックは、現在ブロックの左上端サンプルに隣接した第1周辺ブロック(C、D又はE)、現在ブロックの右上端サンプルに隣接した第2周辺ブロック(F又はG)又は現在ブロックの左下端サンプルに隣接した第3周辺ブロック(A又はB)の少なくとも1個を含むことができる。時間的周辺ブロックは、現在ブロックと異なるピクチャーに属するブロックであり、現在ブロックの右下端サンプルに隣接した第4周辺ブロック(Col)を意味することができる。
第1周辺ブロックは、現在ブロックの左上端(D)、上端(E)又は左側(C)の周辺ブロックを意味することができる。所定の優先順位によって周辺ブロックC、D、Eのモーションベクターが可用であるかを判断し、可用の周辺ブロックのモーションベクターを用いて制御点ベクターを決定することができる。前記可用性の判断は、可用のモーションベクターを有する周辺ブロックが発見されるまで遂行することができる。ここで、優先順位は、D→E→Cの順であることができる。ただ、これに限定されず、D→C→E、C→D→E、E→D→Cの順であることもできる。
第2周辺ブロックは、現在ブロックの上端(F)又は右上端(G)の周辺ブロックを意味することができる。同様に、所定の優先順位によって周辺ブロックF、Gのモーションベクターが可用であるかを判断し、可用の周辺ブロックのモーションベクターを用いて制御点ベクターを決定することができる。前記可用性の判断は、可用のモーションベクターを有する周辺ブロックが発見されるまで遂行することができる。ここで、優先順位は、F→Gの順であることもでき、G→Fの順であることもできる。
第3周辺ブロックは、現在ブロックの左側(B)又は左下端(A)の周辺ブロックを意味することができる。同様に、所定の優先順位によって周辺ブロックのモーションベクターが可用であるかを判断し、可用の周辺ブロックのモーションベクターを用いて制御点ベクターを決定することができる。前記可用性の判断は、可用のモーションベクターを有する周辺ブロックが発見されるまで遂行することができる。ここで、優先順位は、A→Bの順であることもでき、B→Aの順であることもできる。
例えば、第1制御点ベクター(cpMVCorner[0])は第1周辺ブロックのモーションベクターに設定することができ、第2制御点ベクター(cpMVCorner[1])は第2周辺ブロックのモーションベクターに設定することができ、第3制御点ベクター(cpMVCorner[2])は第3周辺ブロックのモーションベクターに設定することができる。第4制御点ベクター(cpMVCorner[3])は第4周辺ブロックのモーションベクターに設定することができる。
もしくは、前記第1〜第4制御点ベクターのいずれか1個は他の1個に基づいて誘導することができる。例えば、第2制御点ベクターは、第1制御点ベクターに所定のオフセットベクターを適用して誘導することができる。オフセットベクターは、第3制御点ベクターと第1制御点ベクターとの間の差分ベクターであるか、前記差分ベクターに所定のスケーリングファクターを適用して誘導することができる。スケーリングファクターは、現在ブロック及び/又は周辺ブロックの幅又は高さの少なくとも1個に基づいて決定することができる。
前述した第1〜第4制御点ベクターの少なくとも2個の組合せによって、本発明によるK個の構成候補(ConstK)を決定することができる。K値は、1、2、3、4、5、6、7又はそれ以上の整数であることができる。K値は、符号化装置でシグナリングされる情報に基づいて誘導することもでき、復号化装置に既に約束された値であることもできる。前記情報は、候補リストに含まれる構成候補の最大個数を指示する情報を含むことができる。
具体的に、第1構成候補(Const1)は、第1〜第3制御点ベクターを組み合わせて誘導することができる。例えば、第1構成候補(Const1)は次の表1のような制御点ベクターを有することができる。一方、第1周辺ブロックの参照ピクチャー情報が第2及び第3周辺ブロックの参照ピクチャー情報と同一である場合に限り、表1のように制御点ベクターが構成されるように制限することもできる。ここで、参照ピクチャー情報は、参照ピクチャーリスト内で該当参照ピクチャーの位置を示す参照ピクチャーインデックスを意味することもでき、出力順を示すPOC(picture order count)値を意味することもできる。
第2構成候補(Const2)は、第1、第2及び第4制御点ベクターを組み合わせて誘導することができる。例えば、第2構成候補(Const2)は次の表2のような制御点ベクターを有することができる。一方、第1周辺ブロックの参照ピクチャー情報が第2及び第4周辺ブロックの参照ピクチャー情報と同一である場合に限り、表2のように制御点ベクターが構成されるように制限することもできる。ここで、参照ピクチャー情報は前述したようである。
第3構成候補(Const3)は、第1、第3及び第4制御点ベクターを組み合わせて誘導することができる。例えば、第3構成候補(Const3)は次の表3のような制御点ベクターを有することができる。一方、第1周辺ブロックの参照ピクチャー情報が第3及び第4周辺ブロックの参照ピクチャー情報と同一である場合に限り、表2のように制御点ベクターが構成されるように制限することもできる。ここで、参照ピクチャー情報は前述したようである。
第4構成候補(Const4)は、第2、第3及び第4制御点ベクターを組み合わせて誘導することができる。例えば、第4構成候補(Const4)は次の表4のような制御点ベクターを有することができる。一方、第2周辺ブロックの参照ピクチャー情報が第3及び第4周辺ブロックの参照ピクチャー情報と同一である場合に限り、表4のように構成されるように制限することもできる。ここで、参照ピクチャー情報は前述したようである。
第5構成候補(Const5)は、第1及び第2制御点ベクターを組み合わせて誘導することができる。例えば、第5構成候補(Const5)は次の表5のような制御点ベクターを有することができる。一方、第1周辺ブロックの参照ピクチャー情報が第2周辺ブロックの参照ピクチャー情報と同一である場合に限り、表5のように制御点ベクターが構成されるように制限することもできる。ここで、参照ピクチャー情報は前述したようである。
第6構成候補(Const6)は、第1及び第3制御点ベクターを組み合わせて誘導することができる。例えば、第6構成候補(Const6)は次の表6のような制御点ベクターを有することができる。一方、第1周辺ブロックの参照ピクチャー情報が第3周辺ブロックの参照ピクチャー情報と同一である場合に限り、表6のように制御点ベクターが構成されるように制限することもできる。ここで、参照ピクチャー情報は前述したようである。
表6で、cpMvCorner[1]は、前記第1及び第3制御点ベクターに基づいて誘導された第2制御点ベクターであることができる。第2制御点ベクターは、第1制御点ベクター、所定の差分値又は現在/周辺ブロックのサイズの少なくとも1個に基づいて誘導することができる。例えば、第2制御点ベクターは、次の数学式9によって誘導することができる。
前述した第1〜第6構成候補は全部が前記候補リストに含まれることもでき、一部のみ候補リストに含まれることもできる。
本発明による方法は多様なコンピュータ手段を介して遂行可能なプログラム命令形態に具現されてコンピュータ可読の媒体に記録されることができる。コンピュータ可読の媒体は、プログラム命令、データファイル、データ構造などを単独で又は組み合わせて含むことができる。コンピュータ可読の媒体に記録されるプログラム命令は本発明のために特別に設計されて構成されたものであるか、コンピュータソフトウェア当業者に公知となって使用可能なものであることもできる。
コンピュータ可読の媒体の例には、ROM(Read Only Memory)、RAM、フラッシュメモリー(flash memory)などのようにプログラム命令を保存して遂行するように特別に構成されたハードウェア装置を含むことができる。プログラム命令の例には、コンパイラー(compiler)によって作られるもののような機械語コードだけでなくインタープリター(interpreter)などを使ってコンピュータによって実行可能な高級言語コードを含むことができる。上述したハードウェア装置は、本発明の動作を遂行するために、少なくとも1個のソフトウェアモジュールとして作動するように構成されることができ、その逆も同様である。
また、上述した方法又は装置は、その構成又は機能の全部又は一部が結合されて具現されるか、分離されて具現されることができる。
以上では本発明の好適な実施例を参照して説明したが、当該技術分野の熟練した当業者は下記の特許請求の範囲に記載された本発明の思想及び領域から逸脱しない範疇内で本発明を多様に修正及び変更することができることを理解することができるであろう。