Image encoding / decoding method and apparatus, and recording medium having bit stream stored thereon
By adopting the spatial geometric segmentation mode in the image encoding/decoding method, the problem of high-resolution image data transmission and storage costs is solved, and more efficient image encoding and decoding is achieved.
Patent Information
- Application Number
- CN202380068774.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-10-14
- Filing Date
- 2023-10-13
- Publication Date
- 2025-05-06
AI Technical Summary
The prior art is difficult to effectively solve the increased cost problem of high-resolution and high-quality image data in transmission and storage.
By adopting a spatial geometric segmentation mode in the image encoding/decoding method, the current block is divided into two partitions according to the segmentation boundary, and the intra prediction mode of each partition is determined separately, thereby generating the final prediction block.
Improve image encoding/decoding efficiency, improve prediction accuracy, thereby reducing transmission and storage costs.
Smart Images

Figure CN119948871A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an image encoding / decoding method and apparatus and a recording medium for storing a bit stream. More specifically, the present invention relates to an image encoding / decoding method and apparatus using an intra-frame prediction method and a recording medium for storing a bit stream. Background Art
[0002] In recent years, in various application fields, there is an increasing demand for high-resolution, high-quality images such as ultra-high-definition (UHD) images. As image data becomes higher in resolution and quality, the amount of data increases relatively compared to existing image data. Therefore, when image data is transmitted using a medium such as existing wired and wireless broadband lines or stored using existing storage media, transmission and storage costs increase. In order to solve these problems that arise as image data becomes higher in resolution and quality, efficient image encoding / decoding technology for images with higher resolution and quality is required.
[0003] In intra prediction, a method of dividing a coding unit block into partitions having various shapes and predicting each partition according to different intra prediction methods has been discussed. At this time, various methods of determining an appropriate intra prediction mode for each partition and accurately predicting each partition according to the intra prediction mode have been discussed. Summary of the invention
[0004] Technical issues
[0005] An object of the present invention is to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.
[0006] Another object of the present invention is to provide a recording medium for storing a bit stream generated by the image decoding method or apparatus provided by the present invention.
[0007] Technical Solution
[0008] An image decoding method according to an embodiment of the present invention may include: partitioning a current block into a first partition and a second partition according to a partition boundary; determining a first intra-frame prediction mode for the first partition and a second intra-frame prediction mode for the second partition; determining a first prediction block for the first partition according to the first intra-frame prediction mode, and determining a second prediction block for the second partition according to the second intra-frame prediction mode; and determining a final prediction block from the first prediction block and the second prediction block.
[0009] According to one embodiment, a first intra prediction mode may be determined from first reference pixels adjacent to a first partition, and a second intra prediction mode may be determined from second reference pixels adjacent to a second partition.
[0010] According to one embodiment, a first gradient histogram representing the gradient distribution of the reference pixel can be generated from the first reference pixel, and the intra-frame prediction mode corresponding to the gradient with the highest frequency in the first gradient histogram can be determined as the first intra-frame prediction mode, and a second gradient histogram representing the gradient distribution of the reference pixel can be generated from the second reference pixel, and the intra-frame prediction mode corresponding to the gradient with the highest frequency in the second gradient histogram can be determined as the second intra-frame prediction mode.
[0011] According to one embodiment, the image decoding method may include obtaining intra-frame prediction mode determination method information indicating a method for deriving a first intra-frame prediction mode and a method for deriving a second intra-frame prediction mode, and the first intra-frame prediction mode and the second intra-frame prediction mode may be determined according to the intra-frame prediction mode determination method information.
[0012] According to one embodiment, the intra prediction mode determination method information may indicate a first determination method for deriving an intra prediction mode from neighboring reference pixels or a second determination method for deriving an intra prediction mode from intra prediction mode information obtained from a bitstream.
[0013] According to one embodiment, the intra prediction mode determination method information may independently indicate a determination method of the first intra prediction mode and a determination method of the second intra prediction mode.
[0014] According to one embodiment, the first prediction block may be determined by referring to reference pixels of the current block according to a first intra prediction mode, the second prediction block may be determined by referring to reference pixels of the current block according to a second intra prediction mode, and the first prediction block and the second prediction block may be determined independently.
[0015] According to one embodiment, the first prediction block can be determined by referring to the reference pixels of the current block according to the first intra-frame prediction mode, the second prediction block can be determined by referring to the second reference pixels adjacent to the second partition and the reconstructed pixels of the first prediction block according to the second intra-frame prediction mode, and the first prediction block can be determined, and then the second prediction block can be determined.
[0016] According to one embodiment, the second prediction block may be determined based on a third reference pixel derived from reconstructed pixels of the first prediction block and a second reference pixel adjacent to the second partition, and the third reference pixel may replace the first reference pixel adjacent to the first partition.
[0017] According to one embodiment, the value of the third reference pixel may be determined by copying the value of the reconstructed pixel of the first prediction block or by combining two or more reconstructed pixels of the first prediction block based on the distance between the reconstructed pixel of the first prediction block and the third reference pixel.
[0018] According to one embodiment, the image decoding method may further include: determining the width of the mixed area around the segmentation boundary, and based on the width of the mixed area, determining a first weight and a second weight for determining a final prediction sample of the mixed area, and the final prediction block may be determined from the first prediction block and the second prediction block based on the first weight and the second weight.
[0019] According to one embodiment, when determining the width of the mixed area, the width of the mixed area may be determined based on the value of the size of the current block.
[0020] According to one embodiment, the width of the mixed area may be determined according to a size interval including a value of the size of the current block.
[0021] According to one embodiment, the width of the mixed area may be selected from a plurality of width candidates corresponding to size intervals including values of the size of the current block.
[0022] According to one embodiment, the width of the mixed region may be selected from a plurality of width candidates based on mixed region width information indicating the width of the mixed region parsed from a bitstream.
[0023] According to one embodiment, the value of the size of the current block can be determined by at least one of the width of the current block, the height of the current block, the larger value of the width and height of the current block, the smaller value of the width and height of the current block, and the ratio of the width to the height of the current block.
[0024] According to one embodiment, the width of the mixed area may be determined according to whether the current picture or current slice including the current block is a picture content image. When the current picture or current slice including the current block is a picture content image, the width of the mixed area may be determined to be 0 or 1 / 4.
[0025] According to one embodiment, when determining the first weight and the second weight, it may include determining the first weight and the second weight based on a width of the mixed area.
[0026] According to one embodiment, determining the first weight and the second weight may include determining a maximum value of the first weight and the second weight based on a width of the mixed area, and determining the first weight and the second weight based on the maximum value.
[0027] According to one embodiment, when determining the maximum value of the first weight and the second weight, the maximum value of the first weight and the second weight is set to be larger as the width of the mixed area increases.
[0028] According to one embodiment, determining the first weight and the second weight may include determining a maximum value of the first weight and the second weight based on width candidates of the mixed area applied to the current block, and determining the first weight and the second weight based on the maximum value.
[0029] According to one embodiment, when determining the maximum value of the first weight and the second weight, the maximum value of the first weight and the second weight may be determined based on the maximum width candidate or the minimum width candidate among the width candidates of the mixed area.
[0030] According to one embodiment, when determining the first weight and the second weight, the first weight and the second weight may be determined based on the distance between the position of the sample of the mixed region and the segmentation boundary.
[0031] According to one embodiment, an image encoding method may include: partitioning a current block into a first partition and a second partition according to a partition boundary; determining a first intra-frame prediction mode for the first partition and a second intra-frame prediction mode for the second partition; determining a first prediction block for the first partition according to the first intra-frame prediction mode, and determining a second prediction block for the second partition according to the second intra-frame prediction mode; and determining a final prediction block from the first prediction block and the second prediction block.
[0032] The non-transitory computer-readable recording medium according to an embodiment of the present invention may store a bit stream generated by an image encoding method.
[0033] The transmission method according to the embodiment of the present invention transmits a bit stream generated by the image encoding method.
[0034] The features briefly summarized above with respect to the present disclosure are merely exemplary aspects of the following detailed description of the present disclosure and do not limit the scope of the present disclosure.
[0035] Beneficial Effects
[0036] The present invention proposes various implementations of a method for determining an intra prediction mode for each partition in a spatial geometric partitioning mode.
[0037] In addition, the present invention proposes various implementations of a method for determining a prediction block for each partition in a spatial geometric partitioning mode.
[0038] In addition, the present invention proposes various embodiments of a method for determining a final prediction block of a current block based on the prediction blocks of each partition in a spatial geometric partitioning mode. In addition, the present invention proposes various embodiments of a method for determining the weights of pixels of the prediction blocks of each partition and the width of the mixed area for determining the final prediction block.
[0039] According to various embodiments, since the prediction accuracy of the spatial geometry partitioning mode is improved, the overall encoding efficiency can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 is a block diagram showing the configuration of an encoding device according to an embodiment of the present invention.
[0041] Figure 2 is a block diagram showing the configuration of a decoding device according to an embodiment of the present invention.
[0042] Figure 3 is a schematic diagram schematically showing a video decoding system to which the present invention is applicable.
[0043] Figure 4 The first partition, the second partition, and the neighboring reference pixels of the current block are shown.
[0044] Figure 5 Shown with Figure 4 The two partitions of the current block and the reference pixels of the current block are divided in different forms.
[0045] Figure 6 An embodiment of a method of determining a prediction block of a current block to which a spatial geometric partitioning mode is applied is shown.
[0046] Figure 7 Another embodiment of a method for determining a prediction block of a current block to which a spatial geometric partitioning mode is applied is shown.
[0047] Figure 8 A method of combining two prediction blocks partitioned using a partition boundary to generate a final prediction block is shown.
[0048] Fig. 9 A graph showing the weight of the prediction signal for each partition is shown.
[0049] Fig.10 The weights for the widths of the various mixing regions are shown.
[0050] Fig.11 The maximum value of the weight which is determined variably as a function of the width of the mixing region is shown.
[0051] Fig.12 An embodiment of a prediction method according to the spatial geometric partitioning mode according to the present invention is shown.
[0052] Fig.13 A content streaming system applicable according to an embodiment of the present invention is exemplarily shown.
[0053] Best Mode
[0054] An image decoding method according to an embodiment of the present invention may include: partitioning a current block into a first partition and a second partition according to a partition boundary; determining a first intra-frame prediction mode for the first partition and a second intra-frame prediction mode for the second partition; determining a first prediction block for the first partition according to the first intra-frame prediction mode, and determining a second prediction block for the second partition according to the second intra-frame prediction mode; and determining a final prediction block from the first prediction block and the second prediction block. DETAILED DESCRIPTION
[0055] The present invention may have various modifications and embodiments, and specific embodiments are shown in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents or substitutes included in the spirit and scope of the present invention. In various aspects, similar reference numerals in the drawings indicate the same or similar functions. The shapes and sizes of the elements in the drawings can be provided by way of example for a clearer description. The detailed description of the exemplary embodiments described below refers to the drawings, which show specific embodiments by way of example. These embodiments are described in sufficient detail to enable those skilled in the art to practice these embodiments. It should be understood that various embodiments are different from each other, but not necessarily mutually exclusive. For example, the specific shapes, structures and characteristics described herein can be implemented in other embodiments without departing from the spirit and scope of the present invention with respect to an embodiment. It should also be understood that the position or arrangement of each component in each disclosed embodiment can be changed without departing from the spirit and scope of the embodiment. Therefore, the specific embodiments set forth below are not intended to be restrictive, and the scope of the exemplary embodiments is defined only by the full range of equivalents to which the attached claims and these claims are entitled (if properly described).
[0056] In the present invention, the terms first, second, etc. can be used to describe various components, but these components should not be limited by these terms. These terms are only used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, the first component can be referred to as the second component, and similarly, the second component can also be referred to as the first component. The term is and / or includes a combination of multiple related description items or any item among multiple related description items.
[0057] The components in the embodiments of the present invention are described independently to indicate different characteristic functions, and it is not intended that the components are formed as separate hardware or software configuration units. That is, for ease of explanation, each component is listed and included as a separate component, and at least two components may be combined to form a single component, or a component may be divided into multiple components to perform functions, and embodiments in which components are integrated and embodiments in which each component is divided are also included in the scope of the present invention, as long as they do not depart from the essence of the present invention.
[0058] The terms used in the present invention are only used to describe specific embodiments and are not intended to limit the present invention. Unless the context clearly indicates otherwise, singular expressions include plural expressions. In addition, some components of the present invention are not necessary components for performing the basic functions of the present invention, and may be optional components that are only used to improve performance. The present invention can be implemented by only including necessary components for realizing the essence of the present invention and not including components that are only used to improve performance, and structures that only include necessary components except optional components that are only used to improve performance are also included in the scope of the present invention.
[0059] In one embodiment, the term "at least one" may refer to one of a number greater than and equal to 1, such as 1, 2, 3, and 4. In one embodiment, the term "plurality" may refer to one of a number greater than and equal to 2, such as 2, 3, and 4.
[0060] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the embodiments of the present specification, if it is determined that a detailed description of a related known configuration or function may obscure the subject of the present specification, the detailed description will be omitted, and the same reference numerals will be used for the same components in the accompanying drawings, and repeated descriptions of the same components will be omitted.
[0061] Terminology Description
[0062] Hereinafter, "image" may mean one picture constituting a video, and may also mean the video itself. For example, "encoding and / or decoding of an image" may mean "encoding and / or decoding of a video", and may also mean "encoding and / or decoding of one of the images constituting a video".
[0063] Hereinafter, "moving image" and "video" may be used with the same meaning and may be used interchangeably. In addition, the target image may be an encoding target image as an encoding target and / or a decoding target image as a decoding target. In addition, the target image may be an input image input to an encoding device, and may be an input image input to a decoding device. Here, the target image may have the same meaning as the current image.
[0064] Hereinafter, 'image', 'picture', 'frame' and 'screen' may be used with the same meaning and may be used interchangeably.
[0065] Hereinafter, a "target block" may be an encoding target block as an encoding target and / or a decoding target block as a decoding target. In addition, a target block may be a current block as a target of current encoding and / or decoding. For example, "target block" and "current block" may be used with the same meaning and may be used interchangeably.
[0066] Hereinafter, "block" and "unit" may be used with the same meaning and may be used interchangeably. In addition, "unit" may mean a block including a luma component block and a chroma component block corresponding thereto to distinguish it from a block. For example, a coding tree unit (CTU) may consist of one luma component (Y) coding tree block (CTB) and two chroma component (Cb, Cr) coding tree blocks associated therewith.
[0067] Hereinafter, "sample", "picture element" and "pixel" may be used in the same meaning and may be used interchangeably. Herein, a sample may mean a basic unit constituting a block.
[0068] Hereinafter, “inter-frame” and “inter-screen” may be used with the same meaning and may be used interchangeably.
[0069] Hereinafter, “intra-frame” and “intra-screen” may be used with the same meaning and may be used interchangeably.
[0070] Figure 1 is a block diagram showing the configuration of an encoding device according to an embodiment of the present invention.
[0071] The encoding device 100 may be an encoder, a video encoding device, or an image encoding device. A video may include one or more images. The encoding device 100 may encode one or more images sequentially.
[0072] refer to Figure 1 , the encoding device 100 may include an image segmentation unit 110, an intra-frame prediction unit 120, a motion prediction unit 121, a motion compensation unit 122, a switch 115, a subtractor 113, a transform unit 130, a quantization unit 140, an entropy encoding unit 150, a dequantization unit 160, an inverse transform unit 170, an adder 117, a filter unit 180 and a reference picture buffer 190.
[0073] In addition, the encoding device 100 may generate a bitstream including information encoded by encoding the input image, and output the generated bitstream. The generated bitstream may be stored in a computer-readable recording medium, or may be streamed through a wired / wireless transmission medium.
[0074] The image segmentation unit 110 can segment the input image into various forms to improve the efficiency of video encoding / decoding. That is, the input video consists of multiple pictures, and one picture can be hierarchically segmented and processed for compression efficiency, parallel processing, etc. For example, a picture can be segmented into one or more tiles or slices, and then segmented into multiple coding tree units (CTUs) again. Alternatively, a picture can first be segmented into multiple sub-pictures defined as a group of rectangular slices, and each sub-picture can be segmented into tiles / slices. Here, sub-pictures can be used to support the functions of partially independent encoding / decoding and transmitting pictures. Since multiple sub-pictures can be reconstructed separately, it has the advantage of being easy to edit in applications where multi-channel inputs are configured into one picture. In addition, tiles can be divided horizontally to generate small blocks. Here, small blocks can be used as basic units for parallel processing within a picture. In addition, a CTU can be recursively segmented into a quadtree (QT), and the end node of the segmentation can be defined as a decoding unit (CU). The CU can be split into a prediction unit (PU) as a prediction unit and a transform unit (TU) as a transform unit to perform prediction and segmentation. At the same time, the CU can be used as a prediction unit and / or a transform unit itself. Here, for flexible segmentation, each CTU can be recursively split into a multi-type tree (MTT) and a quadtree (QT). The CTU partitioning into a multi-type tree can start from the end node of the QT, and the MTT can be composed of a binary tree (BT) and a ternary tree (TT). For example, the MTT structure can be classified into a vertical binary split mode (SPLIT_BT_VER), a horizontal binary split mode (SPLIT_BT_HOR), a vertical ternary split mode (SPLIT_TT_VER), and a horizontal ternary split mode (SPLIT_TT_HOR). In addition, the minimum block size (MinQTSize) of the quadtree of the luma block during segmentation can be set to 16×16, the maximum block size (MaxBtSize) of the binary tree can be set to 128×128, and the maximum block size (MaxTtSize) of the ternary tree can be set to 64×64. In addition, the minimum block size (MinBtSize) of the binary tree and the minimum block size (MinTtSize) of the ternary tree can be specified as 4×4, and the maximum depth (MaxMttDepth) of the multi-type tree can be specified as 4. In addition, in order to improve the coding efficiency of the I slice, a dual tree of the CTU partition structure that uses the luma component and the chroma component differently can be applied. On the other hand, in P and B slices, the luma and chroma coding tree blocks (CTBs) within the CTU can be partitioned into a single tree that shares the coding tree structure.
[0075] The encoding device 100 may perform encoding on the input image in intra mode and / or inter mode. Alternatively, the encoding device 100 may perform encoding on the input image in a third mode (e.g., IBC mode, palette mode, etc.) other than intra mode and inter mode. However, if the third mode has functional characteristics similar to those of the intra mode or inter mode, the third mode may be classified as the intra mode or the inter mode for ease of explanation. In the present invention, the third mode is separately classified and described only when a specific description thereof is required.
[0076] When the intra mode is used as the prediction mode, the switch 115 may be switched to intra, and when the inter mode is used as the prediction mode, the switch 115 may be switched to inter. Here, the intra mode may represent the intra prediction mode, and the inter mode may represent the inter prediction mode. The encoding device 100 may generate a prediction block for an input block of an input image. In addition, the encoding device 100 may encode the residual block using the residual of the input block and the prediction block after generating the prediction block. The input image may be referred to as the current image of the current encoding target. The input block may be referred to as the current block or the encoding target block as the current encoding target.
[0077] When the prediction mode is intra mode, the intra prediction unit 120 may use samples of blocks that have been encoded / decoded around the current block as reference samples. The intra prediction unit 120 may generate prediction samples of the input block by performing spatial prediction on the current block using the reference samples, or by spatial prediction. Here, intra prediction may refer to in-screen prediction.
[0078] As the intra prediction method, a non-directional prediction mode and a directional prediction mode (eg, 65 directions) such as a DC mode and a planar mode may be applied. Here, the intra prediction method may be expressed as an intra prediction mode or an intra-screen prediction mode.
[0079] When the prediction mode is the inter mode, the motion prediction unit 121 can retrieve the area that best matches the input block from the reference image in the motion prediction process, and derive a motion vector by using the retrieved area. In this case, the search area can be used as the area. The reference image can be stored in the reference picture buffer 190. Here, when encoding / decoding for the reference image is performed, it can be stored in the reference picture buffer 190.
[0080] The motion compensation unit 122 may generate a prediction block of the current block by performing motion compensation using a motion vector. Here, inter prediction may mean inter-screen prediction or motion compensation.
[0081] When the value of the motion vector is not an integer, the motion prediction unit 121 and the motion compensation unit 122 may generate a prediction block by applying an interpolation filter to a partial area of the reference picture. In order to perform inter prediction or motion compensation, it may be determined whether the motion prediction and motion compensation mode of the prediction unit included in the decoding unit is one of the skip mode, the merge mode, the advanced motion vector prediction (AMVP) mode, and the decoding unit-based intra block copy (IBC) mode, and the inter prediction or motion compensation may be performed according to each mode.
[0082] In addition, based on the above-mentioned inter-frame prediction method, the AFFINE mode based on sub-PU prediction, the SbTMVP (sub-block-based temporal motion vector prediction) mode, the MMVD (merged with MVD) mode based on PU prediction, and the GPM (geometric partitioning mode) mode can be applied. In addition, in order to improve the performance of each mode, HMVP (history-based MVP), PAMVP (paired average MVP), CIIP (combined intra / inter prediction), AMVR (adaptive motion vector resolution), BDOF (bidirectional optical flow), BCW (bidirectional prediction with CU weights), LIC (local illumination compensation), TM (template matching), OBMC (overlapping block motion compensation), etc. can be applied.
[0083] The subtractor 113 may generate a residual block by using the difference between the input block and the prediction block. The residual block may be referred to as a residual signal. The residual signal may mean the difference between the original signal and the prediction signal. Alternatively, the residual signal may be a signal generated by transforming or quantizing, or transforming and quantizing the difference between the original signal and the prediction signal. The residual block may be a residual signal of a block unit.
[0084] The transform unit 130 may generate a transform coefficient by performing a transform on the residual block and output the generated transform coefficient. Here, the transform coefficient may be a coefficient value generated by performing a transform on the residual block. When the transform skip mode is applied, the transform unit 130 may skip the transform of the residual block.
[0085] The quantized level may be generated by applying quantization to a transform coefficient or a residual signal. Hereinafter, the quantized level may also be referred to as a transform coefficient in an embodiment.
[0086] For example, a 4×4 luminance residual block generated by intra prediction is transformed using a basic vector based on discrete sine transform (DST), and the remaining residual block can be transformed using a basic vector based on discrete cosine transform (DCT). In addition, the transform block is partitioned into a quadtree shape for one block using the residual quadtree (RQT) technology, and after performing transformation and quantization on each transform block partitioned by RQT, a coded block flag (CBF) can be transmitted when all coefficients become 0 to improve coding efficiency.
[0087] As another alternative, a multiple transform selection (MTS) technique that selectively uses multiple transform bases to perform transforms can be applied. That is, instead of partitioning the CU into TUs through RQT, a function similar to TU partitioning can be performed through a sub-block transform (SBT) technique. Specifically, SBT is only applied to inter-prediction blocks, and unlike RQT, the current block can be partitioned into 1 / 2 or 1 / 4 sizes in the vertical or horizontal direction, and then the transform can be performed only on one of the blocks. For example, if it is partitioned vertically, the transform can be performed on the leftmost or rightmost block, and if it is partitioned horizontally, the transform can be performed on the topmost or bottommost block.
[0088] In addition, a low-frequency non-separable transform (LFNST) can be applied. LFNST is a secondary transform technique that further transforms the residual signal transformed into the frequency domain by DCT or DST. LFNST further transforms the 4×4 or 8×8 low-frequency region in the upper left so that the residual coefficients can be concentrated in the upper left.
[0089] The quantization unit 140 may generate a quantization level by quantizing the transform coefficient or the residual signal according to a quantization parameter (QP), and output the generated quantization level. Here, the quantization unit 140 may quantize the transform coefficient by using a quantization matrix.
[0090] For example, a quantizer with a QP value of 0 to 51 may be used. Alternatively, if the image size is large and high coding efficiency is required, a QP of 0 to 63 may be used. In addition, a dependent quantization (DQ) method using two quantizers instead of one quantizer may be applied. DQ performs quantization using two quantizers (e.g., Q0 and Q1), but even in the absence of signaling information about the use of a specific quantizer, the quantizer to be used for the next transform coefficient may be selected based on the current state by a state transition model.
[0091] The entropy encoding unit 150 may generate a bit stream by performing entropy encoding on the value calculated by the quantization unit 140 or on the decoding parameter value calculated when performing encoding according to probability distribution, and output the bit stream. The entropy encoding unit 150 may perform entropy encoding of information about samples of an image and information for decoding the image. For example, the information for decoding the image may include a syntax element.
[0092] When entropy coding is applied, symbols are represented so that a smaller number of bits are assigned to symbols with a high probability of occurrence and a larger number of bits are assigned to symbols with a low probability of occurrence, and therefore, the size of the bitstream for the symbol to be encoded can be reduced. The entropy coding unit 150 can use a coding method such as exponential Golomb, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), etc. to perform entropy coding. For example, the entropy coding unit 150 can perform entropy coding by using a variable length coding / code (Variable Length Coding / code, VLC) table. In addition, the entropy coding unit 150 can derive a binarization method of a target symbol and a probability model of a target symbol / bin, and perform arithmetic decoding by using the derived binarization method and context model.
[0093] In connection with this, when CABAC is applied, in order to reduce the size of the probability table stored in the decoding device, the table probability update method may be changed to a table update method using a simple equation and applied. In addition, two different probability models may be used to obtain more accurate symbol probability values.
[0094] In order to encode a transform coefficient level (quantized level), the entropy encoding unit 150 may change a two-dimensional block form coefficient into a one-dimensional vector form through a transform coefficient scanning method.
[0095] The decoding parameters may include information (flags, indexes, etc.) encoded in the encoding device 100 and sent to the decoding device 200 using a signal (such as syntax elements) and information derived in the encoding or decoding process, and may mean information required when encoding or decoding an image.
[0096] Herein, signaling a flag or an index may mean entropy encoding a corresponding flag or index in an encoder and including it in a bitstream, and may mean entropy decoding the corresponding flag or index from a bitstream in a decoder.
[0097] The encoded current image may be used as a reference image of another image to be processed later. Therefore, the encoding device 100 may reconstruct or decode the encoded current image and store the reconstructed or decoded image in the reference picture buffer 190 as a reference image.
[0098] The quantized level may be dequantized in the dequantization unit 160, or may be inversely transformed in the inverse transform unit 170. The dequantized and / or inversely transformed coefficient may be added to the prediction block by the adder 117. Herein, the dequantized and / or inversely transformed coefficient may mean a coefficient on which at least one of dequantization and inverse transformation is performed, and may mean a reconstructed residual block. The dequantization unit 160 and the inverse transform unit 170 may be performed as inverse processes of the quantization unit 140 and the transform unit 130.
[0099] The reconstructed block may pass through the filter unit 180. The filter unit 180 may apply a deblocking filter, a sample adaptive offset (SAO), an adaptive loop filter (ALF), a bilateral filter (BIF), a luminance mapping with chroma scaling (LMCS), etc. to the reconstructed sample, the reconstructed block, or the reconstructed image using all or some filtering techniques. The filter unit 180 may be referred to as an in-loop filter. In this case, the loop filter is also used as a name excluding LMCS.
[0100] The deblocking filter can remove block distortion generated on the boundary between blocks. In order to determine whether to apply the deblocking filter, it can be determined whether to apply the deblocking filter to the current block based on samples included in a number of rows or columns included in the block. When the deblocking filter is applied to the block, different filters can be applied according to the required deblocking filter strength.
[0101] In order to compensate for the encoding error using the sample adaptive offset, an appropriate offset value may be added to the sample value. The sample adaptive offset may correct the offset of the deblocked image from the original image by sample units. A method of dividing the samples included in the image into a predetermined number of regions, determining the regions to which the offset is applied, and applying the offset to the determined regions, or a method of applying the offset in consideration of edge information about each sample may be used.
[0102] The bilateral filter (BIF) can also correct the deviation from the original image on a sample-by-sample basis for the deblocked image.
[0103] The adaptive loop filter may perform filtering based on the comparison result of the reconstructed image and the original image. The samples included in the image may be divided into predetermined groups, the filter to be applied to each group may be determined, and differential filtering may be performed for each group. Information on whether the ALF is applied may be signaled by a decoding unit (CU), and the form and coefficient of the adaptive loop filter to be applied to each block may be different.
[0104] In luma mapping with chroma scaling (LMCS), luma mapping (LM) means remapping luma values by a piecewise linear model, and chroma scaling (CS) means a technique for scaling residual values of chroma components according to an average luma value of a prediction signal. Specifically, LMCS can be used as an HDR correction technique that reflects the characteristics of a high dynamic range (HDR) image.
[0105] The reconstructed block or the reconstructed image that has passed through the filter unit 180 may be stored in the reference picture buffer 190. The reconstructed block that has passed through the filter unit 180 may be a part of the reference image. That is, the reference image is a reconstructed image composed of the reconstructed block that has passed through the filter unit 180. The stored reference image may be used later in inter-frame prediction or motion compensation.
[0106] Figure 2 is a block diagram showing the configuration of a decoding device according to an embodiment of the present invention.
[0107] The decoding device 200 may be a decoder, a video decoding device, or an image decoding device.
[0108] refer to Figure 2 The decoding device 200 may include an entropy decoding unit 210, a dequantization unit 220, an inverse transform unit 230, an intra-frame prediction unit 240, a motion compensation unit 250, an adder 201, a switch 203, a filter unit 260 and a reference picture buffer 270.
[0109] The decoding device 200 may receive a bit stream output from the encoding device 100. The decoding device 200 may receive a bit stream stored in a computer-readable recording medium, or may receive a bit stream transmitted through a wired / wireless transmission medium stream. The decoding device 200 may decode the bit stream in an intra-frame mode or an inter-frame mode. In addition, the decoding device 200 may generate a reconstructed image or a decoded image generated by decoding, and output the reconstructed image or the decoded image.
[0110] When the prediction mode for decoding is the intra mode, the switch 203 may be switched to intra. Alternatively, when the prediction mode for decoding is the inter mode, the switch 203 may be switched to inter.
[0111] The decoding device 200 can obtain a reconstructed residual block by decoding the input bit stream and generate a prediction block. When the reconstructed residual block and the prediction block are obtained, the decoding device 200 can generate a reconstructed block that becomes a decoding target by adding the reconstructed residual block and the prediction block. The decoding target block can be referred to as a current block.
[0112] The entropy decoding unit 210 may generate symbols by entropy decoding the bit stream according to the probability distribution. The generated symbols may include symbols in the form of quantized levels. Here, the entropy decoding method may be the inverse process of the above entropy encoding method.
[0113] The entropy decoding unit 210 may change the coefficients of the one-dimensional vector shape into coefficients of the two-dimensional block shape through a transform coefficient scanning method to decode the transform coefficient levels (quantized levels).
[0114] The quantized level may be dequantized in the dequantization unit 220 or inversely transformed in the inverse transform unit 230. The quantized level may be a result of dequantization and / or inverse transformation and may be generated as a reconstructed residual block. Herein, the dequantization unit 220 may apply a quantization matrix to the quantized level. The dequantization unit 220 and the inverse transform unit 230 applied to the decoding device may apply the same technology as the dequantization unit 160 and the inverse transform unit 170 applied to the above-mentioned encoding device.
[0115] When the intra mode is used, the intra prediction unit 240 can generate a prediction block by performing spatial prediction on the current block using sample values of blocks decoded around the decoding target block. The intra prediction unit 240 applied to the decoding device can apply the same technology as the intra prediction unit 120 applied to the above encoding device.
[0116] When the inter-frame mode is used, the motion compensation unit 250 can generate a prediction block by performing motion compensation using a motion vector and a reference image stored in the reference picture buffer 270 on the current block. When the value of the motion vector is not an integer value, the motion compensation unit 250 can generate a prediction block by applying an interpolation filter to a partial area within the reference image. In order to perform motion compensation, it can be determined based on the decoding unit whether the motion compensation method of the prediction unit included in the corresponding decoding unit is a skip mode, a merge mode, an AMVP mode, or a current picture reference mode, and motion compensation can be performed according to each mode. The motion compensation unit 250 applied to the decoding device can apply the same technology as the motion compensation unit 122 applied to the above-mentioned encoding device.
[0117] The adder 201 can generate a reconstructed block by adding the reconstructed residual block and the prediction block. The filter unit 260 can apply at least one of an inverse LMCS, a deblocking filter, a sample adaptive offset, and an adaptive loop filter to the reconstructed block or the reconstructed image. The filter unit 260 applied to the decoding device can apply the same filtering technology as the filtering technology applied to the filter unit 180 (applied to the above-mentioned encoding device).
[0118] The filter unit 260 may output a reconstructed image. The reconstructed block or the reconstructed image may be stored in the reference picture buffer 270 and used for inter-frame prediction. The reconstructed block that has passed through the filter unit 260 may be a part of the reference image. That is, the reference image may be a reconstructed image composed of the reconstructed blocks that have passed through the filter unit 260. The stored reference image may be used later in inter-frame prediction or motion compensation.
[0119] Figure 3 is a schematic diagram schematically showing a video decoding system to which the present invention is applicable.
[0120] The video decoding system according to the embodiment may include an encoding device 10 and a decoding device 20. The encoding device 10 may transmit the encoded video and / or image information or data to the decoding device 20 in the form of a file or a stream through a digital storage medium or a network.
[0121] The encoding device 10 according to the embodiment may include a video source generating unit 11, an encoding unit 12, and a transmission unit 13. The decoding device 20 according to the embodiment may include a receiving unit 21, a decoding unit 22, and a rendering unit 23. The encoding unit 12 may be referred to as a video / image encoding unit, and the decoding unit 22 may be referred to as a video / image decoding unit. The transmission unit 13 may be included in the encoding unit 12. The receiving unit 21 may be included in the decoding unit 22. The rendering unit 23 may include a display unit, and the display unit may be configured as a separate device or an external component.
[0122] The video source generation unit 11 may obtain a video / image by a process of capturing, synthesizing or generating a video / image. The video source generation unit 11 may include a video / image capture device and / or a video / image generation device. The video / image capture device may include, for example, one or more cameras, a video / image archive including previously captured videos / images, etc. The video / image generation device may include, for example, a computer, a tablet computer, and a smart phone, etc., and may (electronically) generate a video / image. For example, a virtual video / image may be generated by a computer, etc., in which case the video / image capture process may be replaced by a process of generating relevant data.
[0123] The encoding unit 12 may encode the input video / image. The encoding unit 12 may perform a series of processes for compression and encoding efficiency, such as prediction, transformation, and quantization. The encoding unit 12 may output encoded data (encoded video / image information) in the form of a bit stream. The detailed configuration of the encoding unit 12 may also be the same as described above. Figure 1 The encoding device 100 is configured in the same manner.
[0124] The transmission unit 13 transmits the encoded video / image information or data output in the form of a bit stream to the receiving unit 21 of the decoding device 20 in the form of a file or stream through a digital storage medium or a network. The digital storage medium may include various storage media, such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmission unit 13 may include an element for generating a media file in a predetermined file format, and may include an element for transmitting through a broadcast / communication network. The receiving unit 21 may extract / receive a bit stream from a storage medium or a network, and transmit it to the decoding unit 22.
[0125] The decoding unit 22 can decode the video / image by performing a series of processes corresponding to the operations of the encoding unit 12, such as dequantization, inverse transformation, and prediction. The detailed configuration of the decoding unit 22 can also be the same as that described above. Figure 2 The decoding device 200 is configured in the same manner.
[0126] The rendering unit 23 may render the decoded video / image. The rendered video / image may be displayed by the display unit.
[0127] In the present invention, various implementations of a spatial geometric partitioning mode (SGPM) are provided. According to the spatial geometric partitioning mode, a decoding unit block is partitioned into two partitions having arbitrary shapes according to a partition boundary, and two prediction blocks are generated by performing intra-frame prediction according to different intra-frame prediction modes for the two partitioned partitions, and a final prediction block of the decoding unit block is determined by a weighted sum of the two prediction blocks.
[0128] In the present invention, various embodiments of a method for deriving an intra-frame prediction mode for each partition of a spatial geometric partitioning pattern are provided. In addition, different embodiments of a method for determining a prediction block according to a spatial geometric partitioning pattern are provided. In addition, various embodiments of a method for variably adjusting the width and weight of a mixing region of a spatial geometric partitioning pattern are provided.
[0129] Figure 4 A first partition 402 , a second partition 404 , and neighboring reference pixels 410 of a current block 400 are shown.
[0130] exist Figure 4 In FIG. 4 , the current block 400 is divided into a first partition 402 and a second partition 404 by a predetermined partition boundary 420. Figure 4 , the reference pixels 410 of the current block 400 include AL, A1 to A16, and L1 to L16. Here, A1 to A16 represent upper reference pixels, and L1 to L16 represent left reference pixels. In addition, AL represents the upper left reference pixel.
[0131] exist Figure 4 , the current block is predicted by the spatial geometric partitioning mode. Therefore, the first partition 402 and the second partition 404 of the current block are intra-predicted, and a first intra-prediction mode of the first partition 402 and a second intra-prediction mode of the second partition 404 are determined. The first intra-prediction mode and the second intra-prediction mode can be determined by deriving intra-prediction mode information from reference pixels of the current block instead of parsing the intra-prediction mode information from the bitstream.
[0132] exist Figure 4 , the reference pixels 410 may be partitioned into first reference pixels 412 (A1, A2, A3, A4, L1, L2, L3, L4, AL) for the first partition and second reference pixels 414 (A5 to A16, L5 to L16) for the second partition based on a straight line partition boundary. The intra prediction mode of the first partition 402 may be derived by applying the decoder-side intra prediction mode derivation (DIMD) to the first reference pixels 412 of the first partition. The intra prediction mode of the second partition 404 may be derived by applying the decoder-side intra prediction mode derivation to the second reference pixels 414 of the second partition.
[0133] According to the intra prediction mode derivation on the decoder side, the intra prediction mode is derived as follows. First, the gradient of the reference pixel is calculated by applying a Sobel filter to the selected reference pixel. Based on this, a gradient histogram (HoG) is generated, and then the intra prediction mode is determined based on the gradient with the maximum value.
[0134] Figure 5 Shown with Figure 4 Two partitions 502 and 504 of the current block 500 partitioned in different forms and a reference pixel 510 of the current block 500.
[0135] The current block 500 is divided into a first partition 502 and a second partition 504 by a predetermined partition boundary 520. Figure 5 , the reference pixels 510 of the current block 500 include AL, A1 to A16, and L1 to L16. Here, A1 to A16 represent upper reference pixels, and L1 to L16 represent left reference pixels. In addition, AL represents the upper left reference pixel.
[0136] exist Figure 5 In, similar to Figure 4 , predicting the current block by the spatial geometric partitioning mode. Therefore, the first partition 502 and the second partition 504 of the current block are intra-predicted, and a first intra-prediction mode of the first partition 502 and a second intra-prediction mode of the second partition 504 are determined. The first intra-prediction mode and the second intra-prediction mode can be determined by deriving intra-prediction mode information from reference pixels of the current block instead of parsing intra-prediction mode information from a bitstream.
[0137] exist Figure 5 , the reference pixel 510 can be divided into a first reference pixel 512 (A1 to A12, L1 to L12, AL) for the first partition and a second reference pixel 514 (A13, A14, A15, A16, L13, L14, L15, L16) for the second partition based on a straight line partition boundary. The intra-frame prediction mode of the first partition 502 can be derived by applying the intra-frame prediction mode derivation on the decoder side to the first reference pixel 512 of the first partition. The intra-frame prediction mode of the second partition 504 can be derived by applying the intra-frame prediction mode derivation on the decoder side to the second reference pixel 514 of the second partition.
[0138] According to one embodiment, the intra prediction mode of the second partition 504 can be determined by the intra prediction mode information parsed from the bitstream. Since the second partition 504 is far away from the second reference pixel 514, when the intra prediction mode determined by the intra prediction mode derivation at the decoder side is used, the prediction accuracy may be low. Therefore, for partitions that are not adjacent to the reference pixel, such as the second partition 504, it may be appropriate to determine the intra prediction mode according to the intra prediction mode information parsed from the bitstream.
[0139] According to one embodiment, Figure 4 and Figure 5 In the example, the intra prediction mode derivation at the decoder side is applied to the reference pixel line adjacent to the current block to derive the intra prediction mode of each partitioned partition. However, as an embodiment, the intra prediction mode derivation at the decoder side can be applied to the reference pixel line N pixels away from the current block, where N is a positive integer.
[0140] exist Figure 4 and Figure 5 In the example, the prediction mode of the current block is the spatial geometry partitioning mode. The intra prediction mode of each partitioned partition can be determined by the intra prediction mode derivation on the decoder side. For the partitions to which the intra prediction mode derivation on the decoder side is applied, there is no need to transmit / parse the intra prediction mode information.
[0141] Hereinafter, a method of determining an intra prediction mode for each partitioned partition when a prediction mode of a current block is a spatial geometry partition mode will be described in Table 1.
[0142] [Table 1]
[0143] index First Division Second Division 0 Intra-frame prediction mode information transmission / parsing Intra-frame prediction mode information transmission / parsing 1 Intra prediction mode export Intra-frame prediction mode information transmission / parsing 2 Intra-frame prediction mode information transmission / parsing Intra prediction mode export 3 Intra prediction mode export Intra prediction mode export
[0144] Table 1 shows a combination of methods for determining the intra prediction mode for each partition. In Table 1, "Intra prediction mode information transmission / parsing" indicates that the intra prediction mode of the corresponding partition is determined from the intra prediction mode information transmitted by the bitstream. In addition, "Intra prediction mode information derivation" indicates that the intra prediction mode of the corresponding partition is derived from the reference sample adjacent to the partition.
[0145] According to Table 1, index 0 indicates that the intra prediction mode of all partitions is determined from the transmitted intra prediction mode information. Index 1 indicates that the intra prediction mode of the first partition is derived, while the intra prediction mode for the second partition is determined from the transmitted intra prediction mode information. Index 2 indicates that the intra prediction mode of the second partition is derived, while the intra prediction mode of the first partition is determined from the transmitted intra prediction mode information. Index 3 indicates that the intra prediction mode of all partitions is derived.
[0146] In addition, the intra prediction mode determination methods indicated by Index 0 to Index 3 may be determined differently from Table 1. For example, the intra prediction mode determination method indicated by Index 0 and the intra prediction mode determination method indicated by Index 3 in Table 1 may be implemented interchangeably.
[0147] The method of determining the intra prediction mode information for each partition of the spatial geometric partitioning mode may be determined by transmitting / parsing the corresponding index in Table 1. Here, the first partition and the second partition may be determined based on the upper left pixel of the current block. That is, the first partition may be defined as a partition including the upper left pixel of the current block, and the second partition may be defined as a partition not including the upper left pixel of the current block.
[0148] The index described in Table 1 may be set to represent all or part of the four intra prediction mode determination methods of Table 1. For example, the index may be set to represent one of the method of Index 0 and the method of Index 3 in Table 1. Alternatively, the index may be set to represent one of the method of Index 1, the method of Index 2, and the method of Index 3 in Table 1.
[0149] According to an embodiment, the method of a specific index in Table 1 can be fixedly applied to the spatial geometric partitioning mode. That is, when the current block is in the spatial geometric partitioning mode, the intra-frame prediction mode of the first partition (or the second partition) is always derived, and the intra-frame prediction mode of the second partition (or the first partition) can be determined by parsing the intra-frame prediction mode information. Alternatively, the intra-frame prediction mode for the first partition and the second partition can always be derived. Alternatively, the intra-frame prediction mode for the first partition and the second partition can always be determined by parsing the intra-frame prediction mode information.
[0150] According to an embodiment, without parsing the index, the method for determining the intra prediction mode can be determined based on the shape of the partition. For example, if the partition is not adjacent to the reference pixel, the intra prediction mode of the corresponding partition can be determined from the intra prediction mode information from the bitstream without parsing the index. Alternatively, based on at least one of the partition direction and the partition point of the partition, the intra prediction mode of one or more partitions can be determined from the intra prediction mode information from the bitstream without parsing the index.
[0151] Hereinafter, a method of generating a prediction block of a current block according to an intra prediction mode of each partition in a spatial geometric partitioning mode will be described.
[0152] Figure 6 An embodiment of a method of determining a prediction block 640 of a current block 600 to which a spatial geometric partitioning mode is applied is shown.
[0153] exist Figure 6 , the current block 600 is partitioned into a first partition 602 and a second partition 604 by a partition boundary 620. The intra prediction modes of the partitions 602 and 604 may be determined according to any method of Table 1. A first prediction block 632 of the first partition 602 and a second prediction block 634 of the second partition 604 may be generated according to the intra prediction mode of each partition. That is, the first prediction block 632 of the first partition 602 may be generated using the neighboring reference pixels A1 to A16, L1 to L16, AL 610 of the current block 600. In addition, the second prediction block 634 of the second partition 604 may also be generated using the neighboring reference pixels A1 to A16, L1 to L16, AL 610 of the current block 600. A final prediction block 640 of the current block 600 may be generated by combining the first prediction block 632 and the second prediction block 634.
[0154] exist Figure 6 , only the portion corresponding to the first partition 602 of the first prediction block 632 may be used to generate the final prediction block 640. In addition, only the portion corresponding to the second partition 604 of the second prediction block 634 may be used to generate the final prediction block 640. Therefore, the final prediction block 640 may be determined based on the portion corresponding to the first partition 602 of the first prediction block 632 and the portion corresponding to the second partition 604 of the second prediction block 634.
[0155] Figure 7 Another embodiment of a method of determining a prediction block 740 of a current block 700 to which a spatial geometric partitioning mode is applied is shown.
[0156] Similar to Figure 6 ,exist Figure 7In FIG. 1 , the current block 700 is partitioned into a first partition 702 and a second partition 704 by a partition boundary 720. Then, the intra prediction modes of the partitions 702 and 704 may be determined according to any method of Table 1.
[0157] and Figure 6 Different, in Figure 7 , first, a first prediction block 732 of the first partition 702 may be generated according to the intra prediction mode of the first partition 702. At this time, the first prediction block 732 for the first partition 702 may be generated using the reference pixels A1 to A16, L1 to L16, and AL 710 of the current block 700. In addition, a second prediction block 734 of the second partition 704 may be generated by referring to the second reference pixels A5 to A16 and L5 to L16 714 of the second partition 704 of the current block 700 and the third reference pixels C, C1', C2', C3', C4', C5', C6', C7', and C8' 736 derived from the reconstructed first partition 702. Here, the second prediction block 734 may be generated using the third reference pixels 736 instead of the first reference pixels 712.
[0158] Here, the third reference pixel 736 is a reference line pixel generated from the reconstructed pixels C1, C2, C3, and C4 738 of the reconstructed first partition 702. The reconstructed pixel 738 may be located at or around a boundary between the first partition 702 and the second partition 704.
[0159] The generated third reference pixel 736 may be a simple copy of the value of the reconstructed pixel 738. Alternatively, the generated third reference pixel 736 may be a value generated from the reconstructed pixel 738 based on the distance between the third reference pixel 736 and the reconstructed pixel 738.
[0160] According to one embodiment, one of the third reference pixels C, C1', C2', C3', C4', C5', C6', C7', and C8' 736 may be determined as the value of one of the reconstructed pixels C1, C2, C3, and C4 738. For example, the reconstructed pixel corresponding to the third reference pixel C1' may be determined based on the distance between the third reference pixel C1' and each of the reconstructed pixels C1, C2, C3, and C4. Specifically, the third reference pixel C1' may be determined based on C1, which is the closest reconstructed pixel among C1, C2, C3, and C4. Similarly, the other third reference pixels C2', C3', C4', C5', C6', C7', and C8' may also be determined based on the most appropriate reconstructed pixel selected by considering the distance from each reconstructed pixel.
[0161] Alternatively, considering the prediction direction of the intra prediction mode of the second partition 734, the reconstructed pixel 738 referred to when generating the third reference pixel 736 may be determined. For example, in the case of the vertical mode, when determining the third reference pixel 736, the reconstructed pixel 738 located below the third reference pixel 736 may be referenced. In addition, in the case of the horizontal mode, when determining the third reference pixel 736, the reconstructed pixel 738 located to the right of the third reference pixel 736 may be referenced. In addition, in the case of a prediction mode in which the prediction direction is the upper left diagonal direction, when determining the third reference pixel 736, the reconstructed pixel 738 located to the upper left of the third reference pixel 736 may be referenced. For example, in the third reference pixel C4', C4 may be referenced in the vertical mode, and C2 may be referenced in the prediction mode in which the prediction direction is the upper left diagonal direction. In addition, in the horizontal mode, C4' may not be generated because C4' is unnecessary for the intra prediction of the second partition. If the reference position of the third reference pixel according to the prediction direction is located in the middle of the two reconstructed pixels, the third reference pixel may be determined by referring to a plurality of reconstructed pixels including the two reconstructed pixels.
[0162] According to one embodiment, the value of the third reference pixel 736 may be determined based on a weighted sum of the values of two or more reconstructed pixels in the reconstructed pixels 738. At this time, the two or more reconstructed pixels 738 may be determined based on the distance to the third reference pixel 736. In addition, the weight may be determined based on the distance between the pixel of the third reference pixel 736 and the reconstructed pixel 738. For example, in addition to the nearest C1, the third reference pixel C2' may also refer to the second nearest C2. In addition, the third reference pixel C2' may be determined as the weighted sum of C1 and C2. At this time, the weight required for determining the weighted sum may be derived based on the distance between C2' and C1 and the distance between C2' and C2.
[0163] According to an embodiment, some of the third reference pixels 736 may be determined from the reconstructed pixels 738. For example, reference pixels C1', C2', C3', C4', C5', C6', C7', and C8' may be determined from the reconstructed pixels 738, and reference pixel C may be determined from the reconstructed pixels C1, C2, C3, and C4 738. At this time, reference pixel C may be determined as an average value of C1 and C4 or an average value of C2 and C3.
[0164] Alternatively, according to an embodiment, the second partition 734 may be predicted by directly referring to the reconstructed pixels 738 of the first partition 732 without generating the third reference pixels 736. Therefore, the second partition 734 may be predicted based on the second reference samples 714 and the reconstructed pixels 738.
[0165] Pixel values within the reference line for prediction of the second partition 734 may be derived from pixels of the first partition 732 reconstructed by different methods. A final prediction block according to the spatial geometric partitioning mode may be generated by combining the two generated prediction blocks 732 and 734.
[0166] Figure 6 and Figure 7 Both show implementations of a method for generating a prediction block according to a spatial geometric partitioning mode. The difference between the two implementations is that Figure 6 In , a prediction block for the first partition and a prediction block for the second partition are generated independently. On the other hand, in Figure 7 In the embodiment, a prediction block for a second partition is generated based on the first partition reconstructed first.
[0167] exist Figure 6 and Figure 7 In the embodiment, a reference pixel line adjacent to the current block is used to generate a prediction block for each partitioned partition. However, according to an embodiment, a reference pixel line located N pixels away from the current block may be used to generate a prediction block, where N is a positive integer.
[0168] Hereinafter, a method of variably adjusting the width and weight of a mixed region when generating a final prediction block for a spatial geometry partitioning mode will be described.
[0169] Figure 8 A method of combining two prediction blocks partitioned using a partition boundary to generate a final prediction block is shown.
[0170] exist Figure 8 In FIG. 8 , a decoding unit block 800 having a size of 32×16 is partitioned into two partitions 802 and 804 by a partition boundary. Figure 8 The area indicated by the dotted line in φ represents the mixed area 810. The mixed area 810 may be defined as an area including pixels spaced from the segmentation boundary by a distance of −τ to τ.
[0171] In order to obtain the final prediction block of the decoding unit block 800, a prediction signal P for the first partition 802 may be generated. 0 and the prediction signal P for the second partition 804 1 Then, the two prediction signals P can be transformed into 0 and P 1 Mix to generate the prediction signal P of the final prediction block SGPM .
[0172] [Equation 1]
[0173] P SGPM =(W 0 ×P 0 +(WW 0)×P 1 +M)>>N
[0174] In Equation 1, P 0 represents the prediction signal of the first partition 802, P 1 represents the prediction signal of the second partition 804. In addition, in Equation 1, W 0 represents the prediction signal P applied to the first partition 802 0 The weight of P 0 and P 1 The weights of can be set to have all integers greater than 0. Therefore, W can be determined in the range of 0 to W. 0 Here, W may be determined as a value of an exponent of 2, such as 2, 4, 8, 16, or 32. In addition, a shift operation may be applied to P according to the value of N. 0 With P 1 Here, N may be the logarithmic value of W with a base of 2. In addition, M is determined to be half the value of W. Therefore, if W is 8, N is determined to be 3, and M is determined to be 4.
[0175] According to one embodiment, if the position of the predicted pixel belongs to the mixed region (−τ to τ), a value in the range of 0 to W is used. If the position of the predicted pixel does not belong to the mixed region, a value of 0 or W is used. Equation 2 shows the weight W determined according to the position of the predicted pixel. 0 method.
[0176] [Equation 2]
[0177]
[0178] In Equation 2, d(x, y) represents the distance from the segmentation boundary to Figure 8 The displacement of the pixel at the position (x, y) shown in FIG. 1 is the displacement of the pixel at the position (x, y) shown in FIG. 1 . In addition, the threshold τ represents the distance from the segmentation boundary to the end of the mixed region. In Equation 2, the weight W 0 It can be defined by a ramp function with a displacement and two thresholds - τ and τ.
[0179] Fig. 9 A diagram showing the weight of the prediction signal for each partition 802 according to Equation 2 is shown.
[0180] The threshold τ represents the distance from the segmentation boundary to the end of the mixed region. Therefore, the width of the mixed region is determined according to the threshold τ. In the present disclosure, the width of the mixed region is basically determined according to the threshold τ, and therefore the threshold τ can be interpreted as the width of the mixed region, and vice versa.
[0181] exist Fig. 9, the value of τ is fixed to a predetermined value A. For example, the predetermined value may be determined as 1, 2, 3, 4, etc. In addition, according to an embodiment, the width of the mixed area is not fixed, but is adaptively determined according to a predetermined condition, thereby being able to improve video encoding efficiency. For example, a wide mixed area is suitable for encoding a video image with large movement of an object or focus blur in the image. On the other hand, a narrow mixed area is suitable for a video image or a picture content image without focus blur. Therefore, a method of variably determining the width of a mixed area is discussed below.
[0182] Hereinafter, a method for variably determining the width of a mixed region based on the size of a current coding unit (CU) block will be described. At this time, the size of the coding unit block may be defined as the width, height, aspect ratio (width / height or height / width), min (width, height), or max (width, height) of the coding unit block. Here, min (width, height) and max (width, height) represent the smaller and larger values of the width and height, respectively.
[0183] Equation 3 shows an embodiment of variably determining the width of the mixed region based on size information of the coding unit block.
[0184] [Equation 3]
[0185]
[0186] In Equation 3, S 1 and S 2 Represents different arbitrary positive integers (S 1 <S 2 ). In equation 3, S 2 It can be set to be smaller than the maximum width of the decoding unit block or the maximum height of the decoding unit block.
[0187] In equation 3, according to S 1 and S 2 The three size intervals distinguished determine the value of τ representing the width of the mixed area. Unlike Equation 3, two size intervals may be set, or four or more size intervals may be set.
[0188] exist Fig. 9In Equation 3, the value of τ is fixed to 1, but according to Equation 3, the value of τ can be determined differently according to the size of the block. Specifically, the value of A in Equation 3 is an arbitrary positive integer. For each size interval, the value of τ can be determined as a multiple of A. For example, the value of τ corresponding to a specific size interval can be determined as 0, A / 4, A / 2, A, 2A, 4A, 8A, etc. In addition, according to an embodiment, an arbitrary width value such as 3A or 5A can be used as a width candidate for a mixed area. Here, non-mixed (τ=0) means that the final prediction block for the spatial geometric partitioning mode is generated by independent combination without using a mixed prediction generation based on the weights of the partitioning boundaries.
[0189] In one embodiment, when the min(width, height) of the block is 4, the value of τ may be selected as A / 2. In addition, when the min(width, height) of the block is 8, the value of τ may be selected as A. In addition, when the min(width, height) of the block is 16, the value of τ may be selected as 2A. And when the min(width, height) of the block is 32, the value of τ may be selected as 4A. That is, the value of τ may increase in proportion to the size of the min(width, height). Here, A is an arbitrary positive integer corresponding to an exponent of 2.
[0190] According to one embodiment, the width of the mixed area for the current decoding unit block can be selected from N width candidates, where N is an integer greater than or equal to 2. If two width candidates are used when determining the width of the mixed area, two width candidates can be selected from various width candidates such as 0, A / 4, A / 2, A, 2A, 4A and 8A according to the size of the current decoding unit block. In addition, one width candidate of the two selected width candidates can be selected for prediction of the current decoding unit block. The width candidates may include any width such as 3A, 5A, etc.
[0191] For example, when 0 and A are used as width candidates for the mixed area, the width of the mixed area of the current decoding unit block can be determined based on the mixed area width information indicating one of the two width candidates. The mixed area width information can be parsed from the bitstream. Alternatively, the mixed area width information can be determined from the current decoding unit block or the current picture to which the current decoding unit block belongs. For example, when determining the mixed area width information, whether the reference picture referenced by each partition of the current decoding unit block is the same, the slice type of the current picture, whether the image of the current picture is the picture content, the quantization parameter of the current decoding unit block, etc. can be considered.
[0192] According to one embodiment, the width of the mixed area of the current decoding unit block can be selected from M width candidates determined for the size of the current decoding unit block. Here, M is an integer greater than or equal to 2. If two width candidates are used when determining the width of the mixed area, two width candidates can be selected from various width candidates such as 0, A / 4, A / 2, A, 2A, 4A and 8A according to the size of the current decoding unit block. In addition, one width candidate of the two selected width candidates can be selected for the prediction of the current decoding unit block.
[0193] At this time, the size of the decoding unit block can be defined as the width, height, aspect ratio (width / height or height / width), min(width, height), or max(width, height) of the decoding unit block. Here, min(width, height) and max(width, height) represent the smaller and larger values of the width and height, respectively.
[0194] For example, if 0 and A are selected as width candidates of the mixed region according to the size of the current decoding unit block, the width of the mixed region of the current decoding unit block may be determined based on the mixed region width information indicating one of the two selected width candidates. The mixed region width information may be determined from the current decoding unit block or a picture to which the current decoding unit block belongs. Alternatively, the mixed region width information may be parsed from a bitstream.
[0195] Equation 4 shows a method of selecting two width candidates according to the size of the decoding unit block. In the present disclosure, the width candidate basically means a candidate of a τ value.
[0196] [Equation 4]
[0197]
[0198] In Equation 4, S 1 and S 2 Represents different arbitrary positive integers (S 1 <S 2 ). In equation 4, S 2 is set to be smaller than the maximum width of the decoding unit block or smaller than the maximum height of the decoding unit block. According to Equation 4, based on the two variables S 1 and S 2 And the value of the size determined by the width and height of the decoding unit block is used to determine two width candidates of the mixed area. In addition, based on the mixed area width information, the width of the mixed area of the current decoding unit block in the two width candidates can be determined.
[0199] For example, if the value of the derived size is greater than S 1 and is less than S 2, then A and 4A are selected as two width candidates. Then, the optimal mixed area is determined in A and 4A. In equation 4, (0, A), (A, 4A) and (4A, 8A) are used as the width candidate pairs for each size condition. However, depending on the implementation, different width candidate pairs may be applied to each size condition.
[0200] Although only two width candidates are defined for each size condition in Equation 4, three or more width candidates may be defined for each size condition depending on the implementation.
[0201] The final prediction signal of the spatial geometric segmentation mode is generated by the weighted sum of the prediction signals of the two independent predictions. Fig. 9 As shown, the weighted sum can be calculated based on a ramp function defined by the width of the mixing area -τ and τ and the maximum value of the weight W. τ can be one of 0, A / 4, A / 2, A, 2A, 4A, 8A, etc.
[0202] According to one embodiment, the maximum value W of the weight may be fixed to 8. According to Equation 1, as the maximum value W of the weight increases, the accuracy of the weight applied to the weighted sum operation increases. Therefore, when the width of the mixed region increases and the accuracy of the weight needs to be increased, the prediction accuracy can be improved by increasing the maximum value W of the weight.
[0203] Therefore, in an embodiment in which the width of the mixed region is variably adjusted, the maximum value W of the fixed weight may not always be optimal. Therefore, when the width of the mixed region is variably determined, it may be effective to also variably determine the maximum value W of the weight. Therefore, hereinafter, an embodiment in which the maximum value of the weight is variably determined by considering the width of the mixed region will be described. If the maximum value W of the weight increases, the accuracy of the weight of the mixed region increases, thereby improving the prediction accuracy.
[0204] Fig.10 The weights for the widths of the various mixing regions are shown.
[0205] according to Fig.10 , ignoring the width of the mixed area 0, A / 4, A, 4A, P 0 The weight W 0 The maximum value of is determined as W. At this time, the weight W 0 The maximum value W of can be determined as any positive integer. For example, the weight W 0 The maximum value W of can be determined to be 2, 4, 8, 16, 32 or 64. At this time, as W increases, the accuracy of the weight increases, so that the prediction accuracy in the mixed area can be improved. Fig.10 , 0, A / 4, A, 4A are represented as the width of the mixed area, but the width of the mixed area can be determined as another value.
[0206] When a fixed width of the mixed region is applied, the method of variably adjusting the precision of the weight does not have much significance. However, when the width of the mixed region is adaptively determined based on the size of the decoding unit block, by adjusting the weight W according to the weight W, the weight W can be adjusted. 0 The maximum value W of adjusts the accuracy of the weight, which can improve the prediction accuracy of the final prediction block.
[0207] exist Fig.10 In the embodiment of the present invention, the maximum value W of the weight for the width of various mixed regions is variably determined. However, the maximum value W of the weight is not determined by considering the width of each mixed region. That is, since the maximum value W of the weight is fixed regardless of the width of the mixed region, there may be limitations in determining the optimal weight for each different width of the mixed region.
[0208] Fig.11 The maximum value of the weight which is determined variably as a function of the width of the mixing region is shown.
[0209] according to Fig.11 , if the τ value of the mixed area is A / 4, the maximum value of the weight can be determined as W A / 4 Then, if the τ value of the mixed area is A, the maximum value of the weight can be determined as W A In addition, if the τ value of the mixed area is 4A, the maximum value of the weight can be determined as W 4A In this embodiment, W is used as the maximum value of the weight A / 4 , W A and W 4A are any positive integer values.
[0210] Moreover, although Fig.11 In , A / 4, A, and 4A are used as examples of τ values of the mixed region, but the τ value can be determined arbitrarily. Fig.11 In the example, the size order is determined as W according to the width of the mixed area. A / 4 ≤W A ≤W 4A However, according to this embodiment, W A / 4 , W A and W 4A The order of magnitude can be Fig.11 Set up differently.
[0211] When one of the N different width candidates is used for the size of the decoding unit block, it can also be applied Fig.11 An implementation scheme in which N is an integer of N≥2, rather than a fixed width of the mixing area.
[0212] According to one embodiment, the maximum value of the weight may be determined based on the maximum width candidate among the N width candidates of the mixed region. For example, if A and 4A are used as the width candidates of the mixed region, the maximum value of the weight may be the weight W corresponding to 4A. 4A , where 4A is the maximum width candidate among the width candidates of the mixed area.
[0213] On the contrary, the maximum value of the weight may be determined based on the minimum width candidate among the N width candidates of the mixed region. For example, if A and 4A are used as the width candidates of the mixed region, the maximum value of the weight may be the weight W corresponding to A. A , where A is the minimum width candidate among the width candidates of the mixed area.
[0214] Alternatively, the maximum value of the weight may be determined based on a width candidate selected from the N width candidates of the mixed region. For example, if A is selected from A and 4A as the width candidates of the mixed region, the maximum value of the weight may be the weight W corresponding to A as the selected width candidate. A .
[0215] Fig.12 An embodiment of a prediction method according to the spatial geometric partitioning mode according to the present invention is shown.
[0216] In step 1202, the current block is segmented into a first partition and a second partition according to a segmentation boundary. The segmentation boundary can be defined by a segmentation direction and a segmentation position. In addition, the segmentation position can be defined by the distance from the center point of the block or from the starting point of the segmentation boundary on the edge of the block.
[0217] In step 1204, a first intra prediction mode for the first partition and a second intra prediction mode for the second partition are determined.
[0218] According to one embodiment, the first intra prediction mode can be determined from the first reference pixel adjacent to the first partition according to the intra prediction mode derivation method on the decoder side. In addition, the second intra prediction mode can be determined from the second reference pixel adjacent to the second partition according to the intra prediction mode derivation method on the decoder side.
[0219] According to one embodiment, for the intra-frame prediction mode derivation at the decoder side, a first gradient histogram representing the gradient distribution of the reference pixel can be generated from the first reference pixel. Then, the intra-frame prediction mode corresponding to the gradient with the highest frequency in the first gradient histogram can be determined as the first intra-frame prediction mode.
[0220] In addition, for the intra prediction mode derivation on the decoder side, a second histogram of gradients representing the gradient distribution of the reference pixel can be generated from the second reference pixel. The intra prediction mode corresponding to the gradient with the highest frequency in the second gradient histogram can be determined as the second intra prediction mode.
[0221] According to one embodiment, intra prediction mode determination method information indicating a method for deriving a first intra prediction mode and a method for deriving a second intra prediction mode may be obtained. In addition, the first intra prediction mode and the second intra prediction mode may be determined according to the intra prediction mode determination method information.
[0222] According to one embodiment, the intra prediction mode determination method information may indicate a first determination method for deriving an intra prediction mode from neighboring reference pixels or a second determination method for deriving an intra prediction mode according to intra prediction mode information obtained from a bitstream.
[0223] According to one embodiment, the intra prediction mode determination method information may independently indicate a determination method of the first intra prediction mode and a determination method of the second intra prediction mode. In addition, the intra prediction mode determination method information may be implemented according to various embodiments of the index described in Table 1.
[0224] In step 1206, a first prediction block for the first partition is determined according to the first intra prediction mode. In addition, a second prediction block for the second partition is determined according to the second intra prediction mode. The first prediction block and the second prediction block have the same size as the current block. However, when the first prediction block and the second prediction block are combined to determine the final prediction block, the samples of the first partition are determined by the samples of the first prediction block, and the samples of the second partition are determined by the samples of the second prediction block. However, the samples of the mixed area around the partition boundary of the first partition and the second partition can be determined by the weighted sum of the samples of the first prediction block and the samples of the second prediction block.
[0225] According to one embodiment, the first prediction block may be determined with reference to the reference pixels of the current block according to the first intra prediction mode, and the second prediction block may be determined with reference to the reference pixels of the current block according to the second intra prediction mode. In this case, the first prediction block and the second prediction block may be determined independently without reference to each other.
[0226] According to one embodiment, the first prediction block may be determined according to the reference pixels of the current block according to the first intra prediction mode. In addition, after the reconstruction of the first prediction block, the second prediction block may be determined according to the second intra prediction mode by referring to the second reference pixels adjacent to the second partition and the reconstructed pixels of the first prediction block.
[0227] According to one embodiment, when predicting the second prediction block by referring to the reconstructed first prediction block, the second prediction block can be determined according to the third reference pixel derived from the reconstructed pixel of the first prediction block and the second reference pixel adjacent to the second partition. The third reference pixel can replace the first reference pixel adjacent to the first partition, and the third reference pixel can be generated by copying the value of the reconstructed pixel of the first prediction block. The third reference pixel can be determined from the reconstructed pixel of the first prediction block at the position corresponding to the third reference pixel. The position corresponding to the third reference pixel can be determined based on the distance between the reconstructed pixel of the first prediction block and the third reference pixel or the prediction direction of the intra-frame prediction mode of the second partition. Alternatively, it is characterized in that the third reference pixel can be determined by combining two or more reconstructed pixels of the first prediction block based on the distance between the reconstructed pixel of the first prediction block and the third reference pixel. The reconstructed pixel of the first prediction block referenced when generating the third reference pixel can be located at or around the boundary between the first partition and the second partition. Alternatively, according to an embodiment, the second partition can be predicted by directly referring to the reconstructed pixel of the first prediction block without generating the third reference pixel.
[0228] In step 1208, a final prediction block is determined from the first prediction block and the second prediction block.
[0229] According to one embodiment, step 1208 may further include determining a width of a mixed region around a segmentation boundary, and determining a first weight and a second weight for determining a final prediction sample of the mixed region based on the width of the mixed region. In addition, a final prediction block may be determined from the first prediction block and the second prediction block based on the first weight and the second weight.
[0230] According to one embodiment, the width of the mixed area may be determined based on the value of the size of the current block.
[0231] According to one embodiment, the width of the mixed area may be determined according to a size interval including a value of the size of the current block.
[0232] According to one embodiment, the width of the mixed region may be selected from a plurality of width candidates corresponding to size intervals including values of the size of the current block. At this time, the width of the mixed region may be selected from a plurality of width candidates based on mixed region width information indicating the width of the mixed region parsed from the bitstream.
[0233] Alternatively, the width of the mixed region may be determined based on mixed region width information indicating a width candidate of the mixed region among a plurality of width candidates determined without considering the size of the current block.
[0234] According to one embodiment, the value of the size of the current block can be determined by at least one of the width of the current block, the height of the current block, the larger value of the width and height of the current block, the smaller value of the width and height of the current block, and the ratio of the width to the height of the current block.
[0235] According to one embodiment, the width of the mixed area may be determined according to whether the current picture or the current slice including the current block is a screen content image. If the current picture or the current slice is a screen content image, the width of the mixed area may be determined to be 0, regardless of the size of the current block. Alternatively, under the above conditions, the width of the mixed area may be determined to be A / 4, regardless of the size of the current block.
[0236] According to one embodiment, the method may include determining a maximum value of the first weight and the second weight based on the width of the mixed area, and determining the first weight and the second weight based on the maximum value. In addition, as the width of the mixed area increases, the maximum value of the first weight and the second weight may be set to be larger. Depending on the width of the mixed area, the maximum value of the first weight and the second weight may be determined to be one of 2, 4, 8, 16, 32, 64, and 128.
[0237] According to one embodiment, the method may include determining a maximum value of the first weight and the second weight based on the width candidates of the mixed area applied to the current block, and determining the first weight and the second weight based on the maximum value. The maximum value of the first weight and the second weight may be determined based on the maximum width candidate or the minimum width candidate among the width candidates of the mixed area. The maximum value of the first weight and the second weight may be determined based on at least one width candidate among a plurality of width candidates of the mixed area of 2, 4, 8, 16, 32, 64, and 128.
[0238] According to one embodiment, regardless of the width of the mixed area, the maximum value of the first weight and the second weight may be fixed. For example, the maximum value of the first weight and the second weight may be fixed to one of 2, 4, 8, 16, 32, 64, and 128.
[0239] According to one embodiment, the first weight and the second weight may be determined based on the distance between the position of the sample of the mixed region and the segmentation boundary.
[0240] According to one embodiment, the first weight and the second weight may be determined based on a nonlinear function of the position of the sample receiving the mixed region and the distance of the segmentation boundary. The nonlinear function may be composed of at least one of a higher order function than a quadratic function, an exponential function or a logarithmic function.
[0241] The final prediction block of the current block determined in steps 1202 to 1208 may be used to encode and decode the current block.
[0242] Fig.13 The content streaming media system applicable according to the embodiment of the present invention is exemplarily shown.
[0243] like Fig.13 As shown, the content streaming media system to which the embodiment of the present invention is applied may mainly include an encoding server, a streaming server, a network server, a media storage, a user device and a multimedia input device.
[0244] The encoding server compresses the content received from the multimedia input device (such as a smart phone, camera, CCTV, etc.) into digital data to generate a bit stream and transmits it to the streaming server. As another example, if the multimedia input device (such as a smart phone, camera, CCTV, etc.) directly generates the bit stream, the encoding server can be omitted.
[0245] A bit stream may be generated by applying the image encoding method and / or the image encoding device according to the embodiment of the present invention, and during the process of transmitting or receiving the bit stream, the streaming media server may temporarily store the bit stream.
[0246] The streaming media server transmits the multimedia data to the user device via the web server based on the user request, and the web server can act as an intermediary to inform the user of any available services. When the user requests the desired service from the web server, the web server transmits it to the streaming media server, and the streaming media server can transmit the multimedia data to the user. At this time, the content streaming media system can include a separate control server, and in this case, the control server can control the command / response between the devices in the content streaming media system.
[0247] The streaming media server can receive content from a media storage and / or an encoding server. For example, when receiving content from an encoding server, the content can be received in real time. In this case, in order to provide a smooth streaming media service, the streaming media server can store the bitstream for a specific period of time.
[0248] Examples of user devices may include mobile phones, smart phones, laptop computers, digital broadcast terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, touch-screen tablet PCs, tablet PCs, ultrabooks, wearable devices (e.g., smart watches, smart glasses, HMDs), digital TVs, desktop computers, digital signage, etc.
[0249] Each server in the above content streaming system can be operated as a distributed server, in which case the data received from each server can be distributed and processed.
[0250] The above embodiments may be performed in the encoding device and the decoding device in the same or corresponding manner. In addition, an image may be encoded / decoded using at least one of the above embodiments or a combination of at least one of the above embodiments.
[0251] In the encoding device and the decoding device, the order of applying the above embodiments may be different. Alternatively, in the encoding device and the decoding device, the order of applying the above embodiments may be the same.
[0252] The above embodiments may be performed for each of the luminance and chrominance signals. Alternatively, the above embodiments may be performed identically for the luminance and chrominance signals.
[0253] In the above-mentioned embodiments, the method is described based on a flow chart having a series of steps or units, but the present invention is not limited to the order of the steps, but some steps can be performed simultaneously with other steps or in a different order. In addition, it should be understood by those skilled in the art that the steps in the flow chart are not mutually exclusive, and other steps can be added to the flow chart or some steps can be deleted from the flow chart without affecting the scope of the present invention.
[0254] The embodiments may be implemented in the form of program instructions executable by various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include independent program instructions, data files, data structures, etc. or a combination of program instructions, data files, data structures, etc. The program instructions recorded in the computer-readable recording medium may be specially designed and constructed for the present invention, or may be well known to those of ordinary skill in the field of computer software technology.
[0255] The bit stream generated by the encoding method according to the above-described embodiment may be stored in a non-transitory computer-readable recording medium. In addition, the bit stream stored in the non-transitory computer-readable recording medium may be decoded by the decoding method according to the above-described embodiment.
[0256] Examples of computer-readable recording media include magnetic recording media such as hard disks, floppy disks, and magnetic tapes; optical data storage media such as CD-ROMs or DVD-ROMs; magnetic optimal media such as floppy disks; and hardware devices such as read-only memory (ROM), random access memory (RAM), flash memory, etc., which are specially constructed to store and implement program instructions. Examples of program instructions include not only machine language codes formatted by a decoder, but also high-level language codes that can be implemented by a computer using an interpreter. Hardware devices can be configured to be operated by one or more software modules, and vice versa, to perform processing according to the present invention.
[0257] Although the present invention has been described with respect to specific items such as detailed elements and limited embodiments and drawings, they are only provided to help a more comprehensive understanding of the present invention, and the present invention is not limited to the above embodiments. It will be appreciated by those skilled in the art that various modifications and changes can be made from the above description.
[0258] Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and the full scope of the appended claims and their equivalents will fall within the scope and spirit of the present invention.
[0259] Industrial Applicability
[0260] The present invention can be used for an apparatus for encoding / decoding an image and a recording medium for storing a bit stream.
Claims
1. An image decoding method, comprising: Splitting the current block into a first partition and a second partition according to a partition boundary; determining a first intra prediction mode for the first partition and a second intra prediction mode for the second partition; determining a first prediction block for the first partition according to the first intra prediction mode, and determining a second prediction block for the second partition according to the second intra prediction mode; as well as A final prediction block is determined from the first prediction block and the second prediction block.
2. The image decoding method according to claim 1, wherein: The first intra prediction mode is determined from first reference pixels adjacent to the first partition, and the second intra prediction mode is determined from second reference pixels adjacent to the second partition.
3. The image decoding method according to claim 2, in, generating a first gradient histogram representing a gradient distribution of reference pixels from the first reference pixels, and determining an intra prediction mode corresponding to a gradient with the highest frequency in the first gradient histogram as the first intra prediction mode, and A second gradient histogram representing the gradient distribution of the reference pixel is generated from the second reference pixel, and the intra-frame prediction mode corresponding to the gradient with the highest frequency in the second gradient histogram is determined as the second intra-frame prediction mode.
4. The image decoding method according to claim 1, further comprising: obtaining intra prediction mode determination method information indicating a method of deriving the first intra prediction mode and a method of deriving the second intra prediction mode, The first intra-frame prediction mode and the second intra-frame prediction mode are determined according to the intra-frame prediction mode determination method information.
5. The image decoding method according to claim 4, wherein: The intra prediction mode determination method information indicates a first determination method for deriving an intra prediction mode from neighboring reference pixels or a second determination method for deriving an intra prediction mode from intra prediction mode information obtained from a bitstream.
6. The image decoding method according to claim 4, wherein: The intra prediction mode determination method information independently indicates a determination method of the first intra prediction mode and a determination method of the second intra prediction mode.
7. The image decoding method according to claim 1, in, determining the first prediction block by referring to reference pixels of the current block according to the first intra prediction mode, wherein the second prediction block is determined by referring to the reference pixels of the current block according to the second intra prediction mode, and Wherein, the first prediction block and the second prediction block are determined independently.
8. The image decoding method according to claim 1, in, determining the first prediction block by referring to reference pixels of the current block according to the first intra prediction mode, wherein the second prediction block is determined by referring to second reference pixels adjacent to the second partition and reconstructed pixels of the first prediction block according to the second intra prediction mode, and Therein, the first prediction block is determined, and then the second prediction block is determined.
9. The image decoding method according to claim 8, in, determining the second prediction block based on a third reference pixel derived from the reconstructed pixel of the first prediction block and a second reference pixel adjacent to the second partition, and The third reference pixel replaces the first reference pixel adjacent to the first partition.
10. The image decoding method according to claim 9, wherein: The value of the third reference pixel is determined by copying the value of the reconstructed pixel of the first prediction block or by combining two or more reconstructed pixels of the first prediction block based on a distance between the reconstructed pixel of the first prediction block and the third reference pixel.
11. The image decoding method according to claim 1, further comprising: determining a width of a blended region around the segmentation boundary; and determining a first weight and a second weight for determining a final prediction sample of the mixed region based on the width of the mixed region, Wherein, the final prediction block is determined from the first prediction block and the second prediction block based on the first weight and the second weight.
12. The image decoding method according to claim 11, in, In determining the width of the mixed area, the width of the mixed area is determined based on the value of the size of the current block, and The value of the size of the current block is determined by at least one of the width of the current block, the height of the current block, the larger value of the width of the current block and the height of the current block, the smaller value of the width of the current block and the height of the current block, and the ratio of the width of the current block to the height of the current block.
13. The image decoding method according to claim 11, wherein: The width of the mixed region is selected from a plurality of width candidates based on mixed region width information indicating the width of the mixed region.
14. The image decoding method according to claim 11, wherein: When the current picture or the current slice including the current block is a screen content image, the width of the mixed area is determined to be 0 or 1 / 4.
15. The image decoding method according to claim 11, wherein: Determining the first weight and the second weight includes: determining a maximum value of the first weight and the second weight based on the width of the mixed region; and determining the first weight and the second weight based on the maximum value, The maximum values of the first weight and the second weight are set to be larger as the width of the mixed area increases.
16. The image decoding method according to claim 11, wherein: Determining the first weight and the second weight includes: determining a maximum value of the first weight and the second weight based on width candidates of the mixed area applied to the current block; and The first weight and the second weight are determined based on the maximum value.
17. The image decoding method according to claim 11, wherein: When determining the first weight and the second weight, the first weight and the second weight are determined based on a distance between a position of a sample of the mixed region and the segmentation boundary.
18. An image encoding method, comprising: Splitting the current block into a first partition and a second partition according to a partition boundary; determining a first intra prediction mode for the first partition and a second intra prediction mode for the second partition; determining a first prediction block for the first partition according to the first intra prediction mode, and determining a second prediction block for the second partition according to the second intra prediction mode; as well as A final prediction block is determined from the first prediction block and the second prediction block.
19. A computer-readable recording medium for storing a bit stream generated by an image encoding method, the image encoding method comprising: Splitting the current block into a first partition and a second partition according to a partition boundary; determining a first intra prediction mode for the first partition and a second intra prediction mode for the second partition; determining a first prediction block for the first partition according to the first intra prediction mode, and determining a second prediction block for the second partition according to the second intra prediction mode; as well as A final prediction block is determined from the first prediction block and the second prediction block.
20. A bit stream transmission method for transmitting a bit stream generated by an image encoding method, the bit stream transmission method comprising: Encoding the image based on the image encoding method; as well as transmitting a bitstream comprising the coded image, Wherein, the image encoding method comprises: Splitting the current block into a first partition and a second partition according to a partition boundary; determining a first intra prediction mode for the first partition and a second intra prediction mode for the second partition; determining a first prediction block for the first partition according to the first intra prediction mode, and determining a second prediction block for the second partition according to the second intra prediction mode; and A final prediction block is determined from the first prediction block and the second prediction block.
Citation Information
Cited By
Processing method, processing device and storage medium
WO2026001802A3