KR101451137B1 - Apparatus and method for detecting camera-shake - Google Patents
Apparatus and method for detecting camera-shake Download PDFInfo
- Publication number
- KR101451137B1 KR101451137B1 KR1020100033906A KR20100033906A KR101451137B1 KR 101451137 B1 KR101451137 B1 KR 101451137B1 KR 1020100033906 A KR1020100033906 A KR 1020100033906A KR 20100033906 A KR20100033906 A KR 20100033906A KR 101451137 B1 KR101451137 B1 KR 101451137B1
- Authority
- KR
- South Korea
- Prior art keywords
- representative
- downsampled
- motion vector
- current frame
- frame
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/254—Analysis of motion involving subtraction of images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 손떨림 검출 장치 및 방법을 개시한다.
본 발명은 다운 샘플링된 이전 프레임의 대표 픽셀 데이터와 다운 샘플링된 현재 프레임의 입력 픽셀 데이터를 이용하여 움직임 벡터를 계산하고, 손떨림 벡터를 구한다. 이로 인해 적은 메모리를 사용하여 매 프레임마다 손떨림 벡터를 실시간으로 생성할 수 있다. The present invention discloses an image shake detecting apparatus and method.
The present invention calculates a motion vector using the representative pixel data of the downsampled previous frame and the input pixel data of the downsampled current frame, and obtains the camera shake vector. Therefore, it is possible to generate the camera shake vector in real time every frame using a small amount of memory.
Description
본 발명은 영상 촬영 시에 촬영자의 손떨림 상태를 실시간으로 검출하는 손떨림 검출 장치 및 방법에 관한 것이다.The present invention relates to an image shake detecting apparatus and method for detecting a shaking state of a photographer at the time of image shooting in real time.
촬영자가 영상 처리 장치를 손으로 들고 영상을 촬영하는 경우 상하좌우로 작은 떨림 즉, 손떨림이 발생한다. 최근에는 카메라가 고배율, 고화소 되어가고 있기 때문에 이전에 비해 손떨림이 더 심해지고, 이동 중의 촬영이 많아지면서 이러한 손떨림에 관한 문제의 해결이 깨끗한 영상을 얻는데 중요한 요소가 되고 있다.When a photographer picks up an image by holding the image processing apparatus by hand, small shakes, i.e., camera shake, occur in the upper, lower, left, and right sides. In recent years, as the camera is becoming a high magnification and high-resolution image, the shaking motion becomes worse than before, and the number of shots during the movement becomes larger, so that solving the problem of such shaking motion is an important factor for obtaining a clear image.
따라서, 일반적인 영상 처리 장치는 이러한 손떨림을 보정하기 위해 손 떨림 보정 시스템을 구비하고 있다. 손떨림 보정 시스템은 손떨림이 발생한 영상을 촬영렌즈나 이미지 센서 등을 손 떨림 양만큼 보정 동작을 수행함으로써 손떨림에 의한 영상을 손떨림이 없는 영상과 같은 깨끗한 영상으로 보여준다. 이와 더불어 손떨림 보정 시스템은 손떨림을 감지하여 이를 촬영자에게 경고하는 기능을 포함하고 있다. 손떨림이 발생한 경우, 손떨림 보정 시스템은 LED를 일정시간 동안 점등 또는 점멸하여 손떨림 경고 표시를 하거나, LCD에 여러 가지 문자나 심볼로서 손떨림 경고 표시를 하고 있다.Therefore, a general image processing apparatus is equipped with a hand shake correction system for correcting such hand shake. The camera shake correction system performs a correction operation for the image of the camera shake by the amount of shaking the lens or the image sensor, thereby displaying the image caused by the camera shake as a clean image such as a camera-free image. In addition, the camera shake correction system includes a function to detect camera shake and warn the photographer. In the event of camera shake, the camera shake correction system turns on or blinks the LED for a certain period of time to display the camera shake warning, or the LCD displays camera shake warning as various characters or symbols.
손떨림 보정을 위해 손떨림을 검출하는 방법으로는 현재 프레임 영상과 이전 프레임 영상을 각각 메모리에 저장하고, 현재 프레임 영상과 이전 프레임 영상의 데이터에 대해 각 위치마다 차이값을 계산하여 손떨림 벡터를 계산하게 된다.As a method of detecting an unintentional hand movement, a current frame image and a previous frame image are respectively stored in a memory, and a difference value is calculated for data of a current frame image and a previous frame image to calculate an unintentional hand movement vector .
즉, 종래의 손떨림 검출 방법은 이전 프레임과 현재 프레임을 저장하기 위한 프레임 메모리 두 개가 필요하고, 모든 픽셀에서의 계산에 의해 계산량이 많아 동영상의 실시간 처리가 용이하지 않고 하드웨어 크기가 커지며, 빠른 클럭 스피드를 요구하게 되어 전력 소모가 증가하게 됨과 동시에 시스템 설계 복잡도도 증가하게 된다. 또한 손떨림 벡터 계산 결과값도 증가하기 때문에 이를 저장해야 하는 메모리의 용량도 커지게 된다. That is, in the conventional camera shake detection method, two frame memories for storing the previous frame and the current frame are required. Due to a large amount of calculation due to calculation in all pixels, real time processing of the moving image is not easy and the hardware size becomes large. The power consumption is increased and the system design complexity is increased. Also, since the result of the calculation of the shaking motion vector increases, the capacity of the memory to store it also increases.
본 발명은 손떨림 검출을 수행하기 위해 필요한 계산량을 줄여 메모리의 사이즈를 감소시킬 수 있는 손떨림 검출 장치 및 방법을 제공하고자 한다.An object of the present invention is to provide a camera shake detecting apparatus and method capable of reducing the size of a memory by reducing the amount of calculation required to perform shaking motion detection.
본 발명의 바람직한 일 실시예에 따른 손떨림 검출 장치는, 입력되는 현재 프레임을 다운 샘플링하는 필터; 상기 다운 샘플링된 현재 프레임을 다수의 픽셀을 포함하는 블록으로 분할하고, 블록마다 선택된 대표 픽셀의 데이터를 대표값으로 결정하는 대표값선택부; 및 상기 다운 샘플링된 현재 프레임의 입력 픽셀과 다운 샘플링된 이전 프레임의 대표 픽셀을 기초로 움직임 벡터를 추출하는 움직임벡터추출부;를 포함할 수 있다. According to another aspect of the present invention, there is provided an image shake detecting apparatus comprising: a filter for down-sampling an input current frame; A representative value selector for dividing the downsampled current frame into blocks including a plurality of pixels and determining data of representative pixels selected for each block as a representative value; And a motion vector extraction unit for extracting a motion vector based on the input pixels of the downsampled current frame and the representative pixels of the downsampled previous frame.
본 발명의 바람직한 일 실시예에 따른 손떨림 검출 방법은, 입력되는 현재 프레임을 다운 샘플링하는 단계; 상기 다운 샘플링된 현재 프레임을 다수의 픽셀을 포함하는 블록으로 분할하고, 블록마다 선택된 대표 픽셀의 데이터를 대표값으로 결정하는 단계; 및 상기 다운 샘플링된 현재 프레임의 입력 픽셀과 다운 샘플링된 이전 프레임의 대표 픽셀을 기초로 움직임 벡터를 추출하는 단계;를 포함할 수 있다. According to a preferred embodiment of the present invention, a method for detecting an unintentional hand movement includes: downsampling an input current frame; Dividing the downsampled current frame into blocks including a plurality of pixels, and determining data of a representative pixel selected for each block as a representative value; And extracting a motion vector based on the input pixel of the downsampled current frame and the representative pixel of the previous frame downsampled.
본 발명의 손떨림 검출 장치는 움직임 벡터의 신뢰도 감소를 최소한으로 줄이면서 벡터 계산량의 감소를 통해 저전력 설계, 최적의 메모리 사이즈, 실시간 동작을 달성할 수 있다.The shaking motion detection device of the present invention can achieve a low power design, an optimal memory size, and a real time operation by reducing the vector calculation amount while reducing the reliability reduction of the motion vector to a minimum.
도 1은 본 발명의 바람직한 일 실시예에 따른 손 떨림 검출 장치의 내부 구성을 개략적으로 도시한 블록도이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 대표 픽셀 선택 방법을 설명하기 위한 개략도이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 움직임 벡터 검출을 위한 대표값 비교를 설명하기 위한 개략도이다.
도 4는 본 발명의 바람직한 일 실시 예에 따른 촬영 장치의 내부 구성을 개략적으로 도시한 블록도이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 손떨림 검출 방법을 개략적으로 설명하는 흐름도이다. FIG. 1 is a block diagram schematically illustrating an internal configuration of a hand tremble detecting apparatus according to a preferred embodiment of the present invention.
2 is a schematic diagram illustrating a representative pixel selection method according to an exemplary embodiment of the present invention.
3 is a schematic diagram for explaining a representative value comparison for motion vector detection according to a preferred embodiment of the present invention.
4 is a block diagram schematically showing an internal configuration of a photographing apparatus according to a preferred embodiment of the present invention.
5 is a flowchart schematically illustrating a shaking motion detection method according to a preferred embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 바람직한 일 실시예에 따른 손떨림 검출 장치의 내부 구성을 개략적으로 도시한 블록도이다. FIG. 1 is a block diagram schematically illustrating an internal structure of an image shake detecting apparatus according to a preferred embodiment of the present invention.
본 발명은 이전 프레임과 현재 프레임 간의 움직임 벡터를 추정하여 손떨림 움직임 벡터(이하, '손떨림 벡터'라 한다)를 구한다. 손떨림 검출은 영상의 일부분에만 나타나는 피사체의 움직임을 찾는 것이 아닌 카메라 자체의 떨림으로 인한 움직임을 찾는 것이기 때문에, 손떨림 벡터는 영상 전체에 균일하게 분포하게 된다. 본 발명의 손떨림 검출 장치는 비교하는 두 프레임의 모든 픽셀에 대해 움직임 벡터를 계산하지 않고, 다운 샘플링된 이전 프레임의 대표 픽셀과 다운 샘플링된 현재 프레임의 입력 픽셀의 데이터를 이용하여 움직임 벡터를 계산하고, 손떨림 벡터를 구한다. 이로 인해 적은 메모리를 사용하여 매 프레임마다 손떨림 벡터를 실시간으로 생성할 수 있다. The present invention estimates a motion vector between a previous frame and a current frame to obtain a camera-shake motion vector (hereinafter referred to as an "camera-shake vector"). Since the shaking motion detection is not to find the motion of the subject appearing only in a part of the image but to detect the motion due to the shaking of the camera itself, the shaking motion vector is uniformly distributed over the entire image. The motion blur detection apparatus of the present invention calculates a motion vector using data of a representative pixel of a downsampled previous frame and an input pixel of a current frame downsampled without calculating a motion vector for all pixels of two frames to be compared , And the camera shake vector is obtained. Therefore, it is possible to generate the camera shake vector in real time every frame using a small amount of memory.
도 1을 참조하면, 본 발명의 손떨림 검출 장치(100)는 필터(101), 대표값 선택부(103), 대표값 저장부(105), 움직임벡터 추출부(107), 움직임벡터 저장부(108) 및 최소값 추출부(109)를 포함한다. 1, a camera
필터(101)는 안티앨리어싱(anti-aliasing)을 수행하는 제1필터(111) 및 다운샘플링(down sampling)을 수행하는 제2필터(121)를 포함한다. 상기 필터(101)는 불필요한 주파수 성분을 제거하고, 계산에 필요한 데이터 양을 줄여 전체 계산량 및 메모리 용량을 줄일 수 있도록 한다. The
제1필터(111)는 입력 영상의 앨리어싱 노이즈(aliasing noise)를 제거한다. 제1필터(111)는 FIR 필터(Finite Impulse Response Filter)와 IIR 필터(Infinite Impulse Response Filter)를 이용하여 LPF(Low-Pass Filter)와 BPF(Band Pass Filter)를 구현하며, 영상의 수평 라인(horizontal line)과 수직 라인(vertical line) 모두에 적용된다.The
제2필터(121)는 앨리어싱 노이즈가 제거된 입력 영상의 샘플링 비율(sample rate)을 낮게 변환, 즉 다운 샘플링한다. 제2필터(121)는 FIR 필터(Finite Impulse Response Filter) 등을 이용하여 구현하며, 필터의 특성과 샘플링 비율을 조절할 수 있다. 샘플링 비율은 노이즈 및 샘플링 데이터(sampling data)의 대표값이 저장되는 대표값 저장부(105)의 크기를 고려하여 결정할 수 있다.The
대표값 선택부(103)는 입력 프레임에서 소정 개수의 대표 픽셀을 선택하고, 선택된 대표 픽셀의 데이터를 대표값으로 결정한다. 대표값 선택부(103)는 다운 샘플링된 입력 프레임을 다수의 블록으로 분할하고, 다수의 픽셀로 구성된 각 블록에서 대표 픽셀을 선택한다. 현재 프레임과 이전 프레임의 모든 영상 데이터를 비교하여 움직임 벡터를 계산하는 경우 계산량이 많기 때문에 프레임을 구성하는 각 블록에서 대표 픽셀을 선택하고, 상기 대표 픽셀의 픽셀 데이터, 즉, 대표값을 결정한다. 상기 픽셀 데이터는 휘도 레벨일 수 있다. 선택되는 대표 픽셀 또는 대표값의 개수는 움직임 벡터의 신뢰도 및 대표값 저장부(105)의 크기를 고려하여 결정할 수 있다. 대표값 선택부(103)는, 도 2에 도시된 바와 같이, 예를 들어, 입력 프레임을 (m x ℓ) 픽셀 영역을 하나의 블록으로 분할하고, (m x ℓ) 픽셀 영역마다 하나의 대표 픽셀(RP)을 선택하고, 대표 픽셀(RP)의 데이터를 대표값으로 결정한다. 도 2의 실시예에서는 각 블록의 첫번째 픽셀을 대표 픽셀로 선택하고, 그 데이터를 대표값으로 선택하고 있다. 그러나, 본 발명은 이에 한정되지 않고, 블록 내 임의의 위치의 픽셀을 대표 픽셀로 선택하고 그 데이터를 대표값으로 결정할 수 있고, 각 블록마다 대표 픽셀의 위치가 상이할 수 있다. The representative
대표값 저장부(105)는 제1저장부(미도시)와 제2저장부(미도시)를 포함한다. 상기 제1저장부와 제2저장부는 입력되는 프레임의 대표값을 번갈아 교대로 저장한다. 예를 들어, (n-1)번째 프레임의 대표값이 제1저장부에 저장되고, n번째 프레임의 대표값이 제2저장부에 저장되고, (n+1)번째 프레임의 대표값이 제1저장부에 저장되고, (n+2)번째 프레임의 대표값이 제2저장부에 저장된다. 따라서, 제1저장부와 제2저장부는 2프레임마다 대표값을 덮어쓰게 된다. 상기 제1저장부와 제2저장부는 2개의 메모리 또는 1개의 메모리를 2개의 영역으로 구분하여 구현될 수 있다. The representative
대표값 저장부(105)는 다운 샘플링된 현재 프레임(이하, '현재 프레임'이라 함)에서 결정된 대표값을 상기 제1저장부와 제2저장부 중 해당 저장부에 저장함과 동시에 상기 제1저장부와 제2저장부 중 다른 저장부에 저장된 다운 샘플링된 이전 프레임(이하, '이전 프레임'이라 함)의 대표값을 움직임벡터 추출부(107)로 출력한다. 예를 들어, 대표값 저장부(105)는 n번째 프레임의 대표값을 제2저장부에 저장함과 동시에 제1저장부에 저장된 (n-1)번째 프레임의 대표값을 움직임벡터 추출부(107)로 출력한다. 즉, 대표값 저장부(105)는 독립적인 2개의 메모리를 사용하여 병렬처리함으로써 실시간 움직임 벡터 계산을 가능하게 한다.The representative
움직임벡터 추출부(Moving Vector Extractor)(107)는 현재 프레임의 픽셀 데이터와 이전 프레임의 대표값을 기초로 움직임 벡터를 추출한다. 움직임벡터 추출부(107)는 비교부(117) 및 누적부(127)를 포함한다. The
비교부(117)는 필터(101)에서 출력되는 다운 샘플링된 현재 프레임을 입력받고, 대표값 저장부(105)에서 출력되는 다운 샘플링된 이전 프레임의 대표값을 입력받는다. 비교부(117)는 현재 프레임의 입력 픽셀 데이터와 다운 샘플링된 이전 프레임의 대표값을 차분한다. 비교부(123)는 이전 프레임의 대표 픽셀들 중 현재 프레임의 입력 픽셀 주변의 하나 이상의 대표 픽셀들의 대표값을 현재 프레임의 입력 픽셀 데이터와 동시에 비교한다. 입력 픽셀의 위치에 따라 비교되는 대표값들은 달라지나, 동일 블록에 속하는 입력 픽셀들과 비교되는 대표값들은 동일하다. 임의의 입력 픽셀 1개에 대해 동시에 병렬로 계산되는 이전 프레임의 대표값들의 개수 및 대표값들 간의 균일한 위치는 움직임 벡터의 정밀도와 보상할 벡터의 크기에 관련되며, 또한 이전 프레임의 대표값을 저장하는 메모리의 사이즈와 동시 계산되는 계산량을 결정한다. The
도 3을 참조하여 비교부(117)의 동작을 살펴보면, n번째 프레임은 (m x ℓ) 픽셀 영역을 포함하는 다수의 블록들로 분할된다. 상기 다수의 분할된 블록들 중 블록(A)에 속하는 임의의 입력 픽셀(B)에 대해, (n-1)번째 프레임에서 공간적으로 대응하는 블록(A')의 대응 좌표(B')를 기준으로 주변의 대표 픽셀(RP)들이 입력 픽셀(B)와 동시 비교된다. 도 3의 실시예에서는 대표값 마스크 윈도우(M)에 표시된 상하좌우 9개씩의 대표 픽셀(RP)들의 대표값, 즉, 총 36개의 대표값이 입력 픽셀(B)과 비교된다.Referring to FIG. 3, the operation of the comparing
누적부(127)는 비교부(117)에서 동시에 계산된 결과를 이전 픽셀까지 계산되어 누적된 누적값에 합산한다. 임의의 입력 픽셀의 좌표를 (0,0)으로 하고 상기 임의의 입력 픽셀과 대표 픽셀의 좌표 차이, 또는 상기 대표 픽셀의 좌표를 (0,0)으로 하고 상기 대표 픽셀과 상기 임의의 입력 픽셀의 좌표 차이가 움직임 벡터가 된다. 따라서, 누적부(127)는 동일한 움직임 벡터가 추출되는 입력 픽셀들에 대해 계산된 차분값을 누적한다. The
움직임벡터 저장부(108)는 다수의 메모리로 구성되고, 움직임 벡터를 메모리 어드레스로 하여 상기 움직임 벡터와 누적값을 저장하며, 프레임 단위로 리셋된다. 현재 입력 픽셀에 대한 정밀도와 보상할 벡터의 크기에 따라 동시 계산해야 하는 대표 픽셀의 개수가 정해지고, 동시에 계산된 값을 저장하기 위한 메모리의 개수가 정해질 수 있다. 각 메모리는 보상하고자 하는 손떨림 벡터의 특정 영역을 담당하게 된다. 메모리의 깊이(depth)는 추출하는 움직임 벡터의 크기에 따라 결정된다. 그리고, 다운 샘플링된 영상의 크기에 따라 누적 횟수가 결정되고, 누적 횟수에 따라 저장 공간인 메모리의 폭(width)이 결정된다. 따라서, 움직임벡터 저장부(108)는 필터(101), 대표값 선택부(103), 대표값 저장부(105)와 연계되어 설계된다. 움직임벡터 저장부(108)를 구성하는 메모리는 실험적으로 구해진 최적화된 값으로 설정할 수 있다. 이는 입력되는 전체 프레임(full frame)의 전체 픽셀에 대해 계산되면 움직임 벡터의 정밀도가 높아지나 움직임 벡터 계산량과 메모리 사이즈의 증가가 요구되기 때문이다. 또한 다양한 사이즈의 입력 영상에 대해 대응하기 위해 각 영상의 특성에 따라 메모리의 사용을 제어할 수 있다.The motion
상기 실시예에서는 누적부(127)와 움직임 벡터 저장부(108)를 분리하여 설명하였으나, 누적부(127)가 누적 연산과 동시에 저장하는 기능을 통합하여 수행할 수 있음은 물론이다. Although the
최소값 추출부(Minimum Value Search)(109)는 움직임벡터 저장부(108)로부터 최소 누적값을 갖는 해당 메모리 영역과 해당 어드레스를 추출한다. 해당 메모리 영역과 해당 어드레스를 사용하여 최소 누적값을 갖는 움직임 벡터를 손떨림 벡터로 추출한다. 이때, 현재 프레임의 마지막 픽셀에 대한 누적 처리가 끝나고, 최소 누적값을 추출하게 되면, 다음 프레임의 첫번째 픽셀이 입력되기 전에 현재 프레임에 대한 손떨림 벡터 추출이 끝나야 하는 처리 시간 제한이 발생한다. 따라서, 최소값 추출부(109)는 현재 프레임의 마지막 픽셀의 누적 처리 종료 여부와 관계없이 누적 처리가 끝난 메모리 영역부터 최소 누적값 추출 처리를 실행한다. 이로 인해 현재 프레임의 마지막 픽셀의 누적값이 움직임벡터 저장부(108)에 저장됨과 동시에 현재 프레임의 손떨림 벡터 추출이 완료될 수 있게 되어, 다음 프레임의 첫번째 픽셀이 입력되기 전까지 처리 시간을 최소화할 수 있다. 최소값 추출부(129)는 영상 특성에 따라 다양한 정보를 추출하기 위해 한 개 또는 병렬적으로 독립적인 다수 개로 운영되어 특정 영역에서의 최소 누적값 및 관련 파라미터를 각각 추출할 수 있다. A minimum value search unit (109) extracts a corresponding memory area having a minimum accumulated value from the motion vector storage unit (108) and a corresponding address. A motion vector having a minimum cumulative value is extracted as a camera shake vector using the memory area and the corresponding address. At this time, when the accumulation process for the last pixel of the current frame is finished and the minimum accumulation value is extracted, a processing time limit for completing the extraction of the shaking motion vector for the current frame occurs before the first pixel of the next frame is input. Therefore, the minimum
최소값 추출부(129)로부터 추출된 움직임 벡터와 움직임벡터 저장부(108)로부터의 관련 파라미터는 제어부(미도시) 또는 중앙 관제 마이콤(MICOM)으로 전달되고, 제어부(미도시) 또는 중앙 관제 마이콤(MICOM)에서는 수신한 데이터를 기초로 최종 손떨림 벡터를 결정하고, 프레임 메모리에 저장된 현재 프레임의 원본에서 손떨림으로 추정되는 움직임 벡터를 보상한 프레임을 최종 출력한다. The motion vector extracted from the minimum value extraction unit 129 and related parameters from the motion
도 4는 본 발명의 바람직한 일 실시 예에 따른 촬영 장치의 내부 구성을 개략적으로 도시한 블록도이다. 4 is a block diagram schematically showing an internal configuration of a photographing apparatus according to a preferred embodiment of the present invention.
본 발명의 촬영 장치는 디지털 카메라를 예로서 설명하겠으나, 본 발명은 정지영상 및 동영상을 비롯하여 디지털 영상 처리를 수행하는 핸드폰, 카메라, 캠코더, 감시 카메라, 로봇, PDA(personal digital assistants), PMP(personal multimedia player) 등 다양한 디지털 이미지 처리 장치를 포함한다. A camera, a camcorder, a surveillance camera, a robot, a personal digital assistant (PDA), a personal digital assistant (PMP) (personal digital assistant multimedia player, and the like.
도 4를 참조하면, 본 발명을 구현할 수 있는 촬영 장치(1)는 광학부(20), 촬상소자(30), 촬상소자 제어부(35), 디지털 신호 처리부(DSP, 50), 조작부(60) 및 표시부(70) 포함할 수 있다. 4, a photographing
광학부(20)는 피사체로부터의 입력된 광학 신호를 촬상소자(30)로 제공한다. The
상기 광학부(20)를 투과한 광학 신호는 촬상소자(30)의 수광면에 이르러 피사체의 상을 결상한다. 상기 촬상소자(30)는 광학 신호를 전기 신호로 변환하는 CCD(Charge Coupled Device) 또는 CIS(Complementary Metal Oxide Semiconductor Image Sensor) 등을 사용할 수 있다. 이와 같은 촬상소자(30)는 촬상소자 제어부(35)에 의해 감도 등이 조절될 수 있다. 촬상소자 제어부(35)도 실시간으로 입력되는 영상 신호에 의해 자동으로 생성되는 제어 신호 또는 사용자의 조작에 의해 수동으로 입력되는 제어 신호에 따라 촬상소자(30)를 제어할 수 있다. The optical signal transmitted through the
조작부(60)는 사용자 등의 외부로부터의 제어 신호를 입력할 수 있는 곳이다. 조작부(60)는 다양한 버튼의 형태를 가질 수도 있지만, 이에 한정되는 것은 아니며, 키보드, 터치 패드, 터치 스크린, 리모트 컨트롤러 등과 같이 사용자가 입력할 수 있는 어떠한 형태로 구현되어도 무방하다. The
표시부(70)는 디지털 촬영 장치(1)의 동작 상태 또는 디지털 촬영 장치(1)에서 촬영한 이미지 정보를 표시한다. 표시부(70)는 시각적인 정보 및/또는 청각적인 정보를 사용자에게 제공할 수 있으며, 표시부(70)는 액정 디스플레이 패널(LCD), 유기 발광 디스플레이 패널(OLED), 전기 영동 디스플레이 패널(EPD) 등으로 이루어질 수 있다. 표시부(70)는 사용자의 터치를 통하여 입력을 받을 수 있도록 터치스크린 형태로 구비되어, 조작부(60)와 더불어 사용자 입력 인터페이스로서 동작할 수 있다. The
디지털 신호 처리부(50)는 상기 디지털 촬영 장치(1)로 입력되는 영상 신호를 처리하고, 이에 따라 또는 외부 입력 신호에 따라 각 구성 요소들을 제어한다. 상기 디지털 신호 처리부(50)는 촬상소자(30), 표시부(70) 등과 전기적으로 연결되며, 각각의 구성 요소의 작동을 제어하기 위해 이들 구성 요소와 제어 신호를 주고받거나, 데이터를 처리하는 등의 기능을 수행한다. 상기 디지털 신호 처리부(50)는 마이크로 칩이나, 마이크로 칩을 구비하는 회로 보드로 구현될 수 있으며, 디지털 신호 처리부(50)에 포함되는 각 구성 요소들은 디지털 신호 처리부(50)에 내장되는 소프트웨어나 회로들에 의해 구현될 수 있다. 상기 디지털 신호 처리부(50)는 본 발명의 손떨림 검출 장치가 구현된 손떨림 검출부(55)를 포함하며, 촬영한 영상의 움직임을 검출하고 손떨림 벡터를 추출함으로써 손떨림이 보정된 영상 데이터를 표시부(70)로 출력한다. 상기 손떨림 검출부(55)는 입력 프레임을 다운 샘플링하고, 다운 샘플링한 프레임에서 대표점으로 지정한 위치의 픽셀 데이터만을 메모리에 저장함과 동시에 이전 프레임에 대하여 저장된 다운 샘플링된 대표 픽셀 데이터와 현재 프레임의 다운 샘플링된 입력 픽셀 데이터를 사용하여 현재 프레임의 움직임 벡터를 계산한다. 따라서, 적은 용량의 메모리로 손떨림을 검출할 수 있다.The digital
도 5는 본 발명의 바람직한 일 실시예에 따른 손떨림 검출 방법을 개략적으로 설명하는 흐름도이다. 5 is a flowchart schematically illustrating a shaking motion detection method according to a preferred embodiment of the present invention.
도 5를 참조하면, 손떨림 검출 장치는 입력 영상 프레임의 앨리어싱 노이즈를 제거하고, 샘플림 비율을 조절하여 다운 샘플링한다(S601).Referring to FIG. 5, the shaking motion detecting device removes aliasing noise of an input image frame and down-samples the adjusted rim ratio (S601).
이후, 다운 샘플링된 현재 프레임에서 대표값을 선택한다(S603). 손 떨림 검출 장치는 입력 프레임을 다수의 블록으로 분할하고, 다수의 픽셀로 구성된 각 블록에서 대표 픽셀을 선택한다. 선택된 대표 픽셀의 픽셀 데이터는 대표값으로 결정되어 저장된다. Thereafter, a representative value is selected from the downsampled current frame (S603). The hand trembling detecting apparatus divides an input frame into a plurality of blocks and selects a representative pixel in each block composed of a plurality of pixels. The pixel data of the selected representative pixel is determined and stored as a representative value.
손떨림 검출 장치는 다운 샘플링된 현재 프레임의 입력 픽셀 데이터와 다운 샘플링된 이전 프레임의 대표값을 기초로 움직임 벡터를 추출한다(S605). 움직임 벡터는 현재 프레임의 입력 픽셀과 이전 프레임의 대표 픽셀 간의 좌표 변화이다. 손떨림 검출 장치는 다운 샘플링된 현재 프레임의 각 픽셀 데이터를 다운 샘플링된 이전 프레임의 대표값과 비교하여 차분을 계산하고, 움직임 벡터가 동일한 입력 픽셀들에 대해 계산된 차분을 누적한다. 하나의 입력 픽셀 데이터는 이전 프레임에서 대응하는 좌표 주변의 하나 이상의 대표 픽셀들의 대표값들과 비교된다. The shaking motion detection device extracts a motion vector based on the input pixel data of the downsampled current frame and the representative value of the previous downsampled frame (S605). The motion vector is the coordinate change between the input pixel of the current frame and the representative pixel of the previous frame. The shaking motion detecting device compares each pixel data of the downsampled current frame with a representative value of a previous downsampled frame to calculate a difference and accumulates the calculated difference for the same input pixels. One input pixel data is compared with the representative values of one or more representative pixels around the corresponding coordinate in the previous frame.
손떨림 검출 장치는 상기 누적값이 최소가 되는 해당 움직임 벡터를 손떨림 벡터로 추출한다(S607). 손 떨림 검출 장치는 움직임 벡터 저장 영역인 메모리를 대표 픽셀의 좌표 및/또는 대표 픽셀의 개수를 기초로 다수 구비하고, 각 메모리 영역에서 누적값이 최소가 되는 움직임 벡터를 추출할 수 있다. The shaking motion detecting device extracts the corresponding motion vector having the minimum cumulative value as the camera shake vector (S607). The hand trembling detecting apparatus may include a plurality of memories, which are motion vector storage regions, based on the coordinates of representative pixels and / or the number of representative pixels, and extract a motion vector having a minimum cumulative value in each memory region.
추출된 움직임 벡터와 관련 파라미터를 기초로 제어부에서는 최종 손떨림 벡터를 결정하고, 현재 프레임의 원본 데이터에서 손떨림으로 추정되는 움직임 벡터를 보상한 프레임을 최종 출력한다. Based on the extracted motion vector and related parameters, the control unit determines the final motion vector, and finally outputs a frame obtained by compensating a motion vector estimated as a motion vector of the current frame.
본 발명의 손 떨림 검출 장치 및 방법은 감시용 카메라, 디지털카메라, 디지털캠코더 등 카메라 시스템을 사용하는 분야에 적용이 가능하다. 본 발명은 디지털이 아닌 하드웨어적으로 손떨림을 검출함으로써, 성능상 열화가 적으면서 계산량을 줄여 메모리의 사용을 적게 할 수 있어, 가격 절감 효과가 크다.The hand shake detection apparatus and method of the present invention can be applied to a field of using a camera system such as a surveillance camera, a digital camera, and a digital camcorder. By detecting camera shake in hardware rather than digital, it is possible to reduce the amount of calculations while reducing deterioration in performance, so that the use of memory can be reduced, and the cost reduction effect is significant.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
Claims (10)
입력되는 현재 프레임을 다운 샘플링하는 필터;
상기 다운 샘플링된 현재 프레임을 다수의 픽셀을 포함하는 블록으로 분할하고, 블록마다 선택된 대표 픽셀의 데이터를 대표값으로 결정하는 대표값선택부; 및
상기 다운 샘플링된 현재 프레임의 입력 픽셀과 다운 샘플링된 이전 프레임의 대표 픽셀을 기초로 움직임 벡터를 추출하는 움직임벡터추출부;를 포함하며,
상기 움직임벡터추출부는,
상기 다운 샘플링된 현재 프레임의 입력 픽셀과 상기 다운 샘플링된 이전 프레임의 대표 픽셀 간의 좌표 변화인 움직임 벡터에 대하여, 상기 다운 샘플링된 현재 프레임의 입력 픽셀 데이터와 상기 다운 샘플링된 이전 프레임의 대표값을 차분하는 비교부; 및
동일한 움직임 벡터에 대한 차분값을 누적하는 누적부;를 포함하고,
상기 손떨림 검출 장치는,
상기 누적된 누적값이 최소가 되는 움직임 벡터를 추출하는 최소값추출부;를 더 포함하는 것을 특징으로 하는 손떨림 검출 장치.In an image shake detection apparatus,
A filter for downsampling an input current frame;
A representative value selector for dividing the downsampled current frame into blocks including a plurality of pixels and determining data of representative pixels selected for each block as a representative value; And
And a motion vector extraction unit for extracting a motion vector based on the input pixel of the downsampled current frame and the representative pixel of the previous downsampled frame,
Wherein the motion vector extraction unit comprises:
Sampling the input pixel data of the downsampled current frame and the representative value of the downsampled previous frame with respect to a motion vector that is a coordinate change between an input pixel of the downsampled current frame and a representative pixel of the previous downsampled previous frame, ; And
And an accumulation unit accumulating a difference value for the same motion vector,
Wherein the shaking motion detecting device comprises:
And a minimum value extracting unit extracting a motion vector having the minimum cumulative accumulated value.
상기 다운 샘플링된 이전 프레임의 대표 픽셀들 중 상기 다운 샘플링된 현재 프레임의 입력 픽셀 주변의 하나 이상의 대표 픽셀들을 상기 다운 샘플링된 현재 프레임의 입력 픽셀과 동시에 비교하고,
상기 다운 샘플링된 현재 프레임의 입력 픽셀과 비교되는 대표 픽셀들은,
상기 입력 픽셀이 속하는 블록에 대응하는 상기 다운 샘플링된 이전 프레임의 블록을 포함하는 일정 사이즈의 대표값 마스크에 포함되는 대표 픽셀들인 것을 특징으로 하는 손떨림 검출 장치.The apparatus according to claim 1,
Comparing one or more representative pixels around the input pixels of the downsampled current frame of representative pixels of the downsampled previous frame with the input pixels of the downsampled current frame,
The representative pixels, which are compared with the input pixels of the downsampled current frame,
Wherein the representative pixels included in the representative value mask of the predetermined size including the downsampled block of the previous frame corresponding to the block to which the input pixel belongs are representative pixels.
상기 다운 샘플링된 현재 프레임의 대표값을 저장함과 동시에 상기 다운 샘플링된 이전 프레임의 대표값을 출력하는 대표값저장부;를 더 포함하는 것을 특징으로 하는 손떨림 검출 장치.The method according to claim 1,
And a representative value storage unit for storing a representative value of the downsampled current frame and outputting a representative value of the downsampled previous frame.
상기 움직임 벡터를 상기 누적값과 대응하여 저장하고, 상기 대표 픽셀의 개수를 기초로 영역이 구분된 움직임벡터저장부;를 더 포함하는 것을 특징으로 하는 손떨림 검출 장치.The method according to claim 1,
And a motion vector storage unit for storing the motion vectors corresponding to the accumulated values and dividing the regions based on the number of representative pixels.
상기 누적부의 누적 처리 동안, 상기 움직임벡터저장부에서 누적 처리가 종료된 영역부터 누적값이 최소가 되는 움직임 벡터를 추출하는 것을 특징으로 하는 손떨림 검출 장치.6. The apparatus of claim 5,
Wherein the motion vector storage unit extracts a motion vector having a minimum cumulative value from an area where accumulation processing is completed in the accumulation unit during accumulation processing of the accumulation unit.
입력되는 현재 프레임을 다운 샘플링하는 단계;
상기 다운 샘플링된 현재 프레임을 다수의 픽셀을 포함하는 블록으로 분할하고, 블록마다 선택된 대표 픽셀의 데이터를 대표값으로 결정하는 단계; 및
상기 다운 샘플링된 현재 프레임의 입력 픽셀과 다운 샘플링된 이전 프레임의 대표 픽셀을 기초로 움직임 벡터를 추출하는 단계;를 포함하며,
상기 움직임 벡터 추출 단계는,
상기 다운 샘플링된 현재 프레임의 입력 픽셀과 상기 다운 샘플링된 이전 프레임의 대표 픽셀 간의 좌표 변화인 움직임 벡터에 대하여, 상기 다운 샘플링된 현재 프레임의 입력 픽셀 데이터와 상기 다운 샘플링된 이전 프레임의 대표값을 차분하는 단계; 및
동일한 움직임 벡터에 대한 차분값을 누적하는 단계;를 포함하고,
상기 손떨림 검출 방법은,
상기 누적된 누적값이 최소가 되는 움직임 벡터를 추출하는 단계;를 더 포함하는 것을 특징으로 하는 손떨림 검출 방법.In the shaking motion detection method,
Downsampling an input current frame;
Dividing the downsampled current frame into blocks including a plurality of pixels, and determining data of a representative pixel selected for each block as a representative value; And
And extracting a motion vector based on an input pixel of the downsampled current frame and a representative pixel of a downsampled previous frame,
Wherein the motion vector extraction step comprises:
Sampling the input pixel data of the downsampled current frame and the representative value of the downsampled previous frame with respect to a motion vector that is a coordinate change between an input pixel of the downsampled current frame and a representative pixel of the previous downsampled previous frame, ; And
And accumulating a difference value for the same motion vector,
In the camera shake detection method,
And extracting a motion vector that minimizes the accumulated accumulation value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100033906A KR101451137B1 (en) | 2010-04-13 | 2010-04-13 | Apparatus and method for detecting camera-shake |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100033906A KR101451137B1 (en) | 2010-04-13 | 2010-04-13 | Apparatus and method for detecting camera-shake |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110114327A KR20110114327A (en) | 2011-10-19 |
KR101451137B1 true KR101451137B1 (en) | 2014-10-15 |
Family
ID=45029430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100033906A KR101451137B1 (en) | 2010-04-13 | 2010-04-13 | Apparatus and method for detecting camera-shake |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101451137B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140042283A (en) * | 2012-09-28 | 2014-04-07 | 에스케이텔레콤 주식회사 | Method and device for image stabilizing based on sampling image frame |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100262793B1 (en) * | 1991-10-17 | 2000-08-01 | 이데이 노부유끼 | Apparatus for judging a hand movement of an image |
KR100341265B1 (en) * | 1992-11-20 | 2002-12-16 | 소니 가부시끼 가이샤 | Motion vector detection device and solid state imaging device |
KR20040028911A (en) * | 2001-07-02 | 2004-04-03 | 문라이트 코드리스 리미티드 | Method and apparatus for motion estimation between video frames |
KR20070093995A (en) * | 2005-01-14 | 2007-09-19 | 가부시키가이샤 모르포 | Motion vector calculation method, hand-movement correction device using the method, imaging device, and motion picture generation device |
-
2010
- 2010-04-13 KR KR1020100033906A patent/KR101451137B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100262793B1 (en) * | 1991-10-17 | 2000-08-01 | 이데이 노부유끼 | Apparatus for judging a hand movement of an image |
KR100341265B1 (en) * | 1992-11-20 | 2002-12-16 | 소니 가부시끼 가이샤 | Motion vector detection device and solid state imaging device |
KR20040028911A (en) * | 2001-07-02 | 2004-04-03 | 문라이트 코드리스 리미티드 | Method and apparatus for motion estimation between video frames |
KR20070093995A (en) * | 2005-01-14 | 2007-09-19 | 가부시키가이샤 모르포 | Motion vector calculation method, hand-movement correction device using the method, imaging device, and motion picture generation device |
Also Published As
Publication number | Publication date |
---|---|
KR20110114327A (en) | 2011-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8830360B1 (en) | Method and apparatus for optimizing image quality based on scene content | |
KR101830804B1 (en) | Digital image stabilization method with adaptive filtering | |
KR101283248B1 (en) | Dual image sensor image processing system and method | |
JP4245185B2 (en) | Imaging device | |
JP6525707B2 (en) | Image processing apparatus, control method and program therefor, and imaging apparatus | |
US8072511B2 (en) | Noise reduction processing apparatus, noise reduction processing method, and image sensing apparatus | |
KR100775104B1 (en) | Image stabilizer and system having the same and method thereof | |
US9374519B2 (en) | Image processing apparatus, image processing method, and program | |
KR20080021646A (en) | Continuous extended range image processing | |
EP2324458A1 (en) | System and method to generate depth data using edge detection | |
WO2006019484A1 (en) | Processing of video data to compensate for unintended camera motion between acquired image frames | |
KR20080023745A (en) | Imaging device | |
JP4187704B2 (en) | Image stabilizer | |
US20030231251A1 (en) | Imaging apparatus | |
JP4605217B2 (en) | Imaging apparatus and program thereof | |
KR100232113B1 (en) | Motion vector detecting apparatus | |
JP2507138B2 (en) | Motion vector detection device and image shake correction device | |
CN113315884A (en) | Real-time video noise reduction method and device, terminal and storage medium | |
EP3267675B1 (en) | Terminal device and photographing method | |
KR101451137B1 (en) | Apparatus and method for detecting camera-shake | |
JP2013135410A (en) | Imaging device and evaluation value generation device | |
JP5300413B2 (en) | Motion vector detection device, motion vector detection method, imaging device, and program | |
JP2003078808A (en) | Device and method for detecting motion vector, device and method for correcting camera shake and imaging apparatus | |
JP5387341B2 (en) | Imaging device | |
JP2005210392A (en) | Image pickup device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170927 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20181001 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20191001 Year of fee payment: 6 |