KR20090111789A - 동영상 손떨림 보정 장치 및 방법 - Google Patents

동영상 손떨림 보정 장치 및 방법 Download PDF

Info

Publication number
KR20090111789A
KR20090111789A KR1020090035224A KR20090035224A KR20090111789A KR 20090111789 A KR20090111789 A KR 20090111789A KR 1020090035224 A KR1020090035224 A KR 1020090035224A KR 20090035224 A KR20090035224 A KR 20090035224A KR 20090111789 A KR20090111789 A KR 20090111789A
Authority
KR
South Korea
Prior art keywords
frame
image
reference macroblock
macroblock
value
Prior art date
Application number
KR1020090035224A
Other languages
English (en)
Other versions
KR101012481B1 (ko
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 KR1020090035224A priority Critical patent/KR101012481B1/ko
Publication of KR20090111789A publication Critical patent/KR20090111789A/ko
Application granted granted Critical
Publication of KR101012481B1 publication Critical patent/KR101012481B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)

Abstract

동영상 손떨림 보정 장치 및 방법이 개시되어 있다. 상기 동영상 손떨림 보정 장치는 제 1 프레임의 입력 영상에서 적어도 하나의 기준 매크로블록을 선택하고 제 2 프레임의 입력 영상에서 적어도 하나의 기준 매크로블록에 대응하는 적어도 하나의 탐색 영역을 선택하는 선택부와, 제 1 프레임의 기준 매크로블록을 제 2 프레임의 탐색 영역에 포함된 각각의 탐색 블록들에 대응시켜 통계적 연산을 수행하는 연산부 및 통계적 연산의 결과 값을 이용하여 제 2 프레임의 출력 영상을 보정하기 위한 움직임 벡터를 산출하는 벡터 산출부 등을 포함한다. 따라서 손떨림에 의한 영상의 왜곡은 효과적으로 보정하면서도 연산 량은 대폭 줄일 수 있다.

Description

