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

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

Info

Publication number
WO2010098556A2
WO2010098556A2 PCT/KR2010/001040 KR2010001040W WO2010098556A2 WO 2010098556 A2 WO2010098556 A2 WO 2010098556A2 KR 2010001040 W KR2010001040 W KR 2010001040W WO 2010098556 A2 WO2010098556 A2 WO 2010098556A2
Authority
WO
WIPO (PCT)
Prior art keywords
block
motion vector
pixel
motion
transform coefficient
Prior art date
Application number
PCT/KR2010/001040
Other languages
English (en)
French (fr)
Other versions
WO2010098556A3 (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 에스케이텔레콤 주식회사
Publication of WO2010098556A2 publication Critical patent/WO2010098556A2/ko
Publication of WO2010098556A3 publication Critical patent/WO2010098556A3/ko

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/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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

Definitions

  • the present invention relates to an image encoding / decoding apparatus and method. More particularly, the present invention relates to an apparatus and method for improving compression performance by improving encoding performance of residual blocks (transform coefficients) using a plurality of motion vectors in inter prediction encoding of an image.
  • video data Since video data is large in size, a compression process is necessary to store or transmit the data.
  • intra prediction or inter prediction, transform, quantization, and entropy coding may be performed for each picture of the video data in blocks. Perform the encoding.
  • temporal redundancy having the most data redundancy in a video performs motion estimation and motion compensation using data of a reference picture.
  • a high data compression ratio may be achieved by encoding only a difference between the predicted image compensated by the estimated motion vector (MV) and the original image.
  • the video encoding apparatus according to the recently established H.264 / AVC standard has various block sizes, 1/4 pixel motion correction, multiple reference pictures, generalized bidirectional prediction, and adaptation in order to obtain higher efficiency in inter prediction encoding. Equation loop deblocking techniques are used.
  • VLC variable length coding
  • the present invention provides a more accurate motion prediction of a block to be encoded by performing inter prediction encoding by combining a reference block or a combination of transform coefficients of a block using a motion vector for each pixel or transform coefficient of the block.
  • the main purpose of the present invention is to improve the encoding performance of the transform coefficient and the transform coefficient, and thus the compression performance.
  • the present invention provides an apparatus for encoding an image, comprising: a block and transform coefficient motion estimator for estimating and outputting a block motion vector and a motion vector for each transform coefficient of a current block; A block for transforming the prediction block predicted using the block motion vector and the reference block predicted using the motion vector for each transform coefficient; A subtractor for outputting a residual block obtained by subtracting the current block and the prediction block and outputting a difference block obtained by subtracting the current block and the reference block; A transformer for transforming the residual block and the difference block; A quantizer for quantizing the transformed residual block and the transformed difference block; A coefficient combiner for generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And an encoder for encoding a combined block, a block motion vector, and a motion vector for each transform coefficient, and outputting a bitstream.
  • an apparatus for encoding an image comprising: a block motion estimator for estimating and outputting a block motion vector of a current block; A motion estimator for each transform coefficient for estimating and outputting a motion vector for each transform coefficient of the current block using the block motion vector; A block for transforming the prediction block predicted using the block motion vector and the reference block predicted using the motion vector for each transform coefficient; A subtractor for outputting a residual block obtained by subtracting the current block and the prediction block and outputting a difference block obtained by subtracting the current block and the reference block; A transformer for transforming the residual block and the difference block; A quantizer for quantizing the transformed residual block and the transformed difference block; A coefficient combiner for generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And an encoder for encoding the combined block and the block motion vector and outputting a bitstream.
  • an apparatus for encoding an image comprising: a block and transform coefficient motion estimator for estimating and outputting a block motion vector and a motion vector for each transform coefficient of a current block; A motion vector for each transform coefficient of the current block is estimated using the block motion vector, and a motion vector different from the motion vector for each transform coefficient estimated using the block motion vector from the motion vector for each transform coefficient estimated by the block and the individual motion estimator.
  • a block and transform coefficient motion compensator for outputting a prediction block predicted using the block motion vector and a reference block predicted using the motion vector for each transform coefficient estimated by the individual motion estimator;
  • a subtractor for outputting a residual block obtained by subtracting the current block and the prediction block and outputting a difference block obtained by subtracting the current block and the reference block;
  • a transformer for transforming the residual block and the difference block;
  • a quantizer for quantizing the transformed residual block and the transformed difference block;
  • a coefficient combiner for generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block;
  • an encoder for encoding a combined block, a block motion vector, and another motion vector to output a bitstream.
  • a video encoding method comprising: a block and transform coefficient motion estimation step of estimating a block motion vector and a motion vector for each transform coefficient of a current block; A motion compensation step for each block and transform coefficients for generating a reference block predicted using the block motion vector and a reference block predicted using the motion vector for each transform coefficient; Generating a residual block obtained by subtracting the current block and the prediction block and a difference block obtained by subtracting the current block and the reference block; Transforming the residual block and the difference block; A quantization step of quantizing the transformed residual block and the transformed difference block; A coefficient combining step of generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And an encoding step of encoding a combined block, a block motion vector, and a motion vector for each transform coefficient, and outputting a bitstream.
  • a video encoding method comprising: a block motion estimation step of estimating a block motion vector of a current block; Estimating a motion vector for each transform coefficient of the current block by using the block motion vector; A motion compensation step for each block and transform coefficients for generating a reference block predicted using the block motion vector and a reference block predicted using the motion vector for each transform coefficient; Generating a residual block obtained by subtracting the current block and the prediction block and generating a difference block obtained by subtracting the current block and the reference block; Transforming the residual block and the difference block; A quantization step of quantizing the transformed residual block and the transformed difference block; A coefficient combining step of generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And an encoding step of encoding the combined block and the block motion vector and outputting the bitstream.
  • a video encoding method comprising: a block and transform coefficient motion estimation step of estimating a block motion vector and a motion vector for each transform coefficient of a current block;
  • the motion vector for each transform coefficient of the current block is estimated using the block motion vector, and the motion vector for each transform coefficient estimated from the motion vector for each transform coefficient estimated by the motion estimator for each block and transform coefficient is different from the motion vector for each transform coefficient estimated using the block motion vector.
  • a motion estimation step for each transform coefficient for extracting a motion vector A block and transform coefficient motion compensation step of generating a prediction block predicted using the block motion vector and a reference block predicted using the motion vector for each transform coefficient estimated by the individual motion estimator; Generating a residual block obtained by subtracting the current block and the prediction block and a difference block obtained by subtracting the current block and the reference block; Transforming the residual block and the difference block; A quantization step of quantizing the transformed residual block and the transformed difference block; A coefficient combining step of generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And an encoding step of encoding a combined block, a block motion vector, and another motion vector to output a bitstream.
  • an apparatus for decoding an image comprising: a decoder for decoding a bitstream to reconstruct a block motion vector, a motion vector for each transform coefficient, and a combined block of a current block; A block and a motion compensator for transform coefficients predicting a current block using a reconstructed block motion vector and outputting a prediction block and predicting a current block using a reconstructed motion vector for each transform coefficient; An inverse quantizer for inversely quantizing the recovered combined block; A coefficient corrector for correcting a transform coefficient generated by predicting a motion vector for each transform coefficient among the transform coefficients of the inverse quantized combined block using the prediction block and the reference block, as a transform coefficient for the restored block motion vector; An inverse transformer for inversely transforming the corrected combined block to restore the residual block; And an adder for reconstructing the current block by adding the predicted block and the reconstructed residual block.
  • an apparatus for decoding an image comprising: a decoder for decoding a bitstream to reconstruct a block motion vector and a combined block of a current block; A motion coefficient for each transform coefficient for estimating and outputting a motion vector for each transform coefficient of the current block by using the reconstructed block motion vector; A block and a motion compensator for transform coefficients, which predict a current block by using the reconstructed block motion vector, output a prediction block, and predict a current block by using the estimated motion vector for each transform coefficient, and output a reference block; An inverse quantizer for inversely quantizing the recovered combined block; A coefficient corrector for correcting a transform coefficient generated by predicting a motion vector for each transform coefficient among the transform coefficients of the inverse quantized combined block using the prediction block and the reference block, as a transform coefficient for the reconstructed block motion vector; An inverse transformer for inversely transforming the corrected combined block to restore the residual block; And an adder for reconstructing the current block by adding
  • an apparatus for decoding an image comprising: a decoder for decoding a bitstream to reconstruct a block motion vector, another motion vector, and a combined block of a current block; A motion coefficient for each transform coefficient for estimating and outputting a motion vector for each transform coefficient of the current block by using the reconstructed block motion vector; Block predicting the current block by using the reconstructed block motion vector and outputting a predictive block, and predicting the current block by using the reconstructed motion vector and the motion vector for each estimated transform coefficient, and outputting a reference block and motion for each transform coefficient Compensator; An inverse quantizer for inversely quantizing the recovered combined block; A transform coefficient predicted by a transform vector of the transform coefficients of the inverse quantized combined block using a predictive block and a reference block and predicted by another transform vector and a reconstructed motion vector is corrected as a transform coefficient for the reconstructed block motion vector.
  • Coefficient corrector An inverse transformer for inversely transforming the corrected combined
  • a method of decoding an image comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector, a motion vector for each transform coefficient, and a combined block of a current block; A block and a motion compensation step of transform coefficients for predicting a current block by using the reconstructed block motion vectors and generating a reference block by predicting the current block using the reconstructed motion vectors for each transform coefficient; An inverse quantization step of inverse quantization of the recovered combined block; A coefficient correction step of correcting a transform coefficient generated by predicting a motion vector for each transform coefficient among the transform coefficients of the inverse quantized combined block using the prediction block and the reference block, as a transform coefficient for the restored block motion vector; An inverse transform step of inversely transforming the corrected combined block to restore a residual block; And an addition step of reconstructing the current block by adding the prediction block and the reconstructed residual block.
  • a method of decoding an image comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector and a combined block of a current block; A motion estimation step for each transform coefficient for estimating a motion vector for each transform coefficient of the current block using the reconstructed block motion vector; A motion compensation step of a block and transform coefficients for generating a prediction block by predicting a current block using the reconstructed block motion vector and generating a reference block by predicting the current block using the estimated motion vector for each transform coefficient; An inverse quantization step of inverse quantization of the recovered combined block; A coefficient correction step of correcting a transform coefficient generated by predicting a motion vector for each transform coefficient among the transform coefficients of the inverse quantized combined block using the prediction block and the reference block, as a transform coefficient for the reconstructed block motion vector; An inverse transform step of inversely transforming the corrected combined block to restore a residual block; And an addition step of reconstructing the current block by adding the
  • a method of decoding an image comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector, another motion vector, and a combined block of a current block; A motion estimation step for each transform coefficient for estimating a motion vector for each transform coefficient of the current block using the reconstructed block motion vector; Block predicting the current block using the reconstructed block motion vector to generate a predictive block, and predicting the current block using the reconstructed motion vector and motion vector for each estimated transform coefficient to generate a reference block and motion for each transform coefficient Compensation step; An inverse quantization step of inverse quantization of the recovered combined block; A transform coefficient predicted by a transform vector of the transform coefficients of the inverse quantized combined block using a predictive block and a reference block and predicted by another transform vector and a reconstructed motion vector is corrected as a transform coefficient for the reconstructed block motion vector. Coefficient correction step; An inverse transform step of inversely transforming the corrected combined block to restore a residual block;
  • an apparatus for encoding an image comprising: a block and pixel motion estimator for estimating and outputting a block motion vector and a pixel-by-pixel motion vector of a current block; A block and pixel-specific motion compensator for generating and outputting a prediction block using pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-specific motion vector; A subtractor for outputting a residual block obtained by subtracting the current block and the prediction block; A transformer for transforming a residual block; a quantizer for quantizing the transformed residual block; And an encoder for encoding a quantized residual block, a block motion vector, and a pixel-by-pixel motion vector to output a bitstream.
  • an apparatus for encoding an image comprising: a block motion estimator for estimating and outputting a block motion vector of a current block; A pixel-specific motion estimator for estimating and outputting a pixel-specific motion vector of the current block using the block motion vector; A block and pixel-specific motion compensator for generating and outputting a prediction block using pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-specific motion vector; A subtractor for outputting a residual block obtained by subtracting the current block and the prediction block; A transformer for transforming the residual block; A quantizer for quantizing the transformed residual block; And an encoder for encoding the quantized residual block and the block motion vector and outputting a bitstream.
  • a block and pixel motion estimator for estimating and outputting a block motion vector and a pixel-by-pixel motion vector of the current block; a current using the block motion vector A pixel-by-pixel motion estimator for estimating a pixel-by-pixel motion vector and outputting a motion vector different from the pixel-by-pixel motion vector estimated using the block motion vector from the pixel-by-pixel motion vector estimated by the block and pixel-by-pixel motion estimator; Block and pixel for generating and outputting a prediction block using pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector estimated by the block-by-pixel motion estimator.
  • Motion compensator A subtractor for subtracting the current block and the prediction block to output a residual block; A transformer for transforming the residual block; A quantizer for quantizing the transformed residual block; And an encoder for encoding a quantized residual block, a block motion vector, and another motion vector to output a bitstream.
  • a method of encoding an image comprising: a block and pixel motion estimation step of estimating a block motion vector and a pixel-by-pixel motion vector of a current block; A block and pixel-specific motion compensation step of generating a prediction block using pixels of a reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector; A subtraction step of generating a residual block obtained by subtracting the current block and the prediction block; A transform step of transforming the residual block; A quantization step of quantizing the transformed residual block; And a coding step of encoding a quantized residual block and a block motion vector pixel-specific motion vector to output a bitstream.
  • a video encoding method comprising: a block motion estimation step of estimating a block motion vector of a current block; A pixel-by-pixel motion estimation step of estimating a pixel-by-pixel motion vector of the current block using the block motion vector; A block and pixel-specific motion compensation step of generating a prediction block using pixels of a reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector; A subtraction step of generating a residual block obtained by subtracting a current block and a prediction block; a transformation step of transforming the residual block; A quantization step of quantizing the transformed residual block; And an encoding step of encoding the quantized residual block and the block motion vector and outputting a bitstream.
  • a method of encoding an image comprising: a block and pixel motion estimation step of estimating a block motion vector and a pixel-by-pixel motion vector of a current block; Estimating the pixel-by-pixel motion vector of the current block by using the block motion vector, and extracting a motion vector different from the pixel-by-pixel motion vector estimated using the block motion vector from the pixel-by-pixel motion vector estimated by the block and pixel-by-pixel motion estimator.
  • Per-pixel motion estimation step Block and pixel for generating and outputting a prediction block using pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector estimated by the block-by-pixel motion estimator.
  • Motion compensation step Subtracting the current block and the prediction block to generate a residual block; A transform step of transforming the residual block; A quantization step of quantizing the transformed residual block; And an encoding step of encoding a quantized residual block, a block motion vector, and another motion vector to output a bitstream.
  • an apparatus for decoding an image comprising: a decoder for decoding a bitstream to reconstruct a block motion vector, a pixel-by-pixel motion vector, and a residual block of a current block; Generating and outputting a prediction block using pixels of a reference block generated by predicting a current block using a reconstructed block motion vector and pixels of a reference block generated by predicting a current block using a reconstructed pixel-specific motion vector.
  • Block and pixel-specific motion compensators An inverse quantizer for inverse quantizing the reconstructed residual block; An inverse transformer for inversely transforming the inverse quantized residual block; And an adder for reconstructing the current block by adding the prediction block and the inverse transformed residual block.
  • an apparatus for decoding an image comprising: a decoder for decoding a bitstream to reconstruct a block motion vector and a residual block of a current block; A pixel-by-pixel motion estimator that estimates and outputs a pixel-by-pixel motion vector of the current block by using the reconstructed block motion vector; A prediction block is generated and output using pixels of the reference block generated by predicting the current block using the reconstructed block motion vector and pixels of the reference block generated by predicting the current block using the motion vector for each transform coefficient.
  • a block and pixel-specific motion compensator An inverse quantizer for inverse quantizing the reconstructed residual block; An inverse transformer for inversely transforming the inverse quantized residual block; And an adder for reconstructing the current block by adding the prediction block and the inverse transformed residual block.
  • an apparatus for decoding an image comprising: a decoder for decoding a bitstream to reconstruct a block motion vector, another motion vector, and a residual block of a current block; A pixel-by-pixel motion estimator that estimates and outputs a pixel-by-pixel motion vector of the current block by using the reconstructed block motion vector; By using the pixels of the reference block generated by predicting the current block using the reconstructed block motion vectors, and the pixels of the reference block generated by predicting the current block using the reconstructed other motion vectors and motion vectors for each of the estimated transform coefficients.
  • a block and pixel-specific motion compensator for generating and outputting prediction blocks;
  • An inverse quantizer for inverse quantizing the reconstructed residual block;
  • An inverse transformer for inversely transforming the inverse quantized residual block;
  • an adder for reconstructing the current block by adding the prediction block and the inverse transformed residual block.
  • a method of decoding an image comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector, a pixel-by-pixel motion vector, and a residual block of a current block; A block for generating a prediction block using pixels of a reference block generated by predicting a current block using a reconstructed block motion vector and a pixel of the reference block generated by predicting a current block using a reconstructed pixel-specific motion vector; Pixel-specific motion compensation; An inverse quantization step of inverse quantization of the reconstructed residual block; An inverse transformer step of inversely transforming the inverse quantized residual block; And an adding step of reconstructing the current block by adding the predicted block and the inverse transformed residual block.
  • a method of decoding an image comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector and a residual block of a current block; A pixel-by-pixel motion estimation step of estimating a pixel-by-pixel motion vector of the current block using the reconstructed block motion vector; A block for generating a prediction block using pixels of a reference block generated by predicting a current block using a reconstructed block motion vector and a pixel of the reference block generated by predicting a current block using an estimated pixel-by-pixel motion vector; Pixel-specific motion compensation; An inverse quantization step of inverse quantization of the reconstructed residual block; Inverse transforming the inversely quantized residual block; And an adding step of reconstructing the current block by adding the predicted block and the inverse transformed residual block.
  • a method of decoding an image comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector, another motion vector, and a residual block of a current block; A pixel-by-pixel motion estimation step of estimating a pixel-by-pixel motion vector of the current block using the reconstructed block motion vector; By using the pixels of the reference block generated by predicting the current block using the reconstructed block motion vectors, and the pixels of the reference block generated by predicting the current block using the reconstructed other motion vectors and motion vectors for each of the estimated transform coefficients.
  • a block and pixel-specific motion compensation step of generating a prediction block An inverse quantization step of inverse quantization of the reconstructed residual block; Inverse transforming the inversely quantized residual block; And an adding step of reconstructing the current block by adding the predicted block and the inverse transformed residual block.
  • a reference block or a block is estimated by estimating and compensating for a motion of a block to be encoded in a input image and a motion for each pixel or transform coefficient of the block.
  • a video encoding apparatus is characterized by outputting a bitstream by inter-prediction encoding a block by combining the transform coefficients.
  • the motion of a block to be encoded can be predicted more accurately, and the entropy encoding performance of the transform coefficient can be improved by combining the reference block or the transform coefficient, thereby improving the compression performance.
  • FIG. 1 is a block diagram schematically illustrating a video encoding apparatus according to a first embodiment of the present invention
  • FIG. 2 is an exemplary view for explaining a process of generating a combined block according to an embodiment of the present invention
  • FIG. 3 is an exemplary view for explaining a process of correcting a coefficient according to an embodiment of the present invention
  • FIG. 4 is a flowchart for explaining a video encoding method according to a first embodiment of the present invention
  • FIG. 5 is a block diagram schematically illustrating an image decoding apparatus according to a first embodiment of the present invention
  • FIG. 6 is a flowchart illustrating an image decoding method according to a first embodiment of the present invention
  • FIG. 7 is a block diagram schematically illustrating a video encoding apparatus according to a second embodiment of the present invention.
  • FIG. 8 is a flowchart for explaining a video encoding method according to a second embodiment of the present invention.
  • FIG. 9 is a block diagram schematically illustrating an image decoding apparatus according to a second embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating an image decoding method according to a second embodiment of the present invention.
  • FIG. 11 is a block diagram schematically illustrating a video encoding apparatus according to a third embodiment of the present invention.
  • FIG. 12 is a flowchart for explaining a video encoding method according to a third embodiment of the present invention.
  • FIG. 13 is a block diagram schematically illustrating an image decoding apparatus according to a third embodiment of the present invention.
  • FIG. 14 is a flowchart for explaining a video decoding method according to a third embodiment of the present invention.
  • FIG. 15 is a block diagram schematically illustrating a video encoding apparatus according to a fourth embodiment of the present invention.
  • 16 is a flowchart for explaining a video encoding method according to a fourth embodiment of the present invention.
  • FIG. 17 is a block diagram schematically illustrating an image decoding apparatus according to a fourth embodiment of the present invention.
  • FIG. 18 is a flowchart for explaining a video decoding method according to a fourth embodiment of the present invention.
  • FIG. 19 is a block diagram schematically illustrating a video encoding apparatus according to a fifth embodiment of the present invention.
  • FIG. 20 is a flowchart for explaining a video encoding method according to a fifth embodiment of the present invention.
  • 21 is a block diagram schematically illustrating an image decoding apparatus according to a fifth embodiment of the present invention.
  • FIG. 22 is a flowchart illustrating a video decoding method according to a fifth embodiment of the present invention.
  • FIG. 23 is a block diagram schematically illustrating a video encoding apparatus according to a sixth embodiment of the present invention.
  • FIG. 24 is a flowchart for explaining a video encoding method according to a sixth embodiment of the present invention.
  • 25 is a block diagram schematically illustrating an image decoding apparatus according to a sixth embodiment of the present invention.
  • 26 is a flowchart illustrating an image decoding method according to a sixth embodiment of the present invention.
  • the video encoding apparatus and the image decoding apparatus to be described below are a personal computer (PC), a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), and a PlayStation Portable ( PSP (PlayStation Portable), a mobile communication terminal (Mobile Communication Terminal), etc., communication devices, such as a communication modem for performing communication with various devices or wired and wireless communication networks, storing various programs and data for encoding or decoding the image Means a variety of devices including a memory for, a microprocessor for executing and operating a program.
  • the image encoded in the bitstream by the video encoding apparatus is real-time or non-real-time through the wired or wireless communication network, such as the Internet, local area wireless communication network, wireless LAN network, WiBro network, mobile communication network, or the like, or a cable, universal serial bus (USB: Universal) It may be transmitted to an image decoding apparatus to be described later through a communication interface such as a serial bus, decoded by the image decoding apparatus, and restored and reproduced as an image.
  • a communication interface such as a serial bus
  • the video encoding apparatus to be described later is provided with a function for performing intra prediction, but since it is not directly related to the embodiment of the present invention, it is omitted in the drawings to prevent confusion.
  • a moving picture is composed of a series of pictures, and each picture is divided into blocks.
  • Each block is largely classified into an intra block and an inter block according to an encoding method.
  • An intra block refers to a block coded by using an intra prediction coding method.
  • An intra prediction coding is performed by using pixels of blocks that are previously encoded, decoded, and reconstructed in a current picture that performs current encoding.
  • a prediction block is generated by predicting pixels of a block and a difference value with pixels of the current block is encoded.
  • An inter block refers to a block coded using inter prediction coding.
  • Inter prediction coding generates a prediction block by predicting a current block in a current picture by referring to one or more past or future pictures, and then generates a current block. It is a method of transmitting the difference value with.
  • a picture referred to for encoding or decoding the current picture is referred to as a reference picture.
  • FIG. 1 is a block diagram schematically illustrating a video encoding apparatus according to a first embodiment of the present invention.
  • the video encoding apparatus (Video Encoding Apparatus) 100 includes a block and transform coefficient motion estimator 110 and a block and transform coefficient motion compensator.
  • the inverse quantizer 170, the coefficient corrector 180, the inverse transformer 190, the adder 192, the deblocking filter 194 and the picture buffer 196 are not necessarily included in the image encoding apparatus 100. In some implementations, some or all of them may be selectively included.
  • the motion estimator 110 for each block and transform coefficient estimates and outputs a block motion vector of the current block and a transform coefficient efficient vector for each transform coefficient.
  • the block motion vector of the current block refers to a motion vector indicating the block most similar to the current block in the reference picture
  • the motion vector for each transform coefficient of the current block is a pixel value predicted by motion compensation with the corresponding motion vector and a circle of the current block.
  • one motion vector is estimated with respect to the current block in the block motion vector, a plurality of motion vectors may be estimated with respect to the current block in the motion vector for each transform coefficient. As many as or less than one motion vector can be estimated.
  • the block and transform coefficient motion compensator 112 outputs a predicted block predicted using a block motion vector and a reference block predicted using a motion vector according to transform coefficients. That is, the motion compensator 112 for each block and transform coefficient predicts the motion of the current block by using the block motion vector estimated by the motion estimator 110 for each block and transform coefficient and the motion vector for each transform coefficient. Outputs a block and a reference block. Since there is one block motion vector and a plurality of motion vectors for each transform coefficient, one block is generated for the prediction block, and a reference block may be generated for the estimated number of motion vectors for each transform coefficient.
  • the subtractor 120 outputs a residual block obtained by subtracting the current block and the prediction block, and outputs a difference block obtained by subtracting the current block and the reference block.
  • the residual block includes a residual signal which is a difference between the original pixel value of the current block and the prediction pixel value of the prediction block
  • the difference block is a difference between the original pixel value of the current block and the prediction pixel value of the reference block.
  • the converter 130 converts the residual block and the difference block.
  • the transformer 130 converts the residual signal of the residual block into a frequency domain and frequency transforms the residual signal of the difference block, and uses a Discrete Cosine Transform (DCT) for frequency conversion. Or a Hadamard Transform, but not necessarily limited thereto.
  • DCT Discrete Cosine Transform
  • a Hadamard Transform but not necessarily limited thereto.
  • Various transformation techniques in which the DCT transform is improved and modified may be used, and the residual signal may be transformed into the frequency domain. And transformed into transform coefficients.
  • Quantizer 140 quantizes the transformed residual block and the transformed difference block.
  • the quantizer 140 quantizes the transform coefficients of the transformed residual block and the transform coefficients of the transformed difference block.
  • Dead zone uniform threshold quantization DZUTQ
  • quantization weight matrix Quantization weight matrix
  • Weighted Matrix can be used, but various quantization methods such as improved quantization can be used.
  • the coefficient combiner 150 generates a coupling block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block.
  • the coefficient combiner 150 may generate a combined block by selecting quantization transform coefficients that minimize the amount of bits in the bitstream. That is, the coefficient combiner 150 selectively combines among the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block to generate and encode a combined block, and thus, the bit amount of the output bitstream is minimal.
  • the combined block may be generated by selecting the quantized transform coefficients.
  • the coefficient combiner 150 may generate information about the positions of the selected quantization transform coefficients for each motion vector, and the generated information may be encoded by the encoder 160. have.
  • the coefficient combiner 150 determines the position of the combined block in which the quantized transform coefficients for the A motion vector are selected. For example, the position of the combined block in which the quantization transform coefficients are selected for the B motion vector and the position in the combined block in which the quantization transform coefficients are selected for the C motion vector may be generated. Can be encoded.
  • the encoder 160 encodes a combined block, a block motion vector, and a motion vector for each transform coefficient, and outputs a bitstream. That is, the encoder 160 scans the quantized transform coefficients of the combined block combined by the coefficient combiner 150 and generates a bit string by encoding using various encoding techniques such as entropy coding, and generates a block and transform. A final bitstream is generated and output by encoding a block motion vector output from the coefficient-based motion estimator 110 and a motion vector for each transform coefficient. In addition, as described above, the encoder 160 may encode and include the information on the position of the quantized transform coefficients selected for each motion vector from the coefficient combiner 150 in the bitstream.
  • Inverse quantizer 170 inverse quantizes the quantized combining block.
  • the inverse quantizer 170 performs inverse quantization by performing the inverse of the method quantized by the quantizer 140.
  • the coefficient corrector 180 corrects a transform coefficient generated by predicting a motion vector for each transform coefficient among transform coefficients of an inverse quantized combined block using a prediction block and a reference block, as a transform coefficient for a block motion vector. That is, the coefficient corrector 180 includes transform coefficients generated by predicting the block quantized combined block and transform coefficients generated by predicting the motion vector for each transform coefficient. ) Transforms the generated transform coefficient predicted by the motion vector for each transform coefficient to the transform coefficient for the block motion vector so as to inverse transform the combined block. A process of correcting the transform coefficient by the coefficient corrector 180 will be described in detail later with reference to FIG. 3.
  • Inverse transformer 190 inversely transforms the corrected combined block to restore the residual block.
  • the inverse transformer 190 performs an inverse transform by performing the inverse of the method transformed by the transformer 130.
  • the adder 192 reconstructs the current block by adding the prediction block and the reconstructed residual block.
  • the adder 192 adds the predicted pixel value of the prediction block output from the motion compensator 112 for each block and transform coefficient and the reconstructed residual signal of the residual block output from the inverse transformer 190 to add the original pixel of the current block. Restore the value.
  • the residual signal since the reconstructed residual signal included in the inversely transformed combined block is corrected for the block motion vector by the coefficient corrector 180, the residual signal may be added to the pixel value of the prediction block that compensates for the motion using the block motion vector. .
  • the deblocking filter 194 removes block distortion or blockiness by deblocking filtering the restored current block output from the adder 192 and outputs the block distortion.
  • the picture buffer 196 stores the current block from which the block distortion and the like are removed by the deblocking filter 194, and stores the motion vector in the motion estimator 110 for each block and transform coefficient and the motion compensator 112 for each block and transform coefficient. It can be used as a reference picture or a reference block for reference when estimating and compensating for motion using a motion vector.
  • FIG. 2 is an exemplary diagram for describing a process of generating a combining block according to an embodiment of the present invention.
  • the motion estimator 110 for each block and transform coefficient may find the MV-block (-8, -8) as a block motion vector by finding the block most similar to the current block in one or more reference pictures. have.
  • the transform coefficients of the quantized residual block which are transformed and quantized by predicting the current block by subtracting the motion using MV-block (-8, -8), which is a block motion vector, and subtracting the current block and the prediction block, are illustrated.
  • the transform coefficients of the high frequency component especially, C 11 , C 13 to C 30
  • the bit amount of the bitstream can be large.
  • the motion estimator 110 for each block and transform coefficient finds another block similar to the current block in one or more reference pictures, as MV1 (-7.5, -8.5) and MV2 ( -7.25, -8.25).
  • the motion vector may be found using the same or different precision as that of the block motion vector.
  • a block motion vector may use only a motion vector of an integer pixel unit, and a motion vector for each transform coefficient may use a motion vector having a precision of a unit (1/2 pixel or 1/4 pixel) or less of an integer pixel. have. In this case, it is the same as applying a motion vector having different precision for each transform coefficient.
  • one or more motion vectors having the same precision may be used, and a user may arbitrarily determine the number of transform coefficients that can be encoded according to the plurality of motion vectors.
  • the motion coefficient is predicted by predicting the current block, and the transform coefficients of the residual quantized block transformed and quantized by subtracting the current block and the prediction block are shown as C MV1 (00 ⁇ 33) and C MV2 (00 to 33) , the high frequency components of the transform coefficients of each quantized residual block are not generally '0' or have small coefficient values, but some transform coefficients of the high frequency components are '0' or small. It can have a coefficient value.
  • the coefficient combiner 150 selects the remaining transform coefficients except the transform coefficients having the large coefficient value among the transform coefficients of the high frequency component in the C MV-blocks 00 to 33, and the excluded transform coefficients are C MV1 (00 to 33) . 33) and the appropriate ones of transform coefficients of C MV2 (00 to 33) are selected and combined to generate a combined block.
  • the transform coefficients of the combined block generated as described above may be generated by C (00 to 33) .
  • the transform coefficients of the finally generated combined block have a coefficient value of '0' or a small value in the high frequency component, thereby increasing encoding performance, thereby minimizing the bit amount of the bitstream.
  • FIG. 3 is an exemplary diagram for describing a process of correcting a coefficient according to an embodiment of the present invention.
  • the inverse transformer 190 may inverse transform the combined block.
  • the transform coefficient predicted as the motion vector for each transform coefficient should be corrected as the transform coefficient for the block motion vector.
  • Coeff MV-bock (j, i) refers to transform coefficients generated by motion compensation by block motion vectors
  • Coeff (j, i) refers to transform coefficients generated by motion compensation by motion vectors of transform coefficients.
  • T [Diff] (j, i) refers to a coefficient of a block obtained by transforming a difference block between a prediction block indicated by a block motion vector and a reference block indicated by a motion vector for each transform coefficient.
  • T [Diff] (j, i) is a block obtained by transforming a difference block between the prediction block and the transform reference block, when the prediction block and the reference block output from the motion compensator 112 for each block and transform coefficient are used.
  • the transform coefficient generated by motion compensation by the motion vector for each transform coefficient may be corrected by the transform coefficient generated by motion compensation by the block motion vector.
  • Equation 1 may be derived through Equation 2 to Equation 4 below.
  • Equations 2 to 4 below are equations for the case where the combined block is generated as described above with reference to FIG. 2, for example, and may vary according to the example.
  • Equation 2 Since the difference block is the difference between the prediction block and the reference block, it can be expressed as in Equation 2.
  • Equation 3 When both sides of Equation 2 are converted, Equation 3 can be expressed.
  • Equation 3 can be expressed as Equation 4 with respect to the transform coefficients of the block motion vector (MV-block).
  • Equation 1 By generalizing Equation 4 to the motion vector for each transform coefficient, Equation 1 can be derived.
  • the coefficient corrector 180 predicts a process of correcting a transform coefficient generated by predicting the motion vector for each transform coefficient as a transform coefficient for a block motion vector through Equation 1.
  • the combined block is a block in which motion compensation is performed by block motion vector MV-Block and transform coefficient-specific motion vectors MV1 and MV2 and the transformed and quantized transform coefficients are selectively combined, as described with reference to FIG.
  • the cycle corrector 180 to then obtain the difference block (Diff 1, Diff 2) between the predicted block and the reference block in order to obtain a correction value of the conversion coefficient transform the difference block (Diff 1, Diff 2), each MV1 by the transformation coefficient Coeff MV2 and adds to the corresponding transform coefficient Coeff MV1 and MV2 which corrects a transform coefficient Coeff MV1, MV2 Coeff for each motion vector MV to the coefficient Coeff-block corresponding to the block motion vector.
  • the coefficient corrector 180 receives information about the position of the transform coefficient corresponding to each motion vector from the coefficient combiner 150 and corresponds to each motion vector in the combined block inversely quantized by the inverse quantizer 170.
  • the conversion coefficients can be separated.
  • the coefficient corrector 180 has the positions of the transform coefficients corresponding to MV1 from the coefficient combiner 150 at (1,1), (2,3) and the positions of the transform coefficients corresponding to MV2 are (0,2), Transform coefficient C (00 ) input from inverse quantizer 170 by receiving information indicating that it is (1,3), (2,0), (2, 1), (2, 2), (3,0) 33, the conversion coefficients Coeff MV1 corresponding to MV1 and the conversion coefficient Coeff MV2 corresponding to MV2 may be separated according to the position identified by the transmitted information.
  • the correction value of the transform coefficient corrected by the coefficient corrector 180 is corrected in addition to the transform coefficient corresponding to the transform coefficient corresponding to the block motion vector (MV-block) dequantized by the inverse quantizer 170.
  • Generated residual block, and the corrected residual block is inversely transformed by the inverse transformer 190 and added to the predicted block generated by motion compensation by the adder 192 into a block motion vector (MV-block). Is restored.
  • FIG. 4 is a flowchart illustrating a video encoding method according to a first embodiment of the present invention.
  • the image encoding apparatus estimates a block motion vector of the current block and a motion vector for each transform coefficient (S410), and generates a reference block predicted using the prediction block predicted using the block motion vector and a motion vector for each transform coefficient (
  • a residual block obtained by subtracting the current block and the prediction block and a difference block obtained by subtracting the current block and the reference block are generated (S430), the residual block and the difference block are transformed (S440), and the transformed residual block is converted into The difference block is quantized (S450).
  • the image encoding apparatus generates a combined block by using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block (S460), and encodes the combined block, the block motion vector, and the motion vector for each transform coefficient.
  • the bitstream is output (S470).
  • FIG. 5 is a block diagram schematically illustrating an image decoding apparatus according to a first embodiment of the present invention.
  • An image decoding apparatus includes a decoder (Decoder, 510), a motion compensator (520) for each block and transform coefficient, an inverse quantizer (530), a coefficient corrector (540), and an inverse converter (550). , An adder 560, a deblocking filter 570, and a picture buffer 580.
  • the deblocking filter 570 and the picture buffer 580 may not necessarily be included in the image encoding apparatus 100, and some or all of them may be selectively included depending on the implementation.
  • the decoder 510 decodes the bitstream to reconstruct the block motion vector, the motion vector for each transform coefficient, and the combined block of the current block.
  • the decoder 510 may decode the bitstream by performing the same or similar to the encoding scheme encoded by the encoder 160 of the image encoding apparatus, or vice versa.
  • the decoder 510 may decode the information and transmit the information to the coefficient corrector 540.
  • the block and transform coefficient motion compensator 520 predicts the current block by using the reconstructed block motion vector, and outputs the prediction block, and predicts the current block by using the reconstructed motion vector by the transform coefficient, and outputs the reference block. That is, the block and transform coefficient motion compensator 520 outputs the prediction block and the reference block by predicting the current block by using the block motion vector reconstructed by the decoder 510 and the motion vector for each transform coefficient.
  • Inverse quantizer 530 inverse quantizes the recovered combined block. That is, the inverse quantizer 530 inverse quantizes the quantized transform coefficients of the combined block reconstructed by the decoder 510.
  • the inverse quantizer 530 performs the same or similar function as the inverse quantizer 170 of the image encoding apparatus, a detailed description thereof will be omitted.
  • the coefficient corrector 540 corrects a transform coefficient generated by predicting a motion vector for each transform coefficient among the transform coefficients of the inverse quantized combined block using the prediction block and the reference block, as a transform coefficient for the restored block motion vector. . That is, the coefficient corrector 540 unifies the transform coefficients of the combined block output from the inverse quantizer 530 into the transform coefficients with respect to the block motion vector.
  • the coefficient corrector 540 corrects the transform coefficient through the same or similar process as that of the coefficient corrector 180 of the image encoding apparatus, detailed description thereof will be omitted.
  • the coefficient corrector 540 must separate transform coefficients corresponding to each motion vector from the inverse quantized combining block to correct the coefficients, and use the information included in the bitstream or the coefficient corrector 540 to separate the coefficients. ) Detects and separates positions of transform coefficients corresponding to each motion vector in various ways, such as by searching for transform coefficients corresponding to each motion vector. For example, the coefficient corrector 540 may use information on transform coefficients corresponding to each motion vector included in the bitstream. The coefficient corrector 540 identifies transform coefficients for each motion vector by using the information and corresponds to each motion vector. Transform coefficients can be separated.
  • Inverse transformer 550 inversely transforms the corrected combined block to restore the residual block. That is, the inverse transformer 550 restores the residual block by inversely transforming the uniform transform coefficients for the block motion vector by the coefficient corrector 540 to restore the residual signal.
  • the inverse transformer 550 performs the same or similar function as the inverse transformer 190 of the image encoding apparatus, a detailed description thereof will be omitted.
  • the adder 560 reconstructs the current block by adding the prediction block and the reconstructed residual block. Since the deblocking filter 570 and the picture buffer 580 perform the same or similar functions as those of the deblocking filter 194 and the picture buffer 196 of the image encoding apparatus, a detailed description thereof will be omitted.
  • FIG. 6 is a flowchart illustrating an image decoding method according to a first embodiment of the present invention.
  • the image decoding apparatus decodes the bitstream to restore a block motion vector, a motion vector for each transform coefficient, and a combined block of the current block (S610).
  • a prediction block is generated by predicting the current block using the vector, and a reference block is generated by predicting the current block using the reconstructed motion vector for each transform coefficient (S620).
  • the apparatus for decoding an image inversely quantizes the reconstructed combined block (S630), and uses the predicted block and the reference block to perform transform coefficients generated by predicting a motion vector for each transform coefficient among the transform coefficients of the dequantized combined block. Correction is performed by the transform coefficients for the reconstructed block motion vector (S640), inversely transforming the corrected combined block to reconstruct the residual block (S650), and add the prediction block and the reconstructed residual block to reconstruct the current block (S660). ).
  • the first embodiment of the present invention has been described to generate a bitstream by estimating a block motion vector and a motion vector for each transform coefficient together and encoding all of them.
  • the amount of bits required to encode the motion vector for each transform coefficient increases, thereby reducing compression efficiency.
  • a method of reducing the amount of bits required to encode a motion vector for each transform coefficient while encoding using the motion vector for each transform coefficient will be described in accordance with a second embodiment of the present invention.
  • FIG. 7 is a block diagram schematically illustrating a video encoding apparatus according to a second embodiment of the present invention.
  • the motion compensator 112 the subtractor 120, the transformer 130, the quantizer 140, the coefficient combiner 150, the inverse quantizer 170, the coefficient corrector 180, and the inverse transformer for each block and transform coefficients.
  • the adder 192, the deblocking filter 194, and the picture buffer 196 perform the same or similar functions as described above with reference to FIG. 1, and thus a detailed description thereof will be omitted.
  • the block motion estimator 710 estimates a block motion vector of the current block. That is, the block motion estimator 710 finds the block most similar to the current block in one or more reference pictures, and estimates the motion vector indicating the block as the block motion vector.
  • the motion estimator 720 for each transform coefficient estimates and outputs a motion vector for each transform coefficient of the current block by using the block motion vector. That is, the transform coefficient-specific motion estimator 720 searches for other blocks similar to the current block centering on the block motion vectors output from the block motion estimator 710 in one or more reference pictures, and converts motion vectors indicating the other blocks by the transform coefficients. Estimate as a motion vector.
  • the block and transform coefficient motion estimator 110 independently estimates the block motion vector and the transform coefficient motion vector independently, but in the second embodiment of the present invention, the block motion estimator ( 710 estimates only the block motion vector, and the motion estimator for each transform coefficient estimates the motion vector for each transform coefficient in a predetermined region around the block motion vector. Therefore, since the number of motion vectors for each transform coefficient estimated by the motion estimator for each transform coefficient is estimated based on the block motion vector, the motion estimator 110 for each block and transform coefficient according to the first embodiment of the present invention. It may be equal to or smaller than the number of motion vectors for each transform coefficient estimated by.
  • the block motion vector estimated by the block motion estimator 710 and the motion vector for each transform coefficient estimated by the motion vector estimator 720 for each transform coefficient are output to the motion compensator 112 for each block and transform coefficient and used for motion compensation.
  • the encoder 730 according to the second embodiment of the present invention does not encode both the block motion vector and the motion vector for each transform coefficient, but rather the block motion estimator 710. Only block motion vectors output from Accordingly, the encoder 730 according to the second embodiment of the present invention generates and outputs a bitstream by encoding a block motion vector and a combined block.
  • the motion vector for each transform coefficient may be estimated using the block motion vector in the image decoding apparatus to be described later. Is to encode only. Since the encoder 730 does not have to encode the motion vector for each transform coefficient, the bit amount of the bitstream encoded and finally output according to the second embodiment of the present invention can be greatly reduced.
  • FIG. 8 is a flowchart illustrating an image encoding method according to a second embodiment of the present invention.
  • the image encoding apparatus estimates a block motion vector of the current block (S810), estimates a motion vector for each transform coefficient of the current block using the estimated block motion vector (S820), and predicts a block predicted using the block motion vector. And a reference block predicted using the motion vector for each transform coefficient (S830).
  • the apparatus for encoding an image generates a residual block obtained by subtracting the current block and the prediction block, generates a difference block obtained by subtracting the current block and the reference block (S840), converts the residual block and the difference block (S850), and converts the converted block.
  • Quantize the residual block and the transformed difference block (S860), generate a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block (S870), and generate the combined block and the block motion vector.
  • the bitstream is encoded and output (S880).
  • FIG. 9 is a block diagram schematically illustrating an image decoding apparatus according to a second embodiment of the present invention.
  • the image decoding apparatus 900 not only includes all the components of the image decoding apparatus according to the first embodiment of the present invention described above with reference to FIG.
  • a motion estimator 920 for each transform coefficient is further included.
  • the motion compensator 520, the inverse quantizer 530, the coefficient corrector 540, the inverse transformer 550, the adder 560, the deblocking filter 570, and the picture buffer 580 for each block and transform coefficient are Since the same or similar functions as described above are performed through FIG. 5, a detailed description thereof will be omitted.
  • the decoder 910 decodes the bitstream to reconstruct the block motion vector and the combined block of the current block. That is, since the bitstream according to the second embodiment of the present invention includes only the encoded combined block and the encoded block motion vector, the decoder 910 decodes the bitstream to reconstruct the block motion vector and the combined block.
  • the block motion vector reconstructed by the decoder 910 is input to the motion estimator 920 for each transform coefficient as well as the motion compensator 520 for each block and transform coefficient, and the motion estimator 920 for each transform coefficient is restored. Estimate and output the motion vector for each transform coefficient of the current block using. That is, the motion coefficient for each transform coefficient estimator 920 estimates the motion vector for each transform coefficient based on the block motion vector reconstructed in the same manner as the motion estimator 720 for each transform coefficient described above with reference to FIG. 7.
  • the estimated motion vector for each transform coefficient is input to the motion compensator 520 for each block and transform coefficient, and the motion compensator for each block and transform coefficients 520 converts the reconstructed block motion vector and the motion vector for each transform coefficient.
  • the prediction block and the reference block are generated by predicting the current block.
  • FIG. 10 is a flowchart illustrating a video decoding method according to a second embodiment of the present invention.
  • the image decoding apparatus decodes the bitstream to reconstruct the block motion vector and the combined block of the current block (S1010), and uses the reconstructed block motion vector to obtain the motion vector for each transform coefficient of the current block.
  • a prediction block is generated by predicting the current block using the reconstructed block motion vector
  • a reference block is generated by predicting the current block using the motion vector for each transform coefficient.
  • the apparatus for decoding an image inversely quantizes the reconstructed combined block (S1040), and estimates a transform coefficient generated by predicting a motion vector for each transform coefficient of the transform coefficients of the dequantized combined block using the prediction block and the reference block. Correction is performed by the transform coefficients for the reconstructed block motion vector (S1050), inversely transforming the corrected combined block to reconstruct the residual block (S1060), and add the prediction block and the reconstructed residual block to restore the current block (S1070). ).
  • the block motion vector is estimated according to the first embodiment of the present invention, the motion vector for each transform coefficient is estimated using the block motion vector, and the block motion vector is encoded. I explained about creating it. In this case, the amount of bits required to encode the motion vector for each transform coefficient can be reduced while encoding using the motion vector for each transform coefficient. However, since the motion vector for each transform coefficient is estimated based on the block motion vector, the estimated transform is estimated. Since the number of motion vectors for each coefficient decreases, a larger number of motion vectors cannot be found for each transform coefficient, which may reduce the efficiency of encoding the generated combined block.
  • a bit required for encoding a motion vector for each transform coefficient while estimating a motion vector for each transform coefficient independently from a block motion vector is encoded using a large number of motion vectors for each transform coefficient. Describe how you can reduce the volume.
  • FIG. 11 is a block diagram schematically illustrating a video encoding apparatus according to a third embodiment of the present invention.
  • the image encoding apparatus includes not only all the components of the image encoding apparatus according to the first embodiment of the present invention described above with reference to FIG. 1, but also the motion estimator 1110 for each transform coefficient. Additionally included.
  • the motion estimator 110 for each block and transform coefficient, the motion compensator 112 for each block and transform coefficient, the subtractor 120, the transformer 130, the quantizer 140, the coefficient combiner 150, and the inverse quantizer ( 170, the coefficient corrector 180, the inverse converter 190, the adder 192, the deblocking filter 194 and the picture buffer 196 perform the same or similar functions as described above with reference to FIG. 1. Omit.
  • the motion estimator 1110 for each transform coefficient estimates a motion vector for each transform coefficient of the current block by using a block motion vector, and estimates the block motion vector from the motion vectors for each transform coefficient estimated by a block and an individual motion estimator. Only motion vectors different from the motion vectors for each transform coefficient are output. That is, although the motion estimator 1110 for each transform coefficient estimates the motion vector for each transform coefficient in the motion estimator 110 for each block and transform coefficient, the motion estimator 110 for each block and transform coefficient in one or more reference pictures is different from that. A block similar to the current block is found based on the block motion vector estimated by s), and a motion vector pointing to the block is estimated as a motion vector for each transform coefficient.
  • the motion estimator 1110 for each transform coefficient compares the motion vector for each transform coefficient estimated by the block and transform coefficient motion estimator 110 and the motion vector for each transform coefficient estimated using the block motion vector. Except for this, only different motion vectors, that is, different motion vectors are output.
  • the block motion vector estimated by the motion estimator 110 for each block and transform coefficient and the motion vector for each transform coefficient are compensated.
  • the encoder 1120 encodes a block motion vector estimated by the block and transform coefficient motion estimator 110 and other motion vectors estimated and compared and output by the transform coefficient motion estimator 1110 together with the combined block, thereby bit. Output the stream.
  • the video decoding apparatus to be described later may estimate the motion vector for each transform coefficient using the block motion vector, and the estimated transform coefficients for each of the estimated transform coefficients. Since the motion vector for each transform coefficient estimated by the block and transform coefficient motion estimator 110 can be reconstructed using the motion vector and another motion vector reconstructed from the bitstream, only the block motion vector and the other motion vector are encoded. . In this way, the transform coefficient estimated using the block motion vector to inform the image decoding apparatus of the motion vector while encoding using a large number of motion vectors for each transform coefficient estimated by the motion estimator 110 for each block and the transform coefficient. Since only information encoding a motion vector different from each motion vector needs to be transmitted, the bit amount of the bitstream can be further reduced, thereby improving compression efficiency.
  • FIG. 12 is a flowchart illustrating a video encoding method according to a third embodiment of the present invention.
  • the image encoding apparatus estimates a block motion vector and a motion vector for each transform coefficient of the current block (S1210), and uses the block motion vector estimated in step S1210 to perform motion for each transform coefficient of the current block. Estimating the vector, extracting a motion vector different from the motion vector for each transform coefficient estimated using the block motion vector, from the motion vector for each transform coefficient estimated in step S1210 (S1220), and predicting a block predicted using the block motion vector. In operation S1230, a reference block predicted is generated using the motion vector for each transform coefficient estimated in step S1210.
  • the apparatus for encoding an image generates a residual block obtained by subtracting the current block and a prediction block and a difference block obtained by subtracting the current block and a reference block (S1240), converts the residual block and the difference block (S1250), and converts the converted residual block. And quantize the transformed difference block (S1260), generate a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block (S1270), and combine blocks, block motion vectors, and other motions.
  • the vector is encoded to output a bitstream (S1280).
  • FIG. 13 is a block diagram schematically illustrating an image decoding apparatus according to a third embodiment of the present invention.
  • the image decoding apparatus includes all the components of the image decoding apparatus according to the second embodiment of the present invention described above with reference to FIG. 9.
  • the motion compensator 520, the inverse quantizer 530, the coefficient corrector 540, the inverse transformer 550, the adder 560, the deblocking filter 570, and the picture buffer 580 for each block and transform coefficient are Since the same or similar functions as described above are performed through FIG. 5, a detailed description thereof will be omitted.
  • the decoder 1310 decodes the bitstream to reconstruct a block motion vector, another motion vector, and a combined block of the current block.
  • the reconstructed combined block is output to the inverse quantizer 530, and the reconstructed block motion vector is output to the motion compensator 520 for each block and transform coefficient and the motion estimator 1320 for each transform coefficient, and the other reconstructed motion.
  • the vector is output to the motion compensator 520 for each block and transform coefficient.
  • the motion estimator 1320 for each transform coefficient estimates and outputs a motion vector for each transform coefficient of the current block by using the reconstructed block motion vector.
  • the motion compensator 1330 for each block and transform coefficient predicts a current block by using the reconstructed block motion vector, outputs a predicted block, and the other motion vector reconstructed by the decoder 1310 and the motion estimator for each transform coefficient 1320.
  • the reference block is output by predicting the current block by using the motion vector for each transform coefficient estimated by.
  • FIG. 14 is a flowchart illustrating a video decoding method according to a third embodiment of the present invention.
  • the image decoding apparatus decodes the bitstream to reconstruct a block motion vector, another motion vector, and a combined block of the current block (S1410), and converts the current block using the reconstructed block motion vector.
  • a motion vector for each coefficient is estimated (S1420), a prediction block is generated by predicting a current block using the reconstructed block motion vector, and another motion vector reconstructed in step S1410 and a motion vector for each transform coefficient estimated in step S1420 are used.
  • a reference block is generated by predicting the current block.
  • the apparatus for decoding an image inversely quantizes the reconstructed combined block (S1440), and reconstructs the motion vector for each transform coefficient estimated in step S1420 among the transform coefficients of the dequantized combined block using the prediction block and the reference block in step S1410.
  • the transform coefficient predicted and generated by the other motion vector is corrected to the transform coefficient for the block motion vector reconstructed in step S1410 (S1450).
  • the image decoding apparatus inversely transforms the corrected combined block to reconstruct the residual block (S1460), and adds the prediction block and the reconstructed residual block to reconstruct the current block (S1470).
  • FIG. 15 is a block diagram schematically illustrating a video encoding apparatus according to a fourth embodiment of the present invention.
  • An image encoding apparatus includes a block and pixel motion estimator (1510), a block and pixel motion compensator (1520), a subtractor 1530, Comprising a transformer 1540, a quantizer 1550, an encoder 1560, an inverse quantizer 1570, an inverse transformer 1580, an adder 1590, a deblocking filter 1592, and a picture buffer 1594.
  • a block and pixel motion estimator (1510)
  • a block and pixel motion compensator 1520
  • a subtractor 1530 Comprising a transformer 1540, a quantizer 1550, an encoder 1560, an inverse quantizer 1570, an inverse transformer 1580, an adder 1590, a deblocking filter 1592, and a picture buffer 1594.
  • a transformer 1540 Comprising a transformer 1540, a quantizer 1550, an encoder 1560, an inverse quantizer 1570, an inverse transformer 1580, an adder 1590, a deblocking filter 1592, and a
  • the block and pixel motion estimator 1510 estimates a block motion vector and a pixel-by-pixel motion vector of the current block. That is, the block and pixel-specific motion estimator 1510 finds the block most similar to the current block in one or more reference pictures and estimates the motion vector pointing to the block as the block motion vector, and most similarly for each pixel in the current block in the one or more reference pictures. The motion vector pointing to the block is found and estimated as the pixel-by-pixel motion vector.
  • the block motion vector of the current block refers to a motion vector indicating a block most similar to the current block in the reference picture.
  • the motion vector for each pixel of the current block is a pixel value predicted by motion compensation with the corresponding motion vector and the original pixel of the current block.
  • a motion vector whose coding performance is maximized when the difference from the value is converted and encoded by the quantized transform coefficient.
  • one motion vector is estimated for the current block in the block motion vector
  • a plurality of motion vectors may be estimated for the current block in the pixel-by-pixel motion vector, which is equal to or less than the number of pixels in the current block. The vector can be estimated.
  • the block and pixel motion compensator 1520 generates and outputs a prediction block using pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector.
  • the block and pixel motion compensator 1520 selectively selects a pixel that minimizes the bit amount of the bitstream among the pixels of the reference block predicted using the block motion vector and the pixels of the reference block predicted using the pixel-by-pixel motion vector. Can be combined to generate prediction blocks. That is, the block and pixel-by-pixel motion compensator 1520 selectively generates a prediction block by selectively combining pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector.
  • the prediction block may be generated by selecting pixels in which the bit amount of the final bitstream may be minimized.
  • the subtractor 1530 outputs a residual block obtained by subtracting the current block and the prediction block.
  • the converter 1540 transforms the residual block.
  • Quantizer 1550 quantizes the transformed residual block.
  • the encoder 1560 encodes the quantized residual block, the block motion vector, and the pixel-by-pixel motion vector, and outputs a bitstream.
  • Inverse quantizer 1570 inverse quantizes the residual quantized block.
  • Inverse transformer 1580 inversely transforms the inverse quantized residual block.
  • the adder 1590 reconstructs the current block by adding the inverse transformed residual block and the prediction block output from the block and pixel-specific motion compensator 1520.
  • the transformation, quantization, encoding, inverse quantization, and inverse transformation are the same as or similar to those described above through the first to third embodiments, and thus a detailed description thereof will be omitted.
  • the deblocking filter 1592 and the picture buffer 1594 may not be necessarily included in the video encoding apparatus according to the fourth embodiment of the present invention, but may be selectively included.
  • the description is the same as or similar to that described above, and thus a detailed description thereof will be omitted.
  • 16 is a flowchart illustrating a video encoding method according to a fourth embodiment of the present invention.
  • the image encoding apparatus estimates a block motion vector and a pixel-by-pixel motion vector of the current block (S1610), and uses the pixel and pixel-by-pixel motion vector of the reference block predicted using the block motion vector.
  • the prediction block is generated using the pixels of the predicted reference block (S1620), the residual block obtained by subtracting the current block and the prediction block is generated (S1630), the residual block is converted (S1640), and the converted residual block is generated.
  • After quantization (S1650), the quantized residual block, block motion vector, and pixel-by-pixel motion vector are encoded to output a bitstream (S1660).
  • FIG. 17 is a block diagram schematically illustrating an image decoding apparatus according to a fourth embodiment of the present invention.
  • the image decoding apparatus includes a decoder 1710, a motion compensator 1720 for each block and pixel, an inverse quantizer 1730, an inverse converter 1740, an adder 1750, and a deblocking filter. 1760 and picture buffer 1770.
  • the deblocking filter 1760 and the picture buffer 1770 are not necessarily included but may be selectively included.
  • the decoder 1710 decodes the bitstream to reconstruct the block motion vector, the pixel-by-pixel motion vector, and the residual block of the current block.
  • the block and pixel-by-pixel motion compensator 1720 is configured to predict the current block using the reconstructed block motion vector and the pixel of the reference block generated by predicting the current block using the reconstructed pixel-by-pixel motion vector. Generate and output the prediction block using.
  • Inverse quantizer 1730 dequantizes the reconstructed residual block.
  • Inverse transformer 1740 inversely transforms the inverse quantized residual block.
  • the adder 1750 reconstructs the current block by adding the prediction block and the inverse transformed residual block.
  • FIG. 18 is a flowchart illustrating an image decoding method according to a fourth embodiment of the present invention.
  • the image decoding apparatus decodes the bitstream to restore a block motion vector, a pixel-specific motion vector, and a residual block of the current block (S1810), and uses the reconstructed block motion vector to recover the current block.
  • a prediction block is generated using pixels of the reference block generated by predicting the current block using the pixels of the predicted generated reference block and the reconstructed pixel-specific motion vector (S1820), and inversely quantized the reconstructed residual block (S1820);
  • the inverse quantized residual block is inversely transformed (S1840), and the current block is restored by adding the prediction block and the inversely transformed residual block (S1850).
  • the fourth embodiment of the present invention has been described in which a bitstream is generated by estimating a block motion vector and a motion vector for each pixel together and encoding all of them.
  • the number of motion vectors for each pixel increases, the amount of bits required to encode the pixel-by-pixel motion vectors increases, thereby reducing the compression efficiency.
  • a method of reducing the amount of bits required to encode a pixel-by-pixel motion vector while encoding using a pixel-by-pixel motion vector will be described in accordance with a fifth embodiment of the present invention.
  • FIG. 19 is a block diagram schematically illustrating a video encoding apparatus according to a fifth embodiment of the present invention.
  • the image encoding apparatus removes all components except for the block and pixel motion estimator 1510 among the components of the image encoding apparatus according to the fourth embodiment described above with reference to FIG. 15.
  • the apparatus further includes a block motion estimator 1910 and a pixel-by-pixel motion estimator 1920.
  • a block and pixel-specific motion compensator 1520, a subtractor 1530, a converter 1540, a quantizer 1550, an inverse quantizer 1570, an inverse converter 1580, an adder 1590, and a deblocking filter ( 1592 and the picture buffer 1594 perform the same or similar functions as described above with reference to FIG. 15, and thus a detailed description thereof will be omitted.
  • the block motion estimator 1510 estimates and outputs a block motion vector of the current block.
  • the estimated block motion vector is output to the pixel-by-pixel motion vector estimator 1920, the block and pixel-by-pixel motion compensator 1520, and the encoder 1930.
  • the pixel-by-pixel motion estimator 1520 estimates and outputs the pixel-by-pixel motion vector of the current block by using the block motion vector.
  • the estimated pixel-by-pixel motion vector is output to the block and pixel-by-pixel motion compensator 1520, and the block and pixel-by-pixel motion compensator 1530 uses the pixel and pixel-by-pixel motion vectors of the reference block predicted using the block motion vector.
  • a prediction block is generated and output using the pixels of the predicted reference block.
  • the encoder 1930 does not encode a motion vector for each pixel, but encodes a block motion vector output from the block motion estimator 1910 and a residual block quantized by the quantizer 1550 and outputs a bitstream.
  • FIG. 20 is a flowchart illustrating a video encoding method according to a fifth embodiment of the present invention.
  • the image encoding apparatus estimates a block motion vector of the current block (S2010), estimates a motion vector for each pixel of the current block using the block motion vector (S2020), and calculates a block motion vector.
  • a prediction block is generated using the pixels of the reference block predicted using the pixels of the reference block predicted by using the pixels and the motion vector for each pixel (S2030).
  • the apparatus for encoding an image generates a residual block obtained by subtracting a current block and a prediction block (S2040), transforms the residual block (S2050), and quantizes the transformed residual block (S2060), and then quantizes the residual block and the block.
  • the motion vector is encoded and a bitstream is output (S2070).
  • 21 is a block diagram schematically illustrating an image decoding apparatus according to a fifth embodiment of the present invention.
  • the image decoding apparatus not only includes all the components of the image decoding apparatus according to the fourth embodiment of the present invention described above with reference to FIG. 17, but also adds a motion estimation unit 2120 for each pixel. It includes.
  • the block and pixel-specific motion compensator 1720, the inverse quantizer 1730, the inverse converter 1740, the adder 1750, the deblocking filter 1760, and the picture buffer 1770 are the same as described above with reference to FIG. 17. Since the same or similar functions are performed, a detailed description thereof will be omitted.
  • the decoder 2110 decodes the bitstream to reconstruct the block motion vector and the residual block of the current block.
  • the reconstructed block motion vector is output to the pixel-by-pixel motion estimator 2120 and the block and pixel-by-pixel motion compensator 1720, and the reconstructed residual block is output to the inverse quantizer 1730.
  • the per-pixel motion estimator 2120 estimates and outputs the per-pixel motion vector of the current block by using the reconstructed block motion vector.
  • the estimated pixel-by-pixel motion vector is output to the block and pixel-by-pixel motion compensator 1720, and the block and pixel-by-pixel motion compensator 1720 uses the reconstructed block motion vector to predict the current block.
  • a prediction block is generated and output using pixels of a reference block generated by predicting a current block using a pixel and a motion vector for each estimated transform coefficient.
  • FIG. 22 is a flowchart for explaining a video decoding method according to a fifth embodiment of the present invention.
  • the image decoding apparatus decodes the bitstream to reconstruct the block motion vector and the residual block of the current block (S2210), and uses the reconstructed block motion vector to determine the motion vector for each pixel of the current block.
  • the pixel of the reference block generated by predicting the current block using the reconstructed block motion vector and the pixel of the reference block generated by predicting the current block using the estimated motion pixel for each pixel are predicted.
  • a block is generated (S2230).
  • the image decoding apparatus inversely quantizes the reconstructed residual block (S2240), inversely transforms the inverse quantized residual block (S2250), and then adds the prediction block and the inversely transformed residual block to restore the current block (S2260). ).
  • FIG. 23 is a block diagram schematically illustrating a video encoding apparatus according to a sixth embodiment of the present invention.
  • the image encoding apparatus not only includes all the components of the image encoding apparatus according to the fourth embodiment of the present invention described above with reference to FIG. 15, but also adds a motion estimation unit 2310 for each pixel. It includes.
  • the pixel-by-pixel motion estimator 2310 estimates the pixel-by-pixel motion vector of the current block by using the block and the motion vector estimated by the pixel-by-pixel motion estimator 1510, and is estimated by the block and pixel-by-pixel motion estimator 2310. Only the motion vectors different from the pixel-by-pixel motion vectors estimated using the block motion vectors in the pixel-by-pixel motion vectors are output. That is, although the pixel-by-pixel motion estimator 2310 estimates the pixel-by-pixel motion vector by the block and the pixel-by-pixel motion estimator 2310, the blocks estimated by the pixel-by-pixel motion estimator 2310 in one or more reference pictures are separately.
  • a block similar to the current block is found based on the motion vector, and a motion vector pointing to the block is estimated as a pixel-by-pixel motion vector.
  • the pixel-by-pixel motion estimator 2310 compares the pixel-by-pixel motion vectors estimated by the block and pixel-by-pixel motion estimator 1510 with the pixel-by-pixel motion vectors estimated using the block motion vectors, except for the same motion vectors. Only different motion vectors, i.e., different motion vectors, are output.
  • the encoder 2320 encodes the block motion vector estimated by the block and pixel-by-pixel motion estimator 1510 and other motion vectors estimated and compared by the pixel-by-pixel motion estimator 2310 together with the remaining blocks to encode the bitstream.
  • the video decoding apparatus to be described later may estimate the motion vector for each pixel using the block motion vector, and the estimated motion vector for each pixel is estimated. Since the motion vector for each transform coefficient estimated by the block and pixel-based motion estimator 1510 can be reconstructed using the other motion vectors reconstructed from the bitstream and the bitstream, only the motion vector different from the block motion vector is encoded. Through this, in order to inform the image decoding apparatus of the motion vector while encoding using a large number of pixel-specific motion vectors estimated by the block and pixel-by-pixel motion estimator 1510, the motion of each transform coefficient estimated by using the block motion vector. Since only information encoding a motion vector different from the vector needs to be transmitted, the bit amount of the bitstream can be further reduced, thereby improving compression efficiency.
  • FIG. 24 is a flowchart for explaining a video encoding method according to a sixth embodiment of the present invention.
  • the image encoding apparatus estimates the block motion vector and the pixel-by-pixel motion vector of the current block (S2410) and uses the block motion vector estimated in step S2410 to calculate the pixel-by-pixel motion vector of the current block. Estimating and extracting a motion vector different from the pixel-by-pixel motion vector estimated using the block motion vector from the pixel-by-pixel motion vector estimated in step S2410 (S2420), and a reference block predicted using the block motion vector estimated in step S2410. A prediction block is generated and output using the pixel of the reference block and the pixel of the reference block predicted using the pixel-by-pixel motion vector estimated in step S2410 (S2430).
  • the apparatus for encoding an image generates a residual block by subtracting a current block and a prediction block (S2440), transforms the residual block (S2450), quantizes the transformed residual block (S2460), and quantizes the residual block and block motion.
  • the vector and other motion vectors are encoded to output a bitstream (S2470).
  • 25 is a block diagram schematically illustrating an image decoding apparatus according to a sixth embodiment of the present invention.
  • the image decoding apparatus includes all the components of the image decoding apparatus according to the fifth embodiment of the present invention described above with reference to FIG. 21.
  • the inverse quantizer 1730, the inverse converter 1740, the adder 1750, the deblocking filter 1760, and the picture buffer 1770 perform the same or similar functions as described above with reference to FIG. Omit.
  • the decoder 2510 decodes the bitstream to reconstruct the block motion vector, the other motion vector, and the residual block of the current block.
  • the reconstructed block motion vector is output to the block and pixel-by-pixel motion compensator 2530 and the pixel-by-pixel motion estimator 2520, and the other reconstructed motion vectors are output to the block and pixel-by-pixel motion compensator 2530.
  • the residual block is output to inverse quantizer 1730.
  • the pixel-by-pixel motion estimator 2520 estimates and outputs the pixel-by-pixel motion vector of the current block by using the reconstructed block motion vector.
  • the pixel-specific motion vector output as described above is output to the block and pixel-specific motion compensator 2530.
  • the block and pixel-by-pixel motion compensator 2530 predicts the current block by using the pixels of the reference block generated by predicting the current block using the reconstructed block motion vector and other reconstructed motion vectors and the motion vectors for each transform coefficient.
  • the prediction block is generated and output using the pixels of the reference block.
  • 26 is a flowchart illustrating an image decoding method according to a sixth embodiment of the present invention.
  • the image decoding apparatus decodes the bitstream to reconstruct a block motion vector, another motion vector, and a residual block of the current block (S2610), and uses the current block motion vector reconstructed in step S2610.
  • the motion vector for each pixel of the block is estimated (S2620), and the pixels of the reference block generated by predicting the current block using the block motion vector reconstructed in step S2610 and other motion vectors reconstructed in step S2610 and estimated in step S2620.
  • a prediction block is generated using pixels of a reference block generated by predicting a current block using a motion vector for each transform coefficient (S2630).
  • the apparatus for decoding an image inversely quantizes the reconstructed residual block (S2640), inversely transforms the inverse quantized residual block (S2650), and adds the prediction block and the inversely transformed residual block to restore the current block (S2660). .
  • the reference block or the block is estimated by estimating and compensating the motion of the block to be encoded in the input image and the motion of each pixel or transform coefficient of the block.
  • the block is inter-predictively encoded to output the bitstream, thereby more accurately predicting the pixels in the block, thereby reducing the bit amount of the encoded bitstream, thereby improving the compression efficiency.
  • the present invention is applied to an image processing technology that encodes or decodes an image in block units, and predicts motion for each pixel or transform coefficient in a block, and then moves a block to be encoded by combining reference blocks or transform coefficients. It is a very useful invention to improve the encoding performance and to predict the compression performance more accurately.

