Entrpy decoding method and apparatus for transform skip information

KR103019577B1Active Publication Date: 2026-09-15RES & BUSINESS FOUND SUNGKYUNKWAN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
KR1020240141231
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2014-10-13
Filing Date
2024-10-16
Publication Date
2026-09-15
Estimated Expiration
2044-01-17

Smart Images

  • Figure 112024112447111-PAT00016_ABST
    Figure 112024112447111-PAT00016_ABST
Patent Text Reader

Abstract

A method for decoding an image according to the present invention comprises, when the size of a current coding unit may include a conversion block for which conversion can be omitted, a step of parsing a representative flag representing first information indicating whether to omit conversion of a conversion block divided from the coding unit as information about the coding unit; a step of determining whether to parse the first information based on the representative flag; a step of inferring the first information based on the representative flag when parsing of the first information is not necessary, and parsing the first information when parsing of the first information is necessary; and a step of performing or omitting conversion for the conversion block according to the first information.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to the encoding and decoding of images, and more specifically, to a method and apparatus for entropy decoding of transformation omission information based on a prediction mode. Background Technology

[0002] Recently, as broadcasting services with HD (High Definition) resolution have expanded not only domestically but also globally, many users are becoming accustomed to high-resolution, high-quality video, and accordingly, many organizations are accelerating the development of next-generation video devices. In addition, as interest in UHD (Ultra High Definition), which has more than four times the resolution of HDTV, grows alongside HDTV, there is a demand for compression technology for higher resolution and higher-quality video.

[0003] For image compression, inter-frame prediction techniques that predict pixel values ​​included in the current picture from temporally earlier and / or later pictures, intra-frame prediction techniques that predict pixel values ​​included in the current picture using pixel information within the current picture, and entropy coding techniques that assign short codes to symbols with high frequency and long codes to symbols with low frequency may be used.

[0004] Among the prediction techniques used for image prediction, intra prediction is a technology that compresses an image by eliminating spatial similarity within the current frame or picture. During such intra prediction, a predicted value for the current expected block is generated by referencing the pixel values ​​of the surrounding areas adjacent to the current block, and this information is signaled.

[0005] Among the prediction techniques used for image prediction, inter-prediction is a technology that compresses images by eliminating temporal similarity between different frames. During inter-prediction, regions with pixel values ​​similar to the current block are searched for in other frames and used as the prediction value for the current prediction block.

[0006] The predicted value determined through exploration, that is, motion estimation, is expressed as a motion vector (MV), and this motion vector can be expressed as a motion vector predictor (MVp) and a motion vector difference (MVd).

[0007] In the case of currently applied intra prediction, since prediction blocks are generated using blocks adjacent to the current block, there is a limitation in that pixels in spatially distant regions cannot be referenced. Additionally, inter prediction has a limitation in that even if there are regions within the current picture that have pixel values ​​similar to the current block, they cannot be used as prediction values. The problem to be solved

[0008] The present invention provides a method and apparatus for increasing coding efficiency by determining the context used in context-based entropy coding, such as CABAC, by referring to the prediction mode of a coding unit (CU) during entropy encoding / decoding of transform omission information of compressed signals during image compression.

[0009] The present invention provides a video encoding / decoding method and an apparatus using the same, which can increase encoding efficiency by signaling a flag representing whether a conversion is omitted in cases where similar patterns occur repeatedly within a screen and residual signals containing a large amount of high frequency occur frequently, and where there is a possibility that a conversion omission mode is commonly applied or not applied to conversion blocks within a predetermined unit. means of solving the problem

[0010] A method for decoding the entropy of a conversion omission flag indicating whether a conversion is omitted according to an embodiment of the present invention comprises: a step of deriving context information for a bin constituting a codeword of the conversion omission flag; and a step of deriving a value of the conversion omission flag by performing arithmetic decoding for the bin based on the context information, wherein in the step of deriving context information, the context information may be derived based on a prediction mode of a coding unit.

[0011] The step of deriving context information for the above bin includes determining a context index for the above conversion omission flag, and the context index may be determined based on whether the prediction mode of the coding unit is an intra-block copy mode.

[0012] The above context index can be determined based on whether the current slice is an I slice, a P slice, or a B slice.

[0013] The above context index can be determined based on whether the current block is a Luma block or a Chroma block.

[0014] The step of deriving context information for the above bin performs an initialization in which a probability value corresponding to the context index is set as an initial value, and the initial value may be set based on the prediction mode of the coding unit. Effects of the invention

[0015] According to one embodiment of the present invention, the context of a transform_skip_flag according to the prediction mode of a coding unit is defined, and the prediction mode of the coding unit can be referenced during the entropy coding process, thereby reducing the amount of bits required to signal the transformation skip and increasing video coding efficiency.

[0016] According to one aspect of the present invention, when a specific prediction mode is used in an image where transformation omission occurs frequently, context-based entropy coding is performed considering that the probability of transformation omission occurring is high, thereby increasing the encoding / decoding efficiency of the image.

[0017] Specifically, the effects of this invention may be prominently displayed in the encoding and decoding of artificial images generated by a computer. Brief explanation of the drawing

[0018] FIG. 1 is a block diagram showing the configuration according to one embodiment of an image encoding device to which the invention is applied. FIG. 2 is a block diagram showing the configuration according to one embodiment of an image decoding device to which the present invention is applied. FIG. 3 is a diagram illustrating IBC prediction according to one embodiment of the present invention. FIG. 4 is a flowchart illustrating an entropy decoding method of a conversion omission flag according to one embodiment of the present invention. Specific details for implementing the invention

[0019] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In describing the embodiments of this specification, detailed descriptions of related known configurations or functions are omitted if it is determined that such detailed descriptions may obscure the gist of this specification.

[0020] Furthermore, the components shown in the embodiments of the present invention are depicted independently to represent different characteristic functions and do not imply that each component consists of separate hardware or a single software unit. That is, each component is listed and included as a separate component for convenience of explanation; however, at least two of the components may be combined to form a single component, or a single component may be divided into multiple components to perform a function, and such integrated and separated embodiments of each component are included within the scope of the present invention as long as they do not deviate from the essence of the invention.

[0021] Furthermore, some components may not be essential components performing an essential function in the present invention, but merely optional components for enhancing performance. The present invention may be implemented by including only the components essential for realizing the essence of the present invention, excluding components used solely for performance enhancement, and a structure including only the essential components, excluding optional components used solely for performance enhancement, is also included within the scope of the rights of the present invention.

[0022] FIG. 1 is a block diagram showing the configuration according to one embodiment of an image encoding device to which the present invention is applied.

[0023] Referring to FIG. 1, the image encoding device (100) includes a prediction unit (110), a subtractor (125), a conversion unit (130), a quantization unit (140), an entropy encoding unit (150), an inverse quantization unit (160), an inverse conversion unit (170), an adder (175), a filter unit (180), and a reference image buffer (190).

[0024] The video encoding device (100) can perform encoding on an input video in an intra mode or an inter mode and output a bit stream. Intra prediction refers to prediction within a frame, and inter prediction refers to prediction between frames. In the case of intra mode, a switch (not shown) is switched to intra, and in the case of inter mode, the switch is switched to inter. The video encoding device (100) can generate a prediction block for an input block of the input video, and then encode the difference between the input block and the prediction block.

[0025] The prediction unit may include, as detailed components, an intra prediction unit that performs intra prediction, a motion prediction unit and a motion compensation unit that perform inter prediction, and an IBC prediction unit that performs intra block copy (IBC) prediction. Additionally, the video encoding device may include a switch not illustrated, and the switch may switch between the inter prediction unit, the intra prediction unit, and the IBC prediction unit.

[0026] In the case of intra mode, the intra prediction unit can generate a prediction block by performing spatial prediction using the pixel values ​​of already encoded blocks around the current block.

[0027] In the case of inter mode, the motion prediction unit can obtain a motion vector by finding the region that best matches the input block in the reference image stored in the reference image buffer (190) during the motion prediction process. The motion compensation unit can generate a prediction block by performing motion compensation using the motion vector and the reference image stored in the reference image buffer (190).

[0028] The IBC prediction unit performs motion prediction, or search, within the current picture to identify areas similar to the current block, thereby obtaining a predicted value and a block vector for the current block. The prediction by the IBC prediction unit is described in detail below.

[0029] The subtractor (125) can generate a residual block by the difference between the input block and the generated prediction block. The transform unit (130) can perform a transform on the residual block and output a transform coefficient. For some residual blocks, the transform unit (130) may be configured to omit the transform, and in this case, the output of the transform unit (130) is also referred to as a transform coefficient for convenience. The quantization unit (140) can quantize the input transform coefficient according to a quantization parameter and output a quantized coefficient.

[0030] The entropy encoding unit (150) can output a bit stream by entropy encoding a symbol according to a probability distribution based on values ​​calculated in the quantization unit (140) or encoding parameter values ​​calculated during the encoding process. The entropy encoding method is a method of receiving a symbol having various values ​​as input and expressing it as a sequence of decodingable binary numbers while removing statistical redundancy.

[0031] Here, a symbol refers to the syntax element to be encoded / decoded, coding parameters, residual signal values, etc. Coding parameters are parameters required for encoding and decoding; they may include not only information encoded by the encoding device and transmitted to the decoder, such as syntax elements, but also information that can be inferred during the encoding or decoding process, and refer to the information necessary when encoding or decoding an image.

[0032] Encoding parameters may include values ​​or statistics such as, for example, intra / inter prediction mode, motion vector, reference image index, encoding block pattern, presence or absence of residual signal, transform coefficients, quantized transform coefficients, quantization parameters, block size, and block partitioning information. Additionally, the residual signal may refer to the difference between the original signal and the predicted signal, or it may refer to a signal in the transformed form of the difference between the original signal and the predicted signal, or a signal in the transformed and quantized form of the difference between the original signal and the predicted signal, or a signal in the quantized form of the difference between the original signal and the predicted signal. At the block level, the residual signal may be referred to as a residual block.

[0033] When entropy coding is applied, symbols are represented by allocating a small number of bits to symbols with a high probability of occurrence and a large number of bits to symbols with a low probability of occurrence, thereby reducing the size of the bit sequence for the symbols to be encoded. Therefore, the compression performance of video encoding can be improved through entropy coding.

[0034] For entropy coding, coding methods such as exponential golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding) may be used. For example, the entropy coding unit (150) may store a table for performing entropy coding, such as a Variable Length Coding (VLC) table, and the entropy coding unit (150) may perform entropy coding using the stored Variable Length Coding (VLC) table. Additionally, the entropy coding unit (150) may perform entropy coding using the derived binarization method or probability model after deriving a binarization method of the target symbol and a probability model of the target symbol / bin.

[0035] The quantized coefficients can be inversely quantized in the inverse quantization unit (160) and inversely transformed in the inverse transformation unit (170). For some blocks, the inverse transformation unit (170) may be configured to omit the inverse transformation, and in this case, the output of the inverse transformation unit (170) is referred to as the inversely transformed coefficients for convenience. The inversely quantized and inversely transformed coefficients can be added to the prediction block through the adder (175) to generate the restoration block.

[0036] The restoration block passes through a filter unit (180), and the filter unit (180) can apply at least one of a deblocking filter, a Sample Adaptive Offset (SAO), and an Adaptive Loop Filter (ALF) to the restoration block or the restoration picture. The restoration block that has passed through the filter unit (180) can be stored in a reference image buffer (190).

[0037] FIG. 2 is a block diagram showing the configuration according to one embodiment of an image decoding device to which the present invention is applied.

[0038] Referring to FIG. 2, the image decoding device (200) includes an entropy decoding unit (210), an inverse quantization unit (220), an inverse transformation unit (230), a prediction unit (240), a filter unit (260), and a reference image buffer (270).

[0039] The image decoding device (200) receives a bitstream output from the encoding device, performs decoding in intra mode, inter mode, or IBC mode, and can output a reconstructed image, i.e., a restored image.

[0040] The video decoding device (200) can obtain a restored residual block from an input bitstream, generate a prediction block, and then add the restored residual block and the prediction block to generate a reconstructed block, i.e., a restored block.

[0041] The entropy decoding unit (210) can generate symbols including symbols in the form of quantized coefficients by entropy decoding the input bitstream according to a probability distribution. The entropy decoding method is a method of generating each symbol by receiving a sequence of binary numbers as input. The entropy decoding method is similar to the entropy encoding method described above.

[0042] The quantized coefficients are inversely quantized in the inverse quantization unit (220) and inversely transformed in the inverse transformation unit (230), and as a result of the inverse quantization / inverse transformation of the quantized coefficients, a restored residual block may be generated. For some blocks, the inverse transformation unit (230) may be configured to omit the inverse transformation. Additionally, the inverse quantization unit (220) may also be configured to omit some blocks.

