WO2011074919A2 - 영상 부호화/복호화 방법 및 장치 - Google Patents
영상 부호화/복호화 방법 및 장치 Download PDFInfo
- Publication number
- WO2011074919A2 WO2011074919A2 PCT/KR2010/009086 KR2010009086W WO2011074919A2 WO 2011074919 A2 WO2011074919 A2 WO 2011074919A2 KR 2010009086 W KR2010009086 W KR 2010009086W WO 2011074919 A2 WO2011074919 A2 WO 2011074919A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- block
- skip
- encoding
- node
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
- An embodiment of the present invention relates to a method and apparatus for image encoding / decoding. More specifically, image encoding / decoding that can improve the compression efficiency of an image by efficiently encoding encoding information used to encode an image, and encoding an image by selectively using various encoding methods and decoding methods. A method and apparatus are disclosed.
- Video data compression techniques include H.261, H.263, MPEG-2, and MPEG-4.
- the video compression standard encodes each image by dividing each image into macroblocks having a fixed size consisting of 16 ⁇ 16 pixels of a luminance component and a rectangular area of 8 ⁇ 8 pixels of each color difference component. All luminance and chrominance components of each macroblock are predicted spatially and temporally, and the prediction residual is transmitted by performing transform, quantization, and entropy coding.
- the block mode used in the existing video encoding apparatus encodes a flag indicating that the current encoding target block uses a predictive motion vector and has no transform coefficient to be encoded, and no further information is encoded.
- the block type information and the prediction information are encoded and the transform coefficient is encoded.
- an embodiment of the present invention efficiently encodes encoding information used to encode an image, and selectively compresses the image by using various encoding and decoding methods.
- the main purpose is to improve.
- skip information indicating whether a block to be encoded of the image is a skip block is encoded, and the skip information is encoded according to the skip information.
- restore skip information indicating whether a block to be decoded by decoding the bitstream is a skip block, and decode the bitstream according to the skip information to restore skip motion information of the block or intra or inter prediction of the block is a skip block.
- An image decoding apparatus for restoring the block by restoring the information and the transform information, restoring the block based on the skip motion information, or decoding the residual signal information restored by decoding the bitstream based on the prediction information and the transform information. It provides a video encoding / decoding apparatus comprising a.
- skip information indicating whether a block to be encoded of the image is a skip block is encoded, and according to the skip information.
- an embodiment of the present invention in the apparatus for decoding an image, to decode the bitstream to restore the skip information indicating whether the block to be decoded of the image is a skip block and A coded information decoder for decoding the bitstream according to the skip information to restore the skip motion information of the block or to restore the intra or inter prediction information and the transform information of the block; And an image decoder for reconstructing the block by reconstructing the block based on the skip motion information or decoding the residual signal information reconstructed by decoding the bitstream based on the prediction information and the transform information. do.
- skip type information indicating a skip type of a block to be encoded is encoded according to the skip type information.
- an image encoder for encoding residual signal information of the block according to the skip type information is encoded according to the skip type information.
- an encoding information decoder for decoding the bitstream according to the skip type information and restoring skip motion information of the block; And restoring the block based on the motion information determined according to the preset method according to the skip type information, restoring the block based on the skipped motion information, or restoring the block based on the residual signal information of the restored block by decoding the bitstream. It provides an image decoding apparatus comprising a video decoder.
- skip information indicating whether a block to be encoded of the image is a skip block is encoded and the skip information Encoding the skip motion information of the block or encoding intra or inter prediction information and transform information of the block, and predictively encoding residual signal information of the block based on the prediction information and the transform information; And recovering skip information indicating whether a block to be decoded in the image is a skip block by decoding the bitstream and decoding the bitstream according to the skip information to restore skip motion information of the block or intra or inter of the block.
- a method of encoding an image comprising: encoding skip information indicating whether a block to be encoded of the image is a skip block; Encoding skip motion information of the block according to the skip information or encoding intra or inter prediction information and transform information of the block; And predictively encoding the residual signal information of the block based on the prediction information and the transform information.
- an embodiment of the present invention in the method for decoding an image, decoding the bitstream to restore the skip information indicating whether the block to be decoded of the image is a skip block; step; Restoring skip motion information of the block or restoring intra or inter prediction information and transform information of the block by decoding the bitstream according to the skip information; And reconstructing the block by reconstructing the block based on the skip motion information or decoding the residual signal information reconstructed by decoding the bitstream based on the prediction information and the transform information.
- an embodiment of the present invention in the method for encoding an image, if the block to be encoded of the image is a skip block, encoding the skip type information indicating the of the block ; Encoding skip motion information of the block according to the skip type information; And encoding residual signal information of the block according to the skip type information.
- an embodiment of the present invention in the method for decoding an image, the step of restoring the skip type information indicating the skip type of the block to be decoded by decoding the bitstream ; Restoring the block based on the motion information determined in a predetermined manner according to the skip type information, restoring the block based on the skip motion information of the restored block by decoding the bitstream, or restoring the residual signal information recovered by decoding the bitstream. It provides a video decoding method comprising the step of reconstructing the block on the basis.
- the compression efficiency of the image can be improved by efficiently encoding the encoding information used to encode the image and encoding the image by selectively using various encoding methods and decoding methods. Can be improved.
- the skip block may be defined in various ways, and the image may be encoded and decoded by using various methods selectively according to characteristics and / or implementation methods or needs of the image, thereby improving compression efficiency of the image.
- the encoding efficiency may be improved by improving the encoding efficiency.
- FIG. 1 is a block diagram schematically illustrating a video encoding apparatus according to a first embodiment of the present invention
- FIG. 2 is a diagram illustrating macroblocks and subblocks for intra prediction encoding and inter prediction encoding of various sizes according to a first embodiment of the present invention
- FIG. 3 is an exemplary diagram showing a number for each division type according to the first embodiment of the present invention.
- FIG. 4 is a flowchart illustrating a video encoding method according to a first embodiment of the present invention
- FIG. 5 is an exemplary diagram illustrating a syntax structure of a bitstream encoded according to a first embodiment of the present invention
- 6 and 7 are exemplary diagrams for describing a process of encoding split type information using a tree structure according to the first embodiment of the present invention
- FIG. 8 is a block diagram schematically illustrating an image decoding apparatus according to a first embodiment of the present invention.
- FIG. 9 is a flowchart illustrating a video decoding method according to a first embodiment of the present invention.
- FIG. 10 is a block diagram schematically illustrating a video encoding apparatus according to a second embodiment of the present invention.
- FIG. 11 is a flowchart illustrating a video encoding method according to a second embodiment of the present invention.
- FIG. 12 is a block diagram schematically illustrating a configuration of an image decoding apparatus 1200 according to a second embodiment of the present invention.
- FIG. 13 is an exemplary view showing a tree structure according to another embodiment of the present invention.
- FIG. 14 is a block diagram schematically illustrating an encoding apparatus using a tree structure according to a third embodiment of the present invention.
- 15 is an exemplary view showing a tree structure structure according to a third embodiment of the present invention.
- 16 is an exemplary diagram illustrating a result of encoding information represented by a tree structure according to a third embodiment of the present invention.
- 17 is an exemplary diagram illustrating another method of dividing a node into lower layers according to another embodiment of the present invention.
- 18 and 19 are exemplary views illustrating a form in which information of regions is grouped when they are distributed in different ways;
- FIG. 20 is a flowchart for explaining a coding method using a tree structure according to a third embodiment of the present invention.
- 21 is a block diagram schematically illustrating a decoding apparatus using a tree structure according to a third embodiment of the present invention.
- FIG. 22 is a flowchart for describing a decoding method using a tree structure according to another embodiment of the present invention.
- a video encoding apparatus (Video Encoding Apparatus), a video decoding apparatus (Video Decoding Apparatus) to be described below is a personal computer (PC), notebook computer, personal digital assistant (PDA), portable multimedia player (PMP) It may be a user terminal such as a portable multimedia player (PSP), a PlayStation Portable (PSP), a wireless communication terminal, a smart phone, a TV, or a server terminal such as an application server or a service server.
- a communication device such as a communication modem for communicating with various devices or a wired / wireless communication network, a memory for storing various programs and data for encoding or decoding an image or inter or intra prediction for encoding or decoding, and executing a program And a microprocessor for controlling and the like. It can mean a variety of devices.
- an image encoded by a video encoding device into a bitstream may be transmitted in real time or non-real time through a wired or wireless communication network such as the Internet, a local area wireless communication network, a wireless LAN network, a WiBro network, or a mobile communication network, or a cable or universal serial bus.
- the image decoding apparatus may be transmitted to a video decoding apparatus through various communication interfaces such as a universal serial bus (USB), and may be decoded by the video decoding apparatus to restore and reproduce the video.
- USB universal serial bus
- the input image is divided, encoded, and decoded in units of macroblocks, but embodiments of the present invention are not limited thereto. It may be divided into atypical regions and encoded and decoded in divided region units.
- the size of the macroblock may be a variable size rather than a fixed size.
- the maximum size, the minimum size of the available macroblock, and the size of the macroblock of the current picture or region to be encoded may be determined in units of entire sequence, picture group (GOP), picture, or slice, and the like.
- the size information of may be included in the bitstream as header information.
- the maximum size and minimum size of a macroblock that can be used and the size of a macroblock of a current picture or region to be encoded are determined in units of a sequence, a GOP, a picture, a slice, and the like.
- Macros of variable size by including a flag indicating whether or not the size of the macroblock of the current encoding target picture or region is divided from the largest macroblock in the bitstream. You can also use blocks.
- 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 the predetermined size. If the size of the maximum macroblock is increased from a predetermined size by the number of times and the predetermined size is 16, the value of log 2 (selected MBsize / 16) is encoded, for example, the size of the macroblock is In case of 16x16, 0 is encoded and in case of 32x32 size, 1 is encoded. In addition, the ratio of the width to the height may be separately encoded.
- the size value of the minimum macroblock is log 2 (the maximum macroblock size / minimum macroblock) indicating a ratio of the minimum macroblock size to the maximum macroblock size.
- the block size may be encoded.
- the size value of the maximum macroblock may be encoded through the log 2 (size of the maximum macroblock / size of the minimum macroblock).
- FIG. 1 is a block diagram schematically illustrating a video encoding apparatus according to a first embodiment of the present invention.
- the image encoding apparatus 100 may be configured to include an encoding information encoder 110 and an image encoder 120.
- the encoding information encoder 110 encodes encoding information such as macroblock information, prediction information, transform information, residual signal information, and the like.
- the encoding information encoder 110 may encode the pixel information itself of the image.
- the macroblock information may be information such as a maximum macroblock size that can be used, a minimum macroblock size that can be used, a macroblock size of a current picture and region to be encoded, and segmentation information of a macroblock.
- the skip information may be information indicating whether the macroblock or the block is a skip macroblock, size information of subblocks in the skip block, and skip type information indicating whether the skip block encodes only specific information.
- Prediction information is a prediction type indicating whether a corresponding block is an intra block or an inter block, first partition information indicating a size and shape of a subblock in a block for prediction, motion information such as intra prediction mode information, motion vector, and reference picture information. And the like.
- the motion information includes a skip motion vector (Motion Vector), a prediction direction of the motion vector, an optimal motion vector prediction candidate, and a reference image number (Reference) for motion estimation and compensation of the skip block.
- Information such as a picture index, an optimal motion vector precision, and the like.
- the transformation information may be information such as the size of the maximum transformation that can be used, the size of the minimum transformation that can be used, the second partitioning information to indicate the size of the transformation, and the transformation type information indicating which of the various transformations is used.
- the maximum, minimum size of the transform, and the transform size of the current encoding target region may be determined in units of the entire sequence unit, a picture group (GOP), a picture, or a slice, such as a macroblock, and included in the bitstream as header information. Can be.
- the maximum size, minimum size, and size of the transform of the current encoding target picture or region are determined in units of sequence, GOP, picture, slice, and so on. The maximum size and minimum size of the transform are sequence, GOP, picture.
- the encoding may be performed by including the header information such as a slice, a slice, or the like into a bitstream, and a flag indicating whether a current encoding target picture or region is split from a transform having a maximum size may be included in the bitstream.
- the maximum and minimum sizes of the transform may be set separately from the horizontal size and the vertical size.
- the maximum and minimum size values of the transformation may specify the actual size and may send a value for how many times to increase or decrease the size. It is also possible to encode a value for how many times the size of the maximum transform is increased from the predetermined size. In addition, the ratio of the width to the height may be separately encoded.
- the magnitude value of the minimum transform is a log 2 value indicating the ratio of the minimum transform size to the maximum transform size. It can also be encoded.
- the magnitude value of the maximum transform may be encoded through log 2 (the magnitude of the maximum transform / the magnitude of the minimum transform).
- the residual signal information is information indicating whether a non-zero transform coefficient is present in a predetermined block (Coded Block Information), a quantization matrix index (Quantization Matrix Index), a delta quantization parameter, or transform coefficient information (Coefficient Information). Information, and so forth.
- 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.
- the encoded information may include information such as an optimal interpolation filter of an arbitrary size region or whether an image quality improvement filter is used.
- the encoding information encoder 110 encodes skip information indicating whether a block to be encoded is a skip block and encodes skip information according to the skip information.
- the skip information refers to information indicating whether a block is a skip block. That is, the skip information may indicate a skip block and a non-skip block.
- the skip block refers to a mode that does not encode specific information such as first and second split information, motion information, or a transform coefficient.
- the skip information may be implemented as a flag of 1 bit indicating whether the skip block is a non-skip block, but the skip information is not limited thereto and may be implemented in various other ways.
- the image encoding apparatus 100 may encode only information indicating skip, and may not encode other block types, motion information, and transform coefficients.
- a skip block only information indicating that the block is skipped and motion information of the block may be encoded, and information such as type information and transformation coefficient may not be encoded.
- information indicating that the block is skipped only a transform type and a transform coefficient of the block, and no type information and motion information may be encoded.
- information not transmitted may vary according to the size of a skip block. For example, only a transform coefficient that is a case where a current encoding target block is 64x64 size and a skip block may be encoded, and only motion information may be encoded when a 16x16 block is a skip block.
- the prediction information is prediction type information indicating whether a corresponding block is an intra block or an inter block, first partition information indicating a size of subblocks in a block for prediction, intra prediction mode information or a motion vector, and a reference picture number according to the prediction type information.
- Speak movement information such as
- the first splitting information is information for indicating the size and shape of a subblock in a block for prediction and refers to information indicating whether a block is split into smaller subblocks.
- the image encoding apparatus 100 is a macroblock to be encoded in the input image and the size of the macroblock is a block of 64x64 pixel size
- the macroblock of 64x64 pixel size has two 64x32 pixel size.
- a subblock, one 64x32 pixel sized subblock, two 32x32 pixel sized subblocks, four 32x32 pixel sized subblocks, and the like may be divided into various sizes and number of subblocks to be predictively encoded.
- the information indicates whether to divide the macroblock into subblocks for prediction.
- this first partitioning information may be implemented as a partition flag, which is a 1-bit flag indicating whether a block is divided into subblocks or not, but is not necessarily limited thereto. It may be implemented.
- the block is divided into a plurality of subblocks according to a predetermined scheme. For example, it is divided into two or four plural subblocks having the same size.
- the first partitioning information may indicate whether a block is divided into smaller subblocks of a specific size.
- the image encoding apparatus 100 determines that the macroblock having the size of 64x64 pixel is 16 through 1 bit flag.
- the prediction coding may be performed by dividing into 16x16 blocks or by performing prediction coding without dividing a macroblock into subblocks. In addition, the above two methods may be used in combination.
- the skip motion information refers to a motion vector itself determined by motion estimation for the block or a difference vector and / or a reference picture index between the motion vector of the block and the predicted motion vector of the block. . That is, when the corresponding block is a skip block, the video encoding apparatus 100 encodes skip motion information without encoding residual signal information of the block, and restores skip motion information by reconstructing skip motion information in a video decoding apparatus to be described later. The block is restored by compensating for the motion of the block by using the information.
- the skip motion information may be optimal motion vector prediction candidate or prediction motion vector information. That is, when the corresponding block is a skip block, the image encoding apparatus 100 encodes only the predicted motion vector information of the corresponding block, reconstructs the predicted motion vector information in the image decoding apparatus to be described later, and predicts using the reconstructed predicted motion vector information. After determining the motion vector, motion compensation is performed using the determined predicted motion vector. The prediction block obtained through the motion compensation becomes a reconstruction block.
- the image encoding apparatus 100 may apply the skip mode only when the reference picture index is zero. That is, when the current encoding target block is determined to be a skip block, the image encoding apparatus 100 encodes only the difference vector between the selected motion vector itself or the motion vector of the corresponding block and the predictive motion vector of the block, and then the image decoding apparatus to be described later. Reconstruct only the difference vector between the determined motion vector itself or the motion vector of the block and the predicted motion vector of the block, and move the block with a reference picture index of 0 (that is, using the immediately reconstructed picture as a reference picture). To restore the block.
- the motion estimation and the compensation of the skip block may be performed when one or more of the motion vector of the upper block and the left block of the current encoding target block is zero-vector when determining the prediction motion vector of the block to be encoded. ⁇ 0,0 ⁇ ), a zero vector may be used as a predicted motion vector. Otherwise, the median of the motion vectors of the up, left, up-right block is used as the predicted motion vector.
- the current decoding target block is a skip block
- the ⁇ 0,0 ⁇ vector when the motion vector of the upper or left block is ⁇ 0,0 ⁇ , the ⁇ 0,0 ⁇ vector is used as the predictive motion vector and reconstructed. The block is recovered by performing motion compensation by restoring the difference vector.
- another prediction motion vector for each block size may be used.
- the median vector is used as a predictive motion vector regardless of the vector value of the upper block and the left block of the current encoding target block, and for the 16x16 block, the upper block or the left block of the current encoding target block If the vector of is (0,0), the zero-vector is used as the predictive vector, and otherwise, the median vector of three motion vectors of the left block, the upper block, and the upper-left block is used as the predictive motion vector.
- the vector of is (0,0)
- the prediction type information can be encoded in units of macroblocks and indicates whether the prediction type of the corresponding macroblock is I, P, B, or Direct.
- the macroblock may be implemented with a block type flag of 1 bit indicating whether the macroblock is an inter macroblock or an intra macroblock.
- the prediction type information may be encoded in units of a predetermined size, for example, 16 ⁇ 16 size, wherein the prediction types of the subblocks in the predetermined size block are all the same. For example, when the prediction type information is encoded in units of 16 ⁇ 16 blocks, and the encoded prediction type information of the current 16 ⁇ 16 block indicates intra prediction, all of the subblocks in the current 16 ⁇ 16 block are predictively encoded using intra prediction.
- the first split information refers to information indicating the size and shape of a subblock for prediction of the corresponding block.
- the first partitioning information may be divided into four types of subblocks, such as whether the corresponding block is not divided, divided into two horizontally long subblocks, divided into two vertically long subblocks, and divided into four subblocks. It may be represented by partition type information indicating whether to split into subblocks.
- a skip flag indicating whether a macroblock is a skip macroblock is encoded, and if it is not a skip macroblock, prediction information is encoded.
- the prediction information may be implemented by including a 1-bit prediction type flag indicating whether the corresponding macroblock is an inter macroblock or an intra macroblock and partition type information indicating a partition type of a subblock of the macroblock.
- each subblock is skipped after encoding a prediction type flag of 1 bit indicating whether the corresponding block is an inter macroblock or an intra macroblock and partition type information indicating a partition type of a subblock of the corresponding block as prediction information.
- a 1-bit skip subblock flag indicating whether or not a block may be encoded.
- the skip subblock flag indicates whether each subblock of the corresponding block is in a skip mode.
- the skip subblock flag indicates that the subblock is skipped without being encoded. That is, when a specific subblock is a skip block among subblocks of a block to be encoded, motion information or residual signal information is not encoded for the subblock.
- the prediction information flag and 1-bit prediction type indicating whether the block is an inter macroblock or an intra macroblock as prediction information are used as prediction information.
- partition type information indicating a partition type of a subblock of a block a 1-bit skip subblock flag indicating whether each subblock is a skip block may be encoded.
- the skip subblock flag indicates whether each subblock of the corresponding block is in a skip mode.
- the skip subblock flag indicates that the subblock is skipped without being encoded. That is, when a specific subblock is a skip block among subblocks of a block to be encoded, motion information or residual signal information is not encoded for the subblock.
- partition type may be used differently according to the prediction type of the block.
- prediction type and the partition type of the block may be encoded, respectively, or the codewords of the table may be encoded by making all possible combinations of the prediction type and the partition type into one or more tables.
- the transformation information may include information such as second splitting information for indicating the size of the transformation and transformation type information indicating which transformation among various transformations is used.
- the second split information refers to information on a transform unit that performs transform and quantization when transforming and quantizing a block to be encoded or each subblock of the corresponding block. For example, when a block having a size of 64x64 pixels is encoded without being split any more and 16x16 transform is determined to be efficient, information indicating that 16x16 transform is used may be encoded as second split information.
- the second partitioning information may be implemented in a similar manner to the first partitioning information described above. That is, it may be implemented as a 1-bit division flag indicating whether the current block is divided into subblocks for conversion. If the one-bit division flag indicates division, the current block is divided into a plurality of subblocks for conversion in accordance with a predetermined scheme. For example, it is divided into two or four plural subblocks having the same size.
- the conversion type information indicates a type of conversion such as a cosine transform, a sine transform, and a Hadamard transform.
- the coded block pattern refers to information indicating whether a block to be encoded or the coefficients of each subblock of the corresponding block are all zero, and the delta quantization parameter indicates a quantization parameter for the block to be encoded or each subblock of the corresponding block. Say information.
- the above-described skip flag, skip type, prediction type, first partition information, intra prediction mode, motion information, second partition information, transform type information, block pattern, delta quantization parameter, transform coefficient, and the like may be encoded information encoder.
- the image encoder 120 may analyze and determine the input image.
- the image encoder 120 encodes the residual signal information of the block based on the skip information, the prediction information, and the transform information. For example, when the skip information indicates that a block to be encoded is not a skip block, the image encoder 120 performs intra prediction encoding or inter prediction encoding on each subblock according to the prediction information of the block, thereby remaining signal information of the corresponding block.
- the residual signal information refers to information about quantized transform coefficients generated by predicting a luminance component and / or a chrominance component of a block to be encoded in the image and transforming and quantizing the residual block, and the residual signal information is encoded and textured. It is included in the bitstream as Texture Data.
- the image encoder 120 may include a predictor, a subtracter, a transformer and a quantizer, an encoder, an inverse transformer and an inverse quantizer, and an adder. It may be configured to include an Adder, a Filter, and a Picture Buffer.
- the predictor may be configured to include an intra predictor and an inter predictor, and the inter predictor may be configured to include a motion estimator and a motion compensator.
- An input picture which is one picture or one frame of a video, is divided into macroblocks having pixels MxN (where M and N may be integers of 16 or more), and each divided macroblock is divided into macroblocks.
- MxN pixels
- N may be integers of 16 or more
- the macroblock includes a luminance block having MxN pixels and two (M / 2) x (N / 2) pixels.
- the branch is composed of a chrominance block.
- each macroblock is internally divided into smaller subblocks as shown in FIG. 2 to perform intra prediction encoding or inter prediction encoding. .
- FIG. 2 is an exemplary diagram illustrating macroblocks and subblocks for intra prediction encoding and inter prediction encoding of various sizes according to an embodiment of the present invention.
- N is an integer greater than or equal to 16 and the minimum block size is 4x4.
- the macroblock is a 64x64 pixel block
- the subblocks 64x64 pixel blocks, 64x32 pixel blocks, 32x64 pixel blocks, 32x32 pixel blocks belong to the macroblock layer 0
- the subblocks 32x32 pixel blocks, 32x16 pixel blocks, The 16x32 pixel block and the 16x16 pixel block belong to macroblock layer 1.
- macroblock layer K (where The subblocks of the macroblock layer K + 1 may be used only when the largest subblock of the subblock is divided into four blocks.
- the image encoding apparatus 100 may calculate encoding efficiency when the macroblock is encoded into each subblock, and determine the subblock when the highest encoding efficiency is the final intra prediction block or the inter prediction block. Coding efficiency may be measured based on a rate-distortion optimization (RDO) technique.
- RDO rate-distortion optimization
- the size of the minimum block may be determined according to the maximum layer value MaxLayer, which is the maximum usable layer value. For example, in the case of a macroblock of N ⁇ N pixels, the size of the minimum block may be determined as N / (2 MaxLayer ).
- the partition type number may be used as macroblock partition information, first partition information for indicating the size and shape of a subblock for prediction, and second partition information for indicating the size of a transform.
- macroblock layer K when dividing into the macroblock for the current encoding target region from the largest available macroblock, macroblock layer K If the pixel block is no longer divided into small subblocks, The division type number 0 is assigned to the pixel block. Of the macroblock layer K Two pixel blocks If divided into pixel blocks, macroblock layer K The division type number 1 is assigned to the pixel block. Of the macroblock layer K Two pixel blocks If divided into pixel blocks, macroblock layer K The division type number 2 is assigned to the pixel block. Of the macroblock layer K Four pixel blocks Is divided into macroblock layer K The division type number 3 is assigned to the pixel block. Of each macroblock layer K in FIG. Numbers such as 0, 1, 2, 3, etc., displayed on the divided subblocks in the pixel block are partition numbers for identifying each subblock.
- FIG. 4 is a flowchart illustrating an image encoding method according to a first embodiment of the present invention.
- the video encoding apparatus 100 encodes skip information including a skip flag and a skip type indicating whether a block to be encoded is a skip block (S410). For example, the image encoding apparatus 100 encodes information indicating whether a current block is a skip block and skips only encoding residual signal information or skips encoding only motion information of a block without encoding residual signal information of the block. Determine whether or not. If the skip block encodes only the motion information of the block, skip information indicating the skip block is encoded. If not only the motion information of the block but also the residual signal information of the block is encoded, the skip information indicating the skip block is encoded.
- the image encoding apparatus 100 encodes skip motion information of the block according to the skip information, or encodes intra or inter prediction information and transform information (S420), and encodes residual signal information of the block based on the prediction information and the transform information. (S430). That is, the image encoding apparatus 100 encodes the block in a different manner according to whether the skip information indicates that the block to be encoded is a skip block.
- the block to be encoded is a macroblock having a size of 64x64 pixels
- a process of performing the steps S420 and S430 by the image encoding apparatus 100 will be described as an example.
- the image encoding apparatus 100 may encode a skip motion vector for the block. That is, the image encoding apparatus 100 performs motion estimation on a block to be encoded in units of 64x64 pixels to find a reference block, which is the block most similar to the block to be encoded, in the reference picture, and to find a relative position between the reference block and the block to be encoded.
- a motion vector indicating is determined as a skip motion vector
- a reference picture index indicating a reference picture including a reference block is determined as a skip reference picture index
- skip motion information including a skip motion vector and a skip reference picture index is encoded.
- the mode subblocks in the skip block are all skip subblocks, and when the skip block is divided into smaller subblocks, first partition information indicating the size of the subblocks in the skip block is encoded and skip motion information of each subblock is encoded. You can also do that. In this case, the skip motion information is encoded by the number of each subblock.
- the image encoding apparatus 100 may encode intra or inter prediction information and transform information about a block to be encoded. That is, the image encoding apparatus 100 encodes prediction type information indicating whether a block is an intra block or an inter block with respect to a block to be encoded, and, in the case of an inter block, first image information indicating the size of subblocks in a block for inter prediction. Encode That is, when the block type of the subblock of the block to be encoded is an interblock, the video encoding apparatus 100 may be divided into subblocks of 16x16, 16x8, 8x16, and 8x8 sizes.
- each 8x8 block may be divided into 8x8, 8x4, 8x4, and 4x4 smaller subblocks within the 8x8 block.
- the reference block which is the block most similar to the block to be encoded by motion estimation in 64x64 pixel units, is found in the reference picture.
- a motion vector indicating a relative position of a reference block and a block to be encoded is determined, a reference picture index indicating a reference picture including a reference block is determined, and a motion vector generated based on the determined motion vector is compensated for.
- Residual signal information obtained by transforming and quantizing a residual block which is a difference between a predicted block and a block to be encoded, is encoded, and partition information and transform information used for predictive encoding are also encoded.
- the intra prediction mode of the corresponding subblock is determined, and the residual signal information and the prediction information are encoded by predictive encoding based on the determined intra prediction mode.
- the first partitioning information indicating the size of the sub-block in the block for prediction may be represented by using the partition type number shown in FIG. 3, and the partition type number may be used depending on whether the block is an inter macroblock or an intra macroblock. You can do it differently. For example, when the prediction type of the block is the intra prediction mode, only the partition type numbers 0 and 3 of FIG. 3 may be used, and when the inter prediction mode is used, all the partition type bundles 0, 1, 2, and 3 of FIG. 3 may be used.
- the transformation information may further include one or more of second splitting information and transformation type information for indicating the size of the transformation.
- the second splitting information may be represented using the split type number shown in FIG. 3 similarly to the first splitting information, and the types of splitting type numbers available may be different depending on whether the block is an inter macroblock or an intra macroblock. have.
- each subblock in the block according to the first partition information may further include skip information indicating whether each subblock is a skip subblock for.
- the image encoding apparatus 100 may encode split information by using a tree structure. For example, the image encoding apparatus 100 may group a plurality of subblocks in a predetermined region unit and allocate a minimum value of the partition information of the subblocks included in the grouped region as the partition information for the grouped region.
- the layer information may be repeated by layer, and the split information may be encoded by encoding a difference value between the split information on the region grouped by the layer and the split information on the grouped region of the upper layer.
- a method of encoding by the image encoding apparatus 100 using the split type number of FIG. 3 as split information will be described in detail later with reference to FIGS. 6 and 7.
- FIG. 5 is an exemplary diagram illustrating a syntax structure of a bitstream encoded according to a first embodiment of the present invention.
- a bitstream having a syntax structure as shown in FIG. 5 may be generated.
- have. 5 shows a bitstream of a block to be encoded.
- 5A shows a syntax structure of a bitstream in the case of a skip block.
- the bitstream generated by encoding the block may include a skip information field, a first partition information field, and a skip motion information field.
- Data encoded with skip information is allocated to a skip information field
- data encoded with first fragment information is allocated to a first split information field
- data encoded with skip motion information is allocated to a skip motion information field.
- the bitstream generated by encoding the block includes a skip information field, a prediction type field, a first partition information field, an intra prediction mode or a motion information information field, a transform information field, a CBP information, a delta QP, and a residual signal information field.
- a skip information field a prediction type field
- a first partition information field an intra prediction mode or a motion information information field
- a transform information field a CBP information
- delta QP a residual signal information field.
- the CBP information field, the conversion type information field, and the delta QP field are not necessarily included in the bitstream, and some or all of them may be selectively included in the bitstream in an implementation manner.
- the encoding information encoder 110 when the encoding information encoder 110 encodes or decodes an image, the encoding information encoder 110 encodes and decodes information (eg, split information) to be encoded with a tree structure to improve encoding efficiency. Improve.
- information eg, split information
- the encoding and decoding method using the tree structure may be applied to entropy encoding and entropy decoding, but is not necessarily limited thereto and may be applied to various other encoding decoding.
- the encoding information encoder 110 groups predetermined regions having information to be encoded about an image into a plurality of groups, and determines a minimum or maximum value of the information to be encoded in the grouped region as the information of the grouped region. Each node value is repeatedly generated to the highest 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 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.
- the data to be encoded may be encoded as it is, or coded may be assigned to the data to be encoded.
- the method of assigning a code number may be variously changed according to the occurrence probability of data.
- 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 encoding information encoder 110 may use various binary coding methods such as unary code, truncated unary code, and exponential golem code.
- the difference value between the node value of each layer and the node value of the upper layer can 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 encoding information encoder 110 determines the node value of each layer as the minimum value among the node values of the lower layer, the encoding information 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 node value for each layer is determined as the maximum value among the node values of the lower layer, encoding of the node value of the lower layer of the layer having the minimum node value is skipped. That is, when the encoding information encoder 110 determines the node value for each layer as the maximum value among the node values of the lower layer, if the node value of any layer is the minimum value of the information to be encoded, the encoding of the node value of the corresponding layer is performed.
- the node values of the lower layer are assumed to have the same value and are not encoded.
- the encoding information encoder 110 changes a code number allocated to information to be encoded for encoding according to the occurrence probability of the information to be encoded, and then, according to the occurrence probability, a small code number or a large code number is changed. Can be assigned.
- 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 encoding information encoder 110 sets the node value of the top layer of the top layer to a predetermined value because there is no top layer of the top layer, and sets 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 encoding information encoder 110 encodes additional information used for encoding information of a predetermined region by using the tree structure according to the first embodiment.
- the additional information includes information about the maximum number of layers, information about the size of the region of the lowest layer, information for representing a tree structure, and node value for each layer as the minimum or maximum value of the node values of the lower layer. Information such as whether or not to determine the information.
- 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.
- the information for representing the tree structure may be a 1-bit long flag indicating whether the current node is divided into lower layers or a syntax of 2 bits or more.
- the bit value when the bit value is '1', this indicates that the corresponding node is divided into lower layers, and the block of the current layer is divided into four subblocks. That is, create four subnodes for the current node. If the bit value is '0', this indicates that the node is not divided into lower layers.
- the node of the lowest layer encodes information to be encoded, which is the node value of the node, without encoding whether the node is divided into lower layers.
- the case is not divided by using a 1-bit long flag and divided into four zones, but is not divided into lower layers, the lower layer is divided into two horizontally long regions,
- the tree structure may be represented using a syntax longer than 2 bits to indicate that the lower layer is divided into two vertically long regions and the lower layer is divided into various types of lower layers, such as divided into four regions. .
- split information of each subblock of a block to be encoded is represented as split information for each layer by grouping them into a predetermined region.
- Mx (a, b) represents split information of a subblock corresponding to the position of (a, b) in a block to be encoded. That is, Mx (0,0) is the division of the subblock corresponding to the position of (0,0) in the block to be encoded (that is, the first subblock in the raster scan direction in the block to be encoded). Information, and Mx (0,1) indicates partition information of a subblock corresponding to the position of (0,1) in the block to be encoded (that is, the second subblock in the raster scan direction within the block to be encoded). Indicates.
- a certain area unit for example, a constant area unit including two or more subblocks
- 6B shows the result of grouping the partition information of the subblocks shown in 6A and assigning the minimum value to the partition information for the grouped region.
- an area including subblocks (0,0), (0,1), (1,0), and (1,1) shown in 6A is set and grouped in a certain area unit, and within the grouped area division information of each sub-block contains M X (0,0), M X (0,1), M X (1,0), M X (1,1) is the minimum value is selected, and grouped region of the M X It is allocated with partition information of -1 (0,0).
- each subblock included in the grouped region is set and grouped by a predetermined region unit, and the region including the subblocks (0,2), (0,3), (1,2), and (1,3) is set.
- M X (0,2), M X (0,3), M X (1,2), M X (1,3) are selected and grouped region M X -1 (0, It is allocated as the partitioning information of 1). In this manner, the same process is performed on the remaining subblocks.
- the process of allocating the partition information of the subblocks shown in 6A to the partition information of the grouped region shown in 6B is performed by M X -2 , M X -3 . Repeatedly performed until the M 1 layer (Layer) If you can be a division information of the grouped area allocated as 6C, it can be grouped so as to have one partition information of the grouped region as 6D again repeated until M 0 layer have.
- the unit of a predetermined region is set as an area including four subblocks adjacent to each other.
- the present disclosure is not limited thereto, but includes an area including eight subblocks adjacent to each other and six subblocks not adjacent to each other.
- Subblocks may be grouped in various ways such as an area including blocks to allocate partitioning information.
- the allocation of the partition information of the subblocks of the block to be encoded as the partition information of the grouped region may be represented as a tree structure as illustrated in FIG. 7.
- split information on regions grouped by layers is exemplarily illustrated in a tree structure. Assuming split information about the grouped regions for each layer is a node value, the node values of the tree structure illustrated in FIG. 7 may be encoded by encoding a difference value with a node value of an upper node. .
- a method of encoding a difference value between node values and a node value of an upper node encodes binary bit 0 as much as the difference value and then encodes binary bit 1 at the end. If the difference between the node value of the node to be currently encoded and the node value of the higher node is 0, binary bit 1 is encoded.
- an arithmetic encoding method may be used. In this case, a different context may be used for each layer.
- a node value (hereinafter, referred to as 'top node value') of a top node may be encoded as in the following three examples.
- the highest node value may be encoded by encoding a difference value with 0 using binary bits of 0 and 1 as described above.
- the partition type number is set as the partition information and the partition type number is set in the order of the frequency of occurrence of the partition type
- the highest node value is the binary value of the largest partition type number. It can be encoded by encoding using bits.
- the partition type number is set as the partition information, and the partition type number is set in the order of occurrence frequency of the partition type, the highest node value is the difference between the smallest partition type number and 0. It can be encoded by encoding using binary bits.
- the remaining node values except the highest node may be encoded by encoding the difference between the node value of the node to be encoded and the node value of the upper node of the corresponding node using binary bits 0 and 1.
- each node value may be encoded by encoding as many binary bits 0 as the difference value and finally encoding binary bit 1. If the difference between the node value of the node to be encoded and the node value of the higher node is 0, binary bit 1 is encoded.
- each node value may be encoded by encoding as many binary bits 1 as the difference value and then encoding binary bit 0 at the end. When the difference value is 0, the binary bit 0 may be encoded. .
- the node values of the lower nodes of the upper node are not encoded. For example, if the node value of node M 1 (0,0) is 3, M 2 (0,0), M 2 (0,1), and M 2 which are subordinate nodes of node M 1 (0,0) The node values of the (1,0) and M 2 (1,1) nodes are not encoded.
- M 1 (0,0) is the minimum of M 2 (0,0), M 2 (0,1), M 2 (1,0), and M 2 (1,1), so M 2 (0,0) ), M 2 (0,1), M 2 (1,0), and M 2 (1,1) all have a value of 3 or more.
- M 2 (0,0) is the maximum value of the partition information.
- M 2 (0,1), M 2 (1,0), and M 2 (1,1) are values other than 3.
- the node value of the node to be encoded is the maximum value that the partition type number can have, only the number of binary bits 0 as many as the difference value is encoded. Do not encode binary bit 1 at the end.
- the values M 2 (0,1) and M 2 (1,0) encode 00, not binary bit 001.
- the node value of the last node is not encoded when the node values of the nodes except the last node are all larger than the node value of the upper node.
- the remaining node values except for the top node may be encoded by encoding the difference between the node value of the node to be encoded and the node value of the upper node of the corresponding node using binary bits 0 and 1 as described above.
- it may be encoded by encoding a difference value between the node value of each node and the split information having the highest frequency of division type (where the split information with the highest frequency of occurrence may or may not be fixed). If it is not a fixed value, it may be encoded and transmitted to the decoder, or it may not be transmitted.
- the mode with the highest frequency of occurrence may be used by accumulating the statistics of blocks encoded before the current block.
- the partition type information using a tree structure
- 6A partition information of 6B grouped areas is determined by grouping the partition information of subblocks shown in FIG. 6, when the partition type number is set in the order of high frequency, the maximum value of the grouped area is divided into the partitioned information of the grouped area. Can be used as
- FIG. 8 is a block diagram schematically illustrating an image decoding apparatus according to a first embodiment of the present invention.
- the image decoding apparatus 800 may include a coded information decoder 810 and an image decoder 820.
- the encoding information decoder 810 decodes the bitstream to restore encoding information such as skip information, prediction information, transform information, residual signal information, and the like. In addition, the encoding information decoder 810 may decode pixel information itself of an image.
- the encoding information decoder 810 decodes the bitstream to restore skip information indicating whether a block to be decoded in the image is a skip block, and decodes the bitstream according to the skip information to skip the block. Restore the motion information or restore the intra or inter prediction information and transform information of the block.
- the encoding information decoder 810 decodes a bitstream having a syntax structure as shown in FIG. 5, first extracting and decoding data allocated to a skip information field from the bitstream to restore skip information. Extracts and decodes the data allocated to the first partition information and the skip motion information field from the bitstream as shown in 5A according to the recovered skip information to recover the skip motion information, or as shown in 5B, the prediction type field, A first partition indicating a prediction type and a size of a subblock in a block for prediction by extracting and decoding data allocated to a first partition information field, an intra prediction mode or a motion information field, a transform information field, a CBP field, a delta QP field, and the like Information, intra prediction mode or motion information, transform size and type information, CBP Restore predictive information such as information, delta QP, and the like.
- the image decoder 820 reconstructs the block by reconstructing the block based on the skip motion information or by decoding the residual signal information that is reconstructed by decoding the bitstream based on the prediction information and the transform information.
- the image decoder 820 may motion compensate for a block to be decoded or each subblock of the corresponding block by using the recovered skip motion information.
- the generated block is reconstructed into a block to be decoded, and when prediction information is reconstructed by the encoding information decoder 810, intra prediction or inter prediction is performed on the block to be decoded or each subblock of the corresponding block by using the reconstructed prediction information.
- To generate a prediction block decode the bitstream to restore the transform information and the residual signal information, and add the residual block and the prediction block by the reconstructed residual signal information to restore the block to be decoded.
- the image decoder 820 may include a decoder, an inverse quantizer and an inverse transformer, a predictor, an adder, a filter, and a picture buffer.
- the predictor may comprise a motion compensator.
- FIG. 9 is a flowchart illustrating an image decoding method according to a first embodiment of the present invention.
- the image decoding apparatus 800 restores skip information indicating whether a block to be decoded of the image is a skip block by decoding the bitstream (S910). That is, the image decoding apparatus 800 extracts and decodes data encoded with skip information from a bitstream of a block to be decoded, and restores skip information.
- the image decoding apparatus 800 restores skip motion information of a block by decoding the bitstream according to the skip information, or restores intra or inter prediction information and transform information (S920), and restores or predicts a block based on the skip motion information.
- the block is reconstructed by decoding the residual signal information which is recovered by decoding the bitstream based on the information and the transform information (S930). That is, the image decoding apparatus 800 decodes the block in different ways according to whether the restored skip information indicates that the block to be decoded is the skip block.
- the block to be decoded is a macroblock having a size of 64x64 pixels
- a process of performing the steps S920 and S930 by the image decoding apparatus 800 will be described as an example.
- the image decoding apparatus 800 may decode the bitstream to reconstruct the first partition information and the skip motion information for the block. That is, the image decoding apparatus 800 extracts and decompresses first partition information from the bitstream, extracts and decodes skip motion information from the bitstream by the number of subblocks in the block, and restores skip motion information.
- the image decoding apparatus 800 reconstructs the prediction block generated by compensating for the motion of each block by using the reconstructed skip motion information to a block to be decoded.
- the image decoding apparatus 800 may decode the bitstream to restore prediction information about the block. That is, the image decoding apparatus 800 extracts and decodes the data encoded with the prediction information and the data encoded with the transform information from the bitstream to restore the prediction information and the transform information, and the prediction information is the prediction type for the block to be decoded.
- Information first partition information indicating the size and shape of the sub-block in the block, intra prediction mode or motion information.
- the image decoding apparatus 800 extracts and decodes the encoded data of the residual signal information from the bitstream based on the reconstructed prediction information, the transform information, and the like to restore and restore the residual signal information. Reconstruct the residual block by inverse quantization and inverse transform of the information, generate a prediction block by predicting a block to be decoded based on the prediction information and the transform information, and then add the reconstructed residual block and the prediction block to decode the block. Restore
- the prediction information may include a prediction type flag indicating whether the block is an inter macroblock or an intra macroblock and the size of a subblock in the block for prediction. And a skip subblock flag indicating whether each subblock is a skip subblock as well as the first partitioning information indicating the shape. That is, when the block to be decoded is not a skip block, the image decoding apparatus 800 does not have to extract and decode data encoded with residual signal information and data encoded with prediction information from the bitstream, and skips from the bitstream. When only the subblock flag is decoded and it is determined that the block mode of any subblock is the skip mode, decoding may be skipped for the corresponding subblock.
- the image decoding apparatus 800 may restore the partition information by using a tree structure.
- the macroblock partitioning information may also be restored by using a tree structure.
- the encoding information decoder 810 decodes information (eg, segmentation information) to be reconstructed with respect to an image using a tree structure.
- the encoding information decoder 810 decodes the bitstream to restore 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 thus restored is used to restore the tree structure. At this time, the encoding information decoder 810 extracts and decodes the data encoded with the additional information from the header of the bitstream to restore the additional information.
- the header of the bitstream is a macroblock header, a slice header, a picture header, a sequence header, and the like. Can be.
- the decoding apparatus 800 may also restore the tree structure by using the preset additional information without decoding the bitstream to restore the additional information.
- the encoding information decoder 810 decodes the bitstream based on the additional information, restores a flag indicating whether the nodes of each layer are split from the highest layer to the lowest layer, and restores node values of the nodes of each layer according to the restored flag. Restore the information. That is, the encoded information decoder 810 decodes the bitstream based on the additional information reconstructed or preset by the encoded information decoder 810 to determine whether or not the node for each layer is divided from the highest layer to the lowest layer. In this case, the node value of the node is restored to restore the tree structure structure, and the information to be decoded is restored based on the restored tree structure structure.
- the encoding information decoder 810 decodes the bitstream to determine the information about the maximum number of layers and the size of the area indicated by each node of the lowest layer. Restoring additional information including information about the information, decoding a bit stream extracted from the bitstream based on the additional information, restoring a flag indicating whether to partition a node for each layer from the highest layer to the lowest layer, and layering according to the restored flag. The information is restored by restoring node values of other nodes.
- the encoding information decoder 810 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 lower layers. That is, the encoding information decoder 810 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 lower layers, the encoding information decoder 810 performs decoding on the next node, and restores the flag. Restores the node value of the node only if it is not divided into lower layers of the node.
- the encoding information decoder 810 may restore only the node value of each node with respect to the node of the lowest layer. That is, the encoding information decoder 810 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 a node for each layer is divided and / or a node value of the node. Is included in the lowest layer, only the node value of the corresponding node is restored without restoring a flag indicating whether the corresponding node is divided.
- the number of partition types is set as the partition information, and the number of partition types is set in order of the frequency of occurrence of the partition types, which is different from the largest partition type number.
- the image decoding apparatus 800 extracts data in which the segmentation type information is encoded from the bitstream, decodes binary bits 0 and 1 of the extracted data, and extracts a difference value.
- the image decoding apparatus 800 reads and decodes one bit of the data in which the split type information is encoded, restores the binary bit, and reads the next bit when the restored binary bit is 0.
- the partition type number is set as the partition information, and the partition type number is set in the order of the low frequency of occurrence of the partition type.
- the image decoding apparatus 800 extracts data in which the partition type information is encoded from the bitstream, and decodes binary bits 0 and 1 of the extracted data. Restore the difference value and subtract the restored difference value from the smallest partition type number to restore the highest node value.
- the method of restoring the difference value by the image decoding apparatus 800 is as described above.
- the image decoding apparatus 800 may bit. Data obtained by encoding the partition type information is extracted from the stream, and binary values 0 and 1 of the extracted data are decoded to restore the difference value restored to the most significant node value. In this case, the method of restoring the difference value by the image decoding apparatus 800 is as described above.
- the image decoding apparatus 800 decodes node values of lower nodes of the highest node.
- the image encoding apparatus 100 encodes the node value by encoding the binary bit 0 by the number of difference values between the node value of the node to be encoded and the node value of the higher node
- the image decoding apparatus 800 makes a node of each node.
- the next one bit of the bits extracted from the bitstream and read to restore the highest node value is read and decoded. If the recovered binary bit is 0, the next bit is read and decoded.
- the maximum value of the partition type number can be restored to the node value to be decoded without restoring the binary bit. If the restored binary bit is 1, no more bits are read and the number of restored binary bits 0 is restored to the difference value, and the node value of the node to be decoded by adding the node value of the upper node to the restored difference value. Restore If the image encoding apparatus 100 encodes the node value by encoding the binary bit 1 by the number of difference values between the node value of the node to be encoded and the node value of the higher node, the binary bit reconstructed in the above-described method is Binary bits are recovered by decoding one bit until zero.
- the difference value according to the number of binary bits 0 restored up to now and the node value of the upper node of the corresponding node is the maximum value that the partition type number can have. Instead of reading the bits and restoring the binary bits, the maximum value of the partition type number can be restored to the node value. Also, when restoring the node value of the last node among the nodes having the same parent node, if the node values of the nodes except the last node are all larger than the node value of the parent node, the bit is no longer read and the binary bit is not restored. Restore the node value of the upper node to the node value of the last node.
- the number of partition types having a high frequency is increased in order of high frequency. If set, the node value of the current node is restored by subtracting the restored parent node and node value.
- the corresponding block may be encoded and decoded in an efficient manner according to the combination of the block mode and the split mode of the block to be encoded in the image, the compression efficiency of the image Can improve.
- FIG. 10 is a block diagram schematically illustrating a video encoding apparatus according to a second embodiment of the present invention.
- the image encoding apparatus 1000 may include an encoding information encoder 1010 and an image encoder 1020.
- the encoding information encoder 1010 encodes skip type information indicating a skip type of a block to be encoded, and encodes skip motion information of the block according to the skip type information. That is, when the block mode of the block to be encoded is the skip mode, the encoding information encoder 1010 encodes skip type information indicating a skip type of the block, and encodes skip motion information of the block based on the skip type information. For example, the encoding information encoder 1010 encodes skip motion information of a block when the skip type of the block indicates that the skip motion information of the block is encoded.
- the image encoder 1020 encodes residual signal information of the block according to the skip type information of the block. That is, when the block mode of the block to be encoded is the skip mode, the image encoder 1020 encodes the residual signal information of the block based on the skip type information. For example, the image encoder 1020 encodes skip motion information of a block when the skip type of the block indicates that the residual signal information of the block is encoded.
- the image encoder 1020 may be a predictor, a subtractor, a transform and a quantizer, an encoder, an inverse quantization and an inverse transformer, an adder, a filter, like the image encoder 120 according to the first embodiment of the present invention described above with reference to FIG. 1. And a picture buffer.
- the skip type information of the block indicates that the encoding of the block is skipped, only the skip type information is encoded without the skip motion information and the residual signal information.
- FIG. 11 is a flowchart illustrating a video encoding method according to a second embodiment of the present invention.
- the video encoding apparatus 1000 encodes skip type information indicating a skip type of a block to be encoded, in operation S1110.
- the skip type indicates how the skip mode block is encoded when the block mode of the block is the skip mode. That is, when the block mode of the block to be encoded is the skip mode, the image encoding apparatus 1000 encodes only the residual signal information of the block, only the motion information of the block, or the block when encoding the block according to the skip mode.
- the skip type information indicating whether to skip encoding for the encoding is encoded.
- Such skip type information may be implemented as a skip type flag of 1 bit.
- the skip type information may be represented in three cases as follows through a skip type flag of 1 bit.
- a skip type flag of 0 may indicate that the skip mode skips without encoding the block, and a skip type flag of 1 indicates that the skip mode encodes a skip motion vector without encoding residual signal information of the block. have.
- a skip type flag of 0 may indicate that the skip mode skips without encoding the block, and a skip type flag of 1 indicates that the skip motion vector of the block is encoded without encoding the residual signal information of the block. .
- the skip motion vector of the block is encoded without encoding the residual signal information of the block. If the skip type flag is 1, the residual signal information of the block is encoded without encoding the skip motion vector of the block. Encoding may be indicated.
- the image encoding apparatus 1000 skips encoding of the block, encodes skip motion information of the block, or encodes residual signal information of the block according to the skip type information (S1120).
- the skip type information may indicate that the encoding of the block is skipped or the skip motion information of the block may be encoded.
- the skip type information may indicate that the encoding of the block is skipped or that the residual signal information of the block is encoded.
- the skip type information may indicate encoding skip motion information of the block or may indicate encoding residual signal information of the block.
- the image encoding apparatus 1000 encodes the skip motion information of the block to be encoded and the residual signal information of the corresponding block may be Do not encode.
- the image encoding apparatus 1000 encodes the residual signal information of the block to be encoded and skips the motion vector information of the corresponding block. Does not encode.
- the residual signal information of the block to be encoded may be predictively encoded using motion information determined based on the motion information of the neighboring blocks of the block.
- FIG. 12 is a block diagram schematically illustrating a configuration of an image decoding apparatus 1200 according to a second embodiment of the present invention.
- the image decoding apparatus 1200 may include an encoding information decoder 1210 and an image decoder 1220.
- the encoding information decoder 1210 decodes the bitstream to restore skip type information indicating a skip type of a block to be decoded, and decodes the bitstream according to the skip type information to restore skip motion information of the block.
- the image decoder 1220 may reconstruct a block based on motion information determined according to a preset method according to skip type information, reconstruct a block based on skipped motion information, or based on residual signal information reconstructed by decoding a bitstream. Restore the block.
- the image decoder 1220 is restored by the encoded information decoder 1210.
- the block generated by compensating for the motion of the block to be decoded using the skip motion information is restored to the block to be decoded.
- the image decoder 1220 restores the residual signal information by decoding the bitstream.
- the residual block is reconstructed by inverse quantization and inverse transformation of the residual signal information, and the block to be decoded by adding to a prediction block generated by motion compensation using motion information determined in a predetermined manner is reconstructed. If the video decoder 1220 indicates that skip type information reconstructed by the encoding information decoder 1210 skips encoding on a block, the motion of the corresponding block is determined by using motion information determined in a predetermined manner. The block generated by performing the compensation is restored to the corresponding block.
- the motion information determined in a preset manner may be motion information determined by using motion information of a neighboring block.
- the motion information determined in various preset manners may be used.
- FIG. 13 is a flowchart for explaining a video decoding method according to a first embodiment of the present invention.
- the video decoding apparatus 1200 decodes the bitstream and restores skip type information indicating a skip type of a block to be decoded (S1310). Therefore, the block is restored based on the motion information determined in a predetermined manner or the bitstream is decoded to restore the block based on the skipped motion information of the restored block or the bitstream is decoded based on the residual signal information restored. Restore (S1320).
- the image decoding apparatus 1200 may restore skip type information only when the block mode of the block is the skip mode. That is, since the bitstream includes data in which the skip type information is encoded only when the block mode of the block to be decoded is the skip mode, the data in which the skip type information is encoded from the bitstream is extracted and decoded only in the skip mode. Restore skip type information.
- the image decoding apparatus 1200 may reconstruct the block based on the motion information determined in a preset manner. That is, when the skip type information indicates that the encoding of the block is skipped, the image encoding apparatus 1000 skips encoding of the corresponding block, and thus the bitstream indicates that there is no data in which the encoding information or the residual signal information of the corresponding block is encoded. Therefore, without extracting and decoding data from the bitstream, the motion information (that is, the motion vector and the reference picture index) of the corresponding block is determined in a predetermined manner as promised with the image encoding apparatus 1000, and the determined motion information is determined. The block generated by compensating for the motion of the corresponding block is restored to the block to be decoded.
- the image decoding apparatus 1200 may reconstruct the block based on the skip motion information of the block to be decoded by decoding the bitstream. That is, when the skip type information indicates that the skip motion information of the block is encoded, the video decoding apparatus 1200 encodes skip motion information instead of the residual signal information of the corresponding block in the video encoding apparatus 1000 and remains in the bitstream. Since the signal information has no encoded data, the skip motion information is extracted and decoded from the bitstream to recover the skip motion information, and the motion of the corresponding block is compensated using the recovered skip motion information. The block to be decoded is restored to the block to be decoded.
- the image decoding apparatus 1200 may reconstruct the block based on the residual signal information restored by decoding the bitstream. That is, when the skip type information indicates that the residual signal information of the block is encoded, the image decoding apparatus 1200 encodes the residual signal information instead of the skip motion information of the corresponding block in the image encoding apparatus 1000 and remains in the bitstream. Since the signal information has no encoded data, the residual signal information is extracted and decoded from the bitstream to restore the residual signal information, and the residual signal information is inversely quantized and inversely transformed to restore the residual block.
- a prediction block generated by determining the motion information (that is, the motion vector and the reference picture index) of the corresponding block in a predetermined manner as promised with the image encoding apparatus 1000 and compensating for the motion of the corresponding block by using the determined motion information.
- the decoded residual block is added to reconstruct the block to be decoded.
- the skip mode of the block is defined in various ways, and the image is encoded and decoded by selectively using various methods according to characteristics and / or implementation methods or needs of the image. As a result, the compression efficiency of the image can be improved.
- FIG. 14 is a block diagram schematically illustrating an image encoding apparatus using a tree structure according to a third embodiment of the present invention.
- the image encoding apparatus 1400 using the tree structure according to the third embodiment of the present invention may include a tree encoder 1410 for a variable size block and an additional information encoder 1420 for a variable size block.
- the tree encoder 1410 for a variable size block groups predetermined regions having information to be encoded for an image with regions having the same information, and flags and nodes indicating whether to split according to whether nodes are divided for each node of each layer. Encode one or more of the values.
- the additional information encoder 1420 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 third 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.
- 15 is an exemplary diagram illustrating a tree structure according to a third embodiment of an encoding method using a tree structure of the present invention.
- each region may be macroblocks having a size of 16 ⁇ 16 pixels, and A, B, and C indicated in each region represent information to be encoded in each region.
- Such information may be split information, but is not limited thereto, and may be various types of information, such as an intra prediction mode, a motion vector precision, and residual signal information (coefficient information).
- each region is assumed to be a macroblock of 16x16 pixel size, but not only a block of 16x16 pixel size but also a 64x64 pixel block, a 32x32 pixel size block, a 16x32 pixel size block, and a 16x16 block size. , 16x8 pixel size block, 8x8 block, 8x4 block, 4x8 block, or 4x4 block.
- the size of each region may not be the same.
- 15B is a group showing regions having the same information among the regions shown in 15A.
- 15C represents a tree structure of information of areas bounded by 15B.
- 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.
- 16 is an exemplary diagram illustrating a result of encoding information represented by a tree structure according to a third embodiment of the present invention.
- the final bit string as shown in Fig. 16 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 since the node of the layer 0 is divided into nodes of the lower layer, it 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, or C for convenience of description, but each node value may be represented by binary bits.
- FIG. 15 only two cases in which a node is divided into nodes of lower layers or not are illustrated.
- the node when a node is divided into nodes of a lower layer, the node is divided into four nodes. Referring to FIG. 15, 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.
- a node may be divided into nodes of various types of lower layers, such as divided into nodes of lower layers of four zones. In this case, information indicating the four types of division may be transmitted to the image decoding apparatus.
- the image encoding apparatus 1400 may reduce a bit amount for indicating that there are nodes of a lower layer by encoding a flag indicating that a node of an 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. 18, the region as shown in FIG. 18 is as shown in FIG. Likewise, regions having the same information can be grouped and displayed.
- the image encoding apparatus 1400 encodes a flag indicating that the node of the uppermost layer is divided into nodes of the layer 2 or the layer 3, thereby obtaining the number of flags indicating that the node of the upper layer is divided into the nodes of the lower layer.
- the bit rate can be reduced.
- FIG. 20 is a flowchart illustrating a coding method using a tree structure according to the third embodiment of the present invention.
- the image encoding apparatus groups predetermined regions having information as regions having the same information and determines whether or not to split them according to whether nodes are divided for each node of each layer.
- One or more of the flag and the node value indicated are encoded (S2010), 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 (S2020).
- the image encoding apparatus 1400 may encode a flag indicating that the node is divided. That is, the image encoding apparatus 1400 determines whether a node is divided for each node of each layer, and if the node is divided, encodes only a flag indicating that the node is divided into nodes of lower layers without encoding a corresponding node value. Can be.
- the image encoding apparatus 1400 may encode a flag indicating that the node is not divided and a node value of the node. That is, the image encoding apparatus 1400 determines whether a node is divided for each node of each layer. If the node is not divided, the image encoding apparatus 1400 not only encodes a flag indicating that the node is not divided into nodes of lower layers, and also corresponding node.
- the node value of 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 image encoding apparatus 1400 may encode only the node value of the node. That is, the image encoding apparatus 1400 determines whether the node to be encoded is the lowest layer before determining whether the node is split for each layer mode, and if the node is the lowest layer, a flag indicating whether to split the node. Only the node value of the node can be encoded without encoding.
- the image encoding apparatus 1400 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 image encoding apparatus 1400 may encode a flag indicating that the node is directly divided into nodes of one or more lower layers. That is, when the image encoding apparatus 1400 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. Instead of being able to code, a flag indicating that a node is divided into nodes of a plurality of lower layers such as two and three may be encoded.
- 21 is a block diagram schematically illustrating an image decoding apparatus using a tree structure according to a third embodiment of the present invention.
- the image decoding apparatus 2100 using the tree structure according to the third embodiment of the present invention may include an additional information decoder 2110 for a variable size block and a tree decoder 2120 for a variable size block. have.
- the additional information decoder 2110 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 2120 for the variable size block to restore the tree structure.
- the additional information decoder 2110 for the variable size block extracts and decodes the data encoded with the additional information from the header of the bitstream to restore 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 2110 for the variable size block is not necessarily included in the image decoding apparatus 2100, and may be selectively included according to an implementation method or need.
- the image encoding apparatus 1400 and the image decoding apparatus 2100 promise in advance about the maximum number of layers and the size of an area indicated by each node of the lowest layer
- the image encoding apparatus 1400 may provide additional information. May not be encoded, and accordingly, the image decoding apparatus 2100 may reconstruct the tree structure by using the predetermined additional information without decoding the bitstream and reconstructing the additional information.
- the tree decoder 2120 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 2120 for the variable size block may decode the bitstream based on the additional information reconstructed or preset by the side information decoder 2110 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 image decoding apparatus 2100 extracts and decodes encoded side information from a macroblock header, a slice header, a picture header, or a sequence header of a bitstream and restores 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 image decoding apparatus 2100 extracts a bit string such as the last bit of FIG. 16 from the bitstream, and has a tree structure as illustrated in FIG. 15 on the basis of the reconstructed additional information and the extracted bit string as described above. Restore it.
- 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. 15. Referring to FIG. 15, 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. Alternatively, as shown in FIG. 17, 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 video encoding apparatus to the video decoding apparatus.
- the image decoding apparatus 2100 restores information from the highest layer to the lowest layer to restore a tree structure such as 15C, and restores information of each region shown in 15B and 15A based on the restored tree structure structure. do.
- 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.
- FIG. 22 is a flowchart for explaining a decoding method using a tree structure according to the third embodiment of the present invention.
- the image decoding apparatus 2100 decodes the bitstream to determine information about the maximum number of layers and the size of the region indicated by each node of the lowest layer.
- the additional information including the information is restored (S2210), and a bit string extracted from the bitstream is decoded based on the additional information to restore a flag indicating whether a node for each layer is divided from the highest layer to the lowest layer, and then to the restored flag. Accordingly, the information is restored by restoring the node value of the node for each layer (S2220).
- the image decoding apparatus 2100 may restore the node value of the node when a flag indicating whether to divide the node indicates that the node is not divided into nodes of lower layers. That is, the image decoding apparatus 2100 restores a flag indicating whether a node for each layer is divided, and when the restored flag indicates that the corresponding node is divided into nodes of lower layers, the image decoding apparatus 2100 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. 15. Alternatively, as shown in FIG. 17, 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. In this case, information indicating the four types of division is transmitted from the image encoding apparatus to the image decoding apparatus.
- the image decoding apparatus 2100 may restore only the node value of each node with respect to the node of the lowest layer. That is, the image decoding apparatus 2100 determines in advance whether a node to be decoded is included in a lowest layer in a process of restoring a flag indicating whether a node for each layer is divided and / or a node value of the node, so that the node to decode is determined. When included in the lowest 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 information, skip information, macroblocks, split information indicating the size or type of a block for prediction or transformation, intra prediction information, a motion vector, and a prediction direction of a motion vector. ), Optimal motion vector prediction candidate, optimal interpolation filter of arbitrary size region, presence or absence of image quality improvement filter, reference picture index, quantization matrix number Index), optimal motion vector precision and transform size information, pixel information of the image, and information indicating whether there is a non-zero transform coefficient in a predetermined block (coded block) Video signal information or video signal such as information or residual signal information There may be a variety of information used.
- 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 a tree structure according to an embodiment of the present invention.
- the image encoding apparatus generates the maximum size, the minimum size of the macroblock, the maximum number of layers constituting the tree, and the macroblock segmentation flag, and transmits them to the image 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 division 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 embodiment of 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 the predetermined size. If the size of the maximum macroblock is increased 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 of the width to the height may be separately encoded.
- the size value of the minimum macroblock is log 2 (the maximum macroblock size / minimum macroblock) indicating a ratio value of the minimum macroblock size to the maximum macroblock size.
- Block size) value 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).
- partition information may be encoded and decoded using a tree structure according to an embodiment of the present invention.
- the partitioning information is information related to the size and / or type of a subblock (i.e., macroblock partition) for prediction and / or transform, and the layer constituting the maximum size, minimum size, and tree of the subblock for prediction and / or transform. May include a maximum number and split flag.
- the video encoding apparatus according to the embodiment of the present invention transmits the split information to the video 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 among the partition information may be encoded using a tree structure according to an embodiment of 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 a transformation.
- 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 grow or shrink from the predetermined size. If the value of how many times the size of the maximum prediction and / or transform is to be raised from the predetermined size is encoded, and if the predetermined size is 4, then 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 of the width to the height may be separately encoded.
- the magnitude value of the minimum prediction and / or the transform is a ratio of the minimum prediction and / or transform size to the maximum prediction and / or the transform size.
- the log 2 (maximum prediction and / or transform size / minimum prediction and / or transform size) value 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 1410 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.
- whether to divide into subblocks is indicated by a partition flag.
- the size information of the macroblock i.e., macroblock splitting flag
- the size information of the subblock for prediction or transformation i.e., macroblock partition splitting flag
- FIG. It can have a tree structure.
- the image encoding / decoding apparatus may decode the encoded data (bitstream) output terminal of the image encoding apparatus according to one embodiment of the present invention. This can be achieved by connecting to the encoded data (bitstream) input of the device.
- An image encoding / decoding apparatus encodes skip information indicating whether a block to be encoded is a skip block, and encodes skip motion information of the block according to the skip information, or intra or
- An image encoding apparatus encoding inter prediction information and transform information and encoding residual signal information of the block based on the prediction information and the transform information; And restore skip information indicating whether a block to be decoded by decoding the bitstream is a skip block, and decode the bitstream according to the skip information to restore skip motion information of the block or intra or inter prediction of the block.
- the image encoding / decoding method according to an embodiment of the present invention can be realized by combining the image encoding method according to one embodiment of the present invention with the image decoding method according to any one embodiment of the present invention. .
- an image encoding / decoding method encodes skip information indicating whether a block to be encoded is a skip block and encodes skip motion information of the block according to the skip information.
- the present invention is applied to an image compression field for encoding and decoding a video, thereby efficiently encoding encoding information used to encode the video, and selectively using various encoding methods and decoding methods. It is a very useful invention to generate an effect that can improve the compression efficiency of the image by allowing the image to be encoded.
Abstract
Description
Claims (57)
- 영상을 부호화/복호화하는 장치에 있어서,영상의 부호화하고자 하는 블록이 스킵 블록인지 여부를 나타내는 스킵 정보를 부호화하고, 상기 스킵 정보에 따라 상기 블록의 스킵 움직임 정보를 부호화하거나 상기 블록의 인트라 또는 인터 예측 정보와 변환 정보를 부호화하고 상기 블록의 예측 정보와 상기 변환 정보를 기초로 상기 블록의 잔여 신호 정보를 부호화하는 영상부호화장치; 및비트스트림을 복호화하여 복호화하고자 하는 블록이 스킵 블록인지 여부를 나타내는 스킵 정보를 복원하고, 상기 스킵 정보에 따라 상기 비트스트림을 복호화하여 상기 블록의 스킵 움직임 정보를 복원하거나 상기 블록의 인트라 또는 인터 예측 정보와 변환 정보를 복원하고 상기 스킵 움직임 정보를 기초로 상기 블록을 복원하거나 상기 예측 정보와 상기 변환 정보를 기초로 상기 비트스트림을 복호화하여 복원되는 잔여 신호 정보를 복호화하여 상기 블록을 복원하는 영상 복호화장치를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치.
- 영상을 부호화하는 장치에 있어서,영상의 부호화하고자 하는 블록이 스킵 블록인지 여부를 나타내는 스킵 정보를 부호화하고, 상기 스킵 정보에 따라 상기 블록의 스킵 움직임 정보를 부호화하거나 상기 블록의 인트라 또는 인터 예측 정보와 상기 블록의 변환 정보를 부호화하는 부호화 정보 부호화기; 및상기 블록의 예측 정보와 상기 변환 정보를 기초로 상기 블록의 잔여 신호 정보를 부호화하는 영상 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치.
- 제 2항에 있어서, 상기 부호화 정보 부호화기는,상기 분할 정보를 트리구조로 부호화하되, 상기 분할 정보를 가지는 소정의 영역들을 복수 개의 그룹으로 그룹화하고, 상기 그룹화된 영역 내의 부호화하고자 하는 정보의 최소값 또는 최대값을 그룹화된 영역의 정보로서 결정하여 레이어별 노드값을 최상위 레이어까지 생성하며, 레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 부호화하는 것을 특징으로 하는 영상 부호화 장치.
- 제 3항에 있어서, 상기 부호화 정보 부호화기는,레이어의 최대 개수에 대한 정보, 최하위 레이어의 영역의 크기에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 부호화하는 것을 특징으로 하는 영상 부호화 장치.
- 제 3항에 있어서, 상기 부호화 정보 부호화기는,레이어의 최대 개수에 대한 정보, 그룹화되는 영역의 개수에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 부호화하는 것을 특징으로 하는 영상 부호화 장치.
- 제 3항에 있어서, 상기 부호화 정보 부호화기는,상기 차이값을 부호화함에 있어서, 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는 경우, 노드값이 최대값인 레이어의 하위 레이어의 노드값에 대한 부호화를 스킵하는 것을 특징으로 하는 영상 부호화 장치.
- 제 3항에 있어서, 상기 부호화 정보 부호화기는,상기 차이값을 부호화함에 있어서, 레이어별 노드값을 하위 레이어의 노드값들 중 최대값으로 결정하는 경우, 노드값이 최소값인 레이어의 하위 레이어의 노드값에 대한 부호화를 스킵하는 것을 특징으로 하는 영상 부호화 장치.
- 제 3 항에 있어서, 상기 부호화 정보 부호화기는,상기 차이값을 부호화함에 있어서, 이진 부호화 방법을 이용하여 상기 차이값을 부호화하거나 이진 부호화 방법을 이용하여 상기 차이값을 부호화한 후 확률 모델을 변경하여 이진 산술 부호화하는 것을 특징으로 하는 영상 부호화 장치.
- 제 8 항에 있어서, 상기 확률 모델은,주위의 레이어 또는 상위 레이어의 노드값을 기초로 결정되거나 각 레이어마다 다르게 변경되는 것을 특징으로 하는 영상 부호화 장치.
- 제 3 항에 있어서, 상기 부호화 정보 부호화기는,상기 차이값을 부호화함에 있어서, 부호화하고자 하는 정보의 발생 확률에 따라 부호화를 위해 부호화하고자 하는 정보에 할당되는 부호 번호를 변경하는 것을 특징으로 하는 영상 부호화 장치.
- 제 2항에 있어서, 상기 부호화 정보 부호화기는,상기 분할 정보를 트리구조로 부호화하되, 상기 분할 정보를 가지는 소정의 영역들을 동일한 정보를 가지는 영역끼리 그룹화하고 레이어별 노드마다 노드가 분할되는지 여부에 따라 분할 여부를 나타내는 플래그와 노드값 중 하나 이상을 부호화하고 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 부호화하는 것을 특징으로 하는 부호화 장치.
- 제 11 항에 있어서, 상기 부호화 정보 부호화기는,상기 하나 이상을 부호화함에 있어서, 상기 노드가 분할되는 경우에는 상기 노드가 분할됨을 나타내는 플래그를 부호화하는 것을 특징으로 하는 부호화 장치.
- 제 11 항에 있어서, 상기 부호화 정보 부호화기는,상기 하나 이상을 부호화함에 있어서, 상기 노드가 분할되지 않는 경우에는 상기 노드가 분할되지 않음을 나타내는 플래그와 상기 노드의 노드값을 부호화하는 것을 특징으로 하는 부호화 장치.
- 영상을 부호화하는 장치에 있어서,영상의 부호화하고자 하는 블록의 스킵 타입을 나타내는 스킵 타입 정보를 부호화하고, 상기 스킵 타입 정보에 따라 상기 블록의 스킵 움직임 정보를 부호화하는 부호화 정보 부호화기; 및상기 스킵 타입 정보에 따라 상기 블록의 잔여 신호 정보를 부호화하는 영상 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치.
- 제 14 항에 있어서, 상기 스킵 타입 정보는,상기 블록의 부호화를 스킵함을 나타내거나 상기 블록의 스킵 움직임 정보를 부호화함을 나타내는 것을 특징으로 하는 영상 부호화 장치.
- 제 14 항에 있어서, 상기 스킵 타입 정보는,상기 블록의 부호화를 스킵함을 나타내거나 상기 블록의 잔여 신호 정보를 부호화함을 나타내는 것을 특징으로 하는 영상 부호화 장치.
- 제 14 항에 있어서, 상기 스킵 타입 정보는,상기 블록의 스킵 움직임 정보를 부호화함을 나타내거나 상기 블록의 잔여 신호 정보를 부호화함을 나타내는 것을 특징으로 하는 영상 부호화 장치.
- 영상을 복호화하는 장치에 있어서,비트스트림을 복호화하여 영상의 복호화하고자 하는 블록이 스킵 블록인지 여부를 나타내는 스킵 정보를 나타내는 분할 정보를 복원하고, 상기 스킵 정보에 따라 상기 비트스트림을 복호화하여 상기 블록의 스킵 움직임 정보를 복원하거나 상기 블록의 인트라 또는 인터 예측 정보와 상기 블록의 변환 정보를 복원하는 부호화 정보 복호화기; 및상기 스킵 움직임 정보를 기초로 상기 블록을 복원하거나 상기 예측 정보와 상기 변환 정보를 기초로 상기 비트스트림을 복호화하여 복원되는 잔여 신호 정보를 복호화하여 상기 블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 하는 영상 복호화 장치.
- 제 18항에 있어서, 상기 부호화 정보 복호화기는,트리구조를 이용하여 상기 분할 정보를 복원하되, 상기 비트스트림을 복호화하여 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 복원하고, 상기 부가 정보를 기초로 상기 비트스트림을 복호화하여 최상위 레이어로부터 최하위 레이어까지 레이어별 노드의 분할 여부를 나타내는 플래그를 복원하고 상기 복원된 플래그에 따라 상기 레이어별 노드의 노드값을 복원하여 상기 분할 정보를 복원하는 것을 특징으로 하는 영상 복호화 장치.
- 제 18항에 있어서, 상기 부호화 정보 복호화기는,상기 분할 여부를 나타내는 플래그가 상기 노드가 하위 레이어로 분할되지 않음을 나타내는 경우에는 상기 노드의 노드값을 복원하는 것을 특징으로 하는 영상 복호화 장치.
- 제 18항에 있어서, 상기 부호화 정보 복호화기는,최하위 레이어의 노드에 대해서는 각 노드의 노드값만을 복원하는 것을 특징으로 하는 영상 복호화 장치.
- 영상을 복호화하는 장치에 있어서,비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 스킵 타입을 나타내는 스킵 타입 정보를 복원하고, 상기 스킵 타입 정보에 따라 상기 비트스트림을 복호화하여 상기 블록의 스킵 움직임 정보를 복원하는 부호화 정보 복호화기; 및상기 스킵 타입 정보에 따라 기 설정된 방식에 따라 결정되는 움직임 정보를 기초로 상기 블록을 복원하거나 상기 스킵 움직임 정보를 기초로 상기 블록을 복원하거나 상기 비트스트림을 복호화하여 복원되는 상기 블록의 잔여 신호 정보를 기초로 상기 블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 하는 영상 복호화 장치.
- 제 22 항에 있어서, 상기 부호화 정보 복호화기는,상기 블록이 스킵 블록인 경우에만 상기 스킵 타입 정보를 복원하는 것을 특징으로 하는 영상 복호화 장치.
- 영상을 부호화/복호화하는 방법에 있어서,영상의 부호화하고자 하는 블록이 스킵 블록인지 여부를 나타내는 스킵 정보를 부호화하고 상기 스킵 정보에 따라 상기 블록의 스킵 움직임 정보를 부호화하거나 상기 블록의 인트라 또는 인터 예측 정보와 상기 블록의 변환 정보를 부호화하고 상기 예측 정보 및 상기 변환 정보를 기초로 상기 블록의 잔여 신호 정보를 예측 부호화하는 영상부호화단계; 및비트스트림을 복호화하여 영상의 복호화하고자 하는 블록이 스킵 블록인지 여부를 나타내는 스킵 정보를 복원하고 상기 스킵 정보에 따라 상기 비트스트림을 복호화하여 상기 블록의 스킵 움직임 정보를 복원하거나 상기 블록의 인트라 또는 인터 예측 정보와 상기 블록의 변환 정보를 복원하고 상기 스킵 움직임 정보를 기초로 상기 블록을 복원하거나 상기 예측 정보와 상기 변환 정보를 기초로 상기 비트스트림을 복호화하여 복원되는 잔여 신호 정보를 복호화하여 상기 블록을 복원하는 영상복호화단계를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법.
- 영상을 부호화하는 방법에 있어서,영상의 부호화하고자 하는 블록이 스킵 블록인지 여부를 나타내는 스킵 정보를 부호화하는 단계;상기 스킵 정보에 따라 상기 블록의 분할 정보와 상기 블록의 스킵 움직임 정보를 부호화하거나 상기 블록의 분할 정보와 인트라 예측 모드 또는 움직임 정보를 포함하는 상기 블록의 예측 정보를 부호화하는 단계; 및상기 예측 정보 및 상기 변환 정보를 기초로 상기 블록의 잔여 신호 정보를 예측 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
- 제 25 항에 있어서, 상기 예측 정보를 부호화하는 단계는,상기 스킵 정보가 상기 블록이 스킵 블록임을 나타내고 상기 분할 정보가 상기 블록이 서브블록으로 분할되지 않음을 나타내는 경우, 상기 블록에 대한 스킵 움직임 정보를 부호화하는 것을 특징으로 하는 영상 부호화 방법.
- 제 25 항에 있어서, 상기 예측 정보를 부호화하는 단계는,상기 스킵 정보가 상기 블록이 스킵 블록이 아님을 나타내는 경우, 상기 블록에 대한 인트라 또는 인터 예측 정보를 포함하는 예측 정보를 부호화하는 것을 특징으로 하는 영상 부호화 방법.
- 제 25 항에 있어서, 상기 예측 정보를 부호화하는 단계는,상기 스킵 정보가 상기 블록이 스킵 블록임을 나타내고 상기 분할 정보가 상기 블록이 서브블록으로 분할됨을 나타내는 경우, 상기 블록의 서브블록에 대한 스킵 움직임 정보를 부호화하는 것을 특징으로 하는 영상 부호화 방법.
- 제 25 항에 있어서, 상기 예측 정보를 부호화하는 단계는,상기 스킵 정보가 상기 블록이 스킵 블록이 아님을 나타내는 경우, 상기 블록의 서브블록에 대한 분할 정보 및 인트라 예측 모드 정보 또는 움직임 정보를 포함하는 예측 정보를 부호화하는 것을 특징으로 하는 영상 부호화 방법.
- 제 25 항에 있어서, 상기 분할 정보는,상기 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부와 상기 블록의 서브블록의 분할 타입을 기초로 이용 가능한 복수 개의 블록 타입에 할당된 블록 타입 번호인 것을 특징으로 하는 영상 부호화 방법.
- 제 25 항에 있어서, 상기 예측 정보는,상기 서브블록에 대한 변환 타입 정보, 상기 서브블록에 대한 부호화된 블록 패턴 및 상기 서브블록에 대한 델타 양자화 파라미터 중 하나 이상을 추가로 포함하는 것을 특징으로 하는 영상 부호화 방법.
- 제 25 항에 있어서, 상기 예측 정보는,상기 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부를 나타내는 예측 타입 플래그와 상기 블록의 서브블록의 분할 타입을 나타내는 분할 정보를 포함하는 것을 특징으로 하는 영상 부호화 방법.
- 제 25 항에 있어서, 상기 예측 정보는,상기 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부를 나타내는 예측 타입 플래그와 상기 블록의 서브블록의 분할 타입을 나타내는 분할 타입 정보를 포함하고, 상기 서브블록이 스킵 서브블록인지 여부를 나타내는 스킵 서브블록 플래그를 추가로 포함하는 것을 특징으로 하는 영상 부호화 방법.
- 제 25 항에 있어서, 상기 분할 타입 정보는,트리구조를 이용하여 부호화하되, 상기 분할 타입 정보는 복수 개의 서브블록을 일정한 영역 단위로 그룹화하고, 그룹화된 영역에 포함되는 서브블록들의 분할 정보의 최소값을 그룹화된 영역에 대한 분할 정보로 할당하는 과정을 최상위 레이어까지 레이어별로 반복하며, 상기 레이어별로 그룹화된 영역에 대한 분할 정보와 상위 레이어의 그룹화된 영역에 대한 분할 정보 간의 차이값을 부호화함으로써 부호화되는 것을 특징으로 하는 영상 부호화 방법.
- 제 25 항에 있어서, 상기 분할 타입 정보는,트리구조를 이용하여 부호화하되, 상기 분할 타입 정보는 복수 개의 서브블록을 일정한 영역 단위로 그룹화하고, 그룹화된 영역에 포함되는 서브블록들의 분할 정보의 최소값을 그룹화된 영역에 대한 분할 정보로 할당하는 과정을 최상위 레이어까지 레이어별로 반복하며, 상기 레이어별로 그룹화된 영역에 대한 분할 정보와 발생확률이 가장 높은 분할 정보 간의 차이값을 부호화함으로써 부호화되는 것을 특징으로 하는 영상 부호화 방법.
- 영상을 부호화하는 방법에 있어서,영상의 부호화하고자 하는 블록의 블록 모드가 스킵 모드인 경우, 상기 블록의 스킵 타입을 나타내는 스킵 타입 정보를 부호화하는 단계;상기 스킵 타입 정보에 따라 상기 블록의 스킵 움직임 정보를 부호화하는 단계; 및상기 스킵 타입 정보에 따라 상기 블록의 잔여 신호 정보를 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
- 제 36 항에 있어서, 상기 스킵 타입 정보를 부호화하는 단계는,상기 블록이 스킵 블록인 경우에만 상기 스킵 타입 정보를 부호화하는 것을 특징으로 하는 영상 부호화 방법.
- 제 36 항에 있어서, 상기 스킵 타입 정보는,상기 블록의 정보를 부호화하지 않거나 상기 블록의 스킵 움직임 정보를 부호화함을 나타내는 것을 특징으로 하는 영상 부호화 방법.
- 제 36 항에 있어서, 상기 스킵 타입 정보는,상기 블록의 정보를 부호화하지 않거나 상기 블록의 잔여 신호 정보를 부호화함을 나타내는 것을 특징으로 하는 영상 부호화 방법.
- 제 36 항에 있어서, 상기 스킵 타입 정보는,상기 블록의 스킵 움직임 정보를 부호화함을 나타내거나 상기 블록의 잔여 신호 정보를 부호화함을 나타내는 것을 특징으로 하는 영상 부호화 방법.
- 영상을 복호화하는 방법에 있어서,비트스트림을 복호화하여 영상의 복호화하고자 하는 블록이 스킵 블록인지 여부를 나타내는 스킵 타입 정보와 상기 블록이 서브블록으로 분할되는지 여부를 나타내는 분할 정보를 포함하는 스킵 정보를 복원하는 단계;상기 스킵 정보에 따라 상기 비트스트림을 복호화하여 상기 블록의 스킵 움직임 정보를 복원하거나 상기 블록의 서브블록으로 분할되는지 여부를 나타내는 분할 정보와 인트라 예측 모드 또는 움직임 정보를 포함하는 예측 정보와 상기 블록의 변환 정보를 복원하는 단계; 및상기 스킵 움직임 정보를 기초로 상기 블록을 복원하거나 상기 예측 정보와 상기 변환 정보를 기초로 상기 비트스트림을 복호화하여 복원되는 잔여 신호 정보를 복호화하여 상기 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
- 제 41 항에 있어서, 상기 스킵 정보를 복원하는 단계는,상기 스킵 정보가 상기 블록이 스킵 블록임을 나타내고 상기 분할 정보가 상기 블록이 서브블록으로 분할되지 않음을 나타내는 경우, 상기 비트스트림을 복호화하여 상기 블록에 대한 스킵 움직임 정보를 복원하는 것을 특징으로 하는 영상 복호화 방법.
- 제 41 항에 있어서, 상기 스킵 정보를 복원하는 단계는,상기 스킵 정보가 상기 블록의 블록 모드가 스킵 모드임을 나타내고 상기 분할 정보가 상기 블록이 서브블록으로 분할됨을 나타내는 경우, 상기 비트스트림을 복호화하여 상기 블록의 서브블록에 대한 스킵 움직임 정보를 복원하는 것을 특징으로 하는 영상 복호화 방법.
- 제 41 항에 있어서, 상기 예측 정보를 복원하는 단계는,상기 스킵 정보가 상기 블록의 블록 모드가 스킵 모드가 아님을 나타내고 상기 분할 정보가 상기 블록이 서브블록으로 분할되지 않음을 나타내는 경우, 상기 비트스트림을 복호화하여 상기 블록에 대한 예측 정보를 복원하는 것을 특징으로 하는 영상 복호화 방법.
- 제 41 항에 있어서, 상기 예측 정보를 복원하는 단계는,상기 스킵 정보가 상기 블록의 블록 모드가 스킵 모드가 아님을 나타내고 상기 분할 정보가 상기 블록이 서브블록으로 분할됨을 나타내는 경우, 상기 비트스트림을 복호화하여 상기 블록의 서브블록에 대한 예측 정보를 복원하는 것을 특징으로 하는 영상 복호화 방법.
- 제 41 항에 있어서, 상기 예측 정보는,상기 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부와 상기 블록의 서브블록의 분할 타입을 기초로 이용 가능한 복수 개의 블록 타입에 할당된 블록 타입 번호인 것을 특징으로 하는 영상 복호화 방법.
- 제 41 항에 있어서, 상기 잔여 신호 정보는,상기 서브블록에 대한 부호화된 블록 패턴 및 상기 서브블록에 대한 델타 양자화 파라미터 중 하나 이상을 추가로 포함하는 것을 특징으로 하는 영상 복호화 방법.
- 제 41 항에 있어서, 상기 예측 정보는,상기 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부를 나타내는 블록 타입 플래그와 상기 블록의 서브블록의 분할 타입을 나타내는 분할 타입 정보를 포함하는 것을 특징으로 하는 영상 복호화 방법.
- 제 41 항에 있어서, 상기 분할 정보는,상기 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부를 나타내는 블록 타입 플래그와 상기 블록의 서브블록의 분할 타입을 나타내는 분할 타입 정보를 포함하고, 상기 서브블록의 블록 모드가 스킵 모드인지 여부를 나타내는 스킵 서브블록 플래그를 추가로 포함하는 것을 특징으로 하는 영상 복호화 방법.
- 제 41 항에 있어서, 상기 분할 정보는,트리구조를 이용하여 복원되되, 상기 분할 정보는,상기 비트스트림을 복호화하여 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 복원하는 단계; 및상기 부가 정보를 기초로 상기 비트스트림을 복호화하여 최상위 레이어로부터 최하위 레이어까지 레이어별 노드의 분할 여부를 나타내는 플래그를 복원하고 상기 복원된 플래그에 따라 상기 레이어별 노드의 노드값을 복원하여 상기 정보를 복원하는 단계를 포함하는 과정으로 복원되는 것을 특징으로 하는 영상 복호화 방법.
- 제 50 항에 있어서, 상기 정보를 복원하는 단계는,상기 분할 여부를 나타내는 플래그가 상기 노드가 하위 레이어로 분할되지 않음을 나타내는 경우에는 상기 노드의 노드값을 복원하는 것을 특징으로 하는 영상 복호화 방법.
- 제 50 항에 있어서, 상기 정보를 복원하는 단계는,최하위 레이어의 노드에 대해서는 각 노드의 노드값만을 복원하는 것을 특징으로 하는 영상 복호화 방법.
- 영상을 복호화하는 방법에 있어서,비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 스킵 타입을 나타내는 스킵 타입 정보를 복원하는 단계;상기 스킵 타입 정보에 따라 기 설정된 방식으로 결정되는 움직임 정보를 기초로 상기 블록을 복원하거나 상기 비트스트림을 복호화하여 복원되는 블록의 스킵 움직임 정보를 기초로 상기 블록을 복원하거나 상기 비트스트림을 복호화하여 복원되는 잔여 신호 정보를 기초로 상기 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
- 제 53 항에 있어서, 상기 스킵 타입 정보를 복원하는 단계는,상기 블록의 블록 모드가 스킵 모드인 경우에만 상기 스킵 타입 정보를 복원하는 것을 특징으로 하는 영상 복호화 방법.
- 제 54 항에 있어서, 상기 블록을 복원하는 단계는,상기 스킵 타입 정보가 상기 블록의 부호화를 스킵함을 나타내는 경우, 상기 기 설정된 방식으로 결정되는 움직임 정보를 기초로 상기 블록을 복원하는 것을 특징으로 하는 영상 복호화 방법.
- 제 54 항에 있어서, 상기 블록을 복원하는 단계는,상기 스킵 타입 정보가 상기 블록의 스킵 움직임 정보를 부호화함을 나타내는 경우, 상기 비트스트림을 복호화하여 복원되는 블록의 스킵 움직임 정보를 기초로 상기 블록을 복원하는 것을 특징으로 하는 영상 복호화 방법.
- 제 54 항에 있어서, 상기 블록을 복원하는 단계는,상기 스킵 타입 정보가 상기 블록의 잔여 신호 정보를 부호화함을 나타내는 경우, 상기 비트스트림을 복호화하여 복원되는 잔여 신호 정보를 기초로 상기 블록을 복원하는 것을 특징으로 하는 영상 복호화 방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/516,687 US8885711B2 (en) | 2009-12-17 | 2010-12-17 | Image encoding/decoding method and device |
US14/505,008 US9118921B2 (en) | 2009-12-17 | 2014-10-02 | Image encoding/decoding method and device |
US14/676,226 US9462279B2 (en) | 2009-12-17 | 2015-04-01 | Image encoding/decoding method and device |
US14/676,189 US9215463B2 (en) | 2009-12-17 | 2015-04-01 | Image encoding/decoding method and device |
US14/676,129 US9215462B2 (en) | 2009-12-17 | 2015-04-01 | Image encoding/decoding method and device |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20090126276 | 2009-12-17 | ||
KR10-2009-0126276 | 2009-12-17 | ||
KR10-2010-0129988 | 2010-12-17 | ||
KR20100129988A KR20110069740A (ko) | 2009-12-17 | 2010-12-17 | 영상 부호화/복호화 방법 및 장치 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/516,687 A-371-Of-International US8885711B2 (en) | 2009-12-17 | 2010-12-17 | Image encoding/decoding method and device |
US14/505,008 Continuation US9118921B2 (en) | 2009-12-17 | 2014-10-02 | Image encoding/decoding method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2011074919A2 true WO2011074919A2 (ko) | 2011-06-23 |
WO2011074919A3 WO2011074919A3 (ko) | 2011-10-27 |
Family
ID=44167900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2010/009086 WO2011074919A2 (ko) | 2009-12-17 | 2010-12-17 | 영상 부호화/복호화 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2011074919A2 (ko) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103765883A (zh) * | 2011-06-30 | 2014-04-30 | 三星电子株式会社 | 使用跳过模式对运动信息进行编码和解码的方法和设备 |
US9621909B2 (en) | 2012-07-02 | 2017-04-11 | Lg Electronics Inc. | Method for decoding image and apparatus using same |
CN107396115A (zh) * | 2011-06-28 | 2017-11-24 | 三星电子株式会社 | 对视频数据进行解码的方法和设备 |
US10440389B2 (en) | 2011-11-11 | 2019-10-08 | Lg Electronics Inc. | Method and device for transmitting image information, and decoding method and device using same |
CN110892719A (zh) * | 2017-07-17 | 2020-03-17 | 汉阳大学校产学协力团 | 影像编码/解码方法及装置 |
CN113574880A (zh) * | 2019-03-13 | 2021-10-29 | 北京字节跳动网络技术有限公司 | 关于子块变换模式的分割 |
CN115052156A (zh) * | 2012-07-02 | 2022-09-13 | 韩国电子通信研究院 | 视频编码/解码方法和非暂时性计算机可读记录介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020077630A (ko) * | 2001-04-02 | 2002-10-12 | 엘지전자 주식회사 | 동영상에서 b픽쳐의 신축적인 다이렉트 모드 코딩 방법 |
KR20080104385A (ko) * | 2002-03-15 | 2008-12-02 | 노키아 코포레이션 | 비디오 시퀀스에서의 움직임 부호화 방법 |
KR20090108110A (ko) * | 2003-09-07 | 2009-10-14 | 마이크로소프트 코포레이션 | 인터레이스 비디오 및 순차적 비디오의 효율적 압축 및 압축 해제를 위한 방법 및 컴퓨터 판독가능 매체 |
-
2010
- 2010-12-17 WO PCT/KR2010/009086 patent/WO2011074919A2/ko active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020077630A (ko) * | 2001-04-02 | 2002-10-12 | 엘지전자 주식회사 | 동영상에서 b픽쳐의 신축적인 다이렉트 모드 코딩 방법 |
KR20080104385A (ko) * | 2002-03-15 | 2008-12-02 | 노키아 코포레이션 | 비디오 시퀀스에서의 움직임 부호화 방법 |
KR20090108110A (ko) * | 2003-09-07 | 2009-10-14 | 마이크로소프트 코포레이션 | 인터레이스 비디오 및 순차적 비디오의 효율적 압축 및 압축 해제를 위한 방법 및 컴퓨터 판독가능 매체 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107396115B (zh) * | 2011-06-28 | 2020-11-06 | 三星电子株式会社 | 对视频数据进行解码的方法和设备 |
CN107396115A (zh) * | 2011-06-28 | 2017-11-24 | 三星电子株式会社 | 对视频数据进行解码的方法和设备 |
CN103765883A (zh) * | 2011-06-30 | 2014-04-30 | 三星电子株式会社 | 使用跳过模式对运动信息进行编码和解码的方法和设备 |
US11812056B2 (en) | 2011-11-11 | 2023-11-07 | Lg Electronics Inc. | Method and device for transmitting image information, and decoding method and device using same |
US11025954B2 (en) | 2011-11-11 | 2021-06-01 | Lg Electronics Inc. | Method and device for transmitting image information, and decoding method and device using same |
US10440389B2 (en) | 2011-11-11 | 2019-10-08 | Lg Electronics Inc. | Method and device for transmitting image information, and decoding method and device using same |
US10045039B2 (en) | 2012-07-02 | 2018-08-07 | Lg Electronics Inc. | Method for decoding image and apparatus using same |
US10469862B2 (en) | 2012-07-02 | 2019-11-05 | Lg Electronics Inc. | Method for decoding image and apparatus using same |
US10931960B2 (en) | 2012-07-02 | 2021-02-23 | Lg Electronics Inc. | Method for decoding image and apparatus using same |
US9769487B2 (en) | 2012-07-02 | 2017-09-19 | Lg Electronics Inc. | Method for decoding image and apparatus using same |
US11252427B2 (en) | 2012-07-02 | 2022-02-15 | Lg Electronics Inc. | Method for decoding image and apparatus using same |
CN115052156A (zh) * | 2012-07-02 | 2022-09-13 | 韩国电子通信研究院 | 视频编码/解码方法和非暂时性计算机可读记录介质 |
US11653012B2 (en) | 2012-07-02 | 2023-05-16 | Lg Electronics Inc. | Method for decoding image and apparatus using same |
US9621909B2 (en) | 2012-07-02 | 2017-04-11 | Lg Electronics Inc. | Method for decoding image and apparatus using same |
CN110892719A (zh) * | 2017-07-17 | 2020-03-17 | 汉阳大学校产学协力团 | 影像编码/解码方法及装置 |
CN110892719B (zh) * | 2017-07-17 | 2023-06-09 | 汉阳大学校产学协力团 | 影像编码/解码方法及装置 |
CN113574880A (zh) * | 2019-03-13 | 2021-10-29 | 北京字节跳动网络技术有限公司 | 关于子块变换模式的分割 |
CN113574880B (zh) * | 2019-03-13 | 2023-04-07 | 北京字节跳动网络技术有限公司 | 关于子块变换模式的分割 |
Also Published As
Publication number | Publication date |
---|---|
WO2011074919A3 (ko) | 2011-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018066849A1 (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2016200100A1 (ko) | 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치 | |
WO2011016702A2 (ko) | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 | |
WO2018008906A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2011031044A2 (ko) | 고해상도 동영상의 부호화/복호화 방법 및 장치 | |
WO2013157825A1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
WO2011021838A2 (en) | Method and apparatus for encoding video, and method and apparatus for decoding video | |
WO2011053020A2 (en) | Method and apparatus for encoding residual block, and method and apparatus for decoding residual block | |
WO2010027170A2 (ko) | 예측 방향 전환과 선택적 부호화를 이용한 영상 부호화/복호화 장치 및 방법 | |
WO2018008905A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2011087292A2 (en) | Method and apparatus for encoding video and method and apparatus for decoding video by considering skip and split order | |
WO2013002555A2 (ko) | 산술부호화를 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 | |
WO2013069991A1 (ko) | 비디오의 산술 부호화 방법 및 그 장치, 비디오의 산술 복호화 방법 및 그 장치 | |
WO2013115572A1 (ko) | 계층적 데이터 단위의 양자화 파라메터 예측을 포함하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 | |
WO2012005549A2 (en) | Methods and apparatuses for encoding and decoding motion vector | |
WO2013005963A2 (ko) | 콜로케이티드 영상을 이용한 인터 예측을 수반하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 | |
WO2016159610A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2019194568A1 (ko) | 어파인 모델 기반의 영상 부호화/복호화 방법 및 장치 | |
WO2011126282A2 (en) | Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index | |
WO2011074919A2 (ko) | 영상 부호화/복호화 방법 및 장치 | |
EP2556672A2 (en) | Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index | |
WO2011019213A2 (ko) | 적응적인 루프 필터링을 이용한 비디오의 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 | |
WO2016048092A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2021071183A1 (ko) | 현재블록의 변환계수들을 역변환하는 방법 및 장치 | |
WO2016064123A1 (ko) | 비디오 신호 처리 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10837915 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: 13516687 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 PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 25/09/2012) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10837915 Country of ref document: EP Kind code of ref document: A2 |