Method and apparatus for encoding / decoding image on the basis of available slice type information for gdr or irpa picture and recording medium storing bitstream

The image encoding/decoding method optimizes high-resolution image processing by using slice type information and skipping reference picture list signaling, addressing efficiency challenges in high-quality image transmission and storage.

JP2025103016APending Publication Date: 2025-07-08LG ELECTRONICS INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025064232
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-04-03
Filing Date
2025-04-09
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

The increasing demand for high-resolution, high-quality images has led to a need for more efficient image compression techniques to reduce transmission and storage costs, particularly in handling high-resolution, high-quality images.

Method used

An image encoding/decoding method and apparatus that utilizes available slice type information for GDR or IRPA pictures, skipping the signaling of reference picture list information, and determining slice types based on picture type and inter-layer prediction capabilities.

Benefits of technology

Improves encoding/decoding efficiency by reducing unnecessary signaling overhead and computational complexity, thereby enhancing the processing of high-resolution images.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025103016000001_ABST
    Figure 2025103016000001_ABST
Patent Text Reader

Abstract

To provide a method and an apparatus for encoding / decoding an image.SOLUTION: There are disclosed a method and an apparatus for encoding / decoding an image. The method includes the steps of: determining whether an inter-slice type is to be allowed for a current picture including a current block; determining whether an intra-slice type is to be allowed for the current picture on the basis of whether the inter-slice type is allowed for the current picture; and decoding the current block on the basis of the slice type allowed for the current picture. Whether the inter-slice type is allowed for the current picture can be determined on the basis of whether the picture type of the current picture and the current layer including the current picture can use an inter-layer prediction.SELECTED DRAWING: Figure 18
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an image encoding / decoding method and apparatus, and more particularly, to an image encoding / decoding method and apparatus based on available slice type information for a GDR or IRPA picture, and a recording medium for storing a bitstream generated by the image encoding method / apparatus of the present disclosure.

Background Art

[0002] Recently, the demand for high-resolution, high-quality images, such as HD (High Definition) images and UHD (Ultra High Definition) images, has been increasing in various fields. As image data becomes higher in resolution and quality, the amount of information or bits to be transmitted relatively increases compared to conventional image data. The increase in the amount of information or bits to be transmitted results in an increase in transmission costs and storage costs.

[0003] Accordingly, there is a need for a highly efficient image compression technique for effectively transmitting, storing, and reproducing information of high-resolution, high-quality images.

Summary of the Invention

Problems to be Solved by the Invention

[0004] An object of the present disclosure is to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.

[0005] Another object of the present disclosure is to provide an image encoding / decoding method and apparatus based on available slice type information for a GDR or IRPA picture.

[0006] Another object of the present disclosure is to provide an image encoding / decoding method and apparatus that skips signaling of reference picture list information for an IRPA picture.

[0007] In addition, an object of the present disclosure is to provide a recording medium for storing a bitstream generated by an image encoding method or apparatus according to the present disclosure.

[0008] In addition, an object of the present disclosure is to provide a recording medium for storing a bitstream received by an image decoding apparatus according to the present disclosure, decoded, and used for restoring an image.

[0009] In addition, an object of the present disclosure is to provide a method for transmitting a bitstream generated by an image encoding method or apparatus according to the present disclosure.

[0010] The technical problems to be solved by the present disclosure are not limited to the above-described technical problems, and other technical problems not described above will be clearly understood by those having ordinary knowledge in the technical field to which the present disclosure pertains from the following description.

Means for Solving the Problems

[0011] An image decoding method according to an aspect of the present disclosure includes: determining whether an inter-slice type is allowed for a current picture including a current block; determining whether an intra-slice type is allowed for the current picture based on the inter-slice type being allowed for the current picture; and decoding the current block based on the slice type allowed for the current picture, wherein whether the inter-slice type is allowed for the current picture can be determined based on a picture type of the current picture and whether a current layer including the current picture can use inter-layer prediction.

[0012] An image decoding apparatus according to another aspect of the present disclosure includes a memory and at least one processor. The at least one processor determines whether an inter-slice type is allowed for a current picture including a current block, determines whether an intra-slice type is allowed for the current picture based on the inter-slice type being allowed for the current picture, and decodes the current block based on the slice type allowed for the current picture. Whether the inter-slice type is allowed for the current picture can be determined based on the picture type of the current picture and whether the current layer including the current picture can use inter-layer prediction.

[0013] An image encoding method according to another aspect of the present disclosure includes encoding first information regarding whether an inter-slice type is allowed for a current picture including a current block, and encoding second information regarding whether an intra-slice type is allowed for the current picture based on the inter-slice type being allowed for the current picture. Whether the inter-slice type is allowed for the current picture can be determined based on the picture type of the current picture and whether the current layer including the current picture can use inter-layer prediction.

[0014] A computer-readable recording medium according to another aspect of the present disclosure can store a bitstream generated by the image encoding method or the image encoding apparatus of the present disclosure.

[0015] A transmission method according to another aspect of the present disclosure can transmit a bitstream generated by the image encoding method or the image encoding apparatus of the present disclosure.

[0016] The features briefly summarized and described above regarding the present disclosure are merely exemplary aspects of the detailed description of the present disclosure to be described later, and do not limit the scope of the present disclosure.

Advantages of the Invention

[0017] According to the present disclosure, an image encoding / decoding method and apparatus with improved encoding / decoding efficiency can be provided.

[0018] Also, according to the present disclosure, an image encoding / decoding method and apparatus based on available slice type information for GDR or IRPA pictures can be provided.

[0019] Also, according to the present disclosure, an image encoding / decoding method and apparatus that skip signaling of reference picture list information for IRPA pictures can be provided.

[0020] Also, according to the present disclosure, a recording medium storing a bitstream generated by the image encoding method or apparatus according to the present disclosure can be provided.

[0021] Also, according to the present disclosure, a recording medium storing a bitstream received by the image decoding apparatus according to the present disclosure, decoded, and used for image restoration can be provided.

[0022] Also, according to the present disclosure, a method for transmitting a bitstream generated by the image encoding method or apparatus according to the present disclosure can be provided.

[0023] The effects obtained in the present disclosure are not limited to the above-described effects, and other effects not described above will be clearly understood by those of ordinary skill in the technical field to which the present disclosure pertains from the following description.

Brief Description of the Drawings

[0024]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

DETAILED DESCRIPTION OF THE INVENTION

[0025] Hereinafter, with reference to the accompanying drawings, embodiments of the present disclosure will be described in detail so that those with ordinary knowledge in the technical field to which the present disclosure pertains can easily implement them. However, the present disclosure can be realized in various different forms and is not limited to the embodiments described herein.

[0026] When explaining the embodiments of the present disclosure, if it is determined that a detailed description of a known configuration or function may obscure the gist of the present disclosure, the detailed description thereof will be omitted. In the drawings, parts not related to the description of the present disclosure are omitted, and the same reference numerals are given to the same parts.

[0027] In the present disclosure, when a component is “connected”, “coupled” or “joined” to another component, this can include not only a direct connection relationship but also an indirect connection relationship in which another component exists between them. Also, when a component “includes” or “has” another component, this means that, unless otherwise stated to the contrary, it does not exclude other components but can further include other components.

[0028] In the present disclosure, terms such as “first” and “second” are used only for the purpose of distinguishing one component from another, and do not limit the order or importance between components, etc., unless otherwise specifically mentioned. Therefore, within the scope of the present disclosure, the first component of one embodiment may be referred to as the second component in another embodiment, and similarly, the second component of one embodiment may be referred to as the first component in another embodiment.

[0029] In the present disclosure, the components distinguished from each other are for clearly explaining their respective features, and do not necessarily mean that the components are separated. That is, a plurality of components may be integrated and configured as one hardware or software unit, or one component may be distributed and configured as a plurality of hardware or software units. Therefore, even without separate mention, such integrated or distributed embodiments are also included in the scope of the present disclosure.

[0030] In the present disclosure, the components described in various embodiments do not necessarily mean essential components, and some may be optional components. Therefore, embodiments constituted by a subset of the components described in one embodiment are also included in the scope of the present disclosure. Further, embodiments including still other components in addition to the components described in various embodiments are also included in the scope of the present disclosure.

[0031] The present disclosure relates to image encoding and decoding, and the terms used in the present disclosure can have their ordinary meanings in the technical field to which the present disclosure belongs, unless newly defined in the present disclosure.

[0032] In the present disclosure, "picture" generally means a unit indicating any one image in a specific time period, and slice / tile is an encoding unit constituting a part of a picture, and one picture can be constituted by one or more slices / tiles. Further, a slice / tile can include one or more CTUs (coding tree units).

[0033] In the present disclosure, "pixel" or "pel" can mean the smallest unit constituting one picture (or image). Further, the term "sample" can be used as a term corresponding to a pixel. A sample can generally indicate a pixel or a pixel value, and can also indicate only the pixel / pixel value of a luma component, or can also indicate only the pixel / pixel value of a chroma component.

[0034] In the present disclosure, "unit" can indicate the basic unit of image processing. A unit can include at least one of a specific region of a picture and information related to the region. A unit can, as the case may be, be used interchangeably with terms such as "sample array", "block", or "area". In general, an M×N block can include a set (or array) of samples (or sample arrays) or transform coefficients consisting of M columns and N rows.

[0035] In the present disclosure, "current block" can mean any one of "current coding block", "current coding unit", "block to be coded", "block to be decoded", or "block to be processed". When prediction is performed, "current block" can mean "current prediction block" or "block to be predicted". When transformation (inverse transformation) / quantization (inverse quantization) is performed, "current block" can mean "current transformation block" or "block to be transformed". When filtering is performed, "current block" can mean "block to be filtered".

[0036] Also, in the present disclosure, "current block" can mean a block that includes both a luma component block and a chroma component block or "the luma block of the current block" unless explicitly stated as a chroma block. The luma component block of the current block can be expressed explicitly including an explicit description of the luma component block such as "luma block" or "current luma block". Also, the chroma component block of the current block can be expressed explicitly including an explicit description of the chroma component block such as "chroma block" or "current chroma block".

[0037] In the present disclosure, " / " and "," can be interpreted as "and / or". For example, "A / B" and "A, B" can be interpreted as "A and / or B". Also, "A / B / C" and "A, B, C" can mean "at least one of A, B and / or C".

[0038] In the present disclosure, "or" can be interpreted as "and / or". For example, "A or B" can mean 1) only "A", 2) only "B", or 3) "A and B". Alternatively, in the present disclosure, "or" can mean "additionally or alternatively".

[0039] Overview of the Video Coding System

[0040] FIG. 1 is a diagram schematically showing a video coding system to which an embodiment according to the present disclosure can be applied.

[0041] A video coding system according to an embodiment can include an encoding device 10 and a decoding device 20. The encoding device 10 can transmit encoded video and / or image information or data to the decoding device 20 in a file or streaming format via a digital storage medium or a network.

[0042] An encoding device 10 according to an embodiment can include a video source generation unit 11, an encoding unit 12, and a transmission unit 13. A decoding device 20 according to an embodiment can include a reception unit 21, a decoding unit 22, and a rendering unit 23. The encoding unit 12 can be called a video / image encoding unit, and the decoding unit 22 can be called a video / image decoding unit. The transmission unit 13 can be included in the encoding unit 12. The reception unit 21 can be included in the decoding unit 22. The rendering unit 23 can also include a display unit, and the display unit can be configured as a separate device or an external component.

[0043] The video source generation unit 11 can acquire video / images through processes such as video / image capture, synthesis, or generation. The video source generation unit 11 can include a video / image capture device and / or a video / image generation device. The video / image capture device can include, for example, one or more cameras, a video / image archive including previously captured video / images, etc. The video / image generation device can include, for example, a computer, a tablet, and a smartphone, etc., and can (electronically) generate video / images. For example, virtual video / images can be generated through a computer, etc. In this case, the video / image capture process can be replaced by a process in which related data is generated.

[0044] The encoding unit 12 can encode the input video / image. The encoding unit 12 can perform a series of procedures such as prediction, transformation, quantization, etc. for compression and encoding efficiency. The encoding unit 12 can output the encoded data (encoded video / image information) in the form of a bitstream.

[0045] The transmission unit 13 can transmit the encoded video / image information or data output in the form of a bitstream to the receiving unit 21 of the decoding device 20 via a digital storage medium or a network in the form of a file or streaming. The digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray (registered trademark), HDD, SSD, etc. The transmission unit 13 can include elements for generating a media file through a predetermined file format and can include elements for transmission via a broadcast / communication network. The receiving unit 21 can extract / receive the bitstream from the storage medium or the network and transmit it to the decoding unit 22.

[0046] The decoding unit 22 can decode a video / image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding unit 12.

[0047] The rendering unit 23 can render the decoded video / image. The rendered video / image can be displayed via the display unit.

[0048] Overview of the Image Encoding Device

[0049] FIG. 2 is a diagram schematically showing an image encoding apparatus to which an embodiment according to the present disclosure can be applied.

[0050] As shown in FIG. 2, the image encoding apparatus 100 can include an image division unit 110, a subtraction unit 115, a conversion unit 120, a quantization unit 130, an inverse quantization unit 140, an inverse transformation unit 150, an addition unit 155, a filtering unit 160, a memory 170, an inter prediction unit 180, an intra prediction unit 185, and an entropy encoding unit 190. The inter prediction unit 180 and the intra prediction unit 185 can be collectively referred to as a "prediction unit". The conversion unit 120, the quantization unit 130, the inverse quantization unit 140, and the inverse transformation unit 150 can be included in a residual processing unit. The residual processing unit can further include the subtraction unit 115.

[0051] All or at least a part of the plurality of components constituting the image encoding apparatus 100 can be realized by one hardware component (e.g., an encoder or a processor) according to an embodiment. Also, the memory 170 can include a DPB (decoded picture buffer) and can be realized by a digital storage medium.

[0052] The image segmentation unit 110 can divide an input image (or picture, frame) input to the image encoding apparatus 100 into one or more processing units. As an example, the processing unit can be called a coding unit (CU). The coding unit can be obtained by recursively dividing a coding tree unit (CTU) or a largest coding unit (LCU) in a QT / BT / TT (Quad-tree / Binary-tree / Ternary-tree) structure. For example, one coding unit can be divided into a plurality of coding units at a deeper depth based on a quadtree structure, a binary tree structure, and / or a ternary tree structure. For the division of the coding unit, the quadtree structure can be applied first, and the binary tree structure and / or the ternary tree structure can be applied later. Based on the final coding unit that cannot be further divided, the coding procedure according to the present disclosure can be performed. The largest coding unit can be used as the final coding unit, and the coding units at a lower depth obtained by dividing the largest coding unit can also be used as the final coding unit. Here, the coding procedure can include procedures such as prediction, transformation, and / or restoration, which will be described later. As another example, the processing unit of the coding procedure can be a prediction unit (PU: Prediction Unit) or a transformation unit (TU: Transform Unit). The prediction unit and the transformation unit can be divided or partitioned from the final coding unit, respectively. The prediction unit can be a unit of sample prediction, and the transformation unit can be a unit for deriving transformation coefficients and / or a unit for deriving a residual signal from the transformation coefficients.

[0053] The prediction unit (inter prediction unit 180 or intra prediction unit 185) can perform a prediction on a processing target block (current block) and generate a predicted block that includes prediction samples for the current block. The prediction unit can determine whether intra prediction is applied in units of the current block or CU, or whether inter prediction is applied. The prediction unit can generate various information related to the prediction of the current block and transmit it to the entropy encoding unit 190. The information related to the prediction can be encoded by the entropy encoding unit 190 and output in the form of a bit stream.

[0054] The intra prediction unit 185 can predict the current block by referring to samples within the current picture. The samples to be referred to can be located in the neighborhood of the current block or at a distance according to the intra prediction mode and / or intra prediction technique. The intra prediction mode can include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes can include, for example, the DC mode and the Planar mode. The directional modes can include, for example, 33 directional prediction modes or 65 directional prediction modes according to the degree of fineness of the prediction direction. However, this is only an example, and more or fewer directional prediction modes can be used based on the settings. The intra prediction unit 185 can also determine the prediction mode to be applied to the current block using the prediction mode applied to the neighboring blocks.

[0055] The inter prediction unit 180 can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, in order to reduce the amount of motion information transmitted in the inter prediction mode, the motion information can be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the peripheral block and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, the peripheral block can include a spatial neighboring block existing in the current picture and a temporal neighboring block existing in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different from each other. The temporal neighboring block can be called by names such as a collocated reference block, a collocated CU (colCU), etc. The reference picture including the temporal neighboring block can be called a collocated picture (colPic). For example, the inter prediction unit 180 can construct a motion information candidate list based on the peripheral block, and generate information indicating which candidate is used to derive the motion vector and / or reference picture index of the current block. Inter prediction can be performed based on various prediction modes. For example, in the case of the skip mode and the merge mode, the inter prediction unit 180 can use the motion information of the peripheral block as the motion information of the current block. In the case of the skip mode, different from the merge mode, the residual signal cannot be transmitted.In the case of the motion information prediction (motion vector prediction, MVP) mode, the motion vectors of neighboring blocks are used as motion vector predictors, and the motion vector difference and an indicator for the motion vector predictor are encoded to signal the motion vector of the current block. The motion vector difference can mean the difference between the motion vector of the current block and the motion vector predictor.

[0056] The prediction unit can generate a prediction signal based on various prediction methods and / or prediction techniques described below. For example, the prediction unit can apply intra prediction or inter prediction for predicting the current block, and can also apply intra prediction and inter prediction simultaneously. A prediction method of applying intra prediction and inter prediction simultaneously for predicting the current block can be called CIIP (combined inter and intra prediction). Also, the prediction unit can perform intra block copy (IBC) for predicting the current block. Intra block copy can be used for content image / video coding such as games, for example, like SCC (screen content coding). IBC is a method of predicting the current block using a reference block already restored in the current picture at a position separated from the current block by a predetermined distance. When IBC is applied, the position of the reference block in the current picture can be encoded as a vector (block vector) corresponding to the predetermined distance. IBC basically performs prediction within the current picture, but can be performed in the same manner as inter prediction in terms of deriving a reference block within the current picture. That is, IBC can use at least one of the inter prediction techniques described in the present disclosure.

[0057] The prediction signal generated by the prediction unit can be used to generate a restored signal or can be used to generate a residual signal. The subtraction unit 115 can subtract the prediction signal (predicted block, predicted sample array) output from the prediction unit from the input image signal (original block, original sample array) to generate a residual signal (residual signal, residual block, residual sample array). The generated residual signal can be transmitted to the conversion unit 120.

[0058] The conversion unit 120 can apply a conversion technique to the residual signal to generate conversion coefficients (transform coefficients). For example, the conversion technique can include at least one of DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), KLT (Karhunen - Loeve Transform), GBT (Graph - Based Transform), or CNT (Conditionally Non - linear Transform). Here, GBT means the conversion obtained from a graph when representing the relationship information between pixels as a graph. CNT means the conversion obtained based on generating a prediction signal using all previously reconstructed pixels. The conversion process can be applied to a pixel block having the same size of a square, or can also be applied to a block of variable size that is not square.

[0059] The quantization unit 130 can quantize the transform coefficients and transmit them to the entropy encoding unit 190. The entropy encoding unit 190 can encode the quantized signal (information regarding the quantized transform coefficients) and output it in the form of a bit stream. The information regarding the quantized transform coefficients can be called residual information. The quantization unit 130 can reorder the quantized transform coefficients in block form into a one-dimensional vector form based on the coefficient scan order, and can also generate the information regarding the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.

[0060] The entropy encoding unit 190 can perform various encoding methods such as, for example, exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive binary arithmetic coding), etc. The entropy encoding unit 190 can also encode, together or separately, information necessary for video / image restoration (such as the values of syntax elements, etc.) in addition to the quantized transform coefficients. The encoded information (such as the encoded video / image information) can be transmitted or stored in the form of a bit stream in units of NAL (network abstraction layer) units. The video / image information can further include information regarding various parameter sets such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Also, the video / image information can further include general constraint information. The signaling information, the transmitted information, and / or the syntax elements mentioned in the present disclosure can be encoded via the above-described encoding procedure and included in the bit stream.

[0061] The bitstream can be transmitted via a network or stored in a digital storage medium. Here, the network can include a broadcast network and / or a communication network, etc., and the digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmission unit (not shown) for transmitting and / or a storage unit (not shown) for storing the signal output from the entropy encoding unit 190 can be provided as internal / external elements of the image encoding apparatus 100, or the transmission unit can also be provided as a component of the entropy encoding unit 190.

[0062] The quantized transform coefficients output from the quantization unit 130 can be used to generate a residual signal. For example, by applying inverse quantization and inverse transformation to the quantized transform coefficients via the inverse quantization unit 140 and the inverse transformation unit 150, a residual signal (residual block or residual sample) can be restored.

[0063] The addition unit 155 can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the restored residual signal to the prediction signal output from the inter prediction unit 180 or the intra prediction unit 185. When there is no residual for the block to be processed as in the case where the skip mode is applied, the predicted block can be used as the reconstructed block. The addition unit 155 can be called a restoration unit or a reconstructed block generation unit. The generated reconstructed signal can be used for intra prediction of the next block to be processed within the current picture and can also be used for inter prediction of the next picture after passing through filtering as described later.

[0064] The filtering unit 160 can apply filtering to the restored signal to improve the subjective / objective image quality. For example, the filtering unit 160 can apply various filtering methods to the restored picture to generate a modified restored picture, and the modified restored picture can be stored in the memory 170, specifically, in the DPB of the memory 170. The various filtering methods can include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The filtering unit 160 can generate various information related to filtering as described later in the description of each filtering method and transmit it to the entropy encoding unit 190. The information related to filtering can be encoded by the entropy encoding unit 190 and output in the form of a bit stream.

[0065] The modified restored picture transmitted to the memory 170 can be used as a reference picture by the inter prediction unit 180. When inter prediction is applied through this, the image encoding device 100 can avoid prediction mismatches between the image encoding device 100 and the image decoding device, and can also improve the encoding efficiency.

