Image decoding device, image encoding device, and apparatus

By using a flag to indicate reference picture list reordering in the slice header and omitting unnecessary decoding when one reference picture is available, the method optimizes video coding by reducing redundant information transmission and improving efficiency.

JP2026004511AActive Publication Date: 2026-01-14DOLBY INTERNATIONAL AB
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025167931
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2012-09-28
Filing Date
2025-10-06
Publication Date
2026-01-14
Estimated Expiration
2033-09-26

AI Technical Summary

Technical Problem

Existing video coding methods transmit redundant reference picture identification and order information due to not considering the number of available reference pictures, leading to inefficient coding.

Method used

An apparatus and method for decoding video that includes a first flag indicating the presence of reference picture list reordering in the slice header, and omits unnecessary decoding of reference list rearrangement flags and orders when the number of referenceable pictures is one or less, optimizing the transmission of reference picture information.

Benefits of technology

This approach reduces unnecessary transmission of reference picture information, enabling video decoding with smaller header information size and efficient coding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026004511000001_ABST
    Figure 2026004511000001_ABST
Patent Text Reader

Abstract

To provide a device for decoding an encoded moving image by using header information of a smaller code amount by transmitting reference picture specification information and reference picture order information in consideration of the number of reference pictures available in a specific picture, and an image encoding device.SOLUTION: An image decoding device includes, in a reference picture information decoding unit (13), a step of determining a value of a first flag indicating whether or not information related to reference picture list sorting is present in a slice header, and a step of omitting decoding of a part of information included in RPL modification information, in which the RPL modification information includes at least one of a reference picture list sorting presence or absence flag and a reference picture list sorting order, and in a case where the number of current picture referable pictures does not exceed 1, decoding of the reference picture list sorting presence or absence flag and the reference picture list sorting order is omitted.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an image decoding device, an image encoding device, and an apparatus. [Background technology]

[0002] In order to efficiently transmit or record moving images, a moving image encoding device is used that generates encoded data by encoding moving images, and a moving image decoding device is used that generates decoded images by decoding the encoded data.

[0003] Specific video coding methods include, for example, H.264 / MPEG-4.AVC and the method proposed in its successor codec, HEVC (High-Efficiency Video Coding) (Non-Patent Document 1).

[0004] In such video coding methods, images (pictures) that make up a video are managed using a hierarchical structure consisting of slices obtained by dividing the image, coding units (sometimes called coding units) obtained by dividing the slices, and blocks and partitions obtained by dividing the coding units, and are usually coded / decoded block by block.

[0005] In such video coding methods, a predicted image is typically generated based on a locally decoded image obtained by encoding / decoding an input image, and the predicted image is subtracted from the input image (original image) to obtain a prediction residual (also called a "difference image" or "residual image"), which is then coded. Methods for generating predicted images include inter-frame prediction (inter-prediction) and intra-frame prediction (intra-prediction).

[0006] In intra prediction, predicted images for a frame are generated sequentially based on locally decoded images within the same frame.

[0007] In inter prediction, a predicted image is generated by applying motion compensation prediction to reference pictures included in a reference picture list. Reference pictures are a subset of locally decoded images for coded / decoded frames stored in a picture buffer. Reference picture identification information indicating which locally decoded image in the picture buffer is the reference picture is included in the header information. The header information also includes reference picture order information indicating the order in which the reference pictures are arranged in the reference picture list. [Prior art documents] [Non-patent literature]

[0008] [Non-Patent Document 1] "High efficiency video coding (HEVC) text specification draft 8 (JCTVC-J1003_d7)", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO / IEC JTC1 / SC29 / WG11 11th Meeting: Stockholm, SE, 11-20 July 2012 (published on July 28, 2012) Summary of the Invention [Problem to be solved by the invention]

[0009] However, the reference picture identification information and reference picture order information provided by the prior art are not optimal, specifically, the transmission of the reference picture identification information and reference picture order information contained in the header information does not take into account the number of reference pictures available for a particular picture, resulting in redundant transmission of information.

[0010] The present invention has been made in consideration of the above problems, and its object is to provide an apparatus for decoding coded video using header information with a smaller amount of coding by transmitting reference picture identification information and reference picture order information taking into account the number of reference pictures available for a particular picture. [Means for solving the problem]

[0011] a first flag included in the one or more coding parameters, the first flag indicating whether or not information related to reference picture list reordering is present in the slice header; and a method for decoding an image, the method comprising: receiving a bitstream including one or more coding parameters used for decoding a current picture of a video sequence; deriving a reference picture set available for the current picture based on the bitstream; generating a reference picture list based on reference picture list (RPL) modification information decoded from a slice header and the reference picture set; determining a value of a first flag included in the one or more coding parameters, the first flag indicating whether or not information related to reference picture list reordering is present in the slice header; and omitting decoding of part of the information included in the RPL modification information, wherein the RPL modification information includes at least one of a reference picture list reordering flag and a reference picture list reordering order;

[0012] 1. An image coding apparatus for coding an image, comprising: a non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations for coding data corresponding to a video, the operations including: identifying, in the image coding apparatus, a current picture and a reference picture set (RPS); generating, in an image decoding apparatus, RPS information usable for generating the RPS; and generating, based on the current picture and the RPS, a reference picture list (RPL).generating RPL modification information usable for generating the RPL, the RPL modification information including information about reference picture list reordering associated with the RPL; generating one or more coding parameters and a slice header based on the RPL information, the RPL modification information, and the current picture, the one or more coding parameters including a first flag indicating whether the information about the reference picture list reordering is included in the slice header or not, and a parameter indicating the number of pictures referable to the current picture; encoding the current picture based on a portion of the RPL to generate coded picture data; and generating a bitstream representing the current picture, the bitstream including: and encoding the bitstream including the slice header, the coded picture data, and the one or more coding parameters, wherein in the step of encoding the bitstream, if the first flag indicates that the slice header includes the information on list reordering and the parameter indicating the number of pictures referable to the current picture is greater than 1, the RPL modification information includes a reference picture list reordering flag and a reference picture list reordering order, and if the first flag indicates that the slice header includes the information on list reordering and the parameter indicating the number of pictures referable to the current picture is less than or equal to 1, the RPL modification information omits including the reference picture list reordering flag and the reference picture list reordering order.

[0013] 2. An apparatus comprising: a non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations to generate data corresponding to a video sequence, the operations including: receiving a bitstream including one or more coding parameters used for decoding a current picture of a video sequence; deriving a reference picture set available for the current picture based on the bitstream; generating a reference picture list based on reference picture list (RPL) modification information decoded from a slice header and the reference picture set; determining a value of a first flag included in the one or more coding parameters, the first flag indicating whether information related to reference picture list reordering is present in the slice header; and omitting decoding of part of information included in the RPL modification information, wherein the RPL modification information includes at least one of a reference picture list reordering flag and a reference picture list reordering order, and wherein decoding of the reference picture list reordering flag and the reference picture list reordering order is omitted if the number of pictures referable to the current picture does not exceed one. [Effects of the Invention]

[0014] According to one aspect of the present invention, decoding of the reference list rearrangement flag and the reference list rearrangement order is omitted when the number of pictures referable to the current picture does not exceed 1. This makes it possible to prevent the transmission of reference picture information that is not necessary for decoding, and has the effect of enabling video decoding with header information with a smaller amount of coding.

[0015] Furthermore, according to one aspect of the present invention, the coding of the reference list rearrangement flag and the reference list rearrangement order is omitted if the number of pictures referable to the current picture does not exceed 1. This makes it possible to prevent the transmission of reference picture information that is not necessary for decoding, and produces the effect of generating coded data that allows video to be decoded with header information of a smaller code size. [Brief explanation of the drawings]

[0016] [Figure 1] FIG. 10 is a diagram showing details of a reference picture list construction process according to an embodiment of the present invention. [Figure 2] 1 is a functional block diagram showing a schematic configuration of a video decoding device according to an embodiment of the present invention. [Figure 3] (a) to (e) are diagrams showing 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 CTB layer that defines a coding tree block CTB, and a CU layer that defines a coding unit (CU) included in the coding tree block CTB, respectively. [Figure 4] 1A and 1B are diagrams showing examples of reference picture sets and reference picture lists, where (a) is a diagram showing pictures constituting a moving image arranged in display order, (b) is a diagram showing an example of RPS information applied to a target picture, (c) is a diagram showing an example of a current RPS derived when the RPS information shown in (b) is applied when the POC of the target picture is 0, and (d) and (e) are diagrams showing examples of reference picture lists generated from reference pictures included in the current RPS. [Figure 5] 10A and 10B are diagrams showing an example of reference picture list modification, in which (a) is a diagram showing the L0 reference list before modification, (b) is a diagram showing RPL modification information, and (c) is a diagram showing the L0 reference list after modification. [Figure 6] FIG. 10 is a diagram illustrating a part of an SPS syntax table used during SPS decoding in the header information decoding unit and the reference picture information decoding unit of the video decoding device. [Figure 7] 10 is a diagram illustrating a syntax table of a short-term reference picture set used when decoding SPSs and when decoding slice headers in the header information decoding unit and the reference picture information decoding unit of the video decoding device. FIG. [Figure 8] 10 is a diagram illustrating a part of a slice header syntax table used when decoding slice headers in the header information decoding unit and the reference picture information decoding unit of the video decoding device. FIG. [Figure 9] 10 is a diagram illustrating a part of a slice header syntax table used when decoding slice headers in the header information decoding unit and the reference picture information decoding unit of the video decoding device. FIG. [Figure 10] 10 is a diagram illustrating a syntax table of reference list rearrangement information used when decoding slice headers in the header information decoding unit and the reference picture information decoding unit of the video decoding device. FIG. [Figure 11] 10 is a diagram illustrating a syntax table of reference list rearrangement information used when decoding slice headers in the video decoding device. FIG. [Figure 12] FIG. 10 is a diagram showing another example of a syntax table of reference list rearrangement information used when decoding slice headers in the video decoding device. [Figure 13] 10 is a diagram illustrating a syntax table of reference list rearrangement information used when decoding slice headers in the video decoding device. FIG. [Figure 14] FIG. 10 is a diagram showing another example of a syntax table of reference list rearrangement information used when decoding slice headers in the video decoding device. [Figure 15] FIG. 10 is a diagram showing another example of a syntax table of reference list rearrangement information used when decoding slice headers in the video decoding device. [Figure 16] FIG. 10 is a diagram showing another example of a syntax table of reference list rearrangement information used when decoding slice headers in the video decoding device. [Figure 17]1 is a functional block diagram showing a schematic configuration of a video encoding device according to an embodiment of the present invention. [Figure 18] 1A and 1B are diagrams illustrating the configurations of a transmitting device equipped with the video encoding device and a receiving device equipped with the video decoding device, where (a) shows the transmitting device equipped with the video encoding device, and (b) shows the receiving device equipped with the video decoding device. [Figure 19] 1A and 1B are diagrams showing the configurations of a recording device equipped with the video encoding device and a playback device equipped with the video decoding device, where (a) shows the configuration of a recording device equipped with the video encoding device, and (b) shows the configuration of a playback device equipped with the video decoding device. DETAILED DESCRIPTION OF THE INVENTION

[0017] An embodiment of the present invention will be described with reference to Fig. 1 to Fig. 17. First, an overview of a video decoding device (image decoding device) 1 and a video coding device (image coding device) 2 will be described with reference to Fig. 2. Fig. 2 is a functional block diagram showing a schematic configuration of the video decoding device 1.

