KR101242560B1 - Device and method for adjusting search range - Google Patents

Device and method for adjusting search range Download PDF

Info

Publication number
KR101242560B1
KR101242560B1 KR1020110028907A KR20110028907A KR101242560B1 KR 101242560 B1 KR101242560 B1 KR 101242560B1 KR 1020110028907 A KR1020110028907 A KR 1020110028907A KR 20110028907 A KR20110028907 A KR 20110028907A KR 101242560 B1 KR101242560 B1 KR 101242560B1
Authority
KR
South Korea
Prior art keywords
motion estimation
frame
size
search region
search
Prior art date
Application number
KR1020110028907A
Other languages
Korean (ko)
Other versions
KR20120110795A (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 KR1020110028907A priority Critical patent/KR101242560B1/en
Publication of KR20120110795A publication Critical patent/KR20120110795A/en
Application granted granted Critical
Publication of KR101242560B1 publication Critical patent/KR101242560B1/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/57Motion estimation characterised by a search window with variable size or shape
    • 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

Landscapes

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

Abstract

탐색 영역 조정 장치 및 방법이 개시된다. 부호화 장치는 각각의 참조 프레임에 대해 미리 설정된 블록 사이즈를 이용하여 디폴트 탐색 영역에 대해 움직임 추정을 수행하는 움직임 추정부; 및 상기 움직임 추정에 의해 산출된 움직임 벡터값을 이용하여 탐색 영역의 크기를 조정하는 탐색영역 조정부를 포함할 수 있다. 본 발명에 의해, H.264/AVC 부호화기를 사용하는 모든 기기에서 동영상 부호화 시간을 단축할 수 있도록 하는 효과가 있다.An apparatus and method for adjusting a search area is disclosed. The encoding apparatus includes: a motion estimation unit for performing motion estimation on a default search region using a block size preset for each reference frame; And a search region adjusting unit which adjusts the size of the search region using the motion vector value calculated by the motion estimation. According to the present invention, the video encoding time can be shortened in all devices using the H.264 / AVC encoder.

Description

탐색 영역 조정 장치 및 방법{Device and method for adjusting search range}Device and method for adjusting search range

본 발명은 부호화기에 관한 것으로, 특히 탐색 영역 조정 장치 및 방법에 관한 것이다.The present invention relates to an encoder, and more particularly, to an apparatus and a method for adjusting a search region.

다양한 멀티미디어 기기의 발전과 디지털 멀티미디어 방송 서비스의 일반화 등으로 인해 고화질 동영상 서비스에 대한 수요가 증가하고 있다. Due to the development of various multimedia devices and the generalization of digital multimedia broadcasting service, the demand for high quality video service is increasing.

이를 위해, 고화질의 동영상 처리를 위한 효율적인 영상 압축 기술이 요구되고 있으며, MPEG(Moving Picture Experts Group)과 ITU-T(International Telecommunications Union - Telecommunication Standardization Sector) 등의 단체에서 동영상 압축 기술에 관한 표준화 작업이 진행되고 있다. 이들 단체에 의해 현재까지 제정된 동영상 압축 표준들로는 MPEG-1, MPEG-2, MPEG-4, H.261, H.263, H.264/AVC 등이 있다.To this end, efficient image compression technology is required for processing high-definition video, and standardization work on video compression technology has been carried out by organizations such as Moving Picture Experts Group (MPEG) and International Telecommunications Union-Telecommunication Standardization Sector (ITU-T). It's going on. Video compression standards established by these organizations to date include MPEG-1, MPEG-2, MPEG-4, H.261, H.263, and H.264 / AVC.

여기서, H.264/AVC는 차세대 멀티미디어 기기에서의 고화질 동영상 압축을 위한 기반 기술들을 정의하고 있으며, 기존의 압축 표준들에 비하여 우수한 성능을 보이고 있다. 일 예로, MPEG-4 simple 프로파일(Profile) 대비 50%, H.263 대비 70%의 월등한 압축률을 가지고, 적은 양의 데이터 전송으로도 다양한 멀티미디어 서비스 제공이 가능하도록 한다. 따라서, H.264/AVC는 제한된 대역폭에 보다 많은 데이터를 고품질로 내보내고자 하는 업계의 요구에 부응할 수 있는 동영상 압축 표준이라고 할 수 있다.Here, H.264 / AVC defines the base technologies for high-definition video compression in next-generation multimedia devices, and shows superior performance compared to existing compression standards. For example, it has a superior compression ratio of 50% compared to MPEG-4 simple profile and 70% compared to H.263, and enables various multimedia services to be provided even with a small amount of data transmission. Thus, H.264 / AVC is a video compression standard that can meet the industry's desire to export more data in high quality with limited bandwidth.

그러나 H.264/AVC는 기존의 압축 표준들과 비교하여 최대 20배의 계산량을 요구하기 때문에 동영상의 실시간 처리가 어려운 문제점이 있다.However, H.264 / AVC requires up to 20 times more computation than the existing compression standards, making it difficult to process video in real time.

도 1은 인터 예측(Inter Prediction)을 위한 가변 블록 사이즈를 나타낸 도면이고, 도 2는 인터 예측을 위한 복수의 참조 프레임들을 나타낸 도면이며, 도 3은 인터 예측을 위한 탐색 영역(Search Range)을 나타낸 도면이다.FIG. 1 illustrates a variable block size for inter prediction, FIG. 2 illustrates a plurality of reference frames for inter prediction, and FIG. 3 illustrates a search range for inter prediction. Drawing.

도 1 및 2에 도시된 바와 같이, H.264/AVC는 매크로블록(macroblock)의 부호화 시에 매크로블록을 여러 다양한 모양(variable block size)으로 분할하여 움직임 추정(Motion Estimation)을 하며, 움직임 추정 시에 전위 예측(forward prediction) 및 후위 예측(backward prediction)을 위해 다수 개의 참조 프레임(multiple reference frame)을 사용한다. As shown in FIGS. 1 and 2, H.264 / AVC performs motion estimation by dividing a macroblock into various variable block sizes when encoding a macroblock, and performing motion estimation. Multiple reference frames are used for forward prediction and backward prediction at the time.

움직임 추정이란 동영상 내의 물체의 움직임이나 카메라의 이동과 확대 및 축소 등으로 인한 현재 영상과 참조 영상의 위치 변화를 움직임 벡터(Motion Vector)의 형태로 얻어내는 것이다. 움직임 벡터를 얻기 위해서는 먼저 움직임 추정을 화소 단위로 할 것인지 또는 블록 단위로 할 것인지를 결정해야 하며, 동영상 압축에서는 주로 블록 단위의 움직임 추정을 사용한다. 따라서 블록 매칭 알고리즘(Block Matching Algorithm)이란 현재 영상과 참조 영상의 움직임 벡터를 블록 단위로 추정하는 기법이라고 할 수 있다.Motion estimation is to obtain the position change of the current image and the reference image due to the movement of the object in the video or the movement, enlargement and reduction of the camera in the form of a motion vector. In order to obtain a motion vector, it is first necessary to determine whether the motion estimation is to be performed in pixels or in blocks. In motion picture compression, motion estimation is mainly used in block units. Accordingly, a block matching algorithm may be referred to as a technique for estimating motion vectors of a current picture and a reference picture in units of blocks.

움직임 추정 시에 참조 프레임 내의 탐색 영역(Search Range)의 범위는 부호화 시에 사용자에 의해 결정되어 주어진다. 이 때 정의된 범위를, 도 3에 도시된 바와 같이 최대인 디폴트 탐색 영역(default maximum search range)라 할 수 있다.The range of the search range in the reference frame at the time of motion estimation is determined by the user at the time of encoding. In this case, the defined range may be referred to as a default maximum search range as shown in FIG. 3.

블록 매칭 알고리즘은 현재 영상의 매크로블록과 가장 유사한 블록을 지정된 참조 영상의 정해진 탐색 영역, 즉 최대인 디폴트 탐색 영역 내에서 찾아낸다. 즉, 현재 영상이 지정된 참조 영상으로부터 얼마나 이동하였는지를 매크로블록 단위로 추정하며, 이 때 이동한 위치의 크기가 움직임 벡터가 된다. The block matching algorithm finds the block most similar to the macroblock of the current picture within a predetermined search area of the designated reference picture, that is, the default search area that is maximum. That is, it estimates how much the current image has moved from the designated reference image in macroblock units, and the size of the moved position is a motion vector.

그러나 부호화 효율을 증가시키기 위해 인터 예측(inter prediction) 시에 사용하는 H.264/AVC의 가변 블록 사이즈(variable block size)와 복수의 참조 프레임(multiple reference frame)은 부호화기의 막대한 복잡도를 야기하는 문제점이 있다.However, the variable block size and multiple reference frames of H.264 / AVC, which are used during inter prediction to increase coding efficiency, cause enormous complexity of the encoder. There is this.

또한, 전 탐색(full search)의 경우 최대인 디폴트 탐색 영역(default maximum search range) 내의 모든 픽셀 위치(pixel position)에 위치한 블록과의 비교 연산으로 인해 복잡도가 심각하게 증가하는 문제점도 있다.In addition, in the case of full search, there is a problem that the complexity is seriously increased due to a comparison operation with blocks located at all pixel positions within the default maximum search range.

본 발명은 H.264/AVC 부호화기를 사용하는 모든 기기에서 동영상 부호화 시간을 단축할 수 있도록 하는 탐색 영역 조정 장치 및 방법을 제공하기 위한 것이다.An object of the present invention is to provide an apparatus and a method for adjusting a search region, which can reduce a video encoding time in all devices using an H.264 / AVC encoder.

또한, 본 발명은 매크로블록의 움직임 추정(Motion Estimation)을 수행하기 위해 탐색 영역(Search Range)의 크기를 작게 재설정함으로써 연산 복잡도를 현저하게 감소시킬 수 있도록 하는 탐색 영역 조정 장치 및 방법을 제공하기 위한 것이다.In addition, the present invention is to provide an apparatus and method for adjusting the search region that can significantly reduce the computational complexity by resetting the size of the search range to perform the motion estimation of the macroblock small; will be.

본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.Other objects of the present invention will be readily understood through the following description.

본 발명의 일 측면에 따르면, 부호화 장치에 있어서, 각각의 참조 프레임(Reference Frame)에 대해 미리 설정된 블록 사이즈를 이용하여 디폴트 탐색 영역에 대해 움직임 추정(Motion Estimation)을 수행하는 움직임 추정부; 및 상기 움직임 추정에 의해 산출된 움직임 벡터 값을 이용하여 탐색 영역(Search Range)의 크기를 조정하는 탐색영역 조정부를 포함하되, 상기 움직임 추정부는 상기 조정된 탐색 영역을 대상으로 서브 파티션(sub-partition)에 해당하는 블록 사이즈에 대한 움직임 추정을 수행하는 것을 특징으로 하는 부호화 장치가 제공된다.According to an aspect of the present invention, there is provided an encoding apparatus, comprising: a motion estimator for performing motion estimation on a default search region using a block size preset for each reference frame; And a search region adjusting unit for adjusting the size of a search range by using the motion vector value calculated by the motion estimation, wherein the motion estimating unit is a sub-partition of the adjusted search region. There is provided an encoding apparatus, which performs motion estimation on a block size corresponding to n).

