WO2015098713A1 - 画像復号装置および画像符号化装置 - Google Patents

画像復号装置および画像符号化装置 Download PDF

Info

Publication number
WO2015098713A1
WO2015098713A1 PCT/JP2014/083617 JP2014083617W WO2015098713A1 WO 2015098713 A1 WO2015098713 A1 WO 2015098713A1 JP 2014083617 W JP2014083617 W JP 2014083617W WO 2015098713 A1 WO2015098713 A1 WO 2015098713A1
Authority
WO
WIPO (PCT)
Prior art keywords
layer
flag
decoding
layer set
unit
Prior art date
Application number
PCT/JP2014/083617
Other languages
English (en)
French (fr)
Inventor
知宏 猪飼
健史 筑波
山本 智幸
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Priority to JP2015554810A priority Critical patent/JPWO2015098713A1/ja
Publication of WO2015098713A1 publication Critical patent/WO2015098713A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to an image decoding apparatus that decodes hierarchically encoded data in which an image is hierarchically encoded, and an image encoding apparatus that generates hierarchically encoded data by hierarchically encoding an image.
  • One of information transmitted in a communication system or information recorded in a storage device is an image or a moving image. 2. Description of the Related Art Conventionally, a technique for encoding an image for transmitting and storing these images (hereinafter including moving images) is known.
  • AVC H.264 / MPEG-4 Advanced Video Coding
  • HEVC High-Efficiency Video Coding
  • a predicted image is usually generated based on a local decoded image obtained by encoding / decoding an input image, and obtained by subtracting the predicted image from the input image (original image).
  • Prediction residuals (sometimes referred to as “difference images” or “residual images”) are encoded.
  • a scalable coding technique or a hierarchical coding technique that encodes images hierarchically has been proposed.
  • SHVC Scalable HEVC
  • MV-HEVC MultiView HEVC
  • SHVC supports spatial scalability, temporal scalability, and SNR scalability.
  • spatial scalability an image downsampled from an original image to a desired resolution is encoded as a lower layer.
  • inter-layer prediction is performed in order to remove redundancy between layers (Non-Patent Document 1).
  • MV-HEVC supports viewpoint scalability (view scalability). For example, when encoding three viewpoint images, that is, viewpoint image 0 (layer 0), viewpoint image 1 (layer 1), and viewpoint image 2 (layer 2), the viewpoint image that is the upper layer from the lower layer (layer 0) 1. It is possible to remove redundancy between layers by predicting the viewpoint image 2 by inter-layer prediction.
  • layer sets are defined as a set of layers, and profile level information and bit rate information can be encoded in units of layers.
  • Non-Patent Document 1 such a layer set defining method is used.
  • the amount of codes used to define the layer set increases as the number of layers increases.
  • the code amount of the bit rate information becomes large.
  • Non-Patent Document 2 defines an additional layer set from a set of layers that reference an independent layer (independent layer) and an independent layer, but a layer that references an independent layer has a plurality of direct prediction layers in a reference relationship In some cases, there is a problem that a layer set including only a specific direct prediction layer and an independent layer cannot be derived.
  • the present invention has been made in view of the above problems, and an object thereof is to provide an image decoding device and an image encoding device that reduce the code amount of a layer set, and an image decoding device that reduces the code amount of bit rate information. And an image encoding device.
  • One aspect of the present invention is an inter-layer dependency information for decoding a dependency flag directly from encoded data and deriving a dependency flag indicating whether there is a dependency relationship between layers in an image decoding apparatus including a layer set decoding unit.
  • a decoding unit and a layer set decoding unit for deriving a layer set by adding a layer having a dependency relationship based on the dependency flag are provided.
  • One aspect of the present invention is an image encoding apparatus including a layer set encoding unit, and an inter-layer dependency information encoding unit that encodes inter-layer dependency information, and a layer set is encoded based on the inter-layer dependency information. And a layer set encoding means.
  • One aspect of the present invention is an image decoding apparatus including a layer set decoding unit, wherein the layer set decoding unit includes a first layer set decoding unit that decodes a first layer set, and the first layer set includes: A second layer set decoding means for decoding the second layer set based on the decoded layer set is provided.
  • One aspect of the present invention is an image encoding device including layer set encoding means, wherein the layer set decoding means includes: first layer set encoding means for decoding a first layer set; A second layer set encoding means for encoding the second layer set based on the layer set encoded by the layer set is provided.
  • One aspect of the present invention is an image decoding apparatus including a layer set decoding unit and a bit rate information decoding unit, wherein the bit rate information decoding unit decodes one or more bit rate information. And a bit rate information index decoding means for decoding an index for identifying bit rate information assigned to the layer set decoded by the layer set decoding means.
  • One aspect of the present invention is an image encoding device comprising layer set encoding means and bit rate information encoding means, wherein the bit rate information encoding means is a bit for encoding one or more bit rate information.
  • a rate information set encoding unit, and a bit rate information index encoding unit that encodes an index for identifying bit rate information to be assigned to the layer set encoded by the layer set encoding unit.
  • an image decoding apparatus including a layer set decoding unit, an inter-layer dependency information decoding unit that decodes inter-layer dependency information, and a layer set that decodes a layer set based on the inter-layer dependency information
  • the layer set decoding unit includes a first layer set decoding unit that decodes a first layer set, and the first layer set.
  • the bit rate information decoding unit decodes one or more bit rate information.
  • a bit rate information index decoding means for decoding an index for identifying bit rate information assigned to the layer set decoded by the layer set decoding means, the amount of code required for the bit rate information can be reduced.
  • FIG. 1 It is a figure for demonstrating the layer structure of the hierarchy coding data which concerns on one Embodiment of this invention, Comprising: (a) has shown about the hierarchy moving image encoder side, (b) is a hierarchy moving image. The decoding device side is shown. It is a figure which shows the example of the data structure which comprises a NAL unit layer. It is a figure which shows the example of the syntax contained in a NAL unit layer. (A) shows an example of syntax constituting the NAL unit layer, and (b) is a diagram showing an example of syntax of the NAL unit header. It is a figure which shows the relationship between the value of a NAL unit type which concerns on embodiment of this invention, and the classification of a NAL unit.
  • FIG. 1 It is a figure which shows an example of a structure of the NAL unit contained in an access unit. It is a figure for demonstrating the structure of the hierarchy coding data based on embodiment of this invention, (a) is a sequence layer which prescribes
  • coding unit Coding Unit
  • (A) shows an example of a reference picture list
  • (b) is a conceptual diagram showing an example of a reference picture.
  • (A) shows a transmission device equipped with a hierarchical video encoding device, and (b) shows a reception device equipped with a hierarchical video decoding device. It is the figure shown about the structure of the recording device carrying the said hierarchy moving image encoder, and the reproducing
  • (A) shows a recording device equipped with a hierarchical video encoding device, and (b) shows a playback device equipped with a hierarchical video decoding device. It is an example of the syntax table of the profile information which concerns on embodiment of this invention.
  • the hierarchical moving picture decoding apparatus 1 and the hierarchical moving picture encoding apparatus 2 according to an embodiment of the present invention will be described as follows based on FIGS.
  • a hierarchical video decoding device (image decoding device) 1 decodes encoded data that has been hierarchically encoded by a hierarchical video encoding device (image encoding device) 2.
  • Hierarchical coding is a coding scheme that hierarchically encodes moving images from low quality to high quality.
  • Hierarchical coding is standardized in SVC and SHVC, for example.
  • the quality of a moving image here widely means an element that affects the appearance of a subjective and objective moving image.
  • the quality of the moving image includes, for example, “resolution”, “frame rate”, “image quality”, and “pixel representation accuracy”.
  • the quality of the moving image is different, it means that, for example, “resolution” is different, but it is not limited thereto.
  • the quality of moving images is different from each other.
  • the hierarchical coding technique is (1) spatial scalability, (2) temporal scalability, (3) SNR (Signal to Noise Ratio) scalability, and (4) view scalability from the viewpoint of the type of information to be hierarchized. May be classified. Spatial scalability is a technique for hierarchizing resolution and image size. Time scalability is a technique for layering at a frame rate (number of frames per unit time). SNR scalability is a technique for layering in coding noise. Also, view scalability is a technique for hierarchizing at the viewpoint position associated with each image.
  • the hierarchical video encoding device 2 Prior to detailed description of the hierarchical video encoding device 2 and the hierarchical video decoding device 1 according to the present embodiment, first, (1) the hierarchical video encoding device 2 generates and the hierarchical video decoding device 1 performs decoding.
  • the layer structure of the hierarchically encoded data to be performed will be described, and then (2) a specific example of the data structure that can be adopted in each layer will be described.
  • FIG. 9 is a diagram schematically illustrating a case where a moving image is hierarchically encoded / decoded by three layers of a lower layer L3, a middle layer L2, and an upper layer L1. That is, in the example shown in FIGS. 9A and 9B, of the three layers, the upper layer L1 is the highest layer and the lower layer L3 is the lowest layer.
  • a decoded image corresponding to a specific quality that can be decoded from hierarchically encoded data is referred to as a decoded image of a specific hierarchy (or a decoded image corresponding to a specific hierarchy) (for example, in the upper hierarchy L1).
  • Decoded image POUT # A a decoded image of a specific hierarchy (or a decoded image corresponding to a specific hierarchy) (for example, in the upper hierarchy L1).
  • FIG. 9A shows a hierarchical video encoding device 2 # A-2 # C that generates encoded data DATA # A-DATA # C by hierarchically encoding input images PIN # A-PIN # C, respectively. Is shown.
  • FIG. 9B shows a hierarchical moving picture decoding apparatus 1 # A to generate decoded pictures POUT # A to POUT # C by decoding hierarchically encoded data DATA # A to DATA # C, respectively. 1 # C is shown.
  • the input images PIN # A, PIN # B, and PIN # C that are input on the encoding device side have the same original image but different image quality (resolution, frame rate, image quality, and the like).
  • the image quality decreases in the order of the input images PIN # A, PIN # B, and PIN # C.
  • the hierarchical video encoding device 2 # C of the lower hierarchy L3 encodes the input image PIN # C of the lower hierarchy L3 to generate encoded data DATA # C of the lower hierarchy L3.
  • Basic information necessary for decoding the decoded image POUT # C of the lower layer L3 is included (indicated by “C” in FIG. 9). Since the lower layer L3 is the lowest layer, the encoded data DATA # C of the lower layer L3 is also referred to as basic encoded data.
  • the hierarchical video encoding apparatus 2 # B of the middle hierarchy L2 encodes the input image PIN # B of the middle hierarchy L2 with reference to the encoded data DATA # C of the lower hierarchy, and performs the middle hierarchy L2 Encoded data DATA # B is generated.
  • additional data necessary for decoding the decoded image POUT # B of the intermediate hierarchy is added to the encoded data DATA # B of the intermediate hierarchy L2.
  • Information (indicated by “B” in FIG. 9) is included.
  • the hierarchical video encoding apparatus 2 # A of the upper hierarchy L1 encodes the input image PIN # A of the upper hierarchy L1 with reference to the encoded data DATA # B of the intermediate hierarchy L2 to Encoded data DATA # A is generated.
  • the encoded data DATA # A of the upper layer L1 is used to decode the basic information “C” necessary for decoding the decoded image POUT # C of the lower layer L3 and the decoded image POUT # B of the middle layer L2.
  • additional information indicated by “A” in FIG. 9) necessary for decoding the decoded image POUT # A of the upper layer is included.
  • the encoded data DATA # A of the upper layer L1 includes information related to decoded images of different qualities.
  • the decoding device side will be described with reference to FIG.
  • the decoding devices 1 # A, 1 # B, and 1 # C corresponding to the layers of the upper layer L1, the middle layer L2, and the lower layer L3 are encoded data DATA # A and DATA # B, respectively.
  • And DATA # C are decoded to output decoded images POUT # A, POUT # B, and POUT # C.
  • a part of information of the higher layer encoded data is extracted (also referred to as bitstream extraction), and a specific quality moving image is obtained by decoding the extracted information in a lower specific decoding device. It can also be played.
  • the hierarchy decoding apparatus 1 # B of the middle hierarchy L2 receives information necessary for decoding the decoded image POUT # B from the hierarchy encoded data DATA # A of the upper hierarchy L1 (that is, the hierarchy encoded data DATA # A decoded image POUT # B may be decoded by extracting “B” and “C”) included in A.
  • the decoded images POUT # A, POUT # B, and POUT # C can be decoded based on information included in the hierarchically encoded data DATA # A of the upper hierarchy L1.
  • the hierarchical encoded data is not limited to the above three-layer hierarchical encoded data, and the hierarchical encoded data may be hierarchically encoded with two layers or may be hierarchically encoded with a number of layers larger than three. Good.
  • Hierarchically encoded data may be configured as described above. For example, in the example described above with reference to FIGS. 9A and 9B, it has been described that “C” and “B” are referred to for decoding the decoded image POUT # B, but the present invention is not limited thereto. It is also possible to configure the hierarchically encoded data so that the decoded image POUT # B can be decoded using only “B”. For example, it is possible to configure a hierarchical video decoding apparatus that receives the hierarchically encoded data composed only of “B” and the decoded image POUT # C for decoding the decoded image POUT # B.
  • Hierarchically encoded data can also be generated so that In that case, the lower layer hierarchical video encoding device generates hierarchical encoded data by quantizing the prediction residual using a larger quantization width than the upper layer hierarchical video encoding device. To do.
  • VCL NAL unit VCL (Video Coding Layer) ⁇ NAL unit is a NAL unit that includes encoded data of moving images (video signals).
  • the VCL NAL unit includes slice data (CTU encoded data) and header information (slice header) commonly used through decoding of the slice.
  • Non-VCL NAL unit Non-VCL (non-Video Coding ⁇ Layer, non-video coding layer, non-VCL) NAL unit is a sequence or picture of video parameter set VPS, sequence parameter set SPS, picture parameter set PPS, etc. This is a NAL unit including encoded data such as header information that is a set of encoding parameters used when decoding.
  • a layer identifier (also referred to as a layer ID) is for identifying a layer (layer), and corresponds to the layer one-to-one.
  • the hierarchically encoded data includes an identifier used for selecting partial encoded data necessary for decoding a decoded image of a specific hierarchy.
  • a subset of hierarchically encoded data associated with a layer identifier corresponding to a specific layer is also referred to as a layer representation.
  • a layer representation of the layer and / or a layer representation corresponding to a lower layer of the layer is used. That is, in decoding the decoded image of the target layer, layer representation of the target layer and / or layer representation of one or more layers included in a lower layer of the target layer are used.
  • Layer A set of VCL NAL UNIT with a layer identifier value (nuh_layer_id, nuhLayerId) of a specific layer (layer) and a non-VCL NAL UNIT associated with the VCL ⁇ ⁇ NAL unit, or a syntax having a hierarchical relationship One of the set of structures.
  • Upper layer A layer located above a certain layer is referred to as an upper layer.
  • the upper layers of the lower layer L3 are the middle layer L2 and the upper layer L1.
  • the decoded image of the upper layer means a decoded image with higher quality (for example, high resolution, high frame rate, high image quality, etc.).
  • Lower layer A layer located below a certain layer is referred to as a lower layer.
  • the lower layers of the upper layer L1 are the middle layer L2 and the lower layer L3.
  • the decoded image of the lower layer refers to a decoded image with lower quality.
  • Target layer A layer that is the target of decoding or encoding.
  • a decoded image corresponding to the target layer is referred to as a target layer picture.
  • pixels constituting the target layer picture are referred to as target layer pixels.
  • Reference layer A specific lower layer referred to for decoding a decoded image corresponding to the target layer is referred to as a reference layer.
  • a decoded image corresponding to the reference layer is referred to as a reference layer picture.
  • pixels constituting the reference layer are referred to as reference layer pixels.
  • the reference layers of the upper hierarchy L1 are the middle hierarchy L2 and the lower hierarchy L3.
  • the hierarchically encoded data can be configured so that it is not necessary to refer to all of the lower layers in decoding of the specific layer.
  • the hierarchical encoded data can be configured such that the reference layer of the upper hierarchy L1 is either the middle hierarchy L2 or the lower hierarchy L3.
  • the reference layer can also be expressed as a layer different from the target layer that is used (referenced) when predicting an encoding parameter or the like used for decoding the target layer.
  • a reference layer that is directly referred to in the inter-layer prediction of the target layer is also referred to as a direct prediction layer.
  • the direct reference layer B referred to in the inter-layer prediction of the direct reference layer A of the target layer is also called an indirect prediction layer of the target layer (indirectinpredicted layer).
  • the fact that layer A is a direct reference layer (direct reference layer) of layer B means that layer A is directly referenced from layer B.
  • direct_dependency_flag [i] [j] 1.
  • the layer located at the lowest layer is called the base layer.
  • the decoded image of the base layer is the lowest quality decoded image that can be decoded from the encoded data, and is referred to as a basic decoded image.
  • the basic decoded image is a decoded image corresponding to the lowest layer.
  • the partially encoded data of the hierarchically encoded data necessary for decoding the basic decoded image is referred to as basic encoded data.
  • the basic information “C” included in the hierarchically encoded data DATA # A of the upper hierarchy L1 is the basic encoded data.
  • the base layer is a layer composed of one or a plurality of VCL NAL units having at least the same layer identifier and the value of the layer identifier (nuh_layer_id) being zero.
  • Extension layer (non-base layer): The upper layer of the base layer is called the extension layer.
  • the enhancement layer is a layer including at least one VCL ⁇ ⁇ ⁇ NAL unit having at least the same layer identifier and having a value of the layer identifier (nuh_layer_id) larger than zero.
  • Inter-layer prediction is based on the syntax element value, the value derived from the syntax element value included in the layer expression of the layer (reference layer) different from the layer expression of the target layer, and the decoded image. It is to predict the syntax element value of the target layer, the encoding parameter used for decoding of the target layer, and the like. Inter-layer prediction in which information related to motion prediction is predicted from reference layer information is sometimes referred to as inter-layer motion information prediction. In addition, inter-layer prediction predicted from a lower layer decoded image may be referred to as inter-layer image prediction (or inter-layer texture prediction). Note that the hierarchy used for inter-layer prediction is, for example, a lower layer of the target layer. In addition, performing prediction within a target layer without using a reference layer may be referred to as intra-layer prediction.
  • Temporal identifier (also referred to as temporal ID, temporal identifier, sublayer ID, or sublayer identifier) is an identifier for identifying a layer related to temporal scalability (hereinafter referred to as sublayer).
  • the temporal identifier is for identifying the sublayer, and corresponds to the sublayer on a one-to-one basis.
  • the encoded data includes a temporal identifier used for selecting partial encoded data necessary for decoding a decoded image of a specific sublayer.
  • the temporal (highest) sublayer temporal identifier is referred to as the highest (highest) temporal identifier (highest TemporalId, highestTid).
  • a sublayer is a layer related to temporal scalability specified by a temporal identifier. In order to distinguish from other scalability such as spatial scalability, SNR scalability, and the like, they are hereinafter referred to as sub-layers (also referred to as temporal layers). In the following description, temporal scalability is assumed to be realized by sublayers included in encoded data of the base layer or hierarchically encoded data necessary for decoding a certain layer.
  • Layer set is a set of layers composed of one or more layers.
  • the lower layer and the upper layer may be encoded by different encoding methods.
  • the encoded data of each layer may be supplied to the hierarchical video decoding device 1 via different transmission paths, or may be supplied to the hierarchical video decoding device 1 via the same transmission path. .
  • the base layer when transmitting ultra-high-definition video (moving image, 4K video data) with a base layer and one extended layer in a scalable encoding, the base layer downscales 4K video data, and interlaced video data. It may be encoded by MPEG-2 or H.264 / AVC and transmitted over a television broadcast network, and the enhancement layer may encode 4K video (progressive) with HEVC and transmit over the Internet.
  • FIG. 10 is a diagram illustrating a hierarchical structure of data in the hierarchically encoded data DATA.
  • the hierarchically encoded data DATA is encoded in units called NAL (Network Abstraction Layer) units.
  • NAL is a layer provided to abstract communication between VCL (Video Coding Layer), which is a layer that performs video coding processing, and a lower system that transmits and stores encoded data.
  • VCL Video Coding Layer
  • VCL is a layer that performs image encoding processing, and encoding is performed in VCL.
  • the lower system here corresponds to the H.264 / AVC and HEVC file formats and the MPEG-2 system.
  • the lower system corresponds to the decoding process in the target layer and the reference layer.
  • NAL a bit stream generated by VCL is divided into units called NAL units and transmitted to a lower system as a destination.
  • FIG. 11A shows a syntax table of the NAL unit.
  • the NAL unit includes encoded data encoded by the VCL and a header (NAL unit header: nal_unit_header ()) for appropriately delivering the encoded data to a destination lower system.
  • the NAL unit header is represented, for example, by the syntax shown in FIG.
  • the NAL unit header includes “nal_unit_type” indicating the type of encoded data stored in the NAL unit, “nuh_temporal_id_plus1” indicating the identifier (temporal identifier) of the sublayer to which the stored encoded data belongs, and stored encoding “Nuh_layer_id” (or nuh_reserved_zero_6bits) representing the identifier (layer identifier) of the layer to which the data belongs is described.
  • the NAL unit data includes a parameter set, SEI, slice and the like which will be described later.
  • FIG. 12 is a diagram showing the relationship between the value of the NAL unit type and the type of the NAL unit.
  • a NAL unit having a NAL unit type of 0 to 15 indicated by SYNA101 is a slice of non-RAP (random access picture).
  • a NAL unit having a NAL unit type of 16 to 21 indicated by SYNA 102 is a slice of RAP (random access picture, IRAP picture).
  • RAP pictures are broadly classified into BLA pictures, IDR pictures, and CRA pictures.
  • BLA pictures are further classified into BLA_W_LP, BLA_W_DLP, and BLA_N_LP.
  • IDR pictures are further classified into IDR_W_DLP and IDR_N_LP.
  • Pictures other than the RAP picture include a leading picture (LP picture), a temporal access picture (TSA picture, STSA picture), and a trailing picture (TRAIL picture).
  • LP picture leading picture
  • TSA picture temporal access picture
  • TRAIL picture trailing picture
  • the encoded data in each layer is stored in the NAL unit, is NAL-multiplexed, and is transmitted to the hierarchical moving image decoding apparatus 1.
  • each NAL unit is classified into data constituting a picture (VCL data) and other data (non-VCL) according to the NAL unit type.
  • Pictures are all classified into VCL NAL units, regardless of picture types such as random access pictures, leading pictures, and trailing pictures, and parameter sets that are data necessary for decoding pictures, SEI that is auxiliary information of pictures, Access unit delimiters (AUD), end-of-sequence (EOS), end-of-bit stream (EOB), etc., representing sequence delimiters are classified as non-VCL NAL units.
  • Access unit A set of NAL units aggregated according to a specific classification rule is called an access unit.
  • the access unit is a set of NAL units constituting one picture.
  • the access unit is a set of NAL units that constitute pictures of a plurality of layers at the same time.
  • the encoded data may include a NAL unit called an access unit delimiter (AUD).
  • AUD access unit delimiter
  • the access unit delimiter is included between a set of NAL units constituting the access unit in the encoded data and a set of NAL units constituting another access unit.
  • FIG. 13 is a diagram showing an example of the configuration of the NAL unit included in the access unit.
  • the AU has an access unit delimiter (AUD) indicating the head of the AU, various parameter sets (VPS, SPS, PPS), various SEIs (Prefix SEI, Suffix SEI), and the number of layers.
  • AUD access unit delimiter
  • VPS parameter sets
  • SPS SPS
  • PPS PPS
  • SEIs Prefix SEI
  • Suffix SEI SEI
  • the number of layers the VCL (slice) constituting one picture, in the case where the number of layers is greater than 1, the VCL constituting the picture for the number of layers, EOS (End of Sequence) indicating the end of the sequence, and the end of the bitstream Consists of NAL units such as EOB (End of Bitstream).
  • a code L # K (K Nmin...
  • Nmax Nmax after VPS, SPS, SEI, VCL represents a layer ID (or an index indicating the order of layers on the VPS).
  • the SPS, PPS, SEI, VCL of each layer L # Nmin to layer L # Nmax is the layer ID (or index indicating the order of layers on the VPS), except for VPS in the AU. Exists in ascending order.
  • the VPS is sent only with the lowest layer ID.
  • an arrow indicates whether the specific NAL unit exists in the AU or repeatedly exists.
  • a specific NAL unit exists in the AU, it is indicated by an arrow passing through the NAL unit, and if a specific NAL unit does not exist in the AU, it is indicated by an arrow skipping the NAL unit.
  • an arrow heading to the VPS without passing through the AUD indicates a case where the AUD does not exist in the AU.
  • An arrow that passes through the VCL and returns to the VCL again indicates a case where one or more VCLs exist.
  • VPS having an upper layer ID other than the lowest order may be included in the AU, but the image decoding apparatus ignores a VPS having a layer ID other than the lowest order.
  • various parameter sets (VPS, SPS, PPS) and SEI as auxiliary information may be included as part of the access unit as shown in FIG. 13, or transmitted to the decoder by means different from the bit stream. May be. Note that FIG. 13 is just one embodiment of the configuration of the NAL unit included in the access unit, and the configuration of the NAL unit included in the access unit can be changed within a range where the bitstream can be decoded. .
  • an IRAP access unit that performs initialization of decoding processing of all layers included in the decoding target layer set is referred to as an initialization IRAP access unit.
  • an initialized IRAP access unit is followed by zero or more non-initialized IRAP access units (access units other than the initialized IRAP access unit), and a set of access units up to the next initialized IRAP access unit ( However, the next initialization IRAP access unit is excluded) is also referred to as CVS (Coded Video Sequence; coded video sequence, hereinafter including the sequence SEQ).
  • CVS Coded Video Sequence; coded video sequence, hereinafter including the sequence SEQ.
  • FIG. 14 is a diagram showing a hierarchical structure of data in the hierarchically encoded data DATA.
  • Hierarchically encoded data DATA illustratively includes a sequence and a plurality of pictures constituting the sequence.
  • (A) to (f) of FIG. 14 respectively show a sequence layer that defines a sequence SEQ, a picture layer that defines a picture PICT, a slice layer that defines a slice S, a slice data layer that defines slice data, and a slice data.
  • sequence layer a set of data referred to by the image decoding device 1 for decoding a sequence SEQ to be processed (hereinafter also referred to as a target sequence) is defined.
  • the sequence SEQ includes a video parameter set, a sequence parameter set SPS (Sequence Parameter Set), a picture parameter set PPS (Picture Parameter Set), a picture PICT, and an additional extension.
  • Information SEI Supplemental Enhancement Information
  • # indicates the layer ID.
  • FIG. 14 shows an example in which there is encoded data with # 0 and # 1, that is, layer ID 0 and layer ID 1, but the type of layer and the number of layers are not limited to this.
  • Picture layer In the picture layer, a set of data that is referred to by the hierarchical video decoding device 1 in order to decode a picture PICT to be processed (hereinafter also referred to as a target picture) is defined. As shown in FIG. 14B, the picture PICT includes slices S0 to SNS-1 (NS is the total number of slices included in the picture PICT).
  • slice layer In the slice layer, a set of data that is referred to by the hierarchical video decoding device 1 in order to decode a slice S to be processed (also referred to as a target slice) is defined. As shown in FIG. 14C, the slice S includes a slice header SH and slice data SDATA.
  • the slice header SH includes a group of encoding parameters that the hierarchical video decoding device 1 refers to in order to determine a method for decoding the target slice.
  • an active PPS identifier (slice_pic_parameter_set_id) that specifies a PPS (active PPS) that is referred to for decoding the target slice is included.
  • the SPS referred to by the active PPS is specified by an active SPS identifier (pps_seq_parameter_set_id) included in the active PPS.
  • the VPS (active VPS) referred to by the active SPS is specified by an active VPS identifier (sps_video_parameter_set_id) included in the active SPS.
  • slice type designation information for designating a slice type is an example of an encoding parameter included in the slice header SH.
  • I slice using only intra prediction at the time of encoding (2) P slice using unidirectional prediction or intra prediction at the time of encoding, (3) B-slice using unidirectional prediction, bidirectional prediction, or intra prediction at the time of encoding may be used.
  • the slice data layer a set of data referred to by the hierarchical video decoding device 1 for decoding the slice data SDATA to be processed is defined.
  • the slice data SDATA includes a coded tree block (CTB).
  • CTB is a fixed-size block (for example, 64 ⁇ 64) constituting a slice, and may be called a maximum coding unit (LCU).
  • the coding tree layer defines a set of data that the hierarchical video decoding device 1 refers to in order to decode the coding tree block to be processed.
  • the coding tree unit is divided by recursive quadtree division.
  • a tree-structured node obtained by recursive quadtree partitioning is called a coding tree.
  • An intermediate node of the quadtree is a coded tree unit (CTU), and the coded tree block itself is defined as the highest CTU.
  • the CTU includes a split flag (split_flag). When the split_flag is 1, the CTU is split into four coding tree units CTU.
  • the coding tree unit CTU is divided into four coding units (CU: Coded Unit).
  • the coding unit CU is a terminal node of the coding tree layer and is not further divided in this layer.
  • the encoding unit CU is a basic unit of the encoding process.
  • the partial area on the target picture decoded by the coding tree unit is called a coding tree block (CTB: “Coding” Tree ”block).
  • the CTB corresponding to the luminance picture that is the luminance component of the target picture is called luminance CTB.
  • luminance CTB the partial area on the luminance picture decoded from the CTU.
  • color difference CTB the partial area corresponding to the color difference picture decoded from the CTU.
  • the luminance CTB size and the color difference CTB size can be converted into each other. For example, when the color format is 4: 2: 2, the color difference CTB size is half of the luminance CTB size.
  • the CTB size means the luminance CTB size.
  • the CTU size is a luminance CTB size corresponding to the CTU.
  • the encoding unit layer defines a set of data that the hierarchical video decoding device 1 refers to in order to decode the processing target encoding unit.
  • the coding unit CU (coding unit) includes a CU header CUH, a prediction tree, and a conversion tree.
  • the CU header CUH it is defined whether the coding unit is a unit using intra prediction or a unit using inter prediction.
  • the encoding unit is the root of a prediction tree (PT) and a transform tree (TT).
  • PT prediction tree
  • TT transform tree
  • CB coding block
  • CB on the luminance picture is called luminance CB
  • CB on the color difference picture is called color difference CB.
  • the CU size (encoding node size) means the luminance CB size.
  • the encoding unit CU is divided into one or a plurality of transform blocks, and the position and size of each transform block are defined.
  • the transform block is one or a plurality of non-overlapping areas constituting the encoding unit CU.
  • the conversion tree includes one or a plurality of conversion blocks obtained by the above division. Note that information regarding the conversion tree included in the CU and information included in the conversion tree are referred to as TT information.
  • the division in the transformation tree includes the one in which an area having the same size as that of the encoding unit is assigned as the transformation block, and the one in the recursive quadtree division like the above-described division in the tree block.
  • the conversion process is performed for each conversion block.
  • the transform block that is a unit of transform is also referred to as a transform unit (TU).
  • the transformation tree TT includes TT division information SP_TT that specifies a division pattern for each transformation block of the target CU, and quantized prediction residuals QD 1 to QD NT (NT is the total number of transformation units TU included in the target CU). Is included.
  • TT division information SP_TT is information for determining the shape of each conversion block included in the target CU and the position in the target CU.
  • the TT division information SP_TT can be realized from information (split_transform_unit_flag) indicating whether or not the target node is divided and information (trafoDepth) indicating the depth of the division.
  • split_transform_unit_flag information indicating whether or not the target node is divided
  • trafoDepth information
  • each transform block obtained by the division can take a size from 32 ⁇ 32 pixels to 4 ⁇ 4 pixels.
  • Each quantization prediction residual QD is encoded data generated by the hierarchical video encoding device 2 performing the following processes 1 to 3 on a target block that is a conversion block to be processed.
  • Process 1 Frequency conversion (for example, DCT (Discrete Cosine Transform) and DST (Discrete Sine Transform)) is performed on the prediction residual obtained by subtracting the prediction image from the encoding target image;
  • Process 2 Quantize the transform coefficient obtained in Process 1;
  • the encoding unit CU is divided into one or a plurality of prediction blocks, and the position and size of each prediction block are defined.
  • the prediction block is one or a plurality of non-overlapping areas constituting the encoding unit CU.
  • the prediction tree includes one or a plurality of prediction blocks obtained by the above division. Note that information regarding the prediction tree included in the CU and information included in the prediction tree are referred to as PT information.
  • Prediction processing is performed for each prediction block.
  • a prediction block that is a unit of prediction is also referred to as a prediction unit (PU).
  • Intra prediction is prediction within the same picture
  • inter prediction refers to prediction processing performed between different pictures (for example, between display times and between layer images).
  • the division method is encoded by part_mode of encoded data, and 2N ⁇ 2N (the same size as the encoding unit), 2N ⁇ N, 2N ⁇ nU, 2N ⁇ nD, N ⁇ 2N, nL X2N, nRx2N, and NxN.
  • the prediction image of the prediction unit is derived by a prediction parameter associated with the prediction unit.
  • the prediction parameters include a prediction parameter for intra prediction or a prediction parameter for inter prediction.
  • the intra prediction parameter is a parameter for restoring intra prediction (prediction mode) for each intra PU.
  • the parameters for restoring the prediction mode include mpm_flag which is a flag relating to MPM (Most Probable Mode, the same applies hereinafter), mpm_idx which is an index for selecting the MPM, and an index for specifying a prediction mode other than MPM. Rem_idx is included.
  • the inter prediction parameter includes prediction list use flags predFlagL0 and predFlagL1, reference picture indexes refIdxL0 and refIdxL1, and vectors mvL0 and mvL1.
  • the prediction list use flags predFlagL0 and predFlagL1 are flags indicating whether or not reference picture lists called L0 reference list and L1 reference list are used, respectively, and a reference picture list corresponding to a value of 1 is used.
  • (predFlagL0, predFlagL1) (0, 1) corresponds to single prediction.
  • FIG. 15A is a conceptual diagram illustrating an example of a reference picture list.
  • RPL0 the five rectangles arranged in a line on the left and right indicate reference pictures, respectively.
  • Reference signs P1, P2, Q0, P3, and P4 shown in order from the left end to the right are signs indicating respective reference pictures.
  • codes P4, P3, R0, P2, and P1 shown in order from the left end to the right are codes indicating respective reference pictures.
  • P such as P1 indicates the target layer P
  • Q of Q0 indicates a layer Q different from the target layer P
  • R of R0 indicates a layer R different from the target layer P and the layer Q.
  • the subscripts P, Q, and R indicate a picture order number POC (Picture Ordering Count).
  • a downward arrow directly below refIdxL0 indicates that the reference picture index refIdxL0 is an index that refers to the reference picture Q0 from the reference picture list RPL0 in the decoded picture buffer.
  • a downward arrow directly below refIdxL1 indicates that the reference picture index refIdxL1 is an index that refers to the reference picture P3 from the reference picture list RPL1 in the decoded picture buffer.
  • FIG. 15B (b) is a conceptual diagram illustrating an example of a reference picture.
  • the horizontal axis indicates the display time
  • the vertical axis indicates the number of layers.
  • the illustrated rectangles of three rows and three columns (total of nine) each indicate a picture.
  • the rectangle in the second column from the left in the lower row indicates a picture to be decoded (target picture), and the remaining eight rectangles indicate reference pictures.
  • Reference pictures Q2 and R2 indicated by downward arrows from the target picture are pictures having the same display time and different layers as the target picture.
  • FIG. 16 is an example of a syntax table of a video parameter set (VPS).
  • VPS video parameter set
  • a set of encoding parameters referred to by the image decoding apparatus 1 in order to decode encoded data composed of one or more layers is defined.
  • VPS identifier used to identify a VPS referred to by a sequence parameter set or other syntax elements described later, the number of layers included in encoded data (vps_max_layers_minus1), the number of sublayers included in the layer (vps_sub_layers_minus1 ), Layer set information that defines a set of layers composed of one or more layers expressed in the encoded data (direct dependency flag direct_dependency_flag [i] [j], layer dependency type direct_dependency_type [i] [ j]), profile level information, bit rate information, and the like.
  • the layer set information is composed of the number of layer sets (vps_num_layer_sets_minus1), layer set configuration information (layer_id_included_flag [i] [j]) that defines a set of layers constituting the layer set, and the like.
  • FIG. 17 is an example of a syntax table for VPS expansion.
  • the VPS extension is data included at the end of the VPS and is mainly used in scalable coding.
  • FIG. 21 is an example of a syntax table of a sequence parameter set (SPS).
  • SPS sequence parameter set
  • a set of encoding parameters referred to by the image decoding apparatus 1 for decoding the target sequence is defined.
  • an active VPS identifier sps_video_parameter_set_id
  • an SPS identifier sps_seq_parameter_set_id
  • a picture width, Height is specified.
  • FIG. 22 is an example of a syntax table of a picture parameter set (PPS).
  • PPS picture parameter set
  • a set of encoding parameters referred to by the image decoding apparatus 1 in order to decode each picture in the target sequence is defined.
  • an active SPS identifier representing an active SPS referred to by the target PPS
  • a PPS identifier pps_pic_parameter_set_id
  • a quantization width reference value (pic_init_qp_minus26)
  • a flag (weighted_pred_flag) indicating application of weighted prediction
  • a scaling list (quantization matrix)
  • FIG. 24 is a schematic diagram illustrating a configuration of the hierarchical video decoding device 1 according to the present embodiment.
  • the hierarchical video decoding device 1 specifies the layer ID list LayerIdListTarget of the target layer set LayerSetTarget to be decoded included in the hierarchically encoded data DATA supplied from the outside, and the highest-order sublayer associated with the layer to be decoded Based on the target highest-order temporal identifier HighestTidTarget, the hierarchical encoded data DATA supplied from the hierarchical video encoding device 2 is decoded to generate a decoded image POUT # T of each layer included in the target layer set.
  • the hierarchical video decoding device 1 sets the layer IDs in the order of the elements LayerIdListTarget [0] ... LayerIdListTarget [N-1] (N is the number of layers included in the target layer set) in the layer ID list of the target layer set LayerSetTarget.
  • the encoded data of the picture is decoded, and a decoded image (decoded picture) is generated.
  • the hierarchical video decoding device 1 includes a NAL demultiplexing unit 11 and a target layer set picture decoding unit 10. Further, the target layer set picture decoding unit 10 includes a parameter set decoding unit 12, a parameter set management unit 13, a picture decoding unit 14, and a decoded picture management unit 15.
  • the NAL demultiplexing unit 11 further includes a bit stream extraction unit 17.
  • Hierarchical encoded data DATA includes NAL including parameter sets (VPS, SPS, PPS), SEI, etc. in addition to NAL generated by VCL. Those NALs are called non-VCL NAL (non-VCL) with respect to VCL NAL.
  • the bitstream extraction unit 17 included in the NAL demultiplexing unit 11 is roughly based on the layer ID list LayerIdListTarget of the layers constituting the target layer set LayerSetTarget supplied from the outside and the target highest temporal identifier HighestTidTarget.
  • a target layer set composed of NAL units included in the target set TargetSet that performs bitstream extraction processing is determined from the hierarchical encoded data DATA, the target highest temporal identifier HighestTidTarget, and the layer ID list LayerIdListTarget of the target layer set LayerSetTarget
  • the encoded data DATA # T (BitstreamToDecode) is extracted. Details of processing highly relevant to the present invention in the bitstream extraction unit 17 will be described later.
  • the NAL demultiplexing unit 11 demultiplexes the target layer set encoded data DATA # T (BitstreamToDecode) extracted by the bitstream extraction unit 17 and includes a NAL unit type and a layer identifier (layer) included in the NAL unit. ID) and temporal identifier (temporal ID) are referred to, and the NAL unit included in the target layer set is supplied to the target layer set picture decoding unit 10.
  • the target layer set picture decoding unit 10 supplies non-VCL NAL to the parameter set decoding unit 12 and VCL NAL to the picture decoding unit 14 among the NALs included in the supplied target layer set encoded data DATA # T. To do. That is, the target layer set picture decoding unit 10 decodes the supplied NAL unit header (NAL unit header), and based on the NAL unit type, the layer identifier, and the temporal identifier included in the decoded NAL unit header, The VCL encoded data is supplied to the parameter set decoding unit 12 and the VCL encoded data is supplied to the picture decoding unit 14 together with the decoded NAL unit type, layer identifier, and temporal identifier.
  • NAL unit header the supplied NAL unit header
  • the VCL encoded data is supplied to the parameter set decoding unit 12 and the VCL encoded data is supplied to the picture decoding unit 14 together with the decoded NAL unit type, layer identifier, and temporal identifier.
  • the parameter set decoding unit 12 decodes the parameter set, that is, VPS, SPS, and PPS, from the input non-VCL NAL and supplies the decoded parameter set to the parameter set management unit 13.
  • the parameter set management unit 13 holds the encoded parameter of the parameter set for each identifier of the parameter set. Specifically, in the case of a VPS, a VPS encoding parameter is held for each VPS identifier (video_parameter_set_id). In the case of SPS, SPS encoding parameters are held for each SPS identifier (sps_seq_parameter_set_id). In the case of PPS, the PPS encoding parameter is held for each PPS identifier (pps_pic_parameter_set_id). Note that the encoding parameter held in the parameter set management unit 13 may include a layer identifier and a temporal identifier of each parameter set.
  • the picture decoding unit 14 generates a decoded picture based on the input VCL NAL, the active parameter set (active PPS, active SPS, active VPS), and the reference picture, and supplies the decoded picture to the decoded picture management unit 15.
  • the supplied decoded picture is recorded in a buffer in the decoded picture management unit 15. Detailed description of the picture decoding unit 14 will be described later.
  • the decoded picture management unit 15 records an input decoded picture in an internal decoded picture buffer (DPB: “Decoded” Picture ”Buffer), and generates a reference picture list and determines an output picture. Also, the decoded picture management unit 15 outputs the decoded picture recorded in the DPB to the outside as an output picture POUT # T at a predetermined timing.
  • DPB internal decoded picture buffer
  • FIG. 27 is a schematic diagram illustrating the configuration of the parameter set decoding unit 12.
  • the parameter set decoding unit 12 includes an inter-layer dependency information decoding unit 121, a layer set decoding unit 122, a profile information decoding unit 123, and a bit rate information decoding unit 124.
  • the parameter set decoding unit 12 decodes a parameter set (VPS, SPS, PPS) used for decoding the target layer set from the input target layer set encoded data.
  • the encoded parameters of the decoded parameter set are supplied to the parameter set management unit 13 and recorded for each identifier included in each parameter set.
  • the parameter set decoding unit 12 is not limited to the parameter set, and may decode NAL units classified as non-VCL in FIG. Similar to the parameter set, the decoded non-VCL encoding parameters are recorded in the parameter set management unit 13.
  • FIG. 18 is an example of the syntax of inter-layer dependency information.
  • the inter-layer dependency information is decoded from the direct dependency flag “direct_dependency_flag [i] [j]” as inter-layer dependency information.
  • the direct dependency flag direct_dependency_flag [i] [j] indicates whether or not the i-th layer is directly dependent on the j-th layer. Takes a value of 0 when not dependent on.
  • the inter-layer dependency information decoding unit 121 decodes this direct dependency flag.
  • the decoding process when executed with the i-th layer as the target layer, the decoded picture related to the j-th layer and the related decoded image It means that the syntax may be directly referenced by the target layer.
  • the i-th layer does not depend directly on the j-th layer
  • the decoding process when executed with the i-th layer as a target layer, the parameter set, decoded picture, and related parameters for the j-th layer This means that the decrypted syntax is not directly referenced.
  • the direct reference layer IDX list DirectRefLayerIdx [iNuhLId] [] indicating the number of elements in ascending order in the reference layer set is derived by an expression described later.
  • the reference layer ID list RefLayerId [] [] is a two-dimensional array
  • the element of the first array stores the layer identifier of the target layer (layer i)
  • the elements of the second array include In the direct reference layer set, the layer identifiers of the kth reference layer are stored in ascending order.
  • the direct reference layer IDX list DirectRefLayerIdx [] [] is a two-dimensional array.
  • the element of the first array stores the layer identifier of the target layer (layer i), and the element of the second array
  • the index (direct reference layer IDX) indicating the element number of the layer identifier in ascending order in the direct reference layer set is stored.
  • the inter-layer dependency information decoding unit 121 derives the reference layer ID list and the direct reference layer IDX list with the following pseudo code.
  • the layer identifier nuhLayerId of the i-th layer is represented by the syntax of “layer_id_in_nuh [i]” on the VPS.
  • “nuhLId # i” is used.
  • the array NumDirectRefLayers [] represents the number of direct reference layers to which the layer with the layer identifier iNuhLId refers.
  • the inter-layer dependency information decoding unit 121 derives the reference layer ID list and the direct reference layer IDX list using the following pseudo code.
  • (SL01) This is the starting point of a loop related to the derivation of the reference layer ID list and the direct reference layer IDX list for the i-th layer.
  • the variable i is initialized to zero.
  • the process in the loop is executed when the variable i is less than the number of layers VpsMaxLayers. Each time the process in the loop is executed once, the variable i is incremented by “1”.
  • the layer identifier nuhLID # i of the i-th layer is set in the variable iNuhLid. Further, the direct reference layer number NumDirectRefLyaers [iNuhLID] of the layer identifier nuhLID # i is set to 0.
  • the jth layer is a starting point of a loop related to element addition to the reference layer ID list and the direct reference layer IDX list related to the i-th layer. Prior to the start of the loop, the variable j is initialized to zero. The process in the loop is executed when the variable j (j-th layer) is less than the i-th layer (j ⁇ i), and each time the process in the loop is executed once, the variable j is “1”. Is added.
  • the direct dependency flag (direct_dependency_flag [i] [j]) of the jth layer with respect to the ith layer is determined. If the direct dependency flag is 1, the process proceeds to step SL05 in order to execute the processes of steps SL05 to SL07.
  • the inter-layer dependency information decoding unit 121 decodes the direct dependency flag direct_dependency_flag [] [] decoded from the encoded data, and whether a certain layer i depends on another layer j (whether there is direct dependency or indirect dependency) ) DependencyFlag [i] [j] (dependency flag) is derived.
  • An indirect dependency flag (IndirectDependencyFlag) indicating a dependency of whether the i-th layer depends indirectly on the j-th layer (whether the j-th layer is an indirect reference layer of the i-th layer) [i] [j]) can be derived with reference to a direct dependency flag (direct_dependency_flag [i] [j]) by a pseudo code described later.
  • the dependency flag (DependencyFlag [i] [j]) indicating the dependency relationship (dependence flag is 1, if the indirect dependency flag is 1, the j-th layer is also referred to as the indirect reference layer of the i-th layer) is a direct dependency flag. Referring to (direct_dependency_flag [i] [j]) and the indirect dependency flag (IndirectDepdendencyFlag [i] [j]), it can be derived by a pseudo code described later.
  • FIG. 28 is a schematic diagram showing the configuration of the layer set decoding unit 122.
  • the layer set decoding unit 122 is a first layer set decoding unit 1221 (basic layer set decoding unit) that derives a layer set without using inter-layer dependency information, and a second layer that derives a layer set using inter-layer dependency information
  • a set decoding unit 1222 (additional layer set decoding unit) is included.
  • the layer set decoding unit 122 decodes a set of layer sets.
  • the layer set is a set of layers composed of one or more layers, and the layer set decoding unit 122 can decode a plurality of layer sets.
  • FIG. 19 shows an example of the syntax of the layer set information decoded by the first layer set decoding unit.
  • the first layer set decoding unit 1221 decodes a list (hereinafter referred to as a layer ID list LayerIdList) representing a set of layers constituting the layer set from the VPS as a set of the first layer set (basic layer set).
  • the VPS has a syntax “layer_id_included_flag [i] [j] indicating whether or not the j-th layer (layer j) is included in the i-th layer set (layer set i) in the order of layer definition on the VPS. ] ”Is included, and a layer set is composed of a layer j having a syntax value of 1. That is, the layer j constituting the layer set i is included in the layer ID list LayerIdList [i].
  • the number of layers NumLayersInIdList [i] included in the layer set i is the number of flags whose syntax value is 1 for the layer set i in the syntax “layer_id_included_flag [i] [j]”.
  • the first layer set decoding unit 1221 derives the layer ID list LayerIdList [i] of each layer set i and the number of layers NumLayersInIdList [i] included in the layer set i by the following pseudo code.
  • (SA01) This is the starting point of a loop related to the derivation of the layer ID list of layer set i.
  • the variable i Before the start of the loop, the variable i is initialized to zero. The process in the loop is executed when the variable i is less than the number of layer sets “NumLayerSets”, and each time the process in the loop is executed once, the variable i is incremented by “1”.
  • SA03 This is the start point of a loop related to adding an m-th layer (layer m) to the layer ID list of layer set i.
  • variable m is initialized to zero.
  • the maximum layer identifier “vps_max_layer_id” the maximum number of layers VpsMaxLayers may be used so that the process in the loop is executed when the variable m is less than the maximum number of layers VpsMaxLayers.
  • the layer ID list LayerIdList [i] of each layer set i can be derived.
  • the second layer set decoding unit 1222 decodes the syntax indicating the key layer from the encoded data, and adds the key layer and the layer directly dependent on the key layer to the derivation as a layer set.
  • FIG. 4 is an example of a layer set assumed in the present invention, and is a diagram illustrating a configuration example of a layer set in multi-view scalability. The figure shows a configuration in which 8 ⁇ 8 cameras are arranged horizontally and vertically in multi-view scalability.
  • this is a configuration in which eight viewpoints are arranged horizontally and eight columns are arranged vertically.
  • a layer set including the eye of the viewpoint video is required as described above.
  • a layer set corresponding to all of the viewpoints is required as a layer set.
  • 64 layer sets are required.
  • a key layer is defined for a layer representing a layer set.
  • FIG. 5 is a diagram illustrating another configuration example of a layer set in multi-view scalability.
  • two viewpoints close to the viewpoint are decoded, and the viewpoints are synthesized by interpolation from the two viewpoints.
  • two adjacent viewpoints as layers to be decoded as a layer set.
  • a key layer key layer
  • the other is defined as a complementary layer (accompanying layer).
  • Fig. 1 is a diagram for explaining the concept of the key layer.
  • L1 and L2 are directly dependent layers (direct reference layer, layers L1 and L2 are layers directly referenced by layer K, direct reference layer), and M1 is an indirectly dependent layer (indirect reference) with respect to the key layer indicated by K.
  • the layer, layer M is a layer that is indirectly referenced by the layer K via the layer L1, indirect reference layer.
  • FIG. 2 is a diagram for explaining the concept when the key layer has a complementary layer.
  • the key layer indicated by K has a complementary layer A.
  • L1 and L2 have a direct dependency layer
  • M1 has an indirect dependency layer
  • the complementary layer A has a direct layer of L3 and L4 and an indirect layer of M3.
  • the second layer set decoding unit 1222 uses K, its direct / indirect layer L1, L2, M1, and K's complementary layer A and the complementary layer's direct / indirect layer.
  • FIG. 3 is a diagram illustrating a common profile according to the embodiment of the present invention.
  • the additional layer set derived based on the key layer may have the same profile information. That is, the layer set composed of K1, K2, K3,..., KN may have common profile information.
  • the profile information is called common profile information.
  • the profile information is information including a profile, a level, and a tier, and indicates information encoded with the syntax of profile_tier_level ().
  • FIG. 47 is an example of profile_tier_level ().
  • general_profile_id indicates which profile the encoded data conforms to.
  • general_profile_compatibility_flag [i] indicates whether or not encoding can be decoded by a decoder conforming to a profile other than the profile specified by general_profile_idc.
  • general_level_idc indicates the complexity of the encoded data or the capability of the decoder necessary for decoding the encoded data.
  • general_tier_flag is a tier indicating the type of level, indicating whether it is a main tier or a high tier.
  • the profile information may include profile information for each layer related to temporal scalability (hereinafter also referred to as a sublayer or a temporal sublayer).
  • Communication HRD parameters It is not limited to profile information that has the same information in the additional layer set, but other information such as HRD parameters may be used.
  • HRD parameters When the additional layer set has the same HRD parameter, the HRD parameter is called a common HRD parameter.
  • the HRD parameter is information indicating a decoding operation expected in a virtual reference decoding device (Hypothesis reference decoder), basically, a bit stream buffer (CPB: Coded Picture Buffer) input and output timing, etc.
  • CB Coded Picture Buffer
  • DPB Decoded picture buffer
  • FIG. 48 is an example of profile_tier_level ().
  • nal_hrd_parameters_present_flag is a flag indicating the presence of an HRD parameter.
  • sub_pic_hrd_params_present_flag is a flag indicating the presence of the HRD parameter at the sub-picture level.
  • tick_divisor_minus2 represents a clock subtick.
  • a clock subtick corresponds to a minimum time interval of pictures in encoded data.
  • the number obtained by adding 1 to du_cpb_removal_delay_increment_length_minus1 indicates the number of bits of du_cpb_removal_delay_increment_minus1 [].
  • sub_pic_cpb_params_in_pic_timing_sei_flag is a flag indicating the presence of a CPB removal delay parameter in the picture timing SEI message.
  • bit_rate_scale indicates the CPB ratio of the maximum bit rate.
  • cpb_size_scale indicates the CPB size when the CPB is at the picture level.
  • cpb_size_du_scale indicates the CPB size when the CPB is at the DU level.
  • the value obtained by adding 1 to initial_cpb_removal_delay_length_minus1 plus 1 indicates the number of bits of nal_initial_cpb_removal_delay, nal_initial_cpb_removal_offset [i], vcl_initial_cpb_removal_delay, and vcl_initial_cpb_removal_offset.
  • a value obtained by adding 1 to au_cpb_removal_delay_length_minus1 indicates the number of bits of cpb_delay_offset syntax.
  • the number obtained by adding 1 to dpb_output_delay_length_minus1 indicates the number of bits of dpb_delay_offset.
  • the number obtained by adding 1 to fixed_pic_rate_general_flag [i] indicates the time interval of the HRD output time when the highest temporal sublayer (HighestTid) is i.
  • fixed_pic_rate_within_cvs_flag [i] indicates whether the HRD output time is limited when the highest temporal sublayer is i.
  • low_delay_hrd_flag [i] indicates the HRD operation mode when the highest temporal sublayer is i.
  • the number obtained by adding 1 to cpb_cnt_minus1 [i] indicates an alternative CPB definition when the highest temporal sublayer is i.
  • the HRD parameters may include sub_layer_hrd_parameters and sub_layer_hrd_parameters, but the description thereof is omitted here.
  • FIG. 6 is an example of the syntax table of the second layer set according to the embodiment of the present invention.
  • the second layer set decoding unit 1222 decodes the additional layer set present flag additional_layer_set_present_flag.
  • additional_layer_set_present_flag is 1, the second layer set decoding unit 1222 further decodes the syntax indicating the key layer from the encoded data.
  • add_layer_id_included_flag [j] is decoded with respect to j from 0 to the maximum layer identifier vps_max_layer_id.
  • add_layer_id_included_flag [j] 1
  • the layer indicated by index j is a key layer
  • a layer set including a key layer and a layer having a dependency relationship with the key layer is derived as a second layer set (added to the layer set list layerSetLayerIdList) . More specifically, the following processing is performed.
  • the layer set index layerSetId which is an index of the layer set list layerSetLayerIdList is set to vps_num_layer_sets_minus1 + 1 which is the number of layer sets (first layer set number) that the first layer set decoding unit 1221 decodes, and the number of additional layer sets NumAdditionalLayerSet Set 0.
  • add_layer_id_included_flag [j] is 1, the layer A indicated by the index j (key layer) and the direct and indirect dependent layers of layer A are added to the layer set layerSetLayerIdList [layerSetId], and the number of layers included in the layer set numLayersInList [layerSetId] is 1 + the number of directly dependent layers + the number of indirectly dependent layers, and 1 is added to the layer set index layerSetId. Further, NumAdditionalLayerSet is incremented by 1.
  • the second layer set decoding unit 1222 configured as described above a second layer set different from the first layer set is derived based on the inter-layer dependency information decoded by the inter-layer dependency information decoding unit that decodes the dependency. As a result, the effect of defining a layer set with a small code amount is achieved.
  • the second layer set decoding unit 1222 configured as described above is characterized in that the key layer is decoded and a layer set including a key layer and a layer that depends directly and indirectly on the key layer is derived.
  • the flag add_layer_id_included_flag [j] is decoded with respect to the index j from 0 to the number of layers ⁇ 1, and the layer whose flag is 1 is used as a key layer. It is possible to define a layer set with a small code amount.
  • the description of the pseudo code above is as follows: The number of layers included in the layer set generated from the key layer is set to numLayersInList [layerSetId], and 0 is set as an initial value. The following is executed for the index k from 0 to the maximum layer identifier vps_max_layer_id.
  • the layer indicated by index k is a layer with direct and indirect inter-layer dependency of layer A (DependencyFlag [layerIdA] [k] is other than 0)
  • the layer indicated by index k is added to the layer set. That is, the layer index indicated by the index k (here, k) is substituted into the layer set ID list layerSetLayerIdList [layerSetId] []. Also, numLayersInList [layerSetId] is incremented by 1.
  • a layer set composed of a key layer and a dependent layer for the key layer can be derived by this method.
  • FIG. 7 is another example of the syntax table of the second layer set according to the embodiment of the present invention.
  • Second layer set decoding section 1222B decodes complementary layer flag accompanying_layer_flag from the encoded data.
  • the second layer set decoding unit 1222 decodes the additional layer set present flag additional_layer_set_present_flag.
  • additional_layer_set_present_flag is 1, second layer set decoding section 1222B further decodes the syntax indicating the key layer from the encoded data.
  • add_layer_id_included_flag [j] that specifies the key layer is decoded.
  • add_layer_id_included_flag [j] 1
  • the layer indicated by the index j is a key layer
  • a layer set including the key layer is derived as a second layer set (added to the layer set list layerSetLayerIdList).
  • accompanying_layer_flag 1
  • the key layer complementing layer and the direct and indirect dependent layers of the complementing layer are also added to the layer set. Specifically, the following processing is performed.
  • add_layer_id_included_flag [j] is 1, add layer A (key layer) indicated by index j and direct and indirect dependent layers of layer A to layer set layerSetLayerIdList [layerSetId], and numLayersInList [layerSetId] 1 + directly and indirectly dependent layer number, and 1 is added to the layer set index layerSetId. Further, NumAdditionalLayerSet is incremented by 1.
  • the complementary layer is a layer specified by a predetermined rule based on the basic layer. For example, when the index of the base layer is j, it is appropriate to use the layer indicated by the index of j + 1 as the complementary layer.
  • a flag including whether or not the complementary layer is included in the key layer is decoded or derived, and the complementary layer is included.
  • a layer set including a key layer and a layer that directly and indirectly depends on the key layer and a layer that includes a complementary layer and a layer that depends directly and indirectly on the complementary layer is derived. This produces an effect of defining a layer set in which two layers are paired with a small code amount.
  • layer B the process of adding the direct and indirect dependent layers of layer A and the complementary layer of layer A (hereinafter referred to as layer B) to the layer set layerSetLayerIdList [layerSetId] is as follows: the layer index of layer A is layerIdA, and the layer index of the complementary layer is layerIdB. Then, it can be realized by the following processing using the dependency flag (DependencyFlag [i] [j] already described).
  • layer B is added to the layer set. That is, the layer index layerIdB of layer B is substituted into the layer set ID list layerSetLayerIdList [layerSetId] []. Also, numLayersInList [layerSetId] is incremented by 1.
  • FIG. 8 is another example of the syntax table of the second layer set according to the embodiment of the present invention.
  • the complementary layer flag accompanying_layer_flag is set by the second layer set decoding unit 1222C. That is, for both the case where the complementary layer flag accompanying_layer_flag is 0 and the case where it is 1, the additional layer set is derived only from the key layer by decoding the syntax defining the additional layer set from the encoded data, An additional layer set is derived from the key layer and the complementary layer.
  • second layer set decoding section 1222C sets complementary layer flag accompanying_layer_flag to 0 or 1 by a loop of 0 or 1 related to i.
  • the second layer set decoding unit 1222C decodes the additional layer set present flag additional_layer_set_present_flag [i].
  • additional_layer_set_present_flag [i] is 1, the second layer set decoding unit 1222 further decodes the syntax indicating the key layer from the encoded data.
  • add_layer_id_included_flag [i] [j] is decoded for j from 0 to the maximum layer identifier vps_max_layer_id.
  • add_layer_id_included_flag [i] [j] is 1, the layer indicated by the index j is a key layer, and a layer set including the key layer is derived as a second layer set (added to the layer set list layerSetLayerIdList).
  • accompanying_layer_flag is 1, the key layer complementing layer and the direct and indirect dependent layers of the complementing layer are also added to the layer set. Specifically, the following processing is performed.
  • add_profile_level_tier_idx [i] is set as the common profile information index profile_level_tier_idx [layerSetId] of layerSetLayerIdList [layerSetId]. Further, 1 is added to the layer set index layerSetId. Further, NumAdditionalLayerSet is incremented by 1.
  • add_profile_level_tier_idx [i] is set as the common profile information index profile_level_tier_idx [layerSetId] of layerSetLayerIdList [layerSetId]. Further, 1 is added to the layer set index layerSetId. Further, NumAdditionalLayerSet is incremented by 1.
  • a flag including whether or not a complementary layer is included in the key layer is decoded or derived, and the complementary layer is included.
  • a layer set including a key layer and a layer that directly and indirectly depends on the key layer and a layer that includes a complementary layer and a layer that depends directly and indirectly on the complementary layer is derived.
  • common profile information can be set for the layer set defined by the key layer by the common profile information flag. Accordingly, there is an effect of decoding the profile information with a small code amount as compared with the case where the individual profile information is decoded for all the layers defined by the key layer.
  • the common profile information flag and the common profile information index are decoded.
  • the HRD parameter Hypothesis Reference decoder
  • the common profile information flag use_common_profile_ref_flag [i] and the common profile information index add_profile_level_tier_idx [i] instead of the common profile information flag use_common_hrd_param_flag [i] and the index add_hrd_param_idx [i] for identifying the HRD parameter are decoded.
  • the second layer set decoding unit 1222D will be described in detail. Note that the information included in the encoded data need not be either the common profile information or the common HRD parameter, but may be both. In this case, the layer set decoding unit decodes both the common profile information and the common HRD parameter.
  • the second layer set decoding unit 1222D uses the common HRD parameter flag use_common_hrd_param_flag [i] instead of the common HRD parameter flag use_common_hrd_param_flag [i] and the common profile information index add_profile_level_tier_idx [i] to identify the HRD parameter. Decode the HRD parameter index add_hrd_param_idx [i].
  • FIG. 49 is another example of the syntax table of the second layer set according to the embodiment of the present invention.
  • the complementary layer flag accompanying_layer_flag is set by the second layer set decoding unit 1222D.
  • second layer set decoding section 1222D sets complementary layer flag accompanying_layer_flag to 0 or 1 by a loop of 0 or 1 related to i.
  • the second layer set decoding unit 1222D decodes the additional layer set present flag additional_layer_set_present_flag [i].
  • additional_layer_set_present_flag [i] is 1, the second layer set decoding unit 1222 further decodes the syntax indicating the key layer from the encoded data.
  • add_layer_id_included_flag [i] [j] is decoded for j from 0 to the maximum layer identifier vps_max_layer_id.
  • add_layer_id_included_flag [i] [j] is 1, the layer indicated by the index j is a key layer, and a layer set including the key layer is derived as a second layer set (added to the layer set list layerSetLayerIdList).
  • accompanying_layer_flag is 1, the key layer complementing layer and the direct and indirect dependent layers of the complementing layer are also added to the layer set. Specifically, the following processing is performed.
  • the layer set index layerSetId which is the index of the layer set list layerSetLayerIdList, is set to the first layer set number vps_num_layer_sets_minus1 + 1, and 0 is set to the additional layer set number NumAdditionalLayerSet.
  • the HRD parameter of the layer set having add_hrd_param idx [i] as an index is used as the HRD parameter of the layer of layerSetLayerIdList [layerSetId]. Further, 1 is added to the layer set index layerSetId. Further, NumAdditionalLayerSet is incremented by 1.
  • common HRD parameters can be set for the layer set defined by the key layer by the common HRD parameter flag.
  • the layer set decoding unit 122E includes a first layer set decoding unit 1221 and a second layer set decoding unit 1222E. Since the first layer set decoding unit 1221 has already been described, the description thereof is omitted.
  • the second layer set decoding unit 1222E decodes the additional layer set by a method different from the layer set decoding units described so far (from the layer set decoding unit 1222 to the layer set decoding unit 1222D).
  • the second layer set decoding unit 1222E decodes the second layer set based on the first layer set decoded by the first layer set decoding unit 1221.
  • the second layer set decoding unit 1222E decodes an index for referring to the first layer set, and transforms the first layer set specified by the index. Further, the second layer set decoding unit 1222E decodes information for identifying one or more target layers from the set of layers, and sets the target layer and the specified first layer set as the target layer. Two layer sets are derived.
  • FIG. 30 shows an example of the syntax of the layer set information decoded by the second layer set decoding unit 1222E.
  • the second layer set decoding unit 1222E decodes the number of additional layer sets num_refered_layer_sets from the encoded data.
  • the second layer set decoding unit 1222E decodes the index ref_layer_set_idx [i] referring to the first layer set decoded by the first layer set decoding unit 1221 for the index i from 0 to num_refered_layer_sets-1.
  • the second layer set decoding unit 1222E further decodes the additional layer index layer_id_added_flag [i] [j] with respect to the index j from 0 to the maximum layer identifier vps_max_layer_id. If layer_id_added_flag [i] [j] is 1, the layer specified by the additional layer index layer_id_added_flag [i] [j] and the layer that is an element of the first layer set specified by ref_layer_set_idx [i] Deriving a layer set whose element is. Specifically, it can be generated by the following pseudo code.
  • FIG. 31 is a diagram illustrating a layer set decoded by the second layer set decoding unit 1222E.
  • the second layer set decoding unit 1222E uses the first layer set (here, L0, L1) designated by the reference index ref_layer_set_idx [i] as an element, and further adds an additional layer index layer_id_added_flag [i ] [J] is 1 in L2, L3, and L4, the elements of the first layer set (here, L0 and L1) are common elements, and the additional layer index layer_id_added_flag [i] [j] is 1 A layer is added to derive a second layer set.
  • the layer set is derived with reference to the first layer set decoded using the first layer set decoding unit 1221. Therefore, the layer set is decoded with a small code amount. There is an effect that can be done.
  • the layer set decoding unit 122G includes a first layer set decoding unit 1221 and a second layer set decoding unit 1222G. Since the first layer set decoding unit 1221 has already been described, the description thereof is omitted.
  • the second layer set decoding unit 1222G and its modification derive a layer set based on the inter-layer dependency information decoded by the layer dependency information decoding unit 121.
  • the layer set decoding unit 122G and the modification thereof decode the inclusion flag of the non-dependent layer, and further (recursively) decode the inclusion flag of the direct prediction layer of the layer whose inclusion flag is 1.
  • a layer set composed of layers whose inclusion flag is 1 is derived.
  • FIG. 52 is a diagram showing a layer set to be decoded by the layer set decoding unit 1222G according to an embodiment of the present invention.
  • the round figure in the figure indicates a layer, and the number in the figure is an identifier indicating the layer.
  • the value on the lower right of the graphic indicates the value of the inclusion flag (add_layer_included_flag) of the layer indicated by the graphic. When there is no value at the lower right of the figure, it indicates that the inclusion flag (add_layer_included_flag) is not decoded for the corresponding layer.
  • a bold figure indicates a layer included in the additional layer set decoded by the layer set decoding unit 1222G. Arrows indicate direct dependencies.
  • the layer set decoding unit 1222G decodes the inclusion flag (add_layer_included_flag) indicating whether the layer of the independent layer other than the layer 0 (here, 7) is included in the additional layer, and add_layer_included_flag is 1.
  • the inclusion flag add_layer_included_flag of the direct prediction layer (8 and 11 in this case) of the layer is further decoded.
  • the inclusion flag add_layer_included_flag of the layer 8 is 1, the inclusion flag add_layer_included_flag of the direct prediction layer (here, 9 and 10) of the layer 8 is decoded.
  • the inclusion flag add_layer_included_flag of the layer 9 is 0, and the inclusion flag add_layer_included_flag of the layer 10 is 1. Since the inclusion flag add_layer_included_flag of the layer 9 is 0, the processing relating to this layer ends here. Although the inclusion flag add_layer_included_flag of the layer 10 is 1, since the layer 10 does not have a direct prediction layer, the process regarding this layer ends here. Since the inclusion flag add_layer_included_flag of the layer 11 is 0, the processing relating to this layer ends here. That is, the layer 11 has the layers 12 and 13 as direct prediction layers, but does not decode the inclusion flag add_layer_included_flag of the layers 12 and 13. As described above, the additional layer set including the layer 7, the layer 8, and the layer 10 is decoded.
  • the general operation of the second layer set decoding unit 1222G is as follows.
  • the second layer set decoding unit 1222G decodes the inclusion flag of the independent layer, and further, when the inclusion flag of the independent layer is 1, decodes the inclusion flag of the direct prediction layer of the independent layer, and When the content flag of the direct prediction layer is 1, the content flag of the direct prediction layer is decoded. When the content flag of the layer is 1, the operation of decoding the content flag of the direct prediction layer is performed. The process continues until there is no direct prediction layer, and a layer set composed of layers whose inclusion flag is 1 is derived.
  • the second layer set decoding unit 1222G decodes the node inclusion flag using the non-dependent layer as a root node, and the node direct prediction layer inclusion flag is 1 and the node direct prediction layer exists.
  • the content flag of the node is recursively decoded using the direct prediction layer as a node, and a layer set composed of layers having the content flag of 1 is derived.
  • FIG. 53 is an example of the syntax table of the second layer set encoded by the second layer set decoding unit 2222G according to the embodiment of the present invention and decoded by the second layer set decoding unit 1222G.
  • NumIndependentLayers indicates the number of independent layers in the first layer set
  • num_add_layer_sets indicates a syntax element related to the second layer set
  • layer_tree indicates a syntax structure.
  • the number of independent layers NumIndependentLayers is derived by the following pseudo code by the layer dependency information decoding unit 121.
  • MaxLayersMinus1 indicates the maximum number of layers ⁇ 1.
  • the second layer set decoding unit 1222G decodes the second layer set from the VPS (VPS extension) as follows.
  • VPS VPS extension
  • the layer set decoding unit 122G decodes num_add_layer_sets indicating the number of second layer sets.
  • the second layer set decoding unit 1222G decodes the layer set i indicated by the identifier i from 0 to num_add_layer_sets-1 as follows.
  • layer_id_in_nuh is a table for deriving the layer ID from the identifier
  • iNuhLId indicates the layer ID of the layer j.
  • the syntax element add_layer_id_included_flag [layerId] indicating whether or not the layer layerId in the layer set addLayerSetId is included in the layer set addLayerSetId is decoded.
  • the inclusion flag add_layer_id_included_flagd [layerId] of the layer layerId is 1, the direct prediction layer k of the layer layerId is scanned, and when the direct prediction layer k of the layer layerId exists, the syntax structure (addLayerSetId, k) Is decrypted.
  • the node inclusion flag is recursively decoded using the direct prediction layer as a node.
  • the second layer set decoding unit 1222G does not decode the inclusion flag add_layer_id_included_flag [] [], 0 is derived.
  • FIG. 54 is a diagram showing a configuration of a second layer set decoded by the second layer set decoding unit 1222G according to the embodiment of the present invention.
  • layer set i and layer j are nodes.
  • the inclusion flag add_layer_id_included_flag [i] [j] of the layer j in the layer set i is decoded.
  • add_layer_id_included_flag [i] [j] is 1 is shown.
  • the direct prediction layer of the layer j is checked based on the direct_dependency_flag. Specifically, the direct dependency flags direct_dependency_flag [j + 1] [j], direct_dependency_flag [j + 2] [j] up to nodes j + 1, j + 2, j + 3,..., Maximum number of layers ⁇ 1 (MaxLayersMinus1) ], Direct_dependency_flag [j + 3] [j], ..., direct_dependency_flag [maximum number of layers-1] [j], and a direct prediction layer (for example, j + 1) having a direct dependence flag of 1
  • the tax structure layer_tree (i, j + 1) is decoded, and the layer inclusion flag is decoded.
  • the second layer set decoding unit 1222G may derive the layer set as the following pseudo code.
  • vps_num_layer_sets_minus1 is the number of layer sets of the first layer set ⁇ 1.
  • the additional layer set i corresponds to the layer set vps_num_layer_sets_minus1 + 1 + i, which is lsIdx
  • the layer set decoding unit 122G has a layer ID list LayerSetLayerIdList [lsIdx] [] and the layer set lsIdx are layers
  • a flag layer_id_included_flag [lsIdx] [] indicating whether or not layerId is included is derived.
  • the layer layerId inclusion flag add_layer_id_included_flag [i] [layerId] for layer set i is 1
  • the layer ID list LayerSetLayerIdList [ The layer ID layer_id_in_nuh [layerId] of the layer layerId is added to lsIdx] [], and the flag layer_id_included_flag [lsIdx] [layerId] is set to 1.
  • the number of layers layerNum included in the layer set i is incremented by 1.
  • the layer set decoding unit 122G configured as described above, by decoding the inclusion flag add_layer_id_included_flag [] [] while following the tree structure with respect to the layer having the direct dependency flag direct_dependency_flag of 1 with the non-dependent layer as the root.
  • the layer set can be decoded with a small code amount. That is, if the inclusion flag add_layer_id_included_flag [] [] of a certain layer is 0, the inclusion flag add_layer_id_included_flag [of the direct prediction layer and the indirect dependency layer of the layer that is not included in the layer set. ] [] are not decoded, so that the amount of codes can be reduced.
  • a layer that refers to an independent layer (independent layer) has a plurality of children (nodes) in a reference relationship, it is also possible to derive a layer set that includes only a specific child and an independent layer.
  • Modification of layer set decoding unit 122G Modification of layer set decoding unit 122G
  • a modification of the second layer set decoding unit 1222G which is another configuration of the second layer set decoding unit 1222, will be described.
  • the schematic configuration of the modified example of the second layer set decoding unit 1222G is the same as that of the second layer set decoding unit 1222G, as described with reference to FIG.
  • the modified example of the second layer set decoding unit 1222G differs from the second layer set decoding unit 1222G only in the syntax structure, and the outline of the inclusion flag decoding method using the dependency relationship is the same.
  • the schematic operation of the modification of the layer set decoding unit 122G is as follows.
  • the modified example of the second layer set decoding unit 1222 includes, for each layer, if the layer is an independent layer or if the layer is a direct prediction layer of a layer whose inclusion flag is 1, The flag is decoded, and a layer set composed of layers whose inclusion flag is 1 is derived.
  • a modification of the second layer set decoding unit 1222 is a case where the layer i is a non-dependent layer for each layer indicated by the identifier i, or each layer j indicated by an identifier j less than i.
  • FIG. 55 is an example of the syntax table of the second layer set to be decoded according to the modification of the layer set decoding unit 122G according to the embodiment of the present invention.
  • NumIndependentLayers indicates the number of independent layers in the first layer set
  • num_add_layer_sets and add_layer_id_included_flag indicate syntax elements related to the second layer set.
  • a modification of the layer set decoding unit 122G decodes the second layer set from the VPS (VPS extension) as follows.
  • the layer set decoding unit 122G decodes num_add_layer_sets indicating the number of second layer sets.
  • the layer set decoding unit 122G decodes the layer set i indicated by the identifier i from 0 to num_add_layer_sets-1 as follows.
  • layer_id_in_nuh is a table for deriving the layer ID from the identifier
  • iNuhLId indicates the layer ID of the layer j.
  • the inclusion flag add_layer_id_included_flag [i] [j] of layer j is decoded.
  • k j at the time when the inclusion flag add_layer_id_included_flag [i] [j] of layer j is decoded, and to finish scanning up to k ⁇ j.
  • FIG. 56 is a diagram illustrating a configuration of the second layer set encoded by the modified example of the second layer set decoding unit 2222G according to the embodiment of the present invention and decoded by the modified example of the second layer set decoding unit 1222G.
  • the round figure in the figure indicates a layer, and the number in the figure is an identifier indicating the layer.
  • a bold figure indicates a layer included in the additional layer set. Arrows indicate direct dependencies.
  • the modification of the second layer set decoding unit 1222G decodes the inclusion flag add_layer_id_included_flag [i] [1] of the layer 1 because the layer 1 is an independent layer.
  • the inclusion flag add_layer_id_included_flag [i] [4] of the layer 4 is not decoded.
  • 0 is derived when the inclusion flag add_layer_id_included_flag [] [] is not decoded.
  • an additional layer set (second layer set) composed of layer 1 and layer 2 is derived.
  • the inclusion flag add_layer_id_included_flag [] [] is decoded in the direct prediction layer of the layer that is the independent layer or the inclusion flag add_layer_id_included_flag [] [].
  • the layer set can be decoded with a small code amount. That is, when the inclusion flag add_layer_id_included_flag [] [] of a certain layer is 0, the inclusion flag add_layer_id_included_flag [] [] of the direct prediction layer and the indirect dependency layer of the layer not included in the layer set is decoded. Therefore, the code amount can be reduced.
  • a layer that references an independent layer (independent layer) has a plurality of direct prediction layers (nodes) in a reference relationship
  • a layer set including only a specific direct prediction layer and an independent layer can be derived. It is.
  • the layer set decoding unit 122F includes a first layer set decoding unit 1221 and a first layer set decoding unit 1221F, and the first layer set decoded by the first layer set decoding unit 1221 is the same as the layer set decoding unit 122E. To decode the second layer set. Since the first layer set decoding unit 1221 has already been described, the description thereof is omitted.
  • the second layer set decoding unit 1222F decodes an index for referring to the first layer set and an offset, and transforms the first layer set specified by the index using the offset. .
  • FIG. 33 is an example of the syntax of the layer set information decoded by the second layer set decoding unit 1222F.
  • the second layer set decoding unit 1222F decodes the number of additional layer sets num_refered_layer_sets from the encoded data.
  • the second layer set decoding unit 1222F decodes the index ref_layer_set_idx [i] referring to the first layer set decoded by the first layer set decoding unit 1221 for the index i from 0 to num_refered_layer_sets-1.
  • the second layer set decoding unit 1222F decodes the offset layer_id_offset [i].
  • the second layer set decoding unit 1222F creates a layer composed of a layer index composed of a value obtained by adding an offset layer_id_offset [i] to the layer index of the element of the first layer set specified by ref_layer_set_idx [i]. Deriving a layer set whose element is.
  • FIG. 34 is a diagram illustrating a layer set decoded by the second layer set decoding unit 1222F.
  • the second layer set decoding unit 1222F shifts the index by the offset layer_id_offset [i] with respect to the first layer set (here, L0, L1) specified by the reference index ref_layer_set_idx [i].
  • the offsets are 10, 20, and 40.
  • a layer set having L10 and L11 as elements, a layer set having L20 and L21 as elements, and a layer set having L40 and L41 as elements, respectively, are derived.
  • the layer set is derived with reference to the first layer set decoded using the first layer set decoding unit 1221. Therefore, the layer set is decoded with a small code amount. There is an effect that can be done.
  • FIG. 20 is an example of the syntax of profile information decoded by the profile information decoding unit 123.
  • the profile information decoding unit 123 decodes vps_num_profile_tier_level_minus1 as the number of profile information sets, and decodes profile_tier_level (vps_profile_present_flag [i], vps_max_sub_layers_minus1) as vps_num_profile_tier_level_minus1 + 1 pieces of profile information.
  • More_output_layer_sets_than_default_flag, num_add_output_layer_sets_minus1, default_one_target_output_layer_idc, and output_layer_set_idx_minus1 shown in FIG. 20 are syntaxes related to the output layer set. Based on the layer set (default layer set) decoded by the layer set decoding unit 122, the output layer set is the same as the default layer set and the element layer, and only the output layer (output flag output_layer_flag) is different. Deriving a layer set.
  • the profile information decoding unit 123 decodes the index profile_level_tier_idx [i] for the profile information for the index i from 0 to the number of layer sets (numOutputLayerSets-1).
  • the profile information indicated by the index i is decoded as an element of the profile information set indicated by the index of profile_level_tier_idx [i] (profile_tier_level () in the VPS extension specified by profile_level_tier_idx [i]).
  • the profile information profile_level_tier_idx [i] for the additional layer set is not decoded and is already described.
  • FIG. 35 is a schematic diagram showing the configuration of the bit rate information decoding unit 124.
  • the bit rate information decoding unit 124 includes a bit rate information set decoding unit 1241 and a bit rate information index decoding unit 1242.
  • FIG. 36 is an example of a syntax table of bit rate information decoded by the bit rate information decoding unit 124 according to the embodiment of the present invention.
  • the bit rate information decoding unit 124 decodes vps_num_rate_info_minus1 as the number of bit rate information.
  • vps_num_rate_info_minus1 + 1 corresponds to the number of bit rate information.
  • bit rate information decoding unit 124 performs bit rate present flag bit_rate_present_flag [i], picture rate present flag pic_rate_present_flag [i], average bit rate avg_bit_rate [i], maximum bit rate for index i from 0 to vps_num_rate_info_minus1 It decodes max_bit_rate [i ⁇ ], fixed picture rate flag constant_pic_rate_idc [i ⁇ ], and average picture rate avg_pic_rate [i].
  • the bit rate information decoding unit 124 decodes the index vps_rate_info_idx [i] [j] indicating the bit rate information for the sublayer indicated by the index j from 0 to vps_max_sub_layers_minus1 of the layer set indicated by the index i from 0 to vps_number_layer_sets_minus1. Further, the bit rate information decoding unit 124 uses the average bit rate, the maximum bit rate, the fixed picture rate flag, and the average picture rate as the index vps_rate_info_idx [i] as the bit rate information of the sublayer of the index j of the layer set indicated by the index i.
  • the bit rate information decoding unit 124 configured as described above includes a bit rate information set decoding unit 1241 that decodes one or more bit rate information, and an index that identifies bit rate information assigned to the layer set decoded by the layer set decoding unit. By providing the bit rate information index decoding means 1242 for decoding, there is an effect of reducing the code amount of the bit rate information.
  • the number of bits of the index vps_rate_info_idx [i] [j] is preferably smaller than 10, which is the logarithm of 1024, where 1024 is the maximum number of layer sets. For example, 8 is preferable. In this case, when the maximum number of layer sets is 1024, the maximum number of bit rate information to be added to the layer set is 256, so that different bit rate information for all layer sets. However, since the bit amount necessary for the index vps_rate_info_idx [i] [j] necessary for each layer set is limited to 8 bits, the code amount of the encoded data is reduced.
  • the maximum value of the bit rate information decoded by the bit rate information set decoding unit 1241 is less than the maximum value of the layer set, and the bit rate information index decoding unit 1242 has two logarithm bits of the maximum value of the bit rate information.
  • the picture decoding unit 14 generates and outputs a decoded picture based on the input VCL NAL unit and the active parameter set.
  • FIG. 25 is a functional block diagram showing a schematic configuration of the picture decoding unit 14.
  • the picture decoding unit 14 includes a slice header decoding unit 141 and a CTU decoding unit 142.
  • the CTU decoding unit 142 further includes a prediction residual restoration unit 1421, a predicted image generation unit 1422, and a CTU decoded image generation unit 1423.
  • the slice header decoding unit 141 decodes the slice header based on the input VCL NAL unit and the active parameter set.
  • the decoded slice header is output to the CTU decoding unit 142 together with the input VCL NAL unit.
  • CTU decoding unit 142 In general, the CTU decoding unit 142 decodes a region corresponding to each CTU included in a slice constituting a picture based on an input slice header, slice data included in a VCL NAL unit, and an active parameter set. A decoded image of the slice is generated by decoding the image. The decoded image of the slice is output as a part of the decoded picture to the slice position indicated by the input slice header. The decoded image of the CTU is generated by the prediction residual restoration unit 1421, the prediction image generation unit 1422, and the CTU decoded image generation unit 1423 inside the CTU decoding unit 142.
  • the prediction residual restoration unit 1421 decodes prediction residual information (TT information) included in the input slice data, generates a prediction residual of the target CTU, and outputs it.
  • TT information prediction residual information
  • the predicted image generation unit 1422 generates and outputs a predicted image based on the prediction method and the prediction parameter indicated by the prediction information (PT information) included in the input slice data. At that time, a decoded image of the reference picture and an encoding parameter are used as necessary. For example, when using inter prediction or inter-layer image prediction, a corresponding reference picture is read from the decoded picture management unit 15. Note that details of the predicted image generation process when the inter-layer image prediction is selected in the predicted image generation process by the predicted image generation unit 1422 will be described later.
  • the CTU decoded image generation unit 1423 adds the input predicted image and the prediction residual to generate and output a decoded image of the target CTU.
  • FIG. 26 is a flowchart showing a decoding process in units of slices constituting a picture of the target layer i in the picture decoding unit 14.
  • the first slice flag (first_slice_segment_in_pic_flag) of the decoding target slice is decoded.
  • the decoding target slice is the first slice in the decoding order (hereinafter, processing order) in the picture, and the position (hereinafter, the first CTU of the decoding target slice in the raster scan order in the picture).
  • CTU address) is set to 0.
  • the counter numCtb for the number of processed CTUs in the picture (hereinafter, the number of processed CTUs numCtb) is set to zero.
  • the head slice flag is 0, the head CTU address of the decoding target slice is set based on a slice address decoded in SD106 described later.
  • the active PPS identifier (slice_pic_paramter_set_id) that specifies the active PPS to be referred to when decoding the decoding target slice is decoded.
  • the active parameter set is fetched from the parameter set management unit 13. That is, the PPS having the same PPS identifier (pps_pic_parameter_set_id) as the active PPS identifier (slice_pic_parameter_set_id) referred to by the decoding target slice is set as the active PPS, and the encoding parameter of the active PPS is fetched (read) from the parameter set management unit 13.
  • the SPS having the same SPS identifier (sps_seq_parameter_set_id) as the active SPS identifier (pps_seq_parameter_set_id) in the active PPS is set as the active SPS, and the encoding parameter of the active SPS is fetched from the parameter set management unit 13.
  • the VPS having the same VPS identifier (vps_video_parameter_set_id) as the active VPS identifier (sps_video_parameter_set_id) in the active SPS is set as the active VPS, and the encoding parameter of the active VPS is fetched from the parameter set management unit 13.
  • step SD105 Whether the decoding target slice is the first slice in the processing order in the picture is determined based on the first slice flag. If the first slice flag is 0 (Yes in SD105), the process proceeds to step SD106. In other cases (No in SD105), the process of step SD106 is skipped. When the head slice flag is 1, the slice address of the decoding target slice is 0.
  • the slice address (slice_segment_address) of the decoding target slice is decoded, and the head CTU address of the decoding target slice is set.
  • the head slice CTU address slice_segment_address. ... Omitted ...
  • the CTU decoding unit 142 corresponds to each CTU included in the slice constituting the picture based on the input slice header, the active parameter set, and each CTU information in the slice data included in the VCL NAL unit. Generate a CTU decoded image of the area.
  • a slice end flag (end_of_slice_segment_flag) indicating whether the CTU is the end of a decoding target slice. Further, after decoding each CTU, the value of the number of processed CTUs numCtb is incremented by 1 (numCtb ++).
  • SD10B It is determined based on the slice end flag whether or not the CTU is the end of the decoding target slice.
  • the slice end flag is 1 (Yes in SD10B)
  • the process proceeds to step SD10C.
  • the process proceeds to step SD10A in order to decode subsequent CTU information.
  • numCtu is equal to PicSizeInCtbsY (Yes in SD10C)
  • the decoding process in units of slices constituting the decoding target picture ends.
  • numberCtu ⁇ PicSizeInCtbsY No in SD10C
  • the process proceeds to step SD101 in order to continue the decoding process in units of slices constituting the decoding target picture.
  • FIG. 37 is a functional block diagram showing a schematic configuration of the hierarchical moving image encoding device 2.
  • the hierarchical video encoding device 2 encodes the input image PIN # T (picture) of each layer included in the layer set to be encoded (target layer set), and generates the hierarchical encoded data DATA of the target layer set. Generate. That is, the moving image encoding apparatus 2 performs the layer ID list element LayerIdListTarget [0] ... LayerIdListTarget [N-1] (N is the number of layers included in the target layer set) in the order of each layer in the target layer set LayerSetTarget. A picture is encoded and its encoded data is generated.
  • the hierarchical video encoding device 2 includes a target layer set picture encoding unit 20 and a NAL multiplexing unit 21. Further, the target layer set picture coding unit 20 includes a parameter set coding unit 22, a picture coding unit 24, a decoded picture management unit 15, and a coding parameter determination unit 26.
  • the decoded picture management unit 15 is the same component as the decoded picture management unit 15 included in the hierarchical video decoding device 1 already described. However, since the decoded picture management unit 15 included in the hierarchical video encoding device 2 does not need to output a picture recorded in the internal DPB as an output picture, the output can be omitted. Note that the description described as “decoding” in the description of the decoded picture management unit 15 of the hierarchical video decoding device 1 is replaced with “encoding”, so that the decoded picture management unit 15 included in the hierarchical video encoding device 2 also includes Applicable.
  • the NAL multiplexing unit 21 generates the NAL-multiplexed hierarchical moving image encoded data DATA # T by storing the VCL and non-VCL of each layer of the input target layer set in the NAL unit, Output to.
  • the NAL multiplexing unit 21 includes the non-VCL encoded data, the VCL encoded data supplied from the target layer set picture encoding unit 20, and the NAL unit type and layer corresponding to each non-VCL and VCL.
  • the identifier and the temporal identifier are stored (encoded) in the NAL unit, and NAL-multiplexed hierarchical encoded data DATA # T is generated.
  • the encoding parameter determination unit 26 selects one set from among a plurality of sets of encoding parameters.
  • the encoding parameters are various parameters related to each parameter set (VPS, SPS, PPS), prediction parameters for encoding a picture, and encoding targets generated in association with the prediction parameters. It is a parameter.
  • the encoding parameter determination unit 26 calculates a cost value indicating the amount of information and the encoding error for each of the plurality of sets of the encoding parameters.
  • the cost value is, for example, the sum of a code amount and a square error multiplied by a coefficient ⁇ .
  • the code amount is an information amount of encoded data of each layer of the target layer set obtained by variable-length encoding the quantization error and the encoding parameter.
  • the square error is the sum between pixels regarding the square value of the difference value between the input image PIN # T and the predicted image.
  • the coefficient ⁇ is a real number larger than a preset zero.
  • the encoding parameter determination unit 26 selects a set of encoding parameters that minimizes the calculated cost value, and supplies the selected set of encoding parameters to the parameter set encoding unit 22 and the picture encoding unit 24. .
  • the parameter set encoding unit 22 uses the parameter set (VPS, SPS, and SPS) used for encoding the input image based on the encoding parameter and the input image of each parameter set input from the encoding parameter determination unit 26.
  • Each parameter set is supplied to the NAL multiplexer 21 as data stored in the non-VCL NAL unit.
  • the parameter set encoded by the parameter set encoding unit 22 includes layer set information (including extension data of the layer set information) described in the description of the parameter set decoding unit 12 included in the hierarchical video decoding device 1, It includes inter-layer dependency information (direct dependency flag, layer-dependent type bit length, layer-dependent type), and inter-layer position correspondence information.
  • the parameter set generated by the parameter set encoding unit 22 includes an identifier for identifying the parameter set, and a parameter set (active parameter set) referred to by the parameter set referred to for decoding a picture of each layer.
  • an active parameter set identifier Specifically, for a video parameter set VPS, a VPS identifier for identifying the VPS is included.
  • an SPS identifier sps_seq_parameter_set_id
  • an active VPS identifier sps_video_parameter_set_id
  • a PPS identifier for identifying the PPS and an active SPS identifier (pps_seq_parameter_set_id) for identifying an SPS to which the PPS or other syntax refers are included.
  • FIG. 40 is a schematic diagram showing the configuration of the parameter set encoding unit 22.
  • the parameter set encoding unit 22 includes a dependency information encoding unit 221, a layer set encoding unit 222, a profile information encoding unit 223, and a bit rate information encoding unit 224.
  • the dependency information encoding unit 221 encodes a flag direct_dependency_flag [i] [j] indicating a direct dependency relationship between the layer i and the layer j into encoded data.
  • FIG. 41 is a schematic diagram showing the configuration of the layer set encoding unit 222.
  • the layer set encoding unit 222 includes a first layer set encoding unit 2221 and a second layer set encoding unit 2222.
  • the first layer set encoding unit 2221 encodes a syntax “layer_id_included_flag [i] [j]” indicating the number of first layer sets and whether or not the layer sets are included.
  • FIG. 6 is an example of the syntax table of the second layer set according to the embodiment of the present invention.
  • the second layer set encoding unit 2222 encodes the additional layer set present flag additional_layer_set_present_flag as 1.
  • the second layer set encoding unit 2222 encodes the syntax indicating the key layer into encoded data.
  • add_layer_id_included_flag [j] is encoded as 1.
  • add_layer_id_included_flag [j] is 1, the layer indicated by the index j is a key layer, and a layer set including the key layer is encoded. More specifically, the following processing is performed.
  • the layer set index layerSetId which is the index of the layer set list layerSetLayerIdList, is set to the first layer set number vps_num_layer_sets_minus1 + 1, and 0 is set to the additional layer set number NumAdditionalLayerSet. Encode additional_layer_set_present_flag as 1.
  • the layer set layerSetLayerIdList [layerSetId] is encoded with the layer A (key layer) indicated by the index j and the direct and indirect dependent layers of the layer A. Add 1 to the layer set index layerSetId. Further, NumAdditionalLayerSet is incremented by 1.
  • the second layer set encoding unit 2222 configured as described above is reduced by deriving the second layer set based on the inter-layer dependency information encoded by the inter-layer dependency information encoding means for decoding the dependency.
  • the second layer set encoding unit 2222 configured as described above is characterized in that the key layer is decoded and a layer set including a key layer and a layer that depends directly and indirectly on the key layer is derived.
  • the flag add_layer_id_included_flag [j] is decoded for the index j from 0 to the number of layers ⁇ 1, and the layer whose flag is 1 is used as the key layer By encoding the set, the effect of defining the layer set with a small amount of code is achieved.
  • FIG. 8 is another example of the syntax table of the second layer set according to the embodiment of the present invention.
  • the second layer set encoding unit 2222B encodes the complementary layer flag accompanying_layer_flag as 1 into encoded data.
  • the second layer set encoding unit 2222 encodes the additional layer set present flag additional_layer_set_present_flag as 1.
  • add_layer_id_included_flag [i] [j] is encoded as 1. Since add_layer_id_included_flag [] [j] is 1, the layer indicated by the index j is a key layer, and a layer set including the key layer is encoded. When accompanying_layer_flag is 1, the key layer complementing layer and the direct and indirect dependent layers of the complementing layer are also added to the layer set. Specifically, the following processing is performed.
  • the layer set index layerSetId which is the index of the layer set list layerSetLayerIdList, is set to the first layer set number vps_num_layer_sets_minus1 + 1, and 0 is set to the additional layer set number NumAdditionalLayerSet. Encode additional_layer_set_present_flag as 1.
  • add_layer_id_included_flag [accompanying_layer_flag] [j] is encoded as 1
  • layer A key layer
  • direct and indirect dependent layers of layer A are set to layer set layerSetLayerIdList [layerSetId] Is encoded as Add 1 to the layer set index layerSetId.
  • NumAdditionalLayerSet is incremented by 1.
  • add_layer_id_included_flag [accompanying_layer_flag] [j] is encoded as 1, layer A (key layer) indicated by index j, direct and indirect dependent layers of layer A, and complementary layer B of layer A And the direct and indirect dependent layers of layer B are encoded as a layer set layerSetLayerIdList [layerSetId]. Add 1 to the layer set index layerSetId. Further, NumAdditionalLayerSet is incremented by 1.
  • a flag including whether or not the key layer has a complementary layer is encoded or derived, and the complementary layer is If included, a layer set including a layer directly dependent on the key layer and the key layer and a layer set including a layer directly dependent on the complementary layer and the complementary layer is encoded. This produces an effect of defining a layer set in which two layers are paired with a small code amount.
  • FIG. 8 is another example of the syntax table of the second layer set according to the embodiment of the present invention.
  • the case where the layer set of the viewpoint unit of FIG. 4 and the layer set of the pair viewpoint unit of FIG. 5 are encoded will be described.
  • the second layer set encoding unit 2222C sets a complementary layer flag accompanying_layer_flag.
  • second layer set encoding section 2222C sets complementary layer flag accompanying_layer_flag to 0 or 1 by a loop of 0 or 1 related to i.
  • the second layer set encoding unit 2222C encodes the additional layer set present flag additional_layer_set_present_flag [i] as 1.
  • the second layer set encoding unit 2222C encodes the syntax indicating the key layer into encoded data.
  • add_layer_id_included_flag [i] [] j] set to 1. Since add_layer_id_included_flag [i] [j] is 1, the layer indicated by the index j becomes the key layer, and the layer set including the key layer is encoded thereby.
  • dd_layer_id_flag [accompanying_layer_flag] [j] is encoded as 1, and layer set (layer A (key layer) indicated by index j and direct and indirect dependent layers of layer A is encoded). Add 1 to the layer set index layerSetId. Further, NumAdditionalLayerSet is incremented by 1.
  • add_layer_id_included_flag [accompanying_layer_flag] [j] is encoded as 1
  • layer A key layer
  • layer A direct / indirect dependency layer indicates layer A direct / indirect dependency layer
  • layer A complementary layer B indicates layer A layer set layerSetLayerIdList
  • layerSetId which is a layer B direct and indirect dependency layer
  • 1 is added to the layer set index layerSetId.
  • NumAdditionalLayerSet is incremented by 1.
  • a flag including whether or not the key layer has a complementary layer is decoded or derived, and the complementary layer is included.
  • a layer set including a key layer and a layer that directly and indirectly depends on the key layer and a layer set that directly and indirectly depends on the complementary layer and the complementary layer is derived.
  • common profile information can be set for the layer set defined by the key layer by the common profile information flag.
  • the profile information encoding unit 223 encodes the number of profile information sets-1 by vps_num_profile_tier_level_minus1, and encodes the profile information set profile_tier_level () for the index i from 1 to vps_num_profile_tier_level_minus1. Furthermore, the profile information encoding unit 223 encodes an index profile_level_tier_idx [i] that specifies profile information regarding the layer set. Note that the profile information encoding unit 223, like the second layer set encoding unit 2222C, uses an additional layer set encoded by the second layer set encoding unit 2222C when using common profile information. Does not encode profile_level_tier_idx [i]. The index indicating the profile information of the additional layer set is encoded by add_profile_level_tier_idx.
  • the second layer set encoding unit 2222D which is the encoding apparatus of the present embodiment corresponding to the second layer set decoding unit 1222D will be described.
  • the second layer set encoding unit 2222D uses the common HRD parameter flag use_common_hrd_param_flag instead of the common HRD parameter flag use_common_hrd_param_flag [i] and the common profile information index add_profile_level_tier_idx [i]. [i] and the common HRD parameter index add_hrd_param_idx [i] for identifying the HRD parameter are encoded.
  • FIG. 42 is a schematic diagram showing the configuration of the layer set encoding unit 222E.
  • the layer set encoding unit 222E includes a first layer set encoding unit 2221 and a second layer set encoding unit 2222E.
  • the second layer set encoding unit 2222E is means corresponding to the second layer set decoding unit 1222E, and the second layer set is based on the first layer set encoded by the first layer set encoding unit 2221. Is encoded.
  • the number of additional layer sets num_refered_layer_sets is encoded
  • the index ref_layer_set_idx [i] for specifying the first layer set is encoded for the index i from 0 to num_refered_layer_sets-1
  • the second The syntax layer_id_added_flag [i] [j] for designating a layer to be a key layer of the layer set is encoded with respect to an index j from 0 to the number of layers vps_max_layer_id ⁇ 1.
  • a layer set composed of a key layer specified by index j and a first layer set specified by index i is encoded as a second layer set. It becomes.
  • the second layer set is encoded based on the layer set encoded by the first layer set encoding unit 2221, the code amount of the layer set can be reduced.
  • FIG. 43 is a schematic diagram showing the configuration of the layer set encoding unit 222F.
  • the layer set encoding unit 222F includes a first layer set encoding unit 2221 and a second layer set encoding unit 2222F.
  • the second layer set encoding unit 2222E is means corresponding to the second layer set decoding unit 1222F, and the second layer set is based on the first layer set encoded by the first layer set encoding unit 2221. Is encoded.
  • the number of additional layer sets num_refered_layer_sets is encoded
  • the index ref_layer_set_idx [i] for designating the first layer set is encoded for the index i from 0 to num_refered_layer_sets-1
  • the first Encode layer_id_offset [i] which is the offset of the element of the layer set.
  • a layer set including the layer indicated by the index obtained by adding the offset layer_id_offset [i] to each index indicating the element of the first layer set specified by the index i is encoded as the second layer set. Is done.
  • the second layer set is encoded based on the layer set encoded by the first layer set encoding unit 2221, the code amount of the layer set can be reduced.
  • the bit rate information encoding unit 224 includes a bit rate information set encoding unit 2241 and a bit rate information index encoding unit 2242.
  • FIG. 36 is an example of a syntax table of bit rate information encoded by the bit rate information encoding unit 224 according to the embodiment of the present invention.
  • bit rate information encoding unit 224 performs bit rate present flag bit_rate_present_flag [i], picture rate present flag pic_rate_present_flag [i], average bit rate avg_bit_rate [i], maximum bit for index i from 0 to vps_num_rate_info_minus1
  • bit rate max_bit_rate [i] the fixed picture rate flag constant_pic_rate_idc [i]
  • the average picture rate avg_pic_rate [i] are encoded.
  • the bit rate information encoding unit 224 encodes the index vps_rate_info_idx [i] [j] indicating the bit rate information for the sublayer indicated by the index j from 0 to vps_max_sub_layers_minus1 of the layer set indicated by the index i from 0 to vps_number_layer_sets_minus1. .
  • the bit rate information encoding unit 224 configured as described above identifies bit rate information set encoding unit 2241 that decodes one or more bit rate information, and bit rate information assigned to the layer set decoded by the layer set decoding unit.
  • the number of bits of the index vps_rate_info_idx [i] [j] is preferably smaller than 10, which is the logarithm of 1024, where 1024 is the maximum number of layer sets. For example, 8 is preferable. In this case, when the maximum number of layer sets is 1024, the maximum number of bit rate information to be added to the layer set is 256, so that different bit rate information for all layer sets. However, since the bit amount necessary for the index vps_rate_info_idx [i] [j] necessary for each layer set is limited to 8 bits, the code amount of the encoded data is reduced.
  • the maximum value of the bit rate information encoded by the bit rate information set encoding unit 2241 is less than the maximum value of the layer set, and the bit rate information index decoding unit 1242 has a maximum value of 2 of the bit rate information.
  • the picture encoding unit 24 Based on the input image PIN # T of each input layer, the parameter set supplied from the encoding parameter determination unit 26, and the reference picture recorded in the decoded picture management unit 15, the picture encoding unit 24 A part of the input image of each layer corresponding to the slices constituting the S is encoded, the encoded data of the part is generated, and supplied to the NAL multiplexer 21 as data stored in the VCL NAL unit. Detailed description of the picture encoding unit 24 will be described later. Note that when the picture coding unit 24 supplies the VCL coded data to the NAL multiplexing unit 21, the picture coding unit 24 also assigns and outputs the NAL unit type, the layer identifier, and the temporal identifier corresponding to the VCL.
  • FIG. 51 is a schematic diagram showing the configuration of the layer set encoding unit 222G according to an embodiment of the present invention.
  • the layer set encoding unit 222G includes a first layer set encoding unit 2221 and a second layer set encoding unit 2222G.
  • the layer set encoding unit 222G is means corresponding to the second layer set decoding unit 122G, and encodes syntax having the syntax table configuration of FIG. 53 into encoded data.
  • the operation of the second layer set encoding unit 2222G is as follows.
  • the second layer set encoding unit 2222G encodes the inclusion flag of the independent layer, and further, when the inclusion flag of the independent layer is 1, encodes the inclusion flag of the direct prediction layer of the independent layer. .
  • the inclusion flag of the direct prediction layer is 1, the inclusion flag of the direct prediction layer is encoded, and when the inclusion flag of the layer is 1, the inclusion flag of the direct prediction layer is encoded. Operation continues until there is no direct prediction layer.
  • the second layer set encoding unit 2222G decodes the node inclusion flag using the non-dependent layer as a root node, and the node direct prediction layer inclusion flag is 1 and the node direct prediction layer exists. In this case, the node inclusion flag is recursively encoded with the direct prediction layer as a node.
  • the inclusion flag add_layer_id_included_flag [] [] is encoded while tracing the tree structure with respect to the layer having the direct dependency flag direct_dependency_flag of 1 with the independent layer as the root.
  • the layer set can be encoded with a small code amount.
  • the modified example of the second layer set encoding unit 222G has the same schematic configuration as that of the second layer set encoding unit 222G, as shown in FIG.
  • a modification of the layer set encoding unit 222G includes a modification of the first layer set encoding unit 2221 and the second layer set encoding unit 2222G.
  • the modified example of the layer set encoding unit 222G is means corresponding to the modified example of the second layer set decoding unit 122G, and encodes the syntax having the syntax table configuration of FIG. 55 into encoded data.
  • Schematic operation of the modified example of the second layer set encoding unit 2222G is as follows.
  • the layer is a non-dependent layer, or if the layer is a direct prediction layer whose inclusion flag is 1, A content flag is encoded, and a layer set composed of layers whose content flag is 1 is derived.
  • a modification of the second second layer set encoding 2222G is that the layer i is a non-dependent layer for each layer indicated by the identifier i, or each layer indicated by an identifier j less than i.
  • the inclusion flag of layer j is 1 and layer i is the direct prediction layer of layer j (when the direct prediction layer flag between layer j and layer i is 1), The content flag of layer i is encoded.
  • the inclusion flag add_layer_id_included_flag [] [] is encoded in the direct prediction layer of the layer that is the independent layer or the inclusion flag add_layer_id_included_flag [] [].
  • FIG. 38 is a functional block diagram showing a schematic configuration of the picture encoding unit 24.
  • the picture encoding unit 24 includes a slice header encoding unit 241 and a CTU encoding unit 242.
  • the slice header encoding unit 241 generates a slice header used for encoding the input image of each layer input in units of slices based on the input active parameter set.
  • the generated slice header is output as part of the slice encoded data and is supplied to the CTU encoding unit 242 together with the input image.
  • the slice header generated by the slice header encoding unit 241 includes an active PPS identifier that designates a picture parameter set PPS (active PPS) to be referred to in order to decode a picture of each layer.
  • the CTU encoding unit 242 encodes the input image (target slice portion) in units of CTU based on the input active parameter set and slice header, and generates slice data and a decoded image (decoded picture) related to the target slice. And output. More specifically, the CTU encoding unit 242 divides the input image of the target slice in units of CTBs having a CTB size included in the parameter set, and encodes an image corresponding to each CTB as one CTU. . CTU encoding is performed by the prediction residual encoding unit 2421, the prediction image encoding unit 2422, and the CTU decoded image generation unit 2423.
  • the prediction residual encoding unit 2421 converts the quantization residual information (TT information) obtained by transforming and quantizing the difference image between the input image and the prediction image to be input to the slice data included in the slice encoded data. Output as part. Further, the prediction residual is restored by applying inverse transform / inverse quantization to the quantized residual information, and the restored prediction residual is output to the CTU decoded image generation unit 2423.
  • TT information quantization residual information
  • the prediction image encoding unit 2422 generates a prediction image based on the prediction method and the prediction parameter of the target CTU included in the target slice, which is determined by the encoding parameter determination unit 26, and the prediction residual encoding unit 2421.
  • the data is output to the CTU decoded image generation unit 2423.
  • the prediction scheme and prediction parameter information are variable-length encoded as prediction information (PT information) and output as a part of slice data included in the slice encoded data.
  • the prediction methods that can be selected by the prediction image encoding unit 2422 include at least inter-layer image prediction.
  • the prediction image encoding unit 2422 When inter-layer image prediction is selected as the prediction method, the prediction image encoding unit 2422 performs a corresponding reference position derivation process, determines a reference layer pixel position corresponding to the prediction target pixel, and performs interpolation based on the position A predicted pixel value is determined by processing.
  • the corresponding reference position derivation process each process described for the predicted image generation unit 1422 of the hierarchical video decoding device 1 can be applied. For example, the process described in ⁇ Details of predicted image generation process by layer image prediction> is applied.
  • a corresponding reference picture is read from the decoded picture management unit 15.
  • the prediction image encoding unit 2422 included in the hierarchical moving image encoding device 2 can derive an accurate position on the reference layer picture corresponding to the prediction target pixel using the inter-layer phase correspondence information. The accuracy of predicted pixels generated by the processing is improved. Therefore, the hierarchical moving image encoding apparatus 2 can generate and output encoded data with a smaller code amount than in the past.
  • the CTU decoded image generation unit 2423 is the same component as the CTU decoded image system generation unit 1423 included in the hierarchical video decoding device 1, description thereof is omitted. Note that the decoded image of the target CTU is supplied to the decoded picture management unit 15 and recorded in the internal DPB.
  • FIG. 39 is a flowchart showing an encoding process in units of slices constituting a picture of the target layer i in the picture encoding unit 24.
  • the first slice flag (first_slice_segment_in_pic_flag) (SYNSH01 in FIG. 23) of the slice to be encoded is encoded. That is, if the input image divided into slice units (hereinafter referred to as encoding target slice) is the first slice in the encoding order (decoding order) (hereinafter referred to as processing order) in the picture, the first slice flag (first_slice_segment_in_pic_flag) is set. 1. If the current slice is not the first slice, the first slice flag is 0. When the head slice flag is 1, the head CTU address of the encoding target slice is set to 0. Further, the counter numCtb for the number of processed CTUs in the picture is set to zero. When the head slice flag is 0, the head CTU address of the encoding target slice is set based on a slice address encoded by SD106 described later.
  • SE102 Encodes an active PPS identifier (slice_pic_paramter_set_id) (SYNSH02 in FIG. 23) that specifies an active PPS to be referred to when encoding an encoding target slice.
  • the active parameter set determined by the encoding parameter determination unit 26 is fetched. That is, the PPS having the same PPS identifier (pps_pic_parameter_set_id) as the active PPS identifier (slice_pic_parameter_set_id) referred to by the encoding target slice is set as the active PPS, and the encoding parameter determination unit 26 fetches (reads) the encoding parameter of the active PPS. ).
  • the SPS having the same SPS identifier (sps_seq_parameter_set_id) as the active SPS identifier (pps_seq_parameter_set_id) in the active PPS is set as the active SPS, and the encoding parameter of the active SPS is fetched from the encoding parameter determination unit 26.
  • the VPS having the same VPS identifier (vps_video_parameter_set_id) as the active VPS identifier (sps_video_parameter_set_id) in the active SPS is set as the active VPS, and the encoding parameter of the active VPS is fetched from the encoding parameter determination unit 26.
  • SE105 It is determined based on the head slice flag whether or not the coding target slice is the head slice in the processing order in the picture. If the first slice flag is 0 (Yes in SE105), the process proceeds to step SE106. In other cases (No in SE105), the process of step SE106 is skipped. When the head slice flag is 1, the slice address of the encoding target slice is 0.
  • slice address (slice_segment_address) (SYNSH03 in FIG. 23) of the slice to be encoded is encoded.
  • the slice address of the encoding target slice (the leading CUT address of the encoding target slice) can be set based on, for example, the counter numCtb of the number of processed CTUs in the picture.
  • slice address slice_segment_adress numCtb. That is, the leading CTU address of the encoding target slice is also numCtb.
  • the method for determining the slice address is not limited to this, and can be changed within a practicable range.
  • the CTU encoding unit 242 encodes an input image (encoding target slice) in units of CTUs based on the input active parameter set and slice header, and as a part of slice data of the encoding target slice
  • the encoded data of the CTU information (SYNSD01 in FIG. 23) is output.
  • the CTU encoding unit 242 generates and outputs a CTU decoded image of a region corresponding to each CTU.
  • a slice end flag (end_of_slice_segment_flag) (SYNSD02 in FIG. 23) indicating whether the CTU is the end of the encoding target slice is encoded.
  • the slice end flag is set to 1, otherwise it is set to 0 and encoding is performed. Further, after encoding each CTU, 1 is added to the value of the number of processed CTUs numCtb (numCtb ++).
  • SE10B It is determined based on the slice end flag whether or not the CTU is the end of the encoding target slice.
  • the slice end flag is 1 (Yes in SE10B)
  • the process proceeds to Step SE10C.
  • the process proceeds to step SE10A in order to encode the subsequent CTU.
  • numCtu is equal to PicSizeInCtbsY (Yes in SE10C)
  • the encoding process in units of slices constituting the encoding target picture is terminated.
  • the process proceeds to step SE101 in order to continue the encoding process in units of slices constituting the current picture to be encoded.
  • the above-described hierarchical video encoding device 2 and hierarchical video decoding device 1 can be used by being mounted on various devices that perform transmission, reception, recording, and reproduction of moving images.
  • the moving image may be a natural moving image captured by a camera or the like, or may be an artificial moving image (including CG and GUI) generated by a computer or the like.
  • FIG. 45A is a block diagram illustrating a configuration of a transmission device PROD_A in which the hierarchical video encoding device 2 is mounted.
  • the transmission device PROD_A modulates a carrier wave with an encoding unit PROD_A1 that obtains encoded data by encoding a moving image, and with the encoded data obtained by the encoding unit PROD_A1.
  • a modulation unit PROD_A2 that obtains a modulation signal and a transmission unit PROD_A3 that transmits the modulation signal obtained by the modulation unit PROD_A2 are provided.
  • the hierarchical moving image encoding apparatus 2 described above is used as the encoding unit PROD_A1.
  • the transmission device PROD_A is a camera PROD_A4 that captures a moving image, a recording medium PROD_A5 that records the moving image, an input terminal PROD_A6 that inputs the moving image from the outside, as a supply source of the moving image input to the encoding unit PROD_A1.
  • An image processing unit A7 that generates or processes an image may be further provided.
  • FIG. 45A illustrates a configuration in which the transmission apparatus PROD_A includes all of these, but some of them may be omitted.
  • the recording medium PROD_A5 may be a recording of a non-encoded moving image, or a recording of a moving image encoded by a recording encoding scheme different from the transmission encoding scheme. It may be a thing. In the latter case, a decoding unit (not shown) for decoding the encoded data read from the recording medium PROD_A5 according to the recording encoding method may be interposed between the recording medium PROD_A5 and the encoding unit PROD_A1.
  • FIG. 45 is a block diagram illustrating a configuration of the receiving device PROD_B in which the hierarchical video decoding device 1 is mounted.
  • the receiving device PROD_B includes a receiving unit PROD_B1 that receives a modulated signal, a demodulating unit PROD_B2 that obtains encoded data by demodulating the modulated signal received by the receiving unit PROD_B1, and a demodulator.
  • a decoding unit PROD_B3 that obtains a moving image by decoding the encoded data obtained by the unit PROD_B2.
  • the above-described hierarchical video decoding device 1 is used as the decoding unit PROD_B3.
  • the receiving device PROD_B has a display PROD_B4 for displaying a moving image, a recording medium PROD_B5 for recording the moving image, and an output terminal for outputting the moving image to the outside as a supply destination of the moving image output by the decoding unit PROD_B3.
  • PROD_B6 may be further provided.
  • FIG. 45B illustrates a configuration in which the receiving apparatus PROD_B includes all of these, but a part thereof may be omitted.
  • the recording medium PROD_B5 may be used for recording a non-encoded moving image, or may be encoded using a recording encoding method different from the transmission encoding method. May be. In the latter case, an encoding unit (not shown) for encoding the moving image acquired from the decoding unit PROD_B3 according to the recording encoding method may be interposed between the decoding unit PROD_B3 and the recording medium PROD_B5.
  • the transmission medium for transmitting the modulation signal may be wireless or wired.
  • the transmission mode for transmitting the modulated signal may be broadcasting (here, a transmission mode in which the transmission destination is not specified in advance) or communication (here, transmission in which the transmission destination is specified in advance). Refers to the embodiment). That is, the transmission of the modulation signal may be realized by any of wireless broadcasting, wired broadcasting, wireless communication, and wired communication.
  • a terrestrial digital broadcast broadcasting station (broadcasting equipment or the like) / receiving station (such as a television receiver) is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives a modulated signal by wireless broadcasting.
  • a broadcasting station (such as broadcasting equipment) / receiving station (such as a television receiver) of cable television broadcasting is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives a modulated signal by cable broadcasting.
  • a server workstation etc.
  • Client television receiver, personal computer, smart phone etc.
  • VOD Video On Demand
  • video sharing service using the Internet is a transmitting device for transmitting and receiving modulated signals by communication.
  • PROD_A / reception device PROD_B usually, either a wireless or wired transmission medium is used in a LAN, and a wired transmission medium is used in a WAN.
  • the personal computer includes a desktop PC, a laptop PC, and a tablet PC.
  • the smartphone also includes a multi-function mobile phone terminal.
  • the video sharing service client has a function of encoding a moving image captured by the camera and uploading it to the server. That is, the client of the video sharing service functions as both the transmission device PROD_A and the reception device PROD_B.
  • FIG. 46A is a block diagram showing a configuration of a recording apparatus PROD_C in which the above-described hierarchical video encoding apparatus 2 is mounted.
  • the recording apparatus PROD_C has an encoding unit PROD_C1 that obtains encoded data by encoding a moving image, and the encoded data obtained by the encoding unit PROD_C1 on the recording medium PROD_M.
  • the hierarchical moving image encoding device 2 described above is used as the encoding unit PROD_C1.
  • the recording medium PROD_M may be of a type built in the recording device PROD_C, such as (1) HDD (Hard Disk Drive) or SSD (Solid State Drive), or (2) SD memory. It may be of the type connected to the recording device PROD_C, such as a card or USB (Universal Serial Bus) flash memory, or (3) DVD (Digital Versatile Disc) or BD (Blu-ray Disc: registration) For example, it may be loaded into a drive device (not shown) built in the recording device PROD_C.
  • the recording device PROD_C is a camera PROD_C3 that captures moving images as a supply source of moving images to be input to the encoding unit PROD_C1, an input terminal PROD_C4 for inputting moving images from the outside, and reception for receiving moving images.
  • the unit PROD_C5 and an image processing unit C6 that generates or processes an image may be further provided.
  • FIG. 46A illustrates a configuration in which the recording apparatus PROD_C includes all of these, but a part of the configuration may be omitted.
  • the receiving unit PROD_C5 may receive a non-encoded moving image, or may receive encoded data encoded by a transmission encoding scheme different from the recording encoding scheme. You may do. In the latter case, a transmission decoding unit (not shown) that decodes encoded data encoded by the transmission encoding method may be interposed between the reception unit PROD_C5 and the encoding unit PROD_C1.
  • Examples of such a recording device PROD_C include a DVD recorder, a BD recorder, and an HDD (Hard Disk Drive) recorder (in this case, the input terminal PROD_C4 or the receiving unit PROD_C5 is a main supply source of moving images).
  • a camcorder in this case, the camera PROD_C3 is a main source of moving images
  • a personal computer in this case, the receiving unit PROD_C5 or the image processing unit C6 is a main source of moving images
  • a smartphone in this case In this case, the camera PROD_C3 or the receiving unit PROD_C5 is a main supply source of moving images
  • the camera PROD_C3 or the receiving unit PROD_C5 is a main supply source of moving images
  • FIG. 46 is a block showing a configuration of a playback device PROD_D in which the above-described hierarchical video decoding device 1 is mounted.
  • the playback device PROD_D reads the moving image by decoding the reading unit PROD_D1 that reads the encoded data written in the recording medium PROD_M and the encoded data read by the reading unit PROD_D1. And a decoding unit PROD_D2 to be obtained.
  • the hierarchical moving image decoding apparatus 1 described above is used as the decoding unit PROD_D2.
  • the recording medium PROD_M may be of the type built into the playback device PROD_D, such as (1) HDD or SSD, or (2) such as an SD memory card or USB flash memory, It may be of a type connected to the playback device PROD_D, or (3) may be loaded into a drive device (not shown) built in the playback device PROD_D, such as DVD or BD. Good.
  • the playback device PROD_D has a display PROD_D3 that displays a moving image, an output terminal PROD_D4 that outputs the moving image to the outside, and a transmission unit that transmits the moving image as a supply destination of the moving image output by the decoding unit PROD_D2.
  • PROD_D5 may be further provided.
  • FIG. 46B illustrates a configuration in which the playback apparatus PROD_D includes all of these, but a part may be omitted.
  • the transmission unit PROD_D5 may transmit an unencoded moving image, or transmits encoded data encoded by a transmission encoding method different from the recording encoding method. You may do. In the latter case, it is preferable to interpose an encoding unit (not shown) that encodes a moving image with an encoding method for transmission between the decoding unit PROD_D2 and the transmission unit PROD_D5.
  • Examples of such a playback device PROD_D include a DVD player, a BD player, and an HDD player (in this case, an output terminal PROD_D4 to which a television receiver or the like is connected is a main supply destination of moving images).
  • a television receiver in this case, the display PROD_D3 is a main supply destination of moving images
  • a digital signage also referred to as an electronic signboard or an electronic bulletin board
  • the display PROD_D3 or the transmission unit PROD_D5 is a main supply of moving images.
  • Desktop PC (in this case, the output terminal PROD_D4 or the transmission unit PROD_D5 is the main video image supply destination), laptop or tablet PC (in this case, the display PROD_D3 or the transmission unit PROD_D5 is a moving image)
  • a smartphone which is a main image supply destination
  • a smartphone in this case, the display PROD_D3 or the transmission unit PROD_D5 is a main moving image supply destination
  • the like are also examples of such a playback device PROD_D.
  • each block of the hierarchical video decoding device 1 and the hierarchical video encoding device 2 may be realized in hardware by a logic circuit formed on an integrated circuit (IC chip), or may be a CPU (Central It may be realized by software using a Processing Unit).
  • IC chip integrated circuit
  • CPU Central It may be realized by software using a Processing Unit
  • each of the devices includes a CPU that executes instructions of a control program that realizes each function, a ROM (Read Memory) that stores the program, a RAM (Random Access Memory) that expands the program, the program, and A storage device (recording medium) such as a memory for storing various data is provided.
  • An object of the present invention is to provide a recording medium in which a program code (execution format program, intermediate code program, source program) of a control program for each of the above devices, which is software that realizes the above-described functions, is recorded in a computer-readable manner This can also be achieved by supplying each of the above devices and reading and executing the program code recorded on the recording medium by the computer (or CPU or MPU (Micro Processing Unit)).
  • a program code execution format program, intermediate code program, source program
  • Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks / hard disks, CD-ROMs (Compact Disc-Read-Only Memory) / MO (Magneto-Optical) / Discs including optical discs such as MD (Mini Disc) / DVD (Digital Versatile Disc) / CD-R (CD Recordable), cards such as IC cards (including memory cards) / optical cards, mask ROM / EPROM (Erasable) Programmable Read-only Memory / EEPROM (registered trademark) (ElectricallyErasable Programmable Read-only Memory) / Semiconductor memories such as flash ROM, or logic circuits such as PLD (Programmable Logic Device) and FPGA (Field Programmable Gate Array) Etc. can be used.
  • tapes such as magnetic tapes and cassette tapes
  • magnetic disks such as floppy (registered trademark) disks / hard disks
  • each of the devices may be configured to be connectable to a communication network, and the program code may be supplied via the communication network.
  • the communication network is not particularly limited as long as it can transmit the program code.
  • the Internet an intranet, an extranet, a LAN (Local Area Network), an ISDN (Integrated Services Digital Network), a VAN (Value-Added Network), a CATV (Community Antenna Television) communication network, a virtual private network (Virtual Private Network), A telephone line network, a mobile communication network, a satellite communication network, etc. can be used.
  • the transmission medium constituting the communication network may be any medium that can transmit the program code, and is not limited to a specific configuration or type.
  • IEEE Institute of Electrical and Electronic Engineers 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, etc. wired, such as IrDA (Infrared Data Association) and remote control, Wireless such as Bluetooth (registered trademark), IEEE 802.11 wireless, HDR (High Data Rate), NFC (Near Field Communication), DLNA (Digital Living Network Alliance, registered trademark), cellular phone network, satellite line, terrestrial digital network, etc. But it is available.
  • the present invention can also be realized in the form of a computer data signal embedded in a carrier wave in which the program code is embodied by electronic transmission. (Summary)
  • One aspect of the present invention is an image decoding apparatus including a layer set decoding unit, an inter-layer dependency information decoding unit that decodes inter-layer dependency information, and a layer set decoding that decodes a layer set based on the inter-layer dependency information Means are provided.
  • the layer set decoding means decodes a key layer and derives a layer set including a key layer and a layer that depends directly or indirectly on the key layer.
  • One embodiment of the present invention is characterized in that the layer set decoding means decodes a flag from 0 to the number of layers minus 1, and derives a layer set using a layer having the flag of 1 as a key layer.
  • the layer set decoding means decodes or derives a flag including whether or not the key layer is a complementary layer, and when the key layer includes the complementary layer, the layer depends directly or indirectly on the key layer and the key layer. And a layer set including a complementary layer and a layer that directly and indirectly depends on the complementary layer.
  • the layer set decoding unit decodes a common profile flag indicating whether or not common profile information is included.
  • the layer set decoding unit decodes a common profile information index.
  • the same profile information indicated by the common profile information index is decoded as profile information of a layer set composed of key layers.
  • the layer set decoding means decodes a common profile flag indicating whether or not a common HRD parameter is included. If the common profile flag is 1, the layer set decoding means decodes a common HRD parameter index. The same HRD parameter indicated by the common HRD parameter index is decoded as the HRD parameter of the layer set composed of the key layers.
  • One aspect of the present invention is an image encoding apparatus including a layer set encoding unit, and an inter-layer dependency information encoding unit that encodes inter-layer dependency information, and a layer set is encoded based on the inter-layer dependency information. And a layer set encoding means.
  • One aspect of the present invention is an image decoding apparatus including a layer set decoding unit, wherein the layer set decoding unit includes a first layer set decoding unit that decodes a first layer set, and the first layer set includes: A second layer set decoding means for decoding the second layer set based on the decoded layer set is provided.
  • One embodiment of the present invention is characterized in that the second layer set decoding means decodes an index for referring to at least the first layer set.
  • the second layer set decoding means comprises target layer decoding means for decoding information for identifying one or more target layers from a set of layers
  • the second layer set decoding means Comprises a target layer identified by the target layer decoding means and a second layer set deriving means for deriving a second layer set from the first layer set.
  • One aspect of the present invention is an image encoding device including layer set encoding means, wherein the layer set decoding means includes: first layer set encoding means for decoding a first layer set; A second layer set encoding means for encoding the second layer set based on the layer set encoded by the layer set is provided.
  • One aspect of the present invention is an image decoding apparatus including a layer set decoding unit and a bit rate information decoding unit, wherein the bit rate information decoding unit decodes one or more bit rate information. And a bit rate information index decoding means for decoding an index for identifying bit rate information assigned to the layer set decoded by the layer set decoding means.
  • the maximum value of the bit rate information decoded by the bit rate information set decoding unit is less than the maximum value of the layer set, and the bit rate information index decoding means includes a maximum value of the bit rate information. Only the 2 logarithm bits of the value are decoded from the encoded data, and the index is decoded.
  • One aspect of the present invention is an image encoding device comprising layer set encoding means and bit rate information encoding means, wherein the bit rate information encoding means is a bit for encoding one or more bit rate information.
  • a rate information set encoding unit and a bit rate information index encoding unit that encodes an index for identifying bit rate information to be assigned to a layer set encoded by the layer set decoding unit.
  • One aspect of the present invention decodes the inclusion flag of the non-dependent layer, further decodes the inclusion flag of the direct prediction layer of the layer with the inclusion flag of 1, and sets a layer set composed of the layer with the inclusion flag of 1 It is derived.
  • One form of the present invention decodes the inclusion flag of the independent layer, and further, when the inclusion flag of the independent layer is 1, decodes the inclusion flag of the direct prediction layer of the independent layer, When the content flag of the direct prediction layer is 1, the content flag of the direct prediction layer is decoded. When the content flag of the layer is 1, the operation of decoding the content flag of the direct prediction layer is performed. It continues until there is no direct prediction layer, and a layer set composed of layers whose inclusion flag is 1 is derived.
  • One aspect of the present invention decodes the node inclusion flag with the non-dependent layer as a root node, and when the node direct prediction layer inclusion flag is 1 and the node direct prediction layer exists, Using the direct prediction layer as a node, a node inclusion flag is recursively decoded, and a layer set composed of layers having the inclusion flag of 1 is derived.
  • the inclusion flag is decoded.
  • a layer set composed of layers whose inclusion flag is 1 is derived.
  • One aspect of the present invention is that for each layer indicated by the identifier i, the layer i is a non-dependent layer, or for each layer j indicated by an identifier j less than i, the layer i When the inclusion flag of j is 1 and the layer i is a direct prediction layer of the layer j (when the direct prediction layer flag between the layer j and the layer i is 1), the inclusion flag of the layer i And a layer set composed of layers having the inclusion flag of 1 is derived.
  • One embodiment of the present invention is characterized in that the inclusion flag of the independent layer is encoded, and further, the inclusion flag of the direct prediction layer of the layer having the inclusion flag of 1 is encoded.
  • One aspect of the present invention encodes a node inclusion flag with a non-dependent layer as a root node, and when the node direct prediction layer inclusion flag is 1 and the node direct prediction layer exists, The inclusion flag of the node is recursively encoded using the direct prediction layer as a node.
  • the inclusion flag is encoded. It is characterized by doing.
  • the present invention relates to a hierarchical video decoding device that decodes encoded data in which image data is hierarchically encoded, and a hierarchical video encoding device that generates encoded data in which image data is hierarchically encoded. It can be suitably applied to. Further, the present invention can be suitably applied to the data structure of hierarchically encoded data that is generated by a hierarchical video encoding device and referenced by the hierarchical video decoding device.
  • 2nd layer set decoding part (additional layer set decoding means) 1222E ... Second layer set decoding unit (additional layer set decoding means) 1222F ... 2nd layer set decoding part (additional layer set decoding means) 1222G ... 2nd layer set decoding part (additional layer set decoding means) 123 ... Profile information decoding unit 124 ... Bit rate information decoding unit 1241 ... Bit rate information set decoding unit 1242 ... Bit rate information index decoding unit 13 ... Parameter set management unit 14 ... Picture decoding unit 141 ... Slice header decoding unit 142 ... CTU decoding Unit 1421 ... Prediction residual restoration unit 1422 ... Prediction image generation unit 1423 ...
  • 2nd layer set encoding part (additional layer set encoding means) 2222E ... 2nd layer set encoding part (additional layer set encoding means) 2222F ... 2nd layer set encoding part (additional layer set encoding means) 2222G ... 2nd layer set encoding part (additional layer set encoding means) 223 ... Profile information encoding unit 224 ... Bit rate information encoding unit 2241 ... Bit rate information set encoding unit 2242 ... Bit rate information index encoding unit 24 ... Picture encoding unit 26 ... Encoding parameter determination unit 241 ... Slice header Encoding unit 242 ... CTU encoding unit 2421 ... Prediction residual encoding unit 2422 ... Predicted image encoding unit 2423 ... CTU decoded image generating unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 レイヤ数が多くなるにつれてレイヤセットの定義に用いる符号量が大きくなるという課題がある。また、非特許文献1においては、複数のレイヤセットで同じビットレート情報を送ることができないため、ビットレート情報の符号量が大きくなるという課題がある。本発明は、上記問題に鑑みてされたものであり、その目的は、レイヤセットの符号量を低減する画像復号装置および画像符号化装置、及び、ビットレート情報の符号量を低減する画像復号装置および画像符号化装置を実現することにある。本発明の一態様は、レイヤセット復号手段を備える画像復号装置において、レイヤ間依存情報を復号するレイヤ間依存情報復号手段と、前記レイヤ間依存情報に基づいてレイヤセットを復号するレイヤセット復号手段を備える。

Description

画像復号装置および画像符号化装置
 本発明は、画像が階層的に符号化された階層符号化データを復号する画像復号装置、および画像を階層的に符号化することによって階層符号化データを生成する画像符号化装置に関する。
 通信システムで伝送される情報、あるいは蓄積装置に記録される情報の1つに画像あるいは動画像がある。従来、これらの画像(以降、動画像を含む)の伝送・蓄積のため、画像を符号化する技術が知られている。
 動画像符号化方式としては、AVC(H.264/MPEG-4 Advanced Video Coding)や、その後継コーデックであるHEVC(High-Efficiency Video Coding)が知られている。
 これらの動画像符号化方式では、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測残差(「差分画像」または「残差画像」と呼ぶこともある)が符号化される。 また、画像を階層的に符号化するスケーラブル符号化技術、又は階層符号化技術が提案されている。代表的なスケーラブル符号化方式(階層符号化方式)としてSHVC(Scalable HEVC)、及びMV-HEVC(MultiView HEVC)が知られている。
 SHVCでは、空間スケーラビリティ、時間スケーラビリティ、SNRスケーラビリティをサポートする。例えば空間スケーラビリティの場合、原画像から所望の解像度にダウンサンプリングした画像を下位レイヤとして符号化する。次に上位レイヤではレイヤ間の冗長性を除去するためにレイヤ間予測を行う(非特許文献1)。
 MV-HEVCでは、視点スケーラビリティ(ビュースケーラビリティ)をサポートする。例えば、視点画像0(レイヤ0)、視点画像1(レイヤ1)、視点画像2(レイヤ2)の3つの視点画像を符号化する場合、下位レイヤ(レイヤ0)から、上位レイヤである視点画像1、視点画像2をレイヤ間予測により予測することによりレイヤ間の冗長性の除去が可能である。
 SHVCやMV-HEVCのスケーラブル符号化方式では、レイヤの集合としてレイヤセットが定義され、レイヤセット単位でプロファイルレベル情報や、ビットレート情報を符号化することができる。
JCTVC-O1008_v3 「SHVC Draft 4」, Joint Collaborative Team onVideo 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 (2013年12月07日公開) JCTVC-Q0078 「MV-HEVC/SHVC HLS: On additional layer sets, rewriting of simulcast layers, and profile-tier-level indication for auxiliary picture layers」, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 17th Meeting: Valencia, ES, 27 March - 4 April 2014 (2014年3月18日公開)
 しかしながら、レイヤ数が多い場合では同じような構造のレイヤの集合(レイヤセット)が用いられることが多いと考えられるのにも関わらず、非特許文献1においては、そのようなレイヤセットの定義方法が容易されていないため、レイヤ数が多くなるにつれてレイヤセットの定義に用いる符号量が大きくなるという課題がある。また、非特許文献1においては、複数のレイヤセットで同じビットレート情報を送ることができないため、ビットレート情報の符号量が大きくなるという課題がある。非特許文献2は、非依存レイヤ(独立レイヤ)と非依存レイヤを参照するレイヤの組から追加レイヤセットを定義するが、非依存レイヤを参照するレイヤが参照関係において複数の直接予測レイヤを有する場合には、特定の直接予測レイヤと非依存レイヤのみを含むレイヤセットを導出することができないという課題がある。
 本発明は、上記問題に鑑みてされたものであり、その目的は、レイヤセットの符号量を低減する画像復号装置および画像符号化装置、及び、ビットレート情報の符号量を低減する画像復号装置および画像符号化装置を実現することにある。
 本発明の1つの形態は、レイヤセット復号手段を備える画像復号装置において、符号化データから直接依存性フラグを復号し、レイヤ間に依存関係があるかを示す依存フラグを導出するレイヤ間依存情報復号手段と、前記依存フラグに基づいて、依存関係のあるレイヤを追加することによりレイヤセットを導出するレイヤセット復号手段を備えることを特徴とする。
 本発明の1つの形態は、レイヤセット符号化手段を備える画像符号化装置において、レイヤ間依存情報を符号化するレイヤ間依存情報符号化手段と、レイヤ間依存情報に基づいてレイヤセットを符号化するレイヤセット符号化手段を備えることを特徴とする。
 本発明の1つの形態は、レイヤセット復号手段を備える画像復号装置において、上記、レイヤセット復号手段は、第1のレイヤセットを復号する第1レイヤセット復号手段と、前記第1のレイヤセットが復号したレイヤセットに基づいて第2のレイヤセットを復号する第2レイヤセット復号手段を備えることを特徴とする。
 本発明の1つの形態は、レイヤセット符号化手段を備える画像符号化装置において、上記、レイヤセット復号手段は、第1のレイヤセットを復号する第1レイヤセット符号化手段と、前記第1のレイヤセットが符号化するレイヤセットに基づいて第2のレイヤセットを符号化する第2レイヤセット符号化手段を備えることを特徴とする。
 本発明の1つの形態は、レイヤセット復号手段とビットレート情報復号手段を備える画像復号装置において、上記、ビットレート情報復号手段は、1つ以上のビットレート情報を復号するビットレート情報セット復号部と、上記レイヤセット復号手段が復号したレイヤセットに割り当てるビットレート情報を識別するインデックスを復号するビットレート情報インデックス復号手段を備えることを特徴とする。
 本発明の1つの形態は、レイヤセット符号化手段とビットレート情報符号化手段を備える画像符号化装置において、上記、ビットレート情報符号化手段は、1つ以上のビットレート情報を符号化するビットレート情報セット符号化部と、上記レイヤセット符号化手段が符号化したレイヤセットに割り当てるビットレート情報を識別するインデックスを符号化するビットレート情報インデックス符号化手段を備えることを特徴とする。
 本発明の一態様によれば、レイヤセット復号手段を備える画像復号装置において、レイヤ間依存情報を復号するレイヤ間依存情報復号手段と、前記レイヤ間依存情報に基づいてレイヤセットを復号するレイヤセット復号手段を備えることにより、レイヤセットの定義に必要な符号量を低減することができる。
 本発明の一態様によれば、レイヤセット復号手段を備える画像復号装置において、上記、レイヤセット復号手段は、第1のレイヤセットを復号する第1レイヤセット復号手段と、前記第1のレイヤセットが復号したレイヤセットに基づいて第2のレイヤセットを復号する第2レイヤセット復号手段を備えることにより、レイヤセットの定義に必要な符号量を低減することができる。
 本発明の1つの形態によればレイヤセット復号手段とビットレート情報復号手段を備える画像復号装置において、上記、ビットレート情報復号手段は、1つ以上のビットレート情報を復号するビットレート情報セット復号部と、上記レイヤセット復号手段が復号したレイヤセットに割り当てるビットレート情報を識別するインデックスを復号するビットレート情報インデックス復号手段を備えることにより、ビットレート情報に必要な符号量を低減することができる。
本発明の実施形態に係るキーレイヤから構成されるレイヤセットを説明する図である。 本発明の実施形態に係るキーレイヤとキーレイヤの補完レイヤから構成されるレイヤセットを説明する図である。 本発明の実施形態に係る共通プロファイルを説明する図である。 マルチビュースケーラビリティにおけるレイヤセットの構成例を示す図である。 マルチビュースケーラビリティにおけるレイヤセットの別の構成例を示す図である。 本発明の実施形態に係る第2レイヤセットのシンタックステーブルの一例である。 本発明の実施形態に係る第2レイヤセットのシンタックステーブルの一例である。 本発明の実施形態に係る第2レイヤセットのシンタックステーブルの一例である。 本発明の一実施形態に係る階層符号化データのレイヤ構造を説明するための図であって、(a)は、階層動画像符号化装置側について示しており、(b)は、階層動画像復号装置側について示している。 NALユニットレイヤを構成するデータ構造の例を示す図である。 NALユニットレイヤに含まれるシンタックスの例を示す図である。(a)はNALユニットレイヤを構成するシンタックス例を示し、(b)はNALユニットヘッダのシンタックス例を示す図である。 本発明の実施形態に係るNALユニットタイプの値とNALユニットの種別の関係を示す図である。 アクセスユニットに含まれるNALユニットの構成の一例を示す図である。 本発明の実施形態に係る階層符号化データの構成を説明するための図であって、(a)は、シーケンスSEQを既定するシーケンスレイヤ、(b)は、ピクチャPICTを規定するピクチャレイヤ、(c)は、スライスSを規定するスライスレイヤ、(d)は、スライスデータを規定するスライスデータレイヤ、(e)は、スライスデータに含まれる符号化ツリーユニットを規定する符号化ツリーレイヤ、(f)は、符号化ツリーに含まれる符号化単位(Coding Unit; CU)を規定する符号化ユニットレイヤを示す図である。 参照ピクチャリスト、及び参照ピクチャを説明するための図である。(a)は、参照ピクチャリストの一例を示し、(b)参照ピクチャの一例を示す概念図である。 本発明の実施形態に係るVPSのシンタックステーブルの一例である。 本発明の実施形態に係るVPS拡張のシンタックステーブルの一例である。 本発明の実施形態に係るレイヤ間依存情報のシンタックステーブルの一例である。 本発明の実施形態に係る第1のレイヤセットのシンタックステーブルの一例である。 本発明の実施形態に係るプロファイル情報のシンタックステーブルの一例である。 本発明の実施形態に係るSPSのシンタックステーブルの一例である。 本発明の実施形態に係るPPSのシンタックステーブルの一例である。 本発明の実施形態に係るスライスレイヤのシンタックステーブルの一例である。(a)は、スライスレイヤに含まれるスライスヘッダ、及びスライスデータのシンタックステーブルの一例を示し、(b)は、スライスヘッダのシンタックステーブルの一例を示し、(c)スライスデータのシンタックステーブルの一例を示す。 本実施形態に係る階層動画像復号装置の構成を示す概略図である。 本実施形態に係るピクチャ復号部の構成を示す概略図である。 本実施形態に係るピクチャ復号部の動作を説明するためのフローチャートである。 本発明の一実施形態に係るパラメータセット復号部12の構成を示す概略図である。 本発明の一実施形態に係るレイヤセット復号部122の構成を示す概略図である。 本発明の一実施形態に係るレイヤセット復号部122Eの構成を示す概略図である。 本発明の一実施形態に係るレイヤセット復号部122Eの復号する第2のレイヤセットのシンタックステーブルの一例である。 本発明の一実施形態に係るレイヤセット復号部122Eの復号するレイヤセットを示す図である。 本発明の一実施形態に係るレイヤセット復号部122Fの構成を示す概略図である。 本発明の一実施形態に係るレイヤセット復号部122Fの復号する第2のレイヤセットのシンタックステーブルの一例である。 本発明の一実施形態に係るレイヤセット復号部122Fの復号するレイヤセットを示す図である。 本発明の一実施形態に係るビットレート情報復号部124の構成を示す概略図である。 本発明の実施形態に係るビットレート情報復号部124が復号するビットレート情報のシンタックステーブルの一例である。 本実施形態に係る階層動画像符号化装置の構成を示す概略図である。 本実施形態に係るピクチャ符号化部の構成を示す概略図である。 本実施形態に係るピクチャ符号化部の動作を説明するためのフローチャートである。 本発明の一実施形態に係るパラメータセット符号化部22の構成を示す概略図である。 本発明の一実施形態に係るレイヤセット符号化部222の構成を示す概略図である。 本発明の一実施形態に係るレイヤセット符号化部222Eの構成を示す概略図である。 本発明の一実施形態に係るレイヤセット符号化部222Fの構成を示す概略図である。 本発明の一実施形態に係るビットレート情報符号化部224の構成を示す概略図である。 上記階層動画像符号化装置を搭載した送信装置、および、上記階層動画像復号装置を搭載した受信装置の構成について示した図である。(a)は、階層動画像符号化装置を搭載した送信装置を示しており、(b)は、階層動画像復号装置を搭載した受信装置を示している。 上記階層動画像符号化装置を搭載した記録装置、および、上記階層動画像復号装置を搭載した再生装置の構成について示した図である。(a)は、階層動画像符号化装置を搭載した記録装置を示しており、(b)は、階層動画像復号装置を搭載した再生装置を示している。 本発明の実施形態に係るプロファイル情報のシンタックステーブルの一例である。 本発明の実施形態に係るHRDパラメータのシンタックステーブルの一例である。 本発明の実施形態に係る第2レイヤセットのシンタックステーブルの一例である。 本発明の一実施形態に係るレイヤセット復号部122Gの構成を示す概略図である。 本発明の一実施形態に係るレイヤセット符号化部222Gの構成を示す概略図である。 本発明の一実施形態に係る第2レイヤセット復号部1222Gの復号するレイヤセットを示す図である。 本発明の実施形態に係る第2レイヤセット復号部1222Gの復号する第2レイヤセットのシンタックステーブルの一例である。 本発明の実施形態に係る第2レイヤセット復号部1222Gの復号する第2レイヤセットの構成を示す図である。 本発明の実施形態に係る第2レイヤセット復号部1222Gの変形例の復号する第2レイヤセットのシンタックステーブルの一例である。 本発明の実施形態に係る第2レイヤセット復号部1222Gの変形例の復号する第2レイヤセットの構成を示す図である。
 図1~図49に基づいて、本発明の一実施形態に係る階層動画像復号装置1および階層動画像符号化装置2を説明すれば以下のとおりである。
 〔概要〕
 本実施の形態に係る階層動画像復号装置(画像復号装置)1は、階層動画像符号化装置(画像符号化装置)2によって階層符号化された符号化データを復号する。階層符号化とは、動画像を低品質のものから高品質のものにかけて階層的に符号化する符号化方式のことである。階層符号化は、例えば、SVCやSHVCにおいて標準化されている。なお、ここでいう動画像の品質とは、主観的および客観的な動画像の見栄えに影響する要素のことを広く意味する。動画像の品質には、例えば、“解像度”、“フレームレート”、“画質”、および、“画素の表現精度”が含まれる。よって、以下、動画像の品質が異なるといえば、例示的には、“解像度”等が異なることを指すが、これに限られない。例えば、異なる量子化ステップで量子化された動画像の場合(すなわち、異なる符号化雑音により符号化された動画像の場合)も互いに動画像の品質が異なるといえる。
 また、階層符号化技術は、階層化される情報の種類の観点から、(1)空間スケーラビリティ、(2)時間スケーラビリティ、(3)SNR(Signal to Noise Ratio)スケーラビリティ、および(4)ビュースケーラビリティに分類されることもある。空間スケーラビリティとは、解像度や画像のサイズにおいて階層化する技術である。時間スケーラビリティとは、フレームレート(単位時間のフレーム数)において階層化する技術である。SNRスケーラビリティは、符号化雑音において階層化する技術である。また、ビュースケーラビリティは、各画像に対応付けられた視点位置において階層化する技術である。
 本実施形態に係る階層動画像符号化装置2及び階層動画像復号装置1の詳細な説明に先立って、まず(1)階層動画像符号化装置2によって生成され、階層動画像復号装置1によって復号される階層符号化データのレイヤ構造を説明し、次いで(2)各レイヤで採用できるデータ構造の具体例について説明を行う。
 〔階層符号化データのレイヤ構造〕
 ここで、図9を用いて、階層符号化データの符号化および復号について説明すると次のとおりである。図9は、動画像を、下位階層L3、中位階層L2、および上位階層L1の3階層により階層的に符号化/復号する場合について模式的に表わす図である。つまり、図9(a)および(b)に示す例では、3階層のうち、上位階層L1が最上位層となり、下位階層L3が最下位層となる。
 以下において、階層符号化データから復号され得る特定の品質に対応する復号画像は、特定の階層の復号画像(または、特定の階層に対応する復号画像)と称される(例えば、上位階層L1の復号画像POUT#A)。
 図9(a)は、入力画像PIN#A~PIN#Cをそれぞれ階層的に符号化して符号化データDATA#A~DATA#Cを生成する階層動画像符号化装置2#A~2#Cを示している。図9(b)は、階層的に符号化された符号化データDATA#A~DATA#Cをそれぞれ復号して復号画像POUT#A~POUT#Cを生成する階層動画像復号装置1#A~1#Cを示している。
 まず、図9(a)を用いて、符号化装置側について説明する。符号化装置側の入力となる入力画像PIN#A、PIN#B、およびPIN#Cは、原画は同じだが、画像の品質(解像度、フレームレート、および画質等)が異なる。画像の品質は、入力画像PIN#A、PIN#B、およびPIN#Cの順に低くなる。
 下位階層L3の階層動画像符号化装置2#Cは、下位階層L3の入力画像PIN#Cを符号化して下位階層L3の符号化データDATA#Cを生成する。下位階層L3の復号画像POUT#Cを復号するのに必要な基本情報が含まれる(図9において“C”にて示している)。下位階層L3は、最下層の階層であるため、下位階層L3の符号化データDATA#Cは、基本符号化データとも称される。
 また、中位階層L2の階層動画像符号化装置2#Bは、中位階層L2の入力画像PIN#Bを、下位階層の符号化データDATA#Cを参照しながら符号化して中位階層L2の符号化データDATA#Bを生成する。中位階層L2の符号化データDATA#Bには、符号化データDATA#Cに含まれる基本情報“C”に加えて、中位階層の復号画像POUT#Bを復号するのに必要な付加的情報(図9において“B”にて示している)が含まれる。
 また、上位階層L1の階層動画像符号化装置2#Aは、上位階層L1の入力画像PIN#Aを、中位階層L2の符号化データDATA#Bを参照しながら符号化して上位階層L1の符号化データDATA#Aを生成する。上位階層L1の符号化データDATA#Aには、下位階層L3の復号画像POUT#Cを復号するのに必要な基本情報“C”および中位階層L2の復号画像POUT#Bを復号するのに必要な付加的情報“B”に加えて、上位階層の復号画像POUT#Aを復号するのに必要な付加的情報(図9において“A”にて示している)が含まれる。
 このように上位階層L1の符号化データDATA#Aは、異なる複数の品質の復号画像に関する情報を含む。
 次に、図9(b)を参照しながら復号装置側について説明する。復号装置側では、上位階層L1、中位階層L2、および下位階層L3それぞれの階層に応じた復号装置1#A、1#B、および1#Cが、符号化データDATA#A、DATA#B、およびDATA#Cを復号して復号画像POUT#A、POUT#B、およびPOUT#Cを出力する。
 なお、上位の階層符号化データの一部の情報を抽出(ビットストリーム抽出とも呼ぶ)して、より下位の特定の復号装置において、当該抽出した情報を復号することで特定の品質の動画像を再生することもできる。
 例えば、中位階層L2の階層復号装置1#Bは、上位階層L1の階層符号化データDATA#Aから、復号画像POUT#Bを復号するのに必要な情報(すなわち、階層符号化データDATA#Aに含まれる“B”および“C”)を抽出して、復号画像POUT#Bを復号してもよい。言い換えれば、復号装置側では、上位階層L1の階層符号化データDATA#Aに含まれる情報に基づいて、復号画像POUT#A、POUT#B、およびPOUT#Cを復号できる。
 なお、以上の3階層の階層符号化データに限られず、階層符号化データは、2階層で階層符号化されていてもよいし、3階層よりも多い階層数にて階層符号化されていてもよい。
 また、特定の階層の復号画像に関する符号化データの一部または全部を他の階層とは独立して符号化し、特定の階層の復号の際に、他の階層の情報を参照しなくても済むように階層符号化データを構成してもよい。例えば、図9(a)および(b)を用いて上述した例では、復号画像POUT#Bの復号に“C”および“B”を参照すると説明したが、これに限られない。復号画像POUT#Bが“B”だけを用いて復号できるように階層符号化データを構成することも可能である。例えば、復号画像POUT#Bの復号に、“B”だけから構成される階層符号化データと、復号画像POUT#Cを入力とする階層動画像復号装置も構成できる。
 なお、SNRスケーラビリティを実現する場合、入力画像PIN#A、PIN#B、およびPIN#Cとして同一の原画を用いた上で、復号画像POUT#A、POUT#B、およびPOUT#Cが異なる画質となるよう階層符号化データを生成することもできる。その場合、下位階層の階層動画像符号化装置が、上位階層の階層動画像符号化装置に較べて、より大きい量子化幅を用いて予測残差を量子化することで階層符号化データを生成する。
 本書では、説明の便宜上、次のとおり用語を定義する。以下の用語は、特に断りがなければ、下記の技術的事項のことを表わすのに用いる。
 VCL NALユニット : VCL(Video Coding Layer、ビデオ符号化レイヤ) NALユニットとは、動画像(映像信号)の符号化データを含むNALユニットである。例えば、VCL NALユニットには、スライスデータ(CTUの符号化データ)、及び当該スライスの復号を通じて共通で利用されるヘッダ情報(スライスヘッダ)が含まれる。
 non-VCL NALユニット : non-VCL(non-Video Coding Layer、非ビデオ符号化レイヤ、非VCL) NALユニットとは、ビデオパラメータセットVPS、シーケンスパラメータセットSPS、ピクチャパラメータセットPPS等の各シーケンスやピクチャを復号する時に利用される符号化パラメータの集合であるヘッダ情報等の符号化データを含むNALユニットである。
 レイヤ識別子 : レイヤ識別子(レイヤIDとも称する)は、階層(レイヤ)を識別するためのものであり、階層と1対1に対応する。階層符号化データには特定の階層の復号画像の復号に必要な部分符号化データを選択するために用いられる識別子が含まれる。特定のレイヤに対応するレイヤ識別子に関連付けられた階層符号化データの部分集合は、レイヤ表現とも呼称される。
 一般に、特定の階層の復号画像の復号には、当該階層のレイヤ表現、および/または、当該階層の下位レイヤに対応するレイヤ表現が用いられる。すなわち、対象レイヤの復号画像の復号においては、対象レイヤのレイヤ表現、および/または、対象レイヤの下位レイヤに含まれる1つ以上階層のレイヤ表現が用いられる。
 レイヤ : 特定の階層(レイヤ)のレイヤ識別子の値(nuh_layer_id, nuhLayerId)をもつVCL NAL UNIT及びそのVCL NALユニットに関連付けられたnon-VCL NAL UNITの集合、あるいは、階層的な関係をもつシンタックス構造の集合の一つである。
 上位レイヤ : ある階層よりも上位に位置する階層のことを、上位レイヤと称する。例えば、図9において、下位階層L3の上位レイヤは、中位階層L2および上位階層L1である。また、上位レイヤの復号画像とは、より品質の高い(例えば、解像度が高い、フレームレートが高い、画質が高い等)復号画像のことをいう。
 下位レイヤ : ある階層よりも下位に位置する階層のことを、下位レイヤと称する。例えば、図9において、上位階層L1の下位レイヤは、中位階層L2および下位階層L3である。また、下位レイヤの復号画像とは、より品質の低い復号画像のことをいう。
 対象レイヤ : 復号または符号化の対象となっている階層のことをいう。なお、対象レイヤに対応する復号画像を対象レイヤピクチャと呼ぶ。また、対象レイヤピクチャを構成する画素を対象レイヤ画素と呼ぶ。
 参照レイヤ : 対象レイヤに対応する復号画像を復号するのに参照される特定の下位レイヤのことを参照レイヤと称する。なお、参照レイヤに対応する復号画像を参照レイヤピクチャと呼ぶ。また、参照レイヤを構成する画素を参照レイヤ画素と呼ぶ。
 図9(a)および(b)に示した例では、上位階層L1の参照レイヤは、中位階層L2および下位階層L3である。しかしながら、これに限られず、特定の上記レイヤの復号において、下位レイヤのすべてを参照しなくてもよいように階層符号化データを構成することもできる。例えば、上位階層L1の参照レイヤが、中位階層L2および下位階層L3のいずれか一方となるように階層符号化データを構成することも可能である。また、参照レイヤは、対象レイヤの復号に用いられる符号化パラメータ等を予測する際に利用(参照)される、対象レイヤとは異なるレイヤであるとも表現できる。対象レイヤのレイヤ間予測で直接、参照される参照レイヤを直接予測レイヤ(direct predicted layer)とも呼ばれる。また、対象レイヤの直接参照レイヤAのレイヤ間予測で参照される直接参照レイヤBは、対象レイヤの間接予測レイヤとも呼ばれる(indirect predicted layer)。逆に、レイヤAがレイヤBの直接参照レイヤ(direct reference layer)であるとは、レイヤAがレイヤBから直接参照されることを意味する。レイヤiがレイヤjの直接参照レイヤである場合にはdirect_dependency_flag[i][j]=1となる。
 基本レイヤ(base layer) : 最下層に位置する階層のことを基本レイヤと称する。基本レイヤの復号画像は、符号化データから復号され得るもっとも低い品質の復号画像であり、基本復号画像と呼称される。別の言い方をすれば、基本復号画像は、最下層の階層に対応する復号画像のことである。基本復号画像の復号に必要な階層符号化データの部分符号化データは基本符号化データと呼称される。例えば、上位階層L1の階層符号化データDATA#Aに含まれる基本情報“C”が基本符号化データである。また、基本レイヤは、少なくとも、同一のレイヤ識別子を有し、かつそのレイヤ識別子(nuh_layer_id)の値は0である、1又は複数のVCL NALユニットからなるレイヤである。
 拡張レイヤ(non-base layer) : 基本レイヤの上位レイヤは、拡張レイヤと称される。また、拡張レイヤは、少なくとも、同一のレイヤ識別子を有し、そのレイヤ識別子(nuh_layer_id)の値が0より大きい、1又は複数のVCL NALユニットからなるレイヤである。
 レイヤ間予測 : レイヤ間予測とは、対象レイヤのレイヤ表現と異なる階層(参照レイヤ)のレイヤ表現に含まれるシンタックス要素値、シンタックス要素値より導出される値、および復号画像に基づいて、対象レイヤのシンタックス要素値や対象レイヤの復号に用いられる符号化パラメータ等を予測することである。動き予測に関する情報を参照レイヤの情報から予測するレイヤ間予測のことをレイヤ間動き情報予測と称することもある。また、下位レイヤの復号画像から予測するレイヤ間予測のことをレイヤ間画像予測(あるいはレイヤ間テクスチャ予測)と称することもある。なお、レイヤ間予測に用いられる階層は、例示的には、対象レイヤの下位レイヤである。また、参照レイヤを用いず対象レイヤ内で予測を行うことをレイヤ内予測と称することもある。
 テンポラル識別子: テンポラル識別子(テンポラルID、時間識別子、サブレイヤID、あるいはサブレイヤ識別子ともいう)は、時間スケーラビリティに関するレイヤ(以降、サブレイヤ)を識別するための識別子である。テンポラル識別子は、サブレイヤを識別するためのものであり、サブレイヤと1対1に対応する。符号化データには特定のサブレイヤの復号画像の復号に必要な部分符号化データを選択するために用いられるテンポラル識別子が含まれる。特に、最高次(最上位)のサブレイヤのテンポラル識別子を最高次(最上位)テンポラル識別子(highest TemporalId, highestTid)と称する。
 サブレイヤ: サブレイヤとは、テンポラル識別子により特定される時間スケーラビリティに関するレイヤである。空間スケーラビリティ、SNRスケーラビリティ等、そのほかのスケーラビリティと区別するため、以降サブレイヤと称する(テンポラルレイヤとも称する)。また、以降では、時間スケーラビリティは、基本レイヤの符号化データ、またはあるレイヤを復号するために必要な階層符号化データ、に含まれるサブレイヤによって実現されるものとする。
 レイヤセット: レイヤセットとは、1以上のレイヤからなるレイヤの集合である。
 なお、以上の用語は、飽くまで説明の便宜上のものであり、上記の技術的事項を別の用語にて表現してもかまわない。
 〔階層符号化データのデータ構造について〕
 以下、各階層の符号化データを生成する符号化方式として、HEVCおよびその拡張方式を用いる場合について例示する。しかしながら、これに限られず、各階層の符号化データを、MPEG-2や、H.264/AVCなどの符号化方式により生成してもよい。
 また、下位レイヤと上位レイヤとが異なる符号化方式によって符号化されていてもよい。また、各階層の符号化データは、互いに異なる伝送路を介して階層動画像復号装置1に供給されてもよいし、同一の伝送路を介して階層動画像復号装置1に供給されてもよい。
 例えば、超高精細映像(動画像、4K映像データ)を基本レイヤおよび1つの拡張レイヤによりスケーラブル符号化して伝送する場合、基本レイヤは、4K映像データをダウンスケーリングし、インタレース化した映像データをMPEG-2またはH.264/AVCにより符号化してテレビ放送網で伝送し、拡張レイヤは、4K映像(プログレッシブ)をHEVCにより符号化して、インターネットで伝送してもよい。
 <階層符号化データDATAの構造>
 本実施形態に係る画像符号化装置2および画像復号装置1の詳細な説明に先立って、画像符号化装置2によって生成され、画像復号装置1によって復号される階層符号化データDATAのデータ構造について説明する。
  (NALユニットレイヤ)
 図10は、階層符号化データDATAにおけるデータの階層構造を示す図である。階層符号化データDATAは、NAL(Network Abstraction Layer)ユニットと呼ばれる単位で符号化される。
 NALは、動画像符号化処理を行う層であるVCL(Video Coding Layer)と、符号化データを伝送・蓄積する下位システムとの間における通信を抽象化するために設けられる層である。
 VCLは、画像符号化処理を行う層のことであり、VCLにおいて符号化が行われる。一方、ここでいう、下位システムは、H.264/AVCおよびHEVCのファイルフォーマットや、MPEG-2システムに対応する。以下に示す例では、下位システムは、対象レイヤおよび参照レイヤにおける復号処理に対応する。なお、NALでは、VCLで生成されたビットストリームが、NALユニットという単位で区切られて、宛先となる下位システムへ伝送される。
 図11(a)は、NALユニットのシンタックステーブルを示す。NALユニットには、VCLで符号化された符号化データ、および、当該符号化データが宛先の下位システムに適切に届けられるためのヘッダ(NALユニットヘッダ:nal_unit_header())が含まれる。NALユニットヘッダは、例えば、図11(b)に示すシンタックスで表わされる。NALユニットヘッダには、NALユニットに格納された符号化データの種類を表わす“nal_unit_type”、格納された符号化データが属するサブレイヤの識別子(テンポラル識別子)を表わす”nuh_temporal_id_plus1”や、格納された符号化データが属するレイヤの識別子(レイヤ識別子)を表わす”nuh_layer_id”(または、nuh_reserved_zero_6bits)が記述されている。一方、NALユニットデータには、後述のパラメータセット、SEI、スライスなどが含まれる。
 図12は、NALユニットタイプの値とNALユニットの種別の関係を示す図である。図12に示す通り、SYNA101で示される0から15の値のNALユニットタイプを持つNALユニットは、非RAP (ランダムアクセスピクチャ)のスライスである。SYNA102で示される16から21の値の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多重化されて階層動画像復号装置1に伝送される。
 図12、特にNAL Unit Type Classで示されるように、各NALユニットは、NALユニットタイプに応じて、ピクチャを構成するデータ(VCLデータ)と、それ以外のデータ(non-VCL)に分類される。ピクチャは、ランダムアクセスピクチャ、リーディングピクチャ、トレイリングピクチャなどのピクチャ種別によらず、全てVCL NALユニットに分類され、ピクチャの復号に必要なデータであるパラメータセットや、ピクチャの補助情報であるSEI、シーケンスの区切りを表わすアクセスユニットデリミタ(AUD)、エンドオブシーケンス(EOS)、エンドオブビットストリーム(EOB)などは、non-VCL NALユニットに分類される。
  (アクセスユニット)
 特定の分類ルールにより集約されたNALユニットの集合のことをアクセスユニットと呼ぶ。レイヤ数が1の場合には、アクセスユニットは1ピクチャを構成するNALユニットの集合である。レイヤ数が1より大きい場合には、アクセスユニットは同じ時刻の複数のレイヤのピクチャを構成するNALユニットの集合である。なお、アクセスユニットの区切りを示すために、符号化データはアクセスユニットデリミタ(AUD:Access unit delimiter)と呼ばれるNALユニットを含んでも良い。アクセスユニットデリミタは、符号化データ中にあるアクセスユニットを構成するNALユニットの集合と、別のアクセスユニットを構成するNALユニットの集合の間に含まれる。
 図13は、アクセスユニットに含まれるNALユニットの構成の一例を示す図である。図13に示すように、AUには、AUの先頭であることを示すアクセスユニットデリミタ(AUD)、各種パラメータセット(VPS, SPS, PPS)、各種SEI(Prefix SEI, Suffix SEI)、レイヤ数が1の場合は1ピクチャを構成するVCL(slice)、レイヤ数が1より大きい場合はレイヤ数分のピクチャを構成するVCL、シーケンスの終端を示すEOS(End of Sequence)、ビットストリームの終端を示すEOB(End of Bitstream)等のNALユニットから構成される。なお、図13において、VPS, SPS, SEI, VCLの後の符号L#K(K=Nmin…Nmax)は、レイヤID(あるいは、VPS上でのレイヤの順番を示すインデクス)を表わす。図13の例では、AU内に、VPSを除き、各レイヤL#Nmin~レイヤL#NmaxのSPS, PPS, SEI, VCLが、レイヤID(あるいは、VPS上でのレイヤの順番を示すインデクス)の昇順で存在する。図13の例では、VPSは、最低次のレイヤIDでのみ送られる。なお、図13において、特定NALユニットがAU内に存在するか、または繰り返し存在するかを、矢印によって示している。
 例えば、特定のNALユニットがAU内に存在すれば、そのNALユニットを通過する矢印で示し、特定のNALユニットがAU内に存在しなければ、そのNALユニットをスキップする矢印で示している。例えば、AUDを通らずに、VPSへ向かう矢印は、AUDがAU内に存在しない場合を示す。また、VCLを通過してから再びVCLへ戻る矢印は、1以上のVCLが存在する場合を示す。
 また、最低次以外の上位のレイヤIDを有するVPSがAU内に含まれてもよいが、画像復号装置は、最低次以外のレイヤIDを有するVPSを無視するものとする。また、各種パラメータセット(VPS,SPS,PPS)や補助情報であるSEIは、図13のように、アクセスユニットの一部として含まれてもよいし、ビットストリームとは別の手段でデコーダに伝達されてもよい。なお、図13は、アクセスユニットに含まれるNALユニットの構成の一実施形態に過ぎず、アクセスユニットに含まれるNALユニットの構成は、ビットストリームを復号することが可能な範囲で変更が可能である。
 特に、レイヤ識別子nuhLayerId=0のIRAPピクチャを含むるアクセスユニットを、IRAPアクセスユニット(ランダムアクセスポイント・アクセスユニット)と呼ぶ。また、復号対象レイヤセットに含まれる全レイヤの復号処理の初期化を実施するIRAPアクセスユニットを初期化IRAPアクセスユニットと呼ぶ。また、復号順で、初期化IRAPアクセスユニットから、0以上の非初期化IRAPアクセスユニット(初期化IRAPアクセスユニット以外のアクセスユニット)が続き、次の初期化IRAPアクセスユニットまでのアクセスユニットの集合(ただし、次の初期化IRAPアクセスユニットは除く)を、CVS(Coded Video Sequence;符号化ビデオシーケンス、以降ではシーケンスSEQを含む)とも称する。
 図14は、階層符号化データDATAにおけるデータの階層構造を示す図である。階層符号化データDATAは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図14の(a)~(f)は、それぞれ、シーケンスSEQを既定するシーケンスレイヤ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、スライスデータを規定するスライスデータレイヤ、スライスデータに含まれる符号化ツリーユニットを規定する符号化ツリーレイヤ、符号化ツリーに含まれる符号化単位(Coding Unit;CU)を規定する符号化ユニットレイヤを示す図である。
  (シーケンスレイヤ)
 シーケンスレイヤでは、処理対象のシーケンスSEQ(以下、対象シーケンスとも称する)を復号するために画像復号装置1が参照するデータの集合が規定されている。シーケンスSEQは、図14の(a)に示すように、ビデオパラメータセット(Video Parameter Set)シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。ここで#の後に示される値はレイヤIDを示す。図14では、#0と#1すなわちレイヤIDが0とレイヤIDが1の符号化データが存在する例を示すが、レイヤの種類およびレイヤの数はこれに限定されない。
  (ピクチャレイヤ)
 ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、図14の(b)に示すように、スライスS0~SNS-1を含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
  (スライスレイヤ)
 スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。スライスSは、図14の(c)に示すように、スライスヘッダSH、および、スライスデータSDATAを含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために階層動画像復号装置1が参照する符号化パラメータ群が含まれる。例えば、対象スライスを復号するために参照する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)により指定される。
 また、スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、または、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるBスライスなどが挙げられる。
  (スライスデータレイヤ)
 スライスデータレイヤでは、処理対象のスライスデータSDATAを復号するために階層動画像復号装置1が参照するデータの集合が規定されている。スライスデータSDATAは、図14の(d)に示すように、符号化ツリーブロック(CTB:Coded Tree Block)を含んでいる。CTB、スライスを構成する固定サイズ(例えば64×64)のブロックであり、最大符号化単位(LCU:Largest Cording Unit)と呼ぶこともある。
  (符号化ツリーレイヤ)
 符号化ツリーレイヤは、図14の(e)に示すように、処理対象の符号化ツリーブロックを復号するために階層動画像復号装置1が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な4分木分割により分割される。再帰的な4分木分割により得られる木構造のノードのことを符号化ツリー(coding tree)と称する。4分木の中間ノードは、符号化ツリーユニット(CTU:Coded Tree Unit)であり、符号化ツリーブロック自身も最上位のCTUとして規定される。CTUは、分割フラグ(split_flag)を含み、split_flagが1の場合には、4つの符号化ツリーユニットCTUに分割される。split_flagが0の場合には、符号化ツリーユニットCTUは4つの符号化ユニット(CU:Coded Unit)に分割される。符号化ユニットCUは符号化ツリーレイヤの末端ノードであり、このレイヤではこれ以上分割されない。符号化ユニットCUは、符号化処理の基本的な単位となる。
 なお、符号化ツリーユニットより復号される対象ピクチャ上の部分領域を符号化ツリーブロック(CTB: Coding Tree block)と呼ぶ。対象ピクチャの輝度成分である輝度ピクチャに対応するCTBは輝度CTBと呼ばれる。換言すると、CTUから復号される輝度ピクチャ上の部分領域は輝度CTBと呼ばれる。一方、CTUから復号される色差ピクチャに対応する部分領域は色差CTBと呼ばれる。一般に、画像の色フォーマットが決まっていれば、輝度CTBサイズと色差CTBサイズは相互に変換可能である。例えば、色フォーマットが4:2:2の場合は、色差CTBサイズは輝度CTBサイズの各半分である。以下の記載では、特に断りがなければ、CTBサイズとは輝度CTBサイズを意味する。また、CTUサイズは、CTUに対応する輝度CTBサイズである。
  (符号化ユニットレイヤ)
 符号化ユニットレイヤは、図14の(f)に示すように、処理対象の符号化ユニットを復号するために階層動画像復号装置1が参照するデータの集合が規定されている。具体的には、符号化ユニット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が1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ユニットCUを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。なお、CUに含まれる変換ツリーに関する情報、及び変換ツリーに包含される情報を、TT情報と呼ぶ。
 変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な4分木分割によるものがある。変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(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サイズが、64×64の場合、分割により得られる各変換ブロックは、32×32画素から4×4画素までのサイズをとり得る。
 各量子化予測残差QDは、階層動画像符号化装置2が以下の処理1~3を、処理対象の変換ブロックである対象ブロックに施すことによって生成した符号化データである。
 処理1:符号化対象画像から予測画像を減算した予測残差を周波数変換(例えば、DCT変換(Discrete Cosine Transform)およびDST変換(Discrete Sine Transform)等)する;
 処理2:処理1にて得られた変換係数を量子化する;
 処理3:処理2にて量子化された変換係数を可変長符号化する;
 なお、上述した量子化パラメータqpは、階層動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表わす(QP=2qp/6)。
  (予測ツリー)
 予測ツリー(以下、PTと略称する)は、符号化ユニットCUが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ユニットCUを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。なお、CUに含まれる予測ツリーに関する情報、及び予測ツリーに包含される情報を、PT情報と呼ぶ。
 予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU)とも称する。
 予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
 イントラ予測の場合、分割方法は、2N×2N(符号化ユニットと同一サイズ)と、N×Nとがある。
 また、インター予測の場合、分割方法は、符号化データのpart_modeにより符号化され、2N×2N(符号化ユニットと同一サイズ)、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、および、N×Nなどがある。
  (予測パラメータ)
 予測ユニットの予測画像は、予測ユニットに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータ、もしくはインター予測の予測パラメータがある。イントラ予測パラメータは、各イントラPUについてのイントラ予測(予測モード)を復元するためのパラメータである。予測モードを復元するためのパラメータには、MPM(Most Probable Mode、以下同様)に関するフラグであるmpm_flag、MPMを選択するためのインデクスであるmpm_idx、及び、MPM以外の予測モードを指定するためのインデクスであるrem_idxが含まれる。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、ベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0参照リスト、L1参照リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。2つの参照ピクチャリストが用いられる場合、つまり、predFlagL0=1, predFlagL1=1の場合が、双予測に対応し、1つの参照ピクチャリストを用いる場合、すなわち(predFlagL0, predFlagL1) = (1, 0)もしくは(predFlagL0, predFlagL1) = (0, 1)の場合が単予測に対応する。
  (参照ピクチャリストおよび参照ピクチャ)
 次に、参照ピクチャリストの一例について説明する。参照ピクチャリストとは、復号ピクチャバッファに記憶された参照ピクチャからなる列である。図15 (a)は、参照ピクチャリストの一例を示す概念図である。参照ピクチャリストRPL0において、左右に一列に配列された5個の長方形は、それぞれ参照ピクチャを示す。左端から右へ順に示されている符号P1、P2、Q0、P3、P4は、それぞれの参照ピクチャを示す符号である。同様に、参照ピクチャリストRPL1において、左端から右へ順に示されている符号P4、P3、R0、P2、P1は、それぞれの参照ピクチャを示す符号である。P1等のPとは、対象レイヤPを示し、そしてQ0のQとは、対象レイヤPとは異なるレイヤQを示す。同様に、R0のRとは、対象レイヤP、及びレイヤQとは異なるレイヤRを示す。P、Q及びRの添字は、ピクチャ順序番号POC(Picture Ordering Count)を示す。refIdxL0の真下の下向きの矢印は、参照ピクチャインデックスrefIdxL0が、復号ピクチャバッファにおいて、参照ピクチャリストRPL0より参照ピクチャQ0を参照するインデックスであることを示す。同様に、refIdxL1の真下の下向きの矢印は、参照ピクチャインデックスrefIdxL1が、復号ピクチャバッファにおいて、参照ピクチャリストRPL1より参照ピクチャP3を参照するインデックスであることを示す。
 次に、参照ピクチャの例について説明する。図15 (b)は、参照ピクチャの例を示す概念図である。図において、横軸は表示時刻を示し、縦軸はレイヤ数を示す。図示されている、縦3行、横3列(計9個)の長方形は、それぞれピクチャを示す。9個の長方形のうち、下行の左から2列目の長方形は復号対象のピクチャ(対象ピクチャ)を示し、残りの8個の長方形がそれぞれ参照ピクチャを示す。対象ピクチャから下向きの矢印で示される参照ピクチャQ2、及びR2は対象ピクチャと同じ表示時刻であってレイヤが異なるピクチャである。
   (ビデオパラメータセット)
 図16は、ビデオパラメータセット(VPS)のシンタックステーブルの一例である。ビデオパラメータセットVPSでは、1以上のレイヤから構成される符号化データを復号するために画像復号装置1が参照する符号化パラメータの集合が規定されている。例えば、後述のシーケンスパラメータセットや他のシンタックス要素が参照するVPSを識別するために用いるVPS識別子(video_parameter_set_id)や、符号化データに含まれるレイヤ数(vps_max_layers_minus1)、レイヤに含まれるサブレイヤ数(vps_sub_layers_minus1)、符号化データ中で表現される1以上のレイヤからなるレイヤの集合を規定するレイヤセット情報レイヤ間の依存関係(直接依存フラグdirect_dependency_flag[i][j]、レイヤ依存タイプdirect_dependency_type[i][j])、プロファイルレベル情報、ビットレート情報などが規定されている。
 レイヤセット情報は、レイヤセットの数(vps_num_layer_sets_minus1)、レイヤセットを構成するレイヤの集合を規定するレイヤセット構成情報(layer_id_included_flag[i][j])などから構成される。
 図17は、VPS拡張のシンタックステーブルの一例である。VPS拡張は、VPSの終端に含まれるデータであり、スケーラブル符号化において主に用いられる。
   (シーケンスパラメータセット)
 図21は、シーケンスパラメータセット(SPS)のシンタックステーブルの一例である。シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置1が参照する符号化パラメータの集合が規定されている。例えば、対象SPSが参照するアクティブVPSを表わすアクティブVPS識別子(sps_video_parameter_set_id)、後述のピクチャパラメータセットや他のシンタックス要素が参照するSPSを識別するために用いるSPS識別子(sps_seq_parameter_set_id)や、ピクチャの幅や高さが規定される。SPSは符号化データ内に複数存在してもよい。
   (ピクチャパラメータセット)
 図22は、ピクチャパラメータセット(PPS)のシンタックステーブルの一例である。ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置1が参照する符号化パラメータの集合が規定されている。例えば、対象PPSが参照するアクティブSPSを表わすアクティブSPS識別子(pps_seq_parameter_set_id)、後述のスライスヘッダや他のシンタックス要素が参照するPPSを識別するために用いるPPS識別子(pps_pic_parameter_set_id)や、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)、スケーリングリスト(量子化マトリックス)が含まれる。なお、PPSは複数存在してもよい。
 〔階層動画像復号装置〕
 以下では、本実施形態に係る階層動画像復号装置1の構成について、図24~図27を参照して説明する。
  (階層動画像復号装置の構成)
 本実施形態に係る階層動画像復号装置1の構成について説明する。図24は、本実施形態に係る階層動画復号装置1の構成を示す概略図である。階層動画像復号装置1は、外部より供給される階層符号化データDATAに含まれる復号対象とする対象レイヤセットLayerSetTargetのレイヤIDリストLayerIdListTarget、及び復号対象とするレイヤに付随する最高次のサブレイヤを指定する対象最高次テンポラル識別子HighestTidTargetに基づいて、階層動画像符号化装置2から供給される階層符号化データDATAを復号して、対象レイヤセットに含まれる各レイヤの復号画像POUT#Tを生成する。すなわち、階層動画像復号装置1は、対象レイヤセットLayerSetTargetのレイヤIDリストの要素LayerIdListTarget[0]…LayerIdListTarget[N-1](Nは対象レイヤセットに含まれるレイヤ数)の順で、各レイヤのピクチャの符号化データを復号し、その復号画像(復号ピクチャ)を生成する。
 図24に示すように階層動画像復号装置1は、NAL逆多重化部11、及び対象レイヤセットピクチャ復号部10を含んで構成される。さらに、対象レイヤセットピクチャ復号部10は、パラメータセット復号部12、パラメータセット管理部13、ピクチャ復号部14、および復号ピクチャ管理部15を含んで構成される。また、NAL逆多重化部11は、さらにビットストリーム抽出部17を備える。
 階層符号化データDATAには、VCLにより生成されたNALの他に、パラメータセット(VPS、SPS、PPS)やSEI等を含むNALが含まれる。それらのNALはVCL NALに対して非VCL NAL(non-VCL)と呼ばれる。
 NAL逆多重化部11の備えるビットストリーム抽出部17は、概略的には、外部より供給される対象レイヤセットLayerSetTargetを構成するレイヤのレイヤIDリストLayerIdListTarget、及び対象最高次テンポラル識別子HighestTidTargetに基づいて、ビットストリーム抽出処理を行い、階層符号化データDATAから、対象最高次テンポラル識別子HighestTidTarget、及び対象レイヤセットLayerSetTargetのレイヤIDリストLayerIdListTargetによって定まる集合、ターゲットセットTargetSetに含まれるNALユニットから構成される対象レイヤセット符号化データDATA#T(BitstreamToDecode)を抽出する。なお、ビットストリーム抽出部17における本発明との関連性の高い処理の詳細について後述する。
 続いて、NAL逆多重化部11は、ビットストリーム抽出部17より抽出された対象レイヤセット符号化データDATA#T(BitstreamToDecode)を逆多重化して、NALユニットに含まれるNALユニットタイプ、レイヤ識別子(レイヤID)、テンポラル識別子(テンポラルID)を参照し、対象レイヤセットに含まれるNALユニットを、対象レイヤセットピクチャ復号部10へ供給する。
 対象レイヤセットピクチャ復号部10は、供給された対象レイヤセット符号化データDATA#Tに含まれるNALのうち、non-VCL NALをパラメータセット復号部12に、VCL NALをピクチャ復号部14にそれぞれ供給する。すなわち、対象レイヤセットピクチャ復号部10は、供給されたNALユニットのヘッダ(NALユニットヘッダ)を復号し、復号したNALユニットヘッダに含まれるNALユニットタイプ、レイヤ識別子、及びテンポラル識別子に基づいて、non-VCLの符号化データをパラメータセット復号部12へ、VCLの符号化データをピクチャ復号部14へ、復号したNALユニットタイプ、レイヤ識別子、及びテンポラル識別子と合わせて供給する。
 パラメータセット復号部12は、入力されるnon-VCL NALからパラメータセット、すなわち、VPS、SPS、および、PPSを復号してパラメータセット管理部13に供給する。
 パラメータセット管理部13は、復号されたパラメータセットを各パラメータセットの識別子毎に、パラメータセットの符号化パラメータを保持する。具体的には、VPSであれば、VPS識別子(video_parameter_set_id)毎に、VPSの符号化パラメータを保持する。SPSであれば、SPS識別子(sps_seq_parameter_set_id)毎に、SPSの符号化パラメータを保持する。PPSであれば、PPS識別子(pps_pic_parameter_set_id)毎に、PPSの符号化パラメータを保持する。なお、パラメータセット管理部13に保持される符号化パラメータには、各パラメータセットのレイヤ識別子、及びテンポラル識別子が含まれていてもよい。
 ピクチャ復号部14は、入力されるVCL NAL、アクティブパラメータセット(アクティブPPS、アクティブSPS、アクティブVPS),及び参照ピクチャに基づいて復号ピクチャを生成して復号ピクチャ管理部15へ供給する。供給された復号ピクチャは、復号ピクチャ管理部15内のバッファに記録される。なお、ピクチャ復号部14の詳細な説明は後述する。
 復号ピクチャ管理部15は、入力される復号ピクチャを内部の復号ピクチャバッファ(DPB: Decoded Picture Buffer)に記録するとともに、参照ピクチャリスト生成や出力ピクチャ決定を行う。また、復号ピクチャ管理部15は、DPBに記録されている復号ピクチャを、所定のタイミングで出力ピクチャPOUT#Tとして外部に出力する。
 (パラメータセット復号部12)
 図27は、パラメータセット復号部12の構成を示す概略図である。パラメータセット復号部12は、レイヤ間依存情報復号部121、レイヤセット復号部122、プロファイル情報復号部123、ビットレート情報復号部124を含んで構成される。
 パラメータセット復号部12は、入力される対象レイヤセット符号化データから、対象レイヤセットの復号に用いられるパラメータセット(VPS, SPS, PPS)を復号する。復号されたパラメータセットの符号化パラメータは、パラメータセット管理部13に供給され、各パラメータセットの有する識別子毎に記録される。なお、パラメータセット復号部12は、パラメータセットに限定されず、図12において、non-VCLに分類されるNALユニットを復号してもよい。パラメータセットと同様に、復号されたnon-VCLの符号化パラメータは、パラメータセット管理部13において、各々記録される。
 (レイヤ間依存情報復号部121)
 図18は、レイヤ間依存情報のシンタックスの一例である。VPS拡張データ(vps_extension())には、レイヤ間依存情報として、直接依存フラグ“direct_dependency_flag[i][j]”から、レイヤ間依存情報を復号する。直接依存フラグdirect_dependency_flag[i][j]は、i番目のレイヤが、j番目のレイヤに直接的に依存しているか否かを示し、直接的に依存している場合に1の値、直接的に依存していない場合に0の値をとる。レイヤ間依存情報復号部121は、この直接依存フラグを復号する。direct_dependency_flag[i][j]=1の場合、レイヤiはレイヤjから予測されることから、レイヤiはレイヤjの直接予測レイヤ、レイヤjはレイヤiから参照されることからレイヤjはレイヤiの直接参照レイヤである。
 ここで、i番目のレイヤがj番目のレイヤに直接的に依存している場合、i番目のレイヤを対象レイヤとして復号処理を実行する場合に、j番目のレイヤに関する復号ピクチャや関連する復号済シンタックスが、対象レイヤにより直接的に参照される可能性があることを意味する。逆に、i番目のレイヤがj番目のレイヤに直接的に依存していない場合、i番目のレイヤを対象レイヤとして復号処理を実行する場合に、j番目のレイヤに関するパラメータセット、復号ピクチャや関連する復号済シンタックスが直接的に参照されないことを意味する。
 ここで、i番目のレイヤ(レイヤ識別子iNuhLId=nunLayerIdI)に対する直接参照レイヤセットを示す、参照レイヤIDリストRefLayerId[iNuhLId][]、及びi番目のレイヤの参照レイヤであるj番目のレイヤが、直接参照レイヤセットの中で、昇順で、何番目の要素であるかを示す直接参照レイヤIDXリストDirectRefLayerIdx[iNuhLId][]は、後述の式により導出される。なお、参照レイヤIDリストRefLayerId[][]は2次元の配列であり、1番目の配列の要素には、対象レイヤ(レイヤi)のレイヤ識別子が格納され、2番目の配列の要素には、直接参照レイヤセットの中で、昇順で、k番目の参照レイヤのレイヤ識別子が格納される。なお、直接参照レイヤIDXリストDirectRefLayerIdx[][]は2次元の配列であり、1番目の配列の要素には、対象レイヤ(レイヤi)のレイヤ識別子が格納され、2番目の配列の要素には、レイヤ識別子が、直接参照レイヤセットの中で、昇順で、何番目の要素であるかを示すインデクス(直接参照レイヤIDX)が格納される。
 レイヤ間依存情報復号部121は、参照レイヤIDリスト、及び直接参照レイヤIDXリストを以下の疑似コードで導出する。なお、i番目のレイヤのレイヤ識別子nuhLayerIdは、VPS上で“layer_id_in_nuh[i]”のシンタックスによって表わされる。以降では、i番目のレイヤのレイヤ識別子“layer_id_in_nuh[i]”の表記を短くするため、”nuhLId#i”と表記する。また、配列NumDirectRefLayers[]は、レイヤ識別子iNuhLIdのレイヤが参照する直接参照レイヤ数を表わす。NumDirectRefLayers[iNuhLId]が0であるレイヤiNuhLIdは、依存するレイヤがなく復号可能であることから非依存レイヤ(独立レイヤ)と呼ぶ。なお、ベースレイヤは常に非依存レイヤでありNumDirectRefLayers[0]=0を満たす。
    (参照レイヤIDリスト、及び直接参照レイヤIDXリストの導出)
 レイヤ間依存情報復号部121は、参照レイヤ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は0に初期化される。ループ内の処理は、変数iがレイヤ数VpsMaxLayers 未満のときに実行され、ループ内の処理が1回実行される度に、変数iは“1”加算される。
(SL02)変数iNuhLidに、i番目のレイヤのレイヤ識別子nuhLID#iを設定する。さらに、レイヤ識別子nuhLID#iの直接参照レイヤ数NumDirectRefLyaers[iNuhLID]を0へ設定する。(SL03)j番目のレイヤを、i番目のレイヤに関する参照レイヤIDリスト、及び直接参照レイヤIDXリストへ要素追加に係るループの開始点である。ループの開始前に、変数jは0に初期化される。ループ内の処理は、変数j(j番目のレイヤ)がi番目のレイヤ未満(j<i)のときに実行され、ループ内の処理が1回実行される度に、変数jは“1”加算される。
(SL04)i番目のレイヤに対するj番目のレイヤの直接依存フラグ(direct_dependency_flag[i][j])を判定する。直接依存フラグが1であれば、ステップSL05~SL07の処理を実行するため、ステップSL05へ遷移する。直接依存フラグが0であれば、ステップSL05~SL07の処理を省略し、SL0Aへ遷移する。
(SL05)参照レイヤIDリストRefLayerId[iNuhLId][]のNumDirectRefLayers[iNuhLId]番目の要素へ、レイヤ識別子nuhLID#jを設定する。
すなわち、RefLayerId[iNuhLId][NumDirectRefLayers[iNuhLId]] = nuhLId#j;
(SL06)直接参照レイヤ数NumDirectRefLayers[iNuhLId]の値を“1”加算する。すなわち、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リストの導出に係るループの終端である。
    (間接依存フラグ、依存フラグの導出)
 レイヤ間依存情報復号部121は、符号化データから復号される直接依存フラグdirect_dependency_flag[][]を復号し、あるレイヤiが、他のレイヤjに依存するか(直接依存もしくは間接依存があるか)を示すフラグDependencyFlag[i][j](依存フラグ)を導出する。
 i番目のレイヤが、j番目のレイヤに間接的に依存するか否か(j番目のレイヤは、i番目のレイヤの間接参照レイヤであるか否か)の依存関係を示す間接依存フラグ(IndirectDependencyFlag[i][j])は、直接依存フラグ(direct_dependency_flag[i][j])を参照して、後述の疑似コードにより導出することができる。
 また、i番目のレイヤが、j番目のレイヤに直接的に依存するか(直接依存フラグが1の場合、j番目のレイヤは、i番目のレイヤの直接参照レイヤともいう)、あるいは間接的に依存するか(間接依存フラグが1の場合、j番目のレイヤは、i番目のレイヤの間接参照レイヤともいう)の依存関係を示す依存フラグ(DependencyFlag[i][j])は、直接依存フラグ(direct_dependency_flag[i][j])、及び上記間接依存フラグ(IndirectDepdendencyFlag[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++)
 (レイヤセット復号部122)
 図28は、レイヤセット復号部122の構成を示す概略図である。レイヤセット復号部122は、レイヤ間依存情報を用いずにレイヤセットを導出する第1レイヤセット復号部1221(基本レイヤセット復号部)、レイヤ間依存情報を用いてレイヤセットを導出する第2レイヤセット復号部1222(追加レイヤセット復号部)を含んで構成される。レイヤセット復号部122は、レイヤセットの集合を復号する。レイヤセットは、1つ以上のレイヤから構成されるレイヤの集合であり、レイヤセット復号部122は、レイヤセットを複数復号することができる。
 図19は、第1レイヤセット復号部が復号するレイヤセット情報のシンタックスの一例である。
 第1レイヤセット復号部1221は、VPSからレイヤセットを構成するレイヤの集合を表わすリスト(以下、レイヤIDリストLayerIdList)を、第1のレイヤセット(基本レイヤセット)の集合として復号する。VPSには、VPS上のレイヤ定義の順番で、j番目のレイヤ(レイヤj)が、i番目のレイヤセット(レイヤセットi)に含まれるか否かを示すシンタックス“layer_id_included_flag[i][j]”が含まれており、該シンタックスの値が1であるレイヤjからレイヤセットが構成される。すなわち、レイヤセットiを構成するレイヤjは、レイヤIDリストLayerIdList[i]に含まれる。また、レイヤセットiに含まれるレイヤ数NumLayersInIdList[i]は、シンタックス“layer_id_included_flag[i][j]”のうち、レイヤセットiに関して、該シンタックスの値が1であるフラグの個数である。第1レイヤセット復号部1221は、各レイヤセット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は0に初期化される。ループ内の処理は、変数iがレイヤセット数“NumLayerSets”未満のときに実行され、ループ内の処理が1回実行される度に、変数iは“1”加算される。
(SA02)レイヤセットiのレイヤ数NumLayresInIdList[i]を0へ初期化する。すなわち、NumLayersInIdList[i] = 0;
(SA03)レイヤセットiのレイヤIDリストへm番目のレイヤ(レイヤm)を要素追加に係るループの開始点である。ループの開始前に、変数mは0に初期化される。ループ内の処理は、変数m(m番目のレイヤ)が、最大レイヤ識別子“vps_max_layer_id”以下(m<=vps_max_layer_id)のときに実行され、ループ内の処理が1回実行される度に、変数mは“1”加算される。なお、最大レイヤ識別子“vps_max_layer_id”の代わりに、最大レイヤ数VpsMaxLayersを用いて、変数mが、最大レイヤ数VpsMaxLayers未満のときに、ループ内の処理が実行されるようにしてもよい。すなわち、for文の“m<=vps_max_layer_id”の判定式を“m<VpsMaxLayers”へ変更してもよい。以下、vps_max_layer_idを用いたループ処理において同様。
(SA04)レイヤmがレイヤセットiに含まれるか否か(layer_id_included_flag[i][m])を判定する。layer_id_included_flag[i][m]が1であれば、ステップSA05へ遷移する。layer_id_included_flag[i][m]が0であれば、ステップSA05~SA06の処理を省略し、SA0Aへ遷移する。
(SA05)レイヤセットiのレイヤIDリストLayerIdList[i][]のNumLayersInIdList[i]番目の要素へ、レイヤmを追加する。すなわち、LayerIdList[i][NumLayersInIdList[i]] = m;
(SA06)レイヤセットiのレイヤ数NumLayersInIdList[i]の値を“1”加算する。すなわち、NumLayersInIdList[i]++;
(SA0A)レイヤセットiのレイヤIDリストへm番目のレイヤ(レイヤm)を要素追加に係るループの終端である。
(SA0B)レイヤセットiのレイヤIDリストの導出に係るループの終端である。
 以上の手順により、各レイヤセットiのレイヤIDリストLayerIdList[i]を導出することができる。
 第2レイヤセット復号部1222は、符号化データから、キーレイヤを示すシンタックスを復号し、キーレイヤとキーレイヤに直接、間接に依存するレイヤを、レイヤセットとして導出に追加する。
 (キーレイヤ)
 本発明は、多数のレイヤが存在する符号化データを想定する。この想定は、マルチビュースケーラビリティにおいて多数のカメラを配置し、異なるカメラで撮影される(異なる視点)の映像を個々のレイヤとして符号化することを考える。画像復号装置は、レイヤセットに定義されたレイヤ(レイヤセットに含まれる)を復号する動作を行うため、ある視点に相当するレイヤを復号する場合には対応するレイヤセットが必要になる。図4は、本発明で想定するレイヤセットの一例であり、マルチビュースケーラビリティにおけるレイヤセットの構成例を示す図である。図では、マルチビュースケーラビリティにおいて8×8のカメラを水平垂直に並べた構成を示す。つまり、8個の視点を水平に並べた構造を8列垂直に並べた構成である。このとき、ある視点に対応するレイヤを復号するためには、上述のとおり、その視点映像のエイヤを含むレイヤセットが必要となる。自由に選択した1視点を再生する場合には、レイヤセットとしては、上記視点の全てに対して対応するレイヤセットが必要となる。本例では、64の視点(レイヤ)があるため、64個のレイヤセットが必要となる。なお、本発明では、レイヤセットを代表するレイヤのために、キーレイヤが定義される。
 図5は、マルチビュースケーラビリティにおけるレイヤセットの別の構成例を示す図である。ある2つの視点の間に位置する視点を生成する場合には、その視点に近い視点2つを復号し、その2つの視点から内挿によって視点を合成することが行われる。このためには、復号する対象として隣り合う2つの視点をレイヤセットとして用意しておくことが適当である。この場合、2個のレイヤをペアとして水平に7個のレイヤセットが8段あるため、合計56個のレイヤセットが必要となる。このときレイヤセットに含まれる2つのレイヤの内、一方をキーレイヤ(key layer)、他方を補完レイヤ(accompanying layer)として規定される。
 図1は、キーレイヤのコンセプトを説明する図である。図では、Kで示されるキーレイヤに対して、L1、L2が直接依存レイヤ(直接参照レイヤ、レイヤL1、L2はレイヤKが直接参照するレイヤ、direct reference layer)、M1が間接依存レイヤ(間接参照レイヤ、レイヤMは、レイヤKがレイヤL1を介して間接的に参照するレイヤ、indirectreference layer)となっている。このとき、第2レイヤセット復号部1222は、キーレイヤが指定された場合、Kとその直接・間接レイヤであるL1、L2、M1の4つのレイヤ(={K、L1、L2、M1})から、レイヤセットを導出する。
 図2は、キーレイヤが補完レイヤを有する場合のコンセプトを説明する図である。図では、Kで示されるキーレイヤは、補完レイヤAを有する。キーレイヤKは、L1、L2が直接依存レイヤ、M1が間接依存レイヤを有し、補完レイヤAは、L3、L4の直接レイヤとM3の間接レイヤを有する。このとき、第2レイヤセット復号部1222は、キーレイヤが指定された場合、Kとその直接・間接レイヤであるL1、L2、M1、およびKの補完レイヤAと、補完レイヤの直接・間接レイヤであるL3、L3、M3の7つのレイヤ(={K、L1、L2、M1、L3、L4,M3})から、レイヤセットを導出する。
 (共通プロファイル情報)
 図3は、本発明の実施形態に係る共通プロファイルを説明する図である。図に示す通り、キーレイヤに基づいて導出される追加レイヤセットは同じプロファイル情報を有するようにしても良い。すなわち、K1、K2、K3、・・・、KNから構成されるレイヤセットが共通のプロファイル情報を有しても良い。追加レイヤセットが同じプロファイル情報を有する場合、そのプロファイル情報を共通プロファイル情報と呼ぶ。
 なお、プロファイル情報とは、プロファイルとレベル、tierを含む情報のことであり、profile_tier_level()のシンタックスで符号化される情報を示す。図47は、profile_tier_level()の一例である。general_profile_idは、符号化データが、どのプロファイルに準拠するものであるかを示す。general_profile_compatibility_flag[i]は、general_profile_idcで指定されるプロファイル以外のプロファイルに準拠するデコーダで符号化を復号できるかどうかを示す。general_level_idcは、符号化データの複雑さ、あるいは符号化データを復号するために必要とするデコーダの能力を示す。general_tier_flagは、レベルの種別を示すティアであり、メインティアであるか、ハイティアであるかを示す。また、プロファイル情報は、時間スケーラビリティに関するレイヤ(以降、サブレイヤ、またはテンポラルサブレイヤとも称する)毎のプロファイル情報を含んでも良い。
 (共通HRDパラメータ)
 追加レイヤセットにおいて同じ情報を有するのはプロファイル情報に限定されず、他の情報、例えば、HRDパラメータでも良い。追加レイヤセットが同じHRDパラメータを有する場合、そのHRDパラメータを共通HRDパラメータと呼ぶ。
 なお、HRDパラメータとは、仮想参照復号装置(Hypothesis reference decoder)で期待される復号動作を示す情報であり、基本的には、ビットストリームのバッファ(CPB:CodedPictureBuffer)入力および出力のタイミング等や、復号画像および出力画像の参照画像バッファ(DPB: Decoded picture buffer)への復号画像入力および出力画像出力のタイミング等を示す。これらのタイミングは符号化データ毎に異なるため、符号化データのパラメータである。profile_tier_level()のシンタックスで符号化される情報を示す。図48は、profile_tier_level()の一例である。
nal_hrd_parameters_present_flagは、HRDパラメータの存在を示すフラグである。
sub_pic_hrd_params_present_flagは、サブピクチャレベルのHRDパラメータの存在を示すフラグである。tick_divisor_minus2は、クロックのサブティックを表す。クロックのサブティックは、符号化データ中のピクチャの最小の時間間隔に相当する。du_cpb_removal_delay_increment_length_minus1に1を加えた数は、du_cpb_removal_delay_increment_minus1[]のビット数を示す。sub_pic_cpb_params_in_pic_timing_sei_flagは、ピクチャタイミングSEIメッセージにおいて、CPB抜取遅延(CPB removal delay)パラメータの存在を示すフラグである。
dpb_output_delay_du_length_minus1に1を加えた数は、ピクチャタイミングSEIメッセージにおいて、ピクチャDPBアウトプット遅延(pic_dpb_output_du_delay)パラメータの存在を示すフラグである。bit_rate_scaleは、最大ビットレートのCPB比率を示す。cpb_size_scaleは、CPBがピクチャレベルである場合のCPBサイズを示す。cpb_size_du_scaleは、CPBがDUレベルである場合のCPBサイズを示す。initial_cpb_removal_delay_length_minus1 plus 1に1を加えた値は、nal_initial_cpb_removal_delay, nal_initial_cpb_removal_offset[ i ], vcl_initial_cpb_removal_delay, and vcl_initial_cpb_removal_offsetのビット数を示す。au_cpb_removal_delay_length_minus1に1を加えた値は、cpb_delay_offset syntax のビット数を示す。dpb_output_delay_length_minus1に1を加えた数は、dpb_delay_offsetのビット数を示す。fixed_pic_rate_general_flag[ i ]に1を加えた数は、最高テンポラルサブレイヤ(HighestTid)がiの場合のHRDアウトプットタイムの時間間隔を示す。fixed_pic_rate_within_cvs_flag[ i ]は、最高テンポラルサブレイヤがiの場合のHRDアウトプットタイムが制限されているかを示す。low_delay_hrd_flag[ i ]は最高テンポラルサブレイヤがiの場合のHRDの動作モードを示す。cpb_cnt_minus1[ i ]に1を加えた数は、最高テンポラルサブレイヤがiの場合の代替CPB定義を示す。さらに、HRDパラメータは、sub_layer_hrd_parametersおよびsub_layer_hrd_parametersを含みうるがここでは説明を省略する。
 (第2レイヤセット復号部1222)
 図6は、本発明の実施形態に係る第2レイヤセットのシンタックステーブルの一例である。第2レイヤセット復号部1222は、追加レイヤセットプレセントフラグadditional_layer_set_present_flagを復号する。additional_layer_set_present_flagが1の場合、さらに、第2レイヤセット復号部1222は、キーレイヤを示すシンタックスを符号化データから復号する。ここでは、0から最大レイヤ識別子vps_max_layer_idまでのjに関して、add_layer_id_included_flag[ j ]を復号する。add_layer_id_included_flag[ j ]が1の場合、インデックスjが示すレイヤがキーレイヤとし、キーレイヤとキーレイヤと依存関係を有するレイヤを含むレイヤセットを、第2のレイヤセットとして導出する(レイヤセットリストlayerSetLayerIdListに追加する)。より、具体的には、以下の処理を行う。
 レイヤセットリストlayerSetLayerIdListのインデックスであるレイヤセットインデックスlayerSetIdを、第1レイヤセット復号部1221が復号するレイヤセットの数(第1レイヤセット数)であるvps_num_layer_sets_minus1+1に設定し、追加レイヤセット数NumAdditionalLayerSetに0をセットする。
 0からvps_max_layer_idのjに対して以下を実行する。
  キーレイヤを指定するシンタックスadd_layer_id_included_flag[ j ]を復号する。
  もし、add_layer_id_included_flag [j]が1の場合には、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]に加え、レイヤセットに含まれるレイヤ数numLayersInList[layerSetId]を1+直接依存レイヤ数+間接依存レイヤ数とし、レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
 以上の構成の第2レイヤセット復号部1222によれば、依存性を復号するレイヤ間依存情報復号手段の復号するレイヤ間依存情報に基づいて第1レイヤセットとは異なる第2レイヤセットを導出することによって、少ない符号量でレイヤセットを定義する効果を奏する。また、以上の構成の第2レイヤセット復号部1222によれば、キーレイヤを復号し、キーレイヤとキーレイヤに直接、間接に依存するレイヤを含むレイヤセットを導出することを特徴とする。
 以上の構成の第2レイヤセット復号部1222によれば、0からレイヤ数―1までのインデックスjに対してフラグadd_layer_id_included_flag[j]を復号し、前記フラグが1であるレイヤをキーレイヤとして、レイヤセットを導出することを特徴とすることによって、少ない符号量でレイヤセットを定義する効果を奏する。
 なお、第2レイヤセット復号部1222におけるレイヤAの直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]に加える処理は、レイヤAのレイヤインデックスをlayerIdAとすると、既に説明した依存フラグ(DependencyFlag[i][j]を用いる以下の処理等により実現できる。
 numLayersInList[layerSetId] = 0
 for (k = 0; k < vps_max_layer_id; k++) {
  if (k == layerIdA) {
   layerSetLayerIdList[layerSetId][numLayersInList[layerSetId]] = layerIdA
   numLayersInList[layerSetId] += 1
  } else if (DependencyFlag[layerIdA][k]) {
   layerSetLayerIdList[layerSetId][numLayersInList[layerSetId]] = k
   numLayersInList[layerSetId] += 1
  }
 }
 なお、最終的に、レイヤセットには、レイヤAとレイヤAの依存レイヤ(直接および間接依存レイヤ)が含まれるため、numLayersInList[layerSetId]は1にレイヤAの依存レイヤ数を加えた数になる。
 上記、擬似コードの説明は下記の通り、
 キーレイヤから生成されるレイヤセットに含まれるレイヤ数をnumLayersInList[layerSetId]として初期値に0を設定する。0から最大レイヤ識別子vps_max_layer_idまでのインデックスkに対して以下を実行する。
  インデックスkの示すレイヤがキーレイヤ(レイヤA)に対応するとき(k == layerIdA)、レイヤAをレイヤセットに加える。つまりレイヤセットのIDリストlayerSetLayerIdList[layerSetId][]にレイヤAのレイヤインデックスlayerIdAを代入する。また、numLayersInList[layerSetId]を1だけインクリメントする。
  インデックスkの示すレイヤがレイヤAの直接および間接のレイヤ間依存性のあるレイヤで有る場合(DependencyFlag[layerIdA][k]が0以外)、インデックスkの示すレイヤをレイヤセットに加える。つまりレイヤセットのIDリストlayerSetLayerIdList[layerSetId][]にインデックスkの示すレイヤインデックス(ここではk)を代入する。また、numLayersInList[layerSetId]を1だけインクリメントする。
 以降で説明するレイヤ復号部の別の構成においても、本方法により、キーレイヤおよびキーレイヤに対する依存レイヤから構成されるレイヤセットを導出することができる。
 (第2レイヤセット復号部1222B)
 以下、第2レイヤセット復号部1222の別の構成である第2レイヤセット復号部1222Bを説明する。図7は、本発明の実施形態に係る第2レイヤセットのシンタックステーブルの別の一例である。第2レイヤセット復号部1222Bは、補完レイヤフラグaccompanying_layer_flagを符号化データから復号する。第2レイヤセット復号部1222は、追加レイヤセットプレセントフラグadditional_layer_set_present_flagを復号する。additional_layer_set_present_flagが1の場合、さらに、第2レイヤセット復号部1222Bは、キーレイヤを示すシンタックスを符号化データから復号する。ここでは、0から最大レイヤ識別子vps_max_layer_idまでのjに関して、キーレイヤを指定するシンタックスadd_layer_id_included_flag[ j ]を復号する。add_layer_id_included_flag[ j ]が1の場合、インデックスjが示すレイヤがキーレイヤとなり、キーレイヤを含むレイヤセットを、第2のレイヤセットとして導出する(レイヤセットリストlayerSetLayerIdListに追加する)。また、accompanying_layer_flagが1の場合には、キーレイヤの補完レイヤと、補完レイヤの直接、間接依存レイヤもレイヤセットに追加する。具体的には、以下の処理を行う。
 レイヤセットインデックスlayerSetIdを、第1レイヤセット数vps_num_layer_sets_minus1+1に設定し、追加レイヤセット数NumAdditionalLayerSetに0をセットする。
 補完レイヤフラグaccompanying_layer_flagを復号する。
 追加レイヤセットプレセントフラグadditional_layer_set_present_flagを復号する。
 additional_layer_set_present_flaが1の場合には、0からvps_max_layer_idのjに対して以下を実行する。
  キーレイヤを指定するシンタックスadd_layer_id_included_flag[ j ]を復号する。
  もし、accompanying_layer_flag が0かつadd_layer_id_included_flag[j]が1の場合には、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]に加え、numLayersInList[layerSetId]を1+直接、間接依存レイヤ数とし、レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
  もし、accompanying_layer_flagが1かつadd_layer_id_included_flag[j]が1の場合には、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤ、レイヤAの補完レイヤBとレイヤBの直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]に加え、numLayersInList[layerSetId]を1+直接、間接依存レイヤ数とし、レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
 なお、補完レイヤは基本レイヤに基づいて所定の規則によって特定されるレイヤである。例えば、基本レイヤのインデックスがjの場合に、j+1のインデックスで示されるレイヤを補完レイヤとすることが適当である。
 以上の構成の第2レイヤセット復号部1222Bによれば、第2レイヤセット復号部1222の効果に加えて、キーレイヤに補完レイヤが否かを含むフラグを復号もしくは導出し、補完レイヤを含む場合には、キーレイヤとキーレイヤに直接、間接に依存するレイヤと、補完レイヤと補完レイヤに直接、間接に依存するレイヤを含むレイヤセットを導出することを特徴とする。これにより、2つのレイヤがペアとなるようなレイヤセットを少ない符号量で定義する効果を奏する。
 なお、レイヤAおよびレイヤAの補完レイヤ(以下ではレイヤB)の直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]に加える処理は、レイヤAのレイヤインデックスをlayerIdA、補完レイヤのレイヤインデックスをlayerIdBとすると、既に説明した依存フラグ(DependencyFlag[i][j]を用いる以下の処理等により実現できる。
 numLayersInList[layerSetId] = 0
 for (k = 0; k < vps_max_layer_id; k++) {
  if (k == layerIdA) {
   layerSetLayerIdList[layerSetId][numLayersInList[layerSetId]] = layerIdA
   numLayersInList[layerSetId] += 1
  else if (k == layerIdB) {
   layerSetLayerIdList[layerSetId][numLayersInList[layerSetId]] = layerIdB
   numLayersInList[layerSetId] += 1
  } else if (DependencyFlag[layerIdA][k] || DependencyFlag[layerIdB][k]) {
   layerSetLayerIdList[layerSetId][numLayersInList[layerSetId]] = k
   numLayersInList[layerSetId] += 1
  }
 }
 上記、擬似コードの説明は下記の通り。
 キーレイヤおよび補完レイヤから生成されるレイヤセットに含まれるレイヤ数をnumLayersInList[layerSetId]として初期値に0を設定する。0から最大レイヤ識別子vps_max_layer_idまでのインデックスkに対して以下を実行する。
  インデックスkの示すレイヤがキーレイヤ(レイヤA)に対応するとき(k == layerIdA)、レイヤAをレイヤセットに加える。つまりレイヤセットのIDリストlayerSetLayerIdList[layerSetId][]にレイヤAのレイヤインデックスlayerIdAを代入する。また、numLayersInList[layerSetId]を1だけインクリメントする。
  インデックスkの示すレイヤが補完レイヤ(レイヤB)に対応するとき(k == layerIdB)、レイヤBをレイヤセットに加える。つまりレイヤセットのIDリストlayerSetLayerIdList[layerSetId][]にレイヤBのレイヤインデックスlayerIdBを代入する。また、numLayersInList[layerSetId]を1だけインクリメントする。
  インデックスkの示すレイヤがレイヤAもしくはレイヤBの直接および間接のレイヤ間依存性が有る場合(DependencyFlag[layerIdA][k]が0以外もしくはDependencyFlag[layerIdB][k]が0以外)、インデックスkの示すレイヤをレイヤセットに加える。つまりレイヤセットのIDリストlayerSetLayerIdList[layerSetId][]にインデックスkの示すレイヤインデックス(ここではk)を代入する。numLayersInList[layerSetId]を1だけインクリメントする。以降のレイヤ復号部の別の構成においても、本方法により、キーレイヤおよび補完レイヤおよびそれらに対する依存レイヤから構成されるレイヤセットを導出することができる。
 (第2レイヤセット復号部1222C)
 以下、第2レイヤセット復号部1222の別の構成である第2レイヤセット復号部1222Cを説明する。図8は、本発明の実施形態に係る第2レイヤセットのシンタックステーブルの別の例である。本変形例では、補完レイヤフラグaccompanying_layer_flagは第2レイヤセット復号部1222Cにより設定される。すなわち、補完レイヤフラグaccompanying_layer_flagが0の場合、および1の場合の両方に対して、追加レイヤセットを規定するシンタックスを符号化データから復号することにより、キーレイヤのみから追加レイヤセットを導出すると共に、キーレイヤと補完レイヤから追加レイヤセットを導出する。ここでは、第2レイヤセット復号部1222Cは、iに関する0もしくは1のループによって、補完レイヤフラグaccompanying_layer_flagを0もしくは1に設定する。第2レイヤセット復号部1222Cは、追加レイヤセットプレセントフラグadditional_layer_set_present_flag[i]を復号する。additional_layer_set_present_flag[i]が1の場合、さらに、第2レイヤセット復号部1222は、キーレイヤを示すシンタックスを符号化データから復号する。ここでは、0から最大レイヤ識別子vps_max_layer_idまでのjに関して、add_layer_id_included_flag[i][ j ]を復号する。add_layer_id_included_flag[ i ][ j ]が1の場合、インデックスjが示すレイヤがキーレイヤとなり、キーレイヤを含むレイヤセットを、第2のレイヤセットとして導出する(レイヤセットリストlayerSetLayerIdListに追加する)。また、accompanying_layer_flagが1の場合には、キーレイヤの補完レイヤと、補完レイヤの直接、間接依存レイヤもレイヤセットに追加する。具体的には、以下の処理を行う。
 レイヤセットインデックスlayerSetIdを、第1レイヤセット数vps_num_layer_sets_minus1+1に設定し、追加レイヤセット数NumAdditionalLayerSetに0をセットする。
 0もしくは1のaccompanying_layer_flagに対して以下を実行する。
 追加レイヤセットプレセントフラグadditional_layer_set_present_flag[i]を復号する。
 additional_layer_set_present_flag[i]が1の場合には、共通プロファイル情報フラグuse_common_profile_ref_flag[i]を復号する。共通プロファイル情報フラグuse_common_profile_ref_flag [i]が1の場合には、プロファイル情報として共通プロファイル情報インデックスadd_profile_level_tier_idx[i](共通プロファイル情報インデックス)を復号し、add_profile_level_tier_idx[i]が示すプロファイル情報を、キーレイヤから導出されるレイヤのプロファイル情報として設定する。
 additional_layer_set_present_flag[i]が1の場合には、0からvps_max_layer_idのjに対して以下を実行する。
  キーレイヤを指定するシンタックスadd_layer_id_included_flag[i][ j ]を復号する。
  もし、accompanying_layer_flagが0かつadd_layer_id_included_flag[accompanying_layer_flag][j](=add_layer_id_included_flag[i][j])が1の場合には、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]に加え、numLayersInList[layerSetId]を1+直接、間接依存レイヤ数とする。また、共通プロファイル情報フラグuse_common_profile_ref_flag[i]が1の場合には、layerSetLayerIdList[layerSetId]の共通プロファイル情報インデックスprofile_level_tier_idx[layerSetId]として、add_profile_level_tier_idx[i]を設定する。さらに、レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
  もし、accompanying_layer_flagが1かつadd_layer_id_included_flag[accompanying_layer_flag][j]が1の場合には、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤ、レイヤAの補完レイヤBとレイヤBの直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]に加え、numLayersInList[layerSetId]を1+直接、間接依存レイヤ数とする。また、共通プロファイル情報フラグuse_common_profile_ref_flag[i]が1の場合には、layerSetLayerIdList[layerSetId]の共通プロファイル情報インデックスprofile_level_tier_idx[layerSetId]として、add_profile_level_tier_idx[i]を設定する。さらに、レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
 以上の構成の第2レイヤセット復号部1222Cによれば、第2レイヤセット復号部1222の効果に加えて、キーレイヤに補完レイヤが否かを含むフラグを復号もしくは導出し、補完レイヤを含む場合には、キーレイヤとキーレイヤに直接、間接に依存するレイヤと、補完レイヤと補完レイヤに直接、間接に依存するレイヤを含むレイヤセットを導出することを特徴とする。これにより、2つのレイヤがペアとなるようなレイヤセットを少ない符号量で定義する効果を奏する。さらに、第2レイヤセット復号部1222Bの効果に加えて以下の効果を奏する。2つのレイヤがペアとなる場合、および、ならない場合(accompaning_layer_flagが1の場合と0の場合)の両者に対してキーレイヤを復号することにより、2つのレイヤがペアとなる場合、ならない場合両者に対して少ない符号量でレイヤセットを定義する効果を奏する。
 さらに、共通プロファイル情報フラグにより、キーレイヤにより定義されるレイヤセットに対して共通のプロファイル情報を設定することができる。これにより、キーレイヤにより定義されるレイヤ全てに対して個々のプロファイル情報を復号する場合に比べて少ない符号量でプロファイル情報を復号する効果を奏する。
 なお、上記では、追加レイヤセットに共通のプロファイル情報を復号するために、共通プロファイル情報フラグと共通プロファイル情報インデックスを復号しているが、追加レイヤセットに共通の情報として、HRDパラメータ(Hypothesis Reference decoder)を指定しても良い。この場合、共通プロファイル情報フラグuse_common_profile_ref_flag[i]と共通プロファイル情報インデックスadd_profile_level_tier_idx[i]の代わりに、共通HRDパラメータフラグuse_common_hrd_param_flag[i]と、HRDパラメータを識別するためのインデックスadd_hrd_param_idx[i]を復号する。以下、第2レイヤセット復号部1222Dとして詳細に説明する。なお、符号化データに含まれる情報は共通プロファイル情報と共通HRDパラメータのどちらか一方である必要はなく両者ともであっても良い。この場合には、レイヤセット復号部は、共通プロファイル情報と共通HRDパラメータの両者を復号する。
 (第2レイヤセット復号部1222D)
 以下、第2レイヤセット復号部1222の別の構成である第2レイヤセット復号部1222Dを説明する。以下、第2レイヤセット復号部1222Dは、共通HRDパラメータフラグuse_common_hrd_param_flag[i]と共通プロファイル情報インデックスadd_profile_level_tier_idx[i]の代わりに、共通HRDパラメータフラグuse_common_hrd_param_flag[i]と、HRDパラメータを識別するための共通HRDパラメータインデックスadd_hrd_param_idx[i]を復号する。
 図49は、本発明の実施形態に係る第2レイヤセットのシンタックステーブルの別の例である。本変形例では、補完レイヤフラグaccompanying_layer_flagは第2レイヤセット復号部1222Dにより設定される。ここでは、第2レイヤセット復号部1222Dは、iに関する0もしくは1のループによって、補完レイヤフラグaccompanying_layer_flagを0もしくは1に設定する。第2レイヤセット復号部1222Dは、追加レイヤセットプレセントフラグadditional_layer_set_present_flag[i]を復号する。additional_layer_set_present_flag[i]が1の場合、さらに、第2レイヤセット復号部1222は、キーレイヤを示すシンタックスを符号化データから復号する。ここでは、0から最大レイヤ識別子vps_max_layer_idまでのjに関して、add_layer_id_included_flag[i][ j ]を復号する。add_layer_id_included_flag[ i ][ j ]が1の場合、インデックスjが示すレイヤがキーレイヤとなり、キーレイヤを含むレイヤセットを、第2のレイヤセットとして導出する(レイヤセットリストlayerSetLayerIdListに追加する)。また、accompanying_layer_flagが1の場合には、キーレイヤの補完レイヤと、補完レイヤの直接、間接依存レイヤもレイヤセットに追加する。具体的には、以下の処理を行う。
 レイヤセットリストlayerSetLayerIdListのインデックスであるレイヤセットインデックスlayerSetIdを、第1レイヤセット数vps_num_layer_sets_minus1+1に設定し、追加レイヤセット数NumAdditionalLayerSetに0をセットする。
 0もしくは1のaccompanying_layer_flagに対して以下を実行する。
 追加レイヤセットプレセントフラグadditional_layer_set_present_flag[i]を復号する。
 additional_layer_set_present_flag g[i]が1の場合には、共通HRDパラメータフラグuse_common_hrd_param_flag[i]を復号する。共通HRDパラメータフラグuse_common_hrd_param_flag[i]が1の場合には、HRDパラメータとしてHRDパラメータインデックスadd_hrd_param _idx[i]を復号し、add_profile_level_tier_idx[i]が示すプロファイル情報を、キーレイヤから導出されるレイヤのプロファイル情報として設定する。
 additional_layer_set_present_flag[i]が1の場合には、0からvps_max_layer_idのjに対して以下を実行する。
  キーレイヤを指定するシンタックスadd_layer_id_included_flag[i][ j ]を復号する。
  もし、accompanying_layer_flagが0かつadd_layer_id_included_flag[accompanying_layer_flag][j]が1の場合には、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]に加え、numLayersInList[layerSetId]を1+直接、間接依存レイヤ数とする。また、共通HRDパラメータフラグuse_common_hrd_param_flag[i]が1の場合には、layerSetLayerIdList[layerSetId]の共通プロファイル情報インデックスprofile_level_tier_idx[layerSetId]として、add_profile_level_tier_idx[i]を設定する。さらに、レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
  もし、accompanying_layer_flagが1かつadd_layer_id_included_flag[accompanying_layer_flag][j]が1の場合には、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤ、レイヤAの補完レイヤBとレイヤBの直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]に加え、numLayersInList[layerSetId]を1+直接、間接依存レイヤ数とする。また、共通HRDパラメータフラグuse_common_hrd_param_flag[i]が1の場合には、layerSetLayerIdList[layerSetId]のHRDパラメータadd_hrd_param idx[i]の指示するHRDパラメータを設定する。例えば、インデックスとしてadd_hrd_param idx[i]を有するレイヤセットのHRDパラメータを、layerSetLayerIdList[layerSetId]のレイヤのHRDパラメータとして用いる。さらに、レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
 さらに、共通HRDパラメータフラグにより、キーレイヤにより定義されるレイヤセットに対して共通のHRDパラメータを設定することができる。これにより、キーレイヤにより定義されるレイヤ全てに対して個々のHRDパラメータを復号する場合に比べて少ない符号量でHRDパラメータを復号する効果を奏する。
 (レイヤセット復号部122E)
 以下、レイヤセット復号部122の別の構成のレイヤセット復号部122Eを図29を用いて説明する。レイヤセット復号部122Eは、第1レイヤセット復号部1221と、第2レイヤセット復号部1222Eから構成される。第1レイヤセット復号部1221は既に説明した通りであるため説明を省略する。第2レイヤセット復号部1222Eは、これまで説明したレイヤセット復号部(レイヤセット復号部1222からレイヤセット復号部1222D)とは異なる方法で、追加レイヤセットを復号する。第2レイヤセット復号部1222Eは、第1レイヤセット復号部1221で復号された第1のレイヤセットに基づいて第2のレイヤセットを復号する。
 より具体的には、第2レイヤセット復号部1222Eは、第1のレイヤセットを参照するためのインデックスを復号し、インデックスで指定された第1のレイヤセットを変形する。さらに、第2レイヤセット復号部1222Eは、レイヤの集合から1つ以上の対象レイヤを識別するための情報を復号して対象レイヤとして、対象レイヤと、指定された第1のレイヤセットから、第2レイヤセットを導出する。
 図30は、第2レイヤセット復号部1222Eが復号するレイヤセット情報のシンタックスの一例である。第2レイヤセット復号部1222Eは、追加レイヤセット数num_refered_layer_setsを符号化データから復号する。第2レイヤセット復号部1222Eは、0からnum_refered_layer_sets-1までのインデックスiに対して、第1レイヤセット復号部1221が復号した第1のレイヤセットを参照するインデックスref_layer_set_idx[i]を復号する。第2レイヤセット復号部 1222Eは、さらに、0から最大レイヤ識別子vps_max_layer_idまでのインデックスjに対して追加レイヤインデックスlayer_id_added_flag[ i ][ j ]を復号する。layer_id_added_flag[ i ][ j ]が1である場合には、追加レイヤインデックスlayer_id_added_flag[ i ][ j ]で指定されるレイヤと、ref_layer_set_idx[i]で指定される第1のレイヤセットの要素であるレイヤを要素とするレイヤセットを導出する。具体的には、下記の擬似コードで生成することができる。
 layerSetId = vps_num_layer_sets_minus1+1
 for( i = 0; i <= num_refered_layer_sets; i++ ) {
  for( k = 0; k <= vps_max_layer_id; k++ ) {
   if (layer_id_added_flag[ i ][ k ])
   {
    jj = 0
    for (j = 0; j < numLayersInIdList[ ref_layer_set_idx[i] ]; j++) {
     if (k != layerSetLayerIdList[ref_layer_set_idx[i] ][j])
      layerSetLayerIdList[ layerSetId][ jj++ ] = k
     else
      layerSetLayerIdList[layerSetId][ jj++ ] = layerSetLayerIdList[ref_layer_set_idx[i] ][j]
     numLayersInIdList[layerSetId ] = jj
    layerSetId++
   }
  }
 }
 図31は、第2レイヤセット復号部1222Eが復号するレイヤセットを示す図である。図31に示すように、第2レイヤセット復号部1222Eは、参照インデックスref_layer_set_idx[i]で指定される 第1のレイヤセット(ここではL0、L1)を要素とし、さらに、追加レイヤインデックスlayer_id_added_flag[ i ][ j ]がL2、L3、L4において1である場合において、第1のレイヤセットの要素(ここではL0、L1)を共通要素とし、追加レイヤインデックスlayer_id_added_flag[ i ][ j ]が1であるレイヤを加えて第2のレイヤセットを導出する。
 上記、第2レイヤセット復号部1222Eによれば、第1レイヤセット復号部1221を用いて復号された第1レイヤセットを参照して、レイヤセットを導出するため、少ない符号量でレイヤセットを復号することができるという効果を奏する。
 (第2レイヤセット復号部1222G)
 以下、第2レイヤセット復号部1222の別の構成である第2レイヤセット復号部1222Gを説明する。図50に示すようにレイヤセット復号部122Gは、第1レイヤセット復号部1221と、第2レイヤセット復号部1222Gから構成される。第1レイヤセット復号部1221は既に説明した通りであるため説明を省略する。第2レイヤセット復号部1222Gおよびその変形例は、レイヤ依存性情報復号部121で復号されるレイヤ間依存情報に基づいてレイヤセットを導出する。より具体的には、レイヤセット復号部122Gおよびその変形例は、非依存レイヤの含有フラグを復号し、さらに、含有フラグが1のレイヤの直接予測レイヤの含有フラグを(再帰的に)復号し、含有フラグが1のレイヤから構成されるレイヤセットを導出する。
 図52は、本発明の一実施形態に係るレイヤセット復号部1222Gの復号するレイヤセットを示す図である。図中の丸い図形はレイヤを示し、図形中の数字はレイヤを示す識別子である。図形の右下の値は、その図形の示すレイヤの含有フラグ(add_layer_included_flag)の値を示す。図形の右下に値がない場合には、該当レイヤに関しては、含有フラグ(add_layer_included_flag)を復号しないことを示す。太字の図形は、レイヤセット復号部1222Gの復号する追加レイヤセットに含まれるレイヤを示す。矢印は、直接依存関係を示す。矢印のない0と7の識別子のレイヤは、非依存レイヤ(独立レイヤ)である。すなわち、レイヤ0とレイヤ7のレイヤ依存性情報復号部121で復号されるレイヤの直接参照レイヤ数NumDirectRefLayersは0である。レイヤ1とレイヤ4はレイヤ0の直接予測レイヤ(direct predicted layer)である。すなわち、レイヤ依存性情報復号部121で復号される直接依存フラグは、direct_dependency_flag[1][0]=1、direct_dependency_flag[4][0]=1である。図に示すように、レイヤセット復号部1222Gは、レイヤ0を除く非依存レイヤのレイヤ(ここでは7)が追加レイヤに含まれるかを示す含有フラグ(add_layer_included_flag)を復号し、add_layer_included_flagが1である場合には、そのレイヤの直接予測レイヤ(ここでは8と11)の含有フラグadd_layer_included_flagをさらに復号する。同様にレイヤ8の含有フラグadd_layer_included_flagが1であれば、レイヤ8の直接予測レイヤ(ここでは9と10)の含有フラグadd_layer_included_flagを復号する。図の例では、レイヤ9の含有フラグadd_layer_included_flagは0、レイヤ10の含有フラグadd_layer_included_flagは1である。レイヤ9の含有フラグadd_layer_included_flagは0であるのでこのレイヤに関する処理はここで終了する。レイヤ10の含有フラグadd_layer_included_flagは1であるが、レイヤ10は直接予測レイヤを持たないため、このレイヤに関する処理はここで終了する。レイヤ11の含有フラグadd_layer_included_flagは0であるのでこのレイヤに関する処理はここで終了する。すなわち、レイヤ11は、レイヤ12、レイヤ13を直接予測レイヤに有するがレイヤ12、レイヤ13の含有フラグadd_layer_included_flagは復号しない。上記により、レイヤ7、レイヤ8、レイヤ10から構成される追加レイヤセットが復号される。
 第2レイヤセット復号部1222Gの概略動作は以下の通りである。第2レイヤセット復号部1222Gは、非依存レイヤの含有フラグを復号し、さらに、非依存レイヤの含有フラグが1の場合には、上記非依存レイヤの直接予測レイヤの含有フラグを復号し、さらに、上記直接予測レイヤの含有フラグが1の場合には、その直接予測レイヤの含有フラグを復号し、上記レイヤの含有フラグが1の場合には、その直接予測レイヤの含有フラグを復号する動作を、直接予測レイヤがなくなるまで継続し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出する。また、第2レイヤセット復号部1222Gは、非依存レイヤをルートノードとして、ノードの含有フラグを復号し、上記ノードの直接予測レイヤの含有フラグが1かつ、上記ノードの直接予測レイヤが存在する場合には、上記直接予測レイヤをノードとして、ノードの含有フラグを再帰的に復号し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出する。
 図53は、本発明の実施形態に係る第2レイヤセット復号部2222Gが符号化し、第2レイヤセット復号部1222Gの復号する第2レイヤセットのシンタックステーブルの一例である。NumIndependentLayersは第1レイヤセットにおける非依存レイヤ数、num_add_layer_sets、add_layer_id_included_flagは第2レイヤセットに関するシンタックス要素、layer_treeはシンタックス構造を示す。なお、非依存レイヤ数NumIndependentLayersはレイヤ依存性情報復号部121により以下の擬似コードで導出される。ここでMaxLayersMinus1は最大レイヤ数―1を示す。
 for( i = 0, k = 0; i <= MaxLayersMinus1; i++ ) {
  iNuhLId = layer_id_in_nuh[ i ]
  if( NumDirectRefLayers[ iNuhLId ] = = 0 ) {
   k++
 }
 NumIndependentLayers = k
 第2レイヤセット復号部1222GはVPS(VPS拡張)から以下のように第2レイヤセットを復号する。レイヤセット復号部122Gは、第1レイヤセットにおける独立レイヤ数NumIndependentLayersが1より大きい場合、第2レイヤセット数を示すnum_add_layer_setsを復号する。第2レイヤセット復号部1222Gは、0からnum_add_layer_sets-1までの識別子iで示されるレイヤセットiを以下のように復号する。各iのレイヤセットに対して、0から最大レイヤ数―1(MaxLayersMinus1)までの識別子jのレイヤ(レイヤj)に対し、レイヤjが直接参照レイヤ数が0である非依存レイヤである(NumDirectRefLayers[ iNuhLId ] == 0)かを判定する。ここでlayer_id_in_nuhは、識別子からレイヤIDを導出するためのテーブルであり、iNuhLIdは、レイヤjのレイヤIDを示す。レイヤjが非依存レイヤである場合には、非依存レイヤjをルートノードとしてシンタックス構造layer_id(i, j)を復号する。シンタックス構造layer_id(addLayerSetId, layerId)では、レイヤセットaddLayerSetIdにおけるレイヤlayerIdがレイヤセットaddLayerSetIdに含まれるか否かを示すシンタックス要素add_layer_id_included_flag[ layerId ]を復号する。レイヤlayerIdの含有フラグadd_layer_id_included_flag [ layerId ]が1である場合には、レイヤlayerIdの直接予測レイヤkを走査し、レイヤlayerIdの直接予測レイヤkが存在する場合には、シンタックス構造(addLayerSetId, k)を復号する。すなわち、直接予測レイヤの含有フラグが1かつ、ノードの直接予測レイヤが存在する場合には、上記直接予測レイヤをノードとして、ノードの含有フラグを再帰的に復号する。なお、第2レイヤセット復号部1222Gは、含有フラグadd_layer_id_included_flag[][]を復号しない場合には、0が導出される。
 図54は、本発明の実施形態に係る第2レイヤセット復号部1222Gの復号する第2レイヤセットの構成を示す図である。ここでは、レイヤセットi、レイヤjをノードとする例を示している。レイヤセットi、レイヤjのシンタックス構造layer_tree(i, j)では、レイヤセットiにおけるレイヤjの含有フラグadd_layer_id_included_flag[i][j]を復号する。図ではadd_layer_id_included_flag[i][j]が1の例を示す。レイヤjの含有フラグadd_layer_id_included_flag[i][j]が1の場合、レイヤjの直接予測レイヤを、direct_dependency_flagに基づいてチェックする。具体的にはノードj+1、j+2, j+3,…,最大レイヤ数-1(MaxLayersMinus1)までの直接依存フラグdirect_dependency_flag[j+1][j]、direct_dependency_flag[j+2][j]、direct_dependency_flag[j+3][j]、…、direct_dependency_flag[最大レイヤ数―1][j]を走査し、直接依存フラグが1である直接予測レイヤ(例えばj+1)に対して、シンタックス構造layer_tree(i, j+1)を復号し、レイヤの含有フラグを復号する。図では、direct_dependency_flag[j+1][j]=1、direct_dependency_flag[j+2][j]=0、direct_dependency_flag[j+3][j]=1の例を示しており、ノードlayer_tree(i, j)に対し、ノードlayer_tree(i, j+1) 、ノードlayer_tree(i, j+3)が復号する。
 以上の動作により、追加レイヤセットiのシンタックス要素add_layer_id_included_flagが復号された後、第2レイヤセット復号部1222Gは、レイヤセットを以下の擬似コードのように導出しても良い。vps_num_layer_sets_minus1は、第1のレイヤセットのレイヤセット数―1である。追加レイヤセットiは、レイヤセットvps_num_layer_sets_minus1 + 1 + iに相当する、これをlsIdxとし、レイヤセット復号部122Gは、レイヤセットlsIdxが含むレイヤIDのリストLayerSetLayerIdList[ lsIdx ][]およびレイヤセットlsIdxがレイヤlayerIdを含むか否かを示すフラグlayer_id_included_flag[ lsIdx ][]を導出する。具体的には、0から最大レイヤ数―1(MaxLayersMinus1)までのlayerIdについて、レイヤセットiに対するレイヤlayerIdの含有フラグadd_layer_id_included_flag[ i ][ layerId ]が1である場合には、レイヤIDのリストLayerSetLayerIdList[ lsIdx ][]にレイヤlayerIdのレイヤIDlayer_id_in_nuh[ layerId ]を追加し、フラグlayer_id_included_flag[ lsIdx ][ layerId]を1とする。レイヤセットiに含まれるレイヤ数layerNumを1だけインクリメントする。
 layerNum = 0
 lsIdx = vps_num_layer_sets_minus1 + 1 + i
 for( layerId = 0; layerId <= MaxLayersMinus1; layerId++ ) {
  layer_id_included_flag[ lsIdx ][ layerId ] = 0
  if (add_layer_id_included_flag[ i ][ layerId ]) {
   LayerSetLayerIdList[ lsIdx ][ layerNum ] = layer_id_in_nuh[ layerId ]
   layer_id_included_flag[ lsIdx ][ layerId ] = 1
  layerNum++
 }
 numLayersInIdList[ lsIdx ] = layerNum
 以上の構成のレイヤセット復号部122Gによれば、非依存レイヤをルートとして、直接依存フラグdirect_dependency_flagが1であるレイヤに対してツリー構造を辿りながら、含有フラグadd_layer_id_included_flag[][]を復号することにより、少ない符号量でレイヤセットの復号することができる効果を奏する。すなわち、あるレイヤの含有フラグadd_layer_id_included_flag[][]が含まれないことを示す0である場合には、レイヤセットに含まれないレイヤであるそのレイヤの直接予測レイヤおよび間接依存レイヤの含有フラグadd_layer_id_included_flag[][]を復号することがないため、符号量を低減することができる。また、非依存レイヤ(独立レイヤ)を参照するレイヤが参照関係において複数の子(ノード)を有する場合において、特定の子と非依存レイヤのみを含むレイヤセットを導出することも可能である。
 (レイヤセット復号部122Gの変形例)
 以下、第2レイヤセット復号部1222の別の構成である第2レイヤセット復号部1222Gの変形例を説明する。第2レイヤセット復号部1222Gの変形例の概略構成は、第2レイヤセット復号部1222Gと同じであり、図50で説明した通りである。なお、第2レイヤセット復号部1222Gの変形例は、第2レイヤセット復号部1222Gとシンタックス構造が異なるだけであり、依存関係を用いた含有フラグの復号方法の概略は等しい。
 レイヤセット復号部122Gの変形例の概略動作は以下の通りである。第2レイヤセット復号部1222の変形例は、各レイヤに対して、上記レイヤが非依存レイヤであるか、もしくは、上記レイヤが含有フラグが1であるレイヤの直接予測レイヤであれば、上記含有フラグを復号し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出する。第2レイヤセット復号部1222の変形例は、識別子iで示される各レイヤに対して、上記レイヤiが非依存レイヤの場合であるか、もしくは、i未満の識別子jで示される各レイヤjに対して、レイヤjの含有フラグが1であり、かつ、レイヤiがレイヤjの直接予測レイヤである場合(レイヤjとレイヤiと間の直接予測レイヤフラグが1である場合)に、上記レイヤiの含有フラグを復号し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出する。
 図55は、本発明の実施形態に係るレイヤセット復号部122Gの変形例の復号する第2レイヤセットのシンタックステーブルの一例である。NumIndependentLayersは第1レイヤセットにおける独立レイヤ数、num_add_layer_sets、add_layer_id_included_flagは第2レイヤセットに関するシンタックス要素を示す。
 レイヤセット復号部122Gの変形例はVPS(VPS拡張)から以下のように第2レイヤセットを復号する。レイヤセット復号部122Gは、第1レイヤセットにおける独立レイヤ数NumIndependentLayersが1より大きい場合、第2レイヤセット数を示すnum_add_layer_setsを復号する。レイヤセット復号部122Gは、0からnum_add_layer_sets-1までの識別子iで示されるレイヤセットiを以下のように復号する。0から最大レイヤ数―1(MaxLayersMinus1)のレイヤ識別子jについて、レイヤ識別子jが非依存レイヤであるか(NumDirectRefLayers[ iNuhLId ] == 0)、レイヤ識別子jが、含有フラグadd_layer_id_included_flag[ i ][ k ]が1であるレイヤの直接予測レイヤdirect_dependency_flag[j ][ k ]==1である場合に、レイヤjの含有フラグadd_layer_id_included_flag[ i ][ j ]を復号する。ここでlayer_id_in_nuhは、識別子からレイヤIDを導出するためのテーブルであり、iNuhLIdは、レイヤjのレイヤIDを示す。レイヤjの含有フラグadd_layer_id_included_flag[ i ][ j ]を復号した後は、nextLayerFlag=1とし、次のレイヤj+1の処理に移る。より、具体的には、レイヤセット復号部122Gの変形例は、レイヤjについて、レイヤjが非依存レイヤである場合に、レイヤjの含有フラグadd_layer_id_included_flag[ i ][ j ]を復号する。さらに、k=1からk<jを満たす中間レイヤkを走査し、中間レイヤkとして、含有フラグ(add_layer_id_included_flag[ i ][ k ])が1、かつ、レイヤjが中間レイヤkの直接予測レイヤdirect_dependency_flag[ j ][ k ]==1である場合に、レイヤjの含有フラグadd_layer_id_included_flag[ i ][ j ]を復号する。なお、k=1からk<jを満たす中間レイヤkを走査はnextLayerFlag=1の場合に終了する。走査の前に、nextLayerFlag=0とし、レイヤjの含有フラグadd_layer_id_included_flag[ i ][ j ]を復号した時点でnextLayerFlag=1とすることにより、一度復号したレイヤjの含有フラグadd_layer_id_included_flag[ i ][ j ]を2度復号することを防ぐ。なお、nextLayerFlagに替えて、レイヤjの含有フラグadd_layer_id_included_flag[ i ][ j ]を復号した時点でk=jとし、k<jまでの走査を終了する処理としても良い。
 図56は、本発明の実施形態に係る第2レイヤセット復号部2222Gの変形例が符号化し、第2レイヤセット復号部1222Gの変形例の復号する第2レイヤセットの構成を示す図である。図中の丸い図形はレイヤを示し、図形中の数字はレイヤを示す識別子である。太字の図形は、追加レイヤセットに含まれるレイヤを示す。矢印は、直接依存関係を示す。ここでは識別子1、2、3、4のレイヤセットがあり、レイヤ1は非依存レイヤ(NumDirectRefLayers=0)であり、レイヤ1とレイヤ2、レイヤ2とレイヤ3、レイヤ3とレイヤ4の間には直接依存関係がある(direct_dependency_flag[2][1] = 1、direct_dependency_flag[3][2] = 1、direct_dependency_flag[4][3] = 1)。第2レイヤセット復号部1222Gの変形例は、レイヤ1が非依存レイヤであるので、レイヤ1の含有フラグadd_layer_id_included_flag[ i ][ 1 ]を復号する。さらに、第2レイヤセット復号部1222Gの変形例は、レイヤ2がレイヤ1の直接予測レイヤであり(direct_dependency_flag[2][1] = 1)、かつ、レイヤ1の含有フラグadd_layer_id_included_flag[ i ][ 1 ]が1であるので、レイヤ2の含有フラグadd_layer_id_included_flag[ i ][ 2 ]を復号する。さらに、第2レイヤセット復号部1222Gの変形例は、レイヤ3がレイヤ2の直接予測レイヤであり(direct_dependency_flag[3][2] = 1)、かつ、レイヤ2の含有フラグadd_layer_id_included_flag[ i ][ 2 ]が1であるので、レイヤ3の含有フラグadd_layer_id_included_flag[ i ][ 3 ]を復号する。第2レイヤセット復号部1222Gの変形例は、レイヤ4がレイヤ3の直接予測レイヤ(direct_dependency_flag[4][3] = 1)であるが、レイヤ3の含有フラグadd_layer_id_included_flag[ i ][ 3 ]が0であるので、レイヤ4の含有フラグadd_layer_id_included_flag[ i ][ 4 ]を復号しない。第2レイヤセット復号部1222Gの変形例も、含有フラグadd_layer_id_included_flag[][]を復号しない場合には、0が導出される。図の例では、レイヤ1、レイヤ2から構成される追加レイヤセット(第2のレイヤセット)が導出される。
 以上の構成のレイヤセット復号部122Gの変形例によれば、非依存レイヤであるか、含有フラグadd_layer_id_included_flag[][]であるレイヤの直接予測レイヤにおいて、含有フラグadd_layer_id_included_flag[][]を復号することにより、少ない符号量でレイヤセットの復号することができる効果を奏する。すなわち、あるレイヤの含有フラグadd_layer_id_included_flag[][]が0である場合には、そのレイヤセットに含まれないレイヤのレイヤの直接予測レイヤおよび間接依存レイヤの含有フラグadd_layer_id_included_flag[][]を復号することがないため、符号量を低減することができる。また、非依存レイヤ(独立レイヤ)を参照するレイヤが参照関係において複数の直接予測レイヤ(ノード)を有する場合において、特定の直接予測レイヤと非依存レイヤのみを含むレイヤセットを導出することも可能である。
 (レイヤセット復号部122F)
 以下、レイヤセット復号部122の別の構成のレイヤセット復号部122Fを図32を用いて説明する。レイヤセット復号部122Fは、第1レイヤセット復号部 1221、第1レイヤセット復号部1221Fから構成され、レイヤセット復号部122Eと同様、第1レイヤセット復号部1221で復号された第1のレイヤセットに基づいて第2のレイヤセットを復号する。第1レイヤセット復号部1221は既に説明した通りであるため説明を省略する。
 より具体的には、第2レイヤセット復号部1222Fは、第1のレイヤセットを参照するためのインデックスと、オフセットを復号し、インデックスで指定された第1のレイヤセットをオフセットを用いて変形する。
 図33は、第2レイヤセット復号部1222Fが復号するレイヤセット情報のシンタックスの一例である。第2レイヤセット復号部1222Fは、追加レイヤセット数num_refered_layer_setsを符号化データから復号する。第2レイヤセット復号部 1222Fは、0からnum_refered_layer_sets-1までのインデックスiに対して、第1レイヤセット復号部1221が復号した第1のレイヤセットを参照するインデックスref_layer_set_idx[i]を復号する。第2レイヤセット復号部1222Fは、オフセットlayer_id_offset[ i ]を復号する。第2レイヤセット復号部1222Fは、ref_layer_set_idx[i]で指定される第1のレイヤセットの要素のレイヤインデックスにオフセットlayer_id_offset[ i ]を加えた値から構成されるレイヤインデックスから構成されるレイヤをレイヤを要素とするレイヤセットを導出する。
 図34は、第2レイヤセット復号部1222Fが復号するレイヤセットを示す図である。図34に示すように、第2レイヤセット復号部1222Fは、参照インデックスref_layer_set_idx[i]で指定される 第1のレイヤセット(ここではL0、L1)に対してオフセットlayer_id_offset[ i ]だけインデックスをずらしたレイヤを要素とするレイヤセットを導出する。図34では、オフセットが10、20、40である場合を示している。各々、L10、L11を要素とするレイヤセット、L20、L21を要素とするレイヤセット、L40、L41を要素とするレイヤセットが導出される。
 上記、第2レイヤセット復号部1222Fによれば、第1レイヤセット復号部1221を用いて復号された第1レイヤセットを参照して、レイヤセットを導出するため、少ない符号量でレイヤセットを復号することができるという効果を奏する。
 (プロファイル情報復号部123)
 図20は、プロファイル情報復号部123が復号するプロファイル情報のシンタックスの一例である。プロファイル情報復号部123は、プロファイル情報セットの数としてvps_num_profile_tier_level_minus1を復号し、vps_num_profile_tier_level_minus1+1個のプロファイル情報として、profile_tier_level( vps_profile_present_flag[ i ], vps_max_sub_layers_minus1 )を復号する。
 図20に示すmore_output_layer_sets_than_default_flag、num_add_output_layer_sets_minus1、default_one_target_output_layer_idc、output_layer_set_idx_minus1は、アウトプットレイヤセットに関するシンタックスである。アウトプットレイヤセットは、レイヤセット復号部122で復号されたレイヤセット(デフォルトレイヤセット)に基づいて、デフォルトレイヤセットと要素となるレイヤは同じでアウトプットするレイヤ(アウトプットフラグoutput_layer_flag)のみが異なるレイヤセットを導出する。
 プロファイル情報復号部123は、0からレイヤセット数(numOutputLayerSets-1)までのインデックスiに対して、プロファイル情報へのインデックスprofile_level_tier_idx[ i ] を復号する。インデックスiで示されるプロファイル情報は、profile_level_tier_idx[ i ]のインデックスが示すプロファイル情報セットの要素(profile_level_tier_idx[ i ]で指定されるVPS拡張内のprofile_tier_level())として復号する。
 なお、第2レイヤセット復号部1222Cで既に説明したように、共通プロファイル情報として追加レイヤセットを復号した場合には、追加レイヤセットに対するプロファイル情報profile_level_tier_idx[ i ]は復号せずに、すでに説明したように、profile_level_tier_idx[layerSetId]にadd_profile_level_tier_idxを設定する。
 図35は、ビットレート情報復号部124の構成を示す概略図である。ビットレート情報復号部124は、ビットレート情報セット復号部1241、ビットレート情報インデックス復号部1242を含んで構成される。
 図36は、本発明の実施形態に係るビットレート情報復号部124が復号するビットレート情報のシンタックステーブルの一例である。ビットレート情報復号部124は、ビットレート情報数として、vps_num_rate_info_minus1を復号する。vps_num_rate_info_minus1+1がビットレート情報数に対応する。
 以後、ビットレート情報復号部124は0から、vps_num_rate_info_minus1までのインデックスiに対して、ビットレートプレゼントフラグbit_rate_present_flag[ i ]、ピクチャレートプレゼントフラグpic_rate_present_flag[ i ]、平均ビットレートavg_bit_rate[ i ]、最大ビットレートmax_bit_rate[ i ]、固定ピクチャレートフラグconstant_pic_rate_idc[ i ]、平均ピクチャレートavg_pic_rate[ i ]を復号する。
 ビットレート情報復号部124は、0からvps_number_layer_sets_minus1までのインデックスiが示すレイヤセットの、0からvps_max_sub_layers_minus1までのインデックスjが示すサブレイヤに対するビットレート情報を示すインデックスvps_rate_info_idx[i][j]を復号する。さらに、ビットレート情報復号部124は、インデックスiが示すレイヤセットのインデックスjのサブレイヤのビットレート情報として、平均ビットレート、最大ビットレート、固定ピクチャレートフラグ、平均ピクチャレートを、インデックスvps_rate_info_idx[i][j]で参照される平均ビットレートavg_bit_rate[vps_rate_info_idx[i][j]]、最大ビットレートmax_bit_rate[vps_rate_info_idx[i][j]]、固定ピクチャレートフラグconstant_pic_rate_idc[vps_rate_info_idx[i][j] ]、平均ピクチャレートavg_pic_rate[vps_rate_info_idx[i][j]]に設定する。
 上記構成のビットレート情報復号部124は、1つ以上のビットレート情報を復号するビットレート情報セット復号部1241と、上記レイヤセット復号手段が復号したレイヤセットに割り当てるビットレート情報を識別するインデックスを復号するビットレート情報インデックス復号手段1242を備えることにより、ビットレート情報の符号量を低減させる効果を奏する。
 なお、インデックスvps_rate_info_idx[i][j]のビット数は、レイヤセットの最大数を1024とすると、1024の2の対数である10よりも小さい数であることが好ましい。例えば8であることが好ましい。この場合には、レイヤセット数の最大数が1024個である場合に、レイヤセットに対して付加するビットレート情報の最大数が256個になるため、全てのレイヤセットに対して異なるビットレート情報を割り当てることは不可能となるが、レイヤセット単位で必要なインデックスvps_rate_info_idx[i][j]に必要なビット量が8ビットに制限されるため、符号化データの符号量が低減される。すなわち、ビットレート情報セット復号部1241が復号するビットレート情報の最大値は、レイヤセットの最大値未満であり、上記ビットレート情報インデックス復号部1242は、ビットレート情報の最大値の2の対数ビットだけのビットを符号化データから復号することにより、ビットレート情報の符号化データの符号量が低減される効果を奏する。
 (ピクチャ復号部14)
 ピクチャ復号部14は、入力されるVCL NALユニット、および、アクティブパラメータセットに基づいて復号ピクチャを生成して出力する。
 図25は、ピクチャ復号部14の概略的構成を示した機能ブロック図である。
 ピクチャ復号部14は、スライスヘッダ復号部141、CTU復号部142を備えている。CTU復号部142は、さらに、予測残差復元部1421、予測画像生成部1422、及びCTU復号画像生成部1423を含んでいる。
  (スライスヘッダ復号部141)
 スライスヘッダ復号部141は、入力されるVCL NALユニットとアクティブパラメータセットに基づいてスライスヘッダを復号する。復号したスライスヘッダは、入力されるVCL NALユニットと合わせてCTU復号部142に出力する。
 (CTU復号部142)
 CTU復号部142は、概略的には、入力されるスライスヘッダ、VCL NALユニットに含まれるスライスデータ、及びアクティブパラメータセットに基づいて、ピクチャを構成するスライスに含まれる各CTUに対応する領域の復号画像を復号することで、スライスの復号画像を生成する。スライスの復号画像は、入力されるスライスヘッダが示すスライス位置へ、復号ピクチャの一部として出力される。CTUの復号画像は、CTU復号部142内部の予測残差復元部1421、予測画像生成部1422、及びCTU復号画像生成部1423により生成される。
 予測残差復元部1421は、入力のスライスデータに含まれる予測残差情報(TT情報)を復号して対象CTUの予測残差を生成して出力する。
 予測画像生成部1422は、入力のスライスデータに含まれる予測情報(PT情報)の示す予測方法と予測パラメータに基づいて予測画像を生成して出力する。その際、必要に応じて、参照ピクチャの復号画像や符号化パラメータが利用される。例えば、インター予測、または、レイヤ間画像予測を使用する場合は、復号ピクチャ管理部15より対応する参照ピクチャを読み出す。なお、予測画像生成部1422による予測画像生成処理のうち、レイヤ間画像予測が選択された場合の予測画像生成処理の詳細は後述する。
 CTU復号画像生成部1423は、入力される予測画像と予測残差を加算して対象CTUの復号画像を生成して出力する。
  <ピクチャ復号部14の復号プロセス>
 図26は、ピクチャ復号部14における対象レイヤiのピクチャを構成するスライス単位の復号プロセスを示すフロー図である。
 (SD101)復号対象スライスの先頭スライスフラグ(first_slice_segment_in_pic_flag)を復号する。先頭スライスフラグが1の場合、復号対象スライスは、ピクチャ内の復号順(以降、処理順)で先頭スライスであり、復号対象スライスの先頭CTUのピクチャ内でのラスタスキャン順での位置(以降、CTUアドレス)を0に設定する。さらに、ピクチャ内の処理済みCTU数のカウンタnumCtb(以降、処理済CTU数numCtb)を0に設定する。先頭スライスフラグが0の場合、後述のSD106で復号されるスライスアドレスに基づいて、復号対象スライスの先頭CTUアドレスを設定する。
 (SD102)復号対象スライスの復号時に参照するアクティブPPSを指定するアクティブPPS識別子(slice_pic_paramter_set_id)を復号する。
 (SD104)アクティブパラメータセットをパラメータセット管理部13よりフェッチする。すなわち、復号対象スライスが参照するアクティブPPS識別子(slice_pic_parameter_set_id)と同一のPPS識別子(pps_pic_parameter_set_id)を有するPPSをアクティブPPSとし、パラメータセット管理部13から、アクティブPPSの符号化パラメータをフェッチする(読み出す)。さらに、アクティブPPS内のアクティブSPS識別子(pps_seq_parameter_set_id)と同一のSPS識別子(sps_seq_parameter_set_id)を有するSPSをアクティブSPSとし、パラメータセット管理部13から、アクティブSPSの符号化パラメータをフェッチする。さらに、アクティブSPS内のアクティブVPS識別子(sps_video_parameter_set_id)と同一のVPS識別子(vps_video_parameter_set_id)を有するVPSをアクティブVPSとし、パラメータセット管理部13から、アクティブVPSの符号化パラメータをフェッチする。
 (SD105)復号対象スライスが、ピクチャ内の処理順で先頭スライスであるか否かを先頭スライスフラグに基づいて判定する。先頭スライスフラグが0の場合(SD105でYes)、ステップSD106へ遷移する。それ以外の場合(SD105でNo)、ステップSD106の処理をスキップする。なお、先頭スライスフラグが1の場合、復号対象スライスのスライスアドレスは0である。
 (SD106)復号対象スライスのスライスアドレス(slice_segment_address)を復号し、復号対象スライスの先頭CTUアドレスを設定する。例えば、先頭スライスCTUアドレス=slice_segment_addressである。
・・・省略・・・
 (SD10A)CTU復号部142は、入力されるスライスヘッダ、アクティブパラメータセット、及びVCL NALユニットに含まれるスライスデータ内の各CTU情報に基づいて、ピクチャを構成するスライスに含まれる各CTUに対応する領域のCTU復号画像を生成する。さらに、各CTU情報の後に、該CTUが復号対象スライスの終端であるかを示すスライス終端フラグ(end_of_slice_segment_flag)。また、各CTUの復号後に、処理済CTU数numCtbの値を1加算する(numCtb++)。
 (SD10B)該CTUが復号対象スライスの終端であるか否かをスライス終端フラグに基づいて判定する。スライス終端フラグが1の場合(SD10BでYes)、ステップSD10Cへ遷移する。それ以外の場合(SD10BでNo)、後続のCTU情報を復号するため、ステップSD10Aへ遷移する。
 (SD10C)処理済CTU数numCtuが、ピクチャを構成するCTUの総数(PicSizeInCtbsY)に達したか判定する。すなわち、numCtu==PicSizeInCtbsYであるか判定する。numCtuがPicSizeInCtbsYと等しい場合(SD10CでYes)、復号対象ピクチャを構成するスライス単位の復号処理を終了する。それ以外の場合(numCtu<PicSizeInCtbsY)(SD10CでNo)、復号対象ピクチャを構成するスライス単位の復号処理を継続するため、ステップSD101へ遷移する。
 以上、実施例1に係るピクチャ復号部14の動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
 〔階層動画像符号化装置〕
 以下では、本実施形態に係る階層動画像符号化装置2の構成について、図37を参照して説明する。
 (階層動画像符号化装置の構成)
 図37を用いて、階層動画像符号化装置2の概略構成を説明する。図37は、階層動画像符号化装置2の概略的構成を示した機能ブロック図である。階層動画像符号化装置2は、符号化対象とするレイヤセット(対象レイヤセット)に含まれる各レイヤの入力画像PIN#T(ピクチャ)を符号化して、対象レイヤセットの階層符号化データDATAを生成する。すなわち、動画像符号化装置2は、対象レイヤセットLayerSetTargetのレイヤIDリストの要素LayerIdListTarget[0]…LayerIdListTarget[N-1](Nは対象レイヤセットに含まれるレイヤ数)の順で、各レイヤのピクチャを符号化し、その符号化データを生成する。
 図37に示すように階層動画像符号化装置2は、対象レイヤセットピクチャ符号化部20、及びNAL多重化部21を含んで備える。さらに、対象レイヤセットピクチャ符号化部20は、パラメータセット符号化部22、ピクチャ符号化部24、復号ピクチャ管理部15、および符号化パラメータ決定部26を含んで構成される。
 復号ピクチャ管理部15は、既に説明した階層動画像復号装置1の備える復号ピクチャ管理部15と同一の構成要素である。ただし、階層動画像符号化装置2の備える復号ピクチャ管理部15では、内部のDPBに記録されたピクチャを出力ピクチャとして出力する必要はないため、当該出力は省略可能である。なお、階層動画像復号装置1の復号ピクチャ管理部15の説明において「復号」として説明した記載は「符号化」と置き換えることで、階層動画像符号化装置2の備える復号ピクチャ管理部15にも適用できる。
 NAL多重化部21は、入力される対象レイヤセットの各レイヤのVCL、及びnon-VCLを、NALユニットに格納することでNAL多重化した階層動画像符号化データDATA#Tを生成し、外部へ出力する。言い換えれば、NAL多重化部21は、対象レイヤセットピクチャ符号化部20から供給されるnon-VCLの符号化データ、VCLの符号化データ、及び各non-VCL、VCLに対応するNALユニットタイプ、レイヤ識別子、テンポラル識別子を、NALユニットに格納して(符号化して)、NAL多重化した階層符号化データDATA#Tを生成する。
 符号化パラメータ決定部26は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、各パラメータセット(VPS、SPS、PPS)に関連した各種パラメータや、ピクチャを符号化するための予測パラメータや、該予測パラメータに関連して生成される符号化の対象となるパラメータである。符号化パラメータ決定部26は、上記符号化パラメータの複数のセットの各々について情報量の大きさと符号化誤差を示すコスト値を算出する。コスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータを可変長符号化して得られる対象レイヤセットの各レイヤの符号化データの情報量である。二乗誤差は、入力画像PIN#Tと予測画像との差分値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部26は、算出したコスト値が最小となる符号化パラメータのセットを選択し、選択した各符号化パラメータのセットをパラメータセット符号化部22、及びピクチャ符号化部24へ供給する。
 パラメータセット符号化部22は、符号化パラメータ決定部26から入力される各パラメータセットの符号化パラメータと入力画像に基づいて、入力画像の符号化に用いるパラメータセット(VPS、SPS、およびSPS)を設定し、各パラメータセットをnon-VCL NALユニットに格納されるデータとして、NAL多重化部21へ供給する。なお、パラメータセット符号化部22で符号化されるパラメータセットには、階層動画像復号装置1の備えるパラメータセット復号部12の説明で記載したレイヤセット情報(レイヤセット情報の拡張データを含む)、レイヤ間依存情報(直接依存フラグ、レイヤ依存タイプビット長、レイヤ依存タイプ)、及びレイヤ間位置対応情報を含んでいる。
 また、パラメータセット符号化部22で生成されるパラメータセットには、該パラメータセットを識別する識別子、及び各レイヤのピクチャを復号するために参照する該パラメータセットが参照するパラメータセット(アクティブパラメータセット)を指定するアクティブパラメータセット識別子が含まれる。具体的には、ビデオパラメータセットVPSであれば、該VPSを識別するVPS識別子が含まれる。シーケンスパラメータセットSPSであれば、該SPSを識別するSPS識別子(sps_seq_parameter_set_id)、及び該SPSや他のシンタックスが参照するVPSを特定するアクティブVPS識別子(sps_video_parameter_set_id)が含まれる。ピクチャパラメータセットPPSであれば、該PPSを識別するPPS識別子(pps_pic_parameter_set_id)、及び該PPSや他のシンタックスが参照するSPSを特定するアクティブSPS識別子(pps_seq_parameter_set_id)が含まれる。
 図40は、パラメータセット符号化部22の構成を示す概略図である。パラメータセット符号化部22は、依存情報符号化部221、レイヤセット符号化部222、プロファイル情報符号化部223、ビットレート情報符号化部224を含んで構成される。
 依存情報符号化部221は、レイヤiとレイヤjの直接依存関係を示すフラグdirect_dependency_flag[i][j]を符号化データに符号化する。
 図41は、レイヤセット符号化部222の構成を示す概略図である。レイヤセット符号化部222は、第1レイヤセット符号化部2221、第2レイヤセット符号化部2222を含んで構成される。
 (第1レイヤセット符号化部2221)
 第1レイヤセット符号化部は、第1レイヤセットの数と、レイヤセットが含まれるか否かを示すシンタックス“layer_id_included_flag[i][j]”を符号化する。
 (第2レイヤセット符号化部2222)
 以下、第2レイヤセット復号部1222に対応する本実施形態の符号化装置である第2レイヤセット符号化部2222を説明する。図6は、本発明の実施形態に係る第2レイヤセットのシンタックステーブルの一例である。第2レイヤセット符号化部2222は、追加レイヤセットプレセントフラグadditional_layer_set_present_flagを1として符号化する。さらに、第2レイヤセット符号化部2222は、キーレイヤを示すシンタックスを符号化データに符号化する。ここでは、0から最大レイヤ識別子vps_max_layer_idまでのjに関して、add_layer_id_included_flag[ j ]を1として符号化する。add_layer_id_included_flag[ j ]が1の場合、インデックスjが示すレイヤがキーレイヤとなり、キーレイヤを含むレイヤセットが符号化される。より、具体的には、以下の処理を行う。
 レイヤセットリストlayerSetLayerIdListのインデックスであるレイヤセットインデックスlayerSetIdを、第1レイヤセット数vps_num_layer_sets_minus1+1に設定し、追加レイヤセット数NumAdditionalLayerSetに0をセットする。additional_layer_set_present_flagを1として符号化する。
 0からvps_max_layer_idのjに対して以下を実行する。
  add_layer_id_included_flag [j]を1として符号化する。これにより、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]が符号化される。レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
 以上の構成の第2レイヤセット符号化部2222によれば、依存性を復号するレイヤ間依存情報符号化手段の符号化するレイヤ間依存情報に基づいて第2レイヤセットを導出することによって、少ない符号量でレイヤセットを定義する効果を奏する。また、以上の構成の第2レイヤセット符号化部2222によれば、キーレイヤを復号し、キーレイヤとキーレイヤに直接、間接に依存するレイヤを含むレイヤセットを導出することを特徴とする。
 以上の構成の第2レイヤセット符号化部2222によれば、0からレイヤ数―1までのインデックスjに対してフラグadd_layer_id_included_flag[j]を復号し、前記フラグが1であるレイヤをキーレイヤとするレイヤセットを符号化することを特徴とすることによって、少ない符号量でレイヤセットを定義する効果を奏する。
 (第2レイヤセット符号化部2222B)
 以下、第2レイヤセット復号部1222Bに対応する本実施形態の符号化装置である第2レイヤセット符号化部2222Bを説明する。図8は、本発明の実施形態に係る第2レイヤセットのシンタックステーブルの別の一例である。第2レイヤセット符号化部2222Bは、補完レイヤフラグaccompanying_layer_flagを1として符号化データに符号化する。第2レイヤセット符号化部2222は、追加レイヤセットプレセントフラグadditional_layer_set_present_flagを1として符号化する。ここでは、0から最大レイヤ識別子vps_max_layer_idまでのjに関して、add_layer_id_included_flag[i][ j ]を1として符号化する。add_layer_id_included_flag[][ j ]が1であるので、インデックスjが示すレイヤがキーレイヤとなり、キーレイヤを含むレイヤセットが符号化される。また、accompanying_layer_flagが1の場合には、キーレイヤの補完レイヤと、補完レイヤの直接、間接依存レイヤもレイヤセットに追加する。具体的には、以下の処理を行う。
 レイヤセットリストlayerSetLayerIdListのインデックスであるレイヤセットインデックスlayerSetIdを、第1レイヤセット数vps_num_layer_sets_minus1+1に設定し、追加レイヤセット数NumAdditionalLayerSetに0をセットする。additional_layer_set_present_flagを1として符号化する。
 0からvps_max_layer_idのjに対して以下を実行する。
  もし、accompanying_layer_flag が0である場合には、add_layer_id_included_flag[accompanying_layer_flag][j]を1として符号化し、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]として符号化する。レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
  もし、accompanying_layer_flagが1である場合には、add_layer_id_included_flag[accompanying_layer_flag][j]を1として符号化し、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤ、レイヤAの補完レイヤBとレイヤBの直接、間接依存レイヤをレイヤセットlayerSetLayerIdList[layerSetId]として符号化する。レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
 以上の構成の第2レイヤセット符号化部2222Bによれば、第2レイヤセット符号化部2222の効果に加えて、キーレイヤに補完レイヤが否かを含むフラグを符号化もしくは導出し、補完レイヤを含む場合には、キーレイヤとキーレイヤに直接、間接に依存するレイヤと、補完レイヤと補完レイヤに直接、間接に依存するレイヤを含むレイヤセットを符号化することを特徴とする。これにより、2つのレイヤがペアとなるようなレイヤセットを少ない符号量で定義する効果を奏する。
 (第2レイヤセット符号化部2222C)
 以下、第2レイヤセット復号部1222Cに対応する本実施形態の符号化装置である第2レイヤセット符号化部2222Cを説明する。図8は、本発明の実施形態に係る第2レイヤセットのシンタックステーブルの別の例である。ここでは、図4の視点単位のレイヤセット、及び、図5のペア視点単位のレイヤセットを符号化する場合を説明する。
 第2レイヤセット符号化部2222Cは、補完レイヤフラグaccompanying_layer_flagを設定する。ここでは、第2レイヤセット符号化部2222Cは、iに関する0もしくは1のループによって、補完レイヤフラグaccompanying_layer_flagを0もしくは1に設定する。第2レイヤセット符号化部2222Cは、追加レイヤセットプレセントフラグadditional_layer_set_present_flag[i]を1として符号化する。さらに、第2レイヤセット符号化部2222Cは、キーレイヤを示すシンタックスを符号化データに符号化する。ここでは、0から最大レイヤ識別子vps_max_layer_idまでのjに関して、add_layer_id_included_flag[i][ j ]を1として符号化する。add_layer_id_included_flag[i][ j ]が1であるため、インデックスjが示すレイヤがキーレイヤとなり、キーレイヤを含むレイヤセットがこれにより符号化される。
 0もしくは1のaccompanying_layer_flagに対して以下を実行する。
 共通プロファイル情報フラグuse_common_profile_ref_flag[i]を1として符号化する。共通プロファイル情報フラグuse_common_profile_ref_flag[i]が1であるため、キーレイヤを用いて符号化される追加レイヤセットに共通するプロファイル情報を示すインデックスである共通プロファイル情報インデックスadd_profile_level_tier_idx[i]を符号化する、0からvps_max_layer_idのjに対して以下を実行する。
  もし、accompanying_layer_flag が0の場合には、dd_layer_id_flag[accompanying_layer_flag][j]が1として符号化し、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤをレイヤセットを符号化する。レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
  もし、accompanying_layer_flagが1の場合には、add_layer_id_included_flag[accompanying_layer_flag][j]を1として符号化し、インデックスjが示すレイヤA(キーレイヤ)と、レイヤAの直接、間接依存レイヤ、レイヤAの補完レイヤBとレイヤBの直接、間接依存レイヤとするレイヤセットlayerSetLayerIdList[layerSetId]が符号化される。また、レイヤセットインデックスlayerSetIdに1を加える。さらに、NumAdditionalLayerSetを1だけインクリメントする。
 以上の構成の第2レイヤセット符号化部2222Cによれば、第2レイヤセット符号化部2222の効果に加えて、キーレイヤに補完レイヤが否かを含むフラグを復号もしくは導出し、補完レイヤを含む場合には、キーレイヤとキーレイヤに直接、間接に依存するレイヤと、補完レイヤと補完レイヤに直接、間接に依存するレイヤを含むレイヤセットを導出することを特徴とする。これにより、2つのレイヤがペアとなるようなレイヤセットを少ない符号量で定義する効果を奏する。さらに、第2レイヤセット符号化部2222Bの効果に加えて以下の効果を奏する。2つのレイヤがペアとなる場合、および、ならない場合(accompaning_layer_flagが1の場合と0の場合)の両者に対してキーレイヤを復号することにより、2つのレイヤがペアとなる場合、ならない場合両者に対して少ない符号量でレイヤセットを定義する効果を奏する。
 さらに、共通プロファイル情報フラグにより、キーレイヤにより定義されるレイヤセットに対して共通のプロファイル情報を設定することができる。これにより、キーレイヤにより定義されるレイヤ全てに対して個々のレイヤセット情報を復号する場合に比べて少ない符号量でプロファイル情報を復号する効果を奏する。
 プロファイル情報符号化部223は、プロファイル情報セット数-1をvps_num_profile_tier_level_minus1で符号化し、1からvps_num_profile_tier_level_minus1までのインデックスiに対するプロファイル情報セットprofile_tier_level()を符号化する。さらに、プロファイル情報符号化部223は、レイヤセットに関するプロファイル情報を指定するインデックスprofile_level_tier_idx[ i ]を符号化する。なお、プロファイル情報符号化部223は、第2レイヤセット符号化部2222Cのように、共通プロファイル情報を用いる場合には、第2レイヤセット符号化部2222Cで符号化される追加レイヤセットに対しては、profile_level_tier_idx[ i ]を符号化しない。追加レイヤセットのプロファイル情報を示すインデックスは、add_profile_level_tier_idxにより符号化される。
 (第2レイヤセット符号化部2222D)
 以下、第2レイヤセット復号部1222Dに対応する本実施形態の符号化装置である第2レイヤセット符号化部2222Dを説明する。既に第2レイヤセット復号部1222Dで説明したように、第2レイヤセット符号化部2222Dは、共通HRDパラメータフラグuse_common_hrd_param_flag[i]と共通プロファイル情報インデックスadd_profile_level_tier_idx[i]の代わりに、共通HRDパラメータフラグuse_common_hrd_param_flag[i]と、HRDパラメータを識別するための共通HRDパラメータインデックスadd_hrd_param_idx[i]を符号化する。その他の動作は、第2レイヤセット符号化部2222Cと同じであるため説明を省略する。
 (第2レイヤセット符号化部2222E)
 図42は、レイヤセット符号化部222Eの構成を示す概略図である。レイヤセット符号化部222Eは、第1レイヤセット符号化部2221、第2レイヤセット符号化部2222Eを含んで構成される。第2レイヤセット符号化部2222Eは、第2レイヤセット復号部1222Eに対応する手段であり、第1レイヤセット符号化部2221が符号化する第1のレイヤセットに基づいて、第2のレイヤセットを符号化する。具体的には、追加レイヤセット数num_refered_layer_setsを符号化し、0からnum_refered_layer_sets-1までのインデックスiに対して、第1のレイヤセットを指定するためのインデックスref_layer_set_idx[i]を符号化し、さらに第2のレイヤセットのキーレイヤとなるレイヤを指定するためのシンタックスlayer_id_added_flag[ i ][ j ]を、0からレイヤ数vps_max_layer_id-1までのインデックスjに対して符号化する。layer_id_added_flag[ i ][ j ]が1で符号化することにより、インデックスjで指定されるキーレイヤと、インデックスiで指定される第1のレイヤセットから構成されるレイヤセットが第2のレイヤセットとして符号化される。以上の構成では、第1レイヤセット符号化部2221で符号化するレイヤセットに基づいて第2のレイヤセットを符号化するため、レイヤセットの符号量を低減することができる。
 (第2レイヤセット符号化部2222F)
 図43は、レイヤセット符号化部222Fの構成を示す概略図である。レイヤセット符号化部222Fは、第1レイヤセット符号化部2221、第2レイヤセット符号化部2222Fを含んで構成される。第2レイヤセット符号化部2222Eは、第2レイヤセット復号部1222Fに対応する手段であり、第1レイヤセット符号化部2221が符号化する第1のレイヤセットに基づいて、第2のレイヤセットを符号化する。具体的には、追加レイヤセット数num_refered_layer_setsを符号化し、0からnum_refered_layer_sets-1までのインデックスiに対して、第1のレイヤセットを指定するためのインデックスref_layer_set_idx[i]を符号化し、さらに第1のレイヤセットの要素のオフセットとなるlayer_id_offset[ i ]を符号化する。これにより、インデックスiで指定される第1のレイヤセットの要素を示す各インデックスに、オフセットlayer_id_offset[ i ]を加えてできるインデックスが示すレイヤを要素とするレイヤセットが第2のレイヤセットとして符号化される。以上の構成では、第1レイヤセット符号化部2221で符号化するレイヤセットに基づいて第2のレイヤセットを符号化するため、レイヤセットの符号量を低減することができる。
 図44は、ビットレート情報符号化部224の構成を示す概略図である。ビットレート情報符号化部224は、ビットレート情報セット符号化部2241、ビットレート情報インデックス符号化部2242を含んで構成される。
 図36は、本発明の実施形態に係るビットレート情報符号化部224が符号化するビットレート情報のシンタックステーブルの一例である。
 以後、ビットレート情報符号化部224は0から、vps_num_rate_info_minus1までのインデックスiに対して、ビットレートプレゼントフラグbit_rate_present_flag[ i ]、ピクチャレートプレゼントフラグpic_rate_present_flag[ i ]、平均ビットレートavg_bit_rate[ i ]、最大ビットレートmax_bit_rate[ i ]、固定ピクチャレートフラグconstant_pic_rate_idc[ i ]、平均ピクチャレートavg_pic_rate[ i ]を符号化する。
 ビットレート情報符号化部224は、0からvps_number_layer_sets_minus1までのインデックスiが示すレイヤセットの、0からvps_max_sub_layers_minus1までのインデックスjが示すサブレイヤに対するビットレート情報を示すインデックスvps_rate_info_idx[i][j]を符号化する。
 上記構成のビットレート情報符号化部224は、1つ以上のビットレート情報を復号するビットレート情報セット符号化部2241と、上記レイヤセット復号手段が復号したレイヤセットに割り当てるビットレート情報を識別するインデックスを符号化するビットレート情報インデックス符号化手段2242を備えることにより、ビットレート情報の符号量を低減させる効果を奏する。
 なお、インデックスvps_rate_info_idx[i][j]のビット数は、レイヤセットの最大数を1024とすると、1024の2の対数である10よりも小さい数であることが好ましい。例えば8であることが好ましい。この場合には、レイヤセット数の最大数が1024個である場合に、レイヤセットに対して付加するビットレート情報の最大数が256個になるため、全てのレイヤセットに対して異なるビットレート情報を割り当てることは不可能となるが、レイヤセット単位で必要なインデックスvps_rate_info_idx[i][j]に必要なビット量が8ビットに制限されるため、符号化データの符号量が低減される。すなわち、ビットレート情報セット符号化部2241が符号化するビットレート情報の最大値は、レイヤセットの最大値未満であり、上記ビットレート情報インデックス復号部1242は、ビットレート情報の最大値の2の対数ビットだけのビットを符号化データから復号することにより、ビットレート情報の符号化データの符号量が低減される効果を奏する。
 ピクチャ符号化部24は、入力される各レイヤの入力画像PIN#T、符号化パラメータ決定部26より供給されるパラメータセット、および復号ピクチャ管理部15に記録されている参照ピクチャに基づいて、ピクチャを構成するスライスに対応する各レイヤの入力画像の一部を符号化して、当該部分の符号化データを生成し、VCL NALユニットに格納されるデータとして、NAL多重化部21へ供給する。ピクチャ符号化部24の詳細な説明は後述する。なお、ピクチャ符号化部24は、NAL多重化部21へVCLの符号化データを供給するときに、VCLに対応するNALユニットタイプ、レイヤ識別子、及びテンポラル識別子も付与して出力する。
 (レイヤセット符号化部222G)
 図51は、本発明の一実施形態に係るレイヤセット符号化部222Gの構成を示す概略図である。レイヤセット符号化部222Gは、第1レイヤセット符号化部2221、第2レイヤセット符号化部2222Gを含んで構成される。レイヤセット符号化部222Gは、第2レイヤセット復号部122Gに対応する手段であり図53のシンタックステーブルの構成を有するシンタックスを符号化データに符号化する。
 第2レイヤセット符号化部2222Gの動作は以下の通りである。第2レイヤセット符号化部2222Gは、非依存レイヤの含有フラグを符号化し、さらに、非依存レイヤの含有フラグが1の場合には、上記非依存レイヤの直接予測レイヤの含有フラグを符号化する。さらに、上記直接予測レイヤの含有フラグが1の場合には、その直接予測レイヤの含有フラグを符号化し、上記レイヤの含有フラグが1の場合には、その直接予測レイヤの含有フラグを符号化する動作を、直接予測レイヤがなくなるまで継続する。また、第2レイヤセット符号化部2222Gは、非依存レイヤをルートノードとして、ノードの含有フラグを復号し、上記ノードの直接予測レイヤの含有フラグが1かつ、上記ノードの直接予測レイヤが存在する場合には、上記直接予測レイヤをノードとして、ノードの含有フラグを再帰的に符号化する。
 以上の構成の第2レイヤセット符号化部2222Gによれば、非依存レイヤをルートとして、直接依存フラグdirect_dependency_flagが1であるレイヤに対してツリー構造を辿りながら、含有フラグadd_layer_id_included_flag[][]を符号化することにより、少ない符号量でレイヤセットの符号化することができる効果を奏する。
 第2レイヤセット符号化部222Gの変形例も第2レイヤセット符号化部222Gと概略構成は同じであり図51に示す通りである。レイヤセット符号化部222Gの変形例は、第1レイヤセット符号化部2221、第2レイヤセット符号化部2222Gの変形例を含んで構成される。レイヤセット符号化部222Gの変形例は、第2レイヤセット復号部122Gの変形例に対応する手段であり図55のシンタックステーブルの構成を有するシンタックスを符号化データに符号化する。
 第2レイヤセット符号化部2222Gの変形例の概略動作は以下の通りである。第2レイヤセット符号化部2222Gの変形例は、各レイヤに対して、上記レイヤが非依存レイヤであるか、もしくは、上記レイヤが含有フラグが1であるレイヤの直接予測レイヤであれば、上記含有フラグを符号化し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出する。第2第2レイヤセット符号化2222Gの変形例は、識別子iで示される各レイヤに対して、上記レイヤiが非依存レイヤの場合であるか、もしくは、i未満の識別子jで示される各レイヤjに対して、レイヤjの含有フラグが1であり、かつ、レイヤiがレイヤjの直接予測レイヤである場合(レイヤjとレイヤiと間の直接予測レイヤフラグが1である場合)に、上記レイヤiの含有フラグを符号化する。
 以上の構成のレイヤセット符号化部2222Gの変形例によれば、非依存レイヤであるか、含有フラグadd_layer_id_included_flag[][]であるレイヤの直接予測レイヤにおいて、含有フラグadd_layer_id_included_flag[][]を符号化することにより、少ない符号量でレイヤセットの符号化することができる効果を奏する。
 (ピクチャ符号化部24)
 図38を参照して、ピクチャ符号化部24の構成の詳細を説明する。図38は、ピクチャ符号化部24の概略的構成を示した機能ブロック図である。
 図38に示すように、ピクチャ符号化部24は、スライスヘッダ符号化部241、及びCTU符号化部242を含んで構成される。
 スライスヘッダ符号化部241は、入力されるアクティブパラメータセットに基づいてスライス単位で入力される各レイヤの入力画像の符号化に用いるスライスヘッダを生成する。生成されたスライスヘッダは、スライス符号化データの一部として出力されるとともに、入力画像と共にCTU符号化部242へ供給される。なお、スライスヘッダ符号化部241で生成されるスライスヘッダには、各レイヤのピクチャを復号するために参照するピクチャパラメータセットPPS(アクティブPPS)を指定するアクティブPPS識別子が含まれる。
 CTU符号化部242は、入力されるアクティブパラメータセット、スライスヘッダに基づいて、入力画像(対象スライス部分)をCTU単位で符号化して、対象スライスに係るスライスデータおよび復号画像(復号ピクチャ)を生成して出力する。より具体的には、CTU符号化部242は、パラメータセットが含むCTBサイズの大きさのCTBを単位として対象スライスの入力画像を分割し、各CTBに対応する画像を一つのCTUとして符号化する。CTUの符号化は、予測残差符号化部2421、予測画像符号化部2422、CTU復号画像生成部2423により実行される。
 予測残差符号化部2421は、入力される入力画像と予測画像の差分画像を、変換・量子化して得られる量子化残差情報(TT情報)を、スライス符号化データに含まれるスライスデータの一部として出力する。また、量子化残差情報に逆変換・逆量子化を適用して予測残差を復元し、復元した予測残差をCTU復号画像生成部2423に出力する。
 予測画像符号化部2422は、符号化パラメータ決定部26で決定された、対象スライスに含まれる対象CTUの予測方式および予測パラメータに基づいて、予測画像を生成して予測残差符号化部2421とCTU復号画像生成部2423に出力する。なお、予測方式や予測パラメータの情報は予測情報(PT情報)として可変長符号化されて、スライス符号化データに含まれるスライスデータの一部として出力される。予測画像符号化部2422で選択可能な予測方式には、少なくともレイヤ間画像予測が含まれている。
 予測画像符号化部2422は、予測方式としてレイヤ間画像予測が選択された場合、対応参照位置導出処理を実行して、予測対象画素に対応する参照レイヤ画素位置を決定し、該位置に基づく補間処理により予測画素値を決定する。対応参照位置導出処理としては、階層動画像復号装置1の予測画像生成部1422について説明した各処理が適用できる。例えば、<レイヤ画像予測による予測画像生成処理の詳細>で説明した処理が適用する。なお、インター予測、または、レイヤ間画像予測を使用する場合は、復号ピクチャ管理部15より対応する参照ピクチャを読み出す。
 以上、上記階層動画像符号化装置2の備える予測画像符号化部2422は、前記レイヤ間位相対応情報を用いて、予測対象画素に対応する参照レイヤピクチャ上の正確な位置を導出できるため、補間処理により生成される予測画素の正確さが向上する。そのため、上記階層動画像符号化装置2は、従来より少ない符号量で符号化データを生成して出力することができる。
 CTU復号画像生成部2423は、階層動画像復号装置1の備えるCTU復号画像制生成部1423と同一の構成要素であるため、説明を省略する。なお、対象CTUの復号画像は、復号ピクチャ管理部15へ供給され、内部のDPBに記録される。
  <ピクチャ符号化部24の符号化プロセス>
 以下、図39を参照して、ピクチャ符号化部24における対象レイヤiのピクチャの符号化の概略的な動作について説明する。図39は、ピクチャ符号化部24における対象レイヤiのピクチャを構成するスライス単位の符号化プロセスを示すフロー図である。
 (SE101)符号化対象スライスの先頭スライスフラグ(first_slice_segment_in_pic_flag) (図23のSYNSH01)を符号化する。すなわち、スライス単位に分割された入力画像(以降、符号化対象スライス)が、ピクチャ内の符号化順(復号順)(以降、処理順)で先頭スライスであれば、先頭スライスフラグ(first_slice_segment_in_pic_flag)が1である。符号化対象スライスが先頭スライスでなければ、先頭スライスフラグは0である。なお、先頭スライスフラグが1の場合、符号化対象スライスの先頭CTUアドレスを0に設定する。さらに、ピクチャ内の処理済みCTU数のカウンタnumCtbを0に設定する。先頭スライスフラグが0の場合、後述のSD106で符号化されるスライスアドレスに基づいて、符号化対象スライスの先頭CTUアドレスを設定する。
 (SE102)符号化対象スライスの符号化時に参照するアクティブPPSを指定するアクティブPPS識別子(slice_pic_paramter_set_id)(図23のSYNSH02)を符号化する。
 (SE104)符号化パラメータ決定部26で決定されたアクティブパラメータセットをフェッチする。すなわち、符号化対象スライスが参照するアクティブPPS識別子(slice_pic_parameter_set_id)と同一のPPS識別子(pps_pic_parameter_set_id)を有するPPSをアクティブPPSとし、符号化パラメータ決定部26から、アクティブPPSの符号化パラメータをフェッチする(読み出す)。さらに、アクティブPPS内のアクティブSPS識別子(pps_seq_parameter_set_id)と同一のSPS識別子(sps_seq_parameter_set_id)を有するSPSをアクティブSPSとし、符号化パラメータ決定部26から、アクティブSPSの符号化パラメータをフェッチする。さらに、アクティブSPS内のアクティブVPS識別子(sps_video_parameter_set_id)と同一のVPS識別子(vps_video_parameter_set_id)を有するVPSをアクティブVPSとし、符号化パラメータ決定部26から、アクティブVPSの符号化パラメータをフェッチする。
 (SE105)符号化対象スライスが、ピクチャ内の処理順で先頭スライスであるか否かを先頭スライスフラグに基づいて判定する。先頭スライスフラグが0の場合(SE105でYes)、ステップSE106へ遷移する。それ以外の場合(SE105でNo)、ステップSE106の処理をスキップする。なお、先頭スライスフラグが1の場合、符号化対象スライスのスライスアドレスは0である。
 (SE106)符号化対象スライスのスライスアドレス(slice_segment_address)(図23のSYNSH03)を符号化する。なお、符号化対象スライスのスライスアドレス(符号化対象スライスの先頭CUTアドレス)は、例えば、ピクチャ内の処理済CTU数のカウンタnumCtbに基づいて設定可能である。この場合、スライスアドレスslice_segment_adress=numCtbである。すなわち、符号化対象スライスの先頭CTUアドレス=numCtbでもある。なお、スライスアドレスの決定方法はこれに限定されず、実施可能な範囲で変更可能である。
 (SE10A)CTU符号化部242は、入力されるアクティブパラメータセット、スライスヘッダに基づいて、入力画像(符号化対象スライス)をCTU単位で符号化して、符号化対象スライスのスライスデータの一部として、CTU情報の符号化データ(図23のSYNSD01)を出力する。また、CTU符号化部242は、各CTUに対応する領域のCTU復号画像を生成し出力する。さらに、各CTU情報の符号化データの後に、該CTUが符号化対象スライスの終端であるかを示すスライス終端フラグ(end_of_slice_segment_flag) (図23のSYNSD02)を符号化する。該CTUが符号化対象スライスの終端である場合、スライス終端フラグを1へ設定し、それ以外の場合は0へ設定し、符号化する。また、各CTUの符号化後に、処理済CTU数numCtbの値を1加算する(numCtb++)。
 (SE10B)該CTUが符号化対象スライスの終端であるか否かをスライス終端フラグに基づいて判定する。スライス終端フラグが1の場合(SE10BでYes)、ステップSE10Cへ遷移する。それ以外の場合(SE10BでNo)、後続のCTUを符号化するため、ステップSE10Aへ遷移する。
 (SE10C)処理済CTU数numCtuが、ピクチャを構成するCTUの総数(PicSizeInCtbsY)に達したか判定する。すなわち、numCtu==PicSizeInCtbsYであるか判定する。numCtuがPicSizeInCtbsYと等しい場合(SE10CでYes)、符号化対象ピクチャを構成するスライス単位の符号化処理を終了する。それ以外の場合(numCtu<PicSizeInCtbsY)(SE10CでNo)、符号化対象対象ピクチャを構成するスライス単位の符号化処理を継続するため、ステップSE101へ遷移する。
 以上、実施例1に係るピクチャ符号化部24の動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
 (他の階層動画像符号化/復号システムへの適用例)
 上述した階層動画像符号化装置2及び階層動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用できる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
 図45に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の送信および受信に利用できることを説明する。図45の(a)は、階層動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。
 図45の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3とを備えている。上述した階層動画像符号化装置2は、この符号化部PROD_A1として利用される。
 送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていてもよい。図45の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
 図45の(b)は、階層動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。図45の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3とを備えている。上述した階層動画像復号装置1は、この復号部PROD_B3として利用される。
 受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図45の(b)においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
 なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
 例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
 また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線又は有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
 なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
 図46に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の記録および再生に利用できることを説明する。図46の(a)は、上述した階層動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。
 図46の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した階層動画像符号化装置2は、この符号化部PROD_C1として利用される。
 なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)等のように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリ等のように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc)やBD(Blu-ray Disc:登録商標)等のように、記録装置PROD_Cに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
 また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部C6を更に備えていてもよい。図46の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
 なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
 このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5又は画像処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3又は受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
 図46の(b)は、上述した階層動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。図46の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した階層動画像復号装置1は、この復号部PROD_D2として利用される。
 なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
 また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図46の(b)においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
 なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
 このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デジタルサイネージ(電子看板や電子掲示板等とも称され、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4又は送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型又はタブレット型PC(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。
 (ハードウェア的実現およびソフトウェア的実現について)
 最後に、階層動画像復号装置1、階層動画像符号化装置2の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
 後者の場合、上記各装置は、各機能を実現する制御プログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU(Micro Processing Unit))が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
 上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM(Compact Disc Read-Only Memory)/MO(Magneto-Optical)/MD(Mini Disc)/DVD(Digital Versatile Disk)/CD-R(CD Recordable)等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM(Erasable Programmable Read-only Memory)/EEPROM(登録商標)(ElectricallyErasable and Programmable Read-only Memory)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
 また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value-Added Network)、CATV(Community Antenna Television)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE(Institute of Electrical and Electronic Engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric DigitalSubscriber Line)回線等の有線でも、IrDA(Infrared Data Association)やリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance、登録商標)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
 (まとめ)
 本発明の1つの形態は、レイヤセット復号手段を備える画像復号装置において、レイヤ間依存情報を復号するレイヤ間依存情報復号手段と、前記レイヤ間依存情報に基づいてレイヤセットを復号するレイヤセット復号手段を備えることを特徴とする。
 本発明の1つの形態は、上記レイヤセット復号手段は、キーレイヤを復号し、キーレイヤとキーレイヤに直接、間接に依存するレイヤを含むレイヤセットを導出することを特徴とする。
 本発明の1つの形態は、上記レイヤセット復号手段は、0からレイヤ数―1までのフラグを復号し、前記フラグが1であるレイヤをキーレイヤとして、レイヤセットを導出することを特徴とする。
 本発明の1つの形態は、上記レイヤセット復号手段は、キーレイヤに補完レイヤか否かを含むフラグを復号もしくは導出し、補完レイヤを含む場合には、キーレイヤとキーレイヤに直接、間接に依存するレイヤと、補完レイヤと補完レイヤに直接、間接に依存するレイヤを含むレイヤセットを導出することを特徴とする。
 本発明の1つの形態は、上記レイヤセット復号手段は、共通のプロファイル情報を含むか否かを示す共通プロファイルフラグを復号し、共通プロファイルフラグが1の場合には、共通プロファイル情報インデックスを復号し、キーレイヤから構成されるレイヤセットのプロファイル情報として、上記共通プロファイル情報インデックスが示す同じプロファイル情報を復号することを特徴とする。
 本発明の1つの形態は、上記レイヤセット復号手段は、共通のHRDパラメータを含むか否かを示す共通プロファイルフラグを復号し、共通プロファイルフラグが1の場合には、共通HRDパラメータインデックスを復号し、キーレイヤから構成されるレイヤセットのHRDパラメータとして、上記共通HRDパラメータインデックスが示す同じHRDパラメータを復号することを特徴とする。
 本発明の1つの形態は、レイヤセット符号化手段を備える画像符号化装置において、レイヤ間依存情報を符号化するレイヤ間依存情報符号化手段と、レイヤ間依存情報に基づいてレイヤセットを符号化するレイヤセット符号化手段を備えることを特徴とする。
 本発明の1つの形態は、レイヤセット復号手段を備える画像復号装置において、上記、レイヤセット復号手段は、第1のレイヤセットを復号する第1レイヤセット復号手段と、前記第1のレイヤセットが復号したレイヤセットに基づいて第2のレイヤセットを復号する第2レイヤセット復号手段を備えることを特徴とする。
 本発明の1つの形態は、上記第2レイヤセット復号手段は、少なくとも前記第1のレイヤセットを参照するためのインデックスを復号することを特徴とする。
 本発明の1つの形態は、上記第2レイヤセット復号手段は、レイヤの集合から1つ以上の対象レイヤを識別するための情報を復号する対象レイヤ復号手段を備え、上記第2レイヤセット復号手段は、上記対象レイヤ復号手段が識別した対象レイヤと、上記第1のレイヤセットから、第2レイヤセットを導出する第2レイヤセット導出手段を備えることを特徴する。
 本発明の1つの形態は、レイヤセット符号化手段を備える画像符号化装置において、上記、レイヤセット復号手段は、第1のレイヤセットを復号する第1レイヤセット符号化手段と、前記第1のレイヤセットが符号化するレイヤセットに基づいて第2のレイヤセットを符号化する第2レイヤセット符号化手段を備えることを特徴とする。
 本発明の1つの形態は、レイヤセット復号手段とビットレート情報復号手段を備える画像復号装置において、上記、ビットレート情報復号手段は、1つ以上のビットレート情報を復号するビットレート情報セット復号部と、上記レイヤセット復号手段が復号したレイヤセットに割り当てるビットレート情報を識別するインデックスを復号するビットレート情報インデックス復号手段を備えることを特徴とする。
 本発明の1つの形態は、上記ビットレート情報セット復号部が復号するビットレート情報の最大値は、レイヤセットの最大値未満であり、上記ビットレート情報インデックス復号手段は、上記ビットレート情報の最大値の2の対数ビットだけのビットを符号化データから復号し、上記インデックスを復号することを特徴とする。
 本発明の1つの形態は、レイヤセット符号化手段とビットレート情報符号化手段を備える画像符号化装置において、上記、ビットレート情報符号化手段は、1つ以上のビットレート情報を符号化するビットレート情報セット符号化部と、上記レイヤセット復号手段が符号化したレイヤセットに割り当てるビットレート情報を識別するインデックスを符号化するビットレート情報インデックス符号化手段を備えることを特徴とする。
 本発明の1つの形態は、非依存レイヤの含有フラグを復号し、さらに、含有フラグが1のレイヤの直接予測レイヤの含有フラグを復号し、含有フラグが1のレイヤから構成されるレイヤセットを導出することを特徴とする。
 本発明の1つの形態は、非依存レイヤの含有フラグを復号し、さらに、非依存レイヤの含有フラグが1の場合には、上記非依存レイヤの直接予測レイヤの含有フラグを復号し、さらに、上記直接予測レイヤの含有フラグが1の場合には、その直接予測レイヤの含有フラグを復号し、上記レイヤの含有フラグが1の場合には、その直接予測レイヤの含有フラグを復号する動作を、直接予測レイヤがなくなるまで継続し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出することを特徴とする。
 本発明の1つの形態は、非依存レイヤをルートノードとして、ノードの含有フラグを復号し、上記ノードの直接予測レイヤの含有フラグが1かつ、上記ノードの直接予測レイヤが存在する場合には、上記直接予測レイヤをノードとして、ノードの含有フラグを再帰的に復号し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出することを特徴とする。
 本発明の1つの形態は、各レイヤに対して、上記レイヤが非依存レイヤであるか、もしくは、上記レイヤが含有フラグが1であるレイヤの直接予測レイヤであれば、上記含有フラグを復号し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出することを特徴とする。
 本発明の1つの形態は、識別子iで示される各レイヤに対して、上記レイヤiが非依存レイヤの場合であるか、もしくは、i未満の識別子jで示される各レイヤjに対して、レイヤjの含有フラグが1であり、かつ、レイヤiがレイヤjの直接予測レイヤである場合(レイヤjとレイヤiと間の直接予測レイヤフラグが1である場合)に、上記レイヤiの含有フラグを復号し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出することを特徴とする。
 本発明の1つの形態は、非依存レイヤの含有フラグを符号化し、さらに、含有フラグが1のレイヤの直接予測レイヤの含有フラグを符号化することを特徴とする。
 本発明の1つの形態は、非依存レイヤをルートノードとして、ノードの含有フラグを符号化し、上記ノードの直接予測レイヤの含有フラグが1かつ、上記ノードの直接予測レイヤが存在する場合には、上記直接予測レイヤをノードとして、ノードの含有フラグを再帰的に符号化することを特徴とする。
 本発明の1つの形態は、各レイヤに対して、上記レイヤが非依存レイヤであるか、もしくは、上記レイヤが含有フラグが1であるレイヤの直接予測レイヤであれば、上記含有フラグを符号化することを特徴とする。
 本発明は、画像データが階層的に符号化された符号化データを復号する階層動画像復号装置、および、画像データが階層的に符号化された符号化データを生成する階層動画像符号化装置に好適に適用することができる。また、階層動画像符号化装置によって生成され、階層動画像復号装置によって参照される階層符号化データのデータ構造に好適に適用することができる。
1…階層動画像復号装置
2…階層動画像符号化装置
10…対象レイヤセットピクチャ復号部
11…NAL逆多重化部
12…パラメータセット復号部
121…レイヤ間依存情報復号部(レイヤ間依存情報復号手段)
122…レイヤセット復号部(レイヤセット復号手段)
1221…第1レイヤセット復号部(基本レイヤセット復号手段)
1222…第2レイヤセット復号部(追加レイヤセット復号手段)
1222B…第2レイヤセット復号部(追加レイヤセット復号手段)
1222C…第2レイヤセット復号部(追加レイヤセット復号手段)
1222D…第2レイヤセット復号部(追加レイヤセット復号手段)
1222E…第2レイヤセット復号部(追加レイヤセット復号手段)
1222F…第2レイヤセット復号部(追加レイヤセット復号手段)
1222G…第2レイヤセット復号部(追加レイヤセット復号手段)
123…プロファイル情報復号部
124…ビットレート情報復号部
1241…ビットレート情報セット復号部
1242…ビットレート情報インデックス復号部
13…パラメータセット管理部
14…ピクチャ復号部
141…スライスヘッダ復号部
142…CTU復号部
1421…予測残差復元部
1422…予測画像生成部
1423…CTU復号画像生成部
15…復号ピクチャ管理部
17…ビットストリーム抽出部
20…対象レイヤセットピクチャ符号化部
21…NAL多重化部
22…パラメータセット符号化部
221…レイヤ間依存情報符号化部(レイヤ間依存情報符号化手段)
222…レイヤセット符号化部(レイヤセット符号化手段)
2221…第1レイヤセット符号化部(基本レイヤセット符号化手段)
2222…第2レイヤセット符号化部(追加レイヤセット符号化手段)
2222B…第2レイヤセット符号化部(追加レイヤセット符号化手段)
2222C…第2レイヤセット符号化部(追加レイヤセット符号化手段)
2222D…第2レイヤセット符号化部(追加レイヤセット符号化手段)
2222E…第2レイヤセット符号化部(追加レイヤセット符号化手段)
2222F…第2レイヤセット符号化部(追加レイヤセット符号化手段)
2222G…第2レイヤセット符号化部(追加レイヤセット符号化手段)
223…プロファイル情報符号化部
224…ビットレート情報符号化部
2241…ビットレート情報セット符号化部
2242…ビットレート情報インデックス符号化部
24…ピクチャ符号化部
26…符号化パラメータ決定部
241…スライスヘッダ符号化部
242…CTU符号化部
2421…予測残差符号化部
2422…予測画像符号化部
2423…CTU復号画像生成部

