【文献】
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-12
【文献】
Test Model under Consideration,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2nd Meeting: Geneva, CH,2010年 7月28日,JCTVC-B205_draft000,pp.1-14,53-67
【文献】
Yunfei Zheng et al.,Simplified Intra Smoothing,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,3rd Meeting: Guangzhou, CN,2010年10月,JCTVC-C234_r1,pp.1-5
【文献】
Kazuo Sugimoto et al.,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,4th Meeting: Daegu, KR,2011年11月,JCTVC-D109,pp.1-4
【文献】
Sandeep Kanumuri et al.,Enhancements to Intra Coding,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-D235,pp.1-7
【文献】
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月,JCTVC-E069_r3,pp.1-12
【文献】
Jingli Zhou et al.,An Interpolation Method by Predicting the Direction of Pixel Texture Changing Trend for H.264/AVC In,Second International Symposium on Intelligent Information Technology Application (IITA 2008),IEEE,2008年12月,Vol.1,pp.884 - 888
(58)【調査した分野】(Int.Cl.,DB名)
前記参照画素フィルタリング部は、前記現在ブロックのサイズが既定のサイズより大きいか、またはそれと同一であれば、前記現在ブロックに隣接している参照画素についてフィルタリングを行わないことを特徴とする請求項1に記載の映像符号化装置。
【発明を実施するための形態】
【0014】
以下、本発明のいろいろな実施形態を、例示的な図面により詳細に説明する。本発明は多様な変更を加えることができ、かついろいろな実施形態を持つことができるところ、本発明を特定の実施形態に限定しようとするものではなく、本発明の思想及び技術範囲に含まれるあらゆる変更、均等物ないし代替物を含むと理解されねばならない。各図面の説明において、類似した構成要素には類似した参照符号をつけた。
【0015】
映像符号化のために、各ピクチャーは、複数のスライスで形成され、各スライスは、複数の符号化単位で形成される。HD級以上の映像では、映像が比較的平坦になる領域が多いので、16×16サイズのMBより大きい単位の符号化単位で符号化を行うことで映像圧縮率を高める。
【0016】
本発明による符号化単位は、16×16サイズのMBだけでなく、32×32サイズのブロック、64×64サイズのブロックでありうる。かつ、8×8サイズまたはさらに小さなサイズのブロックも、符号化単位になりうる。便宜のため、最も大きい符号化単位を、スーパーマクロブロック(SMB)と称する。そして、前記スーパーマクロブロックのサイズは、最も小さな符号化単位のサイズを示す情報及び深さ情報で定められる。前記深さ情報は、前記スーパーマクロブロックと最も小さな符号化単位との間のサイズ差値を示す。
【0017】
したがって、映像シーケンスのあらゆるピクチャーの符号化に使う符号化単位は、SMB及びこれらのサブブロックでありうる。映像シーケンスに使う符号化単位は、デフォルトと指定するか、またはシーケンスヘッダで指定する。
【0018】
SMB(すなわち、最大符号化単位)は、1つ以上の符号化単位で構成される。したがって、SMBは、符号化単位の分割構造及び符号化単位を含むために、再帰的符号化ツリー(Coding tree)形態を持つ。したがって、SMBを基準として説明すれば、次の通りである。先ずSMBが4個の下位符号化単位に分割されなければ、前記符号化ツリーは、分割されていないことを示す情報と1つの符号化単位とで構成される。しかし、SMBが4個の下位符号化単位に分割されれば、前記符号化ツリーは、分割されたことを示す情報と4個の下位符号化ツリーとで構成される。同様に、それぞれの下位符号化ツリーは、SMB単位の符号化ツリーと同じ構造を持つ。但し、最小符号化単位以下には分割されない。
【0019】
一方、符号化ツリー内のそれぞれの符号化単位は、符号化単位自体またはサブブロック単位でイントラ予測(Intra Pediction)またはインター予測(Inter Prediction)が行われる。前記イントラ予測またはインター予測を行う単位を、予測単位(Prediction unit)と称する。イントラ予測のための予測単位は、2N×2NまたはN×Nである。インター予測のための予測単位は、2N×2N、2N×N、N×2N、N×Nでありうる。ここで2Nは、符号化単位の横縦長を意味する。
【0020】
符号化単位は、符号化単位内の予測単位の予測モードと、予測単位のサイズ情報(partmode)とを含まねばならない。符号化効率を高めるために、予測モード情報及び予測単位のサイズ情報を結合してジョイントコーディングできる。この場合、各符号化単位ごとにジョイントコーディングされた予測タイプ(pred_type)が含まれる。
【0021】
符号化単位は、予測単位ごとに付加情報コンテナを含む。付加情報コンテナは、前記予測単位の予測ブロックを生成するために必要な付加情報を含む。イントラ予測の場合、前記付加情報は、符号化されたイントラ予測情報を含む。インター予測の場合、前記付加情報は、符号化された動き情報を含む。前記動き情報は、動きベクトル及び参照ピクチャーインデックスを含む。
【0022】
符号化単位は、符号化単位の残差信号コンテナを含む。前記残差信号コンテナは、1つの変換ツリー、1つの輝度残差信号コンテナ及び2個の色差残差信号コンテナを含む。前記変換ツリーは、ツリー構造で形成された残差信号コンテナ内の変換ブロックの残差信号有無を示す。残差信号コンテナは、再帰的ツリー構造で形成される。すなわち、符号化単位の残差信号コンテナを基準として説明すれば、次の通りである。先ず、前記符号化単位の残差信号コンテナが4個の下位残差信号コンテナに分割されなければ、前記残差信号コンテナは、量子化情報(残差量子化パラメータ)と符号化された残差信号とを含む。前記残差信号コンテナが4個の下位残差信号コンテナに分割されれば、前記符号化単位の残差信号コンテナは、量子化情報と4個の下位残差信号コンテナとを含む。前記下位残差信号コンテナは、量子化情報を含まないことを除いては、前記符号化単位残差信号コンテナと同じ構造を持つ。
【0023】
一方、前述した内容では、符号化単位が均等分割された予測単位のみについて説明した。しかし、映像の特性上、特定方向または特定位置に境界を持つ場合には、前述した均等分割を用いる場合、境界部分では、類似したデータについて互いに異なる予測単位が使われ、残差信号を効果的に低減させ得ないという問題点がある。
【0024】
したがって、このような場合には、映像の境界部分の形象によってSMBまたはMBを特定方向に分割してイントラまたはインター予測を行うことが、残差信号の圧縮にさらに効果的である。
【0025】
最も簡単な適応的なモードは、予測領域の局所的な地形の統計的依存性を抽出するために、符号化単位を、直線を用いて2個のブロックに分割することである。すなわち、映像の境界部分を直線でマッチングさせて分割することである。この場合、分割可能な方向を所定数に限定することが望ましい。例えば、ブロックを分割する方法を、水平、垂直、上向き対角線、下向き対角線の4方向に限定する。また、水平、垂直のみに限定してもよい。分割可能な数は、3、5、7などである。分割可能な数は、ブロックのサイズによって異ならせる。例えば、サイズの大きい符号化単位に対して相対的に分割可能な数を増やす。
【0026】
インター予測の場合、一つの符号化単位をさらに適応的に予測するために2個の予測ブロックに分割した場合、予測ブロックそれぞれについて動き予測及び動き補償を行わねばならない。したがって、それぞれの分割された領域ごとに動き情報を求め、動き情報に基づいて得られた予測ブロックとの残差信号を符号化する。
【0027】
一つの符号化単位に対して分割された2個の予測ブロックことの残差信号を求めた後、2個の残差信号を加えて一つの符号化単位残差信号を形成して変換符号化する。この場合には、境界面を中心としてそれぞれの分割された領域の残差信号の分布が全体的な分布と異なる確率が大きいため、いずれか一領域の値に一定値をかけて一つの符号化単位に対する残差信号を生成する。また、2個の残差信号の境界部分をオーバーラップさせ、境界部分をスムージングして一つの残差信号を生成する。
【0028】
さらに他の方法では、ブロックのそれぞれの分割領域別にパッディングによりブロックを生成して符号化する。すなわち、2個の分割領域のうち現在分割領域を符号化する時、ブロックを構成する他の分割領域を現在分割領域の値でパッディングして一つのブロックに構成した後、2次元変換符号化する。
【0029】
図1は、本発明による動画符号化装置を示すブロック図である。
図1を参照すれば、本発明による動画符号化装置100は、ピクチャー分割部110、変換部120、量子化部130、スキャニング部131、エントロピー符号化部140、イントラ予測部150、インター予測部160、逆量子化部135、逆変換部125、後処理部170、ピクチャー保存部180、減算部190及び加算部195を備える。
【0030】
ピクチャー分割部110は、入力されるビデオ信号を分析し、ピクチャーを最大の符号化単位ごとに所定サイズの符号化単位に分割して予測モードを定め、前記符号化単位別に予測単位のサイズを定める。そして、ピクチャー分割部110は、符号化する予測単位を予測モードによってイントラ予測部150またはインター予測部160に伝送する。また、ピクチャー分割部110は、符号化する予測単位を減算部190に伝送する。
【0031】
変換部120は、入力された原本ブロックと、イントラ予測部150またはインター予測部160で生成された予測ブロックの残差信号である残差ブロックとを変換する。前記残差ブロックは、符号化単位で構成される。符号化単位で構成された残差ブロックは、最適の変換単位に分割されて変換される。予測モード(intra or inter)によって互いに異なる変換マトリックスが定められる。また、イントラ予測の残差信号は、イントラ予測モードによって方向性を持つので、イントラ予測モードによって適応的に変換マトリックスが定められる。変換単位は、2個(水平、垂直)の1次元変換マトリックスによって変換される。例えば、インター予測の場合には、既定の1つの変換マトリックスが定められる。一方、イントラ予測の場合、イントラ予測モードが水平である場合には、残差ブロックが垂直方向への方向性を持つ確率が高くなるので、垂直方向にはDCT基盤の定数マトリックスを適用し、水平方向にはDST基盤またはKLT基盤の定数マトリックスを適用する。イントラ予測モードが垂直である場合には、垂直方向にはDST基盤またはKLT基盤の定数マトリックスを、水平方向にはDCT基盤の定数マトリックスを適用する。DCモードの場合には、両方向ともDCT基盤定数マトリックスを適用する。また、イントラ予測の場合、変換単位のサイズに依存して変換マトリックスが適応的に定められてもよい。
【0032】
量子化部130は、前記変換マトリックスによって変換された残差ブロックの係数を量子化するための量子化ステップサイズを、符号化単位別に定める。量子化ステップサイズは、既定のサイズ以上の符号化単位別に定められる。前記既定のサイズは、8×8または16×16でありうる。そして、定められた量子化ステップサイズ及び予測モードによって定められる量子化マトリックスを用いて、前記変換ブロックの係数を量子化する。量子化部130は、現在符号化単位の量子化ステップサイズ予測子として、現在符号化単位に隣接している符号化単位の量子化ステップサイズを用いる。量子化部130は、現在符号化単位の左側符号化単位、上側符号化単位、左上側符号化単位の順序で検索し、1つまたは2つの有効な量子化ステップサイズを用いて現在符号化単位の量子化ステップサイズ予測子を生成する。例えば、前記順序で検索された有効な1番目の量子化ステップサイズを量子化ステップサイズ予測子と定める。また、前記順序で検索された有効な2つの量子化ステップサイズの平均値を量子化ステップサイズ予測子と定めてもよく、1つのみ有効な場合には、これを量子化ステップサイズ予測子と定める。前記量子化ステップサイズ予測子が定められれば、現在符号化単位の量子化ステップサイズと前記量子化ステップサイズ予測子との差分値を、エントロピー符号化部140に伝送する。
【0033】
一方、スライスが符号化単位で分離される場合には、現在符号化単位の左側符号化単位、上側符号化単位、左上側符号化単位いずれも存在しない可能性がある。一方、最大符号化単位内の符号化順序上、以前に存在する符号化単位がありうる。よって、現在符号化単位に隣接している符号化単位及び前記最大符号化単位内では、符号化順序上、直前の符号化単位が候補者になりうる。この場合、1)現在符号化単位の左側符号化単位、2)現在符号化単位の上側符号化単位、3)現在符号化単位の左上側符号化単位、4)符号化順序上、直前の符号化単位順序で優先順位を置く。前記順序は変わってもよく、前記左上側符号化単位は省略してもよい。
【0034】
前記量子化された変換ブロックは、逆量子化部135及びスキャニング部131に提供される。
【0035】
スキャニング部131は、量子化された変換ブロックの係数をスキャニングして1次元の量子化係数に変換する。量子化後の変換ブロックの係数分布がイントラ予測モードに依存的でありうるので、スキャニング方式は、イントラ予測モードによって定められる。また、係数スキャニング方式は、変換単位のサイズによって異なって定められてもよい。
【0036】
逆量子化135は、前記量子化された量子化係数を逆量子化する。逆変換部125は、逆量子化された変換係数を空間領域の残差ブロックに復元する。加算器は、前記逆変換部によって復元された残差ブロックと、イントラ予測部150またはインター予測部160からの予測ブロックとを合わせて復元ブロックを生成する。
【0037】
後処理部170は、復元されたピクチャーに発生するブロッキング効果を除去するためのデブロッキングフィルタリング過程、画素単位で原本映像との差値を補うための適応的オフセット適用過程、及び符号化単位で原本映像との差値を補うための適応的ループフィルタリング過程を行う。
【0038】
デブロッキングフィルタリング過程は、既定のサイズ以上のサイズを持つ予測単位及び変換単位の境界に適用することが望ましい。前記サイズは、8×8でありうる。前記デブロッキングフィルタリング過程は、フィルタリングする境界(boundary)を定める段階、前記境界に適用する境界フィルタリング強度(bounary filtering strength)を定める段階、デブロッキングフィルターの適用如何を定める段階、前記デブロッキングフィルターを適用すると定められた場合、前記境界に適用するフィルターを選択する段階を含む。
【0039】
前記デブロッキングフィルターの適用如何は、i)前記境界フィルタリング強度が0より大きいかどうか、及びii)前記フィルタリングする境界に隣接している2個のブロック(Pブロック、Qブロック)境界部分における画素値の変化程度を示す値が、量子化パラメータによって定められる第1基準値より小さいかどうかによって定められる。
【0040】
前記フィルターは、少なくとも2つ以上であることが望ましい。ブロック境界に位置している2画素間の差値の絶対値が第2基準値より大きいか、または同じ場合には、相対的に弱いフィルタリングを行うフィルターを選択する。前記第2基準値は、前記量子化パラメータ及び前記境界フィルタリング強度によって定められる。
【0041】
適応的オフセット適用過程は、デブロッキングフィルターが適用された映像内の画素と原本画素との差値(distortion)を低減させるためのものである。ピクチャーまたはスライス単位で前記適応的オフセット適用過程を行うかどうかを定める。ピクチャーまたはスライスは、複数のオフセット領域に分割され、各オフセット領域別にオフセットタイプが定められる。オフセットタイプは、既定数(例えば、4個)のエッジオフセットタイプと、2個のバンドオフセットタイプとを含む。オフセットタイプがエッジオフセットタイプである場合には、各画素が属するエッジタイプを定め、これに対応するオフセットを適用する。前記エッジタイプは、現在画素に隣接している2個の画素値の分布を基準として定める。
【0042】
適応的ループフィルタリング過程は、デブロッキングフィルタリング過程または適応的オフセット適用過程を経て復元された映像と原本映像とを比べた値に基づいてフィルタリングを行う。適応的ループフィルターは、4×4サイズのブロックに基づいて一つのラプラシアン活動値(Laplacian Activity value)を通じて検出される。前記定められたALFは、4×4サイズまたは8×8サイズのブロックに含まれた画素全体に適用される。適応的ループフィルターの適用如何は、符号化単位別に定められる。各符号化単位によって適用されるループフィルターのサイズ及び係数は変わりうる。符号化単位別に、前記適応的ループフィルターの適用如何を示す情報、フィルター係数情報、フィルター形態情報などは、各スライスヘッダに含まれて復号器に伝送される。色差信号の場合には、ピクチャー単位で適応的ループフィルターの適用如何を定める。ループフィルターの形態も輝度とは異なって長方形でありうる。
【0043】
ピクチャー保存部180は、後処理された映像データを後処理部160から入力され、ピクチャー単位で映像を復元して保存する。ピクチャーは、フレーム単位の映像またはフィールド単位の映像である。ピクチャー保存部180は、複数のピクチャーを保存できるバッファ(図示せず)を備える。
【0044】
インター予測部160は、前記ピクチャー保存部180に保存された少なくとも一つ以上の参照ピクチャーを用いて動き推定を行い、参照ピクチャーを示す参照ピクチャーインデックス及び動きベクトルを定める。そして、定められた参照ピクチャーインデックス及び動きベクトルによって、ピクチャー保存部180に保存された複数の参照ピクチャーのうち動き推定に用いられた参照ピクチャーから、符号化しようとする予測単位に対応する予測ブロックを抽出して出力する。
【0045】
イントラ予測部150は、現在予測単位が含まれるピクチャー内部の再構成された画素値を用いてイントラ予測符号化を行う。イントラ予測部150は、予測符号化する現在予測単位を入力され、現在ブロックのサイズによって予め設定された数のイントラ予測モードのうち一つを選択してイントラ予測を行う。イントラ予測部は、イントラ予測ブロックを生成するために参照画素を適応的にフィルタリングする。参照画素が利用不可能な場合には、利用可能な参照画素を用いて参照画素を生成する。
【0046】
エントロピー符号化部140は、量子化部130によって量子化された量子化係数、イントラ予測部150から受信されたイントラ予測情報、インター予測部160から受信された動き情報などをエントロピー符号化する。
【0047】
図2は、
図1のスキャニング部131のスキャニング動作過程を示すフローチャートである。
【0048】
先ず、現在量子化された係数ブロックを複数のサブセットに分割するかどうかを判断する(S110)。前記分割如何の決定は、現在変換単位のサイズによる。すなわち、変換単位のサイズが第1基準サイズより大きい場合、前記符号化された量子化係数を複数のサブセットに分割する。前記第1基準サイズは、4×4または8×8であることが望ましい。前記所定サイズ情報は、ピクチャーヘッダまたはスライスヘッダを通じて復号器に伝送してもよい。
【0049】
前記量子化された係数ブロックが複数のサブセットに分割されなければ、前記量子化された係数ブロックに適用されるスキャンパターンを定める(S120)。前記スキャンパターン決定段階(S120)は、段階(S110)前に行われるか、または別途の段階として行われる。
【0050】
定められたスキャンパターンによって、前記量子化された係数ブロックの係数をスキャンする(S130)。前記スキャンパターンは、予測モード及びイントラ予測モードによって適応的に定められる。インター予測モードの場合には、既定の一つのスキャンパターン(例えば、ジグザグスキャン)のみを適用する。また、既定の複数のスキャンパターンのうちいずれか一つを選択してスキャンし、スキャンパターン情報を復号器に伝送する。イントラ予測の場合には、イントラ予測モードによって既定のスキャンパターンを適用する。例えば、垂直イントラ予測モード及び隣接している予測方向の所定数のイントラ予測モードについては、水平優先スキャンを適用する。水平イントラ予測モード及び隣接している予測方向を持つ所定数のイントラ予測モードについては、垂直スキャンを適用する。前記所定数は、予測単位別に許容されるイントラ予測モード数(または、方向性イントラ予測モード数)または予測単位のサイズによって変わる。例えば、現在予測単位に許容される方向性イントラ予測モードの数が16である場合には、水平または垂直イントラ予測モードを基準として両側にそれぞれ2個であることが望ましい。現在予測単位に許容される方向性イントラ予測モードの数が33である場合には、水平または垂直イントラ予測モードを基準として両側にそれぞれ4個であることが望ましい。一方、非方向性モードについては、ジグザグスキャンを適用する。非方向性モードは、DCモードまたは平面モードである。
【0051】
現在量子化された係数ブロックが複数のサブセットに分割されると判断されれば、前記変換量子化された係数ブロックを、複数のサブセットに分割する(S140)。前記複数のサブセットは、一つのメインサブセット及び少なくとも一つ以上の残余サブセットで構成される。メインサブセットは、DC係数を含む左上側に位置し、前記残余サブセットは、メインサブセット以外の領域をカバーする。
【0052】
サブセットに適用されるスキャンパターンを定める(S150)。前記スキャンパターンは、あらゆるサブセットに適用される。前記スキャンパターンは、予測モード及びイントラ予測モードによって適応的に定められる。前記段階(S150)は、段階(S110)前に行われてもよく、別途の過程として行われてもよい。
現在変換量子化された係数ブロックのサイズ(変換ブロックのサイズ)が第2基準サイズ(例えば、8×8)より大きい場合には、ジグザグスキャンのみを適用する。よって、第1基準サイズが第2基準サイズより小さな場合にのみ前記段階が行われる。
【0053】
インター予測モードの場合、前記サブセット内のスキャンパターンは、既定の一つのスキャンパターン(例えば、ジグザグスキャン)でありうる。イントラ予測の場合には、S120段階と同一である。
【0054】
前記サブセット内の量子化係数のスキャン順序は、逆方向にスキャンする。すなわち、スキャンパターンによって、前記サブセット内の0ではない最後の量子化係数から逆方向に、0ではない量子化係数をスキャンしてエントロピー符号化する。
【0055】
次いで、各サブセット別に、スキャンパターンによって量子化係数をスキャンする(S160)。前記サブセット内の量子化係数のスキャン順序は、逆方向にスキャンする。すなわち、スキャンパターンによって、前記サブセット内の0ではない最後の量子化係数から逆方向に、0ではない量子化係数をスキャンしてエントロピー符号化する。
【0056】
また、サブセットの間のスキャンパターンは、ジグザグスキャンを適用する。スキャンパターンは、メインサブセットから順方向に残余サブセットにスキャンすることが望ましいが、その逆方向も可能である。また、サブセット間のスキャンパターンを、サブセット内に適用されたスキャンパターンと同じく適用してもよい。
【0057】
一方、符号器は、前記変換単位内の0ではない最後の量子化係数の位置を示す情報を復号器に伝送する。各サブセット内の0ではない最後の量子化係数の位置を示す情報も復号器に伝送する。前記情報は、それぞれのサブセット内の0ではない最後の量子化係数の位置を示す情報である。
【0058】
図3は、本発明の実施形態による動画復号化装置を示すブロック図である。
図3を参照すれば、本発明による動画復号化装置は、エントロピー復号化部210、逆スキャニング部220、逆量子化部230、逆変換部240、イントラ予測部250、インター予測部260、後処理部270、ピクチャー保存部280、加算部290、及びイントラ/インター転換スィッチ295を備える。
【0059】
エントロピー復号化部210は、受信された符号化ビートストリームを復号して、イントラ予測情報、インター予測情報、量子化係数情報などに分離する。エントロピー復号部210は、復号されたインター予測情報をインター予測部260に供給する。エントロピー復号部210は、前記イントラ予測情報をイントラ予測部250及び逆変換部240に供給する。また、前記エントロピー復号化210は、前記逆量子化係数情報を逆スキャニング部220に供給する。
【0060】
逆スキャニング部220は、前記量子化係数情報を2次元配列の逆量子化ブロックに変換する。前記変換のために、複数の逆スキャニングパターンのうち一つを選択する。係数逆スキャニングパターンは、予測モードとイントラ予測モードのうち少なくとも一つに基づいて定められる。逆スキャニング部220の動作は、前述したスキャニング部131の動作の逆過程と同一である。すなわち、復号化しようとする現在変換単位サイズが第1基準サイズより大きければ、前記逆スキャニングパターンに基づいて複数のサブセット別に逆スキャニングして、前記逆スキャニングされた複数のサブセットを用いて変換単位サイズの逆量子化ブロックを生成する。一方、復号化しようとする現在変換単位サイズが第1基準サイズより大きくなければ、前記逆スキャニングパターンに基づいて逆スキャニングして、変換単位サイズの逆量子化ブロックを生成する。
【0061】
逆量子化部230は、現在符号化単位の量子化ステップサイズ予測子を定める。前記予測子の決定過程は、
図1の量子化部130の予測子決定過程と同一であるので略する。逆量子化部230は、定められた量子化ステップサイズ予測子と、受信した残差量子化ステップサイズとを加えて、現在逆量子化ブロックに適用された量子化ステップサイズを得る。逆量子化部230は、量子化ステップサイズが適用された量子化マトリックスを用いて逆量子化係数を復元する。復元しようとする現在ブロックのサイズによって互いに異なる量子化マトリックスが適用され、同一サイズのブロックに対しても、前記現在ブロックの予測モード及びイントラ予測モードのうち少なくとも一つに基づいて量子化マトリックスが選択される。
【0062】
逆変換部240は、逆量子化ブロックを逆変換して残差ブロックを復元する。そして、前記復元された量子化係数を逆変換して残差ブロックを復元する。前記逆量子化ブロックに適用する逆変換マトリックスは、予測モード(イントラまたはインター)及びイントラ予測モードによって適応的に定められる。
図1の変換部120に適用された変換マトリックスの逆変換マトリックスが定められるので、具体的な記載は略する。
【0063】
加算部290は、逆変換部240によって復元された残差ブロックと、イントラ予測部250またはインター予測部260によって生成される予測ブロックとを加算することで、映像ブロックを復元する。
【0064】
イントラ予測部250は、エントロピー復号化部210から受信されたイントラ予測情報に基づいて、現在ブロックのイントラ予測モードを復元する。そして、復元されたイントラ予測モードによって予測ブロックを生成する。
【0065】
インター予測部260は、エントロピー復号化部210から受信されたインター予測情報に基づいて、参照ピクチャーインデックス及び動きベクトルを復元する。そして、前記参照ピクチャーインデックス及び動きベクトルを用いて、現在ブロックに対する予測ブロックを生成する。少数精密度の動き補償が適用される場合には、選択された補間フィルターを適用して予測ブロックを生成する。
【0066】
後処理部270の動作は、
図1の後処理部160の動作と同一であるので、略する。
【0067】
ピクチャー保存部280は、後処理部270によって後処理された復号映像を保存する。
【0068】
図4は、本発明による符号化装置100のイントラ予測部150を示すブロック図である。
図4を参照すれば、イントラ予測部150は、参照画素生成部151、参照画素フィルタリング部152、予測モード決定部153、予測ブロック生成部154、予測ブロックフィルタリング部155、及び予測モード符号化部156を備える。
【0069】
参照画素生成部151は、イントラ予測のための参照画素の生成如何を判断し、生成される必要がある場合に参照画素を生成する。
【0070】
図5は、現在予測単位のイントラ予測に使われる参照画素の位置を示す図面である。
図5に示したように、参照画素は、上側参照画素、左側参照画素及び現在予測単位の左上側に位置するコーナー参照画素を含む。現在予測単位の上側参照画素は、現在予測単位の横長の2倍にわたって存在する画素(領域C、D)であり、左側参照画素は、現在予測単位の縦長の2倍にわたって存在する画素(領域A、B)である。
【0071】
参照画素生成部151は、前記参照画素が利用可能(available)かどうかを判断する。参照画素の一部が利用不可能な場合には、利用可能な参照画素を用いて利用不可能な位置の参照画素を生成する。
【0072】
先ず、符号化する現在予測単位の上側または左側領域のうちいずれか一領域の参照画素がいずれも利用不可能な場合について説明する。
【0073】
例えば、現在予測単位がピクチャーまたはスライスの上側境界に位置する場合には、現在予測単位の上側の参照画素(領域C、D)及びコーナー参照画素が存在しない。同様に、現在予測単位がピクチャーまたはスライスの左側境界に位置する場合には、左側の参照画素(領域A、B)及びコーナー参照画素が存在しない。このように、いずれか一方の参照画素が利用不可能な場合、最も隣接している利用可能な参照画素をコピーして参照画素を生成する。前者の場合、最も隣接している利用可能な参照画素は、左側の最上側の参照画素(すなわち、領域Aの最上側の参照画素)である。後者の場合、最も隣接している利用可能な参照画素は、上側の最左側の参照画素(すなわち、領域Cの最左側の参照画素)である。前記方式の適用は、defaultであるが、必要な場合、シーケンス単位、画面単位またはスライス単位ごとに適応的に適用されてもよい。
【0074】
次いで、符号化する現在予測単位の上側または左側の参照画素のうち一部分が利用不可能な場合について説明する。利用不可能な参照画素を基準として、1)一方向のみに利用可能な参照画素が存在する場合と、2)両方向とも利用可能な参照画素が存在する場合との2種が存在する。
【0076】
例えば、現在予測単位がピクチャーまたはスライスの右側境界、または最大符号化単位の右側境界に位置する場合には、領域Dの参照画素が利用不可能である。同様に、現在予測単位がピクチャーまたはスライスの下側境界または最大符号化単位の下側境界に位置する場合には、領域Bの参照画素が利用不可能である。
【0077】
この場合には、最も近い位置に存在する利用可能な参照画素をコピーして参照画素を生成する。さらに他の方法として、最も近い位置に存在する複数の利用可能な参照画素を生成してもよい。
【0079】
例えば、現在予測単位がスライスの上側境界に位置し、前記現在予測単位の右上側予測単位が利用可能な場合、現在予測単位の領域Cに対応する参照画素は利用不可能であるが、領域A及び領域Dに位置する参照画素は利用可能である。このように両方向とも利用可能な参照画素が存在する場合には、各方向に最も近い位置に存在する利用可能な参照画素1つずつを選択し、これら(すなわち、領域Aの最上側参照画素と領域Dの最左側参照画素)を用いて利用不可能な位置の参照画素を生成する。
【0080】
前記2個参照画素(各方向に最も近い位置に存在する画素)の四捨五入した平均値を、参照画素値として生成してもよい。しかし、利用不可能な参照画素領域が大きい場合には、利用可能な画素と生成された画素との段差が発生する可能性が大きいので、線形補間方法を使って参照画素を生成することがさらに有用である。具体的に利用可能な2個の参照画素との位置を考慮して、現在位置の利用不可能な参照画素を生成する。
【0081】
次いで、符号化する現在予測単位の上側及び左側の参照画素いずれも利用不可能な場合について説明する。例えば、現在予測単位がピクチャーまたはスライス左上側境界に隣接している場合には、利用可能な参照画素が存在しない。
【0082】
このような場合には、現在予測単位の内部に存在する2個以上の画素を用いて一部または全部の参照画素を生成する。前記参照画素を生成するために使われる現在予測単位の内部に存在する画素の数は、2または3である。
【0083】
図6は、本発明による参照画素を生成する方式を示す図面である。
図6を参照して、2個の画素を用いる場合について先ず説明する。現在予測単位の左上側画素○と他の一つの画素とを用いる場合である。他の一つの画素は、右上側画素□、左下側画素△、右下側画素▽である。現在予測単位の左上側画素○及び右上側画素□を使う場合には、前記左上側画素及び右上側画素は対応する上側位置にコピーし、前記コピーされた左上側画素及び右上側画素を用いて、その間の領域(領域C)の参照画素を生成する。前記生成される参照画素は、前記2個の参照画素(コピーされた左上側画素及び右上側画素)の四捨五入した平均値、または線形補間方法で生成された値である。右上側画素□をコピーするか、または複数の上側生成参照画素を用いて領域Dの参照画素を生成する。現在予測単位の左上側画素○及び左下側画素△を使う場合にも、前記と同じ方式を適用する。現在予測単位の左上側画素○及び右下側画素▽を使う場合には、右下側画素▽を水平方向及び垂直方向に同じ位置の参照画素位置にコピーする。そして、その後の参照画素生成方式は、前記と同じ方式を適用する。
【0084】
3個の画素を用いる場合について先ず説明する。現在予測単位の左上側画素○、右上側画素□、左下側画素△を用いる。この場合、それぞれの画素を対応する参照画素位置にコピーした後、前記画素を用いて残りの参照画素を生成する。前記残りの参照画素の生成方式は、前記の2個の画素を用いる場合と同一である。
【0085】
一方、前記のような方式を用いる場合、参照画素の生成に用いられた現在予測単位内部の画素は、復号器に伝送されねばならない。この場合、情報伝送量を低減させるために、左上側画素○以外の値は左上側画素○との差値を伝送する。また、前記参照画素の生成に用いられた左上側画素値は量子化された値であり、エントロピー符号化されて伝送されてもよい。
【0086】
前記の現在予測単位の内部に存在する2個以上の画素を用いて参照画素を生成する方法は、スライスタイプがイントラ(I)である場合に効果的である。
【0087】
符号化する現在予測単位の上側及び左側の参照画素いずれも利用不可能な場合の、参照画素を生成するさらに他の方法について説明する。この方式は、スライスタイプがイントラ(I)ではない場合に効果的である。
【0088】
先ず、現在ブロックの以前に符号化された参照ピクチャー内に、現在予測単位の参照画素の位置と同じ位置に画素が存在するかどうかを判断する。存在する場合、前記参照ピクチャー内の画素をコピーして現在予測単位の参照画素を生成する。
【0089】
存在しない場合、以前に符号化された参照ピクチャー内に、現在予測単位の参照画素の位置と最も近い位置(1画素離れている位置)に画素が存在するかどうかを判断し、存在する場合、これらをコピーして現在予測単位の参照画素として用いる。
【0090】
参照画素フィルタリング部152は、現在予測単位の参照画素を適応的にフィルタリングする。これは、参照画素間の画素値の変化量をスムージングするためのものであり、ローパスフィルターを適用する。ローパスフィルターは、3タップフィルターである[1,2,1]または5タップフィルターである[1,2,4,2,1]である。
【0091】
また、現在予測単位のサイズによって適応的にフィルターを適用する。例えば、現在予測単位が所定サイズ以下である場合には、フィルターを適用しなくてもよい。具体的に、現在予測単位のサイズが4×4である場合には、フィルターを適用しなくてもよい。
【0092】
また、前記ローパスフィルターは、現在予測単位のサイズ及びイントラ予測モードに基づいて適応的に適用される。
【0093】
イントラ予測モードが水平または垂直である場合には、予測ブロックの画素を生成するために1つの参照画素を使う。したがって、この場合には、前記フィルターを適用しない。また、イントラ予測モードがDCである場合には参照画素の平均値を用いるので、参照画素間の段差に影響を受けない。したがって、DCモードの場合にもフィルターを適用しない。
【0094】
一方、イントラ予測方向が水平または垂直方向に対して45゜傾いたモード(モード3、6、9)については、現在予測単位のサイズに関係なく、または最小予測単位より大きい予測単位に対してフィルターを適用する。フィルターを適用する場合、既定のサイズより小さな予測単位に対しては、第1フィルターを、既定のサイズ以上の予測単位に対しては、スムージング効果のさらに大きい第2フィルターを使う。前記既定のサイズは、16×16でありうる。
【0095】
一方、予測ブロックの画素を生成するために少なくとも2個以上の参照画素を使う、前記のモード(6種)以外のモードでは、現在予測単位のサイズ及びイントラ予測モードによって適応的に適用される。但し、平面モードでは、参照画素に対するフィルタリングを行える。
【0096】
また、前記線形結合によって生成された参照画素の一部または全部に対しては、フィルターを適用しなくてもよい。
【0097】
予測ブロック生成部153は、イントラ予測モードに対応する予測ブロックを生成する。前記予測ブロックは、イントラ予測モードに基づいて参照画素または参照画素の線形結合を用いて生成する。予測ブロックを生成するために使われる前記参照画素は、参照画素フィルタリング部152によってフィルタリングされた参照画素でありうる。
【0098】
予測ブロックフィルタリング部154は、予測ブロック生成部153によって生成された予測ブロックを使われたイントラ予測モードによって適応的にフィルタリングする。前記動作は、生成された予測ブロック及び符号化する現在予測単位の残差信号を最小化するためのものである。すなわち、参照画素に隣接している予測ブロック内の画素間の差値は、イントラ予測モードによって変わる。よって、段差を多く発生させるイントラ予測モードによって生成された予測ブロック内の画素をフィルタリングすれば、残差を低減させる。
【0099】
DCモードの場合、予測ブロックが参照画素の平均値で形成されるため、参照画素に隣接している予測ブロック内の画素間には段差が発生する。したがって、参照画素に隣接している予測ブロック内の上側ラインの画素及び左側ラインの画素は、参照画素を用いてフィルタリングする。具体的に、予測ブロック内の左上側コーナーに位置する画素は、隣接している参照画素が2個(上側参照画素と左側参照画素)であるので、3タップフィルターを用いて前記左上側コーナーの画素をフィルタリング(またはスムージング)する。そして、それ以外の画素(すなわち、予測ブロック内の上側ラインの画素及び左側ラインの画素)は、隣接している参照画素が1つであるため、2タップフィルターを用いてフィルタリングする。
【0100】
また、モード番号0(垂直モード)、6(diagonal down−leftモード)及び前記モード間の方向性を持つイントラ予測モード(モード番号22、12、23、5、24、13、25)によって生成された参照ブロックは、現在予測ユニットの上側参照画素のみを用いて予測ブロックが生成される。したがって、参照画素と、これに隣接する、生成された予測ブロックの左側ラインの画素間の段差は、下方へ行くほど大きくなる。
【0101】
また、モード番号1(水平モード)、9(diagonal up−right)及び前記モード間の方向性を持つイントラ予測モード(モード番号30、16、31、8、32、17、33)によって生成された参照ブロックは、現在予測ユニットの左側参照画素のみを用いて予測ブロックが生成される。したがって、参照画素と、これに隣接する、生成された予測ブロックの上側ラインの画素との段差は、右側へ行くほど大きくなる。
【0102】
したがって、前記段差を補うために、DC以外の方向性モードについても適応的に予測ブロックの一部画素をフィルタリングする。
【0103】
モード番号6の場合には、左側参照画素に隣接している、生成された予測ブロック内の左側ラインの全部または一部画素をフィルタリングする。前記左側ラインの一部画素は、左側ラインの下側一部、例えば、N/2個の画素である。ここでNは、現在予測単位の縦長(height)を示す。
【0104】
同様に、モード番号9の場合には、上側参照画素に隣接している、生成された予測ブロック内の上側ラインの全部または一部画素をフィルタリングする。前記上側ラインの一部画素は、上側ラインの右側一部、例えば、M/2個の画素である。ここでMは、現在予測単位の横長(width)を示す。
【0105】
そして、前記モード番号0、6間の方向性を持つモードのうちモード番号6に近い方向性を持つ所定数のモードについても、モード番号6と同じ方法でフィルタリングを行える。この場合、モード番号6から遠いモードであるほど、フィルタリングせねばならない画素の数が同じか、または小くなる。
【0106】
そして、前記モード番号1、9間の方向性を持つモードについても、同じ方法を適用する。
【0107】
一方、現在予測単位のサイズによって適応的に適用することもできる。例えば、イントラ予測モード別に所定サイズ以下の予測単位に対してはフィルターを適用しなくてもよい。
【0108】
ここでは、予測ブロックフィルタリング部154を別途に表示したが、予測ブロックフィルタリング部154は、予測ブロック生成部153と一体化される。また、予測ブロックの生成時に前記予測ブロックフィルタリングの効果を与える形態で予測ブロックを生成してもよい。この場合、フィルタリング効果を与える演算が、予測ブロックの生成時の演算に含まれる。
【0109】
予測モード決定部155は、参照画素を用いて現在予測単位のイントラ予測モードを定める。予測モード決定部155は、各イントラ予測モードに対する残差ブロックの符号化量が最小になるモードを、現在予測単位のイントラ予測モードと定める。残差ブロックを求めるために、各イントラ予測モードによって予測ブロックを生成する。前記予測ブロックは、各イントラ予測モードによって参照画素フィルタリング部によってフィルタリングされた画素を用いた予測ブロック、または前記生成された予測ブロックを、所定の条件によって予測ブロックフィルタリング部154でフィルタリングした予測ブロックである。
【0110】
予測ブロック送信部157は、前記予測モード決定部155によって定められたイントラ予測モードに対応して生成された予測ブロックを減算部190に伝送する。
【0111】
予測モード符号化部156は、予測モード決定部155によって定められた現在予測単位のイントラ予測モードを符号化する。予測モード符号化部156は、イントラ予測部150に含まれて行われてもよく、エントロピー符号化部140で行われてもよい。
【0112】
予測モード符号化部156は、現在予測単位の上側イントラ予測モードと、現在予測単位の左側イントラ予測モードとを用いて、現在予測単位のイントラ予測モードを符号化する。
【0113】
先ず、現在予測単位の上側及び左側イントラ予測モードを誘導する。現在予測単位の上側予測単位が複数存在する場合には、既定の方向(例えば、右→左)にスキャンしつつ、有効な1番目の予測単位のイントラ予測モードを上側イントラ予測モードと設定する。現在予測単位の左側予測単位が複数存在する場合にも、既定の方向(例えば、下→上)にスキャンしつつ、有効な1番目の予測単位のイントラ予測モードを左側イントラ予測モードと設定する。または、複数の有効な予測単位のモード番号のうち最も小さなモード番号を、上側イントラ予測モードと設定してもよい。
【0114】
前記上側イントラ予測モードまたは左側イントラ予測モードが有効ではない場合には、DCモード(モード番号2)を前記上側または左側イントラ予測モードと設定する。前記上側または左側イントラ予測モードが有効ではない場合は、対応するイントラ予測単位が存在しない場合である。
【0115】
次いで、前記上側または左側イントラ予測モード番号が現在予測単位で許容されるイントラ予測モードの数より大きいか、または同じであれば、前記上側または左側イントラ予測モードを既定数のイントラ予測モードのうち一つに変換する。前記既定数は、現在予測単位のサイズにより変わる。例えば、現在予測単位のサイズが4×4であれば、9個のモード(0〜8番モード)のうち一つにマッピングし、現在予測単位のサイズが64×64であれば、3個のモード(0〜2番モード)のうち一つにマッピングする。また、現在予測単位で許容されたイントラ予測モードのうち一つに変換してもよい。
【0116】
次いで、現在予測単位のイントラ予測モード番号が前記左側及び上側イントラ予測モード番号のうち一つと同一であれば、同一であることを示すフラグと、前記上側及び左側イントラ予測モードのうちいずれか一つを示すフラグとを伝送する。この場合、前記左側及び上側イントラ予測モードが同一であれば、同一であることを示すフラグのみを伝送する。また、前記上側及び左側イントラ予測モードのうちいずれか一つのみ有効であり、現在ブロックのイントラ予測モードと同一である場合にも、前記隣接ブロックのモードと同一であることを示すフラグのみを伝送する。
【0117】
しかし、現在予測単位のイントラ予測モードが、前記左側及び上側イントラ予測モードと異なるモードである場合には、現在予測単位のイントラ予測モード番号と、前記左側及び上側イントラ予測モード番号とを比べる。左側及び上側イントラ予測モード番号のうち、現在予測単位のイントラ予測モード番号より大きくない場合の数を計算し、現在予測単位のイントラ予測モード番号を前記場合の数ほど低減させた値を、伝送する現在予測単位の最終イントラ予測モードとして定める。ここで、左側及び上側イントラ予測モード番号が同一である場合には、1個と見なす。
【0118】
前記上側及び左側イントラ予測モードが同一であるかどうかによって、前記定められた最終イントラ予測モードをエントロピー符号化するためのテーブルが定められる。
【0119】
図7は、本発明による復号化装置200のイントラ予測部250を示すブロック図である。
【0120】
本発明によるイントラ予測部250は、予測モード復号化部251、参照画素生成部252、参照画素フィルタリング部253、予測ブロック生成部254、予測ブロックフィルタリング部255及び予測ブロック送信部256を備える。
【0121】
予測モード復号化部251は、次の過程を通じて現在予測単位のイントラ予測モードを復元する。
【0122】
受信された符号化単位内の付加情報コンテナに含まれた予測ブロックを生成するための付加情報を受信する。前記付加情報は、予測可能フラグ及び残余予測モード情報を含む。予測可能フラグは、現在予測単位の隣接予測単位のいずれか一つのイントラ予測モードと同一であるかどうかを示す。残余予測モード情報は、予測可能フラグによって異なる情報を含む。予測可能フラグ値が1ならば、残余予測モード情報は予測モード候補者インデックスを含む。前記予測モード候補者インデックスは、イントラ予測モード候補者を指定する情報である。予測可能フラグ値が0ならば、残余予測モード情報は残差イントラ予測モード番号を含む。
【0123】
現在予測単位のイントラ予測モード候補者を誘導する。前記イントラ予測モード候補者は、隣接予測単位のイントラ予測モードから誘導される。ここでは、便宜のため、現在予測単位のイントラ予測モード候補者を上側及び左側イントラ予測モードに限定して説明する。現在予測単位の上側または左側予測単位が複数存在する場合には、前記符号化装置100の予測モード符号化部156と同じ方法で、現在予測単位の上側及び左側イントラ予測モードを誘導する。そして、前記上側または左側イントラ予測モードが番号が、現在予測単位で許容されるイントラ予測モードの数より大きいか、または同一であれば、予測モード符号化部156と同じ方法に変換する。
【0124】
次いで、受信された予測可能フラグが隣接予測単位のイントラ予測モードと同一であることを示せば、前記予測モード候補者インデックスが存在すれば、前記予測モード候補者インデックスが示す予測モードを、現在予測単位のイントラ予測モードと定める。
【0125】
受信された予測可能フラグが隣接予測単位のイントラ予測モードと同一であることを示すが、前記予測モード候補者インデックスが存在せず、隣接予測単位の有効なイントラ予測モードが1つである場合には、これを現在予測単位のイントラ予測モードに復元する。
【0126】
受信された予測可能フラグが隣接予測単位のイントラ予測モードと同一でないことを示せば、受信された残差イントラ予測モード値と前記有効なイントラ予測モード候補者のイントラ予測モード番号とを比べ、現在予測単位のイントラ予測モードを復元する。
【0127】
参照画素生成部252は、符号化装置100の参照画素生成部151と同じ方法で参照画素を生成する。但し、参照画素生成部252は、予測モード復号化部251によって復元されたイントラ予測モードによって適応的に参照画素を生成するという点で、符号化装置100の参照画素生成部151と異なる。すなわち、参照画素生成部252は、復元されたイントラ予測モードを用いて、予測ブロックの生成に使われる参照画素が有効ではない場合にのみ参照画素を生成する。
【0128】
参照画素フィルタリング部253は、予測モード復号化部251によって復元されたイントラ予測モード及び現在予測単位のサイズ情報に基づいて、参照画素を適応的にフィルタリングする。フィルタリング条件及びフィルターは、符号化装置100の参照画素フィルタリング部152のフィルタリング条件及びフィルターと同一である。
【0129】
予測ブロック生成部254は、予測モード復号化部251によって復元されたイントラ予測モードによって、参照画素を用いて予測ブロックを生成する。
【0130】
予測ブロックフィルタリング部255は、予測モード復号化部251によって復元されたイントラ予測モードによって適応的にフィルタリングする。前記動作は、符号化装置100の予測ブロックフィルタリング部154と同一である。
【0131】
予測ブロック送信部256は、前記予測モード生成部254または前記予測ブロックフィルタリング部255から受信された予測ブロックを加算器290に伝送する。