[0018] The video decoding device 1 and the video encoding device 2 shown in FIG. It implements the technology adopted in the AVC standard and the technology proposed in its successor codec, HEVC (High-Efficiency Video Coding).

[0019] The video encoding device 2 entropy-encodes syntax values ​​that are specified to be transmitted from an encoder to a decoder in these video encoding methods, to generate encoded data #1.

[0020] Video decoding device 1 receives coded data #1 obtained by coding video by video coding device 2. Video decoding device 1 decodes the input coded data #1 and outputs video #2 to the outside. Before describing video decoding device 1 in detail, the structure of coded data #1 will be described below.

[0021] [Structure of encoded data] 3, a configuration example of coded data #1 generated by the video coding device 2 and decoded by the video decoding device 1 will be described. The coded data #1 illustratively includes a sequence and a plurality of pictures that make up the sequence.

[0022] The hierarchical structure of data in the coded data #1 is shown in Fig. 3. (a) to (e) in Fig. 3 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, and a coding tree block (Coding 1 is a diagram showing a CTB layer that defines a coding tree block (CTB) and a CU layer that defines a coding unit (CU) included in a coding tree block CTB.

[0023] (Sequence Layer) The sequence layer defines a set of data that the video decoding device 1 refers to in order to decode a sequence SEQ to be processed (hereinafter also referred to as a target sequence). As shown in (a) of FIG. 3, the sequence SEQ includes a sequence parameter set SPS (Sequence Parameter Set), a picture parameter set PPS (Picture Parameter Set), pictures PICT1 to PICT NP (NP is the total number of pictures included in the sequence SEQ) and supplemental enhancement information SEI (Supplemental Enhancement Information).

[0024] The sequence parameter set SPS defines a set of coding parameters that are referenced by the video decoding device 1 in order to decode the target sequence. Details of the SPS will be described later.

[0025] The picture parameter set PPS defines a set of coding parameters that the video decoding device 1 refers to in order to decode each picture in the target sequence. Note that there may be multiple PPSs. In this case, one of the multiple PPSs is selected for each picture in the target sequence.

[0026] (Picture Layer) The picture layer defines a set of data that the video decoding device 1 refers to in order to decode a picture PICT to be processed (hereinafter also referred to as a target picture). As shown in (b) of FIG. 3, the picture PICT is divided into a plurality of slices, i.e., slices S1 to S NS (NS is the total number of slices included in the picture PICT).

[0027] In the following, slices S1 to S NS When there is no need to distinguish between the above, the subscripts of the codes may be omitted. The same applies to other data that are included in the encoded data #1 described below and have subscripts.

[0028] (Slice Layer) The slice layer defines a set of data that the video decoding device 1 refers to in order to decode a slice S to be processed (also referred to as a target slice). As shown in (c) of FIG. 3, the slice S includes a slice header SH and coding tree blocks CTB1 to CTB2. NC (NC is the total number of coding tree blocks contained in slice S).

[0029] The slice header SH includes a group of coding parameters that the video decoding device 1 refers to in order to determine a decoding method for the current slice. Slice type designation information (slice_type) that designates the slice type is an example of a coding parameter included in the slice header SH.

[0030] Slice types that can be specified by the slice type specification information include (1) an I slice that uses only intra prediction during encoding, (2) a P slice that uses unidirectional prediction or intra prediction during encoding, and (3) a B slice that uses unidirectional prediction, bidirectional prediction, or intra prediction during encoding.

[0031] The slice header SH may include a reference (pic_parameter_set_id) to a picture parameter set PPS included in the sequence layer.

[0032] (CTB layer) The CTB layer defines a set of data that the video decoding device 1 refers to in order to decode a coding tree block CTB to be processed (hereinafter also referred to as a target CTB). Note that a CTB is also called a largest coding unit (LCU) or a tree block.

[0033] The coding tree block CTB includes a CTB header CTBH and coding unit information CU1 to CU2. NL (NL is the total number of coding unit information included in the CTB). The coding unit information CU is associated with a coding unit, which is a partial area obtained by dividing the CTB. Hereinafter, the coding unit is referred to as a CU (Coding Unit). Note that a CU is a coding block (CB: It is also called a Coding Block.

[0034] (CTB header) The CTB header CTBH includes coding parameters that the video decoding device 1 refers to in order to determine the decoding method for the target CTB. Specifically, as shown in (d) of Fig. 3, the CTB header CTBH includes CTB division information SP_CTB that specifies the division pattern of the target CTB into each CU, and a quantization parameter difference Δqp (qp_delta) that specifies the size of the quantization step.

[0035] The CTB division information SP_CTB is information that represents a coding tree for dividing the CTB, and specifically, is information that specifies the shape, size, and position within the target CTB of each CU included in the target CTB.

[0036] Furthermore, the quantization parameter difference Δqp is the difference qp−qp′ between the quantization parameter qp in the target CTB and the quantization parameter qp′ in the CTB coded immediately before the target CTB.

[0037] (CU layer) The CU layer defines a set of data that the video decoding device 1 refers to in order to decode a CU to be processed (hereinafter also referred to as a target CU).

[0038] Before describing the specific contents of the data included in the coding unit information CU, the tree structure of the data included in the CU will be described. The prediction tree and the transform tree are the root nodes of the prediction tree (PT) and the transform tree (TT). The prediction tree and the transform tree are explained below.

[0039] In the prediction tree, a coding node is divided into one or more prediction blocks, and the position and size of each prediction block are specified.In other words, a prediction block is one or more non-overlapping regions that constitute a coding node.In addition, the prediction tree includes one or more prediction blocks obtained by the above division.

[0040] The prediction process is performed for each prediction block. Hereinafter, the prediction block, which is the unit of prediction, is also referred to as a prediction unit (PU).

[0041] In the transform tree, a coding node is divided into one or more transform blocks, and the position and size of each transform block are specified. In other words, a transform block is one or more non-overlapping regions that make up a coding node. The transform tree includes one or more transform blocks obtained by the division.

[0042] The transform process is performed for each transform block. Hereinafter, the transform block, which is the unit of transform, is also referred to as a transform unit (TU).

[0043] (Data structure of coding unit information) Next, specific contents of data included in the coding unit information CU will be described with reference to (e) of Fig. 3. As shown in (e) of Fig. 3, the coding unit information CU specifically includes a skip mode flag SKIP, CU prediction type information Pred_type, PT information PTI, and TT information TTI.

[0044] [Skip Flag] The skip flag SKIP is a flag indicating whether or not the skip mode is applied to the target CU, and when the value of the skip flag SKIP is 1, that is, when the skip mode is applied to the target CU, the PT information PTI in the coding unit information CU is omitted. Note that the skip flag SKIP is omitted in an I-slice.

[0045] [CU prediction type information] CU prediction type information Pred_type includes CU prediction method information PredMode and PU partition type information PartMode.

[0046] The CU prediction method information PredMode specifies whether intra prediction (intra CU) or inter prediction (inter CU) is to be used as a prediction image generation method for each PU included in the target CU. Note that, hereinafter, the types of skip, intra prediction, and inter prediction for the target CU are referred to as CU prediction modes.

[0047] The PU partition type information PartMode specifies a PU partition type, which is a pattern for dividing a target coding unit (CU) into PUs. Hereinafter, dividing a target coding unit (CU) into PUs according to the PU partition type is referred to as PU partition.

[0048] Note that the selectable PU partition types differ depending on the CU prediction method and CU size. Furthermore, the selectable PU partition types differ between inter prediction and intra prediction. Details of the PU partition types will be described later.

[0049] [PT information] The PT information PTI is information about a PT included in the target CU. In other words, the PT information PTI is a set of information about one or more PUs included in the PT. As described above, a predicted image is generated in units of PU, and therefore the PT information PTI is referenced when the predicted image is generated by the video decoding device 1. As shown in (e) of FIG. 3, the PT information PTI is PU information PUI1 to PUI2 including prediction information and the like for each PU. NP (NP is the total number of PUs included in the target PT).

[0050] The prediction information PUI includes intra prediction information or inter prediction information depending on which prediction method is specified by the prediction type information Pred_mode. Hereinafter, a PU to which intra prediction is applied will also be referred to as an intra PU, and a PU to which inter prediction is applied will also be referred to as an inter PU.

[0051] The inter prediction information includes motion compensation parameters that are referenced when the video decoding device 1 generates an inter predicted image by inter prediction.

[0052] Examples of motion compensation parameters include a merge flag (merge_flag), a merge index (merge_idx), an estimated motion vector index (mvp_idx), a reference image index (ref_idx), an inter prediction flag (inter_pred_flag), and a motion vector residual (mvd).

[0053] The intra prediction information includes coding parameters that are referenced when the video decoding device 1 generates an intra prediction image by intra prediction.

[0054] Intra prediction parameters include, for example, an estimated prediction mode flag, an estimated prediction mode index, and a residual prediction mode index.

[0055] [TT Information] The TT information TTI is information about a TT included in a CU. In other words, the TT information TTI is a set of information about one or more TUs included in a TT, and is referred to when the video decoding device 1 decodes residual data. Note that, hereinafter, a TU may also be referred to as a transform block.

[0056] As shown in (e) of FIG. 3, the TT information TTI includes TT division information SP_TU that specifies a division pattern of the target CU into each transform block, and TU information TUI1 to TUI NT (NT is the total number of blocks included in the target CU).

[0057] Specifically, the TT division information SP_TU is information for determining the shape, size, and position within the target CU of each TU included in the target CU. For example, the TT division information SP_TU can be realized by information (split_transform_flag) indicating whether or not to divide the target node, and information (trafoDepth) indicating the depth of the division.

[0058] Furthermore, for example, if the size of a CU is 64×64, each TU obtained by division can have a size ranging from 32×32 pixels to 4×4 pixels.

[0059] TU information TUI1~TUI NT is individual information about one or more TUs included in the TT. For example, the TU information TUI includes a quantized prediction residual.

[0060] Each quantized prediction residual is coded data generated by the video coding device 2 by performing the following processes 1 to 3 on a target block, which is a block to be processed.

[0061] Process 1: Subtract the predicted image from the image to be coded and perform DCT (Discrete Cosine Transform) on the prediction residual; Process 2: quantize the transform coefficients obtained in process 1; Process 3: Variable-length coding the transform coefficients quantized in process 2; The quantization parameter qp described above represents the size of the quantization step QP used when the video encoding device 2 quantizes the transform coefficients (QP=2 qp / 6 ).

[0062] [Video Decoding Device] The configuration of the video decoding device 1 according to this embodiment will be described below with reference to FIGS.

[0063] (Overview of video decoding device) The video decoding device 1 generates a predicted image for each PU, generates a decoded image #2 by adding the generated predicted image to a prediction residual decoded from the encoded data #1, and outputs the generated decoded image #2 to the outside.

[0064] Here, the generation of the predicted image is performed with reference to the coding parameters obtained by decoding the coded data #1. The coding parameters are parameters referenced to generate the predicted image. The coding parameters include prediction parameters such as motion information referenced in inter prediction (e.g., motion vector, reference image, reference image list selection information, motion compensation method selection information) and prediction mode referenced in intra prediction, as well as the size and shape of the PU, the size and shape of the block, and residual data between the original image and the predicted image.

[0065] In the following description, the picture (frame), slice, CTB, block, and PU to be decoded will be referred to as the current picture, current slice, current CTB, current block, and current PU, respectively.

[0066] (Configuration of video decoding device) The following describes a schematic configuration of the video decoding device 1 with reference to Fig. 2. Fig. 2 is a functional block diagram showing a schematic configuration of the video decoding device 1.

[0067] 2, the video decoding device 1 includes a header decoding unit 10, a picture decoding unit 11, a decoded picture buffer 12, a reference picture set derivation unit 14, and a reference picture list derivation unit 15. The header decoding unit 10 includes a reference picture information decoding unit 13 therein.

[0068] [Header decoding part] The header decoding unit 10 decodes information used for decoding on a sequence-by-sequence, picture-by-picture, or slice-by-slice basis from the coded data #1 supplied from the video coding device 2. The decoded information is output to components of the video decoding device 1, including the picture decoding unit 11.

[0069] The header decoding unit 10 parses the SPS included in the coded data #1 based on a predetermined syntax definition and decodes information used for decoding on a sequence-by-sequence basis. For example, information related to the image size of the decoded image is decoded from the SPS.

[0070] The header decoding unit 10 also parses the slice header included in the coded data #1 based on a predetermined syntax definition, and decodes information used for decoding on a slice-by-slice basis. For example, the slice type is decoded from the slice header.

[0071] [Reference picture information decoding unit] The reference picture information decoding unit is a component of the header decoding unit 10, and decodes information about reference pictures from the coded data #1. The information about reference pictures includes reference picture set information (hereinafter referred to as RPS information) and reference picture list modification information (hereinafter referred to as RPL modification information).

[0072] A reference picture set (RPS) represents a set of pictures that may be used as reference pictures for a current picture or a picture that follows the current picture in decoding order. RPS information is decoded from the SPS or slice header and is used to derive the reference picture set that is set when each picture is decoded.

[0073] A reference picture list (RPL) is a candidate list of reference pictures to be referenced when performing motion compensation prediction. There may be two or more reference picture lists. In this embodiment, an L0 reference picture list (L0 reference list) and an L1 reference picture list (L1 reference list) are used. RPL modification information is information decoded from the SPS or slice header, and indicates the order of reference pictures in the reference picture list.

[0074] Motion compensation prediction uses the reference picture recorded at the reference picture index (refIdx) position on the reference picture list. For example, if the value of refIdx is 0, the reference picture at position 0 in the reference picture list, i.e., the reference picture at the beginning of the reference picture list, is used for motion compensation prediction.

[0075] The decoding process of the RPS information and RPL modification information by the reference picture information decoding unit 13 is an important process in this embodiment, and will be described in detail later.

[0076] An example of a reference picture set and a reference picture list will now be described with reference to Figure 4. Figure 4(a) illustrates pictures constituting a video arranged in display order, with the numbers in the figure indicating the POC corresponding to each picture. As will be described later in the description of the decoded picture buffer, POCs are assigned to each picture in ascending order in output order. The picture marked "curr" with a POC of 9 is the current picture to be decoded.

[0077] FIG. 4(b) shows an example of RPS information applied to a target picture. The reference picture set (current RPS) for the target picture is derived based on the RPS information. The RPS information includes long-term RPS information and short-term RPS information. The long-term RPS information directly indicates the POC of the picture to be included in the current RPS. In the example shown in FIG. 4(b), the long-term RPS information indicates that a picture with POC=1 is to be included in the current RPS. The short-term RPS information records the picture to be included in the current RPS as a difference from the POC of the target picture. The short-term RPS information shown in the figure as "Before, dPOC=1" indicates that a picture with a POC that is 1 smaller than the POC of the target picture is to be included in the current RPS. Similarly, "Before, dPOC=4" in the figure indicates a picture with a POC that is 4 smaller, and "After, dPOC=1" indicates that a picture with a POC that is 1 larger is to be included in the current RPS. Note that "Before" indicates a picture before the target picture, i.e., a picture earlier in display order than the target picture, and "After" indicates a picture after the target picture, i.e., a picture later in display order than the target picture.

[0078] Figure 4(c) shows an example of the current RPS derived when the RPS information illustrated in Figure 4(b) is applied when the POC of the target picture is 0. It includes a picture with POC=1 indicated by the long-term RPS information. It also includes a picture with POC=8 indicated by the short-term RPS information that has a POC that is 1 less than the target picture (POC=9). Similarly, it includes pictures with POC=5 and POC=10 indicated by the short-term RPS information.

[0079] 4(d) and (e) show examples of reference picture lists generated from reference pictures included in the current RPS. Each element in the reference picture list is assigned an index (reference picture index) (denoted as idx in the figures). FIG. 4(d) shows an example of an L0 reference list. The L0 reference list contains reference pictures included in the current RPS with POCs of 5, 8, 10, and 1, in that order. FIG. 4(e) shows an example of an L1 reference list. The L1 reference list contains reference pictures included in the current RPS with POCs of 10, 5, and 8, in that order. Note that, as shown in the example of the L1 reference list, the reference picture list does not need to contain all reference pictures (referenceable pictures) included in the current RPS. However, the number of elements in the reference picture list is at most 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 referenced by the current picture.

[0080] Next, an example of reference picture list modification will be described with reference to FIG. 5. FIG. 5 illustrates a modified reference picture list (FIG. 5(c)) obtained when RPL modification information (FIG. 5(b)) is applied to a specific reference picture list (FIG. 5(a)). The pre-modification L0 reference list shown in FIG. 5(a) is the same as the L0 reference list described in FIG. 4(d). The RPL modification information shown in FIG. 5(b) is a list whose elements are reference picture index values, with values ​​0, 2, 1, and 3 stored in order from the beginning. This RPL modification information indicates that the reference pictures indicated by reference picture indexes 0, 2, 1, and 3 included in the pre-modification reference list are to be used as reference pictures in the modified L0 reference list, in that order. FIG. 5(c) shows the modified L0 reference list, which includes pictures with POCs of 5, 10, 8, and 1, in that order.

[0081] [Picture Decoding Section] The picture decoding unit 11 generates a local decoded image of each picture based on the coded data #1, the header information input from the header decoding unit 10, the reference pictures recorded in the decoded picture buffer 12, and the reference picture list input from the reference picture list derivation unit 15, and records the generated image in the decoded picture buffer 12.

[0082] The outline of the procedure for decoding a specific picture (target picture) in the picture decoding unit 11 is as follows. (S101) The CTBs constituting the target picture are sequentially set as target CTBs. The processes of S102 to S106 are executed for each CTB. Then, the process of S107 is executed. (S102) The CTB division information for the target CTB is decoded from the coded data #1. (S103) The CUs constituting the target CTB are sequentially set as target CUs, and the following processes of S104 to S1106 are executed. (S104) CU prediction type information and PU partition information of the target CU are decoded. If the target CU is an inter CU or skip CU, S104a1 to S104a5 are executed. On the other hand, if the target CU is an intra CU, S104b1 is executed. (S104a1) The PUs constituting the target CU are sequentially set as target PUs, and the following process is executed. (S104a2) The motion information of the target PU is decoded. (S104a3) If the current PU uses L0 prediction, the reference picture at the position indicated by the L0 reference index in the L0 reference list is set as the reference picture for the current PU. An L0 predicted image is generated based on the decoded pixel values ​​of the reference picture indicated by the L0 motion vector. (S104a4) If the current PU uses L1 prediction, the reference picture at the position indicated by the L1 reference index in the L1 reference list is set as the reference picture for the current PU. An L1 predicted image is generated based on the pixel value at the position indicated by the L1 motion vector on the reference picture. (S104a5) If the target PU uses only L0 prediction, the L0 predicted image is used as the predicted image of the target PU. On the other hand, if the target PU uses only L1 prediction, the L1 predicted image is used as the predicted image of the target PU. On the other hand, if the target PU uses both L0 prediction and L1 prediction (if bi-prediction is used), the weighted average of the L0 predicted image and the L1 predicted image is used as the predicted image of the target PU. (S104b1) The intra prediction modes corresponding to the PUs constituting the target CU are decoded, and a predicted image is generated based on the intra prediction method corresponding to each intra prediction mode. (S105) The TT information of the target CU is decoded. For each TU constituting the target CU, the transform coefficients are decoded. Furthermore, the transform coefficients are subjected to inverse quantization and inverse transform to generate prediction residuals. (S106) The prediction residual is added to the predicted image to generate a locally decoded image of the target CU before application of the filter. (S107) An adaptive offset filter and a deblocking filter are applied to the unfiltered locally decoded image of the target picture to generate a locally decoded image of the target picture.

[0083] [Decoded Picture Buffer] The decoded picture buffer 12 stores a locally decoded image of each picture decoded by the picture decoding unit in association with the POC (Picture Order Count) of the picture. The decoded picture buffer 12 determines the POC to be output at a predetermined output timing. Then, the locally decoded image corresponding to the POC is output to the outside as one of the pictures constituting the decoded image #2.

[0084] [Reference Picture Set Setting Section] The reference picture set setting unit 14 constructs a reference picture set RPS based on the RPS information decoded by the reference picture information decoding unit 13 and the locally decoded image and POC information recorded in the decoded picture buffer 12, and outputs the reference picture set RPS to the reference picture list derivation unit 15. Details of the reference picture set setting unit 14 will be described later.

[0085] [Reference picture list derivation part] The reference picture list derivation unit 15 generates a reference picture list RPL based on the RPL modification information decoded by the reference picture information decoding unit 13 and the reference picture set RPS input from the reference picture set setting unit 14, and outputs the reference picture list RPL to the picture decoding unit 11. Details of the reference picture list derivation unit 15 will be described later.

[0086] (Video decoding process procedure) The procedure by which the video decoding device 1 generates the decoded image #2 from the input coded data #1 is as follows. (S11) The header decoding unit 10 decodes the SPS from the coded data #1. (S12) The header decoder 10 decodes the PPS from the coded data #1. (S13) Pictures indicated by the coded data #1 are sequentially set as current pictures, and the processes of S14 to S17 are executed for each current picture. (S14) The header decoding unit 10 decodes the slice header of each slice included in the current picture from the coded data #1. The reference picture information decoding unit 13 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 14. The reference picture information decoding unit 13 also decodes the RPL modification information from the slice header and outputs it to the reference picture list derivation unit 15. (S15) The reference picture set setting unit 14 generates a reference picture set RPS to be applied to the target picture based on the RPS information, the POC of the locally decoded image recorded in the decoded picture buffer 12, and its location information in memory, and outputs it to the reference picture list derivation unit 15. (S16) The reference picture list derivation unit 15 generates a reference picture list RPL based on the reference picture set RPS and the RPL modification information, and outputs the generated reference picture list RPL to the picture decoding unit 11. (S17) The picture decoding unit 11 creates a locally decoded image of the current picture based on the slice data of each slice included in the current picture from the coded data #1 and the reference picture list RPL, and records the locally decoded image in the decoded picture buffer in association with the POC of the current picture. 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 the POC.

[0087] (Details of the reference picture information decoding process) Among the processes in S14 in the decoding procedure, the decoding process of the RPS information and the RPL modification information will be described in detail.

[0088] (RPS information decoding process) The RPS information is information decoded from the SPS or slice header to construct a reference picture set. The RPS information includes: 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 3. SH Short-term RPS information: Short-term reference picture set information included in the slice header 4. 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 multiple short-term reference picture sets that can be used by each picture that references the SPS. Note that a short-term reference picture set is a collection of pictures that can be reference pictures (short-term reference pictures) specified by their relative positions with respect to the target picture (for example, POC differences from the target picture).

[0089] Decoding of the SPS short-term RPS information will be described with reference to Fig. 6. Fig. 6 illustrates a portion of the SPS syntax table used when decoding the SPS in the header information decoder 10 and the reference picture information decoder 13. Part (A) in Fig. 6 corresponds to the SPS short-term RPS information. The SPS short-term RPS information includes the number of short-term reference picture sets included in the SPS (num_short_term_ref_pic_sets) and information about each short-term reference picture set (short_term_ref_pic_set(i)).

[0090] The short-term reference picture set information will be described with reference to Fig. 7. Fig. 7 illustrates a syntax table of the short-term reference picture set used by the header information decoder 10 and the reference picture information decoder 13 when decoding the SPS and the slice header.

[0091] The short-term reference picture set information includes the number of short-term reference pictures (num_negative_pics) that are earlier in display order than the current picture, and the number of short-term reference pictures (num_positive_pics) that are later in display order than the current picture. In the following, a short-term reference picture that is earlier in display order than the current picture is called a forward short-term reference picture, and a short-term reference picture that is later in display order than the current picture is called a backward short-term reference picture.

[0092] The short-term reference picture set information also includes, for each forward short-term reference picture, the absolute value of the POC difference from the current picture (delta_poc_s0_minus1[i]) and whether or not the picture is likely to be used as a reference picture for the current picture (used_by_curr_pic_s0_flag[i]). Additionally, for each backward short-term reference picture, the absolute value of the POC difference from the current picture (delta_poc_s1_minus1[i]) and whether or not the picture is likely to be used as a reference picture for the current picture (used_by_curr_pic_s1_flag[i]) are included.

[0093] (2.SPS long-term RP information) The SPS long-term RP information includes information on multiple long-term reference pictures that can be used by each picture that references the SPS. Note that a long-term reference picture is a picture specified by its absolute position in a sequence (e.g., POC).

[0094] Decoding of the SPS long-term RP information will be described with reference to Figure 6 again. Part (B) in Figure 6 corresponds to the SPS long-term RP information. The SPS long-term RP information includes information indicating whether or not a long-term reference picture is transmitted in the SPS (long_term_ref_pics_present_flag), 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 information on the long-term reference picture includes the reference picture's POC (lt_ref_pic_poc_lsb_sps[i]) and whether or not it may be used as a reference picture for the current picture (used_by_curr_pic_lt_sps_flag[i]).

[0095] The POC of the reference picture may be the POC value associated with the reference picture itself, or the LSB (Least Significant Bit) of the POC, i.e., the remainder when the POC is divided by a predetermined power of two.

[0096] (3.SH short-term RPS information) The SH short-term RPS information includes information about a single short-term reference picture set that can be used from pictures that reference the slice header.

[0097] Decoding of the SPS short-term RPS information will be described with reference to FIG. 8. FIG. 8 illustrates a portion of a slice header syntax table used by the header information decoder 10 and the reference picture information decoder 13 when decoding the slice header. Part (A) of FIG. 8 corresponds to the 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 to be selected from short-term reference picture sets already decoded in the SPS or whether it is to be explicitly included in the slice header. When selecting from short-term reference picture sets already decoded in the SPS, an identifier (short_term_ref_pic_set_idx) for selecting one of the decoded short-term reference picture sets is included. When explicitly including it in the slice header, information equivalent to the syntax table (short_term_ref_pic_set(idx)) described above with reference to FIG. 7 is included in the SPS short-term RPS information.

[0098] (4.SH long-term RP information) The SH long-term RP information includes information on long-term reference pictures that can be used from pictures that refer to the slice header.

[0099] Decoding of the SH long-term RP information will be described with reference to Figure 8 again. Part (B) in Figure 8 corresponds to the SH long-term RP information. The SH long-term RP information is included in the slice header only if long-term reference pictures are available for the current picture (long_term_ref_pic_present_flag). If one or more long-term reference pictures have been decoded in the SPS (num_long_term_ref_pics_sps>0), the number of reference pictures (num_long_term_sps) that can be referenced by the current picture among the long-term reference pictures decoded in the SPS is included in the SH long-term RP information. The number of long-term reference pictures (num_long_term_pics) explicitly transmitted in the slice header is also included in the SH long-term RP information. In addition, the SH long-term RP information includes information (lt_idx_sps[i]) for selecting the above num_long_term_sps number of long-term reference pictures from the long-term reference pictures transmitted in the SPS. Furthermore, the slice header contains information about long-term reference pictures, including the POC (poc_lsb_lt[i]) of the reference picture and whether or not it may be used as a reference picture for the target picture (used_by_curr_pic_lt_flag[i]), for the number of long-term reference pictures specified above (num_long_term_pics).

[0100] (RPL correction information decoding process) The RPL modification information is information decoded from the SPS or slice header to construct the reference picture list RPL, and includes SPS list modification information and SH list modification information.

[0101] (SPS list revision information) The SPS list modification information is information included in the SPS, and is information related to restrictions on reference picture list modification. The SPS list modification information will be described with reference to FIG. 6 again. Part (C) in FIG. 6 corresponds to the SPS list modification information. The SPS list modification information includes a flag (restricted_ref_pic_lists_flag) indicating whether the reference picture list is common to previous slices included in the picture, and a flag (lists_modification_present_flag) indicating whether information regarding list rearrangement is present in the slice header.

[0102] (SH list correction information) The SH list modification information is information included in the slice header, and includes update information for the length of the reference picture list (reference list length) applied to the current picture, and reference picture list rearrangement information (reference list rearrangement information). The SH list modification information will be described with reference to Fig. 9. Fig. 9 illustrates a part of a slice header syntax table used when decoding the slice header in the header information decoding unit 10 and the reference picture information decoding unit 13. Part (C) in Fig. 9 corresponds to the SH list modification information.

[0103] The reference list length update information includes a flag (num_ref_idx_active_override_flag) indicating whether the list length has been updated. In addition, the information includes information (num_ref_idx_l0_active_minus1) indicating the reference list length after the change to the L0 reference list, and information (num_ref_idx_l1_active_minus1) indicating the reference list length after the change to the L1 reference list.

[0104] The information contained in the slice header as reference list rearrangement information will be described with reference to Fig. 10. Fig. 10 illustrates a syntax table of reference list rearrangement information used when the header information decoder 10 and the reference picture information decoder 13 decode the slice header.

[0105] The reference list reordering information includes an L0 reference list reordering flag (ref_pic_list_modification_flag_l0). The L0 reference list reordering flag indicates whether or not the reference picture list for the L0 reference list is reordered. If the value of the flag is 1 (if the L0 reference list is reordered) and NumPocTotalCurr is greater than 2, the L0 reference list reordering order (list_entry_l0[i]) is included in the reference list reordering information. Here, NumPocTotalCurr is a variable representing the number of reference pictures available in the current picture. Therefore, the L0 reference list reordering order is included in the slice header only if the L0 reference list is reordered and the number of reference pictures available in the current picture is greater than 2.

[0106] Similarly, if the reference picture is a B slice, that is, if an L1 reference list is available in the current picture, an L1 reference list reordering flag (ref_pic_list_modification_flag_l1) is included in the reference list reordering information. The L1 reference list reordering flag is a flag indicating whether or not to reorder the reference picture list for the L1 reference list. If the value of the flag is 1 and NumPocTotalCurr is greater than 2, an L1 reference list reordering order (list_entry_l1[i]) is included in the reference list reordering information. In other words, the L1 reference list reordering order is included in the slice header only if the L1 reference list is reordered and the number of reference pictures available in the current picture is greater than 2.

[0107] (Details of the reference picture set derivation process) The process of S15 in the above video decoding procedure, that is, the reference picture set derivation process by the reference picture set setting unit, will now be described in detail.

[0108] As already described, the reference picture set setting unit 14 generates a reference picture set RPS to be used for decoding the current picture based on the RPS information and information recorded in the decoded picture buffer 12.

[0109] The reference picture set RPS is a set of pictures (referenceable pictures) that can be used as reference images during decoding for the current picture or pictures that follow the current picture in decoding order. The reference picture set is divided into the following two subsets depending on the type of referenceable pictures: Current picture referenceable list ListCurr: A list of pictures that can be referenced in the target picture among the pictures in the decoded picture buffer Subsequent picture referenceable list ListFoll: A list of pictures in the decoded picture buffer that are not referenced by the current picture but can be referenced by pictures that follow the current picture in decoding order. The number of pictures included in the current picture referable list is referred to as the number of pictures referable to the current picture, NumCurrList. Note that NumPocTotalCurr, which was described above with reference to FIG. 10, is the same as NumCurrList.

[0110] The current picture referenceable list is further composed of three sublists. Current picture long-term referenceable list ListLtCurr: Pictures that can be referenced to the current picture specified by the SPS long-term RP information or the SH long-term RP information Current picture short-term forward referable list ListStCurrBefore: Pictures that can be referred to as the current picture as specified by the SPS short-term RPS information or SH short-term RPS information, and whose display order is earlier than the target picture Current picture short-term backward referenceable list ListStCurrAfter: Pictures that can be referenced to the current picture as specified by the SPS short-term RPS information or SH short-term RPS information, and whose display order is earlier than the target picture The subsequent picture reference list is further composed of two sublists. · Following picture long-term referenceable list ListLtFoll: Following picture referenceable pictures specified by SPS long-term RP information or SH long-term RP information ListStFoll of subsequent pictures that can be referenced short-term: Pictures that can be referenced by the current picture specified by the SPS short-term RPS information or SH short-term RPS information The reference picture set configuration unit 14 generates the reference picture set RPS, i.e., 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 referenceable list ListStFoll, and the subsequent picture long-term referenceable list ListLtFoll, in the following manner. Additionally, it derives a variable NumPocTotalCurr, which indicates the number of pictures referenceable by the current picture. Note that each of the referenceable lists is assumed to be empty before the following process begins. (S201) Based on the SPS short-term RPS information and the SH short-term RPS information, a single short-term reference picture set to be used for decoding the target picture is identified. Specifically, if 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 in the slice header included in the SH short-term RPS information is selected. Otherwise (if 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 the multiple short-term RPSs included in the SPS short-term RPS information. (S202) The POC value of each reference picture included in the selected short-term RPS is derived, and the position of the locally decoded image stored in association with the POC value on the decoded image buffer 12 is detected, and the recording position of the reference picture on the decoded image buffer is derived.

[0111] The POC value of a reference picture is calculated by subtracting the value of "delta_poc_s0_minus1[i]+1" from the POC value of the current picture if the reference picture is a forward short-term reference picture, or by adding the value of "delta_poc_s1_minus1[i]+1" to the POC value of the current picture if the reference picture is a backward short-term reference picture. (S203) Check the forward reference pictures included in the short-term RPS in the order they were transmitted, and if the value of the associated used_by_curr_pic_s0_flag[i] is 1, add the forward reference picture to the current picture short-term forward referencing list ListStCurrBefore. Otherwise (if the value of used_by_curr_pic_s0_flag[i] is 0), add the forward reference picture to the following picture short-term referencing list ListStFoll. (S204) The backward reference pictures included in the short-term RPS are checked in the order in which they were transmitted, and if the value of the associated used_by_curr_pic_s1_flag[i] is 1, the backward reference picture is added to the current picture short-term backward referencing list ListStCurrAfter. Otherwise (if the value of used_by_curr_pic_s1_flag[i] is 0), the forward reference picture is added to the following picture short-term referencing list ListStFoll. (S205) Based on the SPS long-term RP information and the SH long-term RP information, the long-term reference picture set to be used for decoding the current picture is identified. Specifically, num_long_term_sps reference pictures are selected from the reference pictures included in the SPS long-term RP information and added to the long-term reference picture set in order. The selected reference pictures are the reference pictures indicated by lt_idx_sps[i]. Next, num_long_term_pics reference pictures are added to the long-term reference picture set in order from the reference pictures included in the SH long-term RP information. (S206) The POC value of each reference picture included in the long-term reference picture set is derived, and the position of the locally decoded image stored in association with the POC value in the decoded image buffer 12 is detected, and the recording position of the reference picture in the decoded image buffer is derived.

[0112] The POC of a long-term reference picture is derived directly from the associated decoded poc_lst_lt[i] or lt_ref_pic_poc_lsb_sps[i] value. (S207) The reference pictures included in the long-term reference picture set are checked in order, and if the value of the associated used_by_curr_pic_lt_flag[i] or used_by_curr_pic_lt_sps_flag[i] is 1, the long-term reference picture is added to the current picture long-term referenceable list ListLtCurr. Otherwise (if the value of used_by_curr_pic_lt_flag[i] or used_by_curr_pic_lt_sps_flag[i] is 0), the long-term reference picture is added to the subsequent picture long-term referenceable list ListLtFoll. (S208) The value of the variable NumPocTotalCurr is set to the sum of the 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 in the three lists: 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.

[0113] (Reference picture list construction process details) The process of S16 in the above decoding procedure, i.e., the reference picture list construction process, will be described in detail with reference to Fig. 1. As already described, the reference picture list derivation unit 15 generates the reference picture list RPL based on the reference picture set RPS and the RPL modification information.

[0114] The reference picture list is made up of two lists: an L0 reference list and an L1 reference list. First, the procedure for constructing the L0 reference list will be described. The L0 reference list is constructed in the following procedure from S301 to S307. (S301) A provisional L0 reference list is generated and initialized to an empty list. (S302) The reference pictures included in the current picture's short-term forward referable list are added to the tentative L0 reference list in order. (S303) The reference pictures included in the current picture's short-term backward referenceable list are added to the tentative L0 reference list in order. (S304) The reference pictures included in the current picture long-term referenceable list are added to the interim L0 reference list in order. (S305) If the reference picture list is to be modified (if the value of lists_modification_present_flag included in the RPL modification information is 1), execute the following steps S306a to S306b. Otherwise (if the value of lists_modification_present_flag is 0), execute the step S307. (S306a) If the modification of the L0 reference picture is enabled (if the value of ref_pic_list_modification_flag_l0 included in the RPL modification information is 1), and if the number of pictures that can be referenced by the current picture, NumCurrList, is equal to 2, execute S306b. Otherwise, execute S306c. (S306b) The value of the list rearrangement order list_entry_l0[i] included in the RPL modification information is set using the following formula, and then S306c is executed.

[0115] list_entry_l0[0] = 1 list_entry_l0[1] = 0 (S306c) The elements of the tentative L0 reference list are rearranged based on the value of the reference list rearrangement order list_entry_l0[i] to create an L0 reference list. The L0 reference list element RefPicList0[rIdx] corresponding to the reference picture index rIdx is derived using the following equation: Here, RefListTemp0[i] represents the i-th element of the tentative L0 reference list.

[0116] RefPicList0[ rIdx ] = RefPicListTemp0[ list_entry_l0[ rIdx ] ] According to the above formula, in the reference list sorting order list_entry_l0[i], the value recorded at the position indicated by the reference picture index rIdx is referenced, and the reference picture recorded at the position of that value in the interim L0 reference list is stored as the reference picture at the rIdx position in the L0 reference list. (S307) The provisional L0 reference list is used as the L0 reference list.

[0117] Next, an L1 reference list is constructed. The L1 reference list can be constructed using the same procedure as the L0 reference list described above. In the procedure for constructing the L0 reference list (S301 to S307), the L0 reference picture, L0 reference list, interim L0 reference list, and list_entry_l0 can be replaced with the L1 reference picture, L1 reference list, interim L1 reference list, and list_entry_l1, respectively.

[0118] (Explanation of the validity and effectiveness of the reference list revision) The above describes the reference picture information decoding process and the reference picture list construction process in the video decoding device of this embodiment. Next, we will explain how these processes enable reference picture modification and how reference picture list modification information can be transmitted with fewer codes. <Validity of reference list revision> Referring to the processes of S305 and S306 in the L0 reference list construction process, if the L0 reference list is not modified, the interim L0 reference list is used as the L0 reference list as is. Therefore, the interim L0 reference list is the standard (default) L0 reference list used when no sorting is performed. In this sense, the interim L0 reference list can also be called the standard L0 reference list.

[0119] To reiterate the meaning of list sorting order, the value of list_entry_l0[0] indicates the position of the 0th element in the sorted L0 reference list in the standard L0 reference list. In general, the value of list_entry_l0[i] indicates the position of the i-th element in the sorted L0 reference list in the standard L0 reference list.

[0120] According to the processing of S306a, if the modification of the L0 reference list is valid and the value of NumCurrList is 2, the value of list_entry_l0[0] is set to 1 and the value of list_entry_l0[1] is set to 0. In other words, the reference list is rearranged so that the first element of the standard L0 reference list becomes the zeroth element of the L0 reference list, and vice versa. Here, the number of elements in the L0 reference list is equal to or less than the number of pictures referable to the current picture (equal to or less than the value of NumCurrList). Therefore, when the value of NumCurrList is 2, the number of elements in the L0 reference list is equal to or less than 2. Therefore, the L0 reference list rearrangement information used to rearrange the L0 reference list is only the first element (list_entry_l0[0]) and the second element (list_entry_l0[1]) of list_entry_l0, and the third and subsequent elements are not used. In this case, the sorting of the reference list is such that the combination of (list_entry_l0[0], list_entry_l0[1]) is either O1 or O2 below.

[0121] O1:(L0List[0], L0List[1]) = (TmpList[0], TmpList[1]) O2:(L0List[0], L0List[1]) = (TmpList[1], TmpList[0]) When the number of pictures referable to the current picture is two, the above-described reference picture list modification process uses the L0 reference list of O1 if the L0 reference list is not modified. On the other hand, when the L0 reference list is modified, the above-described L0 reference list of O2 is used. Therefore, the above-described reference picture list modification process allows all possible rearrangements of the L0 reference list to be selected when the number of pictures referable to the current picture is two. <Code size of reference list modification information> According to S306a in the L0 reference list construction process, if the modification of the L0 reference list is enabled and the value of NumCurrList is 2, the value of list_entry_l0[i] is directly set without using information included in the PRL modification information (i.e., the syntax value decoded in the slice header). Furthermore, the third and subsequent elements of list_entry_l0 (list_entry_l0[i] (i>1)) are not used. Therefore, if the modification of the L0 reference list is enabled and the value of NumCurrList is 2, there is no need to decode the syntax information of list_entry_l0 in the slice header. In fact, in the decoding process of the RPL modification information described with reference to FIG. 10 , it was explained that the transmission of list_entry_l0[i] is omitted when the modification of the L0 reference picture is enabled and the value of NumCurrList is 2 (when NumPocTotalCurr is 2). In other words, when the number of pictures that can be referenced by the current picture meets a specific condition (case 2), the RPL rearrangement information signal is omitted, thereby reducing the amount of coding required to transmit the RPL information, and thereby reducing the amount of coding required for the slice header.

[0122] As described above, in the video decoding device of this embodiment, the reference picture information decoding unit omits decoding of reference picture reordering information when the number of pictures referable to the current picture is 2. Furthermore, when the number of pictures referable to the current picture is 2 and the reference list needs to be modified, the reference picture setting unit sets the reference picture reordering order so that the first element of the standard reference list becomes the 0th element, and vice versa. In this way, the video decoding device of this embodiment reduces the amount of code related to the reference list information while maintaining the function of modifying the reference picture list.

[0123] (Variation 1: RPL modification information omitted when the number of pictures that can be referenced by the current picture is 1) In the above-described first embodiment, an example has been described in which the RPL modification information is omitted when the number of pictures that can be referenced by the current picture is two, but this is not limiting. The RPL modification information may also be omitted when the number of pictures that can be referenced by the current picture is one.

[0124] Specifically, in the decoding process of the SH list modification information in the reference picture information decoding unit 13, the reference list rearrangement information is parsed based on the syntax table shown in Fig. 11. Fig. 11 illustrates an example of the syntax table of the reference list rearrangement information used when decoding the slice header.

[0125] The L0 reference list rearrangement flag (ref_pic_list_modification_flag_l0), L1 reference list rearrangement flag (ref_pic_list_modification_flag_l1), L0 reference list rearrangement order (list_entry_l0[i]), and L1 reference list rearrangement order (list_entry_l1[i]) included in the reference list rearrangement information are decoded only if the number of pictures referable to the current picture is greater than 1. In other words, if the number of pictures referable to the current picture is 1, the reference list rearrangement information is not decoded.

[0126] When the number of pictures referable to the current picture is 1, the maximum list length of the reference list is 1, and therefore rearrangement of the reference picture list is not necessary. Therefore, when the number of pictures referable to the current picture is 1, the amount of coding of the slice header can be reduced by omitting decoding of the reference picture list rearrangement flag and / or the reference list rearrangement order.

[0127] Although an example has been described in which the reference list rearrangement information is replaced with the syntax table shown in Fig. 11, the syntax table shown in Fig. 10 may be used as the syntax table for the reference list rearrangement information, and the syntax table shown in Fig. 12 may be used to decode the slice header. In the syntax table for the slice header shown in Fig. 12, the reference list rearrangement information (ref_pic_list_modification()) is decoded only when the number of pictures referable to the current picture (NumPocTotalCurr) is greater than 1.

[0128] (Variation 2: Transmission of NumPocTotalCurr) In the above-described first modification, the value of the variable NumPocTotalCurr derived based on RPS information is used as the number of pictures referable to the current picture, but this is not limiting. For example, information corresponding to the number of pictures referable to the current picture may be directly decoded from the coded data and used.

[0129] Specifically, in the decoding process of the SH list modification information in the reference picture information decoder 13, the reference list rearrangement information is parsed based on the syntax table shown in FIG. 13. FIG. 13 illustrates an example of a syntax table for reference list rearrangement information used in decoding slice headers. The syntax table differs from the syntax table described in FIG. 10 in that the syntax value num_poc_total_curr is decoded first. num_poc_total_curr is decoded using, for example, a 4-bit fixed-length code. Note that the code length of num_poc_total_curr does not necessarily have to be 4 bits, but if the upper limit of the number of pictures that can be referenced by the current picture is 16, it is preferable to use a 4-bit fixed length. Also, unlike the case of FIG. 10, when determining whether or not to transmit list_entry_l0 or list_entry_l1, the value of the syntax num_poc_total_curr is used to determine whether the value of the number of pictures that can be referenced by the current picture is greater than 2.

[0130] According to the above modification, although decoding of the syntax element num_poc_total_curr is additionally required, there is no need to use the information of NumPocTotalCurr derived based on the RPS information when decoding the reference picture list modification information (ref_pic_list_modification). Therefore, it is possible to parse a slice header containing reference picture list modification information with a smaller amount of processing. Furthermore, because the RPS information is included not only in the slice header but also in the SPS, it is possible to reduce dependency on the SPS when parsing the slice header. This has the effect of improving error resilience.

[0131] In the above modification, an example is described in which the determination based on the number of pictures referable to the current picture is directly included in the determination formula of the syntax table, but direct decoding of the syntax element num_poc_total_curr is also effective in other cases, such as when the syntax element list_entry_l0[i] is coded using a variable-length code based on the number of pictures referable to the current picture.

[0132] As another specific example, the reference list rearrangement information may be parsed based on the syntax table shown in Figure 14. The difference from the syntax table described in Figure 13 is that the flags indicating whether reference list L0 and reference list L1 have been modified are decoded first, and the value of the syntax element num_poc_total_curr is decoded only when a modification is made to any of the reference picture lists. If no modification is made, the value of num_poc_total_curr is set to 0.

[0133] If the reference list is not modified, the reference list rearrangement information can be parsed without using the number of pictures that can be referenced by the current picture. Therefore, by decoding the syntax element num_poc_total_curr only when the reference list is modified, redundancy can be eliminated and the amount of coding can be reduced.

[0134] As another specific example, the reference list rearrangement information may be parsed based on the syntax table shown in Figure 15. The difference from the syntax table described in Figure 13 is that instead of decoding the syntax element num_poc_total_curr, the syntax element ceil_log2_num_poc_total_curr is decoded, and whether or not to decode the reference list rearrangement order is determined based on the value of that element. The value V of the syntax element ceil_log2_num_poc_total_curr can be derived using the following formula, where N is the number of pictures that can be referenced by the current picture.

[0135] V=ceil(log2(N)) Here, log2(A) represents the logarithm of A to 2, and ceil(A) means the largest integer value that does not exceed the value of A. The value of the syntax ceil_log2_num_poc_total_curr corresponds to the number of digits when the number of pictures that can be referenced by the current picture is expressed in binary.

[0136] By decoding only the information necessary for parsing the reference list rearrangement order without directly decoding the number of pictures that can be referenced by the current picture, the amount of code for the slice header can be made shorter than when the slice header is directly decoded.

[0137] As another specific example, the reference list rearrangement information may be parsed based on the syntax table shown in Figure 16. The difference from the syntax table described in Figure 12 is that the value of the syntax element num_poc_total_curr_greater1_flag is decoded at the beginning, and whether or not to decode the reference list modification flag and the reference list rearrangement order is determined based on that value instead of the variable NumPocTotalCurr. Here, the syntax element num_poc_total_curr_greater1_flag indicates whether or not the number of pictures referable to the current picture is greater than 1. In other words, the value is true if the number of pictures referable to the current picture is 2 or greater, and false if it is 1 or less.

[0138] This method has the advantage of reducing the parsing process of the slice header and improving error resilience compared to when the variable NumPocTotalCurr is used. Also, compared to when the number of pictures referable to the current picture is directly decoded, it has the advantage of reducing the increase in the amount of code required for the slice header.

[0139] (Modification 3: Another example of reference picture list construction process) The reference picture list construction process described with reference to Figure 1 above is based on the assumption that the length of the L0 reference list is equal to or less than the number of pictures that can be referenced by the current picture, but this is not limited to this. For example, the length of the L0 reference list may be greater than the number of pictures that can be referenced by the current picture by directly specifying the length of the L0 reference list using the syntax num_refidx_l0_active_minus1 in the reference list length update information. In such a case, the reference picture list (here, the L0 reference list) can be constructed using the following procedure. (S401) The value of the L0 reference list length lenL0 is set to "num_refidx_l0_active_minus1+1." (S402) An L0 referenceable list is generated and initialized to an empty list. (S403) The reference pictures included in the current picture short-term forward referenceable list are added to the L0 referenceable list in order. (S404) The reference pictures included in the current picture short-term backward referenceable list are added to the L0 referenceable list in order. (S405) The reference pictures included in the current picture's long-term referenceable list are added to the L0 referenceable list in order. (S406) If the L0 reference list is to be modified (the value of ref_pic_list_modification_flag_l0 is 1), execute S407a. Otherwise, execute S407b. (S407a) Integers in the range of 0 to (lenL0-1) are sequentially set to rIdx, and a reference picture corresponding to the element at the position of reference index rIdx in the L0 reference list is set using the following formula.

[0140] RefPicList0[ rIdx ] = RpsCurrList0[ list_entry_l0[ rIdx ] ] In the above formula, RefPicList0[A] indicates the value of the element at position A in the L0 reference list. RpsCurrList0[A] indicates the value of the element at position A in the L0 referable list. The number of elements in the L0 referable list is equal to the number of pictures referable to the current picture, NumPocTotalCurr, and list_entry_l0[rIdx] can take an integer value between 0 and NumPocTotalCurr.

[0141] According to the above formula, in the reference list sorting order list_entry_l0[i], the value recorded at the position indicated by the reference picture index rIdx is referenced, and the reference picture recorded at the position of that value in the L0 referenceable list is stored as the reference picture at the rIdx position in the L0 reference list. (S407b) Integers in the range of 0 to (lenL0-1) are sequentially set to rIdx, and a reference picture corresponding to the element at the position of reference index rIdx in the L0 reference list is set using the following formula.

[0142] RefPicList0[ rIdx ] = RpsCurrList0[ rIdx % NumPocTotalCurr ] According to the above formula, the reference picture to be associated with the position rIdx in the L0 reference list is the picture recorded at the position in the L0 referenceable list that is the remainder when rIdx is divided by the number of pictures that can be referenced by the current picture, i.e., the remainder when the reference image index is divided by the length of the L0 reference list.

[0143] In other words, the reference picture list is set by referencing the elements of the referenceable list (L0 referenceable list) created by sorting the current picture referenceable pictures according to a predetermined priority. When generating an L0 reference list (basic L0 reference list) without modifying the L0 reference list in S407b, the reference index rIdx is referenced by the remainder obtained by dividing the value of the reference index rIdx by the number of pictures referenceable by the current picture.

[0144] In the above example, the number of elements in the L0 referable list RpsCurrList0 is set to NumPocTotalCurr, but the length of the referable list can alternatively be set to the L0 reference list length LenL0. However, it is preferable to set the number of elements in the L0 referable list RpsCurrList0 to NumPocTotalCurr, since this allows the L0 referable list to be generated without depending on the reference list length, which may be updated on a slice-by-slice basis.

[0145] By constructing the L0 reference list according to the above procedure, it is possible to construct the L0 reference list even if the length of the L0 reference list is greater than the number of pictures that can be referenced by the current picture.

[0146] Although the above description is directed to the L0 reference list, the same discussion applies to the L1 reference list.

[0147] [Video Encoding Device] The video encoding device 2 according to this embodiment will be described below with reference to FIG.

[0148] (Overview of video encoding device) The video encoding device 2 is, roughly speaking, a device that generates and outputs encoded data #1 by encoding an input image #10.

[0149] (Configuration of a video encoding device) First, an example configuration of the video encoder 2 will be described with reference to Fig. 17. Fig. 17 is a functional block diagram showing the configuration of the video encoder 2. As shown in Fig. 17, the video encoder 2 includes a picture decoding unit 11, a decoded picture buffer 12, a header encoding unit 20, a picture encoding unit 21, a reference picture set determination unit 24, and a reference picture list determination unit 25. The header encoding unit 20 includes a reference picture information encoding unit 23 therein. Note that the picture decoding unit 11 and the decoded picture buffer 12 are the same as the components with the same names described in Fig. 2, and therefore description thereof will be omitted.

[0150] The header encoding unit 20 generates an SPS, a PPS, and a slice header based on the input image #10, and encodes and outputs them.

[0151] The reference picture information encoding unit 23 is included in the header encoding unit 16. Then, based on the reference picture set RPS and the reference picture list RPL, the reference picture information encoding unit 23 performs a reference picture information encoding process to generate RPS information and RPL modification information to be included in the SPS and slice header.

[0152] The picture encoding unit 21 encodes and outputs each picture based on the input image #10 and the reference picture list RPL.

[0153] The reference picture set determination unit 24 determines and outputs a reference picture set RPS to be used for encoding and local decoding of the current picture, based on the input picture #10 and the locally decoded picture stored in the decoded picture buffer 12.

[0154] The reference picture list determination unit 25 determines and outputs a reference picture list RPL to be used for encoding and local decoding of the current picture based on the input image #10 and the reference picture set.

[0155] (Correspondence with video decoding device) The video encoding device 2 includes components corresponding to the components of the video decoding device 1. Here, "corresponding" means that the components perform the same processing or the reverse processing.

[0156] For example, the reference picture information decoding process of the reference picture information decoding unit 13 included in the video decoding device 1 is similar to the reference picture information encoding process of the reference picture information encoding unit 23 included in the video encoding device 2. More specifically, the reference picture information decoding unit 13 generates RPS information and modified RPL information as syntax values ​​decoded from the SPS and slice header. In contrast, the reference picture information encoding unit 23 encodes the input RPS information and modified RPL information as syntax values ​​of the SPS and slice header.

[0157] For example, the process of decoding a syntax value from a bit string in the video decoding device 1 corresponds to the reverse process of the process of encoding a bit string from a syntax value in the video encoding device 2.

[0158] (Processing flow) The procedure by which the video encoding device 2 generates output encoded data #1 from input image #10 is as follows. (S21) The following steps S22 to S29 are executed for each picture (target picture) that constitutes input image #10. (S22) The reference picture set determination unit 24 determines a reference picture set RPS based on the current picture in the input image #10 and the locally decoded image recorded in the decoded picture buffer 12, and outputs the determined reference picture set RPS to the reference picture list determination unit 25. The reference picture set determination unit 24 also derives RPS information required to generate the reference picture set RPS, and outputs the determined reference picture set RPS to the reference picture information encoding unit 23. (S23) The reference picture list determination unit 25 derives a reference picture list RPL based on the current picture in 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. It also derives RPL modification information required to generate the reference picture list RPL, and outputs it to the reference picture information encoding unit 23. (S24) The reference picture information encoding unit 23 generates RPS information and RPL modification information to be included in the SPS or slice header, based on the reference picture set RPS and the reference picture list RPL. (S25) The header encoding unit 20 generates and outputs an SPS to be applied to the current picture based on the input image #10 and the RPS information and RPL modification information generated by the reference picture encoding unit 21. (S26) The header encoding unit 20 generates and outputs a PPS to be applied to the current picture based on the input image #10. (S27) The header encoding unit 20 encodes the slice headers of each slice that constitutes the target picture based on the input image #10 and the RPS information and RPL modification information generated by the reference picture encoding unit 21, and outputs the encoded data #1 to the outside as part of the encoded data #1 and also to the picture decoding unit 11. (S28) The picture encoding unit 21 generates slice data for each slice that constitutes the current picture based on the input image #10, and outputs the generated slice data to the outside as part of the encoded data #1 and also to the picture decoding unit 11. (S29) The picture decoding unit 11 creates a locally 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 records it in the decoded picture buffer in association with the POC of the target picture.

[0159] [Application example] The above-described video encoding device 2 and video decoding device 1 can be mounted on various devices that transmit, receive, record, and play back video. The video may be a natural video captured by a camera or the like, or an artificial video (including CG and GUI) generated by a computer or the like.

[0160] First, it will be explained with reference to FIG. 18 that the above-described video encoding device 2 and video decoding device 1 can be used for transmitting and receiving videos.

[0161] Fig. 18(a) is a block diagram showing the configuration of a transmitting device PROD_A equipped with a video encoding device 2. As shown in Fig. 18(a), the transmitting device PROD_A includes an encoding unit PROD_A1 that obtains encoded data by encoding video, a modulation unit PROD_A2 that obtains a modulated signal by modulating a carrier wave with the encoded data obtained by the encoding unit PROD_A1, and a transmitting unit PROD_A3 that transmits the modulated signal obtained by the modulation unit PROD_A2. The above-mentioned video encoding device 2 is used as this encoding unit PROD_A1.

[0162] The transmitting device PROD_A may further include, as a source of moving images to be input to the encoding unit PROD_A1, a camera PROD_A4 that captures moving images, a recording medium PROD_A5 on which moving images are recorded, an input terminal PROD_A6 for inputting moving images from the outside, and an image processing unit A7 that generates or processes images. In (a) of Figure 18, an example is shown in which the transmitting device PROD_A includes all of these components, but some of them may be omitted.

[0163] The recording medium PROD_A5 may record unencoded video, or may record video encoded using a recording encoding method that is different from the transmission encoding method. In the latter case, a decoding unit (not shown) that decodes 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.

[0164] Fig. 18(b) is a block diagram showing the configuration of a receiving device PROD_B equipped with a video decoding device 1. As shown in Fig. 18(b), the receiving device PROD_B includes a receiving unit PROD_B1 that receives a modulated signal, a demodulating unit PROD_B2 that obtains coded data by demodulating the modulated signal received by the receiving unit PROD_B1, and a decoding unit PROD_B3 that obtains video by decoding the coded data obtained by the demodulating unit PROD_B2. The above-described video decoding device 1 is used as this decoding unit PROD_B3.

[0165] The receiving device PROD_B may further include, as destinations of the moving images output by the decoding unit PROD_B3, a display PROD_B4 for displaying the moving images, a recording medium PROD_B5 for recording the moving images, and an output terminal PROD_B6 for outputting the moving images to the outside. In (b) of Figure 18, an example of a configuration in which the receiving device PROD_B includes all of these components is shown, but some of them may be omitted.

[0166] The recording medium PROD_B5 may be for recording unencoded video, or may be encoded using an encoding method for recording that is different from the encoding method for transmission. In the latter case, it is preferable to interpose an encoding unit (not shown) between the decoding unit PROD_B3 and the recording medium PROD_B5, which encodes the video acquired from the decoding unit PROD_B3 according to the encoding method for recording.

[0167] The transmission medium for transmitting the modulated signal may be wireless or wired. The transmission mode for transmitting the modulated signal may be broadcast (here, this refers to a transmission mode in which the destination is not specified in advance) or communication (here, this refers to a transmission mode in which the destination is specified in advance). In other words, the transmission of the modulated signal may be realized by any of wireless broadcasting, wired broadcasting, wireless communication, and wired communication.

[0168] For example, a broadcasting station (such as a broadcasting facility) / receiving station (such as a television receiver) for terrestrial digital broadcasting is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives modulated signals via wireless broadcasting. Also, a broadcasting station (such as a broadcasting facility) / receiving station (such as a television receiver) for cable television broadcasting is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives modulated signals via cable broadcasting.

[0169] Furthermore, a server (such as a workstation) / client (such as a television receiver, personal computer, or smartphone) of an Internet-based VOD (Video On Demand) service or video sharing service is an example of a transmitter PROD_A / receiver PROD_B that transmits and receives modulated signals via communication (usually, a LAN uses either a wireless or wired transmission medium, while a WAN uses a wired transmission medium). Here, personal computers include desktop PCs, laptop PCs, and tablet PCs. Smartphones also include multi-function mobile phone terminals.

[0170] The client of the video hosting service has the function of decoding the encoded data downloaded from the server and displaying it on a display, as well as the function of encoding the video images captured by a camera and uploading them to the server. In other words, the client of the video hosting service functions as both the transmitting device PROD_A and the receiving device PROD_B.

[0171] Next, it will be explained with reference to FIG. 19 that the above-described video encoding device 2 and video decoding device 1 can be used for recording and reproducing video.

[0172] Fig. 19(a) is a block diagram showing the configuration of a recording device PROD_C equipped with the above-mentioned video encoding device 2. As shown in Fig. 19(a), the recording device PROD_C includes an encoding unit PROD_C1 that obtains encoded data by encoding video, and a writing unit PROD_C2 that writes the encoded data obtained by the encoding unit PROD_C1 onto a recording medium PROD_M. The above-mentioned video encoding device 2 is used as this encoding unit PROD_C1.

[0173] The recording medium PROD_M may be (1) a type that is built into the recording device PROD_C, such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), (2) a type that is connected to the recording device PROD_C, such as an SD memory card or a USB (Universal Serial Bus) flash memory, or (3) a type that is loaded into a drive device (not shown) built into the recording device PROD_C, such as a DVD (Digital Versatile Disc) or a BD (Blu-ray (registered trademark) Disc).

[0174] The recording device PROD_C may further include, as a supply source of moving images to be input to the encoding unit PROD_C1, a camera PROD_C3 that captures moving images, an input terminal PROD_C4 for inputting moving images from the outside, a receiving unit PROD_C5 for receiving moving images, and an image processing unit C6 that generates or processes images. Although (a) of Figure 19 illustrates a configuration in which the recording device PROD_C includes all of these components, some of them may be omitted.

[0175] The receiving unit PROD_C5 may receive unencoded video, or may receive encoded data encoded by a transmission encoding method different from the recording encoding method. In the latter case, a transmission decoding unit (not shown) that decodes the encoded data encoded by the transmission encoding method may be interposed between the receiving unit PROD_C5 and the encoding unit PROD_C1.

[0176] 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 the main source of moving images).Other examples of such a recording device PROD_C also include a camcorder (in this case, the camera PROD_C3 is the main source of moving images), a personal computer (in this case, the receiving unit PROD_C5 or the image processing unit C6 is the main source of moving images), and a smartphone (in this case, the camera PROD_C3 or the receiving unit PROD_C5 is the main source of moving images).

[0177] Fig. 19(b) is a block diagram showing the configuration of a playback device PROD_D equipped with the above-mentioned video decoding device 1. As shown in Fig. 19(b), the playback device PROD_D includes a reading unit PROD_D1 that reads coded data written to a recording medium PROD_M, and a decoding unit PROD_D2 that obtains video by decoding the coded data read by the reading unit PROD_D1. The above-mentioned video decoding device 1 is used as this decoding unit PROD_D2.

[0178] The recording medium PROD_M may be (1) a type that is built into the playback device PROD_D, such as an HDD or SSD, (2) a type that is connected to the playback device PROD_D, such as an SD memory card or USB flash memory, or (3) a type that is loaded into a drive device (not shown) built into the playback device PROD_D, such as a DVD or BD.

[0179] The playback device PROD_D may further include, as destinations of the video output by the decoding unit PROD_D2, a display PROD_D3 that displays the video, an output terminal PROD_D4 that outputs the video to the outside, and a transmission unit PROD_D5 that transmits the video. Although (b) of Figure 19 shows an example of a configuration in which the playback device PROD_D includes all of these, some of them may be omitted.

[0180] The transmitting unit PROD_D5 may transmit unencoded video, or may transmit encoded data encoded by a transmission encoding method different from the recording encoding method. In the latter case, it is preferable to interpose an encoding unit (not shown) between the decoding unit PROD_D2 and the transmitting unit PROD_D5, which encodes the video by the transmission encoding method.

[0181] Examples of such a playback device PROD_D include a DVD player, a BD player, and an HDD player (in this case, the output terminal PROD_D4 to which a television receiver or the like is connected is the main destination of the moving images). Other examples of such a playback device PROD_D include a television receiver (in this case, the display PROD_D3 is the main destination of the moving images), a digital signage (also called an electronic billboard or electronic bulletin board, and the display PROD_D3 or the transmitter PROD_D5 is the main destination of the moving images), a desktop PC (in this case, the output terminal PROD_D4 or the transmitter PROD_D5 is the main destination of the moving images), a laptop or tablet PC (in this case, the display PROD_D3 or the transmitter PROD_D5 is the main destination of the moving images), and a smartphone (in this case, the display PROD_D3 or the transmitter PROD_D5 is the main destination of the moving images).

[0182] 〔summary〕 As described above, an image decoding device according to one embodiment of the present invention is an image decoding device that generates a predicted image by motion compensation prediction by referring to one or more reference images recorded in a decoding picture buffer and uses the generated predicted image for image decoding, and is equipped with: a reference picture set derivation means that derives a reference picture set to be applied to a target picture; a reference picture list generation means that generates a reference picture list that can be used in the target picture based on RPL (Reference Picture List) modification information decoded from the slice header and the reference picture set derived by the reference picture set derivation means; and a reference picture information decoding means that omits decoding of part of the information included in the RPL modification information based on the number of pictures that can be referenced by the current picture.

[0183] In addition, the RPL modification information may include at least a reference picture list reordering flag and a reference list reordering order, and the reference picture information decoding means may omit decoding of at least one of the reference picture list reordering flag and the reference list reordering order based on the number of pictures that can be referenced by the current picture.

[0184] Furthermore, when the number of pictures referable to the current picture is one, the reference picture information decoding means may omit decoding the reference picture list rearrangement flag and the reference list rearrangement order.

[0185] The number of pictures that can be referred to by the current picture may be decoded by the reference picture information decoding means.

[0186] In addition, an image decoding device according to one embodiment of the present invention is an image decoding device that generates a predicted image by motion compensation prediction with reference to one or more reference images recorded in a decoding picture buffer and uses the generated predicted image for image decoding, and is characterized by comprising: reference picture set derivation means that derives a reference picture set to be applied to a current picture based on RPS (Reference Picture Set) information decoded from an SPS (Sequence Parameter Set) or a slice header; reference picture list generation means that generates a reference picture list that can be used in the current picture based on RPL (Reference Picture List) modification information decoded from the SPS or the slice header and the reference picture set derived by the reference picture set derivation means; and reference picture information decoding means that omits decoding of at least one of a reference list reordering flag (also referred to as a reference picture list reordering flag) and a reference list reordering order based on the number of pictures that can be referenced by the current picture.

[0187] According to the above configuration, the decoding of at least one of the reference list rearrangement flag and the reference list rearrangement order is omitted based on the number of pictures referable to the current picture, thereby preventing the transmission of reference picture information that is not necessary for decoding and enabling the decoding of moving images with header information having a smaller amount of code.

[0188] In the image decoding device of the present invention, the reference picture information decoding means may omit decoding of the reference list rearrangement order when the number of pictures referable to the current picture is two, and the reference picture list generation means may generate a reference picture list of a reference list rearrangement order in which the order of elements in the rearranged reference picture list is different from that of the standard reference picture list when the number of pictures referable to the current picture is two.

[0189] According to the above configuration, when the number of pictures that can be referenced by the current picture is two, it is possible to select an appropriate reference picture list and decode a moving image using the appropriate reference picture list.

[0190] In an image decoding device according to one embodiment of the present invention, the reference picture information decoding means may omit decoding the reference list rearrangement flag and the reference list rearrangement order when the number of pictures that can be referenced by the current picture is 1.

[0191] When the number of pictures referable to the current picture is 1, the maximum list length of the reference list is 1, and rearrangement of the reference picture list is not required. According to the above configuration, when the number of pictures referable to the current picture is 1, decoding of the reference picture list rearrangement flag and the reference list rearrangement order is omitted, thereby reducing the amount of coding of the slice header.

[0192] In the image decoding device according to one aspect of the present invention, the number of pictures referable to the current picture may be decoded by the reference picture information decoding means.

[0193] According to the above configuration, slice headers including reference picture list modification information can be parsed with a small amount of processing. Also, dependency on sequence parameter sets (SPS) in parsing slice headers can be reduced. This can improve error resilience.

[0194] An image coding device according to one aspect of the present invention is an image coding device that references one or more reference images recorded in a decoded picture buffer to generate a predicted image using motion compensation prediction and uses the generated predicted image for image coding, and is characterized by comprising: a reference picture set determination means that determines a reference picture set and a reference picture list to be applied to a target picture; and a reference picture information coding means that omits coding of at least one of a reference list reordering flag and a reference list reordering order based on the number of pictures that can be referenced by the current picture.

[0195] According to the above configuration, the encoding of at least one of the reference list rearrangement flag and the reference list rearrangement order is omitted based on the number of pictures referable to the current picture. This makes it possible to prevent the transmission of reference picture information that is not necessary for decoding, and to generate encoded data that allows video to be decoded with header information with a smaller amount of code.

[0196] An image decoding device according to one embodiment of the present invention is an image decoding device that generates a predicted image by motion compensation prediction by referring to one or more reference images recorded in a decoding picture buffer and uses the generated predicted image for image decoding, and is equipped with: a reference picture set derivation means that derives a reference picture set to be applied to a target picture; a reference picture list generation means that generates a reference picture list that can be used in the target picture based on RPL (Reference Picture List) modification information decoded from the slice header and the reference picture set derived by the reference picture set derivation means; and a reference picture information decoding means that omits decoding of part of the information included in the RPL modification information based on the number of pictures that can be referenced by the current picture.

[0197] An image decoding device according to one embodiment of the present invention is an image decoding device that generates a predicted image by motion compensation prediction by referring to one or more reference images recorded in a decoding picture buffer and uses the generated predicted image for image decoding, and is equipped with: reference picture set derivation means that derives a reference picture set to be applied to a current picture; reference picture list generation means that generates a reference picture list that can be used in the current picture based on RPL (Reference Picture List) modification information decoded from a slice header and the reference picture set derived by the reference picture set derivation means; and reference picture information decoding means that omits decoding of part of the information included in the RPL modification information, wherein the RPL modification information includes at least a reference picture list reordering flag and a reference list reordering order, and the reference picture information decoding means omits decoding of the reference picture list reordering flag and the reference list reordering order based on the number of pictures that can be referenced by the current picture.

[0198] a first flag included in the one or more coding parameters, the first flag indicating whether or not information on list reordering is present in the slice header; and a method for decoding an image according to one embodiment of the present invention includes the steps of: receiving a bitstream including one or more coding parameters used for decoding a current picture in a video sequence; deriving a reference picture set to be applied to the current picture based on the bitstream; generating a reference picture list based on Reference Picture List (RPL) modification information decoded from a slice header and the reference picture set; determining a value of a first flag included in the one or more coding parameters, the first flag indicating whether or not information on list reordering is present in the slice header; and omitting decoding of part of the information included in the RPL modification information, wherein the RPL modification information includes at least one of a reference picture list reordering flag and a reference list reordering order, and wherein decoding of the reference picture list reordering flag and the reference list reordering order is omitted based on the number of pictures referable to the current picture and the value of the first flag, and the reference picture list is composed of two separate lists.

[0199] (hardware and software implementations) Furthermore, each block of the above-mentioned video decoding device 1 and video encoding device 2 may be realized in hardware using a logic circuit formed on an integrated circuit (IC chip), or in software using a CPU (Central Processing Unit).

[0200] In the latter case, each of the above devices includes a CPU that executes instructions of a program that realizes each function, a ROM (Read Only Memory) that stores the program, a RAM (Random Access Memory) that expands the program, and a storage device (recording medium) such as a memory that stores the program and various data.The object of the present invention can also be achieved by supplying each of the above devices with a recording medium on which program code (executable program, intermediate code program, source program) of a control program for each of the above devices, which is software that realizes the above-mentioned functions, is recorded in a computer-readable manner, and having the computer (or CPU or MPU) read and execute the program code recorded on the recording medium.

[0201] Examples of the recording medium that can be used include tapes such as magnetic tape and cassette tape, magnetic disks such as floppy (registered trademark) disks and hard disks, disks including optical disks such as CD-ROMs (Compact Disc Read-Only Memory), MO disks (Magneto-Optical discs), MDs (Mini Discs), DVDs (Digital Versatile Discs), CD-Rs (CD Recordable), and Blu-ray (registered trademark) Discs, cards such as IC cards (including memory cards) and optical cards, semiconductor memories such as mask ROMs, EPROMs (Erasable Programmable Read-Only Memory), EEPROMs (Electrically Erasable and Programmable Read-Only Memory), and flash ROMs, and logic circuits such as PLDs (Programmable logic devices) and FPGAs (Field Programmable Gate Arrays).

[0202] Furthermore, 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. This communication network is not particularly limited as long as it is capable of transmitting the program code. For example, the Internet, an intranet, an extranet, a LAN (Local Area Network), an ISDN (Integrated Services Digital Network), a VAN (Value-Added Network), a CATV (Community Antenna television / Cable Television) communication network, a virtual private network, a telephone line network, a mobile communication network, a satellite communication network, etc. are usable. Furthermore, the transmission media constituting this communication network are not limited to a specific configuration or type as long as they are capable of transmitting the program code. For example, the IEEE (Institute of Electrical and Electronic The present invention can be realized via wired networks such as IrDA (Infrared Data Association), cable TV lines, telephone lines, and ADSL (Asymmetric Digital Subscriber Line), as well as wireless networks such as IrDA (Infrared Data Association), infrared networks like those used in remote controls, Bluetooth (registered trademark), IEEE802.11 wireless, HDR (High Data Rate), NFC (Near Field Communication), DLNA (Digital Living Network Alliance), mobile phone networks, satellite networks, and terrestrial digital networks. Note that 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.

[0203] The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims. In other words, embodiments obtained by combining technical means appropriately modified within the scope of the claims are also included in the technical scope of the present invention. Furthermore, new technical features can be formed by combining the technical means disclosed in each embodiment. [Industrial Applicability]

[0204] The present invention can be suitably applied to an image decoding device that decodes coded data obtained by coding image data, and an image coding device that generates coded data obtained by coding image data, and can also be suitably applied to the data structure of coded data generated by an image coding device and referenced by the image decoding device. [Explanation of symbols]

[0205] 1. Video decoding device (image decoding device) 2. Video coding device (image coding device) 10 Header decoding unit 11 Picture Decoding Unit 12 Decoded Picture Buffer 13 Reference picture information decoding unit (reference picture information decoding means) 14 Reference picture set setting unit (reference picture set derivation means) 15 Reference picture list derivation unit (reference picture list generation means) 20 Header Encoding Section 21 Picture Encoding Unit 23 Reference picture information encoding unit (reference picture information encoding means) 24 Reference picture set determination unit (reference picture set determination means) 25 Reference picture list determination unit

Claims

1. An image decoding device that decodes an image, a non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations for decoding data corresponding to video, the operations comprising: receiving a bitstream comprising one or more coding parameters used to decode a current picture in a video sequence; deriving a set of reference pictures available for the current picture based on the bitstream; generating a reference picture list (RPL) based on reference picture list (RPL) modification information decoded from a slice header and the reference picture set; determining a value of a first flag included in the one or more coding parameters, the first flag indicating whether information regarding reference picture list reordering is present in the slice header; omitting decoding of part of the information included in the RPL modification information; the RPL modification information includes at least one of a reference picture list rearrangement flag and a reference picture list rearrangement order; When the number of pictures referable to the current picture does not exceed one, the image decoding device omits decoding of the reference picture list reordering flag and the reference picture list reordering order.

2. 2. The image decoding device according to claim 1, wherein when it is determined that the number of pictures referable to the current picture is greater than 1 and the value of the first flag is non-zero, the reference picture list reordering flag is decoded from the bitstream.

3. The image decoding device according to claim 1 , wherein the one or more coding parameters are included in a sequence parameter set (SPS).

4. The image decoding device according to claim 1 , further comprising the step of generating a predicted image based on a portion of the decoded RPL correction information.

5. The image decoding device according to claim 4 , further comprising the step of decoding the current picture based on the predicted image.

6. An image encoding device that encodes an image, comprising: a non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations for encoding data corresponding to video images, the operations comprising: identifying a current picture and a reference picture set (RPS) in the image coding apparatus; generating RPS information that can be used by an image decoding device to generate the RPS; generating a reference picture list (RPL) based on the current picture and the RPS; generating RPL modification information usable to generate the RPL, the RPL modification information including information regarding reference picture list reordering associated with the RPL; generating one or more coding parameters and a slice header based on the RPS information, RPL modification information, and the current picture, wherein the one or more coding parameters include a first flag indicating whether the information regarding reference picture list reordering is included in the slice header, and a parameter indicating the number of pictures referable to the current picture; encoding the current picture based in part on the RPL to generate encoded picture data; generating a bitstream indicative of the current picture, the bitstream including the slice header, the coded picture data, and the one or more coding parameters; In the step of encoding the bitstream, if the first flag indicates that the slice header includes the information on list reordering and the parameter indicating the number of pictures referable to the current picture is greater than 1, the RPL modification information includes a reference picture list reordering flag and a reference picture list reordering order; An image coding device in which, when the first flag indicates that the slice header includes the information regarding list reordering and the parameter indicating the number of pictures that can be referenced by the current picture is 1 or less, the RPL modification information omits including the reference picture list reordering flag and the reference picture list reordering order.

7. The image encoding device according to claim 6 , wherein the value of the first flag indicates whether or not the reference picture list reordering flag and the decoding of the reference picture list reordering order are to be omitted in the image decoding device.

8. 7. The image encoding device according to claim 6, wherein a value of the first flag being non-zero and the number of pictures in the RPS being greater than one indicates that the reference picture list reordering flag is decoded from the bitstream.

9. The image encoding device of claim 6 , wherein the one or more encoding parameters include a sequence parameter set (SPS).

10. The image encoding device according to claim 6 , wherein the one or more encoding parameters include a picture parameter set (PPS).

11. The image encoding device according to claim 6 , wherein the RPL modification information is used in a decoding unit included in the encoding device to generate a locally decoded picture.

12. The image encoding device according to claim 11 , further comprising the step of storing the locally decoded picture in a decoded picture buffer.

13. The image encoding device according to claim 11 , wherein the step of encoding the current picture is also based on the locally decoded picture.

14. 1. An apparatus comprising: a non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations that generate data corresponding to a motion picture, the operations comprising: receiving a bitstream comprising one or more coding parameters used to decode a current picture in a video sequence; deriving a set of reference pictures available for the current picture based on the bitstream; generating a reference picture list (RPL) based on reference picture list (RPL) modification information decoded from a slice header and the reference picture set; determining a value of a first flag included in the one or more coding parameters, the first flag indicating whether information regarding reference picture list reordering is present in the slice header; omitting decoding of part of the information included in the RPL modification information; the RPL modification information includes at least one of a reference picture list rearrangement flag and a reference picture list rearrangement order; When the number of pictures referable to the current picture does not exceed 1, the decoding of the reference picture list reordering flag and the reference picture list reordering order is omitted.