Claims (22)

  1.  レイヤセット復号手段を備える画像復号装置において、符号化データから直接依存性フラグを復号し、レイヤ間に依存関係があるかを示す依存フラグを導出するレイヤ間依存情報復号手段と、前記依存フラグに基づいて、依存関係のあるレイヤを追加することによりレイヤセットを導出するレイヤセット復号手段を備えることを特徴とする画像復号装置。
  2.  上記レイヤセット復号手段は、所定のレイヤをキーレイヤとし、前記キーレイヤと前記キーレイヤと依存関係のあるレイヤを含むレイヤセットを導出することを特徴とする請求項1に記載の画像復号装置。
  3.  上記レイヤセット復号手段は、レイヤがキーレイヤであるかどうかを示すフラグを復号し、前記フラグが1であるレイヤをキーレイヤとして、レイヤセットを導出することを特徴とする請求項2に記載の画像復号装置。
  4.  上記レイヤセット復号手段は、上記キーレイヤが補完レイヤを含むか否かを示すフラグを復号もしくは導出し、補完レイヤを含む場合には、キーレイヤとキーレイヤに直接、間接に依存するレイヤと、補完レイヤと補完レイヤに直接、間接に依存するレイヤを含むレイヤセットを導出することを特徴とする請求項3に記載の画像復号装置。
  5.  上記レイヤセット復号手段は、共通のプロファイル情報を含むか否かを示す共通プロファイルフラグを復号し、共通プロファイルフラグが1の場合には、共通プロファイル情報インデックスを復号し、キーレイヤから構成されるレイヤセットのプロファイル情報として、上記共通プロファイル情報インデックスが示す同じプロファイル情報を復号することを特徴とする請求項1に記載の画像復号装置。
  6.  上記レイヤセット復号手段は、共通のHRDパラメータを含むか否かを示す共通HRDパラメータフラグを復号し、共通HRDパラメータフラグが1の場合には、共通HRDパラメータインデックスを復号し、キーレイヤから構成されるレイヤセットのHRDパラメータとして、上記共通HRDパラメータインデックスが示す同じHRDパラメータを復号することを特徴とする請求項1に記載の画像復号装置。
  7.  レイヤセット符号化手段を備える画像符号化装置において、レイヤ間依存情報を符号化するレイヤ間依存情報符号化手段と、レイヤ間依存情報に基づいてレイヤセットを符号化するレイヤセット符号化手段を備えることを特徴とする画像符号化装置。
  8.  レイヤセット復号手段を備える画像復号装置において、上記、レイヤセット復号手段は、第1のレイヤセットを復号する第1レイヤセット復号手段と、前記第1のレイヤセットが復号したレイヤセットに基づいて第2のレイヤセットを復号する第2レイヤセット復号手段を備えることを特徴とする画像復号装置。
  9.  上記第2レイヤセット復号手段は、少なくとも前記第1のレイヤセットを参照するためのインデックスを復号することを特徴とする請求項8に記載の画像復号装置。
  10.  上記第2レイヤセット復号手段は、レイヤの集合から1つ以上の対象レイヤを識別するための情報を復号する対象レイヤ復号手段を備え、上記第2レイヤセット復号手段は、上記対象レイヤ復号手段が識別した対象レイヤと、上記第1のレイヤセットから、第2レイヤセットを導出する第2レイヤセット導出手段を備えることを特徴する請求項9に記載の画像復号装置。
  11.  レイヤセット符号化手段を備える画像符号化装置において、上記、レイヤセット復号手段は、第1のレイヤセットを復号する第1レイヤセット符号化手段と、前記第1のレイヤセットが符号化するレイヤセットに基づいて第2のレイヤセットを符号化する第2レイヤセット符号化手段を備えることを特徴とする画像符号化装置。
  12.  レイヤセット復号手段とビットレート情報復号手段を備える画像復号装置において、上記、ビットレート情報復号手段は、1つ以上のビットレート情報を復号するビットレート情報セット復号部と、上記レイヤセット復号手段が復号したレイヤセットに割り当てるビットレート情報を識別するインデックスを復号するビットレート情報インデックス復号手段を備えることを特徴とする画像復号装置。
  13.  上記ビットレート情報セット復号部が復号するビットレート情報の最大値は、レイヤセットの最大値未満であり、上記ビットレート情報インデックス復号手段は、上記ビットレート情報の最大値の2の対数ビットだけのビットを符号化データから復号し、上記インデックスを復号することを特徴とする請求項12に記載の画像復号装置。
  14.  レイヤセット符号化手段とビットレート情報符号化手段を備える画像符号化装置において、上記、ビットレート情報符号化手段は、1つ以上のビットレート情報を符号化するビットレート情報セット符号化部と、上記レイヤセット符号化手段が符号化したレイヤセットに割り当てるビットレート情報を識別するインデックスを符号化するビットレート情報インデックス符号化手段を備えることを特徴とする画像符号化装置。
  15.  上記レイヤセット復号手段は、非依存レイヤの含有フラグを復号し、さらに、含有フラグが1のレイヤの直接予測レイヤの含有フラグを復号し、含有フラグが1のレイヤから構成されるレイヤセットを導出することを特徴とする請求項1に記載の画像復号装置。
  16.  上記レイヤセット復号手段は、非依存レイヤの含有フラグを復号し、さらに、非依存レイヤの含有フラグが1の場合には、上記非依存レイヤの直接予測レイヤの含有フラグを復号し、さらに、上記直接予測レイヤの含有フラグが1の場合には、その直接予測レイヤの含有フラグを復号し、上記直接予測レイヤの含有フラグが1の場合には、その直接予測レイヤの含有フラグをさらに復号する動作を、直接予測レイヤがなくなるまで継続し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出することを特徴とする請求項15に記載の画像復号装置。
  17.  上記レイヤセット復号手段は、非依存レイヤをルートノードとして、ノードの含有フラグを復号し、上記ノードの直接予測レイヤの含有フラグが1かつ、上記ノードの直接予測レイヤが存在する場合には、上記直接予測レイヤをノードとして、ノードの含有フラグを再帰的に復号し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出することを特徴とする請求項15に記載の画像復号装置。
  18.  上記レイヤセット復号手段は、各レイヤに対して、上記レイヤが非依存レイヤであるか、もしくは、上記レイヤが含有フラグが1であるレイヤの直接予測レイヤであれば、上記含有フラグを復号し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出することを特徴とする請求項15に記載の画像復号装置。
  19.  上記レイヤセット復号手段は、識別子iで示される各レイヤに対して、上記レイヤiが非依存レイヤの場合であるか、もしくは、i未満の識別子jで示される各レイヤjに対して、レイヤjの含有フラグが1であり、かつ、レイヤiがレイヤjの直接予測レイヤである場合(レイヤjとレイヤiと間の直接予測レイヤフラグが1である場合)に、上記レイヤiの含有フラグを復号し、上記含有フラグが1であるレイヤから構成されるレイヤセットを導出することを特徴とする請求項18に記載の画像復号装置。
  20.  上記レイヤセット符号化手段は、非依存レイヤの含有フラグを符号化し、さらに、含有フラグが1のレイヤの直接予測レイヤの含有フラグを符号化することを特徴とする請求項7に記載の画像符号化装置。
  21.  上記レイヤセット符号化手段は、非依存レイヤをルートノードとして、ノードの含有フラグを符号化し、上記ノードの直接予測レイヤの含有フラグが1かつ、上記ノードの直接予測レイヤが存在する場合には、上記直接予測レイヤをノードとして、ノードの含有フラグを再帰的に符号化することを特徴とする請求項20に記載の画像符号化装置。
  22.  上記レイヤセット符号化手段は、各レイヤに対して、上記レイヤが非依存レイヤであるか、もしくは、上記レイヤが含有フラグが1であるレイヤの直接予測レイヤであれば、上記含有フラグを符号化する請求項20に記載の画像符号化装置。
PCT/JP2014/083617 2013-12-27 2014-12-18 画像復号装置および画像符号化装置 WO2015098713A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015554810A JPWO2015098713A1 (ja) 2013-12-27 2014-12-18 画像復号装置および画像符号化装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2013270696 2013-12-27
JP2013-270696 2013-12-27
JP2014126212 2014-06-19
JP2014-126212 2014-06-19

Publications (1)

Publication Number Publication Date
WO2015098713A1 true WO2015098713A1 (ja) 2015-07-02

Family

ID=53478572

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/083617 WO2015098713A1 (ja) 2013-12-27 2014-12-18 画像復号装置および画像符号化装置

Country Status (2)

Country Link
JP (1) JPWO2015098713A1 (ja)
WO (1) WO2015098713A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114514741A (zh) * 2019-09-24 2022-05-17 华为技术有限公司 用于基于层的一致性测试的hrd参数

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ADARSH K. RAMASUBRAMONIAN: "MV-HEVC/SHVC HLS: Summary of Contributions on inter-layer dependency signalling and derivation", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC-00353, ITU-T, 25 October 2013 (2013-10-25), pages 9 *
BYEONGDOO CHOI ET AL.: "MV-HEVC/SHVC HLS: On inter-layer dependency signalling", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC-O0138R1, ITU-T, 21 October 2013 (2013-10-21), pages 1 - 7 *
D AVID FLYNN ET AL.: "High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 5", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC-O1005_V3, ITU- T, 17 December 2013 (2013-12-17), pages 32,67 *
JIANLE CHEN ET AL.: "High efficiency video coding (HEVC) scalable extension Draft 4", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT- VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/ WG11 JCTVC-O1008_V3, ITU-T, vol. 43, 7 December 2013 (2013-12-07), pages 53 - 67 *
KAZUSHI SATO: "SHVC: On direct_dependency_flag", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT- VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/ WG11 JCTVC-00271, ITU-T, 15 October 2013 (2013-10-15), pages 1 - 7 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114514741A (zh) * 2019-09-24 2022-05-17 华为技术有限公司 用于基于层的一致性测试的hrd参数
US12041254B2 (en) 2019-09-24 2024-07-16 Huawei Technologies Co., Ltd. SEI message for single layer OLS

Also Published As

Publication number Publication date
JPWO2015098713A1 (ja) 2017-03-23

Similar Documents

Publication Publication Date Title
JP6585223B2 (ja) 画像復号装置
JP6800837B2 (ja) 画像復号装置、及び画像復号方法
JP6229904B2 (ja) 画像復号装置、画像符号化装置、および、符号化データ変換装置
JP6465863B2 (ja) 画像復号装置、画像復号方法及び記録媒体
CN105519119B (zh) 图像解码装置
WO2015163456A1 (ja) 画像復号装置、画像符号化装置、および、符号化データ変換装置
JP6653860B2 (ja) 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法及びコンピュータ読み取り可能な記録媒体
JP2015195543A (ja) 画像復号装置、画像符号化装置
WO2014007131A1 (ja) 画像復号装置、および画像符号化装置
JP2015119402A (ja) 画像復号装置、画像符号化装置、及び符号化データ
JP2015073213A (ja) 画像復号装置、画像符号化装置、符号化データ変換装置、および、注目領域表示システム
WO2015098713A1 (ja) 画像復号装置および画像符号化装置
JP2015126508A (ja) 画像復号装置、画像符号化装置、符号化データ変換装置、領域再生装置
JP2015126507A (ja) 画像復号装置、画像符号化装置、及び符号化データ
JP2015076807A (ja) 画像復号装置、画像符号化装置、および符号化データのデータ構造

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14874479

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015554810

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14874479

Country of ref document: EP

Kind code of ref document: A1