METHOD AND DEVICE FOR ENCODING AND DECODING VIDEO SIGNAL ENTROPY.
Patent Information
- Authority / Receiving Office
- MX · MX
- Patent Type
- Patents
- Current Assignee / Owner
- GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
- Filing Date
- 2019-10-11
- Publication Date
- 2026-05-19
Smart Images

Figure MX434216B0
Abstract
Description
METHOD AND DEVICE FOR ENCODING AND DECODING VIDEO SIGNAL ENTROPY Technical field of the invention [1] The present description relates to a method for encoding and decoding the entropy of video signals. More specifically, the description relates to a method and device for encoding and decoding the position of a last non-zero coefficient when the transformation coefficients are encoded. Background of the invention [2] Entropy coding is a non-compressive process of compressing syntax elements determined through the encoding process and generation of a Raw Byte Sequence Payload (RBSP). Entropy coding uses syntax statistics and assigns a short bit to frequently generated syntax and a long bit to other syntax, then expresses the syntax elements into short data. [3] Among these, Binary Arithmetic Coding Context-based adaptive arithmetic (CABAC) uses an adaptively updated context model based on the syntax context and the symbol generated earlier during the binary arithmetic encoding process. However, CABAC has many operations, high complexity, and a sequential structure, and consequently, it has difficulty with parallel operations. [4] Therefore, in a video compression technique, it is required to compress and transmit a syntax element more efficiently, and for this, it is required to improve the entropy coding performance. Description Technical problem [5] One object of the present description is to provide a method for encoding a region to which a last non-zero transformation coefficient belongs among the regions obtained by dividing a transformation unit. [6] Furthermore, one object of the present description is to provide a method for encoding a region to which a last non-zero transformation coefficient belongs among the regions obtained by recursively dividing a unit of transformation. [7] Furthermore, one object of the present description is to provide a method for encoding the position of a last non-zero coefficient while adaptively changing an encoding method. [8] Furthermore, one object of the present description is to provide a method for encoding the position of a last Qrconn / rznz / E / YiAi non-zero coefficient by applying different encoding methods depending on various conditions. [9] Furthermore, one object of the present description is to provide a method for encoding the position of a last non-zero coefficient in consideration of a case in which the presence of the position of the last non-zero coefficient in a bounded region is guaranteed.
[10] Those skilled in the art will appreciate that the objects that could be achieved by the present description are not limited to what has been particularly described here above, and the above and other objects that the present description could achieve will be more clearly understood from the following detailed description. Technical solution
[11] In one aspect of the present description, a method for decoding a video signal may include: decoding, from a bitstream, a syntax element that indicates a last non-zero region, the last non-zero region representing a region that includes a last non-zero transformation coefficient in a scan order; dividing a current block into a plurality of subregions; and determining a last non-zero region of the current block from among the divided subregions based on the syntax element.
[12] Preferably, the method may further include decoding the index information that indicates the position of the last non-zero transformation coefficient in the last non-zero region of the current block.
[13] Preferably, dividing the current block into a plurality of subregions may include dividing the current block into a plurality of subregions by recursively dividing the current block into regions with depths 10 lower based on a predetermined division method.
[14] Preferably, the syntax element may include information indicating, for each depth, a region that includes the last non-zero transformation coefficient from among the regions with the lowest divided depths of the current block.
[15] Preferably, the division of the current block into a plurality of subregions may include grouping the width of the current block into a plurality of horizontal groups and grouping the height of the current block into a plurality of vertical groups, wherein the current block is divided into a plurality of subregions based on the horizontal groups and the vertical groups.
[16] Preferably, the syntax element may include information about a horizontal group or a vertical group 25 indicating the last non-zero region of among the horizontal groups or the vertical groups.
[17] Preferably, the method may further include decoding a syntax element indicating the position of the last non-zero transformation coefficient in the last non-zero region of the current block, wherein the syntax element indicating the last non-zero region is binarized using truncated unicode and the syntax element indicating the position of the last non-zero transformation coefficient is binarized using fixed-length code.
[18] Preferably, the syntax element gue indicating the last non-zero region can be decoded in a regular mode using a context and the syntax element indicating the position of the last non-zero transformation coefficient 15 can be decoded in a derivation mode that does not use a context.
[19] Preferably, the method may further include adaptively determining a set of parameters applied to the current block from among previously stored parameter sets 20, wherein the parameter set includes at least one of a parameter indicating the number of horizontal groups or vertical groups, a parameter indicating the length of the code assigned to each group, and a parameter indicating a context index used for the code 25 assigned to each group. aeconn / eznz / E / YiAi
[20] Preferably, the adaptive determination of a set of parameters applied to the current block may include determining a set of parameters applied to the current block based on a probability distribution of the position of the last non-zero transformation coefficient.
[21] Preferably, the current block can be divided into sub-regions composed of a specific number of pixels when the current block is a non-square block, wherein the specific number is determined depending on the ratio of the width to the height of the current block.
[22] Preferably, when the last non-zero transformation coefficient is present within a specific region of the current block, the syntax element can be binarized using truncated nail code assigned 15 within the range of the specific region.
[23] In another aspect of the present description, a device for decoding a video signal may include: a syntax element decoding unit for decoding, from a bitstream, a syntax element indicating a non-zero last region, the non-zero last region representing a region that includes a non-zero last transformation coefficient in a scan order; a subregion segmentation unit for dividing a current block into a plurality of subregions; and a non-zero last region determination unit for determining a non-zero last region of the current block among the subregions divided based on the syntax element. Advantageous effects
[24] In accordance with the modalities of the present description, it is possible to reduce the amount of data required to signal the transformation coefficients by effectively encoding the positional information of the last non-zero coefficient 10.
[25] Those skilled in the art will appreciate that the effects that could be achieved by the present description are not limited to those described above in particular, and the above and other effects that the present description 15 could achieve will be more clearly understood from the following detailed description. Description of the drawings
[26] Figure 1 is a block diagram illustrating an encoder configuration for encoding a video signal in accordance with one modality of the present description.
[27] Figure 2 is a block diagram illustrating a decoder configuration for decoding a 25 video signal in accordance with a modality of the present orconn / rznz / E / YiAi description.
[28] Figure 3 illustrates a schematic block diagram of an entropy coding unit to which Context-Based Adaptive Binary Arithmetic Coding (CABAC) is applied, as a modality to which the present description applies.
[29] Figure 4 illustrates a schematic block diagram of an entropy decoding unit to which Context-Based Adaptive Binary Arithmetic Coding 10 (CABAC) is applied, as a modality to which the present description applies.
[30] Figure 5 illustrates a coding flowchart performed in accordance with Context-Based Adaptive Binary Arithmetic Coding (CABAC), as 15 a modality to which the present description applies.
[31] Figure 6 illustrates a decoding flowchart performed in accordance with Context-Based Adaptive Binary Arithmetic Coding (CABAC), as a modality to which the present description applies.
[32] Figure 7 is a flowchart illustrating a method for encoding positional information of a non-zero ultimate transformation coefficient as a modality to which the present description applies.
[33] Figure 8 illustrates a method for encoding positional information of a last coefficient of Qcconn / cznz / E / YiAi non-zero transformation by recursive division as a modality to which the present description applies.
[34] Figure 9 illustrates a method for encoding positional information of a non-zero last transformation coefficient of 5 using a superpixel as a modality to which the present description applies.
[35] Figure 10 is a flowchart illustrating a method for decoding positional information from a non-zero ultimate transformation coefficient as a modality to which the present description applies.
[36] Figure 11 illustrates a device for decoding positional information from a non-zero ultimate transformation coefficient as one modality to which the present description applies. Mode of the invention
[37] The following are illustrative elements and operations described in accordance with variations of this description with reference to the accompanying drawings. However, it should be noted that the elements and operations described in this description with reference to the drawings are provided only as variations, and the technical spirit, configuration, and operation of the core of this description are not limited to them.
[38] Furthermore, the terms used in this specification aeconn / eznz / E / YiAi are common terms now widely used, but in special cases, terms randomly selected by the applicant are used. In such cases, the meaning of a corresponding term is clearly described in the detailed description of a corresponding part. It should therefore be noted that this description should not be interpreted as being based solely on the name of a term used in a corresponding description of this specification and that this description should be interpreted by verifying the meaning of a corresponding term.
[39] Furthermore, the terms used in this description are common terms selected to describe the concept, but they may be replaced by other terms for a more appropriate analysis if those terms have similar meanings. For example, a signal, data, a sample, an image, a frame, and a block may be replaced and interpreted appropriately in each encoding process.
[40] Furthermore, the concepts and methods described in this description can be applied to other modalities, and the combination of modalities is also applicable within the inventive concept of this description, although it is not explicitly described herein.
[42] Figure 1 shows a schematic block diagram of an encoder for encoding an orconn / rznz / E / YiAi video signal, in accordance with one modality of the present description.
[43] Referring to Figure 1, an encoder 100 may include an image segmentation unit 110, a transformation unit 120, a quantization unit 130, a dequantization unit 140, a reverse transformation unit 150, a filtering unit 160, a DPB (Decoded Image Buffer) 170, an inter-prediction unit 180, an intra-prediction unit 185, and an entropy encoding unit 190.
[44] The image segmentation unit 110 can divide a generated image input (or, an image, a frame) to the encoder 100 into one or more processing units. For example, the processing unit can be an encoding tree unit (CTU), an encoding unit (CU), a prediction unit (PU), or a transformation unit (TU).
[45] The encoder 100 can generate a residual signal by subtracting a signal output from the inter-prediction unit 180 or intra-prediction unit 185 from the input image signal. The generated residual signal can be transmitted to the transformation unit 120.
[46] Transformation unit 120 can apply a transformation technique to the residual signal to produce a transformation coefficient. For example, the transformation technique can include at least one orconn / rznz / E / YiAi Transformation Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loéve Transform (KLT), Graph-Based Transform (GBT), or Conditionally Nonlinear Transform (CNT). When GBT represents the relationship information between 5 pixels as a graph, GBT means a transformation derived from the graph. CNT means a transformation that generates a prediction signal using all the previously reconstructed pixels and derived from them. Furthermore, the transformation process can be applied to a block of 10 pixels that is the same size as a square, or to a block of varying size that is not a square.
[47] The quantization unit 130 can quantize the transformation coefficient and transmits the quantized coefficient to the entropy coding unit 190. The entropy coding unit 190 can perform entropy coding of the quantized signal and then output the entropy-coded signal as bit streams.
[48] The quantized signal output of the quantization unit 130 can be used to generate a prediction signal 20. For example, the quantized signal can be subjected to dequantization and inverse transformation via the dequantization unit 140 and inverse transformation unit 150 in the loop respectively to reconstruct a residual signal. The reconstructed residual signal 25 can be added to the signal output of the prediction inter-unit 180 or the intra-prediction unit 185 to generate a reconstructed signal.
[49] The filtering unit 160 can apply filtering to the reconstructed signal and then send the filtered reconstructed signal 5 to a playback device or to the decoded image buffer 170. The filtered signal transmitted to the decoded image buffer 170 can be used as a reference image in the inter-prediction unit 180. In this way, by using the filtered image 10 as a reference image in the inter-image prediction mode, not only can the image quality be improved but also the encoding efficiency.
[50] The decoded image buffer 170 can store the filtered image for use as a reference image in the inter-prediction unit 180.
[51] The inter-prediction unit 180 can perform temporal and / or spatial prediction with reference to the reconstructed image to eliminate temporal and / or spatial redundancy. In this case, the reference image used for prediction is 20. In this case, to reduce the amount of motion information transmitted from the inter-prediction mode, motion information can be predicted based on the correlation of motion information between a neighboring block and a current block.
[52] The intra-prediction unit 185 can predict a Qcconn / eznz / E / YiAi current block referencing samples in the vicinity of a block to be encoded. The intraprediction unit 185 can perform the following procedure to carry out intraprediction. First, the intraprediction unit 185 can prepare the reference samples needed to generate a prediction signal. Then, the intraprediction unit 185 can generate the prediction signal using the prepared reference samples. From then on, the intraprediction unit 185 can encode a prediction mode. At this point, the reference samples can be prepared by reference sample filling and / or reference sample filtering. Since the reference samples have undergone the prediction and reconstruction process, a quantization error may exist.Therefore, to reduce such errors, a reference sample filtering process can be performed for each prediction mode used for intra-prediction.
[53] The prediction signal passed through the inter-prediction unit 180 or the intra-prediction unit 185 20 can be used to generate the reconstructed signal or to generate the residual signal.
[55] Figure 2 shows a schematic block diagram of a decoder for decoding a video signal, in accordance with one modality of the present description. aeconn / eznz / E / YiAi
[56] Referring to Figure 2, a decoder 200 may include an entropy decoding unit 210, a dequantization unit 220, an inverse transformation unit 230, a filtering unit 240, a decoded image buffer (DPB) 250, an inter-prediction unit 260, and an intra-prediction unit 265.
[57] A reconstructed video signal output from the 200 decoder can be played back using a playback device.
[58] The decoder 200 can receive the output signal from the encoder as shown in Figure 1. The received signal can be entropy decoded through the entropy decoding unit 210.
[59] The dequantization unit 220 can obtain a transformation coefficient from the entropy-decoded signal using quantization step size information.
[60] The inverse transformation unit 230 can inversely transform the transformation coefficient to obtain a residual signal.
[61] A reconstructed signal can be generated by adding the residual signal obtained to the prediction signal output from the inter-prediction unit 260 or the intra-prediction unit 265.
[62] The filtering unit 240 can apply filtering to the reconstructed signal and can output the filtered reconstructed signal to the playback device or the decoded image buffer unit 250. The filtered signal transmitted to the decoded image buffer unit 250 can be used as a reference image in the inter-prediction unit 260.
[63] In this document, the detailed descriptions for the filtering unit 160, the inter-prediction unit 180, and the intra-prediction unit 185 of the encoder 100 can be applied equally to the filtering unit 240, the inter-prediction unit 260, and the intra-prediction unit 265 of the decoder 200 respectively.
[65] Figure 3 illustrates a schematic block diagram of an entropy coding unit to which Context-Based Adaptive Binary Arithmetic Coding (CABAC) is applied, as a modality to which the present description applies.
[66] An entropy coding unit 300, to which the present description applies, includes a binarization unit 310, a context modeling unit 320, a binary arithmetic coding unit 330, and a memory 360, and the binary arithmetic coding unit 330 includes a regular binary coding unit 340 and a derivation binary coding unit 350. Herein, the regular binary coding unit 340 and the derivation binary coding unit 350 may be referred to as a regular coding engine and a derivation coding engine, respectively.
[67] Binarization unit 310 can receive a sequence of data symbols and perform binarization on it to output a string of binary symbols (bin) that includes a binarized value of 0 or 1. Binarization unit 310 can map syntax elements to binary symbols. Several different binarization processes, such as nailing (U), truncated nailing (TU), k-order and fixed-length Exp-Golomb (EGk), and similar processes, can be used for binarization. The binarization process can be selected based on a type of syntax element.
[68] The output binary symbol string is transmitted to context modeling unit 320.
[69] Context modeling unit 320 selects the probability information needed to encode a current block from a memory and transmits the probability information to binary arithmetic encoding unit 20 330. For example, context modeling unit 320 may select a context memory from memory 360 based on a syntax item to be encoded and select the probability information needed for encoding the current syntax item via a bin index binldx. Here, a context refers to information about a probability of generating symbols, and context modeling refers to a process of estimating the probability needed for the binary arithmetic encoding of the next bin based on information about previously encoded bins. Furthermore, a context can consist of a state that indicates a specific probability value and a most probable symbol (MPS).
[70] The context modeling unit 320 can provide the correct probability estimate needed to achieve high coding efficiency. Therefore, different context models can be used for different binary symbols, and the probability of these context models can be updated based on previously coded binary symbol values.
[71] Binary symbols that come from similar distributions can share the same context model. For the probability estimation of a context model for each binary symbol, at least one of the syntax information of a bin, a bin index binldx indicating the position of a bin in a chain of bins, a probability of a bin being included in a neighboring block of a block containing a bin, and a decoding value of a syntax element specific to the neighboring block can be used.
[72] The binary arithmetic coding unit 330 includes a regular binary coding unit 340 and a derivation binary coding unit 350, and performs entropy coding on the output string and generates compressed data bits.
[73] The regular binary encoding unit 340 performs recursive interval division-based arithmetic encoding.
[74] First, an interval (or section or range) having an initial value of 0 to 1 is divided into two subintervals based on the probability of a binary symbol. The encoded bits 10 provide an offset by which one of the intervals indicating 0 and 1 can be selected in a continuous decoding process of binary symbol values when transformed into binary decimal.
[75] After a binary symbol is decoded, the interval mentioned above can be updated so that the selected subintervals become identical, and the interval division process is repeated. The interval and offset mentioned above have limited bit precision, and therefore renormalization may be necessary to maintain precision whenever the interval falls below a specific value (i.e., to prevent the value from falling excessively and being misrepresented or becoming zero and being lost). Renormalization can occur after each binary symbol is encoded or decoded.
[76] The 350 derivation binary encoding unit performs encoding without a context mode, and performs encoding by setting the probability of a currently encoded bin to 0.5. This can be used when it is difficult to determine a syntax probability or is designed for high-speed encoding.
[78] Figure 4 illustrates a schematic block diagram of an entropy decoding unit to which Context-Based Adaptive Binary Arithmetic Coding (CABAC) is applied, as a modality to which the present description applies.
[79] An entropy decoding unit 400 includes a context modeling unit 410, a binary arithmetic decoding unit 420, a memory 450, and a reverse binarization unit 460, and the binary arithmetic decoding unit 420 includes a regular binary decoding unit 430 and a derivation binary decoding unit 440.
[80] The entropy decoding unit 400 receives a bitstream and checks whether a derivation mode is applied to a current syntax element. Here, derivation mode refers to setting a probability of a currently encoded bin to 0.5 and performing the encoding without using a context model. When derivation mode is not applied, the Qcconn / eznz / E / YiAi regular binary decoding unit 430 performs binary arithmetic decoding according to a regular mode.
[81] Here, the context modeling unit 410 selects the probability information needed to decode a current bit stream from memory 450 and transmits the probability information to the regular binary decoding unit 430.
[82] On the other hand, when the derivation mode is applied, the derivation binary decoding unit 440 performs binary arithmetic decoding in accordance with the derivation mode.
[83] The reverse binarization unit 460 receives a binary-decoded bin from the binary arithmetic decoding unit 420, converts the bin to an integer-form syntax element value, and outputs the syntax element value. When a binary-form bin or string of bins is a syntax element mapped to a syntax element value, the reverse binarization unit 460 can output the binary-form bin as intact.
[85] Figure 5 illustrates a coding flowchart performed in accordance with Context-Based Adaptive Binary Arithmetic Coding (CABAC), as a modality to which the present description applies. orconn / rznz / E / YiAi
[86] An encoder can perform a binarization for a syntax element (step, S510).
[87] The encoder can verify whether binary arithmetic coding is performed in regular mode or whether binary arithmetic coding is performed in derivation mode (step, S520).
[88] In normal mode, the encoder can select a context model (S530) and perform binary arithmetic coding based on the context model (S540). Additionally, the encoder can update the context model (S550) and select a suitable context model again based on the updated context model in step S530.
[89] In derivation mode, the encoder can perform binary arithmetic coding based on a probability of 0.5 (S560).
[91] Figure 6 illustrates a decoding flowchart performed in accordance with Context-Based Adaptive Binary Arithmetic Coding (CABAC), as a modality to which the present description applies.
[92] First, a decoder can receive a bit stream (step, S610).
[93] The decoder can check whether regular mode applies to the current syntax element or whether derivation mode applies to it (S620). Here, derivation mode depends on the syntax type.
[94] Furthermore, the symbols to which the regular mode applies and the symbols to which the derivation mode applies can be combined to form a syntax element. In this case, the decoder can check whether the derivation mode applies to the symbols of the current syntax element.
[95] When the regular mode is applied as a result of the verification in step S620, the decoder can 10 select a context model (S630) and perform binary arithmetic decoding based on the context model (S640). In addition, the decoder can update the context model (S650) and select a suitable context model again based on the context model 15 updated in step S630.
[96] When the derivation mode is applied as a result of the verification in step S620, the decoder can perform binary arithmetic decoding based on a probability of 0.5 (S660).
[97] The decoder can perform reverse binarization on a decoded bin string (S67 0). For example, the decoder can receive a decoded bin in binary form, convert the decoded bin into a syntax element value in integer form, and output the value of the aeconn / eznz / E / YiAi syntax element.
[99] The present description provides a method for encoding a region to which a last non-zero transformation coefficient belongs among the regions obtained by dividing a transformation unit.
[100] Furthermore, the present description provides a method for encoding a region to which a last coefficient of t o' a 11 sf urine cion belongs, different from zero among the regions obtained by recursively dividing a unit of transí o- r ma ó n .
[101] Furthermore, the present description provides a method for encoding the position of a last non-zero coefficient while adaptively changing the encoding methods.
[102] Furthermore, the present description provides a method for 15 encoding the position of a last non-zero coefficient by applying different encoding methods depending on various conditions.
[103] Furthermore, the present description provides a method for encoding the position of a last non-zero coefficient 20 using an additional context based on the horizontal and vertical coordinates of the last non-zero coefficient or the size and shape of a transformation unit.
[104] Furthermore, the present description provides a method for 25 encoding a group to which a last non-zero coefficient aeconn / eznz / E / YiAi belongs from among the pooled transformation coefficient groups and encoding a shift in the corresponding group.
[105] Furthermore, the present description provides a method for encoding the position of a last non-zero coefficient in consideration of a case in which the presence of the position of the last non-zero coefficient is guaranteed within a bounded region.
[106] In accordance with the methods provided by the present description, it is possible to reduce the amount of data required to signal a transformation coefficient by effectively encoding the positional information of a non-zero last coefficient. aeconn / eznz / E / YiAi
[108] Mode 1
[109] In a conventional video coding standard (e.g., HEVC or JVET), an encoder / decoder encodes / decodes the positional information of a last non-zero transformation coefficient first to encode / decode a residual signal. Here, the encoder / decoder encodes / decodes the position (i.e., horizontal and vertical coordinates) of the last non-zero transformation coefficient in a transformation block. According to conventional methods, as the size of a transformation block increases, a greater number of bits may be required to signal a coordinate value of a last non-zero transformation coefficient in the transformation block, and therefore coding efficiency may decrease.
[110] Accordingly, the present description provides a method for encoding a region to which a last nonzero transformation coefficient belongs among divided regions of a transformation unit (or, an encoding unit) to solve the problem mentioned above and efficiently encode positional information about the last nonzero transformation coefficient. Here, the last nonzero transformation coefficient refers to a nonzero coefficient (i.e., a significant coefficient) placed last in the scan order within a current transformation unit (or encoding unit) and may be called a last nonzero coefficient, a last significant coefficient, or similarly.
[111] Figure 7 is a flowchart illustrating a method for encoding positional information of a non-zero ultimate transformation coefficient as a modality to which the present description applies.
[112] Referring to Figure 7, although the method described in the present modality can be applied equally 25 to an encoder and a decoder, the description will be made on the basis of the encoder for convenience.
[113] The encoder acquires a transformation coefficient from a current block (3731). The encoder can generate a predicted block by performing inter- or intra-5 prediction. The encoder can generate a residual block from the current block by subtracting the predicted block from the original image. The encoder can generate a transformation coefficient by transforming the residual block and generate a quantized transformation coefficient by applying quantization to the transformation coefficient.
[114] The encoder divides the current block into a plurality of subregions (or lower regions) (S702). For example, the encoder may divide the current block into N subregions. In this case, the subregions may be exclusively split regions or split regions, some of which overlap. The current block (or current processing block) may be an encoding unit, a coding block, a transformation unit, a transformation block, a predicted unit, a predicted block, or the like.
[115] The encoder encodes a last non-zero region of the current block from among split subregions (S703). Here, the last non-zero region refers to a region that includes a last non-zero coefficient. For example, when the current block is divided into N Qcconn / eznz / E / YiAi subregions, the encoder can encode index information (or a syntax element) that indicates a subregion that includes the last non-zero transformation coefficient among the N subregions.
[116] Furthermore, steps S702 and S703 can be performed recursively (repeatedly). In other words, the encoder can recursively (or repeatedly) divide the region containing the last nonzero transformation coefficient into regions of lower depths to represent the region as more subdivided regions. The encoder can select a region containing the last nonzero coefficient from among the N subregions and divide the region containing the last nonzero coefficient into N subregions (or regions of lower depth). The recursive division can be performed K times and can continue until the last nonzero region reaches a pixel unit. This will be described in detail later.
[117] The encoder / decoder may or may not subdivide the last non-zero region into a pixel unit. When the last non-zero region is not subdivided into the pixel unit, the encoder / decoder may encode / decode coefficients in a finally determined last non-zero region (i.e., a last non-zero region that has a lower depth). For example, the encoder / decoder can encode / decode the last non-zero region and then encode / decode a significant map (or significant coefficient map) that indicates whether each coefficient in the last non-zero region has a non-zero value. That is, the encoder / decoder can encode / decode the presence or absence of a non-zero coefficient by encoding information that indicates a final lower region in which the last non-zero coefficient is present and transmitting significant indicators regarding the positions of all coefficients in the corresponding region.
[118] In one embodiment, the method for encoding positional information of a nonzero last coefficient via recursive division (e.g., determining the values M, N, and K) can be determined depending on the shape or size of the current block (e.g., an encoding block or a transformation block). For example, the shape can represent a square block or a non-square block, and the size can represent the width and height of the current block or the number of pixels (width and height) in the current block. The method for encoding a nonzero last region (e.g., determining the values M, N and K) can be predefined in the aeconn / eznz / E / YiAi encoder / decoder or signaled from the encoder to the decoder in image or cut units, encoding unit or transformation unit.
[119] The method for encoding a non-zero ultimate region 5 provided by the present description can be used in conjunction with a conventional method for transmitting positional information in units of pisels (i.e., horizontal and vertical coordinates in a transformation unit of a non-zero ultimate transformation coefficient).
[120] The method for encoding positional information of a non-zero last coefficient through recursive division will now be described.
[122] Mode 2
[123] In one embodiment of the present description, the encoder / decoder can divide a region containing a last non-zero coefficient into regions of lower depth and then encode a region containing the last non-zero coefficient (i.e., a last non-zero region) among the regions of lower depth. Here, lower depth indicates the number of divisions of the current block (or current transformation unit), and the depth can increase by 1 each time the current block is divided to a depth of 0. The encoder / decoder can encode information indicating the last non-zero region among the regions of lower depth. The last non-zero region can be further divided hierarchically into regions of lower depth.
[124] When a set that includes all pixels (or pixel positions) in the current block is assumed to be P, P can be divided into P (k) as represented by the mathematical expression 1.
[125] Mathematical expression 1 P = P(z)riPQ) = ^, i* j, Ρ(ι)ψ φ, ι=\...,Ν fr=1
[126] With reference to mathematical expression 1, P can be divided into P(k) and the depth of P(k) can be increased by 1. The depth of P(k) is greater than the depth of P by 1. In other words, the depth of P, including all pixels in the current block, is 0 and the depth of P(k) is 1.
[127] When the current block is recursively divided, P(k) can be divided into lower regions having a lower depth, and the lower regions can be divided into regions having a lower depth (regions having a depth that increases by 1).
[128] A region having a depth of d can be represented by the mathematical expression 2. aeconn / eznz / E / YiAi
[129] Mathematical expression 2
[130] The region represented by mathematical expression 2 belongs to an i 1-th region (or a region identified by i 1) when a current blog that has a depth of 0 (i_0-th region that has depth 0) is divided into regions that have a depth of 1. The region represented by mathematical expression 2 indicates an i d-th region (or a region identified by id) when the current blog aeconn / eznz / E / YiAi is finally forgotten into regions that have a depth of d. Here, the current block that has depth 0 is a complete region and the value id can have a value of 1.
[131] The recursive division mentioned above can be represented by the mathematical expression 3.
[132] Expression myatematic 3 d.·".!,.....o) .....'0= U .....i..*) ... «>o Prf+1( / 0, z,..... 7ri, z) n Prf+1Oo. 7r ···,ζ. j)=^ í, / = l....(z0, zr..., z,) ι Φ j , φ, i=\...,Na(z(lz,.....z\)
[133] With reference to mathematical expression 3, we assume a case where the lowest regions are divided exclusively. Here, N'(d) (i 0, i 1, . . .,1 d) represents the number of lower regions (i.e., regions with a depth of d + 1) divided at a depth of d.
[134] When the notations of mathematical expressions 2 and 3 are applied, the division of an actual block can be represented by mathematical expression 4. Qcconn / eznz / E / YiAi
[135] Mathematical expression 4 P = P¡(z0), Λ' - A'° (z0), p(k) - P (z0, k), where i0= 1
[136] With reference to mathematical expression 4, the current block having a depth of 0 can be divided into N 10 regions having a depth of 1.
[137] When PL(ό) (10, i 1, . . . ,id) is not a leaf region, the encoder / decodifleader can encode a code that can distinguish P°(d)(i_0, i_l, . . . , 1 ) from P'(d)(i_0, i 1,..., N'''(dl)íi 0, i 1,...,1 (d—1) ) ) . Here, the leaf region refers to a region that is no longer divided in recursive (or hierarchical) division. That is, the encoder / decodifleader can encode a region that includes a non-zero ultimate transformation coefficient for each depth between regions that have a smaller divided depth than the current block.
[138] To encode recursively split regions with shallower depths, various entropy coding methods can be applied. For example, the encoder / decoder can perform binarization by assigning a binary code to each region and applying binary arithmetic coding to the binary code. Furthermore, when a first region and a second split region of the current block are divided into a plurality of lower regions, an coding method for identifying lower regions of the first region may differ from an coding method for identifying lower regions of the second region. For example, the encoder / decoder may apply binary arithmetic coding to a code to distinguish the lower regions of the first region and apply non-binary arithmetic coding to a code to distinguish the lower regions of the second region.
[139] If a code for distinguishing P'(d)(i 0, i 1,...,1 d) that is not a leaf region is sz' (d) (i 0, i 1, . . . , id) and a code indicating the position g of a non-zero last transformation coefficient in a region A that is a leaf region is s (A, q), a code for encoding g can be represented by the mathematical expression 5.
[140] Mathematical expression 5
[141] With reference to mathematical expression 5, the current blogue can be divided into regions of a depth dqyyq can belong to the region with depth d. Here, the operator Π concatenates codes. q belongs to regions identified by region indices i 0, i 1, . . . ,i (dg) at each depth.
[142] Figure 8 illustrates a method for encoding positional information of a non-zero last transformation coefficient by recursive diction 5 as a modality to which the present description applies.
[143] With reference to Figure 8, a case in which an actual block is a transformation block that has a size of 4x4. According to mathematical expression 4, a set P can be represented by mathematical expression 6.
[144] Mathematical expression 6 P = P (l)= {9l1'9l2' 9l3 ' 9l4 ' 921' 922 ' 923 ' 924 ' 931'932 ' 933 ' 934 ' 941 ' 942 ' 943 ' 944}
[145] P' (0¡ (1) can be divided into 3 regions that have a depth of 1 represented by the mathematical expression 15 7 and a code can be assigned to each divided region.
[146] Mathematical expression 7 P (1,1) = {9n ' 9l2 ' 9l3 ' 921 ' 922 ' 931}5(11) = 0 r P 0'2)={914 ' 923 ' 932 ' 941} 5 0.2) = 10 f - / 30'^)={924 ' 933 ' 934 ' 942'943'944}f5 0,3)=11
[147] Furthermore, P (1)(1,1) and P' (1)(1,3) can be divided respectively into 2 regions having a depth of 2 and 3 regions with the depth of 2 represented by the mathematical expression 8 and each divided region can be assigned a code. aeconn / eznz / E / YiAi aeconn / eznz / E / YiAi
[148] Mathematical expression 8 P2(111)= 4), / (1,1,1) = 0 / (1,1,2)=44 / (112) = 10 P2(113)=4fe'4 / (113) = 11 P2(13,l)={924,g33,^2}, / (1,3,1) = 0 P2(13,2)=K,g43,g44} / (1,3,2) = 1 [14 9] Here, the regions P'' (1)(1,2), P' ( 2 ) (1,1,1 ) , PA(2) (1,1,2) , PL(2) (1, 1,3), P·' (2) (1,3,1) and P ( 2 ) (1,3,2 ) can correspond to leaf regions. The codes for the positions of the coefficients that belong to the leaf regions can be assigned as represented by mathematical expression 9. Qrconn / rznz / E / YiAi
[150] Mathematical expression 9 5(412),^)=00, P1(l2)fe)=01, 5(Ρ1(12432)=1Ο, 5(p1(1,2),941)=11 5(ρ2(11A4η)=^ 5(p2(ll2)g12)=0 , 5( / (112)^)=1 5( / (11,34)=0, 5(p2(11,3413)=10, 5(p2(1,1,3431)=11 5(p2(1,3,1433 ) = 0 , 5(p2(1,3,1),c12A )= 10 , 5(p2(13,1)742)=11 5^(13.2)^)=0, 5(P2(1,3,2)^)=10, 5(p2(13,2) ^43 )=11
[151] Here, the region P(2)(1,1,1) is a region divided into a pixel unit and cannot be assigned a code to identify a coefficient at a specific position in the corresponding region.
[152] If the codes are assigned as represented by mathematical expressions 7 to 9 and a last non-zero transformation coefficient is placed in g 34, the encoder / decoder can encode positional information from the last non-zero transformation coefficient as represented by mathematical expression 10.
[153] Mathematical expression 104? (1,3). s2(1,3,2)· s(p2(1,3,2} qM)= 11 · 1 10 = 11110
[154] In mathematical expression 10, the operator concatenates codes.
[155] The method proposed in the present embodiment can be applied regardless of the size or shape of a transformation block. That is, the method can be applied not only to a case where the current block is a square block, but also to a case where the current block is a non-square block or a block of any shape.
[157] Mode 3
[158] In one embodiment of the present description, the encoder / decoder can divide the positional information of a last non-zero transformation coefficient into a prefix and a suffix, and perform binarization thereon. For example, the encoder / decoder can represent a prefix as a truncated code and represent a suffix as a fixed-length code.
[159] The encoder / decoder can split each of the horizontal (i.e., x-coordinate) and vertical (i.e., y-coordinate) coordinates of the last non-zero transformation coefficient into a prefix and a suffix, and perform binarization thereon. If a prefix is represented as a truncated nail code and a suffix is represented as a fixed-length code, the encoder / decoder can group coordinate values and assign a binary code to each group as shown in Table 1.
[160] Table 1 Position group Fief1j or Group index suffix Range 1 0 0 - 2 1 10 - 3 2-3 110 V 4 4-8 1110 XX .......... ..........
[161] When assuming a case where the coordinate values in the current block are forgotten in N groups, the codes in Table 1 can be represented by a set of parameters B k as represented by mathematical expression 11.
[162] Mathematical expression 11 = { / / ,^,...,73,^,...,5^,0^( / ,7')(1 < / < A,1 < 7 < 3)-Cs( / ,7)(1 < / < Λ / 1 < 7 < S1.)}
[163] Here, B i denotes the length of a prefix code aeconn / eznz / E / YiAi for a group i. If it denotes the length of a suffix code for group i, P i can be determined as represented by the mathematical expression 12. aeconn / eznz / E / YiAi
[164] Mathematical expression 12 Pt=- ú 1 <!<JV-1 yV-l i=N
[165] Furthermore, Si can satisfy S Ü0.
[166] A regular encoding method that uses a context for each bin (i.e., a binary symbol) can be applied to both a prefix code and a suffix code. That is, in mathematical expression 11, C(p)(i, j) indicates a context index for a j-th bin (i.e., binary symbol) in a prefix for a group i. Agui, l <i<N, l<g <p i y c (ρ) (i, j )>0 can be satisfied. If the number of contexts is UC and the context index starts from 1, the encoder / decoder can be configured to refer to derivation coding when the context index value is 0.
[167] Furthermore, in mathematical expression 11, C (s )(i, j) indicates a context index for a jth bin in a suffix for group i. Here, 1<1 <N, l<j <s i y c (s) (i, j )->0 can be satisfied. If the number of contexts is NC and the context index starts from 1, the encoder / decoder can be configured to refer to derivation coding when the context index value is 0.
[168] All parameter sets supported in the encoder / decoder can be represented as a set represented by the mathematical expression 13 based on the mathematical expression 11.
[169] Mathematical expression 13
[170] With reference to mathematical expression 13, the 10 encoder / decoder can support |3| sets of parameters for encoding the position of a non-zero last transformation coefficient. The aforementioned set of parameters may be called an encoding parameter, a set of encoding parameters, a 15 encoding method, or similar.
[171] In one embodiment of the present description, the encoder / decoder can adaptively determine a specific parameter set from |3| parameter sets to encode the position of a last non-zero transformation coefficient 20 and encode the last non-zero transformation coefficient using the determined parameter set.
[172] To adaptively determine a specific set of parameters from a plurality of sets of 25 parameters, the encoder / decoder can store (or include) several sets of parameters in advance. Hereafter, one set of parameters will be exemplified.
[173] When assuming a case where the width or height of a current block is 128, the encoder / decoder can assign a code to the position of each pixel (or coefficient) in the current block as shown in Table orconn / rznz / E / YiAi
[174] Board Position Prefix Suffix Suffix range Truncated nail Fixed length 0 0 - - 1 10 - - 2 110 - - 3 1110 - - 4-5 11110 A 0 to 1 6-7 111110 11111110 λΧ 0 to 3 16-23 111111110 AAA 0 to 7 24-31 1111111110 / . / .A 0 to 7 32-47 11111111110 ΛΑΛΛ 0 to 15 4 8-63 111111111110 ΛΛΧΧ 0 to 15 64-95 1111111111110 xxxxx 0 to 31 96-127 1111111111111 ΛΑΛΛΛ 0 to 31
[175] With reference to Table 2, the encoder / decoder can group the width of the current block's height into horizontal groups or vertical groups. In addition, the encoder / decoder can assign a prefix, represented as a truncated nail code, to each horizontal (or vertical) group. The encoder / decoder can also assign a suffix, represented as a fixed-length code, to the position of a coefficient in the horizontal (or vertical) groups.
[176] In this case, the encoder / decoder can encode the prefix in a regular mode using a context and 5 encode the suffix in a derivation mode that does not use a context.
[177] In general, the position of a last non-zero coefficient of a transformation block in an image may be trending. Consequently, this trend (i.e., the bin generation probability) can be effectively reflected by applying regular mode to prefix encoding, and simplification and parallelization of the implementation can be improved by applying derivation mode to suffix encoding.
[178] The encoder / decoder can assign codes in such a way that a suffix length increases to more than 0 starting from a relatively low group and the suffix length increases more rapidly during the following groups, as shown in Table 3. It is possible to reflect a state in which a last non-zero transformation coefficient is frequently placed in a high-frequency region in a non-square transformation block and improves coding efficiency by setting up codes as described above.
[179] Table 3 Qcconn / eznz / E / YiAi Position Prefix Suffix Suffix Range Clip it truncated (regular mode; Fixed length (bypass mode) 0 0 - - 1 10 - - 2-3 110 V 0 to 1 4-7 1110 \ '.,r 0 to 3 8-15 11110 ΛΛΑ 0 to 7 16-31 111110 XÁAA 0 a 15 32-47 1111110 AmAA 0 a 15 4 8-63 11111110 xxxx 0 a 15 64-85 111111110 ΧΛΛΑΛ 0 a 31 96-127 111111111 xxxxx 0 a 31
[180] Furthermore, the encoder / decoder can assign aeconn / eznz / E / YiAi codes in such a way that the suffix length increases to more than 0 from a relatively high group, as shown in Table 4. By setting up the codes in this way, it is possible to reflect a state in which a last non-zero transformation coefficient is frequently placed in a low-frequency region and the probability of the last non-zero transformation coefficient being placed in a relatively high-frequency region decreases sharply.
[181] Table 4 Position prefix ij or suffix or Suffix range Truncated unary (regular mode) Fixed length (derivation mode) 0 0 - - 1 10 - - 2 110 - - 3 1110 - - 4 11110 - - 5 111110 - - 6-7 1111110 0 to 7 24-31 11111111110 AX?. 0 to 7 32-47 111111111110 ΑΛΛΑ 0 to 15 4 8-63 1111111111110 XXXX 0 to 15 64-95 11111111111110 yyvyy 0 to 31 96-127 11111111111111 aaXaa. 0 to 31
[182] Furthermore, the encoder / decoder can configure codes in such a way that a point is maintained where the suffix length increases to more than 0 and the suffix length starts from 2, as shown in Table 5.
[183] Table 5 Position Prefix Suffix Suffix Range Truncated Nail (Regular mode; Fixed Length (Derivation mode) 0 0 - - 1 10 - - 2 110 - - 3 1110 - - 4-7 11110 AA 0 to 3 8-15 111110 ALA 0 to 7 16-31 1111110 0 to 15 32— 63 11111110 .......... 0 to 31 64-127 111111110 — 0 to 63
[184] In addition, the encoder / decoder can apply regular encoding instead of statement encoding to the first bin of a suffix, as shown in Table 6. 185] Table 6 Position prefix or suffix ij or Suffix range Truncated nail (regular mucus) Fixed length (R: regular mode, X: shunt mode) 0 0 - - 1 10 - - 2 110 - - 3 11101 - - 4-7 11110 RX 0 to 3 8-15 111110 RXX 0 to 7 16-31 1111110 RXXX 0 to 15 32-63 11111110 RXXXX 0 to 31 64-127 111111110 RxxxxX 0 to 63
[187] Assume a case in which the parameter sets (or encoding methods) represented by Table 1, mathematical expressions 12 and 13 have been set (or stored) in advance in the coder / decoder. In this case, the encoder / decoder can encode a non-zero ultimate transformation coefficient using modified parameter sets while adaptively changing parameter sets.
[188] In one mode, the encoder / decoder can determine a set of parameters of a current block based on a probability distribution of a non-zero ultimate transformation coefficient. [18 9] For example, when a range of coordinate values in the current block is from 1 to W, the encoder / decoder can divide the range from 1 to W into M sections. The encoder / decoder can accumulate a count value for a section in which a last non-zero coefficient is placed, provided that the coordinate value of the last non-zero coefficient is encoded. The encoder / decoder can determine a set of 5 parameters (or an encoding method) from a section that has a higher accumulated count value as a parameter set for the current block. Alternatively, the encoder / decoder can calculate (accumulate) probabilities that the last non-zero transformation coefficient will be positioned in the M sections and then determine a parameter set from a section that has a higher probability value.The encoder / decoder can encode the position of the last non-zero transformation coefficient of the current block using the determined parameter set.
[190] Here, the encoder / decoder can reflect statistics for all previously encoded transformation units (i.e., Tus), reflect statistics only on a currently encoded CTU (or maximum encoding unit), or only statistics for CTUs in specific positions (or a specific number of CTUs) among neighboring CTUs in calculating a probability for each section.
[191] For example, the encoder / decoder can select a section in which a cumulative probability value 25 or a cumulative count value is greater than a specific orconn / rznz / E / YiAi threshold from among the M sections and determine a set of parameters from the selected section as a set of parameters to encode a final non-zero transformation coefficient of the current block.
[192] Furthermore, when a preset number of specific sections are selected in a coding process, for example, the coding can be performed using parameter sets for the corresponding sections. Here, the preset number can be configured differently for the sections.
[193] Furthermore, the encoder / decoder can determine a set of parameters of the current block through a state machine method that defines a set of parameters as a state. For example, if a state 15 corresponding to section k among sections M is a current state, the encoder / decoder can set a counter variable in a low-frequency direction and a counter variable in a high-frequency direction for each state. The encoder / decoder can increment a counter value in the low-frequency direction when... A lower frequency side (i.e., a section with smaller coordinates) is encoded than the current section, and a counter value is incremented in the high frequency direction when a higher frequency side (i.e., a section with 25 larger coordinates) is encoded. aeconn / eznz / E / YiAi
[194] When a counter value in the low-frequency or high-frequency direction reaches a specific threshold value, the encoder / decoder can change the current state in the low-frequency or high-frequency direction according to the increased counter value. If the current section has been encoded, both the counter value in the low-frequency and the counter value in the high-frequency direction can be decreased. Alternatively, when a section in the low-frequency direction has been encoded, the encoder / decoder can increase the corresponding counter value and simultaneously decrease the counter value in the high-frequency (or low-frequency) direction.
[195] In another modality, the sets of parameters (or encoding methods) described above represented in Table 1, mathematical expressions 12 and 13 can be applied differently depending on various conditions (e.g., a quantization parameter, a 2 0 block size, a block shape and a prediction mode).
[196] For example, the encoder / decoder can apply different sets of parameters depending on the block sizes.
[197] Furthermore, the encoder / decoder can apply 25 different sets of parameters, for example, depending on the shapes of the blocks. For example, the encoder / decoder can apply different sets of parameters for a square, a non-square with a longer width, and a non-square with a longer height. In addition, the encoder / decoder can apply different sets of parameters for cases where the width-to-height ratios of the non-square blocks are 2:1, 4:1, 8:1, 1:2, 1:4, and 1:8. Furthermore, the encoder / decoder can apply different sets of parameters depending on the block sizes (for example, the widths and heights are 8 x 4, 16 x 8, and 32 x 16) for a non-square block where the width-to-height ratio is 2:1.
[198] Furthermore, the encoder / decoder can apply 15 different sets of parameters to the width and height of a current block in the case of a non-square block. For example, in the case of non-square blocks of 8x4, 16x8, and 32x16, the encoder / decoder can apply the same set of parameters to the longer sides (16, 16, and 32) and apply the same set of parameters to the shorter sides. 8, 4 and 8.
[199] Furthermore, the encoder / decoder can apply different sets of parameters only to longer or shorter sides among non-square block widths or heights. For example, in the case of blocks 8 x 16, 16 x aeconn / eznz / E / YiAi, and 32 x 8, the encoder / decoder can apply a separate set of parameters to the longer sides 16, 16, and 32.
[200] Arbitrary coding methods other than the coding method proposed in Table 1 and mathematical expressions 12 and 13 can be applied as the method described above for adaptively changing coding methods and the method for applying different coding methods depending on various conditions. Furthermore, the method for adaptively changing encoding methods and the method for applying different encoding methods depending on various conditions can be applied individually or combined and applied independently. For example, when an encoding method is adaptedly changed using a state machine, the encoder / decoder can configure different state machines depending on the specific conditions.
[201] In one mode, when a horizontal coordinate and a vertical coordinate of a non-zero ultimate transformation coefficient are encoded independently, the encoder / decoder can be configured to share a separate context set for encoding the horizontal coordinate and a separate context set for encoding the vertical coordinate. Here, a context set refers to a set of parameters that can be used to determine a context and may be called a context, context model, or similarly. Furthermore, the encoder / decoder can apply separate context sets for a square block, a non-square block with a longer side in the horizontal direction, and a non-square block with a longer side in the vertical direction, and apply a single context set only to a non-square block where a width-to-height ratio is a specific value.
[203] Modality 4
[204] In one embodiment of the present description, when a current block is a non-square block, the encoder / decoder can divide the current block into 15 subregions, each of which is composed of a set of a specific number of pixels to encode the position of a non-zero last transformation coefficient. In this case, the specific number can be determined depending on the width-to-height ratio of the current block. This will be described with reference to the following figure.
[205] Figure 9 illustrates a method for encoding positional information of a non-zero ultimate transformation coefficient using a superpixel as a modality to which the present description applies. Qcconn / eznz / E / YiAi
[206] With reference to Figure 9, a description will be made assuming that an actual block is 16 x 4. Here, the encoder / decoder can divide the actual block into superpixels. Here, a superpixel refers to a set of a specific number of pixels, and the specific number can be determined by the width-to-height ratio of the actual block. Since the width-to-height ratio of the actual block is 4, a superpixel can be composed of 4ρ x 1.
[207] That is, when the position of a non-zero last transform coefficient is encoded for a non-square block, a superpixel can be composed of 4 pixels, as shown in Figure 9, so that the number of superpixels in the horizontal direction is the same as the number of superpixels in the vertical direction in the current block. With this configuration, the encoder / decoder can encode a non-zero last region in superpixel units and encode the position of a non-zero last transform coefficient as an offset within a superpixel. For example, when the encoder / decoder encodes a non-zero last region in superpixel units, it can encode the non-zero last region using the same method as a conventional method for encoding a non-zero last transform coefficient in HEVC.
[208] Furthermore, the encoder / decoder can encode an offset using various methods. For example, when a superpixel is composed of 4 pixels, the encoder / decoder can assign codes 00, 01, 10, and 11 to the respective pixel positions. Additionally, the encoder / decoder can assign individual contexts to two containers within the assigned codes and then apply regular encoding. Furthermore, the encoder / decoder can assign different contexts in the horizontal and vertical directions. Additionally, the encoder / decoder can assign an individual context for each block size. In another mode, the encoder / decoder can apply the superpixel-based encoding method only when the width-to-height ratio is a specific ratio (e.g., 1:2 or 2:1). Qcconn / eznz / E / YiAi
[210] Modality 5
[211] The encoder / decoder can cause a non-zero last transform coefficient to be placed within a bounded region, regardless of block size, under a specific condition. For example, the encoder / decoder can cause a non-zero last transform coefficient to be placed within a bounded region in a current block when the width and height of the current block are equal to or greater than specified values, the current block is an inter-prediction (or intra-prediction) coded block, or the product of the width and height of the current block is equal to or greater than a specified value (i.e., the number of pixels in the current block is equal to or greater than a specified number).
[212] In this case, the encoder / decoder can assign a truncated unary prefix code to the bounded region. For example, when the presence of a non-zero last transformation coefficient is guaranteed only in a 32 x 32 region in the upper left of a non-square 64 × 128 block, the encoder / decoder can apply a truncated unary code bounded to 31 for horizontal and vertical coordinate values. In this case, the code 111111111 instead of the code 1111111110 can be assigned as a prefix for sections 24 to 31 in Table 2.
[214] Modalities 1 to 5 described above can be applied independently or can be combined and a plurality of modalities can be applied.
[215] Figure 10 is a flowchart illustrating a method for decoding positional information from a non-zero ultimate transformation coefficient as a modality to which the present description applies.
[216] A decoder decodes a syntax element aeconn / eznz / E / YiAi indicating a last non-zero region from a bitstream (SI 001). Here, the last non-zero region indicates a region that includes a last non-zero transformation coefficient in the scan order.
[217] The decoder divides a current blog into a plurality of subregions (S1002).
[218] As described above, the decoder can divide the current blog into a plurality of subregions by recursively dividing the current blog into regions with 10 lower depths based on a predetermined division method. In this case, the decoder can decode information indicating a region that includes a non-zero last transformation coefficient at each lower depth.
[219] As described above, the decoder can group the width of the current block into a plurality of horizontal groups and group the height of the current block into a plurality of horizontal groups. In this case, the decoder can divide the current block into a plurality of subregions based on the horizontal and vertical groups. Furthermore, the decoder can decode information in a horizontal or vertical group that indicates the last non-zero region between the horizontal or vertical groups.
[220] Furthermore, as described above, a syntax element aeconn / eznz / E / YiAi indicating a last non-zero region can be binarized using a truncated uñarlo code, and a syntax element indicating the position of a last non-zero transformation coefficient region can be binarized using a fixed-length code. Additionally, the syntax element indicating the last non-zero region can be decoded in regular mode using a context, and the syntax element indicating the position of the last zero afferent transformation coefficient region can be decoded in derivation mode without a context.
[221] Furthermore, as described above, the decoder can adaptively determine a set of parameters applied to the current block from among the previously stored sets of parameters. Here, the set of 15 parameters can include at least one parameter indicating the number of horizontal or vertical groups, one parameter indicating the length of the code assigned to each group, and one parameter indicating a context index used for the code assigned to each group, as represented by mathematical expression 11. The decoder can adaptively determine the set of parameters applied to the current block based on a probability distribution of the last non-zero transformation coefficient.
[222] Furthermore, as described above, the 25 decoder can divide the current block into a specific number of pixels determined by the width-to-height ratio of the current block when the current block is a non-square block. Additionally, when the last non-zero transformation coefficient is present in a specific region of the current block, the syntax element can be binarized using a truncated nail code assigned within the range of the specific region.
[223] The decoder determines a last non-zero region of the current blog from among the 10 subregions divided in step SI 002 based on the syntax element decoded in step S1001 (S1003).
[224] As described above, the encoder can signal the last non-zero transformation coefficient in the last non-zero region to the decoder. Here, the decoder can decode index information indicating the position of the last non-zero transformation coefficient in the last non-zero region of the current blog.
[225] Figure 11 illustrates a device for decoding positional information from a non-zero ultimate transformation coefficient as a modality to which the present description applies.
[226] With reference to Figure 11, the decoding device implements the functions, processes and / or methods proposed in Figures 6 to 10. Specifically, the aeconn / eznz / E / YiAi decoding device may include a syntax element decoding unit 1101, a subregion segmentation unit 1102, and a nonzero region determination unit 1103.
[227] The syntax element decoding unit 1101 decodes a syntax element that indicates a last non-zero region from a bitstream. Here, the last non-zero region indicates a region that includes a last non-zero transformation coefficient in the scan order.
[228] Subregion segmentation unit 1102 divides a current block into a plurality of subregions.
[229] As described above, subregion segmentation unit 1102 can divide the current block 15 into a plurality of subregions by recursively dividing the current block into regions with lower depths based on a predetermined division method. In this case, subregion segmentation unit 1102 can decode information indicating a region that includes a non-zero ultimate transformation coefficient 20 at each lower depth.
[230] As described above, subregion segmentation unit 1102 can group the width of the current block into a plurality of horizontal groups, and orconn / rznz / E / YiAi can group the height of the current block into a plurality of horizontal groups. In this case, subregion segmentation unit 1102 can divide the current block into a plurality of subregions based on the horizontal and vertical groups. Furthermore, the last non-zero region determination unit 1103 can decode information in a horizontal or vertical group indicating the last non-zero region among the horizontal or vertical groups.
[231] Furthermore, as described above, a syntax element indicating a last nonzero region can be binarized using a truncated nail code, and a syntax element indicating the position of a last nonzero transformation coefficient region can be binarized using a fixed-length code. Additionally, the syntax element indicating the last nonzero region can be decoded in regular mode using a context, and the syntax element indicating the position of the last nonzero transformation coefficient region can be decoded in derivation mode without a context.
[232] Furthermore, as described above, the last non-zero region determination unit 1103 can adaptively determine a set of parameters applied to the current block from among the previously stored sets of parameters. Here, the set of parameters can include at least one parameter indicating the number of horizontal or vertical aeconn / eznz / E / YiAi groups, a parameter indicating the length of the code assigned to each group, and a parameter indicating a context index used for the code assigned to each group, as represented by mathematical expression 5.11. The last non-zero region determination unit 1103 can adaptively determine the set of parameters applied to the current block based on a probability distribution of the last non-zero transformation coefficient.
[233] Furthermore, as described above, the subregion segmentation unit 1102 can divide the current block into a specific number of pixels determined by the width-to-height ratio of the current block when the current block is a non-square block. Additionally, when the last non-zero transformation coefficient is present in a specific region of the current block, the syntax element can be binaryized using a truncated nail code assigned within the range of the specific region.
[234] The last non-zero region determination unit 20 1103 determines a last non-zero region of the current block among the subregions divided based on the decoded syntax element.
[235] As described above, the encoder can signal the last non-zero transformation coefficient aeconn / eznz / E / YiAi in the last non-zero region to the decoder. Here, the decoder can decode index information indicating the position of the last non-zero transformation coefficient in the last non-zero region of the current block.
[236] The syntax element decoding unit Unit 1101, the subregion segmentation unit 1102, and the last non-zero region determination unit 1103 can be configured organically to perform the methods proposed in this description. For example, the syntax element decoding performed by the syntax element decoding unit 1101 and the segmentation performed by the subregion segmentation unit 1102 can be organically implemented for each depth.
[238] As described above, the modalities described herein can be implemented and realized on a processor, a microprocessor, a controller, or a chip. For example, the functional units illustrated in Figures 1 to 4 can be implemented and run on a computer, a processor, a microprocessor, a controller, or a chip.
[239] Furthermore, the decoder and encoder to which the present description applies can be included in multimedia broadcast transmission / reception apparatus, mobile communication terminals, home cinema video apparatus, digital cinema video apparatus, monitoring cameras, video conversation apparatus, real-time communication apparatus such as video communication apparatus, mobile transmission apparatus, storage media, video cameras, VoD service apparatus, Internet transmission service apparatus, 3D video apparatus, video telephone apparatus, medical video apparatus, etc., and can be used to process video signals and data signals.
[240] Furthermore, a processing method to which the present description applies may be implemented as a program executed by a computer and stored on a computer-readable recording medium. Multimedia data having a data structure conforming to the present description may also be stored on a computer-readable recording medium. A computer-readable recording medium may include any type of recording device capable of storing computer-readable data. Examples of computer-readable recording media may include a Blu-ray disc (BD), a Universal Serial Bus (USB), ROM, RAM, a CD-ROM, magnetic tapes, floppy disks, optical data storage devices, and the like. In addition, a computer-readable recording medium also includes a carrier-wave typing implementation (e.g., Internet transmission).Furthermore, a stream of bits generated through an encoding method can be stored on a computer-readable recording medium or transmitted over wired / wireless communication networks. Qcconn / eznz / E / YiAi Industrial API
[241] Example aspects of the present description have been described for illustrative purposes and experts in the field will appreciate that various modifications, additions and substitutions are possible, without departing from the essential characteristics of the description.< / s>
Claims
1. An apparatus for decoding a video signal, comprising: a memory for storing the video signal; and a processor coupled to the memory, wherein the processor is configured to: check whether an encoding block is divided into several transformation blocks; determine a bounded region on the basis that the encoding block is divided into several transformation blocks, wherein a final non-zero transformation coefficient is placed in the bounded region within an actual transformation block;obtain first information about a position of the last non-zero transformation coefficient within the bounded region, wherein the first information about a position of the last non-zero transformation coefficient includes prefix information of a horizontal position and prefix information of a vertical position for the last non-zero transformation coefficient and suffix information of a horizontal position and suffix information of a vertical position for the last non-zero transformation coefficient;and aeconn / eznz / E / YiAi decode the current transformation block based on the position of the last non-zero transformation coefficient, wherein the prefix information of the horizontal position 5 and the prefix information of the vertical position for the last non-zero transformation coefficient are inversely binarized based on a truncated nail code, and wherein the suffix information of the horizontal position and the suffix information of the vertical position 10 for the last non-zero transformation coefficient are inversely binarized based on a fixed-length code.
2. The apparatus of claim 1, wherein the bounded region is determined based on a width and height of the actual transformer block. 15 3. The apparatus of claim 1, wherein the processor is further configured to: divide the current transformation block into a plurality of subregions, wherein the width of the current transformation block is grouped into a plurality of horizontal groups and the height of the current transformation block is grouped into a plurality of vertical groups, wherein the current transformation block is divided into the plurality of subregions based on the plurality of horizontal groups and the plurality of vertical groups.
4. A video signal encoding apparatus comprising: 5 a memory for storing the video signal; and a processor coupled to the memory, wherein the processor is configured to: divide an encoding block into several transformation blocks; 10 determine a bounded region based on the encoding block being divided into several transformation blocks, wherein a final non-zero transformation coefficient is placed in the bounded region within an actual transformation block;15 generate first information about a position of the last non-zero transformation coefficient within the limited region, wherein the first information about a position of the last non-zero transformation coefficient includes prefix information of a horizontal position 20 and prefix information of a vertical position for the last non-zero transformation coefficient and suffix information of a horizontal position and suffix information of a vertical position for the last non-zero transformation coefficient;and encoding the current transformation block based on the position of the last non-zero transformation coefficient, 5 wherein the horizontal position prefix information and the vertical position prefix information for the last non-zero transformation coefficient are binarized based on a truncated nail code, and wherein the horizontal position suffix information and the vertical position suffix information for the last non-zero transformation coefficient are binarized based on a fixed-length code.
5. The apparatus of claim 4, wherein the bounded region is determined based on a width and height of the actual transformation block.
6. The apparatus of claim 4, wherein the processor is further configured to: divide the current transformation block into a plurality of subregions, 20 wherein the width of the current transformation block is grouped into a plurality of horizontal groups and the height of the current transformation block is grouped into a plurality of vertical groups, Qcconn / eznz / E / YiAi wherein the current transformation block is divided into the plurality of subregions in case of the plurality of horizontal groups and the plurality of vertical groups.
7. A computer-readable medium for storing one or more instructions, the one or more instructions executable by one or more processors to control the video signal processing device to: divide an encoding block into several transformation blocks; 10 determine a bounded region on the basis that the encoding block is divided into several transformation blocks, wherein a final non-zero transformation coefficient is placed in the bounded region within an actual transformation block;15 generate first information about a position of the last non-zero transformation coefficient within the bounded region, wherein the first information about a position of the last non-zero transformation coefficient includes prefix information of a horizontal position 20 and prefix information of a vertical position for the last non-zero transformation coefficient and suffix information of a horizontal position and suffix information of a vertical position for the last non-zero transformation coefficient;and encoding the current transformation block based on the position of the last non-zero transformation coefficient, 5 wherein the horizontal position prefix information and the vertical position prefix information for the last non-zero transformation coefficient are binarized based on a truncated unary code, and wherein the horizontal position suffix information and the vertical position suffix information for the last non-zero transformation coefficient are binarized based on a fixed-length code. orconn / rznz / E / YiAi;