상기 탐색영역 조정부는 수학식

Figure 112011023228632-pat00001
에 의해 결정된 영역 경계값(RB)을 이용하여 상기 탐색 영역의 크기를 조정할 수 있다.The search area adjusting unit is
Figure 112011023228632-pat00001
The size of the search region may be adjusted using the region boundary value RB determined by.

상기 조정된 탐색 영역의 크기(r)는 0(zero)부터 상기 디폴트 탐색 영역의 크기(d)까지인 범위 내의 값일 수 있다.The adjusted size of the search area r may be a value within a range from 0 (zero) to the size d of the default search area.

상기 참조 프레임이 n(임의의 자연수) 개이고, 현재 프레임이 t번째 프레임인 경우, t-1번째 프레임인 참조 프레임에 대해 상기 탐색영역 조정부는 16x16 블록의 움직임 추정에 따른 1회의 탐색 영역 조정 및 8x8 블록의 움직임 추정에 따른 4회의 탐색 영역 조정을 각각 수행하고, t-2번째 프레임부터 t-n번째 프레임인 참조 프레임들 각각에 대해 상기 탐색영역 조정부는 16x16 블록의 움직임 추정에 따른 각 1회의 탐색 영역 조정만을 수행할 수 있다.If the reference frames are n (random natural numbers) and the current frame is the t-th frame, the search region adjustment unit performs one search region adjustment and 8x8 according to the motion estimation of the 16x16 block for the reference frame that is the t-1th frame. Four search area adjustments are performed according to the motion estimation of the block, and the search area adjustment unit adjusts each one search area according to the motion estimation of the 16x16 block for each of the reference frames that are frames t-2 to tn. Only can be done.

상기 탐색영역 조정부는 n(임의의 자연수) 개의 참조 프레임 각각에 대해 16x16 블록의 움직임 추정에 따른 1회의 탐색 영역 조정을 각각 수행할 수 있다.The search region adjustment unit may perform one search region adjustment for each of the n (arbitrary natural numbers) reference frames according to the motion estimation of the 16x16 block.

n(임의의 자연수) 개의 참조 프레임들 각각에 대해, 상기 탐색영역 조정부는 16x16 블록의 움직임 추정에 따른 1회의 탐색 영역 조정 및 8x8 블록의 움직임 추정에 따른 4회의 탐색 영역 조정을 각각 수행할 수 있다.For each of the n (arbitrary natural numbers) reference frames, the search region adjustment unit may perform one search region adjustment according to the motion estimation of the 16x16 block and four search region adjustments according to the motion estimation of the 8x8 block, respectively. .

상기 참조 프레임이 n(임의의 자연수) 개이고, 현재 프레임이 t번째 프레임인 경우, t-1번째 프레임인 참조 프레임에 대해 상기 탐색영역 조정부는 16x16 블록의 움직임 추정에 따른 1회의 탐색 영역 조정을 수행하고, 상기 탐색 영역 조정에 의해 조정된 탐색 영역을 t-2번째 프레임부터 t-n번째 프레임인 참조 프레임들에 대해서도 공통적으로 적용할 수 있다.If the reference frames are n (random natural numbers) and the current frame is the t-th frame, the search region adjustment unit performs one search region adjustment based on the motion estimation of the 16x16 block with respect to the reference frame that is the t-1 th frame. The search region adjusted by the search region adjustment may be commonly applied to reference frames that are frames t-2 to tn.

t-1번째 프레임부터 t-n번째 프레임인 참조 프레임들 각각에 대해 조정된 탐색 영역의 크기는 일관(一貫)되지 않을 수 있다.The size of the search region adjusted for each of the reference frames that are the t-th to t-nth frames may not be consistent.

상기 부호화 장치는 H.264/AVC 부호화기일 수 있다.
The encoding device may be an H.264 / AVC encoder.

본 발명의 다른 측면에 따르면, 부호화 장치에서 수행되는 탐색 영역 조정 방법에 있어서, 각각의 참조 프레임에 대해 미리 설정된 블록 사이즈를 이용하여 디폴트 탐색 영역에 대해 움직임 추정(Motion Estimation)을 수행하는 단계 (a); 상기 움직임 추정에 의해 산출된 움직임 벡터 값을 이용하여 탐색 영역(Search Range)의 크기를 조정하는 단계 (b); 및 상기 조정된 탐색 영역을 대상으로 서브 파티션(sub-partition)에 해당하는 각각의 블록 사이즈에 대한 움직임 추정을 수행하는 단계 (c)를 포함하는 탐색 영역 조정 방법이 제공된다.According to another aspect of the present invention, in the search region adjusting method performed in the encoding apparatus, performing motion estimation on a default search region using a block size preset for each reference frame (a ); (B) adjusting a size of a search range by using a motion vector value calculated by the motion estimation; And (c) performing a motion estimation on each block size corresponding to a sub-partition with respect to the adjusted search region.

상기 탐색 영역의 크기는 수학식

Figure 112011023228632-pat00002
에 의해 결정된 영역 경계값(RB)을 이용하여 조정될 수 있다.The size of the search area is
Figure 112011023228632-pat00002
It can be adjusted using the region boundary value RB determined by.

상기 조정된 탐색 영역의 크기(r)는 0(zero)부터 상기 디폴트 탐색 영역의 크기(d)까지인 범위 내의 값일 수 있다.The adjusted size of the search area r may be a value within a range from 0 (zero) to the size d of the default search area.

상기 참조 프레임이 n(임의의 자연수) 개이고, 현재 프레임이 t번째 프레임인 경우, 상기 단계 (a)에서 t-1번째 프레임인 참조 프레임에 대해 16x16 블록의 움직임 추정에 따른 1회의 탐색 영역 조정 및 8x8 블록의 움직임 추정에 따른 4회의 탐색 영역 조정이 각각 수행되고, t-2번째 프레임부터 t-n번째 프레임인 참조 프레임들 각각에 대해 16x16 블록의 움직임 추정에 따른 탐색 영역 조정이 수행될 수 있다.If the reference frames are n (random natural numbers), and the current frame is the t-th frame, in step (a), one search area adjustment is performed according to the motion estimation of the 16x16 block with respect to the t-th frame. Four search region adjustments may be performed according to the motion estimation of the 8x8 block, and search region adjustments according to the motion estimation of the 16x16 block may be performed on each of the reference frames that are the t-2 th frame to the tn th frame.

상기 단계 (a)에서 n(임의의 자연수) 개의 참조 프레임 각각에 대해 16x16 블록의 움직임 추정에 따른 1회의 탐색 영역 조정이 각각 수행될 수 있다.In step (a), one search region adjustment may be performed for each of the n (arbitrary natural numbers) reference frames according to the motion estimation of the 16 × 16 block.

n(임의의 자연수) 개의 참조 프레임들 각각에 대해, 상기 단계 (a)에서 16x16 블록의 움직임 추정에 따른 1회의 탐색 영역 조정 및 8x8 블록의 움직임 추정에 따른 4회의 탐색 영역 조정이 각각 수행될 수 있다.For each of the n (arbitrary natural numbers) reference frames, one search region adjustment according to the motion estimation of the 16x16 block and four search region adjustments according to the motion estimation of the 8x8 block may be performed in step (a), respectively. have.

상기 참조 프레임이 n(임의의 자연수) 개이고, 현재 프레임이 t번째 프레임인 경우, 상기 단계 (a)에서 t-1번째 프레임인 참조 프레임에 대해 16x16 블록의 움직임 추정에 따른 1회의 탐색 영역 조정을 수행되되, 상기 탐색 영역 조정에 의해 조정된 탐색 영역은 t-2번째 프레임부터 t-n번째 프레임인 참조 프레임들에 대해서도 공통적으로 적용될 수 있다.If the reference frames are n (random natural numbers) and the current frame is the t-th frame, in step (a), one search area adjustment is performed according to the motion estimation of the 16x16 block for the t-th frame. The search region adjusted by the search region adjustment may be commonly applied to reference frames that are frames t-2 to tn.

상기 부호화 장치는 H.264/AVC 부호화기일 수 있다.
The encoding device may be an H.264 / AVC encoder.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features, and advantages other than those described above will become apparent from the following drawings, claims, and detailed description of the invention.

본 발명의 실시예에 따르면, H.264/AVC 부호화기를 사용하는 모든 기기에서 동영상 부호화 시간을 단축할 수 있도록 하는 효과가 있다.According to the embodiment of the present invention, there is an effect of reducing the video encoding time in all devices using the H.264 / AVC encoder.

또한, 매크로블록의 움직임 추정(Motion Estimation)을 수행하기 위해 탐색 영역(Search Range)의 크기를 작게 재설정함으로써 연산 복잡도를 현저하게 감소시킬 수 있는 효과도 있다.In addition, it is possible to significantly reduce the computational complexity by resetting the size of the search range to make the motion estimation of the macroblock small.

도 1은 인터 예측(Inter Prediction)을 위한 가변 블록 사이즈를 나타낸 도면.
도 2는 인터 예측을 위한 복수의 참조 프레임들을 나타낸 도면.
도 3은 종래 기술에 따른 인터 예측을 위한 탐색 영역(Search Range)을 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 움직임 추정 유닛의 구성을 개략적으로 나타낸 도면.
도 5는 본 발명의 일 실시예에 따른 인터 예측을 위한 조정된 탐색 영역(Search Range)을 나타낸 도면.
도 6은 본 발명의 일 실시예에 따른 탐색 영역 조정을 위한 각 프레임 단위의 움직임 추정 개념을 나타낸 도면.
1 illustrates a variable block size for inter prediction.
2 illustrates a plurality of reference frames for inter prediction.
3 is a diagram illustrating a search range for inter prediction according to the prior art;
4 is a diagram schematically showing a configuration of a motion estimation unit according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating an adjusted search range for inter prediction according to an embodiment of the present invention. FIG.
6 is a diagram illustrating a motion estimation concept for each frame unit for adjusting a search area according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated and described in the drawings. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

또한, 명세서에 기재된 "…부", "…기", "…유닛", "…모듈", "…블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, the terms “… unit”, “… group”, “… unit”, “… module”, “… block”, etc. described in the specification mean a unit that processes at least one function or operation. It may be implemented in software or a combination of hardware and software.

이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Referring to the accompanying drawings, the same or corresponding components are denoted by the same reference numerals, .

도 4는 본 발명의 일 실시예에 따른 움직임 추정 유닛의 구성을 개략적으로 나타낸 도면이고, 도 5는 본 발명의 일 실시예에 따른 인터 예측을 위한 조정된 탐색 영역(Search Range)을 나타낸 도면이며, 도 6은 본 발명의 일 실시예에 따른 탐색 영역 조정을 위한 각 프레임 단위의 움직임 추정 개념을 나타낸 도면이다.4 is a diagram schematically illustrating a configuration of a motion estimation unit according to an embodiment of the present invention, and FIG. 5 is a diagram illustrating an adjusted search range for inter prediction according to an embodiment of the present invention. 6 is a diagram illustrating a motion estimation concept for each frame unit for adjusting a search area according to an embodiment of the present invention.

도 4를 참조하면, 움직임 추정 유닛(400)은 움직임 추정부(410)와 탐색영역 조정부(420)를 포함할 수 있다.Referring to FIG. 4, the motion estimation unit 400 may include a motion estimation unit 410 and a search region adjustment unit 420.

움직임 추정부(410)는 각각의 참조 프레임(Reference Frame)을 대상으로 하여 최대인 디폴트 탐색 영역(default maximum search range)(510)에 대해 움직임 추정(Motion Estimation)을 수행한다. The motion estimator 410 performs motion estimation on a default maximum search range 510 for each reference frame.

탐색영역 조정부(420)는 움직임 추정부(410)에 의한 움직임 추정 결과값을 이용하여 그 하위분할 모드에 대한 탐색 영역을 새롭게 정의한다. 새롭게 정의되는 탐색 영역(520)은 도 5에 도시된 바와 같이, 0에서부터 최대인 디폴트 탐색 영역(510)이 될 수 있으며, 수학식으로 표현하면 그 크기는 0≤r≤d와 같이 표현될 수 있다.The search region adjusting unit 420 newly defines a search region for the subdivided mode by using the motion estimation result value of the motion estimation unit 410. The newly defined search area 520 may be the default search area 510 that is 0 to the maximum, as shown in FIG. 5, and the size of the search area 520 may be expressed as 0 ≦ r ≦ d. have.

탐색영역 조정부(420)에 의해 탐색 영역이 조정되면, 움직임 추정부(410)는 최대인 디폴트 탐색 영역(510)이 아닌 새롭게 정의된 탐색 영역(520)을 대상으로 서브 파티션(sub-partition, 하위 모드)인 16x8, 8x16 등에 대해 움직임 추정을 수행한다.When the search area is adjusted by the search area adjuster 420, the motion estimator 410 targets a newly defined search area 520 instead of the maximum default search area 510. Motion estimation is performed for 16x8, 8x16, and so on.

이하, 관련 도면을 참조하여 움직임 추정 유닛(400)이 보다 효과적인 처리를 위해 탐색 영역(Search Range)을 재조정하는 과정에 대해 설명한다.Hereinafter, a process in which the motion estimation unit 400 readjusts a search range for more effective processing will be described with reference to related drawings.

본 실시예에 따른 움직임 추정 유닛(400)은 매크로블록(Macro block)에 대한 각 참조 프레임(reference frame)에 상응하는 움직임 탐색 영역(Search Range)의 범위를 줄여 움직임 추정(Motion Estimation) 시에 발생하는 복잡도를 감소시키는 방안을 제시한다.The motion estimation unit 400 according to the present embodiment generates a motion estimation area by reducing a range of a search range corresponding to each reference frame for a macro block. It suggests ways to reduce the complexity.

이 때, 복수 개의 참조 프레임과 현재 프레임간의 시간적 상관관계(temporal correlation)로 인해 현재 프레임(current frame)에 시간적으로 인접한 참조 프레임이 최종적 참조 프레임으로 자주 선택되어짐을 감안하여 인접한 참조 프레임과 인접하지 않은 참조 프레임 간에 탐색 영역의 조정 시 차별을 두는 기법을 적용한다. 예를 들어, 5장의 참조 프레임이 적용되는 경우 현재 프레임인 t번째 프레임을 기준으로, t-1번째 프레임과 그 외의 참조 프레임(즉, t-2번째 프레임부터 t-5번째 프레임까지)에 대해 탐색 영역의 조정 방법을 상이하게 적용한다.In this case, due to the temporal correlation between the plurality of reference frames and the current frame, a reference frame that is temporally adjacent to the current frame is frequently selected as the final reference frame. A discrimination technique is applied when adjusting the search region between reference frames. For example, if five reference frames are applied, the t-1th frame and other reference frames (that is, the t-2th frame to the t-5th frame) based on the tth frame, which is the current frame, are applied. The adjustment method of the search area is applied differently.

Foreman 시퀀스(sequence)에서 5개의 참조 프레임들에 대한 선택 비율을 표로서 나타내면 아래와 같다. 본 명세서에서 참조 프레임의 수가 5개인 경우가 예시적으로 설명되지만, 참조 프레임은 n(임의의 자연수)개로 설정될 수 있음은 당연하다.
A selection ratio for five reference frames in a foreman sequence is shown as a table below. Although the case where the number of reference frames is five is described by way of example herein, it is natural that the reference frames may be set to n (any natural number).

The selection ratio of five reference frames in the Foreman sequence The selection ratio of five reference frames in the Foreman sequence QpQp Reference frame numberReference frame number (t-1)-th( t -1) -th (t-2)-th( t -2) -th (t-3)-th( t -3) -th (t-4)-th( t -4) -th (t-5)-th( t -5) -th 2222 64.9664.96 13.7713.77 10.5110.51 5.445.44 5.325.32 2828 75.4375.43 10.3710.37 7.837.83 3.213.21 3.153.15 3434 88.1288.12 5.645.64 3.813.81 1.121.12 1.311.31 AverageAverage 76.1776.17 9.939.93 7.387.38 3.263.26 3.263.26

위 표 1에서 보이는 바와 같이, 현재 프레임과 시간적으로 인접한 참조 프레임인 t-1번째 프레임이 약 76%로 가장 높은 선택 빈도를 가짐을 알 수 있다. 표 1에서의 Qp는 양자화 파라미터(Quantization parameter)를 나타낸다. As shown in Table 1, it can be seen that the t-1 th frame, which is a reference frame temporally adjacent to the current frame, has the highest selection frequency of about 76%. Qp in Table 1 represents a quantization parameter.

또한, H.264/AVC 표준에서는 하나의 매크로블록을 부호화할 때, 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4 크기로 각각 분할하여 움직임 추정을 수행하는데, 하기 표 2에서 보이는 바와 같이, 인접하지 않은 참조 프레임(즉, t-2번째 프레임부터 t-5번째 프레임)인 경우에는 16x16 분할이 최종 부호화 모드로 선택되는 비중이 평균 약 64%로 현저히 높다.
In addition, in the H.264 / AVC standard, when encoding one macroblock, motion estimation is performed by dividing each macroblock into 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, and 4x4 sizes, as shown in Table 2 below. In the case of non-contiguous reference frames (that is, frames t-2 to t-5), the proportion of 16x16 divisions to be selected as the final encoding mode is significantly high, on average about 64%.

The selected ME block type distribution in the Foreman sequence (for the (t-2)-th through the(t-5)-th reference frames) The selected ME block type distribution in the Foreman sequence (for the (t-2) -th through the (t-5) -th reference frames) QpQp ME block typeME block type 16x1616x16 16x816 x 8 8x168 x 16 P8x8P8x8 2222 50.8650.86 15.3115.31 16.8316.83 17.0017.00 2828 63.5463.54 12.9212.92 14.9914.99 8.558.55 3434 76.0776.07 9.889.88 10.8310.83 3.223.22 AverageAverage 63.4963.49 12.7112.71 14.2214.22 9.599.59

