図1〜図20に基づいて、本発明の一実施形態に係る階層動画像復号装置1、階層動画像符号化装置2、および符号化データ変換装置3を説明すれば以下のとおりである。
〔概要〕
本実施の形態に係る階層動画像復号装置(画像復号装置)1は、階層動画像符号化装置(画像符号化装置)2によって階層符号化された符号化データを復号する。階層符号化とは、動画像を低品質のものから高品質のものにかけて階層的に符号化する符号化方式のことである。階層符号化は、例えば、SVCやSHVCにおいて標準化されている。なお、ここでいう動画像の品質とは、主観的および客観的な動画像の見栄えに影響する要素のことを広く意味する。動画像の品質には、例えば、“解像度”、“フレームレート”、“画質”、および、“画素の表現精度”が含まれる。よって、以下、動画像の品質が異なるといえば、例示的には、“解像度”等が異なることを指すが、これに限られない。例えば、異なる量子化ステップで量子化された動画像の場合(すなわち、異なる符号化雑音により符号化された動画像の場合)も互いに動画像の品質が異なるといえる。
階層符号化技術は、階層化される情報の種類の観点から、(1)空間スケーラビリティ、(2)時間スケーラビリティ、(3)SNR(Signal to Noise Ratio)スケーラビリティ、および(4)ビュースケーラビリティに分類されることもある。空間スケーラビリティとは、解像度や画像のサイズにおいて階層化する技術である。時間スケーラビリティとは、フレームレート(単位時間のフレーム数)において階層化する技術である。SNRスケーラビリティは、符号化雑音において階層化する技術である。また、ビュースケーラビリティは、各画像に対応付けられた視点位置において階層化する技術である。
また、本実施形態に係る符号化データ変換装置3は、階層動画像符号化装置2によって階層符号化された符号化データを変換し、所定の注目領域に関する符号化データを(注目領域符号化データ)を生成する。注目領域符号化データは、本実施形態に係る階層動画像復号装置1で復号できる。
本実施形態に係る階層動画像符号化装置2、階層動画像復号装置1、及び階層符号化データ変換装置3の詳細な説明に先立って、まず(1)階層動画像符号化装置2または階層符号化データ変換装置3によって生成され、階層動画像復号装置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を意味する。
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために階層動画像復号装置1が参照する符号化パラメータの集合が規定されている。なお、PPSは符号化データ内に複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。特定ピクチャの復号に使用されるPPSはアクティブPPSとも呼ばれる。以下では、特に断りがなければ、PPSは対象ピクチャに対するアクティブPPSを意味する。なお、アクティブSPSおよびアクティブPPSは、レイヤ毎に異なるSPSや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の形状やサイズを特定できる。
(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についてのイントラ予測方法(予測モード)を指定するためのパラメータである。
[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、スライスヘッダが拡張されて、レイヤ間画像予測に用いる参照レイヤの復号画像に係る情報(例えば、後述のレイヤ間参照ピクチャセット、レイヤ間参照ピクチャリスト、ベース制御情報等を直接、または、間接的に導出するためのシンタックス)が含まれていてもよい。
なお、以上に説明したパラメータは、単独で符号化されていてもよいし、複数のパラメータが複合的に符号化されていてもよい。複数のパラメータが複合的に符号化される場合は、そのパラメータの値の組み合わせに対してインデックスが割り当てられ、割り当てられた当該インデックスが符号化される。また、パラメータが、別のパラメータや、復号済みの情報から導出可能であれば、当該パラメータの符号化を省略できる。
〔ピクチャ、タイル、スライスの関係〕
次に、ピクチャ、タイル、スライスについて、相互の関係および符号化データとの関係を図4を参照して説明する。図4は、階層符号化データにおけるピクチャとタイル・スライスの関係を説明する図である。タイルは、ピクチャ内の矩形の部分領域、および、該部分領域に係る符号化データに対応付けられる。スライスはピクチャ内の部分領域、および、該部分領域に係る符号化データ、すなわち、該部分領域に係るスライスヘッダおよびスライスデータに対応付けられる。
図4(a)はピクチャをタイル・スライスにより分割する場合の分割領域を例示している。図4(a)では、ピクチャは矩形の6個のタイル(T00、T01、T02、T10、T11、T12)に分割されている。タイルT00、タイルT02、タイルT10、タイルT12は、それぞれ1個のスライス(順にスライスS00、スライスS02、スライスS10、スライスS12)を含む。一方、タイルT01は2個のスライス(スライスS01aとスライスS01b)を含み、タイルT11は2個のスライス(スライスS11aとスライスS11b)を含んでいる。
図4(b)は符号化データの構成におけるタイルとスライスの関係を例示している。まず、符号化データは、複数のVCL(Video Coding Layer;ビデオ符号化レイヤ)NALユニットと非VCL(non-VCL)NALユニットから構成される。1枚のピクチャの相当するビデオ符号化レイヤの符号化データは、複数のVCL NALから構成される。ピクチャがタイルに分割される場合、ピクチャに相当する符号化データには、タイルのラスタ順にタイルに相当する符号化データが含まれている。すなわち、図4(a)で示したようにピクチャがタイルに分割される場合、タイルT00、T01、T02、T10、T11、T12の順にタイルに相当する符号化データが含まれる。タイルが複数のスライスに分割される場合、スライス先頭のCTUが、タイル内でのCTUラスタスキャン順で先に位置するスライスから順に、スライスに相当する符号化データがタイルに相当する符号化データに含まれる。例えば、図4(a)で示したようにタイルT01がスライスS01aとS01bを含む場合、スライスS01a、スライスS01bの順にスライスに相当する符号化データがタイルT01に相当する符号化データに順に含まれる。
以上の説明から分かるように、ピクチャ内の特定のタイルに相当する符号化データには、1以上のスライスに対応する符号化データが関連付けられている。そのため、タイルに関連付けられるスライスの復号画像を生成できれば、該タイルに対応するピクチャ内の部分領域の復号画像を生成できる。
以下では、特に追加の説明がなければ、上記のようなピクチャ、タイル、スライスと符号化データの関係を前提として説明を行う。
〔階層動画像復号装置〕
以下では、本実施形態に係る階層動画像復号装置1の構成について、図1〜図13を参照して説明する。
(階層動画像復号装置の構成)
図5を参照して、階層動画像復号装置1の概略的構成を説明する。図5は、階層動画像復号装置1の概略的構成を示した機能ブロック図である。階層動画像復号装置1は、階層符号化データDATA(階層動画像符号化装置2から提供される階層符号化データDATAF、または、符号化データ変換装置3から提供される階層符号化データDATAR)を復号して、対象レイヤの復号画像POUT#Tを生成する。なお、以下では、対象レイヤは基本レイヤを参照レイヤとする拡張レイヤであるとして説明する。そのため、対象レイヤは、参照レイヤに対する上位レイヤでもある。逆に、参照レイヤは、対象レイヤに対する下位レイヤでもある。
図5に示すように階層動画像復号装置1は、NAL逆多重化部11、パラメータセット復号部12、タイル設定部13、スライス復号部14、ベース復号部15、復号ピクチャ管理部16を含む。
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に伝送される。
階層符号化データDATAには、VCLにより生成されたNALの他に、パラメータセット(VPS、SPS、PPS)やSEI等を含むNALが含まれる。それらのNALはVCL NALに対して非VCL NALと呼ばれる。
NAL逆多重化部11は、階層符号化データDATAを逆多重化して、対象レイヤ符号化データDATA#Tおよび参照レイヤ符号化データDATA#$を取り出す。また、NAL逆多重化部11は、対象レイヤ符号化データDATA#Tに含まれるNALのうち、非VCL NALをパラメータセット復号部12に、VCL NALをスライス復号部14にそれぞれ供給する。
パラメータセット復号部12は、入力される非VCL NALからパラメータセット、すなわち、VPS、SPS、および、PPSを復号してタイル設定部13とスライス復号部14に供給する。なお、パラメータセット復号部12における本発明との関連性の高い処理の詳細について後述する。
タイル設定部13は、入力されるパラメータセットに基づいてピクチャのタイル情報を導出してスライス復号部14に供給する。タイル情報は、少なくともピクチャのタイル分割情報を含む。
スライス復号部14は、入力されるVCL NAL、パラメータセット、タイル情報、および、参照ピクチャに基づいて復号ピクチャ、または、復号ピクチャの部分領域を生成して復号ピクチャ管理部16内のバッファに記録する。スライス復号部の詳細な説明は後述する。
復号ピクチャ管理部16は、入力される復号ピクチャやベース復号ピクチャを内部の復号ピクチャバッファ(DPB: Decoded Picture Buffer)に記録するとともに、参照ピクチャリスト生成や出力ピクチャ決定を行う。また、復号ピクチャ管理部16は、DPBに記録されている復号ピクチャを、所定のタイミングで出力ピクチャPOUT#Tとして外部に出力する。
ベース復号部15は、参照レイヤ符号化データDATA#Rからベース復号ピクチャを復号する。ベース復号ピクチャは、対象レイヤの復号ピクチャ復号時に利用される参照レイヤの復号ピクチャである。ベース復号部15は、復号したベース復号ピクチャを復号ピクチャ管理部16内のDPBに記録する。
図6を用いて、ベース復号部15の詳細構成を説明する。図6は、ベース復号部15の構成について例示した機能ブロック図である。
図6に示すように、ベース復号部15は、ベースNAL逆多重化部151、ベースパラメータセット復号部152、ベースタイル設定部153、ベーススライス復号部154、ベース復号ピクチャ管理部156を備える。
ベースNAL逆多重化部151は、参照レイヤ符号化データDATA#Rを逆多重化して、VCL NALと非VCL NALを抽出し、非VCL NALをベースパラメータセット復号部152に、VCL NALをベーススライス復号部154にそれぞれ供給する。
ベースパラメータセット復号部152は、入力される非VCL NALからパラメータセット、すなわち、VPS、SPS、および、PPSを復号してベースタイル設定部153とベーススライス復号部154に供給する。
ベーススタイル設定部153は、入力されるパラメータセットに基づいてピクチャのタイル情報を導出してベーススライス復号部154に供給する。
ベーススライス復号部154は、入力されるVCL NAL、パラメータセット、タイル情報、および、参照ピクチャに基づいて復号ピクチャ、または、復号ピクチャの部分領域を生成してベース復号ピクチャ管理部156内のバッファに記録する。
ベース復号ピクチャ管理部156は、入力される復号ピクチャを内部のDPBに記録するとともに、参照ピクチャリスト生成や出力ピクチャ決定を行う。また、ベース復号ピクチャ管理部156は、DPBに記録されている復号ピクチャを、所定のタイミングでベース復号ピクチャとして出力する。
(パラメータセット復号部12)
パラメータセット復号部12は、入力される対象レイヤの符号化データから、対象レイヤの復号に用いられるパラメータセット(VPS、SPS、PPS)を復号して出力する。一般に、パラメータセットの復号は既定のシンタックス表に基づいて実行される。すなわち、シンタックス表の定める手順に従って符号化データからビット列を読み出して、シンタックス表に含まれるシンタックス要素のシンタックス値を復号する。また、必要に応じて、復号したシンタックス値に基づいて導出した変数を、出力するパラメータセットに含めてもよい。したがって、パラメータセット復号部12から出力されるパラメータセットは、符号化データに含まれるパラメータセット(VPS、SPS、PPS)に係るシンタックス要素のシンタックス値、および、該シンタックス値より導出される変数の集合と表現できる。
以下では、パラメータセット復号部12において復号に使用されるシンタックス表のうち、本発明との関連性が高い、ピクチャ情報、および、レイヤ間位置対応情報に係るシンタックス表の一部について詳しく説明する。
(ピクチャ情報)
パラメータセット復号部12は、入力される対象レイヤ符号化データからピクチャ情報を復号する。ピクチャ情報は、概略的には、対象レイヤの復号ピクチャのサイズを定める情報である。例えば、ピクチャ情報は、対象レイヤの復号ピクチャの幅や高さを表わす情報を含んでいる。
ピクチャ情報は、例えば、SPSに含まれている。SPSから復号されるピクチャ情報には、復号ピクチャの幅(pic_width_in_luma_samples)と復号ピクチャの高さ(pic_height_in_luma_samples)が含まれている。シンタックスpic_width_in_luma_samplesの値は、輝度画素単位での復号ピクチャの幅に対応する。また、シンタックスpic_height_in_luma_samplesの値は、輝度画素単位での復号ピクチャの高さに対応する。
なお、ピクチャ情報は、レイヤ間で共有されている。すなわち、対象レイヤとは異なるレイヤのピクチャ情報を対象レイヤの復号および符号化時に参照できる。
(表示領域情報)
パラメータセット復号部12は、入力される対象レイヤ符号化データから表示領域情報を復号する。表示領域情報は、例えば、SPSに含まれている。SPSから復号される表示領域情報は、表示領域フラグ(conformance_flag)を含む。表示領域フラグは表示領域の位置を表わす情報(表示領域位置情報)が追加でSPSに含まれるか否かを示す。すなわち、表示領域フラグが1の場合、表示領域位置情報が追加で含まれることを示し、表示領域フラグが0の場合、表示領域位置情報が追加で含まれないことを示す。
SPSから復号される表示領域情報は、表示領域フラグが1の場合、さらに表示領域位置情報として表示領域左オフセット(conf_win_left_offset)、表示領域右オフセット(conf_win_right_offset)、表示領域上オフセット(conf_win_top_offset)、表示領域下オフセット(conf_win_bottom_offset)を含む。
表示領域は、表示領域フラグが0の場合には、ピクチャ全体が設定される。一方、表示領域フラグが1の場合には、表示領域位置情報が示すピクチャ内の部分領域が設定される。なお、表示領域は、コンフォーマンス窓(conformance window)とも呼称される。
図7を参照して表示領域位置情報と表示領域の関係を説明する。図7は、ピクチャ内の部分領域である表示領域と表示領域位置情報の関係を例示する図である。図に示したように、表示領域はピクチャ内に包含されており、表示領域上オフセットはピクチャ上辺と表示領域上辺の距離、表示領域左オフセットはピクチャ左辺と表示領域左辺の距離、表示領域右オフセットはピクチャ右辺と表示領域右辺の距離、表示領域下オフセットはピクチャ下辺と表示領域下辺の距離をそれぞれ表わしている。したがって、上記の表示領域位置情報により、表示領域のピクチャ内の位置およびサイズが一意に特定できる。なお、表示領域情報は、表示領域のピクチャ内の位置およびサイズが一意に特定できる他の情報であっても構わない。
なお、表示領域情報は、レイヤ間で共有されている。すなわち、対象レイヤとは異なるレイヤの表示領域情報を対象レイヤの復号および符号化時に参照できる。
(レイヤ間位置対応情報)
パラメータセット復号部12は、入力される対象レイヤ符号化データからレイヤ間位置対応情報を復号する。レイヤ間位置対応情報は、概略的には、対象レイヤと参照レイヤの対応する領域の位置関係を示す。例えば、対象レイヤのピクチャと参照レイヤのピクチャにある物体(物体A)が含まれる場合、対象レイヤのピクチャ上の物体Aに対応する領域と、参照レイヤのピクチャ上の物体Aに対応する領域が、前記対象レイヤと参照レイヤの対応する領域に相当する。なお、レイヤ間位置対応情報は、必ずしも上記の対象レイヤと参照レイヤの対応する領域の位置関係を正確に示す情報でなくてもよいが、一般的には、レイヤ間予測の正確性を高めるために正確な対象レイヤと参照レイヤの対応する領域の位置関係を示している。
(参照領域情報)
レイヤ間位置対応情報は、参照領域情報を含む。参照領域情報は、特定のレイヤ(以下、レイヤA)における、以下の2つの領域の空間的な位置関係を表す情報である。
(ピクチャ領域):レイヤA上のピクチャに対応する領域
(参照領域):レイヤAと別のレイヤ(レイヤB)の間のレイヤ間処理において、レイヤ間の画素位置の対応関係を示す情報の導出に用いられる、レイヤA上の領域
本実施形態において、参照領域情報として参照領域オフセットを用いる。参照領域オフセットは、上記参照領域の各頂点と、上記ピクチャ領域の対応する各頂点との間の変位を表す情報であり、左、上、右、下にそれぞれ対応する、以下の4つのオフセットから構成される。
1.参照領域左オフセット:参照領域左上画素とピクチャ領域左上画素との間の水平方向のオフセット
2.参照領域上オフセット:参照領域左上画素とピクチャ領域左上画素との間の垂直方向のオフセット
3.参照領域右オフセット:参照領域右下画素とピクチャ領域右下画素との間の水平方向のオフセット
4.参照領域下オフセット:参照領域右下画素とピクチャ領域右下画素との間の垂直方向のオフセット
参照領域オフセットに含まれる上記各オフセットと、ピクチャ領域、および、参照領域との関係を、図8を用いて説明する。図8は、対象レイヤピクチャ、対象レイヤ参照領域、参照レイヤピクチャ、参照レイヤ参照領域と、参照領域オフセットの関係を例示する図である。図8では、対象レイヤ上のピクチャ領域(対象レイヤピクチャ)に対象レイヤ上の参照領域(対象レイヤ参照領域)が包含される場合の、対象レイヤにおける各参照領域オフセット(対象レイヤ参照領域左オフセット、対象レイヤ参照領域上オフセット、対象レイヤ参照領域右オフセット、対象レイヤ参照領域下オフセット)の関係を示している。また、図8では、参照レイヤ上のピクチャ領域(参照レイヤピクチャ)に参照レイヤ上の参照領域(参照レイヤ参照領域)が包含される場合の、参照レイヤにおける各参照領域オフセット(参照レイヤ参照領域左オフセット、参照レイヤ参照領域上オフセット、参照レイヤ参照領域右オフセット、参照レイヤ参照領域下オフセット)の関係を示している。レイヤ間予測に代表されるレイヤ間処理における対応画素位置導出やスケール導出は、対象レイヤ参照領域と参照レイヤ参照領域を用いて実行される。
なお、図8では、参照領域がピクチャ領域に含まれる場合を図示したが、それに限らず、ピクチャ領域が参照領域に含まれていいてもよいし、参照領域とピクチャ領域の一部が重なっていても構わない。本実施形態では、参照領域オフセットの正負は、参照領域がピクチャ領域に含まれる場合に正の値、ピクチャ領域に参照領域が含まれる場合に負の値をとるものとする。すなわち、図8に示した、ピクチャ領域に参照領域が包含される場合には、全ての参照領域オフセットの値が正となる。なお、参照領域オフセットの正負の定義は、逆であっても構わないが、その場合は後述の対応参照位置やスケールの導出式を適宜読み替えて適用する必要が生じる。
なお、参照領域オフセットの目的は、参照領域の形状、および、ピクチャ領域と参照領域の空間的な位置関係を規定することにある。そのため、その目的が達成されるのであれば、上記以外の参照オフセット以外のパラメータを用いることも可能である。例えば、参照領域の左上画素のピクチャ領域左上画素に対する水平および垂直方向のオフセットと参照領域の矩形の幅および高さの組み合わせを用いてもよい。参照領域の形状、および、ピクチャ領域と参照領域の空間的な位置関係を規定する情報のことを参照領域位置情報と呼ぶ。参照領域位置情報は、参照領域オフセットの上位概念に相当する。本実施形態の説明では、参照領域位置情報として参照領域オフセットを用いる場合を前提として記載する。
(参照領域オフセットのシンタックス)
パラメータセット復号部12において、入力される符号化データから復号される参照領域オフセットに係るシンタックスについて、図9を参照して説明する。図9は、パラメータセット復号部12がVPSに含まれるVPS拡張(vps_extension())の復号時に参照されるシンタックス表の一部であって、参照領域オフセットに係る部分である。
VPSには参照領域オフセットに係る複数のシンタックス要素が含まれている。以下では、それらを総称して参照領域オフセット関連シンタックスと呼ぶ。図9に示すシンタックス表は、参照領域オフセット関連シンタックスを構成するシンタックス要素として、以下のシンタックス要素がVPS拡張に含まれていることを示している。
・A0:参照領域オフセット存否フラグ(ref_region_offsets_in_vps_flag)
・A1:参照領域オフセット数(num_ref_region_offsets[i])
・A2:参照領域レイヤインデックス情報(ref_region_layer_idx_delta_minus1[i][j])
・A3L:参照領域左オフセット情報(ref_region_left_offset[i][j])
・A3T:参照領域上オフセット情報(ref_region_top _offset[i][j])
・A3R:参照領域右オフセット情報(ref_region_right_offset[i][j])
・A3B:参照領域下オフセット情報(ref_region_bottom_offset[i][j])
シンタックス要素A0は1ビットのフラグ(u(1))の符号である。シンタックス要素A1、A2はHEVCで規定されている非負整数の0次指数ゴロム符号(ue(v))により符号化される。A3L、A3T、A3R、A3BはHEVCで規定されている符号付き整数の0次指数ゴロム符号(se(v))により符号化される。
参照領域オフセット存否フラグ(A0)は、当該フラグを除く参照領域オフセット関連シンタックスが、VPS拡張に含まれるか否かを示すフラグである。該フラグの値が1の場合に、参照領域オフセット関連シンタックスが含まれることを示す。それ以外(該フラグの値が0)の場合、参照領域オフセット関連シンタックスが含まれないことを示す。
参照領域オフセット数(A1)は、VPS拡張に含まれるインデックスiにより特定されるレイヤ(以下、レイヤi)に対する参照領域オフセットの数を表す。なお、インデックスiは、VPS拡張に含まれるレイヤを示すインデックスである。参照領域オフセットの個数は、左、上、右、下にそれぞれ対応する4個のオフセット(上記A3L,A3T、A3R、A3B)の組み合わせの個数に相当する。参照領域オフセット数は、0以上MaxLayersMinus1以下のインデックス各値により特定される各レイヤに対して符号化/復号される。
なお、VPS拡張に含まれる参照領域オフセット数の個数は、何れのレイヤに対する参照領域オフセットの伝送も可能とする機能性を実現する上で、上記の個数が好ましい。しかしながら、一部のレイヤに対して参照領域オフセットが利用されないことが別の手段により明らかである場合、該レイヤに対応する参照領域オフセット数を省略して、該レイヤに対する参照領域オフセットの値を0と推定してもよい。
参照領域レイヤインデックス情報(A2)は、レイヤiに関連付けられるj番目のレイヤを特定する情報である。具体的には、参照領域レイヤインデックス情報は、レイヤiに関連付けられるj番目のレイヤのVPS内のレイヤインデックス(LIdx[i][j])の導出に利用される。LIdx[i][j]は、参照領域レイヤインデックス情報のシンタックス値ref_region_layer_idx_delta_minus1[i][j]をRRL[i][j]とする場合、次式により導出される。
LIdx[i][j] = i - (RRL[i][j] + 1) ... (j == 0)
LIdx[i][j] = LIdx[i][j-1] + (RRL[i][j] + 1) ... (j >= 1)
すなわち、jが0に等しい場合、インデックスiから、参照領域レイヤインデックス情報に1を加えた数だけ小さいレイヤインデックスを設定する。また、jが1以上の場合、レイヤiに関連付けられた(j-1)番目のレイヤのインデックスから、参照領域レイヤインデックス情報に1を加えた数だけ大きいレイヤインデックスを設定する。ここで、RRL[i][j]の最大値は、ビットストリーム中のレイヤ数最大値(MaxLayersMinus1+1)未満である。すなわち、レイヤiに関連付けられたj番目のレイヤのインデックスの最大値は、レイヤiのインデックス(インデックスi)より大きい値を取り得る。
なお、上記のように参照領域レイヤインデックス情報を定義した場合、参照領域レイヤインデックス情報の符号量を抑制する効果がある。しかしながら、該符号量の抑制が重要ではない場合、インデックスjと特定のレイヤを関連付ける別のシンタックスおよび導出手段の組み合わせを用いても構わない。例えば、参照領域レイヤインデック情報としてVPS内レイヤインデックスを用いてもよい。その場合、以下の式によりLIdx[i][j]が導出される。
LIdx[i][j] = RRL[i][j]
参照領域オフセット情報(参照領域左オフセット情報(A3L)、参照領域上オフセット情報(A3T)、参照領域右オフセット情報(A3R)、参照領域下オフセット情報(A3B))は、レイヤi上の参照領域であって、レイヤiと、レイヤiに関連付けられたj番目のレイヤとの間のレイヤ間処理(レイヤ間予測)で参照される参照領域を表すオフセット(参照領域オフセット)を導出するための情報である。参照領域オフセット情報は、参照領域の位置と大きさ(形状)を表す情報でもあり、参照領域位置情報とも呼ぶ。
上記の参照領域オフセット情報は、次のように表現できる。すなわち、参照領域位置情報は、第一のレイヤ識別情報(上記i)と第二のレイヤ識別情報(上記j)をインデックスとする配列変数である。第一のレイヤ識別情報であるiは、参照領域が存在するレイヤのVPS内レイヤインデックスである。また、第二のレイヤ識別情報であるjは、参照領域を適用するレイヤ間処理の対象レイヤを特定する情報であって、上記のLIdx[i][j]を通して、レイヤ間処理の対象レイヤのVPS内レイヤインデックスと関連付けられている。
(スライス復号部14)
スライス復号部14は、入力されるVCL NAL、パラメータセット、および、タイル情報に基づいて復号ピクチャを生成して出力する。
図13を用いて、スライス復号部14の概略的構成を説明する。図13は、スライス復号部14の概略的構成を示した機能ブロック図である。
スライス復号部14は、スライスヘッダ復号部141、スライス位置設定部142、CTU復号部144を備えている。CTU復号部144は、さらに、予測残差復元部1441、予測画像生成部1442、および、CTU復号画像生成部1443を含んでいる。
(スライスヘッダ復号部)
スライスヘッダ復号部141は、入力されるVCL NALとパラメータセットに基づいてスライスヘッダを復号し、スライス位置設定部142、スキップスライス判定部143、および、CTU復号部144に出力する。
スライスヘッダには、ピクチャ内のスライス位置に係る情報(SHスライス位置情報)、および、スキップスライスに係る情報(SHスキップスライス情報)が含まれる。
スライスヘッダには、スライス位置情報として、ピクチャ内先頭スライスフラグ(first_slice_segment_in_pic_flag)が含まれる。ピクチャ内先頭スライスフラグが1の場合、対象スライスが復号順でピクチャ内の先頭に位置することを示す。ピクチャ内先頭スライスフラグが0の場合は、対象スライスが復号順でピクチャ内の先頭に位置しないことを示す。
また、スライスヘッダには、スライス位置情報として、スライスPPS識別子(slice_pic_parameter_set_id)が含まれる。スライスPPS識別子は、対象スライスに関連付けられるPPSの識別子であり、当該PPS識別子を介して、対象スライスに関連付けるべきタイル情報が特定される。
(スライス位置設定部)
スライス位置設定部142は、入力されるスライスヘッダとタイル情報に基づいてピクチャ内のスライス位置を特定してCTU復号部144に出力する。スライス位置設定部142で導出されるピクチャ内のスライス位置は、スライスに含まれる各CTUのピクチャ内での位置を含む。
(CTU復号部)
CTU復号部144は、概略的には、入力されるスライスヘッダ、スライスデータ、および、パラメータセットに基づいて、スライスに含まれる各CTUに対応する領域の復号画像を復号することで、スライスの復号画像を生成する。スライスの復号画像は、入力されるスライス位置の示す位置に、復号ピクチャの一部として出力される。CTUの復号画像は、CTU復号部144内部の予測残差復元部1441、予測画像生成部1442、および、CTU復号画像生成部1443により生成される。予測残差復元部1441は、入力のスライスデータに含まれる予測残差情報(TT情報)を復号して対象CTUの予測残差を生成して出力する。予測画像生成部1442は、入力のスライスデータに含まれる予測情報(PT情報)の示す予測方法と予測パラメータに基づいて予測画像を生成して出力する。その際、必要に応じて、参照ピクチャの復号画像や符号化らメータが利用される。CTU復号画像生成部1443は、入力される予測画像と予測残差を加算して対象CTUの復号画像を生成して出力する。
(予測画像生成部の詳細)
前述の予測画像生成部1442による予測画像生成処理のうち、レイヤ間画像予測が選択された場合の予測画像生成処理の詳細を説明する。
レイヤ間画像予測が適用される対象CTUに含まれる対象画素の予測画素値の生成処理は次の手順で実行される。まず、参照ピクチャ位置導出処理を実行し、対応参照位置を導出する。ここで、対応参照位置とは、対象レイヤピクチャ上の対象画素に対応する参照レイヤ上の位置である。なお、対象レイヤと参照レイヤの画素は必ずしも1対1に対応しないため、対応参照位置は、参照レイヤにおける画素単位未満の精度で表現される。次に、導出した対応参照位置を入力として補間フィルタ処理を実行することで、対象画素の予測画素値が生成される。
対応参照位置導出処理では、パラメータセットに含まれるピクチャ情報、および、参照領域情報に基づいて、対応参照位置を導出する。対応参照位置導出処理の詳細手順について、図1を参照して説明する。なお、以下では、対応参照位置導出処理の対象レイヤがレイヤC(レイヤCのVPS内インデックスがc)、対象レイヤの参照レイヤがレイヤR(レイヤRのVPS内インデックスがr)であるとして説明する。ここで、対象レイヤの参照レイヤは、対象レイヤより下位のレイヤであって、小さいVPS内インデックスに対応するレイヤがより下位のレイヤである、という2つの事実から、rはcより小さいという関係が成り立つ。図1は、対応参照位置導出処理のフロー図である。レイヤCを対象レイヤとする場合のレイヤCとレイヤRの間のレイヤ間画像予測処理における対応参照位置導出処理は、以下のS101〜S107の手順で順次実行される。
(S101)パラメータセット復号部12で参照領域情報として復号された、iとjをインデックスとする参照領域オフセット情報から、参照領域オフセットを導出する。以下では、導出される参照領域オフセットを、RRO[k][l]と呼ぶ。加えて、RRO[k][l]を構成する左、上、右、下にそれぞれ対応する参照領域オフセットとその記号を以下の通り定義する。
参照領域左オフセット:RRLO[k][l]
参照領域上オフセット:RRTO[k][l]
参照領域右オフセット:RRRO[k][l]
参照領域下オフセット:RRBO[k][l]
RRO[i][j][k][l]を構成する各オフセット、RRLO[k][l]、RRTO[k][l]、RRRO[k][l]、RRBO[k][l]は、対応する参照領域オフセット情報に基づいて、以下の計算により導出される。
RRLO[k][l] = (ref_region_left_offset[i][j] << 1)
RRTO[k][l] = (ref_region_top_offset[i][j] << 1)
RRRO[k][l] = (ref_region_right_offset[i][j] << 1)
RRBO[k][l] = (ref_region_bottom_offset[i][j] << 1)
ここで、k=i、l=LIdx[i][j]の関係がある。LIdx[i][j]は、パラメータセット復号部12において復号された参照領域レイヤインデックス情報に基づいて導出された配列であって、レイヤiに対するj番目の参照領域オフセット情報が関連付けられるレイヤのVPS内インデックスを表す。
なお、特定のkとlの組み合わせに対応する参照領域オフセット(RRO[k][l])に対して、対応するiとjの組み合わせに対応する参照領域オフセット情報が存在しない場合、RRO[k][l]を構成する各オフセットの値は0に設定される。つまり、そのような場合、レイヤk上の参照領域であって、レイヤkとレイヤlの間のレイヤ間予測で参照される参照領域の既定値としてレイヤk上のピクチャ全体に相当する領域が設定される。
上記式によれば、対応する参照領域オフセット情報のシンタックス値を2倍した値を参照領域オフセットとして設定しているが、参照領域オフセットと参照領域オフセット情報の関係は、それに限らない。上記の参照領域オフセット情報と参照領域オフセットの関係はあくまで一例であり、他の妥当な方法により両者を関連付けてもよい。
(S102)参照レイヤ(レイヤr)上の参照領域の位置および形状を示す参照レイヤ参照領域オフセット(参照レイヤ参照領域位置)を導出する。参照レイヤ参照領域オフセットは、左、上、右、下にそれぞれ対応する4つのオフセット(順にRL_RRLO、RL_RRTO、RL_RRRO、RL_RRBO)から構成され、次式により導出される。
RL_RRLO = RRLO[r][c]
RL_RRTO = RRTO[r][c]
RL_RRRO = RRRO[r][c]
RL_RRBO = RRBO[r][c]
すなわち、参照レイヤ参照領域オフセットの値として、参照レイヤR上の参照領域であって、参照レイヤRと対象レイヤCとの間のレイヤ間予測で参照される参照領域オフセットを設定している。
なお、参照レイヤ参照領域オフセットの値に利用される参照領域オフセット(RRO[r][c])は、「r < c」の条件を満たす参照領域オフセットである。
上記で説明した参照レイヤ参照領域オフセットの導出処理は、次のように表現できる。すなわち、対象レイヤと参照レイヤの間のレイヤ間予測実行時における参照レイヤ参照領域オフセット(参照レイヤ参照領域位置)は、参照レイヤのVPS内インデックスを一番目の配列インデックス、対象レイヤのVPS内インデックスを二番目の配列インデックスとする参照領域オフセットの要素を用いて設定されている。上記に該当する参照領域オフセットの各要素は、S101において、参照レイヤのVPS内インデックスr(第一のレイヤ識別情報)を一番目の配列インデックス、対象レイヤのVPS内インデックスcを間接的に表す番号i(第二のレイヤ識別情報)を二番目の配列インデックスとする参照領域位置情報(RRO[r][c])の値が設定されている。
(S103)S102で導出した参照レイヤ参照領域オフセットと、参照レイヤピクチャサイズに基づいて、参照レイヤ上の参照領域のサイズを導出する。参照レイヤ上の参照領域の幅(RL_RRW)と高さ(RL_RRH)は、参照レイヤピクチャの幅(RL_PICW)と高さ(RL_PICH)に基づいて、それぞれ次式により導出される。
RL_RRW = RL_PICW - n * (RL_RRLO + RL_RRRO)
RL_RRH = RL_PICH - n * (RL_RRTO + RL_RRBO)
ここで、nの値は、参照レイヤピクチャの画素単位と参照領域オフセットの単位を揃えるためのパラメータである。例えば、入力画像の色信号が4:2:0形式の場合であって、参照領域オフセットの単位が輝度画素単位である場合、輝度に対してはn=1の値を、色差に対してはn=0.5の値を用いることで単位を揃える。
すなわち、上記の式によれば、参照レイヤピクチャの幅に、参照レイヤ参照領域左オフセットと参照レイヤ参照領域右オフセットの和を単位を揃えて加算することで、参照レイヤ上の参照領域の幅を導出している。参照レイヤ上の参照領域の高さについても同様である。
(S104)対象レイヤ(レイヤc)上の参照領域の位置および形状を表す対象レイヤ参照領域オフセット(対象レイヤ参照領域位置)を導出する。対象レイヤ参照領域オフセットは、左、上、右、下にそれぞれ対応する4つのオフセット(順にCL_RRLO、CL_RRTO、CL_RRRO、CL_RRBO)から構成され、次式により導出される。
CL_RRLO = RRLO[c][r]
CL_RRTO = RRTO[c][r]
CL_RRRO = RRRO[c][r]
CL_RRBO = RRBO[c][r]
すなわち、対象レイヤ参照領域オフセットの値として、対象レイヤC上の参照領域であって、対象レイヤCと参照レイヤRとの間のレイヤ間予測で参照される参照領域オフセットを設定している。
なお、対象レイヤ参照領域オフセットの値に利用される参照領域オフセット(RRO[c][r])は、「c > r」の条件を満たす参照領域オフセットである。
上記で説明した対象レイヤ参照領域オフセットの導出処理は、次のように表現できる。すなわち、対象レイヤと参照レイヤの間のレイヤ間予測実行時における対象レイヤ参照領域オフセット(対象レイヤ参照領域位置)は、対象レイヤのVPS内インデックスcを一番目の配列インデックス、参照レイヤのVPS内インデックスrを二番目の配列インデックスとする参照領域オフセットの要素を参照して設定されている。上記に該当する参照領域オフセットの各要素は、S101において、対象レイヤのVPS内インデックスi(第一のレイヤ識別情報)を一番目の配列インデックス、参照レイヤのVPS内インデックスを間接的に表す番号j(第二のレイヤ識別情報)を二番目の配列インデックスとする参照領域位置情報(RRO[i][j])の値が設定されている。
(S105)S104で導出した対象レイヤ参照領域オフセットと、対象レイヤピクチャサイズに基づいて、対象レイヤ上の対象領域のサイズを導出する。対象レイヤ上の参照領域の幅(CL_RRW)と高さ(CL_RRH)は、対象レイヤピクチャの幅(CL_PICW)と高さ(CL_PICH)に基づいて、それぞれ次式により導出される。
CL_RRW = CL_PICW - n * (CL_RRLO + CL_RRRO)
CL_RRH = CL_PICH - n * (CL_RRTO + CL_RRBO)
ここで、nの値は、S103で説明したnと同様であり、対象レイヤピクチャの画素単位と対象領域オフセットの単位を揃えるためのパラメータである。
すなわち、上記の式によれば、対象レイヤピクチャの幅に、対象レイヤ参照領域左オフセットと対象レイヤ参照領域右オフセットの和を単位を揃えて加算することで、対象レイヤ上の参照領域の幅を導出している。対象レイヤ上の参照領域の高さについても同様である。
(S106)S103で導出した参照レイヤ参照領域のサイズとS105で導出した対象レイヤ参照領域のサイズに基づいて、レイヤ間予測に用いるスケールを導出する。水平方向のスケールsxと垂直方向のスケールsyはそれぞれ次式により導出される。
sx = ((RL_RRW << 16) + (CL_RRW >> 1)) / CL_RRW
sy = ((RL_RRH << 16) + (CL_RRH >> 1)) / CL_RRH
なお、演算子“/”は整数の除算を表す演算子である。
すなわち、上式によれば、参照レイヤ参照領域サイズに所定の定数(上式では“<<16”)を乗じ、対象レイヤ参照領域サイズで除算した値をスケールとして設定している。なお、“(CL_RRW>>1)”の項は、除算による丸めを調整する項である。したがって、単位や丸め調整の効果を除けば、スケールは参照レイヤ参照領域のサイズ(幅または高さ)の、対象レイヤ参照領域のサイズ(幅または高さ)に対する比率と説明できる。
(S107)S102で導出した参照レイヤ参照領域オフセットと、S106で導出したスケールに基づいて、16分の1画素精度の参照画素位置を導出する。対象レイヤ上の画素位置(xP、yP)に対応する、参照レイヤ上の16分の1画素精度の参照画素位置の水平成分(x成分)xRef16と、垂直成分(y成分)yRef16の値は、それぞれ次式により導出される。
xRef16 = (((xP - CL_OX) * sx + addX + (1<<11)) >> 12) + deltaX + RL_OX
yRef16 = (((yP - CL_OY) * sy + addY + (1<<11)) >> 12) + deltaY + RL_OY
ここで、
CL_OX = CL_RRLO / crAdjust
CL_OY = CL_RRTO / crAdjust
RL_OX = (RL_RRLO << 4) / crAdjust
RL_OY = (RL_RRTO << 4) / crAdjust
なお、crAdjustは輝度と色差の単位の違いを補正するパラメータであり、例えば、4:2:0の復号画像を扱う場合、輝度であれば1、色差であれば2の値が設定される。また、addX、addY、deltaX、deltaYは、アップサンプリングやインタレースに伴う対象レイヤ上の画素と参照レイヤ上の画素のずれを表すパラメータである。
すなわち、上式によれば、参照レイヤ参照領域オフセットとスケールに基づいて参照画素位置を計算している。導出した16分の1画素精度の参照画素位置を対応参照位置として、対応参照位置導出処理を終了する。
上記の対応参照位置導出処理では、スケールをピクチャサイズではなく、参照領域により特定される領域間のサイズの比として導出している。そのため、注目領域抽出の目的で対象レイヤピクチャや参照レイヤピクチャのピクチャサイズが変更する場合であっても、参照領域が同一となるよう関連シンタックス値を設定することで、抽出前後で同一のスケールを導出できる。
補間フィルタ処理では、上記対応参照位置導出処理で導出した対応参照位置に相当する位置の画素値を、参照レイヤピクチャ上の、前記対応参照位置近傍の画素の復号画素に補間フィルタを適用することで生成する。
(動画像復号装置1の効果)
以上説明した本実施形態に係る階層動画像復号装置1(階層画像復号装置)は、パラメータセットを復号するパラメータセット復号部12と、参照レイヤピクチャの復号画素を参照してレイヤ間予測により予測画像を生成する予測画像生成部1442を備えている。パラメータセット復号部12は参照領域オフセットを復号し、予測画像生成部1442は、該参照領域オフセットから導出される参照レイヤ参照領域オフセットと対象レイヤ参照領域オフセットに基づいてスケールを計算し、該スケールを参照して対応参照位置を導出してレイヤ間予測を実行する。換言すると、階層動画像復号装置1は、参照領域オフセットの導出に必要なシンタックス値を符号化データから復号し、該シンタックス値に基づいて導出されたパラメータに基づいて対応参照位置を計算することで、注目領域抽出を実行する場合に適切な対応参照位置を導出する機能を提供できる。したがって、階層動画像復号装置1は、従来に比べて、より少ないシンタックス要素を用いて、注目領域抽出前後で上位レイヤ画素と下位レイヤ画素の位置関係の正確さを維持する機能を提供できる。
[変形例1:上位レイヤに対する参照領域オフセットの制限]
上記の階層動画像復号装置1の説明では、パラメータセット復号部12で参照領域情報に含まれる参照領域レイヤインデックス情報が復号され、該参照領域レイヤインデックス情報に基づいて導出されるレイヤiに関連付けられるj番目のレイヤのインデックスLIdx[i][j]は、iより大きい値を取り得ると記載した。これは、レイヤiに関連付けられるj番目の参照領域オフセット情報がLIdx[i][j]との間のレイヤ間処理における参照領域を示すために利用され、LIdx[i][j]で示されるレイヤはレイヤiより上位の各レイヤに対して独立に指定できることを意味する。
上記のLIdx[i][j]による制約を変更し、LIdx[i][j]のとり得る値をi以下とする制約とした上で、LIdx[i][j]の値がiとなる場合の、レイヤiに関連付けられるj番目の参照領域オフセット情報は、レイヤi上の参照領域であって、レイヤiと、レイヤiより上位の任意のレイヤとの間のレイヤ間処理において利用される参照領域のオフセットを示す情報とする。
上記のようにLIdx[i][j]の値をi以下に制限する場合、対応参照位置導出処理のS102において説明した参照レイヤ参照領域オフセットの導出処理は、次のように修正される。すなわち、参照レイヤ(レイヤR、VPS内インデックスr)上の参照領域を示す対象レイヤ参照領域オフセットを導出する。参照レイヤ参照領域オフセットは、左、上、右、下にそれぞれ対応する4つのオフセット(順にRL_RRLO、RL_RRTO、RL_RRRO、RL_RRBO)から構成され、次式により導出される。
RL_RRLO = RRLO[r][r]
RL_RRTO = RRTO[r][r]
RL_RRRO = RRRO[r][r]
RL_RRBO = RRBO[r][r]
すなわち、対象レイヤ参照領域オフセットの値として、参照レイヤR上の参照領域であって、レイヤRと、レイヤRより上位の任意レイヤとの間のレイヤ間予測で参照される参照領域オフセットを設定している。
上記変形例によると、参照領域情報に要する符号量を少なくできる。なぜなら、共通のレイヤ(被参照レイヤ)を参照する場合に、該被参照レイヤ上で同一の参照領域を一組の参照領域オフセットにより特定できるためである。一般に、レイヤ間予測により参照される参照領域は同一であることが多いため、上記のように被参照レイヤ上で同一の参照領域を設定できれば、多くのアプリケーションでは機能的に十分といえる。
[変形例2:SPSによる参照領域情報の伝送]
上記の階層動画像復号装置1の説明では、参照領域情報をVPS拡張に含む例を説明したが、他のパラメータセット(SPSやPPS)やヘッダ(スライスヘッダ)で送ることも可能である。以下では、SPSに参照領域情報を含む場合の変形例を説明する。
(SPS内の参照領域オフセットのシンタックス)
パラメータセット復号部12において、入力される符号化データから復号される参照領域オフセットに係るシンタックスについて、図10を参照して説明する。図10は、パラメータセット復号部12がSPSに含まれるSPS拡張(sps_multilayer_extension())の復号時に参照するシンタックス表の一部であって、参照領域オフセットに係る部分である。
SPS拡張には参照領域オフセットに係る複数のシンタックス要素が含まれている。以下では、それらを総称してSPS参照領域オフセット関連シンタックスと呼ぶ。図10に示すシンタックス表は、SPS参照領域オフセット関連シンタックスを構成するシンタックス要素として、以下のシンタックス要素がSPS拡張に含まれていることを示している。
・B1:参照領域オフセット数(num_ref_region_offsets)
・B2:参照領域レイヤ識別子情報(ref_region_layer_id[i])
・B3L:参照領域左オフセット情報(ref_region_left_offset[i])
・B3T:参照領域上オフセット情報(ref_region_top _offset[i])
・B3R:参照領域右オフセット情報(ref_region_right_offset[i])
・B3B:参照領域下オフセット情報(ref_region_bottom_offset[i])
シンタックス要素B1は6ビットの2進数表現表現の符号、B2はHEVCで規定されている非負整数の0次指数ゴロム符号(ue(v))、B3L、B3T、A3R、A3BはHEVCで規定されている符号付き整数の0次指数ゴロム符号(se(v))を用いて復号または符号化される。
参照領域オフセット数(B1)は、SPS拡張を参照するスライス(ピクチャ)の属するレイヤ(以下、対象レイヤ)に対する参照領域オフセットの数を表す。参照領域オフセットの個数は、左、上、右、下にそれぞれ対応する4個のオフセット(上記B3L,B3T、B3R、B3B)の組み合わせの個数に相当する。
参照領域レイヤ識別子情報(B2)は、対象レイヤにおけるi番目の参照領域オフセットが関連付けられるレイヤを特定する情報である。具体的には、参照領域レイヤ識別子情報は、対象レイヤに関連付けられるi番目のレイヤのレイヤ識別子(nuh_layer_id)である。ref_region_layer_id[i]の値は、対象レイヤのレイヤ識別子以下である。ref_region_layer_id[i]の値が対象レイヤのレイヤ識別子未満の場合、インデックスiに関連付けられる参照領域オフセット情報は、対象レイヤ上の参照領域であって、対象レイヤとref_region_layer_id[i]の示すレイヤとの間のレイヤ間予測で参照される参照領域のオフセットを示す。ref_region_layer_id[i]の値が対象レイヤのレイヤ識別子と等しい場合、インデックスiに関連付けられる参照領域オフセット情報は、対象レイヤ上の参照領域であって、対象レイヤを参照レイヤとするレイヤと、対象レイヤとの間のレイヤ間予測で参照される参照領域オフセットを示す。
また、インデックスi1とi2が「i1<i2」を満たす場合、「ref_region_layer_id[i1] < ref_region_layer_id[i2]」の条件を満たすことが好ましい。すなわち、参照領域レイヤ識別子情報は、SPS拡張内で、対応するレイヤ識別子が昇順となる順序で含まれていることが好ましい。レイヤ識別子が順序づけられていれば、レイヤ識別子が最大の参照領域レイヤ識別子情報を例えば、ref_region_layer_id[num_ref_region_offsets-1]により簡単に導出することができる。
参照領域オフセット情報(参照領域左オフセット情報(B3L)、参照領域上オフセット情報(B3T)、参照領域右オフセット情報(B3R)、参照領域下オフセット情報(B3B))は、対象レイヤ上の参照領域であって、対象レイヤと、対象レイヤに関連付けられたi番目のレイヤとの間のレイヤ間処理(レイヤ間予測)で参照される参照領域を表すオフセット(参照領域オフセット)を導出するための情報である。
(SPSによる参照領域情報を用いる場合の対応参照導出処理)
次に、上記の図10のシンタックス表を参照して復号されたSPS参照領域オフセット関連シンタックスを用いて、予測画像生成部1442による予測画像生成処理のうち、レイヤ間画像予測が選択された場合に実行される、対応参照位置導出処理を説明する。
対象レイヤと参照レイヤの間のレイヤ間画像予測処理における対応参照位置導出処理は、以下のS201〜S207の手順で順次実行される。
(S201)パラメータセット復号部12により、対象レイヤが参照するSPSから参照領域情報として復号された、参照領域オフセット情報から、対象レイヤ上の参照領域であって、対象レイヤ(レイヤC、レイヤ識別子cLId)と参照レイヤ(レイヤR、レイヤ識別子rLId)の間のレイヤ間予測で参照される参照領域オフセットを導出する。以下では、導出される参照領域オフセットを、RRO[cLId][rLId]と呼ぶ。加えて、RRO[cLId][rLId]を構成する左、上、右、下にそれぞれ対応する参照領域オフセットと記号を以下の通り定義する。
参照領域左オフセット:RRLO[cLId][rLId]
参照領域上オフセット:RRTO[cLId][rLId]
参照領域右オフセット:RRRO[cLId][rLId]
参照領域下オフセット:RRBO[cLId][rLId]
RRO[i][j]を構成する各オフセット、RRLO[i][j]、RRTO[i][j]、RRRO[i][j]、RRBO[i][j]は、対応する参照領域オフセット情報に基づいて、以下の計算により導出される。
RRLO[cLId][rLId] = (ref_region_left_offset[rLId] << 1)
RRTO[cLId][rLId] = (ref_region_top_offset[rLId] << 1)
RRRO[cLId][rLId] = (ref_region_right_offset[rLId] << 1)
RRBO[cLId][rLId] = (ref_region_bottom_offset[rLId] << 1)
(S202)参照レイヤ上の参照領域を示す参照レイヤ参照領域オフセットを導出する。参照レイヤ参照領域オフセットは、左、上、右、下にそれぞれ対応する4つのオフセット(順にRL_RRLO、RL_RRTO、RL_RRRO、RL_RRBO)から構成され、次式により導出される。
RL_RRLO = RRLO[cLId][cLId]
RL_RRTO = RRTO[cLId][cLId]
RL_RRRO = RRRO[cLId][cLId]
RL_RRBO = RRBO[cLId][cLId]
すなわち、参照レイヤ参照領域オフセットの値として、参照レイヤ上の参照領域であって、参照レイヤと参照レイヤより上位のレイヤとの間のレイヤ間予測で参照される参照領域オフセットを設定している。
なお、VPSでの符号化を併用するなどの場合には、第一配列インデックスをrLIdxとする参照領域オフセットが参照可能であり、以下を用いても良い。
RL_RRLO = RRLO[rLId][rLId]
RL_RRTO = RRTO[rLId][rLId]
RL_RRRO = RRRO[rLId][rLId]
RL_RRBO = RRBO[rLId][rLId]
(S203)S202で導出した参照レイヤ参照領域オフセットと、参照レイヤピクチャサイズに基づいて、参照レイヤ上の参照領域のサイズを導出する。具体的な処理は、参照レイヤ参照領域オフセットの値がS202で導出した値である点を除いてS103の処理と同一であり、記載を省略する。
(S204)対象レイヤ上の参照領域を示す対象レイヤ参照領域オフセットを導出する。対象レイヤ参照領域オフセットは、左、上、右、下にそれぞれ対応する4つのオフセット(順にCL_RRLO、CL_RRTO、CL_RRRO、CL_RRBO)から構成され、次式により導出される。
CL_RRLO = RRLO[cLId][rLId]
CL_RRTO = RRTO[cLId][rLId]
CL_RRRO = RRRO[cLId][rLId]
CL_RRBO = RRBO[cLId][rLId]
すなわち、対象レイヤ参照領域オフセットの値として、対象レイヤ上の参照領域であって、対象レイヤ(レイヤ識別子cLId)と参照レイヤ(レイヤ識別子rLId)との間のレイヤ間予測で参照される参照領域オフセットを設定している。
(S205)S204で導出した対象レイヤ参照領域オフセットと、対象レイヤピクチャサイズに基づいて、参照レイヤ上の参照領域のサイズを導出する。具体的な処理は、対象レイヤ参照領域オフセットの値がS204で導出した値である点を除いてS105の処理と同一であり、記載を省略する。
(S206)S203で導出した参照レイヤ参照領域のサイズとS205で導出した対象レイヤ参照領域のサイズに基づいて、レイヤ間予測に用いるスケールを導出する。具体的な処理は、参照レイヤ参照領域のサイズがS203で導出した値であり、対象レイヤ参照領域のサイズがS205で導出した値であることを除いて、S106の処理と同一であり、記載を省略する。
(S207)S202で導出した参照レイヤ参照領域オフセットと、S206で導出したスケールに基づいて、16分の1画素精度の参照画素位置を導出する。具体的な処理は、参照レイヤ参照領域オフセットがS202で導出した値であり、スケールがS206で導出した値であることを除いて、S207の処理と同一であり、記載を省略する。
以上説明したSPSに含まれる参照領域オフセットに係るシンタックスと、該シンタックス値を用いた対応参照位置の導出処理に従って、本変形例による階層動画像復号装置は、注目領域抽出を実行する場合に適切な対応参照位置を導出する機能を提供できる。
[変形例3:参照領域オフセットのレイヤへの対応付けの別の例]
上記変形例2において、参照領域レイヤ識別子の値が対象レイヤのレイヤ識別子未満か、レイヤ識別子と等しいかに応じて、後続する参照領域オフセットが対象レイヤ上の参照領域と、参照レイヤ上の参照領域の何れのオフセットを示すかを判定していた。別のシンタックスと導出方法により参照領域オフセットが関連付けられるレイヤを判定する方法を用いることもできる。
例えば、以下に図11を参照して説明するように、参照領域対象選択情報を送り、該参照領域対象選択情報から所定の方法で参照領域が何れのレイヤ上の参照領域であるかと、参照領域がどの2つのレイヤ間におけるレイヤ処理で参照される参照領域であるかを導出する。
図11は、パラメータセット復号部12において、SPS参照領域オフセット関連シンタックスの復号時に参照されるシンタックス表であって、変形例2の図10で説明したシンタックス表の代わりに用いることができる。
図11のシンタックス表は、変形例2の図10のシンタックス表に含まれるB2、B3L、B3T、B3R、B3Bのシンタックス要素に代わり、以下のシンタックス要素が含まれていることを示している。
・C2:参照領域対象選択情報(ref_region_target_info[i])
・C3L:参照領域左オフセット情報(ref_region_left_offset[lid1][lid2])
・C3T:参照領域上オフセット情報(ref_region_top _offset[lid1][lid2])
・C3R:参照領域右オフセット情報(ref_region_right_offset[lid1][lid2])
・C3B:参照領域下オフセット情報(ref_region_bottom_offset[lid1][lid2])
概略的には、まず、参照領域対象選択情報が復号され、次に該参照領域対象選択情報から2つのレイヤ識別子lid1とlid2を導出する。その後に復号される参照領域オフセット情報は、レイヤlid1上の参照領域であって、レイヤlid1とレイヤlid2の間のレイヤ間予測において参照される参照領域のオフセットに設定される。
参照領域対象選択情報(C2)は、後続の参照領域オフセットが関連付けられるレイヤを特定するための情報である。参照領域対象選択情報から、2つのレイヤ識別子lid1とlid2が導出される。
レイヤ識別子lid1(第一のレイヤ識別情報)は、参照領域が存在するレイヤのレイヤ識別子を表す。lid1は次の手順で導出される。なお、参照領域対象選択情報の値(ref_region_target_info[i])をRRTI[i]と略記する。
1.RRTI[i]が対象レイヤのレイヤ識別子(nuh_layer_id)より小さい場合、lid1の値をnuh_layer_idに設定する。
2.上記以外の場合(RRTI[i]がnuh_layer_id以上の場合)、lid1の値を「RRTI[i]-nuh_layer_id」に設定する。
なお、図11上に示したlid1の導出式は、上記の手順を数式で表現したものである。
レイヤ識別子lid2(第二のレイヤ識別情報)は、参照領域が、レイヤlid1と何れのレイヤの間のレイヤ間予測で参照される参照領域であるかを表す。lid2は次の手順で導出される。
1.RRTI[i]が対象レイヤのレイヤ識別子(nuh_layer_id)より小さい場合、lid2の値をRRTI[i]に設定する。
2.上記以外の場合(RRTI[i]がnuh_layer_id以上の場合)、lid2の値をnuh_layer_idに設定する。
なお、図11上に示したlid2の導出式は、上記の手順を数式で表現したものである。
上記の手順により参照領域対象選択情報の値から2つのレイヤ識別子lid1とlid2が導出される。上記の導出手順を言い換えると、参照領域対象選択情報が対象レイヤ(SPSを参照するレイヤ)のレイヤ識別子の値より小さい場合に、後続の参照領域オフセットを対象レイヤ上の参照領域のオフセットとして利用し、参照領域対象選択情報が対象レイヤのレイヤ識別子の値以上の場合に、後続の参照領域オフセットを対象レイヤのレイヤ識別子から参照領域対象選択情報の値を現在した値をレイヤ識別子とするレイヤ上の参照領域オフセットとして利用する。
なお、参照領域対象選択情報から2つのレイヤ識別子へのマッピングを他の方法により実行しても構わない。ただし、その場合、何れかのレイヤ識別子は対象レイヤのレイヤ識別子となるような導出処理とする必要がある。例えば、判定式や減算において対象レイヤのレイヤ識別子nuh_layer_idを用いたが、代わりにレイヤ識別子の最大値を用いてもよい。その場合、参照領域対象選択情報の符号量が増加するが、SPSを別のレイヤから参照するよう書き換えが必要な場合であっても、参照領域対象選択情報の値を書き変えを省略できるという利点がある。
参照領域オフセット情報(参照領域左オフセット情報(C3L)、参照領域上オフセット情報(C3T)、参照領域右オフセット情報(C3R)、参照領域下オフセット情報(C3B))は、対象レイヤ上の参照領域であって、レイヤlid1上の参照領域であって、レイヤlid1とレイヤlid2との間のレイヤ間処理(レイヤ間予測)で参照される参照領域を表すオフセット(参照領域オフセット)を導出するための情報である。参照領域オフセット情報は、lid1とlid2の組み合わせと関連付けて記録される。
上記のように参照領域選択対象情報を併用して参照領域オフセット情報を送ることで、SPSで送る場合であっても少ない符号量の追加で、レイヤの組み合わせ毎に異なる参照領域オフセットを指定する機能を提供できる。
[変形例4:表示領域利用の制御情報]
2つのレイヤ間のレイヤ間予測を実行する場合に参照領域を暗黙的に決定する方法として、表示領域情報を用いる方法が知られている。しかしながら、表示領域情報を参照領域を指定する用途で用いる場合には、表示領域情報を表示領域の指定のために変更することが制限されるという課題がある。また、特定のレイヤの表示領域が変更された場合には、該レイヤを参照レイヤとする上位レイヤのレイヤ間予測画像が変化するため、上位レイヤの符号化データを再生成する必要が生じるという課題がある。そのため、表示領域を参照領域として使用するか否かを別の情報により制御できることが好ましい。
(4−1:参照領域の規定値として利用する方法)
図1を参照して説明した対応参照位置導出処理のS101では、参照領域オフセット情報から参照領域オフセットを導出する際に、対応する参照領域オフセット情報が存在しない場合の参照領域オフセット既定値として、参照領域がピクチャ全体となるよう参照領域オフセットの値を設定すると説明した。参照領域オフセット既定値を表示領域とすることで、参照領域オフセットを送らない場合に表示領域を参照領域の既定値として利用しつつ、表示領域を変更する必要がある場合には、参照領域オフセットを明示的に変更前の表示領域に相当する値を指定することで、上位レイヤの書き換えを避けつつ表示領域の変更が可能となる。
以下では、表示領域を参照領域の既定値として利用するよう、対応参照位置導出処理のS101を修正した処理であるS101aについて記載する。
(S101a)パラメータセット復号部12で参照領域情報として復号された、iとjをインデックスとする参照領域オフセット情報から、対象レイヤC(VPS内インデックスc)上の参照領域であって、対象レイヤCと参照レイヤRの間のレイヤ間予測で参照される参照領域オフセットを導出する。以下では、導出される参照領域オフセットを、RRO[c][r]と呼ぶ。加えて、RRO[c][r]を構成する左、上、右、下にそれぞれ対応する参照領域オフセットと記号を以下の通り定義する。
参照領域左オフセット:RRLO[c][r]
参照領域上オフセット:RRTO[c][r]
参照領域右オフセット:RRRO[c][r]
参照領域下オフセット:RRBO[c][r]
RRO[c][r]を構成する各オフセット、RRLO[c][r]、RRTO[c][r]、RRRO[c][r]、RRBO[c][r]は、対応する参照領域オフセット情報に基づいて、以下の計算により導出される。
RRLO[c][r] = (ref_region_left_offset[i][j] << 1)
RRTO[c][r] = (ref_region_top_offset[i][j] << 1)
RRRO[c][r] = (ref_region_right_offset[i][j] << 1)
RRBO[c][r] = (ref_region_bottom_offset[i][j] << 1)
ここで、c=i、r=LIdx[i][j]の関係がある。LIdx[i][j]は、パラメータセット復号部12において復号された参照領域レイヤインデックス情報に基づいて導出された配列であって、レイヤiに対するj番目の参照領域オフセット情報が関連付けられるレイヤのVPS内インデックスを表す。
なお、特定のcとrの組み合わせに対応する参照領域オフセット(RRO[c][r])に対して、対応するiとjの組み合わせに対応する参照領域オフセット情報が存在しない場合、RRO[c][r]を構成する各オフセットの値には、参照レイヤR(VPS内インデックスr)の表示領域情報の対応する値が設定される。つまり、そのような場合、対象レイヤC上の参照領域であって、対象レイヤCと参照レイヤRの間のレイヤ間予測で参照される参照領域の既定値として参照レイヤR上の表示領域が設定される。具体的には、RRO[c][r]を構成する各オフセット、RRLO[c][r]、RRTO[c][r]、RRRO[c][r]、RRBO[c][r]は、参照レイヤRの表示領域情報に基づいて、以下の式により設定される。
RRLO[c][r] = conf_win_left_offset[r]
RRTO[c][r] = conf_win_top_offset[r]
RRRO[c][r] = conf_win_right_offset[r]
RRBO[c][r] = conf_win_bottom_offset[r]
ここで、conf_win_left_offset[r]、conf_win_top_offset[r]、conf_win_right_offset[r]、conf_win_bottom_offset[r]は、それぞれ、参照レイヤRが参照するSPSから復号される各表示領域位置情報(conf_win_left_offset、conf_win_top_offset、conf_win_right_offset、conf_win_bottom_offset)の対応するシンタックスの値である。
(4−2:制御フラグを追加する方法)
参照領域を表示領域とするかを示すフラグ(表示領域利用制御フラグ)をパラメータセットに含め、パラメータセット復号部12で復号して、予測画像生成部1442における対応参照位置導出処理に利用できる。表示領域利用制御フラグとしては、次の何れかが利用できる。
表示領域利用制御フラグA:表示領域利用制御フラグAの値が1の場合、表示領域をレイヤ間予測における参照領域とすることを示す。該フラグの値が0の場合、ピクチャ全体をレイヤ間予測における参照領域とすることを示す。
表示領域利用制御フラグB:表示領域利用制御フラグBの値が1の場合、表示領域をレイヤ間予測における参照領域とすることを示す。該フラグの値が0の場合、参照領域オフセット情報により指定される参照領域を参照領域とすることを示す。
パラメータセット復号部12で復号される、表示領域利用制御フラグAの例を図12に示す。表示領域利用フラグA(use_conf_win_il_flag)は、SPS拡張に含まれており、1ビットのフラグとして復号または符号化される。
対応参照位置導出処理では、表示領域利用フラグAの値に基づいて、参照レイヤ参照領域が次の手順で設定される。
1.表示領域利用フラグAの値が1の場合、参照レイヤ参照領域オフセットの各オフセットは、参照レイヤの表示領域を特定するための表示領域情報に含まれる各オフセットの値が設定される。
2.表示領域利用フラグAの値が0の場合、参照レイヤ参照領域オフセットの各オフセットは、0が設定される。
上記のように表示領域利用制御フラグを利用することで、表示領域を参照領域として使用するか否かを制御できる。そのため、表示領域をレイヤ間予測における参照領域と別の用途で使う場合であってもレイヤ間予測における参照領域を避けられる。
[付記事項1:参照領域位置情報が伝送可能なレイヤについて]
上記の実施形態や各変形例において、参照領域位置情報(参照領域オフセット情報)は2つのレイヤ識別情報に直接または間接的に関連付けられている。つまり、ある一組の参照領域位置情報は、レイヤA上の参照領域であって、レイヤAとレイヤBの間のレイヤ間処理で参照される参照領域の形状および位置を示す情報である。
参照領域位置情報は、必ずしも全てのレイヤAとレイヤBの組み合わせに対して符号化データに含める必要はなく、必要な組み合わせに関する参照領域位置情報のみを符号化データから復号できるように上記のレイヤAやレイヤBを特定するレイヤ識別情報を用いてもよい。例えば、レイヤBの取り得る範囲を、レイヤAの直接参照レイヤ(direct reference layer)に制限してもよい。その場合、レイヤ識別情報として、レイヤAに対する直接参照レイヤのリストに対するインデックスを用いることができ、それにより、レイヤ識別情報の符号量を削減できる。特に、参照領域位置情報をPPSやスライスヘッダに含める場合に、レイヤBの範囲をレイヤAに対する直接参照レイヤに制限することが好ましい。
また、参照領域位置情報がスライスヘッダに含まれる場合、レイヤBの範囲を、該スライスヘッダを含むピクチャにおいて有効な直接参照レイヤ(active direct reference layer)に制限してもよい。その場合、レイヤBのレイヤ識別情報は、該スライスヘッダを含むピクチャにおいて有効な直接参照レイヤのリストに対するインデックスを用いることができる。
(階層動画像符号化装置の構成)
図14を用いて、階層動画像符号化装置2の概略構成を説明する。図14は、階層動画像符号化装置2の概略的構成を示した機能ブロック図である。階層動画像符号化装置2は、対象レイヤの入力画像PIN#Tを、参照レイヤ符号化データDATA#Rを参照しながら符号化して、対象レイヤの階層符号化データDATAを生成する。なお、参照レイヤ符号化データDATA#Rは、参照レイヤに対応する階層動画像符号化装置において符号化済みであるとする。
図14に示すように階層動画像符号化装置2は、NAL多重化部21、パラメータセット符号化部22、タイル設定部23、スライス符号化部24、復号ピクチャ管理部16、および、ベース復号部15を備える。
NAL多重化部21は、入力される対象レイヤ符号化データDATA#Tと、参照レイヤ符号化データDATA#RとをNALユニットに格納することでNAL多重化した階層動画像符号化データDATAを生成し、外部に出力する。
パラメータセット符号化部22は、入力されるタイル情報と入力画像に基づいて、入力画像の符号化に用いるパラメータセット(VPS、SPS、および、PPS)を設定して、対象レイヤ符号化データDATA#Tの一部としてVCL NALの形式でパケット化してNAL多重化部21に供給する。
パラメータセット符号化部22が符号化するパラメータセットには、階層動画像復号装置1に関連して説明したピクチャ情報、表示領域情報、および、参照領域情報が少なくとも含まれる。
タイル設定部23は、入力画像に基づいてピクチャのタイル情報を設定して、パラメータセット符号化部22とスライス符号化部24に供給する。例えば、ピクチャサイズをM×N個のタイルに分割することを示すタイル情報を設定する。ここで、M、Nは任意の正の整数である。
スライス符号化部24は、入力される入力画像、パラメータセット、タイル情報、および、復号ピクチャ管理部16に記録されている参照ピクチャに基づいて、ピクチャを構成するスライスに対応する入力画像の一部を符号化して、当該部分の符号化データを生成し、対象レイヤ符号化データDATA#Tの一部としてNAL多重化部21に供給する。スライス符号化部24の詳細な説明は後述する。
復号ピクチャ管理部16は、既に説明した階層動画像復号装置1の備える復号ピクチャ管理部16と同一の構成要素である。ただし、階層動画像符号化装置2の備える復号ピクチャ管理部16では、内部のDPBに記録されたピクチャを出力ピクチャとして出力する必要はないため、当該出力は省略できる。なお、階層動画像復号装置1の復号ピクチャ管理部16の説明において「復号」として説明した記載は「符号化」と置き換えることで、階層動画像符号化装置2の復号ピクチャ管理部16にも適用できる。
ベース復号部15は、既に説明した階層動画像復号装置1の備えるベース復号部15と同一の構成要素であり、詳細説明は省略する。
(スライス符号化部)
次に図15を参照して、スライス符号化部24の構成の詳細を説明する。図15は、スライス符号化部24の概略的構成を示した機能ブロック図である。
図15に示すように、スライス符号化部24は、スライスヘッダ設定部241、スライス位置設定部242、CTU符号化部244を含む。CTU符号化部244は、内部に予測残差符号化部2441、予測画像符号化部2442、CTU復号画像生成部1443を含む。
スライスヘッダ設定部241は、入力されるパラメータセットとスライス位置情報に基づいてスライス単位で入力される入力画像の符号化に用いるスライスヘッダを生成する。生成されたスライスヘッダは、スライス符号化データの一部として出力されるとともに、入力画像と合わせてCTU符号化部244に供給される。
スライスヘッダ設定部241で生成されるスライスヘッダには、SHスライス位置情報が少なくとも含まれる。
スライス位置設定部242は、入力されるタイル情報に基づいてピクチャ内のスライス位置を決定してスライスヘッダ設定部241に供給する。
CTU符号化部244は、入力されるパラメータセット、スライスヘッダに基づいて、入力画像(対象スライス部分)をCTU単位で符号化して、対象スライスに係るスライスデータおよび復号画像(復号ピクチャ)を生成して出力する。CTUの符号化は、予測画像符号化部2442、予測残差符号化部2441、CTU復号画像生成部により実行される。
予測画像符号化部2442は、対象スライスに含まれる対象CTUの予測方式および予測パラメータを決定し、決定した予測方式に基づいて予測画像を生成して予測残差符号化部2441とCTU復号画像生成部1443に出力する。予測方式や予測パラメータの情報は予測情報(PT情報)として可変長符号化されて、スライス符号化データに含まれるスライスデータの一部として出力される。予測画像符号化部2442で選択可能な予測方式には、少なくともレイヤ間画像予測が含まれている。
予測画像符号化部2442は、予測方式としてレイヤ間画像予測が選択された場合、対応参照位置導出処理を実行して、予測対象画素に対応する参照レイヤ画素位置を決定し、該位置に基づく補間処理により予測画素値を決定する。対応参照位置導出処理としては、階層動画像復号装置1の予測画像生成部1442について説明した各処理が適用できる。例えば、図1を参照して説明した、パラメータセットに含まれる参照領域情報に基づいて対応参照位置を導出する処理が適用される。
予測残差符号化部2441は、入力される入力画像と予測画像の差分画像を、変換・量子化して得られる量子化変換係数(TT情報)を、スライス符号化データに含まれるスライスデータの一部として出力する。また、量子化変換係数に逆変換・逆量子化を適用して予測残差を復元し、復元した予測残差をCTU復号画像生成部1443に出力する。
CTU復号画像生成部1443は、階層動画像復号装置1の同名の構成要素と同じ機能を有しているため、同一の符号を付与して説明を省略する。
(動画像符号化装置2の効果)
以上説明した本実施形態に係る階層動画像符号化装置2(階層画像符号化装置)は、パラメータセットを符号化するパラメータセット符号化部22と、参照レイヤピクチャの復号画素を参照してレイヤ間予測により予測画像を生成する予測画像符号化部2442を備えている。パラメータセット符号化部22は参照領域情報を符号化し、予測画像符号化部2442は、参照領域情報から導出される対象レイヤ参照領域オフセットと参照レイヤ参照領域情報の値を用いて対象レイヤ上の画素に対する対応参照位置を導出する。
したがって、上記階層動画像符号化装置2は、参照領域情報を適切に設定することで、注目領域抽出に代表される目的で階層符号化データを変換する場合であっても、変換の前後で同一位置に相当する対象レイヤの画素に対して同一の対応参照位置を導出できる。その際、スケール計算に用いる対象レイヤと参照レイヤの参照領域をともに参照領域情報から導出するため、従来に比べて少ないシンタックス要素を用いて変換の前後で同一の対応参照位置を導出する機能を実現できる。
〔階層符号化データ変換装置3〕
図16を用いて、階層符号化データ変換装置3の概略構成を説明する。図16は、階層符号化データ変換装置3の概略的構成を示した機能ブロック図である。階層符号化データ変換装置3は、入力される階層符号化データDATAを変換して、入力される注目領域情報に係る階層符号化データDATA−ROIを生成する。なお、階層符号化データDATAは階層動画像符号化装置2により生成された階層符号化データである。また、階層符号化データDATA−ROIを階層動画像復号装置1に入力することで注目領域情報に係る上位レイヤの動画像を再生できる。
図16に示すように、階層符号化データ変換装置3は、NAL逆多重化部11、NAL多重化部21、パラメータセット復号部12、タイル設定部13、パラメータセット修正部32、NAL選択部34を含む。
NAL逆多重化部11、パラメータセット復号部12、タイル設定部13は、それぞれ、階層動画像復号装置1が含む同名の構成要素と同じ機能を有するため、同一の符号を付与して説明を省略する。
NAL多重化部21は、階層動画像符号化装置2が含む同名の構成要素と同じ機能を有するため、同一の符号を付与して説明を省略する。
パラメータセット修正部32は、入力される注目領域情報とタイル情報に基づいて、入力されるパラメータセット情報を修正して出力する。パラメータセット修正部32は、概略的には、パラメータセットに含まれるピクチャ情報、表示領域情報、レイヤ間画素対応情報、参照領域情報、PPSタイル情報を修正する。
注目領域情報は、動画像を構成するピクチャにおいて、ユーザー(例えば再生動画像の視聴者)が指定するピクチャの部分領域である。注目領域情報は、例えば矩形の領域で指定される。その場合、例えば、注目領域を表わす矩形の上辺、下辺、左辺、右辺のピクチャ全体の対応する辺(上辺、下辺、左辺、または、右辺)からの位置のオフセットを注目領域情報として指定できる。なお、矩形以外の形状の領域(例えば、円、多角形、物体抽出により抽出した物体を示す領域)を注目領域として使用してもよいが、以下では説明の簡単のため矩形の注目領域を想定する。なお、矩形以外の領域に対して、以下に記載する内容を適用する場合、例えば、注目領域を包含する面積最小の矩形を以下の説明における注目領域とみなして適用できる。
(変換処理の概略)
始めに、階層符号化データ変換装置3による変換処理によるパラメータセット修正の概略について、図17を参照して説明する。図17は、変換前後の階層符号化データにおけるピクチャ、注目領域、および、タイルの関係を例示した図である。図17では、拡張レイヤとベースレイヤの2レイヤから構成される階層符号化データ(変換前階層符号化データ)を変換して注目領域を含む階層符号化データ(変換後階層符号化データ)を生成する場合の、変換前後のピクチャの関係を示している。変換前階層符号化データの拡張レイヤは変換前ELピクチャに相当するデータであり、ベースレイヤは変換前BLピクチャに相当するデータである。同様に、変換後階層符号化データの拡張レイヤは変換後ELピクチャに相当するデータであり、ベースレイヤは変換後BLピクチャに相当するデータである。
概略的には、階層符号化データ変換装置3は、入力される変換前階層符号化データから、拡張レイヤ上で注目領域と重複領域を持たないタイルを取り除き、関連するパラメータセットを修正することで、変換後の階層符号化データを生成する。階層動画像復号装置は、変換後階層符号化データを入力として、注目領域に係る復号画像を生成できる。
(タイル情報の修正)
パラメータセット修正部32は、入力される注目領域情報とタイル情報を参照して、対応する領域の一部が注目領域と重複するタイル(抽出対象タイル)のみを含むよう拡張レイヤのPPSタイル情報を更新する。抽出対象タイルの情報に基づいて、拡張レイヤのPPSタイル情報を更新する。まず、抽出対象タイルが1個の場合、tiles_enabled_flagを0に修正する。なお、抽出対象タイルが2個以上の場合は修正処理は省略できる。次に、ピクチャの水平方向と垂直方向に含まれる抽出対象タイルの個数に基づいて、タイル行数を表わす(num_tile_columns_minus1)とタイル列数を表わす(num_tile_rows_minus1)を修正する。次に、タイルサイズが不均等(uniform_spacing_flagが0)の場合には、抽出対象タイルを含まないタイル列の幅、抽出対象タイルを含まないタイル行の高さに係るシンタックスに対応するビット列をパラメータセットから削除する。
加えて、パラメータセット修正部32は、変換前BLピクチャに含まれるタイルのうち、拡張レイヤで抽出したタイルの復号に不要なタイルを取り除く。例えば、変換後BLピクチャに対応する拡張レイヤ上の領域(変換後参照レイヤ対応領域)が、変換後ELピクチャを包含するようにベースレイヤのPPSタイル情報を更新する。
(ピクチャ情報の修正)
パラメータセット修正部32は、拡張レイヤの抽出対象タイルの集合に対応する領域を変換後ELピクチャサイズとしてピクチャ情報を修正する。変換後ELピクチャの幅と高さを拡張レイヤSPSのpic_width_in_luma_samplesとpic_height_in_luma_samplesの値としてそれぞれ設定する。
加えて、パラメータセット修正部32は、ベースレイヤの抽出対象タイルの集合に対応する領域を変換後BLピクチャサイズとしてピクチャ情報を修正する。変換後BLピクチャの幅と高さをベースレイヤSPSのpic_width_in_luma_samplesとpic_height_in_luma_samplesの値としてそれぞれ設定する。
(レイヤ間画素対応情報の修正)
パラメータセット修正部32は、ピクチャサイズの変更を踏まえて、パラメータセットに含まれるレイヤ間画素対応情報を修正する。具体的には、レイヤ間画素対応情報に含まれる参照領域オフセットを修正する。ここで、説明のため、拡張レイヤのレイヤ識別子をe、ベースレイヤのレイヤ識別子をbとする。参照領域オフセットに含まれる、レイヤe上の参照領域であって、レイヤeとレイヤbとの間のレイヤ間予測で参照される参照領域に対する参照領域左オフセットref_region_right_offset[e][k](ただし、b=rLIdx[e][k])の値は、変換前ELピクチャの左上画素と変換後ELピクチャの左上画素の水平方向の距離を2画素単位で表した値を絶対値とする負値が設定される。加えて、レイヤb上の参照領域であって、レイヤbとレイヤeとの間のレイヤ間予測で参照される参照領域に対する参照領域左オフセットref_region_right_offset[b][l](ただしe=rLIdx[b][l])の値は、変換前BLピクチャの左上画素と変換後BLピクチャの左上画素の水平方向の距離を2画素単位で表した値を絶対値とする負値が設定される。他の上、右、下に対応する参照領域オフセットの値も同様に設定される。
(表示領域情報の修正)
パラメータセット修正部32は、入力される注目領域情報の示す注目領域と一致するように、入力されるパラメータセットに含まれるSPSの表示領域情報を書き換える。表示領域情報は、例えば、次のS301からS303の手順で書き換えられる。
(S301)注目領域がピクチャ全体と一致するか否かを判定する。一致する場合、S302に進み、一致しない場合、S303に進む。
(S302)上書き前の表示領域フラグの値が1であった場合には、当該表示領域フラグの値を0に上書きし、かつ、表示領域オフセット(conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、conf_win_bottom_offset)をSPSから取り除いて処理を終了する。
(S303)表示領域フラグの値を1に上書きする。表示領域オフセットの各オフセットを注目領域を表わす矩形の各辺のピクチャの対応する辺との位置のオフセットの値に設定する。例えば、注目領域上辺のピクチャ上辺に対する位置オフセットを表示領域上オフセット(conf_win_top_offset)の値に設定する。なお、書き換え前の表示領域フラグの値が1であった場合には、上記設定した注目領域オフセットの値を用いて、元の注目領域オフセットの値を上書きする。書き換え前の表示領域フラグの値が1であった場合には、上記設定した注目領域オフセットをSPSの表示領域フラグの直後に挿入する。
NAL選択部34は、入力される注目領域情報とタイル情報に基づいて、入力されるビデオ符号化レイヤNAL(VCL NAL)の選択を行う。選択されたVCL NALはNAL多重化部21に順次出力され、選択されなかったVCL NALは破棄される。
NAL選択部34で選択されるVCL NALは、抽出対象タイルに含まれるスライスに関するスライスヘッダおよびスライスデータを含むVCL NALである。NAL選択部34は、スライスヘッダに含まれるスライスアドレスとタイル情報から、スライスが抽出対象タイルに含まれているかを判定し、含まれている場合は当該スライスを含むVCL NALを選択し、含まれていない場合は該VCL NALを破棄する。
(階層符号化データ変換処理フロー)
階層符号化データ変換装置3による階層符号化データ変換処理は、S501〜S506に示す手順を順次実行することで実現される。
(S501)NAL逆多重化部11は、入力された階層符号化データDATAを逆多重化する。パラメータセットに係る部分(非VCL NAL)をパラメータ復号部12に出力し、スライスレイヤ(スライスヘッダ、スライスデータ)に係る部分であるビデオ符号化レイヤNAL(VCL NAL)をNAL選択部34に出力する。
(S502)パラメータセット復号部12は、入力された非VCL NALからパラメータセット(VPS、SPS、PPS)を復号して、パラメータセット修正部32とタイル設定部13に出力する。
(S503)タイル設定部13は、入力されるパラメータセットからタイル情報を導出してパラメータセット修正部32とNAL選択部34に出力する。
(S504)パラメータセット修正部32は、入力される注目領域情報とタイル情報に基づいて入力されるパラメータセットを修正して出力する。
(S505)NAL選択部34は、入力されるタイル情報と注目領域情報に基づいて、入力されるVCL NALの一部を選択し、選択したVCL NALをNAL多重化部21に出力する。
(S506)NAL多重化部21は、入力される修正後のパラメータセットと修正後のスライスヘッダとスライスデータを修正後の対象レイヤの符号化データとして、入力される参照レイヤ符号化データDATA#Rと多重化して階層符号化データDATA−ROIとして外部に出力する。
(階層符号化データ変換装置3の効果)
以上説明した本実施形態に係る階層符号化データ変換装置3は、対象レイヤ(上位レイヤ)の符号化データに含まれるビデオレイヤの符号化データ(VCL NAL)の一部を注目領域情報に基づいて修正するNAL選択部34と、パラメータセット修正部32を備えている。NAL選択部34は、注目領域情報の示す注目領域に基づいて、注目領域と重複する領域をもつタイルを抽出対象タイルとして選択し、前記選択した抽出対象タイルに含まれるスライスに係るビデオレイヤの符号化データが変換後の階層符号化データに含まれる。パラメータセット修正部32は、注目領域情報とタイル情報に基づいて、ピクチャ情報、PPSタイル情報、表示情報、および、参照領域情報を修正する。
上記の階層符号化データ変換装置3によれば、入力された階層符号化データを変換して、上位レイヤにおいて抽出対象タイル(注目領域と重複した領域を持つタイル)に係るVCL NALを抽出して、変換後の階層符号化データを構成できる。注目領域と重複領域を持たないタイルに係るVCL NALは破棄されるため、変換後の階層符号化データの符号量は、変換前の階層符号化データに較べて少ない。また、上記の階層符号化データ変換装置3によれば、パラメータセットを、抽出対象タイルに合わせてピクチャ情報、PPSタイル情報、表示情報を修正するため、変換後の階層符号化データは階層動画像復号装置により復号でき、注目領域に係る復号ピクチャを表示できる。加えて、参照領域情報が修正されるため、変換前後の階層符号化データでスケールと上位レイヤの画素と参照レイヤの画素の対応関係が維持される。そのため、変換前の符号化データにより生成されるレイヤ間予測の予測画像と変換後の符号化データにより生成されるレイヤ間予測の予測画像が同程度に維持できる。
〔注目領域表示システム〕
上述した階層動画像復号装置1、階層動画像符号化装置2、及び、階層符号化データ変換装置3を組み合わせて、注目領域情報を表示するシステム(注目領域表示システムSYS)を構成できる。
図18に基づいて、上述した階層動画像復号装置1、階層動画像符号化装置2、及び、階層符号化データ変換装置3の組み合わせにより、注目領域表示システムが構成できることを説明する。図18は、階層動画像復号装置1、階層動画像符号化装置2、及び、階層符号化データ変換装置3の組み合わせによる注目領域表示システムの構成を示したブロック図である。注目領域表示システムSYSは、概略的には、品質の異なる入力画像を階層符号化して蓄積しておき、ユーザーからの注目領域情報に応じて蓄積された階層符号化データを変換して提供し、変換した階層符号化データを復号することで注目領域(ROI)に係る高品質の再生画像を表示する。
図18に示すように、注目領域表示システムSYSは、階層動画像符号化部SYS1A、階層動画像符号化部SYS1B、階層符号化データ蓄積部SYS2、階層符号化データ変換部SYS3、階層動画像復号部SYS4、表示部SYS6、ROI通知部SYS8を構成要素として含む。
階層動画像符号化部SYS1A、SYS1Bには、前述の階層動画像符号化装置2を利用できる。
階層符号化データ蓄積部SYS2は、階層符号化データを蓄積し、要求に応じて階層符号化データを供給する。階層符号化データ蓄積部SYS2として、記録媒体(メモリ、ハードディスク、光学ディスク)を備えたコンピュータが利用できる。
階層符号化データ変換部SYS3には、前述の階層符号化データ変換部3が利用できる。したがって、階層符号化データ変換部SYS3は、入力される階層符号化データに含まれる参照領域情報を、入力される注目領域に合わせて適切な値に設定できる。
階層動画像復号部SYS4には、前述の階層動画像復号装置1が利用できる。したがって、階層動画像復号部SYS4は、パラメータセットから参照領域情報を復号して、該参照領域情報を参照してレイヤ間予測を実行できる。
表示部SYS6は、復号画像を所定の表示領域の所定の表示位置に表示する。例えば、表示領域はテレビの画面であり、表示位置はその全体である。なお、表示部SYS6は、入力される復号画像を表示領域のサイズに一致するサイズに拡大または縮小して表示することが好ましい。
ROI通知部SYS8は、所定の方法でユーザーが指定した注目領域情報を通知する。例えば、ユーザーは全体表示画像が表示された表示領域上で、注目領域に相当する領域を指定することでROI通知部に注目領域を伝えることができる。なお、ROI通知部SYS8は、ユーザーの指定がない場合は、注目領域が無いことを示す情報を注目領域情報として通知する。
(注目領域表示システムのフロー)
注目領域表示システムによる処理は、階層符号化データ生成蓄積処理と注目領域データ生成再生処理に分けることができる。
階層符号化データ生成蓄積処理では、異なる品質の入力画像から階層符号化データを生成して蓄積する。階層符号化データ生成蓄積処理は、T101からT103の手順で実行される。
(T101)階層動画像符号化部SYS1Bは、入力される低品質の入力画像を符号化し、生成された階層符号化データを階層動画像符号化部SYS1Aに供給する。つまり、階層動画像符号化部SYS1Bは、入力画像から、階層動画像符号化部SYS1Aにおいて参照レイヤ(下位レイヤ)として使用される階層符号化データを生成して出力する。
(T102)階層動画像符号化部SYS1Aは、入力される高品質の入力画像を、入力された階層符号化データを参照レイヤの符号化データとして符号化し、階層符号化データを生成して階層符号化データ蓄積部SYS2に出力する。
(T103)階層符号化データ蓄積部SYS2は、入力された階層符号化データに適切なインデックスを付けて内部の記録媒体に記録する。
注目領域データ生成再生処理では、階層符号化データ蓄積部SYS2から階層符号化データを読み出し、注目領域に相当する階層符号化データに変換し、変換した階層符号化データを復号して再生及び表示する。注目領域データ生成再生処理は、以下のT201〜T205の手順で実行される。
(T201)ユーザーの選択した動画像に関する階層符号化データが階層符号化データ蓄積部SYS2から階層符号化データ変換部SYS3に供給される。
(T202)ROI通知部SYS8は、ユーザーの指定した注目領域情報を階層符号化データ変換部SYS3に通知する。
(T203)階層符号化データ変換部SYS3は、入力された注目領域情報に基づいて、入力された階層符号化データを変換して、階層動画像復号部SYS4に出力する。
(T204)階層動画像復号部SYS4は、入力された階層動画像符号化データ(変換後)を復号して、得られた上位レイヤの復号ピクチャを表示部SYS6に出力する。
(T205)表示部SYS6は、入力された復号画像を表示する。
(注目領域表示システムSYSの効果)
以上説明した本実施形態に係る注目領域表示システムSYSは、注目領域情報を供給する注目領域通知部(ROI通知部SYS8)と、前記注目領域情報に基づいて階層符号化データを変換して変換後階層符号化データを生成する階層符号化データ変換部SYS3と、上記変換後階層符号化データを復号して上位レイヤ及び下位レイヤの復号ピクチャを出力する階層動画像復号部SYS4と、表示部SYS6を備えている。
上記の注目領域表示システムSYSによれば、注目領域情報により指定された領域の復号ピクチャを表示できる。その際、注目領域情報により指定された領域の復号ピクチャは、階層符号化データの上位レイヤの符号化データから、参照領域情報に基づいて導出されるスケールと対応参照位置を用いるレイヤ間画像予測を用いて復号されるため、画質が高い。加えて、注目領域に基づいて変換された階層符号化データは、変換前の階層符号化データよりも符号量が少ない。したがって、上記の注目領域表示システムSYSを用いることで、階層符号化データの転送に要する帯域を削減しつつ、注目領域に係る画質の高い復号ピクチャを再生できる。
<実施形態2>
図21〜図24に基づいて、本発明の一実施形態に係る階層動画像復号装置3を説明すれば以下のとおりである。
[階層動画像復号装置]
階層動画像復号装置3の概略的構成を説明する。階層動画像復号装置3は、図5を参照して説明した階層動画像復号装置1において、パラメータセット復号部12をパラメータセット復号部12Aに、スライス復号部14をスライス復号部14Aに置き換えた構成である。すなわち、階層動画像復号装置3は、NAL逆多重化部11、パラメータセット復号部12A、タイル設定部13、スライス復号部14A、ベース復号部15、復号ピクチャ管理部16を含む。以下では、新たな構成要素である、パラメータ復号部12Aおよびスライス復号部14Aについて説明する。
(パラメータセット復号部12A)
(レイヤ間位置対応情報)
パラメータセット復号部12Aは、入力される対象レイヤ符号化データからレイヤ間位置対応情報を復号する。レイヤ間位置対応情報は、概略的には、対象レイヤと参照レイヤの対応する領域の位置関係を示す。例えば、対象レイヤのピクチャと参照レイヤのピクチャにある物体(物体A)が含まれる場合、対象レイヤのピクチャ上の物体Aに対応する領域と、参照レイヤのピクチャ上の物体Aに対応する領域が、前記対象レイヤと参照レイヤの対応する領域に相当する。なお、レイヤ間位置対応情報は、必ずしも上記の対象レイヤと参照レイヤの対応する領域の位置関係を正確に示す情報でなくてもよいが、一般的には、レイヤ間予測の正確性を高めるために正確な対象レイヤと参照レイヤの対応する領域の位置関係を示している。
本実施形態において、レイヤ間位置対応情報は、拡大参照レイヤオフセット情報、参照レイヤオフセット情報、および、レイヤ間位相情報を含む。
(レイヤ間位置対応情報:拡大参照レイヤオフセット情報)
レイヤ間位置対応情報には拡大参照レイヤオフセットを規定する情報が含まれる。拡大参照レイヤオフセットは符号化データ内に複数含むことが可能であり、各々の拡大参照レイヤオフセットは、左、上、右、下にそれぞれ対応する4つのオフセットから構成され、対象ピクチャ、および、参照ピクチャの2枚のピクチャの組み合わせに関連付けられている。言い換えると、対象ピクチャと、特定の参照ピクチャの組み合わせそれぞれに対して、対応する拡大参照レイヤオフセットを規定する情報がレイヤ間位置対応情報に含まれる。なお、必ずしも全ての対象ピクチャと参照ピクチャの組み合わせに対して参照レイヤオフセットを規定する情報が含まれている必要はなく、特定の条件で一部の組み合わせについて省略して既定値を用いることもできる。
拡大参照レイヤオフセットを構成する各オフセットの意味を、図21を参照して説明する。図21は、対象レイヤピクチャ、参照レイヤピクチャ、および、レイヤ間画素対応オフセットの関係を例示する図である。
図21(a)は、参照レイヤのピクチャ全体が対象レイヤのピクチャの一部に対応する場合の例を示す。この場合、参照レイヤピクチャ全体に対応する対象レイヤ上の領域(対象レイヤ対応領域)は、対象レイヤピクチャの内部に含まれている。図21(b)は、参照レイヤのピクチャの一部が対象レイヤのピクチャ全体に対応する場合の例を示す。この場合、参照レイヤ対応領域の内部に対象レイヤピクチャが含まれている。なお、対象レイヤピクチャ全体にオフセットが含まれている。
図21に示したように、拡大参照レイヤ左オフセット(図ではSRL左オフセット)は、参照レイヤ対応領域左辺の対象レイヤピクチャ左辺に対するオフセットを表わす。なお、SRL左オフセットが0より大きい場合、参照レイヤ対応領域左辺が対象レイヤピクチャ左辺の右側に位置することを表わす。
拡大参照レイヤ上オフセット(図ではSRL上オフセット)は、参照レイヤ対応領域上辺の対象レイヤピクチャ上辺に対するオフセットを表わす。なお、SRL上オフセットが0より大きい場合、参照レイヤ対応領域上辺が対象レイヤピクチャ上辺の下側に位置することを表わす。
拡大参照レイヤ右オフセット(図ではSRL右オフセット)は、参照レイヤ対応領域右辺の対象レイヤピクチャ右辺に対するオフセットを表わす。なお、SRL右オフセットが0より大きい場合、参照レイヤ対応領域右辺が対象レイヤピクチャ右辺の左側に位置することを表わす。
拡大参照レイヤ下オフセット(図ではSRL下オフセット)は、参照レイヤ対応領域下辺の対象レイヤピクチャ下辺に対するオフセットを表わす。なお、SRL下オフセットが0より大きい場合、参照レイヤ対応領域下辺が対象レイヤピクチャ下辺の上側に位置することを表わす。
(レイヤ間位置対応情報:参照レイヤオフセット情報)
レイヤ間位置対応情報には参照レイヤオフセットを規定する情報(参照レイヤオフセット情報)が含まれる。参照レイヤオフセットは符号化データ内に複数含むことが可能であり、各々の参照レイヤオフセットは、左、上、右、下にそれぞれ対応する4つのオフセットから構成され、対象ピクチャ、および、参照ピクチャの2枚のピクチャの組み合わせに関連付けられている。言い換えると、対象ピクチャと、特定の参照ピクチャの組み合わせそれぞれに対して、対応する参照レイヤオフセットがレイヤ間画素対応情報に含まれ得る。
参照レイヤ左オフセットは、参照レイヤ基準領域左辺の参照レイヤピクチャ左辺に対するオフセットを表わす。なお、オフセット値が0より大きい場合、参照レイヤ基準領域左辺が参照レイヤピクチャ左辺の右側に位置することを表わす。
参照レイヤ上オフセットは、参照レイヤ基準領域上辺の参照レイヤピクチャ上辺に対するオフセットを表わす。なお、オフセット値が0より大きい場合、参照レイヤ基準領域上辺が参照レイヤピクチャ上辺の下側に位置することを表わす。
参照レイヤ右オフセットは、参照レイヤ基準領域右辺の参照レイヤピクチャ右辺に対するオフセットを表わす。なお、オフセット値が0より大きい場合、参照レイヤ基準領域右辺が参照レイヤピクチャ右辺の左側に位置することを表わす。
参照レイヤ下オフセットは、参照レイヤ基準領域下辺の参照レイヤピクチャ下辺に対するオフセットを表わす。なお、オフセット値が0より大きい場合、参照レイヤ基準領域下辺が参照レイヤピクチャ下辺の上側に位置することを表わす。
(レイヤ間位置対応情報:レイヤ間位相情報)
レイヤ間位相情報にはレイヤ間の位相差を表す情報(レイヤ間位相オフセット)が含まれる。レイヤ間位相は符号化データ内に複数含むことが可能であり、各々のレイヤ間位相オフセットは、輝度水平方向、輝度垂直方向、色差水平方向、色差垂直方向の4個のオフセットから構成され、対象ピクチャ、および、参照ピクチャの2枚のピクチャの組み合わせに関連付けられている。言い換えると、対象ピクチャと、特定の参照ピクチャの組み合わせそれぞれに対して、対応するレイヤ間位相オフセットがレイヤ間画素対応情報に含まれ得る。
レイヤ間位相輝度水平オフセットは、対象レイヤの輝度画像上における、参照レイヤ対応領域左上画素と、当該画素に対応する参照レイヤ上の画素の1画素未満の水平方向のずれを表す。
レイヤ間位相輝度垂直オフセットは、対象レイヤの輝度画像上における、参照レイヤ対応領域左上画素と、当該画素に対応する参照レイヤ上の画素の1画素未満の垂直方向のずれを表す。
レイヤ間位相色差水平オフセットは、対象レイヤの色差画像上における、参照レイヤ対応領域左上画素と、当該画素に対応する参照レイヤ上の画素の1画素未満の水平方向のずれを表す。
レイヤ間位相色差垂直オフセットは、対象レイヤの色差画像上における、参照レイヤ対応領域左上画素と、当該画素に対応する参照レイヤ上の画素の1画素未満の垂直方向のずれを表す。
(レイヤ間位置対応情報のシンタックス)
次に符号化データに含まれ、パラメータセット復号部12Aにより復号される、拡大参照レイヤオフセット情報、参照レイヤオフセット情報、および、レイヤ間位相オフセット情報について説明する。
拡大参照レイヤオフセット情報、参照レイヤオフセット情報、および、レイヤ間位相オフセット情報は、例えば、上位レイヤのPPSの一部であるPPS拡張(pps_estension)に含まれており、図22に示すシンタックス表に従って復号される。図22は、パラメータセット復号部12AがPPS復号時に参照するシンタックス表の一部であって、レイヤ間画素対応情報に係る部分である。
PPSから復号される拡大参照レイヤオフセット情報には、PPS拡張に含まれる拡大参照レイヤオフセット数(num_scaled_ref_layer_offsets)が含まれる。加えて、前記拡大参照レイヤオフセット数が示す個数分の拡大参照レイヤオフセットが、参照レイヤ識別子と合わせて含まれる。参照レイヤ識別子(ref_layer_id)は、後続の拡大参照レイヤオフセットが関連付けられる参照レイヤを示す識別子である。レイヤ間画素対応オフセットとして、拡大参照レイヤ左オフセット(scaled_ref_layer_left_offset)、拡大参照レイヤ上オフセット(scaled_ref_layer_top_offset)、拡大参照レイヤ右オフセット(scaled_ref_layer_right_offset)、および、拡大参照レイヤ下オフセット(scaled_ref_layer_bottom_offset)が含まれる。以下、scaled_ref_layer_left_offset、scaled_ref_layer_top_offset、scaled_ref_layer_right_offset、scaled_ref_layer_bottom_offsetを総称して、拡大参照レイヤオフセットシンタックスと呼ぶ。なお、図22のシンタックス表において、拡大参照レイヤオフセットシンタックスの後ろに配列インデックス「[ref_layer_id[i]]」が付与されているのは、拡大参照レイヤオフセットシンタックスがref_layer_id[i]の示す参照レイヤと関連付けられていることを表す。
パラメータセット復号部12Aは、符号化データから符号付指数ゴロム符号(se(v))の符号を復号することで、拡大参照レイヤオフセットシンタックスの値を復号する。符号付き指数ゴロム符号は、具体的には、HEVCで既定されている同名の符号が使用できる。復号された拡大参照レイヤオフセットシンタックスの値は、対象ピクチャの色差画素を単位とする。なお、特定の参照レイヤに対応する拡大参照レイヤオフセットシンタックスが符号化データに存在しない場合、該参照レイヤに対応する各拡大参照レイヤオフセットの値は0に設定される。
PPSから復号される参照レイヤオフセット情報には、レイヤ識別子「ref_layer_id[i]」が示す参照レイヤに関連付けられる参照レイヤオフセット情報のPPS内での存否を示すフラグである参照レイヤオフセット情報存否フラグ(ref_layer_offset_present_flag)を含む。配列インデックスが「i」の参照レイヤオフセット情報存否フラグの値(ref_layer_offset_present_flag[i])が1の場合、PPSにはPPSを参照するスライスが属するレイヤ(対象レイヤ)と該参照レイヤに関連付けられる各参照レイヤオフセットが含まれる。具体的には、参照レイヤ左オフセット(ref_layer_left_offset)、参照レイヤ上オフセット(ref_layer_top_offset)、参照レイヤ右オフセット(ref_layer_right_offset)、および、参照レイヤ下オフセット(ref_layer_bottom_offset)が含まれる。以下、ref_layer_left_offset、ref_layer_top_offset、ref_layer_right_offset、ref_layer_bottom_offsetを総称して、参照レイヤオフセットシンタックスと呼ぶ。
パラメータセット復号部12Aは、符号化データから符号付指数ゴロム符号(se(v))の符号を復号することで、参照レイヤオフセットシンタックスの値を復号する。復号された参照レイヤオフセットシンタックスの値は、該参照レイヤオフセットシンタックスと参照レイヤ識別子を介して関連付けられた参照レイヤピクチャの色差画素を単位とする。なお、特定の参照レイヤに対応する参照レイヤオフセットシンタックスが符号化データに存在しない場合、該参照レイヤに対応する各参照レイヤオフセットの値は0に設定される。
PPSから復号されるレイヤ間位相オフセット情報には、レイヤ識別子「ref_layer_id[i]」が示す参照レイヤに関連付けられるレイヤ間位相オフセット情報のPPS内での存否を示すフラグであるレイヤ間位相オフセット情報存否フラグ(resample_phase_present_flag)を含む。配列インデックスが「i」のレイヤ間位相オフセット情報存否フラグ(resample_phase_present_flag[i])の値が1の場合、PPSにはPPSを参照するスライスが属するレイヤ(対象レイヤ)と該参照レイヤに関連付けられる各レイヤ間位相オフセットが含まれる。具体的には、レイヤ間位相輝度水平オフセット(phase_hor_luma)、レイヤ間位相輝度垂直オフセット(phase_ver _luma)、レイヤ間位相色差水平オフセット(phase_hor_chroma)、および、レイヤ間位相色差垂直オフセット(phase_ver_chroma)が含まれる。以下、phase_hor_luma、phase_ver_luma、phase_hor_chroma、phase_ver_chromaを総称してレイヤ間位相オフセットシンタックスと呼ぶ。
パラメータセット復号部12Aは、符号化データから符号無指数ゴロム符号(ue(v))の符号を復号することで、レイヤ間位相オフセットシンタックスの値を復号する。なお、特定の参照レイヤに対応するレイヤ間位相オフセットシンタックスが符号化データに存在しない場合、該参照レイヤに対応するレイヤ間位相オフセットの値は0に設定される。
以上、図22のシンタックス表を参照して説明した、パラメータセット復号部12AにおいてPPSから復号されるレイヤ間位置対応情報は次の特徴を有している。
PPS内に参照レイヤの一つを選択する参照レイヤ識別子が含まれており、同一の参照レイヤ識別子に関連付けられる拡大参照レイヤオフセットシンタックス、参照レイヤオフセットシンタックス、および、レイヤ間位相オフセットシンタックスが符号化データ内で連続して含まれている。換言すると、PPSにはref_layer_id[i]が含まれており、同一の配列インデックス「[ref_layer_id[i]]」を持つ拡大参照レイヤオフセットシンタックス、参照レイヤオフセットシンタックス、および、レイヤ間位相オフセットシンタックスが符号化データ内で連続して含まれている。なお、各オフセット情報の存否フラグ(例えば前述の参照レイヤオフセット情報存否フラグやレイヤ間位相オフセット情報存否フラグ)が間に含まれていてもよく、該存否フラグの値に応じて一部のオフセットが省略されていても構わない。また、同一の参照レイヤ識別子に関連付けられる拡大参照レイヤオフセットシンタックス、参照レイヤオフセットシンタックス、レイヤ間位相オフセットシンタックスの符号化データ内の順序は、必ずしも前述の順番でなくてもよく、順番を入れ替えてもよい。
以上のように同一の参照レイヤ識別子に関連付けられる拡大参照レイヤオフセットシンタックス、参照レイヤオフセットシンタックス、および、レイヤ間位相オフセットシンタックスを符号化データ内に連続して含むことで、各オフセットの種類毎に、オフセットの数と、関連付けられる参照レイヤの識別子を復号する場合に較べて、少ない符号量の符号化データからレイヤ間位置対応情報を復号できる。
言い換えると、パラメータセット復号部12Aは、特定の参照レイヤを示す第一の参照レイヤ識別子(ref_layer_id[i])を復号し、前記第一の参照レイヤ識別子に関連付けられる前記拡大参照レイヤオフセットシンタックス、前記第一の参照レイヤ識別子に関連付けられる前記参照レイヤオフセットシンタックス、および、前記第一の参照レイヤ識別子に関連付けられるレイヤ間位相オフセットシンタックスを、符号化データから続けて復号することで、より少ない符号量の符号化データからレイヤ間位置情報を復号できる。
また、レイヤ間位置対応情報には、参照レイヤオフセット情報存否フラグが含まれているため、参照レイヤオフセットを明示的に伝送する必要がない場合に符号量を削減できる。参照レイヤオフセットはデフォルト値が適用される割合が高いという特性があるため、参照レイヤ間オフセット情報存否フラグを用いることで、平均的な符号量を削減できる。
また、レイヤ間位置対応情報には、レイヤ間位相オフセット情報存否フラグが含まれているため、レイヤ間位相オフセットを明示的に伝送する必要がない場合に符号量を削減できる。レイヤ間位相オフセットはデフォルト値が適用される割合が高いという特性があるため、レイヤ間位相オフセット情報存否フラグを用いることで、平均的な符号量を削減できる。
(スライス復号部14A)
スライス復号部14Aは図13を参照して説明したスライス復号部14と同様の構成と機能を有する。両者の違いは、スライス復号部14が含む予測画像生成部1442に代わりスライス復号部14Aは予測画像生成部1443Aを含んでいる点にある。予測画像生成部1443Aでは、レイヤ間予測が選択された場合の予測画像生成処理の実行時に、レイヤ間位置対応情報に基づいて、対応参照位置導出処理を以下のS401〜S409の手順で実行する。
(S401)予測画像生成処理の対象が輝度画素か色差画素かを判定する。対象が輝度画素の場合、S402を実行する。対象が色差画素の場合、S404を実行する。
(S402)パラメータセット復号部12Aで復号された、参照レイヤに対応する拡大参照レイヤオフセットシンタックスの値から、拡大参照レイヤオフセットを導出する。以下では、導出される、参照レイヤ(レイヤR)に係る拡大参照レイヤオフセットを、SRLO[r]と呼ぶ。加えて、SRLO[r]を構成する左、上、右、下にそれぞれ対応する拡大参照レイヤオフセットと記号を以下の通り定義する。
拡大参照レイヤ左オフセット:SRLLO[r]
拡大参照レイヤ上オフセット:SRLTO[r]
拡大参照レイヤ右オフセット:SRLRO[r]
拡大参照レイヤ下オフセット:SRLBO[r]
SRLO[r]を構成する各オフセット、SRLLO、SRLTO、SRLRO、SRLBOは、対応する拡大参照レイヤオフセットシンタックスの値に基づいて、以下の計算により導出される。
SRLLO = (scaled_ref_layer_left_offset[r] * SubWidthC)
SRLTO = (scaled_ref_layer_top_offset[r] * SubHeightC)
SRLRO = (scaled_ref_layer_right_offset[r] * SubWidthC)
SRLBO = (scaled_ref_layer_bottom_offset[r] * SubHeightC)
ここで、SubWidthCおよびSubHeightCは、対象レイヤに対応付けられる色フォーマットから導出される輝度色差幅比および輝度色差高さ比である。
上記の拡大参照レイヤオフセットの導出処理は、次のように表現することができる。すなわち、予測画像生成処理の対象が輝度画素である場合、拡大参照レイヤオフセットシンタックスの値と、対象レイヤにおける輝度色差サイズ比(輝度色差幅比または輝度色差高さ比)との積により、拡大参照レイヤオフセットを導出する。次にS403を実行する。
(S403)参照レイヤ(レイヤr)上の参照レイヤオフセットを導出する。参照レイヤオフセットは、左、上、右、下にそれぞれ対応する4つのオフセット(順にRLLO、RLTO、RLRO、RLBO)から構成され、参照レイヤオフセットシンタックスの値に基づいて次式により導出される。
RLLO = (ref_layer_left_offset[r] * RefSubWidthC)
RLTO = (ref_layer_top_offset[r] * RefSubHeightC)
RLRO = (ref_layer_right_offset[r] * RefSubWidthC)
RLBO = (ref_layer_bottom_offset[r] * RefSubHeightC)
ここで、RefSubWidthCおよびRefSubHeightCは、参照レイヤに対応付けられる色フォーマットから導出される輝度色差サイズ比である。すなわち、参照レイヤの色フォーマットに基づき導出されたSubWidthCの値がRefSubWidthCに、参照レイヤの色フォーマットに基づき導出されたSubHeightCの値がRefSubHeightCにそれぞれ設定される。
上記の参照レイヤオフセットの導出処理は、次のように表現することができる。すなわち、予測画像生成処理の対象が輝度画素である場合、参照レイヤオフセットシンタックスの値と、参照レイヤにおける輝度色差サイズ比との積により、参照レイヤオフセットを導出する。次にS406を実行する。
(S404)S402で説明したSRLO[j]を構成する各オフセット、SRLLO、SRLTO、SRLRO、SRLBOは、対応する拡大参照レイヤオフセットシンタックスの値に基づいて、以下の計算により導出される。
SRLLO = scaled_ref_layer_left_offset[r]
SRLTO = scaled_ref_layer_top_offset[r]
SRLRO = scaled_ref_layer_right_offset[r]
SRLBO = scaled_ref_layer_bottom_offset[r]
上記の拡大参照レイヤオフセットの導出処理は、次のように表現することができる。すなわち、予測画像生成処理の対象が色差画素である場合、拡大参照レイヤオフセットシンタックスの値を拡大参照レイヤオフセットとして導出する。
次に、S405を実行する。
(S405)S403で説明した参照レイヤオフセット(RLLO、RLTO、RLRO、RLBO)を、次式により導出する。
RLLO = ref_layer_left_offset[r]
RLTO = ref_layer_top_offset[r]
RLRO = ref_layer_right_offset[r]
RLBO = ref_layer_bottom_offset[r]
上記の参照レイヤオフセットの導出処理は、次のように表現できる。すなわち、予測画像生成処理の対象が色差画素である場合、参照レイヤオフセットシンタックスの値を参照レイヤオフセットの値として導出する。次にS406を実行する。
(S406)S402またはS404で導出した拡大参照レイヤオフセットと、対象レイヤピクチャサイズに基づいて、拡大参照レイヤのサイズを導出する。拡大参照レイヤの幅(SRLW)と高さ(SRLH)は、対象レイヤピクチャの幅(CL_PICW)と高さ(CL_PICH)に基づいて、それぞれ次式により導出される。
SRLW = CL_PICW - (SRLLO + SRLRO)
SRLH = CL_PICH - (SRLTO + SRLBO)
すなわち、上記の式によれば、対象レイヤピクチャの幅に、拡大参照レイヤ左オフセットと拡大参照レイヤ右オフセットの和を減算することで、対象レイヤ上の拡大参照レイヤの幅を導出している。対象レイヤ上の拡大参照レイヤの高さについても同様である。次にS407を実行する。なお、上記式においてオフセットの和を減算するのは、図21(a)に示したように、拡大参照レイヤ(図中の参照レイヤ対応領域)が、対象レイヤピクチャの内部にある場合にオフセットの値が正になるようオフセットの符号が定義されているためである。
(S407)S403またはS405で導出した参照レイヤオフセットと、参照レイヤピクチャサイズに基づいて、参照レイヤ上のスケール計算の基準となる領域(参照レイヤ基準領域)のサイズを導出する。参照レイヤ基準領域の幅(RLW)と高さ(RLH)は、参照レイヤピクチャの幅(RL_PICW)と高さ(RL_PICH)に基づいて、それぞれ次式により導出される。
RLW = RL_PICW - (RLLO + RLRO)
RLH = RL_PICH - (RLTO + RLBO)
すなわち、上記の式によれば、参照レイヤピクチャ幅に、参照レイヤ左オフセットと参照レイヤ右オフセットの和を減算することで、参照レイヤ基準領域の幅を導出している。参照レイヤ基準領域の高さについても同様である。次にS408を実行する。
(S408)S406で導出した拡大参照レイヤのサイズとS407で導出した参照レイヤ基準領域のサイズに基づいて、レイヤ間予測に用いるスケールを導出する。水平方向のスケールsxと垂直方向のスケールsyはそれぞれ次式により導出される。
sx = ((RLW << 16) + (SRLW >> 1)) / SRLW
sy = ((RLH << 16) + (SRLH >> 1)) / SRLH
なお、演算子“/”は整数の除算を表す演算子である。
すなわち、上式によれば、参照レイヤ参照領域サイズに所定の定数(上式では“<<16”)を乗じ、対象レイヤ参照領域サイズで除算した値をスケールとして設定している。なお、“(SRLW>>1)”の項は、除算による丸めを調整する項である。したがって、単位や丸め調整の効果を除けば、スケールは参照レイヤ基準領域のサイズ(幅または高さ)の、拡大参照レイヤのサイズ(幅または高さ)に対する比率と説明できる。次にS409を実行する。
(S409)S402またはS404で導出した拡大参照レイヤオフセットと、S403またはS405で導出した参照レイヤ基準領域オフセットと、S408で導出したスケールと、パラメータセット復号部12Aで復号されたレイヤ間位相オフセットに基づいて、16分の1画素精度の参照画素位置を導出する。対象レイヤ上の画素位置(xP、yP)に対応する、参照レイヤ上の16分の1画素精度の参照画素位置の水平成分(x成分)xRef16と、垂直成分(y成分)yRef16の値は、それぞれ次式により導出される。
xRef16 = (((xP - CL_OX) * sx + addX + (1<<11)) >> 12) + RL_OX
yRef16 = (((yP - CL_OY) * sy + addY + (1<<11)) >> 12) + RL_OY
ここで、
CL_OX = SRLLO
CL_OY = SRLTO
RL_OX = (RLLO << 4)
RL_OY = (RLTO << 4)
なお、addX、addYは、アップサンプリングやインタレースに伴う対象レイヤ上の画素と参照レイヤ上の画素のずれを表すパラメータであり、次式により導出される。
addX = (sx * phaseX + 8) >> 4
addY = (sy * phaseY + 8) >> 4
ここで、参照レイヤ識別子の値をrとすると、対象画素が輝度画素の場合には、phaseXの値にはphase_hor_luma[r]、phaseYの値にはphase_ver_luma[r]が設定される。また、対象画素が色差画素の場合には、phaseXにはphase_hor_chroma[r]の値が、phaseYにはphase_ver_chroma[r]の値が設定される。
すなわち、上記のxRef16とyRef16の導出式に従うと、拡大参照レイヤオフセット、参照レイヤオフセット、レイヤ間位相オフセットとスケールに基づいて参照画素位置を計算している。導出した16分の1画素精度の参照画素位置を対応参照位置として、対応参照位置導出処理を終了する。
補間フィルタ処理では、上記対応参照位置導出処理で導出した対応参照位置に相当する位置の画素値を、参照レイヤピクチャ上の、前記対応参照位置近傍の画素の復号画素に補間フィルタを適用することで生成する。
[変形例5:拡大参照レイヤオフセット情報存否フラグ]
上記のパラメータセット復号部12Aにおいて復号されるレイヤ間位置対応情報には、参照レイヤオフセット情報存否フラグとレイヤ間位相オフセット情報存否フラグが含まれている例を説明したが、図23に示すように、拡大参照レイヤオフセット情報存否フラグを追加で含むシンタックス表を用いる構成であってもよい。拡大参照レイヤオフセット情報存否フラグ(scaled_ref_layer_offset_prsent_flag)は、拡大参照レイヤオフセット情報のPPS内での存否を示すフラグである。配列インデックスiに対応する拡大参照レイヤオフセット情報存否フラグ(scaled_ref_layer_offset_present_flag[i])は、レイヤ識別子がref_layer_id[i]の参照レイヤに対応する拡大参照レイヤオフセットのシンタックス(scaled_ref_layer_left_offset[ref_layer_id[i]、scaled_ref_layer_top_offset[ref_layer_id[i]、scaled_ref_layer_right_offset[ref_layer_id[i]、scaled_ref_layer_bottom_offset[ref_layer_id[i])の符号化データ内の存在有無を表し、値が1の場合に該シンタックスが存在することを、値が0の場合に該シンタックスが存在しないことを示す。拡大参照レイヤオフセット情報存否フラグを用いることで、拡大参照レイヤオフセットが不要な場合の符号量を削減できる。
また、別の例では、図24に示すように、レイヤ間位置対応情報に、レイヤオフセット情報存否フラグとレイヤ間位相オフセット存否フラグを含むシンタックス表を用いる構成であってもよい。レイヤオフセット情報存否フラグ(layer_offset_present_flag)は、拡大参照レイヤオフセット情報と参照レイヤオフセット情報のPPS内での存在を示すフラグである。配列インデックスiに対応するレイヤオフセット情報存否フラグ(layer_offset_present_flag[i])は、レイヤ識別子がref_layer_id[i]の参照レイヤに対応する拡大参照レイヤオフセットと参照レイヤオフセットシンタックスの符号化データ内の存在有無を表し、値が1の場合に該シンタックスが存在し、値が0の場合に該シンタックスが存在しないことを示す。拡大参照レイヤオフセットと参照レイヤオフセットは、典型的なユースケースである対象ピクチャ全体が参照ピクチャ全体に対応する場合には、全てのオフセット値が0であり、省略される。したがって、レイヤオフセット情報存否フラグを用いることで、そのような場合の符号量を削減できる。
(他の階層動画像符号化/復号システムへの適用例)
上述した階層動画像符号化装置2及び階層動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用できる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
図19に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の送信および受信に利用できることを説明する。図19の(a)は、階層動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。
図19の(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を更に備えていてもよい。図19の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
図19の(b)は、階層動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。図19の(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を更に備えていてもよい。図19の(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の双方として機能する。
図20に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の記録および再生に利用できることを説明する。図20の(a)は、上述した階層動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。
図20の(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を更に備えていてもよい。図20の(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の一例である。
図20の(b)は、上述した階層動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。図20の(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を更に備えていてもよい。図20の(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)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。