【文献】
Yongbing Lin et al.,CE4 Subset2: Report of Intra Coding Improvements for Slice Boundary Blocks,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,5th Meeting: Geneva,2011年 3月,JCTVC-E283_r1,pp.1-6
【文献】
Viktor Wahadaniah et al.,Constrained intra prediction scheme for flexible-sized prediction units in HEVC,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,5th Meeting: Geneva, CH,2011年 3月,JCTVC-E203_r1,pp.1-9
【文献】
Kazuo Sugimoto et al.,CE6.f: LUT-based adaptive filtering on intra prediction samples,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,5th Meeting: Geneva, CH,2011年 3月18日,JCTVC-E069_r1,pp.1-12
【文献】
Yunfei Zheng, et al.,CE13: Mode Dependent Hybrid Intra Smoothing,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,4th Meeting: Daegu, KR,2011年 1月,JCTVC-D282,pp.1-5
【文献】
Hui Yong KIM et al.,Description of video coding technology proposal by ETRI,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,1st Meeting: Dresden, DE,2010年 4月,JCTVC-A127_r2,pp.1-9
(58)【調査した分野】(Int.Cl.,DB名)
対角線方向のイントラ予測モードと水平方向のイントラ予測モードとの間の第1イントラ予測モードで参照画素がフィルタリングされると、前記第1イントラ予測モードと前記対角線方向のイントラ予測モードの間の方向性イントラ予測モードでも参照画素をフィルタリングすることを特徴とする、請求項1に記載の映像復号化方法。
【発明を実施するための形態】
【0017】
以下、本発明の様々な実施形態を例示的な図面を介して詳細に説明する。本発明は、様々な変更を加えることができ、様々な実施形態を有することができるところ、本発明を特定の実施形態に対して限定しようとするものではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物ないし代替物を含むものと理解されなければならない。各図面を説明しながら、類似した参照符号を類似した構成要素に対して使用した。
【0018】
図1は、本発明の実施形態に係る動画像符号化装置を示したブロック図である。
【0019】
図1に示すように、動画像符号化装置は、符号化モード決定部110、イントラ予測部120、動き補償部130、動き推定部131、変換符号化・量子化部140、エントロピ符号化部150、逆量子化・変換復号化部141、デブロッキングフィルタリング部160、ピクチャー保存部170、減算部180、及び加算部190を備える。
【0020】
符号化モード決定部110は、入力されるビデオ信号を分析してピクチャーを所定サイズの符号化ブロックに分割し、分割された所定サイズの符号化ブロックに対する符号化モードを決定する。前記符号化モードは、イントラ予測符号化及びインター予測符号化を含む。
【0021】
ピクチャーは、複数のスライスで構成され、スライスは、複数個の最大符号化単位(Largest coding unit:LCU)で構成される。前記LCUは、複数個の符号化単位(CU)に分割されることができ、符号器は、分割可否を表す情報(flag)をビットストリームに追加することができる。復号器は、LCUの位置をアドレス(LcuAddr)を用いて認識することができる。分割が許容されない場合の符号化単位(CU)は、予測単位(Prediction unit:PU)としてみなされ、復号器は、PUの位置をPUインデックスを用いて認識することができる。
【0022】
予測単位(PU)は、複数個のパーティションに分けられることができる。また、予測単位(PU)は、複数個の変換単位(Transform unit:TU)で構成され得る。
【0023】
符号化モード決定部110は、決定された符号化モードによる所定サイズのブロック単位(例えば、PU単位またはTU単位)で映像データを減算器180に送る。
【0024】
変換符号化・量子化部140は、減算器180により算出された残差ブロックを空間領域から周波数領域に変換する。例えば、残差ブロックに対して2次元の離散コサイン変換(DCT)または離散サイン変換(DST)基盤の変換を実行する。また、変換符号化・量子化部140は、変換係数を量子化するための量子化ステップサイズを決定し、決定された量子化ステップサイズを用いて変換係数を量子化する。決定された量子化ステップサイズ及び符号化モードによって量子化マトリックスが決定され得る。
【0025】
量子化された2次元の変換係数は、予め決められたスキャニング方法のうち、1つにより1次元の量子化変換係数に変換される。前記変換された1次元の量子化変換係数のシーケンスは、エントロピ符号化部150に供給される。
【0026】
逆量子化・変換復号化部141は、変換符号化・量子化部140により量子化された量子化係数を逆量子化する。また、逆量子化により得られる逆量子化係数を逆変換する。これにより、周波数領域に変換された残差ブロックを空間領域の残差ブロックに復元することができる。
【0027】
デブロッキングフィルタリング部160は、逆量子化・変換復号化部141から逆量子化及び逆変換された映像データを受信してブロッキング(blocking)効果を除去するためのフィルタリングを行う。
【0028】
ピクチャー保存部170は、フィルタリングされた映像データをデブロッキングフィルタリング部160から受信してピクチャー(picture)単位に映像を復元して保存する。ピクチャーは、フレーム単位の映像であるか、フィールド単位の映像でありうる。
ピクチャー保存部170は、複数のピクチャーを保存できるバッファ(図示せず)を備える。バッファに保存された複数のピクチャーは、イントラ予測及び動き推定のために提供される。イントラ予測または動き推定のために提供される前記ピクチャーは参照ピクチャーと呼ばれる。
【0029】
動き推定部131は、前記ピクチャー保存部170に保存された少なくとも1つの参照ピクチャーが提供されて、動き推定を行って動きベクトル、参照ピクチャーを表すインデックス、及びブロックモードを含むモーションデータ(Motion Data)を出力する。
【0030】
予測精度を最適化するために、少数画素精度、例えば、1/2または1/4画素精度で動きベクトルを決定する。動きベクトルが少数画素精度を有し得るので、動き補償部130は、少数画素位置の画素値を算出するための補間フィルタを参照ピクチャーに適用することにより、整数画素位置の画素値から少数画素位置の画素値を算出する。
【0031】
動き補償部130は、動き推定部131から入力されたモーションデータによって、ピクチャー復元部135に保存された複数の参照ピクチャーのうち、動き推定に用いられた参照ピクチャーから、符号化しようとするブロックに対応する予測ブロックを抽出して出力する。
【0032】
動き補償部130は、少数精度の動き補償に必要な適応的補間フィルタのフィルタ特性を決定する。フィルタ特性は、例えば、適応的補間フィルタのフィルタタイプを表す情報及び適応的補間フィルタのサイズを表す情報などである。フィルタのサイズは、例えば、適応的補間フィルタのフィルタ係数の数であるタブ数などである。
【0033】
具体的に、動き補償部130は、適応的補間フィルタとして、分離型及び非分離型適応的フィルタのうち、いずれか1つを決定することができる。次いで、決定された適応的補間フィルタのタブ数及び各フィルタ係数の値を決定する。フィルタ係数の値は、整数画素との相対的な少数画素の位置ごとに異なるように決定され得る。また、動き補償部130は、フィルタ係数が固定である複数個の非適応的補間フィルタを用いることもできる。
【0034】
動き補償部130は、補間フィルタの特性を所定の処理単位に設定することができる。
例えば、少数画素単位、符号化基本単位(符号化ユニット)、スライス単位、ピクチャー単位、またはシーケンス単位に設定することができる。また、1個の映像データに対して、1個の特性を設定してもよい。したがって、所定の処理単位内では、同じフィルタ特性を利用するので、動き補償部130は、フィルタ特性を一時的に維持するメモリを備える。このメモリは必要に応じて、フィルタ特性及びフィルタ係数などを維持する。例えば、動き補償部130は、Iピクチャーごとにフィルタ特性を決定し、スライス単位にフィルタ係数を決定することができる。
【0035】
動き補償部130は、ピクチャー保存部170から参照ピクチャーを受信し、決定された適応的補間フィルタを用いてフィルタ処理を適用することにより、少数精度の予測参照画像を生成する。
【0036】
そして、生成された参照画像と、動き推定部131により決定された動きベクトルとに基づいて少数画素精度の動き補償を行うことにより、予測ブロックを生成する。
【0037】
減算部180は、符号化しようとする入力ブロックをピクチャー間予測符号化する場合、動き補償予測部137から入力ブロックに対応する参照ピクチャー内のブロックを受信して入力マクロブロックとの差分演算を行って残差信号(residue signal)を出力する。
【0038】
イントラ予測部120は、予測が行われるピクチャー内部の再構成された画素値を用いてイントラ予測符号化を行う。イントラ予測部は、予測符号化する現在ブロックを受信して現在ブロックのサイズによって予め設定された複数個のイントラ予測モードのうち、1つを選択してイントラ予測を行う。イントラ予測部120は、現在ブロックに隣接した以前に符号化された画素を用いて現在ブロックのイントラ予測モードを決定し、前記決定されたモードに対応する予測ブロックを生成する。
【0039】
現在ピクチャーに含まれた領域のうち、以前に符号化された領域は、イントラ予測部120が利用できるように再度復号化されてピクチャー保存部170に保存されている。イントラ予測部120は、ピクチャー保存部170に保存されている現在ピクチャーの以前に符号化された領域で現在ブロックに隣接した画素または隣接しないが、適用可能な画素を用いて現在ブロックの予測ブロックを生成する。
【0040】
イントラ予測部120は、イントラブロックを予測するために隣接画素を適応的にフィルタリングすることができる。復号器における同じ動作のために、符号器でフィルタリング可否を報知する情報を伝送することができる。または、現在ブロックのイントラ予測モード及び現在ブロックのサイズ情報に基づいてフィルタリング可否を決定することができる。
【0041】
映像符号化装置により使用される予測タイプは、前記符号化モード決定部により入力ブロックがイントラモードまたはインターモードに符号化されるか否かに依存する。
【0042】
イントラモードとインターモードとの切換は、イントラ・インター切換スイッチにより制御される。
【0043】
エントロピ符号化部150は、変換符号化・量子化部140により量子化された量子化係数と動き推定部131により生成された動き情報とをエントロピ符号化する。また、イントラ予測モード、制御データ(例えば、量子化ステップサイズ等)等も符号化され得る。さらに、動き補償部130により決定されたフィルタ係数も符号化されてビットストリームとして出力する。
【0044】
図2は、本発明に係るイントラ予測部120の動作を示したブロック図である。
【0045】
まず、符号化モード決定部110により予測モード情報及び予測ブロックのサイズを受信する(S110)。予測モード情報は、イントラモードを表す。予測ブロックのサイズは、64×64、32×32、16×16、8×8、4×4等の正方形でありうるが、これに限定しない。すなわち、前記予測ブロックのサイズが正方形でない非正方形でありうる。
【0046】
次に、予測ブロックのイントラ予測モードを決定するために、参照画素をピクチャー保存部170から読み込む。前記利用可能でない参照画素が存在するか否かを検討して参照画素生成可否を判断する(S120)。前記参照画素は、現在ブロックのイントラ予測モードを決定するのに使用される。
【0047】
現在ブロックが現在ピクチャーの上側境界に位置する場合には、現在ブロックの上側に隣接した画素が定義されない。また、現在ブロックが現在ピクチャーの左側境界に位置する場合には、現在ブロックの左側に隣接した画素が定義されない。このような画素は、利用可能な画素でないものと判断する。さらに、現在ブロックがスライス境界に位置して、スライスの上側または左側に隣接する画素が先に符号化されて復元される画素でない場合にも、利用可能な画素でないものと判断する。
【0048】
上記のように、現在ブロックの左側または上側に隣接した画素が存在しないか、予め符号化されて復元された画素が存在しない場合には、利用可能な画素のみを用いて現在ブロックのイントラ予測モードを決定することもできる。
【0049】
しかし、現在ブロックの利用可能な参照画素を用いて利用可能でない位置の参照画素を生成することもできる(S130)。例えば、上側ブロックの画素が利用可能でない場合には、左側画素の一部または全部を用いて上側画素を生成することができ、その逆にも可能である。すなわち、利用可能でない位置の参照画素から予め決められた方向に最も近い位置の利用可能な参照画素を複写して参照画素として生成することができる。予め決められた方向に利用可能な参照画素が存在しない場合には、反対方向の最も近い位置の利用可能な参照画素を複写して参照画素として生成することができる。
【0050】
一方、現在ブロックの上側または左側画素が存在する場合にも、前記画素が属するブロックの符号化モードによって利用可能でない参照画素として決定され得る。例えば、現在ブロックの上側に隣接した参照画素が属するブロックがインター符号化されて復元されたブロックである場合には、前記画素を利用可能でない画素として判断することができる。
この場合には、現在ブロックに隣接したブロックがイントラ符号化されて復元されたブロックに属する画素を用いて利用可能な参照画素を生成することができる。この場合には、符号器で符号化モードによって利用可能な参照画素を判断するという情報を復号器に伝送しなければならない。
【0051】
次に、前記参照画素を用いて現在ブロックのイントラ予測モードを決定する(S140)。現在ブロックに許容可能なイントラ予測モードの数は、ブロックのサイズによって変わることができる。例えば、現在ブロックのサイズが8×8、16×16、32×32である場合には、34個のイントラ予測モードが存在でき、現在ブロックのサイズが4×4である場合には、17個のイントラ予測モードが存在できる。前記34個または17個のイントラ予測モードは、少なくとも1つ以上の非方向性モード(non−directional mode)と複数個の方向性モード(directional modes)とで構成され得る。1つ以上の非方向性モードは、DCモード及び/又はプラナー(planar)モードでありうる。DCモード及びプラナーモードが非方向性モードに含まれる場合には、現在ブロックのサイズに関係なく、35個のイントラ予測モードが存在することもできる。このときには、2個の非方向性モード(DCモード及びプラナーモード)と33個の方向性モードとを含むことができる。
【0052】
プラナーモードは、現在ブロックの右下側(bottom−right)に位置する少なくとも1つの画素値(または前記画素値の予測値、以下、第1の参照値とする)と参照画素とを用いて現在ブロックの予測ブロックを生成する。
【0053】
図3を参照してプラナーモードを説明する。
図3は、現在ブロックが8×8ブロックである場合のプラナーモード予測を説明するための図である。
【0054】
現在ブロックの右下側(bottom−right)に位置する第1の参照値Dと現在ブロックの左側に隣接する現在ブロックの最も下方の画素に隣接する画素値Cとを用いて、その間に位置する画素に対応する予測画素を生成する。同様に、前記第1の参照値Dと現在ブロックの上側に隣接する画素とのうち、現在ブロックの最も右側の画素と隣接する画素値Bを用いて、その間に位置する画素に対応する予測画素を生成する。前記予測画素を生成するために、線形結合を使用することができる。しかし、画素の配置が線形でない場合には、予め決められた非線形結合で前記予測画素を生成することができる。
【0055】
次に、生成された予測画素(すなわち、画素CとDとの間の画素及び画素BとDとの間の画素)及び現在ブロックに隣接した画素(すなわち、AとBとの間の画素及びAとCとの間の画素)を用いて残りの予測画素を生成する。前記予測画素は、上側及び左側に隣接した2個の画素及び下側及び右側に生成された2個の画素を線形結合して生成することができる。また、前記結合は、必ず線形である必要はなく、画素の分布を考慮した非線形結合でありうる。このように、プラナーモードでは、予測画素を生成するために使用される参照画素の数が予測画素の位置によって変わり得る。
【0056】
一方、現在ブロックの左側参照画素は利用可能であるが、上側参照画素が利用可能でない場合が生じ得る。このときには、前記第1の参照値または前記左側参照画素のうち、1つを用いて前記上側参照画素を生成することができる。すなわち、左側参照画素のみ利用可能な場合には、左側参照画素のうち、最上側に位置した参照画素を複写して上側参照画素を生成することができ、前記第1の参照値と前記上側画素とに最も近接した位置にある参照画素を用いてBとDとの間の予測画素を生成することができる。
【0057】
同様に、現在ブロックの上側参照画素は利用可能であるが、左側参照画素が利用可能でない場合には、前記上側参照画素のうち、最左側に位置した参照画素を複写して左側参照画素を生成することができ、前記左側参照画素と第1の参照値とを用いてCとDとの間の予測画素を生成することができる。
【0058】
一方、前記第1の参照値またはこれを表す情報は、ビットストリームに追加されて復号器に伝送されるか、復号器が前記第1の参照値を導くこともできる。
【0059】
前記第1の参照値またはこれを表す情報を復号器に伝送する方法を利用する場合には、現在ブロックに隣接した、符号化されて復元された画素のうち、少なくとも1つ以上を用いた第1の参照値の予測値と前記第1の参照値との差分値を伝送することがビット数を減らし得る。このために、前記第1の参照値の予測値は、(1)現在ブロックに隣接した参照画素の平均値、(2)A、B、Cの平均値、(3)BとCの平均値のうち、いずれか1つでありうる。もう1つの方法では、AとCの差分値とAとBの差分値とを比較して、差分値が小さい方向を表すいずれか1つ(BまたはC)に決定することもできる。
【0060】
前記第1の参照値を符号器と復号器が導く場合には、符号器と復号器が同じ参照値を導くことができなければならない。このために、符号器では、第1の参照値を生成するために参照画素A、B、Cを用いることができる。画面が平坦に変わるという仮定下では、(1)BとAとの差分値をCに足した値またはCとAとの差分値をBに足した値、すなわち(B+C−A)、(2)BとCとの平均値のうち、いずれか1つを第1の参照値として設定することができる。この場合、B、Cの代りに、Bの隣接参照画素及びCの隣接参照画素を用いることもできる。このように、符号器と復号器とが同様に第1の参照値を復元できるので、第1の参照値またはこれを表す情報を復号器に伝送する必要がなく、伝送ビット数を減らすことができる。
【0061】
次に、現在ブロックのイントラ予測モードが決定されれば、予測ブロックを生成する(S150)。前記予測ブロックは、現在ブロックのイントラ予測モードに基づいて参照画素(生成された画素を含む)またはこれらの線形結合を用いて生成する。DCモードは、現在ブロックに隣接した参照画素の平均値を用いて現在ブロックの予測ブロックを生成する。前記参照画素は、利用可能な参照画素及び生成された参照画素を全て含むことができる。
【0062】
次に、現在ブロックのイントラ予測モードが決定されれば、前記イントラ予測モードを符号化する(S160)。前記イントラ予測モードの符号化は、イントラ予測部120で行われることができ、別のイントラ予測モード符号化装置(図示せず)またはエントロピ符号化部150で行われることもできる。
【0063】
一方、現在ブロックに隣接した参照ブロックの数が様々な場合には、前記参照ブロックの境界に位置する参照画素間に段差が生じ得る。この場合、予測ブロック生成後の残差ブロックは、高周波成分を多く含有する可能性が高くなる。したがって、参照ブロック間のブロッキングアーティファクト(blocking artifact)が現在のブロックにも影響を及ぼすという問題が生じる。このような問題は、現在ブロックのサイズが大きいほど頻度数が高まるようになる。逆に、参照ブロックのサイズが現在ブロックのサイズより大きい場合には、このような問題が生じない可能性もある。
【0064】
したがって、上記の問題点を克服するための1つの方法は、前記参照画素を適応的にフィルタリングして新しい参照画素を生成することである。これは、イントラ予測モードを決定する前に行うこともできる。イントラ予測モード及び予測ブロックのサイズによって予め前記参照画素を適応的にフィルタリングして新しい参照画素を生成し、元の参照画素及び前記生成された新しい参照画素を用いて現在ブロックのイントラ予測モードを決定することもできる。しかし、現在ブロックのイントラ予測モードを決定した後に上記の方法を行うこともできる。ブロッキングアーティファクトの問題は、ブロックのサイズが大きくなるほど大きくなるので、特定サイズのブロックの範囲では、ブロックのサイズが大きくなるほど参照画素をフィルタリングする予測モードの数を同じあるか、大きくすることができる。
【0065】
前記利用可能な参照画素のフィルタリングが必要な場合には、前記した参照画素間の段差の程度によって2個以上のフィルタを適応的に適用することもできる。前記フィルタは、低域通過フィルタであることが好ましい。例えば、2個のフィルタを用いる場合、第1のフィルタは3−tapフィルタ、第2のフィルタは5−tapフィルタでありうる。第2のフィルタは、第1のフィルタを2回適用するフィルタでありうる。前記フィルタのフィルタ係数は、対称的なことが好ましい。または、複雑度の減少のために、1個のフィルタのみを使用することもできる。
【0066】
また、前記したフィルタが、現在ブロック(イントラ予測が行われるブロック)のサイズによって適応的に適用されることが好ましい。すなわち、フィルタを適用する場合、現在ブロックのサイズが第1のサイズより小さい場合には、帯域幅が狭いフィルタを適用するか、フィルタを適用しないこともありうるし、第1のサイズ〜第2のサイズの現在ブロックに対しては、フィルタを適用するイントラ予測モードの数を増加させることが好ましい。前記イントラ予測が行われる現在ブロックは、変換ブロックのサイズでありうる。
【0067】
DCモードの場合には、参照画素の平均値で予測ブロックが生成されるので、フィルタを適用する必要がない。すなわち、フィルタを適用する場合、不要な演算量のみが多くなる。また、映像が垂直方向に連関性(correlation)のある垂直モードでは、参照画素にフィルタを適用する必要がない。映像が水平方向に連関性のある水平モードでも、参照画素にフィルタを適用する必要がない。このように、フィルタリングの適用可否は、現在ブロックのイントラ予測モードとも連関性があるので、現在ブロックのイントラ予測モード及びイントラ予測が行われるブロックのサイズに基づいて参照画素を適応的にフィルタリングすることができる。イントラ予測が行われるブロックのサイズが予め決められたサイズ(例えば、4×4)より小さい場合には、参照画素をフィルタリングしない。または、複雑度の減少のために、予め決められたサイズより大きい場合にも、参照画素をフィルタリングしないこともありうる。前記ブロックのサイズが予め決められたサイズ範囲内に属する場合には、対角線方向のイントラ予測モード(水平または垂直モードと45度角度の方向性を有するモード)と水平方向のイントラ予測モードとの間のイントラ予測モードのうち、いずれか1つのモードで参照画素がフィルタリングされれば、前記モードと対角線方向のイントラ予測モード間の方向性モードでは、参照画素をフィルタリングする。
【0068】
上記の問題点を克服するためのさらに他の方法は、前記参照画素を用いて生成された予測ブロックの一部画素を適応的にフィルタリングして新しい予測ブロックを生成することである。現在ブロックのイントラ予測モードによって予測ブロックの予測画素のうち、参照画素と接する予測画素を少なくとも1つ以上の参照画素を用いて補正することができる。これは、予測ブロック生成時に共に適用されることもできる。
【0069】
例えば、DCモードでは、予測画素のうち、参照画素と接する予測画素は、前記予測画素と接する参照画素を用いてフィルタリングする。したがって、予測画素の位置によって1個または2個の参照画素を用いて予測画素をフィルタリングする。DCモードにおける予測画素のフィルタリングは、全てのサイズの予測ブロックに適用することができる。
【0070】
垂直モードでは、予測ブロックの予測画素のうち、左側参照画素と接する予測画素は、前記予測ブロックを生成するのに用いられる上側画素以外の参照画素を用いて変更され得る。同様に、水平モードでは、生成された予測画素のうち、上側参照画素と接する予測画素は、前記予測ブロックを生成するのに用いられる左側画素以外の参照画素を用いて変更され得る。
【0071】
一方、現在ブロックと前記イントラ予測部120により生成された予測ブロックとの残差ブロックは、変換符号化・量子化部140及びエントロピ符号化部150を介して符号化される。
【0072】
前記残差ブロックは、先に変換符号化される。効果的なエネルギー圧縮のために、前記残差ブロックに適用する変換符号化のための変換ブロックのサイズを先に決定し、決定されたサイズのブロック単位で変換符号化する。または、変換のサイズは予め決定されていることもありうる。この場合、イントラ予測を行う現在ブロックのサイズが変換ブロックのサイズでありうる。イントラ予測モード値によって互いに異なる変換符号化方式が適用され得る。例えば、DC modeにイントラ予測された残差ブロックに対しては、水平及び垂直方向に整数基盤DCT(Discrete cosine transform)を、プラナーモード(planar mode)に対しては水平及び垂直方向に整数基盤DST(Discrete sine transform)を適用することもできる。これは、所定サイズより小さいか、同じブロックに対して適用することができる。しかし、所定サイズより大きい変換ブロックに対しては、イントラ予測モードに関係なく、整数基盤DCTのみを適用することもできる。水平及び垂直方向DCT方式とDST方式が予測モードによって適応的に適用されることもできる。
【0073】
次に、変換符号化された残差ブロックが量子化する。残差ブロックのサイズによって互いに異なる量子化マトリックスが適用される。また、同じサイズの残差ブロックの場合にも、互いに異なる量子化マトリックスが適用され得る。すなわち、変換符号化された残差ブロックの係数の分布に基づいて、少なくとも2個以上の量子化マトリックスのうち、最も効果的な量子化マトリックスを適用することができる。この場合には、前記量子化マトリックスを表す情報を復号器に伝送する。また、イントラ予測モードによって互いに異なる量子化マトリックスを変換符号化された残差ブロックに適用することもできる。
【0074】
次に、前記2次元の量子化された係数を予め決められた複数個のスキャンパターンのうち、1つを選択して1次元の量子化係数シーケンスに変更した後、エントロピ符号化する。前記スキャンパターンは、イントラ予測モードによって決定されることができ、イントラ予測モードと変換ブロックとのサイズによって決定されることもできる。
【0075】
図4は、本発明の実施形態に係る動画像復号化装置を示したブロック図である。
【0076】
図4に示すように、本発明に係る動画像復号化装置は、エントロピ復号化部210、逆量子化・逆変換部220、加算器270、デブロッキングフィルタリング部250、ピクチャー保存部260、イントラ予測部230、動き補償予測部240、及びイントラ・インター切換スイッチ280を備える。
【0077】
エントロピ復号化部210は、動画像符号化装置から伝送される符号化ビットストリームを復号して、イントラ予測モードインデックス、動き情報、量子化係数シーケンスなどに分離する。エントロピ復号化部210は、復号された動き情報を動き補償予測部240に供給する。エントロピ復号化部210は、前記イントラ予測モードインデックスを前記イントラ予測部230、逆量子化・逆変換部220に供給する。また、前記エントロピ復号部210は、前記逆量子化係数シーケンスを逆量子化・逆変換部220に供給する。
【0078】
逆量子化・逆変換部220は、前記量子化係数シーケンスを2次元配列の逆量子化係数に変換する。前記変換のために、複数個のスキャニングパターンのうち、1つを選択する。現在ブロックの予測モード(すなわち、イントラ予測及びインター予測のうち、いずれか1つ)とイントラ予測モードと変換ブロックとのサイズに基づいて複数個のスキャニングパターンのうち、1つを選択する。前記イントラ予測モードは、イントラ予測部またはエントロピ復号化部から受信する。
【0079】
逆量子化・逆変換部220は、前記2次元配列の逆量子化係数に複数個の量子化マトリックスのうち、選択された量子化マトリックスを用いて量子化係数を復元する。前記量子化マトリックスは、符号器から受信された情報を利用して決定されることもできる。復元しようとする現在ブロック(変換ブロック)のサイズによって互いに異なる量子化マトリックスが適用され、同一サイズのブロックに対しても、前記現在ブロックの予測モード及びイントラ予測モードのうち、少なくとも1つに基づいて量子化マトリックスを選択することができる。そして、前記復元された量子化係数を逆変換して残差ブロックを復元する。
【0080】
加算器270は、逆量子化・逆変換部220により復元された残差ブロックとイントラ予測部230または動き補償予測部240により生成される予測ブロックとを加算することにより、映像ブロックを復元する。
【0081】
デブロッキングフィルタリング部250は、加算器270により生成された復元映像にデブロッキングフィルタ処理を実行する。これにより、量子化過程による映像損失に基づくデブロッキングアーティファクトを減らすことができる。
【0082】
ピクチャー保存部260は、デブロッキングフィルタリング部250によりデブロッキングフィルタ処理が実行されたローカル復号映像を維持するフレームメモリである。
【0083】
イントラ予測部230は、エントロピ復号化部210から受信されたイントラ予測モードインデックスに基づいて現在ブロックのイントラ予測モードを復元する。そして、復元されたイントラ予測モードによって予測ブロックを生成する。
【0084】
動き補償予測部240は、動きベクトル情報に基づいてピクチャー保存部240に保存されたピクチャーから現在ブロックに対する予測ブロックを生成する。少数精度の動き補償が適用される場合には、選択された補間フィルタを適用して予測ブロックを生成する。
【0085】
イントラ・インター切換スイッチ280は、符号化モードに基づいてイントラ予測部250と動き補償予測部260とのうち、いずれか1つで生成された予測ブロックを加算器270に提供する。
【0086】
以下、前記
図4を参照して、現在ブロックをイントラ予測を介して復元する過程を説明する。
図5は、本発明の実施形態に係るイントラブロックを復元するための順序図である。
【0087】
まず、受信されたビットストリームから現在ブロックのイントラ予測モードを復号する(S310)。
【0088】
このために、エントロピ復号化部210は、複数個のイントラ予測モードテーブルのうち1つを参照して現在ブロックの第1のイントラ予測モードインデックスを復元する。
【0089】
前記複数個のイントラ予測モードテーブルは、符号器と復号器が共有するテーブルであって、現在ブロックに隣接した複数個のブロックのイントラ予測モードの分布によって選択されたいずれか1つのテーブルが適用され得る。一例として、現在ブロックの左側ブロックのイントラ予測モードと現在ブロックの上側ブロックのイントラ予測モードとが同じであれば、第1のイントラ予測モードテーブルを適用して現在ブロックの第1のイントラ予測モードインデックスを復元し、同じでなければ、第2のイントラ予測モードテーブルを適用して現在ブロックの第1のイントラ予測モードインデックスを復元することができる。さらに他の例として、現在ブロックの上側ブロックと左側ブロックのイントラ予測モードが共に方向性予測モード(directional intra prediction mode)である場合には、前記上側ブロックのイントラ予測モードの方向と前記左側ブロックのイントラ予測モードの方向とが所定角度以内であれば、第1のイントラ予測モードテーブルを適用して現在ブロックの第1のイントラ予測モードインデックスを復元し、所定角度を外れれば、第2のイントラ予測モードテーブルを適用して現在ブロックの第1のイントラ予測モードインデックスを復元することもできる。
【0090】
エントロピ復号化部210は、復元された現在ブロックの第1のイントラ予測モードインデックスをイントラ予測部230に伝送する。前記第1のイントラ予測モードインデックスを受信したイントラ予測部230は、前記インデックスが最小値を有する場合(すなわち、0)には、現在ブロックの最大可能モードを現在ブロックのイントラ予測モードとして決定する。しかし、前記インデックスが0以外の値を有する場合には、現在ブロックの最大可能モードが表すインデックスと前記第1のイントラ予測モードインデックスとを比較する。比較の結果、前記第1のイントラ予測モードインデックスが前記現在ブロックの最大可能モードが表すインデックスより小さくなければ、前記第1のイントラ予測モードインデックスに1を足した第2のイントラ予測モードインデックスに対応するイントラ予測モードを現在ブロックのイントラ予測モードとして決定し、それとも、前記第1のイントラ予測モードインデックスに対応するイントラ予測モードを現在ブロックのイントラ予測モードとして決定する。
【0091】
現在ブロックに許容可能なイントラ予測モードは、少なくとも1つ以上の非方向性モード(non−directional mode)と複数個の方向性モード(directional modes)とで構成され得る。1つ以上の非方向性モードは、DCモード及び/又はプラナー(planar)モードでありうる。また、DCモードとプラナーモードのうち、いずれか1つが適応的に前記許容可能なイントラ予測モードセットに含まれ得る。このために、ピクチャーヘッダまたはスライスヘッダに前記許容可能なイントラ予測モードセットに含まれる非方向性モードを特定する情報が含まれ得る。
【0092】
次に、イントラ予測部230は、イントラ予測ブロックを生成するために、参照画素をピクチャー保存部260から読み込み、利用可能でない参照画素が存在するか否かを判断する(S320)。前記判断は、現在ブロックの復号されたイントラ予測モードを適用してイントラ予測ブロックを生成するのに用いられる参照画素の存在可否によって行なわれることもできる。
【0093】
次に、イントラ予測部230は、参照画素を生成する必要がある場合には、予め復元された利用可能な参照画素を用いて利用可能でない位置の参照画素を生成する(S325)。利用可能でない参照画素に対する定義及び参照画素の生成方法は、
図2によるイントラ予測部120における動作と同様である。ただし、現在ブロックの復号されたイントラ予測モードによってイントラ予測ブロックを生成するのに用いられる参照画素のみを選択的に復元することもできる。
【0094】
次に、イントラ予測部230は、予測ブロックを生成するために、参照画素にフィルタを適用するか否かを判断する(S330)。すなわち、イントラ予測部230は、現在ブロックのイントラ予測ブロックを生成するために、参照画素に対してフィルタリングを適用するか否かを前記復号されたイントラ予測モード及び現在予測ブロックのサイズに基づいて決定する。ブロッキングアーティファクトの問題は、ブロックのサイズが大きくなるほど大きくなるので、ブロックのサイズが大きくなるほど参照画素をフィルタリングする予測モードの数を増加させることができる。しかし、ブロックが所定サイズより大きくなる場合には、平坦な領域とみなすことができるので、複雑度の減少のために参照画素をフィルタリングしないこともありうる。
【0095】
前記参照画素にフィルタ適用が必要であると判断された場合には、フィルタを用いて前記参照画素をフィルタリングする(S335)。
【0096】
前記した参照画素間の段差の程度によって少なくとも2個以上のフィルタを適応的に適用することもできる。前記フィルタのフィルタ係数は対称的であることが好ましい。
【0097】
また、前記した2個以上のフィルタが現在ブロックのサイズによって適応的に適用されることもできる。すなわち、フィルタを適用する場合、サイズが小さいブロックに対しては帯域幅が狭いフィルタを、サイズが大きいブロックに対しては帯域幅が広いフィルタを適用することもできる。
【0098】
DCモードの場合には、参照画素の平均値で予測ブロックが生成されるので、フィルタを適用する必要がない。すなわち、フィルタを適用する場合、不要な演算量のみが多くなる。また、映像が垂直方向に連関性(correlation)のある垂直モードでは、参照画素にフィルタを適用する必要がない。映像が水平方向に連関性のある水平モードでも、参照画素にフィルタを適用する必要がない。このように、フィルタリングの適用可否は、現在ブロックのイントラ予測モードとも連関性があるので、現在ブロックのイントラ予測モード及び予測ブロックのサイズに基づいて参照画素を適応的にフィルタリングすることができる。
【0099】
次に、前記復元されたイントラ予測モードによって、前記参照画素または前記フィルタリングされた参照画素を用いて予測ブロックを生成する(S340)。前記予測ブロックの生成は、
図2の符号器における動作と同じであるため、省略する。プラナーモードの場合にも、
図2の符号器における動作と同じであるため、省略する。
【0100】
次に、前記生成された予測ブロックをフィルタリングするか否かを判断する(S350)。前記フィルタリング可否の判断は、スライスヘッダまたは符号化ユニットヘッダに含まれた情報を利用することができる。また、現在ブロックのイントラ予測モードによって決定されることもできる。
【0101】
前記生成された予測ブロックをフィルタリングするものと判断する場合、生成された予測ブロックをフィルタリングする(S335)。具体的に、現在ブロックに隣接した利用可能な参照画素を用いて生成された予測ブロックの特定位置の画素をフィルタリングして新しい画素を生成する。これは、予測ブロック生成時に共に適用されることもできる。例えば、DCモードでは、予測画素のうち、参照画素と接する予測画素は、前記予測画素と接する参照画素を用いてフィルタリングする。したがって、予測画素の位置によって1個または2個の参照画素を用いて予測画素をフィルタリングする。DCモードにおける予測画素のフィルタリングは、全てのサイズの予測ブロックに適用することができる。垂直モードでは、予測ブロックの予測画素のうち、左側参照画素と接する予測画素は、前記予測ブロックを生成するのに用いられる上側画素以外の参照画素を用いて変更され得る。同様に、水平モードでは、生成された予測画素のうち、上側参照画素と接する予測画素は、前記予測ブロックを生成するのに用いられる左側画素以外の参照画素を用いて変更され得る。
【0102】
このような方式で復元された現在ブロックの予測ブロックと復号化した現在ブロックの残差ブロックとを用いて現在ブロックが復元される。
【0103】
上記では、本発明の好ましい実施形態を参照して説明したが、当該技術分野の熟練された当業者は、下記の特許請求の範囲に記載された本発明の思想及び領域から逸脱しない範囲内で本発明を様々に修正及び変更させることができるということが理解できるであろう。