【文献】
Chuohao Yeo et al.,Non-CE6: On intra prediction mode coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2011年11月,JCTVC-G153,pp.1-12
【文献】
Kiran Misra and Andrew Segall,Using CABAC bypass mode for coding intra prediction mode,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2011年11月,JCTVC-G707,pp.1-7
【文献】
Tammy Lee, Jianle Chen and Jeonghoon Park,Non-CE1: Bypass coding of Intra prediction modes in CABAC,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2011年11月,JCTVC-G767,pp.1-5
【文献】
Edouard FRANCOIS, Stephane PAUTET and Christophe GISQUET,CE6b: Mode ranking for remaining mode coding with 2 or 3 MPMs,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2011年11月,JCTVC-G242,pp.1-5
【文献】
Tomoyuki Yamamoto,Modified definitions of intra mode and most probable mode,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,8th Meeting: San Jose, CA, USA,2012年 1月,JCTVC-H0098,pp.1-4
【文献】
Edouard FRANCOIS and Stephane PAUTET,Non-CE6c: adaptations of Intra mode coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,8th Meeting: San Jose, CA, USA,2012年 1月,JCTVC-H0175-r2,pp.1-12
【文献】
Vadim Seregin, Wei-Jung Chien and Marta Karczewicz,Non-CE6: Postpone MPM sorting,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,8th Meeting: San Jose, CA, USA,2012年 2月,JCTVC-H0428_r2,pp.1-3
(58)【調査した分野】(Int.Cl.,DB名)
上記予測モード復元手段は、上記推定予測モードフラグが推定予測モードを利用しないことを示す場合に、上記複数の予測モードに対応する予測モード番号の大小比較に基づいて推定予測モードのスワップを実行すること、を特徴とする請求項1に記載の画像復号装置。
上記予測モード復元ステップでは、上記推定予測モードフラグが推定予測モードを利用しないことを示す場合に、上記複数の予測モードに対応する予測モード番号の大小比較に基づいて推定予測モードのスワップを実行すること、を特徴とする請求項3に記載の画像復号方法。
予測モードに対応付けられたイントラ予測方式により予測画像を生成して、原画像と該予測画像との差をとることで得られる予測残差を符号化する画像符号化装置において、
対象予測単位の複数の近傍予測単位に割り付けられている符号化済みの予測モードから、複数の推定予測モードを導出する推定予測モード導出手段と、
対象予測単位の予測モードが、推定予測モードを利用するか否かを判定する判定手段と、
推定予測モードを利用する場合に、推定予測モードを利用することを示す推定予測モードフラグ、および、上記複数の推定予測モードのいずれかを指定するための推定予測モードインデックスであって、算術符号化のためのコンテキストが設定されていない推定予測モードインデックスを、
推定予測モードを利用しない場合に、推定予測モードを利用しないことを示す推定予測モードフラグ、および、上記複数の推定予測モード以外の予測モードを指定するためのインデックスを、算術符号化によって符号化する算術符号化手段と、
推定予測モードを利用しない場合に、上記複数の推定予測モードのスワップ、および、上記推定予測モード以外の予測モードを指定するためのインデックスを実行する予測モード符号化手段を備えることを特徴とする画像符号化装置。
予測モードに対応付けられたイントラ予測方式により予測画像を生成して、原画像と該予測画像との差をとることで得られる予測残差を符号化する画像符号化方法であって、
対象予測単位の複数の近傍予測単位に割り付けられている符号化済みの予測モードから、複数の推定予測モードを導出する推定予測モード導出ステップと、
対象予測単位の予測モードが、推定予測モードを利用するか否かを判定する判定ステップと、
推定予測モードを利用する場合に、推定予測モードを利用することを示す推定予測モードフラグ、および、上記複数の推定予測モードのいずれかを指定するための推定予測モードインデックスであって、算術符号化のためのコンテキストが設定されていない推定予測モードインデックスを、
推定予測モードを利用しない場合に、推定予測モードを利用しないことを示す推定予測モードフラグ、および、上記複数の推定予測モード以外の予測モードを指定するためのインデックスを、算術符号化によって符号化する算術符号化ステップと、
推定予測モードを利用しない場合に、上記複数の推定予測モードのスワップ、および、上記推定予測モード以外の予測モードを指定するためのインデックスを実行する予測モード符号化ステップと、を含むことを特徴とする画像符号化方法。
【発明を実施するための形態】
【0022】
〔概要〕
本発明の一実施形態について
図1〜
図31を参照して説明する。まず、
図2を参照しながら、動画像復号装置(画像復号装置)1および動画像符号化装置(画像符号化装置)2の概要について説明する。
図2は、動画像復号装置1の概略的構成を示す機能ブロック図である。
【0023】
図2に示す動画像復号装置1および動画像符号化装置2は、H.264/MPEG−4 AVC規格に採用されている技術、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている技術、TMuC(Test Model under Consideration)ソフトウェアに採用されている技術、および、その後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている技術を実装している。
【0024】
動画像符号化装置2は、これらの動画像符号化方式において、エンコーダからデコーダに伝送されることが規定されているシンタックス(syntax)の値をエントロピー符号化して符号化データ#1を生成する。
【0025】
エントロピー符号化方式としては、コンテキスト適応型可変長符号化(CAVLC:Context-based Adaptive Variable Length Coding)、および、コンテキスト適応型2値算術符号化(CABAC:Context-based Adaptive Binary Arithmetic Coding)が知られている。
【0026】
CAVLCおよびCABACによる符号化/復号においては、コンテキストに適応した処理が行われる。コンテキストとは、符号化/復号の状況(文脈)のことであり、関連シンタックスの過去の符号化/復号結果により定まるものである。関連シンタックスとしては、例えば、イントラ予測、インター予測に関する各種シンタックス、輝度(Luma)、色差(Chroma)に関する各種シンタックス、およびCU(Coding Unit 符号化単位)サイズに関する各種シンタックスなどがある。また、CABACでは、シンタックスに対応する2値データ(バイナリ列)における、符号化/復号対象となるバイナリの位置をコンテキストとして用いる場合もある。
【0027】
CAVLCでは、符号化に用いるVLCテーブルを適応的に変更して、各種シンタックスが符号化される。一方、CABACでは、予測モードおよび変換係数等の多値を取り得るシンタックスに対して2値化処理が施され、この2値化処理によって得られた2値データが発生確率に応じて適応的に算術符号化される。具体的には、バイナリ値(0または1)の発生確率を保持するバッファを複数用意し、コンテキストに応じて一つのバッファを選択し、当該バッファに記録されている発生確率に基づいて算術符号化を行う。また、復号/符号化するバイナリ値に基づいて、当該バッファの発生確率を更新することで、コンテキストに応じて適切な発生確率を維持できる。
【0028】
動画像復号装置1には、動画像符号化装置2が動画像を符号化した符号化データ#1が入力される。動画像復号装置1は、入力された符号化データ#1を復号して動画像#2を外部に出力する。動画像復号装置1の詳細な説明に先立ち、符号化データ#1の構成を以下に説明する。
〔符号化データの構成〕
図3を用いて、動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1の構成例について説明する。符号化データ#1は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
【0029】
符号化データ#1におけるピクチャレイヤ以下の階層の構造を
図3に示す。
図3の(a)〜(d)は、それぞれ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、ツリーブロック(Tree block)TBLKを規定するツリーブロックレイヤ、ツリーブロックTBLKに含まれる符号化単位(Coding Unit;CU)を規定するCUレイヤを示す図である。
【0030】
(ピクチャレイヤ)
ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、
図3の(a)に示すように、ピクチャヘッダPH、及び、スライスS
1〜S
NSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
【0031】
なお、以下、スライスS
1〜S
NSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ#1に含まれるデータであって、添え字を付している他のデータについても同様である。
【0032】
ピクチャヘッダPHには、対象ピクチャの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれている。例えば、予測残差の量子化ステップのピクチャ内における基準値(pic_init_qp_minus26)は、ピクチャヘッダPHに含まれる符号化パラメータの一例である。
【0033】
なお、ピクチャヘッダPHは、ピクチャー・パラメーター・セット(PPS:Picture Parameter Set)とも称される。
【0034】
(スライスレイヤ)
スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。スライスSは、
図3の(b)に示すように、スライスヘッダSH、及び、ツリーブロックTBLK
1〜TBLK
NC(NCはスライスSに含まれるツリーブロックの総数)を含んでいる。
【0035】
スライスヘッダSHには、対象スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
【0036】
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
【0037】
また、スライスヘッダSHには、動画像復号装置1の備えるループフィルタ(不図示)によって参照されるフィルタパラメータが含まれていてもよい。
【0038】
(ツリーブロックレイヤ)
ツリーブロックレイヤでは、処理対象のツリーブロックTBLK(以下、対象ツリーブロックとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
【0039】
ツリーブロックTBLKは、ツリーブロックヘッダTBLKHと、符号化単位情報CU
1〜CU
NL(NLはツリーブロックTBLKに含まれる符号化単位情報の総数)とを含む。ここで、まず、ツリーブロックTBLKと、符号化単位情報CUとの関係について説明すると次のとおりである。
【0040】
ツリーブロックTBLKは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するためのユニットに分割される。
【0041】
ツリーブロックTBLKの上記ユニットは、再帰的な4分木分割により分割されている。この再帰的な4分木分割により得られる木構造のことを以下、符号化ツリー(coding tree)と称する。
【0042】
以下、符号化ツリーの末端のノードであるリーフ(leaf)に対応するユニットを、符号化ノード(coding node)として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位(CU)とも称する。
【0043】
つまり、符号化単位情報(以下、CU情報と称する)CU
1〜CU
NLは、ツリーブロックTBLKを再帰的に4分木分割して得られる各符号化ノード(符号化単位)に対応する情報である。
【0044】
また、符号化ツリーのルート(root)は、ツリーブロックTBLKに対応付けられる。換言すれば、ツリーブロックTBLKは、複数の符号化ノードを再帰的に含む4分木分割の木構造の最上位ノードに対応付けられる。
【0045】
なお、各符号化ノードのサイズは、当該符号化ノードが直接に属する符号化ノード(すなわち、当該符号化ノードの1階層上位のノードのユニット)のサイズの縦横とも半分である。
【0046】
また、各符号化ノードの取り得るサイズは、ツリーブロックのサイズと、符号化データ#1のシーケンスパラメータセットSPSに含まれる、符号化ノードのサイズ指定情報に依存する。ツリーブロックが符号化ノードのルートとなることから、符号化ノードの最大サイズはツリーブロックのサイズとなる。ツリーブロックの最大サイズが符号化ノード(CU)の最大サイズに一致することとから、ツリーブロックの呼称としてLCU(Largest CU)が用いられることもある。最小サイズに関しては、例えば、サイズ指定情報として最小符号化ノードサイズ(log2_min_coding_block_size_minus3)と最大と最小の符号化ノードサイズの差(log2_diff_max_min_coding_block_size)が用いられる。一般的な設定では、最大符号化ノードサイズが64×64画素、最小符号化ノードサイズが8×8画素となる符号化ノードのサイズ指定情報が用いられる。その場合、符号化ノードと符号化単位CUのサイズは、64×64画素、32×32画素、16×16画素、または、8×8画素のいずれかとなる。
【0047】
(ツリーブロックヘッダ)
ツリーブロックヘッダTBLKHには、対象ツリーブロックの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、
図3の(c)に示すように、対象ツリーブロックの各CUへの分割パターンを指定するツリーブロック分割情報SP_TBLK、および、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(qp_delta)が含まれる。
【0048】
ツリーブロック分割情報SP_TBLKは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各CUの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
【0049】
なお、ツリーブロック分割情報SP_TBLKは、CUの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報SP_TBLKは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。その場合、ツリーブロックの形状やサイズを併用することで各CUの形状やサイズを特定できる。
【0050】
また、量子化パラメータ差分Δqpは、対象ツリーブロックにおける量子化パラメータqpと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータqp’との差分qp−qp’である。
【0051】
(CUレイヤ)
CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
【0052】
ここで、CU情報CUに含まれるデータの具体的な内容の説明をする前に、CUに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー(prediction tree;PT)および変換ツリー(transform tree;TT)のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
【0053】
予測ツリーにおいては、符号化ノードが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
【0054】
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU)とも称する。
【0055】
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。
【0056】
イントラ予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)と、N×Nとがある。
【0057】
また、インター予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)、2N×N、N×2N、および、N×Nなどがある。
【0058】
また、変換ツリーにおいては、符号化ノードが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
【0059】
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
【0060】
(CU情報のデータ構造)
続いて、
図3の(d)を参照しながらCU情報CUに含まれるデータの具体的な内容について説明する。
図3の(d)に示すように、CU情報CUは、具体的には、スキップフラグSKIP、PT情報PTI、および、TT情報TTIを含む。
【0061】
スキップフラグSKIPは、対象のPUについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグSKIPの値が1の場合、すなわち、対象CUにスキップモードが適用されている場合、そのCU情報CUにおけるPT情報PTI、および、TT情報TTIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
【0062】
PT情報PTIは、CUに含まれるPTに関する情報である。言い換えれば、PT情報PTIは、PTに含まれる1または複数のPUそれぞれに関する情報の集合であり、動画像復号装置1により予測画像を生成する際に参照される。PT情報PTIは、
図3の(d)に示すように、予測タイプ情報PType、および、予測情報PInfoを含んでいる。
【0063】
予測タイプ情報PTypeは、対象PUについての予測画像生成方法として、イントラ予測を用いるのか、または、インター予測を用いるのかを指定する情報である。
【0064】
予測情報PInfoは、予測タイプ情報PTypeが何れの予測方法を指定するのかに応じて、イントラ予測情報、または、インター予測情報より構成される。以下では、イントラ予測が適用されるPUをイントラPUとも呼称し、インター予測が適用されるPUをインターPUとも呼称する。
【0065】
また、予測情報PInfoは、対象PUの形状、サイズ、および、位置を指定する情報が含まれる。上述のとおり予測画像の生成は、PUを単位として行われる。予測情報PInfoの詳細については後述する。
【0066】
TT情報TTIは、CUに含まれるTTに関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数のTUそれぞれに関する情報の集合であり、動画像復号装置1により残差データを復号する際に参照される。なお、以下、TUのことを変換ブロックと称することもある。
【0067】
TT情報TTIは、
図3の(d)に示すように、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TU、および、TU情報TUI
1〜TUI
NT(NTは、対象CUに含まれる変換ブロックの総数)を含んでいる。
【0068】
TT分割情報SP_TUは、具体的には、対象CUに含まれる各TUの形状、サイズ、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TUは、対象となるノードの分割を行うのか否かを示す情報(split_transform_unit_flag)と、その分割の深度を示す情報(trafoDepth)とから実現することができる。
【0069】
また、例えば、CUのサイズが、64×64の場合、分割により得られる各TUは、32×32画素から4×4画素までのサイズを取り得る。
【0070】
また、TU分割情報SP_TUには、各TUに非ゼロの変換係数が存在するか否かの情報が含まれる。例えば、個々のTUに対する非ゼロ係数の存否情報(CBP;Coded Block Flag)や、複数のTUに対する非ゼロ係数の存否情報(no_residual_data_flag)が TU分割情報SP_TUに含まれる。
【0071】
TU情報TUI
1〜TUI
NTは、TTに含まれる1または複数のTUそれぞれに関する個別の情報である。例えば、TU情報TUIは、量子化予測残差を含んでいる。
【0072】
各量子化予測残差は、動画像符号化装置2が以下の処理1〜3を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
【0073】
処理1:符号化対象画像から予測画像を減算した予測残差をDCT変換(Discrete Cosine Transform)する;
処理2:処理1にて得られた変換係数を量子化する;
処理3:処理2にて量子化された変換係数を可変長符号化する;
なお、上述した量子化パラメータqpは、動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2
qp/6)。
【0074】
(予測情報PInfo)
上述のとおり、予測情報PInfoには、インター予測情報およびイントラ予測情報の2種類がある。
【0075】
インター予測情報には、動画像復号装置1が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、インター予測情報には、対象CUの各インターPUへの分割パターンを指定するインターPU分割情報、および、各インターPUについてのインター予測パラメータが含まれる。
【0076】
インター予測パラメータには、参照画像インデックスと、推定動きベクトルインデックスと、動きベクトル残差とが含まれる。
【0077】
一方、イントラ予測情報には、動画像復号装置1が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、イントラ予測情報には、対象CUの各イントラPUへの分割パターンを指定するイントラPU分割情報、および、各イントラPUについてのイントラ予測パラメータが含まれる。イントラ予測パラメータは、各イントラPUについてのイントラ予測(予測モード)を復元するためのパラメータである。予測モードを復元するためのパラメータには、MPM(Most Probable Mode、以下同様)に関するフラグであるmpm_flag、MPMを選択するためのインデックスであるmpm_idx、および、MPM以外の予測モードを指定するためのインデックスであるrem_idxが含まれる。ここで、MPMとは、対象パーティションで選択される可能性が高い推定予測モードである。例えば、対象パーティションの周辺のパーティションに割り付けられた予測モードに基づいて推定された推定予測モードや、一般的に発生確率の高いDCモードやPlanarモードがMPMに含まれ得る。
【0078】
また、以下において、単に“予測モード”と表記する場合、輝度予測モードのことを指す。色差予測モードについては、“色差予測モード”と表記し、輝度予測モードと区別する。また、予測モードを復元するパラメータには、色差予測モードを指定するためのパラメータであるchroma_modeが含まれる。
【0079】
なお、mpm_flag、mpm_idx、rem_idx、およびchroma_modeのパラメータの詳細については、後述する。
【0080】
また、mpm_flagおよびrem_indexは、それぞれ、非特許文献1における“prev_intra_luma_pred_flag”および“rem_intra_luma_pred_mode”に対応している。また、chroma_modeは、“intra_chroma_pred_mode”に対応している。
〔動画像復号装置〕
以下では、本実施形態に係る動画像復号装置1の構成について、
図1〜
図23を参照して説明する。
【0081】
(動画像復号装置の概要)
動画像復号装置1は、PU毎に予測画像を生成し、生成された予測画像と、符号化データ#1から復号された予測残差とを加算することによって復号画像#2を生成し、生成された復号画像#2を外部に出力する。
【0082】
ここで、予測画像の生成は、符号化データ#1を復号することによって得られる符号化パラメータを参照して行われる。符号化パラメータとは、予測画像を生成するために参照されるパラメータのことである。符号化パラメータには、画面間予測において参照される動きベクトルや画面内予測において参照される予測モードなどの予測パラメータに加えて、PUのサイズや形状、ブロックのサイズや形状、および、原画像と予測画像との残差データなどが含まれる。以下では、符号化パラメータに含まれる情報のうち、上記残差データを除く全ての情報の集合を、サイド情報と呼ぶ。
【0083】
また、以下では、復号の対象となるピクチャ(フレーム)、スライス、ツリーブロック、CU、ブロック、および、PUをそれぞれ、対象ピクチャ、対象スライス、対象ツリーブロック、対象CU、対象ブロック、および、対象PUと呼ぶことにする。
【0084】
なお、ツリーブロックのサイズは、例えば64×64画素であり、CUのサイズは、例えば、64×64画素、32×32画素、16×16画素、8×8画素であり、PUのサイズは、例えば、64×64画素、32×32画素、16×16画素、8×8画素や4×4画素などである。しかしながら、これらのサイズは、単なる例示であり、ツリーブロック、CU、および、PUのサイズは以上に示したサイズ以外のサイズであってもよい。
【0085】
(動画像復号装置の構成)
再び、
図2を参照して、動画像復号装置1の概略的構成について説明すると次のとおりである。
図2は、動画像復号装置1の概略的構成について示した機能ブロック図である。
【0086】
図2に示すように動画像復号装置1は、可変長復号部11、逆量子化・逆変換部13、予測画像生成部14、加算器15およびフレームメモリ16を備えている。
【0087】
[可変長復号部]
可変長復号部11は、動画像復号装置1から入力された符号化データ#1に含まれる各種のパラメータを復号する。以下の説明では、可変長復号部11が、CABACおよびCAVLC等のエントロピー符号化方式により符号化されているパラメータの復号を適宜行うものとする。可変長復号部11は、具体的には、以下の手順により、1フレーム分の符号化データ#1を復号する。
【0088】
まず、可変長復号部11は、1フレーム分の符号化データ#1を、逆多重化することで、
図3に示した階層構造に含まれる各種情報に分離する。例えば、可変長復号部11は、各種ヘッダに含まれる情報を参照して、符号化データ#1を、スライス、ツリーブロックに順次分離する。
【0089】
ここで、各種ヘッダには、(1)対象ピクチャのスライスへの分割方法についての情報、および(2)対象スライスに属するツリーブロックのサイズ、形状および対象スライス内での位置についての情報が含まれる。
【0090】
そして、可変長復号部11は、ツリーブロックヘッダTBLKHに含まれるツリーブロック分割情報SP_TBLKを参照して、対象ツリーブロックを、CUに分割する。また、可変長復号部11は、対象CUについて得られる変換ツリーに関するTT情報TTI、および、対象CUについて得られる予測ツリーに関するPT情報PTIを復号する。
【0091】
なお、TT情報TTIには、上述のとおり、変換ツリーに含まれるTUに対応するTU情報TUIが含まれる。また、PT情報PTIには、上述のとおり、対象予測ツリーに含まれるPUに対応するPU情報PUIが含まれる。
【0092】
可変長復号部11は、対象CUについて得られたTT情報TTIをTU情報復号部12に供給する。また、可変長復号部11は、対象CUについて得られたPT情報PTIを予測画像生成部14に供給する。なお、可変長復号部11の構成については、後ほど、より詳しく説明する。
【0093】
[逆量子化・逆変換部]
逆量子化・逆変換部13は、対象CUに含まれる各ブロックについて、TT情報TTIに基づいて逆量子化・逆変換処理を実行する。具体的には、逆量子化・逆変換部13は、各対象TUについて、対象TUに対応するTU情報TUIに含まれる量子化予測残差を逆量子化および逆直交変換することによって、画素毎の予測残差Dを復元する。なお、ここで直交変換とは、画素領域から周波数領域への直交変換のことを指す。したがって、逆直交変換は、周波数領域から画素領域への変換である。また、逆直交変換の例としては、逆DCT変換(Inverse Discrete Cosine Transform)、および逆DST変換(Inverse Discrete Sine Transform)等が挙げられる。逆量子化・逆変換部13は、復元した予測残差Dを加算器15に供給する。
【0094】
[予測画像生成部]
予測画像生成部14は、対象CUに含まれる各PUについて、PT情報PTIに基づいて予測画像を生成する。具体的には、予測画像生成部14は、各対象PUについて、対象PUに対応するPU情報PUIに含まれるパラメータに従ってイントラ予測またはインター予測を行うことにより、復号済み画像である局所復号画像P’から予測画像Predを生成する。予測画像生成部14は、生成した予測画像Predを加算器15に供給する。なお、予測画像生成部14の構成については、後ほど、より詳しく説明する。
【0095】
[加算器]
加算器15は、予測画像生成部14より供給される予測画像Predと、逆量子化・逆変換部13より供給される予測残差Dとを加算することによって、対象CUについての復号画像Pを生成する。
【0096】
[フレームメモリ]
フレームメモリ16には、復号された復号画像Pが順次記録される。フレームメモリ16には、対象ツリーブロックを復号する時点において、当該対象ツリーブロックよりも先に復号された全てのツリーブロック(例えば、ラスタスキャン順で先行する全てのツリーブロック)に対応する復号画像が記録されている。
【0097】
また、対象CUを復号する時点において、当該対象CUよりも先に復号された全てのCUに対応する復号画像が記録されている。
【0098】
なお、動画像復号装置1において、画像内の全てのツリーブロックに対して、ツリーブロック単位の復号画像生成処理が終わった時点で、動画像復号装置1に入力された1フレーム分の符号化データ#1に対応する復号画像#2が外部に出力される。
【0099】
(予測モードの定義)
前述の通り、予測画像生成部14は、PT情報PTIに基づいて予測画像を生成して出力する。対象CUがイントラCUの場合、予測画像生成部14に入力されるPU情報PTIは、予測モード(IntraPredMode)と、色差予測モード(IntraPredModeC)を含む。以下、予測モード(輝度・色差)の定義について、
図4〜9を参照して説明する。
(概要)
図4は、動画像復号装置1で利用されるイントラ予測方式の分類と対応する予測モード番号の例を示している。Planar予測(Intra_Planar)に‘0’、垂直予測(Intra_Vertical)に‘1’、水平予測(Intra_Horizontal)に‘2’、DC予測(Intra_DC)に‘3’、Angular予測(Intra_Angular)に‘4’〜 ‘34’、LM予測(Intra_FromLuma)に‘35’の予測モード番号がそれぞれ割り当てられている。LM予測は輝度の復号画素値に基づいて色差の画素値を予測する方式であり、色差の予測時のみ選択可能である。その他の予測モードは輝度と色差いずれにおいても選択され得る。なお、水平予測、垂直予測、Angular予測を総称して方向予測と呼ぶ。方向予測は、対象PU周辺の隣接画素値を特定の方向に外挿することで予測画像を生成する予測方式である。
【0100】
次に、
図5を用いて、方向予測に含まれる各予測モードの識別子を説明する。
図5には方向予測に属する33種類の予測モードについて、予測モードの識別子と対応する予測方向が図示されている。
図5中の矢印の方向は予測方向を表すが、より正確には、予測対象画素から予測対象画素が参照する復号済画素へのベクトルの向きを示している。その意味で、予測方向のことを参照方向とも呼ぶ。各予測モードの識別子は、主方向が水平方向(HOR)か垂直方向(VER)かを表す符号と、主方向に対する変位の組み合わせからなる識別子が対応付けられている。例えば、水平予測にはHOR、垂直予測にはVER、右上45度方向の周辺画素を参照する予測モードにはVER+8、左上45度方向の周辺画素を参照する予測モードにはVER−8、左下45度方向の周辺画素を参照する予測モードにはHOR+8の符号がそれぞれ割り当てられる。方向予測には、VER−8〜VER+8の17個の主方向が垂直方向の予測モードと、HOR−7〜HOR+8の16個の主方向が水平予測の予測モードが定義されている。
予測方向は、主方向および勾配により表現される。主方向とは、予測方向を表現するための基準となる方向であり、例えば、垂直方向または水平方向である。勾配とは、予測方向と主方向とのなす角を表すものである。
【0101】
予測モードには、予測方向が対応する。予測モードには、例えば、非特許文献1に記載されているとおり、33種類の方向予測を採用することができる。また、予測モードには、予測モード番号が対応付けられる。
【0102】
なお、非特許文献1に記載されているように、予測モードには、予測モード識別子を割り当てる構成であってもよい。予測モード識別子は、主方向および変位から構成することができる。変位は、勾配を特定するための識別情報である。
【0103】
具体的には、主方向の表現において、垂直方向は、“VER”と表現し、水平方向は、“HOR”と表現する。また、主方向からの変位を、“−8”から“−1”、“+1”から“+8”と表現する。また、方向予測には、主方向が垂直方向であるVER−8からVER+8の17個の予測モードと、主方向が水平方向であるHOR−7からHOR+8の16個の予測モードとを定義することができる。
【0104】
また、勾配は、非特許文献1に記載されているように、予測モード識別子(予測モード番号)と対応付けられる構成であってもよい。以上の構成では、予測モード番号と予測方向とが対応付けられ、予測方向の識別子と、勾配とが対応付けられる。
【0105】
上記構成によれば、上記予測モードおよび予測モード番号の間の対応付けが、予測モード番号から方向予測に係る所定の特徴量が特定できるような性質を有している。ここで、特徴量とは、例えば、予測方向の主方向、勾配である。また、特徴量は、予測方向の精度、勾配(変位)の絶対値、勾配(変位)の符号、2つの予測モードの変位の異同等であってもよい。
【0106】
上記性質は、例えば、次の性質1〜3である。なお、上記対応付けにおいて、以下の性質1〜3のすべてを同時に満たしていなくてもかまわない。例えば、上記対応付けでは、性質1および性質2の少なくとも一方を満たしていればよい。また、性質1〜3の組み合わせを満たすような対応付けも可能である。
(性質1)主方向判定の容易性
主方向が垂直方向であるか、水平方向であるかを判定することの容易性である。この性質を実現するための対応付けの一例としては、予測モード番号の偶奇に応じて、垂直方向の予測モードおよび水平方向の予測モードを対応付けることが挙げられる。これにより予測モード番号の偶奇判定をするだけで、主方向を判定することができる。
【0107】
また、別の例としては、予測モード番号が所定の番号以上であるかどうかに応じて、垂直方向の予測モードおよび水平方向の予測モードを対応付けることが挙げられる。これにより、予測モードが所定の番号以上であるか否かを判定することで、主方向を判定することができる。
【0108】
よって、このような性質があれば、予測モードと、予測モードの主方向とを対応付けるテーブルを設けなくても済む。これにより、メモリ削減を図ることができる。
(性質2)同変位方向予測モード判定の容易性
2つの予測モードが、主方向が異なり、かつ、主方向に対する変位(勾配)が等しいかどうかを判定することの容易性である。
【0109】
この性質を実現するための対応付けの一例としては、主方向が異なり、かつ、主方向に対する変位(勾配)が等しい2つの予測モードに対して、連続した予測モード番号を対応付けることが挙げられる。これにより、2つおきに別の変位の予測モードが予測モード番号と対応付けられる。よって、この周期性を判定することで、2つの予測モードが、主方向が異なり、かつ、主方向に対する変位(勾配)が等しいか否かを特定することができる。
【0110】
また、別の例としては、主方向が異なり、かつ、主方向に対する変位(勾配)が等しい2つの予測モードに対して、一定の差を有する予測モード番号を対応付けることが挙げられる。これにより、2つの予測モードに対応する予測モード番号の差を判定することで、2つの予測モードの変位(勾配)の異同を判定することができる。
【0111】
ここで、主方向が異なり、かつ、主方向に対する変位(勾配)が等しい2つの予測モードの間では、変位(勾配)との対応付けを共有することができる。すなわち、2つの予測モード番号に対して、1つの変位(勾配)を対応付けることができる。更に言えば、いずれか一方の主方向について、予測モード番号(予測モード識別子)と、1つの変位(勾配)とを対応付けておくだけで、他方の主方向については、対応付けを省略することができる。別のいい方をすれば、主方向が異なり、かつ、変位が等しい2つの予測モード識別子に対する勾配の対応付けを統合することができる。これにより、対応付けのためのテーブルサイズを小さくすることができる。
(性質3)方向予測精度判定の容易性
方向予測精度について言えば、偶数変位は、精度が低く、奇数変位は、高い精度である。
【0112】
この性質を満たすための対応付けの一例としては、予測モード番号が所定の番号以上であるかどうかに応じて、偶数変位の予測モードおよび奇数変位の予測モードを対応付けることが挙げられる。
【0113】
また、別の例としては、予測モード番号の偶奇に応じて、偶数変位の予測モードおよび奇数変位の予測モードを対応付けることが挙げられる。
【0114】
判定の手法については、既に説明したとおりであるので、ここでは、その説明を省略する。
【0115】
上記構成によれば、上記性質に基づいて、予測モード番号から、上記の特徴量を導出することが可能となるため、予測モード番号(予測モード識別子)と、上記特徴量とを対応付けるテーブルのサイズを小さくしたり、該テーブルを省略したりすることができる。
【0116】
また、所定の復元処理では、上記のように特定した特徴量に従って処理を実行することができる。所定の復元処理としては、例えば、予測画像の生成において、予測方向を導出する処理、予測画像生成に用いる参照画素に対して適用するフィルタ選択処理、変換係数を復号するスキャン順の決定処理、変換係数に適用する垂直1次変換および水平1次変換の直交変換処理などが挙げられる。これらの復元処理は、予測方向に関する所定の特徴量に応じて処理を行う場合がある。すなわち、これらの復元処理は、予測方向に関する所定の特徴量に応じて行う復元処理ということもできる。
【0117】
以上に示したように、上記構成によれば、特定した特徴量に従って復元処理を行う。その結果、予測方向に関する所定の特徴量に応じて処理を行うような復元処理を行う場合において必要なメモリを削減することができるという効果を奏する。
[定義1]
動画像符号化装置1で適用されるイントラ予測方式と予測モード番号との対応は、例えば、
図6に示すように定義されていてもよい。
図6は、イントラ予測方式と予測モード番号との対応の定義である予測モード定義DEFPM1の一例を示す図である。
図6に示す予測モード定義DEFPM1では、Planar予測に‘0’、水平予測に‘1’、垂直予測に‘2’、DC予測に‘3’の予測モード番号が割り当てられている。予測モード番号‘4’〜‘18’までは、主方向からの変位が偶数であるAngular予測モードが、変位が小さい予測モードの順であって、変位が等しい場合は主方向が垂直、水平となる順に、予測モード番号に割り当てられている。予測モード番号‘19’〜‘35’までは、主方向からの変位が奇数であるAngular予測モードが、変位が小さい予測モードの順であって、変位が等しい場合は主方向が垂直、水平となる順に、予測モード番号に割り当てられている。
【0118】
なお、ここで、輝度および色差に対して適用される予測モードの種類について説明しておくと次のとおりである。
【0119】
まず、輝度に対して適用される予測モードの種類について
図7を用いて説明する。輝度に適用される予測モードの種類は、PUのサイズに応じて異なる。
図7にPUサイズの2の対数(log2PartSize)と予測モード数の関係を示す。log2PartSizeが2(PUサイズが4×4画素)の場合に18個、それ以外の場合、すなわちlog2PartSizeが3〜6(PUサイズが8×8画素〜64×64画素)の場合に35個の予測モードが選択できる。ここで、18個の予測モードは、予測モード番号0〜17の予測モードであり、35個の予測モード、予測モード番号0〜34の予測モードである。
【0120】
次に、色差に対して適用される予測モードの種類について
図8を用いて説明する。色差に適用される予測モード数は予測単位のサイズに依らず6個だが、予測モードの種類は対象の色差予測単位に対応する輝度の予測単位に適用される予測モード(対応輝度予測モード)に応じて異なる。
図8に対応輝度予測モードの予測モード番号に応じた色差予測モードの定義を図示している。対応輝度予測モードの予測モード番号が‘0’〜‘3’の場合、選択可能な色差予測モードにはLM予測、垂直予測、水平予測、Planar予測、および、VER+8予測が含まれる。対応輝度予測モードの予測モード番号が‘4’以上の場合、選択可能な色差予測モードにはLM予測、VER予測、HOR予測、および、Planar予測に加えて、対応輝度予測モードと同じ予測モードが含まれる。
【0121】
再び
図6の予測モード定義DEFPM1を参照しながら、当該予測モード定義DEFPM1における予測モード番号の性質について説明する。上記
図6の予測モード定義DEFPM1により定義される予測モード番号は、以下の3つの性質1〜3を有する。
(性質1)主方向判定の容易性
主方向が垂直方向の方向予測には偶数の予測モード番号、主方向が水平方向の方向予測には奇数の予測モード番号が対応付けられている。この場合、予測モード番号が奇数か偶数かを判定することで主方向が水平方向か垂直方向かを判定できる。予測モード番号が奇数か偶数かの判定は、予測モード番号の最下位ビットが0か1かにより判定できる。
(性質2)同変位方向予測モード判定の容易性
主方向が異なり、かつ、主方向に対する変位が等しい2つの予測モードには、連続する予測モード番号が対応付けられている。例えば、HOR+4予測とVER+4予測には、予測モード番号13と14がそれぞれ割り当てられている。この場合、2つの予測モードの主方向に対する変位が等しいか否かの判定を容易に実現できる。2つの予測モードをm1、m2とすると、(m1+c)>>1と(m2+c)>>1とが一致するか否かで2つの予測モードが同一の変位を有するかが判定できる。なお、cは連続する同変位の予測モード番号のうち小さい方の予測モード番号が奇数の場合1、偶数の場合0となる。
(性質3)方向予測精度判定の容易性
小さい予測モード番号(18以下)に対して主方向に対する変位が偶数の方向予測が対応付けられる一方、大きい予測モード番号(19以上)に対して主方向に対する変位が奇数の方向予測が対応付けられている。偶数の変位に対して奇数の変位を加えることで、より高い精度で変位を表現できる。したがって、小さい予測モード番号に対して低い精度の変位、大きい予測モード番号に対して高い精度の変位が対応付けられている。この場合、予測方向の精度が低いか否かが、予測モード番号が所定の値(上記の例では18)以下であるか否かにより判定できる。
【0122】
以上に示した予測モード定義の性質1〜3は、予測モードに基づく判定処理を簡略化する効果を有する。ここでの簡略化とは、判定処理における演算数の減少や、判定処理に要するテーブルサイズの削減を含む。予測モードに基づく判定を伴う処理の例として、Angular予測による予測画像生成、推定予測モード候補の導出、参照画素フィルタの適用、変換係数のスキャン、方向依存の直交変換がある。各例についての詳細は後述する。
[定義2]
なお、上記とは異なる予測モード定義を用いてもよい。例えば、
図9に示す予測モード定義DEFPM2を用いてもよい。
図9の予測モード定義DEFPM2では、Planar予測(Planar)に‘0’、垂直予測(VER)に‘1’、水平予測(HOR)に‘2’、VER‐8予測(VER−8)に‘3’、DC予測(DC)に‘4’の予測モード番号が割り当てられている。予測モード番号‘5’〜‘34’までは、主方向に対する変位の絶対値が既定の優先度順となるよう予測モード番号が割り当てられている。ここで既定の優先順とは、変位の絶対値が8、2、4、6、1、3、5、7の順に小さい予測モード番号が割り当てられる順である。この優先順は、対角方向に対応する予測モード(8)、方向精度の粗い予測方向に対応する予測モードを変位の絶対値の小さい順(2、4、6)、方向精度の細かい予測方向に対応する予測モードを変位の絶対値の小さい順(1、3、5、7)となっている。この優先順は、対角方向に対応する予測モードが、水平・垂直を除く他の予測方向に対応する予測モードに較べて選択され易い事実を利用している。また、この優先順は、変位の絶対値の小さい予測方向、すなわち主方向に近い方向に対応する予測モードが選択され易い事実を利用している。
【0123】
加えて、予測モード番号‘5’〜‘34’において、主方向に対する変位の絶対値が等しい場合、負の変位に対応する予測モードに対して、正の変位に対応する予測モードに較べて小さい予測モード番号が割り当てられている。この優先順は、変位の絶対値が等しい場合には負の変位による予測モードの方が正の変位による予測モードよりも選択されやすいという事実を考慮して決定されている。負の変位を持つ予測モードは、左上から右下方向の予測方向に対応する予測モードであるのに対し、正の変位を持つ予測モードは、右上から左下の予測方向または左下から右上の予測方向に対応する予測モードに相当する。CUをラスタスキャンまたはZスキャンにより走査して順に復号する際には、右上や左下の復号画像は左上の復号画像に較べて利用できない場合が多い。そのため、右上や左下の復号画像を参照する正の変位を持つ予測モードは、左上の復号画像を参照する負の変位を持つ予測モードに較べて選択され難い。
【0124】
加えて、予測モード番号‘5’〜‘34’において、主方向に対する変位が等しい場合、主方向が垂直方向である予測モードに対して、主方向が水平方向である予測モードに較べて小さい予測モード番号が割り当てられている。主方向が垂直方向の場合、対象PUの左上、真上、右上の復号画像を参照する。一方、主方向が水平方向の場合、対象PUの左上、真左、左下の復号画像を参照する。ラスタスキャンまたはZスキャンにより走査して順に復号処理を行う場合、対象PUの左下の復号画像は、対象PUの左上、真上、右上、真左の復号画像に較べて利用できない可能性が高い。そのため、対象PUの左下の復号画像を参照する主方向が水平方向の予測モードは、主方向が垂直方向の予測モードに較べて選択され難い。
【0125】
図9に示す予測モード定義DEFPM2は、前述の
図6における予測モード定義が有する性質1〜3に加え、次の2つの性質を有する。
(性質4)変位の符号判定の容易性
同一符号の変位に対応付けられる予測モードが、2個ずつ周期的に繰り返されている。例えば、連続する予測モード番号7〜10は、順にVER−2、HOR−2、VER+2、HOR+2であり、符号は順に‘−’、‘−’ 、‘+’ 、‘+’となっている。この場合、符号の正負が予測モード番号より導出できる。具体的には、予測モード番号mに対して、符号sが次式により導出できる。
【0126】
s=(((m+d)& 2)>0)? +1 : −1
ここで、変数dは符号の繰り返し周期の位相に相当する値であり、
図9の例においてはd=1となる。演算子‘&’はビット単位の論理和を取る演算子であり、(m+d)&2は、整数m+dの2進表現の下位から2ビット目が1ならば2の値となる一方で、同2ビット目が0ならば0の値となる。上記の式を言いかえると、m+dの値を4で除算した際の余りが、0または1ならばsは−1(負の符号)となり、余りが2または3ならばsは+1(正の符号)となるとも表現できる。
(性質5)変位の絶対値の判定の容易性
同一の絶対値を持つ変位に対応付けられる予測モードが連続している。例えば、連続する予測モード番号7〜10は、順にVER−2、HOR−2、VER+2、HOR+2であり、変位の絶対値は全て2である。このとき予測モード番号mにおいて、変位の絶対値を一意に特定するインデックスDIを、DI=(m+d)>>2により導出できる。
【0127】
(予測画像生成部の詳細)
次に、
図10を用いて予測画像生成部14の構成についてさらに詳しく説明する。
図10は予測画像生成部14の構成例について示す機能ブロック図である。なお、本構成例は、予測画像生成部14の機能のうち、イントラCUの予測画像生成に係る機能ブロックを図示している。
【0128】
図10に示すように、予測画像生成部14は、予測単位設定部141、参照画素設定部142、スイッチ143、参照画素フィルタ部144、輝度予測部145、および色差予測部146を備える。
【0129】
予測単位設定部141は、対象CUに含まれるPUを規定の設定順序で対象PUに設定し、対象PUに関する情報(対象PU情報)を出力する。対象PU情報には、対象PUのサイズ、対象PUのCU内の位置、対象PUの輝度または色差プレーンを示すインデックス(輝度色差インデックスcIdx)が少なくとも含まれる。
【0130】
PUの設定順序は、例えば、入力画像がYUVフォーマットである場合、対象CUに含まれるYに対応するPUをラスタスキャン順に設定し、続いて、U、Vの順に対応するPUをそれぞれラスタスキャン順に設定する順序を利用する。
【0131】
入力画像が4:2:0のYUVフォーマットである場合のPUの設定順序およびCU内に含まれるPUを図示した
図11を用いて説明する。
【0132】
図11の(A)は、対象CUのサイズが8×8画素であり、かつ、分割タイプがN×Nである場合のCU内のPUを図示している。まず、輝度Yに対応する4個の4×4画素のPUがラスタスキャン順(PU_Y0、PU_Y1、PU_Y2、PU_Y3の順)に設定される。次に、色差Uに対応する1個の4×4画素のPU(PU_U0)が設定される。最後に、色差Vに対応する1個の4×4画素の予測単位(PU_V0)が設定される。
【0133】
図11の(B)は、対象CUのサイズが16×16画素であり、かつ、分割タイプが2N×2Nである場合のCU内のPUを図示している。まず、輝度Yに対応する1個の16×16画素の予測単位(PU_Y0)が設定される。次に、色差Uに対応する1個の8×8画素の予測単位(PU_U0)が設定される。最後に、色差Vに対応する1個の8×8画素の予測単位(PU_V0)が設定される。
【0134】
参照画素設定部142は、入力される対象PU情報に基づいて、フレームメモリに記録されている対象PU周辺の復号画像の画素値(複号画素値)を読出し、予測画像生成時に参照される参照画素を設定する。参照画素値p(x,y)は復号画素値r(x,y)を利用して次式により設定される。
【0135】
p(x,y)=r(xB+x,yB+y) x=-1, y=-1 .. (nS*2-1)、および、x=0..(nS*2-1),y=-1
ここで、(xB,yB)は対象PU内左上画素の位置、nSは対象PUのサイズを表し、対象PUの幅または高さのうち大きい方の値を示す。上式では、基本的には、対象PUの上辺に隣接する復号画素のラインおよび対象PUの左辺に隣接する復号画素のコラムに含まれる復号画素値を対応する参照画素値にコピーしている。なお、特定の参照画素位置に対応する復号画素値が存在しない、または、参照できない場合には、既定の値を利用してもよいし、対応する復号画素値の近傍に存在する参照可能な復号画素値を利用してもよい。
【0136】
スイッチ143は、入力される対象PU情報に基づいて、対象PUが輝度か色差かを判定し、対応する出力方向に対して入力される参照画素を出力する。
【0137】
参照画素フィルタ部144は、入力される予測モードに応じて、入力される参照画素値にフィルタを適用して、フィルタ適用後の参照画素値を出力する。具体的には、参照画素フィルタ部144は、フィルタの適用有無を、対象PUサイズと予測モードとに応じて決定する。
図12を用いて、フィルタの適応有無と、対象PUサイズおよび予測モードとの関係を説明すると次のとおりである。
図12は、
図6の予測モード定義DEFPM1による予測モード番号とフィルタ適用有無(refPicFilterFlag)の値との関係を示している。
図12において、refPicFilterFlagの値が1の場合は参照画素の各画素に対して隣接画素を用いる平滑化フィルタを適用することを示し、refPicFilterFlagの値が0の場合は平滑化フィルタを適用しないことを示す。対象PUサイズnSが4の場合には、予測モードに依らずrefPicFilterFlagを0に設定する。対象PUサイズnSが8の場合には、予測モード番号が0(Planar)、4(VER−8)、17(HOR+8)、18(VER+8)の場合にrefPicFilterFlagを1に設定し、それ以外の場合0に設定する。対象PUサイズnSが16の場合には、予測モード番号が1(HOR)、2(VER)、3(DC)、24〜27(VER±1、HOR±1)の場合にrefPicFilterFlagを0に設定し、それ以外の場合1に設定する。対象PUサイズnSが32または64の場合には、予測モード番号が1〜3の場合にrefPicFilterFlagを0に設定し、それ以外の場合1に設定する。
【0138】
なお、上記の設定において、対象PUサイズnSが32と64の場合、すなわち、対象PUサイズが32×32画素と64×64画素の場合に同一の選択基準で平滑化フィルタの適用有無を決定することが好ましい。一般的にPUサイズに応じて、いずれの予測モードの場合に参照画素に対する平滑化フィルタを適用するべきかは異なる。しかしながら、32×32画素のPUも64×64画素のPUも、32×32画素未満のサイズのPUが選択される領域に較べて比較的平坦な領域で選択される傾向があり、このため両者が適用される領域の性質は類似している。従って、両者の間で、同じ予測モードに対し平滑化フィルタを適用することで、符号化効率を低下させずに平滑化フィルタの選択に必要なテーブルサイズを削減できる。
【0139】
また、一般的に大きいサイズのPUは小さいサイズのPUに較べて平坦な領域で選択できるため、より多くの予測モードに対して参照画素の平滑化フィルタを適用することが好ましい。
【0140】
輝度予測部145は、入力される予測モードと参照画素に基づいて対象PUの輝度予測画像を生成して出力する。輝度予測部145の詳細な説明は後述する。
【0141】
色差予測部146は、入力される予測モードと参照画素に基づいて対象PUの色差予測画像を生成して出力する。色差予測部146の詳細な説明は後述する。
【0142】
(予測画像生成処理の流れ)
次に、予測画像生成部14におけるCU単位の予測画像生成処理の概略を
図13のフロー図を用いて説明する。CU単位の予測画像生成処理が始まると、まず、予測単位設定部141がCU内に含まれるPUの一つを既定の順序に従って対象PUに設定して対象PU情報を参照画素設定部142およびスイッチ143に出力する(S11)。次に、参照画素設定部142は対象PUの参照画素を、外部のフレームメモリから読み出した復号画素値を用いて設定する(S12)。次に、スイッチ143が、入力された対象PU情報に基づいて対象PUが輝度か色差かを判定し、当該判定結果に応じて出力を切り替える(S13)。
【0143】
対象PUが輝度である場合(S13でYES)、スイッチ143の出力は参照画素フィルタ部144に接続される。続いて、参照画素フィルタ部144に対し参照画素が入力され、別途入力された予測モードに応じて参照画素フィルタが適用され、フィルタ適用後の参照画素が輝度予測部145に出力される(S14)。次に、輝度予測部145は、入力される参照画素と予測モードに基づいて対象PUにおける輝度予測画像を生成して出力する(S15)。
【0144】
一方、対象PUが色差の場合(S13でNO)、スイッチ143の出力は色差予測部146に接続される。続いて、色差予測部146は、入力される参照画素と予測モードに基づいて対象PUにおける色差予測画像を生成して出力する(S16)。対象PUの輝度または色差の予測画像の生成が終わると、予測単位設定部141が、対象CU内の全てのPUの予測画像が生成されたかを判定する(S17)。対象CU内の一部のPUの予測画像が生成されていない場合(S17でNO)、上記S1に戻り、対象CU内の次のPUの予測画像生成処理を実行する。対象CU内の全てのPUの予測画像が生成されている場合(S17でYES)、対象CU内の各PUの輝度および色差の予測画像を合わせて対象CUの予測画像として出力し、処理を終了する。
(輝度予測部の詳細)
続いて
図14を用いて、輝度予測部145の詳細について説明する。
図14に輝度予測部145の詳細構成を示す。
図14に示すように、輝度予測部145は、予測方式選択部1451および予測画像導出部1452を備える。
【0145】
予測方式選択部1451は、入力される予測モードに基づいて予測画像生成に用いる予測方式を選択して選択結果を出力する。予測方式の選択は、前述の
図4の定義に基づいて、入力される予測モードの予測モード番号に対応する予測方式を選択することで実現される。
【0146】
予測画像導出部1452は、予測方式選択部1451が出力した予測方式の選択結果に応じた予測画像を導出する。予測画像導出部1452は、より具体的には、DC予測部1452D、Planar予測部1452P、水平予測部1452H、垂直予測部1452V、Angular予測部1452A、および、予測方向導出部1453を備える。また、予測画像導出部1452は、予測方式が、Planer、垂直予測、水平予測、DC予測、およびAngularの場合、それぞれ、 Planar予測部1452P、垂直予測部1452V、水平予測部1452H、およびAngular予測部1452Aにより予測画像を導出する。
【0147】
DC予測部1452Dは、入力される参照画素の画素値の平均値に相当するDC予測値を導出し、導出されたDC予測値を画素値とする予測画像を出力する。
【0148】
Planar予測部1452Pは、予測対象画素との距離に応じて複数の参照画素を線形加算することで導出した画素値により予測画像を生成して出力する。例えば、予測画像の画素値predSamples[x,y]は、参照画素値p[x,y]と対象PUのサイズnSを用いて以下の式により導出できる。
【0149】
predSamples[ x, y ] = (
( nS - 1 - x ) * p[ -1, y ] + ( x + 1 ) * p[ nS, -1 ] +
( nS - 1 - y ) * p[ x ,-1 ] + ( y + 1 ) * p[ -1, nS ] + nS ) >> ( k + 1 )
ここで、x, y = 0..nS-1であり、 k = log2( nS )と定義される。
【0150】
水平予測部1452Hは、対象PUの左辺隣接画素を水平方向に外挿して得られる予測画像を入力される参照画素に基づいて生成し、結果を予測画像として出力する。
【0151】
垂直予測部1452Vは、対象PUの上辺隣接画素を鉛直方向に外挿して得られる予測画像を入力される参照画素に基づいて生成し、結果を予測画像として出力する。
【0152】
予測方向導出部1453は、入力される予測モードが方向予測モードである場合、当該予測モードに関連付けられる予測方向(参照方向)を決定して出力する。出力される予測方向は、主方向が垂直方向か否かを表す主方向フラグbRefVer、および、予測方向の主方向に対する勾配(オフセット)intraPredAngleの組み合わせで表現される。主方向フラグbRefVerの値が0である場合、主方向が水平方向であることを示し、値が1の場合、主方向が垂直方向であることを示す。
【0153】
図1を用いて、予測方向導出部1453の具体的構成について説明すると次のとおりである。
図1は、予測方向導出部1453の一構成例を示す機能ブロック図である。
図1に示すように、予測方向導出部1453は、より具体的には、主方向導出部1453Aおよび勾配導出部1453Bを備える。
【0154】
主方向導出部1453Aは、主方向フラグbRefVerを導出する。また、主方向導出部1453Aは、
図6の予測モード定義DEFPM1を参照することができる。主方向フラグbRefVerは、予測モード番号mに基づいて次式により導出される。
【0155】
bRefVer = (m mod 2)==0 ? 1 : 0;
上記式によると、予測モード番号mが偶数の場合に主方向フラグbRefVerの値が1(主方向が垂直方向)となり、予測モード番号mが奇数の場合に主方向フラグbRefVerの値が0(主方向が水平方向)となる。なお、上記のように予測モード番号mの偶奇に基づいて主方向が決定できるのは、
図6の予測モード定義DEFPM1において、偶数の予測モード番号の主方向が垂直方向、奇数の予測モードの主方向が水平方向となるよう予測モード番号が定義されている場合である。なお、予測モード番号が、前述の性質1、すなわち主方向判定の容易性を満たせば、主方向フラグbRefVerが容易に導出できるため好ましい。逆に、予測モード番号が主方向判定の容易性を満たさない場合、予測モード番号mと主方向を関連付けるテーブルが必要となる。したがって、主方向判定の容易性を満たす予測モード番号定義を用いることで、そのようなテーブルを用いずに主方向が導出できるため、メモリが削減できる。
【0156】
勾配導出部1453Bは、勾配intraPredAngleを導出する。また、勾配導出部1453Bは、
図15に示す勾配定義テーブルDEFANG1を参照することができる。
図15に示す勾配定義テーブルDEFANG1は、予測モード識別子と勾配intraPredAngleとの値の対応関係を示すテーブルである。勾配導出部1453Bは、勾配定義テーブルDEFANG1に基づいて、勾配intraPredAngleを導出してもよい。勾配intraPredAngleの値は、予測方向の勾配を表す値である。より正確には、主方向が垂直方向である場合、(intraPredAngle,−32)で表現されるベクトルの方向が予測方向となる。主方向が水平方向である場合、(−32,intraPredAngle)で表現されるベクトルの方向が予測方向となる。
図15に示す勾配定義テーブルDEFANG1よると、主方向に対する変位の絶対値0〜8に対応する勾配intraPredAngleの絶対値は、順に0、2、5、9、13、17、21、26、32となる。主方向に対する変位の符号と勾配intraPredAngleの符号は等しい。例えば、識別子HOR−1に対応する勾配intraPredAngleの値は−2となる。
【0157】
なお、
図15に示す勾配定義テーブルDEFANG1では、主方向が異なり、かつ、主方向に対する変位が等しい2個の予測モードが同じintraPredAngleの値に関連付けられている。したがって、例えば、
図16に示す勾配定義テーブルDEFANG1rのように、主方向に対する変位が等しい2個の予測モードにおいて、同じ勾配intraPredAngleの値の設定を共有するようにテーブルを設定できる。
【0158】
よって、勾配導出部1453Bは、
図16に示す勾配定義テーブルDEFANG1rに基づいて勾配intraPredAngleを導出してもよい。なお、予測方向導出部1453では、
図15に示す勾配定義テーブルDEFANG1および
図16に示す勾配定義テーブルDEFANG1rのいずれか一方が設けられていればよい。
【0159】
図16に示す勾配定義テーブルDEFANG1rを利用することで、
図15に示す勾配定義テーブルDEFANG1を使う場合に較べてメモリが削減できる。なお、予測モード番号が前述の性質2、すなわち、同変位方向予測モード判定の容易性を満たす場合に、主方向に対する変位が等しい予測モードは容易に導出できる。具体的には、
図6の予測モード番号の定義を利用する場合、主方向に対する変位を一意に表すインデックスkは、予測モード番号mを用いて、k=(m+1)>>1、の式により導出できる。このインデックスkとオフセットintraPredAngleを対応付けるテーブルを利用して、予測モード番号からオフセットintraPredAngleの値を導出できる。すなわち、予測モード番号が同変位方向予測モード判定の容易性を満たす場合、Angular予測に用いるパラメータ(intraPredAngle)導出に利用されるテーブルサイズを削減できる。
【0160】
図9に示す予測モード定義DEFPM2を用いる場合は、
図1に示す予測方向導出部1453の構成を、
図17に示すように変更すればよい。
図17は、予測方向導出部1453の他の構成例を示す機能ブロック図である。
図17に示す予測方向導出部1453では、
図1における主方向導出部1453Aおよび勾配導出部1453Bを、主方向導出部1453A’および勾配導出部1453B’に変更している。
【0161】
主方向導出部1453A’は、
図9の予測モード定義DEFPM2を参照する。主方向フラグbRefVerの導出は、
図1に示した主方向導出部1453Aと同様であるので、その説明を省略する。
【0162】
勾配導出部1453B’は、予測モード番号から、勾配の絶対値および符号を導出することで勾配intraPredAngleを導出する。勾配導出部1453B’は、
図18に示す勾配絶対値定義テーブルDEFANG2を参照することにより、勾配の絶対値を導出することができる。
図18に示す勾配絶対値定義テーブルDEFANG2は、主方向に対する変位の絶対値と勾配intraPredAngleの絶対値absIntraPredAngleとを対応付けるテーブルである。
図9の予測モード定義DEFPM2を用いる場合、前述の性質5、すなわち、変位の絶対値の判定の容易性より、変位の絶対値を一意に特定するインデックスDIをDI=(m+d)>>2の式により導出できる。また、
図18には、インデックスDIとabsIntraPredAngleの対応関係を示している。インデックスDIの値、0、5、2、6、3、7、4、8、1は、それぞれabsIntraPredAngleの値、0、2、5、9、13、17、21、26、32に対応付けられている。
【0163】
また、勾配導出部1453B’は、オフセット(勾配)intraPredAngleの符号を、
図9の予測モード定義が有する性質4、すなわち、変位の符号判定の容易性を利用して、計算により導出する。
【0164】
勾配導出部1453B’は、以上のようにして導出した勾配の絶対値と、勾配の符号とを組み合わせることにより、勾配intraPredAngleを導出する。
【0165】
Angular予測部1452Aは、入力される予測方向(参照方向)の参照画素を用いて対象PU内に対応する予測画像を生成して出力する。Angular予測による予測画像の生成処理では、主方向フラグbRefVerの値に応じて主参照画素を設定し、予測画像をPU内のラインまたはコラムの単位で主参照画素を参照して生成する。主方向フラグbRefVerの値が1(主方向が垂直方向)の場合、予測画像の生成単位をラインに設定するとともに対象PUの上方の参照画素を主参照画素に設定する。具体的には次式により参照画素p[x,y]の値を用いて主参照画素refMain[x]が設定される。
【0166】
refMain[x] = p[ -1+x, -1 ], with x=0..2*nS
refMain[x] = p[ -1, -1+( ( x*invAngle+128 )>>8 ) ], with x=-nS..-1
なお、ここでinvAngleは予測方向の変位intraPredAnguleの逆数をスケール(8192を乗算)した値に相当する。上記の式により、xが0以上の範囲では、refMain[x]の値は対象PUの上辺に隣接する画素の復号画素値が設定される。また、xが0未満の範囲では、refMain[x]の値として、対象PUの左辺に隣接する画素の復号画素値が、予測方向に基づき導出される位置に設定される。予測画像predSamples[x,y]は次式により計算される。
【0167】
predSamples[x,y] =
((32-iFact)*refMain[x+iIdx+1] + iFact*refMain[x+iIdx+2] + 16) >> 5
ここで、iIdxとiFactは、予測対象ラインと主参照画素の距離(y+1)と勾配intraPredAnguleに応じて計算される予測対象画素の生成に用いる主参照画素の位置を表す。iIdxは画素単位における整数精度の位置、iFactは画素単位における小数精度の位置に相当し、以下の式で導出される。
【0168】
iIdx = ( ( y + 1 )*intraPredAngle ) >> 5
iFact = ( ( y + 1 )*intraPredAngle ) && 31
主方向フラグbRefVerの値が0(主方向が水平方向)の場合、予測画像の生成単位をコラムに設定するとともに対象PUの左側の参照画素を主参照画素に設定する。具体的には次式により参照画素p[x,y]の値を用いて主参照画素refMain[x]が設定される。
【0169】
refMain[ x ] = p[ -1, -1+x ], with x=0..nS
refMain[ x ] = p[ -1+( ( x*invAngle+128 )>>8 ), -1 ], with x=-nS..-1
予測画像predSamples[x,y]は次式により計算される。
【0170】
predSamples[x,y] =
((32-iFact)*refMain[y+iIdx+1] + iFact*refMain[y+iIdx+2] + 16) >> 5
ここで、iIdxとiFactは、予測対象コラムと主参照画素の距離(x+1)と勾配intraPredAnguleに応じて計算される予測参照画素の生成に用いる主参照画素の位置を表す。iIdxは画素単位における整数精度の位置、iFactは画素単位における少数精度の位置に相当し、以下の式で導出される。
【0171】
iIdx = ( ( x + 1 )*intraPredAngle ) >> 5
iFact = ( ( x + 1 )*intraPredAngle ) & 31
ここで、‘&’は論理積のビット演算を表す演算子であり、“A&31”の結果は、整数Aを32で除算した余りを意味する。
(Angular予測処理の流れ)
次に、予測モードがAngular予測である場合の輝度予測部145における予測画像生成処理について、
図19のフローチャートを用いて説明する。
図19は、輝度予測部におけるAngular予測処理を示すフローチャートである。まず、予測方式選択部1451に入力された予測モードがAngular予測である場合、Angular予測による予測画像生成処理が開始される。予測方向導出部1453は、入力される予測モードに基づいて予測方向の主方向を決定してAngular予測部1452Aに出力する(S21)。次に、予測方向導出部1453は、入力される予測モードに基づいて予測方向の主方向に対するオフセットintraPredAngleを決定してAngular予測部1452Aに出力する(S22)。Angular予測部1452Aは、入力された主方向に基づいて主参照画素を設定する(S23)。続いて、Angular予測部1452Aは予測対象ラインまたはコラムを設定し(S24)、対象ラインまたはコラムに対する予測画像を生成する(S25)。対象PUの全ライン/コラムの予測画像生成が完了しているかどうかを確認し(S26)、完了していない場合(S26でNO)、S24の処理を実行する。完了している場合(S26でYES)、対象PUの予測画像を出力して処理を終了する。
(輝度予測部の詳細)
続いて、
図20を用いて、色差予測部146の詳細について説明する。
図20に色差予測部146の詳細構成を示す。色差予測部146は、予測方式選択部1451、予測画像導出部1452、および、予測方向導出部1453を備える。予測画像導出部1452は、DC予測部1452D、Planar予測部1452P、水平予測部1452H、垂直予測部1452V、Angular予測部1452A、およびLM予測部1452Lを備える。なお、LM予測部1452L以外の構成要素は、輝度予測部145に含まれる対応する構成要素と同じ機能を有するため、同じ符号を付与して説明を省略する。
【0172】
LM予測部1452Lは、対象PU内における輝度画素値と色差画素値の相関に係るパラメータを対象PU周辺の輝度復号画素値と、参照画素値(色差復号画素値)の相関に基づいて推定する。相関パラメータは相関係数aとオフセットbを含む。予測対象PU、すなわち色差の予測画像predSamuplesC[x,y]は、対象PUに対応する輝度復号画像の画素値recY[x,y]と相関パラメータを用いて次式により計算される。
【0173】
predSamplesC[x,y] = a * recY[x,y] + b
以上で予測画像生成部14における対象CUの予測画像生成処理の説明を終える。
【0174】
(可変長復号部の詳細)
次に、
図21を用いて可変長復号部11の構成についてさらに詳しく説明する。
図21は、可変長復号部11の構成例について示す機能ブロック図である。なお、
図21では、可変長復号部11の構成のうち、予測モードを復号する構成について詳細に示している。
【0175】
図21に示すように、可変長復号部11は、予測セット決定部111、MPM導出部112、MPM判定部113、予測モード復元部114、色差予測モード復元部116、およびコンテキスト記憶部117を備える。
【0176】
予測セット決定部111は、予測処理に用いる予測モードの集合である予測セットを決定する。予測セット決定部111は、一例として、対象ブロックのサイズに応じて予測処理に用いる予測モードの数を算出し、予測モードの定義から、算出した数だけ予測モードを選択することで予測セットを決定する。言い換えれば、予測セットは、対象ブロックのサイズごと、あるいは対象PUにおいて利用可能な予測モードの数ごとに定義されている。
【0177】
MPM導出部112は、対象パーティションの周辺のパーティションに割り付けられた予測モードに基づいてMPMを導出する。
【0178】
MPM導出部112は、例示的に、2つのMPMを導出する。MPM導出部112は、第1のMPM候補(以下、MPM0と表記する)および第2のMPM候補(以下、MPM1と表記する)を、それぞれ以下のとおり導出する。
【0179】
まず、
図22に示すように、pmAに対象PU:R
Tの左に隣接する左隣接PU:N
Aの予測モード、pmBに対象PU:R
Tの上に隣接する上隣接PU:N
Bの予測モードを設定する。左隣接PUまたは上隣接PUの予測モードが利用不可の場合、既定の予測モード、例えば“Intra_Planar”を設定する。隣接PUが利用不可の場合には、隣接PUの予測モードが未復号の場合、隣接PUが上隣接PUであって異なるLCU(ツリーブロック)に属する場合が含まれる。
【0180】
そして、MPM導出部112は、MPM0を、次の式(1)に従って導出する。
【0181】
MPM0 = pmA … (1)
次に、MPM導出部112は、MPM1を、pmAとpmBが一致するか否かに応じて導出する。pmAとpmBが一致しない場合、MPM1を次の式(2)に従って導出する。
【0182】
MPM1 = pmB … (2)
一方、pmAと、pmBとが一致する場合、MPM導出部112は、pmAが“Intra_DC”ならば、“Intra_Planar”をMPM1に設定し、pmAが“Intra_DC”以外であれば、“Intra_DC”をMPM1に設定する。
【0183】
MPM判定部113は、符号化データに含まれるmpm_flagに基づいて、対象PUの予測モードが、推定予測モードMPMと一致しているか否かを判定する。mpm_flagは、対象PUの予測モードが推定予測モードMPMと一致している場合、“1”であり、対象PUの予測モードが推定予測モードMPMと一致していない場合、“0”である。MPM判定部113は、判定結果を、予測モード復元部114に通知する。
【0184】
なお、MPM判定部113は、コンテキスト記憶部117に記憶されているコンテキストに応じて、符号化データからmpm_flagを復号する。
【0185】
予測モード復元部114は、対象PUについての予測モードを復元する。予測モード復元部114は、MPM判定部113から通知される判定結果に応じて、予測モードを復元する。
【0186】
対象PUの予測モードが推定予測モードMPMと一致している場合、予測モード復元部114は、符号化データからmpm_idxを復号し、その値に基づいて予測モードを復元する。mpm_idxは、対象PUの予測モードが、MPM0と一致する場合、“0”であり、対象PUの予測モードが、MPM1と一致する場合、“1”である。
【0187】
なお、予測モード復元部114はmpm_idxの復号時にコンテキスト記憶部117に記憶されているコンテキストを利用してもよいし、利用しなくてもよい。
【0188】
コンテキストを利用する場合は、上記の処理により導出したMPM0とMPM1に対し、小さい予測モード番号に対応する予測モードがMPM0の値となるように、条件付きでMPM0とMPM1の値をスワップすることが好ましい。コンテキストを利用する場合は、0または1の発生確率に偏りが生じれば、符号量を削減できる。一般的に発生確率の高い予測モードには小さい予測モード番号が対応付けられるため、小さい予測モード番号の予測モードをMPM0に割り当てることで、MPM0の発生確率がMPM1の発生確率よりも高くなる。したがって、mpm_idxで0の値が発生する確率が1の値が発生する確率に較べて高くなるため、mpm_idxの符号量を削減できる。
【0189】
一方、コンテキストを利用しない場合は、上記の処理により導出したMPM0とMPM1に対して予測モード番号が小さい予測モードがMPM0に対応付けられるようなスワップを適用しないことが好ましい。コンテキストを用いない場合は、mpm_idxは等確率と見なされて復号されるため0、1の発生に偏りが生じていても符号量は削減できない。したがって、小さい予測モードがMPM0に対応付けることによる符号量の削減効果はない。一方、小さい予測モードがMPM0に対応付けるための条件付きスワップを省略することで、対象PUの予測モードがMPMである場合の予測モード導出に要する処理量を削減できる。
【0190】
対象PUの予測モードが推定予測モードMPMと一致していない場合、予測モード復元部114は、符号化データに含まれるrem_idxに基づいて予測モードを復元する。具体的には、まず、MPM0とMPM1のうち、小さい予測モード番号がMPM0に割り当てられるようMPM0とMPM1の値を条件付きでスワップする。次に、rem_idxの値がMPM0の値以上の場合、rem_idxの値を1加算する。次に、rem_idxの値がMPM1の値以上の場合、rem_idxの値を1加算する。最後に、rem_idxの値の予測モード番号に対応する予測モードを復元する。
【0191】
色差予測モード復元部116は、対象PUについての色差予測モードを復元する。より詳細には、色差予測モード復元部116は、以下のようにして色差予測モードを復元する。
【0192】
まず、色差予測モード復元部116は、符号化データ#1に含まれるイントラ色差予測モード指定情報chroma_mode(intra_chroma_pred_mode)を復号する。
【0193】
そして、色差予測モード復元部116は、復元したイントラ色差予測モード指定情報chroma_modeと、輝度の予測モード(IntraPredMode[xB][yB])とに基づいて、色差予測モードを復元する。
【0194】
[概略的な流れ]
まず、
図23に示すフローチャートを用いて、動画像復号装置1における予測モード復元処理の概略的な流れの一例について説明する。
【0195】
動画像復号装置1において予測モード復元処理が開始されると、MPM導出部112が、MPM0を導出する(S21)。続いてMPM導出部112が、MPM1を導出する(S22)。
【0196】
次に、MPM判定部113が、mpm_flagに基づいて、対象PUの予測モードが推定予測モードMPMと一致しているか否かを判定する(S23)。
【0197】
対象PUの予測モードが推定予測モードMPM、すなわちMPM0またはMPM1と一致している場合(S23においてYES)、予測モード復元部114が、mpm_idxに基づいて予測モードを復元する。予測モード復元部114は、mpm_idxが“0”であれば、MPM0を、対象PUの予測モードpmTとする一方で、mpm_idxが“1”であれば、MPM1を、対象PUの予測モードpmTとする(S24)。
【0198】
一方、対象PUの予測モードが推定予測モードMPMと一致していない場合(S23においてNO)、予測モード復元部114は、MPM0とMPM1を比較し、MPM1の予測モード番号がMPM0の予測モード番号より小さければ、MPM0とMPM1をスワップする(S25)。続いて、予測モード復元部114は、rem_modeの配列を生成する(S26)。最後に、予測モード復元部114は、rem_modeの配列のうちrem_idx番目の要素を予測モードとして選択する(S27)。
【0199】
〔動画像符号化装置〕
以下において、本実施形態に係る動画像符号化装置2について、
図24〜
図26を参照して説明する。
【0200】
(動画像符号化装置の概要)
動画像符号化装置2は、概略的に言えば、入力画像#10を符号化することによって符号化データ#1を生成し、出力する装置である。
【0201】
(動画像符号化装置の構成)
まず、
図24を用いて、動画像符号化装置2の構成例について説明する。
図24は、動画像符号化装置2の構成について示す機能ブロック図である。
図24に示すように、動画像符号化装置2は、符号化設定部21、逆量子化・逆変換部22、予測画像生成部23、加算器24、フレームメモリ25、減算器26、変換・量子化部27、および符号化データ生成部29を備えている。
【0202】
符号化設定部21は、入力画像#10に基づいて、符号化に関する画像データおよび各種の設定情報を生成する。
【0203】
具体的には、符号化設定部21は、次の画像データおよび設定情報を生成する。
【0204】
まず、符号化設定部21は、入力画像#10を、スライス単位、ツリーブロック単位、CU単位に順次分割することにより、対象CUについてのCU画像#100を生成する。
【0205】
また、符号化設定部21は、分割処理の結果に基づいて、ヘッダ情報H’を生成する。ヘッダ情報H’は、(1)対象スライスに属するツリーブロックのサイズ、形状および対象スライス内での位置についての情報、並びに、(2)各ツリーブロックに属するCUのサイズ、形状および対象ツリーブロック内での位置についてのCU情報CU’を含んでいる。
【0206】
さらに、符号化設定部21は、CU画像#100、および、CU情報CU’を参照して、PT設定情報PTI’を生成する。PT設定情報PTI’には、(1)対象CUの各PUへの可能な分割パターン、および、(2)各PUに割り付ける可能な予測モード、の全ての組み合わせに関する情報が含まれる。
【0207】
符号化設定部21は、CU画像#100を減算器26に供給する。また、符号化設定部21は、ヘッダ情報H’を符号化データ生成部29に供給する。また、符号化設定部21は、PT設定情報PTI’を予測画像生成部23に供給する。
【0208】
逆量子化・逆変換部22は、変換・量子化部27より供給される、ブロック毎の量子化予測残差を、逆量子化、および、逆直交変換することによって、ブロック毎の予測残差を復元する。逆直交変換については、
図1に示す逆量子化・逆変換部13について、既に説明したとおりであるので、ここではその説明を省略する。
【0209】
また、逆量子化・逆変換部22は、ブロック毎の予測残差を、TT分割情報(後述)により指定される分割パターンに従って統合し、対象CUについての予測残差Dを生成する。逆量子化・逆変換部22は、生成した対象CUについての予測残差Dを、加算器24に供給する。
【0210】
予測画像生成部23は、フレームメモリ25に記録されている局所復号画像P’、および、PT設定情報PTI’を参照して、対象CUについての予測画像Predを生成する。予測画像生成部23は、予測画像生成処理により得られた予測パラメータを、PT設定情報PTI’に設定し、設定後のPT設定情報PTI’を符号化データ生成部29に転送する。なお、予測画像生成部23による予測画像生成処理は、動画像復号装置1の備える予測画像生成部14と同様であるので、ここでは説明を省略する。
【0211】
加算器24は、予測画像生成部23より供給される予測画像Predと、逆量子化・逆変換部22より供給される予測残差Dとを加算することによって、対象CUについての復号画像Pを生成する。
【0212】
フレームメモリ25には、復号された復号画像Pが順次記録される。フレームメモリ25には、対象ツリーブロックを復号する時点において、当該対象ツリーブロックよりも先に復号された全てのツリーブロック(例えば、ラスタスキャン順で先行する全てのツリーブロック)に対応する復号画像が記録されている。
【0213】
減算器26は、CU画像#100から予測画像Predを減算することによって、対象CUについての予測残差Dを生成する。減算器26は、生成した予測残差Dを、変換・量子化部27に供給する。
【0214】
変換・量子化部27は、予測残差Dに対して、直交変換および量子化を行うことで量子化予測残差を生成する。なお、ここで直交変換とは、画素領域から周波数領域への変換のことをさす。また、逆直交変換の例としては、DCT変換(Discrete Cosine Transform)、およびDST変換(Discrete Sine Transform)等が挙げられる。
【0215】
具体的には、変換・量子化部27は、CU画像#100、および、CU情報CU’を参照し、対象CUの1または複数のブロックへの分割パターンを決定する。また、決定された分割パターンに従って、予測残差Dを、各ブロックについての予測残差に分割する。
【0216】
また、変換・量子化部27は、各ブロックについての予測残差を直交変換することによって周波数領域における予測残差を生成した後、当該周波数領域における予測残差を量子化することによってブロック毎の量子化予測残差を生成する。
【0217】
また、変換・量子化部27は、生成したブロック毎の量子化予測残差と、対象CUの分割パターンを指定するTT分割情報と、対象CUの各ブロックへの可能な全分割パターンに関する情報とを含むTT設定情報TTI’を生成する。変換・量子化部27は、生成したTT設定情報TTI’を逆量子化・逆変換部22および符号化データ生成部29に供給する。
【0218】
符号化データ生成部29は、ヘッダ情報H’、TT設定情報TTI’、およびPT設定情報PTI’を符号化し、符号化したヘッダ情報H、TT設定情報TTI、およびPT設定情報PTIを多重化して符号化データ#1を生成し、出力する。
【0219】
(符号化データ生成部の詳細)
次に、
図25を用いて、符号化データ生成部29の詳細について説明する。
図25は、符号化データ生成部29の構成例について示す機能ブロック図である。
【0220】
なお、以下では、符号化データ生成部29が、TT設定情報TTI’に含まれるパラメータのうち、予測モード(輝度)および色差予測モードに関するパラメータを符号化するための構成について説明する。
【0221】
しかしながら、これに限られず符号化データ生成部29は、TT情報TTI’に含まれる変換係数以外のデータ、例えば、サイド情報等を符号化することができる。
【0222】
図25に示すように、符号化データ生成部29は、コンテキスト記憶部117、予測セット決定部291、MPM導出部292、MPM判定部293、予測モード符号化部294、および色差予測モード符号化部296を備える。
【0223】
また、例えば、MPMの導出については、動画像復号装置1および動画像符号化装置2の間で相違しない。
【0224】
このように、動画像復号装置1および動画像符号化装置2の間で対応している構成または同様の処理を行う構成については、動画像符号化装置2において、動画像復号装置1の構成を用いることができる。
【0225】
従って、予測セット決定部291、MPM導出部292は、それぞれ、
図1に示したコンテキスト記憶部151、色差予測モード定義記憶部154、予測セット決定部111、およびMPM導出部112と同様である。よって、ここではその説明を省略する。
【0226】
以下では、MPM判定部293、予測モード符号化部294、および色差予測モード符号化部296について説明する。
【0227】
MPM判定部293は、MPMが予測モードと一致するか否かを判定し、判定結果に応じてmpm_flagを符号化する。符号化の処理については、
図1に示した可変長復号部11について、既に説明済みであるので、ここではその説明を省略する。
【0228】
予測モード符号化部294は、MPM判定部293の判定結果に応じて、予測モードに関する情報(mpm_idx、rem_idx)を符号化する。予測モード符号化部294は、MPMを用いる場合は、mpm_idxを符号化し、MPMを用いない場合は、rem_idxを符号化する。
【0229】
mpm_idxの符号化については、
図1に示した可変長復号部11について、既に説明済みであるので、ここではその説明を省略する。
【0230】
rem_idxの符号化については後述する。
【0231】
色差予測モード符号化部296は、対象PUについての色差予測モードを符号化する。より詳細には、色差予測モード符号化部296は、以下のようにして色差予測モードを符号化する。
【0232】
まず、色差予測モード符号化部296は、輝度に対する予測モードおよび色差予測モードを用いて、イントラ色差予測モード指定情報chroma_mode(intra_chroma_pred_mode)の値を取得する。
【0233】
そして、色差予測モード符号化部296は、取得したイントラ色差予測モード指定情報chroma_modeの値を符号化する。
【0234】
次に、
図26を用いて、動画像符号化装置2における予測モード符号化処理の流れについて説明する。
【0235】
まず、
図26に示すフローチャートを用いて、動画像符号化装置2における予測モード符号化処理の概略的な流れの一例について説明する。
【0236】
動画像符号化装置2において予測モード符号化処理が開始されると、MPM導出部292が、MPM0を導出する(S31)。続いて、MPM導出部292が、MPM1を導出する(S32)。
【0237】
次に、MPM判定部293が、予測モードと、MPM(MPM0またはMPM1)とが一致しているか否かを判定する(S33)。
【0238】
ここで、予測モードと、MPMとが一致している場合(S33においてYES)、MPM判定部293が、mpm_flag=1を符号化する(S34)とともに、予測モード符号化部294が、MPM0およびMPM1のうち、予測モードと一致している方について、mpm_idxを導出する(S35)。
【0239】
一方、予測モードと、MPMとが一致していない場合(S33においてNO)、MPM判定部293が、mpm_flag=0を符号化する(S36)。予測モード符号化部294は、MPM0とMPM1を比較し、MPM1の予測モード番号がMPM0の予測モード番号より小さければ、MPM0とMPM1をスワップする(S37)。続いて、予測モード符号化部294は、rem_modeの配列を生成する(S38)。最後に、予測モード符号化部294が、rem_idxを導出する(S39)。
【0240】
(作用・効果)
以上に示したように、動画像復号装置1は、予測モードに対応付けられたイントラ予測方式により予測画像を生成する動画像復号装置1において、予測モードがAngular予測である際に、予測モード番号に基づいて予測方向の主方向を決定し、その判定結果に基づいて予測画像を生成する予測画像生成部を備えるとともに、対応する方向予測モードの主方向が垂直方向か水平方向かを容易に判定可能な性質を有する予測モードを復号する可変長復号部を備える構成である。
【0241】
また、以上に示したように、動画像符号化装置2は、予測モードに対応付けられたイントラ予測方式により予測画像を生成する動画像符号化装置2において、予測モードがAngular予測である際に、予測モード番号に基づいて予測方向の主方向を決定し、その判定結果に基づいて予測画像を生成する予測画像生成部を備えるとともに、対応する方向予測モードの主方向が垂直方向か水平方向かを容易に判定可能な性質を有する予測モードを符号化する可変長符号化部を備える構成である。
【0242】
上記構成において、方向予測モードに基づく予測方向の主方向の決定は、上記の予測モード番号の性質を利用して、予測モード番号と主方向をマッピングするテーブルを用いることなく導出できる。よって、復号時または符号化時において必要なメモリを削減できる。
【0243】
(符号化データ#1についての補足)
以下では、動画像符号化装置2によって生成される符号化データ#1について補足する。
【0244】
符号化データ#1の基本構成は、
図3を参照して記載した通りである。符号化データ#1にはイントラ予測情報に含まれるイントラ予測パラメータには、MPM(Most Probable Mode、以下同様)に関するフラグであるmpm_flag、MPMを選択するためのインデックスであるmpm_idx、および、MPM以外の予測モードを指定するためのインデックスであるrem_idxが含まれる。mpm_flag、mpm_idx、rem_idxを用いることで、動画像復号装置1の可変長復号部11(
図21)で説明した通り、各PUで適用する予測モード(輝度)の予測モード番号が復号される。そして、復号される予測モード番号は、
図9の予測モード定義DEFPM2を用いる場合、前述の性質1(主方向判定の容易性)を少なくとも有している。すでに説明した通り、前記性質1は、動画像復号装置における予測画像生成処理や予測モード依存処理に有用だが、それ以外の処理にも有用である。例えば、動画像復号装置2の出力である復号画像と符号化データ#1を入力として、復号画像に対してポストフィルタを適応的に適用する際に利用できる。より具体的には、符号化データ#1に基づいて予測モード番号を復元し、各予測モードの主方向が垂直方向か水平方向かを判定し、判定結果に応じたフィルタを復号画像の各予測モードの対応する領域に対して適用する。その際、前記性質1により、予測モードの主方向の判定がテーブルを用いることなく実行できる。
〔変形例〕
<変形例1:変換係数スキャン順の選択>
動画像復号装置1の可変長復号部11における変換係数の復号処理において、変換単位内の変換係数を復号する順序(変換係数スキャン順)を予測モード番号に応じて変更してもよい。予測方式に応じて発生する予測残差の性質が異なるため、予測残差に直交変換と量子化を適用して得られる変換係数の性質も異なる。したがって、予測方式に応じて、0の値の変換係数が多く連続するスキャン順を選択することで、変換係数の符号量が削減できる。適用可能な変換係数スキャン順が、水平スキャン(horzScan)、垂直スキャン(vertScan)、対角スキャン(diagScan)である場合、垂直に近い方向の方向予測に対しては垂直スキャン、水平に近い方向の方向予測に対しては水平スキャン、それ以外の予測モードに対しては対角スキャンを適用することが好ましい。
【0245】
例えば、以下の手順でスキャン順を決定できる。まず、予測モードが方向予測ではない場合、または、予測方向と主方向のなす角度(勾配)が所定の値より大きい場合、対角スキャンを選択する。それ以外の場合で、予測方向の主方向が垂直方向である場合、垂直スキャンを選択する。それ以外の場合(予測方向の主方向が水平方向である場合)、垂直スキャンを選択する。
【0246】
上記の選択処理は、以下に示す擬似コードにより表現できる。
【0247】
if (bPlanar(m) || bDC(m) || absIntraPredAngle > 13)
scanIdx = diagScan;
else
scanIdx = (bHorz(m)) ? horzScan : vertScan;
ここで、bPlanar(m)、bDC(m)はそれぞれ予測モードがPlanar予測、または、DC予測であるかを判定する関数である。また、absIntraPredAngleの値は、前述の
図18により導出できる予測方向の勾配の絶対値を表す値である。また、bHorz(m)は、予測モードの主方向が水平方向である場合に1を、垂直方向の場合に0の値を返す関数である。
【0248】
図6や
図9の予測モード定義のように、予測モードが、性質1、すなわち、主方向判定の容易性を有する場合には、bHorz(m)の値はテーブルを用いずに容易に算出できる。例えば、
図9の予測モード定義では、予測モード番号mが偶数であれば主方向は水平方向であり、奇数であれば主方向は垂直方向である。予測画像生成時に利用するテーブル以外の追加のテーブルを利用することなく、スキャン順を選択できる。したがって、性質1、すなわち、主方向判定の容易性を有する予測モード定義を用いる場合、メモリが削減できる。
<変形例2:変換・逆変換の選択>
動画像復号装置1の逆量子化・逆変換部13における逆直交変換は、画像領域と2次元周波数領域の間の変換であり2次元の逆変換である。2次元の逆変換を2つの1次元の逆変換(垂直1次元逆変換と水平1次元逆変換)の組み合わせにより実現してもよい。具体的には、垂直1次元逆変換として1次元逆DCTまたは1次元逆DSTを利用できる。同様に水平1次元逆変換として1次元逆DCTまたは1次元逆DSTを利用できる。同様に動画像符号化装置2の変換・量子化部27における変換も、2つの1次元変換の組み合わせにより実現できる。1次元変換には、1次元DCTと1次元DSTを利用できる。
【0249】
予測残差の特性に応じた1次元変換の組み合わせを選択して予測残差に適用することで、常に同種の変換を適用する場合に較べて変換係数を低周波成分に集中できるため、変換係数の符号量が削減できる。
【0250】
例えば、以下の手順で垂直・水平方向に適用する1次元DCTの組み合わせを選択できる。まず、予測モードがPlanar予測か、予測モードの主方向が垂直方向であるか、または、予測モードの主方向が水平方向であって予測方向が左上から右下方向である場合、垂直1次元変換に1次元DSTを設定する。それ以外の場合、垂直1次元変換に1次元DCTを設定する。次に、予測モードがPlanar予測か、予測モードの主方向が水平方向であるか、または、予測モードの主方向が垂直方向であって予測方向が左上から右下方向である場合、水平1次元変換に1次元DSTを設定する。それ以外の場合、水平1次元変換に1次元DCTを設定する。
【0251】
上記の垂直1次元変換(vertTrans)と水平1次元変換(horzTrans)の選択処理は、以下に示す擬似コードにより表現できる。
【0252】
vertTrans = (bPlanar(m) || !bHorz(m)
|| (bHorz(m) && intraPredAngle < 0)) ? DST : DCT;
horzTrans = (bPlanar(m) || bHorz(m)
|| intraPredAngle < 0) ? DST : DCT;
ここで、intraPredAngleは前述の通り予測方向の勾配を表し、負値の場合には予測方向(参照方向)が左上であることを表す。なお、予測方向の勾配の正負は、予測モード識別子における主方向に対する変位の正負と一致する。したがって、予測モード定義が、前述の性質4、つまり、変位の符号判定の容易性を満たす場合には、テーブルを用いることなく予測モード番号mに基づく計算により正負の判定が可能となる。その場合、1次元変換の選択処理をテーブルを用いることなく実行できる。したがって、
図9の予測モード定義のように、予測モード番号が変位の符号判定の容易性を満足する場合、1次元変換の選択時のメモリを削減できる。
【0253】
なお、上記は1次元変換の選択処理について記載したが、動画像復号装置1における1次元逆変換の選択処理も、同じ処理により実行される。
<変形例3:参照画素フィルタ選択の別の方法>
上記の予測画像生成部14の説明では、参照画素フィルタ部144におけるフィルタ適用有無(refPicFilterFlag)の値を
図12のテーブルを用いて導出する方法を記載したが、別の導出方法を用いても良い。参照画素フィルタ部144は、例えば、対象PUのサイズpuSizeの値に応じて以下の式によりフィルタ適用有無の値を設定できる。
【0254】
refPicFilterFlag = 0 (puSize: 4x4)
refPicFilterFlag = (bPlanar(m) || absAng(m) >= 32) ? 1:0 (puSize: 8x8)
refPicFilterFlag = (bPlanar(m) || absAng(m) >= 5) ? 1:0 (puSize: 16x16)
refPicFilterFlag = (bPlanar(m) || absAng(m) >= 2) ? 1:0 (puSize: 32x32,64x64)
ここで、absAng(m)は
図18に示す勾配絶対値定義テーブルにおいて定義されているabsIntraPredAngleの値と同じである。したがって、上記の式では、予測方向の勾配の絶対値に基づいて、フィルタ適用有無の値を設定しているということもできる。上記の式によれば、予測モードが方向予測である場合、予測方向の勾配の絶対値が、対象PUのサイズに応じた所定の閾値以下の場合に参照画素フィルタを適用すること(refPicFilterFlagの値が1)を選択している。閾値は、対象PUのサイズが大きいほど小さい値が設定されている。PUサイズが4×4の場合には、予測方向の勾配に関する条件はないが、常に参照画素フィルタを適用しないため、閾値が無限大であると見なすことができる。なお、予測方向の勾配が大きい場合、予測方向と主方向のなす角度が大きいことを意味する。したがって、対象PUのサイズが大きい場合、対象PUのサイズが小さい場合に較べて、主方向となす角度がより小さい予測方向に対応付けられた予測モードに対しても参照画素フィルタを適用することが好ましい。定性的には、大きいサイズのPUは比較的平坦な領域で選択されること、平坦な領域では平滑化が有効であることから、上記の選択が有効であるといえる。なお、上記ではPUサイズに応じた閾値の変更と記載したが、別のサイズ、例えばCUサイズや変換単位のサイズに応じた判定であってもよい。
<変形例4:予測モード定義の別の例>
特定の性質を有する予測モード定義として、
図6と
図9の予測モード定義を例に挙げ説明した。性質としては、以下の5つを挙げている。
(性質1)主方向判定の容易性
(性質2)同変位方向予測モード判定の容易性
(性質3)方向予測精度判定の容易性
(性質4)変位の符号判定の容易性
(性質5)変位の絶対値の判定の容易性
上記性質の一部を有する異なる予測モード定義を用いてもよい。例えば、
図27の予測モード定義DEFPM3を用いてもよい。
図27の予測モード定義DEFPM3では、Planar予測に0、DC予測に1の予測モード番号がそれぞれ割り当てられている。さらに、VER−8〜VER+8の予測モードに対して2〜18の予測モード番号が順に割り当てられている。さらに、HOR−7〜HOR+8の予測モードに対して19〜34の予測モード番号が順に割り当てられている。
図27の予測モード定義DEFPM3は、前述の性質のうち、性質1〜3を満たす。性質1に関連し、予測モードが水平方向か垂直方向かの判定が、予測モード番号が18以下か否かの判定により実現できる。性質2に関連し、2つの予測モードが同一の変位を有するか否かの判定が、2つの予測モード番号の差が16に一致するか否かにより判定できる。性質3に関連し、方向予測の精度が高いか低いか、すなわち、予測モード識別子における変位の部分が偶数か奇数の判定が、予測モード番号が偶数か奇数かにより判定できる。なお、
図27の予測モード定義DEFPM3は、追加の性質として、方向予測判定の容易性を有している。すなわち、予測モード番号が2以上か否かにより、予測モードが方向予測に属するか否かが容易に判定できる。
<変形例5:異なる予測モード符号化の例>
上記の例では、4×4のPUサイズに対して18個、8×8〜64×64のPUサイズに対して35個の予測モードが輝度におけるイントラ予測モードとして選択可能である例を記載したが、それに限らない。例えば、4×4のPUサイズに対して19個、8×8〜64×64のPUサイズに対して35個のイントラ予測モードが選択可能であってもよい。以下、そのような場合の予測モード定義、および、予測モード復号処理について説明する。
【0255】
予測モード定義は、予測モード番号の定義を
図9の定義とした上で、4×4のPUサイズに対しては予測モード番号0〜18、8×8〜64×64のPUサイズに対しては予測モード番号0〜34の予測モードを選択可能とする。
【0256】
予測モード復号処理は、基本的には前述の可変長復号部11における予測モード復号処理と同じであるが、次の点が異なる。可変長復号部11内の予測モード復元部114では、符号化データから直接rem_idxの値を復号せず、符号化データから復号したrem_idx_zero_flagとrem_idx_minus_oneの値に基づいてrem_idxの値を決定する。より具体的には、復号したmpm_flagの値が0の場合、予測モード復元部114は符号化データからrem_idx_zero_flagを復号する。rem_idx_zero_flagの値が1であれば、rem_idxを0に設定する。rem_idx_zero_flagの値が0の場合、続けてrem_idx_minus_oneの値を復号し、rem_idxの値としてrem_idx_minus_oneに1を加算した値を設定する。この際、rem_idxの値域は、PUサイズが4×4の場合に0〜16、それ以外の場合に0〜32であることから、rem_idx_minus_oneの値域はPUサイズが4×4の場合に0〜15、それ以外の場合に0〜31となる。rem_idx_minus_oneの値は、PUサイズが4×4の場合に4ビット、それ以外の場合に5ビットの固定長符号により符号化できる。
【0257】
以上のように、本発明の
図9の予測モード番号の定義は上記のようなPUサイズに応じた予測モード数および予測モード符号化方法を用いる場合にも適用できる。
<変形例6:輝度予測モード数の選択>
上記の例では、輝度に対して適用可能な予測モードの種類をPUサイズに応じて決まる既定の種類としたが、シーケンス、ピクチャ、スライス単位で適用可能な予測モードの種類を切り替えられる構成としても良い。特に、特定数の予測モードを輝度に対して適用可能である設定と、前記特定数より少ない数の予測モードを輝度に対して適用可能である設定を切り替えられることが好ましい。その場合、予測モードの種類が少数で十分であるような動画像の一部を符号化する際に、少ない数の予測モードを輝度に対して適用可能である設定を選択することでサイド情報を削減できる。以下、具体例を説明する。
【0258】
輝度に対して適用可能な予測モードの数を、
図7により説明したPUサイズの2の対数(log2PartSize)と予測モード数の関係により定まる数に代わり、
図30の(a)に示した、変数intraPredPrecisionの値とlog2PartSizeの値との組み合わせと、予測モード数の関係により定まる数を用いてもよい。ここで、変数intraPredPrecisionは、適用可能な予測モードの種類の多さを表す変数であり、0の値は種類が多いことを表し、1の値は種類が少ないことを表す。
図30の(a)の関係によると、変数intraPredPrecisionの値が0の場合の予測モード数は、log2PartSizeが2(PUサイズが4×4画素)の場合に18、それ以外の場合、すなわちlog2PartSizeが3〜6(PUサイズが8×8画素〜64×64画素)の場合に35となる。一方、変数intraPredPrecisionの値が1の場合の予測モード数は、log2PartSizeの値に依らず10となる。
【0259】
輝度に対して適用可能な予測モードの種類は、上記で説明した予測モード数をNmとした場合、
図31に示した予測モード定義DEFPM4において、予測モード番号0〜Nm−1にそれぞれ対応する予測モードとすることが好ましい。
図31の予測モード定義DEFPM4では、予測モード番号0〜9が順に、Planar、VER、HOR、DC、VER−8、VER−4、HOR−4、VER+4、HOR+4、VER+8の予測モードにそれぞれ対応付けられている。また、予測モード番号10〜18が順に、HOR+8、VER−2、HOR−2、VER+2、HOR+2、VER−6、HOR−6、VER+6、HOR+6、VER+6の予測モードにそれぞれ対応付けられている。また、予測モード番号19〜35が順に、VER−1、HOR−1、VER+1、HOR+1、VER−3、HOR−3、VER+3、HOR+3、VER−5、HOR−5、VER+5、HOR+5、VER−7、HOR−7、VER+7、HOR+7、LMにそれぞれ対応付けられている。予測モード定義DEFPM4は、予測モード数10の場合に適用可能である予測モード番号0〜9に対応する予測モードは、DC、Planar、変位が0または変位の絶対値が4の倍数であるAngular予測のみを含むという性質を有している。また、予測モード数18の場合に適用可能である予測モード番号0〜17に対応する予測モードは、DC、Planar、変位が0または変位の絶対値が2の倍数であるAngular予測のみを含むという性質を有している。
【0260】
上記の例において、最小の予測モード数として10を使うことは、予測モード番号の復号時に推定予測モードMPMを2個用いる場合に有効である。なぜなら、rem_idxの値域が0〜7となり、rem_idxを3bitの固定長符号により符号化できるためである。
【0261】
なお、上記の例において、変数IntraPrecisionの値が1の場合、log2PrartSizeの値によらず、予測モード数として10を使う例を説明したが、これに限定されない。例えば、
図30の(b)に示すように、予測モード数を4としてもよい。予測モード数が4の場合は、
図31の予測モード定義DEFPM4では、予測モード番号0〜3が順に、Planar,VER、HOR、DCの予測モードにそれぞれ対応付けられている。なお、予測モード数として4を使うことは、予測モード番号の復号時に推定予測モードMPMを2個用いる場合に有効である。なぜなら、rem_idxの値域が0〜1となり、rem_idxを1bitの固定長符号により符号化できるためである。一般に、推定予測モード数がK個の場合には、予測モード数NmがNm−Kの値が2のべき乗となるような値にすることで、rem_idxが固定長符号により符号化できるため好ましい。
【0262】
変数intraPredPrecisionの値を、SPS、PPS、スライスヘッダで送信することで、それぞれシーケンス単位、ピクチャ単位、スライス単位での輝度に対する選択可能な予測モードの種類の変更が可能となる。なお、必ずしも変数intraPredPrecisionを用いる必要はなく、別の値を用いても良い。例えば、既定の種類(intraPredPrecisionが0の場合に対応する種類)から変更するか否かの情報を示すフラグを復号し、前記フラグが変更することを示す場合に、さらに輝度の各予測単位のサイズに対して何種類の予測モードを適用可能とするかを示す情報を追加で復号して用いても良い。
【0263】
〔応用例〕
上述した動画像符号化装置2及び動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
【0264】
まず、上述した動画像符号化装置2及び動画像復号装置1を、動画像の送信及び受信に利用できることを、
図28を参照して説明する。
【0265】
図28の(a)は、動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。
図28の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_A1として利用される。
【0266】
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、及び、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていてもよい。
図28の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
【0267】
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
【0268】
図28の(b)は、動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。
図28の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置1は、この復号部PROD_B3として利用される。
【0269】
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。
図28の(b)においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
【0270】
なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
【0271】
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
【0272】
例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
【0273】
また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線又は有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
【0274】
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
【0275】
次に、上述した動画像符号化装置2及び動画像復号装置1を、動画像の記録及び再生に利用できることを、
図29を参照して説明する。
【0276】
図29の(a)は、上述した動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。
図29の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_C1として利用される。
【0277】
なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc)やBD(Blu-ray Disc:登録商標)などのように、記録装置PROD_Cに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
【0278】
また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、及び、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部C6を更に備えていてもよい。
図29の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
【0279】
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
【0280】
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HD(Hard Disk)レコーダなどが挙げられる(この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3又は受信部PROD_C5又は画像処理部C6が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
【0281】
図29の(b)は、上述した動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。
図29の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置1は、この復号部PROD_D2として利用される。
【0282】
なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
【0283】
また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。
図29の(b)においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
【0284】
なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
【0285】
このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デジタルサイネージ(電子看板や電子掲示板等とも称され、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4又は送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型又はタブレット型PC(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。
【0286】
(ハードウェア的実現およびソフトウェア的実現)
また、上述した動画像復号装置1および動画像符号化装置2の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
【0287】
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【0288】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM(Compact Disc Read-Only Memory)/MOディスク(Magneto-Optical disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)/CD−R(CD Recordable)/ブルーレイディスク(Blu-ray Disc:登録商標)等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM(Erasable Programmable Read-Only Memory)/EEPROM(Electrically Erasable and Programmable Read-Only Memory:登録商標)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
【0289】
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value-Added Network)、CATV(Community Antenna television/Cable Television)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE(Institute of Electrical and Electronic Engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDA(Infrared Data Association)やリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance:登録商標)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【0290】
(むすび)
本発明は、以下のように表現することも可能である。
(1) 画像復号装置は、予測モードに対応付けられたイントラ予測方式により予測画像を生成する画像復号装置において、予測モードに係る所定の特徴量に基づいて所定の復号処理に用いる復号方式を選択する予測モード依存方式選択処理部と、予測モード番号を一意に特定する予測モード番号を復号する可変長復号部を備え、上記予測モード番号は、前記所定の特徴量が容易に判定可能であるという性質を有する構成である。
(2) 上記画像復号装置では、上記予測モード番号に基づいて方向予測の主方向および勾配を決定する予測方向導出部と、上記主方向と上記勾配に基づいて予測画像を生成する方向予測画像生成部を備え、上記予測モードに係る所定の特徴量は、上記主方向であり、上記所定の復号処理は、上記予測画像生成部における予測画像生成処理であってもよい。
(3) さらに、上記画像復号装置では、上記主方向が垂直方向である全ての方向予測モードに対して、偶奇の等しい予測モード番号がそれぞれ割り当てられており、上記主方向が水平方向である全ての方向予測モードに対して、上記主方向が垂直方向である全ての方向予測モードに対して割り当てられた予測モード番号と、偶奇の異なる予測モード番号がそれぞれ割り当てられていてもよい。
(4) 上記画像復号装置では、上記予測モード番号に基づいて方向予測の主方向および勾配を決定する予測方向導出部と、上記主方向と上記勾配に基づいて予測画像を生成する方向予測画像生成部を備え、上記予測モードに係る所定の特徴量は、上記勾配の絶対値であり、上記所定の復号処理は、上記予測方向導出部における上記勾配の絶対値の決定処理であってもよい。
(5) 上記画像復号装置では、上記予測モード番号に基づいて方向予測の主方向および勾配を決定する予測方向導出部と、上記予測モード番号に基づいて予測画像生成に用いる参照画素に対して適用するフィルタを選択する参照画素設定部を備え、上記予測モードに係る所定の特徴量は、上記勾配の絶対値であり、上記所定の復号処理は、上記参照画素設定部におけるフィルタ選択処理であってもよい。
(6) 上記画像復号装置では、上記予測モード番号に基づいて方向予測の主方向および勾配を決定する予測方向導出部を備え、上記可変長復号部は、上記予測モード番号に基づいて決定されるスキャン順に変換係数を復号し、上記予測モードに係る所定の特徴量は、上記勾配の符号であり、上記所定の復号処理は、上記可変長復号部におけるスキャン順選択処理であってもよい。
(7) 上記画像復号装置では、上記予測モード番号に基づいて方向予測の主方向および勾配を決定する予測方向導出部と、上記予測モード番号に基づいて選択される垂直1次元変換および水平1次元変換を変換係数に適用することで予測残差を復号する逆量子化・逆変換部を備え、上記予測モードに係る所定の特徴量は、上記主方向および上記勾配の符号であり、上記所定の復号処理は、上記逆量子化・逆変換部における垂直1次元変換および水平1次元変換の選択処理であってもよい。
(8) 画像復号装置は、予測モードに対応付けられたイントラ予測方式により予測画像を生成する画像復号装置において、符号化データから算術復号により予測モード関連シンタックスを復号するとともに、上記予測モード関連シンタックスに基づいて予測モードを復元する予測モード復元部を備え、上記予測モード関連シンタックスは、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードを少なくとも含み、
上記予測モード復元部は、推定予測モードフラグが推定予測モードを利用することを示す場合、対象予測単位の左隣接予測単位の予測モードに基づいて第一の推定予測モードを導出するとともに、対象予測単位の上隣接予測単位の予測モードに基づいて第二の推定予測モードを導出し、上記二つの推定予測モードの大小比較を行うことなく、上記推定予測モードインデックスの値に基づいて一方の推定予測モードを予測モードとして復元する構成である。
(9) 画像復号装置は、予測モードに対応付けられたイントラ予測方式により予測画像を生成する画像復号装置において、上記予測モード番号と予測画像生成単位のサイズに基づいて予測画像生成に用いる参照画素に対して適用するフィルタを選択する参照画素設定部を備え、上記参照画素設定部におけるフィルタ選択は、対象予測単位のサイズが大きい場合、対象予測単位のサイズが小さい場合に較べて、主方向となす角度がより小さい予測方向に対応付けられた予測モードに対して参照画素フィルタを適用すること選択する構成である。
(10) 画像符号化装置は、予測モードに対応付けられたイントラ予測方式により予測画像を生成する画像符号化装置において、予測モードに係る所定の特徴量に基づいて所定の符号化処理に用いる符号化方式を選択する予測モード依存方式選択処理部と、予測モード番号を一意に特定する予測モード番号を符号化する可変長符号化部を備え、上記予測モード番号は、前記所定の特徴量が容易に判定可能であるという性質を有する構成である。
【0291】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0292】
また、本発明は、以下のように表現することもできる。
【0293】
本発明の一態様に係る画像復号装置では、上記特徴量特定手段は、上記特徴量として、上記予測方向の勾配の絶対値を特定し、上記復元手段は、上記復元処理として、上記方向予測の主方向を導出するとともに、上記予測方向の勾配の絶対値に基づいて、上記予測方向の勾配を導出することで、上記予測モードに対応する予測方向を導出することが好ましい。
【0294】
上記構成によれば予測モード番号から、予測方向の勾配の絶対値を特定する。すなわち、勾配の絶対値が等しい予測モード群にそれぞれ対応する予測モード番号から、勾配を特定する同一のインデックスを導出する。ここで、勾配の絶対値が等しい予測モード群とは、対応する予測方向と主方向とのなす角度の絶対値が等しい予測モード群である。非特許文献1の例で言えば、予測方向の勾配の絶対値は、4つの方向予測モードに関して同じになる(例えば、VER−2、HOR−2、VER+2、HOR+2に対して勾配の絶対値5)。このため、予測モード番号(予測モード識別子)から、予測方向の勾配の絶対値を導出するために、全ての予測モード番号(予測モード識別子)のそれぞれに、予測方向の勾配の絶対値を対応付けるテーブルを設けなくても済む。
【0295】
よって、予測モード番号(予測モード識別子)から、予測方向の勾配の絶対値を導出するためのテーブルのサイズを低減することができる。
【0296】
また、本発明の一態様に係る画像復号装置では、上記対応付けでは、同一の勾配の絶対値を有する予測方向に対応する予測モードに対して、連続した予測モード番号が対応付けられており、上記特徴量特定手段は、上記予測モード番号に基づいて、該予測モード番号に対応付けられている予測モードが、上記同一の勾配の絶対値を有する予測方向に対応する予測モードからなる群のいずれに属するかを判定することで、上記勾配の絶対値を特定することが好ましい。
【0297】
上記構成によれば、次の性質を得ることができる。
【0298】
性質:変位(勾配)の絶対値の判定の容易性
予測モードに対応する予測方向の変位の絶対値を容易に判定できるという性質である。この性質を満たすには、例えば、同一の絶対値を持つ変位に対応付けられる予測モードが連続しており、予測モード番号に対応付けられている予測モードが、上記同一の勾配の絶対値を有する予測方向に対応する予測モードからなる群のいずれに属するかを判定することで、上記勾配の絶対値を特定することができる。
【0299】
この判定は、例えば、予測モード番号に、所定の数値で右シフト演算した値により行うことができる。具体的に例示すると次のとおりである。VER−2、HOR−2、VER+2およびHOR+2に対して、それぞれ、予測モード番号7、8、9および10が対応付けられているとする。このとき、予測モード番号m(m=7〜10)に対して、(m+1)>>2の演算を適用すると、2が得られる。このように、上記同一の勾配の絶対値を有する予測方向に対応する予測モードからなる群のいずれに属するかを特定することができる。なお、上記判定は、予測モード番号を除算して得られる商に基づいて行うこともできる。
【0300】
よって、各予測モード番号(予測モード識別子)に対して、勾配の絶対値を対応付けなくてもよく、上記群に対して、上記勾配の絶対値を対応付けておくだけで済む。これにより、対応付けテーブルのサイズを削減することができる。
【0301】
本発明に係る画像復号装置では、上記特徴量特定手段は、上記特徴量として、上記予測方向の勾配の絶対値を特定し、上記復元手段は、上記復元処理として、上記勾配の絶対値に基づいて予測画像生成に用いる参照画素に対して適用するフィルタを選択することが好ましい。
【0302】
上記構成によれば、予測モード番号から、予測方向の勾配の絶対値を特定する。このため、全ての予測モード番号(予測モード識別子)のそれぞれに、予測方向の勾配の絶対値を対応付けるテーブルを設けなくても済む。
【0303】
また、フィルタ処理においては、対象予測単位のサイズと、予測方向の勾配の絶対値とに応じてフィルタを選択することが望ましい。例えば、対象予測単位のサイズが大きい場合、対象予測単位のサイズが小さい場合と較べて、勾配の絶対値が小さい予測方向に対応付けられた予測モードに対して参照画素フィルタを適用する。
【0304】
以上により、参照画素フィルタ適用処理におけるメモリ削減を図ることができる。
【0305】
本発明の一態様に係る画像復号装置では、上記特徴量特定手段は、上記特徴量として、上記予測方向の勾配の符号を特定し、上記復元手段は、上記復元処理として、上記勾配の符号に基づいて、変換係数を復号するスキャン順を決定することが好ましい。
【0306】
上記構成によれば、予測モード番号から、予測方向の勾配の符号を特定する。このため、全ての予測モード番号(予測モード識別子)のそれぞれに、予測方向の勾配の符号を対応付けるテーブルを設けなくても済む。
【0307】
予測モード番号から、予測方向の勾配の符号を特定するには、例えば、予測モード番号と、予測モードとの間の対応付けが次のような性質を有していればよい。
【0308】
性質:変位(勾配)の符号判定の容易性
この性質を実現するための対応付けの一例としては、同一符号の変位に対応付けられる予測モードが、2個ずつ周期的に繰り返されて予測モード番号と対応付けることが挙げられる。
【0309】
具体的に例示すると、VER−2、HOR−2、VER+2およびHOR+2に対して、それぞれ、予測モード番号7、8、9および10が対応付けられているとする。このとき、変位(勾配)の符号は次のようにして導出することができる。
【0310】
予測モード番号m+1(m=7〜10)を、4で除算した際の余りを計算する。ここで、余りが、0または1のとき変位の符号は、負の符号である。余りが、2および3のとき変位の符号は、正である。
【0311】
また、変換係数を復号するスキャン順は、予測方向の勾配に応じて選択することが好ましい。具体的には、勾配が所定の値より大きい場合、対角スキャンを選択することが好ましい。
【0312】
なお、これに対して、勾配が所定の値以下である場合、予測方向の主方向に基づいてスキャン順を選択してもよい。例えば、主方向が垂直方向である場合、垂直スキャンを選択し、主方向が水平方向である場合、水平スキャンを選択してもよい。
【0313】
更に言えば、性質:変位(勾配)の符号判定の容易性に加えて、上記性質1を満たすような対応付けを併用することも可能である。上述の具体例では、このような性質を満たしている。このように性質1を利用して上記選択を行ってもよい。
【0314】
以上により、スキャン順を選択する処理におけるメモリ削減を図ることができる。
【0315】
本発明に係る画像復号装置では、上記特徴量特定手段は、上記特徴量として、上記予測方向の主方向および勾配の符号を特定し、上記復元手段は、上記復元処理として、上記主方向および勾配の符号に基づいて、垂直1次変換および水平1次変換を変換係数に適用することで予測残差を復号することが好ましい。
【0316】
上記構成によれば、予測モード番号から、予測方向の主方向および勾配の符号を特定する。上述のとおり、性質:変位(勾配)の符号判定の容易性に加えて、上記性質1を満たすような対応付けを併用することも可能である。
【0317】
また、変換係数の逆直交変換においては、垂直1次元逆変換および水平1次元逆変換を採用することができる。これらの逆変換では、1次元逆DCTまたは1次元逆DSTを選択することができる。
【0318】
垂直1次元逆変換および水平1次元逆変換では、予測残差の特性に応じた組み合わせを選択することが好ましい。予測残差の特性は、予測モードにより定まる。方向予測の予測モードについては、例えば、次のように垂直1次元逆変換および水平1次元逆変換の組み合わせを選択する。
【0319】
予測モードの主方向が垂直方向である場合、または、予測モードの主方向が水平方向であって、予測方向が左上から右下方向である場合、垂直1次元逆変換に1次元DSTを設定する。それ以外の場合、垂直1次元逆変換に1次元DCTを設定する。
【0320】
また、予測モードの主方向が水平方向である場合、または、予測モードの主方向が垂直方向であって、予測方向が左上から右下方向である場合、水平1次元逆変換に1次元DSTを設定する。それ以外の場合、水平1次元逆変換に1次元DCTを設定する。
【0321】
まず、主方向は、上記の性質1を利用することができる。また、主方向が垂直方向および水平方向の場合において、予測方向が左上から右下方向である否かは、勾配の符号により判定することができる。よって、上記の性質:変位(勾配)の符号判定の容易性を利用することができる。
【0322】
以上により、1次元逆変換の組み合わせを選択する処理におけるメモリ削減を図ることができる。
【0323】
また、本発明の一態様に係る画像復号装置は、予測モードに対応付けられたイントラ予測方式により予測画像を生成することで符号化された画像を復元する画像復号装置において、対象予測単位の予測モードの復元に、推定予測モードを利用するか否かを示す推定予測モードフラグ、および、複数の推定予測モードのいずれかを指定するための推定予測モードインデックスを、符号化データから算術復号によって復号する算術復号手段と、上記対象予測単位の複数の近傍予測単位に割り付けられている復号済みの予測モードから、複数の上記推定予測モードを導出する推定予測モード導出手段と、上記推定予測モードインデックスに対して算術復号のためのコンテキストが設定されていない場合であって、上記推定予測モードフラグが推定予測モードと一致することを示す場合に、上記推定予測モードインデックスが示す推定予測モードを予測モードとして選択し、上記推定予測モードフラグが推定予測モードと一致しないことを示す場合に、上記複数の推定予測モードの交換処理を用いて、予測モードを復元する予測モード復元手段とを備え、上記予測モード復元手段は、上記推定予測モードフラグが推定予測モードと一致しないことを示す場合に、上記複数の予測モードに対応する予測モード番号の大小比較に基づいて推定予測モードの交換処理を実行することが好ましい。
【0324】
上記構成では、まず、推定予測モードフラグおよび推定予測モードインデックスを、符号化データから算術復号によって復号する。
【0325】
また、近傍予測単位に割り付けられている復号済みの予測モードに従って、複数の推定予測モードを導出する。また、推定予測モードは、推定予測モードインデックスにより指定される。
【0326】
ここで、近傍予測単位とは、対象予測単位と空間相関を有する予測単位のことである。例えば、近傍予測単位としては、対象予測単位に隣接する予測単位が挙げられる。また、近傍予測単位は、対象予測単位の左隣接予測単位および上隣接予測単位であってもよい。
【0327】
なお、算術復号によるパラメータの復号においては、0または1の発生確率に応じたコンテキストを利用することができる。コンテキストを利用する場合は、0または1の発生確率に偏りが生じれば、符号量を削減できる。
【0328】
ここで、一般的に発生確率の高い予測モードには小さい予測モード番号が対応付けられる。
【0329】
よって、小さい予測モード番号の予測モードを、小さい推定予測モードインデックスの値に割り当てることで、該小さい推定予測モードインデックスの値に対応する推定予測モードの発生確率が、より大きい推定予測モードインデックスの値に対応する推定予測モードの発生確率よりも高くなる。
【0330】
以上より、コンテキストを利用する場合は、小さい予測モード番号の予測モードが、大きい予測モード番号の予測モードよりも、大きい推定予測モードインデックスに割り当てられている場合、小さい予測モード番号の予測モードに対するインデックス割り当てと大きい予測モード番号の予測モードに対するインデックス割り当てとをスワップ(交換)することが好ましい。
【0331】
また、このように、発生確率に偏りが生じる場合、推定予測モードインデックスの算術復号にコンテキストを利用することで符号量を削減することができる。
【0332】
これに対して、コンテキストを利用しない場合は、算術復号において0、1の発生が、等確率、すなわち“発生確率に偏りが生じない”とみなされて復号される。従って、上記スワップを行っても符号量削減に寄与しないばかりか、不用意に処理量の増大を招来してしまう。このため、コンテキストを利用しない場合は、上記スワップを省略することが望ましい。
【0333】
上記構成によれば、上記推定予測モードインデックスに対して算術復号のためのコンテキストが設定されていない場合、上記複数の推定予測モードに対応するモード番号の大小比較に基づく推定予測モードの交換処理を省略する。
【0334】
その結果、推定予測モードを用いる場合における予測モード導出に要する処理量を削減できる。
【0335】
また、一般的に、画像が平坦な領域では参照画像に対して平滑化フィルタを適用することが予測画像の画質を向上させるうえで有効である。また、大きいサイズの予測単位は、定性的には、比較的平坦な領域で選択される。従って、大きいサイズの予測単位においては、よりフィルタの適用対象を増やすことが好ましい。
【0336】
上記構成によれば、対象予測単位のサイズが大きい場合、対象予測単位のサイズが小さい場合に較べて、主方向となす角度がより小さい予測方向に対応付けられている予測モードに対応付けられている予測モード番号に対して参照画素フィルタを適用する。
【0337】
このため、対象予測単位のサイズに応じて、予測方向に基づく平滑化フィルタを適用することができ、これにより予測画像の画質の向上を図ることができる。
なお、上記画像復号装置に対応する構成を備える画像符号化装置も本発明の範疇に入る。上記のように構成された画像符号化装置によれば、本発明に係る画像復号装置と同様の効果を奏することができる。
【0338】
上記の課題を解決するために、本発明に係る符号化データのデータ構造は、予測単位毎に予測モード群から選択した予測モードに従って生成された予測画像を原画像から減算して得られる予測残差を、選択した予測モードを指定する予測モード指定情報を含むサイド情報と共に符号化することによって生成された符号化データのデータ構造であって、上記予測モード指定情報は、主方向および勾配により定まる予測方向に基づくイントラ予測方式に対応付けられた予測モード番号を含み、上記予測モード番号から上記主方向および上記勾配の少なくとも一方に係る所定の特徴量が特定できるような性質を有することを特徴とする。
【0339】
上記構成によれば、復号画像と符号化データを入力として、復号画像に対してポストフィルタを適応的に適用する場合、より具体的には、符号化データに基づいて予測モード番号を復元し、各予測モードの主方向が垂直方向か水平方向かを判定し、判定結果に応じたフィルタを復号画像の各予測モードの対応する領域に対して適用する場合に、予測モードの主方向の判定を、各予測モード番号と主方向を対応付けるテーブルを参照することなく実現できる。したがって、復号時または符号化時において必要なメモリを削減できる。
【0340】
(付記事項)
本発明は以下のように構成してもよい。
【0341】
上記の課題を解決するために、本発明に係る画像復号装置は、予測モードに対応付けられたイントラ予測方式により予測画像を生成することで符号化データから画像を復元する画像復号装置において、方向予測のイントラ予測方式に関して、予測方向に対応する予測モードと、該予測モードを特定するための予測モード番号との対応付けがなされており、 上記予測モード番号が所定の閾値以下か否かを判定し、上記判定された結果に基づいて参照画素を設定する参照画素設定手段を有し、上記設定された参照画素に従って、所定の復元処理を行う復元手段と、を備えることを特徴とする。
【0342】
上記の課題を解決するために、本発明に係る画像復号装置は、予測モードに対応付けられたイントラ予測方式により予測画像を生成することで符号化データから画像を復元する画像復号装置において、方向予測のイントラ予測方式に関して、主方向および勾配により表現される予測方向に対応する予測モードと、該予測モードを一意に特定するための予測モード番号との間の対応付けが、該予測モード番号から上記主方向および上記勾配の少なくとも一方に係る所定の特徴量が特定できるような性質を有しており、上記対応付けに基づいて、符号化データから復号された上記予測モード番号から上記特徴量を特定する特徴量特定手段と、上記特徴量に従って、所定の復元処理を行う復元手段と、を備えることを特徴とする。
【0343】
上記の課題を解決するために、本発明に係る画像復号装置は、予測モードに対応付けられたイントラ予測方式により予測画像を生成することで符号化された画像を復元する画像復号装置において、対象予測単位の予測モードの復元に、推定予測モードを利用するか否かを示す推定予測モードフラグ、および、複数の推定予測モードのいずれかを指定するための推定予測モードインデックスを、符号化データから算術復号によって復号する算術復号手段と、上記対象予測単位の複数の近傍予測単位に割り付けられている復号済みの予測モードから、複数の上記推定予測モードを導出する推定予測モード導出手段と、上記推定予測モードインデックスに対して算術復号のためのコンテキストが設定されていない場合であって、上記推定予測モードフラグが推定予測モードと一致することを示す場合に、上記推定予測モードインデックスが示す推定予測モードを予測モードとして選択し、上記推定予測モードフラグが推定予測モードと一致しないことを示す場合に、上記複数の推定予測モードの交換処理を用いて、予測モードを復元する予測モード復元手段と、を備えることを特徴とする。
【0344】
上記の課題を解決するために、本発明に係る画像復号装置は、予測モードに対応付けられたイントラ予測方式により予測画像を生成することで符号化された画像を復元する画像復号装置において、上記予測モードに対応付けられている予測モード番号と、上記予測画像を生成する単位である予測単位のサイズとに基づいて、上記予測画像の生成に用いる参照画像に対して適用するフィルタを選択するフィルタ選択手段を備え、上記フィルタ選択手段は、対象予測単位のサイズが大きい場合、対象予測単位のサイズが小さい場合に較べて、主方向となす角度がより小さい予測方向に対応付けられている予測モードに対応付けられている予測モード番号に対して参照画素フィルタを適用することを選択することを特徴とする。
【0345】
上記の課題を解決するために、本発明に係る符号化装置では、予測モードに対応付けられたイントラ予測方式により予測画像を生成して、原画像と該予測画像との差をとることで得られる予測残差を符号化する画像符号化装置において、方向予測のイントラ予測方式に関して、予測方向に対応する予測モードと、該予測モードを特定するための予測モード番号との対応付けがなされており、上記予測モード番号が所定の閾値以下か否かを判定し、上記判定された結果に基づいて参照画素を設定する参照画素設定手段を有し、所定の符号化処理を行う符号化手段と、を備えることを特徴とする。
【0346】
上記の課題を解決するために、本発明に係る画像符号化装置は、予測モードに対応付けられたイントラ予測方式により予測画像を生成して、原画像と該予測画像との差をとることで得られる予測残差を符号化する画像符号化装置において、方向予測のイントラ予測方式に関して、主方向および勾配により定まる予測方向に対応する予測モードと、該予測モードを一意に特定するための予測モード番号との間の対応付けが、該予測モード番号から上記主方向および上記勾配の少なくとも一方に係る所定の特徴量が特定できるような性質を有しており、上記対応付けに基づいて、上記予測モードに対応付けられている上記予測モード番号から上記特徴量を特定する特徴量特定手段と、上記特徴量に従って、所定の符号化処理を行う符号化手段と、を備えることを特徴とする。