KR20130011610A - Apparatus and method for fast motion estimation - Google Patents

Apparatus and method for fast motion estimation Download PDF

Info

Publication number
KR20130011610A
KR20130011610A KR1020110072892A KR20110072892A KR20130011610A KR 20130011610 A KR20130011610 A KR 20130011610A KR 1020110072892 A KR1020110072892 A KR 1020110072892A KR 20110072892 A KR20110072892 A KR 20110072892A KR 20130011610 A KR20130011610 A KR 20130011610A
Authority
KR
South Korea
Prior art keywords
image
current
order
momentum
integral
Prior art date
Application number
KR1020110072892A
Other languages
Korean (ko)
Other versions
KR101786957B1 (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
Priority to KR1020110072892A priority Critical patent/KR101786957B1/en
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to US14/131,068 priority patent/US9769511B2/en
Priority to EP16204373.1A priority patent/EP3171603A1/en
Priority to PCT/KR2012/003410 priority patent/WO2013005917A1/en
Priority to CN201610810849.4A priority patent/CN106131572B/en
Priority to CN201710219659.XA priority patent/CN106875416B/en
Priority to EP12806939.0A priority patent/EP2731278A4/en
Priority to CN201280033573.3A priority patent/CN103650375B/en
Publication of KR20130011610A publication Critical patent/KR20130011610A/en
Priority to US14/568,628 priority patent/US9355461B2/en
Priority to US15/673,034 priority patent/US10341704B2/en
Application granted granted Critical
Publication of KR101786957B1 publication Critical patent/KR101786957B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation

Landscapes

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

Abstract

PURPOSE: A device for high speed motion estimation and a method thereof are provided to reduce the calculation of motion estimation by finding minimum SAD or SSD through block matching and estimating a motion vector. CONSTITUTION: An nth momentum calculating unit(230) obtains nth momentum for a specific block of a current image by using an nth integral image. The nth momentum calculating unit obtains the nth momentum for a specific block of a reference image by using a reference nth integral image. A motion vector estimating unit(240) obtains a block matching error by using a difference between two of the momentum. The motion vector estimating unit estimates a coordinate difference of blocks as a motion vector. [Reference numerals] (210) N-th image generating unit; (220) N-th integral image generating unit; (230) N-th momentum calculating unit; (240) Motion vector estimating unit; (AA) Current image; (BB) Reference image

Description

고속 움직임 추정을 위한 장치 및 방법{Apparatus and Method for fast motion estimation}Apparatus and Method for Fast Motion Estimation

본 발명은 고속 움직임 추정을 위한 장치 및 방법에 관한 것으로, 더욱 상세하게는 n차원의 현재(current)영상과 기준(reference)영상에 대한 n차 영상을 각각 생성하고, 그 n차 영상들의 면적에 의한 n차 integral 영상을 생성한 후, 상기 n차 integral 영상을 이용하여 현재영상 및 기준영상의 특정 블록에 대한 n차 모멘텀을 각각 구하고, 상기 현재영상과 기준영상의 특정 블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 고속 움직임 추정을 위한 장치 및 방법에 관한 것이다.
The present invention relates to an apparatus and method for fast motion estimation, and more particularly, to generate an n-th order image for an n-dimensional current image and a reference image, respectively, After generating the n-th integral image by using the n-th integral image, the n-th momentum of the specific block of the current image and the reference image is obtained, and the n-th momentum of the specific block of the current image and the reference image is obtained. The present invention relates to an apparatus and method for fast motion estimation that obtains a block matching error using a difference and estimates a coordinate difference of blocks having a minimum block matching error as a motion vector.

멀티미디어를 지원해주는 핵심 요소로는 디지털화와 더불어 영상 압축 기술이 있다. 최근 들어 정보의 디지탈화가 급속도로 발전하고 있으며, 이에 따라 영상 압축 기술이 매우 중요하게 부각되고 있다.Key elements supporting multimedia include digital compression and image compression technology. Recently, digitalization of information is rapidly developing, and accordingly, image compression technology is very important.

일반적으로, PC나 HDTV, 모바일 디바이스 등의 디지털 영상장치는 MPEG(Moving Picture Experts Group)-2, MPEG-4, H.264와 같은 영상 압축 방식으로 압축된 영상 신호를 MPEG기반 영상 코덱으로 인코딩하여 표시한다. In general, digital video devices such as PCs, HDTVs, and mobile devices encode video signals compressed with video compression methods such as MPEG (Moving Picture Experts Group) -2, MPEG-4, and H.264 using MPEG-based video codecs. Display.

이러한 영상 코덱은 블록 정합(Block matching) 방식을 기반으로 시간적인 중복성을 제거한다. 블록 정합 방식은 영상을 작은 블록으로 나누고, 현재 인코딩/디코딩되는 영상의 블록과 유사한 부분을 시간적으로 이전 프레임 또는 이전에 인코딩/디코딩된 영상에서 찾아서 활용하고 그 차이값을 전송하는 방법으로 압축하게 된다. The image codec removes temporal redundancy based on a block matching scheme. In the block matching method, the image is divided into small blocks, and a portion similar to the block of the currently encoded / decoded image is temporally found and used in a previous frame or a previously encoded / decoded image, and compressed by transmitting the difference value. .

이를 위해 이전 프레임과 현재 프레임 사이에서 가장 비슷한 블록을 찾는 작업이 필요한데, 이를 움직임 추정(Motion Estimation, ME)이라 하며 블록이 얼마만큼 움직였는가 하는 변위를 나타내는 것을 움직임 벡터(Motion Vector, MV)라고 한다.To do this, it is necessary to find the most similar block between the previous frame and the current frame. This is called motion estimation (ME), and the motion vector (MV) is used to represent the displacement of the block. .

영상 신호 압축을 위한 움직임 추정(motion estimation)시에는 현재영상을 매크로블록으로 분할하고, 시간적으로 이전 영상과 SAD(Sum of Absolute Difference)또는 SSD(Sum of Square Difference)와 같은 오차값이 최소가 되는 영역과의 좌표 차를 움직임 벡터로 사용한다. When motion estimation is performed for video signal compression, the current video is divided into macroblocks, and an error value such as a sum of absolute difference (SAD) or a sum of square difference (SSD) is minimized in time with the previous video. Use the coordinate difference from the region as the motion vector.

H.264의 경우 SAD 또는 SSD와 함께 움직임 벡터를 전송하는 데 요구되는 데이터량을 함께 고려한 값을 cost로 하여 cost가 가장 낮은 값을 보이는 움직임 벡터를 움직임 예측에 사용한다.In the case of H.264, the motion vector with the lowest cost is used for motion prediction by taking the cost considering the amount of data required to transmit the motion vector together with the SAD or SSD.

여기서, 움직임 벡터를 찾기 위해서는 SAD 또는 SSD를 움직임 탐색 영역의 모든 픽셀에 대해 모두 계산하고, 그 중 최소값을 가지는 위치를 찾아야 한다. 예컨대, 블록의 크기가 N x N 픽셀이고 움직임 탐색 영역이 32x32라면 1024*(2NxN-1)번의 덧셈/뺄셈 연산이 필요하며, 영상의 크기가 100Nx80N정도라면 8192000*(2NxN-1)*(NxN)의 연산이 필요하다. 이는 영상 인코딩 시 최대 50%까지의 연산을 차지할 정도로 많은 연산량으로, 시스템 부하를 유발하고 처리 속도를 지연시키는 문제점이 있다.
In order to find the motion vector, the SAD or SSD must be calculated for all the pixels of the motion search region, and the position having the minimum value must be found. For example, if the block size is N x N pixels and the motion search area is 32x32, 1024 * (2NxN-1) addition / subtraction operations are required. If the size of the image is about 100Nx80N, ) Is required. This is a large amount of calculation that takes up to 50% of operations when encoding an image, which causes a system load and delays processing speed.

