KR100986719B1 - computation reduction methode for H.264/AVC motion estimation - Google Patents

computation reduction methode for H.264/AVC motion estimation Download PDF

Info

Publication number
KR100986719B1
KR100986719B1 KR1020080074675A KR20080074675A KR100986719B1 KR 100986719 B1 KR100986719 B1 KR 100986719B1 KR 1020080074675 A KR1020080074675 A KR 1020080074675A KR 20080074675 A KR20080074675 A KR 20080074675A KR 100986719 B1 KR100986719 B1 KR 100986719B1
Authority
KR
South Korea
Prior art keywords
motion estimation
xmin
xmax
ymin
ymax
Prior art date
Application number
KR1020080074675A
Other languages
Korean (ko)
Other versions
KR20100013139A (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 KR1020080074675A priority Critical patent/KR100986719B1/en
Publication of KR20100013139A publication Critical patent/KR20100013139A/en
Application granted granted Critical
Publication of KR100986719B1 publication Critical patent/KR100986719B1/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/527Global motion vector estimation
    • 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

Abstract

본 발명에는 정수 움직임 추정(IME)과 분수 움직임 추정(FME)으로 이루어지는 H.264/AVC 움직임 추정의 연산량 감소방법에 관한 것으로, 정수 움직임 추정에서 탐색영역을 조정하고, 분수 움직임 추정에서 부분 코스트 계산방법을 도입함으로써 연산량을 대폭 줄이도록 하는 기술구성이 개시된다.The present invention relates to a method for reducing the computation amount of H.264 / AVC motion estimation consisting of integer motion estimation (IME) and fractional motion estimation (FME), wherein the search area is adjusted in integer motion estimation, and partial cost calculation is performed in fractional motion estimation. A technical configuration is disclosed in which the amount of computation is greatly reduced by introducing a method.

정수 움직임 추정, 분수 움직임 추정, H.264/AVC Integer Motion Estimation, Fractional Motion Estimation, H.264 / AVC

Description

H.264/AVC 움직임 추정의 연산량 감소방법{computation reduction methode for H.264/AVC motion estimation}Computation reduction method for H.264 / AVC motion estimation

본 발명은 정수 움직임 추정(IME)과 분수 움직임 추정(FME)으로 이루어지는 H.264/AVC 움직임 추정의 연산량 감소방법에 관한 것이다.The present invention relates to a method for reducing the computation amount of H.264 / AVC motion estimation consisting of integer motion estimation (IME) and fractional motion estimation (FME).

MPEG-2, MPEG-4, H.264/AVC 와 같은 전통적인 영상 압축 표준들에서, 가장 많은 연산은 움직임추정에 의하여 소모된다. 이와 같은 많은 연산은 주로, 탐색 범위내에서 참조 블록과 현재 블록을 비교하는 반복적인 블록 매칭 연산으로부터 발생한다. 최근의 영상 압축기법인 H.264/AVC에 있어서는 가변 블록 크기 움직임추정(VBSME)과 1/4화소 정밀도의 움직임추정과 같은 적극적인 기법들을 채용함으로써 움직임추정 연산이 더욱 복잡해졌다. In traditional video compression standards such as MPEG-2, MPEG-4, H.264 / AVC, the most computation is consumed by motion estimation. Many such operations arise primarily from iterative block matching operations that compare the reference block with the current block within the search range. In H.264 / AVC, a recent image compressor method, the motion estimation operation is further complicated by employing aggressive techniques such as variable block size motion estimation (VBSME) and quarter-pixel precision motion estimation.

압축효율의 중대한 열화 없이 움직임예측의 연산량을 줄이기 위한 많은 연구가 있어왔다. 연산량 감소를 위한 인기 있는 방법으로 탐색범위의 모든 후보 위치들에 대한 소모적인 연산 대신에 일부의 위치들에 대한 연산을 수행하는 기법이 있다. 이를 위해서, 통계적으로 볼 때 움직임이 제로이거나 제로에 가까운 경우가 대부분이라는 사실을 바탕으로 하여 효율적인 탐색 패턴이 정의된다. 이와 같은 방식 에서는, 탐색창의 중앙 또는 추정된 움직임 벡터(PMV)에서 탐색절차가 시작되고 이어서 미리 정의된 패턴에 따라서 다른 후보들을 방문하게 된다. 그러나, 이 방식은 VBSME를 위해서는 적절한 방식이 아닌데, 이는 VBSME에서는 각각의 블록에 대하여 움직임벡터, 매크로블록당 41개의 움직임벡터를 도출해내어야 하는데, 이 방식에 따르면 오직 하나의 최적화된 움직임벡터만이 도출되기 때문이다. 이 방식은 또한 프레임메모리로부터 데이터 판독의 효율적 재사용을 위하여 프레임 메모리에 대한 단순하고 직관적인 데이터 엑세스를 필요로 하는 하드웨어적인 구현에도 적절하지 않다. Many studies have been made to reduce the computational amount of motion prediction without significant degradation of compression efficiency. A popular method for reducing the amount of computation is to perform operations on some positions instead of consuming computations on all candidate positions in the search range. To this end, an efficient search pattern is defined based on the fact that the movement is most or near zero in statistical terms. In this manner, the search procedure is initiated at the center of the search window or the estimated motion vector (PMV) and then visits other candidates according to a predefined pattern. However, this method is not suitable for VBSME, which has to derive motion vectors and 41 motion vectors per macroblock for each block. According to this method, only one optimized motion vector is derived. Because it becomes. This approach is also unsuitable for hardware implementations that require simple and intuitive data access to the frame memory for efficient reuse of reading data from the frame memory.

본 발명의 해결과제는 탐색범위 조절 체계를 갖는 전역탐색 움직임추정을 채용한 새로운 움직임추정 방법으로써 탐색 영역의 조절로부터 연산량을 감소시키는 동시에 전역탐색의 성격상 하드웨어 구현과 효율적인 데이터 재사용을 위한 것이다. The problem of the present invention is a new motion estimation method employing a global search motion estimation with a search range control system, which reduces the amount of computation from the adjustment of the search area, and at the same time, provides hardware implementation and efficient data reuse due to the nature of global search.

상기 해결과제를 위한 해결수단은 정수 움직임 추정(IME)과 분수 움직임 추정(FME)으로 이루어지는 H.264/AVC 움직임 추정의 연산량 감소방법에 있어서: 상기 정수 움직임 추정은 인접 매크로블록들의 움직임 벡터들로부터 초기 탐색영역을 추출하는 단계; x, y 방향으로 인접 움직임 벡터들의 분산값을 산출하는 단계; 분산값에 따라 초기 탐색영역에 초기 탐색창의 크기를 증가시키는 단계를 포함하는 것이다.A solution for the above problem is a method for reducing the computation amount of H.264 / AVC motion estimation consisting of integer motion estimation (IME) and fractional motion estimation (FME). Extracting an initial search region; calculating a variance of adjacent motion vectors in the x and y directions; And increasing the size of the initial search window in the initial search area according to the variance value.

본 발명의 다른 해결수단은 정수 움직임 추정(IME)과 분수 움직임 추정(FME)으로 이루어지는 H.264/AVC 움직임 추정의 연산량 감소방법에 있어서: 상기 분수 움직임 추정은 현재블록과 참조블록사이의 절대 차의 합(SAD)을 산출하되, 16개의 4×4 서브 블록들로 이루어진 16×16의 매크로 블록에서 대각선으로 배치되는 4개의 서브 블록들만이 상기 SAD 산출에 사용되는 것이다.According to another aspect of the present invention, there is provided a method for reducing the computation amount of H.264 / AVC motion estimation, which consists of integer motion estimation (IME) and fractional motion estimation (FME). Calculate a sum (SAD), but only four subblocks arranged diagonally in a 16x16 macroblock of 16 4x4 subblocks are used for calculating the SAD.

본 발명의 다른 해결수단은 정수 움직임 추정(IME)과 분수 움직임 추정(FME)으로 이루어지는 H.264/AVC 움직임 추정의 연산량 감소방법에 있어서:According to another aspect of the present invention, there is provided a method for reducing the computation amount of H.264 / AVC motion estimation, which consists of integer motion estimation (IME) and fractional motion estimation (FME):

16개의 4×4 서브 블록들로 이루어진 16×16의 매크로 블록에서 교번적으로 배치되는 8개의 서브 블록들만이 상기 SAD 산출에 사용되는 것이다.Only eight subblocks alternately arranged in a 16x16 macroblock of 16 4x4 subblocks are used for the SAD calculation.

상기의 해결수단과 해결과제를 갖는 본 발명에 따르면 본 발명의 정수움직임추정(IME)에 있어서 90%이상의 연산량 감소를 보이고, 분수움직임추정(FME)에 있어서는 연산 감소가 27.8%에서 47.1%에 이르게 되어 연산이 빨라지고, 기본적인 전역탐색 알고리즘을 채택하고 있으므로 하드웨어 구성이 용이하다.According to the present invention having the above-mentioned solutions and problems, the operation amount decreases by more than 90% in the IME of the present invention, and in the fractional motion estimation (FME), the operation decreases from 27.8% to 47.1%. The operation is faster, and the basic global search algorithm is adopted, so hardware configuration is easy.

움직임추정에 있어서 연산의 복잡성을 감소시키기 위하여 움직임추정을 정수 움직임추정(IME)과 분수 움직임추정(FME)로 재구성하는 방식이 많이 사용된다. 이 방식에서는 정수 움직임추정(IME)이 분수 움직임추정(FME)의 시작 탐색점으로 사용된다. 이와 같은 식으로, FME의 탐색점은 현격하게 줄어들게 된다. FME의 연산을 더욱 감소시키기 위하여 모드 사전 결정(MPD) 방식과 개선된 모드 사전 결정(AMPD) 방식이 공지되었다. 본 발명에서는 FME를 위하여 MPD 방식을 채택하고, FME의 속도를 더욱 향상시키기 위해서 FME에 있어서 부분 연산량 측정 방식을 사용한다. In the motion estimation, a method of reconstructing the motion estimation into integer motion estimation (IME) and fractional motion estimation (FME) is widely used to reduce the complexity of the operation. In this way, integer motion estimation (IME) is used as the starting search point for fractional motion estimation (FME). In this way, the search point of the FME is significantly reduced. In order to further reduce the operation of the FME, a mode predetermination (MPD) scheme and an improved mode predetermination (AMPD) scheme are known. In the present invention, the MPD method is adopted for the FME, and the partial calculation amount measurement method is used in the FME to further improve the speed of the FME.

1. IME에 있어서 탐색 영역의 조절1. Adjusting the Search Area in the IME

JM(Joint Model) 참조 소프트웨어는 나선형 패턴의 중앙에서 시작하여 바깥쪽으로 탐색해가는 움직임추정 방식을 채택한다. 최적의 움직임벡터는 모든 후보들의 연산량이 측정된 후에야 갱신된다. 최적의 후보는 현재 후보의 연산량이 직전의 최 적 후보의 연산량보다 적을 때에라야 갱신된다. 그렇지 않다면, 최적 후보는 변경되지 않은 채로 유지된다. 연산량 측정에 소요되는 계산을 줄이기 위해서, 현 시점에서 측정되고 있는 연산량이 직전 최적 후보의 연산량보다 커지면 연산량 측정은 즉시 중지된다. 연산량 측정의 조기종료의 이점을 살리기 위하여 최종 움직임벡터가 될 확률이 큰 위치에서 움직임추정을 시작하는 것이 바람직하다. 이미지의 공간적 상관관계로 인하여 추정된 움직임벡터(PMV) 최종 움직임벡터에 매우 가까워질 확률이 매우 높다. 따라서, PMV는 조기 종료를 통하여 연산을 줄이는 움직임 추정의 시작 위치로서 좋은 후보가 된다. 종래방법1(Tung-Chien Chen, Yu-Han Chen, Sung-Fang Tsai, Shao-Yi Chien, and Liang-Gee Chen, "Fast Algorithm and Architecture Design of Low-Power Integer Motion Estimation for H.264/AVC," IEEE Trans. Circuits Syst. Video Technol., Vol. 17, No. 5, pp. 568-577, May 200)에 PMV를 시작 위치로 사용하고, 탐색 점들을 줄이기 위하여 4SS 알고리즘을 채택한 고속 움직임추정(ME) 알고리즘이 제안되었으나 4SS는 오직 하나의 최적 움직임벡터(MV)를 찾아내기 때문에 H.264/AVC에 채택된 가변 블록 크기 움직임추정(VBSME)에는 적절하지 않다. 4SS 알고리즘의 이와 같은 제한을 극복하기 위하여 종래방법 1은 PMV, 그리고 인접 매크로블록들의 움직임벡터(MV)들을 포함하는 다수의 시작위치에서 움직임추정(ME)을 시작하는 방식을 제안하였다. The Joint Model (JM) reference software employs a motion estimation method that starts at the center of the spiral pattern and moves outwards. The optimal motion vector is updated only after the computation amount of all candidates is measured. The best candidate is updated only when the computation amount of the current candidate is less than the computation amount of the previous best candidate. If not, the best candidates remain unchanged. In order to reduce the calculation required for the calculation of the amount of calculation, the calculation of the amount of calculation is immediately stopped if the amount of calculation being measured at this time is larger than the amount of calculation of the immediately best candidate. In order to take advantage of the early termination of the measurement, it is desirable to start the motion estimation at the position where the final motion vector is likely to be the highest. Due to the spatial correlation of the image, the probability of getting very close to the estimated motion vector (PMV) final motion vector is very high. Therefore, PMV is a good candidate as a starting position of motion estimation that reduces computation through early termination. Conventional Method 1 (Tung-Chien Chen, Yu-Han Chen, Sung-Fang Tsai, Shao-Yi Chien, and Liang-Gee Chen, "Fast Algorithm and Architecture Design of Low-Power Integer Motion Estimation for H.264 / AVC, Fast Transition Estimation with 4SS Algorithm for IEEE Trans. Circuits Syst. Video Technol., Vol. 17, No. 5, pp. 568-577, May 200) ME) algorithm is proposed, but it is not suitable for variable block size motion estimation (VBSME) adopted in H.264 / AVC because 4SS finds only one optimal motion vector (MV). In order to overcome this limitation of the 4SS algorithm, the conventional method 1 proposed a method of starting a motion estimation (ME) at a plurality of start positions including PMVs and motion vectors (MVs) of adjacent macroblocks.

도 1(a)는 종래방법 1의 IME의 탐색범위를 나타낸 구성도이고, 도 1(b)는 본 발명의 IME의 탐색범위을 나타낸 구성도이다.1 (a) is a block diagram showing the search range of the IME of the conventional method 1, Figure 1 (b) is a block diagram showing the search range of the IME of the present invention.

도 1(a)에서 큰 흰색 사각형은 4개의 꼭지점들의 (x, y) 좌표가 각각 (- 16,-16), (-16,15), (15,-16), 그리고 (15,15)인 탐색창을 보여준다. 탐색창은 최대 탐색 가능한 범위이다. 내부의 작은 음영표시된 사각형은 움직임벡터들의 인접 매크로블록들로부터 도출되고, 음영표시 사각형 외부의 점선 사각형은 실험적으로 선택된 파라미터를 음영표시 사각형에 부가함으로 도출된다. 작은 삼각형은 가능한 초기 탐색점들을 보여주는데, 이들은 점선 사각형의 4개의 꼭지점들과 PMV, 그리고 좌표 (0.0) 지점이다. 4SS 알고리즘은 다양한 블록 크기들에 대한 움직임벡터(MV)들을 획득하기 위하여 위와 같은 초기 탐색점들을 가지고 수행된다. In FIG. 1 (a), the large white squares have (x, y) coordinates of four vertices (-16, -16), (-16,15), (15, -16), and (15,15), respectively. Shows the search window. The search window is the maximum searchable range. The inner small shaded rectangle is derived from adjacent macroblocks of the motion vectors, and the dotted rectangle outside the shaded rectangle is derived by adding an experimentally selected parameter to the shaded rectangle. The small triangle shows the possible initial search points, which are the four vertices of the dotted rectangle, the PMV, and the coordinate (0.0) point. The 4SS algorithm is performed with the above initial search points to obtain motion vectors (MVs) for various block sizes.

종래방법 1의 고속 움직임추정 알고리즘은 전역탐색 알고리즘과 비교하면 탐색점들을 현저하게 감소시킨다. 이와 같은 감소는 인접 매크로블록들의 움직임벡터들이 서로 가까이 존재할 때 더욱 명확해진다. 그러 이러한 경우에 있어서, 각기 다른 시작점들에서 4SS 알고리즘을 다중 수행하는 것은 이들 시작점들이 서로 인접하여 있기 때문에 중첩된 탐색점들을 발생시킬 가능성이 있다. 따라서 이와 같은 반복적인 연산들은 소모적이 될 수 있는 것이다. 본 발명에서는 탐색영역을 조절하는 전역탐색 방식을 채용한 새로운 IME 알고리즘을 적용한다. 전역탐색방식은 낭비되는 연산을 없애고, 통상적인 알고리즘 구조로 인하여 하드웨어 구현에 매우 효율적이다. 그러나, 전역탐색은 탐색창의 모든 후보점들에 대하여 모두 계산을 수행하기 때문에 많은 연산을 소모한다. 도 1 (b)는 본 발명의 조절된 탐색범위를 나타낸다. 도 1(a) 에서의 음영으로 표시된 탐색영역은 각각 수평, 수직방향으로 △X, △Y 만큼 확장된다. △X와 △Y는 인접 움직임벡터들의 분산값으로부터 구해진다. 만일 인접 움직임벡터들이 서로 가까이 존재한다면, 현재 매크로블록의 움직임벡터도 이들 인접 움직임벡터들에 가까이 존재할 가능성이 있다. 따라서 작은 값의 △X와 △Y로도 조절된 탐색범위가 현재 매크로블록의 움직임벡터를 포함하도록 하기에 충분하다. 반면, 인접 움직임벡터들의 분산값이 크다면, 현재의 움직임벡터를 추정하기가 어렵다. 따라서 △X와 △Y를 증가시켜 움직임추정이 최적의 움직임벡터를 놓치지 않도록 넓은 영역을 탐색하도록 하는 것이 필요하다. The fast motion estimation algorithm of the conventional method 1 significantly reduces the search points compared with the global search algorithm. This reduction is more apparent when the motion vectors of adjacent macroblocks are near each other. In such a case, multiplexing the 4SS algorithm at different starting points is likely to generate overlapping search points because these starting points are adjacent to each other. Thus, such repetitive operations can be exhaustive. In the present invention, a new IME algorithm employing a global search method for adjusting the search area is applied. Global search eliminates wasted computation and is very efficient for hardware implementation due to the conventional algorithmic structure. However, global search consumes a lot of computation because it performs calculations on all candidate points in the search window. Figure 1 (b) shows the adjusted search range of the present invention. The search areas indicated by the shade in FIG. 1 (a) are extended by ΔX and ΔY in the horizontal and vertical directions, respectively. ΔX and ΔY are obtained from the variance of adjacent motion vectors. If adjacent motion vectors exist close to each other, the motion vector of the current macroblock may also exist near these adjacent motion vectors. Therefore, the search range adjusted by the small values ΔX and ΔY is sufficient to include the motion vector of the current macroblock. On the other hand, if the variance of adjacent motion vectors is large, it is difficult to estimate the current motion vector. Therefore, it is necessary to increase ΔX and ΔY so that a wide area may be searched so that the motion estimation does not miss the optimal motion vector.

이하, 본 발명의 탐색영역 조절을 위한 알고리즘을 설명하기로 한다.Hereinafter, an algorithm for adjusting the search area of the present invention will be described.

도 2는 본 발명의 인접 매크로블록들의 움직임 벡터들을 설명하는 구성도이다.2 is a block diagram illustrating motion vectors of adjacent macroblocks of the present invention.

Step 1: 초기 x, y좌료를 아래와 같이 설정:Step 1: Set initial x and y coordinates as follows:

xmin = min(MVA_x, MVB_x, MVC_x, MVD_x) xmin = min (MVA_x, MVB_x, MVC_x, MVD_x)

xmax = max(MVA_x, MVB_x, MVC_x, MVD_x)xmax = max (MVA_x, MVB_x, MVC_x, MVD_x)

ymin = min(MVA_y, MVB_y, MVC_y, MVD_y) ymin = min (MVA_y, MVB_y, MVC_y, MVD_y)

ymax = max(MVA_y, MVB_y, MVC_y, MVD_y)ymax = max (MVA_y, MVB_y, MVC_y, MVD_y)

Step 2: 초기 탐색영역의 4개의 꼭지점인 (xmin, ymin), (xmin, ymax), (xmax, ymin), 그리고 (xmax, ymax) 로 산출.Step 2: Calculate four vertices of the initial search range: (xmin, ymin), (xmin, ymax), (xmax, ymin), and (xmax, ymax).

Step 3: x, y 방향으로 인접 움직임벡터들의 분산을 계산:Step 3: Calculate the variance of adjacent motion vectors in the x and y directions:

xver = (12 (xmax xmin) + 4 (ymax ymin) )/ 4xver = (12 (xmax xmin) + 4 (ymax ymin)) / 4

yver = = (12 (ymax ymin) + 4 (xmax xmin) )/ 4yver = = (12 (ymax ymin) + 4 (xmax xmin)) / 4

Step 4: Step 3에서 구한 xver와 yver을 가지고 Table 1로부터 △X와 △Y, 즉 x, y 방향으로의 추가 라인들의 수를 구한다.Step 4: Using xver and yver from Step 3, find the number of additional lines in Table 1 from ΔX and ΔY, that is, in the x and y directions.

Step 5: Step 4에서 구한 추가 라인들에 Step 2에서 구한 4개의 꼭지점들을 더함으로서 최종 탐색 영역을 선택한다. 새로운 탐색영역의 4개의 꼭지점들은 (xmin-△X, ymin-△Y), (xmin-△X, ymax + △Y), (xmax + △X, ymin-△Y), 및 (xmax + △X, ymax +△Y)이 된다. Step 5: Select the final search area by adding the four vertices from Step 2 to the additional lines from Step 4. The four vertices of the new search range are (xmin-ΔX, ymin-ΔY), (xmin-ΔX, ymax + ΔY), (xmax + ΔX, ymin-ΔY), and (xmax + ΔX). , ymax + ΔY).

Step 1과 2에서 (xmin, ymin), (xmin, ymax), (xmax, ymin), 그리고(xmax, ymax)은 4개의 인접 MVs들로 MVA, MVB, MVC, MVD로부터 구해진다. 이들은 도 2에서 보인 것처럼 인접 매크로블록들의 움직임벡터들(MVs)인데, 도 2에서 음영진 사각형은 현재의 매크로블록을 가리키며, 4개의 흰 사각형은 인접 매크로블록들을 가리킨다. Step 1에서, MVA_x과 MVA_y은 MVA의 x, y좌표를 각각 가리킨다. 동일한 표기법이 다른 움직임벡터들(MVs)에도 적용된다. 이 알고리즘의 결과를 보면, 인접 움직임벡터들의 분산이 증가함에 따라 탐색 영역도 증가한다. 이는 인접 움직임벡터들의 분산이 증가함에 따라 움직임벡터 예측이 어려워지기 때문에 타당한 결과이다. In steps 1 and 2, (xmin, ymin), (xmin, ymax), (xmax, ymin), and (xmax, ymax) are obtained from MVA, MVB, MVC, and MVD as four adjacent MVs. These are the motion vectors (MVs) of adjacent macroblocks, as shown in FIG. 2, in which the shaded squares indicate the current macroblock and the four white squares indicate adjacent macroblocks. In Step 1, MVA_x and MVA_y indicate the x and y coordinates of MVA, respectively. The same notation applies to other motion vectors (MVs). As a result of this algorithm, the search area increases as the variance of adjacent motion vectors increases. This is a valid result because motion vector prediction becomes difficult as the variance of adjacent motion vectors increases.

표 1은 탐색영역과 분산 값과의 관계를 보인다. 표 1의 수치들은 실험적으로 정해진 값들이다. 위 알고리즘의 모든 연산은 쉬프트 연산과 더하기 연산으로 수행될 수 있다. 따라서 위 알고리즘을 적용하면 그다지 크지 않은 비용으로 하드웨어 구현이 가능하다. Table 1 shows the relationship between the search range and the variance values. The figures in Table 1 are experimentally determined values. All operations of the above algorithm can be performed by shift and add operations. Therefore, if the above algorithm is applied, hardware can be implemented at a very low cost.

XverXver △X△ X YverYver △Y△ Y 00 22 00 1One 1One 33 1One 22 22 33 22 22 33 33 33 22 44 44 44 33 55 44 55 33 66 44 66 33 77 44 77 33

본 발명에서 하나의 매크로블록에 대한 평균적인 탐색점들의 수는 종래방법 1에 비하여 다소 증가되지만 전역탐색방식의 특성상 종래의 알고리즘보다는 우위에 있다. x, y 양방향으로 (-16, +15)의 탐색영역을 가지는 전역탐색 알고리즘과 비교하면, 제안된 탐색영역은 연산량을 90%이상 감소시킨다. In the present invention, the average number of search points for one macroblock is slightly increased compared to the conventional method 1, but is superior to the conventional algorithm in view of the global search method. Compared with the global search algorithm which has (-16, +15) search areas in both x and y directions, the proposed search area reduces the computation amount by more than 90%.

3. FME를 위한 부분 코스트 계산( Partial cost evaluatio)3. Partial cost evaluation for FME

FME에 있어서 최소 블록 사이즈는 4x4이기에, FME의 하드웨어 구현은 4x4블록 계산엔진을 디자인하고 이 엔진을 반복적으로 사용하여 16x16 블록 전체를 계산하는 방식으로 많이 이루어진다. 이 발명에서 FME엔진 역시 하드웨어 구현에 있어서 이와 같은 방식을 채택하고, 나아가서 연산량을 감소시키기 위한 새로운 방식을 제안한다. 최적의 매칭 포지션을 찾기 위하여 FME엔진은 현재 블록과 참조블록사이의 절대 차의 합(SAD)을 계산한다. SAD의 계산을 위하여 블록들 내의 모든 픽셀들의 차들이 계산되는데, 이와 같은 연산을 줄이기 위하여 본 발명은 모든 픽셀들을 사용하는 대신에 블록내 픽셀들의 서브세트들만을 이용하는 새로운 알고리즘이 적용된다.Since the minimum block size for FME is 4x4, the hardware implementation of FME consists of designing a 4x4 block computation engine and using the engine repeatedly to calculate the entire 16x16 block. In this invention, the FME engine also adopts this method in hardware implementation, and further proposes a new method for reducing the amount of computation. In order to find the best matching position, the FME engine calculates the sum of absolute differences (SAD) between the current block and the reference block. Differences in all the pixels in the blocks are calculated for the calculation of the SAD. To reduce this computation, the present invention applies a new algorithm that uses only subsets of the pixels in the block instead of using all the pixels.

도 3은 본 발명의 SAD의 계산을 위하여 사용되는 픽셀들의 서브세트들을 나타낸 구성도이다.3 is a schematic diagram showing subsets of pixels used for the calculation of the SAD of the present invention.

도 3에서 큰 사각형은 16x16 매크로블록을 표시하고, 작은 사각형들은 4x4블록들을 표시한다. 음영 표시된 사각형들은 SAD산출에 사용되는 픽셀들의 서브세트들을 표시한다. 도 3(a)에서 16×16으로 이루어진 매크로 블록에서 대각선으로 배치되는 4개의 4x4블록들만이 SAD 산출에 사용되는데 이는 즉, 64개의 픽셀들만이 사용된다는 것이다. 그 결과로서 연산량은 25%로 줄어든다. 이와 같은 부분적인 연산은 움직임을 정확하게 반영하지 못할 수도 있기에 압축 효율의 열화를 가져올 수도 있다. 도 3(b)는 부분적인 SAD 산출의 다른 예를 보인다. 이 예에서는 16×16의 매크로 블록에서 교번적으로 배치되는 8개의 4x4블록들이 SAD 연산에 사용되며 전체 연산량은 50%로 줄어든다. 이 경우 연산량은 도 3(a)의 경우보다 많아지지만, 압축 효율은 도 3(a)의 것보다 좋아진다. 따라서 도 3 (a)와 (b)에 도시되는 두 가지 방법중에 하나를 선택적으로 사용할 수 있다.In FIG. 3, the large squares represent 16x16 macroblocks and the small squares represent 4x4 blocks. The shaded squares indicate subsets of the pixels used for SAD calculation. In FIG. 3 (a), only four 4x4 blocks arranged diagonally in a 16x16 macroblock are used for SAD calculation, that is, only 64 pixels are used. As a result, the amount of computation is reduced to 25%. This partial operation may not accurately reflect the movement, which may result in deterioration of the compression efficiency. 3 (b) shows another example of partial SAD calculation. In this example, eight 4x4 blocks that are alternately placed in a 16x16 macroblock are used for SAD operations, and the overall amount of computation is reduced by 50%. In this case, the calculation amount is larger than that in Fig. 3 (a), but the compression efficiency is better than that in Fig. 3 (a). Therefore, one of two methods shown in FIGS. 3 (a) and 3 (b) may be selectively used.

도 3(b)에 도시된 방법을 적용할 때 150 프레임의 CIF 사이즈의 이미지를 QP=28, I Periode = 5로 적용할 때 16×16 모드에서 할 때 27.8%에서 47.1% 범위의 연산감소를 보인다.When applying the method shown in FIG. see.

도 1(a)는 종래의 IME의 탐색범위를 나타낸 구성도이고, 도 1(b)는 본 발명의 IME의 탐색범위을 나타낸 구성도이다.1 (a) is a block diagram showing the search range of the conventional IME, Figure 1 (b) is a block diagram showing the search range of the IME of the present invention.

도 2는 본 발명의 인접 매크로블록들의 움직임 벡터들을 설명하는 구성도이다.2 is a block diagram illustrating motion vectors of adjacent macroblocks of the present invention.

도 3은 본 발명의 SAD의 계산을 위하여 사용되는 픽셀들의 서브세트들을 나타낸 구성도이다.3 is a schematic diagram showing subsets of pixels used for the calculation of the SAD of the present invention.

Claims (5)

삭제delete 정수 움직임 추정(IME)과 분수 움직임 추정(FME)으로 이루어지는 H.264/AVC 움직임 추정의 연산량 감소방법에 있어서:In the method of reducing the amount of computation of H.264 / AVC motion estimation consisting of integer motion estimation (IME) and fractional motion estimation (FME): 상기 정수 움직임 추정은 현재 매크로 블록에 인접되는 매크로 블록의 움직임벡터들을 MVA, MVB, MVC, MVD라 할 때,In the integer motion estimation, when motion vectors of a macro block adjacent to a current macro block are referred to as MVA, MVB, MVC, and MVD, Step 1: 초기 x, y좌료를 다음의 수학식 1로 설정Step 1: Set initial x and y coordinates to the following equation xmin = min(MVA_x, MVB_x, MVC_x, MVD_x) xmin = min (MVA_x, MVB_x, MVC_x, MVD_x) xmax = max(MVA_x, MVB_x, MVC_x, MVD_x)xmax = max (MVA_x, MVB_x, MVC_x, MVD_x) ymin = min(MVA_y, MVB_y, MVC_y, MVD_y) ymin = min (MVA_y, MVB_y, MVC_y, MVD_y) ymax = max(MVA_y, MVB_y, MVC_y, MVD_y)ymax = max (MVA_y, MVB_y, MVC_y, MVD_y) Step 2: 4개의 꼭지점인 (xmin, ymin), (xmin, ymax), (xmax, ymin), (xmax, ymax)인 초기 탐색영역 설정Step 2: Set up the initial search range with four vertices: (xmin, ymin), (xmin, ymax), (xmax, ymin), and (xmax, ymax) Step 3: x, y 방향으로 인접 움직임벡터들의 분산 xver, yver를 다음의 수학식 2에 의하여 산출Step 3: Calculate the variance xver, yver of adjacent motion vectors in the x and y directions by the following equation (2) xver = (12 (xmax xmin) + 4 (ymax ymin) )/ 4xver = (12 (xmax xmin) + 4 (ymax ymin)) / 4 yver = (12 (ymax ymin) + 4 (xmax xmin) )/ 4yver = (12 (ymax ymin) + 4 (xmax xmin)) / 4 Step 4: Step 3에서 구한 xver와 yver에 따라 △X와 △Y가 정해지는 테이블로부터 △X와 △Y 값 추출Step 4: Extract ΔX and ΔY values from the table where ΔX and ΔY are determined according to xver and yver obtained in Step 3 Step 5: Step 4에서 구한 △X와 △Y 값에 Step 2에서 구한 4개의 꼭지점들을 더함으로서 최종 탐색 영역 (xmin-△X, ymin-△Y), (xmin-△X, ymax + △Y), (xmax + △X, ymin-△Y), 및 (xmax + △X, ymax +△Y)을 선택하는 단계Step 5: Final search areas (xmin-ΔX, ymin-ΔY), (xmin-ΔX, ymax + ΔY) by adding the four vertices obtained in Step 2 to the ΔX and ΔY values obtained in Step 4 , (xmax + ΔX, ymin-ΔY), and (xmax + ΔX, ymax + ΔY) 를 포함하는 것을 특징하는 H.264/AVC 움직임 추정의 연산량 감소방법.Computing amount of H.264 / AVC motion estimation method comprising a. 청구항 2에서, 상기 xver와 상기 yver 가 증가함에 따라서 각각 상기 △X와 상기 △Y가 증가하는 것을 특징으로 하는 H.264/AVC 움직임 추정의 연산량 감소방 법. The method according to claim 2, wherein ΔX and ΔY increase as the xver and yver increase, respectively. 삭제delete 삭제delete
KR1020080074675A 2008-07-30 2008-07-30 computation reduction methode for H.264/AVC motion estimation KR100986719B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080074675A KR100986719B1 (en) 2008-07-30 2008-07-30 computation reduction methode for H.264/AVC motion estimation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080074675A KR100986719B1 (en) 2008-07-30 2008-07-30 computation reduction methode for H.264/AVC motion estimation

Publications (2)

Publication Number Publication Date
KR20100013139A KR20100013139A (en) 2010-02-09
KR100986719B1 true KR100986719B1 (en) 2010-10-11

Family

ID=42087224

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080074675A KR100986719B1 (en) 2008-07-30 2008-07-30 computation reduction methode for H.264/AVC motion estimation

Country Status (1)

Country Link
KR (1) KR100986719B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101677696B1 (en) 2010-12-14 2016-11-18 한국전자통신연구원 Method and Apparatus for effective motion vector decision for motion estimation
US10021387B2 (en) 2012-04-20 2018-07-10 Intel Corporation Performance and bandwidth efficient fractional motion estimation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020044848A (en) * 2000-12-07 2002-06-19 김형수 Apparatus and method for block matching by using dispersed accumulate array in video coder
KR20040106202A (en) * 2003-06-11 2004-12-17 학교법인 대양학원 Method and apparatus for motion vector search
KR20080046269A (en) * 2005-09-16 2008-05-26 소니 일렉트로닉스 인코포레이티드 Adaptive motion search range

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020044848A (en) * 2000-12-07 2002-06-19 김형수 Apparatus and method for block matching by using dispersed accumulate array in video coder
KR20040106202A (en) * 2003-06-11 2004-12-17 학교법인 대양학원 Method and apparatus for motion vector search
KR20080046269A (en) * 2005-09-16 2008-05-26 소니 일렉트로닉스 인코포레이티드 Adaptive motion search range

Also Published As

Publication number Publication date
KR20100013139A (en) 2010-02-09

Similar Documents

Publication Publication Date Title
US8259809B2 (en) One step sub-pixel motion estimation
TWI440364B (en) Motion estimation using prediction guided decimated search
US9357228B2 (en) Motion estimation of images
JP2920208B2 (en) Coding method of motion vector of moving image
RU2381630C2 (en) Method and device for determining block conformity quality
KR101384437B1 (en) Speculative start point selection for motion estimation iterative search
KR100994773B1 (en) Method and Apparatus for generating motion vector in hierarchical motion estimation
US9319708B2 (en) Systems and methods of improved motion estimation using a graphics processing unit
US8275049B2 (en) Systems and methods of improved motion estimation using a graphics processing unit
US7953153B2 (en) Motion estimation method utilizing modified rhombus pattern search for a succession of frames in digital coding system
Paul et al. Video coding using the most common frame in scene
KR101407852B1 (en) Simple next search position selection for motion estimation iterative search
US8155213B2 (en) Seamless wireless video transmission for multimedia applications
TWI389575B (en) Motion estimation approach for real-time embedded multimedia design
US7864837B2 (en) Motion estimation method utilizing a distance-weighted search sequence
KR100986719B1 (en) computation reduction methode for H.264/AVC motion estimation
WO2000034920A1 (en) Motion vector estimation
Kim et al. Hierarchical fast mode decision algorithm for intra prediction in HEVC
TWI442775B (en) Low-power and high-performance video coding method for performing motion estimation
Liu et al. Complexity comparison of fast block-matching motion estimation algorithms
Hill et al. Sub-pixel motion estimation using kernel methods
Ismail et al. Enhanced efficient diamond search algorithm for fast block motion estimation
WO2002032145A1 (en) A hexagon-based fast search method for block motion estimation in video encoding
Jung et al. Computation reduction of H. 264/AVC motion estimation by search range adjustment and partial cost evaluation
KR20000018487A (en) Apparatus and method of estimating movement using macro-block pipeline technique

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170925

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 10