(57)【要約】      （修正有）【課題】画像が階層的に符号化された階層符号化データを復号する画像復号装置、および画像を階層的に符号化することによって階層符号化データを生成する画像符号化装置を提供する。【解決手段】レイヤセット内における共有パラメータセットに関するビットストリーム制約、及びビットストリーム抽出処理を規定し、VCL間の依存関係がない独立であるレイヤが異なるレイヤのパラメータセットを参照できるようにする。【選択図】図４
2015119402.tif 000002
【特許請求の範囲】
【請求項１】
あるレイヤセットＡ内において、該レイヤセットＡに含まれるレイヤLayerAのパラメータセットを、該レイヤセットＡに含まれる、レイヤLayerAとは異なるレイヤLayerBから参照することが可能である画像符号化データを復号することを特徴とする画像復号装置。
【請求項２】
任意の上記レイヤセットＡについて、上記レイヤセットＡに含まれるあるレイヤLayerA（要素）は、上記レイヤセットＡに含まれないレイヤLayerB（要素）を参照してはならないというコンフォーマンス条件を満たす画像符号化データを復号することを特徴とする請求項１に記載の画像復号装置。
【請求項３】
あるレイヤLayerBがレイヤLayerAのパラメータセットを参照する場合には、上記レイヤLayerBを含む全てレイヤセットＡにおいて、上記レイヤLayerAを含まれていなくてはならないというコンフォーマンス条件を満たす画像符号化データを復号することを特徴とする請求項１に記載の画像復号装置。
【請求項４】
レイヤ識別子nuhLayerIdAであるレイヤLayerAのアクティブパラメータセットを含むNALユニットのレイヤ識別子は、レイヤLayerAを要素として含む全てのレイヤセットの集合において、前記レイヤセットの集合に含まれるレイヤセットＡに含まれるレイヤLayerBのレイヤ識別子nuhLayerIdBでなくてはならない、というコンフォーマンス条件を満たす画像符号化データを復号することを特徴とする請求項１に記載の画像復号装置。
【請求項５】
上記パラメータセットは、ビデオパラメータセットであることを特徴とする請求項１から請求項４に記載の画像復号装置。
【請求項６】
上記パラメータセットは、シーケンスパラメータセットであることを特徴とする請求項１から請求項４に記載の画像復号装置。
【請求項７】
上記パラメータセットは、ピクチャパラメータセットであることを特徴とする請求項１から請求項４に記載の画像復号装置。
【請求項８】
あるレイヤセットＡ内において、該レイヤセットＡに含まれるレイヤLayerAのパラメータセットを、該レイヤセットＡに含まれる、レイヤLayerAとは異なるレイヤLayerBから参照可能であることを特徴とする画像符号化データ。
【請求項９】
任意の上記レイヤセットＡについて、上記レイヤセットＡに含まれるあるレイヤLayerA（要素）は、上記レイヤセットＡに含まれないレイヤLayerB（要素）を参照してはならないというコンフォーマンス条件を満たすことを特徴とする請求項８に記載の画像符号化データ。
【請求項１０】
あるレイヤLayerBがレイヤLayerAのパラメータセットを参照する場合には、上記レイヤLayerBを含む全てレイヤセットＡにおいて、上記レイヤLayerAを含まれていなくてはならないというコンフォーマンス条件を満たすことを特徴とする請求項８に記載の画像符号化データ。
【請求項１１】
レイヤ識別子nuhLayerIdAであるレイヤLayerAのアクティブパラメータセットを含むNALユニットのレイヤ識別子は、レイヤLayerAを要素として含む全てのレイヤセットの集合において、前記レイヤセットの集合に含まれるレイヤセットＡに含まれるいずれかのレイヤLayerBのレイヤ識別子nuhLayerIdBでなくてはならない、というコンフォーマンス条件を満たすことを特徴とする請求項８に記載の画像符号化データ。
【請求項１２】
上記パラメータセットは、ビデオパラメータセットであることを特徴とする請求項８から請求項１１に記載の画像符号化データ。
【請求項１３】
上記パラメータセットは、シーケンスパラメータセットであることを特徴とする請求項８から請求項１１に記載の画像符号化データ。
【請求項１４】
上記パラメータセットは、ピクチャパラメータセットであることを特徴とする請求項８から請求項１１に記載の画像符号化データ。
【請求項１５】
あるレイヤセットＡ内において、該レイヤセットＡに含まれるレイヤLayerAのパラメータセットを、該レイヤセットＡに含まれる、レイヤLayerAとは異なるレイヤLayerBから参照可能である画像符号化データを生成することを特徴とする画像符号化装置。
【請求項１６】
任意の上記レイヤセットＡについて、上記レイヤセットＡに含まれるあるレイヤLayerA（要素）は、上記レイヤセットＡに含まれないレイヤLayerB（要素）を参照してはならないというコンフォーマンス条件を満たす画像符号化データを生成することを特徴とする請求項１５に記載の画像符号化装置。
【請求項１７】
あるレイヤLayerBがレイヤLayerAのパラメータセットを参照する場合には、上記レイヤLayerBを含む全てレイヤセットＡにおいて、上記レイヤLayerAを含まれていなくてはならないというコンフォーマンス条件を満たす画像符号化データを生成することを特徴とする請求項１５に記載の画像符号化装置。
【請求項１８】
レイヤ識別子nuhLayerIdAであるレイヤLayerAのアクティブパラメータセットを含むNALユニットのレイヤ識別子は、レイヤLayerAを要素として含む全てのレイヤセットの集合において、前記レイヤセットの集合に含まれるレイヤセットＡに含まれるレイヤLayerBのレイヤ識別子nuhLayerIdBでなくてはならない、というコンフォーマンス条件を満たす画像符号化データを生成することを特徴とする請求項１５に記載の画像符号化装置。
【請求項１９】
上記パラメータセットは、ビデオパラメータセットであることを特徴とする請求項１５から請求項１８に記載の画像符号化装置。
【請求項２０】
上記パラメータセットは、シーケンスパラメータセットであることを特徴とする請求項１５から請求項１８に記載の画像符号化装置。
【請求項２１】
上記パラメータセットは、ピクチャパラメータセットであることを特徴とする請求項１５から請求項１８に記載の画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像が階層的に符号化された階層符号化データを復号する画像復号装置、および画像を階層的に符号化することによって階層符号化データを生成する画像符号化装置に関する。
【背景技術】
【０００２】
通信システムで伝送される情報、あるいは蓄積装置に記録される情報の１つに画像あるいは動画像がある。従来、これらの画像（以降、動画像を含む）の伝送・蓄積のため、画像を符号化する技術が知られている。
【０００３】
動画像符号化方式としては、AVC（H.264/MPEG-4 Advanced Video Coding）や、その後継コーデックであるHEVC（High-Efficiency Video Coding）が知られている（非特許文献１）。
【０００４】
これらの動画像符号化方式では、通常、入力画像を符号化／復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像（原画像）から減算して得られる予測残差（「差分画像」または「残差画像」と呼ぶこともある）が符号化される。また、予測画像の生成方法としては、画面間予測（インター予測）、および、画面内予測（イントラ予測）が挙げられる。
【０００５】
HEVCでは、60fpsのコンテンツを30fpsで再生する場合のような、時間的に間引いたフレームレートで再生する場合を想定してテンポラルスケーラビリティ（時間スケーラビリティ）を実現する技術が用いられている。具体的には、各ピクチャに時間識別子(TemporalID、サブレイヤ識別子)と呼ばれる数値を割り当て、時間識別子の大きいピクチャは、該時間識別子よりも小さい時間識別子のピクチャを参照しない、という制約を課している。これにより、特定の時間識別子のピクチャのみを間引いて再生する場合には、それよりも大きい時間識別子が付加されたピクチャの復号は不要になる。
【０００６】
また、近年、必要なデータレートに従って、画像を階層的に符号化するスケーラブル符号化技術、又は階層符号化技術が提案されている。代表的なスケーラブル符号化方式（階層符号化方式）としてSHVC（Scalable HEVC）、及びMV-HEVC(MultiView HEVC)が知られている。
【０００７】
SHVCでは、空間スケーラビリティ、時間スケーラビリティ、SNRスケーラビリティをサポートする。例えば空間スケーラビリティの場合、原画像から所望の解像度にダウンサンプリングした画像を下位レイヤとして符号化する。次に上位レイヤではレイヤ間の冗長性を除去するためにレイヤ間予測を行う（非特許文献２）。
【０００８】
MV-HEVCでは、視点スケーラビリティ（ビュースケーラビリティ）をサポートする。例えば、視点画像０（レイヤ０）、視点画像１（レイヤ１）、視点画像２（レイヤ２）の３つの視点画像を符号化する場合、下位レイヤ（レイヤ０）から、上位レイヤである視点画像１、視点画像２をレイヤ間予測により予測することによりレイヤ間の冗長性の除去が可能である（非特許文献３）。
【０００９】
SHVCやMV-HEVC等のスケーラブル符号化方式において利用されるレイヤ間予測には、レイヤ間画像予測とレイヤ間動き予測がある。レイヤ間画像予測では、下位レイヤ（あるいは、対象レイヤとは異なる別レイヤ）の復号済ピクチャのテクスチャ情報（画像）を利用して、対象レイヤの予測画像を生成する。レイヤ間動き予測では、下位レイヤ（あるいは、対象レイヤとは異なる別レイヤ）の復号済ピクチャの動き情報を利用して、対象レイヤの動き情報の予測値を導出する。すなわち、対象レイヤの参照ピクチャとして、下位レイヤ（あるいは、対象レイヤと異なる別レイヤ）の復号済ピクチャを利用することで、レイヤ間予測を行う。
【００１０】
また、レイヤ間の画像情報、あるいは動き情報の冗長性を除去するレイヤ間予測の他にも、符号化データを復号／符号化するために必要な符号化パラメータの集合が規定されているパラメータセット（例えば、シーケンスパラメータセットSPS、やピクチャパラメータセットPPS等）において、レイヤ間で共通する符号化パラメータの冗長性を除去するために、上位レイヤの復号／符号化で利用されるパラメータセット内の一部の符号化パラメータを、下位レイヤの復号／符号化で利用されるパラメータセット内の対応する符号化パラメータから予測（参照、あるいは継承ともいう）し、その符号化パラメータの復号／符号化を省略するパラメータセット間予測がある。例えば、SPSやPPSにおいて通知される、対象レイヤのスケーリングリスト情報（量子化マトリックス）を、下位レイヤのスケーリングリスト情報から予測する技術（パラメータセット間シンタックス予測とも称する）がある。
【００１１】
また、ビュースケーラビリティや、SNRスケーラビリティの場合、各レイヤの復号／符号化で利用されるパラメータセット内で、共通する符号化パラメータが多いため、異なるレイヤ間で共通のパラメータセットを利用し、レイヤ間のサイド情報（パラメータセット）の冗長性を除去する共有パラメータセットという技術がある。例えば、非特許文献２及び３では、「レイヤ識別子nuh_layer_idの値がnuhLayerIdAであるレイヤlayerAが参照するSPSやPPSのレイヤ識別子nuh_layer_idの値は、0、または、nuhLayerIdA、または、レイヤlayerAの依存レイヤ（直接参照レイヤ、及び間接参照レイヤを含む）のレイヤ識別子と等しくなければならない」というビットストリーム制約がある。
【００１２】
これは、レイヤ識別子nuh_layer_idの値がnuhLayerIdAであるレイヤlayerAを復号／符号化する際に、レイヤlayerAは、同一レイヤ識別子を有するSPSやPPSの他に、レイヤ識別子nuh_layer_idの値が０、または、レイヤlayerAの依存レイヤ（直接参照レイヤ、及び間接参照レイヤを含む）のレイヤ識別子を有するSPSやPPSを参照することが許容されている。
【００１３】
なお、画像の符号化データや、符号化パラメータ等のパラメータセットの符号化データが格納されるNALユニット内のNALユニットヘッダにおいて、レイヤを識別するレイヤ識別子 (nuh_layer_id、nuhLayerId、layerId、またはlIdとも称する)、及びレイヤに付随するサブレイヤを識別するテンポラル識別子 (nuh_temporal_id_plus1、temporalId、またはtIdとも称する)、さらに、NALユニットに格納されている符号化データの種別を表わすNALユニットタイプ（nal_unit_type）が通知される。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】「Recommendation H.265 (04/13)」, ITU-T (２０１３年６月７日公開)
【非特許文献２】JCTVC-O1008_v3 「SHVC Draft 4」, 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, 23 Oct. - 1 Nov. 2013 (２０１３年１２月０７日公開)
【非特許文献３】JCT3V-F1004_v6 「MV-HEVC Draft Text 6」, Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 6th Meeting: Geneva, CH, 25 Oct. - 1 Nov. 2013 (２０１３年１１月３０日公開)
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、従来技術（非特許文献２〜３)におけるシーケンスパラメータセット(SPS)、及びピクチャパラメータセット(PPS)等のパラメータセットを複数のレイヤ間において共有する場合（共有パラメータセット）において、次の課題がある。
【００１６】
従来技術では、レイヤ間に依存関係がある場合（VCL間の依存関係がある場合には、直接依存フラグdirect_dependency_flagにより直接参照レイヤが指定される。さらに、直接依存フラグから導出される間接依存フラグにより間接参照レイヤが指定される）には、パラメータセット（SPS、PPS）のレイヤ間での共有が可能である。よって、図３（ａ）に示すように、レイヤセットＡ内のレイヤA(同図L#1)が、レイヤB(同図L#0)を依存レイヤ(直接参照レイヤ／間接参照レイヤ)として参照する場合、レイヤAが依存レイヤであるレイヤBのパラメータセットを参照することが可能である。すなわち、パラメータセットを共有することができる。しかしながら、図３（ａ）に示すように、レイヤセットＡ内のレイヤA(同図L#2)が、レイヤB(同図L#0、L#1)を依存レイヤ(直接参照レイヤ／間接参照レイヤ)としない場合、すなわち、レイヤAとレイヤBと間に依存関係が無い場合には、レイヤAがレイヤBのパラメータセットを参照することができない。すなわち、パラメータセットの共有ができないという課題がある。従って、レイヤA（同図L#2）は、レイヤAのレイヤ識別子を有するSPS/PPSを符号化／復号する必要があるため、パラメータセットSPS/PPSに係る符号量の増加、及び符号化／復号に係る処理量が増加するという課題がある。
【００１７】
また、レイヤセットＢにはレイヤ識別子nuh_layer_id=0であるビデオパラメータセットVPSが含まれないため、レイヤセットＡを含むビットストリームから、ビットストリーム抽出により生成されたレイヤセットＢを含むビットストリームのうち、レイヤ識別子nuh_layer_id=0のVPSを参照するレイヤが復号することができないという課題がある。
【００１８】
本発明は、上記問題に鑑みてされたものであり、その目的は、レイヤセット内における共有パラメータセットに関するビットストリーム制約、及びビットストリーム抽出処理を規定し、VCL間の依存関係がない独立であるレイヤが異なるレイヤのパラメータセットを参照できるようにすることで、パラメータセットの復号/符号化に要する処理量、及びパラメータセットの符号量を削減すると共に、該レイヤセットを含むビットストリームから、ビットストリーム抽出処理により生成された、該レイヤセットのサブセットのレイヤセットのみを含むビットストリーム上で復号不可となるレイヤの発生を防止する画像復号装置、及び画像符号化装置を実現することにある。
【課題を解決するための手段】
【００１９】
上記の課題を解決するために、本発明の態様１に係る画像復号装置は、あるレイヤセットＡ内において、該レイヤセットＡに含まれるレイヤLayerAのパラメータセットを、該レイヤセットＡに含まれる、レイヤLayerAとは異なるレイヤLayerBから参照することが可能である画像符号化データを復号することを特徴とする。
【００２０】
上記の課題を解決するために、本発明の態様２に係る画像復号装置は、上記態様１において、さらに、任意の上記レイヤセットＡについて、上記レイヤセットＡに含まれるあるレイヤLayerA（要素）は、上記レイヤセットＡに含まれないレイヤLayerB（要素）を参照してはならないというコンフォーマンス条件を満たす画像符号化データを復号することを特徴とする。
【００２１】
上記の課題を解決するために、本発明の態様３に係る画像復号装置は、上記態様１において、さらに、あるレイヤLayerBがレイヤLayerAのパラメータセットを参照する場合には、上記レイヤLayerBを含む全てレイヤセットＡにおいて、上記レイヤLayerAを含まれていなくてはならないというコンフォーマンス条件を満たす画像符号化データを復号することを特徴とする。
【００２２】
上記の課題を解決するために、本発明の態様４に係る画像復号装置は、上記態様１において、さらに、レイヤ識別子nuhLayerIdAであるレイヤLayerAのアクティブパラメータセットを含むNALユニットのレイヤ識別子は、レイヤLayerAを要素として含む全てのレイヤセットの集合において、前記レイヤセットの集合に含まれるレイヤセットＡに含まれるレイヤLayerBのレイヤ識別子nuhLayerIdBでなくてはならない、というコンフォーマンス条件を満たす画像符号化データを復号することを特徴とする。
【００２３】
上記の課題を解決するために、本発明の態様５に係る画像復号装置は、上記態様１から態様４において、さらに、上記パラメータセットは、ビデオパラメータセットであることを特徴とする。
【００２４】
上記の課題を解決するために、本発明の態様６に係る画像復号装置は、上記態様１から態様４において、さらに、上記パラメータセットは、シーケンスパラメータセットであることを特徴とする。
【００２５】
上記の課題を解決するために、本発明の態様７に係る画像復号装置は、上記態様１から態様４において、さらに、上記パラメータセットは、ピクチャパラメータセットであることを特徴とする。
【００２６】
上記の課題を解決するために、本発明の態様８に係る画像符号化データは、あるレイヤセットＡ内において、該レイヤセットＡに含まれるレイヤLayerAのパラメータセットを、該レイヤセットＡに含まれる、レイヤLayerAとは異なるレイヤLayerBから参照可能であることを特徴とする。
【００２７】
上記の課題を解決するために、本発明の態様９に係る画像符号化データは、上記態様８において、さらに、任意の上記レイヤセットＡについて、上記レイヤセットＡに含まれるあるレイヤLayerA（要素）は、上記レイヤセットＡに含まれないレイヤLayerB（要素）を参照してはならないというコンフォーマンス条件を満たすことを特徴とする。
【００２８】
上記の課題を解決するために、本発明の態様１０に係る画像符号化データは、上記態様８において、さらに、あるレイヤLayerBがレイヤLayerAのパラメータセットを参照する場合には、上記レイヤLayerBを含む全てレイヤセットＡにおいて、上記レイヤLayerAを含まれていなくてはならないというコンフォーマンス条件を満たすことを特徴とする。
【００２９】
上記の課題を解決するために、本発明の態様１１に係る画像符号化データは、上記態様８において、さらに、レイヤ識別子nuhLayerIdAであるレイヤLayerAのアクティブパラメータセットを含むNALユニットのレイヤ識別子は、レイヤLayerAを要素として含む全てのレイヤセットの集合において、前記レイヤセットの集合に含まれるレイヤセットＡに含まれるいずれかのレイヤLayerBのレイヤ識別子nuhLayerIdBでなくてはならない、というコンフォーマンス条件を満たすことを特徴とする。
【００３０】
上記の課題を解決するために、本発明の態様１２に係る画像符号化データは、上記態様８から１１において、さらに、上記パラメータセットは、ビデオパラメータセットであることを特徴とする。
【００３１】
上記の課題を解決するために、本発明の態様１３に係る画像符号化データは、上記態様８から１１において、さらに、上記パラメータセットは、シーケンスパラメータセットであることを特徴とする。
【００３２】
上記の課題を解決するために、本発明の態様１４に係る画像符号化データは、上記態様８から１１において、さらに、上記パラメータセットは、ピクチャパラメータセットであることを特徴とする。
【００３３】
上記の課題を解決するために、本発明の態様１５に係る画像符号化装置は、あるレイヤセットＡ内において、該レイヤセットＡに含まれるレイヤLayerAのパラメータセットを、該レイヤセットＡに含まれる、レイヤLayerAとは異なるレイヤLayerBから参照可能である画像符号化データを生成することを特徴とする。
【００３４】
上記の課題を解決するために、本発明の態様１６に係る画像符号化データは、上記態様１５において、さらに、任意の上記レイヤセットＡについて、上記レイヤセットＡに含まれるあるレイヤLayerA（要素）は、上記レイヤセットＡに含まれないレイヤLayerB（要素）を参照してはならないというコンフォーマンス条件を満たす画像符号化データを生成することを特徴とする。
【００３５】
上記の課題を解決するために、本発明の態様１７に係る画像符号化データは、上記態様１５において、さらに、あるレイヤLayerBがレイヤLayerAのパラメータセットを参照する場合には、上記レイヤLayerBを含む全てレイヤセットＡにおいて、上記レイヤLayerAを含まれていなくてはならないというコンフォーマンス条件を満たす画像符号化データを生成することを特徴とする。
【００３６】
上記の課題を解決するために、本発明の態様１８に係る画像符号化データは、上記態様１５において、さらに、レイヤ識別子nuhLayerIdAであるレイヤLayerAのアクティブパラメータセットを含むNALユニットのレイヤ識別子は、レイヤLayerAを要素として含む全てのレイヤセットの集合において、前記レイヤセットの集合に含まれるレイヤセットＡに含まれるレイヤLayerBのレイヤ識別子nuhLayerIdBでなくてはならない、というコンフォーマンス条件を満たす画像符号化データを生成することを特徴とする。
【００３７】
上記の課題を解決するために、本発明の態様１９に係る画像符号化データは、上記態様１５から１８において、さらに、上記パラメータセットは、ビデオパラメータセットであることを特徴とする。
【００３８】
上記の課題を解決するために、本発明の態様２０に係る画像符号化データは、上記態様１５から１８において、上記パラメータセットは、シーケンスパラメータセットであることを特徴とする。
【００３９】
上記の課題を解決するために、本発明の態様２１に係る画像符号化データは、上記態様１５から１８において、上記パラメータセットは、ピクチャパラメータセットであることを特徴とする。
【発明の効果】
【００４０】
本発明の一態様によれば、レイヤセット内における共有パラメータセットに関するビットストリーム制約、及びビットストリーム抽出処理を規定し、VCL間の依存関係がない独立であるレイヤが異なるレイヤのパラメータセットを参照できるようにすることで、パラメータセットの復号/符号化に要する処理量、及びパラメータセットの符号量を削減すると共に、該レイヤセットを含むビットストリームから、ビットストリーム抽出処理により生成された、該レイヤセットのサブセットのレイヤセットのみを含むビットストリーム上で復号不可となるレイヤの発生を防止することができる。
【図面の簡単な説明】
【００４１】
【図１】本実施形態に係るレイヤセット内における共有パラメータセットの概念を説明するための図である。
【図２】本実施形態に係るレイヤセット内における共有パラメータセットの概念を説明するための別の図である。（ａ）は、図１のうち、レイヤセットＢからレイヤセットＡの要素を参照するケースを除去した例示し、（ｂ）は、図２（ａ）を一般化（上位概念化）した例である。
【図３】従来技術における共有パラメータセットに関する課題を説明するための図である。（ａ）はレイヤセットＡの一例を示し、（ｂ）はビットストリーム抽出後のレイヤセットＢの一例を示す。
【図４】本発明の一実施形態に係る階層符号化データのレイヤ構造を説明するための図であって、（ａ）は、階層動画像符号化装置側について示しており、（ｂ）は、階層動画像復号装置側について示している。
【図５】間接参照レイヤを説明するための図である。
【図６】あるレイヤセットを構成するレイヤ、およびサブレイヤ（テンポラルレイヤ）の構造を説明するための図である。
【図７】図６に示すレイヤセットよりサブビットストリーム抽出処理により、抽出したレイヤセットのサブセットを構成するレイヤ、およびサブレイヤ（テンポラルレイヤ）を説明するための図である。
【図８】レイヤセットグラフの概念図を説明するための図である。（ａ）はレイヤ間の参照関係（直接参照の依存方向）（レイヤツリー）の一例であり、（ｂ）は（ａ）のレイヤツリーの場合にとり得るレイヤセットの一例であり、（ｃ）は（ｂ）のレイヤセットの集合から構成されるレイヤセットグラフの一例である。
【図９】レイヤセットグラフの別例１を説明するための図である。（ａ）はレイヤ間の参照関係（直接参照の依存方向）（レイヤツリー）の一例であり、（ｂ）は（ａ）のレイヤツリーの場合にとり得るレイヤセットの一例であり、（ｃ）は（ｂ）のレイヤセットの集合から構成されるレイヤセットグラフの一例である。
【図１０】NALユニットレイヤを構成するデータ構造の例を示す図である。
【図１１】NALユニットレイヤに含まれるシンタックスの例を示す図である。（ａ）はNALユニットレイヤを構成するシンタックス例を示し、(ｂ)はNALユニットヘッダのシンタックス例を示す図である。
【図１２】本発明の実施形態に係るNALユニットタイプの値とNALユニットの種別の関係を示す図である。
【図１３】アクセスユニットに含まれるNALユニットの構成の一例を示す図である。
【図１４】本発明の実施形態に係る階層符号化データの構成を説明するための図であって、（ａ）は、シーケンスSEQを既定するシーケンスレイヤ、（ｂ）は、ピクチャPICTを規定するピクチャレイヤ、（ｃ）は、スライスSを規定するスライスレイヤ、（ｄ）は、スライスデータを規定するスライスデータレイヤ、（ｅ）は、スライスデータに含まれる符号化ツリーユニットを規定する符号化ツリーレイヤ、（ｆ）は、符号化ツリーに含まれる符号化単位（Coding Unit; CU）を規定する符号化ユニットレイヤを示す図である。
【図１５】本実施形態に係る共有パラメータセットを説明するための図である。
【図１６】参照ピクチャリスト、及び参照ピクチャを説明するための図である。（ａ）は、参照ピクチャリストの一例を示し、（ｂ）参照ピクチャの一例を示す概念図である。
【図１７】本発明の実施形態に係るＶＰＳのシンタックステーブルの一例である。
【図１８】本発明の実施形態に係るＶＰＳ拡張データのシンタックステーブルの一例である。
【図１９】本実施形態に係るレイヤ依存タイプを説明するための図である。（ａ）は、依存タイプとして、non-VCLの依存の有無を含める一例を示し、(b)は、依存タイプとして、共有パラメータセットの有無、及びパラメータセット間予測の有無を含める一例である。
【図２０】本発明の実施形態に係るＳＰＳのシンタックステーブルの一例である。
【図２１】本発明の実施形態に係るＳＰＳ拡張データのシンタックステーブルの一例である。
【図２２】本発明の実施形態に係るＰＰＳのシンタックステーブルの一例である。
【図２３】本発明の実施形態に係るスライスレイヤのシンタックステーブルの一例である。(a)は、スライスレイヤに含まれるスライスヘッダ、及びスライスデータのシンタックステーブルの一例を示し、（ｂ）は、スライスヘッダのシンタックステーブルの一例を示し、（ｃ）スライスデータのシンタックステーブルの一例を示す。
【図２４】本実施形態に係る階層動画像復号装置の構成を示す概略図である。
【図２５】本実施形態に係る対象レイヤセットピクチャ復号部の構成を示す概略図である。
【図２６】対象レイヤのピクチャ、参照レイヤのピクチャ、および、レイヤ間画素対応オフセットの関係を例示する図であり、（ａ）は、参照レイヤのピクチャ全体が対象レイヤのピクチャの一部に対応する場合の例を示し、（ｂ）は、参照レイヤのピクチャの一部が対象レイヤのピクチャ全体に対応する場合の例を示す。
【図２７】本実施形態に係るピクチャ復号部の動作を説明するためのフローチャートである。
【図２８】本実施形態に係るビットストリーム抽出部の動作を説明するためのフローチャートである。
【図２９】実施例１における共有パラメータセットの効果を説明するための図である。VCL間の依存関係がない独立レイヤから構成されるレイヤセットＡにおいて、実施例１のビットストリーム制約により、サブセットであるレイヤセットＢにおいても、レイヤj〜レイヤNBは、レイヤ間でパラメータセット(SPS/PPS)を参照することが可能となる。（ａ）はレイヤセットＡの一例を示し、（ｂ）はビットストリーム抽出後のレイヤセットＢの一例を示す。
【図３０】本実施形態に係る階層動画像復号装置の構成を示す概略図である。
【図３１】本実施形態に係る対象レイヤセットピクチャ復号部の構成を示す概略図である。
【図３２】本実施形態に係るピクチャ復号部の動作を説明するためのフローチャートである。
【図３３】上記階層動画像符号化装置を搭載した送信装置、および、上記階層動画像復号装置を搭載した受信装置の構成について示した図である。（ａ）は、階層動画像符号化装置を搭載した送信装置を示しており、（ｂ）は、階層動画像復号装置を搭載した受信装置を示している。
【図３４】上記階層動画像符号化装置を搭載した記録装置、および、上記階層動画像復号装置を搭載した再生装置の構成について示した図である。（ａ）は、階層動画像符号化装置を搭載した記録装置を示しており、（ｂ）は、階層動画像復号装置を搭載した再生装置を示している。
【発明を実施するための形態】
【００４２】
図４〜図３４に基づいて、本発明の一実施形態に係る階層動画像復号装置１および階層動画像符号化装置２を説明すれば以下のとおりである。
【００４３】
〔概要〕
本実施の形態に係る階層動画像復号装置（画像復号装置）１は、階層動画像符号化装置（画像符号化装置）２によって階層符号化された符号化データを復号する。階層符号化とは、動画像を低品質のものから高品質のものにかけて階層的に符号化する符号化方式のことである。階層符号化は、例えば、SVCやSHVCにおいて標準化されている。なお、ここでいう動画像の品質とは、主観的および客観的な動画像の見栄えに影響する要素のことを広く意味する。動画像の品質には、例えば、“解像度”、“フレームレート”、“画質”、および、“画素の表現精度”が含まれる。よって、以下、動画像の品質が異なるといえば、例示的には、“解像度”等が異なることを指すが、これに限られない。例えば、異なる量子化ステップで量子化された動画像の場合（すなわち、異なる符号化雑音により符号化された動画像の場合）も互いに動画像の品質が異なるといえる。
【００４４】
また、階層符号化技術は、階層化される情報の種類の観点から、（１）空間スケーラビリティ、（２）時間スケーラビリティ、（３）ＳＮＲ（Signal to Noise Ratio）スケーラビリティ、および（４）ビュースケーラビリティに分類されることもある。空間スケーラビリティとは、解像度や画像のサイズにおいて階層化する技術である。時間スケーラビリティとは、フレームレート（単位時間のフレーム数）において階層化する技術である。ＳＮＲスケーラビリティは、符号化雑音において階層化する技術である。また、ビュースケーラビリティは、各画像に対応付けられた視点位置において階層化する技術である。
【００４５】
本実施形態に係る階層動画像符号化装置２及び階層動画像復号装置１の詳細な説明に先立って、まず（１）階層動画像符号化装置２によって生成され、階層動画像復号装置１によって復号される階層符号化データのレイヤ構造を説明し、次いで（２）各レイヤで採用できるデータ構造の具体例について説明を行う。
【００４６】
〔階層符号化データのレイヤ構造〕
ここで、図４を用いて、階層符号化データの符号化および復号について説明すると次のとおりである。図４は、動画像を、下位階層Ｌ３、中位階層Ｌ２、および上位階層Ｌ１の３階層により階層的に符号化／復号する場合について模式的に表わす図である。つまり、図４（ａ）および（ｂ）に示す例では、３階層のうち、上位階層Ｌ１が最上位層となり、下位階層Ｌ３が最下位層となる。
【００４７】
以下において、階層符号化データから復号され得る特定の品質に対応する復号画像は、特定の階層の復号画像（または、特定の階層に対応する復号画像）と称される（例えば、上位階層Ｌ１の復号画像ＰＯＵＴ＃Ａ）。
【００４８】
図４（ａ）は、入力画像ＰＩＮ＃Ａ〜ＰＩＮ＃Ｃをそれぞれ階層的に符号化して符号化データＤＡＴＡ＃Ａ〜ＤＡＴＡ＃Ｃを生成する階層動画像符号化装置２＃Ａ〜２＃Ｃを示している。図４（ｂ）は、階層的に符号化された符号化データＤＡＴＡ＃Ａ〜ＤＡＴＡ＃Ｃをそれぞれ復号して復号画像ＰＯＵＴ＃Ａ〜ＰＯＵＴ＃Ｃを生成する階層動画像復号装置１＃Ａ〜１＃Ｃを示している。
【００４９】
まず、図４（ａ）を用いて、符号化装置側について説明する。符号化装置側の入力となる入力画像ＰＩＮ＃Ａ、ＰＩＮ＃Ｂ、およびＰＩＮ＃Ｃは、原画は同じだが、画像の品質（解像度、フレームレート、および画質等）が異なる。画像の品質は、入力画像ＰＩＮ＃Ａ、ＰＩＮ＃Ｂ、およびＰＩＮ＃Ｃの順に低くなる。
【００５０】
下位階層Ｌ３の階層動画像符号化装置２＃Ｃは、下位階層Ｌ３の入力画像ＰＩＮ＃Ｃを符号化して下位階層Ｌ３の符号化データＤＡＴＡ＃Ｃを生成する。下位階層Ｌ３の復号画像ＰＯＵＴ＃Ｃを復号するのに必要な基本情報が含まれる（図４において“Ｃ”にて示している）。下位階層Ｌ３は、最下層の階層であるため、下位階層Ｌ３の符号化データＤＡＴＡ＃Ｃは、基本符号化データとも称される。
【００５１】
また、中位階層Ｌ２の階層動画像符号化装置２＃Ｂは、中位階層Ｌ２の入力画像ＰＩＮ＃Ｂを、下位階層の符号化データＤＡＴＡ＃Ｃを参照しながら符号化して中位階層Ｌ２の符号化データＤＡＴＡ＃Ｂを生成する。中位階層Ｌ２の符号化データＤＡＴＡ＃Ｂには、符号化データＤＡＴＡ＃Ｃに含まれる基本情報“Ｃ”に加えて、中位階層の復号画像ＰＯＵＴ＃Ｂを復号するのに必要な付加的情報（図４において“Ｂ”にて示している）が含まれる。
【００５２】
また、上位階層Ｌ１の階層動画像符号化装置２＃Ａは、上位階層Ｌ１の入力画像ＰＩＮ＃Ａを、中位階層Ｌ２の符号化データＤＡＴＡ＃Ｂを参照しながら符号化して上位階層Ｌ１の符号化データＤＡＴＡ＃Ａを生成する。上位階層Ｌ１の符号化データＤＡＴＡ＃Ａには、下位階層Ｌ３の復号画像ＰＯＵＴ＃Ｃを復号するのに必要な基本情報“Ｃ”および中位階層Ｌ２の復号画像ＰＯＵＴ＃Ｂを復号するのに必要な付加的情報“Ｂ”に加えて、上位階層の復号画像ＰＯＵＴ＃Ａを復号するのに必要な付加的情報（図４において“Ａ”にて示している）が含まれる。
【００５３】
このように上位階層Ｌ１の符号化データＤＡＴＡ＃Ａは、異なる複数の品質の復号画像に関する情報を含む。
【００５４】
次に、図４（ｂ）を参照しながら復号装置側について説明する。復号装置側では、上位階層Ｌ１、中位階層Ｌ２、および下位階層Ｌ３それぞれの階層に応じた復号装置１＃Ａ、１＃Ｂ、および１＃Ｃが、符号化データＤＡＴＡ＃Ａ、ＤＡＴＡ＃Ｂ、およびＤＡＴＡ＃Ｃを復号して復号画像ＰＯＵＴ＃Ａ、ＰＯＵＴ＃Ｂ、およびＰＯＵＴ＃Ｃを出力する。
【００５５】
なお、上位の階層符号化データの一部の情報を抽出（ビットストリーム抽出とも呼ぶ）して、より下位の特定の復号装置において、当該抽出した情報を復号することで特定の品質の動画像を再生することもできる。
【００５６】
例えば、中位階層Ｌ２の階層復号装置１＃Ｂは、上位階層Ｌ１の階層符号化データＤＡＴＡ＃Ａから、復号画像ＰＯＵＴ＃Ｂを復号するのに必要な情報（すなわち、階層符号化データＤＡＴＡ＃Ａに含まれる“Ｂ”および“Ｃ”）を抽出して、復号画像ＰＯＵＴ＃Ｂを復号してもよい。言い換えれば、復号装置側では、上位階層Ｌ１の階層符号化データＤＡＴＡ＃Ａに含まれる情報に基づいて、復号画像ＰＯＵＴ＃Ａ、ＰＯＵＴ＃Ｂ、およびＰＯＵＴ＃Ｃを復号できる。
【００５７】
なお、以上の３階層の階層符号化データに限られず、階層符号化データは、２階層で階層符号化されていてもよいし、３階層よりも多い階層数にて階層符号化されていてもよい。
【００５８】
また、特定の階層の復号画像に関する符号化データの一部または全部を他の階層とは独立して符号化し、特定の階層の復号の際に、他の階層の情報を参照しなくても済むように階層符号化データを構成してもよい。例えば、図４（ａ）および（ｂ）を用いて上述した例では、復号画像ＰＯＵＴ＃Ｂの復号に“Ｃ”および“Ｂ”を参照すると説明したが、これに限られない。復号画像ＰＯＵＴ＃Ｂが“Ｂ”だけを用いて復号できるように階層符号化データを構成することも可能である。例えば、復号画像ＰＯＵＴ＃Ｂの復号に、“Ｂ”だけから構成される階層符号化データと、復号画像ＰＯＵＴ＃Ｃを入力とする階層動画像復号装置も構成できる。
【００５９】
なお、ＳＮＲスケーラビリティを実現する場合、入力画像ＰＩＮ＃Ａ、ＰＩＮ＃Ｂ、およびＰＩＮ＃Ｃとして同一の原画を用いた上で、復号画像ＰＯＵＴ＃Ａ、ＰＯＵＴ＃Ｂ、およびＰＯＵＴ＃Ｃが異なる画質となるよう階層符号化データを生成することもできる。その場合、下位階層の階層動画像符号化装置が、上位階層の階層動画像符号化装置に較べて、より大きい量子化幅を用いて予測残差を量子化することで階層符号化データを生成する。
【００６０】
本書では、説明の便宜上、次のとおり用語を定義する。以下の用語は、特に断りがなければ、下記の技術的事項のことを表わすのに用いる。
【００６１】
VCL NALユニット  ：  VCL(Video Coding Layer、ビデオ符号化レイヤ) NALユニットとは、動画像（映像信号）の符号化データを含むNALユニットである。例えば、VCL NALユニットには、スライスデータ（ＣＴＵの符号化データ）、及び当該スライスの復号を通じて共通で利用されるヘッダ情報（スライスヘッダ）が含まれる。
【００６２】
non-VCL NALユニット  ：  non-VCL(non-Video Coding Layer、非ビデオ符号化レイヤ、非VCL) NALユニットとは、ビデオパラメータセットＶＰＳ、シーケンスパラメータセットＳＰＳ、ピクチャパラメータセットＰＰＳ等の各シーケンスやピクチャを復号する時に利用される符号化パラメータの集合であるヘッダ情報等の符号化データを含むNALユニットである。
【００６３】
レイヤ識別子  ：  レイヤ識別子(レイヤIDとも称する)は、階層（レイヤ）を識別するためのものであり、階層と１対１に対応する。階層符号化データには特定の階層の復号画像の復号に必要な部分符号化データを選択するために用いられる識別子が含まれる。特定のレイヤに対応するレイヤ識別子に関連付けられた階層符号化データの部分集合は、レイヤ表現とも呼称される。
【００６４】
一般に、特定の階層の復号画像の復号には、当該階層のレイヤ表現、および／または、当該階層の下位レイヤに対応するレイヤ表現が用いられる。すなわち、対象レイヤの復号画像の復号においては、対象レイヤのレイヤ表現、および／または、対象レイヤの下位レイヤに含まれる１つ以上階層のレイヤ表現が用いられる。
【００６５】
レイヤ  ：  特定の階層（レイヤ）のレイヤ識別子の値(nuh_layer_id, nuhLayerId)をもつVCL NAL UNIT及びそのVCL NALユニットに関連付けられたnon-VCL NAL UNITの集合、あるいは、階層的な関係をもつシンタックス構造の集合の一つである。
【００６６】
上位レイヤ  ：  ある階層よりも上位に位置する階層のことを、上位レイヤと称する。例えば、図４において、下位階層Ｌ３の上位レイヤは、中位階層Ｌ２および上位階層Ｌ１である。また、上位レイヤの復号画像とは、より品質の高い（例えば、解像度が高い、フレームレートが高い、画質が高い等）復号画像のことをいう。
【００６７】
下位レイヤ  ：  ある階層よりも下位に位置する階層のことを、下位レイヤと称する。例えば、図４において、上位階層Ｌ１の下位レイヤは、中位階層Ｌ２および下位階層Ｌ３である。また、下位レイヤの復号画像とは、より品質の低い復号画像のことをいう。
【００６８】
対象レイヤ  ：  復号または符号化の対象となっている階層のことをいう。なお、対象レイヤに対応する復号画像を対象レイヤピクチャと呼ぶ。また、対象レイヤピクチャを構成する画素を対象レイヤ画素と呼ぶ。
【００６９】
参照レイヤ  ：  対象レイヤに対応する復号画像を復号するのに参照される特定の下位レイヤのことを参照レイヤと称する。なお、参照レイヤに対応する復号画像を参照レイヤピクチャと呼ぶ。また、参照レイヤを構成する画素を参照レイヤ画素と呼ぶ。
【００７０】
図４（ａ）および（ｂ）に示した例では、上位階層Ｌ１の参照レイヤは、中位階層Ｌ２および下位階層Ｌ３である。しかしながら、これに限られず、特定の上記レイヤの復号において、下位レイヤのすべてを参照しなくてもよいように階層符号化データを構成することもできる。例えば、上位階層Ｌ１の参照レイヤが、中位階層Ｌ２および下位階層Ｌ３のいずれか一方となるように階層符号化データを構成することも可能である。また、参照レイヤは、対象レイヤの復号に用いられる符号化パラメータ等を予測する際に利用（参照）される、対象レイヤとは異なるレイヤであるとも表現できる。対象レイヤのレイヤ間予測で直接、参照される参照レイヤを直接参照レイヤとも呼ばれる。また、対象レイヤの直接参照レイヤＡのレイヤ間予測で参照される直接参照レイヤＢは、対象レイヤの間接参照レイヤとも呼ばれる。
【００７１】
ここで、図５を参照しながら、間接参照レイヤについて説明する。図５では、レイヤ数が、N+1であり、j番目のレイヤ（図５上のL#j、レイヤｊと呼ぶ）は、i番目のレイヤ（図５上のL#i、レイヤiと呼ぶ）より下位のレイヤである（j<i）。また、レイヤｊより上位であり、レイヤiより下位であるレイヤｋ(図５上では、L#k)（j<k<i）があるとする。図５では、レイヤkは、レイヤjに直接的に依存し（図５上の実線の矢印、レイヤｊはレイヤｋの直接参照レイヤ）、レイヤiは、レイヤｋに直接的に依存する(レイヤkは、レイヤjの直接参照レイヤ)。このとき、レイヤiは、レイヤｋを介して、レイヤｊに対して、間接的に依存する（図５上の点線の矢印）ため、レイヤｊはレイヤiの間接参照レイヤであると呼ぶ。
【００７２】
また、図５の例では、レイヤｊは、レイヤ1（図５上のL#1）に直接的に依存し、レイヤ1は、レイヤ0(図５上のL#0、基本レイヤ)に直接的に依存している。このとき、レイヤiは、レイヤk、レイヤjを介して、レイヤ1に間接的に依存するため、レイヤ1は、レイヤiの間接参照レイヤである。また、レイヤiは、レイヤk、レイヤj、レイヤ1を介して、レイヤ0に間接的に依存するため、レイヤ0は、レイヤiの間接参照レイヤである。換言すれば、レイヤiが、１又は複数のレイヤｋ(i<k<j)を介して、レイヤjに対して、間接的に依存す場合、レイヤｊは、レイヤiの間接参照レイヤである。なお、対象レイヤに対する直接参照レイヤ、及び間接参照レイヤを総称して、依存レイヤと呼ぶ。
【００７３】
基本レイヤ(base layer)  ：  最下層に位置する階層のことを基本レイヤと称する。基本レイヤの復号画像は、符号化データから復号され得るもっとも低い品質の復号画像であり、基本復号画像と呼称される。別の言い方をすれば、基本復号画像は、最下層の階層に対応する復号画像のことである。基本復号画像の復号に必要な階層符号化データの部分符号化データは基本符号化データと呼称される。例えば、上位階層Ｌ１の階層符号化データＤＡＴＡ＃Ａに含まれる基本情報“Ｃ”が基本符号化データである。また、基本レイヤは、少なくとも、同一のレイヤ識別子を有し、かつそのレイヤ識別子(nuh_layer_id)の値は０である、１又は複数のVCL NALユニットからなるレイヤである。
【００７４】
拡張レイヤ(non-base layer)  ：  基本レイヤの上位レイヤは、拡張レイヤと称される。また、拡張レイヤは、少なくとも、同一のレイヤ識別子を有し、そのレイヤ識別子(nuh_layer_id)の値が０より大きい、１又は複数のVCL NALユニットからなるレイヤである。
【００７５】
レイヤ間予測  ：  レイヤ間予測とは、対象レイヤのレイヤ表現と異なる階層（参照レイヤ）のレイヤ表現に含まれるシンタックス要素値、シンタックス要素値より導出される値、および復号画像に基づいて、対象レイヤのシンタックス要素値や対象レイヤの復号に用いられる符号化パラメータ等を予測することである。動き予測に関する情報を参照レイヤの情報から予測するレイヤ間予測のことをレイヤ間動き情報予測と称することもある。また、下位レイヤの復号画像から予測するレイヤ間予測のことをレイヤ間画像予測（あるいはレイヤ間テクスチャ予測）と称することもある。なお、レイヤ間予測に用いられる階層は、例示的には、対象レイヤの下位レイヤである。また、参照レイヤを用いず対象レイヤ内で予測を行うことをレイヤ内予測と称することもある。
【００７６】
テンポラル識別子：  テンポラル識別子（テンポラルＩＤ、時間識別子、サブレイヤＩＤ、あるいはサブレイヤ識別子ともいう）は、時間スケーラビリティに関するレイヤ（以降、サブレイヤ）を識別するための識別子である。テンポラル識別子は、サブレイヤを識別するためのものであり、サブレイヤと１対１に対応する。符号化データには特定のサブレイヤの復号画像の復号に必要な部分符号化データを選択するために用いられるテンポラル識別子が含まれる。特に、最高次（最上位）のサブレイヤのテンポラル識別子を最高次（最上位）テンポラル識別子(highest TemporalId, highestTid)と称する。
【００７７】
サブレイヤ：  サブレイヤとは、テンポラル識別子により特定される時間スケーラビリティに関するレイヤである。空間スケーラビリティ、ＳＮＲスケーラビリティ等、そのほかのスケーラビリティと区別するため、以降サブレイヤと称する（テンポラルレイヤとも称する）。また、以降では、時間スケーラビリティは、基本レイヤの符号化データ、またはあるレイヤを復号するために必要な階層符号化データ、に含まれるサブレイヤによって実現されるものとする。
【００７８】
レイヤセット：  レイヤセットとは、1以上のレイヤからなるレイヤの集合である。
【００７９】
ビットストリーム抽出処理  ：  ビットストリーム抽出処理とは、あるビットストリーム（階層符号化データ、符号化データ）から、対象最高次テンポラル識別子(highest TemporalId, highestTid)、及び対象レイヤセットに含まれるレイヤを表わすレイヤIDリスト(LayerSetLayerIdList[]、LayerIdList[]ともいう)によって定まる集合（ターゲットセットTargetSetと呼ぶ）に含まれないNALユニットを除去（破棄）し、ターゲットセットTargetSetに含まれるNALユニットから構成されるビットストリーム（サブビットストリームとも称する）を抽出する処理である。ビットストリーム抽出は、サブビットストリーム抽出とも呼ばれる。なお、レイヤセットに含まれるレイヤを識別するレイヤID（または、ＶＰＳ上でのレイヤの順番を示すインデクス）は、レイヤIDリストLayerIdList[K](K=0・-1, Nはレイヤセットに含まれるレイヤ数)の各要素に、格納されているものとする。また、対象最高次テンポラル識別子をHighestTidTargetと称し、対象レイヤセットをLayerSetTargetと称し、対象レイヤセットのレイヤIDリスト（対象レイヤIDリスト）をLayerIdListTargetとも称する。また、ビットストリーム抽出により生成された、ターゲットセットに含まれるNALユニットから構成されるビットストリーム（画像符号化データ）を復号対象画像符号化データ（BitstreamToDecode）とも称する。
【００８０】
次に、図６、及び図７を参照して、ビットストリーム抽出処理により、あるレイヤセットＡを含む階層符号化データより、レイヤセットＡのサブセットとなるレイヤセットＢを含む階層符号化データを抽出する例について説明する。
【００８１】
図６は、３つのレイヤ（L#0, L#1, L#2）、及び各レイヤは３つのサブレイヤ(TID1, TID2, TID3)からなるレイヤセットＡの構成を表わす。なお、以降では、レイヤセットを構成するレイヤ、及びサブレイヤを、｛レイヤIDリスト｛L#0,・L#N｝、最高次テンポラルID=K｝、あるいは｛LayerIdList={L#0,・L#N}, HighestTid=K｝と表わす。例えば、図６のレイヤセットＡは、｛レイヤIDリスト｛L#0, L#1, L#2｝, 最高次テンポラルID=3｝、あるいは｛LayerIdList=｛L#0, L#1, L#2｝, HighestTid=3｝と表現される。ここで、符号L#Nは、あるレイヤＮを示し、図６中の各ボックスは、ピクチャを表わし、ボックス内の番号は、復号順の一例を表わす。以降、ピクチャで番号Ｎを、P#Nと表記する（図７についても同様）。
【００８２】
また、各ピクチャ間の矢印は、ピクチャ間の依存方向（参照関係）を表わす。同一レイヤ内の矢印であれば、インター予測に利用される参照ピクチャであることを示す。レイヤ間の矢印であれば、レイヤ間予測に利用される参照ピクチャ（参照レイヤピクチャともいう）であることを表わす。
【００８３】
また、図６中のＡＵは、アクセスユニットを表わし、符号＃Ｎは、アクセスユニット番号を表わす。ＡＵ＃Ｎは、ある起点（例えば、ランダムアクセス開始点）のＡＵをＡＵ＃０とすれば、（Ｎ−１）番目のアクセスユニットであることを表わし、ビットストリームに含まれるＡＵの順番を表わす。すなわち、図６の例であれば、ビットストリーム上で、アクセスユニットは、ＡＵ＃０、ＡＵ＃１、ＡＵ＃２、ＡＵ＃３、ＡＵ＃４・フ順で格納されている。なお、アクセスユニットとは、特定の分類ルールにより集約されたＮＡＬユニットの集合を表わす。図６のＡＵ＃０は、ピクチャＰ＃１、Ｐ＃１、及びＰ＃３の符号化データを含むVCL NALの集合とみることができる。なお、アクセスユニットの詳細については後述する。
【００８４】
図６の例では、ターゲットセットTargetSet（レイヤセットＢ）は、｛LayerIdList=｛L#0,L#1｝、HighestTid=2｝であるから、レイヤセットＡを含むビットストリームから、ターゲットセットTargetSet（レイヤセットＢ）に含まれないレイヤ、及び最高次テンポラルID(HighestTid=2)より大きいサブレイヤを、ビットストリーム抽出により破棄する。すなわち、レイヤIDリストに含まれないレイヤL#2、及びサブレイヤ(TID3)を有するNALユニットが破棄され、最終的には、図７に示すように、レイヤセットＢを含むビットストリームが抽出される。図７では、点線のボックスは、破棄されたピクチャを表わし、点線の矢印は、破棄されたピクチャと参照ピクチャ間の依存方向を示す。なお、レイヤL#3、及びTID3のサブレイヤのピクチャを構成するNALユニットは破棄済のため、依存関係は既に断ち切られている。
【００８５】
SHVCやMV-HEVCでは、SNRスケーラビリティ、空間スケーラビリティ、時間スケーラビリティ等を実現するために、レイヤ、及びサブレイヤの概念が導入されている。図６、図７で既に説明したように、フレームレートを変更し時間スケーラビリティを実現する場合、ビットストリーム抽出処理により、まず他のピクチャから参照されないピクチャ（最高次テンポラルID（TID3））の符号化データを破棄する。図６、図７の場合、ピクチャ（１０、１３、１１、１４、１２、１５）の符号化データを破棄することにより、フレームレートが１／２となる符号化データが生成される。
【００８６】
また、SNRスケーラビリティ、空間スケーラビリティや、ビュースケーラビリティを実現する場合、ビットストリーム抽出により、ターゲットセットTargetSetに含まれない、レイヤの符号化データを破棄することで、各スケーラビリティの粒度を変更することができる。図６、図７の場合、ピクチャ（３、６、９、１２、１５）の符号化データを破棄することで、スケーラビリティの粒度を粗くした符号化データが生成される。上記処理を繰り返すことで、段階的にレイヤ、サブレイヤの粒度を調整することができる。
【００８７】
なお、図６において、レイヤL#0とレイヤL#1との間にレイヤ間予測等の依存関係がなければ、レイヤセットＡのビットストリームから、ビットストリーム抽出により、単独のレイヤからなる、レイヤセットＡのサブセットであるレイヤセットＣ｛LayerIdList={L#1｝、HighestTid=2｝を含むビットストリームを抽出することも可能である。
【００８８】
レイヤセットグラフ (Layer Set Graph)：  レイヤセットグラフ（あるいはレイヤセットツリー(Layer Set Tree)）とは、１以上の互いに異なるレイヤセットから構成されるレイヤセットの集合であって、各レイヤセット間の親子関係（接続関係）を表すグラフ（ツリー）である。なお、互いに異なるレイヤセットとは、レイヤセットＡのレイヤIDリストLayerIdListAの要素数と要素（レイヤ）の組み合わせ(配列)が、レイヤセットＢのレイヤIDリストLayeridListBの要素数と要素の組み合わせ(配列)が同一ではないことを表し、LayerIdListA != LayerIdListBである。ここで、図８を参照しながら、レイヤセットグラフの概念について詳細に説明する。
【００８９】
図８（ａ）は、レイヤ間の参照関係（直接参照の依存方向）（レイヤグラフ、またはレイヤツリー）の一例を示し、レイヤ数が４であり、レイヤ０（同図上のL#0）はレイヤ１（同図上のL#1）の直接参照レイヤであり、レイヤ１はレイヤ２（同図上のL#2）の直接参照レイヤであり、レイヤ３（同図上のL#3）は異なるレイヤi(i=0・)間でVCLの依存関係がない独立なレイヤ（独立レイヤ）である。なお、図８（ａ）に示すレイヤグラフは、頂点（ノード、レイヤ）の集合Ｖ、辺（エッジ）の集合Ｅを用いて、式(B1)で表記することができる。ここで、式(B1)において、有向辺(i, j)は、「iを出てjへ入る」という。
【００９０】
V = { L#0, L#1, L#2, L#3 }, 
E = { (L#2, L#1), (L#1, L#0) }  ・B1)
【００９１】
図８（ｂ）は、図８（ａ）のレイヤグラフの場合にとり得るレイヤセットの一例を示し、レイヤセット数が５であり、レイヤセット０(LayerSet#0)は、レイヤ０から構成され、レイヤセット１(LayerSet#1)は、レイヤ０、レイヤ１から構成され、レイヤセット２(LayerSet#2)は、レイヤ０、レイヤ１、レイヤ２から構成され、レイヤセット３(LayerSet#3)は、レイヤ０、レイヤ１、レイヤ２、レイヤ３から構成され、レイヤセット４（LayerSet#4）は、レイヤ３から構成される。
【００９２】
図８（ｃ）は、図８（ｂ）のレイヤセットの定義の場合に導出されるレイヤセットグラフの一例を示す。各ノード（レイヤセット）S#Nは、レイヤセットLayerSet#Nの省略記号であり、レイヤセットS#iからレイヤセットS#jへ向かう矢印は、レイヤセットS#iとレイヤセットS#jの親子関係を示し、「レイヤセットS#iは、レイヤセットS#jの全ての要素（レイヤ）を含むレイヤセットである」（ＣＡ１）、かつ、「レイヤセット（ノード）S#iからレイヤセット（ノード）S#jへの距離が１である」（ＣＡ２）ことを示す。条件ＣＡ１及びＣＡ２はそれぞれ、次式（A1）、(A2)によって表わすことができる。ここで、式(A1)の演算式“⊇”は、「左辺の集合が右辺の集合を真部分集合として含む」ことを表わし、「右辺の集合は、左辺の集合の真部分集合である」ともいう。式(A2)の演算式“dist(A,B)”は、「ノードＡからノードＢへの距離」を表わす。
【００９３】
S#i⊇S#j;                ・A1)
dist(S#i, S#j) = 1;      ・A2)
図８（ｃ）に示すレイヤセットグラフは、頂点（ノード、レイヤセット）の集合Ｖ、辺（エッジ）の集合Ｅを用いて、式(B2)で表記することができる。
【００９４】
V = { S#0, S#1, S#2, S#3, S#4 }, 
E = { (S#3, S#2), (S#2, S#1), (S#1, S#0), (S#3, S#4) }  ・B2)
図８（ｃ）に示すレイヤセットグラフにおいて、レイヤセットS#3は、レイヤセットS#0・#2,S#4を包含するレイヤセットであって、最大の要素数を有するレイヤセットであり、最大レイヤセットと称する。また、レイヤセットS#0、及びレイヤセットS#4は、最大レイヤセット（レイヤセットS#3）に包含され、かつ、最小の要素数を有するレイヤセットであり、最大レイヤセットに対する最小レイヤセットと称する。より一般的に言えば、最小レイヤセットとは、あるレイヤセットグラフにおいて、あるレイヤセットを始点としたときに、端点となるレイヤセットである。
【００９５】
なお、図８（ｃ）に示すレイヤセットグラフにおいて、レイヤセットS#3から１以上の有向辺（０以上のノード）を経て接続するS#2, S#1, S#0、またはS#4は、レイヤセットS#3を含むビットストリームからビットストリーム抽出処理によって抽出可能なレイヤセットでもある。
【００９６】
より一般的に言えば、「あるレイヤセットグラフにおいて、レイヤセットS#jから１以上の有向辺（０以上のノード（レイヤセット））を経て接続するレイヤセットS#iは、レイヤセットS#jを含むビットストリームからビットストリーム抽出処理によって抽出可能なレイヤセットである」と表現することができる。
【００９７】
例えば、図８（ｃ）において、レイヤセットS#2とレイヤセットS#0に注目すれば、レイヤセット０は、レイヤセットS#2から有向辺（S#2,S#1）,(S#1,S#0)（あるいはノードS#1）を経て接続するレイヤセットである。従って、レイヤセットS#0は、レイヤセットS#2を含むビットストリームから、ビットストリーム抽出処理によって抽出可能なレイヤセットである。
【００９８】
図８の例では、レイヤセットの定義には、全てのレイヤを含むレイヤセットが定義されているものとしたが、定義されていなくてもよい。この場合は、全てのレイヤを含むレイヤセットが仮想的に定義されているものとして扱う。
【００９９】
すなわち、レイヤセットS#jがS#iを含むビットストリームから、ビットストリーム抽出可能であるか否かは、あるレイヤセットグラフにおいて、レイヤセットS#iから1以上の有向辺を経て接続するレイヤセットS#jであるか否かを調べれば判定可能である。なお、以降では、表記を簡便にするため、あるレイヤセットグラフにおいて、レイヤセットS#iから1以上の有向辺を経て接続するレイヤセットS#jを、単に、レイヤセットS#iのサブセットであるレイヤセットS#ｊと呼ぶことにする。なお、図８（ｂ）に示すレイヤセットの定義より、図８（ｃ）に示すレイヤセットグラフ（ノードの集合V及びエッジ（有向辺）の集合E）の導出の手順については後述する。
【０１００】
また、図９（ａ）は、レイヤ間の参照関係（直接参照の依存方向）（レイヤグラフ、またはレイヤツリー）の別の一例を示し、レイヤ数が４であり、レイヤ０（同図上のL#0）はレイヤ１（同図上のL#1）の直接参照レイヤであり、レイヤ２（同図上のL#2）、及びレイヤ３（同図上のL#3）は独立レイヤである。なお、図９（ａ）に示すレイヤグラフは、ノードの集合V、エッジの集合Eを用いて、式(B3)で表記することができる。
【０１０１】
V = { L#0, L#1, L#2, L#3 }, 
E = { (L#1, L#0) }  ・B3)
【０１０２】
図９（ｂ）は、図９（ａ）のレイヤグラフの場合にとり得るレイヤセットの一例を示し、レイヤセット数が５であり、レイヤセット０(LayerSet#0)は、レイヤ０から構成され、レイヤセット１(LayerSet#1)は、レイヤ０、レイヤ１から構成され、レイヤセット２(LayerSet#2)は、レイヤ０、レイヤ１、レイヤ２、レイヤ３から構成され、レイヤセット３(LayerSet#3)は、レイヤ２、レイヤ３から構成され、レイヤセット４（LayerSet#4）は、レイヤ２から構成される。
【０１０３】
図９（ｃ）は、図９（ｂ）のレイヤセットの定義の場合に導出されるレイヤセットグラフの一例である。
【０１０４】
図９（ｃ）に示すレイヤセットグラフは、ノードの集合V、エッジの集合Eを用いて、式(B4)で表記することができる。
【０１０５】
V = { S#0, S#1, S#2, S#3, S#4 }, 
E = { (S#2, S#1), (S#2, S#3), (S#1, S#0), (S#3, S#4) }  ・B4)
図９（ｃ）に示すレイヤセットグラフにおいて、レイヤセットS#2は、レイヤセットS#0・#1, S#3,S#4を包含するレイヤセットであって、最大の要素数を有するレイヤセットであり、最大レイヤセットである。また、レイヤセットS#0、及びレイヤセットS#4は、最大レイヤセット（レイヤセットS#2）に包含され、かつ、最小の要素数を有するレイヤセットであり、最大レイヤセットに対する最小レイヤセットである。
【０１０６】
なお、図９（ｃ）に示すレイヤセットグラフにおいて、レイヤセットS#2から１以上の有向辺（０以上のノード）を経て接続するS#1, S#0、またはS#3, S#4は、レイヤセットS#2を含むビットストリームからビットストリーム抽出処理によって抽出可能なレイヤセットでもある。
【０１０７】
例えば、図９（ｃ）において、レイヤセットS#2とレイヤセットS#0に注目すれば、レイヤセット０は、レイヤセットS#2から有向辺（S#2,S#1）,(S#1,S#0)（あるいはノードS#1）を経て接続するレイヤセットである。従って、レイヤセットS#0は、レイヤセットS#2を含むビットストリームから、ビットストリーム抽出処理によって抽出可能なレイヤセットである。
【０１０８】
なお、以上の用語は、飽くまで説明の便宜上のものであり、上記の技術的事項を別の用語にて表現してもかまわない。
【０１０９】
〔階層符号化データのデータ構造について〕
以下、各階層の符号化データを生成する符号化方式として、HEVCおよびその拡張方式を用いる場合について例示する。しかしながら、これに限られず、各階層の符号化データを、MPEG-2や、H.264/AVCなどの符号化方式により生成してもよい。
【０１１０】
また、下位レイヤと上位レイヤとが異なる符号化方式によって符号化されていてもよい。また、各階層の符号化データは、互いに異なる伝送路を介して階層動画像復号装置１に供給されてもよいし、同一の伝送路を介して階層動画像復号装置１に供給されてもよい。
【０１１１】
例えば、超高精細映像（動画像、４Ｋ映像データ）を基本レイヤおよび１つの拡張レイヤによりスケーラブル符号化して伝送する場合、基本レイヤは、４Ｋ映像データをダウンスケーリングし、インタレース化した映像データをMPEG-2またはH.264/AVCにより符号化してテレビ放送網で伝送し、拡張レイヤは、４Ｋ映像（プログレッシブ）をHEVCにより符号化して、インターネットで伝送してもよい。
【０１１２】
＜階層符号化データＤＡＴＡの構造＞
本実施形態に係る画像符号化装置２および画像復号装置１の詳細な説明に先立って、画像符号化装置２によって生成され、画像復号装置１によって復号される階層符号化データＤＡＴＡのデータ構造について説明する。
【０１１３】
（ＮＡＬユニットレイヤ）
図１０は、階層符号化データＤＡＴＡにおけるデータの階層構造を示す図である。階層符号化データＤＡＴＡは、NAL（Network Abstraction Layer）ユニットと呼ばれる単位で符号化される。
【０１１４】
NALは、動画像符号化処理を行う層であるVCL（Video Coding Layer）と、符号化データを伝送・蓄積する下位システムとの間における通信を抽象化するために設けられる層である。
【０１１５】
VCLは、画像符号化処理を行う層のことであり、VCLにおいて符号化が行われる。一方、ここでいう、下位システムは、H.264/AVCおよびHEVCのファイルフォーマットや、MPEG-2システムに対応する。以下に示す例では、下位システムは、対象レイヤおよび参照レイヤにおける復号処理に対応する。なお、NALでは、VCLで生成されたビットストリームが、NALユニットという単位で区切られて、宛先となる下位システムへ伝送される。
【０１１６】
図１１（ａ）は、NALユニットのシンタックステーブルを示す。NALユニットには、VCLで符号化された符号化データ、および、当該符号化データが宛先の下位システムに適切に届けられるためのヘッダ（NALユニットヘッダ：nal_unit_header()）が含まれる。NALユニットヘッダは、例えば、図１１（ｂ）に示すシンタックスで表わされる。NALユニットヘッダには、NALユニットに格納された符号化データの種類を表わす“nal_unit_type”、格納された符号化データが属するサブレイヤの識別子（テンポラル識別子）を表わす”nuh_temporal_id_plus1”や、格納された符号化データが属するレイヤの識別子（レイヤ識別子）を表わす”nuh_layer_id”（または、nuh_reserved_zero_6bits）が記述されている。一方、NALユニットデータには、後述のパラメータセット、SEI、スライスなどが含まれる。
【０１１７】
図１２は、NALユニットタイプの値とNALユニットの種別の関係を示す図である。図１２に示す通り、SYNA101で示される０から１５の値のNALユニットタイプを持つNALユニットは、非RAP (ランダムアクセスピクチャ)のスライスである。SYNA102で示される１６から２１の値のNALユニットタイプを持つNALユニットは、RAP (ランダムアクセスピクチャ、IRAPピクチャ)のスライスである。RAPピクチャには、大きく分けて、BLAピクチャ、IDRピクチャ、CRAピクチャがあり、BLAピクチャは、さらに、BLA_W_LP、BLA_W_DLP、BLA_N_LPに分類される。IDRピクチャは、さらに、IDR_W_DLP、IDR_N_LPに分類される。RAPピクチャ以外のピクチャには、リーディングピクチャ（LPピクチャ）、テンポラルアクセスピクチャ（TSAピクチャ、STSAピクチャ）、トレイリングピクチャ（TRAILピクチャ）などがある。なお、各階層における符号化データは、NALユニットに格納されることでNAL多重化されて階層動画像復号装置１に伝送される。
【０１１８】
図１２、特にNAL Unit Type Classで示されるように、各NALユニットは、NALユニットタイプに応じて、ピクチャを構成するデータ(VCLデータ)と、それ以外のデータ（non-VCL）に分類される。ピクチャは、ランダムアクセスピクチャ、リーディングピクチャ、トレイリングピクチャなどのピクチャ種別によらず、全てVCL NALユニットに分類され、ピクチャの復号に必要なデータであるパラメータセットや、ピクチャの補助情報であるSEI、シーケンスの区切りを表わすアクセスユニットデリミタ(AUD)、エンドオブシーケンス(EOS)、エンドオブビットストリーム(EOB)などは、non-VCL NALユニットに分類される。
【０１１９】
（アクセスユニット）
特定の分類ルールにより集約されたNALユニットの集合のことをアクセスユニットと呼ぶ。レイヤ数が１の場合には、アクセスユニットは１ピクチャを構成するNALユニットの集合である。レイヤ数が１より大きい場合には、アクセスユニットは同じ時刻の複数のレイヤのピクチャを構成するNALユニットの集合である。なお、アクセスユニットの区切りを示すために、符号化データはアクセスユニットデリミタ（AUD:Access unit delimiter）と呼ばれるNALユニットを含んでも良い。アクセスユニットデリミタは、符号化データ中にあるアクセスユニットを構成するNALユニットの集合と、別のアクセスユニットを構成するNALユニットの集合の間に含まれる。
【０１２０】
図１３は、アクセスユニットに含まれるNALユニットの構成の一例を示す図である。図１３に示すように、AUには、AUの先頭であることを示すアクセスユニットデリミタ（AUD）、各種パラメータセット（VPS, SPS, PPS）、各種SEI（Prefix SEI, Suffix SEI）、レイヤ数が１の場合は１ピクチャを構成するVCL（slice）、レイヤ数が１より大きい場合はレイヤ数分のピクチャを構成するVCL、シーケンスの終端を示すEOS（End of Sequence）、ビットストリームの終端を示すEOB（End of Bitstream）等のNALユニットから構成される。なお、図１３において、VPS, SPS, SEI, VCLの後の符号L#K(K=Nmin・max)は、レイヤID（あるいは、VPS上でのレイヤの順番を示すインデクス）を表わす。図１３の例では、AU内に、VPSを除き、各レイヤL#Nmin〜レイヤL#NmaxのSPS, PPS, SEI, VCLが、レイヤID（あるいは、VPS上でのレイヤの順番を示すインデクス）の昇順で存在する。図１３の例では、VPSは、最低次のレイヤIDでのみ送られる。なお、図１３において、特定NALユニットがAU内に存在するか、または繰り返し存在するかを、矢印によって示している。
【０１２１】
例えば、特定のNALユニットがAU内に存在すれば、そのNALユニットを通過する矢印で示し、特定のNALユニットがAU内に存在しなければ、そのNALユニットをスキップする矢印で示している。例えば、AUDを通らずに、VPSへ向かう矢印は、AUDがAU内に存在しない場合を示す。また、VCLを通過してから再びVCLへ戻る矢印は、１以上のVCLが存在する場合を示す。
【０１２２】
また、最低次以外の上位のレイヤIDを有するVPSがAU内に含まれてもよいが、画像復号装置は、最低次以外のレイヤIDを有するVPSを無視するものとする。また、各種パラメータセット（VPS，SPS，PPS）や補助情報であるSEIは、図１３のように、アクセスユニットの一部として含まれてもよいし、ビットストリームとは別の手段でデコーダに伝達されてもよい。なお、図１３は、アクセスユニットに含まれるNALユニットの構成の一実施形態に過ぎず、アクセスユニットに含まれるNALユニットの構成は、ビットストリームを復号することが可能な範囲で変更が可能である。
【０１２３】
特に、レイヤ識別子nuhLayerId=0のIRAPピクチャを含むるアクセスユニットを、IRAPアクセスユニット(ランダムアクセスポイント・アクセスユニット)と呼ぶ。また、復号対象レイヤセットに含まれる全レイヤの復号処理の初期化を実施するIRAPアクセスユニットを初期化IRAPアクセスユニットと呼ぶ。また、復号順で、初期化IRAPアクセスユニットから、0以上の非初期化IRAPアクセスユニット(初期化IRAPアクセスユニット以外のアクセスユニット)が続き、次の初期化IRAPアクセスユニットまでのアクセスユニットの集合（ただし、次の初期化IRAPアクセスユニットは除く）を、CVS（Coded Video Sequence;符号化ビデオシーケンス、以降ではシーケンスSEQを含む）とも称する。
【０１２４】
図１４は、階層符号化データＤＡＴＡにおけるデータの階層構造を示す図である。階層符号化データＤＡＴＡは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図１４の（ａ）〜（ｆ）は、それぞれ、シーケンスSEQを既定するシーケンスレイヤ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、スライスデータを規定するスライスデータレイヤ、スライスデータに含まれる符号化ツリーユニットを規定する符号化ツリーレイヤ、符号化ツリーに含まれる符号化単位（Coding Unit；CU）を規定する符号化ユニットレイヤを示す図である。
【０１２５】
（シーケンスレイヤ）
シーケンスレイヤでは、処理対象のシーケンスSEQ（以下、対象シーケンスとも称する）を復号するために画像復号装置１が参照するデータの集合が規定されている。シーケンスSEQは、図１４の（ａ）に示すように、ビデオパラメータセット（Video Parameter Set）シーケンスパラメータセットSPS（Sequence Parameter Set）、ピクチャパラメータセットPPS（Picture Parameter Set）、ピクチャPICT、及び、付加拡張情報SEI（Supplemental Enhancement Information）を含んでいる。ここで＃の後に示される値はレイヤIDを示す。図１４では、＃０と＃１すなわちレイヤIDが０とレイヤIDが１の符号化データが存在する例を示すが、レイヤの種類およびレイヤの数はこれに限定されない。
【０１２６】
（ビデオパラメータセット）
ビデオパラメータセットVPSでは、１以上のレイヤから構成される符号化データを復号するために画像復号装置１が参照する符号化パラメータの集合が規定されている。例えば、後述のシーケンスパラメータセットや他のシンタックス要素が参照するVPSを識別するために用いるVPS識別子(video_parameter_set_id)や、符号化データに含まれるレイヤ数(vps_max_layers_minus1)、レイヤに含まれるサブレイヤ数(vps_sub_layers_minus1)、符号化データ中で表現される1以上のレイヤからなるレイヤの集合を規定するレイヤセットの数(vps_num_layer_sets_minus1)、レイヤセットを構成するレイヤの集合を規定するレイヤセット構成情報(layer_id_included_flag[i][j])や、レイヤ間の依存関係(直接依存フラグdirect_dependency_flag[i][j]、レイヤ依存タイプdirect_dependency_type[i][j])などが規定されている。VPSは符号化データ内に複数存在してもよい。その場合、対象シーケンス毎に復号に用いられるVPSが複数の候補から選択される。あるレイヤに属する特定シーケンスの復号に使用されるVPSは、アクティブVPSと呼ばれる。また、基本レイヤと拡張レイヤに適用されるVPSを区別して、基本レイヤ（レイヤID＝０）に対するVPSをアクティブVPSと呼び、拡張レイヤ（レイヤID＞０）に対するVPSをアクティブレイヤVPSと呼ぶこともある。以下では、特に断りがなければ、VPSは、あるレイヤに属する対象シーケンスに対するアクティブVPSを意味する。なお、レイヤID＝nuhLayerIdAであるレイヤLayerAの復号で利用される、レイヤID＝nuhLayerIdAであるVPSは、nuhLayerIdAよりも大きいレイヤIDであるレイヤLayerB（nuhLayerIdB、nuhLayerIdB>nuhLayerIdA）の復号に利用されてもよい。
【０１２７】
また、以降、特に断りがなければ、VPSのテンポラルIDは０である（tId=0）とする制約（ビットストリーム制約ともいう）がデコーダとエンコーダ間であるものとする。
【０１２８】
（シーケンスパラメータセット）
シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置１が参照する符号化パラメータの集合が規定されている。例えば、対象SPSが参照するアクティブVPSを表わすアクティブVPS識別子(sps_video_parameter_set_id)、後述のピクチャパラメータセットや他のシンタックス要素が参照するＳＰＳを識別するために用いるSPS識別子（sps_seq_parameter_set_id）や、ピクチャの幅や高さが規定される。SPSは符号化データ内に複数存在してもよい。その場合、対象シーケンス毎に復号に用いられるSPSが複数の候補から選択される。あるレイヤに属する特定シーケンスの復号に使用されるSPSは、アクティブSPSとも呼ばれる。また、基本レイヤと拡張レイヤに適用されるSPSを区別して、基本レイヤに対するSPSをアクティブSPSと呼び、拡張レイヤに対するSPSをアクティブレイヤSPSと呼ぶこともある。なお、レイヤID＝nuhLayerIdAであるレイヤLayerAの復号で利用される、レイヤID＝nuhLayerIdAであるSPSは、nuhLayerIdAよりも大きいレイヤIDであるレイヤLayerB（nuhLayerIdB、nuhLayerIdB>nuhLayerIdA）の復号に利用されてもよい。
【０１２９】
以下では、特に断りがなければ、SPSは、あるレイヤに属する対象シーケンスに対するアクティブSPSを意味する。また、以降、特に断りがなければ、SPSのテンポラルIDは０である（tId=0）とする制約（ビットストリーム制約ともいう）がデコーダとエンコーダ間であるものとする。
【０１３０】
（ピクチャパラメータセット）
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置１が参照する符号化パラメータの集合が規定されている。例えば、対象PPSが参照するアクティブSPSを表わすアクティブSPS識別子(pps_seq_parameter_set_id)、後述のスライスヘッダや他のシンタックス要素が参照するPPSを識別するために用いるPPS識別子（pps_pic_parameter_set_id）や、ピクチャの復号に用いられる量子化幅の基準値（pic_init_qp_minus26）や重み付き予測の適用を示すフラグ（weighted_pred_flag）、スケーリングリスト（量子化マトリックス）が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。あるレイヤに属する特定ピクチャの復号に使用されるPPSはアクティブPPSと呼ばれる。また、基本レイヤと拡張レイヤに適用されるPPSを区別して、基本レイヤに対するPPSをアクティブPPSと呼び、拡張レイヤに対するPPSをアクティブレイヤPPSと呼ぶこともある。以下では、特に断りがなければ、PPSは、あるレイヤに属する対象ピクチャに対するアクティブPPSを意味する。なお、レイヤID＝nuhLayerIdAであるレイヤLayerAの復号で利用される、レイヤID＝nuhLayerIdAであるPPSは、nuhLayerIdAよりも大きいレイヤIDであるレイヤLayerB（nuhLayerIdB、nuhLayerIdB>nuhLayerIdA）の復号に利用されてもよい。
【０１３１】
なお、アクティブSPS、及びアクティブPPSは、レイヤ毎に異なるSPSやPPSに設定してもよい。すなわち、レイヤ毎に異なるSPSやPPSを参照して復号処理を実行することができる。
【０１３２】
（ピクチャレイヤ）
ピクチャレイヤでは、処理対象のピクチャPICT（以下、対象ピクチャとも称する）を復号するために階層動画像復号装置１が参照するデータの集合が規定されている。ピクチャPICTは、図１４の（ｂ）に示すように、スライスS0〜SNS-1を含んでいる（NSはピクチャPICTに含まれるスライスの総数）。
【０１３３】
なお、以下、スライスS0〜SNS-1のそれぞれを区別する必要が無い場合、符号の添字を省略して記述することがある。また、以下に説明する階層符号化データＤＡＴＡに含まれるデータであって、添字を付している他のデータについても同様である。
【０１３４】
（スライスレイヤ）
スライスレイヤでは、処理対象のスライスS（対象スライスとも称する）を復号するために階層動画像復号装置１が参照するデータの集合が規定されている。スライスSは、図１４の（ｃ）に示すように、スライスヘッダSH、および、スライスデータSDATAを含んでいる。
【０１３５】
スライスヘッダSHには、対象スライスの復号方法を決定するために階層動画像復号装置１が参照する符号化パラメータ群が含まれる。例えば、対象スライスを復号するために参照するPPS（アクティブPPS）を指定するアクティブPPS識別子（slice_pic_parameter_set_id）が含まれる。なお、アクティブPPSが参照するSPSは、アクティブPPSに含まれるアクティブSPS識別子（pps_seq_parameter_set_id）により指定される。さらに、アクティブSPSが参照するVPS（アクティブVPS）は、アクティブSPSに含まれるアクティブVPS識別子（sps_video_parameter_set_id）により指定される。
【０１３６】
図１５を例に、レイヤ間のパラメータセットの共有（共有パラメータセット）を説明する。図１５は、ヘッダ情報とアクセスユニット（AU）を構成する符号化データの参照関係を表わす。図１５の例では、各AU内のレイヤL#K(K=Nmin・max)に属するピクチャを構成する各スライスは、参照すべきPPSを指定するアクティブPPS識別子をスライスヘッダ内に含んでおり、各スライスの復号開始時に該識別子によって復号に用いるPPS（アクティブPPS）を指定する（アクティベートするともいう）。なお、同一ピクチャ内のスライスが参照する各PPS, SPS, VPSの識別子は同一でなければならない。アクティベートされたPPSの中には、復号処理上参照すべきSPS（アクティブSPS）を指定するアクティブSPS識別子が含まれており、該識別子によって復号に用いるSPS（アクティブSPS）を指定する（アクティベートする）。同様に、アクティベートされたSPSの中には、各レイヤに属するシーケンスの復号処理上参照すべきVPS（アクティブVPS）を指定するアクティブVPS識別子が含まれており、該識別子によって復号に用いるVPS（アクティブVPS）を指定する（アクティベートする）。以上の手順により、各レイヤの符号化データの復号処理を実行するにあたって必要なパラメータセットが確定する。
【０１３７】
図１５の例では、各パラメータセット（VPS, SPS, PPS）のレイヤIDは、あるレイヤセットに属する最低次のレイヤID＝L#Nminであるとする。レイヤID=L#Nminであるスライスは、同一レイヤIDを有するパラメータセットを参照している。すなわち、図１５の例では、AU#iのレイヤID=L#Nminであるスライスは、レイヤID=L#Nminであって、PPS識別子＝０であるPPSを参照し、同PPSは、レイヤID=L#Nminであって、SPS識別子＝０であるSPSを参照し、同SPSは、レイヤID=L#Nminであって、VPS識別子＝０であるVPSを参照している。一方、AU#iのレイヤID=L#K(K>Nmin)（図１５では、L#Nmax）であるスライスは、同一レイヤID(=L#K)を有するPPS, SPSを参照することも可能であるが、L#Kより下位レイヤL#M(K>M)（図１５では、M=Nmin、L#Nmin）のPPS, SPSも参照することが可能である。
【０１３８】
すなわち、レイヤ間で、共通のパラメータセットを参照することにより、上位レイヤにおいて、下位レイヤと同一の符号化パラメータを有するパラメータセットを重複して送る必要がなくなるため、重複するパラメータセットに関する符号量の低減、及び復号／符号化に係る処理量を低減することが可能である。
【０１３９】
なお、各ヘッダ情報（スライスヘッダSH、PPS、SPS）が参照する上位のパラメータセットの識別子は、図１５の例に限定されない。VPSであれば、VPS識別子k=0・5の中から選択されてよいし、SPSであれば、SPS識別子m=0・5の中から選択されてよいし、PPSであれば、PPS識別子n=0・3の中から選択されてよい。
【０１４０】
また、スライスタイプを指定するスライスタイプ指定情報（slice_type）は、スライスヘッダSHに含まれる符号化パラメータの一例である。
【０１４１】
スライスタイプ指定情報により指定可能なスライスタイプとしては、（１）符号化の際にイントラ予測のみを用いるＩスライス、（２）符号化の際に単方向予測、または、イントラ予測を用いるＰスライス、（３）符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるＢスライスなどが挙げられる。
【０１４２】
（スライスデータレイヤ）
スライスデータレイヤでは、処理対象のスライスデータSDATAを復号するために階層動画像復号装置１が参照するデータの集合が規定されている。スライスデータSDATAは、図１４の（ｄ）に示すように、符号化ツリーブロック（CTB:Coded Tree Block）を含んでいる。CTB、スライスを構成する固定サイズ（例えば６４ラ６４）のブロックであり、最大符号化単位（LCU:Largest Cording Unit）と呼ぶこともある。
【０１４３】
（符号化ツリーレイヤ）
符号化ツリーレイヤは、図１４の（ｅ）に示すように、処理対象の符号化ツリーブロックを復号するために階層動画像復号装置１が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な４分木分割により分割される。再帰的な４分木分割により得られる木構造のノードのことを符号化ツリー（coding tree）と称する。４分木の中間ノードは、符号化ツリーユニット（CTU:Coded Tree Unit）であり、符号化ツリーブロック自身も最上位のCTUとして規定される。CTUは、分割フラグ（split_flag）を含み、split_flagが１の場合には、４つの符号化ツリーユニットCTUに分割される。split_flagが０の場合には、符号化ツリーユニットCTUは４つの符号化ユニット(CU：Coded Unit)に分割される。符号化ユニットCUは符号化ツリーレイヤの末端ノードであり、このレイヤではこれ以上分割されない。符号化ユニットCUは、符号化処理の基本的な単位となる。
【０１４４】
また、符号化ツリーユニットCTUのサイズ、および、各符号化ユニットのとり得るサイズは、シーケンスパラメータセットSPSに含まれる、最小符号化ノードのサイズ指定情報、および最大符号化ノードと最小符号化ノードの階層深度の差分に依存する。例えば、最小符号化ノードのサイズが８ラ８画素であって、最大符号化ノードと最小符号化ノードの階層深度の差分が３である場合、符号化ツリーユニットCTUのサイズが６４×６４画素であって、符号化ノードのサイズは、４種類のサイズ、すなわち、６４×６４画素、３２×３２画素、１６×１６画素、および、８×８画素の何れかをとり得る。
【０１４５】
なお、符号化ツリーユニットより復号される対象ピクチャ上の部分領域を符号化ツリーブロック（CTB: Coding Tree block）と呼ぶ。対象ピクチャの輝度成分である輝度ピクチャに対応するCTBは輝度CTBと呼ばれる。換言すると、CTUから復号される輝度ピクチャ上の部分領域は輝度CTBと呼ばれる。一方、CTUから復号される色差ピクチャに対応する部分領域は色差CTBと呼ばれる。一般に、画像の色フォーマットが決まっていれば、輝度CTBサイズと色差CTBサイズは相互に変換可能である。例えば、色フォーマットが4:2:2の場合は、色差CTBサイズは輝度CTBサイズの各半分である。以下の記載では、特に断りがなければ、CTBサイズとは輝度CTBサイズを意味する。また、CTUサイズは、CTUに対応する輝度CTBサイズである。
【０１４６】
（符号化ユニットレイヤ）
符号化ユニットレイヤは、図１４の（ｆ）に示すように、処理対象の符号化ユニットを復号するために階層動画像復号装置１が参照するデータの集合が規定されている。具体的には、符号化ユニットCU（coding unit）は、CUヘッダCUH、予測ツリー、変換ツリーから構成される。CUヘッダCUHでは、符号化ユニットが、イントラ予測を用いるユニットであるか、インター予測を用いるユニットであるかなどが規定される。符号化ユニットは、予測ツリー（prediction tree；PT）および変換ツリー（transform tree；TT）のルートとなる。なお、CUに対応するピクチャ上の領域は符号化ブロック（CB:Coding Block）と呼ばれる。輝度ピクチャ上のCBを輝度CB、色差ピクチャ上のCBを色差CBと呼ぶ。CUサイズ（符号化ノードのサイズ）とは、輝度CBサイズを意味する。
【０１４７】
（変換ツリー）
変換ツリー（以下、TTと略称する）は、符号化ユニットCUが１または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ユニットCUを構成する１または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた１または複数の変換ブロックを含む。なお、CUに含まれる変換ツリーに関する情報、及び変換ツリーに包含される情報を、TT情報と呼ぶ。
【０１４８】
変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な４分木分割によるものがある。変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位（transform unit；TU）とも称する。
【０１４９】
変換ツリーTTには、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TT、及び量子化予測残差QD 1〜QD NT（NTは、対象CUに含まれる変換単位TUの総数）を含んでいる。
【０１５０】
TT分割情報SP_TTは、具体的には、対象CUに含まれる各変換ブロックの形状、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TTは、対象ノードの分割を行うのか否かを示す情報（split_transform_unit_flag）と、その分割の深度を示す情報（trafoDepth）とから実現できる。例えば、CUサイズが、６４×６４の場合、分割により得られる各変換ブロックは、３２×３２画素から４×４画素までのサイズをとり得る。
【０１５１】
各量子化予測残差QDは、階層動画像符号化装置２が以下の処理１〜３を、処理対象の変換ブロックである対象ブロックに施すことによって生成した符号化データである。
【０１５２】
処理１：符号化対象画像から予測画像を減算した予測残差を周波数変換（例えば、DCT変換（Discrete Cosine Transform）およびDST変換（Discrete Sine Transform）等）する；
処理２：処理１にて得られた変換係数を量子化する；
処理３：処理２にて量子化された変換係数を可変長符号化する；
なお、上述した量子化パラメータqpは、階層動画像符号化装置２が変換係数を量子化する際に用いた量子化ステップQPの大きさを表わす（QP＝２qp/6）。
【０１５３】
（予測ツリー）
予測ツリー（以下、PTと略称する）は、符号化ユニットCUが１または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ユニットCUを構成する１または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた１または複数の予測ブロックを含む。なお、CUに含まれる予測ツリーに関する情報、及び予測ツリーに包含される情報を、PT情報と呼ぶ。
【０１５４】
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位（prediction unit；PU）とも称する。
【０１５５】
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との２つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間（例えば、表示時刻間、レイヤ画像間）で行われる予測処理を指す。すなわち、インター予測では、対象レイヤと同一レイヤの参照ピクチャ（レイヤ内参照ピクチャ）または、対象レイヤの参照レイヤ上の参照ピクチャ（レイヤ間参照ピクチャ）のいずれを参照ピクチャとして、参照ピクチャ上の復号画像から予測画像を生成する。
【０１５６】
イントラ予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ユニットと同一サイズ）と、Ｎ×Ｎとがある。
【０１５７】
また、インター予測の場合、分割方法は、符号化データのpart_modeにより符号化され、２Ｎラ２Ｎ（符号化ユニットと同一サイズ）、２ＮラＮ、２ＮラｎＵ、２ＮラｎＤ、Ｎラ２Ｎ、ｎＬラ２Ｎ、ｎＲラ２Ｎ、および、ＮラＮなどがある。なお、Ｎ＝２ｍ（ｍは１以上の任意の整数）を意味する。また、分割数は１、２、４のいずれかであるため、CUに含まれるPUは１個から４個である。これらのPUを順にPU0、PU1、PU2、PU3と表現する。
【０１５８】
（予測パラメータ）
予測ユニットの予測画像は、予測ユニットに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータ、もしくはインター予測の予測パラメータがある。
【０１５９】
イントラ予測パラメータは、各イントラPUについてのイントラ予測（予測モード）を復元するためのパラメータである。予測モードを復元するためのパラメータには、MPM（Most Probable Mode、以下同様）に関するフラグであるmpm_flag、MPMを選択するためのインデクスであるmpm_idx、及び、MPM以外の予測モードを指定するためのインデクスであるrem_idxが含まれる。ここで、MPMとは、対象パーティションで選択される可能性が高い推定予測モードである。例えば、対象パーティションの周辺のパーティションに割り付けられた予測モードに基づいて推定された推定予測モードや、一般的に発生確率の高いDCモードやPlanarモードがMPMに含まれ得る。また、以下において、単に“予測モード”と表記する場合、特にことわりのない限り、輝度予測モードのことを指すものとする。色差予測モードについては、“色差予測モード”と表記し、輝度予測モードと区別する。また、予測モードを復元するパラメータには、色差予測モードを指定するためのパラメータであるchroma_modeが含まれる。
【０１６０】
インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、ベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0参照リスト、L1参照リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が１の場合に対応する参照ピクチャリストが用いられる。２つの参照ピクチャリストが用いられる場合、つまり、predFlagL0=1, predFlagL1=1の場合が、双予測に対応し、１つの参照ピクチャリストを用いる場合、すなわち(predFlagL0, predFlagL1) = (1, 0)もしくは(predFlagL0, predFlagL1) = (0, 1)の場合が単予測に対応する。
【０１６１】
符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXがある。なお、予測リスト利用フラグの各値は、インター予測識別子に基づいて、次のように導出される。
【０１６２】
predFlagL0  ＝インター予測識別子 & 1
predFlagL1  ＝インター予測識別子 >> 1
ここで、“&”は論理積、“>>”は右シフトである。
【０１６３】
（参照ピクチャリストの一例）
次に、参照ピクチャリストの一例について説明する。参照ピクチャリストとは、復号ピクチャバッファに記憶された参照ピクチャからなる列である。図１６ (a)は、参照ピクチャリストの一例を示す概念図である。参照ピクチャリストRPL0において、左右に一列に配列された５個の長方形は、それぞれ参照ピクチャを示す。左端から右へ順に示されている符号Ｐ１、Ｐ２、Ｑ０、Ｐ３、Ｐ４は、それぞれの参照ピクチャを示す符号である。同様に、参照ピクチャリストRPL1において、左端から右へ順に示されている符号Ｐ４、Ｐ３、Ｒ０、Ｐ２、Ｐ１は、それぞれの参照ピクチャを示す符号である。Ｐ１等のＰとは、対象レイヤＰを示し、そしてＱ０のＱとは、対象レイヤＰとは異なるレイヤＱを示す。同様に、Ｒ０のＲとは、対象レイヤＰ、及びレイヤＱとは異なるレイヤＲを示す。Ｐ、Ｑ及びＲの添字は、ピクチャ順序番号POC(Picture Ordering Count)を示す。refIdxL0の真下の下向きの矢印は、参照ピクチャインデックスrefIdxL0が、復号ピクチャバッファにおいて、参照ピクチャリストRPL0より参照ピクチャＱ０を参照するインデックスであることを示す。同様に、refIdxL1の真下の下向きの矢印は、参照ピクチャインデックスrefIdxL1が、復号ピクチャバッファにおいて、参照ピクチャリストRPL1より参照ピクチャＰ３を参照するインデックスであることを示す。
【０１６４】
（参照ピクチャの例）
次に、ベクトルを導出する際に用いる参照ピクチャの例について説明する。図１６ (b)は、参照ピクチャの例を示す概念図である。図１６(b)において、横軸は表示時刻を示し、縦軸はレイヤ数を示す。図示されている、縦３行、横３列（計９個）の長方形は、それぞれピクチャを示す。９個の長方形のうち、下行の左から２列目の長方形は復号対象のピクチャ（対象ピクチャ）を示し、残りの８個の長方形がそれぞれ参照ピクチャを示す。対象ピクチャから下向きの矢印で示される参照ピクチャＱ２、及びＲ２は対象ピクチャと同じ表示時刻であってレイヤが異なるピクチャである。対象ピクチャcurPic(P2)を基準とするレイヤ間予測においては、参照ピクチャＱ２、またはＲ２が用いられる。対象ピクチャから左向きの矢印で示される参照ピクチャＰ１は、対象ピクチャと同じレイヤであって、過去のピクチャである。対象ピクチャから右向きの矢印で示される参照ピクチャＰ３は、対象ピクチャと同じレイヤであって、未来のピクチャである。対象ピクチャを基準とする動き予測においては、参照ピクチャＰ１又はＰ３が用いられる。
【０１６５】
（マージ予測とAMVP予測）
インター予測パラメータの復号（符号化）方法には、マージ予測（merge）モードとAMVP（Adaptive Motion Vector Prediction、適応動きベクトル予測）モードがある、マージフラグmerge_flagは、これらを識別するためのフラグである。マージ予測モード、及びAMVPモードにおいて、対象PUの予測パラメータは、既に処理済みのブロックの予測パラメータを用いて導出される。マージ予測モードは、予測リスト利用フラグpredFlagLX（インター予測識別子inter_pred_idc）、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めずに、既に導出した予測パラメータをそのまま用いるモードであり、AMVPモードは、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めるモードである。なお、ベクトルmvLXは、予測ベクトルを示す予測ベクトルインデックスmvp_LX_idxと差分ベクトル(mvdLX)として符号化される。
【０１６６】
インター予測識別子inter_pred_idcは、参照ピクチャの種類および数を示すデータであり、Pred_L0、Pred_L1、Pred_Biの何れかの値をとる。Pred_L0、Pred_L1は、各々L0参照リスト、L1参照リストと呼ばれる参照ピクチャリストに記憶された参照ピクチャが用いられることを示し、共に１枚の参照ピクチャを用いること（単予測）を示す。L0参照リスト、L1参照リストを用いた予測を各々L0予測、L1予測と呼ぶ。Pred_Biは２枚の参照ピクチャを用いること（双予測）を示し、L0参照リストとL1参照リストに記憶された参照ピクチャの２つを用いることを示す。
【０１６７】
予測ベクトルインデックスmvp_LX_idxは予測ベクトルを示すインデックスであり、参照ピクチャインデックスrefIdxLXは、参照ピクチャリストに記憶された参照ピクチャを示すインデックスである。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、LXをL0、L1に置き換えることでL0参照リストに対するパラメータとL1参照リストに対するパラメータを区別するする。例えば、refIdxL0はL0予測に用いる参照ピクチャインデックス、refIdxL1はL1予測に用いる参照ピクチャインデックス、refIdx（refIdxLX）は、refIdxL0とrefIdxL1を区別しない場合に用いられる表記である。
【０１６８】
マージインデックスmerge_idxは、処理が完了したブロックから導出される予測パラメータ候補（マージ候補）のうち、いずれかの予測パラメータを復号対象ブロックの予測パラメータとして用いるかを示すインデックスである。
【０１６９】
（動きベクトルと変位ベクトル）
ベクトルmvLXには、動きベクトルと変位ベクトル（disparity vector、視差ベクトル）がある。動きベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、異なる表示時刻（例えば、隣接する離散時刻）における同一のレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。
【０１７０】
変位ベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、同一の表示時刻における異なるレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。異なるレイヤのピクチャとしては、同一解像度でかつ品質が異なるピクチャである場合、異なる視点のピクチャである場合、もしくは、異なる解像度のピクチャである場合などがある。特に、異なる視点のピクチャに対応する変位ベクトルを視差ベクトルと呼ぶ。
【０１７１】
以下の説明では、動きベクトルと変位ベクトルを区別しない場合には、単にベクトルmvLXと呼ぶ。ベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。ベクトルmvLXおよび差分ベクトルmvdLXが、動きベクトルであるか、変位ベクトルであるかは、ベクトルに付随する参照ピクチャインデックスrefIdxLXを用いて行われる。
【０１７２】
なお、以上に説明したパラメータは、単独で符号化されていてもよいし、複数のパラメータが複合的に符号化されていてもよい。複数のパラメータが複合的に符号化される場合は、そのパラメータの値の組み合わせに対してインデックスが割り当てられ、割り当てられた当該インデックスが符号化される。また、パラメータが、別のパラメータや、復号済みの情報から導出可能であれば、当該パラメータの符号化を省略できる。
【０１７３】
（パラメータセットに関するビットストリーム制約）
図１５では、レイヤ間における共有パラメータセットの基本の概念を説明した。以下では、レイヤ間における共有パラメータセットを適用する場合に、パラメータセット（VPS, SPS, PPS）が満たすべき各種ビットストリーム制約（ビットストリームコンフォーマンスともいう）について説明する。ここで、ビットストリームコンフォーマンスとは、階層動画像復号装置（ここでは本発明の実施形態に係る階層動画像復号装置）が復号するビットストリームが満たす必要がある条件である。同様に、階層動画像符号化装置（ここでは本発明の実施形態に係る階層動画像符号化装置)が生成するビットストリームに関しても、上記階層動画像復号装置が復号可能なビットストリームであることを保障するため、上記ビットストリームコンフォーマンスを満たす必要がある。
【０１７４】
まず、パラメータセットが満たすべきビットストリーム制約の説明に先だって、図１を参照しながら、本発明と関連の深いレイヤセット内での共有パラメータセットについて説明する。図１は、本実施形態に係るレイヤセット内における共有パラメータセットの概念を説明するための図である。図１において、レイヤセットＡ(同図上のLayerSet#A)と、レイヤセットＡとは異なるレイヤセットＢがある。レイヤセットＡは、要素として、レイヤLayerA(同図上のL#A)、レイヤLayerAとは異なるレイヤLayerA’（同図上のL#A’）、及びレイヤセットＡとレイヤセットＢの共通要素であるレイヤLayerC(同図上のL#C)を含み、同様に、レイヤセットＢは、要素として、レイヤLayerB、レイヤLayerBとは異なるレイヤLayerB’（同図上のL#B’）、及びレイヤセットＡとレイヤセットＢの共通要素であるレイヤLayerC(同図上のL#C)を含んでいる。なお、レイヤセットＡとレイヤセットＢの共通要素からなる集合をレイヤセットＣ（＝Ａ∧Ｂ）（不図示）とする。
【０１７５】
図１において、ある要素（レイヤ）から別の要素へ向かう、それぞれ符号を付した実線(符号(a)、及び(d))、及び点線(符号(b)、及び(c))で示す計４種類の矢印があり、矢印の始点（矢印の根元）側の要素が、「ある要素」に対応し、矢印の終点（矢印の先端）側の要素が、「別の要素」に対応する。実線で示す矢印は、あるレイヤが別レイヤを参照することが許容される参照方向を示し、点線で示す矢印は、あるレイヤが別レイヤを参照することが禁止される許容される参照方向を示す。ここで、あるレイヤが別のレイヤを参照するとは、あるレイヤが、該レイヤの復号時に別のレイヤに属するVCL、またはnon-VCL(パラメータセットを含む) NALユニットに含まれる各種シンタックスや、シンタックスから導出される変数（パラメータ）、及び復号画像を利用（参照）することを意味し、いわゆるレイヤ間参照のことである。
【０１７６】
以下では、各符号（ａ）〜（ｄ）を付した矢印（実線、点線）が示す参照方向について符号順に説明すると、以下のとおりである。
【０１７７】
（ａ）は、「レイヤセットＡにあってレイヤセットＢにない要素（Ａ∧¬Ｂ）、又はレイヤセットＢにあってレイヤセットＡにない要素（Ｂ∧¬Ａ）は、レイヤセットＡとレイヤセットＢの共通要素（Ａ∧Ｂ）を参照する」場合を示す。例えば、図１において、レイヤL#Aが、レイヤセットＡとレイヤセットＢの共通要素であるレイヤL#Cを参照する場合が（ａ）に対応する。
【０１７８】
（ｂ）は、「レイヤセットＡとレイヤセットＢの共通要素（Ａ∧Ｂ）は、レイヤセットＡにあってレイヤセットＢにない要素（Ａ∧¬Ｂ）、又はレイヤセットＢにあってレイヤセットＡにない要素（Ｂ∧¬Ａ）を参照する」場合を示し、（Ａ）の逆方向の参照である。例えば、図１において、レイヤセットＡとレイヤセットＢの共通要素であるレイヤL#Cが、レイヤセットＡで、レイヤセットＡとレイヤセットＢの共通要素ではないレイヤL#A（¬（Ａ∧Ｂ））を参照する場合が（ｂ）に対応する。
【０１７９】
（ｃ）は、「任意のレイヤセットＡ、レイヤセットＢに対して、レイヤセットＡにあってレイヤセットＢにない要素（Ａ∧¬Ｂ）は、レイヤセットＢにあってレイヤセットＡにない要素（Ｂ∧¬Ａ）を参照する」場合を示す。例えば、図１において、レイヤL#Aが、レイヤセットＡになくてレイヤセットＢにあるレイヤL#B（Ｂ∧¬Ａ）を参照する場合が（ｃ）に対応する。
【０１８０】
（ｄ）は、「任意のレイヤセットＡ、レイヤセットＢに対して、レイヤセットＡにあってレイヤセットＢにない要素（Ａ∧¬Ｂ）は、レイヤセットＡにあってレイヤセットＢにない要素（Ａ∧¬Ｂ）を参照する」場合を示す。例えば、図１において、レイヤL#Aと異なるレイヤL#A’がレイヤL#Aを参照する場合が（ｄ）に対応する。
【０１８１】
なお、（ａ）〜（ｄ）以外にも、（ｅ）「レイヤL#AがレイヤL#Aを参照する場合（同一レイヤを参照する場合）」があるが、レイヤ間参照ではないため詳細の説明を省略する。（ｅ）は、いわゆる、レイヤ内予測（インター予測）や、同一レイヤに属するパラメータセット等を参照することに相当する。なお、（ａ）〜（ｄ）において、演算子“∧”は積を表し、演算子“¬”は否定を表し、“Ａ” 及び“Ｂ”は、それぞれレイヤセットＡ、レイヤセットＢの簡略表記である。
【０１８２】
また、図１の（ａ）〜（ｄ）の矢印のうち、レイヤセットＢの要素がレイヤセットＡの要素を参照する場合を示す参照方向を取り除いた例を図２（ａ）に示す。図１の（ａ）〜（ｄ）の参照方向に対応するのは、図２（ａ）において、符号を付した矢印（ａ’）〜（ｄ’）が示す参照方向が、それぞれ図１の（ａ）〜（ｄ）の符号を付した矢印が示す参照方向に対応する。図２（ａ）の各符号（ａ’）〜（ｄ’）を付した矢印（実線、点線）が示す参照方向について符号順に説明すると、以下のとおりである。
【０１８３】
（ａ’）は、「レイヤセットＡにあってレイヤセットＢにない要素（Ａ∧¬Ｂ）は、レイヤセットＡとレイヤセットＢの共通要素（Ａ∧Ｂ）を参照する」場合を示す。例えば、図２（ａ）において、レイヤL#Aが、レイヤセットＡとレイヤセットＢの共通要素であるレイヤL#Cを参照する場合が（ａ’）に対応する。
【０１８４】
（ｂ’）は、「レイヤセットＡとレイヤセットＢの共通要素（Ａ∧Ｂ）は、レイヤセットＢにあってレイヤセットＡにない要素（Ｂ∧¬Ａ）を参照する」場合を示す。例えば、図２（ａ）において、レイヤセットＡとレイヤセットＢの共通要素であるレイヤL#Cが、レイヤセットＢにおいて、レイヤ#B(!=レイヤ#C)を参照する場合が（ｂ’）に対応する。
【０１８５】
（ｃ’）は、（ｃ）の表現と同一であるため省略する。例えば、図２（ａ）において、レイヤL#Aが、レイヤセットＡになくてレイヤセットＢにあるレイヤL#B（Ｂ∧¬Ａ）を参照する場合が（ｃ’）に対応する。
【０１８６】
（ｄ’）は、（ｄ）の表現と同一であるため省略する。例えば、図２（ａ）において、レイヤL#Aと異なるレイヤL#A’(!=L#A)がレイヤL#Aを参照する場合が（ｄ’）に対応する。
【０１８７】
さらに、図２（ａ）の例をより上位概念化した例を、図２（ｂ）に示す。図２（ｂ）から表現をレイヤセットＡに限定すれば、（ａ’）、（ｂ’）となり、図２（ｂ）に示す符号（ａ’’）、（ｂ’’）を付した矢印にそれぞれ対応する。
【０１８８】
（ａ’’）は、「レイヤセットＡにあるレイヤLayerAは、レイヤセットＡにあってレイヤLayerAとは異なるレイヤLayerBを参照する」場合を示す。例えば、図２（ｂ）において、レイヤL#A’が、レイヤL#A’とは異なるレイヤL#Aを参照する場合が（ａ’’）に対応する。
【０１８９】
（ｂ’’）は、「レイヤセットＡにあるレイヤLayerAは、レイヤセットＡにないレイヤLayerBを参照する」場合を示す。図２（ｂ）において、レイヤセットＡのレイヤL#Aが、レイヤセットＡに含まれないレイヤL#Bを参照する場合が（ｂ’’）に対応する。
【０１９０】
図１における（ａ）〜（ｄ）、または図２（ａ）の（ａ’）〜（ｄ’）、または図２（ｂ）の（ａ’’）〜（ｂ’’）のレイヤ間参照のうち、（ａ）(（ａ’）)及び（ｄ）（（ｄ’））、または（ａ’’）に示すレイヤ間参照を利用する場合は、例えば、レイヤセットＡとレイヤセットＢの和集合（レイヤセットＡとレイヤセットＢを包含するレイヤセットＤ）を含むビットストリームから、ビットストリーム抽出処理により、レイヤセットＡからなるビットストリームを生成する場合、ビットストリーム抽出処理時にレイヤセットＡのあるレイヤLayerAが参照するレイヤLayerBに属するVCL、あるいはnon-VCL NALユニットが破棄されなたいめ、生成されたビットストリームにおいて、レイヤセットＡのあるレイヤLayerAが参照するレイヤLayerBに属するVCL、あるいはnon-VCL NALが同一ビットストリーム上に存在し、復号可能であることが保障される。
【０１９１】
また、（ａ）(（ａ’）)及び（ｄ）（（ｄ’））、または（ａ’ ’）に示すレイヤ間参照に相当する、レイヤセット内におけるレイヤ間の共有パラメータセットを利用することによって、レイヤセット内において、対象レイヤLayerAの復号／符号化に参照（利用）するパラメータセット（VPS, SPS, PPS）として、対象レイヤLayerAとは異なるレイヤLayerBに属するパラメータセットを参照（共有）することができる。従って、対象レイヤLayerAのパラメータセットに係る符号量を削減することができ、より少ない符号量でパラメータセットの復号／符号化することができる。（ａ）(（ａ’）)及び（ｄ）（（ｄ’））、または（ａ’ ’）に示すレイヤ間参照が利用されるビットストリームは、以下に示すコンフォーマンス条件ＣＡ１を満たすともいえる。
【０１９２】
ＣＡ１：「任意のレイヤセットＡについて、該レイヤセットＡに含まれるレイヤLayerAは、レイヤLayerAとは異なるレイヤLayerBを参照することができる。」
さらに、条件ＣＡ１をパラメータセットへ限定すれば、パラメータセットに関して、ビットストリームは、コンフォーマンス条件ＣＡ２を満たすともいえる。
【０１９３】
ＣＡ２：「任意のレイヤセットＡについて、該レイヤセットＡに含まれるレイヤLayerAは、レイヤLayerAのアクティブパラメータセットとして、レイヤLayerAとは異なるレイヤLayerBに属するパラメータセットを参照（共有）することができる。」
なお、条件ＣＡ２は、さらに、レイヤ識別子の表現を取り入れて、条件ＣＡ２’として表現できる。
【０１９４】
ＣＡ２’：「任意のレイヤセットＡついて、該レイヤセットＡに含まれるレイヤ識別子nuhLayerIdAを有するレイヤLayerAに対するアクティブパラメータセットを含むNALユニットのレイヤ識別子は、該レイヤセットＡに含まれ、レイヤLayerAと異なるレイヤLayerBのレイヤ識別子nuhLayerIdBと等しくてもよい。」
さらに、ＣＡ１、ＣＡ２、ＣＡ２’へ同一レイヤ間の参照ケースを含めれば、それぞれ、ＣＡ１a、ＣＡ２a、ＣＡ２ａ’と表現を拡張することができる。
【０１９５】
ＣＡ１a：「任意のレイヤセットＡについて、該レイヤセットＡに含まれるレイヤLayerAは、レイヤLayerAまたはレイヤLayerAとは異なるレイヤLayerBを参照することができる。」
ＣＡ２a：「任意のレイヤセットＡについて、該レイヤセットＡに含まれるレイヤLayerAは、レイヤLayerAのアクティブパラメータセットとして、レイヤLayerAまたはレイヤLayerAとは異なるレイヤLayerBに属するパラメータセットを参照（共有）することができる。」
ＣＡ２a’：「任意のレイヤセットＡついて、該レイヤセットＡに含まれるレイヤ識別子nuhLayerIdAを有するレイヤLayerAに対するアクティブパラメータセットを含むNALユニットのレイヤ識別子は、nuhLayerIdA、または、該レイヤセットＡ内でレイヤLayerAと異なるレイヤLayerBのレイヤ識別子nuhLayerIdBと等しい。」
なお、条件ＣＡ２をVPS, SPS, PPSへ適用する場合は、ＣＡ２の“パラメータセット”をそれぞれ、“VPS”,“SPS”,“PPS”へ置き換えて読み替えればよい。
【０１９６】
一方、（ｂ）(（ｂ’）)及び（ｃ）(（ｃ’）)、または（ｂ’ ’）に示すレイヤ間参照の場合は、レイヤセットＡのあるレイヤLayerAが参照するレイヤLayerBに属するVCL、あるいはnon-VCL NALユニットが、ビットストリーム抽出処理時に破棄され、該レイヤLayerA及び該レイヤLayerAを参照する上位レイヤLayerCが復号不可となるビットストリームが生成される。従って、（ｂ）及び（ｃ）、又は（ｂ’ ’）に示すレイヤ間参照を禁止する必要がある。
【０１９７】
すなわち、レイヤ間参照に関して、ビットストリームは以下に示すコンフォーマンス条件ＣＢ１を少なくとも満たさなければならない。
【０１９８】
ＣＢ１：「任意のレイヤセットＡついて、該レイヤセットＡに含まれるレイヤLayerA（要素）は、該レイヤセットＡに含まれないレイヤLayerB（要素）を参照してはならない。」
さらに、条件ＣＢ１をパラメータセットへ限定すれば、パラメータセットに関して、ビットストリームは、コンフォーマンス条件ＣＢ２を少なくとも満たさなければならない。
【０１９９】
ＣＢ２：「任意のレイヤセットＡついて、該レイヤセットＡに含まれるレイヤLayerAのアクティブパラメータセットとして、該レイヤセットＡに含まれないレイヤLayerBに属するパラメータセットを参照してはならない。」
なお、条件ＣＢ２は、さらに、レイヤ識別子の表現を取り入れて、条件ＣＢ２’として表現できる。
【０２００】
ＣＢ２’：「任意のレイヤセットＡついて、該レイヤセットＡに含まれるレイヤ識別子nuhLayerIdAを有するレイヤLayerAに対するアクティブパラメータセットを含むNALユニットのレイヤ識別子は、該レイヤセットＡに含まれないレイヤLayerBのレイヤ識別子nuhLayerIdBと等しくない。」
なお、条件ＣＢ２（ＣＢ２’）をVPS, SPS, PPSへ適用する場合は、条件ＣＢ２（ＣＢ２’）の“パラメータセット”をそれぞれ、“VPS”,“SPS”,“PPS”へ置き換えて読み替えればよ
また、上記ビットストリーム制約（ＣＡ１、ＣＡ１a、ＣＡ２、ＣＡ２’、ＣＡ２a、CＡ２a’）は、それぞれ、ＣＣ１、ＣＣ１ａ、ＣＣ２、ＣＣ２’、ＣＣ２a、ＣＣ２a’として表現することができる。
【０２０１】
ＣＣ１（ＣＡ１に対応）：「あるレイヤLayerBが、レイヤBと異なるレイヤLayerAを参照する場合、上記レイヤLayerBを要素として含む全てのレイヤセットの集合において、該レイヤセットの集合に含まれる（全ての）レイヤセットＡは要素として、レイヤLayerAを含む。」
ＣＣ１ａ（ＣＡ１aに対応）：「あるレイヤLayerBが、レイヤBまたはレイヤBと異なるレイヤLayerAを参照する場合、上記レイヤLayerBを要素として含む全てのレイヤセットの集合において、該レイヤセットの集合に含まれる（全ての）レイヤセットＡは要素として、レイヤBまたはレイヤLayerAを含む。」
ＣＣ２（ＣＡ２に対応）：「あるレイヤLayerBが、レイヤBと異なるレイヤLayerAに属するパラメータセットをアクティブパラメータとして参照する場合、上記レイヤLayerBを要素として含む全てのレイヤセットの集合において、該レイヤセットの集合に含まれる（全ての）レイヤセットＡは要素として、レイヤLayerAを含む。」
ＣＣ２’（ＣＡ２’に対応）：「レイヤ識別子nuhLayerIdAであるレイヤLayerAのアクティブパラメータセットを含むNALユニットのレイヤ識別子は、レイヤLayerAを要素として含む全てのレイヤセットの集合において、該レイヤセットの集合に含まれる（全ての）レイヤセットＡに含まれ、かつレイヤLayerAとは異なるレイヤLayerBのレイヤ識別子nuhLayerIdBに等しくてもよい」。
【０２０２】
ＣＣ２a（ＣＡ２aに対応）：「あるレイヤLayerBが、レイヤBまたはレイヤBと異なるレイヤLayerAに属するパラメータセットをアクティブパラメータとして参照する場合は、上記レイヤLayerBを要素として含む全てのレイヤセットの集合において、該レイヤセットの集合に含まれる（全ての）レイヤセットＡは要素として、レイヤLayerBまたはレイヤLayerAを含む。」
ＣＣ２a’（ＣＡ２a’に対応）：「レイヤ識別子nuhLayerIdAであるレイヤLayerAのアクティブパラメータセットを含むNALユニットのレイヤ識別子は、レイヤLayerAを要素として含む全てのレイヤセットの集合において、該レイヤセットの集合に含まれる（全ての）レイヤセットＡに含まれるレイヤLayerBのレイヤ識別子nuhLayerIdBに等しい」。
【０２０３】
なお、条件ＣＣ２、ＣＣ２’、ＣＣ２a、及びＣＣ２a’をVPS, SPS, PPSへ適用する場合は、条件ＣＣ２、ＣＣ２’、ＣＣ２a、及びＣＣ２a’の“パラメータセット”をそれぞれ、“VPS”,“SPS”,“PPS”へ置き換えて読み替えればよい。
【０２０４】
なお、上記条件ＣＣ１、ＣＣ１ａ、ＣＣ２、ＣＣ２’、ＣＣ２a、及びＣＣ２a’は、換言すれば、「（任意の）レイヤセットＡにおいて、レイヤLayerAが、レイヤLayerAと異なるレイヤLayerBを参照する場合、レイヤLayerBは、レイヤセットＡの要素として含まれている」ことを意味し、レイヤセットＡを含むビットストリームが復号可能であることを保障する条件（コンフォーマンス条件）である。
【０２０５】
（レイヤグラフによる表現）
また、条件（ＣＡ２、ＣＡ２’、ＣＡ２a、CＡ２a’）は、レイヤグラフを用いて表現することができる。すなわち、あるレイヤセットグラフにおいて、レイヤセットＡとレイヤセットＢ間で共有パラメータセットとして参照可能なパラメータセットは、コンフォーマンス条件として、少なくとも条件ＣＡ３を満たす必要がある。
【０２０６】
ＣＡ３：「「あるレイヤセットグラフにおいて、「レイヤセットＢは、レイヤセットＡのサブセットであって」(CA3-1)、かつ、「レイヤセットＢに含まれる要素のうち、レイヤセットＡとレイヤセットＢの共通要素である何れかのレイヤのレイヤ識別子を有するパラメータセットである。」(CA3-2)」
なお、条件ＣＡ３をVPS, SPS, PPSへ適用する場合は、条件ＣＡ３の“パラメータセット”をそれぞれ、“VPS”,“SPS”,“PPS”へ置き換えて読み替えればよい。
【０２０７】
例えば、図８（ｃ）のレイヤセットS#3〜S#0において、レイヤセット０に含まれるレイヤ０(L#0)が、レイヤセットS#3〜S#0の共通要素であるレイヤであるため、共有パラメータセットとして参照可能なパラメータセットのレイヤ識別子は０である。同様にして、レイヤセットS#3〜S#1において、共有パラメータセットとして参照可能なパラメータセットのレイヤ識別子は０、１である。同様にして、レイヤセットS#3〜S#2において、共有パラメータセットとして参照可能なパラメータセットのレイヤ識別子は０、１、２である。従って、上記ビットストリーム制約を設けることで、ビットストリーム抽出後のビットストリーム上で、あるレイヤセットＡにおいて、レイヤセットＡ内のあるレイヤＢが参照するパラメータセットが含まれないという問題を解消することができる。すなわち、あるレイヤセットのビットストリームから、ビットストリーム抽出処理により生成された、該レイヤセットのサブセットのレイヤセットのみを含むビットストリーム上で復号不可となるレイヤの発生を防止することができる。
【０２０８】
また、条件ＣＢ２、ＣＢ２’はレイヤグラフを用いて、条件ＣＢ３とも表現することができる。
【０２０９】
ＣＢ３：「あるレイヤセットグラフにおいて、レイヤセットＡのサブセットであるレイヤセットＢ内のレイヤLayerBが、 “レイヤセットＡに含まれるが、レイヤセットＢに含まれない”レイヤLayerAのレイヤ識別子を有するパラメータセットを参照してはならない」
なお、条件ＣＢ３をVPS, SPS, PPSへ適用する場合は、条件ＣＡ３の“パラメータセット”をそれぞれ、“VPS”,“SPS”,“PPS”へ置き換えて読み替えればよい。
【０２１０】
例えば、図８（ｃ）のレイヤセットS#0、S#1に注目すれば、レイヤセットS#1のサブセットであるレイヤセットS#0にあるレイヤL#0は、“レイヤセットS#0に含まれるが、レイヤセットS#1に含まれない”レイヤL#1のパラメータセットを参照することを禁止する。
従って、上記ビットストリーム制約を設けることで、ビットストリーム抽出後のビットストリーム上で、レイヤセットにパラメータセットが含まれないという問題を解消することができる。すなわち、あるレイヤセットのビットストリームから、ビットストリーム抽出処理により生成された、該レイヤセットのサブセットのレイヤセットのみを含むビットストリーム上で復号不可となるレイヤの発生を防止することができる。
【０２１１】
〔階層動画像復号装置〕
以下では、本実施形態に係る階層動画像復号装置１の構成について、図２５〜図２７を参照して説明する。
【０２１２】
（階層動画像復号装置の構成）
本実施形態に係る階層動画像復号装置１の構成について説明する。図２５は、本実施形態に係る階層動画復号装置１の構成を示す概略図である。階層動画像復号装置１は、外部より供給される階層符号化データＤＡＴＡに含まれる復号対象とする対象レイヤセットLayerSetTargetのレイヤIDリストLayerIdListTarget、及び復号対象とするレイヤに付随する最高次のサブレイヤを指定する対象最高次テンポラル識別子HighestTidTargetに基づいて、階層動画像符号化装置２から供給される階層符号化データＤＡＴＡを復号して、対象レイヤセットに含まれる各レイヤの復号画像ＰＯＵＴ＃Ｔを生成する。すなわち、階層動画像復号装置１は、対象レイヤセットLayerSetTargetのレイヤIDリストの要素LayerIdListTarget[0]・ayerIdListTarget[N-1](Nは対象レイヤセットに含まれるレイヤ数)の順で、各レイヤのピクチャの符号化データを復号し、その復号画像（復号ピクチャ）を生成する。
【０２１３】
図２５に示すように階層動画像復号装置１は、NAL逆多重化部１１、及び対象レイヤセットピクチャ復号部１０を含んで構成される。さらに、対象レイヤセットピクチャ復号部１０は、パラメータセット復号部１２、パラメータセット管理部１３、ピクチャ復号部１４、および復号ピクチャ管理部１５を含んで構成される。また、NAL逆多重化部１１は、さらにビットストリーム抽出部１７を備える。
【０２１４】
階層符号化データＤＡＴＡには、VCLにより生成されたNALの他に、パラメータセット（VPS、SPS、PPS）やSEI等を含むNALが含まれる。それらのNALはVCL NALに対して非VCL NAL(non-VCL)と呼ばれる。
【０２１５】
NAL逆多重化部１１の備えるビットストリーム抽出部１７は、概略的には、外部より供給される対象レイヤセットLayerSetTargetを構成するレイヤのレイヤIDリストLayerIdListTarget、及び対象最高次テンポラル識別子HighestTidTargetに基づいて、ビットストリーム抽出処理を行い、階層符号化データＤＡＴＡから、対象最高次テンポラル識別子HighestTidTarget、及び対象レイヤセットLayerSetTargetのレイヤIDリストLayerIdListTargetによって定まる集合、ターゲットセットTargetSetに含まれるNALユニットから構成される対象レイヤセット符号化データＤＡＴＡ＃Ｔ（BitstreamToDecode）を抽出する。なお、ビットストリーム抽出部１７における本発明との関連性の高い処理の詳細について後述する。
【０２１６】
続いて、NAL逆多重化部１１は、ビットストリーム抽出部１７より抽出された対象レイヤセット符号化データＤＡＴＡ＃Ｔ（BitstreamToDecode）を逆多重化して、ＮＡＬユニットに含まれるNALユニットタイプ、レイヤ識別子（レイヤID）、テンポラル識別子（テンポラルID）を参照し、対象レイヤセットに含まれるNALユニットを、対象レイヤセットピクチャ復号部１０へ供給する。
【０２１７】
対象レイヤセットピクチャ復号部１０は、供給された対象レイヤセット符号化データＤＡＴＡ＃Ｔに含まれるNALのうち、non-VCL NALをパラメータセット復号部１２に、VCL NALをピクチャ復号部１４にそれぞれ供給する。すなわち、対象レイヤセットピクチャ復号部１０は、供給されたNALユニットのヘッダ（NALユニットヘッダ）を復号し、復号したNALユニットヘッダに含まれるNALユニットタイプ、レイヤ識別子、及びテンポラル識別子に基づいて、non-VCLの符号化データをパラメータセット復号部１２へ、VCLの符号化データをピクチャ復号部１４へ、復号したNALユニットタイプ、レイヤ識別子、及びテンポラル識別子と合わせて供給する。
【０２１８】
パラメータセット復号部１２は、入力されるnon-VCL NALからパラメータセット、すなわち、VPS、SPS、および、PPSを復号してパラメータセット管理部１３に供給する。なお、パラメータセット復号部１２における本発明との関連性の高い処理の詳細について後述する。
【０２１９】
パラメータセット管理部１３は、復号されたパラメータセットを各パラメータセットの識別子毎に、パラメータセットの符号化パラメータを保持する。具体的には、VPSであれば、VPS識別子(video_parameter_set_id)毎に、VPSの符号化パラメータを保持する。SPSであれば、SPS識別子(sps_seq_parameter_set_id)毎に、SPSの符号化パラメータを保持する。PPSであれば、PPS識別子(pps_pic_parameter_set_id)毎に、PPSの符号化パラメータを保持する。なお、パラメータセット管理部１３に保持される符号化パラメータには、各パラメータセットのレイヤ識別子、及びテンポラル識別子が含まれていてもよい。
【０２２０】
また、パラメータセット管理部１３は、後述のピクチャ復号部１４が、ピクチャを復号するために参照するパラメータセット（アクティブパラメータセット）の符号化パラメータを、ピクチャ復号部１４へ供給する。具体的には、まず、ピクチャ復号部１４で復号されたスライスヘッダSHに含まれるアクティブPPS識別子(slice_pic_parameter_set_id)により、アクティブPPSが指定される。次に、指定されたアクティブPPSに含まれるアクティブSPS識別子（pps_seq_parameter_set_id）により、アクティブSPSが指定される。最後に、アクティブSPSに含まれるアクティブVPS識別子（sps_video_parameter_set_id）により、アクティブVPSが指定される。その後、指定されたアクティブPPS、アクティブSPS、アクティブVPSの符号化パラメータを、ピクチャ復号部１４へ供給する。
【０２２１】
なお、ピクチャを復号するために参照されるパラメータセットを指定することを、「パラメータセットをアクティベートする」とも呼ぶ。例えば、アクティブPPS、アクティブSPS、アクティブVPSを指定することを、それぞれ「PPSをアクティベートする」、「SPSをアクティベートする」、「VPSをアクティベートする」と呼ぶ。
【０２２２】
ピクチャ復号部１４は、入力されるVCL NAL、アクティブパラメータセット（アクティブPPS、アクティブSPS、アクティブVPS），及び参照ピクチャに基づいて復号ピクチャを生成して復号ピクチャ管理部１５へ供給する。供給された復号ピクチャは、復号ピクチャ管理部１５内のバッファに記録される。なお、ピクチャ復号部１４の詳細な説明は後述する。
【０２２３】
復号ピクチャ管理部１５は、入力される復号ピクチャを内部の復号ピクチャバッファ（DPB: Decoded Picture Buffer）に記録するとともに、参照ピクチャリスト生成や出力ピクチャ決定を行う。また、復号ピクチャ管理部１５は、DPBに記録されている復号ピクチャを、所定のタイミングで出力ピクチャＰＯＵＴ＃Ｔとして外部に出力する。
【０２２４】
（パラメータセット復号部１２）
パラメータセット復号部１２は、入力される対象レイヤセット符号化データから、対象レイヤセットの復号に用いられるパラメータセット（VPS, SPS, PPS）を復号する。復号されたパラメータセットの符号化パラメータは、パラメータセット管理部１３に供給され、各パラメータセットの有する識別子毎に記録される。なお、パラメータセット復号部１２は、パラメータセットに限定されず、図１２において、non-VCLに分類されるNALユニット(nal_unit_type=32・3）を復号してもよい。パラメータセットと同様に、復号されたnon-VCLの符号化パラメータは、パラメータセット管理部１３において、各々記録される。
【０２２５】
一般に、パラメータセットの復号は既定のシンタックス表に基づいて実行される。すなわち、シンタックス表の定める手順に従って符号化データからビット列を読み出して、シンタックス表に含まれるシンタックスのシンタックス値を復号する。また、必要に応じて、復号したシンタックス値に基づいて導出した変数を導出して、出力するパラメータセットに含めてもよい。したがって、パラメータセット復号部１２から出力されるパラメータセットは、符号化データに含まれるパラメータセット（VPS、SPS、PPS）に係るシンタックスのシンタックス値、および、該シンタックス値より導出される変数の集合と表現することもできる。
【０２２６】
以下では、パラメータセット復号部１２において復号に使用されるシンタックス表のうち、本発明との関連性が高いシンタックス表を中心に説明する。
【０２２７】
(ビデオパラメータセットVPS)
ビデオパラメータセットVPSは、複数のレイヤに共通するパラメータを規定するためのパラメータセットであり、各VPSを識別するためのVPS識別子、レイヤ情報として、最大レイヤ数情報、レイヤセット情報、及びレイヤ間依存情報が含まれている。
【０２２８】
VPS識別子は、各VPSを識別するための識別子であり、シンタックス“video_parameter_set_id”(図１７のSYNVPS01)としてVPSに含まれている。後述のSPSに含まれるアクティブVPS識別子(sps_video_parameter_set_id)により特定されるVPSが、対象レイヤセット内の対象レイヤの符号化データの復号処理時に参照される。
【０２２９】
最大レイヤ数情報は、階層符号化データ内の最大レイヤ数を表わす情報であり、シンタックス“vps_max_layers_minus1”(図１７のSYNVPS02)としてVPSに含まれている。階層符号化データ内の最大レイヤ数（以下、最大レイヤ数VpsMaxLayers）は、（vps_max_layers_minus1+1）の値に設定される。なお、ここで規定される最大レイヤ数は、時間スケーラビリティを除く、その他のスケーラビリティ（ＳＮＲスケーラビリティ、空間スケーラビリティ、ビュースケーラビリティなど）に関するレイヤの最大レイヤ数である。
【０２３０】
最大サブレイヤ数情報は、階層符号化データ内の最大サブレイヤ数を表わす情報であり、シンタックス“vps_max_sub_layers_minus1”(図１７のSYNVPS03)としてVPSに含まれている。階層符号化データ内の最大サブレイヤ数（以下、最大サブレイヤ数VpsMaxSubLayers）は、(vps_max _sub_layers_minus1+1)の値に設定される。なお、ここで規定される最大サブレイヤ数とは、時間スケーラビリティに関するレイヤの最大レイヤ数である。
【０２３１】
最大レイヤ識別子情報は、階層符号化データ内に含まれる最高次のレイヤのレイヤ識別子（レイヤID）を表わす情報であり、シンタックス“vps_max_layer_id”(図１７のSYNVPS04)として、VPSに含まれている。言い換えれば、階層符号化データ内に含まれる、NALユニットのレイヤID (nuh_layer_id)の最大値である。
【０２３２】
レイヤセット数情報は、階層符号化データに含まれるレイヤセットの総数を表わす情報であり、シンタックス“vps_num_layer_sets_minus1” (図１７のSYNVPS05)として、VPSに含まれている。階層符号化データ内のレイヤセット数（以下、レイヤセット数VpsNumLayerSets）は、(vps_num_layer_sets_minus1+1)の値に設定される。
【０２３３】
(レイヤセット情報) 
レイヤセット情報は、階層符号化データに含まれるレイヤセットを構成するレイヤの集合を表わすリスト（以下、レイヤIDリストLayerIdList）であり、VPSから復号される。VPSには、VPS上のレイヤ定義の順番で、j番目のレイヤ(レイヤj)が、ｉ番目のレイヤセット(レイヤセットi)に含まれるか否かを示すシンタックス“layer_id_included_flag[i][j]”（図１７のSYNVPS06）が含まれており、該シンタックスの値が１であるレイヤjからレイヤセットが構成される。すなわち、レイヤセットｉを構成するレイヤjは、レイヤIDリストLayerIdList[i]に含まれる。また、レイヤセットiに含まれるレイヤ数NumLayersInIdList[i]は、シンタックス“layer_id_included_flag[i][j]”のうち、レイヤセットiに関して、該シンタックスの値が１であるフラグの個数である。より具体的には、各レイヤセットiのレイヤIDリストLayerIdList[i]、及びレイヤセットiに含まれるレイヤ数NumLayersInIdList[i]は、以下の疑似コードにより導出される。
【０２３４】
（各レイヤセットのレイヤIDリストの導出を示す疑似コード）
for( i = 0; i < VpsNumLayerSets; i++){
NumLayersInIdList[i] = 0;
for( m = 0; m  <=  vps_max_layer_id; m++ ){ 
if( layer_id_included_flag[ i ][ m ] ){
LayerIdList[ i ][ NumLayersInIdList[i] ] = m;
NumLayersInIdList[i]++;
}
} // end of loop on for(m=0; m<= vps_max_layer_id; m++)
}   // end of loop on for(i=0; i<VpsNumLayerSets; i++)
なお、上記疑似コードをステップで表わせば、次の通りである。
（SA01）レイヤセットiのレイヤIDリストの導出に係るループの開始点である。ループの開始前に、変数iは０に初期化される。ループ内の処理は、変数iがレイヤセット数“NumLayerSets”未満のときに実行され、ループ内の処理が１回実行される度に、変数iは“１”加算される。
（SA02）レイヤセットiのレイヤ数NumLayresInIdList[i]を０へ初期化する。すなわち、NumLayersInIdList[i] = 0;
（SA03）レイヤセットiのレイヤIDリストへm番目のレイヤ(レイヤm)を要素追加に係るループの開始点である。ループの開始前に、変数mは０に初期化される。ループ内の処理は、変数m（m番目のレイヤ）が、最大レイヤ識別子“vps_max_layer_id”以下(m<=vps_max_layer_id)のときに実行され、ループ内の処理が１回実行される度に、変数mは“１”加算される。なお、最大レイヤ識別子“vps_max_layer_id”の代わりに、最大レイヤ数VpsMaxLayersを用いて、変数mが、最大レイヤ数VpsMaxLayers未満のときに、ループ内の処理が実行されるようにしてもよい。すなわち、for文の“m<=vps_max_layer_id”の判定式を“m<VpsMaxLayers”へ変更してもよい。
（SA04）レイヤmがレイヤセットiに含まれるか否か（layer_id_included_flag[i][m]）を判定する。layer_id_included_flag[i][m]が１であれば、ステップSA05へ遷移する。layer_id_included_flag[i][m]が０であれば、ステップSA05〜SA06の処理を省略し、SA0Aへ遷移する。
(SA05)レイヤセットiのレイヤIDリストLayerIdList[i][]のNumLayersInIdList[i]番目の要素へ、レイヤmを追加する。すなわち、LayerIdList[i][NumLayersInIdList[i]] = m;
（SA06）レイヤセットiのレイヤ数NumLayersInIdList[i]の値を“１”加算する。すなわち、NumLayersInIdList[i]++;
（SA0A）レイヤセットiのレイヤIDリストへm番目のレイヤ(レイヤm)を要素追加に係るループの終端である。
（SA0B）レイヤセットiのレイヤIDリストの導出に係るループの終端である。
【０２３５】
以上の手順により、各レイヤセットiのレイヤIDリストLayerIdList[i]を導出することができる。レイヤIDリストLayerIdList[]を参照することで、レイヤセットiで、m番目の要素であるレイヤが、全レイヤ(VPSで定義されるレイヤ)の中で、何番目のレイヤであるかを把握することができる。また、レイヤセットiに含まれるレイヤ数は、レイヤセットiのレイヤ数を表す変数NumLayerｓInIdList[i]を参照することで把握することができる。なお、導出の手順は、上記ステップに限定されず、実施可能な範囲で変更してもよい。
【０２３６】
ＶＰＳ拡張データ有無フラグ“vps_extension_flag”(図１７のSYNVPS07)は、ＶＰＳがさらにＶＰＳ拡張データvps_extension()(図１７のSYNVPS08)を含むか否かを示すフラグである。なお、本明細書中「ＸＸであるか否かを示すフラグ」、あるいは「ＸＸの有無フラグ」と記す場合、１をＸＸである場合、０をＸＸではない場合とし、論理否定、論理積などでは１を真、０を偽と扱う（以下同様）。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
【０２３７】
レイヤ間依存情報は、VPSに含まれるVPS拡張データ(vps_extension())から復号される。VPS拡張データに含まれるレイヤセット情報(レイヤIDInNUH情報)及びレイヤ間依存情報について、図１８を参照して説明する。図１８は、VPS拡張データの復号時に参照されるシンタックス表の一部であって、レイヤセット情報(レイヤIDInNUH情報)及びレイヤ間依存情報に係る部分を示す。
【０２３８】
VPS拡張データ（vps_extension()）には、レイヤセット情報の拡張データとして、レイヤIDInNUH情報有無フラグ“vps_nuh_layer_id_present_flag”(図１８のSYNVPS0A)、及びレイヤIDInNUH情報“layer_id_in_nuh[i]” (図１８のSYNVPS0B)が含まれている。
【０２３９】
レイヤIDInNUH情報有無フラグ“vps_nuh_layer_id_present_flag”は、VPSの定義上でi番目のレイヤ(レイヤi (i=0・psMaxLayers-1))に属するNALユニットが有するレイヤIDを明示的に定義するレイヤIDInNUH情報の有無を示すフラグであり、同フラグの値が１（真）の場合、レイヤi (i=0・psMaxLayers-1)のレイヤIDInNUH情報が存在することを表し、同フラグの値が０（偽）の場合、レイヤi (i=0・psMaxLayers-1)のレイヤIDInNUH情報が存在しないことを表す。
【０２４０】
レイヤIDInNUH情報は、レイヤi(i=0・psMaxLayers-1)のレイヤIDを定義する情報であって、シンタックス“layer_id_in_nuh[i]”は、レイヤiに属するNALユニットが有するレイヤIDの値(nuh_layer_id)を表し、レイヤIDの値域は、0・ps_max_layer_idである。なお、レイヤIDInNUH情報が存在しない場合（レイヤIDInNUH情報有無フラグの値が０（偽））、レイヤiのレイヤIDを定義するシンタックス “layer_id_in_nuh[i]”の値は、iであると推定される。すなわち、VPSの定義上でi番目のレイヤ(レイヤi)のレイヤ識別子nuhLayerId=iである。なお、レイヤ識別子(nuh_layer_id)を引数として、レイヤ識別子に対応するレイヤiを導出するためのレイヤIDXリストLayerIdxInVPS[]は、以下の擬似コードにより導出される。 
【０２４１】
（レイヤIDXリストLayerIdxInVPS[]の導出を示す疑似コード）
for( i = 0; i < VpsMaxLayers; i++){
LayerIdxInVPS[ layer_id_in_nuh[ i ] ] = i;
}   // end of loop on for( i = 0; i < VpsMaxLayers; i++)
なお、上記疑似コードをステップで表わせば、次の通りである。
（SB01）レイヤIDXリストLayerIdxInVPS[]の導出に係るループの開始点である。ループの開始前に、変数iは０に初期化される。ループ内の処理は、変数iが最大レイヤ数“VpsMaxLayers”未満のときに実行され、ループ内の処理が１回実行される度に、変数iは“１”加算される。
（SB02）レイヤIDXリストLayerIdxInVPS[]のlayer_id_in_nuh[ i ]番目の要素の値をiへ設定する。すなわち、LayerIdxInVPS[ layer_id_in_nuh[ i ] ] = i;
（SB03）レイヤIDXリストLayerIdxInVPS[]の導出に係るループの終端である。
【０２４２】
以上の手順により、レイヤiとレイヤ識別子の対応関係を示すレイヤIDXリストLayerIdInVPS[]を導出することができる。すなわち、レイヤIDXリストLayerIdInVPS[]を参照することで、レイヤ識別子に対応するレイヤのインデクス（レイヤIDX）を把握することができる。なお、導出の手順は、上記ステップに限定されず、実施可能な範囲で変更してもよい。
【０２４３】
VPS拡張データ（vps_extension()）には、レイヤ間依存情報として、直接依存フラグ“direct_dependency_flag[i][j]”(図１８のSYNVPS0C)が含まれている。直接依存フラグdirect_dependency_flag[i][j]は、ｉ番目のレイヤが、ｊ番目のレイヤに直接的に依存しているか否かを示し、直接的に依存している場合に１の値、直接的に依存していない場合に０の値をとる。
【０２４４】
ここで、ｉ番目のレイヤがｊ番目のレイヤに直接的に依存している場合、ｉ番目のレイヤを対象レイヤとして復号処理を実行する場合に、ｊ番目のレイヤに関するパラメータセット、復号ピクチャや関連する復号済シンタックスが、対象レイヤにより直接的に参照される可能性があることを意味する。逆に、ｉ番目のレイヤがｊ番目のレイヤに直接的に依存していない場合、ｉ番目のレイヤを対象レイヤとして復号処理を実行する場合に、ｊ番目のレイヤに関するパラメータセット、復号ピクチャや関連する復号済シンタックスが直接的に参照されないことを意味する。
【０２４５】
言い換えると、ｉ番目のレイヤのｊ番目のレイヤに対する直接依存フラグが１である場合、ｊ番目のレイヤはｉ番目のレイヤの直接的な参照レイヤとなりえる。特定のレイヤに対して直接的な参照レイヤとなりえるレイヤの集合、つまり対応する直接依存フラグの値が１であるレイヤの集合を、直接依存レイヤセットと呼ぶ。
【０２４６】
なお、i＝０、すなわちの０番目のレイヤ（基本レイヤ）は、ｊ番目のレイヤ（拡張レイヤ）とは直接的な依存関係がないため、直接依存フラグ”direct_depedency_flag[i][j]”の値は０であり、図１８のSYNVPS0Cを含むiのループが１から始まることに示されるように、０番目のレイヤ（基本レイヤ）に対するｊ番目のレイヤ（拡張レイヤ）の直接依存フラグの復号/符号化は省略可能である。
【０２４７】
ここで、i番目のレイヤ(レイヤ識別子iNuhLId=nunLayerIdI)に対する直接参照レイヤセットを示す、参照レイヤIDリストRefLayerId[iNuhLId][]、及びi番目のレイヤの参照レイヤであるｊ番目のレイヤが、直接参照レイヤセットの中で、昇順で、何番目の要素であるかを示す直接参照レイヤIDXリストDirectRefLayerIdx[iNuhLId][]は、後述の式により導出される。なお、参照レイヤIDリストRefLayerId[][]は２次元の配列であり、１番目の配列の要素には、対象レイヤ(レイヤi)のレイヤ識別子が格納され、２番目の配列の要素には、直接参照レイヤセットの中で、昇順で、k番目の参照レイヤのレイヤ識別子が格納される。なお、直接参照レイヤIDXリストDirectRefLayerIdx[][]は２次元の配列であり、１番目の配列の要素には、対象レイヤ(レイヤi)のレイヤ識別子が格納され、２番目の配列の要素には、レイヤ識別子が、直接参照レイヤセットの中で、昇順で、何番目の要素であるかを示すインデクス（直接参照レイヤIDX）が格納される。
【０２４８】
上記、参照レイヤIDリスト、及び直接参照レイヤIDXリストは以下の疑似コードで導出される。なお、i番目のレイヤのレイヤ識別子nuhLayerIdは、VPS上で“layer_id_in_nuh[i]”（図１８のSYNVPS0B）のシンタックスによって表わされる。以降では、i番目のレイヤのレイヤ識別子“layer_id_in_nuh[i]”の表記を短くするため、”nuhLId#i”と表記する。また、配列NumDirectRefLayers[]は、レイヤ識別子iNuhLIdのレイヤが参照する直接参照レイヤ数を表わす。
【０２４９】
（参照レイヤIDリスト、及び直接参照レイヤIDXリストの導出）
参照レイヤIDリスト、及び直接参照レイヤIDXリストの導出は以下の疑似コードにより実行される。
【０２５０】
for(i=0; i< VpsMaxLayers; i++){
iNuhLId = nuhLId#i;
NumDirectRefLayers[iNuhLId] = 0;
for(j=0; j<i; j++){
if( direct_dependency_flag[i][j]){
RefLayerId[iNuhLId][NumDirectRefLayers[iNuhLId]] = nuhLId#j;
NumDirectRefLayers[iNuhLId]++;
DirectRefLayerIdx[iNuhLId][ nuhLId#j]= NumDirectRefLayers[iNuhLId] - 1;
} 
} // end of loop on for(j=0; j<i; i++)
}  // end of loop on for(i=0; i< VpsMaxLayers ; i++)
なお、上記疑似コードをステップで表わせば、次の通りである。
（SL01）i番目のレイヤに関する参照レイヤIDリスト、及び直接参照レイヤIDXリストの導出に係るループの開始点である。ループの開始前に、変数iは０に初期化される。ループ内の処理は、変数iがレイヤ数VpsMaxLayers 未満のときに実行され、ループ内の処理が１回実行される度に、変数iは“１”加算される。
（SL02）変数iNuhLidに、i番目のレイヤのレイヤ識別子nuhLID#iを設定する。さらに、レイヤ識別子nuhLID#iの直接参照レイヤ数NumDirectRefLyaers[iNuhLID]を０へ設定する。
（SL03）j番目のレイヤを、i番目のレイヤに関する参照レイヤIDリスト、及び直接参照レイヤIDXリストへ要素追加に係るループの開始点である。ループの開始前に、変数jは０に初期化される。ループ内の処理は、変数ｊ（ｊ番目のレイヤ）がi番目のレイヤ未満（j<i）のときに実行され、ループ内の処理が１回実行される度に、変数jは“１”加算される。
（SL04）i番目のレイヤに対するj番目のレイヤの直接依存フラグ(direct_dependency_flag[i][j])を判定する。直接依存フラグが１であれば、ステップSL05〜SL07の処理を実行するため、ステップSL05へ遷移する。直接依存フラグが０であれば、ステップSL05〜SL07の処理を省略し、SL0Aへ遷移する。
（SL05）参照レイヤIDリストRefLayerId[iNuhLId][]のNumDirectRefLayers[iNuhLId]番目の要素へ、レイヤ識別子nuhLID#jを設定する。
すなわち、RefLayerId[iNuhLId][NumDirectRefLayers[iNuhLId]] = nuhLId#j;
（SL06）直接参照レイヤ数NumDirectRefLayers[iNuhLId]の値を“１”加算する。すなわち、NumDirectRefLayers[iNuhLId]++;
（SL07）直接参照レイヤIDXリストDirectRefLayerIdx[iNuhLid][]のnuhLId#j番目の要素へ、直接参照レイヤインデクス(直接参照レイヤIDX)として、“直接参照レイヤ数-1”の値を設定する。すなわち、
DirectRefLayerIdx[iNuhLId][ nuhLId#j]= NumDirectRefLayers[iNuhLId] - 1;
（SL0A）j番目のレイヤを、i番目のレイヤに関する参照レイヤIDリスト、及び直接参照レイヤIDXリストへ要素追加に係るループの終端である。
（SL0B）i番目のレイヤの参照レイヤIDリスト、及び直接参照レイヤIDXリストの導出に係るループの終端である。
【０２５１】
以上、説明した、参照レイヤIDリスト、及び直接参照レイヤIDXリストを利用することで、直接参照レイヤセットで、ｋ番目のレイヤのレイヤIDが、全レイヤの中で、何番目の要素（直接参照レイヤIDX）であるか、逆に、直接参照レイヤIDXが、直接参照レイヤセットで、何番目の要素であるかを把握することができる。なお、導出の手順は、上記ステップに限定されず、実施可能な範囲で変更してもよい。
【０２５２】
（間接依存フラグ、依存フラグの導出）
ここで、i番目のレイヤが、ｊ番目のレイヤに間接的に依存するか否か（ｊ番目のレイヤは、i番目のレイヤの間接参照レイヤであるか否か）の依存関係を示す間接依存フラグ(IndirectDependencyFlag[i][j])は、直接依存フラグ(direct_dependency_flag[i][j])を参照して、後述の疑似コードにより導出することができる。
【０２５３】
また、i番目のレイヤが、ｊ番目のレイヤに直接的に依存するか（直接依存フラグが１の場合、ｊ番目のレイヤは、i番目のレイヤの直接参照レイヤともいう）、あるいは間接的に依存するか（間接依存フラグが１の場合、ｊ番目のレイヤは、i番目のレイヤの間接参照レイヤともいう）の依存関係を示す依存フラグ(DependencyFlag[i][j])は、直接依存フラグ(direct_dependency_flag[i][j])、及び上記間接依存フラグ（IndirectDepdendencyFlag[i][j]）を参照して、後述の疑似コードにより導出することができる。
【０２５４】
なお、間接依存フラグIndirectDependencyFlag[i][j]は、ｉ番目のレイヤが、ｊ番目のレイヤに間接的に依存しているか否かを示し、間接的に依存している場合に１の値、間接的に依存していない場合に０の値をとる。ここで、ｉ番目のレイヤがｊ番目のレイヤに間接的に依存している場合、ｉ番目のレイヤを対象レイヤとして復号処理を実行する場合に、ｊ番目のレイヤに関するパラメータセット、復号ピクチャや関連する復号済シンタックスが、対象レイヤにより間接的に参照される可能性があることを意味する。逆に、ｉ番目のレイヤがｊ番目のレイヤに間接的に依存していない場合、ｉ番目のレイヤを対象レイヤとして復号処理を実行する場合に、ｊ番目のレイヤに関するパラメータセット、復号ピクチャや関連する復号済シンタックスが間接的に参照されないことを意味する。
【０２５５】
言い換えると、ｉ番目のレイヤのｊ番目のレイヤに対する間接依存フラグが１である場合、ｊ番目のレイヤはｉ番目のレイヤの間接的な参照レイヤとなりえる。特定のレイヤに対して間接的な参照レイヤとなりえるレイヤの集合、つまり対応する間接依存フラグの値が１であるレイヤの集合を、間接依存レイヤセットと呼ぶ。なお、i＝０、すなわちの０番目のレイヤ（基本レイヤ）は、ｊ番目のレイヤ（拡張レイヤ）とは間接的な依存関係がないため、間接依存フラグ“IndirecctDepedencyFlag[i][j]”の値は０であり、０番目のレイヤ（基本レイヤ）に対するｊ番目のレイヤ（拡張レイヤ）の間接依存フラグの導出は省略可能である。
【０２５６】
また、依存フラグDependencyFlag[i][j]は、ｉ番目のレイヤが、ｊ番目のレイヤに依存しているか否かを示し、依存している場合に１の値、依存していない場合に０の値をとる。なお、依存フラグDependencyFlag[i][j]に関連する、参照や依存については、特に言及しない限り、直接と間接（直接参照、間接参照、直接依存、間接依存）の両方を含むものとする。ここで、ｉ番目のレイヤがｊ番目のレイヤに依存している場合、ｉ番目のレイヤを対象レイヤとして復号処理を実行する場合に、ｊ番目のレイヤに関するパラメータセット、復号ピクチャや関連する復号済シンタックスが、対象レイヤにより参照される可能性があることを意味する。逆に、ｉ番目のレイヤがｊ番目のレイヤに依存していない場合、ｉ番目のレイヤを対象レイヤとして復号処理を実行する場合に、ｊ番目のレイヤに関するパラメータセット、復号ピクチャや関連する復号済シンタックスが参照されないことを意味する。
【０２５７】
言い換えると、ｉ番目のレイヤのｊ番目のレイヤに対する依存フラグが１である場合、ｊ番目のレイヤはｉ番目のレイヤの直接参照レイヤ、または間接参照レイヤとなりえる。また、特定のレイヤに対して直接参照レイヤ、または間接参照レイヤとなりえるレイヤの集合、つまり対応する依存フラグの値が１であるレイヤの集合を、依存レイヤセットと呼ぶ。
【０２５８】
間接依存フラグ、及び依存フラグの導出は、たとえば、以下の擬似コードによって導出できる。
【０２５９】
（疑似コード）
// derive indirect reference layers of layer i
for(i=2; i< VpsMaxLayers; i++){
for(k=1; k<i; k++){
for(j=0; j<k; j++){
if( (direct_dependency_flag[k][j] || IndirectDependencyFlag[k][j] )           direct_dependency_flag[i][k] &&         !direct_dependency_flag[i][j]){
IndirectDependencyFlag[i][j] = 1;
}
} // end of loop on for(j=0; j<k; j++)
} // end of loop on for(k=1; k<i; k++)
}  // end of loop on for(i=2; i< VpsMaxLayers; i++)
// derive dependent layers (direct or indirect reference layers) of layer i
for(i=0; i< VpsMaxLayers; i++){
for(j=0; j<i; j++){
DependencyFlag[i][j] =       (direct_dependency_flag[i][j] | IndirectDependencyFlag[i][j]);
} // end of loop on for(j=0; j<i; i++)
}  // end of loop on for(i=0; i< VpsMaxLayers; i++)
なお、上記疑似コードをステップで表わせば、次の通りである。なお、ステップSO01の開始前に、間接依存フラグIndirectDependencyFlag[][]、及び依存フラグDependencyFlga[][]の全ての要素の値は、０で初期化済であるものとする。
【０２６０】
（SO01）i番目のレイヤ(レイヤi)に関する間接依存フラグの導出に係るループの開始点である。ループの開始前に、変数iは２に初期化される。ループ内の処理は、変数iがレイヤ数VpsMaxLayers未満のときに実行され、ループ内の処理が１回実行される度に、変数iは“１”加算される。なお、変数iを２から開始するのは、間接参照レイヤが発生するのはレイヤ数が３レイヤ以上のためである。
【０２６１】
（SO02）i番目のレイヤ(レイヤi)の下位レイヤであって、ｊ番目のレイヤ(レイヤj)の上位レイヤであるｋ番目のレイヤ(レイヤk)(j<k<i)に関するループの開始点である。ループの開始前に、変数iは１に初期化される。ループ内の処理は、変数k（レイヤk）がレイヤi未満（k<i）のときに実行され、ループ内の処理が１回実行される度に、変数kは“1”加算される。なお、変数kを1から開始するのは、間接参照レイヤが発生するのはレイヤ数が３レイヤ以上のためである。
【０２６２】
（SO03）レイヤjがレイヤiの間接参照レイヤであるかを探索するループ開始点である。ループの開始前に、変数jは0に初期化される。ループ内の処理は、変数j（レイヤj）がレイヤk未満（j<k）のときに実行され、ループ内の処理が１回実行される度に、変数jは“1”加算される。
【０２６３】
（SO04）レイヤｊがレイヤiの間接参照レイヤであるかを判定するため、以下の（１）〜（３）の条件を判定する。
（１）レイヤjが、レイヤkの直接参照レイヤ、または間接参照レイヤであるかを判定する。具体的には、レイヤkに対するレイヤjの直接依存フラグ(direct_dependency_flag[k][j])が１、または、レイヤkに対するレイヤjの間接依存フラグ(IndirectDependencyFlag[k][j])が１であれば、真(直接参照レイヤ、または間接参照レイヤである)と判定する。また、直接依存フラグが０（直接参照レイヤでない）、かつ、間接依存フラグが０（間接参照レイヤでない）であれば、偽と判定する。
（２）レイヤkが、レイヤiの直接参照レイヤであるかを判定する。具体的には、レイヤiに対するレイヤkの直接依存フラグ(direct_dependency_flag[i][k])が１であれば、真(直接参照レイヤである)と判定し、直接依存フラグが０(直接参照レイヤでない)であれば、偽と判定する。
（３）レイヤjが、レイヤiの直接参照レイヤでないことを判定する。具体的には、レイヤiに対するレイヤjの直接依存フラグ(direct_dependency_flag[i][j])が０（直接参照レイヤでない）であれば、真と判定し、直接依存フラグが１（直接参照レイヤである）であれば、偽と判定する。
【０２６４】
上記（１）〜（３）の条件が全て真である場合（すなわち、（レイヤkに対するレイヤｊの直接依存フラグが１、あるいは間接依存フラグが１）、かつ、レイヤiに対するレイヤの直接依存フラグdirect_dependency_flag[i][k]が１、かつ、レイヤiに対するレイヤの直接依存フラグdirect_dependency_flag[i][j]が０）、ステップSN06へ遷移する。それ以外の場合（上記（１）〜（３）のいずれか一つでも偽である場合、すなわち、レイヤkに対するレイヤｊの直接依存フラグが０、かつ間接依存フラグが０）、または、レイヤiに対するレイヤの直接依存フラグdirect_dependency_flag[i][k]が０、または、レイヤiに対するレイヤの直接依存フラグdirect_dependency_flag[i][j]が１）であれば、ステップSO05の処理を省略し、ステップSO06へ遷移する。
【０２６５】
（SO05）上記（１）〜（３）の条件が全て真である場合、レイヤｊは、レイヤiの間接参照レイヤであると判断し、間接依存フラグIndirectDependencyFlag[i][]のｊ番目の要素の値を１へ設定する。すなわち、IndirectDependencyFlag[i][j] = 1である。
【０２６６】
（SO06）レイヤjがレイヤiの間接参照レイヤであるかを探索するループの終端である。
【０２６７】
（SO07）レイヤiの下位レイヤであって、レイヤjの上位レイヤであるレイヤk (j<k<i)に関するループの終端である。
【０２６８】
（SO08）レイヤiに関する間接依存フラグの導出に係るループの終端である。
【０２６９】
（S00A）レイヤiに関する依存フラグの導出に係るループの開始点である。ループの開始前に、変数iは０に初期化される。ループ内の処理は、変数iがレイヤ数VpsMaxLayers未満のときに実行され、ループ内の処理が１回実行される度に、変数iは“１”加算される。
【０２７０】
（S00B）レイヤjがレイヤiの依存レイヤ（直接参照レイヤ、または間接参照レイヤ）であるかを探索するループの開始点である。ループの開始前に、変数jは０に初期化される。ループ内の処理は、変数jが変数i未満(j<i)のときに実行され、ループ内の処理が１回実行される度に、変数jは“１”加算される。
【０２７１】
（S00C）直接依存フラグ(direct_dependency_flag[i][j])、及び間接依存フラグ(IndirectDependencyFlag[i][j])に基づいて、依存フラグ(DependencyFlag[i][j])の値を設定する。具体的には、直接依存フラグ（direct_dependency_flag[i][j]）の値と、間接依存フラグ（direct_dependency_flag[i][j]）の値の論理和の値を、依存フラグ(DependencyFlag[i][j])の値とする。すなわち、以下の式で示すように、直接依存フラグの値が１、または間接依存フラグの値が１であれば、依存フラグの値は１となる。それ以外の場合（直接依存フラグの値が０、かつ、間接依存フラグの値が０）は、依存フラグの値は０となる。なお、下記導出式は、一例であり、依存フラグに設定される値が同一になる範囲で変更可能である。
【０２７２】
DependencyFlag[i][j] =       (direct_dependency_flag[i][j] | IndirectDependencyFlag[i][j]);
（S00D）レイヤjがレイヤiの依存レイヤ（直接参照レイヤ、または間接参照レイヤ）であるかを探索するループの終端である。
【０２７３】
（S00E）レイヤiに関する依存フラグの導出に係るループの終端である。
【０２７４】
以上、説明したように、レイヤiが、レイヤｊに間接的に依存する場合の依存関係を示す間接依存フラグ(IndirectDependencyFlag[i][j])を導出することにより、レイヤjが、レイヤiの間接参照レイヤであるかを把握することができる。
【０２７５】
また、レイヤiが、レイヤｊに依存する場合（直接依存フラグが１、または間接依存フラグが１の場合）の依存関係を示す依存フラグ(DependencyFlag[i][j])を導出することにより、レイヤｊが、レイヤiの依存レイヤ（直接参照レイヤ、または間接参照レイヤ）であるかを把握することができる。なお、導出の手順は、上記ステップに限定されず、実施可能な範囲で変更してもよい。
【０２７６】
また、上記の例では、i番目のレイヤに対するｊ番目のレイヤが直接参照レイヤ、または間接参照レイヤであるか否かを示す依存フラグDipendecyFlag[i][j]を、全レイヤ内でのインデクスiとｊに対して導出しているが、i番目のレイヤのレイヤ識別子nuhLId#i、及びｊ番目のレイヤのレイヤ識別子nuhLId#jとして、レイヤ識別子間の依存フラグ（レイヤ識別子間依存フラグ）LIdDipendencyFlag[][]を導出してもよい。その場合、上記ステップSN08において、レイヤ識別子間依存フラグ(LIdDependencyFlag[][])の１番目の要素を、i番目のレイヤのレイヤ識別子nuhLId#i、２番目の要素をｊ番目のレイヤのレイヤ識別子nuhLId#jとして、レイヤ識別子間依存フラグ(LIdDependencyFlag[nuhLId#i][nuhLId#j])の値を導出する。すなわち、以下の式に示すように、直接依存フラグの値が１、または間接依存フラグの値が１であれば、レイヤ識別子間依存フラグの値は１となる。それ以外の場合（直接依存フラグの値が０、かつ、間接依存フラグの値が０）は、レイヤ識別子間依存フラグの値は０となる。
【０２７７】
LIdDependencyFlag[nuhLId#i][nuhLId#j] =       (direct_dependency_flag[i][j] | IndirectDependencyFlag[i][j]);
以上、説明したように、レイヤ識別子nuhLId#iであるi番目のレイヤが、レイヤ識別子nuhLId#jであるｊ番目のレイヤに直接的に、または間接的に依存するか示すレイヤ識別子間依存フラグ(LidDependencyFlag[nuhLId#i][nuhLId#j])を導出することにより、レイヤ識別子nuhLId#jであるｊ番目のレイヤが、レイヤ識別子nuhLId#iであるi番目のレイヤの直接参照レイヤ、または間接参照レイヤであるかを把握することができる。
【０２７８】
なお、依存フラグの１番目の要素をレイヤiのレイヤ識別子、２番目の要素をレイヤjのレイヤIDX(=j)と対応付けて導出してもよい。すなわち、以下の式に示すように導出する。
【０２７９】
DependencyFlag[nuhLId#i][j] =       (direct_dependency_flag[i][j] | IndirectDependencyFlag[i][j]);
また、依存フラグの１番目の要素をレイヤiのレイヤIDX(=i)、２番目の要素をレイヤjのレイヤ識別子と対応付けて導出してもよい。
【０２８０】
DependencyFlag[i][ nuhLId#j ] =       (direct_dependency_flag[i][j] | IndirectDependencyFlag[i][j]);
なお、上記手順は、これに限定されず、実施可能な範囲で変更してもよい。なお、レイヤ間の対応関係を示す２次元配列(直接依存フラグ、間接依存フラグ、直接参照レイヤIDXリスト、参照レイヤIDリスト等)の各要素の引数として、「１番目の要素をレイヤiのレイヤ識別子、２番目の要素をレイヤjのレイヤIDX」、または、「１番目の要素をレイヤiのレイヤIDX、２番目の要素をレイヤjのレイヤ識別子」、または「１番目の要素をレイヤiのレイヤIDX、２番目の要素をレイヤjのレイヤIDX」、または、「１番目の要素をレイヤiのレイヤ識別子、２番目の要素をレイヤjのレイヤ識別子」を用いて、２次元配列を定義してもよい。
【０２８１】
また、レイヤ間依存情報には、後述のレイヤ依存タイプ(direct_dependency_type[i][j])ビット長Ｍを示すシンタックス“direct_dependency_len_minusN”(レイヤ依存タイプビット長)(図１８のSYNVPS0E)が含まれている。ここで、Ｎはレイヤ依存タイプの種類の総数によって定まる値であり、少なくとも２以上の整数である。なお、ビット長Mの最大値は、例えば、32であり、Ｎ＝２とすれば、direct_dependency_type[i][j]の値域は、0から(2^32 - 2)である。より一般的には、ビット長Ｍ、及びレイヤ依存タイプの総数によって定まるＮで表せば、direct_dependency_type[i][j]の値域は、0から(2^M - N)である。
【０２８２】
レイヤ間依存情報には、i番目のレイヤがとｊ番目のレイヤ間の参照関係を示すレイヤ依存タイプを示すシンタックス“direct_dependency_type[i][j]”(図１８のSYNVPS0F)が含まれている。具体的には、直接依存フラグdirect_dependency_flag[i][j]が1である場合、レイヤ依存タイプ(DirectDepType[i][j] = direct_dependency_type[i][j] + 1)の各ビット値で、ｉ番目のレイヤに対する参照レイヤであるj番目のレイヤのレイヤ依存タイプの種別の有無フラグを示す。
【０２８３】
例えば、レイヤ依存タイプの種別の有無フラグには、レイヤ間画像予測の有無フラグ(SamplePredEnabledFlag;レイヤ間画像予測有無フラグ)、レイヤ間動き予測の有無フラグ(MotionPredEnabledFlag;レイヤ間動き予測有無フラグ)や、non-VCLの依存の有無フラグ（NonVCLDepEnabledFlag;non-VCL依存有無フラグ）がある。なお、non-VCLの依存有無フラグは、non-VCL NALユニットに含まれるヘッダ情報（SPSやPPSなどのパラメータセット）に関するレイヤ間の依存関係の有無を示す。例えば、後述するレイヤ間でのパラメータセットの共有（共有パラメータセット）の有無や、レイヤ間でのパラメータセット内の一部のシンタックス予測（例えば、スケーリングリスト情報（量子化マトリックス）等）（パラメータセット間シンタックス予測、あるいはパラメータセット間予測ともいう）の有無が含まれる。なお、シンタックス“direct_dependency_type[i][j]”で符号化される値は、図１９の例では、レイヤ依存タイプの値-1、すなわち、“DirectDepType[i][j] - 1”の値である。
【０２８４】
ここで、本実施形態に係るレイヤ依存タイプの値（DirectDepType[i][j] = direct_dependency_type[i][j] + 1）とレイヤ依存タイプの種別の対応関係の一例を図１９(a)に示す。図１９(a)に示すように、レイヤ依存タイプの最下位ビット（０ビット）の値は、レイヤ間画像予測の有無を示し、最下位ビットから1ビット目の値は、レイヤ間動き予測の有無を示し、最下位ビットから(N-1)ビット目の値は、non-VCLの依存の有無を示す。なお、最下位ビットからNビット目から最上位ビット(M-1ビット目)の各ビットは、依存タイプの拡張用ビットである。
【０２８５】
対象レイヤi（レイヤ識別子iNuhLId=nunLayerIdI）に対する参照レイヤjの各レイヤ依存タイプ別有無フラグは、次の式によって導出される。
【０２８６】
SamplePredEnabledFlag[iNuhLId][j]=((direct_dependency_type[i][j]+1) & 1 );
MotionPredEnabledFlag[iNuhLId][j]=((direct_dependency_type[i][j]+1) & 2 )>>1;
NonVCLDepEnabledFlag [iNuhLid][j]=                     ((direct_dependency_type[i][j]+1) & (1<<(N-1)) ) >> (N-1);
あるいは、(direct_dependency_type[i][j]+1)の代わりに、変数DirectDepType[i][j]を用いて、次の式によっても表現できる。 SamplePredEnabledFlag[iNuhLId][j]=((DirectDepType[i][j]) & 1 );
MotionPredEnabledFlag[iNuhLId][j]=((DirectDepType[i][j]) & 2 )>>1;
NonVCLDepEnabledFlag [iNuhLid][j]=                     ((DirectDepType[i][j]) & (1<<(N-1)) ) >> (N-1);
なお、図１９ (a)の例では、(N-1)ビット目をnon-VCL依存タイプ(non-VCL依存有無フラグ)としているが、これに限定されない。例えば、N=3とし、最下位ビットから2ビット目をnon-VCLの依存タイプの有無を表わすビットとしてもよい。また、各依存タイプ別の有無フラグを示すビット位置は、実施可能な範囲で変更してもよい。なお、上記各有無フラグの導出は、前述した（参照レイヤIDリスト、及び直接参照レイヤIDXリストの導出）において、ステップSL08として実行して導出してもよい。なお、導出の手順は、上記ステップに限定されず、実施可能な範囲で変更してもよい。なお、レイヤ依存タイプの値DirectDepType[i][j]）は、(direct_dependency_type[i][j] + 1）に限定されず、（DirectDepType[i][j]= direct_dependency_type[i][j])としてもよい。
【０２８７】
(レイヤセットグラフの導出について) 
パラメータセット復号部１２は、レイヤセット情報に基づいてレイヤセットグラフを導出するレイヤセットグラフ導出手段（不図示）を備える。以下では、本発明と特に関連の深いレイヤセットグラフの導出について説明する。ここでは、図８(ｂ)に示すレイヤセットの定義を例にして、図８(ｃ)に示すレイヤセットグラフを導出する過程を説明する。レイヤセットグラフを導出するとは、例えば、レイヤセットグラフを示すノードの集合V、及びエッジの集合Eを求めること、あるいは、ノード間の接続関係を示す隣接行列を求めることに相当する。なお、レイヤセット情報において、全てのレイヤを含むレイヤセットが定義されていない場合は、全てのレイヤを含むレイヤセットを暫定で定義し、導出されたレイヤIDリストLayerIdList[iA][]、及びレイヤセットiAのレイヤ数NumLayersInIdList[iA]の先頭要素として挿入し、暫定レイヤIDリストLayerIdList’[][]及びレイヤ数NumLayersInIdList’[]、レイヤセット数MaxNumLayerSets’とする。ここで、暫定に定義したレイヤセットと、定義済のレイヤセットを区別するため、暫に定義したレイヤセット(LayerIdList’[0])を、”未定義”とマークし、定義済みのレイヤセットLayerIdList’[iA](iA=1・・axNumLayerSets’-1)は、“定義”とマークしておく。以降では、特に断りがなければ、レイヤIDリストLayerIdListと、暫定レイヤIDリストLayerIdList’を区別せず、レイヤIDリストLayerIdLsitを用いて説明する。以下では、レイヤセットグラフを示すMaxNumLayersSets行×MaxNumLayersSets列の隣接行列を示すMatrixAdjLayerSets[][]を導出する疑似コードを以下に示す。        （疑似コード）
for( iA=0; iA < MaxNumLayerSets - 1; iA++){
for( iB=0; iB< MaxNumLayerSets - 1; iB++){
// S#iAにS#iBが包含されるか判定する
if ( iA != iB && LayerIdList[iB] ⊂ LayerIdList[iA]){
// S#iAにS#iBが包含される(S#iAがS#iBに接続する)ことを示す
//フラグ（１）を設定する。
【０２８８】
MatrixAdjLayerSets[iA][iB] = 1;
//iAのエッジの本数をカウント        NumEdge[iA]++; 
}
} // for( iB=0; iB< MaxNumLayerSets - 1; iB++){
} // for( iA=0; iA < MaxNumLayerSets - 1; iA++)
for( iA=0; iA < MaxNumLayerSets - 1; iA++){
for( iB=0; iB< MaxNumLayerSets - 1; iB++){
// S#iAにS#iBが包含され、かつ、S#iAのエッジ数は、
// S#iBのエッジ数より大きいか判定する
if(MatrixAdjLayerSets[iA][iB] && NumEdge[iA] > NumEdge[iB] ){
for( iC=0; iC< MaxNumLayerSets - 1; iC++){
// S#iAにS#iCが包含され、かつ、S#iBにS#iCが包含されるか判定する
if( MatrixAdjLayersSets[iA][iC] && 
MatrixAdjLayersSets[iB][iC] && iA!=iC && iB!=iC){
// S#iAとS#iCが接続することを示すフラグを０にする
MatrixAdjLayersSets[iA][iC] = 0;
} 
} // for( iC=0; iC< MaxNumLayerSets - 1; iC++)
} 
} // for( iB=0; iB< MaxNumLayerSets - 1; iB++){
} // for( iA=0; iA < MaxNumLayerSets - 1; iA++)
上記の疑似コードにより導出される図８（Ｃ）のレイヤセットグラフを示すMatrixAdjLayerSets[][]の値は以下の通りである。
【０２８９】
MatrixAdjLayersSets[iA][iB] = { { 0, 0, 0, 0, 0 }, 
{ 1, 0, 0, 0, 0 }, 
{ 0, 1, 0, 0, 0 }, 
{ 0, 0, 1, 0, 1 }, 
{ 0, 0, 0, 0, 0 }};
なお、上記手順は、これに限定されず、実施可能な範囲で変更してもよい。
【０２９０】
(シーケンスパラメータセットSPS)
シーケンスパラメータセットＳＰＳでは、対象シーケンスを復号するために画像復号装置１が参照する符号化パラメータの集合が規定されている。
【０２９１】
アクティブVPS識別子は、対象SPSが参照するアクティブVPSと指定する識別子であり、シンタックス“sps_video_parameter_set_id”(図２０のSYNSPS01)としてSPSに含まれている。なお、パラメータセット復号部１２は、復号対象のシーケンスパラメータセットＳＰＳに含まれるアクティブVPS識別子を復号するとともに、パラメータセット管理部１３から、該アクティブVPS識別子で指定されるアクティブＶＰＳの符号化パラメータを読み出し、以降の復号対象ＳＰＳの各シンタックスを復号する際に該アクティブＶＰＳの符号化パラメータを参照してもよい。なお、復号対象SPSの各シンタックスが、アクティブVPSの符号化パラメータに依存しない場合は、復号対象SPSのアクティブVPS識別子復号時点での、VPSのアクティベート処理は必要ない。
【０２９２】
SPS識別子は、各SPSを識別するための識別子であり、シンタックス“sps_seq_parameter_set_id”(図２０のSYNSPS02)としてSPSに含まれている。後述のPPSに含まれるアクティブSPS識別子(pps_seq_parameter_set_id)により特定されるSPSが、対象レイヤセット内の対象レイヤの符号化データの復号処理時に参照される。
【０２９３】
（ピクチャ情報）
ＳＰＳには、ピクチャ情報として、対象レイヤの復号ピクチャのサイズを定める情報が含まれる。例えば、ピクチャ情報は、対象レイヤの復号ピクチャの幅や高さを表わす情報を含んでいる。SPSから復号されるピクチャ情報には、復号ピクチャの幅（pic_width_in_luma_samples）と復号ピクチャの高さ（pic_height_in_luma_samples）が含まれている（図２０では不図示）。シンタックス“pic_width_in_luma_samples”の値は、輝度画素単位での復号ピクチャの幅に対応する。また、シンタックス“pic_height_in_luma_samples”の値は、輝度画素単位での復号ピクチャの高さに対応する。
【０２９４】
図２０のSYNSPS04に示すシンタックス群は、対象シーケンス全体を通じて利用されるスケーリングリスト（量子化マトリックス）に関する情報（スケーリングリスト情報）である。スケーリングリスト情報の中で、“sps_infer_scaling_list_flag”(SPSスケーリングリスト推定フラグ)は、対象SPSのスケーリングリストに関する情報を、“sps_scaling_list_ref_layer_id”で特定される参照レイヤのアクティブＳＰＳのスケーリングリスト情報から推定するか否かを示すフラグである。SPSスケーリングリスト推定フラグが１の場合、該SPSのスケーリングリスト情報は、“sps_scaling_list_ref_layer_id”で特定される参照レイヤのアクティブＳＰＳのスケーリングリスト情報から推定される（コピーされる）。SPSスケーリングリスト推定フラグが０の場合、SPSでスケーリングリスト情報が、“sps_scaling_list_data_present_flag”に基づいて通知される。
【０２９５】
ＳＰＳ拡張データ有無フラグ“sps_extension_flag”（図２０のSYNSPS05）は、ＳＰＳがさらにＳＰＳ拡張データsps_extension()（図２０のSYNSPS06）を含むか否かを示すフラグである。
【０２９６】
ＳＰＳ拡張データ（sps_extension()）には、レイヤ間位置対応情報が含まれている。
【０２９７】
（レイヤ間位置対応情報） 
レイヤ間位置対応情報は、概略的には、対象レイヤと参照レイヤの対応する領域の位置関係を示す。例えば、対象レイヤのピクチャと参照レイヤのピクチャにある物体（物体Ａ）が含まれる場合、対象レイヤのピクチャ上の物体Ａに対応する領域と、参照レイヤのピクチャ上の物体Ａに対応する領域が、前記対象レイヤと参照レイヤの対応する領域に相当する。なお、レイヤ間位置対応情報は、必ずしも上記の対象レイヤと参照レイヤの対応する領域の位置関係を正確に示す情報でなくてもよいが、一般的には、レイヤ間予測の正確性を高めるために正確な対象レイヤと参照レイヤの対応する領域の位置関係を示している。
【０２９８】
レイヤ間位置対応情報は、レイヤ間画素対応情報を含む。レイヤ間画素対応情報は、参照レイヤのピクチャ上の画素と、対応する対象レイヤのピクチャ上の画素との位置関係を示す情報である。
【０２９９】
（レイヤ間画素対応情報）
レイヤ間画素対応情報は、例えば、図２１に示すシンタックス表に従って復号される。図２１は、パラメータセット復号部１２がSPS復号時に参照するシンタックス表の一部であって、レイヤ間画素対応情報に係る部分である。
【０３００】
レイヤ間画素対応情報には、レイヤ識別子nuhLayerIdB（nuhLayerIdB>=nuhLayerIdA）を有するレイヤに属するシーケンスの復号の際に、レイヤ識別子nuhLayerIdAを有するレイヤの該SPS（復号対象SPS）を共有パラメータセットとして参照するレイヤ数（パラメータセット参照レイヤ数NumLIdRefSharedSPS）を表わすシンタックス“num_layer_id_refering_shared_sps_minus1”(図２１のSYNSPS0A)が含まれる。パラメータセット参照レイヤ数NumLIdRefSharedSPSは、(num_layer_id_refering_shared_sps_minus1 + 1）の値に設定される。
【０３０１】
レイヤ間画素対応情報には、レイヤ識別子nuhLayerIdB（nuhLayerIdB>=nuhLayerIdA）を有するレイヤに属するシーケンスの復号の際に、レイヤ識別子nuhLayerIdAを有するレイヤの該SPS（復号対象SPS）を参照するレイヤ（レイヤ識別子nuhLayerIdB＝layer_id_referring_sps[k]）(図２１のSYNSPS0B)毎に、SPS拡張データに含まれるレイヤ間画素対応情報の個数“num_scaled_ref_layer_offsets[k]”(図２１のSYNSPS0C)が含まれる。なお、図２１のSYNSPS0Bにおいて、“layer_id_referring_sps[k]”は、変数ｋが０の場合、該ＳＰＳと同一のレイヤ識別子nuhLayerIdAを有するレイヤであるため、“layer_id_referring_sps[k]”は復号されず、“layer_id_referring_sps[k]”の値は、該ＳＰＳのレイヤ識別子nuhLayerIdAと等しいと推定される（図２１では、layer_id_referring_sps[0]=nuh_layer_id）。すなわち、“layer_id_referring_sps[0]”に係る符号量を削減する効果がある。また、変数kとレイヤ識別子“layer_id_referring_sps[k]”を引数として、変数ｋを導出するために利用される配列LIdToIdx[]は、次式によって導出される。
【０３０２】
LIdToIdx[ layer_id_refering_sahred_sps[ k ] ] = k;
すなわち、 配列LIdToIdx[]の“layer_id_referring_sps[k]”番目の要素の値は、kへ設定される。
【０３０３】
加えて、レイヤ間画素対応情報には、上記レイヤ識別子nuhLayerIdB=layer_id_referring_sps[k]であるレイヤ毎に、該レイヤと参照レイヤ（直接参照レイヤ）に関する前記レイヤ間画素対応情報の個数分のレイヤ間画素対応オフセットが含まれる。すなわち、図２１に示すレイヤ間画素対応情報は、対象レイヤと直接参照レイヤ間のレイヤ画素対応情報である。レイヤ間画素対応オフセットには、直接参照レイヤのレイヤ識別子“scaled_ref_layer_id[k][i]”、スケール後参照レイヤ左オフセット（scaled_ref_layer_left_offset[k][]）、スケール後参照レイヤ上オフセット（scaled_ref_layer_top_offset[k][]）、スケール後参照レイヤ右オフセット（scaled_ref_layer_right_offset[k][]）、および、スケール後参照レイヤ下オフセット（scaled_ref_layer_bottom_offset[k][]）が含まれる。ここで、各配列の１番目の要素（変数ｋ）は、パラメータセット参照レイヤの識別するためのインデックスである。また、各オフセット(scaled_ref_layer_x_offset[k][],x=left, top, right, bottom))の２番の要素は、直接参照レイヤのレイヤ識別子“scaled_ref_layer_id[k][i]”である。
【０３０４】
レイヤ間画素対応オフセットに含まれる各オフセットの意味を、図２２を参照して説明する。図２２は、対象レイヤのピクチャ、参照レイヤのピクチャ、および、レイヤ間画素対応オフセットの関係を例示する図である。各オフセットは、対象レイヤピクチャ上で、参照レイヤピクチャ全体（もしくは一部領域）に対応する対象レイヤ対象領域を示す。図２２（ａ）は、対象レイヤ対象領域が、参照レイヤピクチャ全体に対応する場合であり、図２２（ｂ）は、参照レイヤ対象領域が、参照レイヤピクチャの一部に対応する場合である。
【０３０５】
図２２（ａ）は、参照レイヤのピクチャ全体が対象レイヤのピクチャの一部に対応する場合の例を示す。この場合、参照レイヤピクチャ全体に対応する対象レイヤ上の領域（対象レイヤ対応領域）は、対象レイヤピクチャの内部に含まれている。図２２（ｂ）は、参照レイヤのピクチャの一部が対象レイヤのピクチャ全体に対応する場合の例を示す。この場合、参照レイヤ対応領域の内部に対象レイヤピクチャが含まれている。
【０３０６】
図２２に示すように、スケール後参照レイヤ左オフセット（図２２ではSRL左オフセット）は、参照レイヤ対象領域左辺の対象レイヤピクチャ左辺に対するオフセットを表わす。なお、SRL左オフセットが０より大きい場合、参照レイヤ対象領域左辺が対象レイヤピクチャ左辺の右側に位置することを表わす。
【０３０７】
スケール後参照レイヤ上オフセット（図２２ではSRL上オフセット）は、参照レイヤ対象領域上辺の対象レイヤピクチャ上辺に対するオフセットを表わす。なお、SRL上オフセットが０より大きい場合、参照レイヤ対象領域上辺が対象レイヤピクチャ上辺の下側に位置することを表わす。
【０３０８】
スケール後参照レイヤ右オフセット（図２２ではSRL右オフセット）は、参照レイヤ対象領域右辺の対象レイヤピクチャ右辺に対するオフセットを表わす。なお、SRL右オフセットが０より大きい場合、参照レイヤ対象領域右辺が対象レイヤピクチャ右辺の左側に位置することを表わす。
【０３０９】
スケール後参照レイヤ下オフセット（図２２ではSRL下オフセット）は、参照レイヤ対象領域下辺の対象レイヤピクチャ下辺に対するオフセットを表わす。なお、SRL下オフセットが０より大きい場合、参照レイヤ対象領域下辺が対象レイヤピクチャ下辺の上側に位置することを表わす。
【０３１０】
従来技術に係るＳＰＳのレイヤ間位置対応情報（不図示）では、該ＳＰＳと同一のレイヤ識別子を有するレイヤに関してのみ、該レイヤと該レイヤの参照レイヤ間のレイヤ間画素対応情報が含まれている。しかし、該ＳＰＳのレイヤ識別子より上位のレイヤ識別子を有するレイヤ（上位レイヤ）が、該ＳＰＳを共有パラメータセットとして参照する場合には、該上位レイヤと該上位レイヤの参照レイヤ間のレイヤ画素対応位置情報がないという問題がある。すなわち、該上位レイヤがレイヤ間画像予測を正確に実施するために必要なレイヤ間画素対応情報がないため、符号化効率が低下するという問題がある。また、レイヤ間画像対応情報を含まない（num_scaled_ref_layer_offsets=0）場合にしか、上位レイヤが該ＳＰＳを共有パラメータセットとして参照することができない問題がある。なお、レイヤ間画像対応情報を含まない場合とは、対象レイヤピクチャ全体と参照レイヤピクチャ全体が対応することを意味する。
【０３１１】
一方、本実施例に係るＳＰＳに含まれるレイヤ間位置対応情報には、レイヤ識別子nuhLayerIdB（nuhLayerIdB>=nuhLayerIdA）を有するレイヤに属するシーケンスの復号の際に、該SPS(レイヤ識別子nuhLayerIdAを有するレイヤのSPS)を、共有パラメータセットとして参照するレイヤ（パラメータセット参照レイヤ）の数が含まれる。さらに、該レイヤ間位置対応情報には、パラメータセット参照レイヤ毎に、該パラメータセット参照レイヤのレイヤ識別子を有するレイヤが、依存するレイヤ数個のレイヤ間画素対応情報が含まれる構成である。従って、従来技術において発生した上記課題を解消することができる。すなわち、該ＳＰＳのレイヤ識別子より上位のレイヤ識別子を有するレイヤ（上位レイヤ）が、該ＳＰＳを共有パラメータセットとして参照する場合には、該上位レイヤと該上位レイヤの参照レイヤ間のレイヤ画素対応位置情報がないという問題を解消する。従って、該上位レイヤがレイヤ間画像予測を正確に実施するために必要なレイヤ間画素対応情報を含むため、従来技術に対して、符号化効率の向上の効果を奏する。また、レイヤ間画像対応情報を含まない（num_scaled_ref_layer_offsets=0）場合に限定されず、上位レイヤが該ＳＰＳを共有パラメータセットとして参照することができるため、上位レイヤのパラメータセットに関する符号量を低減、及びその復号／符号化に係る処理量を低減することができる。
【０３１２】
(ピクチャパラメータセットPPS)
ピクチャパラメータセットＰＰＳでは、対象シーケンス内の各ピクチャを復号するために画像復号装置１が参照する符号化パラメータの集合が規定されている。
【０３１３】
PPS識別子は、各PPSを識別するための識別子であり、シンタックス“pps_pic_parameter_set_id”(図２３のSYNPPS01)としてPPSに含まれている。後述のスライスヘッダに含まれるアクティブPPS識別子(slice_pic_parameter_set_id)により特定されるPPSが、対象レイヤセット内の対象レイヤの符号化データの復号処理時に参照される。
【０３１４】
アクティブSPS識別子は、対象PPSが参照するアクティブSPSと指定する識別子であり、シンタックス“pps_seq_parameter_set_id”(図２３のSYNSPS02)としてPPSに含まれている。なお、パラメータセット復号部１２は、復号対象のピクチャパラメータセットＰＰＳに含まれるアクティブSPS識別子を復号するとともに、パラメータセット管理部１３から、該アクティブSPS識別子で指定されるアクティブＳＰＳの符号化パラメータを読み出し、さらに、該アクティブSPSが参照するアクティブVPSの符号化パラメータを呼び出し、以降の復号対象ＰＰＳの各シンタックスを復号する際に該アクティブＳＰＳ、及び該アクティブＶＰＳの符号化パラメータを参照してもよい。なお、復号対象PPSの各シンタックスが、アクティブSPS、及びアクティブVPSの符号化パラメータに依存しない場合は、復号対象PPSのアクティブPPS識別子復号時点での、SPS、及びVPSのアクティベート処理は必要ない。
【０３１５】
図２３のSYNPPS03に示すシンタックス群は、対象ＰＰＳを参照するピクチャの復号時に利用されるスケーリングリスト（量子化マトリックス）に関する情報（スケーリングリスト情報）である。スケーリングリスト情報の中で、“pps_infer_scaling_list_flag”(スケーリングリスト推定フラグ)は、対象PPSのスケーリングリストに関する情報を、“pps_scaling_list_ref_layer_id”で特定される参照レイヤのアクティブＰＰＳのスケーリングリスト情報から推定するか否かを示すフラグである。PPSスケーリングリスト推定フラグが１の場合、該PPSのスケーリングリスト情報は、“sps_scaling_list_ref_layer_id”で特定される参照レイヤのアクティブＰＰＳのスケーリングリスト情報から推定される（コピーされる）。PPSスケーリングリスト推定フラグが０の場合、PPSでスケーリングリスト情報が、“sps_scaling_list_data_present_flag”に基づいて通知される。
【０３１６】
（ピクチャ復号部１４）
ピクチャ復号部１４は、入力されるVCL NALユニット、および、アクティブパラメータセットに基づいて復号ピクチャを生成して出力する。
【０３１７】
図２６を用いて、ピクチャ復号部１４の概略的構成を説明する。図２６は、ピクチャ復号部１４の概略的構成を示した機能ブロック図である。
【０３１８】
ピクチャ復号部１４は、スライスヘッダ復号部１４１、CTU復号部１４２を備えている。CTU復号部１４２は、さらに、予測残差復元部１４２１、予測画像生成部１４２２、及びCTU復号画像生成部１４２３を含んでいる。
【０３１９】
（スライスヘッダ復号部１４１）
スライスヘッダ復号部１４１は、入力されるVCL NALユニットとアクティブパラメータセットに基づいてスライスヘッダを復号する。復号したスライスヘッダは、入力されるVCL NALユニットと合わせてCTU復号部１４２に出力する。
【０３２０】
（ＣＴＵ復号部１４２）
ＣＴＵ復号部１４２は、概略的には、入力されるスライスヘッダ（図２３（ａ）のSYNSL01）、VCL NALユニットに含まれるスライスデータ（図２３（ａ）のSYNSL02）、及びアクティブパラメータセットに基づいて、ピクチャを構成するスライスに含まれる各CTUに対応する領域の復号画像を復号することで、スライスの復号画像を生成する。ここで、CTUサイズは、アクティブパラメータセットに含まれる、対象レイヤに対するCTBサイズ(図２０のSYNSPS03上のlog2_min_luma_coding_block_size_minus3、及びlog2_diff_max_min_luma_coding_block_sizeが対応するシンタックスである)が用いられる。スライスの復号画像は、入力されるスライスヘッダが示すスライス位置へ、復号ピクチャの一部として出力される。CTUの復号画像は、CTU復号部１４２内部の予測残差復元部１４２１、予測画像生成部１４２２、及びCTU復号画像生成部１４２３により生成される。
【０３２１】
予測残差復元部１４２１は、入力のスライスデータに含まれる予測残差情報（ＴＴ情報）を復号して対象CTUの予測残差を生成して出力する。
【０３２２】
予測画像生成部１４２２は、入力のスライスデータに含まれる予測情報（ＰＴ情報）の示す予測方法と予測パラメータに基づいて予測画像を生成して出力する。その際、必要に応じて、参照ピクチャの復号画像や符号化パラメータが利用される。例えば、インター予測、または、レイヤ間画像予測を使用する場合は、復号ピクチャ管理部１５より対応する参照ピクチャを読み出す。なお、予測画像生成部１４２２による予測画像生成処理のうち、レイヤ間画像予測が選択された場合の予測画像生成処理の詳細は後述する。
【０３２３】
CTU復号画像生成部１４２３は、入力される予測画像と予測残差を加算して対象CTUの復号画像を生成して出力する。
【０３２４】
＜レイヤ画像予測による予測画像生成処理の詳細＞
前述の予測画像生成部１４２２による予測画像生成処理のうち、レイヤ間画像予測が選択された場合の予測画像生成処理の詳細を説明する。
【０３２５】
レイヤ間画像予測が適用される対象CTUに含まれる対象画素の予測画素値の生成処理は次の手順で実行される。まず、参照ピクチャ位置導出処理を実行し、対応参照位置を導出する。ここで、対応参照位置とは、対象レイヤピクチャ上の対象画素に対応する参照レイヤ上の位置である。なお、対象レイヤと参照レイヤの画素は必ずしも１対１に対応しないため、対応参照位置は、参照レイヤにおける画素単位未満の精度で表現される。次に、導出した対応参照位置を入力として補間フィルタ処理を実行することで、対象画素の予測画素値が生成される。
【０３２６】
対応参照位置導出処理では、パラメータセットに含まれるピクチャ情報、レイヤ間画素対応情報に基づいて、対応参照位置を導出する。対応参照位置導出処理の詳細手順について説明する。対応参照位置導出処理は、以下のＳ１０１〜Ｓ１０４の処理を順次実行することで実現される。
【０３２７】
（Ｓ１０１）対象レイヤピクチャサイズ、参照レイヤピクチャサイズ、レイヤ間画素対応情報に基づいて参照レイヤ対応領域サイズと、レイヤ間サイズ比率（参照レイヤ対応領域サイズに対する参照レイヤピクチャサイズの比率）を計算する。まず、参照レイヤ対応領域の幅SRLWと高さSRLH、レイヤ間サイズ比率の水平成分scaleXと水平成分scaleYが次式により計算される。
【０３２８】
SRLW = currPicW - SRLLeftOffset - SRLRightOffset
SRLH = currPicH - SRLTopOffset - SRLBottomOffset
scaleX = refPicW ・SRLW
scaleY = refPicH ・SRLH
ここで、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の各シンタックス値と一致する。また、SRLLeftOffset、SRLRightOffset、SRLTopOffset、SRLBottomOffsetは、図２２を参照して説明したレイヤ間画素対応オフセットである。
【０３２９】
（Ｓ１０２）対象画素(xP,yP)に対する対応参照位置（xRef、yRef）を、レイヤ間画素対応情報とレイヤ間サイズ比率に基づいて計算する。対象レイヤ画素に対応する参照位置の水平成分xRefと垂直成分yRefは次式により計算される。なお、xRefは参照レイヤピクチャの左上画素を基準とする水平方向の位置を、yRefは同左上画素を基準とする垂直方向の位置をそれぞれ参照レイヤピクチャの画素単位で表わす。
【０３３０】
xRef = (xP - SRLLeftOffset) * scaleX
yRef = (yP - SRLTopOffset) * scaleY
ここで、xPとyPは対象レイヤピクチャ左上画素を基準とする対象レイヤ画素の水平成分と垂直成分をそれぞれ対象レイヤピクチャの画素単位で表わす。また、実数Xに対してFloor(X)は、Xを超えない最大の整数を意味する。
【０３３１】
上記の式では、参照レイヤ対応領域の左上画素に対する対象画素の位置をレイヤ間サイズ比率によりスケールした値を参照位置としている。なお、上記の計算を整数表現による近似演算により計算しても構わない。例えば、scaleXとscaleYを実際の倍率の値に所定の値（例えば１６）を乗算した整数として計算し、その整数値を用いてxRefやyRefを計算しても構わない。また、対象が色差の画素である場合に、輝度と色差の位相差を考慮した補正を行っても構わない。
【０３３２】
なお、上記式では対応参照位置を画素単位で計算したが、それに限らない。例えば、対応参照位置の整数表現による１６分の１画素単位の値（xRef16,yRef16)を以下の式により計算してもよい。
【０３３３】
xRef16 = Floor ( ( (xP - SRLLeftOffset) * scaleX) * 16 ) )
yRef16 = Floor ( ( (yP - SRLTopOffset ) * scaleY) * 16 ) )
一般に、フィルタ処理の適用に好ましい単位や表現で対応参照位置を導出することが好ましい。例えば、補間フィルタが参照する最小単位と一致する精度の整数表現により対象参照位置を導出することが好ましい。
【０３３４】
以上説明した対応参照位置導出処理により、対象レイヤピクチャ上の対象画素に対応する参照レイヤピクチャ上の位置を対応参照位置として導出できる。
【０３３５】
補間フィルタ処理では、上記対応参照位置導出処理で導出した対応参照位置に相当する位置の画素値を、参照レイヤピクチャ上の、前記対応参照位置近傍の画素の復号画素に補間フィルタを適用することで生成する。
【０３３６】
以上、上記階層動画像復号装置１の備える予測画像生成部１４２２は、前記レイヤ間位相対応情報を用いて、予測対象画素に対応する参照レイヤピクチャ上の正確な位置を導出できるため、補間処理により生成される予測画素の正確さが向上する。そのため、上記階層復号装置１は、従来より少ない符号量の符号化データを復号して、上位レイヤの復号ピクチャを出力できる。
【０３３７】
＜ピクチャ復号部１４の復号プロセス＞
以下、図２７を参照して、ピクチャ復号部１４における対象レイヤiのピクチャの復号の概略的な動作について説明する。図２７は、ピクチャ復号部１４における対象レイヤiのピクチャを構成するスライス単位の復号プロセスを示すフロー図である。
【０３３８】
（ＳＤ１０１）復号対象スライスの先頭スライスフラグ(first_slice_segment_in_pic_flag)(図２４のSYNSH01)を復号する。先頭スライスフラグが１の場合、復号対象スライスは、ピクチャ内の復号順（以降、処理順）で先頭スライスであり、復号対象スライスの先頭ＣＴＵのピクチャ内でのラスタスキャン順での位置（以降、ＣＴＵアドレス）を０に設定する。さらに、ピクチャ内の処理済みＣＴＵ数のカウンタnumCtb（以降、処理済CTU数numCtb）を０に設定する。先頭スライスフラグが０の場合、後述のＳＤ１０６で復号されるスライスアドレスに基づいて、復号対象スライスの先頭ＣＴＵアドレスを設定する。
【０３３９】
（ＳＤ１０２）復号対象スライスの復号時に参照するアクティブＰＰＳを指定するアクティブＰＰＳ識別子(slice_pic_paramter_set_id)(図２４のSYNSH02)を復号する。
【０３４０】
（ＳＤ１０４）アクティブパラメータセットをパラメータセット管理部１３よりフェッチする。すなわち、復号対象スライスが参照するアクティブＰＰＳ識別子(slice_pic_parameter_set_id)と同一のＰＰＳ識別子(pps_pic_parameter_set_id)を有するＰＰＳをアクティブＰＰＳとし、パラメータセット管理部１３から、アクティブＰＰＳの符号化パラメータをフェッチする（読み出す）。さらに、アクティブＰＰＳ内のアクティブＳＰＳ識別子(pps_seq_parameter_set_id)と同一のＳＰＳ識別子(sps_seq_parameter_set_id)を有するＳＰＳをアクティブＳＰＳとし、パラメータセット管理部１３から、アクティブＳＰＳの符号化パラメータをフェッチする。さらに、アクティブＳＰＳ内のアクティブＶＰＳ識別子(sps_video_parameter_set_id)と同一のＶＰＳ識別子(vps_video_parameter_set_id)を有するＶＰＳをアクティブＶＰＳとし、パラメータセット管理部１３から、アクティブＶＰＳの符号化パラメータをフェッチする。
【０３４１】
なお、ピクチャ復号部１４は、入力されるアクティブパラメータセット(VPS, SPS, PPS)に関して、ビットストリームコンフォーマンスを満たしているかどうかを確認してもよい。例えば、アクティブパラメータセット(VPS,SPS,PPS)のレイヤ識別子が、説明済みの条件ＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）の条件満たすか調べればよい。上記条件を満たせば、対象レイヤセット符号化データＤＡＴＡ＃Ｔ（BitstreamToDecode）がコンフォーマンス条件を満たすビットストリームであることを確認することができ、対象レイヤセット符号化データＤＡＴＡ＃Ｔ（BitstreamToDecode）の復号可能性が保障され
る。なお、コンフォーマンス条件はＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）に限定されず、少なくとも前述の（ＣＡ１、ＣＡ２、ＣＡ２’、ＣＡ１a、ＣＡ２a、ＣＡ２a’、ＣＣ１、ＣＣ１ａ、ＣＣ２、ＣＣ２’、ＣＣ２a、ＣＣ２a’、ＣＡ３）のうちいずれか一つの条件と、少なくとも前述の（ＣＢ１、ＣＢ２、ＣＢ２’、ＣＢ３）のうちいずれか一つの条件を満たすこととしてもよい。
【０３４２】
（ＳＤ１０５）復号対象スライスが、ピクチャ内の処理順で先頭スライスであるか否かを先頭スライスフラグに基づいて判定する。先頭スライスフラグが０の場合(SD105でYes)、ステップSD106へ遷移する。それ以外の場合(SD105でNo)、ステップSD106の処理をスキップする。なお、先頭スライスフラグが１の場合、復号対象スライスのスライスアドレスは０である。
【０３４３】
（ＳＤ１０６）復号対象スライスのスライスアドレス（slice_segment_address）(図２４のSYNSH03)を復号し、復号対象スライスの先頭ＣＴＵアドレスを設定する。例えば、先頭スライスＣＴＵアドレス＝slice_segment_addressである。
・・・省略・・・
（ＳＤ１０Ａ）ＣＴＵ復号部１４２は、入力されるスライスヘッダ、アクティブパラメータセット、及びVCL NALユニットに含まれるスライスデータ内の各ＣＴＵ情報(図２４のSYNSD01)に基づいて、ピクチャを構成するスライスに含まれる各CTUに対応する領域のCTU復号画像を生成する。さらに、各CTU情報の後に、該CTUが復号対象スライスの終端であるかを示すスライス終端フラグ(end_of_slice_segment_flag)(図２４のSYNSD2)。また、各CTUの復号後に、処理済CTU数numCtbの値を１加算する(numCtb++)。
【０３４４】
（ＳＤ１０Ｂ）該CTUが復号対象スライスの終端であるか否かをスライス終端フラグに基づいて判定する。スライス終端フラグが１の場合(SD10BでYes)、ステップSD10Cへ遷移する。それ以外の場合(SD10BでNo)、後続のCTU情報を復号するため、ステップSD10Aへ遷移する。
【０３４５】
（ＳＤ１０Ｃ）処理済CTU数numCtuが、ピクチャを構成するＣＴＵの総数(PicSizeInCtbsY)に達したか判定する。すなわち、numCtu==PicSizeInCtbsYであるか判定する。numCtuがPicSizeInCtbsYと等しい場合(SD10CでYes)、復号対象ピクチャを構成するスライス単位の復号処理を終了する。それ以外の場合（numCtu<PicSizeInCtbsY）（SD10CでNo）、復号対象ピクチャを構成するスライス単位の復号処理を継続するため、ステップSD101へ遷移する。
【０３４６】
以上、実施例１に係るピクチャ復号部１４の動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
【０３４７】
（ビットストリーム抽出部１７） 
ビットストリーム抽出部１７は、外部より供給される対象レイヤセットLayerSetTargetを構成するレイヤのレイヤIDリストLayerIdListTarget、及び対象最高次テンポラル識別子HighestTidTargetに基づいて、ビットストリーム抽出処理を行い、入力される階層符号化データＤＡＴＡから、対象最高次テンポラル識別子HighestTidTarget、及び対象レイヤセットLayerSetTargetのレイヤIDリストLayerIdListTargetによって定まる集合（ターゲットセットTargetSetと呼ぶ）に含まれないNALユニットを除去（破棄）し、ターゲットセットTargetSetに含まれるNALユニットから構成される対象レイヤセット符号化データＤＡＴＡ＃Ｔ(BitstreamToDecode)を抽出し、出力する。なお、このとき、ビットストリーム抽出手段１７は、抽出した対象レイヤセット符号化データＤＡＴＡ＃Ｔ(BitstreamToDecode)に対して、各対象レイヤの復号時に参照されるアクティブパラメータセット(VPS, SPS, PPS)に関して、ビットストリームコンフォーマンスを満たしているかどうかを確認してもよい。例えば、アクティブパラメータセット(VPS,SPS,PPS)のレイヤ識別子が、説明済みの条件ＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）の条件満たすか調べればよい。上記条件を満たせば、対象レイヤセット符号化データＤＡＴＡ＃Ｔ（BitstreamToDecode）がコンフォーマンス条件を満たすビットストリームであることを確認することができ、対象レイヤセット符号化データＤＡＴＡ＃Ｔ（BitstreamToDecode）の復号可能性が保障される。より具体的には、上記ビットストリーム抽出部１７は、NALユニットヘッダを復号するNALユニット復号手段、及び復号されたNALユニットのうち、non-VCL NALユニットを復号するnon-VCL NALユニット復号手段（パラメータセット復号手段（パラメータセット復号部）、パラメータセット記憶手段(パラメータセット管理部)）、及びVCL ANLユニットを復号するVCL NALユニット復号手段（スライスヘッダ復号手段（スライスヘッダ復号部））を備える。上記ビットストリーム抽出手段１７は、復号された対象レイヤのスライスヘッダに含まれるアクティブPPS識別子によって特定される、アクティブPPS、及びアクティブPPSに含まれるアクティブSPS識別子によって指定されるアクティブSPS、及びアクティブSPSに含まれるアクティブVPS識別子によって指定されるアクティブVPSのレイヤ識別子を参照し、各アクティブパラメータセット(VPS,SPS,PPS)のレイヤ識別子が、説明済みの条件ＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）等のコンフォーマンス条件満たすか判定し、対象レイヤセット符号化データＤＡＴＡ＃Ｔ（BitstreamToDecode）の復号可能性を判定することができる。
【０３４８】
以下、図２８を参照して、本実施例に係るビットストリーム抽出部１７の概略的な動作について説明する。図２８は、ビットストリーム抽出部１７におけるアクセスユニット単位のビットストリーム抽出処理を示すフロー図である。
【０３４９】
（ＳＧ１０１）ビットストリーム抽出部１７は、図１１（ｂ）に示すシンタックス表に従って、供給された対象NALユニットのNALユニットヘッダを復号する。すなわち、NALユニットタイプ(nal_unit_type)、レイヤ識別子(nuh_layer_id)、及びテンポラル識別子(nuh_temporal_id_plus1)を復号する。なお、対象NALユニットのレイヤ識別子nuhLayerIdは、“nuh_layer_id”に設定され、対象NALユニットのテンポラル識別子temporalIdは、“nuh_temporal_id_plus1 - 1”に設定される。
【０３５０】
（ＳＧ１０２）対象NALユニットのNALユニットタイプ(nal_unit_type)が、パラメータセットであるか否かを、図１２に示す“nal_unit_type”と“Name of nal_unit_type”に基づいて判定する。ここでは、NALユニットタイプが、“VPS_NUT”(nal_unit_type==32)、または、“SPS_NUT”(nal_unit_type==33)、または、“PPS_NUT”(nal_unit_type==34)であるかを判定する。すなわち、NALユニットタイプが、VPS,または、SPS、または、PPSの場合（SG102でYES）、ステップSG103へ遷移する。それ以外の場合（SG102でNo）、ステップSG104へ遷移する。
【０３５１】
（ＳＧ１０３）non-VCL（特にパラメータセット(VPS, SPS, PPS)）である対象NALユニットをnon-VCL NALユニット復号手段によって復号し、復号されたパラメータセットの符号化パラメータ及びレイヤ識別子、テンポラル識別子と合わせて、パラメータセット識別子毎に、パラメータセット記憶手段に記憶する。
【０３５２】
（ＳＧ１０４）VCLである対象NALユニットをVCL NALユニット復号手段によって復号する。VCL NALユニット復号手段は、復号されたVCL NALユニットのスライスヘッダに含まれるアクティブPPS識別子によって特定される、アクティブPPS、及びアクティブPPSに含まれるアクティブSPS識別子によって指定されるアクティブSPS、及びアクティブSPSに含まれるアクティブVPS識別子によって指定されるアクティブVPSをVCL記憶手段よりフェッチ（アクティベート）し、該アクティブパラメータセットのレイヤ識別子を参照し、各アクティブパラメータセット(VPS,SPS,PPS)のレイヤ識別子が、説明済みの条件ＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）等のコンフォーマンス条件満たすか判定し、対象レイヤセット符号化データＤＡＴＡ＃Ｔ（BitstreamToDecode）の復号可能性を判定するコンフォーマンス条件を満たせば、対象レイヤセット符号化データＤＡＴＡ＃Ｔ（BitstreamToDecode）の復号可能性が保障されることを意味する。なお、コンフォーマンス条件はＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）に限定されず、少なくとも前述の（ＣＡ１、ＣＡ２、ＣＡ２’、ＣＡ１a、ＣＡ２a、ＣＡ２a’、ＣＣ１、ＣＣ１ａ、ＣＣ２、ＣＣ２’、ＣＣ２a、ＣＣ２a’、ＣＡ３）のうちいずれか一つの条件と、少なくとも前述の（ＣＢ１、ＣＢ２、ＣＢ２’、ＣＢ３）のうちいずれか一つの条件を満たすこととしてもよい。
【０３５３】
（ＳＧ１０５）対象NALユニットのレイヤ識別子、テンポラル識別子がターゲットセットTargetSetに含まれるか否かを、対象レイヤセットLayerSetTargetを構成するレイヤのレイヤIDリストLayerIdListTarget、及び対象最高次テンポラル識別子に基づいて判定する。より具体的には、以下の(1)〜（２）の条件を満たすか判定し、少なくとも何れかの条件を満たす（真である）場合(SG105でYes)、ステップSG106へ遷移する。それ以外の場合(SG105でNo)、ステップSG107へ遷移する。
（１）「対象レイヤセットLayerSetTargetを構成するレイヤの集合を示すレイヤIDリストLayerIdListTargetに、対象NALユニットのレイヤ識別子と同一の値がある」場合、真と判定し、それ以外の場合（対象レイヤセットLayerSetTargetを構成するレイヤの集合を示すレイヤIDリストLayerIdListTargetに、対象NALユニットのレイヤ識別子と同一の値がない）、偽と判定する。
（２）「対象NALユニットのテンポラル識別子が対象最高次テンポラル識別子HighestTidTarget以下である」場合、真と判定し、それ以外の場合（対象NALユニットのテンポラル識別子が対象最高次テンポラル識別子HighestTidTargetより大きい）、偽と判定する。
【０３５４】
（ＳＧ１０６）対象NALユニットを破棄する。すなわち、対象NALユニットは、ターゲットセットTargetSetに含まれないため、ビットストリーム抽出部１７は、入力された階層符号化データＤＡＴＡから、対象NALユニットを除去する。
【０３５５】
（ＳＧ１０７）同一アクセスユニット内に、未処理のNALユニットがあるか判定する。未処理のNALユニットがある場合（SG107でYes）、対象アクセスユニットを構成するNALユニット単位のビットストリーム抽出を継続するため、ステップSG101へ遷移する。それ以外の場合（SG107でNo）、ステップSG10Aへ遷移する。
【０３５６】
（ＳＧ１０Ａ）入力された階層符号化データＤＡＴＡに、対象アクセスユニットの次のアクセスユニットがあるか判定する。次のアクセスユニットがある場合(SG10AでYes)、次のアクセスユニットの処理を継続するため、ステップSG101へ遷移する。次のアクセスユニットがない場合（SG10AでNo）、ビットストリーム抽出処理を終了する。
【０３５７】
以上、実施例１に係るビットストリーム抽出部１７の動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。例えば、ステップSG102、SG103,SG104をSG105、SG106の直後に配置し、抽出後のビットストリームに対してコンフォーマンス条件をチェックしてもよい。
【０３５８】
以上説明したビットストリーム抽出部１７によれば、外部より供給される対象レイヤセットLayerSetTargetを構成するレイヤのレイヤIDリストLayerIdListTarget、及び対象最高次テンポラル識別子HighestTidTargetに基づいて、ビットストリーム抽出処理を行い、入力される階層符号化データＤＡＴＡから、対象最高次テンポラル識別子HighestTidTarget、及び対象レイヤセットLayerSetTargetのレイヤIDリストLayerIdListTargetによって定まるターゲットセットTargetSetに含まれないNALユニットを除去（破棄）し、ターゲットセットTargetSetに含まれるNALユニットから構成される対象レイヤセット符号化データＤＡＴＡ＃Ｔ(BitstreamToDecode)を抽出し、出力する。
【０３５９】
なお、上記ビットストリーム抽出部１７の動作は、「入力される階層符号化データＤＡＴＡを構成するAUには、AU内で最低次のレイヤ識別子を有するVPSが最大で１つ含まれること」を前提にしているが、これに限定されない。例えば、AU内で最低次のレイヤ識別子以外のレイヤ識別子を有するVPSが、AU内に含まれていてもよい。この場合、ビットストリーム抽出部１７は、ステップSG104において、レイヤ識別子の更新対象とするVPSは、ターゲットセットTargetSetに含まれないレイヤ識別子で、最低次のレイヤ識別子とすればよい。通常は、レイヤ識別子“nuh_layer_id=0”のVPSが最低次のレイヤ識別子を有するVPSとなるため、該VPSを更新対象とし、それ以外のターゲットセットTargetSetに含まれないVPSは破棄する。
【０３６０】
以上の本実施例に係るビットストリーム抽出部１７によれば、あるレイヤセットＡを含むビットストリームからビットストリーム抽出処理によって生成された、レイヤセットＡのサブセットであるレイヤセットＢを含むビットストリームにおいて、レイヤセットＢ内のあるレイヤＣが参照するパラメータセット（ＶＰＳ、ＳＰＳ、ＰＰＳ）が含まれないという問題を解消することができる。すなわち、あるレイヤセットのビットストリームから、ビットストリーム抽出処理により生成された、該レイヤセットのサブセットのレイヤセットのみを含むビットストリーム上で復号不可となるレイヤの発生を防止することができる。
【０３６１】
（動画像復号装置１の効果）
以上説明した本実施形態に係る階層動画像復号装置１（階層画像復号装置）は、外部より供給される対象レイヤセットLayerSetTargetを構成するレイヤのレイヤＩＤリストLayerIdListTarget、及び対象最高次テンポラル識別子HighestTidTargetに基づいて、ビットストリーム抽出処理を行い、入力される階層符号化データＤＡＴＡから、対象最高次テンポラル識別子HighestTidTarget、及び対象レイヤセットLayerSetTargetのレイヤＩＤリストLayerIdListTargetによって定まる集合（ターゲットセットTargetSetと呼ぶ）に含まれないNALユニットを除去（破棄）し、ターゲットセットTargetSetに含まれるＮＡＬユニットから構成される対象レイヤセット符号化データＤＡＴＡ＃Ｔ(BitstreamToDecode)を抽出するビットストリーム抽出部１７を備える。さらに、上記ビットストリーム抽出部１７は、NALユニットヘッダを復号するNALユニット復号手段、及び復号されたNALユニットのうち、non-VCL NALユニットを復号するnon-VCL NALユニット復号手段（パラメータセット復号手段）、及びVCL ANLユニットを復号するVCL NALユニット復号手段（スライスヘッダ復号手段）を備える。上記ビットストリーム抽出手段１７または、階層動画像復号手段は、復号された対象レイヤのスライスヘッダに含まれるアクティブPPS識別子によって特定される、アクティブPPS、及びアクティブPPSに含まれるアクティブSPS識別子によって指定されるアクティブSPS、及びアクティブSPSに含まれるアクティブVPS識別子によって指定されるアクティブVPSのレイヤ識別子を参照し、各アクティブパラメータセット(VPS,SPS,PPS)のレイヤ識別子が、説明済みの条件ＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）等のコンフォーマンス条件満たすか判定し、復号対象ストリームの復号可能性を判定することを特徴とする。なお、コンフォーマンス条件はＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）に限定されず、少なくとも前述の（ＣＡ１、ＣＡ２、ＣＡ２’、ＣＡ１a、ＣＡ２a、ＣＡ２a’、ＣＣ１、ＣＣ１ａ、ＣＣ２、ＣＣ２’、ＣＣ２a、ＣＣ２a’、ＣＡ３）のうちいずれか一つの条件と、少なくとも前述の（ＣＢ１、ＣＢ２、ＣＢ２’、ＣＢ３）のうちいずれか一つの条件としてもよい。
【０３６２】
以上説明した本実施形態に係る階層動画像復号装置１（階層画像復号装置）は、レイヤセット内において、対象レイヤLayerAの復号に利用されるパラメータセット（ＶＰＳ、ＳＰＳ、ＰＰＳ）として、対象レイヤLayerAとは異なるレイヤLayerBに属するパラメータセットを共有（参照）することにより、対象レイヤLayerAのパラメータセットに係る復号処理を省略し、より少ない符号量でパラメータセットを復号することができる。
【０３６３】
例えば、図２９ (a)に示すように、あるレイヤセットＡ(LayerIdList={0,1,・NA｝)内で、異なるレイヤ間でVCLの依存関係がない独立であるレイヤi(i=0・A,レイヤセットＡに含まれるレイヤ数:NA+1)があるとする。また、図２９（ｂ）に示すように、レイヤセットＡのサブセットであるレイヤセットＢ(LayerIdList={j,・NB｝)に、異なるレイヤ間でVCLの依存関係がない独立であるレイヤi(i=j・B,レイヤセットＢに含まれるレイヤ数:NB+1, NB<NA, j>0)（独立レイヤともいう）があるとする。本実施例では、レイヤセットＢにおいて、あるレイヤLayerBは、レイヤLayerBに対するアクティブパラメータセット（VPS,SPS,PPS）として、レイヤBとは異なる独立レイヤのパラメータセットを参照することが許容される。従って、図２９(b)に示すように、レイヤセットＢにおいて、異なるレイヤ間でVCLの依存関係がない独立であるレイヤk(k=j・B)間においても、共有パラメータセットとして、レイヤセットＢに含まれるレイヤj(同図のL#j)のパラメータセット（VPS,SPS,PPS）を、レイヤjとは異なるレイヤkが参照することができる。従って、レイヤkのレイヤ識別子を有するパラメータセットセット（VPSやSPSやPPS）の一部の復号を、レイヤセット内の共有パラメータセットにより、省略することができる。従って、より少ない符号量でパラメータセットを復号することができる
〔階層動画像符号化装置〕
以下では、本実施形態に係る階層動画像符号化装置２の構成について、図３０を参照して説明する。
【０３６４】
（階層動画像符号化装置の構成）
図３０を用いて、階層動画像符号化装置２の概略構成を説明する。図３０は、階層動画像符号化装置２の概略的構成を示した機能ブロック図である。階層動画像符号化装置２は、符号化対象とするレイヤセット（対象レイヤセット）に含まれる各レイヤの入力画像ＰＩＮ＃Ｔ(ピクチャ)を符号化して、対象レイヤセットの階層符号化データＤＡＴＡを生成する。すなわち、動画像符号化装置２は、対象レイヤセットLayerSetTargetのレイヤIDリストの要素LayerIdListTarget[0]・ayerIdListTarget[N-1](Nは対象レイヤセットに含まれるレイヤ数)の順で、各レイヤのピクチャを符号化し、その符号化データを生成する。なお、階層動画像符号化装置２は、階層動画像復号装置１（及びその変形例を含む）が復号可能なビットストリームであることを保障するため、前述の条件ＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）のビットストリームコンフォーマンスを満たすように、対象レイヤセットの階層符号化データＤＡＴＡを生成する。なお、コンフォーマンス条件はＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）に限定されず、少なくとも前述の（ＣＡ１、ＣＡ２、ＣＡ２’、ＣＡ１a、ＣＡ２a、ＣＡ２a’、ＣＣ１、ＣＣ１ａ、ＣＣ２、ＣＣ２’、ＣＣ２a、ＣＣ２a’、ＣＡ３）のうちいずれか一つの条件と、少なくとも前述の（ＣＢ１、ＣＢ２、ＣＢ２’、ＣＢ３）のうちいずれか一つの条件を満たすように、対象レイヤセットの階層符号化データＤＡＴＡを生成してもよい。上記ビットストリームコンフォーマンスを満たす階層符号化データＤＡＴＡを生成することで、階層復号装置１において、あるレイヤセットのビットストリームから、ビットストリーム抽出処理により生成された、該レイヤセットのサブセットのレイヤセットのみを含むビットストリーム上で復号不可となるレイヤの発生を防止することができる。
【０３６５】
図３０に示すように階層動画像符号化装置２は、対象レイヤセットピクチャ符号化部２０、及びＮＡＬ多重化部２１を含んで備える。さらに、対象レイヤセットピクチャ符号化部２０は、パラメータセット符号化部２２、ピクチャ符号化部２４、復号ピクチャ管理部１５、および符号化パラメータ決定部２６を含んで構成される。
【０３６６】
復号ピクチャ管理部１５は、既に説明した階層動画像復号装置１の備える復号ピクチャ管理部１５と同一の構成要素である。ただし、階層動画像符号化装置２の備える復号ピクチャ管理部１５では、内部のＤＰＢに記録されたピクチャを出力ピクチャとして出力する必要はないため、当該出力は省略可能である。なお、階層動画像復号装置１の復号ピクチャ管理部１５の説明において「復号」として説明した記載は「符号化」と置き換えることで、階層動画像符号化装置２の備える復号ピクチャ管理部１５にも適用できる。
【０３６７】
ＮＡＬ多重化部２１は、入力される対象レイヤセットの各レイヤのVCL、及びnon-VCLを、ＮＡＬユニットに格納することでＮＡＬ多重化した階層動画像符号化データＤＡＴＡ＃Ｔを生成し、外部へ出力する。言い換えれば、ＮＡＬ多重化部２１は、対象レイヤセットピクチャ符号化部２０から供給されるnon-VCLの符号化データ、VCLの符号化データ、及び各non-VCL、VCLに対応するＮＡＬユニットタイプ、レイヤ識別子、テンポラル識別子を、ＮＡＬユニットに格納して（符号化して）、ＮＡＬ多重化した階層符号化データＤＡＴＡ＃Ｔを生成する。
【０３６８】
符号化パラメータ決定部２６は、符号化パラメータの複数のセットのうち、１つのセットを選択する。符号化パラメータとは、各パラメータセット（ＶＰＳ、ＳＰＳ、ＰＰＳ）に関連した各種パラメータや、ピクチャを符号化するための予測パラメータや、該予測パラメータに関連して生成される符号化の対象となるパラメータである。符号化パラメータ決定部２６は、上記符号化パラメータの複数のセットの各々について情報量の大きさと符号化誤差を示すコスト値を算出する。コスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータを可変長符号化して得られる対象レイヤセットの各レイヤの符号化データの情報量である。二乗誤差は、入力画像ＰＩＮ＃Ｔと予測画像との差分値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部２６は、算出したコスト値が最小となる符号化パラメータのセットを選択し、選択した各符号化パラメータのセットをパラメータセット符号化部２２、及びピクチャ符号化部２４へ供給する。
【０３６９】
パラメータセット符号化部２２は、符号化パラメータ決定部２６から入力される各パラメータセットの符号化パラメータと入力画像に基づいて、入力画像の符号化に用いるパラメータセット（ＶＰＳ、ＳＰＳ、およびＳＰＳ）を設定し、各パラメータセットをnon-VCL NALユニットに格納されるデータとして、ＮＡＬ多重化部２１へ供給する。なお、パラメータセット符号化部２２で符号化されるパラメータセットには、階層動画像復号装置１の備えるパラメータセット復号部１２の説明で記載したレイヤセット情報（レイヤセット情報の拡張データを含む）、レイヤ間依存情報(直接依存フラグ、レイヤ依存タイプビット長、レイヤ依存タイプ)、及びレイヤ間位置対応情報を含んでいる。パラメータセット符号化部２２は、レイヤ依存タイプの一部として、non-VCL依存有無フラグを符号化する。なお、パラメータセット符号化部２２は、ＮＡＬ多重化部２１へnon-VCLの符号化データを供給するときに、non-VCLに対応するＮＡＬユニットタイプ、レイヤ識別子、及びテンポラル識別子も付与して出力する。
【０３７０】
また、パラメータセット符号化部２２で生成されるパラメータセットには、該パラメータセットを識別する識別子、及び各レイヤのピクチャを復号するために参照する該パラメータセットが参照するパラメータセット（アクティブパラメータセット）を指定するアクティブパラメータセット識別子が含まれる。具体的には、ビデオパラメータセットＶＰＳであれば、該ＶＰＳを識別するＶＰＳ識別子が含まれる。シーケンスパラメータセットＳＰＳであれば、該ＳＰＳを識別するＳＰＳ識別子(sps_seq_parameter_set_id)、及び該ＳＰＳや他のシンタックスが参照するＶＰＳを特定するアクティブＶＰＳ識別子(sps_video_parameter_set_id)が含まれる。ピクチャパラメータセットＰＰＳであれば、該ＰＰＳを識別するＰＰＳ識別子(pps_pic_parameter_set_id)、及び該ＰＰＳや他のシンタックスが参照するＳＰＳを特定するアクティブＳＰＳ識別子(pps_seq_parameter_set_id)が含まれる。
【０３７１】
ピクチャ符号化部２４は、入力される各レイヤの入力画像ＰＩＮ＃Ｔ、符号化パラメータ決定部２６より供給されるパラメータセット、および復号ピクチャ管理部部１５に記録されている参照ピクチャに基づいて、ピクチャを構成するスライスに対応する各レイヤの入力画像の一部を符号化して、当該部分の符号化データを生成し、VCL NALユニットに格納されるデータとして、ＮＡＬ多重化部２１へ供給する。ピクチャ符号化部２４の詳細な説明は後述する。なお、ピクチャ符号化部２４は、ＮＡＬ多重化部２１へVCLの符号化データを供給するときに、VCLに対応するＮＡＬユニットタイプ、レイヤ識別子、及びテンポラル識別子も付与して出力する。
【０３７２】
（ピクチャ符号化部２４）
図３１を参照して、ピクチャ符号化部２４の構成の詳細を説明する。図３１は、ピクチャ符号化部２４の概略的構成を示した機能ブロック図である。
【０３７３】
図３１に示すように、ピクチャ符号化部２４は、スライスヘッダ符号化部２４１、及びＣＴＵ符号化部２４２を含んで構成される。
【０３７４】
スライスヘッダ符号化部２４１は、入力されるアクティブパラメータセットに基づいてスライス単位で入力される各レイヤの入力画像の符号化に用いるスライスヘッダを生成する。生成されたスライスヘッダは、スライス符号化データの一部として出力されるとともに、入力画像と共にＣＴＵ符号化部２４２へ供給される。なお、スライスヘッダ符号化部２４１で生成されるスライスヘッダには、各レイヤのピクチャを復号するために参照するピクチャパラメータセットＰＰＳ(アクティブＰＰＳ)を指定するアクティブＰＰＳ識別子が含まれる。
【０３７５】
ＣＴＵ符号化部２４２は、入力されるアクティブパラメータセット、スライスヘッダに基づいて、入力画像（対象スライス部分）をＣＴＵ単位で符号化して、対象スライスに係るスライスデータおよび復号画像（復号ピクチャ）を生成して出力する。より具体的には、ＣＴＵ符号化部２４２は、パラメータセットが含むCTBサイズの大きさのCTBを単位として対象スライスの入力画像を分割し、各CTBに対応する画像を一つのCTUとして符号化する。CTUの符号化は、予測残差符号化部２４２１、予測画像符号化部２４２２、CTU復号画像生成部２４２３により実行される。
【０３７６】
予測残差符号化部２４２１は、入力される入力画像と予測画像の差分画像を、変換・量子化して得られる量子化残差情報（ＴＴ情報）を、スライス符号化データに含まれるスライスデータの一部として出力する。また、量子化残差情報に逆変換・逆量子化を適用して予測残差を復元し、復元した予測残差をCTU復号画像生成部２４２３に出力する。
【０３７７】
予測画像符号化部２４２２は、符号化パラメータ決定部２６で決定された、対象スライスに含まれる対象CTUの予測方式および予測パラメータに基づいて、予測画像を生成して予測残差符号化部２４２１とCTU復号画像生成部２４２３に出力する。なお、予測方式や予測パラメータの情報は予測情報（ＰＴ情報）として可変長符号化されて、スライス符号化データに含まれるスライスデータの一部として出力される。予測画像符号化部２４２２で選択可能な予測方式には、少なくともレイヤ間画像予測が含まれている。
【０３７８】
予測画像符号化部２４２２は、予測方式としてレイヤ間画像予測が選択された場合、対応参照位置導出処理を実行して、予測対象画素に対応する参照レイヤ画素位置を決定し、該位置に基づく補間処理により予測画素値を決定する。対応参照位置導出処理としては、階層動画像復号装置１の予測画像生成部１４２２について説明した各処理が適用できる。例えば、＜レイヤ画像予測による予測画像生成処理の詳細＞で説明した処理が適用する。
なお、インター予測、または、レイヤ間画像予測を使用する場合は、復号ピクチャ管理部１５より対応する参照ピクチャを読み出す。
【０３７９】
以上、上記階層動画像符号化装置２の備える予測画像符号化部２４２２は、前記レイヤ間位相対応情報を用いて、予測対象画素に対応する参照レイヤピクチャ上の正確な位置を導出できるため、補間処理により生成される予測画素の正確さが向上する。そのため、上記階層動画像符号化装置２は、従来より少ない符号量で符号化データを生成して出力することができる。
【０３８０】
CTU復号画像生成部２４２３は、階層動画像復号装置１の備えるCTU復号画像制生成部１４２３と同一の構成要素であるため、説明を省略する。なお、対象ＣＴＵの復号画像は、復号ピクチャ管理部１５へ供給され、内部のＤＰＢに記録される。
【０３８１】
＜ピクチャ符号化部２４の符号化プロセス＞
以下、図３２を参照して、ピクチャ符号化部２４における対象レイヤiのピクチャの符号化の概略的な動作について説明する。図３２は、ピクチャ符号化部２４における対象レイヤiのピクチャを構成するスライス単位の符号化プロセスを示すフロー図である。
【０３８２】
（ＳＥ１０１）符号化対象スライスの先頭スライスフラグ(first_slice_segment_in_pic_flag) (図２４のSYNSH01)を符号化する。すなわち、スライス単位に分割された入力画像（以降、符号化対象スライス）が、ピクチャ内の符号化順（復号順）（以降、処理順）で先頭スライスであれば、先頭スライスフラグ(first_slice_segment_in_pic_flag)が１である。符号化対象スライスが先頭スライスでなければ、先頭スライスフラグは０である。なお、先頭スライスフラグが１の場合、符号化対象スライスの先頭ＣＴＵアドレスを０に設定する。さらに、ピクチャ内の処理済みＣＴＵ数のカウンタnumCtbを０に設定する。先頭スライスフラグが０の場合、後述のＳＤ１０６で符号化されるスライスアドレスに基づいて、符号化対象スライスの先頭ＣＴＵアドレスを設定する。
【０３８３】
（ＳＥ１０２）符号化対象スライスの符号化時に参照するアクティブＰＰＳを指定するアクティブＰＰＳ識別子(slice_pic_paramter_set_id)(図２４のSYNSH02)を符号化する。
【０３８４】
（ＳＥ１０４）符号化パラメータ決定部２６で決定されたアクティブパラメータセットをフェッチする。すなわち、符号化対象スライスが参照するアクティブＰＰＳ識別子(slice_pic_parameter_set_id)と同一のＰＰＳ識別子(pps_pic_parameter_set_id)を有するＰＰＳをアクティブＰＰＳとし、符号化パラメータ決定部２６から、アクティブＰＰＳの符号化パラメータをフェッチする（読み出す）。さらに、アクティブＰＰＳ内のアクティブＳＰＳ識別子(pps_seq_parameter_set_id)と同一のＳＰＳ識別子(sps_seq_parameter_set_id)を有するＳＰＳをアクティブＳＰＳとし、符号化パラメータ決定部２６から、アクティブＳＰＳの符号化パラメータをフェッチする。さらに、アクティブＳＰＳ内のアクティブＶＰＳ識別子(sps_video_parameter_set_id)と同一のＶＰＳ識別子(vps_video_parameter_set_id)を有するＶＰＳをアクティブＶＰＳとし、符号化パラメータ決定部２６から、アクティブＶＰＳの符号化パラメータをフェッチする。
【０３８５】
なお、ピクチャ符号化部２４は、入力されるアクティブパラメータセット(VPS, SPS, PPS)に関して、ビットストリームコンフォーマンスを満たしているかどうかを確認してもよい。例えば、アクティブパラメータセット(VPS,SPS,PPS)のレイヤ識別子が、説明済みの条件ＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）の条件満たすか調べればよい。上記条件を満たせば、生成される対象レイヤセットの階層符号化データＤＡＴＡがコンフォーマンス条件を満たすビットストリームであることを確認することができ、生成される対象レイヤセットの階層符号化データＤＡＴＡの復号可能性が保障される。
【０３８６】
（ＳＥ１０５）符号化対象スライスが、ピクチャ内の処理順で先頭スライスであるか否かを先頭スライスフラグに基づいて判定する。先頭スライスフラグが０の場合(SE105でYes)、ステップSE106へ遷移する。それ以外の場合(SE105でNo)、ステップSE106の処理をスキップする。なお、先頭スライスフラグが１の場合、符号化対象スライスのスライスアドレスは０である。
【０３８７】
（ＳＥ１０６）符号化対象スライスのスライスアドレス（slice_segment_address）(図２４のSYNSH03)を符号化する。なお、符号化対象スライスのスライスアドレス（符号化対象スライスの先頭ＣＵＴアドレス）は、例えば、ピクチャ内の処理済ＣＴＵ数のカウンタnumCtbに基づいて設定可能である。この場合、スライスアドレスslice_segment_adress＝numCtbである。すなわち、符号化対象スライスの先頭ＣＴＵアドレス＝numCtbでもある。なお、スライスアドレスの決定方法はこれに限定されず、実施可能な範囲で変更可能である。
・・・省略・・・
（ＳＥ１０Ａ）ＣＴＵ符号化部２４２は、入力されるアクティブパラメータセット、スライスヘッダに基づいて、入力画像（符号化対象スライス）をＣＴＵ単位で符号化して、符号化対象スライスのスライスデータの一部として、ＣＴＵ情報の符号化データ(図２４のSYNSD01)を出力する。また、ＣＴＵ符号化部２４２は、各ＣＴＵに対応する領域のＣＴＵ復号画像を生成し出力する。さらに、各CTU情報の符号化データの後に、該CTUが符号化対象スライスの終端であるかを示すスライス終端フラグ(end_of_slice_segment_flag) (図２４のSYNSD02)を符号化する。該CTUが符号化対象スライスの終端である場合、スライス終端フラグを１へ設定し、それ以外の場合は０へ設定し、符号化する。また、各CTUの符号化後に、処理済CTU数numCtbの値を１加算する(numCtb++)。
【０３８８】
（ＳＥ１０Ｂ）該CTUが符号化対象スライスの終端であるか否かをスライス終端フラグに基づいて判定する。スライス終端フラグが１の場合(SE10BでYes)、ステップSE10Cへ遷移する。それ以外の場合(SE10BでNo)、後続のCTUを符号化するため、ステップSE10Aへ遷移する。
【０３８９】
（ＳＥ１０Ｃ）処理済CTU数numCtuが、ピクチャを構成するＣＴＵの総数(PicSizeInCtbsY)に達したか判定する。すなわち、numCtu==PicSizeInCtbsYであるか判定する。numCtuがPicSizeInCtbsYと等しい場合(SE10CでYes)、符号化対象ピクチャを構成するスライス単位の符号化処理を終了する。それ以外の場合（numCtu<PicSizeInCtbsY）（SE10CでNo）、符号化対象対象ピクチャを構成するスライス単位の符号化処理を継続するため、ステップSE101へ遷移する。
【０３９０】
以上、実施例１に係るピクチャ符号化部２４の動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
【０３９１】
（動画像符号化装置２の効果）
以上説明した本実施形態に係る階層動画像符号化装置２は、階層動画像復号装置１（及びその変形例を含む）が復号可能なビットストリームであることを保障するため、前述の条件ＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）のビットストリームコンフォーマンスを満たすように、対象レイヤセットの階層符号化データＤＡＴＡを生成する。なお、コンフォーマンス条件はＣＡ２’（またはＣＡ２a’）、及びＣＢ２（またはＣＢ２’）に限定されず、少なくとも前述の（ＣＡ１、ＣＡ２、ＣＡ２’、ＣＡ１a、ＣＡ２a、ＣＡ２a’、ＣＣ１、ＣＣ１ａ、ＣＣ２、ＣＣ２’、ＣＣ２a、ＣＣ２a’、ＣＡ３）のうちいずれか一つの条件と、少なくとも前述の（ＣＢ１、ＣＢ２、ＣＢ２’、ＣＢ３）のうちいずれか一つの条件を満たすように、対象レイヤセットの階層符号化データＤＡＴＡを生成してもよい。従って、上記ビットストリームコンフォーマンスを満たす階層符号化データＤＡＴＡを生成することで、階層復号装置１において、あるレイヤセットのビットストリームから、ビットストリーム抽出処理により生成された、該レイヤセットのサブセットのレイヤセットのみを含むビットストリーム上で復号不可となるレイヤの発生を防止することができる。
【０３９２】
以上説明した本実施形態に係る階層動画像符号化装置２は、レイヤセット内において、対象レイヤLayerAの符号化に利用されるパラメータセット（ＶＰＳ，ＳＰＳ、ＰＰＳ）ととして、対象レイヤLayerAとは異なるレイヤLayerBに属するパラメータセットを共有（参照）することにより、対象レイヤLayerAのパラメータセットに係る符号量を削減し、より少ない符号量でパラメータセットを符号化することができる。
【０３９３】
（他の階層動画像符号化／復号システムへの適用例）
上述した階層動画像符号化装置２及び階層動画像復号装置１は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用できる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像（ＣＧおよびＧＵＩを含む）であってもよい。
【０３９４】
図３３に基づいて、上述した階層動画像符号化装置２および階層動画像復号装置１を、動画像の送信および受信に利用できることを説明する。図３３の（ａ）は、階層動画像符号化装置２を搭載した送信装置ＰＲＯＤ＿Ａの構成を示したブロック図である。
【０３９５】
図３３の（ａ）に示すように、送信装置ＰＲＯＤ＿Ａは、動画像を符号化することによって符号化データを得る符号化部ＰＲＯＤ＿Ａ１と、符号化部ＰＲＯＤ＿Ａ１が得た符号化データで搬送波を変調することによって変調信号を得る変調部ＰＲＯＤ＿Ａ２と、変調部ＰＲＯＤ＿Ａ２が得た変調信号を送信する送信部ＰＲＯＤ＿Ａ３とを備えている。上述した階層動画像符号化装置２は、この符号化部ＰＲＯＤ＿Ａ１として利用される。
【０３９６】
送信装置ＰＲＯＤ＿Ａは、符号化部ＰＲＯＤ＿Ａ１に入力する動画像の供給源として、動画像を撮像するカメラＰＲＯＤ＿Ａ４、動画像を記録した記録媒体ＰＲＯＤ＿Ａ５、動画像を外部から入力するための入力端子ＰＲＯＤ＿Ａ６、及び、画像を生成または加工する画像処理部Ａ７を更に備えていてもよい。図３３の（ａ）においては、これら全てを送信装置ＰＲＯＤ＿Ａが備えた構成を例示しているが、一部を省略しても構わない。
【０３９７】
なお、記録媒体ＰＲＯＤ＿Ａ５は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体ＰＲＯＤ＿Ａ５と符号化部ＰＲＯＤ＿Ａ１との間に、記録媒体ＰＲＯＤ＿Ａ５から読み出した符号化データを記録用の符号化方式に従って復号する復号部（不図示）を介在させるとよい。
【０３９８】
図３３の（ｂ）は、階層動画像復号装置１を搭載した受信装置ＰＲＯＤ＿Ｂの構成を示したブロック図である。図３３の（ｂ）に示すように、受信装置ＰＲＯＤ＿Ｂは、変調信号を受信する受信部ＰＲＯＤ＿Ｂ１と、受信部ＰＲＯＤ＿Ｂ１が受信した変調信号を復調することによって符号化データを得る復調部ＰＲＯＤ＿Ｂ２と、復調部ＰＲＯＤ＿Ｂ２が得た符号化データを復号することによって動画像を得る復号部ＰＲＯＤ＿Ｂ３とを備えている。上述した階層動画像復号装置１は、この復号部ＰＲＯＤ＿Ｂ３として利用される。
【０３９９】
受信装置ＰＲＯＤ＿Ｂは、復号部ＰＲＯＤ＿Ｂ３が出力する動画像の供給先として、動画像を表示するディスプレイＰＲＯＤ＿Ｂ４、動画像を記録するための記録媒体ＰＲＯＤ＿Ｂ５、及び、動画像を外部に出力するための出力端子ＰＲＯＤ＿Ｂ６を更に備えていてもよい。図３３の（ｂ）においては、これら全てを受信装置ＰＲＯＤ＿Ｂが備えた構成を例示しているが、一部を省略しても構わない。
【０４００】
なお、記録媒体ＰＲＯＤ＿Ｂ５は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部ＰＲＯＤ＿Ｂ３と記録媒体ＰＲＯＤ＿Ｂ５との間に、復号部ＰＲＯＤ＿Ｂ３から取得した動画像を記録用の符号化方式に従って符号化する符号化部（不図示）を介在させるとよい。
【０４０１】
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送（ここでは、送信先が予め特定されていない送信態様を指す）であってもよいし、通信（ここでは、送信先が予め特定されている送信態様を指す）であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
【０４０２】
例えば、地上デジタル放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を無線放送で送受信する送信装置ＰＲＯＤ＿Ａ／受信装置ＰＲＯＤ＿Ｂの一例である。また、ケーブルテレビ放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を有線放送で送受信する送信装置ＰＲＯＤ＿Ａ／受信装置ＰＲＯＤ＿Ｂの一例である。
【０４０３】
また、インターネットを用いたＶＯＤ（Video On Demand）サービスや動画共有サービスなどのサーバ（ワークステーションなど）／クライアント（テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど）は、変調信号を通信で送受信する送信装置ＰＲＯＤ＿Ａ／受信装置ＰＲＯＤ＿Ｂの一例である（通常、ＬＡＮにおいては伝送媒体として無線又は有線の何れかが用いられ、ＷＡＮにおいては伝送媒体として有線が用いられる）。ここで、パーソナルコンピュータには、デスクトップ型ＰＣ、ラップトップ型ＰＣ、及びタブレット型ＰＣが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
【０４０４】
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置ＰＲＯＤ＿Ａ及び受信装置ＰＲＯＤ＿Ｂの双方として機能する。
【０４０５】
図３４に基づいて、上述した階層動画像符号化装置２および階層動画像復号装置１を、動画像の記録および再生に利用できることを説明する。図３４の（ａ）は、上述した階層動画像符号化装置２を搭載した記録装置ＰＲＯＤ＿Ｃの構成を示したブロック図である。
【０４０６】
図３４の（ａ）に示すように、記録装置ＰＲＯＤ＿Ｃは、動画像を符号化することによって符号化データを得る符号化部ＰＲＯＤ＿Ｃ１と、符号化部ＰＲＯＤ＿Ｃ１が得た符号化データを記録媒体ＰＲＯＤ＿Ｍに書き込む書込部ＰＲＯＤ＿Ｃ２と、を備えている。上述した階層動画像符号化装置２は、この符号化部ＰＲＯＤ＿Ｃ１として利用される。
【０４０７】
なお、記録媒体ＰＲＯＤ＿Ｍは、（１）ＨＤＤ（Hard Disk Drive）やＳＳＤ(Solid State Drive)等のように、記録装置ＰＲＯＤ＿Ｃに内蔵されるタイプのものであってもよいし、（２）ＳＤメモリカードやＵＳＢ（Universal Serial Bus）フラッシュメモリ等のように、記録装置ＰＲＯＤ＿Ｃに接続されるタイプのものであってもよいし、（３）ＤＶＤ（Digital Versatile Disc）やＢＤ（Blu-ray Disc:登録商標）等のように、記録装置ＰＲＯＤ＿Ｃに内蔵されたドライブ装置（不図示）に装填されるものであってもよい。
【０４０８】
また、記録装置ＰＲＯＤ＿Ｃは、符号化部ＰＲＯＤ＿Ｃ１に入力する動画像の供給源として、動画像を撮像するカメラＰＲＯＤ＿Ｃ３、動画像を外部から入力するための入力端子ＰＲＯＤ＿Ｃ４、動画像を受信するための受信部ＰＲＯＤ＿Ｃ５、及び、画像を生成または加工する画像処理部Ｃ６を更に備えていてもよい。図３４の（ａ）においては、これら全てを記録装置ＰＲＯＤ＿Ｃが備えた構成を例示しているが、一部を省略しても構わない。
【０４０９】
なお、受信部ＰＲＯＤ＿Ｃ５は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部ＰＲＯＤ＿Ｃ５と符号化部ＰＲＯＤ＿Ｃ１との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部（不図示）を介在させるとよい。
【０４１０】
このような記録装置ＰＲＯＤ＿Ｃとしては、例えば、ＤＶＤレコーダ、ＢＤレコーダ、ＨＤＤ（Hard Disk Drive）レコーダなどが挙げられる（この場合、入力端子ＰＲＯＤ＿Ｃ４又は受信部ＰＲＯＤ＿Ｃ５が動画像の主な供給源となる）。また、カムコーダ（この場合、カメラＰＲＯＤ＿Ｃ３が動画像の主な供給源となる）、パーソナルコンピュータ（この場合、受信部ＰＲＯＤ＿Ｃ５又は画像処理部Ｃ６が動画像の主な供給源となる）、スマートフォン（この場合、カメラＰＲＯＤ＿Ｃ３又は受信部ＰＲＯＤ＿Ｃ５が動画像の主な供給源となる）なども、このような記録装置ＰＲＯＤ＿Ｃの一例である。
【０４１１】
図３４の（ｂ）は、上述した階層動画像復号装置１を搭載した再生装置ＰＲＯＤ＿Ｄの構成を示したブロックである。図３４の（ｂ）に示すように、再生装置ＰＲＯＤ＿Ｄは、記録媒体ＰＲＯＤ＿Ｍに書き込まれた符号化データを読み出す読出部ＰＲＯＤ＿Ｄ１と、読出部ＰＲＯＤ＿Ｄ１が読み出した符号化データを復号することによって動画像を得る復号部ＰＲＯＤ＿Ｄ２と、を備えている。上述した階層動画像復号装置１は、この復号部ＰＲＯＤ＿Ｄ２として利用される。
【０４１２】
なお、記録媒体ＰＲＯＤ＿Ｍは、（１）ＨＤＤやＳＳＤなどのように、再生装置ＰＲＯＤ＿Ｄに内蔵されるタイプのものであってもよいし、（２）ＳＤメモリカードやＵＳＢフラッシュメモリなどのように、再生装置ＰＲＯＤ＿Ｄに接続されるタイプのものであってもよいし、（３）ＤＶＤやＢＤなどのように、再生装置ＰＲＯＤ＿Ｄに内蔵されたドライブ装置（不図示）に装填されるものであってもよい。
【０４１３】
また、再生装置ＰＲＯＤ＿Ｄは、復号部ＰＲＯＤ＿Ｄ２が出力する動画像の供給先として、動画像を表示するディスプレイＰＲＯＤ＿Ｄ３、動画像を外部に出力するための出力端子ＰＲＯＤ＿Ｄ４、及び、動画像を送信する送信部ＰＲＯＤ＿Ｄ５を更に備えていてもよい。図３４の（ｂ）においては、これら全てを再生装置ＰＲＯＤ＿Ｄが備えた構成を例示しているが、一部を省略しても構わない。
【０４１４】
なお、送信部ＰＲＯＤ＿Ｄ５は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部ＰＲＯＤ＿Ｄ２と送信部ＰＲＯＤ＿Ｄ５との間に、動画像を伝送用の符号化方式で符号化する符号化部（不図示）を介在させるとよい。
【０４１５】
このような再生装置ＰＲＯＤ＿Ｄとしては、例えば、ＤＶＤプレイヤ、ＢＤプレイヤ、ＨＤＤプレイヤなどが挙げられる（この場合、テレビジョン受像機等が接続される出力端子ＰＲＯＤ＿Ｄ４が動画像の主な供給先となる）。また、テレビジョン受像機（この場合、ディスプレイＰＲＯＤ＿Ｄ３が動画像の主な供給先となる）、デジタルサイネージ（電子看板や電子掲示板等とも称され、ディスプレイＰＲＯＤ＿Ｄ３又は送信部ＰＲＯＤ＿Ｄ５が動画像の主な供給先となる）、デスクトップ型ＰＣ（この場合、出力端子ＰＲＯＤ＿Ｄ４又は送信部ＰＲＯＤ＿Ｄ５が動画像の主な供給先となる）、ラップトップ型又はタブレット型ＰＣ（この場合、ディスプレイＰＲＯＤ＿Ｄ３又は送信部ＰＲＯＤ＿Ｄ５が動画像の主な供給先となる）、スマートフォン（この場合、ディスプレイＰＲＯＤ＿Ｄ３又は送信部ＰＲＯＤ＿Ｄ５が動画像の主な供給先となる）なども、このような再生装置ＰＲＯＤ＿Ｄの一例である。
【０４１６】
（ハードウェア的実現およびソフトウェア的実現について）
最後に、階層動画像復号装置１、階層動画像符号化装置２の各ブロックは、集積回路（ＩＣチップ）上に形成された論理回路によってハードウェア的に実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェア的に実現してもよい。
【０４１７】
後者の場合、上記各装置は、各機能を実現する制御プログラムの命令を実行するＣＰＵ、上記プログラムを格納したＲＯＭ（Read Only Memory）、上記プログラムを展開するＲＡＭ（Random Access Memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ（Micro Processing Unit））が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０４１８】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）／ＭＯ（Magneto-Optical）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disk）／ＣＤ−Ｒ（CD Recordable）等の光ディスクを含むディスク類、ＩＣカード（メモリカードを含む）／光カード等のカード類、マスクＲＯＭ／ＥＰＲＯＭ（Erasable Programmable Read-only Memory）／ＥＥＰＲＯＭ（登録商標）（Electrically Erasable and Programmable Read-only Memory）／フラッシュＲＯＭ等の半導体メモリ類、あるいはＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等の論理回路類などを用いることができる。
【０４１９】
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ（Local Area Network）、ＩＳＤＮ（Integrated Services Digital Network）、ＶＡＮ（Value-Added Network）、ＣＡＴＶ（Community Antenna Television）通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、ＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Asymmetric Digital Subscriber Line）回線等の有線でも、ＩｒＤＡ（Infrared Data Association）やリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１１無線、ＨＤＲ（High Data Rate）、ＮＦＣ（Near Field Communication）、ＤＬＮＡ（Digital Living Network Alliance）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０４２０】
〔まとめ〕
本発明の態様１に係る画像復号装置は、あるレイヤセットＡ内において、該レイヤセットＡに含まれるレイヤLayerAのパラメータセットを、該レイヤセットＡに含まれる、レイヤLayerAとは異なるレイヤLayerBから参照することが可能である画像符号化データを復号することを特徴とする。
【０４２１】
本発明の態様２に係る画像復号装置は、上記態様８において、さらに、任意の上記レイヤセットＡについて、上記レイヤセットＡに含まれるあるレイヤLayerA（要素）は、上記レイヤセットＡに含まれないレイヤLayerB（要素）を参照してはならないというコンフォーマンス条件を満たす画像符号化データを復号することを特徴とする。
【０４２２】
本発明の態様３に係る画像復号装置は、上記態様１において、さらに、あるレイヤLayerBがレイヤLayerAのパラメータセットを参照する場合には、上記レイヤLayerBを含む全てレイヤセットＡにおいて、上記レイヤLayerAを含まれていなくてはならないというコンフォーマンス条件を満たす画像符号化データを復号することを特徴とする。
【０４２３】
本発明の態様４に係る画像復号装置は、上記態様１において、さらに、レイヤ識別子nuhLayerIdAであるレイヤLayerAのアクティブパラメータセットを含むNALユニットのレイヤ識別子は、レイヤLayerAを要素として含む全てのレイヤセットの集合において、前記レイヤセットの集合に含まれるレイヤセットＡに含まれるレイヤLayerBのレイヤ識別子nuhLayerIdBでなくてはならない、というコンフォーマンス条件を満たす画像符号化データを復号することを特徴とする。
【０４２４】
本発明の態様５に係る画像復号装置は、上記態様１から態様４において、さらに、上記パラメータセットは、ビデオパラメータセットであることを特徴とする。
【０４２５】
本発明の態様６に係る画像復号装置は、上記態様１から態様４において、さらに、上記パラメータセットは、シーケンスパラメータセットであることを特徴とする。
【０４２６】
上記の課題を解決するために、本発明の態様７に係る画像復号装置は、上記態様１から態様４において、さらに、上記パラメータセットは、ピクチャパラメータセットであることを特徴とする。
【０４２７】
本発明の態様８に係る画像符号化データは、あるレイヤセットＡ内において、該レイヤセットＡに含まれるレイヤLayerAのパラメータセットを、該レイヤセットＡに含まれる、レイヤLayerAとは異なるレイヤLayerBから参照可能であることを特徴とする。
【０４２８】
本発明の態様９に係る画像符号化データは、上記態様８において、さらに、任意の上記レイヤセットＡについて、上記レイヤセットＡに含まれるあるレイヤLayerA（要素）は、上記レイヤセットＡに含まれないレイヤLayerB（要素）を参照してはならないというコンフォーマンス条件を満たすことを特徴とする。
【０４２９】
本発明の態様１０に係る画像符号化データは、上記態様８において、さらに、あるレイヤLayerBがレイヤLayerAのパラメータセットを参照する場合には、上記レイヤLayerBを含む全てレイヤセットＡにおいて、上記レイヤLayerAを含まれていなくてはならないというコンフォーマンス条件を満たすことを特徴とする。
【０４３０】
本発明の態様１１に係る画像符号化データは、上記態様８において、さらに、レイヤ識別子nuhLayerIdAであるレイヤLayerAのアクティブパラメータセットを含むNALユニットのレイヤ識別子は、レイヤLayerAを要素として含む全てのレイヤセットの集合において、前記レイヤセットの集合に含まれるレイヤセットＡに含まれるいずれかのレイヤLayerBのレイヤ識別子nuhLayerIdBでなくてはならない、というコンフォーマンス条件を満たすことを特徴とする。
【０４３１】
本発明の態様１２に係る画像符号化データは、上記態様８から１１において、さらに、上記パラメータセットは、ビデオパラメータセットであることを特徴とする。
【０４３２】
本発明の態様１３に係る画像符号化データは、上記態様８から１１において、さらに、上記パラメータセットは、シーケンスパラメータセットであることを特徴とする。
【０４３３】
本発明の態様１４に係る画像符号化データは、上記態様８から１１において、さらに、上記パラメータセットは、ピクチャパラメータセットであることを特徴とする。
【０４３４】
本発明の態様１５に係る画像符号化装置は、あるレイヤセットＡ内において、該レイヤセットＡに含まれるレイヤLayerAのパラメータセットを、該レイヤセットＡに含まれる、レイヤLayerAとは異なるレイヤLayerBから参照可能である画像符号化データを生成することを特徴とする。
【０４３５】
本発明の態様１６に係る画像符号化データは、上記態様１５において、さらに、任意の上記レイヤセットＡについて、上記レイヤセットＡに含まれるあるレイヤLayerA（要素）は、上記レイヤセットＡに含まれないレイヤLayerB（要素）を参照してはならないというコンフォーマンス条件を満たす画像符号化データを生成することを特徴とする。
【０４３６】
本発明の態様１７に係る画像符号化データは、上記態様１５において、さらに、あるレイヤLayerBがレイヤLayerAのパラメータセットを参照する場合には、上記レイヤLayerBを含む全てレイヤセットＡにおいて、上記レイヤLayerAを含まれていなくてはならないというコンフォーマンス条件を満たす画像符号化データを生成することを特徴とする。
【０４３７】
本発明の態様１８に係る画像符号化データは、上記態様１５において、さらに、レイヤ識別子nuhLayerIdAであるレイヤLayerAのアクティブパラメータセットを含むNALユニットのレイヤ識別子は、レイヤLayerAを要素として含む全てのレイヤセットの集合において、前記レイヤセットの集合に含まれるレイヤセットＡに含まれるレイヤLayerBのレイヤ識別子nuhLayerIdBでなくてはならない、というコンフォーマンス条件を満たす画像符号化データを生成することを特徴とする。
【０４３８】
本発明の態様１９に係る画像符号化データは、上記態様１５から１８において、さらに、上記パラメータセットは、ビデオパラメータセットであることを特徴とする。
【０４３９】
本発明の態様２０に係る画像符号化データは、上記態様１５から１８において、上記パラメータセットは、シーケンスパラメータセットであることを特徴とする。
【０４４０】
本発明の態様２１に係る画像符号化データは、上記態様１５から１８において、上記パラメータセットは、ピクチャパラメータセットであることを特徴とする。
【０４４１】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０４４２】
本発明は、画像データが階層的に符号化された符号化データを復号する階層動画像復号装置、および、画像データが階層的に符号化された符号化データを生成する階層動画像符号化装置に好適に適用することができる。また、階層動画像符号化装置によって生成され、階層動画像復号装置によって参照される階層符号化データのデータ構造に好適に適用することができる。
【符号の説明】
【０４４３】
１…階層動画像復号装置
２…階層動画像符号化装置
１０…対象レイヤセットピクチャ復号部
１１…NAL逆多重化部
１２…パラメータセット復号部（レイヤセットグラフ導出手段）
１３…パラメータセット管理部
１４…ピクチャ復号部
１４１…スライスヘッダ復号部
１４２…ＣＴＵ復号部
１４２１…予測残差復元部
１４２２…予測画像生成部
１４２３…ＣＴＵ復号画像生成部
１５…復号ピクチャ管理部
１７・rットストリーム抽出手段(画像符号化データ抽出手段)
２０…対象レイヤセットピクチャ符号化部
２１…NAL多重化部
２２…パラメータセット符号化部
２４…ピクチャ符号化部
２６…符号化パラメータ決定部
２４１…スライスヘッダ符号化部
２４２…ＣＴＵ符号化部
２４２１…予測残差符号化部
２４２２…予測画像符号化部
２４２３…ＣＴＵ復号画像生成部
【図１】
2015119402.tif 000003
【図２】
2015119402.tif 000004
【図３】
2015119402.tif 000005
【図４】
2015119402.tif 000006
【図５】
2015119402.tif 000007
【図６】
2015119402.tif 000008
【図７】
2015119402.tif 000009
【図８】
2015119402.tif 000010
【図９】
2015119402.tif 000011
【図１０】
2015119402.tif 000012
【図１１】
2015119402.tif 000013
【図１２】
2015119402.tif 000014
【図１３】
2015119402.tif 000015
【図１４】
2015119402.tif 000016
【図１５】
2015119402.tif 000017
【図１６】
2015119402.tif 000018
【図１７】
2015119402.tif 000019
【図１８】
2015119402.tif 000020
【図１９】
2015119402.tif 000021
【図２０】
2015119402.tif 000022
【図２１】
2015119402.tif 000023
【図２２】
2015119402.tif 000024
【図２３】
2015119402.tif 000025
【図２４】
2015119402.tif 000026
【図２５】
2015119402.tif 000027
【図２６】
2015119402.tif 000028
【図２７】
2015119402.tif 000029
【図２８】
2015119402.tif 000030
【図２９】
2015119402.tif 000031
【図３０】
2015119402.tif 000032
【図３１】
2015119402.tif 000033
【図３２】
2015119402.tif 000034
【図３３】
2015119402.tif 000035
【図３４】
2015119402.tif 000036