【文献】
Satoru SAKAZUME et al.,Extended spatial scalability with a partial geometric transform,Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6),15th Meeting: Busan, KR,2005年 4月,JVT-O025,pp.1-17
【文献】
E. Francois et al.,Spatial scalable coding using cropped areas,Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6),13th Meeting: Palma de Mallorca,2005年 4月,JVT-O040,pp.1-14
【文献】
Do-Kyoung Kwon and Madhukar Budagavi,Reference-layer cropping offsets signaling in SHVC,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,13th Meeting: Incheon, KR,2013年 4月,JCTVC-M0219-r2,pp.1-5
【文献】
Tomoyuki Yamamoto et al.,MV-HEVC/SHVC HLS: On conversion to ROI-oriented multi-layer bitstream,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,15th Meeting: Geneva, CH,2013年10月,JCTVC-O0056,pp.1-5
【文献】
Kemal Ugur and Miska M. Hannuksela,AHG9: On signaling of scaled reference layer offsets ,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,15th Meeting: Geneva, CH,2013年10月,JCTVC-O0098r1,pp.1-3
【文献】
Jianle Chen et al.,High efficiency video coding (HEVC) scalable extension Draft 4,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,15th Meeting: Geneva, CH,2013年11月14日,JCTVC-O1008_v1 (version1),pp.i, 12-15, 28-35, 57-64,URL,URL:http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=8527
(58)【調査した分野】(Int.Cl.,DB名)
前記予測画像生成部が、前記対応参照位置を入力として受信することにより、前記対象レイヤの前記画素の予測画素値を生成するために補間フィルタ処理の実行をさらに行うことを特徴とする、
請求項1乃至3の何れか一項に記載の画像復号装置。
予測画像生成部が、前記対応参照位置を入力として受信することにより、前記対象レイヤの前記画素の予測画素値を生成するために補間フィルタ処理の実行をさらに行うことを特徴とする、
請求項5乃至7の何れか一項に記載の画像符号化装置。
入力される階層符号化データを入力される注目領域情報に基づいて変換し、注目領域階層符号化データを生成して出力する、パラメータセット修正部を備える階層符号化データ変換装置であって、
前記パラメータセット修正部は、変換前後の階層符号化データの復号時に導出される、スケール補正情報から算出されるレイヤ間スケールが一致するように、前記スケール補正情報を修正することを特徴とし、
前記注目領域階層符号化データは、注目領域に相当する上位レイヤと下位レイヤの符号化データを含む階層符号化データであり、
前記修正は、前記スケール補正情報に含まれる、拡大参照レイヤ追加オフセットと仮想参照レイヤサイズとに値を設定することによって行われる、
階層符号化データ変換装置。
【発明を実施するための形態】
【0031】
図1〜
図25に基づいて、本発明の一実施形態に係る階層動画像復号装置1、階層動画像符号化装置2、および符号化データ変換装置3を説明すれば以下のとおりである。
【0032】
〔概要〕
本実施の形態に係る階層動画像復号装置(画像復号装置)1は、階層動画像符号化装置(画像符号化装置)2によって階層符号化された符号化データを復号する。階層符号化とは、動画像を低品質のものから高品質のものにかけて階層的に符号化する符号化方式のことである。階層符号化は、例えば、SVCやSHVCにおいて標準化されている。なお、ここでいう動画像の品質とは、主観的および客観的な動画像の見栄えに影響する要素のことを広く意味する。動画像の品質には、例えば、“解像度”、“フレームレート”、“画質”、および、“画素の表現精度”が含まれる。よって、以下、動画像の品質が異なるといえば、例示的には、“解像度”等が異なることを指すが、これに限られない。例えば、異なる量子化ステップで量子化された動画像の場合(すなわち、異なる符号化雑音により符号化された動画像の場合)も互いに動画像の品質が異なるといえる。
【0033】
階層符号化技術は、階層化される情報の種類の観点から、(1)空間スケーラビリティ、(2)時間スケーラビリティ、(3)SNR(Signal to Noise Ratio)スケーラビリティ、および(4)ビュースケーラビリティに分類されることもある。空間スケーラビリティとは、解像度や画像のサイズにおいて階層化する技術である。時間スケーラビリティとは、フレームレート(単位時間のフレーム数)において階層化する技術である。SNRスケーラビリティは、符号化雑音において階層化する技術である。また、ビュースケーラビリティは、各画像に対応付けられた視点位置において階層化する技術である。
【0034】
また、本実施形態に係る符号化データ変換装置3は、階層動画像符号化装置2によって階層符号化された符号化データを変換し、所定の注目領域に関する符号化データを(注目領域符号化データ)を生成する。注目領域符号化データは、本実施形態に係る階層動画像復号装置1で復号できる。
【0035】
本実施形態に係る階層動画像符号化装置2、階層動画像復号装置1、及び階層符号化データ変換装置3の詳細な説明に先立って、まず(1)階層動画像符号化装置2または階層符号化データ変換装置3によって生成され、階層動画像復号装置1によって復号される階層符号化データのレイヤ構造を説明し、次いで(2)各レイヤで採用できるデータ構造の具体例について説明を行う。
【0036】
〔階層符号化データのレイヤ構造〕
ここで、
図2を用いて、階層符号化データの符号化および復号について説明すると次のとおりである。
図2は、動画像を、下位階層L3、中位階層L2、および上位階層L1の3階層により階層的に符号化/復号する場合について模式的に表す図である。つまり、
図2(a)および(b)に示す例では、3階層のうち、上位階層L1が最上位層となり、下位階層L3が最下位層となる。
【0037】
以下において、階層符号化データから復号され得る特定の品質に対応する復号画像は、特定の階層の復号画像(または、特定の階層に対応する復号画像)と称される(例えば、上位階層L1の復号画像POUT#A)。
【0038】
図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を示している。
【0039】
まず、
図2(a)を用いて、符号化装置側について説明する。符号化装置側の入力となる入力画像PIN#A、PIN#B、およびPIN#Cは、原画は同じだが、画像の品質(解像度、フレームレート、および画質等)が異なる。画像の品質は、入力画像PIN#A、PIN#B、およびPIN#Cの順に低くなる。
【0040】
下位階層L3の階層動画像符号化装置2#Cは、下位階層L3の入力画像PIN#Cを符号化して下位階層L3の符号化データDATA#Cを生成する。下位階層L3の復号画像POUT#Cを復号するのに必要な基本情報が含まれる(
図2において“C”にて示している)。下位階層L3は、最下層の階層であるため、下位階層L3の符号化データDATA#Cは、基本符号化データとも称される。
【0041】
また、中位階層L2の階層動画像符号化装置2#Bは、中位階層L2の入力画像PIN#Bを、下位階層の符号化データDATA#Cを参照しながら符号化して中位階層L2の符号化データDATA#Bを生成する。中位階層L2の符号化データDATA#Bには、符号化データDATA#Cに含まれる基本情報“C”に加えて、中位階層の復号画像POUT#Bを復号するのに必要な付加的情報(
図2において“B”にて示している)が含まれる。
【0042】
また、上位階層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”にて示している)が含まれる。
【0043】
このように上位階層L1の符号化データDATA#Aは、異なる複数の品質の復号画像に関する情報を含む。
【0044】
次に、
図2(b)を参照しながら復号装置側について説明する。復号装置側では、上位階層L1、中位階層L2、および下位階層L3それぞれの階層に応じた復号装置1#A、1#B、および1#Cが、符号化データDATA#A、DATA#B、およびDATA#Cを復号して復号画像POUT#A、POUT#B、およびPOUT#Cを出力する。
【0045】
なお、上位の階層符号化データの一部の情報を抽出して、より下位の特定の復号装置において、当該抽出した情報を復号することで特定の品質の動画像を再生することもできる。
【0046】
例えば、中位階層L2の階層復号装置1#Bは、上位階層L1の階層符号化データDATA#Aから、復号画像POUT#Bを復号するのに必要な情報(すなわち、階層符号化データDATA#Aに含まれる“B”および“C”)を抽出して、復号画像POUT#Bを復号してもよい。言い換えれば、復号装置側では、上位階層L1の階層符号化データDATA#Aに含まれる情報に基づいて、復号画像POUT#A、POUT#B、およびPOUT#Cを復号できる。
【0047】
なお、以上の3階層の階層符号化データに限られず、階層符号化データは、2階層で階層符号化されていてもよいし、3階層よりも多い階層数にて階層符号化されていてもよい。
【0048】
また、特定の階層の復号画像に関する符号化データの一部または全部を他の階層とは独立して符号化し、特定の階層の復号の際に、他の階層の情報を参照しなくても済むように階層符号化データを構成してもよい。例えば、
図2(a)および(b)を用いて上述した例では、復号画像POUT#Bの復号に“C”および“B”を参照すると説明したが、これに限られない。復号画像POUT#Bが“B”だけを用いて復号できるように階層符号化データを構成することも可能である。例えば、復号画像POUT#Bの復号に、“B”だけから構成される階層符号化データと、復号画像POUT#Cを入力とする階層動画像復号装置も構成できる。
【0049】
なお、SNRスケーラビリティを実現する場合、入力画像PIN#A、PIN#B、およびPIN#Cとして同一の原画を用いた上で、復号画像POUT#A、POUT#B、およびPOUT#Cが異なる画質となるよう階層符号化データを生成することもできる。その場合、下位階層の階層動画像符号化装置が、上位階層の階層動画像符号化装置に較べて、より大きい量子化幅を用いて予測残差を量子化することで階層符号化データを生成する。
【0050】
本書では、説明の便宜上、次のとおり用語を定義する。以下の用語は、特に断りがなければ、下記の技術的事項のことを表わすのに用いる。
【0051】
上位レイヤ : ある階層よりも上位に位置する階層のことを、上位レイヤと称する。例えば、
図2において、下位階層L3の上位レイヤは、中位階層L2および上位階層L1である。また、上位レイヤの復号画像とは、より品質の高い(例えば、解像度が高い、フレームレートが高い、画質が高い等)復号画像のことをいう。
【0052】
下位レイヤ : ある階層よりも下位に位置する階層のことを、下位レイヤと称する。例えば、
図2において、上位階層L1の下位レイヤは、中位階層L2および下位階層L3である。また、下位レイヤの復号画像とは、より品質の低い復号画像のことをいう。
【0053】
対象レイヤ : 復号または符号化の対象となっている階層のことをいう。なお、対象レイヤに対応する復号画像を対象レイヤピクチャと呼ぶ。また、対象レイヤピクチャを構成する画素を対象レイヤ画素と呼ぶ。
【0054】
参照レイヤ(reference layer) : 対象レイヤに対応する復号画像を復号するのに参照される特定の下位レイヤのことを参照レイヤと称する。なお、参照レイヤに対応する復号画像を参照レイヤピクチャと呼ぶ。また、参照レイヤを構成する画素を参照レイヤ画素と呼ぶ。
【0055】
図2(a)および(b)に示した例では、上位階層L1の参照レイヤは、中位階層L2および下位階層L3である。しかしながら、これに限られず、特定の上記レイヤの復号において、下位レイヤのすべてを参照しなくてもよいように階層符号化データを構成することもできる。例えば、上位階層L1の参照レイヤが、中位階層L2および下位階層L3のいずれか一方となるように階層符号化データを構成することも可能である。
【0056】
基本レイヤ(base layer;ベースレイヤ) : 最下層に位置する階層のことを基本レイヤと称する。基本レイヤの復号画像は、符号化データから復号され得るもっとも低い品質の復号画像であり、基本復号画像と呼称される。別の言い方をすれば、基本復号画像は、最下層の階層に対応する復号画像のことである。基本復号画像の復号に必要な階層符号化データの部分符号化データは基本符号化データと呼称される。例えば、上位階層L1の階層符号化データDATA#Aに含まれる基本情報“C”が基本符号化データである。
【0057】
拡張レイヤ : 基本レイヤの上位レイヤは、拡張レイヤと称される。
【0058】
レイヤ識別子 : レイヤ識別子は、階層を識別するためのものであり、階層と1対1に対応する。階層符号化データには特定の階層の復号画像の復号に必要な部分符号化データを選択するために用いられる階層識別子が含まれる。特定のレイヤに対応するレイヤ識別子に関連付けられた階層符号化データの部分集合は、レイヤ表現とも呼称される。
【0059】
一般に、特定の階層の復号画像の復号には、当該階層のレイヤ表現、および/または、当該階層の下位レイヤに対応するレイヤ表現が用いられる。すなわち、対象レイヤの復号画像の復号においては、対象レイヤのレイヤ表現、および/または、対象レイヤの下位レイヤに含まれる1つ以上階層のレイヤ表現が用いられる。
【0060】
レイヤ間予測 : レイヤ間予測とは、対象レイヤのレイヤ表現と異なる階層(参照レイヤ)のレイヤ表現に含まれるシンタックス要素値、シンタックス要素値より導出される値、および復号画像に基づいて、対象レイヤのシンタックス要素値や対象レイヤの復号に用いられる符号化パラメータ等を予測することである。動き予測に関する情報を参照レイヤの情報から予測するレイヤ間予測のことを動き情報予測と称することもある。また、下位レイヤの復号画像から予測するレイヤ間予測のことをレイヤ間画像予測(あるいはレイヤ間テクスチャ予測)と称することもある。なお、レイヤ間予測に用いられる階層は、例示的には、対象レイヤの下位レイヤである。また、参照レイヤを用いず対象レイヤ内で予測を行うことをレイヤ内予測と称することもある。
【0061】
なお、以上の用語は、飽くまで説明の便宜上のものであり、上記の技術的事項を別の用語にて表現してもかまわない。
【0062】
〔階層符号化データのデータ構造について〕
以下、各階層の符号化データを生成する符号化方式として、HEVCおよびその拡張方式を用いる場合について例示する。しかしながら、これに限られず、各階層の符号化データを、MPEG-2や、H.264/AVCなどの符号化方式により生成してもよい。
【0063】
また、下位レイヤと上位レイヤとが異なる符号化方式によって符号化されていてもよい。また、各階層の符号化データは、互いに異なる伝送路を介して階層動画像復号装置1に供給されてもよいし、同一の伝送路を介して階層動画像復号装置1に供給されてもよい。
【0064】
例えば、超高精細映像(動画像、4K映像データ)を基本レイヤおよび1つの拡張レイヤによりスケーラブル符号化して伝送する場合、基本レイヤは、4K映像データをダウンスケーリングし、インタレース化した映像データをMPEG-2またはH.264/AVCにより符号化してテレビ放送網で伝送し、拡張レイヤは、4K映像(プログレッシブ)をHEVCにより符号化して、インターネットで伝送してもよい。
【0065】
(基本レイヤ)
図3は、基本レイヤにおいて採用できる符号化データ(
図2の例でいえば、階層符号化データDATA#C)のデータ構造を例示する図である。階層符号化データDATA#Cは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
【0066】
階層符号化データDATA#Cにおけるデータの階層構造を
図3に示す。
図3の(a)〜(e)は、それぞれ、シーケンスSEQを規定するシーケンスレイヤ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、符号化ツリーユニット(Coding Tree Unit;CTU)を規定するCTUレイヤ、符号化ツリーユニットCTUに含まれる符号化単位(Coding Unit;CU)を規定するCUレイヤを示す図である。
【0067】
(シーケンスレイヤ)
シーケンスレイヤでは、処理対象のシーケンスSEQ(以下、対象シーケンスとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。シーケンスSEQは、
図3の(a)に示すように、ビデオパラメータセットVPS(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT
1〜PICT
NP(NPはシーケンスSEQに含まれるピクチャの総数)、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。
【0068】
ビデオパラメータセットVPSでは、符号化データに含まれるレイヤ数、レイヤ間の依存関係が規定されている。
【0069】
シーケンスパラメータセットSPSでは、対象シーケンスを復号するために階層動画像復号装置1が参照する符号化パラメータの集合が規定されている。SPSは符号化データ内に複数存在してもよい。その場合、対象シーケンス毎に復号に用いられるSPSが複数の候補から選択される。特定シーケンスの復号に使用されるSPSは、アクティブSPSとも呼ばれる。以下では、特に断りがなければ、対象シーケンスに対するアクティブSPSを意味する。
【0070】
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために階層動画像復号装置1が参照する符号化パラメータの集合が規定されている。なお、PPSは符号化データ内に複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。特定ピクチャの復号に使用されるPPSはアクティブPPSとも呼ばれる。以下では、特に断りがなければ、PPSは対象ピクチャに対するアクティブPPSを意味する。なお、アクティブSPSおよびアクティブPPSは、レイヤ毎に異なるSPSやPPSに設定してもよい。
【0071】
(ピクチャレイヤ)
ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、
図3の(b)に示すように、スライスヘッダSH
1〜SH
NS、及び、スライスS
1〜S
NSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
【0072】
なお、以下、スライスヘッダSH
1〜SH
NSやスライスS
1〜S
NSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する階層符号化データDATA#Cに含まれるデータであって、添え字を付している他のデータも同様である。
【0073】
スライスヘッダSH
kには、対応するスライスS
kの復号方法を決定するために階層動画像復号装置1が参照する符号化パラメータ群が含まれている。例えば、SPSを指定するSPS識別子(seq_parameter_set_id)や、PPSを指定するPPS識別子(pic_parameter_set_id)が含まれる。また、スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
【0074】
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
【0075】
(スライスレイヤ)
スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。スライスSは、
図3の(c)に示すように、符号化ツリーユニットCTU
1〜CTU
NC(NCはスライスSに含まれるCTUの総数)を含んでいる。
【0076】
(CTUレイヤ)
CTUレイヤでは、処理対象の符号化ツリーユニットCTU(以下、対象CTUとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。なお、符号化ツリーユニットのことを符号化ツリーブロック(CTB: Coding Tree block)、または、最大符号化単位(LCU:Largest Cording Unit)と呼ぶこともある。
【0077】
符号化ツリーユニットCTUは、CTUヘッダCTUHと、符号化単位情報CU
1〜CU
NL(NLはCTUに含まれる符号化単位情報の総数)とを含む。ここで、まず、符号化ツリーユニットCTUと、符号化単位情報CUとの関係について説明すると次のとおりである。
【0078】
符号化ツリーユニットCTUは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するための単位に分割される。
【0079】
符号化ツリーユニットCTUの上記単位は、再帰的な4分木分割により分割されている。この再帰的な4分木分割により得られる木構造のことを以下、符号化ツリー(coding tree)と称する。
【0080】
以下、符号化ツリーの末端のノードであるリーフ(leaf)に対応する単位を、符号化ノード(coding node)として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位(CU)とも称する。
【0081】
つまり、符号化単位情報(以下、CU情報と称する)CU
1〜CU
NLは、符号化ツリーユニットCTUを再帰的に4分木分割して得られる各符号化ノード(符号化単位)に対応する情報である。
【0082】
また、符号化ツリーのルート(root)は、符号化ツリーユニットCTUに対応付けられる。換言すれば、符号化ツリーユニットCTUは、複数の符号化ノードを再帰的に含む4分木分割の木構造の最上位ノードに対応付けられる。
【0083】
なお、各符号化ノードのサイズは、当該符号化ノードの親ノードとなる符号化ノード(すなわち、当該符号化ノードの1階層上位のノード)のサイズの縦横とも半分である。
【0084】
また、符号化ツリーユニットCTUのサイズ、および、各符号化ユニットのとり得るサイズは、シーケンスパラメータセットSPSに含まれる、最小符号化ノードのサイズ指定情報、および最大符号化ノードと最小符号化ノードの階層深度の差分に依存する。例えば、最小符号化ノードのサイズが8×8画素であって、最大符号化ノードと最小符号化ノードの階層深度の差分が3である場合、符号化ツリーユニットCTUのサイズが64×64画素であって、符号化ノードのサイズは、4種類のサイズ、すなわち、64×64画素、32×32画素、16×16画素、および、8×8画素の何れかをとり得る。
【0085】
(CTUヘッダ)
CTUヘッダCTUHには、対象CTUの復号方法を決定するために階層動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、
図3の(d)に示すように、対象CTUの各CUへの分割パターンを指定するCTU分割情報SP_CTU、および、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(qp_delta)が含まれる。
【0086】
CTU分割情報SP_CTUは、CTUを分割するための符号化ツリーを表す情報であり、具体的には、対象CTUに含まれる各CUの形状、サイズ、および、対象CTU内での位置を指定する情報である。
【0087】
なお、CTU分割情報SP_CTUは、CUの形状やサイズを明示的に含んでいなくてもよい。例えばCTU分割情報SP_CTUは、対象CTU全体またはCTUの部分領域を四分割するか否かを示すフラグの集合であってもよい。その場合、CTUの形状やサイズを併用することで各CUの形状やサイズを特定できる。
【0088】
(CUレイヤ)
CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。
【0089】
ここで、CU情報CUに含まれるデータの具体的な内容の説明をする前に、CUに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー(prediction tree;PT)および変換ツリー(transform tree;TT)のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
【0090】
予測ツリーにおいては、符号化ノードが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。換言すれば、予測ブロックは、符号化ノードを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
【0091】
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU)とも称する。
【0092】
予測ツリーにおける分割(以下、PU分割と略称する)の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。
【0093】
イントラ予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)と、N×Nとがある。また、インター予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)、2N×N、2N×nU、2N×nD、N×2N、nL×2N、および、nR×2Nなどがある。
【0094】
また、変換ツリーにおいては、符号化ノードが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。換言すれば、変換ブロックは、符号化ノードを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
【0095】
変換ツリーにおける分割には、符号化ノードと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な4分木分割によるものがある。
【0096】
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
【0097】
(CU情報のデータ構造)
続いて、
図3(e)を参照しながらCU情報CUに含まれるデータの具体的な内容を説明する。
図3(e)に示すように、CU情報CUは、具体的には、スキップフラグSKIP、予測ツリー情報(以下、PT情報と略称する)PTI、および、変換ツリー情報(以下、TT情報と略称する)TTIを含む。
【0098】
スキップフラグSKIPは、対象のPUについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグSKIPの値が1の場合、すなわち、対象CUにスキップモードが適用されている場合、そのCU情報CUにおけるPT情報PTIの一部、および、TT情報TTIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
【0099】
[PT情報]
PT情報PTIは、CUに含まれる予測ツリー(以下、PTと略称する)に関する情報である。言い換えれば、PT情報PTIは、PTに含まれる1または複数のPUそれぞれに関する情報の集合であり、階層動画像復号装置1により予測画像を生成する際に参照される。PT情報PTIは、
図3(e)に示すように、予測タイプ情報PType、および、予測情報PInfoを含んでいる。
【0100】
予測タイプ情報PTypeは、対象PUについての予測画像生成方法を指定する情報である。ベースレイヤにおいては、イントラ予測を用いるのか、または、インター予測を用いるのかを指定する情報である。
【0101】
予測情報PInfoは、予測タイプ情報PTypeで指定される予測方法において用いられる予測情報である。ベースレイヤにおいては、イントラ予測の場合にイントラ予測情報PP_Intraが含まれる。また、インター予測の場合にはインター予測情報PP_Interを含む。
【0102】
インター予測情報PP_Interは、階層動画像復号装置1が、インター予測によってインター予測画像を生成する際に参照される予測情報を含む。より具体的には、インター予測情報PP_Interは、対象CUの各インターPUへの分割パターンを指定するインターPU分割情報、および、各インターPUについてのインター予測パラメータ(動き補償パラメータ)を含む。インター予測パラメータとしては、例えば、マージフラグ(merge_flag)、マージインデックス(merge_idx)、推定動きベクトルインデックス(mvp_idx)、参照ピクチャインデックス(ref_idx)、インター予測フラグ(inter_pred_flag)、および動きベクトル残差(mvd)を含む。
【0103】
イントラ予測情報PP_Intraは、階層動画像復号装置1が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータを含む。より具体的には、イントラ予測情報PP_Intraには、対象CUの各イントラPUへの分割パターンを指定するイントラPU分割情報、および、各イントラPUについてのイントラ予測パラメータが含まれる。イントラ予測パラメータは、各イントラPUについてのイントラ予測方法(予測モード)を指定するためのパラメータである。
【0104】
[TT情報]
TT情報TTIは、CUに含まれる変換ツリー(以下、TTと略称する)に関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数の変換ブロックそれぞれに関する情報の集合であり、階層動画像復号装置1により残差データを復号する際に参照される。
【0105】
TT情報TTIは、
図3(e)に示すように、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TT、および、量子化予測残差QD
1〜QD
NT(NTは、対象CUに含まれるブロックの総数)を含んでいる。
【0106】
TT分割情報SP_TTは、具体的には、対象CUに含まれる各変換ブロックの形状、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TTは、対象ノードの分割を行うのか否かを示す情報(split_transform_unit_flag)と、その分割の深度を示す情報(trafoDepth)とから実現できる。
【0107】
また、例えば、CUサイズが、64×64の場合、分割により得られる各変換ブロックは、32×32画素から4×4画素までのサイズをとり得る。
【0108】
各量子化予測残差QDは、階層動画像符号化装置2が以下の処理1〜3を、処理対象の変換ブロックである対象ブロックに施すことによって生成した符号化データである。
【0109】
処理1:符号化対象画像から予測画像を減算した予測残差を周波数変換(例えば、DCT変換(Discrete Cosine Transform)およびDST変換(Discrete Sine Transform)等)する;
処理2:処理1にて得られた変換係数を量子化する;
処理3:処理2にて量子化された変換係数を可変長符号化する;
なお、上述した量子化パラメータqpは、階層動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2
qp/6)。
【0110】
(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=2
m(mは1以上の任意の整数)を意味している。以下、対象CUを分割して得られる予測単位のことを予測ブロック、または、パーティションと称する。
【0111】
(拡張レイヤ)
拡張レイヤのレイヤ表現に含まれる符号化データ(以下、拡張レイヤ符号化データ)についても、例えば、
図3に示すデータ構造とほぼ同様のデータ構造を採用できる。ただし、拡張レイヤ符号化データでは、以下のとおり、付加的な情報を追加したり、パラメータを省略できる。
【0112】
スライスレイヤでは、空間スケーラビリティ、時間スケーラビリティ、および、SNRスケーラビリティ、ビュースケーラビリティの階層の識別情報(それぞれ、dependency_id、temporal_id、quality_id、および、view_id)が符号化されていてもよい。
【0113】
また、CU情報CUに含まれる予測タイプ情報PTypeは、対象CUについての予測画像生成方法がイントラ予測、インター予測、または、レイヤ間画像予測のいずれかを指定する情報である。予測タイプ情報PTypeには、レイヤ間画像予測モードの適用有無を指定するフラグ(レイヤ間画像予測フラグ)を含む。なお、レイヤ間画像予測フラグは、texture_rl_flag、inter_layer_pred_flag、または、base_mode_flagと呼ばれることもある。
【0114】
拡張レイヤにおいて、対象CUのCUタイプが、イントラCU、レイヤ間CU、インターCU、スキップCUのいずれであるかが指定されていてもよい。
【0115】
イントラCUは、ベースレイヤにおけるイントラCUと同様に定義できる。イントラCUでは、レイヤ間画像予測フラグが“0”に、予測モードフラグが“0”に設定される。
【0116】
レイヤ間CUは、参照レイヤのピクチャの復号画像を予測画像生成に用いるCUと定義できる。レイヤ間CUでは、レイヤ間画像予測フラグが“1”に、予測モードフラグが“0”に設定される。
【0117】
スキップCUは、上述のHEVC方式の場合と同様に定義できる。例えば、スキップCUでは、スキップフラグに“1”が設定される。
【0118】
インターCUは、非スキップかつ動き補償(MC;Motion Compensation)を適用するCUと定義されていてもよい。インターCUでは、例えば、スキップフラグに“0”が設定され、予測モードフラグに“1”が設定される。
【0119】
また、上述のとおり拡張レイヤの符号化データを、下位レイヤの符号化方式と異なる符号化方式により生成しても構わない。すなわち、拡張レイヤの符号化・復号処理は、下位レイヤのコーデックの種類に依存しない。
【0120】
下位レイヤが、例えば、MPEG-2や、H.264/AVC方式によって符号化されていてもよい。
【0121】
拡張レイヤ符号化データでは、VPSが拡張されて、レイヤ間の参照構造を表すパラメータが含まれていてもよい。
【0122】
また、拡張レイヤ符号化データでは、SPS、PPS、スライスヘッダが拡張されて、レイヤ間画像予測に用いる参照レイヤの復号画像に係る情報(例えば、後述のレイヤ間参照ピクチャセット、レイヤ間参照ピクチャリスト、ベース制御情報等を直接、または、間接的に導出するためのシンタックス)が含まれていてもよい。
【0123】
なお、以上に説明したパラメータは、単独で符号化されていてもよいし、複数のパラメータが複合的に符号化されていてもよい。複数のパラメータが複合的に符号化される場合は、そのパラメータの値の組み合わせに対してインデックスが割り当てられ、割り当てられた当該インデックスが符号化される。また、パラメータが、別のパラメータや、復号済みの情報から導出可能であれば、当該パラメータの符号化を省略できる。
【0124】
〔ピクチャ、タイル、スライスの関係〕
次に、本発明に係る重要な概念であるピクチャ、タイル、スライスについて、相互の関係および符号化データとの関係を
図4を参照して説明する。
図4は、階層符号化データにおけるピクチャとタイル・スライスの関係を説明する図である。タイルは、ピクチャ内の矩形の部分領域、および、該部分領域に係る符号化データに対応付けられる。スライスはピクチャ内の部分領域、および、該部分領域に係る符号化データ、すなわち、該部分領域に係るスライスヘッダおよびスライスデータに対応付けられる。
【0125】
図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)を含んでいる。
【0126】
図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に相当する符号化データに順に含まれる。
【0127】
以上の説明から分かるように、ピクチャ内の特定のタイルに相当する符号化データには、1以上のスライスに対応する符号化データが関連付けられている。そのため、タイルに関連付けられるスライスの復号画像を生成できれば、該タイルに対応するピクチャ内の部分領域の復号画像を生成できる。
【0128】
以下では、特に追加の説明がなければ、上記のようなピクチャ、タイル、スライスと符号化データの関係を前提として説明を行う。
【0129】
〔復号装置、符号化装置、および変換装置を組み合わせたシステム〕
本実施形態に係る階層動画像復号装置1、階層動画像符号化装置2、および、符号化データ変換装置3の説明に先立って、階層動画像復号装置1、階層動画像符号化装置2、および、符号化データ変換装置3を組み合わせて実現できるシステムの例を
図5を参照して説明しておく。
図5は、階層動画像復号装置1、階層動画像符号化装置2、および、符号化データ変換装置3を組み合わせて実現できる階層動画像の伝送と再生を行うシステムSYS_ROI1を例示している。
【0130】
システムSYS_ROI1は、入力される低品質の入力画像PIN#Lと高品質の入力画像PIN#Hを階層動画像符号化装置2#Lと階層動画像符号化装置2#Hで階層符号化して階層符号化データBSALLを生成する。
【0131】
階層符号化データBSALLは、上位レイヤ(拡張レイヤ)の階層符号化データとして、高品質の入力画像PIN#Hの全体に対応する符号化データを含んでいる。また、階層符号化データBSALLは、下位レイヤ(ベースレイヤ)の階層符号化データとして、低品質の入力画像PIN#Lの全体に対応する符号化データを含んでいる。階層符号化データBSALLが階層動画像復号装置1#Aに入力される場合、高品質の再生画像DOUT#Hと低品質の再生画像DOUT#Lが出力される。
【0132】
階層符号化データBSALLが符号化データ変換装置3に入力された場合、入力される注目領域ROIに基づいて、階層符号化データBSROIが生成される。階層符号化データBSROIは、上位レイヤ(拡張レイヤ)の階層符号化データとして、高品質の入力画像PIN#Hの注目領域ROIに相当する部分の符号化データを含んでいる。また、階層符号化データBSROIは、下位レイヤ(ベースレイヤ)の階層符号化データとして、低品質の入力画像PIN#Lの全体に対応する符号化データを含んでいる。階層符号化データBSROIを階層動画像復号装置1#Rに入力した場合、高品質の入力画像PIN#Hに対応し、かつ、注目領域ROIに対応する復号画像DROI#Hが出力される。加えて、低品質の入力画像PIN#Lに対応する復号画像DOUT#Lが出力される。
【0133】
以下の階層動画像復号装置1、階層動画像符号化装置2、および、符号化データ変換装置3の説明においては、上記システムSYS_ROI1での利用を想定して説明を行う場合があるが、必ずしも各装置の用途は上記システムSYS_ROI1に限定されない。
【0134】
〔階層動画像復号装置〕
以下では、本実施形態に係る階層動画像復号装置1の構成について、
図1〜
図15を参照して説明する。
【0135】
(階層動画像復号装置の構成)
図6を用いて、階層動画像復号装置1の概略的構成を説明すると次のとおりである。
図6は、階層動画像復号装置1の概略的構成を示した機能ブロック図である。階層動画像復号装置1は、階層符号化データDATA(階層動画像符号化装置2から提供される階層符号化データDATAF、または、符号化データ変換装置3から提供される階層符号化データDATAR)を復号して、対象レイヤの復号画像POUT#Tを生成する。なお、以下では、対象レイヤは基本レイヤを参照レイヤとする拡張レイヤであるとして説明する。そのため、対象レイヤは、参照レイヤに対する上位レイヤでもある。逆に、参照レイヤは、対象レイヤに対する下位レイヤでもある。
【0136】
図6に示すように階層動画像復号装置1は、NAL逆多重化部11、パラメータセット復号部12、タイル設定部13、スライス復号部14、ベース復号部15、復号ピクチャ管理部16を含む。
【0137】
NAL逆多重化部11は、NAL(Network Abstraction Layer)におけるNALユニット単位で伝送される階層符号化データDATAを逆多重化する。
【0138】
NALは、VCL(Video Coding Layer)と、符号化データを伝送・蓄積する下位システムとの間における通信を抽象化するために設けられる層である。
【0139】
VCLは、動画像符号化処理を行う層のことであり、VCLにおいて符号化が行われる。一方、ここでいう、下位システムは、H.264/AVCおよびHEVCのファイルフォーマットや、MPEG-2システムに対応する。
【0140】
なお、NALでは、VCLで生成されたビットストリームが、NALユニットという単位で区切られて、宛先となる下位システムへ伝送される。NALユニットには、VCLで符号化された符号化データ、および、当該符号化データが宛先の下位システムに適切に届けられるためのヘッダが含まれる。また、各階層における符号化データは、NALユニット格納されることでNAL多重化されて階層動画像復号装置1に伝送される。
【0141】
階層符号化データDATAには、VCLにより生成されたNALの他に、パラメータセット(VPS、SPS、PPS)やSEI等を含むNALが含まれる。それらのNALはVCL NALに対して非VCL NALと呼ばれる。
【0142】
NAL逆多重化部11は、階層符号化データDATAを逆多重化して、対象レイヤ符号化データDATA#Tおよび参照レイヤ符号化データDATA#Rを取り出す。また、NAL逆多重化部11は、対象レイヤ符号化データDATA#Tに含まれるNALのうち、非VCL NALをパラメータセット復号部12に、VCL NALをスライス復号部14にそれぞれ供給する。
【0143】
パラメータセット復号部12は、入力される非VCL NALからパラメータセット、すなわち、VPS、SPS、および、PPSを復号してタイル設定部13とスライス復号部14に供給する。なお、パラメータセット復号部12における本発明との関連性の高い処理の詳細について後述する。
【0144】
タイル設定部13は、入力されるパラメータセットに基づいてピクチャのタイル情報を導出してスライス復号部14に供給する。タイル情報は、少なくともピクチャのタイル分割情報を含む。タイル設定部13の詳細な説明は後述する。
【0145】
スライス復号部14は、入力されるVCL NAL、パラメータセット、タイル情報、および、参照ピクチャに基づいて復号ピクチャ、または、復号ピクチャの部分領域を生成して復号ピクチャ管理部16内のバッファに記録する。スライス復号部の詳細な説明は後述する。
【0146】
復号ピクチャ管理部16は、入力される復号ピクチャやベース復号ピクチャを内部の復号ピクチャバッファ(DPB: Decoded Picture Buffer)に記録するとともに、参照ピクチャリスト生成や出力ピクチャ決定を行う。また、復号ピクチャ管理部16は、DPBに記録されている復号ピクチャを、所定のタイミングで出力ピクチャPOUT#Tとして外部に出力する。
【0147】
ベース復号部15は、参照レイヤ符号化データDATA#Rからベース復号ピクチャを復号する。ベース復号ピクチャは、対象レイヤの復号ピクチャ復号時に利用される参照レイヤの復号ピクチャである。ベース復号部15は、復号したベース復号ピクチャを復号ピクチャ管理部16内のDPBに記録する。
【0148】
図7を用いて、ベース復号部15の詳細構成を説明する。
図7は、ベース復号部15の構成について例示した機能ブロック図である。
【0149】
図7に示すように、ベース復号部15は、ベースNAL逆多重化部151、ベースパラメータセット復号部152、ベースタイル設定部153、ベーススライス復号部154、ベース復号ピクチャ管理部156を備える。
【0150】
ベースNAL逆多重化部151は、参照レイヤ符号化データDATA#Rを逆多重化して、VCL NALと非VCL NALを抽出し、非VCL NALをベースパラメータセット復号部152に、VCL NALをベーススライス復号部154にそれぞれ供給する。
【0151】
ベースパラメータセット復号部152は、入力される非VCL NALからパラメータセット、すなわち、VPS、SPS、および、PPSを復号してベースタイル設定部153とベーススライス復号部154に供給する。
【0152】
ベーススタイル設定部153は、入力されるパラメータセットに基づいてピクチャのタイル情報を導出してベーススライス復号部154に供給する。
【0153】
ベーススライス復号部154は、入力されるVCL NAL、パラメータセット、タイル情報、および、参照ピクチャに基づいて復号ピクチャ、または、復号ピクチャの部分領域を生成してベース復号ピクチャ管理部156内のバッファに記録する。
【0154】
ベース復号ピクチャ管理部156は、入力される復号ピクチャを内部のDPBに記録するとともに、参照ピクチャリスト生成や出力ピクチャ決定を行う。また、ベース復号ピクチャ管理部156は、DPBに記録されている復号ピクチャを、所定のタイミングでベース復号ピクチャとして出力する。
【0155】
(パラメータセット復号部12)
パラメータセット復号部12は、入力される対象レイヤの符号化データから、対象レイヤの復号に用いられるパラメータセット(VPS、SPS、PPS)を復号して出力する。一般に、パラメータセットの復号は既定のシンタックス表に基づいて実行される。すなわち、シンタックス表の定める手順に従って符号化データからビット列を読み出して、シンタックス表に含まれるシンタックスのシンタックス値を復号する。また、必要に応じて、復号したシンタックス値に基づいて導出した変数を導出して、出力するパラメータセットに含めてもよい。したがって、パラメータセット復号部12から出力されるパラメータセットは、符号化データに含まれるパラメータセット(VPS、SPS、PPS)に係るシンタックスのシンタックス値、および、該シンタックス値より導出される変数の集合と表現することもできる。
【0156】
以下では、パラメータセット復号部12において復号に使用されるシンタックス表のうち、本発明との関連性が高い、ピクチャ情報、および、レイヤ間位置対応情報に係るシンタックス表の一部について詳しく説明する。
【0157】
(ピクチャ情報)
パラメータセット復号部12は、入力される対象レイヤ符号化データからピクチャ情報を復号する。ピクチャ情報は、概略的には、対象レイヤの復号ピクチャのサイズを定める情報である。例えば、ピクチャ情報は、対象レイヤの復号ピクチャの幅や高さを表わす情報を含んでいる。
【0158】
ピクチャ情報は、例えば、SPSに含まれている。SPSから復号されるピクチャ情報には、復号ピクチャの幅(pic_width_in_luma_samples)と復号ピクチャの高さ(pic_height_in_luma_samples)が含まれている。シンタックスpic_width_in_luma_samplesの値は、輝度画素単位での復号ピクチャの幅に対応する。また、シンタックスpic_height_in_luma_samplesの値は、輝度画素単位での復号ピクチャの高さに対応する。
【0159】
(表示領域情報)
パラメータセット復号部12は、入力される対象レイヤ符号化データから表示領域情報を復号する。表示領域情報は、例えば、SPSに含まれている。SPSから復号される表示領域情報は、表示領域フラグ(conformance_flag)を含む。表示領域フラグは表示領域の位置を表わす情報(表示領域位置情報)が追加でSPSに含まれるか否かを示す。すなわち、表示領域フラグが1の場合、表示領域位置情報が追加で含まれることを示し、表示領域フラグが0の場合、表示領域位置情報が追加で含まれないことを示す。
【0160】
SPSから復号される表示領域情報は、表示領域フラグが1の場合、さらに表示領域位置情報として表示領域左オフセット(conf_win_left_offset)、表示領域右オフセット(conf_win_right_offset)、表示領域上オフセット(conf_win_top_offset)、表示領域下オフセット(conf_win_bottom_offset)を含む。
【0161】
表示領域は、表示領域フラグが0の場合には、ピクチャ全体が設定される。一方、表示領域フラグが1の場合には、表示領域位置情報が示すピクチャ内の部分領域が設定される。なお、表示領域は、コンフォーマンス窓(conformance window)とも呼称される。
【0162】
図8を参照して表示領域位置情報と表示領域の関係を説明する。
図8は、ピクチャ内の部分領域である表示領域と表示領域位置情報の関係を例示する図である。図に示したように、表示領域はピクチャ内に包含されており、表示領域上オフセットはピクチャ上辺と表示領域上辺の距離、表示領域左オフセットはピクチャ左辺と表示領域左辺の距離、表示領域右オフセットはピクチャ右辺と表示領域右辺の距離、表示領域下オフセットはピクチャ下辺と表示領域下辺の距離をそれぞれ表わしている。したがって、上記の表示領域位置情報により、表示領域のピクチャ内の位置およびサイズが一意に特定できる。なお、表示領域情報は、表示領域のピクチャ内の位置およびサイズが一意に特定できる他の情報であっても構わない。
【0163】
(レイヤ間位置対応情報)
パラメータセット復号部12は、入力される対象レイヤ符号化データからレイヤ間位置対応情報を復号する。レイヤ間位置対応情報は、概略的には、対象レイヤと参照レイヤの対応する領域の位置関係を示す。例えば、対象レイヤのピクチャと参照レイヤのピクチャにある物体(物体A)が含まれる場合、対象レイヤのピクチャ上の物体Aに対応する領域と、参照レイヤのピクチャ上の物体Aに対応する領域が、前記対象レイヤと参照レイヤの対応する領域に相当する。なお、レイヤ間位置対応情報は、必ずしも上記の対象レイヤと参照レイヤの対応する領域の位置関係を正確に示す情報でなくてもよいが、一般的には、レイヤ間予測の正確性を高めるために正確な対象レイヤと参照レイヤの対応する領域の位置関係を示している。
【0164】
レイヤ間位置対応情報は、レイヤ間画素対応情報を含む。レイヤ間画素対応情報は、参照レイヤのピクチャ上の画素と、対応する対象レイヤのピクチャ上の画素との位置関係を示す情報である。また、レイヤ間対応情報は、レイヤ間位相対応情報を追加で含んでいてもよい。レイヤ間位相対応情報は、前記レイヤ間画素対応情報で対応が示された画素の位相差を表わす情報である。
【0165】
(レイヤ間画素対応情報)
レイヤ間画素対応情報は、例えば、上位レイヤのSPSの一部であるSPS拡張(sps_estension)に含まれており、
図9に示すシンタックス表に従って復号される。
図9は、パラメータセット復号部12がSPS復号時に参照するシンタックス表の一部であって、レイヤ間画素対応情報に係る部分である。
【0166】
SPSから復号されるレイヤ間画素対応情報には、SPS拡張に含まれるレイヤ間画素対応情報の個数(num_scaled_ref_layer_offsets)が含まれる。加えて、レイヤ間画素対応情報には、前記レイヤ間画素対応情報の個数分のレイヤ間画素対応オフセットが含まれる。レイヤ間画素対応オフセットには、拡大参照レイヤ左オフセット(scaled_ref_layer_left_offset[i])、拡大参照レイヤ上オフセット(scaled_ref_layer_top_offset[i])、拡大参照レイヤ右オフセット(scaled_ref_layer_right_offset[i])、および、拡大参照レイヤ下オフセット(scaled_ref_layer_bottom_offset[i])が含まれる。レイヤ間画素対応オフセットは、拡大参照レイヤオフセットとも呼ばれる。
【0167】
レイヤ間画素対応オフセットに含まれる各オフセットの意味を、
図10を参照して説明する。
図10は、対象レイヤのピクチャ、参照レイヤのピクチャ、および、レイヤ間画素対応オフセットの関係を例示する図である。
【0168】
図10(a)は、参照レイヤのピクチャ全体が対象レイヤのピクチャの一部に対応する場合の例を示す。この場合、参照レイヤピクチャ全体に対応する対象レイヤ上の領域(対象レイヤ対応領域)は、対象レイヤピクチャの内部に含まれている。
図10(b)は、参照レイヤのピクチャの一部が対象レイヤのピクチャ全体に対応する場合の例を示す。この場合、参照レイヤ対応領域の内部に対象レイヤピクチャが含まれている。なお、対象レイヤピクチャ全体にオフセットが含まれている。
【0169】
図10に示したように、拡大参照レイヤ左オフセット(図ではSRL左オフセット)は、参照レイヤ対応領域左辺の対象レイヤピクチャ左辺に対するオフセットを表わす。なお、SRL左オフセットが0より大きい場合、参照レイヤ対応領域左辺が対象レイヤピクチャ左辺の右側に位置することを表わす。
【0170】
拡大参照レイヤ上オフセット(図ではSRL上オフセット)は、参照レイヤ対応領域上辺の対象レイヤピクチャ上辺に対するオフセットを表わす。なお、SRL上オフセットが0より大きい場合、参照レイヤ対応領域上辺が対象レイヤピクチャ上辺の下側に位置することを表わす。
【0171】
拡大参照レイヤ右オフセット(図ではSRL右オフセット)は、参照レイヤ対応領域右辺の対象レイヤピクチャ右辺に対するオフセットを表わす。なお、SRL右オフセットが0より大きい場合、参照レイヤ対応領域右辺が対象レイヤピクチャ右辺の左側に位置することを表わす。
【0172】
拡大参照レイヤ下オフセット(図ではSRL下オフセット)は、参照レイヤ対応領域下辺の対象レイヤピクチャ下辺に対するオフセットを表わす。なお、SRL下オフセットが0より大きい場合、参照レイヤ対応領域下辺が対象レイヤピクチャ下辺の上側に位置することを表わす。
【0173】
(スケール補正情報)
パラメータセット復号部12は、入力される対象レイヤ符号化データから、スケール補正情報を復号する。スケール補正情報は、例えば、SPS拡張に含まれており、
図11に示すシンタックス表に従って復号される。
図11は、パラメータセット復号部12がSPS復号時に参照するシンタックス表の一部であって、スケール補正情報に係る部分である。
【0174】
SPSから復号されるスケール補正情報には、シンタックス要素(A0)が含まれる。
・A0:スケール補正情報数(num_scale_adjust_info)
加えて、SPSには、シンタックス要素の組(A1、A2L、A2T、A2R、A2B、A3W、A3H)が、スケール補正情報数の示す個数含まれる。
・A1:スケール補正参照レイヤ識別子(scale_adjust_ref_layer_id[i])
・A2L:拡大参照レイヤ左追加オフセット(srl_add_left_offset[i])
・A2T:拡大参照レイヤ上追加オフセット(srl_add_top _offset[i])
・A2R:拡大参照レイヤ右追加オフセット(srl_add_right_offset[i])
・A2B:拡大参照レイヤ下追加オフセット(srl_add_bottom_offset[i])
・A3W:仮想参照レイヤ幅(rl_virtual_width[i])
・A3H:仮想参照レイヤ高(rl_virtual_height[i])
なお、上記A2L、A2T、A2R、A2Bを総称して、拡大参照レイヤ追加オフセットとも呼ぶ。また、上記A2LとA2Tを総称して、拡大参照レイヤ左上追加オフセットとも呼び、上記A2RとA2Bを総称して、拡大参照レイヤ右下追加オフセットとも呼ぶ。また、A3WとA3Hを総称して、仮想参照レイヤサイズとも呼ぶ。この定義を用いて換言すれば、スケール補正情報には、スケール補正情報数の示す個数の拡大参照レイヤ追加オフセットと仮想参照レイヤサイズが含まれている。
【0175】
シンタックス要素A0、A2L、A2T、A2R、A2B、A3W、A3HはそれぞれHEVCでも規定されている非負整数の0次指数ゴロム符号(ue(v))により符号化される。一方、シンタックス要素A1は6ビットの固定長符号(u(6))により符号化される。なお、これらの符号と同じ値域に対応する他の符号により符号化されていてもよい。
【0176】
スケール補正情報数(A0)は、SPSに含まれるスケール補正参照レイヤ識別子、拡大参照レイヤ追加オフセット、参照レイヤ補正サイズの数を表わす。なお、スケール補正情報数は、省略しても構わない。例えば、対象レイヤに対する参照レイヤ数が固定、または、既知である場合には、不要である。また、対象レイヤに対する参照レイヤ数が未知の場合であっても省略することは可能であるが、その場合、不必要な参照レイヤに対しても追加のシンタックス要素をSPSに含めるため符号量が増加する。
【0177】
スケール補正参照レイヤ識別子(A1)は、対象レイヤに対する特定の参照レイヤの識別子である。特定の参照レイヤとは、スケール補正処理の対象となる参照レイヤである。
【0178】
拡大参照レイヤ追加オフセット(A2L、A2T、A2R、A2B)は、レイヤ間スケール(補正スケール)の算出に用いるパラメータであって、拡大参照レイヤ補正サイズに係るパラメータである。概略的には、拡大参照レイヤ追加オフセットは、実際の参照レイヤ対応領域(実参照レイヤ対応領域)と、レイヤ間スケール算出に用いる参照レイヤ対応領域(仮想参照レイヤ対応領域)の差を表現するパラメータである。
【0179】
より具体的な拡大参照レイヤ追加オフセットの定義について、
図12を参照して説明する。
図12は、実参照レイヤ対応領域と仮想参照レイヤ対応領域と拡大参照レイヤ追加オフセットの関係を例示する図である。図に示す通り、拡大参照レイヤ左上追加オフセット(A2L、A2T)は、参照レイヤ対応領域(実参照レイヤ対応領域)の左上画素の位置に対する、仮想参照レイヤ対応領域の左上画素の位置を表わす。同様に、拡大参照レイヤ右下追加オフセット(A2R、A2B)は、実参照レイヤ対応領域の右下画素の位置に対する、仮想参照レイヤ対応領域の右下画素の位置を表わす。
【0180】
仮想参照レイヤサイズ(A3W、A3H)は、レイヤ間スケール(補正スケール)の算出に用いるパラメータである。仮想参照レイヤサイズには、例えば、階層符号化データ変換前の参照レイヤ幅(参照レイヤピクチャ幅)が設定されている。
【0181】
なお、対象レイヤに対する特定の参照レイヤに対して、上記のシンタックス要素がSPSに含まれない場合、拡大参照レイヤ追加オフセットの各値と仮想参照レイヤサイズの各値には規定値を設定する。その際、拡大参照レイヤ追加オフセットの規定値としては0の値を用い、仮想参照レイヤサイズ(仮想参照レイヤ幅と仮想参照レイヤ高)の規定値としては参照レイヤサイズ(参照レイヤ幅と参照レイヤ高)を用いることが好ましい。この場合、仮想参照レイヤ対応領域と参照レイヤ対応領域のサイズが一致し、加えて、仮想参照レイヤと参照レイヤのサイズが一致する。これは典型的な設定であるため、換言すると、前述の既定値を用いることで、典型的な設定の場合に拡大参照レイヤ追加オフセットや仮想参照レイヤサイズの情報を省略できるため、符号量を削減できる。
【0182】
(タイル設定部13)
タイル設定部13は、入力されるパラメータセットに基づいてピクチャのタイル情報を導出して出力する。
【0183】
本実施形態において、タイル設定部13により生成されるタイル情報は、概略的には、タイル構造情報とタイル依存情報を含む。
【0184】
タイル構造情報は、ピクチャ内のタイルの個数と各タイルの大きさが示す情報である。なお、タイルがピクチャを格子状に分割して得られる部分領域に対応付ける場合、ピクチャ内のタイルの個数は、水平方向に含まれるタイルの個数と垂直方向に含まれるタイルの個数の積に等しい。
【0185】
タイル依存情報は、ピクチャ内のタイル復号時の依存性を示す情報である。ここで、タイル復号時の依存性は、タイルがタイル外の領域に係る復号画素やシンタックス値に依存する程度を示す。なお、タイル外の領域には、対象ピクチャ上のタイル外の領域、参照ピクチャ上のタイル外の領域、ベース復号ピクチャ上のタイル外の領域が含まれる。
【0186】
以下、タイル設定部13により生成されるタイル情報の詳細について、入力されるパラメータセットに基づく導出過程を含めて説明する。
【0187】
タイル情報は、パラメータセットに含まれるSPSやPPSに含まれるタイル情報に係るシンタックスの値に基づいて導出される。タイル情報に係るシンタックスについて
図13を参照して説明する。
【0188】
(PPSタイル情報)
図13はパラメータセットに含まれるPPSの復号時にパラメータ復号部12により参照されるシンタックス表の一部であって、タイル情報に係る部分である。
【0189】
PPSに含まれるタイル情報に係るシンタックス(PPSタイル情報)には、複数タイル有効フラグ(tiles_enabled_flag)が含まれる。複数タイル有効フラグの値が1の場合、ピクチャが2個以上のタイルから構成されることを示す。当該フラグの値が0の場合、ピクチャが1個のタイルから構成される、すなわちピクチャとタイルが一致することを示す。
【0190】
複数タイルが有効(tiles_enabled_flagが真)である場合、PPSタイル情報には、タイル列数を示す情報(num_tile_columns_minus1)、タイル行数を示す情報(num_tiles_rows_minus1)、および、タイルサイズの均等性を示すフラグ(uniform_spacing_flag)が追加で含まれる。
【0191】
num_tile_columns_minus1は、ピクチャの水平方向に含まれるタイルの数から1を引いた値に相当するシンタックスである。また、num_tile_rows_minus1は、ピクチャの垂直方向に含まれるタイルの数から1を引いた値に相当するシンタックスである。したがって、ピクチャに含まれるタイル数NumTilesInPicは次式により計算される。
【0192】
NumTilesInPic = (num_tile_columns_minus1+1) * (num_tile_rows_minus1+1)
uniform_spacing_flagの値が1の場合、ピクチャに含まれるタイルサイズが均等、すなわち、各タイルの幅と高さが等しいことを示す。uniform_spacing_flagの値が0の場合、ピクチャに含まれるタイルサイズが不均等、すなわち、ピクチャに含まれるタイルの幅や高さが必ずしも一致しないことを示す。
【0193】
ピクチャに含まれるタイルサイズが不均等(uniform_spacing_flagが0)の場合、PPSタイル情報には、ピクチャに含まれる各タイル列に対して、タイル幅を示す情報(column_width_minus1[i])、および、ピクチャに含まれる各タイル行に対して、タイルの高さを示す情報(row_height_minus1[i])が追加で含まれる。
【0194】
また、複数タイルが有効である場合、PPSタイル情報には、タイル境界をまたぐループフィルタの適用有無を示すフラグ(loop_filter_across_tiles_enabled_flag)を追加で含む。
【0195】
ここで、
図14を参照して、タイル行、タイル列とピクチャの関係を説明しておく。
図14は、ピクチャをタイル分割した場合のタイル行とタイル列を例示した図である。
図14の例では、ピクチャは4個のタイル列と3個のタイル行により分割されており、計12個のタイルを含んでいる。例えば、タイル列0(TileCol0)は、タイルT00、T10、T20を含んでいる。また、例えば、タイル行0(TileRow0)は、タイルT00、T01、T02、T03を含んでいる。タイル列iの幅はCTU単位でColWidth[i]と表記される。タイル行jの高さはCTU単位でRowHeight[j]と表記される。したがって、タイル行iに属し、かつ、タイル列jに属するタイルの幅はColWidth[i]、高さはRowHeight[j]となる。
【0196】
上記のPPSタイル情報に基づいて、タイル設定部13は、タイル構造情報を導出する。タイル構造情報には、ラスタスキャンCTBアドレスからタイルスキャンCTBアドレスを導出する配列(CtbAddrRsToTs[ctbAddrRs])、タイルスキャンCTBアドレスからラスタスキャンCTBアドレスを導出する配列(CtbAddrTsToRs[ctbAddrTs])、タイルスキャンCTBアドレス毎のタイル識別子(TileId[ctbAddrTs])、各タイル列の幅(ColumnWidthInLumaSamples[i])、および、各タイル行の高さ(RowHeightInLumaSamples[j])が含まれる。
【0197】
uniform_spacing_flagが1の場合、ピクチャサイズとピクチャ内のタイル数に基づいて各タイル列の幅が計算される。例えば、次式によりi番目のタイル列の幅(ColumnWidthInLumaSamples[i])が計算される。なお、PicWidthInCtbsYは、ピクチャの水平方向に含まれるCTUの数を表す。
【0198】
ColWidth[i] = ( (i+1) * PicWidthInCtbsY ) / ( num_tile_columns_minus1 + 1 ) - ( i * PicWidthInCtbsY ) / ( num_tile_columns_minus1 + 1 )
つまり、ピクチャをタイル列数で等分して得られる(i+1)番目とi番目の境界位置の差分として、i番目のタイル列のCTU単位の幅であるColWidth[i]が計算される。
【0199】
一方、uniform_spacing_flagが0の場合、(column_width_minus1[i]+1)の値がi番目のタイル列のCTU単位の幅ColWidth[i]に設定される。
【0200】
ColumnWidthInLumaSamples[i]の値は、ColWidth[i]にCTUの画素単位の幅を乗じて得られる値を設定する。
【0201】
なお、タイル行のCTU単位の高さRowHeight[j]についても、上記タイル列の幅と同様の方法で計算される。PicWidthInCtbsYの代わりにPicHeightInCtbsY(ピクチャの垂直方向に含まれるCTU数)、num_tiles_columns_minus1の代わりにnum_tiles_row_minus1、column_width_minus1[i]の代わりにrow_height_minus1[i]を用いる。
【0202】
RowHeightInLumaSamples[j]の値は、RowHeight[j]にCTUの画素単位の高さを乗じて得られる値を設定する。
【0203】
次に、タイルスキャンCTBアドレスからラスタスキャンCTBアドレスを導出する配列(CtbAddrTsToRs[ctbAddrTs])の導出方法を説明する。
【0204】
まず、i番目のタイル列の境界位置を示すcolBd[i]、および、j番目のタイル行の境界位置を示すrowBd[j]を次式により計算する。なお、colBd[0]とrowBd[0]の値は0とする。
【0205】
colBd[i+1] = colBd[i] + colWidth[i]
rowBd[j+1] = rowBd[j] + rowHeight[j]
続いて、ピクチャに含まれるラスタスキャンCTUアドレス(ctbAddrRs)で識別されるCTUに関連付けられるタイルスキャンCTUアドレスを以下の手順で導出する。
【0206】
対象CTUのピクチャ内CTU単位での位置(tbX、tbY)をctbAddrRsから次式により計算する。ここで演算子「%」は剰余演算子であり、「A % B」は整数Aを整数Bで割った余りを意味する。
【0207】
tbX = ctbAddrRs % PicWidthInCtbsY
tbY = ctbAddrRs / PicWidthInCtbsY
続いて、対象CTUを含むタイルのピクチャ内のタイル単位の位置(tileX、tileY)を導出する。tileXには、評価式(tbX >= colBd[i])が真となる最大のiの値が設定される。同様に、tileYには、評価式(tbY >= rowBd[j])が真となる最大のjの値が設定される。
【0208】
CtbAddrRsToTs[ctbAddrRs]の値には、(tileX、tileY)のタイルよりもタイルスキャン順で先行するタイルに含まれるCTUの和と、(tileX、tileY)のタイル内で(tbX - colBd[tileX]、tbY - rowBd[tileY])に位置するCTUの当該タイル内ラスタスキャン順の位置を加算した値が設定される。
【0209】
CtbAddrTsToRs[ctbAddrTs]の値には、CtbAddrRsToTs[k]がctbAddrTsと一致する場合のkの値が設定される。
【0210】
TileId[ctbAddrTs]の値には、ctbAddrTsで示されるCTUが属するタイルのタイル識別子が設定される。ピクチャ内でタイル単位で(tileX、tileY)の位置にあるタイルのタイル識別子tileId(tileX、tileY)は、次式により計算される。
【0211】
tileId(tileX,tileY) = (tileY * (num_tile_cols_minus1 + 1)) + tileX
(スライス復号部14)
スライス復号部14は、入力されるVCL NAL、パラメータセット、および、タイル情報に基づいて復号ピクチャを生成して出力する。
【0212】
図15を用いて、スライス復号部14の概略的構成を説明する。
図15は、スライス復号部14の概略的構成を示した機能ブロック図である。
【0213】
スライス復号部14は、スライスヘッダ復号部141、スライス位置設定部142、CTU復号部144を備えている。CTU復号部144は、さらに、予測残差復元部1441、予測画像生成部1442、および、CTU復号画像生成部1443を含んでいる。
【0214】
(スライスヘッダ復号部)
スライスヘッダ復号部141は、入力されるVCL NALとパラメータセットに基づいてスライスヘッダを復号し、スライス位置設定部142、スキップスライス判定部143、および、CTU復号部144に出力する。
【0215】
スライスヘッダには、ピクチャ内のスライス位置に係る情報(SHスライス位置情報)、および、スキップスライスに係る情報(SHスキップスライス情報)が含まれる。
【0216】
スライスヘッダには、スライス位置情報として、ピクチャ内先頭スライスフラグ(first_slice_segment_in_pic_flag)が含まれる。ピクチャ内先頭スライスフラグが1の場合、対象スライスが復号順でピクチャ内の先頭に位置することを示す。ピクチャ内先頭スライスフラグが0の場合は、対象スライスが復号順でピクチャ内の先頭に位置しないことを示す。
【0217】
また、スライスヘッダには、スライス位置情報として、スライスPPS識別子(slice_pic_parameter_set_id)が含まれる。スライスPPS識別子は、対象スライスに関連付けられるPPSの識別子であり、当該PPS識別子を介して、対象スライスに関連付けるべきタイル情報が特定される。
【0218】
(スライス位置設定部)
スライス位置設定部142は、入力されるスライスヘッダとタイル情報に基づいてピクチャ内のスライス位置を特定してCTU復号部144に出力する。スライス位置設定部142で導出されるピクチャ内のスライス位置は、スライスに含まれる各CTUのピクチャ内での位置を含む。
【0219】
(CTU復号部)
CTU復号部144は、概略的には、入力されるスライスヘッダ、スライスデータ、および、パラメータセットに基づいて、スライスに含まれる各CTUに対応する領域の復号画像を復号することで、スライスの復号画像を生成する。スライスの復号画像は、入力されるスライス位置の示す位置に、復号ピクチャの一部として出力される。CTUの復号画像は、CTU復号部144内部の予測残差復元部1441、予測画像生成部1442、および、CTU復号画像生成部1443により生成される。予測残差復元部1441は、入力のスライスデータに含まれる予測残差情報(TT情報)を復号して対象CTUの予測残差を生成して出力する。予測画像生成部1442は、入力のスライスデータに含まれる予測情報(PT情報)の示す予測方法と予測パラメータに基づいて予測画像を生成して出力する。その際、必要に応じて、参照ピクチャの復号画像や符号化らメータが利用される。CTU復号画像生成部1443は、入力される予測画像と予測残差を加算して対象CTUの復号画像を生成して出力する。
【0220】
(予測画像生成部の詳細)
前述の予測画像生成部1442による予測画像生成処理のうち、レイヤ間画像予測が選択された場合の予測画像生成処理の詳細を説明する。
【0221】
レイヤ間画像予測が適用される対象CTUに含まれる対象画素の予測画素値の生成処理は次の手順で実行される。まず、参照ピクチャ位置導出処理を実行し、対応参照位置を導出する。ここで、対応参照位置とは、対象レイヤピクチャ上の対象画素に対応する参照レイヤ上の位置である。なお、対象レイヤと参照レイヤの画素は必ずしも1対1に対応しないため、対応参照位置は、参照レイヤにおける画素単位未満の精度で表現される。次に、導出した対応参照位置を入力として補間フィルタ処理を実行することで、対象画素の予測画素値が生成される。
【0222】
対応参照位置導出処理では、パラメータセットに含まれるピクチャ情報、レイヤ間画素対応情報、および、スケール補正情報に基づいて、対応参照位置を導出する。対応参照位置導出処理の詳細手順について、
図1を参照して説明する。
図1は、対応参照位置導出処理のフロー図である。対応参照位置導出処理は、以下のS101〜S103の処理を順次実行することで実現される。
【0223】
(S101)対象レイヤピクチャサイズ、参照レイヤピクチャサイズ、レイヤ間画素対応情報、および、スケール補正情報に基づいて仮想参照レイヤ対応領域サイズを計算する。
【0224】
仮想参照レイヤ対応領域サイズ、すなわち、仮想参照レイヤ対応領域の幅VSRLWと高さVSRLHが次式により計算される。
【0225】
VSRLW = currPicW - SRLLOffset + SRLAddLOffset - SRLROffset + SRLAddROffset
VSRLH = currPicH - SRLTOffset + SRLAddTOffset - SRLBOffset + SRLAddBOffset
ここで、currPicWとcurrPicHは対象ピクチャの高さと幅であり、対応参照位置導出処理の対象が輝度画素の場合は、対象レイヤにおけるSPSのピクチャ情報に含まれるpic_width_in_luma_samplesとpic_height_in_luma_samplesの各シンタックス値と一致する。対象が色差の場合は、色フォーマットの種類に応じて前記シンタックス値を変換した値を使用する。例えば色フォーマットが4:2:2の場合、各シンタックス値の半分の値を使用する。また、refPicWとrefPicHは参照ピクチャの高さと幅であり、対象が輝度画素の場合、参照レイヤにおけるSPSのピクチャ情報に含まれるpic_width_in_luma_samplesとpic_height_in_luma_samplesの各シンタックス値と一致する。
【0226】
また、SRLLOffsetは拡大参照レイヤ左オフセット、SRLROffsetは拡大参照レイヤ右オフセット、SRLTOffsetは拡大参照レイヤ上オフセット、SRLBOffsetは拡大参照レイヤ下オフセットの値である。
【0227】
また、SRLAddLOffsetは拡大参照レイヤ左追加オフセット、SRLAddROffsetは拡大参照レイヤ右追加オフセット、SRLAddTOffsetは拡大参照レイヤ上追加オフセット、SRLAddBOffsetは拡大参照レイヤ下追加オフセットの値である。
【0228】
上記式によれば、概略的には、仮想参照レイヤ対応領域サイズが、現ピクチャサイズと拡大参照レイヤオフセットと拡大参照レイヤ追加オフセットとの和により算出されている。
【0229】
(S102)次に、S101で導出した仮想参照レイヤ対応領域サイズと、スケール補正情報に含まれる仮想参照レイヤサイズに基づいて、レイヤ間スケール水平成分scaleXとレイヤ間スケール垂直成分scaleYが次式により計算される。
【0230】
scaleX = rlVirtualW ÷ VSRLW
scaleY = rlVirtualH ÷ VSRLH
ここで、rlVirtualWは仮想参照レイヤ幅、rlVirtualHは仮想参照レイヤ高であり、パラメータセット復号部12で復号されたスケール補正情報に含まれる。すなわち、変数rlVirtualWにはrl_virtual_width[i]の値が、変数rlVirtualHにはrl_virtual_height[i]の値が設定される。
【0231】
上記式によれば、概略的には、レイヤ間スケールは、仮想参照レイヤサイズ(仮想参照レイヤ幅、または、仮想参照レイヤ高)を仮想参照レイヤ対応領域サイズ(仮想参照レイヤ対応領域幅、または、仮想参照レイヤ対応領域高)で除算することで導出される。換言すると、レイヤ間スケールは、仮想参照レイヤサイズと仮想参照レイヤ対応領域サイズの比として計算される。
【0232】
なお、レイヤ間スケールの値として、除算の近似値を設定してもよい。例えば、整数表現でレイヤ間スケール(scaleIntX、scaleIntY)は次式により導出できる。
【0233】
scaleIntX = ((rlVirtualW << 16) + (VSRLW >> 1)) / VSRLW
scaleIntY = ((rlVirtualH << 16) + (VSRLH >> 1)) / VSRLH
ここで、演算子「/」は割り算の商を表わす。「<< 16」の左シフト演算は算出されるレイヤ間スケールの整数表現の精度を維持するための処理であり、必ずしも16である必要はなく他の正の整数値の左シフト演算であってもよい。
【0234】
(S103)レイヤ間画素対応情報とレイヤ間スケールに基づいて参照位置を計算する。対象レイヤ画素に対応する参照位置の水平成分xRefと垂直成分yRefは次式により計算される。なお、xRefは参照レイヤピクチャの左上画素を基準とする水平方向の位置を、yRefは同左上画素を基準とする垂直方向の位置をそれぞれ参照レイヤピクチャの画素単位で表わす。
【0235】
xRef = (xP - SRLLOffset) * scaleX
yRef = (yP - SRLTOffset) * scaleY
ここで、xPとyPは対象レイヤピクチャ左上画素を基準とする対象レイヤ画素の水平成分と垂直成分をそれぞれ対象レイヤピクチャの画素単位で表わす。
【0236】
上記の式では、参照レイヤ対応領域の左上画素に対する対象画素の位置をレイヤ間サイズ比率によりスケールした値を参照位置としている。なお、上記の計算を整数表現による近似演算により計算してもよい。例えば、前述のscaleIntXとscaleIntYを用いて16分の1画素精度の参照位置xRef16とyRef16を次式により計算できる。
【0237】
xRef16 = ((xP - SRLLOffset) * scaleIntX + (1 << 11) ) >> 12
yRef16 = ((yP - SRLTOffset) * scaleIntY + (1 << 11) ) >> 12
また、対象が色差の画素である場合に、輝度と色差の位相差を考慮した補正を行っても構わない。
【0238】
以上説明した対応参照位置導出処理により、対象レイヤピクチャ上の対象画素に対応する参照レイヤ上の位置を対応参照位置として導出できる。対応参照位置導出処理では、レイヤ間スケールを、実際の参照レイヤピクチャと参照レイヤ対応領域のサイズの比ではなく、スケール補正情報に基づき導出される仮想参照レイヤサイズと仮想参照レイヤ対応領域サイズの比として導出している。そのため、注目領域抽出に代表される目的で階層符号化データを変換する場合に、変換前の階層符号化データにおける参照レイヤサイズと等しい仮想参照レイヤサイズ、および、変換前の階層符号化データにおける参照レイヤ対応領域サイズと等しい仮想参照レイヤ対応領域サイズを、それぞれ変換後の階層符号化データの復号時に導出してレイヤ間スケールを導出できる。したがって、変換の前後でレイヤ間スケールを同一の値に維持できる。
【0239】
補間フィルタ処理では、上記対応参照位置導出処理で導出した対応参照位置に相当する位置の画素値を、参照レイヤピクチャ上の、前記対応参照位置近傍の画素の復号画素に補間フィルタを適用することで生成する。
【0240】
[付記事項1:位相補正項]
上記の階層動画像復号装置1の予測画像生成部1442の処理や、変形例1、および、変形例2に記載の処理では、概略的には、拡張レイヤ(対象レイヤ)上の距離にレイヤ間スケールを乗算し、単位を調整した値を参照位置として導出している。特定の参照レイヤ上画素と対象レイヤの画素の間に整数画素以下の位相差がある場合、その位相差を補正するパラメータを追加して参照位置を計算してもよい。例えば、予測画像生成部1442の説明で上げた16分の1画素精度の参照位置は次式により計算できる。
【0241】
xRef16 = ((xP - SRLLOffset) * scaleIntX + addX + (1 << 11) ) >> 12
yRef16 = ((yP - SRLTOffset) * scaleIntY + addY + (1 << 11) ) >> 12
ここで、addXとaddYはそれぞれ垂直方向と水平方向の位相のずれに対応する量であり、4分の1画素精度で表現された垂直方向の位相差であるphaseX、同様に水平方向の位相差であるphaseYを用いて次式により計算される。
【0242】
addX = ( ScaleFactorX * phaseX + 2 ) >> 2
addY = ( ScaleFactorY * phaseY + 2 ) >> 2
対象レイヤと参照レイヤの間に位相差がある場合は、上記の手順で参照位置を導出することで、正確な参照位置を計算できる。
【0243】
(動画像復号装置1の効果)
以上説明した本実施形態に係る階層動画像復号装置1(階層画像復号装置)は、パラメータセットを復号するパラメータセット復号部12と、参照レイヤピクチャの復号画素を参照してレイヤ間予測により予測画像を生成する予測画像生成部1442を備えている。パラメータセット復号部12はスケール補正情報を復号し、予測画像生成部1442は、該スケール補正情報から導出されるレイヤ間スケールの値を用いて対象レイヤ上の画素に対する対応参照位置を導出する。
【0244】
したがって、上記階層動画像復号装置1は、注目領域抽出に代表される目的で階層符号化データを変換する場合であっても、変換の前後で同一のレイヤ間スケールを導出できる。そのため、変換後の符号化データにおいて、上位レイヤの画素と下位レイヤの画素の位置関係の正確さを維持することでレイヤ間予測の予測残差が減少するため、より少ない符号量の符号化データを復号して上位レイヤの復号ピクチャを出力できる。
【0245】
[変形例1:別のスケール補正情報の例]
上記階層動画像復号装置1の説明では、スケール補正情報に含まれる以下のパラメータに基づいてレイヤ間スケールを計算する例を説明した。
・A2TL:拡大参照レイヤ左上追加オフセット
・A2BR:拡大参照レイヤ右下追加オフセット
・A3WH:仮想参照レイヤサイズ
上記とは異なるパラメータをスケール補正情報としてパラメータセットから復号し、該パラメータに基づきレイヤ間スケールを計算してもよい。例えば、以下のパラメータを用いることができる。
・A4S:代替レイヤ間スケール
・A4Sd:代替レイヤ間スケール差分
・A5WH:仮想参照レイヤ対応領域サイズ
・A5WHd:仮想参照レイヤ対応領域サイズ差分
・A3WHd:仮想参照レイヤサイズ差分
以下では、各パラメータの詳細を説明する。
【0246】
[変形例1A:代替レイヤ間スケール]
パラメータセット復号部12は、入力される対象レイヤ符号化データから、スケール補正情報を復号する。スケール補正情報は、例えば、SPS拡張に含まれており、
図16に示すシンタックス表に従って復号される。
図16は、パラメータセット復号部12がSPS復号時に参照するシンタックス表の一部であって、スケール補正情報に係る部分である。
【0247】
代替レイヤ間スケール(A4S)は、レイヤ間スケールの算出に用いるパラメータである。概略的には、代替レイヤ間スケールは、直接レイヤ間スケールの値として用いられる。SPSには、代替レイヤ間スケールとして、特定の参照レイヤに対応する代替レイヤ間スケール水平成分(alt_scale_x[i])、および、代替レイヤ間スケール垂直成分(alt_scale_y[i])が含まれる。なお、配列の添え字([i])は、SPS中で何個目のパラメータかを表わす。添え字iの代替レイヤ間スケールは、添え字iのスケール補正参照レイヤ識別子が示すレイヤを参照レイヤとする場合の代替レイヤ間スケールである。
【0248】
予測画像生成部1442におけるスケール導出処理では、以下のS201〜S203の手順によりレイヤ間スケールが計算される。
【0249】
(S201)レイヤ間予測に用いる参照レイヤに対して代替レイヤ間スケールが伝送されているか否かを判定する。具体的には、スケール補正情報に含まれるスケール補正参照レイヤ識別子の中に、参照レイヤのレイヤ識別子が含まれる場合に、代替レイヤ間スケールが伝送されていると判定し、それ以外の場合に、代替レイヤ間スケールが伝送されていないと判定する。代替レイヤ間スケールが伝送されている場合、S202に進み、伝送されていない場合、S203に進む。
【0250】
(S202)レイヤ間スケールを参照レイヤに対応する代替レイヤ間スケールを用いて設定して処理を終了する。レイヤ間スケールは次式により導出される。
【0251】
scaleX = alt_scale_x[i]
scaleY = alt_scale_y[i]
ここで、参照レイヤのレイヤ間識別子をref_layer_idとした場合、i はref_layer_id = scale_adjust_ref_layer_id[i] を満たす。
【0252】
(S203)レイヤ間スケールを参照レイヤ対応領域サイズに対する参照レイヤサイズの比として算出して処理を終了する。レイヤ間スケールは次式により計算される。
【0253】
scaleX = ((rlW << 16) + (srlW >> 1)) / srlW
scaleY = ((rlH << 16) + (srlH >> 1)) / srlH
ここで、rlWとrlHはそれぞれ参照レイヤピクチャの幅と高さを表し、srlWとsrlHはそれぞれ参照レイヤ対応領域の幅と高さを表わす。
【0254】
なお、代替レイヤ間スケール水平成分と代替レイヤ間スケール垂直成分の値域は、代替レイヤ間スケールを用いない場合のレイヤ間スケールと同等である必要がある。上記の手順S203に記載の式でレイヤ間スケールを導出する場合、参照レイヤピクチャの最大幅をrlMaxWとした場合、scaleXの値域は0以上、(rlMaxW << 16)以下の整数となる。したがって、代替レイヤ間スケールも同等の値域を表現可能な符号でパラメータセットに含まれている必要がある。なお、空間スケーラビリティの倍率が1以上という制約がある場合には、参照レイヤピクチャの幅rlW(高さrlH)は、参照レイヤ対応領域の幅srlW(高さsrlH)以上であるから、scaleXの最大値は、srlWがrlWに等しい場合であり、この場合、scaleX=1<<16となる。従って、代替レイヤ間スケールの値域は0以上(1<<16)以下の整数に制限される。したがって、そのような場合は、代替レイヤ間スケールを16ビットの固定長符号を用いてパラメータセットに含むことが好ましい。また、空間スケーラビリティの倍率(参照レイヤの解像度に対する対象レイヤの解像度の比)の最大値が制限されている場合に、制限に応じた値域の代替レイヤ間スケールを復号して用いてもよい。例えば、空間スケーラビリティの倍率が4以下という制約がある場合には、scaleXの最小値は、srlWが(rlW<<4)に等しい場合であり、この場合、scaleX=1<<12となる。従って、scaleXの範囲は1<<12以上、1<<16以下である。scaleYについても同様の範囲となる。scaleX、scaleYの最小値をminScaleと置いた場合、alt_scale_x[i]、alt_scale_y[i]として、最終的な代替レイヤ間スケールの値からminScaleを減算した値を符号化しても良い。この場合、符号化データに含まれる代替レイヤ間スケールalt_scale_x[i]、alt_scale_y[i]から実際に用いられる代替レイヤ間スケールAltScaleX[i]、AltScaleY[i]が導出される。このとき、予測画像生成部1442は、(S202)の代わりに(S202´)を用いる。
【0255】
(S202´)レイヤ間スケールを参照レイヤに対応する代替レイヤ間スケールを用いて設定して処理を終了する。レイヤ間スケールは次式により導出される。
【0256】
scaleX = alt_scale_x[i] + minScale
scaleY = alt_scale_y[i] + minScale
上記のようにminScaleの値を減算した代替レイヤ間スケールをSPSから復号することで、代替レイヤ間スケールの値域を狭くできるため、代替レイヤ間スケールの符号量を抑制できる。
【0257】
代替レイヤ間スケールを用いる場合、階層符号化データの変換前後のレイヤ間スケールを維持できる利点に加え、復号時のレイヤ間スケール導出処理が簡略化できるという効果がある。
【0258】
[変形例1B:代替レイヤ間スケール差分]
パラメータセット復号部12は、入力される対象レイヤ符号化データから、スケール補正情報を復号する。スケール補正情報は、例えば、SPS拡張に含まれており、
図17に示すシンタックス表に従って復号される。
図17は、パラメータセット復号部12がSPS復号時に参照するシンタックス表の一部であって、スケール補正情報に係る部分である。
【0259】
代替レイヤ間スケール差分(A4Sd)は、レイヤ間スケールの算出に用いるパラメータである。概略的には、代替レイヤ間スケール差分を、参照レイヤ対応領域サイズと参照レイヤサイズの比により導出されるレイヤ間スケールに加算することで、最終的なレイヤ間スケールを算出する。代替レイヤ間スケール差分として、パラメータセットには、特定の参照レイヤに対応する代替レイヤ間スケール水平成分差分(alt_scale_x_diff[i])、および、代替レイヤ間スケール垂直成分差分(alt_scale_y_diff[i])が含まれる。なお、添え字iの意味は代替レイヤ間スケールの場合と同じである。
【0260】
予測画像生成部1442におけるスケール導出処理では、次式によりレイヤ間スケールが計算される。
【0261】
scaleX = (((rlW << 16) + (srlW >> 1)) / srlW) + alt_scale_x_diff[i]
scaleY = (((rlH << 16) + (srlH >> 1)) / srlH) + alt_scale_y_diff[i]
すなわち、参照レイヤ対応領域サイズと参照レイヤサイズの比と、代替レイヤ間スケール差分の和をレイヤ間スケールに設定している。
【0262】
代替レイヤ間スケール差分を用いる場合、代替レイヤ間スケールを用いる場合に較べてレイヤ間スケールの演算が増えるが、SPSに含まれる代替レイヤ間スケール差分の符号量が代替レイヤ間スケールに較べて少ないという効果がある。一般に、注目領域抽出を行う場合には、変換前後で参照レイヤ対応領域サイズと参照レイヤサイズの比が近くなるよう変換されるため、代替レイヤ間スケール差分の値は小さくなる。また、代替レイヤ間スケール差分は負の値も取りえる。したがって、代替レイヤ間スケール差分は、正負の整数を表現できる符号であって、より絶対値の小さい値に対してより短い符号が割り当てられる符号によりパラメータセットに含まれていることが好ましい。例えば、代替レイヤ間スケール差分水平成分または垂直成分は、HEVCで規定されている符号付き整数用の指数ゴロム符号(se(v))を用いてパラメータセット(SPSまたはVPS)に含めることができる。
【0263】
なお、代替レイヤ間スケール差分の最小値は−1、最大値は1と考えられることから、代替レイヤ間スケール差分alt_scale_x_diff[i]、alt_scale_x_diff[j]の代わりに、代替レイヤ間スケール差分を用いるかを示すフラグalt_scale_x_diff_present_flag[i]、alt_scale_y_diff_present_flag[i]と、代替レイヤ間スケール差分を用いる場合に代替レイヤ間スケール差分の符号を表すフラグalt_scale_x_diff_sign_flag[i]、alt_scale_y_diff_sign _flag[i]に分けて符号化しても良い。
【0264】
予測画像生成部1442におけるスケール導出処理では、次式によりレイヤ間スケールが計算される。
【0265】
scaleX = (((rlW << 16) + (srlW >> 1)) / srlW) + alt_scale_x_diff_present_flag[i] ? 1 - alt_scale_x_diff_sign_flag[i]*2 : 0
scaleY = (((rlH << 16) + (srlH >> 1)) / srlH) + alt_scale_y_diff_present_flag[i] ? 1 - alt_scale_y_diff_sign_flag[i]*2 : 0
「?」は条件演算子であって、「 a ? b : c 」の値は、a が真ならば b、a が偽ならば cとなる。
【0266】
この場合のスケール補正情報は、例えば、SPS拡張に含まれており、
図18に示すシンタックス表に従って復号される。
図18は、パラメータセット復号部12がSPS復号時に参照するシンタックス表の一部であって、スケール補正情報に係る部分である。
【0267】
[変形例1C:仮想参照レイヤ対応領域直接サイズ]
仮想参照レイヤ対応領域直接サイズ(A5WH)は、レイヤ間スケール算出に用いる仮想参照レイヤ対応領域サイズの算出に用いるパラメータである。概略的には、仮想参照レイヤ対応領域直接サイズは、仮想参照レイヤ対応領域サイズの値として直接用いられる。レイヤ間スケールの値は、予測画像生成部1442で説明した処理と同じ方法で、仮想参照レイヤ対応領域サイズに対する仮想参照レイヤサイズの比として計算される。
【0268】
仮想参照レイヤ対応領域直接サイズとして、パラメータセットには、特定の参照レイヤに対応する仮想参照レイヤ対応領域幅(srl_virtual_width[i])、および、仮想参照レイヤ対応領域高(srl_virtual_height[i])が含まれる。なお、添え字iの意味は代替レイヤ間スケールの場合と同じである。仮想参照レイヤ対応領域幅と高さはそれぞれピクチャサイズの高さや幅と同じ符号でパラメータセットに符号化することが好ましい。
【0269】
予測画像生成部1442におけるスケール導出処理では、次式により仮想参照レイヤ対応領域サイズが計算される。
【0270】
VSRLW = srl_virtual_width[i]
VSRLH = srl_virtual_height[i]
なお、レイヤ間予測画像生成処理に用いる参照レイヤに対応する仮想参照レイヤ対応領域直接サイズがパラメータセットに存在しない場合、参照レイヤ対応領域サイズの値を仮想参照レイヤ対応領域直接サイズの値として用いる。
【0271】
仮想参照レイヤ対応領域直接サイズを用いる場合、予測画像生成部1442で説明した方法に較べて、仮想参照レイヤ対応領域サイズの導出処理が簡略化できる利点がある。
【0272】
[変形例1D:仮想参照レイヤ対応領域差分サイズ]
仮想参照レイヤ対応領域差分サイズ(A5WHd)は、レイヤ間スケール算出に用いる仮想参照レイヤ対応領域サイズの算出に用いるパラメータである。概略的には、仮想参照レイヤ対応領域差分サイズを、参照レイヤ対応領域サイズに加算することで、仮想参照レイヤ対応領域サイズを算出する。レイヤ間スケールの値は、予測画像生成部1442で説明した処理と同じ方法で、仮想参照レイヤ対応領域サイズに対する仮想参照レイヤサイズの比として計算される。
【0273】
仮想参照レイヤ対応領域差分サイズとして、パラメータセットには、特定の参照レイヤに対応する仮想参照レイヤ対応領域差分幅(srl_virtual_width_diff[i])、および、仮想参照レイヤ対応領域差分高(srl_virtual_height_diff[i])が含まれる。なお、添え字iの意味は代替レイヤ間スケールの場合と同じである。
【0274】
予測画像生成部1442におけるスケール導出処理では、次式により仮想参照レイヤ対応領域サイズが計算される。
【0275】
VSRLW = currPicW - SRLLOffset - SRLROffset + srl_virtual_width_diff[i]
VSRLH = currPicH - SRLTOffset - SRLBOffset + srl_virtual_height_diff[i]
なお、レイヤ間予測画像生成処理に用いる参照レイヤに対応する仮想参照レイヤ対応領域差分サイズがパラメータセットに存在しない場合、仮想参照レイヤ対応領域差分の幅と高さはともに0に設定される。この場合、上記の式で導出される仮想参照レイヤ対応領域サイズは、参照レイヤ対応領域サイズに一致する。
【0276】
仮想参照レイヤ対応領域差分サイズを用いる場合、予測画像生成部1442で説明した方法に較べて、仮想参照レイヤ対応領域サイズの導出処理が簡略化できる利点がある。
【0277】
[変形例1E:仮想参照レイヤサイズ差分]
仮想参照レイヤサイズ差分(A3WHd)は、レイヤ間スケール算出に用いる仮想参照レイヤサイズの算出に用いるパラメータである。概略的には、仮想参照レイヤ対応領域サイズ差分を、参照レイヤサイズに加算することで、仮想参照レイヤサイズを算出する。レイヤ間スケールの値は、予測画像生成部1442で説明した処理と同じ方法で、仮想参照レイヤ対応領域サイズに対する仮想参照レイヤサイズの比として計算される。
【0278】
仮想参照レイヤサイズ差分として、パラメータセットには、特定の参照レイヤに対応する仮想参照レイヤ差分幅(rl_virtual_width_diff[i])、および、仮想参照レイヤ差分高(rl_virtual_height_diff[i])が含まれる。なお、添え字iの意味は代替レイヤ間スケールの場合と同じである。
【0279】
予測画像生成部1442におけるスケール導出処理では、次式により仮想参照レイヤ対応領域サイズが計算される。
【0280】
rlVirtualW = refPicW + rl_virtual_width_diff[i]
rlVirtualH = refPicH + rl_virtual_height_diff[i]
ここで、refPicWとrefPicHは予測画像生成処理に用いられる参照レイヤピクチャサイズの幅と高さにそれぞれ相当する。
【0281】
なお、レイヤ間予測画像生成処理に用いる参照レイヤに対応する仮想参照レイヤサイズ差分がパラメータセットに存在しない場合、仮想参照レイヤサイズ差分の幅と高さはともに0に設定される。この場合、上記の式で導出される仮想参照レイヤサイズは、参照レイヤサイズに一致する。
【0282】
仮想参照レイヤ対応領域差分サイズを用いる場合、予測画像生成部1442で説明した仮想参照レイヤサイズを直接送る方法に較べて、パラメータセット内のスケール補正情報の符号量を低減できるという利点がある。
【0283】
[変形例1の付記事項:スケール補正情報のパラメータ組み合わせ]
スケール補正情報に含まれる各種のレイヤ間スケール導出に係るパラメータについて説明したが、ここではパラメータの好適な組み合わせを列挙する。
【0284】
まず、既に説明したレイヤ間スケール導出に係るパラメータを再度列挙する。
・A2TL:拡大参照レイヤ左上追加オフセット
・A2BR:拡大参照レイヤ右下追加オフセット
・A3WH:仮想参照レイヤサイズ
・A3WHd:仮想参照レイヤサイズ差分
・A4S:代替レイヤ間スケール
・A4Sd:代替レイヤ間スケール差分
・A5WH:仮想参照レイヤ対応領域サイズ
・A5WHd:仮想参照レイヤ対応領域サイズ差分
次に、上記の記号を用いて、スケール補正情報を構成する好適なパラメータの組み合わせを列挙する。
・Comb1:A2TL、A2BR、A3WH
・Comb2:A2TL、A2BR、A3WHd
・Comb3:A5WH、A3WH
・Comb4:A5WH、A3WHd
・Comb5:A5WHd、A3WH
・Comb6:A5WHd、A3WHd
・Comb7:A4S
・Comb8:A4Sd
上記いずれかのパラメータの組み合わせを含むスケール補正情報をパラメータセットに含めることで、階層符号化データの変換前後でレイヤ間スケールを維持する機能を実現できる。
【0285】
なお、階層動画像復号装置1のパラメータセット復号部12の説明において
図11を参照して説明したスケール補正情報は、上記のComb1に相当する。
【0286】
[変形例2:位相維持との組み合わせ]
階層動画像復号装置1の予測画像生成部1442において、パラメータセットに含まれるスケール補正情報を用いて対応参照位置を導出する方法を説明した。ここでは、上位レイヤの画素と下位レイヤの画素の位置関係を整数画素未満の単位で補正する目的で伝送されるレイヤ間位相対応情報を追加で用いて、対応参照位置を導出する方法を説明する。
【0287】
レイヤ間位相対応情報としては、
図11を参照して説明した拡大参照レイヤ左上追加オフセットを用いる。この場合、拡大参照レイヤ左上追加オフセットは、スケール補正情報の構成要素であり、かつ、レイヤ間位相対応情報の構成要素でもある。
【0288】
レイヤ間スケールは予測画像生成部1442で説明した方法で導出される。以下では、整数表現のレイヤ間スケール(scaleIntX、scaleIntY)を用いるものとして説明する。レイヤ間スケールを用いて、対応参照位置の16分の1画素精度の水平成分xRef16と垂直成分yRef16は以下の手順で計算される。
【0289】
(S401)仮想参照レイヤピクチャ上の対応参照位置の水平成分と垂直成分にそれぞれ相当するxRefOrg16とyRefOrg16を以下の式で導出する。
【0290】
xRefOrg16 = ((xP - SRLLOffset + srl_add_left_offset[i]) * scaleIntX
+ (1 << 11)) >> 12
yRefOrg16 = ((yP - SRLTOffset + srl_add_top_offset[i]) * scaleIntY
+ (1 << 11)) >> 12
上記の式によれば、仮想参照レイヤ対応領域の左上画素を基準とする対象レイヤ上の対象画素の水平方向の位置(xP - SRLLOffset + srl_add_left_offset[i])をレイヤ間スケールの水平成分(scaleIntX)の値を乗じた値を16分の1画素精度に調整した値を仮想参照レイヤピクチャ上の対応参照位置の水平成分(xRefOrg16)に設定している。垂直成分も同様である。
【0291】
(S402)仮想参照レイヤピクチャ左上画素を基準とする参照レイヤピクチャ左上画素の位置の水平成分と垂直成分にそれぞれ相当するxRefOffsetとyRefOffsetを次式により導出する。
【0292】
xRefOffset = (srl_add_left_offset[i] * scaleIntX + (1 << 15)) >> 16
yRefOffset = (srl_add_top_offset[i] * scaleIntY + (1 << 15)) >> 16
上記の式によれば、拡大参照レイヤ左オフセット(srl_add_left_offset[i])の値にレイヤ間スケールの水平成分(scaleIntX)を乗じた値を1画素精度に調整した値を参照レイヤピクチャ左上画素位置の水平成分(xRefOffset)に設定している。垂直成分も同様である。
【0293】
(S403)対応参照位置の16分の1画素精度の水平成分xRef16と垂直成分yRef16はそれぞれ以下の式で導出される。
【0294】
xRef16 = xRefOrg16 - (xRefOffset << 4)
yRef16 = yRefOrg16 - (yRefOffset << 4)
以上で対応参照位置の導出処理を終了する。
【0295】
上記で説明した対応参照位置の導出処理では、スケール補正情報とレイヤ間位相対応情報を用いて対応参照位置を導出している。したがって、注目領域抽出に代表される目的で、階層符号化データが変換される場合であっても、変換の前後でレイヤ間スケールと対象レイヤの画素と参照レイヤ画素の位置関係を維持できる。
【0296】
なお、スケール補正情報とレイヤ間位相対応情報を用いて対応参照位置を導出する場合のスケール補正情報としては、変形例1で説明した各種のパラメータの組み合わせを用いることもできる。その中でも、特に、以上の説明で利用したComb1またはComb1に相当するスケール補正情報、すなわち、拡大参照レイヤ左上追加オフセットと拡大参照レイヤ右上追加オフセットを含むスケール補正情報を用いることが好適である。この場合、拡大参照レイヤ左上追加オフセットを、スケール補正情報の用途とレイヤ間位相対応情報の用途で共有できるため、パラメータセットの符号量が少ないという利点がある。
【0297】
(階層動画像符号化装置の構成)
図19を用いて、階層動画像符号化装置2の概略構成を説明する。
図19は、階層動画像符号化装置2の概略的構成を示した機能ブロック図である。階層動画像符号化装置2は、対象レイヤの入力画像PIN#Tを、参照レイヤ符号化データDATA#Rを参照しながら符号化して、対象レイヤの階層符号化データDATAを生成する。なお、参照レイヤ符号化データDATA#Rは、参照レイヤに対応する階層動画像符号化装置において符号化済みであるとする。
【0298】
図19に示すように階層動画像符号化装置2は、NAL多重化部21、パラメータセット符号化部22、タイル設定部23、スライス符号化部24、復号ピクチャ管理部16、および、ベース復号部15を備える。
【0299】
NAL多重化部21は、入力される対象レイヤ符号化データDATA#Tと、参照レイヤ符号化データDATA#RとをNALユニットに格納することでNAL多重化した階層動画像符号化データDATAを生成し、外部に出力する。
【0300】
パラメータセット符号化部22は、入力されるタイル情報と入力画像に基づいて、入力画像の符号化に用いるパラメータセット(VPS、SPS、および、PPS)を設定して、対象レイヤ符号化データDATA#Tの一部としてVCL NALの形式でパケット化してNAL多重化部21に供給する。
【0301】
パラメータセット符号化部22が符号化するパラメータセットには、階層動画像復号装置1に関連して説明したピクチャ情報、表示領域情報、および、スケール補正情報が少なくとも含まれる。
【0302】
タイル設定部23は、入力画像に基づいてピクチャのタイル情報を設定して、パラメータセット符号化部22とスライス符号化部24に供給する。例えば、ピクチャサイズをM×N個のタイルに分割することを示すタイル情報を設定する。ここで、M、Nは任意の正の整数である。
【0303】
スライス符号化部24は、入力される入力画像、パラメータセット、タイル情報、および、復号ピクチャ管理部16に記録されている参照ピクチャに基づいて、ピクチャを構成するスライスに対応する入力画像の一部を符号化して、当該部分の符号化データを生成し、対象レイヤ符号化データDATA#Tの一部としてNAL多重化部21に供給する。スライス符号化部24の詳細な説明は後述する。
【0304】
復号ピクチャ管理部16は、既に説明した階層動画像復号装置1の備える復号ピクチャ管理部16と同一の構成要素である。ただし、階層動画像符号化装置2の備える復号ピクチャ管理部16では、内部のDPBに記録されたピクチャを出力ピクチャとして出力する必要はないため、当該出力は省略できる。なお、階層動画像復号装置1の復号ピクチャ管理部16の説明において「復号」として説明した記載は「符号化」と置き換えることで、階層動画像符号化装置2の復号ピクチャ管理部16にも適用できる。
【0305】
ベース復号部15は、既に説明した階層動画像復号装置1の備えるベース復号部15と同一の構成要素であり、詳細説明は省略する。
【0306】
(スライス符号化部)
次に
図20を参照して、スライス符号化部24の構成の詳細を説明する。
図20は、スライス符号化部24の概略的構成を示した機能ブロック図である。
【0307】
図20に示すように、スライス符号化部24は、スライスヘッダ設定部241、スライス位置設定部242、CTU符号化部244を含む。CTU符号化部244は、内部に予測残差符号化部2441、予測画像符号化部2442、CTU復号画像生成部1443を含む。
【0308】
スライスヘッダ設定部241は、入力されるパラメータセットとスライス位置情報に基づいてスライス単位で入力される入力画像の符号化に用いるスライスヘッダを生成する。生成されたスライスヘッダは、スライス符号化データの一部として出力されるとともに、入力画像と合わせてCTU符号化部244に供給される。
【0309】
スライスヘッダ設定部241で生成されるスライスヘッダには、SHスライス位置情報が少なくとも含まれる。
【0310】
スライス位置設定部242は、入力されるタイル情報に基づいてピクチャ内のスライス位置を決定してスライスヘッダ設定部241に供給する。
【0311】
CTU符号化部244は、入力されるパラメータセット、スライスヘッダに基づいて、入力画像(対象スライス部分)をCTU単位で符号化して、対象スライスに係るスライスデータおよび復号画像(復号ピクチャ)を生成して出力する。CTUの符号化は、予測画像符号化部2442、予測残差符号化部2441、CTU復号画像生成部により実行される。
【0312】
予測画像符号化部2442は、対象スライスに含まれる対象CTUの予測方式および予測パラメータを決定し、決定した予測方式に基づいて予測画像を生成して予測残差符号化部2441とCTU復号画像生成部1443に出力する。予測方式や予測パラメータの情報は予測情報(PT情報)として可変長符号化されて、スライス符号化データに含まれるスライスデータの一部として出力される。予測画像符号化部2442で選択可能な予測方式には、少なくともレイヤ間画像予測が含まれている。
【0313】
予測画像符号化部2442は、予測方式としてレイヤ間画像予測が選択された場合、対応参照位置導出処理を実行して、予測対象画素に対応する参照レイヤ画素位置を決定し、該位置に基づく補間処理により予測画素値を決定する。対応参照位置導出処理としては、階層動画像復号装置1の予測画像生成部1442について説明した各処理が適用できる。例えば、
図1を参照して説明した、パラメータセットに含まれるスケール補正情報に基づいて対応参照画素を導出する処理が適用される。
【0314】
予測残差符号化部2441は、入力される入力画像と予測画像の差分画像を、変換・量子化して得られる量子化変換係数(TT情報)を、スライス符号化データに含まれるスライスデータの一部として出力する。また、量子化変換係数に逆変換・逆量子化を適用して予測残差を復元し、復元した予測残差をCTU復号画像生成部1443に出力する。
【0315】
CTU復号画像生成部1443は、階層動画像復号装置1の同名の構成要素と同じ機能を有しているため、同一の符号を付与して説明を省略する。
【0316】
(動画像符号化装置2の効果)
以上説明した本実施形態に係る階層動画像符号化装置2(階層画像符号化装置)は、パラメータセットを符号化するパラメータセット符号化部22と、参照レイヤピクチャの復号画素を参照してレイヤ間予測により予測画像を生成する予測画像符号化部2442を備えている。パラメータセット符号化部22はスケール補正情報を符号化し、予測画像符号化部2442は、該スケール補正情報から導出されるレイヤ間スケールの値を用いて対象レイヤ上の画素に対する対応参照位置を導出する。
【0317】
したがって、上記階層動画像符号化装置1は、注目領域抽出に代表される目的で階層符号化データを変換する場合であっても、変換の前後で同一のレイヤ間スケールを導出できる符号化データを生成できる。そのため、変換後の符号化データにおいて、上位レイヤの画素と下位レイヤの画素の位置関係の正確さを維持することでレイヤ間予測の予測残差が減少するため、より少ない符号量の符号化データを生成できる。
【0318】
〔階層符号化データ変換装置3〕
図21を用いて、階層符号化データ変換装置3の概略構成を説明する。
図21は、階層符号化データ変換装置3の概略的構成を示した機能ブロック図である。階層符号化データ変換装置3は、入力される階層符号化データDATAを変換して、入力される注目領域情報に係る階層符号化データDATA−ROIを生成する。なお、階層符号化データDATAは階層動画像符号化装置2により生成された階層符号化データである。また、階層符号化データDATA−ROIを階層動画像復号装置1に入力することで注目領域情報に係る上位レイヤの動画像を再生できる。
【0319】
図21に示すように、階層符号化データ変換装置3は、NAL逆多重化部11、NAL多重化部21、パラメータセット復号部12、タイル設定部13、パラメータセット修正部32、NAL選択部34を含む。
【0320】
NAL逆多重化部11、パラメータセット復号部12、タイル設定部13は、それぞれ、階層動画像復号装置1が含む同名の構成要素と同じ機能を有するため、同一の符号を付与して説明を省略する。
【0321】
NAL多重化部21は、階層動画像符号化装置2が含む同名の構成要素と同じ機能を有するため、同一の符号を付与して説明を省略する。
【0322】
パラメータセット修正部32は、入力される注目領域情報とタイル情報に基づいて、入力されるパラメータセット情報を修正して出力する。パラメータセット修正部32は、概略的には、パラメータセットに含まれるピクチャ情報、表示領域情報、レイヤ間画素対応情報、スケール補正情報、PPSタイル情報を修正する。
【0323】
注目領域情報は、動画像を構成するピクチャにおいて、ユーザー(例えば再生動画像の視聴者)が指定するピクチャの部分領域である。注目領域情報は、例えば矩形の領域で指定される。その場合、例えば、注目領域を表わす矩形の上辺、下辺、左辺、右辺のピクチャ全体の対応する辺(上辺、下辺、左辺、または、右辺)からの位置のオフセットを注目領域情報として指定できる。なお、矩形以外の形状の領域(例えば、円、多角形、物体抽出により抽出した物体を示す領域)を注目領域として使用してもよいが、以下では説明の簡単のため矩形の注目領域を想定する。なお、矩形以外の領域に対して、以下に記載する内容を適用する場合、例えば、注目領域を包含する面積最小の矩形を以下の説明における注目領域とみなして適用できる。
【0324】
(変換処理の概略)
始めに、階層符号化データ変換装置3による変換処理によるパラメータセット修正の概略について、
図22を参照して説明する。
図22は、変換前後の階層符号化データにおけるピクチャ、注目領域、および、タイルの関係を例示した図である。
図22では、拡張レイヤとベースレイヤの2レイヤから構成される階層符号化データ(変換前階層符号化データ)を変換して注目領域を含む階層符号化データ(変換後階層符号化データ)を生成する場合の、変換前後のピクチャの関係を示している。変換前階層符号化データの拡張レイヤは変換前ELピクチャに相当するデータであり、ベースレイヤは変換前BLピクチャに相当するデータである。同様に、変換後階層符号化データの拡張レイヤは変換後ELピクチャに相当するデータであり、ベースレイヤは変換後BLピクチャに相当するデータである。
【0325】
概略的には、階層符号化データ変換装置3は、入力される変換前階層符号化データから、拡張レイヤ上で注目領域と重複領域を持たないタイルを取り除き、関連するパラメータセットを修正することで、変換後の階層符号化データを生成する。階層動画像復号装置は、変換後階層符号化データを入力として、注目領域に係る復号画像を生成できる。
【0326】
(タイル情報の修正)
パラメータセット修正部32は、入力される注目領域情報とタイル情報を参照して、対応する領域の一部が注目領域と重複するタイル(抽出対象タイル)のみを含むよう拡張レイヤのPPSタイル情報を更新する。抽出対象タイルの情報に基づいて、拡張レイヤのPPSタイル情報を更新する。まず、抽出対象タイルが1個の場合、tiles_enabled_flagを0に修正する。なお、抽出対象タイルが2個以上の場合は修正処理は省略できる。次に、ピクチャの水平方向と垂直方向に含まれる抽出対象タイルの個数に基づいて、タイル行数を表わす(num_tile_columns_minus1)とタイル列数を表わす(num_tile_rows_minus1)を修正する。次に、タイルサイズが不均等(uniform_spacing_flagが0)の場合には、抽出対象タイルを含まないタイル列の幅、抽出対象タイルを含まないタイル行の高さに係るシンタックスに対応するビット列をパラメータセットから削除する。
【0327】
加えて、パラメータセット修正部32は、変換前BLピクチャに含まれるタイルのうち、拡張レイヤで抽出したタイルの復号に不要なタイルを取り除く。例えば、変換後BLピクチャに対応する拡張レイヤ上の領域(変換後参照レイヤ対応領域)が、変換後ELピクチャを包含するようにベースレイヤのPPSタイル情報を更新する。
【0328】
(ピクチャ情報の修正)
パラメータセット修正部32は、拡張レイヤの抽出対象タイルの集合に対応する領域を変換後ELピクチャサイズとしてピクチャ情報を修正する。変換後ELピクチャの幅と高さを拡張レイヤSPSのpic_width_in_luma_samplesとpic_height_in_luma_samplesの値としてそれぞれ設定する。
【0329】
加えて、パラメータセット修正部32は、ベースレイヤの抽出対象タイルの集合に対応する領域を変換後BLピクチャサイズとしてピクチャ情報を修正する。変換後BLピクチャの幅と高さをベースレイヤSPSのpic_width_in_luma_samplesとpic_height_in_luma_samplesの値としてそれぞれ設定する。
【0330】
(レイヤ間画素対応情報の修正)
パラメータセット修正部32は、ピクチャサイズの変更を踏まえて、パラメータセットに含まれるレイヤ間画素対応情報を修正する。具体的には、レイヤ間画素対応情報に含まれる全てのレイヤ間画素対応オフセットを修正する。レイヤ間画素対応オフセットを構成する拡大参照レイヤ左オフセット(scaled_ref_layer_left_offset[i])は、変換後参照レイヤ対応領域の左上画素と変換後ELピクチャ左上画素の間の距離に相当する値が設定される。例えば、変換後参照レイヤ対応領域が変換後ELピクチャを包含する場合には拡大参照レイヤ左オフセットは負値に設定され、拡大参照レイヤ左オフセットの単位は2画素単位である場合には、前記距離を2画素単位で表現した値を絶対値とする負の整数が拡大参照レイヤ左オフセットの値に設定される。他の上、右、下に対応する拡大参照レイヤオフセットの値も同様に設定される。
【0331】
(スケール補正情報の修正)
パラメータセット修正部32は、ピクチャサイズの変更を踏まえて、パラメータセットに含まれるスケール補正情報を修正する。スケール補正情報は、概略的には、変換前後の階層符号化データの復号時に導出されるレイヤ間スケールが一致するように更新される。
【0332】
例えば、レイヤ間スケールが仮想参照レイヤ対応領域サイズと仮想参照レイヤサイズの比として導出される場合、仮想参照レイヤ対応領域サイズが変換前ELピクチャのサイズと一致し、仮想参照レイヤサイズが変換前BLピクチャのサイズと一致するように修正される。
【0333】
また、例えば、スケール補正情報としては、
図11を参照して説明した定義を用いる場合、変換前ELピクチャ左上画素と変換後参照レイヤ対応領域左上画素の間の距離に相当する値が拡大参照レイヤ左上追加オフセットの値として設定される。同様に、変換前ELピクチャ右下画素と変換後参照レイヤ対応領域右下画素の間の距離に相当する値が拡大参照レイヤ右下追加オフセットの値として設定される。仮想参照レイヤ幅と高さには、変換前BLピクチャの幅と高さがそれぞれ設定される。
【0334】
(表示領域情報の修正)
パラメータセット修正部32は、入力される注目領域情報の示す注目領域と一致するように、入力されるパラメータセットに含まれるSPSの表示領域情報を書き換える。表示領域情報は、例えば、次のS301からS303の手順で書き換えられる。
【0335】
(S301)注目領域がピクチャ全体と一致するか否かを判定する。一致する場合、S302に進み、一致しない場合、S303に進む。
【0336】
(S302)上書き前の表示領域フラグの値が1であった場合には、当該表示領域フラグの値を0に上書きし、かつ、表示領域オフセット(conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、conf_win_bottom_offset)をSPSから取り除いて処理を終了する。
【0337】
(S303)表示領域フラグの値を1に上書きする。表示領域オフセットの各オフセットを注目領域を表わす矩形の各辺のピクチャの対応する辺との位置のオフセットの値に設定する。例えば、注目領域上辺のピクチャ上辺に対する位置オフセットを表示領域上オフセット(conf_win_top_offset)の値に設定する。なお、書き換え前の表示領域フラグの値が1であった場合には、上記設定した注目領域オフセットの値を用いて、元の注目領域オフセットの値を上書きする。書き換え前の表示領域フラグの値が1であった場合には、上記設定した注目領域オフセットをSPSの表示領域フラグの直後に挿入する。
【0338】
NAL選択部34は、入力される注目領域情報とタイル情報に基づいて、入力されるビデオ符号化レイヤNAL(VCL NAL)の選択を行う。選択されたVCL NALはNAL多重化部21に順次出力され、選択されなかったVCL NALは破棄される。
【0339】
NAL選択部34で選択されるVCL NALは、抽出対象タイルに含まれるスライスに関するスライスヘッダおよびスライスデータを含むVCL NALである。NAL選択部34は、スライスヘッダに含まれるスライスアドレスとタイル情報から、スライスが抽出対象タイルに含まれているかを判定し、含まれている場合は当該スライスを含むVCL NALを選択し、含まれていない場合は該VCL NALを破棄する。
【0340】
(階層符号化データ変換処理フロー)
階層符号化データ変換装置3による階層符号化データ変換処理は、S501〜S506に示す手順を順次実行することで実現される。
【0341】
(S501)NAL逆多重化部11は、入力された階層符号化データDATAを逆多重化する。パラメータセットに係る部分(非VCL NAL)をパラメータ復号部12に出力し、スライスレイヤ(スライスヘッダ、スライスデータ)に係る部分であるビデオ符号化レイヤNAL(VCL NAL)をNAL選択部34に出力する。
【0342】
(S502)パラメータセット復号部12は、入力された非VCL NALからパラメータセット(VPS、SPS、PPS)を復号して、パラメータセット修正部32とタイル設定部13に出力する。
【0343】
(S503)タイル設定部13は、入力されるパラメータセットからタイル情報を導出してパラメータセット修正部32とNAL選択部34に出力する。
【0344】
(S504)パラメータセット修正部32は、入力される注目領域情報とタイル情報に基づいて入力されるパラメータセットを修正して出力する。
【0345】
(S505)NAL選択部34は、入力されるタイル情報と注目領域情報に基づいて、入力されるVCL NALの一部を選択し、選択したVCL NALをNAL多重化部21に出力する。
【0346】
(S506)NAL多重化部21は、入力される修正後のパラメータセットと修正後のスライスヘッダとスライスデータを修正後の対象レイヤの符号化データとして、入力される参照レイヤ符号化データDATA#Rと多重化して階層符号化データDATA−ROIとして外部に出力する。
【0347】
(階層符号化データ変換装置3の効果)
以上説明した本実施形態に係る階層符号化データ変換装置3は、対象レイヤ(上位レイヤ)の符号化データに含まれるビデオレイヤの符号化データ(VCL NAL)の一部を注目領域情報に基づいて修正するNAL選択部34と、パラメータセット修正部32を備えている。NAL選択部34は、注目領域情報の示す注目領域に基づいて、注目領域と重複する領域をもつタイルを抽出対象タイルとして選択し、前記選択した抽出対象タイルに含まれるスライスに係るビデオレイヤの符号化データが変換後の階層符号化データに含まれる。パラメータセット修正部32は、注目領域情報とタイル情報に基づいて、ピクチャ情報、PPSタイル情報、表示情報、レイヤ間画素対応情報、および、スケール補正情報を修正する。
【0348】
上記の階層符号化データ変換装置3によれば、入力された階層符号化データを変換して、上位レイヤにおいて抽出対象タイル(注目領域と重複した領域を持つタイル)に係るVCL NALを抽出して、変換後の階層符号化データを構成できる。注目領域と重複領域を持たないタイルに係るVCL NALは破棄されるため、変換後の階層符号化データの符号量は、変換前の階層符号化データに較べて少ない。また、上記の階層符号化データ変換装置3によれば、パラメータセットを、抽出対象タイルに合わせてピクチャ情報、PPSタイル情報、表示情報を修正するため、変換後の階層符号化データは階層動画像復号装置により復号でき、注目領域に係る復号ピクチャを表示できる。加えて、レイヤ間画素対応情報とスケール補正情報が修正されるため、変換前後の階層符号化データでレイヤ間スケールと上位レイヤの画素と参照レイヤの画素の対応関係が維持される。そのため、変換前の符号化データにより生成されるレイヤ間予測の予測画像と変換後の符号化データにより生成されるレイヤ間予測の予測画像が同程度に維持できる。
【0349】
〔注目領域表示システム〕
上述した階層動画像復号装置1、階層動画像符号化装置2、及び、階層符号化データ変換装置3を組み合わせて、注目領域情報を表示するシステム(注目領域表示システムSYS)を構成できる。
【0350】
図23に基づいて、上述した階層動画像復号装置1、階層動画像符号化装置2、及び、階層符号化データ変換装置3の組み合わせにより、注目領域表示システムが構成できることを説明する。
図23は、階層動画像復号装置1、階層動画像符号化装置2、及び、階層符号化データ変換装置3の組み合わせによる注目領域表示システムの構成を示したブロック図である。注目領域表示システムSYSは、概略的には、品質の異なる入力画像を階層符号化して蓄積しておき、ユーザーからの注目領域情報に応じて蓄積された階層符号化データを変換して提供し、変換した階層符号化データを復号することで注目領域(ROI)に係る高品質の再生画像を表示する。
【0351】
図23に示すように、注目領域表示システムSYSは、階層動画像符号化部SYS1A、階層動画像符号化部SYS1B、階層符号化データ蓄積部SYS2、階層符号化データ変換部SYS3、階層動画像復号部SYS4、表示部SYS6、ROI通知部SYS8を構成要素として含む。
【0352】
階層動画像符号化部SYS1A、SYS1Bには、前述の階層動画像符号化装置2を利用できる。
【0353】
階層符号化データ蓄積部SYS2は、階層符号化データを蓄積し、要求に応じて階層符号化データを供給する。階層符号化データ蓄積部SYS2として、記録媒体(メモリ、ハードディスク、光学ディスク)を備えたコンピュータが利用できる。
【0354】
階層符号化データ変換部SYS3には、前述の階層符号化データ変換部3が利用できる。したがって、階層符号化データ変換部SYS3は、入力される階層符号化データに含まれるスケール情報を、入力される注目領域に合わせて適切な値に設定できる。
【0355】
階層動画像復号部SYS4には、前述の階層動画像復号装置1が利用できる。したがって、階層動画像復号部SYS4は、パラメータセットからスケール情報を復号して、該スケール情報を参照してレイヤ間予測を実行できる。
【0356】
表示部SYS6は、復号画像を所定の表示領域の所定の表示位置に表示する。例えば、表示領域はテレビの画面であり、表示位置はその全体である。なお、表示部SYS6は、入力される復号画像を表示領域のサイズに一致するサイズに拡大または縮小して表示することが好ましい。
【0357】
ROI通知部SYS8は、所定の方法でユーザーが指定した注目領域情報を通知する。例えば、ユーザーは全体表示画像が表示された表示領域上で、注目領域に相当する領域を指定することでROI通知部に注目領域を伝えることができる。なお、ROI通知部SYS8は、ユーザーの指定がない場合は、注目領域が無いことを示す情報を注目領域情報として通知する。
【0358】
(注目領域表示システムのフロー)
注目領域表示システムによる処理は、階層符号化データ生成蓄積処理と注目領域データ生成再生処理に分けることができる。
【0359】
階層符号化データ生成蓄積処理では、異なる品質の入力画像から階層符号化データを生成して蓄積する。階層符号化データ生成蓄積処理は、T101からT103の手順で実行される。
【0360】
(T101)階層動画像符号化部SYS1Bは、入力される低品質の入力画像を符号化し、生成された階層符号化データを階層動画像符号化部SYS1Aに供給する。つまり、階層動画像符号化部SYS1Bは、入力画像から、階層動画像符号化部SYS1Aにおいて参照レイヤ(下位レイヤ)として使用される階層符号化データを生成して出力する。
【0361】
(T102)階層動画像符号化部SYS1Aは、入力される高品質の入力画像を、入力された階層符号化データを参照レイヤの符号化データとして符号化し、階層符号化データを生成して階層符号化データ蓄積部SYS2に出力する。
【0362】
(T103)階層符号化データ蓄積部SYS2は、入力された階層符号化データに適切なインデックスを付けて内部の記録媒体に記録する。
【0363】
注目領域データ生成再生処理では、階層符号化データ蓄積部SYS2から階層符号化データを読み出し、注目領域に相当する階層符号化データに変換し、変換した階層符号化データを復号して再生及び表示する。注目領域データ生成再生処理は、以下のT201〜T205の手順で実行される。
【0364】
(T201)ユーザーの選択した動画像に関する階層符号化データが階層符号化データ蓄積部SYS2から階層符号化データ変換部SYS3に供給される。
【0365】
(T202)ROI通知部SYS8は、ユーザーの指定した注目領域情報を階層符号化データ変換部SYS3に通知する。
【0366】
(T203)階層符号化データ変換部SYS3は、入力された注目領域情報に基づいて、入力された階層符号化データを変換して、階層動画像復号部SYS4に出力する。
【0367】
(T204)階層動画像復号部SYS4は、入力された階層動画像符号化データ(変換後)を復号して、得られた上位レイヤの復号ピクチャを表示部SYS6に出力する。
【0368】
(T205)表示部SYS6は、入力された復号画像を表示する。
【0369】
(注目領域表示システムSYSの効果)
以上説明した本実施形態に係る注目領域表示システムSYSは、注目領域情報を供給する注目領域通知部(ROI通知部SYS8)と、前記注目領域情報に基づいて階層符号化データを変換して変換後階層符号化データを生成する階層符号化データ変換部SYS3と、上記変換後階層符号化データを復号して上位レイヤ及び下位レイヤの復号ピクチャを出力する階層動画像復号部SYS4と、表示部SYS6を備えている。
【0370】
上記の注目領域表示システムSYSによれば、注目領域情報により指定された領域の復号ピクチャを表示できる。その際、注目領域情報により指定された領域の復号ピクチャは、階層符号化データの上位レイヤの符号化データから、スケール補正情報に基づいて導出されるレイヤ間スケールを使ったレイヤ間画像予測を用いて復号されるため、画質が高い。加えて、注目領域に基づいて変換された階層符号化データは、変換前の階層符号化データよりも符号量が少ない。したがって、上記の注目領域表示システムSYSを用いることで、階層符号化データの転送に要する帯域を削減しつつ、注目領域に係る画質の高い復号ピクチャを再生できる。
【0371】
(他の階層動画像符号化/復号システムへの適用例)
上述した階層動画像符号化装置2及び階層動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用できる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
【0372】
図24に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の送信および受信に利用できることを説明する。
図24の(a)は、階層動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。
【0373】
図24の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3とを備えている。上述した階層動画像符号化装置2は、この符号化部PROD_A1として利用される。
【0374】
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていてもよい。
図24の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
【0375】
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
【0376】
図24の(b)は、階層動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。
図24の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3とを備えている。上述した階層動画像復号装置1は、この復号部PROD_B3として利用される。
【0377】
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。
図24の(b)においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
【0378】
なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
【0379】
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
【0380】
例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
【0381】
また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線又は有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
【0382】
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
【0383】
図25に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の記録および再生に利用できることを説明する。
図25の(a)は、上述した階層動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。
【0384】
図25の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した階層動画像符号化装置2は、この符号化部PROD_C1として利用される。
【0385】
なお、記録媒体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に内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
【0386】
また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部C6を更に備えていてもよい。
図25の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
【0387】
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
【0388】
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5又は画像処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3又は受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
【0389】
図25の(b)は、上述した階層動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。
図25の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した階層動画像復号装置1は、この復号部PROD_D2として利用される。
【0390】
なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
【0391】
また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。
図25の(b)においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
【0392】
なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
【0393】
このような再生装置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の一例である。
【0394】
(ハードウェア的実現およびソフトウェア的実現について)
最後に、階層動画像復号装置1、階層動画像符号化装置2の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
【0395】
後者の場合、上記各装置は、各機能を実現する制御プログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU(Micro Processing Unit))が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【0396】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクや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)等の論理回路類などを用いることができる。
【0397】
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、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、登録商標)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【0398】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。