KR20190054890A - 카메라 및 자이로스코프의 융합을 이용한 5차원 (5d) 비디오 안정화 장치 및 방법 - Google Patents
카메라 및 자이로스코프의 융합을 이용한 5차원 (5d) 비디오 안정화 장치 및 방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000004927 fusion Effects 0.000 title abstract description 7
- 230000006641 stabilisation Effects 0.000 title description 38
- 238000011105 stabilization Methods 0.000 title description 38
- 238000013519 translation Methods 0.000 claims abstract description 118
- 238000009499 grossing Methods 0.000 claims description 13
- 230000000087 stabilizing effect Effects 0.000 abstract 1
- 230000014616 translation Effects 0.000 description 94
- 238000004891 communication Methods 0.000 description 33
- 230000033001 locomotion Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 239000003381 stabilizer Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000003387 muscular Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 229910052724 xenon Inorganic materials 0.000 description 1
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/12—Simultaneous equations, e.g. systems of linear equations
-
- H04N5/2328—
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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/285—Analysis of motion using a sequence of stereo image pairs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/246—Calibration of cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/282—Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- 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
-
- 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/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- 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
- G06T2207/10021—Stereoscopic video; Stereoscopic 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image 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
본 발명은 일반적으로 비디오 안정화(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은 일 실시예에 따른, 자이로스코프-기반 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 회전이 추정된다. 번째 프레임의 타임 스템프(time stamp)는 으로 표시되고, 이는 이미지의 중간-행(mid-row)가 기록되는 시간에 대응한다. 프레임로부터 프레임으로의 인터-프레임(inter-frame) 회전은 으로 표기되고, 으로부터 으로의 카메라 3D 회전을 나타내며 이는 식(1)로 결정될 수 있다.
여기서 은 인 각속도 벡터들인 과 사이의 자이로스코프 샘플들일 수 있으며, 이들은 각각 에서의 값이다. 과 은 프레임 및 프레임의 시간 스템프에 대응하며, 예를 들면, 그리고 이다. 이러한 2개의 시각에서의 대응하는 각속도들 및 은, 각각, 및 근처의 가장 가까운 자이로스코프 샘플들을 삽입함으로써 얻어진다. 미가공 3D 회전 경로는 식(2) 에서와 같이 프레임으로부터 모든 연속하는 프레임들까지의 인터-프레임(inter-frame) 회전을 축적하는 것에 의해 결정된다.
여기서 는 회전 벡터 로부터 이에 등가(equivalent)인 3D 회전 행렬(rotation matrix)로의 변환(transformation)이다. 에 대해서, 는 행렬 지수(matrix exponential) 또는 로드리게스 회전 공식(Rodrigues' rotation formula)을 이용하여 결정될 수 있다. 경로를 평활화하기 위해서, 프레임까지 축적된 3D 회전의 회전 벡터 표현은 으로 표시되고, 이는 3D 회전 평활기(203)에서 평활화될 수 있다. 평활화된 3D 회전 카메라 경로의 회전 행렬 및 회전 벡터는 각각 및 으로 표시된다.
RS 보상을 위해서, 중간-행(mid-row)으로부터 다른 모든 행들로의 인트라-프레임 3D 회전이 결정된다. 프레임에서 중간행으로부터 번째 행까지의 회전은 으로 표시된다. 인트라-프레임 회전을 결정하기 위해서, 프레임 에서 0번째 행으로부터 모든 다른 행들까지의 회전이 결정되고 로 표시된다. 이는 위의 식(1) 에서 을 0번째 행의 시간으로 그리고 을 번째 행의 시간으로 변경함으로써 얻어질 수 있다. 이렇게 식(3) 에서 인트라-프레임 로테이션 이 결정된다.
자이로스코프 측정은 단지 3D 회전 정보를 제공한다. 병진 정보는 이미지 시퀀스들로부터 추출될 수 있다. 프레임로부터 프레임까지의 인터-프레임 잔여 2D 병진을 추정하기 위해서, 특징 매칭기(205)는 2개의 연속되는 프레임들 사이의 특징 쌍들을 매칭한다. 번째 쌍들의 2D 미지 좌표는 으로 표시되고 대응하는 동차 좌표(homogeneous coordinates) 표현은 으로 표시된다. 2D 이미지 좌표는 동일한 3D 세계 좌표 로부터 투사(projected)되는 것이기 때문에, 카메라 모션은 식(4) 와 같을 수 있다.
여기서 는 이미지 픽셀에 대한 초점 길이이고 는 이미지 평면에서 카메라 주요 축(principle axis)의 원점(origin)이다. 3D 병진 의 임펙트(impact)를 추정하기 위해, 식(6) 에서와 같이 3D 회전에 의한 영향을 제거한다:
위의 식(6)에서 차이 값(difference value)은 목적하는 평활화된 경로에 따른 이미지 뒤틀림 이후의 3D 병진에 의해 야기된다. 은 프레임에서 사용되며, 이는 프레임 에서 적용된 실제 3D 보상에 대응한다. 그러나, 프레임에서는 대신에 이 사용된다. 이는 에 의해서 주어진 추가적인 회전은 프레임로부터 프레임까지의 목적하는 평활화된 3D 회전 카메라 경로이기 때문이며, 잔여 병진 임펙트는 이 부분을 포함하지 않아야 한다. 이는 프레임에서 이 적용되는 이유이다. 식(6)에서 차이 계산은 직접적으로 계산될 수 없는데, 이는 및 이 직접적으로 이용 가능하지 않기 때문이다. 따라서, 먼 오브젝트 가정, 예를 들어, 이미지에서 오브젝트들이 초점 거리에 비해서 상대적으로 이미지 평면으로부터 더 멀리 떨어져 위치된다는 가정이 사용된다.
비록 식(6)에서 계산된 차이 값이 벡터이지만, 이는 3D 병진 임펙트를 반영한 것으로서, 이는 이미지 상의 최종 결과를 직접 제안하지 않고 , 및 을 알지 못한 경우 계산될 수 없다. 따라서, 2D 좌표로 정규화한 뒤의 차이는 특징 쌍의 좌표를 사용해서 이미지 평면에서 잔여 2D 병진을 얻기 위해 결정된다. 식(6)에서의 2개의 용어들은 식(7) 및 (8) 에서와 같이 계산될 수 있다:
인터-프레임(inter-frame) 잔여 2D 병진의 최소 평균 제곱 오차(MMSE; minimum mean square error) 추정은 식(10) 에서와 같이 개의 특징 쌍에 대한 평균에 의해 결정될 수 있다:
인터-프레임 잔여 2D 병진은 미가공 잔여 2D 병진 경로를 얻기 위해 축적된다. 은 평활화된 3D 회전 카메라 경로를 따라 움직이더라도 잔여 이동이므로, 누적은 식(11) 에서와 같이 결정될 수 있다.
인터-프레임(inter-frame) 잔여 2D 병진 추정이 결정된 이후에, 인트라-프레임(intra-frame) 잔여 2D 병진은 일정한 병진 속도들을 가정하는 것에 의해 추정될 수 있다. 프레임에서 중간-행으로부터 번째 행까지의 인트라-프레임 병진 벡터는 식(12) 와 같다.
여기서 는 각각의 이미지의 행의 총수이다. 일정한 속력 모델 대신에 다항식 모델(polynomial model) 또는 구분적 선형 모델(piece wise linear model)을 가정하여 인트라-프레임 병진의 변화를 캡처할 수 있다.
잔여 2D 병진 추정을 위해 사용된 특징 쌍들은 특징 검출/매칭 알고리즘 및 이미지의 시점에 따라 이상치(outlier)들을 포함할 수 있다. 따라서, 식(7)에서 계산된 의 특별한 기하학적 특성을 사용하여 이상치 제거 방법(outlier rejection method)이 사용될 수 있다. 은 매칭 특징 포인트들의 쌍의 동차 좌표(homogeneous coordinates)로 간주할 수 있다. 대응하는 2D 유클리드 표현(Euclidian representation)은 식(13)에서와 같이 정규화된 버전으로 주어진다:
매칭 포인트들 사이의 차이는 3D 병진에 의해서만 야기되기 때문에, 이러한 특징 쌍들을 연결하는 라인들은 에피폴라 기하학(epipolar geometry)의 특성에 따라 소실점(vanishing point)에서 교차해야 한다. 이상치 제거 방법은 소실점을 가리키지 않는 특징 쌍들을 제거하기 위해 사용된다.
일 실시예에서, 이상치 제거 방법을 위한 에피폴라 기하학 기반 RANSAC 는 아래의 표 1에서와 같은 임의 샘플 컨센서스(RANSAC; random sample consensus)에 기초할 수 있다.
표 1
Epipolar geometry based RANSAC for outlier rejection
Initialization:
end
Repeat:
Calculate the line connecting the mid-point and the temporary
end
else
end
end
end
end
end
until the maximum number of iterations is reached.
도 3a는 일 실시예에 따른, 에피폴라 기하학 기반 이상치 제거의 도표를 도시한다. 각각의 RANSAC 반복(iteration)에서, 후보 소실점 (301)은 서로 반대 방향을 가리키고, 2개의 임의로 선택된 특징 쌍들 각각을 연결한 2개의 라인들 (303 및 305)의 교차점으로서 계산되며, 제1 특징 쌍은 라인(303)을 따라서 후보 소실점 (301) 방향을 가리키는 포인트 (307) 및 (309)을 포함하고, 제2 특징 쌍은 라인(305)을 따라서 후보 소실점 (301)에서 멀어지는 방향을 가리키는 포인트 (311) 및 (313)을 포함한다. 이 경우, 현재 시스템은 후속 계산을 건너 뛰고, 다음 반복으로 진행한다.
도 3b는 일 실시예에 따른 에피폴라 기하학 기반 이상치 제거의 도표를 도시한다. 각각의 RANSAC 반복에서, 후보 소실점(321)은 후보 소실점(321)에 대해 같은 방향을 가리키고, 임의로 선택된 특징 쌍들 각각을 연결한 2개의 라인(323 및 325)의 교차점으로서 계산되며, 제1 특징 쌍은 라인(323)을 따라서 후보 소실점 (321) 방향을 가리키는 포인트 (327) 및 (329) 을 포함하고, 제2 특징 쌍은 라인(325)을 따라서 후보 소실점(321) 방향을 가리키는 포인트 (331) 및 (333) 을 포함한다. 이때, 각각의 특징 쌍에 대하여, 특징 포인트 (341) 방향을 가리키는 2개의 특징 포인트 (339) 및 341)을 연결하는 라인(337) 및 후보 소실점(321)과 연결된 라인(343) 사이의 각도 (335) 그리고 라인(337)의 중심-포인트(345)가 결정된다. 각도 (335) 는 특징 쌍 (339) 및 341) 가 후보 소실점 (321)을 얼마나 가깝게 가리키고 있는지를 측정한다. 각도 (335) 가 임계치 보다 작은 경우, 특징 쌍는 정상치(inlier)로 간주되고 임시 정상치 집합(temporary inlier set) 에 추가된다. 각각의 반복(iteration)이 끝날 때까지, 임시 정상치 집합 이 보다 많은 특징 쌍들을 가지고 있다면, 는 에 의해 업데이트된다. 잔여 2D 병진 추정은 위의 이상치 제거 과정 이후의 에서 정상치들을 사용할 것이다.
도 3c는 일 실시예에 따른, 에피폴라 기하학 기반 이상치 제거의 도표를 도시한다. 각각의 RANSAC 반복에서, 후보 소실점(351)은 같은 방향을 가리키고, 임의로 선택된 특징 쌍들 각각을 연결한 2개의 라인(353 및 355)의 교차점으로서 계산되며, 제1 특징 쌍은 라인(353)을 따라서 후보 소실점 (351)에서 멀어지는 방향을 가리키는 포인트 (357) 및 (359) 을 포함하고, 제2 특징 쌍은 라인(355)을 따라서 후보 소실점 (351)에서 멀어지는 방향을 가리키는 포인트 (361) 및 (363) 을 포함한다. 이때, 각각의 특징 쌍 에 대하여, 특징 포인트 (369) 방향을 가리키는 2개의 특징 포인트 (371) 및 (369)을 연결하는 라인(367) 및 후보 소실점(351)과 연결된 라인(373) 사이의 각도 (377) 그리고 라인(367)의 중심-포인트(375)가 결정된다. 각도 (365)는 특징 쌍 (371) 및 (369) 가 후보 소실점 (351)을 얼마나 가깝게 가리키고 있는지를 측정한다. 각도 (365) 가 임계치 보다 작은 경우, 특징 쌍 는 정상치(inlier)로 간주되고 임시 정상치 집합(temporary inlier set) 에 추가된다. 각각의 반복이 끝날 때까지, 임시 정상치 집합 이 보다 많은 특징 쌍들을 가지고 있다면, 는 에 의해 업데이트된다. 잔여 2D 병진 추정은 위의 이상치 제거 과정 이후의 에서 정상치들을 사용할 것이다.
잔여 2D 병진 및 3D 회전에 대한 누적된 경로들은 대응하는 안정화된 경로들을 생성하기 위해 평활화된다. 프레임에서 평활화된 경로 값을 얻기 위해서, 프레임으로부터 프레임까지의 미가공 경로가 반드시 고려되어야 하고, 여기서 및 는 각각 과거 및 미래의 평활화 윈도우(smoothing window) 크기들이다. 평활화된 경로의 결정은 필터링을 사용하는 것 또는 보다 복잡한 경로 최적화를 고려하는 것에 의해 달성될 수 있다. 잔여 2D 병진 및 3D 회전에 대한 경로 평활화 파라미터들은 별도로 고려되어야 하며, 이들이 상이한 물리적 모션들을 나타내기 때문이다.
왜곡 계산기(211)에서의 작동은, 보상된 이미지에서 포인트 에 대하여, 미가공 이미지에서 대응하는 좌표 를 찾는 것이다. 보상과 관련된 잔여 2D 병진은 이미지 평면 내에서 일어난다. 따라서, 은 식(14) 에서와 같이 잔여 2D 병진 보상 전에 결정된다:
여기서 는 평활화된 잔여 2D 병진 경로이고, 는 미가공 잔여 2D 병진 경로이고, 는 프레임 에서 중간-행으로부터 행까지의 인트라-프레임 잔여 2D 병진이다. 에 대하여, 3D 회전 보상은 미가공 이미지에서 대응되는 좌표를 검색(retrieve)하기 위해 반전(reverse)되고, 이는 식(15) 에서와 같이 이미지 평면상의 2D 좌표 대신에 3D 좌표 상에서 일어난다.
여기서, 은 평활화된 3D 회전 경로이고, 은 미가공 3D 회전 경로이고, 은 프레임 에서 중간-행으로부터 행까지의 인트라-프레임 회전이다. 위의 식(15) 및 식(15) 를 결합하면, 식(16) 에서와 같이 가 결정될 수 있다.
미가공 이미지에서 최종 2D 좌표는 식(17) 에서와 같이 동차 좌표(homogeneous coordinate) 의 대응하는 2D 유클리드 좌표(Euclidian coordinate)를 결정하는 것에 의해 얻어질 수 있다:
도 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)에 의해서, 전체 장면에 걸쳐 분포된 개의 특징 쌍들을 사용하여, 계산된다. 일 실시예에서, 전역 (global) 3D 회전 보상이 전체 장면에서 수행되고, 잔여 2D 병진은 장면에서 특정 영역들(예를 들어, 주요 영역들(salient regions))에 대해 선택적으로 보상된다. 예를 들어, 2D 병진을 보상하기 위해서, 비디오의 특정 영역들에 초점을 맞춘다. 따라서, 위의 식(10) 에서 전역적으로 잔여 2D 병진을 추정하는 것 대신에, 식(18) 에서 각각의 클래스 마다 평균 인터-프레임 잔여 2D 병진을 추정한다:
여기서 는 번째 영역에 속하는 특징 쌍들의 집합이고, 는 에서 특징 쌍들의 개수이다. 결과적으로, 위의 식(11)에서의 미가공 2D 경로 , 위의 식(12)에서의 인트라-프레임 병진 , 그리고 평활화된 2D 경로는 클래스마다 , 및 으로 계산된다. 잔여 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)
- 이미지 시퀀스를 수신하고 상기 이미지 시퀀스에서 특징 쌍(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)를 포함하는 장치. - 제 1항에 있어서,
미가공 3차원(3D) 회전 카메라 경로(rotation camera path) 및 인트라-프레임(intra-frame) 3D 회전 추정(rotation estimate)들을 결정하는 3D 회전 추정기(rotation estimator);
상기 3D 회전 추정기에 연결되고, 평활화된 3D 회전 카메라 경로를 결정하는 3D 회전 평활기(rotation smoother)를 더 포함하고;
상기 3D 회전 추정기는, 카메라의 각속도들을 수신하고 상기 카메라의 3D 회전을 추정하는 것에 의해 상기 미가공 3D 회전 카메라 경로를 결정하는 장치. - 제2항에 있어서,
상기 3차원(3D) 회전 추정기는, 카메라의 각속도들을 수신하는 것 및 상기 카메라의 상기 인트라-프레임 3D 회전을 추정하는 것에 의해 상기 미가공 3D 회전 카메라 경로를 결정하는 장치. - 제2항에 있어서,
상기 3D 회전 추정기와 연결되고, 카메라의 상기 각속도들을 결정하는 자이로-스코프(gyro-scope)를 더 포함하는 장치. - 제2항에 있어서,
상기 3D 회전 평활기는, 상기 미가공 3D 회전 카메라 경로를 평활화하는 것에 의해서 상기 평활화된 3D 회전 카메라 경로를 결정하는 장치. - 제1항에 있어서,
상기 특징 매칭기는, 에피폴라 기하학(epipolar geometry)에 기초한 이상치 제거 방법(outlier rejection method)을 사용하여 상기 이미지 시퀀스에서 특징 쌍들을 결정하는 장치. - 제6항에 있어서,
상기 이상치 제거 방법은
제1 특징 쌍 및 제2 특징 쌍을 임의로 선택하는 단계;
상기 제 1 특징 쌍에 기초한 제1 라인 및 상기 제 2 특징 쌍에 기초한 제2 라인을 결정하는 단계;
상기 제1 라인 및 상기 제2 라인에 기초한 소실점(vanishing point)을 결정하는 단계;
각각의 특징 쌍에 대하여, 제3 라인을 결정하는 단계;
각각의 특징 쌍에 대한 상기 제3 라인에 대하여, 상기 소실점과 상기 제3 라인의 중간-점(mid-point)을 연결하는 제4 라인을 결정하는 단계;
각각의 특징 쌍에 대하여, 상기 제3 라인 및 상기 제4 라인 사이의 각도를 결정하는 단계; 및
임계치보다 큰 각도를 갖는 각각의 특징 쌍을 이상치로서 제거하는 단계를 포함하는 장치. - 제1항에 있어서,
상기 잔여 2차원(2D) 병진 추정기는, 2개의 연속된 이미지의 특징 쌍들, 미가공 3D 회전 카메라 경로, 평활화된 3D 회전 카메라 경로, 및 인트라-프레임 3D 회전으로부터 인트라-프레임 잔여 2D 병진 추정들 및 상기 미가공 2D 병진 경로를 결정하는 장치. - 제1항에 있어서,
상기 잔여 2차원(2D) 병진 추정기는, 2개의 연속된 이미지들의 특징 쌍들 및 대응하는 인트라-프레임 3D 회전으로부터 상기 미가공 2D 병진 경로를 결정하는 장치. - 제1항에 있어서,
상기 왜곡 계산기는, 미가공 3D 카메라 경로, 평활화된 3D 카메라 경로, 3D 인트라-프레임 회전, 상기 미가공 2D 병진 경로, 상기 평활화된 2D 병진 경로 및 잔여 2D 인트라-프레임 병진을 결합(combine)하는 것에 의해 상기 왜곡 그리드를 결정하는 장치. - 제1항에 있어서,
상기 왜곡 보상기는, 상기 이미지 시퀀스를 수신하는 것 및 상기 왜곡 그리드를 사용하는 것에 의해 상기 이미지 시퀀스에서 왜곡을 보상하는 장치. - 제1항에 있어서,
상기 특징 매칭기 및 상기 왜곡 계산기와 연결되고 상기 이미지 시퀀스를 수신하도록 그리고 오브젝트 클래스(object class)들을 결정하는 오브젝트 검출기(object detector)를 더 포함하는 장치. - 특징 매칭기(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)에 의해서, 상기 이미지 시퀀스에서 왜곡을 보상하는 단계를 포함하는 방법. - 제13항에 있어서,
3D 회전 추정기에 의해서, 상기 미가공 3D 회전 카메라 경로를 결정하는 단계;
상기 3D 회전 추정기와 연결된 3D 회전 평활기에 의해서, 상기 평활화된 3D 회전 카메라 경로를 결정하는 단계;
상기 3D 회전 추정기에 의해서, 상기 인트라-프레임 3D 회전에 대한 추정들을 결정하는 단계; 및
상기 3D 회전 추정기에 의해서, 카메라의 각속도들을 수신하는 것 및 상기 카메라의 3D 회전을 추정하는 것에 의해서 상기 미가공 3D 카메라 경로를 결정하는 단계를 더 포함하는 방법. - 제14항에 있어서,
상기 3차원(3D) 회전 추정기에 의해서, 카메라의 각속도들을 수신하는 것 및 상기 카메라의 상기 인트라-프레임 3D 회전을 추정하는 것에 의해 상기 미가공 3D 회전 카메라 경로를 결정하는 단계를 더 포함하는 방법. - 제14항에 있어서,
상기 3D 회전 추정기와 연결된 자이로-스코프(gyro-scope)에 의해서, 카메라의 상기 각속도들을 결정하는 단계를 더 포함하는 방법. - 제14항에 있어서,
상기 3D 회전 평활기에 의해서, 상기 미가공 3D 회전 카메라 경로를 평활화하는 것에 의해 상기 평활화된 3D 회전 카메라 경로를 결정하는 단계를 더 포함하는 방법. - 제13항에 있어서,
상기 특징 매칭기에 의해서, 에피폴라 기하학(epipolar gyometry)에 기초한 이상치 제거 방법(outlier rejection method)을 사용하여 상기 이미지 시퀀스에서 특징 쌍들을 결정하는 단계를 더 포함하는 방법. - 제18항에 있어서,
상기 이상치 제거 방법은
제1 특징 쌍 및 제2 특징 쌍을 임의로 선택하는 단계;
상기 제 1 특징 쌍에 기초한 제1 라인 및 상기 제 2 특징 쌍에 기초한 제2 라인을 결정하는 단계;
상기 제1 라인 및 상기 제2 라인에 기초한 소실점(vanishing point)을 결정하는 단계;
각각의 특징 쌍에 대하여, 제3 라인을 결정하는 단계;
각각의 특징 쌍에 대한 상기 제3 라인에 대하여, 상기 소실점과 상기 제3 라인의 중간-점(mid-point)을 연결하는 제4 라인을 결정하는 단계;
각각의 특징 쌍에 대하여, 상기 제3 라인 및 상기 제4 라인 사이의 각도를 결정하는 단계; 및
임계치보다 큰 각도를 갖는 각각의 특징 쌍을 이상치로서 제거하는 단계를 포함하는 방법. - 제13항에 있어서,
상기 잔여 2차원(2D) 병진 추정기에 의해서, 2개의 연속된 이미지들의 특징 쌍들, 상기 미가공 3D 회전 카메라 경로, 상기 평활화된 3D 회전 카메라 경로, 및 상기 인트라-프레임 3D 회전으로부터 인트라-프레임 잔여 2D 병진 추정들 및 상기 미가공 2D 병진 경로를 결정하는 단계를 더 포함하는 방법. - 제13항에 있어서,
상기 잔여 2차원(2D) 병진 추정기에 의해서, 2개의 연속하는 이미지들의 특징 쌍들 및 대응하는 인트라-프레임 3D 회전으로부터 상기 미가공 2D 병진 경로를 결정하는 단계를 더 포함하는 방법. - 제13항에 있어서,
상기 왜곡 계산기에 의해서, 상기 미가공 3D 회전 카메라 경로, 상기 평활화된 3D 카메라 경로, 상기 3D 인트라-프레임 회전, 상기 미가공 2D 병진 경로, 상기 평활화된 2D 병진 경로, 및 잔여 2D 인트라-프레임 병진을 결합(combine)하는 것에 의해 상기 왜곡 그리드를 결정하는 단계를 더 포함하는 방법. - 제13항에 있어서,
상기 왜곡 보상기에 의해서, 상기 이미지 시퀀스를 수신하는 것 및 상기 왜곡 그리드를 사용하는 것에 의해 상기 이미지 시퀀스에서 왜곡을 보상하는 단계를 더 포함하는 방법. - 제13항에 있어서,
영역 검출기(region detector)에 의해서, 적어도 하나의 영역을 결정하는 단계를 더 포함하는 방법.
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)
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)
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)
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 |
-
2018
- 2018-06-22 US US16/016,232 patent/US10740431B2/en not_active Expired - Fee Related
- 2018-06-22 US US16/016,256 patent/US10534837B2/en active Active
- 2018-07-11 KR KR1020180080512A patent/KR102385024B1/ko active IP Right Grant
- 2018-07-31 KR KR1020180089156A patent/KR102339906B1/ko active IP Right Grant
- 2018-08-22 TW TW107129187A patent/TWI773808B/zh active
- 2018-08-28 TW TW107129855A patent/TWI808987B/zh active
- 2018-11-12 CN CN201811340654.3A patent/CN109783432B/zh active Active
- 2018-11-12 CN CN201811340655.8A patent/CN109788189B/zh active Active
-
2020
- 2020-01-14 US US16/742,231 patent/US10762162B2/en active Active
- 2020-07-28 US US16/940,870 patent/US10885145B2/en active Active
-
2021
- 2021-12-08 KR KR1020210174705A patent/KR102385018B1/ko active IP Right Grant
Patent Citations (4)
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 |