WO2011145819A2 - 영상 부호화/복호화 장치 및 방법 - Google Patents

영상 부호화/복호화 장치 및 방법 Download PDF

Info

Publication number
WO2011145819A2
WO2011145819A2 PCT/KR2011/003292 KR2011003292W WO2011145819A2 WO 2011145819 A2 WO2011145819 A2 WO 2011145819A2 KR 2011003292 W KR2011003292 W KR 2011003292W WO 2011145819 A2 WO2011145819 A2 WO 2011145819A2
Authority
WO
WIPO (PCT)
Prior art keywords
quantization parameter
block
encoding
subblock
current block
Prior art date
Application number
PCT/KR2011/003292
Other languages
English (en)
French (fr)
Other versions
WO2011145819A3 (ko
Inventor
송진한
임정연
한종기
이영렬
문주희
김해광
전병우
서찬원
박형미
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to US13/698,840 priority Critical patent/US9706204B2/en
Priority to EP11783701.3A priority patent/EP2574056A4/en
Priority to CN201180035106.XA priority patent/CN103004194B/zh
Publication of WO2011145819A2 publication Critical patent/WO2011145819A2/ko
Publication of WO2011145819A3 publication Critical patent/WO2011145819A3/ko
Priority to US14/794,204 priority patent/US9445101B2/en
Priority to US15/401,752 priority patent/US9729881B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/184Methods 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 bits, e.g. of the compressed video stream

Definitions

  • the present invention relates to an image encoding / decoding apparatus and method. More specifically, when encoding and decoding an image in units of blocks larger than a conventional macroblock for a high resolution image, adaptively depending on the size of the extended macroblock and the size of the divided subblock A video encoding / decoding apparatus and method capable of encoding and decoding quantization parameters are provided.
  • Standardized techniques for compressing video data currently include H.261, H.263, H.264, MPEG-2, and MPEG-4.
  • each image is encoded by dividing each image into fixed-size macroblocks consisting of a rectangular region of pixels of size 16x16 of luminance and pixels of size 8x8 of chrominance.
  • Luma and chrominance components of each macroblock are predicted spatially and temporally, and the predicted residuals are transform and quantization, entropy coding, etc. Compressed through the process of.
  • the encoding apparatus can intra-prediction encode by dividing each macroblock into smaller blocks of 16x16, 8x8, and 4x4 sizes, and 4 kinds of 16x16 pixel blocks. Intra prediction encoding is performed using one of prediction modes, and one of nine prediction modes for 8x8 pixel blocks and 4x4 pixel blocks.
  • each macroblock may be divided into 16x16 size, 16x8 size, 8x16 size, 8x8 size, 8x4 size, 4x8 size, and 4x4 pixel blocks to be inter prediction encoded. Transform is applied in units of 8x8 size or 4x4 pixel block, and scalar quantization is used as quantization of transform coefficients.
  • H.264 / AVC transmits a quantization parameter (QP) in units of slices and macroblocks.
  • QP quantization parameter
  • the quantization parameter in the slice unit transmits the differential quantization parameter calculated using Equation 1.
  • Is the quantization parameter used in the current slice Is a differential quantization parameter transmitted to a picture parameter set (PPS). This is a difference obtained by subtracting 26 from the quantization parameter value input by the user during encoding as shown in Equation 2.
  • the quantization parameter transmitted in units of macroblocks encodes a difference value between a quantization parameter value of a previously encoded macroblock and a quantization parameter value of the current macroblock as shown in Equation 3 below.
  • Quantization parameters transmitted in macroblock units are adaptively encoded according to a block type and a coded block pattern (CBP).
  • CBP coded block pattern
  • the difference value of the quantization parameter calculated by Equation 3 is encoded for all macroblocks.
  • the CBP value is checked to determine whether to encode a quantization parameter. If there is no quantized transform coefficient data to be decoded in the current macroblock, the quantization parameter is not transmitted. If CBP exists, the quantization parameter is transmitted using Equation 3.
  • the quantization parameter transmission method of H.264 / AVC has been devised in consideration of only the case where the basic coding unit is a macroblock.
  • basic coding units are not limited to macroblocks, but use of extended macroblocks has been considered. Accordingly, there is a need for an optimized quantization parameter coding method suitable for this.
  • An embodiment of the present invention is to solve the above-described problem, the size and segmentation of the extended macroblock is applied when the encoding and decoding of the image in a block unit larger than the conventional macroblock for a high resolution image
  • An object of the present invention is to provide an image encoding / decoding apparatus and method capable of adaptively encoding and decoding quantization parameters according to the size of a subblock.
  • An image encoding / decoding apparatus for achieving the above object, based on the extended macroblock of the image and the additional information about the divided subblock and the quantization parameter value of the extended macroblock and An image encoder for encoding the difference value of the quantization parameter value of the divided block in the macroblock; And an image decoder for restoring the difference value of the quantization parameter adaptively encoded by the image encoder, restoring the residual block based on the difference value of the restored quantization parameter, and restoring the image based on the restored residual block. Characterized in that.
  • the converter and the quantizer may include at least one of SKIP mode information for extended macroblocks and subblocks, Coded Block Pattern (CBP) information, and CBPX flag information for extended macroblocks of any size X.
  • the quantization parameter may be encoded by using additional information included.
  • the converter and the quantizer may determine the quantization parameter in units of the current block when the coding block pattern of the current block is not zero.
  • the transformer and the quantizer may determine the quantization parameter in each subblock unit based on the additional information of each of the subblocks in the current block when the coding block pattern of the current block is not zero.
  • the encoder may encode the quantization parameter in units of the current block when the coding block pattern of the current block is not zero.
  • the encoder may differentiate the predicted quantization parameter of the current block by using the quantization parameter of a block that is already encoded in the left, upper, or coding order before.
  • determination or encoding of a quantization parameter may be omitted when the current block is in the SKIP mode.
  • the encoder may encode the quantization parameter in units of the i-th subblock when the coding block pattern of the current block is not 0 and the coding block pattern of the i-th subblock in the current block is not zero.
  • the converter and the quantizer may determine the quantization parameter sequentially for the subblocks in the current block.
  • the transformer and the quantizer may determine at least one quantization parameter for each encoding mode when the encoding modes of the divided subblocks in the extended macroblock are different.
  • the converter and the quantizer may determine a representative value of the quantization parameter for the lower subblocks of the subblock when the extended macroblock is divided into subblocks and the subblock is divided into lower subblocks and encoding is performed.
  • the minimum block size capable of encoding the quantization parameter may be transmitted to the sequence header or the slice header, or the encoder and the decoder may not transmit additional information using the promised block size.
  • An image decoding apparatus decodes the encoded data to restore the side information and the quantized transform coefficients, and adaptively determined and encoded based on the side information of the current block
  • a decoder for recovering the quantized parameter
  • An inverse quantizer and an inverse transformer for inversely quantizing and inversely transforming a quantized transform coefficient to restore a residual block
  • a predictor for generating a prediction block by using the additional information reconstructing the current block
  • And an adder for reconstructing the current block by adding a prediction block and a residual block.
  • the decoder may decode the quantization parameter in units of the current block when the coding block pattern of the current block is not zero.
  • decoding of the quantization parameter may be omitted when the current block is in the SKIP mode.
  • the quantization parameter may be decoded in the i-th subblock unit.
  • the decoder can also decode the size of the minimum subblock to recover the quantization parameter from the sequence header or slice header.
  • the decoder may predict the quantization parameter of the current block by using the quantization parameter of the left, upper, or already decoded block of the current block, or a block whose decoding order is previous.
  • An image encoding / decoding method for achieving the above object comprises the steps of: adaptively encoding a quantization parameter based on additional information about an extended macroblock and a divided subblock of an image; And reconstructing the quantization parameter adaptively encoded by the image encoding step, reconstructing the residual block based on the reconstructed quantization parameter, and reconstructing the image based on the reconstructed residual block.
  • a method of encoding an image comprising: generating a prediction subblock by predicting a subblock obtained by dividing an extended macroblock; Generating a residual subblock by subtracting the subblock and the prediction subblock; Transforming and quantizing the remaining subblocks corresponding to the sizes of the subblocks to generate quantized transform coefficients, and encoding quantization parameters based on the extended macroblocks and additional information about the subblocks; And entropy encoding the quantized transform coefficients to generate encoded data.
  • the quantization parameter encoding step may include at least one of SKIP mode information for an extended macroblock and a subblock, coded block pattern (CBP) information, and CBPX flag information for an extended macroblock of an arbitrary size X.
  • the quantization parameter may be encoded using additional information including.
  • the quantization parameter when the coding block pattern of the current block is not 0, the quantization parameter may be encoded in units of the current block.
  • the quantization parameter when the coding block pattern of the current block is not 0, the quantization parameter may be encoded in units of each subblock based on the additional information of each subblock in the current block.
  • encoding of the quantization parameter may be omitted when the current block is in the SKIP mode.
  • the quantization parameter may be encoded in the i-th subblock unit.
  • the quantization parameter may be sequentially encoded with respect to subblocks in the current block.
  • the quantization parameter encoding step when encoding modes of the divided subblocks in the extended macroblock are different from each other, at least one quantization parameter for each encoding mode may be encoded.
  • the quantization parameter encoding step when the extended macroblock is divided into subblocks and the subblock is divided into lower subblocks and encoding is performed, the representative value of the quantization parameter for the lower subblocks of the subblock is encoded.
  • the minimum block size capable of encoding the quantization parameter may be transmitted to the sequence header or the slice header, or the encoder and the decoder may not transmit additional information by using the block size promised.
  • the quantization parameter of the current block may be differentiated by using the quantization parameter of a block that has been previously coded on the left side, the top side, or the previous coding order.
  • the image decoding method for achieving the above object decoding the encoded data to restore the side information and the quantized transform coefficients, and restoring the adaptively determined and encoded quantization parameter based on the side information of the current block ; Inversely quantizing and inversely transforming the quantized transform coefficients to restore a residual block; Generating a prediction block using additional information reconstructing the current block; And reconstructing the current block by adding the prediction block and the residual block.
  • the coding block pattern of the current block is not 0, it is preferable to restore the quantization parameter in units of the current block.
  • decoding of the quantization parameter may be omitted when the current block is in the SKIP mode.
  • the coding block pattern of the current block is not 0 and the coding block pattern of the i-th subblock in the current block is not 0, it is preferable to restore the quantization parameter in units of the i-th subblock.
  • the quantization parameter reconstruction step may decode the size of the minimum subblock for reconstructing the quantization parameter from the sequence header or the slice header.
  • the quantization parameter reconstruction step may predict the quantization parameter of the current block by using the quantization parameter of the left, upper, or already decoded block of the current block, or the block whose decoding order is previous.
  • one or more quantization parameters can be adaptively used for an extended macroblock to be encoded or decoded, thereby maximizing encoding efficiency and decoding efficiency of each subblock.
  • bit allocation and control technique which is an essential technique of video coding
  • a more efficient and sophisticated algorithm can be easily developed.
  • An example of an extended macroblock used in an embodiment of the present invention and an example of a process of dividing an extended macroblock for intra prediction encoding and inter prediction encoding.
  • FIG. 3 is a diagram illustrating nine prediction directions and prediction mode numbers according to intra prediction modes of luminance components of 4x4 and 8x8 blocks according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating four prediction directions and prediction mode numbers according to intra prediction modes of luminance components of a 16 ⁇ 16 block according to another embodiment of the present invention.
  • FIG. 5 is a diagram illustrating three prediction directions and prediction mode numbers according to intra prediction modes of luminance components of blocks except for 4x4, 8x8, and 16x16 according to another embodiment of the present invention.
  • FIG. 6 is a diagram illustrating four prediction directions and mode numbers according to intra prediction modes of color difference components of N / 2 x N / 2 blocks according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a method of encoding a quantization parameter by an encoder according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating an example of an encoding mode and a CBP of a 32x32 pixel block.
  • FIG. 9 is a flowchart illustrating an image encoding method by the image encoding apparatus of FIG. 1.
  • FIG. 10 is a diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating an image decoding method by the image decoding apparatus of FIG. 10.
  • a video encoding apparatus (Video Encoding Apparatus) and a video decoding apparatus (Video Decoding Apparatus) are a personal computer (PC), a notebook computer, a personal digital assistant (PDA).
  • a portable multimedia player (PMP: Portable Multimedia Player), a PlayStation Portable (PSP: PlayStation Portable), a wireless communication terminal (Wireless Communication Terminal), a smart phone (smart phone), etc.
  • the present invention refers to various devices including a communication device such as a communication modem, a memory for storing various programs and data for encoding or decoding an image, a microprocessor for executing and operating a program, and the like.
  • an image encoded in a bitstream by an image encoding apparatus may be executed in real time or in 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, a mobile communication network, a wired telephone network, or the like.
  • the device may be transmitted to an image decoding apparatus through a communication interface such as a universal serial bus (USB), and decoded by the image decoding apparatus to be restored and reproduced as an image.
  • a communication interface such as a universal serial bus (USB)
  • FIG. 1 is a block diagram schematically illustrating a video encoding apparatus according to an embodiment of the present invention.
  • the image encoding apparatus 100 includes a predictor 110, a subtractor 120, a transformer and a quantizer 130, an encoder 140, an inverse quantizer and an inverse transformer 150, and an adder ( 160, a filter 170, and a picture buffer 180.
  • the predictor 110 may include an intra predictor 112 and an inter predictor 114, and the inter predictor 114 may further include a motion estimator 116 and a motion compensator 118.
  • the input image may be input to the image encoding apparatus 100 of FIG. 1 on a frame basis or a field basis, or may be divided into macroblocks having NxN pixels (where N is an integer of 16 or more) and input to the image encoding apparatus 100.
  • a macroblock having an integer greater than 16 is also called an extended macroback (EMB).
  • EMB extended macroback
  • the extended macroblock may be formed of a square pixel block having a size of 64x64, 32x32, or the like. That is, when the input image is a high resolution image such as a 4Kx2K image, encoding may be performed by dividing the N into an expanded macroblock having an integer greater than 16 to perform encoding.
  • the macroblocks described below refer to NxM pixel blocks in which both N and M are 16 or more (N and M may be different), and when N and M refer to macroblocks larger than 16, the term macroblock is expanded. Use That is, in the following description, macroblocks and extended macroblocks are used interchangeably, and both concepts do not limit 16x16 size blocks.
  • the macroblock When the high resolution input image is an image of 4: 2: 0 format, the macroblock includes a luminance block having N ⁇ N pixels and a color difference block having two N / 2 ⁇ N / 2 pixels.
  • the improvement of the compression efficiency of the high resolution image by the extended macroblock may be achieved by the specific embodiments described below.
  • FIG. 2 is a diagram illustrating an example of an extended macroblock used in an embodiment of the present invention and a process of dividing an extended macroblock for intra prediction encoding and inter prediction encoding.
  • Encoding and decoding may be performed in units of extended macroblocks on the high resolution input image, and the expanded macroblock may be divided into subblocks to perform intra prediction encoding or inter prediction encoding.
  • the extended macroblock is a 32x32 pixel block as illustrated in FIG. 2
  • the expanded macroblock may be divided into 16x16 subblocks to perform encoding, and the 16x16 subblocks may be 16x8, 8x16
  • the encoding may be performed by dividing into smaller subblocks such as 8x8, 8x4, 4x8, and 4x4.
  • the extended macroblock is a 32x32 pixel block, but the size of the expanded macroblock is not limited to the illustrated figure, and a larger pixel block may be used.
  • FIG. 2 the extended macroblock is a 32x32 pixel block, but the size of the expanded macroblock is not limited to the illustrated figure, and a larger pixel block may be used.
  • FIG. 2 the extended macroblock is a 32x32 pixel block, but the size of the expanded macro
  • the expanded macroblock may be divided into rectangular subblocks to perform encoding.
  • an extended macroblock of a 32x32 block may be divided into two 16x8 subblocks or two 8x16 subblocks to perform encoding.
  • the intra predictor 112 of the predictor 110 generates a reference block using neighboring pixels of a block to be currently encoded (hereinafter, referred to as a “current block”), and generates a reference block and a reference block.
  • the intra prediction mode is determined by comparing the current blocks.
  • the neighboring pixel refers to pixels in a block around the current block, and includes a neighboring pixel adjacent to the current block in blocks adjacent to the current block.
  • prediction direction In the case of performing intra prediction by dividing the extended macroblock into 4x4 pixel sub-blocks for the luminance component, nine prediction directions according to the intra prediction mode of the luminance component as shown in FIG. One most suitable prediction direction (prediction direction according to prediction mode 8) is selected for each current block in units of 4x4 pixels, and intra-prediction encoding is performed on the current block using the selected prediction direction.
  • the mean value of prediction mode 2 is a method of predicting all 4x4 pixels of the current block by obtaining an average value of a total of eight adjacent pixels of four adjacent pixels of the left block of the current block and four adjacent pixels of the upper block of the current block. .
  • the left block and the upper block are located outside the picture, respectively.
  • the use of the prediction direction is limited because the block outside the picture boundary cannot be referenced.
  • the prediction direction of the prediction mode 0, the prediction mode 3, the prediction mode 4, the prediction mode 5, the prediction mode 6, and the prediction mode 7 referring to the pixels of the upper block cannot be used in the block located at the top of the picture.
  • prediction of the current block is performed by referring to only pixels that do not deviate from the boundary of the picture. If the left block and the upper block that are adjacent to the current block are not available, the DC value uses 128.
  • the prediction direction of the selected current block is compared with the prediction direction of the block having the smaller prediction mode number among the left block and the upper block of the current block, and when the two prediction directions are the same, the prediction direction of the current block estimated from the neighboring block and the selected current
  • a prediction mode flag (for example, represented by 1 bit) indicating whether the prediction directions of the blocks are the same is encoded to indicate that the prediction direction is the same as the estimated direction.
  • the prediction mode flag is encoded to indicate that the prediction direction of the selected current block is different from the estimated direction of the estimated current block.
  • Prediction mode information for indicating which prediction mode among the eight prediction modes minus the prediction mode corresponding to the prediction direction of the current block estimated in the nine prediction modes is the prediction direction of the selected current block (for example, Can be represented by 3 bits).
  • intra prediction of 8x8 pixel units for the luminance component is shown in FIG. 3 as in intra prediction of 4x4 pixel units.
  • the same nine prediction directions are used, and the method of calculating the prediction pixels is the same as that of intra prediction coding in units of 4x4 pixels except for differences in block sizes (4x4 pixels and 8x8 pixels).
  • a prediction direction having the best coding efficiency is selected from four prediction directions as shown in FIG. According to the prediction direction, a 16x16 pixel block is predictively encoded from 16 neighboring pixels in a 16x16 pixel block located above a 16x16 current block and 16 neighboring pixels in a 16x16 pixel block located to the left of the current block. .
  • interpolation between adjacent pixels in an upper block of the current block and adjacent pixels in a left block of the current block is performed by interpolating diagonally.
  • the mean value prediction corresponding to the prediction mode 2 the mean value predicts an average value of 16 adjacent pixels in the upper block of the current block and 16 adjacent pixels in the left block as 16 ⁇ 16 pixels of the current block.
  • the average value of 16 adjacent pixels in the left block of the current block is used as a prediction value.
  • the top of the current block is used.
  • the average value of 16 adjacent pixels in the block is used as a prediction value.
  • prediction mode information e.g., represented by 2 bits.
  • the intra prediction mode of the luminance component has three prediction directions and prediction as shown in FIG. Can be represented by the mode number.
  • the size of the subblock is mxn (m and n are integers less than N, and N is an integer greater than or equal to 16).
  • an mxn pixel block is selected from m neighboring pixels in the upper block of the current block and n neighboring pixels in the left block according to the prediction direction having the best coding efficiency selected from the three prediction directions as shown in FIG. 5.
  • Intra predictive coding is selected from m neighboring pixels in the upper block of the current block and n neighboring pixels in the left block according to the prediction direction having the best coding efficiency selected from the three prediction directions as shown in FIG. 5.
  • the current block is predictively encoded using the average value of m neighboring pixels in the upper block of the current block and n neighboring pixels in the left block.
  • the average value of n neighboring pixels of the left block of the current block is used as the prediction value of the current block
  • the upper block An average value of m neighboring pixels in the frame is used as a prediction value of the current block. If the left block and the upper block of the current block are not available, 128 is used as a prediction value of the current block.
  • the prediction direction of the current block estimated from the neighboring blocks of the current block and the selected current Information about a prediction direction that is the same as the prediction direction of the current block in which a prediction mode flag (for example, one bit may be indicated) indicating whether or not the prediction directions of the blocks are the same is encoded. Since the number of prediction modes that an mxn pixel block can have is 0 to 2, when the prediction mode number of the current block predicted using the left block and the upper block of the current block is 3 or more, the prediction direction of the current block is the prediction mode number. 2 (DC mode) can be used. For example, when the prediction mode number of the current block predicted from the neighboring block is 4, a prediction mode flag (eg, 1 bit) indicating whether the prediction mode number of the current block is the same as the prediction direction of the current block selected. Coded).
  • a prediction mode flag eg, 1 bit
  • the intra prediction for the extended macroblock is a pixel block unit of 16x16 or less, that is, a 4x4 pixel block, an 8x8 pixel block, a 16x16 pixel block, or an mxn (where m ⁇ n and m and n are less than 16) pixels. It is preferable to perform block by block.
  • Intra prediction of the chrominance component may be performed in units of N / 2 ⁇ N / 2 pixel blocks. As shown in FIG. 6, four prediction directions may be used: average prediction, horizontal prediction, vertical prediction, and plane prediction. Preferably, intra prediction of the chrominance component is performed in units of 8x8 pixel blocks.
  • planar prediction corresponding to prediction mode 3 and prediction mode 0 correspond to each other.
  • the predictive value calculation method for predicting the mean value is also the same as the intra prediction encoding method in units of 16x16 pixels of the luminance component except for the difference in block size (16x16 pixels and 8x8 pixels).
  • the prediction mode of the color difference signal may be selected independently of the prediction mode of the luminance signal. There are two types of color difference signals, U and V, but the prediction method is the same.
  • the prediction mode of the chrominance signal is one each of U and V.
  • the prediction mode of each chrominance signal is represented by using two bits instead of the predictive coding.
  • the intra predictor 112 predicts the current block to generate a predicted block, and the subtractor 120 subtracts the current block and the predicted block to residual blocks.
  • Block The transformer and quantizer 130 transform and quantize the residual block to generate quantized transform coefficients, and the encoder 140 entropy encodes the quantized transform coefficients to generate encoded data.
  • the converter and quantizer 130 performs 4x4 transform on the remaining blocks of the current block in which intra prediction in units of 4x4, 4x8, and 8x4 pixels in luminance components is selected, and the current block in which intra prediction in units of 8x8, 8x16 and 16x8 pixels is selected.
  • An 8x8 transform may be performed on the residual block of.
  • the converter and the quantizer 130 may perform 16x16 transform on the residual block of the current block in which intra prediction of 16x16 pixels or more is selected. In this case, since the unit of intra prediction and the size of the subblock are the same, the type of transform may be determined according to the block size of the subblock.
  • a residual block having 16x16 pixels to which each 16x16 transform is performed (hereinafter, referred to as a 16x16 pixel residual block) is further divided into a residual block having 16 4x4 pixels (hereinafter referred to as a 4x4 pixel residual block).
  • 4x4 transform may be performed on each 4x4 pixel residual block.
  • only 16 DC components of a transform block (hereinafter, referred to as a 4x4 pixel transform block) having each 4x4 pixel generated by 4x4 pixel residual block 4x4 transform are collected to have a 4x4 transform coefficient (hereinafter, 'DC'). Component block '), and the 4x4 transform is performed once more.
  • a transform different from the transform when the residual block is transformed may be used to transform the DC component block. That is, a 4x4 Discrete Cosine Transform (DCT) is performed on the 4x4 pixel residual block, and a 4x4 Hadamard transform may be used on the DC component block.
  • DCT Discrete Cosine Transform
  • a 4x4 Hadamard transform may be used on the DC component block.
  • a 16x32 pixel residual block for the current block in which intra prediction is selected in units of 16x32 pixels is divided into two 16x16 pixel residual blocks, and 4x4 conversion is performed in 4x4 pixel units for each of the divided 16x16 pixel residual blocks.
  • DC components of the 4x4 transform blocks in the 16x16 pixel residual block are gathered to form a DC component block, and 4x4 transform is performed once more on the DC component block.
  • 4x4 transform may be performed as in the case of intra prediction of 16x16 pixel unit or more, and then 4x4 transform may be performed once more for the DC component block.
  • the residual block of the macroblock of the chrominance component is divided into residual blocks having 8x8 pixels (hereinafter referred to as '8x8 pixel residual blocks'), and 4x4 transform is performed on four 4x4 pixel residual blocks in each 8x8 pixel residual block.
  • DC components of four 4x4 transform blocks in the 8x8 pixel residual block may be collected to form a DC component block having a 2x2 transform coefficient, and 2x2 transform may be performed on the DC component block.
  • the 4x4 transform for the 8x8 pixel residual block and the 2x2 transform for the DC component block may be different.
  • a transform type having good efficiency according to the size of the sub-block used for intra prediction in units of 16x16 pixel blocks instead of performing a transform according to the above-described transform type after the optimal block type is determined for the extended macroblock, a transform type having good efficiency according to the size of the sub-block used for intra prediction in units of 16x16 pixel blocks.
  • the encoder 140 generates transform type data by generating and encoding a transform type for identifying the type of the transform selected for each block. Transform type data is included in the encoded data. However, different transforms cannot be used in a 16x16 pixel block.
  • a 16x16 pixel block is divided into 8x8 pixel blocks and one or more 8x8 pixel blocks of four 8x8 pixel blocks are divided into subblocks smaller than 8x8 pixels
  • 4x4 conversion is performed on the 16x16 pixel block. Only can be used, in which case the transform type is not encoded.
  • a 4x4 transform and an 8x8 transform are performed on the 16x16 pixel block to select a transform having a low encoding cost, and a transform type (for example, a type of a transform selected) , May be represented by 1 bit).
  • a 4x4 transform, an 8x8 transform, and an 8x16 transform are performed on the remaining blocks of the 16x16 pixel subblock to select the type of the transform having the lowest encoding cost.
  • the 4x4 transform, the 8x8 transform, and the 16x8 transform are performed on the remaining blocks of the 16x16 pixel subblock to select the type of transform having the least encoding cost.
  • a transformation type (for example, may be represented by 1 bit or 2 bits) indicating the type may be encoded.
  • the motion estimator 116 searches for a block that is most similar to the current block that is the current encoding target in the current picture, that is, a reference block within the reference picture, for the current block.
  • a motion vector (MV) indicating a relative position of the reference block is output. This process is called motion estimation, and motion estimation generates a motion vector by comparing subblocks in a macroblock with one or more reference pictures in the picture buffer 180.
  • the 8x8 pixel block may use different reference pictures, but the subblocks in the 8x8 pixel block use the same reference picture.
  • the motion vector is encoded by the encoder 140 and included in the encoded data.
  • the encoder 140 uses a median of motion vectors of neighboring blocks of the current block as a predicted motion vector (PMV). Only the differential motion vector (DMV), which is a difference vector between the predicted motion vector and the motion vector of the current block, is encoded to generate motion information data.
  • the encoder 140 may further encode not only a differential motion vector but also a reference picture index. That is, the motion information may include a differential motion vector and a reference picture index, and the encoder 140 may encode the motion information to generate motion information data and include the motion information data in the encoded data.
  • the SKIP mode is used for an extended macroblock that is a 16x16 pixel block or more.
  • the SKIP mode refers to a mode in which specific information such as block type information, motion information, or transform coefficient is not encoded.
  • specific information such as block type information, motion information, or transform coefficient is not encoded.
  • only information indicating that the current block is in the SKIP mode may be encoded, and other block types, motion information, and transform coefficients may not be encoded.
  • only motion information of the current block may be encoded, and information such as type information and transform coefficients may not be encoded.
  • only the transform type and transform coefficient of the current block may be encoded, and the type information and motion information may not be encoded.
  • the extended macroblock which is a 16x16 pixel block or more
  • the extended macroblock which is a 16x16 pixel block or more
  • the predictive motion vector is determined as 0.
  • the predicted motion vector of the current block is (0). , 10).
  • the subtractor 120 subtracts the current block and the reference block indicated by the motion vector of the current block estimated by the motion estimator 116 to generate a residual block, and the transformer and the quantizer 130 are generated by the subtractor 120.
  • the residual block is transformed and quantized, and the encoder 140 generates encoded data by entropy encoding the quantized transform coefficients.
  • the transformer and quantizer 130 performs one or more transforms and quantizations according to the size of the current block, selects the most efficient transform type, and generates transform and quantized transform coefficients according to the selected transform type. do.
  • the encoder 140 generates transform type data by generating and encoding a transform type for identifying a type of a transform selected for each block. Transform type data is included in the encoded data. However, different transforms cannot be used in a 16x16 pixel block.
  • 16x16 pixel subblocks are divided into 8x8 pixel blocks and 16x16 pixels when one or more 8x8 pixel subblocks of four 8x8 pixel subblocks are divided into subblocks smaller than 8x8 pixels. Only 4x4 transforms may be used for the remaining blocks of the subblock, in which case the transform type is not encoded.
  • a 16x16 pixel subblock is divided into four 8x8 pixel subblocks, a 4x4 transform and an 8x8 transform are performed on the remaining blocks of the 16x16 pixel subblock to select a transform having a low encoding cost, and a transform type indicating the type of the selected transform. (E.g., represented by 1 bit) is encoded.
  • the 4x4 transform, the 8x8 transform, and the 8x16 transform are performed on the remaining blocks of the 16x16 pixel subblock to select the type of transform having the lowest encoding cost.
  • the 4x4 transform, the 8x8 transform, and the 16x8 transform are performed on the remaining blocks of the 16x16 pixel subblock, and the type of transform having the lowest encoding cost is selected.
  • a transform type (which may be represented by 1 bit or 2 bits, for example) is encoded.
  • a subblock of 16x16 pixels or more For a subblock of 16x16 pixels or more, 4x4 transform, 8x8 transform, and 16x16 transform are performed, and the transform having the lowest encoding cost is selected, and a transform type (for example, represented by 1 bit or 2 bits) indicating the type of the selected transform is encoded. do.
  • a transform type for example, represented by 1 bit or 2 bits
  • the residual block transformed and quantized by the transformer and quantizer 130 is inversely quantized and inversely transformed by the inverse quantizer and inverse transformer 150 to restore the residual block, and the adder 160 is configured to recover the residual block and the predictor ( The prediction block predicted by 110 is added to reconstruct the current block.
  • the incubator 140 generates encoded data by entropy encoding the transform coefficients quantized by the transformer and the quantizer 130.
  • quantization The process of dividing the orthogonal transformed component into quantization steps and approximating the result to an integer representative value is called quantization, and the integer value that becomes the representative is called a quantization value.
  • inverse quantization the process of multiplying the quantization value by the quantization step and returning it to the orthogonal transformed component is called inverse quantization.
  • the orthogonal transform component can be represented by a smaller integer value, and the efficiency can be increased because a smaller number of bits can be encoded compared to encoding a component that has not been quantized.
  • the compression rate can be adjusted by changing the size of the quantization step.
  • Quantization is not just to reduce the amount of information, but to consider the bandwidth provided by a channel or other physical medium for data transmission to be able to derive the best image quality within a given range. That is, the image quality that can obtain the same channel through the bandwidth depends on which quantization parameter value is applied.
  • extended macroblock flag extended_mb_flag
  • extended_mb_flag extended macroblock flag
  • intra prediction encoding or inter prediction encoding may be performed on each of the divided 16 ⁇ 16 pixel blocks in the extended macroblock.
  • each 16x16 pixelblock unit may be divided into smaller subblocks to perform encoding.
  • the extended macroblock When the extended macroblock is in the inter mode, the extended macroblock may be intra prediction encoded or inter prediction encoded by being divided into units of 16 ⁇ 16 pixel blocks. That is, when the extended macroblock is inter prediction coded, each of the 16x16 pixel blocks in the extended macroblock may have an intra prediction coding mode and an inter prediction coding mode. In addition, when the extended macroblock is intra prediction encoded, each of the 16x16 pixel blocks in the extended macroblock may be encoded in an intra prediction encoding mode.
  • An embodiment of the present invention proposes a method of adaptively encoding a quantization parameter from a basic coding block unit applied at the time of encoding to a minimum block unit of an arbitrary size.
  • FIG. 7 is a flowchart illustrating a method of encoding quantization parameters by a transformer and a quantizer 130 according to an embodiment of the present invention.
  • the size of the extended macroblock is a 32x32 block
  • the minimum block unit for transmitting the quantization parameter is a 16x16 block
  • the coding mode and the coded block pattern (CBP) of the corresponding block are determined as shown in FIG. 8.
  • the CBP is information indicating whether a non-zero quantized transform coefficient is included in a corresponding block, and may be encoded in units of arbitrary size such as 32x32 or 16x16 pixel blocks.
  • the encoding of the quantization parameter for the extended macroblock of the inter prediction encoding mode as shown in FIG. 8 may be determined based on the SKIP mode and / or CBP information of the block to be encoded.
  • the SKIP mode refers to a mode that does not encode specific information such as block type information, motion information, or transform coefficients.
  • the CBP is encoded in units of 16x16 pixel blocks, and indicates whether there is a non-zero transform coefficient for each 8x8 pixel block in the 16x16 pixel block using 1 bit per 8x8 pixel block, and two 2x2 chrominance component DC blocks for the color difference component. Whether or not there is a non-zero transform coefficient may be represented using 1 bit, and whether or not there are non-zero transform coefficients in two 8x8 color difference component AC blocks may be indicated using 1 bit.
  • a CBPX flag indicating whether a non-zero coefficient to be encoded is present in a subblock may be used.
  • X is an integer indicating the size of the object to be encoded, and in the case of a 64x64 pixel block, a CBP64 flag may be used, and a 32x32 pixel block may be represented by a CBP32 flag.
  • the CBPX flag may be displayed using 1 bit, such as 0 or 1. For example, when a non-zero transform coefficient is present in a 32x32 pixel block, the CBP32 flag may be displayed as 1 to be encoded.
  • the CBP may be encoded.
  • the size of the subblock is not a 32x32, 32x16, or 16x32 pixel block
  • the conversion type can be encoded when the CBP flag is not zero.
  • the CBP may be encoded, and then, when the CBP is not 0, the transform type applied in units of 16x16 pixel blocks may be encoded.
  • the CBP is encoded according to the transform type. If 16x16 transform is used, only the CBP 2-bits of the chrominance component are encoded. If 8x16 or 16x8 transform is used, CBP 2-bit indicating whether two 8x16 or 16x8 pixel blocks within the 16x16 pixel block have a non-zero transform coefficient. Encode However, in exceptional cases, when the CBP bit of the first divided block of the two divided blocks is 0, the CBP bits of the second divided block may not be encoded.
  • the encoder 140 encodes the quantization parameter in units of 32x32 pixel blocks (S705). If the extended macroblock is an intra block, if the CBP of the extended macroblock of the intra prediction encoding mode is not 0 (S707), the encoder 140 encodes the quantization parameter in units of 32x32 pixel blocks (S705). In this case, the encoder 140 encodes a difference value with a quantization parameter value of a 32x32 block previously encoded as shown in Equation 4.
  • ext_mb_cbp refers to a CBP of a 32x32 pixel block unit, which is an extended macroblock
  • ext_skip_flag is a flag indicating whether a 32x32 pixel block, which is an extended macroblock, is a SKIP mode and may be represented as 0 when not in a SKIP mode.
  • Equation 4 After encoding the value, 0 is assigned to the sequence number of the first 16x16 subblock in the current encoding target block, that is, the 32x32 pixel block, and the quantization parameter encoding process for the divided 16x16 subblocks in the 32x32 pixel block is started (S709). ).
  • the encoding type of the i-th subblock having the size of 16x16 for the extended macroblock of the 32x32 pixel block is indicated by mb_type [i].
  • the size of the sub block is not limited to the 16x16 pixel block.
  • the subblocks in the extended macroblock may be 32x32 pixel blocks.
  • the encoder 140 determines whether the i-th 16x16 pixel block in each 32x32 pixel block is in the SKIP mode (S713), and SKIP It is determined whether a nonzero quantized transform coefficient is included in the i-th 16x16 pixel block other than the mode (S715).
  • skip_flag [i] is syntax indicating whether the i-th 16x16 pixel block in the 32x32 pixel block is in the SKIP mode, and mb_cbp [i] indicates the CBP of the i-th 16x16 pixel block unit in the 32x32 pixel block.
  • the encoder 140 determines the corresponding i-th 16x16 pixel.
  • a quantization parameter is encoded in block units (S717). That is, if the 16x16 block to be encoded is in the SKIP mode or the CBP value is 0, the quantization parameter for the block is not encoded.
  • the quantization parameter for the 16x16 block is encoded by differentially encoding the quantization parameter of the 32x32 block as shown in Equation 5.
  • the quantization parameter for the corresponding subblock is differentially encoded from the quantization parameter of the 32x32 block.
  • Equation (5) Is the differential quantization parameter value of the i < th > 16x16 block within the current 32x32 block, Is the quantization parameter value of the i-th 16x16 block in the current 32x32 block.
  • the quantization parameter is sequentially encoded for each 16x16 pixel block in the 32x32 pixel block, and after the encoding of the quantization parameter for the last 16x16 pixel block in the 32x32 pixel block is performed, the quantization parameter for the corresponding extended macroblock is performed.
  • the encoding is terminated (S719).
  • the extended macroblock is assumed to be a 32x32 pixel block, but the size of the expanded macroblock is not limited to the 32x32 pixel block.
  • the extended macroblock may be a 64x64 pixel block, a 128x128 pixel block, or more pixel blocks.
  • encoding of the quantization parameter may be performed by differentiating the quantization parameter of the extended macroblock and the quantization parameter of the divided block.
  • the encoder 140 encodes the quantization parameter in units of 64x64 pixel blocks. .
  • the extended macroblock may encode a difference value with the quantization parameter value of the previously encoded 64x64 block as shown in Equation 6.
  • Equation 6 a case of encoding a quantization parameter of an extended macroblock has been described.
  • the quantization parameter of the current subblock may be predicted.
  • the quantization parameter encoding process for the divided 32x32 subblocks in the 64x64 pixel block is started.
  • the first 32x32 subblock is assigned a sequence number of zero.
  • the quantization parameter is no longer encoded.
  • the encoder 140 determines whether the i-th 32x32 pixel block in the 64x64 pixel block is in the SKIP mode, and whether a non-zero quantized transform coefficient is included in the block for the i-th 32x32 pixel block that is not in the SKIP mode. Judge. If it is not the SKIP mode of the i-th 32x32 pixel block in the 64x64 pixel block and includes a quantized transform coefficient, that is, if CBP is determined to be greater than zero, the encoder 140 encodes the quantization parameter in units of the corresponding i-th 32x32 pixel block. do.
  • the quantization parameter for the block is not encoded. If the block is not in the SKIP mode and the CBP value is not 0, the quantization parameter for the 32x32 block is encoded by differentially encoding the quantization parameter of the 64x64 block as shown in Equation (7).
  • the technique of predicting the current quantization parameter using the quantization parameter of the upper block is one example of the proposed technique. The quantization of the current block is performed by subtracting a quantization parameter of a block that has been previously coded to the left, the top, or the coding order before You can also use a method of encoding parameters.
  • the encoding process of the quantization parameter for the sub-block smaller than each i-th 32x32 pixel block is as described with reference to FIG. 7.
  • the quantization parameter is sequentially encoded for each 32x32 pixel block in the 64x64 pixel block.
  • the method of FIG. 7 is applied to the 32x32 block to encode a quantization parameter.
  • the process of FIG. 7 is applied recursively when a specific size subblock is divided into smaller subblocks and encoded. After encoding of the quantization parameter for the last 32x32 pixel block in the 64x64 pixel block is performed, encoding of the quantization parameter for the corresponding extended macroblock is terminated.
  • the encoding of the quantization parameter is a difference value between the quantization parameter value of the extended macroblock and the quantization parameter value of the primary partitioned block, that is, when the size of the extended macroblock is a 64x64 pixel block.
  • the difference between the value and the quantization parameter value of the primary divided 32x32 pixel block has been described as encoding, the encoding of the difference value of the quantization parameter is not limited to that described.
  • the difference value between the quantization parameter value of the 64x64 pixel block and the quantization parameter value of the 16x16 pixel block that is a subblock within the 32x32 pixel block may be encoded.
  • quantization parameter prediction using neighboring subblocks may be used.
  • embodiments of the present invention may be applied to extended macroblocks of various sizes.
  • the size of the extended macroblock is 64x64 block
  • the 64x64 pixel block is not in SKIP mode and the CBP is not 0 as described above
  • the quantization parameter of the corresponding 64x64 pixel block is encoded, and then the partitioning in the 64x64 pixel block is performed.
  • Each 32x32 pixel block may be encoded by the above-described method.
  • the quantization parameter may be encoded based on the CBP information using the 16 ⁇ 16 pixel block as the minimum unit.
  • the minimum block unit for encoding the quantization parameter is not limited to 16x16 blocks, and in some cases, may be an 8x8 pixel block or a 4x4 pixel block.
  • the minimum block unit capable of encoding the quantization parameter may be encoded in a sequence header or a slice header, and may use a size promised by the encoder and the decoder.
  • a 32x32 pixel block is divided into four 16x16 pixel blocks to encode quantization parameters.
  • the number of divided blocks is not limited thereto.
  • the 32x32 pixel block may be divided into two 32x16 pixel blocks or two 16x32 pixel blocks to perform quantization encoding.
  • Each 16x16 pixel block in the 32x32 pixel block may include a 16x8 pixel block, an 8x16 pixel block,
  • the encoding of the quantization parameters may be performed by dividing into smaller pixel blocks such as 8x8 pixel blocks.
  • a 32x32 pixel block is divided into four 16x16 pixel blocks to encode a quantization parameter.
  • an NxM an arbitrary size corresponding to an encoding layer and a pixel block to be encoded
  • N and M may or may not be the same
  • the encoding of the quantization parameter of the pixel block may be performed.
  • the quantization parameter is encoded based on the SKIP mode and the CBP information of the block to be encoded.
  • the encoding of the quantization parameter is not limited to the SKIP mode and the CBP information. May be determined by any other syntax or variable.
  • the quantization parameter of the highest block is encoded by differentially encoding the quantization parameter of the previous block.
  • the encoding of the quantization parameter is not limited thereto, and may be encoded through any other operation including a difference, and the slice may be encoded.
  • the quantization parameter of the highest block may be encoded by any operation including a unit or other quantization parameter value and a difference.
  • the filter 170 performs filtering using a deblocking filter, etc., on the pictures created by accumulating the current blocks restored by the adder 160, and the filtered pictures are stored in the picture buffer 180 to refer to the next picture. It is used as a picture.
  • FIG. 9 is a flowchart illustrating an image encoding method by the image encoding apparatus of FIG. 1.
  • the predictor 110 generates a predictive subblock by predicting a subblock obtained by dividing an extended macroblock (S901).
  • the subtractor 120 subtracts the subblock divided by the predictor 110 and the generated prediction subblock to generate a residual subblock (S903).
  • the transformer and quantizer 130 converts and quantizes the remaining subblocks corresponding to the sizes of the subblocks to generate quantized transform coefficients, and determines quantization parameters based on the extended macroblocks and additional information about the subblocks. (S905).
  • the encoder 140 may encode the quantization parameter by using additional information including at least one of SKIP mode information, coded block pattern (CBP) information, and CBPX flag information about the extended macroblock and the subblock. Can be.
  • the encoder 140 may encode the quantization parameter in units of the current block when the coding block pattern of the current block is not zero.
  • the encoder 140 may encode the quantization parameter in units of each subblock based on the additional information of each subblock in the current block.
  • the encoder 140 may sequentially encode the quantization parameter with respect to the subblocks in the current block.
  • the encoder 140 may encode at least one quantization parameter for each encoding mode when the encoding modes of the divided subblocks in the extended macroblock are different. In addition, when the extended macroblock is divided into subblocks and the subblock is divided into lower subblocks and encoding is performed, the encoder 140 may encode a representative value of the quantization parameter for the lower subblocks of the subblock. Can be.
  • the encoder 140 generates encoded data by entropy coding a quantized transform coefficient (S907).
  • the encoder 140 may encode the quantization parameter in units of the current block when the coding block pattern of the current block is not zero.
  • the encoder 140 may omit determination or encoding of the quantization parameter when the current block is in the SKIP mode.
  • the encoder 140 may encode the quantization parameter in units of the i-th subblock when the coding block pattern of the current block is not 0 and the coding block pattern of the i-th subblock in the current block is not zero.
  • FIG. 10 is a diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention
  • FIG. 11 is a flowchart illustrating an image decoding method according to FIG. 10.
  • the image decoding apparatus 1000 may include a decoder 1010, an inverse quantizer and an inverse transformer 1020, a predictor 1030, and an adder 1040. Also, the image decoding apparatus 1000 may further include a filter 1050 and a picture buffer 1060.
  • the decoder 1010 decodes the encoded data to restore the additional information and the quantized transform coefficient, and restores the difference value of the encoded quantization parameter that is adaptively determined based on the additional information of the current block (S1101).
  • the difference value of the quantization parameter means a difference value between the quantization parameter value of the extended macroblock encoded by the video encoding apparatus 100 and the quantization parameter value of the subblock in the extended macroblock.
  • the decoder 1010 may decode the difference value of the quantization parameter in units of the current block.
  • decoding of the quantization parameter may be omitted when the current block is in the SKIP mode.
  • the difference value of the quantization parameter may be decoded in the i-th subblock unit.
  • the decoder 1010 may be implemented to decode the size of the minimum subblock for recovering the quantization parameter from the sequence header or the slice header.
  • the decoder 1010 may be implemented to predict the quantization parameter of the current block by using the quantization parameter of the left, upper, or already decoded block of the current block, or the block whose decoding order is previous.
  • the inverse quantizer and the inverse transformer 1020 inversely quantize and inversely transform the quantized transform coefficients to restore the residual block (S1103).
  • the predictor 1030 generates a prediction block by using additional information for reconstructing the current block (S1105).
  • the prediction block generation method by the predictor 1030 is the same as the predictor 110 of the image encoding apparatus 100.
  • the adder 1040 adds the prediction block and the residual block to restore the current block (S1107).
  • the size of the extended macroblock and the divided subblock are applied. It is a very useful invention to generate an effect of adaptively encoding and decoding quantization parameters according to the size of.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

영상 부호화/복호화 장치 및 방법이 개시된다. 본 발명의 실시예에 따른 영상 부호화/복호화 장치는, 영상 부호화/복호화 장치에 있어서, 영상의 매크로블록 및 분할된 서브블록에 대한 부가정보에 기초하여 매크로블록의 양자화 파라미터 값과 확장된 매크로블록 내의 분할된 블록의 양자화 파라미터 값의 차분 값을 부호화하는 영상 부호화기; 및 영상 부호화기에 의해 부호화된 양자화 파라미터의 차분 값을 복원하며, 복원된 양자화 파라미터의 차분 값에 기초하여 잔여블록을 복원하고, 복원된 잔여블록에 기초하여 영상을 복원하는 영상 복호화기를 포함하는 것을 특징으로 한다.

Description

영상 부호화/복호화 장치 및 방법
본 발명은 영상 부호화/복호화 장치 및 방법에 관한 것이다. 더욱 상세하게는, 고해상도의 영상에 대하여 종래의 매크로블록보다 큰 블록단위로 영상의 부호화 및 복호화를 수행하는 경우에, 적용되는 확장된 매크로블록의 크기 및 분할된 서브블록의 크기에 따라 적응적으로 양자화 파라미터의 부호화 및 복호화를 수행할 수 있는 영상 부호화/복호화 장치 및 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
동영상 데이터를 압축하기 위한 표준화된 기술로는 현재 H.261, H.263, H.264, MPEG-2, MPEG-4 등이 있다. 이러한 기존의 동영상 압축 기술에 따르면, 각 영상을 휘도 성분의 16x16 크기의 화소들과 색차 성분의 8x8 크기의 화소들의 사각 영역으로 이루어진 고정된 크기의 매크로블록(Macroblock)들로 나누어 부호화한다. 각 매크로블록의 모든 휘도 성분(Luma Component)과 색차 성분(Chroma Component)들은 공간적으로나 시간적으로 예측되고, 예측 잔여(Predicted Residual)는 변환(Transform) 및 양자화(Quantization), 엔트로피 부호화(Entropy Coding) 등의 과정을 거치면서 압축된다.
H.264/AVC 압축 표준에 따른 부호화 장치는 각 매크로블록을 16x16 크기, 8x8 크기, 4x4 크기의 더 작은 블록으로 분할하여 인트라 예측 부호화(Intra Prediction Encoding)할 수 있으며, 16x16 화소 블록에 대해서는 4 가지의 예측 모드 중 하나를 사용하고, 8x8 화소 블록과 4x4 화소 블록에 대해서는 9 가지의 예측 모드 중 하나를 사용하여 인트라 예측 부호화한다. 인터 예측 부호화(Inter Prediction Encoding)의 경우, 각 매크로블록은 16x16 크기, 16x8 크기, 8x16 크기, 8x8 크기, 8x4 크기, 4x8 크기, 4x4 화소 블록으로 분할되어 인터 예측 부호화될 수 있다. 변환은 8x8 크기 또는 4x4 화소 블록 단위로 적용되고, 변환 계수(Transform Coefficient)의 양자화로는 스칼라(Scalar) 양자화가 사용된다.
H.264/AVC는 슬라이스(Slice) 및 매크로블록(Macroblock) 단위로 양자화 파라미터(QP: Quantization Parameter)를 전송한다. 슬라이스 단위의 양자화 파라미터는 수학식 1을 사용하여 계산된 차분 양자화 파라미터를 전송한다.
[수학식 1]
Figure PCTKR2011003292-appb-I000001
여기서,
Figure PCTKR2011003292-appb-I000002
은 현재 슬라이스에서 사용된 양자화 파라미터이고,
Figure PCTKR2011003292-appb-I000003
은 PPS(Picture Parameter Set)에 전송되는 차분 양자화 파라미터이다. 이는 수학식 2와 같이 부호화시 사용자에 의해 입력된 양자화 파라미터 값에서 26을 뺀 차분값이다.
[수학식 2]
Figure PCTKR2011003292-appb-I000004
매크로블록 단위로 전송되는 양자화 파라미터는 수학식 3과 같이 이전에 부호화된 매크로블록의 양자화 파라미터 값과 현재 매크로블록의 양자화 파라미터 값의 차분 값을 부호화한다.
[수학식 3]
Figure PCTKR2011003292-appb-I000005
매크로블록단위로 전송되는 양자화 파라미터는 블록 타입과 CBP(Coded Block Pattern)에 따라 적응적으로 부호화된다. 인트라(Intra) 블록의 경우 모든 매크로블록에 대하여 수학식 3으로 계산한 양자화 파라미터의 차분값을 부호화한다. 인터(Inter) 블록에 대해서는 CBP값을 확인하여 양자화 파라미터의 부호화 여부를 결정한다. 현재 매크로블록에 복호화 할 양자화된 변환 계수 데이터가 없으면 양자화 파라미터를 전송하지 않는다. CBP가 존재하는 경우는 수학식 3을 이용하여 양자화 파라미터를 전송한다.
그런데, H.264/AVC의 양자화 파라미터 전송 방법은 기본 부호화 단위가 매크로블록인 경우만 고려하여 고안되었다. 최근 부호화에 사용되는 영상의 해상도가 커짐에 따라 기본 부호화 단위도 매크로블록에 한정되지 않고 확장된 매크로블록의 사용이 고려되고 있다. 따라서, 이에 적합한 최적화된 양자화 파라미터 부호화 방법이 필요하다.
본 발명의 실시예는 전술한 문제점을 해결하기 위한 것으로서, 고해상도의 영상에 대하여 종래의 매크로블록보다 큰 블록단위로 영상의 부호화 및 복호화를 수행하는 경우에, 적용되는 확장된 매크로블록의 크기 및 분할된 서브블록의 크기에 따라 적응적으로 양자화 파라미터의 부호화 및 복호화를 수행할 수 있는 영상 부호화/복호화 장치 및 방법을 제공하는 것을 목적으로 한다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 부호화/복호화 장치는, 영상의 확장된 매크로블록 및 분할된 서브블록에 대한 부가정보에 기초하여 확장된 매크로블록의 양자화 파라미터 값과 확장된 매크로블록 내의 분할된 블록의 양자화 파라미터 값의 차분 값을 부호화하는 영상 부호화기; 및 영상 부호화기에 의해 적응적으로 부호화된 양자화 파라미터의 차분 값을 복원하며, 복원된 양자화 파라미터의 차분 값에 기초하여 잔여블록을 복원하고, 복원된 잔여블록에 기초하여 영상을 복원하는 영상 복호화기를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 부호화 장치는, 임의의 크기의 확장된 매크로블록을 분할한 서브블록을 예측하여 예측 서브블록을 생성하는 예측기; 서브블록과 예측 서브블록을 감산하여 잔여 서브블록을 생성하는 감산기; 잔여 서브블록을 서브블록의 크기에 대응하여 변환하고 양자화하여 양자화된 변환 계수를 생성하며, 확장된 매크로블록 및 서브블록에 대한 부가 정보에 기초하여 양자화 파라미터를 결정하는 변환기 및 양자화기; 및 양자화된 변환 계수를 엔트로피 부호화하여 부호화 데이터를 생성하며, 결정된 양자화 파라미터를 부호화하는 부호화기를 포함하는 것을 특징으로 한다.
여기서, 변환기 및 양자화기는, 확장된 매크로블록 및 서브블록에 대한 SKIP 모드 정보, 부호화 블록 패턴(Coded Block Pattern: CBP) 정보, 임의의 크기 X의 확장된 매크로 블록에 대한 CBPX 플래그 정보 중의 적어도 하나를 포함하는 부가정보를 이용하여 양자화 파라미터를 부호화할 수 있다.
또한, 변환기 및 양자화기는, 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 현재블록 단위로 양자화 파라미터를 결정할 수 있다.
또한, 변환기 및 양자화기는, 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 현재블록 내의 서브블록들의 각각의 부가정보에 기초하여 각각의 서브블록 단위로 양자화 파라미터를 결정할 수 있다.
또한, 부호화기는, 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 현재블록 단위로 양자화 파라미터를 부호화할 수 있다.
또한, 부호화기는, 현재블록의 양자화 파라미터를 예측함에 있어 이미 부호화된 좌측, 상단, 또는 부호화 순서가 이전인 블록의 양자화 파라미터를 이용하여 차분할 수 있다.
또한, 현재블록이 인터 예측 부호화 모드인 경우, 현재블록이 SKIP 모드이면 양자화 파라미터의 결정 또는 부호화를 생략할 수 있다.
또한, 부호화기는, 현재블록의 부호화 블록 패턴이 0이 아니고, 현재블록 내의 i번째 서브블록의 부호화 블록 패턴이 0이 아닌 경우에 i번째 서브블록 단위로 양자화 파라미터를 부호화할 수 있다.
또한, 변환기 및 양자화기는, 현재블록 내의 서브블록들에 대하여 순차적으로 양자화 파라미터를 결정할 수 있다.
또한, 변환기 및 양자화기는, 확장된 매크로블록 내의 분할된 서브블록들의 부호화 모드가 서로 다른 경우, 각각의 부호화 모드에 대한 적어도 하나의 양자화 파라미터를 결정할 수 있다.
또한, 변환기 및 양자화기는, 확장된 매크로블록이 서브블록으로 분할되고 서브블록이 하위 서브블록으로 분할되어 부호화가 수행되는 경우, 서브블록의 하위 서브블록들에 대한 양자화 파라미터의 대표값을 결정할 수 있으며, 양자화 파라미터를 부호화할 수 있는 최소 블록의 크기를 시퀀스 헤더나 슬라이스 헤더에 전송하거나 부호화기와 복호화기가 약속된 블록 크기를 사용하여 추가 정보를 전송하지 않을 수도 있다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 복호화 장치는, 부호화된 데이터를 복호화하여 부가정보 및 양자화된 변환 계수를 복원하며, 현재블록의 부가정보에 기초하여 적응적으로 결정되어 부호화된 양자화 파라미터를 복원하는 복호화기; 양자화된 변환계수를 역양자화 및 역변환하여 잔여블록을 복원하는 역양자화기 및 역변환기; 현재블록을 복원되는 부가정보를 이용하여 예측블록을 생성하는 예측기; 및 예측블록과 잔여블록을 가산하여 상기 현재블록을 복원하는 가산기를 포함하는 것을 특징으로 한다.
여기서, 복호화기는, 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 현재블록 단위로 양자화 파라미터를 복호화할 수 있다.
또한, 현재블록이 인터 예측 부호화 모드인 경우, 현재블록이 SKIP 모드이면 양자화 파라미터의 복호화를 생략할 수 있다.
또한, 현재블록의 부호화 블록 패턴이 0이 아니고, 현재블록 내의 i번째 서브블록의 부호화 블록 패턴이 0이 아닌 경우에 i번째 서브블록 단위로 양자화 파라미터를 복호화할 수 있다.
또한, 복호화기는, 시퀀스 헤더 또는 슬라이스 헤더로부터 양자화 파라미터를 복원하기 위한 최소 서브블록의 크기를 복호화할 수 있다.
또한, 복호화기는, 현재블록의 좌측, 상단의 이미 복호화된 블록, 또는 복호화 순서가 이전인 블록의 양자화 파라미터를 이용하여 현재블록의 양자화 파라미터를 예측할 수 있다.
전술한 목적을 달성하기 위한 영상 부호화/복호화 방법은, 영상의 확장된 매크로블록 및 분할된 서브블록에 대한 부가정보에 기초하여 양자화 파라미터를 적응적으로 부호화하는 단계; 및 영상 부호화단계에 의해 적응적으로 부호화된 양자화 파라미터를 복원하며, 복원된 양자화 파라미터에 기초하여 잔여블록을 복원하고, 복원된 잔여블록에 기초하여 영상을 복원하는 단계를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위한 영상 부호화 방법은, 확장된 매크로블록을 분할한 서브블록을 예측하여 예측 서브블록을 생성하는 단계; 서브블록과 예측 서브블록을 감산하여 잔여 서브블록을 생성하는 단계; 잔여 서브블록을 서브블록의 크기에 대응하여 변환하고 양자화하여 양자화된 변환 계수를 생성하며, 확장된 매크로블록 및 서브블록에 대한 부가 정보에 기초하여 양자화 파라미터를 부호화하는 단계; 및 양자화된 변환 계수를 엔트로피 부호화하여 부호화 데이터를 생성하는 단계를 포함하는 것을 특징으로 한다.
여기서, 양자화 파라미터 부호화단계는, 확장된 매크로블록 및 서브블록에 대한 SKIP 모드 정보, 부호화 블록 패턴(Coded Block Pattern: CBP) 정보, 임의의 크기 X의 확장된 매크로 블록에 대한 CBPX 플래그 정보 중의 적어도 하나를 포함하는 부가정보를 이용하여 양자화 파라미터를 부호화할 수 있다.
또한, 양자화 파라미터 부호화단계는, 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 현재블록 단위로 양자화 파라미터를 부호화할 수 있다.
또한, 양자화 파라미터 부호화단계는, 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 현재블록 내의 서브블록들의 각각의 부가정보에 기초하여 각각의 서브블록 단위로 양자화 파라미터를 부호화할 수 있다.
또한, 현재블록이 인터 예측 부호화 모드인 경우, 현재블록이 SKIP 모드이면 양자화 파라미터의 부호화를 생략할 수 있다.
또한, 부호화단계는, 현재블록의 부호화 블록 패턴이 0이 아니고, 현재블록 내의 i번째 서브블록의 부호화 블록 패턴이 0이 아닌 경우에 i번째 서브블록 단위로 양자화 파라미터를 부호화할 수 있다.
또한, 양자화 파라미터 부호화단계는, 현재블록 내의 서브블록들에 대하여 순차적으로 양자화 파라미터를 부호화할 수 있다.
또한, 양자화 파라미터 부호화단계는, 확장된 매크로블록 내의 분할된 서브블록들의 부호화 모드가 서로 다른 경우, 각각의 부호화 모드에 대한 적어도 하나의 양자화 파라미터를 부호화할 수 있다.
또한, 양자화 파라미터 부호화단계는, 확장된 매크로블록이 서브블록으로 분할되고 서브블록이 하위 서브블록으로 분할되어 부호화가 수행되는 경우, 서브블록의 하위 서브블록들에 대한 양자화 파라미터의 대표값을 부호화할 수 있으며, 양자화 파라미터를 부호화할 수 있는 최소 블록의 크기를 시퀀스 헤더나 슬라이스 헤더에 전송하거나 부호화기와 복호화기가 약속된 블록 크기를 사용하여 추가 정보를 전송하지 않을 수도 있다.
또한, 양자화 파라미터 부호화단계는, 현재블록의 양자화 파라미터를 예측함에 있어 이미 부호화된 좌측, 상단, 또는 부호화 순서가 이전인 블록의 양자화 파라미터를 이용하여 차분할 수 있다.
전술한 목적을 달성하기 위한 영상 복호화 방법은, 부호화된 데이터를 복호화하여 부가정보 및 양자화된 변환 계수를 복원하며, 현재블록의 부가정보에 기초하여 적응적으로 결정되어 부호화된 양자화 파라미터를 복원하는 단계; 양자화된 변환계수를 역양자화 및 역변환하여 잔여블록을 복원하는 단계; 현재블록을 복원되는 부가정보를 이용하여 예측블록을 생성하는 단계; 및 예측블록과 잔여블록을 가산하여 현재블록을 복원하는 단계를 포함하는 것을 특징으로 한다.
여기서, 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 현재블록 단위로 양자화 파라미터를 복원하는 것이 바람직하다.
또한, 현재블록이 인터 예측 부호화 모드인 경우, 현재블록이 SKIP 모드이면 양자화 파라미터의 복호화를 생략할 수 있다.
또한, 현재블록의 부호화 블록 패턴이 0이 아니고, 현재블록 내의 i번째 서브블록의 부호화 블록 패턴이 0이 아닌 경우에 i번째 서브블록 단위로 양자화 파라미터를 복원하는 것이 바람직하다.
또한, 양자화 파라미터 복원단계는, 시퀀스 헤더 또는 슬라이스 헤더로부터 양자화 파라미터를 복원하기 위한 최소 서브블록의 크기를 복호화할 수 있다.
또한, 양자화 파라미터 복원단계는, 현재블록의 좌측, 상단의 이미 복호화된 블록, 또는 복호화 순서가 이전인 블록의 양자화 파라미터를 이용하여 현재블록의 양자화 파라미터를 예측할 수 있다.
본 발명의 실시예에 따르면, 부호화 또는 복호화 대상의 확장된 매크로블록에 대하여 한 개 또는 다수 개의 양자화 파라미터를 적응적으로 사용할 수 있도록 함으로써 각 하위 블록의 부호화 효율 및 복호화 효율을 최대화할 수 있게 된다.
또한, 본 발명의 실시예에 따르면, 비디오 코딩의 필수 기술인 비트 할당 및 제어 기술 개발 시, 보다 효율적이고 정교한 알고리즘의 개발이 용이하게 이루어질 수 있다.
발명의 실시예에 이용되는 확장된 매크로블록의 예, 및 인트라 예측 부호화와 인터 예측 부호화를 위하여 확장된 매크로블록을 분할하는 과정의 예를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 4x4 및 8x8 블록의 휘도 성분의 인트라 예측 모드에 따른 9 가지의 예측 방향과 예측 모드 번호를 나타낸 도면이다.
도 4는 본 발명의 다른 실시예에 따른 16x16 블록의 휘도 성분의 인트라 예측 모드에 따른 4 가지의 예측 방향과 예측 모드 번호를 나타낸 도면이다.
도 5는 본 발명의 또 다른 실시예에 따른 4x4, 8x8 및 16x16을 제외한 블록의 휘도 성분의 인트라 예측 모드에 따른 3 가지의 예측 방향과 예측 모드 번호를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 N/2 x N/2 블록의 색차 성분의 인트라 예측 모드에 따른 4 가지의 예측 방향과 모드 번호를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따라 부호화기에 의한 양자화 파라미터의 부호화방법을 나타낸 흐름도이다.
도 8은 32x32 화소 블록의 부호화 모드 및 CBP의 예를 나타낸 도면이다.
도 9는 도 1의 영상 부호화 장치에 의한 영상 부호화 방법을 나타낸 흐름도이다.
도 10은 본 발명의 실시예에 따른 영상 복호화 장치를 개략적으로 도시한 도면이다.
도 11은 도 10의 영상 복호화 장치에 의한 영상 복호화 방법을 나타낸 흐름도이다.
후술할 본 발명의 일 실시예에 따른 영상 부호화 장치(Video Encoding Apparatus)와 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선통신 단말기(Wireless Communication Terminal), 스마트 폰(Smart Phone) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망, 유선 전화망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상부호화 장치(100)는 예측기(110), 감산기(120), 변환기 및 양자화기(130), 부호화기(140), 역양자화기 및 역변환기(150), 가산기(160), 필터(170) 및 픽처 버퍼(180)를 포함하여 구성될 수 있다.
예측기(110)는 인트라 예측기(112)와 인터 예측기(114)를 포함할 수 있으며, 인터 예측기(114)는 다시 움직임 추정기(116)와 움직임 보상기(118)를 포함할 수 있다.
입력 영상은 프레임 단위 또는 필드 단위로 도 1의 영상 부호화 장치(100)에 입력되거나, NxN(단, N은 16이상의 정수) 화소를 가지는 매크로블록들로 분할되어 영상 부호화 장치(100)에 입력될 수 있다. 여기서, N이 16보다 큰 정수로 이루어진 매크로블록을 확장된 매크로블록(EMB: Extended Macroback)이라고도 한다. 예를 들어, 확장된 매크로블록은 64x64, 32x32 등과 같은 크기의 정방형의 화소 블록으로 이루어질 수 있다. 즉, 입력 영상이 4Kx2K 영상과 같은 고해상도 영상인 경우, N이 16보다 큰 정수로 이루어진 확장된 매크로블록으로 분할하여 부호화를 수행함으로써 영상 압축의 효율 향상을 꾀할 수 있다. 이하에서 설명하는 매크로블록은 N과 M이 모두 16 이상인 NxM 화소 블록을 일컬으며(N과 M은 다를 수 있다), N과 M이 16보다 큰 매크로블록을 지칭할 경우에는 확장된 매크로블록이라는 용어를 사용한다. 즉, 이하의 설명에서 매크로블록과 확장된 매크로블록은 혼용되어 사용되며, 이 두 개념 모두는 16x16 크기 블록을 한정하는 것이 아니다.
고해상도의 입력 영상이 4:2:0 포맷(Format)의 영상의 경우, 매크로블록은 NxN 화소를 가지는 휘도 블록과 두 개의 N/2 x N/2 화소를 가지는 색차 블록으로 이루어진다. 확장된 매크로블록에 의한 고해상도 영상의 압축 효율 향상은, 이하에서 설명하는 구체적인 실시예에 의해 달성될 수 있다.
도 2는 본 발명의 실시예에 이용되는 확장된 매크로블록의 예, 및 인트라 예측 부호화와 인터 예측 부호화를 위하여 확장된 매크로블록을 분할하는 과정의 예를 나타낸 도면이다.
고해상도의 입력 영상에 대하여 확장된 매크로블록 단위로 부호화 및 복호화를 수행하며, 확장된 매크로블록은 서브블록으로 분할하여 인트라 예측 부호화 또는 인터 예측 부호화를 수행할 수 있다. 예를 들어, 확장된 매크로블록이 도 2에 도시한 바와 같이 32x32 화소 블록인 경우, 확장된 매크로블록은 16x16의 서브 블록으로 분할하여 부호화를 수행할 수 있으며, 16x16의 서브 블록은 16x8, 8x16, 8x8, 8x4, 4x8, 4x4 등의 더 작은 서브블록으로 분할하여 부호화를 수행할 수 있다. 도 2에는 확장된 매크로블록이 32x32 화소 블록인 경우를 도시하였지만, 확장된 매크로블록의 크기는 도시한 도면에 한정되지 않으며, 더 큰 화소 블록이 사용될 수도 있다. 또한, 도 2에는 확장된 매크로블록을 16x16와 같은 정방형의 서브 블록으로 분할하여 부호화를 수행하는 것으로 도시하였지만, 확장된 매크로블록은 직사각형의 서브블록으로 분할하여 부호화를 수행할 수도 있다. 예를 들면, 32x32 블록의 확장된 매크로블록은 2 개의 16x8 서브블록이나 2 개의 8x16 서브블록으로 분할하여 부호화를 수행할 수도 있다.
도 1의 영상 부호화 장치(100)에서 예측기(110) 중의 인트라 예측기(112)는 현재 부호화하고자 하는 블록(이하, '현재 블록'이라 칭함)의 주변 화소를 이용하여 참조 블록을 생성하고 참조 블록과 현재 블록을 비교하여 인트라 예측 모드를 결정한다. 여기서, 주변 화소란 현재 블록 주위에 있는 블록 내에 있는 화소들을 말하며, 현재 블록과 인접한 블록들 내에서 현재 블록과 인접한 인접 화소를 포함하는 개념이다.
확장된 매크로블록을 휘도 성분에 대한 4x4 화소 단위의 서브 블록으로 분할하여 인트라 예측을 수행하는 경우, 도 3에 도시한 바와 같은 휘도 성분의 인트라 예측 모드에 따른 9 가지의 예측 방향(예측 모드 0 내지 예측 모드 8에 따른 예측 방향) 중 가장 적절한 예측 방향을 4x4 화소 단위의 현재 블록마다 1 개씩 선택하고, 선택된 예측 방향을 이용하여 현재 블록을 인트라 예측 부호화한다. 예측 모드 2가 의미하는 평균값은 현재 블록의 왼쪽 블록의 4 개의 인접 화소와 현재 블록의 위쪽 블록의 4 개 인접 화소의 총 8 개의 인접 화소의 평균값을 구해 현재 블록의 4x4 화소 모두를 예측하는 방법이다.
픽처의 좌측 경계에 위치하는 블록과 픽처의 윗쪽 경계에 위치하는 블록의 경우 왼쪽 블록과 윗쪽 블록이 각각 픽처 바깥쪽에 위치하게 된다. 이 경우, 픽처 경계를 벗어난 블록을 참조할 수 없기 때문에 예측 방향의 이용이 제한된다. 예를 들어, 픽처의 제일 위쪽에 위치한 블록에서는 윗쪽 블록의 화소를 참조하는 예측 모드 0, 예측 모드 3, 예측 모드 4, 예측 모드 5, 예측 모드 6, 예측 모드 7의 예측 방향을 이용할 수 없다. 예외적으로 DC 모드의 경우, 픽처의 경계를 벗어나지 않는 화소만을 참조해서 현재 블록의 예측을 수행한다. 만약, 현재 블록과 이웃한 왼쪽 블록과 윗쪽 블록을 이용할 수 없는 경우, DC 값은 128을 사용한다.
선택된 현재 블록의 예측 방향과 현재 블록의 왼쪽 블록과 위쪽 블록 중 더 작은 예측 모드 번호를 가지는 블록의 예측 방향을 비교하여 두 예측 방향이 동일한 경우, 주변 블록으로부터 추정한 현재 블록의 예측 방향과 선택된 현재 블록의 예측 방향이 동일한지 여부를 나타내는 예측 모드 플래그(예를 들어, 1 비트로 표시될 수 있음)를 추정한 예측 방향과 같은 예측 방향임을 나타내도록 부호화한다.
만약, 주변 블록으로부터 추정한 현재 블록의 예측 방향과 선택된 현재 블록의 예측 방향이 다른 경우, 예측 모드 플래그를 선택된 현재 블록의 예측 방향이 추정한 현재 블록의 예측 방향과 다른 예측 방향임을 나타내도록 부호화하고 9 가지의 예측 모드에서 추정한 현재 블록의 예측 방향에 해당하는 예측 모드를 뺀 나머지 8 가지의 예측 모드 중 어떠한 예측 모드가 선택된 현재 블록의 예측 방향인지를 나타내기 위한 예측 모드 정보(예를 들어, 3 비트로 표시될 수 있음)를 부호화한다.
확장된 매크로블록을 휘도 성분에 대한 8x8 화소 단위의 서브 블록으로 분할하여 인트라 예측을 수행하는 경우, 휘도 성분에 대한 8x8 화소 단위의 인트라 예측은 4x4 화소 단위의 인트라 예측과 같이 도 3에 도시한 바와 같은 9 가지 예측 방향을 이용하며, 예측 화소를 계산하는 방법도 블록의 크기(4x4 화소와 8x8 화소)의 차이를 제외하면 4x4 화소 단위의 인트라 예측 부호화의 경우와 동일하다.
확장된 매크로블록을 휘도 성분에 대한 16x16 화소 단위의 서브 블록으로 분할하여 인트라 예측을 수행하는 경우, 도 4에 도시한 바와 같은 4 가지의 예측 방향 중에서 부호화 효율이 가장 좋은 예측 방향을 선택하고, 선택된 예측 방향에 따라 16x16 크기의 현재 블록의 위쪽에 위치한 16x16 화소 블록 내의 16 개의 인접 화소와 현재 블록의 왼쪽에 위치한 16x16 화소 블록 내의 16 개의 인접 화소의 총 32 개의 인접 화소로부터 16x16 화소 블록을 예측 부호화한다.
도 4에서, 예측 모드 3인 평면(Plane) 예측의 경우, 현재 블록의 위쪽 블록 내의 인접 화소와 현재 블록의 왼쪽 블록 내의 인접 화소를 대각선 방향으로 보간(Interpolation)하여 예측한다. 예측 모드 2에 해당하는 평균값 예측의 경우, 평균값은 현재 블록의 윗쪽 블록 내의 16 개의 인접 화소와 왼쪽 블록의 16 개의 인접 화소의 평균값을 현재 블록의 16x16 화소 모두로 예측한다. 단, 현재 블록이 픽처 내에서 제일 위쪽에 위치하는 경우, 현재 블록의 왼쪽 블록 내의 16 개의 인접 화소의 평균값을 예측값으로 이용하며, 현재 블록이 픽처 내에서 가장 왼쪽에 위치하는 경우, 현재 블록의 위쪽 블록 내의 16 개 인접 화소의 평균값을 예측값으로 이용한다. 현재 블록의 왼쪽 블록과 윗쪽 블록을 이용할 수 없는 경우, 예측값으로 128을 사용한다. 16x16 화소 블록의 예측 모드는 예측 부호화되지 않고, 단순히 선택된 예측 모드의 번호가 예측 모드 정보(예를 들어, 2 비트로 표시됨)로서 부호화된다.
확장된 매크로블록을 전술한 4x4 화소 블록, 8x8 화소 블록 또는 16x16 화소 블록을 제외한 서브 블록으로 분할하여 인트라 예측을 수행하는 경우, 휘도 성분의 인트라 예측 모드는 도 5와 같이 3가지의 예측 방향과 예측 모드 번호로 나타낼 수 있다. 4x4 화소 블록, 8x8 화소 블록 또는 16x16 화소 블록을 제외한 나머지 서브 블록으로 분할하여 인트라 예측을 수행하는 경우에 해당 서브 블록의 크기가 m x n(m 및 n은 N보다 작은 정수이며, N은 16 이상의 정수)라고 하면, 도 5에 도시한 바와 같은 3 가지의 예측 방향 중에서 선택되는 부호화 효율이 가장 좋은 예측 방향에 따라 현재 블록의 위쪽 블록 내의 m 개의 인접 화소와 왼쪽 블록 내의 n 개의 인접 화소로부터 m x n 화소 블록을 인트라 예측 부호화한다.
예측 모드 2에 해당하는 평균값 예측의 경우, 현재 블록의 위쪽 블록 내의 m 개의 인접 화소와 왼쪽 블록 내의 n 개 인접 화소의 평균값을 이용해서 현재 블록을 예측 부호화한다. 단, 현재 블록이 픽처 내에서 제일 위쪽에 위치하는 경우, 현재 블록의 왼쪽 블록의 n 개의 인접 화소의 평균값을 현재 블록의 예측값으로 이용하며, 현재 블록이 픽처 내의 제일 왼쪽에 위치하는 경우, 위쪽 블록 내의 m 개의 인접 화소의 평균값을 현재 블록의 예측값으로 이용한다. 현재 블록의 왼쪽 블록과 위쪽 블록을 이용할 수 없는 경우, 현재 블록의 예측값으로 128이 사용된다.
선택된 현재 블록의 예측 방향과 현재 블록의 왼쪽 블록과 위쪽 블록 중 더 작은 예측 모드의 번호를 가지는 블록의 예측 방향이 같은 방향인 경우, 현재 블록의 주변 블록으로부터 추정한 현재 블록의 예측 방향과 선택된 현재 블록의 예측 방향이 동일한지 여부를 나타내는 예측 모드 플래그(예를 들어, 1 비트로 표시될 수 있다)를 추정한 현재 블록의 예측 방향과 같은 예측 방향이라는 정보를 부호화한다. m x n 화소 블록이 가질 수 있는 예측 모드의 번호는 0 내지 2이므로, 현재 블록의 왼쪽 블록과 위쪽 블록을 이용하여 예측한 현재 블록의 예측 모드 번호가 3 이상인 경우에는 현재 블록의 예측 방향은 예측 모드 번호 2(DC 모드)를 사용할 수 있다. 예를 들어, 주변 블록으로부터 예측한 현재 블록의 예측 모드 번호가 4인 경우, 현재 블록의 예측 모드 번호를 2로 하여 선택된 현재 블록의 예측 방향과 동일한지를 나타내는 예측 모드 플래그(예를 들어, 1 비트로 표시됨)를 부호화한다.
여기서, 확장된 매크로블록에 대한 인트라 예측은 16x16 이하의 화소 블록 단위 즉, 4x4 화소 블록, 8x8 화소 블록, 16x16 화소 블록 또는 mxn(여기서, m≠n이며, m 및 n은 16보다 작은 수) 화소 블록 단위로 수행되는 것이 바람직하다.
색차 성분의 인트라 예측은 N/2 x N/2 화소 블록 단위로 수행될 수 있다. 예측 방향은 도 6에 나타낸 바와 같이, 평균치 예측, 수평 예측, 수직 예측, 평면 예측 4 가지의 예측 방향이 사용될 수 있다. 바람직하게는, 색차 성분의 인트라 예측은 8x8 화소 블록 단위로 수행된다.
본 발명의 일 실시예에 따른 색차 성분의 4 가지의 인트라 예측 모드에 따른 예측 방향과 예측 모드 번호를 예시적으로 나타낸 도 6을 참조하면, 예측 모드 3에 해당하는 평면 예측과 예측 모드 0에 해당하는 평균값 예측을 위한 예측값 계산 방법도 블록의 크기(16x16 화소와 8x8 화소)의 차이를 제외하고 휘도 성분의 16x16 화소 단위의 인트라 예측 부호화 방법과 동일하다. 색차 신호의 예측 모드는 휘도 신호의 예측 모드와는 독립적으로 선택할 수 있다. 색차 신호는 U, V의 두 종류가 있지만 예측 방법은 같다. 색차 신호의 예측 모드는 U, V 각각 1 개씩이며 각 색차 신호의 예측 모드는 예측 부호화하지 않고 단순히 선택된 예측 모드 번호를 2 비트를 사용하여 나타낸다.
전술한 방법으로 결정되는 인트라 예측 모드에 따라, 인트라 예측기(112)는 현재 블록을 예측하여 예측 블록(Predicted Block)을 생성하고, 감산기(120)는 현재 블록과 예측 블록을 감산하여 잔여 블록(Residual Block)을 생성한다. 변환기 및 양자화기(130)는 잔여 블록을 변환 및 양자화하여 양자화된 변환 계수를 생성하고, 부호화기(140)는 양자화된 변환 계수를 엔트로피 부호화하여 부호화 데이터를 생성한다.
변환기 및 양자화기(130)는 휘도 성분의 4x4, 4x8, 8x4 화소 단위의 인트라 예측이 선택된 현재 블록의 잔여 블록에 대해서는 4x4 변환을 수행하고, 8x8, 8x16, 16x8 화소 단위의 인트라 예측이 선택된 현재 블록의 잔여 블록에 대해서는 8x8 변환을 수행할 수 있다. 또한, 변환기 및 양자화기(130)는 16x16 화소 단위 이상의 인트라 예측이 선택된 현재 블록의 잔여 블록에 대해서는 16x16 변환을 수행할 수 있다. 이 경우, 인트라 예측의 단위와 서브블록의 크기가 동일하므로, 변환의 종류는 서브블록의 블록 크기에 따라 결정할 수 있다.
여기서, 각 16x16 변환이 수행되는 16x16 화소를 가지는 잔여 블록(이하 '16x16 화소 잔여 블록'이라 칭함)은 다시 16 개의 4x4 화소를 가지는 잔여 블록(이하 '4x4 화소 잔여 블록'이라 칭함)으로 분할되고, 각 4x4 화소 잔여 블록에 대해 4x4 변환이 수행될 수 있다. 이후, 각 4x4 화소 잔여 블록이 4x4 변환되어 생성되는 각 4x4 화소를 가지는 변환 블록(이하 '4x4 화소 변환 블록'이라 칭함)의 16 개 DC 성분들만이 모여 4x4 변환 계수를 가지는 변환 블록(이하 'DC 성분 블록'이라 칭함)이 구성되고, DC 성분 블록은 4x4 변환이 한번 더 수행된다. 이때, DC 성분 블록을 변환하는 데에는 잔여 블록을 변환할 때의 변환과 다른 종류의 변환이 사용될 수 있다. 즉, 4x4 화소 잔여 블록에 대해서는 4x4 이산 코사인 변환(DCT: Discrete Cosine Transform)이 수행되고, DC 성분 블록에 대해서는 4x4 하다마드 변환이 사용될 수 있다. 예를 들어, 16x32 화소 단위의 인트라 예측이 선택된 현재 블록에 대한 16x32 화소 잔여 블록은 두 개의 16x16 화소 잔여 블록으로 분할되고 분할된 각 16x16 화소 잔여 블록에 대해 4x4 화소 단위로 4x4 변환이 수행된다. 이후 16x16 크기의 화소 잔여 블록 내 각 4x4 변환 블록들의 DC 성분들이 모여 DC 성분 블록이 구성되고 DC 성분 블록에 대해서 4x4 변환이 한번 더 수행된다.
색차 신호의 경우, 16x16 화소 단위 이상의 인트라 예측의 경우와 마찬가지로 4x4변환을 수행한 후, DC 성분 블록에 대하여 4x4 변환을 한 번 더 수행할 수 있다. 단, 색차 성분의 매크로블록의 잔여 블록은 8x8 화소를 가지는 잔여 블록(이하 '8x8 화소 잔여 블록'이라 칭함)으로 분할하고 각 8x8 화소 잔여 블록 내의 4 개의 4x4 화소 잔여 블록에 대해서는 4x4 변환을 수행한다. 8x8 화소 잔여 블록 내 4 개의 4x4 변환 블록의 DC 성분들을 모아 2x2 변환 계수를 가지는 DC 성분 블록을 구성하고 DC 성분 블록에 대해 2x2 변환을 수행할 수 있다. 이 경우에도 마찬가지로, 8x8 화소 잔여 블록에 대한 4x4 변환과 DC 성분 블록에 대한 2x2 변환의 종류는 다를 수 있다.
또는, 확장된 매크로블록에 대하여 최적의 블록 타입이 결정된 후 전술한 변환 타입에 따라 변환을 수행하는 대신에, 16x16 화소 블록의 단위로 인트라 예측에 사용된 서브 블록의 크기에 따라 효율이 좋은 변환 타입을 선택하여 사용할 수도 있다. 즉, 변환기 및 양자화기(130)는 16x16 화소 블록의 단위로 하나 이상의 변환 및 양자화를 수행한 후 가장 효율이 좋은 변환의 종류를 선택하고, 선택된 변환의 종류에 따라 변환 및 양자화된 변환 계수를 생성할 수 있다. 이 경우, 부호화기(140)는 각 블록마다 선택된 변환의 종류를 식별하기 위한 변환 타입을 생성하고 부호화하여 변환 타입 데이터를 생성하는 것이 바람직하다. 변환 타입 데이터는 부호화 데이터에 포함된다. 단, 16x16 화소 블록 내에서는 서로 다른 변환을 사용할 수 없다.
이에 대하여 보다 상세하게 설명하면, 16x16 화소 블록이 8x8 화소 블록으로 분할되고 4 개의 8x8 화소 블록들 중 한 개 이상의 8x8 화소 블록이 8x8 화소보다 작은 서브블록으로 분할된 경우에는 16x16 화소 블록에 대해서 4x4 변환만이 사용될 수 있으며, 이 경우 변환 타입은 부호화되지 않는다. 또한, 16x16 화소 블록이 4 개의 8x8 화소 블록으로 분할된 경우에는 16x16 화소 블록에 대해서는 4x4 변환과 8x8 변환이 수행되어 부호화 비용이 작은 변환이 선택되며, 선택된 변환의 종류를 나타내는 변환 타입(예를 들어, 1 비트로 표시될 수 있다)이 부호화될 수 있다. 또한, 16x16 화소 블록이 2 개의 8x16 화소 서브블록으로 분할된 경우에는 16x16 화소 서브블록의 잔여 블록에 대해서는 4x4 변환, 8x8 변환과 8x16 변환이 수행되어 부호화 비용이 가장 작은 변환의 종류가 선택되고, 16x16 화소 서브블록이 2 개의 16x8 화소 서브블록으로 분할된 경우에는 16x16 화소 서브블록의 잔여 블록에 대해서는 4x4 변환, 8x8 변환과 16x8 변환이 수행되어 부호화 비용이 가장 작은 변환의 종류가 선택되며, 선택된 변환의 종류를 나타내는 변환 타입(예를 들어, 1 비트 또는 2 비트로 표시될 수 있다)이 부호화될 수 있다. 16x16 화소 이상의 서브블록에 대해서는 4x4 변환, 8x8 변환과 16x16 변환이 수행되어 부호화 비용이 가장 작은 변환이 선택되며, 선택된 변환의 종류를 나타내는 변환 타입(예를 들어, 1 비트 또는 2 비트로 표시됨)이 부호화될 수 있다.
다시 도 1을 참조하면, 예측기(110)의 인터 예측기(114)에서 움직임 추정기(116)는 현재 픽처 내 현재 부호화 대상인 현재 블록과 가장 유사한 블록, 즉 참조 블록을 참조 픽처 내에서 찾아 현재 블록에 대한 참조 블록의 상대적인 위치를 나타내는 움직임 벡터(MV: Motion Vector)를 출력한다. 이러한 과정을 움직임 추정(Motion Estimation)이라 하는데, 움직임 추정은 매크로블록 내 서브블록을 픽처 버퍼(180)에 있는 하나 이상의 참조 픽처와 비교하여 움직임 벡터를 생성한다. 8x8 화소 블록은 서로 다른 참조 픽처를 이용할 수 있으나 8x8 화소 블록 내 서브블록들은 같은 참조 픽처를 이용한다.
움직임 벡터는 부호화기(140)에 의해 부호화되어 부호화 데이터에 포함되는데, 부호화기(140)는 현재 블록의 주변 블록의 움직임 벡터들의 중앙값(Mean Value)을 예측 움직임 벡터(PMV: Predicted Motion Vector)로 이용하고 예측 움직임 벡터와 현재 블록의 움직임 벡터의 차이 벡터인 차분 움직임 벡터(DMV: Differential Motion Vector)만을 부호화하여 움직임 정보 데이터를 생성한다. 이때, 부호화기(140)는 차분 움직임 벡터뿐만 아니라 참조 픽처 인덱스(Reference Picture Index)를 추가로 부호화할 수 있다. 즉, 움직임 정보는 차분 움직임 벡터와 참조 픽처 인덱스를 포함할 수 있으며, 부호화기(140)는 움직임 정보를 부호화하여 움직임 정보 데이터를 생성하고 움직임 정보 데이터를 부호화 데이터에 포함시킬 수 있다.
본 발명의 실시예에서는, 16x16 이상의 화소 블록인 확장된 매크로블록에 대하여 SKIP 모드를 사용한다. SKIP 모드란 블록 타입 정보, 움직임 정보 또는 변환계수와 같은 특정 정보들을 부호화하지 않는 모드를 의미한다. 현재 부호화하고자 하는 블록이 SKIP 모드인 경우, 현재 블록이 SKIP 모드임을 나타내는 정보만을 부호화하고 그 외의 블록 타입, 움직임 정보, 변환계수 등은 부호화하지 않을 수 있다. 또는, 현재 블록의 움직임 정보만을 부호화하고 타입정보, 변환계수와 같은 정보는 부호화하지 않을 수 있다. 또는, 현재 블록의 변환 타입과 변환계수만을 부호화하고 타입정보, 움직임 정보는 부호화하지 않을 수도 있다.
16x16 이상의 화소 블록인 확장된 매크로블록이 SKIP 매크로블록인 경우에는 예측 움직임 벡터를 이용해서 움직임 추정 및 보상이 수행된다. 단, 예측 움직임 벡터를 결정하는 데 이용되는 움직임 벡터들 중 한 개 이상이 0인 경우 예측 움직임 벡터를 0으로 결정한다. 예를 들어, 주변 블록 A, B, C의 움직임 벡터가 각각 mvA (0,10)이고, mvB (1, 10)이며, mvC (2, 10)인 경우, 현재 블록의 예측 움직임 벡터는 (0, 10)이 된다.
감산기(120)는 움직임 추정기(116)에서 추정한 현재 블록의 움직임 벡터가 가리키는 참조 블록과 현재 블록을 감산하여 잔여 블록을 생성하고, 변환기 및 양자화기(130)는 감산기(120)에 의해 생성된 잔여 블록을 변환 및 양자화하며, 부호화기(140)는 양자화된 변환 계수를 엔트로피 부호화하여 부호화 데이터를 생성한다. 여기서, 변환기 및 양자화기(130)는 현재 블록의 크기에 따라 하나 이상의 변환 및 양자화를 수행한 후 가장 효율이 좋은 변환의 종류를 선택하고, 선택된 변환의 종류에 따라 변환 및 양자화된 변환 계수를 생성한다. 부호화기(140)에서는 각 블록마다 선택된 변환의 종류를 식별하기 위한 변환 타입을 생성하고 부호화하여 변환 타입 데이터를 생성한다. 변환 타입 데이터는 부호화 데이터에 포함된다. 단, 16x16 화소 블록 내에서는 서로 다른 변환을 사용할 수 없다.
인트라 예측 블록에서 설명한 변환 방법과 마찬가지로, 16x16 화소 서브블록이 8x8 화소 블록으로 분할되고 4 개의 8x8 화소 서브블록들 중 한 개 이상의 8x8 화소 서브블록이 8x8 화소보다 작은 서브블록으로 분할된 경우에는 16x16 화소 서브블록의 잔여 블록에 대해서는 4x4 변환만이 사용될 수 있으며, 이 경우 변환 타입은 부호화되지 않는다. 16x16 화소 서브블록이 4 개의 8x8 화소 서브블록으로 분할된 경우에는 16x16 화소 서브블록의 잔여 블록에 대해서는 4x4 변환과 8x8 변환이 수행되어 부호화 비용이 작은 변환이 선택되며, 선택된 변환의 종류를 나타내는 변환 타입(예를 들어, 1 비트로 표시됨)이 부호화된다.
16x16 화소 서브블록이 2 개의 8x16 화소 서브블록으로 분할된 경우에는 16x16 화소 서브블록의 잔여 블록에 대해서는 4x4 변환, 8x8 변환과 8x16 변환이 수행되어 부호화 비용이 가장 작은 변환의 종류가 선택되고, 16x16 화소 서브블록이 2 개의 16x8 화소 서브블록으로 분할된 경우에는 16x16 화소 서브블록의 잔여 블록에 대해서는 4x4 변환, 8x8 변환과 16x8 변환이 수행되어 부호화 비용이 가장 작은 변환의 종류가 선택되며, 선택된 변환의 종류를 나타내는 변환 타입(예를 들어, 1 비트 또는 2 비트로 표시될 수 있다)이 부호화된다. 16x16 화소 이상의 서브블록에 대해서는 4x4 변환, 8x8 변환과 16x16 변환이 수행되어 부호화 비용이 가장 작은 변환이 선택되며, 선택된 변환의 종류를 나타내는 변환 타입(예를 들어, 1 비트 또는 2 비트로 표시됨)이 부호화된다.
변환기 및 양자화기(130)에 의해 변환 및 양자화된 잔여 블록은 역양자화기 및 역변환기(150)에 의해 역양자화 및 역변환되어 잔여 블록이 복원되고, 가산기(160)는 복원된 잔여 블록과 예측기(110)에 의해 예측된 예측 블록을 가산하여 현재 블록을 복원한다. 부화화기(140)는 변환기 및 양자화기(130)에 의해 양자화된 변환 계수를 엔트로피 부호화하여 부호화 데이터를 생성한다.
직교 변환된 성분을 양자화 단계로 나누고, 그 결과를 정수 대표값으로 근사화하는 처리를 양자화라고 하며, 그 대표가 되는 정수값을 양자화값이라고 부른다. 반대로 양자화값에 양자화 단계를 곱해 직교 변환한 성분으로 되돌리는 과정을 역양자화라고 한다.
양자화 과정을 적용하게 되면, 직교 변환한 성분을 보다 작은 정수값으로 표현할 수 있고 양자화를 거치지 않은 성분을 부호화하는 것에 비해 적은 비트수로 부호화할 수 있기 때문에 효율이 높아진다. 또한, 양자화 단계의 크기를 바꿈으로써 압축률을 조절할 수 있다.
양자화는 단순히 정보의 양을 줄이기 위한 것이 아니라, 데이터 전송을 위한 채널이나 다른 물리적 매체들이 제공하는 대역폭(bandwidth)을 고려하여 주어진 범위 내에서 가장 좋은 화질을 끌어낼 수 있도록 고려되어야 한다. 즉, 어떠한 양자화 파라미터 값을 적용하느냐에 따라 같은 채널을 대역폭을 통해 얻을 수 있는 화질이 달라지기 때문이다.
확장된 매크로블록이 32x32 화소 블록인 경우, 32x32 화소 블록 단위로 부호화를 수행할지 또는 16x16 화소 블록 단위로 부호화를 수행할지는 확장된 매크로블록 플래그(extended_mb_flag)를 통해 나타낼 수 있다. 예를 들어, 확장된 매크로블록 플래그가 1인 경우에는 32x32 화소블록 단위로 부호화를 수행함을 의미하며, 확장된 매크로블록 플래그가 0인 경우에는 16x16 화소블록 단위로 분할하여 부호화를 수행함을 의미할 수 있다. 또한, 확장된 매크로블록 플래그가 0인 경우, 확장된 매크로블록 내의 분할된 각각의 16x16 화소 블록에 대해서 인트라 예측 부호화 또는 인터 예측 부호화를 수행할 수 있다. 또한, 각각의 16x16 화소블록 단위는 더 작은 서브블록으로 분할되어 부호화가 수행될 수 있다.
확장된 매크로블록이 인터 모드인 경우, 확장된 매크로블록은 16x16 화소 블록 단위로 분할하여 인트라 예측 부호화 또는 인터 예측 부호화될 수 있다. 즉, 확장된 매크로블록이 인터 예측 부호화되는 경우, 확장된 매크로블록 내의 각각의 16x16 화소 블록들은 인트라 예측 부호화 모드와 인터 예측 부호화 모드가 혼재하여 존재할 수 있다. 또한, 확장된 매크로블록이 인트라 예측 부호화되는 경우, 확장된 매크로블록 내의 각각의 16x16 화소 블록들은 모두 인트라 예측 부호화 모드로 부호화될 수 있다.
본 발명의 실시예에서는 부호화 시에 적용되는 기본 부호화 블록단위에서부터 임의 크기의 최소 블록단위까지 적응적으로 양자화 파라미터를 부호화하는 방법을 제안한다.
도 7은 본 발명의 일 실시예에 따라 변환기 및 양자화기(130)에 의한 양자화 파라미터의 부호화방법을 나타낸 흐름도이다. 여기서, 확장된 매크로블록의 크기는 32x32 블록이며 양자화 파라미터를 전송하는 최소 블록 단위가 16x16 블록이고, 해당 블록의 부호화 모드 및 CBP(Coded Block Pattern)가 도 8과 같이 결정되었다고 가정한다. 여기서, CBP는 해당 블록 내에 0이 아닌 양자화된 변환 계수를 포함하는지 여부를 나타내는 정보로서, 32x32 또는 16x16 화소 블록 등 임의의 크기 블록 단위로 부호화될 수 있다.
도 8에 도시한 바와 같은 인터 예측 부호화 모드의 확장된 매크로블록에 대한 양자화 파라미터의 부호화는 부호화하고자 하는 블록의 SKIP 모드 및/또는 CBP 정보에 기초하여 결정될 수 있다. SKIP 모드는 블록 타입 정보, 움직임 정보 또는 변환 계수와 같은 특정 정보들을 부호화하지 않는 모드를 의미한다. CBP는 16x16 화소 블록 단위로 부호화되며, 16x16 화소 블록 내 각 8x8 화소 블록 당 0이 아닌 변환 계수가 있는지 여부를 8x8 화소 블록 당 1비트를 이용하여 나타내고, 색차 성분에 대해서는 두 개의 2x2 색차 성분 DC 블록 내 0이 아닌 변환 계수가 있는지 여부를 1 비트를 이용하여 나타내며, 두 개의 8x8 색차 성분 AC 블록 내 0이 아닌 변환 계수가 있는지 여부를 1 비트를 이용하여 나타낼 수 있다.
확장된 매크로블록을 16x16 보다 큰 블록으로 분할하여 부호화를 수행하는 경우 예를 들면, 확장된 매크로블록이 64x64 화소 블록이며, 확장된 매크로블록을 4개의 32x32 화소 블록으로 분할하여 부호화를 수행하는 경우 등에는 부호화하고자 하는 블록에 대하여 서브 블록 내에 0이 아닌 부호화할 계수의 존재 여부를 나타내는 CBPX 플래그가 사용될 수도 있다. 여기서, X는 부호화할 대상의 크기를 나타내는 정수로서 64x64 화소 블록의 경우는 CBP64 플래그로 나타내며, 32x32 화소 블록은 CBP32 플래그로 나타낼 수 있다. 또한, CBPX 플래그는 0 또는 1과 같이 1 비트를 사용하여 표시할 수 있다. 예를 들어, 32x32 화소 블록 내에 0이 아닌 변환계수가 있는 경우에는 CBP32 플래그를 1로 표시하여 부호화할 수 있다.
서브블록의 크기가 32x32, 32x16 및 16x32 중 하나가 아닌 경우에는 CBP를 부호화할 수 있다. 이때, 서브 블록의 크기가 32x32, 32x16 또는 16x32 화소 블록이 아닌 경우에 서브 블록의 크기가 16x16, 16x8 또는 8x16 화소 블록인지를 판단할 수 있다. 서브 블록이 16x16, 16x8 또는 8x16 화소 블록인 경우, 해당 서브 블록 내에 0이 아닌 부호화할 계수가 있는 경우에는 CBP16 플래그(예를 들어, '1'과 같이 1 비트로 표시될 수 있음)를 부호화하며, 그 외의 경우에는 CBP 플래그를 사용하지 않고 16x16 화소 블록 단위로 CBP를 부호화할 수 있다.
CBP 플래그를 부호화하는 경우에 대하여, CBP 플래그가 0이 아닌 경우에 변환 타입을 부호화할 수 있다. 예외적으로, 16x16 화소 블록이 네 개의 8x8 화소 블록으로 분할된 경우에는 CBP를 부호화한 후 CBP가 0이 아닌 경우에 16x16 화소 블록 단위로 적용되는 변환 타입을 부호화할 수 있다.
변환 타입을 부호화한 후에는 변환 타입에 따라 CBP를 부호화한다. 16x16 변환이 사용된 경우에는 색차 성분의 CBP 2비트만 부호화하며, 8x16 또는 16x8 변환이 사용된 경우에는 16x16 화소 블록 내의 두 개의 8x16 또는 16x8 화소 블록이 0이 아닌 변환 계수를 가지는지를 나타내는 CBP 2비트를 부호화한다. 다만, 예외적으로 두 개의 분할블록 중 첫 번째 분할블록의 CBP 비트가 0인 경우에는 두 번째 분할 블록의 CBP 비트는 부호화하지 않을 수 있다.
32x32 화소 블록의 확장된 매크로블록이 인터 블록인 경우(S701), 도 8에 도시한 바와 같이 확장된 매크로블록 내에는 인터 블록과 인트라 블록이 혼재될 수 있다. 인터 예측 부호화 모드의 확장된 매크로블록의 CBP가 0이 아니면서 32x32 화소 블록이 SKIP 모드가 아닌 경우(S703), 부호화기(140)는 32x32 화소 블록 단위로 양자화 파라미터를 부호화한다(S705). 만일, 확장된 매크로블록이 인트라 블록이면 인트라 예측 부호화 모드의 확장된 매크로블록의 CBP가 0이 아닌 경우(S707), 부호화기(140)는 32x32 화소 블록 단위로 양자화 파라미터를 부호화한다(S705). 이때, 부호화기(140)는 수학식 4와 같이 이전에 부호화 된 32x32 블록의 양자화 파라미터 값과의 차분 값을 부호화 한다.
[수학식 4]
Figure PCTKR2011003292-appb-I000006
도 7에서 ext_mb_cbp은 확장된 매크로블록인 32x32 화소 블록 단위의 CBP를 의미하며, ext_skip_flag는 확장된 매크로블록인 32x32 화소 블록의 SKIP 모드 여부를 나타내는 플래그로서 SKIP 모드가 아닌 경우에 0으로 나타낼 수 있다.
수학식 4와 같이 산출된
Figure PCTKR2011003292-appb-I000007
값을 부호화 한 후, 현재의 부호화 대상 블록 즉, 32x32 화소 블록 내 첫 16x16 서브블록의 순번에 0을 부여하고, 32x32 화소 블록 내의 분할된 16x16 서브 블록들에 대한 양자화 파라미터 부호화 과정을 시작한다(S709). 도 7에서는 32x32 화소 블록의 확장된 매크로블록에 대하여 16x16 크기의 i번째 서브 블록의 부호화 타입을 mb_type[i]로 표시하였다. 그러나, 서브 블록의 크기는 16x16 화소 블록에 한정되지 않는다. 예를 들어, 확장된 매크로블록이 64x64 화소 블록인 경우에는 확장된 매크로블록 내의 서브 블록은 32x32 화소 블록이 될 수도 있다.
확장된 매크로블록 내의 i번째 서브 블록의 부호화 모드가 인터 예측 모드인 경우(S711), 부호화기(140)는 32x32 화소 블록 내의 각각의 i번째 16x16 화소 블록의 SKIP 모드 여부를 판단하며(S713), SKIP 모드가 아닌 i번째 16x16 화소 블록에 대하여 해당 블록 내에 0이 아닌 양자화된 변환 계수가 포함되는지의 여부를 판단한다(S715).
skip_flag[i]는 32x32 화소 블록 내의 i번째 16x16 화소 블록의 SKIP 모드 여부를 나타내는 신택스(Syntax)이며, mb_cbp[i]는 32x32 화소 블록 내의 i번째 16x16 화소 블록 단위의 CBP를 나타낸다.
단계 S713 및 단계 S715를 통해 32x32 화소 블록 내의 i번째 16x16 화소 블록이 SKIP 모드가 아니며 양자화된 변환계수를 포함하는 경우 즉, CBP가 0보다 큰 것으로 판단되면, 부호화기(140)는 해당 i번째 16x16 화소 블록 단위로 양자화 파라미터를 부호화한다(S717). 즉, 부호화 할 해당 16x16 블록이 SKIP 모드이거나, CBP 값이 0이면, 해당 블록에 대한 양자화 파라미터는 부호화 되지 않는다. 해당 블록이 SKIP 모드도 아니고, CBP 값이 0이 아닌 경우는 수학식 5와 같이 16x16 블록에 대한 양자화 파라미터를 32x32 블록의 양자화 파라미터와 차분하여 부호화한다. 이때, 확장된 매크로블록 내의 서브 블록이 인트라 블록인 경우, 해당 i번째 16x16 서브 블록의 CBP 값이 0이 아닌 경우에 해당 서브 블록에 대한 양자화 파라미터를 32x32 블록의 양자화 파라미터와 차분하여 부호화한다.
[수학식 5]
Figure PCTKR2011003292-appb-I000008
수학식 5에서
Figure PCTKR2011003292-appb-I000009
은 현재 32x32 블록 내부의 i번째 16x16 블록의 차분 양자화 파라미터 값이고,
Figure PCTKR2011003292-appb-I000010
은 현재 32x32 블록 내부의 i번째 16x16 블록의 양자화 파라미터 값을 의미한다.
이와 같은 방식으로 32x32 화소 블록 내의 각각의 16x16 화소 블록에 대하여 순차적으로 양자화 파라미터를 부호화하며, 32x32 화소 블록 내의 마지막 16x16 화소 블록에 대한 양자화 파라미터의 부호화가 수행된 후에 해당 확장된 매크로블록에 대한 양자화 파라미터의 부호화를 종료한다(S719).
도 7에는 확장된 매크로블록이 32x32 화소 블록인 것으로 가정하여 설명하였으나, 확장된 매크로블록의 크기는 32x32 화소 블록에 한정되지 않는다. 예를 들어, 확장된 매크로블록은 64x64 화소 블록, 128x128 화소 블록 또는 그 이상의 화소 블록일 수도 있다. 이와 같은 확장된 매크로블록에 대하여, 양자화 파라미터의 부호화는 확장된 매크로블록의 양자화 파라미터와 분할된 블록의 양자화 파라미터를 차분하여 수행될 수 있다. 예를 들어, 확장된 매크로블록이 64x64 화소 블록인 경우, 확장된 매크로블록의 CBP가 0이 아니면서 64x64 화소 블록이 SKIP 모드가 아니면, 부호화기(140)는 64x64 화소 블록 단위로 양자화 파라미터를 부호화한다. 이때, 확장된 매크로블록에 대해서는 수학식 6과 같이 이전에 부호화 된 64x64 블록의 양자화 파라미터 값과의 차분 값을 부호화할 수 있다. 본 예에서는 확장된 매크로 블록의 양자화 파라미터를 부호화하는 경우에 대하여 설명하였지만, 확장된 매크로 블록의 서브 블록에 대해서 이전에 부호화된 상위, 좌측, 또는 부호화 순서가 이전인 서브 블록의 양자화 파라미터를 이용하여 현재 서브 블록의 양자화 파라미터를 예측할 수도 있다.
[수학식 6]
Figure PCTKR2011003292-appb-I000011
수학식 6과 같이 산출된
Figure PCTKR2011003292-appb-I000012
값을 부호화 한 후, 64x64 화소 블록 내의 분할된 32x32 서브 블록들에 대한 양자화 파라미터 부호화 과정을 시작한다. 이때 첫 32x32 서브블록에 순번 0을 부여한다. 이 경우, 만약 시퀀스 헤더나 슬라이스 헤더에 부호화 하거나 또는 약속된 최소 양자화 부호화 블록 크기가 64x64라면 양자화 파라미터는 더 이상 부호화하지 않는다.
부호화기(140)는 64x64 화소 블록 내의 각각의 i번째 32x32 화소 블록의 SKIP 모드 여부를 판단하며, SKIP 모드가 아닌 i번째 32x32 화소 블록에 대하여 해당 블록 내에 0이 아닌 양자화된 변환 계수가 포함되는지의 여부를 판단한다. 64x64 화소 블록 내의 i번째 32x32 화소 블록의 SKIP 모드가 아니며 양자화된 변환계수를 포함하는 경우 즉, CBP가 0보다 큰 것으로 판단되면, 부호화기(140)는 해당 i번째 32x32 화소 블록 단위로 양자화 파라미터를 부호화한다. 즉, 부호화 할 해당 32x32 블록이 SKIP 모드이거나, CBP 값이 0이면, 해당 블록에 대한 양자화 파라미터는 부호화 되지 않는다. 해당 블록이 SKIP 모드도 아니고, CBP 값이 0이 아닌 경우는 수학식 7과 같이 32x32 블록에 대한 양자화 파라미터를 64x64 블록의 양자화 파라미터와 차분하여 부호화한다. 이때, 상위 블록의 양자화 파라미터를 이용하여 현재 양자화 파라미터를 예측하는 기술은 제안하는 기술의 한가지 예로써, 이미 부호화된 좌측, 상단, 또는 부호화 순서가 이전인 블록의 양자화 파라미터를 차분하여 현재 블록의 양자화 파라미터를 부호화하는 방법을 사용할 수도 있다.
[수학식 7]
Figure PCTKR2011003292-appb-I000013
수학식 7에서
Figure PCTKR2011003292-appb-I000014
은 현재 64x64 블록 내부의 i번째 32x32 블록의 차분 양자화 파라미터 값이고,
Figure PCTKR2011003292-appb-I000015
은 현재 64x64 블록 내부의 i번째 32x32 블록의 양자화 파라미터 값을 의미한다. 이때, 각각의 i번째 32x32 화소 블록보다 더 작은 서브블록에 대한 양자화 파라미터의 부호화 과정은 도 7에서 설명한 바와 같다.
이와 같은 방식으로 64x64 화소 블록 내의 각각의 32x32 화소 블록에 대하여 순차적으로 양자화 파라미터를 부호화한다. 특정 32x32 서브블록이 더 작은 크기의 서브블록으로 부호화 될 경우, 도 7의 방법을 32x32 블록에 적용시켜 양자화 파라미터를 부호화한다. 도 7의 과정을 특정 크기 서브블록이 더 작은 크기의 서브블록으로 나뉘어 부호화 할 때 재귀적으로 적용된다. 64x64 화소 블록 내의 마지막 32x32 화소 블록에 대한 양자화 파라미터의 부호화가 수행된 후에 해당 확장된 매크로블록에 대한 양자화 파라미터의 부호화를 종료한다.
여기서, 양자화 파라미터의 부호화는 확장된 매크로블록의 양자화 파라미터 값과 1차 분할된 블록의 양자화 파라미터 값과의 차분 값 즉, 확장된 매크로블록의 크기가 64x64 화소 블록인 경우 확장된 매크로블록의 양자화 파라미터 값과 1차 분할된 32x32 화소 블록의 양자화 파라미터 값의 차분 값을 부호화하는 것으로 설명하였지만, 양자화 파라미터의 차분 값의 부호화는 설명한 것에 한정되는 것이 아니다. 예를 들어, 64x64 화소 블록의 양자화 파라미터의 값과 32x32 화소 블록 내의 서브 블록인 16x16 화소 블록의 양자화 파라미터 값의 차분 값을 부호화할 수도 있다. 또한 주변의 서브 블록을 이용한 양자화 파라미터 예측을 사용할 수도 있다.
이와 같이 본 발명의 실시예는 다양한 크기의 확장된 매크로블록에 대하여 적용이 가능하다. 예를 들면, 확장된 매크로블록의 크기가 64x64 블록인 경우, 전술한 바와 같이 64x64 화소 블록이 SKIP 모드가 아니고 CBP가 0이 아니면 해당 64x64 화소 블록의 양자화 파라미터를 부호화한 후, 64x64 화소 블록 내의 분할된 각각의 32x32 화소 블록에 대하여 전술한 방법으로 양자화 파라미터를 부호화를 수행할 수 있다. 이 경우, 16x16 화소 블록을 최소 단위로 하여 CBP 정보에 기초한 양자화 파라미터의 부호화를 수행할 수 있다. 그러나, 양자화 파라미터의 부호화를 위한 최소 블록단위는 16x16 블록에 한정되는 것이 아니며, 경우에 따라서는 8x8 화소 블록 또는 4x4 화소 블록이 될 수도 있다. 양자화 파라미터를 부호화 할 수 있는 최소 블록단위는 시퀀스 헤더 또는 슬라이스 헤더에 부호화 될 수 있으며, 부호화기와 복호화기가 약속된 크기를 사용할 수도 있다. 또한, 도 7에서는 32x32 화소 블록을 4 개의 16x16 화소 블록으로 분할하여 양자화 파라미터를 부호화하는 것으로 설명하였지만, 분할된 블록의 개수는 이에 한정되는 것이 아니다. 예를 들면, 32x32 화소 블록을 2 개의 32x16 화소 블록이나 2 개의 16x32 화소 블록으로 분할하여 양자화 파라미터의 부호화를 수행할 수 있으며, 32x32 화소 블록 내의 각각의 16x16 화소 블록은 16x8 화소 블록, 8x16 화소 블록, 8x8 화소 블록 등과 같은 더 작은 화소 블록으로 분할하여 양자화 파라미터의 부호화를 수행할 수도 있다.
또한, 도 7에서는 32x32 화소 블록을 4 개의 16x16 화소 블록으로 분할하여 양자화 파라미터를 부호화하는 것으로 설명하였지만, 확장된 매크로블록의 분할 정도에 따라 부호화 계층 및 부호화 되는 화소 블록에 해당하는 임의 크기의 NxM(N와 M은 같거나 또는 같지 않을 수 있다) 화소 블록의 양자화 파라미터의 부호화를 수행할 수도 있다.
또한, 도 7에서는 부호화 대상 블록에 대한 SKIP 모드 여부 및 CBP 정보에 기초하여 양자화 파라미터의 부호화 여부를 결정하는 것으로 설명하였지만, 양자화 파라미터의 부호화 여부는 SKIP 모드 여부 및 CBP 정보에 한정하여 결정되는 것이 아니며, 임의의 다른 신택스나 변수에 의해 결정될 수도 있다.
또한, 도 7에서는 최상위 블록의 양자화 파라미터를 이전 블록의 양자화 파라미터와 차분하여 부호화하는 것으로 설명하였지만, 양자화 파라미터의 부호화는 이에 한정되는 것이 아니며 차분을 포함한 임의의 다른 연산을 통하여 부호화될 수 있으며, 슬라이스 단위 또는 그 외의 양자화 파라미터 값과 차분을 포함하는 임의의 연산을 통하여 최상위 블록의 양자화 파라미터를 부호화할 수도 있다.
필터(170)는 가산기(160)에 의해 복원된 현재 블록들이 누적되어 만들어지는 픽처를 디블록킹 필터 등을 사용하여 필터링을 수행하고, 필터링된 픽처는 픽처 버퍼(180)에 저장되어 다음 픽처의 참조 픽처로서 이용된다.
도 9는 도 1의 영상 부호화 장치에 의한 영상 부호화 방법을 나타낸 흐름도이다.
도 9를 참조하면, 예측기(110)는 확장된 매크로블록을 분할한 서브블록을 예측하여 예측 서브블록을 생성한다(S901). 감산기(120)는 예측기(110)에 의해 분할된 서브블록과 생성된 예측 서브블록을 감산하여 잔여 서브블록을 생성한다(S903). 변환기 및 양자화기(130)는 잔여 서브블록을 서브블록의 크기에 대응하여 변환하고 양자화하여 양자화된 변환계수를 생성하며, 확장된 매크로블록 및 서브블록에 대한 부가정보에 기초하여 양자화 파라미터를 결정한다(S905).
부호화기(140)는, 확장된 매크로블록 및 서브블록에 대한 SKIP 모드 정보, 부호화 블록 패턴(Coded Block Pattern: CBP) 정보, CBPX 플래그 정보 중의 적어도 하나를 포함하는 부가정보를 이용하여 양자화 파라미터를 부호화할 수 있다. 또한, 부호화기(140)는, 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 현재블록 단위로 양자화 파라미터를 부호화할 수 있다. 또한, 부호화기(140)는, 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 현재블록 내의 서브블록들의 각각의 부가정보에 기초하여 각각의 서브블록 단위로 양자화 파라미터를 부호화할 수 있다. 또한, 부호화기(140)는, 현재블록 내의 서브블록들에 대하여 순차적으로 양자화 파라미터를 부호화할 수 있다. 또한, 부호화기(140)는, 확장된 매크로블록 내의 분할된 서브블록들의 부호화 모드가 서로 다른 경우, 각각의 부호화 모드에 대한 적어도 하나의 양자화 파라미터를 부호화할 수 있다. 또한, 부호화기(140)는, 확장된 매크로블록이 서브블록으로 분할되고 서브블록이 하위 서브블록으로 분할되어 부호화가 수행되는 경우, 서브블록의 하위 서브블록들에 대한 양자화 파라미터의 대표값을 부호화할 수 있다.
부호화기(140)는 양자화된 변환계수를 엔트로피 부호하하여 부호화 데이터를 생성한다(S907). 또한, 부호화기(140)는, 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 현재블록 단위로 양자화 파라미터를 부호화할 수 있다. 또한, 현재블록이 인터 예측 부호화 모드인 경우, 부호화기(140)는 현재블록이 SKIP 모드이면 양자화 파라미터의 결정 또는 부호화를 생략할 수 있다.
또한, 부호화기(140)는, 현재블록의 부호화 블록 패턴이 0이 아니고, 현재블록 내의 i번째 서브블록의 부호화 블록 패턴이 0이 아닌 경우에 i번째 서브블록 단위로 양자화 파라미터를 부호화할 수 있다.
도 10은 본 발명의 일 실시예에 따른 영상 복호화 장치를 개략적으로 나타낸 도면이며, 도 11은 도 10에 의한 영상 복호화 방법을 나타낸 흐름도이다.
본 발명의 실시예에 따른 영상 복호화 장치(1000)는 복호화기(1010), 역양자화기 및 역변환기(1020), 예측기(1030) 및 가산기(1040)를 포함할 수 있다. 또한, 영상 복호화 장치(1000)는 필터(1050) 및 픽처 버퍼(1060)를 더 포함할 수 있다.
복호화기(1010)는 부호화된 데이터를 복호화하여 부가정보 및 양자화된 변환계수를 복원하며, 현재블록의 부가정보에 기초하여 적응적으로 결정되어 부호화된 양자화 파라미터의 차분 값을 복원한다(S1101). 양자화 파라미터의 차분 값은, 영상 부호화 장치(100)에 의해 부호화된 확장된 매크로블록의 양자화 파라미터 값과 확장된 매크로블록 내의 서브블록의 양자화 파라미터 값의 차분 값을 의미한다. 여기서, 복호화기(1010)는, 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 현재블록 단위로 양자화 파라미터의 차분 값을 복호화할 수 있다. 또한, 현재블록이 인터 예측 부호화 모드인 경우, 현재블록이 SKIP 모드이면 양자화 파라미터의 복호화를 생략할 수 있다. 또한, 현재블록의 부호화 블록 패턴이 0이 아니고, 현재블록 내의 i번째 서브블록의 부호화 블록 패턴이 0이 아닌 경우에 i번째 서브블록 단위로 양자화 파라미터의 차분 값을 복호화할 수 있다.
이때, 복호화기(1010)는, 시퀀스 헤더 또는 슬라이스 헤더로부터 양자화 파라미터를 복원하기 위한 최소 서브블록의 크기를 복호화하도록 구현될 수 있다.
또한, 복호화기(1010)는, 현재블록의 좌측, 상단의 이미 복호화된 블록, 또는 복호화 순서가 이전인 블록의 양자화 파라미터를 이용하여 현재블록의 양자화 파라미터를 예측하도록 구현될 수도 있다.
역양자화기 및 역변환기(1020)는 양자화된 변환계수를 역양자화 및 역변환하여 잔여블록을 복원한다(S1103).
예측기(1030)는 현재블록을 복원되는 부가정보를 이용하여 예측블록을 생성한다(S1105). 예측기(1030)에 의한 예측블록의 생성방법은 영상 부호화 장치(100)의 예측기(110)와 동일하다.
가산기(1040)는 예측블록과 잔여블록을 가산하여 현재블록을 복원한다(S1107).
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 또한, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 따라서, 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명의 실시예는, 고해상도의 영상에 대하여 종래의 매크로블록보다 큰 블록단위로 영상의 부호화 및 복호화를 수행하는 경우에, 적용되는 확장된 매크로블록의 크기 및 분할된 서브블록의 크기에 따라 적응적으로 양자화 파라미터의 부호화 및 복호화를 수행할 수 있는 효과를 발생하는 매우 유용한 발명이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2010년 5월 19일 한국에 출원한 특허출원번호 제 10-2010-0046828 호 및 2011년 5월 3일에 한국에 출원한 특허출원번호 제 10-2011-0041832 호에 대해 미국 특허법 119(a)조(35 U.S.C 119(a))에 따라 우선권을 주장하면, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다. 아울러, 본 특허출원은 미국 이외에 국가에 대해서도 위와 동일한 동일한 이유로 우선권을 주장하면 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.

