KR20190054890A - 카메라 및 자이로스코프의 융합을 이용한 5차원 (5d) 비디오 안정화 장치 및 방법 - Google Patents

카메라 및 자이로스코프의 융합을 이용한 5차원 (5d) 비디오 안정화 장치 및 방법 Download PDF

Info

Publication number
KR20190054890A
KR20190054890A KR1020180080512A KR20180080512A KR20190054890A KR 20190054890 A KR20190054890 A KR 20190054890A KR 1020180080512 A KR1020180080512 A KR 1020180080512A KR 20180080512 A KR20180080512 A KR 20180080512A KR 20190054890 A KR20190054890 A KR 20190054890A
Authority
KR
South Korea
Prior art keywords
rotation
determining
camera
path
translation
Prior art date
Application number
KR1020180080512A
Other languages
English (en)
Other versions
KR102385024B1 (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 삼성전자주식회사
Publication of KR20190054890A publication Critical patent/KR20190054890A/ko
Application granted granted Critical
Publication of KR102385024B1 publication Critical patent/KR102385024B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • H04N5/2328
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/285Analysis of motion using a sequence of stereo image pairs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/246Calibration of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Computing Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Studio Devices (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Image Processing (AREA)

Abstract

카메라 및 자이로스코프 융합을 이용한 5차원 (5D) 비디오 안정화 장치 및 방법이 개시된다. 일 실시예에 따르면, 장치는 이미지 시퀀스를 수신하고 이미지 시퀀스에서 특징 쌍들을 결정하는 특징 매칭기; 상기 특징 매칭기에 연결되고, 미가공 2D 병진 경로를 결정하는 잔여 2차원 (2D) 병진 추정기; 상기 잔여 2D 병진 추정기에 연결되고, 평활화된 2D 병진 경로를 결정하는 잔여 2D 병진 평활기; 상기 잔여 2D 병진 추정기 및 상기 잔여 2D 병진 평활기에 연결되고, 왜곡 그리드를 결정하는 왜곡 계산기; 및 상기 왜곡 계산기에 연결되고, 상기 이미지 시퀀스에서 왜곡을 보상하는 왜곡 보상기를 포함한다.

Description

카메라 및 자이로스코프의 융합을 이용한 5차원 (5D) 비디오 안정화 장치 및 방법 {APPARATUS AND METHOD OF FIVE DIMENSIONAL (5D) VIDEO STABILIZATION WITH CAMERA AND GYROSCOPE FUSION}
본 발명은 일반적으로 비디오 안정화(Video Stabilization) 장치 및 방법, 및 보다 상세하게는, 카메라 및 자이로스코프의 융합을 이용한 5D 비디오 안정화 장치 및 방법에 관한 것이다.
종래의 자이로스코프-기반 비디오 안정화(예를 들어, 3차원(3D) 안정화)는 3D 회전(rotation) 평활화(smoothing) 및 보상(compensation)에 의해 달성된다. 종래의 3D 안정화 접근법은 병진적인(translational) 카메라의 움직임들을 고려하지 않는다. 따라서, 종래의 자이로스코프-기반 비디오 안정화는 비디오 레코딩 중 큰 카메라의 병진(translation)이 있는 경우에 큰 불안정한 진동(oscillation)이 문제된다.
종래의 자이로스코프-기반 3D 비디오 안정화는 카메라의 3D 회전만을 안정화시킨다. 3D 회전은 일반적으로 자이로스코프에 의해서 측정된 각속도들을 적분하는 것에 의해 계산된다. 카메라의 병진은 고려되지 않는데, 카메라로부터 최소 수 미터 떨어진 물체들을 포함하는 대부분의 영상에서 3D 회전에 의한 흔들림(shaking)이 더욱 눈에 띄기 때문이다. 하지만, 종래의 자이로스코프-기반 3D 비디오 안정화는 큰 병진적인 운동들에 의한 잔여(residual) 흔들림으로 인해 어려움을 겪고 있다.
본 발명이 해결하고자 하는 기술적 과제는, 카메라 및 자이로스코프 융합을 이용하여 5D 비디오 안정화 장치 및 방법을 제공하는 것이다.
일 실시예에 따르면, 장치가 제공된다. 위 장치는 이미지 시퀀스를 수신하고 상기 이미지 시퀀스에서 특징 쌍(feature pair)들을 결정하는 특징 매칭기(feature matcher); 상기 특징 매칭기와 연결되고, 미가공(raw) 2차원(2D) 병진 경로(translation path)를 결정하는 잔여(residual) 2D 병진 추정기(translation estimator); 상기 잔여 2D 병진 추정기와 연결되고, 평활화된(smoothed) 2D 병진 경로를 결정하는 잔여 2D 병진 평활기(translation smoother); 상기 잔여 2D 병진 추정기 및 상기 잔여 2D 병진 평활기와 연결되고, 왜곡 그리드(distortion grid)를 결정하는 왜곡 계산기(distortion calculator); 및 상기 왜곡 계산기와 연결되고, 상기 이미지 시퀀스에서 왜곡을 보상하는 왜곡 보상기(distortion compensator)를 포함한다.
일 실시예에 따르면, 방법이 제공된다. 위 방법은 특징 매칭기(feature matcher)에 의해서, 2개 이상의 연속된 이미지들을 가지는 이미지 시퀀스를 수신하는 단계; 상기 특징 매칭기에 의해서, 상기 이미지 시퀀스에서 특징 쌍(feature pair)들을 결정하는 단계; 상기 특징 매칭기와 연결되고, 미가공 3차원(3D) 회전 카메라 경로(rotation camera path), 인트라-프레임(intra-frame) 3D 회전(rotation), 및 평활화된 3D 회전 카메라 경로를 수신하는 잔여(residual) 2차원(2D) 병진 추정기(translation estimator)에 의해서, 미가공 2D 병진 경로(translation path)를 결정하는 단계; 잔여 2D 병진 평활기에 의해서, 평활화된 2D 병진 경로를 결정하는 단계; 상기 잔여 2D 병진 추정기 및 상기 잔여 2D 병진 평활기와 연결된 왜곡 계산기(distortion calculator)에 의해서, 왜곡 그리드(distortion grid)를 결정하는 단계; 및 상기 왜곡 계산기와 연결된 왜곡 보상기(distortion compensator)에 의해서, 상기 이미지 시퀀스에서 왜곡을 보상하는 단계를 포함한다.
본 원의 임의의 실시예들의 상기 및 다른 양상들, 특징들 및 장점들은 첨부된 도면들과 관련하여 취해진 다음의 상세한 설명으로부터 보다 명확해진다.
도 1은 일 실시예에 따른, 자이로스코프-기반 3D 안정화 시스템의 블록도를 도시한다.
도 2는 일 실시예에 따른, 5D 비디오 안정화 시스템의 블록도를 도시한다.
도 3a, 3b, 및 3c 는 일 실시예에 따른, 에피폴라 기하학(epipolar geometry) 기반 이상치 제거(outlier rejection)의 도표를 도시한다.
도 4는 일 실시예에 따른, 5D 비디오 안정화 방법의 다른 흐름도를 도시한다.
도 5는 일 실시예에 따른, 5D 비디오 안정화 시스템의 블록도를 도시한다.
도 6은 일 실시예에 따른, 네트워크 환경에서 전자 디바이스의 블록도를 도시한다.
도 7은 일 실시예에 따른, 카메라 모듈의 블록도를 도시한다.
도 8은 일 실시예에 따른, 컴퓨터 프로그램의 블록도를 도시한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 비록 상이한 도면들에 도시되어 있다 하더라도 동일한 요소들은 동일한 도면 부호들에 의해 표시된다는 것을 주의해야한다. 다음의 설명에서, 상세한 구성들 및 구성요소들과 같은 특정 세부사항들은 단지 본원의 실시예들의 전반적인 이해를 돕기 위해 제공된다. 따라서, 본원의 범위를 벗어나지 않으면서 본원에 기술된 실시예들의 다양한 변경 및 수정이 이루어질 수 있음은 당업자에게 명백할 것이다. 또한, 공지된 기능들 및 구성들에 대한 설명들은 명확성 및 간결성을 위해 생략되었다. 이하에서 설명되는 용어들은 본원에서의 기능들을 고려하여 정의된 용어들로써, 사용자들, 사용자들의 의도 또는 관습에 따라 달라질 수 있다. 그러므로 용어들의 정의는 본 명세서 전반에 걸친 내용을 기반으로 결정되어야 한다.
본원은 다양한 변형들 및 다양한 실시예들을 가질 수 있으며, 그 중 첨부된 도면을 참조하여 이하에 실시예들이 상세하게 설명된다. 그러나, 본원은 실시예들에 한정되지 않고, 본원의 범위 내의 모든 변형들, 등가물들 및 대안들을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같은 서술 번호를 포함하는 용어들이 다양한 구성 요소들을 설명하기 위해 사용될 수 있지만, 구조적 구성 요소들은 용어들에 의해 제한되지 않는다. 이러한 용어들은 한 구성 요소를 다른 구성 요소와 구별하기 위해서만 사용된다. 예를 들어, 본원의 범위를 벗어나지 않으면서, 제1 구조적 구성 요소는 제2 구조적 구성 요소로 지칭될 수 있다. 유사하게, 제2 구조적 구성 요소는 또한 제1 구조적 구성 요소로 지칭될 수 있다. 본원에서 사용된 "및/또는"이라는 용어는 하나 이상의 관련 아이템들의 임의의 조합 및 모든 조합을 포함한다.
본원에서 사용된 용어들은 본원의 다양한 실시예들을 설명하기 위해 사용된 것이며 본원을 제한하고자 하는 것은 아니다. 단수 형태들은 문맥에 달리 명시되어 있지 않는 한 복수 형태를 포함하고자 한다. 본원에서, 용어 "포함하는" 또는 "가지는"은 특징들, 숫자들, 단계들, 동작들, 구조적 구성 요소들, 부품들, 또는 이들의 조합들의 존재를 나타내는 것이지, 하나 이상의 다른 특징들, 숫자들, 단계들, 동작들, 구조적 구성 요소들, 부품들, 또는 이들의 조합들의 존재나 가능성을 배제하는 것이 아니다.
다르게 정의되지 않는 한, 본원에서 사용된 모든 용어들은 본원이 속하는 기술분야의 당업자에 의해 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의된 것과 같은 용어들은 관련 분야의 문맥상의 의미와 동일한 의미를 갖는 것으로 해석되어야 하며, 본원에서 명확하게 정의되지 않는 한 이상적이거나 과도하게 공식적인 의미를 갖는 것으로 해석되어서는 안 된다.
일 실시예에 따르면, 전자 디바이스는 다양한 유형들의 전자 디바이스들 중 하나일 수 있다. 전자 디바이스들은, 예를 들어, 휴대용 통신 디바이스(예를 들어, 스마트 폰), 컴퓨터, 휴대용 멀티미디어 디바이스, 휴대용 의료 디바이스, 카메라, 웨어러블 디바이스, 또는 가전 제품을 포함할 수 있다. 일 실시예에 따른 전자 디바이스는 상술한 것에 제한되지 않는다.
본원에서 사용된 용어들은 본원을 제한하고자 하는 것이 아니며, 대응하는 실시예에 대한 다양한 변경들, 등가물들, 또는 대체물들을 포함하도록 의도된다. 첨부된 도면들의 설명들과 관련하여, 유사한 도면 부호들은 유사한 또는 관련된 구성 요소들을 참조하는데 사용될 수 있다. 사물에 대한 명사의 단수 형태는, 관련 문맥이 다른 것을 명백히 나타내지 않는 한, 하나 이상의 사물들을 포함할 수 있다. 본원에 사용된 “A 또는 B”, “A 및 B 중 적어도 하나”, “A 또는 B 중 적어도 하나”, “A, B, 또는 C”, “A, B, 및 C 중 적어도 하나”, “A, B, 또는 C 중 적어도 하나”는 해당 구에 열거된 항목들의 가능한 모든 조합을 포함할 수 있다. 본원에서 사용된 “제1”, 및 “제2”는 해당 구성 요소를 다른 구성 요소와 구별하기 위해 사용되며, 구성 요소들을 다른 관점(예를 들어, 중요성 또는 순서)에서 제한하고자 하는 의도로 사용되지 않는다. 하나의 구성 요소(예를 들어, 제1 구성 요소)가 다른 구성 요소(예를 들어, 제2 구성 요소)와, "작동하도록" 또는 "통신하도록"이라는 용어의 유무에 관계없이, "커플링된", "커플된", "접속된", 또는 "연결된"경우, 이는 하나의 구성 요소가 다른 구성 요소와 직접(예를 들어, 유선), 무선, 또는 제 3 구성 요소를 통해 연결될 수 있음을 나타낸다.
본원에서 사용된, “모듈”이라는 용어는, 하드웨어, 소프트웨어, 또는 펌웨어로 구현되는 유닛을 포함할 수 있으며, 예를 들어, “로직”, “로직 블록”, “부품”, 및 “회로”와 같은 다른 용어들과 혼용될 수 있다. 모듈은 하나 이상의 기능을 수행하도록 구현된 단일 집적 구성 요소, 또는 최소 단위나 그 일부일 수 있다. 예를 들어, 일 실시예에 따르면, 모듈은 응용 주문형 집적 회로(ASIC: application specific integrated circuit)의 한 형태로 구현될 수 있다.
일 실시예에 따르면, 본원의 방법은 컴퓨터 프로그램 제품에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 판매자와 구매자 사이의 제품으로 거래될 수 있다. 컴퓨터 프로그램 제품은 머신-판독 가능 저장 매체(예를 들어, 컴팩트 디스크 판독 전용 메모리(CD-ROM))의 형태로 배포되거나, 애플리케이션 스토어(예를 들어, Play StoreTM)를 통해 온라인으로 배포(예를 들어, 다운로드 또는 업로드)되거나, 2개의 사용자 디바이스(예를 들어, 스마트 폰) 사이에서 직접 배포될 수 있다. 온라인으로 배포되는 경우, 컴퓨터 프로그램 제품의 적어도 일부는 일시적으로 생성되거나, 제조 업체의 서버의 메모리, 어플리케이션 스토어의 서버, 또는 릴레이 서버와 같은 머신-판독 가능한 저장 매체에 일시적으로 저장될 수 있다.
일 실시예에 따르면, 상기 설명된 구성 요소들의 각각의 구성 요소(예를 들어, 모듈 또는 프로그램)는 단일 엔티티(entity) 또는 다중 엔티티들을 포함할 수 있다. 하나 이상의 상술한 구성 요소들은 생략될 수 있고, 하나 이상의 다른 구성 요소들이 추가될 수 있다. 대안적으로 또는 추가적으로, 복수의 구성 요소들(예를 들어, 모듈들 또는 프로그램들)은 단일 구성 요소로 통합될(integrated) 수 있다. 이러한 경우, 통합된 구성 요소는 통합 전 하나 이상의 복수의 구성 요소들에 의해서 수행되는 것과 동일하거나 유사한 방식으로 여전히 하나 이상의 복수의 구성 요소들의 하나 이상의 기능을 수행할 수 있다. 모듈, 프로그램, 또는 다른 구성요소에 의해 수행되는 동작은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 수행될 수 있으며, 또한 하나 이상의 동작들이 생략되거나 다른 순서로 수행될 수 있으며, 하나 이상의 다른 동작들이 추가될 수 있다.
일 실시예에서, 비디오 레코딩 동안 큰 카메라 병진들이 있는 경우에 큰 불안정한 흔들림들의 문제점은 5D 비디오 안정화를 실현하기 위해 3D 회전(rotation) 보상(compensation) 이후에 잔여(residual) 2D 병진(translation)들을 추정하는 것 및 안정화시키는 것으로부터 해결된다.
일 실시예에서, 5D 안정화 장치 및 방법은 카메라 센서와 자이로스코프 정보를 융합한다. 카메라의 3D 회전은 자이로스코프로부터 직접 측정된다. 3D 회전들을 평활화하는 것 및 보상하는 것 이후에, 카메라의 3D 병진으로 인한 진동들이 남아있을 수 있다. 3D 병진들은 깊이의 부재로 인하여 완벽히 추정되거나 이용될 수 없다. 따라서, 잔여 2D 병진은 이미지 평면 내에서 관측되는 것으로서, 자이로스코프-기반 3D 회전 추정 및 이미지 시퀀스로부터의 가상 정보를 융합하는 것에 의해 추정될 수 있다. 5D 비디오 안정화는 모션에서 3D 회전 및 잔여 2D 병진의 평활화 및 보상을 결합하여 실현된다. 5D 비디오 안정화는, 특히 큰 병진적인 움직임들이 있는 장면(scene)들에서, 안정화 성능을 향상시킨다.
일 실시예에서, 잔여 2D 병진이 사용된다. 비디오 안정화를 위한 3D 병진의 추정은 "모션으로부터의 구조"라는 문제를 해결하는 것에 의해 연구되었다. 그러나, 이러한 접근법은 초기 스케일링의 모호성에 의해 어려울 수 있고 높은 계산 비용으로 인해 실-시간 안정화(real-time stabilization)에 사용되는 것이 가능하지 않을 수 있다.
일 실시예에서, 잔여 2D 병진은 3D 병진에 의해 야기되는 이미지의 가장자리 효과(end effect)를 근사하기 위해 추정되며, 이는 낮은 계산 비용으로 효과적으로 추정될 수 있고 3D 병진으로 인한 아티팩트(artifact)들을 여전히 캡처할 수 있다.
일 실시예에서, 센서 및 비전(vision) 융합 기반 접근법은 잔여 2D 병진을 추정하기 위해 사용된다. 3D 회전은 종래의 자이로스코프-기반 비디오 안정화에서와 같이 자이로스코프에 의해 측정된 각속도들로부터 쉽게 그리고 정확하게 획득될 수 있다. 3D 회전 추정들에 기초한, 3D 회전 효과는 연속되는 이미지들로부터 추출된 특징 쌍들로부터 제거될 수 있다. 근사치들을 이용하면, 잔여 2D 병진은 프로세싱된 특징 쌍들로부터 추정된다.
일 실시예에서, 에피폴라 기하학(epipolar geometry)에 기초한 이상치 제거 방법(outlier rejection method)은 잔여 2D 병진 추정을 위한 특징 쌍들을 선택하기 위해 사용된다. 3D 회전 효과를 제거한 후, 연속되는 프레임들에서의 특징 쌍들의 움직임들은 3D 병진에 의해 야기될 수 있다. 따라서, 각각의 특징 쌍을 연결하는 라인들은 소실점(vanishing point)에서 교차해야 한다. 일 실시예에서, 이러한 특성은 이하에 기술된 에피폴라 기하학 기반 이상치 제거 방법에서 사용된다.
일 실시예에서, 5D 안정화 장치 및 방법은 3D 회전 추정, 센서-비전 융합을 사용한 잔여 2D 병진 추정, 및, 롤링 셔터 효과(rolling shutter effect) 제거 및 비디오 안정화를 위한 3D 및 잔여 2D 보상의 결합을 포함한다.
일 실시예에서, 자이로스코프-비전 융합을 통한 잔여 2D 병진은 카메라의 3D 병진으로 인한 효과를 효율적으로 추정하고, 이는 종래의 자이로스코프-기반 비디오 안정화에서 고려되지 않았다.
일 실시예에서, 5D 안정화는 카메라의 상이한 타입의 모션(예를 들어, 3D 회전 및 3D 병진)으로 인한 지터(jitter)를 효과적으로 제거하고, 이는 병진들이 존재하는 경우 성능을 향상시킨다.
비디오 안정화는 원치 않는 모션 지터(motion jitter)를 제거하고 본래 떨리는 비디오를 재구성하여 일반 시청자의 시네마토그래피 인식(cinematographic perception)을 만족시킨다. 광학 이미지 안정화(OIS; optical image stabilization) 및 디지털 이미지 안정화(DIS; digital image stabilization)로 불리는 안정화 기술들의 2가지 주요 카테고리가 있다. OIS는 일반적으로 자이로스코프에 의해 측정된 순간적인 카메라의 움직임들에 기초한 카메라 렌즈 또는 센서의 기계적인 움직임에 의해서 달성된다. 따라서, 원하지 않은 움직임들은 이미지들이 기록되기 전에 제거된다. DIS 는 이미지가 기록된 뒤에 원하지 않은 움직임들을 제거한다. DIS에서, 멀티 프레임들을 가로지르는 카메라 모션은 추정(예를 들어, 추정된 미가공 경로)될 수 있다. 이때 평활화된 경로(smoothed path)는 추정된 미가공 경로(estimated raw path)에 기초하여 결정될 수 있다. 이미지 뒤틀기 과정(image warping process)을 통하여, 비디오는 카메라가 평활화된 경로를 따라 움직이는 것과 같이 교정될 수 있다. 본원은 DIS 에 관한 것이다.
도 1은 일 실시예에 따른, 자이로스코프-기반 3D 비디오 안정화 시스템의 블록도를 도시한다. 자이로스코프-기반 3D 비디오 안정화 시스템(100)은 3D 회전 추정기(101), 3D 회전 평활기(103), 왜곡 계산기(105), 및 왜곡 보상기(107)을 포함한다.
3D 회전 추정기(101)는 입력(109), 제1 출력(111), 및 제2 출력(113)을 포함한다. 3D 회전 추정기(101)는 입력(109)에서 자이로스코프에 의해 측정된 각속도들을 수신하고 각속도들을 사용하여 카메라의 인터-프레임(inter-frame) 3D 회전 및 인트라-프레임(intra-frame) 3D 회전을 추정하며, 그리고 제1 출력(111)에서 누적된 미가공 3D 회전 카메라 경로(raw 3D rotation camera path)를 출력하고 제2 출력(113)에서 인트라-프레임 3D 회전을 출력한다.
3D 회전 평활기(103)는 3D 회전 추정기(101)의 제1 출력(111)과 연결된 입력 및 출력(115)을 포함한다. 3D 회전 평활기(103)는 3D 회전 추정기(101)로부터 수신된 미가공 3D 회전 카메라 경로를 평활화하고 출력(115)에서 평활화된 3D 회전 카메라 경로 및 미가공 3D 회전 카메라 경로를 출력한다.
왜곡 계산기(105)는 3D 회전 평활기(103)의 출력(115)과 연결된 제1 입력, 3D 회전 추정기(101)의 제1 출력(111)과 연결된 제2 입력, 3D 회전 추정기(101)의 제2 출력(113)과 연결된 제3 입력, 및 왜곡된 그리드(distorted grid)를 제공하기 위한 출력(117)을 포함한다. 미가공 3D 회전 카메라 경로, 인트라-프레임 3D 회전, 및 평활화된 3D 회전 카메라 경로를 이용하여, 왜곡 계산기(105)는 왜곡된 그리드를 결정한다.
왜곡 보상기(107)는 왜곡 계산기(105)의 출력(117)과 연결된 제1 입력, 제2 입력(119), 및 출력(121)을 포함한다. 왜곡 보상기(107)는 왜곡 계산기(105)의 출력(117)으로부터 왜곡된 그리드를 수신하고 입력(119)에서 이미지 시퀀스를 수신하며, 그리고 왜곡된 그리드를 사용하여 이미지 시퀀스에서 3D 회전을 보상한다.
도 2는 일 실시예에 따른, 5D 비디오 안정화 시스템의 블록도를 도시한다. 5D 비디오 안정화 시스템(200)은 3D 회전 추정기(201), 3D 회전 평활기(203), 특징 매칭기(205), 잔여 2D 병진 추정기 (207), 잔여 2D 병진 평활기(209), 왜곡 계산기(211), 및 5D 왜곡 보상기(213)을 포함한다.
3D 회전 추정기(201)는 입력(215), 제1 출력(217), 및 제2 출력(219)을 포함한다. 3D회전 추정기(201)은 입력(215)에서 자이로스코프로부터 측정된 각속도들을 수신하고 각속도들을 사용해서 카메라의 인터-프레임(inter-frame) 3D 회전 및 인트라-프레임(intra-fame) 회전을 추정하며, 그리고 제1 출력(217)에서 누적된(accumulated) 미가공 3D 회전 카메라 경로를 출력하고, 제2 출력(219)에서 인트라-프레임 3D 회전을 출력한다.
3D 회전 평활기(203)는 3D 회전 추정기(201)의 제1 출력(217)과 연결된 입력 및 출력(221)을 포함한다. 3D 회전 평활기(203)는 3D 회전 추정기(201)의 제1 출력(217)으로부터 수신된 미가공 3D 회전 카메라 경로를 평활화하고 출력(221)에서 평활화된 3D 회전 카메라 경로를 출력한다.
특징 매칭기(205)는 이미지 시퀀스를 수신하기위한 입력(223) 및 특징 쌍들을 제공하기 위한 출력(225)을 포함한다. 잔여 2D 병진 추정기(207)는 3D 회전 추정기(201)의 제1 출력(217)에 연결된 제1 입력, 3D 회전 추정기(201)의 제2 출력(219)에 연결된 제2 입력, 3D 회전 평활기(203)의 출력(221)에 연결된 제3입력, 특징 매칭기(205)의 출력(225)에 연결된 제4 입력, 잔여 2D 병진의 추정(예를 들어, 미가공 2D 병진 경로)을 제공하는 제1 출력(227), 및 인트라-프레임 잔여 2D 병진의 추정을 제공하는 제2 출력(229)을 포함한다. 잔여 2D 병진 추정기(207)는 잔여 2D 병진을 추정하기 위해서 특징 매칭기(205)의 출력(225)으로부터 2개의 연속된 이미지들로부터의 특징 쌍들, 3D 회전 추정기(201)의 제1 출력(217)으로부터 미가공 3D 회전 카메라 경로, 3D 회전 추정기(201)의 제2 출력(219)로부터 인트라-프레임 3D 회전, 3D 회전 평활기(203)의 출력(221)으로부터 평활화된 3D 회전 카메라 경로를 수신한다. 잔여 2D 병진 추정기(207)의 제1 출력(227)은 미가공 2D 병진 경로이다. 잔여 2D 병진 추정기(207)의 제 2 출력(229)은 인트라-프레임 잔여 2D 병진이다.
잔여 2D 병진 평활기(209)는 잔여 2D 병진 추정기(207)의 제1 출력(227)과 연결된 입력 및 평활화된 2D 병진 경로를 제공하기 위한 출력(231)을 포함한다. 잔여 2D 병진 평활기(209)는 잔여 2D 병진 추정기(207)의 제1 출력(227)으로부터 수신된 대응하는 미가공 2D 병진 경로를 평활화하는 것에 의해 평활화된 2D 병진 경로를 생성한다.
왜곡 계산기(211)는 3D 회전 추정기(201)의 제1 출력(217)과 연결된 제1 입력, 3D 회전 추정기(201)의 제2 출력(219)에 연결된 제2 입력, 3D 회전 평활기(203)의 출력(221)과 연결된 제3 입력, 잔여 2D 회전 추정기(207)의 제1 출력(227)과 연결된 제4 입력, 잔여 2D 병진 추정기(207)의 제2 출력(229)과 연결된 제5 입력, 잔여 2D 병진 평활기(209)의 출력(231)과 연결된 제6 입력, 및 왜곡된 그리드(distorted grid)를 제공하기 위한 출력(223)을 포함한다. 왜곡 계산기(211)는 3D 회전 추정기(201)의 제1 출력(217)로부터의 미가공 3D 회전 카메라 경로, 3D 회전 추정기(201)의 제2 출력(219)으로부터의 인트라-프레임 3D 회전, 3D 회전 평활기(203)의 출력(221)으로부터의 평활화된 3D 회전 카메라 경로, 잔여 2D 병진 추정기(207)의 제1 출력(227)으로부터의 미가공 2D 병진 경로, 잔여 2D 병진 추정기(207)의 제2 출력(229)으로부터의 인트라-프레임 잔여 2D 병진, 및 잔여 2D 병진 평활기(209)의 출력(231)으로부터의 평활화된 2D 병진 경로를 결합하여 왜곡된 그리드를 결정한다. 인트라-프레임 3D 회전 및 인트라-프레임 2D 병진은 롤링 셔터(RS; rolling shutter)를 보상하기 위한 왜곡된 그리드를 결정하기 위해 사용된다.
5D 왜곡 보상기(213)는 왜곡 계산기(211)의 출력(233)과 연결된 제1 입력, 특징 매칭기(205)의 입력(223)과 연결된 제2 입력, 및 출력(235)을 포함한다. 5D 왜곡 보상기(213)는 왜곡 계산기(211)의 출력(233)으로부터 왜곡된 그리드를 수신하고 제2 입력에서 이미지 시퀀스를 수신하고, 왜곡된 그리드를 사용하여 이미지 시퀀스의 왜곡을 보상한다.
일 실시예에서, 모션 추정에 대한, 에피폴라 기하학(epipolar geometry) 기반 이상치 제거(outlier rejection)는 특징 쌍들을 선택하기 위해 사용된다.
일 실시예에서, 3D 회전은 자이로스코프로부터 측정된 각속도를 적분하는 것에 의해서 결정된다. 카메라 모션을 평활화하기 위해서, 2개의 연속되는 프레임들 사이의 인터-프레임(inter-frame) 3D 회전이 추정되고 대응하는 3D 회전의 누적된 미가공 경로가 결정된다. RS를 보상하기 위해서는, 인트라-프레임(intra-frame) 3D 회전이 추정된다.
Figure pat00001
번째 프레임의 타임 스템프(time stamp)는
Figure pat00002
으로 표시되고, 이는 이미지의 중간-행(mid-row)가 기록되는 시간에 대응한다. 프레임
Figure pat00003
로부터 프레임
Figure pat00004
으로의 인터-프레임(inter-frame) 회전은
Figure pat00005
으로 표기되고,
Figure pat00006
으로부터
Figure pat00007
으로의 카메라 3D 회전을 나타내며 이는 식(1)로 결정될 수 있다.
Figure pat00008
- 식(1)
여기서
Figure pat00009
Figure pat00010
Figure pat00011
각속도 벡터들인
Figure pat00012
Figure pat00013
사이의 자이로스코프 샘플들일 수 있으며, 이들은 각각
Figure pat00014
에서의 값이다.
Figure pat00015
Figure pat00016
은 프레임
Figure pat00017
및 프레임
Figure pat00018
의 시간 스템프에 대응하며, 예를 들면,
Figure pat00019
그리고
Figure pat00020
이다. 이러한 2개의 시각에서의 대응하는 각속도들
Figure pat00021
Figure pat00022
은, 각각,
Figure pat00023
Figure pat00024
근처의 가장 가까운 자이로스코프 샘플들을 삽입함으로써 얻어진다. 미가공 3D 회전 경로는 식(2) 에서와 같이 프레임
Figure pat00025
으로부터 모든 연속하는 프레임들까지의 인터-프레임(inter-frame) 회전을 축적하는 것에 의해 결정된다.
Figure pat00026
-식(2)
여기서
Figure pat00027
는 회전 벡터
Figure pat00028
로부터 이에 등가(equivalent)인
Figure pat00029
3D 회전 행렬(rotation matrix)로의 변환(transformation)이다.
Figure pat00030
에 대해서,
Figure pat00031
는 행렬 지수(matrix exponential) 또는 로드리게스 회전 공식(Rodrigues' rotation formula)을 이용하여 결정될 수 있다. 경로를 평활화하기 위해서, 프레임
Figure pat00032
까지 축적된 3D 회전의 회전 벡터 표현은
Figure pat00033
으로 표시되고, 이는 3D 회전 평활기(203)에서 평활화될 수 있다. 평활화된 3D 회전 카메라 경로의 회전 행렬 및 회전 벡터는 각각
Figure pat00034
Figure pat00035
으로 표시된다.
RS 보상을 위해서, 중간-행(mid-row)으로부터 다른 모든 행들로의 인트라-프레임 3D 회전이 결정된다. 프레임
Figure pat00036
에서 중간행으로부터
Figure pat00037
번째 행까지의 회전은
Figure pat00038
으로 표시된다. 인트라-프레임 회전을 결정하기 위해서, 프레임
Figure pat00039
에서 0번째 행으로부터 모든 다른 행들까지의 회전이 결정되고
Figure pat00040
로 표시된다. 이는 위의 식(1) 에서
Figure pat00041
을 0번째 행의 시간으로 그리고
Figure pat00042
Figure pat00043
번째 행의 시간으로 변경함으로써 얻어질 수 있다. 이렇게 식(3) 에서 인트라-프레임 로테이션
Figure pat00044
이 결정된다.
Figure pat00045
-식(3)
여기서
Figure pat00046
는 중간 행의 인덱스이다.
Figure pat00047
의 등가 회전 행렬 표현은
Figure pat00048
로 표시된다.
자이로스코프 측정은 단지 3D 회전 정보를 제공한다. 병진 정보는 이미지 시퀀스들로부터 추출될 수 있다. 프레임
Figure pat00049
로부터 프레임
Figure pat00050
까지의 인터-프레임 잔여 2D 병진을 추정하기 위해서, 특징 매칭기(205)는 2개의 연속되는 프레임들 사이의 특징 쌍들을 매칭한다.
Figure pat00051
번째 쌍들의 2D 미지 좌표는
Figure pat00052
으로 표시되고 대응하는 동차 좌표(homogeneous coordinates) 표현은
Figure pat00053
으로 표시된다. 2D 이미지 좌표는 동일한 3D 세계 좌표
Figure pat00054
로부터 투사(projected)되는 것이기 때문에, 카메라 모션은 식(4) 와 같을 수 있다.
Figure pat00055
-식(4)
여기서
Figure pat00056
는 프레임
Figure pat00057
에서 3D 병진을 나타내는
Figure pat00058
벡터이고,
Figure pat00059
Figure pat00060
카메라 고유 행렬(intrinsic matrix) 이며, 이는 식(5) 에서 주어진다:
Figure pat00061
-식(5)
여기서
Figure pat00062
는 이미지 픽셀에 대한 초점 길이이고
Figure pat00063
는 이미지 평면에서 카메라 주요 축(principle axis)의 원점(origin)이다. 3D 병진
Figure pat00064
의 임펙트(impact)를 추정하기 위해, 식(6) 에서와 같이 3D 회전에 의한 영향을 제거한다:
Figure pat00065
-식(6)
위의 식(6)에서 차이 값(difference value)은 목적하는 평활화된 경로에 따른 이미지 뒤틀림 이후의 3D 병진에 의해 야기된다.
Figure pat00066
은 프레임
Figure pat00067
에서 사용되며, 이는 프레임
Figure pat00068
에서 적용된 실제 3D 보상에 대응한다. 그러나, 프레임
Figure pat00069
에서는
Figure pat00070
대신에
Figure pat00071
이 사용된다. 이는
Figure pat00072
에 의해서 주어진 추가적인 회전은 프레임
Figure pat00073
로부터 프레임
Figure pat00074
까지의 목적하는 평활화된 3D 회전 카메라 경로이기 때문이며, 잔여 병진 임펙트는 이 부분을 포함하지 않아야 한다. 이는 프레임
Figure pat00075
에서
Figure pat00076
이 적용되는 이유이다. 식(6)에서 차이 계산은 직접적으로 계산될 수 없는데, 이는
Figure pat00077
Figure pat00078
이 직접적으로 이용 가능하지 않기 때문이다. 따라서, 먼 오브젝트 가정, 예를 들어, 이미지에서 오브젝트들이 초점 거리에 비해서 상대적으로 이미지 평면으로부터 더 멀리 떨어져 위치된다는 가정이 사용된다.
비록 식(6)에서 계산된 차이 값이
Figure pat00079
벡터이지만, 이는 3D 병진 임펙트를 반영한 것으로서, 이는 이미지 상의 최종 결과를 직접 제안하지 않고
Figure pat00080
,
Figure pat00081
Figure pat00082
을 알지 못한 경우 계산될 수 없다. 따라서, 2D 좌표로 정규화한 뒤의 차이는 특징 쌍의 좌표를 사용해서 이미지 평면에서 잔여 2D 병진을 얻기 위해 결정된다. 식(6)에서의 2개의 용어들은 식(7) 및 (8) 에서와 같이 계산될 수 있다:
Figure pat00083
-식(7)
Figure pat00084
-식(8)
Figure pat00085
Figure pat00086
는 모두
Figure pat00087
행렬이며, 예를 들어,
Figure pat00088
Figure pat00089
이다. 따라서
Figure pat00090
번째 특징 쌍에 의해 주어진 잔여 2D 추정은 식(9)에서와 같이 결정된다:
Figure pat00091
-식(9)
인터-프레임(inter-frame) 잔여 2D 병진의 최소 평균 제곱 오차(MMSE; minimum mean square error) 추정은 식(10) 에서와 같이
Figure pat00092
개의 특징 쌍에 대한 평균에 의해 결정될 수 있다:
Figure pat00093
-식(10)
인터-프레임 잔여 2D 병진은 미가공 잔여 2D 병진 경로를 얻기 위해 축적된다.
Figure pat00094
은 평활화된 3D 회전 카메라 경로를 따라 움직이더라도 잔여 이동이므로, 누적은 식(11) 에서와 같이 결정될 수 있다.
Figure pat00095
-식(11)
미가공 경로에 기초하여 결정된 대응하는 평활화된 경로는
Figure pat00096
으로 표시된다.
인터-프레임(inter-frame) 잔여 2D 병진 추정이 결정된 이후에, 인트라-프레임(intra-frame) 잔여 2D 병진은 일정한 병진 속도들을 가정하는 것에 의해 추정될 수 있다. 프레임
Figure pat00097
에서 중간-행으로부터
Figure pat00098
번째 행까지의 인트라-프레임 병진 벡터는 식(12) 와 같다.
Figure pat00099
-(12)
여기서
Figure pat00100
는 각각의 이미지의 행의 총수이다. 일정한 속력 모델 대신에 다항식 모델(polynomial model) 또는 구분적 선형 모델(piece wise linear model)을 가정하여 인트라-프레임 병진의 변화를 캡처할 수 있다.
잔여 2D 병진 추정을 위해 사용된 특징 쌍들은 특징 검출/매칭 알고리즘 및 이미지의 시점에 따라 이상치(outlier)들을 포함할 수 있다. 따라서, 식(7)에서 계산된
Figure pat00101
의 특별한 기하학적 특성을 사용하여 이상치 제거 방법(outlier rejection method)이 사용될 수 있다.
Figure pat00102
은 매칭 특징 포인트들의 쌍의 동차 좌표(homogeneous coordinates)로 간주할 수 있다. 대응하는 2D 유클리드 표현(Euclidian representation)은 식(13)에서와 같이 정규화된 버전으로 주어진다:
Figure pat00103
-식(13)
매칭 포인트들 사이의 차이는 3D 병진에 의해서만 야기되기 때문에, 이러한 특징 쌍들을 연결하는 라인들은 에피폴라 기하학(epipolar geometry)의 특성에 따라 소실점(vanishing point)에서 교차해야 한다. 이상치 제거 방법은 소실점을 가리키지 않는 특징 쌍들을 제거하기 위해 사용된다.
일 실시예에서, 이상치 제거 방법을 위한 에피폴라 기하학 기반 RANSAC 는 아래의 표 1에서와 같은 임의 샘플 컨센서스(RANSAC; random sample consensus)에 기초할 수 있다.
표 1
Epipolar geometry based RANSAC for outlier rejection
Input:
Figure pat00104
Figure pat00105
Output: The index set of the inlier feature pairs
Figure pat00106
Initialization:
Figure pat00107
For
Figure pat00108
do
calculate the line connecting each feature pair:
Figure pat00109
end
Repeat:
Set temporary inlier set
Figure pat00110
.
Randomly pick two feature pairs
Figure pat00111
and
Figure pat00112
.
Calculate the temporary vanishing point:
Figure pat00113
If
Figure pat00114
and
Figure pat00115
point to the same direction
For
Figure pat00116
do
Calculate the line connecting the mid-point and the temporary
vanishing point:
Figure pat00117
Calculate the angle:
Figure pat00118
If
Figure pat00119
and
Figure pat00120
point away from
Figure pat00121
If
Figure pat00122
then
Figure pat00123
.
end
else
If
Figure pat00124
then
Figure pat00125
.
end
end
end
if
Figure pat00126
then
Figure pat00127
end
end
until the maximum number of iterations is reached.
도 3a는 일 실시예에 따른, 에피폴라 기하학 기반 이상치 제거의 도표를 도시한다. 각각의 RANSAC 반복(iteration)에서, 후보 소실점
Figure pat00128
(301)은 서로 반대 방향을 가리키고, 2개의 임의로 선택된 특징 쌍들 각각을 연결한 2개의 라인들 (303 및 305)의 교차점으로서 계산되며, 제1 특징 쌍은 라인(303)을 따라서 후보 소실점
Figure pat00129
(301) 방향을 가리키는 포인트
Figure pat00130
(307) 및 (309)을 포함하고, 제2 특징 쌍은 라인(305)을 따라서 후보 소실점
Figure pat00132
(301)에서 멀어지는 방향을 가리키는 포인트
Figure pat00133
(311) 및
Figure pat00134
(313)을 포함한다. 이 경우, 현재 시스템은 후속 계산을 건너 뛰고, 다음 반복으로 진행한다.
도 3b는 일 실시예에 따른 에피폴라 기하학 기반 이상치 제거의 도표를 도시한다. 각각의 RANSAC 반복에서, 후보 소실점
Figure pat00135
(321)은 후보 소실점
Figure pat00136
(321)에 대해 같은 방향을 가리키고, 임의로 선택된 특징 쌍들 각각을 연결한 2개의 라인(323 및 325)의 교차점으로서 계산되며, 제1 특징 쌍은 라인(323)을 따라서 후보 소실점
Figure pat00137
(321) 방향을 가리키는 포인트
Figure pat00138
(327) 및
Figure pat00139
(329) 을 포함하고, 제2 특징 쌍은 라인(325)을 따라서 후보 소실점
Figure pat00140
(321) 방향을 가리키는 포인트
Figure pat00141
(331) 및
Figure pat00142
(333) 을 포함한다. 이때, 각각의 특징 쌍
Figure pat00143
에 대하여, 특징 포인트
Figure pat00144
(341) 방향을 가리키는 2개의 특징 포인트
Figure pat00145
(339) 및
Figure pat00146
341)을 연결하는 라인(337) 및 후보 소실점
Figure pat00147
(321)과 연결된 라인(343) 사이의 각도
Figure pat00148
(335) 그리고 라인(337)의 중심-포인트(345)가 결정된다. 각도
Figure pat00149
(335) 는 특징 쌍
Figure pat00150
(339) 및
Figure pat00151
341) 가 후보 소실점
Figure pat00152
(321)을 얼마나 가깝게 가리키고 있는지를 측정한다. 각도
Figure pat00153
(335) 가 임계치
Figure pat00154
보다 작은 경우, 특징 쌍
Figure pat00155
는 정상치(inlier)로 간주되고 임시 정상치 집합(temporary inlier set)
Figure pat00156
에 추가된다. 각각의 반복(iteration)이 끝날 때까지, 임시 정상치 집합
Figure pat00157
Figure pat00158
보다 많은 특징 쌍들을 가지고 있다면,
Figure pat00159
Figure pat00160
에 의해 업데이트된다. 잔여 2D 병진 추정은 위의 이상치 제거 과정 이후의
Figure pat00161
에서 정상치들을 사용할 것이다.
도 3c는 일 실시예에 따른, 에피폴라 기하학 기반 이상치 제거의 도표를 도시한다. 각각의 RANSAC 반복에서, 후보 소실점
Figure pat00162
(351)은 같은 방향을 가리키고, 임의로 선택된 특징 쌍들 각각을 연결한 2개의 라인(353 및 355)의 교차점으로서 계산되며, 제1 특징 쌍은 라인(353)을 따라서 후보 소실점
Figure pat00163
(351)에서 멀어지는 방향을 가리키는 포인트
Figure pat00164
(357) 및
Figure pat00165
(359) 을 포함하고, 제2 특징 쌍은 라인(355)을 따라서 후보 소실점
Figure pat00166
(351)에서 멀어지는 방향을 가리키는 포인트
Figure pat00167
(361) 및
Figure pat00168
(363) 을 포함한다. 이때, 각각의 특징 쌍
Figure pat00169
에 대하여, 특징 포인트
Figure pat00170
(369) 방향을 가리키는 2개의 특징 포인트
Figure pat00171
(371) 및
Figure pat00172
(369)을 연결하는 라인(367) 및 후보 소실점
Figure pat00173
(351)과 연결된 라인(373) 사이의 각도
Figure pat00174
(377) 그리고 라인(367)의 중심-포인트(375)가 결정된다. 각도
Figure pat00175
(365)는 특징 쌍
Figure pat00176
(371) 및
Figure pat00177
(369) 가 후보 소실점
Figure pat00178
(351)을 얼마나 가깝게 가리키고 있는지를 측정한다. 각도
Figure pat00179
(365) 가 임계치
Figure pat00180
보다 작은 경우, 특징 쌍
Figure pat00181
는 정상치(inlier)로 간주되고 임시 정상치 집합(temporary inlier set)
Figure pat00182
에 추가된다. 각각의 반복이 끝날 때까지, 임시 정상치 집합
Figure pat00183
Figure pat00184
보다 많은 특징 쌍들을 가지고 있다면,
Figure pat00185
Figure pat00186
에 의해 업데이트된다. 잔여 2D 병진 추정은 위의 이상치 제거 과정 이후의
Figure pat00187
에서 정상치들을 사용할 것이다.
잔여 2D 병진 및 3D 회전에 대한 누적된 경로들은 대응하는 안정화된 경로들을 생성하기 위해 평활화된다. 프레임
Figure pat00188
에서 평활화된 경로 값을 얻기 위해서, 프레임
Figure pat00189
으로부터 프레임
Figure pat00190
까지의 미가공 경로가 반드시 고려되어야 하고, 여기서
Figure pat00191
Figure pat00192
는 각각 과거 및 미래의 평활화 윈도우(smoothing window) 크기들이다. 평활화된 경로의 결정은 필터링을 사용하는 것 또는 보다 복잡한 경로 최적화를 고려하는 것에 의해 달성될 수 있다. 잔여 2D 병진 및 3D 회전에 대한 경로 평활화 파라미터들은 별도로 고려되어야 하며, 이들이 상이한 물리적 모션들을 나타내기 때문이다.
왜곡 계산기(211)에서의 작동은, 보상된 이미지에서 포인트
Figure pat00193
에 대하여, 미가공 이미지에서 대응하는 좌표
Figure pat00194
를 찾는 것이다. 보상과 관련된 잔여 2D 병진은 이미지 평면 내에서 일어난다. 따라서,
Figure pat00195
은 식(14) 에서와 같이 잔여 2D 병진 보상 전에 결정된다:
Figure pat00196
-식(14)
여기서
Figure pat00197
는 평활화된 잔여 2D 병진 경로이고,
Figure pat00198
는 미가공 잔여 2D 병진 경로이고,
Figure pat00199
는 프레임
Figure pat00200
에서 중간-행으로부터
Figure pat00201
행까지의 인트라-프레임 잔여 2D 병진이다.
Figure pat00202
에 대하여, 3D 회전 보상은 미가공 이미지에서 대응되는 좌표를 검색(retrieve)하기 위해 반전(reverse)되고, 이는 식(15) 에서와 같이 이미지 평면상의 2D 좌표 대신에 3D 좌표 상에서 일어난다.
Figure pat00203
-식(15)
여기서,
Figure pat00204
은 평활화된 3D 회전 경로이고,
Figure pat00205
은 미가공 3D 회전 경로이고,
Figure pat00206
은 프레임
Figure pat00207
에서 중간-행으로부터
Figure pat00208
행까지의 인트라-프레임 회전이다. 위의 식(15) 및 식(15) 를 결합하면, 식(16) 에서와 같이
Figure pat00209
가 결정될 수 있다.
Figure pat00210
-식(16)
미가공 이미지에서 최종 2D 좌표는 식(17) 에서와 같이 동차 좌표(homogeneous coordinate)
Figure pat00211
의 대응하는 2D 유클리드 좌표(Euclidian coordinate)를 결정하는 것에 의해 얻어질 수 있다:
Figure pat00212
-식(17)
도 4는 일 실시예에 따른, 5D 비디오 안정화 방법의 흐름도를 도시한다. 401에서, 3D 회전 추정기(예를 들어, 3D 회전 추정기(201))는 자이로스코프에 의해 측정된 각속도들을 수신하고 각속도들을 사용하여 카메라의 3D 회전을 추정하고 누적된 미가공 3D 회전 카메라 경로 및 인트라-프레임 3D 회전 카메라 추정들을 결정한다.
403에서, 3D 회전 평활기(예를 들어, 3D 회전 평활기(203))는 수신된 미가공 3D 회전 카메라 경로를 평활화하고 평활화된 3D 회전 카메라 경로를 결정한다.
405에서, 특징 매칭기(예를 들어, 특징 매칭기(205))는 이미지 시퀀스를 수신하고 특징 쌍들을 결정한다.
407에서, 잔여 2D 병진 추정기(예를 들어, 잔여 2D 병진 추정기(207))는 특징 매칭기로부터의 2개의 연속된 이미지들의 특징 쌍들, 대응하는 3D 회전 미가공 카메라 경로, 대응하는 3D 회전 평활화된 카메라 경로, 및 3D 회전 추정기(201)로부터 추정된 대응하는 인트라-프레임 3D 회전을 사용하여 잔여 2D 병진을 추정하고 미가공 2D 병진 경로 및 인트라-프레임 잔여 2D 병진 추정들을 결정한다.
409에서, 잔여 2D 병진 평활기(예를 들어, 잔여 2D 병진 평활기(209))는 잔여 2D 병진 추정기로부터 미가공 2D 병진 경로를 수신하고 2D 평활화된 병진 경로를 생성한다.
411에서, 왜곡 계산기(예를 들어, 왜곡 계산기(211))는 3D 회전 추정기의 미가공 3D 회전 카메라 경로, 3D 회전 평활기의 평활화된 3D 회전 카메라 경로, 잔여 2D 병진 추정기의 미가공 2D 병진 경로, 및 잔여 2D 병진 평활기(209)의 2D 평활화된 병진 경로를 결합(combine)하여 왜곡된 그리드를 결정한다. 일 실시예에서, 롤링 셔터(RS; rolling shutter)보상이 수행되고, 인트라-프레임 3D 회전 및 인트라-프레임 잔여 2D 병진은 또한 왜곡된 그리드를 결정하기 위해 사용된다.
413에서, 5D 왜곡 보상기(예를 들어, 5D 왜곡 보상기(231))는 왜곡 계산기에 의해 결정된 왜곡된 그리드를 수신하고, 제2 입력에서 이미지 시퀀스를 수신하고, 그리고 왜곡된 그리드를 사용해서 이미지 시퀀스에서 왜곡을 보상한다.
도 2 의 장치에서, 평균 인터-프레임(inter-frame) 2D 병진은 위의 식(10)에 의해서, 전체 장면에 걸쳐 분포된
Figure pat00213
개의 특징 쌍들을 사용하여, 계산된다. 일 실시예에서, 전역 (global) 3D 회전 보상이 전체 장면에서 수행되고, 잔여 2D 병진은 장면에서 특정 영역들(예를 들어, 주요 영역들(salient regions))에 대해 선택적으로 보상된다. 예를 들어, 2D 병진을 보상하기 위해서, 비디오의 특정 영역들에 초점을 맞춘다. 따라서, 위의 식(10) 에서 전역적으로 잔여 2D 병진을 추정하는 것 대신에, 식(18) 에서 각각의 클래스
Figure pat00214
마다 평균 인터-프레임 잔여 2D 병진을 추정한다:
Figure pat00215
-식(18)
여기서
Figure pat00216
Figure pat00217
번째 영역에 속하는 특징 쌍들의 집합이고,
Figure pat00218
Figure pat00219
에서 특징 쌍들의 개수이다. 결과적으로, 위의 식(11)에서의 미가공 2D 경로
Figure pat00220
, 위의 식(12)에서의 인트라-프레임 병진 , 그리고 평활화된 2D 경로
Figure pat00222
는 클래스마다
Figure pat00223
,
Figure pat00224
Figure pat00225
으로 계산된다. 잔여 2D 병진 보상은 위의 식(13) 에서와 같이 전역적으로 또는, 시나리오에 따라, 선택된 타겟 영역들 만을 이용하여 개별적으로 수행될 수 있다. 예를 들어, 움직이는 오브젝트들에 따른 2개의 영역들이 있을 수 있으며, 여기서 하나의 오브젝트 클래스는 자전거를 타는 사람을 포함한다. 다른 오브젝트 클래스는 함께 걷는 2명의 사람을 포함할 수 있다. 2개의 영역에 대한 2D 병진은 반대 방향이기 때문에, 이들은 분리하여 보상된다. 분리된 영역들을 선택적으로 보상하기 위한 장치는 이하에서 도 5 를 참조하여 더 자세히 설명된다.
도 5는, 일 실시예에 따른, 5D 비디오 안정화 시스템의 또다른 블록도를 도시한다. 5D 비디오 안정화 시스템(500)은 3D 회전 추정기(501), 3D 회전 평활기 (503), 특징 매치기(505), 영역 검출기(507), 잔여 2D 병진 추정기(509), 잔여 2D 병진 평활기(511), 왜곡 계산기(513), 및 5D 왜곡 보상기(515)를 포함한다. 영역 검출기(507)는 잔여 2D 병진 추정을 위한 모션 벡터들이 평균화되는(averaged) 관심 영역(들)을 반드시 알아야한다. 영역 검출기(507)는 오브젝트 검출기(예를 들어, 얼굴 검출기)일 수도 있지만, 오브젝트 검출기와는 상이한 자동-초점 블록에 기초한 것일 수도 있다. 일 실시예에서, 관심 영역(들)은 자동초점 블록으로부터 얻어질 수도 있다.
3D 회전 추정기(501)는 입력(517), 제1 출력(519), 및 제2 출력(521)을 포함한다. 3D 회전 추정기(501)는 입력 (517)에서 자이로스코프에 의해 측정된 각속도들을 수신하고 각속도들을 사용하여 카메라의 인터-프레임(inter-frame) 3D 회전 및 인트라-프레임(intra-frame) 3D 회전을 예측하며, 그리고 제1 출력 (519)에서 누적된 미가공 3D 회전 카메라 경로를 출력하고, 제2 출력(521)에서 인트라-프레임 3D 회전을 출력한다.
3D 회전 평활기(503)는 3D 회전 추정기(501)의 제1 출력(519)에 연결된 입력 및 출력(521)을 포함한다. 3D 회전 평활기(503)는 3D 회전 추정기(501)의 출력(619)으로부터 수신된 3D 미가공 회전 카메라 경로를 평활화하고 출력(523)에서 미가공 3D 회전 카메라 경로를 출력한다.
특징 매칭기(505)는 이미지 시퀀스를 수신하기 위한 제1 입력(525), 관심 영역(들)을 수신하기 위한 제2 입력(527), 및 수신된 관심 영역(들)의 특징 쌍들을 제공하기 위한 출력(529)을 포함한다. 특징 매치기(505)는 각각의 관심 영역에 속하는 특징 쌍들을 식별한다.
영역 검출기(507)는 이미지 시퀀스를 수신하기 위해 특징 매치기(505)의 제1 입력(525)에 연결된 입력 및 이미지 시퀀스에서 검출된 관심 영역(들)을 제공하기 위한 출력(527)을 포함한다. 영역 검출기(507)는 이미지에서 다양한 정보(예를 들어, 상이한 오브젝트들, 상이한 선명도(sharpness)를 갖는 영역들)을 구별하는데 사용될 수도 있다. 영역 검출기(507)는 이미지 시퀀스에서 영역들을 검출하고 그 영역들에 대한 정보를 특징 매칭기(505) 및 왜곡 계산기(513)로 전달한다.
잔여 2D 병진 추정기(509)는 3D 회전 추정기(501)의 제1 출력(519)에 연결된 제1 입력, 3D 회전 추정기(501)의 제2 출력(521)에 연결된 제2 입력, 3D 회전 평활기의 출력(523)에 연결된 제3 입력, 특징 매칭기(505)의 출력(529)에 연결된 제4 입력, 및 잔여 2D 병진의 추정(예를 들어, 미가공 2D 병진 경로)을 제공하는 출력(531), 및 수신된 관심 영역(들) 각각에 대한, 인트라-프레임 잔여 2D 병진을 제공하는 제2 출력(533)을 포함한다.
잔여 2D 병진 추정기(509)는 수신된 관심 영역들에 대한 잔여 2D 병진을 추정하기 위해서 특징 매칭기(505)로부터 수신된 관심 영역 각각에 대해 특징 매칭기(505)의 출력(529)으로부터 2개의 연속된 이미지들의 특징 쌍들을 수신하고, 3D 회전 추정기(501)의 제1 출력으로부터 미가공 3D 회전 카메라 경로를 수신하고, 3D 회전 추정기(501)의 제2 출력(523)으로부터 인트라-프레임 3D 회전을 수신하고, 그리고 3D 회전 평활기(603)의 출력(523)으로부터 평활화된 3D 회전 카메라 경로를 수신한다.
잔여 2D 병진 평활기(511)는 잔여 2D 병진 추정기(509)의 제1 출력 (531)에 연결된 입력 및 평활화된 2D 회전 병진 경로를 제공하기 위한 출력(535)을 포함한다. 잔여 2D 병진 평활기(511)는 잔여 2D 병진 추정기(509)로부터 수신된 대응하는 미가공 2D 병진 경로를 평활화하는 것에 의해서 평활화된 2D 병진 경로를 생성한다.
왜곡 계산기(513)는 3D 회전 추정기(501)의 제1 출력(519)에 연결된 제1 입력, 3D 회전 추정기(501)의 제2 출력(521)에 연결된 제2 입력, 3D 회전 평활기(503)의 출력(523)에 연결된 제3 입력, 잔여 2D 병진 추정기(509)의 제1 출력(531)에 연결된 제4 입력, 잔여 2D 병진 추정기(509)의 제2 출력(533)에 연결된 제5 입력, 잔여 2D 병진 평활기(611)의 출력 (535)에 연결된 제6 입력, 오브젝트 검출기(507)의 출력(527)에 연결된 제7 입력, 및 왜곡된 그리드를 제공하기 위한 출력(537)을 포함한다. 왜곡 계산기(513)는 3D 회전 추정기 (501)의 제1 출력(531)으로부터의 미가공 3D 회전 카메라 경로, 3D 회전 추정기(501)의 제2 출력(533)으로부터의 인트라-프레임 3D 회전, 3D 회전 평활기(503)의 출력(533)으로부터의 평활화된 3D 회전 카메라 경로, 잔여 2D 병진 추정기(509)의 제1 출력(531)으로부터의 미가공 2D 병진 경로, 잔여 2D 병진 추정기(509)의 제2 출력(533)으로부터의 인트라-프레임 잔여 2D 병진, 잔여 2D 병진 평활기(511)의 출력(535)으로부터의 평활화된 2D 병진 경로, 및 영역 검출기(507)에 의해 검출된 영역들을 결합하여 왜곡된 그리드를 결정한다. 인트라-프레임 3D 회전 및 인트라-프레임 잔여 2D 병진이 사용되어 RS를 보상하기 위한 왜곡된 그리드를 결정한다. 왜곡 계산기(513)는 해당하는 픽셀이 어느 영역에 속하는지에 기초하여 잔여 2D 병진 보상을 수행한다.
5D 왜곡 보상기(515)는 왜곡 계산기(513)의 출력(537)에 연결된 제1 입력, 특성 매칭기(505)의 입력(525)에 연결된 제2 입력, 및 출력(539)을 포함한다. 5D 왜곡 보상기(515)는 왜곡 계산기(513)에 의해서 결정된 왜곡된 그리드를 수신하고 제2 입력에서 이미지 시퀀스를 수신하며, 그리고 왜곡된 그리드를 사용하여 이미지 시퀀스에서 왜곡을 보상한다.
도 6은 일 실시예에 따른, 네트워크 환경에서 전자 디바이스의 블록도를 도시한다. 네트워크 환경(600)에서 전자 디바이스(601)는 제1 네트워크(698)(예를 들어, 단거리(short-range) 무선 통신 네트워크)를 통한 전자 디바이스(602), 또는 제2 네트워크(699)(예를 들어, 장거리(long-range) 무선 통신 네트워크)를 통한 전자 디바이스(604) 또는 서버(608)와 통신할 수도 있다. 일 실시예에 따르면, 전자 디바이스(601)는 서버(608)를 통해 전자 디바이스(604)와 통신할 수도 있다. 전자 디바이스(601)는 프로세서(620), 메모리(630), 입력 디바이스(650), 사운드 출력 디바이스(655), 디스플레이 디바이스(660), 오디오 모듈(670), 센서 모듈(676), 인터페이스(677), 햅틱(haptic) 모듈(679), 카메라 모듈(680), 전력 관리 모듈(688), 배터리(689), 통신 모듈(690), 가입자 식별 모듈(SIM; subscriber identification module)(696), 또는 안테나 모듈 (697)을 포함할 수도 있다. 일 실시예에서, 컴포넌트들의 적어도 하나(예를 들어, 디스플레이 디바이스(660) 또는 카메라 모듈(680))는 전자 디바이스(601)로부터 생략될 수 있고, 하나 이상의 다른 컴포넌트들이 전자 디바이스(601)에 추가 될 수도 있다. 일 실시예에서, 컴포넌트들 중 일부는 단일 집적 회로(IC)로서 구현될 수도 있다. 예를 들어, 센서 모듈(676)(예를 들어, 지문 센서, 홍채 센서, 또는 조도 센서)은 디스플레이 디바이스(660) (예를 들어, 디스플레이)에 내장될 수도 있다.
프로세서(620)는, 예를 들어, 프로세서(620)와 커플링된 전자 디바이스(601)의 적어도 하나의 다른 컴포넌트(예를 들어, 하드웨어 또는 소프트웨어 컴포넌트)를 제어하기 위한 소프트웨어(예를 들어, 프로그램(640))를 실행할 수 있고, 다양한 데이터 프로세싱 또는 계산들을 수행할 수 있다. 일 실시예에 따르면, 데이터 프로세싱 또는 계산들의 적어도 일부분으로써, 프로세서(620)는 휘발성 메모리(632) 내의 또다른 컴포넌트(예를 들어, 센서 모듈(676) 또는 통신 모듈(690))로부터 수신된 명령 또는 데이터를 로드(load)할 수 있고, 비-휘발성 메모리(634) 에서 결과 데이터를 저장할 수 있다. 일 실시예에 따르면, 프로세서(620)는 메인 프로세서(621)(예를 들어, 중앙 프로세싱 유닛 (CPU; central processing unit) 또는 응용 프로세서(AP; application processor)), 및 메인 프로세서(621)와 독립적으로, 또는 함께, 동작할 수 있는 보조 프로세서(623)(예를 들어, 그래픽 프로세싱 유닛(GPU; graphics processing unit), 이미지 시그널 프로세서 (ISP; image signal processor), 센서 허브 프로세서(sensor hub processor), 또는 통신 프로세서(CP; communication processor))를 포함할 수 있다. 부가적으로 혹은 대안적으로, 보조 프로세서(623)은 메인 프로세서(621)보다 전력을 덜 소모하거나, 특정 기능을 수행하도록 구성될 수 있다. 보조 프로세서(623)는 메인 프로세서(621)와 별개로 혹은 그 일부로 구현될 수 있다.
보조 프로세서(623)는, 메인 프로세서(621)가 비활성(예를 들어, 수면) 상태인 동안은 메인 프로세서(621) 대신에, 또는 메인 프로세서(621)가 활성(예를 들어, 어플리케이션 실행 중) 상태인 동안은 메인 프로세서(621)와 함께, 전자 디바이스(601)의 컴포넌트들 중 적어도 하나의 컴포넌트(예를 들어, 디스플레이 디바이스(660), 센서 모듈(676), 또는 통신 모듈(690))와 관련된 기능들 또는 상태들 중 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(623)(예를 들어, 이미지 시그널 프로세서 또는 통신 프로세서)는 보조 프로세서(623)와 관련된 다른 컴포넌트(예를 들어, 카메라 모듈(680) 또는 통신 모듈(690))의 일부로써 구현될 수 있다.
메모리(630)는 전자 디바이스(601)의 적어도 하나의 컴포넌트(예를 들어, 프로세서(620) 또는 센서 모듈(676))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 다양한 데이터는, 예를 들어, 소프트웨어(예를 들어, 프로그램(640))와 그에 관련된 입력 데이터 혹은 출력 데이터 포함할 수 있다. 메모리(630)는 휘발성 메모리(632) 또는 비-휘발성 메모리(634)를 포함할 수 있다.
프로그램(640)은 메모리(630)에 소프트웨어로써 저장될 수 있고, 예를 들어, 운영 체계 (OS; operating system)(642), 미들웨어(middleware)(644), 또는 어플리케이션(646)을 포함할 수 있다.
입력 디바이스(650)는, 전자 디바이스(601)의 외부(예를 들어, 사용자)로부터 전자 디바이스(601)의 다른 컴포넌트(예를 들어, 프로세서(620))에 의해 사용될 명령 또는 데이터를 수신할 수 있다. 입력 디바이스(650)는, 예를 들어, 마이크로폰, 마우스, 또는 키보드를 포함할 수 있다.
사운드 출력 디바이스(655)는 전자 디바이스(601)의 외부로 사운드 시그널들을 출력할 수 있다. 사운드 출력 디바이스(655)는, 예를 들어, 스피커 또는 수신기를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음과 같은 일반적인 목적으로 사용될 수 있으며, 수신기는 걸려오는 전화를 수신하는데 사용될 수 있다. 일 실시예에 따르면, 수신기는 스피커와 별개 혹은 스피커의 일부로써 구현될 수 있다.
디스플레이 디바이스(660)은 전자 디바이스(601)의 외부(예를 들어, 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 디바이스(660)는, 예를 들어, 디스플레이, 홀로그램 디바이스, 또는 프로젝터 및 디스플레이, 홀로그램 디바이스, 및 프로젝터 중 하나에 대응하는 것을 제어하는 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 디바이스(660)는 터치를 검출하도록 만든 터치 회로 또는, 터치에 의해 발생한 압력의 강도를 측정하도록 구성된 센서 회로(예를 들어, 압력 센서)를 포함할 수 있다.
오디오 모듈(670)은 사운드를 전기 신호로 변환할 수 있고 그 반대로도 변환할 수 있다. 일 실시예에 따르면, 오디오 모듈(670)은 입력 디바이스(650)를 통해 사운드를 얻거나 사운드 출력 디바이스(655) 또는 외부 전자 디바이스(예를 들어, 전자 디바이스(602))의 헤드폰을 통해 직접적으로(예를 들어, 유선의) 또는 전자 디바이스(601)와 무선으로 결합될 수 있다.
센서 모듈(676)은 전자 디바이스(601)의 동작 상태(예를 들어, 전력 또는 온도) 또는 전자 디바이스(601) 외부의 환경 상태(예를 들어, 사용자의 상태)를 검출하고, 또는 검출된 상태에 대응하는 데이터 값을 포함할 수 있다. 일 실시예에 따르면, 센서 모듈(676)은, 예를 들어, 제스처 센서, 자이로 센서, 대기압 센서, 자기 센서, 가속 센서, 그립 센서, 근접 센서, 컬러 센서, 적외선(IR) 센서, 생체 인식 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(677)는 직접적으로(예를 들어, 유선으로) 또는 무선으로 외부 전자 디바이스(예를 들어, 전자 디바이스(602))와 결합될 전자 디바이스(601)에 대해 사용되는 하나 이상의 특정 프로토콜을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(677)는, 예를 들어, 고화질 멀티 미디어 인터페이스 (HDMI; high definition multimedia interface), 범용 직렬 버스 (USB; universal serial bus) 인터페이스, 시큐어 디지털 (SD; secure digital) 카드 인터페이스 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(678)은 전자 디바이스(601)가 외부 전자 디바이스(예를 들어, 전자 디바이스(602))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(678)는, 예를 들어, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예를 들어, 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(679)은 전기 신호를 촉각 또는 근 감각을 통해 사용자에 인식 될 수 있는 기계적 자극(예를 들어, 진동 또는 움직임) 또는 전기적 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(679)는, 예를 들어, 모터, 압전 소자, 또는 전기 자극기를 포함할 수 있다.
카메라 모듈(680)은 정지 이미지 또는 동작 이미지들을 캡처할 수 있다. 일 실시예에 따르면, 카메라 모듈(680)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(688)은 전자 디바이스(601)에 공급된 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(688)은, 예를 들어, 전원 관리 통합 회로 (PMIC; power management integrated circuit)의 적어도 일부로써 구현될 수 있다.
배터리(689)는 전자 디바이스(601)의 적어도 하나의 컴포넌트에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(689)는, 예를 들어, 재충전이 불가능한 일차 전지, 재충전이 가능한 이차 전지, 또는 연료 전지를 포함할 수 있다.
통신 모듈(690)은 전자 디바이스(601)와 외부 전자 디바이스(예를 들어, 전자 디바이스(602), 전자 디바이스(604), 또는 서버(608)) 사이에서 다이렉트(예를 들어, 유선) 통신 채널 혹은 무선 통신 채널을 설정하고 설정된 통신 채널을 통해 통신을 수행하는 것을 지원할 수 있다. 통신 모듈(690)은 프로세서(620)(예를 들어, AP)와 독립적으로 동작 가능하고 다이렉트(예를 들어, 유선)통신 또는 무선 통신을 지원하는 하나 이상의 통신 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(690)은 무선 통신 모듈(692)(예를 들어, 셀룰러 통신 모듈, 단거리 무선 통신 모듈, 또는 글로벌 위성 항법 시스템 (GNSS; global navigation satellite system) 또는 유선 통신 모듈(694)(예를 들어, 근거리 통신망(LAN; local area network) 통신 모듈 또는 전력선 통신 (PLC; power line communication) 모듈)을 포함할 수 있다. 이들 통신 모듈 중 대응하는 하나는 제1 네트워크(698)(예를 들어, BluetoothTM, Wi-Fi(Wireless-Fidelity) 다이렉트, 또는 IrDA(Infrared Data Association)의 표준과 같은 단거리 통신 네트워크) 또는 제2 네트워크(699)(예를 들어, 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예를 들어, LAN 또는 광역 통신망 (WAN; wide area network))와 같은 장거리 통신 네트워크)를 통한 외부 전자 디바이스와 통신할 수 있다. 이러한 다양한 유형의 통신 모듈은 단일 컴포넌트(예를 들어, 싱글 IC)로써 구현될 수 있거나, 또는 서로 분리된 멀티 컴포넌트들(예를 들어, 멀티 IC들)로써 구현될 수 있다. 무선 통신 모듈(692)은 가입자 식별 모듈에 저장된 가입자 정보(예를 들어, 국제 모바일 가입자 아이덴티티 (IMSI; international mobile subscriber Identity))를 사용하여, 제1 네트워크(698) 또는 제2 네트워크(699)와 같은 통신 네트워크 내의 전자 디바이스(601)를 식별하고 진짜임을 증명할 수 있다.
안테나 모듈(697)은 전자 디바이스(601)의 신호 또는 전력을 외부(예를 들어, 외부 전자 장치)로 혹은 외부(예를 들어, 외부 전자 장치)로부터 송신 또는 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(697)은 하나 이상의 안테나들을 포함할 수 있으며, 그로부터 제1 네트워크(698) 혹은 제2 네트워크(699)와 같은, 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나는, 예를 들어, 통신 모듈(690)(예를 들어, 무선 통신 모듈(690)에 의해 선택될 수 있다. 신호 또는 전력은 통신 모듈(690)과 선택된 적어도 하나의 안테나를 통한 외부 전자 장치 사이에서 송신 또는 수신될 수 있다.
상술된 컴포넌트들 중 적어도 일부는 상호-주변 통신 방식(예를 들어, 버스, 범용 입력 및 출력 (GPIO; general purpose input and output), 직렬 주변기기 인터페이스 (SPI; serial peripheral interface), 모바일 산업 프로세서 인터페이스 (MIPI; mobile industry processor interface))을 통해 그들 사이의 신호들(예를 들어, 명령 또는 데이터)과 상호 결합되고 통신할 수 있다.
일 실시예에 따르면, 명령들 혹은 데이터는 제2 네트워크(699)와 결합된 서버(608)을 통해 전자 디바이스(601)와 외부 전자 디바이스(604)사이에서 전송 혹은 수신될 수 있다. 전자 디바이스들(602, 604)의 각각은 전자 디바이스(601)와 같은 혹은 다른 유형의 장치일 수 있다. 일 실시예에 따르면, 전자 디바이스(601)에서 실행될 모든 또는 일보 동작은 하나 이상의 외부 전자 디바이스(602, 604, 또는 608)에서 실행될 수 있다. 예를 들어, 전자 디바이스(601)가 자동적으로 기능 혹은 서비스를 수행해야 하거나, 또는 기능 또는 서비스를 실행하는 대신에 또는 부가하여, 사용자 또는 다른 장치, 전자 디바이스(601)로부터의 요청에 응답하거나, 기능 혹은 서비스의 적어도 일부를 수행하기 위해 하나 이상의 외부 전자 장치를 요구할 수 있다. 요청을 수신하는 하나 이상의 외부 전자 디바이스는 요구된 기능 또는 서비스의 적어도 일부, 또는 요청에 관련된 부가 기능 또는 부가 서비스를 수행할 수 있고, 전자 디바이스(601)로 수행 결과를 전송할 수 있다. 전자 디바이스(601)는 요구에 대한 응답의 적어도 일부로써, 결과의 추가 처리를 하거나 혹은 추가 처리 없이 결과를 제공할 수 있다. 이를 위해, 예를 들어, 클라우드 컴퓨팅, 분산 컴퓨팅 또는 클라이언트-서버 컴퓨팅 기술을 사용할 수 있다.
일 실시예는 머신(예를 들어, 전자 디바이스(601))에 의해 판독 가능한 저장 매체(예를 들어, 내부 메모리(636) 또는 외부 메모리(638))에 저장된 하나 이상의 명령을 포함하는 소프트웨어(예를 들어, 640)로서 구현될 수 있다. 예를 들어, 머신(예를 들어, 전자 디바이스(601))의 프로세서(예를 들어, 프로세서(620))는 저장 매체에 저장된 하나 이상의 명령들 중 적어도 하나를 호출할 수 있고, 프로세서의 제어 하에 있는 하나 이상의 컴포넌트들을 이용하거나 이용하지 않고 실행한다. 따라서, 호출된 적어도 하나의 명령에 따라 적어도 하나의 기능을 수행하도록 머신이 동작될 수 있다. 하나 이상의 명령어는 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행 가능한 코드를 포함할 수 있다. 머신-판독 가능 저장 매체는 일시적 저장 매체의 형태로 제공될 수 있다. 저장 매체를 가리키는 "비-일시적"이라는 용어는 감지 장치이고, 신호(예를 들어, 전자기파)를 포함하지 않지만, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 위치와 데이터가 저장 매체이 일시적으로 저장되는 위치를 구별하지 않는다.
도 7은 일 실시예에 따른, 카메라 모듈의 블록도를 도시한다. 카메라 모듈(700)은 어셈블리(710), 플래시(720), 이미지 센서(730), 이미지 안정화기(stabilizer)(740), 메모리(750)(예를 들어, 버퍼 메모리), 또는 이미지 시그널 프로세서(760)를 포함할 수 있다. 렌즈 어셈블리(710)는 이미지가 촬영되는 대상물로부터 방출되거나 반사된 광을 수집할 수 있다. 렌즈 어셈블리(710)는 하나 이상의 렌즈들을 포함할 수 있다. 일 실시예에 따르면, 카메라 모듈(700)은 복수의 렌즈 어셈블리들(710)을 포함할 수 있다. 이 경우, 카메라 모듈(700)은, 예를 들어, 듀얼 카메라, 360도 카메라, 또는 구면 카메라를 형성할 수 있다. 복수의 렌즈 어셈블리들(710) 중 일부는 동일한 렌즈 속성(예를 들어, 시야각, 초점 길이, 자동 초점, f 넘버, 또는 광학 줌)을 가질 수 있거나, 적어도 하나의 렌즈 어셈블리는 다른 렌즈 어셈블리와는 다르다. 렌즈 어셈블리(710)는, 예를 들어, 넒은 시야 렌즈들 또는 망원 렌즈들을 포함할 수 있다.
플래시(720)는 오브젝트로부터 반사된 광을 보강하는데 사용되는 광을 방출할 수 있다. 일 실시예에 따르면, 플래시(720)는 하나 이상의 발광 다이오드 (LEDs; light emitting diode)들 (예를 들어, RGB(Red-Green-Blue) LED, 백색 LED, IR LED, 또는 자외선 (UV; ultraviolet) LED) 또는 제논(xenon) 램프를 포함할 수 있다. 이미지 센서(730)는 렌즈 어셈블리(710)를 통해 전달된 오브젝트로부터의 광을 반사 시켜 전기 신호로 변환하여 오브젝트의 이미지를 얻을 수 있다. 일 실시예에 따르면, 이미지 센서(730)는 RGB 센서, 블랙-앤드-화이트 (BW; black-and-white) 센서, IR 센서, 또는 UV 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 상이한 속성을 갖는 복수의 이미지 센서들로부터 선택될 수 있다. 이미지 센서(730)에 포함된 각 이미지 센서는, 예를 들어, 전하 결합 소자 (CCD; charged coupled device) 센서 또는 CMOS(Complementary Metal Oxide Semiconductor) 센서를 이용하여 구현될 수 있다.
이미지 안정화기(740)는 이미지 센서(730) 또는 렌즈 어셈블리(710)에 포함된 적어도 하나의 렌즈를 특정 방향으로 이동시키거나, 이미지 센서(730)의 작동 속성(예를 들어, 판독 타이밍 조정)을 카메라 모듈(700) 혹은 카메라 모듈(700)을 포함하는 전자 디바이스(601)의 움직임에 반응하여 제어할 수 있다. 이는 캡처되는 이미지상의 움직임에 의한 부정적인 효과(예를 들어, 이미지 블러링)의 적어도 일부를 보상하게 할 수 있다. 일 실시예에 따르면, 이미지 안정화기(740)는 카메라 모듈(700) 안 혹은 밖에 배치된 자이로 센서 또는 가속 센서를 사용하는 카메라 모듈(700) 또는 전자 디바이스(601)에 의한 움직임을 감지할 수 있다. 일 실시예에 따르면, 이미지 안정화기(740)는, 예를 들어, 광학 이미지 안정화기로써 수행될 수 있다.
메모리(750)는 후속적인 이미지 프로세싱 작업을 위한 이미지를 저장할 수 있다. 예를 들어, 셔터 지연으로 인해 이미지 캡처가 지연되거나 여러 이미지가 빠르게 캡처된다면, 획득된 원 이미지(예를 들어, Bayer-패턴 이미지, 고-해상도 이미지)가 메모리(750)에 저장될 수 있고, 그것의 대응하는 복사 이미지(예를 들어, 저-해상도 이미지)가 디스플레이 디바이스(660)을 통해 미리 보여질 수 있다. 그 후, 특정 조건이 충족되면(예를 들어, 사용자의 입력 또는 시스템 명령에 의해), 메모리(750)에 저장된 원 이미지의 적어도 일부가, 예를 들어, 이미지 시그널 프로세서(760)에 의해 획득되어 처리될 수 있다. 일 실시예에 따르면, 메모리(750)은 메모리(630)의 적어도 일부로써 또는 메모리(630)와 독립적으로 동작되는 별도의 메모리로써 구성될 수 있다.
이미지 시그널 프로세서(760)는 이미지 센서(730)를 통해 획득된 이미지 또는 메모리(750)에 저장된 이미지에 대해 하나 이상의 이미지 프로세싱을 수행할 수 있다. 하나 이상의 이미지 프로세싱은, 예를 들어, 깊이 맵 생성, 3D 모델링, 파노라마 생성, 특징 포인트(feature point) 추출, 이미지 합성, 또는 이미지 보정(예를 들어, 노이즈 감소, 해상도 조절, 밝기 조절, 블러링, 선명화, 또는 연화)을 포함할 수 있다. 부가적으로 또는 대안적으로, 이미지 시그널 프로세서(760)는 카메라 모듈(700)에 포함된 컴포넌트들 중 적어도 하나(예를 들어, 이미지 센서(730))에 대한 제어(예를 들어, 노출 시간 제어 또는 판독 타이밍 제어)를 수행할 수 있다. 이미지 시그널 프로세서(760)에 의해 처리된 이미지는 추가 처리를 위해 메모리(750)에 저장될 수 있고, 또는 카메라 모듈(700) 외부의 외부 컴포넌트(예를 들어, 메모리(630), 디스플레이 디바이스(660), 전자 장치(802), 전자 디바이스(604), 또는 서버(608))에 제공될 수 있다. 일 실시예에 따르면, 이미지 시그널 프로세서(760)는 프로세서(620)의 적어도 일부로써 또는 프로세서(620)와 독립적으로 동작되는 별도의 프로세서로써 구성될 수 있다. 이미지 시그널 프로세서(760)가 프로세서(620)와 별도의 프로세서로써 구성되는 경우, 이미지 시그널 프로세서(760)에 의해 처리된 적어도 하나의 이미지는 프로세서(620)에 의해 디스플레이 장치(660)을 통해 또는 추가 처리된 후에 디스플레이 될 수 있다.
일 실시예에 따르면, 전자 디바이스(601)는 상이한 속성들 또는 기능들을 갖는 복수의 카메라 모듈(700)을 포함할 수 있다. 이 경우, 카메라 모듈(700)들의 적어도 하나는, 예를 들어, 광각 카메라를 형성하고, 복수의 카메라 모듈(700)들의 적어도 다른 복수의 카메라 모듈(880)들은 망원 카메라를 형성할 수 있다. 유사하게, 복수의 카메라 모듈(700)들 중 적어도 하나는, 예를 들어, 전방 카메라를 형성 할 수 있고, 복수의 카메라 모듈(700)들 중 적어도 다른 복수의 카메라 모듈(700)들은 후방 카메라를 형성 할 수 있다.
도 8은 일 실시예에 따른, 컴퓨터 프로그램의 블록도를 도시한다. 프로그램(840)은 전자 디바이스(601), 미들웨어(844), 또는 OS(842)에서 실행 가능한 어플리케이션(846)의 하나 이상의 자원을 제어하는 OS(842)를 포함할 수 있다. OS(842)는, 예를 들어, 안드로이드○R, iOS○R, Windows○R, Symbian○R, Tizen○R, 또는 BadaTM 를 포함한다. 예를 들어, 프로그램(840)의 적어도 일부는, 제조 중에 전자 디바이스(601) 상에 미리 로딩되거나, 사용자에 의해 사용되는 동안 외부 전자 디바이스(예를 들어, 전자 디바이스들(602 또는 604), 또는 서버(608))에 의해 다운로드 되거나 업데이트될 수 있다.
OS(842)는 전자 디바이스(601)의 하나 이상의 시스템 리소스들(예를 들어, 프로세스, 메모리, 또는 전원)의 관리(예를 들어, 할당 또는 할당 해제)를 제어할 수 있다. OS(842)는, 추가적으로 혹은 대안적으로, 전자 디바이스(601)(예를 들어, 입력 디바이스(650), 사운드 출력 디바이스(655), 디스플레이 디바이스(660), 오디오 모듈(670), 센서 모듈(676), 인터페이스(677), 햅틱 모듈(679), 카메라 모듈(680), 전력 관리 모듈(688), 배터리(689), 통신 모듈(690), 가입자 식별 모듈(696), 또는 안테나 모듈(697))의 다른 하드웨어 장치들을 구동하기 위해 하나이상의 드라이버 프로그램들을 포함할 수 있다.
미들웨어(844)는 다양한 기능들을 어플리케이션(846)에 제공할 수 있고 전자 디바이스(601)의 하나 이상의 자원들로부터 제공된 기능 또는 정보가 어플리케이션(846)에 의해 이용될 수 있다. 미들웨어(844)는, 예를 들어, 어플리케이션 매니저(801), 윈도우 매니저(803), 멀티미디어 매니저(805), 리소스 매니저(807), 전력 매니저(809), 데이터베이스 매니저(811), 패키지 매니저(813), 연결(connectivity) 매니저(815), 알림(notification) 매니저(817), 위치 매니저(819), 그래픽 매니저(821), 보안 매니저(823), telephony 매니저(825), 또는 음성 인식 매니저(827)를 포함할 수 있다.
예를 들어, 어플리케이션 매니저(801)는 어플리케이션(846)의 라이프 사이클을 관리할 수 있다. 예를 들어, 윈도우 매니저(803)는 스크린 상에서 사용되는 하나 이상의 그래픽 사용자 인터페이스 (GUI; graphical user interface) 리소스들을 관리할 수 있다. 예를 들어, 멀티미디어 매니저(805)는 플레이 미디어 파일들에 사용되는 하나 이상의 포맷들을 식별할 수 있고, 하나 이상의 포맷들로부터 선택된 대응 포맷에 적합한 코덱을 사용한 미디어 파일들 중 하나에 상응하는 것을 인코딩 또는 디코딩할 수 있다. 예를 들어, 리소스 매니저(807)는 어플리케이션(846)의 소스 코드 또는 메모리(830)의 메모리 공간을 관리할 수 있다. 예를 들어, 전력 매니저(809)는 배터리(689)의 용량, 온도, 또는 전력을 관리할 수 있고, 배터리(689)의 용량, 온도, 또는 전력의 정보에 상응하는 적어도 일부에 기초한 전자 디바이스(601)의 동작을 위해 사용되는 관련된 정보를 결정 또는 제공할 수 있다. 일 실시예에 따라, 전력 매니저809)는 전자 디바이스(601)의 BIOS(Basic Input/Output System)과 상호 작용할 수 있다.
데이터베이스 매니저(811)은, 예를 들어, 어플리케이션(846)에 의해 사용되는 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(813)은, 예를 들어, 패키지 파일 형식으로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다. 연결 매니저(815)는, 예를 들어, 전자 장치(801)와 외부 전자 장치 사이의 무선 접속 또는 다이렉트 접속을 관리할 수 있다. 알림 매니저(817)는, 예를 들어, 특정 이벤트(예를 들어, 착신(incoming) 콜, 문자 또는 알람)의 발생을 사용자에게 통지하는 기능을 제공할 수 있다. 위치 관리자(819)는, 예를 들어, 전자 디바이스(601)상의 위치 정보를 관리할 수 있다. 그래픽 매니저(821)는, 예를 들어, 하나 이상의 그래픽 효과와 관련된 사용자 또는 사용자 인터페이스에 제공될 하나 이상의 그래픽 효과들을 관리할 수 있다.
보안 관리자(823)는, 예를 들어, 시스템 보안 또는 사용자 인증을 제공할 수 있다. Telephony 매니저(825)는, 예를 들어, 전자 장치(801)에 의해 제공되는 음성 통화 기능 또는 화상 통화 기능을 관리할 수 있다. 음성 인식 매니저(827)은, 예를 들어, 사용자의 음성을 서버(608)로 전송할 수 있고, 적어도 음성 데이터의 일부에 기초하여 변환되는 적어도 일부의 음성 데이터, 또는 문자데이터에 기초한 전자 디바이스(601)상에서 실행되는 기능에 대응하는 명령을 서버(608)로부터, 수신할 수 있다. 일 실시예에 따른, 미들웨어(844)는 기존 컴포넌트들 일부를 동적으로 삭제하거나 새 컴포넌트들을 추가할 수 있다. 일 실시예에 따라, 미들웨어(844)의 적어도 일부는 OS(842)의 일부로써 포함될 수 있거나 OS(842)와 별개의 다른 소프트웨어로 구현될 수 있다.
어플리케이션(846)은, 예를 들어, 홈 어플리케이션(851), 다이얼러(dialer) 어플리케이션(853), SMS(Short Message Service)/MMS(Multimedia Messaging Service) 어플리케이션(855), IM(Instant Message) 어플리케이션(857), 브라우저 어플리케이션(859), 카메라 어플리케이션(861), 알람 어플리케이션(863), 컨택 어플리케이션(859), 음성 인식 어플리케이션(867), 이메일 어플리케이션(869), 캘린더 어플리케이션(871), 미디어 플레이어 어플리케이션(873), 앨범 어플리케이션(875), 시계 어플리케이션(877), 건강 어플리케이션(879)(예를 들어, 운동의 정도 또는 혈당과 같은 생체 정보를 측정하기 위한), 또는 환경 정보 어플리케이션(881)(예를 들어, 공기 압력, 습도, 또는 온도 정보를 측정하기 위한)을 포함할 수 있다. 일 실시예에 따르면, 어플리케이션(846)은 전자 디바이스(601)와 외부 전자 장치 간의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 더 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들어, 지정된 정보(예를 들어, 호출, 메시지, 또는 알림)를 외부 전자 장치 또는 외부 전자 장치를 관리하도록 구성된 장치 관리자 어플리케이션에 전송하도록 구성된 알림 릴레이(relay) 어플리케이션을 포함할 수 있다. 알림 릴레이 어플리케이션은 전자 디바이스(601)의 다른 어플리케이션(예를 들어, 이메일 어플리케이션(869))에서의 특정 이벤트(예를 들어, 이메일 수신)의 발생에 대응하는 통지 정보를 외부 전자 장치로 전송할 수 있다. 부가적으로 또는 대안적으로, 알람 릴레이 어플리케이션은 외부 전자 장치로부터 알림 정보를 수신하여 전자 디바이스(601)의 사용자에게 알림 정보를 제공할 수 있다.
디바이스 관리 어플리케이션은 외부 전자 디바이스 또는 일부 구성 요소(예를 들어, 디스플레이 디바이스 또는 외부 전자 디바이스의 카메라 모듈)의 전원(예를 들어, 켜기 또는 끄기) 또는 기능(예를 들어, 밝기, 해상도, 또는 초점 조정)을 제어할 수 있다. 디바이스 관리 어플리케이션은, 부가적으로 또는 대안적으로, 외부 전자 디바이스에서 실행중인 어플리케이션의 설치, 삭제, 또는 업데이트를 지원할 수 있다.
본 명세서의 특정 실시예가 본 명세서의 상세한 설명에서 설명되었지만, 본 명세서는 본 명세서의 범위를 벗어나지 않으면서 다양한 형태로 변형될 수 있다. 따라서, 본 명세서의 범위는 단지 설명된 실시예에 기초하여 결정되어서는 안되고 오히려 첨부된 청구 범위 및 그에 대응하는 것에 기초하여 결정된다.

Claims (24)

  1. 이미지 시퀀스를 수신하고 상기 이미지 시퀀스에서 특징 쌍(feature pair)들을 결정하는 특징 매칭기(feature matcher);
    상기 특징 매칭기와 연결되고, 미가공(raw) 2D 병진 경로(translation path)를 결정하는 잔여(residual) 2차원(2D) 병진 추정기(translation estimator);
    상기 잔여 2D 병진 추정기와 연결되고, 평활화된(smoothed) 2D 병진 경로를 결정하는 잔여 2D 병진 평활기(translation smoother);
    상기 잔여 2D 병진 추정기 및 상기 잔여 2D 병진 평활기와 연결되고, 왜곡 그리드(distortion grid)를 결정하는 왜곡 계산기(distortion calculator); 및
    상기 왜곡 계산기와 연결되고 상기 이미지 시퀀스에서 왜곡을 보상하는 왜곡 보상기(distortion compensator)를 포함하는 장치.
  2. 제 1항에 있어서,
    미가공 3차원(3D) 회전 카메라 경로(rotation camera path) 및 인트라-프레임(intra-frame) 3D 회전 추정(rotation estimate)들을 결정하는 3D 회전 추정기(rotation estimator);
    상기 3D 회전 추정기에 연결되고, 평활화된 3D 회전 카메라 경로를 결정하는 3D 회전 평활기(rotation smoother)를 더 포함하고;
    상기 3D 회전 추정기는, 카메라의 각속도들을 수신하고 상기 카메라의 3D 회전을 추정하는 것에 의해 상기 미가공 3D 회전 카메라 경로를 결정하는 장치.
  3. 제2항에 있어서,
    상기 3차원(3D) 회전 추정기는, 카메라의 각속도들을 수신하는 것 및 상기 카메라의 상기 인트라-프레임 3D 회전을 추정하는 것에 의해 상기 미가공 3D 회전 카메라 경로를 결정하는 장치.
  4. 제2항에 있어서,
    상기 3D 회전 추정기와 연결되고, 카메라의 상기 각속도들을 결정하는 자이로-스코프(gyro-scope)를 더 포함하는 장치.
  5. 제2항에 있어서,
    상기 3D 회전 평활기는, 상기 미가공 3D 회전 카메라 경로를 평활화하는 것에 의해서 상기 평활화된 3D 회전 카메라 경로를 결정하는 장치.
  6. 제1항에 있어서,
    상기 특징 매칭기는, 에피폴라 기하학(epipolar geometry)에 기초한 이상치 제거 방법(outlier rejection method)을 사용하여 상기 이미지 시퀀스에서 특징 쌍들을 결정하는 장치.
  7. 제6항에 있어서,
    상기 이상치 제거 방법은
    제1 특징 쌍 및 제2 특징 쌍을 임의로 선택하는 단계;
    상기 제 1 특징 쌍에 기초한 제1 라인 및 상기 제 2 특징 쌍에 기초한 제2 라인을 결정하는 단계;
    상기 제1 라인 및 상기 제2 라인에 기초한 소실점(vanishing point)을 결정하는 단계;
    각각의 특징 쌍에 대하여, 제3 라인을 결정하는 단계;
    각각의 특징 쌍에 대한 상기 제3 라인에 대하여, 상기 소실점과 상기 제3 라인의 중간-점(mid-point)을 연결하는 제4 라인을 결정하는 단계;
    각각의 특징 쌍에 대하여, 상기 제3 라인 및 상기 제4 라인 사이의 각도를 결정하는 단계; 및
    임계치보다 큰 각도를 갖는 각각의 특징 쌍을 이상치로서 제거하는 단계를 포함하는 장치.
  8. 제1항에 있어서,
    상기 잔여 2차원(2D) 병진 추정기는, 2개의 연속된 이미지의 특징 쌍들, 미가공 3D 회전 카메라 경로, 평활화된 3D 회전 카메라 경로, 및 인트라-프레임 3D 회전으로부터 인트라-프레임 잔여 2D 병진 추정들 및 상기 미가공 2D 병진 경로를 결정하는 장치.
  9. 제1항에 있어서,
    상기 잔여 2차원(2D) 병진 추정기는, 2개의 연속된 이미지들의 특징 쌍들 및 대응하는 인트라-프레임 3D 회전으로부터 상기 미가공 2D 병진 경로를 결정하는 장치.
  10. 제1항에 있어서,
    상기 왜곡 계산기는, 미가공 3D 카메라 경로, 평활화된 3D 카메라 경로, 3D 인트라-프레임 회전, 상기 미가공 2D 병진 경로, 상기 평활화된 2D 병진 경로 및 잔여 2D 인트라-프레임 병진을 결합(combine)하는 것에 의해 상기 왜곡 그리드를 결정하는 장치.
  11. 제1항에 있어서,
    상기 왜곡 보상기는, 상기 이미지 시퀀스를 수신하는 것 및 상기 왜곡 그리드를 사용하는 것에 의해 상기 이미지 시퀀스에서 왜곡을 보상하는 장치.
  12. 제1항에 있어서,
    상기 특징 매칭기 및 상기 왜곡 계산기와 연결되고 상기 이미지 시퀀스를 수신하도록 그리고 오브젝트 클래스(object class)들을 결정하는 오브젝트 검출기(object detector)를 더 포함하는 장치.
  13. 특징 매칭기(feature matcher)에 의해서, 2개 이상의 연속된 이미지들을 가지는 이미지 시퀀스를 수신하는 단계;
    상기 특징 매칭기에 의해서, 상기 이미지 시퀀스에서 특징 쌍(feature pair)들을 결정하는 단계;
    상기 특징 매칭기와 연결되고, 미가공(raw) 3차원(3D) 회전 카메라 경로(rotation camera path), 인트라-프레임(intra-frame) 3D 회전(rotation), 및 평활화된(smoothed) 3D 회전 카메라 경로를 수신하는 잔여(residual) 2차원(2D) 병진 추정기(translation estimator)에 의해서, 미가공 2D 병진 경로(translation path)를 결정하는 단계;
    잔여 2D 병진 평활기(smoother)에 의해서, 평활화된 2D 병진 경로를 결정하는 단계;
    상기 잔여 2D 병진 추정기 및 상기 잔여 2D 병진 평활기와 연결된 왜곡 계산기(distortion calculator)에 의해서, 왜곡 그리드(distortion grid)를 결정하는 단계; 및
    상기 왜곡 계산기와 연결된 왜곡 보상기(distortion compensator)에 의해서, 상기 이미지 시퀀스에서 왜곡을 보상하는 단계를 포함하는 방법.
  14. 제13항에 있어서,
    3D 회전 추정기에 의해서, 상기 미가공 3D 회전 카메라 경로를 결정하는 단계;
    상기 3D 회전 추정기와 연결된 3D 회전 평활기에 의해서, 상기 평활화된 3D 회전 카메라 경로를 결정하는 단계;
    상기 3D 회전 추정기에 의해서, 상기 인트라-프레임 3D 회전에 대한 추정들을 결정하는 단계; 및
    상기 3D 회전 추정기에 의해서, 카메라의 각속도들을 수신하는 것 및 상기 카메라의 3D 회전을 추정하는 것에 의해서 상기 미가공 3D 카메라 경로를 결정하는 단계를 더 포함하는 방법.
  15. 제14항에 있어서,
    상기 3차원(3D) 회전 추정기에 의해서, 카메라의 각속도들을 수신하는 것 및 상기 카메라의 상기 인트라-프레임 3D 회전을 추정하는 것에 의해 상기 미가공 3D 회전 카메라 경로를 결정하는 단계를 더 포함하는 방법.
  16. 제14항에 있어서,
    상기 3D 회전 추정기와 연결된 자이로-스코프(gyro-scope)에 의해서, 카메라의 상기 각속도들을 결정하는 단계를 더 포함하는 방법.
  17. 제14항에 있어서,
    상기 3D 회전 평활기에 의해서, 상기 미가공 3D 회전 카메라 경로를 평활화하는 것에 의해 상기 평활화된 3D 회전 카메라 경로를 결정하는 단계를 더 포함하는 방법.
  18. 제13항에 있어서,
    상기 특징 매칭기에 의해서, 에피폴라 기하학(epipolar gyometry)에 기초한 이상치 제거 방법(outlier rejection method)을 사용하여 상기 이미지 시퀀스에서 특징 쌍들을 결정하는 단계를 더 포함하는 방법.
  19. 제18항에 있어서,
    상기 이상치 제거 방법은
    제1 특징 쌍 및 제2 특징 쌍을 임의로 선택하는 단계;
    상기 제 1 특징 쌍에 기초한 제1 라인 및 상기 제 2 특징 쌍에 기초한 제2 라인을 결정하는 단계;
    상기 제1 라인 및 상기 제2 라인에 기초한 소실점(vanishing point)을 결정하는 단계;
    각각의 특징 쌍에 대하여, 제3 라인을 결정하는 단계;
    각각의 특징 쌍에 대한 상기 제3 라인에 대하여, 상기 소실점과 상기 제3 라인의 중간-점(mid-point)을 연결하는 제4 라인을 결정하는 단계;
    각각의 특징 쌍에 대하여, 상기 제3 라인 및 상기 제4 라인 사이의 각도를 결정하는 단계; 및
    임계치보다 큰 각도를 갖는 각각의 특징 쌍을 이상치로서 제거하는 단계를 포함하는 방법.
  20. 제13항에 있어서,
    상기 잔여 2차원(2D) 병진 추정기에 의해서, 2개의 연속된 이미지들의 특징 쌍들, 상기 미가공 3D 회전 카메라 경로, 상기 평활화된 3D 회전 카메라 경로, 및 상기 인트라-프레임 3D 회전으로부터 인트라-프레임 잔여 2D 병진 추정들 및 상기 미가공 2D 병진 경로를 결정하는 단계를 더 포함하는 방법.
  21. 제13항에 있어서,
    상기 잔여 2차원(2D) 병진 추정기에 의해서, 2개의 연속하는 이미지들의 특징 쌍들 및 대응하는 인트라-프레임 3D 회전으로부터 상기 미가공 2D 병진 경로를 결정하는 단계를 더 포함하는 방법.
  22. 제13항에 있어서,
    상기 왜곡 계산기에 의해서, 상기 미가공 3D 회전 카메라 경로, 상기 평활화된 3D 카메라 경로, 상기 3D 인트라-프레임 회전, 상기 미가공 2D 병진 경로, 상기 평활화된 2D 병진 경로, 및 잔여 2D 인트라-프레임 병진을 결합(combine)하는 것에 의해 상기 왜곡 그리드를 결정하는 단계를 더 포함하는 방법.
  23. 제13항에 있어서,
    상기 왜곡 보상기에 의해서, 상기 이미지 시퀀스를 수신하는 것 및 상기 왜곡 그리드를 사용하는 것에 의해 상기 이미지 시퀀스에서 왜곡을 보상하는 단계를 더 포함하는 방법.
  24. 제13항에 있어서,
    영역 검출기(region detector)에 의해서, 적어도 하나의 영역을 결정하는 단계를 더 포함하는 방법.
KR1020180080512A 2017-11-13 2018-07-11 카메라 및 자이로스코프의 융합을 이용한 5차원 (5d) 비디오 안정화 장치 및 방법 KR102385024B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762585187P 2017-11-13 2017-11-13
US62/585,187 2017-11-13
US16/016,232 US10740431B2 (en) 2017-11-13 2018-06-22 Apparatus and method of five dimensional (5D) video stabilization with camera and gyroscope fusion
US16/016,232 2018-06-22

Publications (2)

Publication Number Publication Date
KR20190054890A true KR20190054890A (ko) 2019-05-22
KR102385024B1 KR102385024B1 (ko) 2022-04-08

Family

ID=66432195

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020180080512A KR102385024B1 (ko) 2017-11-13 2018-07-11 카메라 및 자이로스코프의 융합을 이용한 5차원 (5d) 비디오 안정화 장치 및 방법
KR1020180089156A KR102339906B1 (ko) 2017-11-13 2018-07-31 제약 변경을 갖는 경로 평활화를 위한 저 복잡도 최적화 솔버 장치 및 방법
KR1020210174705A KR102385018B1 (ko) 2017-11-13 2021-12-08 제약 변경을 갖는 경로 평활화를 위한 저 복잡도 최적화 솔버 장치 및 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020180089156A KR102339906B1 (ko) 2017-11-13 2018-07-31 제약 변경을 갖는 경로 평활화를 위한 저 복잡도 최적화 솔버 장치 및 방법
KR1020210174705A KR102385018B1 (ko) 2017-11-13 2021-12-08 제약 변경을 갖는 경로 평활화를 위한 저 복잡도 최적화 솔버 장치 및 방법

Country Status (4)

Country Link
US (4) US10740431B2 (ko)
KR (3) KR102385024B1 (ko)
CN (2) CN109783432B (ko)
TW (2) TWI773808B (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017132903A1 (zh) * 2016-02-03 2017-08-10 徐鹤菲 与可见光复用的生物特征复合成像系统和方法
US10740431B2 (en) * 2017-11-13 2020-08-11 Samsung Electronics Co., Ltd Apparatus and method of five dimensional (5D) video stabilization with camera and gyroscope fusion
EP3798869A4 (en) * 2018-05-23 2021-06-23 Mitsubishi Electric Corporation SYSTEM FOR THE SOLUTION OF LINEAR PROGRAMMING PROBLEMS, DEVICE FOR CALCULATION OF SOLUTION CANDIDATES, DEVICE FOR CALCULATION OF THE OPTIMAL SOLUTION, DEVICE FOR CONTROLLING THE ENGINES OF SPACE VEHICLES AND EQUIPMENT FOR MOVING LIFE TRUCKS
CN110557522A (zh) * 2018-05-31 2019-12-10 阿里巴巴集团控股有限公司 一种去除视频抖动的方法及装置
JP6966395B2 (ja) * 2018-08-23 2021-11-17 株式会社日立製作所 最適化システム及び最適化方法
CN110519507B (zh) * 2019-07-23 2021-03-19 影石创新科技股份有限公司 一种相机镜头平滑处理方法、装置及便携式终端
CN110677179B (zh) * 2019-10-09 2020-11-10 河北科技大学 接收天线选择方法、装置及终端设备
US11968453B2 (en) * 2020-08-12 2024-04-23 Corephotonics Ltd. Optical image stabilization in a scanning folded camera
CN112750088B (zh) * 2020-12-16 2022-07-26 北京大学 基于线性规划的视频图像自动扭正和稳像的方法
US11729505B2 (en) 2021-02-10 2023-08-15 Samsung Electronics Co., Ltd. Image signal processor, electronic device, and image stabilization method
CN112819886B (zh) * 2021-02-23 2023-01-03 中国人民解放军军事科学院国防科技创新研究院 基于倾角传感器的动态绳索摆角测量方法及系统
CN115689898A (zh) * 2021-07-29 2023-02-03 北京字跳网络技术有限公司 一种姿态估计方法、装置、设备及介质
US11823346B2 (en) * 2022-01-17 2023-11-21 Snap Inc. AR body part tracking system
CN117775005B (zh) * 2023-11-23 2024-07-30 西部科学城智能网联汽车创新中心(重庆)有限公司 车辆轨迹的滤波平滑处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110002043A (ko) * 2008-04-23 2011-01-06 미쓰비시덴키 가부시키가이샤 이미지 식별을 위한 스케일 안정적 특징-기반 식별자
KR20110135831A (ko) * 2010-06-11 2011-12-19 인텔 코오퍼레이션 방향 센서 판독과 이미지 정렬 추정의 융합에 의한 3d 비디오 안정화를 위한 시스템 및 방법
JP2013544050A (ja) * 2010-10-28 2013-12-09 グーグル・インク 安定化と標的再設定のためのビデオを処理する方法及びシステム
KR20170013102A (ko) * 2015-07-27 2017-02-06 삼성전자주식회사 동영상 안정화 방법 및 이를 위한 전자 장치

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ID27878A (id) 1997-12-05 2001-05-03 Dynamic Digital Depth Res Pty Konversi image yang ditingkatkan dan teknik mengenkodekan
US7221776B2 (en) 2001-10-31 2007-05-22 Arcsoft, Inc. Video stabilizer
US20050010388A1 (en) * 2003-07-11 2005-01-13 International Business Machines Corporation Dynamic online multi-parameter optimization system and method for autonomic computing systems
US8134603B2 (en) * 2005-08-12 2012-03-13 Nxp B.V. Method and system for digital image stabilization
US20080112630A1 (en) * 2006-11-09 2008-05-15 Oscar Nestares Digital video stabilization based on robust dominant motion estimation
TWI317898B (en) * 2006-12-12 2009-12-01 Ind Tech Res Inst Inertial sensing input apparatus and method
US8102428B2 (en) * 2008-08-28 2012-01-24 Adobe Systems Incorporated Content-aware video stabilization
CN101459954A (zh) * 2009-01-06 2009-06-17 东南大学 适用于分布式天线系统的功率分配方法
US8290297B2 (en) 2009-01-20 2012-10-16 Mitsubishi Electric Research Laboratories, Inc. Method for editing images and videos
US9189859B2 (en) 2009-06-11 2015-11-17 Kabushiki Kaisha Toshiba 3D image generation
US10454645B2 (en) 2009-08-14 2019-10-22 Hmd Global Oy Coordinated multipoint transmission
US9197736B2 (en) 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
US8896715B2 (en) * 2010-02-11 2014-11-25 Microsoft Corporation Generic platform video image stabilization
US8924331B2 (en) 2010-09-03 2014-12-30 Honeywell International Inc. System and method for solving quadratic programming problems with bound constraints utilizing a semi-explicit quadratic programming solver
US8872928B2 (en) * 2010-09-14 2014-10-28 Adobe Systems Incorporated Methods and apparatus for subspace video stabilization
CN102148934B (zh) * 2011-04-02 2013-02-06 北京理工大学 一种多模式实时电子稳像系统
US8686943B1 (en) 2011-05-13 2014-04-01 Imimtek, Inc. Two-dimensional method and system enabling three-dimensional user interaction with a device
US9177256B2 (en) * 2011-07-27 2015-11-03 International Business Machines Corporation Method for solving linear programs
US8719194B2 (en) * 2011-09-19 2014-05-06 Siemens Aktiengesellschaft Hybrid interior-point alternating directions algorithm for support vector machines and feature selection
US8553096B2 (en) * 2011-12-06 2013-10-08 Cisco Technology, Inc. Systems and methods for performing gyroscopic image stabilization
US9024970B2 (en) 2011-12-30 2015-05-05 Here Global B.V. Path side image on map overlay
US10495725B2 (en) * 2012-12-05 2019-12-03 Origin Wireless, Inc. Method, apparatus, server and system for real-time vital sign detection and monitoring
TWI435162B (zh) * 2012-10-22 2014-04-21 Nat Univ Chung Cheng Low complexity of the panoramic image and video bonding method
US10013477B2 (en) 2012-11-19 2018-07-03 The Penn State Research Foundation Accelerated discrete distribution clustering under wasserstein distance
US9374532B2 (en) 2013-03-15 2016-06-21 Google Inc. Cascaded camera motion estimation, rolling shutter detection, and camera shake detection for video stabilization
JP6045430B2 (ja) * 2013-04-18 2016-12-14 オリンパス株式会社 撮像装置及びその像ブレ補正方法
JP6108940B2 (ja) * 2013-04-25 2017-04-05 キヤノン株式会社 像振れ補正装置及びその制御方法、プログラム、記憶媒体
WO2015010244A1 (en) * 2013-07-23 2015-01-29 Microsoft Corporation Adaptive path smoothing for video stabilization
US9953400B2 (en) 2013-07-23 2018-04-24 Microsoft Technology Licensing, Llc Adaptive path smoothing for video stabilization
WO2015119207A1 (ja) * 2014-02-07 2015-08-13 株式会社モルフォ 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
US10002640B2 (en) 2014-02-28 2018-06-19 Microsoft Technology Licensing, Llc Hyper-lapse video through time-lapse and stabilization
US9854168B2 (en) * 2014-03-07 2017-12-26 Futurewei Technologies, Inc. One-pass video stabilization
CN103810725B (zh) * 2014-03-12 2016-06-08 北京理工大学 一种基于全局优化的视频稳定方法
US10586378B2 (en) * 2014-10-31 2020-03-10 Fyusion, Inc. Stabilizing image sequences based on camera rotation and focal length parameters
CN105872345A (zh) * 2015-01-20 2016-08-17 北京理工大学 基于特征匹配的全帧电子稳像方法
KR101703013B1 (ko) 2015-04-22 2017-02-06 (주) 리얼밸류 3차원 스캐너 및 스캐닝 방법
US9633274B2 (en) * 2015-09-15 2017-04-25 Mitsubishi Electric Research Laboratories, Inc. Method and system for denoising images using deep Gaussian conditional random field network
WO2017087537A1 (en) * 2015-11-16 2017-05-26 Google Inc. Stabilization based on accelerometer data
EP3182373B1 (en) * 2015-12-17 2019-06-19 STMicroelectronics S.A. Improvements in determination of an ego-motion of a video apparatus in a slam type algorithm
KR102523997B1 (ko) 2016-02-12 2023-04-21 삼성전자주식회사 360도 영상 처리 방법 및 장치
JP6702796B2 (ja) 2016-05-16 2020-06-03 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法および画像処理プログラム
US9967539B2 (en) 2016-06-03 2018-05-08 Samsung Electronics Co., Ltd. Timestamp error correction with double readout for the 3D camera with epipolar line laser point scanning
CN106101535B (zh) 2016-06-21 2019-02-19 北京理工大学 一种基于局部及整体运动差异补偿的视频稳定方法
CN106130066B (zh) 2016-07-11 2018-07-17 温州大学 一种用于独立微电网系统的多目标鲁棒频率控制方法
CN106851102A (zh) * 2017-02-24 2017-06-13 北京理工大学 一种基于捆绑测地线路径优化的视频稳像方法
US10591926B2 (en) * 2017-09-18 2020-03-17 Baidu Usa Llc Smooth road reference for autonomous driving vehicles based on 2D constrained smoothing spline
US10740431B2 (en) * 2017-11-13 2020-08-11 Samsung Electronics Co., Ltd Apparatus and method of five dimensional (5D) video stabilization with camera and gyroscope fusion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110002043A (ko) * 2008-04-23 2011-01-06 미쓰비시덴키 가부시키가이샤 이미지 식별을 위한 스케일 안정적 특징-기반 식별자
KR20110135831A (ko) * 2010-06-11 2011-12-19 인텔 코오퍼레이션 방향 센서 판독과 이미지 정렬 추정의 융합에 의한 3d 비디오 안정화를 위한 시스템 및 방법
JP2013544050A (ja) * 2010-10-28 2013-12-09 グーグル・インク 安定化と標的再設定のためのビデオを処理する方法及びシステム
KR20170013102A (ko) * 2015-07-27 2017-02-06 삼성전자주식회사 동영상 안정화 방법 및 이를 위한 전자 장치

Also Published As

Publication number Publication date
KR102385024B1 (ko) 2022-04-08
CN109783432B (zh) 2024-01-09
TWI773808B (zh) 2022-08-11
TWI808987B (zh) 2023-07-21
US10885145B2 (en) 2021-01-05
CN109783432A (zh) 2019-05-21
US20200356619A1 (en) 2020-11-12
US10534837B2 (en) 2020-01-14
US20190147013A1 (en) 2019-05-16
CN109788189A (zh) 2019-05-21
CN109788189B (zh) 2022-04-29
KR102339906B1 (ko) 2021-12-17
KR20210152446A (ko) 2021-12-15
US20200151237A1 (en) 2020-05-14
US20190147606A1 (en) 2019-05-16
TW201918906A (zh) 2019-05-16
US10762162B2 (en) 2020-09-01
US10740431B2 (en) 2020-08-11
TW201918772A (zh) 2019-05-16
KR20190054898A (ko) 2019-05-22
KR102385018B1 (ko) 2022-04-08

Similar Documents

Publication Publication Date Title
KR102385024B1 (ko) 카메라 및 자이로스코프의 융합을 이용한 5차원 (5d) 비디오 안정화 장치 및 방법
CN109525774B (zh) 用于校正图像的电子装置及操作该电子装置的方法
KR102341456B1 (ko) 2-단계 모션 보상을 가진 콘볼루션 뉴럴 네트워크를 사용하는 비디오 슈퍼 해상도를 위한 방법 및 장치
CN113454982B (zh) 用于使图像稳定化的电子装置及其操作方法
US9692959B2 (en) Image processing apparatus and method
CN109756671B (zh) 使用多个相机记录图像的电子装置及其操作方法
CN112005548B (zh) 生成深度信息的方法和支持该方法的电子设备
CN112602111A (zh) 模糊基于深度信息组合多个图像而获得的图像的电子设备及驱动该电子设备的方法
KR102524982B1 (ko) 흐림 처리가 수행된 이미지에 노이즈 패턴을 반영하는 방법 및 장치
CN111726521B (zh) 终端的拍照方法、拍照装置和终端
CN112840634B (zh) 用于获得图像的电子装置及方法
KR102677285B1 (ko) 슬로 모션 영상 생성 방법 및 장치
CN109756763B (zh) 用于基于优先级处理图像的电子装置及其操作方法
CN104205804A (zh) 图像处理装置、拍摄装置、程序以及图像处理方法
CN111742320A (zh) 提供与应用有关的文本翻译管理数据的方法及其电子装置
CN111788603A (zh) 用于以第二图像处理方案在外部电子设备中校正以第一图像处理方案校正的图像的电子设备和方法
CN112840644A (zh) 利用相机或深度传感器中的至少一个获取深度信息的电子装置和方法
CN112927271A (zh) 图像处理方法、图像处理装置、存储介质与电子设备
KR20190067438A (ko) 이미지를 제공하기 위한 방법 및 이를 지원하는 전자 장치
EP3850826B1 (en) Electronic device for controlling frame rate of image sensor and method thereof
KR102457462B1 (ko) 전자장치의 이미지 처리 장치 및 방법
CN118247186B (zh) 图像畸变矫正方法、电子设备、存储介质及芯片
WO2024072722A1 (en) Smooth continuous zooming in a multi-camera system by image-based visual features and optimized geometric calibrations

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant