KR101895822B1 - Apparatus and method for profile based motion estimation - Google Patents

Apparatus and method for profile based motion estimation Download PDF

Info

Publication number
KR101895822B1
KR101895822B1 KR1020170071559A KR20170071559A KR101895822B1 KR 101895822 B1 KR101895822 B1 KR 101895822B1 KR 1020170071559 A KR1020170071559 A KR 1020170071559A KR 20170071559 A KR20170071559 A KR 20170071559A KR 101895822 B1 KR101895822 B1 KR 101895822B1
Authority
KR
South Korea
Prior art keywords
profile
image
horizontal
vertical
hcur
Prior art date
Application number
KR1020170071559A
Other languages
Korean (ko)
Other versions
KR20170069970A (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 KR1020170071559A priority Critical patent/KR101895822B1/en
Publication of KR20170069970A publication Critical patent/KR20170069970A/en
Application granted granted Critical
Publication of KR101895822B1 publication Critical patent/KR101895822B1/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/537Motion estimation other than block-based
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/423Methods 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 characterised by memory arrangements
    • H04N19/426Methods 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 characterised by memory arrangements using memory downsizing methods
    • 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/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

Landscapes

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

Abstract

본 발명은 프로파일 정보 기반 움직임 추정장치 및 방법에 관한 것으로서, 기준영상과 현재영상을 입력 받아 기준영상의 수평 프로파일 영상과 현재영상의 수평 프로파일 영상을 생성하는 수평 프로파일 영상생성부; 상기 기준영상과 현재영상을 입력 받아 기준영상의 수직 프로파일 영상과 현재영상의 수직 프로파일 영상을 생성하는 수직 프로파일 영상생성부; 상기 기준영상의 수평 프로파일 영상과 수직 프로파일 영상을 입력 받아 기준영상 내 블록의 기준블록 프로파일을 생성하고, 상기 현재영상의 수평 프로파일 영상과 수직 프로파일 영상을 입력 받아 현재영상 내 블록의 현재블록 프로파일을 생성하는 블록 프로파일 계산부; 및 상기 기준블록 프로파일과 현재블록 프로파일 간의 차이를 계산하여 프로파일 간 차이가 가장 작은 블록의 좌표 차를 움직임 벡터로 예측하는 움직임 벡터 추정부를 포함한다.The present invention relates to a profile information-based motion estimation apparatus and method, and more particularly, to a horizontal profile image generation unit that receives a reference image and a current image and generates a horizontal profile image of the reference image and a horizontal profile image of the current image. A vertical profile image generation unit receiving the reference image and the current image and generating a vertical profile image of the reference image and a vertical profile image of the current image; A horizontal profile image and a vertical profile image of the reference image are received and a reference block profile of a block in the reference image is generated and a horizontal profile image and a vertical profile image of the current image are input to generate a current block profile of a current intra- A block profile calculation unit for calculating a block profile; And a motion vector estimator for calculating a difference between the reference block profile and the current block profile to predict a coordinate difference of a block having the smallest difference between the profiles as a motion vector.

Figure 112017054588215-pat00002
Figure 112017054588215-pat00002

Description

프로파일 정보 기반 움직임 추정장치 및 방법{Apparatus and method for profile based motion estimation}[0001] Apparatus and method for profile-based motion estimation [

본 발명은 프로파일 정보 기반 움직임 추정장치 및 방법에 관한 것으로서, 보다 상세하게는, 블록 정합을 위한 움직임 벡터 추정 시 기준(reference) 영상과 현재(current) 영상에 대해 프로파일(profile) 영상을 생성하여 각 블록의 후보 움직임 벡터에 대해 전체 픽셀이 아닌 프로파일 정보만을 비교하여 움직임 벡터를 예측하도록 함으로써, 움직임 예측을 위한 연산량을 감소시켜 고속 인코딩이 가능하도록 하는 프로파일 정보 기반 움직임 추정장치 및 방법에 관한 것이다.The present invention relates to a profile information-based motion estimation apparatus and method, and more particularly, to a profile information-based motion estimation apparatus and method for generating a profile image for a reference image and a current image when estimating a motion vector for block matching, And more particularly, to a profile information-based motion estimation apparatus and method for reducing a computation amount for motion prediction and enabling high-speed encoding by comparing only profile information with respect to a candidate motion vector of a block so as to predict a motion vector.

멀티미디어를 지원해주는 핵심 요소로는 디지털화와 더불어 영상 압축 기술이 있다. 최근 들어 정보의 디지털화가 급속도로 발전하고 있으며, 이에 따라 영상 압축 기술이 매우 중요하게 부각되고 있다.A key element that supports multimedia is image compression technology along with digitalization. In recent years, digitization of information is rapidly developing, and image compression technology is becoming very important.

일반적으로, PC나 HDTV, 혹은, 모바일 디바이스 등의 디지털 영상장치는 MPEG(Moving Picture Experts Group)-2, MPEG-4, H. 264와 같은 영상 압축 방식으로 압축된 영상신호를 MPEG기반 영상 코덱으로 인코딩하여 표시한다. In general, a digital video device such as a PC, an HDTV, or a mobile device converts an image signal compressed by an image compression method such as MPEG (Moving Picture Experts Group) -2, MPEG-4, or H. 264 into an MPEG-based image codec And displays it by encoding.

이러한 영상 코덱은 블록 정합(Block matching) 방식을 기반으로 시간적인 중복성을 제거한다. 블록 정합 방식은 영상을 작은 블록으로 나누고, 현재 인코딩/디코딩되는 영상의 블록과 유사한 부분을 시간적으로 이전 프레임 또는 이전에 인코딩/디코딩된 영상에서 찾아서 활용하고 그 차이값을 전송하는 방법으로 압축하게 된다. This video CODEC eliminates temporal redundancy based on the block matching method. In the block matching method, the image is divided into small blocks, and a portion similar to a block of the current encoded / decoded image is temporally compressed in a method of finding and utilizing a previous frame or a previously encoded / decoded image and 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 referred to as Motion Estimation (ME), and a motion vector (MV) indicating a displacement, .

블록 정합 방식을 이용한 중간 영상 프레임 Fi 합성 개념은 도 1과 같다.The concept of intermediate image frame Fi synthesis using the block matching method is shown in FIG.

도 1에 도시된 바와 같이, 이전 프레임 Fn-1과 현재 프레임 Fn 사이의 중간 영상 프레임 Fi를 합성하기 위해, 이전 프레임 Fn-1에 있는 블록과 현재 프레임에 있는 블록 Fn 간의 움직임 벡터(MV)의 움직임을 추정하여 중간 영상 프레임 Fi의 블록을 합성한다.1, in order to synthesize an intermediate image frame Fi between a previous frame Fn-1 and a current frame Fn, a motion vector MV between a block in a previous frame Fn-1 and a block Fn in the current frame Motion estimation is performed to synthesize blocks of the intermediate image frame Fi.

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

H.264의 경우, SAD 또는 SSD와 함께 움직임 벡터를 전송하는 데 요구되는 데이터량을 함께 고려한 값을 cost로 하여 cost가 가장 낮은 값을 보이는 움직임 벡터를 움직임 예측에 사용한다.In the case of H.264, a motion vector with the lowest cost is used for motion estimation with a 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%까지의 연산을 차지할 정도로 많은 연산량으로, 시스템 부하를 유발하고 처리 속도를 지연시키는 문제점이 있다.Here, in order to find a motion vector, it is necessary to calculate SAD or SSD for all the motion search areas, and find a position having the minimum value among them. For example, if the block size is N x N and the motion search area is 32x32, 1024 * (2NxN-1) addition / subtraction operations are required. If the image size is about 100Nx80N, 8192000 * (2NxN- . This causes a problem of causing a system load and delaying the processing speed due to a large amount of computation to occupy an operation up to 50% in the image encoding.

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

본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로서, 블록 정합을 위한 움직임 벡터 추정 시 기준(reference) 영상과 현재(current) 영상에 대해 프로파일(profile) 영상을 생성하여 각 블록의 후보 움직임 벡터에 대해 전체 픽셀이 아닌 프로파일 정보만을 비교하여 움직임 벡터를 예측하도록 함으로써, 움직임 예측을 위한 연산량을 감소시켜 고속 영상 인코딩이 가능하도록 하는 프로파일 정보 기반 움직임 추정장치 및 방법을 제공하는데 그 기술적 과제가 있다.SUMMARY OF THE INVENTION The present invention has been conceived to solve the problems described above, and it is an object of the present invention to provide a method and apparatus for generating a profile image for a reference image and a current image, The present invention also provides a profile information-based motion estimation apparatus and method for estimating a motion vector by comparing only profile information with respect to all pixels, thereby reducing the amount of calculation for motion prediction and enabling high-speed image encoding.

상술한 목적을 달성하기 위한 본 발명의 프로파일 정보 기반 움직임 추정방법은, (a) 수평 프로파일 영상 생성부와 수직 프로파일 영상 생성부가 기준영상 버퍼로부터 이전 시점의 영상인 기준영상을 입력 받고, 현재영상 버퍼로부터 현재 시점의 영상인 현재영상을 입력 받는 단계; (b) 수평 프로파일 영상 생성부가 상기 기준영상과 상기 현재영상의 각 수평라인에 대해 동일한 수평라인 상에서 화소값을 합산하여 기준영상의 수평 프로파일과 현재영상의 수평 프로파일을 각각 생성하는 단계; (c) 수직 프로파일 영상 생성부가 상기 기준영상과 상기 현재영상의 각 수직라인에 대해 동일한 수직라인 상에서 화소값을 합산하여 기준영상의 수직 프로파일과 현재영상의 수직 프로파일을 각각 생성하는 단계; (d) 블록 프로파일 계산부가 상기 기준영상의 수평 프로파일 및 수직 프로파일을 이용하여 기준영상 내의 블록에 대한 수평 프로파일(Href(i))과 수직 프로파일(Vref(i))을 산출하고, 상기 현재영상의 수평 프로파일 및 수직 프로파일을 이용하여 현재영상 내의 블록에 대한 수평 프로파일(Hcur(i))과 수직 프로파일(Vcur(i))을 산출하는 단계; (e) 움직임 벡터 추정부가 상기 기준영상 내의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상 내의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i))을 이용하여, 상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i)) 간의 차이값을 각각 산출하는 단계; (f) 움직임 벡터 추정부가 산출한 상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i) 및 수직 프로파일(Vcur(i)) 간의 차이값이 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a profile information-based motion estimation method comprising the steps of: (a) receiving a reference image, which is a previous view image, from a reference image buffer, Receiving a current image, which is a current time image, from the current image; (b) generating a horizontal profile of the reference image and a horizontal profile of the current image by summing pixel values on the same horizontal line for each horizontal line of the reference image and the current image, respectively; (c) generating a vertical profile of a reference image and a vertical profile of a current image by summing pixel values on the same vertical line for each vertical line of the reference image and the current image, respectively; (d) calculating a horizontal profile (Href (i)) and a vertical profile (Vref (i)) of the block in the reference image using the horizontal profile and the vertical profile of the reference image, Calculating a horizontal profile (Hcur (i)) and a vertical profile (Vcur (i)) for the block in the current image using the horizontal profile and the vertical profile; (i) a vertical profile (Href (i)) and a horizontal profile (Hcur (i)) for a block in the current image, and a vertical profile (I)) and the horizontal profile (Hcur (i)) for the block of the current image, using the horizontal profile (Href (i)) and the vertical profile (Vref And a vertical profile (Vcur (i)), respectively; (i)) and a horizontal profile (Hcur (i)) of the block of the current image calculated by the motion vector estimation unit and a horizontal profile (Href (i)) and a vertical profile And estimating a coordinate difference of blocks having a minimum difference value between the profiles (Vcur (i)) as a motion vector.

여기서, 상기 (d) 단계는 상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i))을 다음의 수학식을 이용하여 산출하는 단계를 포함할 수 있다.Here, the step (d) may include calculating a horizontal profile Href (i) and a vertical profile Vref (i) of a block of the reference image, a horizontal profile Hcur (i) And calculating the profile (Vcur (i)) using the following equation.

[수학식][Mathematical Expression]

Href(i) = Href(x+X,y+Y+i) - Href(x+X-N, y+Y+i)Href (x) = Href (x + X, y + Y + i)

Vref(i) = Vref(x+X+i,y+Y) - Href(x+X+i,y+Y-N)Vref (i) = Vref (x + X + i, y + Y) - Href (x + X + i, y +

Hcur(i) = Hcur(x,y+i) - Hcur(x-N,y+i)Hcur (i) = Hcur (x, y + i) - Hcur (x-N, y + i)

Vcur(i) = Vcur(x+i,y) - Hcur(x+i,y-N)Vcur (i) = Vcur (x + i, y) - Hcur (x + i,

(여기서, (x,y)는 블록의 시작 픽셀의 좌표이고, (X,Y)는 움직임 벡터, N은 블록의 가로 및 세로의 픽셀 크기)(X, Y) is the motion vector, and N is the pixel size in the horizontal and vertical directions of the block)

상기 (e) 단계는 상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i)) 간의 차이값을 다음의 수학식을 이용하여 SAD (Sum of Absolute Difference) 또는 SSD(Sum of Square Difference) 값으로 산출하는 단계를 포함할 수 있다.(I)) and a horizontal profile (Hcur (i)) for a block of the current image and a vertical profile (Hcur (i)) for a block of the reference image. Vcur (i)) as a Sum of Absolute Difference (SAD) or Sum of Square Difference (SSD) value using the following equation.

[수학식][Mathematical Expression]

SAD = {∑|Href(i) - Hcur(i)| + ∑|Vref(i) - Vcur(i)|}xαSAD = {? | Href (i) - Hcur (i) | +? | Vref (i) - Vcur (i) |} x?

SSD = {∑|Href(i) - Hcur(i)|2 + ∑|Vref(i) - Vcur(i)|2}xαSSD = {? | Href (i) - Hcur (i) | 2 +? Vref (i) - Vcur (i) | 2 } x?

(여기서, α는 스케일 상수로써 N/2(N=자연수))(Where N is a scale constant and N is a natural number)

상술한 목적을 달성하기 위한 본 발명의 프로파일 정보 기반 움직임 추정장치는, 이전 시점의 영상인 기준영상 신호를 출력하는 기준영상 버퍼; 현재 시점의 영상인 현재영상 신호를 출력하는 현재영상 버퍼; 상기 기준영상과 상기 현재영상을 입력 받고, 상기 기준영상과 상기 현재영상의 각 수평라인에 대해 동일한 수평라인 상에서 화소값을 합산하여 기준영상의 수평 프로파일과 현재영상의 수평 프로파일을 각각 생성하는 수평 프로파일 영상 생성부; 상기 기준영상과 상기 현재영상을 입력 받고, 상기 기준영상과 상기 현재영상의 각 수직라인에 대해 동일한 수직라인 상에서 화소값을 합산하여 기준영상의 수직 프로파일과 현재영상의 수직 프로파일을 각각 생성하는 수직 프로파일 영상 생성부; 상기 기준영상의 수평 프로파일 및 수직 프로파일을 이용하여 기준영상 내의 블록에 대한 수평 프로파일(Href(i))과 수직 프로파일(Vref(i))을 산출하고, 상기 현재영상의 수평 프로파일 및 수직 프로파일을 이용하여 현재영상 내의 블록에 대한 수평 프로파일(Hcur(i))과 수직 프로파일(Vcur(i))을 산출하는 블록 프로파일 계산부; 상기 기준영상 내의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상 내의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i)) 간의 차이값을 각각 산출하고, 산출한 차이값이 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 움직임 벡터 추정부를 포함할 수 있다.According to an aspect of the present invention, there is provided a profile information-based motion estimation apparatus including a reference image buffer for outputting a reference image signal, A current image buffer for outputting a current image signal which is a current time image; A horizontal profile that receives the reference image and the current image and generates a horizontal profile of the reference image and a horizontal profile of the current image by summing the pixel values on the same horizontal line for each horizontal line of the reference image and the current image, An image generation unit; A vertical profile that receives the reference image and the current image and generates a vertical profile of the reference image and a vertical profile of the current image by summing pixel values on the same vertical line for each vertical line of the reference image and the current image, An image generation unit; (Href (i)) and a vertical profile (Vref (i)) for a block in the reference image using the horizontal profile and the vertical profile of the reference image, and using the horizontal profile and the vertical profile of the current image A block profile calculation unit for calculating a horizontal profile (Hcur (i)) and a vertical profile (Vcur (i)) for a block in the current image; Between the horizontal profile Href (i) and the vertical profile Vref (i) for the block in the reference image and the horizontal profile Hcur (i) and the vertical profile Vcur (i) for the block in the current image And a motion vector estimator for calculating a difference value and estimating a coordinate difference of blocks having the calculated difference value as a motion vector.

여기서, 상기 블록 프로파일 계산부는 상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i))을 다음의 수학식을 이용하여 산출할 수 있다.Here, the block profile calculation unit may calculate a horizontal profile (Hcur (i)) and a vertical profile (Hcur (i)) for a block of the current image, (Vcur (i)) can be calculated using the following equation.

[수학식][Mathematical Expression]

Href(i) = Href(x+X,y+Y+i) - Href(x+X-N, y+Y+i)Href (x) = Href (x + X, y + Y + i)

Vref(i) = Vref(x+X+i,y+Y) - Href(x+X+i,y+Y-N)Vref (i) = Vref (x + X + i, y + Y) - Href (x + X + i, y +

Hcur(i) = Hcur(x,y+i) - Hcur(x-N,y+i)Hcur (i) = Hcur (x, y + i) - Hcur (x-N, y + i)

Vcur(i) = Vcur(x+i,y) - Hcur(x+i,y-N)Vcur (i) = Vcur (x + i, y) - Hcur (x + i,

(여기서, (x,y)는 블록의 시작 픽셀의 좌표이고, (X,Y)는 움직임 벡터, N은 블록의 가로 및 세로의 픽셀 크기)(X, Y) is the motion vector, and N is the pixel size in the horizontal and vertical directions of the block)

상기 움직임 벡터 추정부는 상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i)) 간의 차이값을 다음의 수학식을 이용하여 SAD (Sum of Absolute Difference) 또는 SSD(Sum of Square Difference) 값으로 산출할 수 있다.The motion vector estimation unit may calculate a horizontal profile Hcur (i) and a vertical profile Vcur (i) for the block of the current image and a horizontal profile Hcur (i)) can be calculated as a Sum of Absolute Difference (SAD) or a Sum of Square Difference (SSD) value using the following equation.

[수학식][Mathematical Expression]

SAD = {∑|Href(i) - Hcur(i)| + ∑|Vref(i) - Vcur(i)|}xα SAD = {? | Href (i) - Hcur (i) | +? | Vref (i) - Vcur (i) |} x?

SSD = {∑|Href(i) - Hcur(i)|2 + ∑|Vref(i) - Vcur(i)|2}xα SSD = {? | Href (i) - Hcur (i) | 2 +? Vref (i) - Vcur (i) | 2 } x?

(여기서, α는 스케일 상수로써 N/2(N=자연수))(Where N is a scale constant and N is a natural number)

상술한 바와 같이 본 발명의 프로파일 정보 기반 움직임 추정장치 및 방법은, 블록 정합을 위한 움직임 벡터 추정 시 기준(reference) 영상과 현재(current) 영상에 대해 프로파일(profile) 영상을 생성하여 각 블록의 후보 움직임 벡터에 대해 전체 픽셀이 아닌 프로파일 정보만을 비교하여 움직임 벡터를 예측하도록 함으로써, 움직임 예측을 위한 연산량을 감소시켜 고속 영상 인코딩이 가능케 한다.As described above, the profile information-based motion estimation apparatus and method according to the present invention generate a profile image for a reference image and a current image when estimating a motion vector for block matching, The motion vector is predicted by comparing only the profile information of the motion vector with respect to the entirety of the motion vector, thereby reducing the amount of calculation for motion prediction, thereby enabling high-speed image encoding.

도 1은 블록 정합 방식을 이용한 움직임 벡터 예측 상태도,
도 2는 본 발명에 따른 프로파일 정보 기반 움직임 추정장치의 제어 블록도,
도 3은 본 발명에 따른 프로파일 정보 기반 움직임 추정방법의 흐름도이다.
FIG. 1 is a diagram illustrating a motion vector prediction state using a block matching method,
FIG. 2 is a control block diagram of a profile information-based motion estimation apparatus according to the present invention.
3 is a flowchart of a profile information-based motion estimation method according to the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 보다 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 프로파일 정보 기반 움직임 추정장치의 제어 블록도이다.2 is a control block diagram of a profile information-based motion estimation apparatus according to the present invention.

도 2에 도시된 바와 같이, 본 발명의 움직임 추정장치는, 기준영상 버퍼(100), 현재영상 버퍼(110), 수평 프로파일 영상생성부(120), 수직 프로파일 영상생성부(130), 블록 프로파일 계산부(140), 움직임 벡터 추정부(150), 움직임 벡터 저장부(160)를 포함한다.2, the motion estimation apparatus of the present invention includes a reference image buffer 100, a current image buffer 110, a horizontal profile image generating unit 120, a vertical profile image generating unit 130, A calculation unit 140, a motion vector estimation unit 150,

기준영상 버퍼(100)는 기준영상 신호를 출력하고, 현재영상 버퍼(110)는 현재영상 신호를 출력한다. 기준영상은 현재영상보다 시간적으로 이전의 영상, 혹은, 인코딩/디코딩 순서에서 이 전에 처리된 영상을 뜻한다.The reference image buffer 100 outputs a reference image signal, and the current image buffer 110 outputs a current image signal. The reference image refers to an image temporally prior to the current image, or a previously processed image in the encoding / decoding order.

수평 프로파일 영상생성부(120)는 기준영상과 현재영상에 대해 각각의 수평 프로파일 영상을 생성한다. 수평 프로파일은 영상의 2차원의 영상에서 동일한 수평라인의 화소값을 합산하여 산출된 1차원 정보이다. The horizontal profile image generating unit 120 generates horizontal profile images for the reference image and the current image, respectively. The horizontal profile is one-dimensional information calculated by summing the pixel values of the same horizontal line in the two-dimensional image of the image.

수평 프로파일 영상생성부(120)는 기준영상 버퍼(100)에서 출력된 기준영상의 각 수평라인에 대해 동일한 수평라인 상에서의 화소값을 합산하여 기준영상의 수평 프로파일로 출력한다. The horizontal profile image generation unit 120 sums the pixel values on the same horizontal line with respect to each horizontal line of the reference image output from the reference image buffer 100, and outputs the sum as a horizontal profile of the reference image.

또한, 수평 프로파일 영상생성부(120)는 현재영상 버퍼(110)에서 출력된 현재영상의 각 수평라인에 대해 동일한 수평라인 상에서의 화소값을 합산하여 현재영상의 수평 프로파일로 출력한다.Also, the horizontal profile image generation unit 120 sums the pixel values on the same horizontal line with respect to each horizontal line of the current image output from the current image buffer 110, and outputs the sum as a horizontal profile of the current image.

수직 프로파일 영상생성부(130)는 기준영상과 현재영상에 대해 각각의 수직 프로파일 영상을 생성한다. 수직 프로파일은 영상의 2차원의 영상에서 동일한 수직라인의 화소값을 합산하여 산출된 1차원 정보이다. The vertical profile image generation unit 130 generates vertical profile images for the reference image and the current image, respectively. The vertical profile is one-dimensional information calculated by summing the pixel values of the same vertical line in the two-dimensional image of the image.

수직 프로파일 영상생성부(130)는 기준영상 버퍼(100)에서 출력된 기준영상의 각 수직라인에 대해 동일한 수직라인 상에서의 화소값을 합산하여 기준영상의 수직 프로파일로 출력한다. The vertical profile image generation unit 130 sums the pixel values on the same vertical line for each vertical line of the reference image output from the reference image buffer 100 and outputs the sum as a vertical profile of the reference image.

또한, 수직 프로파일 영상생성부(130)는 현재영상 버퍼(110)에서 출력된 현재영상의 각 수직라인에 대해서도 동일한 수직라인 상에서의 화소값을 합산하여 현재영상의 수직 프로파일로 출력한다.Also, the vertical profile image generator 130 sums the pixel values on the same vertical line for each vertical line of the current image output from the current image buffer 110, and outputs the sum as a vertical profile of the current image.

수평 프로파일 영상과 수직 프로파일 영상을 생성하는 수학식은 다음과 같다.The following equations are used to generate the horizontal profile image and the vertical profile image.

[수학식 1][Equation 1]

H(X,y) =∑XI(x,y) H (X, y) = Σ X I (x, y)

[수학식 2]&Quot; (2) "

V(x,Y) =∑YI(x,y)V (x, Y) = Σ Y I (x, y)

여기서 (x,y)는 block의 시작 픽셀의 좌표이고, (X,Y)는 움직임 벡터, N은 블록의 가로 및 세로의 픽셀 크기이다.Where (x, y) is the coordinates of the starting pixel of the block, (X, Y) is the motion vector, and N is the pixel size in the horizontal and vertical directions of the block.

블록 프로파일 계산부(140)는 현재영상과 기준영상 내 블록의 수평 프로파일과 수직 프로파일을 계산한다. The block profile calculation unit 140 calculates a horizontal profile and a vertical profile of a current image and a block in the reference image.

블록 프로파일 계산부(140)는 수평 프로파일 영상생성부(120)에서 출력된 기준영상의 수평 프로파일과, 수직 프로파일 영상생성부(130)에서 출력된 기준영상의 수직 프로파일을 이용하여, 기준영상 내 블록의 수평 프로파일과 수직 프로파일을 산출한다.The block profile calculation unit 140 calculates the block profile of the reference image using the horizontal profile of the reference image output from the horizontal profile image generation unit 120 and the vertical profile of the reference image output from the vertical profile image generation unit 130, Lt; / RTI >

블록 프로파일 계산부(140)는 움직임 탐색 영역 내의 각 후보 움직임 벡터에 대한 기준영상 내 블록의 수평 프로파일과 수직 프로파일을 다음의 수학식 3 및 수학식 4를 이용하여 계산한다.The block profile calculation unit 140 calculates a horizontal profile and a vertical profile of a block in the reference image for each candidate motion vector in the motion search area using Equations (3) and (4) below.

[수학식 3]&Quot; (3) "

Href(i) = Href(x+X,y+Y+i) - Href(x+X-N, y+Y+i)Href (x) = Href (x + X, y + Y + i)

[수학식 4]&Quot; (4) "

Vref(i) = Vref(x+X+i,y+Y) - Href(x+X+i,y+Y-N)Vref (i) = Vref (x + X + i, y + Y) - Href (x + X + i, y +

또한, 블록 프로파일 계산부(140)는 수평 프로파일 영상생성부(120)에서 출력된 현재영상의 수평 프로파일과, 수직 프로파일 영상생성부(130)에서 출력된 현재영상의 수직 프로파일을 이용하여, 현재영상 내 블록의 수평 프로파일과 수직 프로파일을 산출한다.The block profile calculating unit 140 may calculate the current profile of the current image using the horizontal profile of the current image output from the horizontal profile image generating unit 120 and the vertical profile of the current image output from the vertical profile image generating unit 130, The horizontal and vertical profiles of the blocks are calculated.

블록 프로파일 계산부(140)는 움직임 탐색 영역 내의 각 후보 움직임 벡터에 대한 현재영상 내 블록의 수평 프로파일과 수직 프로파일을 다음의 수학식 5 및 수학식 6을 이용하여 계산한다.The block profile calculation unit 140 calculates a horizontal profile and a vertical profile of the current intra-image block for each candidate motion vector in the motion search area using Equations (5) and (6) below.

[수학식 5]&Quot; (5) "

Hcur(i) = Hcur(x,y+i) - Hcur(x-N,y+i)Hcur (i) = Hcur (x, y + i) - Hcur (x-N, y + i)

[수학식 6]&Quot; (6) "

Vcur(i) = Vcur(x+i,y) - Hcur(x+i,y-N)Vcur (i) = Vcur (x + i, y) - Hcur (x + i,

움직임 벡터 추정부(150)는 블록 프로파일의 계산 결과를 이용하여 움직임 예측정보, 예컨대, SAD(Sum of Absolute Difference) 또는, SSD(Sum of Square Difference)를 산출한다. 움직임 벡터 추정부(130)는 해당 블록의 각 후보 움직임벡터에 대응하는 cost 중 최소의 cost값에 해당하는 후보움직임벡터(MV)를 해당 블록의 최종 움직임벡터(MV)로 추정한다. 움직임 벡터 추정부(150)는 현재 블록의 수평/수직 프로파일과 기준블록의 수평/수직 프로파일을 다음의 수학식 7 및 수학식 8에 적용하여 SAD 및 SSD를 산출할 수 있다.The motion vector estimation unit 150 calculates motion prediction information, for example, a sum of absolute difference (SAD) or a sum of square difference (SSD), using the calculation result of the block profile. The motion vector estimator 130 estimates a candidate motion vector MV corresponding to a minimum cost among the costs corresponding to each candidate motion vector of the corresponding block as a final motion vector MV of the corresponding block. The motion vector estimator 150 may calculate SAD and SSD by applying the horizontal / vertical profile of the current block and the horizontal / vertical profile of the reference block to Equation (7) and Equation (8).

[수학식 7]&Quot; (7) "

SAD = {∑|Href(i) - Hcur(i)| + ∑|Vref(i) - Vcur(i)|}xα SAD = {? | Href (i) - Hcur (i) | +? | Vref (i) - Vcur (i) |} x?

[수학식 8]&Quot; (8) "

SSD = {∑|Href(i) - Hcur(i)|2 + ∑|Vref(i) - Vcur(i)|2}xαSSD = {? | Href (i) - Hcur (i) | 2 +? Vref (i) - Vcur (i) | 2 } x?

여기서 α는 스케일 상수로써 N/2(N=자연수)으로 설정될 수 있다.Where alpha is a scale constant and can be set to N / 2 (N = natural number).

움직임 벡터 추정부(150)는 수학식 7 및 수학식 8을 이용하여 SAD 또는 SSD가 최소가 되는 영역과의 좌표 차를 움직임 벡터로 추정한다. The motion vector estimating unit 150 estimates a coordinate difference between a region where the SAD or the SSD is minimized as a motion vector using Equations (7) and (8).

움직임 벡터 저장부(160)에는 추정된 움직임 벡터들이 저장된다.The motion vector storage unit 160 stores the estimated motion vectors.

이상 설명한 바와 같이, 본 발명에서는 기준영상과 현재영상에 대해 프로파일 영상을 한 번 만들면 전체 블록에 대해 공통으로 적용할 수 있고, 실제 각 블록의 후보 움직임 벡터에 대해서는 전체 픽셀이 아닌 프로파일 정보만 비교하므로 NxN 크기의 블록 비교시 (2NxN-1)번의 연산이 4N으로 감소하여 연산시간의 감소를 가져온다. As described above, in the present invention, if a profile image is generated once for the reference image and the current image, it can be applied to all the blocks in common, and only the profile information is compared with the candidate motion vector of each block (2NxN-1) operations are reduced to 4N at the time of NxN block comparison, resulting in a reduction in computation time.

예컨대, N이 8인 경우 종래기술에 따르면 127번의 연산이 필요하지만, 본 발명의 경우 32번으로 감소하므로 제안한 방법은 약 4배의 속도 향상을 가져온다. For example, if N is 8, 127 operations are required according to the prior art, but in the case of the present invention, the number of operations is reduced to 32, so that the proposed method achieves a speed improvement of about 4 times.

도 3은 본 발명에 따른 프로파일 정보 기반 움직임 추정방법의 흐름도이다.3 is a flowchart of a profile information-based motion estimation method according to the present invention.

먼저, 기준영상 버퍼(100)와 현재영상 버퍼(110)를 통해 기준영상과 현재영상이 입력된다(S110). 기준영상은 현재영상보다 시간적으로 이전의 영상, 혹은, 인코딩/디코딩 순서에서 이 전에 처리된 영상을 뜻하며, 각 영상은 매크로블록으로 분할된다.First, the reference image and the current image are input through the reference image buffer 100 and the current image buffer 110 (S110). The reference image refers to an image temporally previous to the current image or an image processed before encoding / decoding order, and each image is divided into macroblocks.

기준영상의 수평 프로파일 영상과 수직 프로파일 영상을 생성한다(S112). 수평/수직 프로파일 영상생성부(120, 130)는 기준영상의 수평 프로파일 영상을 생성하는 데에는 전술한 수학식 1을 적용하고, 수직 프로파일 영상을 생성하는 데에는 수학식 2를 적용할 수 있다. A horizontal profile image and a vertical profile image of the reference image are generated (S112). The horizontal / vertical profile image generating units 120 and 130 may apply Equation (1) to generate the horizontal profile image of the reference image and Equation (2) to generate the vertical profile image.

현재영상의 수평 프로파일 영상과 수직 프로파일 영상을 생성한다(S114). 수평/수직 프로파일 영상생성부(120, 130)는 현재영상의 수평 프로파일 영상과 수직 프로파일 영상을 생성하는 데에도 전술한 수학식 1 및 수학식 2를 적용할 수 있다. A horizontal profile image and a vertical profile image of the current image are generated (S114). The horizontal / vertical profile image generators 120 and 130 may apply Equations (1) and (2) to generate the horizontal profile image and the vertical profile image of the current image.

기준영상 내 블록에 대해 블록 프로파일을 계산한다. 여기서, 기준영상 블록 프로파일은 기준영상 블록의 수평 프로파일 및 수직 프로파일을 포함한다(S116). 이에, 블록 프로파일 계산부(140)는 수학식 3 및 수학식 4를 적용하여 기준영상 블록 프로파일을 산출될 수 있다. The block profile is calculated for the blocks in the reference image. Here, the reference image block profile includes a horizontal profile and a vertical profile of the reference image block (S116). Accordingly, the block profile calculation unit 140 can calculate the reference image block profile by applying Equations (3) and (4).

현재영상 내 블록에 대해 블록 프로파일을 계산한다. 여기서, 현재영상 블록 프로파일은 현재영상 블록의 수평 프로파일 및 수직 프로파일을 포함한다(S118). 이에, 블록 프로파일 계산부(140)는 수학식 5 및 수학식 6을 적용하여 현재영상 블록 프로파일을 산출될 수 있다. The block profile is calculated for the current block in the image. Here, the current image block profile includes a horizontal profile and a vertical profile of the current image block (S118). Accordingly, the block profile calculation unit 140 may calculate the current image block profile by applying Equations (5) and (6).

기준영상 블록 프로파일과 현재영상 블록 프로파일의 오차 값을 산출한다(S120). 움직임 벡터 추정부(150)는 정합 오차 값을 계산하여 오차값이 최소가 되는 기준 블록과 현재 블록의 좌표 차를 움직임 벡터로 추정한다. 오차 값을 계산하는 데에는 수학식 7을 이용하여 SAD를 산출하거나, 수학식 8을 이용하여 SSD를 산출할 수 있다. An error value between the reference image block profile and the current image block profile is calculated (S120). The motion vector estimator 150 calculates a matching error value and estimates a coordinate difference between the reference block and the current block having the minimum error value as a motion vector. To calculate the error value, SAD can be calculated using Equation (7) or SSD can be calculated using Equation (8).

이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.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.

본 발명은 블록 정합을 위한 움직임 벡터 추정 시 기준(reference) 영상과 현재(current) 영상에 대해 프로파일(profile) 영상을 생성하여 각 블록의 후보 움직임 벡터에 대해 전체 픽셀이 아닌 프로파일 정보만을 비교하여 움직임 벡터를 예측하도록 함으로써, 움직임 예측을 위한 연산량을 감소시켜 고속 인코딩이 가능하도록 하는 프로파일 정보 기반 움직임 추정장치 및 방법에 이용할 수 있다.The present invention generates a profile image for a reference image and a current image when estimating a motion vector for block matching and compares only the profile information of the candidate motion vector of each block, The present invention can be applied to a profile information-based motion estimation apparatus and method for reducing a calculation amount for motion prediction and enabling high-speed encoding.

100 : 기준영상 버퍼
110 : 현재영상 버퍼
120 : 수평 프로파일 영상생성부
130 : 수직 프로파일 영상생성부
140 : 블록 프로파일 계산부
150 : 움직임 벡터 추정부
160 : 움직임 벡터 저장부
100: Reference image buffer
110: current image buffer
120: horizontal profile image generating unit
130: Vertical profile image generating unit
140: block profile calculation unit
150: motion vector estimator
160: a motion vector storage unit

Claims (6)

(a) 수평 프로파일 영상 생성부와 수직 프로파일 영상 생성부가 기준영상 버퍼로부터 이전 시점의 영상인 기준영상을 입력 받고, 현재영상 버퍼로부터 현재 시점의 영상인 현재영상을 입력 받는 단계;
(b) 수평 프로파일 영상 생성부가 상기 기준영상과 상기 현재영상의 각 수평라인에 대해 동일한 수평라인 상에서 화소값을 합산하여 기준영상의 수평 프로파일과 현재영상의 수평 프로파일을 각각 생성하는 단계;
(c) 수직 프로파일 영상 생성부가 상기 기준영상과 상기 현재영상의 각 수직라인에 대해 동일한 수직라인 상에서 화소값을 합산하여 기준영상의 수직 프로파일과 현재영상의 수직 프로파일을 각각 생성하는 단계;
(d) 블록 프로파일 계산부가 상기 기준영상의 수평 프로파일 및 수직 프로파일을 이용하여 기준영상 내의 블록에 대한 수평 프로파일(Href(i))과 수직 프로파일(Vref(i))을 산출하고, 상기 현재영상의 수평 프로파일 및 수직 프로파일을 이용하여 현재영상 내의 블록에 대한 수평 프로파일(Hcur(i))과 수직 프로파일(Vcur(i))을 산출하는 단계;
(e) 움직임 벡터 추정부가 상기 기준영상 내의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상 내의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i))을 이용하여, 상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i)) 간의 차이값을 각각 산출하는 단계;
(f) 움직임 벡터 추정부가 산출한 상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i) 및 수직 프로파일(Vcur(i)) 간의 차이값이 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 단계;
를 포함하고,
상기 기준영상 및 현재영상은 매크로블록으로 분할되며,
상기 (b) 단계는
상기 기준영상의 수평 프로파일과 현재영상의 수평 프로파일을
"H(X,y) =∑XI(x,y)"
에 따라 생성하고,
상기 (c) 단계는
상시 기준영상의 수직 프로파일과 현재영상의 수직 프로파일을
"V(x,Y) =∑YI(x,y)"
에 따라 생성하고,
상기 (d) 단계는
상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i))을 다음의 수학식을 이용하여 산출하는 것을 특징으로 하는 프로파일 정보 기반 움직임 추정방법.
[수학식]
Href(i) = Href(x+X,y+Y+i) - Href(x+X-N, y+Y+i)
Vref(i) = Vref(x+X+i,y+Y) - Href(x+X+i,y+Y-N)
Hcur(i) = Hcur(x,y+i) - Hcur(x-N,y+i)
Vcur(i) = Vcur(x+i,y) - Hcur(x+i,y-N)
(여기서, (x,y)는 블록의 시작 픽셀의 좌표이고, (X,Y)는 움직임 벡터, N은 블록의 가로 및 세로의 픽셀 크기)

(a) a horizontal profile image generating unit and a vertical profile image generating unit receiving a reference image, which is a previous view image, from a reference image buffer and receiving a current image, which is a current view image, from a current image buffer;
(b) generating a horizontal profile of the reference image and a horizontal profile of the current image by summing pixel values on the same horizontal line for each horizontal line of the reference image and the current image, respectively;
(c) generating a vertical profile of a reference image and a vertical profile of a current image by summing pixel values on the same vertical line for each vertical line of the reference image and the current image, respectively;
(d) calculating a horizontal profile (Href (i)) and a vertical profile (Vref (i)) of the block in the reference image using the horizontal profile and the vertical profile of the reference image, Calculating a horizontal profile (Hcur (i)) and a vertical profile (Vcur (i)) for the block in the current image using the horizontal profile and the vertical profile;
(i) a vertical profile (Href (i)) and a horizontal profile (Hcur (i)) for a block in the current image, and a vertical profile (I)) and the horizontal profile (Hcur (i)) for the block of the current image, using the horizontal profile (Href (i)) and the vertical profile (Vref And a vertical profile (Vcur (i)), respectively;
(i)) and a horizontal profile (Hcur (i)) of the block of the current image calculated by the motion vector estimation unit and a horizontal profile (Href (i)) and a vertical profile Estimating a coordinate difference of blocks having a minimum difference value between the profiles (Vcur (i)) as a motion vector;
Lt; / RTI >
The reference image and the current image are divided into macroblocks,
The step (b)
The horizontal profile of the reference image and the horizontal profile of the current image
"H (X, y) = X I (x, y)"
, ≪ / RTI >
The step (c)
The vertical profile of the constant reference image and the vertical profile of the current image
"V (x, Y) = Σ Y I (x, y)"
, ≪ / RTI >
The step (d)
A horizontal profile Hcur (i) and a vertical profile Vcur (i) for the block of the current image and a horizontal profile Hcur (i) and a vertical profile Vcur Wherein the motion vector is calculated using the following equation.
[Mathematical Expression]
Href (x) = Href (x + X, y + Y + i)
Vref (i) = Vref (x + X + i, y + Y) - Href (x +
Hcur (i) = Hcur (x, y + i) - Hcur (xN, y + i)
Vcur (i) = Vcur (x + i, y) - Hcur (x + i, yN)
(X, Y) is the motion vector, and N is the pixel size in the horizontal and vertical directions of the block)

