KR101341998B1 - Inter Prediction Apparatus of Considering Rotational Motion and Video Encoding/Decoding Method and Apparatus Using Same - Google Patents
Inter Prediction Apparatus of Considering Rotational Motion and Video Encoding/Decoding Method and Apparatus Using Same Download PDFInfo
- Publication number
- KR101341998B1 KR101341998B1 KR1020080088910A KR20080088910A KR101341998B1 KR 101341998 B1 KR101341998 B1 KR 101341998B1 KR 1020080088910 A KR1020080088910 A KR 1020080088910A KR 20080088910 A KR20080088910 A KR 20080088910A KR 101341998 B1 KR101341998 B1 KR 101341998B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- motion
- current block
- prediction
- rotation
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 회전 움직임을 고려한 인터 예측 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.The present invention relates to an inter prediction apparatus considering rotational motion and an image encoding / decoding method and apparatus using the same.
본 발명은 영상을 부호화하는 장치에 있어서, 영상의 현재 블록의 회전 움직임을 추정함으로써 현재 블록의 움직임 벡터 및 회전 정보를 결정하여 현재 블록의 회전 움직임을 보상함으로써 현재 블록을 예측하여 예측 블록을 생성하는 예측부; 현재 블록에서 예측 블록을 감산하여 잔차 블록을 생성하는 감산부; 잔차 블록을 주파수 영역으로 변환하는 변환부; 변환된 잔차 블록을 양자화하는 양자화부; 및 양자화된 잔차 블록, 움직임 벡터 및 회전 정보를 부호화함으로써 비트스트림을 출력하는 부호화부를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.The present invention provides an apparatus for encoding an image, wherein the motion vector and the rotation information of the current block are determined by estimating the rotational movement of the current block of the image to compensate for the rotational movement of the current block, thereby predicting the current block to generate a prediction block. Prediction unit; A subtraction unit for generating a residual block by subtracting the prediction block from the current block; A transformer for converting the residual block into the frequency domain; A quantizer for quantizing the transformed residual block; And an encoder configured to output a bitstream by encoding the quantized residual block, the motion vector, and the rotation information.
본 발명에 의하면, 영상의 회전 움직임을 효율적으로 추정하고 보상함으로써 부호화 및 복호화를 위한 영상의 예측 정확도를 향상시킬 수 있어 부호화 및 복호화 효율을 향상시킬 수 있다.According to the present invention, by efficiently estimating and compensating for the rotational motion of an image, the prediction accuracy of the image for encoding and decoding can be improved, thereby improving the encoding and decoding efficiency.
영상, 부호, 복호, 움직임, 추정, 보상, 예측, 회전, 직선, 비용 Image, sign, decoding, motion, estimation, compensation, prediction, rotation, straight line, cost
Description
본 발명은 회전 움직임을 고려한 인터 예측 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 영상의 현재 블록을 예측할 때 현재 블록의 움직임을 효율적으로 추정하고 보상하여 현재 블록을 예측하는 장치와 그를 이용하여 영상을 부호화하거나 복호화하는 장치 및 방법에 관한 것이다.The present invention relates to an inter prediction apparatus considering rotational motion and an image encoding / decoding method and apparatus using the same. More specifically, the present invention relates to an apparatus for predicting the current block by efficiently estimating and compensating the motion of the current block when predicting the current block of the image, and an apparatus and method for encoding or decoding an image using the same.
MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 기존의 MPEG-4 Part 2와 H.263 표준안보다 우수하고 뛰어난 비디오 압축 기술을 개발하였다. 이 새로운 표준안은 H.264/AVC(Advanced Video Coding)이라 하며, MPEG-4 Part 10 AVC와 ITU-T Recommendation H.264로 공동으로 발표되었다.Moving Picture Experts Group (MPEG) and Video Coding Experts Group (VCEG) have developed superior video compression techniques superior to the existing MPEG-4 Part 2 and H.263 standards. The new standard is called H.264 / AVC (Advanced Video Coding) and was jointly released as MPEG-4 Part 10 AVC and ITU-T Recommendation H.264.
이러한 H.264/AVC(이하 'H.264'라 약칭함)에서는 정수형의 이산 코사인 변환(DCT: Discrete Cosine Transform, 이하 'DCT'라 칭함), 변환 블록 크기의 움직임 추정 및 보상(Variable Block Size Motion Estimation and Compensation), 양자 화(Quantization), 엔트로피 부호화(Entropy Coding) 등으로 구성되어 있다.In such H.264 / AVC (hereinafter abbreviated as 'H.264'), integer discrete cosine transform (DCT) is called, and motion estimation and compensation of transform block size (Variable Block Size) It consists of Motion Estimation and Compensation, Quantization and Entropy Coding.
동영상에서 가장 많은 데이터 중복성을 갖는 시간적 중복성은 참조 픽처의 데이터를 이용하여 움직임 추정과 움직임 보상을 수행하고 이때 추정된 움직임 벡터에 의해서 보상된 영상과 원 영상과의 잔차 신호를 부호화함으로써 높은 데이터 압축률을 가져온다.Temporal redundancy, which has the most data redundancy in a video, provides high data compression rate by performing motion estimation and motion compensation using the data of the reference picture, and encoding residual signals between the image and the original image compensated by the estimated motion vector. Bring.
한편, 동영상 내에서 발생하는 움직임은 직선 운동(Translation), 회전 운동(Rotation), 줌(Zoom), 팬(Pan) 등과 같이 다양하게 발생할 수 있다. 통상적인 움직임 추정 및 보상 방법에서는 직선 움직임만을 고려하여 움직임 추정을 수행한다. 하지만, 회전 움직임이 있는 영역에서는 직선 움직임 추정만으로는 정확한 정합이 이루어지지 않기 때문에, 움직임을 제대로 추정하기 어렵고 그로 인해 충분한 압축 성능을 제공하지 못한다.Meanwhile, the movement occurring in the video may occur in various ways such as a linear motion, a rotation motion, a zoom, a pan, and the like. In the conventional motion estimation and compensation method, motion estimation is performed considering only linear motion. However, since the linear motion estimation alone does not accurately match in the rotational motion region, it is difficult to properly estimate the motion and thus does not provide sufficient compression performance.
전술한 문제점을 해결하기 위해 본 발명은, 영상을 부호화하거나 복호화하는 데 있어서, 영상의 현재 블록의 직선 움직임뿐만 아니라 회전 움직임을 추정하고 보상함으로써 예측의 정확도를 높이고 그를 통해 영상의 부호화 및 복호화 효율을 향상시키는 데 주된 목적이 있다.In order to solve the above problems, the present invention, in encoding or decoding an image, improves the accuracy of prediction by estimating and compensating not only the linear movement but also the rotational movement of the current block of the image, thereby improving the encoding and decoding efficiency of the image. The main purpose is to improve.
전술한 목적을 달성하기 위해 본 발명은, 영상을 부호화하는 장치에 있어서, 영상의 현재 블록의 회전 움직임을 추정함으로써 현재 블록의 움직임 벡터 및 회전 정보를 결정하여 현재 블록의 회전 움직임을 보상함으로써 현재 블록을 예측하여 예측 블록을 생성하는 예측부; 현재 블록에서 예측 블록을 감산하여 잔차 블록을 생성하는 감산부; 잔차 블록을 주파수 영역으로 변환하는 변환부; 변환된 잔차 블록을 양자화하는 양자화부; 및 양자화된 잔차 블록, 움직임 벡터 및 회전 정보를 부호화함으로써 비트스트림을 출력하는 부호화부를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.In order to achieve the above object, the present invention provides a device for encoding an image, comprising: determining the motion vector and rotation information of the current block by estimating the rotational movement of the current block of the image to compensate for the rotational movement of the current block; A predictor configured to predict a prediction block and generate a prediction block; A subtraction unit for generating a residual block by subtracting the prediction block from the current block; A transformer for converting the residual block into the frequency domain; A quantizer for quantizing the transformed residual block; And an encoder configured to output a bitstream by encoding the quantized residual block, the motion vector, and the rotation information.
또한, 본 발명의 다른 목적에 의하면, 영상을 부호화 방법에 있어서, 영상의 현재 블록의 회전 움직임을 추정함으로써 현재 블록의 움직임 벡터 및 회전 정보를 결정하여 현재 블록의 회전 움직임을 보상함으로써 현재 블록을 예측하여 예측 블록을 생성하는 예측 단계; 현재 블록에서 예측 블록을 감산하여 잔차 블록을 생성하는 감산 단계; 잔차 블록을 주파수 영역으로 변환하는 변환 단계; 변환된 잔차 블록을 양자화하는 양자화 단계; 및 양자화된 잔차 블록, 움직임 벡터 및 회전 정보를 부호화함으로써 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.In addition, according to another object of the present invention, in the video encoding method, by predicting the rotational motion of the current block of the image to determine the motion vector and rotation information of the current block to predict the current block by compensating the rotational movement of the current block A prediction step of generating a prediction block; Subtracting the prediction block from the current block to generate a residual block; Transforming the residual block into a frequency domain; A quantization step of quantizing the transformed residual block; And an encoding step of outputting the bitstream by encoding the quantized residual block, the motion vector, and the rotation information.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 잔차 블록, 움직임 벡터 및 회전 정보를 추출하는 복호화부; 잔차 블록을 역 양자화하는 역 양자화하는 역 양자화부; 기 역 양자화된 잔차 블록을 역 변환하는 역 변환부; 움직임 벡터 및 회전 정보를 이용하여 영상의 현재 블록의 회전 움직임을 보상함으로써 현재 블록을 예측하여 예측 블록을 생성하는 예측부; 및 역 변환된 잔차 블록과 예측 블록을 가산하여 현재 블록을 복원하는 가 산부를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.According to still another object of the present invention, there is provided an apparatus for decoding an image, comprising: a decoder configured to decode a bitstream to extract a residual block, a motion vector, and rotation information; An inverse quantizer for inversely quantizing the residual block; An inverse transform unit for inversely transforming an inverse quantized residual block; A prediction unit generating a prediction block by predicting the current block by compensating for the rotational movement of the current block of the image using the motion vector and the rotation information; And an adder configured to reconstruct the current block by adding the inversely transformed residual block and the predictive block.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 잔차 블록, 움직임 벡터 및 회전 정보를 추출하는 복호화 단계; 잔차 블록을 역 양자화하는 역 양자화 단계; 역 양자화된 잔차 블록을 역 변환하는 역 변환 단계; 움직임 벡터 및 회전 정보를 이용하여 영상의 현재 블록의 회전 움직임을 보상함으로써 현재 블록을 예측하여 예측 블록을 생성하는 예측 단계; 및 역 변환된 잔차 블록과 예측 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of decoding an image, comprising: a decoding step of decoding a bitstream to extract a residual block, a motion vector, and rotation information; An inverse quantization step of inverse quantizing the residual block; Inverse transforming the inversely quantized residual block; A prediction step of predicting the current block by generating a prediction block by compensating for the rotational movement of the current block of the image using the motion vector and the rotation information; And an addition step of reconstructing the current block by adding the inverse transformed residual block and the prediction block.
또한, 본 발명의 또 다른 목적에 의하면, 영상의 현재 블록을 인터 예측하는 장치에 있어서, 참조 픽처를 저장하는 참조 픽처 저장부; 예측 움직임 벡터를 결정하여 참조 픽처에서 탐색 영역을 설정하고, 탐색 영역 내의 하나 이상의 탐색 위치점에 대한 참조 블록을 하나 이상의 회전 각도만큼 회전하여 부호화 비용을 계산하되, 최소 부호화 비용을 갖는 탐색 위치점에서의 참조 블록에 대한 움직임 벡터 및 회전 각도를 현재 블록의 움직임 벡터 및 회전 각도로서 결정하는 움직임 추정부; 및 참조 픽처에서 움직임 벡터가 지시하는 참조 블록을 회전 각도에 의해 지시되는 회전 각도만큼 회전시켜 현재 블록의 예측 블록을 출력하는 움직임 보상부를 포함하는 것을 특징으로 하는 인터 예측 장치를 제공한다.According to still another object of the present invention, there is provided an apparatus for inter prediction of a current block of an image, the apparatus comprising: a reference picture storage unit for storing a reference picture; Determines the predictive motion vector to set the search region in the reference picture, and calculates the coding cost by rotating the reference block for one or more search position points in the search region by one or more rotation angles, but at the search position point having the minimum coding cost. A motion estimator for determining a motion vector and a rotation angle with respect to a reference block of as a motion vector and a rotation angle of the current block; And a motion compensator configured to rotate the reference block indicated by the motion vector in the reference picture by the rotation angle indicated by the rotation angle, and output a prediction block of the current block.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 하나 이상의 참조 픽처를 이용하여 현재 블록의 회전 움직임을 포함하는 움직임을 추정하는 움직임 추정 단계; 추정된 움직임을 기초로 현재 블록의 움직임을 보상하 여 예측 블록을 생성하는 움직임 보상 단계; 및 현재 블록과 예측 블록을 감산하여 잔차 블록을 생성하고 부호화하는 부호화 단계를 포함하되, 움직임 추정 단계는 현재 블록의 움직임 보상을 위한 움직임 벡터 및 회전 정보를 생성하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of encoding an image, comprising: a motion estimation step of estimating a motion including a rotational motion of a current block by using one or more reference pictures; A motion compensation step of generating a prediction block by compensating for the motion of the current block based on the estimated motion; And an encoding step of generating and encoding a residual block by subtracting the current block and the prediction block, wherein the motion estimation step provides a motion vector and rotation information for motion compensation of the current block. do.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 하나 이상의 참조 픽처를 이용하여 현재 블록의 회전 움직임을 포함하는 움직임을 추정하는 움직임 추정 단계; 추정된 움직임을 기초로 현재 블록의 움직임을 보상하여 예측 블록을 생성하는 움직임 보상 단계; 및 현재 블록과 예측 블록을 감산하여 잔차 블록을 생성하고 부호화하는 부호화 단계를 포함하되, 움직임 추정 단계는 현재 블록의 움직임 보상을 위한 움직임 벡터와 참조 픽처 정보를 생성하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of encoding an image, comprising: a motion estimation step of estimating a motion including a rotational motion of a current block by using one or more reference pictures; A motion compensation step of generating a prediction block by compensating for the motion of the current block based on the estimated motion; And an encoding step of generating and encoding a residual block by subtracting the current block and the prediction block, wherein the motion estimation step comprises generating a motion vector and reference picture information for motion compensation of the current block. to provide.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 잔차 블록을 생성하고 움직임 벡터와 회전 정보를 추출하는 복호화 단계; 움직임 벡터와 회전 정보를 기초로 현재 블록의 회전 움직임을 포함하는 움직임 보상을 수행하여 현재 블록의 예측 블록을 생성하는 움직임 보상 단계; 및 예측 블록과 잔차 블록을 가산하여 현재 블록을 복원하는 복원 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of decoding an image, comprising: a decoding step of decoding a bitstream to generate a residual block of a current block and extracting motion vectors and rotation information; A motion compensation step of generating a prediction block of the current block by performing motion compensation including a rotational motion of the current block based on the motion vector and the rotation information; And a reconstruction step of reconstructing the current block by adding the prediction block and the residual block.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 잔차 블록을 생성하고 움직임 벡터와 참조 픽처 정보를 추출하는 복호화 단계; 움직임 벡터와 참조 픽처 정보를 기초로 현재 블록의 회전 움직임을 포함하는 움직임 보상을 수행하여 현재 블록의 예측 블록을 생성하는 움직임 보상 단계; 및 예측 블록과 잔차 블록을 가산하여 현재 블록을 복원하는 복원 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of decoding an image, comprising: a decoding step of decoding a bitstream to generate a residual block of a current block and extracting a motion vector and reference picture information; A motion compensation step of generating a prediction block of the current block by performing motion compensation including rotational motion of the current block based on the motion vector and the reference picture information; And a reconstruction step of reconstructing the current block by adding the prediction block and the residual block.
이상에서 설명한 바와 같이 본 발명에 의하면, 영상의 회전 움직임을 효율적으로 추정하고 보상함으로써 부호화 및 복호화를 위한 영상의 예측 정확도를 향상시킬 수 있어 부호화 및 복호화 효율을 향상시킬 수 있다.As described above, according to the present invention, the prediction accuracy of the image for encoding and decoding can be improved by efficiently estimating and compensating the rotational motion of the image, thereby improving the encoding and decoding efficiency.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference symbols as possible even if they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", " 결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. If a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected to or connected to that other component, but there may be another configuration between each component. It is to be understood that the elements may be "connected", "coupled" or "connected".
도 1은 참조 블록에서 매크로 블록을 탐색하는 과정을 나타낸 예시도이다.1 is an exemplary diagram illustrating a process of searching for a macro block in a reference block.
영상을 부호화하는 기법은 다양한데, 대표적으로 영상을 화소 단위로 분할하여 화소 단위로 부호화할 수도 있고 영상을 블록 단위로 분할하여 블록 단위로 부호화할 수도 있다. 블록 단위로 부호화하는 경우, 영상을 구성하는 여러 픽처(Picture) 중 부호화하고자 하는 하나의 픽처는 매크로블록(Macroblock)과 매크로블록을 구성하는 서브 블록(Sub Block) 등으로 나누어질 수 있으며, 나누어진 블록 단위로 예측되고 부호화가 수행된다.There are various techniques for encoding an image. Typically, an image may be divided into pixels and encoded in pixels, or an image may be divided into blocks and encoded in blocks. In the case of encoding in block units, one picture to be encoded may be divided into a macroblock, a subblock constituting the macroblock, and the like. Prediction is performed on a block basis and encoding is performed.
통상적으로 영상은 1초 동안에 30장의 픽처로 구성되므로, 하나의 픽처와 이웃한 픽처 간에는 픽처 간의 영상의 차이가 작기 때문에, 인간의 눈으로 그 차이를 구분하기가 매우 어렵다. 그로 인해, 영상이 1초 동안에 30장의 픽처로 출력되면, 인간은 각 픽처가 연속적인 것으로 인식한다.Since an image is usually composed of 30 pictures in one second, it is very difficult to distinguish the difference between a picture and a neighboring picture with a human eye because the difference between pictures is small. Therefore, if an image is output as 30 pictures in one second, humans recognize that each picture is continuous.
따라서, 이전 픽처와 현재 픽처의 영상이 유사하다면, 이전 픽처를 구성하고 있는 이미 알고 있는 영상의 화소값으로부터 현재 픽처의 미지의 화소값을 예측할 수 있다. 이와 같은 예측 기법을 인터 예측(Inter Prediction)이라 한다. 이러한 인터 예측은 움직임 예측(Motion Prediction) 기술을 기반으로 이루어진다. 움직임 예측은 시간 축을 기준으로 이전 픽처를 참조하거나 이전 픽처와 미래 픽처를 모두 참조하는 방식으로 수행된다. 현재 픽처를 부호화하거나 복호화하는 데 참조되는 픽처를 참조 픽처(Reference Picture)라고 한다.Therefore, if the previous picture and the current picture are similar, the unknown pixel value of the current picture can be predicted from the pixel value of the already-known picture constituting the previous picture. Such a prediction technique is called inter prediction. Such inter prediction is based on a motion prediction technique. Motion prediction is performed in a manner of referring to a previous picture or referring to both a previous picture and a future picture based on the time axis. A picture referred to to encode or decode a current picture is called a reference picture.
도 1을 참조하면, 현재 픽처(110)의 현재 블록(112)의 움직임을 추정하여 보 상함으로서 움직임을 예측하기 위해 참조 픽처(120)의 탐색 영역(122)에서 현재 블록(112)과 가장 유사한 참조 블록(124)를 찾는다. 움직임 벡터(Motion Vector)는 이와 같이 찾아진 참조 블록과 현재 블록 간의 상대적인 위치의 차이를 나타낸다.Referring to FIG. 1, the most similar to the
도 1에서 현재 블록(112)과 가장 유사한 참조 블록(124)은 참조 픽처(120)에서 현재 블록(112)과 대응하는 블록을 대각선 방향으로 이동시킨 지점에 위치하는 데, 이를 통해 현재 블록이 참조 픽처(120)의 참조 블록(124)에서 대각선 방향의 직선으로 움직였다는 알 수 있다.In FIG. 1, the
도 2는 본 발명의 제 1 실시예에 따른 영상 부호화 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도이다.2 is a block diagram schematically illustrating an electronic configuration of an image encoding apparatus according to a first embodiment of the present invention.
본 발명의 제 1 실시예에 따른 영상 부호화 장치(200)는 예측부(210), 감산부(220), 변환부(230), 양자화부(240), 부호화부(250), 역 양자화부(260), 역 변환부(270), 가산부(280) 및 디블로킹 필터부(280)를 포함하여 구성될 수 있다.The image encoding
이러한 영상 부호화 장치(200)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.The image encoding
예측부(210)는 영상의 현재 블록을 예측하여 예측 블록을 생성한다. 즉, 예측부(210)는 인터 예측(Inter Prediction)을 이용하여 영상에서 부호화하고자 하는 현재 블록(Current Block)의 각 화소값을 예측함으로써 예측 화소값(Predicted Pixel Value)을 각 화소의 화소값으로 갖는 예측 블록(Predicted Block)을 생성한다. 이를 위해, 예측부(210)는 현재 블록이 입력되면 회전 움직임을 포함한 현재 블록의 움직임을 추정함으로써 현재 블록의 움직임 벡터 및 회전 정보를 결정하고 결정된 움직임 벡터 및 회전 정보를 이용하여 현재 블록의 움직임을 보상함으로써 현재 블록을 예측하여 예측 블록을 생성한다.The
일 실시예로서, 예측부(210)는 참조 픽처를 하나 이상의 회전 각도만큼 회전 시킨 하나 이상의 회전 참조 픽처를 생성하는데, 하나 이상의 회전 참조 픽처는 하나 이상의 블록들로 분할되고 하나의 팜조 픽처 내의 분할된 각 블록들은 같은 각도로 회전된다. 이와 같이, 회전 참조 픽처 내에서 분할되어 회전되는 블록을 이하에서는 참조 블록이라 칭한다. 예측부(210)는 하나 이상의 회전 참조 픽처를 이용하여 움직임 추정을 수행하여, 최소 부호화 비용을 갖는 참조 픽처에 대한 정보인 참조 픽처 정보를 포함하는 회전 정보와 움직임 벡터를 현재 블록의 회전 정보 및 움직임 벡터로서 결정할 수 있다. 참조 픽처 정보는 참조 픽처의 회전 각도 즉, 참조 픽처 내에서 분할된 블록들의 회전 각도에 대한 정보를 포함한다.In an embodiment, the
다른 실시예로서, 예측부(210)는 예측 움직임 벡터를 결정하여 참조 픽처에서 탐색 영역을 설정하고, 탐색 영역 내의 하나 이상의 탐색 위치점에서의 참조 블록에 대한 회전 움직임 추정을 포함하는 움직임 추정에 대한 비용 즉, 움직임 추정 비용을 계산하여 최소 부호화 비용을 갖는 탐색 위치점에서의 참조 블록에 대한 움직임 벡터 및 회전 정보를 현재 블록의 움직임 벡터 및 회전 정보로서 결정할 수 있다. 이때, 회전 정보는 현재 블록이 회전 움직임 추정을 수행한 블록임을 식별하기 위한 플래그 및 최소 부호화 비용을 갖는 참조 블록의 회전 각도를 포함할 수 있다.In another embodiment, the
감산부(220)는 현재 블록에서 예측 블록을 감산하여 잔차 블록(Residual Block)을 생성한다. 즉, 감산부(220)는 현재 블록의 각 화소의 원 화소값(Original Pixel Value)과 예측 블록의 각 화소의 예측 화소값의 차이값을 계산하여 잔차 신호(Residual Signal)를 갖는 잔차 블록을 생성한다.The
변환부(230)는 잔차 블록을 주파수 영역으로 변환(Transform)한다. 즉, 변환부(230)는 잔차 블록을 주파수 영역(Frequency Domain)으로 변환하여 주파수 계수(Frequency Coefficient)를 갖는 잔차 블록을 생성한다. 여기서, 변환부(230)는 잔차 블록을 변환하는 데 있어서, 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반 변환(Discrete Cosine Transform Based Transform) 등과 같은 시간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차 신호를 주파수 영역으로 변환할 수 있는데, 주파수 영역으로 변환된 잔차 신호가 주파수 계수가 된다.The
양자화부(240)는 변환부(230)에서 변환된 잔차 블록을 양자화(Quantization)한다. 즉, 양자화부(240)는 잔차 블록의 주파수 계수를 양자화하여 양자화 주파수 계수를 생성한다. 여기서, 양자화부(240)는 잔차 블록의 주파수 계수를 양자화하는 데 있어서, 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization), 양자화 가중치 매트릭스(Quantization Weighted Matrix)를 이용하거나 그를 계량한 양자화 방법 등을 이용할 수 있다.The
부호화부(250)는 양자화부(240)에 의해 양자화된 잔차 블록의 주파수 계수들을 부호화하여 비트스트림을 생성한다. 또한, 부호화부(250)는 예측부(210)로부터 움직임 벡터 및 회전 정보가 전달되면, 잔차 블록의 양자화된 주파수 계수와 함께 부호화하여 비트스트림을 출력할 수 있다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술이 사용될 수도 있을 것이다.The
역 양자화부(260)는 양자화부(230)에 의해 양자화된 잔차 블록을 역 양자화(Inverse Quantization)한다. 즉, 역 양자화부(260)는 양자화된 잔차 블록의 양자화 주파수 계수를 역 양자화하여 주파수 계수를 생성한다.The
역 변환부(270)는 역 양자화부(260)에 의해 역 양자화된 잔차 블록을 역 변환(Inverse Transform)한다. 즉, 역 변환부(270)는 역 양자화된 잔차 블록의 주파수 계수를 역 변환하여 시간축상의 화소 신호를 갖는 잔차 블록을 복원한다.The
가산부(280)는 역 변환부(270)에 의해 역 변환된 잔차 블록에 예측부(210)에서 예측한 예측 블록을 가산하여 현재 블록을 복원한다.The
디블로킹 필터부(290)는 가산부(280)에 의해 복원된 현재 블록을 디블로킹 필터링(Deblcking Filtering)한다. 여기서, 디블로킹 필터링이란 영상을 블록 단위로 부호화하면서 발생하는 블록 왜곡을 감소시키는 작업을 말하며, 블록 경계와 매 크로블록 경계에 디블로킹 필터를 적용하거나 매크로블록 경계에만 디블로킹 필터를 적용하거나 디블로킹 필터를 사용하지 않는 방법 중 하나를 선택적으로 사용할 수 있다.The
이와 같이, 가산부(280)에 의해 복원되고 디블로킹 필터부(290)에 의해 디블로킹 필터링된 현재 블록은 예측부(210)에 입력되어 다음 픽처를 예측할 때 사용되는 참조 픽처로서 저장된다.In this way, the current block reconstructed by the
도 3은 본 발명의 제 1 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating an image encoding method according to a first embodiment of the present invention.
영상 부호화 장치(200)는 부호화하고자 하는 원영상의 현재 픽처가 입력되면 영상을 매크로 블록 또는 매크로 블록의 서브 블록 단위로 구분하고 다양한 블록 모드(또는 부호화 모드) 중 최적의 블록 모드를 결정하여 결정된 블록 모드에 따라 부호화하고자 하는 현재 블록을 예측하여 부호화한다.When the current picture of the original image to be encoded is input, the
이때, 블록 모드로서 인터 모드가 결정되어 인터 예측을 수행하는 경우, 영상 부호화 장치(200)는 이전에 부호화되고 복호화된 다른 픽처를 이용하여 부호화하고자 하는 현재 블록의 움직임을 예측한다. 즉, 영상 부호화 장치(200)는 현재 블록의 회전 움직임을 포함하는 움직임을 추정하여 현재 블록의 움직임 벡터 및 회전 정보를 결정하고(S310), 결정된 움직임 벡터와 회전 정보를 이용하여 현재 블록의 움직임을 보상함으로써 현재 블록을 예측하여 예측 블록을 생성한다(S320).In this case, when the inter mode is determined as the block mode and inter prediction is performed, the
예측 블록이 생성되면 영상 부호화 장치(200)는 현재 블록에서 예측 블록을 감산하여 잔차 블록을 생성하고(S330), 잔차 블록을 변환하고 양자화하여(S340), 양자화된 잔차 블록, 움직임 벡터 및 회전 정보를 부호화하여 비트스트림을 생성한다(S350).When the prediction block is generated, the
전술한 바와 같이, 영상 부호화 장치(200)에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 다양한 통신 인터페이스를 통해 후술할 영상 복호화 장치로 전송되고 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.As described above, the image encoded in the bitstream by the
도 4는 본 발명의 제 2 실시예에 따른 영상 복호화 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도이다.4 is a block diagram schematically illustrating an electronic configuration of an image decoding apparatus according to a second embodiment of the present invention.
본 발명의 제 2 실시예에 따른 영상 복호화 장치(400)는 복호화부(410), 역 양자화부(420), 역 변환부(430), 예측부(440), 가산부(450) 및 디블로킹 필터부(460)를 포함하여 구성될 수 있다.The
이러한 영상 복호화 장치(400)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.The
복호화부(410)는 비트스트림을 복호화하여 잔차 블록, 움직임 벡터 및 회전 정보를 추출한다. 즉, 복호화부(410)는 영상 부호화 장치(200)에 의해 부호화된 영상인 비트스트림을 복호화하여 영상의 현재 블록에 대한 화소 정보를 포함하고 있는 잔차 블록과 움직임 벡터 및 회전 정보를 추출한다.The
역 양자화부(420)는 복호화부(410)에 의해 추출된 잔차 블록을 역 양자화하고, 역 변환부(430)는 역 양자화된 잔차 블록을 역 변환한다. 여기서, 역 양자화와 역 변환은 각각 도 2를 통해 전술한 역 양자화와 역 변환과 같은 방식으로 역 양자와 역 변환될 수 있다.The
예측부(440)는 복호화부(410)에서 추출한 움직임 벡터 및 회전 정보를 이용하여 영상의 현재 블록의 회전 움직임을 포함하는 움직임을 보상함으로써 현재 블록을 예측하여 예측 블록을 생성한다.The
일 실시예로서, 예측부(440)는 참조 픽처를 하나 이상의 블록으로 분할하고 참조 픽처 정보에 의해 지시되는 회전 각도만큼 회전시켜 회전 참조 픽처를 생성하고, 회전 참조 픽처에서 움직임 벡터에 의해 지시되는 참조 블록을 검색함으로써 현재 블록의 회전 움직임을 포함하는 움직임을 보상할 수 있다.As an example, the
다른 실시예로서, 예측부(440)는 참조 픽처에서 움직임 벡터가 지시하는 참조 블록을 검색하고 참조 블록을 회전 정보에 의해 지시되는 회전 각도만큼 회전하여 현재 블록의 회전 움직임을 포함하는 움직임을 보상할 수 있다.As another embodiment, the
가산부(450)는 역 변환부(430)에서 역 변환된 잔차 블록에 예측부(440)에 의 해 예측된 예측 블록을 가산하여 현재 블록을 복원한다.The
디블로킹 필터부(460)는 양자화 과정에서 발생할 수 있는 오차를 줄여 블록 왜곡을 감소시키기 위해, 가산부(450)에 의해 복원된 현재 블록을 디블로킹 필터링한다.The
가산부(450)에 의해 복원된 현재 블록은 픽처 단위로 결합되어 복원 영상으로 출력되고, 디블로킹 필터부(460)에 의해 디블로킹 필터링된 현재 블록은 예측부(440)에서 다음 픽처를 예측할 때 사용되는 참조 픽처로서 저장된다.The current block reconstructed by the
도 5는 본 발명의 제 2 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating an image decoding method according to a second embodiment of the present invention.
유무선 통신망 또는 케이블 등을 통해 영상에 대한 비트스트림을 수신하여 저장한 영상 복호화 장치(400)는 사용자의 선택 또는 실행 중인 다른 프로그램의 알고리즘에 따라 영상을 재생하기 위해, 영상을 복호화하여 복원한다. 이를 위해, 영상 복호화 장치(400)는 비트스트림을 복호화하여 잔차 블록을 추출하고, 이때 비트스트림에서 움직임 벡터와 회전 정보를 함께 추출한다(S510). 잔차 블록과 움직임 벡터, 회전 정보가 추출되면, 영상 복호화 장치(400)는 추출한 잔차 블록을 역 양자화하고 역 변환한다(S520).The
또한, 영상 복호화 장치(400)는 단계 S510에서 추출된 움직임 벡터 및 회전 정보를 이용하여 영상의 현재 블록의 회전 움직임을 보상함으로써 현재 블록을 예측하여 예측 블록을 생성한다(S530).In addition, the
영상 복호화 장치(400)는 단계 S520에서 역 변환된 잔차 블록과 단계 S530에 서 생성된 예측 블록을 가산하여 현재 블록을 복원한다(S540). 영상 부호화 장치(400)는 복원된 현재 블록을 픽처 단위로 저장하여 복원 영상을 출력한다,The
도 6은 본 발명의 제 3 실시예에 따른 부호화를 위한 인터 예측 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도이다.6 is a block diagram schematically illustrating an electronic configuration of an inter prediction apparatus for encoding according to a third embodiment of the present invention.
본 발명의 제 3 실시예에 따른 부호화를 위한 인터 예측 장치는 도 2를 통해 전술한 영상 부호화 장치(200)의 예측부(210)로 구현될 수 있다. 이하에서는 본 발명의 제 3 실시예에 따른 부호화를 위한 인터 예측 장치를 예측부(210)라 약칭한다.The inter prediction apparatus for encoding according to the third embodiment of the present invention may be implemented by the
본 발명의 제 3 실시예에 따른 예측부(210)는 움직임 추정부(610), 움직임 보상부(620) 및 참조 픽처 저장부(630)를 포함하여 구성될 수 있다.The
움직임 추정부(610)는 예측 움직임 벡터를 결정하고, 참조 픽처 저장부(630)에 저장된 참조 픽처에서 탐색 영역을 설정하며, 탐색 영역 내의 하나 이상의 탐색 위치점에 대한 참조 블록을 하나 이상의 회전 각도만큼 회전시켜 부호화 비용을 계산하되, 최소 부호화 비용을 갖는 탐색 위치점에서의 참조 블록에 대한 움직임 벡터 및 회전 각도를 현재 블록의 움직임 벡터 및 회전 각도로서 결정한다.The
즉, 움직임 추정부(610)는 예측 움직임 벡터를 결정하고, 참조 픽처에서 예측 움직임 벡터가 지시하는 참조 블록을 중심으로 하는 소정의 영역을 탐색 영역으로서 설정하고, 탐색 영역 내의 하나 이상의 지점을 탐색 위치점으로 설정한다. 움직임 추정부(610)는 각 탐색 위치점에서의 참조 블록을 하나 이상의 회전 각도만큼 회전시킨 후, 회전된 참조 블록들의 부호화 비용을 계산하고, 각 회전 각도에 따른 부호화 비용을 비교함으로써 각 탐색 위치점에서의 최소 부호화 비용을 갖는 참조 블록의 회전 각도를 결정한다. 움직임 추정부(610)는 각 탐색 위치점에서의 최소 부호화 비용을 서로 비교하여 최소 부호화 비용을 갖는 탐색 위치점을 결정하고 해당 탐색 위치점에서의 참조 블록의 회전 각도를 최종 회전 각도로서 결정하며, 해당 참조 블록에 대한 현재 블록의 상대적인 위치를 움직임 벡터로서 결정한다.That is, the
여기서, 부호화 비용은 현재 블록과 참조 블록의 차이를 기준으로 계산될 수 있는데, 차의 제곱 합(SSD: Sum of Squared Difference)과 차의 절대값 합(SAD: Sum of Absolute Difference) 등이 될 수 있다. 또한, 부호화 비용은 해당 참조 블록을 현재 블록의 예측 블록이라 가정하고 계산된 율-왜곡 비용(Rate-Distortion Cost)이 될 수도 있을 것이다.Here, the coding cost may be calculated based on the difference between the current block and the reference block, and may be a sum of squared difference (SSD) and a sum of absolute difference (SAD). have. In addition, the encoding cost may be a rate-distortion cost calculated by assuming that the reference block is a prediction block of the current block.
또한, 움직임 추정부(610)는 현재 블록의 이웃 블록의 움직임 벡터를 이용하여 움직임 추정을 위한 예측 움직임 벡터를 결정할 수 있는데, 현재 블록의 하나 이상의 이웃 블록 중 직선 움직임 보상을 수행한 이웃 블록의 움직임 벡터를 이용하여 결정하거나 직선 움직임 보상 또는 회전 움직임 보상의 여부와 관계 없이 이웃 블록의 움직임 벡터의 평균값을 이용하여 결정할 수 있다. 즉, 이웃 블록 중에서 회전 움직임 보상을 수행한 이웃 블록이 아닌 직선 움직임 보상을 수행한 이웃 블록의 움직임 벡터를 현재 블록의 움직임 벡터로서 결정할 수 있으며, 이웃 블록의 움직임 벡터를 평균한 움직임 벡터를 현재 블록의 움직임 벡터로서 결정할 수 있다. 영상의 회전 움직임이 있는 영역에서, 회전 움직임 추정의 성능은 회전 중심점에 따라 달라지기 때문에, 회전 움직임을 추정하여 결정된 최적의 움직임 벡터와 직선 움직임만을 추정하여 결정된 최적의 움직임 벡터가 불일치할 수 있다. 따라서, 직선 움직임만을 추정하여 결정된 이웃 블록의 움직임 벡터를 예측 움직임 벡터로서 사용함으로써 현재 블록의 움직임 벡터와 예측 움직임 벡터 간의 차이 벡터의 크기를 줄일 수 있다.In addition, the
또한, 움직임 추정부(610)는 현재 블록의 이웃 블록의 움직임 벡터를 이용하여 차이벡터 계산을 위한 예측 움직임 벡터를 결정할 수 있는데, 현재 블록이 회전 움직임 보상을 수행했는지 또는 직선 움직임 보상을 수행했는지 여부에 따라 다르게 예측 움직임 벡터를 결정할 수 있다. 즉, 현재 블록이 회전 움직임 보상을 수행한 경우에는 이웃 블록 중 회전 움직임 보상을 수행한 이웃 블록들의 움직임 벡터만을 이용하여 차이벡터를 위한 예측 움직임 벡터를 결정할 수 있으며, 현재 블록이 직선 움직임 보상을 수행한 경우에는 이웃 블록 중 직선 움직임 보상을 수행한 이웃 블록들의 움직임 벡터만을 이용하여 차이벡터를 위한 예측 움직임 벡터를 결정할 수 있다.In addition, the
도 12를 참조하여 예를 들면, 움직임 추정을 위한 예측 움직임 벡터는 회전 움직임 보상의 여부에 관계 없이, A, B, C 블록의 평균값을 예측 움직임 벡터로 사용하여 움직임 추정을 수행하거나 직선 움직임 벡터를 사용하는 C 블록의 움직임 벡터를 예측 벡터로 사용할 수 있다. 차이벡터를 위한 예측 움직임 벡터는, 현재 블록이 회전 움직임 보상을 수행한 경우에는, 차이벡터는 현재 블록의 움직임 벡터에서 A 블록과 B 블록의 평균값을 뺀 값이되고, 현재 블록이 직선 움직임 보상을 수행한 경우에는, 차이벡터는 현재 블록의 움직임 벡터에서 C 블록의 움직임 벡터 를 뺀 값이 된다.Referring to FIG. 12, for example, a predictive motion vector for motion estimation may be performed by performing motion estimation using average values of A, B, and C blocks as predictive motion vectors, regardless of whether or not rotation motion compensation is performed. The motion vector of the used C block can be used as a prediction vector. In the predicted motion vector for the difference vector, when the current block performs the rotational motion compensation, the difference vector is obtained by subtracting the average value of the A and B blocks from the motion vector of the current block, and the current block performs the linear motion compensation. In this case, the difference vector is obtained by subtracting the motion vector of the C block from the motion vector of the current block.
또한, 움직임 추정부(610)는 회전 각도를 설정할 때, 기 설정된 회전 각도 범위 내에서 하나 이상의 회전 각도를 설정할 수 있다. 또한, 움직임 추정부(610)는 현재 블록이 회전 움직임 추정을 수행한 블록임을 식별하기 위한 플래그를 생성하되, 플래그 및 회전 각도를 회전 정보로서 출력할 수 있다.In addition, when setting the rotation angle, the
또한, 움직임 추정부(610)는 예측 움직임 벡터를 결정하여 참조 픽처에서 탐색 영역을 설정하고, 탐색 영역 내의 하나 이상의 탐색 위치점에 대한 직선 움직임 추정 비용을 계산하고, 하나 이상의 탐색 위치점에 대한 회전 움직임을 추정할 지 여부를 결정하여 하나 이상의 탐색 위치점에 대한 회전 움직임을 추정하고 회전 움직임 추정 비용을 계산하며, 직선 움직임 추정 비용 및 회전 움직임 추정 비용 중 작은 비용을 하나 이상의 탐색 위치점에 대한 최소 부호화 비용으로 결정하고, 각 탐색 위치점에 대한 최소 부호화 비용 중 최소 부호화 비용을 갖는 탐색 위치점에서의 참조 블록에 대한 움직임 벡터 및 회전 각도를 현재 블록의 움직임 벡터 및 회전 각도로서 결정할 수도 있다.In addition, the
움직임 보상부(620)는 참조 픽처 저장부(630)에 저장된 참조 픽처에서 움직임 벡터가 지시하는 참조 블록을 회전 각도에 의해 지시되는 회전 각도만큼 회전시켜 현재 블록의 예측 블록을 생성하고 출력한다.The
참조 픽처 저장부(630)는 디블로킹 필터부(290)로부터 출력되는 복원된 현재 블록을 픽처 단위로 저장하여 참조 픽처로서 저장한다.The reference
도 7은 본 발명의 제 3 실시예에 따른 움직임 추정부를 간략하게 나타낸 블 록 구성도이다.7 is a block diagram schematically illustrating a motion estimation unit according to a third embodiment of the present invention.
도 6을 통해 전술한 예측부(210)의 움직임 추정부(610)는 예측 움직임 벡터 결정부(710), 탐색 위치 설정부(720), 회전 각도 설정부(730), 중심점 설정부(740), 블록 회전부(750), 부호화 비용 계산부(760) 및 움직임 벡터 결정부(770)를 포함하여 구성될 수 있다.The
예측 움직임 벡터 결정부(710)는 이웃 블록의 움직임 벡터를 이용하여 예측 움직임 벡터를 결정한다. 탐색 위치 설정부(720)는 결정된 예측 움직임 벡터를 이용하여 참조 픽처에 탐색 영역을 설정하고 설정된 탐색 영역 내에서 하나 이상의 탐색 위치점을 설정한다. 회전 각도 설정부(730)는 기 설정된 회전 각도 범위 내에서 하나 이상의 회전 각도를 설정한다.The prediction
중심점 설정부(740)는 하나 이상의 탐색 위치점에서의 참조 블록에 대한 중심점을 설정한다. 즉, 중심점 설정부(740)는 참조 블록을 회전하는 데 중심이 되는 중심점을 설정하는데, 중심점은 탐색 위치점이 될 수도 있고 탐색 위치점에서의 참조 블록의 정중앙이 되는 점 등 탐색 블록 내의 다양한 위치가 중심점이 될 수 있다. 이러한 중심점의 설정에 따라 움직임 추정의 효율이 달라질 수 있다.The center
블록 회전부(750)는 하나 이상의 탐색 위치점에 대한 참조 블록을 각 중심점을 기준으로 설정된 하나 이상의 회전 각도로 회전시킨다.The
부호화 비용 계산부(760)는 블록 회전부(750)에 의해 회전된 참조 블록 각각에 대해 부호화 비용을 계산하고 하나의 탐색 위치점에서 각 회전 각도로 회전된 참조 블록 각각에 대해 부호화 비용을 계산한다.The
움직임 벡터 결정부(770)는 부호화 비용 계산부(760)에 의해 계산된 하나 이상의 탐색 위치점에서 하나 이상의 회전 각도로 회전된 참조 블록에 대한 부호화 비용 중 최소 부호화 비용을 갖는 참조 블록을 결정하고, 결정된 참조 블록의 회전 각도를 회전 움직임 추정을 위한 회전 각도로 결정하고 해당 참조 블록에 대한 현재 블록의 상대적인 위치를 움직임 벡터로서 결정한다.The
도 8은 본 발명의 제 3 실시예에 따른 부호화를 위한 인터 예측 방법을 설명하기 위한 순서도이다.8 is a flowchart illustrating an inter prediction method for encoding according to a third embodiment of the present invention.
본 발명의 제 3 실시예에 따른 예측부(210)는 이웃 블록의 움직임 벡터를 이용하여 예측 움직임 벡터를 결정한다(S810). 예측부(210)는 결정된 예측 움직임 벡터를 이용하여 참조 픽처에 탐색 영역을 설정하고 설정된 탐색 영역 내에서 하나 이상의 탐색 위치점을 설정한다(S820).The
예측부(210)는 각 탐색 위치점에서의 직선 움직임 추정 비용을 계산한다(S830). 즉, 예측부(210)는 각 탐색 위치점에서의 탐색 블록과 현재 블록의 SSD 또는 SAD 등을 계산하여 직선 움직임 추정 비용을 계산한다.The
예측부(210)는 각 탐색 위치점에서의 회전 움직임 추정을 수행할 지 여부를 결정한다(S840). 여기서, 예측부(210)는 양자화 주파수 계수의 값을 이용하여 각 탐색 위치점에서의 회전 움직임 추정을 수행할지 여부를 결정할 수 있다. 즉, 예측부(210)는 각 탐색 위치점에 해당하는 참조 블록을 예측 블록으로 생성하고 현재 블록과 예측 블록의 차이를 잔차 블록으로 생성한 후, 잔차 블록을 변환 및 양자화한 양자화 주파수 계수 중 하나 이상이 '0'이 아닌지 여부를 확인하여, 하나 이상 이 '0'이 아닌 경우 각 탐색 위치점에서의 회전 움직임 추정을 수행하는 것으로 결정하고, 양자화 주파수 계수가 모두 '0'인 경우에는 해당 탐색 위치 점에서의 회전 움직임 추정을 수행하지 않는 것으로 결정한다. 이는 회전 움직임 추정을 수행하지 않은 채 부호화한 결과로서 양자화 주파수 계수가 모두 '0'인 경우에는 예측이 정확하다는 것을 의미하므로, 회전 움직임 추정을 수행할 필요가 없기 때문이다.The
단계 S840의 확인 결과, 각 탐색 위치점에서의 회전 움직임 추정을 수행하는 경우에는, 각 탐색 위치점에서의 하나 이상의 회전 각도를 설정하고 각 탐색 위치점에서의 중심점을 설정하며, 각 탐색 위치점에 해당하는 참조 블록을 하나 이상의 회전 각도로 회전시켜 부호화 비용을 계산함으로써 각 탐색 위치점에서의 회전 움직임 추정 비용을 계산한다(S850).As a result of checking in step S840, when performing rotational motion estimation at each search position point, at least one rotation angle at each search position point is set, a center point at each search position point is set, and at each search position point, By calculating the encoding cost by rotating the corresponding reference block by one or more rotation angles, the rotational motion estimation cost at each search position point is calculated (S850).
단계 S840의 확인 결과, 각 탐색 위치점에서의 회전 움직임 추정을 수행하지 않는 경우에는, 해당 탐색 위치점에서는 단계 S830에서 계산된 직선 움직임 추정 비용만이 남는다.As a result of checking in step S840, when the rotation motion estimation is not performed at each search position point, only the linear motion estimation cost calculated in step S830 remains at the search position point.
예측부(210)는 단계 S830과 단계 S850과 같이 계산된, 하나 이상의 탐색 위치점에서의 직선 움직임 추정 비용과 회전 움직임 추정 비용(회전 움직임 추정을 수행한 경우에만 계산됨)을 비교하여 각 탐색 위치점에서의 최소 부호화 비용을 결정한다(S860).The
각 탐색 위치점에서의 최소 부호화 비용이 결정되면 예측부(210)는 각 탐색 위치점에서의 최소 부호화 비용 중 최소 부호화 비용을 갖는 탐색 위치점에서의 참조블록의 움직임 벡터와 회전 각도를 현재 블록의 움직임 벡터와 회전 각도로서 결 정한다(S870).When the minimum coding cost at each search location point is determined, the
탐색 영역 내에 2 개의 탐색 위치점이 설정되고 회전 각도 범위가 ±30°이며, 회전 각도의 크기가 10°씩이라고 가정하여 각 탐색 위치점에서의 최소 부호화 비용을 결정하는 것을 예를 들어 설명한다. 제 1 탐색 위치점의 경우 회전 움직임 추정을 수행하지 않는 것으로 결정된 경우에는, 제 1 탐색 위치점에 대한 직선 움직임 추정 비용이 최소 부호화 비용으로 결정된다. 제 2 탐색 위치점의 경우 회전 움직임 추정을 수행하는 것으로 결정된 경우에는, 제 2 탐색 위치점에 대한 참조 블록을 설정된 6 개의 회전 각도(±10°, ±20°, ±30)으로 회전 시키고 각 회전 각도에서의 부호화 비용을 계산하여 6 개의 회전 움직임 추정 비용을 계산한 후, 제 2 탐색 위치점에서의 직선 움직임 추정 비용과 6 개의 회전 움직임 추정 비용 중 가장 작은 비용(+10°의 회전 각도의 회전 움직임 추정 비용이 제 2 탐색 위치점에서의 최소 부호화 비용이라 가정)을 최소 부호화 비용을 결정한다. 다시, 제 1 탐색 위치점에서의 최소 부호화 비용인 제 1 탐색 위치점에 대한 직선 움직임 추정 비용과 제 2 탐색 위치점에서의 최소 부호화 비용인 +10°의 회전 각도의 회전 움직임 추정 비용 중 최소 부호화 비용(제 2 탐색 위치점에서의 최소 부호화 비용이 최소 부호화 비용이라 가정)을 갖는 참조 블록 즉, 제 2 탐색 위치점에서의 참조 블록의 회전 각도 +10°를 현재 블록의 회전 각도로서 결정하고, 제 2 탐색 위치점에서의 참조 블록과 현재 블록 간의 상대적인 위치의 차이를 현재 블록의 움직임 벡터로서 결정한다. 만약 회전 움직임 추정을 수행하지 않은 직선 움직임 추정 비용이 최소 부호화 비용으로 결정된 경우에는 움직임 벡터만이 출력되고 회전 각도 를 출력되지 않는다.An example of determining the minimum coding cost at each search position point assuming that two search position points are set in the search area, the rotation angle range is ± 30 °, and the magnitude of the rotation angle is 10 °. When it is determined that the rotational motion estimation is not performed for the first search location point, the linear motion estimation cost for the first search location point is determined as the minimum coding cost. In the case of the second search position point, when it is determined to perform the rotation motion estimation, the reference block for the second search position point is rotated by six set rotation angles (± 10 °, ± 20 °, ± 30) and each rotation After calculating the six rotational motion estimation costs by calculating the encoding cost at the angle, the smallest of the linear motion estimation cost and the six rotational motion estimation costs at the second search position point (the rotation of the rotation angle of + 10 °) Assuming that the motion estimation cost is the minimum coding cost at the second search location point, determine the minimum coding cost. Again, the minimum coding is performed between the linear motion estimation cost for the first search location point, which is the minimum coding cost at the first search location point, and the rotation motion estimation cost with a rotation angle of + 10 °, which is the minimum coding cost at the second search location point. Determine a reference block having a cost (assuming that the minimum coding cost at the second search point is the minimum coding cost), that is, the rotation angle + 10 ° of the reference block at the second search location point as the rotation angle of the current block, The difference of the relative position between the reference block and the current block at the second search position point is determined as the motion vector of the current block. If the linear motion estimation cost without the rotation motion estimation is determined as the minimum coding cost, only the motion vector is output and the rotation angle is not output.
단계 S870에서, 현재 블록의 움직임 벡터와 회전 각도가 결정되면, 예측부(210)는 움직임 벡터를 이용하여 참조 픽처에서 참조 블록을 검색하고 검색된 참조 블록을 회전 각도만큼 회전시켜 회전 움직임을 보상함으로써 예측 블록을 생성한다(S880).In operation S870, when the motion vector and the rotation angle of the current block are determined, the
도 9는 본 발명의 제 3 실시예에 따른 복호화를 위한 인터 예측 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도이다.9 is a block diagram schematically illustrating an electronic configuration of an inter prediction apparatus for decoding according to a third embodiment of the present invention.
본 발명의 제 3 실시예에 따른 복호화를 위한 인터 예측 장치는 도 4를 통해 전술한 영상 복호화 장치(400)의 예측부(440)로 구현될 수 있다. 이하에서는 본 발명의 제 3 실시예에 따른 복호화를 위한 인터 예측 장치를 예측부(440)라 약칭한다.The inter prediction apparatus for decoding according to the third embodiment of the present invention may be implemented by the
본 발명의 제 3 실시예에 따른 예측부(440)는 움직임 보상부(910) 및 참조 픽처 저장부(920)를 포함하여 구성된다.The
움직임 보상부(910)는 복호화부(410)로부터 움직임 벡터 및 회전 정보를 수신하면, 회전 정보에 포함된 플래그를 이용하여 현재 블록이 회전 움직임 추정이 수행된 블록인지 여부를 확인하고 회전 움직임 추정이 수행된 블록인 경우에는 참조 픽처 저장부(920)에 저장된 참조 픽처에서 움직임 벡터가 지시하는 참조 블록을 회전 정보에 포함된 회전 각도만큼 회전시켜 예측 블록을 생성한다.When the
참조 픽처 저장부(920)는 디블로킹 필터부(460)로부터 출력되는 디블로킹된 현재 블록을 픽처 단위로 저장하여 참조 픽처로서 저장한다.The reference
도 10은 본 발명의 제 4 실시예에 따른 부호화를 위한 인터 예측 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도이다.FIG. 10 is a block diagram schematically illustrating an electronic configuration of an inter prediction apparatus for encoding according to a fourth embodiment of the present invention.
본 발명의 제 4 실시예에 따른 부호화를 위한 인터 예측 장치 도 2를 통해 전술한 영상 부호화 장치(200)의 예측부(210)로 구현될 수 있다. 이하에서는 본 발명의 제 4 실시예에 따른 부호화를 위한 인터 예측 장치를 예측부(210)라 약칭한다.Inter prediction apparatus for encoding according to a fourth embodiment of the present invention Through FIG. 2, the
본 발명의 제 4 실시예에 따른 예측부(210)는 움직임 추정부(1010), 움직임 보상부(1020), 참조 픽처 저장부(1030) 및 참조 픽처 회전부(1040)를 포함하여 구성될 수 있다.The
움직임 추정부(1010)는 하나 이상의 회전 참조 픽처의 참조 블록들 중에서 부호화 비용이 최소인 참조 블록을 결정하며, 결정된 참조 블록에 대한 움직임 벡터 및 결정된 참조 블록을 포함하는 참조 픽처를 식별하기 위한 참조 픽처 정보를 결정하며, 움직임 벡터, 참조 픽처 정보 등을 부호화부(250)로 출력한다. 즉, 움직임 추정부(1010)는 참조 픽처 회전부(1040)에 의해 회전되어 저장된 하나 이상의 참조 픽처의 참조 블록들 중에서 각 참조 블록에 대한 부호화 비용을 계산하고 비교하여 최소 부호화 비용을 갖는 참조 블록을 결정한다.The
여기서, 움직임 추정부(1010)는 현재 블록의 하나 이상의 이웃 블록 중 직선 움직임 보상을 수행한 이웃 블록의 움직임 벡터를 이용하여 예측 움직임 벡터를 결정할 수 있다. 또한, 움직임 추정부(1010)는 하나 이상의 참조 픽처에서 예측 움직임 벡터를 이용하여 탐색 영역을 설정하고 탐색 영역 내에서 부호화 비용이 최소인 참조 블록을 결정할 수 있다. 여기서, 부호화 비용은 현재 블록과 참조 블록의 차이를 기준으로 계산될 수 있는데, 차의 제곱 합(SSD: Sum of Squared Difference)과 차의 절대값 합(SAD : Sum of Absolute Difference) 등이 될 수 있다. 또한, 부호화 비용은 해당 참조 블록을 현재 블록의 예측 블록이라 가정하고 계산된 율-왜곡 비용(Rate-Distortion Cost)이 될 수도 있을 것이다. 또한, 회전 각도는 기 설정된 회전 각도 범위 내에서 결정될 수 있다.Here, the
움직임 보상부(1020)는 움직임 추정부(1010)에 의해 결정된 참조 픽처 정보에 의해 식별되는 각도만큼 참조 픽처가 회전된 회전 참조 픽처에서 움직임 추정부(1010)에 의해 결정된 움직임 벡터를 이용하여 움직임을 보상함으로써 현재 블록의 예측 블록을 생성하고 감산기(220)와 가산기(280)로 출력한다.The
참조 픽처 회전부(1040)는 참조 픽처 저장부(1030)에 저장된 참조 픽처를 복수 개의 블록으로 분할하고 분할된 블록들을 기 설정된 하나 이상의 회전 각도로 회전시켜 하나 이상의 회전 참조 픽처를 생성한다. 즉, 회전 각도에 따라 복수 개의 회전 참조 픽처가 생성된다. 예를 들어, 회전 각도가 ±10°, ±20°인 경우, 회전 참조 픽처는 4 개가 생성된다. 각 회전 참조 픽처의 분할된 블록들은 해당 회전 각도만큼 회전되어 있다.The reference
참조 픽처 저장부(1030)는 디블로킹 필터부(290)로부터 출력되는 디블로킹된 현재 블록을 픽처 단위로 저장하여 참조 픽처로서 저장한다.The reference
도 11은 본 발명의 제 4 실시예에 따른 부호화를 위한 인터 예측 방법을 설명하기 위한 순서도이다.11 is a flowchart illustrating an inter prediction method for encoding according to a fourth embodiment of the present invention.
본 발명의 제 4 실시예에 따른 예측부(210)는 참조 픽처를 하나 이상의 블록들로 분할하고(S1110), 참조 픽처에서 분할된 블록들을 하나 이상의 회전 각도만큼 회전시켜 하나 이상의 회전 참조 픽처를 생성한다(S1120). 예측부(210)는 생성된 하나 이상의 회전 참조 픽처를 이용하여 현재 블록의 움직임을 추정함으로써 하나 이상의 회전 참조 픽처의 참조 블록의 부호화 비용을 계산하고 비교하여 최소 부호화 비용을 갖는 참조 블록을 결정하고(S1130), 최소 부호화 비용을 갖는 참조 블록에 대한 참조 픽처 정보, 움직임 벡터 및 회전 각도를 결정한다(S1140). 예측부(210)는 결정된 참조 픽처 정보에 따른 참조 픽처에서 움직임 벡터에 의해 지시되는 참조 블록을 현재 블록의 예측 블록으로 출력한다(S1150).The
이상에서 전술한 본 발명의 실시예들은 후술할 또 다른 실시예와 같이 실현될 수도 있다. 본 발명의 제 5 실시예에 따른 영상 부호화 방법에 따르면, 영상 부호화 장치는 하나 이상의 참조 픽처를 이용하여 현재 블록의 회전 움직임을 포함하는 움직임을 추정하고, 추정된 움직임을 기초로 현재 블록의 움직임을 보상하여 예측 블록을 생성하며, 현재 블록과 예측 블록을 감산하여 잔차 블록을 생성하고 부호화할 수 있다. 여기서, 영상 부호화 장치는 움직임을 추정하는 데 있어서, 현재 블록의 움직임 보상을 위한 움직임 벡터 및 회전 정보를 생성할 수 있는데, 회전 정보는 움직임 벡터에 의해 지시되는 참조 블록의 회전 각도를 나타낼 수 있다.Embodiments of the present invention described above may be realized as another embodiment to be described later. According to an image encoding method according to a fifth embodiment of the present invention, an image encoding apparatus estimates a motion including a rotation movement of a current block by using one or more reference pictures, and based on the estimated motion, calculates a motion of the current block. A compensation block may be generated by compensating, and a residual block may be generated and encoded by subtracting the current block and the prediction block. Here, in estimating the motion, the image encoding apparatus may generate a motion vector and rotation information for motion compensation of the current block. The rotation information may indicate a rotation angle of the reference block indicated by the motion vector.
또한, 본 발명의 제 5 실시예에 따른 영상 복호화하는 방법에 따르면, 영상 부호화 장치는 비트스트림을 복호화하여 현재 블록의 잔차 블록을 생성하고 움직임 벡터와 회전 정보를 추출하고, 움직임 벡터와 회전 정보를 기초로 현재 블록의 회 전 움직임을 포함하는 움직임 보상을 수행하여 현재 블록의 예측 블록을 생성하며, 예측 블록과 잔차 블록을 가산하여 현재 블록을 복원할 수 있다. 여기서, 회전 정보는 전술한 바와 같이, 움직임 벡터에 의해 지시되는 참조 블록의 회전 각도를 나타낼 수 있다.In addition, according to the image decoding method according to the fifth embodiment of the present invention, the image encoding apparatus decodes a bitstream to generate a residual block of the current block, extract motion vector and rotation information, and extract motion vector and rotation information. Based on the motion compensation including the rotational motion of the current block, the prediction block of the current block is generated, and the prediction block and the residual block may be added to restore the current block. Here, the rotation information may indicate the rotation angle of the reference block indicated by the motion vector, as described above.
또한, 본 발명의 제 6 실시예에 따른 영상 부호화 방법에 따르면, 영상 부호화 장치는 하나 이상의 참조 픽처를 이용하여 현재 블록의 회전 움직임을 포함하는 움직임을 추정하고, 추정된 움직임을 기초로 현재 블록의 움직임을 보상하여 예측 블록을 생성하며, 현재 블록과 예측 블록을 감산하여 잔차 블록을 생성하고 부호화하는 부호화할 수 있다. 여기서, 영상 부호화 장치는 움직임을 추정하는 데 있어서, 현재 블록의 움직임 보상을 위한 움직임 벡터와 참조 픽처 정보를 생성할 수 있는데, 참조 픽처 정보는 소정 각도로 회신시킨 참조 픽처의 사용 여부를 나타내는 정보를 포함할 수 있으며, 회전 각도가 서로 다른 하나 이상의 참조 픽처 중 하나를 지시하는 참조 픽처 인덱스를 포함할 수 있다.Further, according to the image encoding method according to the sixth embodiment of the present invention, the image encoding apparatus estimates a motion including a rotational movement of the current block by using one or more reference pictures, and based on the estimated motion, The prediction block may be generated by compensating for the motion, and the encoding may be performed to generate and encode a residual block by subtracting the current block and the prediction block. Here, in estimating motion, the image encoding apparatus may generate a motion vector and reference picture information for motion compensation of the current block. The reference picture information includes information indicating whether to use a reference picture returned at a predetermined angle. It may include a reference picture index indicating one of one or more reference pictures having different rotation angles.
또한, 본 발명의 제 6 실시예에 따른 영상 부호화 방법에 다르면, 영상 부호화 장치는 비트스트림을 복호화하여 현재 블록의 잔차 블록을 생성하고 움직임 벡터와 참조 픽처 정보를 추출하고, 움직임 벡터와 참조 픽처 정보를 기초로 현재 블록의 회전 움직임을 포함하는 움직임 보상을 수행하여 현재 블록의 예측 블록을 생성하며, 예측 블록과 잔차 블록을 가산하여 현재 블록을 복원할 수 있다. 여기서, 참조 픽처 정보는 전술한 바와 같이, 소정 각도로 회전시킨 참조 픽처의 사용 여부를 나타내는 정보를 포함할 수 있으며, 회전 각도가 서로 다른 하나 이상의 참조 픽처들 중 하나를 지시하는 참조 픽처 인덱스를 포함할 수 있다.Also, according to the video encoding method according to the sixth embodiment of the present invention, the video encoding apparatus decodes the bitstream to generate a residual block of the current block, extract motion vector and reference picture information, and extract motion vector and reference picture information. The prediction block of the current block may be generated by performing motion compensation including the rotational movement of the current block, and the current block may be reconstructed by adding the prediction block and the residual block. Here, the reference picture information may include information indicating whether to use the reference picture rotated at a predetermined angle as described above, and includes a reference picture index indicating one of one or more reference pictures having different rotation angles. can do.
이상에서 설명한 바와 같이, 본 발명에 따르면, 영상의 직선 움직임뿐만 아니라 회전 움직임도 추정하고 보상함으로써 현재 블록을 예측할 수 있어, 예측의 정확도와 그를 통한 영상 부호화 및 복호화 효율을 향상시킬 수 있다.As described above, according to the present invention, the current block can be predicted by estimating and compensating not only the linear motion but also the rotational motion of the image, thereby improving the accuracy of prediction and the image encoding and decoding efficiency through the prediction.
또한, 본 발명에 따르면, 참조 픽처의 탐색 영역 내의 각 탐색 위치점에서 양자화 주파수 계수의 계수값을 이용하여 회전 움직임을 추정할지 여부를 결정하고 회전 움직임 추정이 필요한 경우에만 회전 움직임 추정을 할 수 있어, 회전 움직임 추정 및 보상에 따른 계산의 복잡도를 낮추어 계산량을 줄일 수 있다.Further, according to the present invention, it is possible to determine whether to estimate the rotational motion by using the coefficient value of the quantization frequency coefficient at each search position point in the search region of the reference picture, and to estimate the rotational motion only when the rotational motion estimation is necessary. In addition, the computational complexity can be reduced by lowering the complexity of the calculation according to the rotational motion estimation and compensation.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. That is, within the scope of the present invention, all of the components may be selectively coupled to one or more of them. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program can be stored in a computer-readable storage medium, readable and executed by a computer, thereby realizing an embodiment of the present invention. The storage medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.It is also to be understood that the terms such as " comprises, "" comprising," or "having ", as used herein, mean that a component can be implanted unless specifically stated to the contrary. But should be construed as including other elements. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used terms, such as predefined terms, should be interpreted to be consistent with the contextual meanings of the related art, and are not to be construed as ideal or overly formal, unless expressly defined to the contrary.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.
이상에서 설명한 바와 같이 본 발명은 영상의 현재 블록을 예측할 때 현재 블록의 움직임을 효율적으로 추정하고 보상하여 현재 블록을 예측하는 방법 및 장치와 그를 이용하여 영상을 부호화하거나 복호화하는 장치 및 방법 분야에 적용되어, 영상의 회전 움직임을 효율적으로 추정하고 보상함으로써 부호화 및 복호화를 위한 영상의 예측 정확도를 향상시킬 수 있어 부호화 및 복호화 효율을 향상시킬 수 있는 효과를 발생하는 매우 유용한 발명이다.As described above, the present invention is applied to a method and apparatus for predicting a current block by efficiently estimating and compensating the motion of a current block when predicting a current block of an image, and an apparatus and method for encoding or decoding an image using the same. Thus, by effectively estimating and compensating for the rotational motion of the image, the prediction accuracy of the image for encoding and decoding can be improved, thereby generating an effect of improving the encoding and decoding efficiency.
도 1은 참조 블록에서 매크로 블록을 탐색하는 과정을 나타낸 예시도,1 is an exemplary diagram illustrating a process of searching for a macro block in a reference block;
도 2는 본 발명의 제 1 실시예에 따른 영상 부호화 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도,2 is a block diagram schematically illustrating an electronic configuration of a video encoding apparatus according to a first embodiment of the present invention;
도 3은 본 발명의 제 1 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,3 is a flowchart illustrating a video encoding method according to a first embodiment of the present invention;
도 4는 본 발명의 제 2 실시예에 따른 영상 복호화 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도,4 is a block diagram schematically illustrating an electronic configuration of an image decoding apparatus according to a second embodiment of the present invention;
도 5는 본 발명의 제 2 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,5 is a flowchart illustrating an image decoding method according to a second embodiment of the present invention;
도 6은 본 발명의 제 3 실시예에 따른 부호화를 위한 인터 예측 장치의 전자적인 구성을 간략하게 타나낸 블록 구성도,6 is a block diagram schematically illustrating an electronic configuration of an inter prediction apparatus for encoding according to a third embodiment of the present invention;
도 7은 본 발명의 제 3 실시예에 따른 움직임 추정부를 간략하게 나타낸 블록 구성도,7 is a block diagram schematically illustrating a motion estimation unit according to a third embodiment of the present invention;
도 8은 본 발명의 제 3 실시예에 따른 부호화를 위한 인터 예측 방법을 설명하기 위한 순서도,8 is a flowchart illustrating an inter prediction method for encoding according to a third embodiment of the present invention;
도 9는 본 발명의 제 3 실시예에 따른 복호화를 위한 인터 예측 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도,9 is a block diagram schematically illustrating an electronic configuration of an inter prediction apparatus for decoding according to a third embodiment of the present invention;
도 10은 본 발명의 제 4 실시예에 따른 부호화를 위한 인터 예측 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도,10 is a block diagram schematically illustrating an electronic configuration of an inter prediction apparatus for encoding according to a fourth embodiment of the present invention;
도 11은 본 발명의 제 4 실시예에 따른 부호화를 위한 인터 예측 방법을 설명하기 위한 순서도,11 is a flowchart illustrating an inter prediction method for encoding according to a fourth embodiment of the present invention;
도 12는 본 발명에 따라 예측 움직임 벡터를 결정하는 과정을 설명하기 위한 예시도이다.12 is an exemplary view for explaining a process of determining a predicted motion vector according to the present invention.
Claims (22)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020080088910A KR101341998B1 (en) | 2008-09-09 | 2008-09-09 | Inter Prediction Apparatus of Considering Rotational Motion and Video Encoding/Decoding Method and Apparatus Using Same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020080088910A KR101341998B1 (en) | 2008-09-09 | 2008-09-09 | Inter Prediction Apparatus of Considering Rotational Motion and Video Encoding/Decoding Method and Apparatus Using Same |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20100030119A KR20100030119A (en) | 2010-03-18 |
| KR101341998B1 true KR101341998B1 (en) | 2013-12-16 |
Family
ID=42180132
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020080088910A Expired - Fee Related KR101341998B1 (en) | 2008-09-09 | 2008-09-09 | Inter Prediction Apparatus of Considering Rotational Motion and Video Encoding/Decoding Method and Apparatus Using Same |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR101341998B1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101341993B1 (en) | 2010-10-06 | 2013-12-16 | 에스케이텔레콤 주식회사 | Method and Apparatus for Image Encoding/Decoding Using High Resolution Filter |
| WO2012047047A2 (en) * | 2010-10-06 | 2012-04-12 | 에스케이텔레콤 주식회사 | Method and apparatus for encoding/decoding video using high-precision filter |
| US10560678B2 (en) * | 2016-11-09 | 2020-02-11 | Mediatek Inc. | Method and apparatus having video encoding function with syntax element signaling of rotation information of content-oriented rotation applied to 360-degree image content or 360-degree video content represented in projection format and associated method and apparatus having video decoding function |
-
2008
- 2008-09-09 KR KR1020080088910A patent/KR101341998B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| KR20100030119A (en) | 2010-03-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101377660B1 (en) | Motion Vector Encoding/Decoding Method and Apparatus Using Multiple Motion Vector Estimation and Video Encoding/Decoding Method and Apparatus Using Same | |
| US9319714B2 (en) | Intra prediction method and apparatus, and image encoding/decoding method and apparatus using same | |
| US9571851B2 (en) | Inter prediction method and apparatus using adjacent pixels, and image encoding/decoding method and apparatus using same | |
| KR101681303B1 (en) | Method and Apparatus for Encoding/Decoding of Video Data Using Partitioned-Block Prediction | |
| US9602834B2 (en) | Method and apparatus for encoding/decoding video using high-precision filter | |
| KR20100041393A (en) | Method and apparatus for encoding and decoding motion vector in plural number of reference pictures and video encoding/decoding method and apparatus using same | |
| KR20130085838A (en) | Video coding method and apparatus using weighted prediction | |
| KR20130003718A (en) | Method and apparatus for image encoding/decoding by fast coding unit mode decision | |
| KR101418104B1 (en) | Motion Vector Coding Method and Apparatus by Using Motion Vector Resolution Combination and Video Coding Method and Apparatus Using Same | |
| KR20100042542A (en) | Reference frame creating method and apparatus and video encoding/decoding method and apparatus using same | |
| KR20080033813A (en) | Data encoding / decoding method and apparatus | |
| KR101432767B1 (en) | Inter Prediction Method and Apparatus Using Motion Information Based Adjacent Pixels and Video Coding Method and Apparatus Using Same | |
| KR20110033511A (en) | Inter prediction method and apparatus using adjacent pixels and image encoding / decoding method and apparatus using same | |
| KR101341998B1 (en) | Inter Prediction Apparatus of Considering Rotational Motion and Video Encoding/Decoding Method and Apparatus Using Same | |
| US9319710B2 (en) | Video encoding and decoding apparatus and method | |
| KR20100035243A (en) | Quantization parameter determination method and apparatus and video encoding/decoding method and apparatus | |
| KR101527148B1 (en) | Inter prediction device and image encoding / decoding device and method using the same | |
| KR20130023444A (en) | Apparatus and method for video encoding/decoding using multi-step inter prediction | |
| KR20110023023A (en) | Motion vector encoding / decoding method and apparatus for video encoding and image encoding / decoding method using the same | |
| KR101590493B1 (en) | Method and Apparatus for Encoding and Decoding Video by Using Inter Prediction | |
| KR101379189B1 (en) | Video Coding Method and Apparatus by Using Filtering Motion Compensation Frame | |
| KR20130098465A (en) | Video encoding apparatus and method thereof, and video decoding apparatus and method thereof | |
| KR101673026B1 (en) | Method and Apparatus for Coding Competition-based Interleaved Motion Vector and Method and Apparatus for Encoding/Decoding of Video Data Thereof | |
| KR101575616B1 (en) | Method and Apparatus for Encoding and Decoding Motion Vector in Plural Number of Reference Pictures and Video Encoding/Decoding Method and Apparatus Using Same | |
| KR101693284B1 (en) | Method and Apparatus for Encoding/Decoding of Video Data Using Global Motion-based Enconding Structure |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20161206 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20171204 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| FPAY | Annual fee payment |
Payment date: 20181203 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| FPAY | Annual fee payment |
Payment date: 20190926 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20241211 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20241211 |