한국공개특허 제2004-0049214호(2004.06.11), 발명의 명칭: 고속 모션벡터 추정장치 및 방법Korean Patent Laid-Open Publication No. 2004-0049214 (2004.06.11), title of the invention: High speed motion vector estimation apparatus and method

본 발명은 상기한 문제점을 해결하기 위하여 안출한 것으로, 본 발명의 목적은 블록 정합(block matching)을 통해 최소의 SAD 또는 SSD를 찾고, 그 SAD 또는 SSD를 이용하여 움직임 벡터를 추정하여 움직임 추정 시 소요되는 연산량을 줄이고, 고속의 영상 인코딩을 가능하게 하는 고속 움직임 추정을 위한 장치 및 방법을 제공하는데 있다. The present invention has been made to solve the above problems, and an object of the present invention is to find a minimum SAD or SSD through block matching, and to estimate the motion vector by using the SAD or SSD to estimate the motion. It is an object of the present invention to provide an apparatus and method for fast motion estimation which reduces a computation amount and enables high speed image encoding.

본 발명의 다른 목적은 현재영상의 각 블록(block)에 대해 n차 integral 영상을 한 번 계산하여 찾으면 모든 후보 움직임 벡터에 대해 동일하게 사용할 수 있으므로 NxN 크기의 블록 비교시 연산시간을 감소시켜 속도를 향상시킬 수 있는 고속 움직임 추정을 위한 장치 및 방법을 제공하는데 있다.
Another object of the present invention is that once the n-th order integral image is calculated once for each block of the current image, the same can be used for all candidate motion vectors. An apparatus and method for fast motion estimation that can be improved are provided.

상기 목적들을 달성하기 위하여 본 발명의 일 측면에 따르면, n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성하는 n차 영상 생성부, 상기 현재 n차 영상들의 면적에 의한 현재 n차 integral 영상을 생성하고, 상기 기준 n차 영상들의 면적에 의한 기준 n차 integral 영상을 생성하는 n차 integral 영상 생성부, 상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구하는 n차 모멘텀 계산부, 상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 움직임 벡터 추정부를 포함하는 움직임 추정 장치가 제공된다. According to an aspect of the present invention to achieve the above object, n to generate the current n-th image and the reference n-th order image, each pixel value n times multiplied by each pixel value in the n-dimensional current image and the reference image, respectively A fourth order image generating unit, to generate a current nth order integral image based on an area of the current nth order images, and to generate a reference nth order integral image based on an area of the reference nth order images, wherein the current nth order N-th momentum calculation unit for obtaining n-th order momentum of a specific block of the current image by using the order integral image, and obtaining n-th order momentum for a specific block of the reference image using the reference n-th order integral image, A block matching error is obtained by using a difference between n-th order momentum for a specific block and n-th order momentum for the specific block of the reference image, and coordinates of blocks having the minimum block matching error A motion estimation apparatus including a motion vector estimator for estimating a difference as a motion vector is provided.

상기 n차 영상 생성부는,The n-th image generating unit,

[수학식][Mathematical Expression]

Figure pat00001
Figure pat00001

을 이용하여 n차 영상을 생성하되, 여기서, i(x,y)은 현재영상 또는 기준영상을 나타낸 원영상이고, On(x,y)는 n차 영상, (x,y)는 픽셀 좌표를 나타낸다. Generate n-th image by using i (x, y) is the original image representing the current image or the reference image, O n (x, y) is the n-th image, (x, y) is the pixel coordinate Indicates.

상기 n차 integral 영상 생성부는 The n-th integral image generating unit

[수학식][Mathematical Expression]

Figure pat00002
Figure pat00002

을 이용하여 현재 n차 integral 영상과 기준 n차 integral 영상을 각각 생성하되, (x,y)는 픽셀좌표, In(x,y)는 integral 영상, On(x,y)는 n차 영상을 나타낸다.Create the current n-th integral image and the reference n-th integral image using (x, y) as pixel coordinates, I n (x, y) as integral image, and O n (x, y) as nth image Indicates.

상기 n차 모멘텀 계산부는 현재영상과 기준영상의 특정 블록 4개 좌표의 n차 integral 영상에 의한 다음의 수학식을 이용하여 상기 특정 블록의 면적을 구하되, 상기 특정 블록의 면적이 상기 현재영상 또는 기준영상의 특정 블록에 대한 n차 모멘텀(Mn)을 의미한다. The n-th momentum calculation unit obtains an area of the specific block using the following equation based on an n-th integral image of four coordinates of a specific block of the current image and the reference image, and the area of the specific block is the current image or Mean n-th momentum (M n ) for a specific block of the reference image.

[수학식] [Mathematical Expression]

Figure pat00003
Figure pat00003

여기서, 상기 In(xe, ye)는 (xe, ye)좌표에서의 n차 integral 영상, In(xe-1, ye-1)는 (xe-1, ye-1)좌표에서의 n차 integral 영상, In(xe-1, ye)는 (xe-1, ye)좌표에서의 n차 integral 영상, In(xe, ye-1)는 (xe, ye-1) 좌표에서의 n차 integral 영상을 나타낸다.Here, I n (x e , y e ) is an n-th integral image in (x e , y e ) coordinates, and I n (x e -1, y e -1) is (x e -1, y e N-th integral image in coordinates, I n (x e -1, y e ) is n-th integral image in coordinates (x e -1, y e ), I n (x e , y e -1 ) Represents the nth order integral image at (x e , y e -1) coordinates.

상기 움직임 벡터 추정부는 상기 블록 정합 오차를 다음의 수학식을 이용하여 SAD 및 SSD 중 적어도 어느 하나의 값으로 산출한다.The motion vector estimator calculates the block matching error as at least one of SAD and SSD using the following equation.

[수학식][Mathematical Expression]

Figure pat00004
Figure pat00004

Figure pat00005
Figure pat00005

여기서 Mn,ref는 기준영상의 특정블록의 n차 모멘텀, Mn,curr는 현재영상의 특정블록의 n차 모멘텀, αn 및 ßn 는 n차 모멘텀에 대한 가중치, γ는 scale 상수를 나타낸다.Where M n and ref are the nth order momentum of the specific block of the reference picture, M n , curr are the nth order momentum of the particular block of the current picture, α n and ß n are the weights of the nth order momentum, and γ is the scale constant. .

본 발명의 다른 측면에 따르면,n차원의 현재(current)영상과 기준(reference)영상에 대한 n차 영상을 각각 생성하고, 그 n차 영상들의 면적에 의한 n차 integral 영상을 생성한 후, 상기 n차 integral 영상들을 이용하여 현재영상 및 기준영상의 특정 블록에 대한 n차 모멘텀을 각각 구하고, 상기 현재영상과 기준영상의 특정 블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 움직임 추정부, 상기 추정된 움직임 벡터를 이용하여 상기 기준영상으로부터 상기 현재영상에 대한 예측영상을 생성하는 움직임 보상부, 상기 현재영상으로부터 상기 생성된 예측 영상을 감산함으로써 상기 현재 영상과 상기 예측 영상의 차이를 생성하는 감산부, 상기 생성된 현재 영상과 예측 영상의 차이를 부호화하는 부호화부를 포함하는 고속 움직임 추정을 위한 영상 부호화 장치가 제공된다. According to another aspect of the present invention, after generating the n-th image for the current image and the reference image of the n-dimensional, respectively, and generates the n-th integral image by the area of the n-th image, Obtain n-th order momentum for a specific block of the current image and the reference image using n-th integral pictures, obtain block matching error using the difference between n-th momentum for the specific block of the current image and the reference image, and block A motion estimator for estimating a coordinate difference between blocks having a minimum matching error as a motion vector, a motion compensator configured to generate a predicted image of the current image from the reference image using the estimated motion vector, and from the current image A subtraction unit for generating a difference between the current image and the predicted image by subtracting the generated predicted image; An image encoding apparatus for fast motion estimation including an encoding unit encoding a difference is provided.

본 발명의 또 다른 측면에 따르면, n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성하는 단계, 상기 현재 n차 영상들의 면적에 의한 현재 n차 integral 영상을 생성하고, 상기 기준 n차 영상들의 면적에 의한 기준 n차 integral 영상을 생성하는 단계, 상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구하는 단계, 상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하는 단계, 상기 구해진 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 단계를 포함하는 고속 움직임 추정 방법이 제공된다.
According to another aspect of the present invention, generating a current n-th image and a reference n-th image each of the n-dimensional current image and the reference image by multiplying each pixel value n times as pixel values, respectively, the current n-th order Generating a current nth order integral image based on the area of images, and generating a reference nth order integral image based on the area of the reference nth order images, n for a specific block of the current image using the current nth order integral image Obtaining the difference momentum, and obtaining the n-th order momentum of a specific block of the reference image by using the reference n-th order integral image, the n-th momentum of the specific block of the current image and the n-th order of the specific block of the reference image Obtaining a block matching error using a difference between momentums, and estimating a coordinate difference of blocks having the minimum block matching error as a motion vector A motion estimation method is provided.

상술한 바와 같이 본 발명에 따르면, 블록 정합(block matching)을 통해 최소의 SAD 또는 SSD를 찾아서 움직임 벡터를 추정하므로, 움직임 추정 시 소요되는 연산량을 줄이고, 고속의 영상 인코딩을 가능하게 할 수 있다.As described above, according to the present invention, since the motion vector is estimated by finding the minimum SAD or SSD through block matching, it is possible to reduce the amount of computation required for motion estimation and to enable fast image encoding.

또한, 현재영상의 각 블록(block)에 대해 n차 integral 영상을 한 번 계산하여 찾으면 모든 후보 움직임 벡터에 대해 동일하게 사용할 수 있으므로 NxN 크기의 블록 비교시 연산시간을 감소시켜 속도를 향상시킬 수 있다.
In addition, once the nth order integral image is calculated and found for each block of the current image, the same can be used for all candidate motion vectors. Therefore, the computation time can be improved by reducing the computation time when comparing blocks of NxN size. .

도 1은 본 발명에 따른 고속 움직임 추정이 가능한 영상 부호화 장치의 구성을 나타낸 도면.
도 2는 본 발명에 따른 고속 움직임 추정을 위한 움직인 추정 장치의 구성을 나타낸 도면.
도 3은 본 발명에 따른 움직임 추정 장치가 고속 움직임을 추정하는 방법을 나타낸 흐름도.
도 4는 본 발명에 따른 n차 모멘텀을 구하는 방법을 설명하기 위한 도면.
1 is a diagram showing the configuration of a video encoding apparatus capable of fast motion estimation according to the present invention.
2 is a diagram showing the configuration of a motion estimating apparatus for fast motion estimation according to the present invention;
3 is a flowchart illustrating a method for estimating high-speed motion by a motion estimation apparatus according to the present invention.
4 is a view for explaining a method for obtaining n-th order momentum according to the present invention.

본 발명의 전술한 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하 상세한 설명에 의해 보다 명확하게 이해될 것이다.The foregoing and other objects, features, and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG.

도 1은 본 발명에 따른 고속 움직임 추정이 가능한 영상 부호화 장치의 구성을 나타낸 도면이다. 1 is a diagram showing the configuration of a video encoding apparatus capable of fast motion estimation according to the present invention.

도 1을 참조하면, 고속 움직임 추정이 가능한 영상 부호화 장치(100)는 움직임 추정부(110), 움직임 보상부(120), 감산기(130), 주파수 공간 변환부(140), 양자화부(150), 엔트로피 부호화부(160), 역양자화부(170), 주파수 공간 역변환부(180), 가산기(190)를 포함한다. Referring to FIG. 1, the image encoding apparatus 100 capable of fast motion estimation may include a motion estimator 110, a motion compensator 120, a subtractor 130, a frequency space converter 140, and a quantizer 150. , An entropy encoder 160, an inverse quantizer 170, a frequency space inverse transform unit 180, and an adder 190.

상기 움직임 추정부(110)는 현재(current)영상의 블록 단위로 현재영상의 블록과 가장 잘 일치하는 기준(reference)영상의 블록간의 변위에 해당하는 움직임 벡터를 산출한다. 상기 기준영상은 현재영상보다 시간적으로 이전의 영상, 혹은, 인코딩/디코딩 순서에서 이 전에 처리된 영상을 말한다.The motion estimator 110 calculates a motion vector corresponding to a displacement between blocks of a reference image that best matches a block of the current image in units of blocks of the current image. The reference video refers to a video that is temporally older than the current video, or an image that has been previously processed in an encoding / decoding sequence.

즉, 상기 움직임 추정부(110)는 n차원의 현재(current)영상과 기준(reference)영상에 대한 n차 영상을 각각 생성하고, 그 n차 영상들의 면적에 의한 n차 integral 영상을 생성한다. 그런 다음 상기 움직임 추정부(110)는 상기 n차 integral 영상들을 이용하여 현재영상 및 기준영상의 특정 블록에 대한 n차 모멘텀(momentum)을 각각 구하고, 상기 현재영상과 기준영상의 특정 블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구한 후, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정한다.That is, the motion estimator 110 generates an n-th order image of the n-dimensional current image and the reference image, respectively, and generates an n-th integral image based on the area of the n-th image. Then, the motion estimator 110 obtains n-th momentum of a specific block of a current image and a reference image, respectively, using the n-th integral images, and n for a specific block of the current image and the reference image, respectively. After the block matching error is obtained using the difference between the difference momentums, the coordinate difference between the blocks having the smallest block matching error is estimated as a motion vector.

상기와 같은 역할을 수행하는 움직임 추정부(110)에 대한 상세한 설명은 도 2를 참조하기로 한다. 도 2에서는 움직임 추정부(110)를 움직임을 추정하는 움직임 추정 장치로 하여 설명하기로 한다. A detailed description of the motion estimation unit 110 that performs the above role will be described with reference to FIG. 2. In FIG. 2, the motion estimation unit 110 will be described as a motion estimation apparatus for estimating motion.

상기 움직임 보상부(120)는 현재영상의 블록 단위로 움직임 추정부(110)에 의해 움직임 벡터를 사용하여 기준영상으로부터 현재영상에 대한 예측영상을 생성한다.The motion compensator 120 generates a predicted image of the current image from the reference image by using the motion vector by the motion estimator 110 in units of blocks of the current image.

상기 감산기(130)는 현재영상으로부터 움직임 보상부(120)에 의해 생성된 예측 영상을 감산함으로써 현재 영상과 예측영상의 차이를 생성한다.The subtractor 130 generates a difference between the current image and the predicted image by subtracting the predicted image generated by the motion compensator 120 from the current image.

상기 주파수 공간 변환부(140)는 감산기(130)에 의해 생성된 현재 영상과 예측 영상의 차이를 색 공간으로부터 주파수 공간으로 변환한다. 색 공간으로부터 주파수 공간으로 변환하는 방식의 예로는 DHT(Discrete Hadamard Transformation), DCT(Discrete Cosine Transformation) 기반의 정수 변환 등을 들 수 있다.The frequency space converter 140 converts the difference between the current image and the predicted image generated by the subtractor 130 from the color space to the frequency space. Examples of a method of converting from a color space to a frequency space include a discrete Hadamard Transformation (DHT) and an integer transformation based on a Discrete Cosine Transformation (DCT).

상기 양자화부(150)는 주파수 공간 변환부(140)에 의해 변환된 값들을 양자화한다. 즉, 양자화부(150)는 주파수 공간 변환부(140)에 의해 변환된 주파수 성분 값들을 양자화 파라미터로 나누고, 그 결과를 정수 값들로 근사화한다.The quantization unit 150 quantizes the values converted by the frequency space transformer 140. That is, the quantization unit 150 divides the frequency component values transformed by the frequency space transformer 140 into quantization parameters and approximates the result to integer values.

상기 엔트로피 부호화부(160)는 양자화부(150)에 의해 양자화된 값들을 엔트로피 부호화함으로서 비트 스트림을 생성하고, 이것을 출력한다. 엔트로피 부호화 방식의 예로는 CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context -Adaptive Binary Arithmetic Coding) 등을 들 수 있다.The entropy encoder 160 generates a bit stream by entropy encoding the values quantized by the quantizer 150 and outputs the bit stream. Examples of entropy coding methods include Context-Adaptive Variable Length Coding (CAVLC) and Context-Adaptive Binary Arithmetic Coding (CABAC).

상기 역양자화부(170)는 양자화부(150)에 의해 양자화된 값들을 역양자화한다. 즉, 역양자화부(170)는 양자화부(150)에 의해 근사화된 정수 값들에 양자화 파라미터를 곱함으로서 주파수 성분 값들을 복원한다.The inverse quantization unit 170 inversely quantizes the values quantized by the quantization unit 150. That is, the inverse quantization unit 170 restores frequency component values by multiplying integer values approximated by the quantization unit 150 by a quantization parameter.

상기 주파수 공간 역변환부(180)는 역양자화부(170)에 의해 복원된 주파수 성분 값들을 주파수 공간으로부터 색 공간으로 변환함으로서 현재영상과 예측 영상의 차이를 복원한다.The frequency space inverse transform unit 180 restores the difference between the current image and the predicted image by converting the frequency component values reconstructed by the inverse quantizer 170 from the frequency space to the color space.

상기 가산기(190)는 움직임 보상부(120)에 의해 생성된 예측 영상에 주파수 공간 역변환부(180)에 복원된 현재 영상과 예측 영상의 차이를 가산함으로써 복원 영상을 생성한다.The adder 190 generates a reconstructed image by adding a difference between the current image reconstructed by the frequency space inverse transformer 180 and the predicted image to the predicted image generated by the motion compensator 120.

도 2는 본 발명에 따른 고속 움직임 추정을 위한 움직인 추정 장치의 구성을 나타낸 도면이다. 2 is a diagram showing the configuration of a motion estimation apparatus for fast motion estimation according to the present invention.

도 2를 참조하면, 고속 움직임 추정을 위한 움직인 추정 장치(200)는 n차 영상 생성부(210), n차 integral 영상 생성부(220), n차 모멘텀 계산부(230), 움직임 벡터 추정부(240)를 포함한다. Referring to FIG. 2, the moved estimation apparatus 200 for fast motion estimation includes an n-th order image generator 210, an n-th integral image generator 220, an n-th order momentum calculator 230, and a motion vector weight. Government 240.

상기 n차 영상 생성부(210)는 n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성한다. 여기서, 상기 n차원이라는 것은 1차원, 2차원, 3차원 등의 차원을 말한다.The n-th order image generating unit 210 generates a current n-th image and a reference n-th image, respectively, in which the pixel value is multiplied by each pixel value n times in the n-dimensional current image and the reference image. Here, the n-dimensional means a dimension such as one, two, three-dimensional.

즉, 상기 n차 영상 생성부(210)는 수학식 1을 이용하여 n차 영상을 생성한다. That is, the n-th order image generator 210 generates an n-th order image using Equation 1.

Figure pat00006
Figure pat00006

여기서, i(x,y)은 현재영상 또는 기준영상을 나타낸 원영상이고, On(x,y)는 n차 영상, (x,y)는 픽셀 좌표를 나타낸다.Here, i (x, y) is the original image representing the current image or the reference image, O n (x, y) is the nth order image, and (x, y) is the pixel coordinate.

상기 n차 영상 생성부(210)는 현재영상과 기준영상이 입력되면, 상기 현재영상과 기준영상을 일정 개수의 블록으로 나눈다. 이때, 상기 블록은 N x N 크기의 블록으로, 예를들면, 16 x 16 크기의 블록, 8 x 8 크기의 블록, 4 x 4 크기의 블록 중 어떠한 크기의 블록도 될 수 있다. The n-th order image generator 210 divides the current image and the reference image into a predetermined number of blocks when the current image and the reference image are input. In this case, the block is an N × N sized block, for example, a 16 × 16 size block, an 8 × 8 size block, or a 4 × 4 sized block.

그런 다음 상기 n차 영상 생성부(210)는 n차원의 현재영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 n차 영상을 생성하고, n차원의 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 n차 영상을 생성한다. 상기 n차원의 현재영상, n차원의 기준영상이라는 말은 1차원 영상, 2차원 영상. 3차원 영상 등을 말한다. 따라서, 상기 n차 영상 생성부(210)는 현재영상 및 기준영상이 3차원인 경우 각 픽셀값을 3번 곱한 값을 픽셀값으로 하는 현재 3차 영상과 기준 3차 영상을 각각 생성한다.Then, the n-th image generating unit 210 generates an n-th image including a pixel value multiplied by each pixel value n times in the n-dimensional current image, and n times each pixel value in the n-dimensional reference image. An n-th order image is generated with the multiplied value as the pixel value. The term n-dimensional current image, n-dimensional reference image is a 1-dimensional image, a two-dimensional image. Three-dimensional image or the like. Therefore, when the current image and the reference image are three-dimensional, the n-th image generating unit 210 generates a current tertiary image and a reference tertiary image, each of which is a pixel value multiplied by each pixel value three times.

또한, 현재영상 및 기준영상이 2차원인 경우, 상기 n차 영상 생성부(210)는 현재영상 및 기준영상에서 각 픽셀값을 2번 곱한 값을 픽셀값으로 하는 현재 2차 영상과 기준 2차 영상을 각각 생성한다.In addition, when the current image and the reference image are two-dimensional, the n-th order image generating unit 210 performs the current secondary image and the reference secondary, which is a pixel value obtained by multiplying each pixel value twice in the current image and the reference image. Create each image.

이때, 현재영상 및 기준영상의 블록크기가 N*N인 경우, 상기 n차 영상 생성부(210)는 상기 현재영상 및 기준영상의 블록크기에 해당하는 N개의 현재 n차 영상과 N개의 기준 n차 영상을 각각 생성한다. In this case, when the block size of the current image and the reference image is N * N, the n-th image generating unit 210 includes N current n-th image and N reference n corresponding to the block sizes of the current image and the reference image. Each car image is generated.

상기 n차 integral 영상 생성부(220)는 상기 현재 n차 영상들의 면적을 구하여 현재 n차 integral 영상을 생성하고, 상기 기준 n차 영상들의 면적을 구하여 기준 n차 integral 영상을 생성한다. 이때, 상기 n차 integral 영상 생성부(220)는 N개의 n차 영상들에 대해 integral 영상을 각각 생성하여 N개의 n차 integral 영상을 생성한다The nth order integral image generator 220 obtains an area of the current nth order images to generate a current nth order integral image, and obtains an area of the reference nth order images to generate a reference nth order integral image. In this case, the n th order integral image generator 220 generates an n th order integral image by generating an integral image for each of the n th order images.

즉, 상기 n차 integral 영상 생성부(220)는 수학식 2를 이용하여 현재 n차 integral 영상과 기준 n차 integral 영상을 각각 생성한다.That is, the nth order integral image generator 220 generates a current nth order integral image and a reference nth order integral image by using Equation 2.

Figure pat00007
Figure pat00007

여기서, (x,y)는 픽셀좌표, In(x,y)는 n차 integral 영상, On(x,y)는 n차 영상을 나타낸다. Here, (x, y) represents pixel coordinates, I n (x, y) represents an nth order integral image, and O n (x, y) represents an nth order image.

상기 n차 integral 영상 생성부(220)가 n차 integral 영상을 생성하는 이유는 영상내 특정 rectangular 영역에 대한 n차 모멘텀을 고속으로 계산하기 위해서이다The reason why the n-th integral image generator 220 generates the n-th integral image is to calculate the n-th moment of a specific rectangular region in the image at high speed.

상기 n차 모멘텀 계산부(230)는 상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구한다. The n th order momentum calculator 230 obtains an n th order momentum of a specific block of the current image using the current n th order integral image, and an n th order of the specific block of the reference image using the reference n th order integral image. Find the momentum.

즉, 상기 n차 모멘텀 계산부(230)는 수학식 3을 이용하여 현재영상 또는 기준영상의 특정 블록에 대한 n차 모멘텀(Mn)을 각각 구한다. That is, the n-th momentum calculator 230 obtains n-th momentum M n for a specific block of the current image or the reference image by using Equation 3, respectively.

Figure pat00008
Figure pat00008

여기서, 상기 x는 특정 영역에 포함되는 픽셀(pixel)값, E[xn]은 특정영역의 n차 모멘텀, In(xe, ye)는 (xe, ye) 픽셀 좌표에서의 n차 integral 영상, In(xe-1, ye-1)는 (xe-1, ye-1) 픽셀 좌표에서의 n차 integral 영상, In(xe-1, ye)는 (xe-1, ye) 픽셀 좌표에서의 n차 integral 영상, In(xe, ye-1)는 (xe, ye-1) 픽셀 좌표에서의 n차 integral 영상을 말한다. Here, x is a pixel value included in a specific region, E [x n ] is the nth order momentum of the specific region, and I n (x e , y e ) is the (x e , y e ) pixel coordinate. n-th integral image, I n (x e -1, y e -1) is the n-th integral image at pixel coordinates (x e -1, y e -1), I n (x e -1, y e ) Is an n-th integral image in (x e -1, y e ) pixel coordinates, and I n (x e , y e -1) is an n-th integral image in (x e , y e -1) pixel coordinates .

상기 수학식 3을 살펴보면, 상기 n차 모멘텀 계산부(230)는 현재영상과 기준영상의 특정 블록 4개 좌표에 대한 n차 integral 영상을 이용하여 상기 특정 블록의 면적을 구한다. 이때, 상기 특정 블록의 면적이 상기 현재영상 또는 기준영상의 특정 블록에 대한 n차 모멘텀(Mn)일 수 있다. Referring to Equation 3, the n-th momentum calculator 230 calculates an area of the specific block by using an n-th integral image of four coordinates of the specific block of the current image and the reference image. In this case, an area of the specific block may be n-th momentum M n of the specific block of the current image or the reference image.

상기 움직임 벡터 추정부(240)는 상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정한다.The motion vector estimator 240 obtains a block matching error by using a difference between an nth order momentum of a specific block of the current image and an nth order momentum of a specific block of the reference image, and a block having a minimum block matching error. The coordinate difference of the two is estimated by the motion vector.

즉, 상기 움직임 벡터 추정부(240)는 상기 블록 정합 오차를 수학식 4에 의한 SAD 또는 수학식 5에 의한 SSD 중 적어도 어느 하나의 값으로 산출한다. That is, the motion vector estimator 240 calculates the block matching error as at least one of SAD according to Equation 4 or SSD according to Equation 5.

Figure pat00009
Figure pat00009

Figure pat00010
Figure pat00010

여기서 Mn,ref는 기준영상의 특정블록의 n차 모멘텀, Mn,curr는 현재영상의 특정블록의 αn, ßn 는 n차 모멘텀에 대한 가중치, γ는 scale 상수를 말한다.Here, M n , ref are n-th order momentum of a specific block of the reference picture, M n , curr are α n , ß n are weights of the n-th order momentum of the particular block of the current picture, and γ is a scale constant.

상기 움직임 벡터 추정부(240)가 SAD와 SSD에 대응되는 블록 정합 오차를 계산시 1차에서 K차까지의 모멘텀(momentum)을 고려할 수 있으며, 이때 K는 시스템의 연산량을 고려하여 조절이 가능하다. 즉 K가 클수록 계산의 정확도와 연산량이 커지고, K가 작을수록 정확도와 연산량이 작아진다.When the motion vector estimator 240 calculates a block matching error corresponding to the SAD and the SSD, the momentum from the first to the K-orders may be considered, and K may be adjusted in consideration of the amount of computation of the system. . In other words, the larger K, the greater the accuracy and the amount of calculation. The smaller the K, the smaller the accuracy and the amount of calculation.

도 3은 본 발명에 따른 움직임 추정 장치가 고속 움직임을 추정하는 방법을 나타낸 흐름도, 도 4는 본 발명에 따른 n차 모멘텀을 구하는 방법을 설명하기 위한 도면이다.3 is a flowchart illustrating a method of estimating high-speed motion by a motion estimation apparatus according to the present invention, and FIG. 4 is a diagram for describing a method of obtaining n-th order momentum according to the present invention.

도 3을 참조하면, n차원의 현재영상과 n차원의 기준영상이 입력되면(S302), 움직임 추정 장치는 상기 n차원의 현재영상과 n차원의 기준영상을 각각 일정 개수의 블록으로 나눈다(S304). 이때, 상기 블록들은 N*N크기를 갖는다. Referring to FIG. 3, when an n-dimensional current image and an n-dimensional reference image are input (S302), the motion estimation apparatus divides the n-dimensional current image and the n-dimensional reference image into a predetermined number of blocks, respectively (S304). ). In this case, the blocks have an N * N size.

상기 S304가 수행되면, 상기 움직임 추정 장치는 상기 n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성한다(S306). 즉, 상기 움직임 추정 장치는 수학식 1을 이용하여 n차 영상을 생성한다. 이때, 각 pixel값을 나타내는 변수를 x라고 하면 1차 영상은 x로 구성된 영상이고, 2차 영상은 x2으로 구성된 영상이다. 또한, 상기 움직임 추정 장치는 영상의 블록크기에 해당하는 N개의 n차 영상을 생성한다. When the step S304 is performed, the motion estimation apparatus generates a current nth order image and a reference nth order image, respectively, in which the pixel value is multiplied by each pixel value n times in the n-dimensional current image and the reference image (S306). . That is, the motion estimation apparatus generates n-th order image using Equation 1. At this time, if the variable representing each pixel value is x, the primary image is an image composed of x, and the secondary image is an image composed of x 2 . In addition, the motion estimation apparatus generates N-th order images corresponding to the block size of the image.

상기 S306의 수행 후, 상기 움직임 추정 장치는 상기 현재 n차 영상들의 면적에 의한 현재 n차 integral 영상과 상기 기준 n차 영상들의 면적에 의한 기준 n차 integral 영상을 생성한다(S308). 즉, 상기 움직임 추정 장치는 수학식 2를 이용하여 N개의 n차 integral 영상을 생성한다.After performing S306, the motion estimation apparatus generates a current nth integral image by the area of the current nth order images and a reference nth integral image by the area of the reference nth images (S308). That is, the motion estimation apparatus generates N n-th order integral images using Equation 2.

그런 다음 상기 움직임 추정 장치는 상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구한다(S310). 즉, 상기 움직인 추정 장치는 수학식 3을 이용하여 n차 모멘텀을 구한다.Then, the motion estimation apparatus obtains n-th momentum of a specific block of the current image using the current n-th integral image, and obtains n-th momentum of a specific block of a reference image using the reference nth integral image. (S310). That is, the moved estimation apparatus obtains n-th order momentum by using Equation 3 below.

상기 움직임 추정 장치가 n차 모멘텀을 구하는 방법에 대해 도 4를 참조하면, (a)는 기준영상의 특정 블록(A')이 현재영상의 특정 블록(A)으로 움직였음을 나타낸다. 상기 움직임 추정 장치는 n차 모멘텀을 구하기 위하여 (b)와 같은 특정 블록에 대한 4개의 픽셀 좌표 즉, (xe, ye), (xe-1, ye-1), (xe-1, ye), (xe, ye-1)에서의 n차 integral 영상을 이용하여 블록 A에 대한 면적을 구한다.Referring to FIG. 4 for a method of obtaining the n-th order momentum by the motion estimation apparatus, (a) indicates that the specific block A 'of the reference image moves to the specific block A of the current image. The motion estimation apparatus calculates four pixel coordinates for a specific block such as (b), that is, (x e , y e ) , (x e -1, y e -1), and (x e −) to obtain an n-th order momentum. Find the area for block A using the nth order integral image at 1, y e ), (x e , y e -1).

즉, 상기 움직임 추정장치는 블록 A의 면적을 구하기 위하여 수학식 3과 같이 (xe, ye)에서의 n차 integral 영상에서 (xe-1, ye-1)에서의 n차 integral 영상을 더하고, (xe-1, ye)와 (xe, ye-1)에서의 n차 integral 영상을 빼서 상기 블록 A에 대한 면적을 구한다. 상기 구해진 면적이 n차 모멘텀 일 수 있다. That is, the motion estimation apparatus obtains the n-th integral image at (x e -1, y e -1) from the n-th integral image at (x e , y e ) as shown in Equation 3 to obtain the area of block A. And subtract the n-th integral image from (x e -1, y e ) and (x e , y e -1) to find the area for block A. The obtained area may be n-th momentum.

상기 S310의 수행 후, 상기 움직임 추정 장치는 상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고(S312), 상기 구해진 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정한다(S314).After performing the S310, the motion estimation apparatus obtains a block matching error by using a difference between an n th order moment for a specific block of the current image and an n th order momentum for a specific block of the reference image (S312). The coordinate difference between blocks having the minimum block matching error is estimated as a motion vector (S314).

상기와 같이 움직임 추정 장치는 현재영상의 각 블록에 대해 n차 integral 영상을 한 번 계산하여 찾으면 모든 후보 움직임 벡터에 대해 동일하게 사용할 수 있으므로 NxN 크기의 블록비교시 (2NxN-1)번의 연산이 5*K-1로 감소하여 연산시간의 감소를 가져올 수 있다. 즉, 일반적으로 N이 8이므로, 기존 127번의 연산이 K가 2인 경우 9번, K가 3인 경우 14번으로 감소하므로 약 9배에서 14배정도의 속도 향상을 가져올 수 있다. As described above, if the motion estimation apparatus calculates and finds an nth order integral image once for each block of the current image, the same can be used for all candidate motion vectors. Therefore, the operation of (2NxN-1) is 5 when comparing NxN blocks. It can be reduced to K-1, resulting in a reduction in computation time. That is, since N is 8 in general, the conventional 127 operations are reduced to 9 times when K is 2, and 14 times when K is 3, thereby bringing about 9 to 14 times speed improvement.

이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Thus, those skilled in the art will appreciate that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. It is therefore to be understood that the embodiments described above are to be considered in all respects only as illustrative and not restrictive. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

이상과 같이 본 발명의 고속 움직임 추정을 위한 장치 및 방법은 블록 정합(block matching)을 통해 최소의 SAD 또는 SSD를 찾고, 그 SAD 또는 SSD를 이용하여 움직임 벡터를 추정하여 움직임 추정 시 소요되는 연산량을 줄이고, 고속의 영상 인코딩을 가능하게 하는 경우에 적합하다.
As described above, the apparatus and method for fast motion estimation of the present invention finds a minimum SAD or SSD through block matching, estimates a motion vector using the SAD or SSD, and calculates an amount of computation required for motion estimation. It is suitable for the case of reducing and enabling high speed image encoding.

100 : 영상 부호화 장치 110 : 움직임 추정부
120 : 움직임 보상부 130 : 감산기
140 : 주파수 공간 변환부 150 : 양자화부
160 : 엔트로피 부호화부 170 : 역양자화부
180 : 주파수 공간 역변환부 190 : 가산기
200 : 움직임 추정 장치 210 : n차 영상 생성부
220 : n차 integral 영상 생성부 230 : n차 모멘텀 계산부
240 : 움직임 벡터 추정부
100: video encoding apparatus 110: motion estimation unit
120: motion compensation unit 130: subtractor
140: frequency space conversion unit 150: quantization unit
160: entropy encoding unit 170: inverse quantization unit
180: frequency space inverse transform unit 190: the adder
200: motion estimation apparatus 210: n-th order image generating unit
220: n-th integral image generating unit 230: n-th order momentum calculation unit
240: motion vector estimation unit

Claims (7)

n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성하는 n차 영상 생성부;
상기 현재 n차 영상들의 면적을 구하여 현재 n차 integral 영상을 생성하고, 상기 기준 n차 영상들의 면적을 구하여 기준 n차 integral 영상을 생성하는 n차 integral 영상 생성부;
상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구하는 n차 모멘텀 계산부; 및
상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 움직임 벡터 추정부;
를 포함하는 움직임 추정 장치.
an n-th image generation unit configured to generate a current n-th image and a reference n-th image each of which the pixel value is multiplied n times of each pixel value in the n-dimensional current image and the reference image;
An nth order integral image generator configured to obtain an area of the current nth order images to generate a current nth order integral image and to obtain an area of the reference nth order images to generate a reference nth order integral image;
An n th order momentum calculator for obtaining an n th order momentum of a specific block of the current image using the current n th order integral image, and obtaining an n th order momentum of a specific block of the reference image using the reference n th order integral image; And
A block matching error is obtained by using a difference between n-th order momentum of the specific block of the current image and n-th order momentum of the specific block of the reference image, and the coordinate difference between the blocks having the minimum block matching error is estimated as a motion vector. A motion vector estimator;
Motion estimation apparatus comprising a.
제1항에 있어서,
상기 n차 영상 생성부는 다음의 수학식을 이용하여 n차 영상을 생성하는 것을 특징으로 하는 움직임 추정 장치.
[수학식]
Figure pat00011

여기서, i(x,y)은 현재영상 또는 기준영상을 나타낸 원영상이고, On(x,y)는 현재 또는 기준 n차 영상, (x,y)는 픽셀 좌표임.
The method of claim 1,
The nth order image generating unit generates an nth order image by using the following equation.
[Mathematical Expression]
Figure pat00011

Here, i (x, y) is the original image representing the current image or the reference image, O n (x, y) is the current or reference nth order image, and (x, y) is the pixel coordinate.
제1항에 있어서,
상기 n차 integral 영상 생성부는 다음의 수학식을 이용하여 현재 n차 integral 영상과 기준 n차 integral 영상을 각각 생성하는 것을 특징으로 하는 움직임 추정 장치.
[수학식]
Figure pat00012

여기서, (x,y)는 픽셀좌표, In(x,y)는 현재 또는 기준 n차 integral 영상, On(x,y)는 현재 또는 기준 n차 영상임.
The method of claim 1,
The nth order integral image generating unit generates a current nth order integral image and a reference nth order integral image by using the following equation.
[Mathematical Expression]
Figure pat00012

Here, (x, y) is the pixel coordinate, I n (x, y) is the current or reference nth integral image, and O n (x, y) is the current or reference nth order image.
제1항에 있어서,
상기 n차 모멘텀 계산부는 현재영상과 기준영상의 특정 블록 4개 좌표에서의 n차 integral 영상에 의한 다음의 수학식을 이용하여 상기 특정 블록의 면적을 구하되, 상기 특정 블록의 면적이 상기 현재영상 또는 기준영상의 특정 블록에 대한 n차 모멘텀(Mn)인 것을 특징으로 하는 움직임 추정 장치.
[수학식]
Figure pat00013

여기서, 상기 In(xe, ye)는 (xe, ye)좌표에서의 n차 integral 영상, In(xe-1, ye-1)는 (xe-1, ye-1)좌표에서의 n차 integral 영상, In(xe-1, ye)는 (xe-1, ye)좌표에서의 n차 integral 영상, In(xe, ye-1)는 (xe, ye-1) 좌표에서의 n차 integral 영상임.
The method of claim 1,
The n-th momentum calculation unit obtains an area of the specific block by using the following equation of the n-th integral image in four coordinates of a specific block of the current image and the reference image, and the area of the specific block is the current image. Or n-th momentum (M n ) with respect to a specific block of the reference image.
[Mathematical Expression]
Figure pat00013

Here, I n (x e , y e ) is an n-th integral image in (x e , y e ) coordinates, and I n (x e -1, y e -1) is (x e -1, y e N-th integral image in coordinates, I n (x e -1, y e ) is n-th integral image in coordinates (x e -1, y e ), I n (x e , y e -1 ) Is an n-th integral image at (x e , y e -1) coordinates.
제1항에 있어서,
상기 움직임 벡터 추정부는 상기 블록 정합 오차를 다음의 수학식을 이용하여 SAD 및 SSD 중 적어도 어느 하나의 값으로 산출하는 것을 특징으로 하는 움직임 추정 장치.
[수학식]
Figure pat00014

Figure pat00015

여기서 Mn,ref는 기준영상의 특정블록의 n차 모멘텀, Mn,curr는 현재영상의 특정블록의 n차 모멘텀, αn 및 ßn 는 n차 모멘텀에 대한 가중치, γ는 scale 상수임.
The method of claim 1,
The motion vector estimator calculates the block matching error as at least one of SAD and SSD using the following equation.
[Mathematical Expression]
Figure pat00014

Figure pat00015

Where M n and ref are the nth order momentum of a specific block of the reference picture, M n , curr are the nth order momentum of the specific block of the current picture, α n and ß n are the weights of the nth order momentum, and γ are the scale constants.
n차원의 현재(current)영상과 기준(reference)영상에 대한 n차 영상을 각각 생성하고, 그 n차 영상들의 면적을 구하여 n차 integral 영상을 생성한 후, 상기 n차 integral 영상들을 이용하여 현재영상 및 기준영상의 특정 블록에 대한 n차 모멘텀을 각각 구하고, 상기 현재영상과 기준영상의 특정 블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 움직임 추정부;
상기 추정된 움직임 벡터를 이용하여 상기 기준영상으로부터 상기 현재영상에 대한 예측영상을 생성하는 움직임 보상부;
상기 현재영상으로부터 상기 생성된 예측 영상을 감산함으로써 상기 현재 영상과 상기 예측 영상의 차이를 생성하는 감산부; 및
상기 생성된 현재 영상과 예측 영상의 차이를 부호화하는 부호화부;
를 포함하는 고속 움직임 추정을 위한 영상 부호화 장치.
After generating the n-th order image of the current image and the reference image of the n-dimensional, respectively, the area of the n-th image is generated to generate the n-th integral image, the current using the n-th integral image Obtains n-th order momentum of a specific block of an image and a reference image, obtains a block matching error by using a difference between the n-th order momentum of a specific block of the current image and a reference image, and coordinates of blocks having a minimum block matching error. A motion estimator for estimating a difference as a motion vector;
A motion compensator configured to generate a predicted image of the current image from the reference image by using the estimated motion vector;
A subtraction unit configured to generate a difference between the current image and the prediction image by subtracting the generated prediction image from the current image; And
An encoder which encodes a difference between the generated current image and a predicted image;
An image encoding apparatus for fast motion estimation comprising a.
n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성하는 단계;
상기 현재 n차 영상들의 면적을 구하여 현재 n차 integral 영상과 상기 기준 n차 영상들의 면적을 구하여 기준 n차 integral 영상을 생성하는 단계;
상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구하는 단계;
상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하는 단계; 및
상기 구해진 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 단계;
를 포함하는 고속 움직임 추정 방법.
generating a current nth order image and a reference nth order image, each pixel value of the n-dimensional current image and the reference image as n times the pixel value;
Generating a reference nth integral image by obtaining areas of the current nth order images and obtaining areas of the current nth order integral image and the reference nth order images;
Obtaining n-th order momentum of a specific block of a current image using the current n-th integral image, and obtaining n-th momentum of a specific block of a reference image using the reference n-th integral image;
Obtaining a block matching error using a difference between an n th order moment for a specific block of the current image and an n th order momentum for a specific block of the reference image; And
Estimating a coordinate difference between blocks having the minimum block matching error as a motion vector;
Fast motion estimation method comprising a.
KR1020110072892A 2011-07-06 2011-07-22 Apparatus and Method for fast motion estimation KR101786957B1 (en)

Priority Applications (10)

Application Number Priority Date Filing Date Title
KR1020110072892A KR101786957B1 (en) 2011-07-22 2011-07-22 Apparatus and Method for fast motion estimation
EP16204373.1A EP3171603A1 (en) 2011-07-06 2012-05-02 Method, and device and method for estimating high-speed movement for image encoding
PCT/KR2012/003410 WO2013005917A1 (en) 2011-07-06 2012-05-02 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement
CN201610810849.4A CN106131572B (en) 2011-07-06 2012-05-02 The picture coding device, motion estimation device and method of movement are estimated at high speed
US14/131,068 US9769511B2 (en) 2011-07-06 2012-05-02 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement
CN201710219659.XA CN106875416B (en) 2011-07-06 2012-05-02 User terminal and multicast-based content receiving method of user terminal
EP12806939.0A EP2731278A4 (en) 2011-07-06 2012-05-02 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement
CN201280033573.3A CN103650375B (en) 2011-07-06 2012-05-02 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement
US14/568,628 US9355461B2 (en) 2011-07-06 2014-12-12 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement
US15/673,034 US10341704B2 (en) 2011-07-06 2017-08-09 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110072892A KR101786957B1 (en) 2011-07-22 2011-07-22 Apparatus and Method for fast motion estimation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020160142457A Division KR101786921B1 (en) 2016-10-28 2016-10-28 Apparatus and Method for fast motion estimation

Publications (2)

Publication Number Publication Date
KR20130011610A true KR20130011610A (en) 2013-01-30
KR101786957B1 KR101786957B1 (en) 2017-10-18

Family

ID=47840539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110072892A KR101786957B1 (en) 2011-07-06 2011-07-22 Apparatus and Method for fast motion estimation

Country Status (1)

Country Link
KR (1) KR101786957B1 (en)

Also Published As

Publication number Publication date
KR101786957B1 (en) 2017-10-18

Similar Documents

Publication Publication Date Title
JP5669278B2 (en) Method for coding a block of an image sequence and method for reconstructing this block
KR101429407B1 (en) Video coding apparatus, video coding method and computer readable recording medium
JP5277257B2 (en) Video decoding method and video encoding method
KR100803611B1 (en) Method and apparatus for encoding video, method and apparatus for decoding video
EP2805499B1 (en) Video decoder, video encoder, video decoding method, and video encoding method
KR20130085838A (en) Video coding method and apparatus using weighted prediction
JP2014195145A (en) Moving image encoding device, moving image decoding device, moving image encoding method, moving image decoding method, and program
KR20120098500A (en) Method for transforming and inverse-transforming image, and apparatus using the same
KR20230098527A (en) Methods and apparatus for video transform encoding/decoding
KR20110114429A (en) Method and apparatus for transforming image, and method and apparatus for inverse-transforming image
JP2018074491A (en) Dynamic image encoding device, dynamic image encoding method, and dynamic image encoding program
KR20130046377A (en) Methods for coding and reconstructing a pixel block and corresponding devices
KR20080064011A (en) Method of estimating motion vector considering the size of neighboring partition, apparatus, encoder, decoder and decoding method
KR20120080552A (en) Video coding and decoding method and apparatus using adaptive motion vector coding/encoding
JP5832263B2 (en) Image coding apparatus and image coding method
KR101786921B1 (en) Apparatus and Method for fast motion estimation
KR20090117858A (en) Method and apparatus for encoding/decoding interlace scanning image using motion vector transformation
KR20160128972A (en) Apparatus and method for profile based motion estimation
KR101786957B1 (en) Apparatus and Method for fast motion estimation
JP5281597B2 (en) Motion vector prediction method, motion vector prediction apparatus, and motion vector prediction program
KR0152014B1 (en) Method and apparauts for moving estimation in image data compression
KR20190050207A (en) System and method for motion estimation for high-performance hevc encoder
JP6004852B2 (en) Method and apparatus for encoding and reconstructing pixel blocks
KR101895822B1 (en) Apparatus and method for profile based motion estimation
WO2013002219A1 (en) Video encoding device, video decoding device, video encoding method, video decoding method , video encoding program, video decoding program

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant