KR20190087119A - 이미지를 안정화하는 이미지 처리 장치 및 이미지를 안정화하는 방법 - Google Patents
이미지를 안정화하는 이미지 처리 장치 및 이미지를 안정화하는 방법 Download PDFInfo
- Publication number
- KR20190087119A KR20190087119A KR1020180005521A KR20180005521A KR20190087119A KR 20190087119 A KR20190087119 A KR 20190087119A KR 1020180005521 A KR1020180005521 A KR 1020180005521A KR 20180005521 A KR20180005521 A KR 20180005521A KR 20190087119 A KR20190087119 A KR 20190087119A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- gain
- image sensor
- feature
- feature points
- Prior art date
Links
Images
Classifications
-
- H04N5/23267—
-
- 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/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
-
- H04N5/23254—
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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
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)
- Image Analysis (AREA)
Abstract
본 발명의 실시 예에 따른 이미지의 흔들림을 안정화하는 이미지 처리 장치는, 이미지 센서와 통신하는 입력 인터페이스, 그리고 이미지 센서로부터 입력 인터페이스를 통해 수신되는 제 1 및 제 2 이미지들을 처리하도록 구성되는 모션 벡터 검출기를 포함한다. 모션 벡터 검출기는 제 1 이미지에서 임계값 이상의 특징값들을 갖는 특징점들을 검출하고, 특징점들 중 적어도 일부를 이용하여 제 1 이미지를 제 2 이미지와 비교함으로써 제 1 이미지의 글로벌 모션 벡터를 결정하도록 구성된다. 임계값은 이미지 센서의 게인에 따라 조절된다.
Description
본 발명은 전자 장치에 관한 것으로, 좀 더 구체적으로는 이미지를 안정화하는 이미지 처리 장치 및 이미지를 안정화하는 방법에 관한 것이다.
최근 카메라 영상 기술의 발전과 더불어 디지털 영상 기기의 사용이 급증하면서 영상의 흔들림에 대한 보정 방안이 대두되고 있다. 영상의 흔들림은 다양한 환경에서 발생하는데 대표적으로 사용자의 휴대용 디지털 카메라, 스마트폰과 같은 이동식 단말기의 카메라를 이용하였을 경우 사용자의 손떨림 등에 의해 흔들림이 발생하고, 야외 설치된 CCTV 카메라는 비, 바람 등의 기상환경으로 인해 흔들림이 발생하며, 자동차 내 설치된 블랙박스 카메라는 주행 중 차량 진동에 의해 흔들림이 발생하게 된다.
이러한 영상 흔들림을 보정하는 영상 안정화 분야에서 영상의 흔들림을 간편하고 정확하게 보정하는 장치나 프로그램에 대한 요구가 있어 왔다.
위 기재된 내용은 오직 본 발명의 기술적 사상들에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.
본 발명의 실시 예들은 이미지의 흔들림을 효율적으로 안정화하는 이미지 처리 장치 및 이미지를 안정화하는 방법을 제공하기 위한 것이다.
본 발명의 실시 예에 따른 이미지의 흔들림을 안정화하는 이미지 처리 장치는, 이미지 센서와 통신하는 입력 인터페이스; 및 상기 이미지 센서로부터 상기 입력 인터페이스를 통해 수신되는 제 1 및 제 2 이미지들을 처리하도록 구성되는 모션 벡터 검출기를 포함하되, 상기 모션 벡터 검출기는 상기 제 1 이미지에서 임계값 이상의 특징값들을 갖는 특징점들을 검출하고, 상기 특징점들 중 적어도 일부를 이용하여 상기 제 1 이미지를 상기 제 2 이미지와 비교함으로써 상기 제 1 이미지의 글로벌 모션 벡터를 결정하도록 구성되며, 상기 임계값은 상기 이미지 센서의 게인에 따라 조절된다.
상기 임계값은 상기 이미지 센서의 상기 게인이 증가할수록 높아질 수 있다.
상기 임계값은, 상기 이미지 센서의 상기 게인이 제 1 레벨보다 낮을 때 제 1 값으로 고정되고, 상기 이미지 센서의 상기 게인이 상기 제 1 레벨보다 높은 제 2 레벨보다 높을 때 상기 제 1 값보다 높은 제 2 값으로 고정되고, 상기 이미지 센서의 상기 게인이 상기 제 1 레벨 및 상기 제 2 레벨 사이일 때 상기 제 1 값과 상기 제 2 값 사이에서 상기 이미지 센서의 상기 게인이 증가할수록 높아질 수 있다.
상기 특징값들은 콘트라스트 레벨들일 수 있다.
상기 제 1 이미지는 복수의 서브 블록들을 포함하고, 상기 모션 벡터 검출기는, 상기 복수의 서브 블록들에서 각각 특징점 후보들을 검출하고, 상기 특징점 후보들 중 상기 임계값 이상의 특징값들을 갖는 특징점 후보들을 상기 특징점들로 선택하도록 구성될 수 있다.
상기 이미지 처리 장치는 상기 글로벌 모션 벡터에 따라 상기 제 1 이미지를 보정하도록 구성되는 이미지 안정화기를 더 포함할 수 있다.
상기 모션 벡터 검출기는 상기 제 1 이미지의 특징점 그룹들 각각과 상기 제 2 이미지 사이의 로컬 모션 벡터들을 결정하고, 상기 로컬 모션 벡터들에 따라 상기 글로벌 모션 벡터를 결정하도록 구성되며, 상기 특징점 그룹들은 상기 특징점들 중 적어도 일부를 그룹핑함으로써 정의될 수 있다.
상기 모션 벡터 검출기는 상기 이미지 센서의 상기 게인에 따라 상기 특징점 그룹들 각각에 포함되는 특징점들의 개수를 조절할 수 있다.
상기 이미지 센서의 상기 게인이 증가할수록 상기 개수는 증가할 수 있다.
상기 개수는, 상기 이미지 센서의 상기 게인이 제 1 레벨보다 낮을 때 제 1 값으로 고정되고, 상기 이미지 센서의 상기 게인이 상기 제 1 레벨보다 높은 제 2 레벨보다 높을 때 상기 제 1 값보다 높은 제 2 값으로 고정되고, 상기 이미지 센서의 상기 게인이 상기 제 1 레벨 및 상기 제 2 레벨 사이일 때 상기 제 1 값과 상기 제 2 값 사이에서 상기 이미지 센서의 상기 게인이 증가할수록 증가할 수 있다.
본 발명의 다른 일면은 이미지를 안정화하는 방법에 관한 것이다. 상기 방법은, 이미지 센서로부터 제 1 및 제 2 이미지들을 수신하는 단계; 상기 이미지 센서의 게인을 수신하는 단계; 상기 제 1 이미지에서 임계값 이상의 특징값들을 갖는 특징점들을 추출하는 단계; 및 상기 특징점들 중 적어도 일부를 이용하여 상기 제 1 이미지를 상기 제 2 이미지와 비교함으로써 상기 제 1 이미지의 흔들림을 보정하는 단계를 포함하되, 상기 임계값은 상기 이미지 센서의 상기 게인에 따라 조절된다.
상기 임계값은 상기 이미지 센서의 상기 게인이 증가할수록 높아질 수 있다.
상기 제 1 이미지의 흔들림을 보정하는 단계는, 상기 제 1 이미지의 특징점 그룹들 각각과 상기 제 2 이미지 사이의 로컬 모션 벡터들을 결정하는 단계; 및 상기 로컬 모션 벡터들에 따라 상기 제 1 이미지의 글로벌 모션 벡터를 결정하는 단계를 포함하되, 상기 특징점 그룹들은 상기 특징점들 중 적어도 일부를 그룹핑함으로써 정의될 수 있다.
상기 특징점 그룹들 각각에 포함되는 특징점들의 개수는 상기 이미지 센서의 상기 게인에 따라 조절될 수 있다.
상기 이미지 센서의 상기 게인이 증가할수록 상기 개수는 증가할 수 있다.
본 발명의 다른 실시 예에 따른 이미지의 흔들림을 안정화하는 이미지 처리 장치는, 이미지 센서와 통신하는 입력 인터페이스; 및 상기 입력 인터페이스를 통해 상기 이미지 센서로부터 제 1 및 제 2 이미지들을 수신하고, 상기 제 1 이미지의 특징점 그룹들 각각과 상기 제 2 이미지 사이의 로컬 모션 벡터들에 따라 글로벌 모션 벡터를 결정하도록 구성되는 모션 벡터 검출기를 포함하며, 상기 특징점 그룹들은 상기 제 1 이미지에 포함되는 특징점들 중 적어도 일부를 그룹핑함으로써 정의되고, 상기 모션 벡터 검출기는 상기 이미지 센서의 게인에 따라 상기 특징점 그룹들 각각에 포함되는 특징점들의 개수를 조절하도록 구성된다.
상기 개수는 상기 이미지 센서의 상기 게인이 증가할수록 증가할 수 있다.
상기 제 1 이미지에 포함되는 특징점들은 임계값 이상의 특징값들을 갖되, 상기 임계값은 상기 이미지 센서의 상기 게인이 증가할수록 높아질 수 있다.
상기 제 1 이미지는 복수의 서브 블록들을 포함하고, 상기 모션 벡터 검출기는, 상기 복수의 서브 블록들에서 각각 특징점 후보들을 검출하고, 상기 특징점 후보들 중 상기 임계값 이상의 특징값들을 갖는 특징점 후보들을 상기 제 1 이미지에 포함되는 특징점들로 선택하도록 구성될 수 있다.
상기 임계값은 상기 이미지 센서의 상기 게인이 증가할수록 높아질 수 있다.
본 발명의 다른 실시 예에 따른 이미지의 흔들림을 안정화하는 방법은, 이미지 센서로부터 제 1 및 제 2 이미지들을 수신하는 단계; 상기 이미지 센서의 게인을 수신하는 단계; 및 상기 제 1 이미지의 특징점 그룹들을 이용하여 상기 제 1 이미지를 상기 제 2 이미지와 비교함으로써 상기 제 1 이미지의 흔들림을 보정하되, 상기 특징점 그룹들은 상기 제 1 이미지에 포함되는 특징점들 중 적어도 일부를 그룹핑함으로써 정의되는, 단계를 포함하되, 상기 이미지 센서의 게인에 따라 상기 특징점 그룹들 각각에 포함되는 특징점들의 개수가 조절된다.
상기 개수는 상기 이미지 센서의 상기 게인이 증가할수록 증가할 수 있다.
상기 제 1 이미지에 포함되는 특징점들은 임계값 이상의 특징값들을 갖되, 상기 임계값은 상기 이미지 센서의 상기 게인이 증가할수록 높아질 수 있다.
상기 제 1 이미지는 복수의 서브 블록들을 포함하고, 상기 모션 벡터 검출기는, 상기 복수의 서브 블록들에서 각각 특징점 후보들을 선택하고, 상기 선택된 특징점 후보들 중 상기 임계값 이상의 특징값들을 갖는 특징점 후보들을 상기 특징점들로 선택하도록 구성될 수 있다.
본 발명의 실시 예들에 따르면, 이미지의 흔들림을 효율적으로 안정화하는 이미지 처리 장치 및 이미지를 안정화하는 방법이 제공된다.
도 1은 영상촬영장치가 흔들리는 경우 영상촬영장치에 의해 촬영되는 이미지들을 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 이미지 처리 장치를 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 이미지 처리 장치에서 이미지의 흔들림을 보정하는 방법을 보여주는 순서도이다.
도 4는 도 3의 S120단계의 실시 예를 보여주는 순서도이다.
도 5a는 타겟 이미지에서 검출되는 특징점 후보들을 설명하기 위한 도면이다.
도 5b는 특징점 후보들로부터 선택되는 특징점들을 설명하기 위한 도면이다.
도 6은 이미지 센서의 게인과 임계값 사이의 관계를 보여주는 그래프이다.
도 7은 특징점들 중 적어도 일부를 이용하여 타겟 이미지와 비교 이미지를 비교하는 본 발명의 실시 예에 따른 방법을 보여주는 순서도이다.
도 8은 도 7의 S310단계의 실시 예를 보여주는 순서도이다.
도 9는 도 8의 S410단계의 로컬 모션 벡터들을 계산하는 과정을 설명하기 위한 개념도이다.
도 10은 도 8의 S420단계의 로컬 모션 벡터들을 이용하여 특징점들을 선택하는 과정을 설명하기 위한 개념도이다.
도 11은 도 7의 S310단계의 다른 실시 예를 보여주는 순서도이다.
도 12는 도 7의 S320단계의 특징점들을 그룹핑하는 실시 예를 설명하기 위한 개념도이다.
도 13은 이미지 센서의 게인과 특징점 그룹에 포함되는 특징점들의 수 사이의 관계를 보여주는 그래프이다.
도 14는 영상촬영장치를 구현하기 위한 예시적인 컴퓨터 시스템을 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 이미지 처리 장치를 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 이미지 처리 장치에서 이미지의 흔들림을 보정하는 방법을 보여주는 순서도이다.
도 4는 도 3의 S120단계의 실시 예를 보여주는 순서도이다.
도 5a는 타겟 이미지에서 검출되는 특징점 후보들을 설명하기 위한 도면이다.
도 5b는 특징점 후보들로부터 선택되는 특징점들을 설명하기 위한 도면이다.
도 6은 이미지 센서의 게인과 임계값 사이의 관계를 보여주는 그래프이다.
도 7은 특징점들 중 적어도 일부를 이용하여 타겟 이미지와 비교 이미지를 비교하는 본 발명의 실시 예에 따른 방법을 보여주는 순서도이다.
도 8은 도 7의 S310단계의 실시 예를 보여주는 순서도이다.
도 9는 도 8의 S410단계의 로컬 모션 벡터들을 계산하는 과정을 설명하기 위한 개념도이다.
도 10은 도 8의 S420단계의 로컬 모션 벡터들을 이용하여 특징점들을 선택하는 과정을 설명하기 위한 개념도이다.
도 11은 도 7의 S310단계의 다른 실시 예를 보여주는 순서도이다.
도 12는 도 7의 S320단계의 특징점들을 그룹핑하는 실시 예를 설명하기 위한 개념도이다.
도 13은 이미지 센서의 게인과 특징점 그룹에 포함되는 특징점들의 수 사이의 관계를 보여주는 그래프이다.
도 14는 영상촬영장치를 구현하기 위한 예시적인 컴퓨터 시스템을 보여주는 블록도이다.
아래의 서술에서, 설명의 목적으로, 다양한 실시예들의 이해를 돕기 위해 다수의 구체적 세부 내용들이 제시된다. 그러나, 다양한 실시예들이 이러한 구체적인 세부 내용들 없이 또는 하나 이상의 동등한 방식으로 실시될 수 있다는 것은 명백하다. 다른 예시들에서, 잘 알려진 구조들과 장치들은 다양한 실시예들을 불필요하게 이해하기 어렵게 하는 것을 피하기 위해 블록도로 표시된다.
어떤 소자 또는 레이어가 다른 소자 또는 레이어와 "연결되어 있다”고 서술되어 있으면, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 소자나 레이어를 사이에 두고 간접적으로 연결되어 있는 경우도 포함한다. 그러나, 만약 어떤 부분이 다른 부분과 "직접적으로 연결되어 있다”고 서술되어 있으면, 이는 해당 부분과 다른 부분 사이에 다른 소자가 없음을 의미한다. "X, Y, 및 Z 중 적어도 어느 하나", 그리고 "X, Y, 및 Z로 구성된 그룹으로부터 선택된 적어도 어느 하나"는 X 하나, Y 하나, Z 하나, 또는 X, Y, 및 Z 중 둘 또는 그 이상의 어떤 조합 (예를 들면, XYZ, XYY, YZ, ZZ) 으로 해석될 수 있다. 여기에서, "및/또는"은 해당 구성들 중 하나 또는 그 이상의 모든 조합을 포함한다.
여기에서 사용된 용어는 특정한 실시예들을 설명하기 위한 것이며 한정하기 위한 것이 아니다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함한다” 고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 다른 정의가 없는 한, 여기에 사용된 용어들은 본 발명이 속하는 분야에서 통상적인 지식을 가진 자에게 일반적으로 이해되는 것과 같은 의미를 갖는다.
도 1은 영상촬영장치가 흔들리는 경우 영상촬영장치에 의해 촬영되는 이미지들을 보여주는 도면이다.
도 1을 참조하면, 스마트폰, 테블릿, CCTV, 웹 카메라(Web camera), 팬 틸트 줌 카메라(Pan-Tilt-Zoom Camera), 캠코더, 노트북과 같은 다양한 영상촬영장치들이 피사체(15)를 촬영할 수 있다.
영상촬영장치가 피사체(15)를 촬영할 때, 흔들림(또는 와블링)이 발생할 수 있다. 즉, 제 1 시간(t1)에서의 영상촬영장치(11)와 제 2 시간(t2)에서의 영상촬영장치(12)는 서로 상이한 위치들에서 피사체(15)를 촬영할 수 있다. 이에 따라, 피사체(15)는 정지 상태임에도 불구하고 제 1 시간(t1)에 촬영한 이미지와 제 2 시간(t2)에 촬영한 이미지는 서로 다를 수 있다. 예를 들면, 피사체(15)는 정지 상태이지만, 촬영된 이미지 내 피사체(15)의 특징점은 도 2에 도시된 바와 같이 제 1 시간(t1)에서는 이미지의 제 1 위치(P1)에 위치하는 반면 제 2 시간(t2)에서는 이미지의 제 2 위치(P2)에 위치할 수 있다.
도 2는 본 발명의 실시 예에 따른 이미지 처리 장치(100)를 보여주는 블록도이다.
도 2를 참조하면, 이미지 센서(200, Image Sensor)는 이미지 처리 장치(100)에 연결되어 있다. 이미지 센서(200)는 시간 순서대로 촬영되는 복수의 이미지들(IMG)를 생성하며, 생성된 복수의 이미지들(IMG)은 이미지 처리 장치(100)에 제공된다. 이미지 센서(200)는 CMOS(Complemental Metal Oxide Semiconductor)를 이용하여 광학 신호를 전기 신호로 변환하고, 전기 신호를 디지털화하여 이미지들(IMG) 각각을 생성할 수 있다.
이미지 센서(200)는 센서 게인 제어기(300, Sensor Gain Controller)에 더 연결되어 있다. 이미지 센서(200)는 센서 게인 제어기(300)로부터 제공되는 게인(GN)을 수신하고, 수신된 게인(GN)에 따라 상기 전기 신호가 이미지들(IMG)로 변환되는 게인 값을 조절하여 이미지들(IMG)의 밝기를 조절할 수 있다. 이러한 이미지 센서(200)의 게인(GN)은 다양한 방식들에 따라 조절될 수 있다. 예를 들면, 촬영될 이미지 중 적어도 일부가 상대적으로 어둡다고 감지될 때, 센서 게인 제어기(300)는 이미지 센서(200)의 게인(GN)을 높여 이미지의 밝기를 증가시킬 수 있다. 예를 들면, 센서 게인 제어기(300)는 사용자의 선택에 응답하여 이미지 센서(200)의 게인(GN)을 높여 이미지의 밝기를 증가시킬 수도 있다.
이미지 센서(200)의 게인(GN)이 증가하면 이미지들(IMG)의 밝기가 증가하나, 이미지들(IMG)에 포함되는 노이즈도 증가하게 된다. 본 발명의 실시 예에 따르면, 센서 게인 제어기(300)는 이미지들(IMG)의 생성에 사용된 게인(GN)을 이미지 처리 장치(100)에도 제공한다. 이미지 처리 장치(100)는 이미지들(IMG)의 흔들림을 보정하는 데에 게인(GN)을 사용하도록 구성된다.
이미지 처리 장치(100)는 입력 인터페이스(110, Input Interface), 모션 벡터 검출기(120, Motion Vector Detector), 이미지 안정화기(130, Image Stabilizer), 및 출력 인터페이스(140, Output Interface)를 포함한다.
입력 인터페이스(110)는 이미지 처리 장치(100)와 이미지 센서(200) 사이를 인터페이싱한다. 입력 인터페이스(110)는 이미지 센서(200)로부터 이미지들(IMG)을 수신하고, 수신된 이미지들(IMG)을 모션 벡터 검출기(120)에 전달할 수 있다.
도 2에 도시되지는 않으나, 이미지 처리 장치(100)와 이미지 센서(200)에 연결되는 버퍼 메모리가 더 제공될 수 있다. 이러한 경우, 이미지 센서(200)는 생성된 이미지들(IMG)을 버퍼 메모리에 저장하며, 이미지 처리 장치(100)의 입력 인터페이스(110)는 버퍼 메모리에 액세스하여 이미지들(IMG)을 읽을 수 있다.
본 발명의 실시 예에 따르면, 이미지 처리 장치(100)는 센서 게인 제어기(300)로부터 이미지 센서(200)의 게인(GN)을 수신하는 인터페이스를 더 포함한다. 입력 인터페이스(110)는 수신된 게인(GN)을 모션 벡터 검출기(120)에 전달할 수 있다.
모션 벡터 검출기(120)는 게인(GN)을 참조하여 이미지들(IMG)을 처리한다. 모션 벡터 검출기(120)는 이미지들(IMG) 중 보정될 이미지(이하, 타겟 이미지)에서 임계값 이상의 특징값들을 갖는 특징점들을 검출하고, 검출된 특징점들 중 적어도 일부를 이용하여 타겟 이미지(TGIMG)와 비교 이미지(CPIMG) 사이의 글로벌 모션 벡터를 결정하도록 구성된다. 여기에서, 임계값은 이미지 센서(200)의 게인(GN)에 따라 조절된다.
비교 이미지(CPIMG)는 타겟 이미지(TGIMG) 이전에 촬영된 이미지일 수 있다. 예를 들면, 타겟 이미지(TGIMG)가 이미지 센서(200)에 의해 순차적으로 생성되는 이미지들(IMG) 중 제 a 이미지일 때(a는 1보다 큰 정수), 비교 이미지(CPIMG)는 제 a-b 이미지일 수 있다(b는 1보다 크거나 같은 정수).
모션 벡터 검출기(120)는 특징점 검출기(121, Feature Point Detector), 로컬 모션 벡터 계산기(122, Local Motion Vector Calculator), 및 글로벌 모션 벡터 계산기(123, Global Motion Vector Calculator)를 포함한다. 특징점 검출기(121)는 타겟 이미지(TGIMG)에서 임계값 이상의 특징값들을 갖는 특징점들을 검출하도록 구성된다. 실시 예로서, 특징점 검출기(121)는, 타겟 이미지(TGIMG)를 복수의 서브 블록들로 구분하고, 복수의 서브 블록들 각각에서 특징점 후보를 선택하고, 선택된 특징점 후보들 중 임계값 이상의 특징값들을 갖는 특징점 후보들을 특징점들로 검출할 수 있다.
로컬 모션 벡터 계산기(122)는 타겟 이미지(TGIMG)와 비교 이미지(CPIMG)를 비교함으로써, 특징점들에 대한 로컬 모션 벡터들을 계산하도록 구성된다. 예를 들면, 로컬 모션 벡터 계산기(122)는 특징점들을 포함하는 타겟 이미지(TGIMG)의 영역들 각각과 비교 이미지(CPIMG)를 비교함으로써, 특징점들에 대한 로컬 모션 벡터들을 계산할 수 있다.
글로벌 모션 벡터 계산기(123)는 로컬 모션 벡터들에 따라 글로벌 모션 벡터를 계산하도록 구성된다. 로컬 모션 벡터들의 평균값이 글로벌 모션 벡터로 결정될 수 있다. 그러나, 본 발명의 사상은 여기에 한정되지 않는다. 로컬 모션 벡터들에 따라 글로벌 모션 벡터를 계산하는 다양한 방식들이 이용될 수 있다. 예를 들면, 로컬 모션 벡터들의 히스토그램이 계산되고, 계산된 히스토그램에 따라 글로벌 모션 벡터가 결정될 수 있다.
이미지 안정화기(130)는 글로벌 모션 벡터를 참조하여 타겟 이미지(TGIMG)의 흔들림을 보정한다. 출력 인터페이스(140)는 보정된 타겟 이미지(TGIMG’)를 출력한다.
도 3은 본 발명의 실시 예에 따른 이미지 처리 장치(100)에서 이미지의 흔들림을 보정하는 방법을 보여주는 순서도이다.
도 2 및 도 3을 참조하면, S110단계에서, 센서 게인 제어기(300)로부터 이미지 센서(200)의 게인(GN)을 수신한다. 또한, 이미지 센서(200)로부터 이미지들(IMG)이 더 수신될 수 있다.
S120단계에서, 타겟 이미지(TGIMG) 내에서 임계값 이상의 특징값들을 갖는 특징점들을 검출한다. 실시 예로서, 특징점 검출기(121)는 복수의 특징점 후보들을 검출하고, 검출된 특징점 후보들 중 임계값 이상의 특징값을 갖는 특징점 후보들을 특징점들로 검출할 수 있다.
다양한 방식들에 따라 특징점 후보가 선택될 수 있다. 실시 예로서, 타겟 이미지(TGIMG)가 복수의 서브 블록들로 구분되고, 각 서브 블록의 점들 중 가장 높은 특징값을 갖는 점이 특징점 후보로 선택되고, 선택된 특징점 후보들 중 임계값 이상의 특징값을 갖는 특징점 후보들이 특징점들로 검출될 수 있다.
실시 예로서, 각 점의 특징값은 해당 점과 인접하는 점들 사이의 콘트라스트 레벨일 수 있다. 예를 들면, 각 서브 블록에서 가장 높은 콘트라스트 레벨을 갖는 점, 예를 들면 이미지 내 오브젝트의 엣지(edge) 상에 위치한 점, 엣지들이 교차하는 부분 상에 위치한 점 등이 해당 서브 블록의 특징점 후보로 선택될 수 있다. 다른 실시 예로서, 엣지가 아닌 점, 예를 들면 배경에 해당하는 점이 특징점 후보로서 선택될 수 있다. 이와 관련하여는 미국공개특허 9,466,095호가 여기에 참조된다.
이미지 센서(200)의 게인(GN)이 증가할수록 타겟 이미지(TGIMG)에 포함되는 노이즈도 증가한다. 노이즈가 증가할수록 타겟 이미지(TGIMG)에 포함되는 점들의 특징값들은 낮아질 수 있다. 예를 들면, 센서 게인 제어기(300)는 상대적으로 어두운 상황에서 이미지 센서(200)의 게인(GN)을 증가시킬 수 있다. 이때, 타겟 이미지(TGIMG)는 전체적으로 밝아지긴 하나, 노이즈의 증가와 함께 타겟 이미지(TGIMG)에 포함되는 오브젝트의 엣지의 콘트라스트 레벨들도 낮아질 수 있다. 만약 낮은 특징값을 가짐에도 불구하고 해당 점이 특징점으로 선택되고, 그러한 특징점을 이용하여 로컬 모션 벡터가 계산된다면, 해당 로컬 모션 벡터가 이미지의 흔들림 방향을 반영할 가능성은 낮아질 수 있다. 즉, 로컬 모션 벡터는 이미지의 흔들림 방향을 반영하는 데에 있어 낮은 신뢰성을 가질 수 있다. 로컬 모션 벡터들의 신뢰성이 낮은 것은, 로컬 모션 벡터들에 기반하여 계산되는 글로벌 모션 벡터의 신뢰성도 낮음을 의미한다.
이미지 센서(200)의 게인(GN)이 감소할수록 타겟 이미지(TGIMG)에 포함되는 노이즈도 감소한다. 노이즈가 감소할수록 타겟 이미지(TGIMG)에 포함되는 점들의 특징값들은 높아질 수 있다. 예를 들면, 센서 게인 제어기(300)는 상대적으로 밝은 상황에서 이미지 센서(200)의 게인(GN)을 감소시킬 수 있다. 이때, 보다 선명한 타겟 이미지(TGIMG)를 획득할 수 있고, 따라서 타겟 이미지(TGIMG)에 포함되는 오브젝트의 엣지의 콘트라스트 레벨들도 높아질 수 있다. 이러한 경우, 상대적으로 많은 수의 특징점들을 이용하여 상대적으로 많은 수의 로컬 모션 벡터들이 계산되고, 글로벌 모션 벡터는 증가된 수의 로컬 모션 벡터들에 기반하여 계산된다면, 글로벌 모션 벡터의 신뢰성이 향상될 수 있다.
본 발명의 실시 예에 따르면, 타겟 이미지(TGIMG)에서 임계값 이상의 특징값들을 갖는 점들이 특징점들로 검출되되, 임계값은 이미지 센서(200)의 게인(GN)이 증가할수록 높아진다. 임계값이 높아짐에 따라 검출된 특징점들은 상대적으로 높은 특징값들을 가질 수 있고, 높은 특징값들을 갖는 특징점들을 이용하여 로컬 모션 벡터들이 계산될 수 있다. 예를 들면, 어두운 상황에서는 타겟 이미지(TGIMG) 내의 보다 확실한 엣지가 특징점들로 채택될 수 있다. 이에 따라, 로컬 모션 벡터들의 신뢰성은 증가하고, 로컬 모션 벡터들에 따라 계산되는 글로벌 모션 벡터의 신뢰성도 증가할 수 있다. 결과적으로, 본 발명의 실시 예에 따른 이미지 처리 장치(100)는 높은 신뢰성으로 이미지의 흔들림을 보정할 수 있다.
이미지 센서(200)의 게인(GN)은 이미지들(IMG)을 생성하는 데에 사용되며 이미지들(IMG)의 밝기 혹은 노이즈를 결정하는 요소(factor)이다. 따라서, 이미지 센서(200)의 게인(GN)에 따라 임계값을 조절함으로써, 효과적으로 특징점들이 선택될 수 있다. 영상촬영장치에 조도 센서가 구비되고, 조도 센서로부터 제공되는 조도값을 이용하여 임계값이 조절된다고 가정한다. 이미지 센서(200)의 렌즈는 조도 센서와 물리적으로 다른 위치에 배치되는 점, 이미지들(IMG)의 게인(GN)이 반드시 조도값에 따라 조절될 필요는 없다는 점을 고려할 때, 이미지들(IMG)의 밝기 혹은 노이즈는 조도값의 레벨에 대해 독립적으로 변할 수 있다. 그러한 조도값에 따라 조절되는 임계값을 이용하여 특징점들이 선택되고 그 특징점들을 이용하여 로컬 모션 벡터들이 계산된다면, 로컬 모션 벡터들이 이미지의 흔들림 방향을 반영할 가능성은 낮아질 수 있다. 반면, 본 발명의 실시 예에 따르면, 이미지들(IMG)의 밝기 혹은 노이즈를 결정하는 요소인 이미지 센서(200)의 게인(GN)을 이용하여 임계값이 조절되므로, 효율적으로 특징점들이 선택될 수 있다.
S130단계에서, 검출된 특징점들의 적어도 일부를 이용하여 타겟 이미지(TGIMG)와 비교 이미지(CPIMG)를 비교한다. 로컬 모션 벡터 계산기(122)는 특징점들에 대한 로컬 모션 벡터들을 계산하며, 글로벌 모션 벡터 계산기(123)는 로컬 모션 벡터들에 따라 글로벌 모션 벡터를 결정할 수 있다.
S140단계에서, 비교 결과에 따라 타겟 이미지(TGIMG)의 흔들림을 보정한다. 이미지 안정화기(130)는 글로벌 모션 벡터를 참조하여 타겟 이미지(TGIMG)의 흔들림을 보정할 수 있다.
도 4는 도 3의 S120단계의 실시 예를 보여주는 순서도이다. 도 5a는 타겟 이미지(TGIMG)에서 검출되는 특징점 후보들(FPC)을 설명하기 위한 도면이다. 도 5b는 특징점 후보들(FPC)로부터 선택되는 특징점들(FP)을 설명하기 위한 도면이다. 도 6은 이미지 센서(200)의 게인(GN)과 임계값 사이의 관계를 보여주는 그래프이다.
도 2 및 도 4를 참조하면, S210단계에서, 타겟 이미지(TGIMG)의 복수의 서브 블록들에서 각각 특징점 후보들을 검출한다. 도 5a를 참조하면, 타겟 이미지(TGIMG)는 복수의 서브 블록들(SBLK)로 구분된다. 각 서브 블록 내 점들의 특징값들, 예를 들면 콘트라스트 레벨들이 계산되고, 계산된 특징값들 중 가장 높은 특징값을 갖는 점이 특징점 후보(FPC)로 검출될 수 있다.
다시 도 2 및 도 4를 참조하면, S220단계에서, 특징점 후보들 중 임계값 이상의 특징값들을 갖는 특징점 후보들을 특징점들로 선택한다. 도 5b를 참조하면, 특징점 후보들(FPC) 중 임계값보다 같거나 낮은 특징값들을 갖는 특징점 후보들은 제거되어 있다. 특징점 후보들(FPC) 중 임계값보다 높은 특징값들을 갖는 특징점 후보들은 특징점들(FP)로 선택된다.
이때, 임계값은 이미지 센서(200)의 게인(GN)이 증가할수록 높아질 수 있다. 도 6을 참조하면, 임계값은, 이미지 센서(200)의 게인(GN)이 제 1 레벨(G11)보다 낮을 때 제 1 값(TV1)으로 고정되고, 이미지 센서(200)의 게인(GN)이 제 1 레벨(G11)과 제 2 레벨(G12) 사이일 때 게인(GN)이 증가할수록 높아지고, 이미지 센서(200)의 게인(GN)이 제 2 레벨(G12)보다 높을 때 제 2 값(TV2)으로 고정될 수 있다. 이와 같이, 임계값은 이미지 센서(200)의 게인(GN)에 따라 적응적으로 조절된다.
도 7은 특징점들 중 적어도 일부를 이용하여 타겟 이미지(TGIMG)와 비교 이미지(CPIMG)를 비교하는 본 발명의 실시 예에 따른 방법을 보여주는 순서도이다.
도 2 및 도 7을 참조하면, S310단계에서, 특징점들 중 적어도 일부를 선택한다. 이에 대해, 도 8 내지 도 11을 참조하여 상세히 설명된다.
S320단계에서, 선택된 특징점들을 그룹핑하여 특징점 그룹들을 정의한다. 이때, 이미지 센서(200)의 게인(GN)에 따라 특징점 그룹에 포함되는 특징점들의 개수가 조절된다. 특징점 그룹은 서로 인접하는 특징점들을 포함할 수 있다.
S330단계에서, 특징점 그룹들에 대한 로컬 모션 벡터들을 각각 결정한다.
S310단계 내지 S330단계는 로컬 모션 벡터 계산기(122)에 의해 수행될 수 있다. 로컬 모션 벡터 계산기(122)는 특징점들 중 적어도 일부를 선택하고, 입력 인터페이스(110)를 통해 이미지 센서(200)의 게인(GN)을 수신하여 선택된 특징점들을 그룹핑하고, 특징점 그룹들에 대한 로컬 모션 벡터들을 각각 결정할 수 있다.
S340단계에서, 결정된 로컬 모션 벡터들에 따라 글로벌 모션 벡터를 결정한다.
이미지 센서(200)의 게인(GN)이 증가할수록 타겟 이미지(TGIMG)에 포함되는 노이즈가 증가하는 것을 고려할 때, 개별적인 특징점들에 대한 로컬 모션 벡터들 중 적어도 일부가 상대적으로 낮은 신뢰성을 가질 수 있다. 본 발명의 실시 예에 따르면, 하나 또는 그 이상의 특징점들을 포함하는 특징점 그룹에 대해 로컬 모션 벡터가 계산되되, 특징점 그룹에 포함되는 특징점들의 개수는 이미지 센서(200)의 게인(GN)이 증가할수록 증가하도록 특징점들이 그룹핑될 수 있다. 이에 따라, 로컬 모션 벡터들 각각은 이미지의 흔들림 방향을 반영하는 데에 있어 높은 신뢰성을 가질 수 있고, 그러한 로컬 모션 벡터들에 따라 계산된 글로벌 모션 벡터도 높은 신뢰성을 가질 수 있다.
도 8은 도 7의 S310단계의 실시 예를 보여주는 순서도이다. 도 9는 도 8의 S410단계의 로컬 모션 벡터들을 계산하는 과정을 설명하기 위한 개념도이다. 도 10은 도 8의 S420단계의 로컬 모션 벡터들을 이용하여 특징점들을 선택하는 과정을 설명하기 위한 개념도이다.
먼저 도 8을 참조하면, S410단계에서, 특징점들에 대한 로컬 모션 벡터들을 계산한다. 타겟 이미지(TGIMG)와 비교 이미지(CPIMG)를 비교함으로써 특징점들 각각에 대한 로컬 모션 벡터가 계산된다. 도 9를 참조하면, 설명의 편의를 위해 타겟 이미지(TGIMG) 내에 하나의 특징점(FP)이 도시되어 있다. 타겟 이미지(TGIMG) 내에서, 특징점(FP)을 중심으로 한 사각형이 모션 추정 영역(MEA)으로 정의된다. 모션 추정 영역(MEA)은 M*N의 크기를 가질 수 있다. 이때, N과 M은 점들(혹은 픽셀들)의 수를 나타낼 수 있다. 비교 이미지(CPIMG) 내에서, 탐색 영역(SA)이 정의된다. 탐색 영역(SA)은 모션 추정 영역(MEA)과 중첩하되, 모션 추정 영역(MEA)보다 더 큰 크기를 가질 수 있다. 예를 들면, 탐색 영역(SA)은 (M+2L)*(N+2L)의 크기를 가질 수 있다. 이때, L은 점들의 수를 나타낼 수 있다. 그리고, 탐색 영역(SA) 내 부분들 각각이 모션 추정 영역(MEA)과 비교되어, 탐색 영역(SA) 내에서 모션 추정 영역(MEA)과 가장 유사한 부분이 매치 영역(MTA)으로 결정될 수 있다. 탐색 영역(SA) 내 부분들 각각과 모션 추정 영역(MEA)에 대한 연관값(correlation value)이 계산되고, 탐색 영역(SA) 내 부분들 중 가장 낮은 연관값을 갖는 부분이 매치 영역(MTA)으로 결정될 수 있다. 예를 들면, 아래의 수학식 1에 따라, 탐색 영역(SA) 내 부분들 각각과 모션 추정 영역(MEA) 사이의 SAD(Sum of Absolute Difference)가 연관값으로서 계산될 수 있다.
수학식 1을 참조하면, x와 y는 모션 추정 영역(MEA) 내의 특징점(FP)의 좌표를 나타내며, u와 v는 탐색 영역(SA)에 대한 변위(displacement)를 나타낸다(l은 1보다 크거나 같은 정수). 는 현재 이미지(즉, 타겟 이미지)의 좌표 x+i, y+j의 특정 요소를 입력으로 하는 함수값을 나타내며, 는 이전 이미지(즉, 비교 이미지)의 좌표 x+u+i, y+v+j의 요소를 입력으로 하는 함수값을 나타낸다. 및 은 이 분야에 알려진 다양한 함수들 중 어느 하나일 수 있다. 는 모션 추정 영역(MEA), 그리고 탐색 영역(SA)의 x+u와 y+v를 포함하는 부분 사이의 SAD를 나타낸다. 가장 낮은 SAD를 갖는 탐색 영역(SA) 내 부분이 매치 영역(MTA)로 결정될 수 있으며, 해당 변위 u와 v는 특징점(FP)에 대한 로컬 모션 벡터로 결정될 수 있다.
즉, 결정된 매치 영역(MTA)의 좌표에 따라 특징점(FP)에 대한 로컬 모션 벡터가 결정될 수 있으며, 타겟 이미지(TGIMG)에 포함된 다른 특징점들의 로컬 모션 벡터들도 위 설명된 바와 마찬가지로 계산될 것이다.
다시 도 8을 참조하면, S420단계에서, 산출된 로컬 모션 벡터들을 클러스터링하여 특징점들 중 적어도 일부를 선택한다. 유사한 방향과 크기를 갖는 다수의 로컬 모션 벡터들과 상이한 로컬 모션 벡터는 타겟 이미지(TGIMG)에 존재하는 움직이고 있는 오브젝트의 모션 또는 노이즈에 기인한 부정확한 모션 추정에 해당할 수 있다. 오브젝트의 개별적인 모션은 이미지의 흔들림 방향과 관계없을 수 있다. 이러한 이유에서, 유사한 방향과 크기를 갖는 다수의 로컬 모션 벡터들이 선택되고, 이와 상이한 로컬 모션 벡터는 비선택될 수 있다. 도 10을 참조하면, 타겟 이미지(TGIMG)의 각 특징점에 대한 로컬 모션 벡터가 도시되어 있다. 로컬 모션 벡터들이 클러스터링되어 가장 많은 수의 로컬 모션 벡터들을 가지는 클러스터가 선택될 수 있다. 도 10에서, 유사한 방향과 크기를 갖는 로컬 모션 벡터들의 클러스터에 속하지 않는 로컬 모션 벡터들이 점선 원들로 강조되어 있다. 점선 원들로 강조된 로컬 모션 벡터들은 제외되고, 나머지 로컬 모션 벡터들이 선택될 것이다.
도 11은 도 7의 S310단계의 다른 실시 예를 보여주는 순서도이다.
도 11을 참조하면, S510단계에서, 특징점들에 대한 로컬 모션 벡터들을 계산한다. S510단계는 도 8의 S410단계와 마찬가지로 설명된다. 이하, 중복되는 설명은 생략된다.
S520단계에서, 계산된 로컬 모션 벡터들을 자이로 센서로부터의 모션 데이터와 비교하여 특징점들 중 적어도 일부를 선택한다. 영상촬영장치(도 1 참조)는 영상촬영장치의 물리적인 모션(예를 들면, 흔들림)을 감지하도록 구성되는 자이로 센서를 더 포함할 수 있다. 이때, 모션 데이터는 자이로 센서에서 측정된 각속도를 영상에서의 픽셀 데이터로 변환한 데이터를 의미할 수 있다. 이미지 처리 장치(100, 도 2 참조)는 자이로 센서와 통신하여 각속도를 수신하고, 수신된 각속도를 모션 데이터로 변환할 수 있다.
본 발명의 실시 예에 따르면, 모션 데이터의 방향 및 크기와 유사한 범위에 속하는 로컬 모션 벡터들이 선택될 수 있다. 모션 데이터의 방향 및 크기와 유사한 범위를 벗어나는 로컬 모션 벡터들은 글로벌 모션 벡터의 계산에서 제외될 수 있다.
도 12는 도 7의 S320단계의 특징점들을 그룹핑하는 실시 예를 설명하기 위한 개념도이다.
도 12를 참조하면, 특징점들(FP)을 포함하는 특징점 그룹들이 점선 박스로 구분되어 있다. 하나의 점선 박스에 포함된 특징점들(FP)은 하나의 특징점 그룹을 구성할 수 있다. 실시 예로서, 각 특징점 그룹은 인접하는 특징점들(FP)을 포함할 수 있다. 도 12에서, 서브 블록들(SBLK)은 유닛 블록들(UNBLK)로 그룹핑되며, 하나의 유닛 블록에 포함되는 특징점들(FP)이 하나의 특징점 그룹으로 정의될 수 있다. 그러나, 본 발명의 사상은 여기에 한정되지 않으며, 특징점들(FP)은 다양한 방식들에 따라 그룹핑될 수 있다.
본 발명의 실시 예에 따르면, 특징점 그룹들에 대해 각각 로컬 모션 벡터들을 결정하여 글로벌 모션 벡터를 결정하되, 이미지 센서(200)의 게인(GN)이 증가할수록 특징점 그룹에 포함되는 특징점들(FP)의 수를 증가시킨다. 도 12의 실시 예에서 하나의 유닛 블록에 포함되는 특징점들(FP)이 특징점 그룹으로 정의되는 것을 고려할 때, 이미지 센서(200)의 게인(GN)이 증가할수록 각 유닛 블록의 크기가 증가할 수 있다. 즉, 이미지 센서(200)의 게인(GN)에 따라 유닛 블록들(UNBLK) 각각이 포함하는 서브 블록들(SBLK)의 수가 조절될 수 있다. 이에 따라, 로컬 모션 벡터들 각각은 이미지의 흔들림 방향을 반영하는 데에 있어 높은 신뢰성을 가질 수 있고, 그러한 로컬 모션 벡터들에 따라 계산된 글로벌 모션 벡터도 높은 신뢰성을 가질 수 있다.
도 13은 이미지 센서(200)의 게인(GN)과 특징점 그룹에 포함되는 특징점들의 수 사이의 관계를 보여주는 그래프이다.
도 13을 참조하면, 특징점 그룹에 포함되는 특징점들의 수는, 이미지 센서(200)의 게인(GN)이 제 1 레벨(G21)보다 낮을 때 제 1 값(X1)으로 고정되고, 이미지 센서(200)의 게인(GN)이 제 1 레벨(G21)과 제 2 레벨(G22) 사이일 때 게인(GN)이 증가할수록 증가하고, 이미지 센서(200)의 게인(GN)이 제 2 레벨(G22)보다 높을 때 제 2 값(X2)으로 고정될 수 있다. 이와 같이, 특징점 그룹에 포함되는 특징점들의 수는 이미지 센서(200)의 게인(GN)에 따라 적응적으로 조절된다.
특징점 그룹에 대한 로컬 모션 벡터는 특징점 그룹의 특징점들 중 가장 낮은 SAD를 갖는 특징점에 대한 로컬 모션 벡터로 결정될 수 있다. 이에 따라, 수학식 1을 통해 특징점들 각각에 대한 SAD가 이미 계산된 것을 고려할 때, 특징점 그룹에 대한 로컬 모션 벡터는 빠른 시간 내에 결정될 수 있다. 특징점 그룹에 대한 로컬 모션 벡터는 다른 적합한 방식들에 따라 결정될 수 있다. 예를 들면, 특징점 그룹의 로컬 모션 벡터는 그 특징점 그룹에 포함되는 특징점들에 대한 로컬 모션 벡터들의 평균으로 결정될 수 있다.
다른 실시 예로서, 각 특징점에 대한 SAD는 아래의 수학식 2와 같이 계산될 수 있다.
수학식 2를 참조하면, 특징점 그룹 내 K개의 특징점들 [(x1, y1), (x2, y2), (x3, y3), ... , (xk, yk)] 각각에 대해 변위 u와 v를 입력으로 하여 계산한 를 가산 평균함으로써 특징점 그룹에 대한 SAD 가 다시 계산될 수 있다. 이때, K는 특징점 그룹에 속하는 특징점들의 수를 나타낸다. 이와 같은 계산을 반복적으로 수행하여, 가장 낮은 를 산출시키는 변위가 해당 특징점 그룹의 로컬 모션 벡터로 결정될 수 있다.
도 14는 영상촬영장치를 구현하기 위한 예시적인 컴퓨터 시스템(1000)을 보여주는 블록도이다.
도 14를 참조하면, 컴퓨터 시스템(1000)은 렌즈(1100, Lens), 이미지 센서(1200, Image Sensor), 모터 컨트롤러(1300, Motor Controller), 모터(1350, Motor), 사용자 인터페이스(1400, User Interface), 램(1500, RAM), 저장 매체(1600, Storage), 디스플레이(1500, Display), 및 디지털 신호 처리기(1800, Digital Signal Processor)를 포함한다.
렌즈(1100)는 피사체로부터 광학 신호를 수신한다. 렌즈(1100)를 통해 입력된 광학 신호는 전기 신호로 변환된다. 이미지 센서(1200)는 전기 신호를 적절한 게인을 갖고 디지털화하여, 이미지를 생성할 수 있다. 예를 들면, 이미지 센서(1200)는 아날로그 디지털 컨버터를 포함할 수 있다.
모터 컨트롤러(1300)는 디지털 신호 처리기(1800)의 제어에 응답하여 모터(1350)의 동작을 제어하도록 구성되며, 모터(1350)는 렌즈(1100)를 구동하도록 구성된다.
사용자 인터페이스(1400)는 컴퓨터 시스템(1000)의 동작을 제어하기 위한 사용자의 입력을 감지하고, 해당 입력 커맨드를 발생시킨다. 사용자 인터페이스(1400)는 사용자의 조작에 의한 명령 또는 정보를 감지할 수 있는 키 패드(key pad), 마우스(mouse), 지문 인식 센서(finger scan sensor), 돔 스위치(dome switch), 터치 패드, 조그 휠 등과 같은 입력 장치를 포함할 수 있다.
램(1500)은 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등 다양한 타입들의 메모리들 중 적어도 하나를 포함할 수 있다. 램(1500)은 디지털 신호 처리기(1800)의 워킹 메모리로서 제공될 수 있다. 디지털 신호 처리기(1800)는 램(1500)과 구분되는 워킹 메모리를 포함할 수도 있다. 나아가, 램(1500)은 버퍼 메모리로서 제공될 수 있다. 예를 들면, 램(1500)은 이미지 센서(1200)를 통해 수신되는 이미지들을 임시 저장하고, 임시 저장된 이미지를 디지털 신호 처리기(1800)에 제공할 수 있다.
스토리지(1600)는 전원이 차단되더라도 저장된 데이터를 유지하는 다양한 타입들의 저장 매체들, 예를 들면 플래시 메모리(flash memory), 하드 디스크(hard disk) 등과 같은 저장 매체들을 포함할 수 있다.
디스플레이(1700)는 디지털 신호 처리기(1800)의 제어에 따라 컴퓨터 시스템(1000)에서 처리되는 정보를 표시한다. 예를 들면, 디스플레이(1700)는 디지털 신호 처리기(1800)에 의해 보정된 이미지(도 2의 TGIMG’ 참조)를 디스플레이한다.
디지털 신호 처리기(1800)는 컴퓨터 시스템(1000)의 제반 동작을 제어하도록 구성된다. 디지털 신호 처리기(1800)는 사용자 인터페이스(1400)를 통해 수신되는 입력 커맨드에 응답하여 동작하며, 이미지 센서(1200)를 통해 수신되는 영상을 처리할 수 있다. 디지털 신호 처리기(1800)는 도 2를 참조하여 설명된 이미지 처리 장치(100) 및 센서 게인 제어기(300)의 기능들을 수행할 수 있다. 디지털 신호 처리기(1800)는 도 2, 도 3, 도 4, 도 7, 도 8, 및 도 11을 참조하여 설명된 동작들(혹은 스텝들)을 야기하는 명령어들을 실행하는 애플리케이션을 구동하기 위한 프로세서를 포함할 수 있다. 디지털 신호 처리기(1800)는 애플리케이션에 대응하는 프로그램 코드들을 로드하고, 로드된 프로그램 코드들을 실행함으로써 애플리케이션을 구동할 수 있다. 그러한 프로그램 코드들 및 명령어들은 스토리지(1600)에 저장될 수 있다.
비록 특정 실시 예들 및 적용 례들이 여기에 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정들 및 변형들이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100: 이미지 처리 장치
110: 입력 인터페이스
120: 모션 벡터 검출기
130: 이미지 안정화기
140: 출력 인터페이스
200: 이미지 센서
110: 입력 인터페이스
120: 모션 벡터 검출기
130: 이미지 안정화기
140: 출력 인터페이스
200: 이미지 센서
Claims (24)
- 이미지의 흔들림을 안정화하는 이미지 처리 장치에 있어서:
이미지 센서와 통신하는 입력 인터페이스; 및
상기 이미지 센서로부터 상기 입력 인터페이스를 통해 수신되는 제 1 및 제 2 이미지들을 처리하도록 구성되는 모션 벡터 검출기를 포함하되,
상기 모션 벡터 검출기는 상기 제 1 이미지에서 임계값 이상의 특징값들을 갖는 특징점들을 검출하고, 상기 특징점들 중 적어도 일부를 이용하여 상기 제 1 이미지를 상기 제 2 이미지와 비교함으로써 상기 제 1 이미지의 글로벌 모션 벡터를 결정하도록 구성되며,
상기 임계값은 상기 이미지 센서의 게인에 따라 조절되는 이미지 처리 장치. - 제 1 항에 있어서,
상기 임계값은 상기 이미지 센서의 상기 게인이 증가할수록 높아지는 이미지 처리 장치. - 제 1 항에 있어서,
상기 임계값은,
상기 이미지 센서의 상기 게인이 제 1 레벨보다 낮을 때 제 1 값으로 고정되고,
상기 이미지 센서의 상기 게인이 상기 제 1 레벨보다 높은 제 2 레벨보다 높을 때 상기 제 1 값보다 높은 제 2 값으로 고정되고,
상기 이미지 센서의 상기 게인이 상기 제 1 레벨 및 상기 제 2 레벨 사이일 때 상기 제 1 값과 상기 제 2 값 사이에서 상기 이미지 센서의 상기 게인이 증가할수록 높아지는 이미지 처리 장치. - 제 1 항에 있어서,
상기 특징값들은 콘트라스트 레벨들인 이미지 처리 장치. - 제 1 항에 있어서,
상기 제 1 이미지는 복수의 서브 블록들을 포함하고,
상기 모션 벡터 검출기는,
상기 복수의 서브 블록들에서 각각 특징점 후보들을 검출하고, 상기 특징점 후보들 중 상기 임계값 이상의 특징값들을 갖는 특징점 후보들을 상기 특징점들로 선택하도록 구성되는 이미지 처리 장치. - 제 1 항에 있어서,
상기 글로벌 모션 벡터에 따라 상기 제 1 이미지를 보정하도록 구성되는 이미지 안정화기를 더 포함하는 이미지 처리 장치. - 제 1 항에 있어서,
상기 모션 벡터 검출기는 상기 제 1 이미지의 특징점 그룹들 각각과 상기 제 2 이미지 사이의 로컬 모션 벡터들을 결정하고, 상기 로컬 모션 벡터들에 따라 상기 글로벌 모션 벡터를 결정하도록 구성되며,
상기 특징점 그룹들은 상기 특징점들 중 적어도 일부를 그룹핑함으로써 정의되는 이미지 처리 장치. - 제 7 항에 있어서,
상기 모션 벡터 검출기는 상기 이미지 센서의 상기 게인에 따라 상기 특징점 그룹들 각각에 포함되는 특징점들의 개수를 조절하는 이미지 처리 장치. - 제 8 항에 있어서,
상기 이미지 센서의 상기 게인이 증가할수록 상기 개수는 증가하는 이미지 처리 장치. - 제 8 항에 있어서,
상기 개수는,
상기 이미지 센서의 상기 게인이 제 1 레벨보다 낮을 때 제 1 값으로 고정되고,
상기 이미지 센서의 상기 게인이 상기 제 1 레벨보다 높은 제 2 레벨보다 높을 때 상기 제 1 값보다 높은 제 2 값으로 고정되고,
상기 이미지 센서의 상기 게인이 상기 제 1 레벨 및 상기 제 2 레벨 사이일 때 상기 제 1 값과 상기 제 2 값 사이에서 상기 이미지 센서의 상기 게인이 증가할수록 증가하는 이미지 처리 장치. - 이미지를 안정화하는 방법에 있어서:
이미지 센서로부터 제 1 및 제 2 이미지들을 수신하는 단계;
상기 이미지 센서의 게인을 수신하는 단계;
상기 제 1 이미지에서 임계값 이상의 특징값들을 갖는 특징점들을 추출하는 단계; 및
상기 특징점들 중 적어도 일부를 이용하여 상기 제 1 이미지를 상기 제 2 이미지와 비교함으로써 상기 제 1 이미지의 흔들림을 보정하는 단계를 포함하되,
상기 임계값은 상기 이미지 센서의 상기 게인에 따라 조절되는 방법. - 제 11 항에 있어서,
상기 임계값은 상기 이미지 센서의 상기 게인이 증가할수록 높아지는 방법. - 제 11 항에 있어서,
상기 제 1 이미지의 흔들림을 보정하는 단계는,
상기 제 1 이미지의 특징점 그룹들 각각과 상기 제 2 이미지 사이의 로컬 모션 벡터들을 결정하는 단계; 및
상기 로컬 모션 벡터들에 따라 상기 제 1 이미지의 글로벌 모션 벡터를 결정하는 단계를 포함하되,
상기 특징점 그룹들은 상기 특징점들 중 적어도 일부를 그룹핑함으로써 정의되는 방법. - 제 13 항에 있어서,
상기 특징점 그룹들 각각에 포함되는 특징점들의 개수는 상기 이미지 센서의 상기 게인에 따라 조절되는 방법. - 제 14 항에 있어서,
상기 이미지 센서의 상기 게인이 증가할수록 상기 개수는 증가하는 방법. - 이미지의 흔들림을 안정화하는 이미지 처리 장치에 있어서:
이미지 센서와 통신하는 입력 인터페이스; 및
상기 입력 인터페이스를 통해 상기 이미지 센서로부터 제 1 및 제 2 이미지들을 수신하고, 상기 제 1 이미지의 특징점 그룹들 각각과 상기 제 2 이미지 사이의 로컬 모션 벡터들에 따라 글로벌 모션 벡터를 결정하도록 구성되는 모션 벡터 검출기를 포함하며,
상기 특징점 그룹들은 상기 제 1 이미지에 포함되는 특징점들 중 적어도 일부를 그룹핑함으로써 정의되고,
상기 모션 벡터 검출기는 상기 이미지 센서의 게인에 따라 상기 특징점 그룹들 각각에 포함되는 특징점들의 개수를 조절하도록 구성되는 이미지 처리 장치. - 제 16 항에 있어서,
상기 개수는 상기 이미지 센서의 상기 게인이 증가할수록 증가하는 이미지 처리 장치. - 제 16 항에 있어서,
상기 제 1 이미지에 포함되는 특징점들은 임계값 이상의 특징값들을 갖되,
상기 임계값은 상기 이미지 센서의 상기 게인이 증가할수록 높아지는 이미지 처리 장치. - 제 18 항에 있어서,
상기 제 1 이미지는 복수의 서브 블록들을 포함하고,
상기 모션 벡터 검출기는,
상기 복수의 서브 블록들에서 각각 특징점 후보들을 검출하고, 상기 특징점 후보들 중 상기 임계값 이상의 특징값들을 갖는 특징점 후보들을 상기 제 1 이미지에 포함되는 특징점들로 선택하도록 구성되는 이미지 처리 장치. - 제 18 항에 있어서,
상기 임계값은 상기 이미지 센서의 상기 게인이 증가할수록 높아지는 이미지 처리 장치. - 이미지의 흔들림을 안정화하는 방법에 있어서:
이미지 센서로부터 제 1 및 제 2 이미지들을 수신하는 단계;
상기 이미지 센서의 게인을 수신하는 단계; 및
상기 제 1 이미지의 특징점 그룹들을 이용하여 상기 제 1 이미지를 상기 제 2 이미지와 비교함으로써 상기 제 1 이미지의 흔들림을 보정하되, 상기 특징점 그룹들은 상기 제 1 이미지에 포함되는 특징점들 중 적어도 일부를 그룹핑함으로써 정의되는, 단계를 포함하되,
상기 이미지 센서의 게인에 따라 상기 특징점 그룹들 각각에 포함되는 특징점들의 개수가 조절되는 방법. - 제 21 항에 있어서,
상기 개수는 상기 이미지 센서의 상기 게인이 증가할수록 증가하는 방법. - 제 21 항에 있어서,
상기 제 1 이미지에 포함되는 특징점들은 임계값 이상의 특징값들을 갖되,
상기 임계값은 상기 이미지 센서의 상기 게인이 증가할수록 높아지는 방법. - 제 23 항에 있어서,
상기 제 1 이미지는 복수의 서브 블록들을 포함하고,
상기 모션 벡터 검출기는,
상기 복수의 서브 블록들에서 각각 특징점 후보들을 선택하고, 상기 선택된 특징점 후보들 중 상기 임계값 이상의 특징값들을 갖는 특징점 후보들을 상기 특징점들로 선택하도록 구성되는 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180005521A KR102429337B1 (ko) | 2018-01-16 | 2018-01-16 | 이미지를 안정화하는 이미지 처리 장치 및 이미지를 안정화하는 방법 |
US15/993,593 US10659693B2 (en) | 2018-01-16 | 2018-05-31 | Image processing device and method of correcting images |
CN201810941738.6A CN110049230B (zh) | 2018-01-16 | 2018-08-17 | 校正图像的图像处理装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180005521A KR102429337B1 (ko) | 2018-01-16 | 2018-01-16 | 이미지를 안정화하는 이미지 처리 장치 및 이미지를 안정화하는 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190087119A true KR20190087119A (ko) | 2019-07-24 |
KR102429337B1 KR102429337B1 (ko) | 2022-08-03 |
Family
ID=67214487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180005521A KR102429337B1 (ko) | 2018-01-16 | 2018-01-16 | 이미지를 안정화하는 이미지 처리 장치 및 이미지를 안정화하는 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10659693B2 (ko) |
KR (1) | KR102429337B1 (ko) |
CN (1) | CN110049230B (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210015376A (ko) * | 2019-08-02 | 2021-02-10 | 한화테크윈 주식회사 | 움직임 벡터 산출 장치 및 방법 |
US11212444B1 (en) | 2020-06-15 | 2021-12-28 | Hanwha Techwin Co., Ltd. | Image processing device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780780B (zh) * | 2019-09-04 | 2022-03-22 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070088528A (ko) * | 2004-12-24 | 2007-08-29 | 가시오게산키 가부시키가이샤 | 영상 프로세서 및 영상 처리 프로그램 |
KR20090078583A (ko) * | 2008-01-15 | 2009-07-20 | 삼성전자주식회사 | 저조도 영상 처리 방법 및 시스템 |
KR20150119706A (ko) * | 2014-04-16 | 2015-10-26 | 국방과학연구소 | 글로벌 모션벡터 보상을 이용한 영상정합 방법 |
KR20160113887A (ko) * | 2015-03-23 | 2016-10-04 | 한화테크윈 주식회사 | 영상안정화장치 및 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5012270A (en) | 1988-03-10 | 1991-04-30 | Canon Kabushiki Kaisha | Image shake detecting device |
KR101433472B1 (ko) | 2012-11-27 | 2014-08-22 | 경기대학교 산학협력단 | 상황 인식 기반의 객체 검출, 인식 및 추적 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 |
KR102072014B1 (ko) | 2013-09-16 | 2020-01-31 | 에스케이 텔레콤주식회사 | 영상 흔들림 보정을 이용한 영상 안정화 장치 및 방법 |
WO2016147508A1 (ja) * | 2015-03-18 | 2016-09-22 | ソニー株式会社 | 画像処理装置と画像処理方法および撮像装置 |
JP2017038243A (ja) * | 2015-08-11 | 2017-02-16 | キヤノン株式会社 | 撮像装置 |
CN107124542B (zh) * | 2016-02-25 | 2020-03-27 | 珠海格力电器股份有限公司 | 图像的防抖处理方法和装置 |
-
2018
- 2018-01-16 KR KR1020180005521A patent/KR102429337B1/ko active IP Right Grant
- 2018-05-31 US US15/993,593 patent/US10659693B2/en active Active
- 2018-08-17 CN CN201810941738.6A patent/CN110049230B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070088528A (ko) * | 2004-12-24 | 2007-08-29 | 가시오게산키 가부시키가이샤 | 영상 프로세서 및 영상 처리 프로그램 |
KR20090078583A (ko) * | 2008-01-15 | 2009-07-20 | 삼성전자주식회사 | 저조도 영상 처리 방법 및 시스템 |
KR20150119706A (ko) * | 2014-04-16 | 2015-10-26 | 국방과학연구소 | 글로벌 모션벡터 보상을 이용한 영상정합 방법 |
KR20160113887A (ko) * | 2015-03-23 | 2016-10-04 | 한화테크윈 주식회사 | 영상안정화장치 및 방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210015376A (ko) * | 2019-08-02 | 2021-02-10 | 한화테크윈 주식회사 | 움직임 벡터 산출 장치 및 방법 |
US11212444B1 (en) | 2020-06-15 | 2021-12-28 | Hanwha Techwin Co., Ltd. | Image processing device |
Also Published As
Publication number | Publication date |
---|---|
CN110049230B (zh) | 2022-04-12 |
CN110049230A (zh) | 2019-07-23 |
US10659693B2 (en) | 2020-05-19 |
US20190222761A1 (en) | 2019-07-18 |
KR102429337B1 (ko) | 2022-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113454982B (zh) | 用于使图像稳定化的电子装置及其操作方法 | |
US8818046B2 (en) | Image processing device, image processing method, and program | |
KR101830889B1 (ko) | 디지털 이미지 안정화 장치 및 그 방법 | |
US9055217B2 (en) | Image compositing apparatus, image compositing method and program recording device | |
JP5163429B2 (ja) | 動きベクトル検出装置、その処理方法およびプログラム | |
JP4639555B2 (ja) | 動きベクトル検出装置および方法、手振れ補正装置および方法、並びに撮像装置 | |
KR101830077B1 (ko) | 화상처리장치, 그 제어 방법 및 기억매체 | |
KR102429337B1 (ko) | 이미지를 안정화하는 이미지 처리 장치 및 이미지를 안정화하는 방법 | |
US8334919B2 (en) | Apparatus and method for digital photographing to correct subject area distortion caused by a lens | |
US10116865B2 (en) | Image processing apparatus and image processing method for calculating motion vector between images with different in-focus positions | |
JP4804238B2 (ja) | 動きベクトル検出装置 | |
JP6282133B2 (ja) | 撮像装置、その制御方法、および制御プログラム | |
JP2010114596A (ja) | 動きベクトル検出装置、その処理方法およびプログラム | |
JP6817779B2 (ja) | 画像処理装置、その制御方法、プログラムならびに記録媒体 | |
US9117110B2 (en) | Face detection-processing circuit and image pickup device including the same | |
JP7025237B2 (ja) | 画像処理装置およびその制御方法ならびにプログラム | |
US12008773B2 (en) | Object tracking apparatus and control method thereof using weight map based on motion vectors | |
JP6316030B2 (ja) | 撮像装置及びその制御方法 | |
US20230316706A1 (en) | Filtering of keypoint descriptors based on orientation angle | |
US20230298302A1 (en) | Single read of keypoint descriptors of image from system memory for efficient header matching | |
JP5761991B2 (ja) | 画像処理装置及びその制御方法、並びにプログラム | |
KR20210119679A (ko) | 캡쳐된 영상을 안정화하는 방법 및 장치 | |
JP4881812B2 (ja) | フリッカ補正装置及びフリッカ補正方法 | |
KR20070081589A (ko) | 휴대 단말기에서의 흔들림 움직임 보상 장치 및 방법 | |
JP2017021638A (ja) | 画像処理装置、画像処理システム、画像処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |