特許第5997152号(P5997152)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エム アンド ケー ホールディングス インコーポレイテッドの特許一覧

<>
  • 特許5997152-イントラ予測復号化装置 図000002
  • 特許5997152-イントラ予測復号化装置 図000003
  • 特許5997152-イントラ予測復号化装置 図000004
  • 特許5997152-イントラ予測復号化装置 図000005
  • 特許5997152-イントラ予測復号化装置 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5997152
(24)【登録日】2016年9月2日
(45)【発行日】2016年9月28日
(54)【発明の名称】イントラ予測復号化装置
(51)【国際特許分類】
   H04N 19/117 20140101AFI20160915BHJP
   H04N 19/129 20140101ALI20160915BHJP
   H04N 19/159 20140101ALI20160915BHJP
   H04N 19/176 20140101ALI20160915BHJP
   H04N 19/593 20140101ALI20160915BHJP
【FI】
   H04N19/117
   H04N19/129
   H04N19/159
   H04N19/176
   H04N19/593
【請求項の数】1
【全頁数】21
(21)【出願番号】特願2013-523088(P2013-523088)
(86)(22)【出願日】2011年7月29日
(65)【公表番号】特表2013-534384(P2013-534384A)
(43)【公表日】2013年9月2日
(86)【国際出願番号】KR2011005590
(87)【国際公開番号】WO2012018197
(87)【国際公開日】20120209
【審査請求日】2014年7月25日
(31)【優先権主張番号】10-2011-0063288
(32)【優先日】2011年6月28日
(33)【優先権主張国】KR
(31)【優先権主張番号】10-2010-0074460
(32)【優先日】2010年7月31日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】514095055
【氏名又は名称】エム アンド ケー ホールディングス インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】オ,ス−ミ
(72)【発明者】
【氏名】ヤン,ムノク
【審査官】 岩井 健二
(56)【参考文献】
【文献】 特開2009−284298(JP,A)
【文献】 特表2005−512419(JP,A)
【文献】 国際公開第2012/096150(WO,A1)
【文献】 国際公開第2011/126349(WO,A2)
【文献】 米国特許出願公開第2005/0025236(US,A1)
【文献】 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年 1月,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名)
H04N 19/00 − 19/98
(57)【特許請求の範囲】
【請求項1】
量子化された残差係数及びイントラ予測情報を復元するエントロピー復号化部と、
前記イントラ予測情報に基づいてイントラ予測モードを復元する予測モード復号化部と、
前記イントラ予測モードによって定められたスキャニングパターンを用いて前記量子化された残差係数を逆スキャニングして2次元配列の量子化ブロックを生成し、前記量子化ブロックを逆量子化及び逆変換して残差ブロックを復元する残差信号復号化部と、
利用不可能な参照画素が存在すれば、参照画素を生成し、前記イントラ予測モードを用いて前記参照画素を適応的にフィルタリングする参照画素生成部と、
前記イントラ予測モードによって定められた参照画素を用いて予測ブロックを生成する予測ブロック生成部と、
前記イントラ予測モードを用いて前記予測ブロックの予測画素の一部を適応的にフィルタリングする予測ブロックフィルタリング部と、
前記予測ブロック及び前記残差ブロックを用いて復元された映像を生成する映像復元部と、を備え、
前記参照画素生成部は、水平モードを基準として45゜方向性を持つイントラ予測モードと、前記水平モード間に位置するイントラ予測モードとについては、予測ブロックのサイズによって適応的に参照画素をフィルタリングし、
前記参照画素生成部は、前記水平モードを基準として45゜方向性を持つイントラ予測モードの参照画素にはフィルターを適用し、前記水平モードの参照画素にはフィルターを適用せず、
第1方向性モード及び第2方向性モードは、前記水平モードと、前記水平モードを基準として45゜方向性を持つイントラ予測モードの間に位置し、
前記参照画素生成部は、前記第2方向性モードの参照画素にフィルターを適用すれば、前記水平モードを基準として45゜方向性を持つイントラ予測モードとについて、前記第2方向性モードより前記水平モードを基準として45°方向性を持つイントラ予測モードにさらに近い第1方向性モードの参照画素にもフィルターを適用する、
ことを特徴とする映像復号化装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、イントラ予測復号化装置に係り、さらに詳細には、イントラ予測モードを復元し、これにより予測ブロック及び残差ブロックを適応的に復号化して復元ブロックを生成する装置に関する。
【背景技術】
【0002】
MPEG−1、MPEG−2、MPEG−4 H.264/MPEG−4 AVC(Advanced Video coding)などの映像圧縮方式では、映像を符号化するために一つのピクチャーをマクロブロックに分ける。そして、インター予測またはイントラ予測を用いてそれぞれのマクロブロックを符号化する。
【0003】
このうちイントラ予測は、現在ピクチャーのブロックを符号化するために参照ピクチャーを参照するものではなく、符号化しようとする現在ブロックと空間的に隣接している画素値を用いて符号化を行う。まず、隣接している画素値を用いて原本マクロブロックと比較し、歪曲の少ないイントラ予測モードを選択する。次いで、選択されたイントラ予測モード及び隣接している画素値を用いて符号化しようとする現在ブロックに対する予測値を計算し、予測値と原本現在ブロックの画素値との差を求めた後、これを変換符号化、量子化、エントロピー符号化により符号化する。そして、予測モードも符号化される。
【0004】
ここで、イントラ予測モードは、輝度成分の4×4イントラ予測モード、8×8イントラ予測モード、16×16イントラ予測モード及び色差成分のイントラ予測モードに大別される。
【0005】
従来の技術による16×16イントラ予測モードには、垂直(vertical)モード、水平(horizontal)モード、DC(direct current)モード、プレーン(plane)モードの総4種のモードが存在する。
【0006】
従来の技術による4×4イントラ予測モードには、垂直(vertical)モード、水平(horizontal)モード、DC(direct current)モード、対角線左側(diagonal down−left)モード、対角線右側(diagonal down−right)モード、垂直右側(vertical right)モード、垂直左側(vertical left)モード、水平上側(horizontal−up)モード及び水平下側(horizontal−down)モードの総9種のモードが存在する。
【0007】
それぞれのモードにインデックシングされた予測モード番号は、それぞれのモードが用いられる頻度数によって定められた番号である。確率的に0番モードである垂直モードが、対象ブロックに対してイントラ予測を行う時に最も多く使われるモードであり、8番モードである水平上側(horizontal−up)モードが、最も少なく使われるモードである。
【0008】
H.264標準案によれば、映像の符号化時に、前記4×4イントラ予測モード及び16×16イントラ予測モードの総13種のモードで現在ブロックを符号化し、そのうち最適のモードによって現在ブロックに対するビットストリームを生成する。
【0009】
しかし、現在ブロックに含まれた画素に隣接している画素値のうち一部または全部が存在しないか、または符号化されていない場合には、イントラ予測モードのうち一部または全部を適用できないという問題点が生じる。また、参照画素間の段差が発生する場合には、予測ブロックと原本ブロックとの差値が大きくなるという問題が生じる。また、予測ブロックを生成するために使われる参照ピクセルの位置によって生成される予測ブロックと原本ブロックとの差値を低減させるための新たな技法が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明が解決しようとする技術的課題は、原本映像に近い予測ブロックを生成または復元することで、圧縮効率の高い符号化された映像を効果的に復元するためのイントラ予測復号化装置を提供するところにある。
【課題を解決するための手段】
【0011】
本発明によるイントラ予測復号化装置は、受信されたビートストリームから量子化された残差係数、イントラ予測情報及び予測ユニットのサイズ情報を復元するエントロピー復号化部;前記エントロピー復号化部から受信されたイントラ予測情報及び現在予測ユニットのサイズ情報に基づいて、現在予測ユニットのイントラ予測モードを復元する予測モード復号化部;前記予測モード復号化部から受信されたイントラ予測モードによって、残差信号を復元する残差信号復号化部;現在予測ユニットの利用不可能な参照画素を生成し、予測モード復号化部から受信された現在予測ユニットのイントラ予測モードに基づいて、参照画素を適応的にフィルタリングする参照画素生成部;前記予測モード復号化部から受信されたイントラ予測モードに対応する参照ピクセルを用いて、予測ブロックを生成する予測ブロック生成部;前記予測モード復号化部から受信されたイントラ予測モードによって、前記予測ブロック生成部から生成された予測ブロックを適応的にフィルタリングする予測ブロック後処理部;前記予測モード復号化部から受信されたイントラ予測モードによって、予測ブロック生成部または予測ブロックフィルタリング部から予測ユニット単位で予測ブロックを受信し、前記残差信号復号化部から受信された、復元された残差ブロックを用いて復元映像を生成する映像復元部;を備える。
【発明の効果】
【0012】
本発明によるイントラ予測復号化装置は、原本映像に近い予測ブロックを生成するために参照ピクセルを生成し、前記参照ピクセルを適応的にフィルタリングすることで、原本映像に近い予測ブロックを生成する。また、予測ブロックの生成時に、予測ブロックの生成に用いられない画素を用いて予測ブロックを生成または変形することで、原本映像に近い予測ブロックを復元することができ、映像圧縮率を高めることができる。
【図面の簡単な説明】
【0013】
図1】本発明による動画符号化装置を示すブロック図である。
図2】本発明による本発明によるイントラ予測部の構成を示す図面である。
図3】本発明による方向性イントラ予測モードを示す図面である。
図4】本発明による予測モード符号化部で行われる現在予測ユニットのイントラ予測モード符号化過程を示す図面である。
図5】本発明によるイントラ予測復号化装置を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本発明のいろいろな実施形態を例示的な図面により詳細に説明する。本発明は、多様な変更を加えることができ、かついろいろな実施形態を持つことができるところ、本発明を特定の実施形態に限定しようとするものではなく、本発明の思想及び技術範囲に含まれるあらゆる変更、均等物ないし代替物を含むと理解されねばならない。各図面の説明において、類似した構成要素には類似した参照符号をつけた。
【0015】
映像符号化のために、各ピクチャーは複数のスライスで形成され、各スライスは複数のコーディングユニットで形成される。HD級以上の映像では、映像が比較的平坦になる領域が多いので、多様なサイズのコーディングユニットで符号化を行うことで映像圧縮率を高めることができる。
【0016】
本発明によるコーディングユニットは、クワッドツリー構造(Quad Tree Structure)であって、深さ情報(Depth)を用いて階層的に分割される。最も大きいサイズのコーディングユニットを、最大コーディングユニット(Largest Coding Unit、LCU)と称し、最も小さなサイズのコーディングユニットを、最小コーディングユニット(Smallest Coding Unit、SCU)と称する。最大コーディングユニット(LCU)及び最小コーディングユニット(SCU)に関する情報は、シーケンスパラメータセット(Sequence Parameter Set、SPS)に含まれて伝送される。
【0017】
最大コーディングユニットは、1つ以上のコーディングユニットで構成される。したがって、最大コーディングユニットは、コーディングユニットの分割構造と、コーディングユニットを含むために再帰的コーディングツリー形態を持つ。したがって、最大コーディングユニットが4個の下位コーディングユニットに分割されなければ、前記コーディングツリーは、分割されていないことを示す情報及び1つのコーディングユニットで構成される。しかし、最大コーディングユニットが4個の下位コーディングユニットに分割されれば、前記コーディングツリーは、分割されたことを示す情報及び4個の下位コーディングツリーで構成される。同様に、それぞれの下位コーディングツリーは、最大コーディングユニットのコーディングツリーと同じ構造を持つ。但し、最小コーディングユニット以下には分割されない。
【0018】
一方、コーディングツリー内のそれぞれのコーディングユニットは、コーディングユニット自体またはサブパーティション単位でイントラ予測(Intra Pediction)またはインター予測(Inter Prediction)が行われる。前記イントラ予測またはインター予測を行う単位を、予測ユニット(Prediction unit)と称する。イントラ予測のための予測ユニットは、2N×2NまたはN×Nである。インター予測のための予測ユニットは、2N×2N、2N×N、N×2N、N×Nである。ここで2Nは、コーディングユニットの横及び縦の長さを意味する。
【0019】
一方、イントラ予測のための予測ユニットが正方形でなくてもよい。例えば、正方形のコーディングユニットは、4個のhN×2Nまたは4個の2N×hNに分割してイントラ予測を行える。この場合、イントラ予測のための参照ピクセルと予測ブロックのピクセルとの間が近くなって圧縮効率を高める。このようなイントラ予測方式を、SDIP(Short Distance Intra Prediction)と呼ぶ。
【0020】
コーディングユニットは、コーディングユニット内の予測ユニットの予測モード及び予測ユニットのサイズ情報(partmode)を含む。符号化効率を高めるために、予測モード情報及び予測ユニットのサイズ情報を結合してジョイントコーディングする。この場合、各コーディングユニットごとにジョイントコーディングされた予測タイプ(pred_type)が含まれる。
【0021】
コーディングユニットは、コーディングユニット内の各予測ユニットの予測ブロックを生成するために必要な付加情報及び残差信号を含む。付加情報は、コーディングユニット内の予測ユニットごとに定義される。イントラ予測の場合、前記付加情報は、符号化されたイントラ予測情報を含む。インター予測の場合、前記付加情報は、符号化された動き情報を含む。前記動き情報は、動きベクトル及び参照ピクチャーインデックスを含む。
【0022】
残差信号は、コーディングユニットごとに含まれる。残差信号は、1つの変換ツリー、1つの輝度残差信号運搬部及び2つの色差残差信号運搬部を備える。前記残差信号運搬部は、一つ以上の変換ユニットの符号化された残差情報を含む。最大変換ユニットは、コーディングユニットサイズより小さいか、または同一である。変換ユニットは、最大変換ユニットまたはその下位の変換ユニットサイズを持つ。
【0023】
前記変換ツリーは、コーディングユニット内に含まれた残差信号に対する変換ユニットの分割構造を示す情報を含む。また、変換ツリーは、各変換ユニット内の残差信号が0であるかどうかを示す情報を含む。
【0024】
前記残差信号運搬部は、前記変換ツリー内の分割構造を示す情報に対応する変換ユニットの符号化された残差情報を、コーディングユニット単位で運搬する。
【0025】
一方、前記では、コーディングユニットが均等分割された予測ユニットのみについて説明するが、非均等分割も可能である。すなわち、映像の境界部分の形象によって映像信号を特定方向に非均等に分割してイントラまたはインター予測を行うことが、残差信号の圧縮にさらに効果的である。
【0026】
最も簡単な適応的なモードは、予測領域の局所的な地形の統計的依存性を抽出するために、コーディングユニットを、直線を用いて2個のブロックに分割することである。すなわち、映像の境界部分を直線でマッチングさせて分割することである。この場合、分割可能な方向を所定数に限定することが望ましい。例えば、ブロックを分割する方法を、水平、垂直、上向き対角線、下向き対角線の4方向に限定する。また、水平、垂直のみに限定してもよい。分割可能な数は、3、5、7などである。分割可能な数は、ブロックのサイズによって異なる。例えば、サイズの大きいコーディングユニットに対して、相対的に分割可能な数を増やすことができる。
【0027】
インター予測の場合、一つのコーディングユニットをさらに適応的に予測するために2個の予測ユニットに分割した場合、予測ユニットそれぞれに対して動き予測及び動き補償を行わねばならない。一つのコーディングユニットに対して分割された2個の予測ユニットごとの予測ブロックを求めた後、2個の予測ブロックを加えて一つのコーディングユニットサイズの予測ブロックを生成する。この場合、コーディングユニットサイズの予測ブロックの分割境界間の画素値の変化量を低減させるために、前記分割境界に位置する画素をフィルタリングできる。この場合、それぞれの予測ユニットに対応する予測ブロックが重なるように予測ブロックを生成した後、前記重なる境界部分をスムージングして一つの予測ブロックを生成する。
【0028】
図1は、本発明による動画符号化装置を示すブロック図である。図1を参照すれば、本発明による動画符号化装置100は、ピクチャー分割部110、変換部120、量子化部130、スキャニング部131、エントロピー符号化部140、イントラ予測部150、インター予測部160、逆量子化部135、逆変換部125、後処理部170、ピクチャー保存部180、減算部190及び加算部195を備える。
【0029】
ピクチャー分割部110は、入力されるビデオ信号を分析してピクチャーを、最も大きいコーディングユニットごとに所定サイズのコーディングユニットに分割して予測モードを定め、前記コーディングユニット別に予測ユニットのサイズを定める。そして、ピクチャー分割部110は、符号化する予測ユニットを、予測モードによってイントラ予測部150またはインター予測部160に伝送する。また、ピクチャー分割部110は、符号化する予測ユニットを減算部190に伝送する。
【0030】
変換部120は、入力された予測ユニットの原本ブロックと、イントラ予測部150またはインター予測部160で生成された予測ブロックとの残差信号である残差ブロックを変換する。前記残差ブロックは、コーディングユニットで構成することが望ましい。コーディングユニットで構成された残差ブロックは、最適の変換ユニットに分割されて変換される。予測モード(intra or inter)及びイントラ予測モードによって、適応的に変換マトリックスが定められる。変換ユニットは、2個(水平、垂直)の1次元変換マトリックスによって変換される。例えば、インター予測の場合には、既定の1つの変換マトリックスが定められる。一方、イントラ予測の場合、イントラ予測モードが水平である場合には、残差ブロックが垂直方向への方向性を持つ確率が高くなるので、垂直方向にはDCT基盤の定数マトリックスを適用し、水平方向にはDST基盤またはKLT基盤の定数マトリックスを適用する。イントラ予測モードが垂直である場合には、垂直方向にはDST基盤またはKLT基盤の定数マトリックスを、水平方向にはDCT基盤の定数マトリックスを適用する。DCモードである場合には、両方向ともDCT基盤の定数マトリックスを適用する。また、イントラ予測の場合変換ユニットのサイズに依存して変換マトリックスが適応的に定められてもよい。
【0031】
量子化部130は、前記変換マトリックスによって変換された残差ブロックの係数を量子化するための量子化ステップサイズを、コーディングユニット別に定める。量子化ステップサイズは、既定のサイズ以上のコーディングユニットごとに定められる。前記既定のサイズは8×8または16×16である。そして、定められた量子化ステップサイズ及び予測モードによって定められる量子化マトリックスを用いて、前記変換ブロックの係数を量子化する。量子化部130は、現在コーディングユニットの量子化ステップサイズ予測子として、現在コーディングユニットに隣接しているコーディングユニットの量子化ステップサイズを用いる。量子化部130は、現在コーディングユニットの左側コーディングユニット、上側コーディングユニット、左上側コーディングユニットの順序で検索し、少なくとも一つ以上の有効なコーディングユニットの量子化ステップサイズを用いて、現在コーディングユニットの量子化ステップサイズ予測子を定め、差分値をエントロピー符号化部140に伝送する。
【0032】
一方、スライスがコーディングユニットに分離される場合には、現在コーディングユニットの左側コーディングユニット、上側コーディングユニット、左上側コーディングユニットいずれも存在しない可能性がある。一方、最大コーディングユニット内の符号化順序上、以前に存在するコーディングユニットがありうる。よって、現在コーディングユニットに隣接しているコーディングユニット及び前記最大コーディングユニット内では、符号化順序上、直前のコーディングユニットが候補になる。この場合、1)現在コーディングユニットの左側コーディングユニット、2)現在コーディングユニットの上側コーディングユニット、3)現在コーディングユニットの左上側コーディングユニット、4)符号化順序上、直前のコーディングユニット、の順序で優先順位をつける。前記順序は変わってもよく、前記左上側コーディングユニットは省略してもよい。
【0033】
前記量子化された変換ブロックは、逆量子化部135及びスキャニング部131に提供される。
【0034】
スキャニング部131は、量子化された変換ブロックの係数をスキャニングして1次元の量子化係数に変換する。係数スキャニング方式は、予測モード及びイントラ予測モードによって定められる。また、係数スキャニング方式は、変換ユニットのサイズによって異なって定められてもよい。スキャニング部131は、現在変換ユニットのサイズによって、量子化された係数ブロックを複数のサブセットに分割するかどうかを定める。変換ユニットのサイズが第1基準サイズより大きい場合、前記量子化された係数ブロックを複数のサブセットに分割する。前記第1基準サイズは、4×4または8×8であることが望ましい。
【0035】
スキャニング部131は、量子化された係数ブロックに適用されるスキャンパターンを定める。インター予測モードである場合には、既定の一つのスキャンパターン(例えば、ジグザグスキャン)のみを適用する。イントラ予測である場合には、イントラ予測モードによって既定のスキャンパターンを適用する。前記スキャンパターンは、方向性イントラ予測モードによって変わる。非方向性モードにはジグザグスキャンを適用する。非方向性モードは、DCモードまたは平面モードである。量子化係数のスキャン順序は、逆方向にスキャンする。
【0036】
前記量子化された係数が複数のサブセットに分割された場合には、それぞれのサブセット内の量子化係数に同じスキャンパターンを適用する。前記複数のサブセットは、一つのメインサブセット及び少なくとも一つ以上の残余サブセットで構成される。メインサブセットは、DC係数を含む左上側に位置し、前記残余サブセットは、メインサブセット以外の領域をカバーする。
【0037】
サブセット間のスキャンパターンは、ジグザグスキャンを適用する。スキャンパターンは、メインサブセットから順方向に残余サブセットでスキャンすることが望ましいが、その逆方向も可能である。また、サブセット内の量子化された係数のスキャンパターンと同じくサブセット間のスキャンパターンを設定してもよい。この場合、サブセット間のスキャンパターンがイントラ予測モードによって定められる。一方、符号器は、前記変換ユニット内の0ではない最後の量子化係数の位置を示す情報を復号器に伝送する。各サブセット内の0ではない最後の量子化係数の位置を示す情報も復号器に伝送する。前記情報は、それぞれのサブセット内の0ではない最後の量子化係数の位置を示す情報である。
【0038】
逆量子化135は、前記量子化された量子化係数を逆量子化する。逆変換部125は、逆量子化された変換係数を空間領域の残差ブロックに復元する。加算器は、前記逆変換部により復元された残差ブロックと、イントラ予測部150またはインター予測部160からの予測ブロックとを合わせて復元ブロックを生成する。
【0039】
後処理部160は、復元されたピクチャーに生じるブロッキング効果を除去するためのデブロッキングフィルタリング過程、ピクセル単位で原本映像との差値を補うための適応的オフセット適用過程、及びコーディングユニットで原本映像との差値を補うための適応的ループフィルタリング過程を行う。
【0040】
デブロッキングフィルタリング過程は、既定のサイズ以上のサイズを持つ予測ユニット及び変換ユニットの境界に適用することが望ましい。前記サイズは、8×8でありうる。前記デブロッキングフィルタリング過程は、フィルタリングする境界(boundary)を定める段階、前記境界に適用する境界フィルタリング強度を定める段階、デブロッキングフィルターの適用如何を定める段階、前記デブロッキングフィルターを適用すると定められた場合、前記境界に適用するフィルターを選択する段階を含む。
【0041】
前記デブロッキングフィルターの適用如何は、i)前記境界フィルタリング強度が0より大きいかどうか、及びii)前記フィルタリングする境界に隣接している2個のブロック(Pブロック、Qブロック)境界部分でのピクセル値の変化程度を示す値が、量子化パラメータによって定められる第1基準値より小さいかどうかによって定められる。
【0042】
前記フィルターは、少なくとも2つ以上であることが望ましい。ブロック境界に位置している2個のピクセル間の差値の絶対値が第2基準値より大きいか、または同じ場合には、相対的に弱いフィルタリングを行うフィルターを選択する。前記第2基準値は、前記量子化パラメータ及び前記境界フィルタリング強度によって定められる。
【0043】
適応的オフセット適用過程は、デブロッキングフィルターが適用された映像内の画素と原本画素との差値(distortion)を低減させるためのものである。ピクチャーまたはスライスは、複数のオフセット領域に分割され、各オフセット領域別にオフセットモードが定められる。オフセットモードは、4つのエッジオフセットモード、2つのバンドオフセットモード及びオフセット未適用モードを含む。各オフセットモードによって、各オフセット領域内のピクセルを所定数のクラスに分類し、分類されたクラスに対応するオフセットを加える。エッジオフセットモードの場合には、現在画素と、これに隣接している2個以上の画素の画素値とを比べて現在画素のクラスを定める。
【0044】
適応的ループフィルタリング過程は、デブロッキングフィルタリング過程または適応的オフセット適用過程を経て復元された映像と原本映像とを比べた値に基づいてフィルタリングを行える。適応的ループフィルターは、4×4サイズのブロックに基づいて一つのラプラシアン活動値(Laplacian Activity value)により検出される。前記定められたALFは、4×4サイズまたは8×8サイズのブロックに含まれた画素全体に適用される。適応的ループフィルターの適用如何は、コーディングユニット別に定められる。各コーディングユニットによって、適用されるループフィルターのサイズ及び係数は変わりうる。コーディングユニット別に前記適応的ループフィルターの適用如何を示す情報、フィルター係数情報、フィルター形態情報などは、各スライスヘッダーに含まれて復号器に伝送される。色差信号の場合には、ピクチャー単位で適応的ループフィルターの適用如何を定める。ループフィルターの形態も、輝度とは異なって長方形になりうる。
【0045】
ピクチャー保存部180は、後処理された映像データを後処理部160から入力され、ピクチャー単位で映像を復元して保存する。ピクチャーは、フレーム単位の映像またはフィールド単位の映像である。ピクチャー保存部180は、複数のピクチャーを保存できるバッファ(図示せず)を備える。
【0046】
インター予測部150は、前記ピクチャー保存部180に保存された少なくとも一つ以上の参照ピクチャーを用いて動き推定を行い、参照ピクチャーを示す参照ピクチャーインデックス及び動きベクトルを定める。そして、定められた参照ピクチャーインデックス及び動きベクトルによって、ピクチャー保存部150に保存された複数の参照ピクチャーのうち動き推定に用いられた参照ピクチャーから、符号化しようとする予測ユニットに対応する予測ブロックを抽出して出力する。
【0047】
イントラ予測部140は、現在予測ユニットが含まれるピクチャー内部の再構成された画素値を用いてイントラ予測符号化を行う。イントラ予測部140は、予測符号化する現在予測ユニットを入力され、現在ブロックのサイズによって予め設定された数のイントラ予測モードのうち一つを選択してイントラ予測を行う。イントラ予測部は、イントラ予測ブロックを生成するために、参照ピクセルを適応的にフィルタリングする。参照ピクセルが有効でない場合には、有効な参照ピクセルを用いて前記有効でない位置の参照ピクセルを生成する。
【0048】
エントロピー符号化部130は、量子化部130によって量子化された量子化係数、イントラ予測部140から受信されたイントラ予測情報、インター予測部150から受信された動き情報などをエントロピー符号化する。
【0049】
図2は、本発明による本発明によるイントラ予測部140の構成を示す図面である。
図2を参照すれば、イントラ予測部140は、予測ユニット受信部141、参照画素生成部142、予測ブロック生成部143、予測ブロック後処理部144、予測モード決定部145及び予測モード符号化部146を備える。
【0050】
予測ユニット受信部141は、ピクチャー分割部110から入力される予測ユニットを受信する。予測ユニット受信部141は、受信された予測ユニットのサイズ情報を、予測モード決定部145及び参照画素生成部142に伝送し、予測ユニットを、参照画素生成部142及び予測ブロック生成部143に伝送する。
【0051】
参照画素生成部142は、受信された現在予測ユニットの参照画素が利用できるかどうかを判断する。イントラ予測に用いられる現在予測ユニットの参照画素は、(x=−1,y=−1)位置を持つコーナー参照画素、(x=0…2L−1,y=−1)位置を持つ2L個の上側参照画素、(x=0,y=0…2M−1)位置を持つ2M個の左側参照画素で構成される。ここで、Lは、現在予測ユニットの横長(width)であり、Mは、現在予測ユニットの縦長(height)を示す。
【0052】
参照画素が利用できないか、または不十分な場合に参照画素を生成する。あらゆる参照画素が利用不可能な場合には、一定値で参照画素を生成する。
【0053】
前記参照画素のうち一部が利用不可能な場合には、前記利用不可能な画素が利用可能な画素の一方向のみに存在するか、または利用可能な画素同士の間に存在するかどうかを判断する。
【0054】
前記利用不可能な画素が利用可能な画素の一方向のみに存在する場合には、最も近い利用可能な画素値をコピーして参照ブロックを生成する。例えば、現在予測ユニットがピクチャーまたはスライスの上側境界に位置する場合には、前記コーナー参照画素及び上側参照画素が利用不可能である。したがって、この場合には、最も近い位置である(x=−1,y=0)位置の参照画素をコピーしてコーナー参照画素及び上側参照画素を生成する。また、前記最も近い位置の利用可能な参照画素及び少なくとも一つ以上の利用可能な参照画素を用いて参照画素を生成する。例えば、(x=−1,y=−1)位置を持つコーナー参照画素と、(x=0…L−1,y=−1)位置の参照画素とが利用可能であり、(x=L…2L−1,y=−1)位置の参照画素が利用不可能な場合、(x=L−1,y=−1)位置の参照画素と、コーナー参照画素値またはそれ以外の参照画素値の差変化を用いて前記利用不可能な位置の参照画素とを生成する。
【0055】
前記利用不可能な画素が利用可能な画素同士の間に存在する場合には、利用不可能な画素に隣接している2個の利用可能な画素(p,q)を用いて参照画素を生成する。例えば、(x=−1,y=−1)位置を持つコーナー参照画素と、(x=0…L−1,y=−1)位置のL個の上側参照画素とが利用不可能な場合には、(x=−1,y=0)位置の参照画素(p)及び(x=L,y=−1)位置の参照画素(q)を用いてその間の参照画素を生成する。
【0056】
生成された参照画素の値は、前記参照画素(p)と参照画素(q)との平均値の四捨五入値である。また、前記生成された参照画素の値は、前記参照画素(p)と前記参照画素(q)との画素値の差変化を用いて生成される。この場合、生成される画素位置による線形補間または前記2個の参照画素の加重平均により参照画素を生成する。
【0057】
一方、現在予測ユニットの上側に複数の予測ユニットが存在する場合、前記上側2個の予測ユニット境界に位置する両方境界ピクセル間の差値は、それぞれの上側予測ユニット内の隣接ピクセル間の差値よりも大きい可能性が高い。このような場合は、量子化パラメータによって発生するエラーから起因する。前記エラーは、隣接する2個の参照ピクセルを用いて予測ブロックが生成される方向性イントラ予測モードである場合に発生する可能性が高い。
【0058】
特に、図3の水平または垂直方向を基準として45゜方向性を持つモード(モード番号3、6、9)が最も大きい影響を受ける。一方、垂直または水平方向のモード(モード番号0、1)は、予測ブロックの画素生成のために1つの画素が用いられるため、影響を少なく受ける。
【0059】
したがって、45゜方向性を持つ方向性イントラ予測モード(モード番号3、6、9)については、参照画素にフィルター(スムージングフィルター)を適用し、垂直及び水平方向性イントラ予測モード(モード番号0、1)については、参照画素にフィルターを適用しない。非方向性モードのうちDCモードについても、参照画素にフィルターを適用しない。これらモードについては、現在予測ユニットのサイズに関係なく前記適用如何が定められる。
【0060】
そして、45゜方向性を持つイントラ予測モード(モード番号3、6、9)と、前記垂直または垂直イントラ予測モード間の方向性を持つ方向性モードとについては、予測ユニットのサイズによって参照ピクセルにフィルター(スムージングフィルター)を適応的に適用する。この場合、45゜方向性を持つイントラ予測モードに隣接しているイントラ予測モードであるほど、参照ピクセルにフィルター(スムージングフィルター)を適用する確率を高めることが望ましい。すなわち、第1方向性モードが第2方向性モードより、前記45゜方向性を持つイントラ予測モードにさらに隣接している方向性を持つ場合、第2方向性モードの参照ピクセルにフィルターを適用すれば、第1方向性モードの参照ピクセルにもフィルターを適用する。一方、第1方向性モードの参照ピクセルにフィルターが適用される場合、第2方向性モードの参照ピクセルにはフィルターが適用されても、適用されなくてもよい。
【0061】
また、大きいサイズの予測ユニット内のピクセル間の差値の変化は、小さなサイズの予測ユニット内のピクセル間の差値の変化より緩やかな可能性が高い。したがって、予測ユニットのサイズが大きくなるほど、さらに多い方向性モードについて参照ピクセルをフィルタリングでき、さらに強いフィルターを適用できる。逆に、予測ユニットのサイズが特定サイズより小くなる場合にはフィルターを適用しなくてもよい。
【0062】
例えば、45゜方向性を持つイントラ予測モード(モード番号3、6、9)では、第1サイズより小さいか、または同じサイズの予測ユニットについては第1フィルターを適用し、前記第1サイズより大きいサイズの予測ユニットについては、第1フィルターより強いフィルターである第2フィルターを適用する。前記第1サイズは、方向性予測モードによって変わりうる。
【0063】
例えば、垂直イントラ予測モードと、モード番号6を持つイントラ予測モード(45゜方向性モード)との間に位置するモード番号5を持つイントラ予測モードでは、第2サイズより小さいか、または同じサイズの予測ユニットではフィルターを適用せず、第2サイズより大きく、第3サイズより小さいか、または同じサイズの予測ユニットでは第1フィルターを適用し、第3サイズより大きいサイズの予測ユニットでは第2フィルターを使う。前記第2サイズ及び第3サイズは、方向性予測モードによって変わりうる。
【0064】
前記第1フィルターは、3タップフィルターである[1,2,1]または5タップフィルターである[1,2,4,2,1]である。前記第2フィルターは、前記第1フィルターよりスムージング効果の大きい強いフィルターを使う。
【0065】
予測ブロック生成部143は、イントラ予測モードによって対応する参照ピクセルを用いて予測ブロックを生成する。
【0066】
方向性イントラ予測モードは、イントラ予測モードによって対応する参照ピクセルが変わる。例えば、イントラ予測モードが垂直モードである場合には、(x=0…L−1,y=−1)位置のL個の上側参照画素を用い、水平モードである場合には、(x=−1,y=0…L−1)位置のL個の左側参照画素を用いる。
【0067】
非方向性イントラ予測モードは、コーナー画素、(x=0…L−1,y=−1)位置のL個の上側参照画素、(x=−1,y=0…L−1)位置のL個の左側参照画素を用いる。非方向性イントラ予測モードは、DCモード及び平面モードである。
【0068】
平面モードの場合、コーナー参照画素、左側参照画素及び上側参照画素を用いて予測ブロックの参照画素を生成する。生成しようとする参照画素の位置が(a,b)である場合、生成される参照画素X(a,b)は、コーナー参照画素C(x=−1,y=−1)、上側参照画素T(x=a,y=−1)及び左側参照画素L(x=−1,y=b)を用いる。具体的に、X(a,b)=L(x=−1,y=b)+T(x=a,y=−1)−C(x=−1,y=−1)である。
【0069】
図3の垂直モード(モード番号0)の右側のイントラ予測モードは、上側参照画素のみを用いて予測ブロックを生成すれば、生成された予測ブロックの左下側領域のピクセルと原本予測ユニットのピクセルとの差値が大きくなる確率が高くなる。しかし、前記モードのうち少なくとも一部モードについては、上側参照画素及び左側参照画素を用いて予測ブロックを生成すれば、前記差値を低減させる。このような効果は、モード番号6を持つイントラ予測モードで最も大きい。同様に、図3の水平モード(モード番号1)の下側のイントラ予測モードについても同じく、モード番号9を持つイントラ予測モードで最も大きい。
【0070】
したがって、前記モード6またはモード9では、予測ピクセルを生成するために対応(例えば、予測ピクセルの45゜角度に位置)する一つの上側補間参照画素及び一つの左側補間参照画素を用いる。予測ピクセルは、前記一つの上側補間参照画素と一つの左側補間参照画素との線形補間方法で生成するか、または四捨五入した平均値を用いる。同様に、モード6またはモード9に隣接している所定数のイントラ予測モードでは、前記左側参照画素及び上側参照画素を用いて予測ブロックを生成する。すなわち、イントラ予測モードが、6または6に隣接している既定数(例えば、4個)範囲内の予測モードである場合には、前記左側参照画素及び上側参照画素を用いて予測ブロックを生成する。この場合、複雑度を低減させるために、既定のモード番号(例えば、9または17)より大きいモード番号を持つイントラ予測モードでは前記方式を適用しなくてもよい。また、現在予測ユニットのサイズが既定のサイズ(例えば、8×8または16×16)以上の予測ユニットのみに適用してもよい。
【0071】
予測ブロック後処理部144は、予測ブロック生成部143によって生成された予測ブロックを適応的にフィルタリングする。参照画素と、参照画素に隣接している予測ブロック内の画素との画素値の差を低減させるために、参照画素に隣接している予測ブロック内の画素の一部または全部をイントラ予測モードによって適応的にフィルタリングする。
【0072】
平面モードの場合には、参照画素に隣接している予測ブロック内の画素は前記参照画素を用いて生成されるので、フィルターを適用しない。
【0073】
一方、DCモードの場合には、参照画素の平均値を用いるので、フィルターを適用する。DCモードの場合には、予測ユニットのサイズ(予測ブロックのサイズ)によって互いに異なる種類のフィルターを使う。サイズの大きい予測ユニットに使われるフィルターは、サイズの小さな予測ユニットに使われるフィルターと同一であるか、またはスムージング効果の大きな強いフィルターを使う。
【0074】
一方、図3の垂直モード(モード番号0)右側のイントラ予測モードでは、対応する予測ブロックが上側参照画素のみを用いて生成されれば、生成された予測ブロックのピクセルと原本予測ユニットの対応ピクセルとの差値は、左下側領域へ行くほど大きくなる確率が高くなる。特に、モード番号6を持つイントラ予測モードで前記差値がさらに大きくなる。
【0075】
同様に、図3の水平モード(モード番号1)下側のイントラ予測モードでは、予測ブロックが左側参照画素のみを用いて生成されれば、生成された予測ブロックのピクセルと原本予測ユニットの対応ピクセルとの差値が、右上側領域へ行くほど大きくなる確率が高くなる。モード番号9を持つイントラ予測モードで前記差値がさらに大きくなる。
【0076】
垂直モード(モード番号0)では、予測ブロックのピクセルと原本予測ユニットの対応ピクセルとの差値が下側へ行くほど大きくなり、水平モード(モード番号1)では、予測ブロックのピクセルと原本予測ユニットの対応ピクセルとの差値が、右側に行くほど大きくなる。
【0077】
したがって、前記差値を低減させるために、方向性イントラ予測モードによって予測ブロック内の一部画素を適応的にフィルタリングできる。この場合、予測ブロックの生成に用いられない予測ユニットの参照画素を用いて、予測ブロックの前記一部画素をフィルタリングする。
【0078】
方向性イントラ予測モードによってフィルタリングする領域が異なって設定されてもよい。モード6または9に隣接している方向性イントラ予測モードであるほど、フィルタリングする領域が同一または広くなる。
【0079】
例えば、モード6番に予測ユニットのサイズが2N×2Nである場合、垂直モード(モード番号0)右側のイントラ予測モードのうちモード番号6に隣接している所定数(1〜3)のイントラ予測モードについてのみフィルターを適用してもよい。この場合、複雑度を低減させるために既定のモード番号(例えば、9または17)より大きいモード番号を持つイントラ予測モードではフィルターを適用しなくてもよい。また、予測ユニットのサイズによって予測ブロックの一部画素を適応的にフィルタリングできる。予測ユニットのサイズが大きくなるほど、フィルタリングされる画素の割合を維持または高める。
【0080】
例えば、モード番号6を持つイントラ予測モードのみを考慮する。この場合、4×4の予測ユニットの場合、予測ブロックはフィルタリングしなくてもよい。8×8、16×16の予測ユニットの場合、予測ブロック内の左側境界画素、すなわち、(x=0,y=0…7)位置の8個の画素のうち下側4個の画素のみをフィルタリングする。32×32以上の予測ユニットでは、前記8個の境界画素をいずれもフィルタリングする。
【0081】
また、前記予測ユニットのサイズによって予測ブロックの画素に適用するフィルター強度を異ならせる。予測ユニットのサイズが大きくなるほどフィルター強度を維持または増加させる。
【0082】
予測モード決定部145は、参照画素を用いて現在予測ユニットのイントラ予測モードを定める。予測モード決定部145は、各イントラ予測モード別予測ブロックまたは後処理された予測ブロックを用いて、生成された残差ブロックの予想符号化量が最小になるイントラ予測モードを、現在予測ユニットのイントラ予測モードと定める。
【0083】
予測モード符号化部146は、現在予測ユニットに隣接している予測ユニットのイントラ予測モードを用いて、現在予測ユニットのイントラ予測モードを符号化する。
【0084】
図4は、本発明による予測モード符号化部146で行われる現在予測ユニットのイントラ予測モード符号化過程を示す図面である。
【0085】
先ず、現在予測ユニットのイントラ予測モード候補者を検索する(S110)。イントラ予測モード候補者は、現在予測単位の上側及び左側モードである。または、コーナーイントラ予測モードが追加されてもよく、上側及び左側イントラ予測モードによって新たなモードが追加されてもよい。
【0086】
現在予測単位の上側予測単位が複数存在する場合には、既定の方向(例えば、右→左)にスキャンしつつ、有効な1番目の予測単位のイントラ予測モードを、上側イントラ予測モードと設定する。現在予測単位の左側予測単位が複数存在する場合にも、既定の方向(例えば、下先にスキャンしつつ、有効な1番目の予測単位のイントラ予測モードを、左側イントラ予測モードと設定する。または、複数の有効な予測単位のモード番号のうち一番小さなモード番号を、上側イントラ予測モードと設定してもよい。
【0087】
コーナーイントラ予測モードは、現在予測ユニットの右上側または左上側に隣接している予測ユニットの予測モードである。または、現在予測ユニットの左上側、右上側及びウハ側に隣接しているイントラ予測モードのうち既定の順序(例えば、右上側左下側左上側)によってスキャンする場合、有効な一番目のイントラ予測モードでありうる。前記現在予測ユニットのイントラ予測モード候補者として、2個(右上側、左上側)または3個(右上側、左上側、左下側)のコーナーイントラ予測モードが追加されてもよく、存在しなくてもよい。
【0088】
次いで、前記有効なイントラ予測モード候補者のイントラ予測モードの変更如何を定める(S120)。
【0089】
前記有効なイントラ予測モード候補者のイントラ予測モードを変更すると定められれば、前記有効なイントラ予測モード候補者のイントラ予測モードを変更する(S130)。
【0090】
具体的に、前記有効なイントラ予測モード候補者のイントラ予測モード値が、現在予測ユニットで許容されるイントラ予測モードの数より大きいか、または同一であれば、前記有効なイントラ予測モード候補者のイントラ予測モード値を、既定数のイントラ予測モード値のうち一つに変換する。前記既定数は、現在予測ユニットのサイズにドル変わる。例えば、現在予測ユニットのサイズが4×4ならば、9個のモード(0〜8番モード)または18個のモードのうち一つにマッピングし、現在予測ユニットのサイズが64×64ならば、4個のモード(0〜2番モード)のうち一つにマッピングする。
【0091】
次いで、現在予測ユニットのイントラ予測候補者リストを構築する(S140)。候補者リストは、モード番号順序にする。また、頻度数の高い順序にするが、同一頻度の場合にはモード番号順序にする。複数のイントラ予測候補者が同一モードを持つならば、1つを除いた残りをリストから削除する。
【0092】
次いで、現在予測ユニットのイントラ予測モードが、前記リストとして構築されたイントラ予測モード候補者のうち一つと同一かどうかを判断する(S150)。
【0093】
同一であると判断されれば、候補者のうち一つと同一であると示す情報及び候補者インデックスを、符号化情報と定める(S160)。
【0094】
同一でないと判断されれば、現在予測ユニットのイントラ予測モードを変更するためのモード変更値を求める(S170)。前記モード変更値は、前記イントラ予測候補者リストのイントラ予測モード値を比べて、現在予測ユニットのイントラ予測モード値より大きくないモード値を持つイントラ予測モード候補者の数である。
【0095】
次いで、前記モード変更値を用いて現在予測ユニットのイントラ予測モードを変更する(S180)。前記変更された現在予測ユニットのイントラ予測モードと定められる。前記変更された現在予測ユニットのイントラ予測モードがエントロピー符号化部140に伝送される。
【0096】
図5は、本発明によるイントラ予測復号化装置200を示すブロック図である。
【0097】
本発明によるイントラ予測復号化装置200は、エントロピー復号化部210、残差信号復号化部220、予測モード復号化部230、参照画素生成部240、予測ブロック生成部250、予測ブロック後處理部260、映像復元部270を備える。
【0098】
エントロピー復号化部210は、受信されたビットストリームから量子化された残差係数を抽出し、変換ユニット単位の前記量子化された残差係数及び変換ユニットのサイズ情報を残差信号復号化部220に伝送する。また、エントロピー復号化部210は、受信されたビートストリームから、イントラ予測情報及び復号化する予測ユニットのサイズ情報を予測モード復号化部230に伝送する。
【0099】
残差信号復号化部220は、前記受信された量子化された残差係数の信号を2次元配列の逆量子化ブロックに変換する。前記変換のために、複数のスキャニングパターンのうち一つを選択する。また、変換ブロックの前記スキャニングパターンは、予測モードとイントラ予測モードのうち少なくとも一つに基づいて定められる。逆スキャニング動作は、図1のスキャニング部131の動作の逆過程と同じである。すなわち、復号化しようとする現在変換ユニットのサイズが第1基準サイズより大きければ、前記逆スキャニングパターンに基づいて複数のサブセット別に逆スキャニングし、前記逆スキャニングされた複数のサブセットを用いて、変換ユニットのサイズを持つ逆量子化ブロックを生成する。一方、復号化しようとする現在変換ユニットのサイズが第1基準サイズより大きくなければ、前記逆スキャニングパターンに基づいて逆スキャニングして、変換ユニットのサイズを持つ逆量子化ブロックを生成する。
【0100】
予測モード復号化部230は、エントロピー復号化部210から受信されたイントラ予測情報及び現在予測ユニットのサイズ情報に基づいて、現在予測ユニットのイントラ予測モードを復元する。前記受信されたイントラ予測情報は、前記図4の逆過程により復元される。
【0101】
すなわち、参照画素生成部240は、現在予測ユニットの利用不可能な参照画素を復元し、予測モード復号化部230から受信された現在予測ユニットのイントラ予測モードに基づいて、適応的に参照画素をフィルタリングする。参照画素の生成方法及び参照画素のフィルタリング方法は、図2のイントラ予測部140の参照画素生成部142の参照画素生成方法及び参照画素フィルタリング方法と同一である。
【0102】
すなわち、現在予測ユニットの参照画素が利用できるかどうかを判断する。イントラ予測に用いられる現在予測ユニットの参照画素は、(x=−1,y=−1)位置を持つコーナー参照画素、(x=0…2L−1,y=−1)位置を持つ2L個の上側参照画素、(x=0,y=0…2M−1)位置を持つ2M個の左側参照画素で構成される。ここでLは、現在予測ユニットの横長(width)であり、Mは、現在予測ユニットの縦長(height)を示す。
【0103】
イントラ予測モードに基づいて、予測ブロックを生成するための参照画素が利用不可能か、または十分ではない場合に参照画素を生成する。
【0104】
すべての参照画素が利用不可能な場合には、一定値で参照画素を生成する。
【0105】
前記参照画素のうち一部が利用不可能な場合には、前記利用不可能な画素が利用可能な画素の一方向のみに存在するか、または利用可能な画素同士の間に存在するかどうかを判断する。
【0106】
前記利用不可能な画素が利用可能な画素の一方向のみに存在する場合には、最も近い利用可能な画素値をコピーして参照ブロックを生成する。例えば、現在予測ユニットがピクチャーまたはスライスの上側境界に位置する場合には、前記コーナー参照画素及び上側参照画素が利用不可能である。したがって、この場合には、最も近い位置である(x=−1,y=0)位置の参照画素をコピーして、コーナー参照画素及び上側参照画素を生成する。また、前記最も近い位置の利用可能な参照画素及び少なくとも一つ以上の利用可能な参照画素を用いて参照画素を生成してもよい。例えば、(x=−1,y=−1)位置を持つコーナー参照画素及び、(x=0…L−1,y=−1)位置の参照画素が利用でき、(x=L…2L−1,y=−1)位置の参照画素が利用不可能な場合、(x=L−1,y=−1)位置の参照画素と、コーナー参照画素値またはそれ以外の参照画素値の差変化を用いて前記利用不可能な位置の参照画素とを生成する。
【0107】
前記利用不可能な画素が利用可能な画素の間に存在する場合には、利用不可能な画素に隣接している2個の利用可能な画素(p,q)を用いて参照画素を生成する。例えば、(x=−1,y=−1)位置を持つコーナー参照画素と、(x=0…L−1,y=−1)位置のL個の上側参照画素とが利用不可能な場合には、(x=−1,y=0)位置の参照画素(p)及び(x=L,y=−1)位置の参照画素(q)を用いて、その間の参照画素を生成する。
【0108】
生成された参照画素の値は、前記参照画素(p)と参照画素(q)との平均値の四捨五入値である。また、前記生成された参照画素の値は、前記参照画素(p)と前記参照画素(q)との画素値の差変化を用いて生成される。この場合、生成される画素位置による線形補間または前記2個の参照画素の加重平均により参照画素を生成する。
【0109】
一方、現在予測ユニットの上側に複数の予測ユニットが存在する場合、前記上側2個の予測ユニット境界に位置する両方境界ピクセル間の差値は、それぞれの上側予測ユニット内の隣接ピクセル間の差値より大きい可能性が高い。このような場合は、量子化パラメータによって発生するエラーから起因する。前記エラーは、隣接する2個の参照ピクセルを用いて予測ブロックが生成される方向性イントラ予測モードの場合に発生する可能性が高い。
【0110】
特に、図3の水平または垂直方向を基準として45゜方向性を持つモード(モード番号3、6、9)が最も大きい影響を受ける。一方、垂直または水平方向のモード(モード番号0、1)は、予測ブロックの画素生成のために1つの画素が用いられるので少なく影響される。
【0111】
したがって、45゜方向性を持つ方向性イントラ予測モード(モード番号3、6、9)については、参照画素にフィルター(スムージングフィルター)を適用し、垂直及び水平方向性イントラ予測モード(モード番号0、1)については、参照画素にフィルターを適用しない。非方向性モードのうちDCモードにもフィルターを適用しない。これらモードについては、現在予測ユニットのサイズと関係なく前記の適用如何が定められる。
【0112】
そして、45゜方向性を持つイントラ予測モード(モード番号3、6、9)と前記垂直または垂直イントラ予測モードとの間の方向性を持つ方向性モードについては、フィルター(スムージングフィルター)を適応的に適用する。この場合、45゜方向性を持つイントラ予測モードに隣接しているイントラ予測モードであるほど、フィルター(スムージングフィルター)を適用する確率を高めることが望ましい。すなわち、第1方向性モードが第2方向性モードより、前記45゜方向性を持つイントラ予測モードにさらに隣接している方向性を持つ場合、第2方向性モードにフィルターを適用すれば、第1方向性モードにもフィルターを適用する。逆に第1方向性モードにフィルターが適用される場合、第2方向性モードにはフィルターが適用されても、適用されなくてもよい。
【0113】
また、大きいサイズの予測ユニット内のピクセル間の差値の変化は、小さなサイズの予測ユニット内のピクセル間の差値の変化より緩やかな可能性が高い。したがって、予測ユニットのサイズが大きくなるほど、さらに多くの方向性モードについて参照ピクセルをフィルタリングでき、さらに強いフィルターを適用できる。逆に、予測ユニットのサイズが特定サイズより小くなる場合には、フィルターを適用しなくてもよい。
【0114】
例えば、45゜方向性を持つイントラ予測モード(モード番号3、6、9)では、第1サイズより小さいか、または同じサイズの予測ユニットについては第1フィルターを適用し、前記第1サイズより大きいサイズの予測ユニットについては第1フィルターより強いフィルターである第2フィルターを適用する。前記第1サイズは、方向性予測モードによって変わりうる。
【0115】
例えば、垂直イントラ予測モードと、モード番号6を持つイントラ予測モード(45゜方向性モード)との間に位置するモード番号5を持つイントラ予測モードでは、第2サイズより小さいか、または同じサイズの予測ユニットではフィルターを適用せず、第2サイズより大きく、第3サイズより小さいか、または同じサイズの予測ユニットでは第1フィルターを適用し、第3サイズより大きいサイズの予測ユニットでは第2フィルターを使う。前記第2サイズ及び第3サイズは、方向性予測モードによって変わりうる。
【0116】
前記第1フィルターは、3タップフィルターである[1,2,1]、または5タップフィルターである[1,2,4,2,1]である。前記第2フィルターは、前記第1フィルターよりスムージング効果の大きい強いフィルターを使う。
【0117】
予測ブロック生成部250は、予測モード復号化部230から受信された現在予測ユニットのイントラ予測モードによって予測ブロックを生成する。予測ブロックの生成方法は、図2のイントラ予測部140の予測ブロック生成部142の予測ブロック生成方法と同一である。
【0118】
すなわち、方向性イントラ予測モードは、イントラ予測モードによって対応する参照ピクセルが変わる。例えば、イントラ予測モードが垂直モードである場合には、(x=0…L−1,y=−1)位置のL個の上側参照画素を用い、水平モードである場合には、(x=−1,y=0…L−1)位置のL個の左側参照画素を用いる。
【0119】
非方向性イントラ予測モードは、コーナー画素、(x=0…L−1,y=−1)位置のL個の上側参照画素、(x=−1,y=0…L−1)位置のL個の左側参照画素を用いる。非方向性イントラ予測モードは、DCモード及び平面モード(Planar mode)である。
【0120】
平面モードの場合、コーナー参照画素、左側参照画素及び上側参照画素を用いて予測ブロックの参照画素を生成する。生成しようとする参照画素の位置が(a,b)である場合、生成される参照画素X(a,b)は、コーナー参照画素C(x=−1,y=−1)、上側参照画素T(x=a,y=−1)及び左側参照画素L(x=−1,y=b)を用いる。具体的に、X(a,b)=L(x=−1,y=b)+T(x=a,y=−1)−C(x=−1,y=−1)でありうる。
【0121】
図3の垂直モード(モード番号0)右側のイントラ予測モードは、上側参照画素のみを用いて予測ブロックを生成すれば、生成された予測ブロックの左下側領域のピクセルと原本予測ユニットのピクセルとの差値が大きくなる確率が高くなる。しかし、前記モードのうち少なくとも一部モードについては、上側参照画素及び左側参照画素を用いて予測ブロックを生成すれば、前記差値を低減させる。このような効果は、モード番号6を持つイントラ予測モードで最も大きい。同様に、図3の水平モード(モード番号1)下側のイントラ予測モードについても同じく、モード番号9を持つイントラ予測モードで最も大きい。
【0122】
したがって、前記モード6またはモード9では、予測ピクセルを生成するために対応(例えば、予測ピクセルの45゜角度に位置)する一つの上側補間参照画素と、一つの左側補間参照画素とを用いる。予測ピクセルは、前記一つの上側補間参照画素と一つの左側補間参照画素との線形補間方法で生成するか、または四捨五入した平均値を用いる。同様に、モード6またはモード9に隣接している所定数のイントラ予測モードでは、前記左側参照画素及び上側参照画素を用いて予測ブロックを生成する。この場合、複雑度を低減させるために、既定のモード番号(例えば、9または17)より大きいモード番号を持つイントラ予測モードでは前記方式を適用しないこともある。また、現在予測ユニットのサイズが既定のサイズ(例えば、8×8または16×16)以上の予測ユニットのみに適用してもよい。
【0123】
予測ブロック後処理部 260は、予測モード復号化部230から受信された現在予測ユニットのイントラ予測モードによって、前記予測ブロック生成部250によって生成された予測ブロックを適応的にフィルタリングする。予測ブロック後処理部は、予測ブロック生成部250に一体化される。予測ブロックのフィルタリング方法は、図2のイントラ予測部140の予測ブロック後処理部144の予測ブロックフィルタリング方法と同一である。
【0124】
すなわち、参照画素と、参照画素に隣接している予測ブロック内の画素との画素値の差を低減させるために、参照画素に隣接している予測ブロック内の画素の一部または全部を、イントラ予測モードによって適応的にフィルタリングする。
【0125】
平面モードの場合には、参照画素に隣接している予測ブロック内の画素は前記参照画素を用いて生成されるので、フィルターを適用しない。
【0126】
一方、DCモードの場合には、参照画素の平均値を用いるので、フィルターを適用する。DCモードの場合には、予測ユニットのサイズ(予測ブロックのサイズ)によって互いに異なる種類のフィルターを使う。サイズの大きい予測ユニットに使われるフィルターは、サイズの小さな予測ユニットに使われるフィルターと同じであるか、またはスムージング効果の大きな強いフィルターを使う。
【0127】
一方、図3の垂直モード(モード番号0)右側のイントラ予測モードでは、対応する予測ブロックが上側参照画素のみを用いて生成されれば、生成された予測ブロックのピクセルと原本予測ユニットの対応ピクセルとの差値は、左下側領域へ行くほど大きくなる確率が高くなる。特に、モード番号6を持つイントラ予測モードで前記差値がさらに大きくなる。
【0128】
同様に、図3の水平モード(モード番号1)下側のイントラ予測モードでは、予測ブロックが左側参照画素のみを用いて生成されれば、生成された予測ブロックのピクセルと原本予測ユニットの対応ピクセルとの差値が、右上側領域へ行くほど大きくなる確率が高くなる。モード番号9を持つイントラ予測モードで前記差値がさらに大きくなる。
【0129】
垂直モード(モード番号0)では、予測ブロックのピクセルと原本予測ユニットの対応ピクセルとの差値が下方へ行くほど大きくなり、水平モード(モード番号1)では、予測ブロックのピクセルと原本予測ユニットの対応ピクセルとの差値が右側に行くほど大きくなる。
【0130】
したがって、前記差値を低減させるために、方向性イントラ予測モードによって予測ブロック内の一部画素を適応的にフィルタリングできる。この場合、予測ブロックの生成に用いられない予測ユニットの参照画素を用いて、予測ブロックの前記一部画素をフィルタリングする。
【0131】
方向性イントラ予測モードによって、フィルタリングする領域が異なって設定されてもよい。モード6または9に隣接している方向性イントラ予測モードであるほど、フィルタリングする領域が同一またはさらに広くなる。
【0132】
例えば、モード番号6の予測ユニットのサイズが2N×2Nである場合、垂直モード(モード番号0)右側のイントラ予測モードのうちモード番号6に隣接している所定数(1〜3)のイントラ予測モードについてのみフィルターを適用してもよい。この場合、複雑度を低減させるために、既定のモード番号(例えば、9または17)より大きいモード番号を持つイントラ予測モードではフィルターを適用しなくてもよい。また、予測ユニットのサイズによって、予測ブロックの一部画素を適応的にフィルタリングできる。予測ユニットのサイズが大きくなるほど、フィルタリングされる画素の割合を維持または高める。
【0133】
例えば、モード番号6を持つイントラ予測モドエソのみを考慮する。この場合、4×4の予測ユニットの場合、予測ブロックはフィルタリングしなくてもよい。8×8、16×16の予測ユニットの場合、予測ブロック内の左側境界画素、すなわち、(x=0,y=0…7)位置の8個の画素のうち下側4個の画素のみをフィルタリングする。32×32以上の予測ユニットでは、前記8個の境界画素をいずれもフィルタリングする。
【0134】
また、前記予測ユニットのサイズによって、予測ブロックの画素に適用するフィルター強度を異ならせる。予測ユニットのサイズが大きくなるほど、フィルター強度を維持または増加させる。
【0135】
映像復元部270は、予測モード復号化部230によって復元されたイントラ予測モードによって、予測ブロック生成部250または予測ブロック後処理部260から、予測ユニット単位で予測ブロックを受信する。映像復元部270は、残差信号復号化部220によって復元された残差ブロックを、変換ユニット単位で受信する。映像復元部250は、受信された予測ブロックと残差ブロックを加えて復元映像を生成する。前記復元映像は、コーディングユニット単位で復元される。
図1
図2
図3
図4
図5