Claims (36)

  1. 영상 부호화/복호화 장치에 있어서,
    영상의 매크로블록 및 분할된 서브블록에 대한 부가정보에 기초하여 상기 매크로블록의 양자화 파라미터 값과 상기 매크로블록 내의 분할된 블록의 양자화 파라미터 값의 차분 값을 부호화하는 영상 부호화기; 및
    상기 영상 부호화기에 의해 부호화된 양자화 파라미터의 차분 값을 복원하며, 복원된 양자화 파라미터의 차분 값에 기초하여 잔여블록을 복원하고, 복원된 상기 잔여블록에 기초하여 상기 영상을 복원하는 영상 복호화기
    를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치.
  2. 영상 부호화 장치에 있어서,
    매크로블록을 분할한 서브블록을 예측하여 예측 서브블록을 생성하는 예측기;
    상기 서브블록과 상기 예측 서브블록을 감산하여 잔여 서브블록을 생성하는 감산기;
    상기 잔여 서브블록을 상기 서브블록의 크기에 대응하여 변환하고 양자화하여 양자화된 변환 계수를 생성하며, 상기 매크로블록 및 상기 서브블록에 대한 부가 정보에 기초하여 각각의 양자화 파라미터를 결정하는 변환기 및 양자화기; 및
    상기 양자화된 변환 계수를 엔트로피 부호화하여 부호화 데이터를 생성하며, 결정된 상기 매크로블록의 양자화 파라미터 값과 상기 서브블록의 양자화 파라미터 값의 차분 값을 부호화하는 부호화기
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.
  3. 제 2항에 있어서, 상기 부호화기는,
    상기 매크로블록 및 상기 서브블록에 대한 SKIP 모드 정보, 부호화 블록 패턴(Coded Block Pattern: CBP) 정보, CBPX 플래그 정보 중의 적어도 하나를 포함하는 부가정보를 이용하여 상기 매크로블록의 양자화 파라미터 값과 상기 서브 블록의 양자화 파라미터 값의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  4. 제 2항에 있어서, 상기 부호화기는,
    현재블록의 부호화 블록 패턴이 0이 아닌 경우에 상기 현재블록 단위로 양자화 파라미터의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  5. 제 2항에 있어서, 부호화기는,
    현재블록의 부호화 블록 패턴이 0이 아닌 경우에 상기 현재블록 내의 서브블록들의 각각의 부가정보에 기초하여 상기 각각의 서브블록 단위로 양자화 파라미터의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  6. 제 2항에 있어서, 부호화기는,
    현재블록의 양자화 파라미터를 예측함에 있어 이미 부호화된 좌측, 상단, 또는 부호화 순서가 이전인 블록의 양자화 파라미터를 이용하여 차분하는 것을 특징으로 하는 영상 부호화 장치.
  7. 제 4항 에 있어서,
    상기 현재블록이 인터 예측 부호화 모드인 경우, 상기 현재블록이 SKIP 모드이면 양자화 파라미터의 부호화를 생략하는 것을 특징으로 하는 영상 부호화 장치.
  8. 제 2항에 있어서, 상기 부호화기는,
    현재블록의 부호화 블록 패턴이 0이 아니고, 상기 현재블록 내의 i번째 서브블록의 부호화 블록 패턴이 0이 아닌 경우에 상기 i번째 서브블록 단위로 양자화 파라미터의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  9. 제 6항에 있어서, 상기 부호화기는,
    상기 현재블록 내의 상기 서브블록들에 대하여 순차적으로 양자화 파라미터의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  10. 제 2항에 있어서, 상기 부호화기는,
    상기 매크로블록 내의 분할된 상기 서브블록들의 부호화 모드가 서로 다른 경우, 각각의 부호화 모드에 대한 적어도 하나의 양자화 파라미터의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  11. 제 2항에 있어서, 상기 부호화기는,
    상기 매크로블록이 상기 서브블록으로 분할되고 상기 서브블록이 하위 서브블록으로 분할되어 부호화가 수행되는 경우, 상기 서브블록의 상기 하위 서브블록들에 대한 양자화 파라미터의 대표값을 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  12. 제 11항에 있어서, 상기 부호화기는
    상기 서브블록의 양자화 파라미터를 상기 하위 서브블록들에 대한 양자화 파라미터의 대표값으로 부호화 할 수 있는 최소 서브블록의 크기를 시퀀스 헤더나 슬라이스 헤더에 부호화하는 것을 특징으로 하는 영상 부호화 장치.
  13. 영상 복호화 장치에 있어서,
    부호화된 데이터를 복호화하여 부가정보 및 양자화된 변환 계수를 복원하며, 현재블록의 상기 부가정보에 기초하여 적응적으로 결정되어 부호화된 양자화 파라미터의 차분 값을 복원하는 복호화기;
    상기 양자화된 변환계수 및 상기 양자화 파라미터의 차분 값을 역양자화 및 역변환하여 잔여블록을 복원하는 역양자화기 및 역변환기;
    상기 현재블록을 복원되는 상기 부가정보를 이용하여 예측블록을 생성하는 예측기; 및
    상기 예측블록과 상기 잔여블록을 가산하여 상기 현재블록을 복원하는 가산기
    를 포함하는 것을 특징으로 하는 영상 복화화 장치.
  14. 제 13항에 있어서, 상기 복호화기는,
    상기 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 상기 현재블록 단위로 상기 양자화 파라미터의 차분 값을 복호화하는 것을 특징으로 하는 영상 복호화 장치.
  15. 제 13항에 있어서,
    상기 현재블록이 인터 예측 부호화 모드인 경우, 상기 현재블록이 SKIP 모드이면 상기 양자화 파라미터의 복호화를 생략하는 것을 특징으로 하는 영상 복호화 장치.
  16. 제 13항에 있어서,
    상기 현재블록의 부호화 블록 패턴이 0이 아니고, 상기 현재블록 내의 i번째 서브블록의 부호화 블록 패턴이 0이 아닌 경우에 상기 i번째 서브블록 단위로 양자화 파라미터의 차분 값을 복호화하는 것을 특징으로 하는 영상 복호화 장치.
  17. 제 13항에 있어서, 상기 복호화기는,
    시퀀스 헤더 또는 슬라이스 헤더로부터 상기 양자화 파라미터를 복원하기 위한 최소 서브블록의 크기를 복호화하는 것을 특징으로 하는 영상 복호화 장치.
  18. 제 13항에 있어서, 상기 복호화기는,
    상기 현재블록의 좌측, 상단의 이미 복호화된 블록, 또는 복호화 순서가 이전인 블록의 양자화 파라미터를 이용하여 상기 현재블록의 양자화 파라미터를 예측하는 것을 특징으로 하는 영상 복호화 장치.
  19. 영상 부호화/복호화 방법에 있어서,
    영상의 매크로블록 및 분할된 서브블록에 대한 부가정보에 기초하여 상기 매크로블록의 양자화 파라미터 값과 상기 서브블록의 양자화 파라미터 값의 차분 값을 적응적으로 부호화하는 단계; 및
    상기 영상 부호화단계에 의해 적응적으로 부호화된 양자화 파라미터의 차분 값을 복원하며, 복원된 양자화 파라미터에 기초하여 잔여블록을 복원하고, 복원된 상기 잔여블록에 기초하여 상기 영상을 복원하는 단계
    를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법.
  20. 영상 부호화 방법에 있어서,
    매크로블록을 분할한 서브블록을 예측하여 예측 서브블록을 생성하는 단계;
    상기 서브블록과 상기 예측 서브블록을 감산하여 잔여 서브블록을 생성하는 단계;
    상기 잔여 서브블록을 상기 서브블록의 크기에 대응하여 변환하고 양자화하여 양자화된 변환 계수를 생성하며, 상기 매크로블록 및 상기 서브블록에 대한 부가 정보에 기초하여 각각의 양자화 파라미터를 결정하는 단계; 및
    상기 양자화된 변환 계수를 엔트로피 부호화하여 부호화 데이터를 생성하며, 결정된 상기 매크로블록의 양자화 파라미터 값과 상기 서브블록의 양자화 파라미터 값의 차분 값을 부호화하는 단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  21. 제 20항에 있어서, 상기 양자화 파라미터 부호화단계는,
    상기 매크로블록 및 상기 서브블록에 대한 SKIP 모드 정보, 부호화 블록 패턴(Coded Block Pattern: CBP) 정보, CBPX 플래그 정보 중의 적어도 하나를 포함하는 부가정보를 이용하여 상기 매크로블록의 양자화 파라미터 값과 상기 서브블록의 양자화 파라미터 값의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 방법.
  22. 제 20항에 있어서, 상기 양자화 파라미터 부호화단계는,
    현재블록의 부호화 블록 패턴이 0이 아닌 경우에 상기 현재블록 단위로 양자화 파라미터의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 방법.
  23. 제 20항에 있어서, 상기 양자화 파라미터 부호화단계는,
    현재블록의 부호화 블록 패턴이 0이 아닌 경우에 상기 현재블록 내의 서브블록들의 각각의 부가정보에 기초하여 상기 각각의 서브블록 단위로 양자화 파라미터의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 방법.
  24. 제 22항 또는 제 23항에 있어서,
    상기 현재블록이 인터 예측 부호화 모드인 경우, 상기 현재블록이 SKIP 모드이면 양자화 파라미터의 부호화를 생략하는 것을 특징으로 하는 영상 부호화 방법.
  25. 제 20항에 있어서, 상기 양자화 파라미터 부호화단계는,
    현재블록의 부호화 블록 패턴이 0이 아니고, 상기 현재블록 내의 i번째 서브블록의 부호화 블록 패턴이 0이 아닌 경우에 상기 i번째 서브블록 단위로 양자화 파라미터의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 방법.
  26. 제 25항에 있어서, 상기 양자화 파라미터 부호화단계는,
    상기 현재블록 내의 상기 서브블록들에 대하여 순차적으로 양자화 파라미터의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 방법.
  27. 제 20항에 있어서, 상기 양자화 파라미터 부호화단계는,
    상기 매크로블록 내의 분할된 상기 서브블록들의 부호화 모드가 서로 다른 경우, 각각의 부호화 모드에 대한 적어도 하나의 양자화 파라미터의 차분 값을 부호화하는 것을 특징으로 하는 영상 부호화 방법.
  28. 제 20항에 있어서, 상기 양자화 파라미터 부호화단계는,
    상기 매크로블록이 상기 서브블록으로 분할되고 상기 서브블록이 하위 서브블록으로 분할되어 부호화가 수행되는 경우, 상기 서브블록의 상기 하위 서브블록들에 대한 양자화 파라미터의 대표값을 부호화하는 것을 특징으로 하는 영상 부호화 방법.
  29. 제 28항에 있어서, 상기 양자화 파라미터 부호화단계는
    상기 서브블록의 양자화 파라미터를 상기 하위 서브블록들에 대한 양자화 파라미터의 대표값으로 부호화 할 수 있는 최소 상기 서브블록의 크기를 시퀀스 헤더나 슬라이스 헤더에 부호화하는 것을 특징으로 하는 영상 부호화 방법.
  30. 제 20항에 있어서, 상기 양자화 파라미터 부호화단계는,
    상기 현재블록의 양자화 파라미터를 예측함에 있어 이미 부호화된 좌측, 상단, 또는 부호화 순서가 이전인 블록의 양자화 파라미터를 이용하여 차분하는 것을 특징으로 하는 영상 부호화 방법.
  31. 영상 복호화 방법에 있어서,
    부호화된 데이터를 복호화하여 부가정보 및 양자화된 변환 계수를 복원하며, 현재블록의 상기 부가정보에 기초하여 적응적으로 결정되어 부호화된 양자화 파라미터의 차분 값을 복원하는 단계;
    상기 양자화된 변환계수 및 상기 양자화 파라미터의 차분 값을 역양자화 및 역변환하여 잔여블록을 복원하는 단계;
    상기 현재블록을 복원되는 상기 부가정보를 이용하여 예측블록을 생성하는 단계; 및
    상기 예측블록과 상기 잔여블록을 가산하여 상기 현재블록을 복원하는 단계
    를 포함하는 것을 특징으로 하는 영상 복화화 방법.
  32. 제 31항에 있어서,
    상기 현재블록의 부호화 블록 패턴이 0이 아닌 경우에 상기 현재블록 단위로 상기 양자화 파라미터의 차분 값을 복원하는 것을 특징으로 하는 영상 복호화 방법.
  33. 제 31항에 있어서,
    상기 현재블록이 인터 예측 부호화 모드인 경우, 상기 현재블록이 SKIP 모드이면 상기 양자화 파라미터의 복호화를 생략하는 것을 특징으로 하는 영상 복호화 방법.
  34. 제 31항에 있어서,
    상기 현재블록의 부호화 블록 패턴이 0이 아니고, 상기 현재블록 내의 i번째 서브블록의 부호화 블록 패턴이 0이 아닌 경우에 상기 i번째 서브블록 단위로 양자화 파라미터의 차분 값을 복원하는 것을 특징으로 하는 영상 복호화 방법.
  35. 제 31항에 있어서, 상기 양자화 파라미터 복원단계는,
    시퀀스 헤더 또는 슬라이스 헤더로부터 상기 양자화 파라미터를 복원하기 위한 최소 서브블록의 크기를 복호화하는 것을 특징으로 하는 영상 복호화 방법.
  36. 제 31항에 있어서, 상기 양자화 파라미터 복원단계는,
    상기 현재블록의 좌측, 상단의 이미 복호화된 블록, 또는 복호화 순서가 이전인 블록의 양자화 파라미터를 이용하여 상기 현재블록의 양자화 파라미터를 예측하는 것을 특징으로 하는 영상 복호화 방법.
