KR20180036359A - Method for displaying an image and an electronic device thereof - Google Patents

Method for displaying an image and an electronic device thereof Download PDF

Info

Publication number
KR20180036359A
KR20180036359A KR1020160126874A KR20160126874A KR20180036359A KR 20180036359 A KR20180036359 A KR 20180036359A KR 1020160126874 A KR1020160126874 A KR 1020160126874A KR 20160126874 A KR20160126874 A KR 20160126874A KR 20180036359 A KR20180036359 A KR 20180036359A
Authority
KR
South Korea
Prior art keywords
image
cameras
camera
ray
image frames
Prior art date
Application number
KR1020160126874A
Other languages
Korean (ko)
Other versions
KR102558474B1 (en
Inventor
리모노프 알렉산더
이현석
최지환
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020160126874A priority Critical patent/KR102558474B1/en
Publication of KR20180036359A publication Critical patent/KR20180036359A/en
Application granted granted Critical
Publication of KR102558474B1 publication Critical patent/KR102558474B1/en

Links

Images

Classifications

    • 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/25Image signal generators using stereoscopic image cameras using two or more image sensors with different characteristics other than in their location or field of view, e.g. having different resolutions or colour pickup characteristics; using image signals from one sensor to control the characteristics of another sensor
    • H04N13/025
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • H04N13/0242
    • H04N13/0429
    • H04N13/0454
    • 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/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/356Image reproducers having separate monoscopic and stereoscopic modes
    • H04N13/359Switching between monoscopic and stereoscopic modes

Landscapes

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

Abstract

Provided are a method for displaying an image and an electronic device thereof. According to an embodiment of the present invention, an operating method of the electronic device comprises the following steps of: generating a plurality of image frames captured by a plurality of cameras, respectively; converting the image frames based on at least one virtual camera located at a different position from the cameras; generating at least one matching image from the converted image frames; and displaying part of the at least one matching image. According to the present invention, by applying an omni-directional stereoscopic (ODS) projection as described above, it is possible to eliminate stitching errors due to parallax in a stitched panoramic image, and to allow a steric area and a flat area to continuously change in a panoramic image.

Description

이미지를 표시하기 위한 방법 및 그 전자 장치{METHOD FOR DISPLAYING AN IMAGE AND AN ELECTRONIC DEVICE THEREOF}[0001] METHOD FOR DISPLAYING AN IMAGE AND AN ELECTRONIC DEVICE THEREOF [0002]

본 발명은 전자 장치에 관한 것으로, 보다 상세하게는 전자 장치에서 이미지를 표시하기 위한 방법 및 장치에 관한 것이다.The present invention relates to an electronic device, and more particularly, to a method and apparatus for displaying an image in an electronic device.

정보 통신 기술과 반도체 기술 등의 눈부신 발전에 힘입어 전자 장치(예: 모바일 단말기)의 보급과 이용이 급속도로 증가하고 있다. 전자 장치가 광범위하게 보급됨에 따라, 전자 장치는 사용자에게 다양한 콘텐트를 제공하고 있다. The spread and use of electronic devices (for example, mobile terminals) is rapidly increasing owing to the remarkable development of information communication technology and semiconductor technology. BACKGROUND OF THE INVENTION As electronic devices become widespread, electronic devices provide a variety of content to users.

최근, 신체에 직접 착용될 수 있는 형태의 다양한 전자 장치들이 개발되고 있다. 이러한 웨어러블(Wearable) 전자 장치는, 예를 들어, 머리 착용형 장치(HMD; Head-Mounted Device), 스마트 안경(smart glass), 스마트 시계(smart watch), 스마트 밴드(wristband), 콘텍트 렌즈형 장치, 반지형 장치, 신발형 장치, 의복형 장치, 장갑형 장치 등을 포함할 수 있다. 이러한 웨어러블 전자 장치는 신체 또는 의복에 직접 착용되므로 이동성(portability) 및 사용자의 접근성(accessibility)을 비약적으로 향상시킬 수 있다.Recently, various electronic devices in a form that can be directly worn on the body are being developed. Such wearable electronic devices include, for example, a head-mounted device (HMD), a smart glass, a smart watch, a smart band, a contact lens- , Ring devices, shoe devices, garment devices, glove devices, and the like. Such a wearable electronic device is directly worn on the body or clothes, so that portability and user's accessibility can be dramatically improved.

상기 웨어러블 전자 장치의 다양한 예시 가운데 사용자의 두부(頭部)에 장착될 수 있는 HMD는, 사용자의 양안과 근접한 위치에 360도 파노라마 영상을 제공함으로써, 사용자에게 실감나는 영상을 제공할 수 있다. Among various examples of the wearable electronic device, the HMD which can be mounted on the head of the user can provide a 360-degree panoramic image at a position close to the user's eyes, thereby providing a realistic image to the user.

본 발명의 다양한 실시 예들은 파노라마 이미지를 표시하기 위한 방법 및 그 전자 장치를 제공한다.Various embodiments of the present invention provide a method and an electronic device for displaying a panoramic image.

본 발명의 다양한 실시 예들은 360도 회전 이미지를 생성하기 위해 이미지 프레임들을 스티칭하는 방법 및 그 전자 장치를 제공한다.Various embodiments of the present invention provide a method and an electronic device for stitching image frames to produce a 360 degree rotated image.

본 발명의 다양한 실시 예들은 복수의 카메라에 의해 캡쳐된 이미지 프레임을 가상의 카메라가 캡쳐한 것처럼 변환하기 위한 방법 및 그 전자 장치를 제공한다.Various embodiments of the present invention provide a method and an electronic device for converting an image frame captured by a plurality of cameras as if captured by a virtual camera.

본 발명의 다양한 실시 예들은 ODS(omni-directional stereoscopic) 투영(projection)에 따라 레이(ray)들을 워핑(warping)하는 방법 및 그 전자 장치를 제공한다.Various embodiments of the present invention provide a method and an electronic device for warping rays in accordance with an omni-directional stereoscopic (ODS) projection.

본 발명의 다양한 실시 예들은 가상의 카메라의 관점에서 워핑된 레이를 캡쳐하기 위한 방법 및 장치를 제공한다.The various embodiments of the present invention provide a method and apparatus for capturing a warped ray in terms of a virtual camera.

본 발명의 일 실시 예에 따른 전자 장치의 동작 방법은, 각각의 상기 복수의 카메라들에 의해 캡쳐된 복수의 이미지 프레임들을 생성하는 동작과, 상기 복수의 카메라들과 다른 곳에 위치한 적어도 하나의 가상 카메라에 기반하여 상기 복수의 이미지 프레임들을 변환하는 동작과, 상기 변환된 복수의 이미지 프레임들로부터 적어도 하나의 정합 이미지를 생성하는 동작과, 상기 적어도 하나의 정합 이미지의 일부를 표시하는 동작을 포함한다.An operation method of an electronic device according to an embodiment of the present invention includes: generating a plurality of image frames captured by each of the plurality of cameras; Generating at least one registration image from the transformed plurality of image frames, and displaying the portion of the at least one registered image.

본 발명의 다른 실시 예에 따른 전자 장치는, 복수의 카메라들을 구비하고, 각각의 상기 복수의 카메라들에 의해 캡쳐된 복수의 이미지 프레임들을 생성하는 이미지 생성부와, 상기 복수의 카메라들과 다른 곳에 위치한 적어도 하나의 가상 카메라에 기반하여 상기 복수의 이미지 프레임들을 변환하고, 상기 변환된 복수의 이미지 프레임들로부터 적어도 하나의 정합 이미지를 생성하는 제어부와, 상기 적어도 하나의 정합 이미지의 일부를 표시하는 디스플레이를 포함한다.An electronic device according to another embodiment of the present invention includes an image generation unit having a plurality of cameras and generating a plurality of image frames captured by each of the plurality of cameras; A controller for converting the plurality of image frames based on at least one virtual camera located and generating at least one registration image from the converted plurality of image frames, a display for displaying a part of the at least one registered image, .

상술한 바와 같이 ODS(omni-directional stereoscopic) 투영을 적용함에 따라, 스티칭된 파노라마 이미지에서 시차(parallax)에 의한 스티칭 에러를 제거할 수 있고, 입체 영역과 평면 영역이 파노라마 이미지에서 연속적으로 변화할 수 있다.By applying the omni-directional stereoscopic projection as described above, it is possible to eliminate the stitching error due to parallax in the stitched panoramic image, and the steric area and the flat area can continuously change in the panoramic image have.

도 1은 본 발명의 다양한 실시 예들에 따른 전자 장치를 포함하는 네트워크 환경을 도시한다.
도 2는 본 발명의 다양한 실시 예들에 따른 전자 장치의 블록도를 도시한다.
도 3은 본 발명의 다양한 실시 예들에 따른 프로그램 모듈의 블록도이다.
도 4a는 본 발명의 다양한 실시 예들에 따른 카메라 모듈을 도시한다.
도 4b는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제1 정면 구조를 도시한다.
도 4c는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제2 정면 구조를 도시한다.
도 4d는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제3 정면 구조를 도시한다.
도 4e는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제4 정면 구조를 도시한다.
도 4f는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제5 정면 구조를 도시한다.
도 4g는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제6 정면 구조를 도시한다.
도 4h는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 측면 구조를 도시한다.
도 5는 본 발명의 다양한 실시 예들에 따른 전자 장치의 모듈들을 도식적으로 나타낸다.
도 6은 본 발명의 다양한 실시 예들에 따른 전자 장치의 기능적 블록 구조를 도시한다.
도 7은 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 레이(ray)들을 도시한다.
도 8은 본 발명의 다양한 실시 예들에 따라 카메라 모듈이 복수의 카메라들로 캡쳐한 이미지를 도시한다.
도 9는 본 발명의 다양한 실시 예들에 따라 이미지 프레임들의 스티칭 후 발생하는 시차(parallax) 문제를 나타내기 위한 도면이다.
도 10은 본 발명의 다양한 실시 예들에 따라 레이들의 워핑(warping)을 도시한다.
도 11은 본 발명의 다양한 실시 예들에 따라 워핑 후의 레이들을 도시한다.
도 12는 본 발명의 다양한 실시 예들에 따른 관점(view point)의 위치를 도시한다.
도 13은 본 발명의 다양한 실시 예들에 따라 깊이 값(depth)에 기반하여 레이를 워핑하는 방법을 도시한다.
도 14는 본 발명의 다양한 실시 예들에 따라 가상 카메라를 이용하여 이미지를 캡쳐하는 방법을 도시한다.
도 15는 본 발명의 다양한 실시 예들에 따라 가상 카메라들을 이용하여 생성된 정합 이미지를 표시하는 흐름도이다.
도 16은 본 발명의 다양한 실시 예들에 따라 워핑에 기반하여 이미지를 변환하는 흐름도이다.
도 17은 본 발명의 다양한 실시 예들에 따라 이미지 픽셀을 깊이 값을 계산하기 위한 도면이다.
도 18은 본 발명의 다양한 실시 예들에 따라 카메라 캘리브레이션(calibration)을 수행하기 위한 흐름도이다.
도 19는 본 발명의 다양한 실시 예들에 따라 이미지 프레임들을 스티칭(stitching)하는 흐름도이다.
도 20은 본 발명의 다양한 실시 예들에 따라 정합된 이미지를 도시한다.
도 21은 본 발명의 다양한 실시 예들에 따라 카메라의 고도 각과 카메라들의 관점간 거리의 관계를 도시한다.
Figure 1 illustrates a network environment including an electronic device according to various embodiments of the present invention.
Figure 2 shows a block diagram of an electronic device according to various embodiments of the present invention.
3 is a block diagram of a program module in accordance with various embodiments of the present invention.
4A illustrates a camera module according to various embodiments of the present invention.
4B shows a first frontal structure of a camera module according to various embodiments of the present invention.
4C shows a second frontal structure of a camera module according to various embodiments of the present invention.
Figure 4d shows a third frontal structure of the camera module according to various embodiments of the present invention.
4E illustrates a fourth frontal view of a camera module according to various embodiments of the present invention.
Figure 4f illustrates a fifth frontal structure of a camera module according to various embodiments of the present invention.
Figure 4G shows a sixth frontal structure of a camera module according to various embodiments of the present invention.
Figure 4h illustrates a side view of a camera module according to various embodiments of the present invention.
Figure 5 illustrates schematically modules of an electronic device according to various embodiments of the present invention.
Figure 6 illustrates a functional block structure of an electronic device according to various embodiments of the present invention.
Figure 7 illustrates the rails of a camera module according to various embodiments of the present invention.
Figure 8 shows an image captured by a camera module with a plurality of cameras in accordance with various embodiments of the present invention.
9 is a diagram illustrating a parallax problem occurring after stitching of image frames in accordance with various embodiments of the present invention.
Figure 10 illustrates warping of lasers according to various embodiments of the present invention.
Figure 11 illustrates laps after warping in accordance with various embodiments of the present invention.
Figure 12 shows the location of a view point in accordance with various embodiments of the present invention.
Figure 13 illustrates a method of warping a ray based on depth values in accordance with various embodiments of the present invention.
Figure 14 illustrates a method of capturing an image using a virtual camera in accordance with various embodiments of the present invention.
FIG. 15 is a flow diagram illustrating a registration image generated using virtual cameras in accordance with various embodiments of the present invention.
16 is a flow chart for transforming an image based on warping in accordance with various embodiments of the present invention.
17 is a diagram for calculating the depth value of an image pixel in accordance with various embodiments of the present invention.
18 is a flow chart for performing camera calibration in accordance with various embodiments of the present invention.
Figure 19 is a flowchart of stitching image frames in accordance with various embodiments of the present invention.
Figure 20 shows an image matched in accordance with various embodiments of the present invention.
Figure 21 illustrates the relationship between elevation angles of cameras and distances of view of cameras according to various embodiments of the present invention.

이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다. 실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.Hereinafter, various embodiments of the present document will be described with reference to the accompanying drawings. It is to be understood that the embodiments and terminologies used herein are not intended to limit the invention to the particular embodiments described, but to include various modifications, equivalents, and / or alternatives of the embodiments. In connection with the description of the drawings, like reference numerals may be used for similar components. The singular expressions may include plural expressions unless the context clearly dictates otherwise. In this document, the expressions "A or B" or "at least one of A and / or B" and the like may include all possible combinations of the items listed together. Expressions such as " first, "" second," " first, "or" second, " But is not limited to those components. When it is mentioned that some (e.g., first) component is "(functionally or communicatively) connected" or "connected" to another (second) component, May be connected directly to the component, or may be connected through another component (e.g., a third component).

본 문서에서, "A 내지 B 하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "A 내지 B에 적합한," "A 내지 B 하는 능력을 가지는," "A 내지 B 하도록 변경된," "A 내지 B 하도록 만들어진," "A 내지 B 를 할 수 있는," 또는 "A 내지 B 하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "A 내지 B 하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "A 내지 B 할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다. In this document, the phrase "configured to A to B" may be used to designate an A to B capability, for example, hardware or software, Quot ;, "modified from A to B," " made from A to B, " In some circumstances, the expression "a device configured to perform an A to B" may mean that the device may be "A to B" with other devices or components. For example, a processor configured (or configured) to perform the phrases "A, B, and C" may be implemented by executing one or more software programs stored in a memory device or a dedicated processor (e.g., an embedded processor) , And a general purpose processor (e.g., a CPU or an application processor) capable of performing the corresponding operations.

본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.Electronic devices in accordance with various embodiments of the present document may be used in various applications such as, for example, smart phones, tablet PCs, mobile phones, videophones, electronic book readers, desktop PCs, laptop PCs, netbook computers, workstations, servers, PDAs, a portable multimedia player, an MP3 player, a medical device, a camera, or a wearable device. Wearable devices may be of the type of accessories (eg, watches, rings, bracelets, braces, necklaces, glasses, contact lenses or head-mounted-devices (HMD) (E.g., a skin-pads or tattoo), or a bio-implantable circuit. In some embodiments, the electronic device may be, for example, a television, a digital video disk (Such as Samsung HomeSyncTM, Apple TVTM, or Google TVTM), game consoles (such as air conditioners, refrigerators, air conditioners, vacuum cleaners, ovens, microwave ovens, washing machines, air purifiers, set top boxes, home automation control panels, E.g., Xbox (TM), PlayStation (TM)), electronic dictionary, electronic key, camcorder, or electronic frame.

다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다. 어떤 실시 예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다. In an alternative embodiment, the electronic device may be any of a variety of medical devices (e.g., various portable medical measurement devices such as a blood glucose meter, a heart rate meter, a blood pressure meter, or a body temperature meter), magnetic resonance angiography (MRA) A navigation system, a global navigation satellite system (GNSS), an event data recorder (EDR), a flight data recorder (FDR), an automobile infotainment device, a marine electronic equipment (For example, marine navigation systems, gyro compasses, etc.), avionics, security devices, head units for vehicles, industrial or domestic robots, drones, ATMs at financial institutions, of at least one of the following types of devices: a light bulb, a fire detector, a fire alarm, a thermostat, a streetlight, a toaster, a fitness device, a hot water tank, a heater, a boiler, . According to some embodiments, the electronic device may be a piece of furniture, a building / structure or part of an automobile, an electronic board, an electronic signature receiving device, a projector, or various measuring devices (e.g., Gas, or radio wave measuring instruments, etc.). In various embodiments, the electronic device is flexible or may be a combination of two or more of the various devices described above. The electronic device according to the embodiment of the present document is not limited to the above-described devices. In this document, the term user may refer to a person using an electronic device or a device using an electronic device (e.g., an artificial intelligence electronic device).

이하, 본 문서에서 사용되는 용어의 정의는 하기와 같다.Hereinafter, terms used in this document are defined as follows.

'관측 시야(field of view, FOV)'는 하나의 카메라가 관측할 수 있는 각도 범위를 의미한다. 각도 범위는 카메라의 광축을 기준으로 수평 방향의 각도 범위와 수직 방향의 각도 범위로 결정될 수 있다.'Field of view (FOV)' means a range of angles that one camera can observe. The angular range may be determined as an angular range in the horizontal direction and an angular range in the vertical direction with respect to the optical axis of the camera.

'이미지 프레임'이란 파노라마 이미지를 생성하기 위해 기본이 되는 이미지들을 의미한다. 다시 말해서, 복수 개의 이미지 프레임들이 정합되어 하나의 파노라마 이미지가 생성될 수 있다. 각각의 이미지 프레임들은 서로 다른 카메라를 통해 생성되거나, 하나의 카메라가 이동하면서 일정 시간 간격으로 캡쳐하는 것에 의해 생성될 수 있다. 복수 개의 이미지 프레임들 중 파노라마 이미지를 생성하기 위해 인접한 이미지 프레임들은 중복되는 오브젝트를 포함한다. 경우에 따라, 이미지 프레임은 '이미지', '기본 이미지', '로우(raw) 이미지' 등 다양하게 지칭될 수 있다.'Image frame' means images that are the basis for creating panoramic images. In other words, a plurality of image frames may be matched to produce a single panoramic image. Each image frame can be generated by different cameras or by capturing at a certain time interval while one camera is moving. Adjacent image frames to generate a panoramic image among a plurality of image frames include overlapping objects. In some cases, an image frame may be referred to variously as an 'image', a 'base image', a 'raw image', and the like.

'이미지 스티칭' 또는 '스티칭'이란 복수 개의 이미지 프레임들로부터 파노라마 이미지를 생성하기 위한 전반적인 동작을 의미한다. 예를 들어, 이미지 스티칭은 복수 개의 이미지 프레임들로부터 추출한 특징점들을 매칭(matching)하여 공통 영역이 중첩되도록 이미지 프레임들을 정렬하고, 정렬된 이미지 프레임들의 중첩 영역에서 경계를 결정하고, 결정된 경계를 기준으로 이미지에 대한 노출 및 색상 보상, 블렌딩 중 적어도 하나를 수행하는 것을 의미한다. 경우에 따라, 스티칭은 '결합', '합성', '조합', '정합' 등으로 다양하게 지칭될 수 있다.&Quot; Image stitching " or " stitching " refers to an overall operation for creating a panoramic image from a plurality of image frames. For example, image stitching may be performed by matching feature points extracted from a plurality of image frames to align the image frames so that the common areas overlap, determine boundaries in the overlapping areas of the aligned image frames, Exposure to the image, color compensation, blending, and so on. In some cases, stitching can be referred to variously as 'combination', 'synthesis', 'combination', 'match', and the like.

도 1을 참조하여, 다양한 실시 예에서의, 네트워크 환경(100) 내의 전자 장치(101)가 기재된다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 버스(110)는 구성요소들(110-170)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 또는 데이터)을 전달하는 회로를 포함할 수 있다. 프로세서(120)는, 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. Referring to Figure 1, in various embodiments, an electronic device 101 in a network environment 100 is described. The electronic device 101 may include a bus 110, a processor 120, a memory 130, an input / output interface 150, a display 160, and a communication interface 170. In some embodiments, the electronic device 101 may omit at least one of the components or additionally include other components. The bus 110 may include circuitry to connect the components 110-170 to one another and to communicate communications (e.g., control messages or data) between the components. Processor 120 may include one or more of a central processing unit, an application processor, or a communications processor (CP). The processor 120 may perform computations or data processing related to, for example, control and / or communication of at least one other component of the electronic device 101.

다양한 실시 예들에 따르면, 프로세서(120)는 이미지 프레임들을 ODS(omni-directional stereoscopic) 투영(projection)에 따라 변환할 수 있다. 또한, 프로세서(120)는 변환된 이미지 프레임들을 스티칭하여 파노라마 이미지를 생성할 수 있다.According to various embodiments, the processor 120 may convert image frames according to an omni-directional stereoscopic (ODS) projection. In addition, the processor 120 may stitch the transformed image frames to produce a panoramic image.

메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들면, 커널(141), 미들웨어(143), 어플리케이션 프로그래밍 인터페이스(API)(145), 및/또는 어플리케이션 프로그램(또는 "어플리케이션")(147) 등을 포함할 수 있다. 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템으로 지칭될 수 있다. 커널(141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(141)은 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147)에서 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다. Memory 130 may include volatile and / or non-volatile memory. Memory 130 may store instructions or data related to at least one other component of electronic device 101, for example. According to one embodiment, the memory 130 may store software and / or programs 140. The program 140 may include, for example, a kernel 141, a middleware 143, an application programming interface (API) 145, and / or an application program . At least some of the kernel 141, middleware 143, or API 145 may be referred to as an operating system. The kernel 141 may include system resources used to execute an operation or function implemented in other programs (e.g., middleware 143, API 145, or application program 147) (E.g., bus 110, processor 120, or memory 130). The kernel 141 also provides an interface to control or manage system resources by accessing individual components of the electronic device 101 in the middleware 143, API 145, or application program 147 .

다양한 실시 예들에 따르면, 메모리(130)는 이미지 프레임들을 저장할 수 있고, 이미지 프레임들로부터 생성된 파노라마 이미지를 저장할 수 있다. 또한, 메모리(130)는 이미지를 캡쳐하기 위해 카메라에 요구되는 파라미터들을 저장할 수 있다.According to various embodiments, the memory 130 may store image frames and may store panorama images generated from image frames. In addition, the memory 130 may store parameters required by the camera to capture an image.

미들웨어(143)는, 예를 들면, API(145) 또는 어플리케이션 프로그램(147)이 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(143)는 어플리케이션 프로그램(147)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(143)는 어플리케이션 프로그램(147) 중 적어도 하나에 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 부여하고, 상기 하나 이상의 작업 요청들을 처리할 수 있다. API(145)는 어플리케이션(147)이 커널(141) 또는 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. 입출력 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(101)의 다른 구성요소(들)에 전달하거나, 또는 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다. The middleware 143 can perform an intermediary role such that the API 145 or the application program 147 can communicate with the kernel 141 to exchange data. In addition, the middleware 143 may process one or more task requests received from the application program 147 according to the priority order. For example, middleware 143 may use system resources (e.g., bus 110, processor 120, or memory 130, etc.) of electronic device 101 in at least one of application programs 147 Prioritize, and process the one or more task requests. The API 145 is an interface for the application 147 to control the functions provided by the kernel 141 or the middleware 143. The API 145 is an interface for controlling the functions provided by the application 141. For example, An interface or a function (e.g., a command). Output interface 150 may be configured to communicate commands or data entered from a user or other external device to another component (s) of the electronic device 101, or to another component (s) of the electronic device 101 ) To the user or other external device.

디스플레이(160)는, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 및/또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. The display 160 may include a display such as, for example, a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, or a microelectromechanical system (MEMS) display, or an electronic paper display . Display 160 may display various content (e.g., text, images, video, icons, and / or symbols, etc.) to a user, for example. Display 160 may include a touch screen and may receive a touch, gesture, proximity, or hovering input using, for example, an electronic pen or a portion of the user's body.

다양한 실시 예들에 따르면, 디스플레이(160)는 복수의 이미지 프레임들이 스티칭되어 생성된 파노라마 이미지를 표시할 수 있다. According to various embodiments, the display 160 may display a panoramic image generated by stitching a plurality of image frames.

통신 인터페이스(170)는, 예를 들면, 전자 장치(101)와 외부 장치(예: 제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치(예: 제 2 외부 전자 장치(104) 또는 서버(106))와 통신할 수 있다.The communication interface 170 establishes communication between the electronic device 101 and an external device (e.g., the first external electronic device 102, the second external electronic device 104, or the server 106) . For example, communication interface 170 may be connected to network 162 via wireless or wired communication to communicate with an external device (e.g., second external electronic device 104 or server 106).

무선 통신은, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 한 실시 예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 상호 호환적으로 사용될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(162)는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.The wireless communication may include, for example, LTE, LTE-A (LTE Advance), code division multiple access (CDMA), wideband CDMA (WCDMA), universal mobile telecommunications system (UMTS), wireless broadband (WiBro) System for Mobile Communications), and the like. According to one embodiment, the wireless communication may be wireless communication, such as wireless fidelity (WiFi), Bluetooth, Bluetooth low power (BLE), Zigbee, NFC, Magnetic Secure Transmission, Frequency (RF), or body area network (BAN). According to one embodiment, the wireless communication may comprise a GNSS. GNSS may be, for example, Global Positioning System (GPS), Global Navigation Satellite System (Glonass), Beidou Navigation Satellite System (Beidou) or Galileo, the European global satellite-based navigation system. Hereinafter, in this document, "GPS" can be used interchangeably with "GNSS ". The wired communication may include, for example, at least one of a universal serial bus (USB), a high definition multimedia interface (HDMI), a recommended standard 232 (RS-232), a power line communication or a plain old telephone service have. Network 162 may include at least one of a telecommunications network, e.g., a computer network (e.g., LAN or WAN), the Internet, or a telephone network.

제 1 및 제 2 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102,104), 또는 서버(106)에서 실행될 수 있다. 한 실시 예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.Each of the first and second external electronic devices 102, 104 may be the same or a different kind of device as the electronic device 101. According to various embodiments, all or a portion of the operations performed in the electronic device 101 may be performed in one or more other electronic devices (e.g., electronic devices 102, 104, or server 106). According to the present invention, when electronic device 101 is to perform a function or service automatically or on demand, electronic device 101 may perform at least some functions associated therewith instead of, or in addition to, (E.g., electronic device 102, 104, or server 106) may request the other device (e.g., electronic device 102, 104, or server 106) Perform additional functions, and forward the results to the electronic device 101. The electronic device 101 may process the received results as is or additionally to provide the requested functionality or services. For example, Cloud computing, distributed computing, or client-server computing technology may be utilized.

도 2는 다양한 실시 예에 따른 전자 장치(201)의 블록도이다. 전자 장치(201)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 포함할 수 있다. 전자 장치(201)는 하나 이상의 프로세서(예: AP)(210), 통신 모듈(220), (가입자 식별 모듈(224), 메모리(230), 센서 모듈(240), 입력 장치(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298) 를 포함할 수 있다. 프로세서(210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시 예에 따르면, 프로세서(210)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서를 더 포함할 수 있다. 프로세서(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(221))를 포함할 수도 있다. 프로세서(210) 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드)하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.2 is a block diagram of an electronic device 201 according to various embodiments. The electronic device 201 may include all or part of the electronic device 101 shown in Fig. 1, for example. The electronic device 201 may include one or more processors (e.g., AP) 210, a communications module 220, a subscriber identification module 224, a memory 230, a sensor module 240, an input device 250, An interface 270, an audio module 280, a camera module 291, a power management module 295, a battery 296, an indicator 297, and a motor 298. The processor 290, The processor 210 may be, for example, an operating system or an application program to control a plurality of hardware or software components coupled to the processor 210, and to perform various data processing and operations. ) May be implemented, for example, as a system on chip (SoC). According to one embodiment, the processor 210 may further include a graphics processing unit (GPU) and / or an image signal processor. The cellular module 210 may include at least some of the components shown in Figure 2 (e.g., the cellular module 221) The processor 210 may load and process instructions or data received from at least one of the other components (e.g., non-volatile memory) into the volatile memory and store the resulting data in a non-volatile memory.

다양한 실시 예들에 따르면, 프로세서(210)는 이미지 프레임들을 ODS(omni-directional stereoscopic) 투영(projection)에 따라 변환할 수 있다. 또한, 프로세서(120)는 변환된 이미지 프레임들을 스티칭하여 파노라마 이미지를 생성할 수 있다.According to various embodiments, the processor 210 may convert image frames according to an omni-directional stereoscopic (ODS) projection. In addition, the processor 120 may stitch the transformed image frames to produce a panoramic image.

통신 모듈(220)(예: 통신 인터페이스(170))와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(220)은, 예를 들면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227), NFC 모듈(228) 및 RF 모듈(229)를 포함할 수 있다. 셀룰러 모듈(221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(221)은 가입자 식별 모듈(예: SIM 카드)(224)을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(221)은 프로세서(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈(221)은 커뮤니케이션 프로세서(CP)를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. RF 모듈(229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(229)은, 예를 들면, 트랜시버, PAM(power amp module), 주파수 필터, LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다. 가입자 식별 모듈(224)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 또는 임베디드 SIM을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다. May have the same or similar configuration as communication module 220 (e.g., communication interface 170). The communication module 220 may include, for example, a cellular module 221, a WiFi module 223, a Bluetooth module 225, a GNSS module 227, an NFC module 228 and an RF module 229 have. The cellular module 221 can provide voice calls, video calls, text services, or Internet services, for example, over a communication network. According to one embodiment, the cellular module 221 may utilize a subscriber identity module (e.g., a SIM card) 224 to perform the identification and authentication of the electronic device 201 within the communication network. According to one embodiment, the cellular module 221 may perform at least some of the functions that the processor 210 may provide. According to one embodiment, the cellular module 221 may comprise a communications processor (CP). At least some (e.g., two or more) of the cellular module 221, the WiFi module 223, the Bluetooth module 225, the GNSS module 227, or the NFC module 228, according to some embodiments, (IC) or an IC package. The RF module 229 can, for example, send and receive communication signals (e.g., RF signals). The RF module 229 may include, for example, a transceiver, a power amplifier module (PAM), a frequency filter, a low noise amplifier (LNA), or an antenna. According to another embodiment, at least one of the cellular module 221, the WiFi module 223, the Bluetooth module 225, the GNSS module 227, or the NFC module 228 transmits / receives an RF signal through a separate RF module . The subscriber identification module 224 may include, for example, a card or an embedded SIM containing a subscriber identity module, and may include unique identification information (e.g., ICCID) or subscriber information (e.g., IMSI (international mobile subscriber identity).

메모리(230)(예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나를 포함할 수 있다. 외장 메모리(234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 또는 물리적으로 연결될 수 있다.Memory 230 (e.g., memory 130) may include, for example, internal memory 232 or external memory 234. Volatile memory (e.g., a DRAM, an SRAM, or an SDRAM), a non-volatile memory (e.g., an OTPROM, a PROM, an EPROM, an EEPROM, a mask ROM, a flash ROM , A flash memory, a hard drive, or a solid state drive (SSD). The external memory 234 may be a flash drive, for example, a compact flash (CF) ), Micro-SD, Mini-SD, extreme digital (xD), multi-media card (MMC), or memory stick, etc. External memory 234 may communicate with electronic device 201, Or may be physically connected.

다양한 실시 예들에 따르면, 메모리(230)는 이미지 프레임들을 저장할 수 있고, 이미지 프레임들로부터 생성된 파노라마 이미지를 저장할 수 있다. 또한, 메모리(230)는 이미지를 캡쳐하기 위해 카메라에 요구되는 파라미터들을 저장할 수 있다.According to various embodiments, the memory 230 may store image frames and may store a panorama image generated from the image frames. In addition, the memory 230 may store parameters required by the camera to capture an image.

센서 모듈(240)은, 예를 들면, 물리량을 계측하거나 전자 장치(201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), 컬러(color) 센서(240H)(예: RGB(red, green, blue) 센서), 생체 센서(240I), 온/습도 센서(240J), 조도 센서(240K), 또는 UV(ultra violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈(240)은, 예를 들면, 후각(e-nose) 센서, 일렉트로마이오그라피(EMG) 센서, 일렉트로엔씨팔로그램(EEG) 센서, 일렉트로카디오그램(ECG) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치(201)는 프로세서(210)의 일부로서 또는 별도로, 센서 모듈(240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(240)을 제어할 수 있다.The sensor module 240 may, for example, measure a physical quantity or sense the operating state of the electronic device 201 to convert the measured or sensed information into an electrical signal. The sensor module 240 includes a gesture sensor 240A, a gyro sensor 240B, an air pressure sensor 240C, a magnetic sensor 240D, an acceleration sensor 240E, a grip sensor 240F, A temperature sensor 240G, a UV sensor 240G, a color sensor 240H (e.g., an RGB (red, green, blue) sensor), a living body sensor 240I, And a sensor 240M. Additionally or alternatively, the sensor module 240 may be configured to perform various functions such as, for example, an e-nose sensor, an electromyography (EMG) sensor, an electroencephalograph (EEG) sensor, an electrocardiogram An infrared (IR) sensor, an iris sensor, and / or a fingerprint sensor. The sensor module 240 may further include a control circuit for controlling at least one or more sensors belonging to the sensor module 240. In some embodiments, the electronic device 201 further includes a processor configured to control the sensor module 240, either as part of the processor 210 or separately, so that while the processor 210 is in a sleep state, The sensor module 240 can be controlled.

입력 장치(250)는, 예를 들면, 터치 패널(252), (디지털) 펜 센서(254), 키(256), 또는 초음파 입력 장치(258)를 포함할 수 있다. 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서(254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키(256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(258)는 마이크(예: 마이크(288))를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.The input device 250 may include, for example, a touch panel 252, a (digital) pen sensor 254, a key 256, or an ultrasonic input device 258. As the touch panel 252, for example, at least one of an electrostatic type, a pressure sensitive type, an infrared type, and an ultrasonic type can be used. Further, the touch panel 252 may further include a control circuit. The touch panel 252 may further include a tactile layer to provide a tactile response to the user. (Digital) pen sensor 254 may be part of, for example, a touch panel or may include a separate recognition sheet. Key 256 may include, for example, a physical button, an optical key, or a keypad. The ultrasonic input device 258 can sense the ultrasonic wave generated by the input tool through the microphone (e.g., the microphone 288) and confirm the data corresponding to the ultrasonic wave detected.

디스플레이(260)(예: 디스플레이(160))는 패널(262), 홀로그램 장치(264), 프로젝터(266), 및/또는 이들을 제어하기 위한 제어 회로를 포함할 수 있다. 패널(262)은, 예를 들면, 유연하게, 투명하게, 또는 착용할 수 있게 구현될 수 있다. 패널(262)은 터치 패널(252)과 하나 이상의 모듈로 구성될 수 있다. 한 실시 예에 따르면, 패널(262)은 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(또는 포스 센서)를 포함할 수 있다. 상기 압력 센서는 터치 패널(252)과 일체형으로 구현되거나, 또는 터치 패널(252)과는 별도의 하나 이상의 센서로 구현될 수 있다. 홀로그램 장치(264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(201)의 내부 또는 외부에 위치할 수 있다. Display 260 (e.g., display 160) may include panel 262, hologram device 264, projector 266, and / or control circuitry for controlling them. The panel 262 may be embodied, for example, flexibly, transparently, or wearably. The panel 262 may comprise a touch panel 252 and one or more modules. According to one embodiment, the panel 262 may include a pressure sensor (or force sensor) capable of measuring the intensity of the pressure on the user's touch. The pressure sensor may be integrated with the touch panel 252 or may be implemented by one or more sensors separate from the touch panel 252. The hologram device 264 can display a stereoscopic image in the air using interference of light. The projector 266 can display an image by projecting light onto a screen. The screen may be located, for example, inside or outside the electronic device 201.

다양한 실시 예들에 따르면, 디스플레이(260)는 복수의 이미지 프레임들이 스티칭되어 생성된 파노라마 이미지를 표시할 수 있다.According to various embodiments, the display 260 may display a panoramic image generated by stitching a plurality of image frames.

인터페이스(270)는, 예를 들면, HDMI(272), USB(274), 광 인터페이스(optical interface)(276), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 인터페이스(270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스(270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다. The interface 270 may include, for example, an HDMI 272, a USB 274, an optical interface 276, or a D-sub (D-subminiature) 278. The interface 270 may, for example, be included in the communication interface 170 shown in FIG. Additionally or alternatively, the interface 270 may include, for example, a mobile high-definition link (MHL) interface, an SD card / multi-media card (MMC) interface, or an infrared data association have.

오디오 모듈(280)은, 예를 들면, 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(145)에 포함될 수 있다. 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. 카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다. The audio module 280 can, for example, convert sound and electrical signals in both directions. At least some of the components of the audio module 280 may be included, for example, in the input / output interface 145 shown in FIG. The audio module 280 may process sound information input or output through, for example, a speaker 282, a receiver 284, an earphone 286, a microphone 288, or the like. The camera module 291 is, for example, a device capable of capturing still images and moving images, and according to one embodiment, one or more image sensors (e.g., a front sensor or a rear sensor), a lens, an image signal processor (ISP) , Or flash (e.g., an LED or xenon lamp, etc.).

다양한 실시 예들에 따르면, 카메라 모듈(2910)은 파노라마 이미지를 생성하기 위해 기초가 되는 이미지 프레임들을 캡쳐할 수 있다.According to various embodiments, camera module 2910 may capture image frames that are the basis for generating a panoramic image.

전력 관리 모듈(295)은, 예를 들면, 전자 장치(201)의 전력을 관리할 수 있다. 한 실시 예에 따르면, 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC, 또는 배터리 또는 연료 게이지를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(296)는, 예를 들면, 충전식 전지 및/또는 태양 전지를 포함할 수 있다. The power management module 295 can, for example, manage the power of the electronic device 201. [ According to one embodiment, the power management module 295 may include a power management integrated circuit (PMIC), a charging IC, or a battery or fuel gauge. The PMIC may have a wired and / or wireless charging scheme. The wireless charging scheme may include, for example, a magnetic resonance scheme, a magnetic induction scheme, or an electromagnetic wave scheme, and may further include an additional circuit for wireless charging, for example, a coil loop, a resonant circuit, have. The battery gauge can measure, for example, the remaining amount of the battery 296, the voltage during charging, the current, or the temperature. The battery 296 may include, for example, a rechargeable battery and / or a solar cell.

인디케이터(297)는 전자 장치(201) 또는 그 일부(예: 프로세서(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동, 또는 햅틱 효과 등을 발생시킬 수 있다. 전자 장치(201)는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있는 모바일 TV 지원 장치(예: GPU)를 포함할 수 있다. 본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치(예: 전자 장치(201))는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함하거나, 또는, 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.The indicator 297 may indicate a particular state of the electronic device 201 or a portion thereof (e.g., processor 210), e.g., a boot state, a message state, or a state of charge. The motor 298 can convert the electrical signal to mechanical vibration, and can generate vibration, haptic effects, and the like. The electronic device 201 is a mobile TV support device capable of processing media data conforming to specifications such as digital multimedia broadcasting (DMB), digital video broadcasting (DVB), or media flow (TM) GPU). Each of the components described in this document may be composed of one or more components, and the name of the component may be changed according to the type of the electronic device. In various embodiments, an electronic device (e. G., Electronic device 201) may have some components omitted, further include additional components, or some of the components may be combined into one entity, The functions of the preceding components can be performed in the same manner.

도 3은 다양한 실시 예에 따른 프로그램 모듈의 블록도이다. 한 실시 예에 따르면, 프로그램 모듈(310)(예: 프로그램(140))은 전자 장치(예: 전자 장치(101))에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 도 3을 참조하면, 프로그램 모듈(310)은 커널(320)(예: 커널(141)), 미들웨어(330)(예: 미들웨어(143)), (API(360)(예: API(145)), 및/또는 어플리케이션(370)(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 전자 장치 상에 프리로드 되거나, 외부 전자 장치(예: 전자 장치(102, 104), 서버(106) 등)로부터 다운로드 가능하다.3 is a block diagram of a program module according to various embodiments. According to one embodiment, program module 310 (e.g., program 140) includes an operating system that controls resources associated with an electronic device (e.g., electronic device 101) and / E.g., an application program 147). The operating system may include, for example, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, or BadaTM. 3, program module 310 includes a kernel 320 (e.g., kernel 141), middleware 330 (e.g., middleware 143), API 360 (e.g., API 145) ), And / or an application 370 (e.g., an application program 147). At least a portion of the program module 310 may be preloaded on an electronic device, 102 and 104, a server 106, and the like).

커널(320)은, 예를 들면, 시스템 리소스 매니저(321) 및/또는 디바이스 드라이버(323)를 포함할 수 있다. 시스템 리소스 매니저(321)는 시스템 리소스의 제어, 할당, 또는 회수를 수행할 수 있다. 한 실시 예에 따르면, 시스템 리소스 매니저(321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부를 포함할 수 있다. 디바이스 드라이버(323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다. 미들웨어(330)는, 예를 들면, 어플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API(360)를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 한 실시 예에 따르면, 미들웨어(330) 는 런타임 라이브러리(335), 어플리케이션 매니저(341), 윈도우 매니저(342), 멀티미디어 매니저(343), 리소스 매니저(344), 파워 매니저(345), 데이터베이스 매니저(346), 패키지 매니저(347), 커넥티비티 매니저(348), 노티피케이션 매니저(349), 로케이션 매니저(350), 그래픽 매니저(351), 또는 시큐리티 매니저(352) 중 적어도 하나를 포함할 수 있다.The kernel 320 may include, for example, a system resource manager 321 and / or a device driver 323. The system resource manager 321 can perform control, allocation, or recovery of system resources. According to one embodiment, the system resource manager 321 may include a process manager, a memory manager, or a file system manager. The device driver 323 may include, for example, a display driver, a camera driver, a Bluetooth driver, a shared memory driver, a USB driver, a keypad driver, a WiFi driver, an audio driver, or an inter-process communication . The middleware 330 may provide various functions through the API 360, for example, to provide functions that are commonly needed by the application 370 or allow the application 370 to use limited system resources within the electronic device. Application 370 as shown in FIG. According to one embodiment, the middleware 330 includes a runtime library 335, an application manager 341, a window manager 342, a multimedia manager 343, a resource manager 344, a power manager 345, a database manager The location manager 350, the graphic manager 351, or the security manager 352. In this case, the service manager 341 may be a service manager, a service manager, a service manager, a package manager 346, a package manager 347, a connectivity manager 348, a notification manager 349,

런타임 라이브러리(335)는, 예를 들면, 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(335)는 입출력 관리, 메모리 관리, 또는 산술 함수 처리를 수행할 수 있다. 어플리케이션 매니저(341)는, 예를 들면, 어플리케이션(370)의 생명 주기를 관리할 수 있다. 윈도우 매니저(342)는 화면에서 사용되는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(343)는 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(344)는 어플리케이션(370)의 소스 코드 또는 메모리의 공간을 관리할 수 있다. 파워 매니저(345)는, 예를 들면, 배터리의 용량 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보를 제공할 수 있다. 한 실시 예에 따르면, 파워 매니저(345)는 바이오스(BIOS: basic input/output system)와 연동할 수 있다. 데이터베이스 매니저(346)는, 예를 들면, 어플리케이션(370)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다. The runtime library 335 may include, for example, a library module that the compiler uses to add new functionality via a programming language while the application 370 is executing. The runtime library 335 may perform input / output management, memory management, or arithmetic function processing. The application manager 341 can manage the life cycle of the application 370, for example. The window manager 342 can manage GUI resources used in the screen. The multimedia manager 343 can recognize the format required for reproducing the media files and can perform encoding or decoding of the media file using a codec according to the format. The resource manager 344 can manage the source code of the application 370 or the space of the memory. The power manager 345 may, for example, manage the capacity or power of the battery and provide the power information necessary for operation of the electronic device. According to one embodiment, the power manager 345 may interoperate with a basic input / output system (BIOS). The database manager 346 may create, retrieve, or modify the database to be used in the application 370, for example. The package manager 347 can manage installation or update of an application distributed in the form of a package file.

커넥티비티 매니저(348)는, 예를 들면, 무선 연결을 관리할 수 있다. 노티피케이션 매니저(349)는, 예를 들면, 도착 메시지, 약속, 근접성 알림 등의 이벤트를 사용자에게 제공할 수 있다. 로케이션 매니저(350)는, 예를 들면, 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(351)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(352)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 한 실시 예에 따르면, 미들웨어(330)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화(telephony) 매니저 또는 전술된 구성요소들의 기능들의 조합을 형성할 수 있는 하는 미들웨어 모듈을 포함할 수 있다. 한 실시 예에 따르면, 미들웨어(330)는 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. API(360)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.The connectivity manager 348 may, for example, manage the wireless connection. The notification manager 349 may provide the user with an event such as, for example, an arrival message, an appointment, a proximity notification, and the like. The location manager 350 can manage the location information of the electronic device, for example. The graphic manager 351 may, for example, manage the graphical effects to be presented to the user or a user interface associated therewith. Security manager 352 may provide, for example, system security or user authentication. According to one embodiment, the middleware 330 may include a telephony manager for managing the voice or video call function of the electronic device, or a middleware module capable of forming a combination of the functions of the above-described components . According to one embodiment, the middleware 330 may provide a module specialized for each type of operating system. Middleware 330 may dynamically delete some existing components or add new ones. The API 360 may be provided in a different configuration depending on the operating system, for example, as a set of API programming functions. For example, for Android or iOS, you can provide a single API set for each platform, and for Tizen, you can provide two or more API sets for each platform.

어플리케이션(370)은, 예를 들면, 홈(371), 다이얼러(372), SMS/MMS(373), IM(instant message)(374), 브라우저(375), 카메라(376), 알람(377), 컨택트(378), 음성 다이얼(379), 이메일(380), 달력(381), 미디어 플레이어(382), 앨범(383), 와치(384), 헬스 케어(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(예: 기압, 습도, 또는 온도 정보) 제공 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션(370)은 전자 장치와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. 예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션에서 발생된 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 또는 외부 전자 장치에서 동작하는 어플리케이션을 설치, 삭제, 또는 갱신할 수 있다. 한 실시 예에 따르면, 어플리케이션(370)은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션(370)은 외부 전자 장치로부터 수신된 어플리케이션을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어(예: 프로세서(210)), 또는 이들 중 적어도 둘 이상의 조합으로 구현(예: 실행)될 수 있으며, 하나 이상의 기능을 수행하기 위한 모듈, 프로그램, 루틴, 명령어 세트 또는 프로세스를 포함할 수 있다.The application 370 may include a home 371, a dialer 372, an SMS / MMS 373, an instant message 374, a browser 375, a camera 376, an alarm 377, Contact 378, voice dial 379, email 380, calendar 381, media player 382, album 383, watch 384, healthcare (e.g., measuring exercise or blood glucose) , Or environmental information (e.g., air pressure, humidity, or temperature information) application. According to one embodiment, the application 370 may include an information exchange application capable of supporting the exchange of information between the electronic device and the external electronic device. The information exchange application may include, for example, a notification relay application for communicating specific information to an external electronic device, or a device management application for managing an external electronic device. For example, the notification delivery application can transmit notification information generated in another application of the electronic device to the external electronic device, or receive notification information from the external electronic device and provide the notification information to the user. The device management application may, for example, control the turn-on / turn-off or brightness (or resolution) of an external electronic device in communication with the electronic device (e.g., the external electronic device itself Control), or install, delete, or update an application running on an external electronic device. According to one embodiment, the application 370 may include an application (e.g., a healthcare application of a mobile medical device) designated according to the attributes of the external electronic device. According to one embodiment, the application 370 may include an application received from an external electronic device. At least some of the program modules 310 may be implemented (e.g., executed) in software, firmware, hardware (e.g., processor 210), or a combination of at least two of the same, Program, routine, instruction set or process.

본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다. 다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예:메모리(130))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다. As used herein, the term "module " includes units comprised of hardware, software, or firmware and may be used interchangeably with terms such as, for example, logic, logic blocks, components, or circuits. A "module" may be an integrally constructed component or a minimum unit or part thereof that performs one or more functions. "Module" may be implemented either mechanically or electronically, for example, by application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs) And may include programmable logic devices. At least some of the devices (e.g., modules or functions thereof) or methods (e.g., operations) according to various embodiments may be stored in a computer readable storage medium (e.g., memory 130) . ≪ / RTI > When the instruction is executed by a processor (e.g., processor 120), the processor may perform a function corresponding to the instruction. The computer-readable recording medium may be a hard disk, a floppy disk, a magnetic medium such as a magnetic tape, an optical recording medium such as a CD-ROM, a DVD, a magnetic-optical medium such as a floppy disk, The instructions may include code that is generated by the compiler or code that may be executed by the interpreter. Modules or program modules according to various embodiments may include at least one or more of the components described above Operations that are performed by modules, program modules, or other components, in accordance with various embodiments, may be performed in a sequential, parallel, iterative, or heuristic manner, or at least in part Some operations may be executed in a different order, omitted, or other operations may be added.

본 발명의 다양한 실시 예들에 따라 파노라마 이미지가 생성될 수 있다. 파노라마 이미지를 생성하기 위해 적어도 하나의 이미지 프레임을 생성하기 위한 장치가 필요하다. 적어도 하나의 이미지 프레임을 생성하기 위한 장치는 적어도 하나의 카메라를 포함하며, 바람직하게는 둘 이상의 카메라들을 포함한다. 적어도 하나의 이미지 프레임을 생성하기 위한 장치의 일 예가 이하 도 4a 내지 도 4h를 참고하여 설명된다.A panoramic image may be generated in accordance with various embodiments of the present invention. What is needed is an apparatus for generating at least one image frame to generate a panoramic image. The apparatus for generating at least one image frame comprises at least one camera, and preferably comprises two or more cameras. One example of an apparatus for generating at least one image frame will now be described with reference to Figures 4A to 4H.

도 4a는 본 발명의 다양한 실시 예들에 따른 카메라 모듈(410)을 도시한다. 4A illustrates a camera module 410 in accordance with various embodiments of the present invention.

도 4a에 따르면, 카메라 모듈(410)은 측면에 배치된 복수의 카메라들(430-1, 430-2, 430-3, 430-4) 및 윗면에 배치된 하나의 카메라(420)을 포함한다. 도시되지 아니하였으나, 카메라 모듈(410)은 측면에 복수의 카메라들(430-1, 430-2, 430-3, 430-4) 이외의 추가적인 카메라를 더 포함할 수 있다. 또한, 도 4a에 도시된 카메라들의 배치 및 개수는 예시적인 것이고, 카메라 모듈은 다른 배치 및 다른 수의 카메라들을 포함할 수 있다. 각각의 카메라들은 자신의 FOV 이내에서 입사되는 레이(ray)를 이미지 센서로 인식하고, 이미지 프레임을 생성할 수 있다. 카메라 모듈(410)의 세부 구조는 도 4b 내지 4g 및 도 4h에 도시된 바와 같으며, 카메라 모듈(410)은 반지름이 R이고 높이가 2h인 원기둥 형태로 근사 될(approximated) 수 있다. 본 발명의 다양한 실시 예에 따라, 카메라 모듈(410)의 높이는 편의를 위해 실제 높이(2h)가 아닌 h로 간주될 수 있다.4A, the camera module 410 includes a plurality of cameras 430-1, 430-2, 430-3, and 430-4 disposed on the side and a camera 420 disposed on the upper surface thereof . Although not shown, the camera module 410 may further include additional cameras other than the plurality of cameras 430-1, 430-2, 430-3, and 430-4. In addition, the arrangement and number of cameras shown in FIG. 4A are exemplary, and the camera module may include other arrangements and a different number of cameras. Each camera recognizes a ray incident within its FOV as an image sensor and can generate an image frame. The detailed structure of the camera module 410 is as shown in Figs. 4B to 4G and 4H, and the camera module 410 may be approximated as a cylinder having a radius of R and a height of 2h. According to various embodiments of the present invention, the height of the camera module 410 may be regarded as h rather than actual height 2h for convenience.

도 4b는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제1 정면 구조를 도시한다. 도 4b에서는 카메라들(430-1, 430-2, 430-3, 430-4)를 포함하여 카메라 모듈(410)의 측면 카메라들이 도시되어 있다. 예시적으로, 도 4b에 따르면 카메라 모듈(410)은 16개의 측면 카메라들을 포함한다. 16개의 측면 카메라들은 8개의 좌측 카메라들(left cameras) L1, L2, ..., L8 및 8개의 우측 카메라들(right cameras) R1, R2, ..., R8을 포함할 수 있다. 각각의 8개의 좌측 카메라들 L1 내지 L8은 입체적인 이미지를 생성하기 위해 각각의 8개의 우측 카메라들 R1 내지 R8에 대응된다. 즉, 입체 파노라마 이미지 중 좌측 파노라마 이미지는 좌측 카메라들 L1 내지 L8에 의해 캡쳐된 이미지 프레임들로부터 생성되고, 우측 파노라마 이미지는 우측 카메라들 R1 내지 R8에 의해 캡쳐된 이미지 프레임들로부터 생성된다. 각각의 좌측 카메라들 및 우측 카메라들에서 동일한 번호로 표기된 카메라들의 쌍은 대응되는 카메라들을 나타낸다. 이하, 본 개시에서 대응되는 카메라들의 쌍을 '입체 쌍(stereo pair)'이라 정의한다. 따라서, 도 4b에 따른 카메라 모듈(410)은 8개의 입체 쌍 카메라들을 구비한다. 일 예로서, 카메라 L-1(430-4)는 카메라 R2(430-1)과 입체 쌍을 구성하며, 입체 쌍을 구성하는 카메라들은 광축이 평행하도록 동일 평면 상에 배치된다. 4B shows a first frontal structure of a camera module according to various embodiments of the present invention. 4B illustrates the side cameras of the camera module 410 including the cameras 430-1, 430-2, 430-3, and 430-4. Illustratively, according to FIG. 4B, the camera module 410 includes 16 side cameras. The sixteen side cameras include eight left cameras L 1 , L 2 , ..., L 8 and eight right cameras R 1 , R 2 , ..., R 8 can do. Each of the eight left cameras L 1 through L 8 corresponds to each of the eight right cameras R 1 through R 8 to produce a stereoscopic image. That is, the left panoramic image of the stereoscopic panoramic image is generated from the image frames captured by the left cameras L 1 to L 8 , and the right panoramic image is generated from the image frames captured by the right cameras R 1 to R 8 do. The pair of cameras marked with the same number in each of the left and right cameras represents the corresponding cameras. Hereinafter, the pair of corresponding cameras in this disclosure is defined as a 'stereo pair'. Accordingly, the camera module 410 according to FIG. 4B has eight stereo pair cameras. For example, the camera L- 1 430-4 constitutes a stereoscopic pair with the camera R 2 430-1, and the cameras constituting the stereoscopic pair are disposed on the same plane such that the optical axes thereof are parallel.

도시된 것처럼, 카메라 L1(430-4)과 카메라 R1(430-1)은 동일한 물체에서 반사된 광선을 캡쳐할 수 있다. 이 때, 카메라 L1(430-4)과 카메라 R1(430-1)은 서로 다른 곳에 위치하므로, 물체를 기준으로 카메라 L1(430-4)과 카메라 R1(430-1)의 중심이 이루는 화각 차(dispairity)가 발생하게 된다. 사람의 양안 차에 의해 물체의 원근이 식별되는 것과 같이, 카메라 L1(430-4)과 카메라 R1(430-1)의 화각 차에 기반하여 생성된 이미지 프레임들로부터 물체의 원근이 식별될 수 있다. 다시 말해서, 입체 쌍을 구성하는 카메라들은 물체의 원근이 식별될 수 있는 이미지 프레임들을 생성할 수 있으며, 물체의 원근에 기반하여 입체 영상을 생성할 수 있다. 일 예로서, 카메라 L1(430-4)이 캡쳐한 이미지가 사용자의 좌측 눈을 통해 식별되도록 디스플레이되고, 카메라 R1(430-1)이 캡쳐한 대응되는 이미지가 사용자의 우측 눈을 통해 식별되도록 디스플레이될 경우, 사용자는 입체 영상을 감상할 수 있다.As shown, camera L 1 430-4 and camera R 1 430-1 can capture light rays reflected from the same object. At this time, since the camera L 1 (430-4) and the camera R 1 (430-1) are located at different places, the center of the camera L 1 (430-4) and the camera R 1 And the dispairity of the image is generated. The perspective of the object is identified from the image frames generated based on the angle of view difference between the camera L 1 430-4 and the camera R 1 430-1 such that the perspective of the object is identified by the person's binocular . In other words, the cameras forming the stereopair can generate image frames in which the perspective of the object can be identified, and can generate a stereoscopic image based on the perspective of the object. As an example, an image captured by the camera L 1 430-4 is displayed to be identified through the user's left eye, and a corresponding image captured by the camera R 1 430-1 is identified through the user's right eye When displayed, the user can enjoy the stereoscopic image.

카메라들 L1 내지 L8은 도 4b에 도시된 것과 같이 카메라 모듈(410)의 중심을 기준으로 원형으로 배치되었다. 따라서, 카메라들 L1 내지 L8은 카메라 모듈(410)을 기준으로 모든 방향에서 반사되는 광선을 캡쳐할 수 있고, 카메라들 L1 내지 L8로부터 생성된 이미지 프레임들은 스티칭되어 360도 파노라마 이미지를 생성할 수 있다. 카메라들 R1 내지 R8들 또한, 카메라 모듈(410)을 기준으로 모든 방향에서 반사되는 광선을 캡쳐할 수 있고, 카메라들 R1 내지 R8로부터 생성된 이미지 프레임들을 스티칭되어 360도 파노라마 이미지를 생성할 수 있다. 이하, 좌측 카메라들 L1 내지 L8로부터 생성된 360도 파노라마를 '좌측 파노라마'로, 우측 카메라들 R1 내지 R8로부터 생성된 360도 파노라마를 '우측 파노라마'로 정의한다.The cameras L 1 to L 8 are arranged in a circle with respect to the center of the camera module 410 as shown in FIG. 4B. Accordingly, the cameras L 1 through L 8 can capture light rays reflected from all directions with respect to the camera module 410, and the image frames generated from the cameras L 1 through L 8 are stitched to produce a 360-degree panoramic image Can be generated. Cameras R 1 through R 8 can also capture light rays that are reflected in all directions with respect to the camera module 410, The image frames generated from R 1 through R 8 may be stitched to produce a 360 degree panoramic image. Hereinafter, a 360-degree panorama generated from the left cameras L 1 to L 8 is defined as a 'left panorama', and a 360-degree panorama generated from the right cameras R 1 to R 8 is defined as a right panorama.

카메라들 L1 내지 L8 및 R1 내지 R8에서, 입체 쌍을 구성하는 카메라들은 동일한 평면에서 일정한 거리를 두고 배치된다. 예를 들어, 각각의 카메라들 L1 내지 L8 및 R1 내지 R8, 카메라 모듈(410)의 윗면에는 카메라(420)가 배치된다. In the cameras L 1 to L 8 and R 1 to R 8 , the cameras constituting the stereopair are arranged at a constant distance in the same plane. For example, a camera 420 is disposed on the upper surface of each of the cameras L 1 to L 8 and R 1 to R 8 and the camera module 410.

카메라 모듈(410)에 배치된 측면 카메라들(L1 내지 L8, R1 내지 R8) 수평 방향으로 입사되는 모든 방향의 광선을 캡쳐할 수 있다. 그러나, 수직 방향에 대해서는 FOV의 제한으로 인해 측면 카메라들이 캡쳐할 수 없는 영역이 존재한다. 따라서, 측면 카메라들로부터 캡쳐된 이미지 프레임들로부터 생성된 360도 파노라마 이미지는 측면 카메라의 FOV를 벗어나는 영역은 커버하지 못한다. 이와 같이, 윗면에 배치된 카메라(420)는 측면 카메라들이 캡쳐할 수 없는 수직 방향의 영역을 커버하기 위해 배치되었다. 도 4h에 따르면, 카메라(420)은 카메라 중심으로부터 h 만큼 떨어진 곳에 배치되었다. 또한, 각 측면 카메라에서 중심간 거리(R)는 9.1cm일 수 있다. 또한, 각각의 카메라 L1 내지 L8 및 R1 내지 R8은 카메라 모듈의 중심으로부터 카메라의 중심 방향(이하, 중심선(radial line) 방향이라 한다)에서 광축이 일정한 각도(α)를 이루도록 회전되었다. 구체적으로, 각각의 좌측 카메라 L1 내지 L8은 중심선 방향에서 광축이 시계 방향으로 각도 α 만큼 회전되었고, 각각의 우측 카메라 R1 내지 R8은 중심선 방향에서 광축이 시계 반대 방향으로 α만큼 회전되었다. 일 예로서, α=33.75˚일 수 있다. 그러나, 상술한 카메라 모듈(410)의 파라미터들 R 및 α의 값은 예시적인 것이고, 카메라 모듈(410)은 다른 값의 파라미터를 가질 수 있다.Side cameras (L 1 to L 8 , R 1 to R 8 ) disposed in the camera module 410 can capture light rays in all directions incident in the horizontal direction. However, for the vertical direction, there is an area that side cameras can not capture due to the limitation of the FOV. Thus, the 360 degree panoramic image generated from the image frames captured from the side cameras does not cover the area beyond the FOV of the side camera. As such, the camera 420 disposed on the top surface is arranged to cover an area in the vertical direction that the side cameras can not capture. According to Fig. 4H, the camera 420 is disposed at a distance h from the camera center. Also, the center-to-center distance R in each side camera may be 9.1 cm. Each of the cameras L 1 to L 8 and R 1 to R 8 is rotated such that the optical axis is at a constant angle? In the direction of the center of the camera from the center of the camera module (hereinafter referred to as a radial line direction) . Specifically, each of the left cameras L 1 to L 8 has its optical axis rotated clockwise by an angle? In the direction of the center line, and each right camera R 1 through R 8 has its optical axis rotated by a in the counterclockwise direction in the direction of the center line . As an example,? = 33.75 ?. However, the values of the parameters R and alpha of the camera module 410 described above are exemplary, and the camera module 410 may have other values of parameters.

도 4b에 도시된 카메라 모듈(410)의 구성은 예시적인 것이고, 카메라 모듈(410)은 도 4b에 도시된 것과 다른 구성을 가질 수 있다. 도 4b에 따르면, 카메라 모듈(410)은 8개의 좌측 카메라들(L1, L2, ..., L8 ) 및 8개의 우측 카메라들(R1, R2, ..., R8)을 포함하나, 이는 예시적인 것이고, 카메라 모듈(410)는 다양한 수의 측면 카메라들을 포함할 수 있다. 다양한 수의 측면 카메라들을 포함하는 카메라 모듈(410)의 구성은 도 4c 내지 4g에 예시적으로 도시되었다. The configuration of the camera module 410 shown in FIG. 4B is exemplary, and the camera module 410 may have a configuration different from that shown in FIG. 4B. 4B, the camera module 410 includes eight left cameras L 1 , L 2 , ..., L 8 and eight right cameras R 1 , R 2 , ..., R 8 , But this is exemplary and the camera module 410 may include various numbers of side cameras. The configuration of the camera module 410 including the various numbers of side cameras is illustratively shown in Figures 4C-4G.

다양한 실시 예들에 따른 카메라 모듈(410)의 구성은, 도 4c에 도시된 것과 같이 4개의 측면 카메라들을 포함할 수 있다. 도 4c는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제2 정면 구조를 도시한다. 도 4c에 따르면, 4개의 측면 카메라들은 2개의 좌측 카메라들(L1, L2)과, 2개의 우측 카메라들(R1¸R2)을 포함할 수 있다. 각 카메라의 수평 FOV는 180˚보다 클 수 있다. 좌측 카메라들 및 우측 카메라들에서 동일한 번호가 표기된 카메라 쌍은 입체 쌍을 구성할 수 있다. 따라서, 카메라 모듈(410)이 도 4c에 도시된 것과 같은 구성을 가지는 경우 카메라 모듈(410)은 2개의 입체 쌍 카메라를 이용하여 360도 입체 파노라마 이미지를 생성할 수 있다.The configuration of the camera module 410 according to various embodiments may include four side cameras as shown in FIG. 4C. 4C shows a second frontal structure of a camera module according to various embodiments of the present invention. According to FIG. 4C, the four side cameras may include two left cameras L 1 and L 2 and two right cameras R 1 and R 2 . The horizontal FOV of each camera may be greater than 180 degrees. The pair of cameras marked with the same number in the left cameras and the right cameras can constitute stereoscopic pairs. Accordingly, when the camera module 410 has the configuration as shown in FIG. 4C, the camera module 410 can generate a 360-degree stereoscopic panoramic image using two stereoscopic pair cameras.

다양한 실시 예들에 따른 카메라 모듈(410)의 구성은, 도 4d에 도시된 것과 같이 6개의 측면 카메라들을 포함할 수 있다. 도 4d는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제3 정면 구조를 도시한다. 도 4d에 따르면, 6개의 측면 카메라들은 3개의 좌측 카메라들(L1, L2, L3)과, 3개의 우측 카메라들(R1¸R2, R3)을 포함할 수 있다. 각 카메라의 수평 FOV는 120˚보다 클 수 있다. 좌측 카메라들 및 우측 카메라들에서 동일한 번호가 표기된 카메라 쌍은 입체 쌍을 구성할 수 있다. 따라서, 카메라 모듈(410)이 도 4d에 도시된 것과 같은 구성을 가지는 경우 카메라 모듈(410)은 3개의 입체 쌍 카메라를 이용하여 360도 입체 파노라마 이미지를 생성할 수 있다.The configuration of the camera module 410 according to various embodiments may include six side cameras as shown in FIG. 4D. Figure 4d shows a third frontal structure of the camera module according to various embodiments of the present invention. According to Fig. 4D, the six side cameras may include three left cameras L 1 , L 2 and L 3 and three right cameras R 1 R 2 and R 3 . The horizontal FOV of each camera may be greater than 120 °. The pair of cameras marked with the same number in the left cameras and the right cameras can constitute stereoscopic pairs. Accordingly, when the camera module 410 has the configuration as shown in FIG. 4D, the camera module 410 can generate a 360-degree stereoscopic panoramic image using three stereoscopic pair cameras.

다양한 실시 예들에 따른 카메라 모듈(410)의 구성은, 도 4e에 도시된 것과 같이 8개의 측면 카메라들을 포함할 수 있다. 도 4e는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제4 정면 구조를 도시한다. 도 4e에 따르면, 8개의 측면 카메라들은 4개의 좌측 카메라들(L1, L2, L3, L4)과, 3개의 우측 카메라들(R1¸R2, R3, R4)을 포함할 수 있다. 각 카메라의 수평 FOV는 90˚보다 클 수 있다. 좌측 카메라들 및 우측 카메라들에서 동일한 번호가 표기된 카메라 쌍은 입체 쌍을 구성할 수 있다. 따라서, 카메라 모듈(410)이 도 4e에 도시된 것과 같은 구성을 가지는 경우 카메라 모듈(410)은 4개의 입체 쌍 카메라를 이용하여 360도 입체 파노라마 이미지를 생성할 수 있다.The configuration of the camera module 410 according to various embodiments may include eight side cameras as shown in FIG. 4E. 4E illustrates a fourth frontal view of a camera module according to various embodiments of the present invention. 4E, the eight side cameras include four left cameras L 1 , L 2 , L 3 and L 4 and three right cameras R 1 R 2 , R 3 and R 4 can do. The horizontal FOV of each camera may be greater than 90 °. The pair of cameras marked with the same number in the left cameras and the right cameras can constitute stereoscopic pairs. Accordingly, when the camera module 410 has the configuration as shown in FIG. 4E, the camera module 410 can generate a 360-degree stereoscopic panoramic image using four stereoscopic pair cameras.

다양한 실시 예들에 따른 카메라 모듈(410)의 구성은, 도 4f에 도시된 것과 같이 12개의 측면 카메라들을 포함할 수 있다. 도 4f는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제5 정면 구조를 도시한다. 도 4f에 따르면, 12개의 측면 카메라들은 6개의 좌측 카메라들(L1, L2, L3, L4, L5, L6)과, 6개의 우측 카메라들(R1¸R2, R3, R4, R5, R6)을 포함할 수 있다. 각 카메라의 수평 FOV는 60˚보다 클 수 있다. 좌측 카메라들 및 우측 카메라들에서 동일한 번호가 표기된 카메라 쌍은 입체 쌍을 구성할 수 있다. 따라서, 카메라 모듈(410)이 도 4f에 도시된 것과 같은 구성을 가지는 경우 카메라 모듈(410)은 6개의 입체 쌍 카메라를 이용하여 360도 입체 파노라마 이미지를 생성할 수 있다.The configuration of the camera module 410 according to various embodiments may include twelve side cameras as shown in FIG. 4f. Figure 4f illustrates a fifth frontal structure of a camera module according to various embodiments of the present invention. According to FIG. 4F, the twelve side cameras include six left cameras L 1 , L 2 , L 3 , L 4 , L 5 and L 6 and six right cameras R 1 R 2 and R 3 , R 4 , R 5, R 6 ). The horizontal FOV of each camera may be greater than 60 degrees. The pair of cameras marked with the same number in the left cameras and the right cameras can constitute stereoscopic pairs. Accordingly, when the camera module 410 has the configuration as shown in FIG. 4F, the camera module 410 can generate a 360-degree stereoscopic panoramic image using six stereoscopic pair cameras.

다양한 실시 예들에 따른 카메라 모듈(410)의 구성은, 도 4g에 도시된 것과 같이 10개의 측면 카메라들을 포함할 수 있다. 도 4g는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 제6 정면 구조를 도시한다. 도 4g에 따르면, 10개의 측면 카메라들은 5개의 좌측 카메라들(L1, L2, L3, L4, L5)과, 5개의 우측 카메라들(R1¸R2, R3, R4, R5)을 포함할 수 있다. 각 카메라의 수평 FOV는 72˚보다 클 수 있다. 좌측 카메라들 및 우측 카메라들에서 동일한 번호가 표기된 카메라 쌍은 입체 쌍을 구성할 수 있다. 따라서, 카메라 모듈(410)이 도 4g에 도시된 것과 같은 구성을 가지는 경우 카메라 모듈(410)은 5개의 입체 쌍 카메라를 이용하여 360도 입체 파노라마 이미지를 생성할 수 있다.The configuration of the camera module 410 according to various embodiments may include ten side cameras as shown in FIG. 4G. Figure 4G shows a sixth frontal structure of a camera module according to various embodiments of the present invention. According to FIG. 4G, the 10 side cameras include five left cameras L 1 , L 2 , L 3 , L 4 and L 5 and five right cameras R 1 R 2 , R 3 , R 4 , R 5 ). The horizontal FOV of each camera may be greater than 72 °. The pair of cameras marked with the same number in the left cameras and the right cameras can constitute stereoscopic pairs. Accordingly, when the camera module 410 has the configuration as shown in FIG. 4G, the camera module 410 can generate a 360-degree stereoscopic panoramic image using five stereoscopic pair cameras.

도 4b 내지 도 4g에 도시된 카메라 모듈(410)의 구성은 예시적인 것이고, 카메라 모듈(410)의 구성은 이에 제한되지 않는다. 카메라 모듈(410)은 360도 입체 파노라마 이미지를 생성하기 위해 다양한 수의 측면 카메라들을 포함할 수 있으며, 카메라의 배치 또한 도 4c 내지 도 4g에 도시된 것과 상이할 수 있다.The configuration of the camera module 410 shown in Figs. 4B to 4G is exemplary, and the configuration of the camera module 410 is not limited thereto. The camera module 410 may include various numbers of side cameras to produce a 360 degree stereoscopic panoramic image, and the arrangement of the cameras may also be different from that shown in Figures 4C-4G.

카메라 모듈(410)은 측면 카메라들뿐만 아니라 윗면에도 카메라를 포함할 수 있다. 본 발명의 다양한 실시 예들에 따르면, 카메라 모듈(410)의 윗면에는 도 4h에 도시된 것처럼 하나의 카메라가 배치될 수 있다. 도 4h는 본 발명의 다양한 실시 예들에 따른 카메라 모듈의 측면 구조를 도시한다. 도 4h에 따르면 윗면 카메라(420)는 중심으로부터 h만큼 떨어진 거리에 배치되었다. 일 예로, h=1.9cm일 수 있다. 그러나, 이는 예시적인 것이고, 파라미터 h는 다른 값일 수 있다. 각각의 도 4b 내지 도 4g에 도시된 카메라 모듈(410)의 구조에 대해, 윗면 카메라(420)는 도 4h에 도시된 것과 같이 카메라 모듈(410)의 윗면에 배치될 수 있다. 또한, 윗면 카메라(420)는 카메라 모듈(410)이 도 4b 내지 도 4g에 도시된 구조와 다른 구조를 갖는 경우에도, 도 4h에 도시된 것과 같이 카메라 모듈(410)의 윗면에 배치될 수 있다.The camera module 410 may include a camera on the top side as well as side cameras. According to various embodiments of the present invention, one camera may be disposed on the top surface of the camera module 410 as shown in FIG. 4H. Figure 4h illustrates a side view of a camera module according to various embodiments of the present invention. According to FIG. 4H, the top camera 420 is disposed at a distance of h from the center. For example, h = 1.9 cm. However, this is exemplary and the parameter h may be another value. As for the structure of the camera module 410 shown in each of Figs. 4B to 4G, the top camera 420 may be disposed on the top surface of the camera module 410 as shown in Fig. 4H. The upper surface camera 420 may be disposed on the upper surface of the camera module 410 as shown in FIG. 4H even when the camera module 410 has a structure different from that shown in FIGS. 4B to 4G .

도 4h에 따른 카메라 모듈(410)의 윗면에는 하나의 카메라(420)가 배치되므로, 적어도 두 개의 카메라에 의한 화각 차이에 따른 물체의 원근이 식별될 수 없다. 다시 말해서, 카메라(420)에 의해 제공되는 수직 방향의 이미지 프레임은 입체 영상이 아닌, 2D 영상에 해당한다. 그러나, 카메라 모듈(410)의 윗면에 하나의 카메라(420)이 배치되는 것은 예시적인 것이고, 카메라 모듈(410)의 윗면에는 추가적인 카메라가 배치될 수 있다. 이 경우, 카메라(420) 및 추가적인 카메라에 의해 제공되는 수직 방향의 이미지 프레임은 입체 영상일 수 있다.Since one camera 420 is disposed on the upper surface of the camera module 410 according to FIG. 4H, the perspective of the object due to the angle of view difference by at least two cameras can not be identified. In other words, the vertical image frame provided by the camera 420 corresponds to a 2D image, not a stereoscopic image. However, one camera 420 is disposed on the upper surface of the camera module 410, and an additional camera may be disposed on the upper surface of the camera module 410. In this case, the vertical image frame provided by the camera 420 and the additional camera may be stereoscopic.

도 5는 본 발명의 다양한 실시 예들에 따른 전자 장치(201)의 모듈들을 도식적으로 나타낸다. 도 5는 카메라 모듈(410), 연산 장치(510) 및 디스플레이 장치(520)의 조합으로 구성되는 전자 장치(201)을 도시한다.FIG. 5 illustrates schematically modules of an electronic device 201 in accordance with various embodiments of the present invention. Fig. 5 shows an electronic device 201 configured with a combination of camera module 410, computing device 510, and display device 520. Fig.

카메라 모듈(410)은 도 4a 내지 도 4h에서 설명된 것과 같은 구조를 가질 수 있고, 동작을 수행할 수 있다. 다시 말해서, 카메라 모듈(410)은 파노라마 이미지를 생성하기 위해 측면에 배치된 복수 개의 카메라들과 윗면에 배치된 카메라들을 이용하여 이미지 프레임들을 캡쳐할 수 있다.The camera module 410 may have a structure as described in Figs. 4A to 4H, and may perform operations. In other words, the camera module 410 may capture image frames using a plurality of cameras disposed on the side and cameras disposed on the top side to generate a panoramic image.

연산 장치(510)는 카메라 모듈(410)으로부터 수신된 데이터 또는 디스플레이 장치(520)로부터 수신된 데이터에 대해 연산을 수행할 수 있다. 예를 들면, 연산 장치(520)는 카메라 모듈(410)로부터 수신된 이미지 프레임들을 스티칭하여 파노라마 이미지를 생성할 수 있고, 생성된 파노라마 이미지를 디스플레이 장치(520)에 송신할 수 있다. 또한, 연산 장치(510)는 디스플레이 장치(520)의 입력 인터페이스(예: 터치패드, 버튼)을 통해 감지된 사용자의 입력에 대한 정보를 수신할 수 있고, 디스플레이 장치(520)로부터 사용자의 움직임에 대한 센싱 정보를 수신할 수 있다.The computing device 510 may perform operations on data received from the camera module 410 or data received from the display device 520. For example, the computing device 520 may stitch the image frames received from the camera module 410 to produce a panoramic image, and may transmit the generated panoramic image to the display device 520. The computing device 510 may also receive information about the user's input sensed through an input interface (e.g., a touchpad, button) of the display device 520 and may receive information from the display device 520 It is possible to receive the sensing information.

디스플레이 장치(520)는 사용자에게 시각적인 이미지를 제공할 수 있다. 예를 들어, 디스플레이 장치는 사용자의 머리에 장착되는 웨어러블 장치일 수 있다. 이 경우, 디스플레이 장치(520)는 사용자의 머리에 고정되기 위해 스트랩(strap)을 포함할 수 있다. 또 다른 예로, 디스플레이 장치(520)는 웨어러블 장치와는 별개의 장치일 수 있다. 이 경우, 디스플레이 장치(520)는 웨어러블 장치와 결합을 위한 결착부(fastening unit)(414)(예: 클립, 홀, 덮게 등)를 포함할 수 있고, 디스플레이 장치(520)는 웨어러블 장치에 결합된 상태에서 사용자에게 이미지를 제공할 수 있다. 또한, 디스플레이 장치(520)는 디스플레이 장치(520)의 입력 인터페이스를 통해 사용자의 입력을 감지할 수 있고, 감지된 움직임에 대응하는 이미지를 표시할 수 있다. 사용자의 움직임에 대응하는 이미지를 제공하기 위해, 디스플레이 장치(520)는 적어도 하나의 센서(미도시)를 포함할 수 있다. 예를 들어, 적어도 하나의 센서는 사용자의 움직임과 관련이 있는 정보를 획득하기 위한 가속도계, GPS 수신부, 또는 다른 모션을 검출하기 위한 적어도 하나의 센서를 포함할 수 있다. 적어도 하나의 센서를 통해, 사용자의 머리의 움직임이 검출될 수 있다. The display device 520 may provide the user with a visual image. For example, the display device may be a wearable device mounted on a user's head. In this case, the display device 520 may include a strap to be secured to the user's head. As another example, the display device 520 may be a device separate from the wearable device. In this case, the display device 520 may include a fastening unit 414 (e.g., a clip, a hole, a cover, etc.) for coupling with the wearable device and the display device 520 may be coupled to the wearable device It is possible to provide an image to the user in a state of being In addition, the display device 520 can sense the user's input through the input interface of the display device 520 and display an image corresponding to the sensed motion. In order to provide an image corresponding to the movement of the user, the display device 520 may include at least one sensor (not shown). For example, the at least one sensor may include an accelerometer, a GPS receiver, or at least one sensor for detecting other motion to obtain information related to the user's motion. Through at least one sensor, motion of the user's head can be detected.

데이터 교환을 위해, 카메라 모듈(410), 연산 장치(510) 및 디스플레이 장치(520)는 통신을 수행할 수 있다. 예를 들면, 카메라 모듈(410), 연산 장치(510) 및 디스플레이 장치(520) 중 적어도 두 개의 장치는 유선 선로(예: 케이블)를 통해 통신을 수행하거나, 무선 채널을 통해 통신을 수행할 수 있다. 이를 위해, 각각의 카메라 모듈(410), 연산 장치(510) 및 디스플레이 장치(520)는 무선 통신을 위한 통신 모듈을 더 포함할 수 있다. For data exchange, camera module 410, computing device 510, and display device 520 may perform communications. For example, at least two of camera module 410, computing device 510, and display device 520 may communicate through a wired line (e.g., a cable) or may communicate over a wireless channel have. To this end, each of the camera module 410, the calculation device 510 and the display device 520 may further include a communication module for wireless communication.

도 5를 참고하여 설명한 실시 예에서, 디스플레이 장치(520)는 연산 장치(520)로부터 수신한 파노라마 이미지를 표시할 수 있다. 그러나, 디스플레이 장치(520)는 이미지 프레임들을 수신하여 파노라마 이미지를 생성할 수도 있고, 자신이 생성한 파노라마 이미지를 표시할 수 있다. 이를 위해, 디스플레이(520)는 연산을 위한 독립적인 프로세서를 포함할 수 있다.In the embodiment described with reference to FIG. 5, the display device 520 may display the panoramic image received from the computing device 520. However, the display device 520 may receive image frames to generate a panoramic image, and may display the panoramic image that it has generated. To this end, the display 520 may include an independent processor for operation.

도 5를 참고하여 설명한 실시 예에서, 전자 장치(201)는 카메라 모듈(410), 연산 장치(510) 및 디스플레이 장치(520)의 조합이다. 그러나, 다른 실시 예에 따라, 전자 장치(201)는 카메라 모듈(410), 연산 장치(510) 중 적어도 하나가 이미지를 표시 및 연산을 수행하기 위해 필요한 구성 요소들을 모두 포함할 수 있다. 따라서, 이하 후술하는 다양한 실시 예들에서, 전자 장치(201)는 카메라 모듈(410), 연산 장치(510) 및 디스플레이 장치(520)의 조합이거나, 카메라 모듈(410), 연산 장치(510) 및 디스플레이 장치(520) 중 적어도 하나를 의미하는 장치일 수 있다.5, the electronic device 201 is a combination of a camera module 410, a computing device 510, and a display device 520. In the embodiment shown in FIG. However, according to another embodiment, electronic device 201 may include all of the components necessary for at least one of camera module 410, computing device 510 to display and compute images. The electronic device 201 may be a combination of the camera module 410, the computing device 510 and the display device 520 or may be a combination of the camera module 410, the computing device 510 and the display device 520. [ Device 520. < / RTI >

도 6은 본 발명의 다양한 실시 예들에 따른 전자 장치의 기능적 블록 구조를 도시한다.Figure 6 illustrates a functional block structure of an electronic device according to various embodiments of the present invention.

도 6에 따르면, 전자 장치(201)는 이미지 생성부(610), 제어부(620), 디스플레이(630) 및 저장부(640)을 포함한다.6, the electronic device 201 includes an image generation unit 610, a control unit 620, a display 630, and a storage unit 640.

이미지 생성부(610)는 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서, 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다. 이미지 생성부(610)는 파노라마 이미지를 생성하기 위한 이미지 프레임들을 생성할 수 있다. 이를 위해, 이미지 생성부(610)는 적어도 하나의 카메라를 이용하여 이미지 프레임을 캡쳐할 수 있다. 다양한 실시 예들에 따라, 이미지 생성부(610)은 카메라 모듈(410)을 포함할 수 있다. 이미지 생성부(610)는 카메라 모듈(410)의 복수 개의 카메라들을 이용하여 모든 방향에서 카메라 모듈(410)으로 입사되는 광선을 캡쳐할 수 있고, 이를 통해 360도 회전 이미지를 구성하기 위한 이미지 프레임들을 생성할 수 있다. The image generating unit 610 may be a device that can capture still images and moving images and may include one or more image sensors, a lens, an image signal processor (ISP), or a flash (e.g., LED or xenon lamp) . The image generation unit 610 may generate image frames for generating a panoramic image. To this end, the image generating unit 610 may capture an image frame using at least one camera. According to various embodiments, the image generator 610 may include a camera module 410. The image generation unit 610 can capture light beams incident on the camera module 410 in all directions using a plurality of cameras of the camera module 410 and can generate image frames for constructing a 360- Can be generated.

제어부(620)는 제어부(620)와 기능적으로 결합된 이미지 생성부(610), 디스플레이(630), 및 저장부(640)를 제어할 수 있다. 어떤 실시 예들에서는, 제어부(620)는 제어를 위한 최소한 하나의 마이크로프로세서(microprocessor) 또는 마이크로제어기(microcontroller)를 포함할 수 있다. The control unit 620 may control the image generating unit 610, the display 630, and the storage unit 640 functionally combined with the control unit 620. In some embodiments, the controller 620 may include at least one microprocessor or microcontroller for control.

제어부(620)는 저장부(640)에 존재하는 다른 프로세스나 프로그램을 실행할 수 있다. 제어부(620)는 실행 프로세스에서 요구됨에 따라 데이터를 저장부(640)로 이동시키거나 불러올 수 있다. 어떤 실시 예들에서는, 제어부(620)는 OS에 기반하여 수신되는 신호에 응답하여 어플리케이션을 실행하도록 구성된다. The control unit 620 may execute another process or a program existing in the storage unit 640. [ The control unit 620 may move or recall data to the storage unit 640 as required in the execution process. In some embodiments, the control unit 620 is configured to execute the application in response to the received signal based on the OS.

다양한 실시 예들에 따른 제어부(620)는, 복수 개의 이미지 프레임들로부터 파노라마 이미지를 생성하기 위한 연산을 수행할 수 있다. 이를 위해, 제어부(620)는 이미지 생성부(610)로부터 생성된 이미지 프레임들을 수신할 수 있다. 여기에서, 복수 개의 이미지 프레임들에 기반하여 생성된 이미지는 360도 회전 이미지일 수 있다. 또한, 제어부(620)는 생성된 파노라마 이미지에 대한 연산을 수행하여 파노라마 이미지를 적응적으로 변경할 수 있다. 예를 들어, 제어부(620)는 복수 개의 이미지 프레임들을 재정렬할 수 있다. 제어부(620)는 디스플레이(630)을 제어하여, 생성된 파노라마 이미지를 표시하도록 할 수 있다.The controller 620 according to various embodiments may perform operations to generate a panoramic image from a plurality of image frames. For this, the control unit 620 may receive the image frames generated from the image generating unit 610. Here, the image generated based on the plurality of image frames may be a 360 degree rotated image. Also, the controller 620 can adaptively change the panorama image by performing an operation on the generated panorama image. For example, the control unit 620 may rearrange a plurality of image frames. The control unit 620 may control the display 630 to display the generated panoramic image.

디스플레이(630)는 이미지, 그래픽, 텍스트 등을 포함하는 화면을 표시한다. 예를 들어, 디스플레이(630)는 액정(liquid crystal), 발광 다이오드(light emitting diode) 디스플레이 또는 다른 소재로 구성될 수 있다. 디스플레이(630)는 제어부(620)을 통해 수신된 데이터에 대응하는 화면을 표시할 수 있다. 또한, 디스플레이(630)는 사용자의 입력을 감지하기 위한 터치 스크린을 포함할 수 있다. 다양한 실시 예들에 따라, 디스플레이(510)는 디스플레이 장치(520)를 포함할 수 있고, 복수 개의 이미지 프레임들로부터 생성된 파노라마 이미지를 표시할 수 있다.The display 630 displays a screen including images, graphics, text, and the like. For example, the display 630 may be composed of a liquid crystal, a light emitting diode display, or other material. The display 630 may display a screen corresponding to the data received through the control unit 620. [ Display 630 may also include a touch screen for sensing user input. In accordance with various embodiments, the display 510 may include a display device 520 and may display a panoramic image generated from a plurality of image frames.

저장부(640)는 제어부(620)에 결합되어 있다. 저장부(640)의 일부는 임의 접근 기억장치(random access memory, RAM)을 포함할 수 있고, 저장부(640)의 또 다른 부분은 플래시 메모리(flash memory) 또는 다른 읽기용 기억장치(read-only memory, ROM)을 포함할 수 있다. 다양한 실시 예들에 따르면, 저장부(640)는 파노라마 이미지를 생성하기 위한 이미지 프레임들을 저장할 수 있다. 또한, 저장부(640)는 이미지 프레임들로부터 생성된 파노라마 이미지를 저장할 수 있다. The storage unit 640 is coupled to the controller 620. A portion of the storage 640 may include random access memory (RAM) and another portion of the storage 640 may be a flash memory or other read- only memory, ROM). According to various embodiments, the storage unit 640 may store image frames for generating a panoramic image. In addition, the storage unit 640 may store the panoramic image generated from the image frames.

도 7은 본 발명의 다양한 실시 예들에 따른 카메라 모듈(410)의 레이들을 도시한다. 설명의 편의를 위해, 도 7에는 카메라 모듈(410)이 포함하는 복수의 카메라들(L1 내지 L8, R1 내지 R8)들 중 카메라 L1(430-4) 및 카메라 L2(430-2)만이 도시되었다. 그러나, 도 7에 도시되지 않은 카메라들 또한 하기에서 설명되는 카메라 L1(430-4) 및 카메라 L2(430-2)에 대한 동작을 동일하게 수행할 수 있다.FIG. 7 illustrates lanes of a camera module 410 in accordance with various embodiments of the present invention. 7, the camera L 1 430-4 and the camera L 2 430 of the plurality of cameras L 1 to L 8 , R 1 to R 8 included in the camera module 410 -2). However, the cameras not shown in FIG. 7 can also perform the operations for the camera L 1 430-4 and the camera L 2 430-2 described below in the same manner.

카메라 L-1(430-4) 및 카메라 L-2(430-2)는 각각 레이들(720) 및 레이들(710)을 캡쳐하여 파노라마 이미지를 구성하기 위한 이미지 프레임들을 생성한다. 도 7에서, 각각의 레이들(710, 720)을 구성하는 화살표는 화살표에 대응하는 방향에서 입사된 레이들을 나타낸다. 또한, 각각의 레이들(710, 720)을 구성하는 화살표들 중 가운데에 있는 화살표는 각각의 카메라 L1(430-4) 및 카메라 L2(430-2)의 광축 방향에서 입사된 레이(이하, '중심 레이(middle ray)'이라 한다)을 나타낸다. 각각의 카메라 L-1(430-4) 및 카메라 L-2(430-2)가 캡쳐한 이미지 프레임들은 파노라마 이미지에서 스티칭된 이미지 프레임들 중 인접하는 이미지 프레임들을 구성한다. 카메라 L-1(430-4)의 렌즈를 통해 입사되는 레이는 카메라 L1(430-4)의 이미지 센서에 투영(projection)되고, 카메라 L-1(430-4)은 투영에 의해 이미지 센서가 인식한 데이터에 기반하여 이미지 프레임을 생성할 수 있다. The camera L- 1 430-4 and the camera L- 2 430-2 capture the ladle 720 and the ladle 710, respectively, to generate image frames for constructing a panoramic image. In Fig. 7, the arrows constituting each of the lasers 710 and 720 represent lasers incident in the direction corresponding to the arrows. The arrows in the middle of the arrows constituting each of the lasers 710 and 720 correspond to the rays incident on the respective cameras L 1 430-4 and L 2 430-2 in the direction of the optical axis , &Quot; middle ray "). The image frames captured by each of the cameras L- 1 430-4 and L- 2 430-2 constitute adjacent image frames among the stitched image frames in the panoramic image. Ray that is incident through the lens of the camera L- 1 (430-4) is a projection (projection) on the image sensor of the camera L 1 (430-4), the camera L- 1 (430-4) is an image sensor by the projection It is possible to generate an image frame based on the recognized data.

도 7에 따르면, 각각의 레이들(720)을 나타내는 화살표는 모두 카메라 L1(430-4)의 렌즈가 위치하는 동일한 지점에서 시작(originate)한다. 다시 말해서, 카메라 L1(430-4)가 이미지 프레임을 생성하기 위해 캡쳐하는 레이들(720)은 모두 카메라 L1(430-4)의 렌즈로 모이게 된다. 카메라 L--2(430-2)가 이미지 프레임을 생성하기 위해 캡쳐하는 레이들(710) 또한 모두 카메라 카메라 L2(430-2)로 모이게 되며, 이는 도 7에서 레이들(710)을 나타내는 화살표가 모두 동일한 지점에서 시작하는 것으로 나타나 있다.According to Fig. 7, the arrows representing each ladle 720 all originate at the same point where the lens of camera L 1 430-4 is located. In other words, all the lasers 720 captured by the camera L 1 430-4 to generate the image frame are all collected by the lens of the camera L 1 430-4. The lasers 710 that camera L-- 2 430-2 captures to create an image frame are also all converged to camera camera L 2 430-2 which represents ladle 710 in FIG. Arrows all appear to start at the same point.

도 8은 본 발명의 다양한 실시 예들에 따라 카메라 모듈(410)이 복수의 카메라들로 캡쳐한 이미지(800)를 도시한다. 예를 들어, 이미지(800)는 카메라 모듈(410)이 캡쳐한 복수 개의 이미지 프레임들이 스티칭되어 좌측 파노라마 이미지를 평면으로 펼쳐놓은 이미지일 수 있다. 또한 영역(830)에서 각 번호(1 내지 n)에 해당하는 사각형은 카메라 모듈(410)의 각각의 좌측 카메라들(L1 내지 L8)이 캡쳐한 이미지 프레임에 대응될 수 있고, 영역(840)에 해당하는 사각형은 카메라 모듈(410)의 탑 카메라(420)가 캡쳐한 이미지 프레임에 대응될 수 있다. 이와 달리, 영역(830)에서 각 번호(1 내지 n)에 해당하는 사각형은 카메라 모듈(410)의 각각의 우측 카메라들(R1 내지 R8)이 캡쳐한 이미지 프레임에 대응될 수 있다. 다시 말해서, 카메라 모듈(410)의 좌측 카메라들(L1 내지 L8) 및 우측 카메라들(R1 내지 R8)은 각각 도 8에 도시된 이미지(800)과 같은 좌측 파노라마 이미지와 우측 파노라마 이미지를 구성하는 이미지 프레임들을 생성할 수 있다.Figure 8 shows an image 800 captured by a camera module 410 with a plurality of cameras in accordance with various embodiments of the present invention. For example, the image 800 may be an image in which a plurality of image frames captured by the camera module 410 are stitched and a left panoramic image is spread out in a plane. A rectangle corresponding to each of the numbers 1 to n in the area 830 may correspond to an image frame captured by each of the left cameras L 1 to L 8 of the camera module 410, May correspond to an image frame captured by the top camera 420 of the camera module 410. [ Alternatively, the rectangles corresponding to the numbers 1 to n in the area 830 may correspond to the image frames captured by the right cameras R 1 to R 8 of the camera module 410. In other words, the left cameras (L 1 to L 8 ) and the right cameras (R 1 to R 8 ) of the camera module 410 correspond to the left panorama image such as the image 800 shown in FIG. 8 and the right panorama image Lt; RTI ID = 0.0 > frames. ≪ / RTI >

영역(830)에서, 각 번호의 해당하는 이미지 프레임에 대해, 입체 쌍을 구성하는 다른 카메라가 생성한 이미지 프레임이 존재한다. 예를 들어, 이미지(800)에서 번호 1에 해당하는 이미지 프레임이 카메라 L1(430-4)가 생성한 이미지 프레임인 경우, 우측 파노라마 이미지에 카메라 L1(430-4)과 입체 쌍인 카메라 R1(430-1)이 생성한 이미지 프레임이 존재한다. 다른 번호에 해당하는 이미지 프레임에 대해서도 마찬가지이며, 따라서 영역(830)은 각각의 입체 쌍을 구성하는 카메라들이 생성한 이미지 프레임들에 의해 사용자가 입체감을 느낄 수 있는 영역을 나타낸다. In the area 830, for the corresponding image frame of each number, there exists an image frame generated by another camera constituting the stereoscopic pair. For example, if the image frame corresponding to the number 1 in the image 800 of the image frames generated camera L 1 (430-4), on the right panorama image, the camera L 1 (430-4) and a stereoscopic camera pairs R 1 430-1 generates an image frame. The same applies to image frames corresponding to other numbers, and thus the area 830 represents an area where the user can feel a stereoscopic effect by the image frames generated by the cameras constituting each stereoscopic pair.

반면, 영역(840)은 탑 카메라(420)이 생성한 이미지 프레임에 해당하는 부분이며, 탑 카메라(420)에 대해서는 입체 쌍이 존재하지 않으므로, 영역(840)에 대해서는 사용자가 입체감을 느낄 수 없다. 영역(850)은 카메라 모듈(410)에서 측면 카메라들이 커버할 수 있는 FOV 바깥의 아래 부분을 나타내며, 카메라 모듈(410)의 아랫면이 적어도 하나의 카메라도 포함하지 않는 경우, 블라인드 스팟(blind spot)일 수 있다.On the other hand, since the area 840 corresponds to the image frame generated by the top camera 420 and the stereoscopic pair does not exist with respect to the top camera 420, the user can not feel the stereoscopic effect on the area 840. Area 850 represents the lower portion of the FOV outside the side cameras that the camera module 410 can cover and a blind spot if the bottom surface of the camera module 410 does not include at least one camera. Lt; / RTI >

도 8에 도시된 바와 같이, 이미지(800)는 사용자가 입체감을 느낄 수 있는 영역(830)과 그렇지 않은 영역들(840, 850)을 포함한다. 다양한 실시 예들에 따라, 사용자가 입체감을 느낄 수 있는 영역(830)은 3D(3 dimensional) 영역으로 지칭될 수 있고, 사용자가 입체감을 느낄 수 없는 영역(840)은 2D 영역으로 지칭될 수 있다. 3D 영역(830)과 2D 영역(840)은 경계(810, 820)를 통하여 구분되며, 사용자가 영역(830)에서 영역(840) 또는 영역(850)으로 시선을 이동할 경우, 사용자는 입체감의 변화를 느끼게 된다.As shown in FIG. 8, the image 800 includes a region 830 where the user can feel a three-dimensional feeling, and regions 840 and 850 that are not. According to various embodiments, the region 830 where the user may feel a three-dimensional feeling may be referred to as a 3D (three-dimensional) region, and the region 840 where the user can not sense a three-dimensional feeling may be referred to as a 2D region. The 3D region 830 and the 2D region 840 are divided through the boundaries 810 and 820. When the user moves his or her gaze from the region 830 to the region 840 or the region 850, .

다양한 실시 예들에 따르면, 3D 및 2D는 불연속적이 개념이 아닐 수 있다. 예를 들어, 사용자가 영역(830)에서 영역(840)으로 시선을 옮겨 감에 따라, 사용자가 느끼는 입체감이 경계(810, 820)를 기준으로 급격하게 변하는 것이 아니라, 사용자가 느끼는 입체감은 경계(810, 820) 없이 3D에서 2D로 점진적(gradually)으로 변화할 수 있다. 또한, 앞서 설명된 바와 같이 측면 카메라들의 수에는 제한이 없으므로, 도 8에 도시된 바와 같이 영역(830)에서 각 카메라에 대응하는 이미지 프레임들의 수는 n값이 변해 감에 따라 다양해 질 수 있다. 여기에서, n은 2보다 크거나 같은 정수일 수 있다.According to various embodiments, 3D and 2D may not be discontinuous concepts. For example, as the user moves his or her eyes from the area 830 to the area 840, the three-dimensional sensation felt by the user does not change abruptly with respect to the boundaries 810 and 820, 810, and 820 without changing the size of the image. In addition, as described above, since there is no limit to the number of side cameras, the number of image frames corresponding to each camera in the area 830 as shown in FIG. 8 may vary as the value of n changes. Here, n may be an integer greater than or equal to two.

도 9는 본 발명의 다양한 실시 예들에 따라 이미지 프레임들의 스티칭 후 발생하는 시차(parallax) 문제를 나타내기 위한 도면이다. 도 9는 서로 다른 곳에 위치한 카메라들(910-1, 910-2) 각각이 근거리에 위치한 정지 오브젝트(920) 및 원거리에 위치한 정지 오브젝트(930)을 모두 캡쳐하는 상황을 예시한다. 9 is a diagram illustrating a parallax problem occurring after stitching of image frames in accordance with various embodiments of the present invention. 9 illustrates a situation where each of the cameras 910-1 and 910-2 located at different locations captures both a stationary object 920 located at a short distance and a stationary object 930 located at a long distance.

*카메라(910-1)가 근거리 오브젝트(920) 및 원거리 오브젝트(930)을 캡쳐할 경우, 각각의 오브젝트들(920, 930)은 이미지 센서의 투영 평면(projection plane, 940-1)에 투영되고, 이미지 프레임(950-1)을 생성한다. 투영 결과에 따라, 이미지 프레임(950-1)에서 근거리 오브젝트(920)에 해당하는 이미지는 원거리 오브젝트(930)에 해당하는 이미지보다 상대적으로 오른쪽에 표시된다. 유사하게, 카메라(910-2)가 근거리 오브젝트(920) 및 원거리 오브젝트(930)을 캡쳐할 경우, 각각의 오브젝트들(920, 930)은 이미지 센서의 투영 평면(940-2)에 투영되고, 이미지 프레임(950-2)을 생성한다. 투영 결과에 따라, 이미지 프레임(950-2)에서 근거리 오브젝트(920)에 해당하는 이미지는 원거리 오브젝트(930)에 해당하는 이미지보다 상대적으로 왼쪽에 표시된다. When the camera 910-1 captures the near object 920 and the far object 930, each of the objects 920 and 930 is projected onto the projection plane 940-1 of the image sensor , And generates an image frame 950-1. Depending on the projection result, the image corresponding to the near object 920 in the image frame 950-1 is displayed on the right side relative to the image corresponding to the far object 930. [ Similarly, when the camera 910-2 captures the near object 920 and the far object 930, each of the objects 920 and 930 is projected onto the projection plane 940-2 of the image sensor, And generates an image frame 950-2. Depending on the projection result, the image corresponding to the near object 920 in the image frame 950-2 is displayed on the left side relative to the image corresponding to the far object 930. [

스티칭 과정에서, 이미지 프레임(950-1) 및 이미지 프레임(950-2)에서 특징 점들이 추출되고, 특징 점들 중 대응 점들에 기반하여 이미지 프레임들(950-1, 950-2)가 정렬된다. 다양한 실시 예들에 따라, 도 9에서는 이미지 프레임들(950-1, 950-2)에서 근거리 오브젝트(920)에 해당하는 픽셀들을 중심으로 특징 점들이 추출된 것을 가정한다. 이 경우, 이미지 프레임들(950-1, 950-2)는 도 9에 도시된 바와 같이 근거리 오브젝트(920)에 해당하는 픽셀들이 오버랩(overlap)되도록 정렬된다. 정렬된 이미지 프레임들(950-1, 950-2)은 심(960)을 기준으로 하나의 이미지로 결합된다. 결합된 이미지에서, 근거리 오브젝트(920)는 적절하게 표시되었으나, 원거리 오브젝트(930)에 해당하는 이미지는 각각 이미지 프레임(950-1) 및 이미지 프레임(950-2)에 해당하는 부분에서 근거리 오브젝트(920)에 해당하는 이미지의 좌측과 우측에 모두 표시되었다. 이와 같이, 동일한 오브젝트들을 서로 다른 위치의 카메라들에서 캡쳐할 경우 발생하는 시차에 의해 스티칭된 이미지에서 이중상이 생길 수 있다. 유사하게, 원거리 오브젝트(930)에 해당하는 픽셀들을 중심으로 특징 점들이 추출되어 이미지 프레임들(950-1, 950-2)이 정렬될 경우, 스티칭된 이미지에서 근거리 오브젝트(920)에 해당하는 이미지가 잘려서 보이거나(근거리 오브젝트 잘림), 아예 보이지 않을 수 있다.In the stitching process, feature points are extracted from the image frame 950-1 and the image frame 950-2, and the image frames 950-1 and 950-2 are aligned based on corresponding ones of the feature points. According to various embodiments, it is assumed in FIG. 9 that feature points are extracted centering on pixels corresponding to the near object 920 in the image frames 950-1 and 950-2. In this case, the image frames 950-1 and 950-2 are aligned so that the pixels corresponding to the near object 920 overlap as shown in FIG. The aligned image frames 950-1 and 950-2 are combined into one image based on the padding 960. [ In the combined image, the near object 920 is appropriately displayed, but the image corresponding to the far object 930 corresponds to the near object (the object corresponding to the image frame 950-1 and the image frame 950-2) 920) are displayed on both the left and right sides of the image. As described above, a double image may occur in the stitched image due to the parallax occurring when capturing the same objects in cameras at different positions. Similarly, when the feature points are extracted around the pixels corresponding to the far object 930 and the image frames 950-1 and 950-2 are aligned, the image corresponding to the near object 920 in the stitched image (Truncated near object), or it may not be visible at all.

카메라 L1(430-4)로부터 생성된 이미지 프레임 및 카메라 L2(430-2)로부터 생성된 이미지 프레임들을 스티칭하는 경우, 각각의 카메라들간 시차에 의해 왜곡이 존재할 수 있다. 또한, 입체성 유지(stereoscopic consistency)를 위해 동일한 입체 쌍에 속하는 좌측 카메라 및 우측 카메라가 생성한 아미지 프레임들을 대응시켜야 한다. 예를 들어, 동일한 물체가 두 개의 입체 쌍에 속하는 카메라들(L1, R1, 및 L2, R2)에 의해 캡쳐될 경우, 좌측 파노라마 및 우측 파노라마에서 동일한 입체 쌍에 속하는 카메라에 의해 캡쳐된 이미지 프레임들에 물체가 대응되어야 한다. 그렇지 않으면, 물체를 바라보는 사용자의 물체에 대한 깊이 인식이 나빠져서, 3D 품질이 저하될 수 있다.In the case of stitching the image frames generated from the camera L 1 430-4 and the image frames generated from the camera L 2 430-2, distortion may exist due to parallax between the cameras. Also, for stereoscopic consistency, the left and right camera belonging to the same stereopair should correspond to the generated image frames. For example, when the same object is captured by cameras (L 1 , R 1, and L 2 , R 2 ) belonging to two stereopair pairs, the captured images are captured by cameras belonging to the same stereopair in the left panorama and the right panorama The object must correspond to the image frames. Otherwise, the depth perception of the object of the user looking at the object may deteriorate, and the 3D quality may deteriorate.

상술한 바와 같이, 이미지 프레임들이 스티칭되어 생성된 파노라마 이미지에서는 근거리 오브젝트 잘림이나 이중상과 같은 스티칭 에러가 발생할 수 있고, 3D 영역과 2D 영역이 경계에 의해 불연속적으로 명확히 구분된다는 문제가 발생할 수 있다. 이러한 문제점들은, 도 7에 도시된 것과 같이 이미지 프레임들을 생성하기 위해 캡쳐되는 레이들이 복수의 카메라들 각각이 존재하는 몇 군데의 특정 위치로만 모이기 때문이며, 레이들을 캡쳐하기 위한 카메라들의 수가 증가할수록 그러한 문제점들이 덜 발생하게 된다. 그러나, 카메라들의 수를 증가시키는 것에는 한계가 있으며, 따라서 본 발명의 다양한 실시 예들은 제한된 수의 카메라들이 캡쳐한 레이들을 마치 다양한 위치들에 배치된 카메라들이 캡쳐한 것처럼 가상의 이미지 프레임을 생성하는 방법 및 그 전자 장치를 제공한다.As described above, a stitching error such as a short-distance object truncation or a double image may occur in a panoramic image generated by stitching image frames, and there may arise a problem that a 3D region and a 2D region are clearly and discretely distinguished by boundaries. These problems are due to the fact that the lasers captured to generate the image frames as shown in Fig. 7 only converge to a certain number of specific positions where each of the plurality of cameras is present, and as the number of cameras for capturing lasers increases, Are less likely to occur. However, there is a limit to increasing the number of cameras, and thus various embodiments of the present invention allow a limited number of cameras to capture captured lasers as if they were captured by cameras located at various locations Method and an electronic apparatus thereof.

도 10은 본 발명의 다양한 실시 예들에 따라 레이들의 워핑(warping)을 도시한다. 설명의 편의를 위해, 도 10에는 카메라 모듈(410)이 포함하는 복수의 카메라들(L1 내지 L8, R1 내지 R8)들 중 카메라 L1(430-4) 만이 도시되었다. 그러나, 도 7에 도시되지 않은 카메라들 또한 하기에서 설명되는 카메라 L1(430-4)에 대한 동작을 동일하게 수행할 수 있다.Figure 10 illustrates warping of lasers according to various embodiments of the present invention. For convenience of explanation, only the camera L 1 430-4 among the plurality of cameras L 1 to L 8 , R 1 to R 8 included in the camera module 410 is shown in FIG. However, the cameras not shown in FIG. 7 can also perform the same operations on the camera L 1 430-4 described below.

도 10에 도시된 바와 같이, 카메라 L1(430-4)는 레이들(1010)을 캡쳐하여 파노라마 이미지를 구성하기 위한 이미지 프레임을 생성한다. 도 10에서, 각각의 레이들(1010)을 구성하는 화살표는 화살표에 대응하는 방향에서 입사된 레이를 나타낸다. 카메라 L1(430-4)의 렌즈를 통해 입사되는 레이들(1010)은 카메라 L1(430-4)의 이미지 센서에 투영되고, 카메라 L1(430-4)은 투영에 의해 이미지 센서가 인식한 데이터에 기반하여 이미지 프레임을 생성할 수 있다.As shown in FIG. 10, the camera L 1 430-4 captures the ladle 1010 to generate an image frame for constructing a panoramic image. In Fig. 10, the arrows constituting each ladle 1010 indicate the rays incident in the direction corresponding to the arrows. The ray that is incident through the lens of the camera L 1 (430-4) (1010) is projected onto the image sensor of the camera L 1 (430-4), camera L 1 (430-4) is the image sensor by the projection An image frame can be generated based on the recognized data.

즉, 카메라 L1(430-4)가 이미지 프레임을 생성하기 위해 캡쳐하는 레이들(1010)은 모두 카메라 L1(430-4)의 렌즈로 모이게 되며, 실제로 생성되는 이미지 프레임은 레이들(1010)에 기반하여 생성된다. 그러나, 카메라 L1(430-4)가 캡쳐한 레이들(1010)을 마치 다른 곳에 위치한 가상의 카메라들이 캡쳐한 것처럼 이미지 프레임을 변환하기 위해, 본 발명의 다양한 실시 예들은 레이의 워핑(warping)을 제안한다. 변환된 이미지 프레임은 가상의 카메라가 캡쳐한 것으로 볼 수 있으므로, 가상의 이미지 프레임으로 지칭될수 있다. 도 10에 도시된 것처럼, 레이들(1010) 워핑될 경우, 레이들(1010) 중 중심 레이를 제외한 나머지 레이들은 각각 해당하는 가상 카메라의 위치로 평행 이동된다. 워핑된 레이들(1020)에서, 각 레이를 나타내는 화살표의 시작점은 각 레이에 해당하는 가상 카메라의 위치를 나타내고, 화살표가 가리키는 방향은 해당 가상 카메라로 입사된 레이의 방향을 나타낸다. 즉, 하나의 카메라 L1(430-4)가 실제로 레이들(1010)을 캡쳐하여 이미지 프레임을 생성하나, 이미지 프레임은 마치 워핑된 레이들(1020)을 각각의 대응되는 가상 카메라들이 캡쳐하여 가상의 이미지 프레임을 생성한 것처럼 변환될 수 있다.In other words, the ladle 1010 camera L 1 (430-4) to the capture to create an image frame, and are all gathered by the lens of the camera L 1 (430-4), the image frame that is actually generated Ray (1010 ). However, in order to transform the image frame captured by the camera L 1 430-4 captured by the virtual cameras located elsewhere, various embodiments of the present invention may be used for warping of the ray, . The converted image frame can be referred to as a virtual image frame since it can be regarded as a virtual camera captured. As shown in FIG. 10, when the ladle 1010 is warped, the remaining ladies except the center ray of the ladle 1010 are moved in parallel to the corresponding virtual camera positions. In the warped ladle 1020, the starting point of the arrow indicating each ray indicates the position of the virtual camera corresponding to each ray, and the direction indicated by the arrow indicates the direction of the ray incident on the virtual camera. That is, one camera L 1 430-4 actually captures the ladle 1010 to generate an image frame, which is captured by each corresponding virtual camera as if the warped ladder 1020 were captured As shown in FIG.

레이들(1010)이 평행 이동될 경우, 각 레이는 중심선 방향과 이루는 각도가 α가 되도록 워핑된다. 각 레이가 평행 이동되는 위치는 중심선 방향과 이루는 각도 α에 의해 결정될 수 있다. 다시 말해서, 레이들(1010) 중 워핑되는 레이가 카메라 L1(430-4)의 광축과 이루는 각도(

Figure pat00001
)가 정해지면, 워핑되는 레이는 중심선 방향과 이루는 각도가 α가 되도록 평행이동 되므로, 각도
Figure pat00002
에 따라 워핑되는 레이의 위치가 결정될 수 있다. 레이의 워핑에 의해, 최종적으로 생성되는 파노라마 이미지는 가상의 카메라들이 레이를 캡쳐하여 생성된 가상의 이미지 프레임들을 포함할 수 있다.When the lasers 1010 are moved in parallel, each ray is warped such that the angle with the centerline direction is?. The position at which each ray is moved in parallel can be determined by the angle alpha with the centerline direction. In other words, the angle of the warped ray of the ladle 1010 with the optical axis of the camera L 1 (430-4)
Figure pat00001
Is determined, the warped ray is moved in parallel so that the angle with the center line direction becomes?
Figure pat00002
The position of the ray to be warped can be determined. By the warping of the ray, the finally produced panoramic image may include virtual image frames generated by virtual cameras capturing the ray.

도 10은 카메라 L1(430-4)가 캡쳐하는 레이들이 워핑된 것을 도시하나, 카메라 모듈(410)이 포함하는 다른 카메라들이 캡쳐하는 레이들 또한 워핑될 수 있다. 도 11은 본 발명의 다양한 실시 예들에 따라 카메라 모듈(410)에 포함된 복수의 카메라들이 캡쳐한 레이들이 워핑된 후의 레이들을 도시한다. 좌측에 도시된 그림은 복수의 좌측 카메라들(L1 내지 L8)이 캡쳐하는 레이들이 워핑된 것을 도시하고, 우측에 도시된 그림은 복수의 우측 카메라들(R1 내지 R8)이 캡쳐하는 레이들이 워핑된 것을 도시한다. 전자 장치(201)는 복수의 좌측 카메라들(L1 내지 L8) 및 가상의 카메라들이 도 11의 좌측에 도시된 것과 같이 각각 대응하는 레이들을 캡쳐한 것처럼 이미지 프레임들을 변환하고(가상의 이미지 프레임 생성), 변환된 이미지 프레임들에 기반하여 좌측 파노라마를 생성할 수 있다. 또한, 전자 장치(201)는 복수의 우측 카메라들(R1 내지 R8)이 도 11의 우측에 도시된 것과 같이 각각 대응하는 레이들을 캡쳐한 것처럼 이미지 프레임들을 변환하고, 변환된 이미지 프레임들에 기반하여 우측 파노라마를 생성할 수 있다.FIG. 10 shows the louvers captured by the camera L 1 430-4, but the lasers captured by other cameras included in the camera module 410 may also be warped. FIG. 11 illustrates lanes after a plurality of cameras included in the camera module 410 have been warped captured in accordance with various embodiments of the present invention. The picture shown on the left shows that the louvers captured by the plurality of left cameras L 1 to L 8 are warped and the picture shown on the right is captured by the plurality of right cameras R 1 to R 8 Lt; / RTI > The electronic device 201 transforms the image frames as if the plurality of left cameras L 1 to L 8 and the virtual cameras captured corresponding lasers respectively as shown on the left side of Fig. 11 And generate a left panorama based on the transformed image frames. The electronic device 201 also converts the image frames as if the plurality of right cameras R 1 to R 8 respectively captured corresponding lasers as shown on the right side of FIG. 11, The right panorama can be generated.

상술한 실시 예들에서, 복수의 카메라들(L1 내지 L8, R1 내지 R8) 및 다수의 가상 카메라들에 의해, 카메라 모듈(410)에서 실제의 복수의 카메라들(L1 내지 L8, R1 내지 R8)의 위치뿐만 아니라 다수의 가상 카메라들의 위치로 입사되는 모든 방향의 레이들이 캡쳐되어 이미지 프레임들을 생성할 수 있다. 이하, 상술한 바와 같이 레이들의 워핑에 따라 생성된 가상의 카메라를 이용하여 카메라 모듈(410)의 모든 방향으로 입사되는 레이들을 캡쳐하여 실제 카메라들(L1 내지 L8, R1 내지 R8)이 생성한 이미지 프레임에 재투영 시키는 것을 '전방향 입체(ODS, omni-directional stereo) 투영'이라 정의한다.In the embodiments described above, a plurality of cameras (L 1 to L 8, R 1 to R 8) and by a plurality of virtual cameras, the real plurality of cameras in a camera module (410) (L 1 to L 8 , R 1 to R 8 ) as well as the positions of the plurality of virtual cameras can be captured to generate image frames. Hereinafter, the virtual cameras generated according to the warping of the lasers will be used to capture the lasers incident on all directions of the camera module 410 to detect the actual cameras L 1 to L 8 , R 1 to R 8 , Is defined as 'omni-directional stereo projection' (ODS).

각각의 복수의 카메라들(L1 내지 L8, R1 내지 R8)이 캡쳐하는 레이들에서, 중심 레이를 제외한 각각의 레이들은 대응되는 위치의 가상 카메라에 의해 캡쳐되는 것으로 볼 수 있다. 다시 말해서, 카메라의 광축과 일정한 각도(

Figure pat00003
)를 이루는 레이는 워핑되어, 해당되는 위치의 가상의 카메라가 워핑된 레이 방향의 물체를 바라보고 캡쳐하는 것으로 볼 수 있다. 카메라가 물체를 바라보는 위치를 '관점(view)'이라 정의할 수 있으며, 본 발명의 다양한 실시 예들에서 관점은 실제 카메라들(L1 내지 L8, R1 내지 R8)의 위치로 고정된 것이 아니라, 레이가 실제 카메라의 광축과 이루는 각도 또는 레이의 방향에 따라 달라질 수 있다.In the lasers captured by each of the plurality of cameras (L 1 to L 8 , R 1 to R 8 ), each of the rays except the center ray can be seen as being captured by the virtual camera at the corresponding position. In other words, the optical axis of the camera and a certain angle
Figure pat00003
) Is warped, and it can be seen that a virtual camera at the corresponding position looks at an object in the warped ray direction and captures it. The position in which the camera looks at an object can be defined as a " view ", and in various embodiments of the present invention, the viewpoint is fixed to the position of the actual cameras (L 1 to L 8 , R 1 to R 8 ) But may vary depending on the angle of the ray with respect to the optical axis of the actual camera or the direction of the ray.

관점은 수평 방향의 각도(

Figure pat00004
)뿐만 아니라, 수직 방향의 고도 각(
Figure pat00005
)의 변화에 의해서도 달라질 수 있으며, 이는 도 12에서 보다 상세히 설명된다.The viewpoint is a horizontal angle (
Figure pat00004
), As well as vertical altitude angles (
Figure pat00005
), Which is described in more detail in FIG.

도 12는 본 발명의 다양한 실시 예들에 따른 관점의 위치를 도시한다.Figure 12 shows the location of an aspect in accordance with various embodiments of the present invention.

도 12에 따르면, 입체 쌍을 구성하는 카메라들의 관점들(1240)은 각 카메라가 캡쳐하는 레이의 고도 각(1210)(

Figure pat00006
)에 따라 달라질 수 있다. 도 12에 도시된 화원(viewing circle)들은 각각 동일한 레이의 고도 각
Figure pat00007
에서 가능한 관점들의 집합을 나타낸다. 레이의 고도 각(1210)
Figure pat00008
가 90˚(천정 방향)에서 -90˚로 변함에 따라, 화원의 반지름 R'은 R'=R*cos(
Figure pat00009
)를 만족하도록 변경되고, 관점의 높이 h'는 h'= h*sin(
Figure pat00010
)를 만족하도록 변경된다. 따라서, 천정(
Figure pat00011
=90˚)에서 R'= 0, h'= h 이므로, ODS 투영을 위한 관점은 정확히 탑 카메라(420)의 위치와 동일하게 될 수 있다.12, the viewpoints 1240 of the cameras constituting the stereoscopic pair include an altitude angle 1210 (
Figure pat00006
). ≪ / RTI > The viewing circles shown in Fig. 12 each have an elevation angle of the same ray
Figure pat00007
The set of possible perspectives. The elevation angle of the ray (1210)
Figure pat00008
(Ceiling direction) to -90 degrees, the radius R 'of the flower source is R' = R * cos (
Figure pat00009
), And the height h 'of the viewpoint is changed to satisfy h' = h * sin (
Figure pat00010
). Therefore,
Figure pat00011
= 90 DEG), the viewpoint for the ODS projection can be exactly the same as the position of the top camera 420, since R '= 0 and h' = h.

화원의 반지름이 변함에 따라, 입체 쌍을 구성하는 카메라들의 관점간 거리(stereoscopic baseline) 또한 변할 수 있다. 관점간 거리가 짧아질수록 물체에 대한 화각이 줄어들어 원근이 상대적으로 식별되기 어려우므로, 관점간 거리는 3D 인식 정도와 관련이 있다. 구체적인 관점간 거리와 3D 인식 정도와의 관계는 도 21에서 보다 상세히 설명된다.As the radius of the flower source changes, the stereoscopic baseline of the cameras that make up the stereo pair can also change. The distance between viewpoints is related to the degree of 3D perception, since the angle of view for an object decreases as the distance between viewpoints decreases, making it difficult for the perspective to be relatively identified. The relationship between the specific viewpoint distance and the degree of 3D recognition is described in more detail in Fig.

ODS 투영은 등장방형 구면 투영(equirectangular spherical projection)으로 간주될 수 있고, 관점이 바라보는 방향(viewing direction)은 수평 방향의 각도(

Figure pat00012
)와 수직 방향의 고도 각(
Figure pat00013
)에 기반하여 결정될 수 있다. 일 예로서, 수평 방향의 각도
Figure pat00014
의 범위는 [-180˚, 180˚]이고, 수직 방향의 고도 각
Figure pat00015
의 범위는 [-90˚, 90˚]일 수 있다. 그러나, 상술한 바와 같이, 관점은 단일 위치에 고정된 것이 아니라, 관점이 바라보는 방향의 수평 방향의 각도(
Figure pat00016
) 및 수직 방향의 고도 각(
Figure pat00017
)에 따라 변할 수 있다. 구체적으로, 관점은 하기의 <수학식 1>에 의해 결정될 수 있다.The ODS projection can be regarded as an equirectangular spherical projection and the viewing direction can be regarded as an angle in the horizontal direction
Figure pat00012
) And vertical altitude angle (
Figure pat00013
). &Lt; / RTI > As an example,
Figure pat00014
Is in the range of [-180 °, 180 °], and the vertical altitude angle
Figure pat00015
May be in the range of [-90 DEG, 90 DEG]. However, as described above, the viewpoint is not fixed to a single position, but rather the angle in the horizontal direction in the direction in which the viewpoint is viewed
Figure pat00016
) And vertical altitude angle (
Figure pat00017
). &Lt; / RTI &gt; Specifically, the viewpoint can be determined by Equation (1) below.

Figure pat00018
Figure pat00018

여기에서, vp는 관점의 좌표(coordination), R은 카메라 모듈(410)의 반지름, h는 카메라 모듈(410)의 높이이며, R 및 h값은 미리 결정될 수 있다.

Figure pat00019
는 관점이 바라보는 방향의 수평 방향의 각도로서, 카메라가 캡쳐하는 레이가 카메라의 광축과 수평 방향으로 이루는 각도를 의미한다.
Figure pat00020
는 관점이 바라보는 방향의 수직 방향의 고도 각으로서, 카메라가 캡쳐하는 레이가 카메라의 광축과 수직 방향으로 이루는 각도를 의미한다. α는 카메라의 광축이 중심선 방향과 이루는 각도로, α 앞에 표기된 부호는 각각 좌측 카메라와 우측 카메라에 대응한다. 일 예로, +α는 좌측 카메라의 광축이 중심선 방향과 이루는 시계 방향의 각도를, -α는 우측 카메라의 광축이 중심선 방향과 이루는 반시계 방향의 각도를 의미할 수 있다. f는 고도각
Figure pat00021
에 곱해지는 계수로, 수직 방향의 3D 효과를 제한하기 위한 값을 의미한다. f값에 따른 3D 효과의 제한은 도 21에서 보다 상세히 설명된다.Where vp is the coordinates of the viewpoint, R is the radius of the camera module 410, h is the height of the camera module 410, and the R and h values can be predetermined.
Figure pat00019
Is an angle in the horizontal direction in the direction in which the viewpoint is viewed and an angle formed by the ray captured by the camera in the horizontal direction with the optical axis of the camera.
Figure pat00020
Is an elevation angle in the vertical direction in the direction in which the viewpoint is viewed and means an angle formed by the ray captured by the camera in a direction perpendicular to the optical axis of the camera. α is the angle formed by the optical axis of the camera with the centerline direction, and the signs before α correspond to the left camera and the right camera, respectively. For example, + α may be an angle in the clockwise direction in which the optical axis of the left camera is aligned with the centerline direction, and -α may be a counterclockwise angle in which the optical axis of the right camera is in the centerline direction. f is the altitude angle
Figure pat00021
And means a value for limiting the 3D effect in the vertical direction. The limitation of the 3D effect according to the f value is explained in more detail in Fig.

ODS 투영이 적용됨에 따라, 카메라 모듈(410)을 구성하는 각 카메라가 캡쳐하는 레이들은 워핑되고, 전자 장치(201)는 워핑에 따라 변경된 관점에서 가상 카메라에 의해 캡쳐된 레이에 기반하여 실제 카메라가 캡쳐한 이미지 프레임을 변환하여야 한다. 가상 카메라에 의해 캡쳐된 레이가 어떤 실제의 물체에 해당하는 레이인지를 식별하기 위해, 가상 카메라에 대한 실제 물체의 위치(또는 좌표 값)이 결정되어야 한다. 이는 하기의 도 13에서 보다 상세히 설명된다.As the ODS projection is applied, the lasers captured by each camera constituting the camera module 410 are warped, and the electronic device 201 is moved from the perspective of the warping to the actual camera based on the ray captured by the virtual camera The captured image frame should be converted. The position (or coordinate value) of the actual object with respect to the virtual camera must be determined in order to identify which ray corresponds to which real object the ray captured by the virtual camera. This will be described in more detail in Fig. 13 below.

가상 카메라에 의해 캡쳐된 레이에 대응하는 실제 물체의 위치를 결정하기 위해, 먼저 가상 카메라에 대한 실제 물체의 거리, 즉, 깊이(depth) 값이 결정되어야 한다. 가상 카메라에 대한 실제 물체의 깊이 값은, 실제 카메라에 대한 실제 물체의 깊이 값에 기반하여 쉽게 계산될 수 있다. 깊이 값을 결정하는 과정은 이하 도 13과 같다.In order to determine the position of the actual object corresponding to the ray captured by the virtual camera, the distance of the actual object to the virtual camera, i.e., the depth value, must first be determined. The depth value of the actual object with respect to the virtual camera can be easily calculated based on the depth value of the actual object with respect to the actual camera. The process of determining the depth value is shown in FIG. 13 below.

도 13은 본 발명의 다양한 실시 예들에 따라 깊이(depth) 값에 기반하여 레이를 워핑하는 방법을 도시한다.Figure 13 illustrates a method of warping a ray based on depth values in accordance with various embodiments of the present invention.

도 13을 참고하면, 카메라 L1은 실제 카메라로서, 실제로 레이들을 캡쳐하여 이미지 프레임을 생성한다. 레이들은 카메라 L1의 광축과 이루는 수평 방향의 각도 및 수직 방향의 고도 각에 따라 워핑되고, 변경된 관점에서 가상 카메라가 워핑된 레이들을 캡쳐하여 가상의 이미지 프레임을 생성한 것처럼 이미지 프레임 또는 이미지 프레임의 일부가 변환된다. 그러나, 카메라 L1의 광축 방향으로 입사되는 중심 레이는 워핑되지 않으며, 중심 레이는 카메라 L1의 실제 위치(1310)을 관점으로 하여 캡쳐된다. 도 13에서는 예시적으로 카메라 L1의 광축과 이루는 수평 방향의 각도가

Figure pat00022
인 레이가 워핑되고, 워핑된 레이를 가상 카메라 L0가 가상 카메라 L0의 관점(1340)에서 캡쳐하는 것을 도시한다. 도 13에 따르면, 가상 카메라 L0가 캡쳐하는 워핑된 레이에 해당하는 물체는 물체 P(1370)이다. 그러나, 가상 카메라 L0는 실제로 카메라가 아니므로, 워핑된 레이에 해당하는 물체 P(1370)을 캡쳐할 수 없다. 대신, 실제의 카메라 L1이 물체 P(1370)을 캡쳐하는 것이며, 따라서 전자 장치(201)는 실제의 카메라 L1이 위치(1310)에서 실제 레이에 기반하여 캡쳐한 물체 P(1370)을 위치(1320)에서 가상의 카메라 L0가 캡쳐한 것처럼 변환하여야 한다(가상의 이미지 프레임 생성). 실제의 카메라 L1의 위치(1310)에 대한 물체 P(1370)의 깊이 값은 가상의 카메라 L0의 위치(1320)에 대한 물체 P(1370)의 깊이 값과 상이하다. 그러므로, 전자 장치(201)는 실제의 카메라 L1이 위치(1310)에서 물체 P(1370)에 대응하는 레이를 캡쳐하여 생성된 이미지 픽셀을, 가상의 카메라 L0의 위치(1320)에 대한 물체 P(1370)의 깊이 값에 기반하여 변환하여야 한다. 변환된 이미지 픽셀은 가상의 카메라 L0가 워핑된 레이를 캡쳐하여 생성된 이미지 픽셀로 볼 수 있다. 전자 장치(201)는 카메라 L1이 위치(1310)에서 워핑 전의 레이를 캡쳐하여 생성된 이미지 픽셀을, 가상 카메라 L0이 위치(1320)에서 워핑 후의 레이를 캡쳐하여 생성된 이미지 픽셀로 변환할 수 있다. 이를 통해, 카메라 L1이 실제로 광축과 이루는 수평 방향의 각도가
Figure pat00023
인 레이를 캡쳐하여 생성된 이미지 픽셀은, 해당 레이가 워핑되어 가상의 카메라에 의해 캡쳐될 때 생성되는 이미지 픽셀로 변환될 수 있다.Referring to FIG. 13, the camera L 1 is an actual camera, and actually captures lanes to generate an image frame. The lasers are warped according to the horizontal and vertical elevation angles of the camera L 1 with respect to the optical axis, and in a modified view, the virtual camera captures the warped rails to create a virtual image frame, Some are converted. However, the center ray incident in the direction of the optical axis of the camera L 1 is not warped, and the center ray is captured in view of the actual position 1310 of the camera L 1 . In Figure 13 illustratively forms an angle in the horizontal direction with the optical axis of the camera 1 L
Figure pat00022
Ray is warped, there is shown that the virtual camera to the warped ray L 0 L 0 of the virtual camera from the capture point of view (1340). According to FIG. 13, an object corresponding to a warped ray captured by the virtual camera L 0 is an object P (1370). However, since the virtual camera L 0 is not actually a camera, it can not capture the object P 1370 corresponding to the warped ray. Instead, the actual camera L 1 captures an object P 1370, so that the electronic device 201 can locate the object P 1370 captured by the actual camera L 1 based on the actual ray at location 1310 The virtual camera L 0 should be converted as if captured by the virtual camera L 0 (virtual image frame generation). The depth value of the object P 1370 with respect to the actual camera position L 1 1310 is different from the depth value of the object P 1370 with respect to the position 1320 of the virtual camera L 0 . The electronic device 201 therefore obtains the image pixel generated by capturing the ray corresponding to the object P 1370 at the actual camera L 1 at position 1310 to the object 1320 for the location 1320 of the virtual camera L 0 P &lt; / RTI &gt; (1370). The converted image pixels can be viewed as image pixels generated by capturing a virtual camera L 0 warped ray. The image pixels are generated by capturing the ray prior to warping in the electronic device 201 includes a camera L 1 is located 1310, the virtual camera L 0 The position 1320 to be converted in to an image pixel is generated by capturing the ray after warped . Thus, the horizontal angle of the camera L 1 with respect to the optical axis is
Figure pat00023
The image pixels generated by capturing the inlay can be converted into image pixels that are generated when the corresponding ray is warped and captured by the virtual camera.

이미지 픽셀을 변환하기 위해, 먼저 가상의 카메라 L0가 캡쳐하는 물체 P(1370)가 카메라 L1이 생성한 이미지 프레임에서 어느 위치에 존재하는지가 식별 되어야 한다. 다시 말해서, 물체 P(1370)의 카메라 좌표가 식별 되어야 한다. 가상의 카메라 L0의 관점(1320)에서 물체 P(1370)에 대한 깊이 값이 d일 경우, 가상의 카메라 L0의 관점(1320)에 대한 물체 P(1370)의 위치(또는 좌표)는 하기의 <수학식 2>에 의해 계산될 수 있다.In order to convert the image pixels, first, it is identified which position P (1370) captured by the virtual camera L 0 exists in the image frame generated by the camera L 1 . In other words, the camera coordinates of object P 1370 should be identified. The position (or coordinates) of the object P 1370 with respect to the viewpoint 1320 of the virtual camera L 0 is represented by the following equation (13), when the depth value for the object P 1370 in the viewpoint 1320 of the virtual camera L 0 is d: Can be calculated by Equation (2).

Figure pat00024
Figure pat00024

여기에서, Pw는 결정된 관점(1320)에 대한 물체 P(1370)의 위치, d는 관점(1320)에 대한 물체 P(1370)의 깊이 값을 의미한다.

Figure pat00025
는 관점이 바라보는 방향의 수평 방향의 각도로서, 카메라가 캡쳐하는 레이가 카메라의 광축과 수평 방향으로 이루는 각도를 의미한다.
Figure pat00026
는 관점이 바라보는 방향의 수직 방향의 고도 각으로서, 카메라가 캡쳐하는 레이가 카메라의 광축과 수직 방향으로 이루는 각도를 의미한다.Where P w is the position of the object P 1370 with respect to the determined view 1320 and d is the depth value of the object P 1370 with respect to the view 1320.
Figure pat00025
Is an angle in the horizontal direction in the direction in which the viewpoint is viewed and an angle formed by the ray captured by the camera in the horizontal direction with the optical axis of the camera.
Figure pat00026
Is an elevation angle in the vertical direction in the direction in which the viewpoint is viewed and means an angle formed by the ray captured by the camera in a direction perpendicular to the optical axis of the camera.

카메라 변환 행렬(camera matrix)가 주어졌을 때, 전자 장치(201)는 상술한 <수학식 2>에 의해 계산된 물체 P(1370)의 좌표 Pw를 카메라 좌표계로 변환할 수 있다. 다시 말해서, 전자 장치(201)는 물체 P(1370)에 대해 카메라 투영(camera projection)하였을 때 획득되는 카메라 좌표 (u,v)를 계산할 수 있다. 해당 카메라 좌표는 실제의 카메라 L1이 생성한 이미지 프레임에서 가상 카메라 L0가 워핑된 레이에 따라 물체 P(1370)를 캡쳐하였을 때 생성된 적어도 하나의 이미지 픽셀을 나타낼 수 있다. 해당 이미지 픽셀은 가상의 카메라 L0에 대한 물체 P(1370)의 깊이 값(d)에 기반하여 변환되고, 실제의 카메라 L1이 워핑 전의 레이를 캡쳐하여 생성한 이미지 픽셀은 변환된 이미지 픽셀로 대치(replace)된다. Given a camera matrix, the electronic device 201 can convert the coordinates P w of the object P 1370 calculated by Equation (2) into the camera coordinate system. In other words, the electronic device 201 may calculate the camera coordinates (u, v) obtained when camera projection is performed on the object P (1370). The camera coordinates may indicate at least one image pixel generated when an object P 1370 is captured according to a ray in which a virtual camera L 0 is warped in an image frame generated by an actual camera L 1 . The image pixel is converted based on the depth value (d) of the object P 1370 for the virtual camera L 0 , and the image pixel generated by capturing the ray before the actual camera L 1 is warped is converted into the converted image pixel It is replaced.

도 13에서, 각도

Figure pat00027
(1330)은 카메라 L1(1310)의 광축과 카메라 L1(1310)에서 물체 P(1370) 방향이 이루는 각도를 의미한다.
Figure pat00028
(1350)는 카메라 L1(1310) 및 가상 카메라 L0(1320)이 물체 P(1370)에 대해 이루는 화각 차를 의미한다. 고도 각
Figure pat00029
이 0˚일 때, 화각 차
Figure pat00030
(1350)는 각도
Figure pat00031
(1330)와 워핑된 레이가 카메라 L1(1310)의 광축과 이루는 각도(
Figure pat00032
)의 차이로 정의될 수 있다. 물체 P(1370)가 멀리 떨어져 있을수록, 화각 차
Figure pat00033
(1350)는 줄어들게 되며, 물체 P(1370)가 가까이 있을수록, 화각 차
Figure pat00034
(1350)는 커지게 된다.13,
Figure pat00027
1330 refers to the optical axis and the angle of the camera 1 L (1310) the object P (1370) forming the camera direction is L 1 (1310).
Figure pat00028
1350 denotes an angle of view angle formed by the camera L 1 1310 and the virtual camera L 0 1320 with respect to the object P 1370. Altitude angle
Figure pat00029
Is 0 DEG, the angle of view angle
Figure pat00030
(1350)
Figure pat00031
(1330) and the angle formed by the warped ray with the optical axis of the camera L 1 (1310)
Figure pat00032
). &Lt; / RTI &gt; As the object P (1370) is farther away,
Figure pat00033
(1350) is decreased, and as the object P (1370) is closer to the object P
Figure pat00034
(1350) becomes larger.

도 13에서는 하나의 레이가 워핑되는 경우만이 설명되었지만, 카메라 모듈(410)이 구비한 복수 개의 카메라들 모두가 캡쳐하는 레이들이 워핑될 수 있고, 상술한 연산들이 적용될 수 있다. 또한, 레이가 광축과 이루는 수직 방향의 각도

Figure pat00035
또한 이미지 픽셀의 변환을 위해 고려될 수 있다.Although only one ray is warped in FIG. 13, the rays captured by all of the plurality of cameras provided in the camera module 410 can be warped, and the above-described operations can be applied. Further, the angle of the ray in the vertical direction with respect to the optical axis
Figure pat00035
It can also be considered for conversion of image pixels.

도 14는 본 발명의 다양한 실시 예들에 따라 가상 카메라를 이용하여 이미지를 캡쳐하는 방법을 도시한다.Figure 14 illustrates a method of capturing an image using a virtual camera in accordance with various embodiments of the present invention.

레이(1410) 및 레이(1420)은 각각 실제의 카메라들이 화살표의 시작점에 해당하는 위치에서 캡쳐하는 중심 레이들일 수 있다. 중심 레이는 워핑되지 아니하며, 실제의 카메라들에 의해 캡쳐될 수 있다. 레이들(1430-1, 1430-2, 1430-3)은 워핑된 레이들에 해당하며, 화살표의 시작점에 해당하는 위치에서 가상의 카메라들에 의해 캡쳐되는 것으로 볼 수 있다. 모든 레이들은 카메라 모듈(410)이 구비한 실제의 카메라들에 의해 캡쳐되며, 워핑된 레이들(1430-1, 1430-2, 1430-3)은 실제의 카메라들이 캡쳐하여 생성된 이미지 프레임에서 가상 카메라들의 관점 및 깊이 값에 기반하여 변환된다. 실제 카메라들 및 가상 카메라들이 캡쳐한 레이들(1410, 1420, 1430-1, 1430-2, 1430-3)에 기반하여 물체(1450)에 대한 이미지 프레임이 생성되며, 실제 카메라들 및 가상 카메라들이 다양한 관점에서 물체(1450)를 캡쳐하였기 때문에, 이미지 프레임에서 물체(1450)에 대한 시차 문제가 최소화 될 수 있다. The ray 1410 and the ray 1420 may be center lasers captured by the actual cameras at positions corresponding to the start points of the arrows. The center ray is not warped and can be captured by real cameras. Ladders 1430-1, 1430-2, and 1430-3 correspond to warped lasers, which can be seen as being captured by virtual cameras at locations corresponding to the starting point of the arrow. All of the lasers are captured by the actual cameras provided by the camera module 410 and the warped lasers 1430-1, 1430-2, 1430-3 are captured by the actual cameras, And is converted based on the viewpoints and depth values of the cameras. An image frame for the object 1450 is generated based on the lasers 1410, 1420, 1430-1, 1430-2, 1430-3 captured by the actual cameras and the virtual cameras, and the actual cameras and virtual cameras Because the object 1450 has been captured from various perspectives, the parallax problem for the object 1450 in the image frame can be minimized.

깊이 평면들(depth plane)은 카메라 모듈(410)의 중심에서 같은 거리에 있는 위치들로 구성된다. 도 14에 따르면, 물체(1450)는 물체(1450)의 굴곡에 따라 서로 다른 깊이 평면과 교차된다. 즉, 물체의 깊이 값은 물체의 지점에 따라 상이할 수 있으며, 같은 지점이라도 그 지점을 바라보는 관점에 따라 깊이 값이 상이할 수 있다. 가상 카메라가 캡쳐하는 레이에 해당하는 물체의 지점은 실제의 카메라에 의해 캡쳐되었을 때 가상 카메라와는 상이한 깊이 값을 가지며, 전자 장치(201)는 가상 카메라가 레이를 캡쳐하여 가상의 이미지 프레임을 생성한 것처럼 이미지 프레임을 변환하기 위해 가상 카메라에 대한 깊이 값을 고려하여야 한다.The depth planes consist of positions at the same distance from the center of the camera module 410. According to Fig. 14, the object 1450 intersects with different depth planes according to the curvature of the object 1450. That is, the depth value of an object may be different depending on the point of the object, and the depth value may be different depending on the viewpoint of the point even at the same point. The point of the object corresponding to the ray captured by the virtual camera has a depth value different from that of the virtual camera when captured by the actual camera and the electronic device 201 captures the ray to capture a virtual image frame The depth value for the virtual camera must be considered in order to convert the image frame.

도 15는 본 발명의 다양한 실시 예들에 따라 가상 카메라들을 이용하여 생성된 정합 이미지를 표시하는 흐름도이다.FIG. 15 is a flow diagram illustrating a registration image generated using virtual cameras in accordance with various embodiments of the present invention.

도 15를 참고하면, 동작 1510에서, 제어부(620)는 복수의 카메라들에 의해 생성된 복수의 이미지 프레임들을 결정한다. 예를 들어, 전자 장치(201)의 이미지 생성부(610)는 복수의 카메라들을 구비할 수 있으며, 복수의 카메라들 각각은 카메라 렌즈로 모이는 레이들을 캡쳐하여 이미지 프레임을 생성할 수 있다. 복수의 카메라들은 실제의 물리적인 카메라에 해당한다. 제어부(610)는 이미지 생성부(610)가 생성한 이미지 프레임들을 수신하여 복수의 카메라들에 의해 생성된 복수의 이미지 프레임들을 결정할 수 있다. 다른 예로, 전자 장치(201)는 전자 장치(201)와는 별개인 외부 장치로부터 생성된 복수의 이미지 프레임들을 수신할 수 있다. 다시 말해서, 이미지 생성부(610)와 같은 외부 장치는 복수의 카메라들을 구비할 수 있으며, 복수의 카메라들 각각은 카메라 렌즈로 모이는 레이들을 캡쳐하여 이미지 프레임을 생성할 수 있다. 제어부(610)는 외부 장치가 생성한 이미지 프레임들을 수신하여 복수의 카메라들에 의해 생성된 복수의 이미지 프레임들을 결정할 수 있다. Referring to FIG. 15, in operation 1510, the control unit 620 determines a plurality of image frames generated by the plurality of cameras. For example, the image generating unit 610 of the electronic device 201 may include a plurality of cameras, and each of the plurality of cameras may capture images of the lasers gathered by the camera lens to generate image frames. The plurality of cameras corresponds to an actual physical camera. The control unit 610 may receive the image frames generated by the image generating unit 610 and may determine a plurality of image frames generated by the plurality of cameras. As another example, the electronic device 201 may receive a plurality of image frames generated from an external device that is separate from the electronic device 201. [ In other words, the external device, such as the image generating unit 610, may have a plurality of cameras, and each of the plurality of cameras may capture images of the lasers gathered by the camera lens to generate image frames. The controller 610 may receive the image frames generated by the external device and determine a plurality of image frames generated by the plurality of cameras.

동작 1520에서, 제어부(620)는 복수의 카메라들과 다른 곳에 위치한 적어도 하나의 가상 카메라에 기반하여 복수의 이미지 프레임들을 변환한다. 이미지 생성부(610)을 구성하는 각각의 카메라가 캡쳐한 레이들은 해당하는 가상 카메라의 위치로 워핑되고, 제어부(620)는 마치 가상 카메라가 각각의 관점에서 워핑된 레이들을 캡쳐하여 가상의 이미지 프레임을 생성한 것처럼 이미지 프레임들을 변환할 수 있다. 즉, 각 레이는 이미지 프레임의 일부 영역에 대응하며, 워핑을 통해 이미지 프레임의 일부 영역들 각각이 변형될 수 있다. 여기서, 일부 영역은 적어도 하나의 픽셀을 포함한다.In operation 1520, the control unit 620 converts a plurality of image frames based on the plurality of cameras and at least one virtual camera located elsewhere. The captured images of the respective cameras constituting the image generator 610 are warped to the positions of the corresponding virtual cameras, and the controller 620 captures warped rails from the virtual camera's viewpoints, Image frames as if they were generated. That is, each ray corresponds to a partial area of the image frame, and each of the partial areas of the image frame may be deformed through warping. Here, some regions include at least one pixel.

동작 1530에서, 제어부(620)는 변환된 복수의 이미지 프레임들로부터 적어도 하나의 정합 이미지를 생성한다. 예를 들어, 제어부(620)는 이미지 생성부(610)의 좌측 카메라들이 캡쳐한 이미지 프레임들을 변환하고, 변환된 이미지 프레임들을 스티칭하여 좌측 파노라마를 생성할 수 있고, 우측 카메라들이 캡쳐한 이미지 프레임들을 변환하고, 변환된 이미지 프레임들을 스티칭하여 우측 파노라마를 생성할 수 있다.In operation 1530, the control unit 620 generates at least one matched image from the plurality of transformed image frames. For example, the control unit 620 may convert the image frames captured by the left cameras of the image generating unit 610, and may stitch the converted image frames to generate a left panorama, And stitch the converted image frames to create a right panorama.

동작 1540에서, 디스플레이(630)는 적어도 하나의 정합 이미지의 일부를 표시할 수 있다. 예를 들어, 제어부(620)이 동작 1530에서 생성한 좌측 파노라마 및 우측 파노라마는 360도 회전 이미지일 수 있고, 디스플레이(630)는 360도에 해당하는 화면 중 디스플레이(630)가 커버할 수 있는 FOV의 범위의 일부를 표시할 수 있다. 또한, 디스플레이(630)는 좌측 파노라마의 일부와 우측 파노라마의 일부가 모두 표시되도록 하여, 각각의 일부가 사용자의 양안을 통해 렌더링 되도록 할 수 있다.At operation 1540, the display 630 may display a portion of at least one registered image. For example, the left panorama and the right panorama generated by the controller 620 in operation 1530 may be a 360-degree rotated image, and the display 630 may display a FOV Can be displayed. Display 630 may also allow both a portion of the left panorama and a portion of the right panorama to be displayed so that each portion is rendered through both eyes of the user.

도 16은 본 발명의 다양한 실시 예들에 따라 워핑에 기반하여 이미지를 변환하는 흐름도이다. 도 16의 흐름도에서 동작들은 동작 1520에서 제어부(620)가 복수의 카메라들과 다른 곳에 위치한 적어도 하나의 가상 카메라에 기반하여 복수의 이미지 프레임들을 변환하기 위해 수행될 수 있다.16 is a flow chart for transforming an image based on warping in accordance with various embodiments of the present invention. Operations in the flow chart of FIG. 16 can be performed in operation 1520 to convert a plurality of image frames based on at least one virtual camera, where the control unit 620 is located at a different location from the plurality of cameras.

도 16을 참고하면, 동작 1610에서, 제어부(620)는 광축 방향이 아닌 방향의 레이에 기반하여 생성된 적어도 하나의 제1 이미지 픽셀을 식별한다. 이미지 생성부(610)를 구성하는 복수의 카메라들은 각각 물체로부터 반사되어 입사되는 레이들을 캡쳐하여 이미지 프레임을 생성할 수 있고, 제어부(620)는 레이들 중 광축 방향이 아닌 레이가 이미지 센서에 투영되어 생성된 이미지 픽셀을 식별할 수 있다.16, at operation 1610, the controller 620 identifies at least one first image pixel generated based on a ray in a direction other than the direction of the optical axis. A plurality of cameras constituting the image generating unit 610 can generate image frames by capturing lasers reflected from an object, respectively, and the control unit 620 controls the lasers, not the direction of the optical axis, Thereby identifying the generated image pixels.

동작 1620에서, 제어부(620)는 레이에 대응하는 위치의 적어도 하나의 가상 카메라에서 레이의 방향에 대한 적어도 하나의 제2 이미지 픽셀을 결정한다. ODS 투영이 적용될 경우, 레이들은 워핑될 수 있고, 제어부(620)는 워핑된 위치에서 가상의 카메라가 해당 레이를 캡쳐한 것처럼 이미지 프레임을 변환할 수 있다. 이를 위해, 제어부(620)는 가상 카메라의 관점에서 레이 방향의 물체가 가상 카메라에 캡쳐된다면 생성될 이미지 픽셀을 결정할 수 있다. 워핑될 레이가 결정되면, 레이가 광축과 이루는 수평 방향의 각도 및 수직 방향의 각도가 결정되므로, <수학식 1>에 의해 워핑된 레이를 캡쳐하는 관점이 결정될 수 있다. 다시 말해서, 레이가 결정되면 레이에 대응하는 위치가 결정될 수 있고, 제어부(620)는 레이에 대응하는 위치의 적어도 하나의 가상 카메라에서 레이의 방향에 대한 제2 이미지 픽셀을 식별할 수 있다. 제2 이미지 픽셀은, 예를 들면, 도 13에서 설명된 것과 같이 가상 카메라 L0가 위치(1320)에서 워핑된 레이에 대응하는 물체 P(1370)를 캡쳐한다면 생성될 이미지 픽셀일 수 있고, <수학식 2>에서 계산된 카메라 좌표(u,v)에 해당하는 픽셀일 수 있다.In operation 1620, the controller 620 determines at least one second image pixel for the direction of the ray in at least one virtual camera at a location corresponding to the ray. When ODS projection is applied, the lasers can be warped and the control unit 620 can convert the image frame as if the virtual camera captured the ray at the warped position. To this end, the control unit 620 can determine an image pixel to be generated if an object in the ray direction is captured by the virtual camera in terms of the virtual camera. When the ray to be warped is determined, the angle in the horizontal direction and the angle in the vertical direction that the ray forms with the optical axis are determined, so that the viewpoint of capturing the warped ray by Equation (1) can be determined. In other words, when the ray is determined, the position corresponding to the ray can be determined, and the control unit 620 can identify the second image pixel with respect to the ray direction in at least one virtual camera at a position corresponding to the ray. The second image pixel may be an image pixel to be generated if, for example, the virtual camera L 0 captures an object P 1370 corresponding to the warped ray at location 1320 as described in FIG. 13, May be a pixel corresponding to the camera coordinates (u, v) calculated in Equation (2).

동작 1630에서, 제어부(620)는 결정된 적어도 하나의 제2 이미지 픽셀의 깊이 값을 계산한다. 일 예로서, 도 17은 본 발명의 다양한 실시 예들에 따라 이미지 픽셀을 깊이 값을 계산하는 방법을 도시한다. 도 17에서, 점선으로 표현된 것은 깊이 평면들(1730, 1740, 1750, 1760)을 나타낸다. 깊이 평면들은 카메라 모듈(410)의 중심에서 같은 거리에 있는 위치들로 구성된다. 카메라 L1은 실제의 카메라로서, 위치(1710)에서 카메라 L1의 렌즈로 레이들을 캡쳐하여 이미지 프레임을 생성한다. ODS 투영을 위해, 레이들은 워핑될 수 있고, 가상의 카메라 L0는 위치(1720)에서 레이들 중 해당하는 워핑된 하나의 레이를 캡쳐한다. 레이가 워핑되어 가상의 카메라 L0가 캡쳐하는 것과 같은 효과를 내기 위해, 가상의 카메라 L0에 대한 물체의 깊이 값이 고려되어야 한다.In operation 1630, the controller 620 calculates the depth value of the determined at least one second image pixel. By way of example, FIG. 17 illustrates a method of computing depth values for image pixels in accordance with various embodiments of the present invention. In Fig. 17, what is represented by the dashed lines represents the depth planes 1730, 1740, 1750, and 1760. The depth planes consist of positions at the same distance from the center of the camera module 410. The camera L 1 is an actual camera, capturing lasers at the position 1710 with the lens of the camera L 1 to generate an image frame. For ODS projection, the lasers can be warped and the virtual camera L 0 captures a corresponding warped one of the lasers at location 1720. The depth value of the object with respect to the virtual camera L 0 must be considered in order to achieve the same effect that the virtual camera L 0 captures when the ray is warped.

*일 예로서, 카메라 L1뿐만 아니라 다른 실제의 카메라들(L2 내지 L3 중 적어도 하나(미도시))이 레이를 캡쳐하여 생성한 이미지 프레임을 각각의 깊이 평면들(1730, 1740, 1750, 1760)에 <수학식 2>에 따라 재투영하여 가상의 카메라 L0에 대한 물체의 깊이 값이 계산될 수 있다. 재투영된 이미지 프레임들은 서로 오버랩하게 되고, 재투영된 이미지 프레임에서 가상의 카메라 L0가 캡쳐한 워핑된 레이에 대응하는 이미지 픽셀들이 각 깊이 평면에서 얼마나 잘 오버랩 되는지를 판단하여 물체의 깊이 값이 계산될 수 있다. 예를 들어, 이미지 픽셀들의 오버랩 정도는 각각의 깊이 평면에 대해 재투영된 이미지 프레임에서 이미지 픽셀들의 픽셀 값 차이에 기반하여 결정될 수 있다. 픽셀 값 차이가 작을수록 이미지 픽셀들이 해당 깊이 평면에서 잘 오버랩 되는 것이며, 제어부(620)는 가장 오버랩이 잘 되는 깊이 평면의 깊이 값을 워핑된 레이에 대응하는 적어도 하나의 제2 이미지 픽셀의 깊이 값으로 결정할 수 있다.As an example, not only the camera L 1 but also other actual cameras (at least one of L 2 to L 3 (not shown)) captures an image frame generated by capturing the rays into respective depth planes 1730, 1740, 1750 , 1760, the depth value of the object with respect to the virtual camera L 0 can be calculated. The re-projected image frames overlap each other and determine how well the image pixels corresponding to the warped ray captured by the virtual camera L 0 in the re-projected image frame overlap in each depth plane so that the depth value of the object Can be calculated. For example, the degree of overlap of the image pixels may be determined based on the pixel value difference of the image pixels in the re-projected image frame for each depth plane. The smaller the pixel value difference is, the more the image pixels overlap well in the corresponding depth plane, and the controller 620 determines the depth value of the most overlapping depth plane as the depth value of at least one second image pixel corresponding to the warped ray .

도 17에서 설명된 것과 같이 이미지 픽셀의 깊이 값을 계산하는 것은 단지 예시적인 것이다. 본 발명의 다양한 실시 예들에서는 일반적인 이미지 픽셀의 깊이 값을 계산하는 알고리즘을 포함하여, 도 17에서 설명된 깊이 값 계산 법과는 다른 방법에 의해 이미지 픽셀의 깊이 값이 계산될 수 있다. 또한, 실제의 카메라에 캡쳐된 어떤 물체의 깊이 값이 이미 알려진 경우, 해당 물체를 캡쳐하는 가상 카메라의 관점은 <수학식 1>에 의해 결정될 수 있는 것이므로, 가상의 카메라에 대한 물체의 깊이 값은 쉽게 계산될 수 있다.The calculation of the depth value of an image pixel as described in Fig. 17 is merely exemplary. In various embodiments of the present invention, the depth value of an image pixel can be calculated by a method different from the depth value calculation method described in FIG. 17, including an algorithm for calculating a depth value of a general image pixel. In addition, if the depth value of an object captured by an actual camera is already known, the viewpoint of the virtual camera capturing the object can be determined by Equation (1) It can easily be calculated.

동작 1640에서, 제어부(620)는 적어도 하나의 가상 카메라에 대한 적어도 하나의 제2 이미지 픽셀의 깊이 값에 기반하여 적어도 하나의 제1 이미지 픽셀을 변환한다. 제1 이미지 픽셀은 워핑된 레이에 기반하여 생성된 제2 이미지 픽셀로 대치되어야 하고, 제2 이미지 픽셀은 실제 카메라가 아닌 가상 카메라에 대한 깊이 값이 반영되어야 한다. 즉, 제2 이미지 픽셀의 깊이 값은 가상 카메라에 대한 깊이 값이 적용되도록 변환되고, 제1 이미지 픽셀은 변환된 제2 이미지 픽셀로 대치된다.In operation 1640, the control unit 620 converts at least one first image pixel based on the depth value of the at least one second image pixel for the at least one virtual camera. The first image pixel should be replaced with the second image pixel generated based on the warped ray and the second image pixel should reflect the depth value for the virtual camera other than the actual camera. That is, the depth value of the second image pixel is converted so that the depth value for the virtual camera is applied, and the first image pixel is replaced with the converted second image pixel.

이미지 프레임들을 캡쳐하여 ODS 투영을 수행하기 전, 카메라 캘리브레이션(calibration)이 먼저 수행되어야 한다. 카메라 캘리브레이션은 카메라가 캡쳐하는 입체적인 물체 또는 이미지가 이미지 센서의 대응되는 위치로 투영되도록 카메라들을 조절하는 것을 의미한다. 다시 말해서, 카메라 캘리브레이션이 적용 되면, 이미지 센서에서의 좌표 (u,v)와 실제 물체에 대한 모든 좌표 (x,y,z)가 대응되도록 결정될 수 있다. Prior to performing the ODS projection by capturing image frames, a camera calibration must be performed first. Camera calibration means adjusting the cameras so that the stereoscopic object or image captured by the camera is projected to the corresponding position in the image sensor. In other words, once the camera calibration is applied, it can be determined that the coordinates (u, v) in the image sensor and all the coordinates (x, y, z)

카메라가 물체를 캡쳐할 경우, 물체의 각 점은 카메라가 캡쳐하는 레이에 대응될 수 있다. 각각의 레이는 카메라의 광축과 이루는 수평 방향의 각도(

Figure pat00036
) 및 수직 방향의 고도 각(
Figure pat00037
)에 의해 방향이 결정될 수 있다. 이에 따라, 각 레이에 대응하는 이미지 센서의 좌표 (u,v)는 하기의 <수학식 3>에 의해 결정될 수 있다.When the camera captures an object, each point of the object can correspond to a ray captured by the camera. Each ray has a horizontal angle with the optical axis of the camera (
Figure pat00036
) And vertical altitude angle (
Figure pat00037
The direction can be determined by the angle? Accordingly, the coordinates (u, v) of the image sensor corresponding to each ray can be determined by Equation (3) below.

Figure pat00038
Figure pat00038

여기에서, (u,v)는 이미지 센서의 좌표, A는 카메라 렌즈의 기울어짐(tilt)을 보상하기 위한 아핀 변환(affine transformation) 행렬, (xc,yc)는 카메라의 광심(optical center),

Figure pat00039
는 레이가 카메라의 광축과 이루는 수평 방향의 각도,
Figure pat00040
는 어안 반경(fisheye radius)을 의미한다. 어안 반경
Figure pat00041
는 하기의 <수학식 4>와 같이 5차 다항식
Figure pat00042
로 모델링 될 수 있다.Here, (u, v) is the coordinates of the image sensor, A is an affine transformation matrix for compensating the tilt of the camera lens, (x c , y c ) is the optical center of the camera ),
Figure pat00039
Is the angle of the ray in the horizontal direction with the optical axis of the camera,
Figure pat00040
Means the fisheye radius. Fisheye radius
Figure pat00041
As shown in Equation (4) below,
Figure pat00042
Lt; / RTI &gt;

Figure pat00043
Figure pat00043

여기에서,

Figure pat00044
는 어안 반경,
Figure pat00045
는 레이가 카메라의 광축과 이루는 수직 방향의 고도 각,
Figure pat00046
는 5차 다항식의 계수(coefficient)를 의미한다.From here,
Figure pat00044
The fisheye radius,
Figure pat00045
Is an elevation angle in the vertical direction that the ray forms with the optical axis of the camera,
Figure pat00046
Denotes the coefficient of the fifth-order polynomial.

도 4b 내지 도 4h에 나타난 것처럼 카메라가 배치되었음을 가정하면, 카메라 캘리브레이션을 위해 카메라의 세 개의 회전 각도(롤(roll), 피치(pitch), 요(yaw)) 가 최적으로 조절될 수 있다. 세 개의 회전 각도를 최적화하기 위한 절차는 하기와 같다.Assuming that the camera is positioned as shown in FIGS. 4B-4H, the three rotation angles (roll, pitch, yaw) of the camera can be optimally adjusted for camera calibration. The procedure for optimizing the three rotation angles is as follows.

먼저, 각각의 입체 쌍을 구성하는 카메라들에 대한 대응 점들이 카메라들로부터 먼 거리에 결정된다. 다음으로, 각각의 좌측 카메라들 L1 내지 L8 및 각각의 우측 카메라들 R1 내지 R8에 대해, 롤 및 피치가 0˚가 되고, 요가 (i-1)*45˚가 되도록 설정된다. 여기에서, i는 각각의 카메라 번호(Li 또는 Ri)에 대응한다. 대응 점들은 카메라로부터 매우 멀리 떨어져 있다고 가정하고, 대응 점들이 ODS 투영된 후의 거리가 계산된다. 마지막으로, 각 카메라의 롤, 피치 및 요 각도는 ODS 투영에서 대응 점들간 거리가 최소화 되도록 최적화될 수 있다.First, the corresponding points for the cameras that make up each stereo pair are determined a long distance from the cameras. Next, for each of the left cameras L 1 to L 8 and each of the right cameras R 1 to R 8 , the roll and pitch are set to 0 ° and set to yaw (i-1) * 45 °. Here, i is the number of each camera (L i Or R i . Assuming that the corresponding points are very far from the camera, the distance after the corresponding points are projected onto the ODS is calculated. Finally, the roll, pitch, and yaw angle of each camera can be optimized to minimize the distance between corresponding points in the ODS projection.

카메라에 대한 상술한 캘리브레이션 절차가 수행된 후, 제어부(620)는 저장부(640)에 카메라 캘리브레이션에 의한 파라미터들(예를 들면, 롤, 피치 및 요 각도 값)을 저장할 수 있다. 이후에 전자 장치(201)가 수행하는 이미지 프레임 생성 및 처리는 저장된 파라미터들에 기반하여 수행될 수 있다.After the above-described calibration procedure for the camera is performed, the controller 620 may store parameters (e.g., roll, pitch, and yaw angle values) by camera calibration in the storage unit 640. The image frame generation and processing performed by the electronic device 201 thereafter may be performed based on the stored parameters.

도 18은 본 발명의 다양한 실시 예들에 따라 카메라 캘리브레이션(calibration)을 수행하기 위한 흐름도이다. 하기의 동작들은 동작 1510 이전에 수행될 수 있다.18 is a flow chart for performing camera calibration in accordance with various embodiments of the present invention. The following operations may be performed prior to operation 1510.

도 18을 참고하면, 동작 1810에서, 제어부(620)는 복수의 카메라들 각각에 대한 캘리브레이션을 수행한다. 예를 들어, 캘리브레이션은 각 카메라에 대한 롤, 피치 및 요 각도를 결정하는 것을 의미한다.Referring to Fig. 18, in operation 1810, the control unit 620 performs calibration for each of the plurality of cameras. For example, calibration refers to determining the roll, pitch, and yaw angle for each camera.

동작 1820에서, 제어부(620)는 캘리브레이션에 대한 적어도 하나의 파라미터를 저장한다. 제어부(620)는 캘리브레이션에 의한 파라미터들(예를 들면, 롤, 피치 및 요 각도 값)을 저장부(640)에 저장할 수 있으며, 이후에 전자 장치(201)가 수행하는 이미지 프레임 생성 및 처리는 저장된 파라미터들에 기반하여 수행될 수 있다.In operation 1820, the control unit 620 stores at least one parameter for the calibration. The control unit 620 may store the parameters (e.g., roll, pitch and yaw angle values) by calibration in the storage unit 640 and the image frame creation and processing performed by the electronic device 201 thereafter Can be performed based on stored parameters.

도 19는 본 발명의 다양한 실시 예들에 따라 이미지 프레임들을 스티칭(stitching)하는 흐름도이다. ODS 투영에 의해 이미지 프레임들이 변환된 후, 변환된 이미지 프레임들은 스티칭되어 최종적인 파노라마 이미지가 생성된다. 변환된 이미지 프레임들을 스티칭하는 동작은 하기와 같다. Figure 19 is a flowchart of stitching image frames in accordance with various embodiments of the present invention. After the image frames are converted by the ODS projection, the converted image frames are stitched to produce the final panorama image. The operation of stitching the converted image frames is as follows.

도 19를 참고하면, 동작 1910에서, 제어부(620)는 복수의 이미지 프레임들에 대한 적어도 하나의 심을 결정한다. 이미지 스티칭을 위한 심을 결정하기 이전에, 이미지 프레임들에서 특징점을 검출하고, 검출된 특징 점들의 대응 점에 기반하여 이미지 프레임들을 정렬(align)하여야 하나, 본 발명의 다양한 실시 예에 따른 ODS 투영이 적용되면, 레이들이 워핑되는 과정에서 이미지 프레임들이 이미 정렬된 것으로 볼 수 있다. 따라서, 본 발명의 다양한 실시 예들에 따르면, 이미지 스티칭을 위해 특징점 검출에 기반한 이미지 정렬 동작은 생략될 수 있다. 일 예로, 제어부(620)는 중첩된 이미지 프레임들의 영역에서 심을 결정하며, 심에 인접한 각 이미지 프레임의 픽셀에서 픽셀 값, 색상 및 밝기에 관한 파라미터 값의 차이가 최소화되도록 심을 결정할 수 있다. 또 다른 예로, 제어부(620)는 보다 간단하게 각각의 변환된 이미지 프레임에서 수직 방향의 선(vertical linear line)을 심으로 결정할 수 있다. 즉, 변환된 이미지 프레임들은 레이들이 워핑되는 과정에서 잘 정렬된 것으로 볼 수 있으므로, 제어부(620)는 변환된 이미지 프레임들에서 두 카메라의 가운데에 해당하는 부분에서 수직 방향의 선을 심으로 결정할 수 있다. Referring to FIG. 19, at operation 1910, the control unit 620 determines at least one shim for a plurality of image frames. Before determining the shims for image stitching, the feature points should be detected in the image frames and the image frames should be aligned based on the corresponding points of the detected feature points, but the ODS projection according to various embodiments of the present invention Once applied, image frames can be seen as already aligned in the process of warping the lasers. Thus, according to various embodiments of the present invention, image alignment operations based on feature point detection for image stitching can be omitted. In one example, the controller 620 may determine shims in the area of the superimposed image frames, and may determine shims to minimize differences in parameter values for pixel values, hues, and brightness in pixels of each image frame adjacent to the shim. As another example, the control unit 620 can more simply determine a vertical linear line in each transformed image frame. In other words, since the converted image frames can be regarded as well-aligned in the process of warping the lanes, the controller 620 can determine the vertical line in the center of the two cameras in the converted image frames have.

동작 1920에서, 제어부(620)는 적어도 하나의 심에 기반하여 복수의 이미지 프레임들에 대한 블렌딩을 수행한다. 예를 들어, 제어부(620)는 심에 의해 구분되는 영역들이 매끄럽게 연결되는 것으로 보이도록 노출 및 색상에 관한 파라미터가 해당 영역에서 균일하게 되도록 보상할 수 있다.In operation 1920, the control unit 620 performs blending on a plurality of image frames based on at least one shim. For example, the control unit 620 can compensate the exposure and color parameters to be uniform in the corresponding region so that the regions separated by the shim are seen to be smoothly connected.

상술한 실시 예에 따라, 파노라마 이미지, 즉, 정합된 이미지가 생성될 수 있다. 본 발명의 다양한 실시 예들에 따라 생성된 파노라마 이미지의 일 예는 이하 도 20과 같다. 도 20은 본 발명의 다양한 실시 예들에 따라 정합된 이미지(2000)를 도시한다.According to the embodiment described above, a panoramic image, i.e. a matched image, can be generated. An example of a panoramic image generated according to various embodiments of the present invention is shown in FIG. 20 below. FIG. 20 illustrates a matched image 2000 in accordance with various embodiments of the present invention.

좌측 카메라들(L1 내지 L8) 및 우측 카메라들(R1 내지 R8)이 생성한 이미지 프레임들은 ODS 투영에 의해 변환되고, 변환된 이미지 프레임들이 스티칭되어 정합 이미지가 생성된다. 정합 이미지(2000)는 좌측 파노라마 또는 우측 파노라마일 수 있다. 심 1(2010) 및 심 2(2020)는 이미지 프레임들의 스티칭 과정에서 결정되며, 정합 이미지(2000)에서 심 1(2010) 및 심 2(2020)에 의해 구분되는 영역은 정합 이미지(2000)를 생성하기 위한 이미지 프레임에 해당한다. 정합 이미지(2000)에 생성된 심 1(2010) 및 심 2(2020)는 예시적인 것이며, 정합 이미지(2000)는 이미지 프레임들의 개수만큼 심들을 포함할 수 있고, 심의 모양은 심 1(2010) 및 심 2(2020)과 상이할 수 있다. 상술한 바와 같이, ODS 투영에 의해 변환된 이미지 프레임들은 레이들이 워핑되는 과정에서 잘 정렬된 것으로 볼 수 있으므로, 도 20에서 도시된 것처럼 심 1(2010) 및 심 2(2020)는 수직 방향의 선으로 결정될 수 있다. The image frames generated by the left cameras (L 1 to L 8 ) and the right cameras (R 1 to R 8 ) are converted by the ODS projection, and the converted image frames are stitched to generate a matched image. The matching image 2000 may be a left panorama or a right panorama. The shim 1 2010 and the shim 2 2020 are determined in the stitching process of the image frames and the region separated by the shim 1 2010 and the shim 2 2020 in the matching image 2000 is the matching image 2000 It corresponds to the image frame to be generated. The shim 1 2010 and shim 2 2020 generated in the matching image 2000 are illustrative and the matching image 2000 may include shims as many as the number of image frames, 0.0 &gt; 2020 &lt; / RTI &gt; As described above, since the image frames converted by the ODS projection can be regarded as well-aligned in the process of warping the lobes, the shim 1 2010 and the shim 2 2020, as shown in Fig. 20, . &Lt; / RTI &gt;

ODS 투영이 적용되면, 파노라마 이미지를 생성하기 위해 각 카메라가 캡쳐하는 레이들은 모두 실제 카메라의 관점에서 투영되는 것이 아니고, 각 레이는 워핑되어 가상 카메라의 관점에서 캡쳐된 것처럼 변환된다. 따라서, ODS 투영에 따라 서로 다른 위치의 카메라가 동일한 물체를 캡쳐하여 생기는 시차 문제가 정합 이미지에서 줄어들 수 있다. 도 20에 도시된 정합 이미지(2000)에 따르면, 정합 이미지(2000)는 원거리 및 근거리 물체를 포함하는 이미지 프레임들이 스티칭되어 구성되나, 심 1(2010) 및 심 2(2020)의 주변 영역에서 이중상이나 근거리 잘림이 나타나지 않는다. When ODS projection is applied, the lasers that each camera captures to produce a panoramic image are not all projected from the perspective of the actual camera, and each ray is warped and transformed as if captured from the perspective of the virtual camera. Therefore, the parallax problem caused by the cameras at different positions capturing the same object according to the ODS projection can be reduced in the matching image. According to the matching image 2000 shown in Fig. 20, the matching image 2000 is constructed by stitching image frames including a long distance and a short distance object, No top or short cuts appear.

도 21은 본 발명의 다양한 실시 예들에 따라 카메라의 고도 각과 카메라들의 관점간 거리의 관계를 도시한다. 도 21에서, 가로축은 입체 쌍을 구성하는 카메라들의 관점간 거리를, 세로축은 카메라가 캡쳐하는 레이의 고도 각을 나타낸다.Figure 21 illustrates the relationship between elevation angles of cameras and distances of view of cameras according to various embodiments of the present invention. In Fig. 21, the horizontal axis represents the distance between the viewpoints of the cameras constituting the stereo pair, and the vertical axis represents the altitude of the ray captured by the camera.

도 12에서 설명된 것처럼, ODS 투영이 적용될 경우 입체 쌍을 구성하는 카메라들의 관점간 거리는 각 카메라가 캡쳐하는 레이의 고도 각 (

Figure pat00047
)에 따라 달라질 수 있다. 관점간 거리가 짧아질수록 물체에 대한 화각이 줄어들어 원근이 상대적으로 식별되기 어려우므로, 관점간 거리는 3D 효과의 정도와 관련이 있다. 다시 말해서, 관점간 거리가 큰 경우 사용자에 의한 3D 인식이 양호할 수 있고, 관점간 거리가 짧을 경우 사용자에 의해 파노라마 이미지가 2D에 가깝게 인식될 수 있다. 또한, 관점간 거리가 0일 경우(zero baseline), 파노라마 이미지는 완전한 2D(pure 2D)로 사용자에게 인식될 수 있다. 12, when the ODS projection is applied, the distance between the viewpoints of the cameras constituting the stereopair is determined by the height angle (
Figure pat00047
). &Lt; / RTI &gt; The distance between viewpoints is related to the degree of 3D effect, as the distance between viewpoints is shorter and the angle of view for the object is reduced, making it difficult to identify the perspective relative. In other words, if the distance between the viewpoints is large, 3D recognition by the user can be good, and if the distance between the viewpoints is short, the panorama image can be perceived close to 2D by the user. In addition, when the distance between viewpoints is zero (zero baseline), the panoramic image can be recognized by the user in complete 2D (pure 2D).

도 21에 도시된 포물선은 관점관 거리와 카메라가 캡쳐하는 레이의 고도 각 (

Figure pat00048
)의 관계를 도시한다. v는 관점간 거리가 0일 때의 고도 각으로, 파노라마 이미지가 사용자에 의해 완전한 2D로 인식되는 고도 각을 의미한다. 예를 들어, v는 <수학식 1>에서 계수 f의 값에 따라 45˚ 내지 90˚ 범위에서 변하는 각도일 수 있다. 도 21에 따르면, 고도 각
Figure pat00049
가 증가할수록 관점간 거리가 포물선을 따라 부드럽게 감소하므로, 고도 각에 따라 3D 효과의 정도가 적어질 수 있다. 다시 말해서, ODS 투영에 의해 사용자의 시선 이동에 따른 3D에서 2D로의 급격한 변화가 방지될 수 있다. 도 21에 따르면, 영역(2110) 이내의 고도 각 범위에서는 사용자에 의한 3D 인식이 양호할 수 있다. 또한, 고도각이
Figure pat00050
v 범위를 벗어난 영역(2120)의 경우, 파노라마 이미지는 사용자에게 2D로 인식될 수 있다. 영역(2110) 및 영역(2120) 이외의 영역은 트렌지션 영역(transition area)(2130)으로, 고도 각이 증가할수록 사용자가 느끼는 3D 효과가 점진적으로 감소하는 영역에 해당한다. 다시 말해서, 트랜지션 영역(2130)은 고도 각이 증가함에 따라 3D에서 2D로의 급격한 변화를 방지하는 버퍼 영역일 수 있다. The parabolic curve shown in Fig. 21 shows the relationship between the viewpoint distance and the altitude angle of the ray captured by the camera
Figure pat00048
). &Lt; / RTI > v is the elevation angle when the distance between viewpoints is 0, and the elevation angle at which the panoramic image is recognized by the user as complete 2D. For example, v may be an angle varying in the range of 45 DEG to 90 DEG according to the value of the coefficient f in Equation (1). According to Fig. 21,
Figure pat00049
, The distance between viewpoints decreases smoothly along the parabola, so that the degree of the 3D effect may be reduced depending on the elevation angle. In other words, the sudden change from 3D to 2D due to the user's gaze movement can be prevented by the ODS projection. According to Fig. 21, 3D recognition by the user can be good in the elevation angle range within the area 2110. [ In addition,
Figure pat00050
v For the out-of-range region 2120, the panoramic image may be recognized as 2D by the user. A region other than the region 2110 and the region 2120 is a transition region 2130 and corresponds to a region where the 3D effect experienced by the user gradually decreases as the elevation angle increases. In other words, the transition region 2130 may be a buffer region that prevents sudden changes from 3D to 2D as the elevation angle increases.

만약, 콘텐츠가 모든 화각에 대해 관점간 거리가 동일한 채로 렌더링될 경우, 고도 각

Figure pat00051
의 변화에 따라 화면 뒤집어짐 문제(veiw flip problem)이 생길 수 있다. 그러나, 본 발명의 다양한 실시 예들에 따르면, 3D에서 2D로의 변화는 급격하게 발생하지 않고, 서서히 발생하므로, 화면 뒤집어짐 문제가 줄어들 수 있다. If the content is rendered with the same inter-view distance for all view angles, the altitude angle
Figure pat00051
The screen flip problem (veiw flip problem) may occur. However, according to various embodiments of the present invention, the 3D to 2D transition does not occur rapidly but occurs slowly, so that the problem of screen overturn can be reduced.

본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다. As used herein, the term "module " includes units comprised of hardware, software, or firmware and may be used interchangeably with terms such as, for example, logic, logic blocks, components, or circuits. A "module" may be an integrally constructed component or a minimum unit or part thereof that performs one or more functions. "Module" may be implemented either mechanically or electronically, for example, by application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs) And may include programmable logic devices.

다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예: 메모리(130))에 저장된 명령어로 구현될 수 있다. 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다.At least some of the devices (e.g., modules or functions thereof) or methods (e.g., operations) according to various embodiments may be stored in a computer readable storage medium (e.g., memory 130) . &Lt; / RTI &gt; When an instruction is executed by a processor (e.g., processor 120), the processor may perform a function corresponding to the instruction. The computer-readable recording medium may be a hard disk, a floppy disk, a magnetic medium such as a magnetic tape, an optical recording medium such as a CD-ROM, a DVD, a magnetic-optical medium such as a floppy disk, The instructions may include code that is generated by the compiler or code that may be executed by the interpreter. Modules or program modules according to various embodiments may include at least one or more of the components described above Some of which may be omitted, or may further include other components.

그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 다양한 실시 예의 범위를 한정하는 것은 아니다. 따라서, 본 발명의 다양한 실시 예의 범위는, 본 발명의 다양한 실시 예의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다. And the embodiments disclosed in this document are presented for the purpose of explanation and understanding of the disclosed contents and do not limit the scope of various embodiments of the present invention. Accordingly, the scope of the various embodiments of the present invention should be construed as including all changes or various other embodiments based on the technical idea of various embodiments of the present invention.

Claims (20)

전자 장치의 동작 방법에 있어서,
복수의 카메라들에 의해 생성된 복수의 이미지 프레임들을 결정하는 동작과,
상기 복수의 카메라들과 다른 곳에 위치한 적어도 하나의 가상 카메라에 기반하여 상기 복수의 이미지 프레임들을 변환하는 동작과,
상기 변환된 복수의 이미지 프레임들로부터 적어도 하나의 정합 이미지를 생성하는 동작과,
상기 적어도 하나의 정합 이미지의 적어도 일부를 표시하는 동작을 포함하는 방법.
A method of operating an electronic device,
Determining a plurality of image frames generated by the plurality of cameras,
Converting the plurality of image frames based on at least one virtual camera located at a different location from the plurality of cameras;
Generating at least one matched image from the transformed plurality of image frames;
And displaying at least a portion of the at least one registered image.
제1항에 있어서,
상기 복수의 카메라들은 제1 그룹의 카메라들과 제2 그룹의 카메라들을 포함하고,
상기 적어도 하나의 정합 이미지는, 상기 제1 그룹의 카메라들에 기반하여 생성된 제1 정합 이미지와, 상기 제2 그룹의 카메라들에 기반하여 생성된 제2 정합 이미지를 포함하는 방법.
The method according to claim 1,
The plurality of cameras including a first group of cameras and a second group of cameras,
Wherein the at least one matching image comprises a first matching image generated based on the first group of cameras and a second matching image generated based on the second group of cameras.
제1항에 있어서,
상기 복수의 카메라들은 원형으로 배치되고,
제1 그룹의 카메라들 각각의 광축(optical axis)은 원의 중심 방향을 기준으로 시계 방향으로 미리 결정된 각도만큼 돌려져 있고,
제2 그룹의 카메라들 각각의 광축은 상기 원의 중심 방향을 기준으로 시계 반대방향으로 상기 미리 결정된 각도만큼 돌려져 있는 방법.
The method according to claim 1,
Wherein the plurality of cameras are arranged in a circle,
The optical axis of each of the cameras of the first group is rotated clockwise by a predetermined angle with respect to the center of the circle,
Wherein the optical axis of each of the second group of cameras is rotated by the predetermined angle counterclockwise with respect to the center of the circle.
제1항에 있어서,
상기 복수의 카메라들 사이에 위치한 적어도 하나의 가상 카메라에 기반하여 상기 복수의 이미지 프레임들을 변환하는 동작은,
상기 복수의 카메라들 각각의 광축(optical axis) 방향이 아닌 방향의 레이(ray)에 기반하여 생성된 적어도 하나의 제1 이미지 픽셀을 식별하는 동작과,
상기 레이에 대응하는 위치의 상기 적어도 하나의 가상 카메라에서 상기 레이의 방향에 대한 적어도 하나의 제2 이미지 픽셀을 결정하는 동작과,
상기 적어도 하나의 가상 카메라에 대한 상기 적어도 하나의 제2 이미지 픽셀의 깊이 값에 기반하여 상기 적어도 하나의 제1 이미지 픽셀을 변환하는 동작을 포함하는 방법.
The method according to claim 1,
And converting the plurality of image frames based on at least one virtual camera located between the plurality of cameras,
Identifying at least one first image pixel generated based on a ray in a direction other than an optical axis direction of each of the plurality of cameras;
Determining at least one second image pixel for the direction of the ray in the at least one virtual camera at a location corresponding to the ray;
Converting the at least one first image pixel based on a depth value of the at least one second image pixel for the at least one virtual camera.
제4항에 있어서,
상기 적어도 하나의 가상 카메라에 대한 상기 적어도 하나의 제2 이미지 픽셀의 깊이 값은, 상기 복수의 카메라들 각각에 대한 상기 적어도 하나의 제2 이미지 픽셀의 깊이 값에 기반하여 결정되는 방법.
5. The method of claim 4,
Wherein a depth value of the at least one second image pixel for the at least one virtual camera is determined based on a depth value of the at least one second image pixel for each of the plurality of cameras.
제4항에 있어서,
상기 레이에 대응하는 위치는, 상기 복수의 카메라들 각각의 광축이 기준 방향으로부터 돌려진 각도에 기반하여 결정되는 방법.
5. The method of claim 4,
Wherein a position corresponding to the ray is determined based on an angle that an optical axis of each of the plurality of cameras is rotated from a reference direction.
제1항에 있어서,
상기 변환된 복수의 이미지 프레임들로부터 적어도 하나의 정합 이미지를 생성하는 동작은,
상기 복수의 이미지 프레임들에 대한 적어도 하나의 심(seam)을 결정하는 동작을 더 포함하는 방법.
The method according to claim 1,
And generating at least one matched image from the transformed plurality of image frames,
Further comprising determining at least one seam for the plurality of image frames.
제7항에 있어서,
상기 적어도 하나의 심은, 수직 방향의 선으로 결정되는 방법.
8. The method of claim 7,
Wherein said at least one shim is determined as a line in a vertical direction.
제1항에 있어서,
각각의 상기 복수의 카메라들에 의해 캡쳐된 복수의 이미지 프레임들을 생성하기 전, 상기 복수의 카메라들 각각에 대한 캘리브레이션을 수행하는 동작과,
상기 캘리브레이션에 대한 적어도 하나의 파라미터를 저장하는 동작을 더 포함하는 방법.
The method according to claim 1,
Performing a calibration for each of the plurality of cameras before generating a plurality of image frames captured by each of the plurality of cameras;
Further comprising storing at least one parameter for the calibration.
제4항에 있어서, 상기 적어도 하나의 제2 이미지 픽셀에 대한 좌표 값, 하기의 수학식에 의해 결정되는 방법.
Figure pat00052

여기에서, 상기 Pw는 상기 적어도 하나의 제2 이미지 픽셀에 대한 좌표 값, 상기 d는 상기 적어도 하나의 가상 카메라에 대한 상기 적어도 하나의 제2 이미지 픽셀의 깊이 값, 상기
Figure pat00053
는 상기 레이가 카메라의 광축과 수평 방향으로 이루는 각도, 상기
Figure pat00054
는 상기 레이가 카메라의 광축과 수직 방향으로 이루는 각도, 상기 vp는 상기 적어도 하나의 가상 카메라에 대한 상기 적어도 하나의 제2 이미지 픽셀의 관점(view point)를 의미함.

5. The method of claim 4, wherein the coordinate value for the at least one second image pixel is determined by the following equation:
Figure pat00052

Wherein Pw is a coordinate value for the at least one second image pixel, d is a depth value of the at least one second image pixel for the at least one virtual camera,
Figure pat00053
An angle formed by the ray in the horizontal direction with the optical axis of the camera,
Figure pat00054
Is an angle formed by the ray in a direction perpendicular to the optical axis of the camera, and vp is a view point of the at least one second image pixel with respect to the at least one virtual camera.

전자 장치에 있어서,
복수의 카메라들에 의해 생성된 복수의 이미지 프레임들을 결정하고, 상기 복수의 카메라들과 다른 곳에 위치한 적어도 하나의 가상 카메라에 기반하여 상기 복수의 이미지 프레임들을 변환하고, 상기 변환된 복수의 이미지 프레임들로부터 적어도 하나의 정합 이미지를 생성하는 제어부와,
상기 적어도 하나의 정합 이미지의 일부를 표시하는 디스플레이를 포함하는 장치.
In an electronic device,
Determining a plurality of image frames generated by a plurality of cameras, converting the plurality of image frames based on at least one virtual camera located elsewhere than the plurality of cameras, A control unit for generating at least one registration image from the registration image,
And a display that displays a portion of the at least one registered image.
제11항에 있어서,
상기 복수의 카메라들은 제1 그룹의 카메라들과 제2 그룹의 카메라들을 포함하고,
상기 적어도 하나의 정합 이미지는, 상기 제1 그룹의 카메라들에 기반하여 생성된 제1 정합 이미지와, 상기 제2 그룹의 카메라들에 기반하여 생성된 제2 정합 이미지를 포함하는 장치.
12. The method of claim 11,
The plurality of cameras including a first group of cameras and a second group of cameras,
Wherein the at least one matching image comprises a first matching image generated based on the first group of cameras and a second matching image generated based on the second group of cameras.
제12항에 있어서,
상기 복수의 카메라들은 원형으로 배치되고,
상기 제1 그룹의 카메라들 각각의 광축(optical axis)은 원의 중심 방향을 기준으로 시계 방향으로 미리 결정된 각도만큼 돌려져 있고,
상기 제2 그룹의 카메라들 각각의 광축은 상기 원의 중심 방향을 기준으로 시계 반대방향으로 상기 미리 결정된 각도만큼 돌려져 있는 장치.
13. The method of claim 12,
Wherein the plurality of cameras are arranged in a circle,
Wherein the optical axis of each of the first group of cameras is rotated clockwise by a predetermined angle with respect to the center of the circle,
Wherein the optical axis of each of the second group of cameras is rotated by the predetermined angle counterclockwise with respect to the center of the circle.
제11항에 있어서, 상기 제어부는, 상기 복수의 카메라들 사이에 위치한 적어도 하나의 가상 카메라에 기반하여 상기 복수의 이미지 프레임들을 변환하기 위해, 상기 복수의 카메라들 각각의 광축(optical axis) 방향이 아닌 방향의 레이(ray)에 기반하여 생성된 적어도 하나의 제1 이미지 픽셀을 식별하고, 상기 레이에 대응하는 위치의 상기 적어도 하나의 가상 카메라에서 상기 레이의 방향에 대한 적어도 하나의 제2 이미지 픽셀을 결정하고, 상기 적어도 하나의 가상 카메라에 대한 상기 적어도 하나의 제2 이미지 픽셀의 깊이 값에 기반하여 상기 적어도 하나의 제1 이미지 픽셀을 변환하는 장치.
12. The apparatus of claim 11, wherein the controller is further configured to determine, based on at least one virtual camera located between the plurality of cameras, that the optical axis direction of each of the plurality of cameras Identifying at least one first image pixel generated based on a ray in a non-directional manner and identifying at least one second image pixel for a direction of the ray in the at least one virtual camera at a location corresponding to the ray, And to convert the at least one first image pixel based on a depth value of the at least one second image pixel for the at least one virtual camera.
제14항에 있어서, 상기 적어도 하나의 가상 카메라에 대한 상기 적어도 하나의 제2 이미지 픽셀의 깊이 값은, 상기 복수의 카메라들 각각에 대한 상기 적어도 하나의 제2 이미지 픽셀의 깊이 값에 기반하여 결정되는 장치.
15. The method of claim 14, wherein the depth value of the at least one second image pixel for the at least one virtual camera is determined based on a depth value of the at least one second image pixel for each of the plurality of cameras .
제14항에 있어서, 상기 레이에 대응하는 위치는,
상기 복수의 카메라들 각각의 광축이 기준 방향으로부터 돌려진 각도에 기반하여 결정되는 장치.
15. The method of claim 14,
Wherein an optical axis of each of the plurality of cameras is determined based on an angle that is rotated from a reference direction.
제11항에 있어서, 상기 제어부는, 상기 변환된 복수의 이미지 프레임들로부터 적어도 하나의 정합 이미지를 생성하기 위해, 상기 복수의 이미지 프레임들에 대한 적어도 하나의 심(seam)을 결정하고, 상기 결정된 적어도 하나의 심에 기반하여 상기 복수의 이미지 프레임들에 대한 블렌딩(blending)을 수행하는 장치.
12. The apparatus of claim 11, wherein the control unit determines at least one seam for the plurality of image frames to generate at least one matched image from the transformed plurality of image frames, And perform blending on the plurality of image frames based on at least one shim.
제17항에 있어서, 상기 적어도 하나의 심은 수직 방향의 선으로 결정되는 장치..
18. The apparatus of claim 17, wherein the at least one shim is determined as a line in a vertical direction.
제11항에 있어서, 상기 제어부는,
각각의 상기 복수의 카메라들에 의해 캡쳐된 복수의 이미지 프레임들을 생성하기 전, 상기 복수의 카메라들 각각에 대한 캘리브레이션을 수행하고, 상기 캘리브레이션에 대한 적어도 하나의 파라미터를 저장하는 장치.
12. The apparatus according to claim 11,
Performing a calibration for each of the plurality of cameras and storing at least one parameter for the calibration before generating a plurality of image frames captured by each of the plurality of cameras.
제14항에 있어서, 상기 적어도 하나의 제2 이미지 픽셀에 대한 좌표 값은, 하기의 수학식에 의해 결정되는 장치.
Figure pat00055

여기에서, 상기 Pw는 상기 적어도 하나의 제2 이미지 픽셀에 대한 좌표 값, 상기 d는 상기 적어도 하나의 가상 카메라에 대한 상기 적어도 하나의 제2 이미지 픽셀의 깊이 값, 상기
Figure pat00056
는 상기 레이가 카메라의 광축과 수평 방향으로 이루는 각도, 상기
Figure pat00057
는 상기 레이가 카메라의 광축과 수직 방향으로 이루는 각도, 상기 vp는 상기 적어도 하나의 가상 카메라에 대한 상기 적어도 하나의 제2 이미지 픽셀의 관점(view point)를 의미함.
15. The apparatus of claim 14, wherein a coordinate value for the at least one second image pixel is determined by:
Figure pat00055

Wherein Pw is a coordinate value for the at least one second image pixel, d is a depth value of the at least one second image pixel for the at least one virtual camera,
Figure pat00056
An angle formed by the ray in the horizontal direction with the optical axis of the camera,
Figure pat00057
Is an angle formed by the ray in a direction perpendicular to the optical axis of the camera, and vp is a view point of the at least one second image pixel with respect to the at least one virtual camera.
KR1020160126874A 2016-09-30 2016-09-30 Method for displaying an image and an electronic device thereof KR102558474B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160126874A KR102558474B1 (en) 2016-09-30 2016-09-30 Method for displaying an image and an electronic device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160126874A KR102558474B1 (en) 2016-09-30 2016-09-30 Method for displaying an image and an electronic device thereof

Publications (2)

Publication Number Publication Date
KR20180036359A true KR20180036359A (en) 2018-04-09
KR102558474B1 KR102558474B1 (en) 2023-07-25

Family

ID=61978308

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160126874A KR102558474B1 (en) 2016-09-30 2016-09-30 Method for displaying an image and an electronic device thereof

Country Status (1)

Country Link
KR (1) KR102558474B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020040594A1 (en) * 2018-08-24 2020-02-27 Samsung Electronics Co., Ltd. Method and apparatus for processing omni-directional image
KR20210035638A (en) * 2019-09-24 2021-04-01 에스케이텔레콤 주식회사 Image capturing device and method, computer-readable storage medium and computer program for controlling the image capturing device and image processing device and method, computer-readable storage medium and computer program for controlling the image processing device
KR20210057925A (en) * 2019-11-13 2021-05-24 한국광기술원 Streaming server and method for object processing in multi-view video using the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140104378A1 (en) * 2011-04-08 2014-04-17 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Capturing panoramic or semi-panoramic 3d scenes
WO2015196082A1 (en) * 2014-06-20 2015-12-23 Qualcomm Incorporated Parallax free multi-camera system capable of capturing full spherical images
WO2015196050A1 (en) * 2014-06-20 2015-12-23 Qualcomm Incorporated Parallax free thin multi-camera system capable of capturing full wide field of view images
US20150373263A1 (en) * 2014-06-20 2015-12-24 Qualcomm Incorporated Multi-camera system using folded optics free from parallax artifacts
US20160088287A1 (en) * 2014-09-22 2016-03-24 Samsung Electronics Company, Ltd. Image stitching for three-dimensional video

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140104378A1 (en) * 2011-04-08 2014-04-17 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Capturing panoramic or semi-panoramic 3d scenes
WO2015196082A1 (en) * 2014-06-20 2015-12-23 Qualcomm Incorporated Parallax free multi-camera system capable of capturing full spherical images
WO2015196050A1 (en) * 2014-06-20 2015-12-23 Qualcomm Incorporated Parallax free thin multi-camera system capable of capturing full wide field of view images
US20150373263A1 (en) * 2014-06-20 2015-12-24 Qualcomm Incorporated Multi-camera system using folded optics free from parallax artifacts
US20160088287A1 (en) * 2014-09-22 2016-03-24 Samsung Electronics Company, Ltd. Image stitching for three-dimensional video

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020040594A1 (en) * 2018-08-24 2020-02-27 Samsung Electronics Co., Ltd. Method and apparatus for processing omni-directional image
US10853910B2 (en) 2018-08-24 2020-12-01 Samsung Electronics Co., Ltd. Method and apparatus for processing omni-directional image
KR20210035638A (en) * 2019-09-24 2021-04-01 에스케이텔레콤 주식회사 Image capturing device and method, computer-readable storage medium and computer program for controlling the image capturing device and image processing device and method, computer-readable storage medium and computer program for controlling the image processing device
KR20210057925A (en) * 2019-11-13 2021-05-24 한국광기술원 Streaming server and method for object processing in multi-view video using the same

Also Published As

Publication number Publication date
KR102558474B1 (en) 2023-07-25

Similar Documents

Publication Publication Date Title
EP3446282B1 (en) Image processing apparatus and method
US10281981B2 (en) AR output method and electronic device for supporting the same
US20180077409A1 (en) Method, storage medium, and electronic device for displaying images
CN109471522B (en) Method for controlling pointer in virtual reality and electronic device
KR102606976B1 (en) Electronic device and method for transmitting and receiving image data in electronic device
KR20180074369A (en) Method and Apparatus for Managing Thumbnail of 3-dimensional Contents
CN108462818B (en) Electronic device and method for displaying 360-degree image in the same
KR20170109297A (en) Electronic Device For Providing Omnidirectional Image and Method thereof
US10916049B2 (en) Device and method for rendering image
KR20160096422A (en) Method for displaying screen and electronic device
KR20160059765A (en) Method and device for displaying in electronic device
KR20180013277A (en) Electronic apparatus for displaying graphic object and computer readable recording medium
US11670022B2 (en) Electronic device and method for displaying and generating panoramic image
KR20170097884A (en) Method for processing image and electronic device thereof
KR20180091381A (en) Apparatus and method of providing vr image based on polyhedron
KR20170062376A (en) Electronic apparatus and method for displaying and generating panorama video
US11006048B2 (en) Method and apparatus for acquiring omnidirectional video
KR20170126362A (en) Electronic device and method for display electronic document thereof
KR102653336B1 (en) An electronic device and control method therof
KR102558474B1 (en) Method for displaying an image and an electronic device thereof
KR20170052984A (en) Electronic apparatus for determining position of user and method for controlling thereof
CN109845251B (en) Electronic device and method for displaying images
US20180143681A1 (en) Electronic device for displaying image and method for controlling the same
US20200090704A1 (en) Electronic device and screen image display method for electronic device
KR20160136646A (en) Electronic device which displays screen and method for controlling thereof

Legal Events

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