Image decoding method, image encoding method and bit stream generation method

By decoding information related to the limiting range in the image decoding method and performing SAO filtering, the problem of low compression efficiency in the image encoding/decoding process in the prior art is solved, and a more efficient compression effect and bitstream storage is achieved.

CN115174905BActive Publication Date: 2025-05-13IND ACAD COOP GRP OF SEJONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210863336.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2017-01-20
Filing Date
2018-01-16
Publication Date
2025-05-13
Estimated Expiration
2038-01-16

AI Technical Summary

Technical Problem

The prior art is difficult to effectively improve compression efficiency during image encoding/decoding, especially when using the pixel range of any image area.

Method used

Information related to the limiting range is decoded in the image decoding method, and sample adaptive offset (SAO) filtering is performed based on this information, including determining the limiting range of the current block and band-like area processing when performing the band-like offset mode.

Benefits of technology

The compression efficiency during the image encoding/decoding process is improved, compression can be performed more efficiently within the pixel range of any image area, and a computer-readable recording medium for storing a bit stream is provided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115174905B_ABST
    Figure CN115174905B_ABST
Patent Text Reader

Abstract

The present invention provides an image decoding method, an image encoding method and a bit stream generation method. The image decoding method applicable to the present invention can include: a step of decoding information related to a clipping range of a current block; and a step of performing sample adaptive offset filtering based on the information related to the clipping range; wherein the information related to the clipping range can include maximum and minimum value information of pixel values ​​contained in the current block.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of a patent application with an application date of January 16, 2018, application number 201880007610.0, and title “Image encoding method / device, image decoding method / device and recording medium storing bit stream”. Technical Field

[0002] The present invention relates to an image encoding / decoding method and device, and more particularly to an image encoding / decoding method and device capable of utilizing a pixel range of any image region to improve compression efficiency. Background Art

[0003] In recent years, the demand for multimedia data such as video on the Internet has been increasing rapidly. However, the current development speed of channel bandwidth is unable to fully meet the rapidly increasing amount of multimedia data. As part of the above trend, the Video Coding Expert Group (VCEG) of the International Telecommunication Union Telecommunication Standardization Sector (ITU-T) and the Moving Picture Expert Group (MPEG) of the International Organization for Standardization / International Electrotechnical Commission (ISO / IEC) are working hard to develop more efficient video compression standards through unremitting collaborative research. Summary of the invention

[0004] Technical issues

[0005] The object of the present invention is to provide an image encoding / decoding method and device that can improve compression efficiency during the image encoding / decoding process.

[0006] In addition, an object of the present invention is to provide an image encoding / decoding method and device that can improve compression efficiency by utilizing a pixel range of any image area during the image encoding / decoding process.

[0007] Another object of the present invention is to provide a computer-readable recording medium capable of storing a bit stream generated by applying the video encoding method / apparatus of the present invention.

[0008] Technical Solution

[0009] The image decoding method applicable to the present invention may include: a step of decoding information related to the clipping range of the current block; and a step of performing sample adaptive offset (SAO) filtering based on the above information related to the clipping range; wherein the above information related to the clipping range may include maximum and minimum value information of pixel values ​​contained in the current block.

[0010] In the image decoding method to which the present invention is applied, the information related to the clipping range of the current block can be transmitted in units of the current block or any area including the current block.

[0011] In the video decoding method applicable to the present invention, the above-mentioned arbitrary area unit can include at least one of a picture unit, a parallel block unit and a slice unit.

[0012] In the video decoding method to which the present invention is applied, the maximum value and minimum value information may include information on one of the maximum value and the minimum value and information on a difference between the maximum value and the minimum value.

[0013] In the image decoding method applicable to the present invention, when the sample adaptive offset (SAO) mode of the above-mentioned current block is the band offset (Band Offset, BO) mode, it can also include: a step of decoding an initial strip area position related to the initial position of the strip area interval applicable to the above-mentioned band offset; and a step of decoding M offset information of the strip area interval applicable to the above-mentioned band offset; wherein the above-mentioned M can be determined based on the above-mentioned decoded initial strip area position and at least one of the above-mentioned minimum value and the above-mentioned maximum value.

[0014] In the image decoding method applicable to the present invention, when the sample adaptive offset (SAO) mode of the above-mentioned current block is a band offset mode, it can also include: a step of subdividing the interval between the above-mentioned maximum value and the above-mentioned minimum value into 32 band areas; wherein, the initial band area position related to the initial position of the band area interval applicable to the band offset can be the position of the above-mentioned 32 subdivided band areas.

[0015] The image encoding method applicable to the present invention may include: a step of determining a clipping range of a current block; a step of performing a sample adaptive offset (SAO) filter based on the clipping range; and a step of encoding information related to the clipping range; wherein the information related to the clipping range may include maximum and minimum value information of pixel values ​​contained in the current block.

[0016] In the image encoding method applicable to the present invention, the information related to the clipping range of the current block can be encoded in units of the current block or any area including the current block.

[0017] In the video encoding method applicable to the present invention, the above-mentioned arbitrary area unit can include at least one of a picture unit, a parallel block unit and a slice unit.

[0018] In the video encoding method applicable to the present invention, the maximum value and minimum value information may include information on one of the maximum value and the minimum value and difference information between the maximum value and the minimum value.

[0019] In the image encoding method applicable to the present invention, when the sample adaptive offset (SAO) mode of the above-mentioned current block is the band offset (Band Offset, BO) mode, it can also include: a step of determining an initial strip area position related to the initial position of the strip area interval to which the above-mentioned band offset is applied; a step of determining M offset information of the strip area interval to which the above-mentioned band offset is applied; and a step of encoding the above-mentioned initial strip area position and the above-mentioned M offset information; wherein the above-mentioned M can be determined based on the above-mentioned initial strip area position and at least one of the above-mentioned minimum value and the above-mentioned maximum value.

[0020] In the image encoding method applicable to the present invention, when the sample adaptive offset (SAO) mode of the above-mentioned current block is a band offset mode, it can also include: a step of subdividing the interval between the above-mentioned maximum value and the above-mentioned minimum value into 32 band areas; wherein, the initial band area position related to the initial position of the band area interval applicable to the band offset can be the position of the above-mentioned 32 subdivided band areas.

[0021] The image decoding device applicable to the present invention may include: a decoding unit, which decodes information related to the limiting range of the current block; and a filtering unit, which performs sample adaptive offset (SAO) filtering based on the above-mentioned information related to the limiting range; wherein the above-mentioned information related to the limiting range may include maximum and minimum value information of pixel values ​​contained in the current block.

[0022] The image encoding device applicable to the present invention may include: an encoding unit, which determines the limiting range of the current block and encodes the above-mentioned limiting range information; and a filtering unit, which performs sample adaptive offset (SAO) filtering based on the above-mentioned limiting range; wherein the above-mentioned information related to the limiting range may include maximum and minimum value information of the pixel values ​​contained in the current block.

[0023] The image decoding method applicable to the present invention may include: a step of decoding the limiting strip area index information of the current block; and a step of performing sample adaptive offset (SAO) filtering based on the limiting strip area index information; wherein the limiting strip area index information may be information indicating the limiting strip area including the maximum value and the minimum value of the pixel values ​​contained in the current block.

[0024] In the image decoding method applicable to the present invention, the sliced ​​strip region index information of the current block can be transmitted in units of the current block or any region including the current block.

[0025] In the video decoding method applicable to the present invention, the above-mentioned arbitrary area unit can include at least one of a picture unit, a parallel block unit and a slice unit.

[0026] In the image decoding method applicable to the present invention, the above-mentioned limited strip area may include N intervals obtained by dividing the range from the maximum pixel value to the minimum pixel value into N intervals, and the above-mentioned limited strip area index information may be information indicating a certain interval among the above-mentioned N intervals.

[0027] In the image decoding method applicable to the present invention, when the maximum value and the minimum value of the pixels included in the current block are included in the same strip area, the clipping strip area index information may be information indicating the same strip area.

[0028] In the image decoding method applicable to the present invention, when the maximum value and the minimum value of the pixels included in the above-mentioned current block are not included in the same strip area, the above-mentioned limited strip area index information can include information indicating the strip area including the above-mentioned maximum value and information indicating the above-mentioned minimum value.

[0029] The image encoding method applicable to the present invention may include: a step of determining a limiting range of a current block; a step of determining a limiting strip area of ​​the current block based on the limiting range; a step of performing a sample adaptive offset (SAO) filter based on the limiting strip area; and a step of encoding limiting strip area index information; wherein the limiting strip area index information may be information indicating a limiting strip area including a maximum value and a minimum value of pixel values ​​contained in the current block.

[0030] In the image encoding method applicable to the present invention, the sliced ​​strip region index information of the current block can be encoded in units of the current block or any region including the current block.

[0031] In the video encoding method applicable to the present invention, the above-mentioned arbitrary area unit can include at least one of a picture unit, a parallel block unit and a slice unit.

[0032] In the image encoding method applicable to the present invention, the above-mentioned limited strip area may include N intervals obtained by dividing the range from the maximum pixel value to the minimum pixel value into N intervals, and the above-mentioned limited strip area index information may be information indicating a certain interval among the above-mentioned N intervals.

[0033] In the image encoding method applicable to the present invention, when the maximum value and the minimum value of the pixels included in the current block are included in the same strip area, the clipping strip area index information can be information indicating the same strip area.

[0034] In the image encoding method applicable to the present invention, when the maximum value and the minimum value of the pixels included in the above-mentioned current block are not included in the same strip area, the above-mentioned limited strip area index information can include information indicating the strip area including the above-mentioned maximum value and information indicating the above-mentioned minimum value.

[0035] The image decoding device applicable to the present invention may include: a decoding unit, which decodes the limited strip area index information of the current block; and a filtering unit, which performs sample adaptive offset (SAO) filtering based on the above-mentioned limited strip area index information; wherein the above-mentioned limited strip area index information may be information indicating the limited strip area including the maximum value and the minimum value of the pixel values ​​contained in the above-mentioned current block.

[0036] The image encoding device applicable to the present invention may include: an encoding unit, which determines a limiting range of a current block, determines a limiting strip area of ​​the current block based on the limiting range, and encodes limiting strip area index information; and a filtering unit, which performs sample adaptive offset (Sample AdaptiveOffset, SAO) filtering based on the limiting strip area; wherein the limiting strip area index information may be information indicating a limiting strip area including a maximum value and a minimum value of pixel values ​​contained in the current block.

[0037] A computer-readable recording medium to which the present invention is applied can store a bit stream generated by a video encoding method or a video encoding device to which the present invention is applied.

[0038] Beneficial Effects

[0039] The present invention can provide an image encoding / decoding method and device that can improve compression efficiency.

[0040] In addition, the present invention can provide an image encoding / decoding method and device that can utilize the pixel range of any image area to improve compression efficiency.

[0041] Furthermore, according to the present invention, it is possible to provide a computer-readable recording medium capable of storing a bit stream generated by applying the video encoding method or the video encoding device of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] Figure 1 It is a schematic diagram illustrating an image encoding device applicable to one embodiment of the present invention.

[0043] Figure 2 The diagram is a schematic diagram illustrating an image decoding device applicable to one embodiment of the present invention.

[0044] Figure 3 This is a schematic diagram used to illustrate the edge offset (EO, Edge Offset) mode.

[0045] Figure 4 This is a schematic diagram for explaining the band offset (BO, Band Offset) mode.

[0046] Figure 5 This is a schematic diagram for explaining a method of encoding sample adaptive offset (SAO) information in the video encoding device 100.

[0047] Figure 6 This is a schematic diagram for explaining a method of decoding sample adaptive offset (SAO) information in the video decoding device 200 .

[0048] Figure 7 A schematic diagram for explaining the limiting range in an arbitrary region and the available band area in the band offset (BO) mode.

[0049] Figure 8 This is a schematic diagram illustrating a state where the available band area section of the band offset (BO) mode is further subdivided into 32 band area sections.

[0050] Fig. 9 This is a schematic diagram for explaining a method of correcting residual block coefficients using a clipping range of arbitrary area units.

[0051] Fig.10 This is a schematic diagram for explaining a method of encoding clipping information in units of pictures.

[0052] Fig.11This is a schematic diagram for explaining a method of decoding slice information in units of pictures.

[0053] Fig.12 This is a schematic diagram for explaining a method of encoding slice information in arbitrary block units.

[0054] Fig.13 This is a schematic diagram for explaining a method of decoding slice information in arbitrary block units.

[0055] Fig.14 This is a sequence diagram for explaining a method for encoding sample adaptive offset (SAO) information based on a clipping range according to one embodiment of the present invention.

[0056] Fig.15 This is a sequence diagram for explaining a method for decoding sample adaptive offset (SAO) information based on a clipping range to which an embodiment of the present invention is applied.

[0057] Fig.16 This is a schematic diagram for explaining a method for determining a clipping band region to which the present invention is applied.

[0058] Fig.17 This is a schematic diagram for explaining a method of encoding clipping information in units of pictures.

[0059] Fig.18 This is a schematic diagram for explaining a method of decoding slice information in units of pictures.

[0060] Fig.19 This is a schematic diagram for explaining a method of encoding slice information in arbitrary block units.

[0061] Fig. 20 This is a schematic diagram for explaining a method of decoding slice information in arbitrary block units.

[0062] Fig.21 It is a schematic diagram for explaining the slice application position to which the present invention is applied in the video encoding device 100 and the video decoding device 200.

[0063] Fig. 22 This is a schematic diagram for explaining a method of determining offset values ​​in different categories in consideration of a clipping range in an edge offset (EO) mode.

[0064] Fig.23 This is a schematic diagram for explaining a method of determining an offset in consideration of a clipping range when determining an offset value for each band area in the band offset (BO) mode.

[0065] Fig.24 is a schematic diagram for explaining a method of encoding sample adaptive offset (SAO) information.

[0066] Fig.25 is a schematic diagram for explaining a method of performing decoding of sample adaptive offset (SAO) information.

[0067] Fig.26 It is a schematic diagram for explaining a process of performing decoder-side motion vector derivation (DMVD) based on a clipping range according to another embodiment of the present invention.

[0068] Fig. 27 This is a sequence diagram for explaining a process of performing deblocking filtering based on a clipping range according to another embodiment of the present invention. DETAILED DESCRIPTION

[0069] The present invention can be modified in various ways and has a variety of different embodiments. Specific embodiments will be illustrated and described in detail in the accompanying drawings. However, the following content is not intended to limit the present invention to a specific embodiment, but should be understood to include all modifications, equivalents and even substitutes within the scope of the present invention. In the process of describing each of the drawings, similar reference symbols are used for similar components.

[0070] In the process of describing different constituent elements, terms such as 1st, 2nd, etc. can be used, but the above constituent elements are not limited by the above terms. The above terms are only used to distinguish one constituent element from other constituent elements. For example, without departing from the scope of the claims of the present invention, the 1st constituent element can also be named as the 2nd constituent element, and similarly, the 2nd constituent element can also be named as the 1st constituent element. The term "and / or" includes a combination of multiple related recorded items or one of multiple related recorded items.

[0071] When a certain constituent element is described as being “connected” or “contacting” other constituent elements, it should be understood that it can be not only directly connected or in contact with the other constituent elements, but also that other constituent elements can exist between the two. On the contrary, when a certain constituent element is described as being “directly connected” or “directly in contact with” other constituent elements, it should be understood that no other constituent elements exist between the two.

[0072] The terms used in this application are only for the purpose of describing specific embodiments and are not intended to limit the present invention. Unless the context clearly indicates otherwise, singular statements also include plural meanings. In this application, terms such as "including" or "having" are only intended to indicate that the features, numbers, steps, actions, constituent elements, parts or combinations thereof described in the specification exist, and should not be understood as excluding in advance the possibility that one or more other features, numbers, steps, actions, constituent elements, parts or combinations thereof exist or are added.

[0073] Next, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following, the same reference symbols will be used for the same components in the drawings and repeated descriptions of the same components will be omitted.

[0074] Figure 1 It is a schematic diagram illustrating an image encoding device applicable to one embodiment of the present invention.

[0075] See also Figure 1 The image encoding device 100 may include an image segmentation unit 101, an intra-frame prediction unit 102, an inter-frame prediction unit 103, a subtraction unit 104, a transformation unit 105, a quantization unit 106, an entropy coding unit 107, an inverse quantization unit 108, an inverse transformation unit 109, an addition unit 110, a filtering unit 111 and a memory 112.

[0076] exist Figure 1 In order to represent different special functions in the image encoding device, each component is illustrated separately, but this does not mean that each component is composed of separate hardware or a software unit. That is, although each component is listed for the convenience of explanation, at least two components of each component can be combined into one component, and one component can be divided into multiple components and make them perform corresponding functions. The embodiments in which the components are integrated and the embodiments in which they are separated as described above are included in the scope of the claims of the present invention without departing from the essence of the present invention.

[0077] In addition, some of the constituent elements may not be the constituent elements necessary for performing the essential functions in the present invention, but are only optional constituent elements for improving performance. The present invention can include only the constituent parts necessary for realizing the essence of the present invention except the constituent elements only for improving performance, and the structure including only the necessary constituent elements except the optional constituent elements only for improving performance is also included in the scope of the claims of the present invention.

[0078] The image segmentation unit 100 can segment the input image into at least one block. At this time, the input image can be in a variety of different forms and sizes such as an image, a strip, a parallel block or a fragment. A block can refer to a coding unit (CU), a prediction unit (PU) or a transform unit (TU). The above segmentation can be performed based on at least one of a quad tree or a binary tree. A quad tree is a method of segmenting an upper block into four lower blocks whose width and height are both half of the upper block. A binary tree is a method of segmenting an upper block into two lower blocks whose width or height is half of the upper block. By segmenting based on the above binary tree, the block can be segmented not only into a square, but also into a non-square shape.

[0079] Next, in the embodiment to which the present invention is applied, the encoding unit can be used not only to mean an encoding execution unit but also to mean a decoding execution unit.

[0080] The prediction units 102 and 103 may include an inter-frame prediction unit 103 for performing inter-frame prediction and an intra-frame prediction unit 102 for performing intra-frame prediction. After deciding whether to perform inter-frame prediction or intra-frame prediction on the prediction unit, specific information (such as intra-frame prediction mode, motion vector, reference image, etc.) may be determined according to different prediction methods. At this time, the processing unit for performing prediction may be different from the processing unit for determining the prediction method and specific content. For example, the prediction method and prediction mode may be determined in the prediction unit, and the prediction execution may be performed in the transform unit.

[0081] The residual value (residual block) between the generated prediction block and the original block can be input to the transform unit 105. In addition, information such as prediction mode information and motion vector information used when performing prediction can be transmitted to the decoder after being encoded by the entropy encoding unit 107 together with the residual value. In the case of using a specific encoding mode, the prediction block can be transmitted to the decoder after directly encoding the original block without generating the prediction block through the prediction units 102 and 103.

[0082] The intra-frame prediction unit 102 can generate a prediction block based on pixel information in the current image, that is, reference pixel information around the current block. When the prediction mode of the surrounding blocks of the current block to which intra-frame prediction is to be performed is inter-frame prediction, the reference pixels contained in the surrounding blocks to which inter-frame prediction has been applied can be replaced with reference pixels in other surrounding blocks to which intra-frame prediction has been applied. That is, in the case where the reference pixel is unavailable, it can be used after replacing the unavailable reference pixel information with at least one reference pixel among the available reference pixels.

[0083] In intra prediction, the prediction mode can include a directional prediction mode that uses reference pixel information according to a prediction direction and a non-directional mode that does not use directional information when performing prediction. The mode for predicting brightness information can be different from the mode for predicting color difference information, and the intra prediction mode information used in the process of predicting brightness information or the predicted brightness signal information can be used when predicting color difference information.

[0084] The intra prediction unit 102 may include an adaptive intra smoothing (AIS) filter, a reference pixel interpolation unit, and a mean value (DC) filter. The adaptive intra smoothing (AIS) filter is a filter for filtering the reference pixels of the current block, and may adaptively determine whether the filter is applicable according to the prediction mode of the current prediction unit. When the prediction mode of the current block is a mode in which the adaptive intra smoothing (AIS) filter is not performed, the adaptive intra smoothing (AIS) filter may not be applied.

[0085] When the intra prediction mode of the prediction unit is a prediction unit that performs intra prediction based on the pixel value interpolated from the reference pixel, the reference pixel interpolation unit of the intra prediction unit 102 can generate the reference pixel at the fractional unit position by interpolating the reference pixel. When the prediction mode of the current prediction unit is a prediction mode that generates a prediction block without interpolating the reference pixel, the reference pixel can be not interpolated. When the prediction mode of the current block is the mean (DC) mode, the mean (DC) filter can generate the prediction block by filtering.

[0086] Furthermore, a residual block including residual information, which is a difference between the prediction unit generated in the prediction units 102 and 103 and the original block of the prediction unit, can be generated. The generated residual block can be input to the transformation unit 130 for transformation.

[0087] The inter-picture prediction unit 103 can predict the prediction unit based on information of at least one of the previous picture or the next picture of the current picture, and in some cases, can also predict the prediction unit based on information of a part of the area in the current picture that has been encoded. The inter-picture prediction unit 103 can include a reference picture interpolation unit, a motion prediction unit, and a motion compensation unit.

[0088] In the reference image interpolation unit, the reference image information can be received from the memory 112 and pixel information below an integer pixel can be generated in the reference image. For luminance pixels, in order to generate pixel information below an integer pixel in 1 / 4 pixel units, an 8-tap interpolation filter based on discrete cosine transform (DCT) with different filter coefficients can be used. For color difference signals, in order to generate pixel information below an integer pixel in 1 / 8 pixel units, a 4-tap interpolation filter based on discrete cosine transform (DCT) with different filter coefficients can be used.

[0089] The motion prediction unit can perform motion prediction based on the reference image interpolated by the reference image interpolation unit. As a method for calculating the motion vector, various different methods such as the full search-based block matching algorithm (FBMA), the three-step search algorithm (TSS), and the new three-step search algorithm (NTS) can be used. The motion vector can use a motion vector value of 1 / 2 or 1 / 4 pixel units based on the interpolated pixels. In the motion prediction unit, the current prediction unit can be predicted by different motion prediction methods. As the motion prediction method, various methods such as the skip method, the merge method, and the advanced motion vector prediction (AMVP) method can be used. The subtraction unit 104 generates a residual block of the current block by subtracting the block currently to be encoded from the prediction block generated in the intra-picture prediction unit 102 or the inter-picture prediction unit 103.

[0090] In the transform unit 105, a transform block can be generated by transforming the difference between the original block and the prediction block, that is, the residual block. The transform block can be the smallest unit for performing the transform and quantization process. The transform unit 105 can generate a transform block containing transform coefficients by transforming the residual signal into a frequency region. In order to transform the residual block containing residual data into a frequency region, a transform method such as discrete cosine transform (DCT), discrete sine transform (DST), Karhunen Loeve transform (KLT) can be used. By transforming the residual signal into a frequency region using the transform method described above, a transform coefficient can be generated. In order to facilitate the execution of the transform, a matrix operation using a basis vector can be performed. According to the prediction mode when encoding the prediction block, a plurality of different transform methods can be mixed in the matrix operation. For example, the transform method can be determined based on the intra-frame prediction mode of the prediction unit used when generating the residual block. For example, it is possible to use discrete cosine transform (DCT) in a horizontal direction and discrete sine transform (DST) in a vertical direction according to an intra prediction mode.

[0091] The quantization unit 106 can quantize the value transformed into the frequency domain in the transformation unit 105. That is, the quantization unit 106 can quantize the transform coefficient of the transform block generated by the transformation unit 105 to generate a quantized transform block (Quantized Transform Coefficient) having quantized transform coefficients. As a quantization method, dead zone uniform threshold quantization (DZUTQ: Dead Zone Uniform Threshold Quantization) or a quantization weighted matrix (Quantization Weighted Matrix) can be used. Alternatively, a variety of quantization methods such as improved quantization can also be used. The quantization coefficient can change according to the importance of the block or the image. The value calculated in the quantization unit 106 can be provided to the inverse quantization unit 108 and the entropy coding unit 107.

[0092] The transform unit 105 and / or the quantization unit 106 can be selectively included in the image encoding device 100. That is, the image encoding device 100 can perform at least one of transform or quantization on the residual data of the residual block, and can also skip both transform and quantization and encode the residual block. Even if the image encoding device 100 does not perform one of transform or quantization or neither transform nor quantization is performed, the block input to the entropy encoding unit 107 is generally referred to as a transform block.

[0093] The entropy coding unit 107 performs entropy coding on the input data. The entropy coding unit 107 can encode the quantized transform block and output a bit stream. That is, the entropy coding unit 107 can encode the quantized transform coefficients of the quantized transform block output from the quantization unit 106 by various encoding techniques such as entropy encoding. In addition, the entropy coding unit 107 can also encode additional information (for example, prediction mode information and quantization coefficients, etc.) required when decoding the corresponding block in the image decoding device described later. When performing entropy coding, various encoding methods such as Exponential Golomb, Context-Adaptive Variable Length Coding (CAVLC) and Context-Adaptive Binary Arithmetic Coding (CABAC) can be used.

[0094] The entropy coding unit 107 can encode various information such as residual value coefficient information of the coding unit and block type information, prediction mode information, partition unit information, prediction unit information and transmission unit information, motion vector information, reference frame information, block interpolation information, filtering information, etc. from the prediction units 102 and 103. In the entropy coding unit 107, the coefficients of the transformed block can be encoded based on various types of flags indicating non-zero coefficients, coefficients with absolute values ​​greater than 1 or 2, and coefficient signs, etc., in units of partial blocks within the transformed block. For coefficients that cannot be encoded based on the above flags alone, they can be encoded based on the absolute value of the difference between the coefficients encoded by the flags and the coefficients of the actual transformed block. In the inverse quantization unit 108 and the inverse transformation unit 109, the values ​​quantized in the quantization unit 106 are inversely quantized and the values ​​transformed in the transformation unit 105 are inversely transformed. A reconstructed block can be generated by combining the residual value (Residual) generated in the inverse quantization unit 108 and the inverse transformation unit 109 with the prediction unit predicted by the motion estimation unit, the motion compensation unit and the intra-frame prediction unit 102 included in the prediction units 102 and 103. The addition unit 110 can generate a reconstructed block by adding the prediction block generated in the prediction units 102 and 103 and the residual block generated by the inverse transformation unit 109.

[0095] The filter unit 111 can include at least one of a deblocking filter, an offset correction unit, and an adaptive loop filter (ALF, Adaptive Loop Filter).

[0096] The deblocking filter can eliminate block distortion caused by the boundaries between blocks in the reconstructed image. In order to determine whether deblocking needs to be performed, it can be determined whether the deblocking filter needs to be applied to the current block based on the pixels contained in several columns or rows contained in the block. When the deblocking filter is applied to the block, a strong filter (Strong Filter) or a weak filter (Weak Filter) can be applied according to the required deblocking filter strength. In addition, in the process of applying the deblocking filter, horizontal filtering and vertical filtering can be performed in parallel while performing vertical filtering and horizontal filtering.

[0097] The offset correction unit can perform offset correction on the image after deblocking with respect to the original image in pixel units. In order to perform offset correction on a specific image, a method of dividing the pixels included in the image into a certain number of regions and determining the region to be offset and applying the offset to the corresponding region (band offset mode, BO mode) or a method of applying the offset while considering the edge information of each pixel (edge ​​offset mode, EO mode) can be used.

[0098] Adaptive loop filtering (ALF) can be performed based on the value of comparing the filtered reconstructed image with the original image. After dividing the pixels contained in the image into specific groups, it can be determined that a filter needs to be applied to the corresponding group, and then different filters are performed on different groups. For information related to the applicability of the adaptive loop filter (ALF), the luminance signal can be transmitted according to each coding unit (CodingUnit, CU), and the shape and filter coefficient of the adaptive loop filter (ALF) applied can be different according to each block. In addition, the same form (fixed form) of the adaptive loop filter (ALF) filter can be applied regardless of the characteristics of the applicable object block.

[0099] The memory 112 can store the reconstructed block or image calculated by the filter unit 111 , and the stored reconstructed block or image can be provided to the prediction units 102 and 103 when performing inter-frame prediction.

[0100] The above-mentioned intra-picture prediction unit 102 and inter-picture prediction unit 103 can be collectively referred to as a prediction unit. The prediction unit can generate a prediction block using the surrounding pixels of the current block or a reference image that has been decoded before. As a prediction block, one or more prediction blocks can be generated in the current block. When there is one prediction block in the current block, the prediction block and the current block can have the same form. After generating the prediction block, a residual block corresponding to the difference between the current block and the prediction block can be generated. By applying a variety of different techniques such as rate-distortion optimization (RDO) to the generated residual block, the best prediction mode can be determined. For example, Formula 1 shown below can be used when performing rate-distortion optimization (RDO) calculation.

[0101] [Formula 1]

[0102]

[0103] In the above formula 1, D(), R() and J() represent the distortion caused by quantization, the bit rate of the compressed data stream and the rate-distortion (RD) cost respectively. represents the coding mode. X represents the Lagrangian multiplier, which is used as a proportional correction coefficient for matching the units between the error amount and the bit amount. In order to be selected as the best coding mode in the coding process, the j() rate-distortion (RD) cost when the phase mode is applied should be smaller than the result when other modes are applied. When calculating the rate-distortion (RD) cost, both the bit rate and the error can be considered at the same time.

[0104] Figure 2 The diagram is a schematic diagram illustrating an image decoding device applicable to one embodiment of the present invention.

[0105] See also Figure 2 The image decoding device 200 may include an entropy decoding unit 201, an inverse quantization unit 202, an inverse transformation unit 203, an addition unit 204, a filtering unit 205, a memory 206 and prediction units 207 and 208.

[0106] When the video bit stream generated by the video encoding device 100 is input to the video decoding device 200 , the input bit stream can be decoded according to a process opposite to the process performed by the video encoding device 100 .

[0107] The entropy decoding unit 201 can perform entropy decoding according to the steps opposite to the entropy encoding performed by the entropy encoding unit 107 of the image encoding device 100. For example, it can correspond to the method performed in the image encoder, and various different methods such as Exponential Golomb, context-adaptive variable length coding (CAVLC) and context-adaptive binary arithmetic coding (CABAC) can be applied. In the entropy decoding unit 201, the coefficients of the transform block can be decoded based on various types of flags indicating non-zero coefficients, coefficients with absolute values ​​greater than 1 or 2, and the signs of the coefficients in partial block units within the transform block. For coefficients that cannot be expressed based on the above flags alone, decoding can be performed based on the sum of the coefficients expressed by the flags and the signaled coefficients.