Landscapes

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

Abstract

본 발명은 영상 부호화/복호화 장치 및 방법에 관한 것이다. 본 발명은 영상을 블록 단위로 부호화하는 장치에 있어서, 입력 영상에서 부호화하고자 하는 블록의 움직임 및 블록의 화소별 또는 변환 계수별 움직임을 추정하고 보상함으로써 블록을 인터 예측 부호화하여 비트스트림을 출력하는 것을 특징으로 하는 영상 부호화 장치를 제공한다. 본 발명에 의하면, 부호화하고자 하는 블록의 더욱 정확한 움직임 예측이 가능하고 잔여블록(변환계수)의 엔트로피 부호화 성능을 향상시키며 그에 따라 압축 성능 향상시킬 수 있다.

Description

영상 부호화/복호화 장치 및 방법
본 발명은 영상 부호화/복호화 장치 및 방법에 관한 것이다. 더욱 상세하게는, 영상을 인터 예측 부호화하는데 있어서 다수의 움직임 벡터를 사용하여 잔여블록(변환계수)의 부호화 성능을 향상시킴으로써 압축 성능을 향상시키는 장치 및 방법에 관한 것이다.
동영상 데이터는 데이터의 크기가 커서 저장하거나 전송하기 위해서는 압축하는 과정이 반드시 필요하다. 통상적으로 동영상 데이터를 부호화하는 경우, 동영상 데이터의 각 픽처를 블록 단위로 인트라 예측(Intra Prediction) 또는 인터 예측(Inter Predictiom), 변환(Transform), 양자화(Quantisation) 및 엔트로피 코딩(Entropy Coding) 등을 수행하여 부호화한다.
특히, 동영상에서 가장 많은 데이터 중복성을 가지는 시간적 중복성은 참조픽처(Reference Picture)의 데이터를 이용하여 움직임 추정(Motion Estimation)과 움직임 보상(Motion Compensation)을 수행한다. 이때, 추정된 움직임 벡터(MV: Motion Vector)에 의해서 보상된 예측 영상과 원 영상과의 차이만을 부호화함으로써 높은 데이터 압축률을 달성할 수 있다. 가장 최근에 제정된 H.264/AVC 표준에 따른 영상 부호화 장치는, 인터 예측 부호화 시에 더욱 높은 효율을 얻기 위해, 다양한 블록 크기, 1/4 화소 움직임 보정, 다중 참조 픽쳐, 일반화 양방향 예측, 적응식 루프 디블록킹 기술 등을 사용한다.
이러한 통상적인 인터 예측 부호화는 블록 단위로 예측과 부호화를 수행하는데, 압축 성능을 높이기 위해, 16x16 크기의 블록으로부터 4x4 크기의 블록에 이르기까지 다양한 크기의 블록에 대해서 움직임 벡터를 적용한다. 하지만, 하나의 블록 내에는 움직임이 다른 다양한 물체들이 함께 존재할 수 있다. 이 경우, 블록 단위의 움직임 벡터를 적용하는 경우 블록을 변환했을 때, 고주파 성분의 변환 계수(Transform Coefficient)들이 발생하게 되며, 이로 인해 가변 길이 부호화(VLC: Variable Length Coding) 시 충분한 압축 성능을 제공하지 못하는 문제점이 있다.
전술한 문제점을 해결하기 위해 본 발명은, 블록의 화소 또는 변환 계수별 움직임 벡터를 이용하여 참조블록을 조합 또는 블록의 변환계수를 조합하여 인터 예측 부호화를 수행함으로써 부호화하고자 하는 블록의 더욱 정확한 움직임 예측과 변환계수의 부호화 성능을 향상시키며 그에 따라 압축 성능 향상시키는 것을 주된 목적으로 한다.
전술한 목적을 달성하기 위해 본 발명은, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하여 출력하는 블록 및 변환 계수별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 현재 블록과 예측 블록을 감산한 잔여 블록을 출력하고 현재 블록과 참조 블록을 감산한 차이 블록을 출력하는 감산기; 잔여 블록 및 차이 블록을 변환하는 변환기; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화기; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합기; 및 결합 블록, 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터를 추정하여 출력하는 블록 움직임 추정기; 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고 출력하는 변환 계수별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 현재 블록과 예측 블록을 감산한 잔여 블록을 출력하고 현재 블록과 참조 블록을 감산한 차이 블록을 출력하는 감산기; 잔여 블록 및 차이 블록을 변환하는 변환기; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화기; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합기; 및 결합 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하여 출력하는 블록 및 변환 계수별 움직임 추정기; 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고, 블록 및 개별 움직임 추정기에 의해 추정된 변환 계수별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 다른 움직임 벡터를 출력하는 변환 계수별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 블록 및 개별 움직임 추정기에 의해 추정된 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 현재 블록과 예측 블록을 감산한 잔여 블록을 출력하고 현재 블록과 참조 블록을 감산한 차이 블록을 출력하는 감산기; 잔여 블록 및 차이 블록을 변환하는 변환기; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화기; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합기; 및 결합 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하는 블록 및 변환 계수별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 현재 블록과 예측 블록을 감산한 잔여 블록 및 현재 블록과 참조 블록을 감산한 차이 블록을 생성하는 감산 단계; 잔여 블록 및 차이 블록을 변환하는 변환 단계; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화 단계; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합 단계; 및 결합 블록, 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터를 추정하는 블록 움직임 추정 단계; 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하는 변환 계수별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하고 현재 블록과 참조 블록을 감산한 차이 블록을 생성하는 감산 단계; 잔여 블록 및 차이 블록을 변환하는 변환 단계; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화 단계; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합 단계; 및 결합 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하는 블록 및 변환 계수별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고, 블록 및 변환 계수별 움직임 추정기에 의해 추정된 변환 계수별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 다른 움직임 벡터를 추출하는 변환 계수별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 블록 및 개별 움직임 추정기에 의해 추정된 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 현재 블록과 예측 블록을 감산한 잔여 블록 및 현재 블록과 참조 블록을 감산한 차이 블록을 생성하는 감산 단계; 잔여 블록 및 차이 블록을 변환하는 변환 단계; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화 단계; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합 단계; 및 결합 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 출력하고 복원된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 복원된 결합 블록을 역 양자화하는 역 양자화기; 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정기; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환기; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 결합 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여 출력하는 변환 계수별 움직임 추정기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 출력하고 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 복원된 결합 블록을 역 양자화하는 역 양자화기; 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 추정된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정기; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환기; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 결합 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여 출력하는 변환 계수별 움직임 추정기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 출력하고 복원된 다른 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 복원된 결합 블록을 역 양자화하는 역 양자화기; 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 추정된 변환 계수별 움직임 벡터와 복원된 다른 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정기; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환기; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 복원된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 복원된 결합 블록을 역 양자화하는 역 양자화 단계; 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정 단계; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환 단계; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 결합 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하는 변환 계수별 움직임 추정 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 복원된 결합 블록을 역 양자화하는 역 양자화 단계; 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 추정된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정 단계; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환 단계; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 결합 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하는 변환 계수별 움직임 추정 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 복원된 다른 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 복원된 결합 블록을 역 양자화하는 역 양자화 단계; 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 추정된 변환 계수별 움직임 벡터와 복원된 다른 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정 단계; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환 단계; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하여 출력하는 블록 및 화소별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하여 출력하는 블록 및 화소별 움직임 보상기; 현재 블록과 예측 블록을 감산한 잔여 블록을 출력하는 감산기; 잔여 블록을 변환하는 변환기;상기 변환된 잔여 블록을 양자화하는 양자화기; 및 양자화된 잔여 블록, 블록 움직임 벡터 및 화소별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터를 추정하여 출력하는 블록 움직임 추정기; 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고 출력하는 화소별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기; 현재 블록과 예측 블록을 감산한 잔여 블록을 출력하는 감산기; 잔여 블록을 변환하는 변환기; 변환된 잔여 블록을 양자화하는 양자화기; 및 양자화된 잔여 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하여 출력하는 블록 및 화소별 움직임 추정기;상기 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고, 블록 및 화소별 움직임 추정기에 의해 추정된 화소별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정된 화소별 움직임 벡터와 다른 움직임 벡터를 출력하는 화소별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 블록 및 화소별 움직임 추정기에 의해 추정된 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기; 현재 블록과 예측 블록을 감산하여 잔여 블록을 출력하는 감산기; 잔여 블록을 변환하는 변환기; 변환된 잔여 블록을 양자화하는 양자화기; 및 양자화된 잔여 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하는 블록 및 화소별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계; 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하는 감산 단계; 잔여 블록을 변환하는 변환 단계; 변환된 잔여 블록을 양자화하는 양자화 단계; 양자화된 잔여 블록, 블록 움직임 벡터 화소별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터를 추정하는 블록 움직임 추정 단계; 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하는 화소별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계; 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하는 감산 단계;상기 잔여 블록을 변환하는 변환 단계; 변환된 잔여 블록을 양자화하는 양자화 단계; 및 양자화된 잔여 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하는 블록 및 화소별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고, 블록 및 화소별 움직임 추정기에 의해 추정된 화소별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정된 화소별 움직임 벡터와 다른 움직임 벡터를 추출하는 화소별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 블록 및 화소별 움직임 추정기에 의해 추정된 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상 단계; 현재 블록과 예측 블록을 감산하여 잔여 블록을 생성하는 감산 단계; 잔여 블록을 변환하는 변환 단계; 변환된 잔여 블록을 양자화하는 양자화 단계; 및 양자화된 잔여 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기; 복원된 잔여 블록을 역 양자화하는 역 양자화기; 역 양자화된 잔여 블록을 역 변환하는 역 변환기; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 잔여 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하여 출력하는 화소별 움직임 추정기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기; 복원된 잔여 블록을 역 양자화하는 역 양자화기; 역 양자화된 잔여 블록을 역 변환하는 역 변환기; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 잔여 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하여 출력하는 화소별 움직임 추정기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 다른 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기; 복원된 잔여 블록을 역 양자화하는 역 양자화기; 역 양자화된 잔여 블록을 역 변환하는 역 변환기; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계; 복원된 잔여 블록을 역 양자화하는 역 양자화 단계; 역 양자화된 잔여 블록을 역 변환하는 역 변환기 단계; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 잔여 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하는 화소별 움직임 추정 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 추정된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계; 복원된 잔여 블록을 역 양자화하는 역 양자화 단계; 역 양자화된 잔여 블록을 역 변환하는 역 변환 단계; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 잔여 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하는 화소별 움직임 추정 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 다른 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계; 복원된 잔여 블록을 역 양자화하는 역 양자화 단계; 역 양자화된 잔여 블록을 역 변환하는 역 변환 단계; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 블록 단위로 부호화하는 장치에 있어서, 입력 영상에서 부호화하고자 하는 블록의 움직임 및 블록의 화소별 또는 변환 계수별 움직임을 추정하고 보상하여 참조블록 또는 블록의 변환계수를 조합함으로써 블록을 인터 예측 부호화하여 비트스트림을 출력하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
이상에서 설명한 바와 같이 본 발명에 의하면, 부호화하고자 하는 블록의 움직임을 더욱 정확하게 예측하고 참조블록 또는 변환계수를 조합하여 변환계수의 엔트로피 부호화 성능을 향상시키며, 그에 따라 압축 성능을 향상시킬 수 있다.
도 1은 본 발명의 제 1 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 2는 본 발명의 실시예에 따라 결합 블록을 생성하는 과정을 설명하기 위한 예시도,
도 3은 본 발명의 실시예에 따라 계수를 보정하는 과정을 설명하기 위한 예시도,
도 4는 본 발명의 제 1 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 5는 본 발명의 제 1 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 6은 본 발명의 제 1 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,
도 7은 본 발명의 제 2 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 8은 본 발명의 제 2 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 9는 본 발명의 제 2 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 10은 본 발명의 제 2 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,
도 11은 본 발명의 제 3 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 12는 본 발명의 제 3 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 13은 본 발명의 제 3 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 14는 본 발명의 제 3 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,
도 15는 본 발명의 제 4 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 16은 본 발명의 제 4 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 17은 본 발명의 제 4 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 18은 본 발명의 제 4 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,
도 19는 본 발명의 제 5 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 20은 본 발명의 제 5 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 21은 본 발명의 제 5 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 22는 본 발명의 제 5 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,
도 23은 본 발명의 제 6 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 24는 본 발명의 제 6 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 25는 본 발명의 제 6 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 26은 본 발명의 제 6 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하에서 후술할 영상 부호화 장치와 영상 복호화 장치는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 후술할 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
또한, 후술할 영상 부호화 장치에는 인트라 예측을 수행하기 위한 기능이 구비되어 있지만, 본 발명의 실시예와 직접적인 관계가 없기 때문에, 혼란을 방지하기 위해 도면에서는 생략하였다.
통상적으로 동영상은 일련의 픽처(Picture)로 구성되어 있으며, 각 픽처들은 블록(Block)으로 분할된다. 각 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류된다.
인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화된 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다.
인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화된 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 송신하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 픽처를 참조 픽처(Reference Picture)라고 한다.
도 1은 본 발명의 제 1 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 1 실시예에 따른 영상 부호화 장치(Video Encoding Apparatus, 100)는 블록 및 변환 계수별 움직임 추정기(Block & Transform Coefficient Motion Estimator, 110), 블록 및 변환 계수별 움직임 보상기(Block & Transform Coefficient Motion Compensator, 112), 감산기(Subtracter, 120), 변환기(Transformer, 130), 양자화기(Quantizer, 140), 계수 결합기(Coefficient Coupler, 150), 부호화기(Encoder, 160), 역 양자화기(Inverse Quantizer, 170), 계수 보정기(Coefficient Corrector, 180), 역 변환기(Inverse Transformer, 190), 가산기(Adder, 192), 디블로킹 필터(Deblocking Filter, 194) 및 픽처 버퍼(Picture Buffer, 196)를 포함하여 구성될 수 있다. 여기서, 역 양자화기(170), 계수 보정기(180), 역 변환기(190), 가산기(192), 디블로킹 필터(194) 및 픽처 버퍼(196)는 영상 부호화 장치(100)에 반드시 포함되지 않을 수 있으며, 구현에 따라 일부 또는 전부가 선택적으로 포함될 수 있다.
블록 및 변환 계수별 움직임 추정기(110)는 현재 블록(Current Block)의 블록 움직임 벡터(Block Motion Vector) 및 변환 계수별 움직임 벡터(Transform Coefficient Motion Vector)를 추정하여 출력한다. 여기서, 현재 블록의 블록 움직임 벡터는 참조 픽처에서 현재 블록과 가장 유사한 블록을 가리키는 움직임 벡터를 말하며, 현재 블록의 변환 계수별 움직임 벡터란 해당 움직임 벡터로 움직임 보상하여 예측한 화소값과 현재 블록의 원 화소값과의 차이값을 변환하고 양자화한 변환 계수로 부호화했을 때 부호화 성능이 최대가 되는 움직임 벡터를 말한다. 또한, 블록 움직임 벡터는 현재 블록에 대해 하나의 움직임 벡터가 추정되지만, 변환 계수별 움직임 벡터는 현재 블록에 대해 복수 개의 움직임 벡터가 추정될 수 있는데, 현재 블록의 화소의 개수에 대응하는 변환 계수의 수만큼 또는 그 개수 이하의 움직임 벡터가 추정될 수 있다.
블록 및 변환 계수별 움직임 보상기(112)는 블록 움직임 벡터를 이용하여 예측되는 예측 블록(Predicted Block) 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록(Reference Block)을 출력한다. 즉, 블록 및 변환 계수별 움직임 보상기(112)는 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 블록 움직임 벡터와 변환 계수별 움직임 벡터를 이용하여 현재 블록의 움직임을 각각 보상하여 예측되는 예측 블록과 참조 블록을 출력한다. 블록 움직임 벡터는 한 개이고 변환 계수별 움직임 벡터는 복수 개가 될 수 있으므로, 예측 블록은 한 개의 블록이 생성되고, 참조 블록은 추정된 변환 계수별 움직임 벡터의 수만큼 생성될 수 있다.
감산기(120)는 현재 블록과 예측 블록을 감산한 잔여 블록(Residual Block)을 출력하고 현재 블록과 참조 블록을 감산한 차이 블록(Difference Block)을 출력한다. 여기서, 잔여 블록은 현재 블록의 원 화소값과 예측 블록의 예측 화소값의 차이인 잔여 신호(Redual Signal)를 포함하며, 차이 블록은 현재 블록의 원 화소값과 참조 블록의 예측 화소값의 차이인 잔여 신호를 포함한다.
변환기(130)는 잔여 블록 및 차이 블록을 변환한다. 여기서, 변환기(130)는 잔여 블록의 잔여 신호를 주파수 영역(Frequency Domain)으로 변환하고 차이 블록의 잔여 신호를 주파수 변환하는 데, 주파수 변환을 위해 이산 코사인 변환(DCT: Discrete Cosine Transform, 이하 'DCT'라 칭함) 기반 변환 또는 하다마드 변환(Hadamard Transform) 등을 이용할 수 있지만, 반드시 이에 한정되지 않고 DCT 변환을 개량 및 변형한 다양한 변환 기법을 이용할 수 있으며, 이를 이용하여 잔여 신호가 주파수 영역으로 변환되어 변환 계수(Transform Coefficient)로 변환된다.
양자화기(140)는 변환된 잔여 블록과 변환된 차이 블록을 양자화한다. 여기서, 양자화기(140)는 변환된 잔여 블록의 변환 계수와 변환된 차이 블록의 변환 계수를 양자화하는데, 양자화를 위해 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등을 이용할 수 있지만 이를 개량한 양자화 등 다양한 양자화 방법을 이용할 수 있다.
계수 결합기(150)는 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록(Coupling Block)을 생성한다. 여기서, 계수 결합기(150)는 비트스트림(Bitstream)의 비트량을 최소화하는 양자화 변환 계수를 선택하여 결합 블록을 생성할 수 있다. 즉, 계수 결합기(150)는 양자화된 잔여 블록의 양자화 변환 계수들과 양자화된 차이 블록의 양자화 변환 계수들 중에서 선택적으로 결합하여 결합 블록을 생성하고 부호화했을 때, 출력되는 비트스트림의 비트량이 최소가 되는 양자화 변환 계수들을 선택하여 결합 블록을 생성할 수 있다.
또한, 계수 결합기(150)는 양자화 변환 계수들을 선택하여 결합 블록을 생성하면, 움직임 벡터별로 선택된 양자화 변환 계수들의 위치에 대한 정보를 생성할 수 있으며, 생성된 정보는 부호화기(160)에서 부호화될 수 있다. 예를 들어, 결합 블록을 구성하는 양자화 변환 계수들이 A, B, C 세 개의 움직임 벡터에 해당하는 변환 계수들인 경우, 계수 결합기(150)는 A 움직임 벡터에 대한 양자화 변환 계수가 선택된 결합 블록의 위치, B 움직임 벡터에 대한 양자화 변환 계수가 선택된 결합 블록의 위치 및 C 움직임 벡터에 대한 양자화 변환 계수가 선택된 결합 블록의 위치를 생성할 수 있으며, 이와 같이 생성된 위치에 대한 정보들은 부호화기(160)에서 부호화될 수 있다.
부호화기(160)는 결합 블록, 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력한다. 즉, 부호화기(160)는 계수 결합기(150)에 의해 결합된 결합 블록의 양자화된 변환 계수들을 스캔하고 엔트로피 코딩(Entropy Coding) 등 다양한 부호화 기법을 이용하여 부호화함으로써 비트열을 생성하고, 블록 및 변환 계수별 움직임 추정기(110)로부터 출력되는 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트열을 생성함으로써 최종적인 비트스트림을 생성하여 출력한다. 또한, 전술한 바와 같이, 부호화기(160)는 계수 결합기(150)로부터 움직임 벡터별로 선택된 양자화 변환 계수들의 위치에 대한 정보가 전달되면 이를 부호화하여 비트스트림에 포함시킬 수 있다.
역 양자화기(170)는 양자화된 결합 블록을 역 양자화한다. 여기서, 역 양자화기(170)는 양자화기(140)에서 양자화한 방식의 역으로 수행함으로써 역 양자화(Inverse Quantization)를 수행한다.
*계수 보정기(180)는 예측 블록과 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 블록 움직임 벡터에 대한 변환 계수로 보정한다. 즉, 계수 보정기(180)는 역 양자화된 결합 블록의 변환 계수들은 블록 움직임 벡터로 예측되어 생성된 변환 계수들과 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수들을 포함하고 있으므로, 역 변환기(190)가 결합 블록을 역 변환할 수 있도록, 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 블록 움직임 벡터에 대한 변환 계수로 보정한다. 계수 보정기(180)가 변환 계수를 보정하는 과정에 대해서는 후술하는 과정에서 도 3을 통해 상세히 설명한다.
역 변환기(190)는 보정된 결합 블록을 역 변환하여 잔여 블록을 복원한다. 여기서, 역 변환기(190)는 변환기(130)에서 변환한 방식의 역으로 수행함으로써 역 변환(Inverse Transform)을 수행한다.
가산기(192)는 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한다. 여기서, 가산기(192)는 블록 및 변환 계수별 움직임 보상기(112)로부터 출력되는 예측 블록의 예측 화소값과 역 변환기(190)로부터 출력되는 잔여 블록의 복원된 잔여 신호를 가산하여 현재 블록의 원 화소값을 복원한다. 이때, 역 변환된 결합 블록에 포함된 복원된 잔차 신호는 계수 보정기(180)에 의해 블록 움직임 벡터에 대해 보정되어 있으므로, 블록 움직임 벡터를 이용하여 움직임을 보상한 예측 블록의 화소값과 가산하면 된다.
디블로킹 필터(194)는 가산기(192)로부터 출력되는 복원된 현재 블록을 디블로킹 필터링(Deblocking Filtering)하여 블록 왜곡(Block Distortion or Blockiness) 등을 제거하여 출력한다. 픽처 버퍼(196)는 디블로킹 필터(194)에 의해 블록 왜곡 등이 제거된 현재 블록을 저장하여 블록 및 변환 계수별 움직임 추정기(110) 및 블록 및 변환 계수별 움직임 보상기(112)에서 움직임 벡터를 추정하고 움직임 벡터를 이용하여 움직임을 보상할 때 참조할 참조 픽처 또는 참조 블록으로 이용할 수 있도록 한다.
도 2는 본 발명의 실시예에 따라 결합 블록을 생성하는 과정을 설명하기 위한 예시도이다.
도 2의 예시도를 참조하면, 블록 및 변환 계수별 움직임 추정기(110)는 하나 이상의 참조 픽처에서 현재 블록과 가장 유사한 블록을 찾아 블록 움직임 벡터로서 MV-block (-8, -8)를 찾을 수 있다. 이때, 블록 움직임 벡터인 MV-block (-8, -8)를 이용하여 움직임을 보상하여 현재 블록을 예측하고 현재 블록과 예측 블록을 감산하여 변환 및 양자화한 양자화된 잔여 블록의 변환 계수가 도시한 바와 같이, CMV-block(00~33)인 경우, 고주파 성분의 변환 계수(특히, C11, C13 내지 C30)가 '0'이 아니거나 큰 계수값이 존재하므로, 부호화하여 출력되는 비트스트림의 비트량이 커질 수 있다.
비트스트림의 비트량을 줄이기 위해, 블록 및 변환 계수별 움직임 추정기(110)는 하나 이상의 참조 픽처에서 현재 블록과 유사한 다른 블록을 찾아 변환 계수별 움직임 벡터로서 MV1(-7.5, -8.5)와 MV2(-7.25, -8.25)를 찾을 수 있다. 변환 계수별 움직임 벡터를 찾을 때, 블록 움직임 벡터의 정밀도(Precision)와 동일하거나 다른 정밀도를 사용하여 움직임 벡터를 찾을 수 있다. 예를 들어, 블록 움직임 벡터는 정수 화소 단위의 움직임 벡터만을 사용하도록 하고, 변환 계수별 움직임 벡터는 정수 화소 이하의 단위(1/2 화소 또는 1/4 화소)의 정밀도를 가지는 움직임 벡터를 사용할 수 있다. 이 경우, 변환 계수별로 다른 정밀도를 가지는 움직임 벡터를 적용하는 것과 같다. 그리고 같은 정밀도(예를 들어, 1/4 화소)를 가지는 하나 이상의 움직임 벡터들을 사용할 수 있으며, 복수 개의 움직임 벡터에 따라 부호화 할 수 있는 변환 계수들의 개수도 사용자가 임의로 결정할 수 있다.
변환 계수별 움직임 벡터인 MV1과 MV2를 이용하여 움직임을 보상하여 현재 블록을 예측하고 현재 블록과 예측 블록을 감산하여 변환 및 양자화한 양자화된 잔여 블록의 변환 계수가 도시한 바와 같이 CMV1(00~33)과 CMV2(00~33)인 경우, 각 양자화된 잔여 블록의 변환 계수의 고주파 성분이 전반적으로 '0'이거나 작은 계수값을 가지지는 않지만, 고주파 성분의 몇몇 변환 계수들이 '0'이거나 작은 계수값을 가질 수 있다.
따라서, 계수 결합기(150)는 CMV-block(00~33)에서 고주파 성분의 변환 계수 중 큰 계수값을 가지는 변환 계수들을 제외한 나머지 변환 계수들을 선택하고, 제외된 변환 계수들은 CMV1(00~33)과 CMV2(00~33)의 변환 계수들 중 적절한 것을 선택하고 결합하여 결합 블록을 생성한다. 이와 같이 생성된 결합 블록의 변환 계수들은 C(00~33)로 생성될 수 있다. 도시한 바와 같이, 최종적으로 생성된 결합 블록의 변환 계수들은 고주파 성분에서 '0'이거나 작은 계수값을 가지므로 부호화 성능을 높일 수 있으며, 그에 따라 비트스트림의 비트량을 최소화할 수 있다.
도 3은 본 발명의 실시예에 따라 계수를 보정하는 과정을 설명하기 위한 예시도이다.
역 양자화된 결합 블록의 변환 계수들은 블록 움직임 벡터로 예측되어 생성된 변환 계수들과 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수들을 포함하고 있으므로, 역 변환기(190)가 결합 블록을 역 변환할 수 있도록, 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 블록 움직임 벡터에 대한 변환 계수로 보정해야 한다.
변환 계수의 보정은 수학식 1을 이용하여 이루어질 수 있다.
수학식 1
Figure PCTKR2010001040-appb-M000001
여기서, CoeffMV-bock(j, i)은 블록 움직임 벡터에 의해 움직임 보상되어 생성된 변환 계수를 말하며, Coeff(j, i)는 변환 계수별 움직임 벡터에 의해 움직임 보상되어 생성된 변환 계수를 말하면, T[Diff](j, i)는 블록 움직임 벡터가 가리키는 예측 블록과 변환 계수별 움직임 벡터가 가리키는 참조 블록 간의 차이 블록을 변환한 블록의 계수를 말한다.
수학식 1을 통해 T[Diff](j,i)를 알면 Coeff(j, i)를 CoeffMV-bock(j, i)로 보정할 수 있다는 것을 알 수 있다. 또한, T[Diff](j, i)는 예측 블록과 변환 참조 블록 간의 차이 블록을 변환한 블록이기 때문에, 결국 블록 및 변환 계수별 움직임 보상기(112)로부터 출력되는 예측 블록과 참조 블록을 이용하면 변환 계수별 움직임 벡터에 의해 움직임 보상되어 생성된 변환 계수를 블록 움직임 벡터에 의해 움직임 보상되어 생성된 변환 계수로 보정할 수 있다.
수학식 1은 아래와 같은 수학식 2 내지 수학식 4를 통해 도출될 수 있다. 아래의 수학식 2 내지 수학식 4는 결합 블록이 도 2를 통해 예를 들어 전술한 바와 같이 생성된 경우에 대한 수학식으로서 그 예에 따라 달라질 수 있다.
차이 블록은 예측 블록과 참조 블록의 차이이므로, 수학식 2와 같이 나타낼 수 있다.
수학식 2
Figure PCTKR2010001040-appb-M000002
수학식 2의 양변을 변환하면, 수학식 3과 같이 나타낼 수 있다.
수학식 3
Figure PCTKR2010001040-appb-M000003
수학식 3을 블록 움직임 벡터(MV-block)의 변환 계수에 대해 정리하면 수학식 4과 같이 나타낼 수 있다.
수학식 4
Figure PCTKR2010001040-appb-M000004
수학식 4를 변환 계수별 움직임 벡터에 대해 일반화시키면 수학식 1을 도출할 수 있다.
도 3에서는 계수 보정기(180)가 수학식 1을 통해 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 블록 움직임 벡터에 대한 변환 계수로 보정하는 과정을 예시적으로 나타내었다.
결합 블록이 도 2를 통해 예를 들어 설명한 바와 같이, 블록 움직임 벡터 MV-Block과 변환 계수별 움직임 벡터 MV1, MV2로 움직임 보상되고 변환 및 양자화된 변환 계수들이 선택적으로 결합된 블록이라면, 계수 보정기(180)는 블록 및 변환 계수별 움직임 보상기(112)로부터 블록 움직임 벡터(MVblock)가 가리키는 예측 블록(RefMV-lock)과 변환 계수별 움직임 벡터(MV1, MV2)가 가리키는 참조 블록(RefMV1, RefMV2)을 얻는다. 이후, 계수 보정기(180)는 변환 계수의 보정값을 얻기 위해 예측 블록과 참조 블록 간의 차이 블록(Diff1, Diff2)을 구하고 차이 블록(Diff1, Diff2)을 변환한 후, 각각 MV1에 해당하는 변환 계수 CoeffMV1와 MV2에 해당하는 변환 계수 CoeffMV2와 가산함으로써, 각 움직임 벡터에 해당하는 변환 계수 CoeffMV1, CoeffMV2를 블록 움직임 벡터에 해당하는 계수 CoeffMV-block으로 보정한다.
예를 들어, 도 3에서 역 양자화기(170)로부터 입력되는 변환 계수 C(00~33) 중 MV1에 해당하는 위치((1,1), (2,3))의 변환 계수(C(1,1), C(2,3))와 Diff1 블록을 변환한 블록의 MV1에 해당하는 위치((1,1), (2,3))의 변환 계수를 더한다(여기서, (Diff1(j, i)= RefMV1(j, i) - RefMV-block(j, i)임). 같은 방법으로 입력되는 변환 계수 C(00~33) 중 MV2에 해당하는 위치((0,2), (1,3), (2,0), (2, 1), (2, 2), (3,0)) 변환 계수(C(0,2), C(1,3), C(2,0), C(2,1), C(2,2), C(3,0))와 Diff2 블록을 변환한 블록의 MV1에 해당하는 위치((0,2), (1,3), (2,0), (2, 1), (2, 2), (3,0))의 계수를 더한다(여기서, (Diff2(j, i) = RefMV2(j, i) - RefMV-block(j, i)임).
이때, 계수 보정기(180)는 각 움직임 벡터에 해당하는 변환 계수의 위치에 대한 정보를 계수 결합기(150)로부터 전달받아 역 양자화기(170)에 의해 역 양자화된 결합 블록에서 각 움직임 벡터에 해당하는 변환 계수를 분리할 수 있다. 즉, 계수 보정기(180)는 계수 결합기(150)로부터 MV1에 해당하는 변환 계수의 위치는 (1,1), (2,3)이고 MV2에 해당하는 변환 계수의 위치는 (0,2), (1,3), (2,0), (2, 1), (2, 2), (3,0)임을 나타내는 정보를 전달받아, 역 양자화기(170)로부터 입력되는 변환 계수 C(00~33) 중 전달된 정보에 의해 식별되는 위치에 따라 MV1에 해당하는 변환 계수 CoeffMV1와 MV2에 해당하는 변환 계수 CoeffMV2를 분리할 수 있다.
이와 같이, 계수 보정기(180)에 의해 보정된 변환 계수의 보정값은 역 양자화기(170)에 의해 역 양자화된 블록 움직임 벡터(MV-block)에 해당하는 변환 계수에 해당하는 변환 계수와 더하여 보정된 잔여 블록을 생성하고, 보정된 잔여 블록은 역 변환기(190)에 의해 역 변환되어 가산기(192)에 의해 블록 움직임 벡터(MV-block)로 움직임 보상되어 생성되는 예측 블록과 가산되어 현재 블록이 복원된다.
도 4는 본 발명의 제 1 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
영상 부호화 장치는 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하고(S410), 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성하여(S420), 현재 블록과 예측 블록을 감산한 잔여 블록 및 현재 블록과 참조 블록을 감산한 차이 블록을 생성하고(S430), 잔여 블록 및 차이 블록을 변환하고(S440), 변환된 잔여 블록과 변환된 차이 블록을 양자화한다(S450).
또한, 영상 부호화 장치는 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하고(S460), 결합 블록, 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력한다(S470).
도 5는 본 발명의 제 1 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 1 실시예에 따른 영상 복호화 장치는 복호화기(Decoder, 510), 블록 및 변환 계수별 움직임 보상기(520), 역 양자화기(530), 계수 보정기(540), 역 변환기(550), 가산기(560), 디블로킹 필터(570) 및 픽처 버퍼(580)를 포함하여 구성될 수 있다. 여기서, 디블로킹 필터(570) 및 픽처 버퍼(580)는 영상 부호화 장치(100)에 반드시 포함되지 않을 수 있으며, 구현에 따라 일부 또는 전부가 선택적으로 포함될 수 있다.
복호화기(510)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원한다. 여기서, 복호화기(510)는 비트스트림을 복호화할 때, 영상 부호화 장치의 부호화기(160)에서 부호화한 부호화 기법과 동일 또는 유사하거나 그 역을 수행함으로써 복호화할 수 있다. 또한, 복호화기(510)는 비트스트림에 움직임 벡터별 양자화 변환 계수의 위치에 대한 정보가 포함된 경우, 이를 복호화하여 계수 보정기(540)로 전달할 수 있다.
블록 및 변환 계수별 움직임 보상기(520)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 출력하고 복원된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력한다. 즉, 블록 및 변환 계수별 움직임 보상기(520)는 복호화기(510)에 의해 복원된 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측함으로써 예측 블록과 참조 블록을 출력한다.
역 양자화기(530)는 복원된 결합 블록을 역 양자화한다. 즉, 역 양자화기(530)는 복호화기(510)에 의해 복원된 결합 블록의 양자화된 변환 계수를 역 양자화한다. 여기서, 역 양자화기(530)는 영상 부호화 장치의 역 양자화기(170)와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
계수 보정기(540)는 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정한다. 즉, 계수 보정기(540)는 역 양자화기(530)로부터 출력된 결합 블록의 변환 계수들을 블록 움직임 벡터에 대해 변환 계수로 통일시킨다. 여기서, 계수 보정기(540)는 영상 부호화 장치의 계수 보정기(180)에서 변환 계수를 보정하는 것과 동일 또는 유사한 과정을 통해 변환 계수를 보정하므로 상세한 설명은 생략한다.
여기서, 계수 보정기(540)는 계수를 보정하기 위해 역 양자화된 결합 블록에서 각 움직임 벡터에 해당하는 변환 계수를 분리해야 하는데, 계수를 분리하기 위해 비트스트림에 포함된 정보를 이용하거나 계수 보정기(540)가 스스로 각 움직임 벡터에 해당하는 변환 계수를 탐색하는 등 다양한 방식으로 각 움직임 벡터에 해당하는 변환 계수의 위치를 파악하여 분리할 수 있다. 예를 들어, 계수 보정기(540)는 비트스트림에 포함된 각 움직임 벡터에 해당하는 변환 계수에 대한 정보를 이용할 수 있는데, 이 정보를 이용하여 각 움직임 벡터별 변환 계수를 식별하여 각 움직임 벡터에 해당하는 변환 계수를 분리할 수 있다.
역 변환기(550)는 보정된 결합 블록을 역 변환하여 잔여 블록을 복원한다. 즉, 역 변환기(550)는 계수 보정기(540)에 의해 블록 움직임 벡터에 대해 통일된 변환 계수들을 역 변환하여 잔여 신호를 복원함으로써 잔여 블록을 복원한다. 여기서, 역 변환기(550)는 영상 부호화 장치의 역 변환기(190)와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
가산기(560)는 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한다. 디블로킹 필터(570)와 픽처 버퍼(580)는 영상 부호화 장치의 디블로킹 필터(194) 및 픽처 버퍼(196)과 동일 또는 유사한 기능을 수행함으로 상세한 설명은 생략한다.
도 6은 본 발명의 제 1 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
비트스트림이 입력되거나 저장된 비트스트림의 복호화 명령이 입력되면, 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원하고(S610), 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 복원된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 생성한다(S620).
또한, 영상 복호화 장치는 복원된 결합 블록을 역 양자화하고(S630), 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하며(S640), 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하며(S650), 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한다(S660).
이상에서는 본 발명의 제 1 실시예를 통해 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 함께 추정하고 모두 부호화하여 비트스트림을 생성하는 것에 대해 설명했다. 이 경우, 변환 계수별 움직임 벡터의 개수가 많아지면, 변환 계수별 움직임 벡터를 부호화하는 데 소요되는 비트량이 증가하여 압축 효율이 저하될 수 있다. 이하에서는 본 발명의 제 2 실시예를 통해 변환 계수별 움직임 벡터를 이용하여 부호화하면서도 변환 계수별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있는 방식에 대해 설명한다.
도 7은 본 발명의 제 2 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 2 실시예에 따른 영상 부호화 장치는 도 1을 통해 전술한 본 발명의 제 1 실시예에 따른 영상 부호화 장치의 구성 요소 중 블록 및 변환 계수별 움직임 추정기(110)를 제외한 모든 구성 요소를 포함하며, 블록 움직임 추정기(710) 및 변환 계수별 움직임 추정기(720)를 추가로 포함한다. 여기서, 블록 및 변환 계수별 움직임 보상기(112), 감산기(120), 변환기(130), 양자화기(140), 계수 결합기(150), 역 양자화기(170), 계수 보정기(180), 역 변환기(190), 가산기(192), 디블로킹 필터(194) 및 픽처 버퍼(196)는 도 1을 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
블록 움직임 추정기(710)는 현재 블록의 블록 움직임 벡터를 추정한다. 즉, 블록 움직임 추정기(710)는 하나 이상의 참조 픽처에서 현재 블록과 가장 유사한 블록을 찾아 그를 가리키는 움직임 벡터를 블록 움직임 벡터로서 추정한다.
변환 계수별 움직임 추정기(720)는 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고 출력한다. 즉, 변환 계수별 움직임 추정기(720)는 하나 이상의 참조 픽처에서 블록 움직임 추정기(710)로부터 출력되는 블록 움직임 벡터를 중심으로 현재 블록과 유사한 다른 블록들을 찾아 그 다른 블록들을 가리키는 움직임 벡터를 변환 계수별 움직임 벡터로서 추정한다.
즉, 본 발명의 제 1 실시예에서는 블록 및 변환 계수별 움직임 추정기(110)가 블록 움직임 벡터와 변환 계수별 움직임 벡터를 상호 간에 독립적으로 추정하였지만, 본 발명의 제 2 실시예에서는 블록 움직임 추정기(710)는 블록 움직임 벡터만을 추정하고, 변환 계수별 움직임 추정기(720)는 블록 움직임 벡터를 중심으로 일정한 영역에서 변환 계수별 움직임 벡터를 추정한다. 따라서, 변환 계수별 움직임 추정기(720)에 의해 추정되는 변환 계수별 움직임 벡터의 개수는 블록 움직임 벡터를 중심으로 추정되기 때문에, 본 발명의 제 1 실시예에 따른 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 변환 계수별 움직임 벡터의 개수보다 같거나 작을 수 있다.
블록 움직임 추정기(710)에서 추정된 블록 움직임 벡터와 변환 계수별 움직임 벡터 추정기(720)에서 추정된 변환 계수별 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(112)로 출력되어 움직임 보상에 이용된다.
또한, 본 발명의 제 2 실시예에 따른 부호화기(730)는 제 1 실시예에 따른 부호화기(160)와는 달리, 블록 움직임 벡터와 변환 계수별 움직임 벡터를 모두 부호화하는 것이 아니라, 블록 움직임 추정기(710)로부터 출력되는 블록 움직임 벡터만을 부호화한다. 따라서, 본 발명의 제 2 실시예에 따른 부호화기(730)는 블록 움직임 벡터와 결합 블록을 부호화하여 비트스트림을 생성하고 출력한다.
즉, 부호화기(730)에서 변환 계수별 움직임 벡터를 제외하여 블록 움직임 벡터와 결합 블록만을 부호화하더라도 후술할 영상 복호화 장치에서 블록 움직임 벡터를 이용하여 변환 계수별 움직임 벡터를 추정할 수 있으므로, 블록 움직임 벡터만을 부호화하는 것이다. 부호화기(730)가 변환 계수별 움직임 벡터를 부호화하지 않아도 되므로, 본 발명의 제 2 실시예에 따라 부호화되어 최종적으로 출력되는 비트스트림의 비트량은 크게 줄어 들 수 있다.
도 8은 본 발명의 제 2 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
영상 부호화 장치는 현재 블록의 블록 움직임 벡터를 추정하고(S810), 추정된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여(S820), 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성한다(S830).
또한, 영상 부호화 장치는 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하고 현재 블록과 참조 블록을 감산한 차이 블록을 생성하여(S840), 잔여 블록 및 차이 블록을 변환하고(S850), 변환된 잔여 블록과 변환된 차이 블록을 양자화하며(S860), 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하며(S870), 결합 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력한다(S880).
도 9는 본 발명의 제 2 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 2 실시예에 따른 영상 복호화 장치(900)는 도 5를 통해 전술한 도 1을 통해 전술한 본 발명의 제 1 실시예에 따른 영상 복호화 장치의 모든 구성 요소를 포함할 뿐만 아니라, 변환 계수별 움직임 추정기(920)를 추가로 포함한다. 여기서, 블록 및 변환 계수별 움직임 보상기(520), 역 양자화기(530), 계수 보정기(540), 역 변환기(550), 가산기(560), 디블로킹 필터(570) 및 픽처 버퍼(580)는 도 5를 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
복호화기(910)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 결합 블록을 복원한다. 즉, 본 발명의 제 2 실시예에 따른 비트스트림에는 부호화된 결합 블록과 부호화된 블록 움직임 벡터만을 포함하고 있으므로, 복호화기(910)는 비트스트림을 복호화하여 블록 움직임 벡터와 결합 블록을 복원한다.
복호화기(910)에서 복원된 블록 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)뿐만 아니라 변환 계수별 움직임 추정기(920)로 입력되고, 변환 계수별 움직임 추정기(920)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여 출력한다. 즉, 변환 계수별 움직임 추정기(920)는 도 7을 통해 전술한 변환 계수별 움직임 추정기(720)와 동일한 방식으로 복원된 블록 움직임 벡터를 중심으로 변환 계수별 움직임 벡터를 추정한다.
이와 같이, 추정된 변환 계수별 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)로 입력되고, 블록 및 변환 계수별 움직임 보상기(520)는 복원된 블록 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록과 참조 블록을 생성한다.
도 10은 본 발명의 제 2 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 제 2 실시예에 따른 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 결합 블록을 복원하고(S1010), 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하며(S1020), 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 생성한다(S1030).
또한, 영상 복호화 장치는 복원된 결합 블록을 역 양자화하고(S1040), 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 추정된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하며(S1050), 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하며(S1060), 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한다(S1070).
이상에서는 도 7 내지 도 10을 통해, 본 발명의 제 1 실시예에 따라 블록 움직임 벡터를 추정하고, 블록 움직임 벡터를 이용하여 변환 계수별 움직임 벡터를 추정한 후, 블록 움직임 벡터를 부호화하여 비트스트림을 생성하는 것에 대해 설명했다. 이 경우, 변환 계수별 움직임 벡터를 이용하여 부호화하면서도 변환 계수별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있지만, 변환 계수별 움직임 벡터가 블록 움직임 벡터를 중심으로 추정되기 때문에, 추정되는 변환 계수별 움직임 벡터의 개수가 적어져서 변환 계수별로 더욱 많은 개수의 움직임 벡터를 찾을 수가 없어서, 생성되는 결합 블록을 부호화하는 효율이 저할될 가능성이 있다. 이하에서는 본 발명의 제 3 실시예를 통해 변환 계수별 움직임 벡터를 블록 움직임 벡터와 독립적으로 추정하여 많은 개수의 변환 계수별 움직임 벡터를 이용하여 부호화하면서도 변환 계수별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있는 방식에 대해 설명한다.
도 11은 본 발명의 제 3 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 3 실시예에 따른 영상 부호화 장치는 도 1을 통해 전술한 본 발명의 제 1 실시예에 따른 영상 부호화 장치의 모든 구성 요소를 포함할 뿐만 아니라, 변환 계수별 움직임 추정기(1110)를 추가로 포함한다. 여기서, 블록 및 변환 계수별 움직임 추정기(110), 블록 및 변환 계수별 움직임 보상기(112), 감산기(120), 변환기(130), 양자화기(140), 계수 결합기(150), 역 양자화기(170), 계수 보정기(180), 역 변환기(190), 가산기(192), 디블로킹 필터(194) 및 픽처 버퍼(196)는 도 1을 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
변환 계수별 움직임 추정기(1110)는 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고, 블록 및 개별 움직임 추정기에 의해 추정된 변환 계수별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와는 다른 움직임 벡터만을 출력한다. 즉, 변환 계수별 움직임 추정기(1110)는 블록 및 변환 계수별 움직임 추정기(110)에서 변환 계수별 움직임 벡터를 추정하였지만, 그와는 별개로 하나 이상의 참조 픽처에서 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 블록 움직임 벡터를 중심으로 현재 블록과 유사한 블록을 찾아 그 블록을 가리키는 움직임 벡터를 변환 계수별 움직임 벡터로서 추정한다. 또한, 변환 계수별 움직임 추정기(1110)는 블록 및 변환 계수별 움직임 추정기(110)에서 추정된 변환 계수별 움직임 벡터와 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터를 비교하여 서로 동일한 움직임 벡터들은 제외하고 서로 상이한 움직임 벡터들 즉, 다른 움직임 벡터만을 출력한다.
이후, 블록 및 변환 계수별 움직임 보상기(112)에서 예측 블록과 참조 블록을 생성할 때에는 블록 및 변환 계수별 움직임 추정기(110)에서 추정한 블록 움직임 벡터와 변환 계수별 움직임 벡터를 이용하여 보상하지만, 부호화기(1120)는 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 블록 움직임 벡터와 변환 계수별 움직임 추정기(1110)에 의해 추정되고 비교되어 출력된 다른 움직임 벡터를 결합 블록과 함께 부호화하여 비트스트림을 출력한다.
즉, 부호화기(1120)에서 블록 움직임 벡터와 다른 움직임 벡터를 결합 블록과 함께 부호화하더라도, 후술할 영상 복호화 장치에서 블록 움직임 벡터를 이용하여 변환 계수별 움직임 벡터를 추정할 수 있고 그 추정된 변환 계수별 움직임 벡터와 비트스트림으로부터 복원되는 다른 움직임 벡터를 이용하여 블록 및 변환 계수별 움직임 추정기(110)에서 추정한 변환 계수별 움직임 벡터를 모두 복원할 수 있으므로, 블록 움직임 벡터와 다른 움직임 벡터만을 부호화하는 것이다. 이를 통해, 블록 및 변환 계수별 움직임 추정기(110)에서 추정된 많은 개수의 변환 계수별 움직임 벡터를 이용하여 부호화하면서도 해당 움직임 벡터를 영상 복호화 장치에게 알리기 위해서, 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 상이한 움직임 벡터를 부호화한 정보만을 전송하면 되므로, 비트스트림의 비트량을 더욱 줄일 수 있어 압축 효율을 향상시킬 수 있다.
도 12는 본 발명의 제 3 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
본 발명의 제 3 실시예에 따른 영상 부호화 장치는 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하고(S1210), 단계 S1210에서 추정된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고, 단계 S1210에서 추정된 변환 계수별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 다른 움직임 벡터를 추출하며(S1220), 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 단계 S1210에서 추정된 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성한다(S1230).
또한, 영상 부호화 장치는 현재 블록과 예측 블록을 감산한 잔여 블록 및 현재 블록과 참조 블록을 감산한 차이 블록을 생성하고(S1240), 잔여 블록 및 차이 블록을 변환하며(S1250), 변환된 잔여 블록과 변환된 차이 블록을 양자화하며(S1260), 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하며(S1270), 결합 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력한다(S1280).
도 13은 본 발명의 제 3 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 3 실시예에 따른 영상 복호화 장치는 도 9를 통해 전술한 본 발명의 제 2 실시예에 따른 영상 복호화 장치의 모든 구성 요소를 포함한다. 여기서, 블록 및 변환 계수별 움직임 보상기(520), 역 양자화기(530), 계수 보정기(540), 역 변환기(550), 가산기(560), 디블로킹 필터(570) 및 픽처 버퍼(580)는 도 5를 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
복호화기(1310)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 결합 블록을 복원한다. 여기서, 복원된 결합 블록은 역 양자화기(530)로 출력되고, 복원된 블록 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)와 변환 계수별 움직임 추정기(1320)로 출력되며, 복원된 다른 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)로 출력된다.
변환 계수별 움직임 추정기(1320)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여 출력한다.
블록 및 변환 계수별 움직임 보상기(1330)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 출력하고 복호화기(1310)에의해 복원된 다른 움직임 벡터와 변환 계수별 움직임 추정기(1320)에 의해 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력한다.
도 14는 본 발명의 제 3 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 제 3 실시예에 따른 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 결합 블록을 복원하고(S1410), 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하며(S1420), 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 단계 S1410에서 복원된 다른 움직임 벡터와 단계 S1420에서 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 생성한다(S1430).
또한, 영상 복호화 장치는 복원된 결합 블록을 역 양자화하고(S1440), 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 단계 S1420에서 추정된 변환 계수별 움직임 벡터와 단계 S1410에서 복원된 다른 움직임 벡터로 예측되어 생성된 변환 계수를 단계 S1410에서 복원된 블록 움직임 벡터에 대한 변환 계수로 보정한다(S1450).
또한, 영상 복호화 장치는 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하고(S1460), 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한다(S1470).
이상에서는 도 1 내지 도 14를 통해 블록 움직임 벡터뿐만 아니라 변환 계수별 움직임 벡터를 이용하여 부호화하는 방식에 대해 설명하였다. 이하에서는 본 발명의 제 4 실시예 내지 제 6 실시예를 통해, 변환 계수별 움직임 벡터가 아니라 화소별 움직임 벡터를 이용하여 부호화하는 방식에 대해 설명한다.
도 15는 본 발명의 제 4 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 4 실시예에 따른 영상 부호화 장치는 블록 및 화소별 움직임 추정기(Block & Pixel Motion Estimator, 1510), 블록 및 화소별 움직임 보상기(Block & Pixel Motion Compensator, 1520), 감산기(1530), 변환기(1540), 양자화기(1550), 부호화기(1560), 역 양자화기(1570), 역 변환기(1580), 가산기(1590), 디블로킹 필터(1592) 및 픽처 버퍼(1594)를 포함하여 구성될 수 있다.
블록 및 화소별 움직임 추정기(1510)는 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정한다. 즉, 블록 및 화소별 움직임 추정기(1510)는 하나 이상의 참조 픽처에서 현재 블록과 가장 유사한 블록을 찾아 그를 가리키는 움직임 벡터를 블록 움직임 벡터로서 추정하고, 하나 이상의 참조 픽처에서 현재 블록 내의 각 화소별로 가장 유사한 블록을 찾아 그를 가리키는 움직임 벡터를 화소별 움직임 벡터로서 추정한다.
여기서, 현재 블록의 블록 움직임 벡터는 참조 픽처에서 현재 블록과 가장 유사한 블록을 가리키는 움직임 벡터를 말하며, 현재 블록의 화소별 움직임 벡터란 해당 움직임 벡터로 움직임 보상하여 예측한 화소값과 현재 블록의 원 화소값과의 차이값을 변환하고 양자화한 변환 계수로 부호화했을 때 부호화 성능이 최대가 되는 움직임 벡터를 말한다. 또한, 블록 움직임 벡터는 현재 블록에 대해 하나의 움직임 벡터가 추정되지만, 화소별 움직임 벡터는 현재 블록에 대해 복수 개의 움직임 벡터가 추정될 수 있는데, 현재 블록의 화소의 개수만큼 또는 그 개수 이하의 움직임 벡터가 추정될 수 있다.
블록 및 화소별 움직임 보상기(1520)는 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하여 출력한다. 여기서, 블록 및 화소별 움직임 보상기(1520)는 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 중에서 비트스트림의 비트량을 최소화하는 화소를 선택적으로 결합하여 예측 블록을 생성할 수 있다. 즉, 블록 및 화소별 움직임 보상기(1520)는 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 중에서 선택적으로 결합하여 예측 블록을 생성하고 변환 및 양자화한 후 부호화했을 때 최종적인 비트스트림의 비트량이 최소화될 수 있는 화소들을 선택하여 예측 블록을 생성할 수 있다.
감산기(1530)는 현재 블록과 예측 블록을 감산한 잔여 블록을 출력한다. 변환기(1540)는 잔여 블록을 변환한다. 양자화기(1550)는 변환된 잔여 블록을 양자화한다. 부호화기(1560)는 양자화된 잔여 블록, 블록 움직임 벡터 및 화소별 움직임 벡터를 부호화하여 비트스트림을 출력한다. 역 양자화기(1570)는 양자화된 잔여 블록을 역 양자화한다. 역 변환기(1580)는 역 양자화된 잔여 블록을 역 변환한다. 가산기(1590)는 역 변환된 잔여 블록과 블록 및 화소별 움직임 보상기(1520)로부터 출력된 예측 블록을 가산하여 현재 블록을 복원한다. 변환, 양자화, 부호화, 역 양자화, 역 변환에 대해서는 제 1 실시예 내지 제 3 실시예를 통해 전술한 내용과 동일 또는 유사하므로 그에 대한 상세한 설명은 생략한다.
또한, 디블로킹 필터(1592) 및 픽처 버퍼(1594)는 본 발명의 제 4 실시예에 따른 영상 부호화 장치에 반드시 포함되지 않고 선택적으로 포함될 수 있으며, 그 내용에 대해서도 제 1 실시예 내지 제 3 실시예를 통해 전술한 내용과 동일 또는 유사하므로 그에 대한 상세한 설명은 생략한다.
도 16은 본 발명의 제 4 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
본 발명의 제 4 실시예에 따른 영상 부호화 장치는 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하고(S1610), 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하며(S1620), 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하여(S1630), 잔여 블록을 변환하고(S1640), 변환된 잔여 블록을 양자화한 후(S1650), 양자화된 잔여 블록, 블록 움직임 벡터 및 화소별 움직임 벡터를 부호화하여 비트스트림을 출력한다(S1660).
도 17은 본 발명의 제 4 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 4 실시예에 따른 영상 복호화 장치는 복호화기(1710), 블록 및 화소별 움직임 보상기(1720), 역 양자화기(1730), 역 변환기(1740), 가산기(1750), 디블로킹 필터(1760) 및 픽처 버퍼(1770)를 포함하여 구성될 수 있다. 여기서, 디블로킹 필터(1760) 및 픽처 버퍼(1770)는 반드시 포함되지 않고 선택적으로 포함될 수 있다.
복호화기(1710)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원한다.
블록 및 화소별 움직임 보상기(1720)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.
역 양자화기(1730)는 복원된 잔여 블록을 역 양자화한다. 역 변환기(1740)는 역 양자화된 잔여 블록을 역 변환한다. 가산기(1750)는 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원한다.
도 18은 본 발명의 제 4 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 제 4 실시예에 따른 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원하고(S1810), 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하며(S1820), 복원된 잔여 블록을 역 양자화하고(S1830), 역 양자화된 잔여 블록을 역 변환하며(S1840), 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원한다(S1850).
이상에서는 본 발명의 제 4 실시예를 통해 블록 움직임 벡터 및 화소별 움직임 벡터를 함께 추정하고 모두 부호화하여 비트스트림을 생성하는 것에 대해 설명했다. 이 경우, 화소별 움직임 벡터의 개수가 많아지면, 화소별 움직임 벡터를 부호화하는 데 소요되는 비트량이 증가하여 압축 효율이 저하될 수 있다. 이하에서는 본 발명의 제 5 실시예를 통해 화소별 움직임 벡터를 이용하여 부호화하면서도 화소별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있는 방식에 대해 설명한다.
도 19는 본 발명의 제 5 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 5 실시예에 따른 영상 부호화 장치는 도 15를 통해 전술한 본 발명의 제 4 실시예에 따른 영상 부호화 장치의 구성 요소 중 블록 및 화소별 움직임 추정기(1510)을 제외한 모든 구성 요소를 포함할 뿐만 아니라, 블록 움직임 추정기(1910)와 화소별 움직임 추정기(1920)를 추가로 포함한다. 여기서, 블록 및 화소별 움직임 보상기(1520), 감산기(1530), 변환기(1540), 양자화기(1550), 역 양자화기(1570), 역 변환기(1580), 가산기(1590), 디블로킹 필터(1592) 및 픽처 버퍼(1594)는 도 15를 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
블록 움직임 추정기(1510)는 현재 블록의 블록 움직임 벡터를 추정하여 출력한다. 추정된 블록 움직임 벡터는 화소별 움직임 벡터 추정기(1920), 블록 및 화소별 움직임 보상기(1520) 및 부호화기(1930)로 출력된다.
화소별 움직임 추정기(1520)는 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고 출력한다. 추정된 화소별 움직임 벡터는 블록 및 화소별 움직임 보상기(1520)로 출력되며, 블록 및 화소별 움직임 보상기(1530)는 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.
부호화기(1930)는 화소별 움직임 벡터는 부호화하지 않고, 블록 움직임 추정기(1910)로부터 출력되는 블록 움직임 벡터와 양자화기(1550)에 의해 양자화된 잔여 블록을 부호화하여 비트스트림을 출력한다.
도 20은 본 발명의 제 5 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
본 발명의 제 5 실시예에 따른 영상 부호화 장치는 현재 블록의 블록 움직임 벡터를 추정하고(S2010), 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하며(S2020), 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성한다(S2030).
또한, 영상 부호화 장치는 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하여(S2040), 잔여 블록을 변환하고(S2050), 변환된 잔여 블록을 양자화한 후(S2060), 양자화된 잔여 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력한다(S2070).
도 21은 본 발명의 제 5 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 5 실시예에 따른 영상 복호화 장치는 도 17을 통해 전술한 본 발명의 제 4 실시예에 따른 영상 복호화 장치의 모든 구성 요소를 포함할 뿐만 아니라, 화소별 움직임 추정기(2120)를 추가로 포함한다. 여기서, 블록 및 화소별 움직임 보상기(1720), 역 양자화기(1730), 역 변환기(1740), 가산기(1750), 디블로킹 필터(1760) 및 픽처 버퍼(1770)는 도 17을 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
복호화기(2110)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 잔여 블록을 복원한다. 이와 같이 복원된 블록 움직임 벡터는 화소별 움직임 추정기(2120)와 블록 및 화소별 움직임 보상기(1720)로 출력되고, 복원된 잔여 블록은 역 양자화기(1730)로 출력된다.
화소별 움직임 추정기(2120)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하여 출력한다. 이와 같이 추정된 화소별 움직임 벡터는 블록 및 화소별 움직임 보상기(1720)로 출력되고, 블록 및 화소별 움직임 보상기(1720)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.
도 22는 본 발명의 제 5 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 제 5 실시예에 따른 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 잔여 블록을 복원하고(S2210), 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하며(S2220), 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 추정된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성한다(S2230).
또한, 영상 복호화 장치는 복원된 잔여 블록을 역 양자화하고(S2240), 역 양자화된 잔여 블록을 역 변환한 후(S2250), 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원한다(S2260).
이상에서는 본 발명의 제 5 실시예를 통해 블록 움직임 벡터를 추정한 후, 추정된 블록 움직임 벡터를 이용하여 화소별 움직임 벡터를 추정한 후, 블록 움직임 벡터만을 움직임 벡터에 대한 정보로서 부호화하여 비트스트림을 생성하는 것에 대해 설명했다. 이 경우, 화소별 움직임 벡터의 개수가 많아지는 경우, 화소별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있어서, 압축 효율을 높일 수 있지만, 블록 움직임 벡터를 이용하여 화소별 움직임 벡터를 추정하므로 화소별 움직임 벡터의 개수가 줄어 들어 잔여 블록을 부호화했을 때 비트량이 증가하여 압축 효율이 저하될 수 있다. 이하에서는 본 발명의 제 6 실시예를 통해 블록 움직임 벡터와 화소별 움직임 벡터를 독립적으로 추정하여 부호화하면서도 화소별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있는 방식에 대해 설명한다.
도 23은 본 발명의 제 6 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 6 실시예에 따른 영상 부호화 장치는 도 15를 통해 전술한 본 발명의 제 4 실시예에 따른 영상 부호화 장치의 모든 구성 요소를 포함할 뿐만 아니라, 화소별 움직임 추정기(2310)를 추가로 포함한다. 여기서, 블록 및 화소별 움직임 추정기(1510), 블록 및 화소별 움직임 보상기(1520), 감산기(1530), 변환기(1540), 양자화기(1550), 역 양자화기(1570), 역 변환기(1580), 가산기(1590), 디블로킹 필터(1592) 및 픽처 버퍼(1594)는 도 15를 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
화소별 움직임 추정기(2310)는 블록 및 화소별 움직임 추정기(1510)에서 추정된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고, 블록 및 화소별 움직임 추정기(2310)에 의해 추정된 화소별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정된 화소별 움직임 벡터와는 다른 움직임 벡터만을 출력한다. 즉, 화소별 움직임 추정기(2310)는 블록 및 화소별 움직임 추정기(2310)에서 화소별 움직임 벡터를 추정하였지만, 그와는 별개로 하나 이상의 참조 픽처에서 화소별 움직임 추정기(2310)에 의해 추정된 블록 움직임 벡터를 중심으로 현재 블록과 유사한 블록을 찾아 그 블록을 가리키는 움직임 벡터를 화소별 움직임 벡터로서 추정한다. 또한, 화소별 움직임 추정기(2310)는 블록 및 화소별 움직임 추정기(1510)에서 추정된 화소별 움직임 벡터와 블록 움직임 벡터를 이용하여 추정한 화소별 움직임 벡터를 비교하여 서로 동일한 움직임 벡터들은 제외하고 서로 상이한 움직임 벡터들 즉, 다른 움직임 벡터만을 출력한다.
부호화기(2320)는 블록 및 화소별 움직임 추정기(1510)에 의해 추정된 블록 움직임 벡터와 화소별 움직임 추정기(2310)에 의해 추정되고 비교되어 출력된 다른 움직임 벡터를 잔여 블록과 함께 부호화하여 비트스트림을 출력한다.
즉, 부호화기(2320)에서 블록 움직임 벡터와 다른 움직임 벡터를 잔여 블록과 함께 부호화하더라도, 후술할 영상 복호화 장치에서 블록 움직임 벡터를 이용하여 화소별 움직임 벡터를 추정할 수 있고 그 추정된 화소별 움직임 벡터와 비트스트림으로부터 복원되는 다른 움직임 벡터를 이용하여 블록 및 화소별 움직임 추정기(1510)에서 추정한 변환 계수별 움직임 벡터를 모두 복원할 수 있으므로, 블록 움직임 벡터와 다른 움직임 벡터만을 부호화하는 것이다. 이를 통해, 블록 및 화소별 움직임 추정기(1510)에서 추정된 많은 개수의 화소별 움직임 벡터를 이용하여 부호화하면서도 해당 움직임 벡터를 영상 복호화 장치에게 알리기 위해서, 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 상이한 움직임 벡터를 부호화한 정보만을 전송하면 되므로, 비트스트림의 비트량을 더욱 줄일 수 있어 압축 효율을 향상시킬 수 있다.
도 24는 본 발명의 제 6 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
본 발명의 제 6 실시예에 따른 영상 부호화 장치는 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하고(S2410), 단계 S2410에서 추정된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고 단계 S2410에서 추정된 화소별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정된 화소별 움직임 벡터와 다른 움직임 벡터를 추출하며(S2420), 단계 S2410에서 추정된 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 단계 S2410에서 추정된 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다(S2430).
또한, 영상 부호화 장치는 현재 블록과 예측 블록을 감산하여 잔여 블록을 생성하고(S2440), 잔여 블록을 변환하고(S2450), 변환된 잔여 블록을 양자화하며(S2460), 양자화된 잔여 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력한다(S2470).
도 25는 본 발명의 제 6 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제 6 실시예에 따른 영상 복호화 장치는 도 21을 통해 전술한 본 발명의 제 5 실시예에 따른 영상 복호화 장치의 모든 구성 요소를 포함한다. 여기서, 역 양자화기(1730), 역 변환기(1740), 가산기(1750), 디블로킹 필터(1760) 및 픽처 버퍼(1770)는 도 21을 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
복호화기(2510)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 잔여 블록을 복원한다. 이와 같이 복원된 블록 움직임 벡터는 블록 및 화소별 움직임 보상기(2530)와 화소별 움직임 추정기(2520)로 출력되고, 복원된 다른 움직임 벡터는 블록 및 화소별 움직임 보상기(2530)에 출력되며, 복원된 잔여 블록은 역 양자화기(1730)로 출력된다.
화소별 움직임 추정기(2520)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하여 출력한다. 이와 같이 출력된 화소별 움직임 벡터는 블록 및 화소별 움직임 보상기(2530)로 출력된다.
블록 및 화소별 움직임 보상기(2530)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 다른 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.
도 26은 본 발명의 제 6 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 제 6 실시예에 따른 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 잔여 블록을 복원하고(S2610), 단계 S2610에서 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하며(S2620), 단계 S2610에서 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 단계 S2610에서 복원된 다른 움직임 벡터와 단계 S2620에서 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성한다(S2630).
또한, 영상 복호화 장치는 복원된 잔여 블록을 역 양자화하고(S2640), 역 양자화된 잔여 블록을 역 변환하며(S2650), 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원한다(S2660).
이상에서 전술한 바와 같이, 본 발명에서는 영상을 블록 단위로 부호화하는 장치를 구현할 때, 입력 영상에서 부호화하고자 하는 블록의 움직임 및 블록의 화소별 또는 변환 계수별 움직임을 추정하고 보상하여 참조블록 또는 블록의 변환계수를 조합함으로써 블록을 인터 예측 부호화하여 비트스트림을 출력하도록 구현함으로써, 블록 내의 화소들을 더욱 정확하게 예측하여 부호화된 비트스트림의 비트량을 줄일 수 있으며, 그를 통해 압축 효율을 향상시킬 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은 영상을 블록 단위로 부호화하거나 복호화하는 영상 처리 기술 분야에 적용되어, 블록 내의 화소 또는 변환 계수별로 움직임을 예측하고 참조블록 또는 변환계수를 조합함으로써 부호화하고자 하는 블록의 움직임을 더욱 정확하게 예측하여 부호화 성능을 향상시키며 그에 따라 압축 성능 향상시키는 효과를 발생하는 매우 유용한 발명이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2009년 2월 26일 한국에 출원한 특허출원번호 제 10-2009-0016159 호에 대해 미국 특허법 119(a)조(35 U.S.C § 119(a))에 따라 우선권을 주장하면, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다. 아울러, 본 특허출원은 미국 이외에 국가에 대해서도 위와 동일한 동일한 이유로 우선권을 주장하면 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.

Claims (12)

  1. 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하여 출력하는 블록 및 변환 계수별 움직임 추정기;
    상기 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 상기 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기;
    상기 현재 블록과 상기 예측 블록을 감산한 잔여 블록을 출력하고 상기 현재 블록과 상기 참조 블록을 감산한 차이 블록을 출력하는 감산기;
    상기 잔여 블록 및 상기 차이 블록을 변환하는 변환기;
    상기 변환된 잔여 블록과 상기 변환된 차이 블록을 양자화하는 양자화기;
    상기 양자화된 잔여 블록의 양자화 변환 계수 및 상기 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합기; 및
    상기 결합 블록, 상기 블록 움직임 벡터 및 상기 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.
  2. 제 1 항에 있어서, 상기 계수 결합기는,
    상기 비트스트림의 비트량을 최소화하는 양자화 변환 계수를 선택하여 상기 결합 블록을 생성하는 것을 특징으로 하는 영상 부호화 장치.
  3. 제 1 항에 있어서, 상기 영상 부호화 장치는,
    상기 양자화된 결합 블록을 역 양자화하는 역 양자화기;
    상기 역 양자화된 결합 블록의 변환 계수 중 상기 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 상기 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정기;
    상기 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환기; 및
    상기 예측 블록과 상기 복원된 잔여 블록을 가산하여 상기 현재 블록을 복원하는 가산기
    를 추가로 포함하는 것을 특징으로 하는 영상 부호화 장치.
  4. 영상을 부호화하는 방법에 있어서,
    현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하는 블록 및 변환 계수별 움직임 추정 단계;
    상기 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 상기 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계;
    상기 현재 블록과 상기 예측 블록을 감산한 잔여 블록 및 상기 현재 블록과 상기 참조 블록을 감산한 차이 블록을 생성하는 감산 단계;
    상기 잔여 블록 및 상기 차이 블록을 변환하는 변환 단계;
    상기 변환된 잔여 블록과 상기 변환된 차이 블록을 양자화하는 양자화 단계;
    상기 양자화된 잔여 블록의 양자화 변환 계수 및 상기 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합 단계; 및
    상기 결합 블록, 상기 블록 움직임 벡터 및 상기 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  5. 영상을 복호화하는 장치에 있어서,
    비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원하는 복호화기;
    상기 복원된 블록 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 출력하고 상기 복원된 변환 계수별 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기;
    상기 복원된 결합 블록을 역 양자화하는 역 양자화기;
    상기 예측 블록 및 상기 참조 블록을 이용하여 상기 역 양자화된 결합 블록의 변환 계수 중 상기 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 상기 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정기;
    상기 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환기; 및
    상기 예측 블록과 상기 복원된 잔여 블록을 가산하여 상기 현재 블록을 복원하는 가산기
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  6. 영상을 복호화하는 방법에 있어서,
    비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원하는 복호화 단계;
    상기 복원된 블록 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하고 상기 복원된 변환 계수별 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계;
    상기 복원된 결합 블록을 역 양자화하는 역 양자화 단계;
    상기 예측 블록 및 상기 참조 블록을 이용하여 상기 역 양자화된 결합 블록의 변환 계수 중 상기 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 상기 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정 단계;
    상기 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환 단계; 및
    상기 예측 블록과 상기 복원된 잔여 블록을 가산하여 상기 현재 블록을 복원하는 가산 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  7. 영상을 부호화하는 장치에 있어서,
    현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하여 출력하는 블록 및 화소별 움직임 추정기;
    상기 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 상기 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하여 출력하는 블록 및 화소별 움직임 보상기;
    상기 현재 블록과 상기 예측 블록을 감산한 잔여 블록을 출력하는 감산기;
    상기 잔여 블록을 변환하는 변환기;
    상기 변환된 잔여 블록을 양자화하는 양자화기; 및
    상기 양자화된 잔여 블록, 상기 블록 움직임 벡터 및 상기 화소별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.
  8. 제 7 항에 있어서,
    상기 블록 및 화소별 움직임 보상기는,
    상기 비트스트림의 비트량을 최소화하는 화소를 선택하여 상기 예측 블록을 생성하는 것을 특징으로 하는 영상 부호화 장치.
  9. 영상을 부호화하는 방법에 있어서,
    현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하는 블록 및 화소별 움직임 추정 단계;
    상기 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 상기 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계;
    상기 현재 블록과 상기 예측 블록을 감산한 잔여 블록을 생성하는 감산 단계;
    상기 잔여 블록을 변환하는 변환 단계;
    상기 변환된 잔여 블록을 양자화하는 양자화 단계;
    상기 양자화된 잔여 블록, 상기 블록 움직임 벡터 및 상기 화소별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  10. 영상을 복호화하는 장치에 있어서,
    비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원하는 복호화기;
    상기 복원된 블록 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 생성한 참조 블록의 화소 및 상기 복원된 화소별 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기;
    상기 복원된 잔여 블록을 역 양자화하는 역 양자화기;
    상기 역 양자화된 잔여 블록을 역 변환하는 역 변환기; 및
    상기 예측 블록과 상기 역 변환된 잔여 블록을 가산하여 상기 현재 블록을 복원하는 가산기
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  11. 영상을 복호화하는 방법에 있어서,
    비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원하는 복호화 단계;
    상기 복원된 블록 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 생성한 참조 블록의 화소 및 상기 복원된 화소별 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계;
    상기 복원된 잔여 블록을 역 양자화하는 역 양자화 단계;
    상기 역 양자화된 잔여 블록을 역 변환하는 역 변환기 단계; 및
    상기 예측 블록과 상기 역 변환된 잔여 블록을 가산하여 상기 현재 블록을 복원하는 가산 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  12. 영상을 블록 단위로 부호화하는 장치에 있어서,
    입력 영상에서 부호화하고자 하는 블록의 움직임 및 상기 블록의 화소별 또는 변환 계수별 움직임을 추정하고 보상하여 참조블록 또는 블록의 변환계수를 조합함으로써 상기 블록을 인터 예측 부호화하여 비트스트림을 출력하는 것을 특징으로 하는 영상 부호화 장치.
PCT/KR2010/001040 2009-02-26 2010-02-19 영상 부호화/복호화 장치 및 방법 WO2010098556A2 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2009-0016159 2009-02-26
KR1020090016159A KR101369171B1 (ko) 2009-02-26 2009-02-26 영상 부호화/복호화 장치 및 방법

Publications (2)

Publication Number Publication Date
WO2010098556A2 true WO2010098556A2 (ko) 2010-09-02
WO2010098556A3 WO2010098556A3 (ko) 2010-11-25

Family

ID=42666030

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/001040 WO2010098556A2 (ko) 2009-02-26 2010-02-19 영상 부호화/복호화 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101369171B1 (ko)
WO (1) WO2010098556A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101341993B1 (ko) * 2010-10-06 2013-12-16 에스케이텔레콤 주식회사 고정밀 필터를 이용한 영상 부호화/복호화 방법 및 장치
KR101249346B1 (ko) * 2011-01-31 2013-04-01 국방과학연구소 적응적 양자화 계수 탐색을 이용한 영상 부호화/복호화 방법 및 장치, 상기 방법을 기록한 컴퓨터로 판독 가능한 기록매체
CN104380744B (zh) 2012-06-19 2018-05-04 Lg电子株式会社 处理视频信号的方法和设备
WO2016068630A1 (ko) * 2014-10-29 2016-05-06 엘지전자(주) 비디오 신호의 인코딩, 디코딩 방법 및 그 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970057920A (ko) * 1995-12-19 1997-07-31 구자홍 동영상 압축을 위한 움직임 예측기
KR100316770B1 (ko) * 1997-06-20 2002-07-03 윤종용 시감색차특성을 고려한 영상부호화 방법 및 장치
KR100656644B1 (ko) * 2004-12-22 2006-12-11 엘지전자 주식회사 영상압축에서의 움직임 보상을 위한 화면간 보간장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100727989B1 (ko) * 2005-10-01 2007-06-14 삼성전자주식회사 동영상 부호화시의 인터 모드 결정 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970057920A (ko) * 1995-12-19 1997-07-31 구자홍 동영상 압축을 위한 움직임 예측기
KR100316770B1 (ko) * 1997-06-20 2002-07-03 윤종용 시감색차특성을 고려한 영상부호화 방법 및 장치
KR100656644B1 (ko) * 2004-12-22 2006-12-11 엘지전자 주식회사 영상압축에서의 움직임 보상을 위한 화면간 보간장치

Also Published As

Publication number Publication date
KR20100097286A (ko) 2010-09-03
WO2010098556A3 (ko) 2010-11-25
KR101369171B1 (ko) 2014-03-07

Similar Documents

Publication Publication Date Title
WO2020009357A1 (ko) Cclm에 기반한 인트라 예측 방법 및 그 장치
WO2010044563A2 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
WO2020071830A1 (ko) 히스토리 기반 움직임 정보를 이용한 영상 코딩 방법 및 그 장치
WO2020071873A1 (ko) Mpm 리스트를 사용하는 인트라 예측 기반 영상 코딩 방법 및 그 장치
WO2011087321A2 (en) Method and apparatus for encoding and decoding motion vector
WO2016143991A1 (ko) 저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치
WO2013032073A1 (ko) Amvp 모드에서의 예측 블록 생성 방법
WO2014171713A1 (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
WO2010085064A2 (ko) 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
WO2017082443A1 (ko) 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
WO2011087323A2 (en) Method and apparatus for encoding and decoding image by using large transform unit
WO2010027170A2 (ko) 예측 방향 전환과 선택적 부호화를 이용한 영상 부호화/복호화 장치 및 방법
WO2019050385A2 (ko) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
WO2011037420A2 (ko) 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2015009036A1 (ko) 시간적 서브 레이어 정보에 기반한 인터 레이어 예측 방법 및 장치
WO2020130617A1 (ko) 비디오 데이터를 처리하기 위한 방법 및 장치
WO2015102367A1 (ko) 다시점 비디오를 부호화하는 방법 및 그 장치, 다시점 비디오를 복호화하는 방법 및 그 장치
WO2020076064A1 (ko) Mpm 리스트를 사용하는 인트라 예측 기반 영상 코딩 방법 및 그 장치
WO2020197202A1 (ko) Mpm 리스트에 기반한 인트라 예측 방법 및 그 장치
WO2011111954A2 (ko) 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2009116815A2 (en) Apparatus and method for encoding and decoding using bandwidth extension in portable terminal
WO2010098556A2 (ko) 영상 부호화/복호화 장치 및 방법
WO2011053054A9 (ko) 움직임 벡터 해상도 제한을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2021066618A1 (ko) 변환 스킵 및 팔레트 코딩 관련 정보의 시그널링 기반 영상 또는 비디오 코딩
WO2020180043A1 (ko) Lmcs에 기반한 영상 코딩 방법 및 그 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10746395

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 14/12/11)

122 Ep: pct application non-entry in european phase

Ref document number: 10746395

Country of ref document: EP

Kind code of ref document: A2