KR102217204B1 - 모바일 디바이스들을 위한 옴니스테레오 캡처 - Google Patents

모바일 디바이스들을 위한 옴니스테레오 캡처 Download PDF

Info

Publication number
KR102217204B1
KR102217204B1 KR1020187024794A KR20187024794A KR102217204B1 KR 102217204 B1 KR102217204 B1 KR 102217204B1 KR 1020187024794 A KR1020187024794 A KR 1020187024794A KR 20187024794 A KR20187024794 A KR 20187024794A KR 102217204 B1 KR102217204 B1 KR 102217204B1
Authority
KR
South Korea
Prior art keywords
mobile device
capture
images
path
capture path
Prior art date
Application number
KR1020187024794A
Other languages
English (en)
Other versions
KR20180099935A (ko
Inventor
로버트 앤더슨
스티븐 맥스웰 세이츠
카를로스 에르난데즈 에스테반
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20180099935A publication Critical patent/KR20180099935A/ko
Application granted granted Critical
Publication of KR102217204B1 publication Critical patent/KR102217204B1/ko

Links

Images

Classifications

    • H04N5/23238
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00183Photography assistance, e.g. displaying suggestions to the user
    • 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/207Image signal generators using stereoscopic image cameras using a single 2D image sensor
    • H04N13/221Image signal generators using stereoscopic image cameras using a single 2D image sensor using the relative movement between cameras and objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • H04N5/23293
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Abstract

모바일 디바이스를 위해 옴니스테레오 콘텐츠를 캡처하는 시스템 및 방법은, 장면의 복수의 이미지들을 캡처하기 위한 표시를 수신하는 단계, 모바일 디바이스와 관련된 카메라를 사용하여 복수의 이미지들을 캡처하는 단계, 상기 복수의 이미지들의 캡처 동안, 상기 복수의 이미지들에 대한 표현을 상기 모바일 디바이스의 스크린 상에 디스플레이하고 그리고 복합 이미지를 상기 스크린에 제공하는 단계를 포함하고, 상기 복합 이미지는 타겟 캡처 경로와 상기 복수의 이미지들의 캡처 동안의 상기 모바일 디바이스와 관련된 소스 캡처 경로에 대응하는 정렬 정보를 제공하는 표시자를 포함한다. 시스템은 소스 캡처 경로의 일부가 타겟 캡처 경로와 매칭되지 않음을 검출할 수 있다. 시스템은 업데이트된 표시자를 스크린에 제공할 수 있으며, 업데이트된 표시자는 소스 캡처 경로를 타겟 캡처 경로에 정렬시키도록 모바일 디바이스를 조정하기 위한 모바일 디바이스의 사용자에 대한 프롬프트를 포함할 수 있다.

Description

모바일 디바이스들을 위한 옴니스테레오 캡처{OMNISTEREO CAPTURE FOR MOBILE DEVICES}
본 출원은 2015년 5월 26일자로 출원된 "Omnistereo Capture for Mobile Devices" 라는 명칭의 미국특허출원(출원번호 14/721,612)의 우선권을 주장하며, 상기 미국특허출원은 본 발명에 대한 참조로서 그 내용이 본 명세서에 통합된다.
일반적으로, 본 발명은 옴니스테레오 파노라마들(omnistereo panoramas)을 생성하는 것에 관한 발명이다. 특히, 본 발명은 모바일 디바이스에서 캡처된 이미지들로부터 옴니스테레오 파노라마들을 생성하는 것에 관한 발명이다.
파노라마 사진 기술은 장면에 대한 넓은 시야를 제공하기 위하여 이미지 및 비디오 상에 이용될 수 있다. 통상적으로, 파노라마 사진 기술들 및 이미징 기술들은 통상적인 카메라로 촬영된 다수의 인접한 사진들로부터 파노라마 이미지들을 획득하는데 이용될 수 있다. 전체 파노라마를 얻기 위하여, 사진들은 정렬되어 함께 마운트될 수 있다.
하나 이상의 컴퓨터들의 시스템은, 동작 시에 상기 시스템으로 하여금 동작들을 수행하게 하는 시스템 상에 설치된 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 갖는 것에 의해 특정 연산들 또는 동작들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램들은 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 동작들을 수행하게 하는 명령들을 포함함으로써 특정 연산들 또는 동작들을 수행하도록 구성될 수 있다.
일반적인 일 양상에서, 컴퓨터로 구현되는 방법은, 모바일 디바이스에서, 장면의 복수의 이미지들을 캡처하기 위한 표시를 수신하는 단계, 상기 모바일 디바이스와 관련된 카메라를 사용하여 상기 복수의 이미지들을 캡처하는 단계, 상기 복수의 이미지들의 캡처 동안, 상기 복수의 이미지들에 대한 표현을 상기 모바일 디바이스의 스크린 상에 디스플레이하고 그리고 복합 이미지를 상기 스크린에 제공하는 단계, 상기 복합 이미지는 타겟 캡처 경로와 상기 복수의 이미지들의 캡처 동안의 상기 모바일 디바이스와 관련된 소스 캡처 경로에 대응하는 정렬 정보를 제공하는 표시자를 포함하며, 그리고 캡처 동안, 상기 소스 캡처 경로의 일부가 상기 타겟 캡처 경로의 일부와 매칭되지 않음을 검출하는 것에 응답하여, 업데이트된 표시자를 상기 스크린에 제공하는 단계를 포함하며, 상기 매칭은 임계 조건에 적어도 일부 기초하고, 상기 업데이트된 표시자는 상기 소스 캡처 경로를 상기 타겟 캡처 경로에 정렬시키도록 상기 모바일 디바이스를 조정하기 위한 상기 모바일 디바이스의 사용자에 대한 프롬프트를 포함한다.
구현예들은 다음의 피처들 중 하나 이상을 포함할 수 있다(단독으로 또는 하나 이상의 다른 피처들과 조합되어). 예를 들어, 상기 소스 캡처 경로는 상기 장면의 복수의 이미지들을 캡처하기 위해 상기 모바일 디바이스에 의해 이동된(traversed) 스위핑 움직임(sweeping motion)을 포함하며, 상기 소스 캡처 경로는 상기 모바일 디바이스의 위치에 대한 방향 및 각도와 관련된다. 또한, 타겟 캡처 경로는 원형의 경로일 수 있으며 그리고 상기 복수의 이미지들을 캡처하는 것은, 약 10 센티미터에서 75 센티미터인 직경을 갖는 타겟 캡처 경로를 이동하도록 상기 모바일 디바이스를 정렬시킴으로써 이미지 콘텐츠를 상기 모바일 디바이스로 레코딩하는 것에 해당한다. 일부 구현예들에서, 상기 정렬 정보는, 상기 모바일 디바이스의 위치에 대한 방향 및 각도와 관련된 움직임에 대응하는 자이로스코프 측정치의 그래픽적 표현을 포함한다. 상기 모바일 디바이스의 위치에 대한 각도는, 지면(ground plane) 및 상기 소스 캡처 경로와 관련된 평면에 대한 방위각들(azimuth angles)을 제공하는 반투명 이미지의 그래픽으로 표현되며, 그리고 상기 반투명 이미지는 상기 복합 이미지와 결합된다. 일부 구현예들에서, 상기 모바일 디바이스의 위치에 대한 각도는, 상기 모바일 디바이스 상의 카메라 렌즈의 전면에 수직인 평면으로부터 회전된 각도의 측정치와 상기 카메라 렌즈의 전면에 평행한 평면으로부터 회전된 각도의 측정치를 포함한다.
전술한 구현예들 중 일부 또는 전부에서, 상기 방법은 캡처 동안, 더 느린 속도(slower face)로 상기 이미지들을 캡처하라는 표시를 상기 스크린에서 수신하는 단계를 포함할 수 있다. 전술한 구현예들 중 일부 또는 전부에서, 상기 방법은 또한, 상기 장면의 추가 이미지 콘텐츠를 캡처하도록, 업데이트된 위치에 대한 각도를 사용하여, 상기 장면에 대한 추가 이미지 캡처를 수행하라는 표시를 상기 스크린에서 수신하는 단계를 포함할 수 있다. 일부 구현예들에서, 상기 스크린의 상기 표시는, 상기 추가 이미지 캡처를 수행하는 동안 상기 업데이트된 위치에 대한 각도로 상기 모바일 디바이스를 유지하도록 상기 모바일 디바이스의 사용자에게 지시하고, 상기 추가적인 이미지 캡처는 상기 장면과 관련된 지면에 수직인 상기 모바일 디바이스의 카메라 렌즈로 수행되며, 상기 업데이트된 위치에 대한 각도는 (i) 상기 카메라 렌즈의 약 40도의 후방 경사(backward tilt), 또는 (ii) 상기 카메라 렌즈의 약 40도의 전방 경사(forward tilt)를 포함할 수 있다.
전술한 구현예들 중 일부 또는 전부에서, 상기 방법은 또한, 모바일 디바이스로 캡처된 이미지들을 컴퓨팅 디바이스가 획득하는 단계, 상기 이미지들은 원형 경로 주위의 다수의 포인트들로부터 캡처된 콘텐츠를 포함하고, 그리고 3D 공간에서 렌더링하기 위해 상기 컴퓨팅 디바이스가 상기 이미지들을 조정하는 단계를 포함한다. 상기 조정하는 단계는, 적어도 2개의 이미지들 사이에서 적어도 하나의 오버랩을 결정하는 단계, 상기 오버랩은 상기 적어도 2개의 이미지들에서 픽셀들 간의 매칭을 포함하며, 각각의 오버랩에 대해, 상기 오버랩에 포함된 픽셀들의 부분을 선택하는 단계, 상기 픽셀들의 각각의 부분이 수직으로 정렬되어 장면에 대한 3D 세그먼트를 생성하도록, 상기 부분들을 결합하는 단계; 및 상기 적어도 2개의 이미지들 사이에 오버랩이 없다는 결정에 응답하여, 상기 적어도 2개의 이미지들로부터 복수의 픽셀들을 샘플링함으로써 상기 적어도 2개의 이미지들 사이에 배치될 추가 이미지 콘텐츠를 생성하고 그리고 상기 추가 이미지 콘텐츠를 상기 3D 세그먼트에 결합하는 단계를 포함한다. 전술한 구현예들 중 일부 또는 전부에서, 상기 방법은 헤드-장착 디스플레이에 상기 3D 세그먼트를 상기 장면의 일부로서 렌더링하는 단계를 더 포함할 수 있다.
전술한 구현예들 중 일부 또는 전부에서, 상기 원형 경로는 약 10 센티미터에서 약 75 센티미터의 직경을 갖는 가변 경로를 포함한다. 전술한 구현예들 중 일부 또는 전부에서, 상기 방법은 또한, 캡처시 발생한 측면 롤 이동(lateral roll movement)을 보정하고, 캡처시 발생한 비등각 카메라 아크 운동(non-conformal camera arc movement)을 보정하고, 캡처시 발생한 불일치한 반경 측정치를 보정함으로써, 3D 공간에서 렌더링하기 위해 이미지들을 조정하는 단계를 포함할 수 있다.
전술한 구현예들 중 일부 또는 전부에서, 상기 방법은 이미지들 내의 아티팩트들을 제거하기 위해 2 이상의 이미지들로부터 상기 복수의 픽셀들을 블렌딩함으로써 추가 이미지 콘텐츠를 결합하는 단계를 포함할 수 있다. 아티팩트들은, 캡처과 관련된 포즈에 적어도 부분적으로 기초하는 오정렬 에러들을 포함할 수 있다. 전술한 구현예들 중 일부 또는 전부에서, 이미지는 장면에 대한 복수의 연속적인 이미지 프레임들을 포함할 수 있다.
다른 일반적인 양상에서 시스템은 적어도 하나의 프로세서; 및 명령들을 저장하는 메모리를 포함하며, 상기 명령들은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금, 이미지 콘텐츠를 캡처하는 단계, 상기 콘텐츠는 캡처 동안 모바일 디바이스의 스크린에 디스플레이되며; 캡처 동안, 상기 모바일 디바이스의 스크린 상에 그림 그래픽(pictorial graphic)을 디스플레이하는 단계, 상기 그림 그래픽은 타겟 캡처 경로 및 상기 모바일 디바이스의 움직임과 관련된 소스 캡처 경로에 대응하는 정렬 정보를 제공하는 표시자를 제공하며; 그리고 이미지 캡처 동안, 상기 모바일 디바이스의 움직임과 관련된 상기 소스 캡처 경로가 상기 타겟 캡처 경로와 상이함을 검출함에 응답하여, 업데이트된 표시자를 상기 스크린에 제공하는 단계를 수행하게 하며, 상기 업데이트된 표시자는 상기 소스 캡처 경로를 상기 타겟 캡처 경로에 매칭시키도록 상기 모바일 디바이스를 조정하기 위한, 상기 모바일 디바이스의 사용자에 대한 프롬프트를 포함한다.
전술한 구현예들 중 일부 또는 전부에서, 상기 시스템은 모바일 디바이스의 움직임을 검출하는 것에 응답하여 실시간으로 동적으로 업데이트되는 그림 그래픽을 포함할 수 있다. 전술한 구현예들 중 일부 또는 전부에서, 그림 그래픽은 상기 타겟 캡처 경로를 나타내는 제 1 부분 및 상기 모바일 디바이스의 움직임과 관련된 상기 소스 캡처 경로를 나타내는 제 2 부분을 포함하고, 상기 제 1 및 2 부분들은 상기 제 2 부분을 상기 제 1 부분에 정렬시키기 위한 코스를 나타낸다. 전술한 구현예들 중 일부 또는 전부에서, 상기 제 1 부분은 원을 나타내고, 상기 제 2 부분은 상기 원으로부터의 이탈들(deviations)을 나타낸다.
전술한 구현예들 중 일부 또는 전부에서, 정렬 정보는, 상기 모바일 디바이스의 위치에 대한 각도에서의 움직임에 대응하는 자이로스코프 측정들의 그림 그래픽을 포함한다. 전술한 구현예들 중 일부 또는 전부에서, 상기 그림 그래픽은, 상기 모바일 디바이스의 움직임과 관련된 상기 소스 캡처 경로를 상기 타겟 캡처 경로에 매칭시키기 위한 코스를 제공하는 적어도 하나의 표시자를 포함한다.
본 양상의 다른 실시예들은 대응하는 컴퓨터 시스템, 장치, 및 하나 이상의 컴퓨터 저장 디바이스 상에 기록된 컴퓨터 프로그램을 포함하며, 이들 각각은, 상기 방법들의 동작들을 수행하도록 구성된다.
하나 이상의 구현예들에 대한 세부사항들이 첨부된 도면 및 이하의 서술에서 설명될 것이다. 다른 특징들은 상세한 설명, 도면들 및 청구항들로부터 명백해질 것이다.
도 1은 3D 가상 현실(VR) 환경에서 입체 영상(stereoscopic image)을 캡처 및 렌더링하기 위한 예시적인 시스템의 블록도이다.
도 2는 파노라마 뷰를 캡처하는 모바일 디바이스의 일례를 도시한 도면이다.
도 3은 시야에 있는 장면의 이미지들을 캡처하는 예시적인 모바일 디바이스를 도시한 도면이다.
도 4는 모바일 디바이스로 이미지들을 캡처하기 위한 예시적인 경로를 나타내는 도면이다.
도 5는 모바일 디바이스로 이미지를 캡처하는 일례를 도시한 도면이다.
도 6은 이미지 캡처 동안 모바일 디바이스의 일례를 도시한 도면이다.
도 7은 이미지 캡처 동안 모바일 디바이스의 또 다른 일례를 도시한 도면이다.
도 8은 이미지 캡처 동안 모바일 디바이스의 또 다른 일례를 도시한 도면이다.
도 9는 이미지를 캡처하는 프로세스의 일 실시예를 나타낸 흐름도이다.
도 10은 이미지들을 렌더링하는 프로세스의 일 실시예를 나타낸 흐름도이다.
도 11은 본원에 기술된 기술을 구현하는데 사용될 수 있는 컴퓨터 디바이스 및 모바일 컴퓨터 디바이스의 일례를 나타낸다.
다양한 도면들에서 동일한 참조 부호는 동일한 요소를 나타낸다.
다음의 개시 내용은 모바일 디바이스 상에서 옴니스테레오 파노라마를 캡처 및 생성하는데 사용될 수 있는 다수의 기술들을 설명한다. 모바일 디바이스는 이미지 콘텐츠를 캡처하는 것에 대한 표시들, 통지들 또는 기타 통신들을 수신할 수 있다. 예를 들어, 모바일 디바이스에서 실행되는 어플리케이션은, 캡처 동안, 사용자에게, 모바일 디바이스의 방향을 알려주거나 또는 콘텐츠를 부정확하게 캡처하고 있음을 알려줄 수 있다. 이에 응답하여, 사용자는 모바일 디바이스를 재배향(reorient)하여, 캡처를 수정할 수 있다. 특정 캡처가 완료되면, 본 명세서에 서술된 알고리즘들은 모바일 디바이스로부터 캡처된 콘텐츠를 사용하여, 3D 옴니스테레오 이미지들을 제공할 수 있다.
도 1은 3D 가상 현실(VR) 환경에서 입체 이미지들을 캡처 및 렌더링하기 위한 예시적인 시스템(100)의 블록도이다. 예시적인 시스템(100)에서, 모바일 디바이스(102)는 이미지들 및/또는 비디오를 캡처하고 네트워크(104)를 통해 그러한 이미지들 또는 비디오를 제공하거나 또는 대안적으로는 분석 및 프로세싱을 위해 이미지들을 이미지 프로세싱 시스템(106)에 직접 제공할 수도 있다. 시스템(100)의 일부 구현예들에서, 이미지 프로세싱 시스템(106)은 모바일 디바이스(102)의 일부로서 제공될 수 있다. 다른 구현예들에서, 이미지 프로세싱 시스템(106)의 일부는 모바일 디바이스(102) 상에 제공되는 반면에, 이미지 프로세싱 시스템(106)의 다른 부분들은 다른 디바이스 컴퓨팅 시스템 상에 제공된다.
모바일 디바이스(102)는 이동 전화, 전자 태블릿, 랩탑, 카메라, 또는 이미지 데이터를 얻는데 사용될 수 있는 다른 전자 디바이스일 수 있다. 일부 구현예에서, 모바일 디바이스(102)는 정지(still) 이미지를 캡처하도록 구성될 수 있다. 일부 구현예에서, 모바일 디바이스(102)는 비디오를 캡처하고 그리고 이러한 콘텐츠를 개별적인 프레임들 또는 비디오(예를 들어, .avi 파일)로서 저장하도록 구성될 수 있으며, 이러한 저장된 이미지는 인터넷, 다른 서버 또는 디바이스에 업로드될 수 있거나, 또는 디바이스(102) 상에 로컬적으로 저장될 수 있다. 일부 실시예에서, 입력 이미지들은 인코딩된 이미지들 또는 비디오로서 저장될 수 있다. 일반적으로, 본 명세서에 전반에 걸처 서술된 이미지들은 장면에 대한 복수의 연속적인 또는 비-연속적인 이미지 프레임들을 포함할 수 있다. 일부 구현예에서, 본 명세서 전반에 걸쳐 서술된 이미지들은 이미지들의 연속적인 세트들 및 이미지들 비-연속적인 세트들의 조합을 포함할 수 있다. 이미지들은 2차원 또는 3차원으로 캡처될 수 있다.
디바이스(102)의 동작에 있어서, 사용자는 디바이스(102) 상의 카메라(또는, 캡처 디바이스라고도 함)에 액세스할 수 있고, 디바이스(102)를 선택된 방향으로 유지할 수 있고, 캡처 경로를 따라 이미지들을 캡처하도록 디바이스(102)를 팬(pan)하거나 혹은 주위로 스위핑(sweep)할 수 있다. 일반적으로, 캡처 경로를 따라 이미지를 캡처하도록 디바이스(102)를 주위에 스위핑하는 것은, 사용자가 그녀의 머리 또는 몸(또는 신체의 일부분)을 둘러싸는 원형 캡처 경로(또는 다른 형상 혹은 프로파일의 캡처 경로) 주위로 디바이스(102)를 움직이는 것을 포함할 수 있다. 이러한 스위핑에서, 디바이스(102)는 사용자가 원형 캡처 경로(또는 다른 형상 혹은 프로파일의 캡처 경로)를 따르는 동안 사용자로부터 바깥쪽을 향하고 그리고 풍경을 향하게 될 수 있다. 일부 구현예에서, 캡처 경로는 단일 평면 내에 배치되거나, 단일 평면을 따라 정렬될 수 있고, 만곡될 수 있고, 선형 부분을 가질 수 있고, 하나 이상의 불연속성들을 가질 수 있다(기타 등등). 일부 구현예에서, 캡처 경로는 2 이상의 평면들 내에 배치되거나, 2 이상의 평면들을 따라 정렬되는 부분들을 가질 수 있다.
경로(예를 들어, 캡처 경로)를 스위핑하고 그리고 이미지를 캡처하는 동안, 모바일 디바이스(102)는 특정한 캡처 설정들을 수정하기 위한 표시들을 수신할 수 있다. 캡처 설정들은, 모바일 디바이스 포즈/캡처 위치/각도/피치/롤/, 조명/노출에 대한 카메라 세팅들, 수평 또는 수직 기울기 또는 비틀기, 카메라 캡처 스윕 속도 기타 등등이 포함될 수 있지만, 이에 한정되는 것은 아니다.
이미지 캡처 동안, 모바일 디바이스(102)는, 이미지를 캡처하는 동안 사용자가 변경들을 할 수 있도록 하는 표시들을 이미지를 캡처 중인 사용자에게 제공할 수 있다. 이러한 표시들은, 사용자가 이미지를 캡처하는 방향 및/또는 각도를 변경하기 위한 명령들일 수 있다. 일 실시예에서, 표시들은 디바이스(102)의 스크린에 제공될 수 있다. 일 실시예에서는, 디바이스(102)에 의해 캡처된 콘텐츠 뿐만 아니라 상기 표시들이 디바이스(102)의 스크린에 제공될 수 있다. 비제한적인 일례에서, 상기 표시들은, 캡처되는 콘텐츠에 중첩되게 디스플레이되어 복합 이미지를 제공할 수 있는바, 복합 이미지는 캡처되는 이미지 및 캡처 설정들을 수정하기 위한 표시들을 예시한다. 일부 구현예에서, 복합 이미지는 캡처되는 이미지들 뿐만 아니라 캡처되는 이미지들 상에 중첩되는(예컨대, 가시적인 방식으로 중첩되거나, 투명하게 중첩되거나, 반-투명하게 중첩되는) 표시들을 포함할 수 있다. 디바이스(102)의 스크린 상에 도시된 바와 같이, 어플리케이션 콘텐츠는 이미지들을 능동적으로 캡처하고 그리고 표시들(103)에 의해서 캡처 설정에 관한 피드백을 수신하는 이미지 캡처 어플리케이션을 나타낸다.
이미지가 일단 캡처되면, 이미지 프로세싱 시스템(106)(또는 모바일 디바이스 102)은 이미지들에 대한 다수의 프로세스들을 수행하여 3D 옴니스테레오 이미지들을 생성할 수 있으며, 이는 예컨대, 네트워크(104)를 통하여 렌더링을 위해 헤드 장착 디스플레이(HMD) 디바이스(110)에 제공될 수 있다. 일부 구현예들에서, 이미지 프로세싱 시스템(106)은 또한 프로세싱된 이미지들을 렌더링, 저장, 혹은 추가 프로세싱을 위해 모바일 디바이스(102) 및/또는 컴퓨팅 디바이스(112)에 제공할 수 있다.
HMD 디바이스(110)는 가상 현실 헤드셋, 안경, 접안 렌즈(eyepiece), 또는 가상 현실 콘텐츠를 디스플레이할 수 있는 다른 착용가능한 디바이스를 나타낼 수 있다. 동작시, HMD 디바이스(110)는 VR 어플리케이션(미도시)을 실행할 수 있는바, VR 어플리케이션은 수신 및/또는 프로세싱된 이미지들을 사용자에게 재생할 수 있다. 일부 구현예에서, VR 어플리케이션은 도1에 도시된 하나 이상의 디바이스들(102, 106 또는 112)에 의해 호스팅될 수 있다. 일 예시에서, HMD 디바이스(110)는 모바일 디바이스(102)에 의해 캡처된 장면의 정지 표현 및/또는 비디오 재생을 제공할 수 있다. 일반적으로, 이러한 재생은 3D 입체 장면으로 스티칭된 이미지를 포함하여, 장면을 실제로 보는 것 같은 뷰잉을 사용자에게 제공할 수 있다.
일부 구현예에서, 다수의 모바일 디바이스들이 장면의 이미지를 캡처하는데 사용될 수 있다. 예를 들어, 모바일 디바이스(102)는 특정 장면에 대한 추가적인 이미지들을 캡처하도록 카메라 리그(camera rig)(미도시) 상에 배치된 수 많은 모바일 디바이스들 중 하나일 수 있다. 이러한 카메라 리그는 이미지 캡처 디바이스로 사용되도록 구성되거나 및/또는 예컨대, VR 환경에서 콘텐츠를 렌더링하기 위해 이미지 데이터를 수집하는 프로세싱 디바이스로서 사용되도록 구성될 수 있다. 리그는 비디오 카메라들, 이미지 센서들 및/또는 적외선 카메라들로 구성된 모바일 디바이스들 뿐만 아니라 캡처된 이미지들을 프로세싱하는 프로세싱 회로를 포함할 수 있다.
도 1에 도시된 바와 같이, 이미지 프로세싱 시스템(106)은 캡처 조정 모듈(116), 스티칭 모듈(118) 및 렌더링 모듈(120)을 포함한다. 캡처 조정 모듈(116)은 이미지 캡처 동안 모바일 디바이스의 방향 및/또는 위치를 조절하기 위한 명령들을 사용자에게 제공하도록 구성될 수 있다. 예를 들어, 모바일 디바이스(102)가 특정 캡처 경로와 일치하지 않는 각도로 사용자에 의해 유지되고 있다면, 디바이스(102)는 디바이스의 디스플레이 상에 그래픽들, 명령들 또는 다른 통신들을 제공할 수 있다.
일부 실시예에서, 캡처 조정 모듈(116)은 모바일 디바이스(102) 상에서 실행되는 어플리케이션에 콘텐츠를 제공할 수 있다. 콘텐츠는 이미지 캡처 중에 제공될 수 있으며 그리고 모바일 디바이스(102)의 스크린 상에 그림 그래픽(pictorial graphics)을 포함할 수 있다. 일부 실시예들에서, 그림 그래픽은 캡처되는 이미지와 나란하게, 중첩되게, 겹쳐지게, 또는 다른 방식으로 결합되어 스크린 상에 표시될 수 있으며 그리고 제안된 캡처 경로 및 모바일 디바이스(102)의 움직임과 관련된 캡처 경로에 대응하는 정렬 정보를 제공하는 표시자(indicator)를 제공하도록 구성될 수 있다. 정렬 정보를 제공하는 상기 표시자는, 사용자가 모바일 디바이스(102)의 캡처 방위 또는 위치를 조정하는 것을 보조할 수 있는 방향들에 관한 텍스트 또는 그래픽을 제공하는 보정 표시자일 수 있다. 예를 들어, 제안된 캡처 경로를 나타내는 그래픽은, 모바일 디바이스(102)의 스위핑 동작에 의해 가로질러지는 실제 캡처 경로를 나타내는 그래픽과 중첩될 수 있다. 모바일 디바이스(102)로 장면의 경로를 스위핑하는 사용자는, 이들 경로들을 관찰할 수 있고 그리고 실제 캡처 경로의 일부분과 제안된 대응 캡처 경로의 일부분을 매칭시키도록 모바일 디바이스의 방향 또는 위치를 수동으로 조정할 수 있다. 일부 구현예에서, 그래픽은 사용자로 하여금 캡처 경로를 따라 상기 장면의 특정 부분을 다시 스윕하도록 지시할 수 있다. 예를 들어, 그래픽은 사용자가 비디오의 일부를 백업하고 다시 촬영하도록 지시할 수 있다. 다른 예에서, 그래픽은 사용자가 특정 장면에 대한 캡처 경로의 전체 스윕을 다시 촬영하도록 지시할 수 있다. 이러한 일례에서, 그래픽 또는 그래픽 옆의 텍스트는, 재촬영을 위한 캡처 각도를 나타낼 수 있다. 일부 일례들에서, 그래픽은 추가 캡처를 수행하기 전에 카메라 설정의 세부사항들을 조정하도록 사용자에게 지시할 수 있다.
제안된 특정 캡처 경로의 구성은, 모바일 디바이스(102)와 관련된 카메라의 검출된 방위 또는 각도에 기초할 수 있다. 예를 들어, 모바일 디바이스(102)는 카메라(예를 들어, 모바일 디바이스 102와 연관된 카메라)의 방향 또는 각도를 결정하는데 사용되는 온보드 가속도계 또는 자이로스코프 감지 디바이스(미도시)를 포함할 수 있다. 이러한 정보는 제안된/원하는 캡처 경로를 생성 및 제공하는데 사용될 수 있다. 일부 구현예에서, 제안된 캡처 경로의 구성은 장면에 기초할 수 있다. 예를 들어, 모바일 디바이스(102)는, 캡처 동안, 장면을 분석하여 조명, 수평 배치 또는 시야를 결정할 수 있고 그리고 이러한 정보에 기초하여 캡처 경로 또는 캡처 속도를 제안할 수 있다. 일부 구현예에서, 제안된 캡처 경로는 카메라 설정들 또는 제한들에 기초할 수 있다. 예를 들어, 모바일 디바이스(102)는 세로 방향(portrait orientation)에 관한 하나의 시야 및 가로 방향(landscape orientation)에 관한 다른 하나의 시야를 사용하여 이미지들을 캡처할 수 있다. 따라서 캡처 경로가 적절하게 조정될 수 있다. 모바일 디바이스 상의 어플리케이션은 제안된 캡처 경로를 업데이트하고 동적으로 변경할 수 있으며 그리고 캡처 중에 실시간으로 모바일 디바이스(102)의 스크린에 이러한 변경들을 제공할 수 있다.
예를 들어, 제안된 캡처 경로(또는 타겟 경로)는 사용자가 원하는 방향/각도로 카메라를 유지함으로써 캡처 경로에 대한 시작 위치를 정의하는 것에 기초하여 생성될 수 있다. 이러한 초기 위치(이는 카메라의 UI 상의 버튼을 누름으로써 사용자에 의해 식별될 수 있음)에 기초하여, 모바일 디바이스는 경로를 계산할 수 있는바, 경로가 원형으로 형성되고, 카메라의 현재(초기) 위치가 상기 원 상에 놓이고, 상기 원이 카메라의 광 축과 평행인 평면 내에 놓이고, 그리고 상기 원이 기결정된 반경(또는 사용자에 의해 선택될 수 있는 반경)을 가지도록, 경로를 계산할 수 있다. 이러한 계산에 기초하여, 제안된 경로는 "타겟 경로"로서 계산될 수 있다. 다음을 유의해야 하는바, 하나 이상의 일례에서, 타겟 경로는 캡처 동안에 카메라에 의해 추정되는 위치를 나타낼 뿐만 아니라 캡처 동안에 상기 경로를 따라갈 때 카메라의 소정 각도 및 방위를 나타낸다. 제안된 캡처 경로는 캡처하는 동안 카메라가 따라야할 궤적(trajectory)을 나타내며 그리고 상기 궤적을 따라갈 때 카메라에 의해서 추정되어야 하는 방위 및 각도를 또한 나타낸다. 다음으로 하나 이상의 일례들에서는, 캡처 동안에, 캡처 중인 카메라의 움직임에 의해서 형성된 실제 캡처 경로(예컨대, 모바일 디바이스의 가속도계/자이로스코프로 측정됨)와 제안된 캡처 경로가 서로 비교될 수 있다(캡처 중인 카메라의 위치, 방위 및 각도와 제안된 캡처 경로에 의해서 주어지는 바와 같은 카메라의 위치, 방위 및 각도를 비교함으로써). 다음으로, 하나 이상의 일례들에서는, 제안된 캡처 경로 상에 있는 카메라의 위치, 각도 및/또는 방위와 실제 캡처 경로 상에 있는 카메라의 위치, 각도 및/또는 방위 간의 편차 또는 불일치가 사용자에게 표시될 수 있다. 제안된 경로의 하나 이상의 부분들과 실제 캡처 경로의 (대응하는) 부분들이 매칭되지 않는 경우에 이러한 편차 또는 불일치가 발생할 수 있다. 이러한 방식으로, 이미지 캡처링의 품질을 향상시킬 수 있다. 이러한 목적을 위해, 하나 이상의 일례들에서, 사용자에 제공되는 표시는, 제안된 캡처 경로와 실제 캡처 경로가 다시 매칭되도록 카메라의 위치 및/또는 방위 및/또는 각도를 어떻게 수정할지에 관한 표시를 또한 포함할 수 있다.
예를 들어, 캡처 경로들을 디스플레이하는 어플리케이션은, 이미지 캡처 동안, 모바일 디바이스의 움직임과 관련된 캡처 경로(예컨대, 실제 캡처 경로)가 제안된 캡처 경로와 다르다는 것을 검출할 수 있다. 상기 경로들이 매칭되지 않는다는 것을 상기 어플리케이션이 검출하면, 어플리케이션은 모바일 디바이스(102)에 업데이트된 표시자를 제공할 수 있다. 업데이트된 표시자는, 모바일 디바이스의 사용자에게 조정이 필요함을 알려주는 프롬프트, 그래픽, 사운드 또는 텍스트를 포함할 수 있다. 일부 구현예에서, 캡처 조정 모듈(116)은 이미지 캡처 동안 비원형인(non-circular) 카메라 궤적을 보상하거나 및/또는 이미지 캡처 동안 비평행인(non-parallel) 주요 카메라 축을 보상하도록 구성될 수 있다. 이러한 보정들의 추가적인 일례들이 도4 내지 도8을 참조하여 상세하게 설명된다.
일부 구현예에서, 캡처 조정 모듈(116)은 캡처 후에 이미지를 보정하도록 구성될 수 있다. 예를 들어, 이미지들이 캡처된 후에, 상기 모듈(116)은 비원형 카메라 궤적 또는 스윕, 비평행 주요 축(카메라) 및/또는 카메라 궤적에 대한 부정확한 관찰 방향을 보정할 수 있다(단지 몇 가지 일례일 뿐임).
스티칭 모듈(118)은 아티팩트들을 제거하기 위하여, 여러 개의 이미지 프레임들로부터 픽셀들의 2개 이상의 컬럼들을 혼합하거나 스티칭(stitch)하도록 구성될 수 있다. 예시적인 아티팩트들은, 열악한 노출(또는 이미지 프레임 간의 노출 변화들)로 인한 아티팩트들 및/또는 모바일 디바이스 카메라와 관련된 자세에 기초한 오정렬 에러들로 인한 아티팩트들을 포함한다. 일부 구현예에서, 모듈(118)은 누락된 콘텐츠를 이미지 프레임들에 제공하기 위해 픽셀들의 2개의 컬럼들 사이에 추가 콘텐츠를 혼합할 수 있다. 다른 구현들에서, 모듈(118)은 이미지 프레임들 내의 아티팩트들을 제거하기 위해 2개의 컬럼들 사이에 추가 콘텐츠를 혼합할 수 있다.
일부 구현예에서, 스티칭 모듈(118)은 이미지 캡처 동안 발생한 측면 롤 이동(lateral roll movement)을 보정함으로써, 3D 공간에서 렌더링하기 위해 캡처된 이미지를 조정하도록 구성될 수 있다. 일부 구현예에서, 스티칭 모듈(118)은 이미지 캡처 동안 발생한 비등각 카메라 아크 운동(non-conformal camera arc movement)을 보정함으로써, 3D 공간에서 렌더링하기 위해 캡처된 이미지를 조정하도록 구성될 수 있다. 일부 구현예에서, 스티칭 모듈(118)은 이미지 캡처 동안 발생한 불일치한 반경 측정치(캡처 경로와 관련된)를 보정함으로써, 3D 공간에서 렌더링하기 위해 캡처된 이미지를 조정하도록 구성될 수 있다.
일부 구현예에서, 스티칭 모듈(118)은 어떤 컬럼들이 함께 스티칭(예 : 블렌딩)될지를 결정할 수 있다. 예를 들어, 모듈(118)은 캡처된 이미지 데이터를 분석하여, 적어도 2개의 이미지들 간의 적어도 하나의 오버랩을 결정할 수 있다. 오버랩은 예를 들어, 2개의 이미지들로부터의 매칭된 픽셀들의 컬럼들 또는 영역들을 포함할 수 있다. 발견된 각각의 오버랩에 대해, 모듈(118)은 매칭된 픽셀의 일부를 선택할 수 있으며 그리고 이들을 결합하여 각각의 부분이 수직으로 정렬되도록 할 수 있다. 수직으로 정렬된 픽셀들은, 3D 장면의 한 세그먼트를 생성하도록 결합될 수 있다. 오버랩이 검출되지 않는 경우, 스티칭 모듈(118)은 이미지들 사이에서 블렌딩될 추가 이미지 콘텐츠를 생성할 수 있다. 스티칭된 콘텐츠는 예를 들어 VR 환경에서 콘텐츠를 표시하기 위해 헤드 장착 디스플레이에 렌더링될 수 있다.
일부 실시예에서, 스티칭 모듈(118)은 모바일 디바이스(102)로 획득된 이미지들에 기초하여 3D 입체 이미지들을 생성하도록 구성될 수 있다. 스티칭 모듈(118)은 다수의 이미지 부분으로부터 픽셀들 및/또는 이미지 스트립들을 블렌딩하도록 구성될 수 있다. 일부 구현예에서, 블렌딩은 이미지 보간(interpolation) 컴포넌트(미도시)에 의해 결정되는 바와 같은 플로우 필드들에 기초할 수 있다. 예를 들어, 스티칭 모듈(118)은 인접한 이미지들 내의 관련 픽셀들 사이에서 플로우 필드들(및/또는 플로우 벡터들)을 결정하도록 구성될 수 있다. 플로우 필드는 이미지들이 겪은 변화들(transformations)을 보상하고 변화들을 겪은 이미지들을 프로세싱하는데 이용된다. 예를 들어, 플로우 필드는 캡처된 이미지의 특정한 픽셀 그리드의 변화를 보상하는데 사용될 수 있다. 일부 구현예에서, 모듈(118)은 주변 이미지들의 보간에 의해서, 캡처된 이미지들의 일부가 아닌 하나 이상의 이미지들을 생성할 수 있고, 그리고 생성된 이미지들을 캡처된 이미지들 내에 인터리빙하여 VR 환경에서의 디스플레이에 적합한, 장면에 대한 추가적인 가상 현실 콘텐츠를 생성할 수 있다.
일부 구현예에서, 스티칭 모듈(118)은 특정 이미지들을 조정함으로써 광학적 흐름(optical flow)을 추정할 수 있다. 예를 들어, 이러한 조정은, 이미지의 일부를 렉티파이하는 것(rectifying), 이미지들의 일부와 연관된 추정된 카메라 포즈를 결정하는 것, 그리고 그 부분의 이미지들 사이에서 플로우를 결정하는 것을 포함할 수 있다. 일부 구현예에서, 스티칭 모듈(118)은 장면 내의 이미지들을를 캡처하기 위해, 특정 캡처 경로의 여러 스윕들을 묘사하는 이미지를 수신한다. 캡처 경로의 여러 스윕들에 대응하는 이미지들이 함께 스티칭되어, 장면의 3D 입체 뷰를 형성할 수 있다.
캡처 경로의 하나 이상의 스윕들(sweeps)의 캡처된 이미지들이, 실제 세계의 장면을 정확하게 나타내는 장면(왜곡 또는 불필요한 찌꺼기가 없는)으로 스티치하기에 적합하지 않은 경우, 본 명세서에 설명된 시스템은 실제 세계의 장면을 정확하게 표현하도록 이미지들을 조절할 수 있다. 예를 들어, 모바일 디바이스(102)와 같은 모바일 디바이스를 사용하는 경우, 캡처 경로는 모바일 디바이스(102)를 잡고있는 사용자가 디바이스의 방위를 어떻게 조작하는지에 따라 극적으로 변할 수 있다. 앞서 도면들에서 알 수 있는 바와 같이, 캡처 경로는 캡처 경로의 스윕(sweep)을 나타내는 원호(arc) 또는 다른 형상일 수 있는바, 이는 양호하게 강제되지 않는다. 디바이스 회전들, 캡처 반경 변경들, 롤, 피치 또는 요(yaw) 변화들 모두가 발생할 수 있다. 시스템(100)은 캡처된 이미지 콘텐츠의 일부 또는 전부를 조정할 수 있는바, 콘텐츠를 3D 공간에서 렌더링하고, 콘텐츠 내의 레이들의 특정 잔재들을 선택하고, 특정 부분들을 함께 스티칭하여 적절한 시차(parallax) 및 광학 흐름을 제공함으로써, 캡처된 이미지 콘텐츠의 일부 또는 전부를 조정할 수 있다.
일부 실시예들에서, 모바일 디바이스(102)는 이미지 프로세싱 시스템(106)으로서 기능할 수 있다. 예를 들어, 디바이스(102)에 의해 캡처된 특정 이미지들의 조합들이 정확한 3D 입체 장면을 제공하지 않는다면, 동일한 디바이스(102)는 정확도를 향상시키거나 보정하기 위해 이러한 이미지들에 대한 프로세싱을 수행할 수 있으며 그리고 후속적으로 생성된 임의의 3D 입체 장면을 렌더링할 수 있다. 특히, 모바일 디바이스(102)는 캡처된 이미지들을 최적화하여 VR 환경에서의 프리젠테이션을 위해 장면의 정확한 렌더링을 제공하는 이미지 프로세싱 시스템으로 구성될 수 있다.
최적화는 특정 이미지 프레임들을 함께 스티칭(stitching)하는 것을 포함할 수 있다. 예를 들어, 이미지들 캡처 동안, 모바일 디바이스(102)는 캡처된 각각의 이미지 프레임 내의 어떤 픽셀 컬럼들이 함께 스티칭될 수 있는지를 결정할 수 있다. 모바일 디바이스(102)는 이미지 프레임들을 분석하여, 스티칭으로 인해 응집력있는 장면(cohesive scene)을 제공할 수 있는 포인트들/컬럼들을 결정할 수 있다. 스티칭을 위해 모바일 디바이스(102)가 선택한 각각의 포인트들/컬럼들에 대하여, 디바이스(102)는 상기 포인트들/컬럼들에 대한 배치 데이터(placement data)를 캡처할 수 있으며 그리고 적절한 포인트들/컬럼들을 최종 이미지로서 선형적으로 스티칭할 수 있다. 이러한 최적화는 노출 불일치를 보정하고, 카메라 오정렬/포즈 에러를 수정하고, 및/또는 누락된 이미지 프레임을 보정하는 기능을 수행할 수 있다.
일단 이미지들이 적절히 조정되고 스티칭되면, 렌더링 모듈(120)은 가상 시점으로부터 제공된 사실적인 것처럼 보이는 장면(realistic looking scene)에 이미지들을 렌더링할 수 있다. 예를 들어, 모듈(120)은 모바일 디바이스에 의해 캡처된 이미지들의 집합을 렌더링할 수 있고 그리고 이들 이미지들에 기초하여 가상 현실 콘텐츠를 예컨대, HMD 디바이스(110)의 사용자에게 제공할 수 있다. 도2 내지 도10에서 상세히 설명되는 바와 같이, 렌더링된 장면들은 장면에 대한 하나의 원형 스윕, 부분적인 스윕, 다수개의 스윕들 및/또는 다수의 포즈 위치들에서 캡처된 이미지들에 기초할 수 있다.
본 명세서에 서술된 구현예들은 하나 이상의 장점들을 제공할 수 있다. 예를 들어, 본 명세서에 설명된 방법들 및 시스템들은 모바일 디바이스 상의 카메라와 관련된 제한된 시야를 사용하여, 장면에 대한 다수의 캡처 이벤트들로부터의 콘텐츠를 함께 스티칭(stitching)함으로써 3D 옴니스테레오 이미지들을 생성할 수 있다. 일부 구현예들에서에서는, 약 90 도의 수직 시야 및/또는 약 90 도의 수평 시야를 갖는 디바이스에 의해서 이미지들이 캡처될 수 있다. 또한, 본 명세서에 설명된 방법들 및 시스템들은 카메라 경로, 방위 및 카메라 페이싱 각도(facing angle)를 모니터링 및 제어하기 위하여 모바일 디바이스(102)를 실시간으로(즉, 장면의 캡처 동안) 조정하도록 모바일 디바이스(102)의 사용자에게 지시함으로써, 장면 내의 특정 콘텐츠 혹은 각도들이 올바르게 캡처되는 것을 보장할 수 있다.
예시적인 시스템(100)에서, 디바이스들(106 및 112)은 랩톱 컴퓨터, 데스크톱 컴퓨터, 모바일 컴퓨팅 디바이스 또는 게임 콘솔일 수 있다. 일부 구현예에서, 디바이스들(106 및 112)은 HMD 디바이스(110) 근처에 또는 HMD 디바이스(110) 내에 배치 및/또는 달리 위치될 수 있는 모바일 컴퓨팅 디바이스일 수 있다. 모바일 컴퓨팅 디바이스는 디스플레이 디바이스를 포함할 수 있으며, 디스플레이 디바이스는 예컨대, HMD 디바이스(110)를 위한 스크린으로 사용될 수 있다. 디바이스(102, 106 및 112)는 VR 어플리케이션을 실행하기 위한 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 또한, 디바이스들(102, 106, 및 112)은, 이들 디바이스들이 HMD 디바이스(110) 앞에 위치하거나 혹은 HMD 디바이스(110)에 대한 위치 범위 내에 유지될 때, HMD 디바이스(110)의 3D 움직임을 인지, 모니터링 및 추적할 수 있는 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 일부 실시예들에서, 디바이스들(102, 106, 112)은 네트워크(104)를 통해 HMD 디바이스(110)에 추가 콘텐츠를 제공할 수 있다. 일부 실시예들에서, 디바이스들(102, 106, 110, 112)은 네트워크(104)를 통해 쌍을 이루거나 또는 연결되는 하나 혹은 모두와 서로 연결/인터페이스될 수 있다. 이러한 연결은 유선 또는 무선일 수 있다. 네트워크(104)는 공중 통신 네트워크 또는 사설 통신 네트워크 일 수 있다.
시스템(100)은 전자 저장부를 포함할 수 있다. 전자 저장부는 전자적으로 정보를 저장하는 비일시적인 저장 매체를 포함할 수 있다. 전자 저장부는 캡처된 이미지, 획득된 이미지, 전처리된 이미지, 후처리된 이미지 등을 저장하도록 구성될 수 있다. 서술된 카메라들 또는 디바이스들 중 임의의 것으로 캡처된 이미지들은 비디오의 하나 이상의 스트림들로서 프로세싱 및 저장될 수 있으며 또는 개별 프레임들로 저장될 수 있다. 일부 구현예들에서는 캡처 중에 저장이 발생할 수 있고 이미지의 일부가 캡처된 직후에 렌더링을 수행하므로, 캡처 및 프로세싱이 동시에 수행되는 것보다 먼저 입체적인 이미지 콘텐츠에 더 빨리 액세스할 수 있다.
도 2는 파노라마 영상을 캡처하는 모바일 디바이스의 일례를 도시한 도면이다. 여기서, 모바일 디바이스는 모바일 디바이스(102)(도 1)일 수 있다. 상기 일례에서, 사용자는 온보드 카메라(201)를 이용하여 장면(200)의 영상을 능동적으로 캡처할 수 있다. 일반적으로, 카메라(201)는 디바이스(102)의 스크린의 반대편에서 사용자로부터 멀어지게 지향된다. 캡처가 발생하는 동안 디바이스(102)의 스크린 상에 상기 장면의 일부가 디스플레이된다. 사용자가 상기 장면(200)을 가로질러 디바이스(102)를 스윕함에 따라 새로운 장면들로 스크린이 업데이트될 수 있다.
도시된 일례에서, 사용자는 수직 방향(예를 들면, 세로 방향) 방향으로 모바일 디바이스(102)를 잡고 있으며 그리고 캡처 경로(202)를 따라 디바이스를 스윕한다. 일부 실시예에서, 디바이스는 수평으로(예컨대, 가로 방향) 유지될 수 있으며 또는 180도 범위를 따라 x-y-z 평면의 임의 위치에 유지되어, 모바일 디바이스(102)와 관련된 카메라와 마주보는 장면을 캡처할 수 있다. 사용자는 그녀의 보디 주위의 원형 경로를 스윕할 수 있는바, 원의 일부분, 반원, 혹은 전체 원에서 그녀의 팔을 스윕핑하거나 또는 그녀의 전체 보디를 움직힘으로써, 원형 경로를 스윕할 수 있다. 사용자는 다양한 속도로 모바일 디바이스(102)를 이동시킬 수 있고, 스윕 도중에 속도를 변경할 수도 있다.
도 2에 도시된 바와 같이, 캡처 경로(202)는 사용자가 장면(200)을 캡처하기 위해 디바이스(102)를 스위핑(sweep)할 때, 사용자가 가로지른 경로를 나타내는 다수의 조그들(jogs) 또는 범프들(bumps)을 포함한다. 또한, 양호하게 정렬된 경로의 일례를 사용자에게 표시하기 위하여 제안된 경로(204)가 제공된다. 캡처 경로(204)는 매끄러운(예를 들어, 연속적인) 원형 경로로서 도시되어 있는데, 이는 장면(200)에 대한 스윕에 걸쳐서 동일한 방향 및 틸트로 이미지들을 캡처하는데 이용될 수 있다.
일반적으로, 모바일 디바이스(102)로 이미지들을 캡처하는데 이용되는 스위핑 움직임들은 사용자에 의해서 수행되는 수동 조작들이기 때문에 가령, 캡처 경로(202)와 같은 제안된 경로 이외의 경로를 이용하여 캡처되는 이미지들에는 여러 개의 변경들(modifications)이 수행될 수 있다. 이들 변경들은 비-균일한 방식으로 캡처된 이미지들을 보정할 수 있다. 또한, 전화기의 수직 방위는 수평 방위와는 다른 시야를 제공할 수 있으므로, 좁은 시야로 캡처된 이미지를 보정하기 위해 추가적인 변경들이 수행될 수 있다.
비제한적인 일례에서, 캡처 경로(202)는 온보드 카메라(예컨대, 201)로 이미지들을 캡처하는 동안 모바일 디바이스(102)가 경로(202) 주위를 스윕할 수 있는 원형 공간의 원주(circumference)로 표현될 수 있다. 이미지를 캡처한다는 것은, 캡처 경로를 가로지르도록 모바일 디바이스(102)를 정렬시킴으로써 모바일 디바이스(102)로 이미지 콘텐츠를 기록하는 것에 해당할 수 있다.
도 3은 시야에 있는 장면의 이미지들을 캡처하는 예시적인 모바일 디바이스를 도시한 도면이다. 여기서, 모바일 디바이스는 모바일 디바이스(102)(도 1)일 수 있다. 이 예에서, 사용자는 특정 시야각(302)을 갖는 장면의 영상을(예컨대, 온보드 카메라 201로) 능동적으로 캡처링하고 있을 수 있다. 여기에 도시된 시야(302)는 약 120도이다. 전형적인 모바일 디바이스는 카메라 사양에 따라, 보다 더 작거나 더 큰 시야를 제공할 수 있는 온보드 카메라를 포함하기 때문에, 다른 시야들 역시 가능하다.
도시된 일례에서, 사용자(304)는 모바일 디바이스(102)를 수평 방향(예를 들어, 가로 방향)으로 유지하고 그리고 캡처 경로(미도시)를 따라 디바이스(102)를 스윕(sweep)할 준비를 하고 있다. 가로 방향으로 모바일 디바이스(102)를 유지하는 것은, 도2에 도시된 바와 같이 디바이스(102)가 수직으로 유지되는 경우보다 더 넓은 수평 카메라 시야를 갖는 이미지들을 캡처할 수 있게 한다. 하지만, 디바이스를 가로 방향으로 유지하는 경우, 수직 시야가 더 좁아질 수 있다. 장면에 따라, 캡처 제안들을 디바이스(102) 상에 제공하는 어플리케이션에 의해서 디바이스 방향이 제안될 수 있다.
비제한적인 실시예에서, 모바일 디바이스(102)와 관련된 시야는 약 100도 내지 약 120도일 수 있다. 본 명세서에 서술된 시스템은 약 180도의 시야를 근사하는 이미지를 구성하도록 보완할 수 있다. 예를 들어, 시스템(100)은 디바이스(102)를 사용하여 장면의 이미지들을 캡처하기 위해, 특정 캡처 경로에 대한 다수의 스윕들을 수행하도록 사용자를 호출할 수 있다. 다수의 스윕들은 예를 들어, 스티칭 모듈(118)을 사용하여 함께 스티치될 수 있는바, 이는 더 큰 시야를 이용하여 캡춰된 것처럼 보이는 이미지들을 제공하기 위한 것이다.
도 4는 모바일 디바이스로 이미지들을 캡처하기 위한 예시적인 경로(402)를 도시한 도면이다. 여기에 도시된 캡처 경로(402)는 예컨대, 온보드 카메라로 이미지들을 캡처하는 동안 모바일 디바이스(102)가 주위를 스윕할 수 있는 원형 공간의 원주(circumference)로 표현될 수 있다. 모바일 디바이스(예를 들어, 모바일 디바이스 102)를 잡고있는 사용자는 디바이스(102)의 하부(즉, 온보드 카메라 렌즈의 하부 림)가 평평한 원형 경로(402)에 의해 추정되는 지표면에 대해 90도 경사 및 레벨로 유지되도록, 디바이스(102)를 수평으로 유지할 수 있다. 모바일 디바이스(102)는 캡처 경로(402) 주위에서 0도 내지 360 도의 이미지 콘텐츠를 캡처하도록 장면을 향해 바깥쪽을 향하도록 도시되어 있다. 사용자(404)는 자신의 팔을 수평으로 스위핑하거나 또는 도시된 캡처 경로(402)를 따라 이미지 캡처를 수행하기 위해 몸을 회전시킬 수 있다.
도 5는 모바일 디바이스로 이미지를 캡처하기 위한 다른 예시적인 경로를 도시한 도면이다. 이 예에서, 모바일 디바이스(예를 들어, 모바일 디바이스 102)는 세로 방향으로 사용자에 의해 유지되며 그리고 어플리케이션 콘텐츠(502)를 포함한다. 어플리케이션 콘텐츠(502)는 예를 들어, 경로(402)의 스윕(sweep)을 수행할 때 이미지들을 적절히 캡처하도록, 디바이스 배향, 방향 또는 기울임을 보정하기 위한 명령들을 사용자에게 제공하는 기능을 포함한다.
도 5에 도시된 바와 같이, 어플리케이션 콘텐츠(502)는 그림 네비게이션 디스플레이(504)를 포함하는바, 그림 네비게이션 디스플레이(504)는 방향 화살표(506 및 508)를 사용하여, 다른 방식으로 디바이스(102) 상의 카메라를 이동시키거나, 기울이거나 향하게 하도록 디바이스(102)의 사용자에게 지시한다. 여기서, 디바이스(102)는 원형 캡처 경로(402)와 매칭되지 않는 캡처 경로(510)를 사용하는 것으로 도시되어 있다. 어플리케이션 콘텐츠(504)는 이미지 스윕(즉, 캡처) 중에 제공될 수 있다. 상기 일례에서, 모바일 디바이스(102)는, 현재의 캡처 경로(510)를 제안된 캡처 경로(402)에 더 잘 정렬시키기 위하여 디바이스의 방위 및 틸트를 수정하도록 사용자에게 촉구하는 화살표 표시자들(506 및 508)을 구비한 그림 네비게이션 디스플레이(504)를 수신할 수 있다. 상기 표시들은 모바일 디바이스(102)로 캡처되는 이미지 콘텐츠와 나란히, 근처에, 위에 또는 투명하게 위에(예컨대, 반-투명적으로), 모바일 디바이스 상의 스크린에 제공될 수 있다. 예를 들어, 상기 표시들은 이미지 콘텐츠 위에 중첩된 반투명 표시들의 복합 이미지로 제공될 수 있다. 이러한 구성은 캡처 경로 또는 절차를 변경하기 위한 임의의 유도된 지시들 뿐만 아니라 캡처되는 이미지 콘텐츠를 사용자에게 보여줄 수 있는 장점을 제공할 수 있다.
비제한적인 실시예에서, 그림 디스플레이(504)에 도시된 표시들은 모바일 디바이스(102)의 위치의 각도(angle of position)에서의 움직임에 대응하는(디바이스(102)에 의해 취해진) 자이로스코프 측정치들의 그래픽적 설명을 제공할 수 있다. 일부 구현예에서, 그림 디스플레이 (504)는 모바일 디바이스(102)에 의해 측정된 다양한 다른 감지 입력들에 기초하여 어플리케이션 콘텐츠를 제공할 수 있다. 비제한적인 실시예에서, 어플리케이션 콘텐츠(502) 및 표시들(506, 508)은 정지 이미지 또는 애니메이션 이미지, 그래픽 또는 텍스트를 포함할 수 있는바, 이는 제안된 캡처 경로 또는 모바일 디바이스의 위치의 각도에 디바이스(102)를 정렬시키는 것에 관한 것이다. 모바일 디바이스(102)의 위치의 각도는, 모바일 디바이스(102) 상의 카메라 렌즈의 전면에 수직인 평면으로부터 회전된 각도의 측정치 및 모바일 디바이스(102) 상의 카메라 렌즈의 전면에 평행한 평면으로부터 회전된 각도의 측정치로 표현될 수 있다. 예를 들어, 상기 표시들은 정렬 정보를 제공할 수 있으며 그리고 모바일 디바이스(102) 상의 카메라 렌즈의 전면에 수직인 평면에 대하여 약 30 도의 틸트 각도로부터 0 도의 틸트 각도로 사용자가 모바일 디바이스를 이동시키게 하는 지시들을 포함할 수 있다. 일부 실시예에서, 모바일 디바이스(102)의 위치의 각도는 디바이스(102)의 스크린에 그래픽으로 표시되며, 이는 그라운드 평면(ground plane)(512a) 및 캡처 평면(512b)에 대한 방위각들(azimuth angles)(표시자들 506 및 508에 의해 표시됨)을 제공한다. 일반적으로, 모바일 디바이스의 위치의 각도는, 그라운드 평면 및 소스 캡처 경로와 관련된 평면에 대하여 방위각들을 제공하는 반투명 이미지를 도시하는 그래픽으로 디바이스 스크린(102)에 표현된다. 일부 구현예에서, 반투명 이미지는 전술한 복합 이미지와 조합된다.
비제한적 다른 일례에서, 어플리케이션 콘텐츠(502) 및/또는 표시들(506, 508)은 깜박이는 화살표, 아이콘 및/또는 기타 등등의 표시자를 포함할 수 있는바, 이는 상기 표시들과 함께 디바이스(102)의 스크린에 디스플레이되는 캡처 경로를 유지하기 위해 모바일 디바이스(102)를 상하 또는 좌우로 움직이도록 사용자에게 알려준다. 예를 들어, 표시자는 사용자가 특정 캡처 경로를 수정하는 것에 응답하여, 깜박거림을 멈추거나 사라질 수 있다. 또 다른 표시 형태들 및 내용들도 또한 가능하다.
일부 구현예에서, 사용자에 의해 수행된 특정 스윕이 3D 이미지 스티칭을 위해 사용되기에는 불충분하다는 점을 검출함에 응답하여, 모바일 디바이스(102)는 어플리케이션 콘텐츠(502) 및/또는 표시들(506, 508)를 제공 및 디스플레이한다. 이러한 경우, 모바일 디바이스(102)는 동일한 방위 또는 다른 방위를 사용하여 추가적인 스윕들을 수행하도록 사용자에게 지시할 수 있다. 이와 유사하게, 모바일 디바이스(102)는 서로 다른 틸트 각도들에서 다수의 스윕들을 수행하도록 사용자에게 지시할 수 있다.
일반적으로, 표시(예를 들어, 506, 508)는 모바일 디바이스(102)와 관련된 디스플레이 상에 제공될 수 있다. 표시들은 캡처되는 이미지 콘텐츠와 중첩될 수 있는 어플리케이션에서 디스플레이될 수 있다. 표시들은 추가적인 스윕들을 수행하면서 위치의 특정 각도에서 디바이스(102)를 유지하도록 모바일 디바이스(102)의 사용자에게 지시할 수 있다. 예를 들어, 추가적인 스윕들은 장면과 연관된 그라운드 평면에 모바일 디바이스의 카메라 렌즈가 수직으로 향하도록 하여 수행될 수 있다. 일부 일례들에서, 사용자의 바깥쪽으로 뻗은 팔(모바일 디바이스를 들고 있는 팔)과 같은 높이 혹은 가까운 높이의 제 1 경로를 구비하는, 원형인(예를 들어, 실질적으로 원형인) 캡처 경로들(예를들어, 지면에 평행한(예컨대, 실질적으로 평행한))을 사용하여 이미지 캡처를 수행하고 그리고 장면을 캡처하도록 주위를 스윕할 시에 추가적인 스윕들이 지시될 수 있다. 이러한 표시들은 상기 경로 위 또는 아래에 있는 캡처 경로에 대한 후속 스윕들을 수행하도록 사용자에게 지시할 수 있다. 예를 들어, 추가적인 스윕들을 수행하기 위하여, 모바일 디바이스의 스크린에서 위치의 각도가 업데이트되어, 유사하거나 상이한 캡처 경로들의 특정 스윕들을 수행하여 장면의 이미지들을 캡처하도록 사용자에게 지시할 수 있다. 업데이트된 위치의 각도의 일례는, 지면에 평행한(예컨대, 실질적으로 평행 한) 캡처 경로로부터 약 40도 각도로 카메라 렌즈를 뒤로 기울이는 것을 포함할 수 있다. 업데이트된 위치의 각도의 또 다른 일례는, 지면에 실질적으로 평행한 캡처 경로로부터 약 40도 전방으로 카메라 렌즈를 기울이는 것을 포함할 수 있다. 전술한 스윕들 각각으로부터의 이미지 콘텐츠를 결합함으로써, 시스템(100)은 상기 장면에 대한 구형 표현(spherical representation)을 생성할 수 있다. 이러한 표현은 3D VR 환경에서 입체 이미지들을 제공하는데 사용될 수 있다.
일부 구현예들에서는, 특정한 장면에 대한 다수의 스윕들이 디바이스(102)에 의해 안내되어, 앞선 스윕들과 거의 동일한 방위를 이용하지만 상이한 틸트 각도를 사용하여 후속 스윕들이 캡처되는 것을 보장할 수 있다. 이들 유사한 스윕들 각각은 개별적인 옴니스테레오 이미지/파노라마를 제공하는바, 이는 예를 들어, 이미지에서 픽셀들의 수평 라인 위의 선형 스티칭 솔기(linear stiching seam)를 사용하여 함께 스티칭될 수 있다. 여러 스윕들에서 차이들이 발생하는 경우, 장면의 스윕들 사이에서 관련성(correspondence)을 찾아내는데, 옵티컬 플로우 기법(optical flow technique)(본 명세서에 설명된 바와 같은)이 사용될 수 있다. 옵티컬 플로우는 다수의 스윕들을 함께 혼합하는데 사용될 수 있다.
일부 구현예에서는, 캡처 동안, 모바일 디바이스(102)에 의해 가로지르는 장면에 대한 스윕과 디바이스(102)의 스크린에 표시되는 제안된 캡처 경로가 직교하지 않음을 검출함에 응답하여, 모바일 디바이스(102)는 어플리케이션 콘텐츠(502) 및 표시들(506, 508)을 제공 및 디스플레이한다. 이러한 일례에서, 사용자가 그녀의 캡처 경로 또는 디바이스 방향을 변경함에 따라, 모바일 디바이스(102)는 업데이트된 보정 표시자들 또는 정보를 디바이스(102)의 스크린에 제공할 수 있다. 일부 구현예에서, 업데이트된 정보는 캡처 경로(402)를 매칭시키도록 디바이스(102)를 조절하기 위한 추가 프롬프트들을 포함할 수 있다. 일부 구현예들에서, 업데이트된 정보는 그래픽, 아이콘, 텍스트 지시, 사운드 또는 디바이스(102)를 조절하도록 사용자에게 지시하는 추가 표시자들을 포함할 수 있다. 예를 들어, 모바일 디바이스(102)는 캡처 중에, 어플리케이션 콘텐츠(502)에 대응하는 디바이스(102)의 스크린에서, 더 느린 속도 또는 더 빠른 속도로 스윕을 수행하라는 표시를 수신할 수 있다. 다른 구현들에서, 스크린 내의 어플리케이션 콘텐츠(502)는 사용자가 모바일 디바이스(102)에 설정된 특정 사양에 대해 허용가능한 경로로 캡처 경로를 조정함에 따라, 디스플레이되는 것을 중단할 수 있다.
도 6은 이미지 캡처 동안 모바일 디바이스(102)의 스크린(604)에 있는 콘텐츠(602)의 일례를 도시한 도면이다. 여기서, 모바일 디바이스는 모바일 디바이스(102)(도1)일 수 있다. 사용자는 온보드 카메라(예컨대, 카메라 201)를 사용하여 모바일 디바이스(102)를 조작할 수 있다. 이 일례에서, 사용자는 장면의 중심에 있고 그리고 캡처 경로를 스위핑하여 사용자를 둘러싼(예컨대, 적어도 부분적으로 둘러싸는) 장면의 이미지들을 캡처한다. 캡처 경로(402)는 약 10 센티미터 내지 약 35 센티미터의 반경(601)을 갖는 것으로 도시된다. 일부 구현예에서, 반경은 캡처 경로를 따라 이미지들이 캡처됨에 따라 변화될 수 있다. 예를 들어, 본 일례에서는 사용자가 모바일 디바이스를 수동으로 조작하고 있기 때문에, 사용자의 그립 및 물리적 움직임에 따라 사용자의 스윕이 변함에 따라 반경(601)이 자연적으로 변할 수 있다. 이 예에서, 사용자는 장면의 이미지를 캡처하기 위해 캡처 경로(606)를 가로지를 수 있다. 도시된 바와 같이, 상기 장면은 나무(608a) 및 모바일 디바이스(102) 상의 카메라에 의해 캡처될 수있는 임의의 주변 수평선, 지면 및 하늘을 포함한다. 사용자가 장면을 캡처하기 위해 캡처 경로를 스윕(sweep)함에 따라, 장면의 일부분들이 디바이스(102) 상에 도시된다. 모바일 디바이스(102)는 나무(608a)를 포함한 장면의 일부를 캡처하는 것으로 도시되어 있는바 따라서, 나무(608a)에 대한 이미지가 디스플레이 스크린(604)에 나무(608b)로서 디스플레이된다. 또한, 사용자의 캡처 경로(606)가 스크린(604) 상에 도시된다. 사용자가 캡처 경로(606) 주위에서 디바이스(102)를 팬(pan)하거나 스윕함에 따라, 디바이스는, 3D 입체 콘텍스트 및 파노라마 컨텍스트에서 장면을 적절히 표현하도록 구성될 수 있는 이미지들을 충분히 제공하기에는 사용자의 경로(606)가 부정확함을 검출할 수 있다. 즉, 디바이스(102)는 방향, 스위핑 속도, 모바일 디바이스 각도 또는 다른 변수에 의해서 상기 장면이 예컨대, 3D VR 환경에서 부정확하게 디스플레이될지의 여부를 검출할 수 있다.
소정 시점에서, 어플리케이션(디바이스(102)상에서 동작하는)은 캡처 경로(606)를 따라 캡처하는 동안 모바일 디바이스(102)의 위치, 방향 및/또는 각도를 검출할 수 있다. 예컨대, 캡처 경로(402)와 매칭되지 않는 캡처 경로를 모바일 디바이스(102)가 스위핑하고 있음을 검출함에 응답하여, 어플리케이션은 디바이스(102)가 이미지들을 부적절하게 캡처하고 있다라는 표시를 제공하도록, 어플리케이션 콘텐츠를 디스플레이할 수 있다. 예를 들어, 도 6은 "표시 없음(no sign)"을 나타내는 원(circle) 및 백슬래시를 구비한 심볼(610)을 도시하고 있는데, 이는 디바이스(102)가 기대하지 않는 방식으로 사용자가 이미지 캡처를 수행하고 있음을 사용자에게 알릴 수 있다. 이러한 심볼(610)을 수신하는 하나의 예시적인 이유는, 캡처 속도 위반이 될 수 있는바, 이 경우 사용자는 디바이스(102)가 특정 풍경을 캡처 및 프로세싱하기에는 너무 빠르게 상기 장면 주위의 캡처 경로를 스위핑하고 있다.
도 7은 이미지들의 캡처 동안 모바일 디바이스의 스크린(704)에 있는 콘텐츠(702)의 다른 일례를 도시한 도면이다. 여기서, 모바일 디바이스는 모바일 디바이스(102)(도1)일 수 있다. 사용자는 온보드 카메라를 사용하여 모바일 디바이스(102)를 조작할 수 있다. 이러한 일례에서, 사용자는, 장면의 이미지들을 캡처하기 위해 캡처 경로(706)를 가로지르는 동안, 수직 방향인 디바이스(102)로 이미지 콘텐츠를 캡처하고 있다. 도시된 바와 같이, 상기 장면은 나무(708a) 및 모바일 디바이스(102) 상의 카메라에 의해 캡처될 수 있는 임의의 주변 수평선, 지면 및 하늘을 포함한다. 상기 장면의 일부를 캡처하기 위해 사용자가 스위핑함에 따라, 디바이스(102) 상에 장면이 도시된다. 도 6과 유사하게, 모바일 디바이스(102)는 나무(708a)를 포함한 장면의 일부를 캡처하는 것으로 도시되어 있는바 따라서, 나무(708a)에 대한 이미지가 디스플레이 스크린(704)에 나무(708b)로서 디스플레이된다.
소정 시점에서, 디바이스(102)는 도 7에 도시된 바와 같이, 사용자가 약간 기울어진 각도의 디바이스(102)를 이용하여 콘텐츠를 캡처하고 있음을 검출할 수 있다. 모바일 디바이스(102)는 각도를 보정하기 위해 디바이스(102)의 사용자에게 표시들을 제공할 수 있다. 예를 들어, 표시(710)는 디바이스(102)의 스크린에 나타난다. 표시(710)는 사용자에게 디바이스(102)를 좌측으로 기울이도록 지시하는 화살표이다. 틸트에 대한 보정을 제공하는 사용자 움직임을 디바이스(102)가 검출한다면, 표시(710)는 디스플레이됨을 중지할 수 있다. 사용자가 틸트를 지나치게 보정하는 경우, 표시(710)는 디바이스(102)를 다른 방향으로 기울여서 캡처 방향을 정정하도록 사용자에게 통지하기 위해 업데이트될 수 있다. 디바이스(102)는 특정 콘텐츠를 캡처하기 위해 디바이스를 정렬함에 있어서 사용자를 보조할 수 있는 어플리케이션 콘텐츠를 추가로 제공할 수 있다. 예를 들어, 모바일 디바이스(102)는 장면 내의 수평선이 캡처 경로(706)를 통해 고르게(evenly) 캡처되지 않았음을 검출할 수 있다. 즉, 디바이스(102)는 심하게 기울어진 디바이스가, 이미지들이 함께 스티칭되는 것을 어렵게 하는 방식으로 이미지들을 캡처하고 있음을 판별할 수 있다. 따라서, 디바이스(102)는 사용자가 모바일 디바이스(102)를 다르게 정렬해야 함을 나타내는 명령들 및/또는 마커들을 제공할 수 있다. 마커의 일례들은 십자선(712)을 포함한다. 십자선(712)은 디바이스(102)와 예를 들어 캡처 경로(402)를 정렬시키는 것을 돕기위해 사용될 수 있다. 전체 위치 그리드 또는 지도, 위도 및 경도 좌표, 레벨/비-레벨(non-level) 심볼 및 기타 위치 표시자들을 비롯한 다른 마커들 역시 이용가능하다. 이들 표시자들 및 마커들 각각은 이미지 콘텐츠를 캡처하는 어플리케이션에 디바이스(102) 상에 디스플레이될 수 있다. 이러한 방식으로, 보정 매커니즘이 표시되는 동안 이미지 콘텐츠가 보여질 수 있다.
도 8은 이미지 캡처 동안 모바일 디바이스의 스크린(804)에 있는 콘텐츠(802)의 또 다른 일례를 도시한 도면이다. 이러한 일례에서, 모바일 디바이스는 모바일 디바이스(102)(도1)일 수 있다. 사용자는 온보드 카메라를 사용하여 모바일 디바이스(102)를 조작할 수 있다. 상기 일례에서, 사용자는 장면의 이미지를 캡처하기 위해 캡처 경로(806)를 가로질 수 있다. 모바일 디바이스(102)는, 3D 입체 콘텐츠를 생성하는데 이용가능한 이미지들을 제공하지 못할 수도 있는 각도로, 사용자가 디바이스를 정렬 혹은 기울이고 있음을 검출할 수 있다. 따라서, 디바이스(102) 상에서 실행되는 어플리케이션은, 예를 들어, 사용자의 캡처 경로의 코스를 변경하도록 사용자에게 프롬프트할 수 있는 표시자들 및 콘텐츠를 제공할 수 있다. 도 8에 도시된 표시자들은, 십자선(810) 내부의 화살표(808), 표시 없음(no sign)(812) 및 텍스트 명령 "오른쪽으로 기울임(Tilt Right)"(814)을 포함한다. 각각의 심볼은 모바일 디바이스(102)의 사용자에게 명령을 수행할 것을 지시할 수 있다. 일부 구현예에서, 심볼들은 동일한 명령을 나타낸다. 예를 들어, 화살표(808) 및 텍스트 명령(814) 둘다는, 사용자의 캡처 경로 또는 이미지 캡처 프로세스를 수정하도록, 사용자가 모바일 디바이스(102)를 오른쪽으로 기울여야 함을 사용자에게 나타낼 수 있다.
도 9는 이미지들을 캡처하는 프로세스(900)의 일 실시예를 나타내는 순서도이다. 다양한 실시예에서, 프로세스(900)는 도 1 및 도 11과 같은 시스템에 의해 사용되거나 생성될 수 있다.
일 실시예에서, 블록(902)은 모바일 디바이스가 이미지 캡처를 시작하라는 지시를 수신할 수 있음을 예시한다. 예를 들어, 사용자는 특정 장면의 이미지들에 대한 캡처를 시작하도록 카메라 어플리케이션을 선택함으로써, 모바일 디바이스(102)에 내장되거나 모바일 디바이스(102)가 액세스 가능한 카메라에 액세스할 수 있다. 장면의 이미지를 캡처하는 것은, 특정 캡처 경로를 가로지르도록 모바일 디바이스를 정렬시킴으로써 모바일 디바이스로 이미지 콘텐츠를 기록하는 것에 해당할 수 있다. 캡처 경로 주변의 직경이 달라질 수 있다.
블록(904)에서, 모바일 디바이스(102)는 카메라를 사용하여 이미지를 캡처할 수 있다. 이미지들을 캡처하는 것은, 장면의 캡처 경로를 따라 원형 스윕의 적어도 일부에 대하여 이미지를 획득하는 것을 포함할 수 있다. 예를 들어, 모바일 디바이스(102)는 장면의 원형 캡처 경로를 따라 기록된(recorded) 스윕을 수행하면서 이미지들을 캡처할 수 있다. 장면의 기록된 스윕은, 상기 장면과 관련된 캡처된 콘텐츠가 디바이스(102) 또는 예컨대, 원격 컴퓨팅 디바이스에 기록 및 저장되는 정지 이미지 캡처 및/또는 비디오 이미지 캡처를 포함할 수 있다. 장면에 대한 스윕(sweep)은, 장면 이미지들을 획득하기 위해 반원 또는 완전한 원에서의 아크 동작(arcing motion)에서 사용자가 모바일 디바이스(102)를 수동으로 움직이는 것을 수반할 수 있다. 아크 동작은 모바일 디바이스(102)가 장면을 향해 바깥쪽으로 향하는 상태에서 사용자의 머리 또는 몸 주위에서 스위핑하는 것에 해당할 수 있다.
블록(906) 및 캡처 동안, 모바일 디바이스(102)는 이미지들의 표현을 디바이스(102) 상에 디스플레이할 수 있을 뿐만 아니라, 타겟(제안된) 캡처 경로 및 이미지 캡처 동안 모바일 디바이스의 움직임들과 관련된 소스 캡처 경로에 대응하는 정렬 정보를 제공하는 표시자들을 제공할 수 있다. 상기 표시자들은, 모바일 디바이스의 사용자에게 조절이 요구됨을 나타내는 프롬프트, 그래픽, 사운드 또는 텍스트를 포함할 수 있다. 상기 표시자들은 전체 위치 그리드 또는 지도, 위도 및 경도 좌표, 레벨/비-레벨 심볼들, 텍스트 위치 데이터 및 기타 위치 표시자들을 포함하되 이에 국한되지 않는, 일반적인 위치 또는 정렬 프로토콜과 관련될 수 있다.
일반적으로, 소스 캡처 경로는 소스 캡처 경로를 따라 장면에 대한 복수의 이미지들을 캡처하기 위해 모바일 디바이스(102)에 의해 가로질러지는 스위핑 동작을 나타낼 수 있다. 따라서, 소스 캡처 경로는 캡처 동안 모바일 디바이스의 방향과 관련될 수 있다. 마찬가지로, 소스 캡처 경로는 모바일 디바이스(102)의 위치의 각도와 관련될 수 있다. 타겟 캡처 경로는, 디바이스(102) 또는 시스템(100)에 의해 결정된, 기정의된 또는 미리선택된 캡처 경로일 수 있는 원 형상의 경로를 나타낼 수 있다.
블록(908)에서는, 모바일 디바이스(102)에 의해 수행되고 가로질러지는 장면에 대한 스윕(sweep)의 일부분(예컨대, 소스 캡처 경로의 일부분)이 타겟 캡처 경로의 일부분과 매칭되지 않음을 검출하는 것에 응답하여, 정렬 정보를 제공하는 표시자들이 모바일 디바이스(102)의 스크린에 제공될 수 있다. 이러한 표시자들은 캡처 동안 모바일 디바이스(102)의 스크린에 실시간으로 제공될 수 있다. 일부 구현예들에서는, 캡처되는 복수의 이미지들 중 하나 이상에 대한 표현뿐만 아니라 타겟 캡처 경로 및 표시자를 포함하는 복합 이미지의 일부로서 또는 그에 추가하여, 상기 표시자가 제공된다. 예를 들어, 상기 표시자는 모바일 디바이스의 사용자에게 사용자의 캡처 경로(예를 들어, 소스 캡처 경로)의 전부 또는 일부를 제안된 캡처 경로(예컨대, 타겟 캡처 경로)의 전부 또는 일부와 매칭시키도록 하는 프롬프트를 포함할 수 있다.
일부 구현예들에서, 프로세스(900)는 모바일 디바이스의 스크린에서 추가적인 표시자들을 수신하는 단계를 포함할 수 있다. 예를 들어, 모바일 디바이스(102)는 캡처 중에, 보다 느린 이동 속도로 특정 이미지 캡처를 수행하라는 표시를 수신할 수 있다. 또 다른 일례에서, 모바일 디바이스(102)는 장면의 추가 콘텐츠를 캡처하기 위해 업데이트된 위치 각도(위치의 업데이트된 각도)를 사용하여 장면의 추가 이미지 캡처들을 수행하라는 표시를 수신할 수 있다. 업데이트된 위치 각도는 VR 환경에서 상기 장면을 표시할 목적으로, 3D 옴니스테레오 장면에 스티칭 또는 블렌드할 추가 이미지 콘텐츠를 제공할 수 있다. 예를 들어, 사용자가 모바일 디바이스를 수직 방향(즉, 세로 방향)으로 사용하여 장면의 이미지들을 캡처하였다면, 수평 방향(즉, 가로 방향)으로 디바이스를 사용하여 캡처한 이미지와 달리, 추가적인 수직 공간이 캡처된 이미지들에 제공될 수 있다. 이러한 일례에서, 만일 사용자가 모바일 디바이스를 원형 캡처 경로의 원주쪽으로 또는 원주로부터 멀리 회전시켰다면, 원형 캡처로부터 통상적으로 사용될 수 있는 광선들(rays)은 이용가능하지 않을 수도 있다. 즉, 모바일 디바이스(102)가 원형 캡처 경로에 대략 접선인 장면을 향해 바깥쪽으로 향하게 유지되지 않는다면, 상기 이미지들은 정확하게 스티칭 또는 블렌딩되지 않아서, 장면에 대한 360도의 뷰들을 갖는 장면의 3D 옴니스테레오 버전을 제공할 수 없다.
일부 구현예에서, 프로세스(900)는 캡처 동안 모바일 디바이스의 스크린 상에 그림 그래픽을 디스플레이함과 아울러, 캡처 동안 이미지 콘텐츠를 캡처하고 그리고 상기 콘텐츠를 모바일 디바이스의 스크린에 디스플레이하는 것을 포함할 수 있다. 예를 들어, 그림 그래픽은, 캡처 중인 이미지들과 그림 그래픽(또는 다른 표시들)의 복합물을 사용자에게 제시하도록, 스크린의 반투명 오버레이로 표시될 수 있다. 상기 그림 그래픽은, 타겟 캡처 경로(즉, VR 환경을 위한 3D 옴니스테레오 장면들을 생성하도록 결과 이미지들을 사용하기 위한 제안된 원형 캡처 경로) 및 표시자(소스 캡처 경로에 대응하는 정렬 정보를 제공함)를 제공하도록 구성될 수 있다. 정렬 정보는 모바일 디바이스의 위치에 대한 특정 각도에서의 움직임에 대응하는 자이로스코프 측정치들을 나타내는 그림 그래픽을 포함할 수 있다. 일부 구현예에서, 그림 그래픽은 모바일 디바이스의 움직임과 관련된 소스 캡처 경로를 타겟 캡처 경로와 일치시키는 코스를 제공하는 적어도 하나의 표시자를 포함한다.
일부 구현예들에서, 특정 캡처 경로의 일부 또는 전부와의 매칭(또는 미스매칭)은 임계 조건에 기초할 수 있다. 예를 들어, 임계 조건은 소스 캡처 경로가 타겟 캡처 경로 주위에서 이동한 경로의 약 5% 내지 약 10% 만큼 타겟 경로와 미스매칭하는 것을 포함할 수 있다. 즉, 디바이스(102)가 디바이스(102)에 의해 이동된 경로의 5% 내지 10%가 약 5 내지 10% 이상을 벗어났다는 것을 검출하면, 디바이스(102)는 그림 그래픽 또는 다른 보정 표시들을 디스플레이할 수 있다. 다른 일례에서, 임계 조건은 소스 캡처 경로가 타겟 경로와 약 10% 내지 약 25% 만큼 미스매칭하는 것을 포함할 수 있다. 다른 일례에서, 임계 조건은 소스 캡처 경로가 타겟 경로와 약 20% 내지 약 40% 만큼 미스매칭하는 것을 포함할 수 있다. 모바일 디바이스(102)는 백분율 임계값, 경계 임계 레벨 또는 백분율, 캡처 각도의 임계값, 기타 등등에 기초하여, 모바일 디바이스(102)에 이동된 특정 이미지 캡처 경로로부터 이탈들(deviations)을 디바이스(102)가 검출할 수 있게 하는 설정 세팅들을 포함할 수 있다.
일반적으로, 소스 캡처 경로는 모바일 디바이스(102)의 움직임(즉, 모바일 디바이스로 원 운동을 스위핑하는 사용자에 의해 가로질러지는 캡처 경로)과 연관될 수 있다. 예를 들어, 그림 그래픽은 모바일 디바이스의 움직임을 검출하는 것에 응답하여, 실시간으로 동적으로 업데이트될 수 있다. 그림 그래픽은 여러 부분들을 포함할 수 있다. 예를 들어, 그림 그래픽은 타겟 캡처 경로를 나타내는 제 1 부분 및 모바일 디바이스의 움직임과 관련된 소스 캡처 경로(앞에서 설명됨)를 나타내는 제 2 부분을 포함할 수 있다. 제 1 및 제 2 부분은, 상기 제 2 부분을 제 1 부분에 정렬시키도록 특정 코스를 따르라고 사용자에게 표시 또는 지시할 수 있다. 이러한 일례에서, 제 1 부분은 원의 일부분 또는 전체 원이 될 수 있는 반면에, 제 2 부분은 원의 일부분으로부터의 이탈들 또는 전체 원으로부터의 이탈들이 될 수 있다. 여기서, 상기 원은, 장면의 이미지들을 캡처하기 위해 사용자에 의해 모바일 디바이스가 이동되는 이상적인 원형 스위핑 경로를 나타낼 수 있다.
도 10은 이미지들을 렌더링하기 위한 프로세스(1000)의 일 실시예를 나타내는 순서도이다. 다양한 실시예들에서, 프로세스(1000)는 도 1 및 도 11의 그것들과 같은 시스템에 의해 사용되거나 생성될 수 있다.
일 실시예 따른 블록(1002)에서, 이미지 프로세싱 시스템(106)은 모바일 디바이스로 캡처된 이미지들을 획득할 수 있다. 획득된 이미지들은 360도 원의 주위에 있는 다수의 포인트들로부터 캡처된 콘텐츠를 포함할 수 있다. 상기 원은 캡처 경로를 나타낼 수 있는바, 캡처 경로에서 모바일 디바이스는 이미지를 획득하기 위해 스위핑하도록 구성될 수 있다. 일 예시에서, 360도 원은 약 10 센티미터에서 약 75 센티미터 범위의 직경을 갖는 가변 캡처 경로를 나타낼 수 있다. 캡처 경로가 약 10 센티미터의 직경을 갖는 경우, 획득된 이미지는 약 90 도의 수평 시야로 획득될 수 있다.
일부 구현예에서, 획득된 이미지는 특정 장면에 대한 복수의 연속적인 이미지 프레임들을 포함할 수 있다. 다른 구현들에서, 획득된 이미지들은 복수의 분리된(disjointed) 또는 비연속적인(non-consecutive) 이미지 프레임들을 포함할 수 있다. 또 다른 구현예에서, 획득된 이미지는 연속적인 이미지 세트와 비연속적인 이미지 세트의 조합을 포함할 수 있다.
비제한적인 일례에서, 획득된 이미지들은 0도 내지 25도에서 장면을 나타내는 이미지들의 세트, 30도 내지 300도에서 장면을 나타내는 이미지들의 세트, 및 원 주위의 310도 내지 349도에서 장면을 나타내는 이미지들의 또 다른 세트를 포함할 수 있다. 이들 이미지 세트들은 360도, 입체 3D 장면을 생성하기 위해 시스템(106)에 의해 사용될 수 있다. 360도, 입체 3D 장면을 생성하는 것은, 이미지들의 세트들을 스티칭 혹은 블렌딩하기 위하여 다수의 이미지들을 조절하는 것을 포함할 수 있다.
블록(1004)에서, 시스템(106)은 3D 공간에서 렌더링하기 위해, 획득된 이미지들(또는 이미지들의 세트들)을 조정할 수 있다. 3D 공간은 VR 환경에서의 공간으로 표현될 수 있다. 획득된 이미지를 조정하는 단계는 적어도 2개의 이미지들 사이에서 적어도 하나의 오버랩을 판별하는 단계를 포함할 수 있다(블록 1006). 오버랩은 적어도 2개의 이미지들에 있는 픽셀들 간의 매칭을 포함할 수 있다. 예를 들어, 시스템(106)은 이미지들의 세트들에서 이미지 프레임들 내의 픽셀 컬럼들을 분석하고 그리고 제 1 픽셀 컬럼의 이미지 콘텐츠가 제 2 픽셀 컬럼의 이미지 콘텐츠와 매칭하는지의 여부를 결정할 수 있다. 오버랩이 발견되면, 시스템(106)은 각각의 오버랩에 대해, 블록(1008)에서 오버랩에 포함된 픽셀들의 일부분을 선택할 수 있다. 오버랩에 대응하는 픽셀들의 선택된 일부분들은 블록(1010)에서 결합될 수 있으며, 따라서 픽셀들의 각 부분은 수직적으로 정렬되어, 장면의 세그먼트를 생성한다.
적어도 2개의 이미지들 사이에 오버랩이 없다고 결정함에 응답하여, 시스템(106)은 상기 적어도 2개의 이미지들 사이에 블렌딩될 추가 이미지 콘텐츠를 생성할 수 있다(블록 1012). 다음으로, 시스템(106)은 추가 이미지 콘텐츠를 결합하여 세그먼트를 업데이트할 수 있다. 추가 이미지 콘텐츠를 결합하는 것은, 이미지 내의 아티팩트를 제거하기 위해, 2 이상의 이미지들로부터의 컬럼들을 블렌딩하는 것을 포함할 수 있다. 아티팩트는 캡처와 관련된 포즈에 적어도 부분적으로 기초하는 오정렬 에러를 포함할 수 있지만, 이에 국한되는 것은 아니다. 일부 구현예에서, 프로세스(1000)는 또한 (i) 캡처시에 발생하는 측면 롤 이동(lateral roll movement), (ii) 캡처시에 발생하는 비등각 카메라 아크 이동(non-conformal camera arc movement), 또는 (iii) 캡처시에 발생하는 일관성없는 반지름 측정들을 보정함으로써, 3D 공간에서의 렌더링을 위해 이미지들을 조정하는 단계를 포함한다.
블록(1014)에서, 시스템(106)은 예를 들어, VR 환경에서 사용되는 헤드-장착 디스플레이에서의 렌더링 및 디스플레이를 위해, 세그먼트의 업데이트를 제공할 수 있다.
도 11은 일반적인 컴퓨터 디바이스(1100) 및 일반적인 모바일 컴퓨터 디바이스(1150)의 일례를 도시하며, 이는 여기에 서술된 기술들과 함께 사용될 수 있다. 컴퓨팅 디바이스(1100)는 랩탑, 데스크탑, 워크스테이션, 개인 휴대 정보 단말기(PDA), 서버, 블레이드 서버, 메인프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터들을 나타내기 위한 것이다. 컴퓨팅 디바이스(1150)는 개인 휴대 정보 단말기(PDA), 셀룰러 전화기, 스마트폰 및 다른 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타내기 위한 것이다. 본 명세서에 개시된 구성요소들, 이들의 연결들 및 관계들, 그리고 이들의 기능들은 단지 예시적인 것으로 의도되며, 본 명세서에 개시된 및/또는 청구된 발명의 구현예를 제한하는 것으로 의도되지 않는다.
컴퓨팅 디바이스(1100)는 프로세서(1102), 메모리(1104), 저장 디바이스(1106), 메모리(1104) 및 고속 확장 포트(1110)에 연결되는 고속 인터페이스(1108), 그리고 저속 버스(1114) 및 저장 디바이스(1106)에 연결되는 저속 인터페이스(1112)를 포함한다. 구성 요소들(1102, 1104, 1106, 1108, 1110, 및 1112) 각각은 다양한 버스들을 사용하여 상호접속되고, 공통 마더보드 상에 또는 적절하게 다른 방식으로 마운트될 수 있다. 프로세서(1102)는 메모리(1104) 또는 저장 디바이스(1106)에 저장된 명령을 포함하여, 컴퓨팅 디바이스(1100) 내에서의 실행을 위해 명령들을 프로세싱하여, 고속 인터페이스(1108)에 접속된 디스플레이(1116)와 같은 외부 입/출력 디바이스 상에 GUI를 위한 그래픽 정보를 디스플레이한다. 다른 구현예에서는, 다수의 메모리들 및 메모리 유형들과 함께, 다수의 프로세서들 및/또는 다수의 버스들이 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(1100)이 연결될 수도 있는바, 여기서 각각의 디바이스는 필요한 연산들의 일부분을 제공한다(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹 또는 멀티 프로세서 시스템으로서).
메모리(1104)는 컴퓨팅 디바이스(1100) 내에 정보를 저장한다. 일 실시예에서, 메모리(1104)는 휘발성 메모리 유닛(들)이다. 또 다른 구현예에서, 메모리(1104)는 비휘발성 메모리 유닛(들)이다. 또한, 메모리(1104)는 자기 또는 광학 디스크와 같은 다른 형태의 컴퓨터 판독가능 매체일 수 있다.
저장 디바이스(1106)는 대용량 저장소를 컴퓨팅 디바이스(1100)에 제공할 수 있다. 일 구현예에서, 저장 디바이스(1106)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스들을 포함하는 디바이스들의 어레이 등과 같은 컴퓨터 판독가능 매체이거나 이를 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현될 수 있다. 또한, 컴퓨터 프로그램 제품은 실행될 때, 전술한 바와 같은 하나 이상의 방법들을 수행하는 명령들을 포함할 수 있다. 정보 캐리어는 메모리(1104), 저장 디바이스(1106) 또는 프로세서(1102) 상의 메모리와 같은, 컴퓨터-판독가능 또는 머신-판독가능한 매체이다.
고속 제어기(1108)는 컴퓨팅 디바이스(1100)를 위해, 대역폭-집중형 연산들을 관리하고, 저속 제어기(1112)는 낮은 대역폭-집중형 연산들을 관리한다. 기능들의 이러한 할당은 단지 예시일 뿐이다. 일 구현예에서, 고속 제어기(1108)는 메모리(1104), 디스플레이(1116)(예를 들어 그래픽 프로세서 또는 가속기를 통해)에 접속되며, 그리고 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(1110)에 접속된다. 일 구현예에서, 저속 제어기(1112)는 저장 디바이스(1106) 및 저속 확장 포트(1114)에 접속된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함하는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스에 접속되거나 또는 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 접속될 수 있다.
컴퓨팅 디바이스(1100)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(1120)로서 구현되거나, 또는 그러한 서버들의 그룹에서 여러 번 구현될 수도 있다. 또한, 랙 서버(rack server) 시스템(1124)의 일부로서 구현될 수도 있다. 또한, 랩탑 컴퓨터(1122)와 같은 개인용 컴퓨터로 구현될 수도 있다. 대안적으로, 컴퓨팅 디바이스(1100)의 구성 요소들은 가령, 디바이스(1150)와 같은 모바일 디바이스(미도시)의 다른 구성요소들과 결합될 수 있다. 이러한 디바이스들 각각은 하나 이상의 컴퓨팅 디바이스(1100, 1150)를 포함할 수 있으며, 그리고 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스(1100, 1150)로 구성될 수 있다.
컴퓨팅 디바이스(1150)는 다른 구성요소들 중에서 프로세서(1152), 메모리(1164), 디스플레이(1154)와 같은 입/출력 디바이스, 통신 인터페이스(1166) 및 송수신기(1168)를 포함한다. 디바이스(1150)에는 추가 저장소를 제공하기 위해 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 구성요소들(1150, 1152, 1164, 1154, 1166 및 1168) 각각은 다양한 버스를 사용하여 상호접속되고, 구성요소들 중 몇몇은 공통 마더 보드 상에 또는 적절하게 다른 방식으로 마운트될 수 있다.
프로세서(1152)는 메모리(1164)에 저장된 명령들을 포함하여, 컴퓨팅 디바이스(1150) 내의 명령들을 실행할 수 있다. 프로세서는 개별적인 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로서 구현될 수 있다. 프로세서는 예를 들어 사용자 인터페이스들의 제어, 디바이스(1150)에 의해 실행되는 어플리케이션들 및 디바이스(1150)에 의한 무선 통신과 같은 디바이스(1150)의 다른 구성요소들 간의 조정을 제공할 수 있다.
프로세서(1152)는 제어 인터페이스(1158) 및 디스플레이(1154)에 연결된 디스플레이 인터페이스(1156)를 통해 사용자와 통신할 수 있다. 디스플레이(1154)는 예를 들어, TFT LCD(박막 트랜지스터 액정 디스플레이) 또는 OLED(Organic Light Emitting Diode: 유기 발광 다이오드) 디스플레이, 또는 다른 적절한 디스플레이 기술을 이용할 수 있다. 디스플레이 인터페이스(1156)는 사용자에게 그래픽 및 다른 정보를 제공하기 위해 디스플레이(1154)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(1158)는 사용자로부터 커맨드들을 수신하고 그리고 프로세서(1152)에 제출하기 위해 이들을 변환할 수 있다. 또한, 프로세서(1152)와 통신하기 위해 외부 인터페이스(1162)가 제공되는바, 다른 디바이스들과 디바이스(1150)의 근거리 통신이 가능해진다. 예를 들어, 외부 인터페이스(1162)는 일부 구현에서는 유선 통신을 제공하고, 다른 구현예에서는 무선 통신을 제공할 수 있으며, 다중 인터페이스들이 또한 사용될 수 있다.
메모리(1164)는 컴퓨팅 디바이스(1150) 내에 정보를 저장한다. 메모리(1164)는 컴퓨터 판독가능 매체(들), 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들) 중 하나 이상으로서 구현될 수 있다. 또한, 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(1172)를 통해 확장 메모리(1174)가 디바이스(1150)에 제공되고 접속될 수 있다. 이러한 확장 메모리(1174)는 여분의 저장 공간을 디바이스(1150)에 제공할 수 있으며, 또는 디바이스(1150)를 위한 어플리케이션들 혹은 다른 정보를 저장할 수도 있다. 특히, 확장 메모리(1174)는 전술한 프로세스들을 수행하거나 보충하기 위한 명령들을 포함할 수 있고, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(1174)는 디바이스(1150)에 대한 보안 모듈로서 제공될 수 있고, 디바이스(1150)의 보안 사용을 허용하는 명령들로 프로그램될 수 있다. 또한, 보안 어플리케이션은 SIMM 카드를 통해 제공될 수 있는데 가령, 식별 정보를 해킹불가능한 방식으로 SIMM 카드에 배치하는 것과 같이 추가 정보와 함께 제공될 수 있다.
메모리는, 예를 들어, 후술되는 바와 같이, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 실시예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 전술한 방법들과 같은 하나 이상의 방법들을 수행하는 명령들을 포함한다. 예를 들어 정보 캐리어는 가령, 메모리(1164), 확장 메모리(1174) 또는 프로세서(1152) 상의 메모리와 같은 컴퓨터 판독가능 또는 머신 판독가능한 매체이며 이는 송수신기(1168) 또는 외부 인터페이스(1162)를 통해 수신될 수 있다.
디바이스(1150)는 필요한 경우 디지털 신호 처리 회로를 포함할 수 있는 통신 인터페이스(1166)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(1166)는 GSM 음성 호출, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드들 또는 프로토콜들 하에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어 무선 주파수 송수신기(1168)를 통해 수행될 수 있다. 또한, 블루투스, Wi-Fi 또는 다른 트랜시버(미도시)를 사용하여 단거리 통신이 수행될 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(1170)은 추가적인 네비게이션-관련 및 위치-관련 무선 데이터를 디바이스(1150)에 제공할 수 있는바, 이는 디바이스(1150) 상에서 구동되는 어플리케이션들에 의해 적절히 사용될 수 있다.
또한, 디바이스(1150)는 오디오 코덱(1160)을 사용하여 청각적으로 통신할 수 있는바, 이는 사용자로부터 음성 정보를 수신하고 이것을 이용가능한 디지털 정보로 변환할 수 있다. 이와 유사하게, 오디오 코덱(1160)은, 예를 들어 디바이스(1150)의 핸드셋 내의 스피커를 통하는 것과 같이, 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 호출로부터의 사운드를 포함할 수 있고, 기록된 사운드(예를 들어, 음성 메시지들, 음악 파일들 기타 등등)를 포함할 수 있으며 그리고 디바이스(1150)상에서 동작하는 어플리케이션에 의해 생성된 사운드를 또한, 포함할 수 있다.
컴퓨팅 디바이스(1150)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 디바이스는 셀룰러 전화(1180)로서 구현될 수 있다. 또한, 스마트 폰(1182), 개인 휴대 정보 단말기(personal digital assistant), 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수도 있다.
본 명세서에 서술된 시스템들 및 기술들의 다양한 구현예들은, 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC(주문형 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 구현될 수 있다. 이러한 다양한 구현들은 적어도 하나의 프로그램가능한 프로세서를 포함하는 프로그램가능한 시스템 상에서 실행 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램들에서의 구현을 포함하며, 프로세서는 특수용 혹은 범용일 수 있으며, 데이터와 명령들을 송수신하도록 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스에 접속될 수 있다.
이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 어플리케이션 또는 코드로도 알려짐)은 프로그램가능 프로세서에 대한 머신 명령어들을 포함하고, 그리고 고레벨 절차적 프로그래밍 언어 및/또는 객체-지향 프로그래밍 언어 및/또는 어셈블리/기계어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "머신 판독가능 매체", "컴퓨터 판독가능 매체"라는 용어는 프로그램가능 프로세서에 머신 명령들 및/또는 데이터를 제공하는데 이용되는 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그램가능 논리 디바이스(PLD))를 지칭하며, 머신-판독가능 신호로서 머신 명령들을 수신하는 머신-판독가능 매체를 포함한다. "머신 판독가능 신호"라는 용어는 머신 명령들 및/또는 데이터를 프로그램가능 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 서술된 시스템들 및 기술들은 컴퓨터 상에서 구현될 수 있는바, 이러한 컴퓨터는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT 또는 LCD 모니터)와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는다. 사용자와의 상호작용을 제공하는데 다른 종류의 디바이스들이 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백(예를 들어, 시각적 피드백, 청각 피드백 또는 촉각 피드백)일 수 있다. 그리고 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에 서술된 시스템들 및 기술들은 컴퓨팅 시스템에서 구현될 수 있으며, 이러한 컴퓨팅 시스템은 백 엔드 구성 요소(예컨대, 데이터 서버)를 포함하거나, 또는 미들웨어 구성 요소(예컨대, 응용 프로그램 서버)를 포함하거나, 또는 프론트 엔드 구성 요소(예컨대, 사용자가 여기에 설명된 시스템 및 기술의 구현과 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저가 있는 클라이언트 컴퓨터)를 포함하거나, 또는 이러한 백 엔드, 미들웨어 또는 프론트 엔드 구성요소들의 임의의 조합을 포함할 수 있다. 시스템의 구성요소들은 디지털 데이터 통신의 임의의 형태 또는 매체(예컨대, 통신 네트워크)에 의하여 상호연결될 수 있다. 통신 네트워크의 일례는, 근거리 통신망(LAN), 광대역 통신망(WAN), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 통신 네트워크를 통해 상호작용하는 것이 통상적이다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램의 덕택으로 발생한다.
다수의 실시예들이 설명되었다. 하지만, 그럼에도 불구하고, 발명의 상세한 설명의 사상 및 범위를 벗어나지 않고도 다양한 변형들이 이루어질 수 있음을 이해할 것이다. 예를 들어, 이하의 각각의 청구 범위 및 전술한 청구 범위의 일례들은 추가적인 예시적인 실시예를 생성하도록, 임의의 방식으로 조합될 수 있다.
또한, 도면들에 도시된 논리 흐름들은 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적인 순서를 필요로하지 않는다. 또한, 다른 단계들이 설명된 흐름들에 제공되거나 또는 설명된 흐름들로부터 단계들이 제거될 수 있으며, 그리고 설명된 시스템들에 다른 구성요소들이 추가되거나 또는 설명된 시스템들로부터 구성요소들이 제거될 수 있다. 결과적으로, 다른 실시예들 역시도 다음의 청구항들의 범위 내에 속한다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    모바일 디바이스에서, 장면의 복수의 이미지들을 캡처하기 위한 표시를 수신하는 단계;
    상기 모바일 디바이스와 관련된 카메라를 사용하여 상기 복수의 이미지들을 캡처하는 단계;
    상기 복수의 이미지들의 캡처 동안, 상기 복수의 이미지들에 대한 표현을 상기 모바일 디바이스의 스크린 상에 디스플레이하고 그리고 복합 이미지를 상기 스크린에 제공하는 단계, 상기 복합 이미지는 타겟 캡처 경로와 상기 복수의 이미지들의 캡처 동안의 상기 모바일 디바이스와 관련된 소스 캡처 경로에 대응하는 정렬 정보를 제공하는 표시자를 포함하며; 그리고
    캡처 동안, 상기 소스 캡처 경로의 일부가 상기 타겟 캡처 경로의 일부와 매칭되지 않음을 검출하는 것에 응답하여, 업데이트된 표시자를 상기 스크린에 제공하는 단계
    를 포함하며,
    상기 매칭은 임계 조건에 적어도 일부 기초하고, 상기 업데이트된 표시자는 상기 소스 캡처 경로를 상기 타겟 캡처 경로에 정렬시키도록 상기 모바일 디바이스를 조정하기 위한 상기 모바일 디바이스의 사용자에 대한 프롬프트를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 소스 캡처 경로는 상기 장면의 복수의 이미지들을 캡처하기 위해 상기 모바일 디바이스에 의해 이동된(traversed) 스위핑 움직임(sweeping motion)을 포함하며, 상기 소스 캡처 경로는 상기 모바일 디바이스의 위치에 대한 방향 및 각도와 관련되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    상기 타겟 캡처 경로는 원형 경로를 포함하고, 그리고 상기 복수의 이미지들을 캡처하는 단계는, 10 센티미터에서 75 센티미터인 직경을 갖는 타겟 캡처 경로를 이동하도록 상기 모바일 디바이스를 정렬시킴으로써 이미지 콘텐츠를 상기 모바일 디바이스로 레코딩하는 것에 대응하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제1항에 있어서,
    상기 정렬 정보는, 상기 모바일 디바이스의 위치에 대한 방향 및 각도와 관련된 움직임에 대응하는 자이로스코프 측정치의 그래픽적 표현을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제4항에 있어서,
    상기 모바일 디바이스의 위치에 대한 각도는, 지면(ground plane) 및 상기 소스 캡처 경로와 관련된 평면에 대한 방위각들(azimuth angles)을 제공하는 반투명 이미지의 그래픽으로 표현되며, 그리고 상기 반투명 이미지는 상기 복합 이미지와 결합되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제4항에 있어서,
    상기 모바일 디바이스의 위치에 대한 각도는, 상기 모바일 디바이스 상의 카메라 렌즈의 전면에 수직인 평면으로부터 회전된 각도의 측정치와 상기 카메라 렌즈의 전면에 평행한 평면으로부터 회전된 각도의 측정치를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    캡처 동안, 더 느린 속도(slower face)로 상기 이미지들을 캡처하라는 표시를 상기 스크린에서 수신하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제1항에 있어서,
    상기 장면의 추가 이미지 콘텐츠를 캡처하도록, 업데이트된 위치에 대한 각도를 사용하여, 상기 장면에 대한 추가 이미지 캡처를 수행하라는 표시를 상기 스크린에서 수신하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제8항에 있어서,
    상기 스크린의 상기 표시는, 상기 추가 이미지 캡처를 수행하는 동안 상기 업데이트된 위치에 대한 각도로 상기 모바일 디바이스를 유지하도록 상기 모바일 디바이스의 사용자에게 지시하고;
    상기 추가 이미지 캡처는 상기 장면과 관련된 지면에 수직인 상기 모바일 디바이스의 카메라 렌즈로 수행되며, 상기 업데이트된 위치에 대한 각도는 (i) 상기 카메라 렌즈의 40도의 후방 경사(backward tilt), 또는 (ii) 상기 카메라 렌즈의 40도의 전방 경사(forward tilt)를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 명령들이 저장된 비일시적인 머신 판독가능한 매체로서, 상기 명령들은 프로세서에 의해서 실행될 때, 컴퓨팅 디바이스로 하여금,
    모바일 디바이스에서, 장면의 복수의 이미지들을 캡처하기 위한 표시를 수신하는 단계;
    상기 모바일 디바이스와 관련된 카메라를 사용하여 상기 복수의 이미지들을 캡처하는 단계;
    상기 복수의 이미지들의 캡처 동안, 상기 복수의 이미지들에 대한 표현을 상기 모바일 디바이스의 스크린 상에 디스플레이하고 그리고 복합 이미지를 상기 스크린에 제공하는 단계, 상기 복합 이미지는 타겟 캡처 경로와 상기 복수의 이미지들의 캡처 동안의 상기 모바일 디바이스와 관련된 소스 캡처 경로에 대응하는 정렬 정보를 제공하는 표시자를 포함하며; 그리고
    캡처 동안, 상기 소스 캡처 경로의 일부가 상기 타겟 캡처 경로의 일부와 매칭되지 않음을 검출하는 것에 응답하여, 업데이트된 표시자를 상기 스크린에 제공하는 단계를 수행하게 하며,
    상기 매칭은 임계 조건에 적어도 일부 기초하고, 상기 업데이트된 표시자는 상기 소스 캡처 경로를 상기 타겟 캡처 경로에 정렬시키도록 상기 모바일 디바이스를 조정하기 위한 상기 모바일 디바이스의 사용자에 대한 프롬프트를 포함하는 것을 특징으로 하는 비일시적인 머신 판독가능한 매체.
  11. 제10항에 있어서,
    상기 소스 캡처 경로는 상기 장면의 복수의 이미지들을 캡처하기 위해 상기 모바일 디바이스에 의해 이동된(traversed) 스위핑 움직임(sweeping motion)을 포함하며, 상기 소스 캡처 경로는 상기 모바일 디바이스의 위치에 대한 방향 및 각도와 관련되는 것을 특징으로 하는 비일시적인 머신 판독가능한 매체.
  12. 제10항에 있어서,
    상기 정렬 정보는, 상기 모바일 디바이스의 위치에 대한 방향 및 각도와 관련된 움직임에 대응하는 자이로스코프 측정치의 그래픽적 표현을 포함하는 것을 특징으로 하는 비일시적인 머신 판독가능한 매체.
  13. 제10항에 있어서,
    상기 명령들은 또한, 상기 장면의 추가 이미지 콘텐츠를 캡처하도록, 업데이트된 위치에 대한 각도를 사용하여, 상기 장면에 대한 추가 이미지 캡처를 수행하라는 표시를 상기 스크린에서 수신하는 단계를 수행하게 하는 것을 특징으로 하는 비일시적인 머신 판독가능한 매체.
  14. 제13항에 있어서,
    상기 스크린의 상기 표시는, 상기 추가 이미지 캡처를 수행하는 동안 상기 업데이트된 위치에 대한 각도로 상기 모바일 디바이스를 유지하도록 상기 모바일 디바이스의 사용자에게 지시하고;
    상기 추가 이미지 캡처는 상기 장면과 관련된 지면에 수직인 상기 모바일 디바이스의 카메라 렌즈로 수행되며, 상기 업데이트된 위치에 대한 각도는 (i) 상기 카메라 렌즈의 40도의 후방 경사(backward tilt), 또는 (ii) 상기 카메라 렌즈의 40도의 전방 경사(forward tilt)를 포함하는 것을 특징으로 하는 비일시적인 머신 판독가능한 매체.
  15. 시스템으로서,
    적어도 하나의 프로세서; 및
    명령들을 저장하는 메모리를 포함하며,
    상기 명령들은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금,
    이미지 콘텐츠를 캡처하는 단계, 상기 이미지 콘텐츠는 캡처 동안 모바일 디바이스의 스크린에 디스플레이되며;
    캡처 동안, 상기 모바일 디바이스의 스크린 상에 그림 그래픽(pictorial graphic)을 디스플레이하는 단계, 상기 그림 그래픽은 타겟 캡처 경로 및 상기 모바일 디바이스의 움직임과 관련된 소스 캡처 경로에 대응하는 정렬 정보를 제공하는 표시자를 제공하며; 그리고
    이미지 캡처 동안, 상기 모바일 디바이스의 움직임과 관련된 상기 소스 캡처 경로가 상기 타겟 캡처 경로와 상이함을 검출함에 응답하여, 업데이트된 표시자를 상기 스크린에 제공하는 단계를 수행하게 하며,
    상기 업데이트된 표시자는 상기 소스 캡처 경로를 상기 타겟 캡처 경로에 매칭시키도록 상기 모바일 디바이스를 조정하기 위한, 상기 모바일 디바이스의 사용자에 대한 프롬프트를 포함하는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서,
    상기 그림 그래픽은 상기 모바일 디바이스의 움직임을 검출하는 것에 응답하여 실시간으로 동적으로 업데이트되는 것을 특징으로 하는 시스템.
  17. 제15항에 있어서,
    상기 그림 그래픽은 상기 타겟 캡처 경로를 나타내는 제 1 부분 및 상기 모바일 디바이스의 움직임과 관련된 상기 소스 캡처 경로를 나타내는 제 2 부분을 포함하고, 상기 제 1 및 2 부분들은 상기 제 2 부분을 상기 제 1 부분에 정렬시키기 위한 코스를 나타내는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서,
    상기 제 1 부분은 원을 나타내고, 상기 제 2 부분은 상기 원으로부터의 이탈들(deviations)을 나타내는 것을 특징으로 하는 시스템.
  19. 제15항에 있어서,
    상기 정렬 정보는, 상기 모바일 디바이스의 위치에 대한 각도에서의 움직임에 대응하는 자이로스코프 측정들의 그림 그래픽을 포함하는 것을 특징으로 하는 시스템.
  20. 제15항에 있어서,
    상기 그림 그래픽은, 상기 모바일 디바이스의 움직임과 관련된 상기 소스 캡처 경로를 상기 타겟 캡처 경로에 매칭시키기 위한 코스를 제공하는 적어도 하나의 표시자를 포함하는 것을 특징으로 하는 시스템.
KR1020187024794A 2015-05-26 2016-05-26 모바일 디바이스들을 위한 옴니스테레오 캡처 KR102217204B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/721,612 US9813621B2 (en) 2015-05-26 2015-05-26 Omnistereo capture for mobile devices
US14/721,612 2015-05-26
PCT/US2016/034317 WO2016191554A1 (en) 2015-05-26 2016-05-26 Omnistereo capture for mobile devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177027065A Division KR101899531B1 (ko) 2015-05-26 2016-05-26 모바일 디바이스들을 위한 옴니스테레오 캡처

Publications (2)

Publication Number Publication Date
KR20180099935A KR20180099935A (ko) 2018-09-05
KR102217204B1 true KR102217204B1 (ko) 2021-02-18

Family

ID=56108727

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187024794A KR102217204B1 (ko) 2015-05-26 2016-05-26 모바일 디바이스들을 위한 옴니스테레오 캡처
KR1020177027065A KR101899531B1 (ko) 2015-05-26 2016-05-26 모바일 디바이스들을 위한 옴니스테레오 캡처

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177027065A KR101899531B1 (ko) 2015-05-26 2016-05-26 모바일 디바이스들을 위한 옴니스테레오 캡처

Country Status (6)

Country Link
US (2) US9813621B2 (ko)
EP (2) EP3413556A1 (ko)
JP (2) JP6351870B1 (ko)
KR (2) KR102217204B1 (ko)
CN (2) CN107466474B (ko)
WO (1) WO2016191554A1 (ko)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9084058B2 (en) 2011-12-29 2015-07-14 Sonos, Inc. Sound field calibration using listener localization
US9219460B2 (en) 2014-03-17 2015-12-22 Sonos, Inc. Audio settings based on environment
US9106192B2 (en) * 2012-06-28 2015-08-11 Sonos, Inc. System and method for device playback calibration
US9264839B2 (en) 2014-03-17 2016-02-16 Sonos, Inc. Playback device configuration based on proximity detection
US9972121B2 (en) * 2014-04-22 2018-05-15 Google Llc Selecting time-distributed panoramic images for display
US9934222B2 (en) 2014-04-22 2018-04-03 Google Llc Providing a thumbnail image that follows a main image
USD781317S1 (en) 2014-04-22 2017-03-14 Google Inc. Display screen with graphical user interface or portion thereof
USD780777S1 (en) 2014-04-22 2017-03-07 Google Inc. Display screen with graphical user interface or portion thereof
US9952825B2 (en) 2014-09-09 2018-04-24 Sonos, Inc. Audio processing algorithms
US10518036B2 (en) 2014-12-12 2019-12-31 SHL Medical, AG Dose setting mechanism and medicament delivery device comprising the dose setting mechanism
US9813621B2 (en) 2015-05-26 2017-11-07 Google Llc Omnistereo capture for mobile devices
US10582125B1 (en) * 2015-06-01 2020-03-03 Amazon Technologies, Inc. Panoramic image generation from video
WO2016203282A1 (en) * 2015-06-18 2016-12-22 The Nielsen Company (Us), Llc Methods and apparatus to capture photographs using mobile devices
US10491806B2 (en) * 2015-08-03 2019-11-26 Light Labs Inc. Camera device control related methods and apparatus
TWI547177B (zh) * 2015-08-11 2016-08-21 晶睿通訊股份有限公司 視角切換方法及其攝影機
US9693165B2 (en) 2015-09-17 2017-06-27 Sonos, Inc. Validation of audio calibration using multi-dimensional motion check
EP3351015B1 (en) 2015-09-17 2019-04-17 Sonos, Inc. Facilitating calibration of an audio playback device
US9743207B1 (en) 2016-01-18 2017-08-22 Sonos, Inc. Calibration using multiple recording devices
US10003899B2 (en) 2016-01-25 2018-06-19 Sonos, Inc. Calibration with particular locations
US11106423B2 (en) 2016-01-25 2021-08-31 Sonos, Inc. Evaluating calibration of a playback device
US20170269712A1 (en) * 2016-03-16 2017-09-21 Adtile Technologies Inc. Immersive virtual experience using a mobile communication device
US9864574B2 (en) 2016-04-01 2018-01-09 Sonos, Inc. Playback device calibration based on representation spectral characteristics
US9860662B2 (en) 2016-04-01 2018-01-02 Sonos, Inc. Updating playback device configuration information based on calibration data
US9763018B1 (en) 2016-04-12 2017-09-12 Sonos, Inc. Calibration of audio playback devices
US9794710B1 (en) 2016-07-15 2017-10-17 Sonos, Inc. Spatial audio correction
US10372406B2 (en) 2016-07-22 2019-08-06 Sonos, Inc. Calibration interface
KR20180012064A (ko) * 2016-07-26 2018-02-05 엘지전자 주식회사 디스플레이 장치
US10459684B2 (en) 2016-08-05 2019-10-29 Sonos, Inc. Calibration of a playback device based on an estimated frequency response
US10210380B2 (en) 2016-08-09 2019-02-19 Daon Holdings Limited Methods and systems for enhancing user liveness detection
US10217009B2 (en) * 2016-08-09 2019-02-26 Daon Holdings Limited Methods and systems for enhancing user liveness detection
US11115408B2 (en) 2016-08-09 2021-09-07 Daon Holdings Limited Methods and systems for determining user liveness and verifying user identities
US10628661B2 (en) 2016-08-09 2020-04-21 Daon Holdings Limited Methods and systems for determining user liveness and verifying user identities
US10665024B2 (en) * 2016-12-12 2020-05-26 Fyusion, Inc. Providing recording guidance in generating a multi-view interactive digital media representation
ES2747387B1 (es) * 2017-02-06 2021-07-27 Photonic Sensors & Algorithms S L Dispositivo y metodo para obtener informacion de profundidad a partir de una escena.
US10313651B2 (en) 2017-05-22 2019-06-04 Fyusion, Inc. Snapshots at predefined intervals or angles
US11069147B2 (en) * 2017-06-26 2021-07-20 Fyusion, Inc. Modification of multi-view interactive digital media representation
EP3496387A1 (en) * 2017-12-05 2019-06-12 Koninklijke Philips N.V. Apparatus and method of image capture
CN108449546B (zh) * 2018-04-04 2020-03-31 维沃移动通信有限公司 一种拍照方法及移动终端
CN111742550A (zh) * 2018-04-27 2020-10-02 深圳市柔宇科技股份有限公司 一种3d影像拍摄方法、3d拍摄设备及存储介质
US10587807B2 (en) * 2018-05-18 2020-03-10 Gopro, Inc. Systems and methods for stabilizing videos
EP4202882A1 (en) * 2018-06-15 2023-06-28 Google LLC Smart-home device placement and installation using augmented-reality visualizations
US10299061B1 (en) 2018-08-28 2019-05-21 Sonos, Inc. Playback device calibration
US11206484B2 (en) 2018-08-28 2021-12-21 Sonos, Inc. Passive speaker authentication
DE112019004977T5 (de) 2018-10-05 2021-08-12 Google Llc Herunterskalierte Aufnahmevorschau für eine Panoramaaufnahmen-Benutzeroberfläche
KR101990252B1 (ko) * 2018-10-26 2019-06-19 주식회사 비포유플랫폼 Vr 이미지 획득 방법, 이를 수행하기 위한 vr 촬영 프로그램이 설치된 휴대 단말기, 그리고 이 vr 촬영 프로그램을 휴대 단말기에 제공하는 서버
US10602062B1 (en) * 2018-12-20 2020-03-24 3I Corporation System and method for generating 360° video including advertisement
US11092456B2 (en) * 2019-03-08 2021-08-17 Aptiv Technologies Limited Object location indicator system and method
US10645275B1 (en) 2019-03-11 2020-05-05 Amazon Technologies, Inc. Three-dimensional room measurement process with augmented reality guidance
US10706624B1 (en) 2019-03-11 2020-07-07 Amazon Technologies, Inc. Three-dimensional room model generation using panorama paths with augmented reality guidance
CN109934772B (zh) 2019-03-11 2023-10-27 影石创新科技股份有限公司 一种图像融合方法、装置及便携式终端
US11024079B1 (en) 2019-03-11 2021-06-01 Amazon Technologies, Inc. Three-dimensional room model generation using panorama paths and photogrammetry
US10937247B1 (en) 2019-03-11 2021-03-02 Amazon Technologies, Inc. Three-dimensional room model generation using ring paths and photogrammetry
US10643344B1 (en) 2019-03-11 2020-05-05 Amazon Technologies, Inc. Three-dimensional room measurement process
US10734965B1 (en) 2019-08-12 2020-08-04 Sonos, Inc. Audio calibration of a portable playback device
CN110658674B (zh) * 2019-09-16 2022-09-09 忆备缩微科技(北京)有限公司 一种将电子文件输出至缩微胶片上的方法及装置
CN110906830B (zh) * 2019-12-17 2022-02-11 美国西北仪器公司 智能测距轮系统及其测距方法
US11417050B2 (en) * 2019-12-19 2022-08-16 Jvckenwood Corporation Image adjustment device, virtual reality image display system, and image adjustment method
US11176752B1 (en) * 2020-03-31 2021-11-16 Amazon Technologies, Inc. Visualization of a three-dimensional (3D) model in augmented reality (AR)
CN111464749B (zh) * 2020-05-07 2021-05-25 广州酷狗计算机科技有限公司 进行图像合成的方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130155205A1 (en) 2010-09-22 2013-06-20 Sony Corporation Image processing device, imaging device, and image processing method and program

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495576A (en) 1993-01-11 1996-02-27 Ritchey; Kurtis J. Panoramic image based virtual reality/telepresence audio-visual system and method
JPH11352568A (ja) * 1998-06-11 1999-12-24 Casio Comput Co Ltd カメラ及びその制御方法
JP2000032379A (ja) * 1998-07-08 2000-01-28 Olympus Optical Co Ltd 電子カメラ
US7015954B1 (en) * 1999-08-09 2006-03-21 Fuji Xerox Co., Ltd. Automatic video system using multiple cameras
US7224382B2 (en) 2002-04-12 2007-05-29 Image Masters, Inc. Immersive imaging system
EP1931945B1 (en) * 2005-09-12 2011-04-06 Trimble Jena GmbH Surveying instrument and method of providing survey data using a surveying instrument
JP5039922B2 (ja) * 2008-03-21 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 画像描画システム、画像描画サーバ、画像描画方法およびコンピュータ・プログラム
JP2010124088A (ja) * 2008-11-18 2010-06-03 Panasonic Corp 撮像装置
JP5464955B2 (ja) * 2009-09-29 2014-04-09 株式会社ソニー・コンピュータエンタテインメント パノラマ画像表示装置
US20120019614A1 (en) * 2009-12-11 2012-01-26 Tessera Technologies Ireland Limited Variable Stereo Base for (3D) Panorama Creation on Handheld Device
JP2011135246A (ja) * 2009-12-24 2011-07-07 Sony Corp 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
JP2011142483A (ja) * 2010-01-07 2011-07-21 Panasonic Corp 画像生成手法および画像生成装置
CN102959943B (zh) * 2010-06-24 2016-03-30 富士胶片株式会社 立体全景图像合成装置和方法、以及图像捕获装置
JP5510238B2 (ja) * 2010-09-22 2014-06-04 ソニー株式会社 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
JP2012099917A (ja) * 2010-10-29 2012-05-24 Sanyo Electric Co Ltd 撮像装置
US9118833B2 (en) * 2010-11-29 2015-08-25 Fotonation Limited Portrait image synthesis from multiple images captured on a handheld device
KR101777354B1 (ko) * 2011-06-20 2017-09-11 삼성전자주식회사 디지털 촬영 장치, 그 제어 방법, 및 상기 방법을 수행하기 위한 컴퓨터 판독가능 저장매체
US9041734B2 (en) * 2011-07-12 2015-05-26 Amazon Technologies, Inc. Simulating three-dimensional features
JP5996169B2 (ja) * 2011-07-27 2016-09-21 オリンパス株式会社 画像処理システム、情報処理装置及びプログラム
US9191649B2 (en) * 2011-08-12 2015-11-17 Qualcomm Incorporated Systems and methods to capture a stereoscopic image pair
CN103907340B (zh) * 2011-11-07 2017-03-29 索尼电脑娱乐公司 图像生成装置和图像生成方法
JP2015507860A (ja) * 2011-12-07 2015-03-12 インテル コーポレイション 画像キャプチャのガイド
US8872898B2 (en) * 2011-12-14 2014-10-28 Ebay Inc. Mobile device capture and display of multiple-angle imagery of physical objects
US10681304B2 (en) * 2012-06-08 2020-06-09 Apple, Inc. Capturing a panoramic image using a graphical user interface having a scan guidance indicator
US20150124047A1 (en) 2012-07-20 2015-05-07 Google Inc. Panoramic video acquisition guidance
US8965121B2 (en) * 2012-10-04 2015-02-24 3Dmedia Corporation Image color matching and equalization devices and related methods
US20140156416A1 (en) * 2012-12-03 2014-06-05 Google Inc. Previewing, approving and testing online content
US9407469B2 (en) * 2013-03-14 2016-08-02 Lattice Semiconductor Corporation Driving data of multiple protocols through a single set of pins
KR102003383B1 (ko) * 2013-03-14 2019-07-24 삼성전자주식회사 전자 장치에서 이미지를 촬영하는 위한 장치 및 방법
US20150156416A1 (en) * 2013-03-14 2015-06-04 Google Inc. Systems and Methods for Updating Panoramic Images
US9654761B1 (en) 2013-03-15 2017-05-16 Google Inc. Computer vision algorithm for capturing and refocusing imagery
US9398215B2 (en) * 2013-04-16 2016-07-19 Eth Zurich Stereoscopic panoramas
KR102089432B1 (ko) * 2013-06-20 2020-04-14 엘지전자 주식회사 이동 단말기 및 이의 제어방법
US9551461B2 (en) * 2013-07-11 2017-01-24 Boyer, Inc. CNG/LNG filling station
KR102021857B1 (ko) * 2013-07-23 2019-09-17 엘지전자 주식회사 이동 단말기 및 그의 파노라마 촬영방법
KR102089614B1 (ko) 2013-08-28 2020-04-14 삼성전자주식회사 구면 파노라마 이미지 촬영 방법 및 그 전자 장치
KR102120764B1 (ko) * 2013-09-16 2020-06-09 엘지전자 주식회사 포터블 디바이스 및 그 제어 방법
US9972121B2 (en) * 2014-04-22 2018-05-15 Google Llc Selecting time-distributed panoramic images for display
US20160065842A1 (en) * 2014-09-02 2016-03-03 Honeywell International Inc. Visual data capture feedback
US9813621B2 (en) 2015-05-26 2017-11-07 Google Llc Omnistereo capture for mobile devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130155205A1 (en) 2010-09-22 2013-06-20 Sony Corporation Image processing device, imaging device, and image processing method and program

Also Published As

Publication number Publication date
JP2018524830A (ja) 2018-08-30
JP6351870B1 (ja) 2018-07-04
CN107466474A (zh) 2017-12-12
US10334165B2 (en) 2019-06-25
KR101899531B1 (ko) 2018-09-17
KR20180006368A (ko) 2018-01-17
US20160353018A1 (en) 2016-12-01
CN109035128A (zh) 2018-12-18
US20180048816A1 (en) 2018-02-15
US9813621B2 (en) 2017-11-07
EP3304883B1 (en) 2020-10-28
KR20180099935A (ko) 2018-09-05
EP3304883A1 (en) 2018-04-11
CN107466474B (zh) 2019-07-26
JP6704014B2 (ja) 2020-06-03
EP3413556A1 (en) 2018-12-12
WO2016191554A1 (en) 2016-12-01
JP2018160917A (ja) 2018-10-11

Similar Documents

Publication Publication Date Title
KR102217204B1 (ko) 모바일 디바이스들을 위한 옴니스테레오 캡처
CN107646126B (zh) 用于移动设备的相机姿态估计
JP6359644B2 (ja) コンピュータビジョンアプリケーション初期化を容易にするための方法
US9729788B2 (en) Image generation apparatus and image generation method
US8330793B2 (en) Video conference
JP5865388B2 (ja) 画像生成装置および画像生成方法
US20140240454A1 (en) Image generation apparatus and image generation method
US9683833B2 (en) Surveying apparatus having a range camera
US20200351485A1 (en) Systems and methods for stabilizing views of videos
TWI814624B (zh) 環景影像的地標識別標註系統及其方法
CN116320761A (zh) 图像采集方法、装置、设备和存储介质
EP3179712A1 (en) Method for generating or capturing a panoramic view, computer readable storage medium and apparatus configured to generate or capture a panoramic view

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right