동영상 손떨림 보정 장치 및 방법 {Apparatus and Method for Correcting Moving Image Wavering}
본 발명은 동영상 손떨림(Wavering) 보정 장치 및 방법에 관한 것으로서, 좀더 상세하게는, 손떨림에 의한 영상의 왜곡은 효과적으로 보정하면서도 연산 량은 대폭 줄일 수 있는 동영상 손떨림 보정 기술에 관한 것이다.
일반적으로, 디지털 캠코더, 디지털 카메라 등과 같은 디지털 영상 촬영 장치는 초당 15~30프레임(frame)의 스틸 이미지(still image)를 연속적으로 촬영하고 이를 디스플레이 수단, 예컨대 LCD(Liquid Crystal Display) 등을 통하여 표시함으로써, 사용자에게 움직이는 영상을 보여준다.
디지털 영상 촬영 장치를 사용한 동영상 촬영 시에는, 디지털 영상 촬영 장치와 접촉한 사용자의 신체의 예측 불가능한 움직임 또는 떨림(예컨대 Panning & Tilting 현상)이 필연적으로 수반되므로, 삼각대 등과 같은 고정 수단을 사용하지 않는 한 물리적으로 안정된 촬영 상태를 유지하기 어렵다. 따라서 이러한 물리적인 촬영 상태의 불안정성은 촬영되는 영상의 왜곡을 발생시키게 된다.
또한, CMOS(Complementary Metaloxide Semiconductor module) 모듈을 사용하는 디지털 영상 촬영 장치, 예컨대 모바일 단말기 등의 경우, 롤링 셔터(Rolling Shutter) 시에 발생하는 미세한 떨림에 의해서 영상의 왜곡이 발생할 수도 있다.
이러한 영상의 왜곡은 피사체의 동선에 따라 이동하는 사용자의 신체 및 디지털 영상 촬영 장치의 움직임과 떨림에 의한 불안정성이 더해져 더욱 심화될 수 있으며, 초당 촬영되는 프레임 수가 적을수록 프레임간 움직임 또는 떨림에 따른 보간 거리가 멀어지기 때문에 사용자가 체감하는 영상의 불안정성은 더욱 커지게 된다.
따라서, 최근에는 디지털 영상 촬영 장치의 동영상 손떨림 보정을 위한 다양한 기술들이 연구되고 있다. 예컨대, 동영상 손떨림 보정을 위한 종래의 기술로는 광학식 손떨림 보정 기술 및 비광학식 손떨림 보정 기술 등으로 구분될 수 있다.
상기 광학식 손떨림 보정 기술은 동영상 손떨림 방지를 위하여 CMOS 모듈을 통하여 입력되는 영상에 대하여 원천적으로 흔들림 또는 떨림을 극복할 수 있는 장치를 디지털 영상 촬영 장치에 적용하는 기술이다. 예를 들면, 광학식 손떨림 보정은, 동영상 촬영 시에 디지털 영상 촬영 장치의 렌즈가 움직이는 경우 상기 디지털 영상 촬영 장치의 렌즈의 중심을 상기 움직임의 반대 방향으로 물리적으로 이동시킬 수 있는 자이로 센서 등을 적용하는 것이다.
그러나, 이러한 광학식 손떨림 보정은 디지털 영상 촬영 장치에 해당 기능을 위한 추가적인 장치를 구비하여야 하므로, 제품 생산 비용 및 단가의 상승을 가져 오는 문제가 있으며, 제품의 크기 증대로 인하여 소형 및 경량을 추구하는 모바일 단말기에 효과적으로 적용하기에는 한계가 있다.
한편, 비광학식 손떨림 보정 기술은 칩 상태의 하드웨어 또는 소프트웨어 수준에서 촬영된 영상을 보정하는 방안이다. 예를 들면, 움직임이 발생된 촬영 영상의 움직임 벡터를 산출하고 이에 해당하는 만큼 촬영 영상의 오프셋 등을 조정하여 영상을 보정하는 것이다.
종래의 비광학식 동영상 손떨림 보정 기술들은 고속화 측면과 하드웨어의 축소 측면을 부각시키기 위하여 연산량의 감소 및 움직임 추정 기법을 개발하여 왔다. 그러나 연산량을 감소시키는 방안 및 알고리즘 기반의 움직임 추정 기법은 움직임 추정 결과의 오차를 발생하거나 연산 시의 소요 시간을 증가시켜 그 성능이 떨어진다.
움직임 추정의 VLSI(Very Large Scale Integration)에 대한 종래 기술들은 시스템의 고속화 및 집적화에 의하여 다소 향상된 결과를 나타내고는 있으나, 탐색 영역의 범위가 증가함에 따라 점차 처리해야 할 탐색 영역의 데이터가 커지고, 이를 처리하기 위한 빠른 속도 및 작은 면적을 차지하는 하드웨어에 대한 요구가 더욱 증대되고 있다고 할 수 있다.
한편, 하드웨어의 급속한 발달로 인하여 작은 면적에 대한 집적도가 향상되었을지라도, 움직임 추정에 따른 탐색 영역 저장과 연산을 위한 국부적인 메모리의 사용은 대용량의 데이터를 처리하는 멀티미디어 시스템에서는 피할 수 없는 문제이다. 게다가 움직임 추정 시 사용되는 메모리는 프레임 단위로써 그 면적이 크고, 방대한 데이터에 대한 연산 처리 속도를 증가시키기 위하여 버퍼를 사용하게 됨에 따라 필연적으로 하드웨어 면적이 증가하는 문제가 있다.
본 발명이 해결하고자 하는 기술적인 과제는 손떨림에 의한 영상의 왜곡은 효과적으로 보정하면서도 연산 량은 대폭 줄일 수 있는 동영상 손떨림 보정 장치 및 방법을 제공하는데 있다.
이러한 기술적 과제를 해결하기 위하여 본 발명은 일 측면(Aspect)에서 동영상 손떨림 보정 장치를 제공한다. 상기 동영상 손떨림 보정 장치는, 제 1 프레임의 입력 영상에서 적어도 하나의 기준 매크로블록을 선택하고, 제 2 프레임의 입력 영상에서 상기 적어도 하나의 기준 매크로블록에 대응하는 적어도 하나의 탐색 영역을 선택하는 선택부와; 상기 제 1 프레임의 기준 매크로블록을 상기 제 2 프레임의 탐색 영역에 포함된 각각의 탐색 블록들에 대응시켜 통계적 연산을 수행하는 연산부; 및 상기 통계적 연산의 결과 값을 이용하여 상기 제 2 프레임의 출력 영상을 보정하기 위한 움직임 벡터를 산출하는 벡터 산출부를 포함한다.
상기 적어도 하나의 탐색 영역은 상기 제 2 프레임의 입력 영상의 중심에서 특정 거리만큼 떨어진 서로 이격된 다수 개의 영역일 수 있다. 상기 선택부는 각 프레임의 기준 매크로블록 및 탐색 영역의 정보들을 메모리에 저장할 수 있다. 예를 들면, 상기 선택부는 상기 제 1 프레임의 기준 매크로블록의 픽셀 데이터 및 상기 제 2 프레임의 탐색 영역의 픽셀 데이터 등을 메모리에 저장할 수 있다.
상기 연산부는, 상기 메모리에 저장된 상기 제 1 프레임의 기준 매크로블록의 픽셀 데이터를 로딩하는 제 1 입력부와; 상기 메모리에 저장된 상기 제 2 프레임의 탐색 영역의 픽셀 데이터를 로딩하는 제 2 입력부; 및 상기 제 1 프레임의 기준 매크로블록을 상기 제 2 프레임의 탐색 영역 내에 포함된 각각의 탐색 블록에 대응되도록 수직 또는 수평 방향으로 이동시키면서 상기 통계적 연산을 수행하여 연산 매트릭스를 산출하고, 상기 산출되는 연산 매트릭스를 상기 메모리에 저장하는 통계 연산부를 포함할 수 있다.
상기 동영상 손떨림 보정 장치는, 상기 제 1 프레임의 특정 매크로블록의 픽셀 데이터와, 상기 제 1 프레임의 특정 매크로블록과 동일한 좌표에 위치하는 상기 제 2 프레임의 매크로블록의 픽셀 데이터를 연산하고, 상기 연산된 정보를 근거로 하여 상기 연산부에 의한 상기 통계적 연산을 제어하는 제어부를 더 포함할 수도 있다.
상기 제어부는, 상기 제 1 프레임의 기준 매크로블록의 픽셀 데이터와 상기 제 2 프레임의 기준 매크로블록의 픽셀 데이터를 로딩하고, 상기 제 1 프레임의 기준 매크로블록과 상기 제 2 프레임의 기준 매크로블록 간에 픽셀 값의 차이 값을 각각의 픽셀 별로 산출하는 차연산부와; 상기 차이 값이 미리 설정된 기준 값 이상인 픽셀의 위치 정보를 산출하는 위치 정보 산출부; 및 상기 제 1 프레임의 기준 매크로블록의 픽셀들 중 상기 산출된 위치 정보에 해당하는 픽셀만을 대상으로 상기 통계적 연산이 수행되도록 상기 연산부를 제어하는 대상 제어부를 포함할 수 있다.
한편, 상기 제어부는, 상기 제 1 프레임의 기준 매크로블록의 픽셀 데이터와 상기 제 2 프레임의 기준 매크로블록의 픽셀 데이터를 로딩하고, 상기 제 1 프레임의 기준 매크로블록과 상기 제 2 프레임의 기준 매크로블록 간에 픽셀 값의 차이 값을 각각의 픽셀 별로 산출하는 차연산부와; 상기 차이 값이 미리 설정된 제 1 기준 값 이상인 픽셀의 위치 정보를 산출하는 위치 정보 산출부와; 상기 차이 값이 미리 설정된 제 1 기준 값 이상인 픽셀이 기준 매크로블록에서 차지하는 비율을 산출하는 비율 산출부; 및 상기 산출된 비율이 미리 설정된 제 2 기준 값 미만일 경우, 상기 제 1 프레임의 기준 매크로블록의 픽셀들 중 상기 위치 정보에 해당하는 픽셀만을 대상으로 상기 통계적 연산이 수행되도록 상기 연산부를 제어하고, 상기 비율이 미리 설정된 제 2 기준 값 이상일 경우 상기 제 1 프레임의 기준 매크로블록의 모든 픽셀들을 대상으로 상기 통계적 연산이 수행되도록 상기 연산부를 제어하는 제어부를 포함할 수도 있다.
상기 동영상 손떨림 보정 장치는, 외부로부터 제 1 프레임 및 제 2 프레임의 영상을 각각 수신하여 다운사이징하고, 상기 다운사이징된 영상의 각 픽셀 값을 그레이 레벨 값으로 변환하여 상기 제 1 프레임의 입력 영상 및 상기 제 2 프레임의 입력 영상을 각각 생성하는 입력 처리부를 더 포함할 수도 있다.
상기 입력 처리부는, 영상 촬영부로부터 상기 제 1 프레임 및 상기 제 2 프레임의 영상을 각각 수신하는 영상 수신부와; 상기 수신된 제 1 프레임 및 제 2 프레임의 영상의 해상도를 낮추는 입력 스케일러부와; 상기 입력 스케일러부에 의하여 처리된 영상의 각 픽셀 값을 그레이 레벨 값으로 변환하는 정보 변환부를 포 함할 수 있다.
상기 동영상 손떨림 보정 장치는, 외부로부터 제 1 프레임 및 제 2 프레임의 영상을 각각 수신하고, 그 사이즈를 출력 영상의 사이즈로 다운 사이징하는 출력 스케일러부를 더 포함할 수도 있다. 또한 상기 동영상 손떨림 보정 장치는, 상기 산출되는 움직임 벡터를 이용하여 상기 출력 스케일러부에 의하여 다운 사이징되는 상기 제 2 프레임의 출력 영상을 보정하는 보정부를 더 포함할 수도 있다.
상기 벡터 산출부는 상기 통계적 연산을 통하여 산출되는 연산 매트릭스에서 최소 값을 가지는 포인트를 검출하여 상기 제 2 프레임의 탐색 영역에 포함된 탐색 블록 중 정합 블록의 위치 정보를 산출하고, 상기 산출된 정합 블록의 위치 정보를 기초로 하여 상기 움직임 벡터를 산출할 수 있다.
상기 벡터 산출부는 상기 연산 매트릭스에서 상기 최소 값을 가지는 포인트를 검출하기 위하여 상기 연산 매트릭스의 중심 포인트로부터 나선형의 방향으로 포인트의 값을 탐색하는 나선형 탐색(Spiral Search) 방식을 사용할 수도 있다.
한편, 상술한 본 발명의 기술적 과제를 해결하기 위하여 본 발명은 다른 측면에서 동영상 손떨림 보정 방법을 제공한다. 상기 동영상 손떨림 보정 방법은, 제 1 프레임의 입력 영상에서 적어도 하나의 기준 매크로블록을 선택하는 단계와; 제 2 프레임의 입력 영상에서 상기 적어도 하나의 기준 매크로블록에 대응하는 적어도 하나의 탐색 영역을 선택하는 단계와; 상기 제 1 프레임의 기준 매크로블록을 상기 제 2 프레임의 탐색 영역에 포함된 각각의 탐색 블록들에 대응시켜 통계적 연산을 수행하는 단계; 및 상기 통계적 연산의 결과 값을 이용하여, 상기 제 2 프레임의 출력 영상을 보정하기 위한 움직임 벡터를 산출하는 단계를 포함할 수 있다.
상기 동영상 손떨림 보정 방법은, 상기 제 1 프레임의 기준 매크로블록의 픽셀 데이터를 로딩하는 단계와; 상기 제 1 프레임의 기준 매크로블록과 동일한 좌표에 위치하는 상기 제 2 프레임의 기준 매크로블록을 로딩하는 단계와; 상기 로딩된 제 1 프레임의 기준 매크로블록 및 상기 로딩된 제 2 프레임의 기준 매크로블록의 픽셀 데이터를 연산하는 단계; 및 상기 연산된 정보를 근거로 하여 상기 통계적 연산을 제어하는 단계를 더 포함할 수도 있다.
상기 연산하는 단계는, 상기 제 1 프레임의 기준 매크로블록과 상기 제 2 프레임의 기준 매크로블록 간에 픽셀 값의 차이 값을 각각의 픽셀 별로 산출하는 단계와; 상기 산출된 차이 값을 제 1 기준 값과 비교하는 단계; 및 상기 산출된 차이 값이 제 1 기준 값 이상인 픽셀의 위치 정보를 산출하는 단계를 포함할 수 있다. 이 경우, 상기 통계적 연산을 제어하는 단계는, 상기 제 1 프레임의 기준 매크로블록의 픽셀들 중 상기 위치 정보에 해당하는 픽셀만을 대상으로 상기 통계적 연산이 수행되도록 제어하는 단계를 포함할 수도 있다.
한편, 상기 연산하는 단계는, 상기 산출된 차이 값이 제 1 기준 값 이상인 픽셀의 기준 매크로블록에서 차지하는 비율을 산출하는 단계와; 상기 산출된 비율을 제 2 기준 값과 비교하는 단계를 더 포함할 수도 있다. 이 경우, 상기 통계적 연산을 제어하는 단계는, 상기 산출된 비율을 상기 제 2 기준 값과 비교한 결과 정보 및 상기 산출된 위치 정보 중 적어도 어느 하나를 사용하여 상기 통계적 연산을 제어하는 단계를 포함할 수도 있다.
이상 설명한 바와 같이, 본 발명에 따른 동영상 손떨림 보정 기술에 따르면 손떨림에 의한 영상의 왜곡은 효과적으로 보정하면서도 연산 량은 대폭 줄일 수 있는 장점이 있다.
이하, 본 발명이 속하는 분야에 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다. 이하에 설명할 본 발명의 바람직한 실시예에서는 내용의 명료성을 위하여 특정한 기술 용어를 사용한다. 하지만 본 발명은 그 선택된 특정 용어에 한정되지는 않으며, 각각의 특정 용어가 유사한 목적을 달성하기 위하여 유사한 방식으로 동작하는 모든 기술 동의어를 포함함을 미리 밝혀둔다.
<제 1 실시예>
도 1은 본 발명의 바람직한 제 1 실시예에 따른 동영상 손떨림 보정 장치를 구비하는 디지털 영상 촬영 장치의 구성을 도시하는 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 바람직한 제 1 실시예에 따른 동영상 손떨림 보정 장치(100)는 디지털 영상 촬영 장치(1)에 구비될 수 있다. 상기 디지털 영상 촬영 장치(1)는 예컨대, 디지털 캠코더, 영상 촬영 기능을 구비하는 디지 털 카메라 또는 모바일 단말기 등일 수 있다.
동영상 손떨림 보정 장치(100)는 디지털 영상 촬영 장치(1)의 영상 촬영부(10), 메모리(20) 및 디스플레이부(30) 등과 연동할 수 있다. 상기 영상 촬영부(10)는 영상을 취득하여 전기적인 신호로 변환할 수 있는 장치로서, 예컨대 CMOS 모듈, 광학 촬상 센서 등일 수 있다. 상기 메모리(20)는 디지털 데이터를 저장할 수 있는 다양한 저장 수단을 의미할 수 있다. 또한 상기 디스플레이부(30)는 영상을 화면 상에 디스플레이할 수 있는 장치로서, 예컨대 LCD 패널 등을 의미할 수 있다.
상기 동영상 손떨림 보정 장치(100)는 영상 촬영부(10)로부터 프레임 단위의 영상(Image), 즉 프레임 영상을 연속적으로 수신하고, 수신된 프레임 영상에서 손떨림 등에 의하여 발생하는 왜곡을 제거하기 위하여 상기 수신된 프레임 영상을 개선된 효율적인 프로세스를 사용하여 보정한 뒤 보정된 프레임 영상을 디스플레이부(30)로 전송할 수 있다.
도 2는 상기 언급된 손떨림 왜곡의 개념을 예시적으로 설명하기 위한 예시도이고, 도 3은 이러한 손떨림에 의한 왜곡을 보정할 수 있는 움직임 추정을 설명하기 위한 그래프이다.
도 2에 도시된 바와 같이, 이동 객체의 실제 움직임은 영상 촬영부(10)를 구비하는 디지털 영상 촬영 장치(1)에 의하여 촬영된 후, 디스플레이부(30)를 통하여 사용자에게 보여지게 된다. 이때, 디스플레이부(30)를 통하여 디스플레이되는 영상은 실제 이동 객체의 움직임뿐만 아니라 촬영자의 손떨림 등에 의하여 야기되는 영 상 촬영부(10)의 흔들림이 반영되게 된다.
따라서 도 3에 도시된 바와 같이, 디지털 영상 촬영 장치(1)는 동영상 손떨림 보정 장치(100)를 사용하여 상기 실제 움직이는 이동 객체 등이 포함된 영상에 움직임 추정 등을 사용한 보정을 반영함으로써 양질의 영상을 디스플레이할 수 있다.
도 4는 도 1에 도시되어 있는 동영상 손떨림 보정 장치(100)의 상세 구성을 도시하는 블록도로서, 본 발명의 바람직한 제 1 실시예에 따른 동영상 손떨림 보정 장치(100)의 구성을 보여주고 있다.
도 4에 도시된 바와 같이, 동영상 손떨림 보정 장치(100)는 입력 처리부(110), 출력 스케일러부(120), 선택부(130), 연산부(140), 벡터 산출부(150) 및 보정부(160) 등을 포함할 수 있다. 상기 구성 요소들은 각각 고유한 기능을 수행할 수 있으며 해당 동작을 위하여 메모리(20)와 연동할 수 있다.
이하에서는, 상기 동영상 손떨림 보정 장치(100)의 구성 요소들을 각각 상세하게 설명하기로 한다.
1. 입력 처리부(110)
입력 처리부(110)는 영상 촬영부(10)로부터 순차적으로 수신되는 프레임 영상을 처리하여 각 프레임의 입력 영상을 생성하고, 생성된 각 프레임의 입력 영상을 선택부(130)로 전송하는 기능을 수행할 수 있다. 예를 들면, 입력 처리부(110)는 수신되는 프레임 영상의 해상도를 낮추어 영상의 스케일을 축소하고, 또한 축소 영상의 각 픽셀 값을 그레이 레벨 값으로 변환함으로써 선택부(130)로 입력하기 위 한 입력 영상을 생성할 수 있다.
도 5는 도 4에 도시되어 있는 입력 처리부(110)의 구성을 나타내는 블록도이다.
도 5에 도시된 바와 같이, 입력 처리부(110)는 영상 수신부(112), 입력 스케일러부(114) 및 정보 변환부(116) 등을 포함할 수 있다.
상기 영상 수신부(112)는 영상 촬영부(10)로부터 프레임 영상을 수신할 수 있다. 예를 들면, 영상 수신부(112)는 영상 촬영부(10)로부터 촬영되는 동영상의 첫 번째 프레임의 영상부터 수신하기 시작하여 제 N-1(N은 정수)번째 프레임(예컨대, 이하에서는 이해의 편의를 위하여 이전 프레임이라 칭함)의 영상, 제 N번째 프레임(예컨대 이하에서는 이해의 편의를 위하여 현재 프레임이라 칭함)의 영상 등을 연속적으로 수신할 수 있다. 이때 상기 수신되는 프레임 영상은, 예컨대 1024 x 768 개의 픽셀로 구성되는 고 해상도의 영상일 수 있다. 각 픽셀의 픽셀 값은 YCbCr 데이터를 포함할 수 있다.
상기 입력 스케일러부(114)는 영상 수신부(112)에 의하여 수신된 프레임 영상을 다운사이징할 수 있다. 예를 들면, 입력 스케일러부(114)는 영상 수신부(112)에 의하여 수신된 각 프레임의 영상들, 예컨대 이전 프레임의 영상, 현재 프레임의 영상 등의 해상도를 낮추어 512 x 384 개의 픽셀을 갖는 영상으로 다운사이징할 수 있다.
상기 프레임 영상의 사이즈를 축소하는 비율은 실시 형태에 따라 다양한 응용 예가 가능하다. 바람직하기로는, 움직임 벡터의 산출 및 이를 통한 보정 효과의 저하는 방지하면서도 연산 효율은 높이기 위하여, 수신된 프레임 영상의 50% 내지 70% 정도로 사이즈를 축소하는 것이 바람직하다.
정보 변환부(116)는 입력 스케일러부(114)에 의하여 다운사이징된 영상의 각 픽셀 값을 그레이 레벨 값으로 변환하는 기능을 수행할 수 있다. 상기 영상 수신부(112)에 의하여 수신되는 프레임 영상의 각 픽셀은 명도, 채도, 색상 등의 정보를 가지는데, 움직임 벡터의 산출 시에는 명도 정보만으로도 충분히 움직임 벡터를 산출할 수 있다. 따라서, 정보 변환부(112)는 각 픽셀의 값을 그레이 레벨 값으로 변환한다.
영상 촬영부(10)에 의하여 촬영된 고 해상도의 프레임 영상을 연산할 경우 연산의 대상이 되는 픽셀의 수가 너무 많으며 및 각 픽셀의 정보량도 너무 크므로, 메모리(20)의 사용이 많아지며 연산효율도 낮아지게 된다. 그러나, 상기 입력 처리부(110)에 의해 처리된 입력 영상을 이용하여 연산을 수행할 경우 픽셀 수도 적어지며 각 픽셀의 정보량도 작아져서 메모리(20)의 사용을 줄일 수 있으며 연산효율도 높일 수 있게 된다. 실제로, 원 영상을 사용하여 산출한 움직임 벡터를 이용하여 출력 영상을 보정한 경우와, 상기 처리된 입력 영상을 사용하여 산출되는 움직임 벡터를 이용하여 출력 영상을 보정한 경우의 차이를 실험적으로 비교한 결과 인간이 인지할 수 없을 만큼 거의 차이가 나지 않았다.
2. 출력 스케일러부(120)
출력 스케일러부(120)는 영상 촬영부(10)로부터 순차적으로 수신되는 프레임 영상을 정해진 출력 영상의 사이즈에 부합되도록 다운사이징하는 기능을 수행할 수 있다. 예를 들면, 출력 스케일러부(120)는 영상 촬영부(10)로부터 수신된 이전 프레임의 영상, 현재 프레임의 영상 등을 디스플레이부(30)에서 요구하는 사이즈로 다운사이징할 수 있다.
바람직하기로는 상기 출력 영상의 사이즈는 상기 입력 영상의 사이즈보다 작을 수 있다. 예를 들면, 상기 입력 스케일러부(114)에 의해 다운 사이징된 입력 영상이 예컨대 512 x 384 영상이라면, 출력 스케일러부(120)에 의하여 다운사이징되는 출력 영상은 예컨대 320 x 240 사이즈를 가질 수 있다.
한편, 상기 출력 스케일러부(120)는 상기 출력 영상의 사이즈를 설정할 수 있는 사용자 인터페이스를 제공하고, 사용자에 의하여 설정되는 사이즈에 따라 출력 영상을 리사이징할 수도 있다.
3. 선택부(130)
선택부(130)는 입력 처리부(110)로부터 수신되는 각 프레임의 입력 영상에서 적어도 하나의 기준 매크로블록 및 각 기준 매크로블록에 대응되는 탐색 영역을 선택하는 기능을 수행할 수 있다. 각 프레임의 기준 매크로블록은 해당 프레임의 탐색 영역 내의 특정 매크로블록일 수 있다.
영상 보정 시 손떨림에 의한 영상의 움직임은 촬영되는 피사체가 이동하는 경우와 구분되어야 한다. 따라서 정밀하고 정확한 보정 영상을 생성하기 위해서는 피사체의 이동을 제외한 손떨림에 의한 왜곡만을 보정하여야 한다. 통상, 동영상 촬영 시에는 피사체를 영상의 중심부분에 포커싱하는 경우가 대부분이므로, 정확한 보정을 위해서는 피사체가 존재할 확률이 희박한 배경 부분을 위주로 움직임 벡터 를 산출하는 것이 바람직하다.
따라서, 상기 선택부(130)는 각 프레임의 입력 영상의 중심에서 특정 거리만큼 떨어진 서로 이격된 다수 개의 영역을 움직임 벡터를 산출하기 위한 탐색 영역으로 선택할 수 있다.
상기 탐색 영역 및 기준 매크로블록의 위치는 사용자에 의하여 설정될 수도 있다. 예를 들면, 선택부(130)는 탐색 영역 또는 기준 매크로블록의 좌표를 설정할 수 있는 사용자 인터페이스를 제공하고, 설정된 좌표에 따라 탐색 영역 및 기준 매크로블록을 선택할 수 있다. 한편 상기 탐색 영역 및 기준 매크로블록의 위치는 동영상 손떨림 보정 장치(100)가 구비된 디지털 영상 촬영 장치(1)의 하드웨어 리소스 또는 연산 처리 능력 등에 따라 미리 결정될 수도 있다.
도 6은 선택부(130)에 의하여 선택되는 탐색 영역 및 기준 매크로블록을 설명하기 위한 예시도이다.
도 6에 도시된 바와 같이, 선택부(130)는 각 프레임의 입력 영상(IA)의 중심에서 특정 거리만큼 떨어진 서로 이격된 4개의 탐색 영역, 예컨대 탐색 영역 SE1, SE2, SE3, SE4을 선택할 수 있다. 각각의 탐색 영역은 예컨대 144 x 120 사이즈의 영역일 수 있다.
상기 선택부(130)는 상기 탐색 영역들이 각 프레임의 출력 영상(OA)의 사이즈 내에 포함되도록 선택할 수 있다. 예컨대 입력 영상(IA)이 512 x 384 사이즈의 영상이고 출력 영상(OA)이 360 x 240 사이즈일 경우, 상기 360 x 240 내에 탐색 영역들, 예컨대 탐색 영역 SE1, SE2, SE3, SE4이 포함되도록 선택하는 것이 바람직하 다.
선택부(130)는 각각의 탐색 영역 내에서 특정 좌표의 매크로블록들, 예컨대 매크로블록 D1, D2, D3, D4을 기준 매크로블록으로서 선택할 수 있다. 도 6에 도시된 예의 경우 상기 기준 매크로블록을 예컨대 96 x 72 사이즈의 블록으로 설정하였다.
이와 같이, 선택부(130)는 이전 프레임의 입력 영상이 수신되면 상기 이전 프레임의 입력 영상에서 탐색 영역과 기준 매크로블록을 선택하여 메모리(20)에 각각 저장하고, 이어서 현재 프레임의 입력 영상이 수신되면 상기 현재 프레임의 입력 영상에서 탐색 영역과 기준 매크로블록을 선택하여 메모리(20)에 각각 저장할 수 있다. 이때, 상기 메모리(20)는 다수 개의 라인 메모리를 포함할 수 있다. 예를 들면 상기 탐색 영역, 기준 매크로블록 등의 픽셀 데이터는 각각의 라인 메모리에 저장될 수 있다.
한편, 본 발명에서는 현재 프레임의 움직임 벡터를 산출하기 위하여, 이전 프레임의 기준 매크로블록과 현재 프레임의 탐색 영역을 사용한다. 이는 이하에서 언급할 연산부(140) 및 벡터 산출부(150)의 구성을 통하여 설명된다.
4. 연산부(140)
연산부(140)는, 현재 프레임의 보정을 위한 움직임 벡터를 산출하는데 사용할 정보를 산출하기 위하여, 이전 프레임의 입력 영상에서 선택된 기준 매크로블록(즉 이전 프레임의 기준 매크로블록) 및 현재 프레임의 입력 영상에서 선택된 탐색 영역(즉 현재 프레임의 탐색 영역)을 이용하여 통계적 연산을 수행하고, 연산 매트릭스를 산출한다. 예를 들면, 연산부(140)는 이전 프레임의 기준 매크로블록을 현재 프레임의 탐색 영역에 포함된 각각의 탐색 블록에 대응시키면서 통계적 연산을 수행할 수 있다.
상기 통계적 연산은 연산 매트릭스를 산출하기 위한 다양한 연산 기법들, 예컨대 SAD(sum of absolute difference), SSD(sum of squared difference), MSE(mean squared error), MAE(mean absolute error) 또는 MAD(mean absolute distortion) 등일 수 있다. 상기 통계적 연산은 동영상 손떨림 보정 장치(100)가 구비된 디지털 영상 촬영 장치(1)의 장치 사양을 고려하여 선택할 수 있으며, 바람직하기로는 합과 차의 연산만으로 구성되어 빠른 연산 처리가 가능한 SAD 연산을 사용할 수 있다.
도 7은 도 4에 도시되어 있는 연산부(140)의 구성을 도시하는 블록도이다.
도 7에 도시된 바와 같이, 연산부(140)는 제 1 입력부(142), 제 2 입력부(144) 및 통계 연산부(146) 등을 포함할 수 있다.
현재 프레임의 보정을 위한 프로시저에서, 제 1 입력부(142)는 메모리(20)에 저장되어 있는 이전 프레임의 기준 매크로블록의 픽셀 데이터를 메모리(20)로부터 로딩한다. 또한 제 2 입력부(144)는 메모리(20)에 저장되어 있는 현재 프레임의 탐색 영역의 픽셀 데이터를 메모리(20)로부터 로딩한다.
통계 연산부(146)는 상기 이전 프레임의 기준 매크로블록을 상기 현재 프레임의 탐색 영역에 포함된 각각의 탐색 블록에 대응되도록 수직 또는 수평 방향으로 이동시키면서 통계적 연산(예컨대, SAD 연산 등)을 수행하여 연산 매트릭스(예컨대 SAD 연산 매트릭스 등)를 산출할 수 있다.
이하에서는 이러한 연산부(140)의 동작을 좀더 구체적으로 설명하기로 한다. 먼저 이해의 편의를 위하여 기준 매크로블록은 5 x 5 사이즈를 갖는 매크로블록으로 가정하고, 탐색 영역은 9 x 9 사이즈를 갖는 영역으로 가정한다. 그러나 이는 한정된 사항은 아니며 상기 매크로블록의 사이즈는 96 x 72 등과 같이 실시 형태에 따라 다양하게 선택할 수 있으며, 마찬가지로 탐색 영역의 사이즈도 144 x 120 등과 같이 실시 형태에 따라 다양하게 선택할 수 있음은 물론이다.
또한, 기준 매크로블록 및 탐색 영역이 다수 개 선택되더라도 각각의 통계적 연산은 동일하므로 하나의 기준 매크로블록 및 탐색 영역을 이용한 통계적 연산을 예를 들어 설명하기로 한다.
Figure 112009024440412-PAT00001
표 1은 이전 프레임의 기준 매크로블록으로서, 5 x 5 사이즈를 갖는 매크로블록을 나타내고 있다. m11, m12, …. m55은 기준 매크로블록 내의 픽셀들을 나타낸다.
Figure 112009024440412-PAT00002
표 2는 현재 프레임의 탐색 영역으로서, 9 x 9 사이즈를 갖는 탐색 영역을 나타내고 있다. s11, s12, …, s99는 탐색 영역 내의 픽셀들을 나타낸다.
Figure 112009024440412-PAT00003
표 3은 표 1에 도시된 이전 프레임의 기준 매크로블록과 표 2에 도시된 현재 프레임의 탐색 영역을 이용하여 통계적 연산을 수행하는 과정을 나타내고 있다.
상기 표 3에 나타낸 바와 같이, 연산부(140)는 이전 프레임의 기준 매크로블록을 탐색 영역 내에서 수평 또는 수직으로 한 라인씩 이동시켜 상기 기준 매크로블록을 탐색 영역 내의 탐색 블록들에 각각 대응시켜 가면서 통계적 연산을 수행할 수 있다. 이때 상기 탐색 블록이란 탐색 영역 내에서 기준 매크로블록이 이동할 때 각각 대응되는 블록을 의미할 수 있다. 따라서 상기 탐색 블록은 기준 매크로블록과 동일한 크기를 갖는다.
상기 탐색 영역 내에서 상기 기준 매크로블록이 이동 가능한 범위는 수평 방향으로 5라인 수직방향으로 5 라인이므로, 상기 통계 연산부가 연산을 완료하면 아래의 표 4에 나타낸 바와 같은 25개의 연산 결과 값, 즉 5 x 5 개의 포인트를 갖는 연산 매트릭스를 산출할 수 있다. 이때 상기 연산 매트릭스의 각 포인트는 기준 매크로블록의 픽셀 데이터와 이에 대응되는 탐색 블록의 픽셀 데이터를 이용하여 통계적 연산, 예컨대 SAD 연산을 수행한 결과 값을 의미할 수 있다.
Figure 112009024440412-PAT00004
같은 개념으로, 만약 현재 프레임의 탐색 영역의 사이즈가 144 x 120이고, 이전 프레임의 기준 매크로블록의 크기가 96 x 72라고 가정하면, 상기 기준 매크로블록은 상기 탐색 영역 내에서 수평으로 49 라인, 수직으로 49 라인 이동할 수 있다. 따라서 연산부(140)에 의한 통계적 연산의 결과 값은 49 x 49 사이즈를 연산 매트릭스가 된다.
이러한 과정을 통하여 연산 매트릭스를 산출하면, 연산부(140)는 상기 연산 매트릭스를 메모리(20)에 저장할 수 있다. 예컨대 상기 연산 매트릭스는 라인 메모리에 저장될 수 있다.
5. 벡터 산출부(150)
벡터 산출부(150)는 연산부(140)에 의하여 산출된 통계적 연산의 결과 값 즉, 연산 매트릭스를 이용하여 현재 프레임의 출력 영상을 보정하기 위한 움직임 벡터를 산출한다. 상기 움직임 벡터는 상기 탐색 영역에 포함된 탐색 블록들 중 상기 기준 매크로블록과 가장 유사한 정합 블록(Best Matched Block)과 상기 기준 매크로블록의 상대적인 벡터 값을 의미할 수 있다.
상기 벡터 산출부(150)는 상기 연산부(140)에 의하여 메모리(20)에 저장된 연산 매트릭스를 상기 메모리(20)로부터 로딩하고, 상기 로딩된 연산 매트릭스에서 최소 값을 가지는 포인트를 검출할 수 있다. 그리고 상기 검출된 포인트에 대응하는 탐색 블록을 정합 블록으로 간주하고 그 정합 블록의 위치 정보를 산출한 뒤, 산출된 위치 정보를 기초로 하여 움직임 벡터를 산출할 수 있다.
이러한 벡터 산출부(150)는 연산 매트릭스에서 최소 값을 가지는 포인트를 검출하기 위하여, 상기 연산 매트릭스의 중심 포인트로부터 나선형의 방향으로 포인트의 값을 탐색해가는 나선형 탐색(Spiral Search) 방식을 사용할 수 있다.
도 8은 벡터 산출부(150)에 의해 수행되는 나선형 탐색의 수행 과정을 설명하기 위한 예시도이다.
도 8에 도시된 바와 같이, 벡터 산출부(150)는 연산 매트릭스에서 최소 값을 갖는 포인트를 찾기 위하여, 연산 매트릭스의 중심 포인트 C1으로부터 시계 방향(또는 반시계 방향)으로 회전하면서 그 회전 반경을 넓혀가는 경로를 통하여 탐색을 수행할 수 있다.
한편, 만약 최소 값을 갖는 포인트가 다수 개일 경우, 벡터 산출부(150)는 중심 포인트 C1로부터 가장 가까운 곳에 위치한 포인트를 검출하여 정합 블록의 위치 정보를 산출할 수 있다. 예를 들면, 도 8에 도시된 B1은 최소 값을 갖는 포인트를 나타내며, A1과 A2는 상기 B1과 동일한 값을 갖는 포인트를 나타낸다. 즉 B1, A1, A2가 동일한 최소 값을 갖는 것이다. 이 경우 벡터 산출부(150)는 중심 포인트인 C1에서 가장 가까운 B1을 검출할 수 있다.
6. 보정부(160)
보정부(160)는 벡터 산출부(150)에 의하여 산출된 움직임 벡터를 사용하여 출력 스케일러부(120)에 의하여 다운 사이징된 현재 프레임의 출력 영상을 보정하는 기능을 수행할 수 있다.
예를 들면, 상기 보정부(160)는 모션 벡터 적분법(MVI : Motion Vector Integration) 등을 사용하여 상기 움직임 벡터의 특성이 사용자의 의도된 움직임인지 아닌지를 판단하여 의도하지 않은 움직임, 즉 손떨림 등인 경우 출력 영상의 오프셋 등을 조정함으로써 상기 움직임 벡터를 출력 영상에 반영하여 보정을 수행할 수 있다.
이상 본 발명의 바람직한 제 1 실시예에 따른 동영상 손떨림 보정 장치(100)의 구성을 살펴보았다. 이하에서는 이러한 동영상 손떨림 보정 장치(100)를 이용하여 보정을 수행하는 과정을 방법론적으로 서술하기로 한다.
도 9는 본 발명의 바람직한 제 1 실시예에 따른 동영상 손떨림 보정 방법을 설명하기 위한 흐름도로서, 현재 프레임의 영상을 보정하기 위한 절차와 관련된 단계들을 중점적으로 보여주고 있다. 앞서도 언급했듯이 현재 프레임의 영상을 보정하기 위해서는 이전 프레임의 정보와 현재 프레임의 정보를 사용하게 된다.
도 9에 도시된 바와 같이, 동영상 손떨림 보정 장치(100)는 먼저 영상 촬영부로부터 순차적으로 수신되는 프레임 영상을 처리하여 각 프레임의 입력 영상을 생성할 수 있다(단계:S1).
예를 들면, 동영상 손떨림 보정 장치(100)는 영상 촬영부(10)로부터 이전 프레임의 영상이 수신되면, 수신되는 이전 프레임의 영상을 다운 사이징한 뒤 각 픽셀 값들을 그레이 레벨 정보로 변환할 수 있다. 이어서 영상 촬영부(10)로부터 현재 프레임의 영상이 수신되면, 동영상 손떨림 보정 장치(100)는 상기 수신되는 현재 프레임의 영상을 다운 사이징한 뒤 각 픽셀 값들을 그레이 레벨 정보로 변환할 수 있다. 즉 동영상 손떨림 보정 장치(100)는 상기 입력 처리 단계(단계:S1)를 통하여 고해상도의 칼라 영상을 다운사이징된 흑백 영상(즉, 각 프레임의 입력 영상)으로 변환시킬 수 있다.
이어서, 동영상 손떨림 보정 장치(100)는 상기 처리된 각 프레임의 입력 영상에서 탐색 영역 및 기준 매크로블록을 선택한다(단계:S2).
예를 들면, 동영상 손떨림 보정 장치(100)는 이전 프레임의 입력 영상에서 탐색 영역 및 기준 매크로블록을 선택하고 선택된 이전 프레임의 탐색 영역 및 기준 매크로블록의 픽셀 데이터를 각각 메모리(20)에 저장한다. 이어서 동영상 손떨림 보정 장치(100)는 현재 프레임의 입력 영상에서 탐색 영역 및 기준 매크로블록을 선택하고 선택된 현재 프레임의 탐색 영역 및 기준 매크로블록의 픽셀 데이터를 메모리(20)에 저장할 수 있다. 상기 저장되는 정보들 중 이전 프레임의 기준 매크로블록의 픽셀 데이터, 현재 프레임의 탐색 영역의 픽셀 데이터 등은 현재 프레임의 움직임 벡터를 산출하기 위한 정보로 사용되게 된다.
이어서, 동영상 손떨림 보정 장치(100)는 이전 프레임의 기준 매크로블록을 현재 프레임의 탐색 영역에 포함된 각 탐색 블록들에 대응시켜 통계적 연산을 수행할 수 있다(단계:S3).
예를 들면, 동영상 손떨림 보정 장치(100)는 메모리(20)로부터 이전 프레임의 기준 매크로블록의 픽셀 데이터를 로딩하고, 메모리로부터 현재 프레임의 탐색 블록의 픽셀 데이터를 로딩할 수 있다. 데이터가 로딩되면, 동영상 손떨림 보정 장치(100)는 상기 이전 프레임의 기준 매크로블록을 현재 프레임의 탐색 영역에 포함된 각각의 탐색 블록들에 대응시켜 가면서 통계적 연산을 수행하여 연산 매트릭스를 산출할 수 있다. 그리고, 상기 산출된 연산 매트릭스를 메모리에 저장할 수 있다.
다음으로, 동영상 손떨림 보정 장치(100)는 상기 통계적 연산의 결과 값을 이용하여 움직임 벡터를 산출할 수 있다(단계:S4). 예를 들면, 동영상 손떨림 보정 장치(100)는 메모리(20)에 저장되어 있는 상기 연산 매트릭스를 로딩하고, 상기 로딩된 연산 매트릭스에서 최소 값을 갖는 포인트를 검출할 수 있다. 그리고 상기 검출된 포인트에 대응하는 탐색 블록을 정합 블록으로 간주하고 그 정합 블록의 위치 정보를 산출한 뒤, 산출된 위치 정보를 이용하여 움직임 벡터를 산출할 수 있다.
상기 동영상 손떨림 보정 장치(100)는, 앞서도 언급했듯이, 연산 매트릭스에서 최소 값을 가지는 포인트를 검출하기 위하여 나선형 탐색 방식을 사용할 수 있다. 또한 탐색 결과 최소 값을 가지는 포인트가 다수 개일 경우 그 다수 개의 포인트 중 중심 포인트로부터 가장 가까운 포인트를 검출할 수 있다.
움직임 벡터가 산출되면, 동영상 손떨림 보정 장치(100)는 상기 산출된 움직임 벡터를 이용하여 출력 영상을 보정한다(단계:S5). 예를 들면, 동영상 손떨림 보정 장치는 상기 산출된 움직임 벡터의 특성이 사용자의 의도된 움직임인지 아닌지를 판단하고 의도하지 않은 움직임, 즉 손떨림 등일 경우 현재 프레임의 출력 영상의 오프셋 등을 조정하여 현재 프레임의 출력 영상을 보정할 수 있다. 이때, 상기 현재 프레임의 출력 영상은 동영상 손떨림 보정 장치(100)에 의하여 사전에 리사이징된 영상일 수도 있다.
이상 본 발명의 바람직한 제 1 실시예에 따른 동영상 손떨림 보정 장치(100) 및 방법에 대하여 상세히 살펴보았다. 이하에서는 본 발명의 바람직한 다른 실시예로서 통계적 연산에서의 연산 량을 더욱 줄일 수 있는 제 2 실시예에 대하여 살펴보기로 한다.
<제 2 실시예>
도 10은 본 발명의 바람직한 제 2 실시예에 따른 동영상 손떨림 보정 장치의 구성을 도시하는 블록도이다.
도 10에 도시된 바와 같이, 본 발명의 바람직한 제 2 실시예에 따른 손떨림 보정 장치(101)는 앞서 설명한 입력 처리부(110), 선택부(130), 연산부(140), 벡터 산출부(150), 출력 스케일러부(120), 보정부(160) 등과 함께, 제어부(180)를 더 구비할 수 있다.
상기 제어부(180)는 두 개의 프레임, 예컨대 이전 프레임과 현재 프레임 내에 각각 포함된 동일한 위치의 매크로블록 간에 픽셀 값의 차이 값을 픽셀 별로 산출하고, 산출된 결과를 근거로 하여 연산부에 의한 통계적 연산을 제어하는 기능을 수행할 수 있다.
예를 들면, 제어부(180)는 이전 프레임의 탐색 영역 내의 특정 매크로블록과, 현재 프레임에서 상기 이전 프레임의 특정 매크로블록과 위치가 동일한 매크로블록 간에 픽셀 값의 차이 값을 픽셀 별로 산출하고, 상기 차이 값이 특정 기준 값 이상인 픽셀을 검출하고, 해당 검출된 픽셀에 대해서만 통계적 연산이 이루어지도록 연산부(140)를 제어하는 기능을 수행할 수 있다.
도 11은 이러한 제어부의 구성을 도시하는 블록도이고, 도 12는 도 11에 도시된 제어부(180)의 동작을 설명하기 위한 흐름도이다.
도 11에 도시된 바와 같이, 제어부(180)는 차연산부(182), 위치 정보 산출부(184) 및 대상 제어부(186)를 포함할 수 있다.
도 11 내지 도 12를 참조하면, 차연산부(182)는 이전 프레임의 탐색 영역 내의 특정 매크로블록의 픽셀 데이터와, 현재 프레임에서 상기 특정 매크로블록과 위치가 동일한 매크로블록의 픽셀 데이터를 각각 메모리로부터 로딩하여 각 픽셀 간에 픽셀 값의 차이 값을 산출할 수 있다(단계:S11).
바람직하기로는, 상기 특정 매크로블록은 기준 매크로블록을 의미할 수 있다. 예컨대, 상기 차연산부(182)는 이전 프레임의 기준 매크로블록의 픽셀 데이터와 현재 프레임의 기준 매크로블록의 픽셀 데이터를 메모리로부터 로딩하고, 이전 프레임의 기준 매크로블록의 각 픽셀 값에서 해당 픽셀과 대응되는 현재 프레임의 픽셀 값을 차감한 뒤 절대값을 취한 값을 산출할 수 있다.
본 제 2 실시예에서는 앞서 설명한 제 1 실시예에서와 같이 이전 프레임 및 현재 프레임의 입력 영상이 입력 처리부(110)에 의하여 흑백 영상으로 변환하였다고 가정하고, 각각의 픽셀 값은 그레이 레벨 값인 것으로 가정하기로 한다. 따라서 이 경우 상기 차이 값이란 그레이 레벨의 차이 값을 의미할 수 있다.
위치 정보 산출부(184)는 상기 차연산부(182)에 의해 산출된 픽셀 별 픽셀 값의 차이 값을 미리 설정된 기준 값과 비교하여, 상기 차이 값이 설정된 기준 값 이상인 픽셀의 위치 정보를 산출한다(단계:S12).
대상 제어부(186)는 상기 산출된 위치 정보를 근거로 픽셀에 따라 통계적 연산이 선별적으로 수행되도록 연산부(140)를 제어할 수 있다(단계:S13). 예를 들면, 대상 제어부(186)는 상기 산출된 위치 정보를 메모리(20)에 저장하고, 통계적 연산을 수행할 때 이전 프레임의 기준 매크로블록의 픽셀들 중 상기 저장된 위치 정보에 해당하는 픽셀만을 대상으로 통계적 연산이 수행되도록 연산부(140)를 제어할 수 있다.
이하에서는, 이러한 구성을 갖는 제어부(180)의 동작 예를 아래의 표 5 내지 표 8을 참조하여 상세히 설명하기로 한다.
Figure 112009024440412-PAT00005
표 5는 이전 프레임의 기준 매크로블록의 예를 나타내고 있다. 표 5에 나타낸 바와 같이 기준 매크로블록은 5 x 5 사이즈의 매크로블록인 것으로 가정하며, 각 픽셀 값은 그레이 레벨 값을 나타내는 것으로 가정한다. 이때 그레이 레벨은 0 내지 255까지의 등급, 즉 8비트의 명도 정보를 나타내는 것으로 예시한다.
Figure 112009024440412-PAT00006
표 6은 표 5에 나타낸 이전 프레임의 기준 매크로블록에 대응되는 현재 프레임의 기준 매크로블록을 나타내고 있다. 상기 이전 프레임의 기준 매크로블록과 현재 프레임의 기준 매크로블록은 해당 프레임의 입력 영상 내에서 동일한 좌표에 위치한다.
제어부(180)는 표 5 내지 표 6에 각각 도시된 각각의 정보들을 메모리(20)로부터 로딩하고, 예컨대 표 5에 도시된 매크로블록의 각 픽셀 값에서 표 6에 도시된 매크로블록의 각 픽셀 값을 차감하고 여기에 절대값을 취하여 각 픽셀 별로 그레이 레벨의 차이 값을 산출할 수 있다. 그러면 아래의 표 7과 같은 매트릭스가 생성될 수 있다.
Figure 112009024440412-PAT00007
표 7에 나타낸 바와 같이, 제어부(20)는 이전 프레임의 기준 매크로블록과 현재 프레임의 기준 매크로블록의 각 픽셀 별 그레이 레벨의 차이 값을 산출할 수 있다.
제어부(20)는 상기 산출된 픽셀 별 차이 값들을 미리 설정된 기준 값과 비교하여 차이 값이 상기 기준 값 이상인 픽셀들의 위치 정보를 검출한다. 즉, 제어부(20)는 차이 값이 기준 값보다 클 경우 해당 픽셀에서 영상의 변화가 존재한다는 것으로 간주하고, 차이 값이 기준 값보다 작을 경우 해당 픽셀에서 영상의 변화가 없다는 것으로 간주한다.
예컨대 상기 기준 값이 10으로 정해진 다면, 제어부(20)는 표 7에 도시된 각 차이 값들과 기준 값인 10을 비교하고, 차이 값이 기준 값 이상인 픽셀들에는 '1' 차이 값이 기준 값 이상인 픽셀들에는 '0'을 부여할 수 있다. 그러면 아래의 표 8에 나타낸 바와 같은 매트릭스 형태의 결과 값을 산출할 수 있다.
Figure 112009024440412-PAT00008
표 8에 나타낸 바와 같이, 기준 매크로블록에서 (2,3), (3,3), (4,2), (4,3), (4,4) 및 (5, 4)의 좌표에 해당하는 픽셀들은 영상의 변화가 존재한다고 판단된 픽셀에 해당한다.
제어부(180)는 이와 같은 표 8에 나타낸 형태의 위치 정보를 메모리(20), 예컨대 라인 메모리에 저장하고, 연산부(140)에 의해서 통계적인 연산이 수행될 때 상기 위치 정보에 해당하는 픽셀들만을 대상으로 통계적 연산이 수행되도록 제어할 수 있다.
예를 들면, 연산부(140)는 이전 프레임의 기준 매크로블록을 탐색 영역 내에서 수평 또는 수직으로 한 라인씩 이동시켜 상기 기준 매크로블록을 탐색 영역 내의 탐색 블록들에 각각 대응시켜 가면서 통계적 연산을 수행할 수 있다.
이때 제어부(180)는 상기 위치 정보에 해당하는 픽셀에 대해서만, 기준 매크로블록의 픽셀 값 및 대응된 탐색 블록의 픽셀 값을 이용한 통계적 연산을 수행하도록 상기 연산부(140)를 제어할 수 있다. 이러한 제어부(180)의 제어에 따라 연산부(140)에 의하여 산출되는 연산 매트릭스는 상기 위치 정보에 해당하는 픽셀들만 통계적 연산 값이 존재할 것이며 나머지 픽셀들은 예컨대 '0'등으로 설정될 것이다.
예컨대, 표 4에 도시된 연산 매트릭스를 산출하는 통계적 연산을 제어부(180)가 표 8에 도시된 위치 정보에 따라 제어하였다고 가정하면, 표 4에 도시된 연산 매트릭스에서 (2,3), (3,3), (4,2), (4,3), (4,4) 및 (5, 4)의 좌표에 해당하는 SAD23, SAD33, SAD42, SAD43, SAD44, SAD53 값만 산출될 것이며, 나머지 좌표의 값들은 0이 될 것이다.
이상 본 발명의 바람직한 제 2 실시예에 따른 동영상 손떨림 보정 장치(101) 및 그 관련 방법을 살펴보았다. 이하에서는 이러한 제 2 실시예에서 제어부의 동작을 변형한 또 다른 실시예를 살펴보기로 한다.
<제 3 실시예>
먼저, 본 발명의 바람직한 제 3 실시예에 따른 동영상 손떨림 보정 장치는 도 10에 도시된 제 2 실시예에서의 구성과 동일하나 제어부의 기능이 변형된다. 본 제 3 실시예에서의 제어부는 이전 프레임의 기준 매크로블록과 현재 프레임의 매크로블록 간에 픽셀 값의 차이 값을 픽셀 별로 산출하고, 기준 매크로블록에서 상기 차이 값이 제 1 기준 값 이상인 픽셀의 비율을 산출할 수 있다. 그리고 그 산출된 비율이 제 2 기준 값 이상일 경우에만 실질적으로 연산부를 제어한다.
도 13은 본 발명의 바람직한 제 3 실시예에 따른 동영상 손떨림 보정 장치에 구비되는 제어부의 구성을 도시하는 블록도이고, 도 14는 도 13에 도시된 제어부의 동작을 설명하기 위한 흐름도이다.
도 13에 도시된 바와 같이, 제어부(280)는 차연산부(282), 비율 산출부(286), 위치 정보 산출부(284) 및 대상 제어부(288) 등을 포함할 수 있다.
도 13 내지 도 14를 참조하면, 차연산부(282)는 이전 프레임의 기준 매크로블록의 픽셀 데이터와, 현재 프레임에서 기준 매크로블록의 픽셀 데이터를 각각 메모리(20)로부터 로딩하여 각 픽셀 간에 픽셀 값의 차이 값을 산출할 수 있다(단계:S21).
예를 들어, 상기 차연산부(282)는 이전 프레임의 기준 매크로블록의 픽셀 데이터와 현재 프레임의 기준 매크로블록의 픽셀 데이터를 메모리(20)로부터 로딩하고, 이전 프레임의 기준 매크로블록의 각 픽셀 값에서 해당 픽셀과 대응되는 현재 프레임의 픽셀 값을 차감한 뒤 절대값을 취한 값을 산출할 수 있다. 이때 산출되는 차이 값은 예컨대 그레이 레벨 등의 차이 값일 수 있다.
위치 정보 산출부(284)는 상기 차연산부(282)에 의해 산출된 픽셀 별 픽셀 값의 차이 값을 미리 설정된 제 1 기준 값과 비교하여, 상기 차이 값이 제 1 기준 값 이상인 픽셀의 위치 정보를 산출한다(단계:S22).
비율 산출부(286)는 기준 매크로블록에서 상기 차이 값이 제 1 기준 값 이상인 픽셀이 차지하는 비율을 산출할 수 있다(단계:S23). 예컨대 앞서 설명한 표 8에 도시된 예에서, 매크로블록의 전체 픽셀은 25 개이고 차이 값이 특정 기준 값 이상인 픽셀은 6 개이므로, 상기 비율 산출부(286)는 상기 차이 값이 제 1 기준 값 이상인 픽셀의 비율을 '24%'로 산출할 수 있다.
대상 제어부(288)는 상기 산출된 비율을 미리 설정된 제 2 기준 값과 비교한다(단계:S24). 이때, 만약 상기 산출된 비율이 미리 설정된 제 2 기준 값 미만일 경우, 대상 제어부(288)는 상기 산출된 위치 정보를 근거로 통계적 연산이 수행되도록 연산부(140)를 제어할 수 있다(단계:S25). 예를 들면, 대상 제어부(288)는 상기 산출된 위치 정보를 메모리(20)에 저장하고, 통계적 연산을 수행할 때 이전 프레임의 기준 매크로블록의 픽셀들 중 상기 저장된 위치 정보에 해당하는 픽셀만을 대상으로 통계적 연산이 수행되도록 연산부(140)를 제어할 수 있다.
반면, 상기 산출된 비율과 제 2 기준 값을 비교한 결과, 만약 상기 산출될 비율이 미리 설정된 제 2 기준 값 이상일 경우, 대상 제어부(288)는 통계적 연산의 수행 시에 이전 프레임의 기준 매트릭스에 포함되는 모든 픽셀에 대하여 통계적 연산이 수행되도록 제어할 수 있다(단계:S27).
이상, 제 2 실시예 및 제 3 실시예에서를 통하여 제어부가 이전 프레임의 매크로블록과, 이와 위치가 동일한 현재 프레임의 매크로블록의 픽셀 값을 연산하여 연산부를 제어하는 실시예를 설명하였다. 이러한 제어부의 동작에 따라, 연산 량은 획기적으로 줄이면서도 실제 흔들림이 있는 픽셀들을 정확하게 판별하여 통계적 연산에 반영할 수 있다.
한편, 현재 프레임의 보정을 위한 통계적 연산을 제어하기 위하여, 이전 프레임(즉 제 N-1 프레임) 및 이전 프레임의 선행 프레임(즉 N-2 프레임)의 매크로블록의 픽셀 값을 연산할 수도 있다. 예를 들면, 제어부는 상기 선행 프레임의 기준 매크로블록 및 이전 프레임의 기준 매크로블록 간에 픽셀 값의 차이 값을 픽셀 별로 산출하고, 상기 차이 값이 제 1 기준 값 이상인 픽셀들의 위치 정보를 검출한 뒤, 현재 프레임의 통계적 연산 시에 상기 위치 정보를 토대로 통계적 연산을 제어할 수도 있다. 이때, 상기 차이 값이 제 1 기준 값 이상인 픽셀들의 비율을 산출하고 이를 제 2 기준 값과 비교하여 제어 방식을 결정할 수도 있다.
이상 본 발명에 대하여 그 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 전술된 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 안된다.
도 1은 본 발명의 바람직한 제 1 실시예에 따른 동영상 손떨림 보정 장치를 구비하는 디지털 영상 촬영 장치의 구성을 도시하는 블록도이다.
도 2는 상기 언급된 손떨림 왜곡의 개념을 예시적으로 설명하기 위한 예시도이다.
도 3은 이러한 손떨림에 의한 왜곡을 보정할 수 있는 움직임 추정을 설명하기 위한 그래프이다.
도 4는 도 1에 도시되어 있는 동영상 손떨림 보정 장치의 상세 구성을 도시하는 블록도이다.
도 5는 도 4에 도시되어 있는 입력 처리부의 구성을 나타내는 블록도이다.
도 6은 선택부에 의하여 선택되는 탐색 영역 및 기준 매크로블록을 설명하기 위한 예시도이다.
도 7은 도 4에 도시되어 있는 연산부의 구성을 도시하는 블록도이다.
도 8은 벡터 산출부에 의해 수행되는 나선형 탐색의 수행 과정을 설명하기 위한 예시도이다.
도 9는 본 발명의 바람직한 제 1 실시예에 따른 동영상 손떨림 보정 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 바람직한 제 2 실시예에 따른 동영상 손떨림 보정 장치의 구성을 도시하는 블록도이다.
도 11은 본 발명의 바람직한 제 2 실시예에 따른 동영상 손떨림 보정 장치에 구비되는 제어부의 구성을 도시하는 블록도이다.
도 12는 도 11에 도시된 제어부의 동작을 설명하기 위한 흐름도이다.
도 13은 본 발명의 바람직한 제 3 실시예에 따른 동영상 손떨림 보정 장치에 구비되는 제어부의 구성을 도시하는 블록도이다.
도 14는 도 13에 도시된 제어부의 동작을 설명하기 위한 흐름도이다.
<도면의 주요 부분에 대한 부호 설명>
10 : 영상 촬영부 20 : 메모리
30 : 디스플레이부 100 : 동영상 손떨림 보정 장치
110 : 입력 처리부 120 : 출력 스케일러부
130 : 선택부 140 : 연산부
150 : 벡터 산출부 160 : 보정부
180, 280 : 제어부