PCT/KR2011/003292 2010-05-19 2011-05-03 영상 부호화/복호화 장치 및 방법 WO2011145819A2 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US13/698,840 US9706204B2 (en) 2010-05-19 2011-05-03 Image encoding/decoding device and method
EP11783701.3A EP2574056A4 (en) 2010-05-19 2011-05-03 DEVICE AND METHOD FOR IMAGE ENCODING / DECODING
CN201180035106.XA CN103004194B (zh) 2010-05-19 2011-05-03 图像编码/解码设备和方法
US14/794,204 US9445101B2 (en) 2010-05-19 2015-07-08 Video decoding method using skip information
US15/401,752 US9729881B2 (en) 2010-05-19 2017-01-09 Video encoding/decoding apparatus and method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20100046828 2010-05-19
KR10-2010-0046828 2010-05-19
KR1020110041832A KR101939699B1 (ko) 2010-05-19 2011-05-03 영상 부호화/복호화 장치 및 방법
KR10-2011-0041832 2011-05-03

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US13/698,840 A-371-Of-International US9706204B2 (en) 2010-05-19 2011-05-03 Image encoding/decoding device and method
US14/794,204 Continuation US9445101B2 (en) 2010-05-19 2015-07-08 Video decoding method using skip information
US15/401,752 Continuation US9729881B2 (en) 2010-05-19 2017-01-09 Video encoding/decoding apparatus and method

Publications (2)

Publication Number Publication Date
WO2011145819A2 true WO2011145819A2 (ko) 2011-11-24
WO2011145819A3 WO2011145819A3 (ko) 2012-03-01

Family

ID=45396206

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/003292 WO2011145819A2 (ko) 2010-05-19 2011-05-03 영상 부호화/복호화 장치 및 방법

Country Status (5)

Country Link
US (3) US9706204B2 (ko)
EP (1) EP2574056A4 (ko)
KR (2) KR101939699B1 (ko)
CN (2) CN103004194B (ko)
WO (1) WO2011145819A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019066174A1 (ko) * 2017-09-28 2019-04-04 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
CN110677647A (zh) * 2019-09-27 2020-01-10 腾讯科技(深圳)有限公司 视频解码、编码方法和装置、存储介质与解码器、编码器

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101675118B1 (ko) 2010-01-14 2016-11-10 삼성전자 주식회사 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101703327B1 (ko) * 2010-01-14 2017-02-06 삼성전자 주식회사 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
WO2011145819A2 (ko) * 2010-05-19 2011-11-24 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
US20120114034A1 (en) * 2010-11-08 2012-05-10 Mediatek Inc. Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding
KR101547041B1 (ko) * 2011-01-12 2015-08-24 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
US9654785B2 (en) * 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
CN109905705B (zh) * 2012-01-13 2023-05-02 夏普株式会社 图像解码装置
KR102161741B1 (ko) * 2013-05-02 2020-10-06 삼성전자주식회사 HEVC(high efficiency video coding)에서 코딩 유닛에 대한 양자화 파라미터를 변화시키는 방법과 장치, 및 시스템
US9998739B2 (en) * 2015-03-06 2018-06-12 Qualcomm Incorporated Optimization for encoding video data using non-square partitions
US10123045B2 (en) * 2015-07-24 2018-11-06 Qualcomm Incorporated Modification to block size for transform mode in display stream compression
EP3306930A4 (en) * 2015-09-10 2018-05-02 Samsung Electronics Co., Ltd. Encoding device, decoding device, and encoding and decoding method thereof
CN106534859B (zh) * 2015-09-11 2021-01-15 中兴通讯股份有限公司 基于spice协议的图像传输方法及装置
ES2739668B1 (es) 2016-03-28 2021-12-03 Kt Corp Metodo y aparato para procesar senales de video
CN109417636B (zh) * 2016-06-24 2022-04-01 韩国电子通信研究院 用于基于变换的图像编码/解码的方法和设备
US10470149B2 (en) * 2016-07-27 2019-11-05 Lg Electronics Inc. Method and apparatus for performing MM attach and service request procedure for network slice based new radio access technology in wireless communication system
CN116193109A (zh) * 2017-01-16 2023-05-30 世宗大学校产学协力团 影像编码/解码方法
CN106851274B (zh) * 2017-03-31 2019-08-06 北京奇艺世纪科技有限公司 差分量化参数的确定方法、确定***及视频编码器
MX2020010314A (es) 2018-04-01 2020-10-22 B1 Institute Image Technology Inc Metodo y aparato para codificar/decodificar imagen.
CN117793346A (zh) * 2019-01-31 2024-03-29 北京字节跳动网络技术有限公司 视频编解码中的细化量化步骤
WO2020182213A1 (en) * 2019-03-13 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Sub-block transform in transform skip mode
GB2619640B (en) * 2019-07-05 2024-06-05 V Nova Int Ltd Quantization of residuals in video coding
EP4000269A4 (en) 2019-08-15 2022-09-07 ByteDance Inc. PALLET MODE WITH DIFFERENT DIVISION STRUCTURES
CN114930822A (zh) 2019-08-15 2022-08-19 字节跳动有限公司 用于调色板逸出符号的熵编解码
JP2022548737A (ja) * 2019-09-19 2022-11-21 バイトダンス インコーポレイテッド パレット・モードのための量子化パラメータ導出
WO2021107634A1 (ko) * 2019-11-27 2021-06-03 엘지전자 주식회사 픽처 분할 정보를 시그널링 하는 방법 및 장치

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020021758A1 (en) * 2000-03-15 2002-02-21 Chui Charles K. System and method for efficient transmission and display of image details by re-usage of compressed data
KR100364748B1 (ko) 2001-01-05 2002-12-16 엘지전자 주식회사 영상 변환 부호화 장치
EP2339854A3 (en) * 2001-11-30 2013-11-13 NTT DoCoMo, Inc. Moving picture encoding device, moving picture decoding device, moving picture encoding method, moving picture decoding method, program, and computer readable recording medium storing program
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
CN101631248B (zh) * 2002-04-18 2011-09-14 株式会社东芝 运动图像编码/解码方法和装置
KR20050053297A (ko) * 2003-12-02 2005-06-08 학교법인 성균관대학 동영상 부호화 방법 및 장치
CN1589023A (zh) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 一种基于上下文的多码表变长编解码方法及编解码装置
KR20060016947A (ko) * 2004-08-19 2006-02-23 엘지전자 주식회사 Mpeg 비디오 부호화 시스템 및 부호화 방법
WO2006033916A1 (en) * 2004-09-16 2006-03-30 Thomson Licensing Method and apparatus for fast mode decision for interframes
JP2006140758A (ja) * 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
KR100746011B1 (ko) * 2005-08-24 2007-08-06 삼성전자주식회사 잔차 예측의 성능 개선 방법, 상기 방법을 이용한 비디오인코더 및 비디오 디코더
KR100750138B1 (ko) * 2005-11-16 2007-08-21 삼성전자주식회사 인간의 시각 특성을 이용한 영상의 부호화, 복호화 방법 및장치
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
CA2681025C (en) * 2007-03-20 2015-10-13 Fujitsu Limited Video encoding and decoding apparatus and method using quantization in sub-blocks
KR101431545B1 (ko) * 2008-03-17 2014-08-20 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
US8213503B2 (en) * 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
CN105245883B (zh) * 2010-04-23 2017-11-10 M&K控股株式会社 用于对图像编码的设备和方法
WO2011145819A2 (ko) * 2010-05-19 2011-11-24 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
US20120114034A1 (en) 2010-11-08 2012-05-10 Mediatek Inc. Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding
DK3833022T3 (da) * 2012-04-12 2022-04-19 Jvckenwood Corp Fusionskandidatlistekonstruktion
US9503702B2 (en) * 2012-04-13 2016-11-22 Qualcomm Incorporated View synthesis mode for three-dimensional video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of EP2574056A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019066174A1 (ko) * 2017-09-28 2019-04-04 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US11616971B2 (en) 2017-09-28 2023-03-28 Samsung Electronics Co., Ltd. Encoding and decoding method and device for determining a decoding order between a left and a right lower blocks
US11924462B2 (en) 2017-09-28 2024-03-05 Samsung Electronics Co., Ltd. Encoding and decoding method and device for determining a decoding order between a left and a right lower blocks
CN110677647A (zh) * 2019-09-27 2020-01-10 腾讯科技(深圳)有限公司 视频解码、编码方法和装置、存储介质与解码器、编码器
CN110677647B (zh) * 2019-09-27 2024-02-09 腾讯科技(深圳)有限公司 视频解码、编码方法和装置、存储介质与解码器、编码器

Also Published As

Publication number Publication date
KR20180101314A (ko) 2018-09-12
US20150312570A1 (en) 2015-10-29
KR101939699B1 (ko) 2019-01-18
KR20110127596A (ko) 2011-11-25
CN106067973B (zh) 2019-06-18
KR101984764B1 (ko) 2019-05-31
CN106067973A (zh) 2016-11-02
CN103004194A (zh) 2013-03-27
WO2011145819A3 (ko) 2012-03-01
US9706204B2 (en) 2017-07-11
CN103004194B (zh) 2016-08-17
EP2574056A2 (en) 2013-03-27
US20170118472A1 (en) 2017-04-27
US9445101B2 (en) 2016-09-13
EP2574056A4 (en) 2016-03-30
US20130064293A1 (en) 2013-03-14
US9729881B2 (en) 2017-08-08

Similar Documents

Publication Publication Date Title
WO2011145819A2 (ko) 영상 부호화/복호화 장치 및 방법
WO2013109039A1 (ko) 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치
WO2013005941A2 (ko) 영상 부호화 및 복호화 방법과 장치
WO2010027182A2 (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
WO2013002549A2 (ko) 영상 부호화/복호화 방법 및 장치
WO2012096550A2 (ko) 양방향 인트라 예측을 이용한 영상 부호화/복호화 방법 및 장치
WO2012018198A2 (ko) 예측 블록 생성 장치
WO2012018197A2 (ko) 인트라 예측 복호화 장치
WO2012099440A2 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
WO2011145836A2 (ko) 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법
WO2013062193A1 (ko) 영상 복호화 방법 및 장치
WO2012144876A2 (ko) 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
WO2012081879A1 (ko) 인터 예측 부호화된 동영상 복호화 방법
WO2012077960A2 (ko) 임의의 형태의 블록을 이용한 인터예측에 의한 영상의 부호화/복호화 방법 및 장치
WO2009157665A2 (ko) 블록 변환을 이용한 인트라 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2011142603A2 (ko) 영상의 필터링 방법 및 장치와 그를 이용한 부호화/복호화를 위한 방법 및 장치
WO2013070006A1 (ko) 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
WO2011126285A2 (ko) 부호화 모드에 대한 정보를 부호화, 복호화하는 방법 및 장치
WO2012093854A2 (ko) 코딩 유닛 단위 병렬 인트라예측을 이용한 부호화/복호화 방법 및 장치
WO2012011672A2 (ko) 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
WO2013069996A1 (ko) 변환을 이용한 주파수 도메인 상의 적응적 루프 필터를 이용한 영상 부호화/복호화 방법 및 장치
WO2013077659A1 (ko) 모션 벡터의 예측 부호화/복호화 방법 및 장치
WO2013062198A1 (ko) 영상 복호화 장치
WO2013002550A2 (ko) 고속 코딩 단위(Coding Unit) 모드 결정을 통한 부호화/복호화 방법 및 장치
WO2011037337A2 (ko) 저주파수 성분을 고려한 영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
NENP Non-entry into the national phase in:

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13698840

Country of ref document: US

Ref document number: 2011783701

Country of ref document: EP