WO2015053120A1 - 画像復号装置、画像復号方法、画像符号化装置、及び画像符号化方法 - Google Patents

画像復号装置、画像復号方法、画像符号化装置、及び画像符号化方法 Download PDF

Info

Publication number
WO2015053120A1
WO2015053120A1 PCT/JP2014/075868 JP2014075868W WO2015053120A1 WO 2015053120 A1 WO2015053120 A1 WO 2015053120A1 JP 2014075868 W JP2014075868 W JP 2014075868W WO 2015053120 A1 WO2015053120 A1 WO 2015053120A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
profile
ptl
decoding
sublayer
Prior art date
Application number
PCT/JP2014/075868
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 EP14852055.4A priority Critical patent/EP3057324A4/en
Priority to JP2015541526A priority patent/JPWO2015053120A1/ja
Priority to CN201480053151.1A priority patent/CN105594209B/zh
Priority to US15/023,442 priority patent/US10075720B2/en
Publication of WO2015053120A1 publication Critical patent/WO2015053120A1/ja
Priority to HK16111662.6A priority patent/HK1223473A1/zh
Priority to US16/043,191 priority patent/US10237564B1/en

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
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Definitions

  • the present invention relates to an image decoding apparatus and an image decoding method for decoding hierarchically encoded data in which an image is hierarchically encoded, and an image encoding apparatus for generating hierarchically encoded data by hierarchically encoding an image. And an image decoding method.
  • 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.
  • Non-patent Document 1 As video coding systems, AVC (H.264 / MPEG-4 Advanced Video Coding) and HEVC (High-Efficiency Video Coding), which is a successor codec, are known (Non-patent Document 1).
  • 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.
  • examples of the method for generating a predicted image include inter-screen prediction (inter prediction) and intra-screen prediction (intra prediction).
  • HEVC uses a technology that realizes temporal scalability (temporal scalability) assuming the case of playing at a frame rate thinned out in time, such as when playing 60 fps content at 30 fps.
  • a time identifier (TemporalID, also called a sublayer identifier) is assigned to each picture, and a restriction is imposed that a picture with a high time identifier does not refer to a picture with a time identifier smaller than that time identifier.
  • TemporalID also called a sublayer identifier
  • 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 2).
  • 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. Redundancy between layers can be removed by predicting the viewpoint image 2 by inter-layer prediction (Non-patent Document 3).
  • Inter-layer prediction used in scalable coding schemes such as SHVC and MV-HEVC includes inter-layer image prediction and inter-layer motion prediction.
  • inter-layer image prediction a predicted image of a target layer is generated using texture information (image) of a decoded picture of a lower layer (or another layer different from the target layer).
  • inter-layer motion prediction motion information of a decoded picture of a lower layer (or another layer different from the target layer) is used to derive a prediction value of motion information of the target layer. That is, inter-layer prediction is performed by using a decoded picture of a lower layer (or another layer different from the target layer) as a reference picture of the target layer.
  • Non-Patent Document 1 in order to define the processing capability required for the image decoding apparatus (decoder) to decode what kind of image encoded data (or hierarchical encoded data), a profile ( profile) and level are defined.
  • a profile prescribes a specific application and defines processing functions that a decoder conforming to a standard should have, and is defined by a combination or set of encoding tools (elemental technologies). By defining the profile, it is only necessary to mount a suitable profile in each application, not the entire standard, and there is an advantage that the complexity of the decoder / encoder can be reduced.
  • the level defines the upper limit of the processing capacity of the decoder and the range of the circuit scale. The maximum number of processing pixels per unit time, the maximum resolution of the image, the maximum bit rate, the maximum reference image buffer size, the minimum compression rate, etc.
  • the parameter limits are specified. That is, the level defines the processing capability of the decoder and the complexity of the bit stream. In addition, the level also specifies to what extent the tools specified in each profile are supported. Therefore, the upper level needs to support the lower level.
  • Non-Patent Document 1 various parameters whose levels are limited include a maximum luminance picture size (Max luma picture size), a maximum bitrate (Max bitrate), and a maximum CPB size (Max CPB size), maximum slice segments per picture unit (Max slice number segments per frame), maximum tile rows per picture unit (Max number number of tile tiles), maximum tile columns per picture unit (Max number number of tile tiles) ).
  • various parameters that are applied to a specific profile and whose level is limited include a maximum luminance sample rate (Max luma sample rate), a maximum bit rate (Max bit rate), And the minimum compression ratio (Min compression Ratio).
  • whether the maximum bit rate of the bit stream (encoded data) corresponding to each level and the maximum CPB size for storing the bit stream are values specified by the main tier (for consumers).
  • a main profile is defined as a profile.
  • encoding tool restrictions as shown in FIG. 53A are defined.
  • an additional level restriction shown in (b) of FIG. 53 is prescribed.
  • the profile identifier general_profile_idc (see FIG. 54) on profile / tier information (hereinafter also referred to as PTL information) profile_tier_level () shown in FIG. It is specified by the above syntax group SYNPTL01). For example, when conforming to the main profile, the value of general_profile_idc is set to 1.
  • the level on the PTL information profile_tier_level indicates whether the level indicating the complexity of the bitstream or the capability of the decoder required to decode the bitstream complies with FIG. It is specified by the identifier general_level_idc (SYNPTL02 in FIG. 54). For example, when the value of the level identifier general_level_idc indicates “61”, it corresponds to level 6.1 in FIG. 52, and when the value of the level identifier general_level_idc is “10”, it corresponds to level 1 in FIG. Represents what to do. That is, the tenth digit (second digit) and the first digit (first digit) of the value indicated by the level identifier general_level_idc correspond to the level integer and the decimal point value in FIG. 52, respectively.
  • a tier flag general_tier_flag (syntax group SYNTPL01 in FIG. 54) indicating whether the tier is a main tier or a high tier.
  • the value of the tier flag general_tier_flag is 0, it indicates a main tier, and when the value is 1, it indicates a high tier.
  • profile_tier_level profile information for each layer (hereinafter also referred to as sublayer or temporal sublayer) related to temporal scalability (hereinafter referred to as sublayer profile information, syntax group SYNTPTL05 in FIG. 54).
  • sublayer profile information syntax group SYNTPTL05 in FIG. 54
  • And level information hereinafter, referred to as sublayer level information, syntax SYNPTL06 in FIG. 54
  • sublayer profile presence / absence flag sub_layer_profile_present_flag [i] (syntax group SYNPTL03 in FIG. 54)
  • sublayer level presence / absence flag sub_layer_level_present_flag [i] If each (syntax group SYNPTL03 in FIG. 54) is 1, it can be explicitly specified.
  • PTL information profile_tier_level is a signal in both parameter sets of the video parameter set VPS (Video Parameter Set) and the sequence parameter set SPS (Sequence Parameter Set) shown in FIG. Has been.
  • PTL applied to each layer set included in certain hierarchically encoded data (bitstream) Information is signaled in the bitstream.
  • bitstream information profile_tier_level () regarding layer set 0 (base layer) is signaled and included in the bit stream on the video parameter set extension data (FIG. 56).
  • PTL information designation index “profile_tier_level_idx [i]” (syntax group SYNVPS0H in FIG. 56) that designates PTL information applied to each layer set (layer set i), for each layer set unit Compared with the case where the PTL information is signaled, the code amount of the PTL information can be reduced.
  • the VPS profile presence flag “vps_profile_present_flag [i]” An index (reference PTL information designation index) “profile_ref_minus1 [i]” (SYNPPS0F in FIG. 56) indicating that the value of SYNVPPS0E) in FIG. 56 is 0 and further indicating the position of the corresponding PTL information on the PTL information list.
  • the conventional method for signaling the structure of the syntax for the profile / level information profile_tier_level () for the layer set is summarized as follows. That is, Signal a list of syntax structures related to profile / level information profile_tier_level (). The profile / level information to be applied to the i-th layer set is selected from the PTL information list as the PTL information designated by the i-th PTL information designation index profile_level_tier_idx [i].
  • profile / level information profile_tier_level The details of signaling of profile / level information profile_tier_level () in the above list are as follows.
  • the i-th VPS profile presence flag vps_profile_present_flag [i] is signaled and this flag is set to “0”
  • the i-th reference PTL information designation index profile_ref_minus1 [i] Is also signaled
  • the general profile information of the i-th profile / level information profile_tier_level () is estimated from the general profile information of the (profile_ref_minus1 [i] +1) -th profile / level information p profile_tier_level () .
  • profile and level signaling of each profile / level information profile_tier_level the profile and level of the i-th sublayer are omitted by the sublayer profile presence / absence flag sub_layer_profile_present_flag and the i-th sublayer level presence / absence flag sub_layer_level_present_flag [i], respectively. Can be done.
  • FIG. 59 is a diagram showing a schematic configuration of a conventional PTL decoder
  • FIG. 61 is a diagram showing an outline of a decoding operation of the conventional PTL decoder shown in FIG.
  • FIG. 60 is a diagram showing a schematic configuration of a conventional PTL encoding unit.
  • Non-Patent Documents 2 and 3 “value range of“ profile_ref_minus1 [i] ”is less than i” is constrained. Therefore, when the VPS profile presence / absence flag “vsp_profile_present_flag [1]” of the first PTL information on the PTL information list is 0, the 0th on the PTL information list is determined by the reference PTL information designation index “profile_ref_minus1 [1] +1”. There is a problem that the (first) PTL information cannot be designated as a reference destination.
  • the VPS profile presence flag “vps_profile_present_flag [1]” and the reference PTL information designation are included in the first PTL information on the PTL information list.
  • the code amount of the index “profile_ref_minus1 [1]” is redundant.
  • the PTL information signaled in the PTL information list is rearranged and encoded in the similar order in advance, thereby increasing the probability that most of the i-th PTL information refers to the immediately preceding PTL information. Can do.
  • the conventional technology has a problem that the reference PTL information index “profile_ref_minus1” is always encoded with a fixed length of 6 bits, and the amount of codes is redundant.
  • the decoder tries to decode the bit stream of the target layer set extracted from the hierarchically encoded data (bit stream) by the sub bit stream extraction process.
  • the level supported by the decoder is less than the highest sublayer (or highest temporal layer) level (general_level_idc) of the target layer set, the decoder is necessary for decoding the bitstream including the target layer set. Since there is no processing capability, there is a possibility that an unintended frame drop may occur when playing back a moving image.
  • the decoder refers to the level information of each sublayer in the PTL information of the target layer set, and the subset (layer) that satisfies the profile and level corresponding to the decoder. And sub-layer) are extracted from the bit stream of the target layer set (sub-bitstream extraction) and decoded, so that unintended frame drop can be prevented.
  • the present invention has been made in view of the above problems, and an object thereof is necessary to determine whether a decoder can decode encoded data (or hierarchically encoded data) obtained by encoding an image.
  • An image decoding device capable of improving the syntax and data structure related to PTL information, reducing the amount of processing related to decoding / encoding of profile information and level information, and the amount of code, and An image encoding device is to be realized.
  • an image decoding apparatus is an image decoding apparatus that decodes hierarchically encoded data, and indicates presence / absence of profile information in PTL information in a PTL information list.
  • Profile presence / absence flag decoding means for decoding the profile presence / absence flag
  • PTL information decoding means for decoding the PTL information.
  • the PTL information decoding means uses the encoded data to determine the PTL information.
  • the profile information is decoded, and when the profile information presence / absence flag is 0, the profile information in the PTL information is estimated to be equal to the profile information of the previously decoded PTL information.
  • An image decoding method is an image decoding method for decoding hierarchically encoded data, wherein a profile presence / absence flag indicating presence / absence of profile information in PTL information in a PTL information list is decoded.
  • the profile presence / absence flag is 1
  • the PTL information decoding step decodes the profile information of the PTL information from encoded data
  • the information presence / absence flag is 0, the profile information in the PTL information is estimated to be equal to the profile information of the previously decoded PTL information.
  • An image encoding apparatus is an image encoding apparatus that hierarchically encodes image data to generate hierarchical encoded data, and includes PTL information indicating a profile of the hierarchical encoded data
  • the PTL information encoding unit encodes the profile information in the PTL information with the value of the profile presence / absence flag set to 1 when profile information is encoded in the PTL information, and the PTL information encoding unit encodes the profile information in the PTL information. Is estimated to be equal to the profile information of the PTL information encoded one before, and the value of the profile presence / absence flag is encoded as 0.
  • An image encoding method is an image encoding method for hierarchically encoding image data to generate hierarchical encoded data, wherein the PTL information indicates a profile of the hierarchical encoded data.
  • the PTL information encoding step encodes the profile information in the PTL information with a profile presence flag value of 1 when profile information is encoded in the PTL information, and the PTL information encoding step encodes the profile information in the PTL information. Is estimated to be equal to the profile information of the previously encoded PTL information, the profile presence / absence flag value is encoded as 0.
  • the profile of the first profile / level information and the tier information can be estimated from the zeroth profile / level information.
  • the profile of the i-th profile / level information and the tier information can be estimated from the (i-1) -th profile / level information. There exists an effect that it can control.
  • 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 for demonstrating the structure of the layer which comprises a certain layer set, and a sublayer (temporal layer). It is a figure for demonstrating the layer and sublayer (temporal layer) which comprise the subset of the layer set extracted by the sub bitstream extraction process from the layer set shown in FIG. 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 structure of the encoding data of a NAL unit.
  • (a) is a sequence layer which prescribes
  • (b) is a picture layer which prescribes
  • (c) is a slice layer that defines a slice S
  • (d) is a slice data layer that defines slice data
  • (e) is a coding tree layer that defines a coding tree unit included in the slice data
  • (f) ) Is a diagram illustrating a coding unit layer that defines a coding unit (Coding Unit; CU) included in a coding tree. It is a conceptual diagram which shows an example of a reference picture list. It is a conceptual diagram which shows the example of a reference picture.
  • VPS extended data It is a modification of the syntax table of extended video parameter set VPS (VPS extended data). It is a flowchart for demonstrating the modification of the decoding process of VPS extension data. It is the functional block diagram shown about the modification of the schematic structure of a VPS decoding part. It is a figure which shows the modification of the data structure of PTL information. It is a flowchart which shows the modification of the flow of a process in a PTL information decoding part. It is a block diagram which shows the modification of the detail of a PTL information decoding part.
  • FIG. 1 It is a figure which shows the example of a reference picture set and a reference picture list
  • (a) is the figure which arranged the picture which comprises a moving image in the display order
  • (b) is an example of RPS information applied to an object picture.
  • (C) is a diagram illustrating an example of the current RPS derived when the RPS information illustrated in (b) is applied when the POC of the target picture is 0, and
  • e) is a diagram illustrating an example of a reference picture list generated from a reference picture included in the current RPS.
  • It is a figure which shows a reference picture list correction example (a) is a figure which shows L0 reference list before correction
  • (b) is a figure which shows RPL correction information
  • (c) is L0 reference list after correction FIG.
  • (A) shows a recording device equipped with a hierarchical video encoding device
  • (b) shows a playback device equipped with a hierarchical video decoding device.
  • (a) is an example of the restrictions of the parameter regarding a main profile
  • (b) is an example of the additional level restrictions regarding a main profile.
  • (A) shows the setting method when the profile presence flag (profilePresentFlag) is 1, and (b) shows the setting method when the profile presence flag is 0. It is a pseudo code which shows an example of the setting method of the level information of the sublayer which concerns on this embodiment.
  • (A) shows a setting method when the sublayer level presence / absence flag (sub_layer_level_flag [i]) is 0, and (b) is a pseudo code of another expression of (a). It is a pseudo code which shows an example of the setting method of the profile information of the sublayer which concerns on this embodiment.
  • (A) shows the setting method when the level presence flag (levelPresentFlag) is 1, and (b) and (c) show the setting method when the level presence flag is 0.
  • VPS extended data It is an example of the modification of the syntax table of extended video parameter set VPS (VPS extended data). It is a flowchart for demonstrating the modification of the decoding process of VPS extension data. It is a flowchart for demonstrating the modification of the encoding process of VPS extension data. It is an example of the modification of the syntax table of extended video parameter set VPS (VPS extended data). It is a flowchart for demonstrating the modification of the decoding process of VPS extension data. It is a flowchart for demonstrating the modification of the encoding process of VPS extension data.
  • 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 FIG. 1 to FIG.
  • a hierarchical video decoding device (also referred to as an image decoding device) 1 according to the present embodiment decodes encoded data that has been hierarchically encoded by a hierarchical video encoding device (also referred to as an 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. Note that 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. 1 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. 1A and 1B, among 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. 1A shows a hierarchical moving image encoding apparatus 2 # A to 2 # C that generates encoded data DATA # A to DATA # C by hierarchically encoding input images PIN # A to PIN # C, respectively. Is shown.
  • FIG. 1B shows a hierarchical moving picture decoding apparatus 1 # A ⁇ that generates decoded pictures POUT # A ⁇ POUT # C by decoding hierarchically encoded encoded data DATA # A ⁇ 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. 1). 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. 1) 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. 1) 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.
  • 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. 1A and 1B, 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.
  • 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.
  • 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.
  • 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.
  • Basic layer A layer located at the lowest layer is called a basic 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.
  • Extension layer The upper layer of the base layer is called the extension layer.
  • a layer identifier (also referred to as a layer ID) is for identifying a hierarchy, and corresponds to the hierarchy on a one-to-one basis.
  • the hierarchically encoded data includes a hierarchical 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.
  • 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.
  • 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).
  • temporal scalability is assumed to be realized by sublayers included in base layer encoded data or hierarchically encoded data necessary for decoding a certain layer.
  • a layer set B that is a subset of layer set A is obtained from hierarchically encoded data including a certain layer set A by bit stream extraction processing (also referred to as sub-bit stream extraction).
  • bit stream extraction processing also referred to as sub-bit stream extraction.
  • the bitstream extraction process is determined from a certain bitstream (hierarchically encoded data, encoded data) by a target highest temporal identifier (heighest TemporalId, heighestTid) and a layer ID list representing a layer included in the target layer set.
  • a target highest temporal identifier herein, heighest TemporalId, heighestTid
  • This is a process of removing (discarding) NAL units not included in a set (referred to as a target set) and extracting a bit stream (also referred to as a sub-bitstream) composed of NAL units included in the target set.
  • FIG. 2 shows the configuration of layer set A composed of three layers (L # 0, L # 1, L # 2) and each layer consisting of three sublayers (TID1, TID2, TID3).
  • code L # N indicates a certain layer N
  • each box in FIG. 2 represents a picture
  • the numbers in the boxes represent an example of decoding order.
  • the number N in the picture is denoted as P # N (the same applies to FIG. 3).
  • the arrows between the pictures indicate the dependency direction (reference relationship) between the pictures.
  • An arrow in the same layer indicates a reference picture used for inter prediction.
  • An arrow between layers indicates a reference picture (also referred to as a reference layer picture) used for inter-layer prediction.
  • AU in FIG. 2 represents an access unit
  • #N represents an access unit number
  • AU # N represents the (N ⁇ 1) th access unit if the AU at a certain starting point (for example, random access start point) is AU # 0, and represents the order of AUs included in the bitstream. . That is, in the example of FIG. 2, the access units are stored in the order of AU # 0, AU # 1, AU # 2, AU # 3, AU # 4,.
  • the access unit represents a set of NAL units aggregated according to a specific classification rule.
  • AU # 0 in FIG. 2 can be regarded as a set of VLC NAL including encoded data of pictures P # 1, P # 1, and P # 3. Details of the access unit will be described later.
  • the dotted box represents the discarded picture, and the dotted arrow indicates the dependency direction between the discarded picture and the reference picture. It should be noted that the dependency relationship has already been cut off because the NAL units constituting the sub-layer pictures of layer L # 3 and TID3 have been discarded.
  • SHVC and MV-HEVC introduce the concept of layers and sub-layers in order to realize SNR scalability, spatial scalability, temporal scalability, and the like.
  • a picture highest temporal ID (TID3)
  • TID3 highest temporal ID
  • the encoded data of the frame (1/2) is generated by discarding the encoded data of the pictures (10, 13, 11, 14, 12, 15).
  • the granularity of each scalability can be changed by discarding the encoded data of the layer that is not included in the target set by bitstream extraction. By discarding the encoded data (3, 6, 9, 12, 15 in FIGS. 2 and 3), encoded data with coarser granularity of scalability is generated. By repeating the above processing, it is possible to adjust the granularity of layers and sub-layers step by step.
  • 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. 4 is a diagram showing a hierarchical structure of data in the encoded data # 1.
  • the encoded data # 1 is encoded in units called NAL (Network Abstraction Layer) units.
  • the NAL is a layer provided to abstract communication between a VCL (Video Coding Layer) that is a layer that performs a moving image encoding process 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 the VCL.
  • the lower system here is H.264. H.264 / AVC and HEVC file formats and MPEG-2 systems are supported. In the example shown below, 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 destination lower system.
  • FIG. 5A shows a syntax table of a NAL (Network Abstraction Layer) 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 the destination lower system.
  • 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 described later.
  • FIG. 6 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 SYNA 101 is a non-RAP (random access picture) slice.
  • a NAL unit having a NAL unit type of 16 to 21 indicated by SYNA 102 is a slice of RAP (Random Access Picture).
  • RAP pictures are roughly 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 an LP picture, a TSA picture, an STSA picture, and a TRAIL picture, which will be described later.
  • 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.
  • the access unit delimiter is included between a set of NAL units constituting an access unit in the encoded data and a set of NAL units constituting another access unit.
  • FIG. 7 is a diagram showing a structure of encoded data of VPS (Video Parameter Set) according to the embodiment of the present invention.
  • VPS is a parameter set for defining parameters common to a plurality of layers.
  • the parameter set is referred to by using ID (video_parameter_set_id) from encoded data which is compressed data.
  • Video_parameter_set_id is an identifier for identifying each VPS.
  • -Vide_reserved_three_2bits is a syntax for future standard expansion.
  • Vps_max_layers_minus1 is a syntax used to calculate the upper limit value MaxNumLayers of the other scalability-related layers excluding temporal scalability for hierarchically encoded data including at least the base layer.
  • vps_max_num_sub_layers_minus1 0.
  • Vps_temporal_id_nesting_flag is a flag indicating whether or not to make additional restrictions on inter prediction in a picture that refers to the VPS.
  • Vps_extension_offset represents a byte offset value from the head position of the NAL unit including the VPS to the syntax avc_base_flag in the VPS extension data vps_extension ().
  • Profile_tier_level (X, Y) is a syntax (hereinafter also referred to as PTL information) representing profile information and level information related to hierarchically encoded data.
  • the argument X is the value of the profile information presence / absence flag ProfilePresentFlag
  • the argument Y is the value of the upper limit value-1 of the number of sublayers, that is, MaxNumSubLayersMinus1.
  • the argument Y may be the value of MaxNumSubLayers instead of the value MaxNumSubLayersMinus1 of the upper limit value-1 of the number of sublayers.
  • MaxNumSubLayersMinus1 on the PTL information profile_tier_level () is interpreted as “MaxNumSubLayers ⁇ 1”.
  • description will be made using the upper limit value MaxNumSubLayers of the number of sublayers instead of the value MaxNumSubLayersMinus1 of the upper limit value-1 of the sublayer number.
  • the profile / level information profile_tier_level () will be described later. In the profile / level information defined here, the maximum profile and level information necessary for the decoder to decode layer set 0 (base layer) is set.
  • Vps_max_layer_id is a syntax representing the maximum value of the layer IDs (nuh_layer_id) of all NAL units on the CVS.
  • Vps_num_layers_sets_minus1 is a syntax representing “total number of layer sets representing a set of one or more layers ⁇ 1” included in the bitstream.
  • the number of layer sets MaxNumLayersSets is vps_num_layers_sets_minus1 + 1.
  • Vps_extension_flag is a flag indicating whether or not the VPS further includes VPS extension data vps_extension ().
  • FIG. 56 is a diagram showing a configuration of encoded data for VPS extension according to the conventional technique.
  • Avc_base_layer_flag is a flag indicating whether or not the base layer is a bitstream encoded in H.264.
  • Vps_vui_offset is a byte offset value from the head position of the NAL unit including the VPS to the head syntax (bit_rate_rate_flag (not shown in FIG. 56)) in the VPS VUI data vps_vui () included in the VPS extension data vps_extension () Represents.
  • the scalability_mask (not shown in FIG. 56) is a value indicating a scalable type.
  • each bit corresponds to each scalable type.
  • Bit 1 corresponds to spatial scalable
  • bit 2 corresponds to image quality scalable
  • bit 3 corresponds to depth scalable
  • bit 4 corresponds to view scalable. This means that the corresponding scalable type is valid when each bit is 1.
  • a plurality of bits can be 1, for example, when scalability_mask is 12, since bit 3 and bit 4 are 1, depth scalable and view scalable are effective. That is, 3D scalable including multiple views and depths.
  • num_dimensions is 2 when the scalable type is depth, and the number of viewpoints is decoded when it is a view.
  • “Dimention_id” (not shown in FIG. 56) is information indicating the picture type for each scalable type.
  • Direct_dependency_flag [i] [j] (referred to as a layer dependency flag) is a flag indicating whether the layer j is a direct reference layer (dependence layer) of the target layer i. A value of 1 indicates that it is a dependent layer, and a value of 0 indicates that it is not a direct reference layer.
  • Vps_number_layers_sets_minus1 (SYNVPS0C on FIG. 56) is a syntax representing the total number of layer sets representing a set of one or more layers included in the bitstream, and is the same value as vps_num_layers_sets_minus1.
  • Vps_num_profile_teir_level_minus1 (SYNVPS0D in FIG. 56) is a syntax representing “total number of PTL information included in VPS ⁇ 1”.
  • Vps_profile_present_flag [i] (VPS profile presence / absence flag, (SYNVPS0E on FIG. 56)) is a flag indicating the presence / absence of profile information of the i-th PTL information on the PTL information list.
  • VPS profile presence / absence flag indicates that a syntax group indicating profile information exists in the target PTL information profile_tier_level (), and if the VPS profile presence / absence flag is 0, the syntax group indicating profile information is Indicates that it does not exist.
  • Profile_ref_minus1 [i] reference PTL information designation index, (SYNVPS0F on FIG. 56)
  • the profile information of the i-th PTL information on the PTL information list is PTL This is a syntax indicating that it is the same as the profile information of the (profile_ref_minus1 [i] +1) -th PTL information on the information list.
  • profile_tier_level_idx [i] the maximum profile and level information necessary for decoding the layers constituting the layer set i and the sublayers associated with each layer are set.
  • profile / level information profile_tier_level () included in the VPS is decoded by a PTL information decoding unit X1021 described later.
  • Profile_level_tier_idx [i] (PTL information designation index) is a syntax that represents an index for designating PTL information on the PTL information list applied to the layer set i.
  • Direct_dependency_len_minus2 (SYNVPS0I in FIG. 56) is a syntax representing the total number of types of layer dependency types.
  • Direct_dependency_type [i] [j] indicates a reference relationship between the target layer i and the layer j. Specifically, when the layer dependency flag direct_dependency_flag [i] [j] is 1, the layer dependency type direct_dependency_type [i] [j] indicates the layer dependency type of the reference layer j for the target layer i.
  • the layer dependent type can specify sample prediction only, motion prediction only, or both. The relationship between the value of direct_dependency_type [i] [j] and the value of the layer dependency type is shown below.
  • FIG. 10 is a diagram showing a hierarchical structure of data in the encoded data # 1.
  • the encoded data # 1 exemplarily includes a sequence and a plurality of pictures constituting the sequence.
  • (A) to (f) of FIG. 10 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 In the 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 (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. 10 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 dependent on this.
  • the video parameter set VPS is a set of encoding parameters common to a plurality of moving images, a plurality of layers included in the moving image, and encoding parameters related to individual layers in a moving image composed of a plurality of layers.
  • a set is defined.
  • the sequence parameter set SPS defines a set of encoding parameters that the image decoding apparatus 1 refers to in order to decode the target sequence. For example, the width and height of the picture are defined.
  • a set of encoding parameters that the image decoding apparatus 1 refers to in order to decode each picture in the target sequence is defined. For example, a reference value (pic_init_qp_minus26) of a quantization width used for picture decoding, a flag (weighted_pred_flag) indicating application of weighted prediction, and a scaling list (quantization matrix) are included.
  • a plurality of PPS may exist. In that case, one of a plurality of PPSs is selected from each picture in the target sequence.
  • Picture layer In the picture layer, a set of data referred to by the image decoding apparatus 1 for decoding a picture PICT to be processed (hereinafter also referred to as a target picture) is defined. As shown in (b) of FIG. 10, 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 referred to by the image decoding device 1 for decoding the slice S to be processed (also referred to as a target slice) is defined. As shown in FIG. 2C, the slice S includes a slice header SH and slice data SDATA.
  • the slice header SH includes an encoding parameter group that is referred to by the image decoding apparatus 1 in order to determine a decoding method of the target slice.
  • Slice type designation information (slice_type) 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 header SH may include a reference (pic_parameter_set_id) to the picture parameter set PPS included in the sequence layer.
  • the slice data layer a set of data referred to by the image decoding device 1 for decoding the slice data SDATA to be processed is defined.
  • the slice data SDATA includes a coded tree unit (CTU) as shown in (d) of FIG.
  • a CTU is a block of a fixed size (for example, 64 ⁇ 64) that constitutes a slice, and may be called a maximum coding unit (LCU).
  • the coding tree layer defines a set of data that the image decoding apparatus 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.
  • the intermediate node of the quadtree is a coded quadtree (CQT), and the CTU is defined as including the highest CQT.
  • the CQT includes a split flag (split_flag). When the split_flag is 1, the CQT is divided into four CQTs (including four CQTs).
  • CQT includes a coding unit (CU: Coded Unit) which is a terminal node.
  • 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 size of the encoding tree unit CTU is 64 ⁇ 64 pixels
  • the size of the encoding unit is any of 64 ⁇ 64 pixels, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, and 8 ⁇ 8 pixels. It can take.
  • the encoding unit layer defines a set of data referred to by the image decoding device 1 in order to decode the processing target encoding unit.
  • the encoding unit includes a CU header CUH, a prediction tree, a conversion tree, and a CU header CUF.
  • 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).
  • TT transform tree
  • the CU header CUF is included between the prediction tree and the conversion tree or after the conversion tree.
  • the coding unit 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 coding unit.
  • the prediction tree includes one or a plurality of prediction blocks obtained by the above division.
  • 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.
  • 2N ⁇ nU indicates that a 2N ⁇ 2N encoding unit is divided into two regions of 2N ⁇ 0.5N and 2N ⁇ 1.5N in order from the top.
  • 2N ⁇ nD indicates that a 2N ⁇ 2N encoding unit is divided into two regions of 2N ⁇ 1.5N and 2N ⁇ 0.5N in order from the top.
  • nL ⁇ 2N indicates that a 2N ⁇ 2N encoding unit is divided into two regions of 0.5N ⁇ 2N and 1.5N ⁇ 2N in order from the left.
  • nR ⁇ 2N indicates that a 2N ⁇ 2N encoding unit is divided into two regions of 1.5N ⁇ 2N and 0.5N ⁇ 1.5N in order from the left. Since the number of divisions is one of 1, 2, and 4, PUs included in the CU are 1 to 4. These PUs are expressed as PU0, PU1, PU2, and PU3 in this order.
  • the encoding unit 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.
  • the conversion tree includes one or a plurality of conversion blocks obtained by the above division.
  • 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.
  • transform processing is performed for each conversion block.
  • the transform block which is a unit of transform is also referred to as a transform unit (TU).
  • 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.
  • prediction parameters for inter prediction inter prediction (inter prediction parameters) will be described.
  • 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.
  • the prediction list use flag information can also be expressed by an inter prediction identifier inter_pred_idc described later.
  • inter_pred_idc an inter prediction identifier
  • Syntax elements for deriving inter prediction parameters included in the encoded data include, for example, a partition mode part_mode, a merge flag merge_flag, a merge index merge_idx, an inter prediction identifier inter_pred_idc, a reference picture index refIdxLX, a prediction vector index mvp_LX_idx, and a difference There is a vector mvdLX.
  • FIG. 11 is a conceptual diagram illustrating an example of a reference picture list.
  • the reference picture list 601 five rectangles arranged in a line on the left and right indicate reference pictures, respectively.
  • the codes P1, P2, Q0, P3, and P4 shown in order from the left end to the right are codes indicating respective reference pictures.
  • P such as P1 indicates the viewpoint P
  • Q of Q0 indicates a layer Q different from the layer P.
  • the subscripts P and Q indicate the picture order number POC.
  • a downward arrow directly below refIdxLX indicates that the reference picture index refIdxLX is an index that refers to the reference picture Q0 in the decoded picture buffer 12.
  • FIG. 12 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 in 2 rows and 3 columns (6 in total) indicate pictures.
  • the rectangle in the second column from the left in the lower row indicates a picture to be decoded (target picture), and the remaining five rectangles indicate reference pictures.
  • a reference picture Q2 indicated by a downward arrow from the target picture is a picture having the same display time as that of the target picture and having a different layer.
  • the reference picture Q2 is used.
  • a reference picture P1 indicated by a left-pointing arrow from the target picture is the same layer as the target picture and is a past picture.
  • a reference picture P3 indicated by a rightward arrow from the target picture is the same layer as the target picture and is a future picture.
  • the reference picture P1 or P3 is used.
  • Inter prediction identifier and prediction list usage flag The relationship between the inter prediction identifier and the prediction list use flags predFlagL0 and predFlagL1 can be mutually converted as follows. Therefore, as an inter prediction parameter, a prediction list use flag may be used, or an inter prediction identifier may be used. In addition, hereinafter, the determination using the prediction list use flag may be replaced with the inter prediction identifier. Conversely, the determination using the inter prediction identifier can be performed by replacing the prediction list use flag.
  • >> is a right shift
  • is a left shift.
  • the prediction parameter decoding (encoding) method includes a merge prediction (merge) mode and an AMVP (Adaptive Motion Vector Prediction) mode.
  • the merge flag merge_flag is a flag for identifying these.
  • the prediction parameter of the target PU is derived using the prediction parameter of the already processed block.
  • the merge prediction mode is a mode in which the prediction parameter already used is used as it is without including the prediction list use flag predFlagLX (inter prediction identifier inter_pred_idc), the reference picture index refIdxLX, and the vector mvLX in the encoded data.
  • the prediction identifier inter_pred_idc, the reference picture index refIdxLX, and the vector mvLX are included in the encoded data.
  • the vector mvLX is encoded as a prediction vector index mvp_LX_idx indicating a prediction vector and a difference vector (mvdLX).
  • the inter prediction identifier inter_pred_idc is data indicating the type and number of reference pictures, and takes one of the values Pred_L0, Pred_L1, and Pred_Bi.
  • Pred_L0 and Pred_L1 indicate that reference pictures stored in a reference picture list called an L0 reference list and an L1 reference list are used, respectively, and that both use one reference picture (single prediction).
  • Prediction using the L0 reference list and the L1 reference list are referred to as L0 prediction and L1 prediction, respectively.
  • Pred_Bi indicates that two reference pictures are used (bi-prediction), and indicates that two reference pictures stored in the L0 reference list and the L1 reference list are used.
  • the prediction vector index mvp_LX_idx is an index indicating a prediction vector
  • the reference picture index refIdxLX is an index indicating a reference picture stored in the reference picture list.
  • LX is a description method used when L0 prediction and L1 prediction are not distinguished.
  • refIdxL0 is a reference picture index used for L0 prediction
  • refIdxL1 is a reference picture index used for L1 prediction
  • refIdx (refIdxLX) is a notation used when refIdxL0 and refIdxL1 are not distinguished.
  • the merge index merge_idx is an index indicating which one of the prediction parameter candidates (merge candidates) derived from the processed block is used as the prediction parameter of the decoding target block.
  • the vector mvLX includes a motion vector and a displacement vector (disparity vector).
  • a motion vector is a positional shift between the position of a block in a picture at a certain display time of a layer and the position of the corresponding block in a picture of the same layer at a different display time (for example, an adjacent discrete time). It is a vector which shows.
  • the displacement vector is a vector indicating a positional shift between the position of a block in a picture at a certain display time of a certain layer and the position of a corresponding block in a picture of a different layer at the same display time.
  • a displacement vector corresponding to pictures of different viewpoints is called a disparity vector.
  • a motion vector and a displacement vector are not distinguished, they are simply referred to as a vector mvLX.
  • a prediction vector and a difference vector related to the vector mvLX are referred to as a prediction vector mvpLX and a difference vector mvdLX, respectively. Whether the vector mvLX and the difference vector mvdLX are motion vectors or displacement vectors is determined using a reference picture index refIdxLX associated with the vectors.
  • FIG. 44 is a diagram illustrating a schematic configuration of the image decoding device
  • FIG. 13 is a diagram illustrating a configuration of the image decoding device 1 according to the present embodiment.
  • the image decoding apparatus 1 includes a header decoding unit 10, a picture decoding unit 11, a decoded picture buffer 12, and a reference picture management unit 13.
  • the image decoding apparatus 1 can perform a random access decoding process to be described later that starts decoding from a picture at a specific time in an image including a plurality of layers.
  • the header decoding unit 10 decodes information used for decoding from the encoded data # 1 supplied from the image encoding device 2 in units of NAL units, sequences, pictures, or slices. The decoded information is output to the picture decoding unit 11 and the reference picture management unit 13.
  • the header decoding unit 10 parses VPS, SPS, and PPS included in the encoded data # 1 based on a predetermined syntax definition, and decodes information used for decoding in sequence units. For example, information regarding the number of layers is decoded from the VPS.
  • the representation information exists in the VPS
  • information related to the image size of the decoded image is decoded from the VPS
  • the representation information exists in the SPS
  • information related to the image size of the decoded image Is decoded from the SPS.
  • the header decoding unit 10 parses the slice header included in the encoded data # 1 based on a predetermined syntax definition, and decodes information used for decoding in units of slices. For example, the slice type is decoded from the slice header.
  • the header decoding unit 10 includes a NAL unit header decoding unit 101, a VPS decoding unit 102, an SPS decoding unit 103, a PPS decoding unit 104, a slice header decoding unit 105, and a parameter memory (not shown). Etc.).
  • FIG. 15 is a functional block diagram showing a schematic configuration of the NAL unit header decoding unit 101.
  • the NAL unit header decoding unit 101 includes a layer ID decoding unit 1011 and a NAL unit type decoding unit 1012.
  • the layer ID decoding unit 1011 decodes the layer ID from the encoded data.
  • the NAL unit type decoding unit 1012 decodes the NAL unit type from the encoded data.
  • the layer ID is, for example, 6-bit information from 0 to 63. When the layer ID is 0, it indicates the base layer.
  • the NAL unit type is 6-bit information from 0 to 63, for example, and indicates the type of data included in the NAL unit.
  • parameter types such as VPS, SPS, and PPS, RPS pictures such as IDR pictures, CRA pictures, and LBA pictures, non-RPS pictures such as LP pictures, and SEI are identified from the NAL unit type. Is done.
  • the VPS decoding unit 102 parses the VPS included in the encoded data # 1 based on a defined syntax definition and decodes information used in units of layers. Details of the VPS decoding unit 102 will be described later.
  • the SPS decoding unit 103 parses information used in sequence units by parsing the SPS included in the encoded data # 1 based on a prescribed syntax definition.
  • the PPS decoding unit 104 parses the PPS included in the encoded data # 1 based on a prescribed syntax definition, and decodes information used in units of pictures.
  • the slice header decoding unit 105 parses the slice header included in the encoded data # 1 based on a prescribed syntax definition, and decodes information used for decoding in units of slices.
  • VPS decoding unit 102 according to the first embodiment of the present invention will be described with reference to FIGS. 16 to 22.
  • FIG. 16 is a functional block diagram showing a schematic configuration of the VPS decoding unit 102. As shown in FIG. 16, the VPS decoding unit 102 further includes a profile level information decoding unit (PTL information decoding unit) 1021, a reference PTL designation information decoding unit 1022, and a profile presence / absence flag decoding unit 1023.
  • PTL information decoding unit profile level information decoding unit
  • Step SA101 The VPS decoding unit 102 decodes the syntax group SYNVPS01 in FIG.
  • Step SA102 The PTL information decoding unit 1021 included in the VPS decoding unit 102 decodes the PTL information of the layer set 0 shown in SYNVPS02 on FIG.
  • the decrypted PTL information is supplied to and stored in the parameter memory.
  • Step SA103 The VPS decoding unit 102 decodes the layer IDs constituting each layer set from the syntax group SYNVPS03 in FIG.
  • Step SA104 The VPS decoding unit 102 decodes the VPS extension flag vps_extension_flag (SYNVPS04 in FIG. 7) in FIG.
  • Step SA105 If the VPS extension flag is 1 (YES in Step SA105), it is determined that the VPS extension data is on the VPS, and the process proceeds to Step SA106. If the VPS extension flag is 0 (No in step SA105), it is determined that the VPS extension data is not on the VPS, and the process proceeds to step SA109.
  • Step SA106 Decode byte-aligned data (vps_extension_aligment_bit_equal_to_one) (syntax group SYNVPS05 in FIG. 7) inserted from the next bit of the VPS extension flag to immediately before avc_base_flag included in the VPS extension data.
  • Step SA107 The VPS extension data vps_extension () is decrypted. A detailed decoding process of VPS extension data will be described later.
  • Step SA108 The VPS decoding unit 102 decodes the VPS extension 2 flag vps_extension2_flag shown in SYNVPS07 on FIG. If the VPS extension 2 flag is 1, VPS extension 2 data is further decoded.
  • Step SA109 The VPS decoding unit 102 decodes RBSP_traling_bits () shown in SYNVPS08 on FIG. RBSP_trailing_bits () is byte aligned data. The byte alignment data is also called stuffing data.
  • VPS extension data ⁇ Detailed decoding process of VPS extension data> The decoding process of VPS extension data will be described with reference to FIG.
  • Step SB101 The VPS decoding unit 102 decodes the syntax group SYNVPS0A in FIG.
  • Step SB102 The VPS decoding unit 102 decodes a dependency flag related to a dependency layer (also referred to as a direct reference layer or a dependency layer) referenced by each layer from the syntax group SYNVPS0B in FIG.
  • a dependency layer also referred to as a direct reference layer or a dependency layer
  • Step SB103 The VPS decoding unit 102 decodes the number of layer sets (syntax SYNVPS0C in FIG. 8).
  • Step SB104 The VPS decoding unit 102 decodes the total number of PTL information (SYNVPS0D in FIG. 8) included in the VPS.
  • Step SB105 This is the loop start point of the decoding process of the PTL information included on the VPS.
  • the profile presence / absence flag decoding unit 1023 included in the VPS decoding unit 102 includes, on the i-th PTL information profile_tier_level (), a profile presence / absence flag indicating the presence / absence of a syntax group indicating profile information (syntax on FIG. 8). Decodes tax SYNVPS0E).
  • Step SB107 If the profile presence / absence flag is 0, it is determined that there is no syntax group indicating profile information on the i-th PTL information, and the process proceeds to Step SB108. If the profile presence / absence flag is 1, it is determined that there is a syntax group indicating profile information on the i-th PTL information, and the process proceeds to step SB109.
  • the reference PTL designation information decoding unit 1022 included in the VPS decoding unit 102 refers to the profile information of the i-th PTL information from which PTL information on the PTL information list.
  • the reference PTL information designation index reference profile level information relative index, also referred to as reference PTL designation information
  • profile_ref_delta_index_minus1 [i] reference profile_ref_delta_index_minus1 [i]
  • the reference PTL information designation index “profile_ref_delta_index_minus1 [i]” represents a relative index between the i-th PTL information and the reference destination PTL information.
  • the reference PTL designation index “profile_ref_delta_index_minus1 [i]” represents the relative index, for example, as shown in FIG. 19, by using Golomb code, so that the bit length necessary to express the reference PTL designation index is larger than the conventional one. Can be reduced.
  • FIG. 19A shows a correspondence table between Golomb codes and syntax values
  • FIG. 19B shows correspondences between values that can be expressed by the bit lengths of Golomb codes composed of “prefix” and “suffix”. Represents.
  • the profile / level information decoding unit refers to the semantics of the i-th reference PTL information designation index in the profile / level information
  • the i-th reference PTL information designation index refers to the i-th profile / level information. It is treated as specifying the relative position between the profile / level information.
  • the value of the reference PTL designation index “profile_ref_delta_minus1 [i]” is 0, that is, when referring to the (i ⁇ 1) th PTL information immediately before the i-th PTL information, the Golomb code shown in FIG. 19 is used.
  • the bit length required to express the reference PTL designation index is 1 bit.
  • the amount of codes can be reduced compared to the case where the reference PTL information designation index is expressed by a fixed length.
  • the first PTL information (0th) on the PTL information list can be referred to, it is possible to eliminate the disadvantage that the reference PTL information designation index does not function when the target PTL information is the first.
  • the profile presence / absence flag is always set to 1, and the first
  • the PTL information profile information may be determined in advance between the decoder and the encoder so as to be included in the encoded data (also referred to as bitstream restriction). Thereby, when the target PTL information is the first, the defect that the reference PTL information designation index does not function can be solved similarly.
  • Step SB109 The PTL information decoding unit 1021 included in the VPS decoding unit 102 receives the profile presence flag, the reference PTL designation index, and the number of sublayers, and decodes the profile and level information of the i-th PTL information. Details of the PTL information decoding unit 1021 will be described later.
  • Step SB110 This is the loop end of the decoding process of the PTL information included on the VPS.
  • Step SB111 The VPS decoding unit 102 decodes a PTL information designation index (profile_level_tier_idx [i] on the syntax group SYNVPS0H in FIG. 8) that designates PTL information to be applied to each output layer set.
  • a PTL information designation index profile_level_tier_idx [i] on the syntax group SYNVPS0H in FIG. 8 that designates PTL information to be applied to each output layer set.
  • Step SB112 The VPS decoding unit 102 decodes the dependent layer type of each layer from the syntax group SYNVPS0I in FIG.
  • “direct_dep_type_len_minus2” represents the bit length (direct_dep_type_len_minus2 + 2) of the dependency layer type (direct_dependency_type [i] [j]), and in the syntax SYNVPS0I in FIG.
  • the layer type (direct_dependency_tipe [i] [j]) represents the type of dependency type of each layer and subordinate layer.
  • Step SB111 The VPS decoding unit 102 decodes the other syntax group SYNVPS0J in FIG.
  • FIG. 20 is a functional block diagram illustrating the configuration of the PTL information decoding unit 1021.
  • the PTL information (profile / level information) decoding unit 1021 includes a profile information decoding unit 1021a, a level information decoding unit 1021b, a sublayer profile presence / absence flag decoding unit 1021c, a sublayer level presence / absence flag decoding unit 1021d, and byte alignment.
  • a data decoding unit 1021e and a reference profile level selection unit 1021f are provided.
  • the profile information decoding unit 1021a Based on the profile presence / absence flag profilePresentFlag, the profile information decoding unit 1021a decodes and outputs profile information of the decoding target PTL information (also called profile information of the highest sublayer or general profile information) from the encoded data DATA # T. Specifically, when the profile presence flag profilePresentFlag is 1, the profile information of the decoding target PTL information is decoded from the encoded data DATA # T. When the profile presence flag profilePresentFlag is 0, it is determined that the profile information of the decoding target PTL information is equal to the profile information of the PTL information specified by the reference PTL specification information, and the decoded PTL information specified by the reference PTL specification information is determined.
  • the profile information is always signaled on the encoding side.
  • the profile information decoding unit 1021a based on the profile presence / absence flag profilePresentFlag, the number of sublayers MaxNumSubLayers, the reference PTL designation information, and the sublayer profile presence / absence flag sub_layer_profile_present_flag [i] supplied from the sublayer profile presence / absence flag decoding unit 1021c, From the encoded data DATA # T, sublayer profile information of each sublayer of the decoding target PTL information excluding the highest order sublayer is decoded and output.
  • the profile information decoding unit 1021a decodes the sublayer profile by the following operation.
  • the general profile is set as the profile information of the sublayer i. Otherwise, the profile of the sublayer (i + 1) of the decoding target PTL information Information is set as sublayer i profile information.
  • the setting rule of the profile information of the sublayer is represented by pseudo code as follows (see FIG. 62 (FIG_INFER_RULE) (a)).
  • the i-th sub-layer profile information is set to be equal to the general level information of the current profile_tier_level (); ⁇ else ⁇ // i ⁇ MaxNumSubLayers-1
  • the i-th sub-layer profile information is set to be equal to the (i + 1) -th sub-layer profile information of the current profile_tier_level (); ⁇ ⁇ (Decoding of sublayer profile when profile presence flag is 0)
  • the profile information decoding unit 1021a decodes the sublayer profile by the following operation.
  • the profile information of the sublayer corresponding to the decoded PTL information specified by the reference PTL specification information is set as the sublayer i profile information in the sublayer profile information of sublayer i.
  • the setting rule of the sub-layer profile information can be expressed in pseudo code as follows (see FIG. 62 (FIG_INFER_RULE) (b)).
  • Level information decoding unit 1021b decodes and outputs level information of decoding target PTL information (also called level information of the highest order sublayer or general-purpose level information) from the encoded data DATA # T. Further, the level information decoding unit 1021b determines the highest order from the encoded data DATA # T based on the sublayer number MaxNumSubLayers and the sublayer level presence / absence flag sub_layer_level_present_flag [i] of each sublayer supplied from the sublayer level presence / absence flag decoding unit 1021d. The sublayer level information of each sublayer of the decoding target PTL information excluding the sublayer is decoded and output.
  • Sublayer i other than is set with sublayer level information of the upper sublayer (i + 1).
  • the sub-layer level information setting rule is expressed in pseudo code as follows (see FIG. 63 (FIG_INFER_RULE) (a)).
  • sub_layer_level_idc sub_layer_level_idc [i + 1]; ⁇ ⁇ [Sublayer profile presence / absence flag decoding unit 1021c]
  • the sublayer profile presence / absence flag decoding unit 1021c decodes the sublayer profile presence / absence flag of each sublayer of the decoding target PTL information from the encoded data DATA # T based on the number of sublayers MaxNumSubLayers, and outputs it to the profile information decoding unit 1021a and the outside .
  • the sublayer level presence / absence flag decoding unit 1021d decodes the sublayer level presence / absence flag of each sublayer of the decoding target PTL information from the encoded data DATA # T based on the number of sublayers MaxNumSubLayers, and outputs it to the level information decoding unit 1021b and the outside .
  • the byte-aligned data decoding unit 1021e encodes byte-aligned data (reserved_zero_2bits [i]) (syntax SYNTPTL04 in FIG. 9) in units of 2 bits for a number of bits determined based on the number of sublayers (MaxNumSbuLayersMinus1, or MaxNumSubLayers-1). Read (decode) from data.
  • the number of bits to be read (decoded) as byte-aligned data is “(8 ⁇ MaxNumSubLayersMinus1) * 2 bits” as is apparent from the syntax SYNVPSPTL04 in FIG.
  • the reference profile level selection unit 1021f reads decoded PTL information designated by reference PTL designation information from a parameter memory (not shown).
  • FIG. 21 is a flowchart showing a decoding process of the PTL information profile_tier_level ().
  • the operation of the profile / level information decoding unit 1021 will be described.
  • Step SC101 The profile information decoding unit 1021a determines whether the profile presence flag profilePresentFlag is 1. If the profile presence / absence flag profilePresentFlag is 1 (Yes in step SC101), the process proceeds to step SC102, and otherwise (No in step SC101), the process proceeds to step SC103.
  • the profile information decoding unit 1021a uses, for example, the syntax group SYNPTL01 in FIG. ⁇ Profile space general_profile_space ⁇ Tier flag general_tier_flag -Profile identifier general_profile_idc -Profile compatibility flag general_profile_compatibility_flag [i] ... Omitted... Profile reservation syntax general_reserved_zero_44bits Are decoded and output as profile information of the decoding target PTL information.
  • the profile information decoding unit 1021a determines that the profile information of the decoding target PTL information is equal to the profile information of the decoded PTL information specified by the reference PTL specification information, and sets the decoded PTL information specified by the reference PTL specification information. It is read from a parameter memory (not shown), and the profile information is set and output as profile information of decoding target PTL information.
  • Step SC104 The level information decoding unit 1021 starts from the encoded data DATA # T with the following syntax and level identifier general_level_idc Is decoded and output as level information of the decoding target PTL information.
  • Step SC105 This is a start of a loop related to decoding of a sublayer profile presence flag and a sublayer level presence flag of a sublayer.
  • the variable i is initialized to zero.
  • the processing in the loop is executed when the variable i is less than the number of sublayers ⁇ 1 and “MaxNumSubLayers ⁇ 1”.
  • the variable i is incremented by “1” every time the processing in the loop is executed once. That is, in step SC105 to step SC107, the sublayer profile presence / absence flag and sublayer level presence / absence flag of the sublayer excluding the highest sublayer are decoded.
  • Step SC106 The sublayer profile presence / absence flag decoding unit 1021c decodes and outputs the sublayer profile presence / absence flag sub_layer_profile_present_flag [i] related to the sublayer specified by the variable i from the encoded data DATA # T.
  • the sublayer level presence / absence flag decoding unit 1021d decodes and outputs a sublayer level presence / absence flag sub_layer_level_present_flag [i] related to the sublayer specified by the variable i from the encoded data DATA # T.
  • Step SC107 This is the end of a loop related to decoding of a sublayer profile presence flag of a sublayer and a sublayer level presence flag.
  • Step SC108 The byte-aligned data decoding unit 1021e encodes byte-aligned data (reserved_zero_2bits [i]) (syntax SYNTPTL04 in FIG. 9) in units of 2 bits for a number of bits determined based on the number of sublayers (MaxNumSbuLayersMinus1, or MaxNumSubLayers-1). Read (decode) from data.
  • the code amount of the sublayer profile presence flag and sublayer level presence flag decoded for each sublayer is 1 bit each, for a total of 2 bits, and the number of sublayers is MaxNumSubLayers.
  • the total amount of codes decoded in SC105 to step SC107 is 2 * (MaxNumSubLayer ⁇ 1). Therefore, the number of bits to be read (decoded) as byte-aligned data is “(8 ⁇ NumMaxNumSubLayersMinus1) * 2 bits”.
  • Step SC109 This is a starting point of a loop related to decoding of sublayer profile information of a sublayer and sublayer level information.
  • the variable i is initialized to zero.
  • the process in the loop is executed when the variable i is less than the number of sublayers ⁇ 1 and “MaxNumSubLayers ⁇ 1”, and the variable i is incremented by “1” each time the process in the loop is executed once.
  • Step SC110 The profile information decoding unit 1021a determines whether the sublayer profile presence flag sub_layer_profile_present_flag [i] of the sublayer specified by the variable i is 1. If the sublayer profile presence / absence flag is 1 (Yes in step SC110), the process proceeds to step SC111. Otherwise (No in step SC110), the process proceeds to step SC112.
  • the profile information decoding unit 1021a uses, for example, the syntax group SYNPTL05 in FIG. 9 as sublayer profile information of the sublayer specified by the variable i from the encoded data DATA # T.
  • the profile information decoding unit 1021a sets predetermined profile information in the sublayer profile information of sublayer i. For example, as shown in FIG. 62A, when the profile presence / absence flag profilePresentFlag is 1, the profile information of the sublayer (i + 1) of the decoding target PTL information is set and output as the profile information of the sublayer i. As shown in FIG. 62B, when the profile presence / absence flag profilePresentFlag is 0, the profile information of the sublayer corresponding to the decoded PTL information specified by the reference PTL specification information is set and output as the profile information of the sublayer i.
  • Step SC113 The level information decoding unit 1021b determines whether the sublayer level presence / absence flag sub_layer_level_present_flag [i] of the sublayer specified by the variable i is 1. If the sublayer level presence / absence flag is 1 (Yes in Step SC113), the process proceeds to Step SCA114, and otherwise (No in Step SC113), the process proceeds to Step SC115.
  • Step SC114 The level information decoding unit 1021b uses the encoded data DATA # T as sublayer level information of the sublayer specified by the variable i. ⁇ Sublayer level identifier sub_layer_level_idc [i] Is decoded and output.
  • the level information decoding unit 1021b sets predetermined level information in the sublayer level information of sublayer i. For example, as shown in FIG. 63, the level information of the sublayer (i + 1) of the decoding target PTL information is set and output as the level information of the sublayer i.
  • Step SC116 This is the end of a loop related to decoding of sublayer profile information of the sublayer and sublayer level information.
  • the operation of the profile / level information decoding unit 1011 according to the first embodiment has been described above. However, the operation is not limited to the above steps, and the steps may be changed within a feasible range.
  • the first 4 bits (each syntax is 1 bit) of the extension syntax “general_reserved_zero_44bits” are assigned the extension syntax for Range Extension as shown below, and the remaining 40-bit extension syntax is “ It may be changed to “general_reserved_40btis”.
  • General_max_12bit_constraint_flag General_max_10bit_constraint_flag
  • General_max_422chroma_constraint_flag
  • maxNumSubLayersMinus1 the first 4 bits (each syntax is 1 bit) are extended for Range Extension as follows: A syntax may be assigned and the remaining 40-bit extension syntax may be changed to “sub_layer_reserved_zero_40bits [i]”. ⁇ Sub_max_12bit_constraint_flag [i] ⁇ Sub_max_10bit_constraint_flag [i] ⁇ Sub_max_422chroma_constraint_flag [i] ⁇ Sub_max_420chroma_constraint_flag [i] (Modification of Example 1) A modification of the VPS decoding unit 102 will be described with reference to FIG. Except for the reference PTL information designation index (syntax SYNVPS0Fb in FIG. 22), the operation of the VPS decoding unit 102 is the same as that of the first embodiment, and thus the description thereof is omitted.
  • the reference PTL information designation index is decoded by Golomb code with the position of the target PTL information on the PTL information list and the relative index (profile_ref_delta_index_minus1 [i]) of the reference PTL information.
  • the present invention is not limited to this. .
  • the profile information of the PTL information in the “profile_ref [i]” th on the PTL information list may be referred to instead of the relative index.
  • the reference PTL information designation index “profile_ref [i]” is subjected to variable length decoding with a bit length V determined based on the index i indicating the position on the list of the target PTL information.
  • the bit length V is determined by ceil (log2 (i)).
  • the amount of codes can be reduced compared to the case where the reference PTL information designation index is expressed by a fixed length. Also, since the first PLT information (0th) on the PTL information list can be referred to, it is possible to eliminate the drawback that the reference PTL information designation index does not function when the target PTL information is the first.
  • the profile of the first profile / level information and the tier information can be estimated based on the 0th profile / level information.
  • the reference PTL information designation index is changed to the reference profile.
  • the profile presence flag is always set to 1, and the first The PTL information profile information may be determined in advance between the decoder and the encoder so as to be included in the encoded data (also referred to as bitstream restriction). Thereby, when the target PTL information is the first, the defect that the reference PTL information designation index does not function can be solved similarly.
  • VPS Decoding Unit 102 ⁇ Variation 2 of VPS Decoding Unit 102 >> Next, a second modification of the VPS decoding unit 102 will be described with reference to FIGS.
  • FIG. 23 is a modification of the syntax table of the extended video parameter set VPS.
  • FIG. 24 is a flowchart for explaining a decoding process of VPS extension data.
  • FIG. 25 is a functional block diagram showing a modified example of the schematic configuration of the VPS decoding unit.
  • FIG. 26 is a flowchart showing a modification of the process flow in the PTL information decoding unit.
  • FIG. 27 is a block diagram showing a modified example of details of the PTL information decoding unit.
  • the syntax table of the extended video parameter set VPS according to Modification 2 will be described with reference to FIG.
  • the difference between the syntax table of the extended video parameter set VPS shown in FIG. 23 and FIG. 8 is that, in FIG. 23, the reference PTL information specification index (profile_ref_delta_index_minus1 [i]) shown in the syntax SYNVPS0Fa on FIG.
  • the function of the PTL designation information designation index is shared by the profile presence / absence flag (vps_profile_present_flag [i]) shown in the syntax SYNVPS0E in FIG. That is, when the value of the profile presence flag (vps_profile_present_flag [i]) is 1, the profile information of the i-th PTL information is decoded from the encoded data.
  • the profile information of the i-th PTL information includes the profile information of the (i ⁇ 1) -th decoded PTL information decoded immediately before the i-th PTL information. Is set (estimated).
  • the VPS decoding unit 102 ′ illustrated in FIG. 25 does not include the reference PTL information decoding unit 1022 included in the VPS decoding unit 102, and the function of the PTL information decoding unit 1021 ′ is partially different from the PTL information decoding unit 1021.
  • the functions of the profile information decoding unit 1021a ′ and the reference profile level information selecting unit 1021f ′ included in the PTL information decoding unit 1021 ′ shown in FIG. 27 are partially different.
  • Other constituent elements included in the PTL information decoding unit 1021 ′ Since it is the same as the component of the same code
  • the portions having different functions in the profile information decoding unit 1021a 'and the reference profile level information selecting unit 1021f' will be described.
  • the profile information decoding unit 1021a ′ decodes and outputs the profile information of the decoding target PTL information (also called profile information of the highest order sublayer or general profile information) from the encoded data DATA # T. To do. Specifically, when the profile presence flag profilePresentFlag is 1, the profile information of the decoding target PTL information is decoded from the encoded data DATA # T. When the profile presence / absence flag profilePresentFlag is 0, the profile information of the decoding target PTL information is equal to the profile information of the decoded PTL information ((i-1) th PTL information) decoded immediately before the decoding target PTL information. (I-1) -th decoded PTL information is read from a parameter memory (not shown), and the profile information is output as profile information of the decoding target PTL information.
  • the profile presence flag profilePresentFlag is 1
  • the profile information of the decoding target PTL information is decoded from the encoded data DATA # T.
  • the profile information decoding unit 1021a ′ encodes the encoded data DATA based on the profile presence / absence flag profilePresentFlag, the number of sublayers MaxNumSubLayers, and the sublayer profile presence / absence flag sub_layer_profile_present_flag [i] supplied from the sublayer profile presence / absence flag decoding unit 1021c. From #T, sublayer profile information of each sublayer of the decoding target PTL information excluding the highest order sublayer is decoded and output. Note that the decoding process of the profile information of each sublayer when the profile presence / absence flag is 1 is the same as that of the profile information decoding unit 1021a, and thus description thereof is omitted.
  • the profile information decoding unit 1021a ′ includes the profile information of the decrypted PTL information ((i ⁇ 1) th PTL information) one before the decryption target PTL information on the PTL information list.
  • the decrypted PTL information is read from a parameter memory (not shown), and the profile information is set and output as profile information of the decoding target PTL information.
  • the operation of the profile / level information decoding unit 1021 ′ according to the modification 2 has been described above. However, the operation is not limited to the above step, and the step may be changed within a feasible range.
  • the reference PTL information specification index (profile_ref_delta_index_minus1 [i]) shown in the syntax SYNVPS0Fa of FIG. 23 is deleted, and the reference PTL specification information specification index Is shared by the profile presence / absence flag (vps_profile_present_flag [i]) shown in the syntax SYNVPS0E in FIG. That is, when the value of the profile presence flag (vps_profile_present_flag [i]) is 1, the profile information of the i-th PTL information is decoded from the encoded data.
  • the profile information of the i-th PTL information includes the profile information of the (i ⁇ 1) -th decoded PTL information decoded immediately before the i-th PTL information. Is set (estimated).
  • the i-th PTL information can increase the probability of referring to the immediately preceding PTL information.
  • FIG. 28 shows a modification of the syntax table of the video parameter set VPS.
  • FIG. 29 is a modification of the syntax table of the extended video parameter set VPS.
  • FIG. 30 is a flowchart for explaining a modification of the decoding process of VPS extension data.
  • FIG. 31 is a functional block diagram illustrating a modification of the schematic configuration of the VPS decoding unit.
  • FIG. 32 is a diagram illustrating a modification of the data structure of the PTL information.
  • FIG. 33 is a flowchart showing a modification of the processing flow in the PTL information decoding unit.
  • FIG. 34 is a block diagram showing a modified example of details of the PTL information decoding unit.
  • the syntax table of the extended video parameter set VPS according to Modification 3 will be described with reference to FIG.
  • the difference from the syntax table of the conventional extended video parameter set VPS shown in FIGS. 29 and 56 is that in FIG. 29, the reference PTL information specification index (profile_ref minus1 [i]) shown in the syntax SYNVPS0F on FIG. 56 is deleted.
  • the function of the reference PTL designation information designation index is changed to a profile presence / absence flag (vps_profile_present_flag [i]) shown in the syntax SYNVPS0E in FIG. 29 and a level presence / absence flag (in the newly added syntax SYNVPS0Fa in FIG. 29) ( vps_level_present_flag [i]) is also a point.
  • the profile information of the i-th PTL information is decoded from the encoded data.
  • the profile information of the i-th PTL information includes the profile information of the (i ⁇ 1) -th decoded PTL information decoded immediately before the i-th PTL information. Is set (estimated).
  • the value of the level presence / absence flag vps_level_present_flag [i]
  • the level information of the i-th PTL information is decoded from the encoded data.
  • the level information of the (i ⁇ 1) th decoded PTL information decoded immediately before the i th PTL information is included in the level information of the i th PTL information. Is set (estimated).
  • the VPS decoding unit 102 ′′ shown in FIG. 31 does not include the reference PTL information decoding unit 1022 included in the VPS decoding unit 102, but newly includes a level presence / absence flag decoding unit 1224, and includes the PTL information decoding unit 1021 ′′.
  • the function is partially different from that of the PTL information decoding unit 1021.
  • the level presence / absence flag 1224 decodes the level presence / absence flag (vps_level_present_flag [i]) of the i-th PTL information.
  • the profile / level information decoding unit 1021 ′′ includes a profile information decoding unit 1021a ′′, a level information decoding unit 1021b ′′, a sublayer profile level presence / absence flag decoding unit 1021f ′′, and byte-aligned data decoding. Part 1021e ''.
  • the sub-layer presence / absence flag decoding unit 1021c ′′, the sub-layer level information decoding unit 1021d ′′, and the byte-aligned data decoding unit 1021e ′′ are the same as those in the first embodiment, and thus the description thereof is omitted.
  • the profile information decoding unit 1021a '' is the same as the profile information decoding unit 1021a 'included in the PTL information decoding unit 1021' according to the second modification, the description thereof is omitted.
  • Level information decoding unit 1021b '' Based on the level presence / absence flag levelPresentFlag, the level information decoding unit 1021b ′′ decodes and outputs the level information of the decoding target PTL information (also called level information of the highest order sublayer or general-purpose level information) from the encoded data DATA # T. To do. Specifically, when the level presence flag levelPresentFlag is 1, the level information of the decoding target PTL information is decoded from the encoded data DATA # T. When the level presence flag levelPresentFlag is 0, the level information of the decoding target PTL information is equal to the level information of the decoded PTL information ((i-1) th PTL information) decoded immediately before the decoding target PTL information. (I-1) -th decoded PTL information is read from a parameter memory (not shown), and the level information is output as level information of the decoding target PTL information.
  • the level information of the decoding target PTL information also called level information of the highest order sublayer or general-
  • the level information decoding unit 1021b '' encodes the code based on the level presence / absence flag levelPresentFlag, the sublayer number MaxNumSubLayers, and the sublayer level presence / absence flag sub_layer_level_present_flag [i] supplied from the sublayer level presence / absence flag decoding unit 1021d ''. From the encoded data DATA # T, sublayer level information of each sublayer of the decoding target PTL information excluding the highest order sublayer is decoded and output.
  • Sub-layer level decoding when the level presence flag is 1 When the level presence / absence flag of the decoding target PTL information is 1, the operation is the same as the operation of the level information decoding unit 1021b included in the PTL information decoding unit 1021 according to the first embodiment.
  • predetermined level information is set in the sublayer level information of sublayer i. For example, the level information of the sublayer (i + 1) of the decoding target PTL information is set as the level information of the sublayer i (see FIG. 63).
  • the level information decoding unit 1021b ′′ decodes the sublayer level by the following operation.
  • the i-level information of the sublayer of the decoding target PTL information is the level of the sublayer corresponding to the decoded PTL information ((idx-1) th PTL information) decoded immediately before the decoding target PTL information. It is determined that it is equal to the information, the (idx-1) -th decoded PTL information is read from the parameter memory (not shown), and the level information is output as the sub-layer level information of the decoding target PTL information.
  • idx is an index indicating the position of the decoding target PTL information on the PTL information list.
  • the setting rules for the sub layer level information can be expressed in pseudo code as follows (see FIG. 64B).
  • ProfileRefIdx is reference PTL designation information.
  • ProfileRefIdx (idx ⁇ 1). That is, the ProfileRefIdx-th PTL information on the PTL information list is referred to.
  • Step SG104 The level information decoding unit 1021b ′′ determines whether the level presence flag levelPresentFlag is 1. If the level presence flag levelPresentFlag is 1 (Yes in Step SG104), the process proceeds to Step SG105, and otherwise (No in Step SG104), the process proceeds to Step SG106.
  • the level information decoding unit 1021b ′′ uses the following syntax from the encoded data DATA # T: ⁇ Level identifier general_level_idc Decode and output as level information of the decoding target PTL information.
  • the level information decoding unit 1021b '' is the level information of the decoded PTL information ((i-1) th PTL information) whose level information of the decoding target PTL information is one before the decoding target PTL information on the PTL information list. And the decoded PTL information is read from a parameter memory (not shown), and the level information is set and output as level information of the decoding target PTL information.
  • Step SG115 The level information decoding unit 1021b ′′ determines whether the sublayer level presence / absence flag sub_layer_level_present_flag [i] of the sublayer specified by the variable i is “1”. If the sublayer level presence / absence flag is 1 (Yes in Step SG115), the process proceeds to Step SG116, and otherwise (No in Step SG115), the process proceeds to Step SG117.
  • Step SG116 The level information decoding unit 1021b ′′ uses the encoded data DATA # T as sublayer level information of the sublayer specified by the variable i. ⁇ Sublayer level identifier sub_layer_level_idc [i] Is decoded and output.
  • the operation of the profile / level information decoding unit 1021 ′′ according to the modification 3 has been described above. However, the operation is not limited to the above step, and the step may be changed within a feasible range.
  • the reference PTL information specification index (profile_ref_deltaxidx_minus1 [i]) shown in the syntax SYNVPS0F in FIG. 23 is deleted, and the reference PTL specification information specification is performed.
  • the index function is shared by the profile presence / absence flag (vps_profile_present_flag [i]) and the level presence / absence flag (vps_level_present_flag [i]) shown in the syntax SYNVPS0E in FIG. That is, when the value of the profile presence flag (vps_profile_present_flag [i]) is 1, the profile information of the i-th PTL information is decoded from the encoded data.
  • the profile information of the i-th PTL information includes the profile information of the (i ⁇ 1) -th decoded PTL information decoded immediately before the i-th PTL information. Is set (estimated). Further, when the value of the level presence / absence flag (vps_level_present_flag [i]) is 1, the level information of the i-th PTL information is decoded from the encoded data. On the other hand, when the value of the level presence flag is 0, the level information of the (i ⁇ 1) th decoded PTL information decoded immediately before the i th PTL information is included in the level information of the i th PTL information. Is set (estimated).
  • the profile / level information decoding unit obtains the level information of the i-th profile / level information from the level information of the previous profile / level information. To derive.
  • Variation 3a of VPS Decoding Unit 102 can change a structure also as follows. That is, the profile presence / absence flag profilePresentFlag and the level presence / absence flag levelPresentFlag are replaced with profile level presence / absence flags ProfileLevelPresentFlag indicating the presence / absence of profile information and level information.
  • the PTL information decoding unit 1021 '' according to the modified example 3a has the same configuration and operation except the input values of the profile presence / absence flag profilePresentFlag and the level presence / absence flag levelPresentFlag in the PTL information decoding unit 1021 '' according to the modified example 3.
  • the profile presence / absence flag profilePresentFlag and the level presence / absence flag levelPresentFlag are wired.
  • the deformation 3a has the same effect as the deformation 3. Furthermore, with respect to the third modification example, the profile presence / absence flag and the level presence / absence flag are combined into one and used as a profile level presence / absence flag indicating the presence / absence of profile information and level information. For example, it is possible to reduce the code amount related to the level presence / absence flag.
  • the profile / level information decoding unit uses the level information of the i-th profile / level information as the level information of the previous profile / level information.
  • VPS Decoding Unit 102 ⁇ Variation 4 of VPS Decoding Unit 102 >> Next, a fourth modification of the VPS decoding unit 102 will be described with reference to FIGS.
  • Flag avc_base_layer_flag (SYNVPS0A in FIG. 65) indicating whether the base layer at the head of VPS extension data vps_extension () is a bit stream encoded in H.264 to scalable mask scalability_mask_flag indicating the scalability type of each layer [i] Arrangement change of syntax splitting_flag (SYNVPS0B of FIG. 65) (arranged after avc_base_layer_flag in the example of FIG. 65), byte so that the syntax of (SYNVPS0F of FIG. 65) is byte aligned Extension bits (byte alignment data) reserved_zero_6bits (SYNVPS0C in FIG.
  • the byte offset information vps_ptl_info_offset shown in FIG. 65 is preferably 16 bits in order to maintain byte alignment.
  • the byte offset information vps_ptl_info_offset is a byte offset from the beginning of the VPS NAL unit to the PTL information related syntax on the VPS extended data on the VPS NAL unit. Specifically, from the beginning of the VPS NAL unit.
  • the byte offset may be up to the syntax vps_number_layer_sets_minus1 (number of layer sets) shown in SYNVPS0H in FIG.
  • byte alignment data vps_alignment_bit_equal_to_one (SYNVPS0G in FIG. 65) is inserted in order to adjust byte alignment.
  • the byte offset information vps_ptl_info_offset is not limited to this, and may be a byte offset from the top of the VPS NAL unit to the syntax vps_num_profile_tier_level_minus1 (number of PTL information) indicated by SYNVPS0I in FIG.
  • byte alignment data vps_alignment_bit_equal_to_one is inserted in order to adjust byte alignment.
  • -Flag max_tid_ref_present_flag (not shown) indicating the presence or absence of the upper limit of sublayers that can be used for inter-layer prediction for each layer
  • a flag indicating whether the number of active direct reference layers used for inter-layer prediction or the like when decoding a coded picture is the same as the number of reference layers that can be referred to for inter-layer prediction or the like through decoding of the entire sequence (all direct reference All_ref_layers_active_flag (not shown) indicating that the layer is referenced when decoding the encoded picture)
  • a flag more_output_layer_sets_than_default_flag (not shown) indicating that the number of output layer sets is greater than the default value (vps_number_layer_sets_minus1 + 1), Representation information presence / absence flag rep_format_idx_present_flag (not shown),
  • a flag max_one_active_ref_layer_flag (not shown) indicating that the maximum number of
  • the decoder reads the first few bits (or bytes) of the VPS extension data and exists on the byte offset indicated by vps_ptl_info_offset , Early access to syntax related to PTL information.
  • the advantage of early access to the PTL information on the PTL information list is that there is a scalablity_mask_flag indicating the scalability type of each layer near the top of the VPS extension data. From this syntax, the decoder sets each layer set. It cannot be determined whether or not decoding is possible.
  • the decoder can grasp at an early stage whether or not a decodable layer set exists on the bitstream. Also, by decoding the PTL specification index (profile_level_tier_idx [i]) (syntax group SYNVPS0H in FIG. 56) that specifies the PTL information to be applied to each (output) layer set arranged immediately after the PTL information list It is possible to specify a layer set that can be decoded by the decoder. Furthermore, the decoder uses the target set (syntax group SYNVPS03 in FIG.
  • the decoder By selecting an output layer set) and performing a bitstream extraction process, it is possible to generate only a bitstream that can be decoded by the decoder.
  • PTL information profile_tier_level () (FIG. 54) on VPS and SPS is profile information (SYNPTL01 in FIG. 54) and level information (SYNPTL02 in FIG. 54).
  • profile information of each sublayer (SYNPTL05 in FIG. 54), and level information (SYNPTL06 in FIG. 54) are designed to be byte aligned. .
  • SYNPTL04 For example, in order to adjust byte alignment, there is byte alignment data indicated by SYNPTL04 in FIG.
  • a specific sublayer is determined based on the number of sublayers, the sublayer profile presence flag, and the sublayer level presence flag. It is designed to easily access the profile information and level information by byte calculation.
  • the PTL information on the VPS extension data is the syntax immediately before the PTL information (for example, vps_profile_present_flag [i] and profile_ref_minus1 [i] in FIG. 56). ) Is not aligned, so byte alignment is not maintained. Therefore, the above-mentioned merit considered in the above-mentioned PTL information standard formulation stage is impaired.
  • the syntax related to PTL information (number of output layer sets vps_number_layer_sets_minus1 (SYNVPS0H in FIG. 65), number of PTL information vps_num_profile_tier_level_minus1 (SYNVPS0I in FIG. 65), VPS profile presence flag vps_present_flag [i] (FIG. 65) SYNVPS0J), reference PTL specification information profile_ref_minus1 [i] (SYNVPS0L in FIG. 65), and syntax of PTL information profile_tier_level () (SYNVPS0M in FIG. 65) are byte-aligned.
  • the byte alignment data vps_alingment_bit_equalt_to_one (SYNVPS0G in FIG. 65), the number of PTL information, and byte aligned data reserved_zero_1bits [i] (SYNVPS0K in FIG. 65) determined based on the profile presence / absence flag are added.
  • the head syntax of the PTL information related syntax (in the example of FIG. 65, the layer set number vps_number_layer_sets_minus1) is arranged on the encoded data at the byte-aligned position (at the head position of the byte boundary).
  • Byte alignment data vps_alingment_bit_equalt_to_one (SYNVPS0G in FIG. 65) shown in SYNVPS0G in FIG. 65 is inserted.
  • the function byte_aligned () is a process to determine whether the current position (bit unit) on the encoded data is on a byte boundary, and the current position on the encoded data is on a byte boundary Is determined as “true”, otherwise it is determined as “false”.
  • byte alignment data vps_alingment_bit_equalt_to_one is inserted in 1-bit units until the determination is “true”.
  • the profile presence / absence flag of each PTL information and the PTL information are interleaved (separated), and byte alignment data reserved_zero_bits [i] is inserted between the profile presence / absence flag and the PTL information in order to adjust byte alignment.
  • the syntax of the number of layer sets vps_number_layer_sets_minus1 (SYNVPS0H in FIG. 65) and the number of PTL information vps_num_profile_tier_level_minus1 (SYNVPS0G in FIG. 65) are byte-aligned.
  • the reference PTL designation information profile_ref_minus1 [i] is changed from 6 bits to 8 bits (SYNVPS0L in FIG. 65).
  • 2-bit extension bits reserved_zero_2bits may be added to adjust byte alignment.
  • the PTL information on the PTL information list is byte-aligned, so the number of memory accesses related to reading / writing when decoding / encoding each syntax can be reduced. That is, there is an effect of reducing the processing amount required for decoding / encoding.
  • specific sublayer profile information and level information based on the number of sublayers, sublayer profile presence / absence flag, and sublayer level presence / absence flag in the specific sublayer profile information and level information of each PTL information Information can be easily accessed by byte calculation.
  • VPS decoding unit 102 ′ ′′ (Configuration of VPS decoding unit 102 ′ ′′) With reference to FIG. 16, the structure of VPS decoding section 102 ′ ′′ according to Modification 4 will be described.
  • the VPS decoding unit 102 ′ ′′ Further, a byte alignment data decoding unit 1024 (not shown) is included. Hereinafter, only the byte alignment data decoding unit 1024 will be described.
  • the byte alignment data decoding unit 1024 included in the VPS decoding unit 102 ′′ ′′ decodes data inserted to adjust byte alignment and byte alignment data included in the VPS extension data vps_extension (). For example, vps_alignment_bit_equal_to_one (SYNVPS0G on FIG. 65) and reserved_zero_1bits [i] (SYNVPS0K on FIG. 65).
  • Step SH101 The VPS decoding unit 102 '' '' decodes the syntax group SYNVPS0A in FIG.
  • Step SH102 The VPS decoding unit 102 '' '' decodes the byte offset information (vps_ptl_info_offset) up to the PTL information list shown in SYNVPS0E on FIG.
  • Step SH103 The VPS decoder 102 ′ ′′ decodes the scalability mask flag shown in SYNVPS0F in FIG. ... Omitted ...
  • Step SH104 The byte alignment data decoding unit 1024 included in the VPS decoding unit 102 ′ ′′ decodes (reads out) byte alignment data (vps_alignment_bit_equal_to_one) in units of 1 bit based on a predetermined determination formula shown in SYNVPS0G in FIG. )
  • Step SH105 The VPS decoding unit 102 '' '' decodes the number of layer sets indicated by SYNVPS0H in FIG.
  • Step SH106 The VPS decoding unit 102 "" decodes the number of PTL information indicated by SYNVPS0I in FIG.
  • Step SH107 The profile presence / absence flag decoding unit 1023 included in the VPS decoding unit 102 '' 'decodes "PTL information number -1" of the profile presence / absence flags shown in SYNVPS0J in FIG.
  • Step SH108 The byte alignment data decoding unit 1024 included in the VPS decoding unit 102 '' '' decodes the byte alignment data (reserved_zero_bit [i]) indicated by SYNVPS0K in FIG.
  • Step SH109 This is the loop start point of the decoding process of the PTL information included on the VPS.
  • Step SH110 If the profile presence / absence flag is 0, it is determined that there is no syntax group indicating profile information on the i-th PTL information, and the process proceeds to Step SH112. If the profile presence / absence flag is 1, it is determined that there is a syntax group indicating profile information on the i-th PTL information, and the process proceeds to step SA111.
  • Step SH111 When the profile presence / absence flag is 0, the reference PTL designation information decoding unit 1022 included in the VPS decoding unit 102 ′′ ′′ uses the profile information of the i-th PTL information as any PTL information on the PTL information list.
  • the reference PTL information designation index “profile_ref_minus1 [i]” (SYNVPS0L in FIG. 65) indicating whether to refer to is decoded.
  • Step SH112 The PTL information decoding unit 1021 included in the VPS decoding unit 102 ′ ′′ receives the profile presence flag, the reference PTL designation index, and the number of sublayers, and decodes the profile and level information of the i-th PTL information. .
  • the details of the PTL information decoding unit 1021 have been already described, and will be omitted.
  • Step SH113 This is the loop end of the decoding process of the PTL information included in the VPS.
  • Step SH114 The VPS decoding unit 102 '' '' decodes other syntax.
  • VPS decoding unit 102 ′′ ′′ The operation of the VPS decoding unit 102 ′′ ′′ according to the modification 4 has been described above. However, the operation is not limited to the above step, and the step may be changed within a feasible range.
  • VPS extension data vps_extension () VPS extension data vps_extension ()
  • VPS extension data syntax table shown in FIG. 68 and FIG. 65 according to the modified example 4 is that the reference PTL information specification index (profile_ref_minus1 [i]) shown in the syntax SYNVPS0L in FIG.
  • the function of the reference PTL designation information designation index is shared by the profile presence / absence flag (vps_profile_present_flag [i]) shown in the syntax SYNVPS0J in FIG.
  • the profile information of the i-th PTL information is decoded from the encoded data.
  • the profile information of the i-th PTL information includes the profile information of the (i ⁇ 1) -th decoded PTL information decoded immediately before the i-th PTL information. Is set (estimated).
  • the i-th PTL information can increase the probability of referring to the immediately preceding PTL information.
  • VPS decoding unit 102 ′ ′′ a (Configuration of VPS decoding unit 102 ′ ′′ a) With reference to FIG. 25, the structure of VPS decoding part 102 '''a which concerns on the modification 4a is demonstrated.
  • the VPS decoding unit 102 ′ ′′ a further includes byte alignment.
  • a data decoding unit 1024 (not shown) is included.
  • the byte-aligned data decoding unit 1024 is the same component as the byte-aligned data decoding unit 1024 included in the VPS decoding unit 102 ′ ′′ according to the modified example 4, and thus the description thereof is omitted.
  • VPS extension data decoding process of the VPS decoder 102 ′ ′′ a will be described with reference to FIG. Note that in the VPS extension data decoding process of the VPS decoding unit 102 ′′ ′ a, step SH110 (branch determination based on the value of the profile presence flag and transition based on the branch), step SH111 (reference PTL information designation) in FIG. The difference is that the decoding of the index profile_ref_minus1 [i] is omitted, and the other operations are the same, so the description is omitted.
  • VPS decoding unit 102 ′′ ′′ a The operation of the VPS decoding unit 102 ′′ ′′ a according to the modification 4 has been described above. However, the operation is not limited to the above step, and the step may be changed within a practicable range.
  • vps_ptl_info_offset indicating a byte offset from the beginning of the VPSVNAL unit to the PTL information related syntax on the VPS extension data on the VPS NAL unit is added.
  • the PTL information related syntax may be arranged immediately after the scalability mask flag. This also makes it possible to access the PTL information and related syntax at an early stage, and the same effects as those of the modification examples 4 and 4a can be obtained. The same can be applied to the encoding side.
  • the profile presence / absence flag and the PTL information are interleaved and signaled, but the present invention is not limited to this.
  • the level information presence / absence flag introduced in the third modification may be interleaved with the PTL information and signaled as in the fourth modification. That is, the number of PTL information—one profile information and level information may be signaled first, then byte alignment data may be inserted, and then each PTL information may be signaled. In this case, the same effects as those of Modification 4a and Modification 3 are obtained. This change can also be applied on the encoding side.
  • the reference picture information decoding unit is a component of the header decoding unit 10 and decodes information related to the reference picture from the encoded data # 1.
  • Information related to the reference picture includes reference picture set information (hereinafter referred to as RPS information) and reference picture list correction information (hereinafter referred to as RPL correction information).
  • a reference picture set represents a set of pictures that may be used as reference pictures in a target picture or a picture that follows the target picture in decoding order.
  • the RPS information is information that is decoded from the SPS and the slice header, and is information that is used to derive a reference picture set that is set when each picture is decoded.
  • the reference picture list (RPL: “Reference Picture List”) is a candidate list of reference pictures to be referred to when performing motion compensation prediction. There may be two or more reference picture lists. In the present embodiment, it is assumed that an L0 reference picture list (L0 reference list) and an L1 reference picture list (L1 reference list) are used.
  • the RPL correction information is information decoded from the SPS and the slice header, and indicates the order of reference pictures in the reference picture list.
  • a reference picture recorded at the position of the reference image index (refIdx) on the reference image list is used. For example, when the value of refIdx is 0, the position of 0 in the reference image list, that is, the first reference picture in the reference image list is used for motion compensation prediction.
  • the decoding process of the RPS information and the RPL correction information by the reference picture information decoding unit is an important process in this embodiment, and will be described in detail later.
  • FIG. 35A shows pictures constituting a moving image arranged in the display order, and the numbers in the figure represent POCs corresponding to the pictures.
  • the POC is assigned to each picture so as to be in ascending order in the output order.
  • a picture with a POC of 9 indicated as “curr” is a current picture to be decoded.
  • FIG. 35B shows an example of RPS information applied to the target picture.
  • a reference picture set (current RPS) in the current picture is derived based on the RPS information.
  • the RPS information includes long-term RPS information and short-term RPS information.
  • long-term RPS information the POC of a picture to be included in the current RPS is directly indicated.
  • the short-term RPS information a picture to be included in the current RPS is recorded as a difference with respect to the POC of the target picture.
  • “Before” indicates a picture ahead of the target picture, that is, a picture that is displayed earlier than the target picture.
  • “After” indicates a picture behind the target picture, that is, a picture that is displayed later than the target picture.
  • FIG. 35 (c) shows an example of the current RPS derived when the RPS information exemplified in FIG. 35 (b) is applied when the POC of the target picture is 0.
  • FIGS. 35D and 35E show examples of reference picture lists generated from reference pictures included in the current RPS.
  • Each element of the reference picture list is assigned an index (reference picture index) (denoted as idx in the figure).
  • FIG. 35D shows an example of the L0 reference list.
  • the L0 reference list includes reference pictures included in the current RPS having POCs of 5, 8, 10, 1 in this order.
  • FIG. 35E shows an example of the L1 reference list.
  • the L1 reference list includes reference pictures included in the current RPS having POCs of 10, 5, and 8 in this order. Note that as shown in the example of the L1 reference list, it is not necessary to include all reference pictures (referenceable pictures) included in the current RPS in the reference picture list. However, the maximum number of elements in the reference picture list is the number of reference pictures included in the current RPS. In other words, the length of the reference picture list is equal to or less than the number of pictures that can be referred to in the current picture.
  • FIG. 36 shows a corrected reference picture list (FIG. 36C) obtained when RPL correction information (FIG. 36B) is applied to a specific reference picture list (FIG. 36A).
  • the pre-correction L0 reference list shown in FIG. 36 (a) is the same as the L0 reference list described in FIG. 35 (d).
  • the RPL correction information shown in FIG. 36B is a list whose elements are reference picture index values, and values 0, 2, 1, and 3 are stored in order from the top. This RPL correction information indicates that the reference pictures indicated by the reference picture indexes 0, 2, 1, and 3 included in the reference list before correction are used as reference pictures in the corrected L0 reference list in this order.
  • FIG. 36C shows the corrected L0 reference list, which includes pictures with POCs of 5, 10, 8, 1 in this order.
  • Video decoding procedure The procedure in which the image decoding apparatus 1 generates the decoded image # 2 from the input encoded data # 1 is as follows.
  • the header decoding unit 10 decodes the VPS and SPS from the encoded data # 1.
  • the header decoding unit 10 decodes the PPS from the encoded data # 1.
  • the header decoding unit 10 decodes the slice header of each slice included in the target picture from the encoded data # 1.
  • the reference picture information decoding unit included in the header decoding unit 10 decodes the RPS information from the slice header and outputs it to the reference picture set setting unit 131 included in the reference picture management unit 13. Also, the reference picture information decoding unit decodes the RPL correction information from the slice header and outputs the decoded information to the reference picture list deriving unit 132.
  • the reference picture set setting unit 131 applies the reference picture set RPS to be applied to the target picture based on the combination of the RPS information, the POC of the locally decoded image recorded in the decoded picture buffer 12, and the position information on the memory. Is output to the reference picture list deriving unit 132.
  • the reference picture list deriving unit 132 generates a reference picture list RPL based on the reference picture set RPS and the RPL correction information, and outputs the reference picture list RPL to the picture decoding unit 11.
  • the picture decoding unit 11 creates a local decoded image of the target picture based on the slice data of each slice included in the target picture from the encoded data # 1 and the reference picture list RPL, and the POC of the target picture Correlate and record in the decoded picture buffer.
  • the locally decoded image recorded in the decoded picture buffer is output to the outside as decoded image # 2 at an appropriate timing determined based on POC.
  • Decoded picture buffer 12 In the decoded picture buffer 12, a locally decoded image of each picture decoded by the picture decoding unit is recorded in association with the layer ID and the POC (Picture Order Count) of the picture. The decoded picture buffer 12 determines an output target POC at a predetermined output timing. Thereafter, the local decoded image corresponding to the POC is output to the outside as one of the pictures constituting the decoded image # 2.
  • FIG. 37 is a conceptual diagram showing a configuration of a decoded picture memory.
  • a box with a number indicates a locally decoded image. Numbers indicate POC.
  • the local decoded images of a plurality of layers are recorded in association with the layer ID, the POC, and the local decoded image.
  • the view ID view_id and the depth flag depth_flag corresponding to the layer ID are also recorded in association with the locally decoded image.
  • FIG. 38 is a schematic diagram showing the configuration of the reference picture management unit 13 according to the present embodiment.
  • the reference picture management unit 13 includes a reference picture set setting unit 131 and a reference picture list deriving unit 132.
  • the reference picture set setting unit 131 uses the reference picture set RPS based on the RPS information decoded by the reference picture information decoding unit 218 and the local decoded image, layer ID, and POC information recorded in the decoded picture buffer 12. And is output to the reference picture list deriving unit 132. Details of the reference picture set setting unit 131 will be described later.
  • the reference picture list deriving unit 132 generates a reference picture list RPL based on the RPL correction information decoded by the reference picture information decoding unit 218 and the reference picture set RPS input from the reference picture set setting unit 131. Output to the picture decoding unit 11. Details of the reference picture list deriving unit 132 will be described later.
  • the RPS information is information decoded from the SPS or slice header in order to construct a reference picture set.
  • the RPS information includes the following. 1. 1. SPS short-term RPS information: short-term reference picture set information included in the SPS 2. SPS long-term RP information: long-term reference picture information included in the SPS SH short-term RPS information: short-term reference picture set information included in the slice header SH long-term RP information: long-term reference picture information included in the slice header (1. SPS short-term RPS information) The SPS short-term RPS information includes information on a plurality of short-term reference picture sets that can be used from each picture that references the SPS.
  • the short-term reference picture set is a set of pictures that can be a reference picture (short-term reference picture) specified by a relative position with respect to the target picture (for example, a POC difference from the target picture).
  • FIG. 39 illustrates a part of the SPS syntax table used at the time of SPS decoding in the header decoding unit 10 and the reference picture information decoding unit. 39A corresponds to the SPS short-term RPS information.
  • the SPS short-term RPS information includes the number of short-term reference picture sets (num_short_term_ref_pic_sets) included in the SPS and information on each short-term reference picture set (short_term_ref_pic_set (i)).
  • the short-term reference picture set information will be described with reference to FIG. FIG. 40 exemplifies a syntax table of a short-term reference picture set used in SPS decoding and slice header decoding in the header decoding unit 10 and the reference picture information decoding unit.
  • the short-term reference picture set information includes the number of short-term reference pictures (num_negative_pics) whose display order is earlier than that of the target picture and the number of short-term reference pictures (num_positive_pics) whose display order is later than that of the target picture.
  • a short-term reference picture whose display order is earlier than the target picture is referred to as a front short-term reference picture
  • a short-term reference picture whose display order is later than the target picture is referred to as a rear short-term reference picture.
  • the short-term reference picture set information includes, for each forward short-term reference picture, the absolute value of the POC difference for the target picture (delta_poc_s0_minus1 [i]) and the presence / absence of the possibility of being used as a reference picture for the target picture ( used_by_curr_pic_s0_flag [i]).
  • the absolute value of the POC difference with respect to the target picture delta_poc_s1_minus1 [i]
  • the possibility of being used as the reference picture of the target picture used_by_curr_pic_s1_flag [i]
  • the SPS long-term RP information includes information on a plurality of long-term reference pictures that can be used from each picture that references the SPS.
  • a long-term reference picture is a picture specified by an absolute position (for example, POC) in a sequence.
  • the part (B) in FIG. 39 corresponds to the SPS long-term RP information.
  • the SPS long-term RP information includes information (long_term_ref_pics_present_flag) indicating the presence / absence of a long-term reference picture transmitted by SPS, the number of long-term reference pictures included in the SPS (num_long_term_ref_pics_sps), and information on each long-term reference picture.
  • the long-term reference picture information includes the POC of the reference picture (lt_ref_pic_poc_lsb_sps [i]) and the presence / absence of the possibility of being used as the reference picture of the target picture (used_by_curr_pic_lt_sps_flag [i]).
  • the POC of the reference picture may be the POC value itself associated with the reference picture, or the POB LSB (Least Significant Bit), that is, the POC divided by a predetermined number of powers of 2. The remainder value may be used.
  • the POB LSB east Significant Bit
  • the SH short-term RPS information includes information of a single short-term reference picture set that can be used from a picture that references a slice header.
  • FIG. 41 illustrates a part of a slice header syntax table used at the time of decoding a slice header in the header decoding unit 10 and the reference picture information decoding unit.
  • the portion (A) in FIG. 41 corresponds to SH short-term RPS information.
  • the SH short-term RPS information includes a flag (short_term_ref_pic_set_sps_flag) indicating whether a short-term reference picture set is selected from short-term reference picture sets decoded by SPS or explicitly included in a slice header.
  • an identifier for selecting one decoded short-term reference picture set is included.
  • information corresponding to the above-described syntax table is included in the SPS short-term RPS information.
  • the SH long-term RP information includes information on a long-term reference picture that can be used from a picture that references a slice header.
  • SH long-term RP information corresponds to the SH long-term RP information.
  • the SH long-term RP information is included in the slice header only when a long-term reference picture is available in the target picture (long_term_ref_pic_present_flag).
  • the number of reference pictures (num_long_term_sps) that can be referred to by the target picture among the long-term reference pictures decoded by SPS is the SH long-term RP information. included.
  • the number of long-term reference pictures (num_long_term_pics) explicitly transmitted in the slice header is included in the SH long-term RP information.
  • information (lt_idx_sps [i]) for selecting the num_long_term_sps number of long-term reference pictures from among the long-term reference pictures transmitted by the SPS is included in the SH long-term RP information.
  • the number of reference pictures POC (poc_lsb_lt [i]) and the presence / absence of use as a reference picture of the target picture is included.
  • the RPL correction information is information decoded from the SPS or the slice header in order to construct the reference picture list RPL.
  • the RPL correction information includes SPS list correction information and SH list correction information.
  • the SPS list correction information is information included in the SPS, and is information related to restrictions on reference picture list correction.
  • the SPS list correction information will be described with reference to FIG. 39 again.
  • the part (C) in FIG. 39 corresponds to SPS list correction information.
  • a flag restricted_ref_pic_lists_flag
  • a flag whether or not information related to list rearrangement exists in the slice header lists_modification_present_flag.
  • the SH list correction information is information included in the slice header, and the update information of the length of the reference picture list (reference list length) applied to the target picture, and the reordering information of the reference picture list (reference list reordering information) ) Is included.
  • the SH list correction information will be described with reference to FIG. FIG. 42 exemplifies a part of a slice header syntax table used at the time of decoding a slice header in the header decoding unit 10 and the reference picture information decoding unit.
  • the part (C) in FIG. 42 corresponds to the SH list correction information.
  • the reference list length update information includes a flag (num_ref_idx_active_override_flag) indicating whether or not the list length is updated.
  • a flag (num_ref_idx_active_override_flag) indicating whether or not the list length is updated.
  • information (num_ref_idx_l0_active_minus1) indicating the reference list length after the change of the L0 reference list and information (num_ref_idx_l1_active_minus1) indicating the reference list length after the change of the L1 reference list are included.
  • FIG. 43 exemplifies a syntax table of reference list rearrangement information used at the time of decoding a slice header in the header decoding unit 10 and the reference picture information decoding unit.
  • the reference list rearrangement information includes an L0 reference list rearrangement presence / absence flag (ref_pic_list_modification_flag_l0).
  • the L0 reference list rearrangement order (list_entry_l0 [i]) is included in the reference list rearrangement information.
  • NumPocTotalCurr is a variable representing the number of reference pictures that can be used in the current picture. Therefore, the L0 reference list rearrangement order is included in the slice header only when the L0 reference list is rearranged and the number of reference pictures available in the current picture is larger than two.
  • the L1 reference list rearrangement presence / absence flag (ref_pic_list_modification_flag_l1) is included in the reference list rearrangement information.
  • the L1 reference list rearrangement order (list_entry_l1 [i]) is included in the reference list rearrangement information.
  • the L1 reference list rearrangement order is included in the slice header only when the L1 reference list is rearranged and the number of reference pictures available in the current picture is larger than two.
  • the reference picture set setting unit 131 generates a reference picture set RPS used for decoding the target picture based on the RPS information and the information recorded in the decoded picture buffer 12.
  • the reference picture set RPS is a set of pictures (referenceable pictures) that can be used as reference pictures at the time of decoding in a target picture or a picture subsequent to the target picture in decoding order.
  • the reference picture set is divided into the following two subsets according to the types of referenceable pictures.
  • List of current pictures that can be referred to ListCurr List of pictures that can be referred to in the target picture among pictures on the decoded picture buffer.
  • ListFoll List that can be referred to subsequent pictures
  • ListFoll A picture that is not referenced in the target picture but is subsequent to the target picture in decoding order.
  • NumCurrList The number of pictures included in the current picture referable list is referred to as the current picture referenceable picture number NumCurrList. Note that NumPocTotalCurr described with reference to FIG. 43 is the same as NumCurrList.
  • the current picture referable list further includes three partial lists.
  • Current picture long-term referable list ListLtCurr: Current picture referenceable picture specified by SPS long-term RP information or SH long-term RP information
  • ListStCurrBefore List specified by SPS short-term RPS information or SH short-term RPS information Current picture referenceable picture whose display order is earlier than the target picture.
  • Current picture short-term backward referenceable list ListStCurrAfter: current picture referenceable picture specified by SPS short-term RPS information or SH short-term RPS information. The order is earlier than the target picture.
  • the subsequent picture referable list is further composed of two partial lists.
  • -Subsequent picture long-term referable list ListLtFoll: Subsequent picture referable picture specified by SPS long-term RP information or SH long-term RP information
  • ListStFoll Current picture specified by SPS short-term RPS information or SH short-term RPS information Picture referenceable picture.
  • the reference picture set setting unit 131 When the NAL unit type is other than IDR, the reference picture set setting unit 131 performs the reference picture set RPS, that is, the current picture short-term forward referenceable list ListStCurrBefore, the current picture short-term backward referenceable list ListStCurrAfter, the current picture long-term referenceable list ListLtCurr, The subsequent picture short-term referable list ListStFoll and the subsequent picture long-term referable list ListLtFoll are generated by the following procedure. In addition, a variable NumPocTotalCurr representing the number of pictures that can be referred to the current picture is derived. Note that each of the referable lists is set to be empty before starting the following processing. When the NAL unit type is IDR, the reference picture set setting unit 131 derives the reference picture set RPS as empty.
  • a single short-term reference picture set used for decoding the target picture is specified. Specifically, when the value of short_term_ref_pic_set_sps included in the SH short-term RPS information is 0, the short-term RPS explicitly transmitted by the slice header included in the SH short-term RPS information is selected. Other than that (when the value of short_term_ref_pic_set_sps is 1, the short-term RPS indicated by short_term_ref_pic_set_idx included in the SH short-term RPS information is selected from a plurality of short-term RPSs included in the SPS short-term RPS information.
  • the POC value of the reference picture is derived by subtracting the value of “delta_poc_s0_minus1 [i] +1” from the POC value of the target picture when the reference picture is a forward short-term reference picture.
  • the reference picture is a backward short-term reference picture, it is derived by adding the value of “delta_poc_s1_minus1 [i] +1” to the POC value of the target picture.
  • the long-term reference picture set used for decoding the current picture is specified based on the SPS long-term RP information and the SH long-term RP information. Specifically, num_long_term_sps number of reference pictures are selected from reference pictures included in the SPS long-term RP information and having the same layer ID as the target picture, and sequentially added to the long-term reference picture set. The selected reference picture is the reference picture indicated by lt_idx_sps [i]. Subsequently, the reference pictures included in the SH long-term RP information are added to the long-term reference picture set in order as many reference pictures as num_long_term_pics.
  • the POC value of each reference picture included in the long-term reference picture set is derived and recorded in the decoded picture buffer 12 in association with the POC value from the reference pictures having the same layer ID as the target picture.
  • the position of the locally decoded image is detected and derived as a recording position on the decoded picture buffer of the reference picture.
  • the position of the local decoded image recorded in association with the layer ID specified by the dependency layer ref_layer_id and the POC of the target picture is detected, and the reference picture is decoded. Derived as the recording position on the picture buffer.
  • the POC of the long-term reference picture is directly derived from the value of poc_lst_lt [i] or lt_ref_pic_poc_lsb_sps [i] decoded in association with the reference picture having the same layer ID as the target picture. For a reference picture having a layer ID different from that of the target picture, the POC of the target picture is set.
  • the value of the variable NumPocTotalCurr is set to the sum of reference pictures that can be referenced from the current picture. That is, the value of the variable NumPocTotalCurr is set to the sum of the numbers of elements of the three lists of the current picture short-term forward referenceable list ListStCurrBefore, the current picture short-term backward referenceable list ListStCurrAfter, and the current picture long-term referenceable list ListLtCurr.
  • the reference picture list deriving unit 132 generates the reference picture list RPL based on the reference picture set RPS and the RPL correction information.
  • the reference picture list is composed of two lists, an L0 reference list and an L1 reference list. First, the construction procedure of the L0 reference list will be described.
  • the L0 reference list is constructed by the procedure shown in S301 to S307 below.
  • the elements of the provisional L0 reference list are rearranged to form the L0 reference list.
  • the element RefPicList0 [rIdx] of the L0 reference list corresponding to the reference picture index rIdx is derived by the following equation.
  • RefListTemp0 [i] represents the i-th element of the provisional L0 reference list.
  • RefPicList0 [rIdx] RefPicListTemp0 [list_entry_l0 [rIdx]]
  • the value recorded at the position indicated by the reference picture index rIdx is referred to, and the reference recorded at the position of the value in the provisional L0 reference list
  • the picture is stored as a reference picture at the position of rIdx in the L0 reference list.
  • the L1 reference list can also be constructed in the same procedure as the L0 reference list.
  • the L0 reference picture, the L0 reference list, the provisional L0 reference list, and list_entry_l0 may be replaced with the L1 reference picture, the L1 reference list, the provisional L1 reference list, and list_entry_l1, respectively.
  • the RPL correction information may be omitted when the current picture referenceable picture count is 1.
  • the reference list rearrangement information is parsed based on the syntax table shown in FIG. FIG. 45 exemplifies a syntax table of reference list rearrangement information used at the time of decoding a slice header.
  • the picture decoding unit 11 includes encoded data # 1, header information input from the header decoding unit 10, reference pictures recorded in the decoded picture buffer 12, and a reference picture list input from the reference picture list deriving unit 132 Based on the above, a locally decoded image of each picture is generated and recorded in the decoded picture buffer 12.
  • FIG. 44 is a schematic diagram showing a configuration of the picture decoding unit 11 according to the present embodiment.
  • the picture decoding unit 11 includes an entropy decoding unit 301, a prediction parameter decoding unit 302, a prediction parameter memory (prediction parameter storage unit) 307, a prediction image generation unit 308, an inverse quantization / inverse DCT unit 311, and an addition unit 312. Composed.
  • the prediction parameter decoding unit 302 includes an inter prediction parameter decoding unit 303 and an intra prediction parameter decoding unit 304.
  • the predicted image generation unit 308 includes an inter predicted image generation unit 309 and an intra predicted image generation unit 310.
  • the entropy decoding unit 301 performs entropy decoding on encoded data # 1 input from the outside, and separates and decodes individual codes (syntax elements).
  • the separated codes include prediction information for generating a prediction image and residual information for generating a difference image.
  • the entropy decoding unit 301 outputs a part of the separated code to the prediction parameter decoding unit 302. Some of the separated codes are, for example, the prediction mode PredMode, the partition mode part_mode, the merge flag merge_flag, the merge index merge_idx, the inter prediction flag inter_pred_idx, the reference picture index refIdxLX, the prediction vector index mvp_LX_idx, and the difference vector mvdLX. Control of which code to decode is performed based on an instruction from the prediction parameter decoding unit 302.
  • the entropy decoding unit 301 outputs the quantization coefficient to the inverse quantization / inverse DCT unit 311. This quantization coefficient is a coefficient obtained by performing DCT (Discrete Cosine Transform, Discrete Cosine Transform) on the residual signal and quantizing it in the encoding process.
  • DCT Discrete Cosine Transform, Discrete Cosine Transform
  • the inter prediction parameter decoding unit 303 decodes the inter prediction parameter with reference to the prediction parameter stored in the prediction parameter memory 307 based on the code input from the entropy decoding unit 301.
  • the inter prediction parameter decoding unit 303 outputs the decoded inter prediction parameter to the prediction image generation unit 308 and stores it in the prediction parameter memory 307. Details of the inter prediction parameter decoding unit 303 will be described later.
  • the intra prediction parameter decoding unit 304 generates an intra prediction parameter by referring to the prediction parameter stored in the prediction parameter memory 307 based on the code input from the entropy decoding unit 301.
  • the intra prediction parameter is information necessary for generating a prediction image of a decoding target block using intra prediction, and is, for example, an intra prediction mode IntraPredMode.
  • the intra prediction parameter decoding unit 304 outputs the intra prediction parameters to the prediction image generation unit 308 and stores them in the prediction parameter memory 307.
  • the prediction parameter memory 307 stores the prediction parameter in a predetermined position for each decoding target picture and block. Specifically, the prediction parameter memory 307 stores the inter prediction parameter decoded by the inter prediction parameter decoding unit 303, the intra prediction parameter decoded by the intra prediction parameter decoding unit 304, and the prediction mode predMode separated by the entropy decoding unit 301. .
  • the stored inter prediction parameters include, for example, a prediction list utilization flag predFlagLX (inter prediction flag inter_pred_idx), a reference picture index refIdxLX, and a vector mvLX.
  • the prediction image generation unit 308 receives the prediction mode predMode input from the entropy decoding unit 301 and the prediction parameter from the prediction parameter decoding unit 302. Further, the predicted image generation unit 308 reads a reference picture from the decoded picture buffer 12. The predicted image generation unit 308 generates a predicted picture block P (predicted image) using the input prediction parameter and the read reference picture in the prediction mode indicated by the prediction mode predMode.
  • the inter prediction image generation unit 309 uses the inter prediction parameter input from the inter prediction parameter decoding unit 303 and the read reference picture to perform the prediction picture block P by inter prediction. Is generated.
  • the predicted picture block P corresponds to the PU.
  • the PU corresponds to a part of a picture composed of a plurality of pixels as a unit for performing the prediction process as described above, that is, a decoding target block on which the prediction process is performed at a time.
  • the inter prediction image generation unit 309 uses the decoding target block as a reference from the reference picture indicated by the reference picture index refIdxLX.
  • the reference picture block at the position indicated by the vector mvLX is read from the decoded picture buffer 12.
  • the inter prediction image generation unit 309 performs prediction on the read reference picture block to generate a prediction picture block P.
  • the inter prediction image generation unit 309 outputs the generated prediction picture block P to the addition unit 312.
  • the intra predicted image generation unit 310 When the prediction mode predMode indicates the intra prediction mode, the intra predicted image generation unit 310 performs intra prediction using the intra prediction parameter input from the intra prediction parameter decoding unit 304 and the read reference picture. Specifically, the intra predicted image generation unit 310 reads, from the decoded picture buffer 12, a reference picture block that is a decoding target picture and is in a predetermined range from the decoding target block among blocks that have already been decoded.
  • the predetermined range is, for example, any of the left, upper left, upper, and upper right adjacent blocks when the decoding target block sequentially moves in a so-called raster scan order, and varies depending on the intra prediction mode.
  • the raster scan order is an order in which each row is sequentially moved from the left end to the right end in each picture from the upper end to the lower end.
  • the intra prediction image generation unit 310 generates a prediction picture block using the read reference picture block and the input prediction parameter.
  • the intra predicted image generation unit 310 outputs the generated predicted picture block P to the addition unit 312.
  • the inverse quantization / inverse DCT unit 311 inversely quantizes the quantization coefficient input from the entropy decoding unit 301 to obtain a DCT coefficient.
  • the inverse quantization / inverse DCT unit 311 performs inverse DCT (Inverse Discrete Cosine Transform, Inverse Discrete Cosine Transform) on the obtained DCT coefficient to calculate a decoded residual signal.
  • the inverse quantization / inverse DCT unit 311 outputs the calculated decoded residual signal to the adder 312.
  • the adder 312 outputs the prediction picture block P input from the inter prediction image generation unit 309 and the intra prediction image generation unit 310 and the signal value of the decoded residual signal input from the inverse quantization / inverse DCT unit 311 for each pixel. Addition to generate a reference picture block.
  • the adding unit 312 stores the generated reference picture block in a reference picture buffer, and outputs a decoded layer image Td in which the generated reference picture block is integrated for each picture to the outside.
  • the image encoding device 2 is a device that generates and outputs encoded data # 1 by encoding the input image # 10.
  • FIG. 45 is a schematic diagram illustrating a configuration of the image encoding device 2 according to the present embodiment.
  • the image encoding device 2 includes a header encoding unit 10E, a picture encoding unit 21, a decoded picture buffer 12, and a reference picture determination unit 13E.
  • the image encoding device 2 can perform a random access decoding process to be described later that starts decoding from a picture at a specific time in an image including a plurality of layers.
  • the header encoding unit 10E is used for decoding the NAL unit header, the SPS, the PPS, the slice header, and the like based on the input image # 10 in units of NAL units, sequences, pictures, or slices. Information is generated, encoded and output.
  • the header encoding unit 10E parses VPS, SPS, and PPS included in the encoded data # 1 based on a predetermined syntax definition, and encodes information used for decoding in sequence units. For example, information related to the number of layers is encoded into VPS, and information related to the image size of the decoded image is encoded into SPS. Note that information (representation information) related to the image size of a decoded image of a plurality of layers is encoded by VPS, and information (representation information) about the image size of a decoded image of a certain target layer is encoded by SPS. Is done.
  • the header encoding unit 10E parses the slice header included in the encoded data # 1 based on a predetermined syntax definition, and encodes information used for decoding in units of slices. For example, the slice type is encoded from the slice header.
  • header encoding unit 10E NAL unit header encoding unit 101E, VPS encoding unit 102E (222), SPS encoding unit 103E, PPS encoding unit 104, slice header encoding unit 105E, and the like are included. Configured (not shown).
  • the NAL unit header encoding 101E further includes a layer ID encoding unit 1011E and a NAL unit type encoding unit 1012E (not shown).
  • the layer ID encoding unit 1011E encodes the encoded data (slice header and slice data) of the image signal of each layer image T input from the outside, and a parameter set (VPS, SPS) referred to for decoding the slice data. , PPS, and SEI) are encoded by adding a layer ID and a temporal ID for identifying each layer and a sub-layer associated with the layer.
  • the NAL unit type encoding unit 1012E assigns a NAL unit type representing the type (identification) of encoded data to each encoded data, and encodes the encoded data. Since the NAL unit type has already been described, the description is omitted.
  • the VPS encoding unit 102E (222) corresponds to the inverse process of the VPS decoding unit 102, and encodes information used in units of layers based on the plurality of layer images T and the VPS specified syntax. Details of the VPS encoding unit 102E (222) will be described later.
  • the SPS encoding unit 103E corresponds to the inverse process of the SPS decoding unit 103, and encodes information used in units of sequences based on the layer image T and the SPS-defined syntax definition.
  • the PPS encoding unit 104E corresponds to the inverse processing of the PPS decoding unit 104, and encodes information used in units of pictures based on each picture of the layer image T and the syntax definition defined by PPS.
  • the slice header encoding unit 105E corresponds to the inverse process of the slice header decoding unit 105, encodes each slice unit constituting the picture of the layer image T based on the syntax definition defined in the slice header, and decodes the slice unit Encode the information used for.
  • VPS and SPS include profiles required for encoding / decoding of each layer set, and profile / level information profile_tier_level () related to levels.
  • the header encoding unit 10E performs the following processing regarding profile / level information.
  • the header encoding unit 10E supplies the number of layer sets supplied from the outside or preset, and the total number of PTL information applied to each layer set. Subsequently, profile information of each layer set (including sublayers belonging to the layer) that is configured from the layer set 0 (for example, the base layer), the base layer, and the extension layer, supplied from the outside or set in advance.
  • the values of the profile presence flag, sublayer profile presence flag (sublayer presence flag), and sublayer level presence flag (sublayer level presence flag) to be applied to each layer set are set.
  • the set profile presence / absence flag and the profile presence / absence flag / level presence / absence flag of each sublayer are supplied to the header information encoding unit. Further, if the profile presence / absence flag of a certain PTL information is 0, reference PLT designation information indicating the position on the list of PTL information referred to by the PTL information is supplied.
  • the image encoding device 2 includes a configuration corresponding to each configuration of the image decoding device 1.
  • “correspondence” means that the same processing or the reverse processing is performed.
  • the reference picture information decoding process of the reference picture information decoding unit included in the image decoding apparatus 1 and the reference picture information encoding process of the reference picture information encoding unit included in the image encoding apparatus 2 are the same. More specifically, the reference picture information decoding unit generates RPS information and modified RPL information as syntax values decoded from the SPS and slice header. On the other hand, the reference picture information encoding unit encodes the input RPS information and the modified RPL information as syntax values of the SPS and the slice header.
  • the process of decoding a syntax value from a bit string in the image decoding apparatus 1 corresponds to the process opposite to the process of encoding a bit string from a syntax value in the image encoding apparatus 2.
  • the reference picture set determination unit determines the reference picture set RPS based on the target picture in the input image # 10 and the local decoded image recorded in the decoded picture buffer 12, and outputs the reference picture set RPS to the reference picture list determination unit. . Further, RPS information necessary for generating the reference picture set RPS is derived and output to the reference picture information encoding unit.
  • the reference picture list determination unit derives a reference picture list RPL based on the target picture in the input image # 10 and the input reference picture set RPS, and outputs it to the picture encoding unit 21 and the picture decoding unit 11. To do. Also, RPL correction information necessary for generating the reference picture list RPL is derived and output to the reference picture information encoding unit.
  • the reference picture information encoding unit generates RPS information and RPL correction information to be included in the SPS or slice header based on the reference picture set RPS and the reference picture list RPL.
  • the header encoding unit 10E generates and outputs an SPS to be applied to the target picture based on the input image # 10 and the RPS information and RPL correction information generated by the reference picture determination unit 13E.
  • the header encoding unit 10E generates and outputs a PPS to be applied to the target picture based on the input image # 10.
  • the header encoding unit 10E encodes the slice header of each slice constituting the target picture based on the input image # 10 and the RPS information and the RPL correction information generated by the reference picture determination unit 13E.
  • the encoded data # 1 is output to the outside and is output to the picture decoding unit 11.
  • the picture encoding unit 21 generates slice data of each slice constituting the target picture based on the input image # 10, and outputs the slice data to the outside as a part of the encoded data # 1.
  • the picture encoding unit 21 generates a locally decoded image of the target picture and records it in the decoded picture buffer in association with the layer ID and POC of the target picture.
  • FIG. 46 is a block diagram showing a configuration of the picture encoding unit 21 according to the present embodiment.
  • the picture encoding unit 21 includes a prediction image generation unit 201, a subtraction unit 202, a DCT / quantization unit 203, an entropy encoding unit 204, an inverse quantization / inverse DCT unit 205, an addition unit 206, a prediction parameter memory 208, an encoding A parameter determination unit 210 and a prediction parameter encoding unit 211 are included.
  • the prediction parameter encoding unit 211 includes an inter prediction parameter encoding unit 212 and an intra prediction parameter encoding unit 213.
  • the predicted image generation unit 201 generates a predicted picture block P for each block which is an area obtained by dividing the picture for each layer of the layer image T input from the outside.
  • the predicted image generation unit 201 reads the reference picture block from the decoded picture buffer 12 based on the prediction parameter input from the prediction parameter encoding unit 211.
  • the prediction parameter input from the prediction parameter encoding unit 211 is, for example, a motion vector or a displacement vector.
  • the predicted image generation unit 201 reads the reference picture block of the block at the position indicated by the motion vector or the displacement vector predicted from the encoding target block.
  • the prediction image generation unit 201 generates a prediction picture block P using one prediction method among a plurality of prediction methods for the read reference picture block.
  • the predicted image generation unit 201 outputs the generated predicted picture block P to the subtraction unit 202. Note that since the predicted image generation unit 201 performs the same operation as the predicted image generation unit 308 already described, details of generation of the predicted picture block P are omitted.
  • the predicted image generation unit 201 calculates an error value based on a difference between a signal value for each pixel of a block included in the layer image and a signal value for each corresponding pixel of the predicted picture block P. Select the prediction method to minimize.
  • the method for selecting the prediction method is not limited to this.
  • the plurality of prediction methods are intra prediction, motion prediction, and merge prediction.
  • Motion prediction is prediction between display times among the above-mentioned inter predictions.
  • the merge prediction is a prediction that uses the same reference picture block and prediction parameter as a block that has already been encoded and is within a predetermined range from the encoding target block.
  • the plurality of prediction methods are intra prediction, motion prediction, merge prediction, and displacement prediction.
  • the displacement prediction (disparity prediction) is prediction between different layer images (different viewpoint images) in the above-described inter prediction. Furthermore, motion prediction, merge prediction, and displacement prediction.
  • the prediction image generation unit 201 outputs the prediction mode predMode indicating the intra prediction mode used when generating the prediction picture block P to the prediction parameter encoding unit 211 when intra prediction is selected.
  • the predicted image generation unit 201 stores the motion vector mvLX used when generating the predicted picture block P in the prediction parameter memory 208 and outputs the motion vector mvLX to the inter prediction parameter encoding unit 212.
  • the motion vector mvLX indicates a vector from the position of the encoding target block to the position of the reference picture block when the predicted picture block P is generated.
  • the information indicating the motion vector mvLX may include information indicating a reference picture (for example, a reference picture index refIdxLX, a picture order number POC), and may represent a prediction parameter.
  • the predicted image generation unit 201 outputs a prediction mode predMode indicating the inter prediction mode to the prediction parameter encoding unit 211.
  • the prediction image generation unit 201 When the prediction image generation unit 201 selects displacement prediction (inter-layer image prediction), the prediction image generation unit 201 stores the displacement vector used in generating the prediction picture block P in the prediction parameter memory 208 and stores it in the inter prediction parameter encoding unit 212. Output.
  • the displacement vector dvLX indicates a vector from the position of the encoding target block to the position of the reference picture block when the predicted picture block P is generated.
  • the information indicating the displacement vector dvLX may include information indicating a reference picture (for example, a reference picture index refIdxLX and a layer ID (or view ID view_id)) and may represent a prediction parameter. Further, the predicted image generation unit 201 outputs a prediction mode predMode indicating the inter prediction mode to the prediction parameter encoding unit 211.
  • the prediction image generation unit 201 When the prediction image generation unit 201 selects merge prediction, the prediction image generation unit 201 outputs a merge index merge_idx indicating the selected reference picture block to the inter prediction parameter encoding unit 212. Also, the predicted image generation unit 201 outputs a prediction mode predMode indicating the merge prediction mode to the prediction parameter encoding unit 211.
  • the subtraction unit 202 subtracts the signal value of the prediction picture block P input from the prediction image generation unit 201 for each pixel from the signal value of the corresponding block of the layer image T input from the outside, and generates a residual signal. Generate.
  • the subtraction unit 202 outputs the generated residual signal to the DCT / quantization unit 203 and the encoding parameter determination unit 210.
  • the DCT / quantization unit 203 performs DCT on the residual signal input from the subtraction unit 202 and calculates a DCT coefficient.
  • the DCT / quantization unit 203 quantizes the calculated DCT coefficient to obtain a quantization coefficient.
  • the DCT / quantization unit 203 outputs the obtained quantization coefficient to the entropy coding unit 204 and the inverse quantization / inverse DCT unit 205.
  • the entropy encoding unit 204 receives the quantization coefficient from the DCT / quantization unit 203 and the encoding parameter from the encoding parameter determination unit 210.
  • Input encoding parameters include codes such as a reference picture index refIdxLX, a vector index mvp_LX_idx, a difference vector mvdLX, a prediction mode predMode, and a merge index merge_idx.
  • the entropy encoding unit 204 entropy-encodes the input quantization coefficient and encoding parameter to generate encoded data # 1, and outputs the generated encoded data # 1 to the outside.
  • the inverse quantization / inverse DCT unit 205 inversely quantizes the quantization coefficient input from the DCT / quantization unit 203 to obtain a DCT coefficient.
  • the inverse quantization / inverse DCT unit 205 performs inverse DCT on the obtained DCT coefficient to calculate a coded residual signal.
  • the inverse quantization / inverse DCT unit 205 outputs the calculated encoded residual signal to the addition unit 206.
  • the addition unit 206 adds the signal value of the prediction picture block P input from the prediction image generation unit 201 and the signal value of the encoded residual signal input from the inverse quantization / inverse DCT unit 205 for each pixel, A reference picture block is generated.
  • the adder 206 stores the generated reference picture block in the decoded picture buffer 12.
  • the prediction parameter memory 208 stores the prediction parameter generated by the prediction parameter encoding unit 211 at a predetermined position for each picture and block to be encoded.
  • the encoding parameter determination unit 210 selects one set from among a plurality of sets of encoding parameters.
  • the encoding parameter is a parameter to be encoded that is generated in association with the above-described prediction parameter or the prediction parameter.
  • the predicted image generation unit 201 generates a predicted picture block P using each of these sets of encoding parameters.
  • the encoding parameter determination unit 210 calculates a cost value indicating the amount of information and the encoding error for each of a plurality of sets.
  • 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 # 1 obtained by entropy encoding the quantization error and the encoding parameter.
  • the square error is the sum between pixels regarding the square value of the residual value of the residual signal calculated by the subtracting unit 202.
  • the coefficient ⁇ is a real number larger than a preset zero.
  • the encoding parameter determination unit 210 selects a set of encoding parameters that minimizes the calculated cost value. As a result, the entropy encoding unit 204 outputs the selected set of encoding parameters to the outside as encoded data # 1, and does not output the set of unselected encoding parameters.
  • the prediction parameter encoding unit 211 derives a prediction parameter used when generating a prediction picture based on the parameter input from the prediction image generation unit 201, and encodes the derived prediction parameter to generate a set of encoding parameters. To do.
  • the prediction parameter encoding unit 211 outputs the generated set of encoding parameters to the entropy encoding unit 204.
  • the prediction parameter encoding unit 211 stores, in the prediction parameter memory 208, a prediction parameter corresponding to the one selected by the encoding parameter determination unit 210 from the generated encoding parameter set.
  • the prediction parameter encoding unit 211 operates the inter prediction parameter encoding unit 212 when the prediction mode predMode input from the prediction image generation unit 201 indicates the inter prediction mode.
  • the prediction parameter encoding unit 211 operates the intra prediction parameter encoding unit 213 when the prediction mode predMode indicates the intra prediction mode.
  • the inter prediction parameter encoding unit 212 derives an inter prediction parameter based on the prediction parameter input from the encoding parameter determination unit 210.
  • the inter prediction parameter encoding unit 212 includes the same configuration as the configuration in which the inter prediction parameter decoding unit 303 derives the inter prediction parameter as a configuration for deriving the inter prediction parameter.
  • the intra prediction parameter encoding unit 213 determines the intra prediction mode IntraPredMode indicated by the prediction mode predMode input from the encoding parameter determination unit 210 as a set of inter prediction parameters.
  • VPS encoding unit 102E according to the first embodiment of the present invention will be described with reference to FIGS. 7 to 9, 17, 20 to 24, 26, 29, 33, and 47 to 49.
  • FIG. 47 is a functional block diagram showing a schematic configuration of the VPS encoding unit 222.
  • the VPS encoding unit 222 includes a profile level information encoding unit (PTL information encoding unit) 2221, a reference PTL designation information encoding unit 2222, and a profile presence / absence flag encoding unit 2223.
  • PTL information encoding unit profile level information encoding unit
  • reference PTL designation information encoding unit 2222 includes a profile presence / absence flag encoding unit 2223.
  • VPS encoding unit 222 is a reverse process of the VSP decoding unit 102.
  • Step SA101 The VPS encoding unit 222 encodes the syntax group SYNVPS01 in FIG.
  • Step SA102 The PTL information encoding unit 2221 included in the VPS encoding unit 222 encodes the PTL information of the layer set 0 shown in SYNVPS02 on FIG.
  • Step SA103 The VPS encoding unit 222 encodes the layer IDs constituting each layer set indicated in the syntax group SYNVPS03 in FIG.
  • Step SA104 The VPS encoding 222 encodes the VPS extension flag vps_extension_flag (SYNVPS04 on FIG. 7) in FIG.
  • Step SA105 If the VPS extension flag is 1 (YES in Step SA105), it is determined that the VPS extension data is on the VPS, and the process proceeds to Step SA106. If the VPS extension flag is 0 (No in step SA105), it is determined that the VPS extension data is not on the VPS, and the process proceeds to step SA109.
  • Step SA106 In order to adjust the byte alignment from the next bit of the VPS extension flag to immediately before avc_base_flag included in the VPS extension data, the byte alignment data (vps_extension_aligment_bit_equal_to_one) (syntax group SYNVPS05 in FIG. 7) is encoded. .
  • Step SA107 The VPS extension data vps_extension () is encoded. A detailed encoding process of VPS extension data will be described later.
  • Step SA108 The VPS encoding unit 222 encodes the VPS extension 2 flag vps_extension2_flag shown in SYNVPS07 on FIG. If the VPS extension 2 flag is 1, VPS extension 2 data is further encoded.
  • Step SA109 The VPS encoding unit 222 encodes RBSP_traling_bits () shown in SYNVPS08 on FIG. RBSP_trailing_bits () is byte aligned data. The byte alignment data is also called stuffing data.
  • VPS extension data encoding process ⁇ Detailed encoding process of VPS extension data>
  • the VPS extension data encoding process will be described with reference to FIG. In FIG. 18, “decoding” is interpreted as “encoding”.
  • Step SB101 The VPS encoding unit 222 encodes the syntax group SYNVPS0A in FIG.
  • Step SB102 The VPS encoding unit 222 encodes a dependency flag related to a dependency layer (also referred to as a direct reference layer or a dependency layer) referenced by each layer, which is indicated in the syntax group SYNVPS0B in FIG.
  • Step SB103 The VPS encoding unit 222 encodes the number of layer sets (syntax SYNVPS0C in FIG. 8).
  • Step SB104 The VPS encoder 222 encodes the total number of PTL information included in the VPS (SYNVPS0D in FIG. 8).
  • Step SB105 A loop start point of the encoding process of the PTL information included in the VPS.
  • the profile presence / absence flag encoding 2223 included in the VPS encoding unit 222 includes a profile presence / absence flag indicating the presence / absence of a syntax group indicating profile information on the i-th PTL information profile_tier_level () (on FIG. 8).
  • the syntax SYNVPS0E) is encoded.
  • Step SB107 If the profile presence / absence flag is 0, it is determined that there is no syntax group indicating profile information on the i-th PTL information, and the process proceeds to Step SB108. If the profile presence / absence flag is 1, it is determined that there is a syntax group indicating profile information on the i-th PTL information, and the process proceeds to step SB109.
  • the reference PTL designation information encoding unit 2222 included in the VPS encoding unit 222 refers to the profile information of the i-th PTL information from any PTL information on the PTL information list.
  • a reference PTL information designation index also referred to as a reference profile level information relative index
  • profile_ref_delta_index_minus1 [i] (SYNVPS0Fa in FIG. 8) indicating whether to do is encoded.
  • the reference PTL information designation index “profile_ref_delta_index_minus1 [i]” represents a relative index between the i-th PTL information and the reference destination PTL information.
  • the i-th PTL information can increase the probability of referring to the immediately preceding PTL information. Therefore, the reference PTL designation index “profile_ref_delta_index_minus1 [i]” represents the relative index, for example, as shown in FIG. 20, by using Golomb code, so that the bit length necessary for expressing the reference PTL designation index is larger than the conventional one. Can be reduced.
  • the profile / level information encoding unit uses the semantics of the i-th reference PTL information designation index in the profile / level information as the i-th reference PTL information designation index and the i-th profile / level information. Treated as specifying relative position between referenced profile / level information.
  • the value of the reference PTL designation index “profile_ref_delta_minus1 [i]” is 0, that is, when referring to the (i ⁇ 1) th PTL information immediately before the i-th PTL information, the Golomb code shown in FIG. 20 is used.
  • the bit length required to express the reference PTL designation index is 1 bit.
  • the amount of codes can be reduced compared to the case where the reference PTL information designation index is expressed by a fixed length.
  • the first PTL information (0th) on the PTL information list can be referred to, it is possible to eliminate the disadvantage that the reference PTL information designation index does not function when the target PTL information is the first.
  • the profile presence flag is always set to 1, and the first The PTL information profile information may be determined in advance between the decoder and the encoder so as to be included in the encoded data (also referred to as bitstream restriction). Thereby, when the target PTL information is the first, the defect that the reference PTL information designation index does not function can be solved similarly.
  • the PTL information encoding unit 2222 included in the VPS encoding unit 222 receives the profile presence flag, the reference PTL designation information (reference PTL designation index), the number of sublayers, and the PTL information, and inputs the i th PTL information. Encode profile and level information. Details of the PTL information encoding 2221 will be described later.
  • Step SB110 This is the loop end of the encoding process of the PTL information included on the VPS.
  • Step SB111 The VPS encoding unit 222 encodes a PTL information designation index (profile_level_tier_idx [i] on the syntax group SYNVPS0H in FIG. 8) that designates PTL information to be applied to each output layer set.
  • a PTL information designation index profile_level_tier_idx [i] on the syntax group SYNVPS0H in FIG. 8 that designates PTL information to be applied to each output layer set.
  • Step SB112 The VPS encoding unit 222 encodes the subordinate layer type of each layer shown in the syntax group SYNVPS0I in FIG.
  • Step SB111 The VPS encoding 222 encodes the other syntax group SYNVPS0J in FIG.
  • FIG. 2221 is an encoding device corresponding to the PTL information decoding unit 1021.
  • “decoding” is replaced with “encoding” for interpretation.
  • FIG. 49 is a functional block diagram illustrating the configuration of the PTL information encoding unit 2221.
  • the PTL information encoding unit 2221 includes a profile information encoding unit 2221a, a level information encoding unit 2221b, a sublayer profile presence / absence flag encoding unit 2221c, a sublayer level presence / absence flag encoding unit 2221d, and byte alignment data.
  • An encoding unit 2221e is provided. In this embodiment, it is interpreted that there is no input line for levelPresentFlag in FIG.
  • the profile information encoding unit 2221a based on the profile presence / absence flag profilePresentFlag supplied from the outside, profile information of the encoding target PTL information supplied from the outside (also called profile information of the highest sublayer or general profile information). ) Are encoded and output as encoded data DATA # T. Specifically, when the profile presence / absence flag profilePresentFlag is 1, the profile information of the encoding target PTL information is encoded and output as encoded data DATA # T. When the profile presence / absence flag profilePresentFlag is 0, the encoding process is not performed because there is no profile information to be encoded in the encoding target PTL information.
  • the profile information encoding unit 2221a excludes the highest sublayer based on the profile presence flag profilePresentFlag, the number of sublayers MaxNumSubLayers, and the sublayer profile presence flag sub_layer_profile_present_flag [i] of each sublayer supplied from the outside.
  • the sublayer profile information of each sublayer of the PTL information is encoded and output as encoded data DATA # T.
  • Level information encoding unit 2221b encodes level information (also called level information of the highest order sublayer or general-purpose level information) of the encoding target PTL information supplied from the outside, and outputs the encoded data #T. Further, the level information encoding unit 2221b is configured to output each sublayer of the PTL information to be encoded excluding the highest sublayer based on the number of sublayers MaxNumSubLayers and the sublayer level presence / absence flag sub_layer_level_present_flag [i] supplied from the outside. Are encoded and output as encoded data #T.
  • the level information of the sublayer i supplied from the outside is encoded, and encoded data DATA # T Output as.
  • the sublayer level presence / absence flag sub_layer_level_present_flag [i] is 0
  • there is no level information to be encoded so the encoding process is not performed.
  • the sublayer profile presence / absence flag encoding unit 2221c encodes the sublayer profile presence / absence flag of each sublayer of the encoding target PTL information based on the number of sublayers MaxNumSubLayers supplied from the outside, and outputs the encoded data DATA # T.
  • the sublayer level presence / absence flag encoding unit 2221d encodes the sublayer level presence / absence flag of each sublayer of the encoding target PTL information based on the number of sublayers MaxNumSubLayers supplied from the outside, and outputs the encoded data DATA # T.
  • the byte-aligned data encoding 2221e encodes byte-aligned data (reserved_zero_2bits [i]) (syntax SYNTPTL04 in FIG. 9) in units of 2 bits for the number of bits determined based on the number of sublayers (MaxNumSbuLayersMinus1, or MaxNumSubLayers-1). , And output as encoded data DATA # T.
  • the number of bits to be encoded as byte-aligned data is “(8 ⁇ MaxNumSubLayersMinus1) * 2 bits”, as is apparent from the syntax SYNVPSPTL04 in FIG.
  • step SC101 the process proceeds to step SC104.
  • step SC110 the process proceeds to step SC113.
  • step SC116 the process proceeds to step SC116.
  • Step SC101 The profile information encoding unit 2221a determines whether the profile presence flag profilePresentFlag is 1. If the profile presence flag profilePresentFlag is 1 (Yes in step SC101), the process proceeds to step SC102, and otherwise (No in step SC101), the process proceeds to step SC104.
  • the profile information encoding unit 2221a uses, for example, the syntax group SYNPTL01 in FIG. ⁇ Profile space general_profile_space ⁇ Tier flag general_tier_flag -Profile identifier general_profile_idc -Profile compatibility flag general_profile_compatibility_flag [i] ... Omitted... Profile reservation syntax general_reserved_zero_44bits Etc. are encoded.
  • the level information encoding unit 2221b includes the following syntax as level information of the encoding target PTL information: ⁇ Level identifier general_level_idc Is encoded.
  • Step SC105 This is the start of a loop related to the encoding of the sublayer profile presence / absence flag of the sublayer and the sublayer level presence / absence flag.
  • the variable i is initialized to zero.
  • the processing in the loop is executed when the variable i is less than the number of sublayers ⁇ 1 and “MaxNumSubLayers ⁇ 1”.
  • the variable i is incremented by “1” every time the processing in the loop is executed once. That is, in step SC105 to step SC107, the sublayer profile presence / absence flag and sublayer level presence / absence flag of the sublayer excluding the highest order sublayer are encoded.
  • Step SC106 The sublayer profile presence / absence flag encoding unit 2221c encodes a sublayer profile presence / absence flag sub_layer_profile_present_flag [i] related to the sublayer specified by the variable i.
  • the sublayer level presence / absence flag encoding unit 2221d encodes the sublayer level presence / absence flag sub_layer_level_present_flag [i] related to the sublayer specified by the variable i.
  • Step SC107 This is the end of a loop related to the encoding of the sublayer profile presence flag and sublayer level presence flag of the sublayer.
  • Step SC108 The byte-aligned data encoding unit 2221e encodes byte-aligned data (reserved_zero_2bits [i]) (syntax SYNTPTL04 in FIG. 9) in units of 2 bits for the number of bits determined based on the number of sublayers (MaxNumSbuLayersMinus1, or MaxNumSubLayers-1). Is inserted (encoded) into the encoded data DATA # T.
  • the amount of codes of the sublayer profile presence flag and the sublayer level presence flag encoded for each sublayer is 1 bit, 2 bits in total, and the number of sublayers is MaxNumSubLayers.
  • the total amount of codes decoded in steps SC105 to SC107 is 2 * (MaxNumSubLayer ⁇ 1). Therefore, the number of bits to be encoded as byte-aligned data is “(8 ⁇ MaxNumSubLayersMinus1) * 2 bits”.
  • Step SC109 This is a starting point of a loop related to encoding of sublayer profile information of a sublayer and sublayer level information.
  • the variable i is initialized to zero.
  • the process in the loop is executed when the variable i is less than the number of sublayers ⁇ 1 and “MaxNumSubLayers ⁇ 1”, and the variable i is incremented by “1” each time the process in the loop is executed once.
  • Step SC110 The profile information encoding unit 2221a determines whether the sublayer profile presence / absence flag sub_layer_profile_present_flag [i] of the sublayer specified by the variable i is 1. If the sublayer profile presence / absence flag is 1 (Yes in step SC110), the process proceeds to step SC111. Otherwise (No in step SC110), the process proceeds to step SC113.
  • Step SC111 the sublayer profile space sub_layer_profile_space [i] shown in the syntax group SYNPTL05 in FIG. 9 is used as the sublayer profile information of the sublayer specified by the variable i.
  • -Sublayer tier flag sub_layer_tier_flag [i] -Sublayer profile identifier sub_layer_profile_idc [i] ⁇
  • Sublayer profile reservation syntax sub_layer_reserved_zero_44bits [i] Is encoded and output.
  • Step SC113 The level information encoding unit 2221b determines whether the sublayer level presence / absence flag sub_layer_level_present_flag [i] of the sublayer specified by the variable i is 1. If the sublayer level presence / absence flag is 1 (Yes in step SC113), the process proceeds to step SC114. Otherwise (No in step SC113), the process proceeds to step SC116.
  • Step SC114 The level information encoding unit 2221b, as sublayer level information of the sublayer specified by the variable i, ⁇ Sublayer level identifier sub_layer_level_idc [i] Is encoded and output.
  • Step SC116 This is the end of a loop related to encoding of sublayer profile information of sublayers and sublayer level information.
  • the operation of the profile / level information encoding unit 2221 according to the first embodiment has been described above. However, the operation is not limited to the above step, and the step may be changed within a feasible range.
  • the position of the target PTL information on the PTL information list and the relative index (profile_ref_delta_index_minus1 [i]) of the reference PTL information are encoded with Golomb code in the first embodiment, but the present invention is not limited to this.
  • the profile information of the PTL information in the “profile_ref [i]” th on the PTL information list may be referred to instead of the relative index.
  • the reference PTL information designation index “profile_ref [i]” is variable-length encoded with a bit length V determined based on the index i indicating the position on the list of the target PTL information.
  • the bit length V is determined by ceil (log2 (i)).
  • the amount of codes can be reduced compared to the case where the reference PTL information designation index is expressed by a fixed length. Also, since the first PLT information (0th) on the PTL information list can be referred to, it is possible to eliminate the drawback that the reference PTL information designation index does not function when the target PTL information is the first.
  • the profile of the first profile / level information and the tier information can be estimated based on the 0th profile / level information.
  • the reference PTL information designation index is changed to the reference profile.
  • the profile presence flag is always set to 1, and the first The PTL information profile information may be determined in advance between the decoder and the encoder so as to be included in the encoded data (also referred to as bitstream restriction). Thereby, when the target PTL information is the first, the defect that the reference PTL information designation index does not function can be solved similarly.
  • VPS Encoding Unit 202 ⁇ Variation 2 of VPS Encoding Unit 202 >> Next, a second modification of the VPS encoding unit 202 will be described with reference to FIGS. 23, 24, 26, and 47.
  • FIG. 23 is a modification of the syntax table of the extended video parameter set VPS.
  • VPS extension data encoding process will be described.
  • decoding is replaced with “encoding” for interpretation.
  • the syntax table of the extended video parameter set VPS according to Modification 2 will be described with reference to FIG.
  • the difference between the syntax table of the extended video parameter set VPS shown in FIG. 23 and FIG. 8 is that, in FIG. 23, the reference PTL information designation index (profile_ref_delta_index_minus1 [i]) shown in the syntax SYNVPS0Fa on FIG.
  • the function of the PTL designation information designation index is shared by the profile presence / absence flag (vps_profile_present_flag [i]) shown in the syntax SYNVPS0E in FIG. That is, when the value of the profile presence flag (vps_profile_present_flag [i]) is 1, the profile information of the i-th PTL information is encoded.
  • the profile information of the i-th PTL information includes the (i-1) -th encoded PTL information encoded immediately before the i-th PTL information. Since they are the same, encoding of profile information is omitted.
  • the VPS encoding unit 202 ′ does not include the reference PTL designation information encoding unit 2222 included in the VPS encoding unit 202. Also, the input line of the profile presence / absence flag is different in that there is an input line of the profile presence / absence flag to the PTL information encoder 2221 (not shown).
  • the PTL information encoding unit 2221 according to the second modification has the same components as the PTL information encoding unit 2221 according to the first embodiment, the description thereof is omitted.
  • the reference PTL information specification index (profile_ref_delta_index_minus1 [i]) shown in the syntax SYNVPS0Fa of FIG. 23 is deleted, and the reference PTL specification information specification index Is shared by the profile presence / absence flag (vps_profile_present_flag [i]) shown in the syntax SYNVPS0E in FIG. That is, when the value of the profile presence / absence flag (vps_profile_present_flag [i]) is 1, the profile information of the i-th PTL information is encoded.
  • the profile information of the i-th PTL information includes the (i-1) th encoded PTL information encoded immediately before the i-th PTL information. Since it is the same as the profile information, encoding of the profile information is omitted.
  • the i-th PTL information can increase the probability of referring to the immediately preceding PTL information.
  • Modification 3 of VPS Encoding Unit 222 is an inverse process corresponding to Modification 3 of the VPS decoding unit 102.
  • VPS encoding unit 222 differs in configuration between the VPS encoding unit 222 'and the VPS encoding unit 222 according to Modification 3 will be described.
  • 48 does not include the reference PTL designation information encoding 2222 included in the VPS encoding unit 222, but newly includes a level presence / absence flag encoding unit 2224 '.
  • the level presence / absence flag encoding unit 2224 ' encodes the level presence / absence flag of the encoding target PTL information input from the outside, and outputs the encoded data as encoded data.
  • the PTL information encoding unit 2221 according to modification 3 is different from the PTL information encoding unit 2221 according to the first embodiment in that the level presence / absence flag input line includes a level information encoding unit 2221b and a sublayer level presence / absence flag encoding unit. Except for the point of 2221d, the other components are the same, and thus the description thereof is omitted. Only the differences in the functions of the level information encoding unit 2221b and the sublayer level presence / absence flag encoding unit 2221d will be described below.
  • Level information encoding unit 2221b encodes and outputs level information (also called level information of the highest sublayer or general-purpose level information) of the encoding target PTL information based on a level presence / absence flag levelPresentFlag supplied from the outside. .
  • level information also called level information of the highest sublayer or general-purpose level information
  • level information of the encoding target PTL information is encoded.
  • the level presence / absence flag levelPresentFlag is 0, the level information of the encoding target PTL information is the level of the encoded PTL information ((i-1) th PTL information) encoded immediately before the encoding target PTL information. Since it is the same as information, encoding of level information is omitted.
  • the level information encoding unit 2221b removes the highest sublayer based on the level presence / absence flag levelPresentFlag, the number of sublayers MaxNumSubLayers, and the sublayer level presence / absence flag sub_layer_level_present_flag [i] supplied from the outside.
  • the sublayer level information of each sublayer of the PTL information is encoded and output.
  • the level information of the sublayer (i + 1) of the encoding target PTL information is set as the level information of the sublayer i (see FIG. 63).
  • the level information of the sublayer i is encoded.
  • the i-level information of the sublayer of the encoding target PTL information is the encoded PTL information ((idx-1) th PTL information) encoded immediately before the encoding target PTL information. Since it is the same as the level information of the corresponding sublayer, encoding of the level information is omitted.
  • idx is an index indicating the position of the decoding target PTL information on the PTL information list.
  • step SG104 determines whether the branch at step SG104 is No or not. If the branch at step SG112 is No, the process proceeds to step SG115. On the other hand, if NO at step SG115, the process proceeds to step SG118.
  • Step SG104 The level information encoding unit 2221b determines whether the level presence flag levelPresentFlag is 1. If the level presence flag levelPresentFlag is 1 (Yes in Step SG104), the process proceeds to Step SG105. Otherwise (No in Step SG104), the process proceeds to Step SG107.
  • the level information encoding unit 2221b uses the following syntax as level information of the encoding target PTL information: ⁇ Level identifier general_level_idc Is encoded.
  • Step SG115 The level information encoding unit 2221b determines whether the sublayer level presence flag sub_layer_level_present_flag [i] of the sublayer specified by the variable i is 1. If the sublayer level presence / absence flag is 1 (Yes in Step SG115), the process proceeds to Step SG116, and otherwise (No in Step SG115), the process proceeds to Step SG118.
  • Step SG116 The level information encoding unit 2221b, as sublayer level information of the sublayer specified by the variable i, ⁇ Sublayer level identifier sub_layer_level_idc [i] Is encoded.
  • the reference PTL information specification index (profile_ref_deltaxidx_minus1 [i]) shown in the syntax SYNVPS0F in FIG. 23 is deleted, and the reference PTL specification information specification is performed.
  • the index function is shared by the profile presence / absence flag (vps_profile_present_flag [i]) and the level presence / absence flag (vps_level_present_flag [i]) shown in the syntax SYNVPS0E in FIG. That is, when the value of the profile presence flag (vps_profile_present_flag [i]) is 1, the profile information of the i-th PTL information is encoded.
  • the profile information of the i-th PTL information is the profile of the (i-1) th encoded PTL information encoded immediately before the i-th PTL information. Since it is the same as information, encoding is omitted. Further, when the value of the level presence / absence flag (vps_level_present_flag [i]) is 1, the level information of the i-th PTL information is encoded. On the other hand, when the value of the level presence / absence flag is 0, the level information of the i-th PTL information includes the (i-1) th encoded PTL information encoded immediately before the i-th PTL information.
  • Modification 3a of the VPS encoding unit 222 is an inverse process corresponding to Modification 3a of the VPS decoding unit 202.
  • the modification 3 can be changed in configuration as follows. That is, the profile presence / absence flag profilePresentFlag and the level presence / absence flag levelPresentFlag are replaced with profile level presence / absence flags ProfileLevelPresentFlag indicating the presence / absence of profile information and level information.
  • the PTL information encoding unit 2221 according to the modified example 3a has the same configuration and operation except for the input values of the profile presence / absence flag profilePresentFlag and the level presence / absence flag levelPresentFlag in the PTL information decoding unit 2221 according to the modified example 3. .
  • the profile presence / absence flag profilePresentFlag and the level presence / absence flag levelPresentFlag are wired.
  • the profilePresentFlag and levelPresentFlag in FIG.
  • the deformation 3a has the same effect as the deformation 3. Furthermore, with respect to the third modification example, the profile presence / absence flag and the level presence / absence flag are combined into one and used as a profile level presence / absence flag indicating the presence / absence of profile information and level information. For example, it is possible to reduce the code amount related to the level presence / absence flag.
  • FIG. Modification 4 of the VPS encoding unit 202 is an inverse process corresponding to Modification 4 of the VPS decoding unit 102.
  • the syntax table of the VPS extension data according to the modification 4 is omitted because it has already been described in the modification 4 of the VPS decoding unit 102, but has the same effect.
  • VPS encoding unit 222 ′ ′′ (Configuration of VPS encoding unit 222 ′ ′′) With reference to FIG. 47, the structure of VPS encoding part 222 '''which concerns on the modification 4 is demonstrated.
  • the VPS encoding unit 222 ′ ′′ is the same component as the PTL information encoding unit 2221, the reference PTL information encoding unit 2222, and the profile presence / absence flag encoding unit 2223 included in the VPS encoding unit 222 according to the first embodiment.
  • a byte alignment data encoding unit 2024 (not shown) is further provided. Hereinafter, only the byte alignment data encoding unit 2224 will be described.
  • the byte alignment data encoding unit 2224 included in the VPS encoding unit 222 ′ ′′ encodes the data inserted to adjust the byte alignment and the byte alignment data included in the VPS extension data vps_extension (). For example, vps_alignment_bit_equal_to_one (SYNVPS0G on FIG. 65) or reserved_zero_1bits [i] (SYNVPS0K on FIG. 65) It is.
  • VPS extension data encoding process of the VPS encoding unit 222 ′ ′′ will be described with reference to FIG.
  • Step SJ101 The VPS encoding unit 222 '' '' encodes the syntax group SYNVPS0A in FIG.
  • Step SJ102 The VPS encoding unit 222 '' '' encodes byte offset information (vps_ptl_info_offset) up to the PTL information list shown in SYNVPS0E in FIG.
  • Step SJ103 The VPS encoding unit 222 ′ ′′ encodes the scalability mask flag indicated by SYNVPS0F in FIG. ... Omitted ...
  • Step SJ104 The byte alignment data encoding unit 2224 included in the VPS encoding unit 222 ′ ′′ encodes byte alignment data (vps_alignment_bit_equal_to_one) in 1-bit units based on a predetermined determination formula shown in SYNVPS0G in FIG. Turn into.
  • Step SJ105 The VPS encoding unit 222 '' '' encodes the number of layer sets indicated by SYNVPS0H in FIG.
  • Step SJ106 The VPS encoding unit 222 '' '' encodes the number of PTL information indicated in SYNVPS0I on FIG.
  • Step SJ107 The profile presence / absence flag decoding unit 1023 included in the VPS encoding unit 222 ′ ′′ encodes the “profile presence / absence flag” indicated by SYNVPS0J in FIG.
  • Step SJ108 The byte alignment data encoding unit 2224 included in the VPS encoding unit 222 '' 'encodes the byte alignment data (reserved_zero_bit [i]) indicated by SYNVPS0K in FIG.
  • Step SJ109 This is the loop start point of the encoding process of the PTL information included in the VPS.
  • Step SJ110 If the profile presence / absence flag is 0, it is determined that there is no syntax group indicating profile information on the i-th PTL information, and the process proceeds to Step SJ112. If the profile presence / absence flag is 1, it is determined that there is a syntax group indicating profile information on the i-th PTL information, and the process proceeds to step SJ111.
  • Step SJ111 When the profile presence / absence flag is 0, the reference PTL designation information encoding unit 2222 included in the VPS encoding unit 222 ′ ′′ changes the profile information of the i-th PTL information to any PTL on the PTL information list.
  • a reference PTL information designation index “profile_ref_minus1 [i]” (SYNVPS0L in FIG. 65) indicating whether to refer from information is encoded.
  • Step SJ112 The PTL information encoding unit 2221 included in the VPS encoding unit 222 ′ ′′ receives the profile presence / absence flag, the reference PTL designation index, the number of sublayers, and inputs the profile and level information of the i-th PTL information. Encode. Details of the PTL information encoding unit 2221 have been already described, and are omitted here.
  • Step SJ113 This is the loop end of the encoding process of the PTL information included on the VPS.
  • Step SJ114 The VPS encoding unit 222 "" encodes other syntax.
  • VPS encoding unit 222 ′′ ′′ The operation of the VPS encoding unit 222 ′′ ′′ according to the modification 4 has been described above. However, the operation is not limited to the above step, and the step may be changed within a practicable range.
  • Modification 4a of the VPS encoding unit 222 is an inverse process corresponding to Modification 4a of the VPS decoding unit 102.
  • the syntax table of the VPS extension data according to the modified example 4a has already been described in the modified example 4a of the VPS decoding unit 102, and is omitted. However, the same effect is obtained.
  • VPS encoding unit 222 ′ ′′ a A configuration of the VPS encoding unit 222 ′ ′′ a according to Modification 4a will be described.
  • the VPS encoding unit 222 ′ ′′ a includes: Further, a byte alignment data encoding unit 2224 (not shown) is included. The description of the PTL information encoding unit 2221 ′ and profile presence / absence flag encoding unit 2223 ′, which are the same components, is omitted. Further, the byte alignment data encoding unit 2224 is the same component as the byte alignment data encoding unit 22224 included in the VPS encoding unit 222 ′ ′′ according to the fourth modification, and thus the description thereof is omitted.
  • VPS extension data encoding process of the VPS encoding unit 222 ′ ′′ a will be described with reference to FIG. Note that in the VPS extension data encoding process of the VPS encoder 222 ′ ′′ a, step SL110 (branch determination based on the value of the profile presence flag and transition based on the branch), step SL111 (reference PTL) in FIG. The information specifying index profile_ref_minus1 [i] is omitted), and the other operations are the same, and thus the description thereof is omitted.
  • VPS encoding unit 222 ′′ ′′ a The operation of the VPS encoding unit 222 ′′ ′′ a according to the modification 4a has been described above. However, the operation is not limited to the above step, and the step may be changed within a feasible range.
  • the profile of the first profile / level information and the tier information can be estimated based on the 0th profile / level information.
  • the reference PTL information designation index may be changed to a reference profile.
  • a VPS profile presence / absence flag may be included instead of the reference PTL information designation index.
  • the profile / level information encoding unit is equal to the smaller of the level of the (i + 1) th sublayer and the level identifier level. , Encoding may be performed.
  • a VPS level presence / absence flag is added to the profile / level information.
  • the profile / level information encoding unit determines the level of the i-th profile / level information.
  • the information may be encoded so that it can be derived from the level information of the previous profile / level information.
  • the profile information and level information of the PTL information applied to the layer set includes the maximum profile information and level information necessary for decoding all the layers constituting the layer set and the sub-layers associated with each layer. Is set. Also, regarding the profile information and level information of the sublayer, the maximum profile information and level information necessary for decoding sublayers below a specific temporal ID of all layers in the layer set are set.
  • PTL information A and PTL information B the profile information and level information of the PTL information B of the lower layer set (layer set B) are the upper layer
  • the PTL information A of the set (layer set A) is backward compatible. That is, there are at least the following restrictions.
  • the profile compatibility flag of upper layer set A has a profile compatibility flag value corresponding to the profile identifier of lower layer set B being 1 (that is, layer set A is layer Set B is upward compatible).
  • Non-Patent Documents 1 to 3 PTL information (profile information and level information, and sublayer profile information and sublayer level information of a sublayer) respectively applied to a layer set B that is a subset of the upper layer set A and Therefore, there is a problem that the mounting load of the image decoding device is high (the complexity of the image decoding device increases).
  • “scalable highprofile” is a high-level scalable profile that supports all encoding tools of “scalable main profile” and “main profile”
  • “scalable main profile” is the encoding tool of “mainprofile”.
  • “Main profile” represents “main profile” of HEVC described in Non-Patent Document 1. That is, the profile relationship is “main profile” ⁇ “scalable mainprofile” ⁇ “scalable high profile”.
  • an image decoding apparatus that supports the profile “scalable high profile” can decode all the layers (L # 0, L # 1, L # 2) in the layer set A. That is, the layer set A can be completely decoded.
  • an image decoding apparatus that supports the profile “scalable main profile”
  • the profile of the lower layer (L # 1) is Since it is not compatible with the profile of the upper layer (L # 2), the lower layer (L # 1) and the upper layer L # 2 that depend on the decoding of layer L # 2 cannot be decoded, and the lower profile "main profile” Only certain base layer L # 0 can be decoded.
  • encoded data in which the profile of the lower layer is set discontinuously with the profile that is not compatible with the profile of the upper layer may be generated. Therefore, when decoding the encoded data on the image decoding device side, the lower layer on which the decoding target layer depends cannot be decoded, resulting in a problem that the granularity of the scalability of the layer and the scalability of the sublayer becomes coarse. is there.
  • level / tier there is no restriction between the level / tier between the layer sets, and thus the same problem as in the case where there is no profile restriction occurs. That is, on the image encoding device side, encoded data in which the level and tier of the lower layer are set to discontinuously set the level and tier incompatible with the level and tier of the upper layer may be generated. On the device side, there is a problem that the granularity of the scalability of the layer and the scalability of the sublayer becomes coarse, and the flexibility is impaired.
  • the profile and level of the lower layer and the profile / level incompatible with the upper layer profile / level are discontinuous by providing the profile and level restrictions in advance on the image decoding apparatus side and the image encoding apparatus side. This produces an effect of preventing the encoded data set in (2) from being generated.
  • the profile / level that the image decoding apparatus should correspond to can be suppressed to the minimum necessary, the effect of reducing the complexity of the image decoding apparatus is achieved.
  • a syntax (profile / level constraint flag “profile_level_restrict_flag”) indicating whether or not to implement the above-described constraint on the profile and level between the layer sets in the inclusion relationship is specified immediately before each PTL information on the VPS extension data.
  • the VPS decoding unit 102 and the VPS encoding unit 222 may be used for decoding / encoding, respectively.
  • the image decoding apparatus can easily determine the presence / absence of profile / level restrictions in each layer early on the VPS or SPS before decoding the PTL information on the VPS extension data. There is an effect that can be done.
  • a flag indicating the presence or absence of restrictions on the profile and level may be provided.
  • 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. 50A 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 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. 50A illustrates a configuration in which the transmission apparatus PROD_A includes all of these, but a part of the configuration 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. 50 (b) is a block diagram showing a configuration of a receiving device PROD_B in which the hierarchical video decoding device 1 is mounted.
  • the reception device PROD_B includes a reception unit PROD_B1 that receives a modulation signal, a demodulation unit PROD_B2 that obtains encoded data by demodulating the modulation signal received by the reception unit PROD_B1, and a demodulation 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. 50B a configuration in which all of these are provided in the receiving device PROD_B is illustrated, but a part of the configuration 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. 51A is a block diagram illustrating a configuration of a recording apparatus PROD_C in which the above-described hierarchical video encoding apparatus 2 is mounted.
  • the recording device PROD_C includes 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 (registered trademark)) ) (Disc) or the like, it may be loaded into a drive device (not shown) built in the recording device PROD_C.
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • SD memory Secure Digital memory
  • DVD Digital Versatile Disc
  • BD Blu-ray (registered trademark)
  • 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. 51A a configuration in which the recording apparatus PROD_C includes all of these is illustrated, 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. 51 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 a moving image by decoding a read unit PROD_D1 that reads encoded data written on the recording medium PROD_M and a coded data read by the read 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. 51B 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 above 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 intranet, extranet, LAN (Local Area Network), ISDN (Integrated Services Digital Network), VAN (Value-Added Network), CATV (Community Area Antenna Television) communication network, 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) or remote control Bluetooth (registered trademark), IEEE 802.11 wireless, HDR (High Data Rate), NFC (Near Field Communication), DLNA (registered trademark) (Digital Living Network Alliance), mobile phone network, satellite line, terrestrial digital network, etc. It can also be used wirelessly.
  • 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.
  • An image decoding apparatus is an image decoding apparatus that decodes hierarchically encoded data, and a profile presence / absence flag that decodes a profile presence / absence flag indicating the presence / absence of profile information in PTL information in a PTL information list.
  • the profile presence flag is 1
  • the PTL information decoding means decodes the profile information of the PTL information from the encoded data
  • the profile information When the presence / absence flag is 0, the profile information in the PTL information is estimated to be equal to the profile information of the previously decoded PTL information.
  • An image decoding apparatus includes a sublayer profile presence / absence flag decoding unit that decodes a sublayer profile presence / absence flag indicating presence / absence of each sublayer profile information in the above aspect 1, and the PTL information decoding unit includes When the sublayer profile information presence / absence flag of the sublayer is 1, the sublayer profile information of each sublayer is decoded from the encoded data. When each of the sublayer profile information presence / absence flags is 0, each sublayer profile information included in each of the PTL information Is estimated to be equal to each corresponding sublayer profile information included in the previously decoded PTL information.
  • the sublayer profile information of each sublayer is decoded or estimated to be equal to each corresponding sublayer profile information included in the previously decoded PTL information Decide what to do.
  • the image decoding apparatus includes, in the above aspect 1, sublayer level information presence / absence flag decoding means for decoding a sublayer level presence / absence flag indicating the presence / absence of each sublayer level information, and the PTL information decoding means includes: When the sublayer level information presence / absence flag of each sublayer is 1, the sublayer level information of each sublayer is decoded from the encoded data. When the sublayer level information presence / absence flag is 0, each sublayer level information included in the PTL information is It has been added that it is estimated that each corresponding sub-layer level information included in the previously decoded PTL information is equal.
  • the sublayer level information of each sublayer is decoded or estimated to be equal to the corresponding sublayer level information included in the previously decoded PTL information You can decide what to do. .
  • the profile information may include at least a profile space, a tier flag, a profile identifier, and a profile compatibility flag.
  • profile information including at least a profile space, a tier flag, a profile identifier, and a profile compatibility flag can be obtained by decoding or estimation.
  • the image decoding apparatus may include at least a sublayer profile space, a sublayer tier flag, a sublayer profile identifier, and a sublayer profile compatibility flag in the sublayer profile information.
  • sublayer profile information including at least the sublayer profile space, the sublayer tier flag, the sublayer profile identifier, and the sublayer profile compatibility flag can be obtained by decoding or estimation.
  • the value of the sublayer profile presence / absence flag relating to each sublayer included in the PTL information may be 0.
  • the value of the sublayer profile presence / absence flag regarding each sublayer included in the PTL information can be 0.
  • An image decoding method is an image decoding method for decoding hierarchically encoded data, and a profile presence / absence flag for decoding a profile presence / absence flag indicating presence / absence of profile information in PTL information in a PTL information list.
  • the profile presence / absence flag is 1, the PTL information decoding step decodes the profile information of the PTL information from encoded data, and the presence / absence of the profile information When the flag is 0, it is estimated that the profile information in the PTL information is equal to the profile information of the previously decoded PTL information.
  • An image encoding device is an image encoding device that hierarchically encodes image data to generate hierarchical encoded data, and encodes PTL information indicating a profile of the hierarchical encoded data.
  • the PTL information encoding unit when the PTL information encoding unit encodes the profile information into the PTL information, encodes the value of the profile presence flag as 1, When the profile information in the PTL information is estimated to be the same as the profile information of the PTL information encoded immediately before, the profile presence / absence flag value is encoded as 0.
  • the value of the profile presence / absence flag is set according to whether the profile information of the PTL information is encoded or is estimated to be equal to the profile information of the previously encoded PTL information. Can be set and encoded.
  • An image encoding method is an image encoding method for generating image hierarchically encoded data by hierarchically encoding image data, and encodes PTL information indicating a profile of the hierarchically encoded data.
  • the PTL information encoding step wherein when encoding profile information in the PTL information, the PTL information encoding step encodes the value of the profile presence / absence flag as 1, and sets the profile information in the PTL information as follows: When it is estimated that it is equal to the profile information of the PTL information encoded immediately before, the value of the profile presence / absence flag is encoded as 0.
  • the value of the profile presence / absence flag is set according to whether the profile information of the PTL information is encoded or is estimated to be equal to the profile information of the previously encoded PTL information. Can be set and encoded.
  • An image decoding apparatus decodes hierarchically encoded data in which image information relating to images of different quality for each layer is hierarchically encoded, and an image in a target layer to be decoded And a profile / level information decoding unit that decodes profile / level information indicating a profile of the hierarchically encoded data, and the profile / level information decoding unit includes the profile / level information decoding unit in the profile / level information.
  • the i-th reference PTL information specification index indicates the relative position between the i-th profile / level information and the referenced profile / level information. It is the structure handled as.
  • the profile of the first profile / level information and the tier information can be estimated from the zeroth profile / level information.
  • An image decoding apparatus decodes hierarchically encoded data in which image information relating to images of different quality for each layer is hierarchically encoded, and an image in a target layer to be decoded And a profile / level information decoder for decoding profile / level information indicating a profile of the hierarchically encoded data, and the profile / level information decoded by the profile / level information decoder
  • the reference PTL information designation index is changed to the reference profile so that the profile of the first profile / level information and the tier information can be estimated based on the 0th profile / level information.
  • An image decoding apparatus decodes hierarchically encoded data in which image information relating to images of different quality for each layer is hierarchically encoded, and an image in a target layer to be decoded And a profile / level information decoder for decoding profile / level information indicating a profile of the hierarchically encoded data, and the profile / level information decoded by the profile / level information decoder ,
  • a VPS profile presence / absence flag may be included instead of the reference PTL information designation index.
  • the profile and tier information of the i-th profile / level information can be estimated from the (i-1) -th profile / level information, bits can be suppressed. it can.
  • the profile / level information decoding unit when the level information for the i-th sublayer is not presented, the level is , (I + 1) th sublayer may be estimated to be equal to the smaller one of the level identifier level and the level identifier level.
  • the sublayer whose temporal ID is equal to 1 is clarified. It is possible to avoid undefined display.
  • the profile / level information decoding unit when the sublayer profile presence flag of the i-th sublayer is 1, the profile of the sublayer The information may be determined to exist in the encoded data of the target layer, and the sublayer profile information of the sublayer may be decoded based on the encoded data.
  • the profile / level information decoding unit decodes the level information of the highest sublayer based on the encoded data of the target layer. For the sub-layer level information of each sub-layer excluding the highest-order sub-layer, if the sub-layer level presence flag of the i-th sub-layer is 1, it is determined that the level information of the sub-layer is present in the encoded data of the target layer, and the code The sublayer level information of the sublayer is decoded based on the coded data, and when the sublayer level presence flag of the i-th sublayer is 0, predetermined level information may be set in the sublayer level information of the sublayer .
  • the profile / level information decoding unit has a level presence / absence flag of 1 and the presence / absence of a sublayer level of the i-th sublayer.
  • the flag is 1 If the sublayer level presence flag of the i-th sublayer is 0, predetermined level information is set in the sublayer level information of the sublayer, the level presence flag is 0, and the sublayer of the i-th sublayer When the level presence / absence flag is 1, the level information of the sublayer exists in the encoded data of the target layer.
  • level information of a sublayer designated by the i-th reference PTL information designation index may be set.
  • the image decoding apparatus is the image decoding apparatus according to the other aspect 3, wherein a VPS level presence / absence flag is added to the profile / level information, and the profile / level information decoding unit When the presence / absence flag is equal to “0”, the level information of the i-th profile / level information may be derived from the level information of the previous profile / level information.
  • the sublayer whose temporal ID is equal to 1 is clarified. It is possible to avoid undefined display.
  • An image encoding device is an image encoding device that generates hierarchically encoded data in which image information relating to images of different quality for each layer is hierarchically encoded.
  • a profile / level information encoding unit that encodes profile / level information indicating a profile of the hierarchically encoded data, and the profile / level information encoding unit includes an i-th reference PTL in the profile / level information.
  • the semantics of the information designation index are encoded such that the i-th reference PTL information designation index designates a relative position between the i-th profile / level information and the referenced profile / level information.
  • the profile of the first profile / level information and the tier information can be estimated from the zeroth profile / level information.
  • An image encoding device is an image encoding device that generates hierarchically encoded data in which image information relating to images of different quality for each layer is hierarchically encoded.
  • a profile / level information encoding unit that encodes profile / level information indicating a profile of the hierarchically encoded data, and the profile / level information encoding unit encodes the first
  • the reference PTL information designation index is changed to the reference profile so that the profile and tier information of the current profile / level information can be estimated based on the 0th profile / level information.
  • An image encoding / decoding device is an image encoding device that generates hierarchically encoded data in which image information relating to images of different quality for each layer is hierarchically encoded.
  • a profile / level information encoding unit that encodes profile / level information indicating a profile of the hierarchically encoded data, and is referenced in the profile / level information encoded by the profile / level information encoding unit
  • a VPS profile presence / absence flag may be included.
  • the profile and tier information of the i-th profile / level information can be estimated from the (i-1) -th profile / level information, bits can be suppressed. it can.
  • the image coding apparatus in the other aspect 9 or 10, when the profile / level information encoding unit does not present level information for the i-th sublayer, the level is , (I + 1) th sub-layer, and level identifier may be encoded so as to be estimated to be equal to the smaller one.
  • the sublayer whose temporal ID is equal to 1 is clarified. It is possible to avoid undefined display.
  • the profile / level information encoding unit when the sublayer profile presence flag of the i-th sublayer is 1, the sublayer The profile information may include sub-layer profile information in the encoded data of the target layer.
  • the profile / level information encoding unit includes the level information of the highest sublayer in the encoded data of the target layer, For the sublayer level information of each sublayer excluding the highest order sublayer, when the sublayer level presence flag of the i-th sublayer is 1, the sublayer level information is included in the encoded data of the target layer and the sublayer includes the sublayer level information.
  • predetermined level information may be set in the sublayer level information of the sublayer.
  • the profile / level information encoding unit has a level presence flag of 1 and a sublayer of the i-th sublayer.
  • the level presence / absence flag is 1, the level information of the sublayer is included in the encoded data of the target layer, the sublayer level information of the sublayer is included in the encoded data, the level presence / absence flag is 1, and If the sublayer level presence flag of the i-th sublayer is 0, predetermined level information is set in the sublayer level information of the sublayer, the level presence flag is 0, and the sublayer level presence flag of the i-th sublayer is 1, the sub-layer level information is included in the encoded data of the target layer, and the encoded data Including the sublayer level information of the sublayer, if the level presence flag is 0 and the sublayer level presence flag of the i-th sublayer is 0, the i-th reference PTL information designation index is added to the sublayer level information of the sublayer.
  • a VPS level presence / absence flag is added to the profile / level information
  • the profile / level information encoding unit includes: When the VPS level presence / absence flag is equal to “0”, the level information of the i-th profile / level information may be encoded so as to be derived from the level information of the previous profile / level information. .
  • the sublayer whose temporal ID is equal to 1 is clarified. It is possible to avoid undefined display.
  • An image decoding apparatus decodes hierarchically encoded data in which image information relating to images of different quality for each layer is hierarchically encoded, and an image in a target layer to be decoded
  • a profile / level information decoding unit that decodes profile / level information indicating a profile of the hierarchically encoded data, and the profile / level information decoding unit includes the profile / level information in the profile / level information.
  • Lower layer set profile space value ⁇ upper layer set profile space value, lower layer set profile identifier value ⁇ upper layer set profile identifier value, lower layer set tier flag value ⁇ Tier flag value of upper layer set, upper layer set A It may be configured to decode the encoded data that satisfies the value of the level identifier value ⁇ the lower layer set B Bell identifier.
  • the image decoding apparatus and the image encoding apparatus according to each aspect of the present invention may be realized by a computer.
  • the computer is operated as each unit included in the image decoding apparatus and the image encoding apparatus. Accordingly, a control program for realizing the image decoding apparatus and the image encoding apparatus on a computer and a computer-readable recording medium on which the control program is recorded also fall within the scope of the present invention.
  • 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.
  • Level information decoding unit 1021c ... Sublayer profile presence / absence flag decoding unit 1021d ... Sublayer level presence / absence flag decoding unit 1021e ... Byte-aligned data decoding unit 1 21f ... Reference profile level selection unit 1022 ... Reference PTL designation information decoding unit 1023 ... Profile presence / absence flag decoding unit 301 ... Entropy decoding unit 302 ... Prediction parameter decoding unit 303 ... Inter prediction parameter decoding unit 304 ... Intra prediction parameter decoding unit 307 ... Prediction Parameter memory 308 ... Predictive image generation unit 309 ... Inter prediction image generation unit 310 ... Intra prediction image generation unit 311 ... Inverse quantization / inverse DCT unit 312 ... Addition unit 2 ...
  • Image encoding device hierarchical video encoding device 201 ... Prediction image generation unit 202 ... subtraction unit 203 ... DCT transformation / quantization unit 204 ... entropy coding unit 205 ... inverse quantization / inverse DCT transformation unit 206 ... addition unit 208 ... prediction parameter memory 210 ... coding parameter determination unit 211 ... Prediction parameter encoding unit 222... VP Encoding unit 2221 ... PTL information encoding unit 2221 a ... profile information encoding unit 2221 b ... level information encoding unit 2221C ... sublayer profile presence flag coding unit 2221D ... sublayer level existence flag coding unit 2221E ... byte aligned data encoding unit

Landscapes

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

Abstract

 プロファイル情報、及びレベル情報の復号/符号化に係る処理量の低減、及び符号量を削減する。 階層符号化データを復号する画像復号装置は、PTL(プロファイル/ティア/レベル)情報リスト中のPTL情報内のプロファイル情報の有無を示すプロファイル有無フラグを復号するプロファイル有無フラグ復号手段と、PTL情報を復号するPTL情報復号手段(1021)とを備える。上記PTL情報復号手段は、上記プロファイル有無フラグが1の場合、符号化データより、上記PTL情報のプロファイル情報を復号し、上記プロファイル情報有無フラグが0の場合、上記PTL情報内のプロファイル情報を、1つ前に復号されたPTL情報のプロファイル情報と等しいと推定する。

Description

画像復号装置、画像復号方法、画像符号化装置、及び画像符号化方法
 本発明は、画像が階層的に符号化された階層符号化データを復号する画像復号装置および画像復号方法、ならびに画像を階層的に符号化することによって階層符号化データを生成する画像符号化装置および画像復号方法に関する。
 通信システムで伝送される情報、あるいは蓄積装置に記録される情報の1つに画像あるいは動画像がある。従来、これらの画像(以降、動画像を含む)の伝送・蓄積のため、画像を符号化する技術が知られている。
 動画像符号化方式としては、AVC(H.264/MPEG-4 Advanced Video Coding)や、その後継コーデックであるHEVC(High-Efficiency Video Coding)が知られている(非特許文献1)。
 これらの動画像符号化方式では、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測残差(「差分画像」または「残差画像」と呼ぶこともある)が符号化される。また、予測画像の生成方法としては、画面間予測(インター予測)、および、画面内予測(イントラ予測)が挙げられる。
 HEVCでは、60fpsのコンテンツを30fpsで再生する場合のような、時間的に間引いたフレームレートで再生する場合を想定してテンポラルスケーラビリティ(時間スケーラビリティ)を実現する技術が用いられている。具体的には、各ピクチャに時間識別子(TemporalID、サブレイヤ識別子とも呼ばれる)を割り当て、時間識別子の高いピクチャは、その時間識別子よりも小さい時間識別子のピクチャを参照しない、という制約を課している。これにより、特定の時間識別子のピクチャのみを間引いて再生する場合には、それよりも高い時間識別子が付加されたピクチャの復号は不要になる。
 また、近年、必要なデータレートに従って、画像を階層的に符号化するスケーラブル符号化技術、又は階層符号化技術が提案されている。代表的なスケーラブル符号化方式(階層符号化方式)としてSHVC(Scalable HEVC)、及びMV-HEVC(MultiView HEVC)が知られている。
 SHVCでは、空間スケーラビリティ、時間スケーラビリティ、SNRスケーラビリティをサポートする。例えば空間スケーラビリティの場合、原画像から所望の解像度にダウンサンプリングした画像を下位レイヤとして符号化する。次に上位レイヤではレイヤ間の冗長性を除去するためにレイヤ間予測を行う(非特許文献2)。
 MV-HEVCでは、視点スケーラビリティ(ビュースケーラビリティ)をサポートする。例えば、視点画像0(レイヤ0)、視点画像1(レイヤ1)、視点画像2(レイヤ2)の3つの視点画像を符号化する場合、下位レイヤ(レイヤ0)から、上位レイヤである視点画像1、視点画像2をレイヤ間予測により予測することによりレイヤ間の冗長性の除去が可能である(非特許文献3)。
 SHVCやMV-HEVC等のスケーラブル符号化方式において利用されるレイヤ間予測には、レイヤ間画像予測とレイヤ間動き予測がある。レイヤ間画像予測では、下位レイヤ(あるいは、対象レイヤとは異なる別レイヤ)の復号済ピクチャのテクスチャ情報(画像)を利用して、対象レイヤの予測画像を生成する。レイヤ間動き予測では、下位レイヤ(あるいは、対象レイヤとは異なる別レイヤ)の復号済ピクチャの動き情報を利用して、対象レイヤの動き情報の予測値を導出する。すなわち、対象レイヤの参照ピクチャとして、下位レイヤ(あるいは、対象レイヤと異なる別レイヤ)の復号済ピクチャを利用することで、レイヤ間予測を行う。
 また、非特許文献1では、画像復号装置(デコーダ)がどのような画像の符号化データ(または、階層符号化データ)を復号するのに必要とされる処理能力を規定するために、プロファイル(profile)とレベル(level)が定義されている。
 プロファイルは、特定のアプリケーションを想定し、規格に準拠するデコーダが備えるべき処理機能を規定するものであり、符号化ツール(要素技術)の組み合わせ、あるいは集合によって定義される。プロファイルを規定することで、個々のアプリケーションでは、規格全体でなく、適したプロファイルのみを実装すればよく、デコーダ/エンコーダの複雑度を低減することが可能となるメリットがある。
 レベルは、デコーダの処理能力上限や回路規模の範囲を規定するものであり、単位時間当たりの最大処理画素数、画像の最大解像度、最大ビットレート、最大参照画像バッファサイズ、最低限の圧縮率などのパラメータの制限を規定している。すなわち、レベルはデコーダの処理能力やビットストリームの複雑さを規定するものである。また、レベルでは、各プロファイルで規定されたツールを、どの範囲までサポートするかについても規定されている。そのため、上位のレベルでは、下位のレベルをサポートする必要がある。
 例えば、非特許文献1では、レベル制限される各種パラメータは、図52(a)に示すように、最大輝度ピクチャサイズ(Max luma picture size)、最大ビットレート(Max bitrate)、最大CPBサイズ(Max CPB size)、ピクチャ単位当りの最大スライスセグメント数(Max slice segments per picture)、ピクチャ単位当たりの最大タイル行数(Max number of tile rows)、ピクチャ単位当たりの最大タイル列数(Max number of tile columns)が挙げられる。また、特定のプロファイルに対して適用される、レベル制限される各種パラメータは、図52(b)に示すように、最大輝度サンプルレート(Max luma sample rate)、最大ビットレート(Max bit rate)、及び最低圧縮比率(Min compression Ratio)が挙げられる。なお、レベルのサブ概念として、各レベルに対応するビットストリーム(符号化データ)の最大ビットレート、及びビットストリームを格納する最大CPBサイズがメインティア(Main tier:コンシューマ用)で規定される値か、または、ハイティア(High tier:業務用)で規定される値であるか表す“ティア”(tier)がある。
 例えば、非特許文献1では、プロファイルとして、メインプロファイルが定義されている。メインプロファイルでは、例えば、図53の(a)に示すような符号化ツールの制約が規定されている。また、メインプロファイルでは、図52に示すレベルで規定される制限のほかに、図53の(b)に示す追加のレベル制限が規定されている。
 また、ビットストリームが、どのプロファイルに準拠するものであるかは、非特許文献1では、図54に示すプロファイル/レベル情報(以降、PTL情報とも称する)profile_tier_level()上のプロファイル識別子general_profile_idc(図54上のシンタックス群SYNPTL01)によって指定される。例えば、メインプロファイルに準拠する場合は、general_profile_idcの値は、1に設定される。
 また、プロファイル識別子general_profile_idcで指定されるプロファイル以外のプロファイルに準拠するデコーダで現ビットストリームを復号できるかどうかを示すgeneral_profile_compatibility_flag[i](図54上のシンタックス群SYNPTL01)がある。例えば、メインプロファイルと互換がある場合は、general_profile_compatibility_flag[ 1 ] = 1と設定される。
 また、ビットストリームの複雑さ、あるいはビットストリームを復号するために必要とするデコーダの能力を示すレベルが、図52のいずれのレベルに準拠するものであるかは、PTL情報profile_tier_level()上のレベル識別子general_level_idc(図54上のSYNPTL02)によって指定される。例えば、レベル識別子general_level_idcの値が、“61”を示す場合は、図52のレベル6.1に対応し、レベル識別子general_level_idcの値が、“10”である場合は、図52のレベル1に対応することを表す。すなわち、レベル識別子general_level_idcの示す値の十の桁(二桁目)、一の桁(一桁目)は、それぞれ、図52上のレベルの整数と、小数点の値と対応する。
 また、レベル識別子general_level_idcで指定されるレベルのうち、ティアがメインティアであるか、ハイティアであるかを示すティアフラグgeneral_tier_flag(図54上のシンタックス群SYNPTL01)がある。ティアフラグgeneral_tier_flagの値が0の場合、メインティアであること示し、値が1の場合、ハイティアであることを示す。
 また、図54に示すPTL情報profile_tier_level()では、時間スケーラビリティに関するレイヤ(以降、サブレイヤ、またはテンポラルサブレイヤとも称する)毎のプロファイル情報(以降、サブレイヤプロファイル情報と称する、図54上のシンタックス群SYNPTL05)、およびレベル情報(以降、サブレイヤレベル情報と称する、図54上のシンタックスSYNPTL06)を、サブレイヤプロファイル有無フラグsub_layer_profile_present_flag[ i ](図54上のシンタックス群SYNPTL03)、サブレイヤレベル有無フラグsub_layer_level_present_flag[ i ](図54上のシンタックス群SYNPTL03)がそれぞれ1であれば、明示的に指定することができる。
 なお、PTL情報profile_tier_level()は、非特許文献1では、図10の(a)に示すビデオパラメータセットVPS(Video Parameter Set)、およびシーケンスパラメータセットSPS(Sequence Parameter Set)の両方のパラメータセットにおいてシグナルされている。
 また、SHVC(非特許文献2)やMV-HEVC(非特許文献3)等のスケーラブル符号化では、ある階層符号化された符号化データ(ビットストリーム)に含まれる各レイヤセットに適用されるPTL情報がビットストリーム中でシグナルされる。具体的には、ビデオパラメータセット上の図55のSYNVPS02において、レイヤセット0(ベースレイヤ)に関するPTL情報profile_tier_level()がシグナルされ、ビデオパラメータセット拡張データ(図56)上に、ビットストリームに含まれるPTL情報の総数-1の値”vps_num_profile_tier_level_minus1”(図56上のSYNVPS0D)、及びvps_num_profile_tier_level_minus1個のPTL情報(図56上のSYNVPS0G)からなるPTL情報リストがシグナルされる。続いて、各レイヤセット(レイヤセットi)に適用されるPTL情報を指定するPTL情報指定インデクス“profile_tier_level_idx [i]”(図56上のシンタックス群SYNVPS0H)をシグナルすることで、レイヤセット単位毎にPTL情報をシグナルする場合と比較して、PTL情報の符号量を削減することができる。また、PTL情報リスト内に含まれるi番目のPTL情報と、同一のプロファイル情報を有するi番目より前のPTL情報がPTL情報リスト内に存在すれば、VPSプロファイル有無フラグ“vps_profile_present_flag[i]”(図56上のSYNVPS0E)の値を0としてシグナルし、さらにPTL情報リスト上での該当するPTL情報の位置を示すインデクス(参照PTL情報指定インデクス)“profile_ref_minus1[i]”(図56上のSYNVPS0F)をシグナルし、i番目のPTL情報のプロファイル情報に、“profile_ref_minus1[i] + 1”番目のPTL情報のプロファイル情報を継承することで、プロファイル情報を重複してシグナルする冗長性を削減することができる(図57、62)。
 換言すれば、従来の、レイヤセット(layer set)のためのプロファイル/レベル情報profile_tier_level()に関するシンタックスの構造をシグナルする方法は、以下のように要約される。すなわち、
・プロファイル/レベル情報profile_tier_level()に関するシンタックスの構造のリストをシグナルする。
・i番目のレイヤセットに適用するプロファイル/レベル情報を、i番目のPTL情報指定インデクスprofile_level_tier_idx[i]により指定されるPTL情報をPTL情報リストから選択する。
 また、上記リストにおけるプロファイル/レベル情報profile_tier_level()のシグナリングの詳細は以下の通りである。
・各プロファイル/レベル情報profile_tier_level()において、i番目のVPSプロファイル有無フラグvps_profile_present_flag[i]がシグナルされ、該フラグが「0」にセットされる時、i番目の参照PTL情報指定インデクスprofile_ref_minus1[i]もまたシグナルされ、i番目のプロファイル/レベル情報profile_tier_level()の汎用プロファイル情報general profile informationは、(profile_ref_minus1[i] + 1)番目のプロファイル/レベル情報p profile_tier_level()の汎用プロファイル情報から推定される。
・各プロファイル/レベル情報profile_tier_level()のプロファイルおよびレベルのシグナリングにおいて、i番目のサブレイヤのプロファイルおよびレベルは、各々、サブレイヤプロファイル有無フラグsub_layer_profile_present_flag、およびi番目のサブレイヤレベル有無フラグsub_layer_level_present_flag[i]によって、省略され得る。
 図59は、従来のPTL復号部の概略構成を示す図であり、また、図61は、図59に示す従来のPTL復号部の復号動作の概要を示す図である。図60は、従来のPTL符号化部の概略構成を示す図である。
「Recommendation H.265 (04/13)」, ITU-T (2013年6月7日公開) JCTVC-N1008_v3 「SHVC Draft 3」, Joint Collaborative Team onVideo Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Vienna, AT, 25 July - 2 Aug. 2013 (2013年8月20日公開) JCT3V-E1008_v5 「MV-HEVC Draft Text 5」, Joint CollaborativeTeam on 3D Video Coding Extension Development of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 5th Meeting: Vienna, AT, 27 July - 2 Aug. 2013 (2013年8月7日公開)
 しかしながら、従来技術におけるビデオパラメータセット拡張データ上でのPTL情報profile_tier_level()のシグナルに関して、次の課題がある。
 (1)非特許文献2及び3において、「“profile_ref_minus1[i]”の値の範囲は、i未満である」と制約されている。そのため、PTL情報リスト上の1番目のPTL情報のVPSプロファイル有無フラグ“vsp_profile_present_flag[1]”が0の場合、参照PTL情報指定インデクス“profile_ref_minus1[1]+1”により、PTL情報リスト上の0番目(先頭)のPTL情報を参照先として指定することができないという課題がある。また、仮に0番目のPTL情報を参照先として指定することを禁止するのであれば、PTL情報リスト上の1番目のPTL情報において、VPSプロファイル有無フラグ“vps_profile_present_flag[1]”及び、参照PTL情報指定インデクス“profile_ref_minus1[1]”の符号量が冗長であるという課題がある。
 (2)また、エンコーダでは、PTL情報リスト中でシグナルするPTL情報を予め類似順に並び替え符号化することで、i番目のPTL情報の多くは、直前のPTL情報を参照する確率を高くすることができる。しかし、従来技術では、参照PTL情報インデクス“profile_ref_minus1”を常に6ビットによる固定長で符号化しており、符号量が冗長であるという課題がある。
 (3)i番目のPTL情報を、(profile_ref_minus1[i]+1)番目のPTL情報よりプロファイル情報を参照する場合、参照先((profile_ref_minus1[i]+1)番目)のPTL情報において、あるサブレイヤのプロファイル情報がシグナルされていない場合、参照元(i番目)のPTL情報において、対応するサブレイヤのプロファイル情報が不定となる課題がある。同様に、i番目のPTL情報において、あるサブレイヤのレベル情報がシグナルされていない場合、i番目のPTL情報を参照するレイヤセットにおいて、対応するサブレイヤのレベル情報が不定となる課題がある(図61上のSC115を参照)。
 例えば、階層符号化された符号化データ(ビットストリーム)から、サブビットストリーム抽出処理によって抽出された、対象レイヤセットのビットストリームをデコーダが復号しようとすると仮定する。このとき、デコーダが対応するレベルが、対象レイヤセットの最高次サブレイヤ(あるいは、最高次テンポラルレイヤ)のレベル(general_level_idc)未満の場合、デコーダは対象レイヤセットを含むビットストリームを復号するために必要な処理能力がないため、動画再生時に、意図しないフレームドロップが発生する可能性がある。一方、各サブレイヤに対して、適切にレベル情報が付与されていれば、デコーダは対象レイヤセットのPTL情報の各サブレイヤのレベル情報を参照し、デコーダが対応するプロファイル、及びレベルを満たすサブセット(レイヤ及びサブレイヤ)のビットストリームを対象レイヤセットのビットストリームから抽出し(サブビットストリーム抽出)し復号することで、意図しないフレームドロップを防止することが可能である。
 本発明は、上記問題に鑑みてされたものであり、その目的は、デコーダが、画像を符号化した符号化データ(または階層符号化データ)を復号可能であるかを判断するために必要となるPTL情報に関連するシンタックス、およびデータ構造を改良し、プロファイル情報、及びレベル情報の復号/符号化に係る処理量の低減、及び符号量を削減することができることができる画像復号装置、及び画像符号化装置を実現することにある。
 上記の課題を解決するために、本発明の一態様に係る画像復号装置は、階層符号化データを復号する画像復号装置であって、PTL情報リスト中のPTL情報内のプロファイル情報の有無を示すプロファイル有無フラグを復号するプロファイル有無フラグ復号手段とPTL情報を復号するPTL情報復号手段とを備え、上記PTL情報復号手段は、上記プロファイル有無フラグが1の場合、符号化データより、上記PTL情報のプロファイル情報を復号し、上記プロファイル情報有無フラグが0の場合、上記PTL情報内のプロファイル情報を、1つ前に復号されたPTL情報のプロファイル情報と等しいと推定することを特徴としている。
 また、本発明の一態様に係る画像復号方法は、階層符号化データを復号する画像復号方法であって、PTL情報リスト中のPTL情報内のプロファイル情報の有無を示すプロファイル有無フラグを復号するプロファイル有無フラグ復号ステップとPTL情報を復号するPTL情報復号ステップを備え、上記PTL情報復号ステップは、上記プロファイル有無フラグが1の場合、符号化データより、上記PTL情報のプロファイル情報を復号し、上記プロファイル情報有無フラグが0の場合、上記PTL情報内のプロファイル情報を、1つ前に復号されたPTL情報のプロファイル情報と等しいと推定することを特徴としている。
 また、本発明の一態様に係る画像符号化装置は、画像データを階層的に符号化して階層符号化データを生成する画像符号化装置であって、上記階層符号化データのプロファイルを示すPTL情報を符号化するPTL情報符号化部を備え、上記PTL情報符号化部は、上記PTL情報にプロファイル情報を符号化する場合にプロファイル有無フラグの値を1として符号化し、上記PTL情報内のプロファイル情報を1つ前に符号化したPTL情報のプロファイル情報と等しいと推定する場合にプロファイル有無フラグの値を0として符号化することを特徴としている。
 また、本発明の一態様に係る画像符号化方法は、画像データを階層的に符号化して階層符号化データを生成する画像符号化方法であって、上記階層符号化データのプロファイルを示すPTL情報を符号化するPTL情報符号化ステップを備え、上記PTL情報符号化ステップは、上記PTL情報にプロファイル情報を符号化する場合にプロファイル有無フラグの値を1として符号化し、上記PTL情報内のプロファイル情報を、1つ前に符号化したPTL情報のプロファイル情報と等しいと推定する場合に、プロファイル有無フラグの値を0として符号化することを特徴としている。
 本発明の一態様によれば、1番目のプロファイル/レベル情報のプロファイルおよびティアの情報を、0番目のプロファイル/レベル情報から推定することができるようになるという効果を奏する。
 また、本発明の一態様によれば、i番目の参照PTL情報指定インデクスが符号化されているので、ビットを抑制することができるという効果を奏する。
 また、本発明の一態様によれば、i番目のプロファイル/レベル情報のプロファイルおよびティアの情報を、(i-1)番目のプロファイル/レベル情報から推定することができるようになるので、ビットを抑制することができるという効果を奏する。
本発明の一実施形態に係る階層符号化データのレイヤ構造を説明するための図であって、(a)は、階層動画像符号化装置側について示しており、(b)は、階層動画像復号装置側について示している。 あるレイヤセットを構成するレイヤ、およびサブレイヤ(テンポラルレイヤ)の構造を説明するための図である。 図2に示すレイヤセットよりサブビットストリーム抽出処理により、抽出したレイヤセットのサブセットを構成するレイヤ、およびサブレイヤ(テンポラルレイヤ)を説明するための図である。 NALユニットレイヤを構成するデータ構造の例を示す図である。 NALユニットの符号化データの構成を示す図である。 NALユニットタイプの値とNALユニットの種別の関係を示す図である。 ビデオパラメータセットVPSのシンタックステーブルの一例である。 拡張ビデオパラメータセットVPSのシンタックステーブルの一例である。 PTL情報のデータ構造を示す図である。 本発明の実施形態に係る階層符号化データの構成を説明するための図であって、(a)は、シーケンスSEQを既定するシーケンスレイヤ、(b)は、ピクチャPICTを規定するピクチャレイヤ、(c)は、スライスSを規定するスライスレイヤ、(d)は、スライスデータを規定するスライスデータレイヤ、(e)は、スライスデータに含まれる符号化ツリーユニットを規定する符号化ツリーレイヤ、(f)は、符号化ツリーに含まれる符号化単位(Coding Unit; CU)を規定する符号化ユニットレイヤを示す図である。 参照ピクチャリストの一例を示す概念図である。 参照ピクチャの例を示す概念図である。 本発明の実施形態に係る画像復号装置の概略的構成について示した機能ブロック図である。 上記画像復号装置のヘッダ復号部の概略的構成を示す図である。 上記画像復号装置のNALユニットヘッダ復号部の概略的構成について示した機能ブロック図である。 上記ヘッダ復号部のVPS復号部の概略的構成について示した機能ブロック図である。 VPS復号部の動作を説明するためのフローチャートである。 VPS拡張データの復号プロセスを説明するためのフローチャートである。 (a)、(b)は、相対インデクスを、ゴロム符号で表わした図である。 PTL情報復号部の詳細を示すブロック図である。 PTL情報復号部における処理の流れを示すフローチャートである。 拡張ビデオパラメータセットVPS(VPS拡張データ)のシンタックステーブルの変形例である。 拡張ビデオパラメータセットVPS(VPS拡張データ)のシンタックステーブルの変形例である。 VPS拡張データの復号プロセスを説明するためのフローチャートである。 VPS復号部の概略的構成の変形例について示した機能ブロック図である。 PTL情報復号部における処理の流れの変形例を示すフローチャートである。 PTL情報復号部の詳細の変形例を示すブロック図である。 ビデオパラメータセットVPSのシンタックステーブルの変形例である。 拡張ビデオパラメータセットVPS(VPS拡張データ)のシンタックステーブルの変形例である。 VPS拡張データの復号プロセスの変形例を説明するためのフローチャートである。 VPS復号部の概略的構成の変形例について示した機能ブロック図である。 PTL情報のデータ構造の変形例を示す図である。 PTL情報復号部における処理の流れの変形例を示すフローチャートである。 PTL情報復号部の詳細の変形例を示すブロック図である。 参照ピクチャセットと参照ピクチャリストの例を示す図であり、(a)は、動画像を構成するピクチャを表示順に並べた図であり、(b)は、対象ピクチャに適用されるRPS情報の例を示す図であり、(c)は、対象ピクチャのPOCが0の場合に、(b)で例示したRPS情報を適用したときに導出される現RPSの例を示す図であり、(d)および(e)は、現RPSに含まれる参照ピクチャから生成される参照ピクチャリストの例を示す図である。 参照ピクチャリスト修正例を示す図であり、(a)は修正前L0参照リストを示す図であり、(b)はRPL修正情報を示す図であり、(c)は、修正後のL0参照リストを示す図である。 ピクチャ構造の構成を示す概略図である。 参照ピクチャ管理部の概略的構成について示した機能ブロック図である。 上記画像復号装置のヘッダ復号部および参照ピクチャ情報復号部においてSPS復号時に利用されるSPSシンタックス表の一部を例示する図である。 上記画像復号装置のヘッダ復号部および参照ピクチャ情報復号部におけるSPS復号時、および、スライスヘッダ復号時に利用される短期参照ピクチャセットのシンタックス表を例示する図である。 上記画像復号装置のヘッダ復号部および参照ピクチャ情報復号部においてスライスヘッダ復号時に利用されるスライスヘッダシンタックス表の一部を例示する図である。 上記画像復号装置のヘッダ復号部および参照ピクチャ情報復号部においてスライスヘッダ復号時に利用されるスライスヘッダシンタックス表の一部を例示する図である。 上記画像復号装置のヘッダ復号部および参照ピクチャ情報復号部においてスライスヘッダ復号時に利用される参照リスト並べ替え情報のシンタックス表を例示する図である。 本実施形態に係る画像復号装置の構成を示す概略図である。 本実施形態に係る画像符号化装置の構成を示す概略図である。 ピクチャ符号化部の構成を示すブロック図である。 VPS符号化部の概略的構成について示した機能ブロック図である。 VPS符号化部の概略的構成の変形例について示した機能ブロック図である。 PTL情報符号化部の詳細を示すブロック図である。 上記階層動画像符号化装置を搭載した送信装置、および、上記階層動画像復号装置を搭載した受信装置の構成について示した図である。(a)は、階層動画像符号化装置を搭載した送信装置を示しており、(b)は、階層動画像復号装置を搭載した受信装置を示している。 上記階層動画像符号化装置を搭載した記録装置、および、上記階層動画像復号装置を搭載した再生装置の構成について示した図である。(a)は、階層動画像符号化装置を搭載した記録装置を示しており、(b)は、階層動画像復号装置を搭載した再生装置を示している。 従来技術におけるレベル制約に関する各パラメータの制限値を示す図である。 従来技術における図であり、(a)は、メインプロファイルに関するパラメータの制約の一例であり、(b)は、メインプロファイルに関する追加のレベル制約の一例である。 従来技術における、PTL情報のデータ構造を示す図である。 従来技術における、ビデオパラメータセットVPSのシンタックステーブルを示す図である。 従来技術における、拡張ビデオパラメータセットVPSのシンタックステーブルを示す図である。 従来技術における、VPSデータの復号プロセスの流れを示すフローチャートである。 従来技術における、VPS拡張データの復号プロセスの流れを示すフローチャートである。 従来技術における、PTL情報復号部の構成を示すブロック図である。 従来技術における、PTL情報符号化部の構成を示すブロック図である。 従来技術における、PTL情報復号部における処理の流れを示すフローチャートである。 本実施形態に係るサブレイヤのプロファイル情報の設定方法の一例を示す疑似コードである。(a)は、プロファイル有無フラグ(profilePresentFlag)が1の場合の設定方法を示し、(b)は、プロファイル有無フラグが0の場合の設定方法を示す。 本実施形態に係るサブレイヤのレベル情報の設定方法の一例を示す疑似コードである。(a)は、サブレイヤレベル有無フラグ(sub_layer_level_flag[i])が0の場合の設定方法を示し、(b)は(a)の別表現の疑似コードである。 本実施形態に係るサブレイヤのプロファイル情報の設定方法の一例を示す疑似コードである。(a)は、レベル有無フラグ(levelPresentFlag)が1の場合の設定方法を示し、(b)、(c)は、レベル有無フラグが0の場合の設定方法を示す。 拡張ビデオパラメータセットVPS(VPS拡張データ)のシンタックステーブルの変形例の一例である。 VPS拡張データの復号プロセスの変形例を説明するためのフローチャートである。 VPS拡張データの符号化プロセスの変形例を説明するためのフローチャートである。 拡張ビデオパラメータセットVPS(VPS拡張データ)のシンタックステーブルの変形例の一例である。 VPS拡張データの復号プロセスの変形例を説明するためのフローチャートである。 VPS拡張データの符号化プロセスの変形例を説明するためのフローチャートである。
 図1~図27に基づいて、本発明の一実施形態に係る階層動画像復号装置1および階層動画像符号化装置2を説明すれば以下のとおりである。
 〔概要〕
 本実施の形態に係る階層動画像復号装置(画像復号装置とも記載する)1は、階層動画像符号化装置(画像符号化装置とも記載する)2によって階層符号化された符号化データを復号する。階層符号化とは、動画像を低品質のものから高品質のものにかけて階層的に符号化する符号化方式のことである。階層符号化は、例えば、SVCやSHVCにおいて標準化されている。なお、ここでいう動画像の品質とは、主観的および客観的な動画像の見栄えに影響する要素のことを広く意味する。動画像の品質には、例えば、“解像度”、“フレームレート”、“画質”、および、“画素の表現精度”が含まれる。よって、以下、動画像の品質が異なるといえば、例示的には、“解像度”等が異なることを指すが、これに限られない。例えば、異なる量子化ステップで量子化された動画像の場合(すなわち、異なる符号化雑音により符号化された動画像の場合)も互いに動画像の品質が異なるといえる。
 また、階層符号化技術は、階層化される情報の種類の観点から、(1)空間スケーラビリティ、(2)時間スケーラビリティ、(3)SNR(Signal to Noise Ratio)スケーラビリティ、および(4)ビュースケーラビリティに分類されることもある。空間スケーラビリティとは、解像度や画像のサイズにおいて階層化する技術である。時間スケーラビリティとは、フレームレート(単位時間のフレーム数)において階層化する技術である。SNRスケーラビリティは、符号化雑音において階層化する技術である。また、ビュースケーラビリティは、各画像に対応付けられた視点位置において階層化する技術である。
 本実施形態に係る階層動画像符号化装置2及び階層動画像復号装置1の詳細な説明に先立って、まず(1)階層動画像符号化装置2によって生成され、階層動画像復号装置1によって復号される階層符号化データのレイヤ構造を説明し、次いで(2)各レイヤで採用できるデータ構造の具体例について説明を行う。
 〔階層符号化データのレイヤ構造〕
 ここで、図1を用いて、階層符号化データの符号化および復号について説明すると次のとおりである。図1は、動画像を、下位階層L3、中位階層L2、および上位階層L1の3階層により階層的に符号化/復号する場合について模式的に表す図である。つまり、図1(a)および(b)に示す例では、3階層のうち、上位階層L1が最上位層となり、下位階層L3が最下位層となる。
 以下において、階層符号化データから復号され得る特定の品質に対応する復号画像は、特定の階層の復号画像(または、特定の階層に対応する復号画像)と称される(例えば、上位階層L1の復号画像POUT#A)。
 図1(a)は、入力画像PIN#A~PIN#Cをそれぞれ階層的に符号化して符号化データDATA#A~DATA#Cを生成する階層動画像符号化装置2#A~2#Cを示している。図1(b)は、階層的に符号化された符号化データDATA#A~DATA#Cをそれぞれ復号して復号画像POUT#A~POUT#Cを生成する階層動画像復号装置1#A~1#Cを示している。
 まず、図1(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を復号するのに必要な基本情報が含まれる(図1において“C”にて示している)。下位階層L3は、最下層の階層であるため、下位階層L3の符号化データDATA#Cは、基本符号化データとも称される。
 また、中位階層L2の階層動画像符号化装置2#Bは、中位階層L2の入力画像PIN#Bを、下位階層の符号化データDATA#Cを参照しながら符号化して中位階層L2の符号化データDATA#Bを生成する。中位階層L2の符号化データDATA#Bには、符号化データDATA#Cに含まれる基本情報“C”に加えて、中位階層の復号画像POUT#Bを復号するのに必要な付加的情報(図1において“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を復号するのに必要な付加的情報(図1において“A”にて示している)が含まれる。
 このように上位階層L1の符号化データDATA#Aは、異なる複数の品質の復号画像に関する情報を含む。
 次に、図1(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階層よりも多い階層数にて階層符号化されていてもよい。
 また、特定の階層の復号画像に関する符号化データの一部または全部を他の階層とは独立して符号化し、特定の階層の復号の際に、他の階層の情報を参照しなくても済むように階層符号化データを構成してもよい。例えば、図1(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が異なる画質となるよう階層符号化データを生成することもできる。その場合、下位階層の階層動画像符号化装置が、上位階層の階層動画像符号化装置に較べて、より大きい量子化幅を用いて予測残差を量子化することで階層符号化データを生成する。
 本書では、説明の便宜上、次のとおり用語を定義する。以下の用語は、特に断りがなければ、下記の技術的事項のことを表わすのに用いる。
 上位レイヤ : ある階層よりも上位に位置する階層のことを、上位レイヤと称する。例えば、図1において、下位階層L3の上位レイヤは、中位階層L2および上位階層L1である。また、上位レイヤの復号画像とは、より品質の高い(例えば、解像度が高い、フレームレートが高い、画質が高い等)復号画像のことをいう。
 下位レイヤ : ある階層よりも下位に位置する階層のことを、下位レイヤと称する。例えば、図1において、上位階層L1の下位レイヤは、中位階層L2および下位階層L3である。また、下位レイヤの復号画像とは、より品質の低い復号画像のことをいう。
 対象レイヤ : 復号または符号化の対象となっている階層のことをいう。
 参照レイヤ : 対象レイヤに対応する復号画像を復号するのに参照される特定の下位レイヤのことを参照レイヤと称する。
 図1(a)および(b)に示した例では、上位階層L1の参照レイヤは、中位階層L2および下位階層L3である。しかしながら、これに限られず、特定の上記レイヤの復号において、下位レイヤのすべてを参照しなくてもよいように階層符号化データを構成することもできる。例えば、上位階層L1の参照レイヤが、中位階層L2および下位階層L3のいずれか一方となるように階層符号化データを構成することも可能である。
 基本レイヤ : 最下層に位置する階層のことを基本レイヤと称する。基本レイヤの復号画像は、符号化データから復号され得るもっとも低い品質の復号画像であり、基本復号画像と呼称される。別の言い方をすれば、基本復号画像は、最下層の階層に対応する復号画像のことである。基本復号画像の復号に必要な階層符号化データの部分符号化データは基本符号化データと呼称される。例えば、上位階層L1の階層符号化データDATA#Aに含まれる基本情報“C”が基本符号化データである。
 拡張レイヤ : 基本レイヤの上位レイヤは、拡張レイヤと称される。
 レイヤ識別子 : レイヤ識別子(レイヤIDともいう)は、階層を識別するためのものであり、階層と1対1に対応する。階層符号化データには特定の階層の復号画像の復号に必要な部分符号化データを選択するために用いられる階層識別子が含まれる。特定のレイヤに対応するレイヤ識別子に関連付けられた階層符号化データの部分集合は、レイヤ表現とも呼称される。
 一般に、特定の階層の復号画像の復号には、当該階層のレイヤ表現、および/または、当該階層の下位レイヤに対応するレイヤ表現が用いられる。すなわち、対象レイヤの復号画像の復号においては、対象レイヤのレイヤ表現、および/または、対象レイヤの下位レイヤに含まれる1つ以上階層のレイヤ表現が用いられる。
 レイヤ間予測 : レイヤ間予測とは、対象レイヤのレイヤ表現と異なる階層(参照レイヤ)のレイヤ表現に含まれるシンタックス要素値、シンタックス要素値より導出される値、および復号画像に基づいて、対象レイヤのシンタックス要素値や対象レイヤの復号に用いられる符号化パラメータ等を予測することである。動き予測に関する情報を参照レイヤの情報から予測するレイヤ間予測のことをレイヤ間動き情報予測と称することもある。また、下位レイヤの復号画像から予測するレイヤ間予測のことをレイヤ間画像予測(あるいはレイヤ間テクスチャ予測)と称することもある。なお、レイヤ間予測に用いられる階層は、例示的には、対象レイヤの下位レイヤである。また、参照レイヤを用いず対象レイヤ内で予測を行うことをレイヤ内予測と称することもある。
 テンポラル識別子: テンポラル識別子(テンポラルID、時間識別子、サブレイヤID、あるいはサブレイヤ識別子ともいう)は、時間スケーラビリティに関するレイヤ(以降、サブレイヤ)を識別するための識別子である。テンポラル識別子は、サブレイヤを識別するためのものであり、サブレイヤと1対1に対応する。符号化データには特定のサブレイヤの復号画像の復号に必要な部分符号化データを選択するために用いられるテンポラル識別子が含まれる。
 サブレイヤ: サブレイヤとは、テンポラル識別子により特定される時間スケーラビリティに関するレイヤである。空間スケーラビリティ、SNRスケーラビリティ等、そのほかのスケーラビリティと区別するため、以降サブレイヤと称する(テンポラルレイヤとも称する)。
 なお、以降では、時間スケーラビリティは、基本レイヤの符号化データ、またはあるレイヤを復号するために必要な階層符号化データ、に含まれるサブレイヤによって実現されるものとする。
 次に、図2、3を参照して、ビットストリーム抽出処理(サブビットストリーム抽出ともいう)により、あるレイヤセットAを含む階層符号化データより、レイヤセットAのサブセットとなるレイヤセットB(ターゲットセットとも呼ぶ)を含む階層符号化データを抽出する例について説明する。
 なお、ビットストリーム抽出処理とは、あるビットストリーム(階層符号化データ、符号化データ)から、対象最高次テンポラル識別子(heighest TemporalId, heighestTid)、対象レイヤセットに含まれるレイヤを表わすレイヤIDリストによって定まる集合(ターゲットセットと呼ぶ)に含まれないNALユニットを除去(破棄)し、ターゲットセットに含まれるNALユニットから構成されるビットストリーム(サブビットストリームとも称する)を抽出する処理である。
 図2は、3つのレイヤ(L#0,L#1,L#2)、及び各レイヤは3つのサブレイヤ(TID1, TID2,TID3)から構成されるレイヤセットAの構成を表わす。なお、以降では、レイヤセットをを構成するレイヤ、及びサブレイヤを、{レイヤIDリスト{L#0,…,L#N}、最高次テンポラルID(HighestTid=K)}と表わす。例えば、図2のレイヤセットAは、{レイヤIDリスト{L#0, L#1, L#2}、最高次テンポラルID=3}と表現される。ここで、符号L♯Nは、あるレイヤNを示し、図2中の各ボックスは、ピクチャを表わし、ボックス内の番号は、復号順の一例を表わす。以降、ピクチャで番号Nを、P#Nと表記する(図3についても同様)。
 また、各ピクチャ間の矢印は、ピクチャ間の依存方向(参照関係)を表わす。同一レイヤ内の矢印であれば、インター予測に利用される参照ピクチャであることを示す。レイヤ間の矢印であれば、レイヤ間予測に利用される参照ピクチャ(参照レイヤピクチャともいう)であることを表わす。
 また、図2中のAUは、アクセスユニットを表わし、#Nは、アクセスユニット番号を表わす。AU#Nは、ある起点(例えば、ランダムアクセス開始点)のAUをAU#0とすれば、(N-1)番目のアクセスユニットであることを表わし、ビットストリームに含まれるAUの順番を表わす。すなわち、図2の例であれば、ビットストリーム上で、アクセスユニットは、AU#0、AU#1、AU#2、AU#3、AU#4…の順で格納されている。なお、アクセスユニットとは、特定の分類ルールにより集約されたNALユニットの集合を表わす。図2のAU#0は、ピクチャP#1、P#1、及びP#3の符号化データを含むVLC NALの集合とみることができる。なお、アクセスユニットの詳細については後述する。
 図2の例では、ターゲットセット(レイヤセットB)は、レイヤIDリスト{L#0,L#1}、及び最高次テンポラルID=2であるから、レイヤセットAを含むビットストリームから、ターゲットセット(レイヤセットB)に含まれないレイヤ、及び最高次テンポラルID=2より大きいサブレイヤを、ビットストリーム抽出により破棄する。すなわち、レイヤIDリストに含まれないレイヤL#2、及びサブレイヤ(TID3)を有するNALユニットが破棄され、最終的には、図3に示すように、レイヤセットBを含むビットストリームが抽出される。図3では、点線のボックスは、破棄されたピクチャを表わし、点線の矢印は、破棄されたピクチャと参照ピクチャ間の依存方向を示す。なお、レイヤL#3、及びTID3のサブレイヤのピクチャを構成するNALユニットは破棄済のため、依存関係は既に断ち切られている。
 SHVCやMV-HEVCでは、SNRスケーラビリティ、空間スケーラビリティ、時間スケーラビリティ等を実現するために、レイヤ、及びサブレイヤの概念が導入されている。図2、図3で既に説明したように、フレームレートを変更し時間スケーラビリティを実現する場合、ビットストリーム抽出処理により、まず他のピクチャから参照されないピクチャ(最高次テンポラルID(TID3))の符号化データを破棄する。図2、3の場合、ピクチャ(10、13、11、14、12、15)の符号化データを破棄することにより、フレームレートが1/2となる符号化データが生成される。
 また、SNRスケーラビリティ、空間スケーラビリティや、ビュースケーラビリティを実現する場合、ビットストリーム抽出により、ターゲットセットに含まれない、レイヤの符号化データを破棄することで、各スケーラビリティの粒度を変更することができる。(図2、3では、3、6、9、12、15)の符号化データを破棄することで、スケーラビリティの粒度を粗くした符号化データが生成される。上記処理を繰り返すことで、段階的にレイヤ、サブレイヤの粒度を調整することができる。
 なお、以上の用語は、飽くまで説明の便宜上のものであり、上記の技術的事項を別の用語にて表現してもかまわない。
 〔階層符号化データのデータ構造について〕
 以下、各階層の符号化データを生成する符号化方式として、HEVCおよびその拡張方式を用いる場合について例示する。しかしながら、これに限られず、各階層の符号化データを、MPEG-2や、H.264/AVCなどの符号化方式により生成してもよい。
 また、下位レイヤと上位レイヤとが異なる符号化方式によって符号化されていてもよい。また、各階層の符号化データは、互いに異なる伝送路を介して階層動画像復号装置1に供給されてもよいし、同一の伝送路を介して階層動画像復号装置1に供給されてもよい。
 例えば、超高精細映像(動画像、4K映像データ)を基本レイヤおよび1つの拡張レイヤによりスケーラブル符号化して伝送する場合、基本レイヤは、4K映像データをダウンスケーリングし、インタレース化した映像データをMPEG-2またはH.264/AVCにより符号化してテレビ放送網で伝送し、拡張レイヤは、4K映像(プログレッシブ)をHEVCにより符号化して、インターネットで伝送してもよい。
 <符号化データ#1(階層符号化データDATAともいう)の構造>
 本実施形態に係る画像符号化装置2および画像復号装置1の詳細な説明に先立って、画像符号化装置2によって生成され、画像復号装置1によって復号される符号化データ#1のデータ構造について説明する。
  (NALユニットレイヤ)
 図4は、符号化データ#1におけるデータの階層構造を示す図である。符号化データ#1は、NAL(Network Abstraction Layer)ユニットと呼ばれる単位で符号化される。
 NALは、動画像符号化処理を行う層であるVCL(Video Coding Layer)と、符号化データを伝送・蓄積する下位システムとの間における通信を抽象化するために設けられる層である。
 VCLは、画像符号化処理を行う層のことであり、VCLにおいて符号化が行われる。一方、ここでいう、下位システムは、H.264/AVCおよびHEVCのファイルフォーマットや、MPEG-2システムに対応する。以下に示す例では、下位システムは、対象レイヤおよび参照レイヤにおける復号処理に対応する。なお、NALでは、VCLで生成されたビットストリームが、NALユニットという単位で区切られて、宛先となる下位システムへ伝送される。
 図5(a)は、NAL(Network Abstraction Layer)ユニットのシンタックステーブルを示す。NALユニットには、VCLで符号化された符号化データ、および、当該符号化データが宛先の下位システムに適切に届けられるためのヘッダ(NALユニットヘッダ:nal_unit_header())が含まれる。なお、NALユニットヘッダは、例えば、図5(b)に示すシンタックスで表わされる。NALユニットヘッダには、NALユニットに格納された符号化データの種類を表わす”nal_unit_type”、格納された符号化データが属するサブレイヤの識別子(テンポラル識別子)を表わす”nuh_temporal_id_plus1”や、格納された符号化データが属するレイヤの識別子(レイヤ識別子)を表わす”nuh_layer_id”(または、nuh_reserved_zero_6bits)が記述されている。
 NALユニットデータには、後述のパラメータセット、SEI、スライスなどが含まれる。
 図6は、NALユニットタイプの値とNALユニットの種別の関係を示す図である。図6に示す通り、SYNA101で示される0から15の値のNALユニットタイプを持つNALユニットは、非RAP(ランダムアクセスピクチャ)のスライスである。SYNA102で示される16から21の値のNALユニットタイプを持つNALユニットは、RAP(ランダムアクセスピクチャ)のスライスである。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ユニットの集合のことをアクセスユニットと呼ぶ。レイヤ数が1の場合には、アクセスユニットは1ピクチャを構成するNALユニットの集合である。レイヤ数が1より大きい場合には、アクセスユニットは同じ時刻の複数のレイヤのピクチャを構成するNALユニットの集合である。なお、アクセスユニットの区切りを示すために、符号化データはアクセスユニットデリミタ(Access unit delimiter)と呼ばれるNALユニットを含んでも良い。アクセスユニットデリミタは、符号化データ中にあるアクセスユニットを構成するNALユニットの集合と、別のアクセスユニットを構成するNALユニットの集合の間に含まれる。
 (ビデオパラメータセット)
 図7は、本発明の実施形態に係るVPS(Video Parameter Set)の符号化データの構成を示す図である。一部シンタック要素について意味を示すと、次の通りである。VPSは、複数のレイヤに共通するパラメータを規定するためのパラメータセットである。パラメータセットは、ピクチャを圧縮データである符号化データからID(video_parameter_set_id)を用いて参照される。
・video_parameter_set_idは、各VPSを識別するための識別子である。
・vide_reserved_three_2bitsは、将来の規格拡張用のシンタックスである。
・vps_max_layers_minus1は、少なくとも基本レイヤを含む階層符号化データに関して、時間スケーラビリティを除く、その他のスケーラビリティに関するレイヤの数の上限値MaxNumLayersを算出するために用いるシンタックスである。なお、レイヤ数の上限値MaxNumLayersは、MaxNumLayers = vps_max_num_sub_layers_minus1 + 1によって表わされる。階層符号化データが基本レイヤのみで構成される場合は、vps_max_num_sub_layers_minus1 = 0となる。
・vps_max_sub_layer_minus1は、少なくとも基本レイヤを含む階層符号化データの時間スケーラビリティに関するレイヤ(サブレイヤ)の数の上限値MaxNumSubLayersを算出するために用いるシンタックスである。なお、サブレイヤ数の上限値MaxNumSubLayersは、MaxNumSubLayers = vps_max_sub_layers_minus1 + 1 によって表わされる。
・vps_temporal_id_nesting_flagは、当該VPSを参照するピクチャにおけるインター予測に関して、追加の制約をするか否かを表わすフラグである。
・vps_extension_offsetは、VPSを含むNALユニットの先頭位置から、VPS拡張データvps_extension()内のシンタックスavc_base_flagまでのバイトオフセット値を表わす。
・profile_tier_level(X,Y)は、階層符号化データに関するプロファイル情報、及びレベル情報を表わすシンタックス(以降、PTL情報とも称する)である。なお、引数Xは、プロファイル情報有無フラグProfilePresentFlagの値であり、引数Yは、サブレイヤ数の上限値-1の値、すなわちMaxNumSubLayersMinus1である。なお、引数Yは、サブレイヤ数の上限値-1の値MaxNumSubLayersMinus1の代わりに、MaxNumSubLayersの値としてもよい。その場合、PTL情報profile_tier_level()上におけるMaxNumSubLayersMinus1を、”MaxNumSubLayers-1”と解釈する。以降では、サブレイヤ数の上限値―1の値MaxNumSubLayersMinus1の代わり、サブレイヤ数の上限値MaxNumSubLayersを用いて説明する。なお、プロファイル/レベル情報profile_tier_level()に関しては、後述する。なお、ここで規定されるプロファイル/レベル情報には、デコーダが、レイヤセット0(基本レイヤ)を復号するのに必要とする最大のプロファイル、レベル情報が設定される。なお、レイヤセット0(基本レイヤ)を復号するのに必要とする最大のプロファイル、レベル情報の代わりに、レイヤセット0を、全レイヤ(基本レイヤおよび拡張レイヤ、各レイヤに付随するサブレイヤを含む)を復号するのに必要とする最大のプロファイル、レベル情報を設定してもよい。なお、VPSに含まれるプロファイル/レベル情報profile_tier_level()は、後述のPTL情報復号部1021において復号される。
・vps_max_layer_idは、CVS上の全てのNALユニットのレイヤID(nuh_layer_id)の最大値を表わすシンタックスである。
・vps_num_layers_sets_minus1は、ビットストリームに含まれる、“1以上のレイヤの集合を表わすレイヤセットの総数-1”を表わすシンタックスである。レイヤセット数MaxNumLayersSetsは、vps_num_layers_sets_minus1 + 1である。
・layer_id_included_flag[i][j]は、レイヤセットj(レイヤIDリスト)を構成するレイヤとして、レイヤID=jが含まれるか否かを表わすフラグである。
・vps_extension_flagは、VPSがさらにVPS拡張データvps_extension()を含むか否かを示すフラグである。
 なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、1をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
 図56は、従来技術に係るVPS拡張の符号化データの構成を示す図である。一部シンタックス要素について意味を示すと、次の通りである。
・avc_base_layer_flagは、基本レイヤがH.264で符号化されたビットストリームであるか否かを示すフラグである。
・vps_vui_offsetは、VPSを含むNALユニットの先頭位置から、VPS拡張データvps_extension()内に含まれるVPS VUIデータvps_vui()内の先頭シンタックス(bit_rate_rate_flag(図56では不図示))までのバイトオフセット値を表わす。
・scalability_mask(図56では不図示)は、スケーラブルの種別を示す値である。スケーラブルマスクは、各ビットが各スケーラブル種別に対応する。ビット1は空間スケーラブル、ビット2は画質スケーラブル、ビット3はデプススケーラブル、ビット4はビュースケーラブルに対応する。各ビットが1である場合に対応するスケーラブル種別が有効であることを意味する。複数のビットが1であることも可能であり、例えばscalability_maskが12の場合は、ビット3とビット4が1であるから、デプススケーラブルとビュースケーラブルが有効である。すなわち、複数のビューとデプスを含む3Dスケーラブルを意味する。
・dimension_id_len_minus1(図56では不図示)は、スケーラブルの種別ごとに含まれる次元IDdimention_idの数num_dimensionsを示す。
num_dimensions=dimension_id_len_minus1[1]+1である。例えば、num_dimensionsは、スケーラブルの種別がデプスの場合2、ビューの場合には視点数が復号される。
・dimention_id(図56では不図示)は、スケーラブルの種別ごとのピクチャの種別を示す情報である。
・direct_dependency_flag[i][j](レイヤ依存フラグと称する)は、レイヤjが、対象レイヤiの直接参照レイヤ(依存レイヤ)であるかを示すフラグである。値が1の場合は、依存レイヤであること示し、0の場合は直接参照レイヤでないことを示す。すなわち、レイヤ依存フラグが1であれば、対象レイヤiは別のレイヤjを参照し、レイヤ依存フラグが0であれば対象レイヤiはレイヤjを参照しない。
・vps_number_layers_sets_minus1(図56上のSYNVPS0C)は、ビットストリームに含まれる、1以上のレイヤの集合を表わすレイヤセットの総数を表わすシンタックスであり、vps_num_layers_sets_minus1と同じ値である。
・vps_num_profile_teir_level_minus1(図56上のSYNVPS0D)は、“VPS上に含まれるPTL情報の総数-1”を表わすシンタックスである。VPS上のPTL情報数NumPTLは、“vps_num_profile_tier_level_minus1 + 1”である。なお、以降、VPS上に存在する1以上のPTL情報で構成されるPTL情報群をPTL情報リストと呼ぶ。
・vps_profile_present_flag[i](VPSプロファイル有無フラグ, (図56上のSYNVPS0E))は、PTL情報リスト上で、i番目のPTL情報のプロファイル情報の有無を示すフラグである。VPSプロファイル有無フラグが1であれば、プロファイル情報を示すシンタックス群が対象PTL情報profile_tier_level()内に存在することを示し、VPSプロファイル有無フラグが0であれば、プロファイル情報を示すシンタックス群が存在しないことを示す。
・profile_ref_minus1[i](参照PTL情報指定インデクス, (図56上のSYNVPS0F))は、上記VPSプロファイル有無フラグの値が0の場合、PTL情報リスト上のi番目のPTL情報のプロファイル情報が、PTL情報リスト上の(profile_ref_minus1[i] + 1)番目のPTL情報のプロファイル情報と同一であることを示すシンタックスである。なお、従来技術では、「参照PTL情報指定インデクス”profile_ref_minus1[i]+1”の値は、PTL情報リスト中の対象PTL情報の位置を示すインデクスi未満でなければならない」という制約がある。
・profile_teir_level(X,Y)(図56上のSYNVPS0G)は、PTL情報リスト中のi番目PTL情報である。なお、各PTL情報は、後述の各レイヤセット(レイヤセットi)に適用されるPTL情報を指定するPTL情報指定インデクス“profile_tier_level_idx [i]”により、各レイヤセットで参照される。PTL情報指定インデクス“profile_tier_level_idx [i]”により参照されるPTL情報は、レイヤセットiを構成すレイヤ、及び各レイヤに付随するサブレイヤを復号するのに必要とする最大のプロファイル、レベル情報が設定される。なお、VPSに含まれるプロファイル/レベル情報profile_tier_level()は、後述のPTL情報復号部X1021において復号される。
・profile_level_tier_idx[i](PTL情報指定インデクス)は、レイヤセットiに適用するPTL情報リスト上のPTL情報を指定するインデクスを表わすシンタックスである。
・direct_dependency_len_minus2(図56上のSYNVPS0I)は、レイヤ依存タイプの種類の総数を表わすシンタックスである。
・direct_dependency_type[i][j](レイヤ依存タイプ)は、対象レイヤiとレイヤj間の参照関係を示す。具体的には、レイヤ依存フラグdirect_dependency_flag[i][j]が1である場合、レイヤ依存タイプdirect_dependency_type[i][j]で、対象レイヤiに対する参照レイヤjのレイヤ依存タイプを示す。レイヤ依存タイプは、サンプル予測のみ、動き予測のみ、またはその両方を指定することができる。direct_dependency_type[i][j]の値とレイヤ依存タイプの値との関係を以下に示す。
  direct_dependency_type[i][j] = 0 … サンプル予測および動き予測
  direct_dependency_type[i][j] = 1 … 動き予測のみ
  direct_dependency_type[i][j] = 2 … サンプル予測のみ。
 図10は、符号化データ#1におけるデータの階層構造を示す図である。符号化データ#1は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図10の(a)~(f)は、それぞれ、シーケンスSEQを既定するシーケンスレイヤ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、スライスデータを規定するスライスデータレイヤ、スライスデータに含まれる符号化ツリーユニットを規定する符号化ツリーレイヤ、符号化ツリーに含まれる符号化単位(Coding Unit;CU)を規定する符号化ユニットレイヤを示す図である。
  (シーケンスレイヤ)
 シーケンスレイヤでは、処理対象のシーケンスSEQ(以下、対象シーケンスとも称する)を復号するために画像復号装置1が参照するデータの集合が規定されている。シーケンスSEQは、図10の(a)に示すように、ビデオパラメータセット(Video Parameter Set)シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。ここで#の後に示される値はレイヤIDを示す。図10では、#0と#1すなわちレイヤIDが0とレイヤIDが1の符号化データが存在する例を示すが、レイヤの種類およびレイヤの数はこれによらない。
 ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。
 シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置1が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。
 ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置1が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)、スケーリングリスト(量子化マトリックス)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
  (ピクチャレイヤ)
 ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、図10の(b)に示すように、スライスS0~SNS-1を含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
 なお、以下、スライスS0~SNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ#1に含まれるデータであって、添え字を付している他のデータについても同様である。
  (スライスレイヤ)
 スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために画像復号装置1が参照するデータの集合が規定されている。スライスSは、図2の(c)に示すように、スライスヘッダSH、および、スライスデータSDATAを含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために画像復号装置1が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、または、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるBスライスなどが挙げられる。
 なお、スライスヘッダSHには、上記シーケンスレイヤに含まれる、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。
  (スライスデータレイヤ)
 スライスデータレイヤでは、処理対象のスライスデータSDATAを復号するために画像復号装置1が参照するデータの集合が規定されている。スライスデータSDATAは、図10の(d)に示すように、符号化ツリーユニット(CTU: Coded Tree Unit)を含んでいる。CTUは、スライスを構成する固定サイズ(例えば64×64)のブロックであり、最大符号化単位(LCU:Largest Cording Unit)と呼ぶこともある。
  (符号化ツリーレイヤ)
 符号化ツリーレイヤは、図10(e)に示すように、処理対象の符号化ツリーブロックを復号するために画像復号装置1が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な4分木分割により分割される。再帰的な4分木分割により得られる木構造のノードのことを符号化ツリー(coding tree)と称する。4分木の中間ノードは、符号化4分木ツリー(CQT: Coded Quad Tree)であり、CTUは、最上位のCQTを含むものとして規定される。CQTは、分割フラグ(split_flag)を含み、split_flagが1の場合には、4つのCQTに分割される(4つのCQTを含む)。split_flagが0の場合には、CQTは末端ノードである符号化ユニット(CU:Coded Unit)を含む。符号化ユニットCUは符号化ツリーレイヤの末端ノードであり、このレイヤではこれ以上分割されない。符号化ユニットCUは、符号化処理の基本的な単位となる。
 また、符号化ツリーユニットCTUのサイズ64×64画素の場合には、符号化ユニットのサイズは、64×64画素、32×32画素、16×16画素、および、8×8画素の何れかをとり得る。
  (符号化ユニットレイヤ)
 符号化ユニットレイヤは、図10の(f)に示すように、処理対象の符号化ユニットを復号するために画像復号装置1が参照するデータの集合が規定されている。具体的には、符号化ユニットは、CUヘッダCUH、予測ツリー、変換ツリー、CUヘッダCUFから構成される。CUヘッダCUHでは、符号化ユニットが、イントラ予測を用いるユニットであるか、インター予測を用いるユニットであるかなどが規定される。符号化ユニットは、予測ツリー(prediction tree;PT)および変換ツリー(transform tree;TT)のルートとなる。CUヘッダCUFは、予測ツリーと変換ツリーの間、もしくは、変換ツリーの後に含まれる。
 予測ツリーは、符号化ユニットが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ユニットを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
 予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(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などがある。なお、2N×nUは、2N×2Nの符号化ユニットを上から順に2N×0.5Nと2N×1.5Nの2領域に分割することを示す。2N×nDは、2N×2Nの符号化ユニットを上から順に2N×1.5Nと2N×0.5Nの2領域に分割することを示す。nL×2Nは、2N×2Nの符号化ユニットを左から順に0.5N×2Nと1.5N×2Nの2領域に分割することを示す。nR×2Nは、2N×2Nの符号化ユニットを左から順に1.5N×2Nと0.5N×1.5Nの2領域に分割することを示す。分割数は1、2、4のいずれかであるため、CUに含まれるPUは1個から4個である。これらのPUを順にPU0、PU1、PU2、PU3と表現する。
 また、変換ツリーにおいては、符号化ユニットが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ユニットを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
 変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な4分木分割によるものがある。
 変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
  (予測パラメータ)
 予測ユニットの予測画像は、予測ユニットに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータもしくはインター予測の予測パラメータがある。以下、インター予測の予測パラメータ(インター予測パラメータ)について説明する。インター予測パラメータは、予測リスト利用フラグ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)の場合が単予測に対応する。なお、予測リスト利用フラグの情報は、後述のインター予測識別子inter_pred_idcで表現することもできる。通常、後述の予測画像生成部、予測パラメータメモリでは、予測リスト利用フラグが用いれ、符号化データから、どの参照ピクチャリストが用いられるか否かの情報を復号する場合にはインター予測識別子inter_pred_idcが用いられる。
 符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXがある。
  (参照ピクチャリストの一例)
 次に、参照ピクチャリストの一例について説明する。参照ピクチャリストとは、復号ピクチャバッファ12に記憶された参照ピクチャからなる列である。図11は、参照ピクチャリストの一例を示す概念図である。参照ピクチャリスト601において、左右に一列に配列された5個の長方形は、それぞれ参照ピクチャを示す。左端から右へ順に示されている符号、P1、P2、Q0、P3、P4は、それぞれの参照ピクチャを示す符号である。P1等のPとは、視点Pを示し、そしてQ0のQとは、レイヤPとは異なるレイヤQを示す。P及びQの添字は、ピクチャ順序番号POCを示す。refIdxLXの真下の下向きの矢印は、参照ピクチャインデックスrefIdxLXが、復号ピクチャバッファ12において参照ピクチャQ0を参照するインデックスであることを示す。
  (参照ピクチャの例)
 次に、ベクトルを導出する際に用いる参照ピクチャの例について説明する。図12は、参照ピクチャの例を示す概念図である。図12において、横軸は表示時刻を示し、縦軸はレイヤ数を示す。図示されている、縦2行、横3列(計6個)の長方形は、それぞれピクチャを示す。6個の長方形のうち、下行の左から2列目の長方形は復号対象のピクチャ(対象ピクチャ)を示し、残りの5個の長方形がそれぞれ参照ピクチャを示す。対象ピクチャから下向きの矢印で示される参照ピクチャQ2は対象ピクチャと同じ表示時刻であってレイヤが異なるピクチャである。対象ピクチャcurPic(P2)を基準とするレイヤ間予測においては、参照ピクチャQ2が用いられる。対象ピクチャから左向きの矢印で示される参照ピクチャP1は、対象ピクチャと同じレイヤであって、過去のピクチャである。対象ピクチャから右向きの矢印で示される参照ピクチャP3は、対象ピクチャと同じレイヤであって、未来のピクチャである。対象ピクチャを基準とする動き予測においては、参照ピクチャP1又はP3が用いられる。
  (インター予測識別子と予測リスト利用フラグ)
 インター予測識別子と、予測リスト利用フラグpredFlagL0、predFlagL1の関係は以下のように相互に変換可能である。そのため、インター予測パラメータとしては、予測リスト利用フラグを用いても良いし、インター予測識別子を用いてもよい。また、以下、予測リスト利用フラグを用いた判定は、インター予測識別子に置き替えても可能である。逆に、インター予測識別子を用いた判定は、予測リスト利用フラグに置き替えても可能である。
 インター予測識別子 = (predFlagL1<<1) + predFlagL0
 predFlagL0 =インター予測識別子 & 1
 predFlagL1 =インター予測識別子 >> 1
 ここで、>>は右シフト、<<は左シフトである。
  (マージ予測とAMVP予測)
 予測パラメータの復号(符号化)方法には、マージ予測(merge)モードとAMVP(Adaptive Motion Vector Prediction、適応動きベクトル予測)モードがある、マージフラグmerge_flagは、これらを識別するためのフラグである。マージ予測モードでも、AMVPモードでも、既に処理済みのブロックの予測パラメータを用いて、対象PUの予測パラメータが導出される。マージ予測モードは、予測リスト利用フラグpredFlagLX(インター予測識別子inter_pred_idc)、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めずに、既に導出した予測パラメータをそのまま用いるモードであり、AMVPモードは、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めるモードである。なおベクトルmvLXは、予測ベクトルを示す予測ベクトルインデックスmvp_LX_idxと差分ベクトル(mvdLX)として符号化される。
 インター予測識別子inter_pred_idcは、参照ピクチャの種類および数を示すデータであり、Pred_L0、Pred_L1、Pred_Biの何れかの値をとる。Pred_L0、Pred_L1は、各々L0参照リスト、L1参照リストと呼ばれる参照ピクチャリストに記憶された参照ピクチャが用いられることを示し、共に1枚の参照ピクチャを用いること(単予測)を示す。L0参照リスト、L1参照リストを用いた予測を各々L0予測、L1予測と呼ぶ。Pred_Biは2枚の参照ピクチャを用いること(双予測)を示し、L0参照リストとL1参照リストに記憶された参照ピクチャの2つを用いることを示す。予測ベクトルインデックスmvp_LX_idxは予測ベクトルを示すインデックスであり、参照ピクチャインデックスrefIdxLXは、参照ピクチャリストに記憶された参照ピクチャを示すインデックスである。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、LXをL0、L1に置き換えることでL0参照リストに対するパラメータとL1参照リストに対するパラメータを区別するする。例えば、refIdxL0はL0予測に用いる参照ピクチャインデックス、refIdxL1はL1予測に用いる参照ピクチャインデックス、refIdx(refIdxLX)は、refIdxL0とrefIdxL1を区別しない場合に用いられる表記である。
 マージインデックスmerge_idxは、処理が完了したブロックから導出される予測パラメータ候補(マージ候補)のうち、いずれかの予測パラメータを復号対象ブロックの予測パラメータとして用いるかを示すインデックスである。
  (動きベクトルと変位ベクトル)
 ベクトルmvLXには、動きベクトルと変位ベクトル(disparity vector、視差ベクトル)がある。動きベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、異なる表示時刻(例えば、隣接する離散時刻)における同一のレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。変位ベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、同一の表示時刻における異なるレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。異なるレイヤのピクチャとしては、同一解像度で品質が異なるピクチャである場合、異なる視点のピクチャである場合、もしくは、異なる解像度のピクチャである場合などがある。特に、異なる視点のピクチャに対応する変位ベクトルを視差ベクトルと呼ぶ。以下の説明では、動きベクトルと変位ベクトルを区別しない場合には、単にベクトルmvLXと呼ぶ。ベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。ベクトルmvLXおよび差分ベクトルmvdLXが、動きベクトルであるか、変位ベクトルであるかは、ベクトルに付随する参照ピクチャインデックスrefIdxLXを用いて行われる。
  (画像復号装置の構成)
 本実施形態に係る画像復号装置1の構成について説明する。図44は、画像復号装置の概略的な構成を示す図であり、図13は、本実施形態に係る画像復号装置1の構成を示す図である。画像復号装置1は、ヘッダ復号部10、ピクチャ復号部11、復号ピクチャバッファ12、参照ピクチャ管理部13を含んで構成される。画像復号装置1は、複数のレイヤを含む画像において特定の時刻のピクチャから復号を開始する後述するランダムアクセス復号処理が可能である。
  [ヘッダ復号部10]
 ヘッダ復号部10は、画像符号化装置2より供給される符号化データ#1から、NALユニット単位、シーケンス単位、ピクチャ単位、またはスライス単位で復号に利用される情報を復号する。復号された情報は、ピクチャ復号部11及び参照ピクチャ管理部13に出力される。
 ヘッダ復号部10は、符号化データ#1に含まれるVPS、SPS、PPSを既定のシンタックス定義に基づいてパースして、シーケンス単位で復号に利用される情報を復号する。例えば、レイヤ数に関する情報がVPSから復号される。レプリゼンテーション情報がVPSに存在する場合には、復号画像の画像サイズに関連する情報がVPSから復号され、レプリゼンテーション情報がSPSに存在する場合には、復号画像の画像サイズに関連する情報はSPSから復号される。
 また、ヘッダ復号部10は、符号化データ#1に含まれるスライスヘッダを既定のシンタックス定義に基づいてパースして、スライス単位で復号に利用される情報を復号する。例えば、スライスタイプがスライスヘッダから復号される。
 図14に示すようにヘッダ復号部10は、ヘッダ復号部は、NALユニットヘッダ復号部101、VPS復号部102、SPS復号部103、PPS復号部104、スライスヘッダ復号部105、及びパラメータメモリ(不図示)等を備える。
 図15は、NALユニットヘッダ復号部101の概略的構成について示した機能ブロック図である。図15に示すように、NALユニットヘッダ復号部101はレイヤID復号部1011とNALユニットタイプ復号部1012を含んで構成される。
 レイヤID復号部1011は、符号化データからレイヤIDを復号する。NALユニットタイプ復号部1012は、符号化データからNALユニットタイプを復号する。レイヤIDは、例えば0から63の6ビットの情報であり、レイヤIDが0の場合、ベースレイヤを示す。NALユニットタイプは、例えば0から63の6ビットの情報であり、NALユニットに含まれるデータの種別を示す。後述するようにデータの種別には、例えば、VPS、SPS、PPSなどのパラメータセット、IDRピクチャ、CRAピクチャ、LBAピクチャなどのRPSピクチャ、LPピクチャなどの非RPSピクチャ、SEIなどがNALユニットタイプから識別される。
 VPS復号部102は、符号化データ#1に含まれるVPSを規定のシンタックス定義に基づいてパースして、レイヤ単位で利用される情報を復号する。なお、VPS復号部102の詳細については、後述する。
 SPS復号部103は、符号化データ#1に含まれるSPSを規定のシンタックス定義に基づいてパースして、シーケンス単位で利用される情報を復号する。
 PPS復号部104は、符号化データ#1に含まれるPPSを規定のシンタックス定義に基づいてパースして、ピクチャ単位で利用される情報を復号する。
 スライスヘッダ復号部105は、符号化データ#1に含まれるスライスヘッダを規定のシンタクス定義に基づいてパースして、スライス単位で復号に利用される情報を復号する。
 以下では、図16~図22を参照し、本発明の実施例1に係るVPS復号部102について説明する。
  [VPS復号部102]
 図16は、VPS復号部102の概略的構成について示した機能ブロック図である。図16に示すように、VPS復号部102は、さらに、プロファイルレベル情報復号部(PTL情報復号部)1021、参照PTL指定情報復号部1022、プロファイル有無フラグ復号部1023を含んで構成される。
 <VPSの詳細な復号プロセス>
 以下、図17を参照しながら、VPS復号部102の動作について説明する。
 (ステップSA101)VPS復号部102は、図7上のシンタックス群SYNVPS01を復号する。
 (ステップSA102)VPS復号部102に含まれるPTL情報復号部1021が、図7上のSYNVPS02に示すレイヤセット0のPTL情報を復号する。なお、復号されたPTL情報は、パラメータメモリへ供給され記憶される。
 (ステップSA103)VPS復号部102は、図7上のシンタックス群SYNVPS03から各レイヤセットを構成するレイヤIDを復号する。
 (ステップSA104)VPS復号部102は、図7上のVPS拡張フラグvps_extension_flag(図7上のSYNVPS04)を復号する。
 (ステップSA105)VPS拡張フラグが1の場合(ステップSA105でYES)、VPS拡張データがVPS上にあると判定し、ステップSA106へ進む。VPS拡張フラグが0の場合(ステップSA105でNo)、VPS拡張データがVPS上にないと判定し、ステップSA109へ進む。
 (ステップSA106)VPS拡張フラグの次ビットからVPS拡張データに含まれるavc_base_flagの直前まで挿入されているバイトアラインデータ(vps_extension_aligment_bit_equal_to_one)(図7上のシンタックス群SYNVPS05)を復号する。
 (ステップSA107)VPS拡張データvps_extension()を復号する。なお、VPS拡張データの詳細の復号プロセスについては後述する。
 (ステップSA108)VPS復号部102は、図7上のSYNVPS07に示すVPS拡張2フラグvps_extension2_flagを復号する。VPS拡張2フラグが1であれば、さらにVPS拡張2データを復号する。
 (ステップSA109)VPS復号部102は、図7上のSYNVPS08に示すRBSP_traling_bits()を復号する。RBSP_trailing_bits()とは、バイトアラインデータである。なお、バイトアラインデータは、スタッフィングデータとも呼ばれる。
  <VPS拡張データの詳細な復号プロセス>
 図18を参照しながら、VPS拡張データの復号プロセスについて説明する。
 (ステップSB101)VPS復号部102は、図8上のシンタックス群SYNVPS0Aを復号する。
 (ステップSB102)VPS復号部102は、図8上のシンタックス群SYNVPS0Bより、各レイヤが参照する依存レイヤ(直接参照レイヤ、従属レイヤともいう)に関する依存フラグを復号する。
 (ステップSB103)VPS復号部102は、レイヤセット数(図8上のシンタックスSYNVPS0C)を復号する。
 (ステップSB104)VPS復号部102は、VPS上に含まれるPTL情報の総数(図8上のSYNVPS0D)を復号する。
 (ステップSB105)VPS上に含まれるPTL情報の復号プロセスのループ開始点である。
 (ステップSB106)VPS復号部102に含まれるプロファイル有無フラグ復号部1023は、i番目のPTL情報profile_tier_level()上に、プロファイル情報を示すシンタックス群の有無を示すプロファイル有無フラグ(図8上のシンタックスSYNVPS0E)を復号する。
 (ステップSB107)プロファイル有無フラグが0の場合は、i番目のPTL情報上にプロファイル情報を示すシンタックス群がないと判定し、ステップSB108へ進む。プロファイル有無フラグが1の場合は、i番目のPTL情報上にプロファイル情報を示すシンタックス群がある判定し、ステップSB109へ進む。
 (ステップSB108)プロファイル有無フラグが0の場合、VPS復号部102に含まれる参照PTL指定情報復号部1022は、i番目のPTL情報のプロファイル情報をPTL情報リスト上のいずれのPTL情報から参照するかを示す参照PTL情報指定インデクス(参照プロファイルレベル情報相対インデクス、参照PTL指定情報ともいう)”profile_ref_delta_index_minus1[i]”(図8上のSYNVPS0Fa)を復号する。参照PTL情報指定インデクス“profile_ref_delta_index_minus1[i]”は、i番目のPTL情報と参照先PTL情報の相対インデクスを表わす。すなわち、i番目のPTL情報は、j = (i - profile_ref_delta_minus1[i] +1 )で特定される、j番目のPTL情報をプロファイル情報の参照先とする。なお、予めエンコーダ側で、PTL情報リスト上のPTL情報を、類似順に並び替えておくことで、i番目のPTL情報は、直前のPTL情報を参照する確率を高めることができる。従って、参照PTL指定インデクス” profile_ref_delta_index_minus1[i]”は相対インデクスを、例えば、図19に示すように、ゴロム符号で表わすことにより、参照PTL指定インデクスを表現するために必要なビット長を従来に比べて削減することが可能である。図19(a)は、ゴロム符号とシンタクス値の対応表を表わし、図19(b)は、“prefix“と”suffix”で構成されるゴロム符号の各ビット長により表現できる値との対応関係を表わす。
 換言すれば、プロファイル/レベル情報復号部は、上記プロファイル/レベル情報におけるi番目の参照PTL情報指定インデクスのセマンティックを、当該i番目の参照PTL情報指定インデクスが、i番目のプロファイル/レベル情報と参照されるプロファイル/レベル情報との間の相対的な位置を指定するものとして取り扱う。
 例えば、参照PTL指定インデクス“profile_ref_delta_minus1[i]”の値が0、すなわち、i番目のPTL情報のひとつ前(i-1)番目のPTL情報を参照する場合、図19に示すゴロム符号を用いることにより、参照PTL指定インデクスを表現するのに必要なビット長は1ビットとなる。これにより、従来技術に比べて、参照PTL情報指定インデクスを固定長で表わす場合に比べて、符号量を削減することができる。また、PTL情報リスト上の先頭PTL情報(0番目)を参照することができるため、対象PTL情報が1番目のときに、参照PTL情報指定インデックスが機能しない欠点を解消することができる。なお、参照PTL指定インデクス“profile_ref_delta_minus1[i]”をゴロム符号の代わりに、k次指数ゴロム符号(k-th order Exponential Golomb: EGk(K>=0))により復号してもよく、同様の効果を奏する。また、図19に示すゴロム符号は、0次指数ゴロム符号とも呼ばれる。
 また、PTL情報リスト上の先頭PTL情報(0番目)を参照することを禁止する場合は、対象PTL情報が1番目のときに、プロファイル有無フラグを必ず1と設定し、明示的に、1番目のPTL情報のプロファイル情報を必ず符号化データ内に含むよう、デコーダとエンコーダ間で予め取り決めておいてもよい(ビットストリーム制約ともいう)。これにより、対象PTL情報が1番目のときに、参照PTL情報指定インデックスが機能しない欠点を同様に解消することができる。
 (ステップSB109)VPS復号部102に含まれるPTL情報復号部1021は、プロファイル有無フラグ、参照PTL指定インデクス、サブレイヤ数を入力として、i番目のPTL情報のプロファイル、及びレベル情報を復号する。PTL情報復号部1021の詳細については後述する。
 (ステップSB110)VPS上に含まれるPTL情報の復号プロセスのループ終端である。
 (ステップSB111)VPS復号部102は、各出力レイヤセットに適用するPTL情報を指定するPTL情報指定インデクス(図8上のシンタックス群SYNVPS0H上のprofile_level_tier_idx[i])を復号する。
 (ステップSB112)VPS復号部102は、図8上のシンタックス群SYNVPS0Iから各レイヤの従属レイヤタイプを復号する。図8上のシンタックス群SYNVPS0Iのうち、”direct_dep_type_len_minus2”は、従属レイヤタイプ(direct_dependency_type[i][j])のビット長(direct_dep_type_len_minus2 + 2)を表わし、図8上のシンタックスSYNVPS0Iのうち、従属レイヤタイプ(direct_dependency_tipe[i][j])は、各レイヤと従属レイヤの依存タイプの種類を表わす。
 (ステップSB111)VPS復号部102は、図8上のその他シンタックス群SYNVPS0Jを復号する。
 <PTL情報復号部1011の詳細>
 次に、実施例1に係るPTL情報復号部1021の詳細について、図20、図21を用いて説明する。
 図20は、PTL情報復号部1021の構成について例示した機能ブロック図である。図20に示すように、PTL情報(プロファイル/レベル情報)復号部1021は、プロファイル情報復号部1021a、レベル情報復号部1021b、サブレイヤプロファイル有無フラグ復号部1021c、サブレイヤレベル有無フラグ復号部1021d、バイトアラインデータ復号部1021e、および参照プロファイルレベル選択部1021fを備える。
 [プロファイル情報復号部1021a]
 プロファイル情報復号部1021aは、プロファイル有無フラグprofilePresentFlagに基づいて、符号化データDATA#Tより復号対象PTL情報のプロファイル情報(最高次サブレイヤのプロファイル情報、あるいは汎用プロファイル情報とも呼ぶ)を復号し出力する。具体的には、プロファイル有無フラグprofilePresentFlagが1の場合、復号対象PTL情報のプロファイル情報を符号化データDATA#Tより復号する。プロファイル有無フラグprofilePresentFlagが0の場合、復号対象PTL情報のプロファイル情報が、参照PTL指定情報により指定されるPTL情報のプロファイル情報と等しいと判断し、参照PTL指定情報により指定される復号済PTL情報をパラメータメモリ(不図示)より読み出し、該プロファイル情報を、復号対象PTL情報のプロファイル情報として出力する。なお、VPSの先頭に位置する0番目のPTL情報、及び基本レイヤにおけるSPSにおいては、必ずプロファイル情報が符号化側においてシグナルされる。
 また、プロファイル情報復号部1021aは、プロファイル有無フラグprofilePresentFlag、サブレイヤ数MaxNumSubLayers、参照PTL指定情報、及びサブレイヤプロファイル有無フラグ復号部1021cより供給される各サブレイヤのサブレイヤプロファイル有無フラグsub_layer_profile_present_flag[i]に基づいて、符号化データDATA#Tより、最高次サブレイヤを除く、復号対象PTL情報の各サブレイヤのサブレイヤプロファイル情報を復号し出力する。
 (プロファイル有無フラグが1の場合のサブレイヤプロファイル復号)
 復号対象PTL情報のプロファイル有無フラグが1の場合、プロファイル情報復号部1021aは、以下の動作により、サブレイヤプロファイルを復号する。復号対象PTL情報中のサブレイヤi(temporalId=i+1)のサブレイヤプロファイル有無フラグが1の場合、該サブレイヤiのプロファイル情報が符号化データDATA#T内に存在すると判断し、符号化データDATA#Tよりサブレイヤiのサブレイヤプロファイル情報を復号する。それ以外の場合は、サブレイヤiのサブレイヤプロファイル情報に所定のプロファイル情報を設定する。サブレイヤiが最高次サブレイヤ(i=MaxNumSubLayers-1)の場合には、汎用プロファイルをサブレイヤiのプロファイル情報として設定し、それ以外の場合には、復号対象PTL情報のサブレイヤ(i+1)のプロファイル情報をサブレイヤiのプロファイル情報として設定する。サブレイヤのプロファイル情報の設定ルールを疑似コードで表せば、以下の通りである(図62(FIG_INFER_RULE)(a)参照)。
 for(i=MaxNumSubLayers-1; i>=0; i--){
  if( sub_layer_profile_present_flag[i]==0 ){
   if( i== MaxNumSubLayers-1 ){
     The i-th sub-layer profile information is set to be equal to 
     the general level information of the current profile_tier_level();
   } else {// i<MaxNumSubLayers-1
     The i-th sub-layer profile information is set to be equal to 
     the (i+1)-th sub-layer profile information of 
     the current profile_tier_level();
  }
 }
 (プロファイル有無フラグが0の場合のサブレイヤプロファイル復号)
 復号対象PTL情報のプロファイル有無フラグが0の場合、プロファイル情報復号部1021aは、以下の動作により、サブレイヤプロファイルを復号する。サブレイヤi(temporalId=i+1)のサブレイヤプロファイル有無フラグが1の場合、該サブレイヤiのプロファイル情報が符号化データDATA#T内に存在すると判断し、符号化データDATA#Tよりサブレイヤiのサブレイヤプロファイル情報を復号する。それ以外の場合は、サブレイヤiのサブレイヤプロファイル情報に、参照PTL指定情報で指定される復号済PTL情報の対応するサブレイヤのプロファイル情報をサブレイヤiのプロファイル情報として設定する。サブレイヤのプロファイル情報の設定ルールを疑似コードで表せば、以下の通りである(図62(FIG_INFER_RULE)(b)参照)。なお、ここで、ProfileRefIdxとは、参照PTL指定情報であり、本実施例であれば、ProfileRefIdx = (profile_ref_delta_minus1 + 1)である。すなわち、PTL情報リスト上のProfileRefIdx番目のPTL情報を参照する。
 for(i=MaxNumSubLayers-1; i>=0; i--){
  if( sub_layer_profile_present_flag[i]==0 ){
   i-th sub_layer_profile information is set to be equal to i-th sub_layer_profile information of the (ProfileRefIdx)-th profile_tier_level();
  }
 }
 なお、プロファイル有無フラグが0の場合は、サブレイヤ有無フラグの値も0として、符号化/復号するように、予め画像復号装置と画像符号化装置側で取り決めておいてもよい。
 [レベル情報復号部1021b]
 レベル情報復号部1021bは、符号化データDATA#Tより復号対象PTL情報のレベル情報(最高次サブレイヤのレベル情報、あるいは汎用レベル情報とも呼ぶ)を復号し出力する。また、レベル情報復号部1021bは、サブレイヤ数MaxNumSubLayers、及びサブレイヤレベル有無フラグ復号部1021dより供給される各サブレイヤのサブレイヤレベル有無フラグsub_layer_level_present_flag[i]に基づいて、符号化データDATA#Tより、最高次サブレイヤを除く、復号対象PTL情報の各サブレイヤのサブレイヤレベル情報を復号し出力する。
 具体的には、サブレイヤi(temporalId=i+1)のサブレイヤレベル有無フラグsub_layer_level_present_flag[i]が1の場合、該サブレイヤiのレベル情報が符号化データ#T内に存在すると判断し、符号化データDATA#Tよりサブレイヤiのサブレイヤレベル情報を復号し出力する。それ以外の場合(サブレイヤレベル有無フラグsub_layer_level_present_flag[i]が0)、サブレイヤiのサブレイヤレベル情報に所定のレベル情報を設定する。例えば、復号対象PTL情報のサブレイヤ(i+1)のレベル情報をサブレイヤiのレベル情報として設定する。すなわち、最高次サブレイヤ(temporalId=highestTid)より1つ下のサブレイヤi(temporalId=highestTid-1、すなわち、temporalId=MaxNumSubLayers-2)は、最高次サブレイヤのレベル情報(汎用レベル情報)が設定され、それ以外のサブレイヤiは、1つ上のサブレイヤ(i+1)のサブレイヤレベル情報が設定される。サブレイヤのレベル情報の設定ルールを疑似コードで表せば、以下の通りである(図63(FIG_INFER_RULE)(a)参照)。
 for(i=MaxNumSubLayers-1; i>=0; i--){
  if( sub_layer_profile_present_flag[i]==0 ){
   i-th sub_layer_profile information is set to be equal to (i+1)-th sub_layer_profile information;
  }
 }
 また、図63(b)の疑似コードでも表現できる。
 for(i=MaxNumSubLayers-1; i>=0; i--){
  if( sub_layer_level_present_flag[i]==0 ){
     sub_layer_level_idc[i] = (i==MaxNumSubLayers-1) ? 
                 general_level_idc : sub_layer_level_idc[i+1];
 }
}
 [サブレイヤプロファイル有無フラグ復号部1021c]
 サブレイヤプロファイル有無フラグ復号部1021cは、サブレイヤ数MaxNumSubLayersに基づいて、符号化データDATA#Tより復号対象PTL情報の各サブレイヤのサブレイヤプロファイル有無フラグを復号し、プロファイル情報復号部1021a、および外部へ出力する。
 [サブレイヤレベル有無フラグ復号部1021d]
 サブレイヤレベル有無フラグ復号部1021dは、サブレイヤ数MaxNumSubLayersに基づいて、符号化データDATA#Tより復号対象PTL情報の各サブレイヤのサブレイヤレベル有無フラグを復号し、レベル情報復号部1021b、および外部へ出力する。
 [バイトアラインデータ復号部1021e]
 バイトアラインデータ復号部1021eは、サブレイヤ数(MaxNumSbuLayersMinus1,またはMaxNumSubLayers-1)に基づいて定まるビット数分のバイトアラインデータ(reserved_zero_2bits[i])(図9上のシンタックスSYNPTL04)を2bit単位で符号化データから読み出す(復号する)。バイトアラインデータとして、読み出す(復号する)べきビット数は、図9上のシンタックスSYNVPSPTL04から明らかなように、”(8 - MaxNumSubLayersMinus1) * 2 bits”である。
 [参照プロファイルレベル選択部1021f]
 参照プロファイルレベル選択部1021fは、パラメータメモリ(不図示)から参照PTL指定情報により指定される復号済みPTL情報を読み出す。
  (プロファイル/レベル情報profile_tier_level()の復号処理の流れ)
 図21は、PTL情報profile_tier_level()の復号処理を示すフロー図である。以下、プロファイル/レベル情報復号部1021の動作について説明する。
   (ステップSC101)プロファイル情報復号部1021aは、プロファイル有無フラグprofilePresentFlagが1であるか判別する。プロファイル有無フラグprofilePresentFlagが1の場合(ステップSC101においてYes)の場合、ステップSC102へ進み、それ以外の場合(ステップSC101においてNo)の場合、ステップSC103へ進む。
   (ステップSC102)プロファイル情報復号部1021aは、符号化データDATA#Tから、例えば、図9上のシンタックス群SYNPTL01、
・プロファイル空間general_profile_space
・ティアフラグgeneral_tier_flag
・プロファイル識別子general_profile_idc
・プロファイル互換フラグgeneral_profile_compatibility_flag[ i ]
…省略…
・プロファイル予約シンタックスgeneral_reserved_zero_44bits
等を復号し、復号対象PTL情報のプロファイル情報として出力する。
   (ステップSC103)
 プロファイル情報復号部1021aは、復号対象PTL情報のプロファイル情報が、参照PTL指定情報により指定される復号済PTL情報のプロファイル情報と等しいと判断し、参照PTL指定情報により指定される復号済PTL情報をパラメータメモリ(不図示)より読み出し、該プロファイル情報を、復号対象PTL情報のプロファイル情報として設定し出力する。
   (ステップSC104)
 レベル情報復号部1021は、符号化データDATA#Tから、以下のシンタックス、・レベル識別子general_level_idc
を復号し、復号対象PTL情報のレベル情報として出力する。
   (ステップSC105)
 サブレイヤのサブレイヤプロファイル有無フラグ、およびサブレイヤレベル有無フラグの復号に関するループの開始である。ループの開始前に、変数iは0に初期化される。ループ内の処理は、変数iがサブレイヤ数-1、“MaxNumSubLayers - 1”未満のときに実行され、ループ内の処理が1回実行される度に、変数iは“1”増分される。すなわち、ステップSC105~ステップSC107では、最高次サブレイヤを除く、サブレイヤのサブレイヤプロファイル有無フラグ、及びサブレイヤレベル有無フラグが復号される。
   (ステップSC106)
 サブレイヤプロファイル有無フラグ復号部1021cは、符号化データDATA#Tから、変数iで指定されるサブレイヤに関するサブレイヤプロファイル有無フラグsub_layer_profile_present_flag[i]を復号し出力する。
 サブレイヤレベル有無フラグ復号部1021dは、符号化データDATA#Tから、変数iで指定されるサブレイヤに関するサブレイヤレベル有無フラグsub_layer_level_present_flag[i]を復号し出力する。
   (ステップSC107)
 サブレイヤのサブレイヤプロファイル有無フラグ、およびサブレイヤレベル有無フラグの復号に関するループの終端である。
   (ステップSC108)
 バイトアラインデータ復号部1021eは、サブレイヤ数(MaxNumSbuLayersMinus1,またはMaxNumSubLayers-1)に基づいて定まるビット数分のバイトアラインデータ(reserved_zero_2bits[i])(図9上のシンタックスSYNPTL04)を2bit単位で符号化データから読み出す(復号する)。
 具体的には、ステップSC105~ステップSC107において、サブレイヤ毎に復号されるサブレイヤプロファイル有無フラグとサブレイヤレベル有無フラグの符号量は各1ビット、計2ビットであり、サブレイヤ数はMaxNumSubLayersであるため、ステップSC105~ステップSC107で復号される符号量の総和は、2 * (MaxNumSubLayer - 1)である。従って、バイトアラインデータとして、読み出す(復号する)べきビット数は、”(8 - MaxNumSubLayersMinus1) * 2 bits”である。
   (ステップSC109)
 サブレイヤのサブレイヤプロファイル情報、およびサブレイヤレベル情報の復号に関するループの開始点である。ループの開始前に、変数iは0に初期化される。ループ内の処理は、変数iがサブレイヤ数-1、“MaxNumSubLayers - 1”未満のときに実行され、ループ内の処理が1回実行される度に、変数iは”1”増分される。
   (ステップSC110)
 プロファイル情報復号部1021aは、変数iで指定されるサブレイヤのサブレイヤプロファイル有無フラグsub_layer_profile_present_flag[i]が1であるかを判定する。サブレイヤプロファイル有無フラグが1の場合(ステップSC110においてYes)、ステップSC111へ進み、それ以外の場合(ステップSC110においてNo)、ステップSC112へ進む。
   (ステップSC111)
 プロファイル情報復号部1021aは、符号化データDATA#Tより、変数iで指定されるサブレイヤのサブレイヤプロファイル情報として、例えば、図9上のシンタックス群SYNPTL05、
・サブレイヤプロファイル空間sub_layer_profile_space[ i ]
・サブレイヤティアフラグsub_layer_tier_flag[ i ]
・サブレイヤプロファイル識別子sub_layer_profile_idc[ i ]
・サブレイヤプロファイル互換フラグsub_layer_profile_compatibility_flag[ i ][ j ]…省略…
・サブレイヤプロファイル予約シンタックスsub_layer_reserved_zero_44bits[ i ]
を復号し出力する。
   (ステップSC112)
 プロファイル情報復号部1021aは、サブレイヤiのサブレイヤプロファイル情報に所定のプロファイル情報を設定する。例えば、図62(a)に示すように、プロファイル有無フラグprofilePresentFlagが1の場合、復号対象PTL情報のサブレイヤ(i+1)のプロファイル情報をサブレイヤiのプロファイル情報として設定し出力する。図62(b)に示すように、プロファイル有無フラグprofilePresentFlagが0の場合、参照PTL指定情報で指定される復号済PTL情報の対応するサブレイヤのプロファイル情報をサブレイヤiのプロファイル情報として設定し出力する。
   (ステップSC113)
 レベル情報復号部1021bは、変数iで指定されるサブレイヤのサブレイヤレベル有無フラグsub_layer_level_present_flag[i]が1であるか判定する。サブレイヤレベル有無フラグが1の場合(ステップSC113においてYes)、ステップSCA114へ進み、それ以外の場合(ステップSC113においてNo)、ステップSC115へ進む。
   (ステップSC114)
 レベル情報復号部1021bは、符号化データDATA#Tより、変数iで指定されるサブレイヤのサブレイヤレベル情報として、
・サブレイヤレベル識別子sub_layer_level_idc[ i ]
を復号し出力する。
   (ステップSC115)
 レベル情報復号部1021bは、サブレイヤiのサブレイヤレベル情報に所定のレベル情報を設定する。例えば、図63に示すように、復号対象PTL情報のサブレイヤ(i+1)のレベル情報をサブレイヤiのレベル情報として設定し出力する。
   (ステップSC116)
 サブレイヤのサブレイヤプロファイル情報、およびサブレイヤレベル情報の復号に関するループの終端である。
 以上、実施例1に係るプロファイル/レベル情報復号部1011の動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
 なお、PTL情報のうち拡張用シンタックス”general_reserved_zero_44bits”のうち、先頭4bit(各シンタックスは、1bit)を下記のようにRange Extension用拡張シンタックスを割り当て、残りの40bitの拡張用シンタックスを”general_reserved_40btis”へ変更してもよい。
・general_max_12bit_constraint_flag
・general_max_10bit_constraint_flag、
・general_max_422chroma_constraint_flag、
・general_max_420chroma_constraint_flag
 同様に、テンポラルID = i +1(i=0…maxNumSubLayersMinus1)の各サブレイヤの拡張用シンタックスsub_layer_reserved_zero_44bits[i]のうち、先頭4bit(各シンタックスは、1bit)を下記のようにRange Extension用拡張シンタックスを割り当て、残りの40bitの拡張用シンタックスを”sub_layer_reserved_zero_40bits[i]”へ変更してもよい。
・sub_max_12bit_constraint_flag[i]
・sub_max_10bit_constraint_flag[i]
・sub_max_422chroma_constraint_flag[i]
・sub_max_420chroma_constraint_flag[i]
 (実施例1の変形例)
 図22を参照しながら、VPS復号部102の変形例について説明する。なお、参照PTL情報指定インデクス(図22上のシンタックスSYNVPS0Fb )を除き、VPS復号部102の動作は、実施例1と同一であるため、説明を省略する。
 実施例1では、参照PTL情報指定インデクスをPTL情報リスト上の対象PTL情報の位置と参照先のPTL情報の相対インデクス(profile_ref_delta_index_minus1[i])をゴロム符号により復号していたが、これに限定されない。例えば、相対インデックスの代わりに、PTL情報リスト上の“profile_ref[i]”番目にあるPTL情報のプロファイル情報を参照するようにしてもよい。このとき、参照PTL情報指定インデクス”profile_ref[i]”を対象PTL情報のリスト上の位置を示すインデクスiに基づいて定まるビット長Vにより可変長復号する。ここでビット長Vは、ceil(log2(i) )により定まる。これにより、従来技術に比べて、参照PTL情報指定インデクスを固定長で表わす場合に比べて、符号量を削減することができる。また、PTL情報リスト上の先頭PLT情報(0番目)を参照することができるため、対象PTL情報が1番目のときに、参照PTL情報指定インデックスが機能しない欠点を解消することができる。
 換言すれば、プロファイル/レベル情報復号部が復号する上記プロファイル/レベル情報において、1番目のプロファイル/レベル情報のプロファイルおよびティアの情報が、0番目のプロファイル/レベル情報に基づいて推定可能となるように、参照PTL情報指定インデクスが参照プロファイルに変更されている。
 なお、PTL情報リスト上の先頭PTL情報(0番目)を参照することを禁止する場合は、対象PTL情報が1番目のときに、プロファイル有無フラグを必ず1と設定し、明示的に、1番目のPTL情報のプロファイル情報を必ず符号化データ内に含むよう、デコーダとエンコーダ間で予め取り決めておいてもよい(ビットストリーム制約ともいう)。これにより、対象PTL情報が1番目のときに、参照PTL情報指定インデックスが機能しない欠点を同様に解消することができる。
  <<VPS復号部102の変形例2>>
 次に、図23~図27を用いて、VPS復号部102の変形例2について説明する。
 図23は、拡張ビデオパラメータセットVPSのシンタックステーブルの変形例である。図24は、VPS拡張データの復号プロセスを説明するためのフローチャートである。は、図25は、VPS復号部の概略的構成の変形例について示した機能ブロック図である。図26は、PTL情報復号部における処理の流れの変形例を示すフローチャートである。図27は、PTL情報復号部の詳細の変形例を示すブロック図である。
 まず、変形例2に係る拡張ビデオパラメータセットVPSのシンタックステーブルについて図23を用いて説明する。図23と図8に示す拡張ビデオパラメータセットVPSのシンタックステーブルとの違いは、図23では、図8上のシンタックスSYNVPS0Faに示す参照PTL情報指定インデクス(profile_ref_delta_index_minus1[i])が削除され、参照PTL指定情報指定インデクスの機能を、図23上のシンタックスSYNVPS0Eに示すプロファイル有無フラグ(vps_profile_present_flag[i])が兼用する点である。すなわち、プロファイル有無フラグ(vps_profile_present_flag[i])の値が1の場合は、i番目のPTL情報のプロファイル情報が符号化データより復号される。一方、プロファイル有無フラグの値が0の場合は、i番目のPTL情報のプロファイル情報には、i番目のPTL情報の直前に復号された、(i-1)番目の復号済PTL情報のプロファイル情報が設定される(推定される)。
 続いて、変形例2に係るVPS復号102’とVPS復号部102の構成の違いについて説明する。図25に示すVPS復号部102’は、VPS復号部102が備える参照PTL情報復号部1022を備えておらず、PTL情報復号部1021’の機能がPTL情報復号部1021と一部異なる。
 より具体的には、図27に示すPTL情報復号部1021’の備えるプロファイル情報復号部1021a’、及び参照プロファイルレベル情報選択部1021f’の機能が一部異なる。PTL情報復号部1021’の備えるその他の構成要素(レベル情報復号部1021b’、サブレイヤ有無フラグ復号部1021c’、サブレイヤレベル情報復号部1021d’、及びバイトアラインデータ復号部1021e’)は、PTL情報復号部1021が備える同一符号の構成要素と同一であるため、説明を省略する。以下では、プロファイル情報復号部1021a’、及び参照プロファイルレベル情報選択部1021f’おいて、機能の異なる部分についてのみ説明する。
 [プロファイル情報復号部1021a’]
 プロファイル情報復号部1021a’は、プロファイル有無フラグprofilePresentFlagに基づいて、符号化データDATA#Tより、復号対象PTL情報のプロファイル情報(最高次サブレイヤのプロファイル情報、あるいは汎用プロファイル情報とも呼ぶ)を復号し出力する。具体的には、プロファイル有無フラグprofilePresentFlagが1の場合、復号対象PTL情報のプロファイル情報を符号化データDATA#Tより復号する。プロファイル有無フラグprofilePresentFlagが0の場合、復号対象PTL情報のプロファイル情報が、復号対象PTL情報の1つ前に復号された復号済PTL情報((i-1)番目のPTL情報)のプロファイル情報と等しいと判断し、(i-1)番目の復号済PTL情報をパラメータメモリ(不図示)より読み出し、該プロファイル情報を、復号対象PTL情報のプロファイル情報として出力する。
 また、プロファイル情報復号部1021a’は、プロファイル有無フラグprofilePresentFlag、サブレイヤ数MaxNumSubLayers、及びサブレイヤプロファイル有無フラグ復号部1021cより供給される各サブレイヤのサブレイヤプロファイル有無フラグsub_layer_profile_present_flag[i]に基づいて、符号化データDATA#Tより、最高次サブレイヤを除く、復号対象PTL情報の各サブレイヤのサブレイヤプロファイル情報を復号し出力する。なお、プロファイル有無フラグが1の場合の、各サブレイヤのプロファイル情報の復号処理は、プロファイル情報復号部1021aと同一であるため、説明を省略する。また、プロファイル有無フラグが0場合の、各サブレイヤのプロファイル情報の処理は、図62(b)に示す疑似コードにおいて、参照PTL指定情報ProfileRefIdxの導出を以下に置き換えれば、同一である。すなわち、復号対象PTL情報のPTL情報リスト上の位置を示すインデクスidxとすれば、参照PTL指定情報ProfileRefIdx = (idx-1)と導出する。従って、PTL情報リスト上のProfileRefIdx (= idx-1 )番目の復号済PTL情報、すなわち、1つ前の復号済PTL情報を参照する。
  (プロファイル/レベル情報profile_tier_level()の復号処理の流れ)
 以下、図26を用いて、変形例2に係るプロファイル/レベル情報復号部1021’の動作について説明する。なお、プロファイル情報/レベル情報の復号処理は、図21のうち、動作が異なるステップSC103、SC112のみ説明する。それ以外のステップは共通のため説明を省略する。すなわち、以下の説明では、図21のステップSC103、SC112を、それぞれ、ステップSE103、SE112と読み替える。
   (ステップSE103)
 プロファイル情報復号部1021a’は、復号対象PTL情報のプロファイル情報が、PTL情報リスト上の復号対象PTL情報より1つ前の復号済PTL情報((i-1)番目のPTL情報)のプロファイル情報と等しいと判断し、該復号済PTL情報をパラメータメモリ(不図示)より読み出し、該プロファイル情報を、復号対象PTL情報のプロファイル情報として設定し出力する。
   (ステップSE112)
  プロファイル情報復号部1021a’は、サブレイヤiのサブレイヤプロファイル情報に所定のプロファイル情報を設定する。例えば、図62(a)に示すように、プロファイル有無フラグprofilePresentFlagが1の場合、復号対象PTL情報のサブレイヤ(i+1)のプロファイル情報をサブレイヤiのプロファイル情報として設定し出力する。図62(b)に示すように、プロファイル有無フラグprofilePresentFlagが0の場合、ProfileRefIdxで指定される復号済PTL情報の対応するサブレイヤのプロファイル情報をサブレイヤiのプロファイル情報として設定し出力する。なお、ProfileRefIdxは、復号対象PTL情報のPTL情報リスト上の位置を示すインデクスidxとすれば、ProfileRefIdx = (idx-1)である。すなわち、1つ前の復号済PTL情報を参照する。
 以上、変形例2に係るプロファイル/レベル情報復号部1021’の動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
 以上のように、変形例2に係る拡張ビデオパラメータセットVPSのシンタックステーブルでは、図23のシンタックスSYNVPS0Faに示す参照PTL情報指定インデクス(profile_ref_delta_index_minus1[i])が削除され、参照PTL指定情報指定インデクスの機能を、図23上のシンタックスSYNVPS0Eに示すプロファイル有無フラグ(vps_profile_present_flag[i])が兼用している。すなわち、プロファイル有無フラグ(vps_profile_present_flag[i])の値が1の場合は、i番目のPTL情報のプロファイル情報が符号化データより復号される。一方、プロファイル有無フラグの値が0の場合は、i番目のPTL情報のプロファイル情報には、i番目のPTL情報の直前に復号された、(i-1)番目の復号済PTL情報のプロファイル情報が設定される(推定される)。なお、予めエンコーダ側で、PTL情報リスト上のPTL情報を、類似順に並び替えておくことで、i番目のPTL情報は、直前のPTL情報を参照する確率を高めることができる。すなわち、vps_profile_present_flag[i]=0の場合、参照PTL指定インデクス”profile_ref_delta_index_minus1[i]”を復号せずに、参照PTL指定インデクス”profile_ref_delta_index_minus1[i]==0”と推定しているとも解釈できる。これにより、相対インデクスに係る符号量をさらに削減することが可能である。
  <<VPS復号部102の変形例3>>
 次に、図28~図34を用いて、VPS復号部102の変形例3について説明する。図28は、ビデオパラメータセットVPSのシンタックステーブルの変形例である。図29は、拡張ビデオパラメータセットVPSのシンタックステーブルの変形例である。図30は、VPS拡張データの復号プロセスの変形例を説明するためのフローチャートである。図31は、VPS復号部の概略的構成の変形例について示した機能ブロック図である。図32は、PTL情報のデータ構造の変形例を示す図である。図33は、PTL情報復号部における処理の流れの変形例を示すフローチャートである。図34は、PTL情報復号部の詳細の変形例を示すブロック図である。
 従来技術では、プロファイル情報に関しては、プロファイル有無フラグによって復号を省略するか否かを制御することができる。しかし、複数レイヤ利用時の場合、レイヤ間において共通のレベルをとることがあるため、レベル情報を冗長にシグナルする場合がある。そこで、レベル情報のシグナルの冗長性を削減するために、プロファイル/レベル情報profile_tier_level()のデータ構造を図32に示すように、プロファイル有無フラグprofilePresentFlagに加えて、レベル情報の有無を示すレベル有無フラグlevelPresentFlagをさらに入力とする。この変更により、まず、図28に示すようにビデオパラメータセットVPSの先頭に位置するPTL情報は、profilePresentFlag=1、levelPresentFlag=1を入力して符号化される。なお、この変更により、既存のHEVCのVPSの先頭に位置するPTL情報、及び、ベースレイヤで通知されるSPS上のPTL情報のシンタックステーブルに変更はない。すなわち、既存のHEVCデコーダによって、VPS、SPS上のPTL情報が復号できないということは発生しない。
 まず、変形例3に係る拡張ビデオパラメータセットVPSのシンタックステーブルについて図29を用いて説明する。図29と図56に示す従来の拡張ビデオパラメータセットVPSのシンタックステーブルとの違いは、図29では、図56上のシンタックスSYNVPS0Fに示す参照PTL情報指定インデクス(profile_ref minus1[i])が削除され、参照PTL指定情報指定インデクスの機能を、図29上のシンタックスSYNVPS0Eに示すプロファイル有無フラグ(vps_profile_present_flag[i])、及び、新たに追加した図29上のシンタックスSYNVPS0Faに示すレベル有無フラグ(vps_level_present_flag[i]) が兼用する点である。すなわち、プロファイル有無フラグ(vps_profile_present_flag[i])の値が1の場合は、i番目のPTL情報のプロファイル情報が符号化データより復号される。一方、プロファイル有無フラグの値が0の場合は、i番目のPTL情報のプロファイル情報には、i番目のPTL情報の直前に復号された、(i-1)番目の復号済PTL情報のプロファイル情報が設定される(推定される)。同様に、レベル有無フラグ(vps_level_present_flag[i])の値が1の場合は、i番目のPTL情報のレベル情報が符号化データより復号される。一方、レベル有無フラグの値が0の場合は、i番目のPTL情報のレベル情報には、i番目のPTL情報の直前に復号された、(i-1)番目の復号済PTL情報のレベル情報が設定される(推定される)。
 続いて、変形例3に係るVPS復号102’’とVPS復号部102の構成の違いについて説明する。図31に示すVPS復号部102’’は、VPS復号部102が備える参照PTL情報復号部1022を備えておらず、新たに、レベル有無フラグ復号部1224を備え、PTL情報復号部1021’’の機能がPTL情報復号部1021と一部異なる。レベル有無フラグ1224は、i番目のPTL情報のレベル有無フラグ(vps_level_present_flag[i])を復号する。
 以下、変形例3におけるプロファイル/レベル情報復号部1021’’の構成について図34を用いて説明する。図34に示すように、プロファイル/レベル情報復号部1021’’は、プロファイル情報復号部1021a’’、レベル情報復号部1021b’’、サブレイヤプロファイルレベル有無フラグ復号部1021f’’、およびバイトアラインデータ復号部1021e’’を備える。なお、サブレイヤ有無フラグ復号部1021c’’、サブレイヤレベル情報復号部1021d’’、及びバイトアラインデータ復号部1021e’’は実施例1と同一のため、説明を省略する。また、プロファイル情報復号部1021a’’は、変形例2に係るPTL情報復号部1021’が備えるプロファイル情報復号部1021a’と同一のため、説明を省略する。
 以下では、レベル情報復号部1021b’’及び参照プロファイルレベル情報選択部1021f’’おいて、機能の異なる部分についてのみ説明する。
 [レベル情報復号部1021b’’]
 レベル情報復号部1021b’’は、レベル有無フラグlevelPresentFlagに基づいて、符号化データDATA#Tより復号対象PTL情報のレベル情報(最高次サブレイヤのレベル情報、あるいは汎用レベル情報とも呼ぶ)を復号し出力する。具体的には、レベル有無フラグlevelPresentFlagが1の場合、復号対象PTL情報のレベル情報を符号化データDATA#Tより復号する。レベル有無フラグlevelPresentFlagが0の場合、復号対象PTL情報のレベル情報が、復号対象PTL情報の1つ前に復号された復号済PTL情報((i-1)番目のPTL情報)のレベル情報と等しいと判断し、(i-1)番目の復号済PTL情報をパラメータメモリ(不図示)より読み出し、該レベル情報を、復号対象PTL情報のレベル情報として出力する。
 また、レベル情報復号部1021b’’は、レベル有無フラグlevelPresentFlag、サブレイヤ数MaxNumSubLayers、及びサブレイヤレベル有無フラグ復号部1021d’’より供給される各サブレイヤのサブレイヤレベル有無フラグsub_layer_level_present_flag[i]に基づいて、符号化データDATA#Tより、最高次サブレイヤを除く、復号対象PTL情報の各サブレイヤのサブレイヤレベル情報を復号し出力する。
 (レベル有無フラグが1の場合のサブレイヤレベル復号)
 復号対象PTL情報のレベル有無フラグが1の場合、実施例1に係るPTL情報復号部1021が備えるレベル情報復号部1021bの動作と同一であるため、詳細の説明を省略する。簡単にいえば、サブレイヤi(temporalId=i+1)のサブレイヤレベル有無フラグが1の場合、該サブレイヤiのレベル情報が符号化データDATA#T内に存在すると判断し、符号化データDATA#Tよりサブレイヤiのサブレイヤレベル情報を復号する。それ以外の場合は、サブレイヤiのサブレイヤレベル情報に所定のレベル情報を設定する。例えば、復号対象PTL情報のサブレイヤ(i+1)のレベル情報をサブレイヤiのレベル情報として設定する(図63参照)。
 (レベル有無フラグが0の場合のサブレイヤレベル復号)
 復号対象PTL情報のレベル有無フラグが0の場合、レベル情報復号部1021b’’は、以下の動作により、サブレイヤレベルを復号する。サブレイヤi(temporalId=i+1)のサブレイヤレベル有無フラグが1の場合、該サブレイヤiのレベル情報が符号化データDATA#T内に存在すると判断し、符号化データDATA#Tよりサブレイヤiのサブレイヤレベル情報を復号する。それ以外の場合は、サブレイヤiのサブレイヤレベル情報に所定のレベル情報を設定する。具体的には、復号対象PTL情報のサブレイヤのiレベル情報が、復号対象PTL情報の1つ前に復号された復号済PTL情報((idx-1)番目のPTL情報)の対応するサブレイヤのレベル情報と等しいと判断し、(idx-1)番目の復号済PTL情報をパラメータメモリ(不図示)より読み出し、該レベル情報を、復号対象PTL情報のサブレイヤのレベル情報として出力する。
ここで、idxは、PTL情報リスト上の復号対象PTL情報の位置を示すインデクスである。
サブレイヤのレベル情報の設定ルールを疑似コードで表せば、以下の通りである(図64(b)参照)。なお、ここで、ProfileRefIdxとは、参照PTL指定情報であり、変形例3ではれば、ProfileRefIdx = (idx-1)である。すなわち、PTL情報リスト上のProfileRefIdx番目のPTL情報を参照する。
 for(i=MaxNumSubLayers-1; i>=0; i--){
  if( sub_layer_level_present_flag[i]==0 ){
   i-th sub_layer_level information is set to be equal to i-th sub_layer_
   level information of the (ProfileRefIdx)-th profile_tier_level();
  }
 }
なお、上記疑似コードは、図64(c)のようにも表現できる。
  (プロファイル/レベル情報profile_tier_level()の復号処理の流れ)
 以下、図33を用いて、変形例3に係るプロファイル/レベル情報復号部1021’’の動作を説明する。なお、プロファイル情報/レベル情報の復号処理は、図33のうち、図21と動作が異なるステップSG104、SG105、SG106、SG115、SG116、SG117のみ説明する。それ以外のステップは共通のため説明を省略する。
   (ステップSG104)レベル情報復号部1021b’’は、レベル有無フラグlevelPresentFlagが1であるか判別する。レベル有無フラグlevelPresentFlagが1の場合(ステップSG104においてYes)の場合、ステップSG105へ進み、それ以外の場合(ステップSG104においてNo)の場合、ステップSG106へ進む。
   (ステップSG105)レベル情報復号部1021b’’は、符号化データDATA#Tから、以下のシンタックス、
・レベル識別子general_level_idc
復号し、復号対象PTL情報のレベル情報として出力する。
   (ステップSG106)
 レベル情報復号部1021b’’は、復号対象PTL情報のレベル情報が、PTL情報リスト上の復号対象PTL情報より1つ前の復号済PTL情報((i-1)番目のPTL情報)のレベル情報と等しいと判断し、該復号済PTL情報をパラメータメモリ(不図示)より読み出し、該レベル情報を、復号対象PTL情報のレベル情報として設定し出力する。
   (ステップSG115)
 レベル情報復号部1021b’‘は、変数iで指定されるサブレイヤのサブレイヤレベル有無フラグsub_layer_level_present_flag[i]が1であるかを判定する。サブレイヤレベル有無フラグが1の場合(ステップSG115においてYes)、ステップSG116へ進み、それ以外の場合(ステップSG115においてNo)、ステップSG117へ進む。
   (ステップSG116)
 レベル情報復号部1021b’’は、符号化データDATA#Tより、変数iで指定されるサブレイヤのサブレイヤレベル情報として、
・サブレイヤレベル識別子sub_layer_level_idc[ i ]
を復号し出力する。
   (ステップSC117)
 レベル情報復号部1021b’’は、サブレイヤiのサブレイヤレベル情報に所定のレベル情報を設定する。例えば、図64(a)に示すように、レベル有無フラグlevelPresentFlagが1の場合、復号対象PTL情報のサブレイヤ(i+1)のレベル情報をサブレイヤiのレベル情報として設定し出力する。図64(b)に示すように、レベル有無フラグlevelPresentFlagが0の場合、ProfileRefIdxで指定される復号済PTL情報の対応するサブレイヤのレベル情報をサブレイヤiのレベル情報として設定し出力する。なお、ProfileRefIdxは、復号対象PTL情報のPTL情報リスト上の位置を示すインデクスidxとすれば、ProfileRefIdx = (idx-1)である。すなわち、1つ前の復号済PTL情報を参照する。
 以上、変形例3に係るプロファイル/レベル情報復号部1021’’の動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
 以上のように、変形例3に係る拡張ビデオパラメータセットVPSのシンタックステーブルでは、図23のシンタックスSYNVPS0Fに示す参照PTL情報指定インデクス(profile_ref_delta idx_minus1[i])が削除され、参照PTL指定情報指定インデクスの機能を、図29上のシンタックスSYNVPS0Eに示すプロファイル有無フラグ(vps_profile_present_flag[i])、及びレベル有無フラグ(vps_level_present_flag[i])が兼用している。すなわち、プロファイル有無フラグ(vps_profile_present_flag[i])の値が1の場合は、i番目のPTL情報のプロファイル情報が符号化データより復号される。一方、プロファイル有無フラグの値が0の場合は、i番目のPTL情報のプロファイル情報には、i番目のPTL情報の直前に復号された、(i-1)番目の復号済PTL情報のプロファイル情報が設定される(推定される)。また、レベル有無フラグ(vps_level_present_flag[i])の値が1の場合は、i番目のPTL情報のレベル情報が符号化データより復号される。一方、レベル有無フラグの値が0の場合は、i番目のPTL情報のレベル情報には、i番目のPTL情報の直前に復号された、(i-1)番目の復号済PTL情報のレベル情報が設定される(推定される)。なお、予めエンコーダ側で、PTL情報リスト上のPTL情報を、類似順に並び替えておくことで、i番目のPTL情報は、直前のPTL情報を参照する確率を高めることができる。すなわち、vps_profile_present_flag[i]=0、または、vps_level_present_flag[i]=0の場合、参照PTL指定インデクス”profile_ref_delta_index_minus1[i]”を復号せずに、参照PTL指定インデクス”profile_ref_delta_index_minus1[i]==0”と推定しているとも解釈できる。これにより、相対インデクスに係る符号量をさらに削減することが可能である。さらに、変形例3は、実施例1と同様に、復号対象PTL情報のプロファイル情報、及びレベル情報の冗長性を低減さえる効果を奏する。
 以上のように、プロファイル/レベル情報復号部は、VPSレベル有無フラグが「0」に等しい場合、i番目のプロファイル/レベル情報のレベルの情報を、それ以前のプロファイル/レベル情報のレベルの情報から導出する。
  <<VPS復号部102の変形例3a>>
 なお、上記変形3は、次のようにも構成を変更することが可能である。すなわち、プロファイル有無フラグprofilePresentFlag、及びレベル有無フラグlevelPresentFlagをプロファイル情報とレベル情報の有無を表わすプロファイルレベル有無フラグProfileLevelPresentFlagへ置き換える。
 以下、変形例3aにおけるプロファイル/レベル情報復号部1021’’の構成について図34を代用して説明する。変形例3aに係るPTL情報復号部1021’’は、変形例3に係るPTL情報復号部1021’’における、プロファイル有無フラグprofilePresentFlag、及びレベル有無フラグlevelPresentFlagの入力値を除いて、構成、及び動作は同一である。図34では、プロファイル有無フラグprofilePresentFlag、及びレベル有無フラグlevelPresentFlagの配線があるが、変形例3aでは、プロファイルレベル有無フラグprofileLevelPresentFlagが0の場合には、図34のprofilePresentFlag、及びlevelPresentFlagを0として入力する。また、プロファイルレベル有無フラグprofileLevelPresentFlagが1の場合には、図34のprofilePresentFlag、及びlevelPresentFlagを1として入力する。なお、この変更により、既存のHEVCのVPSの先頭に位置するPTL情報、及び、ベースレイヤで通知されるSPS上のPTL情報のシンタックステーブルに変更はない。すなわち、既存のHEVCデコーダによって、VPS、SPS上のPTL情報が復号できないということは発生しない。
 以上、変形3aは、変形3と同様の効果を奏する。さらに、変形例3に対して、プロファイル有無フラグとレベル有無フラグを1つにまとめて、プロファイル情報とレベル情報の有無を示すプロファイルレベル有無フラグとすることで、追加的なフラグ(変形3であれば、レベル有無フラグ)に係る符号量を削減することが可能である。
 以上のように、プロファイル/レベル情報復号部は、VPSプロファイルレベル有無フラグが「0」に等しい場合、i番目のプロファイル/レベル情報のレベルの情報を、それ以前のプロファイル/レベル情報のレベルの情報から導出する。
  <<VPS復号部102の変形例4>>
 次に図65、図66を用いて、VPS復号部102の変形例4について説明する。
 まず、変形例4に係る拡張ビデオパラメータセットVPS(VPS拡張データvps_extesion())のシンタックステーブルについて、図65を用いて説明する。図65と図56(従来技術)に示す拡張ビデオパラメータセットのシンタックステーブルとの違いは、以下に示す(1)~(2)の通りである。
 (1)VPS拡張データvps_extension()の先頭にある基本レイヤがH.264で符号化されたビットストリームであるかを示すフラグavc_base_layer_flag(図65のSYNVPS0A)~各レイヤのスケーラビリティタイプを示すスケーラブルマスクscalability_mask_flag[i](図65のSYNVPS0F)のシンタックスがバイトアラインされるように、(a)シンタックスsplitting_flag(図65のSYNVPS0B)の配置変更(図65の例では、avc_base_layer_flagの次に配置)、バイトアラインを調整するための拡張ビット(バイトアラインデータ)reserved_zero_6bits(図65のSYNVPS0C)、及び(b)VPS NALユニットの先頭から、VPS NALユニット上のVPS拡張データ上にあるPTL情報関連シンタックスまでのバイトオフセットを示すシンタックスvps_ptl_info_offset(図65のSYNVPS0E)を追加している。
 まず、図65に示すバイトオフセット情報vps_ptl_info_offsetは、バイトアラインを保つために、16bitとすることが望ましい。なお、バイトオフセット情報vps_ptl_info_offsetは、VPS NALユニットの先頭から、VPS NALユニット上のVPS拡張データ上にあるPTL情報関連シンタックスまでのバイトオフセットとしているが、具体的には、VPS NALユニットの先頭から、図65のSYNVPS0Hに示すシンタックスvps_number_layer_sets_minus1(レイヤセット数)までのバイトオフセットとしてもよい。この場合、レイヤセット数vps_number_layer_の直前では、バイトアラインを調整するために、バイトアラインデータvps_alignment_bit_equal_to_one(図65のSYNVPS0G)を挿入する。また、これに限定されず、バイトオフセット情報vps_ptl_info_offsetは、VPS NALユニットの先頭から、図65のSYNVPS0Iに示すシンタックスvps_num_profile_tier_level_minus1(PTL情報数)までのバイトオフセットとしてもよい。この場合、図65のSYNVPS0Gと同様に、PTL情報数vps_num_profile_tier_level_minus1の直前では、バイトアラインを調整するために、バイトアラインデータvps_alignment_bit_equal_to_oneを挿入する。
 また、拡張ビットreserved_zero_6bitsは、値がゼロの6ビットのシンタックスであるが、値は1であってもよい。また、拡張ビットreserved_zero_6bitsのいずれかのビットを他のシンタックスを表すために利用してもよい。例えば、reserved_zero_6bitsのうち、先頭Nbit(1<=N<=6)をそれぞれ、以下に示すあるシンタックスやある状態の有無を示すフラグ等のいずれかと置き換えてもよい。
・レイヤ毎のレイヤ間予測に利用可能なサブレイヤの上限の有無を示すフラグmax_tid_ref_present_flag(不図示)
・符号化ピクチャの復号時にレイヤ間予測等に利用されるアクティブ直接参照レイヤ数と、シーケンス全体の復号を通じてレイヤ間予測等に参照され得る参照レイヤ数が同じであるかを示すフラグ(全直接参照レイヤが、符号化ピクチャの復号時に参照されることを示す)all_ref_layers_active_flag(不図示)、
・出力レイヤセット数がデフォルト値(vps_number_layer_sets_minus1+1)より大きいことを示すフラグmore_output_layer_sets_than_default_flag(不図示)、
・リプリゼンテーション情報有無フラグrep_format_idx_present_flag(不図示)、
・符号化ピクチャの復号時に参照する参照レイヤ数が最大1レイヤであることを示すフラグmax_one_active_ref_layer_flag(不図示)、
・レイヤ間でランダムアクセス可能なピクチャがアラインされることを示すフラグcross_layer_irap_alinged_flag(不図示)、
・同一AU内で全てのVLC NALユニットが同一のレイヤ識別子を持つか、または、同一AU内のVCL NALユニットに2つのレイヤ識別子が含まれ、一方のレイヤ識別子の値より大きいレイヤ識別子をもつピクチャがランダムアクセスピクチャであるか否かを示すフラグsingle_layer_for_non_irap_flag(不図示)、
・VUI有無フラグvps_vui_present_flag(不図示)
 また、拡張ビットreserved_zero_6bitsのビット長は、6bitに限定されず、バイトアラインを調整できるビット数へ拡張してもよい。例えば、6bitから8bitを加えた14bitとし、その先頭Nbit(1<=N<=14)を、上記フラグやその他のシンタックスと置き換えてもよい。
 従来技術の場合、上記フラグが散在しているため、そのフラグのあるところまで復号しなければ、そのフラグに関連するシンタックスの有無、または状態の有無を把握することができない課題がある。しかし、変形例4のように、あるシンタックスや状態の有無を示すフラグをVPS拡張データの先頭へ配置することによって、早期に関連シンタックスの有無、及び状態の有無を、デコーダが先頭の数バイトを読み込む(復号)することで把握することができる効果がある。また、バイトアラインすることによって、各シンタックスを復号/符号化する際の読み出し/書き出しに関するメモリアクセスの回数を低減させることができる。すなわち、復号/符号化に要する処理量を低減させる効果を奏する。
 また、PTL情報に関連シンタックスへのバイトオフセットを示すシンタックスvps_ptl_info_offsetを追加することにより、デコーダはVPS拡張データの先頭の数ビット(あるいはバイト)を読み込み、vps_ptl_info_offsetで示されるバイトオフセット上に存在する、PTL情報に関連するシンタックスへ早期にアクセスすることができる。PTL情報リスト上のPTL情報へ早期にアクセスすることのメリットは、VPS拡張データの先頭付近には、各レイヤのスケーラビリティタイプを示すscalablity_mask_flagがあるが、このシンタックスからでは、各レイヤセットをデコーダが復号可能である否かを把握することができない。そのため、バイトオフセットvps_ptl_info_offsetに基づいて、早期にPTL情報へアクセスし復号することで、デコーダは、復号可能なレイヤセットがビットストリーム上に存在するかどうか早期に把握することが可能である。また、PTL情報リストの直後に配置されている各(出力)レイヤセットに適用するPTL情報を指定するPTL指定インデクス (profile_level_tier_idx[i])(図56上のシンタックス群SYNVPS0H)を復号することにより、デコーダが復号可能なレイヤセットを特定することが可能である。さらに、デコーダは、PTL情報、及び出力レイヤセットとPTL情報の対応情報(PTL情報指定インデクス)及び、各レイヤセットのレイヤIDリスト(図55のシンタックス群SYNVPS03)等に基づいて、ターゲットセット(出力レイヤセット)を選択し、ビットストリーム抽出処理を行うことで、デコーダが復号可能なビットストリームのみを生成することが可能である。
 (2)非特許文献1のHEVCの規格策定の段階において、VPS、及びSPS上にあるPTL情報profile_tier_level()(図54)は、プロファイル情報(図54のSYNPTL01)、レベル情報(図54のSYNPTL02)、サブレイヤプロファイル有無フラグ及びサブレイヤレベル有無フラグ(図54のSYNPTL03)、各サブレイヤのプロファイル情報(図54のSYNPTL05)、及びレベル情報(図54のSYNPTL06)がバイトアラインされるように設計されている。例えば、バイトアラインを調整するために、図54のSYNPTL04に示すバイトアラインデータがある。また、サブレイヤプロファイル有無フラグ、及びサブレイヤレベル有無フラグを、各サブレイヤのプロファイル情報及びレベル情報とインターリーブしてシグナルすることで、サブレイヤ数、サブレイヤプロファイル有無フラグ、サブレイヤレベル有無フラグに基づいて、特定のサブレイヤのプロファイル情報、及びレベル情報へバイト計算により容易にアクセスできるように設計されている。
 しかし、従来技術(非特許文献2及び非特許文献3)において、VPS拡張データ上にあるPTL情報は、PTL情報の直前にあるシンタックス(例えば、図56のvps_profile_present_flag[i]やprofile_ref_minus1[i])がアラインされていないめ、バイトアラインが保たれていない。そのため、前述したPTL情報の規格策定段階で考慮された上記メリットが損なわれている。
 上記課題を解決するために、PTL情報に関連するシンタックス(出力レイヤセット数vps_number_layer_sets_minus1(図65のSYNVPS0H)、PTL情報数vps_num_profile_tier_level_minus1(図65のSYNVPS0I)、VPSプロファイル有無フラグvps_present_flag[i] (図65のSYNVPS0J)、参照PTL指定情報profile_ref_minus1[i] (図65のSYNVPS0L)、及びPTL情報profile_tier_level()(図65のSYNVPS0M)のシンタックスがバイトアラインされるように、シンタックスの配置、ビット長の変更、及び新たにバイトアラインデータvps_alingment_bit_equalt_to_one(図65のSYNVPS0G)、及びPTL情報数、及びプロファイル有無フラグに基づいて定まるバイトアラインデータreserved_zero_1bits[i](図65のSYNVPS0K)を追加している。
 具体的には、まず、PTL情報関連シンタックスの先頭シンタックス(図65の例では、レイヤセット数vps_number_layer_sets_minus1)がバイトアラインされた位置に符号化データ上で配置される(バイト境界の先頭位置に配置される)ように、図65のSYNVPS0Gに示すバイトアラインデータvps_alingment_bit_equalt_to_one(図65のSYNVPS0G)を挿入する。ここで、関数byte_aligned()は、符号化データ上の現在位置(ビット単位)がバイト境界上であるか否かを判定する処理であり、符号化データ上の現在位置がバイト境界上である場合は、”真”と判定し、それ以外の場合は、“偽”と判定する。すなわち、判定が”真”となるまで、バイトアラインデータ(vps_alingment_bit_equalt_to_one)が1bit単位で挿入される。
 続いて、各PTL情報のプロファイル有無フラグと、PTL情報をインターリーブ(分離)して、プロファイル有無フラグとPTL情報との間に、バイトアラインを調整するためにバイトアラインデータreserved_zero_bits[i]を挿入する。図65の場合は、レイヤセット数vps_number_layer_sets_minus1(図65のSYNVPS0H)、及びPTL情報数vps_num_profile_tier_level_minus1(図65のSYNVPS0G)のシンタックスはバイトアラインされるため、挿入されているバイトアラインデータreserved_zero_bits[i]のビット量Vは、PTL情報数によって定まり、例えば、V={ 8 - { { (vps_num_profile_tier_level_minus1 + 1) % 8 } % 8 } }である。なお、バイトアラインデータを挿入するループの式は、図65のSYNVPS0Gに示す
“for( i= (((vps_num_profile_tier_level_minus1 + 1) % 8 ) % 8) ; i>0; i--)”に限定されず、実施可能な範囲で変更してよい。例えば、
“for( i=0; i< (((vps_num_profile_tier_level_minus1 + 1) % 8 ) % 8); i++)”としてもよい。
 なお、図65の場合、バイトアラインデータvps_alingment_bit_equal_to_one(=1bit)を、レイヤセット数の直前に挿入しているが、PTL情報数vps_num_profile_tier_level_minus1の直前に挿入してもよい。この場合、プロファイル有無フラグとPTL情報の間に挿入されるバイトアラインデータのビット量Vは、PTL情報数のビット長V1(=6bits)及び、PTL情報数によって定まり、例えば、V={ 8 - { { (vps_num_profile_tier_level_minus1 + 1 + V1) % 8 } % 8 } }である。この場合、バイトアラインデータを挿入するループの式は、例えば、
“for( i=(((vps_num_profile_tier_level_minus1+1+V1)%8)%8); i>0; i--)”としてもよい。また、これに限定されず、実施可能な範囲で変更してよい。例えば、
“for( i=0; i<(((vps_num_profile_tier_level_minus1+1+V1)%8)%8); i++)”としてもよい。なお、上記ループの式の代わりに、“while(!byte_aligned())”としてもよい。
 また、PTL情報リスト上のバイトアラインを保つために、参照PTL指定情報profile_ref_minus1[i]を6bitから8bitへ変更している(図65のSYNVPS0L)。なお、参照PTL指定情報profile_ref_minus1[i]のビット長を拡張する代わりに、バイトアラインを調整するため、2bitの拡張用ビットreserved_zero_2bitsを付加してもよい。
 以上の変更を実施することにより、PTL情報リスト上のPTL情報がバイトアラインされるため、各シンタックスを復号/符号化する際の読み出し/書き出しに関するメモリアクセスの回数を低減させることができる。すなわち、復号/符号化に要する処理量を低減させる効果を奏する。また、非特許文献1と同様に、各PTL情報の特定サブレイヤのプロファイル情報、及びレベル情報に、サブレイヤ数、サブレイヤプロファイル有無フラグ、サブレイヤレベル有無フラグに基づいて、特定のサブレイヤのプロファイル情報、及びレベル情報へバイト計算により容易にアクセスすることが可能である。
  (VPS復号部102’’’の構成)
 図16を参照して、変形例4に係るVPS復号部102’’’の構成について説明する。VPS復号部102’’’は、実施例1に係るVPS復号部102の備えるPTL情報復号部1021、参照PTL指定情報復号部1022、及びプロファイル有無フラグ復号部1023と同一の構成要素に加えて、さらに、バイトアラインデータ復号部1024(不図示)を含んで備える。なお、以下では、バイトアラインデータ復号部1024についてのみ説明する。
 VPS復号部102’’’の備えるバイトアラインデータ復号部1024は、VPS拡張データvps_extension()に含まれる、バイトアラインを調整するために挿入されるデータ、バイトアラインデータを復号する。例えば、vps_alignment_bit_equal_to_one(図65上のSYNVPS0G)や、reserved_zero_1bits[i](図65上のSYNVPS0K)である。
  <VPS拡張データの詳細な復号プロセス(変形例4)>
 図66を用いて、VPS復号部102’’’のVPS拡張データの復号プロセスについて説明する。
 (ステップSH101)VPS復号部102’’’は、図65上のシンタックス群SYNVPS0Aを復号する。
 (ステップSH102)VPS復号部102’’’は、図65上のSYNVPS0Eに示すPTL情報リストまでのバイトオフセット情報(vps_ptl_info_offset)を復号する。
 (ステップSH103)VPS復号部102’’’は、図65上のSYNVPS0Fに示すスケーラビリティマスクフラグを復号する。
・・・省略・・・
 (ステップSH104)VPS復号部102’’’の備えるバイトアラインデータ復号部1024は、図65上のSYNVPS0Gに示す所定の判定式に基づいて、バイトアラインデータ(vps_alignment_bit_equal_to_one)を1ビット単位で復号(読み出す)する。
 (ステップSH105)VPS復号部102’’’は、図65上のSYNVPS0Hに示すレイヤセット数を復号する。
 (ステップSH106)VPS復号部102’’’は、図65上のSYNVPS0Iに示すPTL情報数を復号する。
 (ステップSH107)VPS復号部102’’’に含まれるプロファイル有無フラグ復号部1023は、図65上のSYNVPS0Jに示すプロファイル有無フラグを”PTL情報数-1”個復号する。
 (ステップSH108)VPS復号部102’’’の備えるバイトアラインデータ復号部1024は、図65上のSYNVPS0Kに示すバイトアラインデータ(reserved_zero_bit[i])を復号する。復号するバイトアラインデータのビット数は、V={ 8 - { { (vps_num_profile_tier_level_minus1 + 1) % 8 } % 8 } }である。
 (ステップSH109)VPS上に含まれるPTL情報の復号プロセスのループ開始点である。
 (ステップSH110)プロファイル有無フラグが0の場合は、i番目のPTL情報上にプロファイル情報を示すシンタックス群がないと判定し、ステップSH112へ進む。プロファイル有無フラグが1の場合は、i番目のPTL情報上にプロファイル情報を示すシンタックス群がある判定し、ステップSA111へ進む。
 (ステップSH111)プロファイル有無フラグが0の場合、VPS復号部102’’’’に含まれる参照PTL指定情報復号部1022は、i番目のPTL情報のプロファイル情報をPTL情報リスト上のいずれのPTL情報から参照するかを示す参照PTL情報指定インデクス”profile_ref_minus1[i]”(図65上のSYNVPS0L)を復号する。参照PTL情報指定インデクス“profile_ref_ minus1[i]”は、参照先のPTL情報の位置を表す。すなわち、i番目のPTL情報は、j = (profile_ref_ minus1[i] +1 )で特定される、j番目のPTL情報をプロファイル情報の参照先とする。
 (ステップSH112)VPS復号部102’’’に含まれるPTL情報復号部1021は、プロファイル有無フラグ、参照PTL指定インデクス、サブレイヤ数を入力として、i番目のPTL情報のプロファイル、及びレベル情報を復号する。PTL情報復号部1021の詳細については説明済みのため省略する。
 (ステップSH113)VPS上に含まれるPTL情報の復号プロセスのループ終端である。
 (ステップSH114)VPS復号部102’’’は、その他のシンタックスを復号する。
 以上、変形例4に係るVPS復号部102’’’のの動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
  <<VPS復号部102の変形例4a>>
 続いて、図68、図69を用いて、VPS復号部102の変形例4aについて説明する。
 まず変形例4aに係るビデオ拡張パラメータセットVPS(VPS拡張データvps_extension())のシンタックステーブルについて、図68を用いて説明する。図68と変形例4に係る図65に示すVPS拡張データのシンタックステーブルの違いは、図68では、図65上のシンタックスSYNVPS0Lに示す参照PTL情報指定インデクス(profile_ref_minus1 [i])が削除され、参照PTL指定情報指定インデクスの機能を、図68上のシンタックスSYNVPS0Jに示すプロファイル有無フラグ(vps_profile_present_flag[i])が兼用する点である。すなわち、プロファイル有無フラグ(vps_profile_present_flag[i])の値が1の場合は、i番目のPTL情報のプロファイル情報が符号化データより復号される。一方、プロファイル有無フラグの値が0の場合は、i番目のPTL情報のプロファイル情報には、i番目のPTL情報の直前に復号された、(i-1)番目の復号済PTL情報のプロファイル情報が設定される(推定される)。なお、予めエンコーダ側で、PTL情報リスト上のPTL情報を、類似順に並び替えておくことで、i番目のPTL情報は、直前のPTL情報を参照する確率を高めることができる。すなわち、vps_profile_present_flag[i]=0の場合、参照PTL指定インデクス”profile_ref_minus1 [i]”を復号せずに、参照PTL指定インデクス”profile_ref_ minus1[i]==0”と推定しているとも解釈できる。これにより、参照PTL指定インデクスに係る符号量をさらに削減することが可能である。また、それ以外の従来技術に係る拡張VPSデータに対する変更は、変形例4と同じであり、同様の効果を奏する。
  (VPS復号部102’’’aの構成)
 図25を参照して、変形例4aに係るVPS復号部102’’’aの構成について説明する。VPS復号部102’’’aは、変形例2に係るVPS復号部102’の備えるPTL情報復号部1021’、及びプロファイル有無フラグ復号部1023’と同一の構成要素に加えて、さらに、バイトアラインデータ復号部1024(不図示)を含んで備える。同一の構成要素である、PTL情報復号部1021’、及びプロファイル有無フラグ復号部1023’の説明は省略する。また、バイトアラインデータ復号部1024は、変形例4に係るVPS復号部102’’’の備えるバイトアラインデータ復号部1024と同一の構成要素であるため、説明を省略する。
  <VPS拡張データの詳細な復号プロセス(変形例4a)>
 図69を用いて、VPS復号部102’’’aのVPS拡張データの復号プロセスについて説明する。なお、VPS復号部102’’’aのVPS拡張データの復号プロセスでは、図66上のステップSH110(プロファイル有無フラグの値に基づく分岐判定、及び分岐に基づく遷移)、ステップSH111(参照PTL情報指定インデクスprofile_ref_minus1[i]の復号)が省略されている点が異なり、それ以外の動作は同一であるため、説明を省略する。
 以上、変形例4に係るVPS復号部102’’’aのの動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
 なお、変形例4及び変形例4aに係るVPS拡張データにおいて、VPS NALユニットの先頭から、VPS NALユニット上のVPS拡張データ上にあるPTL情報関連シンタックスまでのバイトオフセットを示すvps_ptl_info_offsetを追加しているが、これに限定されない。例えば、上記バイトオフセットを追加する代わりに、PTL情報関連シンタックスを、スケーラビリティマスクフラグの直後に配置してもよい。これによっても、PTL情報及び関連シンタックスへ早期にアクセスすることが可能であり、変形例4及び変形例4aと同様の効果を奏する。なお、符号化側においても、同様のことが適用可能である。
 なお、変形例4aでは、プロファイル有無フラグとPTL情報をインターリーブしてシグナルしているが、これに限定されない。例えば、変形例3で導入したレベル情報有無フラグも、変形例4aと同様に、PTL情報とインターリーブしてシグナルしてもよい。すなわち、PTL情報数―1個のプロファイル情報とレベル情報とを先にシグナルし、その後、バイトアラインデータを挿入し、その後、各PTL情報をシグナルするようにしてもよい。この場合、変形例4a及び変形例3と同様の効果を奏する。なお、この変更は、符号化側においても適用可能である。
  [参照ピクチャ情報復号部]
 参照ピクチャ情報復号部は、ヘッダ復号部10の構成要素であり、参照ピクチャに関する情報を符号化データ#1から復号する。参照ピクチャに関する情報には、参照ピクチャセット情報(以下、RPS情報)と、参照ピクチャリスト修正情報(以下、RPL修正情報)が含まれる。
 参照ピクチャセット(RPS: Reference Picture Set)は、対象ピクチャ、または、復号順で対象ピクチャに後続するピクチャにおいて、参照ピクチャとして利用される可能性のあるピクチャの集合を表す。RPS情報は、SPSやスライスヘッダから復号される情報であり、各ピクチャの復号時に設定される参照ピクチャセットの導出に用いられる情報である。
 参照ピクチャリスト(RPL: Reference Picture List)は、動き補償予測を行う際に参照すべき参照ピクチャの候補リストである。参照ピクチャリストは2以上存在してもよい。本実施形態では、L0参照ピクチャリスト(L0参照リスト)とL1参照ピクチャリスト(L1参照リスト)を用いるとする。RPL修正情報は、SPSやスライスヘッダから復号される情報であり、参照ピクチャリスト内の参照ピクチャの順序を示す。
 動き補償予測では、参照画像リスト上で参照画像インデックス(refIdx)の位置に記録されている参照ピクチャを利用する。例えば、refIdxの値が0の場合は、参照画像リストの0の位置、すなわち参照画像リストの先頭の参照ピクチャが動き補償予測に用いられる。
 なお、参照ピクチャ情報復号部によるRPS情報およびRPL修正情報の復号処理は、本実施形態における重要な処理であるため、後ほど詳しく説明する。
 ここで、参照ピクチャセットと参照ピクチャリストの例を、図35を参照して説明しておく。図35(a)は、動画像を構成するピクチャを表示順に並べて示したものであり、図中の数字は各ピクチャに対応するPOCを表している。POCは、復号ピクチャバッファの説明で後述するように、出力順で昇順となるよう各ピクチャに割り当てられている。“curr”と示されたPOCが9のピクチャが、現在の復号の対象ピクチャである。
 図35(b)は、対象ピクチャに適用されるRPS情報の例を示す。対象ピクチャにおける参照ピクチャセット(現RPS)は、当該RPS情報に基づいて導出される。RPS情報には、長期RPS情報と短期RPS情報とが含まれる。長期RPS情報として、現RPSに含めるピクチャのPOCが直接示されている。図35(b)に示す例では、長期RPS情報は、POC=1のピクチャを現RPSに含めることを示している。短期RPS情報には、現RPSに含めるピクチャが、対象ピクチャのPOCに対する差分で記録されている。図中の「Before, dPOC=1」と示された短期RPS情報は、対象ピクチャのPOCに対して1小さいPOCのピクチャを現RPSに含めることを示している。同様に、図中の「Before, dPOC=4」は4小さいPOCのピクチャを示し、「After, dPOC=1」は1大きいPOCのピクチャを現RPSに含めることを示す。なお、「Before」は、対象ピクチャの前方、つまり、対象ピクチャより表示順の早いピクチャを示す。また、「After」は、対象ピクチャの後方、つまり、対象ピクチャより表示順の遅いピクチャを示す。
 図35(c)は、対象ピクチャのPOCが0の場合に、図35(b)で例示したRPS情報を適用したときに導出される現RPSの例を示す。長期RPS情報で示されたPOC=1のピクチャが含まれている。また、短期RPS情報で示された、対象ピクチャ(POC=9)より1小さいPOCを有するピクチャ、すなわちPOC=8のピクチャが含まれている。同様に、短期RPS情報で示された、POC=5とPOC=10のピクチャが含まれている。
 図35(d)および(e)は、現RPSに含まれる参照ピクチャから生成される参照ピクチャリストの例を示す。参照ピクチャリストの各要素にはインデックス(参照ピクチャインデックス)が付与されている(図中ではidxと記載)。図35(d)は、L0参照リストの例を示す。L0参照リストには、5、8、10、1のPOCを持つ現RPSに含まれる参照ピクチャが、この順で含まれている。図35(e)は、L1参照リストの例を示す。L1参照リストには、10、5、8のPOCを持つ現RPSに含まれる参照ピクチャが、この順で含まれている。なお、L1参照リストの例で示した通り、参照ピクチャリストには、現RPSに含まれる全ての参照ピクチャ(参照可能ピクチャ)を含める必要はない。しかし、参照ピクチャリストの要素数は、最大でも現RPSに含まれる参照ピクチャの数となる。言い換えると、参照ピクチャリストの長さは、現ピクチャで参照可能なピクチャ数以下である。
 次に、参照ピクチャリスト修正の例を、図36を参照して説明しておく。図36は、特定の参照ピクチャリストに(図36(a))に対して、RPL修正情報(図36(b))を適用した場合に得られる修正後の参照ピクチャリスト(図36(c))を例示している。図36(a)に示す修正前L0参照リストは、図35(d)で説明したL0参照リストと同一である。図36(b)に示すRPL修正情報は参照ピクチャインデックスの値を要素とするリストになっており、先頭から順に0、2、1、3の値が格納されている。このRPL修正情報は、修正前参照リストに含まれる0、2、1、3の参照ピクチャインデックスで示される参照ピクチャを、この順で修正後L0参照リストの参照ピクチャとすることを示す。図36(c)は修正後L0参照リストを示し、POCが5、10、8、1のピクチャがこの順で含まれている。
  (動画像復号処理手順)
 画像復号装置1が、入力符号化データ#1から復号画像#2を生成する手順は次のとおりである。
 (S11)ヘッダ復号部10は、符号化データ#1からVPS、SPSを復号する。
 (S12)ヘッダ復号部10は、符号化データ#1からPPSを復号する。
 (S13)符号化データ#1の示すピクチャを順次対象ピクチャに設定する。各対象ピクチャに対して、S14~S17の処理を実行する。
 (S14)ヘッダ復号部10は、符号化データ#1から対象ピクチャに含まれる各スライスのスライスヘッダを復号する。ヘッダ復号部10に含まれる参照ピクチャ情報復号部は、スライスヘッダからRPS情報を復号して参照ピクチャ管理部13に含まれる参照ピクチャセット設定部131に出力する。また、参照ピクチャ情報復号部は、スライスヘッダからRPL修正情報を復号して参照ピクチャリスト導出部132に出力する。
 (S15)参照ピクチャセット設定部131は、RPS情報と、復号ピクチャバッファ12に記録されている局所復号画像のPOCとメモリ上の位置情報の組み合わせに基づいて、対象ピクチャに適用する参照ピクチャセットRPSを生成して、参照ピクチャリスト導出部132に出力する。
 (S16)参照ピクチャリスト導出部132は、参照ピクチャセットRPSと、RPL修正情報に基づいて参照ピクチャリストRPLを生成してピクチャ復号部11に出力する。(S17)ピクチャ復号部11は、符号化データ#1から対象ピクチャに含まれる各スライスのスライスデータと、参照ピクチャリストRPLに基づいて対象ピクチャの局所復号画像を作成して、対象ピクチャのPOCと関連付けて復号ピクチャバッファに記録する。復号ピクチャバッファに記録された局所復号画像は、POCに基づき決定される適切なタイミングで、外部に復号画像#2として出力される。
   [復号ピクチャバッファ12]
 復号ピクチャバッファ12には、ピクチャ復号部で復号された各ピクチャの局所復号画像が、レイヤID、当該ピクチャのPOC(Picture Order Count、ピクチャ順序情報)と関連付けられて記録されている。復号ピクチャバッファ12は、所定の出力タイミングで、出力対象のPOCを決定する。その後、当該POCに対応する局所復号画像を、復号画像#2を構成するピクチャの一つとして外部に出力する。
 図37は、復号ピクチャメモリの構成を示す概念図である。図中内部に数字を記したボックスが局所復号画像を示す。数字はPOCを示す。図37の図の通り、複数のレイヤの局所復号画像が、そのレイヤID、POC、局所復号画像に関連づけられて記録される。さらに、レイヤIDに対応するビューIDview_id、デプスフラグdepth_flagも局所復号画像に関連づけられて記録される。
   [参照ピクチャ管理部13]
 図38は、本実施形態に係る参照ピクチャ管理部13の構成を示す概略図である。参照ピクチャ管理部13は、参照ピクチャセット設定部131と、参照ピクチャリスト導出部132を含んで構成される。
 参照ピクチャセット設定部131は、参照ピクチャ情報復号部218で復号されたRPS情報、および、復号ピクチャバッファ12に記録されている局所復号画像とレイヤID、POCの情報に基づいて、参照ピクチャセットRPSを構築して参照ピクチャリスト導出部132に出力する。なお、参照ピクチャセット設定部131の詳細は後述する。
 参照ピクチャリスト導出部132は、参照ピクチャ情報復号部218で復号されたRPL修正情報、および、参照ピクチャセット設定部131から入力された参照ピクチャセットRPSに基づいて参照ピクチャリストRPLを生成して、ピクチャ復号部11に出力する。なお、参照ピクチャリスト導出部132の詳細は後述する。
  (参照ピクチャ情報復号処理の詳細)
 上記復号手順におけるS14の処理のうち、RPS情報およびRPL修正情報の復号処理について詳細を説明する。
 (RPS情報復号処理)
 RPS情報は、参照ピクチャセットを構築するためにSPSまたはスライスヘッダより復号される情報である。RPS情報には以下を含む。
1.SPS短期RPS情報:SPSに含まれる短期参照ピクチャセット情報
2.SPS長期RP情報:SPSに含まれる長期参照ピクチャ情報
3.SH短期RPS情報:スライスヘッダに含まれる短期参照ピクチャセット情報
4.SH長期RP情報:スライスヘッダに含まれる長期参照ピクチャ情報
 (1.SPS短期RPS情報)
 SPS短期RPS情報は、SPSを参照する各ピクチャから利用され得る複数の短期参照ピクチャセットの情報を含む。なお、短期参照ピクチャセットとは、対象ピクチャに対する相対的な位置(例えば対象ピクチャとのPOC差分)により指定される参照ピクチャ(短期参照ピクチャ)となり得るピクチャの集合である。
 SPS短期RPS情報の復号について、図39を参照して説明する。図39は、ヘッダ復号部10および参照ピクチャ情報復号部においてSPS復号時に利用されるSPSシンタックス表の一部を例示している。図39の(A)の部分がSPS短期RPS情報に相当する。SPS短期RPS情報には、SPSに含まれる短期参照ピクチャセットの数(num_short_term_ref_pic_sets)、および、各短期参照ピクチャセットの情報(short_term_ref_pic_set(i))が含まれる。
 短期参照ピクチャセット情報について、図40を参照して説明する。図40は、ヘッダ復号部10および参照ピクチャ情報復号部においてSPS復号時、および、スライスヘッダ復号時に利用される短期参照ピクチャセットのシンタックス表を例示している。
 短期参照ピクチャセット情報には、対象ピクチャより表示順が早い短期参照ピクチャ数(num_negative_pics)、および、対象ピクチャより表示順が遅い短期参照ピクチャ数(num_positive_pics)が含まれる。なお、以下では、対象ピクチャより表示順が早い短期参照ピクチャを前方短期参照ピクチャ、対象ピクチャより表示順が遅い短期参照ピクチャを後方短期参照ピクチャと呼ぶ。
 また、短期参照ピクチャセット情報には、各前方短期参照ピクチャに対して、対象ピクチャに対するPOC差分の絶対値(delta_poc_s0_minus1[i])、および、対象ピクチャの参照ピクチャとして使用される可能性の有無(used_by_curr_pic_s0_flag[i])が含まれる。加えて、各後方短期参照ピクチャに対して、対象ピクチャに対するPOC差分の絶対値(delta_poc_s1_minus1[i])、および、対象ピクチャの参照ピクチャとして使用される可能性の有無(used_by_curr_pic_s1_flag[i])が含まれる。
 (2.SPS長期RP情報)
 SPS長期RP情報は、SPSを参照する各ピクチャから利用され得る複数の長期参照ピクチャの情報を含む。なお、長期参照ピクチャとは、シーケンス内の絶対的な位置(例えばPOC)により指定されるピクチャである。
 SPS長期RP情報の復号について、図39を再び参照して説明する。図39の(B)の部分がSPS長期RP情報に相当する。SPS長期RP情報には、SPSで伝送される長期参照ピクチャの有無を示す情報(long_term_ref_pics_present_flag)、SPSに含まれる長期参照ピクチャの数(num_long_term_ref_pics_sps)、および、各長期参照ピクチャの情報が含まれる。長期参照ピクチャの情報には、参照ピクチャのPOC(lt_ref_pic_poc_lsb_sps[i])、および、対象ピクチャの参照ピクチャとして使用される可能性の有無(used_by_curr_pic_lt_sps_flag[i])が含まれる。
 なお、上記参照ピクチャのPOCは、参照ピクチャに関連付けられたPOCの値自体であってもよいし、POCのLSB(Least Significant Bit)、すなわち、POCを既定の2の冪乗の数で割った余りの値を用いてもよい。
 (3.SH短期RPS情報)
 SH短期RPS情報は、スライスヘッダを参照するピクチャから利用され得る単一の短期参照ピクチャセットの情報を含む。
 SPS短期RPS情報の復号について、図41を参照して説明する。図41は、ヘッダ復号部10および参照ピクチャ情報復号部においてスライスヘッダ復号時に利用されるスライスヘッダシンタックス表の一部を例示している。図41の(A)の部分がSH短期RPS情報に相当する。SH短期RPS情報は、短期参照ピクチャセットをSPSで復号済みの短期参照ピクチャセットの中から選択するか、スライスヘッダに明示的に含めるかを示すフラグ(short_term_ref_pic_set_sps_flag)を含む。SPSで復号済の中から選択する場合、復号済の短期参照ピクチャセットを一つ選択する識別子(short_term_ref_pic_set_idx)が含まれる。スライスヘッダに明示的に含める場合は、前述したシンタックス表(short_term_ref_pic_set(idx))に相当する情報が、SPS短期RPS情報に含まれる。
 (4.SH長期RP情報)
 SH長期RP情報は、スライスヘッダを参照するピクチャから利用され得る長期参照ピクチャの情報を含む。
 SH長期RP情報の復号について、図41を再び参照して説明する。図41の(B)の部分がSH長期RP情報に相当する。SH長期RP情報は、対象ピクチャで長期参照ピクチャが利用可能(long_term_ref_pic_present_flag)である場合のみスライスヘッダに含まれる。SPSで1以上の長期参照ピクチャを復号済である場合(num_long_term_ref_pics_sps>0)、SPSで復号済の長期参照ピクチャの中で対象ピクチャで参照され得る参照ピクチャの数(num_long_term_sps)がSH長期RP情報に含まれる。また、スライスヘッダで明示的に伝送される長期参照ピクチャ数(num_long_term_pics)がSH長期RP情報に含まれる。加えて、上記num_long_term_spsの数の長期参照ピクチャをSPSで伝送済の長期参照ピクチャの中から選択する情報(lt_idx_sps[i])がSH長期RP情報に含まれる。さらに、スライスヘッダに明示的に含める長期参照ピクチャの情報として、上記num_long_term_picsの数だけ、参照ピクチャのPOC(poc_lsb_lt [i])、および、対象ピクチャの参照ピクチャとして使用される可能性の有無(used_by_curr_pic_lt_flag[i])が含まれる。
 (RPL修正情報復号処理)
 RPL修正情報は、参照ピクチャリストRPLを構築するためにSPSまたはスライスヘッダより復号される情報である。RPL修正情報には、SPSリスト修正情報、および、SHリスト修正情報が含まれる。
 (SPSリスト修正情報)
 SPSリスト修正情報はSPSに含まれる情報であり、参照ピクチャリスト修正の制約に係る情報である。SPSリスト修正情報について、図39を再び参照して説明する。図39の(C)の部分がSPSリスト修正情報に相当する。SPSリスト修正情報には、ピクチャに含まれる前スライスで参照ピクチャリストが共通か否かを示すフラグ(restricted_ref_pic_lists_flag)、および、スライスヘッダ内にリスト並べ替えに関する情報が存在するか否かを示すフラグ(lists_modification_present_flag)が含まれる。
 (SHリスト修正情報)
 SHリスト修正情報はスライスヘッダに含まれる情報であり、対象ピクチャに適用される参照ピクチャリストの長さ(参照リスト長)の更新情報、および、参照ピクチャリストの並べ替え情報(参照リスト並べ替え情報)が含まれる。SHリスト修正情報について、図42を参照して説明する。図42はヘッダ復号部10および参照ピクチャ情報復号部においてスライスヘッダ復号時に利用されるスライスヘッダシンタックス表の一部を例示している。図42の(C)の部分がSHリスト修正情報に相当する。
 参照リスト長更新情報として、リスト長の更新有無を示すフラグ(num_ref_idx_active_override_flag)が含まれる。加えて、L0参照リストの変更後の参照リスト長を表す情報(num_ref_idx_l0_active_minus1)、および、L1参照リストの変更後の参照リスト長を表す情報(num_ref_idx_l1_active_minus1)が含まれる。
 参照リスト並べ替え情報としてスライスヘッダに含まれる情報について、図43を参照して説明する。図43はヘッダ復号部10および参照ピクチャ情報復号部においてスライスヘッダ復号時に利用される参照リスト並べ替え情報のシンタックス表を例示している。
 参照リスト並べ替え情報には、L0参照リスト並べ替え有無フラグ(ref_pic_list_modification_flag_l0)が含まれる。前記フラグの値が1(L0参照リストの並べ替えが有る場合)、かつ、NumPocTotalCurrが2より大きい場合、L0参照リスト並べ替え順序(list_entry_l0[i])が参照リスト並べ替え情報に含まれる。ここで、NumPocTotalCurrは、現ピクチャにおいて利用可能な参照ピクチャの数を表す変数である。したがって、L0参照リストの並べ替えが有る場合であって、かつ、現ピクチャにおいて利用可能な参照ピクチャ数が2より大きい場合にのみ、L0参照リスト並べ替え順序がスライスヘッダに含まれる。
 同様に、参照ピクチャがBスライスである場合、つまり、対象ピクチャにおいてL1参照リストが利用可能である場合、L1参照リスト並べ替え有無フラグ(ref_pic_list_modification_flag_l1)が参照リスト並べ替え情報に含まれる。前記フラグの値が1、かつ、NumPocTotalCurrが2より大きい場合、L1参照リスト並べ替え順序(list_entry_l1[i])が参照リスト並べ替え情報に含まれる。言い換えると、L1参照リストの並べ替えが有る場合であって、かつ、現ピクチャにおいて利用可能な参照ピクチャ数が2より大きい場合にのみ、L1参照リスト並べ替え順序がスライスヘッダに含まれる。
  (参照ピクチャセット導出処理の詳細)
 前述の動画像復号手順におけるS15の処理、すなわち、参照ピクチャセット設定部による参照ピクチャセット導出処理の詳細を説明する。
 既に説明したとおり、参照ピクチャセット設定部131は、RPS情報と、復号ピクチャバッファ12に記録されている情報に基づいて、対象ピクチャの復号に用いる参照ピクチャセットRPSを生成する。
 参照ピクチャセットRPSは、対象ピクチャ、または、対象ピクチャに復号順で後続のピクチャにおいて、復号時に参照画像として利用可能なピクチャ(参照可能ピクチャ)の集合である。参照ピクチャセットは、参照可能ピクチャの種類に応じて次の2つのサブセットに分けられる。
・現ピクチャ参照可能リストListCurr:復号ピクチャバッファ上のピクチャのうち、対象ピクチャにおける参照可能ピクチャのリスト
・後続ピクチャ参照可能リストListFoll:対象ピクチャでは参照されないが、対象ピクチャに復号順で後続のピクチャで参照可能な復号ピクチャバッファ上のピクチャのリスト
 なお、現ピクチャ参照可能リストに含まれるピクチャの数を、現ピクチャ参照可能ピクチャ数NumCurrListと呼ぶ。なお、前述の図43を参照して説明したNumPocTotalCurrは、NumCurrListと同一である。
 現ピクチャ参照可能リストは、さらに3つの部分リストから構成される。
・現ピクチャ長期参照可能リストListLtCurr:SPS長期RP情報またはSH長期RP情報により指定される現ピクチャ参照可能ピクチャ
・現ピクチャ短期前方参照可能リストListStCurrBefore:SPS短期RPS情報またはSH短期RPS情報により指定される現ピクチャ参照可能ピクチャであって、表示順が対象ピクチャより早いもの
・現ピクチャ短期後方参照可能リストListStCurrAfter:SPS短期RPS情報またはSH短期RPS情報により指定される現ピクチャ参照可能ピクチャであって、表示順が対象ピクチャより早いもの。
 後続ピクチャ参照可能リストは、さらに2つの部分リストから構成される。
・後続ピクチャ長期参照可能リストListLtFoll:SPS長期RP情報またはSH長期RP情報により指定される後続ピクチャ参照可能ピクチャ
・後続ピクチャ短期参照可能リストListStFoll:SPS短期RPS情報またはSH短期RPS情報により指定される現ピクチャ参照可能ピクチャ。
 参照ピクチャセット設定部131は、NALユニットタイプがIDR以外の場合に、参照ピクチャセットRPS、すなわち、現ピクチャ短期前方参照可能リストListStCurrBefore、現ピクチャ短期後方参照可能リストListStCurrAfter、現ピクチャ長期参照可能リストListLtCurr、後続ピクチャ短期参照可能リストListStFoll、および、後続ピクチャ長期参照可能リストListLtFollを次の手順で生成する。加えて、現ピクチャ参照可能ピクチャ数を表す変数NumPocTotalCurrを導出する。なお、前記各参照可能リストは、以下の処理の開始前に空に設定されているとする。参照ピクチャセット設定部131は、NALユニットタイプがIDRの場合は、参照ピクチャセットRPSを空として導出する。
 (S201)SPS短期RPS情報、および、SH短期RPS情報に基づいて、対象ピクチャの復号に用いる単一の短期参照ピクチャセットを特定する。具体的には、SH短期RPS情報に含まれるshort_term_ref_pic_set_spsの値が0である場合、SH短期RPS情報に含まれるスライスヘッダで明示的に伝送された短期RPSを選択する。それ以外(short_term_ref_pic_set_spsの値が1の場合、SH短期RPS情報に含まれるshort_term_ref_pic_set_idxが示す短期RPSを、SPS短期RPS情報に含まれる複数の短期RPSの中から選択する。
 (S202)選択された短期RPSに含まれる参照ピクチャ各々のPOCの値を導出し、復号ピクチャバッファ12上に当該POC値と関連付けられて記録されている局所復号画像の位置を検出して、参照ピクチャの復号ピクチャバッファ上の記録位置として導出する。
 参照ピクチャのPOC値は、参照ピクチャが前方短期参照ピクチャの場合、対象ピクチャのPOCの値から「delta_poc_s0_minus1[i]+1」の値を減算して導出する。一方、参照ピクチャが後方短期参照ピクチャの場合、対象ピクチャのPOCの値に「delta_poc_s1_minus1[i]+1」の値を加算して導出する。
 (S203)短期RPSに含まれる前方参照ピクチャを伝送された順に確認し、関連付けられているused_by_curr_pic_s0_flag[i]の値が1である場合、当該前方参照ピクチャを現ピクチャ短期前方参照可能リストListStCurrBeforeに追加する。それ以外(used_by_curr_pic_s0_flag[i]の値が0)の場合、当該前方参照ピクチャを後続ピクチャ短期参照可能リストListStFollに追加する。
 (S204)短期RPSに含まれる後方参照ピクチャを伝送された順に確認し、関連付けられているused_by_curr_pic_s1_flag[i]の値が1である場合、当該後方参照ピクチャを現ピクチャ短期後方参照可能リストListStCurrAfterに追加する。それ以外(used_by_curr_pic_s1_flag[i]の値が0の場合、当該前方参照ピクチャを後続ピクチャ短期参照可能リストListStFollに追加する。
 (S205) SPS長期RP情報、および、SH長期RP情報に基づいて、対象ピクチャの復号に用いる長期参照ピクチャセットを特定する。具体的には、num_long_term_spsの数の参照ピクチャを、SPS長期RP情報に含まれ、かつ、対象ピクチャとレイヤIDが等しい参照ピクチャの中から選択して、順に長期参照ピクチャセットに追加する。選択される参照ピクチャは、lt_idx_sps[i]の示す参照ピクチャである。続いて、num_long_term_picsの数の参照ピクチャをSH長期RP情報に含まれる参照ピクチャを順に長期参照ピクチャセットに追加する。対象ピクチャのレイヤIDが0以外の場合には、対象ピクチャとレイヤIDが異なるピクチャ、特に、対象ピクチャの依存レイヤref_layer_idが等しいレイヤID参照ピクチャの中から、対象ピクチャのPOCと等しいPOCを持つ参照ピクチャをさらに長期参照ピクチャセットに追加する。
 (S206)長期参照ピクチャセットに含まれる参照ピクチャ各々のPOCの値を導出し、復号ピクチャバッファ12上で対象ピクチャとレイヤIDが等しい参照ピクチャの中から当該POC値と関連付けられて記録されている局所復号画像の位置を検出して、参照ピクチャの復号ピクチャバッファ上の記録位置として導出する。また、対象ピクチャとレイヤIDが異なる参照ピクチャについては、依存レイヤref_layer_idにより指定されたレイヤIDと対象ピクチャのPOCと関連付けられて記録されている局所復号画像の位置を検出して、参照ピクチャの復号ピクチャバッファ上の記録位置として導出する。
 長期参照ピクチャのPOCは、対象ピクチャとレイヤIDが等しい参照ピクチャについては、関連付けて復号されたpoc_lst_lt[i]、または、lt_ref_pic_poc_lsb_sps[i]の値から直接導出される。対象ピクチャとレイヤIDが異なる参照ピクチャについては、対象ピクチャのPOCが設定される。
 (S207)長期参照ピクチャセットに含まれる参照ピクチャを順に確認し、関連付けられているused_by_curr_pic_lt_flag[i]、または、used_by_curr_pic_lt_sps_flag[i]の値が1である場合、当該長期参照ピクチャを現ピクチャ長期参照可能リストListLtCurrに追加する。それ以外(used_by_curr_pic_lt_flag[i]、または、used_by_curr_pic_lt_sps_flag[i]の値が0)の場合、当該長期参照ピクチャを後続ピクチャ長期参照可能リストListLtFollに追加する。
 (S208)変数NumPocTotalCurrの値を、現ピクチャから参照可能な参照ピクチャの和に設定する。すなわち、変数NumPocTotalCurrの値を、現ピクチャ短期前方参照可能リストListStCurrBefore、現ピクチャ短期後方参照可能リストListStCurrAfter、および、現ピクチャ長期参照可能リストListLtCurrの3つのリストの各要素数の和に設定する。
  (参照ピクチャリスト構築処理の詳細)
 上記復号手順におけるS16の処理、すなわち、参照ピクチャリスト構築処理の詳細を説明する。既に説明したとおり、参照ピクチャリスト導出部132は、参照ピクチャセットRPSと、RPL修正情報に基づいて参照ピクチャリストRPLを生成する。
 参照ピクチャリストはL0参照リストとL1参照リストの2つのリストから構成される。始めに、L0参照リストの構築手順を説明する。L0参照リストは、以下のS301~S307に示す手順で構築される。
 (S301)暫定L0参照リストを生成して、空のリストに初期化する。
 (S302)暫定L0参照リストに対し、現ピクチャ短期前方参照可能リストに含まれる参照ピクチャを順に追加する。
 (S303)暫定L0参照リストに対し、現ピクチャ短期後方参照可能リストに含まれる参照ピクチャを順に追加する。
 (S304)暫定L0参照リストに対し、現ピクチャ長期参照可能リストに含まれる参照ピクチャを順に追加する。
 (S305)参照ピクチャリストが修正される場合(RPL修正情報に含まれるlists_modification_present_flagの値が1の場合)、以下のS306a~S306bの処理を実行する。そうでない場合(lists_modification_present_flagの値が0の場合)、S307の処理を実行する。
 (S306a)L0参照ピクチャの修正が有効な場合(RPL修正情報に含まれるref_pic_list_modification_flag_l0の値が1の場合)であって、かつ、現ピクチャ参照可能ピクチャ数NumCurrListが2に等しい場合、S306bを実行する。そうでない場合、S306cを実行する。
 (S306b)RPL修正情報に含まれるリスト並べ替え順序list_entry_l0[i]の値を下記の式により設定し、その後、S306cを実行する。
 list_entry_l0[0] = 1
 list_entry_l0[1] = 0
 (S306c)参照リスト並べ替え順序list_entry_l0[i]の値に基づいて、暫定L0参照リストの要素を並べ換えて、L0参照リストとする。参照ピクチャインデックスrIdxに対応するL0参照リストの要素RefPicList0[rIdx]は、次式により導出される。ここで、RefListTemp0[i]は、暫定L0参照リストのi番目の要素を表す。
 RefPicList0[ rIdx ] = RefPicListTemp0[ list_entry_l0[ rIdx ] ]
上記の式によれば、参照リスト並べ替え順序list_entry_l0[i]において、参照ピクチャインデックスrIdxの示す位置に記録されている値を参照し、暫定L0参照リストにおいて前記値の位置に記録されている参照ピクチャを、L0参照リストのrIdxの位置の参照ピクチャとして格納する。
 (S307)暫定L0参照リストをL0参照リストとする。
 次にL1参照リストを構築する。なお、L1参照リストも、上記L0参照リストと同様の手順で構築できる。上記L0参照リストの構築手順(S301~S307)において、L0参照ピクチャ、L0参照リスト、暫定L0参照リスト、list_entry_l0をそれぞれ、L1参照ピクチャ、L1参照リスト、暫定L1参照リスト、list_entry_l1と置き換えればよい。
 上記では、図43において、現ピクチャ参照可能ピクチャ数が2の場合にRPL修正情報を省略する例を記載したが、それに限らない。現ピクチャ参照可能ピクチャ数が1の場合にRPL修正情報を省略してもよい。具体的には、参照ピクチャ情報復号部におけるSHリスト修正情報の復号処理において、参照リスト並べ替え情報を図45に示すシンタックス表に基づいてパースする。図45は、スライスヘッダ復号時に利用される参照リスト並べ替え情報のシンタックス表を例示している。
  [ピクチャ復号部11]
 ピクチャ復号部11は、符号化データ#1、ヘッダ復号部10より入力されるヘッダ情報、復号ピクチャバッファ12に記録されている参照ピクチャ、および、参照ピクチャリスト導出部132より入力される参照ピクチャリストに基づいて、各ピクチャの局所復号画像を生成して復号ピクチャバッファ12に記録する。
 図44は、本実施形態に係るピクチャ復号部11の構成を示す概略図である。ピクチャ復号部11は、エントロピー復号部301、予測パラメータ復号部302、予測パラメータメモリ(予測パラメータ記憶部)307、予測画像生成部308、逆量子化・逆DCT部311、及び加算部312を含んで構成される。
 また、予測パラメータ復号部302は、インター予測パラメータ復号部303及びイントラ予測パラメータ復号部304を含んで構成される。予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。
 エントロピー復号部301は、外部から入力された符号化データ#1に対してエントロピー復号を行って、個々の符号(シンタックス要素)を分離し復号する。分離された符号には、予測画像を生成するための予測情報および、差分画像を生成するための残差情報などがある。
 エントロピー復号部301は、分離した符号の一部を予測パラメータ復号部302に出力する。分離した符号の一部とは、例えば、予測モードPredMode、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idx、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXである。どの符号を復号するか否かの制御は、予測パラメータ復号部302の指示に基づいて行われる。エントロピー復号部301は、量子化係数を逆量子化・逆DCT部311に出力する。この量子化係数は、符号化処理において、残差信号に対してDCT(Discrete Cosine Transform、離散コサイン変換)を行い量子化して得られる係数である。
 インター予測パラメータ復号部303は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してインター予測パラメータを復号する。
 インター予測パラメータ復号部303は、復号したインター予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。インター予測パラメータ復号部303の詳細については後述する。
 イントラ予測パラメータ復号部304は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測パラメータを生成する。イントラ予測パラメータとは、復号対象ブロックの予測画像をイントラ予測を用いて生成する際に必要な情報であり、例えば、イントラ予測モードIntraPredModeである。
 イントラ予測パラメータ復号部304は、イントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。
 予測パラメータメモリ307は、予測パラメータを、復号対象のピクチャ及びブロック毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ307は、インター予測パラメータ復号部303が復号したインター予測パラメータ、イントラ予測パラメータ復号部304が復号したイントラ予測パラメータ及びエントロピー復号部301が分離した予測モードpredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測リスト利用フラグpredFlagLX(インター予測フラグinter_pred_idx)、参照ピクチャインデックスrefIdxLX、ベクトルmvLXがある。
 予測画像生成部308には、エントロピー復号部301から入力された予測モードpredModeが入力され、また予測パラメータ復号部302から予測パラメータが入力される。また、予測画像生成部308は、復号ピクチャバッファ12から参照ピクチャを読み出す。予測画像生成部308は、予測モードpredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャを用いて予測ピクチャブロックP(予測画像)を生成する。
 ここで、予測モードpredModeがインター予測モードを示す場合、インター予測画像生成部309は、インター予測パラメータ復号部303から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測により予測ピクチャブロックPを生成する。予測ピクチャブロックPはPUに対応する。PUは、上述したように予測処理を行う単位となる複数の画素からなるピクチャの一部分、つまり1度に予測処理が行われる復号対象ブロックに相当する。
 インター予測画像生成部309は、予測リスト利用フラグpredFlagLXが1である参照ピクチャリスト(L0参照リスト、もしくはL1参照リスト)に対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャから、復号対象ブロックを基準としてベクトルmvLXが示す位置にある参照ピクチャブロックを復号ピクチャバッファ12から読み出す。インター予測画像生成部309は、読み出した参照ピクチャブロックについて予測を行って予測ピクチャブロックPを生成する。インター予測画像生成部309は、生成した予測ピクチャブロックPを加算部312に出力する。
 予測モードpredModeがイントラ予測モードを示す場合、イントラ予測画像生成部310は、イントラ予測パラメータ復号部304から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部310は、復号対象のピクチャであって、既に復号されたブロックのうち復号対象ブロックから予め定めた範囲にある参照ピクチャブロックを復号ピクチャバッファ12から読み出す。予め定めた範囲とは、復号対象ブロックがいわゆるラスタースキャンの順序で順次移動する場合、例えば、左、左上、上、右上の隣接ブロックのうちのいずれかであり、イントラ予測モードによって異なる。ラスタースキャンの順序とは、各ピクチャにおいて、上端から下端まで各行について、順次左端から右端まで移動させる順序である。
 イントラ予測画像生成部310は、読み出した参照ピクチャブロックと、入力された予測パラメータを用いて予測ピクチャブロックを生成する。
 イントラ予測画像生成部310は、生成した予測ピクチャブロックPを加算部312に出力する。
 逆量子化・逆DCT部311は、エントロピー復号部301から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部311は、求めたDCT係数について逆DCT(Inverse Discrete Cosine Transform、逆離散コサイン変換)を行い、復号残差信号を算出する。逆量子化・逆DCT部311は、算出した復号残差信号を加算部312に出力する。
 加算部312は、インター予測画像生成部309及びイントラ予測画像生成部310から入力された予測ピクチャブロックPと逆量子化・逆DCT部311から入力された復号残差信号の信号値を画素毎に加算して、参照ピクチャブロックを生成する。加算部312は、生成した参照ピクチャブロックを参照ピクチャバッファに記憶し、生成した参照ピクチャブロックをピクチャ毎に統合した復号レイヤ画像Tdを外部に出力する。
 〔画像符号化装置〕
 以下において、本実施形態に係る画像符号化装置2について、図45を参照して説明する。
  (画像符号化装置の概要)
 画像符号化装置2は、概略的に言えば、入力画像#10を符号化することによって符号化データ#1を生成し、出力する装置である。
  (画像符号化装置の構成)
 本実施形態に係る画像符号化装置2の構成例について説明する。図45は、本実施形態に係る画像符号化装置2の構成を示す概略図である。画像符号化装置2は、ヘッダ符号化部10E、ピクチャ符号化部21、復号ピクチャバッファ12、参照ピクチャ決定部13Eを含んで構成される。画像符号化装置2は、複数のレイヤを含む画像において特定の時刻のピクチャから復号を開始する後述するランダムアクセス復号処理が可能である。
  [ヘッダ符号化部10E]
 ヘッダ符号化部10Eは、入力画像#10に基づいて、NALユニットヘッダ、SPS、PPS、および、スライスヘッダなどをの、NALユニット単位、シーケンス単位、ピクチャ単位、またはスライス単位で復号に利用される情報を生成し、符号化して出力する。
 ヘッダ符号化部10Eは、符号化データ#1に含まれるVPS、SPS、およびPPSを既定のシンタックス定義に基づいてパースして、シーケンス単位で復号に利用される情報を符号化する。例えば、レイヤ数に関する情報がVPSに符号化され、復号画像の画像サイズに関連する情報がSPSに符号化される。なお、複数レイヤの復号画像の画像サイズに関連する情報(レプリゼンテーション情報)はVPSで符号化され、SPSでは、ある対象レイヤの復号画像の画像サイズに関する情報(レプリゼンテーション情報)が符号化される。
 また、ヘッダ符号化部10Eは、符号化データ#1に含まれるスライスヘッダを既定のシンタックス定義に基づいてパースして、スライス単位で復号に利用される情報を符号化する。例えば、スライスタイプがスライスヘッダから符号化される。
 なお、ヘッダ符号化部10E、さらに、NALユニットヘッダ符号化部101E、VPS符号化部102E(222)、SPS符号化部103E、PPS符号化部104、及びスライスヘッダ符号化部105E等を含んで構成される(不図示)。
 NALユニットヘッダ符号化101Eは、さらに、レイヤID符号化部1011E、NALユニットタイプ符号化部1012Eを含んで構成される(不図示)。
 レイヤID符号化部1011Eは、外部から入力された各レイヤ画像Tの画像信号の符号化データ(スライスヘッダ、及びスライスデータ)、及びスライスデータを復号するために参照されるパラメータセット(VPS、SPS、PPS、及びSEI)の符号化データに対して、各レイヤ、及びレイヤに付随するサブレイヤを識別するためのレイヤID、テンポラルIDを付与し、符号化する。
 NALユニットタイプ符号化部1012Eは、各符号化データに対して、符号化データの種別(識別)を表すNALユニットタイプを付与し、符号化する。なお、NALユニットタイプは説明済みのため省略する。
 VPS符号化部102E(222)は、VPS復号部102の逆処理に対応し、複数のレイヤ画像T、及びVPSの規定シンタックスに基づいて、レイヤ単位で利用される情報を符号化する。なお、VPS符号化部102E(222)の詳細については、後述する。
 SPS符号化部103Eは、SPS復号部103の逆処理に対応し、レイヤ画像T、及びSPSの規定のシンタックス定義に基づいて、シーケンス単位で利用される情報を符号化する。
 PPS符号化部104Eは、PPS復号部104の逆処理に対応し、レイヤ画像Tの各ピクチャ、及びPPSの規定のシンタックス定義に基づいて、ピクチャ単位で利用される情報を符号化する。
 スライスヘッダ符号化部105Eは、スライスヘッダ復号部105の逆処理に対応し、レイヤ画像Tのピクチャを構成するスライス単位毎に、スライスヘッダの規定のシンタクス定義に基づいて符号化し、スライス単位で復号に利用される情報を符号化する。
 なお、VPS、SPSには各レイヤセットの符号化/復号に必要とするプロファイル、およびレベルに関するプロファイル/レベル情報profile_tier_level()が含まれる。ヘッダ符号化部10Eは、プロファイル/レベル情報に関して、以下の処理を行う。ヘッダ符号化部10Eは、外部より供給された、または予め設定された、レイヤセット数、及び各レイヤセットに適用するPTL情報の総数を供給する。続いて、外部より供給された、または予め設定された、レイヤセット0(例えば、基本レイヤ)、及び基本レイヤ、拡張レイヤより構成される各レイヤセット(レイヤに属する各サブレイヤも含む)のプロファイル情報、およびレベル情報(プロファイル/レベル/ティア)に基づいて、各レイヤセットに適用するプロファイル有無フラグ、サブレイヤのプロファイル有無フラグ(サブレイヤ有無フラグ)、サブレイヤのレベル有無フラグ(サブレイヤレベル有無フラグ)の値を設定し、設定したプロファイル有無フラグ、および各サブレイヤのプロファイル有無フラグ/レベル有無フラグを、ヘッダ情報符号化部へ供給する。また、あるPTL情報のプロファイル有無フラグが0であれば、該PTL情報が参照するPTL情報のリスト上の位置を示す参照PLT指定情報を供給する。
  (画像復号装置との対応関係)
 画像符号化装置2は、画像復号装置1の各構成と対応する構成を含む。ここで、対応とは、同様の処理、または、逆の処理を行う関係にあるということである。
 例えば、画像復号装置1が備える参照ピクチャ情報復号部の参照ピクチャ情報復号処理と、画像符号化装置2が備える参照ピクチャ情報符号化部の参照ピクチャ情報符号化処理とは、同様である。より詳細には、参照ピクチャ情報復号部は、SPSやスライスヘッダから復号されるシンタックス値としてRPS情報や修正RPL情報を生成する。それに対し、参照ピクチャ情報符号化部は、入力されたRPS情報や修正RPL情報を、SPSやスライスヘッダのシンタックス値として符号化する。
 例えば、画像復号装置1において、ビット列から、シンタックス値を復号する処理は、画像符号化装置2において、シンタックス値から、ビット列を符号化する処理と逆の処理としての対応となっている。
  (処理の流れ)
 画像符号化装置2が、入力画像#10から出力符号化データ#1を生成する手順は次のとおりである。
 (S21)入力画像#10を構成する各ピクチャ(対象ピクチャ)に対して、以下のS22~S29の処理を実行する。
 (S22)参照ピクチャセット決定部は入力画像#10内の対象ピクチャと復号ピクチャバッファ12に記録されている局所復号画像に基づいて参照ピクチャセットRPSを決定して、参照ピクチャリスト決定部に出力する。また、参照ピクチャセットRPSの生成に必要なRPS情報を導出して、参照ピクチャ情報符号化部に出力する。
 (S23)参照ピクチャリスト決定部は入力画像#10内の対象ピクチャと入力された参照ピクチャセットRPSに基づいて参照ピクチャリストRPLを導出し、ピクチャ符号化部21、および、ピクチャ復号部11に出力する。また、参照ピクチャリストRPLの生成に必要なRPL修正情報を導出して、参照ピクチャ情報符号化部に出力する。
 (S24)参照ピクチャ情報符号化部は、参照ピクチャセットRPSおよび参照ピクチャリストRPLに基づいて、SPS、または、スライスヘッダに含めるためのRPS情報およびRPL修正情報を生成する。
 (S25)ヘッダ符号化部10Eは、入力画像#10、および、参照ピクチャ決定部13Eで生成されたRPS情報およびRPL修正情報に基づいて、対象ピクチャに適用するSPSを生成して出力する。
 (S26)ヘッダ符号化部10Eは、入力画像#10に基づいて、対象ピクチャに適用するPPSを生成して出力する。
 (S27)ヘッダ符号化部10Eは、入力画像#10、および、参照ピクチャ決定部13Eで生成されたRPS情報およびRPL修正情報に基づいて、対象ピクチャを構成する各スライスのスライスヘッダを符号化して、符号化データ#1の一部として外部に出力するとともに、ピクチャ復号部11に出力する。
 (S28)ピクチャ符号化部21は、入力画像#10に基づいて、対象ピクチャを構成する各スライスのスライスデータを生成して、符号化データ#1の一部として外部に出力する。
 (S29)ピクチャ符号化部21は、対象ピクチャの局所復号画像を生成し、対象ピクチャのレイヤIDとPOCに関連付けて復号ピクチャバッファに記録する。
  (ピクチャ符号化部21の構成)
 次に、本実施形態に係るピクチャ符号化部21の構成について説明する。図46は、本実施形態に係るピクチャ符号化部21の構成を示すブロック図である。ピクチャ符号化部21は、予測画像生成部201、減算部202、DCT・量子化部203、エントロピー符号化部204、逆量子化・逆DCT部205、加算部206、予測パラメータメモリ208、符号化パラメータ決定部210、予測パラメータ符号化部211を含んで構成される。予測パラメータ符号化部211は、インター予測パラメータ符号化部212及びイントラ予測パラメータ符号化部213を含んで構成される。
 予測画像生成部201は、外部から入力されたレイヤ画像Tのレイヤ毎の各ピクチャについて、そのピクチャを分割した領域であるブロック毎に予測ピクチャブロックPを生成する。ここで、予測画像生成部201は、予測パラメータ符号化部211から入力された予測パラメータに基づいて復号ピクチャバッファ12から参照ピクチャブロックを読み出す。予測パラメータ符号化部211から入力された予測パラメータとは、例えば、動きベクトル又は変位ベクトルである。予測画像生成部201は、符号化対象ブロックを起点として予測された動きベクトル又は変位ベクトルが示す位置にあるブロックの参照ピクチャブロックを読み出す。予測画像生成部201は、読み出した参照ピクチャブロックについて複数の予測方式のうちの1つの予測方式を用いて予測ピクチャブロックPを生成する。予測画像生成部201は、生成した予測ピクチャブロックPを減算部202に出力する。なお、予測画像生成部201は、既に説明した予測画像生成部308と同じ動作であるため予測ピクチャブロックPの生成の詳細は省略する。
 予測画像生成部201は、予測方式を選択するために、例えば、レイヤ画像に含まれるブロックの画素毎の信号値と予測ピクチャブロックPの対応する画素毎の信号値との差分に基づく誤差値を最小にする予測方式を選択する。予測方式を選択する方法は、これには限られない。
 符号化対象のピクチャがベースレイヤピクチャである場合には、複数の予測方式とは、イントラ予測、動き予測及びマージ予測である。動き予測とは、上述のインター予測のうち、表示時刻間の予測である。マージ予測とは、既に符号化されたブロックであって、符号化対象ブロックから予め定めた範囲内にあるブロックと同一の参照ピクチャブロック及び予測パラメータを用いる予測である。符号化対象のピクチャがノンベースビューピクチャである場合には、複数の予測方式とは、イントラ予測、動き予測、マージ予測、及び変位予測である。変位予測(視差予測)とは、上述のインター予測のうち、別レイヤ画像(別視点画像)間の予測である。さらに、動き予測、マージ予測、及び変位予測である。
 予測画像生成部201は、イントラ予測を選択した場合、予測ピクチャブロックPを生成する際に用いたイントラ予測モードを示す予測モードpredModeを予測パラメータ符号化部211に出力する。
 予測画像生成部201は、動き予測を選択した場合、予測ピクチャブロックPを生成する際に用いた動きベクトルmvLXを予測パラメータメモリ208に記憶し、インター予測パラメータ符号化部212に出力する。動きベクトルmvLXは、符号化対象ブロックの位置から予測ピクチャブロックPを生成する際の参照ピクチャブロックの位置までのベクトルを示す。動きベクトルmvLXを示す情報には、参照ピクチャを示す情報(例えば、参照ピクチャインデックスrefIdxLX、ピクチャ順序番号POC)を含み、予測パラメータを表すものであっても良い。また、予測画像生成部201は、インター予測モードを示す予測モードpredModeを予測パラメータ符号化部211に出力する。
 予測画像生成部201は、変位予測(レイヤ間画像予測)を選択した場合、予測ピクチャブロックPを生成する際に用いた変位ベクトルを予測パラメータメモリ208に記憶し、インター予測パラメータ符号化部212に出力する。変位ベクトルdvLXは、符号化対象ブロックの位置から予測ピクチャブロックPを生成する際の参照ピクチャブロックの位置までのベクトルを示す。変位ベクトルdvLXを示す情報には、参照ピクチャを示す情報(例えば、参照ピクチャインデックスrefIdxLX、レイヤID(あるいは、ビューIDview_id))を含み、予測パラメータを表すものであっても良い。また、予測画像生成部201は、インター予測モードを示す予測モードpredModeを予測パラメータ符号化部211に出力する。
 予測画像生成部201は、マージ予測を選択した場合、選択した参照ピクチャブロックを示すマージインデックスmerge_idxをインター予測パラメータ符号化部212に出力する。また、予測画像生成部201は、マージ予測モードを示す予測モードpredModeを予測パラメータ符号化部211に出力する。
 減算部202は、予測画像生成部201から入力された予測ピクチャブロックPの信号値を、外部から入力されたレイヤ画像Tの対応するブロックの信号値から画素毎に減算して、残差信号を生成する。減算部202は、生成した残差信号をDCT・量子化部203と符号化パラメータ決定部210に出力する。
 DCT・量子化部203は、減算部202から入力された残差信号についてDCTを行い、DCT係数を算出する。DCT・量子化部203は、算出したDCT係数を量子化して量子化係数を求める。DCT・量子化部203は、求めた量子化係数をエントロピー符号化部204及び逆量子化・逆DCT部205に出力する。
 エントロピー符号化部204には、DCT・量子化部203から量子化係数が入力され、符号化パラメータ決定部210から符号化パラメータが入力される。入力される符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX、予測モードpredMode、及びマージインデックスmerge_idx等の符号がある。
 エントロピー符号化部204は、入力された量子化係数と符号化パラメータをエントロピー符号化して符号化データ#1を生成し、生成した符号化データ#1を外部に出力する。
 逆量子化・逆DCT部205は、DCT・量子化部203から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部205は、求めたDCT係数について逆DCTを行い、符号化残差信号を算出する。逆量子化・逆DCT部205は、算出した符号化残差信号を加算部206に出力する。
 加算部206は、予測画像生成部201から入力された予測ピクチャブロックPの信号値と逆量子化・逆DCT部205から入力された符号化残差信号の信号値を画素毎に加算して、参照ピクチャブロックを生成する。加算部206は、生成した参照ピクチャブロックを復号ピクチャバッファ12に記憶する。
 予測パラメータメモリ208は、予測パラメータ符号化部211が生成した予測パラメータを、符号化対象のピクチャ及びブロック毎に予め定めた位置に記憶する。
 符号化パラメータ決定部210は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述した予測パラメータやこの予測パラメータに関連して生成される符号化の対象となるパラメータである。予測画像生成部201は、これらの符号化パラメータのセットの各々を用いて予測ピクチャブロックPを生成する。
 符号化パラメータ決定部210は、複数のセットの各々について情報量の大きさと符号化誤差を示すコスト値を算出する。コスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化データ#1の情報量である。二乗誤差は、減算部202において算出された残差信号の残差値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部210は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部204は、選択した符号化パラメータのセットを符号化データ#1として外部に出力し、選択されなかった符号化パラメータのセットを出力しない。
 予測パラメータ符号化部211は、予測画像生成部201から入力されたパラメータに基づいて予測ピクチャを生成する際に用いる予測パラメータを導出し、導出した予測パラメータを符号化して符号化パラメータのセットを生成する。予測パラメータ符号化部211は、生成した符号化パラメータのセットをエントロピー符号化部204に出力する。
 予測パラメータ符号化部211は、生成した符号化パラメータのセットのうち符号化パラメータ決定部210が選択したものに対応する予測パラメータを予測パラメータメモリ208に記憶する。
 予測パラメータ符号化部211は、予測画像生成部201から入力された予測モードpredModeがインター予測モードを示す場合、インター予測パラメータ符号化部212を動作させる。予測パラメータ符号化部211は、予測モードpredModeがイントラ予測モードを示す場合、イントラ予測パラメータ符号化部213を動作させる。
 インター予測パラメータ符号化部212は、符号化パラメータ決定部210から入力された予測パラメータに基づいてインター予測パラメータを導出する。インター予測パラメータ符号化部212は、インター予測パラメータを導出する構成として、インター予測パラメータ復号部303がインター予測パラメータを導出する構成と同一の構成を含む。
 イントラ予測パラメータ符号化部213は、符号化パラメータ決定部210から入力された予測モードpredModeが示すイントラ予測モードIntraPredModeをインター予測パラメータのセットとして定める。
 以下では、図7~9、17、20~24、26、29、33、47~49を参照し、本発明の実施例1に係るVPS符号化部102Eについて説明する。
  [VPS符号化部222(102E)]
 図47は、VPS符号化部222の概略的構成について示した機能ブロック図である。図47に示すように、VPS符号化部222は、プロファイルレベル情報符号化部(PTL情報符号化部)2221、参照PTL指定情報符号化部2222、プロファイル有無フラグ符号化部2223を含んで構成される。
 <VPSの詳細な符号化プロセス>
 以下、VPS符号化部222の動作について、図17を参照しながら説明する。図17において、”復号”を”符号化”と置き換えて解釈する。VPS符号化部222は、VSP復号部102の逆処理である。
 (ステップSA101)VPS符号化部222は、図7上のシンタックス群SYNVPS01を符号化する。
 (ステップSA102)VPS符号化部222に含まれるPTL情報符号化部2221が、図7上のSYNVPS02に示すレイヤセット0のPTL情報を符号化する。
 (ステップSA103)VPS符号化部222は、図7上のシンタックス群SYNVPS03に示す各レイヤセットを構成するレイヤIDを符号化する。
 (ステップSA104)VPS符号化222は、図7上のVPS拡張フラグvps_extension_flag(図7上のSYNVPS04)を符号化する。
 (ステップSA105)VPS拡張フラグが1の場合(ステップSA105でYES)、VPS拡張データがVPS上にあると判定し、ステップSA106へ進む。VPS拡張フラグが0の場合(ステップSA105でNo)、VPS拡張データがVPS上にないと判定し、ステップSA109へ進む。
 (ステップSA106)VPS拡張フラグの次ビットからVPS拡張データに含まれるavc_base_flagの直前まで、バイトアラインを調整するために、バイトアラインデータ(vps_extension_aligment_bit_equal_to_one)(図7上のシンタックス群SYNVPS05)を符号化する。
 (ステップSA107)VPS拡張データvps_extension()を符号化する。なお、VPS拡張データの詳細の符号化プロセスについては後述する。
 (ステップSA108)VPS符号化部222は、図7上のSYNVPS07に示すVPS拡張2フラグvps_extension2_flagを符号化する。VPS拡張2フラグが1であれば、さらにVPS拡張2データを符号化する。
 (ステップSA109)VPS符号化部222は、図7上のSYNVPS08に示すRBSP_traling_bits()を符号化する。RBSP_trailing_bits()とは、バイトアラインデータである。なお、バイトアラインデータは、スタッフィングデータとも呼ばれる。
  <VPS拡張データの詳細な符号化プロセス>
 図18を参照しながら、VPS拡張データの符号化プロセスについて説明する。図18において、”復号”を”符号化”と置き換えて解釈する。
 (ステップSB101)VPS符号化部222は、図8上のシンタックス群SYNVPS0Aを符号化する。
 (ステップSB102)VPS符号化部222は、図8上のシンタックス群SYNVPS0Bに示す、各レイヤが参照する依存レイヤ(直接参照レイヤ、従属レイヤともいう)に関する依存フラグを符号化する。
 (ステップSB103)VPS符号化部222は、レイヤセット数(図8上のシンタックスSYNVPS0C)を符号化する。
 (ステップSB104)VPS符号化部222は、VPS上に含まれるPTL情報の総数(図8上のSYNVPS0D)を符号化する。
 (ステップSB105)VPS上に含まれるPTL情報の符号化プロセスのループ開始点である。
 (ステップSB106)VPS符号化部222に含まれるプロファイル有無フラグ符号化2223は、i番目のPTL情報profile_tier_level()上に、プロファイル情報を示すシンタックス群の有無を示すプロファイル有無フラグ(図8上のシンタックスSYNVPS0E)を符号化する。
 (ステップSB107)プロファイル有無フラグが0の場合は、i番目のPTL情報上にプロファイル情報を示すシンタックス群がないと判定し、ステップSB108へ進む。プロファイル有無フラグが1の場合は、i番目のPTL情報上にプロファイル情報を示すシンタックス群がある判定し、ステップSB109へ進む。
 (ステップSB108)プロファイル有無フラグが0の場合、VPS符号化部222に含まれる参照PTL指定情報符号化部2222は、i番目のPTL情報のプロファイル情報をPTL情報リスト上のいずれのPTL情報から参照するかを示す参照PTL情報指定インデクス(参照プロファイルレベル情報相対インデクスともいう)”profile_ref_delta_index_minus1[i]”(図8上のSYNVPS0Fa)を符号化する。参照PTL情報指定インデクス“profile_ref_delta_index_minus1[i]”は、i番目のPTL情報と参照先PTL情報の相対インデクスを表わす。すなわち、i番目のPTL情報は、j = (i - profile_ref_delta_minus1[i] +1 )で特定される、j番目のPTL情報をプロファイル情報の参照先とする。なお、予めエンコーダ側で、PTL情報リスト上のPTL情報を、類似順に並び替えておくことで、i番目のPTL情報は、直前のPTL情報を参照する確率を高めることができる。従って、参照PTL指定インデクス” profile_ref_delta_index_minus1[i]”は相対インデクスを、例えば、図20に示すように、ゴロム符号で表わすことにより、参照PTL指定インデクスを表現するために必要なビット長を従来に比べて削減することが可能である。
 換言すれば、プロファイル/レベル情報符号化部は、上記プロファイル/レベル情報におけるi番目の参照PTL情報指定インデクスのセマンティックを、当該i番目の参照PTL情報指定インデクスが、i番目のプロファイル/レベル情報と参照されるプロファイル/レベル情報との間の相対的な位置を指定するものとして取り扱う。
 例えば、参照PTL指定インデクス“profile_ref_delta_minus1[i]”の値が0、すなわち、i番目のPTL情報のひとつ前(i-1)番目のPTL情報を参照する場合、図20に示すゴロム符号を用いることにより、参照PTL指定インデクスを表現するのに必要なビット長は1ビットとなる。これにより、従来技術に比べて、参照PTL情報指定インデクスを固定長で表わす場合に比べて、符号量を削減することができる。また、PTL情報リスト上の先頭PTL情報(0番目)を参照することができるため、対象PTL情報が1番目のときに、参照PTL情報指定インデックスが機能しない欠点を解消することができる。なお、参照PTL指定インデクス“profile_ref_delta_minus1[i]”をゴロム符号の代わりに、k次指数ゴロム符号(k-th order Exponential Golomb: EGk(K>=0))により復号してもよく、同様の効果を奏する。なお、図20に示すゴロム符号は、0次指数ゴロム符号とも呼ばれる。
 なお、PTL情報リスト上の先頭PTL情報(0番目)を参照することを禁止する場合は、対象PTL情報が1番目のときに、プロファイル有無フラグを必ず1と設定し、明示的に、1番目のPTL情報のプロファイル情報を必ず符号化データ内に含むよう、デコーダとエンコーダ間で予め取り決めておいてもよい(ビットストリーム制約ともいう)。これにより、対象PTL情報が1番目のときに、参照PTL情報指定インデックスが機能しない欠点を同様に解消することができる。
 (ステップSB109)VPS符号化部222に含まれるPTL情報符号化部2222は、プロファイル有無フラグ、参照PTL指定情報(参照PTL指定インデクス)、サブレイヤ数、PTL情報を入力として、i番目のPTL情報のプロファイル、及びレベル情報を符号化する。PTL情報符号化2221の詳細については後述する。
 (ステップSB110)VPS上に含まれるPTL情報の符号化プロセスのループ終端である。
 (ステップSB111)VPS符号化部222は、各出力レイヤセットに適用するPTL情報を指定するPTL情報指定インデクス(図8上のシンタックス群SYNVPS0H上のprofile_level_tier_idx[i])を符号化する。
 (ステップSB112)VPS符号化部222は、図8上のシンタックス群SYNVPS0Iに示す各レイヤの従属レイヤタイプを符号化する。
 (ステップSB111)VPS符号化222は、図8上のその他シンタックス群SYNVPS0Jを符号化する。
 <PTL情報符号化部2221の詳細>
 次に、実施例1に係るPTL情報符号化部2221の詳細について、図49、図21を用いて説明する。PTL情報符号化部2221は、PTL情報復号部1021に対応する符号化装置である。なお、図21において、”復号”を”符号化”と置き換えて解釈する。
 図49は、PTL情報符号化部2221の構成について例示した機能ブロック図である。図49に示すように、PTL情報符号化部2221は、プロファイル情報符号化部2221a、レベル情報符号化部2221b、サブレイヤプロファイル有無フラグ符号化部2221c、サブレイヤレベル有無フラグ符号化部2221d、バイトアラインデータ符号化部2221eを備える。なお、本実施例では、図49におけるlevelPresentFlagの入力線は無いものとして解釈する。
 [プロファイル情報符号化部2221a]
 プロファイル情報符号化部2221aは、外部より供給される、プロファイル有無フラグprofilePresentFlagに基づいて、外部より供給される、符号化対象PTL情報のプロファイル情報(最高次サブレイヤのプロファイル情報、あるいは汎用プロファイル情報とも呼ぶ)を符号化し、符号化データDATA#Tとして出力する。具体的には、プロファイル有無フラグprofilePresentFlagが1の場合、符号化対象PTL情報のプロファイル情報を符号化し、符号化データDATA#Tとして出力する。プロファイル有無フラグprofilePresentFlagが0の場合、符号化対象PTL情報に符号化すべきプロファイル情報がないため、符号化処理を行わない。
 また、プロファイル情報符号化部2221aは、外部より供給される、プロファイル有無フラグprofilePresentFlag、サブレイヤ数MaxNumSubLayers、及び各サブレイヤのサブレイヤプロファイル有無フラグsub_layer_profile_present_flag[i]に基づいて、最高次サブレイヤを除く、符号化対象PTL情報の各サブレイヤのサブレイヤプロファイル情報を符号化し、符号化データDATA#Tとして出力する。
 なお、画像復号装置1と画像符号化装置2の間において、プロファイル有無フラグが1、及び0の場合における、各サブレイヤのプロファイル情報の設定方法(推定方法)について予め取り決めておいてもよい。例えば、既に説明済だが、プロファイル有無フラグが1の場合は、図62(a)に示す疑似コードに従って、各サブレイヤのプロファイル情報を設定する。また、プロファイル有無フラグが0の場合は、図62(b)に示す疑似コードに従って設定する。これにより、profilePresentFlag=1、かつ、sub_layer_profile_present_flag[i]=0の場合のサブレイヤのプロファイル情報が不定値となる問題を解消することができる。
 [レベル情報符号化部2221b]
 レベル情報符号化部2221bは、外部より供給される、符号化対象PTL情報のレベル情報(最高次サブレイヤのレベル情報、あるいは汎用レベル情報とも呼ぶ)を符号化し、符号化データ#Tとして出力する。また、レベル情報符号化部2221bは、外部より供給される、サブレイヤ数MaxNumSubLayers、及び各サブレイヤのサブレイヤレベル有無フラグsub_layer_level_present_flag[i]に基づいて、最高次サブレイヤを除く、符号化対象PTL情報の各サブレイヤのサブレイヤレベル情報を符号化し、符号化データ#Tとして出力する。
 具体的には、サブレイヤi(temporalId=i+1)のサブレイヤレベル有無フラグsub_layer_level_present_flag[i]が1の場合、外部より供給される、該サブレイヤiのレベル情報を符号化し、符号化データDATA#Tとして出力する。それ以外の場合(サブレイヤレベル有無フラグsub_layer_level_present_flag[i]が0)、符号化すべきレベル情報がないため、符号化処理を行わない。
 なお、画像復号装置1と画像符号化装置2の間において、サブレイヤiのサブレイヤレベル有無フラグが0の場合における、各サブレイヤのレベル情報の設定方法(推定方法)について予め取り決めておいてもよい。例えば、既に説明済だが、サブレイヤレベル有無フラグが0場合は、図63(a)、(b)に示す疑似コードに従って、各サブレイヤのレベル情報を設定する。これにより、sub_layer_level_present_flag[i]=0の場合のサブレイヤのレベル情報が不定値となる問題を解消することができる。
 [サブレイヤプロファイル有無フラグ符号化部2221c]
 サブレイヤプロファイル有無フラグ符号化部2221cは、外部より供給される、サブレイヤ数MaxNumSubLayersに基づいて、符号化対象PTL情報の各サブレイヤのサブレイヤプロファイル有無フラグを符号化し、符号化データDATA#Tとして出力する。
 [サブレイヤレベル有無フラグ符号化部2221d]
 サブレイヤレベル有無フラグ符号化部2221dは、外部より供給される、サブレイヤ数MaxNumSubLayersに基づいて、符号化対象PTL情報の各サブレイヤのサブレイヤレベル有無フラグを符号化し、符号化データDATA#Tとして出力する。
 [バイトアラインデータ符号化部2221e]
 バイトアラインデータ符号化2221eは、サブレイヤ数(MaxNumSbuLayersMinus1,またはMaxNumSubLayers-1)に基づいて定まるビット数分のバイトアラインデータ(reserved_zero_2bits[i])(図9上のシンタックスSYNPTL04)を2bit単位で符号化し、符号化データDATA#Tとして出力する。バイトアラインデータとして、符号化すべきビット数は、図9上のシンタックスSYNVPSPTL04から明らかなように、”(8 - MaxNumSubLayersMinus1) * 2 bits”である。
  (プロファイル/レベル情報profile_tier_level()の符号化処理の流れ)
 図21を参照して、PTL情報profile_tier_level()の符号化処理を説明する。なお、図21において、”復号”を”符号化”と置き換えて解釈する。また、ステップSC103,SC112, SC115における動作は、符号化装置側では実施しない。すなわち、ステップSC101の分岐でNOの場合、ステップSC104へ進む。また、ステップSC110の分岐でNOの場合、ステップSC113へ進む。また、ステップSC113の分岐でNOの場合、ステップSC116へ進む。
   (ステップSC101)プロファイル情報符号化部2221aは、プロファイル有無フラグprofilePresentFlagが1であるか判別する。プロファイル有無フラグprofilePresentFlagが1の場合(ステップSC101においてYes)の場合、ステップSC102へ進み、それ以外の場合(ステップSC101においてNo)の場合、ステップSC104へ進む。
   (ステップSC102)プロファイル情報符号化部2221aは、符号化対象PTL情報のプロファイル情報として、例えば、図9上のシンタックス群SYNPTL01、
・プロファイル空間general_profile_space
・ティアフラグgeneral_tier_flag
・プロファイル識別子general_profile_idc
・プロファイル互換フラグgeneral_profile_compatibility_flag[ i ]
…省略…
・プロファイル予約シンタックスgeneral_reserved_zero_44bits
等を符号化する。
   (ステップSC104)
 レベル情報符号化部2221bは、符号化対象PTL情報のレベル情報として以下のシンタックス、
・レベル識別子general_level_idc
を符号化する。
   (ステップSC105)
 サブレイヤのサブレイヤプロファイル有無フラグ、およびサブレイヤレベル有無フラグの符号化に関するループの開始である。ループの開始前に、変数iは0に初期化される。ループ内の処理は、変数iがサブレイヤ数-1、“MaxNumSubLayers - 1”未満のときに実行され、ループ内の処理が1回実行される度に、変数iは“1”増分される。すなわち、ステップSC105~ステップSC107では、最高次サブレイヤを除く、サブレイヤのサブレイヤプロファイル有無フラグ、及びサブレイヤレベル有無フラグが符号化される。
   (ステップSC106)
 サブレイヤプロファイル有無フラグ符号化部2221cは、変数iで指定されるサブレイヤに関するサブレイヤプロファイル有無フラグsub_layer_profile_present_flag[i]を符号化する。
 サブレイヤレベル有無フラグ符号化部2221dは、変数iで指定されるサブレイヤに関するサブレイヤレベル有無フラグsub_layer_level_present_flag[i]を符号化する。
   (ステップSC107)
 サブレイヤのサブレイヤプロファイル有無フラグ、およびサブレイヤレベル有無フラグの符号化に関するループの終端である。
   (ステップSC108)
 バイトアラインデータ符号化部2221eは、サブレイヤ数(MaxNumSbuLayersMinus1,またはMaxNumSubLayers-1)に基づいて定まるビット数分のバイトアラインデータ(reserved_zero_2bits[i])(図9上のシンタックスSYNPTL04)を2bit単位で符号化データDATA#Tへ挿入する(符号化する)。
 具体的には、ステップSC105~ステップSC107において、サブレイヤ毎に符号化されるサブレイヤプロファイル有無フラグとサブレイヤレベル有無フラグの符号量は各1ビット、計2ビットであり、サブレイヤ数はMaxNumSubLayersであるため、ステップSC105~ステップSC107で復号される符号量の総和は、2 * (MaxNumSubLayer - 1)である。従って、バイトアラインデータとして、符号化すべきビット数は、”(8 - MaxNumSubLayersMinus1) * 2 bits”である。
   (ステップSC109)
 サブレイヤのサブレイヤプロファイル情報、およびサブレイヤレベル情報の符号化に関するループの開始点である。ループの開始前に、変数iは0に初期化される。ループ内の処理は、変数iがサブレイヤ数-1、“MaxNumSubLayers - 1”未満のときに実行され、ループ内の処理が1回実行される度に、変数iは”1”増分される。
   (ステップSC110)
 プロファイル情報符号化部2221aは、変数iで指定されるサブレイヤのサブレイヤプロファイル有無フラグsub_layer_profile_present_flag[i]が1であるかを判定する。サブレイヤプロファイル有無フラグが1の場合(ステップSC110においてYes)、ステップSC111へ進み、それ以外の場合(ステップSC110においてNo)、ステップSC113へ進む。
   (ステップSC111)
 プロファイル情報符号化部2221aは、変数iで指定されるサブレイヤのサブレイヤプロファイル情報として、例えば、図9上のシンタックス群SYNPTL05に示す
・サブレイヤプロファイル空間sub_layer_profile_space[ i ]
・サブレイヤティアフラグsub_layer_tier_flag[ i ]
・サブレイヤプロファイル識別子sub_layer_profile_idc[ i ]
・サブレイヤプロファイル互換フラグsub_layer_profile_compatibility_flag[ i ][ j ]…省略…
・サブレイヤプロファイル予約シンタックスsub_layer_reserved_zero_44bits[ i ]
を符号化し出力する。
   (ステップSC113)
 レベル情報符号化部2221bは、変数iで指定されるサブレイヤのサブレイヤレベル有無フラグsub_layer_level_present_flag[i]が1であるか判定する。サブレイヤレベル有無フラグが1の場合(ステップSC113においてYes)、ステップSC114へ進み、それ以外の場合(ステップSC113においてNo)、ステップSC116へ進む。
   (ステップSC114)
 レベル情報符号化部2221bは、変数iで指定されるサブレイヤのサブレイヤレベル情報として、
・サブレイヤレベル識別子sub_layer_level_idc[ i ]
を符号化し出力する。
   (ステップSC116)
 サブレイヤのサブレイヤプロファイル情報、およびサブレイヤレベル情報の符号化に関するループの終端である。
 以上、実施例1に係るプロファイル/レベル情報符号化部2221の動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
 (実施例1の変形例)
 図22を参照しながら、VPS符号化部202の変形例について説明する。なお、参照PTL情報指定インデクス(図22上のシンタックスSYNVPS0Fb)を除き、VPS符号部202の動作は、実施例1と同一であるため、説明を省略する。
 実施例1では、参照PTL情報指定インデクスをPTL情報リスト上の対象PTL情報の位置と参照先のPTL情報の相対インデクス(profile_ref_delta_index_minus1[i])をゴロム符号により符号化していたが、これに限定されない。例えば、相対インデックスの代わりに、PTL情報リスト上の“profile_ref[i]”番目にあるPTL情報のプロファイル情報を参照するようにしてもよい。このとき、参照PTL情報指定インデクス”profile_ref[i]”を対象PTL情報のリスト上の位置を示すインデクスiに基づいて定まるビット長Vにより可変長符号化する。ここでビット長Vは、ceil(log2(i) )により定まる。これにより、従来技術に比べて、参照PTL情報指定インデクスを固定長で表わす場合に比べて、符号量を削減することができる。また、PTL情報リスト上の先頭PLT情報(0番目)を参照することができるため、対象PTL情報が1番目のときに、参照PTL情報指定インデックスが機能しない欠点を解消することができる。
 換言すれば、プロファイル/レベル情報符号化部が符号化する上記プロファイル/レベル情報において、1番目のプロファイル/レベル情報のプロファイルおよびティアの情報が、0番目のプロファイル/レベル情報に基づいて推定可能となるように、参照PTL情報指定インデクスが参照プロファイルに変更されている。
 なお、PTL情報リスト上の先頭PTL情報(0番目)を参照することを禁止する場合は、対象PTL情報が1番目のときに、プロファイル有無フラグを必ず1と設定し、明示的に、1番目のPTL情報のプロファイル情報を必ず符号化データ内に含むよう、デコーダとエンコーダ間で予め取り決めておいてもよい(ビットストリーム制約ともいう)。これにより、対象PTL情報が1番目のときに、参照PTL情報指定インデックスが機能しない欠点を同様に解消することができる。
  <<VPS符号化部202の変形例2>>
 次に、図23、図24、図26、図47を用いて、VPS符号化部202の変形例2について説明する。
 図23は、拡張ビデオパラメータセットVPSのシンタックステーブルの変形例である。図24を参照して、VPS拡張データの符号化プロセスを説明する。なお、図24で”復号”を”符号化”と置き換えて解釈する。
 まず、変形例2に係る拡張ビデオパラメータセットVPSのシンタックステーブルについて図23を用いて説明する。図23と図8に示す拡張ビデオパラメータセットVPSのシンタックステーブルとの違いは、図23では、図8上のシンタックスSYNVPS0Faに示す参照PTL情報指定インデクス(profile_ref_delta_index_minus1[i])が削除され、参照PTL指定情報指定インデクスの機能を、図23上のシンタックスSYNVPS0Eに示すプロファイル有無フラグ(vps_profile_present_flag[i])が兼用する点である。すなわち、プロファイル有無フラグ(vps_profile_present_flag[i])の値が1の場合は、i番目のPTL情報のプロファイル情報が符号化される。一方、プロファイル有無フラグの値が0の場合は、i番目のPTL情報のプロファイル情報には、i番目のPTL情報の直前に符号化された、(i-1)番目の符号化済PTL情報と同一であるため、プロファイル情報の符号化を省略する。
 続いて、変形例2に係るVPS符号化部202’とVPS符号化202の構成の違いについて説明する。VPS符号化部202’は、VPS符号化部202が備える参照PTL指定情報符号化部2222を備えていない。また、プロファイル有無フラグの入力線が、PTL情報符号化部2221へプロファイル有無フラグの入力線がある点が異なる(不図示)。
 また、変形例2に係るPTL情報符号化部2221は、実施例1に係るPTL情報符号化部2221と構成要素は同一であるため、説明を省略する。
 また、PTL情報の符号化処理の流れも、実施例1に係るPLT情報の符号化処理の流れと同一であるため、説明を省略する。
 以上のように、変形例2に係る拡張ビデオパラメータセットVPSのシンタックステーブルでは、図23のシンタックスSYNVPS0Faに示す参照PTL情報指定インデクス(profile_ref_delta_index_minus1[i])が削除され、参照PTL指定情報指定インデクスの機能を、図23上のシンタックスSYNVPS0Eに示すプロファイル有無フラグ(vps_profile_present_flag[i])が兼用している。すなわち、プロファイル有無フラグ(vps_profile_present_flag[i])の値が1の場合は、i番目のPTL情報のプロファイル情報が符号化される。一方、プロファイル有無フラグの値が0の場合は、i番目のPTL情報のプロファイル情報には、i番目のPTL情報の直前に符号化された、(i-1)番目の符号化済PTL情報のプロファイル情報と同一であるため、プロファイル情報の符号化を省略する。なお、予めエンコーダ側で、PTL情報リスト上のPTL情報を、類似順に並び替えておくことで、i番目のPTL情報は、直前のPTL情報を参照する確率を高めることができる。すなわち、vps_profile_present_flag[i]=0の場合、参照PTL指定インデクス”profile_ref_delta_index_minus1[i]”を符号化せずに、参照PTL指定インデクス”profile_ref_delta_index_minus1[i]==0”と推定しているとも解釈できる。これにより、相対インデクスに係る符号量をさらに削減することが可能である。
  <<VPS符号化部222の変形例3>>
 VPS符号化部222の変形例3は、VPS復号部102の変形例3に対応する逆処理である。
 変形例3に係るVPS符号化部222’とVPS符号化部222の構成の違いについて説明する。図48に示すVPS符号化部222’’は、VPS符号化部222が備える参照PTL指定情報符号化2222を備えておらず、新たに、レベル有無フラグ符号化部2224’を備える。レベル有無フラグ符号化部2224’は、外部より入力された符号化対象PTL情報のレベル有無フラグを符号化し、符号化データとして出力する。
 以下、変形例3におけるPTL情報符号化部2221の構成について図49を用いて説明する。変形3に係るPTL情報符号化部2221は、実施例1に係るPTL情報符号化部2221に対して、レベル有無フラグの入力線が、レベル情報符号化部2221b、及びサブレイヤレベル有無フラグ符号化部2221dに有る点を除き、その他の構成要素は同一であるため、説明を省略する。以下では、レベル情報符号化部2221b、及びサブレイヤレベル有無フラグ符号化部2221dの機能の異なる点のみ説明する。
 [レベル情報符号化部2221b]
 レベル情報符号化部2221bは、外部より供給される、レベル有無フラグlevelPresentFlagに基づいて、符号化対象PTL情報のレベル情報(最高次サブレイヤのレベル情報、あるいは汎用レベル情報とも呼ぶ)を符号化し出力する。具体的には、レベル有無フラグlevelPresentFlagが1の場合、符号化対象PTL情報のレベル情報を符号化する。レベル有無フラグlevelPresentFlagが0の場合、符号化対象PTL情報のレベル情報が、符号化対象PTL情報の1つ前に符号化した符号化済PTL情報((i-1)番目のPTL情報)のレベル情報と同一であるため、レベル情報の符号化を省略する。
 また、レベル情報符号化部2221bは、外部より供給される、レベル有無フラグlevelPresentFlag、サブレイヤ数MaxNumSubLayers、及び各サブレイヤのサブレイヤレベル有無フラグsub_layer_level_present_flag[i]に基づいて、最高次サブレイヤを除く、符号化対象PTL情報の各サブレイヤのサブレイヤレベル情報を符号化し出力する。
 (レベル有無フラグが1の場合)
 レベル有無フラグが1の場合、実施例1に係るPTL情報符号化部2221が備えるレベル情報符号化部2221bの動作と同一であるため、詳細の説明を省略する。簡単にいえば、サブレイヤi(temporalId=i+1)のサブレイヤレベル有無フラグが1の場合、該サブレイヤiのレベル情報を符号化する。それ以外の場合は、サブレイヤiのレベル情報の符号化を省略する。なお、画像復号装置1と画像符号化装置2の間で、サブレイヤiのサブレイヤレベル有無フラグが0の場合における、レベル情報の設定方法を予め取り決めておいてもよい。例えば、例えば、符号化対象PTL情報のサブレイヤ(i+1)のレベル情報を、サブレイヤiのレベル情報として設定する(図63参照)。これにより、level_present_flag=0、かつ、sub_layer_level_present_flag[i]=0の場合において、サブレイヤのレベル情報が不定値になる課題を解消することができる。
 (レベル有無フラグが0の場合)
 サブレイヤi(temporalId=i+1)のサブレイヤレベル有無フラグが1の場合、該サブレイヤiのレベル情報を符号化する。それ以外の場合は、符号化対象PTL情報のサブレイヤのiレベル情報が、符号化対象PTL情報の1つ前に符号化された符号化済PTL情報((idx-1)番目のPTL情報)の対応するサブレイヤのレベル情報と同一であるため、レベル情報の符号化を省略する。ここで、idxは、PTL情報リスト上の復号対象PTL情報の位置を示すインデクスである。なお、サブレイヤのレベル情報の設定ルールは、図64(b)に示す通りである。
  (プロファイル/レベル情報profile_tier_level()の符号化処理の流れ)
 以下、図33を用いて、変形例3に係るPTL情報符号化部2221の動作を説明する。なお、図33において、”復号”を”符号化”と置き換えて解釈する。また、図33のうち、図33のうち、図21と動作が異なるステップSG104、SG105、SG106、SG115、SG116、SG117のみ説明する。それ以外のステップは共通のため説明を省略する。また、符号化側では、ステップSG103、SG106、SG114、及びSG117の処理を実施しない。すなわち、ステップSG101の分岐でNoの場合、ステップSG104へ進む。また、ステップSG104の分岐でNoの場合、ステップSG107へ進む。また、ステップSG112の分岐でNoの場合、ステップSG115へ進む。また、ステップSG115の分岐でNOの場合、ステップSG118へ進む。
   (ステップSG104)レベル情報符号化部2221bは、レベル有無フラグlevelPresentFlagが1であるか判別する。レベル有無フラグlevelPresentFlagが1の場合(ステップSG104においてYes)の場合、ステップSG105へ進み、それ以外の場合(ステップSG104においてNo)の場合、ステップSG107へ進む。
   (ステップSG105)レベル情報符号化部2221bは、符号化対象PTL情報のレベル情報として、以下のシンタックス、
・レベル識別子general_level_idc
を符号化する。
   (ステップSG115)
 レベル情報符号化部2221bは、変数iで指定されるサブレイヤのサブレイヤレベル有無フラグsub_layer_level_present_flag[i]が1であるかを判定する。サブレイヤレベル有無フラグが1の場合(ステップSG115においてYes)、ステップSG116へ進み、それ以外の場合(ステップSG115においてNo)、ステップSG118へ進む。
   (ステップSG116)
 レベル情報符号化部2221bは、変数iで指定されるサブレイヤのサブレイヤレベル情報として、
・サブレイヤレベル識別子sub_layer_level_idc[ i ]
を符号化する。
 以上、変形例3に係るPTL情報符号化部2221の動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
 以上のように、変形例3に係る拡張ビデオパラメータセットVPSのシンタックステーブルでは、図23のシンタックスSYNVPS0Fに示す参照PTL情報指定インデクス(profile_ref_delta idx_minus1[i])が削除され、参照PTL指定情報指定インデクスの機能を、図29上のシンタックスSYNVPS0Eに示すプロファイル有無フラグ(vps_profile_present_flag[i])、及びレベル有無フラグ(vps_level_present_flag[i])が兼用している。すなわち、プロファイル有無フラグ(vps_profile_present_flag[i])の値が1の場合は、i番目のPTL情報のプロファイル情報が符号化される。一方、プロファイル有無フラグの値が0の場合は、i番目のPTL情報のプロファイル情報は、i番目のPTL情報の直前に符号化された、(i-1)番目の符号化済PTL情報のプロファイル情報と同一であるため、符号化を省略する。また、レベル有無フラグ(vps_level_present_flag[i])の値が1の場合は、i番目のPTL情報のレベル情報が符号化される。一方、レベル有無フラグの値が0の場合は、i番目のPTL情報のレベル情報には、i番目のPTL情報の直前に符号化された、(i-1)番目の符号化済PTL情報のレベル情報と同一であるため、符号化を省略する。なお、予めエンコーダ側で、PTL情報リスト上のPTL情報を、類似順に並び替えておくことで、i番目のPTL情報は、直前のPTL情報を参照する確率を高めることができる。すなわち、vps_profile_present_flag[i]=0、または、vps_level_present_flag[i]=0の場合、参照PTL指定インデクス”profile_ref_delta_index_minus1[i]”を符号化せずに、参照PTL指定インデクス”profile_ref_delta_index_minus1[i]==0”と推定しているとも解釈できる。これにより、相対インデクスに係る符号量をさらに削減することが可能である。さらに、変形例3は、実施例1と同様に、符号化対象PTL情報のプロファイル情報、及びレベル情報の冗長性を低減させる効果を奏する。
  <<VPS符号化部222の変形例3a>>
 VPS符号化部222の変形例3aは、VPS復号部202の変形3aに対応する逆処理である。上記変形3は、次のようにも構成を変更することが可能である。すなわち、プロファイル有無フラグprofilePresentFlag、及びレベル有無フラグlevelPresentFlagをプロファイル情報とレベル情報の有無を表わすプロファイルレベル有無フラグProfileLevelPresentFlagへ置き換える。
 以下、変形例3aにおけるPLT情報符号化部2221の構成について図49を代用して説明する。変形例3aに係るPTL情報符号化部2221は、変形例3に係るPTL情報復号部2221における、プロファイル有無フラグprofilePresentFlag、及びレベル有無フラグlevelPresentFlagの入力値を除いて、構成、及び動作は同一である。図49では、プロファイル有無フラグprofilePresentFlag、及びレベル有無フラグlevelPresentFlagの配線があるが、変形例3aでは、プロファイルレベル有無フラグprofileLevelPresentFlagが0の場合には、図49のprofilePresentFlag、及びlevelPresentFlagを0として入力する。また、プロファイルレベル有無フラグprofileLevelPresentFlagが1の場合には、図49のprofilePresentFlag、及びlevelPresentFlagを1として入力する。なお、この変更により、既存のHEVCのVPSの先頭に位置するPTL情報、及び、ベースレイヤで通知されるSPS上のPTL情報のシンタックステーブルに変更はない。すなわち、既存のHEVCデコーダによって、VPS、SPS上のPTL情報が復号できないということは発生しない。
 以上、変形3aは、変形3と同様の効果を奏する。さらに、変形例3に対して、プロファイル有無フラグとレベル有無フラグを1つにまとめて、プロファイル情報とレベル情報の有無を示すプロファイルレベル有無フラグとすることで、追加的なフラグ(変形3であれば、レベル有無フラグ)に係る符号量を削減することが可能である。
  <<VPS符号化部222の変形例4>>
 次に図65、図67を用いて、VPS符号化部202の変形例4について説明する。VPS符号化部202の変形4は、VPS復号部102の変形例4に対応する逆処理である。なお、変形例4に係るVPS拡張データのシンタクステーブルにつては、VPS復号部102の変形例4において、既に説明済であるため省略するが、同様の効果を奏する。
  (VPS符号化部222’’’の構成)
 図47を参照して、変形例4に係るVPS符号化部222’’’の構成について説明する。VPS符号化部222’’’は、実施例1に係るVPS符号化部222の備えるPTL情報符号化部2221、参照PTL情報符号化部2222、及びプロファイル有無フラグ符号化部2223と同一の構成要素に加え、さらに、バイトアラインデータ符号化部2024(不図示)を含んで備える。なお、以下では、バイトアラインデータ符号化部2224についてのみ説明する。
 VPS符号化部222’’’の備えるバイトアラインデータ符号化部2224は、VPS拡張データvps_extension()に含まれる、バイトアラインを調整するために挿入されるデータ、バイトアラインデータを符号化する。例えば、vps_alignment_bit_equal_to_one(図65上のSYNVPS0G)や、reserved_zero_1bits[i](図65上のSYNVPS0K)
である。
  <VPS拡張データの詳細な符号化プロセス(変形例4)>
 図67を用いて、VPS符号化部222’’’のVPS拡張データの符号化プロセスについて説明する。
 (ステップSJ101)VPS符号化部222’’’は、図65上のシンタックス群SYNVPS0Aを符号化する。
 (ステップSJ102)VPS符号化部222’’’は、図65上のSYNVPS0Eに示すPTL情報リストまでのバイトオフセット情報(vps_ptl_info_offset)を符号化する。
 (ステップSJ103)VPS符号化部222’’’は、図65上のSYNVPS0Fに示すスケーラビリティマスクフラグを符号化する。
・・・省略・・・
 (ステップSJ104)VPS符号化部222’’’の備えるバイトアラインデータ符号化部2224は、図65上のSYNVPS0Gに示す所定の判定式に基づいて、バイトアラインデータ(vps_alignment_bit_equal_to_one)を1ビット単位で符号化する。
 (ステップSJ105)VPS符号化部222’’’は、図65上のSYNVPS0Hに示すレイヤセット数を符号化する。
 (ステップSJ106)VPS符号化部222’’’は、図65上のSYNVPS0Iに示すPTL情報数を符号化する。
 (ステップSJ107)VPS符号化部222’’’に含まれるプロファイル有無フラグ復号部1023は、図65上のSYNVPS0Jに示すプロファイル有無フラグを”PTL情報数-1”個符号化する。
 (ステップSJ108)VPS符号化部222’’’の備えるバイトアラインデータ符号化部2224は、図65上のSYNVPS0Kに示すバイトアラインデータ(reserved_zero_bit[i])を符号化する。符号化するバイトアラインデータのビット数は、V={ 8 - { { (vps_num_profile_tier_level_minus1 + 1) % 8 } % 8 } }である。
 (ステップSJ109)VPS上に含まれるPTL情報の符号化プロセスのループ開始点である。
 (ステップSJ110)プロファイル有無フラグが0の場合は、i番目のPTL情報上にプロファイル情報を示すシンタックス群がないと判定し、ステップSJ112へ進む。プロファイル有無フラグが1の場合は、i番目のPTL情報上にプロファイル情報を示すシンタックス群がある判定し、ステップSJ111へ進む。
 (ステップSJ111)プロファイル有無フラグが0の場合、VPS符号化部222’’’に含まれる参照PTL指定情報符号化部2222は、i番目のPTL情報のプロファイル情報をPTL情報リスト上のいずれのPTL情報から参照するかを示す参照PTL情報指定インデクス”profile_ref_minus1[i]”(図65上のSYNVPS0L)を符号化する。参照PTL情報指定インデクス“profile_ref_ minus1[i]”は、参照先のPTL情報の位置を表す。すなわち、i番目のPTL情報は、j = (profile_ref_ minus1[i] +1 )で特定される、j番目のPTL情報をプロファイル情報と同一である。
 (ステップSJ112)VPS符号化部222’’’に含まれるPTL情報符号化部2221は、プロファイル有無フラグ、参照PTL指定インデクス、サブレイヤ数を入力として、i番目のPTL情報のプロファイル、及びレベル情報を符号化する。PTL情報符号化部2221の詳細については説明済みのため省略する。
 (ステップSJ113)VPS上に含まれるPTL情報の符号化プロセスのループ終端である。
 (ステップSJ114)VPS符号化部222’’’は、その他のシンタックスを符号化する。
 以上、変形例4に係るVPS符号化部222’’’のの動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
  <<VPS符号化部222の変形例4a>>
 続いて、図68、図70を用いて、VPS符号化部222の変形例4aについて説明する。VPS符号化部202の変形例4aは、VPS復号部102の変形例4aに対応する逆処理である。なお、変形例4aに係るVPS拡張データのシンタクステーブルにつては、VPS復号部102の変形例4aにおいて、既に説明済であるため省略するが、同様の効果を奏する。
  (VPS符号化部222’’’aの構成)
 変形例4aに係るVPS符号化部222’’’aの構成について説明する。VPS符号化部222’’’aは、変形例2に係るVPS符号化部222’の備えるPTL情報符号化部2221’、及びプロファイル有無フラグ符号化部2223’と同一の構成要素に加えて、さらに、バイトアラインデータ符号化部2224(不図示)を含んで備える。同一の構成要素である、PTL情報符号化部2221’、及びプロファイル有無フラグ符号化部2223’の説明は省略する。また、バイトアラインデータ符号化部2224は、変形例4に係るVPS符号化部222’’’の備えるバイトアラインデータ符号化部22224と同一の構成要素であるため、説明を省略する。
  <VPS拡張データの詳細な符号化プロセス(変形例4a)>
 図70を用いて、VPS符号化部222’’’aのVPS拡張データの符号化プロセスについて説明する。なお、VPS符号化部222’’’aのVPS拡張データの符号化プロセスでは、図70上のステップSL110(プロファイル有無フラグの値に基づく分岐判定、及び分岐に基づく遷移)、ステップSL111(参照PTL情報指定インデクスprofile_ref_minus1[i]の符号化)が省略されている点が異なり、それ以外の動作は同一であるため、説明を省略する。
 以上、変形例4aに係るVPS符号化部222’’’aの動作について説明したが、上記ステップに限定されず、実施可能な範囲で、ステップを変更しても構わない。
 以上のように、プロファイル/レベル情報符号化部が符号化するプロファイル/レベル情報において、1番目のプロファイル/レベル情報のプロファイルおよびティアの情報が、0番目のプロファイル/レベル情報に基づいて推定可能となるように、参照PTL情報指定インデクスが参照プロファイルに変更されていてもよい。
 また、プロファイル/レベル情報符号化部が符号化するプロファイル/レベル情報において、参照PTL情報指定インデクスに代えて、VPSプロファイル有無フラグが含まれていてもよい。
 また、プロファイル/レベル情報符号化部は、i番目のサブレイヤに対するレベルの情報が提示されない場合、該レベルは、(i+1)番目のサブレイヤのレベルと、レベルの識別子のレベルとのうち小さい方に等しい、と推定するように符号化してもよい。
 また、プロファイル/レベル情報には、VPSレベル有無フラグが付加されており、プロファイル/レベル情報符号化部は、VPSレベル有無フラグが「0」に等しい場合、i番目のプロファイル/レベル情報のレベルの情報を、それ以前のプロファイル/レベル情報のレベルの情報から導出できるように符号化してもよい。
 (付記事項)
 なお、レイヤセットに適用されるPTL情報のプロファイル情報、及びレベル情報には、レイヤセットを構成する全レイヤ、及び各レイヤに付随するサブレイヤを復号するの必要な最大のプロファイル情報、及びレベル情報が設定される。また、サブレイヤのプロファイル情報、及びレベル情報に関しても、レイヤセット内の全レイヤの特定のテンポラルID以下のサブレイヤを復号するに必要な最大のプロファイル情報、及びレベル情報が設定される。
 また、レイヤセットA{レイヤIDリスト{L#0,L#1,L#2},HighestTid=3}と、レイヤセットAのサブセットとなるレイヤセットB{レイヤIDリスト{L#0,L#1}, HighestTid=2}に適用される各PTL情報(PTL情報A、PTL情報Bとする)では、下位レイヤセット(レイヤセットB)のPTL情報Bのプロファイル情報、及びレベル情報は、上位レイヤセット(レイヤセットA)のPTL情報Aの下位互換であるようにする。すなわち、以下の制約が少なくともある。
・下位レイヤセットBのプロファイル空間の値≦上位レイヤセットAのプロファイル空間の値
・下位レイヤセットBのプロファイル識別子の値≦上位レイヤセットAのプロファイル識別子の値
・下位レイヤセットBのティアフラグの値≦上位レイヤセットAのティアフラグの値
・上位レイヤセットAのプロファイル互換フラグには、下位レイヤセットBのプロファイル識別子に該当するプロファイル互換フラグの値が1である(すなわち、レイヤセットAは、レイヤセットBの上位互換である)。レイヤセットBのプロファイル識別子を例えば“LayerSetBProfileIdc”とし、レイヤセットAのプロファイル互換フラグを”LayerSetA’s general_compatibility_flag[i]”とすれば、”LayerSetA’s general_compatibility_flag[“LayerSetBProfileIdc”]= 1”と設定される。
・上位レイヤセットAのレベル識別子の値≧下位レイヤセットBのレベル識別子の値
 同様の制約が、サブレイヤのプロファイル情報、及びレベル情報にも適用される。すなわち、“下位レイヤセットB”を“下位レイヤセットBのサブレイヤ(temporalId=i)”と読み替え、また、“上位レイヤセットA”を“上位レイヤセットAのサブレイヤ(temporalId=i)”と読み替えて解釈すればよい。
 上記の制約を課すことのメリットについて、以下説明する。従来技術(非特許文献1~3)では、上位レイヤセットAのサブセットであるレイヤセットBにそれぞれ適用されるPTL情報(プロファイル情報、及びレベル情報、及びサブレイヤのサブレイヤプロファイル情報およびサブレイヤレベル情報)との間に制約がないため、画像復号装置の実装負荷が高い(画像復号装置の複雑度が増大する)という問題がある。
 例えば、図2において、レイヤセットA{{レイヤIDリスト{L#0,L#1,L#2},HighestTid=3}の各レイヤL#Nのプロファイルが次のように、
 レイヤL#2のプロファイル:"scalable main profile"、
 レイヤL#1のプロファイル:"scalable high profile"、
 レイヤL#0のプロファイル:"main profile"、
と3種類のプロファイルの設定で符号化されたものと仮定する。ここで、"scalable highprofile"は、"scalable main profile"、及び”main profile”の符号化ツールを全てサポートする上位のスケーラブルプロファイルであり、"scalable main profile"は、"mainprofile"の符号化ツールを全てサポートする上位のスケーラブルプロファイルであり,
“main profile”は、非特許文献1で記載されている、HEVCの“main profile”を表わすものとする。すなわち、プロファイルの関係は、"main profile" < "scalable mainprofile" < "scalable high profile"となる。
 上記例の場合、プロファイル"scalable high profile"をサポートする画像復号装置では、レイヤセットA内の全レイヤ(L#0,L#1,L#2)を復号することが可能である。すなわち、レイヤセットAを完全に復号することができる。しかし、プロファイル"scalable main profile"をサポートする画像復号装置では、仮に、レイヤセットAのサブセット(レイヤセットB)を抽出したビットストリームの復号を試みても、下位レイヤ(L#1)のプロファイルが上位レイヤ(L#2)のプロファイルと互換がないため、レイヤL#2の復号時に依存する下位レイヤ(L#1)および、上位レイヤL#2を復号できず、下位プロファイル"main profile"である基本レイヤL#0しか復号することができない。すなわち、画像符号化装置側において、下位レイヤのプロファイルが、上位レイヤのプロファイルと互換のないプロファイルを不連続に設定した符号化データが生成される可能性がある。そのため、画像復号装置側において、その符号化データを復号する場合には、復号対象レイヤが依存する下位レイヤを復号できず、結果として、レイヤのスケーラビリティやサブレイヤのスケーラビリティの粒度が粗くなるという課題がある。
 また、画像復号装置側において、上記のような符号化データに対して柔軟にスケーラビリティを実現できるようするには、複数のプロファイルをサポートするように実装する必要があり、画像復号装置の複雑度が増大するという課題がある。
 同様に、レベル/ティアに関しても、レイヤセット間のレベル/ティアとの間に制約がないことにより、上記プロファイル制約がない場合と同様の問題が発生する。すなわち、画像符号化装置側で、下位レイヤのレベルおよびティアが、上位レイヤのレベルおよびティアと互換のないレベルおよびティアを不連続に設定した符号化データが生成される可能性があり、画像復号装置側において、レイヤのスケーラビリティやサブレイヤのスケーラビリティの粒度が粗くなり、柔軟性が損なわれるという課題が発生する。また、画像復号装置側において、上記のような符号化データに対して柔軟にスケーラビリティを実現できるようするには、複数のレベルおよびティアをサポートするように実装する必要があり、画像復号装置の複雑度が増大するという課題がある。
 そこで、上記課題を解決するため、包含関係にあるレイヤセット間では、以下の制約を課すことが好ましい。
 (1-1)下位レイヤセットBのプロファイル空間の値≦上位レイヤセットAのプロファイル空間の値
 (1-2)下位レイヤセットBのプロファイル識別子の値≦上位レイヤセットAのプロファイル識別子の値
 (1-3)下位レイヤセットBのティアフラグの値≦上位レイヤセットAのティアフラグの値
 (1-4)上位レイヤセットAのプロファイル互換フラグには、下位レイヤセットBのプロファイル識別子に該当するプロファイル互換フラグの値が1である(すなわち、レイヤセットAは、レイヤセットBの上位互換である)。レイヤセットBのプロファイル識別子を例えば、
“LayerSetBProfileIdc”とし、レイヤセットAのプロファイル互換フラグを”LayerSetA’s general_profile_compatibility_flag[i]”とすれば、”LayerSetA’s general_profile_compatibility_flag[“LayerSetBProfileIdc”]= 1”と設定される。
 (1-5)上位レイヤセットAのレベル識別子の値≧下位レイヤセットBのレベル識別子の値
 また、同一のレイヤセット内の各レイヤに対しても以下の制約を課すことが好ましい。(2-1)下位レイヤL#Nのプロファイル空間の値≦上位レイヤL#(N+1)のプロファイル空間の値
 (2-2)下位レイヤL#Nのプロファイル識別子の値≦上位レイヤL#(N+1)のプロファイル識別子の値
 (2-3)下位レイヤL#Nのティアフラグの値≦上位レイヤL#Nのティアフラグの値
 (2-4)下位レイヤL#Nのレベル識別子の値≦上位レイヤL#Nのレベル識別子の値
 また、同一レイヤ(L#N)のサブレイヤ(サブレイヤNを、SL#Nと表記する)に対しても以下の制約を課すことが好ましい。
 (3-1)下位サブレイヤSL#Nのプロファイル空間の値≦上位サブレイヤSL#(N+1)のプロファイル空間の値
 (3-2)下位サブレイヤSL#Nのプロファイル識別子の値≦上位サブレイヤSL#(N+1)のプロファイル識別子の値
 (3-3)下位サブレイヤSL#Nのティアフラグの値≦上位サブレイヤSL#(N+1)のティアフラグの値
 (3-4)上位サブレイヤSL#(N+1)のプロファイル互換フラグには、下位サブレイヤSL#Nのプロファイル識別子に該当するプロファイル互換フラグの値が1である(すなわち、サブレイヤSL#(N+1)は、サブレイヤSL#Nの上位互換である)。サブレイヤSL#Nのプロファイル識別子を例えば、
“sub_layer_profile_idc[N]”とし、サブレイヤSL#(N+1)のプロファイル互換フラグを”sub_layer_profile_compatibility_flag[N+1][j]”とすれば、”sub_layer_profile_compatibility_flag[N+1][ sub_layer_profile_idc[N] ]= 1”と設定される。
 (3-5)上位サブレイヤSL#(N+1)のレベル識別子の値≧下位サブレイヤSL#Nのレベル識別子の値。
 以上、画像復号装置側と画像符号化装置側において上記プロファイル、及びレベルの制約を予め設けることで、下位レイヤのプロファイル/レベルと、上位レイヤのプロファイル/レベルと互換のないプロファイル/レベルを不連続に設定した符号化データが生成されることを防止する効果を奏する。また、画像復号装置が対応すべきプロファイル/レベルを必要最小限に抑制することができるため画像復号装置の複雑度を軽減する効果を奏する。
 また、上記包含関係にあるレイヤセット間のプロファイル及びレベルに関する上記制約を実施するか否かを表わすシンタックス(プロファイル/レベル制約フラグ"profile_level_restrict_flag")をVPS拡張データ上の各PTL情報の直前で明示的に、VPS復号部102及びVPS符号化部222(また、それれらの変形例を含む)により、それぞれ復号/符号化してもよい。上記と同様の効果に加えて、画像復号装置はVPS拡張データ上のPTL情報を復号する前に、VPSまたはSPS上で早期に各レイヤでのプロファイル/レベル制約の有無を容易に判定することができる効果を奏する。同様に、プロファイル、レベルに制約の有無示すフラグを設けてもよい。
 (他の階層動画像符号化/復号システムへの適用例)
 上述した階層動画像符号化装置2及び階層動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用できる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
 図50に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の送信および受信に利用できることを説明する。図50の(a)は、階層動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。
 図50の(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を更に備えていてもよい。図50の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
 図50の(b)は、階層動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。図50の(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を更に備えていてもよい。図50の(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の双方として機能する。
 図51に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の記録および再生に利用できることを説明する。図51の(a)は、上述した階層動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。
 図51の(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を更に備えていてもよい。図51の(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の一例である。
 図51の(b)は、上述した階層動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。図51の(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を更に備えていてもよい。図51の(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に係る画像復号装置は、階層符号化データを復号する画像復号装置であって、PTL情報リスト中のPTL情報内のプロファイル情報の有無を示すプロファイル有無フラグを復号するプロファイル有無フラグ復号手段とPTL情報を復号するPTL情報復号手段とを備え、上記PTL情報復号手段は、上記プロファイル有無フラグが1の場合、符号化データより、上記PTL情報のプロファイル情報を復号し、上記プロファイル情報有無フラグが0の場合、上記PTL情報内のプロファイル情報を、1つ前に復号されたPTL情報のプロファイル情報と等しいと推定する
構成である。
 上記の構成によれば、プロファイル有無フラグの値に基づいて、PTL情報のプロファイル情報を復号するか、1つ前に復号されたPTL情報のプロファイル情報から推定するかを決定できるようになる。
 本発明の態様2に係る画像復号装置は、上記態様1において、各サブレイヤプロファイル情報の有無を示すサブレイヤプロファイル有無フラグを復号するサブレイヤプロファイル有無フラグ復号手段を備え、上記PTL情報復号手段は、上記各サブレイヤのサブレイヤプロファイル情報有無フラグが1の場合、符号化データより、各サブレイヤのサブレイヤプロファイル情報を復号し、上記各サブレイヤプロファイル情報有無フラグが0の場合、上記各PTL情報に含まれる各サブレイヤプロファイル情報を、1つ前に復号されたPTL情報に含まれる対応する各サブレイヤプロファイル情報と等しいと推定することが追加されている。
 上記の構成によれば、サブレイヤプロファイル有無フラグの値に基づいて、各サブレイヤのサブレイヤプロファイル情報を復号するか、1つ前に復号されたPTL情報に含まれる対応する各サブレイヤプロファイル情報と等しいと推定するかを決定する。
 本発明の態様3に係る画像復号装置は、上記態様1において、各サブレイヤレベル情報の有無を示すサブレイヤレベル有無フラグを復号するサブレイヤレベル情報有無フラグ復号手段を備え、上記PTL情報復号手段は、上記各サブレイヤのサブレイヤレベル情報有無フラグが1の場合、符号化データより、各サブレイヤのサブレイヤレベル情報を復号し、上記サブレイヤレベル情報有無フラグが0の場合、上記PTL情報に含まれる各サブレイヤレベル情報を、1つ前に復号されたPTL情報に含まれる対応する各サブレイヤレベル情報と等しいと推定することが追加されている。
 上記の構成によれば、サブレイヤレベル有無フラグの値に基づいて、各サブレイヤのサブレイヤレベル情報を復号するか、1つ前に復号されたPTL情報に含まれる対応する各サブレイヤレベル情報と等しいと推定するかを決定することができる。。
 本発明の態様4に係る画像復号装置は、上記態様1から3において、上記プロファイル情報には、少なくとも、プロファイル空間、ティアフラグ、プロファイル識別子、及びプロファイル互換フラグを含んでも良い。
 上記の構成によれば、少なくとも、プロファイル空間、ティアフラグ、プロファイル識別子、及びプロファイル互換フラグを含むプロファイル情報を復号、もしくは推定によって取得することができる。
 本発明の態様5に係る画像復号装置は、上記態様2または4において、上記サブレイヤプロファイル情報には、少なくとも、サブレイヤプロファイル空間、サブレイヤティアフラグ、サブレイヤプロファイル識別子、及びサブレイヤプロファイル互換フラグを含んでもよい。
 上記の構成によれば、少なくとも、サブレイヤプロファイル空間、サブレイヤティアフラグ、サブレイヤプロファイル識別子、及びサブレイヤプロファイル互換フラグを含むサブレイヤプロファイル情報を復号、もしくは推定により取得することができる。
 本発明の態様6に係る画像復号装置は、上記態様2において、上記PTL情報に関するプロファイル有無フラグが0の場合、上記PTL情報に含まれる各サブレイヤに関するサブレイヤプロファイル有無フラグの値を0としても良い。
 上記の構成によれば、プロファイル有無フラグが0の場合には、上記PTL情報に含まれる各サブレイヤに関するサブレイヤプロファイル有無フラグの値は0とすることができる。
 本発明の態様7に係る画像復号方法は、階層符号化データを復号する画像復号方法であって、PTL情報リスト中のPTL情報内のプロファイル情報の有無を示すプロファイル有無フラグを復号するプロファイル有無フラグ復号ステップとPTL情報を復号するPTL情報復号ステップを備え、上記PTL情報復号ステップは、上記プロファイル有無フラグが1の場合、符号化データより、上記PTL情報のプロファイル情報を復号し、上記プロファイル情報有無フラグが0の場合、上記PTL情報内のプロファイル情報を、1つ前に復号されたPTL情報のプロファイル情報と等しいと推定する。
 上記の構成によれば、プロファイル有無フラグの値に基づいて、PTL情報のプロファイル情報を復号するか、1つ前に復号されたPTL情報のプロファイル情報から推定するかを決定できるようになる。
 本発明の態様8に係る画像符号化装置は、画像データを階層的に符号化して階層符号化データを生成する画像符号化装置であって、上記階層符号化データのプロファイルを示すPTL情報を符号化するPTL情報符号化部を備え、上記PTL情報符号化部は、上記PTL情報符号化部は、上記PTL情報にプロファイル情報を符号化する場合に、プロファイル有無フラグの値を1として符号化し、上記PTL情報内のプロファイル情報を、1つ前に符号化したPTL情報のプロファイル情報と等しいと推定する場合に、プロファイル有無フラグの値を0として符号化する構成である。
 上記の構成によれば、PTL情報のプロファイル情報を符号化するか、1つ前に符号化したPTL情報のプロファイル情報と等しいと推定して符号化するかに応じて、プロファイル有無フラグの値を設定して符号化できる。
 本発明の態様9に係る画像符号化方法は、画像データを階層的に符号化して階層符号化データを生成する画像符号化方法であって、上記階層符号化データのプロファイルを示すPTL情報を符号化するPTL情報符号化ステップを備え、上記PTL情報符号化ステップは、上記PTL情報にプロファイル情報を符号化する場合にプロファイル有無フラグの値を1として符号化し、上記PTL情報内のプロファイル情報を、1つ前に符号化したPTL情報のプロファイル情報と等しいと推定する場合に、プロファイル有無フラグの値を0として符号化する。
 上記の構成によれば、PTL情報のプロファイル情報を符号化するか、1つ前に符号化したPTL情報のプロファイル情報と等しいと推定して符号化するかに応じて、プロファイル有無フラグの値を設定して符号化できる。
 〔本発明の他の態様〕
 本発明の他の態様1に係る画像復号装置は、レイヤごとに異なる品質の画像に関する画像情報が階層的に符号化された階層符号化データを復号して、復号の対象となる対象レイヤにおける画像を復元する画像復号装置であって、上記階層符号化データのプロファイルを示すプロファイル/レベル情報を復号するプロファイル/レベル情報復号部を備え、上記プロファイル/レベル情報復号部は、上記プロファイル/レベル情報におけるi番目の参照PTL情報指定インデクスのセマンティックを、当該i番目の参照PTL情報指定インデクスが、i番目のプロファイル/レベル情報と参照されるプロファイル/レベル情報との間の相対的な位置を指定するものとして取り扱う構成である。
 上記の構成によれば、1番目のプロファイル/レベル情報のプロファイルおよびティアの情報を、0番目のプロファイル/レベル情報から推定することができるようになる。
 本発明の他の態様2に係る画像復号装置は、レイヤごとに異なる品質の画像に関する画像情報が階層的に符号化された階層符号化データを復号して、復号の対象となる対象レイヤにおける画像を復元する画像復号装置であって、上記階層符号化データのプロファイルを示すプロファイル/レベル情報を復号するプロファイル/レベル情報復号部を備え、上記プロファイル/レベル情報復号部が復号する上記プロファイル/レベル情報において、1番目のプロファイル/レベル情報のプロファイルおよびティアの情報が、0番目のプロファイル/レベル情報に基づいて推定可能となるように、参照PTL情報指定インデクスが参照プロファイルに変更されている。
 上記の構成によれば、i番目の参照PTL情報指定インデクスが符号化されているので、ビットを抑制することができる。
 本発明の他の態様3に係る画像復号装置は、レイヤごとに異なる品質の画像に関する画像情報が階層的に符号化された階層符号化データを復号して、復号の対象となる対象レイヤにおける画像を復元する画像復号装置であって、上記階層符号化データのプロファイルを示すプロファイル/レベル情報を復号するプロファイル/レベル情報復号部を備え、上記プロファイル/レベル情報復号部が復号する上記プロファイル/レベル情報において、参照PTL情報指定インデクスに代えて、VPSプロファイル有無フラグが含まれているものであってもよい。
 上記の構成によれば、i番目のプロファイル/レベル情報のプロファイルおよびティアの情報を、(i-1)番目のプロファイル/レベル情報から推定することができるようになるので、ビットを抑制することができる。
 本発明の他の態様4に係る画像復号装置は、上記他の態様1または2において、上記プロファイル/レベル情報復号部は、i番目のサブレイヤに対するレベルの情報が提示されていない場合、該レベルは、(i+1)番目のサブレイヤのレベルと、レベルの識別子のレベルとのうち小さい方に等しい、と推定するものであってもよい。
 上記の構成によれば、i番目のサブレイヤのレベルの情報がプロファイル/レベル情報中に存在しない場合の、i番目のサブレイヤのレベルの扱い方が明確になるので、テンポラルIDが1に等しいサブレイヤの表示について未定義であることを回避することができる。
 本発明の他の態様5に係る画像復号装置は、上記他の態様1または2において、上記プロファイル/レベル情報復号部は、i番目のサブレイヤのサブレイヤプロファイル有無フラグが1の場合、該サブレイヤのプロファイル情報は対象レイヤの符号化データ内に存在すると判断し、該符号化データに基づいて該サブレイヤのサブレイヤプロファイル情報を復号するものであってもよい。
 上記の構成によれば、プロファイル有無フラグが1で、かつ、サブレイヤプロファイル有無フラグが0の場合においても、サブレイヤのプロファイル情報が不定となる事態を解消することができる。
 本発明の他の態様6に係る画像復号装置は、上記他の態様1または2において、上記プロファイル/レベル情報復号部は、対象レイヤの符号化データに基づいて最高次サブレイヤのレベル情報を復号し、該最高次サブレイヤを除く各サブレイヤのサブレイヤレベル情報について、i番目のサブレイヤのサブレイヤレベル有無フラグが1の場合、該サブレイヤのレベル情報は対象レイヤの符号化データ内に存在すると判断し、該符号化データに基づいて該サブレイヤのサブレイヤレベル情報を復号し、i番目のサブレイヤのサブレイヤレベル有無フラグが0の場合、該サブレイヤのサブレイヤレベル情報に、所定のレベル情報を設定するものであってもよい。
 上記の構成によれば、サブレイヤレベル有無フラグが0の場合においても、サブレイヤのレベル情報が不定となる事態を解消することができる。
 本発明の他の態様7に係る画像復号装置は、上記他の態様1または2において、上記プロファイル/レベル情報復号部は、レベル有無フラグが1であり、かつ、i番目のサブレイヤのサブレイヤレベル有無フラグが1である場合、該サブレイヤのレベル情報は、対象レイヤの符号化データ内に存在すると判断し、該符号化データに基づいて該サブレイヤのサブレイヤレベル情報を復号し、レベル有無フラグが1であり、かつ、i番目のサブレイヤのサブレイヤレベル有無フラグが0である場合、該サブレイヤのサブレイヤレベル情報に所定のレベル情報を設定し、レベル有無フラグが0であり、かつ、i番目のサブレイヤのサブレイヤレベル有無フラグが1である場合、該サブレイヤのレベル情報は、対象レイヤの符号化データ内に存在すると判断し、該符号化データに基づいて該サブレイヤのサブレイヤレベル情報を復号し、レベル有無フラグが0であり、かつ、i番目のサブレイヤのサブレイヤレベル有無フラグが0である場合、該サブレイヤのサブレイヤレベル情報に、i番目の参照PTL情報指定インデクスにより指定されるサブレイヤのレベル情報を設定するものであってもよい。
 上記の構成によれば、レベル有無フラグが0で、かつ、サブレイヤレベル有無フラグが0の場合においても、サブレイヤのレベル情報が不定となる事態を解消することができる。
 本発明の他の態様8に係る画像復号装置は、上記他の態様3において、上記プロファイル/レベル情報には、VPSレベル有無フラグが付加されており、上記プロファイル/レベル情報復号部は、VPSレベル有無フラグが「0」に等しい場合、i番目のプロファイル/レベル情報のレベルの情報を、それ以前のプロファイル/レベル情報のレベルの情報から導出するものであってもよい。
 上記の構成によれば、i番目のサブレイヤのレベルの情報がプロファイル/レベル情報中に存在しない場合の、i番目のサブレイヤのレベルの扱い方が明確になるので、テンポラルIDが1に等しいサブレイヤの表示について未定義であることを回避することができる。
 本発明の他の態様9に係る画像符号化装置は、画像データを、レイヤごとに異なる品質の画像に関する画像情報が階層的に符号化された階層符号化データを生成する画像符号化装置であって、上記階層符号化データのプロファイルを示すプロファイル/レベル情報を符号化するプロファイル/レベル情報符号化部を備え、上記プロファイル/レベル情報符号化部は、上記プロファイル/レベル情報におけるi番目の参照PTL情報指定インデクスのセマンティックを、当該i番目の参照PTL情報指定インデクスが、i番目のプロファイル/レベル情報と参照されるプロファイル/レベル情報との間の相対的な位置を指定するものとして符号化する。
 上記の構成によれば、1番目のプロファイル/レベル情報のプロファイルおよびティアの情報を、0番目のプロファイル/レベル情報から推定することができるようになる。
 本発明の他の態様10に係る画像符号化装置は、画像データを、レイヤごとに異なる品質の画像に関する画像情報が階層的に符号化された階層符号化データを生成する画像符号化装置であって、上記階層符号化データのプロファイルを示すプロファイル/レベル情報を符号化するプロファイル/レベル情報符号化部を備え、上記プロファイル/レベル情報符号化部が符号化する上記プロファイル/レベル情報において、1番目のプロファイル/レベル情報のプロファイルおよびティアの情報が、0番目のプロファイル/レベル情報に基づいて推定可能となるように、参照PTL情報指定インデクスが参照プロファイルに変更されている。
 上記の構成によれば、i番目の参照PTL情報指定インデクスが符号化されているので、ビットを抑制することができる。
 本発明の他の態様11に係る画像符号化復号装置は、画像データを、レイヤごとに異なる品質の画像に関する画像情報が階層的に符号化された階層符号化データを生成する画像符号化装置であって、上記階層符号化データのプロファイルを示すプロファイル/レベル情報を符号化するプロファイル/レベル情報符号化部を備え、上記プロファイル/レベル情報符号化部が符号化する上記プロファイル/レベル情報において、参照PTL情報指定インデクスに代えて、VPSプロファイル有無フラグが含まれているものであってもよい。
 上記の構成によれば、i番目のプロファイル/レベル情報のプロファイルおよびティアの情報を、(i-1)番目のプロファイル/レベル情報から推定することができるようになるので、ビットを抑制することができる。
 本発明の他の態様12に係る画像符号化装置は、上記他の態様9または10において、上記プロファイル/レベル情報符号化部は、i番目のサブレイヤに対するレベルの情報が提示されない場合、該レベルは、(i+1)番目のサブレイヤのレベルと、レベルの識別子のレベルとのうち小さい方に等しい、と推定するように符号化するものであってもよい。
 上記の構成によれば、i番目のサブレイヤのレベルの情報がプロファイル/レベル情報中に存在しない場合の、i番目のサブレイヤのレベルの扱い方が明確になるので、テンポラルIDが1に等しいサブレイヤの表示について未定義であることを回避することができる。
 本発明の他の態様13に係る画像符号化装置は、上記他の態様9または10において、上記プロファイル/レベル情報符号化部は、i番目のサブレイヤのサブレイヤプロファイル有無フラグが1の場合、該サブレイヤのプロファイル情報は対象レイヤの符号化データ内にサブレイヤプロファイル情報を含めるものであってもよい。
 上記の構成によれば、プロファイル有無フラグが1で、かつ、サブレイヤプロファイル有無フラグが0の場合においても、サブレイヤのプロファイル情報が不定となる事態を解消することができる。
 本発明の他の態様14に係る画像符号化装置は、上記他の態様9または10において、上記プロファイル/レベル情報符号化部は、対象レイヤの符号化データに最高次サブレイヤのレベル情報を含め、該最高次サブレイヤを除く各サブレイヤのサブレイヤレベル情報について、i番目のサブレイヤのサブレイヤレベル有無フラグが1の場合、該サブレイヤのレベル情報を対象レイヤの符号化データ内に含め該符号化データに該サブレイヤのサブレイヤレベル情報を含め、i番目のサブレイヤのサブレイヤレベル有無フラグが0の場合、該サブレイヤのサブレイヤレベル情報に、所定のレベル情報を設定するものであってもよい。
 上記の構成によれば、サブレイヤレベル有無フラグが0の場合においても、サブレイヤのレベル情報が不定となる事態を解消することができる。
 本発明の他の態様15に係る画像符号化装置は、上記他の態様9または10において、上記プロファイル/レベル情報符号化部は、レベル有無フラグが1であり、かつ、i番目のサブレイヤのサブレイヤレベル有無フラグが1である場合、該サブレイヤのレベル情報を、対象レイヤの符号化データ内に含め、該符号化データに該サブレイヤのサブレイヤレベル情報を含め、レベル有無フラグが1であり、かつ、i番目のサブレイヤのサブレイヤレベル有無フラグが0である場合、該サブレイヤのサブレイヤレベル情報に所定のレベル情報を設定し、レベル有無フラグが0であり、かつ、i番目のサブレイヤのサブレイヤレベル有無フラグが1である場合、該サブレイヤのレベル情報は、対象レイヤの符号化データ内に含め、該符号化データに該サブレイヤのサブレイヤレベル情報を含め、レベル有無フラグが0であり、かつ、i番目のサブレイヤのサブレイヤレベル有無フラグが0である場合、該サブレイヤのサブレイヤレベル情報に、i番目の参照PTL情報指定インデクスにより指定されるサブレイヤのレベル情報を設定するものであってもよい。
 上記の構成によれば、レベル有無フラグが0で、かつ、サブレイヤレベル有無フラグが0の場合においても、サブレイヤのレベル情報が不定となる事態を解消することができる。
 本発明の他の態様16に係る画像符号化装置は、上記他の態様11において、上記プロファイル/レベル情報には、VPSレベル有無フラグが付加されており、上記プロファイル/レベル情報符号化部は、VPSレベル有無フラグが「0」に等しい場合、i番目のプロファイル/レベル情報のレベルの情報を、それ以前のプロファイル/レベル情報のレベルの情報から導出できるように符号化するものであってもよい。
 上記の構成によれば、i番目のサブレイヤのレベルの情報がプロファイル/レベル情報中に存在しない場合の、i番目のサブレイヤのレベルの扱い方が明確になるので、テンポラルIDが1に等しいサブレイヤの表示について未定義であることを回避することができる。
 本発明の他の態様17に係る画像復号装置は、レイヤごとに異なる品質の画像に関する画像情報が階層的に符号化された階層符号化データを復号して、復号の対象となる対象レイヤにおける画像を復元する画像復号装置であって、上記階層符号化データのプロファイルを示すプロファイル/レベル情報を復号するプロファイル/レベル情報復号部を備え、上記プロファイル/レベル情報復号部は、上記プロファイル/レベル情報において、以下の各条件:下位レイヤセットのプロファイル空間の値≦上位レイヤセットのプロファイル空間の値、下位レイヤセットのプロファイル識別子の値≦上位レイヤセットのプロファイル識別子の値、下位レイヤセットのティアフラグの値≦上位レイヤセットのティアフラグの値、上位レイヤセットAのレベル識別子の値≧下位レイヤセットBのレベル識別子の値を満たす符号化データを復号するものであってもよい。
 上記の構成によれば、下位レイヤのプロファイル/レベルと、上位レイヤのプロファイル/レベルと互換のないプロファイル/レベルを不連続に設定した符号化データが生成されることを防止する効果を奏する。また、画像復号装置が対応すべきプロファイル/レベルを必要最小限に抑制することができるため画像復号装置の複雑度を軽減する効果を奏する。
 本発明の各態様に係る画像復号装置、および画像符号化装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記画像復号装置、および画像符号化装置が備える各手段として動作させることにより上記画像復号装置、および画像符号化装置をコンピュータにて実現させる制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 本発明は、画像データが階層的に符号化された符号化データを復号する階層動画像復号装置、および、画像データが階層的に符号化された符号化データを生成する階層動画像符号化装置に好適に適用することができる。また、階層動画像符号化装置によって生成され、階層動画像復号装置によって参照される階層符号化データのデータ構造に好適に適用することができる。
1…画像復号装置、階層動画像復号装置
10…ヘッダ復号部
10E…ヘッダ符号化部
11…ピクチャ復号部
12…復号ピクチャバッファ
13…参照ピクチャ管理部
131…参照ピクチャセット設定部
132…参照ピクチャリスト導出部
13E…参照ピクチャ決定部
101…NALユニットヘッダ復号部
102…VPS復号部
103…SPS復号部
104…PPS復号部
105…スライスヘッダ復号部
1011…レイヤID復号部
1012…NALユニットタイプ復号部
1021…PTL(プロファイル/レベル)情報復号部
1021a…プロファイル情報復号部
1021b…レベル情報復号部
1021c…サブレイヤプロファイル有無フラグ復号部
1021d…サブレイヤレベル有無フラグ復号部
1021e…バイトアラインデータ復号部
1021f…参照プロファイルレベル選択部
1022…参照PTL指定情報復号部
1023…プロファイル有無フラグ復号部
301…エントロピー復号部
302…予測パラメータ復号部
303…インター予測パラメータ復号部
304…イントラ予測パラメータ復号部
307…予測パラメータメモリ
308…予測画像生成部
309…インター予測画像生成部
310…イントラ予測画像生成部
311…逆量子化・逆DCT部
312…加算部
2…画像符号化装置、階層動画像符号化装置
201…予測画像生成部
202…減算部
203…DCT変換・量子化部
204…エントロピー符号化部
205…逆量子化・逆DCT変換部
206…加算部
208…予測パラメータメモリ
210…符号化パラメータ決定部
211…予測パラメータ符号化部
222…VPS符号化部
2221…PTL情報符号化部
2221a…プロファイル情報符号化部
2221b…レベル情報符号化部
2221c…サブレイヤプロファイル有無フラグ符号化部
2221d…サブレイヤレベル有無フラグ符号化部
2221e…バイトアラインデータ符号化部
 
 
 

Claims (9)

  1.  階層符号化データを復号する画像復号装置であって、
     PTL情報リスト中のPTL情報内のプロファイル情報の有無を示すプロファイル有無フラグを復号するプロファイル有無フラグ復号手段と
     PTL情報を復号するPTL情報復号手段とを備え、
     上記PTL情報復号手段は、
     上記プロファイル有無フラグが1の場合、符号化データより、上記PTL情報のプロファイル情報を復号し、
     上記プロファイル情報有無フラグが0の場合、上記PTL情報内のプロファイル情報を、1つ前に復号されたPTL情報のプロファイル情報と等しいと推定することを特徴とする画像復号装置。
  2.  各サブレイヤプロファイル情報の有無を示すサブレイヤプロファイル有無フラグを復号するサブレイヤプロファイル有無フラグ復号手段を備え、
     上記PTL情報復号手段は、
     上記各サブレイヤのサブレイヤプロファイル情報有無フラグが1の場合、符号化データより、各サブレイヤのサブレイヤプロファイル情報を復号し、
     上記各サブレイヤプロファイル情報有無フラグが0の場合、上記各PTL情報に含まれる各サブレイヤプロファイル情報を、1つ前に復号されたPTL情報に含まれる対応する各サブレイヤプロファイル情報と等しいと推定することを特徴とする請求項1に記載の画像復号装置。
  3.  各サブレイヤレベル情報の有無を示すサブレイヤレベル有無フラグを復号するサブレイヤレベル情報有無フラグ復号手段を備え、
     上記PTL情報復号手段は、上記各サブレイヤのサブレイヤレベル情報有無フラグが1の場合、符号化データより、各サブレイヤのサブレイヤレベル情報を復号し、
     上記サブレイヤレベル情報有無フラグが0の場合、上記PTL情報に含まれる各サブレイヤレベル情報を、1つ前に復号されたPTL情報に含まれる対応する各サブレイヤレベル情報と等しいと推定することを特徴とする請求項1に記載の画像復号装置。
  4.  上記プロファイル情報には、少なくとも、プロファイル空間、ティアフラグ、プロファイル識別子、及びプロファイル互換フラグを含むことを特徴とする請求項1から3のいずれか1項に記載の画像復号装置。
  5.  上記サブレイヤプロファイル情報には、少なくとも、サブレイヤプロファイル空間、サブレイヤティアフラグ、サブレイヤプロファイル識別子、及びサブレイヤプロファイル互換フラグを含むことを特徴とする請求項2または4に記載の画像復号装置。
  6.  上記PTL情報に関するプロファイル有無フラグが0の場合、
     上記PTL情報に含まれる各サブレイヤに関するサブレイヤプロファイル有無フラグの値を0とすることを特徴とする請求項2に記載の画像復号装置。
  7.  階層符号化データを復号する画像復号方法であって、
     PTL情報リスト中のPTL情報内のプロファイル情報の有無を示すプロファイル有無フラグを復号するプロファイル有無フラグ復号ステップと
     PTL情報を復号するPTL情報復号ステップを備え、
     上記PTL情報復号ステップは、
     上記プロファイル有無フラグが1の場合、符号化データより、上記PTL情報のプロファイル情報を復号し、
     上記プロファイル情報有無フラグが0の場合、上記PTL情報内のプロファイル情報を、1つ前に復号されたPTL情報のプロファイル情報と等しいと推定することを特徴とする画像復号方法。
  8.  画像データを階層的に符号化して階層符号化データを生成する画像符号化装置であって、
     上記階層符号化データのプロファイルを示すPTL情報を符号化するPTL情報符号化部を備え、
     上記PTL情報符号化部は、上記PTL情報にプロファイル情報を符号化する場合に
    プロファイル有無フラグの値を1として符号化し、
     上記PTL情報内のプロファイル情報を、1つ前に符号化したPTL情報のプロファイル情報と等しいと推定する場合に、プロファイル有無フラグの値を0として符号化することを特徴とする画像符号化装置。
  9.  画像データを階層的に符号化して階層符号化データを生成する画像符号化方法であって、
     上記階層符号化データのプロファイルを示すPTL情報を符号化するPTL情報符号化ステップを備え、
     上記PTL情報符号化ステップは、上記PTL情報にプロファイル情報を符号化する場合にプロファイル有無フラグの値を1として符号化し、
     上記PTL情報内のプロファイル情報を、1つ前に符号化したPTL情報のプロファイル情報と等しいと推定する場合に、プロファイル有無フラグの値を0として符号化することを特徴とする画像符号化方法。
PCT/JP2014/075868 2013-10-08 2014-09-29 画像復号装置、画像復号方法、画像符号化装置、及び画像符号化方法 WO2015053120A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP14852055.4A EP3057324A4 (en) 2013-10-08 2014-09-29 Image decoding device, image decoding method, image coding device, and image coding method
JP2015541526A JPWO2015053120A1 (ja) 2013-10-08 2014-09-29 画像復号装置、画像復号方法、画像符号化装置、及び画像符号化方法
CN201480053151.1A CN105594209B (zh) 2013-10-08 2014-09-29 图像解码装置、图像解码方法以及图像编码装置
US15/023,442 US10075720B2 (en) 2013-10-08 2014-09-29 Image decoding device, image decoding method, image coding device, and image coding method
HK16111662.6A HK1223473A1 (zh) 2013-10-08 2016-10-07 圖像解碼裝置、圖像解碼方法、圖像編碼裝置以及圖像編碼方法
US16/043,191 US10237564B1 (en) 2013-10-08 2018-07-24 Image decoding device, image decoding method, image coding device, and image coding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013211469 2013-10-08
JP2013-211469 2013-10-08

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/023,442 A-371-Of-International US10075720B2 (en) 2013-10-08 2014-09-29 Image decoding device, image decoding method, image coding device, and image coding method
US16/043,191 Continuation US10237564B1 (en) 2013-10-08 2018-07-24 Image decoding device, image decoding method, image coding device, and image coding method

Publications (1)

Publication Number Publication Date
WO2015053120A1 true WO2015053120A1 (ja) 2015-04-16

Family

ID=52812939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/075868 WO2015053120A1 (ja) 2013-10-08 2014-09-29 画像復号装置、画像復号方法、画像符号化装置、及び画像符号化方法

Country Status (7)

Country Link
US (2) US10075720B2 (ja)
EP (1) EP3057324A4 (ja)
JP (1) JPWO2015053120A1 (ja)
CN (1) CN105594209B (ja)
HK (1) HK1223473A1 (ja)
TW (1) TWI645714B (ja)
WO (1) WO2015053120A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180059440A (ko) * 2015-10-20 2018-06-04 인텔 코포레이션 후처리 표시를 이용하는 비디오 코딩 방법 및 시스템
US20190281291A1 (en) * 2013-10-15 2019-09-12 Sony Corporation Image processing device and method
US11570429B2 (en) 2019-01-02 2023-01-31 Lg Electronics Inc. Method and device for processing video signal by using inter prediction
RU2793834C2 (ru) * 2019-01-02 2023-04-07 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для обработки видеосигнала посредством использования внешнего прогнозирования
US11902586B2 (en) 2019-12-26 2024-02-13 Bytedance Inc. Profile tier level parameter set in video coding

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5886341B2 (ja) * 2014-03-07 2016-03-16 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
JP6150134B2 (ja) 2014-03-24 2017-06-21 ソニー株式会社 画像符号化装置および方法、画像復号装置および方法、プログラム、並びに記録媒体
JP6312934B2 (ja) * 2015-06-16 2018-04-18 三菱電機株式会社 画像符号化方式変換装置及び画像符号化方式変換方法
WO2018020299A1 (en) * 2016-07-29 2018-02-01 Chan Kam Fu Lossless compression and decompression methods
WO2018061550A1 (ja) * 2016-09-28 2018-04-05 シャープ株式会社 画像復号装置及び画像符号化装置
CN107038736B (zh) * 2017-03-17 2021-07-06 腾讯科技(深圳)有限公司 一种基于帧率的动画展示方法及终端设备
US20180352240A1 (en) * 2017-06-03 2018-12-06 Apple Inc. Generalized Temporal Sub-Layering Frame Work
US11277247B2 (en) * 2019-04-10 2022-03-15 Samsung Electronics Co., Ltd. Method and apparatus to enable CSI reporting in wireless communication systems
US11310560B2 (en) 2019-05-17 2022-04-19 Samsung Electronics Co., Ltd. Bitstream merger and extractor
CN110287346B (zh) * 2019-06-28 2021-11-30 深圳云天励飞技术有限公司 数据存储方法、装置、服务器及存储介质
KR20220143843A (ko) 2020-02-29 2022-10-25 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하이 레벨 신택스 엘리먼트들에 대한 제약들
CN115428454A (zh) * 2020-04-06 2022-12-02 字节跳动有限公司 使用参数集的视频编解码
EP4140137A4 (en) 2020-05-22 2024-01-24 Beijing Bytedance Network Tech Co Ltd SIGNALING OF GENERAL COMPULSORY FLAGS
EP4162685A4 (en) * 2020-06-08 2023-12-13 Telefonaktiebolaget LM ERICSSON (PUBL) DERIVING A VALUE FOR EACH LAYER REPRESENTATION OF A VIDEO BIT STREAM
US20230336783A1 (en) * 2020-09-29 2023-10-19 Lg Electronics Inc. Method and device for generating/receiving media file including output layer set information, and method for transmitting media file

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014050425A1 (ja) * 2012-09-28 2014-04-03 シャープ株式会社 画像復号装置
WO2014050597A1 (ja) * 2012-09-28 2014-04-03 シャープ株式会社 画像復号装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419778B2 (en) * 2013-01-04 2019-09-17 Sony Corporation JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014050425A1 (ja) * 2012-09-28 2014-04-03 シャープ株式会社 画像復号装置
WO2014050597A1 (ja) * 2012-09-28 2014-04-03 シャープ株式会社 画像復号装置

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
"MV-HEVC Draft Text 5", JCT3V-EL008_V5, 27 July 2013 (2013-07-27)
"SHVC Draft 3", JCTVC-NL008_V3, 25 July 2013 (2013-07-25)
JIANLE CHEN ET AL.: "SHVC Draft 3, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11", JCTVC-N1008_V1, 14TH MEETING, August 2013 (2013-08-01), VIENNA, AT, pages I, 6 - 9,16,22-26,33-34, XP008183338 *
JILL BOYCE: "Profile, tier, level and operation points signaling in the VPS extension, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG 16 WP3 and ISO/IEC JTC1/SC29/WG11", JCTVC-L0180R2, 12TH MEETING, January 2013 (2013-01-01), GENEVA, CH, pages 1 - 4, XP030113668 *
MUNSI HAQUE: "VPS extension with updates of profile-tier-level syntax structure, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11", JCTVC-L0227_R1, 12TH MEETING, January 2013 (2013-01-01), GENEVA, CH, pages 1 - 7, XP030113715 *
RECOMMENDATION H.265 (04/13, 7 June 2013 (2013-06-07)
See also references of EP3057324A4
TAKESHI TSUKUBA ET AL.: "AHG9: Parsing profile and level information, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11", JCTVC-K0254R1, 11TH MEETING, October 2012 (2012-10-01), SHANGHAI, CN, pages 1 - 6, XP030113136 *
TAKESHI TSUKUBA ET AL.: "On profile, tier and level information, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11", JCTVC-00058_R2, 15TH MEETING, October 2013 (2013-10-01), GENEVA, CH, pages 1 - 11, XP030115031 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190281291A1 (en) * 2013-10-15 2019-09-12 Sony Corporation Image processing device and method
KR20180059440A (ko) * 2015-10-20 2018-06-04 인텔 코포레이션 후처리 표시를 이용하는 비디오 코딩 방법 및 시스템
KR102606583B1 (ko) * 2015-10-20 2023-11-24 인텔 코포레이션 후처리 표시를 이용하는 비디오 코딩 방법 및 시스템
US11570429B2 (en) 2019-01-02 2023-01-31 Lg Electronics Inc. Method and device for processing video signal by using inter prediction
RU2793834C2 (ru) * 2019-01-02 2023-04-07 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для обработки видеосигнала посредством использования внешнего прогнозирования
US20230118101A1 (en) 2019-01-02 2023-04-20 Lg Electronics Inc. Method and device for processing video signal by using inter prediction
US11805246B2 (en) 2019-01-02 2023-10-31 Lg Electronics Inc. Method and device for processing video signal by using inter prediction
US11902586B2 (en) 2019-12-26 2024-02-13 Bytedance Inc. Profile tier level parameter set in video coding
JP7432735B2 (ja) 2019-12-26 2024-02-16 バイトダンス インコーポレイテッド ビデオコーディングにおけるプロファイルティアレベルパラメータセット

Also Published As

Publication number Publication date
US20190082188A1 (en) 2019-03-14
CN105594209A (zh) 2016-05-18
TWI645714B (zh) 2018-12-21
CN105594209B (zh) 2019-08-06
JPWO2015053120A1 (ja) 2017-03-09
EP3057324A1 (en) 2016-08-17
US10075720B2 (en) 2018-09-11
US20160212437A1 (en) 2016-07-21
TW201521427A (zh) 2015-06-01
HK1223473A1 (zh) 2017-07-28
EP3057324A4 (en) 2017-04-05
US10237564B1 (en) 2019-03-19

Similar Documents

Publication Publication Date Title
US10237564B1 (en) Image decoding device, image decoding method, image coding device, and image coding method
JP6585223B2 (ja) 画像復号装置
JP6456535B2 (ja) 画像符号化装置、画像符号化方法および記録媒体
JP6800837B2 (ja) 画像復号装置、及び画像復号方法
CN105519119B (zh) 图像解码装置
US10136151B2 (en) Image decoding device and image decoding method
JP6352248B2 (ja) 画像復号装置、および画像符号化装置
JP2015119402A (ja) 画像復号装置、画像符号化装置、及び符号化データ
JPWO2015098713A1 (ja) 画像復号装置および画像符号化装置
JP2015050506A (ja) 画像復号装置および画像符号化装置
JP2015002495A (ja) 画像復号装置、および画像符号化装置
JP2015076807A (ja) 画像復号装置、画像符号化装置、および符号化データのデータ構造
JP2015126507A (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: 14852055

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015541526

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2014852055

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014852055

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15023442

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE