KR100928325B1 - Image encoding and decoding method and apparatus - Google Patents

Image encoding and decoding method and apparatus Download PDF

Info

Publication number
KR100928325B1
KR100928325B1 KR1020070103693A KR20070103693A KR100928325B1 KR 100928325 B1 KR100928325 B1 KR 100928325B1 KR 1020070103693 A KR1020070103693 A KR 1020070103693A KR 20070103693 A KR20070103693 A KR 20070103693A KR 100928325 B1 KR100928325 B1 KR 100928325B1
Authority
KR
South Korea
Prior art keywords
motion vector
current block
motion
encoding
block
Prior art date
Application number
KR1020070103693A
Other languages
Korean (ko)
Other versions
KR20090038278A (en
Inventor
이영렬
이융기
Original Assignee
세종대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세종대학교산학협력단 filed Critical 세종대학교산학협력단
Priority to KR1020070103693A priority Critical patent/KR100928325B1/en
Publication of KR20090038278A publication Critical patent/KR20090038278A/en
Application granted granted Critical
Publication of KR100928325B1 publication Critical patent/KR100928325B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Abstract

본 발명은 영상의 부호화, 복호화 방법 및 장치에 관한 것으로 본 발명에 따른 영상의 부호화 방법은 현재 블록의 예측에 필요한 제1 움직임 벡터와 현재 블록에 인접한 이전에 부호화된 영역에 포함되어 있는 픽셀들을 이용해 생성된 제2 움직임 벡터가 일치하는지 여부에 기초하여 현재 블록의 움직임 벡터를 부호화함으로써 움직임 벡터의 부호화에 소모되는 비트 수를 줄일 수 있어 영상 부호화의 압축률이 향상된다. The present invention relates to a method and apparatus for encoding and decoding an image. The method for encoding an image according to the present invention uses a first motion vector required for prediction of a current block and pixels included in a previously encoded region adjacent to the current block. By encoding the motion vector of the current block based on whether the generated second motion vectors match, the number of bits consumed for encoding the motion vector can be reduced, thereby improving the compression rate of the image encoding.

Description

영상의 부호화, 복호화 방법 및 장치{Method and apparatus for encoding and decoding image}Method and apparatus for encoding and decoding an image {Method and apparatus for encoding and decoding image}

본 발명은 영상의 부호화, 복호화 방법 및 장치에 관한 것으로 보다 상세히는 인터 예측에 필요한 움직임 벡터를 부호화하는데 소모되는 비트 수를 최소화하여 영상을 부호화, 복호화 하는 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for encoding and decoding an image, and more particularly, to a method and apparatus for encoding and decoding an image by minimizing the number of bits consumed in encoding a motion vector required for inter prediction.

본 연구는 서울특별시의 신기술연구개발지원사업의 일환으로 수행한 연구로부터 도출된 것이다[과제고유번호:11098, 과제명:차세대 DMB/DTV를 위한 비디오 압축 기술 및 저작권 관리 기술연구].This study was derived from a study conducted as part of the Seoul Metropolitan Government's New Technology R & D Support Project [Task No.:11098, Project Title: Video Compression Technology and Copyright Management Technology for Next Generation DMB / DTV].

MPEG-1, MPEG-2, MPEG-4 H.264/MPEG-4 AVC(Advanced Video coding)와 같은 영상 압축 방식에서는 영상을 부호화하기 위해서 하나의 픽처(picture)를 소정의 영상 처리 단위 예를 들어, 매크로 블록으로 나눈다. 그리고, 인터 예측(inter prediction) 또는 인트라 예측(intra prediction)을 이용해 각각의 매크로 블록을 부호화한다. 데이터 크기 및 원본 매크로 블록의 왜곡 정도를 고려하여 최적의 부호화 모드를 선택하고, 선택된 모드에 따라 매크로 블록을 부호화한다.In an image compression scheme such as MPEG-1, MPEG-2, MPEG-4 H.264 / MPEG-4 AVC (Advanced Video coding), a picture is a predetermined image processing unit, for example, to encode an image. , Divide into macro blocks. Each macro block is encoded using inter prediction or intra prediction. The optimal encoding mode is selected in consideration of the data size and the distortion degree of the original macroblock, and the macroblock is encoded according to the selected mode.

인터 예측은 픽처들 사이의 시간적인 중복성을 제거하여 영상을 압축하는 방 법으로 움직임 추정 부호화 방법이 대표적인 예이다. 움직임 추정 부호화는 적어도 하나의 참조 픽처를 이용하여 현재 픽처의 움직임을 블록 단위로 추정하고, 움직임 추정 결과에 기초하여 현재 블록을 예측한다.Inter prediction is a method of compressing an image by removing temporal redundancy between pictures, and a motion estimation encoding method is a representative example. The motion estimation encoding estimates the motion of the current picture in units of blocks using at least one reference picture and predicts the current block based on the motion estimation result.

현재 블록의 예측을 위해 움직임 추정 부호화에서는 소정의 평가 함수를 이용하여 현재 블록과 가장 유사한 블록을 참조 픽처의 정해진 검색 범위에서 검색한다. 유사한 블록이 검색되면, 현재 블록과 참조 픽처 내의 유사한 블록 사이의 레지듀(residual) 데이터만 부호화하여 전송함으로써 데이터의 압축률을 높인다. 도 1을 참조하여 상세히 설명한다. In order to predict the current block, the motion estimation encoding searches for a block most similar to the current block in a predetermined search range of the reference picture by using a predetermined evaluation function. If a similar block is found, only the residual data between the current block and the similar block in the reference picture is encoded and transmitted, thereby increasing the compression ratio of the data. This will be described in detail with reference to FIG. 1.

도 1은 종래 기술에 따른 움직임 추정 방법을 설명하기 위한 도면이다.1 is a view for explaining a motion estimation method according to the prior art.

도 1을 참조하면, 현재 픽처(120)의 현재 블록(122)을 참조 픽처(110)을 검색하여 인터 예측한다. 현재 블록(122)의 위치에 대응되는 참조 픽처(110)에서의 위치를 중심으로 정해진 검색 범위(126)를 검색하여 최소 SAD(sum of absolute difference) 값을 가지는 블록(124)을 검색한다. 현재 블록(122)의 위치로부터 검색된 블록(124)의 위치로의 상대적인 위치 변위를 나타내는 벡터가 움직임 벡터(130)가 된다. Referring to FIG. 1, the current block 122 of the current picture 120 is searched for the reference picture 110 and inter-predicted. The search range 126 determined based on the position in the reference picture 110 corresponding to the position of the current block 122 is searched for a block 124 having a minimum sum of absolute difference (SAD) value. The vector representing the relative positional displacement from the position of the current block 122 to the position of the retrieved block 124 becomes the motion vector 130.

도 1에 도시된 움직임 추정 방법에 의해 움직임 벡터(130)가 추정되면, 현재 블록에 인접한 이전에 부호화된 영역(124)에 포함되어 있는 블록들(132 내지 136)의 움직임 벡터들로부터 현재 블록(122)의 움직임 벡터(130)를 예측한다. When the motion vector 130 is estimated by the motion estimation method shown in FIG. 1, the current block (from the motion vectors of the blocks 132 to 136 included in the previously encoded region 124 adjacent to the current block) A motion vector 130 of 122 is predicted.

예측 결과 예측 움직임 벡터가 생성되면, 움직임 벡터(130)에서 예측 움직임 벡터를 감산한 차이 벡터를 부호화하여 영상 데이터의 비트스트림에 삽입한다. 종 래 기술에 따른 움직임 벡터(130)를 그대로 부호화하지 않고 예측 움직임 벡터와의 차이인 차이 벡터만을 부호화하여 움직임 벡터(130)의 부호화에 소모되는 비트 수를 줄인다. When the prediction motion vector is generated as a result of the prediction, the difference vector obtained by subtracting the prediction motion vector from the motion vector 130 is encoded and inserted into the bitstream of the image data. Instead of encoding the motion vector 130 according to the related art, only the difference vector, which is a difference from the predicted motion vector, is encoded to reduce the number of bits consumed for encoding the motion vector 130.

그러나, 이와 같이 움직임 벡터를 예측 부호화한다고 해도 영상 데이터에서 움직임 벡터의 부호화를 위해 사용된 비트들이 차지하는 비중은 매우 크며, 따라서, 움직임 벡터를 보다 효율적으로 압축하여 영상을 부호화, 복호화하는 방법이 필요하다. However, even when the motion vector is predictively encoded, the bits used for encoding the motion vector in the image data occupy a very large portion. Therefore, a method of encoding and decoding an image by compressing the motion vector more efficiently is needed. .

본 발명이 해결하고자 하는 과제는 현재 블록에 인접한 픽셀들을 이용하여 움직임 벡터에 대한 정보를 보다 효율적으로 압축할 수 있는 영상의 부호화, 복호화 방법 및 장치를 제공함에 있고, 상기 영상의 부호화, 복호화 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공함에 있다. The present invention has been made in an effort to provide a method and apparatus for encoding and decoding an image capable of more efficiently compressing information about a motion vector using pixels adjacent to a current block. A computer readable recording medium having recorded thereon a program for execution is provided.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 영상의 부호화 방법은 현재 블록을 이용해 움직임 추정을 수행하여 제1 움직임 벡터를 생성하고, 상기 현재 블록에 인접한 이전에 부호화된 영역에 포함되어 있는 픽셀들을 이용해 움직임 추정을 수행하여 제2 움직임 벡터를 생성하는 단계; 상기 제1 움직임 벡터에 따라 현재 블록을 움직임 보상하여 상기 현재 블록을 예측하는 단계; 및 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하는지 여부 및 상기 예측 결과 생성된 예측 블록에 기초하여 상기 현재 블록을 부호화하는 단계를 포함한다.According to an aspect of the present invention, a method of encoding an image according to the present invention generates a first motion vector by performing motion estimation using a current block and uses pixels included in a previously encoded region adjacent to the current block. Generating a second motion vector by performing motion estimation; Predicting the current block by motion compensating the current block according to the first motion vector; And encoding the current block based on whether the first motion vector and the second motion vector match and the prediction block generated as a result of the prediction.

본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 부호화하는 단계는 상기 예측 블록을 상기 현재 블록에서 감산하여 상기 현재 블록의 레지듀얼 블록을 생성하는 단계; 상기 레지듀얼 블록을 부호화하는 단계; 및 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하는지 여부에 기초하여 상기 제1 움직임 벡터를 선택적으로 부호화하는 단계를 포함한다.According to a more preferred embodiment of the present invention, the step of encoding comprises: generating a residual block of the current block by subtracting the prediction block from the current block; Encoding the residual block; And selectively encoding the first motion vector based on whether the first motion vector and the second motion vector match.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 영상 부호화 장치는 현재 블록을 이용해 움직임 추정을 수행하여 제1 움직임 벡터를 생성하고, 상기 현재 블록에 인접한 이전에 부호화된 영역에 포함되어 있는 픽셀들을 이용해 움직임 추정을 수행하여 제2 움직임 벡터를 생성하는 움직임추정부; 상기 제1 움직임 벡터에 따라 현재 블록을 움직임 보상하여 상기 현재 블록을 예측하는 움직임보상부; 및 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하는지 여부 및 상기 예측 결과 생성된 예측 블록에 기초하여 상기 현재 블록을 부호화하는 부호화부를 포함한다.According to an aspect of the present invention, an image encoding apparatus generates a first motion vector by performing motion estimation using a current block, and uses a pixel included in a previously encoded region adjacent to the current block. A motion estimation unit for performing an estimation to generate a second motion vector; A motion compensator for predicting the current block by motion compensating the current block according to the first motion vector; And an encoder which encodes the current block based on whether the first motion vector and the second motion vector match and the prediction block generated as a result of the prediction.

본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 부호화부는 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하면, 일치함을 나타내는 플래그 정보만 부호화하고, 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하지 않으면, 일치하지 않음을 나타내는 플래그 정보 및 상기 제1 움직임 벡터를 부호화하는 것을 특징으로 하는 영상 부호화 장치.According to a more preferred embodiment of the present invention, if the first motion vector and the second motion vector match, the encoder encodes only flag information indicating that the first motion vector and the second motion vector, and the first motion vector and the second motion vector. If is not matched, the video encoding apparatus characterized by encoding flag information indicating that there is no match and the first motion vector.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 영상의 복호화 방법은 현재 블록에 대한 영상 데이터를 복호화하여 상기 현재 블록의 레지듀얼 블록을 생성하는 단계; 상기 현재 블록을 예측하기 위해 필요한 제1 움직임 벡터와 상기 현재 블록에 인접한 이전에 복호화된 영역에 포함되어 있는 픽셀들을 이용해 움직임 추정을 수행한 결과 생성되는 제2 움직임 벡터의 일치 여부에 대한 정보를 참조하여 상기 제1 움직임 벡터를 생성하는 단계; 상기 생성된 제1 움직임 벡터에 따라 현재 블록을 움직임 보상하여 상기 현재 블록을 예측하는 단계; 및 상기 예측 결과 생성된 예측 블록 및 상기 레지듀얼 블록에 기초하여 상기 현재 블록을 복원하는 단계 를 포함한다.According to an aspect of the present invention, there is provided a method of decoding an image, the method comprising: generating a residual block of the current block by decoding image data of the current block; Refer to information on whether a first motion vector required for predicting the current block and a second motion vector generated as a result of performing motion estimation using pixels included in a previously decoded region adjacent to the current block are matched. Generating the first motion vector; Predicting the current block by motion compensating the current block according to the generated first motion vector; And restoring the current block based on the prediction block and the residual block generated as a result of the prediction.

본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 일치 여부에 대한 정보는 상기 제1 움직임 벡터와 상기 제2 움직임 벡터의 일치 여부를 나타내는 플래그 정보인 것을 특징으로 한다.According to a preferred embodiment of the present invention, the information on whether the match is characterized in that the flag information indicating whether the first motion vector and the second motion vector match.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 영상 복호화 장치는 현재 블록에 대한 영상 데이터를 복호화하여 상기 현재 블록의 레지듀얼 블록을 생성하는 복호화부; 상기 현재 블록을 예측하기 위해 제1 움직임 벡터와 상기 현재 블록에 인접한 이전에 복호화된 영역에 포함되어 있는 픽셀들을 이용해 움직임 추정을 수행한 결과 생성되는 제2 움직임 벡터의 일치 여부에 대한 정보를 참조하여 상기 제1 움직임 벡터를 생성하는 움직임추정부; 상기 생성된 제1 움직임 벡터에 따라 현재 블록을 움직임 보상하여 상기 현재 블록을 예측하는 움직임보상부; 및 상기 예측 결과 생성된 예측 블록 및 상기 레지듀얼 블록에 기초하여 상기 현재 블록을 복원하는 복원부를 포함한다.According to an aspect of the present invention, there is provided a video decoding apparatus including: a decoder configured to decode video data of a current block to generate a residual block of the current block; In order to predict the current block, information about whether a first motion vector matches a second motion vector generated as a result of performing motion estimation using pixels included in a previously decoded region adjacent to the current block is referred to. A motion estimation unit for generating the first motion vector; A motion compensator for predicting the current block by motion compensating the current block according to the generated first motion vector; And a reconstruction unit reconstructing the current block based on the prediction block and the residual block generated as a result of the prediction.

상기 기술적 과제를 해결하기 위해 본 발명은 상기 영상의 부호화 및 복호화 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. In order to solve the above technical problem, the present invention provides a computer-readable recording medium having recorded thereon a program for executing the method of encoding and decoding the video.

본 발명에 따르면, 현재 블록의 주변에 인접한 이전에 부호화된 영역에 포함되어 있는 픽셀들을 이용해 움직임 추정을 수행하여 생성된 움직임 벡터와 현재 블록의 움직임 벡터가 일치하는 경우 움직임 벡터를 부호화하지 않고, 영상을 부호화 하기 때문에 영상 부호화의 압축률이 향상된다.According to the present invention, if a motion vector generated by performing motion estimation using pixels included in a previously encoded region adjacent to a current block coincides with the motion vector of the current block, the motion vector is not encoded. Since the coding is performed, the compression rate of the video encoding is improved.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치를 도시한다. 2 illustrates an image encoding apparatus according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치(200)는 움직임추정부(210), 움직임보상부(220) 및 부호화부(230)를 포함한다. Referring to FIG. 2, the image encoding apparatus 200 according to an embodiment of the present invention includes a motion estimator 210, a motion compensator 220, and an encoder 230.

움직임추정부(210)는 현재 블록을 이용해 제1 움직임 벡터를 생성하고, 현재 블록에 인접한 이전에 부호화된 영역에 포함되어 있는 픽셀들을 이용해 제2 움직임 벡터를 생성한다. 도 1에 도시된 종래 기술에 따른 움직임 추정에서는 현재 블록(122)의 인터 예측 다시 말해, 움직임 예측을 위해 현재 블록(122)을 이용해 참조 픽처(110)의 정해진 검색 범위(126)를 검색하여 SAD 값이 최소인 블록(124)를 찾고, 그 상대적인 위치 차이를 움직임 벡터(130)로 생성하였다. 그러나, 본 발명에 따른 움직임추정부(210)는 현재 블록에 인접한 픽셀들도 이용해 움직임 추정을 수행함으로써 복수의 움직임 추정을 수행한다. 도 3을 참조하여 상세히 설명한다.The motion estimation unit 210 generates a first motion vector using the current block, and generates a second motion vector using pixels included in a previously encoded region adjacent to the current block. In the motion estimation according to the related art shown in FIG. 1, the inter prediction of the current block 122, that is, the SAD is searched by searching the predetermined search range 126 of the reference picture 110 using the current block 122 for motion prediction. The block 124 having the minimum value is found and the relative position difference is generated as the motion vector 130. However, the motion estimation unit 210 according to the present invention performs a plurality of motion estimation by performing motion estimation using pixels adjacent to the current block. This will be described in detail with reference to FIG. 3.

도 3은 본 발명의 일 실시예에 따른 움직임 추정 방법을 설명하기 위한 도면이다. 3 is a view for explaining a motion estimation method according to an embodiment of the present invention.

움직임추정부(210)는 우선 현재 블록(322)을 이용해 움직임 추정을 수행한다. 참조 픽처(310)의 정해진 범위(314)를 검색하여 현재 블록(322)과의 SAD 값이 최소인 블록(312)을 찾는다. 검색 결과 제1 움직임 벡터(330)가 생성된다. The motion estimation unit 210 first performs motion estimation using the current block 322. The predetermined range 314 of the reference picture 310 is searched to find a block 312 having a minimum SAD value with the current block 322. As a result, the first motion vector 330 is generated.

그런 다음, 현재 블록(322)에 인접한 이전에 부호화된 영역(324)에 포함되어 있는 픽셀들(328)을 이용해 참조 픽처(310)를 검색하여 픽셀들(328)과의 SAD 값이 최소인 픽셀들(316)을 찾는다. 검색 결과 제2 움직임 벡터(332)가 생성된다. Then, the reference picture 310 is searched using the pixels 328 included in the previously encoded region 324 adjacent to the current block 322 to obtain a pixel having a minimum SAD value with the pixels 328. Find field 316. As a result of the search, the second motion vector 332 is generated.

현재 블록에 인접한 픽셀들(328)을 이용해 움직임을 추정함에 있어 그 검색 범위는 제1 움직임 벡터(330)를 생성하기 위해 검색한 범위(314)와 동일할 수도 있고 그보다 더 작거나 범위일 수도 있다In estimating motion using pixels 328 adjacent to the current block, the search range may be the same as, or less than or equal to, the range 314 searched to produce the first motion vector 330.

다시 도 2를 참조하면, 움직임보상부(220)는 움직임추정부(210)의 추정 결과 생성된 제1 움직임 벡터(330)를 이용해 움직임 보상을 수행한다. 현재 블록(322)을 이용해 움직임 추정을 수행한 결과 생성된 제1 움직임 벡터(330)를 이용해 움직임 보상을 수행한다. 인터 예측에서는 현재 블록(322)과 가장 유사한 블록을 예측 값으로 이용하여야 부호화의 압축률이 향상되므로, 현재 블록(330)과의 SAD 값이 최소인 블록(312)에 대한 제1 움직임 벡터(330)에 따라 움직임 보상을 수행한다. 움직임 보상의 결과 SAD 값이 최소인 블록(312)이 현재 블록(330)의 예측 블록이 된다. Referring back to FIG. 2, the motion compensator 220 performs motion compensation using the first motion vector 330 generated as a result of the estimation of the motion estimation unit 210. Motion compensation is performed using the first motion vector 330 generated as a result of the motion estimation using the current block 322. In inter prediction, the compression rate of the encoding is improved by using a block most similar to the current block 322 as a prediction value, so that the first motion vector 330 for the block 312 having the smallest SAD value with the current block 330 is used. Perform motion compensation accordingly. As a result of the motion compensation, the block 312 having the smallest SAD becomes the prediction block of the current block 330.

부호화부(230)는 움직임추정부(210)에서 생성된 제1 움직임 벡터(330)와 제2 움직임 벡터(332)의 일치 여부 및 움직임보상부(220)에서 움직임 보상 결과 생성된 예측 블록에 기초하여 현재 블록(322)을 부호화한다. The encoder 230 is based on whether the first motion vector 330 generated by the motion estimator 210 and the second motion vector 332 match, and the prediction block generated as a result of the motion compensation by the motion compensator 220. The current block 322 is encoded.

우선 현재 블록(322)에서 예측 블록을 감산하여 레지듀얼 블록을 생성하고, 생성된 레지듀얼 블록을 부호화한다. 레지듀얼 블록을 이산 코사인 변환하여 이산 코사인 계수를 생성하고, 생성된 계수들을 양자화하고 엔트로피 부호화한다. First, a residual block is generated by subtracting a prediction block from the current block 322, and the generated residual block is encoded. Discrete cosine transforms the residual block to generate discrete cosine coefficients, and quantizes and entropy codes the generated coefficients.

레지듀얼 블록의 부호화와 더불어 움직임 벡터도 부호화되는데, 본 발명에 따른 부호화부(230)는 현재 블록(322)의 움직임 벡터를 부호화함에 있어 종래 기술과는 다른 방법에 의해 부호화한다. In addition to encoding of the residual block, a motion vector is also encoded. The encoder 230 according to the present invention encodes the motion vector of the current block 322 by using a method different from that of the prior art.

종래 기술에 따르면, 현재 블록(322)의 인터 예측 즉, 움직임 보상에 이용되는 제1 움직임 벡터(330)는 반드시 부호화되어야 한다. 다시 말해, 인터 예측을 수행하여 부호화하는 모든 블록에 대하여 현재 블록의 주변에 인접한 블록들의 움직임 벡터들로부터 제1 움직임 벡터(330)를 예측해 예측 움직임 벡터를 생성하고, 생성된 예측 움직임 벡터를 제1 움직임 벡터(330)에서 감산하여 차이 벡터를 생성한다. 그런 다음, 차이 벡터를 엔트로피 부호화한다. According to the prior art, the first motion vector 330 used for inter prediction, that is, motion compensation, of the current block 322 must be encoded. In other words, for all blocks that perform inter prediction and encode, the first motion vector 330 is predicted from the motion vectors of blocks adjacent to the current block to generate a predicted motion vector, and the generated predicted motion vector is obtained from the first motion vector. The difference vector is generated by subtracting from the motion vector 330. Then, the difference vector is entropy coded.

그러나, 본 발명에 따른 부호화부(230)는 현재 블록(322)의 움직임 보상에 필요한 움직임 벡터, 다시 말해, 현재 블록(322)의 예측에 이용되는 제1 움직임 벡터(330)를 선택적으로 부호화한다. 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치하는 경우에는 제1 움직임 벡터(330)를 부호화하지 아니하고, 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 불일치하는 경우에만 제1 움직임 벡터(330)를 부호화한다. However, the encoder 230 according to the present invention selectively encodes a motion vector necessary for motion compensation of the current block 322, that is, a first motion vector 330 used for prediction of the current block 322. . When the first motion vector 330 and the second motion vector 332 match, the first motion vector 330 is not encoded, and the first motion vector 330 and the second motion vector 332 do not match. Only the first motion vector 330 is encoded.

제2 움직임 벡터(332)는 현재 블록(322)에 인접한 이전에 부호화된 영역에 포함되어 있는 픽셀들(328)을 이용해 움직임 추정을 수행한 결과 생성된 움직임 벡터이다. 따라서, 현재 블록의 복호화 시에는 현재 블록에 인접한 이전에 복호화된 영역에 포함되어 있는 픽셀들을 이용해 생성할 수 있는 움직임 벡터이다. 이러한 특징을 이용해 본 발명은 제2 움직임 벡터(332)와 제1 움직임 벡터(330)가 일치하 는 경우에는 현재 블록의 인터 예측에 이용되는 제1 움직임 벡터(330)를 부호화하지 않고, 레지듀얼 블록만 부호화한다. The second motion vector 332 is a motion vector generated as a result of performing motion estimation using the pixels 328 included in the previously encoded region adjacent to the current block 322. Therefore, the decoding of the current block is a motion vector that can be generated using pixels included in a previously decoded region adjacent to the current block. By using this feature, the present invention does not encode the first motion vector 330 used for inter prediction of the current block when the second motion vector 332 and the first motion vector 330 coincide with each other. Encode only blocks.

다만, 이 경우 부호화하는 측이 제2 움직임 벡터(332)를 생성하여 그대로 현재 블록의 인터 예측을 위한 움직임 벡터로 이용하기 위해서는 본 발명에 따른 부호화 방법에 의해 제1 움직임 벡터(330)의 부호화가 생략되었음을 알 수 있어야 한다. 이를 위해 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치함을 알리는 정보가 현재 블록에 대한 영상 데이터에 포함되어야 한다. In this case, however, in order for the encoding side to generate the second motion vector 332 and use it as a motion vector for inter prediction of the current block, the encoding of the first motion vector 330 is performed by the encoding method according to the present invention. It should be noted that it has been omitted. To this end, information indicating that the first motion vector 330 coincides with the second motion vector 332 should be included in the image data for the current block.

도 4는 본 발명의 일 실시예에 따른 매크로 블록 헤더의 구문(syntax)를 도시한다. 4 illustrates syntax of a macro block header according to an embodiment of the present invention.

도 4는 현재 블록(322)이 매크로 블록인 경우 매크로 블록 헤더에 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치함을 나타내는 정보를 포함시키는 경우, 그 구문의 일 실시예를 도시한다. 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치하는 경우 "mv_fag" 구문은 1로 설정되고, 이 경우 "if(mv_flag!=1)" 구문에 포함된 11 내지 14 라인의 구문은 건너뛴다. 11 내지 14 라인의 구문은 현재 블록(322)의 인터 예측을 위한 제1 움직임 벡터(330)를 설정하기 위한 구문이다. 4 illustrates an embodiment of the syntax when the current block 322 includes information indicating that the first motion vector 330 and the second motion vector 332 coincide in the macro block header. Illustrated. If the first motion vector 330 and the second motion vector 332 match, the syntax "mv_fag" is set to 1, in which case the syntax of lines 11 to 14 included in the syntax "if (mv_flag! = 1)" Skips. The syntax of lines 11 to 14 is a syntax for setting the first motion vector 330 for inter prediction of the current block 322.

다시 말해, 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치하는 경우에는 현재 블록(322)에 대하여 제1 움직임 벡터(330)를 설정할 필요가 없다. In other words, when the first motion vector 330 and the second motion vector 332 coincide with each other, it is not necessary to set the first motion vector 330 for the current block 322.

다시 도 2를 참조하여, 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치하지 않는 경우에는 종래 기술에 따라 제1 움직임 벡터(330)를 부호화한다. 현 재 블록(322)의 주변에 인접한 블록들의 움직임 벡터들로부터 제1 움직임 벡터(330)을 예측하고, 예측 움직임 벡터를 제1 움직임 벡터(330)에서 감산하여 차이 벡터를 생성한다. 생성된 차이 벡터를 엔트로피 부호화한다. Referring back to FIG. 2, when the first motion vector 330 and the second motion vector 332 do not coincide with each other, the first motion vector 330 is encoded according to the prior art. A first motion vector 330 is predicted from the motion vectors of blocks adjacent to the current block 322, and a difference vector is generated by subtracting the predicted motion vector from the first motion vector 330. Entropy-encode the generated difference vectors.

제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치하지 않으면 도 4의 도시된 구문에서 "mv_flag"는 "0"으로 설정되고 따라서, 11 내지 14 라인의 구문에서 현재 블록(322)의 제1 움직임 벡터(330)가 설정된다. If the first motion vector 330 and the second motion vector 332 do not coincide, in the illustrated syntax of FIG. 4, "mv_flag" is set to "0" and thus the current block 322 in the syntax of lines 11 to 14 The first motion vector 330 of is set.

도 5는 본 발명의 또 다른 실시예에 따른 영상 부호화 장치를 도시한다. 5 illustrates an image encoding apparatus according to another embodiment of the present invention.

도 5는 도 2에 도시된 영상 부호화 장치(200)를 모두 포함하는 또 다른 실시예에 따른 영상 부호화 장치(500)를 도시한다. 도 2의 움직임추정부(210), 움직임 보상부(220) 및 부호화부(230)는 도 5의 움직임추정부(510), 움직임보상부(520) 및 부호화부(530)에 각각 대응된다. FIG. 5 illustrates an image encoding apparatus 500 according to another exemplary embodiment including all of the image encoding apparatus 200 illustrated in FIG. 2. The motion estimation unit 210, the motion compensator 220, and the encoder 230 of FIG. 2 correspond to the motion estimation unit 510, the motion compensator 520, and the encoder 530 of FIG. 5, respectively.

움직임추정부(510)는 현재 블록(322)을 이용해 움직임 추정을 수행하여 제1 움직임 벡터(330)를 생성하고, 현재 블록(322)에 인접한 이전에 부호화된 영역에 포함되어 있는 픽셀들(328)을 이용해 움직임 추정을 수행하여 제2 움직임 벡터(332)를 생성한다. 프레임메모리(540)에 저장되어 있는 참조 픽처(310)를 검색하여 움직임 추정을 수행한다. The motion estimation unit 510 generates a first motion vector 330 by performing motion estimation using the current block 322, and includes the pixels 328 included in a previously encoded region adjacent to the current block 322. ) Is used to generate a second motion vector 332 by performing motion estimation. Motion estimation is performed by searching the reference picture 310 stored in the frame memory 540.

움직임보상부(520)는 움직임추정부(510)에서 생성한 제1 움직임 벡터(330)를 이용하여 움직임 보상을 수행한다. 제1 움직임 벡터(330)에 따라 SAD 값이 최소인 블록(312)을 현재 블록(322)의 예측 블록으로 결정함으로써 움직임 보상을 수행한다. The motion compensator 520 performs motion compensation using the first motion vector 330 generated by the motion estimation unit 510. Motion compensation is performed by determining block 312 having the smallest SAD value as the prediction block of the current block 322 according to the first motion vector 330.

인트라예측부(550)는 현재 블록에 인접한 이전에 부호화된 영역에 포함되어 있는 픽셀들을 이용해 인트라 예측을 수행한다. 움직임보상부(520)에서의 인터 예측 또는 인트라예측부(550)에서의 인트라 예측 중 하나에 의해 현재 블록이 예측되고, 예측 결과 생성된 예측 블록을 이용하여 부호화부(530)가 예측 부호화를 수행한다. The intra prediction unit 550 performs intra prediction using pixels included in a previously encoded region adjacent to the current block. The current block is predicted by either inter prediction in the motion compensator 520 or intra prediction in the intra predictor 550, and the encoder 530 performs predictive encoding by using the prediction block generated as a result of the prediction. do.

부호화부(530)는 움직임보상부(520) 또는 인트라예측부(550)에서 생성된 예측 블록을 현재 블록에서 감산하여 레지듀얼 블록을 생성한다. 생성된 레지듀얼 블록을 이산 코사인 변환하여 이산 코사인 계수를 생성하고, 이산 코사인 계수를 양자화한 뒤에 엔트로피 부호화하여 비트스트림에 삽입한다. The encoder 530 subtracts the prediction block generated by the motion compensator 520 or the intra prediction unit 550 from the current block to generate a residual block. Discrete cosine transforms the generated residual block to generate discrete cosine coefficients, quantizes the discrete cosine coefficients, and entropy codes and inserts them into the bitstream.

현재 블록을 움직임보상부(520)에서 인터 예측하여 예측 부호화하는 경우에는 현재 블록의 인터 예측에 이용된 제1 움직임 벡터(330)를 선택적으로 부호화한다. 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치하는 경우에는 일치함을 나타내는 플래그 정보만 부호화하고, 제1 움직임 벡터(330)는 부호화하지 않는다. 반면에, 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 불일치하는 경우에는 불일치함을 나타내는 플래그 정보 및 제1 움직임 벡터(330)를 부호화하여 비트스트림에 삽입한다. When the motion block 520 inter predicts and encodes the current block, the first motion vector 330 used for inter prediction of the current block is selectively encoded. When the first motion vector 330 and the second motion vector 332 coincide with each other, only flag information indicating coincidence is encoded, and the first motion vector 330 is not encoded. On the other hand, when the first motion vector 330 and the second motion vector 332 do not match, flag information indicating the mismatch and the first motion vector 330 are encoded and inserted into the bitstream.

복원부(570)는 부호화부(530)에서 이산 코사인 변환 및 양자화된 레지듀얼 블록을 역양자화 및 역이산 코사인 변환하여 복원하고, 예측 블록과 복원된 레지듀얼 블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록은 필터(560)에서 디블록킹 필터링되어 다음 블록 또는 다음 픽처의 예측을 위해 프레임메모리(540)에 저장된다.The reconstructor 570 decodes the residual cosine transformed and quantized residual block by the inverse quantization and inverse discrete cosine transform by the encoder 530, and reconstructs the current block by adding the predicted block and the reconstructed residual block. The reconstructed current block is deblocked filtered in the filter 560 and stored in the frame memory 540 for prediction of the next block or the next picture.

도 6은 본 발명의 일 실시예에 따른 영상의 부호화 방법을 설명하기 위한 흐름도이다. 6 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.

단계 610에서 본 발명에 따른 영상 부호화 장치는 현재 블록을 이용해 참조 픽처를 검색하여 제1 움직임 벡터를 생성하고, 현재 블록에 인접한 픽셀들을 이용해 참조 픽처를 검색하여 제2 움직임 벡터를 생성한다. 현재 블록과의 SAD 값이 최소인 블록을 검색하여 제1 움직임 벡터를 생성하고, 현재 블록에 인접한 픽셀들과의 SAD 값이 최소인 픽셀들을 검색하여 제2 움직임 벡터를 생성한다. In operation 610, the apparatus for encoding an image searches for a reference picture using a current block to generate a first motion vector, and searches for a reference picture using pixels adjacent to the current block to generate a second motion vector. A first motion vector is generated by searching for a block having a minimum SAD value with the current block, and a second motion vector is generated by searching for pixels having a minimum SAD value with pixels adjacent to the current block.

단계 620에서 영상 부호화 장치는 단계 610에서 생성된 제1 움직임 벡터에 따라 움직임 보상을 수행하여 현재 블록을 예측한다. 단계 610에서 생성된 제1 움직임 벡터에 따라 현재 블록과의 SAD 값이 최소인 것으로 검색된 블록을 현재 블록의 예측 블록으로 한다.In operation 620, the apparatus for encoding an image predicts a current block by performing motion compensation based on the first motion vector generated in operation 610. According to the first motion vector generated in step 610, the block found to have the smallest SAD value with the current block is used as the prediction block of the current block.

단계 630에서 영상 부호화 장치는 현재 블록을 부호화한다. 단계 620에서 생성된 예측 블록을 현재 블록에서 감산하여 레지듀얼 블록을 생성하고, 생성된 레지듀얼 블록을 이산 코사인 변환, 양자화 및 엔트로피 부호화하여 현재 블록에 대한 영상 데이터를 생성한다. In operation 630, the image encoding apparatus encodes the current block. A residual block is generated by subtracting the prediction block generated in operation 620 from the current block, and the image data of the current block is generated by performing discrete cosine transform, quantization, and entropy encoding on the generated residual block.

현재 블록의 움직임 보상에 이용된 움직임 벡터를 부호화함에 있어서는 단계 610에서 생성된 제1 움직임 벡터와 제2 움직임 벡터의 일치 여부에 기초하여 제1 움직임 벡터를 선택적으로 부호화한다. 제1 움직임 벡터와 제2 움직임 벡터가 일치하는 경우에는 일치함을 나타내는 플래그 정보만 부호화하고, 불일치하는 경우에 는 불일치함을 나타내는 플래그 정보 및 제1 움직임 벡터를 부호화한다. In encoding the motion vector used for the motion compensation of the current block, the first motion vector is selectively encoded based on whether the first motion vector and the second motion vector generated in step 610 match. If the first motion vector and the second motion vector match, only the flag information indicating the match is encoded. If there is a mismatch, the flag information and the first motion vector indicating the mismatch are encoded.

도 7은 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한다. 7 illustrates an image decoding apparatus according to an embodiment of the present invention.

도 7을 참조하면, 본 발명에 따른 영상 복호화 장치(700)는 복호화부(710), 움직임추정부(720), 움직임보상부(730) 및 복원부(740)을 포함한다. Referring to FIG. 7, the image decoding apparatus 700 according to the present invention includes a decoder 710, a motion estimator 720, a motion compensator 730, and a reconstructor 740.

복호화부(710)는 현재 블록에 대한 영상 데이터를 복호화하여 레지듀얼 블록을 복원한다. 영상 데이터를 엔트로피 복호화, 역양자화 및 역이산 코사인 변환하여 레지듀얼 블록을 복원한다. 또한, 복호화부(710)는 영상 데이터에 포함되어 있는 제1 움직임 벡터(330)와 제2 움직임 벡터(332)의 일치 여부에 대한 정보도 복호화한다. 일치 여부에 대한 정보는 플래그 정보의 형태로 영상 데이터에 포함될 수 있음은 영상 부호화 장치(200 또는 500) 및 도 4와 관련하여 전술하였다. 여기서 제1 움직임 벡터(330)는 현재 블록을 이용해 움직임 추정을 수행하여 인터 예측하기 위해 필요한 움직임 벡터이고, 제2 움직임 벡터(332)는 현재 블록에 인접한 이전에 복호화된 영역에 포함되어 있는 픽셀들을 이용해 움직임 추정을 수행하여 얻을 수 있는 벡터이다. The decoder 710 restores the residual block by decoding the image data of the current block. The residual block is reconstructed by entropy decoding, inverse quantization, and inverse discrete cosine transform. In addition, the decoder 710 also decodes information on whether the first motion vector 330 and the second motion vector 332 included in the image data match. The information on whether the match may be included in the image data in the form of flag information has been described above with reference to the image encoding apparatus 200 or 500 and FIG. 4. Here, the first motion vector 330 is a motion vector required for inter prediction by performing motion estimation using a current block, and the second motion vector 332 is a pixel included in a previously decoded region adjacent to the current block. A vector obtained by performing motion estimation using

움직임추정부(720)는 복호화부(710)에서 복호화한 일치 여부에 대한 정보를 참조하여 제1 움직임 벡터(330)를 생성한다. The motion estimator 720 generates the first motion vector 330 with reference to the information on whether the decoder 710 decodes the match.

복호화 결과 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치하는 것으로 판단되면, 현재 블록에 인접한 이전에 복호화된 영역에 포함되어 있는 픽셀들을 이용해 참조 픽처를 검색하여 SAD 값이 최소인 픽셀들을 찾고, 검색 결과에 기초하여 제2 움직임 벡터(332)를 생성한다. 생성된 제2 움직임 벡터(332)가 그대로 제1 움직임 벡터(330)가 된다.As a result of decoding, when it is determined that the first motion vector 330 and the second motion vector 332 coincide with each other, the reference picture is searched using pixels included in a previously decoded region adjacent to the current block, and the SAD value is minimum. The pixels are found and a second motion vector 332 is generated based on the search result. The generated second motion vector 332 becomes the first motion vector 330 as it is.

복호화 결과 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 불일치하는 것으로 판단되면, 종래 기술에 따라 제1 움직임 벡터(330)를 복원한다. 다시 말해, 현재 블록에 인접한 이전에 복호화된 블록들의 움직임 벡터를 이용해 제1 움직임 벡터(330)를 예측하여 예측 움직임 벡터를 생성한다. 그런 다음, 영상 데이터에 포함되어 복호화부(710)에서 복호화된 차이 벡터를 예측 움직임 벡터에 가산하여 제1 움직임 벡터(330)를 생성한다. 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치할 때에는 영상 데이터에 부호화된 차이 벡터가 포함되어 있지 않으나, 불일치하는 경우에는 차이 벡터가 부호화되어 영상 데이터에 포함되어 있으므로 이를 이용하여 제1 움직임 벡터(330)를 생성한다. If it is determined that the first motion vector 330 and the second motion vector 332 are inconsistent as a result of decoding, the first motion vector 330 is reconstructed according to the prior art. In other words, the first motion vector 330 is predicted using the motion vectors of previously decoded blocks adjacent to the current block to generate a predicted motion vector. Then, the first motion vector 330 is generated by adding the difference vector included in the image data and decoded by the decoder 710 to the predictive motion vector. When the first motion vector 330 and the second motion vector 332 coincide with each other, the encoded difference vector is not included in the image data. However, if there is a mismatch, the difference vector is encoded and included in the image data. Generate a first motion vector 330.

움직임보상부(730)는 움직임추정부(720)에서 생성된 제1 움직임 벡터(330)를 이용해 움직임 보상을 수행하여 현재 블록을 인터 예측한다. The motion compensator 730 inter-predicts the current block by performing motion compensation using the first motion vector 330 generated by the motion estimation unit 720.

복원부(740)는 움직임보상부(730)에서의 인터 예측 결과 생성된 예측 블록을 복호화부(710)에서 복호화된 레지듀얼 블록과 가산하여 현재 블록을 복원한다. The reconstructor 740 reconstructs the current block by adding the prediction block generated as a result of the inter prediction by the motion compensator 730 with the residual block decoded by the decoder 710.

도 8은 본 발명의 또 다른 실시예에 따른 영상 복호화 장치를 도시한다. 8 illustrates an image decoding apparatus according to another embodiment of the present invention.

도 8을 참조하면, 본 발명의 또 다른 실시예에 따른 영상 복호화 장치(800)는 복호화부(810), 움직임추정부(820), 움직임보상부(830), 복원부(840), 프레임메모리(850), 인트라예측부(860) 및 필터(870)을 포함한다. 도 7의 복호화부(710), 움직임추정부(720), 움직임보상부(730) 및 복원부(740)는 도 8의 복호화부(810), 움직임추정부(820), 움직임보상부(830), 복원부(840)에 각각 대응된다. Referring to FIG. 8, the image decoding apparatus 800 according to another embodiment of the present invention may include a decoder 810, a motion estimator 820, a motion compensator 830, a reconstructor 840, and a frame memory. 850, an intra prediction unit 860, and a filter 870. The decoder 710, the motion estimator 720, the motion compensator 730, and the decompressor 740 of FIG. 7 are the decoder 810, the motion estimator 820, and the motion compensator 830 of FIG. 8. And the recovery unit 840, respectively.

복호화부(810)는 현재 블록에 대한 영상 데이터를 복호화하여 레지듀얼 블록을 복원한다. 또한, 복호화부(810)는 제1 움직임 벡터(330)와 제2 움직임 벡터(332)의 일치 여부에 대한 정보를 복호화한다. The decoder 810 reconstructs the residual block by decoding the image data of the current block. In addition, the decoder 810 decodes information about whether the first motion vector 330 matches the second motion vector 332.

움직임추정부(820)는 복호화부(810)에서 추출된 제1 움직임 벡터(330)와 제2 움직임 벡터(332)의 일치 여부에 대한 정보에 기초하여 제1 움직임 벡터(330)를 생성한다. The motion estimator 820 generates the first motion vector 330 based on information about whether the first motion vector 330 and the second motion vector 332 matched by the decoder 810.

제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치하는 경우에는 현재 블록에 인접한 이전에 부호화된 영역에 포함된 픽셀들을 이용해 프레임메모리(850)에 저장되어 있는 참조 픽처를 검색하여 SAD 값이 최소인 픽셀들을 찾고, 검색 결과에 따라 제2 움직임 벡터(332)를 생성한다. 생성된 제2 움직임 벡터(332)가 그대로 현재 블록의 인터 예측에 이용되는 제1 움직임 벡터(330)가 된다. When the first motion vector 330 and the second motion vector 332 coincide with each other, the SAD is searched by searching for a reference picture stored in the frame memory 850 using pixels included in a previously encoded region adjacent to the current block. The pixels having the smallest value are found and a second motion vector 332 is generated according to the search result. The generated second motion vector 332 becomes the first motion vector 330 used for inter prediction of the current block.

제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 불일치하면, 현재 블록에 인접한 이전에 복호화된 블록으로부터 제1 움직임 벡터(330)를 예측하여 예측 움직임 벡터를 생성하고, 예측 움직임 벡터를 복호화부(810)에서 복호화된 차이 벡터와 가산하여 제1 움직임 벡터(330)를 생성한다. If the first motion vector 330 and the second motion vector 332 do not match, the first motion vector 330 is predicted from a previously decoded block adjacent to the current block to generate a predicted motion vector, and the predicted motion vector is generated. The first motion vector 330 is generated by adding the difference vector decoded by the decoder 810.

움직임보상부(830)는 움직임추정부(820)에서 생성된 제1 움직임 벡터를 이용해 현재 블록을 인터 예측한다. The motion compensator 830 inter-predicts the current block by using the first motion vector generated by the motion estimator 820.

인트라예측부(860)는 현재 블록에 인접한 이전에 복호화된 픽셀들을 이용해 현재 블록을 인트라 예측한다. The intra prediction unit 860 intra predicts the current block using previously decoded pixels adjacent to the current block.

인터 예측 또는 인트라 예측 결과 생성된 예측 블록은 복원부(840)에서 레지 듀얼 블록과 가산되어 현재 블록으로 복원된다. 복원된 현재 블록은 필터(870)에서 디블록킹 필터링되어 다음 블록 또는 다음 픽처의 예측을 위해 프레임메모리(850)에 저장된다.The prediction block generated as a result of the inter prediction or the intra prediction is added to the residual dual block by the reconstruction unit 840 and reconstructed into the current block. The reconstructed current block is deblocked filtered in the filter 870 and stored in the frame memory 850 for prediction of the next block or the next picture.

도 9는 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다. 9 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.

도 9를 참조하면, 단계 910에서 본 발명에 따른 영상 복호화 장치는 현재 블록에 대한 영상 데이터를 복호화하여 레지듀얼 블록을 생성한다. 영상 데이터를 엔트로피 복호화, 역양자화 및 역이산 코사인 변환하여 레지듀얼 블록을 생성한다. 또한, 제1 움직임 벡터(330)와 제2 움직임 벡터(332)의 일치 여부에 대한 정보도 복호화한다. 만약, 제1 움직임 벡터(330)에 대한 차이 벡터가 영상 데이터에 포함되어 있으면, 이 차이 벡터도 복호화한다.9, in operation 910, the image decoding apparatus according to the present invention decodes image data of a current block to generate a residual block. A residual block is generated by entropy decoding, inverse quantization, and inverse discrete cosine transform of the image data. In addition, information about whether the first motion vector 330 coincides with the second motion vector 332 is also decoded. If the difference vector for the first motion vector 330 is included in the image data, the difference vector is also decoded.

단계 920에서 영상 복호화 장치는 단계 910에서 복호화된 일치 여부에 대한 정보를 참조하여 제1 움직임 벡터(330)를 생성한다. In operation 920, the image decoding apparatus generates a first motion vector 330 with reference to the information on whether or not the decoder decoded in operation 910.

단계 910에서 복호화된 일치 여부에 대한 정보가 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 일치함을 나타내고 있으면, 현재 블록에 인접한 이전에 복호화된 영역에 포함되어 있는 픽셀들을 이용해 움직임 추정을 수행하여 제2 움직임 벡터(332)를 생성하고, 제2 움직임 벡터를 그대로 제1 움직임 벡터로 설정한다. If the information on whether the matched decoded in step 910 indicates that the first motion vector 330 and the second motion vector 332 match, the motion is performed using pixels included in a previously decoded region adjacent to the current block. The estimation is performed to generate a second motion vector 332, and sets the second motion vector as the first motion vector as it is.

반면에, 단계 910에서 복호화된 일치 여부에 대한 정보가 제1 움직임 벡터(330)와 제2 움직임 벡터(332)가 불일치함을 나타내고 있으면, 현재 블록에 인접한 이전에 복호화된 블록들의 움직임 벡터들로부터 제1 움직임 벡터를 예측하고, 예측 결과 생성된 예측 움직임 벡터를 차이 벡터와 가산하여 제1 움직임 벡터를 생성한다.On the other hand, if the information about whether the matched decoding at step 910 indicates that the first motion vector 330 and the second motion vector 332 do not match, from the motion vectors of previously decoded blocks adjacent to the current block. The first motion vector is predicted, and the first motion vector is generated by adding the prediction motion vector generated as a result of the prediction to the difference vector.

단계 930에서 영상 복호화 장치는 단계 920에서 생성된 제1 움직임 벡터(330)에 따라 움직임 보상을 수행하여 현재 블록을 예측한다. In operation 930, the image decoding apparatus predicts a current block by performing motion compensation based on the first motion vector 330 generated in operation 920.

단계 940에서 영상 복호화 장치는 단계 910에서 복호화된 레지듀얼 블록 및 단계 930에서 움직임 보상을 수행하여 생성된 예측 블록을 가산하여 현재 블록을 복원한다. In operation 940, the image decoding apparatus reconstructs the current block by adding the residual block decoded in operation 910 and the prediction block generated by performing motion compensation in operation 930.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다. 또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.As described above, although the present invention has been described by way of limited embodiments and drawings, the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications will fall within the scope of the invention. In addition, the system according to the present invention can be embodied as computer readable codes on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of the recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and also include a carrier wave (for example, transmission through the Internet). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

도 1은 종래 기술에 따른 움직임 추정 방법을 설명하기 위한 도면이다.1 is a view for explaining a motion estimation method according to the prior art.

도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치를 도시한다. 2 illustrates an image encoding apparatus according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따른 움직임 추정 방법을 설명하기 위한 도면이다. 3 is a view for explaining a motion estimation method according to an embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 매크로 블록 헤더의 구문(syntax)를 도시한다. 4 illustrates syntax of a macro block header according to an embodiment of the present invention.

도 5는 본 발명의 또 다른 실시예에 따른 영상 부호화 장치를 도시한다. 5 illustrates an image encoding apparatus according to another embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 영상의 부호화 방법을 설명하기 위한 흐름도이다. 6 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한다. 7 illustrates an image decoding apparatus according to an embodiment of the present invention.

도 8은 본 발명의 또 다른 실시예에 따른 영상 복호화 장치를 도시한다. 8 illustrates an image decoding apparatus according to another embodiment of the present invention.

도 9는 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.9 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.

Claims (16)

영상의 부호화 방법에 있어서,In the video encoding method, 현재 블록을 이용해 움직임 추정을 수행하여 제1 움직임 벡터를 생성하고, 상기 현재 블록에 인접한 이전에 부호화된 영역에 포함되어 있는 픽셀들을 이용해 움직임 추정을 수행하여 제2 움직임 벡터를 생성하는 단계; Generating a first motion vector by performing motion estimation using the current block, and generating a second motion vector by performing motion estimation using pixels included in a previously encoded region adjacent to the current block; 상기 제1 움직임 벡터에 따라 현재 블록을 움직임 보상하여 상기 현재 블록을 예측하는 단계; 및Predicting the current block by motion compensating the current block according to the first motion vector; And 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하는지 여부 및 상기 예측 결과 생성된 예측 블록에 기초하여 상기 현재 블록을 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.And encoding the current block based on whether the first motion vector and the second motion vector match and the prediction block generated as a result of the prediction. 제 1 항에 있어서, 상기 부호화하는 단계는The method of claim 1, wherein the encoding is performed. 상기 예측 블록을 상기 현재 블록에서 감산하여 상기 현재 블록의 레지듀얼 블록을 생성하는 단계; Subtracting the prediction block from the current block to generate a residual block of the current block; 상기 레지듀얼 블록을 부호화하는 단계; 및Encoding the residual block; And 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하는지 여부에 기초하여 상기 제1 움직임 벡터를 선택적으로 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.And selectively encoding the first motion vector based on whether the first motion vector and the second motion vector coincide with each other. 제 2 항에 있어서, 상기 제1 움직임 벡터를 선택적으로 부호화하는 단계는The method of claim 2, wherein the selectively encoding the first motion vector comprises: 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하면, 일치함을 나타내는 플래그 정보만 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.And encoding only flag information indicating a match when the first motion vector and the second motion vector coincide with each other. 제 2 항에 있어서, 상기 제1 움직임 벡터를 선택적으로 부호화하는 단계는 The method of claim 2, wherein the selectively encoding the first motion vector comprises: 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하지 않으면, 일치하지 않음을 나타내는 플래그 정보 및 상기 제1 움직임 벡터를 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.And if the first motion vector and the second motion vector do not coincide, encoding the first motion vector and flag information indicating mismatch. 제 4 항에 있어서, 상기 제1 움직임 벡터를 부호화하는 단계는The method of claim 4, wherein the encoding of the first motion vector comprises: 상기 제1 움직임 벡터의 예측 움직임 벡터를 상기 현재 블록의 주변에 인접한 블록들의 움직임 벡터들에 기초하여 예측하는 단계; 및Predicting the predicted motion vector of the first motion vector based on motion vectors of blocks adjacent to the current block; And 상기 예측 결과 생성된 예측 움직임 벡터 및 상기 제1 움직임 벡터의 차이 벡터를 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.And encoding a difference motion vector between the prediction motion vector and the first motion vector generated as a result of the prediction. 영상 부호화 장치에 있어서,In the video encoding apparatus, 현재 블록을 이용해 움직임 추정을 수행하여 제1 움직임 벡터를 생성하고, 상기 현재 블록에 인접한 이전에 부호화된 영역에 포함되어 있는 픽셀들을 이용해 움직임 추정을 수행하여 제2 움직임 벡터를 생성하는 움직임추정부; A motion estimation unit for generating a first motion vector by performing motion estimation using the current block and generating a second motion vector by performing motion estimation using pixels included in a previously encoded region adjacent to the current block; 상기 제1 움직임 벡터에 따라 현재 블록을 움직임 보상하여 상기 현재 블록을 예측하는 움직임보상부; 및A motion compensator for predicting the current block by motion compensating the current block according to the first motion vector; And 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하는지 여부 및 상기 예측 결과 생성된 예측 블록에 기초하여 상기 현재 블록을 부호화하는 부호화부를 포함하는 것을 특징으로 하는 영상 부호화 장치.And an encoder which encodes the current block based on whether the first motion vector and the second motion vector match and the prediction block generated as a result of the prediction. 제 6 항에 있어서, 상기 부호화부는The method of claim 6, wherein the encoder 상기 예측 블록을 상기 현재 블록에서 감산하여 상기 현재 블록의 레지듀얼 블록을 생성하고, 상기 생성된 레지듀얼 블록을 부호화하며, 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하는지 여부에 기초하여 상기 제1 움직임 벡터를 선택적으로 부호화하는 것을 특징으로 하는 영상 부호화 장치.Subtracting the prediction block from the current block to generate a residual block of the current block, encoding the generated residual block, and based on whether the first motion vector and the second motion vector coincide with each other. And a video encoding apparatus for selectively encoding the first motion vector. 제 6 항에 있어서, 상기 부호화부는The method of claim 6, wherein the encoder 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하면, 일치함을 나타내는 플래그 정보만 부호화하고, 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치하지 않으면, 일치하지 않음을 나타내는 플래그 정보 및 상기 제1 움직임 벡터를 부호화하는 것을 특징으로 하는 영상 부호화 장치.If the first motion vector and the second motion vector coincide, only flag information indicating coincidence is encoded, and if the first motion vector and the second motion vector do not coincide, the flag information and mismatch indicates An image encoding device, characterized by encoding a first motion vector. 영상의 복호화 방법에 있어서,In the video decoding method, 현재 블록에 대한 영상 데이터를 복호화하여 상기 현재 블록의 레지듀얼 블 록을 생성하는 단계;Decoding the image data of the current block to generate a residual block of the current block; 상기 현재 블록을 예측하기 위해 필요한 제1 움직임 벡터와 상기 현재 블록에 인접한 이전에 복호화된 영역에 포함되어 있는 픽셀들을 이용해 움직임 추정을 수행한 결과 생성되는 제2 움직임 벡터의 일치 여부에 대한 정보를 참조하여 상기 제1 움직임 벡터를 생성하는 단계;Refer to information on whether a first motion vector required for predicting the current block and a second motion vector generated as a result of performing motion estimation using pixels included in a previously decoded region adjacent to the current block are matched. Generating the first motion vector; 상기 생성된 제1 움직임 벡터에 따라 현재 블록을 움직임 보상하여 상기 현재 블록을 예측하는 단계; 및Predicting the current block by motion compensating the current block according to the generated first motion vector; And 상기 예측 결과 생성된 예측 블록 및 상기 레지듀얼 블록에 기초하여 상기 현재 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.And reconstructing the current block based on the prediction block and the residual block generated as a result of the prediction. 제 9 항에 있어서, 상기 일치 여부에 대한 정보는10. The method of claim 9, wherein the information about the match is 상기 제1 움직임 벡터와 상기 제2 움직임 벡터의 일치 여부를 나타내는 플래그 정보인 것을 특징으로 하는 영상 복호화 방법.And flag information indicating whether the first motion vector coincides with the second motion vector. 제 9 항에 있어서, 상기 제1 움직임 벡터를 생성하는 단계는10. The method of claim 9, wherein generating the first motion vector 상기 정보가 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치함을 나타내고 있으면, 상기 현재 블록에 인접한 이전에 복호화된 영역에 포함되어 있는 픽셀을 이용해 움직임 추정을 수행하여 상기 제2 움직임 벡터를 생성하고, 상기 제2 움직임 벡터를 상기 제1 움직임 벡터로 설정하는 것을 특징으로 하는 영상 복호화 방법.If the information indicates that the first motion vector coincides with the second motion vector, the second motion vector is generated by performing motion estimation using pixels included in a previously decoded region adjacent to the current block. And setting the second motion vector as the first motion vector. 제 9 항에 있어서, 상기 제1 움직임 벡터를 생성하는 단계는10. The method of claim 9, wherein generating the first motion vector 상기 정보가 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 불일치함을 나타내고 있으면, 상기 영상 데이터를 복호화하여 상기 제1 움직임 벡터와 상기 제1 움직임 벡터의 예측 움직임 벡터 사이의 차이 벡터를 생성하는 단계;If the information indicates that the first motion vector and the second motion vector do not match, generating the difference vector between the first motion vector and the predicted motion vector of the first motion vector by decoding the image data. ; 상기 현재 블록의 주변에 인접한 블록들의 움직임 벡터들로부터 상기 제1 움직임 벡터를 예측하여 예측 움직임 벡터를 생성하는 단계; 및Generating a predicted motion vector by predicting the first motion vector from motion vectors of blocks adjacent to the current block; And 상기 차이 벡터 및 예측 움직임 벡터를 가산하여 상기 제1 움직임 벡터를 생성하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.And adding the difference vector and the predicted motion vector to generate the first motion vector. 영상 복호화 장치에 있어서,In the video decoding apparatus, 현재 블록에 대한 영상 데이터를 복호화하여 상기 현재 블록의 레지듀얼 블록을 생성하는 복호화부;A decoder configured to decode image data of a current block to generate a residual block of the current block; 상기 현재 블록을 예측하기 위해 제1 움직임 벡터와 상기 현재 블록에 인접한 이전에 복호화된 영역에 포함되어 있는 픽셀들을 이용해 움직임 추정을 수행한 결과 생성되는 제2 움직임 벡터의 일치 여부에 대한 정보를 참조하여 상기 제1 움직임 벡터를 생성하는 움직임추정부;In order to predict the current block, information about whether a first motion vector matches a second motion vector generated as a result of performing motion estimation using pixels included in a previously decoded region adjacent to the current block is referred to. A motion estimation unit for generating the first motion vector; 상기 생성된 제1 움직임 벡터에 따라 현재 블록을 움직임 보상하여 상기 현재 블록을 예측하는 움직임보상부; 및A motion compensator for predicting the current block by motion compensating the current block according to the generated first motion vector; And 상기 예측 결과 생성된 예측 블록 및 상기 레지듀얼 블록에 기초하여 상기 현재 블록을 복원하는 복원부를 포함하는 것을 특징으로 하는 영상 복호화 장치.And a reconstruction unit for reconstructing the current block based on the prediction block generated as the result of the prediction and the residual block. 제 13 항에 있어서, 상기 일치 여부에 대한 정보는The method of claim 13, wherein the information about the match is 상기 제1 움직임 벡터와 상기 제2 움직임 벡터의 일치 여부를 나타내는 플래그 정보인 것을 특징으로 하는 영상 복호화 장치.And image information indicating whether the first motion vector matches the second motion vector. 제 13 항에 있어서, 상기 움직임추정부는The method of claim 13, wherein the motion estimation unit 상기 정보가 상기 제1 움직임 벡터와 상기 제2 움직임 벡터가 일치함을 나타내고 있으면, 상기 현재 블록에 인접한 이전에 복호화된 영역에 포함되어 있는 픽셀을 이용해 움직임 추정을 수행하여 상기 제2 움직임 벡터를 생성하고, 상기 제2 움직임 벡터를 상기 제1 움직임 벡터로 설정하는 것을 특징으로 하는 영상 복호화 장치.If the information indicates that the first motion vector coincides with the second motion vector, the second motion vector is generated by performing motion estimation using pixels included in a previously decoded region adjacent to the current block. And set the second motion vector as the first motion vector. 제 1 항 내지 제 5 항 및 제 9 항 내지 제 12 항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 5 and 9 to 12.
KR1020070103693A 2007-10-15 2007-10-15 Image encoding and decoding method and apparatus KR100928325B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070103693A KR100928325B1 (en) 2007-10-15 2007-10-15 Image encoding and decoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070103693A KR100928325B1 (en) 2007-10-15 2007-10-15 Image encoding and decoding method and apparatus