[0108] The entropy decoding unit 201 can decode information related to intra prediction and inter prediction performed in the encoder.

[0109] The inverse quantization unit 202 generates a transform block by performing inverse quantization on the quantized transform block. Figure 1 The inverse quantization unit 108 in FIG. 1 works in substantially the same manner.

[0110] The inverse transform unit 203 generates a residual block by performing an inverse transform on the transform block. At this time, the transform method can be determined based on information related to the prediction method (inter-frame or intra-frame prediction), the size and / or shape of the block, and the intra-frame prediction mode. Figure 1 The inverse transformation unit 109 in works in substantially the same manner.

[0111] The addition unit 204 generates a reconstructed block by adding the prediction block generated by the intra-frame prediction unit 207 or the inter-frame prediction unit 208 and the residual block generated by the inverse transform unit 203. Figure 1 The adding unit 110 in FIG. 1 operates in substantially the same manner.

[0112] The filter unit 205 is used to reduce various types of noise present in the reconstructed block.

[0113] The filter unit 205 can include a deblocking filter, an offset correction unit, and an adaptive loop filter (ALF).

[0114] Information on whether a deblocking filter is applied to a corresponding block or image and information on whether a strong filter or a weak filter is applied when a deblocking filter is applied can be received from the video encoding device 100. The deblocking filter of the video decoding device 200 can perform deblocking filtering on the corresponding block in the video decoding device 200 after receiving the deblocking filter related information provided from the video encoding device 100.

[0115] The offset correction unit can perform offset correction on the reconstructed image based on the offset correction type and offset value information applied to the image during encoding.

[0116] The adaptive loop filter (ALF) can be applied to the coding unit based on the adaptive loop filter (ALF) application information and adaptive loop filter (ALF) coefficient information provided by the image encoding device 100. The adaptive loop filter (ALF) information as described above can be included in a specific parameter set and provided. The filter unit 205 Figure 1 The filter section 111 in FIG. 1 works in substantially the same manner.

[0117] The memory 206 stores the reconstructed blocks generated by the adding unit 204. Figure 1 The memory 112 in FIG. 1 works in substantially the same manner.

[0118] The prediction units 207 and 208 can generate a prediction block based on the prediction block generation related information provided by the entropy decoding unit 201 and the previously decoded block or picture information provided by the memory 206 .

[0119] The prediction units 207 and 208 can include an intra-frame prediction unit 207 and an inter-frame prediction unit 208. Although not shown separately in the figure, the prediction units 207 and 208 can also include a prediction unit determination unit. The prediction unit determination unit can receive a variety of different information such as prediction unit information input from the entropy decoding unit 201, prediction mode information of the intra-frame prediction method, motion prediction related information of the inter-frame prediction method, and distinguish the prediction unit from the current decoding unit, thereby determining whether the prediction unit performs inter-frame prediction or intra-frame prediction. The inter-frame prediction unit 208 can use the information required for inter-frame prediction of the current prediction unit provided by the image encoding device 100 to perform inter-frame prediction on the current prediction unit based on information included in at least one of the previous image or the next image of the current image containing the current prediction unit. Alternatively, inter-frame prediction can also be performed based on information of a reconstructed part of the area in the current image containing the current prediction unit.

[0120] In order to perform inter-picture prediction, it is possible to determine whether the motion prediction method of the prediction unit included in the corresponding coding unit is the skip mode (Skip Mode), merge mode (Merge Mode), or advanced motion vector prediction mode (AMVP Mode) based on the coding unit.

[0121] The intra prediction unit 207 generates a prediction block using reconstructed pixels located around a block to be currently encoded.

[0122] The intra prediction unit 207 may include an adaptive intra smoothing (AIS) filter, a reference pixel interpolation unit, and a mean (DC) filter. The adaptive intra smoothing (AIS) filter is a filter for performing filtering on the reference pixels of the current block, and may adaptively determine whether the filter is applicable according to the prediction mode of the current prediction unit. The adaptive intra smoothing (AIS) filter may be performed on the reference pixels of the current block using the prediction mode of the prediction unit provided from the image encoding device 100 and the adaptive intra smoothing (AIS) filter information. When the prediction mode of the current block is a mode in which the adaptive intra smoothing (AIS) filter is not performed, the adaptive intra smoothing (AIS) filter may not be applied.

[0123] When the prediction mode of the prediction unit is a prediction unit that performs intra-frame prediction based on the pixel value interpolated from the reference pixel, the reference pixel interpolation unit of the intra-frame prediction unit 207 can generate reference pixels at fractional unit positions by interpolating the reference pixels. The generated reference pixels at the fractional unit positions can be used as prediction pixels for the pixels in the current block. When the prediction mode of the current prediction unit is a prediction mode that generates a prediction block without interpolating the reference pixels, the reference pixels can be not interpolated. When the prediction mode of the current block is the mean (DC) mode, the mean (DC) filter can generate the prediction block by filtering.

[0124] The intra-frame prediction unit 207 follows Figure 1 The intra-frame prediction unit 102 in FIG. 1 works in substantially the same manner.

[0125] The inter-frame prediction unit 208 generates an inter-frame prediction block using the reference image and motion information stored in the memory 206. Figure 1 The inter-frame prediction unit 103 in FIG. 1 works in substantially the same manner.

[0126] Next, we will refer to Figure 3 as well as Figure 4 The sample adaptive offset (SAO) compensation filter is described.

[0127] Figure 3 This is a schematic diagram for explaining the edge offset (EO) mode.

[0128] like Figure 3 As shown in the upper frame 301 in FIG. 1 , the boundary direction between adjacent pixels centered on the current pixel can be classified into one of four direction information, namely, 0, 45, 90, and 135. In addition, based on the difference in pixel values ​​between the current pixel and the adjacent pixels, as shown in FIG. Figure 3 As shown in the lower frame 302 in FIG. , it can be divided into one of four categories. Figure 3 The pixel index x-1 of each category of the lower frame 302 in the figure refers to the surrounding pixel 1 in each direction of the upper frame 301. Similarly, the pixel index x refers to the current pixel, and the pixel index x+1 refers to the surrounding pixel 2. In different categories, the sign of the offset that needs to be applied to the current pixel has been determined. For example, the sign of the offset between category 1 and category 2 is positive (+), and the sign of the offset between category 3 and category 4 is negative (-).

[0129] For the best direction among the four kinds of direction information of different current pixels, filtering can be performed by adding an offset value in the corresponding category after finding the corresponding form from the four categories according to the difference between the pixel values ​​of the surrounding pixels. In addition, if the form corresponding to the difference between the pixel values ​​of the current pixel and the surrounding pixels does not belong to the form Figure 3 Within the scope shown in the figure, no filtering may be performed for the corresponding current pixel.

[0130] Figure 4 It is a schematic diagram for explaining the band offset (BO) mode.

[0131] The band offset (BO) mode can divide the pixel range based on the bit depth of the input image (for example, the pixel range of an 8-bit image is 0 to 255) into 32 band areas and determine 4 consecutive band areas as band offset objects. If the current pixel value belongs to 4 consecutive band areas, filtering can be performed by adding the offset value of the corresponding band area to the current pixel value.

[0132] exist Figure 4 In the illustrated example, after dividing the pixel range based on the bit depth of the input image into 32 strip areas, it is decided to use strip areas 10 to 13 as strip offset objects. If the pixel value of the current pixel belongs to any of the 10 to 13 strip areas, filtering can be performed by adding the offset value of the corresponding strip area to the pixel value of the current pixel.

[0133] Figure 5This is a schematic diagram for explaining a method of encoding sample adaptive offset (SAO) information in the video encoding device 100.

[0134] In step S501, information (sample adaptive offset (SAO) merge information) indicating whether to directly use the sample adaptive offset (SAO) information of the left coding block and / or the upper coding block can be encoded based on the coding block (current block) performing sample adaptive offset (SAO). First, the sample adaptive offset merge (SAO Merge)_left information is encoded. When the corresponding information is true, the sample adaptive offset merge (SAO Merge)_upper information is not encoded and jumps to step S502. When the sample adaptive offset merge (SAO Merge)_left information is false, the sample adaptive offset merge (SAO Merge)_upper information is encoded and jumps to step S502.

[0135] In step S502, it is determined whether the SAO Merge_left information and the SAO Merge_top information are both false. If both information are false, the process goes to step S503. If either one is true, the process ends.

[0136] In step S503, the CIdx information is set to an initial value of 0. When CIdx is 0, it represents the luminance (Luma) component, when CIdx is 1, it represents the chrominance (Cb) component, and when CIdx is 2, it represents the chrominance Cr component. First, in step S503, it is determined whether CIdx is 0. If it is 0, it jumps to step S504, and if it is not 0, it jumps to step S505.

[0137] In step S504, the sample adaptive offset (SAO) mode information of the luma component is encoded. The sample adaptive offset (SAO) mode information can represent information for indicating which mode of edge offset (EO) mode, band offset (BO) mode and sample adaptive offset (SAO) inactive mode is performed on the current block.

[0138] In step S505, determine whether CIdx is 1. If it is 1, jump to step S506; if not, end the step.

[0139] In step S506, the sample adaptive offset (SAO) mode information of the color difference component is encoded. The sample adaptive offset (SAO) mode information can represent information for indicating which mode of the edge offset (EO) mode, the band offset (BO) mode, and the sample adaptive offset (SAO) inactive mode is performed on the current block. Among them, the Cb and Cr components of the color difference component can share the same sample adaptive offset (SAO) mode information.

[0140] In step S507, when the sample adaptive offset (SAO) mode of the current block is the sample adaptive offset (SAO) non-action mode, jump to step S516, and when the sample adaptive offset (SAO) mode of the current block is the band offset (BO) mode or the edge offset (EO) mode, jump to step S508.

[0141] In step S508, the four offset absolute value information is encoded. In the edge offset (EO) mode, the four offsets represent offsets of different categories. In the edge offset (EO) mode, the four offsets represent offsets of four consecutive different strip areas.

[0142] In step S509, it is determined whether the sample adaptive offset (SAO) mode of the current block is the band offset (BO) mode. If it is the band offset (BO) mode, the process jumps to step S510; if it is not the band offset (BO) mode, the process jumps to step S512.

[0143] In step S510, the sign information of the four offsets of the band offset (BO) mode is encoded.

[0144] In step S511, an initial strip area position indicating which strip area interval of four consecutive strip area intervals in the strip offset (BO) mode starts is encoded.

[0145] In step S512, it is determined whether CIdx is 0. If it is 0, the process jumps to step S513; if it is not 0, the process jumps to step S514.

[0146] In step S513, direction information of an edge offset (EO) pattern of the luminance component is encoded.

[0147] In step S514, determine whether CIdx is 1. When CIdx is not 1, end the step; when CIdx is 1, jump to step S515.

[0148] In step S515, the direction information of the edge offset (EO) mode of the color difference component is encoded, wherein the Cb and Cr components of the color difference component share the same direction information.

[0149] In step S516, the current value of CIdx is increased by 1 and the process jumps to step S503 to repeat the above process.

[0150] Figure 6 This is a schematic diagram for explaining a method of decoding sample adaptive offset (SAO) information in the video decoding device 200 .

[0151] In step S601, Figure 5 The sample adaptive offset merging (SAO Merge) information encoded in step S501 is decoded.

[0152] In step S602, it is determined whether the SAO Merge_top information and the SAO Merge_left information are both false. If both information are false, the process goes to step S603. If either one is true, the process ends.

[0153] In step S603, the CIdx value is initialized to 0, and it is determined whether the corresponding CIdx value is 0. When the CIdx value is 0, the process jumps to step S604, and when it is not 0, the process jumps to step S605.

[0154] In step S604, Figure 5 The sample adaptive offset (SAO) mode information of the encoded luminance component in step S504 is decoded.

[0155] In step S605, determine whether CIdx is 1. If it is 1, jump to step S606; if not, end the step.

[0156] In step S606, Figure 5 The sample adaptive offset (SAO) mode information of the color difference component encoded in step S506 is decoded. The Cb and Cr components of the color difference component can share the same sample adaptive offset (SAO) mode information.

[0157] In step S607, when the sample adaptive offset (SAO) mode of the current block is the sample adaptive offset (SAO) non-action mode, jump to step S616, and when the sample adaptive offset (SAO) mode of the current block is the band offset (BO) mode or the edge offset (EO) mode, jump to step S608.

[0158] In step S608, Figure 5 The 4 offset absolute value information encoded in step S508 is decoded.

[0159] In step S609, it is determined whether the sample adaptive offset (SAO) mode of the current block is the band offset (BO) mode. When the sample adaptive offset (SAO) mode of the current block is the band offset (BO) mode, jump to step S610; when it is not the band offset (BO) mode, jump to step S612.

[0160] In step S610, Figure 5 In step S510, the symbol information of the four offsets of the encoded band offset (BO) mode is decoded.

[0161] In step S611, Figure 5 The initial strip area position of which of the four consecutive strip area intervals encoded in step S511 for indicating the strip offset (BO) mode starts is decoded.

[0162] In step S612, it is determined whether CIdx is 0. If CIdx is 0, the process jumps to step S613; if CIdx is not 0, the process jumps to step S614.

[0163] In step S613, Figure 5 Step S513 in the above step decodes the direction information of the edge offset (EO) mode of the encoded luminance component.

[0164] In step S614, determine whether CIdx is 1. When CIdx is not 1, end the step; when CIdx is 1, jump to step S615.

[0165] In step S615, Figure 5 The directional information of the edge offset (EO) mode of the chrominance component encoded in step S515 is decoded. The Cb and Cr components of the chrominance component can share the same directional information.

[0166] In step S616, the current value of CIdx is increased by 1 and the process jumps to step S603 to repeat the above process.

[0167] In the following description, it is assumed that the bit depth of the input image is 8 bits.

[0168] Figure 7 A schematic diagram for explaining the limiting range in an arbitrary region and the available band area in the band offset (BO) mode.

[0169] The clipping range can be determined by searching for the maximum and minimum values ​​of the original pixels in any area unit such as an image, parallel block, stripe or block unit. The clipping range can be applied to the strip area interval of the strip offset (BO) mode of the sample adaptive offset (SAO).

[0170] exist Figure 7 In the input image with 8-bit depth, the minimum pixel value is 0 and the maximum pixel value is 255. After scanning the original pixel values ​​in the corresponding area in arbitrary area units, the maximum and minimum pixel values ​​contained in the corresponding area can be determined. Figure 7 As shown in (a) in the figure, the maximum value of the pixel value in any area is the clipping maximum value, and the minimum value is the clipping minimum value.

[0171] The clipping process can be performed in the video encoding device 100 after the prediction units 102 and 103, after the addition unit 110, and / or after the filtering unit 111. In the video encoding device 200, the clipping process can be performed after the prediction units 207 and 208, after the addition unit 204, and / or after the filtering unit 205.

[0172] In the sample adaptive offset (SAO) band offset (BO) mode as described above, the entire pixel range (0 to 255) is divided into 32 bands, and the offset information of the four bands to which filtering is applied is used. At this time, if the clipping range is smaller than the entire pixel range, filtering can be performed with only the bands within the clipping range considered.

[0173] Figure 7 (b) in the figure shows the situation where the whole pixel range is divided into 32 band areas. The band areas after light and dark processing are the band areas corresponding to the limiting range of the current area, and represent the band area intervals to which the band offset (BO) mode can be applied.

[0174] exist Figure 7 In (b), since the pixels in the current area belonging to the bands 1 to 8 and the bands 27 to 32 do not exist, the corresponding bands do not need to be considered as bands in the sample adaptive offset (SAO) band offset (BO) mode. In addition, when the maximum value and the minimum value within the clipping range are the same, the reference can be omitted. Figure 1 as well as Figure 2 In addition, when the difference between the maximum value and the minimum value within the clipping range is less than N (N is an integer greater than 0), it is possible not to perform the reference Figure 1 as well as Figure 2 The image is reconstructed by using arbitrary information such as the average of the maximum and minimum values ​​of the clipping by performing all the processes described. The corresponding N value can be transmitted through the upper header of the current area. When the available strip area intervals of the sample adaptive offset (SAO) strip offset (BO) mode are less than 4, the number of transmitted offset values ​​can be less than 4.

[0175] Figure 8 This is a schematic diagram illustrating a state where the available band area section of the band offset (BO) mode is further subdivided into 32 band area sections.

[0176] like Figure 8 As shown in (a) of FIG. 1 , when the band area of ​​the band offset (BO) mode corresponding to the arbitrary intra-regional limiting range is the band area 9 to the band area 26, as shown in FIG. Figure 8 As shown in (b) in FIG. 1 , the interval of the available band area (band area 9 to band area 26) can be further divided into 32 band area intervals.

[0177] like Figure 8 As shown in (b) of FIG. 1 , when the available strip area interval is further divided into 32 strip area intervals for encoding / decoding, the reference Figure 5 as well as Figure 6 Sample Adaptive Offset (SAO) information encoding and decoding algorithms are described. In the above case, the range of a strip area can be further subdivided, so that more precise strip area offset filtering can be achieved.

[0178] Fig. 9 This is a diagram for explaining a method of correcting residual block coefficients using a clipping range in arbitrary area units. Fig. 9 The coefficient correction of the residual block described above may be performed or not performed in arbitrary area units.

[0179] exist Fig. 9 , the numbers marked in the internal grids of the original block 901, the prediction block 902, the residual block 903, and the final residual block 904 represent the pixel values ​​of the corresponding pixels. The residual block 903 can be generated by subtracting the pixel values ​​of the prediction block 902 from the pixel values ​​of the original block 910. The final residual block 904 can be generated by correcting the residual block 903.

[0180] Assuming that the minimum pixel value in the original block 901 or any region including the original block 901 is 50 and the maximum pixel value is 100, the clipping range of the original block 901 is 50 to 100. The pixels in the original block 901 that have been subjected to light and dark processing represent pixels having the maximum value or the minimum value of the current clipping range.

[0181] The residual coefficient correction of the residual block 903 can be performed on the pixels in the residual block 903 that have been subjected to shading corresponding to the pixel positions in the original block 901 that have been subjected to shading. Specifically, the average value of the pixel values ​​of the residual pixels in the residual block 903 that have not been subjected to shading (in Fig. 9Next, the pixels in the residual block 903 that have been subjected to light and dark processing are replaced with the average value calculated above. Through the above process, the final residual block 904 can be generated. In addition, other statistical values ​​such as maximum value, minimum value, median value, most frequent value, weighted average value, etc. can be used to replace the average value suitable for residual coefficient correction.

[0182] Fig.10 This is a schematic diagram for explaining a method of encoding clipping information in units of pictures.

[0183] In step S1001, the maximum and minimum values ​​of the pixel values ​​in the image are explored with the current image unit. In step S1002, the corresponding maximum and minimum values ​​are encoded. The maximum and minimum values ​​can be encoded directly. Alternatively, the difference between the maximum and minimum values ​​can be encoded after the minimum value is encoded. Alternatively, the difference between the maximum and minimum values ​​can be encoded after the maximum value is encoded. At this time, the encoding information of the maximum and minimum values ​​can be transmitted through the image layer or the slice layer. The above-mentioned image unit can be changed to an arbitrary regional unit. The above-mentioned arbitrary regions can be such as slices, parallel blocks, coding tree units (CTUs) and coding units (CUs).

[0184] Fig.11 1 is a schematic diagram for explaining a method for decoding clipping information in picture units. In step S1101, maximum value and minimum value information of a current picture can be decoded. The maximum value and minimum value information can be included in a transmission unit transmitted from the video encoding device 100. The transmission unit can be a picture layer or a slice layer. The maximum value and minimum value information can be decoded according to the reference Fig.10 The above-mentioned picture unit can be changed to any region unit. The above-mentioned arbitrary region can be, for example, a slice, a parallel block, a coding tree unit (CTU), and a coding unit (CU).

[0185] Fig.12It is a schematic diagram for explaining a method for performing encoding of limiting information in arbitrary block units. In step S1201, the maximum and minimum pixel values ​​in the block are explored in the current block unit. In step S1202, the corresponding maximum and minimum values ​​are encoded. The maximum and minimum values ​​can be encoded directly. Alternatively, the difference between the maximum and minimum values ​​can be encoded after the minimum value is encoded. Alternatively, the difference between the maximum and minimum values ​​can be encoded after the maximum value is encoded. At this time, the encoding information of the maximum and minimum values ​​can be transmitted in block units. The above-mentioned block units can be arbitrary encoding block units or prediction block units, etc.

[0186] Fig.13 1 is a schematic diagram for explaining a method for decoding clipping information in arbitrary block units. In step S1301, the maximum value and minimum value information of the current block can be decoded. The maximum value and minimum value information can be included in the transmission unit transmitted from the image encoding device 100. The transmission unit can be an arbitrary coding block unit or a prediction block unit. The maximum value and minimum value information can be decoded according to the reference Fig.12 Encode and transmit in a described manner.

[0187] Fig.14 This is a sequence diagram for explaining a method for encoding sample adaptive offset (SAO) information based on a clipping range according to one embodiment of the present invention.

[0188] The description of steps S1401 to S1406 is the same as that of Figure 5 The descriptions of steps S501 to S506 in are the same.

[0189] In step S1407, when the sample adaptive offset (SAO) mode of the current block is the sample adaptive offset (SAO) non-action mode, jump to step S1417, and when it is one of the band offset (BO) mode or edge offset (EO) mode of the current block, jump to step S1408.

[0190] In step 1408, it is determined whether the sample adaptive offset (SAO) mode of the current block is the band offset (BO) mode. If it is the band offset (BO) mode, jump to step S1409; if it is not the band offset (BO) mode, jump to step S1412.

[0191] In step S1409, an initial strip area position indicating which strip area interval of the continuous strip area interval in the strip offset (BO) mode starts is encoded.

[0192] In step S1410, M offset absolute value information for the band offset (BO) mode is encoded. As described above, the available band area interval of the band offset (BO) mode may change according to the limit range. Therefore, according to the initial band area position, the number of offsets that need to be transmitted may also change. In addition, according to the number of available band areas, the number of offsets that need to be transmitted may also change. The above M represents the number of offsets that need to be transmitted, which may change according to the limit range. For example, in Figure 7 In the example illustrated in , if the initial strip area position is the 25th strip area, since the available strip areas include two strip areas, namely the 25th strip area and the 26th strip area, only two offset values ​​can be transmitted.

[0193] In step S1411, offset sign information corresponding to the offset number (M) transmitted in step S1410 can be encoded.

[0194] In step S1412, determine whether CIdx is 0. If it is 0, jump to step S1413; if it is not 0, jump to step S1415.

[0195] In step S1413, 4 offset absolute value information used in edge offset (EO) mode is encoded.

[0196] In step S1414, direction information of an edge offset (EO) pattern of the luminance component is encoded.

[0197] In step S1415, determine whether CIdx is 1. If not, end the step; if so, jump to step S1416.

[0198] In step S1416, the direction information of the edge offset (EO) mode of the color difference component is encoded, wherein the Cb and Cr components of the color difference component can share the same direction information.

[0199] In step S1417, the value of CIdx is increased by 1 and the process jumps to step S1403 to repeat the process described above.

[0200] Fig.15 This is a sequence diagram for explaining a method for decoding sample adaptive offset (SAO) information based on a clipping range to which an embodiment of the present invention is applied.

[0201] The description of steps S1501 to S1506 is the same as that of Figure 6 The descriptions of steps S601 to S606 in are the same.

[0202] In step S1507, when the sample adaptive offset (SAO) mode of the current block is the sample adaptive offset (SAO) non-action mode, jump to step S1516, and when the sample adaptive offset (SAO) mode of the current block is the band offset (BO) mode or the edge offset (EO) mode, jump to step S1508.

[0203] In step 1508, it is determined whether the sample adaptive offset (SAO) mode of the current block is the band offset (BO) mode. If it is the band offset (BO) mode, jump to step S1509; if it is not the band offset (BO) mode, jump to step S1512.

[0204] In step S1509, Fig.14 The initial strip area position of the encoded strip offset (BO) mode is decoded in step S1409.

[0205] In step S1510, Fig.14 The M offset absolute value information used in the encoded band offset (BO) mode is decoded in step S1410.

[0206] In step S1511, Fig.14 The M offset symbol information encoded in step S1411 is decoded.

[0207] In step S1512, determine whether CIdx is 0. If it is 0, jump to step S1513; if it is not 0, jump to step S1515.

[0208] In step S1513, Fig.14 The four offset absolute value information used in the edge offset (EO) mode encoded in step S1413 are decoded.

[0209] In step S1514, Fig.14 Step S1414 in the above step decodes the directional information of the edge offset (EO) mode of the encoded luminance component.

[0210] In step S1515, determine whether CIdx is 1. If not, end the step; if so, jump to step S1516.

[0211] In step S1516, the direction information of the edge offset (EO) mode of the color difference component is decoded, wherein the Cb and Cr components of the color difference component can share the same direction information.

[0212] In step S1517, the value of CIdx is increased by 1 and the process jumps to step S1503 to repeat the process described above.

[0213] Fig.16 This is a schematic diagram for explaining a method for determining a clipping band region to which the present invention is applied.

[0214] like Fig.16 The illustrated example can determine the available strip area interval in the strip offset (BO) mode using the best clipping strip area among pre-set clipping strip areas in any area unit such as the current block, strip, parallel block, block, etc.

[0215] exist Fig.16 In the example illustrated in (a), the minimum pixel value position is 0, and the maximum pixel value position is 255. The predetermined clipping strip area refers to each interval obtained by dividing the range from the maximum pixel value to the minimum pixel value into N (N>1, N is an integer) intervals. The image encoding device 100 and the image decoding device 200 can share pre-agreed information about the clipping strip area. Alternatively, the image encoding device 100 can transmit information related to the clipping strip area to the image decoding device 200. Alternatively, the image encoding device 100 and the image decoding device 200 can use a lookup table to manage multiple variations related to determining the clipping strip area, and the image encoding device 100 can only transmit index information related to the lookup table to the image decoding device 200.

[0216] exist Fig.16 In the example shown in (a), there are 8 clipping bands in total. Clipping band 8 represents the entire pixel interval (0-255), and clipping bands 1 to 7 represent the pixel intervals (0-63), (32-95), (64-127), (96-159), (128-191), (160-223), and (192-255). Fig.16 In the example shown in (a), the clipping band area is set in a manner that overlaps with the adjacent clipping band area. However, it is not limited to this, and the clipping band area can also be set in a manner that does not overlap with the adjacent clipping band area. Alternatively, it can also be set in a manner that a part of the clipping band area overlaps with other clipping band areas and a part of the clipping band area does not overlap with other clipping band areas.

[0217] After scanning the pixel values ​​in the corresponding area in the current image, strip, parallel block or any block unit, it can be determined which of the pre-set clipping strip areas the range of the pixel values ​​in the corresponding area belongs to. In the example shown in (a) of FIG16 , it is determined that all the pixels in the current area are distributed in the clipping strip area 5. Fig.16As shown in (b) of FIG. 1 , the clipping band region 5 corresponds to the 17th to 24th band regions among the 32 band regions in the band offset (BO) mode. That is, the band region interval available in the band offset (BO) mode of the current region is Fig.16 The interval of the 17th to 24th strip regions that have been subjected to light and dark processing in (b) of FIG. In the current region, there are no pixels belonging to the 1st to 16th strip regions and the 25th to 32nd strip regions of the strip offset (BO) mode. Therefore, filtering can be performed without considering the corresponding strip regions as strip regions of the strip offset (BO) mode.

[0218] Fig.17 It is a schematic diagram for illustrating a method for performing encoding of limiting information in image units. In step S1701, the maximum value and the minimum pixel value of the pixel value in the image are explored in the current image unit. In step S1702, the limiting strip area index information containing the corresponding maximum value and minimum value is encoded. At this time, the limiting strip area index information can be transmitted through the image layer or the strip layer, etc. The limiting strip area index information can be information related to one limiting strip area. Alternatively, the limiting strip area index information can be information related to two limiting strip areas. For example, when there is no limiting strip area that contains both the maximum value and the minimum value of the current image, the limiting strip area index information can include information related to the limiting strip area containing the maximum value and information related to the limiting strip area containing the minimum value.

[0219] Fig.18 This is a schematic diagram for explaining a method of decoding slice information in units of pictures.

[0220] In step S1801, the slice-strip region index information of the current image can be decoded. The slice-strip region index information can be included in a transmission unit transmitted from the image encoding device 100. The transmission unit can be a picture layer or a slice layer. The slice-strip region index information can be decoded according to the reference Fig.17 Encode and transmit in a described manner.

[0221] Fig.19 This is a schematic diagram for explaining a method of encoding slice information in arbitrary block units.

[0222] In step S1901, the maximum value and the minimum value in the block are explored in the current block unit. In step S1902, the clipping strip area index information containing the corresponding maximum value and minimum value is encoded. At this time, the clipping strip area index information can be transmitted in block units. For example, the clipping strip area index information can be transmitted in any coding block unit or prediction block unit. The clipping strip area index information can be information related to one clipping strip area. Or, the clipping strip area index information can be information related to two clipping strip areas. For example, when there is no clipping strip area that contains both the maximum value and the minimum value of the current block, the clipping strip area index information can include information related to the clipping strip area containing the maximum value and information related to the clipping strip area containing the minimum value.

[0223] Fig. 20 The present invention is a schematic diagram for explaining a method for decoding the clipping information in arbitrary block units. In step S2001, the clipping strip region index information of the current block can be decoded. The clipping strip region index information can be included in the transmission unit transmitted from the image encoding device 100. The above-mentioned transmission unit can be, for example, an arbitrary coding block unit or a prediction block unit. The above-mentioned clipping strip region index information can be decoded according to the reference Fig.19 Encode and transmit in a described manner.

[0224] Fig.21 It is a schematic diagram for explaining the slice application position to which the present invention is applied in the video encoding device 100 and the video decoding device 200.

[0225] exist Fig.21 (a) of FIG. 1 shows the position where the clipping is applied in the video encoding device 100. Fig.21 As shown in (a) of FIG. 1 , the clipping of the present invention can be applied to the prediction block generated by the prediction unit, can be applied to the reconstructed pixels before passing through the loop filter unit, and can also be applied after passing through the loop filter unit. Fig.21 As shown in (a) of FIG. 1 , it is also possible to apply the deblocking filter in the loop filter unit. It is possible to apply the clipping to all the clipping positions as described above, or not to apply the clipping to some of the positions. However, after the clipping Fig.21 The clipping position indicated by the shaded arrow in (a) is the clipping position that must be applied after passing through the loop filter unit.

[0226] exist Fig.21 (b) of FIG. 2 shows the position where the clipping is applied in the video decoding device 200. Fig.21As shown in (b) of FIG. 1 , the clipping of the present invention can be applied to the reconstructed pixels after passing through the prediction unit, can be applied to the reconstructed pixels before passing through the loop filter unit, and can be applied to the reconstructed pixels after passing through the loop filter unit. Fig.21 As shown in (c) of FIG. 1 , it is also possible to apply the clipping after passing through the deblocking filter in the loop filter unit. The clipping can be applied to all the clipping positions as described above, or not to some of the positions. However, the image decoding device 200 must apply the clipping at the same position as the position where the image encoding device 100 performs the clipping. In addition, after the clipping Fig.21 The clipping position indicated by the shaded arrow in (b) is the clipping position that must be applied after passing through the loop filter section.

[0227] Fig. 22 This is a schematic diagram for explaining a method of determining offset values ​​in different categories in consideration of a clipping range in an edge offset (EO) mode.

[0228] The sign (positive or negative) information of each offset of the edge offset (EO) mode is preset according to different categories. In the image encoding device 100, the optimal offset value can be determined according to different categories using a variety of methods such as rate-distortion optimization (RDO). However, if the determined offset value exceeds the clipping range when applied to the current pixel, the corresponding offset value can be ignored from the perspective of rate-distortion optimization (RDO). That is, after determining the clipping range in arbitrary area units, the offset range can be limited based on this.

[0229] For example, assume that the clipping range of the current area is 100 to 200 and the offset range is -7 to 7. In addition, assume that the pixel values ​​of the surrounding pixels of any pixel in the current area are all 199, and assume that the pixel value of the current pixel is 197. Under the above assumptions, because the offset object pixel belongs to category 1, the sign of the offset is positive (+). When the offset value applied to the current pixel is 5, the filtering result value of the current pixel is 202, which is a value that exceeds the clipping range of the current area. In the case described above, the clipping range can be limited to -7 to 3. From the perspective of rate-distortion optimization (RDO), the offset can be determined by judging the optimal offset value within the range of -7 to 3. Therefore, in cases such as Fig. 22 In the illustrated example, by considering only the offset value in which the pixel range to which the offset is added is within the clipping range, it is possible to determine the optimum offset value within the corresponding range.

[0230] Fig.23 This is a schematic diagram for explaining a method of determining an offset in consideration of a clipping range when determining an offset value for each band area in the band offset (BO) mode.

[0231] In the band offset (BO) mode, the offset values ​​of four consecutive bands can be determined separately. When determining the offset values ​​of each band, the offset values ​​of the filtered pixels that exceed the clipping range can be ignored from the perspective of rate distortion cost (RDO). For the bands that exceed the minimum or maximum values ​​of the clipping range among the four consecutive bands, the offset range can be changed while taking the clipping range into consideration. This means that by determining the clipping range in arbitrary area units, the offset range can be limited for different bands.

[0232] exist Fig.23 In the illustrated example, when the target strip areas of the strip offset (BO) mode are strip areas 9 to 12, strip area 9 is a strip area including the minimum clipping value. Therefore, the offset whose current pixel value added to the offset value of strip area 9 is less than the minimum clipping value can be not considered as the optimal offset. Alternatively, when the target strip areas of the strip offset (BO) mode are strip areas 13 to 16, the offset whose current pixel value added to the offset value of strip area 16 is greater than the maximum clipping value can be not considered as the optimal offset.

[0233] Fig.24 is a schematic diagram for explaining a method of encoding sample adaptive offset (SAO) information.

[0234] The description of steps S2401 to S2407 is the same as that of Figure 5 The descriptions of steps S501 to S507 are the same.

[0235] In step S2408, the 4 offset absolute value information are encoded.

[0236] In step 2409, determine whether the sample adaptive offset (SAO) mode of the current block is the band offset (BO) mode. If it is the band offset (BO) mode, jump to step S2410; if it is not the band offset (BO) mode, jump to step S2412.

[0237] In step S2410, N offset sign information is encoded. N can be 3 or 4. In the above step S2408, 4 offset absolute value information is encoded, and in step S2410, N sign information is encoded. When a part of the 4 continuous strip areas contains the maximum or minimum value of the clipping, for the offset value of the corresponding strip area, the offset of the filtered current pixel value beyond the clipping range can be ignored. Therefore, for the strip area containing the maximum clipping value, the positive (+) sign information of a part of the offset can be ignored, and for the strip area containing the minimum clipping value, the negative (-) sign information of a part of the offset can be ignored.

[0238] For example, assuming that the clipping range of the current region is 100 to 200, the four continuous strip regions are strip regions 12 to strip regions 15, and the range of current pixels that need to be filtered in the strip offset (BO) mode is 96 to 135. In addition, when the range of actual current pixels that need to be filtered in strip region 12 is 101 to 103, values ​​below -4 may not be considered as the range of the offset. Among them, when the offset of the strip region 12 encoded in step S2408 is 4 or more, in step S2410, the sign information may not be encoded. At this time, the offset sign of the strip region 12 can be determined as positive (+) information.

[0239] In step S2411, an initial strip area position indicating which strip area interval of the continuous strip area interval in the strip offset (BO) mode starts is encoded.

[0240] In step S2412, determine whether CIdx is 0. When CIdx is 0, jump to step S2413; when it is not 0, jump to step S2414.

[0241] In step S2413, direction information of an edge offset (EO) pattern of the luminance component is encoded.

[0242] In step S2414, determine whether CIdx is 1. When CIdx is not 1, end the step; when it is 1, jump to step S2415.

[0243] In step S2415, the direction information of the edge offset (EO) mode of the color difference component is encoded, wherein the Cb and Cr components of the color difference component can share the same direction information.

[0244] In step S2416, the value of CIdx is increased by 1 and the process jumps to step S2403 to repeat the process described above.

[0245] Fig.25 is a schematic diagram for explaining a method of performing decoding of sample adaptive offset (SAO) information.

[0246] The description of steps S2501 to S2507 is the same as that of Figure 6 The descriptions of steps S601 to S607 are the same.

[0247] In step S2508, the 4 offset absolute value information are decoded.

[0248] In step 2509, determine whether the sample adaptive offset (SAO) mode of the current block is the band offset (BO) mode. If it is the band offset (BO) mode, jump to step S2510; if it is not the band offset (BO) mode, jump to step S2512.

[0249] In step S2510, N offset symbol information is decoded. N can be 3 or 4.

[0250] In step S2511, an initial strip area position indicating which strip area interval of the continuous strip area interval in the strip offset (BO) mode starts is decoded.

[0251] In step S2512, determine whether CIdx is 0. When CIdx is 0, jump to step S2513; when it is not 0, jump to step S2514.

[0252] In step S2513, direction information of the edge offset (EO) mode of the luminance component is decoded.

[0253] In step S2514, determine whether CIdx is 1. When CIdx is not 1, end the step; when it is 1, jump to step S2515.

[0254] In step S2515, the direction information of the edge offset (EO) mode of the color difference component is decoded, wherein the Cb and Cr components of the color difference component can share the same direction information.

[0255] In step S2516, the value of CIdx is increased by 1 and the process jumps to step S2503 to repeat the process described above.

[0256] Fig.26 It is a schematic diagram for explaining a process of performing decoder-side motion vector derivation (DMVD) based on a clipping range according to another embodiment of the present invention.

[0257] Typically, an image encoding device encodes information related to motion vectors and includes it in a bitstream and transmits it to an image decoding device. The image encoding device can reconstruct the motion vectors by decoding the bitstream. In the case of decoder-side motion vector derivation (DMVD), information related to motion vectors can be derived on the image decoding device side using a specific algorithm, thereby replacing the method of explicitly encoding information related to motion vectors in the bitstream. For example, the specific algorithm can be a template matching algorithm.

[0258] In the present invention, the image decoding device can perform decoder-side motion vector derivation (DMVD) based on the clipping characteristics. For example, the decoder-side motion vector derivation (DMVD) can be effectively performed by identifying a region in a reference image having the same or similar clipping characteristics as the current block or the region to which the current block belongs. The clipping characteristics can refer to a clipping range, but are not limited thereto, and can include a variety of information related to clipping derived from the clipping range.

[0259] Specifically, in order to perform decoder-side motion vector derivation (DMVD), it is necessary to determine an initial motion vector, and the clipping characteristics can be taken into account when determining the initial motion vector. Fig.26 In the illustrated example, if the clipping characteristic of the current block is B, the region with the clipping characteristic B can be identified from the region within the reference image, and then the initial motion vector (the first or second initial motion vector) is determined based on the region.

[0260] Since the clipping characteristics of similar blocks are also similar, the best initial motion vector can be determined with a very high probability when the present invention is applied. Therefore, when the present invention is applied, the complexity of motion estimation of the image decoding device performing decoder-side motion vector derivation (DMVD) can be significantly reduced.

[0261] In another embodiment of the present invention, the entropy coding efficiency of syntax elements can be improved by applying the clipping characteristics to entropy coding and / or decoding. Specifically, the initial probability of a specific syntax element can be adaptively selected in consideration of the clipping characteristics of any image region.

[0262] For example, when the clipping range of the coding block is wide, that is, when the difference between the maximum value and the minimum value is large, the prediction accuracy of the corresponding coding block is relatively low. Because the probability of the transform coefficient containing the residual block being non-0 is high when the prediction accuracy is relatively low, the probability that the CBG_Flag of the corresponding coding block is "1" is relatively higher than the probability of being "0".

[0263] In contrast, when the clipping range of the coding block is narrow, that is, when the difference between the maximum value and the minimum value is small, the prediction accuracy of the corresponding coding block is relatively high. Because the probability of the transform coefficient containing the residual block being non-0 is low when the prediction accuracy is relatively high, the probability that the CBG_Flag of the corresponding coding block is "0" is relatively higher than the probability of being "1".

[0264] Considering the above statistical characteristics, for coding blocks with a wider clipping range, initial probability information with a relatively high probability of CBF_Flag being "1" can be used. On the contrary, for coding blocks with a narrower clipping range, initial probability information with a relatively high probability of CBF_Flag being "0" can be used.

[0265] The CBF_Flag can be a flag for indicating whether the corresponding block contains a transform coefficient that is not 0. When CBF_Flag is 1, it means that the corresponding block contains at least one transform coefficient that is not 0. When CBF_Flag is 0, it means that the corresponding block does not contain a transform coefficient that is not 0.

[0266] As another example, when the clipping range of a coding block is wider, the inter-picture prediction has a relatively higher prediction accuracy for the corresponding coding block. Therefore, the probability that the PredModeFlag of the corresponding coding block is "1" is relatively higher than the probability that it is "0".

[0267] In contrast, when the clipping range of a coding block is narrow, the intra-picture prediction has a relatively high prediction accuracy for the corresponding coding block. Therefore, the probability that the PredModeFlag of the corresponding coding block is "0" is relatively higher than the probability that it is "1".

[0268] Considering the statistical characteristics as described above, for coding blocks with a wider clipping range, initial probability information with a relatively high probability of PredModeFlag being "1" can be used. On the contrary, for coding blocks with a narrower clipping range, initial probability information with a relatively high probability of PredModeFlag being "0" can be used.

[0269] The PredModeFlag can be a flag for indicating a prediction method applicable to the corresponding block. When PredModeFlag is 1, it means that inter-picture prediction is applied to the corresponding block. When PredModeFlag is 0, it means that intra-picture prediction is applied to the corresponding block.

[0270] As described above, the context of a specific syntax element can be optimized in consideration of the characteristics related to the clipping range. The specific syntax element is not limited to CBF_Flag and PredModeFlag, and adaptive context probability based on the clipping range can also be applied to other syntax elements.

[0271] Fig. 27 This is a sequence diagram for explaining a process of performing deblocking filtering based on a clipping range according to another embodiment of the present invention.

[0272] like Fig. 27As shown in the figure, block A and block B are adjacent to each other. Assume that the clipping range of block A is 50 to 160, and the clipping range of block B is 90 to 200. Fig. 27 In the illustrated example, the clipping range of block A overlaps with the clipping range of block B within a range of 90 to 160.

[0273] In the present invention, deblocking filtering is adaptively performed based on the characteristics of the clipping range of block A and the clipping range of block B. Specifically, deblocking filtering is adaptively performed based on the overlapping information of the clipping range of block A and the clipping range of block B.

[0274] For example, when the clipping range of block A and the clipping range of block B do not overlap each other, since the two blocks are included in different regions, it is not suitable to filter the boundary between the two blocks. Therefore, in the above case, filtering can be performed without performing filtering on the boundary between block A and block B. Alternatively, even when filtering is performed, the influence on pixels in adjacent blocks can be reduced by setting a higher (or extremely high) filter coefficient for pixels belonging to the same block as the filtering target pixel.

[0275] In the case where the clipping range of block A and the clipping range of block B partially overlap, a higher filter coefficient can be set for the pixel belonging to the same block as the filtering object pixel. How high the filter coefficient is set can be adaptively determined according to the degree of overlap of the clipping ranges. For example, the lower the degree of overlap of the clipping ranges, the higher the filter coefficient can be set for the pixel belonging to the same block as the filtering object pixel.

[0276] In still another embodiment to which the present invention is applicable, the prediction mode can be used restrictively in consideration of the clipping characteristics.

[0277] For example, when the clipping range of a coding block is wide, it can be determined that all predictions including intra-picture prediction and inter-picture prediction can be used for the corresponding coding block.

[0278] On the contrary, when the clipping range of the coding block is narrow, it can be determined that only the mean value (DC) mode or the planar mode in intra-picture prediction and / or the merge mode in inter-picture prediction can be used for the corresponding coding block.

[0279] Regarding the application of the intra-picture prediction mode, when the clipping characteristics of the upper neighboring block are similar to the clipping characteristics of the current block, the intra-picture prediction with reference to the pixels of the upper neighboring block can be performed. On the contrary, when the clipping characteristics of the left neighboring block are similar to the clipping characteristics of the current block, the intra-picture prediction with reference to the pixels of the left neighboring block can be performed.

[0280] In the embodiments described above, it is possible to perform a judgment on whether the clipping range is wider or narrower (judgment of width or narrowness) by comparing the clipping range with a specific critical value. The specific critical value can be signaled through a bit stream, or a critical value pre-agreed in an image encoding device and an image decoding device can be used. The above-mentioned specific critical value can include a first critical value for judging whether the clipping range is wider and a second critical value for judging whether the clipping range is narrower. When the clipping range is between the first critical value and the second critical value, the above-mentioned embodiments of the present invention may not be applicable.

[0281] In the embodiment described above, the degree of overlap of the clipping ranges can be determined by comparing with a specific critical value. The specific critical value can be signaled through a bit stream, or a critical value pre-agreed in an image encoding device and an image decoding device can be used. The degree of overlap of the above-mentioned clipping ranges can be adaptively determined based on the judgment result of whether the clipping ranges of each block are wider or narrower. For example, when the respective clipping ranges of block A and / or block B are narrow, even if the clipping ranges of the two blocks are relatively narrow, it can be determined that there is more overlap. On the contrary, when the respective clipping ranges of block A and / or block B are wide, even if the clipping ranges of the two blocks are relatively wide, it can be determined that there is less overlap.

[0282] In the above-described embodiment, the judgment of whether the clipping range is "yes" or "no" can be determined based on at least one of the width or narrowness of the clipping range and the degree of overlap of the clipping range.

[0283] In the above-described embodiments, the clipping range can be derived by decoding information related to the clipping range transmitted in arbitrary area units. However, even if the information related to the clipping range is not transmitted, it is possible to achieve substantially similar effects by modifying various embodiments of the present disclosure that utilize the clipping range. For example, in the above-described embodiments, the clipping range of the corresponding area can be determined by exploring the maximum value and / or minimum value of the pixels included in the area from which the clipping range needs to be derived. Specifically, in reference to Fig. 27 In the illustrated embodiment, the clipping range of block A and / or block B can be determined by exploring the maximum value and / or minimum value of the reconstructed pixels of block A and / or block B. The clipping range determined in the manner described above can be used in the same manner as the clipping range derived by decoding information related to the clipping range.

[0284] The exemplary method in the present disclosure is described in the form of an action sequence for the sake of clarity, but this is not intended to limit the execution order of the steps, and the steps can be executed simultaneously or in different orders when necessary. In order to implement the method in the present disclosure, other steps can be added on the basis of the exemplary steps, or only the remaining steps except for a part of the steps can be included, or other steps can be added after excluding a part of the steps.

[0285] The various embodiments of the present disclosure are not intended to list all possible combinations, but are only intended to illustrate representative forms of the present disclosure. Matters described in the various embodiments may be applied independently or in combination of two or more.

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

[0287] The scope of the present disclosure includes software that enables the actions in the methods of various different embodiments to be performed on a device or computer, device-executable instructions (such as operating systems, applications, firmware, programs, etc.), and non-transitory computer-readable media (non-transitory computer-readable medium) that can be executed by a device or computer and stores the above software or instructions.

[0288] Industrial Applicability

[0289] The present invention can be used to encode / decode images.

Claims

1. An image decoding method, comprising the following steps: Decode the strip area index information of the current block; Performing a first filtering on pixels in the current block based on the strip area index information; as well as performing loop filtering in the current block after the first filtering, wherein the loop filtering includes a sample adaptive offset mode, in, Generate N strips by dividing the range of pixels according to the bit depth, The strip area index information includes: first strip area index information indicating a strip area including a maximum value of pixels in the N strip areas; second strip area index information indicating a strip area including a minimum value of pixels in the N strip areas, The sample adaptive offset mode includes an edge offset mode.

2. The image decoding method according to claim 1, wherein: The edge offset mode is a method of applying an offset to a current pixel of the current block based on a boundary direction associated with the current pixel.

3. The image decoding method according to claim 2, wherein: In the edge offset mode, the boundary direction between adjacent pixels around the current pixel is classified into one of four boundary directions.

4. The image decoding method according to claim 3, wherein: The four boundary directions are 0 degrees, 45 degrees, 90 degrees and 135 degrees.

5. The image decoding method according to claim 3, wherein: The edge offset mode is performed by adding an offset corresponding to one of the four boundary directions to the current pixel.

6. A method for image encoding, comprising the following steps: Determine at least one strip area of ​​the current block; Performing a first filtering on pixels in the current block based on the at least one strip area; performing loop filtering in the current block after the first filtering, wherein the loop filtering includes a sample adaptive offset mode; encoding strip region index information associated with the at least one strip region, in, Generate N strips by dividing the pixel range according to the bit depth, The strip area index information includes: first strip area index information indicating a strip area including a maximum value of pixels in the N strip areas; second strip area index information indicating a strip area including a minimum value of pixels in the N strip areas, The sample adaptive offset mode includes an edge offset mode.

7. The image encoding method according to claim 6, wherein: The edge offset mode is a method of applying an offset to a current pixel of the current block based on a boundary direction associated with the current pixel.

8. The image encoding method according to claim 7, wherein: In the edge offset mode, the boundary direction between adjacent pixels around the current pixel is classified into one of four boundary directions.

9. The image encoding method according to claim 8, wherein: The four boundary directions are 0 degrees, 45 degrees, 90 degrees and 135 degrees.

10. The image encoding method according to claim 8, wherein: The edge offset mode is performed by adding an offset corresponding to one of the four boundary directions to the current pixel.

11. A method for generating a bit stream of a coded image, comprising the following steps: Determine at least one strip area of ​​the current block; Performing a first filtering on pixels in the current block based on the at least one strip area; performing loop filtering in the current block after the first filtering, wherein the loop filtering includes a sample adaptive offset mode; as well as generating the bitstream by encoding strip region index information associated with the at least one strip region, in, Generate N strips by dividing the pixel range according to the bit depth, The strip area index information includes: first strip area index information indicating a strip area including a maximum value of pixels in the N strip areas; second strip area index information indicating a strip area including a minimum value of pixels in the N strip areas, The sample adaptive offset mode includes an edge offset mode.

Citation Information

Patent Citations

  • Image information encoding and decoding method

    CN103765904A

  • Method for decoding a video

    CN105049855A