Method and apparatus for encoding / decoding an image by signaling GCI, and computer readable recording medium storing a bitstream

CN115699762BActive Publication Date: 2026-08-18LG ELECTRONICS INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180036646.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-05-22
Filing Date
2021-05-20
Publication Date
2026-08-18
Estimated Expiration
2041-05-20

AI Technical Summary

Technical Problem

传输信息量或比特量的增加导致传输成本和存储成本的增加

Benefits of technology

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

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115699762B_ABST
    Figure CN115699762B_ABST
Patent Text Reader

Abstract

Methods and apparatuses for signaling GCI for encoding / decoding an image and a method of transmitting a bitstream are provided. A method for decoding an image according to the disclosure can include the steps of obtaining first information indicating whether to restrict the application of a predetermined coding tool, obtaining second information indicating whether to apply the predetermined coding tool, and reconstructing a current picture based on the second information, wherein the value of the second information is determined based on the value of the first information, and the predetermined coding tool can include at least one of explicit signaling of a scaling list related to a transform coefficient, weighted prediction, or non-activation of in-loop filtering in a virtual boundary.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to image encoding / decoding methods and apparatus, and more specifically, to image encoding / decoding methods and apparatus, and to a computer-readable recording medium storing a bitstream generated by the image encoding methods / apparatus of this disclosure. Background Technology

[0002] Recently, there has been an increasing demand across various fields for high-resolution and high-quality images, such as high-definition (HD) and ultra-high-definition (UHD) images. With the increase in image data resolution and quality, the amount of information or bits transmitted increases relative to existing image data. This increase in the amount of information or bits transmitted leads to increased transmission and storage costs.

[0003] Therefore, efficient image compression techniques are needed to effectively transmit, store, and reproduce information about high-resolution and high-quality images. Summary of the Invention

[0004] Technical issues

[0005] The purpose of this disclosure is to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.

[0006] Another object of this disclosure is to provide an image encoding / decoding method and apparatus for improving encoding / decoding efficiency by signaling general constraint information (GCI).

[0007] Another object of this disclosure is to provide a method for transmitting a bitstream generated by an image encoding method or device according to this disclosure.

[0008] Another object of this disclosure is to provide a recording medium for storing bitstreams generated by an image encoding method or apparatus according to this disclosure.

[0009] Another object of this disclosure is to provide a recording medium that stores a bitstream received, decoded and used to reconstruct an image by an image decoding device according to this disclosure.

[0010] The technical problems solved by this disclosure are not limited to those described above. Other technical problems not described herein will become clear to those skilled in the art through the following description.

[0011] Technical solution

[0012] An image decoding method performed by an image decoding device according to one aspect of this disclosure may include the steps of: obtaining first information specifying whether to constrain the application of a predetermined encoding tool, obtaining second information specifying whether to apply the predetermined encoding tool, and reconstructing the current image based on the second information. The value of the second information may be determined based on the value of the first information, and the predetermined encoding tool may include at least one of weighted prediction, explicit signaling for a scaling list of transform coefficients, or disabling in-loop filtering at virtual boundaries.

[0013] In the image decoding method disclosed herein, the application is constrained based on the first information, and the second information may have a value that specifies that a predetermined encoding tool is not applied.

[0014] In the image decoding method disclosed herein, first information can be obtained from a syntax structure used to signal general constraint information.

[0015] In the image decoding method disclosed herein, second information can be obtained from the sequence parameter set (SPS).

[0016] An image decoding apparatus according to another aspect of this disclosure may include a memory and at least one processor. The at least one processor may obtain first information specifying whether to constrain the application of a predetermined encoding tool, obtain second information specifying whether to apply the predetermined encoding tool, and reconstruct the current image based on the second information. The value of the second information may be determined based on the value of the first information, and the predetermined encoding tool may include at least one of weighted prediction, explicit signaling for a scaling list of transform coefficients, or disabling in-loop filtering at virtual boundaries.

[0017] An image encoding method performed by an image encoding apparatus according to another aspect of this disclosure may include: encoding first information specifying whether to constrain the application of a predetermined encoding tool; encoding second information specifying whether to apply the predetermined encoding tool; and encoding the current frame in the current video sequence based on the second information. The value of the second information may be determined based on the value of the first information, and the predetermined encoding tool may include at least one of weighted prediction, explicit signaling for a scaling list of transform coefficients, or disabling in-loop filtering at virtual boundaries.

[0018] In the image encoding method disclosed herein, the application is constrained based on the first information, and the second information may have a value that specifies that a predetermined encoding tool is not applied.

[0019] In the image encoding method disclosed herein, the first information can be encoded in a syntax structure used to signal general constraint information.

[0020] In the image encoding method disclosed herein, the second information can be encoded in a sequence parameter set (SPS).

[0021] According to another aspect of the transmission method of this disclosure, a bit stream generated by the image encoding device or image encoding method of this disclosure can be transmitted.

[0022] According to another aspect of this disclosure, a computer-readable recording medium may store a bitstream generated by the image encoding device or image encoding method of this disclosure.

[0023] The features described above in this brief overview are merely exemplary aspects of the following detailed description of this disclosure and do not limit the scope of this disclosure.

[0024] Beneficial effects

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

[0026] Furthermore, according to this disclosure, an image encoding / decoding method and apparatus can be provided for improving encoding / decoding efficiency by signaling general constraint information (GCI).

[0027] Furthermore, according to this disclosure, a method for transmitting a bitstream generated by an image encoding method or device according to this disclosure can be provided.

[0028] Furthermore, according to this disclosure, it is possible to provide a recording medium for storing a bitstream generated by an image encoding method or apparatus according to this disclosure.

[0029] Furthermore, according to this disclosure, a recording medium can be provided that stores a bitstream received, decoded, and used to reconstruct an image by an image decoding device according to this disclosure.

[0030] Those skilled in the art will understand that the effects achievable through this disclosure are not limited to those specifically described above, and that other advantages of this disclosure will become clearer from the detailed description. Attached Figure Description

[0031] Figure 1 This is a view schematically illustrating a video encoding system to which embodiments of this disclosure are applicable.

[0032] Figure 2 This is a schematic view illustrating an image encoding device to which embodiments of the present disclosure are applicable.

[0033] Figure 3 This is a schematic view illustrating an image decoding device to which embodiments of the present disclosure are applicable.

[0034] Figure 4 This is a flowchart illustrating an example of a schematic screen decoding process to which embodiments of this disclosure are applicable.

[0035] Figure 5 This is a flowchart illustrating an example of a schematic screen encoding process to which embodiments of this disclosure are applicable.

[0036] Figure 6 This is a view that illustrates examples of syntax structures used to signal general constraint information.

[0037] Figure 7 This is a view showing an example of a syntax structure used to indicate whether to constrain weighted predictions by signaling information as general constraint information.

[0038] Figure 8 This is an example reference. Figure 7 A diagram illustrating the operation of the image encoding device according to the described implementation.

[0039] Figure 9 This is an example reference. Figure 7 A diagram illustrating the operation of the image decoding device according to the described embodiments.

[0040] Figure 10 This is a view illustrating an example of the syntax structure of this disclosure for using signals to notify information of explicit signaling specifying whether a scaling list is constrained, as general constraint information.

[0041] Figure 11 This is an example reference. Figure 10 A diagram illustrating the operation of the image encoding device according to the described implementation.

[0042] Figure 12 This is an example reference. Figure 10 A diagram illustrating the operation of the image decoding device according to the described embodiments.

[0043] Figure 13 This is a view illustrating an example of a syntax structure used to signal information that specifies whether filtering within a loop at a virtual boundary is disabled, as general constraint information of this disclosure.

[0044] Figure 14 This is an example reference. Figure 13 A diagram illustrating the operation of the image encoding device according to the described implementation.

[0045] Figure 15 This is an example reference. Figure 13 A diagram illustrating the operation of the image decoding device according to the described embodiments.

[0046] Figure 16 This is a view illustrating an example of the syntax structure of this disclosure for specifying whether to constrain entropy-encoded synchronization information as general constraint information using signal notification.

[0047] Figure 17This is a view illustrating an example of the syntax structure of this disclosure for specifying whether to restrict the use of a Long-Term Reference Screen (LTRP) as general constraint information using signal notification.

[0048] Figure 18 This is a view illustrating the content streaming system to which embodiments of this disclosure are applicable. Detailed Implementation

[0049] In the following, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings to facilitate implementation by those skilled in the art. However, the present disclosure can be implemented in various different forms and is not limited to the embodiments described herein.

[0050] In describing this disclosure, detailed descriptions of relevant known functions or constructions will be omitted if they unnecessarily obscure the scope of this disclosure. In the accompanying drawings, portions irrelevant to the description of this disclosure are omitted, and similar reference numerals are assigned to similar portions.

[0051] In this disclosure, when a component is "connected," "linked," or "coupled" to another component, it may include not only direct connections but also indirect connections where intermediate components exist. Furthermore, when a component "comprises" or "has" other components, unless otherwise stated, it means that other components may be included, not excluded.

[0052] In this disclosure, the terms first, second, etc., are used only for the purpose of distinguishing one component from other components and do not limit the order or importance of the components, unless otherwise stated. Accordingly, within the scope of this disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly, a second component in one embodiment may be referred to as a first component in another embodiment.

[0053] In this disclosure, the components are distinguished from each other to clearly describe each feature, but this does not mean that the components must be separate. That is, multiple components may be integrated into a single hardware or software unit, or a single component may be distributed and implemented across multiple hardware or software units. Therefore, unless otherwise specified, implementations of these integrated or distributed components are included within the scope of this disclosure.

[0054] In this disclosure, the components described in the various embodiments are not necessarily essential components, and some components may be optional. Therefore, embodiments consisting of a subset of the components described in the embodiments are also included within the scope of this disclosure. Furthermore, embodiments that include other components besides those described in the various embodiments are also included within the scope of this disclosure.