[0043] The prediction unit (240) may include, as detailed components, an intra prediction unit that performs intra prediction, a motion prediction unit and a motion compensation unit that perform inter prediction, and an IBC prediction unit that performs intra block copy (IBC) prediction.

[0044] In the case of intra mode, the intra prediction unit can generate a prediction block by performing spatial prediction using the pixel values ​​of already encoded blocks around the current block. In the case of inter mode, the motion compensation unit can generate a prediction block by performing motion compensation using a motion vector and a reference image stored in the reference image buffer (270).

[0045] In the case of IBC prediction, the IBC prediction unit performs motion prediction, or search, within the current picture to identify areas similar to the current block, thereby obtaining a predicted value and a block vector for the current block. The prediction by the IBC prediction unit is described in detail below.

[0046] The restored residual block and the prediction block are added through an adder (255), and the added block passes through a filter unit (260). The filter unit (260) can apply at least one of a deblocking filter, SAO, and ALF to the restored block or the restored picture. The filter unit (260) outputs the reconstructed image, i.e., the restored image. The restored image is stored in a reference image buffer (270) and can be used for inter-frame prediction.

[0047] Among the entropy decoder (210), inverse quantizer (220), inverse transform (230), prediction (240), filter (260), and reference image buffer (270) included in the above image decoder (200), components directly related to image decoding, such as the entropy decoder (210), inverse quantizer (220), inverse transform (230), prediction (240), and filter (260), can be distinguished from other components and referred to as a decoder or a decoding unit.

[0048] Additionally, the video decoding device (200) may further include an unillustrated parsing unit that parses information related to an encoded video contained in a bitstream. The parsing unit may include an entropy decoding unit (210) or may be included in the entropy decoding unit (210). Such a parsing unit may also be implemented as one component of a decoding unit.

[0049] FIG. 3 is a diagram illustrating IBC prediction according to one embodiment of the present invention.

[0050] In the case of IBC prediction, a specific area in the current picture can be used as a reference block for the current block, and a block vector (hereinafter BV) can be used to indicate the location of this specific area, similar to the motion vector used in inter prediction.

[0051] In the case of conventional inter-prediction, the reference picture is a previous or subsequent picture different from the current picture, but in the case of IBC prediction, the reference picture is the current picture, and the block vector represents a vector indicating the reference block in the current picture.

[0052] As described, according to one example of the present invention, an area existing in the left CTU (coding tree unit) adjacent to the current prediction block within the current picture can be selected as the reference block of the current prediction block.

[0053] When performing IBC prediction, the area for searching for reference blocks may be restricted or set to a specific area. For example, the reference block may be limited to being searched within the current CTU to which the current prediction block belongs, or within the left CTU adjacent to the current CTU.

[0054] Conversely, when performing IBC prediction, it may also be possible to extend the area for searching the reference block to all areas within the current picture that were decoded prior to the current coding unit.

[0055] The type of prediction block on which IBC prediction is performed can be 2Nx2N, 2NxN, Nx2N, or NxN.

[0056] Similar to motion vectors, BV can be derived from BV predictors and BV differences.

[0057] The BV predictor for the current block can be coded in the encoding device and signaled to the decoder, and the BV of a block previously predicted in IBC mode within a specific area, for example, within the current CTU, can be used as a predictor, and the BV of a block predicted in IBC mode among blocks adjacent to the current block can also be used as a predictor.

[0058] At this time, since it is necessary to reset or refresh the data during image processing, the BV predictor for each CTU can be initialized with an initial value such as (-2*w, 0) or (-w, 0). Here, w can be the width of the current coding unit.

[0059] The BV difference value represents the difference between BV and the BV predictor, and can be encoded by the encoding device into BVdx and BVdy values ​​and signaled to the decoder.

[0060] Meanwhile, existing image coding methods apply transform skipping to blocks containing a large amount of high-frequency components.

[0061] For example, when the value of transform_skip_enabled_flag is 1 signaled at an upper level such as a picture parameter set, a flag (transform_skip_flag) indicating whether to skip the transformation can be individually signaled for all 4x4 size transform blocks (TB) where the coded block flag (CBF) is 1 during the encoding / decoding of the residual signal.

[0062] Alternatively, a flag (transform_skip_flag) indicating whether to skip the transformation can be individually signaled for all transform blocks where the value for transform_skip_enabled_flag is 1, the current transform block size is less than or equal to the maximum block size defined by information (e.g., log2_max_transform_skip_block_size_minus2) that indicates the maximum size of the transform block to which the transformation skipping can be applied, and CBF is 1.

