(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0023】
以下、本発明に従う好ましい実施形態を添付した図面を参照して詳細に説明する。添付した図面と共に以下に開示される詳細な説明は本発明の例示的な実施形態を説明しようとするものであり、本発明が実施できる唯一の実施形態を示そうとするものではない。以下の詳細な説明は、本発明の完全な理解を提供するために具体的な細部事項を含む。しかしながら、当業者は本発明がこのような具体的な細部事項無しでも実施できることが分かる。
【0024】
幾つかの場合、本発明の概念が曖昧になることを避けるために公知の構造及び装置は省略されるか、または各構造及び装置の核心機能を中心とするブロック図形式に図示できる。
【0025】
併せて、本発明で使われる用語はできる限り、現在広く使われる一般的な用語を選択したが、特定の場合は、出願人が任意に選定した用語を使用して説明する。そのような場合には該当部分の詳細説明でその意味を明確に記載するので、本発明の説明で使われた用語の名称のみとして単純解釈されてはならず、その該当用語の意味まで把握して解釈されなければならないことを明らかにする。
【0026】
以下の説明で使われる特定用語は本発明の理解を助けるために提供されたものであり、このような特定用語の使用は本発明の技術的思想から外れない範囲で他の形態に変更できる。例えば、信号、データ、サンプル、ピクチュア、フレーム、ブロックなどの場合、各コーディング過程で適切に代替されて解釈できる。
【0027】
以下、本明細書で、‘ブロック’または‘ユニット’は、予測、変換及び/又は量子化などのエンコーディング/デコーディングの過程が遂行される単位を意味し、サンプル(または、画素、ピクセル)の多次元配列で構成できる。
【0028】
‘ブロック’または‘ユニット’は、輝度(luma)成分に対するサンプルの多次元配列を意味することもでき、色差(chroma)成分に対するサンプルの多次元配列を意味することもできる。また、輝度(luma)成分に対するサンプルの多次元配列と色差(chroma)成分に対するサンプルの多次元配列を全て含んで通称することもできる。
【0029】
例えば、‘ブロック’または‘ユニット’はエンコーディング/デコーディングの遂行対象となるサンプルの配列を意味するコーディングブロック(CB:Conding Block)、複数のコーディングブロックで構成されるコーディングツリーブロック(CTB:Coding Tree Block)、同一の予測が適用されるサンプルの配列を意味する予測ブロック(PB:Prediction Block)(または、予測ユニット(PU:Prediction Unit))、同一の変換が適用されるサンプルの配列を意味する変換ブロック(TB:Transform Block)(または、変換ユニット(TU:Transform Unit))を全て含む意味として解釈できる。
【0030】
また、本明細書の別途の言及がない限り、‘ブロック’または‘ユニット’は輝度(luma)成分及び/又は色差(chroma)成分に対するサンプルの配列をエンコーディング/デコーディングする過程で用いられるシンタックス構造(syntax sturcture)を含む意味として解釈できる。ここで、シンタックス構造は特定の順序でビットストリーム内に存在する0またはその以上のシンタックス要素(syntax element)を意味し、シンタックス要素はビットストリーム内で表現されるデータの要素を意味する。
【0031】
例えば、‘ブロック’または‘ユニット’はコーディングブロック(CB)と該当コーディングブロック(CB)のエンコーディングのために用いられるシンタックス構造を含むコーディングユニット(CU:Coding Unit)、複数のコーディングユニットで構成されるコーディングツリーユニット(CTU:Coding Tree Unit)、予測ブロック(PB)と該当予測ブロック(PB)の予測のために用いられるシンタックス構造を含む予測ユニット(PU:Prediction Unit)、変換ブロック(TB)と該当変換ブロック(TB)の変換のために用いられるシンタックス構造を含む変換ユニット(TU:Transform Unit)を全て含む意味として解釈できる。
【0032】
また、本明細書で、‘ブロック’または‘ユニット’は必ず正方形または矩形のサンプル(または、画素、ピクセル)の配列に限定されるものではなく、3個以上の頂点を有する多角形態のサンプル(または、画素、ピクセル)の配列を意味することもできる。この場合、ポリゴン(Polygon)ブロックまたはポリゴンユニットと称されることもできる。
【0033】
図1は本発明が適用される実施形態であって、停止映像または動映像信号のエンコーディングが遂行されるエンコーダの概略的なブロック図を示す。
【0034】
図1を参照すると、エンコーダ100は、映像分割部110、減算器115、変換部120、量子化部130、逆量子化部140、逆変換部150、フィルタリング部160、復号ピクチュアバッファ(DPB:Decoded Picture Buffer)170、予測部180、及びエントロピーエンコーディング部190を含んで構成できる。そして、予測部180はインター予測部181、イントラ予測部182を含んで構成できる。
【0035】
映像分割部110は、エンコーダ100に入力された入力映像信号(Input video signal)(または、ピクチュア、フレーム)を1つ以上のブロックに分割する。
【0036】
減算器115は、入力映像信号で予測部180(即ち、インター予測部181またはイントラ予測部182)から出力された予測された信号(predicted signal)(または、予測されたブロック(predicted block))を減算して差分信号(residual signal)(または、差分ブロック)を生成する。生成された差分信号(または、差分ブロック)は変換部120に転送される。
【0037】
変換部120は、差分信号(または、差分ブロック)に変換技法(例えば、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、GBT(Graph-Based Transform)、KLT(Karhunen-Loeve transform)など)を適用して変換係数(transform coefficient)を生成する。この際、変換部120は差分ブロックに適用された予測モードと差分ブロックのサイズによって決定された変換技法を用いて変換を遂行することによって、変換係数を生成することができる。
【0038】
量子化部130は、変換係数を量子化してエントロピーエンコーディング部190に転送し、エントロピーエンコーディング部190は量子化された信号(quantized signal)をエントロピーコーディングしてビットストリームにより出力する。
【0039】
一方、量子化部130から出力された量子化された信号(quantized signal)は予測信号を生成するために利用できる。例えば、量子化された信号(quantized signal)はループ内の逆量子化部140及び逆変換部150を通じて逆量子化及び逆変換を適用することによって、差分信号を復元することができる。復元された差分信号をインター予測部181またはイントラ予測部182から出力された予測信号(prediction signal)に加えることによって、復元信号(reconstructed signal)(または、復元ブロック)が生成できる。
【0040】
一方、前記のような圧縮過程で隣接したブロックが互いに異なる量子化パラメータにより量子化されることによって、ブロック境界が見える劣化が発生することがある。このような現象をブロッキング劣化(blocking artifacts)といい、これは画質を評価する重要な要素の1つである。このような劣化を減らすために、フィルタリング過程を遂行することができる。このようなフィルタリング過程を通じてブロッキング劣化を除去すると共に、現在ピクチュアに対する誤差を減らすことによって、画質を向上させることができる。
【0041】
フィルタリング部160は復元信号にフィルタリングを適用して、これを再生装置に出力するか、または復号ピクチュアバッファ170に転送する。復号ピクチュアバッファ170に転送されたフィルタリングされた信号はインター予測部181で参照ピクチュアとして使われることができる。このように、フィルタリングされたピクチュアを画面間の予測モードで参照ピクチュアとして用いることによって、画質だけでなく、符号化効率も向上させることができる。
【0042】
復号ピクチュアバッファ170は、フィルタリングされたピクチュアをインター予測部181での参照ピクチュアとして使用するために格納することができる。
【0043】
インター予測部181は、復元ピクチュア(reconstructed picture)を参照して時間的重複性及び/又は空間的重複性を除去するために時間的予測及び/又は空間的予測を遂行する。
【0044】
ここで、予測を遂行するために用いられる参照ピクチュアは、以前時間に符号化/復号化時、ブロック単位で量子化と逆量子化を経た変換された信号であるので、ブロッキングアーティファクト(blocking artifact)やリンギングアーティファクト(ringing artifact)が存在することがある。
【0045】
したがって、インター予測部181はこのような信号の不連続や量子化による性能の低下を解決するために、ローパスフィルタ(low pass filter)を適用することによって、ピクセルの間の信号をサブ−ピクセル単位で補間することができる。ここで、サブ−ピクセルは補間フィルタを適用して生成された仮想の画素を意味し、整数ピクセルは復元されたピクチュアに存在する実際画素を意味する。補間方法には、線形補間、双線形補間(bi-linear interpolation)、ウィーナフィルタ(wiener filter)などが適用できる。
【0046】
補間フィルタは、復元ピクチュア(reconstructed picture)に適用されて予測の精密度を向上させることができる。例えば、インター予測部181は整数ピクセルに補間フィルタを適用して補間ピクセルを生成し、補間ピクセル(interpolated pixels)で構成された補間ブロック(interpolated block)を使用して予測を遂行することができる。
【0047】
イントラ予測部182は、現在符号化を進行しようとするブロックの周辺にあるサンプルを参照して現在ブロックを予測する。イントラ予測部182は、イントラ予測を遂行するために次のような過程を遂行することができる。まず、予測信号を生成するために必要な参照サンプルを準備することができる。そして、準備された参照サンプルを用いて予測された信号(予測されたブロック)を生成することができる。以後、予測モードを符号化するようになる。この際、参照サンプルは参照サンプルパッディング及び/又は参照サンプルフィルタリングを通じて準備できる。参照サンプルは、予測及び復元過程を経たので、量子化エラーが存在することがある。したがって、このようなエラーを減らすために、イントラ予測に用いられる各予測モードに対して参照サンプルフィルタリング過程が遂行できる。
【0048】
インター予測部181または前記イントラ予測部182を通じて生成された予測信号(predicted signal)(または、予測されたブロック)は、復元信号(または、復元ブロック)を生成するために用いられるか、または差分信号(または、差分ブロック)を生成するために利用できる。
【0049】
図2は本発明が適用される実施形態であって、停止映像または動映像信号のエンコーディングが遂行されるデコーダの概略的なブロック図を示す。
【0050】
図2を参照すると、デコーダ200は、エントロピーデコーディング部210、逆量子化部220、逆変換部230、加算器235、フィルタリング部240、復号ピクチュアバッファ(DPB:Decoded Picture Buffer Unit)250、予測部260を含んで構成できる。そして、予測部260はインター予測部261及びイントラ予測部262を含んで構成できる。
【0051】
そして、デコーダ200を通じて出力された復元映像信号(reconstructed video signal)は再生装置を通じて再生できる。
【0052】
デコーダ200は
図1のエンコーダ100から出力された信号(即ち、ビットストリーム)を受信し、受信された信号はエントロピーデコーディング部210を通じてエントロピーデコーディングされる。
【0053】
逆量子化部220では量子化ステップサイズ情報を用いてエントロピーデコーディングされた信号から変換係数(transform coefficient)を獲得する。
【0054】
逆変換部230では、逆変換技法を適用して変換係数を逆変換して差分信号(residual signal)(または、差分ブロック)を獲得するようになる。
【0055】
加算器235は、獲得された差分信号(または、差分ブロック)を予測部260(即ち、インター予測部261またはイントラ予測部262)から出力された予測された信号(predicted signal)(または、予測されたブロック)に加えることによって、復元信号(reconstructed signal)(または、復元ブロック)が生成される。
【0056】
フィルタリング部240は、復元信号(reconstructed signal)(または、復元ブロック)にフィルタリングを適用して、これを再生装置に出力するか、または復号ピクチュアバッファ部250に転送する。復号ピクチュアバッファ部250に転送されたフィルタリングされた信号は、インター予測部261で参照ピクチュアとして使われることができる。
【0057】
本明細書で、エンコーダ100のフィルタリング部160、インター予測部181、及びイントラ予測部182で説明された実施形態は、各々デコーダのフィルタリング部240、インター予測部261、及びイントラ予測部262にも同一に適用できる。
【0059】
一般に、停止映像または動映像圧縮技術(例えば、HEVC)ではブロック基盤の映像圧縮方法を用いる。ブロック基盤の映像圧縮方法は映像を特定ブロック単位に分けて処理する方法であって、メモリ使用と演算量を減少させることができる。
【0060】
図3は、本発明に適用できるコーディングユニットの分割構造を説明するための図である。
【0061】
エンコーダは1つの映像(または、ピクチュア)を四角形態のコーディングツリーユニット(CTU:Coding Tree Unit)単位で分割する。そして、ラスタースキャン順序(raster scan order)によって1つのCTUずつ順次にエンコーディングする。
【0062】
HEVCでCTUのサイズは64×64、32×32、16×16のうちのいずれか1つに定まることができる。エンコーダは、入力された映像の解像度または入力された映像の特性などによってCTUのサイズを選択して使用することができる。CTUは、輝度(luma)成分に対するコーディングツリーブロック(CTB:Coding Tree Block)とこれに対応する2つの色差(chroma)成分に対するCTBを含む。
【0063】
1つのCTUは四分木(Quad-tree)構造で分割できる。即ち、1つのCTUは正方形態を有しながら半分の水平サイズ(half horizontal size)及び半分の垂直サイズ(half vertical size)を有する4個のユニットに分割されてコーディングユニット(CU:Coding Unit)が生成できる。このような四分木構造の分割は再帰的に遂行できる。即ち、CUは1つのCTUから四分木構造で階層的に分割される。
【0064】
CUは、入力映像の処理過程、例えばイントラ(intra)/インター(inter)予測が遂行されるコーディングの基本単位を意味する。CUは、輝度(luma)成分に対するコーディングブロック(CB:Coding Block)とこれに対応する2つの色差(chroma)成分に対するCBを含む。HEVCでCUのサイズは64×64、32×32、16×16、8×8のうち、いずれか1つに定まることができる。
【0065】
図3を参照すると、四分木のルートノード(root node)はCTUと関連する。四分木はリーフノード(leaf node)に到達するまで分割され、リーフノードはCUに該当する。
【0066】
より具体的に説明すると、CTUはルートノード(root node)に該当し、最も小さな深さ(depth)(即ち、depth=0)値を有する。入力映像の特性によってCTUが分割されないこともあり、この場合、CTUはCUに該当する。
【0067】
CTUは、四分木形態に分割されることができ、その結果、深さ1(depth=1)である下位ノードが生成される。そして、1の深さを有する下位ノードでこれ以上分割されないノード(即ち、リーフノード)はCUに該当する。例えば、
図3(b)でノードa、b、及びjに対応するCU(a)、CU(b)、CU(j)はCTUで1回分割され、1の深さを有する。
【0068】
1の深さを有するノードのうち、少なくともいずれか1つはまた四分木形態に分割されることができ、その結果、深さ1(即ち、depth=2)である下位ノードが生成される。そして、2の深さを有する下位ノードでこれ以上分割されないノード(即ち、リーフノード)はCUに該当する。例えば、
図3(b)でノードc、h、及びiに対応するCU(c)、CU(h)、CU(i)はCTUで2回分割され、2の深さを有する。
【0069】
また、2の深さを有するノードのうちの少なくともいずれか1つは、また四分木形態に分割されることができ、その結果、深さ3(即ち、depth=3)である下位ノードが生成される。そして、3の深さを有する下位ノードでこれ以上分割されないノード(即ち、リーフノード)はCUに該当する。例えば、
図3(b)でノードd、e、f、gに対応するCU(d)、CU(e)、CU(f)、CU(g)はCTUで3回分割され、3の深さを有する。
【0070】
エンコーダではビデオ映像の特性(例えば、解像度)によって、あるいは符号化の効率を考慮してCUの最大サイズまたは最小サイズを決定することができる。そして、これに対する情報、またはこれを誘導することができる情報がビットストリームに含まれることができる。最大サイズを有するCUを最大コーディングユニット(LCU:Largest Coding Unit)と称し、最小サイズを有するCUを最小コーディングユニット(SCU:Smallest Coding Unit)と称することができる。
【0071】
また、ツリー構造を有するCUは予め定まった最大深さ情報(または、最大レベル情報)を有して階層的に分割できる。そして、各々の分割されたCUは深さ情報を有することができる。深さ情報はCUの分割された回数及び/又は程度を示すので、CUのサイズに関する情報を含むこともできる。
【0072】
LCUが四分木形態に分割されるので、LCUのサイズ及び最大深さ情報を用いると、SCUのサイズを求めることができる。または逆に、SCUのサイズ及びツリーの最大深さ情報を利用すれば、LCUのサイズを求めることができる。
【0073】
1つのCUに対し、該当CUが分割されるか否かを示す情報(例えば、分割CUフラグ(split_cu_flag))がデコーダに伝達できる。この分割モードはSCUを除外した全てのCUに含まれている。例えば、分割有無を示すフラグの値が‘1’であれば、該当CUはまた4個のCUに分けられ、分割有無を示すフラグの値が‘0’であれば、該当CUはこれ以上分けられず、該当CUに対する処理過程が遂行できる。
【0074】
前述したように、CUはイントラ予測またはインター予測が遂行されるコーディングの基本単位である。HEVCは入力映像をより効果的にコーディングするためにCUを予測ユニット(PU:Prediction Unit)単位で分割する。
【0075】
PUは予測ブロックを生成する基本単位であって、1つのCU内でもPU単位で互いに異なるように予測ブロックを生成することができる。但し、1つのCU内に属したPUはイントラ予測とインター予測が混合されて使われず、1つのCU内に属したPUは同一の予測方法(即ち、イントラ予測またはインター予測)によりコーディングされる。
【0076】
PUは四分木構造に分割されず、1つのCUで予め定まった形態に1回分割される。これに対して以下の図面を参照して説明する。
【0077】
図4は、本発明に適用できる予測ユニットを説明するための図である。
【0078】
PUはPUが属するCUのコーディングモードにイントラ予測モードが使われるか、またはインター予測モードが使われるかによって相異するように分割される。
【0079】
図4(a)はイントラ予測モードが使われる場合のPUを例示し、
図4(b)はインター予測モードが使われる場合のPUを例示する。
【0080】
図4(a)を参照すると、1つのCUのサイズが2N×2N(N=4、8、16、32)である場合を仮定すれば、1つのCUは2つタイプ(即ち、2N×2NまたはN×N)に分割できる。
【0081】
ここで、2N×2N形態のPUに分割される場合、1つのCU内に1つのPUのみ存在することを意味する。
【0082】
一方、N×N形態のPUに分割される場合、1つのCUは4個のPUに分割され、各PU単位別に互いに異なる予測ブロックが生成される。但し、このようなPUの分割はCUの輝度成分に対するCBのサイズが最小サイズである場合(即ち、CUがSCUである場合)のみに遂行できる。
【0083】
図4(b)を参照すると、1つのCUのサイズが2N×2N(N=4、8、16、32)である場合を仮定すれば、1つのCUは8種類のPUタイプ(即ち、2N×2N、N×N、2N×N、N×2N、nL×2N、nR×2N、2N×nU、2N×nD)に分割できる。
【0084】
イントラ予測と類似するように、N×N形態のPU分割はCUの輝度成分に対するCBのサイズが最小サイズである場合(即ち、CUがSCUである場合)のみに遂行できる。
【0085】
インター予測では横方向に分割される2N×N形態及び縦方向に分割されるN×2N形態のPU分割を支援する。
【0086】
また、非対称動き分割(AMP:Asymmetric Motion Partition)形態であるnL ×2N、nR×2N、2N×nU、2N×nD形態のPU分割を支援する。ここで、‘n’は2Nの1/4値を意味する。但し、AMPはPUが属したCUが最小サイズのCUである場合、使用できない。
【0087】
1つのCTU内の入力映像を効率よく符号化するために、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)の最適の分割構造は以下のような遂行過程を経て最小率−歪曲(Rate-Distortion)値に基づいて決定できる。例えば、64×64CTU内の最適のCU分割過程を見ると、64×64サイズのCUで8×8サイズのCUまでの分割過程を経ながら率−歪曲費用を計算することができる。具体的な過程は、次の通りである。
【0088】
1)64×64サイズのCUに対してインター/イントラ予測、変換/量子化、逆量子化/逆変換、及びエントロピーエンコーディング遂行を通じて最小の率−歪曲値を発生させる最適のPUとTUの分割構造を決定する。
【0089】
2)64×64 CUを32×32サイズのCUの4個に分割し、各32×32 CUに対して最小の率−歪曲値を発生させる最適のPUとTUの分割構造を決定する。
【0090】
3)32×32 CUを16×16サイズのCUの4個にまた分割し、各16×16 CUに対して最小の率−歪曲値を発生させる最適のPUとTUの分割構造を決定する。
【0091】
4)16×16 CUを8×8サイズのCUの4個にまた分割し、各8×8 CUに対して最小の率−歪曲値を発生させる最適のPUとTUの分割構造を決定する。
【0092】
5)前記の3)の過程で算出した16×16 CUの率−歪曲値と前記の4)の過程で算出した4個の8×8 CUの率−歪曲値の和を比較して16×16ブロック内で最適のCUの分割構造を決定する。この過程を残りの3個の16×16 CUに対しても同一に遂行する。
【0093】
6)前記の2)の過程で計算された32×32 CUの率−歪曲値と前記の5)の過程で獲得した4個の16×16 CUの率−歪曲値の和を比較して32×32ブロック内で最適のCUの分割構造を決定する。この過程を残りの3個の32×32 CUに対しても同一に遂行する。
【0094】
7)最後に、前記の1)の過程で計算された64×64 CUの率−歪曲値と前記の6)の過程で獲得した4個の32×32 CUの率−歪曲値の和を比較して64×64ブロック内で最適のCUの分割構造を決定する。
【0095】
イントラ予測モードで、PU単位で予測モードが選択され、選択された予測モードに対して実際TU単位で予測と再構成が遂行される。
【0096】
TUは、実際予測と再構成が遂行される基本単位を意味する。TUは、輝度(luma)成分に対する変換ブロック(TB:Transform Block)とこれに対応する2つの色差(chroma)成分に対するTBを含む。
【0097】
先の
図3の例示で1つのCTUが四分木構造に分割されてCUが生成されるように、TUはコーディングしようとする1つのCUから四分木構造で階層的に分割される。
【0098】
TUは四分木構造で分割されるので、CUから分割されたTUはまたより小さい下位TUに分割できる。HEVCでは、TUのサイズは32×32、16×16、8×8、4×4のうち、いずれか1つに定まることができる。
【0099】
また、
図3を参照すると、四分木のルートノード(rootnode)はCUと関連すると仮定する。四分木はリーフノード(leaf node)に到達するまで分割され、リーフノードはTUに該当する。
【0100】
より具体的に説明すると、CUはルートノード(root node)に該当し、最も小さい深さ(depth)(即ち、depth=0)値を有する。入力映像の特性によってCUが分割されないこともあり、この場合、CUはTUに該当する。
【0101】
CUは四分木形態に分割されることができ、その結果、深さ1(depth=1)である下位ノードが生成される。そして、1の深さを有する下位ノードでこれ以上分割されないノード(即ち、リーフノード)はTUに該当する。例えば、
図3(b)でノードa、b、及びjに対応するTU(a)、TU(b)、TU(j)はCUで1回分割され、1の深さを有する。
【0102】
1の深さを有するノードのうちの少なくともいずれか1つはまた四分木形態に分割されることができ、その結果、深さ1(即ち、depth=2)である下位ノードが生成される。そして、2の深さを有する下位ノードでこれ以上分割されないノード(即ち、リーフノード)はTUに該当する。例えば、
図3(b)でノードc、h、及びiに対応するTU(c)、TU(h)、TU(i)は、CUで2回分割され、2の深さを有する。
【0103】
また、2の深さを有するノードのうちの少なくともいずれか1つはまた四分木形態に分割されることができ、その結果、深さ3(即ち、depth=3)である下位ノードが生成される。そして、3の深さを有する下位ノードでこれ以上分割されないノード(即ち、リーフノード)はCUに該当する。例えば、
図3(b)でノードd、e、f、gに対応するTU(d)、TU(e)、TU(f)、TU(g)はCUで3回分割され、3の深さを有する。
【0104】
ツリー構造を有するTUは予め定まった最大深さ情報(または、最大レベル情報)を有して階層的に分割できる。そして、各々の分割されたTUは深さ情報を有することができる。深さ情報はTUの分割された回数及び/又は程度を示すので、TUのサイズに関する情報を含むこともできる。
【0105】
1つのTUに対して、該当TUが分割されるか否かを示す情報(例えば、分割TUフラグ(split_transform_flag))がデコーダに伝達できる。この分割情報は最小サイズのTUを除外した全てのTUに含まれている。例えば、分割有無を示すフラグの値が‘1’であれば、該当TUはまた4個のTUに分けられ、分割有無を示すフラグの値が‘0’であれば、該当TUはこれ以上分けられない。
【0106】
補間フィルタ(interpolation filter)
【0107】
インター予測された現在処理ブロックに対する予測ブロックのサンプルは、参照ピクチュアインデックス(reference picture index)により識別される参照ピクチュア内の該当参照領域のサンプル値から獲得される。
【0108】
ここで、参照ピクチュア内の該当参照領域は動きベクトルの水平要素(horizontal component)及び垂直要素(vertical component)により指示される位置の領域を示す。
【0109】
動きベクトルが整数値を有する場合を除いて、非整数(noninteger)サンプル座標のための予測サンプルを生成するために分数サンプル補間(fractional sample interpolation)が使われる。例えば、サンプル間の距離の1/4単位の動きベクトルが支援できる。
【0110】
HEVCの場合、輝度成分の分数サンプル補間(fractional sample interpolation)は8タップフィルタを横方向及び縦方向に各々適用する。そして、色差成分の分数サンプル補間(fractional sample interpolation)は4タップフィルタを横方向及び縦方向に各々適用する。
【0111】
図5は本発明が適用できる実施形態であって、1/4サンプル補間のための整数及び分数サンプル位置を例示する。
【0112】
図5を参照すると、大文字(upper-case letter)(A_i,j)が記載された陰影ブロックは整数サンプル位置を示し、小文字(lower-case letter)(x_i,j )が記載された陰影のないブロックは分数サンプル位置を示す。
【0113】
分数サンプルは水平方向及び垂直方向に各々該当分数サンプルに近い整数サンプル値(及び/又は分数サンプル値)に補間フィルタが適用されて生成できる。例えば、a_0、0、b_0、0、c_0、0分数サンプルは、該当分数サンプルを基準に、水平方向に左側の4個の整数サンプルと右側の4個の整数サンプルに8タップフィルタが適用されて生成できる。また、d_0、0、h_0、0、n_0、0分数サンプルは、該当分数サンプルを基準に、垂直方向に上側の4個の整数サンプルと下側の4個の整数サンプルに8タップフィルタが適用されて生成できる。同様に、e_0、0、i_0、0、p_0、0、f_0、0、j_0、0、q_0、0、g_0、0、k_0、0、r_0、0は、分数サンプルは該当分数サンプルを基準に、垂直方向/水平方向に上側/左側の4個の整数サンプルと下側/右側の4個の整数サンプルに8タップフィルタが適用されて生成できる。
【0114】
ループフィルタ(loop filter)
【0115】
HEVCはループフィルタ(または、イン−ループ(In-loop)フィルタ)技術であって、デブロッキングフィルタとSAO(Sample Adaptive Offset)2つループフィルタを使用する。
【0116】
デブロッキングフィルタ(deblocking filter)は量子化により発生するブロック境界での歪曲を除去することによって、復号化された映像の主観的画質を向上させるための技術である。また、復号化過程内にデブロッキングフィルタ過程が含まれたイン−ループフィルタリング(in-loop filtering)を使用するので、ループフィルタが適用された映像をインター予測時、参照映像として使用することによって、符号化効率を上げることができる。
【0117】
SAOは量子化などの符号化過程を通じて発生する原本映像と復号化された映像との間の歪曲を画素単位のオフセット(offset)を通じて補償することによって、主観的画質及び符号化効率を向上させる技術である。SAOでは歪曲の程度が異なる画素を区分して互いに異なるオフセットを適用する適応的な補償方法を使用することによって、映像の特性によって部分的に異なるように発生する歪曲を効率よく最小化できるようにする。
【0118】
単一化された(unified)補間及びループフィルタ
【0119】
適応的補間フィルタリング(AIF:Adaptive Interpolation Filtering)は、予測された信号に適用されることによって、予測された信号が原本信号との差(例えば、平均自乗誤差(MSE:Mean Squared Error))を最小化することができる。このように、予測された信号と原本信号との間の差を最小化することによって、原本信号と予測された信号との間の差である残差信号を最小化することができ、結果的に、符号化性能を高めることができる。
【0120】
また、適応的ループフィルタリング(AIF:Adaptive Loop Filtering)は復元された信号(例えば、デブロッキングフィルタ及びSAOフィルタが適用された復元された信号)に適用されることによって、復元された信号と原本信号との間の差(例えば、平均自乗誤差(MSE:Mean Squared Error))を最小化することができる。このように、予測された信号と原本信号との間の差を最小化することによって、主観的画質を向上させ、予測性能を向上させることができる。
【0121】
このようなAIF及びALFのために、一例に、ウィーナフィルタ(Wiener filter)が利用できる。
【0122】
ウィーナフィルタ(Wiener filter)は、入力信号を所望の出力信号に類似するように作るために使われる。
【0123】
言い換えると、動映像エンコーディング/デコーディング方法と関連して、ウィーナフィルタは大きく2つの部分に使われることができる。即ち、1つは補間フィルタ(interpolation filter)であり、他の1つはループフィルタ(loop filter)に使われることができる。
【0124】
補間フィルタリングに使われるウィーナフィルタは、画面間の予測されたブロックに対して整数単位より小さなサブ−ペル(sub-pel)予測を遂行しながらも、サブ−ペル予測のためにウィーナフィルタが適用されたブロックが原本信号に類似するように生成されるようにする。これを通じて残差信号を減らして動映像圧縮性能を高めることに寄与するようになる。
【0125】
一方、ループフィルタ(loop filter)に使われるウィーナフィルタ(Wiener filter)は、予測値と残差信号を合せて生成された復元信号に対して原本信号と類似するように改善(refine)する役割をする。
【0126】
本発明では動映像エンコーディング/デコーディング過程で適用する部分が相異し、適用有無を決定する単位も他の補間フィルタとループフィルタに対してフィルタの選択及びフィルタの適用有無に使われる情報を統合する方法を提案する。
【0127】
これを通じてフィルタ係数及び/又はフィルタの適用有無を指示するための付加情報を減らす一方、補間フィルタとループフィルタに使われるフィルタの連係を通じて動映像圧縮性能を高めるようになる。
【0128】
以下、本発明の説明において、説明の便宜のために補間フィルタとループフィルタとしてウィーナフィルタが用いられる場合を仮定して説明するが、本発明がこれに限定されるものではない。即ち、ウィーナフィルタの他にも補間フィルタとループフィルタに同時に利用可能なフィルタであれば、本発明が同一に適用できることが勿論である。
【0130】
図6は本発明の一実施形態であって、1/4サンプル補間のための整数及び分数サンプル位置別に設定されるフィルタ係数を例示する。
【0131】
図6では1/4サブ−ペル(sub-pel)(または、副画素/分数サンプル(fractional sample))単位まで動き情報の解像度が支援される場合、2次元(2−D:2-Dimension)位相(phase)別整数画素(整数サンプル)及び副画素の位置とそれによってフィルタ係数を例示する。
【0132】
ウィーナフィルタを用いた補間方法では、
図5のように16個の画素(即ち、整数画素及び副画素)の位置(即ち、位相)によって独立的なフィルタ係数が使われ、また適用有無(on/off)が決定できる。
【0133】
即ち、各画素(即ち、整数画素及び副画素)の位置に対する個別的にフィルタ係数が定まることができる。例えば、16個の画素(即ち、整数画素及び副画素)の位置にウィーナフィルタが全て適用される場合には16個のフィルタ係数で構成されるフィルタ係数セットがエンコーダにより定まり、定まったフィルタ係数セットがデコーダにシグナリングできる。
【0134】
この際、ウィーナフィルタが適用されない副画素の位置に対してはフィルタ係数が定まらないことがある。例えば、水平(horizontal)方向に1/2、垂直(vertical)方向に1/2位置の副画素にはウィーナフィルタが適用されず、残りの副画素位置にはウィーナフィルタが適用されれば、残りの副画素位置に従う15個のフィルタ係数で構成されるフィルタ係数セットがエンコーダにより定まり、定まったフィルタ係数セットがデコーダにシグナリングできる。
【0135】
このようなフィルタ係数及び/又はフィルタの適用有無は、スライス(slice)単位(または、ピクチュア(picture)単位)で再設定(refresh)できる。
【0136】
即ち、該当スライス(または、ピクチュア)内の整数画素を用いて先の
図5の例示のように1/4単位の副画素単位で各々ウィーナフィルタを適用することによって、該当スライス内の全ての整数画素に対して各整数画素別に16個の画素(即ち、整数画素及び副画素)が生成できる。この際、特定スライス(または、ピクチュア)でウィーナフィルタが適用されれば、該当スライス(または、ピクチュア)内では同一の位相(phase)を有する画素(即ち、整数画素及び副画素)は同一のフィルタ係数が利用できる。
【0137】
画面間の予測の場合、予測ブロック単位で予測が遂行されるので、予測ブロックの動き情報により特定画素の位置(即ち、位相(phase))が定まり、これによって該当予測ブロックにウィーナフィルタの適用有無及び/又はウィーナフィルタの係数が定まることができる。これに対して以下の図面を参照して説明する。
【0138】
図7は本発明の一実施形態であって、画面間の予測されたブロックに適用されるフィルタの係数が定まる方法を例示する。
【0139】
1/4サブ−ペル(sub-pel)(または、副画素/分数サンプル(fractional sample))単位まで動き情報の解像度が支援される場合、各整数画素別に補間フィルタリングにより生成される16種類の画素の位置のうち、予測ブロックの動きベクトルにより特定画素の位置(即ち、位相(phase))が定まることができる。
【0140】
図7を参照すると、現在予測ブロックの左上端画素701(以下、1番画素)は動きベクトルにより(1/2、1/4)位置が定まる。
図7では左上端画素701のみを例示しているが、該当予測ブロックに属した残りの画素も全て同一の(1/2、1/4)位置が定まる。
【0141】
前述したように、各画素の位置(即ち、位相(phase))別に独立的に定まるウィーナフィルタの係数が用いられるので、現在の予測ブロックの予測されたサンプルは全て同一のウィーナフィルタの係数が用いられて生成できる。
【0142】
ここで、予測ブロックの予測されたサンプルにウィーナフィルタが適用されたということは、動きベクトルにより特定される参照ピクチュア内のサンプルを対象に該当サンプルの位置に対応するフィルタ係数を用いてウィーナフィルタが適用されることによって、現在の予測ブロックの予測値(即ち、予測されたサンプル値)が生成されることを意味することができる。
【0143】
このように、予測ブロック別に画素の位置が定まるので、予測ブロック単位で補間フィルタリング遂行時、ウィーナフィルタの係数とウィーナフィルタの適用有無が決定できる。
【0144】
図8は本発明の一実施形態であって、ループフィルタに対するウィーナフィルタの適用単位を例示する。
【0145】
ウィーナフィルタを用いたループフィルタでは、
図8のように予測ブロック802、803を含む正方形のブロック(例えば、符号化ブロック)801の単位でウィーナフィルタの適用有無が決定できる。
【0146】
一方、予測ブロック単位より小さなサブブロック単位でアクティビティー(activity)というパラメータ値が計算されることができ、該当パラメータに対応するインデックスが示すフィルタ係数が使われることができる。
【0147】
ここで、符号化ブロックの復元サンプルにウィーナフィルタが適用されるということは、符号化ブロックの復元されたブロック(即ち、復元されたサンプルの配列)を対象に該当符号化ブロック内の各サブブロックの単位で定まったフィルタ係数を用いてウィーナフィルタが適用されるということを意味することができる。
【0148】
即ち、ループフィルタリングの遂行時、ウィーナフィルタの適用有無は符号化ブロック単位で定まり、ウィーナフィルタの係数はサブブロック単位で決定できる。
【0149】
一方、
図8で例示する予測ブロックは1つの例示に過ぎず、先の
図4のように多様な形態の予測ブロックに分割できる。また、サブブロックのサイズやはり可変的に決定できる。
【0150】
前記のように、補間フィルタとループフィルタの適用単位が互いに異なるので、適用部分が互いに独立的に定まり、フィルタ係数も互いに独立的に定まれば、エンコーダではデコーダに各々の付加情報を転送しなければならない。このような付加情報を減らし、結果的に符号化効率を上げるために、本発明では単一化された(unified)補間フィルタとループフィルタを用いて映像を処理する方法を提案する。
【0151】
本発明で提案する一実施形態として、補間のために使用するウィーナフィルタの適用有無に対する情報がループフィルタにも適用できる。
【0152】
即ち、前述したように、ループフィルタでウィーナフィルタの適用有無は符号化ブロック単位で決定されることができ、次のように補間フィルタリング遂行時、ウィーナフィルタの適用有無を考慮して決定できる。
【0153】
a)符号化ブロックと予測ブロックのサイズが同一の2N×2N形態の予測ブロックに対してのみ、補間フィルタに適用されたウィーナフィルタの適用有無(on/off)がループフィルタにも適用できる。
【0154】
即ち、符号化ブロックのサイズを2N×2Nと仮定する時、2N×2N形態の予測ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当符号化ブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0155】
この際、2N×2Nの以外の形態を有する予測ブロックに対しては既存と同一にループフィルタでウィーナフィルタの適用有無が別途の情報(例えば、フラグ)でシグナリングできる。即ち、符号化ブロックのサイズを2N×2Nと仮定する時、符号化ブロックが2N×2Nの以外の形態に予測ブロックに分割された場合、エンコーダは該当符号化ブロックに対してはループフィルタリング遂行時、ウィーナフィルタの適用有無に対する情報をデコーダにシグナリングすることができる。そして、デコーダはエンコーダから受信した情報に基づいて該当符号化ブロックの復元されたサンプルにウィーナループフィルタリング遂行時、フィルタが適用されるか否かを判断することができる。
【0156】
b)または、2N×2N形態の予測ブロックでなくても、符号化ブロックに属する全ての予測ブロックに対して補間遂行時、ウィーナフィルタが適用されていれば、ループフィルタに対してもウィーナフィルタが適用できる。
【0157】
即ち、符号化ブロックに含まれた全ての予測ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当符号化ブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0158】
c)2N×2N形態の予測ブロックでなくても、符号化ブロックに属する予測ブロックのうち、半分以上の面積を占める部分に対してウィーナフィルタが適用されていれば、ループフィルタに対してもウィーナフィルタが適用できる。
【0159】
即ち、符号化ブロックに含まれた予測ブロックのうち、半分以上の部分を有する予測ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当符号化ブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0160】
d)2N×2N形態の予測ブロックでなくても、符号化ブロックに属する予測ブロックのうちの1つでもウィーナフィルタが適用されていれば、ループフィルタに対してもウィーナフィルタが適用できる。
【0161】
即ち、符号化ブロックに含まれた予測ブロックのうち、少なくともいずれか1つの予測ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当符号化ブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0162】
e)エンコーダ/デコーダは前述した前記a)からd)の方法のうち、1つ以上の方法を選択的に組み合せて使用することができる。
【0164】
補間フィルタリングに適用するウィーナフィルタの場合、ウィーナフィルタの適用結果として得た予測されたブロック(即ち、予測されたサンプルの2次元配列)が原本ブロックと類似するように生成されることを目標とするので、以下の<数式1>が成り立つ。
【0166】
<数式1>で、Block_predは予測されたブロック(即ち、補間フィルタリング時、ウィーナフィルタが適用されて生成された予測されたサンプルの配列)を示し、Block_oriは原本ブロック(即ち、原本サンプルの配列)を示す。
【0167】
<数式1>で、Block_predは以下の<数式2>のように示すことができる。
【0169】
<数式2>で、Block_pred_L0はL0参照ピクチュア(即ち、リスト0(L0)内の参照ピクチュア)から生成された予測されたブロックを示し、Block_pred_L1はL1参照ピクチュア(即ち、リスト1(L1)内の参照ピクチュア)から生成された予測されたブロックを示す。
【0170】
そして、Coeff_Intp_L0はBlock_pred_L0に適用されるウィーナフィルタの係数であり、Coeff_Intp_L1にBlock_pred_L1適用されるウィーナフィルタの係数を示す。
【0171】
即ち、<数式2>のように、Block_predはウィーナフィルタが適用されたBlock_pred_L0とウィーナフィルタが適用されたBlock_pred_L1の和により生成できる。
【0172】
この際、予測ブロックの方向によってL0/L1各方向の予測ブロック及び補間のためのウィーナフィルタの係数はL0方向のみ存在するか、L1方向のみ存在するか、または両方向全て存在することができる。
【0173】
一方、ループフィルタリングに適用するウィーナフィルタの場合にも、復元されたブロックにウィーナフィルタを適用した結果(即ち、ウィーナフィルタが適用された復元されたブロック)が原本ブロックと原本ブロックと類似するように生成されることを目標とするので、以下の<数式3>が成り立つ。
【0175】
Block_Reconは復元されたブロック(即ち、復元されたサンプルの配列)を示し、Block_oriは原本ブロック(即ち、原本サンプルの配列)を示す。Coeff_Loopは復元されたブロックに適用されるウィーナフィルタの係数を示す。
【0176】
<数式3>で、Block_Reconは以下の<数式4>のように示すことができる。
【0178】
<数式4>で、Block_predは予測されたブロックを示し、Block_Resは残差ブロックを示す。
【0179】
即ち、復元されたブロックは予測されたブロックと残差ブロックの和から得る。
【0180】
先の<数式1>と<数式3>を合せると、以下の<数式5>のように示すことができる。
【0182】
<数式5>に先の<数式2>を適用すれば、以下の<数式6>のように示すことができる。
【0184】
即ち、予測ブロックを生成することに使われるL0/L1各方向の予測ブロック(即ち、Block_pred_L0及びBlock_pred_L1)及び補間のためのウィーナフィルタの係数(即ち、Coeff_Intp_L0及びCoeff_Intp_L2)と、復元されたブロック(即ち、Block_Recon)及びループフィルタのためのウィーナフィルタ係数(即ち、Coeff_Loop)の関係式で表現できる。
【0185】
この際、前述したように、予測ブロックの方向によってL0/L1各方向の予測ブロック及び補間のためのウィーナフィルタの係数はL0方向のみ存在するか、L1方向のみ存在するか、または両方向全て存在することができる。
【0186】
先の実施形態1で説明したように、補間のためのウィーナフィルタの適用有無とループフィルタのためのウィーナフィルタの適用有無が決定されるブロックの単位が互いに異なることがある。
【0187】
したがって、ブロックの包含関係によって多様な条件が発生できるので、これを反映するために先の<数式6>でパラメータα、β、γを追加することができる。これを表現すれば、以下の<数式7>の通りである。
【0189】
ループフィルタが適用される符号化ブロック内に存在する予測ブロックが複数である場合も発生することがあるので、<数式7>でkは符号化ブロック内の予測ブロックのインデックスを示す。
【0190】
<数式7>の関係式から補間に使われたウィーナフィルタ係数の適用有無からループフィルタにウィーナフィルタの適用有無を決定する時、より適するようにループフィルタ用ウィーナフィルタの係数を変形して使用することができる。即ち、<数式7>の関係式によってループフィルタリング遂行時、ウィーナフィルタが適用される場合、ループフィルタリングのためのウィーナフィルタの係数は補間フィルタリングのためのウィーナフィルタの係数から誘導できる。
【0191】
数式の左辺を見ると、予測ブロックを構成する順方向(forward)または逆方向(backward)の各予測成分に対してウィーナフィルタが使われたか否かを示すためにパラメータα、βが使われる。
【0192】
また、符号化ブロック内に属する予測ブロックのうち、補間フィルタリングのためにウィーナフィルタを使用した領域の割合を示すためにパラメータγが使われる。
【0193】
例えば、特定予測ブロックに対して両方向予測が使われたが、L0方向はウィーナフィルタを適用し、L1方向はウィーナフィルタを適用しない場合、α=1、β=0のような式で使用することができる。
【0194】
または、前記の場合、α=1、β=0のように適用することによって、L0成分に全的に加重値を置くようになれば、実際の予測ブロックと差が大きくなることがあるので、加重値を調節してαは1に一層近い値で、βは0に一層近い値を与えて使用することができる。即ち、α+β=1を維持した状態で、ウィーナフィルタが適用された方向のパラメータをその他のパラメータと比較して大きい値にセッティングすることができる。
【0195】
また、パラメータγは先の実施形態1での内容を反映して次のように定義できる。
【0196】
a)符号化ブロックのサイズを2N×2Nと仮定する時、符号化ブロック内に属する予測ブロックの形態が2N×2Nであり、該当予測ブロックに対してウィーナフィルタが適用された場合、γ=1にセッティングできる。
【0197】
即ち、符号化ブロックのサイズを2N×2Nと仮定する時、2N×2N形態の予測ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当符号化ブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用して、先の<数式7>の関係式によりループフィルタリングのためのウィーナフィルタの係数が定まることができる。
【0198】
一方、符号化ブロックが2N×2Nの以外の形態に予測ブロックに分割された場合、エンコーダは該当符号化ブロックに対してはループフィルタリング遂行時、ウィーナフィルタの適用有無に対する情報をデコーダにシグナリングすることができる。そして、デコーダはエンコーダから受信した情報に基づいて該当符号化ブロックの復元されたサンプルにウィーナループフィルタリング遂行時、ウィーナフィルタが適用されるか否かを判断することができる。
【0199】
b)または、符号化ブロック内に属する全ての予測ブロックに対して補間遂行時、ウィーナフィルタが適用された場合、γ=1にセッティングできる。
【0200】
一方、そうでない場合には、エンコーダは該当符号化ブロックに対してはループフィルタリング遂行時、ウィーナフィルタの適用有無に対する情報をデコーダにシグナリングすることができる。そして、デコーダはエンコーダから受信した情報に基づいて該当符号化ブロックの復元されたサンプルにウィーナループフィルタリング遂行時、ウィーナフィルタが適用されるか否かを判断することができる。
【0201】
c)符号化ブロック内に属する予測ブロックのうち、ウィーナフィルタを使用して補間が遂行された予測ブロックの面接割合で決定できる。
【0202】
例えば、該当符号化ブロックが2N×N分割モードが用いられ、2つの予測ブロックのうち、1つの予測ブロックのみに補間時、ウィーナフィルタが使われた場合、γ=0.5にセッティングできる。
【0203】
これによって、ループフィルタリングのためのウィーナフィルタの係数は符号化ブロックのサイズと予測ブロックのサイズの割合を用いて補間フィルタリングのためのウィーナフィルタの係数を補正することによって定まることができる。
【0204】
d)符号化ブロック内に属する予測ブロックのうち、ウィーナフィルタを使用して補間が遂行された予測ブロックが1つでも存在する場合、γ=1にセッティングできる。
【0205】
e)エンコーダ/デコーダは前述した前記a)からd)の方法のうち、1つ以上の方法を選択的に組み合せて使用することができる。
【0206】
また、前述した実施形態はパラメータγと関連した1つの例示に過ぎず、a)からe)の各場合に対して任意の値にγを定めて使用することもできる。
【0208】
前述した実施形態では、ループフィルタではウィーナフィルタの適用有無を符号化ブロック単位で決定する場合に対して記述した。
【0209】
但し、先の
図8で例示したように、ウィーナフィルタの係数は符号化ブロックのサブブロック単位で決定できる。
【0210】
したがって、ループフィルタでウィーナフィルタの適用有無が先の実施形態と相異するように符号化ブロック単位で決定されず、符号化ブロックのサブブロック単位で決定できる。この場合、前述した前記実施形態1で、a)からd)で説明した予測ブロックの形態に従うループフィルタ時、ウィーナフィルタの適用条件は以下のように変わることができる。
【0211】
a)ループフィルタでウィーナフィルタの適用有無はウィーナフィルタの係数を決定する単位である符号化ブロックのサブブロックと同一の単位で決定できる。
【0212】
この際、サブブロックにループフィルタリング遂行時、ウィーナフィルタの適用有無は該当サブブロックが属した予測ブロックに対して補間遂行時、ウィーナフィルタが適用されたか否かから決定できる。
【0213】
言い換えると、符号化ブロックのサブブロック別に該当サブブロックが属した予測ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当サブブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0214】
b)符号化ブロックのサブブロックが予測ブロックの境界に位置する場合(または、境界を含む場合)(
図9参照)、サブブロック内に位置した(または、サブブロックと重なる)全ての予測ブロックに対して補間遂行時、ウィーナフィルタが適用されていれば、該当サブブロックにループフィルタ遂行時、ウィーナフィルタが適用できる。
【0215】
即ち、符号化ブロックのサブブロック内に位置した(または、サブブロックと重なる)全ての予測ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当サブブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0216】
図9は、本発明の一実施形態に係るループフィルタリング遂行時、ウィーナフィルタの適用有無を決定するための方法を説明するための図である。
【0217】
図9では、符号化ブロック901が総4個のサブブロック(A、B、C、D)に分割され、また符号化ブロックは予測ブロック1 902と予測ブロック2 903に分割された場合を例示する。
【0218】
この際、符号化ブロックのサブブロックA及びサブブロックCは同一の符号化ブロックに属した予測ブロック1 902と予測ブロック2 903の境界に位置することができる。言い換えると、サブブロックA及びサブブロックC内の予測ブロック1 902と予測ブロック2 903の境界が含まれることができる。
【0219】
この場合、符号化ブロックのサブブロック内に位置した全ての予測ブロックに対して補間遂行時、ウィーナフィルタが適用されていれば、該当符号化ブロックのサブブロックに対してもループフィルタリング遂行時、ウィーナフィルタが適用できる。
【0220】
図9の例示において、サブブロックAの場合、予測ブロック1 902と予測ブロック2 903全て補間遂行時、ウィーナフィルタが適用されていれば、サブブロックAにループフィルタリング遂行時、ウィーナフィルタが適用できる。同様に、サブブロックCの場合、予測ブロック1 902と予測ブロック2 903全て補間遂行時、ウィーナフィルタが適用されていれば、サブブロックCにループフィルタリング遂行時、ウィーナフィルタが適用できる。
【0221】
c)符号化ブロックのサブブロックが予測ブロックの境界に位置する場合(または、境界を含む場合)(
図9参照)、サブブロック内に位置した(または、サブブロックと重なる)予測ブロックのうち、半分以上の面積を占める部分に対してウィーナフィルタが適用されていれば、該当サブブロックにループフィルタリング遂行時、ウィーナフィルタが適用できる。
【0222】
即ち、符号化ブロックのサブブロック内の位置した(または、サブブロックと重なる)予測ブロックのうち、半分以上の面積を占める予測ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当サブブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0223】
先の
図9の例示で、サブブロックAの場合、予測ブロック1 902と予測ブロック2 903のうち、いずれか1つに補間遂行時、ウィーナフィルタが適用されていれば(2つ予測ブロック全て各々サブブロックAの半分の面積を占めるので)、サブブロックAにループフィルタリング遂行時、ウィーナフィルタが適用できる。同様に、サブブロックCの場合、予測ブロック1 902と予測ブロック2 903のうち、いずれか1つに補間遂行時、ウィーナフィルタが適用されていれば(2つの予測ブロック全て各々サブブロックCの半分の面積を占めるので)、サブブロックCにループフィルタリング遂行時、ウィーナフィルタが適用できる。
【0224】
d)符号化ブロックのサブブロックが予測ブロックの境界に位置する場合(または、境界を含む場合)(
図9参照)、サブブロック内に位置した(または、サブブロックと重なる)予測ブロックのうちの1つでもウィーナフィルタが適用されていれば、該当サブブロックにループフィルタリング遂行時、ウィーナフィルタが適用できる。
【0225】
即ち、符号化ブロックのサブブロック内に位置した(または、サブブロックと重なる)予測ブロックのうちの1つでも予測ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当サブブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0226】
先の
図9の例示において、サブブロックAの場合、予測ブロック1 902と予測ブロック2 903のうちのいずれか1つでも補間遂行時、ウィーナフィルタが適用されていれば、サブブロックAにループフィルタリング遂行時、ウィーナフィルタが適用できる。同様に、サブブロックCの場合、予測ブロック1 902と予測ブロック2 903のうちのいずれか1つでも補間遂行時、ウィーナフィルタが適用されていれば、サブブロックCにループフィルタリング遂行時、ウィーナフィルタが適用できる。
【0227】
e)エンコーダ/デコーダは前述した前記a)からd)の方法のうち、1つ以上の方法を選択的に組み合せて使用することができる。
【0228】
一方、本実施形態3の方法を適用してループフィルタリング遂行時、ウィーナフィルタの適用有無を決定する過程において、前述した実施形態2の方法のように決定されたパラメータα、β、γを適用してループフィルタのウィーナフィルタの係数を求めることができる。
【0230】
予測ブロックに対して同一の動き情報を有せず、同一予測ブロック内でもサブブロック単位で別個の動き情報を有することができる。即ち、同一予測内でサブブロック単位で独立的にインター予測が遂行できる。
【0231】
この場合、予測ブロック内のサブブロックに適用された動き情報によって補間遂行時、別個のウィーナフィルタ係数が適用されることができ、またウィーナフィルタの適用有無も相異するように定まることができる。
【0232】
したがって、ループフィルタ遂行時、ウィーナフィルタの適用有無を決定する時、予測ブロック内のサブブロックの補間遂行時、ウィーナフィルタが適用されたかを考慮して決定できる。
【0233】
以下、ループフィルタの適用のための符号化ブロックのサブブロックを符号化サブブロック(SB_loop)と称し、補間フィルタの適用のための予測ブロックのサブブロックを予測サブブロック(SB_pred)と称する。この際、符号化ブロックがサブブロックに分割されないこともあり、この場合には符号化ブロックはSB_loopと同一である。同様に、予測ブロックがサブブロックに分割されないこともあり、この場合には予測ブロックはSB_predと同一である。
【0234】
a)ループフィルタでウィーナフィルタの適用有無はウィーナフィルタの係数を決定する単位であるSB_loopと同一の単位で決定できる。
【0235】
この場合、SB_loopがSB_predと同一のサイズを有するか、またはSB_loopがSB_predに含まれる場合、このSB_predに対して補間遂行時、ウィーナフィルタを適用したか否かからSB_loopにループフィルタリング時、ウィーナフィルタの適用有無が決定できる。
【0236】
即ち、符号化サブブロックと同一であるか、または該当符号化サブブロックが属した予測(サブ)ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当符号化サブブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0237】
b)SB_loopがSB_predの境界に位置する場合(または、境界を含む場合)(
図10参照)、SB_loop内に位置した(または、SB_loopと重なる)全てのSB_predに対して補間遂行時、ウィーナフィルタが適用されていれば、該当SB_loopにループフィルタ遂行時、ウィーナフィルタが適用できる。
【0238】
即ち、符号化サブブロック内に位置した(または、サブブロックと重なる)全ての予測(サブ)ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当符号化サブブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0239】
図10は、本発明の一実施形態に係るループフィルタリング遂行時、ウィーナフィルタの適用有無を決定するための方法を例示する図である。
【0240】
図10の場合、予測ブロックの分割タイプがN×2Nであり、予測ブロック2 1003がサブブロックに分割された場合を例示する。また、符号化ブロックのサブブロック1001内の予測ブロック1 1002と予測ブロック2 1003が位置することによって、多数の予測ブロック境界が存在する場合を例示する。
【0241】
この際、符号化サブブロック1001が予測ブロック1 1002と予測ブロック2 1003の境界に位置し、また予測ブロック2 1003の予測サブブロックAと予測サブブロックCの境界に位置することができる。言い換えると、符号化サブブロック1001内の予測ブロック1 1002と予測ブロック2 1003の境界が含まれ、また予測ブロック2 1003の予測サブブロックAと予測サブブロックCの境界が含まれることができる。
【0242】
この場合、符号化サブブロック内に位置した全ての予測(サブ)ブロックに対して補間遂行時、ウィーナフィルタが適用されていれば、該当符号化サブブロックに対してもループフィルタリング遂行時、ウィーナフィルタが適用できる。
【0243】
図9の例示において、符号化サブブロック1001の場合、予測ブロック1 1002と予測ブロック2 1003のサブブロックA及びBに全て補間遂行時、ウィーナフィルタが適用されていれば、符号化サブブロック1001にループフィルタリング遂行時、ウィーナフィルタが適用できる。
【0244】
c)SB_loopがSB_predの境界に位置する場合(または、境界を含む場合)(
図10参照)、SB_loop内に位置した(または、SB_loopと重なる)SB_predのうち、半分以上の面積を占める部分に対してウィーナフィルタが適用されていれば、該当SB_loopにループフィルタ遂行時、ウィーナフィルタが適用できる。
【0245】
即ち、符号化サブブロック内に位置した(または、サブブロックと重なる)予測(サブ)ブロックのうち、半分以上の面積に占める予測(サブ)ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当符号化サブブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0246】
図10の例示において、符号化サブブロック1001内の予測ブロック1 1002、予測サブブロックA及び予測サブブロックBのうち、半分以上の面積を占める予測(サブ)ブロック(例えば、予測ブロック1、または予測ブロック1とA、または予測ブロック1とB、またはAとB、または予測ブロック1とAとB)に補間遂行時、ウィーナフィルタが適用されていれば、符号化サブブロック1001にループフィルタリング遂行時、ウィーナフィルタが適用できる。
【0247】
d)SB_loopがSB_predの境界に位置する場合(または、境界を含む場合)(
図10参照)、SB_loop内に位置した(または、SB_loopと重なる)SB_predのうちの1つでもウィーナフィルタが適用されていれば、該当SB_loopにループフィルタ遂行時、ウィーナフィルタが適用できる。
【0248】
即ち、符号化サブブロック内に位置した(または、サブブロックと重なる)予測(サブ)ブロックのうちのいずれか1つの予測(サブ)ブロックの予測されたサンプルが補間フィルタリング遂行時、ウィーナフィルタが適用されて生成されていれば、エンコーダ/デコーダは該当符号化サブブロックの復元されたサンプルにループフィルタリング遂行時、ウィーナフィルタを適用することができる。
【0249】
図10の例示において、符号化サブブロック1001内の予測ブロック1 1002、予測サブブロックA及び予測サブブロックBのうち、いずれか1つの予測(サブ)ブロック(例えば、予測ブロック1またはAまたはB)に補間遂行時、ウィーナフィルタが適用されていれば、符号化サブブロック1001にループフィルタリング遂行時、ウィーナフィルタが適用できる。
【0250】
e)エンコーダ/デコーダは前述した前記a)からd)の方法のうち、1つ以上の方法を選択的に組み合せて使用することができる。
【0251】
一方、本実施形態4の方法を適用してループフィルタリング遂行時、ウィーナフィルタの適用有無を決定する過程において、前述した実施形態2の方法のように決定されたパラメータα、β、γを適用してループフィルタのウィーナフィルタの係数を求めることができる。
【0252】
前述した実施形態では、補間フィルタリング時、ウィーナフィルタの適用有無が決定される単位を符号化ブロックまたは符号化ブロックのサブブロックとして例示し、ループフィルタリング時、ウィーナフィルタの適用有無が決定される単位を予測ブロックまたは予測ブロックのサブブロックとして例示して説明したが、これを一般化すれば、補間フィルタリング時、ウィーナフィルタの適用有無とループフィルタリング時、ウィーナフィルタの適用有無が互いに相異する単位で決定されるように一般化することができる。
【0253】
以下、補間フィルタリング時、ウィーナフィルタの適用有無が決定される単位を第1ブロックと称し、ループフィルタリング時、ウィーナフィルタの適用有無が決定される単位を第2ブロックと称する。
【0254】
図11は、本発明の一実施形態に係る映像復号化方法を例示する図である。
【0255】
図11を参照すると、エンコーダ/デコーダは参照ピクチュアに補間フィルタリング(interpolation filtering)を遂行する(S1101)。
【0256】
この際、エンコーダ/デコーダは先の
図5から
図7で説明した方式により補間フィルタリングを遂行することによって、参照ピクチュアの整数画素を用いて副画素を生成することができる。
【0257】
また、エンコーダ/デコーダは第1ブロック単位で補間フィルタリング時、所定のフィルタ(例えば、ウィーナフィルタ)が適用されるか否かを決定し、またフィルタの係数を決定することができる。
【0258】
エンコーダ/デコーダは補間フィルタリングが遂行された参照ピクチュア内のサンプルから予測されたサンプルを生成する(S1102)。
【0259】
エンコーダ/デコーダは予測ブロック(または、予測ブロックのサブブロック)単位で該当予測ブロック(または、予測ブロックのサブブロック)の動き情報を用いて参照ピクチュア内のサンプルから該当予測ブロック(または、予測ブロックのサブブロック)の予測されたサンプルを生成することができる。
【0260】
エンコーダ/デコーダは残差サンプルと予測されたサンプルを加算して復元されたサンプルを生成する(S1103)。
【0261】
エンコーダ/デコーダは、復元されたサンプルにループフィルタリング(loop filtering)を遂行する(S1104)。
【0262】
この際、エンコーダ/デコーダは前述した実施形態1から4の方法を用いて第2ブロック単位でループフィルタリング遂行時、所定のフィルタ(例えば、ウィーナフィルタ)が適用されるか否かとフィルタ係数を決定することができる。この際、前述したように、所定のフィルタ(例えば、ウィーナフィルタ)が適用されるか否かを決定する単位とフィルタ係数を決定する単位は互いに相異することがある。
【0263】
より具体的に説明すると、第1ブロックのサイズが第2ブロックのサイズと同一の場合、第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0264】
または、第1ブロックが第2ブロックに含まれる場合、第2ブロックに含まれた全ての第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0265】
または、第1ブロックが第2ブロックに含まれる場合、第2ブロックに含まれた第1ブロックのうち、半分以上の部分を有する第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0266】
または、第1ブロックが第2ブロックに含まれる場合、第2ブロックに含まれた第1ブロックのうち、少なくともいずれか1つの第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0267】
または、第2ブロックが第1ブロックに含まれる場合、第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0268】
または、第2ブロックが第1ブロックに含まれ、第2ブロックが複数の第1ブロックの境界に位置する場合、複数の第1ブロックの予測されたサンプルが全て補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0269】
または、第2ブロックが第1ブロックに含まれ、第2ブロックが複数の第1ブロックの境界に位置する場合、複数の第1ブロックのうち、第2ブロックの半分以上の部分を含む第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0270】
または、第2ブロックが第1ブロックに含まれ、第2ブロックが複数の第1ブロックの境界に位置する場合、複数の第1ブロックのうち、少なくともいずれか1つの第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0271】
また、第2ブロックにループフィルタリング遂行時、補間のために用いられたフィルタが適用される場合、前述した実施形態2のようにループフィルタリングのためのフィルタの係数は補間フィルタリングのためのフィルタの係数から誘導できる。例えば、ループフィルタリングのためのフィルタの係数は補間フィルタリングのためのフィルタの係数を第1ブロックのサイズと第2ブロックのサイズの割合で補正することによって定まることができる。
【0272】
図12は、本発明の一実施形態に係る映像復号化装置を例示する図である。
【0273】
図12では、説明の便宜のために、インター予測部181(
図1参照)、261(
図2参照)を1つのブロックとして図示し、またフィルタリング部160(
図1参照)、240(
図2参照)を1つのブロックとして図示したが、インター予測部181、261及びフィルタリング部160、240はエンコーダ及び/又はデコーダに含まれる構成で具現できる。
【0274】
図12を参照すると、映像復号化装置はインター予測部181、261、加算器1204、及びフィルタリング部160、240を含んで構成できる。但し、
図12の映像復号化装置は1つの例示に過ぎず、
図12に図示されていない構成をさらに含んで具現されることもできる。
【0275】
ここで、インター予測部181、261及びフィルタリング部160、240は、
図5から
図11で提案された機能、過程、及び/又は方法を具現する。
【0276】
具体的に、インター予測部181、261は動き情報導出部1201及び補間フィルタリング部1202、予測サンプル生成部1203を含んで構成できる。
【0277】
動き情報導出部1201は、現在ブロック(例えば、予測ブロック)の動き情報を導出する。
【0278】
ここで、動き情報は参照ピクチュアを指示する参照ピクチュア情報(例えば、参照ピクチュアインデックス)、動き情報候補リスト(例えば、マージ候補リスト、または動きベクトル予測値候補リスト)内で動き情報を指示する情報(例えば、マージインデックス、または動きベクトル予測値フラグ)、及び/又は動きベクトル差分値情報を含むことができる。
【0279】
補間フィルタリング部1202は、参照ピクチュアに補間フィルタリングを遂行する。この際、補間フィルタリング部1202は先の
図5から
図7で説明した方式により補間フィルタリングを遂行することによって、参照ピクチュアの整数画素を用いて副画素を生成することができる。
【0280】
また、補間フィルタリング部1202は第1ブロック単位で補間フィルタリング時、所定のフィルタ(例えば、ウィーナフィルタ)が適用されるか否かを決定し、またフィルタの係数を決定することができる。
【0281】
予測サンプル生成部1203は、補間フィルタリングが遂行された参照ピクチュア内のサンプルから予測されたサンプルを生成する。
【0282】
エンコーダ/デコーダは予測ブロック(または、予測ブロックのサブブロック)単位で該当予測ブロック(または、予測ブロックのサブブロック)の動き情報を用いて参照ピクチュア内のサンプルから該当予測ブロック(または、予測ブロックのサブブロック)の予測されたサンプルを生成することができる。
【0283】
一方、加算器1204は残差サンプルと予測されたサンプルを加算して復元されたサンプルを生成する。
【0284】
ここで、加算器1204は予測ブロック単位で生成された予測されたサンプルから獲得した符号化ブロックの予測されたサンプルと該当符号化ブロックの残差サンプルを加算して該当符号化ブロックの復元されたサンプルを生成することができる。
【0285】
フィルタリング部160、240は、復元されたサンプルにループフィルタリング(loop filtering)を遂行する。
【0286】
この際、エンコーダ/デコーダは前述した実施形態1から4の方法を用いて第2ブロック単位でループフィルタリング遂行時、所定のフィルタ(例えば、ウィーナフィルタ)が適用されるか否かとフィルタ係数を決定することができる。この際、前述したように、所定のフィルタ(例えば、ウィーナフィルタ)が適用されるか否かを決定する単位とフィルタ係数を決定する単位は互いに相異することがある。
【0287】
より具体的に説明すると、第1ブロックのサイズが第2ブロックのサイズと同一の場合、第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0288】
または、第1ブロックが第2ブロックに含まれる場合、第2ブロックに含まれた全ての第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0289】
または、第1ブロックが第2ブロックに含まれる場合、第2ブロックに含まれた第1ブロックのうち、半分以上の部分を有する第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0290】
または、第1ブロックが第2ブロックに含まれる場合、第2ブロックに含まれた第1ブロックのうち、少なくともいずれか1つの第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0291】
または、第2ブロックが第1ブロックに含まれる場合、第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0292】
または、第2ブロックが第1ブロックに含まれ、第2ブロックが複数の第1ブロックの境界に位置する場合、複数の第1ブロックの予測されたサンプルが全て補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0293】
または、第2ブロックが第1ブロックに含まれ、第2ブロックが複数の第1ブロックの境界に位置する場合、複数の第1ブロックのうち、第2ブロックの半分以上の部分を含む第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0294】
または、第2ブロックが第1ブロックに含まれ、第2ブロックが複数の第1ブロックの境界に位置する場合、複数の第1ブロックのうち、少なくともいずれか1つの第1ブロックの予測されたサンプルが補間フィルタリング遂行時、所定のフィルタが適用されて生成されていれば、第2ブロックの復元されたサンプルにループフィルタリング遂行時、該当フィルタが適用できる。
【0295】
また、第2ブロックにループフィルタリング遂行時、補間のために用いられたフィルタが適用される場合、前述した実施形態2のように、ループフィルタリングのためのフィルタの係数は補間フィルタリングのためのフィルタの係数から誘導できる。例えば、ループフィルタリングのためのフィルタの係数は補間フィルタリングのためのフィルタの係数を第1ブロックのサイズと第2ブロックのサイズの割合で補正することによって定まることができる。
【0296】
以上で説明された実施形態は本発明の構成要素と特徴が所定形態に結合されたものである。各構成要素または特徴は別途の明示的な言及がない限り、選択的なものとして考慮されなければならない。各構成要素または特徴は他の構成要素や特徴と結合されない形態に実施できる。また、一部の構成要素及び/又は特徴を結合して本発明の実施形態を構成することも可能である。本発明の実施形態で説明される動作の順序は変更できる。ある実施形態の一部の構成や特徴は他の実施形態に含まれることができ、または他の実施形態の対応する構成または特徴と取替できる。特許請求範囲で明示的な引用関係のない請求項を結合して実施形態を構成するか、または出願後の補正により新たな請求項に含めることができることは自明である。
【0297】
本発明に従う実施形態は、多様な手段、例えば、ハードウェア、ファームウエア(firmware)、ソフトウェア、またはそれらの結合などにより具現できる。ハードウェアによる具現の場合、本発明の一実施形態は1つまたはその以上のASICs (application specific integrated circuits)、DSPs(digital signal processors)、DSPDs (digital signal processing devices)、PLDs(programmable logic devices)、FPGAs (field programmable gate arrays)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどにより具現できる。
【0298】
ファームウエアやソフトウェアによる具現の場合、本発明の一実施形態は以上で説明された機能または動作を遂行するモジュール、手続、関数などの形態に具現できる。ソフトウェアコードはメモリに格納されてプロセッサにより駆動できる。前記メモリは、前記プロセッサの内部または外部に位置して、既に公知された多様な手段により前記プロセッサとデータをやり取りすることができる。
【0299】
本発明は、本発明の必須特徴を逸脱しない範囲で他の特定の形態に具体化できることは当業者に自明である。したがって、前述した詳細な説明は全ての面で制限的に解釈されてはならず、例示的なものとして考慮されなければならない。本発明の範囲は添付した請求項の合理的な解釈により決定されなければならず、本発明の等価的な範囲内での全ての変更は本発明の範囲に含まれる。