Decoding device, encoding device, and transmitting device
By using the intra-frame prediction method of the MPM list, the intra-frame prediction mode of the current block is derived and configured, solving the problem of low transmission and storage efficiency of high-resolution images/videos, and achieving more efficient image/video compression.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-03-23
- Publication Date
- 2026-07-07
AI Technical Summary
Existing technologies are inefficient in transmitting and storing high-resolution, high-quality images/videos, especially in image/video broadcasting for virtual reality and immersive media. Efficient image/video compression technologies are needed to reduce transmission and storage costs.
The intra-prediction method using the most probable mode (MPM) list is used to deduce the intra-prediction mode of the current block, and a reconstructed image is generated based on the MPM flag information and the planar flag information. The MPM list of the current block is configured, and the MPM index is encoded.
It enhances image coding efficiency, improves intra-frame prediction efficiency, realizes intra-frame prediction based on MPM list, and improves overall image/video compression efficiency.
Smart Images

Figure CN116668715B_ABST
Abstract
Description
[0001] This application is a divisional application of the original invention patent application No. 202080000817.2 (International Application No.: PCT / KR2020 / 003921, Application Date: March 23, 2020, Invention Title: Image Coding Method and Apparatus Based on Intra-Frame Prediction Using MPM List). Technical Field
[0002] This disclosure relates to image coding techniques, and more specifically, to an image coding method and apparatus based on intra-frame prediction using a list of most probable modes (MPMs) in an image coding system. Background Technology
[0003] Recently, there has been a growing demand across various sectors for high-resolution, high-quality images and videos, such as 4K, 8K, or even higher Ultra High Definition (UHD) images and videos. As image / video resolution or quality increases, a relatively larger amount of information or bits is transmitted compared to traditional image / video data. Therefore, if image / video data is transmitted via media such as existing wired / wireless broadband lines or stored in traditional storage media, the costs of transmission and storage can easily increase.
[0004] Furthermore, there is growing interest and demand for virtual reality (VR) and artificial reality (AR) content, as well as immersive media such as holograms; and the broadcasting of images / videos (such as game images / videos) that exhibit characteristics different from those of actual images / videos is also increasing.
[0005] Therefore, efficient image / video compression technology is needed to effectively compress, transmit, store, or play high-resolution, high-quality images / videos exhibiting various characteristics as described above. Summary of the Invention
[0006] Technical issues
[0007] The purpose of this disclosure is to provide a method and apparatus for enhancing image coding efficiency.
[0008] Another object of this disclosure is to provide a method and apparatus for improving the efficiency of intra-frame prediction.
[0009] Another object of this disclosure is to provide a method and apparatus for performing image coding based on intra-frame prediction using an MPM list of the current block.
[0010] Another object of this disclosure is to provide a method and apparatus for performing MPM-based intra-prediction based on plane flag information indicating whether the intra-prediction mode of the current block is determined to be a plane mode.
[0011] Another object of this disclosure is to provide a method and apparatus for configuring the MPM list of the current block.
[0012] Another object of this disclosure is to provide a method and apparatus for encoding MPM indexes.
[0013] Technical solution
[0014] An exemplary embodiment of this disclosure provides an image decoding method performed by a decoding device. The image decoding method includes: receiving intra-frame prediction information including at least one of most probable mode (MPM) flag information or planar flag information, wherein the MPM flag information indicates whether the intra-frame prediction mode of the current block is derived based on MPM candidates of the current block, and the planar flag information indicates whether the intra-frame prediction mode of the current block is determined to be a planar mode; deriving the intra-frame prediction mode of the current block based on the MPM flag information and the planar flag information; deriving a prediction block of the current block based on the intra-frame prediction mode of the current block; and generating a reconstructed image based on the prediction block, wherein the planar flag information is included in the intra-frame prediction information based on the MPM flag information indicating that the intra-frame prediction mode of the current block is derived based on MPM candidates.
[0015] In an exemplary embodiment, the derivation step of the intra-prediction mode of the current block may include: deriving the intra-prediction mode of the current block as a planar mode based on planar flag information indicating that the intra-prediction mode of the current block is derived as a planar mode.
[0016] In an exemplary implementation, the intra-prediction information may also include MPM index information relating to one of the MPM candidates other than the planar mode among the MPM candidates of the current block. Based on planar flag information indicating that the intra-prediction mode of the current block has not been deduced as a planar mode, the MPM index information can be included in the intra-prediction information. The intra-prediction mode of the current block can be deduced based on the MPM index information.
[0017] In an exemplary implementation, the total number of MPM candidates other than the planar mode in the current block can be equal to 5.
[0018] In an exemplary embodiment, the MPM index information can represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the case where the intra-prediction mode of the left neighboring block of the current block is the same as the intra-prediction mode of the upper neighboring block of the current block, and the intra-prediction mode of the left neighboring block is greater than the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-prediction mode of the left neighboring block of the current block, the intra-prediction mode of the 1st MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block + 61) % 64), and the intra-prediction mode of the 2nd MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block - 1) % 64).
[0019] In an exemplary embodiment, the MPM index information can represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the fact that the intra-prediction mode of the left neighboring block and the intra-prediction mode of the upper neighboring block of the current block are different, and the intra-prediction mode of the left neighboring block is less than or equal to the intra-DC mode, and the intra-prediction mode of the upper neighboring block is less than or equal to the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-DC mode, the intra-prediction mode of the 1st MPM candidate can be the 50th intra-prediction mode, the intra-prediction mode of the 2nd MPM candidate can be the 18th intra-prediction mode, the intra-prediction mode of the 3rd MPM candidate can be the 46th intra-prediction mode, and the intra-prediction mode of the 4th MPM candidate can be the 54th intra-prediction mode.
[0020] In an exemplary implementation, the MPM index information may be based on a truncated Rice (TR) binarization process.
[0021] In an exemplary implementation, cMax, which represents the maximum value of the MPM index information, can be equal to 4.
[0022] Another exemplary embodiment of this disclosure provides a decoding apparatus for performing image decoding. The decoding apparatus includes: an entropy decoder that receives intra-prediction information including at least one of most probable mode (MPM) flag information or planar flag information, the MPM flag information indicating whether the intra-prediction mode of the current block is derived based on MPM candidates of the current block, and the planar flag information indicating whether the intra-prediction mode of the current block is determined to be a planar mode; a predictor that derives the intra-prediction mode of the current block based on the MPM flag information and the planar flag information, and derives a prediction block of the current block based on the intra-prediction mode of the current block; and an adder that generates a reconstructed image based on the prediction block, and includes the planar flag information in the intra-prediction information based on the MPM flag information indicating that the intra-prediction mode of the current block is derived based on MPM candidates.
[0023] In an exemplary implementation, the predictor may derive the intra-prediction mode of the current block as a planar mode based on planar flag information indicating that the intra-prediction mode of the current block is derived as a planar mode.
[0024] In an exemplary embodiment, the intra-prediction information may also include MPM index information relating to one of the MPM candidates other than the planar mode among the MPM candidates of the current block. Based on planar flag information indicating that the intra-prediction mode of the current block has not been deduced as a planar mode, the MPM index information can be included in the intra-prediction information, and the intra-prediction mode of the current block can be deduced based on the MPM index information.
[0025] In an exemplary implementation, the total number of MPM candidates other than the planar mode in the current block can be equal to 5.
[0026] In an exemplary embodiment, the MPM index information can represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the case where the intra-prediction mode of the left neighboring block of the current block is the same as the intra-prediction mode of the upper neighboring block of the current block, and the intra-prediction mode of the left neighboring block is greater than the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-prediction mode of the left neighboring block of the current block, the intra-prediction mode of the 1st MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block + 61) % 64), and the intra-prediction mode of the 2nd MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block - 1) % 64).
[0027] In an exemplary embodiment, the MPM index information can represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the fact that the intra-prediction mode of the left adjacent block and the intra-prediction mode of the upper adjacent block of the current block are different, and the intra-prediction mode of the left adjacent block is less than or equal to the intra-DC mode, and the intra-prediction mode of the upper adjacent block is less than or equal to the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-DC mode, the intra-prediction mode of the 1st MPM candidate can be the 50th intra-prediction mode, the intra-prediction mode of the 2nd MPM candidate can be the 18th intra-prediction mode, the intra-prediction mode of the 3rd MPM candidate can be the 46th intra-prediction mode, and the intra-prediction mode of the 4th MPM candidate can be the 54th intra-prediction mode.
[0028] In an exemplary implementation, the MPM index information may be based on a truncated Rice (TR) binarization process.
[0029] In an exemplary implementation, cMax, which represents the maximum value of the MPM index information, can be equal to 4.
[0030] Another exemplary embodiment of this disclosure provides an encoding method performed by an encoding device. The image encoding method includes: deriving an intra-prediction mode of a current block; generating MPM flag information indicating whether the intra-prediction mode of the current block is derived based on the most probable mode (MPM) candidate of the current block; generating planar flag information based on an MPM indicating whether the intra-prediction mode of the current block is determined to be a planar mode; and encoding image information including at least one of the MPM flag information or planar flag information.
[0031] In an exemplary implementation, if the intra-prediction mode of the current block is deduced to be a planar mode, the planar flag information can indicate that the intra-prediction mode of the current block is deduced to be a planar mode.
[0032] In an exemplary embodiment, the intra-frame prediction information may also include MPM index information relating to one of the MPM candidates other than the planar mode among the MPM candidates of the current block. The image coding method may also include generating MPM index information based on the case where the intra-frame prediction mode of the current block is not derived as a planar mode.
[0033] In an exemplary implementation, the total number of MPM candidates other than the planar mode in the current block can be equal to 5.
[0034] In an exemplary embodiment, the MPM index information can represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the case where the intra-prediction mode of the left neighboring block of the current block is the same as the intra-prediction mode of the upper neighboring block of the current block, and the intra-prediction mode of the left neighboring block is greater than the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-prediction mode of the left neighboring block of the current block, the intra-prediction mode of the 1st MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block + 61) % 64), and the intra-prediction mode of the 2nd MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block - 1) % 64).
[0035] In an exemplary embodiment, the MPM index information can represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the fact that the intra-prediction mode of the left adjacent block and the intra-prediction mode of the upper adjacent block of the current block are different, and the intra-prediction mode of the left adjacent block is less than or equal to the intra-DC mode, and the intra-prediction mode of the upper adjacent block is less than or equal to the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-DC mode, the intra-prediction mode of the 1st MPM candidate can be the 50th intra-prediction mode, the intra-prediction mode of the 2nd MPM candidate can be the 18th intra-prediction mode, the intra-prediction mode of the 3rd MPM candidate can be the 46th intra-prediction mode, and the intra-prediction mode of the 4th MPM candidate can be the 54th intra-prediction mode.
[0036] In an exemplary implementation, the MPM index information may be based on a truncated Rice (TR) binarization process.
[0037] In an exemplary implementation, cMax, which represents the maximum value of the MPM index information, can be equal to 4.
[0038] Another exemplary embodiment of this disclosure provides an encoding apparatus for performing image encoding. The encoding apparatus includes: a predictor that derives an intra-prediction mode for a current block; and an entropy encoder that generates most probable mode (MPM) flag information indicating whether the intra-prediction mode of the current block is derived based on the most probable mode (MPM) candidate of the current block, generates planar flag information based on an MPM indicating whether the MPM flag information is related to planar flag information indicating whether the intra-prediction mode of the current block is determined to be a planar mode, and encodes image information including at least one of the MPM flag information or the planar flag information.
[0039] In an exemplary implementation, if the intra-prediction mode of the current block is deduced to be a planar mode, the planar flag information can indicate that the intra-prediction mode of the current block is deduced to be a planar mode.
[0040] In an exemplary implementation, the intra-frame prediction information may also include MPM index information relating to one of the MPM candidates other than the planar mode among the MPM candidates of the current block. The encoding device may generate the MPM index information based on the fact that the intra-frame prediction mode of the current block is not deduced to be the planar mode.
[0041] In an exemplary implementation, the total number of MPM candidates other than the planar mode in the current block can be equal to 5.
[0042] In an exemplary embodiment, the MPM index information can represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the case where the intra-prediction mode of the left neighboring block of the current block is the same as the intra-prediction mode of the upper neighboring block of the current block, and the intra-prediction mode of the left neighboring block is greater than the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-prediction mode of the left neighboring block of the current block, the intra-prediction mode of the 1st MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block + 61) % 64), and the intra-prediction mode of the 2nd MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block - 1) % 64).
[0043] In an exemplary embodiment, the MPM index information can represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the fact that the intra-prediction mode of the left neighboring block and the intra-prediction mode of the upper neighboring block of the current block are different, and the intra-prediction mode of the left neighboring block is less than or equal to the intra-DC mode, and the intra-prediction mode of the upper neighboring block is less than or equal to the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-DC mode, the intra-prediction mode of the 1st MPM candidate can be the 50th intra-prediction mode, the intra-prediction mode of the 2nd MPM candidate can be the 18th intra-prediction mode, the intra-prediction mode of the 3rd MPM candidate can be the 46th intra-prediction mode, and the intra-prediction mode of the 4th MPM candidate can be the 54th intra-prediction mode.
[0044] In an exemplary implementation, the MPM index information may be based on a truncated Rice (TR) binarization process, and cMax, representing the maximum value of the MPM index information, may be equal to 4.
[0045] Another exemplary embodiment of this disclosure provides a decoder-readable storage medium storing information regarding instructions for causing a video decoding device to perform a decoding method according to some exemplary embodiments.
[0046] Another exemplary embodiment of this disclosure provides a computer-readable storage medium including encoded information that enables a decoding device to perform an image decoding method. The image decoding method includes: receiving intra-frame prediction information including at least one of most probable mode (MPM) flag information or planar flag information, the MPM flag information indicating whether the intra-frame prediction mode of the current block is derived based on the most probable mode (MPM) candidate of the current block, and the planar flag information indicating whether the intra-frame prediction mode of the current block is determined to be a planar mode; deriving the intra-frame prediction mode of the current block based on the MPM flag information and the planar flag information; deriving a prediction block of the current block based on the intra-frame prediction mode of the current block; and generating a reconstructed image based on the prediction block, wherein the planar flag information is included in the intra-frame prediction information based on the MPM flag information indicating that the intra-frame prediction mode of the current block is derived based on the MPM candidate.
[0047] In an exemplary embodiment, the intra-prediction information may also include MPM index information relating to one of the MPM candidates other than the planar mode among the MPM candidates of the current block. Based on planar flag information indicating that the intra-prediction mode of the current block has not been deduced as a planar mode, the MPM index information can be included in the intra-prediction information, and the intra-prediction mode of the current block can be deduced based on the MPM index information.
[0048] In an exemplary implementation, the total number of MPM candidates other than the planar mode in the current block can be equal to 5.
[0049] In an exemplary embodiment, the MPM index information can represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the case where the intra-prediction mode of the left neighboring block of the current block is the same as the intra-prediction mode of the upper neighboring block of the current block, and the intra-prediction mode of the left neighboring block is greater than the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-prediction mode of the left neighboring block of the current block, the intra-prediction mode of the 1st MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block + 61) % 64), and the intra-prediction mode of the 2nd MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block - 1) % 64).
[0050] In an exemplary embodiment, the MPM index information can represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the fact that the intra-prediction mode of the left adjacent block and the intra-prediction mode of the upper adjacent block of the current block are different, and the intra-prediction mode of the left adjacent block is less than or equal to the intra-DC mode, and the intra-prediction mode of the upper adjacent block is less than or equal to the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-DC mode, the intra-prediction mode of the 1st MPM candidate can be the 50th intra-prediction mode, the intra-prediction mode of the 2nd MPM candidate can be the 18th intra-prediction mode, the intra-prediction mode of the 3rd MPM candidate can be the 46th intra-prediction mode, and the intra-prediction mode of the 4th MPM candidate can be the 54th intra-prediction mode.
[0051] In an exemplary implementation, the MPM index information may be based on a truncated Rice (TR) binarization process.
[0052] In an exemplary implementation, cMax, which represents the maximum value of the MPM index information, can be equal to 4.
[0053] Beneficial effects
[0054] According to this disclosure, overall image / video compression efficiency can be enhanced.
[0055] According to this disclosure, the efficiency of intra-frame prediction can be improved.
[0056] According to this disclosure, intra-frame prediction based on an MPM list can be performed efficiently.
[0057] According to this disclosure, image coding efficiency can be enhanced based on intra-frame prediction using the MPM list of the current block.
[0058] According to this disclosure, the efficiency of MPM-based intra-prediction can be enhanced by using plane flag information indicating whether the intra-prediction mode of the current block is determined to be a plane mode.
[0059] According to this disclosure, the MPM list of the current block can be configured effectively.
[0060] According to this disclosure, MPM indexes can be effectively encoded. Attached Figure Description
[0061] Figure 1 Examples of video / image coding systems that can be applied to this disclosure are illustrated schematically.
[0062] Figure 2This is a schematic illustration of the configuration of a video / image encoding device to which this disclosure can be applied.
[0063] Figure 3 This is a schematic illustration of the configuration of a video / image decoding device to which this disclosure can be applied.
[0064] Figure 4a and Figure 4b The diagram illustrates an example of an image encoding method performed by an encoding device according to an exemplary embodiment and an example of an image decoding method performed by a decoding device according to an exemplary embodiment.
[0065] Figure 5 This is a flowchart illustrating an intra-frame prediction method according to an exemplary implementation.
[0066] Figure 6 This is a diagram illustrating an example of directional intra-frame prediction modes.
[0067] Figure 7 This is a diagram illustrating the configuration of an MPM list according to an exemplary implementation.
[0068] Figure 8 This is a diagram illustrating the configuration of an MPM list according to another exemplary embodiment.
[0069] Figure 9 This is a flowchart illustrating an MPM prediction method according to an exemplary implementation.
[0070] Figure 10 This is a flowchart illustrating an MPM prediction method according to another exemplary embodiment.
[0071] Figure 11 This is a flowchart illustrating the operation of an encoding device according to an exemplary embodiment.
[0072] Figure 12 This is a block diagram illustrating the configuration of an encoding device according to an exemplary implementation.
[0073] Figure 13 This is a flowchart illustrating the operation of a decoding device according to an exemplary embodiment.
[0074] Figure 14 This is a block diagram illustrating the configuration of a decoding device according to an exemplary implementation.
[0075] Figure 15 This is a diagram illustrating an example of a content flow system that can apply the publicly available content of this document. Detailed Implementation
[0076] While this disclosure is readily adaptable to various modifications and includes various embodiments, specific embodiments thereof have been illustrated by way of example in the accompanying drawings and will now be described in detail. However, this is not intended to limit this disclosure to the specific embodiments disclosed herein. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the technical ideas of this disclosure. The singular form may include the plural form unless the context clearly indicates otherwise. Terms such as “comprising” or “including” are intended to indicate the presence of the features, numbers, steps, operations, elements, components, or combinations thereof set forth in the following description, and should therefore not be construed as precluding the possibility of the presence or addition of one or more different features, numbers, steps, operations, elements, components, or combinations thereof.
[0077] Furthermore, for ease of describing the different functional features, the various configurations in the accompanying drawings described in this disclosure are described independently, but this does not mean that the configurations are implemented by separate hardware or software. For example, two or more configurations may be combined to form a single configuration, and a configuration may be divided into multiple configurations. Embodiments having each component formed by integration and / or division will fall within the scope of the patent rights of this disclosure as long as they do not depart from the spirit of this disclosure.
[0078] In the following, preferred embodiments of the present disclosure will be explained in more detail with reference to the accompanying drawings. In the hereinafter, the same reference numerals are used for the same components in the drawings, and repeated descriptions of the same components may be omitted.
[0079] Figure 1 Examples of video / image coding systems to which this disclosure can be applied are illustrated.
[0080] Reference Figure 1 A video / image encoding system may include a first device (source device) and a second device (receiving device). The source device may transmit encoded video / image information or data to the receiving device in the form of a file or stream via a digital storage medium or network.
[0081] The source device may include a video source, an encoding device, and a transmitter. The receiving device may include a receiver, a decoding device, and a renderer. The encoding device may be referred to as a video / image encoding device, and the decoding device may be referred to as a video / image decoding device. The transmitter may be included in the encoding device. The receiver may be included in the decoding device. The renderer may include a display, and the display may be configured as a separate device or an external component.
[0082] Video sources can acquire video / images through processes used to capture, synthesize, or generate video / images. Video sources may include video / image capture devices and / or video / image generation devices. Video / image capture devices may include, for example, one or more cameras, video / image archives including previously captured video / images, etc. Video / image generation devices may include, for example, computers, tablets, and smartphones, and can generate video / images (electronically). For example, virtual video / images can be generated by computers, etc. In this case, the video / image capture process can be replaced by a process for generating relevant data.
[0083] Encoding devices can encode input video / images. They can perform a series of processes such as prediction, transformation, and quantization to achieve compression and encoding efficiency. The encoded data (encoded video / image information) can be output as a bitstream.
[0084] The transmitter can send encoded images / image information or data, output in bitstream form, to the receiver of the receiving device in file or stream form via digital storage media or a network. Digital storage media can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmitter can include elements for generating media files according to a predetermined file format and may include elements for transmission via broadcast / communication networks. The receiver can receive / extract the bitstream and send the received bitstream to a decoding device.
[0085] Decoding devices can decode video / images by performing a series of processes, such as inverse quantization, inverse transform, and prediction, that correspond to the operations of encoding devices.
[0086] The renderer can render decoded video / images. Rendered video / images can then be displayed on a monitor.
[0087] Figure 2 The structure of a video / image encoding apparatus to which this disclosure can be applied is illustrated. In the following, a video encoding apparatus may include an image encoding apparatus.
[0088] Reference Figure 2The encoding device 200 includes an image segmenter 210, a predictor 220, a residual processor 230, an entropy encoder 240, an adder 250, a filter 260, and a memory 270. The predictor 220 may include an inter-frame predictor 221 and an intra-frame predictor 222. The residual processor 230 may include a transform 232, a quantizer 233, an inverse quantizer 234, and an inverse transform 235. The residual processor 230 may also include a subtractor 231. The adder 250 may be referred to as a reconfigurator or a reconstruction block generator. According to an exemplary embodiment, the image segmenter 210, predictor 220, residual processor 230, entropy encoder 240, adder 250, and filter 260 may be constituted by at least one hardware component (e.g., an encoder chipset or a processor). Furthermore, the memory 270 may include a decoded image buffer (DPB) or may be constituted by a digital storage medium. The hardware component may also include the memory 270 as an internal / external component.
[0089] Image segmenter 210 can segment an input image (or picture or frame) input to encoding device 200 into one or more processors. For example, a processor may be referred to as a coding unit (CU). In this case, coding units can be recursively segmented from coding tree units (CTUs) or maximum coding units (LCUs) according to a quadtree-binary-trinary tree (QTBTTT) structure. For example, a coding unit can be segmented into multiple deeper coding units based on a quadtree structure, a binary tree structure, and / or a ternary structure. In this case, for example, a quadtree structure can be applied first, followed by a binary tree structure and / or a ternary structure. Alternatively, a binary tree structure can be applied first. The encoding process according to this disclosure can be performed based on the final coding unit that is no longer segmented. In this case, the maximum coding unit can be used as the final coding unit based on encoding efficiency according to image characteristics, or, if necessary, the coding unit can be recursively segmented into deeper coding units, and the coding unit with the optimal size can be used as the final coding unit. Here, the encoding process may include prediction, transformation, and reconstruction processes, which will be described later. As another example, the processor may also include a predictor (PU) or a transform unit (TU). In this case, the predictor and the transform unit can be separated or split from the final encoding unit described above. The predictor may be a unit for predicting samples, and the transform unit may be a unit for deriving transform coefficients and / or a unit for deriving residual signals from transform coefficients.
[0090] In some cases, a unit can be used interchangeably with terms such as block or region. Generally, an M×N block can represent a set of samples or transform coefficients consisting of M columns and N rows. A sample can typically represent a pixel or pixel value, and can represent only the pixel / pixel value of the luminance component, or only the pixel / pixel value of the chrominance component. A sample can be used as a term corresponding to a picture (or image) of pixels or pictographs.
[0091] In the encoding device 200, the predicted signal (prediction block, prediction sample array) output from the inter-frame predictor 221 or the intra-frame predictor 222 is subtracted from the input image signal (original block, original sample array) to generate a residual signal (residual block, residual sample array), and the generated residual signal is sent to the converter 232. In this case, as shown, the unit used to subtract the predicted signal (prediction block, prediction sample array) from the input image signal (original block, original sample array) in the encoder 200 can be called the subtractor 231. The predictor can perform prediction on the block to be processed (hereinafter referred to as the current block) and generate a prediction block that includes the prediction samples of the current block. The predictor can determine whether to apply intra-frame prediction or inter-frame prediction based on the current block or CU. As described later in the description of each prediction mode, the predictor can generate various information related to the prediction, such as prediction mode information, and send the generated information to the entropy encoder 240. The information about the prediction can be encoded in the entropy encoder 240 and output as a bitstream.
[0092] Intra-predictor 222 can predict the current block by referencing samples in the current image. Depending on the prediction mode, the referenced samples may be located near or far from the current block. In intra-prediction, the prediction mode can include multiple non-directional modes and multiple directional modes. Non-directional modes can include, for example, DC mode and planar mode. Depending on the level of detail in the prediction direction, the directional modes can include, for example, 33 or 65 directional prediction modes. However, this is just an example, and more or fewer directional prediction modes can be used depending on the settings. Intra-predictor 222 can determine the prediction mode to be applied to the current block by using the prediction modes applied to neighboring blocks.
[0093] Inter-frame predictor 221 can deduce the predicted block of the current block based on a reference block (reference sample array) specified by motion vectors on a reference image. Here, to reduce the amount of motion information transmitted in inter-frame prediction mode, motion information can be predicted on a block, sub-block, or sample basis based on the correlation between motion information between neighboring blocks and the current block. Motion information may include motion vectors and reference image indices. Motion information may also include inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-frame prediction, neighboring blocks may include spatially adjacent blocks existing in the current image and temporally adjacent blocks existing in the reference image. The reference image including the reference block and the reference image including the temporally adjacent block may be the same or different. The temporally adjacent block may be called a juxtaposed reference block, a co-located CU (colCU), etc., and the reference image including the temporally adjacent block may be called a juxtaposed image (colPic). For example, inter-frame predictor 221 can configure a motion information candidate list based on neighboring blocks and generate information indicating which candidate is used to deduce the motion vector and / or reference image index of the current block. Inter-frame prediction can be performed based on various prediction modes. For example, in skip mode and merge mode, the inter-frame predictor 221 can use the motion information of neighboring blocks as the motion information of the current block. In skip mode, unlike merge mode, residual signals may not be able to be sent. In motion vector prediction (MVP) mode, the motion vectors of neighboring blocks can be used as motion vector predictors, and the motion vector of the current block can be indicated by signaling the motion vector difference.
[0094] Predictor 220 can generate prediction signals based on various prediction methods described below. For example, the predictor can not only apply intra-frame prediction or inter-frame prediction to predict a block, but can also apply intra-frame prediction and inter-frame prediction simultaneously. This can be referred to as Inter-Frame Intra-Frame Combined Prediction (CIIP). Furthermore, the predictor can predict blocks based on Intra-Frame Block Copy (IBC) prediction mode or Palette mode. IBC prediction mode or Palette mode can be used for content image / video coding such as games, for example, Screen Content Coding (SCC). IBC essentially performs prediction in the current image, but can be performed similarly to inter-frame prediction because a reference block is derived in the current image. That is, IBC can use at least one of the inter-frame prediction techniques described herein. Palette mode can be considered as an example of intra-frame coding or intra-frame prediction. When applying Palette mode, sample values within the image can be signaled based on information about the palette table and palette index.
[0095] The predicted signal generated by the predictor (including inter-frame predictor 221 and / or intra-frame predictor 222) can be used to generate a reconstructed signal or a residual signal. Transformer 232 can generate transform coefficients by applying transform techniques to the residual signal. For example, the transform technique can include at least one of Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loève Transform (KLT), Graph-Based Transform (GBT), or Conditional Nonlinear Transform (CNT). Here, GBT refers to a transform obtained from a graph when the relationship information between pixels is represented by a graph. CNT refers to a transform generated based on the predicted signal generated using all previously reconstructed pixels. Furthermore, the transform processing can be applied to square pixel blocks of the same size, or it can be applied to blocks of variable size that are not square.
[0096] Quantizer 233 quantizes the transform coefficients and sends them to entropy encoder 240, which encodes the quantized signal (information about the quantized transform coefficients) and outputs a bitstream. This information about the quantized transform coefficients can be called residual information. Quantizer 233 can rearrange the block-type quantized transform coefficients into a one-dimensional vector form based on the coefficient scan order and generate information about the quantized transform coefficients based on this one-dimensional vector form. Entropy encoder 240 can perform various encoding methods, such as Golomb, Context Adaptive Variable Length Coding (CAVLC), and Context Adaptive Binary Arithmetic Coding (CABAC). Entropy encoder 240 can encode information required for video / image reconstruction other than the quantized transform coefficients (e.g., values of syntax elements) together or separately. Encoded information (e.g., encoded video / image information) can be sent or stored in units of NAL (Network Abstraction Layer) in the form of a bitstream. The video / image information may also include information about various parameter sets such as Adaptive Parameter Set (APS), Picture Parameter Set (PPS), Sequence Parameter Set (SPS), or Video Parameter Set (VPS). Furthermore, the video / image information may also include general constraint information. In this document, information and / or syntax elements that send / signal notifications from the encoding device to the decoding device may be included in the video / image information. The video / image information may be encoded by the encoding process described above and included in a bitstream. The bitstream may be transmitted over a network or stored in a digital storage medium. The network may include broadcast networks and / or communication networks, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmitter (not shown) that transmits the signal output from the entropy encoder 240 and / or a storage unit (not shown) that stores the signal may be included as an internal / external element of the encoding device 200; alternatively, the transmitter may be included within the entropy encoder 240.
[0097] The quantization transform coefficients output from quantizer 233 can be used to generate a prediction signal. For example, the residual signal (residual block or residual sample) can be reconstructed by applying inverse quantization and inverse transform to the quantization transform coefficients using inverse quantizer 234 and inverse transformer 235. Adder 250 adds the reconstructed residual signal to the prediction signal output from inter-frame predictor 221 or intra-frame predictor 222 to generate a reconstructed signal (reconstructed image, reconstructed block, reconstructed sample array). If the block to be processed has no residual (such as when a skip mode is applied), the prediction block can be used as a reconstructed block. Adder 250 can be called a reconfigurator or reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current image, and can be used for inter-frame prediction of the next image by filtering as described below.
[0098] In addition, luminance mapping with chroma scaling (LMCS) can be applied during image encoding and / or reconstruction.
[0099] Filter 260 can improve subjective / objective image quality by applying filtering to the reconstructed signal. For example, filter 260 can generate a corrected reconstructed image by applying various filtering methods to the reconstructed image and store the corrected reconstructed image in memory 270 (specifically, the DPB of memory 270). Various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filtering, bilateral filtering, etc. Filter 260 can generate various filtering-related information and send the generated information to entropy encoder 240, as described later in the description of various filtering methods. The filtering-related information can be encoded by entropy encoder 240 and output as a bitstream.
[0100] The corrected reconstructed image sent to memory 270 can be used as a reference image in inter-frame predictor 221. When inter-frame prediction is applied through the encoding device, prediction mismatch between the encoding device 200 and the decoding device can be avoided, and encoding efficiency can be improved.
[0101] The DPB of memory 270 can store a corrected reconstructed image used as a reference image in inter-frame predictor 221. Memory 270 can store motion information of blocks from which motion information in the current image is derived (or encoded) and / or motion information of reconstructed blocks in the image. The stored motion information can be sent to inter-frame predictor 221 and used as motion information for spatially adjacent blocks or temporally adjacent blocks. Memory 270 can store reconstructed samples of reconstructed blocks in the current image and can transmit these reconstructed samples to intra-frame predictor 222.
[0102] Figure 3 The structure of a video / image decoding device to which this disclosure can be applied is illustrated.
[0103] Reference Figure 3 The decoding device 300 may include an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, a filter 350, and a memory 360. The predictor 330 may include an intra-frame predictor 331 and an inter-frame predictor 332. The residual processor 320 may include an inverse quantizer 321 and an inverse transformer 322. According to an exemplary embodiment, the entropy decoder 310, residual processor 320, predictor 330, adder 340, and filter 350 may be constructed from hardware components (e.g., a decoder chipset or processor). Furthermore, the memory 360 may include a decoded image buffer (DPB) or may be constructed from a digital storage medium. The hardware components may also include the memory 360 as an internal / external component.
[0104] When a bitstream including video / image information is input, the decoding device 300 can interact with... Figure 2 The processing of video / image information in the encoding device correspondingly reconstructs the image. For example, the decoding device 300 can deduce units / blocks based on block segmentation information obtained from the bitstream. The decoding device 300 can use a processor applied in the encoding device to perform decoding. Therefore, the decoding processor can be, for example, an encoding unit, and the encoding unit can be segmented from the encoding tree unit or the maximum encoding unit according to a quadtree structure, binary tree structure, and / or ternary tree structure. One or more transform units can be derived from the encoding unit. The reconstructed image signal decoded and output by the decoding device 300 can be reproduced by a reproduction device.
[0105] Decoding device 300 can receive data in bitstream form from... Figure 2The signal output by the encoding device can be decoded by the entropy decoder 310. For example, the entropy decoder 310 can parse the bitstream to derive the information (e.g., video / image information) required for image reconstruction (or picture reconstruction). The video / image information may also include information about various parameter sets such as Adaptive Parameter Set (APS), Picture Parameter Set (PPS), Sequence Parameter Set (SPS), or Video Parameter Set (VPS). In addition, the video / image information may also include general constraint information. The decoding device can also decode the picture based on the information about the parameter sets and / or general constraint information. The signaling / receiving information and / or syntax elements described later herein can be decoded and obtained from the bitstream through the decoding process. For example, the entropy decoder 310 decodes the information in the bitstream based on encoding methods such as Exponential Golomb coding, CAVLC, or CABAC, and outputs the quantized values of the syntax elements and transform coefficients of the residuals required for image reconstruction. More specifically, the CABAC entropy decoding method can receive bins (bits) corresponding to each syntax element in the bitstream, determine the context model using information about the target syntax element, decoding information about the target block, or information about symbols / bins decoded in previous stages, and perform arithmetic decoding on the bin by predicting the occurrence probability of the bin based on the determined context model, generating symbols 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. Prediction-related information from the information decoded by the entropy decoder 310 can be provided to the predictors (inter-frame predictor 332 and intra-frame predictor 331), and the residual values (i.e., quantization transform coefficients and related parameter information) from which entropy decoding has been performed in the entropy decoder 310 can be input to the residual processor 320. The residual processor 320 can derive the residual signals (residual blocks, residual samples, residual sample arrays). Furthermore, filtering information from the information decoded by the entropy decoder 310 can be provided to the filter 350. Furthermore, a receiver (not shown) for receiving signals output from the encoding device may be further configured as an internal / external element of the decoding device 300, or the receiver may be a component of the entropy decoder 310. Additionally, the decoding device according to this document may be referred to as a video / image / picture decoding device, and the decoding device may be classified as an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include the entropy decoder 310, and the sample decoder may include at least one of an inverse quantizer 321, an inverse transformer 322, an adder 340, a filter 350, a memory 360, an inter-frame predictor 332, and an intra-frame predictor 331.
[0106] The dequantizer 321 can dequantize the quantized transform coefficients and output the transform coefficients. The dequantizer 321 can rearrange the quantized transform coefficients in the form of two-dimensional blocks. In this case, the rearrangement can be performed based on the coefficient scan order executed in the encoding device. The dequantizer 321 can perform dequantization on the quantized transform coefficients using quantization parameters (e.g., quantization step size information) and obtain the transform coefficients.
[0107] The inverse transformer 322 performs an inverse transformation on the transformation coefficients to obtain the residual signal (residual block, residual sample array).
[0108] The predictor can perform prediction on the current block and generate a prediction block that includes the prediction samples of the current block. The predictor can determine whether to apply intra-frame prediction or inter-frame prediction to the current block based on the prediction information output from the entropy decoder 310, and can determine the specific intra-frame / inter-frame prediction mode.
[0109] Predictor 330 can generate prediction signals based on various prediction methods described below. For example, the predictor can not only apply intra-frame prediction or inter-frame prediction to predict a block, but can also apply intra-frame prediction and inter-frame prediction simultaneously. This can be referred to as combined intra-frame and inter-frame prediction (CIIP). Furthermore, the predictor can predict blocks based on an intra-block copy (IBC) prediction mode or a palette mode. The IBC prediction mode or palette mode can be used for content image / video coding such as games, for example, Screen Content Coding (SCC). IBC essentially performs prediction in the current frame, but can be performed similarly to inter-frame prediction because a reference block is derived in the current frame. That is, IBC can use at least one of the inter-frame prediction techniques described in this document. The palette mode can be considered an example of intra-frame coding or intra-frame prediction. When applying a palette mode, sample values within the frame can be signaled based on information about the palette table and palette index.
[0110] Intra-predictor 331 can predict the current block by referencing samples in the current image. Depending on the prediction mode, the referenced samples may be located near or far from the current block. In intra-prediction, the prediction mode can include multiple non-directional modes and multiple directional modes. Intra-predictor 331 can determine the prediction mode applied to the current block by using prediction modes applied to neighboring blocks.
[0111] Inter-frame predictor 332 can deduce the predicted block for the current block based on a reference block (reference sample array) specified by motion vectors on a reference image. In this case, to reduce the amount of motion information transmitted in the inter-frame prediction mode, motion information can be predicted on a block, sub-block, or sample basis based on the correlation between motion information between neighboring blocks and the current block. Motion information may include motion vectors and reference image indices. Motion information may also include inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-frame prediction, neighboring blocks may include spatially adjacent blocks existing in the current image and temporally adjacent blocks existing in the reference image. For example, inter-frame predictor 332 can configure a motion information candidate list based on neighboring blocks and deduce the motion vector and / or reference image index for the current block based on received candidate selection information. Inter-frame prediction can be performed based on various prediction modes, and the information about the prediction may include information indicating the mode of inter-frame prediction for the current block.
[0112] Adder 340 can generate a reconstruction signal (reconstructed image, reconstruction block, reconstruction sample array) by adding the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the predictor (including inter-frame predictor 332 and / or intra-frame predictor 331). If the block to be processed has no residual (e.g., when a skip mode is applied), the prediction block can be used as the reconstruction block.
[0113] Adder 340 can be called a reconfigurator or reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current image, through filtering as described below, or it can be used for inter-frame prediction of the next image.
[0114] In addition, Luminance Mapping with Chroma Scaling (LMCS) can be applied in image decoding processing.
[0115] Filter 350 can improve subjective / objective image quality by applying filtering to the reconstructed signal. For example, filter 350 can generate a corrected reconstructed image by applying various filtering methods to the reconstructed image and store the corrected reconstructed image in memory 360 (specifically, the DPB of memory 360). Various filtering methods may include, for example, deblocking filtering, adaptive sample shifting, adaptive loop filtering, bilateral filtering, etc.
[0116] The (corrected) reconstructed image stored in the DPB of memory 360 can be used as a reference image in inter-frame predictor 332. Memory 360 can store motion information of blocks from which motion information in the current image is derived (or decoded) and / or motion information of reconstructed blocks in the image. The stored motion information can be sent to inter-frame predictor 332 for use as motion information of spatially adjacent blocks or temporally adjacent blocks. Memory 360 can store reconstructed samples of reconstructed blocks in the current image and can transmit the reconstructed samples to intra-frame predictor 331.
[0117] In this disclosure, the embodiments described in the filter 260, inter-frame predictor 221, and intra-frame predictor 222 of the encoding device 200 can be the same as, or applied to, the filter 350, inter-frame predictor 332, and intra-frame predictor 331 of the decoding device 300, respectively. The same content can also be applied to the inter-frame predictor 332 and intra-frame predictor 331.
[0118] As described above, in video coding, prediction is performed to improve compression efficiency. Therefore, a prediction block can be generated that includes prediction samples of the current block, which is the block to be encoded. Here, the prediction block includes prediction samples in the spatial domain (or pixel domain). The prediction block is derived equivalently from both the encoding and decoding devices, and the encoding device can signal to the decoding device information about the residual (residual information) between the original block and the prediction block, rather than the original sampled values of the original block itself, thereby improving image coding efficiency. The decoding device can derive a residual block including residual samples based on the residual information, generate a reconstructed block including reconstructed samples by combining the residual block and the prediction block, and generate a reconstructed image including the reconstructed block.
[0119] Residual information can be generated through transformation and quantization processes. For example, an encoding device can signal the relevant residual information to a decoding device (via a bitstream) by deriving a residual block between the original block and the prediction block, deriving transform coefficients by performing a transform process on the residual samples (residual sample array) included in the residual block, and deriving quantized transform coefficients by performing a quantization process on the transform coefficients. Here, the residual information can include information such as value information, position information, transform technique, transform kernel, and quantization parameters of the quantized transform coefficients. The decoding device can perform an inverse quantization / inverse transform process based on the residual information and derive residual samples (or residual blocks). The decoding device can generate a reconstructed image based on the prediction block and the residual block. The encoding device can also derive residual blocks by performing an inverse quantization / inverse transform on the quantized transform coefficients, using them as a reference for inter-frame prediction of the next image, and generate a reconstructed image based on the derived residual blocks.
[0120] Figure 4a and Figure 4b The figures illustrate examples of an image encoding method performed by an encoding device according to an exemplary embodiment and an image decoding method performed by a decoding device according to an exemplary embodiment.
[0121] Figure 4a An example of an image encoding method performed by a video encoding device is shown. (See also...) Figure 4a Image coding methods can include block segmentation, intra / inter-frame prediction, transform, quantization, and entropy coding processes. For example, the current image can be segmented into multiple blocks. A prediction block for the current block can be generated through intra / inter-frame prediction, and a residual block for the current block can be generated by subtracting the prediction block from the input block. Subsequently, a coefficient block for the current block, i.e., transform coefficients, can be generated through the transform of the residual block. The transform coefficients can be quantized, entropy-coded, and stored as a bitstream.
[0122] Figure 4b An example of an image decoding method performed by a decoding device is shown. (See reference...) Figure 4b Image decoding methods can include entropy decoding, dequantization, inverse transform, and intra / inter-frame prediction processes. For example, a decoding device can perform the inverse process of an encoding method. Specifically, quantized transform coefficients can be obtained by entropy decoding of the bitstream, and the coefficient block of the current block, i.e., the transform coefficients, can be obtained by dequantizing the quantized transform coefficients. The residual block of the current block can be derived by inverse transforming the transform coefficients, and the reconstructed block of the current block can be derived by adding the predicted block of the current block derived through intra / inter-frame prediction to the residual block.
[0123] Figure 5 This is a flowchart illustrating an intra-frame prediction method according to an exemplary implementation.
[0124] like Figure 5 As illustrated, the intra-frame prediction method according to an exemplary embodiment may include the following three steps. Specifically, the intra-frame prediction method according to an exemplary embodiment may include configuring reference samples, predicting samples, and performing post-filtering. In the prediction of samples, the intra-frame prediction method according to an exemplary embodiment may use known neighboring reference samples and intra-frame prediction patterns to perform predictions for unknown samples.
[0125] Figure 6 This is a diagram illustrating an example of directional intra-frame prediction modes.
[0126] When intra-frame prediction is applied to the current block, the encoding and / or decoding devices according to the exemplary embodiments can derive the intra-frame prediction mode for the current block and derive the prediction samples for the current block based on the intra-frame prediction mode. That is, the encoding and / or decoding devices can derive the prediction samples for the current block by applying a directional intra-frame prediction mode or a non-directional intra-frame prediction mode based on the neighboring reference samples of the current block.
[0127] In this example, the intra-prediction mode can include two non-directional (or non-angular) intra-prediction modes and 65 directional (or angular) intra-prediction modes. The non-directional intra-prediction modes can include a 0-plane intra-prediction mode and a first DC intra-prediction mode, and the directional intra-prediction modes can include 65 intra-prediction modes, from the 2nd to the 66th intra-prediction modes. Intra-prediction based on these 65 directional intra-prediction modes can be applied to blocks of all sizes and can be applied to all of the luma and chroma components. However, this is merely exemplary, and the configuration of the intra-prediction modes can vary.
[0128] Alternatively, the intra-prediction modes may include two non-directional intra-prediction modes and 129 directional intra-prediction modes. The non-directional intra-prediction modes may include a planar intra-prediction mode and a DC intra-prediction mode, and the directional intra-prediction modes may include intra-prediction modes 2 through 130.
[0129] In addition to the intra-prediction modes mentioned above, intra-prediction modes can also include cross-component linear model (CCLM) modes for chroma samples. CCLM modes can be classified as LT_CCLM, L_CCLM, and T_CCLM based on whether they consider left-side samples, upper-side samples, or both, for deriving LM parameters, and can be applied only to the chroma component.
[0130] For example, intra-frame prediction modes can be indexed, as shown in Table 1 below.
[0131] [Table 1]
[0132] Intra-prediction mode Associated Name 0 INTRA_PLANAR 1 INTRA_DC 2…66 INTRA_ANGULAR2…INTRA_ANGULAR66 81…83 INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLM
[0133] Furthermore, the intra-prediction type (or, additional intra-prediction mode, etc.) may include at least one of LIP, PDPC, MRL, and ISP as described above. The intra-prediction type can be indicated based on intra-prediction type information, and this information can be implemented in various forms. In one example, the intra-prediction type information may include intra-prediction type index information indicating one of the intra-prediction types. In another example, the intra-prediction type information may include at least one of the following: reference sample line information indicating whether MRL is applied to the current block and, if so, which reference sample line is used (e.g., intra_luma_ref_idx); ISP flag information indicating whether ISP is applied to the current block (e.g., intra_subpartitions_mode_flag); ISP type information indicating the subpartition indication split type if ISP is applied (e.g., intra_subpartitions_split_flag); flag information indicating whether PDPC is applied; and flag information indicating whether LIP is applied.
[0134] Reference Figure 6 Intra-prediction modes with horizontal orientation and intra-prediction modes with vertical orientation can be distinguished from each other based on the 34th intra-prediction mode with a left-upward diagonal prediction direction. Figure 6 In the model, H and V represent the horizontal and vertical orientations, respectively, and the numbers from -32 to 32 indicate the offset in units of 1 / 32 at the sample grid position. Intra-prediction modes 2 through 33 are horizontally oriented, while intra-prediction modes 34 through 66 are vertically oriented. Intra-prediction modes 18 and 50 represent the horizontal and vertical intra-prediction modes, respectively. Intra-prediction mode 2 can be called the lower-left diagonal intra-prediction mode, intra-prediction mode 34 can be called the upper-left diagonal intra-prediction mode, and intra-prediction mode 66 can be called the upper-right diagonal intra-prediction mode.
[0135] Typically, when segmenting an image into blocks, the current block to be encoded and its neighboring blocks have similar image characteristics. Therefore, there is a high probability that the current block and its neighboring blocks have the same or similar intra-prediction modes. Thus, the encoder can use the intra-prediction modes of neighboring blocks to encode the intra-prediction mode of the current block.
[0136] In a more specific example, the decoding device may derive a list of most probable modes (MPMs) based on the intra-prediction modes and additional candidate modes of the current block's neighboring blocks (e.g., the left neighboring block and / or the top neighboring block), select one of the MPM candidates from the derived MPM list based on the received MPM index, or select one of the remaining intra-prediction modes not included in the MPM candidates based on the remaining intra-prediction mode information. The MPM list may also be represented as an intra-prediction mode candidate list, and may also be represented as candModeList.
[0137] If adjacent blocks are intra-coded, the coding device (or encoder) can identify or deduce the prediction modes of the adjacent blocks. For example, the prediction mode of the current block can be determined based on the prediction modes of the left and upper adjacent blocks, and in this case, the prediction modes of the corresponding adjacent blocks can be determined as the most probable mode (MPM). The determination of the MPM can also be expressed as listing the most probable mode (MPM) candidates (or MPM list).
[0138] The encoding device can verify whether the prediction modes of the left adjacent block and the upper adjacent block are the same. An initial MPM list can be formed by performing a pruning process on the intra-prediction modes of two adjacent blocks.
[0139] If the prediction modes of the left adjacent block and the upper adjacent block are different, the first MPM can be set to the prediction mode of the left adjacent block, the second MPM can be set to the prediction mode of the upper adjacent block, and the third MPM can be set to any one of the intra-plane mode, intra-DC mode, or intra-vertical mode (the 50th intra-prediction mode). Specifically, when the intra-prediction modes of two adjacent blocks are different from each other, both intra-prediction modes can be set to MPMs, and after a trimming check by the MPMs, one of the default intra-prediction modes can be added to the MPM list. Here, the default intra-prediction mode can include the intra-plane mode, the intra-DC mode, and / or the intra-vertical mode (the 50th intra-prediction mode).
[0140] In the example, the MPM list may include 3, 5, or 6 MPM candidates. For instance, the MPM list may include candidates derived based on the intra-prediction modes of neighboring blocks, derived intra-prediction modes, and / or the default intra-prediction mode. The encoding / decoding device may search for neighboring blocks of the current block in a specific order and derive the intra-prediction modes of the neighboring blocks as MPM candidates with a derivation order. For instance, neighboring blocks may include the left neighboring block, the top neighboring block, the bottom-left neighboring block, the top-right neighboring block, and the top-left neighboring block.
[0141] In the example, an MPM list including three MPM candidates can be configured, and the three MPM candidates can be derived based on the intra-frame prediction modes of neighboring blocks (F) and (G). For example, an MPM prediction method based on the current block, including neighboring blocks (F) and (G), can be exemplified in the following... Figure 7 middle.
[0142] Figure 7 This is a diagram illustrating the configuration of an MPM list according to an exemplary implementation.
[0143] Reference Figure 7 The adjacent blocks of the current block can include adjacent block (A), adjacent block (B), adjacent block (C), adjacent block (D), adjacent block (E), adjacent block (F), and / or adjacent block (G).
[0144] Here, a neighboring block (A) can represent the neighboring block located to the upper left of the upper left sample position of the current block, a neighboring block (B) can represent the neighboring block located at the top of the upper right sample position of the current block, a neighboring block (C) can represent the neighboring block located to the upper right of the upper right sample position of the current block, a neighboring block (D) can represent the neighboring block located at the left end of the lower left sample position of the current block, a neighboring block (E) can represent the neighboring block located at the lower left of the lower left sample position of the current block, a neighboring block (G) can represent the neighboring block located at the top of the upper left sample position of the current block, and a neighboring block (F) can represent the neighboring block located at the left end of the upper left sample position of the current block.
[0145] Furthermore, for example, if the size of the current block is WxH, the x-component of the top-left sample position of the current block is 0, and its y-component is 0, then the adjacent block (A) can be a block that includes coordinate samples of (-1, -1), the adjacent block (B) can be a block that includes coordinate samples of (W-1, -1), the adjacent block (C) can be a block that includes coordinate samples of (W, -1), the adjacent block (D) can be a block that includes coordinate samples of (-1, H-1), the adjacent block (E) can be a block that includes coordinate samples of (-1, H), the adjacent block (F) can be a block that includes coordinate samples of (-1, 0), and the adjacent block (G) can be a block that includes coordinate samples of (0, -1).
[0146] In an exemplary implementation, three MPM candidates can be derived based on the intra-prediction modes of neighboring blocks (F) and (G). For example, the intra-prediction modes of neighboring blocks (F) and (G) can be derived. Furthermore, the intra-prediction mode of either neighboring block (F) or neighboring block (G) can be derived as a DC intra-prediction mode in the following three cases: if neighboring block (F) or neighboring block (G) is unavailable; if neighboring block (F) or neighboring block (G) is not encoded in an intra-prediction mode (if neighboring block (F) or neighboring block (G) is not an intra-coded block); or if neighboring block (F) or neighboring block (G) is outside the current coding tree unit.
[0147] If the intra-prediction mode of a neighboring block (F) or the intra-prediction mode of a neighboring block (G) is determined, three MPM candidates can be derived, for example, based on Table 2 below.
[0148] [Table 2]
[0149]
[0150] Table 2 can be used as an example to represent the pseudocode for configuring the MPM list.
[0151] Referring to Table 2, it can be determined whether the intra-prediction mode of adjacent block (F) is the same as that of adjacent block (G).
[0152] If the intra-prediction mode of a neighboring block (F) is the same as the intra-prediction mode of a neighboring block (G), and the mode number of the intra-prediction mode of the neighboring block (F) is less than 2, then the MPM list of the current block can be derived as MPM list 1. That is, if the intra-prediction mode of a neighboring block (F) is the same as the intra-prediction mode of a neighboring block (G), and the intra-prediction mode of the neighboring block (F) is either the 0th intra-prediction mode or the 1st intra-prediction mode, the MPM list of the current block can be derived as MPM list 1. Here, MPM list 1 can represent an MPM list consisting of MPM candidates {F, F-1, F+1}. F can represent the intra-prediction mode of a neighboring block (F), F-1 can represent an intra-prediction mode whose mode number is obtained by subtracting 1 from the mode number of the intra-prediction mode of the neighboring block (F), and F+1 can represent an intra-prediction mode whose mode number is obtained by adding 1 to the mode number of the intra-prediction mode of the neighboring block (F). For example, if the intra-prediction mode of an adjacent block (F) is the Nth intra-prediction mode, then MPM list 1 can be configured to include the Nth intra-prediction mode, the (N-1)th intra-prediction mode, and the (N+1)th intra-prediction mode as MPM candidates.
[0153] Furthermore, if the intra-prediction mode of the adjacent block (F) is the same as that of the adjacent block (G), and the mode number of the intra-prediction mode of the adjacent block (F) is not less than 2, then the MPM list of the current block can be derived as MPM list 2.
[0154] Furthermore, if the intra-prediction modes of adjacent blocks (F) and adjacent blocks (G) are not the same, and the intra-prediction modes of adjacent blocks (F) and adjacent blocks (G) are not planar intra-prediction modes, then the MPM list of the current block can be derived as MPM list 3.
[0155] Furthermore, if the intra-prediction mode of the adjacent block (F) is different from that of the adjacent block (G), and the sum of the mode number of the intra-prediction mode of the adjacent block (F) and the mode number of the intra-prediction mode of the adjacent block (G) is less than 2, then the MPM list of the current block can be derived as MPM list 4.
[0156] Furthermore, if the intra-prediction mode of the adjacent block (F) is different from that of the adjacent block (G), at least one of the intra-prediction modes of the adjacent block (F) and the adjacent block (G) is a planar intra-prediction mode, and the sum of the mode number of the intra-prediction mode of the adjacent block (F) and the mode number of the intra-prediction mode of the adjacent block (G) is not less than 2, then the MPM list of the current block can be derived as MPM list 5.
[0157] Furthermore, as the number of intra-prediction modes increases, the number of MPM candidates needs to increase. Therefore, the number of MPM candidates can vary depending on the number of intra-prediction modes. Typically, the number of MPM candidates can increase as the number of intra-prediction modes increases. However, the number of MPM candidates does not always increase with the number of intra-prediction modes. For example, if there are 35 or 67 intra-prediction modes, various MPM candidates can be included, such as 3, 4, 5, and 6, depending on the design.
[0158] For example, the encoder / decoder can also be configured with an MPM list that includes six MPMs. The MPM list can be configured by considering default intra-frame modes, adjacent intra-frame modes, and derived intra-frame modes.
[0159] In the example, for adjacent intra-frame mode, there are two adjacent blocks, namely, the left adjacent block (A) and the top adjacent block (B). To generate an MPM list that includes 6 MPMs, the default MPM list initialized based on Table 3 below can be considered.
[0160] [Table 3]
[0161]
[0162] In another example, the order in which the six MPM candidates are configured can be neighboring block (D), neighboring block (B), planar intra-prediction mode, DC intra-prediction mode, neighboring block (E), neighboring block (C), and neighboring block (A). That is, intra-prediction modes can be derived as MPM candidates in the order of intra-prediction modes of neighboring block (D), intra-prediction modes of neighboring block (B), planar intra-prediction mode, DC intra-prediction mode, intra-prediction mode of neighboring block (E), intra-prediction mode of neighboring block (C), and intra-prediction mode of neighboring block (A). If the six MPM candidates are the same as the already derived intra-prediction modes, then the intra-prediction mode does not need to be derived as an MPM candidate.
[0163] Furthermore, if the MPM list does not include the maximum number of MPM candidates—that is, if the derived number of MPM candidates is less than the maximum number of candidates—then the directional intra-prediction modes adjacent to the derived MPM candidates and the predefined default intra-prediction modes can be considered as MPM candidates, and a pruning check process can be performed together. Here, the directional intra-prediction mode adjacent to the MPM candidate can represent the intra-prediction mode whose mode number is adjacent to the mode number of the MPM candidate. The aforementioned neighbor block search and continuous pruning check have the advantage of reducing bit transmission rate, but can increase the number of hardware operation cycles for configuring the MPM list for each block. As a worst-case scenario, a 3840×2160 4K image can be divided into 4×4 blocks for intra-prediction, and the increased number of hardware operation cycles for each 4×4 block can be considered important for throughput. Furthermore, if the intra-prediction modes of neighboring blocks are known through the inter-frame prediction coding of the current block, the intra-prediction modes of the neighboring blocks can be used to configure the MPM list.
[0164] As mentioned above, the current block and its neighboring blocks to be encoded often have similar image characteristics. Therefore, it is highly likely that the current block and its neighboring blocks have the same or similar intra-prediction modes, making it possible to determine the MPM list for the current block to deduce the intra-prediction mode applied to the current block. However, when using 67 intra-prediction modes for intra-prediction, an MPM list including 3 MPM candidates may be insufficient to represent the diversity of multiple intra-prediction modes. Furthermore, methods for configuring a list of 6 MPMs, including neighbor block search and pruning checks, may be disadvantageous in terms of complexity and throughput. Various methods for deriving the intra-prediction mode for the current block based on MPM prediction will be described later in this disclosure.
[0165] Figure 8 This is a diagram illustrating the configuration of an MPM list according to another exemplary embodiment.
[0166] Reference Figure 8 In an exemplary implementation, the MPM list can be generated using the left adjacent block (which can be represented as LEFT) A and the top adjacent block (which can be represented as ABOVE) B, as shown in Table 4 below. The algorithm is as follows. Non-MPM encoding can be based on truncated binary code.
[0167] [Table 4]
[0168]
[0169] Figure 9 This is a flowchart illustrating an MPM prediction method according to an exemplary implementation.
[0170] This disclosure uses specific terms or phrases to define specific information or concepts. For example, a specific intra-prediction mode that can be determined as the intra-prediction mode of the current block during lucid intra-coding without MPM index information is called a "primary mode," an index indicating one of the MPM candidates included in the MPM list is called an "MPM index," a flag indicating whether lucid intra-coding is applied is called an "integrated MPM flag," and the remaining intra-prediction modes other than the MPM candidates when MPM prediction is not applied are called "non-MPM modes." However, "primary mode" can be replaced by various terms such as significant_mode, default mode, and candidate mode; "MPM index" can be replaced by probable_mode_index, mpm_idx, intra_luma_mpm_idx, etc.; "integrated MPM flag" can be replaced by unified_probable_mode_flag, MPM flag, intra_luma_mpm_flag, etc.; and "non-MPM mode" can be replaced by various terms such as non-MPMmodes, non_probable_modes, other intra-frame prediction modes, and other MPM prediction modes. This makes it so that when interpreting specific terms or statements used to define specific information or concepts in this specification, the interpretation should not be limited to the name, but should be interpreted by focusing on the various operations, functions, and effects according to the content of the term.
[0171] In the example, the primary mode can be an in-plane mode.
[0172] In an exemplary implementation, unified luma intra-frame coding and signaling can be performed. In luma intra-frame coding, at least one primary luma intra-frame mode can be signaled first, and then an MPM list can be configured based on the remaining intra-frame modes to select the best mode from the MPM candidates included in the MPM list.
[0173] First, it can be determined whether MRL or ISP is being used. When MRL or ISP is being used, the value of `unified_probable_mode_flag` will be 1. If MRL or ISP is not being used, then `unified_probable_mode_flag` can be resolved.
[0174] If the value of `unified_probable_mode_flag` is 0, then `non_probable_mode_index` can be resolved. If the value of `unified_probable_mode_flag` is 1, then `significant_mode_flag` can be resolved. When the value of `significant_mode_flag` is 1, the intra-prediction mode of the current block can be determined to be the dominant mode (e.g., intra-plane mode), and when the value of `significant_mode_flag` is 0, then `probable_mode_index` can be resolved.
[0175] Figure 10 This is a flowchart illustrating an MPM prediction method according to another exemplary embodiment.
[0176] exist Figure 10 In this context, intra-prediction performed using an ensemble method (or algorithm) without depending on whether multi-reference line (MRL) based intra-prediction or intra-segmentation based (ISP) prediction is applied is called "unified luma intra-mode coding". However, "unified luma intra-mode coding" can be replaced by various terms such as unified luma intra-mode, unified intra-prediction, unified MPM, unified MPM prediction, unified_probable_mode, unified intra-coding, and unified luma intra-coding.
[0177] The following is a specific method for deriving an integrated luma intra-frame mode according to an exemplary implementation.
[0178] First, `unified_probable_mode_flag` can be resolved. When `unified_probable_mode_flag` is 0, `non_probable_mode_index` can be resolved, and when `unified_probable_mode_flag` is 1, `significant_mode_flag` can be resolved. When `significant_mode_flag` is 1, the intra-prediction mode of the current block can be determined to be the dominant mode (e.g., intra-plane mode), and when `significant_mode_flag` is 0, `probable_mode_index` can be resolved.
[0179] Alternatively, a specific method for deriving an integrated luma intra-frame mode according to an exemplary embodiment may be shown in Table 5 below.
[0180] [Table 5]
[0181]
[0182] A method for configuring an MPM list according to an exemplary implementation is proposed. A list of MPM patterns with a length k can be configured. In the example, k equals 5, and five conditions can be used when configuring five different MPM lists. Figure 7 Block (B) can be represented as A, and block (D) can be represented as L. For example, a method for configuring an MPM list according to this exemplary embodiment can be represented in Table 6 below.
[0183] [Table 6]
[0184]
[0185]
[0186] Furthermore, the exemplary embodiments are not limited to performing integrated luma intra-frame coding only when the integrated MPM flag is signaled and the value of the signaled MPM flag is 1. For example, the decoding device according to the exemplary embodiments can perform integrated luma intra-frame coding even without signaling the integrated MPM flag.
[0187] In an exemplary implementation, the integration of intra-frame prediction signaling and intra-frame mode signaling can be combined with the configuration of the MPM list, and a non-MPM list can also be configured. This exemplary implementation can be based on the coding unit syntax in Table 7 below.
[0188] [Table 7]
[0189]
[0190] For example, the coding unit syntax in Table 7 can be based on the semantics in Table 8 below.
[0191] [Table 8]
[0192]
[0193] In the example, the decoding process of the coding unit encoded in intra-frame prediction mode can be based on the algorithm (or description) in Table 9 below.
[0194] [Table 9]
[0195]
[0196]
[0197] In the example, the process for deriving the intra-frame prediction mode of luminance can be based on the algorithm (or description) in Table 10 below.
[0198] [Table 10]
[0199]
[0200]
[0201]
[0202]
[0203] In the example, the decoding process of an intra-frame block can be based on the algorithm (or description) in Table 11 below.
[0204] [Table 11]
[0205]
[0206] In the example, intra-frame sample prediction can be based on the algorithm (or description) in Table 12 below.
[0207] [Table 12]
[0208]
[0209] In the examples, intra-plane mode, intra-DC mode, etc., can be based on the algorithms (or descriptions) in Table 13 below.
[0210] [Table 13]
[0211]
[0212]
[0213]
[0214] In the example, the process used for transforming scaling transformation coefficients, etc., can be based on the algorithm (or description) in Table 14 below.
[0215] [Table 14]
[0216]
[0217]
[0218]
[0219] In the examples, an example of assigning ctxInc to a syntax element that includes context-encoded bin can be based on the following Table 15.
[0220] [Table 15]
[0221]
[0222] Referring to Table 7, it can be confirmed that the decoding result based on the value of intra_luma_mpm_flag being 1 is used to decode intra_planar_flag. intra_luma_mpm_flag can represent an example of the MPM flag, and intra_planar_flag can represent an example of the planar flag.
[0223] Referring to (8-10), (8-12) and (8-13) of Table 10, it can be confirmed that among the MPM candidates included in the MPM list, candModeList[0] is determined to be candIntraPredModeA representing the intra-prediction mode of the left adjacent block of the current block, candModeList[1] is determined to be 2+((candIntraPredModeA+61)%64), and candModeList[2] is determined to be 2+((candIntraPredModeA-1)%64).
[0224] Referring to Table 14, it can be confirmed that cMax, representing the maximum value of intra_luma_mpm_idx, is determined to be 4.
[0225] Exemplary embodiments provide a method for performing integrated MPM prediction and a method for encoding and / or signaling information about relevant intra-prediction modes. Furthermore, exemplary embodiments provide a method for deriving transform kernels. According to exemplary embodiments, coding unit syntaxes represented in Tables 16 to 24 can be configured / encoded and signaled to a decoding device, and the decoding device can derive the intra-prediction mode of the current block (CU) based on the coding unit syntax and the MPM list.
[0226] For example, according to this exemplary embodiment, a planar mode can be included in the MPM list as a candidate mode, and when the value of the MPM flag is 1, the planar flag (intra_planar_flag) can be signaled first to indicate whether the planar mode is used as the intra-prediction mode for the current block. If the value of the planar flag is 0, the MPM index (intra_luma_mpm_idx) can be signaled to indicate one of the remaining MPM candidates besides the planar mode. In this case, in the example, the MPM list including the remaining candidates besides the planar mode can be referred to as the modified MPM list.
[0227] If the total number of MPM candidates, including the planar mode, is 6, then the total number of candidates in the modified MPM list excluding the planar mode can be equal to 5, and in this case, the value of the MPM index can be from 0 to 4. That is, the maximum value of the MPM index can be set to 4. At this time, the maximum value of the MPM index can be represented as cMax of the MPM index. The bin of the planar flag can be conventionally encoded based on the context model as described later in Tables 16 to 24, and the ctxInc used to indicate the context model, as described later in Tables 16 to 24, can: i) use only a specific value (e.g., 0); ii) be variably derived based on whether the left adjacent block is available and / or the upper adjacent block is available and the value of the planar flag (if available); or iii) can also have a value that is variably determined depending on whether MRL or ISP is applied. Furthermore, this exemplary embodiment can derive the transform kernel (vertical transform kernel / horizontal transform kernel) of the current block based on the size of the current block and / or the intra-prediction type / mode. For example, as described later in Tables 16 through 24, if the ISP is not applied to the current block or is unavailable, the transform kernel (vertical transform kernel / horizontal transform kernel) can be further derived as a value of 1 or 0 with reference to the size of the current block.
[0228] According to this exemplary embodiment, if MRL intra-prediction is applied (i.e., if the MRL index is greater than 0), a planar mode or DC mode can be applied to the current block, and if ISP intra-prediction is also applied, a planar mode or DC mode can also be applied to the current block. Therefore, the MPM list can be configured based on integrated MPM prediction, regardless of whether MRL, ISP, etc., are applied. Tables 16 to 24 are shown below, and those skilled in the art will readily understand the details of Tables 16 to 24.
[0229] Table 16 below shows examples of coding unit syntax.
[0230] [Table 16]
[0231]
[0232] The coding unit syntax in Table 16 can be based on semantics, for example, those in Table 17 below.
[0233] [Table 17]
[0234]
[0235] In the example, the decoding process of the coding unit encoded in intra-frame prediction mode can be based on the algorithm (or description) in Table 18 below.
[0236] [Table 18]
[0237]
[0238]
[0239] In the example, the derivation process for the lumen intra-frame prediction mode can be based on the algorithm (or description) in Table 19 below.
[0240] [Table 19]
[0241]
[0242]
[0243]
[0244] In the example, the process for decoding intra-frame blocks can be based on the algorithm (or description) in Table 20 below.
[0245] [Table 20]
[0246]
[0247] In the example, intra-frame sample prediction can be based on the algorithm (or description) in Table 21 below.
[0248] [Table 21]
[0249]
[0250]
[0251] In the examples, intra-plane mode, intra-DC mode, etc., can be based on the algorithms (or descriptions) in Table 22 below.
[0252] [Table 22]
[0253]
[0254]
[0255] In the example, the process for transforming scaling transformation coefficients, etc., can be based on the algorithm (or description) in Table 23 below.
[0256] [Table 23]
[0257]
[0258]
[0259]
[0260] In the examples, an example of assigning ctxInc to a syntax element that includes context-encoded bin can be based on Table 24 below.
[0261] [Table 24]
[0262]
[0263] Exemplary embodiments provide a method for performing integrated MPM prediction and a method for encoding and / or signaling information about relevant intra-prediction modes. Furthermore, exemplary embodiments provide a method for deriving transform kernels. According to exemplary embodiments, coding unit syntaxes represented in Tables 16 to 24 can be configured / encoded and signaled to a decoding device, and the decoding device can derive the intra-prediction mode of the current block (CU) based on the coding unit syntax and the MPM list.
[0264] For example, according to this exemplary embodiment, the MPM list may include planar modes as candidate modes, and if the value of the MPM flag is 1, the planar flag (intra_planar_flag) can be signaled first to indicate whether the planar mode is used as the intra-prediction mode for the current block. If the value of the planar flag is 0, the MPM index (intra_luma_mpm_idx) can be signaled to indicate one of the remaining MPM candidates besides the planar mode. In this case, in one example, the MPM list including the remaining candidates besides the planar mode may be called the modified MPM list.
[0265] If the total number of MPM candidates, including the planar mode, is 6, then the total number of candidates in the modified MPM list excluding the planar mode can be equal to 5, and in this case, the value of the MPM index can be from 0 to 4. That is, the maximum value of the MPM index can be set to 4. At this time, the maximum value of the MPM index can be represented as cMax of the MPM index. The bin of the planar flag can be conventionally encoded based on the context model as described later in Tables 25 to 33, and the ctxInc used to indicate the context model, as described later in Tables 25 to 33, can: i) use only a specific value (e.g., 0); ii) be variably derived based on whether the left adjacent block and / or the upper adjacent block is available and the value of the planar flag (if available); or iii) can also have a value that is variably determined depending on whether MRL or ISP is applied. Furthermore, according to this exemplary embodiment, the transform kernel (vertical transform kernel / horizontal transform kernel) of the current block can be derived based on the size of the current block and / or the intra-prediction type / mode. For example, as described later in Tables 25 through 33 below, if the ISP is not applied to the current block or is unavailable, the transform kernel (vertical transform kernel / horizontal transform kernel) can be further derived as a value of 1 or 0 with reference to the size of the current block.
[0266] According to this exemplary embodiment, the MPM list can be configured based on integrated MPM prediction, regardless of whether MRL, ISP, etc. are applied. Tables 25 to 33 are shown below, and those skilled in the art will readily understand the details of Tables 25 to 33.
[0267] Table 25 below shows examples of coding unit syntax.
[0268] [Table 25]
[0269]
[0270] The coding unit syntax in Table 25 can be based on semantics, for example, those in Table 26 below.
[0271] [Table 26]
[0272]
[0273] In the example, the decoding process for the coding unit used in intra-frame prediction mode coding can be based on the algorithm (or description) in Table 27 below.
[0274] [Table 27]
[0275]
[0276]
[0277] In the example, the process for decoding the lumen intra-frame prediction mode can be based on the algorithm (or description) in Table 28 below.
[0278] [Table 28]
[0279]
[0280]
[0281]
[0282] In the example, the process for decoding intra-frame blocks can be based on the algorithm (or description) in Table 29 below.
[0283] [Table 29]
[0284]
[0285] In the example, intra-frame sample prediction can be based on the algorithm (or description) in Table 30 below.
[0286] [Table 30]
[0287]
[0288] In the examples, in-plane mode, DC mode, etc., can be based on the algorithm (or description) in Table 31 below.
[0289] [Table 31]
[0290]
[0291]
[0292] In the example, the process for transforming scaling transformation coefficients, etc., can be based on the algorithm (or description) in Table 32 below.
[0293] [Table 32]
[0294]
[0295]
[0296]
[0297] In the examples, an example of assigning ctxInc to a syntax element that includes context-encoded bin can be based on Table 33 below.
[0298] [Table 33]
[0299]
[0300]
[0301] Referring to Table 25, it can be confirmed that the intra_planar_flag is checked based on whether intra_luma_ref_idx is 0. intra_luma_ref_idx can represent an example of a multi-reference line (MRL) index, and intra_planar_flag can represent an example of a planar flag.
[0302] Referring to Table 27, it can be confirmed that the context index (ctxInc or ctxIdx) of the bin associated with intra_planar_flag is either 0 or 1. That is, it can be confirmed that the context index of the bin associated with intra_planar_flag can be one of two different integers.
[0303] Referring to Table 33, it can be confirmed that the context index of the bin associated with intra_planar_flag is based on the value of intra_subpartitions_mode_flag. intra_subpartitions_mode_flag can represent an example of an ISP flag indicating whether the intra-subpartition (ISP) mode is applied to the current block.
[0304] Figure 11 This is a flowchart illustrating the operation of an encoding device according to an exemplary embodiment, and Figure 12 This is a block diagram illustrating the configuration of an encoding device according to an exemplary embodiment.
[0305] according to Figure 11 and Figure 12 Encoding devices can perform operations according to Figure 13 and Figure 14 The corresponding operation of the decoding device. Therefore, refer to the following... Figure 13 and Figure 14 The operation of the described decoding device can also be applied to... Figure 11 and Figure 12 Encoding devices.
[0306] Figure 11 Each step shown can be performed by Figure 2 The encoding device 200 shown performs the operation. Furthermore, the operation according to S1100 and S1110 is based on reference... Figures 4a to 10 Some content in the description. Therefore, omissions or simplifications will be made in relation to the above reference. Figure 2 as well as Figures 4a to 10 A detailed description of overlapping content.
[0307] like Figure 12 As shown, the encoding device according to an exemplary embodiment may include a predictor 220 and an entropy encoder 240. However, in some cases, Figure 12 The components shown may not all be necessary components of the encoding device, and the encoding device can be composed of more than [other components]. Figure 12 The components shown can be implemented with more or fewer components.
[0308] In the encoding device according to the exemplary embodiment, the predictor 220 and the entropy encoder 240 can be implemented as separate chips, or at least the two components can be implemented by a single chip.
[0309] The encoding apparatus according to the exemplary embodiment can generate at least one of MPM flag information or plane flag information based on the intra prediction mode of the current block. The MPM flag information indicates whether the intra prediction mode is encoded based on the MPM candidates of the current block, and the plane flag information indicates whether the intra prediction mode of the current block is determined to be a plane mode (S1100).
[0310] For example, the encoding device can deduce the intra-prediction mode of the current block, generate MPM flag information indicating whether the intra-prediction mode is encoded based on the MPM candidates of the current block, and generate plane flag information based on the MPM that indicates the MPM flag information and the plane flag information that indicates whether the intra-prediction mode of the current block is determined to be a plane mode.
[0311] The encoding device according to the exemplary embodiment can encode image information including at least one of MPM mark information or planar mark information (S1110). More specifically, the entropy encoder 240 of the encoding device can encode image information including at least one of MPM mark information or planar mark information.
[0312] In an exemplary implementation, if the intra-prediction mode of the current block is deduced to be a planar mode, the planar flag information can indicate that the intra-prediction mode of the current block is deduced to be a planar mode.
[0313] In an exemplary embodiment, the intra-frame prediction information may further include MPM index information related to one of the MPM candidates other than the planar mode among the MPM candidates of the current block. The image coding method may further include generating MPM index information based on the case that the intra-frame prediction mode of the current block is not derived as a planar mode.
[0314] In an exemplary implementation, the total number of MPM candidates other than the planar mode in the current block can be equal to 5.
[0315] In an exemplary embodiment, the MPM index information includes the 0th MPM candidate, the 1st MPM candidate, the 2nd MPM candidate, the 3rd MPM candidate, or the 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the case where the intra-prediction mode of the left neighboring block of the current block and the intra-prediction mode of the upper neighboring block of the current block are the same, and the intra-prediction mode of the left neighboring block is greater than the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-prediction mode of the left neighboring block of the current block, the intra-prediction mode of the 1st MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block + 61) % 64), and the intra-prediction mode of the 2nd MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block - 1) % 64).
[0316] In an exemplary embodiment, the MPM index information may represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. Based on the case where the intra-prediction mode of the left neighboring block and the intra-prediction mode of the upper neighboring block of the current block are different, and the intra-prediction mode of the left neighboring block is less than or equal to the intra-DC mode, and the intra-prediction mode of the upper neighboring block is less than or equal to the intra-DC mode, the intra-prediction mode of the 0th MPM candidate may be the intra-DC mode, the intra-prediction mode of the 1st MPM candidate may be the 50th intra-prediction mode, the intra-prediction mode of the 2nd MPM candidate may be the 18th intra-prediction mode, the intra-prediction mode of the 3rd MPM candidate may be the 46th intra-prediction mode, and the intra-prediction mode of the 4th MPM candidate may be the 54th intra-prediction mode.
[0317] In an exemplary implementation, the MPM index information may be based on a truncated Rice (TR) binarization process.
[0318] In an exemplary implementation, cMax, which represents the maximum value of the MPM index information, can be equal to 4.
[0319] according to Figure 11 and Figure 12 The encoding device and method for operating the encoding device are shown. The encoding device can generate at least one of MPM flag information or plane flag information based on the intra-prediction mode of the current block. The MPM flag information indicates whether the intra-prediction mode is encoded based on the MPM candidates of the current block, and the plane flag information indicates whether the intra-prediction mode of the current block is determined to be a plane mode (S1100). The image information including at least one of MPM flag information or plane flag information is encoded (S1110).
[0320] In other words, this disclosure can enhance image coding efficiency based on intra-frame prediction using the MPM list of the current block. Alternatively, this disclosure can enhance the efficiency of intra-frame prediction based on the MPM list based on planar flag information indicating whether the intra-frame prediction mode of the current block is determined to be a planar mode. Alternatively, this disclosure can efficiently configure the MPM list of the current block. Alternatively, this disclosure can efficiently encode the MPM index.
[0321] Figure 13 This is a flowchart illustrating the operation of a decoding device according to an exemplary embodiment, and Figure 14 This is a block diagram illustrating the configuration of a decoding device according to an exemplary embodiment.
[0322] Figure 13 Each step shown can be performed by Figure 3 The decoding device 300 shown performs the operation. Therefore, detailed descriptions that overlap with the foregoing will be omitted or simplified.
[0323] like Figure 14 As shown, a decoding device according to an exemplary embodiment may include an entropy decoder 310, a predictor 330, and an adder 340. However, in some cases, Figure 14 The components shown may not all be necessary components of the decoding device, and the decoding device can be composed of more than [other components]. Figure 14 The components shown can be implemented with more or fewer components.
[0324] In the decoding device according to an exemplary embodiment, the entropy decoder 310, the predictor 330 and the adder 340 may be implemented as separate chips, or at least two or more components may be implemented by a single chip.
[0325] According to an exemplary embodiment, a decoding device may receive intra-frame prediction information including at least one of MPM flag information or plane flag information, wherein the MPM flag information indicates whether the intra-frame prediction mode of the current block is derived based on the most probable mode (MPM) candidate of the current block, and the plane flag information indicates whether the intra-frame prediction mode of the current block is determined to be the most probable mode of the plane mode (S1300).
[0326] In the example, intra-frame prediction information can be included in the coding unit syntax.
[0327] In the example, the MPM flag information can be represented as `intra_luma_mpm_flag`, and the planar flag information can be represented as `intra_luma_not_planar_flag`. If the value of `intra_luma_not_planar_flag` is 1, it can be determined that the intra-prediction mode of the current block is not planar mode, and if the value of `intra_luma_not_planar_flag` is 0, it can be determined that the intra-prediction mode of the current block is planar mode.
[0328] In another example, the planar flag information can also be represented as intra_luma_planar_flag or intra_planar_flag. If the value of intra_luma_planar_flag is 1, it can be determined that the intra-prediction mode of the current block is planar mode, and if the value of intra_luma_planar_flag is 0, it can be determined that the intra-prediction mode of the current block is not planar mode.
[0329] In the example, the decoding device can determine that the value of the MPM flag information is related to the decoding of the planar flag information based on the determination that the MPM flag information is 1. That is, the decoding device can decode the planar flag information based on the determination that the MPM flag information is 1.
[0330] According to the exemplary embodiment, the decoding device can derive the intra-prediction mode of the current block based on the MPM flag information and the plane flag information (S1310).
[0331] According to an exemplary embodiment, the decoding device can derive the prediction block of the current block based on the intra-frame prediction mode of the current block (S1320).
[0332] The decoding device according to the exemplary implementation can generate a reconstructed image based on the predicted blocks (S1330).
[0333] In an exemplary implementation, the intra-prediction mode of the current block is derived from the MPM candidate based on the MPM flag information, and the plane flag information can be included in the intra-prediction information.
[0334] In an exemplary implementation, the derivation of the intra-prediction mode of the current block may include: deriving the intra-prediction mode of the current block as a planar mode based on the case where the planar flag information indicates that the intra-prediction mode of the current block is derived as a planar mode.
[0335] In an exemplary implementation, the intra-prediction information may also include MPM index information related to one of the MPM candidates (excluding planar modes) among the MPM candidates of the current block. Based on the planar flag indicating that the intra-prediction mode of the current block has not been deduced as a planar mode, the MPM index information can be included in the intra-prediction information. This image decoding method is characterized by deriving the intra-prediction mode of the current block based on the MPM index information. In the example, the decoding device may check the MPM index information based on a check result where the value of intra_luma_not_planar_flag is 1.
[0336] In an exemplary implementation, the number of MPM candidates (excluding planar patterns) in the current block can be equal to 5. In the example, the MPM candidates may include MPM candidates 1 through 5. The 1st MPM candidate may be associated with MPM index 0, the 2nd MPM candidate may be associated with MPM index 1, the 3rd MPM candidate may be associated with MPM index 2, the 4th MPM candidate may be associated with MPM index 3, and the 5th MPM candidate may be associated with MPM index 4.
[0337] In an exemplary embodiment, the MPM index information can represent the 0th MPM candidate, 1st MPM candidate, 2nd MPM candidate, 3rd MPM candidate, or 4th MPM candidate among the MPM candidates of the current block, excluding the planar mode. In the example, based on the case that the intra-prediction mode of the left neighboring block of the current block is the same as the intra-prediction mode of the upper neighboring block of the current block, and the intra-prediction mode of the left neighboring block is greater than the intra-DC mode, the intra-prediction mode of the 0th MPM candidate can be the intra-prediction mode of the left neighboring block of the current block, the intra-prediction mode of the 1st MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block) + 61) % 64), and the intra-prediction mode of the 2nd MPM candidate can be 2 + ((intra-prediction mode of the left neighboring block of the current block - 1) % 64).
[0338] In the example, the MPM index information can be represented as intra_luma_mpm_idx, and the 0th MPM candidate to the 4th MPM candidate corresponding to MPM index 0 to MPM index 4 can be represented as candModeList[0], candModeList[1], candModeList[2], candModeList[3] and candModeList[4], respectively.
[0339] In the example, if the intra-prediction mode of the left adjacent block of the current block is candIntraPredModeA, the intra-prediction mode of the upper adjacent block of the current block is candIntraPredModeB, candIntraPredModeA and candIntraPredModeB are the same, and candIntraPredModeA is greater than INTRA_DC, then the 0th MPM candidate, the 1st MPM candidate and the 2nd MPM candidate in the MPM candidate of the configuration MPM list can be determined as follows.
[0340] Formula 1
[0341] candModeList[0]=candIntraPredModeA
[0342] candModeList[1]=2+((candIntraPredModeA+61)%64)
[0343] candModeList[2]=2+((candIntraPredModeA-1)%64)
[0344] In another example, based on the fact that the intra prediction mode of the left neighboring block of the current block is different from the intra prediction mode of the upper neighboring block of the current block, and the intra prediction mode of the left neighboring block is less than or equal to the intra DC mode, and the intra prediction mode of the upper neighboring block is less than or equal to the intra DC mode, the intra prediction mode of the 0th MPM candidate can be the intra DC mode, the intra prediction mode of the 1st MPM candidate can be the 50th intra prediction mode, the intra prediction mode of the 2nd MPM candidate can be the 18th intra prediction mode, the intra prediction mode of the 3rd MPM candidate can be the 46th intra prediction mode, and the intra prediction mode of the 4th MPM candidate can be the 54th intra prediction mode.
[0345] In an exemplary implementation, the MPM index information may be based on a truncated Rice (TR) binarization process.
[0346] In an exemplary implementation, cMax, which indicates the maximum value of the MPM index information, can be equal to 4.
[0347] according to Figure 13 and Figure 14 The decoding device and method shown herein, wherein the decoding device may receive intra-frame prediction information including at least one of MPM flag information or planar flag information, wherein the MPM flag information indicates whether the intra-frame prediction mode of the current block is derived based on the most probable mode (MPM) candidate of the current block, and the planar flag information indicates whether the intra-frame prediction mode of the current block is determined to be a planar mode (S1300); the intra-frame prediction mode of the current block is derived based on the MPM flag information and the planar flag information (S1310); a prediction block of the current block is derived based on the intra-frame prediction mode of the current block (S1320); and a reconstructed image is generated based on the prediction block (S1330). In this case, if the intra-frame prediction mode of the current block is derived based on the MPM flag information, the planar flag information may be included in the intra-frame prediction information.
[0348] In other words, this disclosure can enhance the efficiency of MPM-based intra-prediction by using plane flag information indicating whether the intra-prediction mode of the current block is determined to be a plane mode. Alternatively, this disclosure can enhance image coding efficiency by determining whether to signal the plane flag information based on MRL index information. Alternatively, this disclosure can effectively configure the MPM list of the current block. Alternatively, this disclosure can determine the value of the context index of the bin related to the plane flag information based on whether the ISP mode is applied to the current block.
[0349] In the foregoing embodiments, although the method has been described based on a flowchart shown as a series of steps or blocks, this disclosure is not limited to the order of the steps, and certain steps may occur in a different order than those described above, or simultaneously with steps different from those described above. Furthermore, those skilled in the art will understand that the steps shown in the flowchart are not exclusive, and may include other steps, or one or more steps in the flowchart may be omitted without affecting the scope of this disclosure.
[0350] The methods described above according to this disclosure can be implemented in software, and the encoding and / or decoding devices according to this disclosure can be included in devices for performing image processing, such as TVs, computers, smartphones, set-top boxes, display devices, etc.
[0351] When the embodiments of this disclosure are implemented in software, the methods described above can be implemented as modules (procedures, functions, etc.) for performing the functions described above. These modules can be stored in memory and executed by a processor. The memory can be located inside or outside the processor and can be connected to the processor by various known means. The processor may include application-specific integrated circuits (ASICs), other chipsets, logic circuits, and / or data processing devices. The memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and / or other storage devices. That is, the embodiments described in this disclosure can be executed by being implemented on a processor, microprocessor, controller, or chip. For example, the functional units shown in each figure can be executed by being implemented on a computer, processor, microprocessor, controller, or chip. In this case, the information used for implementation (e.g., information about instructions) or algorithms can be stored in a digital storage medium.
[0352] Furthermore, the decoding and encoding devices employing this disclosure can be included in multimedia broadcast transceivers, mobile communication terminals, home theater video devices, digital cinema video devices, surveillance cameras, video communication devices, real-time communication devices such as video communication, mobile streaming devices, storage media, portable video cameras, video-on-demand (VoD) service providers, over-the-top (OTT) video devices, internet streaming service providers, three-dimensional (3D) video devices, virtual reality (VR) devices, augmented reality (AR) devices, video telephony devices, transportation terminals (e.g., vehicle (including autonomous vehicles) terminals, aircraft terminals, ship terminals, etc.), and medical video devices, and can be used to process video signals or data signals. For example, OTT video devices can include game consoles, Blu-ray players, internet-connected televisions, home theater systems, smartphones, tablet PCs, digital video recorders (DVRs), etc.
[0353] Furthermore, the processing methods of this disclosure can be generated in the form of a computer-executable program and can be stored in a computer-readable recording medium. Multimedia data with data structures according to this disclosure can also be stored in a computer-readable recording medium. Computer-readable recording media include all types of storage devices and distributed storage devices in which computer-readable data is stored. Computer-readable recording media can include, for example, Blu-ray discs (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disks, and optical data storage devices. Furthermore, computer-readable recording media include media implemented in the form of a carrier wave (e.g., transmission via the Internet). Additionally, bitstreams generated by encoding methods can be stored in computer-readable recording media or transmitted via wired / wireless communication networks.
[0354] Furthermore, the embodiments of this disclosure can be implemented as a computer program product using program code, and the program code can be executed on a computer according to the embodiments of this disclosure. The program code can be stored on a computer-readable medium.
[0355] This document relates to video / image coding. For example, the methods / implementations disclosed in this document can be applied to methods disclosed in the Universal Video Coding (VVC) standard, the Basic Video Coding (EVC) standard, the AOMedia Video 1 (AV1) standard, the Audio Video Coding 2 (AVS2) standard, or next-generation video / image coding standards (e.g., H.267, H.268, etc.).
[0356] This document provides various implementations related to video / image encoding, and unless otherwise specified, these implementations can be combined and performed together.
[0357] In this document, video can refer to a series of images over a period of time. An image typically refers to a unit representing an image at a specific time frame, while a slice / tile refers to a unit that, in terms of encoding, makes up an image. A slice / tile can include one or more Code Tree Units (CTUs). An image can consist of one or more slices / tiles. An image can consist of one or more groups of slices. A group of slices can include one or more slices. A brick can represent a rectangular area of CTU rows within a slice of an image. A slice can be divided into multiple bricks, each brick consisting of one or more CTU rows within the slice. A slice not divided into multiple bricks can also be called a brick. A brick scan is a specific ordering of the CTUs that divide an image, where the CTUs are consecutively ordered in a brick's CTU raster scan, the bricks within a slice are consecutively arranged in a slice's brick raster scan, and the slices in an image are consecutively ordered in a slice raster scan. A slice is a rectangular area of CTUs within a specific slice column and a specific slice row of an image. A slice column is a rectangular area of CTUs with a height equal to the height of the image and a width specified by the syntax element in the image parameter set. A slice row is a rectangular area of CTUs with a height specified by the syntax element in the image parameter set and a width equal to the width of the image. A strip scan refers to a specific order of CTUs in a segmented image, where CTUs are ordered consecutively in a strip raster scan, and slices in an image are ordered consecutively in a slice raster scan. A strip consists of an integer number of bricks of an image that can be uniquely contained within a single NAL unit. A strip can consist of multiple complete slices or a consecutive sequence of complete bricks from a single slice. In this document, slice groups and strips are used interchangeably. For example, in this document, a slice group / slice group header can also be referred to as a strip / strip header.
[0358] A pixel, or image pixel, can represent the smallest unit that makes up a picture (or image). Additionally, the term "sample" can be used as the counterpart to a pixel. A sample can typically represent a pixel or pixel value, and can represent a pixel / pixel value for only the luminance component or a pixel / pixel value for only the chrominance component.
[0359] A unit can represent a basic unit of image processing. A unit may include a specific region of an image and at least one of the information associated with that region. A unit may include a luminance block and two chrominance (e.g., cb, cr) blocks. In some cases, the term "unit" may be used interchangeably with terms such as "block" or "region". In general, an M×N block may include a set (or array) of samples (or sample arrays) or transform coefficients in M columns and N rows.
[0360] In this document, the terms “ / ” and “、” should be interpreted as meaning “and / or”. For example, the expression “A / B” can mean “A and / or B”. Furthermore, “A, B” can mean “A and / or B”. Additionally, “A / B / C” can mean “at least one of A, B, and / or C”. Also, “A / B / C” can mean “at least one of A, B, and / or C”.
[0361] Furthermore, in this document, the term "or" should be interpreted as indicating "and / or". For example, the expression "A or B" may include 1) only A, 2) only B, and / or 3) both A and B. In other words, the term "or" in this document should be interpreted as meaning "additionally or alternatively".
[0362] Figure 15 This represents an example of a content streaming system that can apply the publicly available content of this document.
[0363] Reference Figure 15 The content streaming system using this disclosure can mainly include an encoding server, a streaming server, a network server, a media storage device, a user device, and a multimedia input device.
[0364] An encoding server is used to compress content input from multimedia input devices such as smartphones, cameras, and camcorders into digital data to generate a bitstream, which is then sent to a streaming server. As another example, in cases where the bitstream is generated directly by the smartphone, camera, or camcorder, the encoding server can be omitted.
[0365] A bitstream can be generated by applying the encoding method or bitstream generation method disclosed herein. Furthermore, the streaming server can temporarily store the bitstream during the process of sending or receiving it.
[0366] The streaming server transmits multimedia data to the user's device via a web server based on the user's request. The web server acts as an informant of which services are available to the user. When a user requests a desired service, the web server forwards it to the streaming server, which then sends the multimedia data to the user. In this regard, the content streaming system may include a separate control server, which in this case controls the commands / responses between the various devices in the content streaming system.
[0367] A streaming server can receive content from media storage and / or encoding servers. For example, if content is received from an encoding server, it can be received in real time. In this case, the streaming server can store the bitstream for a predetermined period of time to smoothly provide streaming services.
[0368] For example, user equipment may include mobile phones, smartphones, laptops, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigators, touchscreen PCs, tablet PCs, ultrabooks, wearable devices (e.g., watch-type terminals (smartwatches), glasses-type terminals (smart glasses), head-mounted displays (HMDs)), digital TVs, desktop computers, digital signage, etc.
[0369] Each server in a content streaming system can operate as a distributed server, and in this case, the data received by each server can be processed in a distributed manner.
Claims
1. A decoding device for image decoding, the decoding device comprising: An entropy decoder is configured to receive intra-frame prediction information including most probable mode (MPM) flag information, plane flag information, and MPM index information. The MPM flag information is related to whether the intra-frame prediction mode of the current block is derived based on the MPM candidates of the current block. The plane flag information is related to whether the intra-frame prediction mode of the current block is determined to be a plane mode. The MPM index information is related to one of the five MPM candidates of the current block other than the plane mode. A predictor configured to derive the intra-prediction mode of the current block based on at least one of the values of the MPM flag information, the plane flag information, or the MPM index information, and to derive a predicted block of the current block based on the intra-prediction mode of the current block. An adder configured to generate a reconstructed image based on the predicted blocks. Specifically, the MPM flag information is parsed within the encoding unit syntax of the current block. Specifically, when the value of the MPM flag information is equal to 1, the planar flag information is parsed in the encoding unit syntax. Specifically, when the value of the plane flag information indicates that the intra-prediction mode of the current block is not the plane mode, the MPM index information is parsed in the coding unit syntax, and Specifically, a signal is sent between the MPM flag information and the MPM index information to notify the planar flag information.
2. An encoding device for image encoding, the encoding device comprising: A predictor configured to: derive the intra-prediction mode of the current block, and generate most probable mode (MPM) flag information, plane flag information, and MPM index information based on the derived intra-prediction mode, wherein the MPM flag information is related to whether the intra-prediction mode of the current block is derived based on the MPM candidates of the current block, the plane flag information is related to whether the intra-prediction mode of the current block is determined to be a plane mode, and the MPM index information is related to one of the five MPM candidates of the current block other than the plane mode; and An entropy encoder, configured to encode image information including the MPM flag information, the planar flag information, and the MPM index information. The MPM flag information is configured to be parsed within the encoding unit syntax of the current block. Specifically, the planar marker information is configured to be parsed in the encoding unit syntax when the value of the MPM marker information is equal to 1. The MPM index information is configured to be parsed in the coding unit syntax when the value of the plane flag information indicates that the intra-prediction mode of the current block is not the plane mode. Specifically, a signal is sent between the MPM flag information and the MPM index information to notify the planar flag information.
3. A transmitting device for transmitting image data, the transmitting device comprising: A processor configured to generate a bitstream for the image, wherein the bitstream is generated based on the following steps: deriving an intra-prediction mode for the current block; generating most probable mode (MPM) flag information, plane flag information, and MPM index information based on the derived intra-prediction mode, wherein the MPM flag information is related to whether the intra-prediction mode of the current block is derived based on MPM candidates of the current block, the plane flag information is related to whether the intra-prediction mode of the current block is determined to be a plane mode, and the MPM index information is related to one of the five MPM candidates of the current block other than the plane mode; and encoding image information including the MPM flag information, the plane flag information, and the MPM index information; and A transmitter configured to transmit the data comprising the bit stream. The MPM flag information is configured to be parsed within the encoding unit syntax of the current block. Specifically, the planar marker information is configured to be parsed in the encoding unit syntax when the value of the MPM marker information is equal to 1. The MPM index information is configured to be parsed in the coding unit syntax when the value of the plane flag information indicates that the intra-prediction mode of the current block is not the plane mode. Specifically, a signal is sent between the MPM flag information and the MPM index information to notify the planar flag information.
Citation Information
Patent Citations
Method and apparatus of deriving intra predicion mode
CN107105252A
Apparatus of decoding video data
CN107483938A