Image encoding / decoding method and apparatus for determining a segmentation mode based on a color format, and method for transmitting a bit stream
The image encoding/decoding method of determining the division mode based on the color format is used to solve the problem of low encoding/decoding efficiency in the transmission of high-resolution and high-quality images, and achieve more efficient transmission and storage.
Patent Information
- Application Number
- CN202080080048.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-25
- Filing Date
- 2020-09-23
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2040-09-23
AI Technical Summary
In the transmission of high-resolution and high-quality images, the existing technology has low encoding/decoding efficiency, which leads to increased transmission and storage costs.
The image encoding/decoding method determines the division mode based on the color format, determines the prediction mode characteristic information according to the color format of the current block, divides the prediction mode type of the lower layer block, and performs corresponding encoding/decoding.
Improves the efficiency of image encoding/decoding and reduces transmission and storage costs.
Smart Images

Figure CN114731401B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an image encoding / decoding method and apparatus and a method for transmitting a bitstream, and more particularly, to an image encoding / decoding method and apparatus for determining a division mode based on a color format and a method for transmitting a bitstream generated by the image encoding method / apparatus of the present disclosure. Background Art
[0002] Recently, demand for high-resolution and high-quality images, such as high-definition (HD) and ultra-high-definition (UHD), is increasing across various fields. As the resolution and quality of image data improve, the amount of information or bits transmitted increases relative to existing image data. This increase in the amount of transmitted information or bits 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] An object of the present disclosure is to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.
[0006] Another object of the present disclosure is to provide an image encoding / decoding method and apparatus for determining a division mode based on a color format.
[0007] Another object of the present disclosure is to provide an image encoding / decoding method and apparatus for determining a partitioning mode based on the size of a chroma block.
[0008] Another object of the present disclosure is to provide a method for transmitting a bit stream generated by the image encoding method or apparatus according to the present disclosure.
[0009] Another object of the present disclosure is to provide a recording medium storing a bit stream generated by the image encoding method or apparatus according to the present disclosure.
[0010] Another object of the present disclosure is to provide a recording medium that stores a bit stream received and decoded by the image decoding apparatus according to the present disclosure and used to reconstruct an image.
[0011] The technical problems solved by the present disclosure are not limited to the above-mentioned technical problems, and those skilled in the art will understand other technical problems not described here through the following description.
[0012] Technical Solution
[0013] According to one aspect of the present disclosure, an image decoding method performed by an image decoding device may include the following steps: determining prediction mode characteristic information based on the color format of a current block; determining a prediction mode type of a lower layer block partitioned from the current block based on the prediction mode characteristic information; obtaining the lower layer block by partitioning the current block based on the prediction mode type of the lower layer block; and decoding the lower layer block based on the prediction mode type of the lower layer block. The prediction mode type of the lower layer block includes a first prediction mode type specifying that both intra-frame prediction mode and inter-frame prediction mode are available, a second prediction mode type specifying that only intra-frame prediction mode is available, and a third prediction mode type specifying that only inter-frame prediction mode is available. Based on a first condition being satisfied for the current block, the prediction mode characteristic information has a first value, and the first condition includes a case where the color format of the current block is a monochrome format or a 4:4:4 format. Based on the first condition not being satisfied for the current block, the prediction mode characteristic information has a second value or a third value based on at least one of the color format, partition mode, or size of the current block.
[0014] An image decoding device according to one aspect of the present disclosure may include a memory and at least one processor. The at least one processor may determine prediction mode characteristic information based on the color format of a current block, determine a prediction mode type of a lower layer block partitioned from the current block based on the prediction mode characteristic information, obtain the lower layer block by partitioning the current block based on the prediction mode type of the lower layer block, and decode the lower layer block based on the prediction mode type of the lower layer block. The prediction mode type of the lower layer block includes a first prediction mode type specifying that both intra-frame prediction mode and inter-frame prediction mode are available, a second prediction mode type specifying that only intra-frame prediction mode is available, and a third prediction mode type specifying that only inter-frame prediction mode is available. The prediction mode characteristic information has a first value based on a first condition being satisfied for the current block, and the first condition includes a case where the color format of the current block is a monochrome format or a 4:4:4 format. The prediction mode characteristic information has a second value or a third value based on at least one of the color format, partition mode, or size of the current block based on a failure to satisfy the first condition for the current block.
[0015] According to one aspect of the present disclosure, an image encoding method performed by an image encoding device may include the following steps: determining prediction mode characteristic information based on the color format of a current block; determining a prediction mode type of a lower layer block divided from the current block based on the prediction mode characteristic information; obtaining the lower layer block by dividing the current block based on the prediction mode type of the lower layer block; and encoding the lower layer block based on the prediction mode type of the lower layer block. The prediction mode type of the lower layer block includes a first prediction mode type specifying that both intra-frame prediction mode and inter-frame prediction mode are available, a second prediction mode type specifying that only intra-frame prediction mode is available, and a third prediction mode type specifying that only inter-frame prediction mode is available. Based on a first condition being satisfied for the current block, the prediction mode characteristic information has a first value, and the first condition includes a case where the color format of the current block is a monochrome format or a 4:4:4 format. Based on the first condition not being satisfied for the current block, the prediction mode characteristic information has a second value or a third value based on at least one of the color format, division mode, or size of the current block.
[0016] In addition, a transmission method according to another aspect of the present disclosure may transmit a bit stream generated by the image encoding apparatus or the image encoding method of the present disclosure.
[0017] In addition, a computer-readable recording medium according to another aspect of the present disclosure may store a bit stream generated by the image encoding apparatus or the image encoding method of the present disclosure.
[0018] The features of the above brief summary of the present disclosure are merely exemplary aspects of the following detailed description of the present disclosure and do not limit the scope of the present disclosure.
[0019] Beneficial effects
[0020] According to the present disclosure, it is possible to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.
[0021] Furthermore, according to the present disclosure, it is possible to provide an image encoding / decoding method and apparatus that determine a division mode based on a color format.
[0022] Furthermore, according to the present disclosure, it is possible to provide an image encoding / decoding method and apparatus for determining a division mode based on the size of a chroma block.
[0023] Furthermore, according to the present disclosure, it is possible to provide a method of transmitting a bitstream generated by the image encoding method or apparatus according to the present disclosure.
[0024] Furthermore, according to the present disclosure, it is possible to provide a recording medium storing a bit stream generated by the image encoding method or apparatus according to the present disclosure.
[0025] Furthermore, according to the present disclosure, it is possible to provide a recording medium that stores a bit stream received and decoded by the image decoding apparatus according to the present disclosure and used to reconstruct an image.
[0026] Those skilled in the art will understand that the effects that can be achieved through the present disclosure are not limited to the contents that have been specifically described above, and other advantages of the present disclosure will be more clearly understood from the detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure 1 FIG. 1 is a diagram schematically illustrating a video encoding system to which embodiments of the present disclosure are applicable.
[0028] Figure 2 is a diagram schematically showing an image encoding device to which an embodiment of the present disclosure is applicable.
[0029] Figure 3 FIG. 1 is a diagram schematically showing an image decoding device to which an embodiment of the present disclosure is applicable.
[0030] Figure 4 An example is shown in which a picture is divided into CTUs.
[0031] Figures 5a to 5c 3 and 4 are views illustrating a division example of a screen.
[0032] Figure 6 is a view showing an embodiment of a partition type of a block according to a multi-type tree structure.
[0033] Figure 7 is a diagram illustrating a signaling mechanism of block partitioning information in a quadtree having a nested multi-type tree structure according to the present disclosure.
[0034] Figure 8 is a view showing an example of splitting a CTU into a plurality of CUs by applying a multi-type tree after applying a quadtree.
[0035] Figure 9 The following diagram shows the redundant partitioning patterns that may occur in binary tree partitioning and ternary tree partitioning.
[0036] Figure 10 is a view illustrating an example in which CU partitioning is restricted.
[0037] Figure 11 is a flowchart illustrating a video / image encoding method based on intra-frame prediction.
[0038] Figure 12 is a view illustrating a configuration of an intra prediction unit according to the present disclosure.
[0039] Figure 13 is a flowchart illustrating a video / image decoding method based on intra-frame prediction.
[0040] Figure 14 is a view illustrating a configuration of an inter prediction unit according to the present disclosure.
[0041] Figure 15a is a view illustrating an intra prediction direction according to an embodiment of the present disclosure.
[0042] Figure 15b is a view illustrating an intra prediction direction according to another embodiment of the present disclosure.
[0043] Figures 16a to 16c It is a view illustrating the relationship between a luminance component block (luminance component array) and a chrominance component block (chrominance component array) according to a chroma format.
[0044] Figures 17a to 17c is a view illustrating an example of syntax for switching a single tree structure to a dual tree structure.
[0045] Figure 18 is a view illustrating an example of a process of deriving prediction mode characteristic information.
[0046] Figure 19a and Figure 19b is a view illustrating an example of a lower layer CU obtained by trifurcating the current CU for each color format.
[0047] Figure 20a and Figure 20b is a view illustrating an example of a lower layer CU obtained by vertically binary splitting the current CU for each color format.
[0048] Figure 21 is a view illustrating an example of a lower layer CU obtained by vertically trifurcating the current CU for each color format.
[0049] Figure 22 is a view illustrating a process of deriving prediction mode characteristic information according to an embodiment of the present disclosure.
[0050] Figure 23 is a flowchart illustrating an image encoding method according to an embodiment of the present disclosure.
[0051] Figure 24 is a flowchart illustrating an image decoding method according to an embodiment of the present disclosure.
[0052] Figure 25 is a diagram illustrating a content streaming system to which an embodiment of the present disclosure is applicable. DETAILED DESCRIPTION
[0053] Hereinafter, the 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 forms and is not limited to the embodiments described herein.
[0054] When describing the present disclosure, if it is determined that the detailed description of related known functions or configurations makes the scope of the present disclosure unnecessarily ambiguous, its detailed description will be omitted. In the drawings, parts not related to the description of the present disclosure are omitted, and like reference numerals are given to like parts.
[0055] In this disclosure, when a component is “connected,” “coupled,” or “linked” to another component, it may include not only a direct connection relationship but also an indirect connection relationship with intermediate components. In addition, when a component “includes” or “has” other components, unless otherwise specified, it means that other components may also be included, rather than excluding other components.
[0056] In the present disclosure, the terms first, second, etc. are used only to distinguish one component from other components and do not limit the order or importance of the components unless otherwise specified. Accordingly, within the scope of the present disclosure, the first component in one embodiment may be referred to as the second component in another embodiment, and similarly, the second component in one embodiment may be referred to as the first component in another embodiment.
[0057] In this disclosure, components that are distinguished from each other are intended to clearly describe each feature and do not necessarily mean that the components must be separated. That is, multiple components can be integrated and implemented in a single hardware or software unit, or a single component can be distributed and implemented in multiple hardware or software units. Therefore, even if not specifically stated, embodiments in which these components are integrated or distributed are also included in the scope of this disclosure.
[0058] In the present disclosure, the components described in the various embodiments are not necessarily essential components, and some components may be optional components. Therefore, embodiments consisting of a subset of the components described in the embodiments are also included in the scope of the present disclosure. In addition, embodiments that include other components in addition to the components described in the various embodiments are included in the scope of the present disclosure.
[0059] The present disclosure relates to encoding and decoding of images. Unless otherwise defined in the present disclosure, terms used in the present disclosure may have general meanings commonly used in the technical field to which the present disclosure belongs.
[0060] 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 a portion of a picture. A picture can be composed of one or more slices / tiles. In addition, a slice / tile can include one or more coding tree units (CTUs).
[0061] In the present disclosure, "pixel" or "picture element (pel)" may refer to the smallest unit constituting a picture (or image). In addition, "sample" may be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, or may represent only a pixel / pixel value of a luminance component or only a pixel / pixel value of a chrominance component.
[0062] In this disclosure, a "unit" may refer to a basic unit of image processing. The unit may include at least one of a specific area of a picture and information related to the area. In some cases, the unit may be used interchangeably with terms such as "sample array," "block," or "area." In general, an M×N block may include M columns and N rows of samples (or sample arrays) or a set (or array) of transform coefficients.
[0063] In the present disclosure, the term "current block" may refer to one of the following: "current coding block," "current coding unit," "encoding target block," "decoding target block," or "processing target block." When prediction is performed, the term "current block" may refer to either the "current prediction block" or the "prediction target block." When transform (inverse transform) / quantization (dequantization) is performed, the term "current block" may refer to either the "current transform block" or the "transform target block." When filtering is performed, the term "current block" may refer to the "filtering target block."
[0064] In addition, in the present disclosure, the "current block" may mean a block including both a luma component block and a chroma component block, or, unless explicitly stated as a chroma block, may mean a "luma block of the current block." The chroma component block of the current block may be expressed by an explicit description including the luma component block, such as "luma block" or "current luma block." In addition, the chroma component block of the current block may be expressed by an explicit description including the chroma component block, such as "chroma block" or "current chroma block."
[0065] In the present disclosure, the slash " / " or "," may be interpreted as indicating "and / or". For example, "A / B" and "A, B" may mean "A and / or B". In addition, "A / B / C" and "A, B, C" may mean "at least one of A, B, and / or C".
[0066] In the present disclosure, the term "or" should be interpreted to mean "and / or". For example, the expression "A or B" may include 1) only "A", 2) only "B", or 3) both "A and B". In other words, in the present disclosure, "or" should be interpreted to mean "additionally or alternatively".
[0067] Video Coding System Overview
[0068] Figure 1 is a diagram schematically illustrating a video encoding system according to the present disclosure.
[0069] The video encoding system according to an 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 via a digital storage medium or a network in the form of a file or stream.
[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 obtain video / images by capturing, synthesizing, 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 videos / images, etc. The video / image generation device may include, for example, a computer, a tablet computer, and a smartphone, and may generate videos / images (electronically). For example, a virtual video / image may be generated by a computer, etc. In this case, the video / image capture process may be replaced by a process for generating relevant data.
[0072] The encoding unit 12 may encode the input video / image. For compression and coding efficiency, the encoding unit 12 may perform a series of processes such as prediction, transformation, and quantization. The encoding unit 12 may output the encoded data (encoded video / image information) in the form of a bitstream.
[0073] Transmitter 13 can transmit the encoded video / image information or data output in the form of a bitstream to receiver 21 of decoding device 20 via a digital storage medium or network in the form of a file or stream. Digital storage media can include various storage media, such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. Transmitter 13 can include components for generating media files in a predetermined file format and can also include components for transmission via a broadcast / communication network. Receiver 21 can extract / receive the bitstream from the storage medium or network and transmit the bitstream to decoding unit 22.
[0074] The decoding unit 22 may decode a video / image by performing a series of processes corresponding to the operations of the encoding unit 12 , such as dequantization, inverse transformation, and prediction.
[0075] The renderer 23 may render the decoded video / image. The rendered video / image may be displayed on a display.
[0076] Overview of Image Coding Device
[0077] Figure 2 FIG. 1 is a diagram schematically illustrating an image encoding device to which an embodiment of the present disclosure is applicable.
[0078] like Figure 2 As shown, the image encoding device 100 may include an image splitter 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 a "prediction unit." The transformer 120, the quantizer 130, the dequantizer 140, and the inverse transformer 150 may be included in a residual processor. The residual processor may further include a subtractor 115.
[0079] In some embodiments, all or at least some of the components configuring the image encoding apparatus 100 may be configured by one hardware component (eg, an encoder or a processor). In addition, the memory 170 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium.
[0080] The image splitter 110 may split the input image (or picture or frame) input to the image encoding device 100 into one or more processing units. For example, a processing unit may be referred to as a coding unit (CU). A coding unit may be obtained by recursively splitting a coding tree unit (CTU) or a maximum coding unit (LCU) according to a quadtree, binary tree, or ternary tree (QT / BT / TT) structure. For example, a coding unit may be split into multiple coding units of a deeper depth based on a quadtree structure, a binary tree structure, and / or a ternary tree structure. For the splitting of the coding unit, a quadtree structure may be applied first, and then a binary tree structure and / or a ternary tree structure may be applied. The encoding process according to the present disclosure may be performed based on the final coding unit that is no longer split. The maximum coding unit may be used as the final coding unit, or a coding unit of a deeper depth obtained by splitting the maximum coding unit may be used as the final coding unit. Here, the encoding process may include the prediction, transformation, and reconstruction processes described later. As another example, the processing unit of the encoding process may be a prediction unit (PU) or a transform unit (TU). The prediction unit and the transform unit may be divided or partitioned from the final coding unit. The prediction unit may be a sample prediction unit, and the transform unit may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from the transform coefficient.
[0081] The prediction unit (inter prediction unit 180 or intra prediction unit 185) may perform prediction on the block to be processed (current block) and generate a prediction block including prediction samples of the current block. The prediction unit may determine whether to apply intra prediction or inter prediction based on the current block or CU. The prediction unit may 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 may be encoded in the entropy encoder 190 and output in the form of a bitstream.
[0082] The intra-frame prediction unit 185 can predict the current block by referring to samples in the current picture. Depending on the intra-frame prediction mode and / or intra-frame prediction technology, the reference samples can be located in the neighborhood of the current block or can be placed separately. The intra-frame prediction mode may include multiple non-directional modes and multiple directional modes. The non-directional mode may include, for example, a DC mode and a planar mode. Depending on the level of detail of the prediction direction, the directional mode may include, for example, 33 directional prediction modes 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. The intra-frame prediction unit 185 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring blocks.
[0083] The inter-frame prediction unit 180 can derive a prediction block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. In this case, to reduce the amount of motion information transmitted in inter-frame prediction mode, motion information can be predicted in units of blocks, sub-blocks, or samples based on the correlation of motion information between neighboring blocks and the current block. Motion information can include a motion vector and a reference picture index. Motion information can also include information about the inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter-frame prediction, neighboring blocks can include spatially neighboring blocks in the current picture and temporally neighboring blocks in the reference picture. The reference picture including the reference block and the reference picture including the temporally neighboring block can be the same or different. Temporally neighboring blocks can be referred to as collocated reference blocks, collocated CUs (colCUs), etc. A reference picture including temporally neighboring blocks can be referred to as collocated pictures (colPics). For example, the inter-frame prediction unit 180 can configure a motion information candidate list based on the neighboring blocks and generate information specifying which candidate to use to derive the motion vector and / or reference picture index for the current block. Inter-frame prediction can be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the inter-frame prediction unit 180 can use the motion information of the neighboring block as the motion information of the current block. In the case of skip mode, unlike merge mode, the residual signal may not be transmitted. In the case of motion vector prediction (MVP) mode, the motion vector of the neighboring block may be used as a motion vector predictor, and the motion vector of the current block may be signaled by encoding a motion vector difference and an indicator of the motion vector predictor. The motion vector difference may mean 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 prediction techniques described below. For example, the prediction unit can apply not only intra prediction or inter prediction, but also both intra prediction and inter prediction simultaneously to predict the current block. A prediction method that simultaneously applies both intra prediction and inter prediction to predict the current block is referred to as combined inter and intra prediction (CIIP). Furthermore, the prediction unit can perform intra block copying (IBC) to predict the current block. Intra block copying can be used for content image / video encoding, such as gaming, such as screen content coding (SCC). IBC is a method that predicts the current picture using a previously reconstructed reference block in the current picture at a predetermined distance from the current block. When IBC is applied, the position of the reference block in the current picture can be encoded as a vector (block vector) corresponding to the predetermined distance. IBC essentially performs prediction within the current picture, but can be performed similarly to inter prediction because the reference block is derived within the current picture. That is, IBC can use at least one of the inter prediction techniques described in this disclosure. IBC essentially performs prediction within the current picture, but can be performed similarly to inter prediction because the reference block is derived within the current picture. That is, IBC may use at least one of the inter-frame prediction techniques 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. The 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 the transformer 120.
[0086] The transformer 120 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loève transform (KLT), a graph-based transform (GBT), or a conditional nonlinear transform (CNT). Here, GBT refers to a transform obtained from a graph when the relationship information between pixels is represented by a graph. CNT refers to a transform obtained based on a prediction signal generated using all previously reconstructed pixels. In addition, the transform process may be applied to square pixel blocks of the same size or to blocks of variable size other than square.
[0087] The quantizer 130 may quantize the transform coefficients and transmit them to the entropy encoder 190. The entropy encoder 190 may encode the quantized signal (information about the quantized transform coefficients) and output a bitstream. The information about the quantized transform coefficients may be referred to as residual information. The quantizer 130 may rearrange the quantized transform coefficients in block form into a one-dimensional vector form based on the coefficient scanning order, and generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.
[0088] The entropy encoder 190 can perform various encoding methods, such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), etc. The entropy encoder 190 can encode information required for video / image reconstruction (e.g., values of syntax elements, etc.) in addition to quantized transform coefficients, together or separately. The encoded information (e.g., encoded video / image information) can be transmitted or stored in the form of a bitstream in units of a network abstraction layer (NAL). The video / image information may also include information about various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may also include general constraint information. The signaled information, transmitted information, and / or syntax elements described in the present disclosure may be encoded through the above-mentioned encoding process and included in the bitstream.
[0089] The bitstream may be transmitted over a network or stored in a digital storage medium. The network may include a broadcast network and / or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmitter (not shown) for transmitting a signal output from the entropy encoder 190 and / or a storage unit (not shown) for storing the signal may be included as an internal / external element of the image encoding device 100. Alternatively, the transmitter may be provided as a component of the entropy encoder 190.
[0090] The quantized transform coefficients output from the quantizer 130 may be used to generate a residual signal. For example, the residual signal (residual block or residual sample) may be reconstructed by applying dequantization and inverse transform to the quantized transform coefficients through the dequantizer 140 and the inverse transformer 150.
[0091] The adder 155 adds the reconstructed residual signal to the prediction signal output from the inter-frame prediction unit 180 or the intra-frame prediction unit 185 to generate a reconstructed signal (reconstructed image, reconstructed block, reconstructed sample array). If the block to be processed has no residual, such as when skip mode is applied, the prediction block can be used as the reconstructed block. The adder 155 can be called a reconstructor or a reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current picture, and can be used for inter-frame prediction of the next picture through filtering as described below.
[0092] The filter 160 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filter 160 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 170, specifically, in the DPB of the memory 170. Various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filtering, bilateral filtering, etc. The filter 160 can generate various information related to filtering and transmit the generated information to the entropy encoder 190, as described later in the description of each filtering method. The information related to filtering can be encoded by the entropy encoder 190 and output in the form of a bitstream.
[0093] The modified reconstructed picture transferred to the memory 170 may be used as a reference picture in the inter prediction unit 180. When inter prediction is applied by the image encoding device 100, prediction mismatch between the image encoding device 100 and the image decoding device may be avoided and encoding efficiency may be improved.
[0094] The DPB of the memory 170 may store the modified reconstructed picture for use as a reference picture in the inter-frame prediction unit 180. The memory 170 may store the motion information of the block from which the motion information in the current picture was derived (or encoded) and / or the motion information of the reconstructed block in the picture. The stored motion information may be transmitted to the inter-frame prediction unit 180 and used as the motion information of the spatially adjacent block or the motion information of the temporally adjacent block. The memory 170 may store the reconstructed samples of the reconstructed block in the current picture and may transmit the reconstructed samples to the intra-frame prediction unit 185.
[0095] Overview of Image Decoding Device
[0096] Figure 3 FIG. 1 is a diagram schematically illustrating an image decoding device to which an embodiment of the present disclosure is applicable.
[0097] like Figure 3As shown, the image decoding apparatus 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 a "prediction unit." The dequantizer 220 and the inverse transformer 230 may be included in a residual processor.
[0098] According to an embodiment, all or at least some of the components configuring the image decoding apparatus 200 may be configured by hardware components (eg, a decoder or a processor). In addition, the memory 250 may include a decoded picture buffer (DPB) or may be configured by a digital storage medium.
[0099] The image decoding apparatus 200 having received a bit stream including video / image information may decode the image by performing the same operation as that performed by Figure 2 The image may be reconstructed by processing corresponding to the processing performed by the image encoding device 100. For example, the image decoding device 200 may perform decoding using the processing unit applied in the image encoding device. Therefore, the processing unit for decoding may be, for example, a coding unit. The coding unit may be obtained by dividing the coding tree unit or the maximum coding unit. The reconstructed image signal decoded and output by the image decoding device 200 may be reproduced by a reproduction device (not shown).
[0100] The image decoding apparatus 200 may receive the image in the form of a bit stream from Figure 2The received signal can be decoded by the entropy decoder 210. For example, the entropy decoder 210 can parse the bitstream to derive information required for image reconstruction (or picture reconstruction) (e.g., video / image information). The video / image information may also include information about various parameter sets, such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may also include general constraint information. The image decoding device may also decode the picture based on the parameter set information and / or the general constraint information. The signaled / received information and / or syntax elements described in the present disclosure can be decoded and obtained from the bitstream through a decoding process. For example, the entropy decoder 210 decodes the information in the bitstream based on a coding method 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 residual. More specifically, the CABAC entropy decoding method can receive the bin corresponding to each syntax element in the bitstream, use the decoding target syntax element information, the decoding information of the neighboring blocks and the decoding target block, or the information of the symbol / bin decoded in the previous stage to determine the context model, and perform arithmetic decoding on the bin by predicting the probability of occurrence of the bin according to the determined context model to generate the symbol corresponding to the value of each syntax element. In this case, after determining the context model, the CABAC entropy decoding method can update the context model by using the information of the decoded symbol / bin for the context model of the next symbol / bin. The information related to the prediction in the information decoded by the entropy decoder 210 can be provided to the prediction unit (inter-frame prediction unit 260 and intra-frame prediction unit 265), and the residual value on which entropy decoding is performed in the entropy decoder 210, that is, the quantized transform coefficient and related parameter information can be input to the dequantizer 220. In addition, information about filtering in the information decoded by the entropy decoder 210 can be provided to the filter 240. Meanwhile, a receiver (not shown) for receiving a signal 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 .
[0101] Meanwhile, the image decoding device according to the present disclosure may be referred to as a video / image / picture decoding device. The image decoding device may be divided into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include an entropy decoder 210. The sample decoder may include a dequantizer 220, an inverse transformer 230, an adder 235, a filter 240, a memory 250, an inter-frame prediction unit 260, or at least one of an intra-frame prediction unit 265.
[0102] The dequantizer 220 may dequantize the quantized transform coefficients and output the transform coefficients. The dequantizer 220 may rearrange the quantized transform coefficients in the form of two-dimensional blocks. In this case, the rearrangement may be performed based on the coefficient scanning order performed in the image encoding device. The dequantizer 220 may dequantize the quantized transform coefficients using quantization parameters (e.g., quantization step size information) and obtain the transform coefficients.
[0103] The inverse transformer 230 may inversely transform the transform coefficients to obtain a residual signal (residual block, residual sample array).
[0104] The prediction unit may perform prediction on the current block and generate a prediction block including prediction samples of the current block. The prediction unit may determine whether to apply intra prediction or inter prediction to the current block based on the prediction information output from the entropy decoder 210, and may determine a specific intra / inter prediction mode (prediction technique).
[0105] As described in the prediction unit of the image encoding device 100 , the prediction unit can generate a prediction signal based on various prediction methods (techniques) described later.
[0106] The intra prediction unit 265 may predict the current block by referring to samples in the current picture. The description of the intra prediction unit 185 is also applicable to the intra prediction unit 265.
[0107] The inter-frame prediction unit 260 can derive a prediction block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. In this case, to reduce the amount of motion information transmitted in inter-frame prediction mode, motion information can be predicted in units of blocks, sub-blocks, or samples based on the correlation of motion information between neighboring blocks and the current block. Motion information can include a motion vector and a reference picture index. Motion information can also include information on the inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter-frame prediction, neighboring blocks can include spatial neighboring blocks in the current picture and temporal neighboring blocks in the reference picture. For example, the inter-frame prediction unit 260 can configure a motion information candidate list based on the neighboring blocks and derive a motion vector and / or reference picture index for the current block based on received candidate selection information. Inter-frame prediction can be performed based on various prediction modes, and information about the prediction can include information indicating the inter-frame prediction mode of the current block.
[0108] The adder 235 can generate a reconstructed block by adding the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the prediction unit (including the inter-frame prediction unit 260 and / or the intra-prediction unit 265). If the block to be processed has no residual, such as when skip mode is applied, the prediction block can be used as the reconstructed block. The description of the adder 155 also applies to the adder 235. The adder 235 can be called a reconstructor or a reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current picture, and can be used for inter-frame prediction of the next picture through filtering as described below.
[0109] The filter 240 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filter 240 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 250, specifically, in the DPB of the memory 250. The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filtering, bilateral filtering, etc.
[0110] The (modified) reconstructed picture stored in the DPB of the memory 250 can be used as a reference picture in the inter-frame prediction unit 260. The memory 250 can store the motion information of the block from which the motion information in the current picture was derived (or decoded) and / or the motion information of the reconstructed block in the picture. The stored motion information can be transmitted to the inter-frame prediction unit 260 to be used as the motion information of the spatially adjacent block or the motion information of the temporally adjacent block. The memory 250 can store the reconstructed samples of the reconstructed block in the current picture and transmit the reconstructed samples to the intra-frame prediction unit 265.
[0111] In the present disclosure, the embodiments described in the filter 160, the inter-frame prediction unit 180 and the intra-frame prediction unit 185 of the image encoding device 100 can be equally or correspondingly applied to the filter 240, the inter-frame prediction unit 260 and the intra-frame prediction unit 265 of the image decoding device 200.
[0112] Overview of Image Segmentation
[0113] The video / image encoding method according to the present disclosure can be performed based on the image segmentation structure as follows. Specifically, the prediction, residual processing ((inverse) transform, (de)quantization, etc.), syntax element encoding and filtering processes described later can be performed based on the CTU, CU (and / or TU, PU) derived from the image segmentation structure. The image can be segmented in units of blocks and the block segmentation process can be performed in the image segmentor 110 of the encoding device. The segmentation related information can be encoded by the entropy encoder 190 and sent to the decoding device in the form of a bit stream. The entropy decoder 210 of the decoding device can derive the block segmentation structure of the current picture based on the segmentation related information obtained from the bit stream, and based on this, a series of processes (e.g., prediction, residual processing, block / picture reconstruction, in-loop filtering, etc.) can be performed to perform image decoding. The CU size and the TU size can be the same, or there can be multiple TUs in the CU area. In addition, the CU size can generally represent the luminance component (sample) CB size. The TU size can generally represent the luminance component (sample) TB size. The chroma component (sample) CB or TB size can be derived based on the luminance component (sample) CB or TB size according to the component ratio according to the chroma format (color format, such as 4:4:4, 4:2:2, 4:2:0, etc.) of the picture / image. The TU size can be derived based on the maxTbSize that specifies the maximum available TB size. For example, when the CU size is larger than the maxTbSize, multiple TUs (TBs) of the maxTbSize can be derived from the CU, and transformation / inverse transformation can be performed in units of TUs (TBs). In addition, for example, when intra prediction is applied, the intra prediction mode / type can be derived in units of CUs (or CBs), and the neighboring reference sample derivation and prediction sample generation process can be performed in units of TUs (or TBs). In this case, one or more TUs (or TBs) can exist in one CU (or CB) area, and in this case, multiple TUs (or TBs) can share the same intra prediction mode / type.
[0114] In addition, in the image encoding and decoding according to the present disclosure, the image processing unit may have a hierarchical structure. For example, a picture may be divided into one or more tiles or tile groups. A tile group may include one or more tiles. A tile may include one or more CTUs. As described above, a CTU may be divided into one or more CUs. A tile may consist of a rectangular area including CTUs assembled in a specific row and a specific column in the picture. According to tile raster scanning, a tile group may include an integer number of tiles. A tile group header may signal information / parameters applicable to the corresponding tile group. When the encoding / decoding device has a multi-core processor, the encoding / decoding process of the tiles or tile groups may be performed in parallel. Here, the tile group may have one of the tile group types including intra (I) tile group, predicted (P) tile group, and bi-predicted (B) tile group. For blocks in the I tile group, inter prediction may not be used, and only intra prediction may be used for prediction. Of course, even in this case, the original sample values may be encoded and signaled without prediction. For blocks in P-block groups, intra-frame prediction or inter-frame prediction can be used, and when inter-frame prediction is used, only uni-prediction can be used. In addition, for blocks in B-block groups, intra-frame prediction or inter-frame prediction can be used, and when inter-frame prediction is used, up to bi-prediction can be used.
[0115] In the encoding device, the patch / patch group, slice, and maximum and minimum coding unit sizes can be determined based on the characteristics of the image (e.g., resolution) and taking into account coding efficiency or parallel processing, and information about them or information that can be derived from them can be included in the bitstream.
[0116] In the decoding device, information specifying that a slice, a tile / tile group, or a CTU in a tile of a current picture is partitioned into a plurality of coding units may be obtained. When such information is obtained (transmitted) only under certain conditions, efficiency may be increased.
[0117] A slice header or a tile group header (tile group header syntax) may include information / parameters that are common to a slice or tile group. An APS (APS syntax) or a PPS (PPS syntax) may include information / parameters that are common to one or more pictures. An SPS (SPS syntax) may include information / parameters that are common to one or more sequences. A VPS (VPS syntax) may include information / parameters that are common to the entire video. In the present disclosure, the highest-level syntax may include at least one of the APS syntax, the PPS syntax, the SPS syntax, or the VPS syntax.
[0118] In addition, for example, information on the partitioning and construction of patches / patch groups can be constructed through a high-level syntax during the encoding stage and sent to a decoding device in the form of a bitstream.
[0119] Split structure
[0120] A picture can be partitioned into a sequence of coding tree units (CTUs). A CTU can correspond to a coding tree block (CTB). Alternatively, a CTU can include a coding tree block of luma samples and two corresponding coding tree blocks of chroma samples. For example, for a picture containing three sample arrays, a CTU can include one N×N block of luma samples and two corresponding blocks of chroma samples. Figure 4 An example is shown in which a picture is divided into CTUs.
[0121] The maximum allowed size of a CTU for encoding and prediction may be different from that of a CTU for transform. For example, even when the maximum size of a luma block in a CTU for transform is 64×64, the maximum size of a luma block in a CTU for encoding and prediction may be 128×128.
[0122] In addition, the picture may be partitioned into one or more tile rows and one or more tile columns.A tile may be a sequence of CTUs covering a rectangular area in the picture.
[0123] A patch may be partitioned into one or more tiles, each of which may consist of multiple CTU rows in the patch. In this disclosure, a patch that is not partitioned into multiple tiles may be referred to as a tile.
[0124] A slice can include multiple tiles in a picture or multiple tiles in a tile. Two slicing modes are supported: one is a raster scan slicing mode, and the other is a rectangular slicing mode.
[0125] In the raster slice mode, a slice may include multiple consecutive tiles within a picture according to a raster scan order. In the present disclosure, a slice according to the raster scan slice mode may be referred to as a raster scan slice.
[0126] In rectangular slicing mode, a slice may include multiple tiles that form a rectangular area within a picture. In the present disclosure, a slice according to rectangular slicing mode may be referred to as a rectangular slice. Multiple tiles may be included in a rectangular slice according to the tile raster scan order of the slice.
[0127] Figures 5a to 5c 3 and 4 are views illustrating a division example of a screen.
[0128] First, refer to Figure 5a In raster scan slice mode, the picture can be divided into 12 tiles and three raster scan slices.
[0129] Reference Figure 5b In rectangular slicing mode, the picture can be divided into 24 tiles (ie, six tile rows and four tile columns) and nine rectangular slices.
[0130] Reference Figure 5c , the picture can be divided into four tiles (ie, two tile rows and two tile columns), 11 tiles (ie, one upper left tile, five upper right tiles, two lower left tiles and three lower right tiles) and four rectangular slices.
[0131] Overview of CTU Segmentation
[0132] As described above, a coding unit (CTU) or a largest coding unit (LCU) may be obtained by recursively partitioning the coding tree unit (CTU) or the largest coding unit (LCU) according to a quadtree / binarytree / ternarytree (QT / BT / TT) structure. For example, the CTU may be first partitioned into a quadtree structure. Thereafter, the leaf nodes of the quadtree structure may be further partitioned using a multi-type tree structure.
[0133] Splitting according to the quadtree means that the current CU (or CTU) is equally split into four. By splitting according to the quadtree, the current CU can be split into four CUs with the same width and the same height. When the current CU is no longer split into the quadtree structure, the current CU corresponds to the leaf node of the quadtree structure. The CU corresponding to the leaf node of the quadtree structure can no longer be split and can be used as the final coding unit mentioned above. Alternatively, the CU corresponding to the leaf node of the quadtree structure can be further split by a multi-type tree structure.
[0134] Figure 6 is a diagram illustrating an embodiment of partition types of a block according to a multi-type tree structure. The partitioning according to the multi-type tree structure may include two types of partitions according to a binary tree structure and two types of partitions according to a ternary tree structure.
[0135] The two types of splits according to the binary tree structure may include vertical binary split (SPLIT_BT_VER) and horizontal binary split (SPLIT_BT_HOR). Vertical binary split (SPLIT_BT_VER) means that the current CU is equally split into two in the vertical direction. Figures 5a to 5c As shown in FIG, by vertical binary splitting, two CUs with the same height as the current CU and half the width of the current CU can be generated. Horizontal binary splitting (SPLIT_BT_HOR) means that the current CU is equally split into two in the horizontal direction. Figures 5a to 5c As shown, through horizontal binary partitioning, two CUs with a height half of the height of the current CU and the same width as the current CU can be generated.
[0136] The two types of splits according to the triad structure may include vertical triad split (SPLIT_TT_VER) and horizontal triad split (SPLIT_TT_HOR). In vertical triad split (SPLIT_TT_VER), the current CU is split in a vertical direction at a ratio of 1:2:1. Figures 5a to 5c As shown, through vertical trifurcated partitioning, two CUs with the same height as the current CU and a width of 1 / 4 of the current CU's width, and a CU with the same height as the current CU and a width of half the current CU's width can be generated. In horizontal trifurcated partitioning (SPLIT_TT_HOR), the current CU is split horizontally at a ratio of 1:2:1. Figures 5a to 5c As shown, through horizontal trifurcated partitioning, two CUs with a height of 1 / 4 of the current CU and the same width as the current CU, and a CU with a height of half the current CU and the same width as the current CU can be generated.
[0137] Figure 7 is a diagram illustrating a signaling mechanism of block partitioning information in a quadtree having a nested multi-type tree structure according to the present disclosure.
[0138] Here, the CTU is regarded as the root node of the quadtree and is first split into a quadtree structure. Information (e.g., qt_split_flag) specifying whether quadtree partitioning is performed on the current CU (CTU or node (QT_node) of the quadtree) is signaled. For example, when qt_split_flag has a first value (e.g., "1"), the current CU can be quadtree split. In addition, when qt_split_flag has a second value (e.g., "0"), the current CU is not quadtree split, but becomes a leaf node (QT_leaf_node) of the quadtree. Each quadtree leaf node can then be further split into a multi-type tree structure. That is, the leaf node of the quadtree can become a node (MTT_node) of a multi-type tree. In the multi-type tree structure, a first flag (e.g., Mtt_split_cu_flag) is signaled to specify whether the current node is additionally split. If the corresponding node is additionally split (for example, if the first flag is 1), the second flag (for example, Mtt_split_cu_vertical_flag) can be signaled to specify the split direction. For example, the split direction can be a vertical direction when the second flag is 1, and a horizontal direction when the second flag is 0. Then, a third flag (for example, Mtt_split_cu_binary_flag) can be signaled to specify whether the split type is a binary split type or a ternary split type. For example, the split type can be a binary split type when the third flag is 1, and a ternary split type when the third flag is 0. The nodes of the multi-type tree obtained by binary splitting or ternary splitting can be further split into a multi-type tree structure. However, the nodes of the multi-type tree may not be split into a quadtree structure. If the first flag is 0, the corresponding node of the multi-type tree is no longer split, but becomes a leaf node (MTT_leaf_node) of the multi-type tree. The CU corresponding to the leaf node of the multi-type tree can be used as the above-mentioned final coding unit.
[0139] Based on mtt_split_cu_vertical_flag and mtt_split_cu_binary_flag, a multi-type tree partition mode (MttSplitMode) of a CU may be derived as shown in the following Table 1. In the following description, a multi-type tree partition mode may be referred to as a multi-tree partition type or a partition type.
[0140] [Table 1]
[0141] MttSplitMode mtt_split_cu_vertical_flag mtt_split_cu_binary_flag SPLIT_TT_HOR 0 0 SPLIT_BT_HOR 0 1 SPLIT_TT_VER 1 0 SPLIT_BT_VER 1 1
[0142] Figure 8 is a diagram showing an example of partitioning a CTU into a plurality of CUs by applying a multi-type tree after applying a quadtree. Figure 8 In FIG, the bold block edge 810 represents a quadtree partition, while the remaining edges 820 represent a multi-type tree partition. A CU may correspond to a coding block (CB). In an embodiment, a CU may include a coding block of luma samples and two coding blocks of chroma samples corresponding to the luma samples.
[0143] The size of the chroma component (sample) CB or TB can be derived based on the luma component (sample) CB or TB size based on the component ratio according to the color format of the picture / image (chroma format, such as 4:4:4, 4:2:2, 4:2:0, etc.). In the case of a 4:4:4 color format, the size of the chroma component CB / TB can be set to be equal to the size of the luma component CB / TB. In the case of a 4:2:2 color format, the width of the chroma component CB / TB can be set to half the width of the luma component CB / TB, and the height of the chroma component CB / TB can be set to the height of the luma component CB / TB. In the case of a 4:2:0 color format, the width of the chroma component CB / TB can be set to half the width of the luma component CB / TB, and the height of the chroma component CB / TB can be set to half the height of the luma component CB / TB.
[0144] In an embodiment, when the size of the CTU is based on a luma sample unit of 128, the size of the CU may be from 128x128 to 4x4, which is the same size as the CTU. In an embodiment, in the case of a 4:2:0 color format (or chroma format), the chroma CB size may be from 64x64 to 2x2.
[0145] Meanwhile, in an embodiment, the CU size and the TU size may be the same. Alternatively, there may be multiple TUs in a CU region. The TU size generally indicates the luma component (sample) transform block (TB) size.
[0146] The TU size can be derived based on the maximum allowed TB size maxTbSize as a predetermined value. For example, when the CU size is larger than maxTbSize, multiple TUs (TBs) with maxTbSize can be derived from the CU, and transformation / inverse transformation can be performed in units of TUs (TBs). For example, the maximum allowed luma TB size can be 64x64 and the maximum allowed chroma TB size can be 32x32. If the width or height of the CB split according to the tree structure is larger than the maximum transform width or height, the CB can be automatically (or implicitly) split until the TB size limits in the horizontal and vertical directions are met.
[0147] In addition, for example, when intra prediction is applied, the intra prediction mode / type can be derived in units of CU (or CB), and the neighboring reference sample derivation and prediction sample generation process can be performed in units of TU (or TB). In this case, there can be one or more TUs (or TBs) in a CU (or CB) area, and in this case, multiple TUs or (TBs) can share the same intra prediction mode / type.
[0148] Meanwhile, for a quadtree coding tree scheme with nested multi-type trees, the following parameters may be signaled from the encoding apparatus to the decoding apparatus as SPS syntax elements. For example, at least one of the CTU size as a parameter indicating the size of the root node of the quadtree, MinQTSize as a parameter indicating the minimum allowed quadtree leaf node size, MaxBtSize as a parameter indicating the maximum allowed binary tree root node size, MaxTtSize as a parameter indicating the maximum allowed ternary tree root node size, MaxMttDepth as a parameter indicating the maximum allowed hierarchical depth of multi-type tree partitioning starting from the quadtree leaf node, MinBtSize as a parameter indicating the minimum allowed binary tree leaf node size, or MinTtSize as a parameter indicating the minimum allowed ternary tree leaf node size may be signaled.
[0149] As an embodiment using a 4:2:0 chroma format, the CTU size can be set to 128x128 luma blocks and two 64x64 chroma blocks corresponding to these luma blocks. In this case, MinOTSize can be set to 16x16, MaxBtSize can be set to 128x128, MaxTtSize can be set to 64x64, MinBtSize and MinTtSize can be set to 4x4, and MaxMttDepth can be set to 4. Quadtree partitioning can be applied to the CTU to generate quadtree leaf nodes. Quadtree leaf nodes can be referred to as leaf QT nodes. The size of the quadtree leaf node can range from 16x16 size (e.g., MinOTSize) to 128x128 size (e.g., CTU size). If the leaf QT node is 128x128, it may not be additionally partitioned into a binary tree / ternary tree. This is because, in this case, even if it is partitioned, it exceeds MaxBtsize and MaxTtszie (e.g., 64x64). In other cases, the leaf QT node can be further split into a multi-type tree. Therefore, the leaf QT node is the root node of the multi-type tree, and the leaf QT node can have a multi-type tree depth (mttDepth) value of 0. If the multi-type tree depth reaches MaxMttdepth (for example, 4), further splitting can be ignored. If the width of the multi-type tree node is equal to MinBtSize and is less than or equal to 2xMinTtSize, further horizontal splitting can be ignored. If the height of the multi-type tree node is equal to MinBtSize and is less than or equal to 2xMinTtSize, further vertical splitting can be ignored. When splitting is not considered, the encoding device can skip the signaling of the splitting information. In this case, the decoding device can derive splitting information with a predetermined value.
[0150] Meanwhile, one CTU may include a coding block of luma samples (hereinafter referred to as "luminance block") and two coding blocks of chroma samples corresponding thereto (hereinafter referred to as "chroma blocks"). The above-mentioned coding tree scheme may be applied equally or separately to the luma blocks and chroma blocks of the current CU. Specifically, the luma blocks and chroma blocks in one CTU may be partitioned into the same block tree structure, and in this case, the tree structure is represented as SINGLE_TREE. Alternatively, the luma blocks and chroma blocks in one CTU may be partitioned into separate block tree structures, and in this case, the tree structure may be represented as DUAL_TREE. That is, when the CTU is divided into dual trees, the block tree structure for the luma block and the block tree structure for the chroma block may exist separately. In this case, the block tree structure for the luma block may be referred to as DUAL_TREE_LUMA, and the block tree structure for the chroma component may be referred to as DUAL_TREE_CHROMA. For P and B slices / tile groups, the luma blocks and chroma blocks in one CTU may be restricted to have the same coding tree structure. However, for I slices / patch groups, luma blocks and chroma blocks may have separate block tree structures. If a separate block tree structure is applied, luma CTBs may be divided into CUs based on a specific coding tree structure, and chroma CTBs may be divided into chroma CUs based on another coding tree structure. That is, this means that a CU in an I slice / patch group to which a separate block tree structure is applied may include coding blocks for the luma component or coding blocks for two chroma components, and a CU in a P or B slice / patch group may include blocks for three color components (one luma component and two chroma components).
[0151] Although a quadtree coding tree structure with nested multi-type trees has been described, the structure for partitioning the CU is not limited thereto. For example, the BT structure and the TT structure may be interpreted as concepts included in the multi-partition tree (MPT) structure, and the CU may be interpreted as being partitioned by the QT structure and the MPT structure. In the example where the CU is partitioned by the QT structure and the MPT structure, a syntax element (e.g., MPT_split_type) including information on how many blocks a leaf node of the QT structure is partitioned into and a syntax element (e.g., MPT_split_mode) including information on whether a leaf node of the QT structure is partitioned into vertical or horizontal directions may be signaled to determine the partition structure.
[0152] In another example, the CU may be split in a manner different from the QT structure, the BT structure, or the TT structure. That is, instead of splitting a CU of a lower depth into 1 / 4 of a CU of a higher depth according to the QT structure, splitting a CU of a lower depth into 1 / 2 of a CU of a higher depth according to the BT structure, or splitting a CU of a lower depth into 1 / 4 or 1 / 2 of a CU of a higher depth according to the TT structure, in some cases the CU of a lower depth may be split into 1 / 5, 1 / 3, 3 / 8, 3 / 5, 2 / 3, or 5 / 8 of a CU of a higher depth, and the method of splitting the CU is not limited thereto.
[0153] When a portion of a tree node block exceeds the lower and / or right picture boundaries of a picture, the corresponding tree node block may be restricted so that samples in all coded CUs are located within the picture boundaries. In this case, for example, the following partitioning rules may be applied.
[0154] Division rule 1: As part of a tree node block that exceeds both the lower and right screen boundaries, when the tree node block is a QT node whose size is greater than the minimum QT size, the tree node block can be divided in the QT division mode; when the size of the tree node block is equal to or less than the minimum QT size or is not a QT node, the tree node block is divided in the horizontal binary division mode SPLIT_BT_HOR mode.
[0155] Division rule 2: As a case where division rule 1 is not satisfied and part of the tree node block exceeds the lower screen boundary, when the tree node block is a QT node whose size is greater than the minimum QT size and the maximum BT size, the tree node block is divided in the QT division mode, and when the tree node block is a BTT node whose size is equal to or less than the minimum QT size, the tree node block is divided in the horizontal binary division mode.
[0156] Split Rule 3: In the case where Split Rule 1 and Split Rule 2 are not satisfied and a portion of the tree node block exceeds the right screen boundary, when the tree node block is a QT node whose size is larger than the minimum QT size and the maximum BT size, the tree node block is split in the QT split mode. When the tree node block's size is larger than the minimum QT size and equal to or smaller than the maximum BT size, the tree node block is split in the QT split mode or the horizontal binary split mode. Alternatively, when the tree node block is a BTT node or its size is equal to or smaller than the minimum QT size, the tree node block is split in the horizontal binary split mode.
[0157] As described above, a quadtree coding block structure with multiple tree types can provide a very flexible block segmentation structure. Due to the various segmentation types supported in the multiple tree types, different segmentation patterns can potentially produce the same coding block structure in some cases. By limiting the occurrence of such redundant segmentation patterns in the encoding and decoding devices, the amount of segmentation information data can be reduced.
[0158] For example, Figure 9 The following shows the possible redundant partitioning patterns that may appear in binary tree partitioning and ternary tree partitioning. Figure 9 As shown, the continuous binary partitions 910 and 920 for one direction of the two-step level have the same coding block structure as the binary partition for the center partition after the ternary partition. In this case, the binary tree partition for the center blocks 930 and 940 of the ternary tree partition can be prohibited. This prohibition applies to CUs of all pictures. When this specific partition is prohibited, the signaling of the corresponding syntax element can be modified by reflecting this prohibition, thereby reducing the number of bits for signaling the partition. For example, as Figure 9 As shown in the example shown in , when binary tree partitioning for the center block of a CU is prohibited, the syntax element mtt_split_cu_binary_flag specifying whether the partition is binary or ternary is not signaled and its value may be derived as 0 by the decoding apparatus.
[0159] Virtual Pipeline Data Unit
[0160] A virtual pipeline data unit (VPDU) can be defined for pipeline processing within a picture. A VPDU can be defined as a non-overlapping unit within a picture. In a hardware decoding device, consecutive VPDUs can be processed simultaneously by multiple pipeline stages. In most pipeline stages, the VPDU size can be roughly proportional to the buffer size. Therefore, from a hardware perspective, it is important to keep the VPDU size small when considering the buffer size. In most hardware decoding devices, the VPDU size can be set to be equal to the maximum transform block (TB) size. For example, the VPDU size can be 64×64 (64×64 luminance samples) in size. Alternatively, in VVC, the above-mentioned ternary tree (TT) and / or binary tree (BT) partitioning can be considered to change (increase or decrease) the VPDU size.
[0161] Additionally, to keep the VPDU size to 64×64 luma samples, you can limit Figure 23 Partitioning of the CU shown. More specifically, at least one of the following restrictions may apply.
[0162] Restriction 1: Ternary partitioning of a CU whose width or height is at least 128 is not allowed.
[0163] Restriction 2: Horizontal binary tree partitioning of a CU with a width of 128 and a height of 64 or less (ie, a 128×N CU, N≤64) is not allowed.
[0164] Restriction 3: Vertical binary tree partitioning of CUs with a width of 64 or less or a height of 128 (ie, N×128 CUs, N≤64) is not allowed.
[0165] Figure 10 An example of the partitioning of CUs currently allowed under the above restrictions is shown in FIG. Figure 10 In the figure, the thick solid line represents block partitioning, and the remaining solid lines represent CUs.
[0166] Reference Figure 10 , according to restriction 1, vertical ternary tree partitioning of the 128×128 CU 1010 is not allowed. In addition, according to restriction 1, horizontal ternary tree partitioning of the 128×128 CU 1020 is not allowed. In addition, according to restriction 3, vertical binary tree partitioning of the 64×128 CU 1030 is not allowed. In addition, according to restriction 2, horizontal binary tree partitioning of the 128×64 CU 1040 is not allowed. In addition, according to restriction 1, vertical ternary tree partitioning of the 64×128 CU 1050 is not allowed. In addition, according to restriction 1, horizontal ternary tree partitioning of the 128×64 CU 1060 is not allowed. In addition, according to restriction 1, horizontal ternary tree partitioning of the 64×128 CU 1070 is not allowed. In addition, according to restriction 1, vertical ternary partitioning of the 128×64 CU 1080 is not allowed.
[0167] In addition, in the dual tree within the intra picture, different partitioning structures can be applied to the luma coding tree and the chroma coding tree. In the dual tree, a longer coding pipeline can be introduced, and in the chroma coding tree, smaller chroma blocks (for example, 2×2, 4×2, and 2×4) can be allowed according to the range of the QTBT MinQTSizeC value, MinBtSizeY, and MinTTSizeY. However, this may make it difficult to design actual decoding equipment. In addition, multiplication operations are required under the cross-component linear model (CCLM) mode, planar mode, angular mode, etc. In order to solve the above problems, in the dual tree, smaller chroma blocks (for example, 2×2, 4×2, and 2×4) can be limited by partitioning restrictions.
[0168] Overview of Intra Prediction
[0169] Intra prediction according to the present disclosure will be described below.
[0170] Intra-frame prediction may indicate a prediction of a prediction sample of a current block based on a reference sample in a picture to which the current block belongs (hereinafter referred to as the current picture). When intra-frame prediction is applied to the current block, neighboring reference samples to be used for intra-frame prediction of the current block may be derived. The neighboring reference samples of the current block may include samples adjacent to the left boundary of the current block of size nW×nH and a total of 2×nH samples adjacent to the lower left, samples adjacent to the upper boundary of the current block and a total of 2×nW samples adjacent to the upper right, and one sample adjacent to the upper left of the current block. Alternatively, the neighboring reference samples of the current block may include multiple columns of upper neighboring samples and multiple rows of left neighboring samples. In addition, the neighboring reference samples of the current block may include a total of nH samples adjacent to the right boundary of the current block of size nW×nH, a total of nW samples adjacent to the lower boundary of the current block, and one sample adjacent to the lower right of the current block.
[0171] Some neighboring reference samples of the current block have not been decoded or may be unavailable. In this case, the decoder can construct neighboring reference samples to be used for prediction by replacing unavailable samples with available samples. Alternatively, the neighboring reference samples to be used for prediction can be constructed using interpolation of available samples.
[0172] When deriving neighboring reference samples, (i) the prediction sample can be derived based on an average or interpolation of neighboring reference samples of the current block, and (ii) the prediction sample can be derived based on reference samples located in a specific (prediction) direction relative to the prediction sample among the neighboring reference samples of the current block. The case of (i) can be referred to as a non-directional mode or a non-angular mode, and the case of (ii) can be referred to as a directional mode or an angular mode.
[0173] Alternatively, a prediction sample may be generated by interpolation using a first neighboring sample located in the prediction direction of the intra prediction mode of the current block among neighboring reference samples and a second neighboring sample located in the opposite direction based on the prediction target sample of the current block. This may be referred to as linear interpolation intra prediction (LIP).
[0174] Alternatively, a linear model may be used to generate chroma prediction samples based on luma samples. This is referred to as a linear model (LM) mode.
[0175] In addition, the temporary prediction sample of the current block can be derived based on the filtered neighboring reference sample, and the prediction sample of the current block can be derived by weighted summing the temporary prediction sample and at least one reference sample derived according to the intra prediction mode among the existing neighboring reference samples (i.e., the unfiltered neighboring reference sample). This situation can be called position-dependent intra prediction (PDPC).
[0176] In addition, a reference sample row with the highest prediction accuracy can be selected from multiple neighboring reference sample rows of the current block to derive the prediction sample using the reference sample in the corresponding row located in the prediction direction. In this case, information about the reference sample row used (e.g., intra_luma_ref_idx) can be encoded and signaled in the bitstream. This situation can be called multi-reference row (MRL) intra prediction or MRL-based intra prediction.
[0177] In addition, the current block can be divided into vertical sub-partitions or horizontal sub-partitions to perform intra prediction for each sub-partition based on the same intra prediction mode. At this time, the neighboring reference samples for intra prediction can be derived in units of sub-partitions. That is, the reconstructed samples of the previous sub-partition in the encoding / decoding order can be used as the neighboring reference samples of the current sub-partition. In this case, the intra prediction mode of the current block is also applied to the sub-partition, and the neighboring reference samples are derived and used in units of sub-partitions, thereby increasing the intra prediction performance. This prediction method can be called intra sub-partitioning (ISP) or ISP-based intra prediction.
[0178] Intra-frame prediction techniques may be referred to by various terms such as intra-frame prediction type or additional intra-frame prediction mode to distinguish them from directional or non-directional intra-frame prediction modes. For example, the intra-frame prediction technique (intra-frame prediction type or additional intra-frame prediction mode) may include at least one of LIP, LM, PDPC, MRL, ISP, or MIP. In addition, post-filtering may be performed on the derived prediction samples if necessary.
[0179] Specifically, the intra prediction process may include an intra prediction mode / type determination step, a neighboring reference sample derivation step, and a prediction sample derivation step based on the intra prediction mode / type. In addition, if necessary, post-filtering may be performed on the derived prediction samples.
[0180] Figure 11 is a flowchart illustrating a video / image encoding method based on intra-frame prediction.
[0181] Figure 11 The encoding method can be Figure 2The image encoding device is performed. Specifically, step S1110 can be performed by the intra-frame prediction unit 185, and step S1120 can be performed by the residual processor. Specifically, step S1120 can be performed by the subtractor 115. Step S1130 can be performed by the entropy encoder 190. The prediction information of step S1130 can be derived by the intra-frame prediction unit 185, and the residual information of step S1130 can be derived by the residual processor. The residual information is information about the residual sample. The residual information may include information about the quantized transform coefficient of the residual sample. As described above, the residual sample can be derived as a transform coefficient by the transformer 120 of the image encoding device, and the transform coefficient can be derived as a transform coefficient quantized by the quantizer 130. The information about the quantized transform coefficient can be encoded by the entropy encoder 190 through the residual encoding process.
[0182] The image encoding device may perform intra prediction for the current block (S1110). The image encoding device may determine the intra prediction mode / type of the current block, derive neighboring reference samples of the current block, and then generate prediction samples in the current block based on the intra prediction mode / type and the neighboring reference samples. Here, the intra prediction mode / type determination, neighboring reference sample derivation, and prediction sample generation processes may be performed simultaneously, or any one process may be performed before the other.
[0183] Figure 12 is a view illustrating a configuration of an intra prediction unit according to the present disclosure.
[0184] like Figure 12 As shown, the intra-frame prediction unit 185 of the image encoding device may include an intra-frame prediction mode / type determination unit 186, a reference sample derivation unit 187, and / or a prediction sample derivation unit 188. The intra-frame prediction mode / type determination unit 186 may determine the intra-frame prediction mode / type of the current block. The reference sample derivation unit 187 may derive neighboring reference samples of the current block. The prediction sample derivation unit 188 may derive the prediction sample of the current block. In addition, although not shown, when performing the prediction sample filtering process described below, the intra-frame prediction unit 185 may further include a prediction sample filter (not shown).
[0185] The image encoding apparatus may determine a mode / type to be applied to a current block among a plurality of intra prediction modes / types. The image encoding apparatus may compare rate-distortion (RD) costs of intra prediction modes / types and determine an optimal intra prediction mode / type for the current block.
[0186] In addition, the image encoding device may perform a prediction sample filtering process. Prediction sample filtering may be referred to as post-filtering. Through the prediction sample filtering process, some or all prediction samples may be filtered. In some cases, the prediction sample filtering process may be omitted.
[0187] Refer again Figure 11 , the image encoding apparatus may generate residual samples of the current block based on the predicted samples or the filtered predicted samples (S1120). The image encoding apparatus may derive the residual samples by subtracting the predicted samples from the original samples of the current block. That is, the image encoding apparatus may derive the residual sample values by subtracting the corresponding predicted sample values from the original sample values.
[0188] The image encoding device may encode image information including information about intra-frame prediction (prediction information) and residual information of residual samples (1130). The prediction information may include intra-frame prediction mode information and / or intra-frame prediction technology information. The image encoding device may output the encoded image information in the form of a bitstream. The output bitstream may be transmitted to the image decoding device via a storage medium or a network.
[0189] The residual information may include a residual coding syntax (described later). The image encoding apparatus may transform / quantize the residual samples and derive quantized transform coefficients. The residual information may include information about the quantized transform coefficients.
[0190] In addition, as described above, the image encoding device can generate a reconstructed picture (including reconstructed samples and reconstructed blocks). To this end, the image encoding device can perform dequantization / inverse transformation on the quantized transform coefficients and derive (modified) residual samples. The reason for transforming / quantizing the residual samples and then performing dequantization / inverse transformation is to derive residual samples that are the same as the residual samples derived by the image decoding device. The image encoding device can generate a reconstructed block including reconstructed samples of the current block based on the predicted samples and the (modified) residual samples. Based on the reconstructed block, a reconstructed picture of the current picture can be generated. As described above, the in-loop filtering process is further applied to the reconstructed picture.
[0191] Figure 13 is a flowchart illustrating a video / image decoding method based on intra-frame prediction.
[0192] The image decoding device can perform operations corresponding to those performed by the image encoding device.
[0193] Figure 13 The decoding method can be obtained by Figure 3The image decoding device is performed. Steps S1310 to S1330 can be performed by the intra prediction unit 265, and the prediction information of step S1310 and the residual information of step S1340 can be obtained from the bit stream by the entropy decoder 210. The residual processor of the image decoding device can derive the residual samples of the current block based on the residual information (S1340). Specifically, the dequantizer 220 of the residual processor can perform dequantization based on the dequantized transform coefficient derived from the residual information to derive the transform coefficient, and the inverse transformer 230 of the residual processor can perform inverse transform on the transform coefficient to derive the residual sample of the current block. Step S650 can be performed by the adder 235 or the reconstructor.
[0194] Specifically, the image decoding device can derive the intra-frame prediction mode / type of the current block based on the received prediction information (intra-frame prediction mode / type information) (S1310). The image decoding device can derive the neighboring reference samples of the current block (S1320). The image decoding device can generate prediction samples in the current block based on the intra-frame prediction mode / type and the neighboring reference samples (S1330). In this case, the image decoding device can perform a prediction sample filtering process. Prediction sample filtering can be called post-filtering. Through the prediction sample filtering process, some or all prediction samples can be filtered. In some cases, the prediction sample filtering process can be omitted.
[0195] The image decoding device may generate residual samples of the current block based on the received residual information (S1340). The image decoding device may generate reconstructed samples of the current block based on the predicted samples and the residual samples and derive a reconstructed block including the reconstructed samples (S1350). Based on the reconstructed block, a reconstructed picture of the current picture may be generated. As described above, the in-loop filtering process is further applied to the reconstructed picture.
[0196] Figure 14 is a view illustrating a configuration of the intra prediction unit 265 according to the present disclosure.
[0197] like Figure 14As shown, the intra-frame prediction unit 265 of the image decoding device may include an intra-frame prediction mode / type determination unit 266, a reference sample derivation unit 267, and a prediction sample derivation unit 268. The intra-frame prediction mode / type determination unit 266 may determine the intra-frame prediction mode / type of the current block based on the intra-frame prediction mode / type information generated and signaled by the intra-frame prediction mode / type determination unit 186 of the image encoding device, and the reference sample derivation unit 267 may derive the neighboring reference samples of the current block from the reconstructed reference area in the current picture. The prediction sample derivation unit 268 may derive the prediction sample of the current block. In addition, although not shown, when performing the above-mentioned prediction sample filtering process, the intra-frame prediction unit 265 may further include a prediction sample filter (not shown).
[0198] For example, the intra-frame prediction mode information may include flag information (e.g., intra_luma_mpm_flag and / or intra_chroma_mpm_flag) indicating whether the most probable mode (MPM) or the residual mode is applied to the current block, and when MPM is applied to the current block, the intra-frame prediction mode information may also include index information (e.g., intra_luma_mpm_idx and / or intra_chroma_mpm_idx) indicating one of the intra-frame prediction mode candidates (MPM candidates). The intra-frame prediction mode candidate (MPM candidate) may be composed of an MPM candidate list or an MPM list. In addition, when MPM is not applied to the current block, the intra-frame prediction mode information may also include residual mode information (e.g., intra_luma_mpm_remainder and / or intra_chroma_mpm_remainder) indicating one of the remaining intra-frame prediction modes other than the intra-frame prediction mode candidate (MPM candidate). The image decoding device may determine the intra-frame prediction mode of the current block based on the intra-frame prediction mode information. The MPM candidate modes may include intra prediction modes of neighboring blocks (eg, left neighboring blocks and / or above neighboring blocks) of the current block and additional candidate modes.
[0199] Figure 15a is a diagram illustrating an intra prediction direction according to an embodiment of the present disclosure.
[0200] In an example, the intra prediction mode may include two non-directional intra prediction modes and 33 directional intra prediction modes. The non-directional intra prediction mode may include a planar mode and a DC mode, and the directional intra prediction mode may include intra prediction modes #2 to #34. The planar intra prediction mode may be referred to as the planar mode, and the DC intra prediction mode may be referred to as the DC mode.
[0201] Alternatively, to capture any edge directions present in natural videos, such as Figure 8As shown, the intra prediction mode can include two non-directional intra prediction modes and 65 extended directional intra prediction modes. The non-directional intra prediction mode can include a planar prediction mode and a DC prediction mode, and the extended directional intra prediction mode can include intra prediction modes #2 to #66. The intra prediction mode can be applied to blocks of all sizes and both luma components (luminance blocks) and chroma components (chroma blocks).
[0202] Alternatively, the intra prediction mode may include two non-directional intra prediction modes and 129 directional intra prediction modes. The non-directional intra prediction mode may include a planar prediction mode and a DC prediction mode, and the directional intra prediction mode may include intra prediction modes #2 to #130.
[0203] In addition to the above intra prediction modes, intra prediction modes can also include a cross-component linear model (CCLM) mode for chroma samples. The CCLM mode can be divided into L_CCLM, T_CCLM, and LT_CCLM according to whether the LM parameter derivation considers the left sample, the upper sample, or both, and can be applied only to the chroma component.
[0204] The intra prediction modes may be indexed, for example, as shown in Table 2 below.
[0205] [Table 2]
[0206] Intra prediction mode Association Name 0 INTRA_PLANAR 1 INTRA_DC 2..66 INTRA_ANGULAR2..INTRA_ANGULAR66 81..83 INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLM
[0207] Referring to Table 2, as a non-directional intra prediction mode, the planar mode may have a mode number of 0, and the DC mode may have a mode number of 1. In addition, the mode numbers of the plurality of directional intra prediction modes may be 2 to 66. In addition, the mode numbers of the additional intra prediction modes, LT_CCLM mode, L_CCLM mode, and T_CCLM mode may be 81 to 83.
[0208] Figure 15b FIG. 1 is a diagram illustrating an intra prediction direction according to another embodiment of the present disclosure. Figure 15b In FIG, the dotted line direction shows the wide angle mode applied only to non-square blocks. Figure 15b As shown, in order to capture any edge direction present in natural video, the intra prediction mode according to the embodiment may include two non-directional intra prediction modes and 93 directional intra prediction modes. The non-directional intra prediction mode may include a planar prediction mode and a DC prediction mode, and the directional intra prediction mode may include intra prediction modes #2 to #80 to #-1 to #-14, as shown in FIG. Figure 15bThe planar mode can be represented by INTRA_PLANAR, and the DC mode can be represented by INTRA_DC. In addition, the directional intra prediction mode can be represented by INTRA_ANGULAR-14 to INTRA_ANGULAR-1 and INTRA_ANGULAR2 to INTRA_ANGULAR80.
[0209] In addition, the intra-frame prediction technology information can be implemented in various forms. For example, the intra-frame prediction technology information may include intra-frame prediction type index information that specifies one of a plurality of intra-frame prediction technologies. As another example, the intra-frame prediction technology information may include reference sample row information (e.g., intra_luma_ref_idx) indicating whether MRL is applied to the current block and which reference sample row to use if applied, ISP flag information (e.g., intra_subpartitions_mode_flag) indicating whether ISP is applied to the current block, ISP type information (e.g., intra_subpartitions_split_flag) specifying the split type of the sub-partition when ISP is applied, flag information specifying whether PDPC is applied, or flag information specifying whether LIP is applied. In the present disclosure, the ISP flag information may be referred to as an ISP application indicator.
[0210] The intra-frame prediction mode information and / or the intra-frame prediction technology information can be encoded / decoded by the encoding method described in the present disclosure. For example, the intra-frame prediction mode information and / or the intra-frame prediction technology information can be encoded / decoded by entropy coding based on truncated (Rice) binary code (e.g., CABAC, CAVLC).
[0211] Hereinafter, the chroma format and intra prediction of a chroma component block will be described.
[0212] Overview of Chroma Formats
[0213] Figures 16a to 16c It is a view illustrating the relationship between a luminance component block (luminance component array) and a chrominance component block (chrominance component array) according to a chroma format.
[0214] A source or coded picture / image may include a luma component (Y) block and two chroma component (CB, CR) blocks. That is, one pixel of a picture / image may include a luma sample and two chroma samples (CB, CR). A color format may represent the arrangement format of luma samples and chroma samples (CB, CR) and may be referred to as a chroma format. The chroma format may be predefined or may be adaptively signaled. For example, the chroma format may be signaled based on at least one of chroma_format_idc or separate_colour_plane_flag as shown in Table 3.
[0215] [Table 3]
[0216] chroma_format_idc separate_colour_plane_flag ChromaArrayType Chroma format SubWidthC SubHeightC 0 0 0 monochrome 1 1 1 0 1 4:2:0 2 2 2 0 2 4:2:2 2 1 3 0 3 4:4:4 1 1 3 1 0 4:4:4 1 1
[0217] In Table 3 above, chroma_format_idc may specify the formats of luma samples and their corresponding chroma samples, and separate_colour_plane_flag may specify whether the three color components Y, cb, and cr are separately encoded in a 4:4:4 chroma format.
[0218] When chroma_format_idc is 0, the chroma format corresponds to the monochrome format, and the current block does not include a chroma component block and may include only a luma component block.
[0219] Alternatively, when chroma_format_idc is 1, the chroma format may correspond to a 4:2:0 chroma format, and the width and height of the chroma component block may correspond to half the width and half the height of the luminance component block, respectively. Figure 9 Shows the positional relationship between luma samples and chroma samples in the 4:2:0 chroma format.
[0220] Alternatively, when chroma_format_idc is 2, the chroma format may correspond to a 4:2:2 chroma format, the width of the chroma component blocks may correspond to half the width of the luminance component blocks, and the height of the chroma component blocks may be equal to the height of the luminance component blocks. Figure 9 Shows the positional relationship between luma samples and chroma samples in a 4:2:2 chroma format.
[0221] Alternatively, when chroma_format_idc is 3, the chroma format may correspond to a 4:4:4 chroma format, and the width and height of the chroma component block may correspond to the width and height of the luminance component block, respectively. Figures 16a to 16c Shows the positional relationship between luma samples and chroma samples in a 4:4:4 chroma format.
[0222] SubWidthC and SubHeightC represent the ratio of luma samples to chroma samples. For example, when the width and height of the luma component block are CbWidth and CbHeight respectively, the width and height of the chroma component block can be derived as (CbWidth / SubwidthC) and (CbHeight / SubHeightC) respectively.
[0223] Minimum size limit for chroma blocks
[0224] In image encoding / decoding processing, the size of chroma blocks can have a significant impact on throughput. For example, if chroma blocks of a predetermined size or smaller are excessively generated, the throughput of the image encoding / decoding process may be significantly degraded. To address this issue, CU partitioning can be restricted so that chroma blocks of a predetermined size or smaller are not generated.
[0225] Specifically, in a dual-tree structure, block partitioning of luma blocks or chroma blocks may be restricted so as not to generate 2×2, 2×4, or 4×2 chroma blocks. For example, in a dual-tree structure, quadtree partitioning and / or binary partitioning of 2×8, 4×4, or 8×2 chroma blocks may be restricted. Additionally, in a dual-tree structure, ternary partitioning of 2×8, 2×16, 4×4, 4×8, 8×2, or 8×4 chroma blocks may be restricted.
[0226] In a single-tree structure, the partition structure of the current block can be switched from a single-tree structure to a dual-tree structure according to the minimum chroma intra prediction unit (SCIPU) restriction. For example, according to the SCIPU restriction, the chroma block can be restricted to include at least 16 samples. Therefore, due to block partitioning, when generating 2×2, 2×4, or 4×2 chroma blocks, block partitioning of the chroma block is prohibited, and block partitioning can be performed only on the luma block. The partition structure of the current block that switches from a single-tree structure to a dual-tree structure can be referred to as a local dual-tree structure.
[0227] Figures 17a to 17c is a view illustrating an example of syntax for switching a single tree structure to a dual tree structure. Figures 17a to 17c The syntax of a coding_tree is illustrated and divided into three diagrams for convenience.
[0228] Reference Figures 17a to 17c, the prediction mode type of each CU generated from the current CTU can be determined based on the value of the parameter modeTypeCondition in the coding_tree syntax. Here, modeTypeCondition can specify the prediction mode characteristics of each CU. In addition, modeType can specify the prediction mode type of each CU. In the example, modeType can have any one of MODE_TYPE_ALL, which specifies that all prediction modes such as intra prediction, IBC, palette mode, inter prediction, etc. are available, MODE_TYPE_INTRA, which specifies that only intra prediction, IBC and palette mode are available, and MODE_TYPE_INTER, which specifies that only inter prediction mode is available.
[0229] The modeTypeCondition of the current CU may have any one of a first value (eg, 0) to a third value (eg, 2) according to a predetermined condition. In addition, the modeType may be determined based on the value of the modeTypeCondition.
[0230] Specifically, refer to Figure 17a , when modeTypeCondition has a second value (eg, 1) ( 1710 ), modeType may be determined as MODE_TYPE_INTRA ( 1720 ).
[0231] Alternatively, when modeTypeCondition has a third value (e.g., 2) (1730), modeType may be determined based on the value of mode_constraint_flag. Here, mode_constraint_flag may specify whether the inter prediction mode is applied to the current CU. For example, the first value (e.g., 0) of mode_constraint_flag may specify that only the inter prediction mode is applied to the current CU. In addition, in this case, the modeType of the current CU may be determined as MODE_TYPE_INTER. The second value (e.g., 1) of mode_constraint_flag may specify that the inter prediction mode may not be applied to the current CU. In addition, in this case, the modeType may be determined as MODE_TYPE_INTRA (1740).
[0232] Alternatively, when modeTypeCondition has a value other than the second value (e.g., 1) and the third value (e.g., 2) (e.g., when modeTypeCondition has a first value (e.g., 0)), modeType may be determined to be the same value as modeTypeCurr (1750). Here, modeTypeCurr is a calling input value of the coding_tree syntax and may mean the prediction mode type of the current CU. In an example, when the current CU is the root node of the partition tree, modeTypeCurr may be MODE_TYPE_ALL.
[0233] The modeType determined based on the value of modeTypeCondition may be used as a calling input value for calling a coding_tree syntax of a lower layer CU obtained by splitting the current CU.
[0234] In addition, based on the value of the modeType of the current CU, the division structure treeType of the lower CU generated by dividing the current CU can be determined (1760). For example, when the modeType of the current CU is MODE_TYPE_INTRA, the division structure of the lower CU can be determined as dual-tree luminance DUAL_TREE_LUMA. On the contrary, when the modeType is not MODE_TYPE_INTRA, the division structure of the lower CU can be the division structure treeTypeCurr of the current CU.
[0235] Information about the partition structure of the lower layer CU may be stored in a parameter treeType. TreeType and modeType may be used as input values for calling the coding_tree syntax of the lower layer CU by further partitioning the current CU.
[0236] When the modeType of the lower layer CU is MODE_TYPE_INTRA, the current CU can be additionally divided into a dual tree structure. Specifically, refer to Figure 17b , when the modeType of the lower layer CU is MODE_TYPE_INTRA, the lower layer CU may have a tree structure of dual tree luminance DUAL_TREE_LUMA. That is, the luminance component and the chrominance component of the current CU may be divided into having separate tree structures (1770). In addition, referring to Figure 17c , when the modeTypeCurr of the current CU is MODE_TYPE_ALL and the modeType of the lower layer CU is MODE_TYPE_INTRA, the chroma component of the current CU is not split, and the lower layer CU may have a tree structure of dual-tree chroma DUAL_TREE_CHROMA (1780).
[0237] Therefore, the modeType of the lower layer CU can be determined based on the modeTypeCondition. In addition, when the modeType of the lower layer CU is MODE_TYPE_INTRA, the luma component of the lower layer CU has a dual-tree luma tree structure, and the chroma component of the lower layer CU can have a dual-tree chroma tree structure. That is, the lower layer CU partially has a dual-tree structure within the current CTU. This division structure can be called a partial dual-tree structure.
[0238] Figure 18 is a view illustrating an example of a process of deriving prediction mode characteristic information.
[0239] Reference Figure 18 , modeTypeCondition as prediction mode characteristic information may have a first value (eg, 0) to a third value (eg, 2) based on conditions 1 to 3 below.
[0240] Specifically, when at least one of Condition 1-1 or Condition 1-2, which are sub-conditions of Condition 1, is satisfied, modeTypeCondition may have a first value (eg, 0).
[0241] Here, condition 1-1 may mean that the current CU is included in an I slice, each CTU included in the corresponding slice is implicitly quadtree-partitioned into 64×64 luma sample CUs, and the 64×64 luma sample CU is a root node of the dual tree.
[0242] Condition 1-2 may mean that modeTypeCurr is not MODE_TYPE_ALL.
[0243] When the above-described condition 1 is not satisfied and at least one of conditions 2-1 to 2-3, which are sub-conditions of condition 2, is satisfied, modeTypeCondition may have a second value (for example, 1).
[0244] Here, condition 2-1 may mean that the product of the width and height of the current CU is 64, and the partition mode of the current CU is the quadtree partition mode.
[0245] Condition 2-2 may mean that the product of the width and height of the current CU is 64, and the split mode of the current CU is the horizontal three-pronged split mode or the vertical three-pronged split mode.
[0246] Condition 2-3 may mean that the product of the width and height of the current CU is 32, and the partition mode of the current CU is a horizontal binary partition mode or a vertical binary partition mode.
[0247] When both of the above conditions 1 and 2 are not satisfied and at least one of the conditions 3-1 or 3-2 as sub-conditions of condition 3 is satisfied, modeTypeCondition may have a second value (e.g., 1) or a third value (e.g., 2) depending on whether the current CU is included in an I slice. For example, as a case where at least one of the conditions 3-1 or 3-2 is satisfied, when the current CU is included in an I slice, modeTypeCondition may have a second value, and when the current CU is not included in an I slice, modeTypeCondition may have a third value.
[0248] Here, condition 3-1 may mean a case where the product of the width and height of the current CU is 64 and the partition mode of the current CU is a horizontal binary partition mode or a vertical binary partition mode.
[0249] Condition 3-2 may mean a case where the product of the width and height of the current CU is 128 and the split mode of the current CU is the horizontal trifurcated split mode or the vertical trifurcated split mode.
[0250] In addition, when all of the above conditions 1 to 3 are not satisfied, modeTypeCondition may have a first value (eg, 0).
[0251] In conditions 1 to 3, the current CU may refer to the luma block of the current CU. That is, the value of modeTypeCondition may be determined based on the size of the luma block of the current CU. In this case, the size of the chroma block of the current CU may be determined based on the color format (chroma format) of the current CU described in reference Table 3 and the size of the luma block of the current CU.
[0252] Based on the value of modeTypeCondition determined according to conditions 1 to 3, the prediction mode type of the lower layer CU obtained by splitting the current CU can be determined. For example, when modeTypeCondition has a first value (e.g., 0), the prediction mode type modeType of the lower layer CU can be determined as the prediction mode type modeTypeCurr of the current CU. Alternatively, when modeTypeCondition has a second value (e.g., 1), modeType can be determined as MODE_TYPE_INTRA. Alternatively, when modeTypeCondition has a third value (e.g., 2), modeType can be determined as MODE_TYPE_INTER or MODE_TYPE_INTRA based on the value of mode_constraint_flag.
[0253] Based on the value of each of modeTypeCurr and modeType determined by the above method, it can be determined whether to split the chroma block of the current CU. For example, when modeTypeCurr is MODE_TYPE_ALL and modeType is MODE_TYPE_INTRA, the splitting of the chroma block of the current CU can be prohibited. However, in this case, since the value of modeTypeCondition is determined based on the size of the luminance block of the current CU, the splitting of the chroma block of the current CU can be prohibited even if the minimum size limit of the chroma block (for example, at least 16 chroma samples) is not violated. This will refer to Figures 19a to 21 To describe in detail.
[0254] Figure 19a and Figure 19b is a view illustrating an example of a lower layer CU obtained by trifurcating the current CU for each color format.
[0255] Figure 19a A case is shown where the current CU including a 4×32 luma block whose product of width and height is 128 is horizontally trifurcated, as in the above-mentioned condition 3-2.
[0256] Reference Figure 19a , in the 4:2:0 color format, the lower layer CU obtained by performing horizontal trifurcations on the current CU may include 2×4 chroma blocks. In this case, based on condition 3-2 and the value of mode_constraint_flag that specifies whether the current CU is intra-coded without additional splitting, the horizontal trifurcations of the current CU may be prohibited. For example, as described above, when mode_constraint_flag has a second value (e.g., 1), the modeType of the lower layer CU may be determined to be MODE_TYPE_INTRA, and the horizontal trifurcations of the chroma blocks of the current CU may be prohibited.
[0257] On the contrary, in the 4:2:2 or 4:4:4 color format, the lower layer CU obtained by performing horizontal trifurcations on the current CU may not include 2×2, 2×4, or 4×2 chroma blocks. However, even in this case, based on condition 3-2 and the value of mode_constraint_flag, the modeType of the lower layer CU can be determined to be MODE_TYPE_INTRA, and horizontal trifurcations of the chroma blocks of the current CU can be prohibited.
[0258] Next, Figure 19b A case is shown where the current CU including a 16×8 luma block whose product of width and height is 128 is vertically trifurcated, as in the above-mentioned condition 3-2.
[0259] Reference Figure 19b In the 4:2:0 color format, the lower layer CU obtained by vertically trifurcating the current CU may include 2×4 chroma blocks. In this case, based on condition 3-2 and the value of mode_constraint_flag, vertical trifurcating of the chroma blocks of the current CU may be prohibited.
[0260] On the contrary, in the 4:2:2 or 4:4:4 color format, the lower layer CU obtained by vertically trifurcating the current CU may not include 2×2, 2×4, or 4×2 chroma blocks. However, even in this case, based on condition 3-2 and the value of mode_constraint_flag, the modeType of the lower layer CU can be determined to be MODE_TYPE_INTRA, and vertical trifurcating of the chroma blocks of the current CU can be prohibited.
[0261] Figure 20a and Figure 20b is a view illustrating an example of a lower layer CU obtained by vertically binary splitting the current CU for each color format.
[0262] Figure 20a A case is shown where a current CU including a 4×16 luma block whose product of width and height is 64 is vertically binary split, as in the above-mentioned condition 3-1.
[0263] Reference Figure 20a , in a 4:2:0 color format, the lower layer CU obtained by vertically binary splitting the current CU may include a 4×2 chroma block. In this case, based on condition 3-1 and the value of mode_constraint_flag that specifies whether the current CU is intra-coded without additional splitting, vertical binary splitting of the current CU may be prohibited. For example, as described above, when mode_constraint_flag has a second value (e.g., 1), the modeType of the lower layer CU may be determined to be MODE_TYPE_INTRA, and vertical binary splitting of the chroma block of the current CU may be prohibited.
[0264] On the contrary, in the 4:2:2 or 4:4:4 color format, the lower layer CU obtained by vertically binary splitting the current CU may not include 2×2, 2×4, or 4×2 chroma blocks. However, even in this case, based on condition 3-1 and the value of mode_constraint_flag, the modeType of the lower layer CU can be determined to be MODE_TYPE_INTRA, and vertical binary splitting of the chroma blocks of the current CU can be prohibited.
[0265] Next, Figure 20bA case is shown where a current CU including an 8×8 luma block whose product of width and height is 64 is vertically binary-split, as in the above-mentioned condition 3-1.
[0266] Reference Figure 20b In the 4:2:0 color format, the lower layer CU obtained by vertically binary splitting the current CU may include 2×4 chroma blocks. In this case, based on condition 3-2 and the value of mode_constraint_flag, the modeType of the lower layer CU may be determined to be MODE_TYPE_INTRA, and vertical binary splitting of the chroma blocks of the current CU may be prohibited.
[0267] On the contrary, in the 4:2:2 or 4:4:4 color format, the lower layer CU obtained by vertically binary splitting the current CU may not include 2×2, 2×4, or 4×2 chroma blocks. However, even in this case, based on condition 3-1 and the value of mode_constraint_flag, the modeType of the lower layer CU can be determined to be MODE_TYPE_INTRA, and vertical binary splitting of the chroma blocks of the current CU can be prohibited.
[0268] Figure 21 is a view illustrating an example of a lower layer CU obtained by vertically trifurcating the current CU for each color format.
[0269] Figure 21 A case is shown where the current CU including a 16×4 luma block whose product of width and height is 64 is vertically trifurcated, as in the above-mentioned condition 3-1.
[0270] Reference Figure 21 In the 4:2:0 color format, the lower layer CU obtained by vertically trifurcating the current CU may include a 2×2 chroma block. In this case, in an example, in order to limit the 2×2 chroma block, modeTypeCondition may be inferred to have a second value (e.g., 1) regardless of the value of mode_constraint_flag. As a result, mode_constraint_flag may not be signaled. Therefore, the modeType of the lower layer CU may be determined to be MODE_TYPE_INTRA, and vertical trifurcating of the chroma block of the current CU may be prohibited.
[0271] On the contrary, in the 4:2:2 or 4:4:4 color format, the lower layer CU obtained by vertically trifurcating the current CU may not include a 2×2 chroma block. However, even in this case, modeTypeCondition can be inferred to have a second value (e.g., 1) based on the above condition 3-1, and vertical trifurcating of the chroma block of the current CU can be prohibited.
[0272] according to Figure 18 According to conditions 1 to 3 of the 4:2:0 color format, additional splitting of chroma blocks may be prohibited according to the minimum size restriction of chroma blocks. However, in the 4:2:2 or 4:4:4 color format, additional splitting of chroma blocks may be prohibited even if the minimum size restriction of chroma blocks is not violated.
[0273] To solve this problem, according to an embodiment of the present disclosure, the value of modeTypeCondition may be determined based on the color format of the current CU and the size of the chroma block of the current CU.
[0274] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0275] Processing of derived prediction model characteristic information
[0276] Figure 22 is a view illustrating a process of deriving prediction mode characteristic information according to an embodiment of the present disclosure.
[0277] When the color format of the current CU is monochrome or 4:4:4 and each color component (e.g., Y, Cb, Cr) is encoded separately, the luminance block and chrominance block within the current CU may not exist at the same time. As a result, it is impossible to limit the division of the chrominance block based on the size of the luminance block.
[0278] In addition, as mentioned above Figures 19a to 21 As described, depending on the color format of the current CU, the division of the chroma block of the current block may be prohibited even if the minimum size restriction of the chroma block is not violated.
[0279] In order to solve this problem, Figure 18 Different from the example of , the process of deriving prediction mode characteristic information modeTypeCondition according to the embodiment of the present disclosure may be performed based on the color format of the current CU.
[0280] Reference Figure 22 , modeTypeCondition may have a first value (eg, 0) to a third value (eg, 2) based on conditions 4 to 6 below.
[0281] Specifically, when at least one of conditions 4-1 to 4-4, which are sub-conditions of condition 4, is satisfied, modeTypeCondition may have a first value (eg, 0).
[0282] Here, condition 4-1 may mean that the current CU is included in an I slice, each CTU included in the corresponding slice is implicitly quadtree-partitioned into 64×64 luma sample CUs, and the 64×64 luma sample CU is a root node of the dual tree.
[0283] Condition 4-2 may mean that modeTypeCurr is not MODE_TYPE_ALL.
[0284] Condition 4-3 may mean that each color component of the current CU is encoded separately (separate_colour_plane_flag=1). In another example, condition 4-3 may mean that the color format of the current CU is 4:4:4 format (chroma_format_idc=3).
[0285] Condition 4-4 may mean that the color format of the current CU is a monochrome format (chroma_format_idc=0).
[0286] When the above-described condition 4 is not satisfied and at least one of the conditions 5-1 or 5-2 as sub-conditions of the condition 5 is not satisfied, the modeTypeCondition may have a second value (eg, 1).
[0287] Here, condition 5-1 may mean that the product of the width and height of the chroma block of the current CU is 16, and the partition mode of the current CU is the quadtree partition mode. When the color format of the current CU is the 4:2:0 format, condition 5-1 may mean that the product of the width and height of the luminance block of the current CU is 64 and the partition mode of the current CU is the quadtree partition mode. Alternatively, when the color format of the current CU is the 4:2:2 format, condition 5-1 may mean that the product of the width and height of the luminance block of the current CU is 32 and the partition mode of the current CU is the quadtree partition mode.
[0288] Condition 5-2 may mean that the product of the width and height of the chroma block of the current CU is 16 and the division mode of the current CU is the horizontal three-pronged division mode or the vertical three-pronged division mode. When the color format of the current CU is the 4:2:0 format, the condition 5-2 may mean that the product of the width and height of the luminance block of the current CU is 64 and the division mode of the current CU is the horizontal three-pronged division mode or the vertical three-pronged division mode. Alternatively, when the color format of the current CU is the 4:2:2 format, the condition 5-2 may mean that the product of the width and height of the luminance block of the current CU is 32 and the division mode of the current CU is the horizontal three-pronged division mode or the vertical three-pronged division mode.
[0289] When both of the above conditions 4 and 5 are not satisfied and at least one of the conditions 6-1 or 6-2 as sub-conditions of condition 6 is satisfied, modeTypeCondition may have a second value (e.g., 1) or a third value (e.g., 2) depending on whether the current CU is included in an I slice. For example, as a case where at least one of the conditions 6-1 or 6-2 is satisfied, when the current CU is included in an I slice, modeTypeCondition may have the second value, and when the current CU is not included in an I slice, modeTypeCondition may have the third value.
[0290] Here, condition 6-1 may mean that the product of the width and height of the chroma block of the current CU is 16 and the division mode of the current CU is the horizontal binary division mode or the vertical binary division mode. When the color format of the current CU is the 4:2:0 format, condition 6-1 may mean that the product of the width and height of the luminance block of the current CU is 64 and the division mode of the current CU is the horizontal binary division mode or the vertical binary division mode. Alternatively, when the color format of the current CU is the 4:2:2 format, condition 6-1 may mean that the product of the width and height of the luminance block of the current CU is 32 and the division mode of the current CU is the horizontal binary division mode or the vertical binary division mode.
[0291] Condition 6-2 may mean a case where the product of the width and height of the chroma block of the current CU is 32 and the division mode of the current CU is the horizontal three-pronged division mode or the vertical three-pronged division mode. When the color format of the current CU is the 4:2:0 format, condition 6-2 may mean a case where the product of the width and height of the luminance block of the current CU is 128 and the division mode of the current CU is the horizontal three-pronged division mode or the vertical three-pronged division mode. Alternatively, when the color format of the current CU is the 4:2:2 format, condition 6-2 may mean a case where the product of the width and height of the luminance block of the current CU is 64 and the division mode of the current CU is the horizontal three-pronged division mode or the vertical three-pronged division mode.
[0292] In the example, condition 6 may also include as a sub-condition the case where the width of the chroma block of the current CU is 4 and the division mode of the current CU is a vertical binary division mode. When the color format of the current CU is the 4:2:0 format or the 4:2:2 format, the sub-condition may mean the case where the width of the luminance block of the current CU is 8 and the division mode of the current CU is a vertical binary division mode. In addition, in the example, condition 6 may also include as a sub-condition the case where the width of the chroma block of the current CU is 8 and the division mode of the current CU is a vertical trifurcation division mode. When the color format of the current CU is the 4:2:0 format or the 4:2:2 format, the sub-condition may mean the case where the width of the luminance block of the current CU is 16 and the division mode of the current CU is a vertical trifurcation division mode.
[0293] In addition, when all of the above conditions 4 to 6 are not satisfied, modeTypeCondition may have a first value (eg, 0).
[0294] In conditions 5 and 6, the width and height of the chroma block may be derived using the ratio of the luma block to the chroma block determined according to the color format of the current CU as described above with reference to Table 3. For example, in the monochrome format, the ratio of the width of the luma block to the width of the chroma block, SubWidthC, may be 1, and the ratio of the height of the luma block to the height of the chroma block may be 1. In addition, in the 4:2:0 format, SubWidthC may be 2 and SubHeightC may be 2. In addition, in the 4:4:4 format, SubWidthC may be 2 and SubHeightC may be 1. In addition, in the 4:4:4 format, SubWidthC may be 1 and SubHeightC may be 1. In each color format, the width of the chroma block may be derived by dividing the width cbWidth of the luma block by SubWidthC, and the height of the chroma block may be derived by dividing the height cbHeight of the luma block by SubWidthH.
[0295] Based on the value of modeTypeCondition determined according to conditions 4 to 6, the prediction mode type modeType of the lower layer CU obtained by splitting the current CU can be determined. For example, when modeTypeCondition has a first value (e.g., 0), modeType can be determined as the prediction mode type modeTypeCurr of the current CU. Alternatively, when modeTypeCondition has a second value (e.g., 1), modeType can be determined as MODE_TYPE_INTRA. Alternatively, when modeTypeCondition has a third value (e.g., 2), modeType can be determined as MODE_TYPE_INTER or MODE_TYPE_INTRA based on the value of mode_constraint_flag.
[0296] Based on the values of each of modeTypeCurr and modeType determined by the above method, it can be determined whether to split the chroma block of the current CU. For example, when modeTypeCurr is MODE_TYPE_ALL and modeType is MODE_TYPE_INTRA, the splitting of the chroma block of the current CU can be prohibited.
[0297] According to an embodiment of the present disclosure, the prediction mode characteristic information modeTypeCondition can be derived based on the color format of the current CU. Therefore, in the 4:2:2 format or the 4:4:4 format, even if the minimum size restriction of the chroma format is not prohibited, additional splitting of the chroma format of the current CU can be prevented from being prohibited.
[0298] In the following, the following is described in detail based on Figure 22 An implementation method of deriving prediction mode characteristic information modeTypeCondition to encode / decode an image.
[0299] Image coding method
[0300] Figure 23 is a flowchart illustrating an image encoding method according to an embodiment of the present disclosure. Figure 23 The image coding method can be Figure 2 For example, steps S2310 to S2330 may be performed by the image divider 110 , and step S2340 may be performed by the inter-frame prediction unit 180 or the intra-frame prediction unit 185 .
[0301] Reference Figure 23, the image encoding apparatus may determine prediction mode characteristic information modeTypeCondition (S2310). In an example, the prediction mode characteristic information may be determined based on the color format of the current block.
[0302] Specifically, the image encoding device may determine whether the first condition is met (S2311). In an example, the first condition may include a case where the color format of the current block is a monochrome format or a 4:4:4 format. In addition, the first condition may include a case where the individual color components of the current block are encoded separately (separate_colour_plane_flag=1). In addition, the first condition may include a case where the current block is included in an I slice, the individual blocks included in the corresponding slice are implicitly quadtree-divided into 64×64 luma sample CUs, and the 64×64 luma sample CUs are the root nodes of the dual trees. In addition, the first condition may include a case where the prediction mode type modeTypeCurr of the current block is not the first prediction mode type MODE_TYPE_ALL. Here, the first prediction mode type MODE_TYPE_ALL may specify a prediction mode type available for both intra prediction mode and inter prediction mode.
[0303] When the first condition is satisfied (Yes in S2311 ), the prediction mode characteristic information may be determined as a first value (eg, 0) ( S2312 ).
[0304] On the contrary, when the first condition is not satisfied (for example, when the color format of the current block is 4:2:0 or 4:2:2 format) (S2311 is "No"), the image encoding device may determine whether the second condition is satisfied (S2313). In the example, the second condition may include the case where the product of the width and height of the chroma block of the current block is 16 and the division mode of the current block is the quadtree division mode. In addition, the second condition may include the case where the product of the width and height of the chroma block of the current block is 16 and the division mode of the current block is the horizontal three-pronged division mode or the vertical three-pronged division mode. In the example, the second condition may be based on the above reference Figure 22 The color format of the described current block changes according to the size of the luma block of the current block.
[0305] When the second condition is satisfied (Yes in S2313 ), the prediction mode characteristic information may be determined as a second value (eg, 1) ( S2314 ).
[0306] On the contrary, when the second condition is not satisfied (S2313 is "No"), the image encoding device may determine whether the third condition is satisfied (S2315). In the example, the third condition may include the case where the product of the width and height of the chroma block of the current block is 16 and the division mode of the current block is a horizontal binary division mode or a vertical binary division mode. In addition, the second condition may include the case where the product of the width and height of the chroma block of the current block is 32 and the division mode of the current block is a horizontal trifurcated division mode or a vertical trifurcated division mode. In the example, the third condition may be based on the above reference Figure 22 The color format of the described current block changes according to the size of the luma block of the current block.
[0307] When the third condition is satisfied (Yes in S2315 ), the image encoding apparatus may determine whether the current block is included in the I slice ( S2316 ).
[0308] When the current block is included in the I slice (S2316 is "Yes"), the prediction mode characteristic information may be determined to be the second value (e.g., 1) (S2314). Conversely, when the current block is not included in the I slice (S2316 is "No"), the prediction mode characteristic information may be determined to be the third value (e.g., 2) (S2317).
[0309] In contrast, when the third condition is not satisfied (No in S2315 ), the prediction mode characteristic information may be determined as the first value (eg, 0) ( S2312 ).
[0310] The image encoding apparatus may determine a prediction mode type modeType of a lower layer block obtained by splitting the current block based on the prediction mode characteristic information ( S2320 ).
[0311] For example, when the prediction mode characteristic information has a first value (eg, 0), the prediction mode type of the lower layer block may be determined as the prediction mode type modeTypeCurr of the current block.
[0312] Alternatively, when the prediction mode characteristic information has a second value (eg, 1), the prediction mode type of the lower layer block may be determined as the second prediction mode type MODE_TYPE_INTRA. Here, the second prediction mode type MODE_TYPE_INTRA may specify a prediction mode type in which only intra prediction is available.
[0313] Alternatively, when the prediction mode characteristic information has a third value (e.g., 2), it can be determined as the second prediction mode type MODE_TYPE_INTRA or the third prediction mode type MODE_TYPE_INTER according to a predetermined condition. For example, when only the inter-frame prediction mode is available, the prediction mode type of the lower layer block can be determined as the third prediction mode type MODE_TYPE_INTER. Here, the third prediction mode type MODE_TYPE_INTER can specify a prediction mode type in which only inter-frame prediction is available. Conversely, when the inter-frame prediction mode is not available, the prediction mode type of the lower layer block can be determined as the second prediction mode type MODE_TYPE_INTRA. In the example, the information specifying whether the inter-frame prediction mode is available can be encoded using a predetermined flag (e.g., mode_constraint_flag).
[0314] The image encoding device may obtain a lower layer block of the current block by dividing the current block based on the prediction mode type of the lower layer block (S2330). For example, when the prediction mode type of the lower layer block is the second prediction mode type MODE_TYPE_INTRA, the image encoding device may obtain the lower layer block by dividing the current block to have a dual tree structure. On the contrary, when the prediction mode type of the current block is not the second prediction mode type MODE_TYPE_INTRA (for example, when the prediction mode type of the current block is the first prediction mode type MODE_TYPE_ALL or the third prediction mode type MODE_TYPE_INTER), the image encoding device may obtain the lower layer block by dividing the current block according to the division structure of the current block. For example, when the division structure of the current block is a single tree structure, the image encoding device may obtain the lower layer block by dividing the current block to have a single tree structure. Alternatively, when the division structure of the current block is a dual tree structure, the image encoding device may obtain the lower layer block by dividing the current block to have a dual tree structure.
[0315] The division structure of the lower layer block is determined to be a dual tree structure, and whether to divide the luminance block and the chrominance block of the current block can be determined independently. For example, whether to divide the luminance block can be determined based on the size of the luminance block. In addition, whether to divide the chrominance block can be determined based on the size of the chrominance block. In the example, whether to divide the chrominance block can be determined based on the above reference Figure 22 Describes the color format of the current block.
[0316] The image encoding apparatus may encode the lower layer block based on the prediction mode type of the lower layer block (S2340). For example, when the prediction mode type of the lower layer block is the first prediction mode type MODE_TYPE_ALL, the image encoding apparatus may encode the lower layer block based on one of the intra prediction mode, IBC, palette mode, and inter prediction mode. In this case, information specifying the prediction mode applied to the lower layer block may be encoded using a predetermined flag (e.g., pred_mode_flag).
[0317] Alternatively, when the prediction mode type of the lower layer block is the second prediction mode type MODE_TYPE_INTRA, the image encoding apparatus may encode the lower layer block based on the intra prediction mode.
[0318] Alternatively, when the prediction mode type of the lower layer block is the third prediction mode type MODE_TYPE_INTER, the image encoding apparatus may encode the lower layer block based on the inter prediction mode.
[0319] According to the image encoding method according to an embodiment of the present disclosure, by determining the partitioning mode of the lower layer block based on at least one of the color format, partitioning mode or size of the current block, the encoding efficiency can be further improved without violating the minimum size limit of the chroma block.
[0320] Image decoding method
[0321] Figure 24 is a flowchart illustrating an image decoding method according to an embodiment of the present disclosure. Figure 24 The image decoding method can be Figure 3 For example, steps S2410 to S2430 may be performed by a processor, and step S2440 may be performed by the inter-frame prediction unit 260 or the intra-frame prediction unit 265.
[0322] Reference Figure 24 , the image decoding apparatus may determine prediction mode characteristic information modeTypeCondition ( S2410 ). In an example, the prediction mode characteristic information may be determined based on the color format of the current block.
[0323] Specifically, the image decoding device may determine whether the first condition is met (S2411). In an example, the first condition may include a case where the color format of the current block is a monochrome format or a 4:4:4 format. In addition, the first condition may include a case where the respective color components of the current block are encoded separately (separate_colour_plane_flag=1). In addition, the first condition may include a case where the current block is included in an I slice, the respective blocks included in the corresponding slice are implicitly quadtree-divided into 64×64 luma sample CUs, and the 64×64 luma sample CUs are the root nodes of the dual trees. In addition, the first condition may include a case where the prediction mode type modeTypeCurr of the current block is not the first prediction mode type MODE_TYPE_ALL.
[0324] When the first condition is satisfied (Yes in S2411 ), the prediction mode characteristic information may be determined as a first value (eg, 0) ( S2412 ).
[0325] On the contrary, when the first condition is not satisfied (for example, when the color format of the current block is 4:2:0 or 4:2:2 format) (S2411 is "No"), the image decoding device may determine whether the second condition is satisfied (S2313). In the example, the second condition may include the case where the product of the width and height of the chroma block of the current block is 16 and the division mode of the current block is the quadtree division mode. In addition, the second condition may include the case where the product of the width and height of the chroma block of the current block is 16 and the division mode of the current block is the horizontal three-pronged division mode or the vertical three-pronged division mode. In the example, the second condition may be based on the above reference Figure 22 The color format of the described current block changes according to the size of the luma block of the current block.
[0326] When the second condition is satisfied (Yes in S2413 ), the prediction mode characteristic information may be determined as a second value (eg, 1) ( S2414 ).
[0327] On the contrary, when the second condition is not satisfied (S2413 is "No"), the image decoding device may determine whether the third condition is satisfied (S2415). In the example, the third condition may include the case where the product of the width and height of the chroma block of the current block is 16 and the division mode of the current block is a horizontal binary division mode or a vertical binary division mode. In addition, the second condition may include the case where the product of the width and height of the chroma block of the current block is 32 and the division mode of the current block is a horizontal trifurcated division mode or a vertical trifurcated division mode. In the example, the third condition may be based on the above reference Figure 22 The color format of the described current block changes according to the size of the luma block of the current block.
[0328] When the third condition is satisfied (Yes in S2415 ), the image decoding apparatus may determine whether the current block is included in the I slice ( S2416 ).
[0329] When the current block is included in the I slice (S2416 is "Yes"), the prediction mode characteristic information may be determined to be the second value (e.g., 1) (S2414). Conversely, when the current block is not included in the I slice (S2416 is "No"), the prediction mode characteristic information may be determined to be the third value (e.g., 2) (S2417).
[0330] In contrast, when the third condition is not satisfied (No in S2415 ), the prediction mode characteristic information may be determined as the first value (eg, 0) ( S2412 ).
[0331] The image decoding apparatus may determine a prediction mode type modeType of a lower layer block obtained by splitting the current block based on the prediction mode characteristic information ( S2420 ).
[0332] For example, when the prediction mode characteristic information has a first value (eg, 0), the prediction mode type of the lower layer block may be determined as the prediction mode type modeTypeCurr of the current block.
[0333] Alternatively, when the prediction mode characteristic information has a second value (eg, 1), the prediction mode type of the lower layer block may be determined as the second prediction mode type MODE_TYPE_INTRA.
[0334] Alternatively, when the prediction mode characteristic information has a third value (e.g., 2), it may be determined as the second prediction mode type MODE_TYPE_INTRA or the third prediction mode type MODE_TYPE_INTER according to a predetermined condition. For example, when only the inter-frame prediction mode is available, the prediction mode characteristic information may be determined as the third prediction mode type MODE_TYPE_INTER. Conversely, when the inter-frame prediction mode is not available, the prediction mode characteristic information may be determined as the second prediction mode type MODE_TYPE_INTRA. In an example, whether the inter-frame prediction mode is available may be determined by decoding a predetermined flag (e.g., mode_constraint_flag) obtained from the bitstream.
[0335] The image decoding apparatus may obtain a lower layer block of the current block by dividing the current block based on the prediction mode type of the lower layer block (S2430). For example, when the prediction mode type of the lower layer block is the second prediction mode type MODE_TYPE_INTRA, the image decoding apparatus may obtain the lower layer block by dividing the current block to have a dual-tree structure. On the contrary, when the prediction mode type of the current block is not the second prediction mode type MODE_TYPE_INTRA (for example, when the prediction mode type of the current block is the first prediction mode type MODE_TYPE_ALL or the third prediction mode type MODE_TYPE_INTER), the image decoding apparatus may obtain the lower layer block by dividing the current block according to the same method as the division structure of the current block (for example, a single-tree structure or a dual-tree structure).
[0336] The partition structure of the lower layer block is determined to be a dual tree structure, and whether to partition the luminance block and the chrominance block of the current block can be determined independently. For example, whether to partition the chrominance block of the current block can be determined based on the above reference. Figure 22 The prediction mode characteristic information mode_type_condition that describes the color format of the current block is determined.
[0337] The image decoding apparatus may decode the lower layer block based on the prediction mode type of the lower layer block (S2440). For example, when the prediction mode type of the lower layer block is the first prediction mode type MODE_TYPE_ALL, the image decoding apparatus may decode the lower layer block based on one of the intra prediction mode, IBC, palette mode, and inter prediction mode. In this case, the prediction mode applied to the lower layer block may be determined by decoding a predetermined flag (e.g., pred_mode_flag) obtained from the bitstream.
[0338] Alternatively, when the prediction mode type of the lower layer block is the second prediction mode type MODE_TYPE_INTRA, the image decoding apparatus may decode the lower layer block based on the intra prediction mode.
[0339] Alternatively, when the prediction mode type of the lower layer block is the third prediction mode type MODE_TYPE_INTER, the image decoding apparatus may decode the lower layer block based on the inter prediction mode.
[0340] According to the image decoding method according to an embodiment of the present disclosure, by determining the partitioning mode of the lower layer block based on at least one of the color format, partitioning mode or size of the current block, the encoding efficiency can be further improved without violating the minimum size limit of the chroma block.
[0341] Although the exemplary method of the present disclosure is shown as a series of operations for the sake of clarity, it is not intended to limit the order in which the steps are performed, and the steps may be performed simultaneously or in a different order if necessary. To implement the method according to the present disclosure, the steps described may further include other steps, may include the remaining steps except for some steps, or may include other additional steps except for some steps.
[0342] In the present disclosure, an image encoding device or image decoding device that performs a predetermined operation (step) may perform an operation (step) of confirming the execution conditions or circumstances of the corresponding operation (step). For example, if it is described that a predetermined operation is performed when a predetermined condition is satisfied, the image encoding device or image decoding device may perform the predetermined operation after determining whether the predetermined condition is satisfied.
[0343] The various embodiments of the present disclosure are not a list of all possible combinations and are intended to describe representative aspects of the present disclosure, and matters described in the various embodiments may be applied independently or in combination of two or more.
[0344] Various embodiments of the present disclosure may be implemented in hardware, firmware, software, or a combination thereof. In the case of implementing the present disclosure in hardware, the present disclosure may be implemented in an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a general purpose processor, a controller, a microcontroller, a microprocessor, or the like.
[0345] In addition, the image decoding device and the image encoding device of the embodiment of the present disclosure can be included in multimedia broadcast transmission and reception equipment, mobile communication terminals, home theater video equipment, digital theater video equipment, surveillance cameras, video chat equipment, real-time communication equipment such as video communication, mobile streaming transmission equipment, storage media, cameras, video on demand (VoD) service providing equipment, OTT video (over the top video) equipment, Internet streaming service providing equipment, three-dimensional (3D) video equipment, video phone video equipment, medical video equipment, etc., and can be used to process video signals or data signals. For example, OTT video equipment can include game consoles, Blu-ray players, Internet access TVs, home theater systems, smartphones, tablet PCs, digital video recorders (DVRs), etc.
[0346] Figure 25 is a diagram illustrating a content streaming system to which an embodiment of the present disclosure can be applied.
[0347] like Figure 25As shown in , a content streaming system to which an embodiment of the present disclosure is applied may mainly include an encoding server, a streaming server, a network server, a media storage, a user device, and a multimedia input device.
[0348] The encoding server compresses the content input from multimedia input devices such as smartphones, cameras, and camcorders into digital data to generate a bitstream and sends the bitstream to the streaming server. As another example, when multimedia input devices such as smartphones, cameras, and camcorders directly generate the bitstream, the encoding server can be omitted.
[0349] A bitstream may be generated by applying the image encoding method or the image encoding apparatus according to the embodiment of the present disclosure, and a streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
[0350] The streaming server transmits multimedia data to user devices based on user requests via a network server, and the network server serves as an intermediary for notifying users of services. When a user requests a desired service from the network server, the network server delivers it to the streaming server, which then transmits the multimedia data to the user. In this case, the content streaming system may include a separate control server. In this case, the control server serves to control the command and response between devices in the content streaming system.
[0351] The streaming server can receive content from a media storage and / or encoding server. For example, when receiving content from an encoding server, the content can be received in real time. In this case, in order to provide a smooth streaming service, the streaming server can store the bitstream for a predetermined time.
[0352] Examples of user devices may include mobile phones, smart phones, laptop computers, digital broadcast terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, tablet PCs, tablet computers, ultrabooks, wearable devices (e.g., smart watches, smart glasses, head-mounted displays), digital televisions, desktop computers, digital signage, etc.
[0353] Each server in the content streaming system may operate as a distributed server, in which case the data received from each server may be distributed.
[0354] The scope of the present disclosure includes software or executable commands (e.g., operating systems, applications, firmware, programs, etc.) for enabling operations according to the methods of various embodiments to be performed on a device or computer, and a non-transitory computer-readable medium having such software or commands stored thereon and executable on a device or computer.
[0355] Industrial Applicability
[0356] The embodiments of the present disclosure may be used to encode or decode an image.
Claims
1. An image decoding method performed by an image decoding device, the image decoding method comprising the following steps: determining prediction mode characteristic information based on a color format of the current block; determining a prediction mode type of a lower layer block divided from the current block based on the prediction mode characteristic information; obtaining the lower layer block by dividing the current block based on the prediction mode type of the lower layer block; as well as Decoding the lower layer block based on the prediction mode type of the lower layer block, The prediction mode type of the lower layer block includes a first prediction mode type specifying that both an intra prediction mode and an inter prediction mode are available, a second prediction mode type specifying that only the intra prediction mode is available, and a third prediction mode type specifying that only the inter prediction mode is available. wherein the prediction mode characteristic information has a first value based on satisfying a first condition for the current block, and the first condition includes a case where the color format of the current block is a monochrome format or a 4:4:4 format, and wherein the prediction mode characteristic information has a second value based on the first condition for the current block not being satisfied and the second condition for the current block being satisfied, the second condition including a case where a product of a width and a height of a luminance block of the current block is a predetermined value and a partition mode of the current block is a predetermined partition mode, In which, based on the fact that the first condition for the current block is not satisfied, the second condition for the current block is not satisfied, the width of the luminance block is 8 or 16, and the division mode of the current block is a vertical binary division mode or a vertical trifurcated division mode, the prediction mode characteristic information has the second value or the third value based on whether the current block is included in an I slice.
2. The image decoding method according to claim 1, wherein: Based on the prediction mode characteristic information having the first value, the prediction mode type of the lower layer block is determined to be the same prediction mode type as the prediction mode type of the current block.
3. The image decoding method according to claim 1, wherein: Based on the prediction mode characteristic information having the second value, the prediction mode type of the lower layer block is determined to be the second prediction mode type.
4. The image decoding method according to claim 1, wherein: Based on the prediction mode characteristic information having the third value, the prediction mode type of the lower layer block is determined to be the second prediction mode type or the third prediction mode type based on whether the inter prediction mode is available.
5. The image decoding method according to claim 4, wherein: Whether the inter prediction mode is available is determined by decoding a flag obtained from the bitstream. The image decoding method according to claim 1 , wherein: The prediction mode type of the lower layer block is determined to be the second prediction mode type based on that the lower layer block is obtained by dividing the current block in a dual-tree structure.
7. The image decoding method according to claim 1, wherein: Based on the prediction mode type of the lower layer block being determined as the first prediction mode type or the third prediction mode type, the lower layer block is obtained by dividing the current block in the same manner as the division structure of the current block.
8. The image decoding method according to claim 1, wherein: Based on the prediction mode type of the lower layer block being determined as the first prediction mode type, the lower layer block is decoded based on a prediction mode determined by decoding a flag obtained from a bitstream.
9. The image decoding method according to claim 1, wherein: Based on the fact that the product of the width and the height of the luminance block of the current block is 64 and the partition mode of the current block is a quadtree partition mode, the prediction mode characteristic information has the second value.
10. The image decoding method according to claim 1, wherein: Based on the fact that the product of the width and the height of the luminance block of the current block is 64 and the partition mode of the current block is a three-way partition mode, the prediction mode characteristic information has the second value.
11. The image decoding method according to claim 1, wherein: Based on the fact that the product of the width and the height of the luminance block of the current block is 64, the partition mode of the current block is a binary partition mode and the color format of the current block is a 4:2:0 format, the prediction mode characteristic information has the second value or the third value based on whether the current block is included in the I slice.
12. The image decoding method according to claim 1, wherein: Based on the fact that the product of the width and the height of the luminance block of the current block is 128, the partition mode of the current block is a three-pronged partition mode and the color format of the current block is a 4:2:0 format, the prediction mode characteristic information has the second value or the third value based on whether the current block is included in the I slice.
13. An image encoding method performed by an image encoding device, the image encoding method comprising the following steps: determining prediction mode characteristic information based on a color format of the current block; determining a prediction mode type of a lower layer block divided from the current block based on the prediction mode characteristic information; obtaining the lower layer block by dividing the current block based on the prediction mode type of the lower layer block; as well as encoding the lower layer block based on the prediction mode type of the lower layer block, The prediction mode type of the lower layer block includes a first prediction mode type specifying that both an intra prediction mode and an inter prediction mode are available, a second prediction mode type specifying that only the intra prediction mode is available, and a third prediction mode type specifying that only the inter prediction mode is available. wherein the prediction mode characteristic information has a first value based on satisfying a first condition for the current block, and the first condition includes a case where the color format of the current block is a monochrome format or a 4:4:4 format, and wherein the prediction mode characteristic information has a second value based on the first condition for the current block not being satisfied and the second condition for the current block being satisfied, the second condition including a case where a product of a width and a height of a luminance block of the current block is a predetermined value and a partition mode of the current block is a predetermined partition mode, In which, based on the fact that the first condition for the current block is not satisfied, the second condition for the current block is not satisfied, the width of the luminance block is 8 or 16, and the division mode of the current block is a vertical binary division mode or a vertical trifurcated division mode, the prediction mode characteristic information has the second value or the third value based on whether the current block is included in an I slice.
14. A method for transmitting a bit stream generated by an image encoding method, the image encoding method comprising the steps of: determining prediction mode characteristic information based on a color format of the current block; determining a prediction mode type of a lower layer block divided from the current block based on the prediction mode characteristic information; obtaining the lower layer block by dividing the current block based on the prediction mode type of the lower layer block; as well as encoding the lower layer block based on the prediction mode type of the lower layer block, The prediction mode type of the lower layer block includes a first prediction mode type specifying that both an intra prediction mode and an inter prediction mode are available, a second prediction mode type specifying that only the intra prediction mode is available, and a third prediction mode type specifying that only the inter prediction mode is available. wherein the prediction mode characteristic information has a first value based on satisfying a first condition for the current block, and the first condition includes a case where the color format of the current block is a monochrome format or a 4:4:4 format, and wherein the prediction mode characteristic information has a second value based on the first condition for the current block not being satisfied and the second condition for the current block being satisfied, the second condition including a case where a product of a width and a height of a luminance block of the current block is a predetermined value and a partition mode of the current block is a predetermined partition mode, In which, based on the fact that the first condition for the current block is not satisfied, the second condition for the current block is not satisfied, the width of the luminance block is 8 or 16, and the division mode of the current block is a vertical binary division mode or a vertical trifurcated division mode, the prediction mode characteristic information has the second value or the third value based on whether the current block is included in an I slice.
Citation Information
Patent Citations
Image encoding / decoding method and apparatus for determining partition mode based on prediction mode type determined according to color format, and method for transmitting bit stream
CN114375574A