[0066] The DPB in the memory 170 can store the modified restored picture for use as a reference picture by the inter prediction unit 180. The memory 170 can store the motion information of the blocks for which the motion information in the current picture has been derived (or encoded) and / or the motion information of the blocks in the already restored picture. The stored motion information can be transmitted to the inter prediction unit 180 for utilization as the motion information of the spatial neighboring blocks or the motion information of the temporal neighboring blocks. The memory 170 can store the restored samples of the restored blocks in the current picture and transmit them to the intra prediction unit 185.

[0067] Overview of the Image Decoding Device

[0068] FIG. 3 is a diagram schematically showing an image decoding apparatus to which an embodiment according to the present disclosure can be applied.

[0069] As shown in FIG. 3, the image decoding apparatus 200 can be configured to include an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an addition unit 235, a filtering unit 240, a memory 250, an inter prediction unit 260, and an intra prediction unit 265. The inter prediction unit 260 and the intra prediction unit 265 can be collectively referred to as a "prediction unit". The inverse quantization unit 220 and the inverse transform unit 230 can be included in a residual processing unit.

[0070] All or at least a part of the plurality of components constituting the image decoding apparatus 200 can be realized by one hardware component (e.g., a decoder or a processor) according to an embodiment. Further, the memory 170 can include a DPB and can be realized by a digital storage medium.

[0071] The image decoding apparatus 200 that has received a bitstream including video / image information can execute a process corresponding to the process performed by the image encoding apparatus 100 of FIG. 2 to restore an image. For example, the image decoding apparatus 200 can perform decoding using the processing unit applied in the image encoding apparatus. Therefore, the decoding processing unit can be, for example, a coding unit. The coding unit can be obtained by dividing a coding tree unit or a maximum coding unit. Then, the restored image signal decoded and output via the image decoding apparatus 200 can be reproduced via a reproducing apparatus (not shown).

[0072] The image decoding device 200 can receive the signal output from the image encoding device of FIG. 2 in the form of a bitstream. The received signal can be decoded via the entropy decoding unit 210. For example, the entropy decoding unit 210 can parse the bitstream to derive information (e.g., video / image information) necessary for image restoration (or picture restoration). The video / image information can further include information regarding various parameter sets such as an Adaptive Parameter Set (APS), a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), or a Video Parameter Set (VPS). Also, the video / image information can further include general constraint information. The image decoding device can further use the information regarding the parameter set and / or the general constraint information for decoding the image. The signaling information, received information, and / or syntax elements referred to in the present disclosure can be obtained from the bitstream by being decoded via the decoding procedure. For example, the entropy decoding unit 210 can decode the information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output the value of the syntax element necessary for image restoration, the quantized value of the transform coefficient regarding the residual. More specifically, the CABAC entropy decoding method receives the bin corresponding to each syntax element from the bitstream, determines a context model using the syntax element information to be decoded, the decoding information of the surrounding blocks and the block to be decoded, or the information of the symbol / bin decoded in the previous step, and predicts the occurrence probability of the bin based on the determined context model to perform arithmetic decoding of the bin, thereby generating a symbol corresponding to the value of each syntax element. At this time, the CABAC entropy decoding method can update the context model using the information of the decoded symbol / bin for the context model of the next symbol / bin after determining the context model.Among the information decoded by the entropy decoding unit 210, the information related to prediction is provided to the prediction units (inter prediction unit 260 and intra prediction unit 265), and the residual values entropy decoded by the entropy decoding unit 210, that is, the quantized transform coefficients and related parameter information, can be input to the inverse quantization unit 220. Also, among the information decoded by the entropy decoding unit 210, the information related to filtering can be provided to the filtering unit 240. On the other hand, a receiving unit (not shown) that receives a signal output from the image encoding device can be further provided as an internal / external element of the image decoding device 200, or the receiving unit can be provided as a component of the entropy decoding unit 210.

[0073] On the other hand, the image decoding device according to the present disclosure can be referred to as a video / image / picture decoding device. The image decoding device can also include an information decoder (video / image / picture information decoder) and / or a sample decoder (video / image / picture sample decoder). The information decoder can include the entropy decoding unit 210, and the sample decoder can include at least one of the inverse quantization unit 220, the inverse transform unit 230, the addition unit 235, the filtering unit 240, the memory 250, the inter prediction unit 260, and the intra prediction unit 265.

[0074] In the inverse quantization unit 220, the quantized transform coefficients can be inverse quantized to output transform coefficients. The inverse quantization unit 220 can reorder the quantized transform coefficients in a two-dimensional block format. In this case, the reordering can be performed based on the coefficient scan order performed by the image encoding device. The inverse quantization unit 220 can perform inverse quantization on the quantized transform coefficients using a quantization parameter (for example, quantization step size information) to obtain transform coefficients.

[0075] In the inverse conversion unit 230, the conversion coefficients can be inversely converted to obtain a residual signal (residual block, residual sample array).

[0076] The prediction unit can perform prediction on the current block and generate a predicted block including predicted samples for the current block. The prediction unit can determine whether intra prediction or inter prediction is applied to the current block based on the information regarding the prediction output from the entropy decoding unit 210, and can determine a specific intra / inter prediction mode (prediction technique).

[0077] The prediction unit can generate a prediction signal based on various prediction methods (techniques) described later, which is the same as that described in the explanation of the prediction unit of the image coding apparatus 100.

[0078] The intra prediction unit 265 can predict the current block by referring to samples within the current picture. The explanation of the intra prediction unit 185 can also be similarly applied to the intra prediction unit 265.

[0079] The inter prediction unit 260 can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, in order to reduce the amount of motion information transmitted in the inter prediction mode, the motion information can be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the neighboring blocks and the current block. The motion information can include a motion vector and a reference picture index. The motion information can further include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, the neighboring blocks can include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. For example, the inter prediction unit 260 can construct a motion information candidate list based on the neighboring blocks and derive the motion vector and / or reference picture index of the current block based on the received candidate selection information. Inter prediction can be performed based on various prediction modes (techniques), and the information regarding the prediction can include information indicating the prediction mode (technique) for the inter prediction of the current block.

[0080] The adder 235 can generate a restored signal (restored picture, restored block, restored sample array) by adding the obtained residual signal to a prediction signal (predicted block, predicted sample array) output from a prediction unit (including the inter prediction unit 260 and / or the intra prediction unit 265). When there is no residual for the processing target block as in the case where the skip mode is applied, the predicted block can be used as the restored block. The description of the adder 155 can be similarly applied to the adder 235. The adder 235 may also be referred to as a restoration unit or a restored block generation unit. The generated restored signal can be used for intra prediction of the next processing target block within the current picture and can also be used for inter prediction of the next picture through filtering as described later.

[0081] The filtering unit 240 can apply filtering to the restored signal to improve the subjective / objective image quality. For example, the filtering unit 240 can apply various filtering methods to the restored picture to generate a modified restored picture, and can store the modified restored picture in the memory 250, specifically, in the DPB of the memory 250. The various filtering methods can include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, and the like.

[0082] The (modified) restored picture stored in the DPB of the memory 250 can be used as a reference picture in the inter prediction unit 260. The memory 250 can store the motion information of the block where the motion information in the current picture has been derived (or decoded) and / or the motion information of the block in the already restored picture. The stored motion information can be transmitted to the inter prediction unit 260 for utilization as the motion information of the spatial neighboring blocks or the motion information of the temporal neighboring blocks. The memory 250 can store the restored samples of the restored blocks in the current picture and can transmit them to the intra prediction unit 265.

[0083] In this specification, the embodiments described in the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the image encoding apparatus 100 can be similarly or correspondingly applied to the filtering unit 240, the inter prediction unit 260, and the intra prediction unit 265 of the image decoding apparatus 200, respectively.

[0084] Example of Coding Hierarchy and Structure

[0085] The video / image coded according to this document can be processed, for example, according to the coding hierarchy and structure described below.

[0086] FIG. 4 is a diagram showing an example of a hierarchical structure for a coded image / video.

[0087] The coded image / video can be classified into a VCL (video coding layer) that performs decoding processing of the image / video and handles itself, a lower-level system that transmits and stores the encoded information, and a NAL (network abstraction layer) that exists between the VCL and the lower-level system and is responsible for the network adaptation function.

[0088] In the VCL, it is possible to generate VCL data including compressed image data (slice data), or to generate a parameter set including information such as a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), and a Video Parameter Set (VPS), or a SEI (Supplemental Enhancement Information) message that is additionally required for the decoding process of the image.

[0089] In the NAL, it is possible to generate a NAL unit by adding header information (NAL unit header) to the RBSP (Raw Byte Sequence Payload) generated in the VCL. At this time, the RBSP refers to slice data, parameter sets, SEI messages, etc. generated in the VCL. The NAL unit header can include NAL unit type information specified by the RBSP data included in the corresponding NAL unit.

[0090] As shown in FIG. 4, NAL units can be classified into VCL NAL units and Non-VCL NAL units according to the type of RBSP generated by VCL. A VCL NAL unit can be meant as a NAL unit containing information (slice data) for an image, and a Non-VCL NAL unit can be meant as a NAL unit containing information (parameter set or SEI message) necessary for decoding an image.

[0091] The above-mentioned VCL NAL units and Non-VCL NAL units can be transmitted via a network with header information attached according to the data standard of the lower system. For example, NAL units can be transformed into data formats of predetermined standards such as the H.266 / VVC file format, RTP (Real-time Transport Protocol), TS (Transport Stream), etc., and transmitted via various networks.

[0092] As described above, the NAL unit type can be specified according to the RBSP data structure (structure) included in the NAL unit, and information regarding such NAL unit type can be stored and signaled in the NAL unit header. For example, it can be largely classified into VCL NAL unit types and Non-VCL NAL unit types according to whether the NAL unit contains information (slice data) for an image. The VCL NAL unit type can be classified according to the nature and type of the picture contained in the VCL NAL unit, etc., and the Non-VCL NAL unit type can be classified according to the type of the parameter set, etc.

[0093] An example of the NAL unit type specified according to the type of parameter set / information included in the Non-VCL NAL unit type, etc. is listed below.

[0094] -DCI (Decoding Capability Information) NAL unit type (NUT): Type for NAL units containing DCI

[0095] -VPS (Video Parameter Set) NUT: Type for NAL units containing VPS

[0096] -SPS (Sequence Parameter Set) NUT: Type for NAL units containing SPS

[0097] -PPS (Picture Parameter Set) NUT: Type for NAL units containing PPS

[0098] -APS (Adaptation Parameter Set) NUT: Type for NAL units containing APS

[0099] -PH (Picture header) NUT: Type for NUL units containing a picture header

[0100] The above-mentioned NAL unit types have syntax information for the NAL unit type, and the syntax information can be stored in the NAL unit header and signaled. For example, the syntax information is nal_unit_type, and the NAL unit type can be specified using the value of nal_unit_type.

[0101] On one hand, a picture can include a plurality of slices, and one slice can include a slice header and slice data. In this case, one picture header can be further added for the plurality of slices (slice header and slice data set) within one picture. The picture header (picture header syntax) can include information / parameters that are commonly applicable to the picture. The slice header (slice header syntax) can include information / parameters that are commonly applicable to the slice. The APS (APS syntax) or PPS (PPS syntax) can include information / parameters that are commonly applicable to one or more slices or pictures. The SPS (SPS syntax) can include information / parameters that are commonly applicable to one or more sequences. The VPS (VPS syntax) can include information / parameters that are commonly applicable to multiple layers. The DCI can include information / parameters related to decoding capability.

[0102] In the present disclosure, the high level syntax (HLS) can include at least one of the APS syntax, PPS syntax, SPS syntax, VPS syntax, DCI syntax, picture header syntax, and slice header syntax. Also, in the present disclosure, the low level syntax (LLS) can include, for example, slice data syntax, CTU syntax, coding unit syntax, transform unit syntax, etc.

[0103] In the present disclosure, the image / video information encoded by an encoding device and signaled in the form of a bitstream to a decoding device not only includes information related to partitioning within a picture, intra / inter prediction information, residual information, in-loop filtering information, etc., but may also include the information of the slice header, the information of the picture header, the information of the APS, the information of the PPS, the information of the SPS, the information of the VPS, and / or the information of the DCI. Further, the image / video information may further include general constraint information and / or the information of the NAL unit header.

[0104] Overview of the NAL Unit Type

[0105] Generally, one NAL unit type can be set for one picture. As described above, the syntax information representing the NAL unit type can be stored and signaled in the NAL unit header within the NAL unit. For example, the syntax information is nal_unit_type, and the NAL unit type can be specified using the nal_unit_type value. An example of the NAL unit type is as shown in Table 1 below.

[0106]

Table 1-1

[0107]

Table 1-2

[0108] Referring to Table 1, the VCL NAL unit type can be classified into NAL unit types from 0 to 12 according to the picture type. Further, the non-VCL NAL unit type can be classified into NAL unit types from 13 to 31 according to the type of parameters. Summarizing the VCL NAL unit types by picture type, it is as follows.

[0109] (1) IRAP (Intra Random Access Point) picture

[0110] An IRAP picture is a randomly accessible picture, which can mean a picture in which all VCL NAL units have the same NAL unit type within the range of IDR_W_RADL to CRA_NUT. An IRAP picture can include an IDR (Instantaneous decoding refresh) picture and a CRA (Clean random access) picture. An IRAP picture cannot use inter prediction based on reference pictures within the same layer during the decoding process. The first picture in the bitstream in decoding order can be an IRAP picture or a GDR (Gradual Decoding Refresh) picture. For a single-layer bitstream, if the parameter set that needs to be referenced is available, without decoding any picture preceding the IRAP picture in decoding order, all non-RASL (Random Access Skipped Leading) pictures following the IRAP picture in decoding order within the IRAP picture and the CLVS (coded layer video sequence) can be correctly decoded.

[0111] (2) CRA (Clean Random Access) picture

[0112] A CRA picture can mean an IRAP picture in which each VCL NAL unit has a NAL unit type equal to CRA_NUT. A CRA picture cannot utilize inter prediction in the decoding process. A CRA picture may be the first picture in the bitstream in decoding order, or may be a picture after the first. A CRA picture can be related to a RADL or RASL picture. When NoOutputBeforeRecoveryFlag has a first value (e.g., 1) for a CRA picture, the RASL picture related to the CRA picture cannot be decoded because it refers to a picture that does not exist in the bitstream, and as a result, it cannot be output by the image decoding device. Here, NoOutputBeforeRecoveryFlag can indicate whether a picture preceding a recovery point picture in decoding order is output earlier than the recovery point picture. For example, NoOutputBeforeRecoveryFlag with a first value (e.g., 1) can indicate that a picture preceding a recovery point picture in decoding order cannot be output earlier than the recovery point picture. In this case, the CRA picture may be the first picture in the bitstream or the first picture following an EOS (End Of Sequence) NAL unit in decoding order, which can mean the case where random access has occurred. In contrast, NoOutputBeforeRecoveryFlag with a second value (e.g., 0) can indicate that a picture preceding a recovery point picture in decoding order can be output earlier than the recovery point picture. In this case, the CRA picture may not be the first picture in the bitstream or the first picture following an EOS NAL unit in decoding order, which can mean the case where random access has not occurred.

[0113] (3)IDR (Instantaneous Decoding Refresh) picture

[0114] An IDR picture can mean an IRAP picture in which each VCL NAL unit has a NAL unit type equal to IDR_W_RADL or IDR_N_LP. An IDR picture cannot use inter prediction in the decoding process. An IDR picture may be the first picture in the bitstream in decoding order, or may be a picture after the first. Each IDR picture can be the first picture of a CVS (coded video sequence) in decoding order. If each VCL NAL unit for an IDR picture has a NAL unit type equal to IDR_W_RADL, the IDR picture can have related RADL pictures. In contrast, if each VCL NAL unit for an IDR picture has a NAL unit type equal to IDR_N_LP, the IDR picture can have no related leading pictures. On the other hand, an IDR picture can have no related RASL pictures.

[0115] (4) RADL (Random Access Decodable Leading) picture

[0116] A RADL picture can mean a picture in which each VCL NAL unit has a NAL unit type equal to RADL_NUT. All RADL pictures can be leading pictures.

[0117] (5) RASL (Random Access Skipped Leading) picture

[0118] A RASL picture can mean a picture in which at least one VCL NAL unit has a NAL unit type equal to RASL_NUT and the remaining VCL NAL units have NAL unit types equal to RASL_NUT or RADL_NUT. All RASL pictures can be the reference pictures of the related CRA picture.

[0119] (6) Trailing Picture

[0120] A trailing picture can mean a picture in which each VCL NAL unit has a NAL unit type equal to TRAIL_NUT. The trailing pictures related to an IRAP or GDR picture can follow the IRAP or GDR picture in decoding order. Pictures that follow an IRAP picture related to output order and precede the related IRAP picture in decoding order may not be allowed.

[0121] (7) GDR (Gradual Decoding Refresh) Picture

[0122] A GDR picture can mean a picture that is randomly accessible and in which each VCL NAL unit has a NAL unit type equal to GDR_NUT.

[0123] The GDR feature can mean that decoding starts from a picture where all parts of the restored picture may not be correctly decoded, but the correctly decoded parts of the restored picture in the subsequent pictures increase gradually until the whole picture is correctly decoded. At this time, the picture from which the decoding process can start with the GDR feature is called a GDR picture, and the first picture after the GDR picture where the whole picture is correctly decoded is called a recovery point picture.

[0124] (8) STSA (Step - wise Temporal Sublayer Access) picture

[0125] An STSA picture can be a randomly accessible picture, which can mean a picture in which each VCL NAL unit has a NAL unit type equal to STSA_NUT.

[0126] High-Level Syntax

[0127] As described above, high - level syntax (HLS) can be encoded / signaled for image / video coding. The image / video information can include high - level syntax (HLS), and an image / video coding method can be performed based on the image / video information.

[0128] As an example of image / video information, reference picture list information (e.g., ref_pic_lists) can be signaled within a picture header or a slice header based on the rpl_info_in_ph_flag syntax signaled within a picture parameter set. Here, rpl_info_in_ph_flag can indicate whether the reference picture list information exists within the picture header. For example, an rpl_info_in_ph_flag with a first value (e.g., 1) can indicate that the reference picture list information exists within the picture header and does not exist within the slice header. In contrast, an rpl_info_in_ph_flag with a second value (e.g., 0) can indicate that the reference picture list information does not exist within the picture header and may exist within the slice header.

[0129] Figure 5 is a diagram showing an example of a picture header.

[0130] Referring to FIG. 5, the picture header can include the syntax element gdr_or_irap_pic_flag. The gdr_or_irap_pic_flag can indicate whether the current picture is a GDR (Gradual Decoding Refresh) or IRAP (Intra Random Access Point) picture. For example, a gdr_or_irap_pic_flag with a first value (e.g., 1) can indicate that the current picture is a GDR or IRAP picture. In contrast, a gdr_or_irap_pic_flag with a second value (e.g., 0) can indicate that the current picture may be an IRAP picture rather than a GDR picture.

[0131] Also, the picture header can include the syntax element gdr_pic_flag. The gdr_pic_flag can indicate whether the current picture is a GDR picture. For example, a gdr_pic_flag with a first value (e.g., 1) can indicate that the current picture is a GDR picture. In contrast, a gdr_pic_flag with a second value (e.g., 0) can indicate that the current picture is not a GDR picture. If the gdr_pic_flag does not exist (i.e., is not signaled), the value of the gdr_pic_flag can be inferred as the second value (e.g., 0). When GDR pictures are not available and do not exist within the CLVS (coded layer video sequence) (e.g., sps_gdr_enabled_flag == 0), the value of the gdr_pic_flag can be restricted to the second value (e.g., 0). On the other hand, when the above-mentioned gdr_or_irap_pic_flag has the first value (e.g., 1) and the gdr_pic_flag has the second value (e.g., 0), the current picture can be determined to be an IRAP picture.

[0132] In addition, the picture header can include the syntax element ph_inter_slice_allowed_flag. The ph_inter_slice_allowed_flag can indicate whether one or more slices within the current picture can have an inter-slice type (e.g., B slice type or P slice type). For example, a ph_inter_slice_allowed_flag with a first value (e.g., 1) can indicate that there may be one or more coded slices having a B slice type (i.e., sh_slice_type = 0) or a P slice type (i.e., sh_slice_type = 1) within the current picture. In contrast, a ph_inter_slice_allowed_flag with a second value (e.g., 0) can indicate that all coded slices within the current picture have an I slice type (i.e., sh_slice_type = 2).

[0133] In addition, the picture header can include the syntax element ph_intra_slice_allowed_flag. The ph_intra_slice_allowed_flag can indicate whether one or more slices within the current picture can have an intra slice type (e.g., I slice type). For example, a ph_intra_slice_allowed_flag with a first value (e.g., 1) can indicate that one or more coded slices with an I slice type (i.e., sh_slice_type = 2) may exist within the current picture. In contrast, a ph_intra_slice_allowed_flag with a second value (e.g., 0) can indicate that all coded slices within the current picture have a B slice type (i.e., sh_slice_type = 0) or a P slice type (i.e., sh_slice_type = 1). The ph_intra_slice_allowed_flag can be signaled only if the ph_intra_slice_allowed_flag has the first value (e.g., 1). If the ph_intra_slice_allowed_flag does not exist, the value of the ph_intra_slice_allowed_flag can be inferred as the first value (e.g., 1).

[0134] On the other hand, when the aforementioned rpl_info_in_ph_flag has the first value (e.g., 1), the reference picture list information ref_pic_lists can be signaled within the picture header.

[0135] As described above, the picture header can include two syntax elements (e.g., ph_inter_slice_allowed_flag and ph_intra_slice_allowed_flag) indicating whether the signaling of syntax elements for inter-predicted slices and intra-predicted slices is allowed within the picture header. However, in the case of a GDR picture, due to the attributes of the picture, it includes one or more slices with an inter-slice type, so it is not necessary to signal the ph_inter_slice_allowed_flag for the GDR picture. However, in the picture header of FIG. 5, since the ph_inter_slice_allowed_flag is signaled unconditionally, there is a problem that the signaling overhead increases unnecessarily.

[0136] FIG. 6 is a diagram showing an example of a slice header.

