〔概要〕
本発明の一実施形態について図1〜図32を参照して説明する。まず、図2を参照しながら、動画像復号装置(画像復号装置)1および動画像符号化装置(画像符号化装置)2の概要について説明する。図2は、動画像復号装置1の概略的構成を示す機能ブロック図である。
図2に示す動画像復号装置1および動画像符号化装置2は、H.264/MPEG−4 AVC規格に採用されている技術、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている技術、TMuC(Test Model under Consideration)ソフトウェアに採用されている技術、および、その後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている技術を実装している。
動画像符号化装置2は、これらの動画像符号化方式において、エンコーダからデコーダに伝送されることが規定されているシンタックス(syntax)の値をエントロピー符号化して符号化データ#1を生成する。
エントロピー符号化方式としては、コンテキスト適応型可変長符号化(CAVLC:Context-based Adaptive Variable Length Coding)、および、コンテキスト適応型2値算術符号化(CABAC:Context-based Adaptive Binary Arithmetic Coding)が知られている。
CAVLCおよびCABACによる符号化/復号においては、コンテキストに適応した処理が行われる。コンテキストとは、符号化/復号の状況(文脈)のことであり、関連シンタックスの過去の符号化/復号結果により定まるものである。関連シンタックスとしては、例えば、イントラ予測、インター予測に関する各種シンタックス、輝度(Luma)、色差(Chroma)に関する各種シンタックス、およびCU(Coding Unit 符号化単位)サイズに関する各種シンタックスなどがある。また、CABACでは、シンタックスに対応する2値データ(バイナリ列)における、符号化/復号対象となるバイナリの位置をコンテキストとして用いる場合もある。
CAVLCでは、符号化に用いるVLCテーブルを適応的に変更して、各種シンタックスが符号化される。一方、CABACでは、予測モードおよび変換係数等の多値を取り得るシンタックスに対して2値化処理が施され、この2値化処理によって得られた2値データが発生確率に応じて適応的に算術符号化される。具体的には、バイナリ値(0または1)の発生確率を保持するバッファを複数用意し、コンテキストに応じて一つのバッファを選択し、当該バッファに記録されている発生確率に基づいて算術符号化を行う。また、復号/符号化するバイナリ値に基づいて、当該バッファの発生確率を更新することで、コンテキストに応じて適切な発生確率を維持できる。
動画像復号装置1には、動画像符号化装置2が動画像を符号化した符号化データ#1が入力される。動画像復号装置1は、入力された符号化データ#1を復号して動画像#2を外部に出力する。動画像復号装置1の詳細な説明に先立ち、符号化データ#1の構成を以下に説明する。
〔符号化データの構成〕
図3を用いて、動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1の構成例について説明する。符号化データ#1は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
符号化データ#1におけるピクチャレイヤ以下の階層の構造を図3に示す。図3の(a)〜(d)は、それぞれ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、ツリーブロック(Tree block)TBLKを規定するツリーブロックレイヤ、ツリーブロックTBLKに含まれる符号化単位(Coding Unit;CU)を規定するCUレイヤを示す図である。
(ピクチャレイヤ)
ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、図3の(a)に示すように、ピクチャヘッダPH、及び、スライスS1〜SNSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
なお、以下、スライスS1〜SNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ#1に含まれるデータであって、添え字を付している他のデータについても同様である。
ピクチャヘッダPHには、対象ピクチャの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれている。例えば、予測残差の量子化ステップのピクチャ内における基準値(pic_init_qp_minus26)は、ピクチャヘッダPHに含まれる符号化パラメータの一例である。
なお、ピクチャヘッダPHは、ピクチャー・パラメーター・セット(PPS:Picture Parameter Set)とも称される。
(スライスレイヤ)
スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。スライスSは、図3の(b)に示すように、スライスヘッダSH、及び、ツリーブロックTBLK1〜TBLKNC(NCはスライスSに含まれるツリーブロックの総数)を含んでいる。
スライスヘッダSHには、対象スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
また、スライスヘッダSHには、動画像復号装置1の備えるループフィルタ(不図示)によって参照されるフィルタパラメータが含まれていてもよい。
(ツリーブロックレイヤ)
ツリーブロックレイヤでは、処理対象のツリーブロックTBLK(以下、対象ツリーブロックとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
ツリーブロックTBLKは、ツリーブロックヘッダTBLKHと、符号化単位情報CU1〜CUNL(NLはツリーブロックTBLKに含まれる符号化単位情報の総数)とを含む。ここで、まず、ツリーブロックTBLKと、符号化単位情報CUとの関係について説明すると次のとおりである。
ツリーブロックTBLKは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するためのユニットに分割される。
ツリーブロックTBLKの上記ユニットは、再帰的な4分木分割により分割されている。この再帰的な4分木分割により得られる木構造のことを以下、符号化ツリー(coding tree)と称する。
以下、符号化ツリーの末端のノードであるリーフ(leaf)に対応するユニットを、符号化ノード(coding node)として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位(CU)とも称する。
つまり、符号化単位情報(以下、CU情報と称する)CU1〜CUNLは、ツリーブロックTBLKを再帰的に4分木分割して得られる各符号化ノード(符号化単位)に対応する情報である。
また、符号化ツリーのルート(root)は、ツリーブロックTBLKに対応付けられる。換言すれば、ツリーブロックTBLKは、複数の符号化ノードを再帰的に含む4分木分割の木構造の最上位ノードに対応付けられる。
なお、各符号化ノードのサイズは、当該符号化ノードが直接に属する符号化ノード(すなわち、当該符号化ノードの1階層上位のノードのユニット)のサイズの縦横とも半分である。
また、各符号化ノードの取り得るサイズは、ツリーブロックのサイズと、符号化データ#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画素のいずれかとなる。
(ツリーブロックヘッダ)
ツリーブロックヘッダTBLKHには、対象ツリーブロックの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図3の(c)に示すように、対象ツリーブロックの各CUへの分割パターンを指定するツリーブロック分割情報SP_TBLK、および、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(qp_delta)が含まれる。
ツリーブロック分割情報SP_TBLKは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各CUの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
なお、ツリーブロック分割情報SP_TBLKは、CUの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報SP_TBLKは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。その場合、ツリーブロックの形状やサイズを併用することで各CUの形状やサイズを特定できる。
また、量子化パラメータ差分Δqpは、対象ツリーブロックにおける量子化パラメータqpと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータqp’との差分qp−qp’である。
(CUレイヤ)
CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
ここで、CU情報CUに含まれるデータの具体的な内容の説明をする前に、CUに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー(prediction tree;PT)および変換ツリー(transform tree;TT)のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
予測ツリーにおいては、符号化ノードが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU)とも称する。
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。
イントラ予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)と、N×Nとがある。
また、インター予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)、2N×N、N×2N、および、N×Nなどがある。
また、変換ツリーにおいては、符号化ノードが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
(CU情報のデータ構造)
続いて、図3の(d)を参照しながらCU情報CUに含まれるデータの具体的な内容について説明する。図3の(d)に示すように、CU情報CUは、具体的には、スキップフラグSKIP、PT情報PTI、および、TT情報TTIを含む。
スキップフラグSKIPは、対象のPUについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグSKIPの値が1の場合、すなわち、対象CUにスキップモードが適用されている場合、そのCU情報CUにおけるPT情報PTI、および、TT情報TTIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
PT情報PTIは、CUに含まれるPTに関する情報である。言い換えれば、PT情報PTIは、PTに含まれる1または複数のPUそれぞれに関する情報の集合であり、動画像復号装置1により予測画像を生成する際に参照される。PT情報PTIは、図3の(d)に示すように、予測タイプ情報PType、および、予測情報PInfoを含んでいる。
予測タイプ情報PTypeは、対象PUについての予測画像生成方法として、イントラ予測を用いるのか、または、インター予測を用いるのかを指定する情報である。
予測情報PInfoは、予測タイプ情報PTypeが何れの予測方法を指定するのかに応じて、イントラ予測情報、または、インター予測情報より構成される。以下では、イントラ予測が適用されるPUをイントラPUとも呼称し、インター予測が適用されるPUをインターPUとも呼称する。
また、予測情報PInfoは、対象PUの形状、サイズ、および、位置を指定する情報が含まれる。上述のとおり予測画像の生成は、PUを単位として行われる。予測情報PInfoの詳細については後述する。
TT情報TTIは、CUに含まれるTTに関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数のTUそれぞれに関する情報の集合であり、動画像復号装置1により残差データを復号する際に参照される。なお、以下、TUのことを変換ブロックと称することもある。
TT情報TTIは、図3の(d)に示すように、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TU、および、TU情報TUI1〜TUINT(NTは、対象CUに含まれる変換ブロックの総数)を含んでいる。
TT分割情報SP_TUは、具体的には、対象CUに含まれる各TUの形状、サイズ、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TUは、対象となるノードの分割を行うのか否かを示す情報(split_transform_unit_flag)と、その分割の深度を示す情報(trafoDepth)とから実現することができる。
また、例えば、CUのサイズが、64×64の場合、分割により得られる各TUは、32×32画素から4×4画素までのサイズを取り得る。
また、TU分割情報SP_TUには、各TUに非ゼロの変換係数が存在するか否かの情報が含まれる。例えば、個々のTUに対する非ゼロ係数の存否情報(CBP;Coded Block Flag)や、複数のTUに対する非ゼロ係数の存否情報(no_residual_data_flag)が TU分割情報SP_TUに含まれる。
TU情報TUI1〜TUINTは、TTに含まれる1または複数のTUそれぞれに関する個別の情報である。例えば、TU情報TUIは、量子化予測残差を含んでいる。
各量子化予測残差は、動画像符号化装置2が以下の処理1〜3を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
処理1:符号化対象画像から予測画像を減算した予測残差をDCT変換(Discrete Cosine Transform)する;
処理2:処理1にて得られた変換係数を量子化する;
処理3:処理2にて量子化された変換係数を可変長符号化する;
なお、上述した量子化パラメータqpは、動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2qp/6)。
(予測情報PInfo)
上述のとおり、予測情報PInfoには、インター予測情報およびイントラ予測情報の2種類がある。
インター予測情報には、動画像復号装置1が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、インター予測情報には、対象CUの各インターPUへの分割パターンを指定するインターPU分割情報、および、各インターPUについてのインター予測パラメータが含まれる。
インター予測パラメータには、参照画像インデックスと、推定動きベクトルインデックスと、動きベクトル残差とが含まれる。
一方、イントラ予測情報には、動画像復号装置1が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、イントラ予測情報には、対象CUの各イントラPUへの分割パターンを指定するイントラPU分割情報、および、各イントラPUについてのイントラ予測パラメータが含まれる。イントラ予測パラメータは、各イントラPUについてのイントラ予測(予測モード)を復元するためのパラメータである。
予測モードを復元するためのパラメータには、MPM(Most Probable Mode、以下同様)に関するフラグであるmpm_flag、MPMを選択するためのインデックスであるmpm_idx、および、MPM以外の予測モードを指定するためのインデックスであるrem_idxが含まれる。ここで、MPMとは、対象パーティションで選択される可能性が高い推定予測モードである。例えば、対象パーティションの周辺のパーティションに割り付けられた予測モードに基づいて推定された推定予測モードや、一般的に発生確率の高いDCモードやPlanarモードがMPMに含まれ得る。
また、以下において、単に“予測モード”と表記する場合、輝度予測モードのことを指す。色差予測モードについては、“色差予測モード”と表記し、輝度予測モードと区別する。また、予測モードを復元するパラメータには、色差予測モードを指定するためのパラメータであるchroma_modeが含まれる。
なお、mpm_flag、mpm_idx、rem_idx、およびchroma_modeのパラメータの詳細については、後述する。
また、mpm_flagおよびrem_indexは、それぞれ、非特許文献1における“prev_intra_luma_pred_flag”および“rem_intra_luma_pred_mode”に対応している。また、chroma_modeは、“intra_chroma_pred_mode”に対応している。
〔動画像復号装置〕
以下では、本実施形態に係る動画像復号装置1の構成について、図1〜図20を参照して説明する。
(動画像復号装置の概要)
動画像復号装置1は、PU毎に予測画像を生成し、生成された予測画像と、符号化データ#1から復号された予測残差とを加算することによって復号画像#2を生成し、生成された復号画像#2を外部に出力する。
ここで、予測画像の生成は、符号化データ#1を復号することによって得られる符号化パラメータを参照して行われる。符号化パラメータとは、予測画像を生成するために参照されるパラメータのことである。符号化パラメータには、画面間予測において参照される動きベクトルや画面内予測において参照される予測モードなどの予測パラメータに加えて、PUのサイズや形状、ブロックのサイズや形状、および、原画像と予測画像との残差データなどが含まれる。以下では、符号化パラメータに含まれる情報のうち、上記残差データを除く全ての情報の集合を、サイド情報と呼ぶ。
また、以下では、復号の対象となるピクチャ(フレーム)、スライス、ツリーブロック、CU、ブロック、および、PUをそれぞれ、対象ピクチャ、対象スライス、対象ツリーブロック、対象CU、対象ブロック、および、対象PUと呼ぶことにする。
なお、ツリーブロックのサイズは、例えば64×64画素であり、CUのサイズは、例えば、64×64画素、32×32画素、16×16画素、8×8画素であり、PUのサイズは、例えば、64×64画素、32×32画素、16×16画素、8×8画素や4×4画素などである。しかしながら、これらのサイズは、単なる例示であり、ツリーブロック、CU、および、PUのサイズは以上に示したサイズ以外のサイズであってもよい。特に、色フォーマットが4:2:2形式である場合には、32×64画素、16×32画素、8×16画素、4×8画素などのサイズのPUを利用することが好ましい。これは、色フォーマットが4:2:2形式の画像では色差画素のアスペクト比が、縦:横=1:2と横長であることから、色差領域においては、垂直方向の画素数が水平方向の画素数の2倍である領域が視覚的には正方形となるためである。
(動画像復号装置の構成)
再び、図2を参照して、動画像復号装置1の概略的構成について説明すると次のとおりである。図2は、動画像復号装置1の概略的構成について示した機能ブロック図である。
図2に示すように動画像復号装置1は、可変長復号部11、逆量子化・逆変換部13、予測画像生成部14、加算器15およびフレームメモリ16を備えている。
[可変長復号部]
可変長復号部11は、動画像復号装置1から入力された符号化データ#1に含まれる各種のパラメータを復号する。以下の説明では、可変長復号部11が、CABACおよびCAVLC等のエントロピー符号化方式により符号化されているパラメータの復号を適宜行うものとする。可変長復号部11は、具体的には、以下の手順により、1フレーム分の符号化データ#1を復号する。
まず、可変長復号部11は、1フレーム分の符号化データ#1を、逆多重化することで、図3に示した階層構造に含まれる各種情報に分離する。例えば、可変長復号部11は、各種ヘッダに含まれる情報を参照して、符号化データ#1を、スライス、ツリーブロックに順次分離する。
ここで、各種ヘッダには、(1)対象ピクチャのスライスへの分割方法についての情報、および(2)対象スライスに属するツリーブロックのサイズ、形状および対象スライス内での位置についての情報が含まれる。
そして、可変長復号部11は、ツリーブロックヘッダTBLKHに含まれるツリーブロック分割情報SP_TBLKを参照して、対象ツリーブロックを、CUに分割する。また、可変長復号部11は、対象CUについて得られる変換ツリーに関するTT情報TTI、および、対象CUについて得られる予測ツリーに関するPT情報PTIを復号する。
なお、TT情報TTIには、上述のとおり、変換ツリーに含まれるTUに対応するTU情報TUIが含まれる。また、PT情報PTIには、上述のとおり、対象予測ツリーに含まれるPUに対応するPU情報PUIが含まれる。
可変長復号部11は、対象CUについて得られたTT情報TTIをTU情報復号部12に供給する。また、可変長復号部11は、対象CUについて得られたPT情報PTIを予測画像生成部14に供給する。なお、可変長復号部11の構成については、後ほど、より詳しく説明する。
[逆量子化・逆変換部]
逆量子化・逆変換部13は、対象CUに含まれる各ブロックについて、TT情報TTIに基づいて逆量子化・逆変換処理を実行する。具体的には、逆量子化・逆変換部13は、各対象TUについて、対象TUに対応するTU情報TUIに含まれる量子化予測残差を逆量子化および逆直交変換することによって、画素毎の予測残差Dを復元する。なお、ここで直交変換とは、画素領域から周波数領域への直交変換のことを指す。したがって、逆直交変換は、周波数領域から画素領域への変換である。また、逆直交変換の例としては、逆DCT変換(Inverse Discrete Cosine Transform)、および逆DST変換(Inverse Discrete Sine Transform)等が挙げられる。逆量子化・逆変換部13は、復元した予測残差Dを加算器15に供給する。
[予測画像生成部]
予測画像生成部14は、対象CUに含まれる各PUについて、PT情報PTIに基づいて予測画像を生成する。具体的には、予測画像生成部14は、各対象PUについて、対象PUに対応するPU情報PUIに含まれるパラメータに従ってイントラ予測またはインター予測を行うことにより、復号済み画像である局所復号画像P’から予測画像Predを生成する。予測画像生成部14は、生成した予測画像Predを加算器15に供給する。なお、予測画像生成部14の構成については、後ほど、より詳しく説明する。
[加算器]
加算器15は、予測画像生成部14より供給される予測画像Predと、逆量子化・逆変換部13より供給される予測残差Dとを加算することによって、対象CUについての復号画像Pを生成する。
[フレームメモリ]
フレームメモリ16には、復号された復号画像Pが順次記録される。フレームメモリ16には、対象ツリーブロックを復号する時点において、当該対象ツリーブロックよりも先に復号された全てのツリーブロック(例えば、ラスタスキャン順で先行する全てのツリーブロック)に対応する復号画像が記録されている。
また、対象CUを復号する時点において、当該対象CUよりも先に復号された全てのCUに対応する復号画像が記録されている。
なお、動画像復号装置1において、画像内の全てのツリーブロックに対して、ツリーブロック単位の復号画像生成処理が終わった時点で、動画像復号装置1に入力された1フレーム分の符号化データ#1に対応する復号画像#2が外部に出力される。
(予測モードの定義)
前述の通り、予測画像生成部14は、PT情報PTIに基づいて予測画像を生成して出力する。対象CUがイントラCUの場合、予測画像生成部14に入力されるPU情報PTIは、予測モード(IntraPredMode)と、色差予測モード(IntraPredModeC)を含む。以下、予測モード(輝度・色差)の定義について、図4〜6を参照して説明する。
(概要)
図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周辺の隣接画素値を特定の方向に外挿することで予測画像を生成する予測方式である。
次に、図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個の主方向が水平予測の予測モードが定義されている。
動画像復号装置1で適用されるイントラ予測方式と予測モード番号との対応は、例えば、図6に示すように定義されていてもよい。図6は、イントラ予測方式と予測モード番号との対応の定義である予測モード定義DEFPM1の一例を示す図である。図6に示す予測モード定義DEFPM1では、Planar予測に‘0’、垂直予測に‘1’、水平予測に‘2’、DC予測に‘3’の予測モード番号が割り当てられている。予測モード番号‘4’〜‘18’までは、主方向からの変位が偶数であるAngular予測モードが、変位が小さい予測モードの順であって、変位が等しい場合は主方向が垂直、水平となる順に、予測モード番号に割り当てられている。予測モード番号‘19’〜‘35’までは、主方向からの変位が奇数であるAngular予測モードが、変位が小さい予測モードの順であって、変位が等しい場合は主方向が垂直、水平となる順に、予測モード番号に割り当てられている。
(予測画像生成部の詳細)
次に、図7を用いて予測画像生成部14の構成についてさらに詳しく説明する。図7は予測画像生成部14の構成例について示す機能ブロック図である。なお、本構成例は、予測画像生成部14の機能のうち、イントラCUの予測画像生成に係る機能ブロックを図示している。
図7に示すように、予測画像生成部14は、予測単位設定部141、参照画素設定部142、スイッチ143、参照画素フィルタ部144、輝度予測部145、および色差予測部146を備える。
予測単位設定部141は、対象CUに含まれるPUを規定の設定順序で対象PUに設定し、対象PUに関する情報(対象PU情報)を出力する。対象PU情報には、対象PUのサイズ、対象PUのCU内の位置、対象PUの輝度または色差プレーンを示すインデックス(輝度色差インデックスcIdx)が少なくとも含まれる。
PUの設定順序は、例えば、入力画像がYUVフォーマットである場合、対象CUに含まれるYに対応するPUをラスタスキャン順に設定し、続いて、U、Vの順に対応するPUをそれぞれラスタスキャン順に設定する順序を利用する。
入力画像が4:2:0のYUVフォーマットである場合のPUの設定順序およびCU内に含まれるPUを図示した図8を用いて説明する。
図8の(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)が設定される。
図8の(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)が設定される。
次に、入力画像が4:2:2のYUVフォーマットである場合のPUの設定順序およびCU内に含まれるPUを図示した図9を用いて説明する。
図9の(A)は、対象CUのサイズが8×8画素であり、かつ、分割タイプがN×Nである場合のCU内のPUを図示している。まず、輝度Yに対応する4個の4×4画素のPUがラスタスキャン順(PU_Y0、PU_Y1、PU_Y2、PU_Y3の順)に設定される。次に、色差Uに対応する1個の4×8画素のPU(PU_U0)が設定される。最後に、色差Vに対応する1個の4×8画素の予測単位(PU_V0)が設定される。
図9の(B)は、対象CUのサイズが16×16画素であり、かつ、分割タイプが2N×2Nである場合のCU内のPUを図示している。まず、輝度Yに対応する1個の16×16画素の予測単位(PU_Y0)が設定される。次に、色差Uに対応する1個の8×16画素の予測単位(PU_U0)が設定される。最後に、色差Vに対応する1個の8×16画素の予測単位(PU_V0)が設定される。
また、図10は、別のPU設定を示している。図10の(A)は、対象CUのサイズが8×8画素であり、かつ、分割タイプがN×Nである場合のCU内のPUの別の例を図示している。まず、輝度Yに対応する4個の4×4画素のPUがラスタスキャン順(PU_Y0、PU_Y1、PU_Y2、PU_Y3の順)に設定される。次に、色差Uに対応する2個の4×4画素のPU(PU_U0、PU_U1)が設定される。最後に、色差Vに対応する2個の4×4画素のPU(PU_V0、PU_V1)が設定される。
図10の(B)は分割タイプが2N×2Nの場合であり、図9の(B)と同じPU設定を示している。
以下の説明では、図9に図示した分割を用いるものとするが、図10に図示した分割を用いた場合にも、色差の各PUにおいて同様の処理を適用可能である。
参照画素設定部142は、入力される対象PU情報に基づいて、フレームメモリに記録されている対象PU周辺の復号画像の画素値(複号画素値)を読出し、予測画像生成時に参照される参照画素を設定する。参照画素値p(x,y)は復号画素値r(x,y)を利用して次式により設定される。
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の左辺に隣接する復号画素のコラムに含まれる復号画素値を対応する参照画素値にコピーしている。なお、特定の参照画素位置に対応する復号画素値が存在しない、または、参照できない場合には、既定の値を利用してもよいし、対応する復号画素値の近傍に存在する参照可能な復号画素値を利用してもよい。
スイッチ143は、入力される対象PU情報に基づいて、対象PUが輝度か色差かを判定し、対応する出力方向に対して入力される参照画素を出力する。
参照画素フィルタ部144は、入力される予測モードに応じて、入力される参照画素値にフィルタを適用して、フィルタ適用後の参照画素値を出力する。具体的には、参照画素フィルタ部144は、フィルタの適用有無を、対象PUサイズと予測モードとに応じて決定する。
輝度予測部145は、入力される予測モードと参照画素に基づいて対象PUの輝度予測画像を生成して出力する。輝度予測部145の詳細な説明は後述する。
色差予測部146は、入力される予測モードと参照画素に基づいて対象PUの色差予測画像を生成して出力する。色差予測部146の詳細な説明は後述する。
(予測画像生成処理の流れ)
次に、予測画像生成部14におけるCU単位の予測画像生成処理の概略を図11のフローチャートを用いて説明する。CU単位の予測画像生成処理が始まると、まず、予測単位設定部141がCU内に含まれるPUの一つを既定の順序に従って対象PUに設定して対象PU情報を参照画素設定部142およびスイッチ143に出力する(S11)。次に、参照画素設定部142は対象PUの参照画素を、外部のフレームメモリから読み出した復号画素値を用いて設定する(S12)。次に、スイッチ143が、入力された対象PU情報に基づいて対象PUが輝度か色差かを判定し、当該判定結果に応じて出力を切り替える(S13)。
対象PUが輝度である場合(S13でYES)、スイッチ143の出力は参照画素フィルタ部144に接続される。続いて、参照画素フィルタ部144に対し参照画素が入力され、別途入力された予測モードに応じて参照画素フィルタが適用され、フィルタ適用後の参照画素が輝度予測部145に出力される(S14)。次に、輝度予測部145は、入力される参照画素と予測モードに基づいて対象PUにおける輝度予測画像を生成して出力する(S15)。
一方、対象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の予測画像として出力し、処理を終了する。
(輝度予測部の詳細)
続いて図12を用いて、輝度予測部145の詳細について説明する。図12に輝度予測部145の詳細構成を示す。図12に示すように、輝度予測部145は、予測方式選択部1451および予測画像導出部1452を備える。
予測方式選択部1451は、入力される予測モードに基づいて予測画像生成に用いる予測方式を選択して選択結果を出力する。予測方式の選択は、前述の図4の定義に基づいて、入力される予測モードの予測モード番号に対応する予測方式を選択することで実現される。
予測画像導出部1452は、予測方式選択部1451が出力した予測方式の選択結果に応じた予測画像を導出する。予測画像導出部1452は、より具体的には、DC予測部1452D、Planar予測部1452P、水平予測部1452H、垂直予測部1452V、Angular予測部1452A、および、予測方向導出部1453を備える。また、予測画像導出部1452は、予測方式が、Planer、垂直予測、水平予測、DC予測、およびAngularの場合、それぞれ、 Planar予測部1452P、垂直予測部1452V、水平予測部1452H、およびAngular予測部1452Aにより予測画像を導出する。
DC予測部1452Dは、入力される参照画素の画素値の平均値に相当するDC予測値を導出し、導出されたDC予測値を画素値とする予測画像を出力する。
Planar予測部1452Pは、予測対象画素との距離に応じて複数の参照画素を線形加算することで導出した画素値により予測画像を生成して出力する。例えば、予測画像の画素値predSamples[x,y]は、参照画素値p[x,y]と対象PUのサイズnSを用いて以下の式により導出できる。
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 )と定義される。
水平予測部1452Hは、対象PUの左辺隣接画素を水平方向に外挿して得られる予測画像を入力される参照画素に基づいて生成し、結果を予測画像として出力する。
垂直予測部1452Vは、対象PUの上辺隣接画素を鉛直方向に外挿して得られる予測画像を入力される参照画素に基づいて生成し、結果を予測画像として出力する。
予測方向導出部1453は、入力される予測モードが方向予測モードである場合、当該予測モードに関連付けられる予測方向(参照方向)を決定して出力する。出力される予測方向は、主方向が垂直方向か否かを表す主方向フラグbRefVer、および、予測方向の主方向に対する勾配(オフセット)intraPredAngleの組み合わせで表現される。主方向フラグbRefVerの値が0である場合、主方向が水平方向であることを示し、値が1の場合、主方向が垂直方向であることを示す。
図1を用いて、予測方向導出部1453の具体的構成について説明すると次のとおりである。図1は、予測方向導出部1453の一構成例を示す機能ブロック図である。図1に示すように、予測方向導出部1453は、より具体的には、主方向導出部1453Aおよび勾配導出部1453Bを備える。
主方向導出部1453Aは、主方向フラグbRefVerを導出する。また、主方向導出部1453Aは、図6の予測モード定義DEFPM1を参照することができる。主方向フラグbRefVerは、予測モード番号mに対応づけられる主方向に基づいて導出される。
勾配導出部1453Bは、勾配intraPredAngleを導出する。また、勾配導出部1453Bは、図13に示す勾配定義テーブルDEFANG1を参照することができる。図13に示す勾配定義テーブルDEFANG1は、予測モード識別子と勾配intraPredAngleとの値の対応関係を示すテーブルである。勾配導出部1453Bは、勾配定義テーブルDEFANG1に基づいて、勾配intraPredAngleを導出してもよい。勾配intraPredAngleの値は、予測方向の勾配を表す値である。より正確には、主方向が垂直方向である場合、(intraPredAngle,−32)で表現されるベクトルの方向が予測方向となる。主方向が水平方向である場合、(−32,intraPredAngle)で表現されるベクトルの方向が予測方向となる。図13に示す勾配定義テーブルDEFANG1よると、主方向に対する変位の絶対値0〜8に対応する勾配intraPredAngleの絶対値は、輝度領域の場合には順に0、2、5、9、13、17、21、26、32となる。主方向に対する変位の符号と勾配intraPredAngleの符号は等しい。例えば、識別子HOR−1に対応する勾配intraPredAngleの値は輝度領域の場合には−2となる。
また、勾配導出部1453Bは、予測画像生成対象が色差画素の場合には、図16に示す色差勾配定義テーブルDEFANG1Cも参照することができる。予測画像生成対象が色差画素の場合における勾配導出部1453Bの処理については後述する。
Angular予測部1452Aは、入力される予測方向(参照方向)の参照画素を用いて対象PU内に対応する予測画像を生成して出力する。Angular予測による予測画像の生成処理では、主方向フラグbRefVerの値に応じて主参照画素を設定し、予測画像をPU内のラインまたはコラムの単位で主参照画素を参照して生成する。主方向フラグbRefVerの値が1(主方向が垂直方向)の場合、予測画像の生成単位をラインに設定するとともに対象PUの上方の参照画素を主参照画素に設定する。具体的には次式により参照画素p[x,y]の値を用いて主参照画素refMain[x]が設定される。
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は予測方向の変位intraPredAngleの逆数をスケール(8192を乗算)した値に相当する。上記の式により、xが0以上の範囲では、refMain[x]の値は対象PUの上辺に隣接する画素の復号画素値が設定される。また、xが0未満の範囲では、refMain[x]の値として、対象PUの左辺に隣接する画素の復号画素値が、予測方向に基づき導出される位置に設定される。予測画像predSamples[x,y]は次式により計算される。
predSamples[x,y] =
((32-iFact)*refMain[x+iIdx+1] + iFact*refMain[x+iIdx+2] + 16) >> 5
ここで、iIdxとiFactは、予測対象ラインと主参照画素の距離(y+1)と勾配intraPredAngleに応じて計算される予測対象画素の生成に用いる主参照画素の位置を表す。iIdxは画素単位における整数精度の位置、iFactは画素単位における小数精度の位置に相当し、以下の式で導出される。
iIdx = ( ( y + 1 )*intraPredAngle ) >> 5
iFact = ( ( y + 1 )*intraPredAngle ) && 31
主方向フラグbRefVerの値が0(主方向が水平方向)の場合、予測画像の生成単位をコラムに設定するとともに対象PUの左側の参照画素を主参照画素に設定する。具体的には次式により参照画素p[x,y]の値を用いて主参照画素refMain[x]が設定される。
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]は次式により計算される。
predSamples[x,y] =
((32-iFact)*refMain[y+iIdx+1] + iFact*refMain[y+iIdx+2] + 16) >> 5
ここで、iIdxとiFactは、予測対象コラムと主参照画素の距離(x+1)と勾配intraPredAngleに応じて計算される予測参照画素の生成に用いる主参照画素の位置を表す。iIdxは画素単位における整数精度の位置、iFactは画素単位における少数精度の位置に相当し、以下の式で導出される。
iIdx = ( ( x + 1 )*intraPredAngle ) >> 5
iFact = ( ( x + 1 )*intraPredAngle ) & 31
ここで、‘&’は論理積のビット演算を表す演算子であり、“A&31”の結果は、整数Aを32で除算した余りを意味する。
(Angular予測処理の流れ)
次に、予測モードがAngular予測である場合の輝度予測部145における予測画像生成処理について、図14のフローチャートを用いて説明する。図14は、輝度予測部における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の予測画像を出力して処理を終了する。
(色差予測部の詳細)
続いて、図15を用いて、色差予測部146の詳細について説明する。図15に色差予測部146の詳細構成を示す。色差予測部146は、予測方式選択部1451、予測画像導出部1452、および、予測方向導出部1453を備える。予測画像導出部1452は、DC予測部1452D、Planar予測部1452P、水平予測部1452H、垂直予測部1452V、Angular予測部1452A、およびLM予測部1452Lを備える。なお、LM予測部1452L以外の構成要素は、輝度予測部145に含まれる対応する構成要素と同じ機能を有するため、同じ符号を付与して説明を省略する。ただし、予測方向導出部1453に含まれる、勾配導出部1453Bについては、色差画像に対して輝度画像と異なる動作をするため、ここで説明する。
勾配導出部1453Bは、予測画像生成対象が色差画素である場合、勾配定義テーブルとして、図16に示す色差勾配定義テーブルDEFANG1Cを用いる。図16に示す勾配定義テーブルDEFANG1Cよると、主方向に対する変位の絶対値0〜8に対応する勾配intraPredAngleの絶対値は、主方向が垂直方向の場合には順に0、1、2、4、6、8、10、13、16となり、主方向が水平方向の場合には順に0、4、10、18、26、34、42、52、64となる。図16に示す色差勾配定義テーブルDEFANG1Cでは、主方向が垂直方向の場合には、図13に示す勾配定義テーブルDEFANG1において同一のIntraPredModeに対応づけられたintraPredAngleの値の半分の値(整数未満切り捨て)であり、主方向が水平方向の場合には、図13に示す勾配定義テーブルDEFANG1において同一のIntraPredModeに対応づけられたintraPredAngleの値の2倍である。
なお、勾配導出部1453Bは、図13に示す色差勾配定義テーブルDEFANG1のみを参照し、予測画像生成対象が色差画素である場合には、主方向が垂直方向であれば図15に示す勾配定義テーブルDEFANG1を参照して得た値を2で割った値、主方向が水平方向であれば図13に示す勾配定義テーブルDEFANG1を参照して得た値を2倍した値をintraPredAngleとして用いれば、同一の処理が実現できる。このとき図16に示す色差勾配定義テーブルDEFANG1Cの定義および選択的な参照は不要であり、メモリを節約することができる。
また、上記の輝度と色差の間の勾配intraPredAngleの値の関係は、4:2:2フォーマットの画像において、輝度空間でのベクトル(vxL,vyL)と色差空間でのベクトル(vxC,vyC)の間に、vxL=2vxC、vyL=vyCの関係があることに基づく。色差空間におけるベクトル(vxC,vyC)の水平方向の勾配は(vyC/vxC)=2(vyL/vxL)であり、輝度空間におけるベクトルの水平方向の勾配の2倍となる。一方、色差空間におけるベクトル(vxC,vyC)の垂直方向の勾配は(vxC/vyC)=0.5(vxL/vyL)であり、輝度空間におけるベクトルの垂直方向の勾配の半分となる。一般に、入力画像において、輝度空間でのベクトル(vxL,vyL)と色差空間でのベクトル(vxC,vyC)の間に、vxL=α・vxC、vyL=β・vyCの関係がある場合には、色差に適用する勾配intraPredAngleの値は、輝度に適用する勾配intraPredAngleの値に対して、主方向が水平方向の場合は(α/β)倍、主方向が垂直方向の場合は(β/α)倍にすることが好ましい。
LM予測部1452Lは、対象PU内における輝度画素値と色差画素値の相関に係るパラメータを対象PU周辺の輝度復号画素値と、参照画素値(色差復号画素値)の相関に基づいて推定する。相関パラメータは相関係数aとオフセットbを含む。予測対象PU、すなわち色差の予測画像predSamuplesC[xC,yC]は、対象PUに対応する輝度復号画像の画素値recY[xL,yL]と相関パラメータを用いて次式により計算される。
predSamplesC[xC,yC] = a * recY[xL,yL] + b
ここで、xC,yCは色差画素単位の座標値であり、xL,yLは、それぞれxC,yCと対応する位置を示す輝度画素単位の座標値である。4:2:2のYUVフォーマットである場合、例えば xL = 2 * xC および yL = yC と対応づける。
以上で予測画像生成部14における対象CUの予測画像生成処理の説明を終える。
(可変長復号部の詳細)
次に、図17を用いて可変長復号部11の構成についてさらに詳しく説明する。図17は、可変長復号部11の構成例について示す機能ブロック図である。なお、図17では、可変長復号部11の構成のうち、予測モードを復号する構成について詳細に示している。
図17に示すように、可変長復号部11は、予測セット決定部111、MPM導出部112、MPM判定部113、予測モード復元部114、色差予測モード復元部116、およびコンテキスト記憶部117を備える。
予測セット決定部111は、予測処理に用いる予測モードの集合である予測セットを決定する。予測セット決定部111は、一例として、対象ブロックのサイズに応じて予測処理に用いる予測モードの数を算出し、予測モードの定義から、算出した数だけ予測モードを選択することで予測セットを決定する。言い換えれば、予測セットは、対象ブロックのサイズごと、あるいは対象PUにおいて利用可能な予測モードの数ごとに定義されている。
MPM導出部112は、対象パーティションの周辺のパーティションに割り付けられた予測モードに基づいてMPMを導出する。
MPM導出部112は、例示的に、2つのMPMを導出する。MPM導出部112は、第1のMPM候補(以下、MPM0と表記する)および第2のMPM候補(以下、MPM1と表記する)を、それぞれ以下のとおり導出する。
まず、図18に示すように、pmAに対象PU:RTの左に隣接する左隣接PU:NAの予測モード、pmBに対象PU:RTの上に隣接する上隣接PU:NBの予測モードを設定する。左隣接PUまたは上隣接PUの予測モードが利用不可の場合、既定の予測モード、例えば“Intra_Planar”を設定する。隣接PUが利用不可の場合には、隣接PUの予測モードが未復号の場合、隣接PUが上隣接PUであって異なるLCU(ツリーブロック)に属する場合が含まれる。
そして、MPM導出部112は、MPM0を、次の式(1)に従って導出する。
MPM0 = pmA … (1)
次に、MPM導出部112は、MPM1を、pmAとpmBが一致するか否かに応じて導出する。pmAとpmBが一致しない場合、MPM1を次の式(2)に従って導出する。
MPM1 = pmB … (2)
一方、pmAと、pmBとが一致する場合、MPM導出部112は、pmAが“Intra_DC”ならば、“Intra_Planar”をMPM1に設定し、pmAが“Intra_DC”以外であれば、“Intra_DC”をMPM1に設定する。
MPM判定部113は、符号化データに含まれるmpm_flagに基づいて、対象PUの予測モードが、推定予測モードMPMと一致しているか否かを判定する。mpm_flagは、対象PUの予測モードが推定予測モードMPMと一致している場合、“1”であり、対象PUの予測モードが推定予測モードMPMと一致していない場合、“0”である。MPM判定部113は、判定結果を、予測モード復元部114に通知する。
なお、MPM判定部113は、コンテキスト記憶部117に記憶されているコンテキストに応じて、符号化データからmpm_flagを復号する。
予測モード復元部114は、対象PUについての予測モードを復元する。予測モード復元部114は、MPM判定部113から通知される判定結果に応じて、予測モードを復元する。
対象PUの予測モードが推定予測モードMPMと一致している場合、予測モード復元部114は、符号化データからmpm_idxを復号し、その値に基づいて予測モードを復元する。mpm_idxは、対象PUの予測モードが、MPM0と一致する場合、“0”であり、対象PUの予測モードが、MPM1と一致する場合、“1”である。
対象PUの予測モードが推定予測モードMPMと一致していない場合、予測モード復元部114は、符号化データに含まれるrem_idxに基づいて予測モードを復元する。具体的には、まず、MPM0とMPM1のうち、小さい予測モード番号がMPM0に割り当てられるようMPM0とMPM1の値を条件付きでスワップする。次に、rem_idxの値がMPM0の値以上の場合、rem_idxの値を1加算する。次に、rem_idxの値がMPM1の値以上の場合、rem_idxの値を1加算する。最後に、rem_idxの値の予測モード番号に対応する予測モードを復元する。
色差予測モード復元部116は、対象PUについての色差予測モードを復元する。より詳細には、色差予測モード復元部116は、以下のようにして色差予測モードを復元する。
まず、色差予測モード復元部116は、符号化データ#1に含まれるイントラ色差予測モード指定情報chroma_mode(intra_chroma_pred_mode)を復号する。そして、色差予測モード復元部116は、復元したイントラ色差予測モード指定情報chroma_modeと、輝度の予測モード(IntraPredMode[xB][yB])とに基づいて、色差予測モードを復元する。これについて、以下で詳細に説明する。
図19は、イントラ色差予測モード指定情報chroma_modeおよび輝度の予測モード(IntraPredMode[xB][yB])と、色差予測モード(IntraPredModeC)の対応付けを定義したテーブルである。テーブル中、“LM”は既に説明したLMモードを用いることを示している。また、“X”は、輝度の予測モード(IntraPredMode[xB][yB])の値をそのまま用いることを示している。ここでは、“X”に該当する予測モードをDMモードと呼ぶ。
[概略的な流れ]
まず、図20に示すフローチャートを用いて、動画像復号装置1における予測モード復元処理の概略的な流れの一例について説明する。
動画像復号装置1において予測モード復元処理が開始されると、MPM導出部112が、MPM0を導出する(S21)。続いてMPM導出部112が、MPM1を導出する(S22)。
次に、MPM判定部113が、mpm_flagに基づいて、対象PUの予測モードが推定予測モードMPMと一致しているか否かを判定する(S23)。
対象PUの予測モードが推定予測モードMPM、すなわちMPM0またはMPM1と一致している場合(S23においてYES)、予測モード復元部114が、mpm_idxに基づいて予測モードを復元する。予測モード復元部114は、mpm_idxが“0”であれば、MPM0を、対象PUの予測モードpmTとする一方で、mpm_idxが“1”であれば、MPM1を、対象PUの予測モードpmTとする(S24)。
一方、対象PUの予測モードが推定予測モードMPMと一致していない場合(S23においてNO)、予測モード復元部114は、MPM0とMPM1を比較し、MPM1の予測モード番号がMPM0の予測モード番号より小さければ、MPM0とMPM1をスワップする(S25)。続いて、予測モード復元部114は、rem_modeの配列を生成する(S26)。最後に、予測モード復元部114は、rem_modeの配列のうちrem_idx番目の要素を予測モードとして選択する(S27)。
〔動画像符号化装置〕
以下において、本実施形態に係る動画像符号化装置2について、図21〜図23を参照して説明する。
(動画像符号化装置の概要)
動画像符号化装置2は、概略的に言えば、入力画像#10を符号化することによって符号化データ#1を生成し、出力する装置である。
(動画像符号化装置の構成)
まず、図21を用いて、動画像符号化装置2の構成例について説明する。図21は、動画像符号化装置2の構成について示す機能ブロック図である。図21に示すように、動画像符号化装置2は、符号化設定部21、逆量子化・逆変換部22、予測画像生成部23、加算器24、フレームメモリ25、減算器26、変換・量子化部27、および符号化データ生成部29を備えている。
符号化設定部21は、入力画像#10に基づいて、符号化に関する画像データおよび各種の設定情報を生成する。
具体的には、符号化設定部21は、次の画像データおよび設定情報を生成する。
まず、符号化設定部21は、入力画像#10を、スライス単位、ツリーブロック単位、CU単位に順次分割することにより、対象CUについてのCU画像#100を生成する。
また、符号化設定部21は、分割処理の結果に基づいて、ヘッダ情報H’を生成する。ヘッダ情報H’は、(1)対象スライスに属するツリーブロックのサイズ、形状および対象スライス内での位置についての情報、並びに、(2)各ツリーブロックに属するCUのサイズ、形状および対象ツリーブロック内での位置についてのCU情報CU’を含んでいる。
さらに、符号化設定部21は、CU画像#100、および、CU情報CU’を参照して、PT設定情報PTI’を生成する。PT設定情報PTI’には、(1)対象CUの各PUへの可能な分割パターン、および、(2)各PUに割り付ける可能な予測モード、の全ての組み合わせに関する情報が含まれる。
符号化設定部21は、CU画像#100を減算器26に供給する。また、符号化設定部21は、ヘッダ情報H’を符号化データ生成部29に供給する。また、符号化設定部21は、PT設定情報PTI’を予測画像生成部23に供給する。
逆量子化・逆変換部22は、変換・量子化部27より供給される、ブロック毎の量子化予測残差を、逆量子化、および、逆直交変換することによって、ブロック毎の予測残差を復元する。逆直交変換については、図1に示す逆量子化・逆変換部13について、既に説明したとおりであるので、ここではその説明を省略する。
また、逆量子化・逆変換部22は、ブロック毎の予測残差を、TT分割情報(後述)により指定される分割パターンに従って統合し、対象CUについての予測残差Dを生成する。逆量子化・逆変換部22は、生成した対象CUについての予測残差Dを、加算器24に供給する。
予測画像生成部23は、フレームメモリ25に記録されている局所復号画像P’、および、PT設定情報PTI’を参照して、対象CUについての予測画像Predを生成する。予測画像生成部23は、予測画像生成処理により得られた予測パラメータを、PT設定情報PTI’に設定し、設定後のPT設定情報PTI’を符号化データ生成部29に転送する。なお、予測画像生成部23による予測画像生成処理は、動画像復号装置1の備える予測画像生成部14と同様であるので、ここでは説明を省略する。
加算器24は、予測画像生成部23より供給される予測画像Predと、逆量子化・逆変換部22より供給される予測残差Dとを加算することによって、対象CUについての復号画像Pを生成する。
フレームメモリ25には、復号された復号画像Pが順次記録される。フレームメモリ25には、対象ツリーブロックを復号する時点において、当該対象ツリーブロックよりも先に復号された全てのツリーブロック(例えば、ラスタスキャン順で先行する全てのツリーブロック)に対応する復号画像が記録されている。
減算器26は、CU画像#100から予測画像Predを減算することによって、対象CUについての予測残差Dを生成する。減算器26は、生成した予測残差Dを、変換・量子化部27に供給する。
変換・量子化部27は、予測残差Dに対して、直交変換および量子化を行うことで量子化予測残差を生成する。なお、ここで直交変換とは、画素領域から周波数領域への変換のことをさす。また、逆直交変換の例としては、DCT変換(Discrete Cosine Transform)、およびDST変換(Discrete Sine Transform)等が挙げられる。
具体的には、変換・量子化部27は、CU画像#100、および、CU情報CU’を参照し、対象CUの1または複数のブロックへの分割パターンを決定する。また、決定された分割パターンに従って、予測残差Dを、各ブロックについての予測残差に分割する。
また、変換・量子化部27は、各ブロックについての予測残差を直交変換することによって周波数領域における予測残差を生成した後、当該周波数領域における予測残差を量子化することによってブロック毎の量子化予測残差を生成する。
また、変換・量子化部27は、生成したブロック毎の量子化予測残差と、対象CUの分割パターンを指定するTT分割情報と、対象CUの各ブロックへの可能な全分割パターンに関する情報とを含むTT設定情報TTI’を生成する。変換・量子化部27は、生成したTT設定情報TTI’を逆量子化・逆変換部22および符号化データ生成部29に供給する。
符号化データ生成部29は、ヘッダ情報H’、TT設定情報TTI’、およびPT設定情報PTI’を符号化し、符号化したヘッダ情報H、TT設定情報TTI、およびPT設定情報PTIを多重化して符号化データ#1を生成し、出力する。
(符号化データ生成部の詳細)
次に、図22を用いて、符号化データ生成部29の詳細について説明する。図22は、符号化データ生成部29の構成例について示す機能ブロック図である。
なお、以下では、符号化データ生成部29が、TT設定情報TTI’に含まれるパラメータのうち、予測モード(輝度)および色差予測モードに関するパラメータを符号化するための構成について説明する。
しかしながら、これに限られず符号化データ生成部29は、TT情報TTI’に含まれる変換係数以外のデータ、例えば、サイド情報等を符号化することができる。
図22に示すように、符号化データ生成部29は、コンテキスト記憶部117、予測セット決定部291、MPM導出部292、MPM判定部293、予測モード符号化部294、および色差予測モード符号化部296を備える。
また、例えば、MPMの導出については、動画像復号装置1および動画像符号化装置2の間で相違しない。
このように、動画像復号装置1および動画像符号化装置2の間で対応している構成または同様の処理を行う構成については、動画像符号化装置2において、動画像復号装置1の構成を用いることができる。
従って、予測セット決定部291、MPM導出部292は、それぞれ、図1に示したコンテキスト記憶部151、色差予測モード定義記憶部154、予測セット決定部111、およびMPM導出部112と同様である。よって、ここではその説明を省略する。
以下では、MPM判定部293、予測モード符号化部294、および色差予測モード符号化部296について説明する。
MPM判定部293は、MPMが予測モードと一致するか否かを判定し、判定結果に応じてmpm_flagを符号化する。符号化の処理については、図1に示した可変長復号部11について、既に説明済みであるので、ここではその説明を省略する。
予測モード符号化部294は、MPM判定部293の判定結果に応じて、予測モードに関する情報(mpm_idx、rem_idx)を符号化する。予測モード符号化部294は、MPMを用いる場合は、mpm_idxを符号化し、MPMを用いない場合は、rem_idxを符号化する。
mpm_idxの符号化については、図1に示した可変長復号部11について、既に説明済みであるので、ここではその説明を省略する。
rem_idxの符号化については後述する。
色差予測モード符号化部296は、対象PUについての色差予測モードを符号化する。より詳細には、色差予測モード符号化部296は、以下のようにして色差予測モードを符号化する。
まず、色差予測モード符号化部296は、輝度に対する予測モードおよび色差予測モードを用いて、イントラ色差予測モード指定情報chroma_mode(intra_chroma_pred_mode)の値を取得する。
そして、色差予測モード符号化部296は、取得したイントラ色差予測モード指定情報chroma_modeの値を符号化する。
次に、図23を用いて、動画像符号化装置2における予測モード符号化処理の流れについて説明する。
まず、図23に示すフローチャートを用いて、動画像符号化装置2における予測モード符号化処理の概略的な流れの一例について説明する。
動画像符号化装置2において予測モード符号化処理が開始されると、MPM導出部292が、MPM0を導出する(S31)。続いて、MPM導出部292が、MPM1を導出する(S32)。
次に、MPM判定部293が、予測モードと、MPM(MPM0またはMPM1)とが一致しているか否かを判定する(S33)。
ここで、予測モードと、MPMとが一致している場合(S33においてYES)、MPM判定部293が、mpm_flag=1を符号化する(S34)とともに、予測モード符号化部294が、MPM0およびMPM1のうち、予測モードと一致している方について、mpm_idxを導出する(S35)。
一方、予測モードと、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)。
(作用・効果)
以上に示したように、動画像復号装置1は、4:2:2のYUVフォーマットの画像データを復号し、予測モードに対応付けられたイントラ予測方式により予測画像を生成する動画像復号装置1において、Angular予測の輝度予測モードを色差予測モードとして再利用する際に、輝度画素と色差画素の画素アスペクト比の差異に基づいて輝度画像における予測方向を補正して色差画像における予測方向を導出する予測方向導出部を備える構成である。
また、以上に示したように、動画像符号化装置2は、4:2:2のYUVフォーマットの画像データを復号し、予測モードに対応付けられたイントラ予測方式により予測画像を生成する動画像符号化装置2において、Angular予測の輝度予測モードを色差予測モードとして再利用する際に、輝度画素と色差画素の画素形状の差異に基づいて輝度画像における予測方向を補正して色差画像における予測方向を導出する予測方向導出部を備える構成である。
上記構成において、輝度画素と色差画素の画素形状の差異に基づいて予測方向を補正することにより、輝度の予測方向を色差の予測方向としてそのまま適用した場合に生じる角度の違いを低減でき、より高精度な予測画像を生成することができる。
〔変形例〕
<変形例1:予測画像生成時における予測方向の補正>
DMモード使用時、すなわち、輝度予測モードを再利用して色差予測モードとして用いる際、動画像復号装置1の予測方向導出部1453において方向の補正を行わず、Angular予測部1452Aにおいて補正を行ってもよい。例えば、図1の予測方向導出部1453の構成を図24で示すように変更し、また、図15の色差予測部146の構成を図25で示すように変更すればよい。
以下では、図24と図25を用いて、これを説明する。既に説明した構成要素と同じ機能を有する構成要素は、同じ符号を付与して説明を省略する。
図24は、図1の予測方向導出部1453の変形例である予測方向導出部1453_1を示している。予測方向導出部1453_1は予測方向導出部1453の勾配導出部1453Bに代えて勾配導出部1453B_1を備える。勾配導出部1453B_1は、処理対象が輝度領域であるか色差領域であるかによらず、常に図13に示す勾配定義テーブルDEFANG1を用いる。したがって、予測方向導出部1453_1では勾配の補正は行われない。
図25は、図15の色差予測部146の変形例である色差予測部146_1を示している。色差予測部146_1は、色差予測部146の予測方向導出部1453に代えて予測方向導出部1453_1を、また、Angular予測部1452Aに代えてAngular予測部1452A_1を備える。Angular予測部1452A_1においては、一旦、輝度画像と同一の座標系を用いて色差予測画像を生成し、それを4:2:2のYUVフォーマットにおける色差座標系に合わせて再度間引き処理あるいはフィルタリングして縮小する。この処理における縮小率は、上記輝度画素の形状と上記色差画素の形状との違いによって定まる。
具体的には、Angular予測部1452Aにおける予測画像の生成処理において、水平方向には色差予測画像で必要な画素数の2倍の画素数を持つような中間画像predSamples’[x,y]を生成する。つまり、対象PUにおける色差予測画像の幅と高さをそれぞれnWc画素およびnHc画素とすれば、中間画像predSamples’[x,y]のサイズは、2nWc×nHc画素である。中間画像predSamples’[x,y]の生成方法をさらに詳細に説明すれば、以下のようになる。
主方向フラグbRefVerの値が1(主方向が垂直方向)の場合には、主参照画素refMain[x]を以下の式で導出する。
refMain[2*x] = p[ -1+x, -1 ], with x=0..2*nWc
refMain[2*x] = p[ -1, -1+( ( x*invAngle+128 )>>8 ) ], with x=-nWc..-1
refMain[2*x+1] = (refMain[2*x] + refMain[2*x+2]+1)>>1, with x=-nWc..2*nWc-1
これにより、水平方向の画素数が2倍の主参照画素refMain[x]を得ることができる。
なお、主方向フラグbRefVerの値が0(主方向が水平方向)の場合には、この変形は不要である。これは、色フォーマットが4:2:2の場合、垂直方向の解像度は輝度と色差で等しいためであり、refMain[x]は以下の式で導出する。
refMain[x] = p[ -1+x, -1 ], with x=0..2*nHc
refMain[x] = p[ -1, -1+( ( x*invAngle+128 )>>8 ) ], with x=-nHc..-1
次に、この主参照画素refMain[x]から生成される予測画像を、中間画像predSamples’[x,y]に格納する。
predSamples’[x,y] =
((32-iFact)*refMain[x+iIdx+1] + iFact*refMain[x+iIdx+2] + 16) >> 5
ここで、x,yの範囲はそれぞれ、x=0..2*nWc-1 および y=0..nHc-1 である。
最後に、予測画像predSamples[x,y]は、中間画像predSamples’[x,y]から以下の式で導出される。
predSamples[x,y] = predSamples’[2*x,y], with x=0..nWc, y=0..nHc
上記の式では中間画像predSamples’[x,y]のうちxが奇数である画素は参照されないため、半数の画素は導出を省略することができる。あるいは、中間画像predSamples’[x,y]のうちxが奇数である画素を導出しておけば、中間画像predSamples’[x,y]をフィルタリングしてより高精度な予測画像predSamples[x,y]を生成する際に用いることもできる。
なお、中間画像predSamples’[x,y] の生成は説明の便宜上のものである。中間画像predSamples’[x,y]を介さずに画素値の導出結果をpredSamples[x,y]に直接格納してもよい。
このようにすれば、色フォーマットが4:2:2形式である画像において輝度の予測モードを再利用する場合であっても、輝度と相似の座標系を用いて中間的に生成した予測画像を色差の座標系に変換して色差予測画像を生成することで、輝度の予測モードが表す予測方向と一致するように予測方向を補正できる。これにより、輝度と色差の予測画像における予測方向の相違が解消され、色差予測画像の正確さを向上することができる。
<変形例2:予測モードのマッピングによる予測方向の補正>
DMモード使用時、すなわち、輝度予測モードを再利用して色差予測モードとして用いる際、動画像復号装置1の予測方向導出部1453において、勾配定義テーブルの切り換えを行わず、輝度の予測モードを他の予測モードにマッピングすることで、予測方向を補正してもよい。例えば、図1の予測方向導出部1453を図26に示すように変形し、図15の色差予測部146を図27に示すように変更するとよい。
図26に示す勾配導出部1453B_2は、勾配定義テーブルの切り換えを行わず、常に図13に示す勾配定義テーブルDEFANG1を用いるようにする一方、図28に示す変換テーブルCNVPM1を参照できるようにする。勾配導出部1453B_2は、色差領域に対しては、予測モード定義DEFPM1によって輝度の予測モード(IntraPredMode)に対応する予測方向(NAME(Luma)で表される)を、図28に示す変換テーブルCNVPM1を用いて変換し、色差の予測モード(IntraPredModeC)に対応する予測方向(NAME(Chroma)で表される)を得る。図28に示す変換テーブルCNVPM1は、色フォーマットが4:2:2形式である場合において、輝度の予測モードと色差の予測モードとがほぼ同じ勾配の予測方向となるように対応づけたテーブルである。例えば、輝度の予測モードVER+8は、色差の予測モードとしては、VER+5に変換される。VER+8の変位の値は水平方向に+32であり、色差でVER+8に対応する変位の値は+32を2で割った+16である。ここで、+16に最も近い水平方向の変位を持つ予測モードは+17の変位をもつVER+5であることから、輝度における予測モードVER+8は、色差においては予測モードVER+5に対応付けられる。また別の例では、輝度における予測モードHOR+8の変位の値は垂直方向に+32である。しかし色差において垂直方向の変位が+32*2=64となる予測モードは主方向が水平である予測モードとしては存在していない。そこで、主方向が垂直である予測モードのうちで勾配が最も近い、VER+5に対応付けられている。VER+5の勾配は[+17, -32] であり、HOR+8の勾配[-32, +64]と近い値である。
図28に示す変換テーブルCNVPM1では、他の予測モードについても同様に、それぞれ勾配の類似した予測モードに対応付けられている。
図27に示す色差予測部146_2は、図15の予測方向導出部1453の代わりに予測方向導出部1453_2を備えるようにしたものである。
このようにすれば、輝度の予測モードが再利用される場合にも、色差領域で同じ方向を示す予測モードに適切に変換され、色差予測画像の精度が向上する。
<変形例3:色差における予測モードの制限>
また別の変形例としては、色差における予測モードを制限する方法がある。例えば、図15の色差予測部146を、図29で示すように変更するとよい。図29で示す色差予測部146_3は、図15の予測方式選択部1451に代えて予測方式選択部1451_3を備える。また、図29で示す色差予測部146_3は、予測方向導出部とAngular予測部を備えていない。
図29に示す予測方式選択部1451_3は、入力される予測モードに基づいて予測画像生成に用いる予測方式を選択して選択結果を出力する。予測方式の選択は、輝度については図4に示した定義に基づいて、色差については図30に示した定義に基づいて、入力される予測モードの予測モード番号に対応する予測方式を選択することで実現される。
図30は、色差領域で用いられるイントラ予測方式の分類と対応する予測モード番号の例である。図4に示した例と異なり、Angular予測にあたる‘4’〜‘34’には予測モード番号を割り当てていない。色差領域においては図30に示した予測モードの定義を用いることにより、Angular予測が用いられることがなく、予測方向の誤差による予測画像の精度の低下を回避することができる。
〔応用例〕
上述した動画像符号化装置2及び動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
まず、上述した動画像符号化装置2及び動画像復号装置1を、動画像の送信及び受信に利用できることを、図31を参照して説明する。
図31の(a)は、動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。図31の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_A1として利用される。
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、及び、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていてもよい。図31の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
図31の(b)は、動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。図31の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置1は、この復号部PROD_B3として利用される。
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図31の(b)においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線又は有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
次に、上述した動画像符号化装置2及び動画像復号装置1を、動画像の記録及び再生に利用できることを、図32を参照して説明する。
図32の(a)は、上述した動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。図32の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_C1として利用される。
なお、記録媒体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に内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、及び、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部C6を更に備えていてもよい。図32の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HD(Hard Disk)レコーダなどが挙げられる(この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3又は受信部PROD_C5又は画像処理部C6が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
図32の(b)は、上述した動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。図32の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置1は、この復号部PROD_D2として利用される。
なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図32の(b)においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
このような再生装置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の一例である。
(ハードウェア的実現およびソフトウェア的実現)
また、上述した動画像復号装置1および動画像符号化装置2の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクや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)等の論理回路類などを用いることができる。
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、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)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。