Claims (20)

  1. 제 1 프레임의 입력 영상에서 적어도 하나의 기준 매크로블록을 선택하고, 제 2 프레임의 입력 영상에서 상기 적어도 하나의 기준 매크로블록에 대응하는 적어도 하나의 탐색 영역을 선택하는 선택부;
    상기 제 1 프레임의 기준 매크로블록을 상기 제 2 프레임의 탐색 영역에 포함된 각각의 탐색 블록들에 대응시켜 통계적 연산을 수행하는 연산부; 및
    상기 통계적 연산의 결과 값을 이용하여 상기 제 2 프레임의 출력 영상을 보정하기 위한 움직임 벡터를 산출하는 벡터 산출부를 포함하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  2. 제 1 항에 있어서, 상기 적어도 하나의 탐색 영역은 상기 제 2 프레임의 입력 영상의 중심에서 특정 거리만큼 떨어진 서로 이격된 다수 개의 영역인 것을 특징으로 하는 동영상 손떨림 보정 장치.
  3. 제 1 항에 있어서, 상기 제 1 프레임의 기준 매크로블록은 상기 제 1 프레임의 탐색 영역에 포함되며, 상기 제 1 프레임의 탐색 영역과 상기 제 2 프레임의 탐색 영역은 입력 영상에서 동일한 좌표에 위치하는 것을 특징으로 하는 동영상 손떨 림 보정 창치.
  4. 제 1 항에 있어서, 상기 선택부는 상기 제 1 프레임의 기준 매크로블록의 픽셀 데이터 및 상기 제 2 프레임의 탐색 영역의 픽셀 데이터를 메모리에 저장하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  5. 제 4 항에 있어서, 상기 연산부는,
    상기 메모리에 저장된 상기 제 1 프레임의 기준 매크로블록의 픽셀 데이터를 로딩하는 제 1 입력부;
    상기 메모리에 저장된 상기 제 2 프레임의 탐색 영역의 픽셀 데이터를 로딩하는 제 2 입력부; 및
    상기 제 1 프레임의 기준 매크로블록을 상기 제 2 프레임의 탐색 영역 내에 포함된 각각의 탐색 블록에 대응되도록 수직 또는 수평 방향으로 이동시키면서 상기 통계적 연산을 수행하여 연산 매트릭스를 산출하고, 상기 산출되는 연산 매트릭스를 상기 메모리에 저장하는 통계 연산부를 포함하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  6. 제 1 항에 있어서, 상기 제 1 프레임의 특정 매크로블록의 픽셀 데이터와, 상기 제 1 프레임의 특정 매크로블록과 동일한 좌표에 위치하는 상기 제 2 프레임의 매크로블록의 픽셀 데이터를 연산하고, 상기 연산된 정보를 근거로 하여 상기 연산부에 의한 상기 통계적 연산을 제어하는 제어부를 더 포함하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  7. 제 6 항에 있어서, 상기 특정 매크로블록은 기준 매크로블록이며,
    상기 제어부는,
    상기 제 1 프레임의 기준 매크로블록의 픽셀 데이터와 상기 제 2 프레임의 기준 매크로블록의 픽셀 데이터를 로딩하고, 상기 제 1 프레임의 기준 매크로블록과 상기 제 2 프레임의 기준 매크로블록 간에 픽셀 값의 차이 값을 각각의 픽셀 별로 산출하는 차연산부;
    상기 차이 값이 미리 설정된 기준 값 이상인 픽셀의 위치 정보를 산출하는 위치 정보 산출부; 및
    상기 제 1 프레임의 기준 매크로블록의 픽셀들 중 상기 산출된 위치 정보에 해당하는 픽셀만을 대상으로 상기 통계적 연산이 수행되도록 상기 연산부를 제어하는 대상 제어부를 포함하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  8. 제 6 항에 있어서, 상기 특정 매크로블록은 기준 매크로블록이며,
    상기 제어부는,
    상기 제 1 프레임의 기준 매크로블록의 픽셀 데이터와 상기 제 2 프레임의 기준 매크로블록의 픽셀 데이터를 로딩하고, 상기 제 1 프레임의 기준 매크로블록과 상기 제 2 프레임의 기준 매크로블록 간에 픽셀 값의 차이 값을 각각의 픽셀 별로 산출하는 차연산부;
    상기 차이 값이 미리 설정된 제 1 기준 값 이상인 픽셀의 위치 정보를 산출하는 위치 정보 산출부;
    상기 차이 값이 미리 설정된 제 1 기준 값 이상인 픽셀이 기준 매크로블록에서 차지하는 비율을 산출하는 비율 산출부; 및
    상기 산출된 비율이 미리 설정된 제 2 기준 값 미만일 경우, 상기 제 1 프레임의 기준 매크로블록의 픽셀들 중 상기 위치 정보에 해당하는 픽셀만을 대상으로 상기 통계적 연산이 수행되도록 상기 연산부를 제어하고, 상기 비율이 미리 설정된 제 2 기준 값 이상일 경우 상기 제 1 프레임의 기준 매크로블록의 모든 픽셀들을 대상으로 상기 통계적 연산이 수행되도록 상기 연산부를 제어하는 제어부를 포함하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  9. 제 1 항에 있어서, 상기 제 1 프레임의 특정 매크로블록의 픽셀 데이터와, 상기 제 1 프레임의 특정 매크로블록과 동일한 좌표에 위치하는 상기 제 1 프레임 의 이전 프레임의 매크로블록의 픽셀 데이터를 연산하고, 상기 연산된 정보를 근거로 하여 상기 연산부에 의한 상기 통계적 연산을 제어하는 제어부를 더 포함하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  10. 제 1 항에 있어서, 외부로부터 제 1 프레임 및 제 2 프레임의 영상을 각각 수신하여 다운사이징하고, 상기 다운사이징된 영상의 각 픽셀 값을 그레이 레벨 값으로 변환하여 상기 제 1 프레임의 입력 영상 및 상기 제 2 프레임의 입력 영상을 각각 생성하는 입력 처리부를 더 포함하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  11. 제 10 항에 있어서, 상기 입력 처리부는,
    영상 촬영부로부터 상기 제 1 프레임 및 상기 제 2 프레임의 영상을 각각 수신하는 영상 수신부;
    상기 수신된 제 1 프레임 및 제 2 프레임의 영상의 해상도를 낮추는 입력 스케일러부;
    상기 입력 스케일러부에 의하여 처리된 영상의 각 픽셀 값을 그레이 레벨 값으로 변환하는 정보 변환부를 포함하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  12. 제 1 항에 있어서, 외부로부터 제 1 프레임 및 제 2 프레임의 영상을 각각 수신하고, 그 사이즈를 출력 영상의 사이즈로 다운 사이징하는 출력 스케일러부를 더 포함하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  13. 제 12 항에 있어서, 상기 산출되는 움직임 벡터를 이용하여 상기 출력 스케일러부에 의하여 다운 사이징되는 상기 제 2 프레임의 출력 영상을 보정하는 보정부를 더 포함하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  14. 제 1 항에 있어서, 상기 벡터 산출부는 상기 통계적 연산을 통하여 산출되는 연산 매트릭스에서 최소 값을 가지는 포인트를 검출하여 상기 제 2 프레임의 탐색 영역에 포함된 탐색 블록 중 정합 블록의 위치 정보를 산출하고, 상기 산출된 정합 블록의 위치 정보를 기초로 하여 상기 움직임 벡터를 산출하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  15. 제 14 항에 있어서, 상기 벡터 산출부는 상기 연산 매트릭스에서 상기 최소 값을 가지는 포인트를 검출하기 위하여 상기 연산 매트릭스의 중심 포인트로부터 나선형의 방향으로 포인트의 값을 탐색하는 나선형 탐색(Spiral Search) 방식을 사용하는 것을 특징으로 하는 동영상 손떨림 보정 장치.
  16. 제 1 프레임의 입력 영상에서 적어도 하나의 기준 매크로블록을 선택하는 단계;
    제 2 프레임의 입력 영상에서 상기 적어도 하나의 기준 매크로블록에 대응하는 적어도 하나의 탐색 영역을 선택하는 단계;
    상기 제 1 프레임의 기준 매크로블록을 상기 제 2 프레임의 탐색 영역에 포함된 각각의 탐색 블록들에 대응시켜 통계적 연산을 수행하는 단계; 및
    상기 통계적 연산의 결과 값을 이용하여, 상기 제 2 프레임의 출력 영상을 보정하기 위한 움직임 벡터를 산출하는 단계를 포함하는 것을 특징으로 하는 동영상 손떨림 보정 방법.
  17. 제 16 항에 있어서, 상기 제 1 프레임의 기준 매크로블록의 픽셀 데이터를 로딩하는 단계;
    상기 제 1 프레임의 기준 매크로블록과 동일한 좌표에 위치하는 상기 제 2 프레임의 기준 매크로블록을 로딩하는 단계;
    상기 로딩된 제 1 프레임의 기준 매크로블록 및 상기 로딩된 제 2 프레임의 기준 매크로블록의 픽셀 데이터를 연산하는 단계; 및
    상기 연산된 정보를 근거로 하여 상기 통계적 연산을 제어하는 단계를 더 포함하는 것을 특징으로 하는 동영상 손떨림 보정 방법
  18. 제 17 항에 있어서, 상기 연산하는 단계는,
    상기 제 1 프레임의 기준 매크로블록과 상기 제 2 프레임의 기준 매크로블록 간에 픽셀 값의 차이 값을 각각의 픽셀 별로 산출하는 단계;
    상기 산출된 차이 값을 제 1 기준 값과 비교하는 단계; 및
    상기 산출된 차이 값이 제 1 기준 값 이상인 픽셀의 위치 정보를 산출하는 단계를 포함하는 것을 특징으로 하는 동영상 손떨림 보정 방법.
  19. 제 18 항에 있어서, 상기 통계적 연산을 제어하는 단계는,
    상기 제 1 프레임의 기준 매크로블록의 픽셀들 중 상기 위치 정보에 해당하는 픽셀만을 대상으로 상기 통계적 연산이 수행되도록 제어하는 단계를 포함하는 것을 특징으로 하는 동영상 손떨림 보정 방법.
  20. 제 18 항에 있어서, 상기 연산하는 단계는,
    상기 산출된 차이 값이 제 1 기준 값 이상인 픽셀의 기준 매크로블록에서 차지하는 비율을 산출하는 단계;
    상기 산출된 비율을 제 2 기준 값과 비교하는 단계를 더 포함하며,
    상기 통계적 연산을 제어하는 단계는,
    상기 산출된 비율을 상기 제 2 기준 값과 비교한 결과 정보 및 상기 산출된 위치 정보 중 적어도 어느 하나를 사용하여 상기 통계적 연산을 제어하는 단계를 포함하는 것을 특징으로 하는 동영상 손떨림 보정 방법.
KR1020090035224A 2008-04-22 2009-04-22 동영상 손떨림 보정 장치 및 방법 KR101012481B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090035224A KR101012481B1 (ko) 2008-04-22 2009-04-22 동영상 손떨림 보정 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080037172 2008-04-22
KR1020090035224A KR101012481B1 (ko) 2008-04-22 2009-04-22 동영상 손떨림 보정 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090111789A true KR20090111789A (ko) 2009-10-27
KR101012481B1 KR101012481B1 (ko) 2011-02-08

Family

ID=41539526

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090035224A KR101012481B1 (ko) 2008-04-22 2009-04-22 동영상 손떨림 보정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101012481B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101228328B1 (ko) * 2011-01-31 2013-01-31 삼성테크윈 주식회사 표시장치 및 표시장치의 제어방법
KR101502864B1 (ko) * 2013-07-01 2015-03-17 경희대학교 산학협력단 가속도 센서를 사용한 비디오 카메라의 앵글 흔들림 보정 장치 및 그 방법과, 그 장치를 포함하는 휴대용 단말
CN114666498A (zh) * 2022-02-28 2022-06-24 超级视线科技有限公司 一种视频图像采集抖动处理方法及系统
CN116074533A (zh) * 2023-04-06 2023-05-05 湖南国科微电子股份有限公司 运动矢量预测方法、系统、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004193981A (ja) 2002-12-11 2004-07-08 Canon Inc 撮像装置
JP2005086499A (ja) 2003-09-09 2005-03-31 Minolta Co Ltd 撮像装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101228328B1 (ko) * 2011-01-31 2013-01-31 삼성테크윈 주식회사 표시장치 및 표시장치의 제어방법
KR101502864B1 (ko) * 2013-07-01 2015-03-17 경희대학교 산학협력단 가속도 센서를 사용한 비디오 카메라의 앵글 흔들림 보정 장치 및 그 방법과, 그 장치를 포함하는 휴대용 단말
CN114666498A (zh) * 2022-02-28 2022-06-24 超级视线科技有限公司 一种视频图像采集抖动处理方法及系统
CN116074533A (zh) * 2023-04-06 2023-05-05 湖南国科微电子股份有限公司 运动矢量预测方法、系统、电子设备及存储介质
CN116074533B (zh) * 2023-04-06 2023-08-22 湖南国科微电子股份有限公司 运动矢量预测方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
KR101012481B1 (ko) 2011-02-08

Similar Documents

Publication Publication Date Title
JP5189678B2 (ja) 動画像の手ぶれ補正装置及び方法
US8411172B2 (en) Imaging device and image processing apparatus
JP4705664B2 (ja) 累積および平均化を用いる適応バッファ値のためのバッファ管理
US9055217B2 (en) Image compositing apparatus, image compositing method and program recording device
US8542741B2 (en) Image processing device and image processing method
WO2013005316A1 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
US20080259175A1 (en) Imaging Device
US20080101710A1 (en) Image processing device and imaging device
US20100208086A1 (en) Reduced-memory video stabilization
US20130076855A1 (en) Image processing device capable of generating wide-range image
KR101012481B1 (ko) 동영상 손떨림 보정 장치 및 방법
US8269859B2 (en) Photographing apparatus that performs distortion correction in association with digital and optical zoom, method of controlling the same, and recording medium having recorded thereon computer program to implement the method
EP1542454A2 (en) Image processing apparatus
JP6231816B2 (ja) 撮像装置およびその制御方法、プログラム並びに記憶媒体
JP5424068B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体
KR20190087119A (ko) 이미지를 안정화하는 이미지 처리 장치 및 이미지를 안정화하는 방법
CN114390188A (zh) 一种图像处理方法和电子设备
JP2015104030A (ja) 撮像装置およびその制御方法
US7623184B2 (en) Apparatus and method for digital image stabilization
JP2020188452A (ja) 撮像装置およびその制御方法
JP2015173388A (ja) 撮像装置及びその制御方法
KR101022984B1 (ko) 실시간 움직임 추정 장치 및 방법
JPH0846856A (ja) 手振れ補正装置
JP5401696B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2007259105A (ja) 手振れ補正方法及びその装置並びに撮像装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150108

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161223

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171222

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181224

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191224

Year of fee payment: 10