[0137] Referring to FIG. 6, when the above-mentioned rpl_info_in_ph_flag has a second value (e.g., 0), the reference picture list information ref_pic_lists can be signaled within the slice header under certain conditions. Specifically, when rpl_info_in_ph_flag has a second value (e.g., 0) and the NAL unit type is not IDR_W_RADL and IDR_N_LP (i.e., nal_unit_type!=IDR_W_RADL && nal_unit_type!=IDR_N_LP), or when the sps_idr_rpl_presetn_flag has a first value (e.g., 1), ref_pic_lists can be signaled. Here, the sps_idr_rpl_present_flag with the first value (e.g., 1) can indicate that the syntax elements related to the reference picture list may exist within the slice header of a slice having a NAL unit type equal to IDR_W_RADL or IDR_N_LP.

[0138] Generally, in the case of an IDR picture having a NAL unit type equal to IDR_W_RADL or IDR_N_LP, due to the attributes of the picture, reference picture list information is not required. Therefore, in order to signal the reference picture list information ref_pic_list, it is necessary to check the nal_unit_type value, which is information regarding the NAL unit type signaled within the NAL unit header. On the other hand, even if the nal_unit_type has a value related to an IDR picture, in the case of bitstream extraction and merging scenarios, reference picture list information may be required. Therefore, in order to signal the reference picture list information ref_pic_list, it is necessary to check the sps_idr_rpl_present_flag, which indicates whether there is a syntax element regarding the reference picture list within the slice header.

[0139] However, within the picture header, the reference picture list information is signaled without considering the additional signaling conditions described above. That is, within the picture header, the reference picture list information ref_pic_list is signaled only based on the rpl_info_in_ph_flag. As a result, there arises a problem that the reference picture list information ref_pic_list can be signaled as unnecessary even for IDR pictures without bitstream extraction and merging.

[0140] In order to solve the above-described problem, according to an embodiment of the present disclosure, signaling conditions for reference picture list information may be added within the picture header, or a flag indicating that the current picture is an IDR picture may be added. Alternatively, signaling conditions for inter-slice related syntax elements may be added within the picture header. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

[0141] Example 1

[0142] According to Example 1 of the present disclosure, within a picture header, the reference picture list information can be signaled based on whether a syntax element regarding the reference picture list of an IDR picture exists in a slice header (i.e., sps_idr_rpl_present_flag).

[0143] FIG. 7 is a diagram showing a picture header according to an embodiment of the present disclosure.

[0144] Referring to FIG. 7, the picture header can include a syntax element gdr_or_irap_pic_flag indicating whether the current picture is a GDR (Gradual Decoding Refresh) or IRAP (Intra Random Access Point) picture, and a syntax element gdr_pic_flag indicating whether the current picture is a GDR picture. Further, the picture header can include a syntax element ph_inter_slice_allowed_flag indicating whether one or more slices within the current picture can have an inter-slice type (e.g., B slice type or P slice type), and a syntax element ph_intra_slice_allowed_flag indicating whether one or more slices within the current picture can have an intra-slice type (e.g., I slice type). The semantics of each of the above syntax elements are as described above with reference to FIG. 5.

[0145] Within the picture header, the reference picture list information ref_pic_lists can be signaled based on a predetermined first condition (710). Specifically, ref_pic_lists can be signaled only if there is reference picture list information within the picture header (i.e., rpl_info_in_ph_flag == 1) and there are syntax elements regarding the reference picture list within the slice header of a slice having a NAL unit type equal to IDR_N_LP or IDR_W_RADL (i.e., sps_idr_rpl_present_flag == 1). Here, IDR_N_LP can mean the NAL unit type of an IDR picture that does not have associated reading pictures (e.g., RASL and RADL pictures) within the bitstream. Also, IDR_W_RADL can mean the NAL unit type of an IDR picture that does not have associated RASL pictures within the bitstream but can have associated RADL pictures.

[0146] In the case of FIG. 7, it can be different from the picture header of FIG. 5 in that the reference picture list information ref_pic_lists is signaled based on whether the sps_idr_rpl_present_flag has a first value (e.g., 1). That is, when there are no syntax elements regarding the reference picture list within the slice header (i.e., sps_idr_rpl_present_flag == 0), ref_pic_lists may not be signaled within the picture header. Thereby, the problem that the reference picture list information for the IDR picture is unnecessarily signaled within the picture header can be solved.

[0147] Example 2

[0148] According to Example 2 of the present disclosure, a syntax element indicating whether the current picture is an IDR picture can be newly defined within the picture header.

[0149] FIG. 8 is a diagram showing a picture header including idr_pic_flag according to an embodiment of the present disclosure.

[0150] Referring to FIG. 8, the picture header may include a syntax element gdr_or_irap_pic_flag indicating whether the current picture is a GDR or IRAP picture, and a syntax element gdr_pic_flag indicating whether the current picture is a GDR picture. Further, the picture header may include a syntax element ph_inter_slice_allowed_flag indicating whether one or more slices in the current picture can have an inter-slice type (e.g., B slice type or P slice type), and a syntax element ph_intra_slice_allowed_flag indicating whether one or more slices in the current picture can have an intra-slice type (e.g., I slice type). The semantics of each of the syntax elements are as described above with reference to FIG. 5.

[0151] Also, the picture header may further include a syntax element idr_pic_flag (810). The idr_pic_flag can indicate whether the current picture is an IDR picture. For example, an idr_pic_flag with a first value (e.g., 1) can indicate that the current picture is an IDR picture. In contrast, an idr_pic_flag with a second value (e.g., 0) can indicate that the current picture is not an IDR picture. If the idr_pic_flag does not exist, the idr_pic_flag can be inferred to have the second value (e.g., 0).

[0152] The idr_pic_flag can be conditionally signaled based on the gdr_or_irap_pic_flag. For example, if the gdr_or_irap_pic_flag has a first value (e.g., 1) indicating that the current picture is a GDR or IRAP picture, the idr_pic_flag can be signaled. In contrast, if the gdr_or_irap_pic_flag has a second value (e.g., 0) indicating that the current picture may be an IRAP picture rather than a GDR picture, the idr_pic_flag may not be signaled. Thus, the idr_pic_flag can be signaled under the same condition as the gdr_pic_flag (i.e., gdr_or_irap_pic_flag == 1).

[0153] On the other hand, in other embodiments, the idr_pic_flag can also be conditionally signaled based on the gdr_or_irap_pic_flag and the gdr_pic_flag.

[0154] FIG. 9 is a diagram showing a picture header including the idr_pic_flag according to another embodiment of the present disclosure.

[0155] Referring to FIG. 9, the picture header can include a syntax element gdr_or_irap_pic_flag indicating whether the current picture is a GDR or IRAP picture, and a syntax element gdr_pic_flag indicating whether the current picture is a GDR picture. Also, the picture header can include a syntax element ph_inter_slice_allowed_flag indicating whether one or more slices in the current picture can have an inter-slice type (e.g., B slice type or P slice type), and a syntax element ph_intra_slice_allowed_flag indicating whether one or more slices in the current picture can have an intra-slice type (e.g., I slice type). The semantics of each of the above syntax elements are as described above with reference to FIG. 5.

[0156] Also, the picture header can further include a syntax element idr_pic_flag indicating whether the current picture is an IDR picture (910). The semantics of the idr_pic_flag are as described above with reference to FIG. 8.

[0157] The idr_pic_flag can be conditionally signaled based on the gdr_or_irap_pic_flag and the gdr_pic_flag. For example, if the gdr_or_irap_pic_flag has a first value (e.g., 1) indicating that the current picture is a GDR or IRAP picture, and the gdr_pic_flag has a second value (e.g., 0) indicating that the current picture is not a GDR picture, the idr_pic_flag can be signaled. In contrast, if the gdr_or_irap_pic_flag has a second value (e.g., 0) indicating that the current picture may be an IRAP picture rather than a GDR picture, or if the gdr_or_irap_pic_flag has a first value (e.g., 1) indicating that the current picture is a GDR picture, the idr_pic_flag may not be signaled. Thus, the idr_pic_flag can be signaled only when the current picture is an IRAP picture.

[0158] In this way, by explicitly signaling the idr_pic_flag indicating whether the current picture is an IDR picture, the signaling conditions of various syntax elements assuming that the current picture is an IDR picture can be simplified.

[0159] Example 3

[0160] According to Example 3 of the present disclosure, within the picture header, the reference picture list information can be signaled based on whether the current picture is an IDR picture.

[0161] FIG. 10 is a diagram showing a picture header according to an embodiment of the present disclosure.

[0162] Referring to FIG. 10, the picture header may include a syntax element gdr_or_irap_pic_flag indicating whether the current picture is a GDR or IRAP picture, and a syntax element gdr_pic_flag indicating whether the current picture is a GDR picture. Further, the picture header may include a syntax element ph_inter_slice_allowed_flag indicating whether one or more slices in the current picture can have an inter-slice type (e.g., B slice type or P slice type), and a syntax element ph_intra_slice_allowed_flag indicating whether one or more slices in the current picture can have an intra-slice type (e.g., I slice type). The semantics of each of the above syntax elements are as described above with reference to FIG. 5.

[0163] In one embodiment, when gdr_or_irap_pic_flag has a first value (e.g., 1), gdr_pic_flag has a second value (e.g., 0) (i.e., the current picture is an IRAP picture), and vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] has a first value (e.g., 1), the value of ph_inter_slice_allowed_flag can be set to the second value (e.g., 0). Here, vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] with the first value (e.g., 1) can indicate that the layer with index GeneralLayerIdx[nuh_layer_id] does not utilize inter-layer prediction.

[0164] Further, the picture header may further include a syntax element idr_pic_flag indicating whether the current picture is an IDR picture. The semantics and signaling conditions of idr_pic_flag are as described above with reference to FIG. 8.

[0165] Within the picture header, the reference picture list information ref_pic_lists can be signaled based on a predetermined second condition (1010). Specifically, ref_pic_lists can be signaled only if there is reference picture list information within the picture header (i.e., rpl_info_in_ph_flag == 1) and the current picture is not an IDR picture (i.e., idr_pic_flag == 0).

[0166] In the case of FIG. 10, it may differ from the picture header of FIG. 5 in that the reference picture list information ref_pic_lists is signaled based on whether the current picture is an IDR picture or not. That is, when the current picture is an IDR picture (i.e., idr_pic_flag == 1), ref_pic_lists may not be signaled within the picture header. Thus, the problem of unnecessary signaling of reference picture list information for IDR pictures within the picture header can be solved.

[0167] Example 4

[0168] According to Example 4 of the present disclosure, within the picture header, the reference picture list information can be signaled based on whether the current picture is an IDR picture and whether a syntax element regarding the reference picture list of the IDR picture exists within the slice header.

[0169] FIG. 11 is a diagram showing a picture header according to an embodiment of the present disclosure.

[0170] Referring to FIG. 11, the picture header can include a syntax element gdr_or_irap_pic_flag indicating whether the current picture is a GDR or IRAP picture, and a syntax element gdr_pic_flag indicating whether the current picture is a GDR picture. Further, the picture header can include a syntax element ph_inter_slice_allowed_flag indicating whether one or more slices in the current picture can have an inter-slice type (e.g., B slice type or P slice type), and a syntax element ph_intra_slice_allowed_flag indicating whether one or more slices in the current picture can have an intra-slice type (e.g., I slice type). The semantics of each of the above syntax elements are as described above with reference to FIG. 5.