[0063] Meanwhile, in conventional image encoding and decoding, whether to skip a transform is signaled at the transform block (TB) level using syntax element information called transform_skip_flag[ x0 ][ y0 ][ cIdx ], and this signal is entropy-encoded and transmitted as a bitstream. Here, x0 and y0 represent the top-left position of the transform block, and 'cIdx' represents the color information of the current transform block. For a luminance signal, cIdx is set to 0, and for a chroma signal, cIdx can have values ​​of 1 and 2, respectively.

[0064] When decoding an image, the entropy decoding unit can perform entropy decoding based on a context index (ctxIdx) defined according to the context for each syntax element. For example, six context indices can be defined as shown in Table 1 for the transform_skip_flag.

[0065]

[0066] Referring to Table 1, the context index of the syntax element transform_skip_flag is determined by initType and the color component of the current block.

[0067] initType is a value determined by the type of slice currently being encoded / decoded. For slice I, initType is set to 0, while for slices P and B, it can be set differently depending on the cabac_init_flag value. For example, if cabac_init_flag = 0, initType can be set to 1 for slice P and to 0 for slice B.

[0068] ctxTable is a table that defines initial values ​​(initValue) according to the syntax elements transform_skip_flag and initType defined in Table 1, for example, and the probability value of transform_skip_flag in Table 1 can be initialized by referring to Table 3.

[0069] Assuming cabac_init_flag is 0 in Table 1, the context index is as shown in Table 2.

[0070]

[0071] In CABAC, the context update process is performed independently for each context index. For example, if the context index of the transform_skip_flag currently to be encoded is 0, CABAC encoding is performed based on the probability index (pState index) of ctxIdx = 0, and only the probability index of ctxIdx = 0 is updated.

[0072] The entropy decoding unit performs initialization of probability values ​​(pState index) by context index for the first syntax element of an independent slice segment or for syntax elements of a CTU that cannot reference probability information stored in the upper right CTU among the first CTUs of a row.

[0073] In this case, the initialization of probability values ​​can be performed based on the initial value (initValue) for each context index of the syntax element.

[0074] Table 3 shows an example of the initial values ​​according to the context index of the transform_skip_flag.

[0075]

[0076] In summary, the six context indices used in CABAC for entropy coding of the transformation omission flag can be set as shown in Table 2, and the context indices can be determined based on 1) the current slice type and 2) whether the current transformation block represents a luminance component or a chroma component.

[0077] Meanwhile, the coding unit predicted by the IBC described with reference to Fig. 3 is characterized by frequent occurrence of transformation omission. However, in the context design process for entropy coding of the existing transformation omission flag, the relationship between the IBC and the transformation omission mode was not considered.

[0078] In other words, in the conventional case, when entropy encoding / decoding the transform_skip_flag, the context was determined by referencing only the slice type and color component; however, the distribution of transform skipping occurrences can have different characteristics depending on the prediction mode of the coding unit. After determining the context by considering these characteristics, the compression ratio can be increased by entropy encoding / decoding the transform_skip_flag using the determined context.

[0079] The present invention provides a method and apparatus for defining the context of a conversion omission flag according to the prediction mode of a coding unit, reducing the amount of bits for signaling conversion omission by referring to the prediction mode of the coding unit during the entropy coding process, and consequently increasing video coding efficiency.

[0080] In describing embodiments of the present invention below, it is assumed that the cabac_init_flag value is 0, that is, the initType of slice I is 0, and the initTypes of slice P and slice B are 1 and 2, respectively.

[0081] In addition, according to one aspect of the present invention, determining the context index by referring to whether the prediction mode of the coding unit is IBC is presented as one preferred example, but the scope of the present invention is not limited thereto and may be extended to cases of other modes other than IBC.

[0082] Compared to conventional entropy coding, the present invention additionally defines a context index determined by referring to the prediction mode of a coding unit, and when the context index is additionally defined, the initValue of the individual context index is newly defined.

[0083] According to one embodiment of the present invention, when determining a context index by referring to the prediction mode of a coding unit, this can be applied to both the luminance component and the chroma component. This can be represented in a table as shown in Table 4.

[0084]

[0085] Referring to Table 4, six additional context indices are defined compared to Table 2, and consequently, there can be 12 context indices for the conversion omission flag.

[0086] According to another embodiment of the present invention, when determining the context index by referring to the prediction mode of the coding unit, this can be applied only to the luma component. This can be represented in a table as shown in Table 5.

[0087]

[0088] Referring to Table 5, three additional context indices are defined compared to Table 2, and consequently, there can be nine context indices for the transformation skip flag.

[0089] According to another embodiment of the present invention, when determining the context index by referring to the prediction mode of the coding unit, this can be applied only to the chroma component. This can be represented in a table as shown in Table 6.

[0090]

[0091] Referring to Table 6, three additional context indices are defined compared to Table 2, and as a result, there can be 9 context indices for the conversion omission flag as in Table 5.

[0092] According to another embodiment of the present invention, the new context indices added to Tables 4 to 6 do not all need to be different from each other. Some context indices may be set as existing ones, and some context indices may be set as new ones. When the number of context indices increases and entropy encoding / decoding becomes complex, the complexity can be reduced.

[0093] According to Table 7 below, when the prediction mode of the coding unit is IBC, a single context index can be determined regardless of the slice type.

[0094]

[0095] According to another embodiment, the context index can be determined as shown in Table 8, and according to Table 8, the context index can be determined depending on whether the prediction mode of the coding unit is IBC according to the slice type.

[0096]

[0097] Referring to Table 8, the context index is determined based on whether the prediction mode of the coding unit is IBC only when the slice type is I slice. That is, if the prediction mode of the coding unit is not IBC (CU mode != IBC), the context index of the I slice is set to 0, and if the prediction mode of the coding unit is IBC (CU mode = IBC), the context index of the I slice can be set to a new 6.

[0098] As shown in Tables 4 to 8 above, the initial values ​​(initValue) corresponding to the newly defined context indices (6 to 11 or 6 to 8) can be defined differently from the initial values ​​of the existing context indices (0 to 5). Tables 9 to 11 show the initial values ​​corresponding to the new context indices based on Table 4.

[0099]

[0100]

[0101]

[0102] Table 9 newly defines the initial values ​​of the context index applied to the luma transform block, Table 10 newly defines the initial values ​​of the context index applied to the chroma transform block, and Table 11 newly defines the initial values ​​of the context index applied to the luma transform block and the chroma transform block.

[0103] a to g in Tables 9 to 11 can be set to optimal values ​​agreed upon in the encoding and decoding devices, which can be set to values ​​that minimize the rate-distortion ratio. a to g may be the same as the existing initial value 139, or may not be the same.

[0104] Whether the above technique is performed, that is, whether the transformation omission flag is entropy-coded by referring to the prediction mode of the coding unit, may be signaled in a parameter set transmitted from an upper layer, for example, a sequence parameter set (SPS), SPS_extension, a picture parameter set, etc., or it may be signaled at another upper level.

[0105] According to one example of the present invention, the SPS signaling information indicating whether to use the proposed technology itself is as shown in Table 12.

[0106]

[0107] In Table 12, when transform_skip_context_modification_enabled_flag is 0, the context index of transform_skip_flag is defined as 0 to 5, and when transform_skip_context_modification_enabled_flag is 1, the context index of transform_skip_flag may be set according to Tables 4 to 8, which are embodiments according to the present invention.

[0108] Alternatively, if transform_skip_context_modification_enabled_flag is 0, the context index of transform_skip_flag may be defined as the existing 0 to 5, and if transform_skip_context_modification_enabled_flag is 1, the context index of transform_skip_flag may be newly defined as not the existing 0 to 5.

[0109] FIG. 4 is a flowchart illustrating an entropy decoding method of a conversion omission flag according to an embodiment of the present invention. Referring to FIG. 4, the entropy decoding method according to the present invention is described as follows.

[0110] First, the entropy decoder can determine the context index for the conversion omission flag based on the prediction mode of the coding unit (S410).

[0111] The context index can be determined based on the prediction mode of the coding unit, for example, whether the prediction mode of the coding unit is an intra-block copy mode.

[0112] Additionally, the context index may be determined based on whether the current slice is an I slice, a P slice, or a B slice.

[0113] Additionally, the context index may be determined based on whether the current block is a Luma block or a Chroma block.

[0114] When the context index is determined, the entropy decoder can perform an initialization process in which a probability value corresponding to the determined context index is set as an initial value (S420).

[0115] The initial value can also be set based on the prediction mode of the coding unit.

[0116] If the context index is set to a new value instead of the existing one, the initial value may be set to the same value as the existing one or to the new value.

[0117] The entropy decoder can update the probability based on the set context index and initial value, and through this process, it can derive context information for the bin that constitutes the codeword of the conversion omission flag (S430).

[0118] Step S430 may be a step including steps S410 and S420. In other words, the entropy decoder may perform an initialization process to determine a context index to derive context information and set a probability value corresponding to the context index as an initial value.

[0119] After that, the entropy decoding unit can derive the value of the conversion omission flag by performing arithmetic decoding on the bin based on context information (S440).

[0120] As described above, one aspect of the present invention provides additionally defining a context index determined by referring to the prediction mode of a coding unit in comparison with conventional entropy coding, and newly defining the initValue of an individual context index when the context index is additionally defined.

[0121] The transformation performed during the decoding process mentioned above essentially refers to the inverse transform, which is the reverse process of the transformation executed by the encoding device; however, since the inverse transform is also a type of transformation, there will be no room for confusion regarding its actual meaning.

[0122] The method according to the present invention described above may be produced as a program to be executed on a computer and stored on a computer-readable recording medium, examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc., and also includes being implemented in the form of a carrier wave (e.g., transmission via the Internet).

[0123] Computer-readable recording media are distributed across networked computer systems, allowing computer-readable code to be stored and executed in a distributed manner. Furthermore, functional programs, codes, and code segments for implementing the above method can be easily inferred by programmers skilled in the art to which the present invention pertains.

[0124] In the embodiments described above, methods are described based on flowcharts as a series of steps or blocks; however, the present invention is not limited to the order of the steps, and some steps may occur in a different order or simultaneously with other steps as described above. Furthermore, those skilled in the art will understand that the steps shown in the flowcharts are not exclusive, that other steps may be included, or that one or more steps of the flowcharts may be omitted without affecting the scope of the present invention. Explanation of the symbols

[0125] 111: Motion prediction unit 112: Motion compensation unit 120: Intra-prediction unit 130: Conversion unit

Claims

Claim 1 An image decoding device comprising: an inverse transform unit that generates a residual block of the current block based on a transform omission flag indicating whether to omit a transform for the current block within the current picture; a prediction unit that derives a block vector for the current block and generates a prediction block of the current block based on a reference block indicated by the block vector; and an adder that restores the current block based on the residual block and the prediction block, wherein the current block is a block predicted in IBC mode, the reference block is a block within the current picture, the initial value per context index for initializing context information used for arithmetic decoding of the transform omission flag of the current block is determined differently depending on the type of the current slice, and the block vector is derived based on a block vector predictor and a block vector difference value. Claim 2 A video encoding device comprising: a prediction unit that determines a block vector for a current block within a current picture and generates a prediction block of the current block based on a reference block indicated by the block vector; a subtractor that generates a residual block of the current block based on the prediction block; and a conversion unit that encodes the residual block based on whether to omit a conversion for the current block, wherein the current block is a block predicted in IBC mode, the reference block is a block within the current picture, the omission of a conversion for the current block is encoded using a conversion omission flag of the current block, and the initial value per context index for initializing context information used in the arithmetic encoding of the conversion omission flag of the current block is determined differently depending on the type of the current slice, and the block vector is encoded into a bitstream based on a block vector predictor and a block vector difference value. Claim 3 A computer-readable recording medium storing a bitstream generated by a video encoding device, wherein the video encoding device comprises: a prediction unit that determines a block vector for a current block within a current picture and generates a prediction block of the current block based on a reference block indicated by the block vector; a subtractor that generates a residual block of the current block based on the prediction block; and a conversion unit that encodes the residual block based on whether to omit a conversion for the current block, wherein the current block is a block predicted in IBC mode, the reference block is a block within the current picture, the omission of a conversion for the current block is encoded using a conversion omission flag of the current block, and the initial value per context index for initializing context information used in the arithmetic encoding of the conversion omission flag of the current block is determined differently depending on the type of the current slice, and the block vector is encoded into the bitstream based on a block vector predictor and a block vector difference value.

Citation Information

Patent Citations

  • Video encoding and decoding method and apparatus using the same

    KR1020160040838A

  • Devices and methods for modifications of syntax related to transform SKIP for high efficiency video coding (HEVC)

    WO2014084903A1