Publications (2)

Publication Number Publication Date
KR20090038278A KR20090038278A (en) 2009-04-20
KR100928325B1 true KR100928325B1 (en) 2009-11-25

Family

ID=40762551

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070103693A KR100928325B1 (en) 2007-10-15 2007-10-15 Image encoding and decoding method and apparatus

Country Status (1)

Country Link
KR (1) KR100928325B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020001591A1 (en) * 2018-06-28 2020-01-02 杭州海康威视数字技术股份有限公司 Decoding and encoding methods and apparatus thereof

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101673026B1 (en) * 2010-07-27 2016-11-04 에스케이 텔레콤주식회사 Method and Apparatus for Coding Competition-based Interleaved Motion Vector and Method and Apparatus for Encoding/Decoding of Video Data Thereof
CN107277547B (en) 2011-08-29 2020-05-29 苗太平洋控股有限公司 Method for encoding image in AMVP mode
KR101934277B1 (en) 2011-11-28 2019-01-04 에스케이텔레콤 주식회사 Video Coding Method and Apparatus using Improved Merge
WO2013081365A1 (en) * 2011-11-28 2013-06-06 에스케이텔레콤 주식회사 Method and apparatus for video encoding/decoding using improved merge

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060135177A (en) * 2005-06-24 2006-12-29 삼성전자주식회사 Motion error detector, motion error compensator comprising the same, method for detecting motion error and method for compensating motion error
KR20070076392A (en) * 2006-01-18 2007-07-24 엘지전자 주식회사 A method and apparatus for decoding/encoding a video signal
KR20080068277A (en) * 2007-01-18 2008-07-23 삼성전자주식회사 Method and apparatus for encoding and decoding based on motion estimation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060135177A (en) * 2005-06-24 2006-12-29 삼성전자주식회사 Motion error detector, motion error compensator comprising the same, method for detecting motion error and method for compensating motion error
KR20070076392A (en) * 2006-01-18 2007-07-24 엘지전자 주식회사 A method and apparatus for decoding/encoding a video signal
KR20080068277A (en) * 2007-01-18 2008-07-23 삼성전자주식회사 Method and apparatus for encoding and decoding based on motion estimation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020001591A1 (en) * 2018-06-28 2020-01-02 杭州海康威视数字技术股份有限公司 Decoding and encoding methods and apparatus thereof

Also Published As

Publication number Publication date
KR20090038278A (en) 2009-04-20

Similar Documents

Publication Publication Date Title
KR101365575B1 (en) Method and apparatus for encoding and decoding based on inter prediction
US11050903B2 (en) Video encoding and decoding
US8503532B2 (en) Method and apparatus for inter prediction encoding/decoding an image using sub-pixel motion estimation
US8194748B2 (en) Apparatus for scalable encoding/decoding of moving image and method thereof
US20120230405A1 (en) Video coding methods and video encoders and decoders with localized weighted prediction
US20080304569A1 (en) Method and apparatus for encoding and decoding image using object boundary based partition
US20100232507A1 (en) Method and apparatus for encoding and decoding the compensated illumination change
KR20090095012A (en) Method and apparatus for encoding and decoding image using consecutive motion estimation
KR100694137B1 (en) Apparatus for encoding or decoding motion image, method therefor, and recording medium storing a program to implement thereof
KR20120017407A (en) Video encoding/decoding apparatus and method, and reference picture indexing apparatus and method
EP2263382A2 (en) Method and apparatus for encoding and decoding image
KR101456491B1 (en) Method and apparatus for encoding and decoding image based on plurality of reference pictures
EP1601205A1 (en) Moving image encoding/decoding apparatus and method
KR101375667B1 (en) Method and apparatus for Video encoding and decoding
KR100928325B1 (en) Image encoding and decoding method and apparatus
US8699576B2 (en) Method of and apparatus for estimating motion vector based on sizes of neighboring partitions, encoder, decoding, and decoding method
KR20080035390A (en) Method and apparatus for deciding video prediction mode
KR20080068277A (en) Method and apparatus for encoding and decoding based on motion estimation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121002

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131002

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141002

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151117

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161108

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171114

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181120

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190904

Year of fee payment: 11