[0171] In one embodiment, when gdr_or_irap_pic_flag has a first value (e.g., 1), gdr_pic_flag has a second value (e.g., 0) (i.e., the current picture is an IRAP picture), and vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] has a first value (e.g., 1), the value of ph_inter_slice_allowed_flag can be set to the second value (e.g., 0). Here, vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] with the first value (e.g., 1) can indicate that the layer with index GeneralLayerIdx[nuh_layer_id] does not utilize inter-layer prediction.

[0172] Further, the picture header can further include a syntax element idr_pic_flag indicating whether the current picture is an IDR picture. The semantics and signaling conditions of idr_pic_flag are as described above with reference to FIG. 8.

[0173] Within the picture header, the reference picture list information ref_pic_lists can be signaled based on a predetermined third condition (1110). Specifically, ref_pic_lists can be signaled only if there is reference picture list information within the picture header (i.e., rpl_info_in_ph_flag == 1) and the syntax elements regarding the reference picture list exist within the slice header of a slice having a NAL unit type equal to IDR_N_LP or IDR_W_RADL, or if the current picture is not an IDR picture (i.e., sps_idr_rpl_present_flag == 1 or idr_pic_flag == 0).

[0174] In the case of FIG. 11, it may be different from the picture header of FIG. 5 in that the reference picture list information ref_pic_lists is signaled based on whether sps_idr_rpl_present_flag has a first value (e.g., 1) or whether idr_pic_flag has a second value (e.g., 0). That is, when there is no syntax element regarding the reference picture list of the IDR picture within the slice header (i.e., sps_idr_rpl_present_flag == 0) and the current picture is an IDR picture (i.e., idr_pic_flag == 1), ref_pic_lists may not be signaled within the picture header. Thereby, the problem that the reference picture list information for the IDR picture is unnecessarily signaled within the picture header can be solved.

[0175] Example 5

[0176] According to Example 5 of the present disclosure, within the picture header, the reference picture list information can be signaled based on whether the current picture is an IDR picture and whether the syntax element regarding the reference picture list of the IDR picture exists in the slice header.

[0177] FIG. 12 is a diagram showing a picture header according to an embodiment of the present disclosure.

[0178] Referring to FIG. 12, the picture header may include a syntax element gdr_or_irap_pic_flag indicating whether the current picture is a GDR or IRAP picture, and a syntax element gdr_pic_flag indicating whether the current picture is a GDR picture. Also, the picture header may include a syntax element ph_inter_slice_allowed_flag indicating whether one or more slices in the current picture can have an inter-slice type (e.g., B slice type or P slice type), and a syntax element ph_intra_slice_allowed_flag indicating whether one or more slices in the current picture can have an intra-slice type (e.g., I slice type). The semantics of each of the syntax elements are as described above with reference to FIG. 5.

[0179] In addition, the picture header may further include a syntax element idr_pic_flag indicating whether the current picture is an IDR picture. The idr_pic_flag may be different from the idr_pic_flag in FIG. 11 in that it is signaled only when the current picture is not a GDR picture (i.e., gdr_pic_flag == 0). That is, when gdr_pic_flag has a first value (e.g., 1), the idr_pic_flag may not be signaled. On the other hand, when gdr_pic_flag is not signaled but is set to a second value (e.g., 0), the idr_pic_flag can be signaled.

[0180] Within the picture header, the reference picture list information ref_pic_lists can be signaled based on a predetermined third condition (1210). Specifically, ref_pic_lists can be signaled only if there is reference picture list information within the picture header (i.e., rpl_info_in_ph_flag == 1) and the syntax elements regarding the reference picture list are present within the slice header of a slice having a NAL unit type equal to IDR_N_LP or IDR_W_RADL, or if the current picture is not an IDR picture (i.e., sps_idr_rpl_present_flag == 1 or idr_pic_flag == 0).

[0181] In the case of FIG. 12, it may be different from the picture header of FIG. 5 in that the reference picture list information ref_pic_lists is signaled based on whether sps_idr_rpl_present_flag has a first value (e.g., 1) or whether idr_pic_flag has a second value (e.g., 0). That is, when there is no syntax element regarding the reference picture list of the IDR picture within the slice header (i.e., sps_idr_rpl_present_flag == 0) and the current picture is an IDR picture (i.e., idr_pic_flag == 1), ref_pic_lists may not be signaled within the picture header. Thus, the problem that the reference picture list information for the IDR picture is unnecessarily signaled within the picture header can be solved.

[0182] Example 6

[0183] According to Example 6 of the present disclosure, within the picture header, the information indicating whether inter-slice is allowed within the current picture can be signaled based on whether the current picture is a GDR picture.

[0184] FIG. 13 is a diagram showing a picture header according to an embodiment of the present disclosure.

[0185] Referring to FIG. 13, the picture header can include a syntax element gdr_or_irap_pic_flag indicating whether the current picture is a GDR or IRAP picture, and a syntax element gdr_pic_flag indicating whether the current picture is a GDR picture. The semantics of each of the above syntax elements are as described above with reference to FIG. 5.

[0186] Also, the picture header can include a syntax element ph_inter_slice_allowed_flag. The ph_inter_slice_allowed_flag can indicate whether one or more slices in the current picture can have an inter-slice type (e.g., B slice type or P slice type). For example, a ph_inter_slice_allowed_flag with a first value (e.g., 1) can indicate that there may be one or more coded slices with a B slice type (i.e., slice_type = 0) or P slice type (i.e., slice_type = 1) in the current picture. In contrast, a ph_inter_slice_allowed_flag with a second value (e.g., 0) can indicate that all coded slices in the current picture have an I slice type (i.e., slice_type = 2).

[0187] The ph_inter_slice_allowed_flag can be signaled only if the current picture is not a GDR picture (1310). For example, if the gdr_pic_flag has a second value (e.g., 0) indicating that the current picture is not a GDR picture, the ph_inter_slice_allowed_flag can be signaled. In contrast, if the gdr_pic_flag has a first value (e.g., 1) indicating that the current picture is a GDR picture, the ph_inter_slice_allowed_flag may not be signaled. When the ph_inter_slice_allowed_flag is not signaled, the value of the ph_inter_slice_allowed_flag can be inferred as the first value (e.g., 1).

[0188] Also, the picture header can include the syntax element ph_intra_slice_allowed_flag. The ph_intra_slice_allowed_flag can indicate whether one or more slices within the current picture can have an intra slice type (e.g., I slice type). For example, a ph_intra_slice_allowed_flag with a first value (e.g., 1) can indicate that there may be one or more encoded slices with an I slice type (i.e., slice_type = 2) within the current picture. In contrast, a ph_intra_slice_allowed_flag with a second value (e.g., 0) can indicate that all encoded slices within the current picture have a B slice type (i.e., slice_type = 0) or a P slice type (i.e., slice_type = 1).

[0189] The ph_intra_slice_allowed_flag can be signaled only if inter-slice is allowed for the current picture (1720). For example, if the ph_inter_slice_allowed_flag has a first value (e.g., 1) indicating that one or more coded slices having B slice type or P slice type may exist within the current picture, the ph_intra_slice_allowed_flag can be signaled. In contrast, if the ph_inter_slice_allowed_flag has a second value (e.g., 0) indicating that all coded slices within the current picture have I slice type, the ph_inter_slice_allowed_flag may not be signaled. If the ph_intra_slice_allowed_flag is not signaled, the value of the ph_intra_slice_allowed_flag can be inferred as the first value (e.g., 1).

[0190] On the other hand, in another embodiment, the ph_intra_slice_allowed_flag can also be signaled only if the current picture is not a GDR picture and inter-slice is allowed for the current picture.

[0191] FIG. 14 is a diagram showing a picture header according to another embodiment of the present disclosure. The picture header of FIG. 14 can have the same structure and semantics as the picture header of FIG. 13 except for the signaling condition of the ph_intra_slice_allowed_flag. Therefore, duplicate descriptions are omitted.

[0192] Referring to FIG. 14, within the picture header, ph_intra_slice_allowed_flag can be signaled only if the current picture is not a GDR picture and inter-slice is allowed for the current picture (1410). For example, if gdr_pic_flag has a second value (e.g., 0) indicating that the current picture is not a GDR picture, and ph_inter_slice_allowed_flag has a first value (e.g., 1) indicating that there may be one or more coded slices with B slice type or P slice type within the current picture, then ph_intra_slice_allowed_flag can be signaled. In contrast, if gdr_pic_flag has a first value (e.g., 1) indicating that the current picture is a GDR picture, or if ph_inter_slice_allowed_flag has a second value (e.g., 0) indicating that all coded slices within the current picture have I slice type, then ph_intra_slice_allowed_flag may not be signaled. When ph_intra_slice_allowed_flag is not signaled, the value of ph_intra_slice_allowed_flag can be inferred as the first value (e.g., 1).

[0193] As described above with reference to FIGS. 13 and 14, ph_inter_slice_allowed_flag can be signaled only if the current picture is not a GDR picture. Thereby, the problem that ph_inter_slice_allowed_flag is unnecessarily signaled for GDR pictures that can include inter-slices due to the attributes of the pictures can be solved.

[0194] Example 7

[0195] According to Example 7 of the present disclosure, in the picture header, the information indicating whether inter-slice is allowed within the current picture can be signaled based on whether the current layer including the current picture can use inter-layer prediction and whether the current picture is an IRAP picture.

[0196] FIG. 15 is a diagram showing a picture header according to an embodiment of the present disclosure.

[0197] Referring to FIG. 15, the picture header may include a syntax element gdr_or_irap_pic_flag indicating whether the current picture is a GDR or IRAP picture, and a syntax element gdr_pic_flag indicating whether the current picture is a GDR picture. The semantics of each of the syntax elements are as described above with reference to FIG. 5.

[0198] In addition, the picture header may include a syntax element ph_inter_slice_allowed_flag indicating whether inter-slice (e.g., B slice or P slice) is allowed for the current picture. The semantics of ph_inter_slice_allowed_flag are as described above with reference to FIG. 13.

[0199] The ph_inter_slice_allowed_flag can be signaled based on a predetermined fourth condition (1510). Specifically, when vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] has a second value (e.g., 0) indicating that the current layer including the current picture can utilize inter-layer prediction, or when gdr_or_irap_pic_flag has a second value (e.g., 0) indicating that the current picture can be an IRAP picture rather than a GDR picture, or when gdr_pic_flag has a first value (e.g., 1) indicating that the current picture is a GDR picture (i.e.,!(vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] && gdr_or_irap_pic_flag &&!gdr_pic_flag)==1), the ph_inter_slice_allowed_flag can be signaled. In contrast, when vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] has a first value (e.g., 1) indicating that the current layer including the current picture does not utilize inter-layer prediction, gdr_or_irap_pic_flag has a first value (e.g., 1) indicating that the current picture is a GDR or IRAP picture, and gdr_pic_flag has a second value (e.g., 0) indicating that the current picture is not a GDR picture (i.e.,!(vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] && gdr_or_irap_pic_flag &&!gdr_pic_flag)==0), the ph_inter_slice_allowed_flag is not signaled and can be inferred to have a second value (e.g., 0) indicating that inter-slice is not allowed for the current picture.That is, in the case of an IRAP picture where the current picture is included in an independent layer that does not use inter-layer prediction, the ph_inter_slice_allowed_flag is not signaled and can be inferred as a second value (e.g., 0) indicating that inter-slice is not allowed for the current picture.

[0200] In other embodiments, when the ph_inter_slice_allowed_flag is not signaled, if the current picture is a GDR picture (i.e., gdr_or_irap_pic_flag == 1 && gdr_pic_flag == 1), the ph_inter_slice_allowed_flag can be inferred as a first value (e.g., 1) indicating that inter-slice is allowed for the current picture. In contrast, if the current picture is not a GDR picture (e.g., if the current picture is an IRAP picture included in an independent layer (i.e., gdr_or_irap_pic_flag == 1 && gdr_pic_flag == 0 && vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] == 1)), the ph_inter_slice_allowed_flag can be inferred as a second value (e.g., 0) indicating that inter-slice is not allowed for the current picture.

[0201] On the one hand, in one embodiment, when gdr_or_irap_pic_flag has a first value (e.g., 1), gdr_pic_flag has a second value (e.g., 0) (i.e., the current picture is an IRAP picture), and vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] has a first value (e.g., 1), the value of ph_inter_slice_allowed_flag can be set to the second value (e.g., 0). Here, vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] with the first value (e.g., 1) can indicate that the layer with index GeneralLayerIdx[nuh_layer_id] does not utilize inter-layer prediction.

[0202] As described above with reference to FIG. 15, when the current picture belongs to an independent layer that does not utilize inter-layer prediction and the current picture is only an IRAP picture (i.e.,!(vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] && gdr_or_irap_pic_flag &&!gdr_pic_flag)==0), ph_inter_slice_allowed_flag may not be signaled. Thereby, the problem that ph_inter_slice_allowed_flag is unnecessarily signaled for an IRAP picture that can only contain intra-slices due to the attributes of the picture can be solved.

[0203] Example 8

[0204] According to Embodiment 8 of the present disclosure, in the picture header, the information indicating whether inter-slice is allowed within the current picture can be signaled based on whether the current picture is a GDR picture, whether the current layer containing the current picture can utilize inter-layer prediction, and whether the current picture is an IRAP picture.

[0205] FIG. 16 is a diagram showing a picture header according to an embodiment of the present disclosure.

[0206] Referring to FIG. 16, the picture header can include a syntax element gdr_or_irap_pic_flag indicating whether the current picture is a GDR or IRAP picture, and a syntax element gdr_pic_flag indicating whether the current picture is a GDR picture. The semantics of each of the syntax elements are as described above with reference to FIG. 5.

[0207] Also, the picture header can include a syntax element ph_inter_slice_allowed_flag indicating whether inter-slice (e.g., B slice or P slice) is allowed for the current picture. The semantics of ph_inter_slice_allowed_flag are as described above with reference to FIG. 13.

[0208] The ph_inter_slice_allowed_flag can be signaled based on a predetermined fifth condition (1610). At this time, the fifth condition can be composed of a fifth-1 condition and a fifth-2 condition. Specifically, the fifth-1 condition can mean that when the gdr_pic_flag has a second value (for example, 0) indicating that the current picture is not a GDR picture (that is,!(gdr_pic_flag)==1). Also, the fifth-2 condition is whether vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] has a second value (for example, 0) indicating that the current layer including the current picture can use inter-layer prediction, or whether the gdr_or_irap_pic_flag has a second value (for example, 0) indicating that the current picture can be an IRAP picture rather than a GDR picture, or whether the gdr_pic_flag has a first value (for example, 1) indicating that the current picture is a GDR picture (that is,!(vps_independent_layer_flag[GeneralLayerIdex[nuh_layer_id]] && gdr_or_irap_pic_flag &&!gdr_pic_flag)==1). When both the fifth-1 condition and the fifth-2 condition are true, the ph_inter_slice_allowed_flag can be signaled. In contrast, when at least one of the fifth-1 condition and the fifth-2 condition is false, the ph_inter_slice_allowed_flag is not signaled and can be inferred as a second value (for example, 0) indicating that inter-slice is not allowed for the current picture. That is, when the current picture is a GDR picture or an IRAP picture included in an independent layer that does not use inter-layer prediction, the ph_inter_slice_allowed_flag is not signaled and can be inferred as a second value (for example, 0) indicating that inter-slice is not allowed for the current picture.

[0209] In another embodiment, when ph_inter_slice_allowed_flag is not signaled, if the current picture is a GDR picture (i.e., gdr_or_irap_pic_flag == 1 && gdr_pic_flag == 1), ph_inter_slice_allowed_flag can be inferred as a first value (e.g., 1) indicating that inter-slice is allowed for the current picture. In contrast, if the current picture is not a GDR picture (e.g., if the current picture is an IRAP picture included in an independent layer (i.e., gdr_or_irap_pic_flag == 1 && gdr_pic_flag == 0 && vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] == 1)), ph_inter_slice_allowed_flag can be inferred as a second value (e.g., 0) indicating that inter-slice is not allowed for the current picture.

[0210] On the other hand, in one embodiment, when gdr_or_irap_pic_flag has a first value (e.g., 1), gdr_pic_flag has a second value (e.g., 0) (i.e., the current picture is an IRAP picture), and vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] has a first value (e.g., 1), the value of ph_inter_slice_allowed_flag can be set to the second value (e.g., 0). Here, vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]] with the first value (e.g., 1) can indicate that the layer with index GeneralLayerIdx[nuh_layer_id] does not utilize inter-layer prediction.

[0211] As described above with reference to FIG. 16, whether the current picture is a GDR picture (i.e.,!(gdr_pic_flag)==0), or the current picture belongs to an independent layer that does not use inter-layer prediction and the current picture is only an IRAP picture (i.e.,!(vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]] && gdr_or_irap_pic_flag &&!gdr_pic_flag)==0), the ph_inter_slice_allowed_flag may not be signaled. Accordingly, due to the attributes of the picture, the problem that the ph_inter_slice_allowed_flag is unnecessarily signaled for a GDR picture that can include an inter-slice and an IRAP picture that can only include an intra-slice can be solved.

[0212] Hereinafter, with reference to FIGS. 17 and 18, an image encoding / decoding method according to an embodiment of the present disclosure will be described in detail.

[0213] FIG. 17 is a flowchart showing an image encoding method according to an embodiment of the present disclosure. The image encoding method of FIG. 17 can be performed by the image encoding apparatus of FIG. 2.

[0214] Referring to FIG. 17, the image encoding apparatus can encode first information regarding whether an inter-slice type is allowed for a current picture including a current block (S1710). The first information can be, for example, the ph_inter_slice_allowed_flag described above with reference to FIGS. 7 to 16. In one example, the first information can be determined based on the slice type of the slices in the current picture. For example, when one or more slices in the current picture have a B slice type or a P slice type, the first information can have a first value (e.g., 1) indicating that the inter-slice type is allowed for the current picture. In contrast, when all slices in the current picture have an I slice type, the first information can have a second value (e.g., 0) indicating that the inter-slice type is not allowed for the current picture.

[0215] In one embodiment, whether the inter-slice type is allowed for the current picture can be determined based on the picture type of the current picture and whether the current layer including the current picture can use inter-layer prediction. For example, when the current picture has the same picture type as an IRAP (Intra Random Access Point) picture and the current layer including the current picture does not use inter-layer prediction, the inter-slice type for the current picture can be not allowed. Or, when the current picture has the same picture type as a GDR (Gradual Decoding Refresh) picture, the inter-slice type for the current picture can be allowed. And in this case, the encoding of the first information can be skipped.

[0216] Information regarding the picture type of the current picture can be encoded within the picture header. The information regarding the picture type of the current picture can include third information regarding whether the current picture has the same picture type as a GDR (Gradual Decoding Refresh) or IRAP (Intra Random Access Point) picture, and fourth information regarding whether the current picture has the same picture type as a GDR picture. The third information and the fourth information can be, for example, the gdr_or_irap_pic_flag and gdr_pic_flag described above with reference to FIGS. 7 to 16. When the current picture has the same picture type as an IRAP picture, the third information can have a first value (e.g., 1) indicating that the current picture has the same picture type as a GDR or IRAP picture. Also, the fourth information can have a second value (e.g., 0) indicating that the current picture has a picture type different from that of a GDR picture.

[0217] On the other hand, fifth information (e.g., vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]) regarding whether the current layer can utilize inter-layer prediction (i.e., whether the current layer is an independent layer in a multi-layer structure) can be encoded within the video parameter set. When the fifth information has a first value (e.g., 1), the current layer cannot utilize inter-layer prediction. In contrast, when the fifth information has a second value (e.g., 0), the current layer can utilize inter-layer prediction.

[0218] Based on the current picture being allowed an inter-slice type, the image encoding device can encode second information regarding whether an intra-slice type is allowed for the current picture (S1720). The second information can be, for example, the ph_intra_slice_allowed_flag described above with reference to FIGS. 7 to 16. Similar to the first information, the second information can be determined based on the slice type of the slices in the current picture. For example, when one or more slices in the current picture have an I slice type, the second information can have a first value (e.g., 1) indicating that the intra-slice type is allowed for the current picture. In contrast, when all slices in the current picture have a B slice type or a P slice type, the second information can have a second value (e.g., 0) indicating that the intra-slice type is not allowed for the current picture. The second information can be encoded / signaled together with the first information in the picture header. On the other hand, in the present disclosure, the first information and the second information may also be referred to as available slice type information.

[0219] FIG. 18 is a flowchart showing an image decoding method according to an embodiment of the present disclosure. The image decoding method of FIG. 18 can be performed by the image decoding device of FIG. 3.

[0220] Referring to FIG. 18, the image decoding device can determine whether an inter-slice type is allowed for the current picture including the current block (S1810).

[0221] Whether an inter-slice type is allowed for the current picture can be determined based on first information (e.g., ph_inter_slice_allowed_flag) obtained from the picture header. For example, when the first information has a first value (e.g., 1), the inter-slice type can be allowed for the current picture. In contrast, when the second information has a second value (e.g., 0), the inter-slice type may not be allowed for the current picture.

[0222] In one embodiment, whether an inter-slice type is allowed for the current picture can be determined based on the picture type of the current picture and whether the current layer including the current picture can use inter-layer prediction. For example, based on the current picture having the same picture type as an IRAP (Intra Random Access Point) picture and the current layer not using inter-layer prediction, the inter-slice type may not be allowed for the current picture. Or, when the current picture has the same picture type as a GDR (Gradual Decoding Refresh) picture, the inter-slice type can be allowed for the current picture. And in this case, the parsing of the first information can be skipped.

[0223] The picture type of the current picture can be determined based on third information regarding whether the current picture has the same picture type as a GDR (Gradual Decoding Refresh) or IRAP (Intra Random Access Point) picture, and fourth information regarding whether the current picture has the same picture type as a GDR picture. The third information and the fourth information can be, for example, the gdr_or_irap_pic_flag and gdr_pic_flag described above with reference to FIGS. 7 to 16. When the third information indicates that the current picture has the same picture type as a GDR or IRAP picture, and the fourth information indicates that the current picture has a picture type different from that of a GDR picture, the picture type of the current picture can be determined to be the same picture type as an IRAP picture.

[0224] On the other hand, whether the current layer can use inter-layer prediction (i.e., whether the current layer is an independent layer in a multi-layer structure) can be determined based on fifth information obtained from a video parameter set. For example, when the fifth information has a first value (e.g., 1), the current layer cannot use inter-layer prediction. In contrast, when the fifth information has a second value (e.g., 0), the current layer can use inter-layer prediction.

[0225] Based on whether an inter-slice type is allowed for the current picture, the image decoding device can determine whether an intra-slice type is allowed for the current picture (S1820).

[0226] Whether an intra-slice type is allowed for the current picture can be determined based on second information (e.g., ph_intra_slice_allowed_flag) obtained from the picture header. For example, when the second information has a first value (e.g., 1), the intra-slice type can be allowed for the current picture. In contrast, when the second information has a second value (e.g., 0), the intra-slice type may not be allowed for the current picture. On the other hand, in the present disclosure, the first information and the second information may also be referred to as available slice type information.

[0227] Then, the image decoding device can decode the current block based on the slice type allowed for the current picture (S1830). For example, the image decoding device can determine the slice type of the slice in the current picture based on the slice type allowed for the current picture. When the current block is included in a slice having an inter-slice type, the image decoding device can decode the current block by performing inter prediction. In contrast, when the current block is included in a slice having an intra-slice type, the image decoding device can decode the current block by performing intra prediction.

[0228] According to the image encoding / decoding method according to an embodiment of the present disclosure, when the current picture belongs to an independent layer that does not use inter-layer prediction and the current picture is only an IRAP picture, the inter-slice type may not be allowed for the current picture. Thereby, in the encoding stage, it is not necessary to signal information (for example, ph_inter_slice_allowed_flag) indicating whether the inter-slice type is allowed for the current picture, so the signaling overhead can be reduced and the encoding efficiency can be improved. Also, in the decoding stage, it is not necessary to parse information (for example, ph_inter_slice_allowed_flag) indicating whether the inter-slice type is allowed for the current picture, so the computational complexity can be reduced and the decoding efficiency can be improved.

[0229] The names of the syntax elements described in the present disclosure can include information regarding the position where the syntax element is signaled. For example, a syntax element starting with "sps_" can mean that the syntax element is signaled in the sequence parameter set (SPS). Further, syntax elements starting with "pps_", "ph_", "sh_", etc. can mean that the syntax element is signaled in the picture parameter set (PPS), picture header, slice header, etc., respectively.

[0230] The exemplary method of the present disclosure is presented in a series of operations for clarity of explanation, but this is not for limiting the order in which the steps are performed, and if necessary, each step can also be performed simultaneously or in a different order. To implement the method according to the present disclosure, it can also include additional other steps in the exemplary steps, or include the remaining steps excluding some steps, or include additional other steps excluding some steps.

[0231] In the present disclosure, an image encoding device or an image decoding device that performs a predetermined operation (step) can perform an operation (step) of checking the execution conditions and situations of the operation (step). For example, when it is described that a predetermined operation is performed when a predetermined condition is satisfied, the image encoding device or the image decoding device can perform the predetermined operation after performing an operation of checking whether the predetermined condition is satisfied.

[0232] The various embodiments of the present disclosure do not list all possible combinations, but are for explaining representative aspects of the present disclosure. The matters described in the various embodiments may be applied independently or in combination of two or more.

[0233] Also, the various embodiments of the present disclosure can be realized by hardware, firmware, software, or a combination thereof. In the case of realization by hardware, it can be realized by one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), general processors, controllers, microcontrollers, microprocessors, etc.

[0234] In addition, the image decoding apparatus and the image encoding apparatus to which the embodiments of the present disclosure are applied can be included in a multimedia broadcast transmission / reception apparatus, a mobile communication terminal, a home cinema video apparatus, a digital cinema video apparatus, a surveillance camera, a video conversation apparatus, a real-time communication apparatus such as video communication, a mobile streaming apparatus, a storage medium, a camcorder, an on-demand video (VoD) service providing apparatus, an over-the-top video (OTT) apparatus, an Internet streaming service providing apparatus, a three-dimensional (3D) video apparatus, an image phone video apparatus, and a medical video apparatus, etc., and can be used to process video signals or data signals. For example, as the over-the-top video (OTT) apparatus, a game console, a Blu-ray player, an Internet-connected TV, a home theater system, a smartphone, a tablet PC, a digital video recorder (DVR), etc. can be included.

[0235] FIG. 19 is a diagram illustrating a content streaming system to which an embodiment of the present disclosure can be applied.

[0236] As shown in FIG. 19, the content streaming system to which the embodiments of the present disclosure are applied can generally include an encoding server, a streaming server, a Web server, a media storage, a user device, and a multimedia input device.

[0237] The encoding server compresses the content input from a multimedia input device such as a smartphone, a camera, or a camcorder into digital data to generate a bitstream, and plays a role of transmitting this to the streaming server. As another example, when a multimedia input device such as a smartphone, a camera, or a video camera directly generates a bitstream, the encoding server can be omitted.

[0238] The bitstream can be generated by an image encoding method and / or an image encoding apparatus to which the embodiments of the present disclosure are applied, and the streaming server can temporarily store the bitstream in the process of transmitting or receiving the bitstream.

[0239] The streaming server transmits multimedia data to a user device based on a user request via a Web server, and the Web server can serve as a medium for notifying the user of available services. When the user requests a desired service from the Web server, the Web server transmits this to the streaming server, and the streaming server can transmit multimedia data to the user. At this time, the content streaming system can include a separate control server, and in this case, the control server can control commands / responses between each device in the content streaming system.

[0240] The streaming server can receive content from a media storage and / or an encoding server. For example, when receiving content from the encoding server, the content can be received in real time. In this case, in order to provide a smooth streaming service, the streaming server can store the bitstream for a certain period of time.

[0241] Examples of the user device may include a mobile phone, a smart phone, a laptop computer, a digital broadcast terminal, a PDA (personal digital assistants), a PMP (portable multimedia player), a navigation device, a slate PC, a tablet PC, an ultrabook, a wearable device, for example, a smartwatch, smart glass, an HMD (head mounted display), a digital TV, a desktop computer, a digital signage, and the like.

[0242] Each server in the content streaming system can be operated as a distributed server, and in this case, the data received from each server can be distributedly processed.

[0243] The scope of the present disclosure includes software or machine-executable commands (for example, an operating system, an application, firmware, a program, etc.) that enable operations according to the methods of various embodiments to be executed on a device or a computer, and a non-transitory computer-readable medium on which such software or commands are stored and can be executed on a device or a computer.

Industrial Applicability

[0244] Examples according to the present disclosure can be used for encoding / decoding images.

Claims

Claim 1 An image decoding method performed by an image decoding apparatus, the image decoding method comprising: determining whether an inter-slice type is allowed for a current picture including a current block; determining whether an intra-slice type is allowed for the current picture based on the inter-slice type being allowed for the current picture; decoding the current block based on the slice type allowed for the current picture, wherein whether the inter-slice type is allowed for the current picture is determined based on a picture type of the current picture and whether the current layer including the current picture is an independent layer that is decoded without referring to other layers; wherein the picture type of the current picture is determined based on third information regarding whether the picture type of the current picture is a GDR (Gradual Decoding Refresh) or IRAP (Intra Random Access Point) picture, and fourth information regarding whether the picture type of the current picture is the GDR picture; wherein the fourth information is obtained based on the third information indicating that the picture type of the current picture is the GDR or IRAP picture. An image decoding method. Claim 2 The image decoding method according to claim 1, wherein whether the inter-slice type is allowed for the current picture is determined based on first information obtained from a picture header, and whether the intra-slice type is allowed for the current picture is determined based on second information obtained from the picture header. Claim 3 The image decoding method according to claim 1, wherein the inter-slice type is not allowed for the current picture based on the picture type of the current picture being the IRAP (Intra Random Access Point) and the current layer being the independent layer. Claim 4 The method for decoding an image according to claim 1, wherein the third information indicates that the picture type of the current picture is the GDR or IRAP picture, and the fourth information indicates that the picture type of the current picture is different from the GDR picture, based on which, the picture type of the current picture is determined to be the IRAP picture.

5. The method for decoding an image according to claim 1, wherein whether the current layer is the independent layer is determined based on fifth information obtained from a video parameter set.

6. An image encoding method performed by an image encoding apparatus, the image encoding method comprising: encoding first information regarding whether an inter-slice type is allowed for a current picture including a current block; encoding second information regarding whether an intra-slice type is allowed for the current picture based on the inter-slice type being allowed for the current picture; whether the inter-slice type is allowed for the current picture is determined based on the picture type of the current picture and whether the current layer including the current picture is an independent layer that is decoded without referring to other layers; the information regarding the picture type of the current picture includes third information regarding whether the picture type of the current picture is a GDR (Gradual Decoding Refresh) or IRAP (Intra Random Access Point) picture, and fourth information regarding whether the picture type of the current picture is the GDR picture; the fourth information is included in the information regarding the picture type of the current picture based on the picture type of the current picture being the GDR or IRAP picture, the image encoding method.

7. The image encoding method according to claim 6, wherein the inter-slice type is not allowed for the current picture based on the picture type of the current picture being an IRAP (Intra Random Access Point) picture and the current layer being the independent layer.

8. The image encoding method according to claim 6, wherein, based on the picture type of the current picture being a GDR (Gradual Decoding Refresh) picture, the inter-slice type is allowed for the current picture, and the encoding of the first information is skipped.

9. The image encoding method according to claim 6, wherein information regarding the picture type of the current picture is encoded in a picture header.

10. Based on the picture type of the current picture being the IRAP picture, the third information has a first value indicating that the picture type of the current picture is the GDR or IRAP picture, and the fourth information has a second value indicating that the picture type of the current picture is different from the GDR picture. The image encoding method according to claim 6.

11. The image encoding method according to claim 7, wherein fifth information regarding whether the current layer is the independent layer is encoded in a video parameter set.

12. A method for transmitting a bitstream, comprising: encoding first information regarding whether an inter-slice type is allowed for a current picture including a current block; encoding second information regarding whether an intra-slice type is allowed for the current picture based on the inter-slice type being allowed for the current picture; generating the bitstream including the encoded first information and the encoded second information; transmitting data including the bitstream, wherein whether the inter-slice type is allowed for the current picture is determined based on the picture type of the current picture and whether the current layer including the current picture is an independent layer that can be decoded without referring to other layers, wherein information regarding the picture type of the current picture includes third information regarding whether the picture type of the current picture is a GDR (Gradual Decoding Refresh) or IRAP (Intra Random Access Point) picture, and fourth information regarding whether the picture type of the current picture is the GDR picture. The fourth information is a method included in information about the picture type of the current picture based on the fact that the picture type of the current picture is the GDR or IRAP picture.

Citation Information

Patent Citations

  • Image encoding / decoding method and device based on available slice type information for GDR or IRPA pictures, and recording medium for storing bitstreams

    JP7665834B2