図1〜図23に基づいて、本発明の一実施形態に係る階層動画像復号装置1および階層動画像符号化装置2について説明すれば以下のとおりである。
〔概要〕
本実施の形態に係る階層動画像復号装置(画像復号装置)1は、階層動画像符号化装置(画像符号化装置)2によって階層符号化された符号化データを復号する。階層符号化とは、動画像を低品質のものから高品質のものにかけて階層的に符号化する符号化方式のことである。階層符号化は、例えば、SVCやSHVCにおいて標準化されている。なお、ここでいう動画像の品質とは、主観的および客観的な動画像の見栄えに影響する要素のことを広く意味する。動画像の品質には、例えば、“解像度”、“フレームレート”、“画質”、および、“画素の表現精度”が含まれる。よって、以下、動画像の品質が異なるといえば、例示的には、“解像度”等が異なることを指すが、これに限られない。例えば、異なる量子化ステップで量子化された動画像の場合(すなわち、異なる符号化雑音により符号化された動画像の場合)も互いに動画像の品質が異なるといえる。
また、階層符号化技術は、階層化される情報の種類の観点から、(1)空間スケーラビリティ、(2)時間スケーラビリティ、および(3)SNR(Signal to Noise Ratio)スケーラビリティに分類されることもある。空間スケーラビリティとは、解像度や画像のサイズにおいて階層化する技術である。時間スケーラビリティとは、フレームレート(単位時間のフレーム数)において階層化する技術である。また、SNRスケーラビリティは、符号化雑音において階層化する技術である。
本実施形態に係る階層動画像符号化装置2及び階層動画像復号装置1の詳細な説明に先立って、まず(1)階層動画像符号化装置2によって生成され、階層動画像復号装置1によって復号される階層符号化データのレイヤ構造について説明し、次いで(2)各レイヤで採用できるデータ構造の具体例について説明を行う。
〔階層符号化データのレイヤ構造〕
ここで、図2を用いて、階層符号化データの符号化および復号について説明すると次のとおりである。図2は、動画像を、下位階層L3、中位階層L2、および上位階層L1の3階層により階層的に符号化/復号する場合について模式的に表す図である。つまり、図2(a)および(b)に示す例では、3階層のうち、上位階層L1が最上位層となり、下位階層L3が最下位層となる。
以下において、階層符号化データから復号され得る特定の品質に対応する復号画像は、特定の階層の復号画像(または、特定の階層に対応する復号画像)と称される(例えば、上位階層L1の復号画像POUT#A)。
図2(a)は、入力画像PIN#A〜PIN#Cをそれぞれ階層的に符号化して符号化データDATA#A〜DATA#Cを生成する階層動画像符号化装置2#A〜2#Cを示している。図2(b)は、階層的に符号化された符号化データDATA#A〜DATA#Cをそれぞれ復号して復号画像POUT#A〜POUT#Cを生成する階層動画像復号装置1#A〜1#Cを示している。
まず、図2(a)を用いて、符号化装置側について説明する。符号化装置側の入力となる入力画像PIN#A、PIN#B、およびPIN#Cは、原画は同じだが、画像の品質(解像度、フレームレート、および画質等)が異なる。画像の品質は、入力画像PIN#A、PIN#B、およびPIN#Cの順に低くなる。
下位階層L3の階層動画像符号化装置2#Cは、下位階層L3の入力画像PIN#Cを符号化して下位階層L3の符号化データDATA#Cを生成する。下位階層L3の復号画像POUT#Cを復号するのに必要な基本情報が含まれる(図2において“C”にて示している)。下位階層L3は、最下層の階層であるため、下位階層L3の符号化データDATA#Cは、基本符号化データとも称される。
また、中位階層L2の階層動画像符号化装置2#Bは、中位階層L2の入力画像PIN#Bを、下位階層の符号化データDATA#Cを参照しながら符号化して中位階層L2の符号化データDATA#Bを生成する。中位階層L2の符号化データDATA#Bには、符号化データDATA#Cに含まれる基本情報“C”に加えて、中位階層の復号画像POUT#Bを復号するのに必要な付加的情報(図2において“B”にて示している)が含まれる。
また、上位階層L1の階層動画像符号化装置2#Aは、上位階層L1の入力画像PIN#Aを、中位階層L2の符号化データDATA#Bを参照しながら符号化して上位階層L1の符号化データDATA#Aを生成する。上位階層L1の符号化データDATA#Aには、下位階層L3の復号画像POUT#Cを復号するのに必要な基本情報“C”および中位階層L2の復号画像POUT#Bを復号するのに必要な付加的情報“B”に加えて、上位階層の復号画像POUT#Aを復号するのに必要な付加的情報(図2において“A”にて示している)が含まれる。
このように上位階層L1の符号化データDATA#Aは、異なる複数の品質の復号画像に関する情報を含む。
次に、図2(b)を参照しながら復号装置側について説明する。復号装置側では、上位階層L1、中位階層L2、および下位階層L3それぞれの階層に応じた復号装置1#A、1#B、および1#Cが、符号化データDATA#A、DATA#B、およびDATA#Cを復号して復号画像POUT#A、POUT#B、およびPOUT#Cを出力する。
なお、上位の階層符号化データの一部の情報を抽出して、より下位の特定の復号装置において、当該抽出した情報を復号することで特定の品質の動画像を再生することもできる。
例えば、中位階層L2の階層復号装置1#Bは、上位階層L1の階層符号化データDATA#Aから、復号画像POUT#Bを復号するのに必要な情報(すなわち、階層符号化データDATA#Aに含まれる“B”および“C”)を抽出して、復号画像POUT#Bを復号してもよい。言い換えれば、復号装置側では、上位階層L1の階層符号化データDATA#Aに含まれる情報に基づいて、復号画像POUT#A、POUT#B、およびPOUT#Cを復号することができる。
なお、以上の3階層の階層符号化データに限られず、階層符号化データは、2階層で階層符号化されていてもよいし、3階層よりも多い階層数にて階層符号化されていてもよい。
また、特定の階層の復号画像に関する符号化データの一部または全部を他の階層とは独立して符号化し、特定の階層の復号の際に、他の階層の情報を参照しなくても済むように階層符号化データを構成してもよい。例えば、図2(a)および(b)を用いて上述した例では、復号画像POUT#Bの復号に“C”および“B”を参照すると説明したが、これに限られない。復号画像POUT#Bが“B”だけを用いて復号できるように階層符号化データを構成することも可能である。例えば、復号画像POUT#Bの復号に、“B”だけから構成される階層符号化データと、復号画像POUT#Cを入力とする階層動画像復号装置も構成できる。
なお、SNRスケーラビリティを実現する場合、入力画像PIN#A、PIN#B、およびPIN#Cとして同一の原画を用いた上で、復号画像POUT#A、POUT#B、およびPOUT#Cが異なる画質となるよう階層符号化データを生成することもできる。その場合、下位階層の階層動画像符号化装置が、上位階層の階層動画像符号化装置に較べて、より大きい量子化幅を用いて予測残差を量子化することで階層符号化データを生成する。
本書では、説明の便宜上、次のとおり用語を定義する。以下の用語は、特に断りがなければ、下記の技術的事項のことを表わすのに用いる。
上位レイヤ : ある階層よりも上位に位置する階層のことを、上位レイヤと称する。例えば、図2において、下位階層L3の上位レイヤは、中位階層L2および上位階層L1である。また、上位レイヤの復号画像とは、より品質の高い(例えば、解像度が高い、フレームレートが高い、画質が高い等)復号画像のことをいう。
下位レイヤ : ある階層よりも下位に位置する階層のことを、下位レイヤと称する。例えば、図2において、上位階層L1の下位レイヤは、中位階層L2および下位階層L3である。また、下位レイヤの復号画像とは、より品質の低い復号画像のことをいう。
対象レイヤ : 復号または符号化の対象となっている階層のことをいう。
参照レイヤ(reference layer) : 対象レイヤに対応する復号画像を復号するのに参照される特定の下位レイヤのことを参照レイヤと称する。
図2(a)および(b)に示した例では、上位階層L1の参照レイヤは、中位階層L2および下位階層L3である。しかしながら、これに限られず、特定の上記レイヤの復号において、下位レイヤのすべてを参照しなくてもよいように階層符号化データを構成することもできる。例えば、上位階層L1の参照レイヤが、中位階層L2および下位階層L3のいずれか一方となるように階層符号化データを構成することも可能である。
基本レイヤ(base layer) : 最下層に位置する階層のことを基本レイヤと称する。基本レイヤの復号画像は、符号化データから復号され得るもっとも低い品質の復号画像であり、基本復号画像と呼称される。別の言い方をすれば、基本復号画像は、最下層の階層に対応する復号画像のことである。基本復号画像の復号に必要な階層符号化データの部分符号化データは基本符号化データと呼称される。例えば、上位階層L1の階層符号化データDATA#Aに含まれる基本情報“C”が基本符号化データである。
拡張レイヤ : 基本レイヤの上位レイヤは、拡張レイヤと称される。
レイヤ識別子 : レイヤ識別子は、階層を識別するためのものであり、階層と1対1に対応する。階層符号化データには特定の階層の復号画像の復号に必要な部分符号化データを選択するために用いられる階層識別子が含まれる。特定のレイヤに対応するレイヤ識別子に関連付けられた階層符号化データの部分集合は、レイヤ表現とも呼称される。
一般に、特定の階層の復号画像の復号には、当該階層のレイヤ表現、および/または、当該階層の下位レイヤに対応するレイヤ表現が用いられる。すなわち、対象レイヤの復号画像の復号においては、対象レイヤのレイヤ表現、および/または、対象レイヤの下位レイヤに含まれる1つ以上階層のレイヤ表現が用いられる。
レイヤ間予測 : レイヤ間予測とは、対象レイヤのレイヤ表現と異なる階層(参照レイヤ)のレイヤ表現に含まれるシンタックス要素値、シンタックス要素値より導出される値、および復号画像に基づいて、対象レイヤのシンタックス要素値や対象レイヤの復号に用いられる符号化パラメータ等を予測することである。動き予測に関する情報を参照レイヤの情報から予測するレイヤ間予測のことを動き情報予測と称することもある。また、下位レイヤの復号画像から予測するレイヤ間予測のことをレイヤ間画像予測(あるいはレイヤ間テクスチャ予測)と称することもある。なお、レイヤ間予測に用いられる階層は、例示的には、対象レイヤの下位レイヤである。また、参照レイヤを用いず対象レイヤ内で予測を行うことをレイヤ内予測と称することもある。
なお、以上の用語は、飽くまで説明の便宜上のものであり、上記の技術的事項を別の用語にて表現してもかまわない。
〔階層符号化データのデータ構造について〕
以下、各階層の符号化データを生成する符号化方式として、HEVCおよびその拡張方式を用いる場合について例示する。しかしながら、これに限られず、各階層の符号化データを、MPEG−2や、H.264/AVCなどの符号化方式により生成してもよい。
また、下位レイヤと上位レイヤとが異なる符号化方式によって符号化されていてもよい。また、各階層の符号化データは、互いに異なる伝送路を介して階層動画像復号装置1に供給されるものであってもよいし、同一の伝送路を介して階層動画像復号装置1に供給されるものであってもよい。
例えば、超高精細映像(動画像、4K映像データ)を基本レイヤおよび1つの拡張レイヤによりスケーラブル符号化して伝送する場合、基本レイヤは、4K映像データをダウンスケーリングし、インタレース化した映像データをMPEG−2またはH.264/AVCにより符号化してテレビ放送網で伝送し、拡張レイヤは、4K映像(プログレッシブ)をHEVCにより符号化して、インターネットで伝送してもよい。
(基本レイヤ)
図3は、基本レイヤにおいて採用することができる符号化データ(図2の例でいえば、階層符号化データDATA#C)のデータ構造について例示する図である。階層符号化データDATA#Cは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
階層符号化データDATA#Cにおけるデータの階層構造を図3に示す。図3の(a)〜(e)は、それぞれ、シーケンスSEQを規定するシーケンスレイヤ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、符号化ツリーユニット(Coding Tree Unit;CTU)を規定するCTUレイヤ、符号化ツリーユニットCTUに含まれる符号化単位(Coding Unit;CU)を規定するCUレイヤを示す図である。
(シーケンスレイヤ)
シーケンスレイヤでは、処理対象のシーケンスSEQ(以下、対象シーケンスとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。シーケンスSEQは、図3の(a)に示すように、ビデオパラメータセットVPS(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT1〜PICTNP(NPはシーケンスSEQに含まれるピクチャの総数)、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。
ビデオパラメータセットVPSでは、符号化データに含まれるレイヤ数、レイヤ間の依存関係が規定されている。
シーケンスパラメータセットSPSでは、対象レイヤの対象シーケンスを復号するために階層動画像復号装置1が参照する符号化パラメータの集合が規定されている。SPSは符号化データ内に複数存在してもよい。その場合、対象レイヤの対象シーケンス毎に復号に用いられるSPSが複数の候補から選択される。特定のシーケンスの復号に使用されるSPSは、アクティブSPSとも呼ばれる。以下では、特に断りがなければ、SPSは対象レイヤの対象シーケンスに対するアクティブSPSを意味する。
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために階層動画像復号装置1が参照する符号化パラメータの集合が規定されている。なお、PPSは符号化データ内に複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。特定のピクチャの復号に使用されるPPSはアクティブPPSとも呼ばれる。以下では、特に断りがなければ、PPSは対象ピクチャに対するアクティブPPSを意味する。
(ピクチャレイヤ)
ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、図3の(b)に示すように、スライスヘッダSH1〜SHNS、及び、スライスS1〜SNSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
なお、以下、スライスヘッダSH1〜SHNSやスライスS1〜SNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する階層符号化データDATA#Cに含まれるデータであって、添え字を付している他のデータについても同様である。
スライスヘッダSHkには、対応するスライスSkの復号方法を決定するために階層動画像復号装置1が参照する符号化パラメータ群が含まれている。例えば、SPSを指定するSPS識別子(seq_parameter_set_id)や、PPSを指定するPPS識別子(pic_parameter_set_id)が含まれる。また、スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
(スライスレイヤ)
スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。スライスSは、図3の(c)に示すように、符号化ツリーユニットCTU1〜CTUNC(NCはスライスSに含まれるCTUの総数)のシーケンスを含んでいる。
(CTUレイヤ)
CTUレイヤでは、処理対象の符号化ツリーユニットCTU(以下、対象CTUとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。なお、符号化ツリーユニットのことを符号化ツリーブロック(CTB: Coding Tree block)、または、最大符号化単位(LCU:Largest Cording Unit)と呼ぶこともある。
符号化ツリーユニットCTUは、CTUヘッダCTUHと、符号化単位情報CU1〜CUNL(NLはCTUに含まれる符号化単位情報の総数)とを含む。ここで、まず、符号化ツリーユニットCTUと、符号化単位情報CUとの関係について説明すると次のとおりである。
符号化ツリーユニットCTUは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するための単位に分割される。
符号化ツリーユニットCTUの上記単位は、再帰的な4分木分割により分割されている。この再帰的な4分木分割により得られる木構造のことを以下、符号化ツリー(coding tree)と称する。
以下、符号化ツリーの末端のノードであるリーフ(leaf)に対応する単位を、符号化ノード(coding node)として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位(CU)とも称する。
つまり、符号化単位情報(以下、CU情報と称する)CU1〜CUNLは、符号化ツリーユニットCTUを再帰的に4分木分割して得られる各符号化ノード(符号化単位)に対応する情報である。
また、符号化ツリーのルート(root)は、符号化ツリーユニットCTUに対応付けられる。換言すれば、符号化ツリーユニットCTUは、複数の符号化ノードを再帰的に含む4分木分割の木構造の最上位ノードに対応付けられる。
なお、各符号化ノードのサイズは、当該符号化ノードの親ノードとなる符号化ノード(すなわち、当該符号化ノードの1階層上位のノード)のサイズの縦横とも半分である。
また、符号化ツリーユニットCTUのサイズ、および、各符号化ユニットのとり得るサイズは、シーケンスパラメータセットSPSに含まれる、最小符号化ノードのサイズ指定情報、および最大符号化ノードと最小符号化ノードの階層深度の差分に依存する。例えば、最小符号化ノードのサイズが8×8画素であって、最大符号化ノードと最小符号化ノードの階層深度の差分が3である場合、符号化ツリーユニットCTUのサイズが64×64画素であって、符号化ノードのサイズは、4種類のサイズ、すなわち、64×64画素、32×32画素、16×16画素、および、8×8画素の何れかをとり得る。
(CTUヘッダ)
CTUヘッダCTUHには、対象CTUの復号方法を決定するために階層動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図3の(d)に示すように、対象CTUの各CUへの分割パターンを指定するCTU分割情報SP_CTU、および、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(qp_delta)が含まれる。
CTU分割情報SP_CTUは、CTUを分割するための符号化ツリーを表す情報であり、具体的には、対象CTUに含まれる各CUの形状、サイズ、および、対象CTU内での位置を指定する情報である。
なお、CTU分割情報SP_CTUは、CUの形状やサイズを明示的に含んでいなくてもよい。例えばCTU分割情報SP_CTUは、対象CTU全体またはCTUの部分領域を四分割するか否かを示すフラグの集合であってもよい。その場合、CTUの形状やサイズを併用することで各CUの形状やサイズを特定できる。
また、量子化パラメータ差分Δqpは、対象CTUにおける量子化パラメータqpと、当該対象CTUの直前に符号化されたCTUにおける量子化パラメータqp’との差分qp−qp’である。
(CUレイヤ)
CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。
ここで、CU情報CUに含まれるデータの具体的な内容の説明をする前に、CUに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー(prediction tree;PT)および変換ツリー(transform tree;TT)のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
予測ツリーにおいては、符号化ノードが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。換言すれば、予測ブロックは、符号化ノードを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU)とも称する。
予測ツリーにおける分割(以下、PU分割と略称する)の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。
イントラ予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)と、N×Nとがある。
また、インター予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)、2N×N、2N×nU、2N×nD、N×2N、nL×2N、および、nR×2Nなどがある。
また、変換ツリーにおいては、符号化ノードが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。換言すれば、変換ブロックは、符号化ノードを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
変換ツリーにおける分割には、符号化ノードと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な4分木分割によるものがある。
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
(CU情報のデータ構造)
続いて、図3(e)を参照しながらCU情報CUに含まれるデータの具体的な内容について説明する。図3(e)に示すように、CU情報CUは、具体的には、スキップフラグSKIP、予測ツリー情報(以下、PT情報と略称する)PTI、および、変換ツリー情報(以下、TT情報と略称する)TTIを含む。
スキップフラグSKIPは、対象のPUについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグSKIPの値が1の場合、すなわち、対象CUにスキップモードが適用されている場合、そのCU情報CUにおけるPT情報PTIの一部、および、TT情報TTIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
[PT情報]
PT情報PTIは、CUに含まれる予測ツリー(以下、PTと略称する)に関する情報である。言い換えれば、PT情報PTIは、PTに含まれる1または複数のPUそれぞれに関する情報の集合であり、階層動画像復号装置1により予測画像を生成する際に参照される。PT情報PTIは、図3(e)に示すように、予測タイプ情報PType、および、予測情報PInfoを含んでいる。
予測タイプ情報PTypeは、対象PUについての予測画像生成方法を指定する情報である。ベースレイヤにおいては、イントラ予測を用いるのか、または、インター予測を用いるのかを指定する情報である。
予測情報PInfoは、予測タイプ情報PTypeで指定される予測方法において用いられる予測情報である。ベースレイヤにおいては、イントラ予測の場合にイントラ予測情報PP_Intraが含まれる。また、インター予測の場合にはインター予測情報PP_Interを含む。
インター予測情報PP_Interは、階層動画像復号装置1が、インター予測によってインター予測画像を生成する際に参照される予測情報を含む。より具体的には、インター予測情報PP_Interは、対象CUの各インターPUへの分割パターンを指定するインターPU分割情報、および、各インターPUについてのインター予測パラメータ(動き補償パラメータ)を含む。インター予測パラメータとしては、例えば、マージフラグ(merge_flag)、マージインデックス(merge_idx)、推定動きベクトルインデックス(mvp_idx)、参照画像インデックス(ref_idx)、インター予測フラグ(inter_pred_flag)、および動きベクトル残差(mvd)を含む。
イントラ予測情報PP_Intraは、階層動画像復号装置1が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータを含む。より具体的には、イントラ予測情報PP_Intraには、対象CUの各イントラPUへの分割パターンを指定するイントラPU分割情報、および、各イントラPUについてのイントラ予測パラメータが含まれる。イントラ予測パラメータは、各イントラPUについてのイントラ予測方法(予測モード)を指定するためのパラメータである。
ここで、イントラ予測パラメータは、各イントラPUについてのイントラ予測(予測モード)を復元するためのパラメータである。予測モードを復元するためのパラメータには、MPM(Most Probable Mode、以下同様)に関するフラグであるmpm_flag、MPMを選択するためのインデックスであるmpm_idx、および、MPM以外の予測モードを指定するためのインデックスであるrem_idxが含まれる。ここで、MPMとは、対象パーティションで選択される可能性が高い推定予測モードである。例えば、対象パーティションの周辺のパーティションに割り付けられた予測モードに基づいて推定された推定予測モードや、一般的に発生確率の高いDCモードやPlanarモードがMPMに含まれ得る。
また、以下において、単に“予測モード”と表記する場合、特にことわりのない限り、輝度予測モードのことを指すものとする。色差予測モードについては、“色差予測モード”と表記し、輝度予測モードと区別する。また、予測モードを復元するパラメータには、色差予測モードを指定するためのパラメータであるchroma_modeが含まれる。
[TT情報]
TT情報TTIは、CUに含まれる変換ツリー(以下、TTと略称する)に関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数の変換ブロックそれぞれに関する情報の集合であり、階層動画像復号装置1により残差データを復号する際に参照される。
TT情報TTIは、図3(e)に示すように、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TT、および、量子化予測残差QD1〜QDNT(NTは、対象CUに含まれるブロックの総数)を含んでいる。
TT分割情報SP_TTは、具体的には、対象CUに含まれる各変換ブロックの形状、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TTは、対象ノードの分割を行うのか否かを示す情報(split_transform_unit_flag)と、その分割の深度を示す情報(trafoDepth)とから実現することができる。
また、例えば、CUサイズが、64×64の場合、分割により得られる各変換ブロックは、32×32画素から4×4画素までのサイズをとり得る。
各量子化予測残差QDは、階層動画像符号化装置2が以下の処理1〜3を、処理対象の変換ブロックである対象ブロックに施すことによって生成した符号化データである。
処理1:符号化対象画像から予測画像を減算した予測残差を周波数変換(例えば、DCT変換(Discrete Cosine Transform)およびDST変換(Discrete Sine Transform)等)する;
処理2:処理1にて得られた変換係数を量子化する;
処理3:処理2にて量子化された変換係数を可変長符号化する;
なお、上述した量子化パラメータqpは、階層動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2qp/6)。
(PU分割情報)
PU分割情報によって指定されるPU分割タイプには、対象CUのサイズを2N×2N画素とすると、次の合計8種類のパターンがある。すなわち、2N×2N画素、2N×N画素、N×2N画素、およびN×N画素の4つの対称的分割(symmetric splittings)、並びに、2N×nU画素、2N×nD画素、nL×2N画素、およびnR×2N画素の4つの非対称的分割(asymmetric splittings)である。なお、N=2m(mは1以上の任意の整数)を意味している。以下、対象CUを分割して得られる予測単位のことを予測ブロック、または、パーティションと称する。
(拡張レイヤ)
拡張レイヤのレイヤ表現に含まれる符号化データ(以下、拡張レイヤ符号化データ)についても、例えば、図3に示すデータ構造とほぼ同様のデータ構造を採用することができる。ただし、拡張レイヤ符号化データでは、以下のとおり、付加的な情報を追加したり、パラメータを省略したりすることができる。
スライスレイヤでは、空間スケーラビリティ、時間スケーラビリティ、および、SNRスケーラビリティ、ビュースケーラビリティの階層の識別情報(それぞれ、dependency_id、temporal_id、quality_id、および、view_id)が符号化されていてもよい。
また、CU情報CUに含まれる予測タイプ情報PTypeは、対象CUについての予測画像生成方法がイントラ予測、インター予測、または、レイヤ間画像予測のいずれかを指定する情報である。予測タイプ情報PTypeには、レイヤ間画像予測モードの適用有無を指定するフラグ(レイヤ間画像予測フラグ)を含む。なお、レイヤ間画像予測フラグは、texture_rl_flag、inter_layer_pred_flag、または、base_mode_flagと呼ばれることもある。
拡張レイヤにおいて、対象CUのCUタイプが、イントラCU、レイヤ間CU、インターCU、スキップCUのいずれであるかが指定されていてもよい。
イントラCUは、ベースレイヤにおけるイントラCUと同様に定義できる。イントラCUでは、レイヤ間画像予測フラグが“0”に、予測モードフラグが“0”に設定される。
レイヤ間CUは、参照レイヤのピクチャの復号画像を予測画像生成に用いるCUと定義できる。レイヤ間CUでは、レイヤ間画像予測フラグが“1”に、予測モードフラグが“0”に設定される。
スキップCUは、上述のHEVC方式の場合と同様に定義できる。例えば、スキップCUでは、スキップフラグに“1”が設定される。
インターCUは、非スキップかつ動き補償(MC;Motion Compensation)を適用するCUと定義されていてもよい。インターCUでは、例えば、スキップフラグに“0”が設定され、予測モードフラグに“1”が設定される。
また、上述のとおり拡張レイヤの符号化データを、下位レイヤの符号化方式と異なる符号化方式により生成しても構わない。すなわち、拡張レイヤの符号化・復号処理は、下位レイヤのコーデックの種類に依存しない。
下位レイヤが、例えば、MPEG−2や、H.264/AVC方式によって符号化されていてもよい。
拡張レイヤ符号化データでは、VPSが拡張されて、レイヤ間の参照構造を表すパラメータが含まれていてもよい。
また、拡張レイヤ符号化データでは、SPS、PPS、スライスヘッダが拡張されて、レイヤ間画像予測に用いる参照レイヤの復号画像に係る情報(例えば、後述のレイヤ間参照画像セット、レイヤ間参照画像リスト、ベース制御情報等を直接、または、間接的に導出するためのシンタックス)が含まれていてもよい。
なお、以上に説明したパラメータは、単独で符号化されていてもよいし、複数のパラメータが複合的に符号化されていてもよい。複数のパラメータが複合的に符号化される場合は、そのパラメータの値の組み合わせに対してインデックスが割り当てられ、割り当てられた当該インデックスが符号化される。また、パラメータが、別のパラメータや、復号済みの情報から導出可能であれば、当該パラメータの符号化を省略することができる。
〔階層動画像復号装置〕
以下では、本実施形態に係る階層動画像復号装置1の構成について、図1〜図21を参照して説明する。
(階層動画像復号装置の構成)
図4を用いて、階層動画像復号装置1の概略的構成について説明すると次のとおりである。図4は、階層動画像復号装置1の概略的構成について示した機能ブロック図である。階層動画像復号装置1は、階層動画像符号化装置2から供給される階層符号化データDATAを復号して、対象レイヤの復号画像POUT#Tを生成する。なお、以下では、対象レイヤは拡張レイヤであるとして説明する。そのため、対象レイヤは、参照レイヤに対する上位レイヤでもある。逆に、参照レイヤは、対象レイヤに対する下位レイヤでもある。
図4に示すように階層動画像復号装置1は、NAL逆多重化部11、可変長復号部12、復号画像バッファ13、予測パラメータ復元部14、テクスチャ復元部15、ベース復号部16、および、ベース復号画像バッファ17を備える。
NAL逆多重化部11は、NAL(Network Abstraction Layer)におけるNALユニット単位で伝送される階層符号化データDATAを逆多重化する。
NALは、VCL(Video Coding Layer)と、符号化データを伝送・蓄積する下位システムとの間における通信を抽象化するために設けられる層である。
VCLは、動画像符号化処理を行う層のことであり、VCLにおいて符号化が行われる。一方、ここでいう、下位システムは、H.264/AVCおよびHEVCのファイルフォーマットや、MPEG−2システムに対応する。
なお、NALでは、VCLで生成されたビットストリームが、NALユニットという単位で区切られて、宛先となる下位システムへ伝送される。NALユニットには、VCLで符号化された符号化データ、および、当該符号化データが宛先の下位システムに適切に届けられるためのヘッダが含まれる。また、各階層における符号化データは、NALユニット格納されることでNAL多重化されて階層動画像復号装置1に伝送される。
NAL逆多重化部11は、階層符号化データDATAを逆多重化して、対象レイヤ符号化データDATA#Tおよび参照レイヤ符号化データDATA#Rを取り出す。また、NAL逆多重化部11は、対象レイヤ符号化データDATA#Tを可変長復号部12に供給するとともに、参照レイヤ符号化データDATA#Rをベース復号部16に供給する。
可変長復号部12は、対象レイヤ符号化データDATA#Tに含まれるバイナリから各種のシンタックス値を復号する。復号されたシンタックス値は、分類されて出力される。シンタックス値の分類には、図3(e)のPTIに相当する予測情報、図3(e)のTTIに相当する変換係数情報が含まれる。
また、可変長復号部12は、CU情報を符号化データDATA#Tから復号する。CU情報には、CUの形状、サイズ、位置を特定するための情報が含まれる。
また、可変長復号部12は、対象レイヤの復号に用いるパラメータセットを符号化データDATA#Tから復号する。パラメータセットは、VPS、SPS、PPS、および、スライスヘッダを含む。
可変長復号部12は、復号した予測情報およびCU情報を予測パラメータ復元部14に供給する。また、可変長復号部12は、復号した変換係数情報、CU情報、およびパラメータセットをテクスチャ復元部15に供給する。
復号画像バッファ13は、テクスチャ復元部15で復元された対象レイヤの各ピクチャの復号画像を記録するピクチャバッファである。復号画像バッファ13では、対象レイヤの各ピクチャに対応する復号画像が出力順(POC: Picture Order Count)に関連付けて記録されている。なお、以下では、復号画像バッファ13のことをDPB(Decoded Picture Buffer)とも呼ぶ。DPBは対象レイヤの復号画像を記録している。
ベース復号部16は、参照レイヤ符号化データDATA#Rから、対象レイヤに対応する復号画像を復号する際に参照される参照レイヤの復号画像であるベース復号画像を復号する。ベース復号部16は、復号したベース復号画像をテクスチャ復元部15に供給する。
なお、ベース復号部16は、参照レイヤ符号化データ#Rから、参照レイヤにおける予測パラメータに相当するベース予測パラメータを復号して予測パラメータ復元部14に供給してもよい。
ベース復号画像バッファ17は、ベース復号部16で復元された参照レイヤの各ピクチャの復号画像を記録するピクチャバッファである。ベース復号画像バッファ17では、参照レイヤの各ピクチャに対応する復号画像が出力順(POC)に関連付けて記録されている。なお、以下では、ベース復号画像バッファ17のことをBASE_DPB(Base Decoded Picture Buffer)とも呼ぶ。
予測パラメータ復元部14は、CU情報と予測情報を用いて、予測パラメータを復元する。予測パラメータ復元部14は、復元した予測パラメータを、テクスチャ復元部15に供給する。
テクスチャ復元部15は、CU情報、変換係数情報、ベース復号画像および予測パラメータを用いて、復号画像POUT#Tを生成し、外部に出力する。なお、テクスチャ復元部15では、復元された復号画像に関する情報が、復号画像バッファ13に格納される。
以下では、テクスチャ復元部15、可変長復号部12、および、ベース復号部16それぞれの詳細について説明する。
(テクスチャ復元部)
図1を用いて、テクスチャ復元部15の詳細構成について説明する。図1は、テクスチャ復元部15の構成を例示した機能ブロック図である。
図1に示すように、テクスチャ復元部15は、逆直交変換・逆量子化部151、テクスチャ予測部152、加算器153、ループフィルタ部154、参照画像リスト設定部155、レイヤ間参照画像リスト設定部156を備える。テクスチャ予測部152は、内部に、インター予測部152T、イントラ予測部152S、および、レイヤ間画像予測部152Bを備える。
逆直交変換・逆量子化部151は、(1)可変長復号部12から供給される変換係数情報に含まれる量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆直交変換(例えば、DCT(Discrete Cosine Transform)変換)し、(3)逆直交変換によって得られた予測残差Dを加算器153に供給する。なお、予測残差Dの生成は、変換ブロックを単位として行われる。
テクスチャ予測部152は、予測パラメータに応じて、ベース復号画像バッファ17に記録されているベース復号画像(ベース参照画像とも呼ぶ)または復号画像バッファ13に記録されている復号済みの復号画像を参照し、予測画像を生成する。
テクスチャ予測部152は、インター予測部152T、イントラ予測部152S、または、レイヤ間画像予測部152Bが生成した予測画像を加算器153に供給する。
インター予測部152Tは、各予測ブロックの予測画像をインター予測により生成する。具体的には、予測パラメータに含まれる動きベクトルが示す参照画像上の領域の画素値に基づく動き補償予測により予測画像が生成される。参照画像は、復号画像バッファ13上に記録されている復号画像であって、予測パラメータに含まれる参照画像インデックスと、参照画像リストの組み合わせにより特定される。インター予測部152Tにおけるインター予測による予測画像生成処理については、参照画像リスト設定部155における参照画像リスト設定処理と合わせて詳細を後述する。
イントラ予測部152Sは、各イントラ予測パーティションに関する予測画像をイントラ予測により生成する。具体的には、イントラ予測情報復元部144Sから予測パラメータとして供給される空間予測モードを用いて、対象PUの復号済周辺画素値を参照する空間予測により、予測画像を生成する。
レイヤ間画像予測部152Bは、ベース参照画像を参照して、レイヤ間画像予測により、予測画像を生成する。ベース参照画像は、ベース復号画像バッファ17に記録されている復号画像から選択される。より厳密には、対象ピクチャにおけるレイヤ間参照画像セットに含まれるベース復号画像であって、対象ピクチャから参照可能であることが示されたベース復号画像の中から、ベース参照画像が選択される。ベース参照画像の選択には、予測パラメータに含まれるベース参照画像インデックスを用いる。ベース参照画像インデックスとレイヤ間参照画像リストの組み合わせにより、何れのベース復号画像を参照画像として利用するかが決定される。レイヤ間画像予測部152Bにおけるレイヤ間画像予測による予測画像生成処理については、レイヤ間参照画像リスト設定部156におけるレイヤ間参照画像リスト設定処理と合わせて詳細を後述する。
加算器153は、テクスチャ予測部152から供給された予測画像と、逆直交変換・逆量子化部151から供給された予測残差Dとを加算することによって復号画像を生成する。
ループフィルタ部154は、加算器153から供給される復号画像に対し、デブロッキング処理や、適応フィルタパラメータによるフィルタ処理を施すものである。
参照画像リスト設定部155は、パラメータセットに含まれる参照画像リストに係るシンタックスに基づいて、テクスチャ予測部152内のインター予測部152Tにおける動き補償予測に用いられる参照画像リストを生成する。
レイヤ間参照画像リスト設定部156は、パラメータセットに含まれるレイヤ間参照画像リストに係るシンタックスに基づいて、テクスチャ予測部152内のレイヤ間画像予測部152Bにおけるレイヤ間画像予測に用いられるレイヤ間参照画像リストを生成する。
<インター予測と参照画像リスト生成>
インター予測部152Tにおけるインター予測による予測画像生成処理、および、参照画像リスト設定部155における参照画像リスト設定処理の詳細を説明する。
インター予測部152Tにおける予測画像生成(動き補償予測)では、参照画像インデックス(refIdx)の示す参照画像リスト上の位置に記録されている復号画像を参照画像として利用する。例えば、refIdxの値が0の場合は、参照画像リストの0の位置、すなわち参照画像リストの先頭の復号画像が参照画像として動き補償予測に用いられる。
参照画像リスト(RPL: Reference Picture List)は、動き補償予測の適用時に参照可能な参照画像の候補リストである。参照画像リストは2以上存在してもよい。本実施形態では、L0参照画像リスト(L0参照リスト)とL1参照画像リスト(L1参照リスト)を用いるとする。RPL修正情報は、パラメータセット(SPSやスライスヘッダ)に含まれる情報であり、参照画像リスト内の参照画像の順序を示す。
参照画像セット(RPS: Reference Picture Set)は、対象ピクチャ、または、復号順で対象ピクチャに後続するピクチャにおいて、参照画像として利用される可能性のあるピクチャの集合を表す。RPS情報は、パラメータセット(SPSやスライスヘッダ)に含まれる情報であり、各ピクチャの復号時に設定される参照画像セットの導出に用いられる。
特定のピクチャに対する参照画像セットに含まれないピクチャは、復号順で当該特定ピクチャ以降のピクチャの復号には用いられない。したがって、階層動画像復号装置は、参照画像セットに含まれないピクチャを復号画像バッファから削除できる。
参照画像リストは、参照画像セットに含まれるピクチャから、対象ピクチャにおいて参照画像として利用される可能性のあるピクチャを選択し、順序を付けたリストと表現することもできる。
ここで、参照画像セットと参照画像リストの例を、図6を参照して説明しておく。図6(a)は、動画像を構成するピクチャを表示順に並べて図示したものであり、図中の数字は各ピクチャに対応するPOCを表している。POCは、出力順で昇順となるよう各ピクチャに割り当てられている。“curr”と示されたPOCが9のピクチャが、現在の復号対象ピクチャである。
図6(b)は、対象ピクチャに適用されるRPS情報の例を示す。対象ピクチャにおける参照画像セット(現RPS)は、当該RPS情報に基づいて導出される。RPS情報には、長期RPS情報と短期RPS情報とが含まれる。長期RPS情報として、現RPSに含めるピクチャのPOCが直接示されている。図6(b)に示す例では、長期RPS情報は、POC=1のピクチャを現RPSに含めることを示している。短期RPS情報には、現RPSに含めるピクチャが、対象ピクチャのPOCに対する差分で記録されている。図中の「Before, dPOC=1」と示された短期RPS情報は、対象ピクチャのPOCに対して1小さいPOCのピクチャを現RPSに含めることを示している。同様に、図中の「Before, dPOC=4」は4小さいPOCのピクチャを示し、「After, dPOC=1」は1大きいPOCのピクチャを現RPSに含めることを示す。なお、「Before」は、対象ピクチャの前方、つまり、対象ピクチャより表示順の早いピクチャを示す。また、「After」は、対象ピクチャの広報後方、つまり、対象ピクチャより表示順の遅いピクチャを示す。
図6(c)は、対象ピクチャのPOCが0の場合に、図6(b)で例示したRPS情報を適用したときに導出される現RPSの例を示す。長期RPS情報で示されたPOC=1のピクチャが含まれている。また、短期RPS情報で示された、対象ピクチャ(POC=9)より1小さいPOCを有するピクチャ、すなわちPOC=8のピクチャが含まれている。同様に、短期RPS情報で示された、POC=5とPOC=10のピクチャが含まれている。
図6(d)および(e)は、現RPSに含まれる参照画像から生成される参照画像リストの例を示す。参照画像リストの各要素にはインデックス(参照画像インデックス)が付与されている(図中ではidxと記載)。図6(d)は、L0参照リストの例を示す。L0参照リストには、5、8、10、1のPOCを持つ現RPSに含まれる参照ピクチャが、この順で含まれている。図6(e)は、L1参照リストの例を示す。L1参照リストには、10、5、8のPOCを持つ現RPSに含まれる参照ピクチャが、この順で含まれている。なお、L1参照リストの例で示した通り、参照画像リストには、現RPSに含まれる全ての参照画像(参照可能ピクチャ)を含める必要はない。しかし、参照画像ストの要素数は、最大でも現RPSに含まれる参照画像の数となる。言い換えると、参照画像リストの長さは、現ピクチャで参照可能なピクチャ数以下である。
次に、参照ピクチャリスト修正の例を、図7を参照して説明しておく。図7は、特定の参照ピクチャリストに(図7(a))に対して、RPL修正情報(図7(b))を適用した場合に得られる修正後の参照ピクチャリスト(図7(c))を例示している。図7(a)に示す修正前L0参照リストは、図6(d)で説明したL0参照リストと同一である。図7(b)に示すRPL修正情報は参照画像インデックスの値を要素とするリストになっており、先頭から順に0、2、1、3の値が格納されている。このRPL修正情報は、修正前参照リストに含まれる0、2、1、3の参照画像インデックスで示される参照画像を、この順で修正後L0参照リストの参照画像とすることを示す。図7(c)は修正後L0参照リストを示し、POCが5、10、8、1のピクチャがこの順で含まれている。
<インター予測(動き補償予測)処理>
インター予測部152Tにおける予測画像生成処理は以下のS101からS105の手順で実行される。
(S101)対象CU内の予測ブロックを順次対象予測ブロックに設定し、以下のS102からS105の各処理を順次実行する。
(S102)対象予測ブロックの動き情報を予測パラメータから読み出す。
(S103)対象予測ブロックがL0予測を利用する場合、L0参照リストにおいてL0参照インデックスの示す位置の参照画像を、対象予測ブロックの参照画像に設定する。L0動きベクトルの示す当該参照画像の復号画素値に基づいてL0予測画像を生成する。
(S104)対象予測ブロックがL1予測を利用する場合、L1参照リストにおいてL1参照インデックスの示す位置の参照画像を、対象予測ブロックの参照画像に設定する。当該参照画像上のL1動きベクトルの示す位置の画素値に基づいてL1予測画像を生成する。
(S105)対象予測ブロックがL0予測のみ利用する場合、L0予測画像を対象予測ブロックの予測画像とする。他方、対象予測ブロックがL1予測のみ利用する場合、L1予測画像を対象予測ブロックの予測画像とする。他方、対象予測ブロックがL0予測とL1予測の両方を利用する場合(双予測を利用する場合)、L0予測画像とL1予測画像の加重平均を対象予測ブロックの予測画像とする。
<レイヤ間画像予測とレイヤ間参照画像リスト生成>
レイヤ間画像予測部152Bにおけるレイヤ間画像予測による予測画像生成処理と、レイヤ間参照画像リスト設定部156におけるレイヤ間参照画像リスト設定処理の詳細を説明する。
レイヤ間画像予測部152Bにおけるレイヤ間画像予測について、図8を参照して説明する。図8は、ベース復号画像を用いたレイヤ間画像予測を概略的に示す模式図である。
図8(a)に示すように、レイヤ間画像予測では、対象レイヤ(拡張レイヤ)の対象ブロック(復号される予測ブロックのことを指す(以下同様))の予測画像が、参照レイヤにおいて、時間的に該対象ブロックと同時刻に位置するピクチャ上のブロックであって、空間的に該対象ブロックに対応する位置に配置されたブロックである参照ブロック(参照される予測ブロックのことを指す(以下同様))の復号画像に基づいて生成できる。
また、図8(b)に示すように、レイヤ間画像予測では、対象レイヤ(拡張レイヤ)の対象ブロックの予測画像が、参照レイヤにおいて、時間的に該対象ブロックと異なる時刻に位置するピクチャであって、空間的に該対象ブロックに対応する位置に配置されたブロックである参照ブロックの復号画像に基づいて生成できる。
なお、対象ブロックと、参照ブロックとで、画素数が異なる場合はアップサンプルを行う構成とすればよい。また、必要に応じて、参照ブロックの復号画像に対してフィルタリング(サンプル適応オフセット(Sample Adaptive Offset;SAO)、適応ループフィルタ(Adaptive Loop Filter;ALF)、エッジ強調、ノイズ除去、インタレース解除など)を適用したベース復号画像を参照してイントラ予測画像を生成する構成としてもよい。
以下では、レイヤ間画像予測による予測画像生成に使われる参照レイヤのピクチャをベース参照画像と呼ぶ。ベース参照画像は、レイヤ間参照画像リストから選択される。
レイヤ間参照画像リスト(IL-RPL: Inter-Layer Reference Picture List)は、レイヤ間画像予測の適用時に参照可能なベース参照画像の候補リストである。IL−RPL修正情報は、パラメータセット(SPSやスライスヘッダ)に含まれる情報であり、ベース参照画像リスト内のベース参照画像の順序を示す。
より一般的には、レイヤ間参照画像リストは、対象レイヤ(拡張レイヤ)における予測画像生成時に参照可能なベース復号画像の候補リストである、とも言える。例えば、一般化残差予測と呼ばれる方式を用いる場合にも、レイヤ間参照画像リストを用いることができる。一般化残差予測は、概略的には、参照レイヤの複数の復号画像から対象ブロックの予測残差推定値を導出し、当該予測残差推定値を用いて対象ブロックの予測画像を生成する予測方法である。
レイヤ間参照画像セット(IL-RPS: Inter-Layer Reference Picture Set)は、対象レイヤ(拡張レイヤ)上の対象ピクチャ、または、復号順で対象ピクチャに後続する対象レイヤ(拡張レイヤ)上のピクチャにおいて、ベース参照画像として利用される可能性のある参照レイヤ上のピクチャの集合を表す。IL−RPS情報は、パラメータセット(SPSやスライスヘッダ)に含まれる情報であり、対象レイヤ(拡張レイヤ)上の各ピクチャの復号時に設定されるベース参照画像セットの導出に用いられる。
対象レイヤ(拡張レイヤ)上の特定のピクチャに対するレイヤ間参照画像セットに含まれない参照レイヤ上のピクチャは、復号順で当該特定ピクチャ以降の対象レイヤ(拡張レイヤ)上のピクチャの復号には用いられない。したがって、当該参照レイヤ上のピクチャが、復号順が現ピクチャより後の参照レイヤ上のピクチャの復号に用いられないのであれば、階層動画像復号装置は、参照画像セットに含まれないピクチャをベース復号画像バッファから削除できる。
<レイヤ間参照画像セットの具体例1>
ここで、参照画像セットとレイヤ間参照画像セットの具体例を、図9を参照して説明する。図9は、2レイヤからなる階層符号化データ復号時における、レイヤ間参照画像セット、レイヤ間参照画像リスト、拡張レイヤと参照レイヤの各参照画像セットと参照画像リストの状態を例示する図である。
図9(a)は、参照レイヤ上のピクチャB1、B2、B3、および、対象レイヤ(拡張レイヤ)上のピクチャE1、E2、E3の表示順とインター予測またはレイヤ間画像予測による参照関係を示している。図9(b)は、上記各ピクチャの復号順と、各ピクチャ復号時における対象レイヤ(拡張レイヤ)の参照画像セット(EL-RPS)、レイヤ間参照画像セット(IL-RPS)、参照レイヤの参照画像セット(BL-RPS)、対象レイヤ(拡張レイヤ)または参照レイヤにおけるL0参照画像リスト(L0-RPL)およびL1参照画像リスト(L1-RPL)、および、レイヤ間参照画像リスト(IL-RPL)の状態を示している。以下、復号順に従って、説明する。
(1)B1復号時:B1は参照レイヤの最初のピクチャであるため、BL-RPSは空(図中で「{}」)である。インター予測が用いられないため、L0-RPLもL1-RPLも用いられない(図中で「−」)。また、参照レイヤはベースレイヤでもあるため、レイヤ間画像予測は利用できず、IL-RPLは用いられない(B2、B3復号時も同様)。
(2)E1復号時:E1は対象レイヤ(拡張レイヤ)の最初のピクチャであるため、EL-RPSは空である。レイヤ間画像予測ではB1の復号画像を参照できる、つまり、IL-RPSおよびIL-RPLにはB1を含む。
(3)B3復号時:B3ではインター予測によりB1を参照できる。つまり、BL-RPSにB1を含む。また、L0_RPLとL1_RPLにB1を含む。
(4)E3復号時:E3ではインター予測によりE1を参照できる。つまり、EL-RPSにE1を含む。また、L0_PRLとL1_RPLにE1を含む。また、E3はレイヤ間画像予測によりB3を参照できる。つまり、IL-RPSおよびIL-RPLにはB3が含まれる。
(5)B2復号時:B2ではインター予測によりB1およびB3を参照できる。つまり、BL-RPSにB1およびB3が含まれる。L0-RPLとL1-RPLのいずれにもB1とB3が含まれるが、L0-RPLではB1、B3の順、L1-RPLではB3、B1の順となっている。
(6)E2復号時:E2ではインター予測によりE1およびE3を参照できる。つまり、EL-RPSにE1およびE3が含まれる。L0-RPLとL1-RPLのいずれにもE1とE3が含まれるが、L0-RPLではE1、E3の順、L1-RPLではE3、E1の順となっている。また、E2ではレイヤ間画像予測によりB2を参照できる。つまり、IL-RPSおよびIL-RPLにはB2が含まれる。
上記の例では、E3復号時に、IL-RPSにB1は含まれない。これは、E3よりも復号順が後の拡張レイヤ上のピクチャでは、B1がレイヤ間画像予測に用いられないことを意味する。したがって、階層動画像復号装置は、B1がBL-RPSに含まれなくなった時点で、B1の復号画像をベース復号画像バッファから削除できる。なお、IL-RPSを用いない場合は、B1がBL-RPSに含まれなくなっても、対象レイヤ(拡張レイヤ)上のピクチャでB1がレイヤ間画像予測に用いられる可能性の有無が判定できないため、ベース復号画像バッファからB1を削除できない。ゆえに、IL-RPSを用いることで、インター予測にもレイヤ間画像予測にも用いられない参照レイヤの復号画像を特定して、ベース参照画像から削除できるため、IL-RPSを用いない場合に較べてメモリ量を低減できる。
<レイヤ間参照画像セットの具体例2>
次に、参照画像セットとレイヤ間参照画像セットの別の具体例を、図10を参照して説明する。図10は、2レイヤからなる階層符号化データ復号時における、レイヤ間参照画像セット、レイヤ間参照画像リスト、対象レイヤ(拡張レイヤ)と参照レイヤの各参照画像セットと参照画像リストの状態の別の例を示す図である。図10に示す例では、参照レイヤの復号順と表示順の関係と、対象レイヤ(拡張レイヤ)の表示順と復号順の関係が一致していない点が、図9で説明した例と異なる。
図9(a)と同様に、図10(a)はピクチャB1、B2、B3、E1、E2、E3の表示順とインター予測またはレイヤ間画像予測による参照関係を示している。また、図9(b)と同様に、図10(b)は、上記各ピクチャの復号順と、各ピクチャ復号時におけるEL-RPS、IL-RPS、BL-RPS、L0-RPL、L1-RPL、および、IL-RPLの状態を示している。以下、復号順に従って、説明する。
(1)B1復号時:B1は参照レイヤの最初のピクチャであるため、BL-RPSは空である。また、インター予測が用いられないため、L0-RPLもL1-RPLも用いられない。また、参照レイヤはベースレイヤでもあるため、レイヤ間画像予測は利用できず、IL-RPLは用いられない(B2、B3復号時も同様)。
(2)B2復号時:B2ではインター予測によりB1を参照できる。つまり、BL-RPSにB1を含む。また、L0_RPLとL1_RPLにB1を含む。
(3)B3復号時:B3ではインター予測によりB1を参照できる。つまり、BL-RPSにB1が含まれる。また、L0_RPLとL1_RPLにB1を含む。
(4)E1復号時:E1は対象レイヤ(拡張レイヤ)の最初のピクチャであるため、EL-RPSは空である。レイヤ間画像予測ではB1の復号画像を参照できる、つまり、IL-RPSおよびIL-RPLにはB1を含む。
(5)E3復号時:E3ではインター予測によりE1を参照できる。つまり、EL-RPSにE1を含む。また、L0_PRLとL1_RPLにE1を含む。また、E3はレイヤ間画像予測によりB3を参照できる。つまり、IL-RPLにはB3が含まれる。なお、B1はE3におけるレイヤ間画像予測では参照されないが、E3より後に復号されるE2においてレイヤ間画像予測で参照される。そのため、IL-RPSにはB3に加えてB1も含まれる。
(6)E2復号時:E2ではインター予測によりE1およびE3を参照できる。つまり、EL-RPSにE1およびE3が含まれる。L0-RPLとL1-RPLのいずれにもE1とE3が含まれるが、L0-RPLではE1、E3の順、L1-RPLではE3、E1の順となっている。また、E2ではレイヤ間画像予測によりB1およびB3を参照できる。つまり、IL-RPSおよびIL-RPLにはB1およびB3が含まれる。
上記の例では、B3復号時のBL-RPSにB2が含まれない。従って、B3復号時点で、B2がB3以降の参照レイヤ上のピクチャ復号時に参照されないことが分かる。E1復号時には、IL-RPSにB2は含まれない。従って、E1復号時点で、B2がE1以降の拡張レイヤ上のピクチャ復号時に参照されないことが分かる。そのため、E1復号時点で、B2をベース参照画像バッファから削除できる。
上記の2つの例で示したように、レイヤ間参照画像セットを利用することで、動画像復号装置において、参照レイヤの復号画像が予測画像生成に用いられなくなるタイミングを特定して、ベース復号画像バッファから削除でき、それにより、メモリ量を低減できる。レイヤ間参照画像セットを利用する方式は、参照レイヤと対象レイヤ(拡張レイヤ)の復号順および各ピクチャの予測画像生成時に利用する参照レイヤの復号画像があらかじめ決まっていない場合にも有効である。
(可変長復号部)
前述の通り、可変長復号部12は、入力された符号化データから、予測情報、CU情報、パラメータセットを復号して、適切な出力先に出力する。ここでは、本発明に関わりの深い参照画像セット、参照画像リスト、レイヤ間参照画像セット、および、レイヤ間参照画像リストに係るシンタックスの復号について詳細を説明する。また、復号シンタックスから参照画像セット、参照画像リスト、レイヤ間参照画像セット、および、レイヤ間参照画像リストを導出する処理についても説明する。
<参照画像セット復号処理>
RPS情報は、参照画像セットを構築するためにSPSまたはスライスヘッダより復号される情報である。RPS情報には以下を含む。
1.SPS短期RPS情報:SPSに含まれる短期参照画像セット情報
2.SPS長期RP情報:SPSに含まれる長期参照画像情報
3.SH短期RPS情報:スライスヘッダに含まれる短期参照画像セット情報
4.SH長期RP情報:スライスヘッダに含まれる長期参照画像情報
(1.SPS短期RPS情報)
SPS短期RPS情報は、SPSを参照する各ピクチャから利用され得る複数の短期参照画像セットの情報を含む。なお、短期参照画像セットとは、対象ピクチャに対する相対的な位置(例えば対象ピクチャとのPOC差分)により指定される参照画像(短期参照画像)となり得るピクチャの集合である。
SPS短期RPS情報の復号について、図11を参照して説明する。図11は、SPS復号時に利用されるSPSシンタックス表の一部を例示している。図11の(A)の部分がSPS短期RPS情報に相当する。SPS短期RPS情報には、SPSに含まれる短期参照画像セットの数(num_short_term_ref_pic_sets)、および、各短期参照画像セットの情報(short_term_ref_pic_set(i))が含まれる。
短期参照画像セット情報について、図12を参照して説明する。図12は、SPS復号時、および、スライスヘッダ復号時に利用される短期参照画像セットのシンタックス表を例示している。
短期参照画像セット情報には、対象ピクチャより表示順が早い短期参照画像数(num_negative_pics)、および、対象ピクチャより表示順が遅い短期参照画像数(num_positive_pics)が含まれる。なお、以下では、対象ピクチャより表示順が早い短期参照画像を前方短期参照画像、対象ピクチャより表示順が遅い短期参照画像を後方短期参照画像と呼ぶ。
また、短期参照画像セット情報には、各前方短期参照画像に対して、対象ピクチャに対するPOC差分の絶対値(delta_poc_s0_minus1[i])、および、対象ピクチャの参照画像として使用される可能性の有無(used_by_curr_pic_s0_flag[i])が含まれる。加えて、各後方短期参照画像に対して、対象ピクチャに対するPOC差分の絶対値(delta_poc_s1_minus1[i])、および、対象ピクチャの参照画像として使用される可能性の有無(used_by_curr_pic_s1_flag[i])が含まれる。
(2.SPS長期RP情報)
SPS長期RP情報は、SPSを参照する各ピクチャから利用され得る複数の長期参照画像の情報を含む。なお、長期参照画像とは、シーケンス内の絶対的な位置(例えばPOC)により指定されるピクチャである。
SPS長期RP情報の復号について、図11を再び参照して説明する。図11の(B)の部分がSPS長期RP情報に相当する。SPS長期RP情報には、SPSで伝送される長期参照画像の有無を示す情報(long_term_ref_pics_present_flag)、SPSに含まれる長期参照画像の数(num_long_term_ref_pics_sps)、および、各長期参照画像の情報が含まれる。長期参照画像の情報には、参照画像のPOC(lt_ref_pic_poc_lsb_sps[i])、および、対象ピクチャの参照画像として使用される可能性の有無(used_by_curr_pic_lt_sps_flag[i])が含まれる。
なお、上記参照画像のPOCは、参照画像に関連付けられたPOCの値自体であってもよいし、POCのLSB(Least Significant Bit)、すなわち、POCを既定の2の冪乗の数で割った余りの値を用いてもよい。
(3.SH短期RPS情報)
SH短期RPS情報は、スライスヘッダを参照するピクチャから利用され得る単一の短期参照画像セットの情報を含む。
SPS短期RPS情報の復号について、図13を参照して説明する。図13は、スライスヘッダ復号時に利用されるスライスヘッダシンタックス表の一部を例示している。図13の(A)の部分がSH短期RPS情報に相当する。SH短期RPS情報は、短期参照画像セットをSPSで復号済みの短期参照画像セットの中から選択するか、スライスヘッダに明示的に含めるかを示すフラグ(short_term_ref_pic_set_sps_flag)を含む。SPSで復号済の中から選択する場合、復号済の短期参照画像セットを一つ選択する識別子(short_term_ref_pic_set_idx)が含まれる。スライスヘッダに明示的に含める場合は、前述の図12を参照して説明したシンタックス表(short_term_ref_pic_set(idx))に相当する情報が、SPS短期RPS情報に含まれる。
(4.SH長期RP情報)
SH長期RP情報は、スライスヘッダを参照するピクチャから利用され得る長期参照画像の情報を含む。
SH長期RP情報の復号について、図13を再び参照して説明する。図13の(B)の部分がSH長期RP情報に相当する。SH長期RP情報は、対象ピクチャで長期参照画像が利用可能(long_term_ref_pic_present_flag)である場合のみスライスヘッダに含まれる。SPSで1以上の長期参照画像を復号済である場合(num_long_term_ref_pics_sps>0)、SPSで復号済の長期参照画像の中で対象ピクチャで参照され得る参照画像の数(num_long_term_sps)がSH長期RP情報に含まれる。また、スライスヘッダで明示的に伝送される長期参照画像数(num_long_term_pics)がSH長期RP情報に含まれる。加えて、上記num_long_term_spsの数の長期参照画像をSPSで伝送済の長期参照画像の中から選択する情報(lt_idx_sps[i])がSH長期RP情報に含まれる。さらに、スライスヘッダに明示的に含める長期参照画像の情報として、上記num_long_term_picsの数だけ、参照画像のPOC(poc_lsb_lt [i])、および、対象ピクチャの参照画像として使用される可能性の有無(used_by_curr_pic_lt_flag[i])が含まれる。
<参照画像リスト復号処理>
RPL修正情報は、参照画像リストRPLを構築するためにSPSまたはスライスヘッダより復号される情報である。RPL修正情報には、SPSリスト修正情報、および、SHリスト修正情報が含まれる。
(SPSリスト修正情報)
SPSリスト修正情報はSPSに含まれる情報であり、参照画像リスト修正の制約に係る情報である。SPSリスト修正情報について、図11を再び参照して説明する。図11の(C)の部分がSPSリスト修正情報に相当する。SPSリスト修正情報には、ピクチャに含まれる前スライスで参照画像リストが共通か否かを示すフラグ(restricted_ref_pic_lists_flag)、および、スライスヘッダ内にリスト並べ替えに関する情報が存在するか否かを示すフラグ(lists_modification_present_flag)が含まれる。
(SHリスト修正情報)
SHリスト修正情報はスライスヘッダに含まれる情報であり、対象ピクチャに適用される参照画像リストの長さ(参照リスト長)の更新情報、および、参照画像リストの並べ替え情報(参照リスト並べ替え情報)が含まれる。SHリスト修正情報について、図14を参照して説明する。図14はスライスヘッダ復号時に利用されるスライスヘッダシンタックス表の一部を例示している。図14の(C)の部分がSHリスト修正情報に相当する。
参照リスト長更新情報として、リスト長の更新有無を示すフラグ(num_ref_idx_active_override_flag)が含まれる。加えて、L0参照リストの変更後の参照リスト長を表す情報(num_ref_idx_l0_active_minus1)、および、L1参照リストの変更後の参照リスト長を表す情報(num_ref_idx_l1_active_minus1)が含まれる。
参照リスト並べ替え情報としてスライスヘッダに含まれる情報について、図15を参照して説明する。図15はスライスヘッダ復号時に利用される参照リスト並べ替え情報のシンタックス表を例示している。
参照リスト並べ替え情報には、L0参照リスト並べ替え有無フラグ(ref_pic_list_modification_flag_l0)が含まれる。前記フラグの値が1(L0参照リストの並べ替えが有る場合)、かつ、NumPocTotalCurrが2より大きい場合、L0参照リスト並べ替え順序(list_entry_l0[i])が参照リスト並べ替え情報に含まれる。ここで、NumPocTotalCurrは、現ピクチャにおいて利用可能な参照画像の数を表す変数である。したがって、L0参照リストの並べ替えが有る場合であって、かつ、現ピクチャにおいて利用可能な参照画像数が2より大きい場合にのみ、L0参照リスト並べ替え順序がスライスヘッダに含まれる。
同様に、参照画像がBスライスである場合、つまり、対象ピクチャにおいてL1参照リストが利用可能である場合、L1参照リスト並べ替え有無フラグ(ref_pic_list_modification_flag_l1)が参照リスト並べ替え情報に含まれる。前記フラグの値が1、かつ、NumPocTotalCurrが2より大きい場合、L1参照リスト並べ替え順序(list_entry_l1[i])が参照リスト並べ替え情報に含まれる。言い換えると、L1参照リストの並べ替えが有る場合であって、かつ、現ピクチャにおいて利用可能な参照画像数が2より大きい場合にのみ、L1参照リスト並べ替え順序がスライスヘッダに含まれる。
<参照画像セット構築処理>
上記の各シンタックス値に基づく参照画像セット導出処理の詳細を説明する。なお、参照画像セット導出処理は、本実施形態においては、テクスチャ復元部15内の参照画像リスト設定部155で実行される。
RPS情報と、復号画像バッファ13に記録されている情報に基づいて、対象ピクチャの復号に用いる参照画像セットRPSを生成する。参照画像セットRPSは、対象ピクチャ、または、対象ピクチャに復号順で後続の同一レイヤ上のピクチャにおいて、復号時に参照画像として利用可能なピクチャ(参照可能ピクチャ)の集合である。参照画像セットは、参照可能ピクチャの種類に応じて次の2つのサブセットに分けられる。
・現ピクチャ参照可能リストListCurr:復号画像バッファ上のピクチャのうち、対象ピクチャにおける参照可能ピクチャのリスト
・後続ピクチャ参照可能リストListFoll:対象ピクチャでは参照されないが、対象ピクチャに復号順で後続のピクチャで参照可能な復号画像バッファ上のピクチャのリスト
なお、現ピクチャ参照可能リストに含まれるピクチャの数を、現ピクチャ参照可能ピクチャ数NumCurrListと呼ぶ。なお、前述の図15を参照して説明したNumPocTotalCurrは、NumCurrListと同一である。
現ピクチャ参照可能リストは、さらに3つの部分リストから構成される。
・現ピクチャ長期参照可能リストListLtCurr:SPS長期RP情報またはSH長期RP情報により指定される現ピクチャ参照可能ピクチャ
・現ピクチャ短期前方参照可能リストListStCurrBefore:SPS短期RPS情報またはSH短期RPS情報により指定される現ピクチャ参照可能ピクチャであって、表示順が対象ピクチャより早いもの
・現ピクチャ短期後方参照可能リストListStCurrAfter:SPS短期RPS情報またはSH短期RPS情報により指定される現ピクチャ参照可能ピクチャであって、表示順が対象ピクチャより早いもの
後続ピクチャ参照可能リストは、さらに2つの部分リストから構成される。
・後続ピクチャ長期参照可能リストListLtFoll:SPS長期RP情報またはSH長期RP情報により指定される後続ピクチャ参照可能ピクチャ。
・後続ピクチャ短期参照可能リストListStFoll:SPS短期RPS情報またはSH短期RPS情報により指定される現ピクチャ参照可能ピクチャ。
参照画像リスト設定部155は、参照画像セットRPS、すなわち、現ピクチャ短期前方参照可能リストListStCurrBefore、現ピクチャ短期後方参照可能リストListStCurrAfter、現ピクチャ長期参照可能リストListLtCurr、後続ピクチャ短期参照可能リストListStFoll、および、後続ピクチャ長期参照可能リストListLtFollを次の手順で生成する。加えて、現ピクチャ参照可能ピクチャ数を表す変数NumPocTotalCurrを導出する。なお、前記各参照可能リストは、以下の処理の開始前に空に設定されているとする。
(S201)SPS短期RPS情報、および、SH短期RPS情報に基づいて、対象ピクチャの復号に用いる単一の短期参照画像セットを特定する。具体的には、SH短期RPS情報に含まれるshort_term_ref_pic_set_spsの値が0である場合、SH短期RPS情報に含まれるスライスヘッダで明示的に伝送された短期RPSを選択する。それ以外(short_term_ref_pic_set_spsの値が1の場合、SH短期RPS情報に含まれるshort_term_ref_pic_set_idxが示す短期RPSを、SPS短期RPS情報に含まれる複数の短期RPSの中から選択する。
(S202)選択された短期RPSに含まれる参照画像各々のPOCの値を導出し、復号画像バッファ13上に当該POC値と関連付けられて記録されている局所復号画像の位置を検出して、参照画像の復号画像バッファ上の記録位置として導出する。
参照画像のPOC値は、参照画像が前方短期参照画像の場合、対象ピクチャのPOCの値から「delta_poc_s0_minus1[i]+1」の値を減算して導出する。一方、参照画像が後方短期参照画像の場合、対象ピクチャのPOCの値に「delta_poc_s1_minus1[i]+1」の値を加算して導出する。
(S203)短期RPSに含まれる前方参照画像を伝送された順に確認し、関連付けられているused_by_curr_pic_s0_flag[i]の値が1である場合、当該前方参照画像を現ピクチャ短期前方参照可能リストListStCurrBeforeに追加する。それ以外(used_by_curr_pic_s0_flag[i]の値が0)の場合、当該前方参照画像を後続ピクチャ短期参照可能リストListStFollに追加する。
(S204)短期RPSに含まれる後方参照画像を伝送された順に確認し、関連付けられているused_by_curr_pic_s1_flag[i]の値が1である場合、当該後方参照画像を現ピクチャ短期後方参照可能リストListStCurrAfterに追加する。それ以外(used_by_curr_pic_s1_flag[i]の値が0の場合、当該前方参照画像を後続ピクチャ短期参照可能リストListStFollに追加する。
(S205) SPS長期RP情報、および、SH長期RP情報に基づいて、対象ピクチャの復号に用いる長期参照画像セットを特定する。具体的には、num_long_term_spsの数の参照画像をSPS長期RP情報に含まれる参照画像の中から選択して、順に長期参照画像セットに追加する。選択される参照画像は、lt_idx_sps[i]の示す参照画像である。続いて、num_long_term_picsの数の参照画像をSH長期RP情報に含まれる参照画像を順に長期参照画像セットに追加する。
(S206)長期参照画像セットに含まれる参照画像各々のPOCの値を導出し、復号画像バッファ13上に当該POC値と関連付けられて記録されている局所復号画像の位置を検出して、参照画像の復号画像バッファ上の記録位置として導出する。
長期参照画像のPOCは、関連付けて復号されたpoc_lst_lt[i]、または、lt_ref_pic_poc_lsb_sps[i]の値から直接導出される。
(S207)長期参照画像セットに含まれる参照画像を順に確認し、関連付けられているused_by_curr_pic_lt_flag[i]、または、used_by_curr_pic_lt_sps_flag[i]の値が1である場合、当該長期参照画像を現ピクチャ長期参照可能リストListLtCurrに追加する。それ以外(used_by_curr_pic_lt_flag[i]、または、used_by_curr_pic_lt_sps_flag[i]の値が0)の場合、当該長期参照画像を後続ピクチャ長期参照可能リストListLtFollに追加する。
(S208)変数NumPocTotalCurrの値を、現ピクチャから参照可能な参照画像の和に設定する。すなわち、変数NumPocTotalCurrの値を、現ピクチャ短期前方参照可能リストListStCurrBefore、現ピクチャ短期後方参照可能リストListStCurrAfter、および、現ピクチャ長期参照可能リストListLtCurrの3つのリストの各要素数の和に設定する。
<参照画像リスト構築処理>
参照画像リスト構築処理の詳細を説明する。参照画像リスト導出部は、参照画像セットRPSと、RPL修正情報に基づいて参照画像リストRPLを生成する。
参照画像リストはL0参照リストとL1参照リストの2つのリストから構成される。始めに、L0参照リストの構築手順を説明する。L0参照リストは、以下のS301〜S307に示す手順で構築される。
(S301)暫定L0参照リストを生成して、空のリストに初期化する。
(S302)暫定L0参照リストに対し、現ピクチャ短期前方参照可能リストに含まれる参照画像を順に追加する。
(S303)暫定L0参照リストに対し、現ピクチャ短期後方参照可能リストに含まれる参照画像を順に追加する。
(S304)暫定L0参照リストに対し、現ピクチャ長期参照可能リストに含まれる参照画像を順に追加する。
(S305)参照画像リストが修正される場合(RPL修正情報に含まれるlists_modification_present_flagの値が1の場合)、以下のS306a〜S306bの処理を実行する。そうでない場合(lists_modification_present_flagの値が0の場合)、S307の処理を実行する。
(S306a)L0参照画像の修正が有効な場合(RPL修正情報に含まれるref_pic_list_modification_flag_l0の値が1の場合)であって、かつ、現ピクチャ参照可能ピクチャ数NumCurrListが2に等しい場合、S306bを実行する。そうでない場合、S306cを実行する。
(S306b)RPL修正情報に含まれるリスト並べ替え順序list_entry_l0[i]の値を下記の式により設定し、その後、S306cを実行する。
list_entry_l0[0] = 1
list_entry_l0[1] = 0
(S306c)参照リスト並べ替え順序list_entry_l0[i]の値に基づいて、暫定L0参照リストの要素を並べ換えて、L0参照リストとする。参照画像インデックスrIdxに対応するL0参照リストの要素RefPicList0[rIdx]は、次式により導出される。ここで、RefListTemp0[i]は、暫定L0参照リストのi番目の要素を表す。
RefPicList0[ rIdx ] = RefPicListTemp0[ list_entry_l0[ rIdx ] ]
上記の式によれば、参照リスト並べ替え順序list_entry_l0[i]において、参照画像インデックスrIdxの示す位置に記録されている値を参照し、暫定L0参照リストにおいて前記値の位置に記録されている参照画像を、L0参照リストのrIdxの位置の参照画像として格納する。
(S307)暫定L0参照リストをL0参照リストとする。
次にL1参照リストを構築する。なお、L1参照リストも、上記L0参照リストと同様の手順で構築できる。上記L0参照リストの構築手順(S301〜S307)において、L0参照画像、L0参照リスト、暫定L0参照リスト、list_entry_l0をそれぞれ、L1参照画像、L1参照リスト、暫定L1参照リスト、list_entry_l1と置き換えればよい。
<レイヤ間参照画像セット復号処理>
IL−RPS情報(レイヤ間参照画像セット情報)は、レイヤ間参照画像セットを構築するためにSPSまたはスライスヘッダより復号される情報である。なお、対象ピクチャは対象レイヤ(拡張レイヤ)上のピクチャであるため、以下の説明におけるSPSやスライスヘッダは、対象レイヤ(拡張レイヤ)のピクチャ復号時に参照されるSPSやスライスヘッダを意味する。図16はIL−RPS情報に係るSPSシンタックス表(seq_parameter_set_rbsp)の一部を示す図である。SPSには、IL−RPS情報であるシンタックス要素として、SPSレイヤ間RPS推定フラグ(sps_infer_inter_layer_rps_flag)、および、レイヤ間RPS数(num_inter_layer_ref_pic_sets)を含む。また、IL−RPS情報であるシンタックス構造として、レイヤ間RPS(inter_layer_ref_pic_set(i))を含む。
SPSレイヤ間RPS推定フラグは、SPSが適用されるシーケンスにおいて、レイヤ間参照画像セットが推定されるか否かを示すフラグである。SPSレイヤ間RPS推定フラグの値が1の場合、レイヤ間参照画像セットが推定されることを示し、同フラグの値が0の場合、レイヤ間参照画像セットが明示的符号化データから復号されることを示す。レイヤ間参照画像セットが推定される場合、例えば、各ピクチャにおけるレイヤ間参照画像セットは、当該ピクチャと出力順が等しい参照レイヤ上のピクチャにおける参照画像セットを複製することで実現できる。また、例えば、各ピクチャにおける参照画像セットをコピーして、複製した参照画像セットに含まれる拡張レイヤ上のピクチャの復号画像を、それぞれ出力順の等しい参照レイヤ上のピクチャにおける復号画像に置き換えることでも実現できる。
レイヤ間RPS数は、SPSに含まれるレイヤ間参照画像セット情報の数を示す。SPSには、レイヤ間RPS数と等しい個数のレイヤ間参照画像セット情報が含まれる。
レイヤ間参照画像セット情報について、図17を参照して説明する。図17は、SPS復号時、および、スライスヘッダ復号時に利用されるレイヤ間参照画像セット(inter_layer_ref_pic_set)のシンタックス表を例示している。
レイヤ間参照画像セット情報には、対象ピクチャより表示順が早いレイヤ間参照画像数(num_negative_il_pics)、および、対象ピクチャより表示順が遅いレイヤ間参照画像数(num_positive_il_pics)が含まれる。なお、以下では、対象ピクチャより表示順が早いレイヤ間参照画像を前方レイヤ間参照画像、対象ピクチャより表示順が遅いレイヤ間参照画像を後方レイヤ間参照画像と呼ぶ。
また、レイヤ間参照画像セット情報には、各前方レイヤ間参照画像に対して、対象ピクチャに対するPOC差分の絶対値(delta_poc_il_s0_minus1[i])、および、対象ピクチャがレイヤ間参照画像として使用される可能性の有無(used_by_curr_pic_il_s0_flag[i])が含まれる。num_negative_pics、delta_poc_il_s0_minus[i]、used_by_curr_pic_il_s0_flag[i]はレイヤ間参照画像セットに含まれる前方レイヤ間参照画像を示すレイヤ間参照画像セット情報である。
加えて、各後方レイヤ間参照画像に対して、対象ピクチャに対するPOC差分の絶対値(delta_poc_il_s1_minus1[i])、および、対象ピクチャがレイヤ間参照画像として使用される可能性の有無(used_by_curr_pic_il_s1_flag[i])が含まれる。num_positive_pics、delta_poc_il_s1_minus[i]、used_by_curr_pic_il_s1_flag[i]はレイヤ間参照画像セット内の後方レイヤ間参照画像を示すレイヤ間参照画像セット情報である。
加えて、レイヤ間参照画像セット情報には、対象ピクチャと表示順(POC)が等しい参照レイヤ上のピクチャ(同時刻レイヤ間参照画像)がレイヤ間参照画像セットに含まれるか否かを示すフラグ(il_col_pic_in_rps_flag)を含む。同時刻レイヤ間参照画像がレイヤ間参照画像セットに含まれる場合(il_col_pic_in_rps_flagが1の場合)、同時刻レイヤ間参照画像が対象ピクチャのレイヤ間参照画像として使用される可能性の有無(used_by_curr_pic_il_col_flag)が含まれる。il_col_pic_in_rps_flagとused_by_curr_pic_il_col_flagは、レイヤ間参照画像セット内の同時刻レイヤ間参照画像を示すレイヤ間参照画像セット情報である。
上記、図17を参照して説明したレイヤ間参照画像セット情報のシンタックス表には次の特徴がある。すなわち、レイヤ間参照画像セット情報の前半部分(図中のAの部分)には、レイヤ間同時刻ピクチャを除く参照レイヤのピクチャに係るレイヤ間参照ピクチャ情報が含まれている。加えて、前記前半部分のシンタックス構造は、図12を参照して説明した短期参照画像セットのシンタックス構造と同じ構造となっている。ここで、同じ構造とは、同一のパース処理によりシンタックス値を復号できることを意味する。後半部分(図中のBの部分)には、レイヤ間同時刻ピクチャに関するレイヤ間参照ピクチャ情報が含まれている。
上記のようなレイヤ間参照画像のシンタックス構造を用いることで、前半部分のパース処理に、短期参照画像セットに用いるパース処理を流用できるため、階層動画像復号装置の実装を単順化できるという利点がある。
なお、上記のシンタックス構造の例では、表示時刻の基準としてPOCを用いることを仮定しているが、それに限らない。例えば、ピクチャ毎に表示時刻が直接関連付けられている場合には、表示時刻の差分をPOC差分を表すシンタックス値(delta_poc_il_s0_minus1、および、delta_poc_il_s1_minus)に設定しても構わない。
図18はIL−RPS情報に係るスライスヘッダシンタックス表(seq_parameter_set_rbsp)の一部を示す図である。スライスヘッダ内のIL−RPS情報は、スライスヘッダを参照するピクチャから利用され得る単一のレイヤ間参照画像セットの情報を含む。
スライスヘッダ内のIL−RPS情報(SH−IL−RPS情報)の復号について、図18を参照して説明する。図18は、スライスヘッダ復号時に利用されるスライスヘッダシンタックス表の一部を例示している。SH−IL−RPS情報は、レイヤ間参照画像セットが推定されるない場合(sps_infer_inter_layer_rps_flagが0の場合)に復号される。SH―IL−RPS情報は、レイヤ間参照画像セットをSPSで復号済みのレイヤ間参照画像セットの中から選択するか、スライスヘッダに明示的に含めるかを示すフラグ(il_ref_pic_set_sps_flag)を含む。SPSで復号済の中から選択する場合、復号済のレイヤ間参照画像セットから一つのセットを選択する識別子(il_ref_pic_set_idx)がSH―IL−RPS情報に含まれる。スライスヘッダに明示的に含める場合は、前述の図17を参照して説明したシンタックス表(inter_layer_ref_pic_set())に相当する情報がSH―IL−RPS情報に含まれる。
<レイヤ間参照画像リスト復号処理>
レイヤ間参照画像リスト修正情報(IL−RPL修正情報)はスライスヘッダに含まれる情報であり、対象ピクチャに適用されるレイヤ間参照画像リストの長さ(レイヤ間参照リスト長)の更新情報、および、参照画像リストの並べ替え情報(レイヤ間参照リスト並べ替え情報)が含まれる。IL−RPL修正情報について、図20を参照して説明する。図20はスライスヘッダ復号時に利用されるスライスヘッダシンタックス表のおいて、レイヤ間参照画像リスト情報に係る部分を例示している。
レイヤ間参照リスト長更新情報として、リスト長の更新有無を示すフラグ(num_il_ref_idx_active_override_flag)が含まれる。加えて、レイヤ間参照リストの変更後の参照リスト長を表す情報(num_il_ref_idx_ active_minus1)が含まれる。
レイヤ間参照リスト並べ替え情報としてスライスヘッダに含まれる情報について、図21を参照して説明する。図21はスライスヘッダ復号時に利用されるレイヤ間参照リスト並べ替え情報のシンタックス表を例示している。
レイヤ間参照リスト並べ替え情報には、レイヤ間参照画像リスト並べ替え有無フラグ(il_ref_pic_list_modification_flag)が含まれる。前記フラグの値が1(レイヤ間参照画像リストを並べ替える場合)、レイヤ間参照画像リスト並べ替え順序(list_entry_il[i])が参照画像リスト並べ替え情報に含まれる。
<レイヤ間参照画像セット構築処理>
上記の各シンタックス値に基づくレイヤ間参照画像セット構築処理の詳細を説明する。なお、参照画像セット導出処理は、本実施形態においては、テクスチャ復元部15内のレイヤ間参照画像リスト設定部156で実行される。
IL−RPS情報と、ベース復号画像バッファ17に記録されている情報に基づいて、対象ピクチャの復号に用いるレイヤ間参照画像セットILRPSを生成する。レイヤ間参照画像セットILRPSは、対象ピクチャ、または、対象ピクチャに復号順で後続の対象レイヤ上のピクチャにおいて、復号時にベース参照画像として利用可能な参照レイヤ上のピクチャの集合(レイヤ間参照可能ピクチャの集合)である。レイヤ間参照画像セットは、レイヤ間参照可能ピクチャの種類に応じて次の2つのサブセットに分けられる。
・現レイヤ間参照可能リストListIlCurr:ベース復号画像バッファ上のピクチャのうち、対象ピクチャにおけるレイヤ間参照可能ピクチャのリスト
・後続レイヤ間参照可能リストListIlFoll:対象ピクチャでは参照されないが、対象ピクチャに復号順で後続の拡張レイヤ上のピクチャで参照可能なベース復号画像バッファ上のピクチャのリスト
なお、現レイヤ間参照可能リストに含まれるピクチャの数を、現レイヤ間参照可能ピクチャ数NumIlCurrListと呼ぶ。
現レイヤ間参照可能リストは、さらに3つの部分リストから構成される。
・現レイヤ間前方参照可能リストListIlCurrBefore:IL−RPS情報により指定される現レイヤ間参照可能ピクチャであって、表示順が対象ピクチャより早いもの。
・現レイヤ間後方参照可能リストListIlCurrAfter:IL−RPS情報により指定される現レイヤ間参照可能ピクチャであって、表示順が対象ピクチャより早いもの。
・現レイヤ間同時刻参照可能ピクチャリストListIlCurrCol:IL−RPS情報により指定される現レイヤ間参照可能ピクチャであって、表示順が対象ピクチャと同じもの。
後続レイヤ間参照可能リストは、次の通り定義される。
・後続レイヤ間参照可能リスト(ListIlFoll):IL−RPS情報により指定される後続レイヤ間参照可能ピクチャ。
レイヤ間参照画像リスト設定部156は、レイヤ間参照画像セットILRPS、すなわち、現レイヤ間前方参照可能リストListIlCurrBefore、現レイヤ間後方参照可能リストListIlCurrAfter、および、後続レイヤ間参照可能リストListIlFollを次の手順で生成する。加えて、現レイヤ間参照可能ピクチャ数を表す変数NumIlPocTotalCurrを導出する。なお、前記各レイヤ間参照可能リストは、以下の処理の開始前に空に設定されているとする。
(S401)SPSおよびスライスヘッダより復号されたIL−RPS情報に基づいて、対象ピクチャの復号に用いる単一のレイヤ間参照画像セットを特定する。具体的には、スライスヘッダのIL−RPS情報に含まれるil_ref_pic_set_sps_flagの値が0である場合、スライスヘッダで明示的に伝送されたレイヤ間参照画像セットを選択する。それ以外(il_ref_pic_set_sps_flagの値が1の場合)、IL−RPS情報に含まれるil_ref_pic_set_idxが示すレイヤ間参照画像セットを、SPSで復号されたIL−RPS情報に含まれる複数のレイヤ間参照画像セットの中から選択する。
(S402)選択されたレイヤ間参照画像セットに含まれるレイヤ間参照画像各々のPOCの値を導出し、ベース復号画像バッファ17上に当該POC値と関連付けられて記録されている参照レイヤの復号画像の位置を検出して、レイヤ間参照画像の復号画像バッファ上の記録位置として導出する。
レイヤ間参照画像のPOC値は、レイヤ間参照画像が前方レイヤ間参照画像の場合、対象ピクチャのPOCの値から「delta_poc_il_s0_minus1[i]+1」の値を減算して導出する。一方、レイヤ間参照画像が後方短期参照画像の場合、対象ピクチャのPOCの値に「delta_poc_il_s1_minus1[i]+1」の値を加算して導出する。
(S403)レイヤ間参照画像セットに含まれる前方レイヤ間参照画像を伝送された順に確認し、関連付けられているused_by_curr_pic_il_s0_flag[i]の値が1である場合、当該前方レイヤ間参照画像を現レイヤ間前方参照可能リストListIlCurrBeforeに追加する。それ以外(used_by_curr_pic_il_s0_flag[i]の値が0)の場合、当該前方レイヤ間参照画像を後続レイヤ間参照可能リストListIlFollに追加する。
(S404)レイヤ間参照画像セットに含まれる後方レイヤ間参照画像を伝送された順に確認し、関連付けられているused_by_curr_pic_il_s1_flag[i]の値が1である場合、当該後方レイヤ間参照画像を現レイヤ間後方参照可能リストListIlCurrAfterに追加する。それ以外(used_by_curr_pic_il_s1_flag[i]の値が0)の場合、当該前方レイヤ間参照画像を後続レイヤ間参照可能リストListIlFollに追加する。
(S405)レイヤ間参照画像セットに含まれる対象ピクチャと同時刻の表示順のレイヤ間参照画像を確認し、関連付けられているused_by_curr_pic_il_col_flagの値が1である場合、当該レイヤ間参照画像を現レイヤ間同時刻参照可能リストListIlCurrColに追加する。それ以外(used_by_curr_pic_il_col_flagの値が0)の場合、当該レイヤ間参照画像を後続レイヤ間参照可能リストListIlFollに追加する。
(S406)変数NumIlPocTotalCurrの値を、現ピクチャから参照可能なレイヤ間参照画像の和に設定する。すなわち、変数NumIlPocTotalCurrの値を、現レイヤ間前方参照可能リストListIlCurrBefore、および、現レイヤ間後方参照可能リストListIlCurrAfterの各要素数の和に設定する。
上記手順により、可変長復号部12で復号されたレイヤ間参照画像セットに係るシンタックスに基づいて、レイヤ間参照画像リスト設定部156において、対象ピクチャの復号に用いるレイヤ間参照画像セットを構築できる。なお、上記のレイヤ間参照画像セットに係るシンタックス、および、レイヤ間参照画像リスト導出処理は、あくまで例示であって、上記以外のシンタックスや構築処理によりレイヤ間参照画像リストを導出してもよい。
上記手順で構築されるレイヤ間参照画像セットは、対象ピクチャ、または、対象ピクチャに出力順で後続の対象レイヤ上のピクチャの復号に用いられる可能性のあるベース復号画像の集合(レイヤ間参照可能ピクチャの集合)を含んでいる。そのため、レイヤ間参照画像セットに基づいて、対象ピクチャ復号時にベース復号画像バッファ17に保持しておくべき参照レイヤの復号画像(ベース復号画像)を特定できる。したがって、レイヤ間参照画像セットを用いることで、必要最低限のベース復号画像のみをベース復号画像バッファ17に残しておくことで、ベース復号画像バッファのメモリ量を削減できる。
また、上記手順で構築されるレイヤ間参照画像セットは、対象ピクチャの復号に用いられる可能性のあるベース復号画像の集合(現レイヤ間参照可能リスト)を含んでいる。そのため、テクスチャ復元部15では、現レイヤ間参照可能リストに含まれるベース復号画像の中からベース参照画像を選択してレイヤ間予測画像を生成できる。したがって、対象ピクチャと同一出力順のベース復号画像のみをベース参照画像としてレイヤ間予測画像を生成する場合に較べて、入力画像に近い予測画像を生成できるため、予測残差の符号量を減らすことができ、結果として、少ない符号量の対象レイヤの階層符号化データを生成できる。
<レイヤ間参照画像リスト構築処理>
レイヤ間参照画像リスト構築処理の詳細を説明する。テクスチャ復元部15内のレイヤ間参照画像リスト設定部156は、レイヤ間参照画像セットILRPSと、IL−RPL修正情報に基づいてレイヤ間参照画像リストILRPLを生成する。
レイヤ間参照画像リスト(IL参照リスト)は、以下のS501〜S507に示す手順で構築される。
(S501)暫定IL参照リストを生成して、空のリストに初期化する。
(S502)暫定IL参照リストに対し、現レイヤ間同時刻参照可能リストに含まれる参照画像を順に追加する。
(S503)暫定IL参照リストに対し、現レイヤ間前方参照可能リストに含まれる参照画像を順に追加する。
(S504)暫定IL参照リストに対し、現レイヤ間後方参照可能リストに含まれる参照画像を順に追加する。
(S505)レイヤ間参照画像リストが修正される場合(RPL修正情報に含まれるlists_modification_present_flagの値が1の場合)、以下のS506の処理を実行する。そうでない場合(lists_modification_present_flagの値が0の場合)、S507の処理を実行する。
(S506)レイヤ間参照リスト並べ替え順序list_entry_il[i]の値に基づいて、暫定IL参照リストの要素を並べ換えて、IL参照リストとする。参照画像インデックスrIdxに対応するIL参照リストの要素RefPicListIl[rIdx]は、次式により導出される。ここで、RefListTempIl[i]は、暫定IL参照リストのi番目の要素を表す。
RefPicListIl[ rIdx ] = RefPicListTempIl[ list_entry_il[ rIdx ] ]
上記の式によれば、レイヤ間参照リスト並べ替え順序list_entry_il[i]において、参照画像インデックスrIdxの示す位置に記録されている値を参照し、暫定IL参照リストにおいて前記値の位置に記録されているレイヤ間参照画像を、IL参照リストのrIdxの位置のレイヤ間参照画像として格納する。その後、処理を終了する。
(S507)暫定IL参照リストをIL参照リストとする。その後、処理を終了する。
上記手順で構築されるレイヤ間参照画像リストは、レイヤ間参照画像セットに含まれる、対象ピクチャの復号に用いられる可能性のあるベース復号画像の集合(現レイヤ間参照可能リスト)に含まれるベース復号画像を重複を許して並び替えたリストである。そのため、選択頻度の高いベース参照画像がより高い優先度となるようレイヤ間参照画像リストを構築した上で、レイヤ間参照画像リスト上の高い優先度のベース参照画像を選択する場合の予測パラメータに、低い優先度を選択する場合の予測パラメータに較べて短い符号を割り当てることで、選択頻度の高いベース復号画像を短い符号の予測パラメータで選択できるため、階層符号化データの符号量を低減できる。
図5を用いて、ベース復号部16の詳細構成について説明する。図5は、ベース復号部16の構成について例示した機能ブロック図である。
図5に示すように、ベース復号部16は、可変長復号部161、ベース予測パラメータ復元部162、ベース変換係数復元部163、およびベーステクスチャ復元部164を備える。
可変長復号部161は、参照レイヤ符号化データDATA#Rに含まれるバイナリから各種のシンタックス値を復号する。
具体的には、可変長復号部161は、予測情報および変換係数情報を符号化データDATA#Rから復号する。可変長復号部161が復号する予測情報および変換係数のシンタックスは、可変長復号部12と同様であるのでここではその詳細な説明を省略する。
可変長復号部161は、復号した予測情報をベース予測パラメータ復元部162に供給するとともに、復号した変換係数情報をベース変換係数復元部163に供給する。
ベース予測パラメータ復元部162は、可変長復号部161から供給される予測情報に基づいて、ベース予測パラメータを復元する。ベース予測パラメータ復元部162が、ベース予測パラメータを復元する方法については、予測パラメータ復元部14と同様であるので、ここではその詳細な説明を省略する。ベース予測パラメータ復元部162は、復元したベース予測パラメータを、ベーステクスチャ復元部164に供給する。
ベース変換係数復元部163は、可変長復号部161から供給される変換係数情報に基づいて、変換係数を復元する。ベース変換係数復元部163が変換係数を復元する方法については、逆直交変換・逆量子化部151と同様であるので、ここではその詳細な説明を省略する。ベース変換係数復元部163は、復元したベース変換係数を、ベーステクスチャ復元部164に供給する。
ベーステクスチャ復元部164は、ベース予測パラメータ復元部162から供給されるベース予測パラメータと、ベース変換係数復元部163から供給されるベース変換係数とを用いて、復号画像を生成する。具体的には、ベーステクスチャ復元部164は、ベース予測パラメータに基づき、テクスチャ予測部152と同様のテクスチャ予測を行って、予測画像を生成する。また、ベーステクスチャ復元部164は、ベース変換係数に基づいて予測残差を生成し、生成した予測残差と、テクスチャ予測により生成した予測画像とを加算することでベース復号画像を生成する。
なお、ベーステクスチャ復元部164は、ベース復号画像に対して、ループフィルタ部154と同様のフィルタ処理を施してもよい。また、ベーステクスチャ復元部164は、復号済みのベース復号画像を格納するためのフレームメモリを備えていてもよく、テクスチャ予測においてフレームメモリに格納されている復号済みのベース復号画像を参照してもよい。
(動画像復号装置1の効果)
以上説明した本実施形態に係る階層動画像復号装置1は、レイヤ間参照画像セットを導出するレイヤ間参照画像リスト設定部を備えている。したがって、階層動画像復号装置1は、レイヤ間参照画像セットを利用することで、復号対象ピクチャと表示順の異なる参照レイヤの復号画像を用いて生成された予測画像を用いて少ない符号量で符号化された符号化データから対象ピクチャの復号画像を再生できる。また、レイヤ間参照画像セットを利用することで、参照レイヤの復号画像が、対象レイヤの予測画像生成に用いられなくなるタイミングを特定して、ベース復号画像バッファから削除できるため、メモリ量を低減できる。
〔変形例1:レイヤ間参照画像セット復号処理2:短期RPSとの差分をシグナル〕
上記の動画像復号装置1の説明では、図16、図17、図18を参照してを、IL−RPS情報を、RPS情報(参照画像セット情報)とは別にシグナルする方法を示したが、参照画像セットとレイヤ間参照画像セットの差分に相当する情報をIL−RPS情報としても良い。この例について、図19を参照して説明する。図19は、スライスヘッダ復号時に利用されるスライスヘッダシンタックス表の一部を例示している。SH−IL−RPS情報は、レイヤ間参照画像セットが推定されるない場合(sps_infer_inter_layer_rps_flagが0の場合)に復号される。IL−RPS情報として、対象スライスに適用される参照画像セットの前方短期参照画像数(num_negative_pics)の各前方短期参照画像について、当該前方短期参照画像に対応する参照レイヤ上のピクチャをレイヤ間参照画像セットに含めるかを示すフラグ(pic_s0_in_il_rps_flag[i])を復号する。含める場合(pic_s0_in_il_rps_flag[i]が1の場合)、当該前方短期参照画像がレイヤ間参照画像として対象ピクチャの復号に使用される可能性の有無(used_by_curr_pic_il_s0_flag[i])が復号される。同様に、対象スライスに適用される参照画像セットの後方短期参照画像数(num_positive_pics)の各後方短期参照画像について、当該後方短期参照画像に対応する参照レイヤ上のピクチャをレイヤ間参照画像セットに含めるかを示すフラグ(pic_s1_in_il_rps_flag[i])を復号する。含める場合(pic_s1_in_il_rps_flag[i]が1の場合)、当該後方短期参照画像がレイヤ間参照画像として対象ピクチャの復号に使用される可能性の有無(used_by_curr_pic_il_s1_flag[i])が復号される。
上記のIL−RPS情報のシグナル方法は、概略的には次のように表現することもできる。すなわち、対象ピクチャにおける参照画像セットに含まれる各参照画像について、当該参照画像に対応する(表示順が同一の)参照レイヤのピクチャをレイヤ間参照画像セットに含めるか否かのフラグを復号する。含める場合、さらに当該参照レイヤのピクチャが対象ピクチャの復号に使用される可能性の有無を示すフラグを復号する。
この方法によりIL−RPS情報をシグナルする場合、レイヤ間参照画像セットに含まれ得る参照レイヤのピクチャは、表示時刻が同一の拡張レイヤのピクチャが参照画像セットに含まれているものに限定される。言い換えると、特定の拡張レイヤのピクチャが参照画像セットに含まれていない場合、当該拡張レイヤのピクチャと同一表示時刻の参照レイヤのピクチャがレイヤ間参照画像セットに含まれないことが、レイヤ間参照画像セット情報をパラメータセットから復号しなくても判別できる。したがって、階層動画像復号装置は、一部の参照レイヤのピクチャを、レイヤ間参照画像セット情報をパラメータセットから復号することなくレイヤ間参照画像バッファから削除できるため、復号処理を簡略化できる。
〔階層動画像符号化装置〕
以下では、本実施形態に係る階層動画像符号化装置2の構成について、図22〜図23を参照して説明する。
(階層動画像符号化装置の構成)
図22を用いて、階層動画像符号化装置2の概略的構成について説明すると次のとおりである。図22は、階層動画像符号化装置2の概略的構成について示した機能ブロック図である。階層動画像符号化装置2は、対象レイヤの入力画像PIN#Tを、参照レイヤ符号化データDATA#Rを参照しながら符号化して、対象レイヤの階層符号化データDATAを生成する。なお、参照レイヤ符号化データDATA#Rは、参照レイヤに対応する階層動画像符号化装置において符号化済みであるとする。
図22に示すように階層動画像符号化装置2は、予測パラメータ決定部21、予測情報生成部22、ベース復号部23、テクスチャ情報生成部24、可変長符号化部25、NAL多重化部26、復号画像バッファ27、および、ベース復号画像バッファ28を備える。
予測パラメータ決定部21は、入力画像PIN#Tに基づいて、予測画像の予測に用いられる予測パラメータおよびその他の符号化の設定を決定する。
予測パラメータ決定部21は、予測パラメータをはじめとする符号化の設定を、以下のとおり行う。
まず、予測パラメータ決定部21は、入力画像PIN#Tを、スライス単位、CTU単位、CU単位に順次分割することにより、対象CUについてのCU画像を生成する。
また、予測パラメータ決定部21は、分割処理の結果に基づいて、符号化情報(ヘッダ情報とも称されることがある)を生成する。 符号化情報は、(1)対象スライスに属するCTUのサイズ、形状および対象スライス内での位置についての情報であるCTU情報と、(2)各CTUに属するCUのサイズ、形状および対象ツリーブロック内での位置についての情報であるCU情報とを含んでいる。
さらに、予測パラメータ決定部21は、CU画像、CTU情報、およびCU情報を参照して、対象CUのCU予測タイプ、対象CUのPUへの分割情報、および、予測パラメータ(対象CUがイントラCUであればレイヤ間予測フラグと空間予測モード、インターCUであれば動き補償パラメータ)を導出する。
予測パラメータ決定部21は、(1)対象CUの予測タイプ、(2)対象CUの各PUへの可能な分割パターン、および、(3)各PUに割り付ける可能な予測モード(例えばレイヤ間予測フラグ、空間予測モード、スキップフラグ、動き補償パラメータ)、の全ての組み合わせについて、コストを算出し、最低コストの予測タイプ、分割パターン、および、予測モードを決定する。
また、予測パラメータ決定部21は、あらかじめ指定された情報に基づいてパラメータセットを導出する。パラメータセットには、ピクチャの符号化順と表示順の関係や、同一レイヤ内のピクチャの参照構造によって決まる参照画像セットおよび参照画像リストが含まれる。また、パラメータセットには、符号化対象レイヤと参照レイヤのピクチャの符号化順と表示順の関係や、レイヤ間のピクチャの参照構造によって決まるレイヤ間参照画像セットおよびレイヤ間参照画像リストが含まれる。
予測パラメータ決定部21は、符号化情報および予測パラメータを予測情報生成部22およびテクスチャ情報生成部24に供給する。なお、説明の簡便のため図示しないが、予測パラメータ決定部21において決定された上記の符号化の設定は、階層動画像符号化装置2の各部において参照可能とする。
予測情報生成部22は、予測パラメータ決定部21から供給される予測パラメータに基づいて予測パラメータに関するシンタックス値を含む予測情報を生成する。予測情報生成部22は、生成した予測情報を可変長符号化部25に供給する。
ベース復号部23は、階層動画像復号装置1のベース復号部16と同様であるので、ここではその説明を省略する。ベース復号部23から出力される参照レイヤの復号画像は、ベース復号画像バッファ28に記録される。
テクスチャ情報生成部24は、入力画像PIN#Tから予測画像を減算して得られる予測残差を、直交変換・量子化した変換係数を含む変換係数情報を生成する。テクスチャ情報生成部24は、生成した変換係数情報を可変長符号化部25に供給する。また、テクスチャ情報生成24では、復元された復号画像は、復号画像バッファ27に格納される。
可変長符号化部25は、予測情報生成部22から供給される予測情報とパラメータセット情報、および、テクスチャ情報生成部24から供給される変換係数情報を可変長符号化して対象レイヤ符号化データDATA#Tを生成する。可変長符号化部25は、生成した対象レイヤ符号化データDATA#TをNAL多重化部26に供給する。
NAL多重化部26は、可変長符号化部25から供給される対象レイヤ符号化データDATA#Tと、参照レイヤ符号化データDATA#RとをNALユニットに格納することでNAL多重化した階層動画像符号化データDATAを生成し、外部に出力する。
(テクスチャ情報生成部)
図23を用いて、テクスチャ情報生成部24の詳細を説明する。図23は、階層動画像符号化装置2におけるテクスチャ情報生成部24の概略的構成について示した機能ブロック図である。テクスチャ情報生成部24は、加算器241、直交変換・量子化部242を備える。また、テクスチャ情報生成部24は、加えて、階層動画像復号装置1のテクスチャ復元部15と共通の構成要素、すなわち、逆直交変換・逆量子化部151、テクスチャ予測部152、加算器153、ループフィルタ部154、参照画像リスト設定部155、および、レイヤ間参照画像リスト設定部156を備える。テクスチャ復元部と共通の構成要素については、同一の記号を付与して説明を省略する。
加算器241は、入力画像と、テクスチャ予測部152から供給された予測画像を減算することで予測残差Dを生成する。
直交変換・量子化部242は、(1)加算器241から供給される予測残差Dに直交変換(例えば、DCT(Discrete Cosine Transform)変換)を適用し、(2)直行変換により得られたDCT係数に量子化を適用し、(3)量子化により得られた量子化済DCT係数を変換係数情報として外部に出力するとともに、逆聴講変換・逆量子化部151に供給する。なお、直交変換は、変換ブロックを単位として適用される。
テクスチャ情報生成部24における、対象レイヤ(拡張レイヤ)上の特定ピクチャを対象ピクチャとする変換係数情報および復号画像生成処理の手順は、以下のS701〜S708により実行される。
(S701)参照画像リスト設定部155は、入力される予測パラメータに含まれるパラメータセットの情報(参照画像セット情報、参照画像リスト修正情報)に基づいて、対象ピクチャにおける予測画像生成に用いる参照画像リストを生成して、テクスチャ予測部152に出力する。なお、参照画像リストでは、テクスチャ予測部152内のインター予測部152Tより参照される参照画像の復号画像バッファ27上の位置を特定する情報が含まれている。
(S702)レイヤ間参照画像リスト設定部156は、入力される予測パラメータに含まれるパラメータセットの情報(レイヤ参照画像セット情報、レイヤ間参照画像リスト修正情報)に基づいて、対象ピクチャにおける予測画像生成に用いるレイヤ間参照画像リストを生成して、テクスチャ予測部152に出力する。なお、レイヤ間参照画像リストでは、テクスチャ予測部152内のレイヤ間画像予測部152Sより参照されるレイヤ間参照画像のレイヤ間復号画像バッファ28上の位置を特定する情報が含まれている。
(S703)テクスチャ予測部152は、入力される予測パラメータの示す予測単位、および、予測方法によって入力画像の部分領域に対応する予測画像を生成して加算器241および加算器153に出力する。予測タイプに応じて、インター予測部152T、イントラ予測部152S、レイヤ間画像予測部152Bの何れかの予測部により予測画像が生成される。
(S704)加算器241は、テクスチャ予測部152から入力される予測画像を、対応する入力画像の領域から減算することで予測残差Dを生成して直交変換・量子化部242に出力する。
(S705)直行変換・量子化部242は、入力される予測残差Dは変換ブロックに分割して、変換ブロック毎に直交変換および量子化を適用して量子化済の変換係数を生成して、変換係数情報として外部に出力するとともに、逆直交変換・逆量子化部151に出力する。
(S706)逆直交変換・逆量子化部151は、入力された量子化済の変換係数に変換ブロック単位で逆量子化および逆直交変換を適用して予測残差を生成して加算器153に出力する。
(S707)加算器153は、入力される予測画像と予測残差を加算して、得られたループフィルタ適用前復号画像をループフィルタ部154に出力する。
(S708)ループフィルタ部154は入力されるループフィルタ適用前復号画像にループフィルタを適用して復号画像を生成し、外部の復号画像バッファ27に、対象ピクチャの出力順(POC)と関連付けて記録する。
(動画像符号化装置2の効果)
以上説明した本実施形態に係る階層動画像符号化装置2は、レイヤ間参照画像セットを導出するレイヤ間参照画像リスト設定部を備えている。階層動画像符号化装置2では、レイヤ間参照画像セットを利用することで、参照レイヤの復号画像が予測画像生成に用いられなくなるタイミングを特定して、ベース復号画像バッファから削除できるため、メモリ量を低減できる。また、動画像符号化装置では、対応する動画像復号装置での復号時に、レイヤ間参照画像セットを利用することで、参照レイヤの復号画像が予測画像生成に用いられなくなるタイミングを特定して、ベース復号画像バッファから削除することでメモリ量を低減できる符号化データを生成できる。
〔階層動画像復号装置(第二の実施形態)〕
以下では、本実施形態に係る階層動画像復号装置3について、図24〜図27を参照して説明する。図24は、階層動画像復号装置3の概略的構成について示した機能ブロック図である。階層動画像復号装置3は、対象レイヤ符号化DATA#Tとベース復号シーケンスを入力として、対象レイヤ復号画像POUT#Tを復号する。ベース復号シーケンスは、参照レイヤの復号画像のシーケンスであり、対象レイヤのピクチャに対応する参照レイヤのピクチャの復号画像を複数含む。また、ベース復号シーケンスは、各ピクチャに対するベースピクチャヘッダを含んでいてもよい。ベースピクチャヘッダは、復号画像の表示時刻(タイムスタンプ)を示す情報を含んでいる。
図24に示すように階層動画像復号装置3は、ベース制御部31、可変長復号部32、復号画像バッファ13、予測パラメータ復元部14、テクスチャ復元部15、ベース復号画像バッファ37を備える。
階層動画像復号装置3は、階層符号化データを入力とする階層動画像復号装置1とは異なり、内部にベース復号部を備えておらず、したがって、階層符号化データに含まれる参照レイヤ符号化データを復号することはできない。その代わりに外部の手段で復号した画像を入力して、参照レイヤの復号画像(ベース復号画像)として用いる。そのため、階層動画像復号装置3は、既存のコーデック(例えばAVCやMPEG−2)で符号化された符号化データを外部の復号装置で復号し、出力される復号画像のシーケンスを、ベース復号シーケンスとして入力に用いるような用途にも利用できる。
階層動画像復号装置3の構成要素のうち、予測パラメータ復元部14、テクスチャ復元部15、復号画像バッファ13は、階層動画像復号装置1の同名の構成要素と同じ機能を有するため、同一の符号を付与して説明を省略する。
(ベース復号画像バッファ)
ベース復号画像バッファ37は、外部より入力されたベース復号画像を、対象レイヤ(拡張レイヤ)におけるピクチャの表示順(POC)と関連付けて保持しておくためのバッファである。ベース復号画像バッファ37には、対象レイヤにおける対象ピクチャの復号時には、テクスチャ復元部15において予測画像生成に用いられるベース復号画像が少なくとも記録されている必要がある。メモリ量を抑制する観点からは、対象レイヤ(拡張レイヤ)の復号に用いられるベース復号画像のみをベース復号画像バッファ37に記録することが好ましい。しかしながら、予測画像生成に用いられないベース復号画像がベース復号画像バッファ37に記録されていても構わない。
以下では、ベース復号画像バッファ37に記録されるベース復号画像は、ベース復号シーケンスに含まれるピクチャと同一のピクチャサイズと仮定して説明する。しかし、異なるピクチャサイズ(例えば、対象レイヤのピクチャサイズ)に変換したピクチャをベース復号画像としてベース復号画像バッファ37に記録していてもよい。その場合、参照レイヤと対象レイヤのピクチャサイズの比率に応じて、ベース復号シーケンスに含まれる復号画像をアップサンプルする処理が必要となる。
(可変長復号部)
可変長復号部32は、基本的には、階層動画像復号装置1の可変長復号部12と同様の機能を有する。すなわち、入力された符号化データから、予測情報、CU情報、パラメータセットを復号して、適切な出力先に出力する。加えて、可変長復号部32は、ベース制御情報を対象レイヤ符号化データDATA#Tより復号して出力する。パラメータセットには、階層動画像復号装置1で説明した、レイヤ間参照画像セットが含まれる。
以下では、ベース制御情報はパラメータセットの一つであるSPSに含まれていると仮定して説明する。なお、ベース制御情報は必ずしもSPSに含まれている必要はなく、他のパラメータセットに含まれていてもよい。例えば、パラメータセットの一つであるVPSに含まれていてもよい。
ベース制御情報はベース復号シーケンスの特性を表す情報を含む。ベース制御情報(BLI)には以下が含まれる。
(BLI1)ベース復号画像のサイズ:ベース復号画像のピクチャサイズを直接、または、間接的に表す量。ピクチャサイズを直接表す量として、例えば、ベース復号画像の輝度成分の縦および横の画素単位での長さ、ベース復号画像の色差成分の縦および横の画素単位での長さが挙げられる。縦および横の長さの2の対数を用いてもよい。また、ピクチャサイズを間接的に表す量としては、対象レイヤ(拡張レイヤ)のピクチャサイズと参照レイヤのピクチャサイズの比率が挙げられる。
(BLI2)ベース復号画像のビット深度:ベース復号画像のビット深度を直接、または、間接的に表す量。ビット深度を直接表す量として、例えば、ベース復号画像の輝度と色差成分に共通の画素値のビット深度が挙げられる。また、ビット深度を間接的に表す量としては、対象レイヤ(拡張レイヤ)のビット深度と参照レイヤのビット深度の差が挙げられる。
(BLI3)ベース復号画像の色フォーマット:ベース復号画像の色フォーマットを直接、または、間接的に表す量。例えば、既定の色フォーマット識別子を用いることができる。また、対象レイヤ(拡張レイヤ)の色フォーマットと参照レイヤの色フォーマットが同一か否かのフラグを用いてもよい。
(BLI4)ベース復号画像のフレームレート:ベース復号画像のフレームレートを直接、または、間接的に表す量。フレームレートを直接表す量としては、参照レイヤ復号画像の1秒あたりのピクチャ枚数が挙げられる。また、フレームレートを間接的に表す量としては、対象レイヤ(拡張レイヤ)のフレームレートと参照レイヤのフレームレートの比率が挙げられる。また、参照レイヤのフレームレートが対象レイヤ(拡張レイヤ)のフレームレートよりも小さいことを前提として、参照レイヤのピクチャ1枚あたり、対象レイヤ(拡張レイヤ)のピクチャ何枚が対応するかの情報を用いても良い。例えば、対象レイヤ(拡張レイヤ)が60fps、参照レイヤが30fpsの場合、参照レイヤのピクチャ1枚に対し、対象レイヤ(拡張レイヤ)2枚が対応するため、「2」をベース復号画像のフレームレートの情報として用いることができる。
(BLI5)ベース復号画像のフィールドフレーム構造:ベース復号画像のフィールドフレーム構造を直接、または、間接的に表す量。例えば、ベース復号画像がインタレースフォーマットであるかのフラグが挙げられる。また、ベース復号画像がインタレースフォーマットである場合に、奇数フィールドと偶数フィールドの何れが先かを示すフラグも含んでいてもよい。また、入力されるベース復号シーケンスの各ピクチャはフレーム構造であっても、当該ピクチャが参照レイヤ符号化データにおいてインタレースで符号化されていたかを示すフラグを含んでいてもよい。なお、類似の概念として、ステレオ画像のフレームパッキングに代表されるような、複数の画像が1枚のピクチャに含まれていることを示す情報や、複数の画像のピクチャ内での配置に関する情報を含んでいてもよい。
(BLI6)ベース復号画像の由来コーデック:ベース復号シーケンスに対応する参照レイヤ符号化データの生成に用いられた符号化方式を特定する情報。例えば、ベース復号シーケンスがAVCの符号化データから復号されたかを示すフラグ、ベース復号シーケンスがMPEG−2の符号化データから復号されたかを示すフラグが挙げられる。また、プロファイルやレベル等、符号化方式のサブセットを示す情報を含んでいてもよい。なお、符号化方式が規格で定義されている場合、符号化方式のサブセットを示す情報は、当該規格により符号化された符号化データのビットストリームに含まれる形式と同一の形式で、対象レイヤ符号化データに含まれていることが互換性や実装を踏まえると好ましい。
(BLI7)ベース復号画像のエラーチェック:エンコーダ(階層動画像符号化装置)の意図するベース復号シーケンスの性質に係る情報を含んでいてもよい。例えば、各ベース復号画像のMD5に代表されるチェックサムを含んでいてもよい。ベース復号画像のチェックサムを利用することで、階層動画像復号装置において参照レイヤの正当性を判定することができる。
ベース制御情報は、上記に例示した情報を必ずしも全て含む必要はなく、少なくとも一部の情報を含んでいればよい。例えば、対象レイヤ(拡張レイヤ)と参照レイヤで同一のビット深度を用いるようあらかじめ制限されている場合には、ビット深度に係る情報を含む必要はない。
ベース制御情報の具体例について、図25を参照して説明する。図25は、可変長復号部32で拡張レイヤのSPS復号時に参照されるシンタックス表(seq_parameter_set_rbsp)の一部であって、ベース制御情報に対応する部分を例示した図である。
図25において、SPSは、拡張レイヤのSPSであるかを示すフラグ(sps_extension_flag)を含む。当該フラグが1の場合、SPSはさらに、参照レイヤに対応するSPS存在有無を示すフラグ(no_base_sps_flag)を含む。no_base_sps_flagの値が1の場合、SPSはさらに各種ベース制御情報を含む。なお、no_base_sps_flagの値が0の場合、参照レイヤに対応するSPSが存在するため、ベース制御情報に相当する情報は、参照レイヤに対応するSPSから複製または導出すればよい。したがって、拡張レイヤのSPSであるかを示すフラグを用いることで、拡張レイヤのSPSが存在する場合にベース制御情報を省略して、SPSの符号量を低減できる。
図25において、SPSに含まれる制御情報は、以下のシンタックスを含む。
BLI1に相当するシンタックス:ベース復号画像の輝度ピクチャの横方向の画素数を表すシンタックス(base_recon_luma_width)、および、同輝度ピクチャの縦方向の画素数を表すシンタックス(base_recon_luma_height)。
BLI2に相当するシンタックス:対象レイヤ(拡張レイヤ)のビット深度から参照レイヤのビット深度を引いた値を表すシンタックス(base_delta_bitdepth)。
BLI3に相当するシンタックス:参照レイヤ復号画像のカラーフォーマット識別子(base_color_format_idc)。例えば、識別子「0」と4:2:0、「1」と4:2:2、「2」と4:4:4の各色フォーマットが対応する。
BLI4に相当するシンタックス:参照レイヤのピクチャ1枚に対応する対象レイヤ(拡張レイヤ)復号画像の枚数の2の対数(log2_base_framerate_factor_idc)。階層動画像復号装置の複雑化を防ぐために、上位レイヤである対象レイヤのフレームレートは、下位レイヤである参照レイヤのフレームレートと同一か、下位レイヤのフレームレートに2のべき乗を乗じた値であることが好ましい。そのような場合、前記のような、参照レイヤのピクチャを基準とした拡張レイヤのピクチャの枚数を対数により表現することが好ましい。
BLI5に相当するシンタックス:参照レイヤがフレーム構造か否かを示すフラグ(base_frame_flag)。base_frame_flagの値が1の場合、ベース復号画像がフレーム構造(非インタレース構造)であることを示し、値が0の場合、インタレース構造であることを示す。
BLI6に相当するシンタックス:参照レイヤのコーデックを示す識別子(base_codec_idc)。例えば、識別子「1」とHEVC、識別子「2」とAVC、識別子「3」とMPEG−2、識別子「0」と「不明なコーデック」が対応する。なお、参照レイヤのコーデックがAVCの場合(base_codec_idc==AVC_CODECの場合)、AVC規格におけるプロファイルレベル情報と同一のシンタックス構造avc_profile_level_info()を含む。
以下では、説明の簡単のため、図25に示したベース制御情報を用いるものとして説明する。
(ベース制御部)
ベース制御部31は、入力されるベース制御情報およびパラメータセットに基づいて、入力されるベース復号シーケンスをベース復号画像バッファ37の適切な位置に設定する。また、不要となったベース復号画像を適切なタイミングでベース復号画像バッファ37から削除する。
以下、対象レイヤ上の対象ピクチャ復号に先立って、ベース制御部31がベース復号画像バッファ37にベース復号画像を設定する処理(ベース復号画像設定処理)を図26を参照して説明する。図26は、拡張レイヤ上の特定ピクチャ復号時のベース制御部31におけるベース復号画像設定処理を示すフロー図である。ベース復号画像設定処理は、以下のS801〜S807の手順で実行される。
(S801)対象ピクチャが最初の復号ピクチャである場合(例えば、IDRピクチャの場合)、ベース復号画像の読み込み位置を示す変数currBaseSeekPoc(ピクチャ位置)に対象レイヤ(拡張レイヤ)上の対象ピクチャのPOCの値から所定の値(後述のS806aの処理で加算される値)を引いた値を設定する。
(S802)パラメータセットから、対象ピクチャにおけるレイヤ間参照画像セットを導出する。当該レイヤ間参照画像セットの導出方法としては、階層動画像復号装置1で説明した導出方法を用いることができる。
(S803)ベース復号画像バッファ37に記録されている各ベース復号画像が、S802で導出した対象ピクチャにおけるレイヤ間参照画像セットに含まれるか否かを判定する。各ベース復号画像のPOCが、レイヤ間参照画像セットに含まれるピクチャのPOCのリストに含まれる場合には、レイヤ間参照画像セットに含まれると判定する。ベース復号画像バッファ37に記録されているベース復号画像のうち、前記レイヤ間参照画像セットに含まれないものについては、ベース復号画像バッファ37から削除する。なお、必ずしも即座に削除する必要はなく、削除が必要なことを記録しておき、適当なタイミングで実際に削除しても構わない。
(S804)前記対象ピクチャにおけるレイヤ間参照画像セットから、拡張レイヤ上の対象ピクチャの復号時に参照される可能性のある参照レイヤのピクチャであって、表示順の最も遅いピクチャを特定し、当該ピクチャと同一表示順に対応する拡張レイヤのピクチャの表示順(POC)を変数maxBasePocに設定する。
(S805)ピクチャ位置currBaseSeekPocの値が、変数maxBasePocよりも小さい場合、変数currBaseSeekPocの値が変数maxBasePocの値と等しくなるまで、S806aとS806bの処理を繰り返し実行する。その後、S807の処理へ移る。
(S806a)ピクチャ位置currBaseSeekPocの値に所定の値を加算する。加算される所定の値は、拡張レイヤのピクチャ間のPOC間隔と、拡張レイヤと参照レイヤのフレームレートの関係から決定される。拡張レイヤのピクチャ間のPOC間隔をDep、シンタックスbase_framerate_factor_idcが示す参照レイヤのピクチャ1枚に対応する拡張レイヤのピクチャ数をNeとすると、加算される所定の値Dbpは、NeとDepの積に設定される。
(S806b)ベース復号シーケンスから1ピクチャ分のベース復号画像を読み出し、ベース復号画像バッファ37に記録する。なお、その際、変数currBaseSeekPocの値が、当該ベース復号画像に対応するPOCの値として、当該ベース復号画像と関連付けて記録される。なお、ベース復号シーケンスから読み出されるデータの量は、ベース制御情報(base_recon_luma_width、base_recon_luma_height、base_delta_bitdepth、base_color_format_idc)に基づいて決定される。例として、前記ベース制御情報により、ベース復号画像の幅がWb[画素]、高さがHb[画素]、ビット深度がBDb[ビット]、色フォーマットが4:2:0である場合、読みだされるデータ量Rbは次式により計算できる:
Rb=Wb×Hb×BDb×1.5 [ビット]。
(S807)ベース復号画像設定処理を終了する。
なお、上記の処理において、S801の処理は先頭ピクチャを扱うための例外処理であり、他の手段により代替してもよい。例えば、S801の処理を省略し、S806aの処理において、対象ピクチャが最初の復号ピクチャでない場合にのみ、ピクチャ位置currBaseSeekPocの値に所定の値を加算する処理としてもよい。
また、上記の処理S806bにおいて、ベース復号シーケンスから1ピクチャ分のベース復号画像を読み出す際に、ベース制御情報(BLI)に含まれる画像サイズ(BLI1)、ビット深度(BLI2)、ベース復号画像の色フォーマット(BLI3)と、対象ピクチャの画像サイズ、ビット深度、色フォーマットが異なる場合に、対象ピクチャに合わせてフォーマット変換を行ってもよい。具体的には、ベース制御情報に含まれる画像サイズが対象ピクチャの画像サイズよりも小さい場合には、アップサンプルを行うことが好ましい。
<ベース復号画像設定処理の具体例>
次に、上記のベース復号画像設定処理の具体例について、図27を参照して説明する。図27はベース復号画像設定処理の具体例を示す図であり、(a)は具体例における対象レイヤ(拡張レイヤ)と参照レイヤのピクチャ間の参照関係を表し、(b)は拡張レイヤの各ピクチャ復号時の参照画像セット、レイヤ間参照画像セット、ベース復号画像バッファ、ベース復号画像読み込みを示している。
図27(a)に示すように、拡張レイヤには出力順にE1、E2、E3のピクチャが含まれる。参照レイヤには出力順に、B1、B2、B3のピクチャが含まれる。また、E1からB1が、E2からE1、E3、および、B2が、E3からE1およびB3が参照されている。なお、参照レイヤの復号画像は、外部の手段により復号されて、出力順にベース復号シーケンスに含まれている。
対象レイヤ(拡張レイヤ)の各ピクチャ復号時のベース復号画像設定処理を図27(b)を参照して説明する。E1、E2、E3には、出力順を示すPOCとして、6、8、10の値がそれぞれ割り当てられているものとする。
(1)初期:拡張レイヤの復号開始前には、参照画像セット(EL-RPS)、レイヤ間参照画像セット(IL-RPS)、ベース復号画像バッファは全て空である。
(2)E1復号時:E1は拡張レイヤの最初の復号ピクチャであり、変数currBaseSeekPocの値に、E1のPOCである6から所定の値2を引いた4が設定される。所定の値2は、1(対象レイヤのピクチャ1枚に対する拡張レイヤのピクチャの枚数)と、2(上位レイヤ(拡張レイヤ)のピクチャのPOC間隔)の積である(S801)。E1におけるIL-RPSにはB1を含む(S802)。ベース復号画像バッファは、この時点では空であるため、ベース復号画像の削除は不要(S803)。IL-RPSに含まれる表示順の最も遅いベース復号画像はB1であり、B1と同一表示順である拡張レイヤのピクチャE1のPOCである6を変数maxBasePocに設定する(S804)。変数currBaseSeekPocの値は4で、変数maxBasePocの値6より小さいため、ベース復号画像を読み込む(S805)。変数currBaseSeekPocの値に所定の値2を加算して6の値を設定する(S806a)。ベース復号シーケンスから、B1のベース復号画像を読み込み、変数currBaseSeekPocの値6を対応するPOCとして、ベース復号画像バッファに記録する(S806b)。変数currBaseSeekPocの値6と変数maxBasePocの値6が等しいため(S805)、E1復号時のベース復号画像設定処理を終了する(S807)。
(3)E3復号時: E3におけるIL-RPSにはB1とB3を含む(S802)。ベース復号画像バッファは、この時点ではB1を含む。B1はIL-RPSに含まれるため、ベース復号画像バッファから削除されない(S803)。IL-RPSに含まれる表示順の最も遅いベース復号画像はB3であり、B3と同一表示順である対象レイヤ(拡張レイヤ)のピクチャE3のPOCである10を変数maxBasePocに設定する(S804)。変数currBaseSeekPocの値は6で、変数maxBasePocの値10より小さいため、ベース復号画像を読み込む(S805)。変数currBaseSeekPocの値に所定の値2を加算して8の値を設定する(S806a)。ベース復号シーケンスから、B2のベース復号画像を読み込み、変数currBaseSeekPocの値8を対応するPOCとして、ベース復号画像バッファに記録する(S806b)。変数currBaseSeekPocの値8は変数maxBasePocの値10より小さいため、次のベース復号画像を読み込む(S805)。変数currBaseSeekPocの値に所定の値2を加算して10の値を設定する(S806a)。ベース復号シーケンスから、B3のベース復号画像を読み込み、変数currBaseSeekPocの値10を対応するPOCとして、ベース復号画像バッファに記録する(S806b)。変数currBaseSeekPocの値10と変数maxBasePocの値10が等しいため(S805)、E3復号時のベース復号画像設定処理を終了する(S807)。
(4)E2復号時: E2におけるIL-RPSにはB2を含む(S802)。ベース復号画像バッファはB1、B2、B3を含んでおり、B1とB3はIL-RPSに含まれないため、ベース復号画像バッファから削除される(S803)。IL-RPSに含まれる表示順の最も遅いベース復号画像はB2であり、B2と同一表示順である対象レイヤ(拡張レイヤ)のピクチャE1のPOCである8を変数maxBasePocに設定する(S804)。変数currBaseSeekPocの値は10で、変数maxBasePocの値8より大きいため(S805)、E3復号時のベース復号画像設定処理を終了する(S807)。
上記のベース復号画像設定処理によれば、ベース制御部31は、可変長復号部32より供給される対象レイヤのSPSに含まれるベース制御情報とパラメータセットに基づいて、対象レイヤ(拡張レイヤ)上の対象ピクチャの復号に必要なベース復号画像をベース復号シーケンスから読みこんでベース復号画像バッファ37に記録できる。なお、ベース制御情報やパラメータセットを用いない場合、対象レイヤ(拡張レイヤ)上の特定ピクチャの復号前に、ベース復号シーケンスからどれだけのデータ量をベース復号画像として読み込んでベース復号画像バッファ37に記録すべきかが判定できない。
また、上記の手順によれば、ベース制御部31は、可変長復号部32より供給されるベース制御情報とパラメータセットに基づいて、対象ピクチャよりも復号順が後の拡張レイヤ上のピクチャの復号に不要なベース復号画像を、ベース復号画像バッファ37から適切なタイミングで削除できる。したがって、不要なベース復号画像がベース復号画像バッファ37に残らないため、ベース復号画像バッファに要求されるバッファサイズを低減できる。
(動画像復号装置3の効果)
以上説明した本実施形態に係る動画像復号装置3は、対象レイヤ(拡張レイヤ)のSPSに含まれるパラメータセットおよびベース制御情報に基づいて、ベース復号画像バッファにベース復号画像を読み込むベース制御部を備えている。それにより、入力されるベース復号シーケンスから適切なデータ量のベース復号画像を読み出して、ベース復号画像バッファに記録することができる。
また、上記の手順によれば、ベース制御部31は、ベース復号シーケンスからベース復号画像を読み出しベース復号画像バッファ37に記録する際に、対象レイヤのPOCに基づいて設定されたピクチャ位置currBaseSeekPocを、読み出したベース復号画像のPOCとして設定する。ベースレイヤ復号画像のPOCを、拡張レイヤの画像のPOCに基づいて設定することにより、ベース復号シーケンスに含まれるベース復号画像に出力順(表示順)を示すPOCがない場合においても、POCを用いて管理される参照画像セット(レイヤ間参照画像セット)に含まれるベース復号画像を特定することができる。
また、上記の手順によれば、ベース制御部31は、ベース制御情報(BLI)に従って、フォーマット変換を行う。具体的には、ベース制御情報の示すベース復号画像の画像サイズが、対象ピクチャの画像サイズよりも小さい場合にはアップサンプルを行う。対象レイヤ符号化データDATA#Tに含まれるベース制御情報(BLI)に含まれるベース復号画像の情報を参照することにより、内部にベース復号部を備えておらず、そのため、階層符号化データに含まれる参照レイヤ符号化データ(ベース符号化データ)を復号することができない動画像復号装置の場合にも、ベース復号画像を、対象ピクチャの復号に必要な画像フォーマットに変更することができる。したがって、参照レイヤ(ベースレイヤ)が符号化データとして入力されない場合であっても、ベース復号画像の画像フォーマット情報を得ることができ、アップサンプルなどのフォーマット変換を適用した参照レイヤの復号画像を、対象ピクチャの復号時にベース参照画像として利用できる。ベース復号シーケンスとして入力する際に、フォーマット変換を行うことが不要となるため、アップサンプルやビット深度拡大に伴う、ベース復号シーケンスのサイズ増大を防ぐことができる。
〔変形例2:レイヤ間参照画像セットを利用しない例〕
上記の階層動画像復号装置3の説明では、ベース制御部31によるベース復号画像設定処理の説明において、レイヤ間参照ピクチャを用いてベース参照シーケンスからベース参照画像を読み込んでベース復号画像バッファに記録する処理を記載したが、必ずしもレイヤ間参照セットを利用する必要はない。具体的には、ベース復号画像設定処理のS804では、変数maxBasePocを、前記対象ピクチャにおけるレイヤ間参照画像セットから、拡張レイヤ上の対象ピクチャの復号時に参照される可能性のある参照レイヤのピクチャであって、表示順の最も遅いピクチャを特定し、当該ピクチャと同一表示順に対応する拡張レイヤのピクチャの表示順(POC)に設定しているが、この情報が対象ピクチャに関連付けられたパラメータセット(例えば、スライスヘッダやPPS)に直接含まれていてもよい。すなわち、拡張レイヤ上の対象ピクチャの復号時に参照される可能性のある参照レイヤのピクチャであって、表示順の最も遅いピクチャの表示順を示す情報がパラメータセットに含まれていてもよい。ここで、表示順を示す情報とは、例えば、表示順の絶対値、対象ピクチャの表示順に対する差分、表示時刻である。また、表示順に係る情報ではなく、読みこむべきベース復号画像の枚数を直接パラメータセットに含んでいても構わない。
なお、階層動画像復号装置1において説明したように、レイヤ間画像予測に用いられる可能性のあるベース参照画像を指定する場合にはレイヤ間参照画像セットが有用である。そのため、レイヤ間画像予測においてレイヤ間参照画像セットを用いる場合には、レイヤ間参照画像セットを利用して、ベース復号画像設定処理を実行することで、追加の情報を送る必要がないという利点がある。
〔階層動画像符号化装置(第二の実施形態)〕
以下では、本実施形態に係る階層動画像符号化装置4の構成について、図28を参照して説明する。図28は、階層動画像符号化装置4の概略的構成について示した機能ブロック図である。階層動画像符号化装置4は、対象レイヤの入力画像PIN#Tとベース復号シーケンスを入力として、対象レイヤ符号化DATA#Tを出力する。
図28に示すように階層動画像符号化装置4は、ベース制御部41、可変長符号化部45、復号画像バッファ27、予測パラメータ決定部49、予測情報生成部22、テクスチャ情報生成部24、ベース復号画像バッファ48を備える。
階層動画像符号化装置4で生成される対象レイヤ符号化データDATA#Tは、生成時に入力として用いられたベース復号シーケンスと合わせて、前述の階層動画像復号装置3に入力することで、対象レイヤの復号画像を再生できる。
階層動画像符号化装置4の構成要素のうち、予測情報生成部22、テクスチャ情報生成部24、復号画像バッファ27は、階層動画像符号化装置2の同名の構成要素と同じ機能を有するため、同一の符号を付与して説明を省略する。
ベース復号画像バッファ48は、階層動画像復号装置3におけるベース復号画像バッファ37に対応する構成要素であり、外部より入力されたベース復号画像を、拡張レイヤにおけるピクチャの表示順(POC)と関連付けて保持しておくためのバッファである。ベース復号画像バッファ48には、対象レイヤにおける対象ピクチャの符号化時には、テクスチャ生成部24において予測画像生成に用いられるベース復号画像が少なくとも記録されている必要がある。
予測パラメータ決定部49は、予測パラメータ決定部21の機能に加え、ベース制御情報を導出する機能を有する。ベース制御情報は、階層動画像復号装置3の可変長復号部32の説明で記載したベース制御情報と同じものを利用できる。ベース制御情報は、符号化の制御パラメータとして外部(図示せず)より入力される。
ベース制御部41は、階層動画像復号装置3におけるベース制御部31に対応する構成要素であり、予測パラメータ決定部49より入力されるベース制御情報およびパラメータセットに基づいて、入力されるベース復号シーケンスをベース復号画像バッファ48の適切な位置に設定する。また、不要となったベース復号画像を適切なタイミングでベース復号画像バッファ48から削除する。
ベース制御部41においては、階層動画像復号装置3のベース制御部31におけるベース復号画像設定処理と同様のベース復号画像設定処理を適用することで、対象レイヤの特定ピクチャ符号化時のベース復号画像バッファへのベース復号画像の読み込み、および、ベース復号画像バッファからのベース復号画像の削除を実行できる。具体的には、図26を用いて説明した階層動画像復号装置3のベース制御部31におけるベース復号画像設定処理を、「復号時」を「符号化時」に、「ベース復号画像バッファ37」を「ベース復号画像バッファ48」に、それぞれ読み変えて実行すればよい。
上記のベース復号画像設定処理によれば、ベース制御部41は、予測パラメータ決定部49より供給される対象レイヤ(拡張レイヤ)のSPSに含まれるベース制御情報とパラメータセットに基づいて、対象レイヤ(拡張レイヤ)上の対象ピクチャの復号に必要なベース復号画像をベース復号シーケンスから読みこんでベース復号画像バッファ48に記録できる。なお、ベース制御情報やパラメータセットを用いない場合、対象レイヤ(拡張レイヤ)上の特定ピクチャの符号化前に、ベース復号シーケンスからどれだけのデータ量をベース復号画像として読み込んでベース復号画像バッファ48に記録すべきかが判定できない。
また、上記の手順によれば、ベース制御部41は、予測パラメータ決定部49より供給されるベース制御情報とパラメータセットに基づいて、対象ピクチャよりも符号化順が後の拡張レイヤ上のピクチャの符号化に不要なベース復号画像を、ベース復号画像バッファ48から適切なタイミングで削除できる。したがって、不要なベース復号画像がベース復号画像バッファ48に残らないため、ベース復号画像バッファに要求されるバッファサイズを低減できる。
(動画像符号化装置4の効果)
以上説明した本実施形態に係る動画像符号化装置4は、対象レイヤ(拡張レイヤ)のSPSに含まれるパラメータセットおよびベース制御情報に基づいて、ベース復号画像バッファにベース復号画像を読み込むベース制御部を備えている。それにより、入力されるベース復号シーケンスから適切なデータ量のベース復号画像を読み出して、ベース復号画像バッファに記録することができる。
〔付記事項1:レイヤ間画像予測以外の用途への適用〕
以上の階層動画像復号装置(階層動画像復号装置1と階層動画像復号装置3)および階層動画像符号化装置(階層動画像符号化装置2と階層動画像符号化装置4)の説明において、ベース復号画像バッファに記録されるベース復号画像はレイヤ間画像予測におけるベース参照画像として利用されると記載したが、ベース復号画像の用途はそれに限らない。本発明は、対象レイヤ(拡張レイヤ)上のピクチャの復号または符号化において、ベース復号画像を利用する場合に適用可能である。例えば、対象レイヤにおいて、複数のベース復号画像から対象ピクチャの予測残差を推定する一般化残差予測と呼ばれる方式において、複数のベース復号画像として利用される可能性のあるベース復号画像を特定するために、本発明に記載したレイヤ間参照画像セットを用いることができる。また、複数のベース復号画像から対象ピクチャの動きベクトルを推定する方式において、複数のベース復号画像として利用される可能性のあるベース復号画像を特定するために、本発明に記載したレイヤ間参照画像セットを用いることができる。
〔付記事項2:2レイヤ以上の階層符号化への適用〕
以上の階層動画像復号装置(階層動画像復号装置1と階層動画像復号装置3)および階層動画像符号化装置(階層動画像符号化装置2と階層動画像符号化装置4)の説明において、対象レイヤと参照レイヤ(ベースレイヤ)の2レイヤの例を挙げて説明したが、本発明は3レイヤ以上の場合にも適用できる。なお、3レイヤ以上の階層符号化を行う場合に、対象レイヤに対して2以上の参照レイヤを設定して、各参照レイヤの復号画像を用いて対象レイヤの符号化・復号を行う構成も想定される。そのような場合であっても、本発明に記載したレイヤ間参照画像セットを利用したベース復号画像バッファの制御は有効であり、2つの参照レイヤそれぞれに対してレイヤ間参照画像セットを設定すればよい。
(他の階層動画像符号化/復号システムへの適用例)
上述した階層動画像符号化装置2及び階層動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
図29に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の送信および受信に利用できることを説明する。図29の(a)は、階層動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。
図29の(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を更に備えていてもよい。図29の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
図29の(b)は、階層動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。図29の(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を更に備えていてもよい。図29の(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の双方として機能する。
図30に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の記録および再生に利用できることを説明する。図30の(a)は、上述した階層動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。
図30の(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を更に備えていてもよい。図30の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5又は画像処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3又は受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
図30の(b)は、上述した階層動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。図30の(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を更に備えていてもよい。図30の(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(Micro Processing Unit))が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM(Compact Disc Read-Only Memory)/MO(Magneto-Optical)/MD(Mini Disc)/DVD(Digital Versatile Disk)/CD−R(CD Recordable)等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM(Erasable Programmable Read-only Memory)/EEPROM(登録商標)(ElectricallyErasable 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)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE(Institute of Electrical and Electronic Engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric DigitalSubscriber Line)回線等の有線でも、IrDA(Infrared Data Association)やリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。