[0055] This disclosure relates to the encoding and decoding of images. Unless redefined in this disclosure, the terms used herein may have the general meaning commonly used in the art to which this disclosure pertains.

[0056] In this disclosure, a "picture" generally refers to a unit representing an image within a specific time period, while a slice / tile is a coding unit that constitutes part of a picture. A picture can be composed of one or more slices / tiles. Furthermore, a slice / tile may include one or more coding tree units (CTUs).

[0057] In this disclosure, "pixel" or "pixel" can refer to the smallest unit that constitutes a frame (or image). Furthermore, "sample" can be used as a term corresponding to a pixel. A sample can generally represent a pixel or a pixel value, or it can represent only the pixel / pixel value of the luminance component or only the pixel / pixel value of the chrominance component.

[0058] In this disclosure, "unit" can refer to a basic unit of image processing. A unit may include at least one of a specific region of a picture and information associated with that region. In some cases, the term "unit" may be used interchangeably with terms such as "sample array," "block," or "region." Generally, an M×N block may include a set (or array) of samples (or transform coefficients) with M columns and N rows.

[0059] In this disclosure, "current block" can mean one of "current coding block," "current coding unit," "coding target block," "decoding target block," or "processing target block." When performing prediction, "current block" can mean "current prediction block" or "prediction target block." When performing transform (inverse transform) / quantization (dequantization), "current block" can mean "current transform block" or "transform target block." When performing filtering, "current block" can mean "filter target block."

[0060] Furthermore, in this disclosure, unless explicitly stated as a chroma block, "current block" may mean a block that includes both luma component blocks and chroma component blocks, or "the luma block of the current block." "The luma block of the current block" can be represented by an explicit description including luma component blocks such as "luma block" or "current luma block." Similarly, "the chroma block of the current block" can be represented by an explicit description including chroma component blocks such as "chroma block" or "current chroma block."

[0061] In this disclosure, "A or B" can mean "A only", "B only", or "both A and B". In other words, in this disclosure, "A or B" can be interpreted as "A and / or B". For example, in this disclosure, "A, B or C" can mean "A only", "B only", "C only", or "any combination of A, B and C".

[0062] The forward slash ( / ) or comma used in this disclosure may indicate "and / or". For example, "A / B" may mean "A and / or B". Thus, "A / B" may mean "A only", "B only", or "both A and B". For example, "A, B, C" may mean "A, B or C".

[0063] In this disclosure, "at least one of A and B" may mean "only A", "only B" or "both A and B". Furthermore, in this disclosure, "at least one of A or B" or "at least one of A and / or B" may be interpreted as the same as "at least one of A and B".

[0064] Furthermore, in this disclosure, "at least one of A, B, and C" may mean "only A," "only B," "only C," or "any combination of A, B, and C." Additionally, in this disclosure, "at least one of A, B, or C" or "at least one of A, B, and / or C" may be interpreted as the same as "at least one of A, B, and C."

[0065] Furthermore, the parentheses used in this disclosure may mean "for example". Specifically, when describing "prediction (intra-frame prediction)", "intra-frame prediction" may be cited as an example of "prediction". In other words, the "prediction" in this disclosure is not limited to "intra-frame prediction", and "intra-frame prediction" may be cited as an example of "prediction". In addition, even when describing "prediction (i.e., intra-frame prediction)", "intra-frame prediction" may be cited as an example of "prediction".

[0066] In this disclosure, the technical features described individually in a single figure may be implemented individually or simultaneously.

[0067] Overview of Video Encoding Systems

[0068] Figure 1 This is a view showing a video encoding system according to this disclosure.

[0069] The video encoding system according to the embodiment may include an encoding device 10 and a decoding device 20. The encoding device 10 may deliver encoded video and / or image information or data to the decoding device 20 in the form of a file or stream via a digital storage medium or network.

[0070] The encoding device 10 according to an embodiment may include a video source generator 11, an encoding unit 12, and a transmitter 13. The decoding device 20 according to an embodiment may include a receiver 21, a decoding unit 22, and a renderer 23. The encoding unit 12 may be referred to as a video / image encoding unit, and the decoding unit 22 may be referred to as a video / image decoding unit. The transmitter 13 may be included in the encoding unit 12. The receiver 21 may be included in the decoding unit 22. The renderer 23 may include a display, and the display may be configured as a separate device or an external component.

[0071] The video source generator 11 can acquire video / images through a process of capturing, compositing, or generating video / images. The video source generator 11 may include a video / image capture device and / or a video / image generation device. The video / image capture device may include, for example, one or more cameras, a video / image archive including previously captured video / images, etc. The video / image generation device may include, for example, a computer, tablet computer, and smartphone, and can generate video / images (electronically). For example, virtual video / images can be generated by a computer, etc. In this case, the video / image capture process can be replaced by a process of generating related data.

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

[0073] Transmitter 13 can transmit encoded video / image information or data, output in bitstream form, to receiver 21 of decoding device 20 in the form of a file or stream via digital storage medium or network. Digital storage medium can include various storage media, such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. Transmitter 13 can include elements for generating media files according to a predetermined file format and may include elements for transmission via broadcast / communication networks. Receiver 21 can extract / receive bitstreams from storage medium or network and transmit the bitstreams to decoding unit 22.

[0074] The decoding unit 22 can decode video / images by performing a series of processes corresponding to the operations of the encoding unit 12, such as dequantization, inverse transform, and prediction.

[0075] Renderer 23 can render decoded video / images. The rendered video / images can be displayed on a monitor.

[0076] Overview of Image Encoding Devices

[0077] Figure 2This is a view illustrating an image encoding device to which embodiments of this disclosure are applicable.

[0078] like Figure 2 As shown, the image encoding device 100 may include an image segmenter 110, a subtractor 115, a transformer 120, a quantizer 130, a dequantizer 140, an inverse transformer 150, an adder 155, a filter 160, a memory 170, an inter-frame prediction unit 180, an intra-frame prediction unit 185, and an entropy encoder 190. The inter-frame prediction unit 180 and the intra-frame prediction unit 185 may be collectively referred to as "prediction units". The transformer 120, quantizer 130, dequantizer 140, and inverse transformer 150 may be included in a residual processor. The residual processor may also include a subtractor 115.

[0079] In some implementations, all or at least some of the components configuring the image encoding device 100 may be configured by a single hardware component (e.g., an encoder or a processor). Furthermore, the memory 170 may include a decoded screen buffer (DPB) and may be configured by a digital storage medium.

[0080] Image segmenter 110 can segment an input image (or picture or frame) input to image encoding device 100 into one or more processing units. For example, a processing unit may be called an encoding unit (CU). Encoding units can be obtained by recursively segmenting encoding tree units (CTUs) or maximum encoding units (LCUs) according to a quadtree / binary tree / tritree (QT / BT / TT) structure. For example, an encoding unit can be segmented into multiple encoding units of greater depth based on a quadtree structure, a binary tree structure, and / or a ternary tree structure. For the segmentation of encoding units, a quadtree structure can be applied first, followed by a binary tree structure and / or a ternary tree structure. The encoding process according to this disclosure can be performed based on the final encoding unit that is no longer segmented. The maximum encoding unit can be used as the final encoding unit, or a deeper encoding unit obtained by segmenting the maximum encoding unit can be used as the final encoding unit. Here, the encoding process may include prediction, transformation, and reconstruction processes, which will be described later. As another example, the processing unit of the encoding process may be a prediction unit (PU) or a transformation unit (TU). Prediction units and transform units can be partitioned or segmented from the final coding unit. Prediction units can be sample prediction units, and transform units can be units used to derive transform coefficients and / or units used to derive residual signals from transform coefficients.

[0081] The prediction unit (inter-frame prediction unit 180 or intra-frame prediction unit 185) can perform prediction on the block to be processed (the current block) and generate a prediction block that includes prediction samples of the current block. The prediction unit can determine whether to apply intra-frame prediction or inter-frame prediction based on the current block or CU. The prediction unit can generate various information related to the prediction of the current block and transmit the generated information to the entropy encoder 190. The information about the prediction can be encoded in the entropy encoder 190 and output as a bitstream.

[0082] Intra-prediction unit 185 can predict the current block by referencing samples in the current frame. Depending on the intra-prediction mode and / or intra-prediction technique, the reference samples may be located among the neighbors of the current block or may be placed separately. Intra-prediction modes may include multiple non-directional modes and multiple directional modes. Non-directional modes may include, for example, DC mode and planar mode. Depending on the level of detail in the prediction direction, directional modes may include, for example, 33 or 65 directional prediction modes. However, this is merely an example, and more or fewer directional prediction modes may be used depending on the settings. Intra-prediction unit 185 can determine the prediction mode to be applied to the current block by using prediction modes applied to neighboring blocks.

[0083] The inter-frame prediction unit 180 can deduce the prediction block of the current block based on a reference block (reference sample array) specified by motion vectors on a reference frame. In this case, to reduce the amount of motion information transmitted in the inter-frame prediction mode, motion information can be predicted on a block, sub-block, or sample basis based on the correlation between motion information between neighboring blocks and the current block. Motion information may include motion vectors and reference frame indices. Motion information may also include inter-frame prediction direction (L0 prediction, L1 prediction, dual prediction, etc.) information. In the case of inter-frame prediction, neighboring blocks may include spatially neighboring blocks existing in the current frame and temporally neighboring blocks existing in the reference frame. The reference frame including the reference block and the reference frame including the temporally neighboring block may be the same or different. The temporally neighboring block may be referred to as a juxtaposed reference block, a juxtaposed CU (colCU), etc. The reference frame including the temporally neighboring block may be referred to as a juxtaposed frame (colPic). For example, the inter-frame prediction unit 180 can configure a motion information candidate list based on neighboring blocks and generate information indicating which candidate to use to deduce the motion vector and / or reference frame index of the current block. Inter-frame prediction can be performed based on various prediction modes. For example, in skip mode and merge mode, the inter-frame prediction unit 180 can use motion information from neighboring blocks as motion information for the current block. In skip mode, unlike merge mode, residual signals may not be transmitted. In motion vector prediction (MVP) mode, motion vectors from neighboring blocks can be used as motion vector predictors, and the motion vector of the current block can be signaled by encoding motion vector differences and indicators of the motion vector predictors. The motion vector difference can refer to the difference between the motion vector of the current block and the motion vector predictor.

[0084] The prediction unit can generate a prediction signal based on various prediction methods and techniques described below. For example, the prediction unit can apply not only intra-frame prediction or inter-frame prediction, but also both intra-frame prediction and inter-frame prediction simultaneously to predict the current block. A prediction method that simultaneously applies both intra-frame prediction and inter-frame prediction to predict the current block can be called Combined Intra-Frame and Inter-Frame Prediction (CIIP). Furthermore, the prediction unit can perform Intra-Frame Block Copy (IBC) to predict the current block. Intra-Frame Block Copy can be used for content video / image coding such as games, for example, Screen Content Coding (SCC). IBC is a method of predicting the current frame using a previously reconstructed reference block in the current frame at a predetermined distance from the current block. When IBC is applied, the position of the reference block in the current frame can be encoded as a vector (block vector) corresponding to the predetermined distance. IBC essentially performs prediction in the current frame, but can be performed similarly to inter-frame prediction because the reference block is derived within the current frame. That is, IBC can use at least one inter-frame prediction technique described in this disclosure.

[0085] The prediction signal generated by the prediction unit can be used to generate a reconstructed signal or a residual signal. Subtractor 115 can generate a residual signal (residual block or residual sample array) by subtracting the prediction signal (prediction block or prediction sample array) output from the prediction unit from the input image signal (original block or original sample array). The generated residual signal can be transmitted to converter 120.

[0086] Transformer 120 can generate transform coefficients by applying transform techniques to the residual signal. For example, the transform techniques may include at least one of Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loève Transform (KLT), Graph-Based Transform (GBT), or Conditional Nonlinear Transform (CNT). Here, GBT refers to a transform obtained from a graph when the relationship information between pixels is represented graphically. CNT refers to a transform obtained based on a prediction signal generated using all previously reconstructed pixels. Furthermore, the transform processing can be applied to square pixel blocks of the same size or to blocks of variable size instead of square.

[0087] Quantizer 130 quantizes the transform coefficients and transmits them to entropy encoder 190. Entropy encoder 190 encodes the quantized signal (information about the quantized transform coefficients) and outputs a bitstream. The information about the quantized transform coefficients can be referred to as residual information. Quantizer 130 can rearrange the block-type quantized transform coefficients into a one-dimensional vector form based on the coefficient scan order, and generate information about the quantized transform coefficients based on the one-dimensional vector form of the quantized transform coefficients.

[0088] The entropy encoder 190 can perform various encoding methods, such as exponential Columbus coding, context-adaptive variable-length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC). The entropy encoder 190 can encode, either together or separately, the information required for video / image reconstruction other than the quantization transform coefficients (e.g., values ​​of syntax elements). The encoded information (e.g., encoded video / image information) can be transmitted or stored in bitstream form at the Network Abstraction Layer (NAL) level. The video / image information may also include information about various parameter sets, such as Adaptive Parameter Set (APS), Picture Parameter Set (PPS), Sequence Parameter Set (SPS), or Video Parameter Set (VPS). Furthermore, the video / image information may also include general constraint information. The signaled information, transmitted information, and / or syntax elements described in this disclosure can be encoded and included in the bitstream through the above encoding process.

[0089] The bitstream can be transmitted over a network or stored in a digital storage medium. The network may include broadcast networks and / or communication networks, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. A transmitter (not shown) for transmitting the signal output from the entropy encoder 190 and / or a storage unit (not shown) for storing the signal may be included as internal / external components of the image encoding device 100. Alternatively, a transmitter may be provided as a component of the entropy encoder 190.

[0090] The quantization transform coefficients output from quantizer 130 can be used to generate residual signals. For example, the residual signals (residual blocks or residual samples) can be reconstructed by applying dequantization and inverse transform to the quantization transform coefficients through dequantizer 140 and inverse transformer 150.

[0091] Adder 155 adds the reconstructed residual signal to the prediction signal output from inter-frame prediction unit 180 or intra-frame prediction unit 185 to generate a reconstructed signal (reconstructed frame, reconstructed block, reconstructed sample array). If the block to be processed has no residual, such as in the case of applying skip mode, the prediction block can be used as a reconstructed block. Adder 155 can be referred to as a reconstructor or reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current frame, and can be used for inter-frame prediction of the next frame by filtering as described below.

[0092] Furthermore, luminance mapping with chroma scaling (LMCS) can be applied in image encoding and / or reconstruction processing.

[0093] Filter 160 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, filter 160 can generate a modified reconstructed image by applying various filtering methods to the reconstructed image and store the modified reconstructed image in memory 170, specifically in the DPB of memory 170. Various filtering methods can include, for example, deblocking filtering, sample adaptive offsetting, adaptive loop filtering, bilateral filtering, etc. Filter 160 can generate various filtering-related information and transmit the generated information to entropy encoder 190, as described later in the description of each filtering method. The filtering-related information can be encoded by entropy encoder 190 and output as a bitstream.

[0094] The modified reconstructed frame transmitted to memory 170 can be used as a reference frame in inter-frame prediction unit 180. When inter-frame prediction is applied by image encoding device 100, prediction mismatch between image encoding device 100 and image decoding device can be avoided and coding efficiency can be improved.

[0095] The DPB of memory 170 can store modified reconstructed frames for use as reference frames in inter-frame prediction unit 180. Memory 170 can store motion information of blocks from which motion information in the current frame is derived (or encoded) and / or motion information of already reconstructed blocks in the frame. The stored motion information can be transmitted to inter-frame prediction unit 180 and used as motion information for spatially or temporally neighboring blocks. Memory 170 can store reconstructed samples of reconstructed blocks in the current frame and can transmit the reconstructed samples to intra-frame prediction unit 185.

[0096] Overview of image decoding devices

[0097] Figure 3 This is a schematic view illustrating an image decoding device to which embodiments of the present disclosure may be applied.

[0098] like Figure 3 As shown, the image decoding device 200 may include an entropy decoder 210, a dequantizer 220, an inverse transformer 230, an adder 235, a filter 240, a memory 250, an inter-frame prediction unit 260, and an intra-frame prediction unit 265. The inter-frame prediction unit 260 and the intra-frame prediction unit 265 may be collectively referred to as "prediction units". The dequantizer 220 and the inverse transformer 230 may be included in a residual processor.

[0099] According to an implementation, all or at least some of the components of the image decoding device 200 can be configured by hardware components (e.g., a decoder or a processor). Furthermore, the memory 250 may include a decoded screen buffer (DPB) or may be configured by a digital storage medium.

[0100] The image decoding device 200, having received a bitstream including video / image information, can perform operations related to... Figure 2 The image is reconstructed by processing corresponding to the processing performed by the image encoding device 100. For example, the image decoding device 200 can perform decoding using a processing unit applied in the image encoding device. Therefore, the decoding processing unit can be, for example, an encoding unit. The encoding unit can be obtained by segmenting a coding tree unit or a maximum coding unit. The reconstructed image signal decoded and output by the image decoding device 200 can be reproduced by a reproduction device (not shown).

[0101] Image decoding device 200 can receive data in bitstream form from... Figure 2The signal output by the image encoding device. The received signal can be decoded by the entropy decoder 210. For example, the entropy decoder 210 can parse the bitstream to derive the information (e.g., video / image information) required for image reconstruction (or picture reconstruction). The video / image information may also include information about various parameter sets, such as adaptive parameter sets (APS), picture parameter sets (PPS), sequence parameter sets (SPS), or video parameter sets (VPS). In addition, the video / image information may also include general constraint information. The image decoding device can also decode the picture based on the information about the parameter sets and / or general constraint information. The information and / or syntax elements notified / received by signals described in this disclosure can be decoded and obtained from the bitstream through the decoding process. For example, the entropy decoder 210 decodes the information in the bitstream based on encoding methods such as exponential Golomb coding, CAVLC, or CABAC, and outputs the values ​​of the syntax elements required for image reconstruction and the quantized values ​​of the transform coefficients of the residuals. More specifically, the CABAC entropy decoding method can receive bins corresponding to each syntax element in the bitstream, determine the context model using information about the target syntax element, decoding information of neighboring blocks and the target block, or information about symbols / bins decoded in the previous stage, perform arithmetic decoding on the bins based on the determined context model by predicting the occurrence probability of the bins, and generate symbols corresponding to the value of each syntax element. In this case, the CABAC entropy decoding method can update the context model after determining the context model by using the information of the decoded symbols / bins for the context model of the next symbol / bin. The prediction-related information in the information decoded by the entropy decoder 210 can be provided to the prediction units (inter-frame prediction unit 260 and intra-frame prediction unit 265), and the residual value of entropy decoding performed in the entropy decoder 210, i.e., the quantization transform coefficients and related parameter information, can be input to the dequantizer 220. In addition, the filtering information in the information decoded by the entropy decoder 210 can be provided to the filter 240. Furthermore, the receiver (not shown) for receiving signals output from the image encoding device may be further configured as an internal / external element of the image decoding device 200, or the receiver may be a component of the entropy decoder 210.

[0102] Furthermore, the image decoding apparatus according to this disclosure can be referred to as a video / image / screen decoding apparatus. The image decoding apparatus can be divided into an information decoder (video / image / screen information decoder) and a sample decoder (video / image / screen sample decoder). The information decoder may include an entropy decoder 210. The sample decoder may include at least one of a dequantizer 220, an inverse transformer 230, an adder 235, a filter 240, a memory 250, an inter-frame prediction unit 160, or an intra-frame prediction unit 265.

[0103] Dequantizer 220 can dequantize the quantized transform coefficients and output transform coefficients. Dequantizer 220 can rearrange the quantized transform coefficients in the form of two-dimensional blocks. In this case, the rearrangement can be performed based on the coefficient scan order performed in the image encoding device. Dequantizer 220 can obtain transform coefficients by performing dequantization on the quantized transform coefficients using quantization parameters (e.g., quantization step size information).

[0104] The inverse transformer 230 can perform inverse transformation on the transformation coefficients to obtain the residual signal (residual block, residual sample array).

[0105] The prediction unit can perform prediction on the current block and generate a prediction block that includes prediction samples of the current block. The prediction unit can determine whether to apply intra-frame prediction or inter-frame prediction to the current block based on the prediction information output from the entropy decoder 210, and can determine a specific intra-frame / inter-frame prediction mode (prediction technique).

[0106] Similar to that described in the prediction unit of the image coding device 100, the prediction unit can generate a prediction signal based on various prediction methods (techniques) described later.

[0107] Intra-prediction unit 265 can predict the current block by referring to samples in the current frame. The description of intra-prediction unit 185 also applies to intra-prediction unit 265.

[0108] The inter-frame prediction unit 260 can deduce the prediction block of the current block based on a reference block (reference sample array) specified by a motion vector on a reference frame. In this case, to reduce the amount of motion information transmitted in the inter-frame prediction mode, motion information can be predicted on a block, sub-block, or sample basis based on the correlation of motion information between neighboring blocks and the current block. Motion information may include motion vectors and reference frame indices. Motion information may also include inter-frame prediction direction (L0 prediction, L1 prediction, dual prediction, etc.) information. In the case of inter-frame prediction, neighboring blocks may include spatially neighboring blocks existing in the current frame and temporally neighboring blocks existing in the reference frame. For example, the inter-frame prediction unit 260 can configure a motion information candidate list based on neighboring blocks and deduce the motion vector and / or reference frame index of the current block based on the received candidate selection information. Inter-frame prediction can be performed based on various prediction modes, and the information about the prediction may include information indicating the inter-frame prediction mode of the current block.

[0109] Adder 235 generates a reconstruction signal (reconstructed frame, reconstruction block, reconstruction sample array) by adding the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the prediction unit (including inter-frame prediction unit 260 and / or intra-frame prediction unit 265). If the block to be processed has no residual (e.g., in the case of applying skip mode), the prediction block can be used as a reconstruction block. The description of adder 155 also applies to adder 235. Adder 235 may be referred to as a reconstructor or reconstruction block generator. The generated reconstruction signal can be used for intra-frame prediction of the next block to be processed in the current frame, and can be used for inter-frame prediction of the next frame by filtering as described below.

[0110] In addition, luminance mapping with chroma scaling (LMCS) can be applied in the image decoding process.

[0111] Filter 240 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, filter 240 can generate a modified reconstructed image by applying various filtering methods to the reconstructed image and store the modified reconstructed image in memory 250, specifically in the DPB of memory 250. Various filtering methods may include, for example, deblocking filtering, adaptive sample shifting, adaptive loop filtering, bilateral filtering, etc.

[0112] The (modified) reconstructed frame stored in the DPB of memory 250 can be used as a reference frame in inter-frame prediction unit 260. Memory 250 can store motion information of blocks from which motion information in the current frame is derived (or decoded) and / or motion information of already reconstructed blocks in the frame. The stored motion information can be transmitted to inter-frame prediction unit 260 to be used as motion information for spatially or temporally neighboring blocks. Memory 250 can store reconstructed samples of reconstructed blocks in the current frame and transmit the reconstructed samples to intra-frame prediction unit 265.

[0113] In this disclosure, the embodiments described in the filter 160, inter-frame prediction unit 180 and intra-frame prediction unit 185 of the image encoding device 100 can be equally or correspondingly applied to the filter 240, inter-frame prediction unit 260 and intra-frame prediction unit 265 of the image decoding device 200.

[0114] The quantizer of an encoding device derives the quantized transform coefficients by applying quantization to the transform coefficients, and the dequantizer of the encoding device or the dequantizer of the decoding device derives the transform coefficients by applying dequantization to the quantized transform coefficients. In video coding, the quantization rate can be changed, and the compression ratio can be adjusted using the changed quantization rate. From an implementation perspective, considering complexity, quantization parameters (QPs) can be used instead of directly using the quantization rate. For example, quantization parameters with integer values ​​from 0 to 63 can be used, and each set of quantization parameters can correspond to the actual quantization rate. The quantization parameter QP can be set differently for the luma component (luma sample). Y And the quantization parameter QP for chromaticity components (chromaticity samples) C .

[0115] In quantization, the transform coefficients C can be input and divided by the quantization rate Q. step Furthermore, the quantized transform coefficients C' can be derived from this. In this case, considering computational complexity, the quantization rate can be multiplied by the scale to form an integer, and a shift operation can be performed using the value corresponding to the scale value. The quantization scale can be derived from the product of the quantization rate and the scale value. That is, the quantization scale can be derived from QP. The quantization scale can be applied to the transform coefficients, and the quantized transform coefficients C' can be derived from this.

[0116] Dequantization is the inverse of quantization, and the quantization transform coefficients C' can be multiplied by the quantization rate Q. step Furthermore, the reconstructed transform coefficients C can be derived based on this. In this case, the level ratio can be derived from the quantization parameters, and the level ratio can be applied to the quantization transform coefficients C, and the reconstructed transform coefficients C can be derived based on this. Due to the losses from the transform and / or quantization processes, the reconstructed transform coefficients C may differ slightly from the original transform coefficients C. Therefore, even in the encoding device, dequantization can be performed in the same way as in the decoding device.

[0117] Furthermore, adaptive frequency-weighted quantization (IFQ) can be applied to adjust the quantization intensity according to the frequency. IFQ corresponds to methods that apply different quantization intensities based on the frequency. In IFQ, a predefined quantization scaling matrix can be used to apply different quantization intensities based on the frequency. That is, the aforementioned quantization / dequantization processing can also be performed based on the quantization scaling matrix.

[0118] For example, different quantization scaling matrices can be used depending on the size of the current block and / or whether the prediction mode applied to generate the residual signal for the current block is inter-frame prediction or intra-frame prediction. The quantization scaling matrix can be called a quantization matrix or a scaling matrix. The quantization scaling matrix can be predefined. Additionally, for frequency-adaptive scaling, the frequency quantization scaling information used for the quantization scaling matrix can be constructed / encoded in the encoding device and signaled to the decoding device. This frequency quantization scaling information can be called quantization scaling information. The frequency quantization scaling information can include scaling list data (scaling_list_data).

[0119] The quantization scaling matrix can be derived based on the scaling list data. Furthermore, the frequency quantization scaling information can include presence flags indicating the existence of scaling list data. Additionally, when scaling list data is signaled at a higher level (e.g., SPS), information specifying modifications to the scaling list data at a lower level (e.g., PPS, APS, or slice header) can also be included.

[0120] General video / image encoding process

[0121] In video / image coding, the frames of a video / image can be encoded / decoded according to the decoding order. The frame order corresponding to the output order of the decoded frames can be set differently from the decoding order, and based on this, not only forward prediction but also backward prediction can be performed during inter-frame prediction.

[0122] Figure 4 This is a flowchart illustrating an example of a schematic screen decoding process to which embodiments of this disclosure are applicable.

[0123] Figure 4 The processes shown can be derived from Figure 3 The image decoding device performs the following steps: For example, step S410 can be performed by entropy decoder 210, step S420 can be performed by prediction unit including prediction units 265 and 260, step S430 can be performed by residual processors 220 and 230, step S440 can be performed by adder 235, and step S450 can be performed by filter 240. Step S410 may include the information decoding process described in this disclosure, step S420 may include the inter-frame / intra-frame prediction process described in this disclosure, step S430 may include the residual processing process described in this disclosure, step S440 may include the block / frame reconstruction process described in this disclosure, and step S450 may include the in-loop filtering process described in this disclosure.

[0124] Reference Figure 4The image decoding process can schematically include a process for obtaining video / image information from the bitstream (through decoding) (S410), an image reconstruction process (S420 to S440), and an in-loop filtering process for the reconstructed image (S450). The image reconstruction process can be performed based on prediction samples and residual samples obtained through inter-frame / intra-frame prediction (S420) and residual processing (S430) (dequantization and inverse transform of quantization transform coefficients) described in this disclosure. A modified reconstructed image can be generated by an in-loop filtering process for the reconstructed image generated by the image reconstruction process. In this case, the modified reconstructed image can be stored as a decoded image output in the decoded image buffer (DPB) of memory 250 and used as a reference image in the inter-frame prediction process when the image is decoded later. The in-loop filtering process (S450) can be omitted. In this case, the reconstructed image can be stored as a decoded image output in the DPB of memory 250 and used as a reference image in the inter-frame prediction process when the image is decoded later. As described above, the in-loop filtering process (S450) may include a deblocking filtering process, a sample adaptive offset (SAO) process, an adaptive loop filter (ALF) process, and / or a bilateral filter process, some or all of which may be omitted. Furthermore, one or more of the deblocking filtering process, the sample adaptive offset (SAO) process, the adaptive loop filter (ALF) process, and / or the bilateral filter process may be applied sequentially, or all of them may be applied sequentially. For example, the SAO process may be performed after the deblocking filtering process is applied to the reconstructed image. Alternatively, for example, the ALF process may be performed after the deblocking filtering process is applied to the reconstructed image. This can even be performed similarly in an encoding device.

[0125] Figure 5 This is a flowchart illustrating an example of a schematic screen encoding process to which embodiments of this disclosure are applicable.

[0126] Figure 5 The processes shown can be derived from Figure 2 The image encoding device performs the operation. For example, step S510 can be performed by prediction units 185 and 180, step S520 can be performed by residual processors 115, 120 and 130, and step S530 can be performed by entropy encoder 190. Step S510 may include the inter-frame / intra-frame prediction process described in this disclosure, step S520 may include the residual processing process described in this disclosure, and step S530 may include the information encoding process described in this disclosure.

[0127] Reference Figure 5The image encoding process can be schematically described as including not only the process of encoding information used for image reconstruction (e.g., prediction information, residual information, segmentation information, etc.) and outputting it in the form of a bitstream, but also the process of generating a reconstructed image for the current image and the process of applying in-loop filtering to the reconstructed image (optional), such as relative to Figure 2 As described, the encoding device can derive (modified) residual samples from the quantization transform coefficients using dequantizer 140 and inverse transformer 150, and generate a reconstructed frame based on the predicted samples and (modified) residual samples as the output of step S510. The reconstructed frame thus generated can be equal to the reconstructed frame generated in the decoding device. A modified reconstructed frame can be generated by an in-loop filtering process on the reconstructed frame. In this case, the modified reconstructed frame can be stored in memory 170 or a decoded frame buffer, and similar to the decoding device, can be used as a reference frame during inter-frame prediction when the frame is encoded later. As mentioned above, in some cases, some or all of the in-loop filtering process can be omitted. When the in-loop filtering process is performed, the (in-loop) filtering-related information (parameters) can be encoded in the entropy encoder 190 and output as a bitstream, and the decoding device can perform the in-loop filtering process using the same method as the encoding device based on the filtering-related information.

[0128] This in-loop filtering process reduces noise (e.g., block artifacts and ringing artifacts) that occurs during video / image encoding, and improves subjective / objective visual quality. Furthermore, by performing the in-loop filtering process in both the encoding and decoding devices, the encoding and decoding devices can derive the same prediction results, increasing the reliability of image encoding and reducing the amount of data that needs to be sent for image encoding.

[0129] As described above, the image reconstruction process can be performed not only in an image decoding device but also in an image encoding device. Reconstruction blocks can be generated on a block-by-block basis based on intra-frame prediction / inter-frame prediction, and a reconstructed image including these blocks can be generated. When the current image / slice / patch group is an I-frame / slice / patch group, the blocks included in the current image / slice / patch group can be reconstructed based solely on intra-frame prediction. On the other hand, when the current image / slice / patch group is a P-frame / slice / patch group or a B-frame / slice / patch group, the blocks included in the current image / slice / patch group can be reconstructed based on either intra-frame prediction or inter-frame prediction. In this case, inter-frame prediction can be applied to some blocks in the current image / slice / patch group, and intra-frame prediction can be applied to the remaining blocks. The color components of the image can include luminance components and chrominance components, and unless explicitly limited in this disclosure, the methods and implementations of this disclosure are applicable to both luminance and chrominance components.

[0130] Although the exemplary methods of this disclosure described above are represented as a series of operations for clarity of description, they are not intended to limit the order in which the steps are performed, and these steps may be performed simultaneously or in different orders if necessary. To implement the methods according to this disclosure, the described steps may further include other steps, including steps in addition to some steps, or may include additional steps in addition to some steps.

[0131] In this disclosure, the image encoding device or image decoding device that performs a predetermined operation (step) can perform an operation (step) that confirms the execution conditions or circumstances of the corresponding operation (step). For example, if it is described that a predetermined operation is performed when predetermined conditions are met, the image encoding device or image decoding device can perform the predetermined operation after determining whether the predetermined conditions are met.

[0132] The various embodiments of this disclosure are not a list of all possible combinations and are intended to describe representative aspects of this disclosure; the matters described in the various embodiments may be applied independently or in combination of two or more.

[0133] Various embodiments of this disclosure can be implemented in hardware, firmware, software, or a combination thereof. When this disclosure is implemented in hardware, it can be implemented using application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, etc.

[0134] Furthermore, the image decoding and image encoding devices applying the embodiments of this disclosure can be included in multimedia broadcasting transmission and receiving devices, mobile communication terminals, home theater video devices, digital cinema video devices, surveillance cameras, video chat devices, real-time communication devices such as video communication, mobile streaming devices, storage media, cameras, video-on-demand (VoD) service providers, OTT (over-the-top) video devices, internet streaming service providers, three-dimensional (3D) video devices, video telephony devices, medical video devices, etc., and can be used to process video signals or data signals. For example, OTT video devices can include game consoles, Blu-ray players, internet access televisions, home theater systems, smartphones, tablet PCs, digital video recorders (DVRs), etc.

[0135] Figure 6 This is a view illustrating an example of a syntax structure used to signal general constraint information. In VVC, there can be general constraint flags used to control coding tools or functions for profiles, layers, or levels.

[0136] Reference Figure 6 The bitstream may include information such as general_non_packed_constraint_flag or general_frame_only_constraint_flag in the general_constraint_info() syntax structure as general constraint information.

[0137] For example, as general constraint information, information specifying whether to constrain Frame Encapsulation Arrangement (SEI) messages can be signaled in the OlsInScope bitstream (e.g., `general_non_packed_constraint_flag`). A first value (e.g., 1) for `general_non_packed_constraint_flag` can specify that Frame Encapsulation Arrangement (SEI) messages present in the OlsInScope bitstream do not exist. A second value (e.g., 0) for `general_non_packed_constraint_flag` can specify that no constraint is applied.

[0138] Additionally, as general constraint information, signals can be used to indicate whether or not frames are constrained by OlsInScope (e.g., `general_frame_only_constraint_flag`). A first value (e.g., 1) for `general_frame_only_constraint_flag` specifies that a constraint is applied, causing OlsInScope to deliver a frame of the specified type. A second value (e.g., 0) for `general_frame_only_constraint_flag` specifies that no constraint is applied. That is, when `general_frame_only_constraint_flag` is the second value, the frame delivered by OlsInScope may or may not be specified. In the above context, `OlsInScope` can refer to the set of output layers included in the bitstream.

[0139] General constraint information is not limited to references Figure 6 The `general_non_packed_constraint_flag` and `general_frame_only_constraint_flag` are described, and other general constraint information can be signaled. However, the conventional syntax structure for signaling general constraint information has the problem of not being able to adequately support constraints for various coding devices.

[0140] Figure 7This is a view illustrating an example of how the present disclosure uses signals to notify whether to constrain weighted predictions as general constraint information.

[0141] As described above, a predicted block for the current block can be derived based on motion information derived from a prediction pattern. A predicted block can include predicted samples (an array of predicted samples) of the current block. An interpolation process can be performed when the motion vector of the current block specifies fractional sample units. Therefore, predicted samples for the current block can be derived based on reference samples from fractional sample units in a reference frame.

[0142] When affine inter-frame prediction is applied to the current block, prediction samples can be generated based on the sample / sub-block unit motion vector (MV). When dual prediction is applied, prediction samples can be derived based on L0 prediction (i.e., using MVL0 and predictions of reference frames in the reference frame list L0), and prediction samples can be derived based on L1 prediction (i.e., using MVL1 and predictions of reference frames in the reference frame list L1). Additionally, prediction samples derived by a weighted sum or weighted average of the derived prediction samples (based on phase) can be used as prediction samples for the current block. In the case of dual prediction, when the reference frames used for L0 prediction and L1 prediction are located in different time directions based on the current frame (i.e., when it corresponds to dual prediction and bidirectional prediction), this is called true bidirectional prediction. Based on the derived prediction samples, reconstructed samples and reconstructed frames can be generated.

[0143] In inter-frame prediction, weighted sample prediction can be used. Weighted sample prediction can be referred to as weighted prediction. Weighted prediction can be applied when the current slice of the current block (e.g., CU) is a P-slice or a B-slice. That is, weighted prediction can be used not only when applying dual prediction but also when applying single prediction. For example, weighted prediction can be determined based on weightedPredFlag. The value of weightedPredFlag can be determined based on pps_weighted_pred_flag (in the case of P-slices) or pps_weighted_bipred_flag (in the case of B-slices) as signaled. More specifically, the weightedPredFlag specifying whether to apply weighted prediction to the current block can be derived as the pps_weighted_pred_flag value in the case of P-slices and as the pps_weighted_bipred_flag value in the case of B-slices. In the foregoing, pps_weighted_pred_flag can be information specifying whether weighted prediction is applied to P-slices, and pps_weighted_bipred_flag can be information specifying whether explicit weighted prediction is applied to B-slices. pps_weighted_pred_flag and pps_weighted_bipred_flag can be included in a parameter set (e.g., a frame-level set of frame parameters (PPS)) and signaled. In this disclosure, explicit weighted prediction can refer to weighted prediction when information about the weights used for weighted prediction is explicitly signaled via a bitstream. According to embodiments of this disclosure, constraint information for weighted prediction can be signaled as general constraint information.

[0144] Reference Figure 7 Information indicating whether to constrain weighted predictions can be used to signal (e.g., no_weighted_pred_constraint_flag). In this case, the information indicating whether to constrain weighted predictions can be included and signaled within the general_constraint_info() syntax structure used to signal general constraint information.

[0145] According to this embodiment, a first value (e.g., 1) of `no_weighted_pred_constraint_flag` can mean that a constraint is applied such that the values ​​of `sps_weighted_pred_flag` and `sps_weighted_bipred_flag` are 0. Additionally, a second value (e.g., 0) of `no_weighted_pred_constraint_flag` can mean that no constraint is applied. In the above, `sps_weighted_pred_flag` is information signaled at a high level (e.g., SPS) and can be an example of information specifying whether weighted prediction is applied. For example, a first value (e.g., 1) of `sps_weighted_pred_flag` can specify that weighted prediction is applied to the P-slice of the reference SPS, and a second value (e.g., 0) of `sps_weighted_pred_flag` can specify that weighted prediction is not applied to the P-slice of the reference SPS. Additionally, `sps_weighted_bipred_flag` can be information signaled at a high level (e.g., SPS) and can be an example of information specifying whether explicit weighted prediction is applied. For example, a first value (e.g., 1) of `sps_weighted_bipred_flag` can specify that explicit weighted prediction applies to the B-slice of the reference SPS, and a second value (e.g., 0) of `sps_weighted_bipred_flag` can specify that explicit weighted prediction does not apply to the B-slice of the reference SPS. As described above, general constraint information can be included and signaled within the `general_constraint_info()` syntax structure. The `general_constraint_info()` syntax structure exists within the profile layer level (PTL) syntax structure and provides information about additional constraints or limitations used for a specific profile, layer, and level.

[0146] Figure 8 This is an example based on a reference. Figure 7 A diagram illustrating the operation of the image encoding device according to the described embodiment. Figure 8In this context, the weighted prediction information may include at least one of unidirectional weighted prediction information or bidirectional weighted prediction information. Unidirectional weighted prediction information may correspond to information specifying whether weighted prediction is applicable to P-slices. For example, unidirectional weighted prediction information may correspond to flags such as `sps_weighted_pred_flag` or `pps_weighted_pred_flag`. Bidirectional weighted prediction information may correspond to information specifying whether explicit weighted prediction is applicable to B-slices. For example, bidirectional weighted prediction information may correspond to flags such as `sps_weighted_bipred_flag` or `pps_weighted_bipred_flag`. The weighted prediction information may be signaled at at least one of the sequence level or the picture level. For example, the weighted prediction information may be included and signaled in at least one of the sequence parameter set (SPS) or the picture parameter set (PPS).

[0147] Reference Figure 8 The image encoding device can encode `no_weighted_pred_constraint_flag` (S810). The image encoding device can determine whether a constraint is imposed on weighted prediction and encode `no_weighted_pred_constraint_flag` accordingly. When a constraint is imposed on weighted prediction, the image encoding device can encode a first value (e.g., 1) for `no_weighted_pred_constraint_flag`. Alternatively, when no constraint is imposed on weighted prediction, the image encoding device can encode a second value (e.g., 0) for `no_weighted_pred_constraint_flag`. The image encoding device can encode `no_weighted_pred_constraint_flag` as general constraint information in the `general_constraint_info()` syntax structure. For example, even when weighted prediction is applied to the current profile, layer, and level, the image encoding device can set the constraints for weighted prediction by signaling `no_weighted_pred_constraint_flag`. Therefore, a wider variety of encoding environments can be set.

[0148] The image coding device determines the value of no_weighted_pred_constraint_flag (S820), and when the value is a second value (e.g., 0) (S820 - No), the image coding device can encode the weighted prediction information for either the first value (e.g., 1) or the second value (e.g., 0) (S830). When the value of no_weighted_pred_constraint_flag is the first value (e.g., 1) (S820 - Yes), the image coding device can encode the weighted prediction information for the second value (e.g., 0) (S840). The image coding device can encode, for example, sps_weighted_pred_flag and sps_weighted_bipred_flag in SPS.

[0149] When the weighted prediction information (sps_weighted_pred_flag or sps_weighted_bipred_flag) is a first value (e.g., 1), the image coding device may encode additional information (not shown) related to the weighted prediction. When the weighted prediction information (sps_weighted_pred_flag or sps_weighted_bipred_flag) is a second value (e.g., 0), the image coding device may skip signaling the additional information (not shown) related to the weighted prediction. The image coding device may or may not apply weighted prediction and / or explicit weighted prediction based on sps_weighted_pred_flag, sps_weighted_bipred_flag, and / or the additional information related to the weighted prediction, thereby performing encoding relative to the current frame contained in the current sequence.

[0150] Figure 9 This is an example reference. Figure 7 A diagram illustrating the operation of the image decoding device according to the described embodiment.

[0151] Reference Figure 9 The image decoding device can obtain weighted prediction information from the bitstream (S910). In this case, it can be obtained by referring to... Figure 8 The described method encodes weighted prediction information.

[0152] The image decoding device can determine whether the weighted prediction information is a first value (e.g., 1) (S920). When the weighted prediction information is a first value (e.g., 1) (S920 - Yes), the image decoding device can parse the additional information related to the weighted prediction (S940). In this case, based on the additional information related to the weighted prediction, the image decoding device can reconstruct the current image (not shown) by applying the weighted prediction to the P-slice or by applying the explicit weighted prediction to the B-slice.

[0153] When the weighted prediction information is a second value (e.g., 0) (S920 - No), the image decoding device can skip parsing the additional information related to the weighted prediction (S930). Alternatively, the image decoding device can reconstruct the current image without applying weighted prediction and explicit weighted prediction (not shown).

[0154] The weighted prediction information (sps_weighted_pred_flag or sps_weighted_bipred_flag) received by the image decoding device is referenced. Figure 8 The described method is encoded. That is, the image decoding device receives weighted prediction information (sps_weighted_pred_flag or sps_weighted_bipred_flag) encoded by the image encoding device based on no_weighted_pred_constraint_flag. Therefore, the image decoding device can obtain the weighted prediction information (sps_weighted_pred_flag or sps_weighted_bipred_flag) encoded as an accurate value according to this disclosure without determining whether no_weighted_pred_constraint_flag is a first value (e.g., 1).

[0155] However, the operation of the image decoding device is not limited to the above examples, and the image decoding device can infer the value of the weighted prediction information (sps_weighted_pred_flag or sps_weighted_bipred_flag) based on no_weighted_pred_constraint_flag. For example, when the value of no_weighted_pred_constraint_flag is a first value (e.g., 1), the image decoding device can infer the weighted prediction information (sps_weighted_pred_flag or sps_weighted_bipred_flag) as a second value (e.g., 0).

[0156] In addition, although Figure 9Although not shown in the diagram, the image decoding device can obtain the `no_weighted_pred_constraint_flag` from the bitstream. Based on the obtained `no_weighted_pred_constraint_flag`, the image decoding device can infer the weighted prediction information (`sps_weighted_pred_flag` or `sps_weighted_bipred_flag`) as described above, and can efficiently perform device initialization by including modules related to whether to apply weighted prediction. For example, the image decoding device can initialize the device so that weighted prediction is constrained based on `no_weighted_pred_constraint_flag` even when the current configuration, layer, and level allow weighted prediction. Therefore, a wider variety of encoding environments can be configured.

[0157] Figure 10 This is a view illustrating an example of the syntax structure of this disclosure for using signals to notify information of explicit signaling specifying whether a scaling list is constrained, as general constraint information.

[0158] According to another embodiment of this disclosure, the constraint information of the explicit signaling of the scaling list can be signaled as general constraint information.

[0159] Reference Figure 10 Information regarding whether to constrain the use of explicit scaling lists can be signaled (e.g., `no_scaling_list_constraint_flag`). In this case, information specifying whether to constrain the use of explicit scaling lists can be included and signaled within the `general_constraint_info()` syntax structure used to signal general constraint information.

[0160] According to this implementation, a first value (e.g., 1) of `no_scaling_list_constraint_flag` can indicate that a constraint is imposed so that the value of `sps_explicit_scaling_list_enabled_flag` is 0. Conversely, a second value (e.g., 0) of `no_scaling_list_constraint_flag` can indicate that no constraint is imposed. In the above context, `sps_explicit_scaling_list_enabled_flag` is information signaled at a high level (e.g., SPS) and can be an example of information specifying whether an explicit scaling list is used.

[0161] For example, a first value (e.g., 1) of `sps_explicit_scaling_list_enabled_flag` can be specified to enable the use of an explicit scaling list signaled at the Adaptation Parameter Set (APS) for the Coding Layer Video Sequence (CLVS) during scaling (dequantization) of transform coefficients when decoding a slice, and a second value (e.g., 0) of `sps_explicit_scaling_list_enabled_flag` can be specified to disable the use of the explicit scaling list signaled at the APS for the Coding Layer Video Sequence (CLVS) during scaling (dequantization) of transform coefficients when decoding a slice. When an explicit scaling list is used, a scaling matrix for scaling processing of transform coefficients can be derived based on the scaling list included in the bitstream (e.g., the scaling list APS) and explicitly signaled. When an explicit scaling list is not used, a scaling matrix for scaling processing of transform coefficients can be derived through a predetermined procedure. This predetermined procedure can be a predefined procedure between the image encoding device and the image decoding device. Alternatively, for example, the scaling matrix can be derived using predetermined values ​​between the image encoding and image decoding devices. As described above, general constraint information can be included and signaled within the `general_constraint_info()` syntax structure. The `general_constraint_info()` syntax structure exists within the profile layer level (PTL) syntax structure and can provide information about additional constraints or limitations for specific profiles, layers, and levels.

[0162] Figure 11 This is an example reference. Figure 10 A diagram illustrating the operation of the image encoding device according to the described embodiment.

[0163] Reference Figure 11The image encoding device can encode `no_scaling_list_constraint_flag` (S1110). The image encoding device can determine whether a constraint is imposed on the use of the explicit scaling list and encode `no_scaling_list_constraint_flag` accordingly. When a constraint is imposed on the use of the explicit scaling list, the image encoding device can encode `no_scaling_list_constraint_flag` with a first value (e.g., 1). Alternatively, when no constraint is imposed on the use of the explicit scaling list, the image encoding device can encode `no_scaling_list_constraint_flag` with a second value (e.g., 0). The image encoding device can encode `no_scaling_list_constraint_flag` as general constraint information in the `general_constraint_info()` syntax structure. For example, even when the current configuration file, layer, and level allow the use of the explicit scaling list, the image encoding device can set a constraint on the use of the explicit scaling list by signaling `no_weighted_pred_constraint_flag`. Therefore, a wider variety of encoding environments can be set up.

[0164] The image encoding device determines the value of `no_weighted_pred_constraint_flag` (S1120), and when the value is a second value (e.g., 0) (S1120 - No), the image encoding device can encode `sps_explicit_scaling_list_enabled_flag` with either a first value (e.g., 1) or a second value (e.g., 0) (S1130). When the value of `no_scaling_list_constraint_flag` is a first value (e.g., 1) (S1120 - Yes), the image encoding device can encode `sps_explicit_scaling_list_enabled_flag` with a second value (e.g., 0) (S1140). The image encoding device can encode, for example, `sps_explicit_scaling_list_enabled_flag` in SPS.

[0165] When `sps_explicit_scaling_list_enabled_flag` is a first value (e.g., 1), the image encoding device can encode additional information related to the explicit scaling list (not shown). When `sps_explicit_scaling_list_enabled_flag` is a second value (e.g., 0), the image encoding device can skip signaling the additional information related to the explicit scaling list (not shown). The image encoding device can use or not use the explicit scaling list based on `sps_explicit_scaling_list_enabled_flag` and / or the additional information related to the explicit scaling list, thereby performing encoding on the current frame included in the current sequence.

[0166] Figure 12 This is an example reference. Figure 10 A diagram illustrating the operation of the image decoding device according to the described embodiments.

[0167] Reference Figure 12 The image decoding device can obtain `sps_explicit_scaling_list_enabled_flag` from the bitstream (S1210). In this case, `sps_explicit_scaling_list_enabled_flag` can be obtained from a reference... Figure 11 The method described is encoded.

[0168] The image decoding device can determine whether `sps_explicit_scaling_list_enabled_flag` is a first value (e.g., 1) (S1220). When `sps_explicit_scaling_list_enabled_flag` is a first value (e.g., 1) (S1220 - Yes), the image decoding device can parse the additional information related to the explicit scaling list (S1240). In this case, based on the additional information related to the explicit scaling list, the image decoding device can reconstruct the current frame using the explicit scaling list (not shown). When `sps_explicit_scaling_list_enabled_flag` is a second value (e.g., 0) (S1220 - Yes), the image decoding device can skip parsing the additional information related to the explicit scaling list (S1230). Alternatively, the image decoding device can reconstruct the current frame without using the explicit scaling list (not shown).

[0169] The sps_explicit_scaling_list_enabled_flag received by the image decoding device is referenced. Figure 11The described method is encoded. That is, the image decoding device receives the sps_explicit_scaling_list_enabled_flag encoded by the image encoding device based on no_scaling_list_constraint_flag. Therefore, the image decoding device can obtain the sps_explicit_scaling_list_enabled_flag encoded as an accurate value according to this disclosure without determining whether no_scaling_list_constraint_flag is a first value (e.g., 1).

[0170] However, the operation of the image decoding device is not limited to the above examples, and the image decoding device can infer the value of sps_explicit_scaling_list_enabled_flag based on no_scaling_list_constraint_flag. For example, when the value of no_scaling_list_constraint_flag is the first value (e.g., 1), the image decoding device can infer sps_explicit_scaling_list_enabled_flag as the second value (e.g., 0).

[0171] Furthermore, despite Figure 12 Not shown in the diagram, but the image decoding device can obtain the `no_scaling_list_constraint_flag` from the bitstream. The image decoding device can infer the `sps_explicit_scaling_list_enabled_flag` as described above based on the obtained `no_scaling_list_constraint_flag`, and can efficiently perform device initialization by including modules related to whether to apply explicit scaling lists. For example, the image decoding device can initialize the device so that even if the current configuration file, layer, and level allow the use of explicit scaling lists, the use of explicit scaling lists is constrained based on `no_scaling_list_constraint_flag`. Therefore, a wider variety of encoding environments can be configured.

[0172] Figure 13 This is a view illustrating an example of the syntax structure of this disclosure for signaling information indicating whether in-loop filtering at virtual boundaries is disabled, as general constraint information.

[0173] According to another embodiment of this disclosure, disabled constraint information filtered within the loop at the virtual boundary can be signaled as general constraint information.

[0174] Reference Figure 13 Information indicating whether in-loop filtering at virtual boundaries is disabled can be signaled (e.g., no_virtual_boundaries_constraint_flag). In this case, the information indicating whether in-loop filtering at virtual boundaries is disabled can be included and signaled within the general_constraint_info() syntax structure used to signal general constraint information.

[0175] According to this implementation, a first value (e.g., 1) of `no_virtual_boundaries_constraint_flag` can mean that a constraint is applied such that the value of `sps_virtual_boundaries_enabled_flag` is 0. Conversely, a second value (e.g., 0) of `no_virtual_boundaries_constraint_flag` can mean that no constraint is applied. In the above context, `sps_virtual_boundaries_enabled_flag` is information signaled at a higher level (e.g., SPS) and can be an example of information specifying whether in-loop filtering is disabled at virtual boundaries.

[0176] For example, a first value (e.g., 1) of `sps_virtrual_boundaries_enabled_flag` can specify that disabling in-loop filtering at virtual boundaries is available for CLVS, and a second value (e.g., 0) of `sps_virtrual_boundaries_enabled_flag` can specify that disabling in-loop filtering at virtual boundaries is not available for CLVS. When disabling in-loop filtering at virtual boundaries is available, the existence of virtual boundaries and / or information about their location can be additionally signaled, and in-loop filtering can be performed based on the presence of virtual boundaries. For example, in-loop filtering may not be performed when the boundary to be filtered is a virtual boundary. When disabling in-loop filtering at virtual boundaries is unavailable, the existence of virtual boundaries and / or information about their location can be additionally signaled, and in-loop filtering can be performed without considering the existence of virtual boundaries. For example, in-loop filtering may be performed when it is uncertain whether the boundary to be filtered is a virtual boundary. As described above, general constraint information can be included and signaled within the `general_constraint_info()` syntax structure. The general_constraint_info() syntax structure exists within the configuration file layer level (PTL) syntax structure and can provide information about additional constraints or limitations for a specific configuration file, layer, and level.

[0177] Figure 14 This is an example reference. Figure 13 A diagram illustrating the operation of the image encoding device according to the described implementation.

[0178] Reference Figure 14 The image encoding device can encode the `no_virtual_boundaries_constraint_flag` (S1410). The image encoding device can determine whether a constraint is imposed on disabling the in-loop filtering at the virtual boundary, and encode the `no_virtual_boundaries_constraint_flag` accordingly. When a constraint is imposed on disabling the in-loop filtering at the virtual boundary, the image encoding device can encode the `no_virtual_boundaries_constraint_flag` with a first value (e.g., 1). Alternatively, when no constraint is imposed on disabling the in-loop filtering at the virtual boundary, the image encoding device can encode the `no_virtual_boundaries_constraint_flag` with a second value (e.g., 0). The image encoding device can encode the `no_virtual_boundaries_constraint_flag` as general constraint information in the `general_constraint_info()` syntax structure. For example, an image encoding device can set a constraint to disable in-loop filtering at virtual boundaries by signaling `no_virtual_boundaries_constraint_flag`, even if the current profile, layer, and level disable in-loop filtering at virtual boundaries. Therefore, a wider variety of encoding environments can be configured.

[0179] The image encoding device determines the value of `no_virtual_boundaries_constraint_flag` (S1420), and when the value is a second value (e.g., 0) (S1420 - No), the image encoding device can encode `sps_virtual_boundaries_enabled_flag` with either a first value (e.g., 1) or a second value (e.g., 0) (S1430). When the value of `no_virtual_boundaries_constraint_flag` is a first value (e.g., 1) (S1420 - Yes), the image encoding device can encode `sps_virtual_boundaries_enabled_flag` with a second value (e.g., 0) (S1440). The image encoding device can encode, for example, `sps_virtual_boundaries_enabled_flag` in SPS.

[0180] When `sps_virtual_boundaries_enabled_flag` is a first value (e.g., 1), the image encoding device can encode additional information related to virtual boundaries (not shown). When `sps_virtual_boundaries_enabled_flag` is a second value (e.g., 0), the image encoding device can skip signaling additional information related to virtual boundaries (not shown). The image encoding device can enable or disable in-loop filtering at virtual boundaries based on `sps_virtual_boundaries_enabled_flag` and / or additional information related to virtual boundaries, thereby performing encoding on the current frame included in the current sequence.

[0181] Figure 15 This is an example reference. Figure 13 A diagram illustrating the operation of the image decoding device according to the described embodiment.

[0182] Reference Figure 15 The image decoding device can obtain the `sps_virtual_boundaries_enabled_flag` (S1510) from the bitstream. In this case, it can be obtained by referring to... Figure 14 The method described above is used to encode the sps_virtual_boundaries_enabled_flag.

[0183] The image decoding device can determine whether `sps_virtual_boundaries_enabled_flag` is a first value (e.g., 1) (S1520). When `sps_virtual_boundaries_enabled_flag` is a first value (e.g., 1) (S1520 - Yes), the image decoding device can perform parsing of additional information related to the virtual boundaries (S1540). In this case, based on the additional information related to the virtual boundaries (not shown), the image decoding device can reconstruct the current image by disabling in-loop filtering at the virtual boundaries. When `sps_virtual_boundaries_enabled_flag` is a second value (e.g., 0) (S1520 - No), the image decoding device can skip parsing of the additional information related to the virtual boundaries (S1530). In this case, the image decoding device can reconstruct the current image (not shown) by performing in-loop filtering without considering the virtual boundaries.

[0184] The sps_virtual_boundaries_enabled_flag received by the image decoding device is referenced. Figure 14The described method of encoding. That is, the image decoding device receives the sps_virtual_boundaries_enabled_flag encoded by the image encoding device based on no_virtual_boundaries_constraint_flag. Therefore, the image decoding device can obtain the sps_virtual_boundaries_enabled_flag encoded with the exact value according to this disclosure without determining whether no_virtual_boundaries_constraint_flag is a first value (e.g., 1).

[0185] However, the operation of the image decoding device is not limited to the above examples, and the image decoding device can infer the value of sps_virtual_boundaries_enabled_flag based on no_virtual_boundaries_constraint_flag. For example, when the value of no_virtual_boundaries_constraint_flag is the first value (e.g., 1), the image decoding device can infer sps_virtual_boundaries_enabled_flag as the second value (e.g., 0).

[0186] Furthermore, despite Figure 9 Not shown, but the image decoding device can obtain `no_virtual_boundaries_constraint_flag` from the bitstream. As mentioned above, the image decoding device can infer `sps_virtual_boundaries_enabled_flag` based on the obtained `no_virtual_boundaries_constraint_flag`, and can efficiently perform device initialization by including modules related to whether to apply the disabling of in-loop filtering at virtual boundaries. For example, the image decoding device can initialize the device so that even if the current configuration file, layer, and level allow the disabling of in-loop filtering at virtual boundaries, the disabling of in-loop filtering at virtual boundaries is constrained based on `no_virtual_boundaries_constraint_flag`. Therefore, a wider variety of encoding environments can be configured.

[0187] Figure 16 This is a view illustrating an example of the syntax structure of this disclosure for specifying whether to constrain entropy-encoded synchronization information as general constraint information using signal notification.

[0188] According to another embodiment of this disclosure, constraint information on the performance of specific processing for synchronizing and storing context variables used for entropy encoding can be signaled as general constraint information.

[0189] Reference Figure 16 Signals can be used to indicate whether specific synchronization and storage operations for context variables are constrained (e.g., no_wpp_constraint_flag). In this case, information specifying whether specific synchronization and storage operations are constrained can be included and signaled within the general_constraint_info() syntax structure used to signal general constraint information.

[0190] According to this implementation, a first value (e.g., 1) of `no_wpp_constraint_flag` can mean imposing a constraint such that the value of `sps_entropy_coding_sync_enabled_flag` is 0. Conversely, a second value (e.g., 0) of `no_wpp_constraint_flag` can mean that no constraint is imposed. In the above, `sps_entropy_coding_sync_enabled_flag` is information signaled at a high level (e.g., SPS) and can be an example of information specifying whether to constrain specific synchronization processing and specific storage processing for context variables.

[0191] For example, a first value (e.g., 1) for `sps_entropy_coding_sync_enabled_flag` can specify that a context-specific synchronization process is invoked before decoding the Code Tree Unit (CTU) of the first CTB row in each tile of each frame including the reference SPS. A first value (e.g., 1) for `sps_entropy_coding_sync_enabled_flag` can specify that a context-specific storage process is invoked after decoding the Code Tree Unit (CTU) of the first CTB row in each tile of each frame including the reference SPS. A second value (e.g., 0) for `sps_entropy_coding_sync_enabled_flag` can specify that the context-specific synchronization process is not invoked before decoding the Code Tree Unit (CTU) of the first CTB row in each tile of each tile of each frame including the reference SPS. Additionally, a second value (e.g., 0) for the `sps_entropy_coding_sync_enabled_flag` can specify that no context-specific storage processing is invoked after decoding of the Coding Tree Block (CTB) unit (CTU) of the first CTB row in each tile of every frame including the reference SPS. As described above, general constraint information can be included and signaled within the `general_constraint_info()` syntax structure. The `general_constraint_info()` syntax structure exists within the Profile Layer Level (PTL) syntax structure and can provide information about additional constraints or limitations for specific profiles, layers, and levels.

[0192] Figure 17 This is a view illustrating an example of the syntax structure of this disclosure for specifying whether to restrict the use of a Long-Term Reference Screen (LTRP) as general constraint information using signal notification.

[0193] According to another embodiment of this disclosure, the constraint information for the use of LTRP can be signaled as general constraint information.

[0194] Reference Figure 17 Information regarding whether to constrain the use of LTRP can be indicated by signals (e.g., no_ltrp_constraint_flag). In this case, the information regarding whether to constrain the use of LTRP can be included and indicated by signals in the general_constraint_info() syntax structure used to indicate general constraint information.

[0195] According to this embodiment, a first value (e.g., 1) of no_ltrp_constraint_flag can mean that a constraint is applied such that the value of sps_long_term_ref_pics_flag is 0. Additionally, a second value (e.g., 0) of no_ltrp_constraint_flag can mean that no constraint is applied. In the above, sps_long_term_ref_pics_flag is information signaled at a higher level (e.g., SPS) and can be an example of information specifying whether to constrain the use of LTRP.

[0196] For example, a first value (e.g., 1) of `sps_long_term_ref_pics_flag` can specify that LTRP can be used for inter-frame prediction of one or more coded frames in CLVS, and a second value (e.g., 0) of `sps_long_term_ref_pics_flag` can specify that LTRP is not used for inter-frame prediction of one or more coded frames in CLVS. As described above, general constraint information can be included and signaled within the `general_constraint_info()` syntax structure. The `general_constraint_info()` syntax structure exists within the profile layer level (PTL) syntax structure and can provide information about additional constraints or limitations for a specific profile, layer, and level.

[0197] Figure 18 This is a view illustrating a content streaming system to which embodiments of the present disclosure can be applied.

[0198] like Figure 18 As shown, the content streaming system applying the embodiments of this disclosure may mainly include an encoding server, a streaming server, a network server, a media storage device, a user device, and a multimedia input device.

[0199] The encoding server compresses content input from multimedia input devices such as smartphones, cameras, and camcorders into digital data to generate a bitstream and then sends the bitstream to the streaming server. As another example, when multimedia input devices such as smartphones, cameras, and camcorders directly generate bitstreams, the encoding server can be omitted.

[0200] The bitstream can be generated by an image encoding method or image encoding device applying the embodiments of this disclosure, and the stream server can temporarily store the bitstream during the sending or receiving of the bitstream.

[0201] A streaming server sends multimedia data to a user's device based on a request from a web server, and the web server acts as a medium for informing the user of the service. When a user requests a service from the web server, the web server can deliver it to the streaming server, and the streaming server can send the multimedia data to the user. In this scenario, the content streaming system may include a separate control server. In this case, the control server is used to control the commands / responses between devices in the content streaming system.

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

[0203] Examples of user devices may include mobile phones, smartphones, laptop computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, board PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, head-mounted displays), digital televisions, desktop computers, digital signage, etc.

[0204] In a content streaming system, each server can operate as a distributed server, in which case the data received from each server can be distributed.

[0205] The scope of this disclosure includes software or machine-executable commands (e.g., operating systems, applications, firmware, programs, etc.) for enabling the operation of methods according to various embodiments to be executed on a device or computer, and non-transitory computer-readable media having such software or commands stored thereon and executable on a device or computer.

[0206] Industrial applicability

[0207] The embodiments disclosed herein can be used to encode or decode images.

Claims

1. An image decoding method performed by an image decoding device, the image decoding method comprising: First information specifying whether to constrain the application of a predetermined encoding tool is obtained from the syntax structure used to signal general constraint information; Obtain second information from the sequence parameter set SPS specifying whether to apply the predetermined encoding tool; as well as Reconstruct the current image based on the second information. The value of the second information is determined based on the value of the first information, and The predetermined encoding tool includes explicit signaling for a scaling list of transform coefficients and disabling in-loop filtering at virtual boundaries.

2. The image decoding method according to claim 1, wherein, Based on the first information, the application is constrained, and the second information has a value that specifies that the predetermined encoding tool should not be applied.

3. An image encoding method performed by an image encoding device, the image encoding method comprising: The first information specifying whether to constrain the application of the predefined encoding tool is encoded in a syntax structure used to signal general constraint information; The second information specifying whether to apply a predetermined encoding tool is encoded in the sequence parameter set SPS; as well as The current frame in the current video sequence is encoded based on the second information. The value of the second information is determined based on the value of the first information, and The predetermined encoding tool includes explicit signaling for a scaling list of transform coefficients and disabling in-loop filtering at virtual boundaries.

4. The image encoding method according to claim 3, wherein, Based on the first information, the application is constrained, and the second information has a value that specifies that the predetermined encoding tool should not be applied.

5. A non-transitory computer-readable recording medium storing instructions that, when executed by a processor, cause the image encoding method according to claim 3 to be performed.

6. A method for transmitting a bit stream, the method comprising the following steps: The first information specifying whether to constrain the application of the predefined encoding tool is encoded in a syntax structure used to signal general constraint information; The second information specifying whether to apply a predetermined encoding tool is encoded in the sequence parameter set SPS; Encode the current frame in the current video sequence based on the second information; Generate the bitstream including the first information and the second information; as well as Send the bit stream, The value of the second information is determined based on the value of the first information, and The predetermined encoding tool includes explicit signaling for a scaling list of transform coefficients and disabling in-loop filtering at virtual boundaries.

Citation Information

Patent Citations

  • Advanced syntax for video encoding and decoding

    CN115280785A

  • Method and apparatus for applying bitstream constraints in video coding

    CN115486071A

  • Universal constraint information for video coding

    CN115606180A