삭제delete ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 3 is abandoned due to the registration fee. 제1항에 있어서,
상기 (e) 단계는
상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i)) 간의 차이값을 다음의 수학식을 이용하여 SAD (Sum of Absolute Difference) 또는 SSD(Sum of Square Difference) 값으로 산출하는 것을 특징으로 하는 프로파일 정보 기반 움직임 추정방법.
[수학식]
SAD = {∑|Href(i) - Hcur(i)| + ∑|Vref(i) - Vcur(i)|}xα
SSD = {∑|Href(i) - Hcur(i)|2 + ∑|Vref(i) - Vcur(i)|2}xα
(여기서, α는 스케일 상수로써 N/2(N=자연수))
The method according to claim 1,
The step (e)
Between the horizontal profile Href (i) and the vertical profile Vref (i) of the block of the reference image and the horizontal profile Hcur (i) and the vertical profile Vcur (i) Wherein the difference value is calculated as a Sum of Absolute Difference (SAD) or a Sum of Square Difference (SSD) value using the following equation.
[Mathematical Expression]
SAD = {? | Href (i) - Hcur (i) | +? | Vref (i) - Vcur (i) |} x?
SSD = {? | Href (i) - Hcur (i) | 2 +? Vref (i) - Vcur (i) | 2 } x?
(Where N is a scale constant and N is a natural number)
이전 시점의 영상인 기준영상 신호를 출력하는 기준영상 버퍼;
현재 시점의 영상인 현재영상 신호를 출력하는 현재영상 버퍼;
상기 기준영상과 상기 현재영상을 입력 받고, 상기 기준영상과 상기 현재영상의 각 수평라인에 대해 동일한 수평라인 상에서 화소값을 합산하여 기준영상의 수평 프로파일과 현재영상의 수평 프로파일을 각각 생성하는 수평 프로파일 영상 생성부;
상기 기준영상과 상기 현재영상을 입력 받고, 상기 기준영상과 상기 현재영상의 각 수직라인에 대해 동일한 수직라인 상에서 화소값을 합산하여 기준영상의 수직 프로파일과 현재영상의 수직 프로파일을 각각 생성하는 수직 프로파일 영상 생성부;
상기 기준영상의 수평 프로파일 및 수직 프로파일을 이용하여 기준영상 내의 블록에 대한 수평 프로파일(Href(i))과 수직 프로파일(Vref(i))을 산출하고, 상기 현재영상의 수평 프로파일 및 수직 프로파일을 이용하여 현재영상 내의 블록에 대한 수평 프로파일(Hcur(i))과 수직 프로파일(Vcur(i))을 산출하는 블록 프로파일 계산부;
상기 기준영상 내의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상 내의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i)) 간의 차이값을 각각 산출하고, 산출한 차이값이 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 움직임 벡터 추정부;
를 포함하고,
상기 기준영상 및 현재영상은 매크로블록으로 분할되며,
상기 수평 프로파일 영상 생성부는
상기 기준영상의 수평 프로파일과 현재영상의 수평 프로파일을
"H(X,y) =∑XI(x,y)"
에 따라 생성하고,
상기 수직 프로파일 영상 생성부는
상시 기준영상의 수직 프로파일과 현재영상의 수직 프로파일을
"V(x,Y) =∑YI(x,y)"
에 따라 생성하고,
상기 블록 프로파일 계산부는
상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i))을 다음의 수학식을 이용하여 산출하는 것을 특징으로 하는 프로파일 정보 기반 움직임 추정장치.
[수학식]
Href(i) = Href(x+X,y+Y+i) - Href(x+X-N, y+Y+i)
Vref(i) = Vref(x+X+i,y+Y) - Href(x+X+i,y+Y-N)
Hcur(i) = Hcur(x,y+i) - Hcur(x-N,y+i)
Vcur(i) = Vcur(x+i,y) - Hcur(x+i,y-N)
(여기서, (x,y)는 블록의 시작 픽셀의 좌표이고, (X,Y)는 움직임 벡터, N은 블록의 가로 및 세로의 픽셀 크기)
A reference image buffer for outputting a reference image signal which is a video image at a previous time point;
A current image buffer for outputting a current image signal which is a current time image;
A horizontal profile that receives the reference image and the current image and generates a horizontal profile of the reference image and a horizontal profile of the current image by summing the pixel values on the same horizontal line for each horizontal line of the reference image and the current image, An image generation unit;
A vertical profile that receives the reference image and the current image and generates a vertical profile of the reference image and a vertical profile of the current image by summing pixel values on the same vertical line for each vertical line of the reference image and the current image, An image generation unit;
(Href (i)) and a vertical profile (Vref (i)) for a block in the reference image using the horizontal profile and the vertical profile of the reference image, and using the horizontal profile and the vertical profile of the current image A block profile calculation unit for calculating a horizontal profile (Hcur (i)) and a vertical profile (Vcur (i)) for a block in the current image;
Between the horizontal profile Href (i) and the vertical profile Vref (i) for the block in the reference image and the horizontal profile Hcur (i) and the vertical profile Vcur (i) for the block in the current image A motion vector estimator for calculating a difference value and estimating a coordinate difference of blocks having the calculated difference value as a motion vector;
Lt; / RTI >
The reference image and the current image are divided into macroblocks,
The horizontal profile image generation unit
The horizontal profile of the reference image and the horizontal profile of the current image
"H (X, y) = X I (x, y)"
, ≪ / RTI >
The vertical profile image generation unit
The vertical profile of the constant reference image and the vertical profile of the current image
"V (x, Y) = Σ Y I (x, y)"
, ≪ / RTI >
The block profile calculation unit
A horizontal profile Hcur (i) and a vertical profile Vcur (i) for the block of the current image and a horizontal profile Hcur (i) and a vertical profile Vcur Wherein the motion vector is calculated using the following equation.
[Mathematical Expression]
Href (x) = Href (x + X, y + Y + i)
Vref (i) = Vref (x + X + i, y + Y) - Href (x +
Hcur (i) = Hcur (x, y + i) - Hcur (xN, y + i)
Vcur (i) = Vcur (x + i, y) - Hcur (x + i, yN)
(X, Y) is the motion vector, and N is the pixel size in the horizontal and vertical directions of the block)
삭제delete ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 6 is abandoned due to the registration fee. 제4항에 있어서,
상기 움직임 벡터 추정부는
상기 기준영상의 블록에 대한 수평 프로파일(Href(i)) 및 수직 프로파일(Vref(i))과 상기 현재영상의 블록에 대한 수평 프로파일(Hcur(i)) 및 수직 프로파일(Vcur(i)) 간의 차이값을 다음의 수학식을 이용하여 SAD (Sum of Absolute Difference) 또는 SSD(Sum of Square Difference) 값으로 산출하는 것을 특징으로 하는 프로파일 정보 기반 움직임 추정장치.
[수학식]
SAD = {∑|Href(i) - Hcur(i)| + ∑|Vref(i) - Vcur(i)|}xα
SSD = {∑|Href(i) - Hcur(i)|2 + ∑|Vref(i) - Vcur(i)|2}xα
(여기서, α는 스케일 상수로써 N/2(N=자연수))
5. The method of claim 4,
The motion vector estimation unit
Between the horizontal profile Href (i) and the vertical profile Vref (i) of the block of the reference image and the horizontal profile Hcur (i) and the vertical profile Vcur (i) Wherein the difference value is calculated as a Sum of Absolute Difference (SAD) or a Sum of Square Difference (SSD) value using the following equation.
[Mathematical Expression]
SAD = {? | Href (i) - Hcur (i) | +? | Vref (i) - Vcur (i) |} x?
SSD = {? | Href (i) - Hcur (i) | 2 +? Vref (i) - Vcur (i) | 2 } x?
(Where N is a scale constant and N is a natural number)
KR1020170071559A 2017-06-08 2017-06-08 Apparatus and method for profile based motion estimation KR101895822B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170071559A KR101895822B1 (en) 2017-06-08 2017-06-08 Apparatus and method for profile based motion estimation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170071559A KR101895822B1 (en) 2017-06-08 2017-06-08 Apparatus and method for profile based motion estimation

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020110073618A Division KR20130012421A (en) 2011-07-25 2011-07-25 Apparatus and method for profile based motion estimation

Publications (2)

Publication Number Publication Date
KR20170069970A KR20170069970A (en) 2017-06-21
KR101895822B1 true KR101895822B1 (en) 2018-09-07

Family

ID=59281844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170071559A KR101895822B1 (en) 2017-06-08 2017-06-08 Apparatus and method for profile based motion estimation

Country Status (1)

Country Link
KR (1) KR101895822B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040049214A (en) 2002-12-05 2004-06-11 삼성전자주식회사 Apparatus and Method for searching motion vector with high speed
KR101477009B1 (en) * 2008-02-22 2014-12-29 삼성전자 주식회사 Method and system for fast motion estimation

Also Published As

Publication number Publication date
KR20170069970A (en) 2017-06-21

Similar Documents

Publication Publication Date Title
US8274602B2 (en) Image processing apparatus and image processing method with redundant frame detection
WO2010064396A1 (en) Moving picture decoding method and moving picture encoding method
US20160080767A1 (en) Encoding system using motion estimation and encoding method using motion estimation
CN102045563A (en) Methods and apparatus for adaptively choosing a search range for motion estimation
JP4195057B2 (en) A method for determining an adaptive motion vector search region, and an image compression apparatus for determining an adaptive motion vector search region.
JP6280679B2 (en) Frame thinning device, frame interpolation device, video encoding device, video decoding device, and programs thereof
KR101810118B1 (en) Apparatus and method for profile based motion estimation
KR100254667B1 (en) Method and apparatus for detecting occulusion
KR101777776B1 (en) Apparatus and method for sampled profile based motion estimation
WO2005120075A1 (en) Method of searching for a global motion vector.
KR101895822B1 (en) Apparatus and method for profile based motion estimation
KR100810391B1 (en) Frame rate up conversion using motion interpolation
US20100309981A1 (en) Reuse of a search region in motion estimation of multiple target frames
JP5281597B2 (en) Motion vector prediction method, motion vector prediction apparatus, and motion vector prediction program
KR101787004B1 (en) Apparatus and method for sampled pixel based motion estimation
KR101781560B1 (en) Apparatus and method for sampled profile based motion estimation
JP5281596B2 (en) Motion vector prediction method, motion vector prediction apparatus, and motion vector prediction program
US20180220132A1 (en) Encoder, decoder, and encoding/decoding processing method
KR0152014B1 (en) Method and apparauts for moving estimation in image data compression
KR101798191B1 (en) Apparatus and method for sampled pixel based motion estimation
KR20130012421A (en) Apparatus and method for profile based motion estimation
JPH10191347A (en) Motion detector, motion detecting method and storage medium
KR101786921B1 (en) Apparatus and Method for fast motion estimation
KR101786957B1 (en) Apparatus and Method for fast motion estimation
JP2009124502A (en) Frame interpolation apparatus

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)