그러나 이와 달리, 현재 프레임과 시간적으로 인접된 t-1번째 프레임의 경우 하기 표 3에서 보이는 바와 같이 낮은 양자화 파라미터(Qp)로 부호화 하는 경우, 8x8 모드의 선택 비중이 높아진다. 예를 들어, Qp가 22인 경우라면 8x8 모드의 선택 비중이 약 27%로 다른 모드들에 비해 상대적으로 높음을 확인할 수 있다.
On the other hand, in the case of the t-1 th frame that is adjacent to the current frame in time, as shown in Table 3 below, when the low quantization parameter Qp is encoded, the selection ratio of the 8x8 mode increases. For example, if Qp is 22, the selection ratio of 8x8 mode is about 27%, which is relatively higher than other modes.

The selected ME block type distribution in the Foreman sequence (for the (t-1)-th reference frame)The selected ME block type distribution in the Foreman sequence (for the (t-1) -th reference frame) QpQp ME block typeME block type SKIPSKIP 16x1616x16 16x816 x 8 8x168 x 16 P8x8P8x8 2222 20.4420.44 26.6026.60 12.3712.37 13.4013.40 27.1927.19 2828 41.4641.46 26.5426.54 9.969.96 10.6910.69 11.3611.36 3434 60.5860.58 23.7223.72 6.126.12 6.136.13 3.443.44 AverageAverage 40.8340.83 25.6225.62 9.489.48 10.0710.07 14.0014.00

전술한 표 2 및 표 3의 통계적 특성을 활용하여, 도 6에 도시된 바와 같이 t-2번째 프레임부터 t-5번째 프레임까지인 참조 프레임들에는 16x16 블록의 움직임 추정 결과값을 그 하위 분할 모드에 활용한다. 그러나 t-1번째 프레임인 참조 프레임에 대해서는 16x16 블록의 움직임 추정 결과값을 16x8, 8x16 분할 모드에 적용하고, 8x8 블록의 움직임 추정 결과값을 8x4, 4x8, 4x4 분할 모드에 각각 적용한다. By using the above-described statistical characteristics of Tables 2 and 3, as shown in FIG. 6, the reference frames ranging from the t-2 th frame to the t-5 th frame are subjected to the motion estimation result of the 16x16 block in the subdivided mode. Take advantage of. However, the motion estimation result of the 16x16 block is applied to the 16x8 and 8x16 partition modes and the motion estimation result of the 8x8 block is applied to the 8x4, 4x8, and 4x4 partition modes, respectively.

각 참조 프레임들에 대한 움직임 추정 결과값은 각 참조 프레임에 대한 탐색 영역(Search Range) 조정을 위해 이용되고, 조정된 탐색 영역(520)은 하위 분할 모드에서 움직임 추정을 위한 탐색 영역으로 이용된다. The motion estimation result value for each reference frame is used to adjust a search range for each reference frame, and the adjusted search region 520 is used as a search region for motion estimation in the subdivided mode.

따라서 각 참조 프레임들에 16x16 블록의 움직임 추정이 수행되는데, 해당 움직임 추정은 각 참조 프레임별로 개별 수행되므로, 각 참조 프레임별 탐색 영역을 조정하기 위한 움직임 추정 결과값은 각 참조 프레임별로 상이할 수 있으며, 이에 의해 결정되는 탐색 영역의 크기도 각 참조 프레임별로 상이할 수 있다.Therefore, motion estimation of a 16x16 block is performed on each reference frame. Since the motion estimation is performed separately for each reference frame, the motion estimation result for adjusting the search region for each reference frame may be different for each reference frame. In addition, the size of the search region determined by this may be different for each reference frame.

이와 같이, 각 참조 프레임별로 상이하게 조정될 수 있는 탐색 영역의 범위는 0(zero)부터 최대인 디폴트 탐색 영역(510)의 크기 중 임의의 값(즉, 0≤r≤d)으로 결정될 수 있다.As described above, the range of the search region that can be adjusted differently for each reference frame may be determined as any value (that is, 0 ≦ r ≦ d) from the size of the default search region 510 which is zero to maximum.

이 때, 조정되는 탐색 영역은 하기 수학식 1에 기재된 바와 같이, 영역 경계값(RB, Range Boundary)에 의해 재정의되며, 영역 경계값(RB)은 움직임 추정 결과값에서 유추된다.
At this time, the adjusted search area is redefined by the range boundary (RB) as described in Equation 1 below, and the area boundary value RB is inferred from the motion estimation result value.

Figure 112011023228632-pat00003
Figure 112011023228632-pat00003

Figure 112011023228632-pat00004
Figure 112011023228632-pat00004

Figure 112011023228632-pat00005

Figure 112011023228632-pat00005

영역 경계값(RB)을 구하기 위해 가장 먼저 각 참조 프레임별 주어진 블록에 대해 최대인 디폴트 탐색 영역(510) 내에서 최소의 RD(Rate-distortion) cost를 가지는 움직임 벡터(MV, Motion Vector)을 구한다. In order to obtain the region boundary value (RB), first, a motion vector (MV) having a minimum rate-distortion (RD) cost in the default search region 510 that is maximum for a given block for each reference frame is obtained. .

이때 사용되는 RD 함수는 수학식 1에 예시된 바와 같이 H.264/AVC에서 통상적으로 사용하는 함수가 동일하게 사용될 수 있으며, 최소의 비용 함수를 가지는 MVx와 MVy가 결정되면, 이들 각각에 대한 절대값 중 최대값으로 영역 경계값이 결정된다. MVx와 MVy는 진행 방향에 따라 음수값을 가질 수 있으나, 영역 경계값을 구하기 위해서는 이들의 절대값을 산출하여 적용한다.In this case, the RD function used may be the same as a function commonly used in H.264 / AVC as illustrated in Equation 1, and when MV x and MV y having a minimum cost function are determined, The region boundary value is determined as the maximum value of the absolute values. MV x and MV y may have negative values according to the direction of travel, but in order to obtain region boundary values, the absolute values thereof are calculated and applied.

해당 참조 프레임에 대해 영역 경계값이 정해지면, 남은 블록에 대한 움직임 추정 과정은 새롭게 조정된 탐색 영역(520) 내에서 수행된다. 도 5에는 조정된 탐색 영역(520)이 도시되어 있다. 도 5의 d는 사용자가 지정하거나 디폴트로 설정된 탐색 영역의 크기(예를 들어, 16)를 나타내고, r은 전술한 과정에 의해 조정된 탐색 영역의 크기를 나타낸다. 만일 16x16 블록의 움직임 벡터값이 (0,0)이라고 가정하면, 조정된 탐색 영역의 크기 r은 0이 될 것이며, 이는 원점인 하나의 픽셀에 대한 움직임 추정이 실행됨을 의미한다. When the region boundary value is determined for the reference frame, the motion estimation process for the remaining blocks is performed in the newly adjusted search region 520. In FIG. 5 an adjusted search area 520 is shown. 5 d represents the size (eg, 16) of the search area designated or defaulted by the user, and r represents the size of the search area adjusted by the above-described process. If we assume that the motion vector value of the 16x16 block is (0,0), the size r of the adjusted search area will be 0, which means that motion estimation is performed for one pixel which is the origin.

이하, 현재 프레임과 각 참조 프레임의 관계에 따른 움직임 추정 및 탐색 영역의 크기 결정 방법을 각각 설명한다.Hereinafter, a method of estimating a motion and determining a size of a search area according to the relationship between the current frame and each reference frame will be described.

먼저, t-2번째 프레임부터 t-5번째 프레임에 해당되는 참조 프레임인 경우, 각각의 참조 프레임에 대해 16x16 블록에 대한 움직임 추정을 수행한다. 이 때 탐색 영역의 범위는 사용자가 지정한 값(예를 들어, d = 16)에 의해 결정될 것이다.First, in the case of a reference frame corresponding to the t-2 th to t-5 th frames, motion estimation for a 16x16 block is performed for each reference frame. In this case, the range of the search area may be determined by a value specified by the user (eg, d = 16).

해당 탐색 영역에 대해 움직임 추정이 완료되면 가장 유사한 블록이 찾아지고 해당 블록의 위치(즉, 움직임 벡터값)가 확인될 수 있다. 전술한 수학식 1과 같이, 움직임 벡터값을 이용하여 영역 경계값(RB)이 결정되고, 해당 범위 결정값을 이용하여 탐색 영역의 범위를 조정한다. 조정된 탐색 영역의 범위 r은 영역 경계값에 의해 0≤r≤d의 값으로 조정된다.When motion estimation is completed for the corresponding search area, the most similar block may be found and the position (ie, the motion vector value) of the corresponding block may be identified. As shown in Equation 1, the region boundary value RB is determined using the motion vector value, and the range of the search region is adjusted using the range determination value. The adjusted range r of the search area is adjusted to a value of 0 ≦ r ≦ d by the area boundary value.

이후, 해당 참조 프레임에 상응하여 조정된 탐색 영역에 대해 서브 파티션(sub-partition)인 16x8, 8x16, P8x8 등에 대해 움직임 추정을 수행한다. 이때, 움직임 추정은 앞서 조정된 탐색 영역의 범위에 대해서만 수행되므로, 움직임 추정시의 복잡도가 현저히 감소될 수 있다.Subsequently, motion estimation is performed on sub-partitions 16x8, 8x16, P8x8, and the like for the search region adjusted according to the corresponding reference frame. At this time, since the motion estimation is performed only for the range of the previously adjusted search region, the complexity of motion estimation can be significantly reduced.

다음으로, t-1번째 프레임에 해당되는 참조 프레임인 경우, 전술한 바와 같이 16x16 블록에 대한 움직임 추정 결과값을 이용하여 조정된 탐색 영역의 범위 내에서 서브 파티션(sub-partition)인 16x8 및 8x16에 대한 움직임 추정을 수행한다. 이후, 8x8 블록에 대해서는 사용자가 지정한 값(예를 들어, d = 16)에 의해 결정되는 탐색 영역(즉, 최대인 디폴트 탐색 영역(510))을 대상으로 움직임 추정을 수행하고 그 결과값을 이용하여 조정된 탐색 영역의 범위 내에서 서브 파티션(sub-partition)인 8x4, 4x8 및 4x4 블록에 대해 적용한다.Next, in the case of the reference frame corresponding to the t-1 th frame, as described above, the sub-partitions 16x8 and 8x16 within the range of the search region adjusted using the motion estimation result value for the 16x16 block as described above. Perform motion estimation for. Then, for 8x8 blocks, motion estimation is performed on the search area (that is, the maximum default search area 510) determined by a user-specified value (for example, d = 16), and the resulting value is used. Apply to 8x4, 4x8 and 4x4 blocks that are sub-partitions within the range of the adjusted search area.

이와 같이, t-2번째 프레임부터 t-5번째 프레임인 경우 각각의 프레임에 대해 16x16 블록에 대한 움직임 추정의 결과로서 1번씩의 탐색 영역의 조정이 이루어진다. 움직임 추정이 각 프레임에 대해 수행되므로 각 프레임에 대해 각각 결정되는 탐색 영역의 크기는 각각 상이할 수도 있을 것이다.As described above, in the case of the t-2 th frame to the t-5 th frame, one search area is adjusted as a result of the motion estimation for the 16x16 block for each frame. Since the motion estimation is performed for each frame, the size of the search area determined for each frame may be different.

그러나 t-1번째 프레임인 경우에는 최대 5회의 탐색 영역 조정이 이루어질 수 있다. 이는, 16x16 블록에 대한 움직임 추정의 결과로서 1회의 탐색 영역의 조정이 이루어지고, 양자화 파라미터가 낮은 경우를 감안하여 8x8 블록에 대한 움직임 추정의 결과로서 4회의 탐색 영역 조정이 이루어진다. 이는, 도 1에 도시된 바와 같이 하나의 매크로블록 내에 4개의 8x8 블록이 존재하기 때문이다.However, in the case of the t-1 < th > frame, up to 5 search area adjustments can be made. That is, one search region is adjusted as a result of motion estimation for 16x16 blocks, and four search region adjustments are made as a result of motion estimation for 8x8 blocks in consideration of the case where the quantization parameter is low. This is because four 8x8 blocks exist in one macroblock as shown in FIG.

이와 같이, 본 실시예에 따른 움직임 탐색 영역의 조정 방법은 16x16 또는 8x8 블록의 움직임 벡터값을 이용하여 영역 경계값(RB)을 결정한다. 하기 표 4는 영역 경계값을 결정하기 위해 선택된 움직임 추정을 위한 블록 유형을 나타낸다.
As described above, in the method for adjusting the motion search region according to the present embodiment, the region boundary value RB is determined using the motion vector value of the 16x16 or 8x8 block. Table 4 below shows the block types for motion estimation selected to determine region boundary values.

The selected ME block type for determining the RB value The selected ME block type for determining the RB value Reference
frame number
Reference
frame number
Block partition typeBlock partition type
16×1616 × 16 16×816 × 8 8×168 × 16 P8×8P8 × 8 8×88 × 8 8×48 × 4 4×84 × 8 4×44 × 4 (t-2)-th to (t-5)-th(t-2) -th to (t-5) -th 16×16ME with J 16 ×16 ME 16 × 16ME with J 16 × 16 ME 16×1616 × 16 MEME withwith JJ 1616 ×16× 16 MEME (t-1)-th(t-1) -th 16×16ME with J 16 ×16 ME 16 × 16ME with J 16 × 16 ME 8×88 × 8 MEME withwith JJ 88 ×8× 8 MEME

표 4를 통해 확인되는 바와 같이, 16x16 블록의 움직임 벡터(MV)의 위치는 해당 블록의 분할 블록들에 대한 영역 경계값을 계산하는데 사용된다. As can be seen from Table 4, the position of the motion vector (MV) of the 16x16 block is used to calculate the region boundary values for the divided blocks of the block.

다만, t-1번째 참조 프레임인 경우는, 8×8 블록의 움직임 벡터가 8×8의 분할 블록들(예를 들어, 8×4, 4×8, 4×4)의 영역 경계값을 계산하기 위해 추가적으로 사용된다. 본 실시예에 관한 의사코드(pseudo code)가 표 5에 표시된다.
However, in the case of the t-1th reference frame, the motion vector of the 8x8 block calculates the region boundary values of 8x8 partition blocks (for example, 8x4, 4x8, and 4x4). It is additionally used to. The pseudo code according to this embodiment is shown in Table 5.

The procedure of the proposed adaptive search range methodThe procedure of the proposed adaptive search range method AlgorithmAlgorithm 1  One adaptiveadaptive searchsearch rangerange methodmethod for each reference frame do
if the reference frame is the (t-1)-th frame
for each MB do
if ME is 16×16ME
maximum_search_range=[(2×SR+1) × (2×SR+1)]
MV_position=integer ME (maximum_search_range)
16×16_range_boundary=compute_range boundary (MV_position)
else if ME is 16×8ME or 8×16ME
maximum_search_range=16×16_range boundary
MV_position=integer ME (maximum_search_range)
else if ME is 8×8ME
maximum_search_range=[(2×SR+1) × (2×SR+1)]
MV_position=integer ME (maximum_search_range)
8×8_range boundary =compute_range boundary (MV_position)
else
maximum_search_range=8×8_range boundary
MV_position=integer ME (maximum_search_range)
end if
end
else
for each MB do
if ME is 16×16ME
maximum_search_range=[(2×SR+1) × (2×SR+1)]
MV_position=integer ME (maximum_search_range)
16×16_range boundary =compute_range boundary (MV_position)
else
maximum_search_range=16×16_range boundary
MV_position=integer ME (maximum_search_range)
end if
end
end if
end
for each reference frame do
if the reference frame is the (t-1) -th frame
for each MB do
if ME is 16 × 16ME
maximum_search_range = [(2 × SR + 1) × (2 × SR + 1)]
MV_position = integer ME (maximum_search_range)
16 × 16_range_boundary = compute_range boundary (MV_position)
else if ME is 16 × 8ME or 8 × 16ME
maximum_search_range = 16 × 16_range boundary
MV_position = integer ME (maximum_search_range)
else if ME is 8 × 8ME
maximum_search_range = [(2 × SR + 1) × (2 × SR + 1)]
MV_position = integer ME (maximum_search_range)
8 × 8_range boundary = compute_range boundary (MV_position)
else
maximum_search_range = 8 × 8_range boundary
MV_position = integer ME (maximum_search_range)
end if
end
else
for each MB do
if ME is 16 × 16ME
maximum_search_range = [(2 × SR + 1) × (2 × SR + 1)]
MV_position = integer ME (maximum_search_range)
16 × 16_range boundary = compute_range boundary (MV_position)
else
maximum_search_range = 16 × 16_range boundary
MV_position = integer ME (maximum_search_range)
end if
end
end if
end

본 발명자는 본 실시예에 따른 탐색 영역 조정 장치 및 방법을 평가하기 위해 H.264/AVC 부호화기에 해당 기술적 사상을 구현하여 실험하였다. 본 실험에서 움직임 추정(ME) 방법으로 전 탐색(full search)을 사용하였으나, hexagon 같은 탐색 영역(SR)을 사용하는 다른 움직임 추정 방법에서도 본 실시예에 따른 탐색 영역의 조정이 가능함은 당연하다.In order to evaluate the apparatus and method for adjusting a search region according to the present embodiment, the present inventors have implemented and experimented with the technical idea of the H.264 / AVC encoder. In this experiment, full search was used as the motion estimation (ME) method, but it is natural that other motion estimation methods using the search area SR such as hexagon can be adjusted according to the present embodiment.

실험을 위해, 네 개의 양자화 파라미터(Quantization parameters)와 다섯 개의 참조 프레임을 사용하고, 최대인 디폴트 탐색 영역(default maximum search range)의 크기(d)는 수평 및 수직 방향으로 각각 ±16으로 설정했다.For the experiment, four quantization parameters and five reference frames were used, and the size d of the default maximum search range was set to ± 16 in the horizontal and vertical directions, respectively.

객관적 평가를 위해 하나의 매크로블록별 평균 탐색점(searching point)의 개수를 산출하여 표 6에 나타내었다. 표 6에서 Nsp는 탐색 영역 내의 탐색점들의 개수의 평균값을 나타내고, SSR은 탐색 영역의 크기를 나타낸다.
For objective evaluation, the average number of search points for one macroblock is calculated and shown in Table 6. In Table 6, N sp represents the average value of the number of search points in the search region, and S SR represents the size of the search region.

The comparison of average NSP and SSR in the Foreman sequence The comparison of average N SP and S SR in the Foreman sequence QpQp Reference frame numberReference frame number Proposed methodProposed method FSR methodFSR method A/B
(%)
A / B
(%)
NSP -(A) N SP- (A) SSR S SR NSP -(B) N SP- (B) SSR S SR 2222 (t-1)-th (t -1) -th 169.15 169.15 6.00 6.00 10891089 1616 15.53 15.53 (t-2)-th( t -2) -th 172.29 172.29 6.06 6.06 10891089 1616 15.82 15.82 (t-3)-th( t -3) -th 247.74 247.74 7.37 7.37 10891089 1616 22.75 22.75 (t-4)-th( t -4) -th 293.71 293.71 8.07 8.07 10891089 1616 26.97 26.97 (t-5)-th( t -5) -th 331.55 331.55 8.60 8.60 10891089 1616 30.45 30.45 2828 (t-1)-th( t -1) -th 166.62 166.62 5.95 5.95 10891089 1616 15.30 15.30 (t-2)-th( t -2) -th 175.80 175.80 6.13 6.13 10891089 1616 16.14 16.14 (t-3)-th( t -3) -th 251.69 251.69 7.43 7.43 10891089 1616 23.11 23.11 (t-4)-th( t -4) -th 297.97 297.97 8.13 8.13 10891089 1616 27.36 27.36 (t-5)-th( t -5) -th 337.00 337.00 8.68 8.68 10891089 1616 30.95 30.95 3434 (t-1)-th( t -1) -th 165.05 165.05 5.92 5.92 10891089 1616 15.16 15.16 (t-2)-th( t -2) -th 181.90 181.90 6.24 6.24 10891089 1616 16.70 16.70 (t-3)-th( t -3) -th 253.69 253.69 7.46 7.46 10891089 1616 23.30 23.30 (t-4)-th( t -4) -th 299.65 299.65 8.16 8.16 10891089 1616 27.52 27.52 (t-5)-th( t -5) -th 338.53 338.53 8.70 8.70 10891089 1616 31.09 31.09 AverageAverage 22.5422.54

표 6에 보이는 바와 같이, 본 실시예에 따른 방법은 FSR(full search range)에 대비하여 평균 탐색점의 수에서 약 78%의 감소량을 나타낸다. 또한, 탐색 영역의 크기도 현저히 감소됨으로써 효율의 우수성이 예측될 수 있다.As shown in Table 6, the method according to the present embodiment shows a reduction of about 78% in the number of average search points against the full search range (FSR). In addition, the size of the search region is also significantly reduced, so that the superiority of the efficiency can be predicted.

또한, 부호화기의 전체 성능을 평가하기 위해, 비트 증감 (B-%), PSNR 증감 (PSNR-dB), 인코딩 시간 증감 (ET-%), 그리고 ME 시간 증감 (MET-%)을 측정하였으며 그 결과를 표 7에 나타내었다.
In addition, to evaluate the overall performance of the encoder, we measured the bit increase and decrease (B-%), PSNR increase and decrease (PSNR-dB), encoding time increase and decrease (ET-%), and ME time increase and decrease (MET-%). Is shown in Table 7.

Encoder performance evaluation of the proposed method compared to the FSR method in the AVC/H.264 JM encoder Encoder performance evaluation of the proposed method compared to the FSR method in the AVC / H.264 JM encoder SequenceSequence △B (%)△ B (%) △PSNR (dB)△ PSNR (dB) △ET (%)△ ET (%) △MET (%)△ MET (%) AkiyoAkiyo -0.05 -0.05 0.00 0.00 -47.51 -47.51 -61.64 -61.64 BusBus 1.00 1.00 -0.02 -0.02 -39.35 -39.35 -44.30 -44.30 CoastguardCoastguard 0.24 0.24 -0.01 -0.01 -52.49 -52.49 -59.03 -59.03 ContainerContainer 0.03 0.03 -0.02 -0.02 -55.23 -55.23 -66.63 -66.63 ForemanForeman 0.26 0.26 -0.01 -0.01 -47.84 -47.84 -56.30 -56.30 HallHall 0.83 0.83 -0.02 -0.02 -49.37 -49.37 -62.32 -62.32 MobileMobile 0.22 0.22 -0.01 -0.01 -62.16 -62.16 -72.50 -72.50 Mother & daughterMother & daughter 0.13 0.13 -0.02 -0.02 -49.21 -49.21 -60.63 -60.63 NewsNews 0.01 0.01 -0.02 -0.02 -49.21 -49.21 -61.97 -61.97 SilentSilent 0.40 0.40 0.00 0.00 -49.76 -49.76 -62.16 -62.16 StefanStefan 0.52 0.52 -0.01 -0.01 -45.26 -45.26 -52.25 -52.25 AverageAverage 0.33 0.33 -0.01 -0.01 -49.76 -49.76 -59.98 -59.98

표 7에 나타난 바와 같이, 본 실시예에 따른 방법을 사용하는 부호화기가 종래의 H.264/AVC 부호화기 대비 0.33% 비트가 증가하고, 0.01dB PSNR이 감소하면서 약 50% 정도 인코딩 시간이 감소했으며, 60% ME 시간도 감소하였다. As shown in Table 7, the encoder using the method according to the present embodiment increased the encoding time by about 50% with 0.33% bit increase and 0.01 dB PSNR decrease, compared to the conventional H.264 / AVC encoder. The 60% ME time was also reduced.

또한, 표 7의 비교 실험을 Full HD 데이터를 대상으로 추가적으로 진행한 결과가 표 8에 예시되어 있다.In addition, the results of further performing the comparative experiment of Table 7 for Full HD data are shown in Table 8.

Encoder performance evaluation of the proposed method compared to the FSR method in the AVC/H.264 JM encoder (Full HD)Encoder performance evaluation of the proposed method compared to the FSR method in the AVC / H.264 JM encoder (Full HD) SequenceSequence △B (%)△ B (%) △PSNR (dB)△ PSNR (dB) △ET (%)△ ET (%) △MET (%)△ MET (%) BasketballDriveBasketballdrive 0.310.31 -0.03-0.03 -65.21-65.21 -66.50-66.50 BQTerraceBQTerrace -0.04-0.04 -0.02-0.02 -68.02-68.02 -69.57-69.57 CactusCactus 0.380.38 0.000.00 -66.72-66.72 -68.37-68.37 ParkjoyParkjoy 0.320.32 0.000.00 -53.62-53.62 -69.93-69.93 ParkSceneParkscene 0.170.17 0.000.00 -67.72-67.72 -69.16-69.16 PeopleOnStreetPeopleonstreet 0.140.14 -0.02-0.02 -68.64-68.64 -70.32-70.32 TrafficTraffic 0.010.01 0.000.00 -67.58-67.58 -69.71-69.71 AverageAverage 0.180.18 -0.01-0.01 -65.36-65.36 -69.08-69.08

Full HD 데이터를 대상으로 비교 실험하였을 때, 약 66% 정도 인코딩 시간 감소 및 69% ME 시간 감소 등 앞서 표 7에 제시된 결과보다 오히려 우수한 결과를 얻을 수 있었다.In comparison with the Full HD data, the results were superior to those shown in Table 7, such as a reduction of 66% in encoding time and 69% in ME time.

이와 같이, 본 실시예에 따른 탐색 영역 조정 방법이 구현된 부호화기는 mobile과 같이 움직임이 많은 동영상에 우수하게 작동할 뿐 아니라, Full HD 시스템 내에서 보다 효과적으로 기능할 수 있는 장점을 가진다.
As described above, the encoder implementing the search region adjusting method according to the present embodiment not only works well with a moving video such as mobile, but also has an advantage of more effectively functioning in a Full HD system.

이제까지, 현재 프레임이 t번째 프레임인 경우, t-1번째 프레임인 참조 프레임에 대해 탐색영역 조정부(420)가 16x16 블록의 움직임 추정에 따른 1회의 탐색 영역 조정 및 8x8 블록의 움직임 추정에 따른 4회의 탐색 영역 조정을 각각 수행하되, n(임의의 자연수) 개인 참조 프레임들 중 t-2번째 프레임부터 t-n번째 프레임인 참조 프레임들 각각에 대해 탐색영역 조정부(420)가 16x16 블록의 움직임 추정에 따른 각 1회의 탐색 영역 조정을 수행하는 실시예를 중심으로 설명하였다. 이를 표로 정리하면 하기 표 9와 같다.Up to now, when the current frame is the t-th frame, the search region adjustment unit 420 performs one search region adjustment based on the motion estimation of the 16x16 block and four times the motion estimation of the 8x8 block with respect to the reference frame that is the t-1 th frame. The search region adjustment unit 420 performs search region adjustment, and the search region adjustment unit 420 determines each of the reference frames that are t-2 th to tn th frames among n (arbitrary natural numbers) individual reference frames according to the motion estimation of the 16x16 block. A description has been given focusing on an embodiment of performing one search area adjustment. This is summarized in Table 9 below.

16x1616x16 16x816 x 8 8x168 x 16 8x88x8 8x48 x 4 4x84x8 4x44x4 t-1t-1 MSRMSR -- ASR1ASR1 ASR1ASR1 MSRMSR -- ASR2ASR2 ASR2ASR2 t-2t-2 MSRMSR -- ASR3ASR3 ASR3ASR3 t-3t-3 MSRMSR -- ASR4ASR4 ASR4ASR4 t-4t-4 MSRMSR -- ASR5ASR5 ASR5ASR5 t-5t-5 MSRMSR -- ASR6ASR6 ASR6ASR6

즉, 표 9에 보이는 바와 같이, 각 참조 프레임에 대해 최대인 디폴트 탐색 영역(MSR, Maximum Search Range) 범위 내에서 움직임 추정을 수행한 후, 조정된 탐색 영역(ASR, Adaptive Search Range) 범위 내에서 그 외의 블록들에 대한 움직임 추정을 수행한다. 다만, 시간적으로 인접된 직전의 참조 프레임에 대해서는 8x8 블록의 움직임 추정에 따른 탐색 영역 조정이 각각 재수행된다. That is, as shown in Table 9, after performing motion estimation within a maximum search range (MSR, Maximum Search Range) range maximum for each reference frame, and within the adjusted search range (ASR, Adaptive Search Range) range Perform motion estimation on other blocks. However, for the reference frames immediately adjacent in time, search area adjustments according to motion estimation of 8x8 blocks are performed again.

예를 들어, 표 9에 나타난 바와 같이, t-2번째 참조 프레임인 경우 16x16 블록의 움직임 추정에 의해 조정된 탐색 영역(ASR2)이 기타의 다른 블록들에 대해서도 공통적으로 적용되고 있으나, t-1번째 참조 프레임인 경우 16x16 블록의 움직임 추정에 따른 탐색 영역 조정(ASR1)과 8x8 블록의 움직임 추정에 따른 탐색 영역 조정(ASR2)이 각각 수행되고 서브 파티션(sub-partition)에 해당하는 블록 사이즈의 움직임 추정을 위한 기준으로 이용된다.For example, as shown in Table 9, in the case of the t-2 th reference frame, the search area ASR2 adjusted by the motion estimation of the 16x16 block is commonly applied to the other blocks, but t-1 In the case of the first reference frame, the search area adjustment (ASR1) according to the motion estimation of the 16x16 block and the search area adjustment (ASR2) according to the motion estimation of the 8x8 block are performed, respectively, and the motion of the block size corresponding to the sub-partition is performed. Used as a basis for estimation.

다른 실시예로는, 현재 프레임이 t번째 프레임인 경우, n(임의의 자연수) 개인 참조 프레임들 각각에 탐색영역 조정부(420)가 16x16 블록의 움직임 추정에 따른 각 1회의 탐색 영역 조정을 수행할 수도 있다. 이 경우라면 전술한 표 9의 경우, t-1번째인 참조 프레임에 대해서도 t-2번째 참조 프레임과 마찬가지로 조정된 하나의 탐색 영역 ASR1이 서브 파티션(sub-partition)에 해당하는 블록 사이즈의 움직임 추정을 위한 기준으로 이용될 것이다. 이를 표로 나타내면 하기 표 10과 같다.In another embodiment, when the current frame is the t-th frame, the search region adjusting unit 420 may perform each one search region adjustment according to the motion estimation of the 16x16 block in each of the n (arbitrary natural numbers) individual reference frames. It may be. In this case, in the above-described Table 9, the motion estimation of the block size corresponding to the sub-partition of one search area ASR1 adjusted in the same manner as the t-2 th reference frame also applies to the t-1 th reference frame. Will be used as a standard for This is shown in Table 10 below.

16x1616x16 16x816 x 8 8x168 x 16 8x88x8 8x48 x 4 4x84x8 4x44x4 t-1t-1 MSRMSR -- ASR1ASR1 ASR1ASR1 t-2t-2 MSRMSR -- ASR3ASR3 ASR3ASR3 t-3t-3 MSRMSR -- ASR4ASR4 ASR4ASR4 t-4t-4 MSRMSR -- ASR5ASR5 ASR5ASR5 t-5t-5 MSRMSR -- ASR6ASR6 ASR6ASR6

또 다른 실시예로는, 현재 프레임이 t번째 프레임인 경우, t-1번째 참조 프레임에 대해서만 16x16 블록의 움직임 추정에 따른 1회의 탐색 영역 조정을 수행하여 조정된 탐색 영역 ASR을 결정하고, ASR을 모든 다른 참조 프레임들에 대해서도 공통적으로 조정된 탐색 영역으로 이용할 수도 있다. 이 경우라면, t-1번째 참조 프레임부터 t-n번째 참조 프레임들 및 서브 파티션(sub-partition)에 해당하는 각각의 블록 사이즈의 움직임 추정을 위한 공통된 탐색 영역으로 ASR이 이용된다. 이를 표로 나타내면 하기 표 11과 같다.In another embodiment, when the current frame is the t-th frame, the search region ASR is determined by performing one search region adjustment based on the motion estimation of the 16x16 block only for the t-1 th reference frame, and ASR is determined. It may also be used as a coordinated search area in common for all other reference frames. In this case, the ASR is used as a common search region for motion estimation of each block size corresponding to the t-th reference frames to the t-nth reference frames and sub-partitions. This is shown in Table 11 below.

16x1616x16 16x816 x 8 8x168 x 16 8x88x8 8x48 x 4 4x84x8 4x44x4 t-1t-1 MSRMSR -- ASRASR

ASR


ASR
t-2t-2
ASR

ASR
t-3t-3 t-4t-4 t-5t-5

또 다른 실시예로는, n개의 참조 프레임들 각각에 대해 탐색영역 조정부(420)가 16x16 블록의 움직임 추정에 따른 1회의 탐색 영역 조정 및 8x8 블록의 움직임 추정에 따른 4회의 탐색 영역 조정을 각각 수행할 수도 있다. 이를 표로 나타내면 하기 표 12와 같다.In another embodiment, for each of the n reference frames, the search region adjusting unit 420 performs one search region adjustment according to the motion estimation of the 16x16 block and four search region adjustments according to the motion estimation of the 8x8 block, respectively. You may. This is shown in Table 12.

16x1616x16 16x816 x 8 8x168 x 16 8x88x8 8x48 x 4 4x84x8 4x44x4 t-1t-1 MSRMSR -- ASR1ASR1 ASR1ASR1 MSRMSR -- ASR2ASR2 ASR2ASR2 t-2t-2 MSRMSR -- ASR3ASR3 ASR3ASR3 MSRMSR -- ASR4ASR4 ASR4ASR4 t-3t-3 MSRMSR -- ASR5ASR5 ASR5ASR5 MSRMSR -- ASR6ASR6 ASR6ASR6 t-4t-4 MSRMSR -- ASR7ASR7 ASR7ASR7 MSRMSR -- ASR8ASR8 ASR8ASR8 t-5t-5 MSRMSR -- ASR9ASR9 ASR9ASR9 MSRMSR -- ASR10ASR10 ASR10ASR10

이외에도, 각 참조 프레임들 및 각 서브 파티션의 움직임 추정을 위해 탐색 영역을 조정하는 방법 및 기준은 다양할 수 있음은 당연하다.
In addition, it is natural that methods and criteria for adjusting the search region for motion estimation of each reference frame and each sub-partition may vary.

상술한 탐색 영역 조정 방법은 부호화기에 내장된 소프트웨어 프로그램 등에 의해 시계열적 순서에 따른 자동화된 절차로 수행될 수도 있음은 자명하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.It is apparent that the above-described search region adjusting method may be performed by an automated procedure according to time series order by a software program or the like embedded in the encoder. The codes and code segments that make up the program can be easily deduced by a computer programmer in the field. In addition, the program is stored in a computer readable media, and read and executed by a computer to implement the method. The information storage medium includes a magnetic recording medium, an optical recording medium, and a carrier wave medium.

상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the appended claims. And changes may be made without departing from the spirit and scope of the invention.

400 : 움직임 추정 유닛
410 : 움직임 추정부
420 : 탐색영역 조정부
400: motion estimation unit
410: motion estimation unit
420: search area adjustment unit

Claims (16)

부호화 장치에 있어서,
n개의 참조 프레임(Reference Frame)을 각각 참조하여 현재 프레임에 포함된 임의의 매크로블록에 대해 미리 설정된 하나의 m x m 크기의 블록 사이즈에 대한 움직임 추정(Motion Estimation)을 디폴트 탐색 영역에 대해 수행하는 움직임 추정부; 및
상기 움직임 추정에 의해 산출된 움직임 벡터값을 이용하여 상기 디폴트 탐색 영역의 크기와 같거나 작은 조정된 탐색 영역을 각 참조 프레임에 상응하여 설정하는 탐색 영역 조정부를 포함하되,
상기 움직임 추정부는 상기 n개의 참조 프레임을 각각 참조하여 각 참조 프레임에 상응하여 상기 조정된 탐색 영역을 대상으로 상기 m x m 크기의 블록 사이즈에 대해 서브 파티션(sub-partition)에 해당하는 하나 이상의 블록 사이즈에 대한 움직임 추정을 수행하고,
상기 n과 상기 m은 각각 임의의 자연수인 것을 특징으로 하는 부호화 장치.
In the encoding device,
A motion estimation that performs motion estimation on a default search area for a block size of one mxm size preset for any macroblock included in the current frame by referring to each of n reference frames. government; And
A search region adjusting unit configured to set an adjusted search region corresponding to each reference frame, the adjusted search region being equal to or smaller than the size of the default search region using the motion vector value calculated by the motion estimation,
The motion estimator may refer to the n reference frames, respectively, to the one or more block sizes corresponding to the sub-partition for the mxm-sized block size for the adjusted search area corresponding to each reference frame. Perform motion estimation for
And n and m are arbitrary natural numbers, respectively.
제1항에 있어서,
상기 탐색영역 조정부는 수학식
Figure 112012076652711-pat00014
에 의해 결정된 영역 경계값(RB)을 이용하여 상기 조정된 탐색 영역의 크기를 설정하는 것을 특징으로 하는 부호화 장치.
The method of claim 1,
The search area adjusting unit is
Figure 112012076652711-pat00014
And a size of the adjusted search region is set using a region boundary value (RB) determined by.
삭제delete 제1항에 있어서,
현재 프레임이 t(임의의 자연수)번째 프레임인 경우,
상기 n개의 참조 프레임 중 상기 현재 프레임과 시간적으로 가장 인접한 참조 프레임인 t-1번째 프레임에 대해, 상기 움직임 추정부는 p x p 크기의 블록 사이즈에 대한 움직임 추정을 디폴트 영역에 대해 수행하고,
상기 탐색 영역 조정부는 상기 t-1번째 프레임에 대해 상기 수행된 움직임 추정에 의해 산출된 움직임 벡터값을 이용하여 상기 디폴트 탐색 영역의 크기와 같거나 작은 조정된 탐색 영역을 재설정하며,
상기 움직임 추정부는 상기 t-1번째 프레임을 참조하여 상기 재설정된 조정된 탐색 영역을 대상으로 상기 p x p 크기의 블록 사이즈에 대해 서브 파티션(sub-partition)에 해당하는 하나 이상의 블록 사이즈에 대한 움직임 추정을 수행하되,
상기 p는 상기 m보다 작은 임의의 자연수인 것을 특징으로 하는 부호화 장치.
The method of claim 1,
If the current frame is the t (random natural number) frame,
For the t-1 th frame, which is a reference frame that is the temporally closest reference frame to the current frame among the n reference frames, the motion estimation unit performs motion estimation on a block size of pxp size for a default region,
The search region adjusting unit resets the adjusted search region equal to or smaller than the size of the default search region by using the motion vector value calculated by the motion estimation performed on the t-1th frame.
The motion estimator performs motion estimation on at least one block size corresponding to a sub-partition with respect to the block size of the pxp size with respect to the reset adjusted search area with reference to the t-1 th frame. Do it,
And p is any natural number smaller than m.
제1항에 있어서,
상기 m은 16인 것을 특징으로 하는 부호화 장치.
The method of claim 1,
And m is 16.
제4항에 있어서,
상기 p는 8인 것을 특징으로 하는 부호화 장치.
5. The method of claim 4,
P is 8, characterized in that the encoding device.
삭제delete 삭제delete 제1항에 있어서,
상기 부호화 장치는 H.264/AVC 부호화기인 것을 특징으로 하는 부호화 장치.
The method of claim 1,
And the encoding device is an H.264 / AVC encoder.
부호화 장치에서 수행되는 탐색 영역 조정 방법에 있어서,
임의의 참조 프레임(Reference Frame)을 참조하여 현재 프레임에 포함된 임의의 매크로블록에 대해 미리 설정된 하나의 m x m 크기의 블록 사이즈에 대한 움직임 추정(Motion Estimation)을 디폴트 탐색 영역에 대해 수행하는 단계;
상기 움직임 추정에 의해 산출된 움직임 벡터값을 이용하여 상기 디폴트 탐색 영역의 크기와 같거나 작은 조정된 탐색 영역을 상기 참조 프레임에 상응하여 설정하는 단계; 및
상기 참조 프레임을 참조하여 상기 참조 프레임에 상응하도록 상기 조정된 탐색 영역을 대상으로 상기 m x m 크기의 블록 사이즈에 대해 서브 파티션(sub-partition)에 해당하는 하나 이상의 블록 사이즈에 대한 움직임 추정을 수행하는 단계를 포함하되,
상기 m은 임의의 자연수인 것을 특징으로 하는 탐색 영역 조정 방법.
In the search region adjustment method performed in the encoding apparatus,
Performing a motion estimation on the default search region for a block size of one mxm size preset for any macroblock included in the current frame with reference to any reference frame;
Setting an adjusted search region corresponding to the reference frame that is equal to or smaller than the size of the default search region by using the motion vector value calculated by the motion estimation; And
Performing motion estimation on at least one block size corresponding to a sub-partition with respect to the block size of mxm in the adjusted search area corresponding to the reference frame with reference to the reference frame Including but not limited to:
M is an arbitrary natural number.
제10항에 있어서,
상기 조정된 탐색 영역의 크기는 수학식
Figure 112012076652711-pat00015
에 의해 결정된 영역 경계값(RB)을 이용하여 설정되는 것을 특징으로 하는 탐색 영역 조정 방법.
The method of claim 10,
The size of the adjusted search region is
Figure 112012076652711-pat00015
The search area adjusting method, characterized in that the set using the area boundary value (RB) determined by.
삭제delete 제10항에 있어서,
현재 프레임이 t(임의의 자연수)번째 프레임인 경우,
상기 임의의 참조 프레임 중 상기 현재 프레임과 시간적으로 가장 인접한 참조 프레임인 t-1번째 프레임에 대해, p x p 크기의 블록 사이즈에 대한 움직임 추정을 디폴트 영역에 대해 수행하는 단계;
상기 t-1번째 프레임에 대해 상기 수행된 움직임 추정에 의해 산출된 움직임 벡터값을 이용하여 상기 디폴트 탐색 영역의 크기와 같거나 작은 조정된 탐색 영역을 재설정하는 단계; 및
상기 t-1번째 프레임을 참조하여 상기 재설정된 조정된 탐색 영역을 대상으로 상기 p x p 크기의 블록 사이즈에 대해 서브 파티션(sub-partition)에 해당하는 하나 이상의 블록 사이즈에 대한 움직임 추정을 수행하는 단계를 더 포함하되,
상기 p는 상기 m보다 작은 임의의 자연수인 것을 특징으로 하는 탐색 영역 조정 방법.
The method of claim 10,
If the current frame is the t (random natural number) frame,
Performing a motion estimation on a default region for a block size of pxp size with respect to a t−1 th frame, which is a reference frame closest in time to the current frame among the arbitrary reference frames;
Resetting an adjusted search region equal to or smaller than the size of the default search region by using the motion vector value calculated by the motion estimation performed on the t-1th frame; And
Performing motion estimation on at least one block size corresponding to a sub-partition with respect to the block size of the pxp size with respect to the reset adjusted search area with reference to the t-1th frame; Include more,
And p is any natural number smaller than m.
제10항에 있어서,
상기 m은 16인 것을 특징으로 하는 탐색 영역 조정 방법.
The method of claim 10,
M is 16;
제13항에 있어서,
상기 p는 8인 것을 특징으로 하는 탐색 영역 조정 방법.
The method of claim 13,
And p is 8.
삭제delete
KR1020110028907A 2011-03-30 2011-03-30 Device and method for adjusting search range KR101242560B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110028907A KR101242560B1 (en) 2011-03-30 2011-03-30 Device and method for adjusting search range

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110028907A KR101242560B1 (en) 2011-03-30 2011-03-30 Device and method for adjusting search range

Publications (2)

Publication Number Publication Date
KR20120110795A KR20120110795A (en) 2012-10-10
KR101242560B1 true KR101242560B1 (en) 2013-03-19

Family

ID=47281579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110028907A KR101242560B1 (en) 2011-03-30 2011-03-30 Device and method for adjusting search range

Country Status (1)

Country Link
KR (1) KR101242560B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091527B2 (en) 2014-11-27 2018-10-02 Samsung Electronics Co., Ltd. Video frame encoding system, encoding method and video data transceiver including the same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10506196B2 (en) * 2017-04-01 2019-12-10 Intel Corporation 360 neighbor-based quality selector, range adjuster, viewport manager, and motion estimator for graphics
CN112954329B (en) 2019-03-11 2022-08-26 杭州海康威视数字技术股份有限公司 Encoding and decoding method, device and equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07143492A (en) * 1993-11-17 1995-06-02 Matsushita Electric Ind Co Ltd Video coding method by automatic motion search range adjustment with respect to motion estimation
KR20090003300A (en) * 2006-04-07 2009-01-09 마이크로소프트 코포레이션 Dynamic selection of motion estimation search ranges and extended motion vector ranges
KR20100060102A (en) * 2008-11-27 2010-06-07 경희대학교 산학협력단 Method for performing motion estimation using adaptive search range based on full search block matching algorithm

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07143492A (en) * 1993-11-17 1995-06-02 Matsushita Electric Ind Co Ltd Video coding method by automatic motion search range adjustment with respect to motion estimation
KR20090003300A (en) * 2006-04-07 2009-01-09 마이크로소프트 코포레이션 Dynamic selection of motion estimation search ranges and extended motion vector ranges
KR20100060102A (en) * 2008-11-27 2010-06-07 경희대학교 산학협력단 Method for performing motion estimation using adaptive search range based on full search block matching algorithm

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091527B2 (en) 2014-11-27 2018-10-02 Samsung Electronics Co., Ltd. Video frame encoding system, encoding method and video data transceiver including the same

Also Published As

Publication number Publication date
KR20120110795A (en) 2012-10-10

Similar Documents

Publication Publication Date Title
US8457198B2 (en) Method of and apparatus for deciding encoding mode for variable block size motion estimation
US6711211B1 (en) Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
EP2278814A1 (en) Method and apparatus for controlling loop filtering or post filtering in block based motion compensated video coding
CA2883133C (en) A video encoding method and a video encoding apparatus using the same
US20190028732A1 (en) Moving image encoding device, moving image encoding method, and recording medium for recording moving image encoding program
WO2008019525A1 (en) Method and apparatus for adapting a default encoding of a digital video signal during a scene change period
KR20090012986A (en) A fast inter-layer prediction mode decision method in scalable video coding
JPH08102938A (en) Image coder
CN107277519B (en) A kind of method and electronic equipment of the frame type judging video frame
Jing et al. A novel intra-rate estimation method for H. 264 rate control
KR101242560B1 (en) Device and method for adjusting search range
US8792562B2 (en) Moving image encoding apparatus and method for controlling the same
KR100929607B1 (en) Procedure for transcoding MPEG-2 main profile into H.264/AVC baseline profile
JP2007228519A (en) Image encoding device and image encoding method
KR20060132962A (en) Motion estimation and segmentation for video data
US8687710B2 (en) Input filtering in a video encoder
KR101138736B1 (en) Encoder and method for selecting candidate mode types
JP6339977B2 (en) Video encoding apparatus and video encoding program
EP3965416B1 (en) Method and device for intra-coding an image frame
KR100978596B1 (en) Motion estimation procedure by fast multiple reference frame selection procedure
US8265141B2 (en) System and method for open loop spatial prediction in a video encoder
US10148954B2 (en) Method and system for determining intra mode decision in H.264 video coding
JP5171658B2 (en) Image encoding device
KR101868270B1 (en) Content-aware video encoding method, controller and system based on single-pass consistent quality control
Pientka et al. Deep video coding with gradient-descent optimized motion compensation and Lanczos filtering

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: 20151214

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee