WO2011071342A2 - 트리 구조를 이용한 부호화/복호화 방법 및 장치 - Google Patents
트리 구조를 이용한 부호화/복호화 방법 및 장치 Download PDFInfo
- Publication number
- WO2011071342A2 WO2011071342A2 PCT/KR2010/008860 KR2010008860W WO2011071342A2 WO 2011071342 A2 WO2011071342 A2 WO 2011071342A2 KR 2010008860 W KR2010008860 W KR 2010008860W WO 2011071342 A2 WO2011071342 A2 WO 2011071342A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- layer
- value
- information
- encoding
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Definitions
- the present invention relates to a method and apparatus for encoding / decoding using a tree structure. More specifically, the present invention relates to a method and apparatus for improving coding efficiency by improving encoding efficiency by encoding / decoding various information about an image using a tree structure.
- Techniques for compressing video data currently include H.261, H.263, MPEG-2, and MPEG-4.
- the conventional video compression technique encodes each image by dividing each image into fixed-size macroblocks each consisting of a rectangular region of 16x16 pixels of luminance and 8x8 pixels of a chrominance component. Luma and chrominance components of each macroblock are predicted spatially and temporally, and the predicted residuals are transform and quantization, entropy coding, etc. This is done and compressed.
- the encoding apparatus can intra-prediction encoding by dividing each macroblock into smaller blocks of 16x16 size, 8x8 size, and 4x4 size, and 4 kinds of 16x16 pixel blocks. Intra prediction encoding is performed using one of prediction modes, and one of nine prediction modes for 8x8 pixel blocks and 4x4 pixel blocks. In the case of inter prediction encoding, each macroblock may be divided into 16x16 size, 16x8 size, 8x16 size, 8x8 size, 8x4 size, 4x8 size, and 4x4 pixel blocks to be inter prediction encoded.
- Transform is applied in units of 8x8 size or 4x4 pixel blocks, and scalar quantization is used for quantization of transform coefficients.
- the apparatus for encoding an image should encode various information used for intra prediction encoding and inter prediction encoding, as well as information on an image that is an original target to be encoded by intra prediction encoding or inter prediction encoding.
- the present invention encodes various pieces of information about an image using a tree structure and decodes the encoded data, thereby improving encoding efficiency and improving image compression efficiency.
- the present invention provides a device for encoding information to be encoded for an image, the predetermined region having the image information is grouped into a plurality of groups, the minimum value of the information to be encoded in the grouped region Alternatively, the maximum value is determined as the information of the grouped area, and the node value for each layer is generated up to the top layer, and the difference value between the node value of each layer and the node value of the upper layer, or the value determined according to the node value and the preset criteria for each layer Information about the maximum number of layers and the tree coder encoding the difference between the information, the information about the number of areas to be grouped, and whether the node value for each layer is determined as the minimum value or the maximum value among the node values of the lower layer. Includes an additional information encoder that encodes additional information, including information about It provides a coding apparatus which comprises.
- the apparatus for decoding information by decoding the bitstream information about the maximum number of layers by decoding the bitstream, information about the size of the region of the lowest layer, and node value for each layer Decode the bitstream using the additional information decoder and the additional information to restore the additional information including information on whether to determine the minimum value or the maximum value among the node values of the lower layer. Restores the difference between the node value of the upper layer or the node value for each layer and the value determined according to the preset criteria, and the difference between the restored value and the value determined according to the node value or the preset criteria of the upper layer. Restore the node value of each layer by adding values, and decode the node value of the lowest layer.
- a decoding apparatus comprising a tree decoder for reconstructing as information is provided.
- an apparatus for encoding information to be encoded for an image predetermined regions having the image information are grouped with regions having the same information, and whether nodes are divided for each node of each layer. And additional information encoding additional information including information about the maximum number of layers and a tree encoder for encoding one or more of a flag and a node value indicating whether to split, and information about the size of the region indicated by each node of the lowest layer. It provides an encoding device comprising an encoder.
- an additional information decoder for restoring additional information including a and a bitstream based on the additional information to restore a flag indicating whether a node for each layer is split from the highest layer to the lowest layer, and to restore the flag of each node according to the restored flag.
- a decoding apparatus comprising a tree decoder for restoring information by restoring node values.
- each layer includes at least one node, and each node is divided or not divided into nodes of a lower layer.
- the information on the maximum number of layers constituting the tree structure and the size of the area indicated by each node of the lowest layer Restoring additional information including the information; And restoring a flag indicating whether each node included in each layer is divided based on the additional information, and restoring a node value of a node for each layer according to the restored flag.
- the present invention by encoding a variety of information about the image using a tree structure and decoding the encoded data, it is possible to improve the coding efficiency by improving the coding efficiency.
- FIG. 1 is a block diagram schematically illustrating an encoding apparatus using a tree structure according to a first embodiment of the present invention
- FIG. 2 is an exemplary diagram showing information to be encoded using a tree structure according to the first embodiment of the present invention
- FIG. 3 is an exemplary diagram showing information on a region determined for each layer in a tag tree according to the first embodiment of the present invention
- FIG. 4 is an exemplary diagram showing bits encoded using a tree structure according to the first embodiment of the present invention.
- FIG. 5 is a flowchart illustrating a coding method using a tree structure according to the first embodiment of the present invention
- FIG. 6 is a block diagram schematically illustrating a decoding apparatus using a tree structure according to a first embodiment of the present invention
- FIG. 7 is a flowchart illustrating a decoding method using a tree structure according to the first embodiment of the present invention.
- FIG. 8 is a block diagram schematically illustrating an encoding apparatus using a tree structure according to a second embodiment of the present invention.
- FIG. 9 is an exemplary view showing a tree structure structure according to a second embodiment of the present invention.
- FIG. 10 is an exemplary diagram illustrating a result of encoding information represented by a tree structure according to a second embodiment of the present invention.
- FIG. 11 is an exemplary diagram illustrating another method of dividing a node into lower layers according to the second embodiment of the present invention.
- 12 and 13 are exemplary diagrams illustrating a form of grouping when information of regions is distributed in different ways
- FIG. 14 is a flowchart for explaining a coding method using a tree structure according to the second embodiment of the present invention.
- FIG. 15 is a block diagram schematically illustrating a decoding apparatus using a tree structure according to a second embodiment of the present invention.
- 16 is a flowchart for describing a decoding method using a tree structure according to the second embodiment of the present invention.
- encoding information when encoding or decoding an image, encoding information is encoded by using a tree structure to improve encoding efficiency.
- the information to be encoded includes macroblock type information having a variable size, partition information indicating the size and type of a subblock for prediction and transformation, intra prediction information, and motion.
- Motion Vector Prediction Direction of Motion Vector
- Optimal Motion Vector Prediction Candidate Optimal Interpolation Filter in Arbitrary Size Region
- Use of Quality Enhancement Filter Reference Image Reference Picture Index, Quantization Matrix Index, Optimal Motion Vector Precision, Transform Size Information, Pixel Information of Image, Within a Block Whether there is a non-zero conversion factor is equal to information indicating Coded Block Information or Coefficient Information. It may be a variety of information used to code the video signal information and video signal of the image.
- the predetermined area may be a macroblock of variable size, and may have various sizes such as a 64x64 pixel block, a 32x32 pixel block, a 16x16 pixel block, a 16x32 pixel block, a 4x16 pixel block, or the like. It may be a block of or may be an area of various shapes and sizes, such as a block in which a motion vector is determined.
- encoding and decoding may be applied to entropy encoding and entropy decoding, but the present invention is not limited thereto and may be applied to various other encoded decoding.
- FIG. 1 is a block diagram schematically illustrating an encoding apparatus using a tree structure according to a first embodiment of the present invention.
- the encoding apparatus 100 using the tree structure according to the first embodiment of the present invention may include a tree encoder 110 and a side information encoder 120.
- the tree encoder 110 groups predetermined areas having information to be encoded about an image into a plurality of groups, and determines the minimum or maximum values of the information to be encoded in the grouped area as the information of the grouped areas and for each layer.
- the node value is repeatedly generated to the uppermost layer, and the difference value between the node value of each layer and the node value of the upper layer or the difference value between the node value of each layer and a value determined according to a predetermined criterion is encoded.
- the node value for each layer refers to a value of information of regions grouped for each layer.
- the lowest layer may be a value of information of a predetermined region
- predetermined regions may be a value of information of a region grouped into several groups.
- the value of the information of the grouped area may be determined as the minimum or maximum value of the values of the information of the predetermined areas included in the grouped area.
- the value determined according to a predetermined criterion may be the value most likely to occur in the region encoded so far from the previous region or the surrounding region, but is not necessarily limited thereto and may be a value determined according to various criteria. .
- the tree encoder 110 may use various binary coding methods such as unary code, truncated unary code, and exponential golem code.
- a difference value between the node value of each layer and the node value of an upper layer may be encoded.
- the tree encoder 120 binarizes the difference value between the node value of each layer and the node value of the upper layer by a binary coding method such as a unary code, a truncated unary code, an expansive golem code, and the like.
- a probabilistic model for encoding a node value of a layer to be encoded may be determined based on the node value of an upper layer, or binary arithmetic coding may be performed by varying the probability model for each layer.
- the tree encoder 110 skips encoding of the node value of the lower layer of the layer having the maximum node value. That is, when determining the node value of each layer as the minimum value among the node values of the lower layer, the tree encoder 120 encodes the node value of the corresponding layer if the node value of any layer is the maximum value of information to be encoded.
- the node values of the lower layer are not encoded on the assumption that they all have the same value.
- the tree encoder 110 encodes the node value of the corresponding layer if the node value of the layer is the minimum value of the information to be encoded.
- the node values of the lower layer are not encoded on the assumption that they all have the same value.
- the tree encoder 110 changes a code number assigned to information to be encoded for encoding according to the occurrence probability of the information to be encoded, and allocates a small code number or a large code number according to the occurrence probability. can do.
- the occurrence probability of the information to be encoded may include various occurrence probabilities such as the occurrence probability of the information of a predetermined area or the occurrence probability of the information of the region encoded so far in all or part of the region including the information to be encoded. Can be calculated using.
- the tree encoder 110 When the tree encoder 110 encodes the node value of the top layer, since there is no upper layer of the top layer, the tree encoder 110 sets the node value of the top layer of the top layer to a predetermined value, and between the node value of the top layer and the predetermined value.
- the difference value can be encoded.
- the predetermined value set as the node value of the upper layer of the uppermost layer is a value of the information most likely to occur while being encoded in the whole or part of the area including the information to be encoded, the predetermined value, and the predetermined predetermined value.
- various values may be set, such as a value having the highest occurrence probability.
- the additional information encoder 110 encodes additional information used to encode information of a predetermined region by using the tree structure according to the first embodiment.
- the additional information means information on the maximum number of layers, information on the size of the region of the lowest layer, information on whether the node value for each layer is determined as the minimum value or the maximum value among the node values of the lower layer.
- the same information can be.
- the additional information encoded as described above may be included in a header of a predetermined coding unit such as a sequence header, a picture header, and a slice header of the bitstream.
- FIG. 2 is an exemplary diagram showing information to be encoded using a tree structure and code numbers assigned to each information according to the first embodiment of the present invention.
- FIG. 2 exemplarily shows the precision of a motion vector determined for each 8x16 pixel sized subblock when the macroblock of an image is a 64x64 pixel sized block and the macroblock is divided into 8x16 pixel sized subblocks and inter prediction encoded. It was.
- the information to be encoded is a motion vector precision for a predetermined region, and the predetermined region is a subblock having a size of 8x16 pixels.
- the data to be encoded may be encoded as it is, or may be encoded by assigning a code number to the data to be encoded.
- the method of assigning a code number may be variously changed according to the occurrence probability of the data.
- the code number 1 for 1/2 precision, the code number 2 for 1/4 precision, and 1 / 8 shows an example of allocating the code number 3 to the 8 precision.
- the encoding apparatus 100 according to the first embodiment of the present invention allocates the code number to the precision of each motion vector shown in FIG. As shown in the figure, the process of grouping a predetermined area into a predetermined number for encoding using a tree structure and determining the information of the grouped area based on the information contained in the grouped area for each layer is repeated. Can be determined.
- FIG. 3 is an exemplary diagram showing information on regions determined for each layer according to a first embodiment of the present invention as a tag tree.
- the image encoding apparatus 100 collects and groups four 8x16 pixel subblocks, and the information of the grouped areas is grouped. The process of determining the minimum value of the information included therein is repeated to the uppermost layer to determine the structure of the tree structure as shown in FIG. 3.
- the image encoding apparatus 100 is additional information used to encode information based on a tree structure, and includes information on the maximum number of layers of the tree structure, information on the size of the region of the lowest layer, and grouping by layer. Information about whether the information of the region is determined as the minimum value or the maximum value among the information of the region of the lower layer is encoded. However, the information about the number of areas to be grouped may be included in the additional information instead of the information about the size of the area of the lowest layer to be encoded. In FIG. 3, the maximum number of layers of the tree structure as additional information is four, the size of the region of the lowest layer is 8x16 pixels, and the information of the region grouped by layers is the minimum value of the information of the region of the lower layer. In this case, instead of encoding the size of the region of the lowest layer as additional information, four, which is the number of regions to be grouped, may be encoded as encoding information.
- the value of the information of the first area of the layer 2 is code meaning precision 1/2. It becomes number 1.
- the structure of the tree as shown in FIG. 3 is determined by grouping regions by layer from layer 3 to layer 0 and determining a minimum value of information of regions included in the grouped region as a value of information of grouped regions. do.
- the encoding apparatus 100 When the structure of the tree as shown in FIG. 3 is determined, the encoding apparatus 100 generates and encodes a code bit from an upper layer to a lower layer. In addition, since the encoding apparatus 100 knows the maximum value of the information to be encoded, the encoding apparatus 100 may generate a binarized bit string using the truncated unary code.
- a method of encoding a node of each layer encodes a difference value from an upper node value
- a method of encoding a difference value encodes a binary bit '0' as much as a difference value and encodes a binary bit 1 at the end. If the node value to be encoded is not different from the upper node value, the binary bit '1' is encoded.
- each node value is a binary bit '0' and '1'. Encode using '. Binary bit '0' is encoded as many as the difference value, and binary bit 1 is encoded at the end. If the node value to be encoded is not different from the upper node value, the binary bit '1' is encoded (or '1' may be encoded as many as the number of difference values and '0' may be encoded if there is no difference).
- the lower nodes When encoding the value of each node, if the upper node value is the maximum value of the data to be encoded, the lower nodes cannot have a value larger than the upper node value and thus are not encoded. That is, the lower nodes all have the same value as the sign number of the upper node.
- the binary bit '0' is encoded as much as the difference value with the upper node, and then Do not encode '1' indicating termination. For example, when the maximum value of the data to be encoded is 3, the value of the upper node is 1, and the value of the current encoding target node is 3, the binary bit '00' is encoded.
- the difference value from the minimum value of the data or code number to be encoded is encoded using binary bits 0 and 1 described above.
- another method of encoding the highest node value may encode a difference value with the data having the highest probability of occurrence or the code number.
- FIG. 4 is an exemplary diagram illustrating bits in which the precision of the motion vector of FIG. 2 is encoded by using a tree structure according to the first embodiment of the present invention.
- bits generated by encoding information of regions illustrated in FIG. 2 using a tree structure are shown corresponding to the regions.
- the node value means a code number.
- the node value of the upper layer is 1 (1/2 precision) (assuming 1/2 precision has the highest occurrence probability).
- the difference value between the node value of the highest layer and the node value of the upper layer is 0, and 0 is represented by a binary bit string.
- node 1 the node value of (0,0) is 1 (1/2 precision) and the node value of the upper layer is 1 (1/2 precision), so the difference is 0 and 0 is represented as a binary bit string. It becomes 1.
- the node value of (0,0) is 1 (1/2 precision) and the node value of the upper layer is 1 (1/2 precision), so the difference is 0 and 0 is represented as a binary bit string. It becomes 1.
- the node value of (0,0) is 1 (1/2 precision) and the node value of the upper layer is 1 (1/2 precision), so the difference is 0 and 0 is represented as a binary bit string. It becomes 1. Therefore, the binary bit string encoding the information of the region (0,0) of the regions shown in FIG. 1 becomes 1111.
- the node values of layer 0, layer 1, and layer 2 are not encoded because they are already encoded in the process of encoding the node values of region (0,0), and only node values of layer 3 are encoded. do.
- the node value of (0,1) is 2 (1/4 precision) and the node value of the upper layer is 1 (1/2 precision), so the difference between the code numbers is 1 and 1 is a binary bit string. It is 01. Therefore, the binary bit string encoding the information of the region (0,1) among the regions shown in FIG. 2 becomes 01.
- the node value of layer 0 is not encoded since the node value of region (0,0) has already been encoded, and only the node values of layer 1, layer 2, and layer 3 are encoded. do.
- the node value of (0,1) is 1 (1/2 precision) and the node value of the upper layer is 1 (1/2 precision), so the difference is 1 and 1 is represented as a binary bit string. It becomes 01.
- the node value of (0,2) is 2 (1/4 precision) and the node value of the upper layer is 2 (1/4 precision), so the difference is 0 and 0 is represented as a binary bit string. It becomes 1.
- the node value of (0,4) is 2 (1/4 precision) and the node value of the upper layer is 2 (1/4 precision), so the difference is 0 and 0 is represented as a binary bit string. It becomes 1. Therefore, the binary bit string encoding the information of the region (0,4) of the regions shown in FIG. 1 becomes 0111.
- the node values of the layer 0 and the layer 1 are already encoded and thus are not encoded, and only the node values of the layer 2 and the layer 3 are encoded.
- the node value of (1,0) is 3 (1/8 precision) and the node value of the upper layer is 1 (1/2 precision), so the difference is 2, the maximum value, and the node value is Since it is 3 (1/8 precision), generating a binary bit string with a truncated unary code is 00. Since the maximum value is found, the node values of the lower layer of the node are not encoded.
- the node values of the layer 0 and the layer 1 are already encoded, and thus are not encoded, and only the node values of the layer 2 and the layer 3 are encoded.
- the node value of (0,1) is 3 (1/8 precision) and the node value of the upper layer is 2 (1/4 precision), so the difference is 1 and the node value is 3 (precision 1). / 8), so if you create a binary bit string with a truncated unary code, it will be zero. In this case, because the maximum value is obtained, the node values of the lower layer are not encoded.
- the encoding apparatus 100 In the case of arithmetic encoding, the encoding apparatus 100 generates and performs arithmetic encoding on the generated binary bit stream using information of the surrounding area or the binary bit stream. If the arithmetic coding is not performed, the encoding apparatus 100 includes the generated binary bit string in the bitstream.
- the code number 1 is assigned with 1/2 precision
- the code number 2 is assigned with 1/4 precision
- the code number 3 is assigned with 1/8 resolution and encoded.
- a code number may be differently assigned for each precision by using a probability of occurrence of already encoded information.
- FIG. 5 is a flowchart illustrating a coding method using a tree structure according to the first embodiment of the present invention.
- the encoding apparatus 100 is to group predetermined regions having information to be encoded with respect to an image into a plurality of groups, and to encode within the grouped regions.
- the minimum value or the maximum value of the information is determined as information of the grouped region to generate node values for each layer up to the highest layer (S510), and encode difference values between node values of the layer and node values of the upper layer (S520). Additional information including information on the maximum number of layers, information on the size of the region of the lowest layer, and information on whether the node value of each layer is determined as the minimum value or the maximum value among the node values of the lower layer.
- Code (S530).
- the encoding apparatus 100 does not necessarily have to perform step S530, and may selectively perform the method according to an implementation method or need.
- the encoding apparatus 100 and the decoding apparatus to be described later determine the maximum number of layers, the size of the region of the lowest layer, and the node value for each layer as the minimum value or the maximum value among the node values of the lower layer.
- the encoding apparatus 100 and the decoding apparatus to be described later determine the maximum number of layers, the size of the region of the lowest layer, and the node value for each layer as the minimum value or the maximum value among the node values of the lower layer.
- only information that is not promised in advance may be encoded without encoding the information set in advance. If all the information is set in advance, the additional information may not be encoded.
- the encoding apparatus 100 may encode information by including information about the number of regions to be grouped in encoding information instead of information about the size of the region of the lowest layer. This is because, when the maximum number of layers is determined, the size of the region of the lowest layer where the number of regions to be grouped is determined may also be determined.
- the encoding apparatus 100 may encode the difference value using the binary encoding method, or may encode the difference value using the binary encoding method, and then change the probability model to perform binary arithmetic encoding.
- the probabilistic model may be determined based on the node value of the surrounding layer or the upper layer or may be changed for each layer differently.
- the encoding apparatus 100 may skip encoding the node value of the lower layer of the node having the maximum node value.
- encoding of the node value of the lower layer of the layer having the minimum node value may be skipped.
- the encoding apparatus 100 may change a code number allocated to the information to be encoded for encoding according to the occurrence probability of the information to be encoded.
- the encoding apparatus 100 sets the node value of the upper layer of the uppermost layer to a predetermined value, and sets the difference value between the node value of the uppermost layer and the predetermined predetermined value. Can be encoded.
- FIG. 6 is a block diagram schematically illustrating a decoding apparatus using a tree structure according to a first embodiment of the present invention.
- the decoding apparatus 600 using the tree structure according to the first embodiment of the present invention may include a side information decoder 610 and a tree decoder 620.
- the additional information decoder 610 decodes the bitstream to determine information on the maximum number of layers, information on the size of the region of the lowest layer, and a node value for each layer as the minimum value among the node values of the lower layer.
- the additional information including the information on whether or not to determine is restored.
- the additional information restored as described above may be obtained by the tree decoder 620 restoring the tree structure to obtain a difference value between the node value of each layer and the node value of the upper layer, or a difference value between the node value of each layer and a value determined according to a predetermined criterion. It is used to restore.
- the additional information decoder 610 extracts and decodes the data encoded with additional information from the header of the bitstream to restore the additional information.
- the header of the bitstream may be a macroblock header, a slice header, a picture header, a sequence header, or the like. Can be.
- the value determined according to the preset criterion may be the value most likely to occur in the region decoded so far from the previous region or the surrounding region, but is not necessarily limited thereto and may be a value determined according to various criteria.
- the encoded information decoder 610 is not necessarily included in the decoding apparatus 600, and may be selectively included according to an implementation method or need.
- the encoding apparatus 100 and the decoding apparatus 600 determine the maximum number of layers, the size of the region of the lowest layer, and the node value for each layer as the minimum value or the maximum value among the node values of the lower layer. If it is promised in advance, the encoding apparatus 100 may not encode the additional information, and accordingly, the decoding apparatus 600 also decodes the bitstream and restores the additional information without using the preset additional information. You can restore the structure.
- the tree decoder 620 decodes the bitstream using additional information to restore the difference between the node value of each layer and the node value of the upper layer, or the difference value between the node value of each layer and a value determined according to a predetermined criterion.
- the node value of each layer is restored by adding the restored difference value and the node value of the upper layer, and the node value of the lowest layer is restored as information to be decoded. That is, the tree decoder 620 restores the improved tree structure by using the additional information which is preset or reconstructed by the side information decoder 610, and decodes the bitstream based on the improved tree structure for each layer. Restore the difference between the node value and the node value of the upper layer, and restore the node value for each layer by adding the restored difference value and the node value of the upper layer.
- the tree decoder 620 decodes the bitstream using various binary decoding methods such as unary code, truncated unary code, and expansive golem code to compare the node value of each layer with the higher layer. The difference can be restored.
- the tree decoder 620 decodes the bitstream using various binary decoding methods such as unary code, truncated unary code, and expansive golem code, and then decodes the bitstream to the node value of the surrounding layer or higher layer.
- Binary Arithmetic Decoding may be performed by determining a probability model of a layer.
- the tree decoder 620 may arithmically decode the bitstream by changing a probability model differently for each layer.
- the tree decoder 620 may determine the node of the lower layer of the layer having the maximum value. All values are assumed to be the same value and skipped without decoding. In contrast, when the tree decoder 620 determines that the node value for each layer is determined to be the maximum value among the node values of the lower layer by the additional information, the tree decoder 620 may be a lower layer of the layer having the minimum node value. All node values of are assumed to be the same value and are skipped without decoding.
- the tree decoder 620 may change the code number differently according to the occurrence probability of the information to be decoded. That is, a small code number or a large code number can be allocated according to the occurrence probability of the information to be decoded.
- the occurrence probability of the information to be decoded can be calculated in various ways, such as the occurrence probability of the information of any area around the information to be decoded or the occurrence probability of the information previously decoded and restored before the area having the information to be decoded. have.
- the tree decoder 620 When the tree decoder 620 restores the difference value between the node value of the top layer and the node value of the top layer, the tree decoder 620 assumes that the node value of the top layer of the top layer is an arbitrary value because there is no top layer of the top layer. Restore only the value.
- the arbitrary value may be any value, such as a value having the highest probability of occurrence, a predetermined value, a value having the highest probability of occurrence of the information of the surrounding arbitrary region while decoding.
- the decoding apparatus 600 reconstructs the additional information by extracting and decoding data encoded with the additional information from a picture header, a slice header, a macroblock header, and the like of the bitstream.
- the decoding apparatus 600 may use preset additional information.
- the additional information includes information on the maximum number of layers, information on the size of the region of the lowest layer, and information on whether the node value of each layer is determined as the minimum value or the maximum value among the node values of the lower layer.
- the decoding apparatus 600 may restore the tree structure shown in FIG. 3 by using information about the maximum number of layers and the size of the region of the lowest layer among such additional information.
- the decoding apparatus 600 may restore the tree structure by using information about the number of areas to be grouped instead of information about the size of the area of the lowest layer, and the area to be grouped with information about the size of the area of the lowest layer.
- the tree structure can also be restored by using all information about the number of.
- the decoding apparatus 600 encodes the difference between the node value of each layer and the node value of the higher layer as described above with reference to FIG. 4 using the restored tree structure. Decode the bitstream.
- the decoding apparatus 600 Since the decoding apparatus 600 already knows the maximum value of the information to be decoded, it decodes the binarized bit string using the truncated unary code. At this time, it can be assumed that the code number of 1/2 precision is 1, the code number of 1/4 precision is 2, and the code number of 1/8 precision is 3. The code number according to each precision may be changed differently according to the occurrence probability of each precision.
- the decoding apparatus 600 arithmically decodes a binary bit string, a probability model is generated using information or a binary bit string of a surrounding area, and arithmetic decoding is performed from a next bit stream to generate a binary bit string. If the decoding apparatus 600 does not perform arithmetic decoding on the binary bit string, the decoding device 600 generates the binary bit string by decoding the bit stream.
- the node value of each upper layer When the node value of each upper layer is added to the difference between the node value of each layer and the node value of the upper layer, the node value of each layer is 1, that is, 1/2 precision. Therefore, the restored information of the area (0, 0) is 1/2 precision.
- the layer 0, layer 1, and layer 2 are already decoded when the information is restored for the region (0,0), and thus are not further decoded, and the binary bit string 01 is decoded in the layer 3. If it is, the difference value with the node value of the upper layer becomes 1. Thus, the restored information of the area (0, 1) becomes 2, which means 1/4 precision.
- the layer 0 and the layer 1 are already decoded when the information is restored for the region (0,0), and thus are not further decoded. / 2 precision), so the difference value with the node value of the upper layer is 2, which is the maximum value. Therefore, when the binary bit string 00 is decoded by the truncated unary code, the restored information of the area (2,0) is 1/8. Precision is attained.
- code number 1 is assigned to 1/2 precision
- code number 2 is assigned to 1/4 precision
- code number 3 is assigned to 1/8 precision.
- the code number may be changed differently for each precision by using the probability of occurrence.
- FIG. 7 is a flowchart illustrating a decoding method using a tree structure according to the first embodiment of the present invention.
- the decoding apparatus 600 decodes the bitstream and restores additional information (S710). That is, the decoding apparatus 600 extracts and decodes data encoded with additional information from a header of a predetermined coding unit such as a picture header, a slice header, and a macroblock header of a bitstream to restore the additional information.
- the additional information may include information on the maximum number of layers, information on the size of the region of the lowest layer, and information on whether the node value of each layer is determined as the minimum value or the maximum value among the node values of the lower layer. It may include.
- the decoding apparatus 600 does not necessarily need to perform step S710, and may selectively perform the method according to an implementation method or need. For example, when the encoding apparatus 100 and the decoding apparatus 600 have promised and set all the information included in the additional information in advance, the encoding apparatus 100 does not encode the additional information, and accordingly the decoding apparatus ( 600 may be used to decode the bitstream using preset additional information. If the encoding apparatus 100 and the decoding apparatus 600 set only some of the information included in the additional information in advance, the encoding apparatus 100 encodes only the un promised information and the decoding apparatus 600 By decoding the bitstream, only unscheduled information can be recovered and used together with other preset information for decoding.
- the decoding apparatus 600 restores the difference between the node value of each layer and the node value of the upper layer by decoding the bitstream (S720). That is, the decoding apparatus 600 restores the improved tree structure by using the additional information reconstructed or preset in step 710, and decodes the bitstream by using the reconstructed improved tree structure to determine the node value of each layer and the higher layer. Restore the difference between node values.
- the decoding apparatus 600 restores the node value for each layer by adding the reconstructed difference value and the node value of the upper layer (S730), and restores the node value of the lowest layer as information to be decoded (S740).
- the decoding apparatus 600 may decode the bitstream using a binary decoding method or decode the bitstream using a binary decoding method, and then change the probability model to perform binary arithmetic decoding to restore node values for each layer.
- the probabilistic model may be determined based on the node value of the surrounding layer or the upper layer or may be changed for each layer differently.
- the decoding apparatus 600 may change the code number assigned to the information to be decoded for decoding according to the occurrence probability of the information to be decoded.
- the decoding apparatus 600 restores all the node values of the lower layer of the layer having the maximum node value to the maximum value. can do.
- the decoding apparatus 600 restores all the node values of the lower layer of the layer having the minimum node value to the minimum value. Can be.
- the decoding apparatus 600 may set the node value of the upper layer of the highest layer to a predetermined value to restore the node value of the uppermost layer.
- the compression efficiency can be improved by efficiently encoding information to be encoded on an image using a tree structure.
- FIG. 8 is a block diagram schematically illustrating an encoding apparatus using a tree structure according to a second embodiment of the present invention.
- the encoding apparatus 800 may include a tree encoder 810 for a variable size block and an additional information encoder 820 for a variable size block.
- the tree encoder 810 for the variable size block groups predetermined regions having information to be encoded with respect to an image to regions having the same information, and flags and nodes indicating whether to split according to whether the nodes are divided for each node of each layer. Encode one or more of the values.
- the additional information encoder 820 for the variable size block encodes additional information including information about the maximum number of layers of the tree structure and information about the size of the region indicated by each node of the lowest layer according to the second embodiment. .
- the additional information encoded as described above is included in a header of the bitstream.
- the header of the bitstream may be a sequence header, a picture header, a slice header, a macroblock header, and the like.
- FIG. 9 is an exemplary view showing a tree structure structure according to a second embodiment of the present invention.
- Each region in 9A may be macroblocks having a size of 16 ⁇ 16 pixels, and A, B, and C displayed in each region represent information to be encoded in each region.
- Such information may be motion vector precision, but is not limited thereto, and may be various types of information such as partition type information, intra prediction mode, and coefficient information.
- each region is assumed to be a 16x16 pixel size macroblock, but not only a 16x16 pixel size block but also a 64x64 pixel size block, a 32x32 pixel size block, a 16x32 pixel size block, 16x16 blocks, 16x8 pixel size blocks, 8x8 blocks, 8x4 blocks, 4x8 blocks, or 4x4 blocks.
- the size of each region may not be the same.
- 9B is a group showing regions having the same information among the regions shown in 9A.
- 9C represents a tree structure of information of areas bounded by 9B.
- the size of the region indicated by the lowest node is a macroblock of size 16x16 and the maximum number of layers of the tree structure is 4, such additional information is encoded and included in the header for the region.
- FIG. 10 is an exemplary diagram illustrating a result of encoding information represented by a tree structure according to a second embodiment of the present invention.
- the final bit string as shown in Fig. 10 can be obtained. Encodes whether a node is divided into nodes of a lower layer into one bit. For example, if the bit value is '1', it indicates that the current node is divided into nodes of the lower layer and the bit value is '0'. Indicates that the current node is not divided into nodes of the lower layer. In the case of the node of the lowest layer, the node value of the node of the lowest layer is encoded without encoding whether the node is divided into the nodes of the lower layer.
- the node of the layer 0 is divided into nodes of the lower layer, the node is encoded with the bit value '1'. Since the node value of the first node of the partitioned layer 1 is A and is no longer divided into nodes of the lower layer, the node value is encoded by the bit value '0' and the node value A is encoded. Since the second node of the layer 1 is divided into nodes of the lower layer, the second node is encoded with the bit value '1'. Since the third node of the layer 1 is not divided into the nodes of the lower layer, the third node is encoded with the bit value '0' and the node value B is encoded.
- each node of the layer 2 is encoded, and since the maximum number of layers is 4 in the header, it is known that there are no more nodes of the lower layer.
- Each node value is represented by A, B, and C for convenience of description, but each node value is represented by binary bits.
- FIG. 9 only two cases in which a node is divided into nodes of lower layers or not are illustrated.
- the node is divided into four nodes.
- the fact that a node is divided into four nodes of a lower layer means that an area corresponding to a node of the current layer is divided into four identical sub areas.
- FIG. 11 not divided into the nodes of the lower layer, divided into the nodes of the lower layer of two horizontally long regions, the nodes of the lower layer of two vertically long regions.
- a node may be divided into nodes of various types of lower layers, such as being divided into nodes of lower layers of four zones. At this time, information indicating the four division types is transmitted to the decoding apparatus.
- the encoding apparatus 800 may reduce a bit amount for indicating that there are nodes of a lower layer by encoding a flag indicating that the node of the upper layer is divided into nodes of a specific layer. For example, if the maximum number of layers is designated as four in the header of the bitstream and the information to be encoded is distributed as shown in FIG. 12, the region as shown in FIG. 12 is as shown in FIG. Likewise, regions having the same information can be grouped and displayed.
- the encoding apparatus 800 encodes a flag indicating that a node of a top layer is divided into nodes of a layer 2 or a layer 3, thereby reducing the number of flags indicating that a node of a higher layer is divided into nodes of a lower layer.
- the bit amount can be reduced.
- FIG. 14 is a flowchart illustrating a coding method using a tree structure according to the second embodiment of the present invention.
- the encoding apparatus 800 groups predetermined regions having information among regions having the same information and divides them according to whether nodes are divided for each node of each layer. At least one of a flag indicating whether or not and a node value are encoded (S1410), and additional information including information about the maximum number of layers and information about the size of the region indicated by each node of the lowest layer is encoded (S1420).
- the encoding apparatus 800 may encode a flag indicating that the node is divided. That is, the encoding apparatus 800 may determine whether a node is divided for each node of each layer, and if the node is divided, only the flag indicating that the node is divided into nodes of lower layers without encoding the node value. have.
- the encoding apparatus 800 may encode a flag indicating that the node is not divided and a node value of the node. That is, the encoding apparatus 800 determines whether a node is divided for each node of each layer. If the node is not divided, the encoding apparatus 800 not only encodes a flag indicating that the node is not divided into nodes of lower layers, and also encodes a flag of the node. Node values can be encoded.
- the node value of a node refers to information that a node has. When the areas having the same information are grouped into one node, the same information becomes the node value.
- the encoding apparatus 800 may encode only the node value of the node. That is, before determining whether a node is divided for each layer mode, the encoding apparatus 800 determines whether the node to be encoded is the lowest layer, and if the node is the lowest layer, sets a flag indicating whether to split the node. Only the node value of the node can be encoded without encoding.
- the encoding apparatus 800 may include data encoded with additional information in a header of the bitstream.
- the header of the bitstream may be a header of various coding units such as a sequence header, a picture header, a slice header, and a macroblock header.
- the encoding apparatus 800 may encode a flag indicating that the node is directly divided into nodes of one or more lower layers. That is, when the encoding apparatus 800 encodes a flag indicating whether a node is divided, when the node is divided into nodes of a lower layer, only the flag indicating that the node is divided into just one lower layer is encoded. Instead of being able to do this, a flag indicating that a node is divided into nodes of a plurality of lower layers such as two and three may be encoded.
- 15 is a block diagram schematically illustrating a decoding apparatus using a tree structure according to a second embodiment of the present invention.
- the decoding apparatus 1500 using the tree structure according to the second embodiment of the present invention may include a side information decoder 1510 for a variable size block and a tree decoder 1520 for a variable size block. .
- the additional information decoder 1510 for the variable size block decodes the bitstream to recover additional information including information about the maximum number of layers and information about the size of the region indicated by each node of the lowest layer.
- the additional information restored in this way is used by the tree decoder 1520 for the variable size block to restore the tree structure.
- the additional information decoder 1510 for the variable size block extracts and decodes the data encoded with the additional information from the header of the bitstream, and restores the additional information.
- the header of the bitstream includes a macroblock header, a slice header, and a picture. Header, sequence header, and the like.
- the additional information decoder 1510 for the variable size block is not necessarily included in the decoding apparatus 1500 and may be selectively included according to an implementation method or need.
- the encoding apparatus 800 and the decoding apparatus 1500 promise in advance about the maximum number of layers and the size of an area indicated by each node of the lowest layer, the encoding apparatus 800 does not encode additional information.
- the decoding apparatus 1500 may restore the tree structure by using the predetermined additional information without decoding the bitstream to recover the additional information.
- the tree decoder 1520 for the variable size block decodes the bitstream based on the additional information to restore a flag indicating whether the node for each layer is split from the highest layer to the lowest layer, and to the node of the node for each layer according to the restored flag. Restore the information by restoring the values. That is, the tree decoder 1520 for the variable size block may decode the bitstream based on the additional information reconstructed or preset by the side information decoder 1510 for the variable size block and layer from the highest layer to the lowest layer. Whether or not each node is divided and if not, restores the node value of the node to restore the tree structure structure, and restores information to be decoded based on the restored tree structure structure.
- the decoding apparatus 1500 extracts and decodes encoded side information from a macroblock header, a slice header, a picture header, a sequence header, and the like of the bitstream to restore the side information.
- the additional information includes information on the maximum number of layers in the tree structure and information on the size of the area indicated by each node of the lowest layer.
- the decoding apparatus 1500 extracts a bit string such as the last bit of FIG. 10 from the bitstream, and forms a tree structure as exemplarily shown in FIG. 10 based on the recovered additional information and the extracted bit string as described above. Restore
- a flag indicating whether a node for each layer is divided into nodes of a lower layer from the highest layer to the lowest layer is restored.
- the next bit string is read to restore the node value of the node.
- the restored node value becomes information to be restored.
- the restored flag is divided into the nodes of the lower layer
- the next bit value is read to restore the flag indicating whether the next node or the next node of the next layer is divided into the nodes of the lower layer. In this way, the bit stream is read in sequence to restore the information down to the lowest layer.
- the node of the lowest layer only the node value of each node is restored without restoring a flag indicating whether to split.
- a node When a node is divided into nodes of a lower layer, it is divided into four nodes as in the example illustrated in FIG. 9.
- the fact that a node is divided into four nodes of a lower layer means that an area corresponding to a node of the current layer is divided into four identical sub areas.
- the nodes of the lower layer of the two long regions not divided into the nodes of the lower layer, divided into the nodes of the lower layer of the two long regions, the nodes of the lower layer of the two long regions.
- a node may be divided into nodes of various types of lower layers, such as divided into nodes of lower layers of four zones. At this time, information indicating the four types of division is transmitted from the encoding apparatus to the decoding apparatus.
- the decoding apparatus 1500 restores information from the highest layer to the lowest layer to restore a tree structure such as 9C, and restores information of respective regions shown in 9B and 9A based on the restored tree structure structure. .
- a flag extracted and decoded from the bit stream of the bitstream and reconstructed indicates that a node of a layer is directly divided into nodes of a plurality of lower layers such as two or three
- the layer between the indicated lower layers Skip decoding and decode one or more of a flag indicating whether a node of the indicated lower layer is divided or a node value of the node.
- 16 is a flowchart for describing a decoding method using a tree structure according to the second embodiment of the present invention.
- the decoding apparatus 1500 decodes a bitstream to obtain information on the maximum number of layers and information on the size of an area indicated by each node of the lowest layer. Restoring additional information including a (S1610), decoding a bit string extracted from the bitstream based on the additional information, restoring a flag indicating whether a node for each layer is divided from a top layer to a bottom layer, and according to the restored flag Information is restored by restoring the node value of the node for each layer (S1620).
- the decoding apparatus 1500 may restore the node value of the node when the flag indicating whether to divide the node indicates that the node is not divided into nodes of lower layers. That is, the decoding apparatus 1500 restores a flag indicating whether a node for each layer is divided, and if the restored flag indicates that the corresponding node is divided into nodes of a lower layer, the decoding apparatus 1500 performs decoding on the next node and restores the flag. The node value of the node is restored only when the flag indicates that the flag is not divided into nodes of lower layers of the node.
- a node When a node is divided into nodes of a lower layer, it is divided into four nodes as in the example illustrated in FIG. 9. Alternatively, as shown in FIG. 11, it is not divided into nodes of a lower layer, divided into nodes of a lower layer of two horizontally long regions, and of a lower layer of two vertically long regions.
- a node may be divided into nodes of various types of lower layers, such as divided into nodes and nodes of lower layers of four zones. At this time, information indicating the four types of division is transmitted from the encoding apparatus to the decoding apparatus.
- the decoding apparatus 1500 may restore only the node value of each node with respect to the node of the lowest layer. That is, the decoding apparatus 1500 determines in advance whether or not the node to be decoded is included in the lowest layer in the process of restoring a flag indicating whether the node for each layer is divided and / or the node value of the node. When included in the layer, only the node value of the corresponding node is restored without restoring a flag indicating whether the corresponding node is divided.
- the encoding and decoding target information is not limited to the data of the present embodiment, but may be applied to encoding and decoding of the following various pieces of information.
- the information to be encoded includes macroblock size and type information, macroblock partition information indicating the size and type of a subblock for prediction and transformation, intra prediction information, motion vector, Prediction direction of motion vector, optimal motion vector prediction candidate, optimal interpolation filter of arbitrary size region, presence or absence of use of image quality improvement filter, reference picture index ), Quantization Matrix Index, Optimal Motion Vector Precision, Transform Size Information, Pixel Information of Image, and Non-zero Transform Coefficient in a Block Whether or not there is information such as coded block information or coefficient information Call may be a variety of information used to code the information and the video signal.
- the macroblock has a variable size as a basic unit of image encoding and decoding.
- the size information of the macroblock may be encoded using the tree structure according to the present invention.
- the encoding apparatus according to the present invention generates the maximum size, the minimum size of the macroblock, the maximum number of layers constituting the tree, and the macroblock splitting flag and transmits them to the decoding apparatus.
- Such macroblock maximum and minimum size information and information representing the maximum number of layers constituting the tree may be included in the bitstream as header information such as a sequence, a GOP, a picture, and a slice.
- the macroblock splitting flag may be encoded using a tree structure and included in a coding unit header.
- the information encoded and decoded using the tree structure according to the present invention is the aforementioned macroblock division flag.
- the maximum and minimum size of the macroblock may be set to a horizontal size and a vertical size separately to use a macroblock of any size.
- the macroblock maximum and minimum size values to be encoded may specify the actual size, and may send a value for increasing or decreasing the number of times from a predetermined size. If the size of the maximum macroblock is to be encoded from a predetermined size, the value is encoded. If the predetermined size is 16, the value of log 2 (selected MBsize / 16) is encoded, for example, the size of the macroblock. If 0 is 16x16, 0 is coded and if it is 32x32 size, 1 is coded. In addition, the ratio between the width and the height may be separately encoded.
- the size value of the minimum macroblock is log 2 (the size of the maximum macroblock / the minimum macroblock indicating a ratio of the minimum macroblock size to the maximum macroblock size). May be encoded.
- the size of the minimum macroblock may be encoded through the above-described method, and then the size of the maximum macroblock may be encoded through a log 2 (the size of the maximum macroblock / the size of the minimum macroblock).
- macroblock partition information may be encoded and decoded using a tree structure according to the present invention.
- the macroblock partition information is information related to the size and / or type of a subblock (i.e., macroblock partition) for prediction and / or transform and constitutes a maximum size, a minimum size, and a tree of a subblock for prediction and / or transform.
- the maximum number of layers and a macroblock partition partition flag may be included.
- the encoding apparatus according to the present invention transmits these macroblock partition information to the decoding apparatus.
- the maximum and minimum sizes of the subblocks for prediction and / or transform may be determined in units of an entire picture sequence unit, a picture group (GOP), a picture, or a slice.
- Information about the maximum size, minimum size, and maximum number of layers constituting the tree for such prediction and / or transform may be included in the bitstream as header information such as a sequence, a GOP, a picture, and a slice.
- the macroblock partition partition flag of the macroblock partition information may be encoded using the tree structure according to the present invention.
- the macroblock partition partition flag may be included in a header of a macroblock corresponding to a coding unit or a header of a macroblock partition.
- the size of the subblock for prediction and / or transform that is, the size information of the prediction and / or transform is the maximum and minimum size of the prediction and / or transform is set to the horizontal size and vertical size separately to predict the arbitrary size and You can also use / or.
- the maximum and minimum size values of the available predictions and / or transforms may specify the actual size and may send a value for how many times to increase or decrease the size. If the value of how many times the size of the maximum prediction and / or transform is to be increased from the predetermined size is encoded and the predetermined size is 4, the value of log 2 (size / 4 of the selected prediction and / or transform) is encoded. For example, 0 is encoded when the size of the prediction and / or transform is 4x4, and 1 is encoded when the size of the 8x8 is 8x8. In addition, the ratio between the width and the height may be separately encoded.
- the magnitude value of the minimum prediction and / or transform indicates a ratio value of the minimum prediction and / or transform size to the maximum prediction and / or transform size.
- the value of log 2 (maximum prediction and / or transform size / minimum prediction and / or transform size) may be encoded.
- the magnitude value of the maximum prediction and / or transform is log 2 (the magnitude / minimum prediction and / or It can also be encoded through a value).
- the coded block information indicating whether there is a non-zero transform coefficient in a predetermined block may be a 1-bit long flag indicating whether there is a non-zero transform coefficient in a divided subblock for prediction or transform.
- a flag may be encoded for the luminance component (Y) and the chrominance component (U, V) blocks, respectively, and a non-zero conversion coefficient through one flag for the three luminance component and chrominance component (Y, U, V) blocks. It can also indicate whether or not.
- Flags indicating whether there are non-zero transform coefficients in the subblock of the component may be encoded respectively.
- the tree encoder generates a tree structure of the image information to be encoded by grouping regions having the image information to be encoded with regions having the same information.
- this is only an example of generating a tree structure, and it is apparent to those skilled in the art that the tree structure can be generated in various ways.
- the size of a macroblock which is a unit of encoding and decoding described above, or a size of a subblock for prediction or transformation, is obtained by repeatedly dividing a reference block (for example, a macroblock of maximum size) into smaller subblocks. It can be determined by the manner.
- the macroblocks or the prediction or the transformation of various sizes are performed. Subblocks may be included in one picture. At this time, whether to divide into subblocks is indicated by a partition flag.
- the size information of the macroblock i.e., macroblock partition flag
- the size information of the subblock for prediction or transform i.e., macroblock partition partition flag
- the present invention is applied to a field of image compression processing for encoding and decoding an image, encoding various information about an image using a tree structure, and decoding the encoded data, thereby improving encoding efficiency and compressing the image. It is a very useful invention that produces the effect of improving the efficiency.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
Claims (33)
- 영상 정보를 부호화하는 장치에 있어서,상기 영상 정보를 가지는 소정의 영역들을 복수 개의 그룹으로 그룹화하고, 상기 그룹화된 영역 내의 부호화하고자 하는 정보의 최소값 또는 최대값을 그룹화된 영역의 정보로서 결정하여 레이어별 노드값을 최상위 레이어까지 생성하며, 레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 부호화하는 트리 부호화기; 및레이어의 최대 개수에 대한 정보, 그룹화되는 영역의 개수에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 부호화하는 부가 정보 부호화기;를 포함하는 것을 특징으로 하는 부호화 장치.
- 비트스트림을 복호화하여 정보를 복원하는 장치에 있어서,상기 비트스트림을 복호화하여 레이어의 최대 개수에 대한 정보, 최하위 레이어의 영역의 크기에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 복원하는 부가 정보 복호화기; 및상기 부가 정보를 이용하여 상기 비트스트림을 복호화하여 레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 복원하고, 복원되는 차이값과 상위 레이어의 노드값을 더하여 레이어별 노드값을 복원하며, 최하위 레이어의 노드값을 복호화하고자 하는 정보로서 복원하는 트리 복호화기;를 포함하는 것을 특징으로 하는 복호화 장치.
- 영상 정보를 부호화하는 장치에 있어서,상기 영상 정보를 가지는 소정의 영역들을 동일한 정보를 가지는 영역끼리 그룹화하고 레이어별 노드마다 노드가 분할되는지 여부에 따라 분할 여부를 나타내는 플래그와 노드값 중 하나 이상을 부호화하는 트리 부호화기; 및레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 부호화하는 부가 정보 부호화기;를 포함하는 것을 특징으로 하는 부호화 장치.
- 비트스트림을 복호화하여 정보를 복원하는 장치에 있어서,비트스트림을 복호화하여 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 복원하는 부가 정보 복호화기; 및상기 부가 정보를 기초로 상기 비트스트림을 복호화하여 최상위 레이어로부터 최하위 레이어까지 레이어별 노드의 분할 여부를 나타내는 플래그를 복원하고 상기 복원된 플래그에 따라 상기 레이어별 노드의 노드값을 복원하여 상기 정보를 복원하는 트리 복호화기;를 포함하는 것을 특징으로 하는 복호화 장치.
- 영상 정보를 부호화하는 방법에 있어서,상기 영상 정보를 가지는 소정의 영역들을 복수 개의 그룹으로 그룹화하고, 상기 그룹화된 영역 내의 부호화하고자 하는 정보의 최소값 또는 최대값을 그룹화된 영역의 정보로서 결정하여 레이어별 노드값을 최상위 레이어까지 생성하는 단계; 및레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 부호화하는 단계;를 포함하는 것을 특징으로 하는 부호화 방법.
- 제 5 항에 있어서, 상기 부호화 방법은,레이어의 최대 개수에 대한 정보, 최하위 레이어의 영역의 크기에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 부호화하는 단계를 추가로 포함하는 것을 특징으로 하는 부호화 방법.
- 제 5 항에 있어서, 상기 부호화 방법은,레이어의 최대 개수에 대한 정보, 그룹화되는 영역의 개수에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 부호화하는 단계를 추가로 포함하는 것을 특징으로 하는 부호화 방법.
- 제 5 항에 있어서, 상기 차이값을 부호화하는 단계는,이진 부호화 방법을 이용하여 상기 차이값을 부호화하거나 이진 부호화 방법을 이용하여 상기 차이값을 부호화한 후 확률 모델을 변경하여 이진 산술 부호화하는 것을 특징으로 하는 부호화 방법.
- 제 8 항에 있어서, 상기 확률 모델은,주위의 레이어 또는 상위 레이어의 노드값을 기초로 결정되거나 각 레이어마다 다르게 변경되는 것을 특징으로 하는 부호화 방법.
- 제 5 항에 있어서, 상기 차이값을 부호화하는 단계는,레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는 경우, 노드값이 최대값인 레이어의 하위 레이어의 노드값에 대한 부호화를 스킵하는 것을 특징으로 하는 부호화 방법.
- 제 5 항에 있어서, 상기 차이값을 부호화하는 단계는,레이어별 노드값을 하위 레이어의 노드값들 중 최대값으로 결정하는 경우, 노드값이 최소값인 레이어의 하위 레이어의 노드값에 대한 부호화를 스킵하는 것을 특징으로 하는 부호화 방법.
- 제 5 항에 있어서, 상기 차이값을 부호화하는 단계는,부호화하고자 하는 정보의 발생 확률에 따라 부호화를 위해 부호화하고자 하는 정보에 할당되는 부호 번호를 변경하는 것을 특징으로 하는 부호화 방법.
- 제 5 항에 있어서, 상기 차이값을 부호화하는 단계는,최상위 레이어의 노드값을 부호화하는 경우, 최상위 레이어의 상위 레이어의 노드값을 소정의 값으로 설정하고, 최상위 레이어의 노드값과 상기 설정된 소정의 값 간의 차이값을 부호화하는 것을 특징으로 하는 부호화 방법.
- 비트스트림을 복호화하여 정보를 복원하는 방법에 있어서,상기 비트스트림을 복호화하여 레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 복원하는 단계;상기 복원되는 차이값과 상기 상위 레이어의 노드값 또는 기 설정된 기준에 따라 결정되는 값을 더하여 상기 레이어별 노드값을 복원하는 단계; 및최하위 레이어의 노드값을 복호화하고자 하는 정보로서 복원하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
- 제 14 항에 있어서, 상기 복호화 방법은,상기 비트스트림을 복호화하여 레이어의 최대 개수에 대한 정보, 최하위 레이어의 영역의 크기에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 복원하는 단계를 추가로 포함하는 것을 특징으로 하는 복호화 방법.
- 제 14 항에 있어서, 상기 차이값을 복원하는 단계는,이진 복호화 방법을 이용하여 상기 비트스트림을 복호화하거나 이진 복호화 방법을 이용하여 상기 비트스트림을 복호화한 후 확률 모델을 변경하여 이진 산술 복호화하여 상기 차이값을 복원하는 것을 특징으로 하는 복호화 방법.
- 제 16 항에 있어서, 상기 확률 모델은,주위의 레이어 또는 상위 레이어의 노드값을 기초로 결정되거나 각 레이어마다 다르게 변경되는 것을 특징으로 하는 복호화 방법.
- 제 14 항에 있어서, 상기 차이값을 복원하는 단계는,복호화하고자 하는 정보의 발생 확률에 따라 복호화를 위해 복호화하고자 하는 정보에 할당되는 부호 번호를 변경하는 것을 특징으로 하는 복호화 방법.
- 제 14 항에 있어서, 상기 레이어별 노드값을 복원하는 단계는,레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하였음이 식별되는 경우, 노드값이 최대값인 레이어의 하위 레이어의 노드값을 모두 최대값으로 복원하는 것을 특징으로 하는 복호화 방법.
- 제 14 항에 있어서, 상기 레이어별 노드값을 복원하는 단계는,레이어별 노드값을 하위 레이어의 노드값들 중 최대값으로 결정하였음이 식별되는 경우, 노드값이 최소값인 레이어의 하위 레이어의 노드값을 모두 최소값으로 복원하는 것을 특징으로 하는 복호화 방법.
- 제 14 항에 있어서, 상기 레이어별 노드값을 복원하는 단계는,최상위 레이어의 노드값을 복호화하는 경우, 최상위 레이어의 상위 레이어의 노드값을 소정의 값으로 설정하여 상기 최상위 레이어의 노드값을 복원하는 것을 특징으로 하는 복호화 방법.
- 트리구조를 이용하여 영상 정보를 부호화하는 방법에 있어서,각 레이어는 적어도 하나의 노드를 포함하고, 상기 각 노드는 하위 레이어의 노드로 분할되거나 또는 분할되지 않는 트리 구조를 형성하는 단계;상기 각 노드가 하위 레이어의 노드로 분할되는지 여부에 따라 분할 여부를 나타내는 플래그를 부호화하는 단계; 및레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 부호화하는 단계;를 포함하는 것을 특징으로 하는 부호화 방법.
- 제 22 항에 있어서,상기 노드가 하위 레이어의 노드로 분할되는 경우에는, 상기 노드에 대응하는 영상 영역은 동일한 크기의 4개의 서브 영역으로 분할되는 것을 특징으로 하는 부호화 방법.
- 제 22 항에 있어서,상기 노드가 분할되지 않는 경우에는 상기 노드의 노드값을 부호화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
- 제 22 항에 있어서,상기 노드가 최하위 레이어의 노드인 경우, 분할 여부를 나타내는 플래그는 부호화하지 않고 상기 노드의 노드값만을 부호화하는 것을 특징으로 하는 부호화 방법.
- 제 22 항에 있어서,상기 부호화된 부가 정보는 시퀀스 헤더에 포함된 것을 특징으로 하는 부호화 방법.
- 제 22 항에 있어서,상기 영상 정보는 이미지 블록 내 0이 아닌 변환계수가 있는지 여부를 나타내는 정보인 것을 특징으로 하는 부호화 방법.
- 트리구조를 이용하여 영상 정보를 복원하는 방법에 있어서,상기 트리 구조를 구성하는 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 복원하는 단계; 및상기 부가 정보를 기초로 각 레이어에 포함된 각 노드의 분할 여부를 나타내는 플래그를 복원하고 상기 복원된 플래그에 따라 상기 레이어별 노드의 노드값을 복원하는 단계;를 포함하는 것을 특징으로 하는 복호화 방법.
- 제 28 항에 있어서,상기 노드가 하위 레이어의 노드로 분할되는 경우에는, 상기 노드에 대응하는 영상 영역은 동일한 크기의 4개의 서브 영역으로 분할되는 것을 특징으로 하는 복호화 방법.
- 제 28 항에 있어서, 상기 노드값을 복원하는 단계는,상기 분할여부를 나타내는 플래그가 노드가 분할되지 않음을 나타내는 경우, 상기 플래그가 포함된 레이어에 함께 포함된 상기 노드의 노드값을 복원하는 것을 특징으로 하는 복호화 방법.
- 제 28 항에 있어서,노드가 최하위 레이어의 노드인 경우, 분할 여부를 나타내는 플래그는 비트스트림에 포함되어 있지 않는 것을 특징으로 하는 복호화 방법.
- 제 28 항에 있어서,상기 부가 정보는 시퀀스 헤더에 포함된 것을 특징으로 하는 복호화 방법.
- 제 28 항에 있어서,상기 영상 정보는 이미지 블록 내 0이 아닌 변환계수가 있는지 여부를 나타내는 정보인 것을 특징으로 하는 복호화 방법.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/514,537 US8971656B2 (en) | 2009-12-10 | 2010-12-10 | Encoding/decoding method and apparatus using a tree structure |
CN201080063636.0A CN102771125B (zh) | 2009-12-10 | 2010-12-10 | 使用树形结构的编码/解码方法和装置 |
US14/603,892 US9357220B2 (en) | 2009-12-10 | 2015-01-23 | Encoding / decoding method and apparatus using a tree structure |
US14/607,995 US9351008B2 (en) | 2009-12-10 | 2015-01-28 | Encoding / decoding method and apparatus using a tree structure |
US14/608,551 US9749643B2 (en) | 2009-12-10 | 2015-01-29 | Encoding/decoding method and apparatus using a tree structure |
US14/608,920 US9787996B2 (en) | 2009-12-10 | 2015-01-29 | Encoding/decoding method and apparatus using a tree structure |
US14/609,096 US9787997B2 (en) | 2009-12-10 | 2015-01-29 | Encoding/decoding method and apparatus using a tree structure |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20090122500 | 2009-12-10 | ||
KR10-2009-0122500 | 2009-12-10 | ||
KR20100126315A KR101479141B1 (ko) | 2009-12-10 | 2010-12-10 | 트리 구조를 이용한 부호화/복호화 방법 및 장치 |
KR10-2010-0126315 | 2010-12-10 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/514,537 A-371-Of-International US8971656B2 (en) | 2009-12-10 | 2010-12-10 | Encoding/decoding method and apparatus using a tree structure |
US14/603,892 Continuation US9357220B2 (en) | 2009-12-10 | 2015-01-23 | Encoding / decoding method and apparatus using a tree structure |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2011071342A2 true WO2011071342A2 (ko) | 2011-06-16 |
WO2011071342A3 WO2011071342A3 (ko) | 2011-11-17 |
Family
ID=44146070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2010/008860 WO2011071342A2 (ko) | 2009-12-10 | 2010-12-10 | 트리 구조를 이용한 부호화/복호화 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2011071342A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113574880A (zh) * | 2019-03-13 | 2021-10-29 | 北京字节跳动网络技术有限公司 | 关于子块变换模式的分割 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040068302A (ko) * | 2001-12-20 | 2004-07-30 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 비디오 시퀀스 압축용 인코딩 방법 |
KR100487776B1 (ko) * | 1997-02-12 | 2005-05-09 | 사르노프 코포레이션 | 웨이브렛 코딩 방법에 의해 발생된 웨이브렛 트리들을 인코딩하기 위한 장치 및 방법 |
-
2010
- 2010-12-10 WO PCT/KR2010/008860 patent/WO2011071342A2/ko active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100487776B1 (ko) * | 1997-02-12 | 2005-05-09 | 사르노프 코포레이션 | 웨이브렛 코딩 방법에 의해 발생된 웨이브렛 트리들을 인코딩하기 위한 장치 및 방법 |
KR20040068302A (ko) * | 2001-12-20 | 2004-07-30 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 비디오 시퀀스 압축용 인코딩 방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113574880A (zh) * | 2019-03-13 | 2021-10-29 | 北京字节跳动网络技术有限公司 | 关于子块变换模式的分割 |
US12126802B2 (en) | 2019-03-13 | 2024-10-22 | Beijing Bytedance Network Technology Co., Ltd. | Partitions on sub-block transform mode |
Also Published As
Publication number | Publication date |
---|---|
WO2011071342A3 (ko) | 2011-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011126285A2 (ko) | 부호화 모드에 대한 정보를 부호화, 복호화하는 방법 및 장치 | |
WO2013032074A1 (ko) | 머지 모드 움직임 정보 복호화 장치 | |
WO2012005551A2 (ko) | 변환 계수의 엔트로피 부호화/복호화 방법 및 장치 | |
WO2017057953A1 (ko) | 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치 | |
WO2011019234A2 (en) | Method and apparatus for encoding and decoding image by using large transformation unit | |
WO2010120113A2 (ko) | 예측 모드 선택 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2012144876A2 (ko) | 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2013109039A1 (ko) | 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2011087323A2 (en) | Method and apparatus for encoding and decoding image by using large transform unit | |
WO2013062193A1 (ko) | 영상 복호화 방법 및 장치 | |
WO2012046979A2 (ko) | 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2011126277A2 (en) | Low complexity entropy-encoding/decoding method and apparatus | |
WO2011068331A2 (ko) | 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법 | |
WO2010027182A2 (ko) | 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2011019247A2 (en) | Method and apparatus for encoding/decoding motion vector | |
WO2012099440A2 (ko) | 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법 | |
WO2011145819A2 (ko) | 영상 부호화/복호화 장치 및 방법 | |
WO2011010900A2 (ko) | 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치 | |
WO2011108879A2 (ko) | 영상 부호화 장치, 그 영상 부호화 방법, 영상 복호화 장치 및 그 영상 복호화 방법 | |
WO2013069996A1 (ko) | 변환을 이용한 주파수 도메인 상의 적응적 루프 필터를 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2012011672A2 (ko) | 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치 | |
WO2011021910A2 (ko) | 인트라 예측 부호화/복호화 방법 및 장치 | |
WO2020251260A1 (ko) | Block dpcm 예측 방법을 사용하는 비디오 신호 처리 방법 및 장치 | |
WO2013062194A1 (ko) | 복원 블록을 생성하는 방법 및 장치 | |
WO2019194500A1 (ko) | 인트라 예측에 기반한 영상 코딩 방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080063636.0 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10836237 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase in: |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13514537 Country of ref document: US |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS (EPO FORM 1205A DATED 17-09-2012) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10836237 Country of ref document: EP Kind code of ref document: A2 |