KR101956149B1 - 이미지 사이의 광학 흐름의 효율적 결정 - Google Patents

이미지 사이의 광학 흐름의 효율적 결정 Download PDF

Info

Publication number
KR101956149B1
KR101956149B1 KR1020187030620A KR20187030620A KR101956149B1 KR 101956149 B1 KR101956149 B1 KR 101956149B1 KR 1020187030620 A KR1020187030620 A KR 1020187030620A KR 20187030620 A KR20187030620 A KR 20187030620A KR 101956149 B1 KR101956149 B1 KR 101956149B1
Authority
KR
South Korea
Prior art keywords
optical flow
view
camera
pixel
camera view
Prior art date
Application number
KR1020187030620A
Other languages
English (en)
Other versions
KR20180119696A (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 KR20180119696A publication Critical patent/KR20180119696A/ko
Application granted granted Critical
Publication of KR101956149B1 publication Critical patent/KR101956149B1/ko

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/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • H04N5/247
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • 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/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • 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/20Image signal generators
    • H04N13/257Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2628Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
    • 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/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Abstract

캔버스 생성 시스템은 예컨대, 가상 현실에서 장면을 재생성하기 위해 장면을 도시하는 원래의 카메라 뷰 세트에 기반하여 장면의 캔버스 뷰를 생성한다. 캔버스 뷰는 원래의 카메라 뷰 세트로부터 생성된 합성 뷰 세트에 기반하여 생성될 수 있다. 합성 뷰는 예컨대, 다수의 원래의 카메라 뷰에 걸친 광학 흐름에 기반하여 관련된 원래의 카메라 뷰를 시프팅하고 블렌딩함으로써 생성될 수 있다. 광학 흐름은 카메라 뷰의 각 픽셀에 대한 광학 흐름 벡터를 개별적으로 최적화하고 광학 흐름의 변화를 이웃하는 광학 흐름 벡터로 전파시키는 반복법을 사용하여 생성될 수 있다.

Description

이미지 사이의 광학 흐름의 효율적 결정
본 명세서는 일반적으로 가상 현실 헤드셋을 위한 캔버스 뷰의 생성에 관한 것으로서, 특히 카메라에 의해 캡처된 이미지로부터의 캔버스 뷰 생성에 관한 것이다. 캔버스 뷰는 가상 현실에서 장면을 재생성하는 파노라마 광각 뷰를 나타내며, 장면의 3D 입체 효과를 주기 위해 다른 캔버스 뷰와 페어링될 수 있다. 캔버스 뷰 생성을 위한 기존의 기술은 예컨대, 사용자로부터 수동 스티칭 또는 다른 입력을 요구하여 천천히 동작할 수 있고, 가령 카메라 뷰들 간의 상이한 밝기나 색상과 같은 소스 카메라 뷰에서의 불일치를 처리할 때에 문제점들을 직면할 수 있다.
본 발명의 일실시예는 예컨대, 이미지 캡처 시스템의 카메라에 의해 캡처되고 복수의 카메라에 의해 캡처된 장면을 도시하는 것과 같은 장면을 도시하는 원래의 카메라 뷰 또는 이미지의 세트에 기반하여 장면의 캔버스 뷰를 생성할 수 있다. 캔버스 뷰는 합성 뷰의 위치에 기반하여 캔버스 뷰의 각 영역을 합성 뷰의 영역과 연관시키는 제1 맵핑 및 카메라 뷰의 영역을 합성 뷰의 영역과 연관시키는 제2 맵핑에 기반하여 생성될 수 있다. 생성된 맵핑은 캔버스 뷰의 각 영역을, 캔버스 뷰를 생성하기 위해 카메라 뷰에 이후 적용될 수 있는 카메라 뷰의 세트의 하나 이상의 카메라 뷰의 영역과 연관시키는 조합된 맵핑을 생성하도록 조합될 수 있다.
합성 뷰는, 예컨대 하나 이상의 공통 객체를 공유하는 장면의 이미지를 나타내는 제1 및 제2 카메라 뷰에 기반하여 생성될 수 있다. 제1 및 제2 카메라 뷰 사이에서 픽셀을 연관시키는 광학 흐름이 제1 및 제2 카메라 뷰를 관련시키는데 사용될 수 있다. 광학 흐름에 기반하여, 제1 및 제2 카메라 뷰는 각각의 대략적인 원하는 합성 뷰로 "시프팅"될 수 있다. 합성 뷰의 두 근사치는 이후 합성 뷰를 생성하기 위해 함께(즉, 픽셀 색상값이) 블렌딩되거나 평균화될 수 있다.
합성 뷰의 생성 동안에, 광학 흐름은 다수의 카메라 뷰들에 걸쳐 대응되는 지점을 연관시키는데 사용될 수 있다. 예컨대, 광학 흐름은 둘 이상의 대응되는 픽셀을 각각 연관시키는 광학 흐름 벡터의 세트로 표현되는 카메라 뷰 사이의 픽셀들을 연관시킬 수 있다. 광학 흐름은, 예컨대 카메라 뷰의 각 픽셀에 대한 광학 흐름 벡터를 개별적으로 최적화하는 반복법에 기반하여 생성될 수 있다. 예컨대, 각 픽셀에 대한 광학 흐름 제안의 세트를 생성하고, 각 광학 흐름 제안을 분석하며 광학 흐름 제안의 세트의 광학 흐름 제안에 기반하여 각 픽셀에 대한 광학 흐름을 업데이트함으로써 광학 흐름의 최적화를 향상시킨다. 일부 구현에서, 광학 흐름 벡터에 대한 변경은 이웃하는 광학 흐름 벡터로 전파될 수 있다.
본 발명의 내용 중에 포함되어 있다.
본 발명에 따른 실시예들은 특히 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 대한 첨부된 청구항에 개시되고, 한 청구항 카테고리, 예컨대 방법에 언급된 임의의 특징은 다른 청구항 카테고리, 예컨대 시스템에도 청구될 수 있다. 첨부된 청구항의 인용 또는 참조는 형식상의 이유를 위해 선택되었을 뿐이다. 하지만, 임의의 선행 청구항으로의 의도적인 참조(특히 다중 인용)에서 야기되는 임의의 주제 또한, 청구될 수 있어, 청구항 및 그 특징의 임의의 조합이 첨부된 청구항에서 선택된 인용에 관계없이 개시되고 청구될 수 있다. 청구될 수 있는 주제는 첨부된 청구항에 나타난 바와 같은 특징의 조합뿐만 아니라 청구항의 특징의 다른 임의의 조합을 포함하는데, 청구항에 언급된 각 특징은 청구항의 임의의 다른 특징 또는 다른 특징의 조합과 조합될 수 있다. 나아가, 임의의 실시예와 본 명세서에 서술되거나 도시된 특징은 별개의 청구항 및/또는 임의의 실시예나 본 명세서에 서술되거나 도시된 특징과의 또는 첨부된 청구항의 임의의 특징과의 조합에 청구될 수 있다.
본 발명에 따른 일실시예로, 광학 흐름을 생성하기 위한 방법은:
제1 카메라 뷰와 제2 카메라 뷰를 수신하는 단계;
제1 카메라 뷰 내의 지점을 제2 카메라 뷰 내의 대응되는 지점과 매칭하는 광학 흐름을 초기화하는 단계;
제1 카메라 뷰의 각 픽셀에 대해, 픽셀에 대한 광학 흐름을 최적화하는 단계를 포함할 수 있고,
픽셀에 대한 광학 흐름을 최적화하는 단계는:
픽셀에 대한 광학 흐름 제안 세트를 생성하는 단계; 및
각 광학 흐름 제안을 분석하고 광학 흐름 제안 세트 중 하나의 광학 흐름 제안에 기반하여 픽셀에 대한 광학 흐름을 업데이트하는 단계를 포함할 수 있고,
각 카메라 뷰는 카메라에 의해 캡처된 이미지를 나타내고 카메라 뷰가 캡처된 위치와 연관된다.
광학 흐름은, 픽셀과 다른 카메라 뷰의 대응되는 픽셀 사이의 변위를 부여하는 광학 흐름 벡터와 카메라 뷰의 각 픽셀을 연관시키는 벡터 필드일 수 있다.
픽셀에 대한 광학 흐름 제안 세트는 픽셀의 상부 이웃과 연관되는 광학 흐름 벡터를 포함할 수 있고, 광학 흐름 벡터는 픽셀의 좌측 이웃과, 현재 광학 흐름 벡터의 랜덤 섭동과 연관된다.
본 발명에 따른 일실시예로, 방법은 데이터와 조직화 항들을 포함하는 변분 최적화 문제를 확립하는 단계를 포함할 수 있다.
픽셀에 대한 광학 흐름을 업데이트하는 단계는 변분 최적화 문제를 솔루션으로 더 가깝게 이동시키는 광학 흐름 제안에 기반할 수 있다.
본 발명에 따른 일실시예로, 방법은 광학 흐름에 중간값 필터를 적용하는 단계를 포함할 수 있다.
본 발명에 따른 일실시예로, 카메라 뷰 세트의 각각의 다른 카메라 뷰에 대한 광학 흐름을 초기화하고 최적화하는 단계를 포함할 수 있다.
제1 카메라 뷰의 픽셀에 대한 광학 흐름은 상부 좌측 픽셀로부터 시작되어 하부 우측 픽셀로 진행하며 최적화될 수 있다.
본 발명에 따른 일실시예로, 방법은 광학 흐름 품질의 측정이 임계 점수에 도달할 때까지 제1 카메라 뷰의 각 픽셀에 대한 광학 흐름을 최적화하는 단계를 포함할 수 있다.
광학 흐름을 초기화하는 단계는:
저해상도 광학 흐름을 스케일링 업하는 단계; 및
저해상도 광학 흐름 내에서 광학 흐름 벡터의 크기를 비례하여 증가시키는 단계를 포함할 수 있다.
본 발명에 따른 일실시예로, 시스템은:
제1 카메라 뷰와 제2 카메라 뷰를 수신하도록 구성된 입력 모듈;
제1 카메라 뷰 내의 지점을 제2 카메라 뷰 내의 대응되는 지점과 매칭하는 광학 흐름을 초기화하고, 제1 카메라 뷰의 각 픽셀에 대해, 픽셀에 대한 광학 흐름을 최적화하도록 구성된 광학 흐름 계산 모듈을 포함할 수 있고,
픽셀에 대한 광학 흐름을 최적화하는 것은:
픽셀에 대한 광학 흐름 제안 세트를 생성하는 것; 및
각 광학 흐름 제안을 분석하고 광학 흐름 제안 세트의 광학 흐름 제안에 기반하여 픽셀에 대한 광학 흐름을 업데이트하는 것을 포함하며,
각 카메라 뷰는 카메라에 의해 캡처된 이미지를 나타내고 카메라 뷰가 캡처된 위치와 연관된다.
광학 흐름은, 픽셀과 다른 카메라 뷰의 대응되는 픽셀 사이의 변위를 부여하는 광학 흐름 벡터와 카메라 뷰의 각 픽셀을 연관시키는 벡터 필드일 수 있다.
픽셀에 대한 광학 흐름 제안 세트는 픽셀의 상부 이웃과 연관되는 광학 흐름 벡터를 포함할 수 있고, 광학 흐름 벡터는 픽셀의 좌측 이웃과, 현재 광학 흐름 벡터의 랜덤 섭동과 연관된다.
광학 흐름 계산 모듈은 데이터와 조직화 항들을 포함하는 변분 최적화 문제를 확립하도록 구성될 수 있다.
픽셀에 대한 광학 흐름을 업데이트하는 것은 변분 최적화 문제를 솔루션으로 더 가깝게 이동시키는 광학 흐름 제안에 기반할 수 있다.
본 발명에 따른 일실시예로, 시스템은 광학 흐름에 중간값 필터를 적용하는 것을 포함할 수 있다.
광학 흐름 계산 모듈은 카메라 뷰 세트의 각각의 다른 카메라 뷰에 대한 광학 흐름을 초기화하고 최적화하도록 구성될 수 있다.
제1 카메라 뷰의 픽셀에 대한 광학 흐름은 상부 좌측 픽셀로부터 시작되어 하부 우측 픽셀로 진행하며 최적화될 수 있다.
광학 흐름 계산 모듈은 광학 흐름 품질의 측정이 임계 점수에 도달할 때까지 제1 카메라 뷰의 각 픽셀에 대한 광학 흐름을 최적화하도록 구성될 수 있다.
광학 흐름을 초기화하는 것은:
저해상도 광학 흐름을 스케일링 업하는 것; 및
저해상도 광학 흐름 내에서 광학 흐름 벡터의 크기를 비례하여 증가시키는 것을 포함할 수 있다.
본 발명에 따른 일실시예로, 하나 이상의 컴퓨터-판독가능한 비-일시적 저장매체는 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 실행시 동작가능한 소프트웨어를 포함할 수 있다.
본 발명에 따른 일실시예로, 시스템은 하나 이상의 프로세서; 및 프로세서에 결합되며 프로세서에 의해 실행가능한 명령어들을 포함하는 적어도 하나의 메모리를 포함할 수 있으며, 상기 프로세서는 명령어들을 실행시 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 동작가능하다.
본 발명에 따른 일실시예로, 바람직하게는 컴퓨터-판독가능한 비-일시적 저장 매체를 포함하는 컴퓨터 프로그램 제품이 데이터 처리 시스템에서 실행시 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 동작가능할 수 있다.
본 발명의 내용 중에 포함되어 있다.
도 1은 본 발명의 일실시예에 따른 캔버스 생성 시스템이 동작하는 시스템 환경의 블록도이다.
도 2는 본 발명의 일실시예에 따른 캔버스 생성 시스템의 블록도이다.
도 3은 일부 실시예에 따른 예시적인 이미지 캡처 시스템의 구성을 도시하는 라인 다이어그램이다.
도 4는 일부 실시예에 따른 예시적인 캔버스 생성 시스템의 합성 카메라의 사용을 도시하는 라인 다이어그램이다.
도 5a는 일부 실시예에 따른 좌측 카메라 뷰와 우측 카메라 뷰에 기반하는 예시적인 합성 뷰의 생성을 도시하는 라인 다이어그램이다.
도 5b는 일부 실시예에 따른 예시적인 카메라 뷰와 예시적인 합성 뷰를 도시하는 라인 다이어그램이다.
도 6은 일부 실시예에 따른 예시적인 카메라 뷰로부터 예시적인 합성 뷰의 생성의 상세한 예시를 도시하는 라인 다이어그램이다.
도 7은 일실시예에 따른 입력 카메라 뷰로부터 합성 뷰를 생성하기 위한 프로세스를 도시하는 흐름도이다.
도 8은 일부 실시예에 따른 예시적인 카메라 뷰들 사이의 광학 흐름 벡터를 도시하는 라인 다이어그램이다.
도 9는 일부 실시예에 따른 2개의 카메라 뷰 사이의 광학 흐름을 계산하기 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 10은 일부 실시예에 따른 다수의 객체 및 예시적인 이미지 캡처 시스템을 도시하는 라인 다이어그램이다.
도 11은 일부 실시예에 따른 예시적인 캔버스 뷰를 도시하는 라인 다이어그램이다.
도 12는 일실시예에 따른 객체의 뷰에서 동공 사이의 거리를 변경하는 효과를 도시하는 라인 다이어그램이다.
도 13은 일실시예에 따른 카메라 뷰에 기반하여 캔버스 뷰를 계산하기 위한 예시적인 프로세스를 도시하는 라인 다이어그램이다.
도 14는 일실시예에 따른 카메라 뷰에 기반하여 캔버스 뷰를 계산하기 위한 제2 예시적인 프로세스를 도시하는 라인 다이어그램이다.
도 15는 일실시예에 따른 카메라 뷰에 기반하여 캔버스 뷰를 계산하기 위한 프로세스를 도시하는 흐름도이다.
도면들은 단지 예로서 본 발명의 다양한 실시예들을 도시한다. 통상의 기술자는 후술할 설명으로부터 본 명세서에 설명되는 구조 및 방법의 대안적인 실시예가 본 명세서에 설명되는 발명의 원리로부터 벗어나지 않고 채용될 수 있음을 용이하게 인식할 것이다.
시스템 구조
도 1은 본 발명의 일실시예에 따라 캔버스 생성 시스템이 동작하는 시스템 환경의 블록도이다. 도 1에 도시된 시스템 환경(100)은 이미지 캡처 시스템(105), 캔버스 생성 시스템(110) 및 클라이언트 가상 현실(VR) 장치(115)를 포함한다. 다른 실시예로, 시스템 환경(100)은 상이하거나 추가적인 컴포넌트를 포함할 수 있다.
이미지 캡처 시스템(105)은 캔버스 생성 시스템(110)에 의해 프로세싱되고 클라이언트 VR 장치(115)를 통해 사용자에게 제시될 수 있는 장면의 다수의 카메라 뷰를 캡처한다. 장면은 이미지 캡처 시스템(105)이 카메라 뷰를 캡처하는 물리적인 환경을 나타낼 수 있다. 장면은 이후 장면에 가상 컴포넌트를 추가하기 위해 캔버스 생성 시스템(105)에 의해 증강될 수 있다. 예컨대, 장면은 물리적인 이미지 캡처 시스템(105)이 공원의 카메라 뷰를 캡처하기 위해 배치되는 공원일 수 있다. 카메라 뷰는 이미지 캡처 시스템(105)에 위치한 카메라의 이미지 센서로부터 캡처되는 장면의 뷰이다.
일부 실시예로, 이미지 캡처 시스템(105)은 장면의 상이한 카메라 뷰를 캡처하도록 각각 배향된 카메라의 집단을 포함한다. 다른 실시예로, 이미지 캡처 시스템(105)은 장면의 카메라 뷰를 캡처하도록 구성된 카메라이다. 이미지 캡처 시스템(105)의 카메라는 정지 또는 비디오 카메라, 예컨대, 액션 카메라, 캠코더, 휴대전화 카메라, 고속 카메라, 또는 임의의 다른 적절한 이미지 캡처 장치일 수 있다. 이미지 캡처 시스템(105)의 카메라는 동시에 이미지를 캡처하도록 전역으로 동기화되고 글로벌 셔터를 또한, 사용하여 빠르게 이동하는 객체를 캡처하기 위한 성능을 향상시킨다. 일부 실시예로, 이미지 캡처 시스템(105)은 상업적으로 이용가능한 컴포넌트 및 카메라로부터 구성되지만, 임의의 적절한 유료 또는 상업적으로 이용가능한 카메라가 이미지 캡처 시스템(105)에 사용될 수 있다.
다른 구성에서, 카메라 뷰는 이미지 캡처 시스템(105)이라면 특정 원점에 대하여 또는 원점의 관점으로부터 캡처된다. 예컨대, 이미지 캡처 시스템(105)은 이미지 캡처 시스템(105)의 원점 주위의 완전한 360도 파노라마 각도를 커버하는 카메라 뷰를 캡처하는, 원점을 중심으로 하는 외부로 향하는 카메라들의 링을 포함할 수 있다. 이미지 캡처 시스템(105)의 대안의 실시예는 원점 주위의 완전한 360도 구형을 나타내거나, 부분적인 파노라마 또는 구형의 뷰를 나타내거나, 원점 주위의 임의의 다른 적절한 뷰의 서브세트를 나타내는 카메라 뷰를 캡처할 수 있다. 유사하게, 이미지 캡처 시스템(105)에 의해 캡처된 카메라 뷰는 동시에, 순차적으로 또는 임의의 다른 적절한 순서로 캡처될 수 있다. 예컨대, 이미지 캡처 시스템(105)은 장면의 다수의 고해상도 정지 이미지를 이미지 캡처 시스템(105)이 캡처하는 경우와 같이 다수의 카메라를 사용함으로써 카메라 뷰를 동시에 캡처할 수 있고, 대안으로, 이미지 캡처 시스템(105)은 가령 카메라가 비디오를 캡처하는 경우와 같이 하나 이상의 카메라로부터 순차적으로 이미지를 캡처할 수 있다.
일부 구현에서, 이미지 캡처 시스템(105)은 장면 내의 알려진 위치로부터 장면의 비디오를 동시에 캡처하는 복수의 카메라를 포함한다. 다른 실시예로, 이미지 캡처 시스템(105)은, 가령 이미지 캡처 시스템(105)이 사람, 차량 또는 다른 이동 객체에 장착되는 실시예에서와 같이 장면 내에 고정된 위치를 갖지 않는다. 캡처된 카메라 뷰의 위치는 서로에 대하여 또는 이미지 캡처 시스템(105)이나 장면의 원점에 대하여 알려질 수 있다. 이미지 캡처 시스템(150)은, 예컨대 캔버스 생성 시스템(110)으로 캡처된 카메라 뷰를 전송하기 위해 캔버스 생성 시스템(110)과 통신할 수 있다. 캔버스 생성 시스템(110)은 네트워크, 가령 로컬 영역 네트워크 또는 인터넷을 통해 직접 이미지 캡처 시스템(105)으로부터, 또는 임의의 다른 적절한 방법에 의해 카메라 뷰 입력을 수신한다.
캔버스 생성 시스템(110)은, 일부 실시예에 따르면, 장면을 나타내는 캔버스 뷰를 생성하기 위해 수신된 카메라 뷰를 프로세싱한다. 캔버스 뷰는 장면이 예컨대, 파노라마, 구형 파노라마 또는 적절한 광각 이미지와 같이 가상 현실에서 재생성될 수 있도록 장면을 도시하는 임의의 이미지일 수 있다. 예컨대, 캔버스 뷰는 가령 "8K"(예컨대, 8192 x 8192 픽셀) 해상도로 큐브맵, 등장방형 또는 원통형 포맷으로 출력될 수 있다. 캔버스 뷰는 따라서, 클라이언트 VR 장치(115)에 의해 보여질 수 있는 장면의 각도 범위를 나타낼 수 있다. 사용자가 클라이언트 VR 장치(115)를 돌리거나 회전할 때, 캔버스 뷰의 상이한 각도가 사용자에게 제시될 수 있다. 캔버스 생성 시스템(110)은 2개의 캔버스 뷰 - 사용자의 각 눈에 대해 하나를 생성하여 클라이언트 VR 장치(115)의 입체 이미지를 제공할 수 있다.
일부 실시예로, 캔버스 뷰는 카메라 뷰 중 어느 하나보다 장면에 관한 더 많은 정보를 캡처하는 캔버스 뷰를 생성하기 위해 장면의 원래의 카메라 뷰의 세트를 조합함으로써 생성된다. 원래의 카메라 뷰는 이미지 캡처 시스템(105)으로부터 수신된 카메라 뷰일 수 있다. 카메라 뷰는 장면의 가상 현실 표현을 생성하기 위해 클라이언트 VR 장치(115) 상에 디스플레이될 수 있다. 일부 실시예로, 캔버스 뷰는 예컨대, 장면 내의 단일 정지 위치(이하 시점이라 함)에 기반하여 생성된다. 대안으로, 캔버스 뷰는, 예컨대 가상 현실에서 장면 주위를 둘러보기 위해 사용자가 그들의 머리를 움직임에 따라 사용자의 눈의 위치를 근사화하는 시점들의 집단 또는 세트에 기반하여 생성될 수 있다. 이하에서 더 완전히 논의되는 바와 같이, 캔버스 뷰에 대한 시점은 각 눈의 전환 시점을 나타내기 위해 캔버스 뷰의 각도에 따라 움직일 수 있다.
장면의 캔버스 뷰는 특정 지점(이하 시점이라 함)에서 교차하는 광 정보를 복사하는데 사용되는 부분 광 정보 근사화를 나타낼 수 있다. 일반적으로, 장면에 대한 광 정보의 완전한 표현은 광 정보가 계산되는 공간을 통해 이동하는 광선을 기술하지만, 특정 시점과 연관된 광 정보는 그 지점을 교차하는 광선에 대한 색상 정보를 수집함으로써 근사화될 수 있다. 예컨대, 광선 색상 정보는 카메라의 이미지 센서와 교차하는 광선에 관한 색상 정보를 캡처하는 카메라에 의해 수집될 수 있다. 카메라 뷰 내의 각 픽셀은 카메라의 이미지 센서를 타격하는 하나 이상의 광선에 관한 정보를 나타낼 수 있고, 그 광선에 관한 색상 정보를 캡처한다. 수집된 색상 정보는 이후 카메라에 의해 생성된 카메라 뷰 내의 픽셀의 픽셀 강도 정보로서 나타난다. 일부 구현에서, 다수의 카메라 뷰로부터의 정보는 단일 시점에서 광 정보를 근사화하는데 사용될 수 있는 캔버스 뷰를 형성하도록 조합될 수 있다. 유사하게, 캔버스 뷰는 사용자가 가상 현실 장면에서 그들의 머리를 돌림에 따라 사용자의 눈의 가능한 위치를 나타내는 시점에서 관련 광 정보를 재생성하는데 사용될 수 있다. 생성된 캔버스 뷰는 클라이언트 VR 장치(115)에 의해 사용자에게 디스플레이하기 위해 전송되거나 클라이언트 VR 장치(115)에 의한 이후의 사용 또는 다른 적절한 목적을 위해 저장될 수 있다.
클라이언트 VR 장치(115)는 캔버스 생성 시스템(110)으로부터 캔버스 뷰를 수신하고 캔버스 뷰를 클라이언트 VR 장치(115)의 사용자에게 디스플레이한다. 일부 구현에서, 클라이언트 VR 장치(115)는 장면 내에 배치된 사용자의 각 눈에 대응하는 시점들에서 장면의 광 정보를 재생성함으로써 동작한다. 각각의 부분 광 정보 근사화가 이후 사용자의 대응되는 눈으로 별개로 보여질 수 있고, 3D 가상 현실 효과를 생성한다. 일부 구현에서, 부분 광 정보 근사화는 클라이언트 VR 장치(115)의 사용자에게 생성된 캔버스 뷰를 디스플레이함으로써 생성될 수 있다. 부분 광 정보 근사화는 0의 시차 거리에서 사용자의 뷰의 근사화를 생성할 수 있다.
일부 실시예로, 클라이언트 VR 장치(115)는 헤드-마운트 VR 시스템이다. 클라이언트 VR 장치(115)는 예컨대, 클라이언트 VR 장치의 사용자에게 입체 3D 효과를 제공하기 위해 사용자의 각 눈에 상이한 캔버스 뷰를 보여줄 수 있다. 일부 구성에서, 클라이언트 VR 장치(115)는 가령, 사용자의 행위에 응답하여 캔버스 뷰를 디스플레이함으로써 사용자에게 상호작용형 경험을 제시한다. 추가로, 클라이언트 VR 장치(115)는 가령, 사용자 행위에 응답하거나, 특정 시간에 기반하거나, 또는 임의의 다른 적절한 이유로 캔버스 생성 시스템(110)으로부터 특정 캔버스 뷰 또는 캔버스 뷰의 부분들을 요청할 수 있다.
도 2는 본 발명의 일실시예에 따른, 캔버스 생성 시스템의 블록도이다. 도 2의 실시예에서, 캔버스 생성 시스템(110)은 카메라 뷰 스토어(210), 캔버스 뷰 스토어(220), 인터페이스 모듈(230), 새로운 뷰 생성 모듈(240), 광학 흐름 계산 모듈(250) 및 광 정보 근사화 모듈(260)을 포함한다. 캔버스 생성 시스템(110)은 이미지 캡처 시스템(105)으로부터 수신된 원래의 카메라 뷰의 세트에 기반하여 캔버스 뷰를 생성한다.
카메라 뷰 스토어(210)는 예컨대, 이미지 캡처 시스템(105)으로부터 수신된 원래의 카메라 뷰의 세트와 같은 카메라 뷰들을 포함할 수 있다. 카메라 뷰는 압축되거나 압축되지 않은 이미지 데이터, 가령 JPEG, PNG, RAW 또는 TIFF를 포함하는 임의의 적절한 포맷으로 저장될 수 있다. 유사하게, 카메라 뷰는 카메라 뷰 시퀀스를 위한 압축되거나 압축되지 않은 이미지 데이터를 포함하는 적절한 비디오 포맷, 예컨대 MPEG, AVI 또는 임의의 다른 적절한 포맷으로 저장될 수 있다. 일부 실시예로, 카메라 뷰는 이미지 캡처 시스템(105)의 카메라의 색상 필터 어레이(예컨대, 베이어 필터)로부터의 로우 데이터를 포함한다. 저장된 카메라 뷰는 저장된 카메라 뷰의 각 픽셀에 대한 위치 및 픽셀 강도 정보를 포함할 수 있다. 픽셀에 대한 픽셀 강도 정보는 어떻게 픽셀이 디스플레이되는지를 제어하는 밝기 및 색상 정보를 포함할 수 있고, 예컨대 픽셀 강도는 픽셀에 대한 그레이스케일 밝기 정보 또는 RGB 채널 색상 정보 내에 캡처될 수 있다. 일부 실시예로, 카메라 뷰 스토어(210)에 포함된 카메라 뷰는 추가 정보, 가령 카메라 뷰가 캡처되었던 시점, 가령 이미지를 캡처한 카메라 및 이미지 캡처 시스템(105)에서의 카메라의 위치 및 배향과 연관될 수 있다. 카메라 뷰 스토어(210) 내에 저장된 카메라 뷰는 또한, 그룹, 예컨대 동일한 물리적인 카메라로부터 캡처된 순차적인 이미지들의 그룹 또는 이미지 캡처 시스템(105)의 다수의 카메라로부터 동시에 캡처된 이미지들의 그룹으로 연관될 수 있다. 유사하게, 캔버스 생성 시스템(110)에 의해 프로세싱된 카메라 뷰는 카메라 뷰 스토어(210)에 저장될 수 있다. 예컨대, 카메라 뷰는 RGB 픽셀-기반 이미지를 래스터화하기 위해 로우 색상 필터 어레이 데이터로부터 프로세싱되거나, 비네팅을 위해 보정되거나, 또는 선명도/디콘볼루션, 색상 밸런스나 톤 커브, 밝기나 감마, 픽셀 모자이크, 및 렌즈 왜곡 효과를 변경, 추가 또는 제거하기 위해 프로세싱될 수 있다. 일부 실시예로, 카메라 뷰는 그룹 내의 다른 카메라 뷰, 예컨대 그룹 내 카메라들 간의 공통의 색상 보정에 기반하여 캔버스 생성 시스템(110)에 의해 프로세싱될 수 있다. 일부 실시예로, 카메라 뷰는 로우 베이어 필터 데이터로부터 RGB 이미지들로 변환될 수 있고, 이후 공통의 색상 보정, 안티-비네팅, 감마, 선명화 및 모자이크제거 기술을 사용하여 최종 보정된 이미지를 생성하도록 프로세싱될 수 있다.
일부 실시예에 따르면, 캔버스 뷰 스토어(220)는 캔버스 생성 시스템(110)에 의해 생성된 캔버스 뷰를 포함한다. 캔버스 뷰는 임의의 적절한 이미지나 비디오 포맷으로 저장될 수 있다. 일부 실시예로, 캔버스 뷰는 캔버스 뷰 스토어(220) 내에 저장된 다른 캔버스 뷰와 연관되거나 그룹화되며, 예컨대, 동일한 장면의 좌안 및 우안 캔버스 뷰가 캔버스 뷰 스토어(220) 내에서 연관될 수 있다. 유사하게, 예컨대 몇몇 비디오 카메라 뷰들로부터 생성된 캔버스 뷰 시퀀스는 캔버스 뷰 스토어(220) 내에서 그룹화될 수 있다.
인터페이스 모듈(230)은 이미지 캡처 시스템(105) 및 클라이언트 VR 장치(115)와 통신한다. 예컨대, 인터페이스 모듈(230)은 이미지 캡처 시스템(105)으로부터 원래의 카메라 뷰를 수신하고 생성된 캔버스 뷰를 클라이언트 VR 장치(115)로 전송할 수 있다. 일부 실시예로, 캔버스 생성 시스템(110)은 또한, 인터페이스 모듈(230)을 통해 클라이언트 VR 장치(115)로부터 특정 캔버스 뷰에 대한 요청을 수신할 수 있다.
새로운 뷰 생성 모듈(240)은 일부 실시예에 따르면 기존 카메라 뷰에 기반하여 합성 뷰를 생성한다. 합성 뷰는 장면 내의 특정 위치(이하, 합성 카메라 위치라 함)에 배치된 이론적이거나 가설의 카메라(이하, 합성 카메라라 함)에 의해 캡처될 수 있었던 카메라 뷰를 시뮬레이션한다. 합성 뷰는 합성 카메라 위치에 인접한 카메라로부터의 카메라 뷰 및 합성 카메라 위치에 기반하여 생성될 수 있고, 일부 구현에서, 일단 생성되면 카메라 뷰 스토어(210)에 저장될 수 있다. 일부 구성에서, 새로운 뷰 생성 모듈(240)은 카메라 뷰들 사이의 광학 흐름과 카메라 뷰를 캡처하는 카메라의 위치에 기반하여 합성 뷰를 생성한다. 새로운 뷰 생성 모듈(240)은 이하에서 더 상세히 논의될 것이다.
일부 실시예로, 광학 흐름 계산 모듈(250)은 둘 이상의 카메라 뷰 내의 대응되는 픽셀을 감지하고 감지된 대응되는 픽셀에 기반하여 광학 흐름을 생성한다. 광학 흐름은 제1 카메라 뷰의 각 픽셀에 대한 변위 벡터를 통과하는 제2 카메라 뷰 내의 대응되는 픽셀과 제1 카메라 뷰 내의 픽셀을 연관시키는 벡터 변위 필드 또는 다른 데이터세트일 수 있다. 일부 실시예에 따르면, 광학 흐름은 하나의 카메라 뷰 내의 픽셀을 제2 카메라 뷰 내의 픽셀과 관련시키는 방정식이다. 일부 구현에서, 광학 흐름은 이미지 캡처 시스템(105) 내의 카메라들의 수와 배향에 따르는 카메라 뷰의 다수의 그룹핑에 대해 계산될 수 있다. 예컨대, 광학 흐름은 카메라들의 링 내의 이웃하는 카메라로 향하는 각 카메라 뷰에 대해 계산될 수 있다. 카메라들의 각 쌍에 대하여, 광학 흐름은 제1 카메라에서 제2 카메라로 그리고 제2 카메라로부터 제1 카메라로 계산될 수 있다. 일부 실시예로, 셋 이상의 카메라 뷰 사이의 광학 흐름이 필요하고, 예컨대, 구형 파노라마를 캡처하도록 구성된 이미지 캡처 시스템(105)의 경우, 광학 흐름이 높거나 위로 향하는 상부 카메라 및 수평 평면 내에서 2개의 카메라 사이에 필요로 할 수 있다. 광학 흐름 계산 모듈(250)은 이하에서 더 상세히 논의될 것이다.
일부 실시예로, 광 정보 근사화 모듈(260)은 다수의 카메라 뷰를 단일 이미지로 조합함으로써 캔버스 뷰를 생성한다. 예컨대, 캔버스 뷰는 이미지 캡처 시스템(105)에 의해 캡처된 카메라 뷰, 새로운 뷰 생성 모듈(240)에 의해 생성된 합성 뷰, 또는 적절한 카메라 뷰의 임의의 조합에 기반하여 생성될 수 있다. 광 정보 근사화 모듈(260)에 의해 생성된 캔버스 뷰는 예컨대, 클라이언트 VR 장치(115)의 사용자에게 디스플레이하기 위해 광 정보를 근사화함으로써 클라이언트 VR 장치(115) 상에서 디스플레이하기에 적절하도록 생성될 수 있다. 광 정보 근사화 모듈(260)은 이하에서 더 상세히 논의될 것이다.
도 3은 일부 실시예에 따른 예시적인 이미지 캡처 시스템을 도시하는 라인 다이어그램이다. 도 3의 이미지 캡처 시스템(105)은 원점(305), 링(303) 및 카메라(310-317)를 포함한다. 이 구성에서, 이미지 캡처 시스템(105)은 원점(305)을 중심으로 한다. 카메라(310-317)는 원점(305)을 중심으로 하는 링(303) 주위에 배치된다. 일부 실시예로, 카메라(310-317)는 링(303)이나 다른 유사한 지지 구조에 의해 물리적으로 지지되고, 알려진 직경의 원 내의 알려진 위치에 배치될 수 있다. 유사하게, 각 카메라(310-317)는 도 3의 실시예에 따라 원점(305)에 대하여 알려진 위치 및 배향을 가질 수 있다. 각 카메라(310-317)는 예컨대, 카메라에 부착된 렌즈에 기반하여 정의된 시야를 가질 수 있다. 일부 실시예로, 각 카메라의 시야의 중심라인은 원점(305)과 정렬되고, 이는 각 카메라(310-317)가 링(303)으로부터 직접 바깥쪽으로 배향됨을 의미한다. 다른 실시예로, 카메라(310-317)는 상이하게 배향될 수 있다. 링(303) 주위의 특정 배향이나 각도는 원점(305) 주위의 각도 Φ에 기반하여 설명될 수 있다. 본 실시예에서, 카메라(310)는 Φ=0에서 배치되고, 잔존하는 카메라(311-317)는 링(303) 주위의 주기적인 간격으로 배치된다.
합성 뷰 생성
예컨대, 새로운 뷰 생성 모듈(240)에 의한 합성 뷰의 생성은 원래의 카메라 뷰의 세트 내의 이미지 캡처 시스템(105)으로부터 이용가능하지 않은 카메라 뷰가 필요한 다른 상황이나 캔버스 뷰의 생성에서 사용될 수 있다. 새로운 뷰 생성 모듈(240)에 의해 생성된 합성 뷰는 생성된 합성 뷰와 유사한 입력 카메라 뷰의 세트에 기반하여 생성될 수 있다. 예컨대, 원하는 합성 카메라 위치와 유사한 위치 및 배향으로부터 캡처된 카메라 뷰가 합성 뷰를 생성하는데 사용될 수 있다. 일부 실시예로, 합성 뷰는 합성 뷰를 생성하는데 사용된 카메라 뷰와 유사한 시야를 가진다. 이들 합성 뷰는 합성 카메라 위치에 배치된 다른 카메라가 합성 뷰를 캡처하는 것처럼 뷰가 근사화되도록 허용한다. 다른 실시예로, 합성 뷰는, 예컨대 카메라 뷰의 시야의 영역만을 도시하는 것과 같이 입력 카메라 뷰보다 더 작은 시야를 나타내는 부분 합성 뷰이다. 다른 구현에서, 합성 뷰 생성 모듈(240)은 부분적이거나 전체의 합성 뷰에서 특정 픽셀과 입력 카메라 뷰에서의 픽셀을 연관시키는 맵핑을 출력한다. 생성된 맵핑은 합성 뷰에서 모든 픽셀의 정확한 값을 실제로 계산하지 않고 합성 뷰의 정보를 캡처할 수 있다.
도 4는 일부 실시예에 따른 예시적인 캔버스 생성 시스템의 합성 카메라의 사용을 도시하는 라인 다이어그램이다. 다이어그램(400)은 링(303), 원점(305), 좌측 및 우측 시점(402, 404), 객체(405), 동공 간 거리(410), 좌측 및 우측 카메라(415, 420), 합성 카메라(425 및 430) 및 시야선(440, 445)을 포함한다.
일부 실시예로, 예컨대, 캔버스 뷰가 입체 3D를 디스플레이하는데 사용될 때, 캔버스 생성 시스템(110)은 장면 내의 특정 페어링된 시야에 기반하여 캔버스 뷰를 생성한다. 예컨대, 입체 3D 효과를 생성하도록 캔버스 뷰의 쌍을 생성하기 위해, 캔버스 뷰 생성 시스템은 사용자의 눈들 사이의 거리(동공 간 거리)와 유사한 거리만큼 분리된 페어링된 시야로부터 좌측 및 우측 캔버스 뷰를 생성할 수 있다. 동공 간 거리는 입체 3D 효과를 생성하는데 사용되는 2개의 시야 사이의 캔버스 뷰 생성 시스템(110)에 의한 임의의 거리나 변위 세트일 수 있다. 예컨대, 동공 간 거리(410)는 클라이언트 VR 장치(115)의 사용자의 눈 사이의 거리를 근사화하는 좌측 시점(402)과 우측 시점(404) 간의 예시적인 거리를 나타낸다. 일부 실시예로, 좌측과 우측 시점(402, 404)은 원점(305)을 중심으로 하지만, 좌측 및 우측 시점(402, 404)은 장면 내의 임의의 적절한 위치에 위치할 수 있다. 유사하게, 좌측 및 우측 시점(402, 404)은 일부의 경우 2개의 정적 시점을 나타낼 수 있지만, 다른 실시예로, 좌측 및 우측 시점(402, 404)은 각각이 동공 간 거리(410)만큼 분리된 페어링된 시야의 세트 중 2개의 시야를 나타낼 수 있다. 캔버스 뷰의 부분들에 대한 좌측 및 우측 시야의 특정 위치는 사용자의 머리가 원점 주위를 돌아감에 따라 각 눈에 대한 시야의 변화를 시뮬레이션하는, 원점(305) 주위의 각도 Φ의 함수일 수 있다. 다른 방식으로 말하자면, 각 눈에 대한 시야는 각도, 각도 Φ에 따라 원점 주위를 회전할 수 있다.
도 4에서, 시야선(440, 445)은, (동공 간 거리(410)만큼 분리된) 사용자의 눈이 초점의 객체(405)를 향하도록 버지(verge)하거나 회전함에 따른, 동공 간 거리(410)만큼 분리된 가설의 사용자의 좌측 및 우측 눈의 시야각을 나타낸다. 링(303)을 교차하는 지점 시야선(440, 445)에 배치된 카메라는 선택된 0의 시차 거리를 사용하여, 예컨대 사용자가 객체(405)를 보고 있을 때의 사용자 뷰를 근사화할 수 있다. 도 4의 구성에서, 좌측 카메라(415) 및 우측 카메라(420)는 이들 교차점에 위치하지 않아서, 이들 카메라에 의해 캡처된 카메라 뷰는 필요한 정보를 직접 제공할 수 없다. 하지만, 링(303) 및 시야선(440, 445)의 교차점에 배치된 합성 카메라(425, 430)로부터의 뷰는 좌측 및 우측 시점(402, 404)으로부터 보여지는 바와 같은 객체(405)에 관한 정보를 캡처하기 위해 캔버스 생성 시스템(110)에 의해 계산될 수 있다. 일부 실시예로, 0의 시차 거리는 예컨대, 객체의 거리에 따라 객체-당 기준으로 결정된다. 다른 구현에서, 0의 시차 거리는 예컨대, 일정한 거리 또는 무한대로 설정되는 것처럼 고정된다. 합성 카메라(425, 430) 각각에 대한 뷰는 가령, 좌측 카메라(415) 및 우측 카메라(420)와 같은 인접한 카메라로부터 각각 생성된다.
도 5a는 일부 실시예에 따라 좌측 카메라 뷰 및 우측 카메라 뷰에 기반하는 예시적인 합성 뷰의 생성을 도시하는 라인 다이어그램이다. 유사하게, 도 5b는 일부 실시예에 따른 예시적인 카메라 뷰 및 예시적인 합성 뷰를 도시하는 라인 다이어그램이다. 다이어그램(500)은 좌측 카메라(505), 우측 카메라(510), 합성 카메라(515), 광학 흐름 시프트(520, 525), 좌측 및 우측 카메라 뷰(530, 535) 및 합성 뷰(540)를 포함한다.
앞서 언급한 바와 같이, 캔버스 생성 시스템(110)의 일부 구현에서, 합성 뷰는 합성 카메라 위치 근처의 위치로부터 캡처된 입력 카메라 뷰를 사용하여 새로운 뷰 생성 모듈(240)에 의해 계산된다. 예컨대, 합성 카메라(515)에 대한 합성 뷰(540)를 계산하기 위해, 좌측 카메라(505) 및 우측 카메라(510)로부터의 카메라 뷰(530, 535)가 조합될 수 있다. 합성 뷰의 생성은 좌측 및 우측 카메라 뷰(530, 535)로부터의 픽셀을 합성 뷰(540)에서 적절한 위치로 시프팅함으로써 달성될 수 있다. 예컨대, 픽셀을 시프팅할 양은 좌측 카메라 뷰(530) 내의 픽셀을 우측 카메라 뷰(535) 내의 픽셀과 연관시키는 광학 흐름으로부터의 정보를 사용하여 결정될 수 있다. 일부 구현에서, 광학 흐름은 변위 벡터들의 어레이이고, 예컨대, 광학 흐름은 좌측 카메라 뷰(530) 내의 각 픽셀에 대해 하나의 벡터를 포함할 수 있다. 도 5의 실시예에서, 광학 흐름 시프트(520, 525)는 좌측 및 우측 카메라 뷰(530, 535)로부터 합성 뷰(540)로의 시프트를 보여준다. 좌측 및 우측 카메라 뷰(530, 535)의 각 픽셀의 광학 흐름 시프트(520, 525)의 양은 좌측 및 우측 카메라(505, 510)에 대한 합성 카메라(515)의 위치에 의존할 수 있다.
좌측 카메라(505)로부터의 예시적인 좌측 카메라 뷰(530)는 카메라 뷰의 대향되는 측 상의 멀리 떨어진 산과 사람을 보여준다. 대조적으로, 우측 카메라(510)로부터의 우측 카메라 뷰(535)는 카메라 뷰 내의 상이한 위치에서 동일한 구성의 사람과 산을 보여준다. 좌측 및 우측 카메라 뷰(530, 535) 간의 사람과 산의 위치의 불일치는 좌측 및 우측 카메라(505, 510)의 상이한 위치들로부터 캡처된 카메라 뷰에 있어서의 원근법 시프트로 인한 것이다. 멀리 떨어진 산이 좌측 및 우측 카메라 뷰(530, 535) 사이에서 상대적으로 동일한 위치에 잔존하는 한편, 사람은 좌측 및 우측 카메라 뷰(530, 535) 사이에서 훨씬 더 큰 위치 시프트를 겪는다. 합성 카메라(515)가 좌측 및 우측 카메라(505, 510) 사이에서 그들과 유사한 배향으로 배치됨에 따라, 합성 뷰(540)에서의 객체는 좌측 및 우측 카메라 뷰(530, 535)에 대하여 중간 위치에 있어야 한다. 예컨대, 합성 뷰(540)에서, 사람은 좌측 카메라 뷰(530) 및 우측 카메라 뷰(535)에 대해 중간의 양만큼 이동하였다.
도 6은 일부 실시예에 따른 예시적인 카메라 뷰로부터의 예시적인 합성 뷰의 생성의 상세한 예시를 도시하는 라인 다이어그램이다. 다이어그램(600)은 좌측 카메라 뷰(610) 및 우측 카메라 뷰(615)로부터 합성 뷰(630)를 생성하는 프로세싱의 몇몇 단계들에서 새로운 뷰 생성 모듈(240)에 의해 생성된 예시적인 카메라 뷰를 도시한다. 다이어그램(600)은 좌측 및 우측 카메라 뷰(610, 615)뿐만 아니라 시프팅된 좌측 및 우측 카메라 뷰(630, 625)와, 합성 뷰(630)를 포함한다.
도 6에서 각 카메라 뷰에 의해 캡처된 장면은 3개의 핵심 객체, 산, 사람 및 공을 포함한다. 이 실시예에서, 산은 장면에서 배경 객체로 여겨지고, 입력 카메라 뷰를 캡처하는 카메라의 위치로부터 멀리 떨어지지만, 사람과 공은 전경 객체이며 좌측 및 우측 카메라 뷰(610, 615)를 캡처하는 카메라와 훨씬 더 가깝게 있다. 결국, 전경 객체는 배경 객체에 상대적으로 좌측 카메라 뷰(610) 및 우측 카메라 뷰(615) 사이에서 더 큰 변위를 가진다. 좌측 카메라 뷰(610) 및 우측 카메라 뷰(615)는 합성 뷰(630)를 계산하는데 사용될 수 있는 입력 카메라 뷰이다. 이 실시예에서 합성 뷰(630)를 생성하기 위해, 좌측 카메라 뷰(610)는 우선 광학 흐름에 기반하여 원하는 합성 뷰의 위치로 시프팅된다. 광학 흐름에서 각 벡터는 좌측 카메라 뷰(610)와 우측 카메라 뷰(615)에서 대응되는 픽셀들 사이의 변위를 나타낼 수 있다. 광학 흐름 시프트에서, 좌측 카메라 뷰(610)의 픽셀들은 광학 흐름에 기반하여 합성 카메라의 상대적인 위치에 비례하여 시프팅된다. 좌측 카메라 뷰(610)에서 각 픽셀은 합성 뷰에서 픽셀의 위치를 결정하기 위해 픽셀에 대한 대응되는 광학 흐름 벡터의 비례부분에 상대적인 방향으로 시프팅될 수 있다. 예컨대, 합성 카메라가 좌측 및 우측 카메라 사이에서 중간지점에 배치된다면, 좌측 카메라 뷰(610) 내의 각 픽셀은 광학 흐름에서 그 픽셀에 대응되는 벡터의 값의 절반만큼 시프팅될 수 있다. 유사하게, 합성 카메라가 좌측 카메라로부터 우측 카메라로 향하는 길의 10%에 위치한다면, 좌측 카메라 내의 각 픽셀은 광학 흐름에서 대응되는 벡터의 10%만큼 시프팅될 수 있다. 동일한 시프팅 프로세스가 시프팅된 우측 카메라 뷰(625)를 얻기 위해 우측 카메라 뷰(615)에 적용될 수 있다.
시프팅된 좌측 및 우측 카메라 뷰(620, 625)는 광학 흐름을 사용하여 시프팅될 때 좌측 및 우측 카메라 뷰(610, 615) 둘 모두로부터의 위치 정보를 사용하여 합성 뷰(630)의 근사화를 각각 나타낸다. 픽셀 강도 정보는 상이한 카메라 뷰 및 카메라 사이에서 불일치될 수 있기 때문에, 심지어는 동일한 구성에서의 카메라에 있어서도, 합성 뷰(630)는 좌측 및 우측 카메라 뷰(610, 615) 둘 모두로부터의 픽셀 강도 정보를 사용하여 생성될 수 있다. 일부 실시예로, 시프팅된 좌측 및 우측 카메라 뷰(620, 625)는 원래의 카메라 뷰 중 하나로부터의 픽셀 강도 정보를 포함한다. 예컨대, 시프팅된 좌측 카메라 뷰(620)는 좌측 카메라 뷰(610) 및 우측 카메라 뷰(615) 둘 모두로부터의 위치 정보를 (광학 흐름에 기반한 시프트의 형태로) 통합한다. 하지만, 시프팅된 좌측 카메라 뷰(620)는, 심지어 픽셀들의 위치가 시프팅되어도 시프팅된 좌측 카메라 뷰(620)에서의 모든 픽셀 강도 값들이 좌측 카메라 뷰(610) 내의 대응되는 픽셀로부터 이어짐에 따라 좌측 카메라 뷰(610)로부터의 픽셀 강도 정보만을 통합한다.
2개의 카메라 뷰 내의 대응되는 지점들 사이의 픽셀 강도 정보를 상이하게 하는 것은 예컨대, 카메라 뷰를 캡처하는 카메라 사이의 노출이나 다른 설정을 상이하게 함으로써 야기될 수 있다. 도 6의 예시에서, 공은 우측 카메라 뷰(615)와는 좌측 카메라 뷰(610)에서 상이한 그림자이며, 이러한 차이점은 시프팅된 좌측 및 우측 카메라 뷰(620, 625)에서도 잔류한다. 도 6의 실시예에서, 시프팅된 좌측 카메라 뷰(620) 및 시프팅된 우측 카메라 뷰(625)는 합성 뷰(630)를 생성하기 위해 블렌딩된다. 카메라 뷰를 블렌딩하는 것은, 예컨대, 각 카메라 뷰에서 2개의 대응되는 픽셀에 걸쳐 픽셀 강도 정보를 평균화함으로써 각 시프팅된 좌측 및 우측 카메라 뷰에서의 대응되는 픽셀을 평균화하거나 아니면 조합하는 것을 포함할 수 있다. 시프팅된 좌측 및 우측 카메라 뷰(620, 625)는 합성 뷰(630)를 생성하기 위해 합성 카메라의 위치에 기반하여 비례해서 블렌딩될 수 있다. 도 6의 예시에서, 합성 뷰(630) 내의 공은 공의 각 픽셀이 시프팅된 좌측 카메라 뷰(620)와 시프팅된 우측 카메라 뷰(625)의 대응되는 픽셀로부터 비례하여 블렌딩된 결과로서 중간 그림자이다.
다른 실시예로, 합성 뷰(630)는 예컨대, 합성 뷰를 생성하기 위해 합성 카메라 위치에 가장 가깝게 캡처된 카메라 뷰로부터의 픽셀 강도 정보만을 사용하여 오로지 하나의 카메라 뷰로부터의 픽셀 강도 정보에 기반하여 생성될 수 있다. 하지만, 가장 가까운 카메라로부터의 픽셀 강도 정보만이 사용된다면, 다른 카메라 뷰에 더 가까운 합성 뷰와 비교할 때 하나의 카메라 뷰에 더 가까운 합성 뷰의 외관에서의 급격한 시프트 또는 차이를 보인다.
하나의 예시에서, 픽셀 값 P는 시프팅된 좌측 카메라 뷰 픽셀 값 L과 시프팅된 우측 카메라 픽셀 값 R을 사용하여 좌측으로부터 우측 카메라(여기서 t=1인 것은 좌측 카메라의 위치를 나타내고 t=0인 것은 우측 카메라의 위치를 나타냄)로 향하는 합성 카메라의 비례 거리 t에 기반하여 결정되고, 여기서 각 시프팅된 카메라 픽셀 값은 비례 거리 t를 사용하여 비레 광학 흐름 이후의 픽셀 값을 반영한다:
[수학식 1]
Figure 112018104600699-pct00001
하지만, 일부의 경우 시프팅된 좌측 카메라 뷰 픽셀 값은 상당한 양만큼 달라질 수 있다. 픽셀 크기의 잠재적인 차이를 고려하기 위해, 추가적인 항이 포함되어 좌측 또는 우측 픽셀 색상 값을 선호할지 여부를 결정할 수 있다. 추가적인 항은 파라미터 N(a, b, x, y)를 갖는 정규화 함수 N일 수 있고, 여기서 ab는 픽셀 색상 값이며 xy는 정규화 가중치이다. 일례로, 정규화 함수 N은 다음과 같은 파라미터에 가중치를 부여한다:
[수학식 2]
Figure 112018104600699-pct00002
일실시예로, 정규화 함수 N을 위한 파라미터는:
a = 시프팅된 좌측 카메라 L의 픽셀 값
b = 시프팅된 우측 카메라 R의 픽셀 값
x = 비례 거리 t + 좌측 카메라의 광학 흐름의 크기 M l
y = (1 - 비례 거리 t) + 우측 카메라의 광학 흐름의 크기, M r
정규화 함수 N에 대한 가중치의 부분을 결정하기 위해, 좌측 및 우측 카메라 픽셀 값 사이의 픽셀 크기 δ의 유사도가 N의 적용에 가중치를 부여하는데 사용될 수 있고, 여기서 1과 같은 픽셀 크기 δ는 동일한 픽셀 값을 나타내고 0과 같은 픽셀 크기 δ는 픽셀 값의 완전한 차이를 나타낸다. 따라서, 일례로 비례 거리 t를 사용하는 픽셀 값은:
[수학식 3]
Figure 112018104600699-pct00003
위의 정규화 함수에 파라미터를 적용할 때, 픽셀 값들은 수학식 4에 의해 주어질 수 있다:
[수학식 4]
Figure 112018104600699-pct00004
광학 흐름의 크기에 대해 조정함으로써, 픽셀 값을 결정하는 이 함수는 픽셀 값들이 유사할 때 픽셀 값들을 조합하는 것을 선호하고, 픽셀 값들이 상이할 때 카메라 뷰로의 거리에 가중치를 부여한다. 픽셀 값들이 상이할 때, 정규화 항은 카메라 뷰로부터의 비례 거리에 추가로 각 시프팅된 픽셀에 대한 광학 흐름의 크기를 사용하여 좌측 및 우측 픽셀 사이의 선택을 허용한다.
도 7은 일실시예에 따른, 입력 카메라 뷰로부터의 합성 뷰를 생성하기 위한 프로세스를 도시하는 흐름도이다. 프로세스(700)는 좌측 및 우측 카메라 뷰와 합성 카메라의 위치가 예컨대, 새로운 뷰 생성 모듈(240)에서 수신될 때 시작된다. 이후, 수신된 좌측 및 우측 카메라 뷰 사이의 광학 흐름이, 가령 광학 흐름 계산 모듈(230)에 의해 계산된다(710). 이 광학 흐름을 사용하여, 각 수신된 카메라 뷰는 합성 카메라의 위치에 기반하여 시프팅될 수 있다(715). 이후, 시프팅된 좌측 및 우측 카메라 뷰는 픽셀 강도 정보를 병합하고 입력 카메라 뷰에 기반하여 최종 합성 뷰를 생성하도록 블렌딩된다(720). 이 블렌딩은 예컨대, 각 시프팅된 카메라의 픽셀 강도를 블렌딩하기 위해 상기 표시된 수학식 1 내지 4에 의해 수행될 수 있다.
광학 흐름 계산
광학 흐름, 가령 위에서 논의된 합성 뷰를 생성하는데 사용되는 광학 흐름은 일부 실시예에서 광학 흐름 계산 모듈(250)에 의해 생성된다. 앞서 언급된 바와 같이, 광학 흐름은 다수의 카메라 뷰들에 걸쳐 대응되는 지점이나 픽셀들을 연관시킨다. 2개의 카메라 뷰 사이의 광학 흐름은, 각 벡터(이하, 광학 흐름 벡터라 함)가 제1 카메라 뷰 내의 하나의 픽셀로부터 등장방형이나 방위각 투영과 같은 다른 카메라 뷰의 투영이나 다른 카메라 뷰 내의 대응되는 픽셀로의 변위를 나타내는 벡터 필드일 수 있다. 다른 실시예로, 광학 흐름은 함수나 다른 타입의 변환이며, 지점과 연관된 광학 흐름 벡터는 광학 흐름 함수나 맵핑이 평가될 때 지점과 그것의 대응되는 지점 사이의 변위를 나타낸다. 광학 흐름은 대응되는 픽셀을 갖는 임의의 2개의 카메라 뷰들 사이에서 계산될 수 있고, 일부 구현에서 임의의 수의 카메라 뷰들 사이에서 계산될 수 있다. 예컨대, 광학 흐름은 예컨대, 위로 향하도록 배치된 어안 카메라와 같이 수평 평면 내의 2개의 카메라 뷰와 제3 카메라 뷰 사이에서 계산될 수 있다. 광학 흐름은 오프셋(μ,ν)을 부여하는 함수 또는 맵핑에 기반하여 제1 이미지 내의 픽셀(x, y)을 제2 이미지 내의 픽셀과 관련시킬 수 있다. 제2 이미지 내의 대응되는 픽셀은, 예컨대 제1 이미지 내의 주어진 픽셀로부터 제2 이미지 내의 대응되는 픽셀까지의 x 또는 y 축 변위를 나타내는 함수나 맵핑 μ(x, y) 및 ν(x, y)에 기반하여 결정될 수 있다. 일부 구현에서, 제1 이미지에서 픽셀(x, y)에 대응되는 픽셀은 제2 이미지에서 픽셀(x + μ(x, y), y + ν(x, y))일 수 있다.
일부 실시예로, 광학 흐름은 픽셀들이 2차 카메라 뷰 내의 대응되는 픽셀로 맵핑되는 1차 카메라 뷰를 갖는 지향성이다. 예컨대, 1차 카메라 뷰 내의 각 픽셀에는 1차 카메라 뷰 내의 픽셀과 2차 카메라 뷰 내의 대응되는 픽셀 사이의 변위를 저장하는 변위 벡터가 할당될 수 있다. 다른 구현에서, 광학 흐름은 대칭적이며, 예컨대 두 카메라 뷰들 내의 픽셀에 다른 카메라 뷰들 내의 대응되는 픽셀을 가리키는 변위 벡터를 할당한다. 대칭적 광학 흐름이 또한, 예컨대 카메라 뷰들의 그룹 내의 각 카메라 뷰에 대한 지향성 광학 흐름을 계산하는 것과 같이 둘 이상의 지향성 광학 흐름을 조합함으로써 생성될 수 있다. 일부의 경우, 하나의 카메라 뷰 내의 지점은 하나 이상의 다른 카메라 뷰 내의 대응되는 지점을 갖지 않을 것이다. 예컨대, 객체는 하나의 카메라 뷰 내의 다른 객체에 의해 가려질 수 있지만, 동일한 장면의 다른 카메라 뷰 내에서 가려지지 않고 완전히 가시적일 수 있다. 일부 실시예로, 광학 흐름 벡터는 또한, 다른 카메라 뷰들 내에서 대응되는 픽셀 없이 픽셀들로 할당된다. 예컨대, 다른 카메라 뷰 내에서 대응되는 픽셀이 없는 픽셀에는 이웃하는 픽셀의 할당된 광학 흐름 벡터에 기반하여, 평균 또는 중간값 광학 흐름 벡터에 기반하여, 또는 임의의 다른 적절한 방법에 기반하여 광학 흐름 벡터가 할당될 수 있다.
도 8은 일부 실시예에 따른, 예시적인 카메라 뷰들 사이의 광학 흐름 벡터를 도시하는 라인 다이어그램이다. 다이어그램(800)은 좌측 카메라 뷰(805) 및 우측 카메라 뷰(810), 광학 흐름(815), 좌측 카메라 뷰(805) 내의 지점(820-823), 우측 카메라 뷰(810) 내의 지점(830-833), 조합된 카메라 뷰(840) 및 광학 흐름 벡터(845)를 포함한다.
도 8의 실시예에서, 좌측 카메라 뷰(805)와 우측 카메라 뷰(810)는 몇몇 공유되는 객체, 이 경우 2개의 상이한 위치에서 캡처된 산과 사람을 도시한다. 좌측 카메라 뷰(805)와 우측 카메라 뷰(810)는 공통의 객체를 공유하기 때문에, 공통의 객체를 또한, 나타내는 우측 카메라 뷰(810) 내의 픽셀들에 대응되는 좌측 카메라 뷰(805) 내의 공통의 객체를 나타내는 픽셀들이 있다. 예컨대, 지점들(820-823) 각각은 대응되는 지점들(830-833)과 연관된 우측 카메라 뷰 내의 픽셀과 대응되는 좌측 카메라 뷰(805) 내의 픽셀과 연관될 수 있다. 예컨대, 좌측 카메라 뷰(805) 내의 지점(822)과 우측 카메라 뷰(810) 내의 대응되는 지점(832)은 좌측 및 우측 카메라 뷰(805, 810) 내의 대응되는 픽셀을 나타낼 수 있고, 이 둘은 모두 사람의 머리의 상부를 도시한다. 일부 실시예로, 광학 흐름, 가령 광학 흐름(815)은 지점들(822, 832)과 연관된 픽셀 사이의 대응을 캡처한다.
조합된 카메라 뷰(840)는 예시의 목적을 위해 좌측 카메라 뷰(805)의 위에 놓여지는 우측 카메라 뷰(810)를 디스플레이한다. 조합된 카메라 뷰(840)에서, 좌측 및 우측 카메라 뷰(805, 810) 사이의 위치 시프트는 두 카메라 뷰에 공통인 모든 객체에 대해서 일정하지 않음이 명백하다. 예컨대, 좌측 및 우측 카메라 뷰(805, 810) 사이의 산의 위치 변위는 동일한 카메라 뷰 사이의 사람의 위치 변위와 비교할 때 더 작은 크기를 가진다. 객체 사이의 시프트 양의 차이는 원근법 효과, 예컨대 카메라 뷰들의 객체들 사이의 카메라로의 상이한 거리로 인해 야기될 수 있다. 도 8의 예시에서, 산은 사람보다 좌측 및 우측 카메라로부터 훨씬 더 멀리 떨어지고, 사람의 위치 변위가 좌측 및 우측 카메라 뷰(805, 810) 사이의 산의 위치 변위보다 더 큰 결과를 낳는다. 광학 흐름 벡터(845)는 좌측 카메라 뷰(805)와 우측 카메라 뷰(810) 사이의 광학 흐름 내에 포함될 수 있는 벡터의 예시이다. 광학 흐름 벡터(845)는 그들 사이의 변위를 보여줌으로써 좌측 카메라 뷰(805) 내의 지점(822)과 우측 카메라 뷰 내의 지점(832) 사이의 대응을 도시한다.
광학 흐름의 계산은 다양한 방법으로 달성될 수 있다. 예컨대, 광학 흐름의 계산은 2개의 이미지 사이의 광학 흐름을 결정하기 위해 변분 최적화 문제를 확립함으로써 시작될 수 있다. 최적화 문제는 다양한 항들, 가령 다른 이미지 내의 대응되는 픽셀이나 그라디언트와 비교되는 픽셀의 강도 또는 픽셀의 그라디언트의 강도를 측정하는 데이터 항, 예컨대, 광학 흐름 필드의 평활도를 측정하는 조직화 항, 또는 임의의 다른 적절한 항을 포함할 수 있다. 예컨대, 제1 이미지 내의 픽셀들 (x, y)을 제2 이미지 내의 픽셀들 (x + μ(x, y), y + ν(x, y))과 관련시키는 변분 최적화 방정식이 다음과 같이 제시될 수 있다.
[수학식 5]
Figure 112018104600699-pct00005
위의 예시적인 변분 최적화 방정식(수학식 5)은 픽셀 강도 I의 차이의 절대값 또는 제1 이미지 내의 픽셀과 제2 이미지 내의 대응되는 픽셀 사이의 색상의 차이의 절대값을 측정하는 데이터 항
Figure 112018104600699-pct00006
을 포함한다. 이 예시적인 변분 최적화 방정식에 대한 데이터 항은 2개의 이미지의 그라디언트
Figure 112018104600699-pct00007
의 차이를 측정하는 그라디언트 일관성 항
Figure 112018104600699-pct00008
을 더 포함한다. 마지막으로, 이 방정식은 조직화 항 R(μ, ν)을 포함한다. 변분 최적화 방정식의 최소화는 광학 흐름이 변분 최적화 문제의 특정 파라미터에 대하여 최적화됨을 나타낸다. 다른 실시예에서, 변분 최적화 문제는 추가적인 항들, 예컨대 아래의 수학식 6에 도시되는 항들을 포함할 수 있다.
[수학식 6]
Figure 112018104600699-pct00009
여기서 GG d 는 가우시안 커넬이고, a 0 a 1 은 알파 채널이며, ε는 2개의 대응되는 점들 사이의 픽셀 강도 값의 에러이며, W는 시그모이드이다.
수학식 6은 변분 최적화 문제의 제2 예시를 보여준다. 수학식 6은 제1 이미지 내의 픽셀들의 그라디언트의 흐린 버전(G*)을 제2 이미지 내의 픽셀들과 비교하는 데이터 항
Figure 112018104600699-pct00010
, 현재의 광학 흐름을 이전의 광학 흐름과 비교하는 시간적 조직화 항
Figure 112018104600699-pct00011
, l p 평활화 항
Figure 112018104600699-pct00012
, 중간값 픽셀 강도 값의 절대값 차이를 취하는 중간값 필터링 항
Figure 112018104600699-pct00013
, 및 픽셀 강도 값의 차이에 기반하여 흐릿하게 된 픽셀 강도 값의 차이를 측정하는 가중된 확산 항
Figure 112018104600699-pct00014
을 포함한다. 시간적 조직화, 중간값 필터링 및 가중된 확산 항들은 이하에서 더 상세히 논의될 것이다.
이러한 변분 최적화 문제는 이후 광학 흐름을 결정하기 위해 풀려질 수 있다. 일부 실시예로, 변분 최적화 문제는 데이터 및 조직화 항들을 사용하여 구성되는 최적화 방정식을 최소화함으로써 근사화된다. 예컨대, 최적화 방정식은 우선 반복적 오일러-라그란지 방법을 사용하여 편미분 방정식의 비-선형 시스템으로 변환될 수 있다. 비-선형 시스템은 이후 선형화되고 다른 반복법을 사용하여 풀어질 수 있다. 예컨대, 가우스 사이델, 자코비, 또는 SOR(successive over relaxation) 방법들이 이용되어 변분 최적화 문제를 근사화하는 선형 연립 방정식을 풀 수 있다. 일부 구현에서, 카메라 뷰 내의 핵심 지점이나 픽셀이 핵심 지점에 대응되는 픽셀들 간의 정확한 매치를 생성하기 위해 핵심 지점 매칭 알고리즘, 가령 ORB, AKAZE 또는 BRISK를 사용하여 별개로 매칭될 수 있다. 광학 흐름 계산 모듈(250)은 이전에 계산된 핵심 지점 매치와 유사한 핵심 지점들에 대한 광학 흐름 벡터를 포함하는 솔루션들을 향해 변분 최적화 문제에 영향을 주는데 계산된 핵심 지점 매치들을 사용할 수 있다. 예컨대, 변분 최적화 문제를 해결하는 반복들 사이에서 광학 흐름은 예컨대, 스플랫팅(splatting)을 사용함으로써 핵심 지점 매치들을 향하도록 영향을 받을 수 있다.
대안으로, 변분 최적화 문제는 최적화 문제를 선형 연립 방정식으로 변환하지 않고 반복법을 사용함으로써 풀릴 수 있다. 광학 흐름 필드를 생성하는 변분 최적화 문제를 해결하기 위해, 반복법이 하나 이상의 카메라 뷰의 각 픽셀에 대한 광학 흐름을 나타내는 초기화된 벡터 필드에 적용될 수 있다. 벡터 필드는 다양한 방법을 사용하여 초기화될 수 있고, 예컨대 각 광학 흐름 벡터는 랜덤하게 초기화되거나, 전체 벡터 필드가 균일한 값으로 초기화될 수 있거나, 임의의 다른 적절한 방법이 사용될 수 있다. 일실시예로, 광학 흐름은 낮은 것으로부터 더 높은 해상도의 이미지의 이미지 "피라미드"에 대해 반복적으로 수행된다. 광학 흐름은 우선 이미지들의 낮은 해상도의 다운샘플링된 버전에 대해 계산된다. 각 광학 흐름 벡터의 크기를 비례적으로 조정하는 것을 포함하는 이러한 발생되는 초기 광학 흐름은 이후 스케일링 업될 수 있고, 이미지들의 더 높은 해상도 버전에 대한 광학 흐름을 초기화하는데 사용될 수 있다. 각 이전의 광학 흐름은 완전한 해상도의 광학 흐름이 계산될 때까지 이미지들의 점진적으로 더 높은 해상도 버전에 대한 광학 흐름을 초기화하는데 사용될 수 있다. 개념적으로, 이것은 이미지의 다운샘플링된 버전 내의 각 픽셀이 원래의 이미지에서의 영역을 나타낼 수 있기 때문에 이미지들의 점진적으로 더 작은 영역에 대한 광학 흐름을 계산하는 것과 유사하다.
반복 프로세스 동안 광학 흐름은 픽셀 당 또는 영역당 기준으로 최적화될 수 있다. 광학 흐름을 결정하는 반복 프로세스의 하나의 구현에서, 카메라 뷰 내의 각 픽셀이나 영역에 대한 광학 흐름 벡터는 하나 이상의 다른 카메라 뷰 내의 더 최적화된 대응되는 픽셀을 반복적으로 결정하기 위해 개별적으로 분석된다. 하지만, 개별적으로 작은 영역이나 개별 픽셀을 분석하는 구현에서, 하나 이상의 카메라 뷰 내의 이미지 품질 변화, 가령 노이즈, 더스트 또는 다른 결함은 픽셀을 그것의 정확하게 대응되는 픽셀과 연관시키는 반복 프로세스의 능력을 저해할 수 있다. 예컨대, 특정 픽셀에 대한 가장 최적의 대응되는 픽셀은 노이즈에 의해 불명확하게 될 수 있고, 이는 덜 최적화된 대응되는 픽셀이 선택되는 것으로 이어진다. 이러한 이슈를 해결하기 위해, 일부 실시예에서, 중간값 필터링, 블러링, 노이즈제거 또는 다른 적절한 이미지 프로세싱 기술이 광학 흐름의 계산을 위한 반복법의 적용에 앞서 입력 카메라 뷰에 적용된다. 반복 프로세스가 완료된 후, 발생되는 최적화된 광학 흐름은 합성 뷰나 캔버스 뷰의 계산에 사용될 수 있다.
도 9는 일부 실시예에 따라 2개의 카메라 뷰 사이의 광학 흐름을 계산하기 위한 예시적인 프로세스를 도시하는 흐름도이다. 프로세스(900)는 좌측 카메라 뷰와 우측 카메라 뷰 사이의 광학 흐름을 생성하기 위한 예시적인 반복법을 요약한다. 다른 실시예에서, 유사한 기술이 다소 상이한 카메라 뷰들 사이의 광학 흐름, 가령 3개의 카메라 뷰 사이의 광학 흐름이나 임의의 배향인 다수의 카메라 뷰들, 예컨대, 상부 카메라 뷰와 하부 카메라 뷰 사이의 광학 흐름을 생성하기 위해 사용될 수 있다.
프로세스(900)는 광학 흐름 계산 모듈(250)에서 카메라 뷰 세트가 수신(905)될 때 시작된다. 예컨대, 광학 흐름 계산 모듈(250)은 1차 카메라 뷰와 2차 카메라 뷰 또는 좌측 및 우측 카메라 뷰를 수신할 수 있다. 일부 실시예로, 수신된 카메라 뷰는 예컨대, 노이즈제거, 중간값 필터링, 또는 블러링에 의해 프로세싱되어서 가령 하나 이상의 카메라 뷰 내의 노이즈와 같이 카메라 뷰들 사이의 대응되는 픽셀 간의 잠재적인 이미지 품질 차이를 완화시킨다. 프로세스(900)는 카메라 뷰 세트에 대한 광학 흐름을 초기화(915)함으로써 계속된다. 예컨대, 광학 흐름은 랜덤 광학 흐름, 0의 크기의 광학 흐름, 또는 임의의 다른 적절한 광학 흐름으로 초기화될 수 있다. 예컨대, 피라미드 타입 초기화를 사용하는 구현에서, 광학 흐름은 더 낮은 해상도 버전의 카메라 뷰를 사용하여 계산되는 광학 흐름의 스케일-업된 버전으로 초기화될 수 있다. 프로세스(900)에서, 초기화된 광학 흐름은 이후 반복법을 사용하여 최적화될 수 있다.
각 반복을 시작하기 위해, 픽셀은 카메라 뷰, 예컨대 좌측 카메라 뷰의 상부 좌측 픽셀로부터 선택된다(920). 일부 구현에서, 픽셀은 반복에 기반한 패턴으로 선택되고 각 픽셀에 대응되는 광학 흐름 벡터는 다음 픽셀로 이동하기 전에 업데이트된다. 예컨대, 제1 반복에서 픽셀은 상부 좌측 코너 픽셀로 시작하여 순차적으로 하부 우측 코너 픽셀로 진행되도록 선택된다. 일부 실시예로, 후속 반복은 상이한 순서로 픽셀을 선택한다. 예컨대, 제2 반복은 하부 우측 코너 픽셀로 시작되어 상부 좌측 코너 픽셀로 순차적으로 진행될 수 있다. 다른 구현에 따르면, 픽셀은 랜덤하게 또는 중앙 픽셀에서 시작되거나 임의의 다른 적절한 패턴으로 선택될 수 있다. 이하의 표 1 내지 3은 픽셀 시퀀스를 선택하기 위한 몇몇 예시적인 패턴을 보여주며, 이들은 이미지 내의 픽셀을 횡단할 수 있다.
1 2 3
4 5 6
7 8 9
9 8 7
6 5 4
3 2 1
7 8 9
6 1 2
5 4 3
다음으로, 선택된 픽셀에 대하여 하나 이상의 흐름 벡터 제안이 생성된다(925). 흐름 벡터 제안은 그 픽셀과 연관된 교번하는 광학 흐름이며 임의의 수의 적절한 기술에 의해 생성될 수 있다. 예컨대, 흐름 벡터 제안은 랜덤하게 생성되거나 변분 최적화 문제의 항들의 서브세트에 대해 계산된 그라디언트 하강에 기반하여 생성될 수 있다. 흐름 벡터 제안은 또한, 현재의 흐름 벡터의 랜덤 섭동에 의해 생성될 수 있거나, 인접하거나 근처의 픽셀에 대응되는 흐름 벡터로부터 복사될 수 있다. 일실시예로, 4개의 흐름 벡터 제안이 선택된 픽셀에 대해 생성된다; 랜덤 흐름 벡터, 그라디언트 하강에 의해 생성된 흐름 벡터, 선택된 픽셀의 상부 이웃에 할당된 흐름 벡터의 사본 및 선택된 픽셀의 하부 이웃에 할당된 흐름 벡터의 사본. 각 흐름 벡터 제안은 이후 그 벡터 제안이 다른 제안과 현재 광학 흐름 벡터와 비교할 때 광학 흐름의 최적화를 향상시키는지 여부를 결정하기 위해 분석된다(930). 향상은, 예컨대 변분 최적화 문제의 출력을 비교하고, 그것이 감소되고 그에 따라 최소값에 더 가까워졌는지 여부를 결정함으로써 결정될 수 있다. 일부 실시예로, 각 이미지의 강도 그라디언트는 변분 최적화 문제로 입력될 때 흐릿하게 될 수 있다. 최적화를 향상시키는 제안이 이후 수락되고 선택된 픽셀과 연관된 새로운 광학 흐름 벡터가 된다. 프로세스(900)는 이후 시퀀스에서 다음 픽셀로 진행되고, 광학 흐름 내의 모든 흐름 벡터가 업데이트된 때(935), 중간값 필터나 확산 필터, 예컨대 가우시안 블러 필터가 광학 흐름 필드에서 아웃라이어의 효과를 경감시키기 위해 업데이트된 광학 흐름에 적용될 수 있다(937). 중간값 필터링 및 확산 필터링은 근처 픽셀의 광학 흐름 벡터와 정렬되지 않는 광학 흐름 필드 내의 아웃라이어를 제거함으로써 광학 흐름 필드의 일관성 또는 평활성을 향상시킬 수 있다. 일부 구현에서, 확산 필터는 가중된 확산, 가령 가우시안 블러 또는 다른 타입의 블러를 픽셀과 그것의 대응되는 픽셀 사이의 픽셀 강도 값의 에러에 기반하여 각 픽셀에 대한 각각의 광학 흐름 벡터에 적용할 수 있다. 예컨대, 완전히 블러된 광학 흐름은 픽셀 강도 값의 에러에 기반하여 사전-블러 광학 흐름과 블렌딩될 수 있다. 픽셀 강도 값에서의 더 많은 에러를 갖는 픽셀에 대한 광학 흐름 벡터는 대응되는 픽셀에 대해 픽셀 강도 값에서 더 적은 에러를 갖는 픽셀들보다 더 무거운 가중치를 블러된 광학 흐름에 부여할 수 있다. 예컨대, 수학식 6의 변분 최적화 방정식을 사용하는 실시예와 같은 일부 실시예에서, 중간값 필터링과 가중된 확산이 변분 최적화 문제에서 항들로 통합될 수 있다. 이후, 프로세스(900)는 반복 프로세스의 다음 전체 반복으로 이동한다. 이 지점에서, 모든 반복이 완료된 후(940) 광학 흐름이 예컨대, 광학 흐름의 피라미드 타입 초기화가 사용되는 것과 같이 전체 해상도 광학 흐름(942)이 아니라면, 프로세스는 현재 광학 흐름을 사용하여 초기화된 광학 흐름을 갖는 더 높은 해상도의 카메라 뷰에 기반하여 반복을 계속하도록 광학 흐름 초기화(915)로 되돌아간다. 그렇지 않다면, 모든 반복이 완료된 후(940) 최적화된 광학 흐름이 출력된다(945).광학 흐름 계산의 일변형에서, 픽셀의 강도 값은 이미지들 사이의 단단한 모서리를 부드럽게 만들도록 블러될 수 있다. 추가로, 이미지 강도 그라디언트 자체가 또한, 반복 동안에 블러될 수 있다. 이러한 블러를 수행함으로써, 광학 흐름 분석은 상이한 이미지들에 걸쳐 상이하게 나타날 수 있는 노이즈 및 날카로운 모서리와 관련하여 더 강건해질 수 있다.
다른 변형으로, 광학 흐름은 카메라에서 다른 카메라로 이전 프레임의 광학 흐름을 초기에 통합한다. 예컨대, 일부의 경우 카메라는 카메라에 걸쳐 동기화된 일련의 프레임을 포함하는 비디오를 캡처할 수 있다. 이전의 프레임의 광학 흐름이 현재 프레임에 대한 광학 흐름에서 사용될 수 있다. 현재의 프레임은 제1 반복에 대한 초기 솔루션으로서 이전 프레임의 광학 흐름을 사용할 수 있고, 솔루션이 현재 프레임에 대해 발견될 수 있고, 현재 프레임에 대한 솔루션은 현재 프레임의 광학 흐름을 결정하기 위해 이전의 프레임의 광학 흐름과 조합된다. 이는 하나 이상의 이미지에 걸쳐 광학 흐름의 시간적 조직화를 허용한다. 일부 구현에서 시간적 조직화 항이 변분 최적화 방정식 내에 포함될 수 있다.
캔버스 뷰 생성
일부 실시예에 따르면, 광 정보 근사화 모듈(260)은 새로운 뷰 생성 모듈(240)에 의해 생성된 합성 뷰 및 광학 흐름 계산 모듈(250)에 의해 생성된 광학 흐름에 기반하여 캔버스 뷰를 생성한다. 예컨대, 광 정보 근사화 모듈(260)은 특정적으로 생성된 합성 뷰로부터 취해진 영역들로부터 캔버스 뷰를 조립할 수 있다. 일부 실시예로, 광 정보 근사화 모듈(260)은 새로운 뷰 생성 모듈(240)로부터의 캔버스 뷰의 생성을 위해 요구되는 합성 뷰를 요청한다. 유사하게, 광 정보 근사화 모듈(260)은 광학 흐름 계산 모듈(250)로부터 임의의 필요한 광학 흐름을 요청할 수 있다. 대안으로, 광학 흐름은 합성 뷰의 생성 동안에 새로운 뷰 생성 모듈(240)에 의해 자동으로 계산되거나 요청될 수 있다.
앞서 언급한 것처럼, 캔버스 뷰는 특정 시점이나 시점 세트에서 광 정보를 근사화하기 위해 생성될 수 있다. 캔버스 뷰 생성은 캔버스 뷰가 계산될 픽셀이나 영역 세트로 캔버스 뷰를 세그먼트화함으로써 시작될 수 있다. 일부 실시예로, 광 정보 근사화는 캔버스 뷰의 각 픽셀이 광 정보 근사화에서 광선과 연관되는 픽셀-당 기준으로 수행된다. 유사하게, 캔버스 뷰의 각 영역은 예컨대, 캔버스 뷰의 그 영역과 관련된 광 정보를 결정하는데 사용되는 시점과 연관될 수 있다. 예컨대, 각 픽셀은 그 픽셀에 특정적인 합성 카메라 위치로부터의 합성 뷰에 기반하여 계산될 수 있다. 다른 실시예로, 시점에서 광 정보를 근사화하는 캔버스 뷰의 계산은 단일 픽셀보다 큰 캔버스 뷰의 영역들에 기반한다. 예컨대, 카메라들의 단일 평면을 사용하는 구성에서, 가령 외부로 배향되는 카메라들의 단일 링의 경우 광 정보 근사화는 캔버스 뷰 내의 픽셀들의 하나의 픽셀 너비의 칼럼에 기반할 수 있다. 합성 뷰는 캔버스 뷰 영역 각각과 캔버스 뷰를 생성하는데 사용되는 관련 광 정보에 대해 계산될 수 있다. 일부 구현에서, 단일 픽셀보다 큰 영역이나 픽셀들의 칼럼이 캔버스 뷰 생성 시스템(110)에 대한 계산 로드를 감경하도록 사용된다. 예컨대, 더 적은 개수의 영역을 사용하는 것은, 각 영역이 그 영역 고유의 합성 뷰의 계산을 요구할 수 있기 때문에 계산될 더 적은 수의 합성 뷰를 요구할 수 있다. 예컨대, 캔버스 뷰의 영역들은 정사각형 영역, 1 픽셀보다 넓은 칼럼 영역, 또는 캔버스 뷰 내의 픽셀들의 임의의 다른 적절한 서브세트일 수 있다. 모든 필요한 합성 뷰가 일단 계산되면, 각 합성 뷰의 특정 영역이 추출되고 시점에서 광 정보를 근사화하는 캔버스 뷰를 생성하도록 조합될 수 있다.
도 10은 일부 실시예에 따른, 다수의 객체 및 예시적인 이미지 캡처 시스템을 도시하는 라인 다이어그램이다. 다이어그램(100)은 원점(305), 좌측 및 우측 시점(402, 404), 동공 간 거리(410), 카메라(310-317), 합성 카메라(425, 430), 시야선(440, 445), 각도(1020)와 연관된 객체(1005) 및 각도(1025)와 연관된 다른 객체(1010)를 포함한다. 일부 실시예로, 객체(1005, 1025)는 장면 내에 위치한 물리적인 객체이지만, 객체(1005, 1025)는 장면 내에서 0의 시차 거리 또는 장면 내의 임의의 다른 지점에 또한, 있을 수 있다.
다이어그램(1000)은 다수의 객체(1005, 1025)를 포함하는 장면을 이미지 캡처 시스템(105)이 캡처하는 예시적인 장면을 나타낸다. 이 장면을 클라이언트 VR 장치(115) 상에 재생성하기 위해, 캔버스 뷰 생성 시스템(110)은 사용자의 좌측 및 우측 눈에 디스플레이하기 위해 의도되는 캔버스 뷰를 생성할 수 있다. 각 캔버스 뷰는 클라이언트 VR 장치(115)의 사용자의 좌측 및 우측 눈에 대응하는 2개의 시점 세트에서 광 정보를 근사화할 수 있다. 좌측 시점(402) 및 우측 시점(404)은 캔버스 뷰가 계산될 시점들의 좌측 및 우측 세트의 예시적인 시점들을 나타낼 수 있다. 본 실시예에서, 좌측 및 우측 시점(402, 404)은 동공 간 거리(410)만큼 분리된다. 가령, 좌측 시점(402)이나 우측 시점(404)과 같은 시점에서의 광 정보를 근사화하기 위해, 광 정보 근사화 모듈(260)은 그 시점에서 관련 광 정보를 캡처하는 합성 뷰 및 카메라 뷰 내의 특정 영역들로부터 캔버스 뷰를 조립할 수 있다.
도 10의 실시예로, 각 카메라(310-317)는 정의된 시야를 가지고, 카메라 중 어느 것도 장면의 모든 광 정보를 완전히 캡처하도록 구성되지 않으며, 예컨대 카메라(310-317) 중 어느 것도 객체(1005, 1010) 둘 모두로부터의 광 정보를 캡처할 수 없다. 합성 뷰, 가령 합성 카메라(425, 430)로부터의 합성 뷰는 카메라(310-317)에 의해 직접 캡처되지 않은 광 정보의 특정 조각들을 캡처하도록 생성될 수 있다. 하지만, 이러한 목적으로 생성된 개별 합성 뷰는 시점에서 광 정보를 근사화하는 캔버스 뷰를 생성하는데 필요한 모든 광 정보를 캡처하지 않는다.
일부 실시예로, 각 카메라(310-317) 또는 합성 카메라(425, 430)는 적절한 캔버스 뷰를 생성하는데 필요한 광 정보의 서브세트를 캡처할 수 있다. 예컨대, 객체(1005)는 광 정보의 특정 지점과 연관될 수 있다. 본 실시예에서, 합성 카메라(425)는 광 정보, 예컨대 합성 카메라(425)와 좌측 시점(402)을 교차하는 객체(1005)로부터의 시야선(440)에 의해 표시되는 객체(1005)로부터 좌측 시점(402)으로 이동하는 광선에 대한 정보를 포함하는 합성 뷰를 생성한다. 객체(1005)로부터 우측 시점(404)으로 이동하는 광선에 관한 정보는 그것이 시야선(445)과 교차함에 따라 합성 카메라(430)에 의해 유사하게 캡처될 수 있다. 관련 광선에 관한 광 정보를 포함하는 합성 뷰 내의 정확한 픽셀이나 영역의 위치는 예컨대, 삼각측량법을 사용하여 계산될 수 있다. 일부 실시예로, 객체(1005)와 좌측 시점(402) 사이의 광선에 관한 정보를 캡처하는 합성 카메라(425)의 합성 뷰 내의 픽셀들은 합성 뷰의 시야 및 해상도, 합성 카메라(425) 및 좌측 시점(402)에 대한 시야선(440)의 각도, 및 합성 카메라(425) 및 좌측 시점(402)의 상대적인 위치에 기반하여 계산된다.
도 11은 일부 실시예에 따른 예시적인 캔버스 뷰를 도시하는 라인 다이어그램이다. 예컨대, 도 11의 캔버스 뷰(1100)는 도 10에 도시된 카메라(310-317)에 의해 캡처된 원래의 카메라 뷰 세트에 기반하여 생성되는 예시적인 캔버스 뷰를 나타낼 수 있다. 캔버스 뷰(1100)는 시점에서 광 정보를 근사화하는 예시적인 캔버스 뷰이며, 구체적으로는 캔버스 뷰(1100)는 각도(1020, 1025)와 각각 연관되는 2개의 객체(1005, 1010)를 포함한다.
예컨대, 캔버스 뷰(1100) 내의 Φ(1020) 및 Φ(1025)와 연관된 영역은 도 10의 장면 내에서 객체(1005, 1010)에 관한 광 정보를 근사화할 수 있다. 캔버스 뷰(1100)의 연관된 영역 각각은 적절한 합성 카메라의 합성 뷰로부터의 광 정보에 기반하여 생성될 수 있다. 예컨대, Φ(1020)와 연관된 영역은 합성 카메라(425)의 특정 영역으로부터 생성될 수 있다.
도 12는 일실시예에 따른 객체의 뷰에서 동공 간 거리를 변경하는 효과를 도시하는 라인 다이어그램이다. 다이어그램(1200)은 원점(305), 제1 시점(1202), 제2 시점(1204), 제1 및 제2 동공 간 거리(1205, 1210), 객체(1215), 제1 및 제2 합성 카메라(1220, 1225), 제1 및 제2 합성 뷰(1230, 1235), 및 합성 뷰 내의 제1 및 제2 선택된 영역(1240, 1245)을 포함한다.
일부 실시예로, 동공 간 거리는 캔버스 뷰가 생성되는 시점의 위치를 결정한다. 예컨대, 제1 동공 간 거리(1205) 및 제2 동공 간 거리(1210)는 캔버스 뷰 생성을 위한 시점의 위치를 알리기 위해 사용되는 2개의 동공 간 거리일 수 있다. 제1 시점(1202)은 제1 동공 간 거리(1205)와 연관될 수 있고, 유사하게 제2 시점(1204)은 제2 동공 간 거리(1210)와 연관될 수 있다. 유사하게, 시점을 상이하게 하는 것은 시점에서 광 정보를 근사화하기 위해 상이한 광 정보를 요구할 수 있고, 결국 상이한 합성 뷰들이 계산될 것을 요구할 수 있다.
합성 카메라 위치 가령, 제1 합성 카메라(1220) 및 제2 합성 카메라(1225)의 위치는 몇몇 요인들에 기반하여 계산될 수 있다. 예컨대, 제1 합성 카메라(1220)는, 제1 합성 카메라가 객체(1215)로부터 제1 시점(1202)으로 이동하는 광선을 가로채도록 배치되고 관련 광 정보를 캡처하도록 배향됨에 따라 제1 시점(1202)으로부터 보여지는 객체(1215)로부터의 광 정보를 캡처할 수 있다. 유사하게, 제2 합성 카메라(1225)는 제2 시점(1204)으로부터 객체(1215)에 관한 광 정보를 캡처하도록 배치된다. 예컨대, 상이한 동공 간 거리의 선택에 기반하는 제1 및 제2 시점(1202, 1204)의 상이한 위치로 인해, 제1 및 제2 합성 카메라(1220, 1225) 모두는 객체(1215)에 대한 것이지만 시점 위치에 따라 상이한 위치로부터의 광 정보를 캡처한다.
추가로, 캔버스 뷰의 특정 시점에 대한 관련 광 정보를 캡처하는 다수의 가능한 합성 카메라 위치 및 배향이 있을 수 있고, 예컨대, 캡처될 광선이나 광선들을 각 합성 카메라 위치가 따른다. 제1 합성 카메라(1220)의 위치 및 배향은 추가적으로 요인, 가령 합성 뷰의 계산의 용이성, 이미지 캡처 시스템(105)의 카메라 위치나 다른 합성 카메라 위치와의 일관성, 또는 임의의 다른 적절한 이유에 기반하여 선택될 수 있다. 예컨대, 각 합성 카메라는 이미지 캡처 시스템(105) 상에 장착된 실제 카메라와의 일관성을 유지하기 위해 외부로 직접 배향된 링(303) 상에서 선택된 위치를 가질 수 있다. 유사하게, 합성 카메라 위치는 계산의 용이성에 기반하여 선택될 수 있고, 예컨대, 근처의 기존 카메라 뷰와 가장 가까운 합성 카메라 위치가 선택된다.
일단 합성 카메라 위치가 결정되면, 합성 뷰 내에서 어떤 픽셀이나 영역이 관련 광 정보를 포함하는지의 계산은 다양한 요인들에 기반할 수 있다. 합성 뷰에 대한 원하는 광 정보의 각도, 카메라 뷰의 시야 및 렌즈 왜곡, 및 카메라 뷰를 캡처하는 카메라의 위치 모두가 합성 뷰 내에서 어떤 영역들이 현재 시점에 대한 관련 광 정보를 포함하는지에 영향을 줄 수 있다. 예컨대, 객체(1215)의 위치, 제1 시점(1202) 및 제1 합성 카메라(1220)의 배향은 원하는 광 정보를 포함하는 제1 합성 카메라 뷰(1230)의 제1 선택된 영역(1240)을 발생시킬 수 있다. 본 예시에서, 제1 합성 영역(1240)의 위치는, 제1 합성 카메라 뷰(1220)의 시야의 우측 가장자리에 원하는 광 정보의 각도가 가깝기 때문에 제1 합성 카메라 뷰(1230)의 우측 가장자리에 가깝다. 유사하게, 제2 시점(1204)에 대한 객체(1215)의 위치 및 제2 합성 카메라(1225)의 배향은 또한, 제2 합성 카메라 뷰(1235)의 어떤 영역들이 원하는 광 정보를 포함하는지를 결정한다. 다이어그램(1200)의 예시에서, 제2 합성 카메라 뷰(1235) 내의 제2 선택된 영역(1245)은 원하는 광 정보를 포함한다.
일부 실시예로, 삼각측량 계산이 합성 뷰 내의 특정 영역의 위치를 결정하도록 적용된다.
도 13은 일실시예에 따른 카메라 뷰에 기반하여 캔버스 뷰를 계산하기 위한 예시적인 프로세스를 도시하는 라인 다이어그램이다. 다이어그램(1300)은 원래의 카메라 뷰(1305), 합성 뷰(1310), 캔버스 뷰(1315), 캔버스 뷰의 영역(1316), 합성 뷰 맵핑(1320) 및 캔버스 뷰 계산(1325)을 포함한다.
도 13의 실시예에서, 원래의 카메라 뷰(1305)는 캔버스 뷰 생성 시스템(110)이 캔버스 뷰를 계산하는데 사용하는 이미지 캡처 시스템(105)에 의해 캡처된 카메라 뷰 세트일 수 있다. 예컨대, 원래의 카메라 뷰(1305)는 오버랩되는 시야들을 갖는 카메라 뷰를 포함할 수 있어서, 원래의 카메라 뷰(1305) 세트가 캔버스 뷰로 블렌딩되도록 허용한다. 캔버스 뷰(1316)의 영역을 계산하기 위해, 캔버스 뷰(1316)의 영역에 대한 광 정보를 캡처하는 대응되는 합성 뷰(1310)는 합성 뷰 계산(1320)을 사용하여 원래의 카메라 뷰(1305)로부터 계산될 수 있다. 일부 실시예로, 합성 뷰 계산(1310)은 원래의 카메라 뷰(1305)와 광학 흐름에 기반하여 새로운 뷰 생성 모듈(240)에 의해 수행된다. 일단 합성 뷰(1310)가 필요한 합성 카메라에 대해 계산되면, 캔버스 뷰(1316)의 영역은 캔버스 뷰 계산(1325)을 사용하여 계산될 수 있다. 전술한 바와 같이, 캔버스 뷰(1316)의 영역에 대한 광 정보를 포함하는 합성 뷰(1310) 내의 영역의 위치가 합성 카메라의 상대적인 위치 및 캔버스 뷰(1315)의 연관된 시점에 기반하여 삼각측량 방법에 의해 계산될 수 있다.
일부 실시예로, 도 13의 프로세스는 모든 영역이 계산될 때까지 캔버스 뷰(1315)의 각 영역에 대해 순차적으로 반복된다. 하지만, 다른 구현에서 다른 계산 프로세스가 캔버스 뷰를 생성하는데 사용될 수 있고, 예컨대 고정된 합성 뷰 세트가 계산될 수 있거나 필요한 합성 뷰가 캔버스 뷰(1315)가 조립되기 전에 한 번에 결정되어 계산된다. 효과적으로, 도 13의 프로세스는 원래의 카메라 뷰(1405)의 픽셀 강도 정보를 변경하는 2개의 단계 또는 맵핑을 수반하는데, 우선 원래의 뷰(1305)로부터 픽셀을 합성 뷰(1310) 세트로 맵핑하고 이후 합성 뷰(1310) 세트로부터의 픽셀을 캔버스 뷰(1315)로 맵핑하는 것이다. 맵핑은 다른 뷰에서의 특정 픽셀들에 기반하여 하나의 뷰에서 픽셀을 생성하는 픽셀-수준 동작일 수 있다. 도 13의 프로세스는 효과적이지만, 캔버스 뷰(1315)에서 사용되지 않는 합성 뷰(1310)의 다수의 불필요한 영역들의 계산, 예컨대 최종 캔버스 뷰로 통합되지 않을 합성 뷰에서의 픽셀들을 계산하는 것을 발생시킬 수 있다. 완성된 합성 뷰(1310)가 합성 뷰 내에 어떤 영역이 관련 광 정보를 포함하는 지의 계산에 앞서 생성됨에 따라, 본 방법은 캔버스 뷰(1315)의 계산 내에 오버헤드로 추가적인 프로세싱을 도입할 수 있다.
도 14는 일실시예에 따른 카메라 뷰에 기반하여 캔버스 뷰를 계산하기 위한 제2 예시적인 프로세스를 도시하는 라인 다이어그램이다. 다이어그램(1400)은 원래의 카메라 뷰(1405), 선택된 픽셀(1406), 합성 뷰(1410), 캔버스 뷰(1415), 합성 뷰의 영역(1411), 캔버스 뷰의 영역(1416), 합성 뷰 맵핑(1425), 캔버스 뷰 맵핑(1430), 리맵핑 프로세스(1435) 및 조합된 맵핑(1440)을 포함한다. 도 14의 프로세스는 카메라 뷰 내의 픽셀들에 대해 수행되는 계산 단계의 수를 감소시키고, 캔버스 뷰(1410)로 최종적으로 통합되지 않을 불필요한 픽셀들의 계산을 감소시키는 것 둘 모두에 의하여 도 13의 프로세스에 비해 캔버스 뷰(1410)를 계산하는데 요구되는 프로세싱 전력을 감소시킬 수 있다.
도 14의 구현에서, 캔버스 뷰(1415)의 영역을 계산하기 위해, 조합된 맵핑(1440)이 원래의 카메라 뷰(1405)에 적용되어, 원래의 카메라 뷰(1405)의 관련된 픽셀들로부터 캔버스 뷰(1315)의 영역을 직접 생성한다. 일부 실시예로, 조합된 맵핑(1440)은 예컨대, 선택된 픽셀(1406)에 의해 나타나는 것처럼, 캔버스 뷰(1415) 내의 각 픽셀이나 영역을 원래의 카메라 뷰(1405) 내의 하나 이상의 픽셀이나 영역으로 맵핑하는 벡터 필드이다. 일부 구현에서, 원래의 카메라 뷰(1405) 내의 다수의 픽셀들은 캔버스 뷰 내의 단일 픽셀로 맵핑될 수 있고, 예컨대 캔버스 뷰(1415) 내의 하나의 픽셀은 원래의 카메라 뷰(1405)의 제1 카메라 뷰 내의 픽셀의 75%와 원래의 카메라 뷰의 제2 카메라 뷰 내의 다른 픽셀의 25%의 블렌드와 연관될 수 있다. 조합된 맵핑(1440)은 캔버스 뷰(1415)의 픽셀 강도 값이 단일 맵핑 동작에서 원래의 카메라 뷰(1405) 내의 선택된 픽셀(1406)의 픽셀 강도 값으로부터 계산되도록 허용할 수 있다.
일부 구현에서, 조합된 맵핑(1440)은 캔버스 뷰 맵핑(1430)과 합성 뷰 맵핑(1425)에 기반하여 생성된다. 캔버스 뷰 맵핑(1430)은 합성 뷰(1411)의 대응되는 영역과 캔버스 뷰의 영역(1416)을 연관시키는 맵핑일 수 있고, 합성 뷰 맵핑(1425)은 원래의 카메라 뷰(1405) 내의 픽셀을 합성 뷰(1411)의 영역과 연관시키는 맵핑일 수 있다. 합성 뷰 맵핑(1425)과 캔버스 뷰 맵핑(1430)은 도 12의 캔버스 뷰 계산(1325)과 합성 뷰 계산(1320)과 유사한 기술들에 의해 생성될 수 있다. 일부 실시예로, 합성 뷰의 영역은 픽셀들의 수직 칼럼이지만, 합성 뷰의 영역은 또한, 픽셀의 높이의 함수일 수 있어서, 시프팅된 픽셀들의 칼럼을 생성한다.
전술한 것처럼, 합성 뷰(1410)는 원래의 카메라 뷰 사이에서 계산된 광학 흐름과 원래의 카메라 뷰(1405)에 기반하여 계산될 수 있다. 유사한 기술이 합성 뷰 맵핑(1425)을 생성하는데 사용될 수 있다. 전술한 바와 같이, 합성 뷰(1410)에 대한 합성 뷰 맵핑(1425) 또는 합성 뷰(1411)의 영역이 새로운 뷰 생성 모듈(240)에 의해 생성될 수 있다. 일부 구현에서, 합성 뷰 맵핑(1425)은 합성 뷰(1410)에 대한 임의의 픽셀 강도 값의 계산 없이 발생한다. 유사하게, 캔버스 뷰 맵핑(1430)은 캔버스 뷰의 영역과 연관된 합성 뷰(1411)의 정확한 영역을 결정하기 위해 합성 뷰의 위치 및 삼각측량 방법을 사용하여 생성될 수 있다.
캔버스 뷰의 영역(1416)에 대한 캔버스 뷰 맵핑(1430)과 합성 뷰 맵핑(1425)의 계산 후에 캔버스 뷰의 영역(1416)에 대한 조합된 맵핑(1440)이 리맵핑 프로세스(1430)를 사용하여 생성될 수 있다. 리맵핑 프로세스(1435)는 이후 캔버스 뷰(1415)의 각 영역에 대한 맵핑 정보를 포함하는 조합된 맵핑(1440)을 생성하기 위해 캔버스 뷰(1415) 내의 각각의 다른 영역에 대해 반복될 수 있다. 일부 실시예로, 합성 뷰 맵핑(1425)과 캔버스 뷰 맵핑(1430)은, 각 맵핑이 픽셀 위치를 연관시키지만 이러한 위치들에 대한 픽셀 강도 값들을 이전하거나 계산하지 않는 벡터 필드이므로 캔버스 뷰(1415) 또는 합성 뷰(1410)에 대한 어떠한 픽셀 강도 값을 계산하는 것도 수반하지 않는다.
리맵핑 프로세스 후에 조합된 맵핑(1440)이 원래의 카메라 뷰(1405) 내의 선택된 픽셀(1406)에 기반하여 캔버스 뷰(1415)에 대한 픽셀 강도 정보를 생성하기 위해 원래의 카메라 뷰(1405)에 적용될 수 있다. 일부 실시예로, 캔버스 뷰(1415)의 픽셀 강도 값은 합성 뷰(1410)의 픽셀 강도 값의 중간 계산 없이 원래의 카메라 뷰(1405) 내의 선택된 픽셀(1406)의 픽셀 강도 값으로부터 직접 계산된다.
도 15는 일실시예에 따른 카메라 뷰에 기반하여 캔버스 뷰를 계산하기 위한 프로세스를 도시하는 흐름도이다. 프로세스(1500)는 광 정보 근사화 시스템(260)이 캔버스 뷰를 그로부터 생성하는 카메라 이미지를 수신(1505)할 때 시작된다. 광학 흐름 계산 모듈(250)은 이후 수신된 카메라 뷰 세트 내의 인접한 카메라 뷰들 사이의 광학 흐름을 계산한다(1515). 예컨대, 광학 흐름 계산 모듈(250)은 도 9와 관련하여 기술되는 프로세스(900)와 같은 반복 프로세스에 기반하여 광학 흐름을 계산할 수 있다. 이후, 광 정보 근사화 모듈(260)은 캔버스 뷰를 생성하기 위해 어떤 합성 뷰가 필요한지를 결정할 수 있고(1515), 이후 필요한 합성 뷰 내의 어떠한 특정 픽셀이나 영역이 관련 광 정보를 캡처하는지를 더 계산한다(1520). 필요한 픽셀과 수신된 카메라 뷰 사이의 맵핑이 예컨대, 새로운 뷰 생성 모듈(260)에 의해 이후 계산될 수 있다(1525). 이전에 계산된 맵핑에 기반하여, 광 정보 근사화 모듈(260)은 이후 수신된 카메라 뷰와 캔버스 뷰 사이의 조합된 맵핑을 생성할 수 있다(1530). 마지막으로, 캔버스 뷰(1535)는 광 정보 근사화 모듈(260)에 의해 생성될 수 있다.
결론
본 발명의 실시예들의 상술한 설명은 예시의 목적으로 제시된 것으로, 배타적이거나 개시된 정확한 형태들로 본 발명을 제한하고자 하는 것이 아니다. 당업자는 상술한 명세서의 관점에서 많은 변경 및 변형이 가능함을 이해할 수 있다.
본 명세서의 몇몇 부분들은 알고리즘 또는 정보에 대한 동작의 기호적 표현으로 본 발명의 실시예들을 설명한다. 이러한 알고리즘적 설명이나 표현은 본 기술분야에서 통상의 지식을 가진 자들에게 효과적으로 그들의 작업의 실체를 전달하기 위하여 데이터 프로세싱 기술분야에서 통상의 지식을 가진 자에 의하여 공통적으로 사용되는 것이다. 기능적으로, 계산적으로 또는 논리적으로 설명되고 있는 이들 동작은 컴퓨터 프로그램 또는 등가의 전기 회로, 마이크로 코드 등에 의해 구현되는 것으로 이해된다. 또한, 종종 이러한 동작의 배열은 일반성의 손실 없이 모듈로 언급될 수 있는 것으로 확인된다. 기술된 동작 및 그와 관련된 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 결합으로 구현될 수 있을 것이다.
본 명세서에 설명된 임의의 단계들, 동작들 또는 프로세스들은 하나 이상의 하드웨어 또는 소프트웨어 모듈들에 의해 또는 이들과 다른 장치들의 결합에 의해 수행되거나 구현될 수 있다. 일실시예에서, 소프트웨어 모듈은 기술된 단계들, 동작들 또는 프로세스들 일부 또는 전부를 수행하기 위하여 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 제품으로 구현된다.
본 발명에 기술된 실시예들은 또한, 본 명세서의 동작들을 수행하기 위한 장치와 관련될 수 있다. 이 장치는 요청된 목적을 위하여 구체적으로 구성될 수 있고/있거나 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨팅 장치를 포함할 수 있다. 이런 컴퓨터 프로그램은 비-일시적 유형의 컴퓨터 판독가능한 저장 매체 또는 컴퓨터 시스템 버스에 결합될 수 있는 전자 명령어를 저장하기에 적절한 임의의 타입의 매체에 저장될 수 있다. 게다가, 본 명세서에서 언급된 임의의 컴퓨팅 시스템들은 단일 프로세서를 포함할 수 있거나, 증가한 컴퓨팅 능력을 위해 다중 프로세서 설계를 채용한 구조일 수 있다.
또한, 본 발명의 실시예들은 본 명세서에 기술된 컴퓨팅 프로세스에 의해 생산된 제품에 관한 것일 수 있다. 이런 제품은 컴퓨팅 프로세스의 처리 결과인 정보를 포함할 수 있으며, 여기서 정보는 비-일시적, 유형의 컴퓨터 판독가능한 저장 매체에 저장되고 본 명세서에 개시된 컴퓨터 프로그램 제품 또는 다른 데이터 조합의 임의의 실시예를 포함할 수 있다.
마지막으로, 본 명세서에서 사용된 언어는 원칙적으로 읽기 쉬운 지침상의 목적으로 선택되었으며, 발명의 요지를 상세히 설명하거나 제한하려고 선택된 것은 아닐 수 있다. 따라서, 본 발명의 범위는, 본 발명의 상세한 설명에 의해 제한되는 것이 아니며, 본 출원이 기초로 하는 제출되는 청구범위에 의해 정의되는 것으로 의도되었다. 따라서, 본 발명의 실시예들의 개시는 설명을 위한 것이며, 본 발명의 범위를 제한하고자 하는 것이 아니다. 본 발명의 범위는 이하의 청구범위에 개시된다.

Claims (34)

  1. 각각 픽셀 세트를 구비하는 제1 카메라 뷰와 제2 카메라 뷰를 수신하는 단계;
    제1 카메라 뷰의 픽셀을 제2 카메라 뷰의 픽셀로 맵핑하는 광학 흐름을 초기화하는 단계; 및
    제1 카메라 뷰의 픽셀의 순서화된 시퀀스에 따라 제1 카메라 뷰의 각 픽셀에 대한 광학 흐름을 최적화하는 단계를 포함하고,
    각 픽셀에 대한 광학 흐름을 최적화하는 단계는:
    픽셀에 대한 광학 흐름 제안 세트를 생성하는 단계;
    광학 흐름 제안 세트의 각 광학 흐름 제안을 분석하는 단계; 및
    광학 흐름 제안 세트 중 선택된 광학 흐름 제안에 기반하여 픽셀에 대한 광학 흐름을 업데이트하는 단계를 포함하고,
    각 카메라 뷰는 카메라에 의해 캡처된 이미지를 나타내고, 카메라 뷰가 캡처된 위치와 연관되며,
    각 광학 흐름 제안은 픽셀을 제2 카메라 뷰의 픽셀로 맵핑하고, 광학 흐름 제안 세트는 순서화된 시퀀스 내의 하나 이상의 이전의 픽셀과 연관된 광학 흐름 제안을 포함하는 광학 흐름을 생성하기 위한 방법.
  2. 제 1 항에 있어서,
    광학 흐름은, 픽셀과 다른 카메라 뷰의 대응되는 픽셀 사이의 변위를 부여하는 광학 흐름 벡터와 카메라 뷰의 각 픽셀을 연관시키는 벡터 필드인 광학 흐름을 생성하기 위한 방법.
  3. 제 2 항에 있어서,
    픽셀에 대한 광학 흐름 제안 세트는 픽셀의 상부 이웃과 연관되는 광학 흐름 벡터, 픽셀의 좌측 이웃과 연관되는 광학 흐름 벡터 및 현재 광학 흐름 벡터의 랜덤 섭동(perturbation)을 포함하는 광학 흐름을 생성하기 위한 방법.
  4. 제 1 항에 있어서,
    데이터와 조직화 항들을 포함하는 변분 최적화 문제를 확립하는 단계를 더 포함하는 광학 흐름을 생성하기 위한 방법.
  5. 제 4 항에 있어서,
    픽셀에 대한 광학 흐름을 업데이트하는 단계는 변분 최적화 문제를 솔루션으로 가장 가깝게 이동시키는 광학 흐름 제안을 선택하는 단계를 포함하는 광학 흐름을 생성하기 위한 방법.
  6. 제 1 항에 있어서,
    광학 흐름에 중간값 필터를 적용하는 단계를 더 포함하는 광학 흐름을 생성하기 위한 방법.
  7. 제 1 항에 있어서,
    제1 카메라 뷰와 제2 카메라 뷰를 수신하는 단계는 제1 및 제2 카메라 뷰를 포함하는 카메라 뷰 세트를 수신하는 단계를 포함하고, 카메라 뷰 세트의 각각의 다른 카메라 뷰에 대한 광학 흐름을 초기화하고 최적화하는 단계를 더 포함하는 광학 흐름을 생성하기 위한 방법.
  8. 제 1 항에 있어서,
    제1 카메라 뷰의 픽셀에 대한 광학 흐름은 상부 좌측 픽셀로부터 시작되어 제1 카메라 뷰의 하부 우측 픽셀로 진행하며 순서화된 시퀀스에서 최적화되는 광학 흐름을 생성하기 위한 방법.
  9. 제 1 항에 있어서,
    광학 흐름 품질의 측정이 임계 점수에 도달할 때까지 제1 카메라 뷰의 각 픽셀에 대한 광학 흐름을 최적화하는 단계를 더 포함하는 광학 흐름을 생성하기 위한 방법.
  10. 제 1 항에 있어서,
    광학 흐름을 초기화하는 단계는:
    저해상도 광학 흐름을 스케일링 업하는 단계; 및
    저해상도 광학 흐름 내에서 광학 흐름 벡터의 크기를 비례하여 증가시키는 단계를 포함하는 광학 흐름을 생성하기 위한 방법.
  11. 각각 픽셀 세트를 구비하는 제1 카메라 뷰와 제2 카메라 뷰를 수신하도록 구성된 입력 모듈;
    제1 카메라 뷰의 픽셀을 제2 카메라 뷰의 대응되는 픽셀로 맵핑하는 광학 흐름을 초기화하고; 및
    제1 카메라 뷰의 픽셀의 순서화된 시퀀스에 따라 제1 카메라 뷰의 각 픽셀에 대한 광학 흐름을 최적화하도록 구성된 광학 흐름 계산 모듈을 포함하고,
    각 픽셀에 대한 광학 흐름을 최적화하는 것은:
    픽셀에 대한 광학 흐름 제안 세트를 생성하고;
    광학 흐름 제안 세트의 각 광학 흐름 제안을 분석하고; 및
    광학 흐름 제안 세트 중 선택된 광학 흐름 제안에 기반하여 픽셀에 대한 광학 흐름을 업데이트하는 것을 포함하고,
    각 카메라 뷰는 카메라에 의해 캡처된 이미지를 나타내고, 카메라 뷰가 캡처된 위치와 연관되며,
    각 광학 흐름 제안은 픽셀을 제2 카메라 뷰의 픽셀로 맵핑하고, 광학 흐름 제안 세트는 순서화된 시퀀스 내의 하나 이상의 이전의 픽셀과 연관된 광학 흐름 제안을 포함하는 시스템.
  12. 제 11 항에 있어서,
    광학 흐름은, 픽셀과 다른 카메라 뷰의 대응되는 픽셀 사이의 변위를 부여하는 광학 흐름 벡터와 카메라 뷰의 각 픽셀을 연관시키는 벡터 필드인 시스템.
  13. 제 12 항에 있어서,
    픽셀에 대한 광학 흐름 제안 세트는 픽셀의 상부 이웃과 연관되는 광학 흐름 벡터, 픽셀의 좌측 이웃과 연관되는 광학 흐름 벡터 및 현재 광학 흐름 벡터의 랜덤 섭동(perturbation)을 포함하는 시스템.
  14. 제 11 항에 있어서,
    광학 흐름 계산 모듈은 데이터와 조직화 항들을 포함하는 변분 최적화 문제를 확립하도록 또한, 구성되는 시스템.
  15. 제 14 항에 있어서,
    픽셀에 대한 광학 흐름을 업데이트하는 것은 변분 최적화 문제를 솔루션으로 가장 가깝게 이동시키는 광학 흐름 제안을 결정하는 것을 포함하는 시스템.
  16. 제 11 항에 있어서,
    광학 흐름에 중간값 필터를 적용하는 것을 더 포함하는 시스템.
  17. 제 11 항에 있어서,
    제1 카메라 뷰와 제2 카메라 뷰를 수신하는 것은 제1 및 제2 카메라 뷰를 포함하는 카메라 뷰 세트를 수신하는 것을 포함하고,
    광학 흐름 계산 모듈은 카메라 뷰 세트의 각각의 다른 카메라 뷰에 대한 광학 흐름을 초기화하고 최적화하도록 또한, 구성되는 시스템.
  18. 제 11 항에 있어서,
    제1 카메라 뷰의 픽셀에 대한 광학 흐름은 상부 좌측 픽셀로부터 시작되어 제1 카메라 뷰의 하부 우측 픽셀로 진행하며 순서화된 시퀀스로 최적화되는 시스템.
  19. 제 11 항에 있어서,
    광학 흐름 계산 모듈은 광학 흐름 품질의 측정이 임계 점수에 도달할 때까지 제1 카메라 뷰의 각 픽셀에 대한 광학 흐름을 최적화하도록 또한, 구성되는 시스템.
  20. 제 11 항에 있어서,
    광학 흐름을 초기화하는 것은:
    저해상도 광학 흐름을 스케일링 업하는 것; 및
    저해상도 광학 흐름 내에서 광학 흐름 벡터의 크기를 비례하여 증가시키는 것을 포함하는 시스템.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
KR1020187030620A 2016-04-06 2017-03-27 이미지 사이의 광학 흐름의 효율적 결정 KR101956149B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662319074P 2016-04-06 2016-04-06
US62/319,074 2016-04-06
US15/096,167 US10165258B2 (en) 2016-04-06 2016-04-11 Efficient determination of optical flow between images
US15/096,167 2016-04-11
PCT/US2017/024306 WO2017176484A1 (en) 2016-04-06 2017-03-27 Efficient determination of optical flow between images

Publications (2)

Publication Number Publication Date
KR20180119696A KR20180119696A (ko) 2018-11-02
KR101956149B1 true KR101956149B1 (ko) 2019-03-08

Family

ID=59998771

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020187030619A KR101994121B1 (ko) 2016-04-06 2017-03-27 중간 뷰로부터의 효율적인 캔버스 뷰 생성
KR1020187030620A KR101956149B1 (ko) 2016-04-06 2017-03-27 이미지 사이의 광학 흐름의 효율적 결정
KR1020187031469A KR102003015B1 (ko) 2016-04-06 2017-04-06 광류를 사용한 중간 뷰의 생성

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020187030619A KR101994121B1 (ko) 2016-04-06 2017-03-27 중간 뷰로부터의 효율적인 캔버스 뷰 생성

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187031469A KR102003015B1 (ko) 2016-04-06 2017-04-06 광류를 사용한 중간 뷰의 생성

Country Status (11)

Country Link
US (3) US10165258B2 (ko)
EP (1) EP3295662A4 (ko)
JP (3) JP6563609B2 (ko)
KR (3) KR101994121B1 (ko)
CN (3) CN109314752B (ko)
AU (3) AU2017246715A1 (ko)
BR (3) BR112018069568A2 (ko)
CA (3) CA3018965C (ko)
IL (3) IL261752A (ko)
MX (3) MX2018012153A (ko)
WO (3) WO2017176484A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934615B2 (en) * 2016-04-06 2018-04-03 Facebook, Inc. Transition between binocular and monocular views
US10187629B2 (en) * 2016-04-06 2019-01-22 Facebook, Inc. Camera calibration system
CN107316273B (zh) * 2016-04-27 2021-05-18 深圳看到科技有限公司 全景图像采集装置及采集方法
KR102312471B1 (ko) * 2016-07-01 2021-10-14 페이스북, 인크. 입체 이미지 캡처
JP6918455B2 (ja) * 2016-09-01 2021-08-11 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
WO2018067680A1 (en) 2016-10-05 2018-04-12 Hidden Path Entertainment, Inc. System and method of capturing and rendering a stereoscopic panorama using a depth buffer
BR112019006420A2 (pt) * 2017-01-25 2019-06-25 Hewlett Packard Development Co regiões de transmissão de luz para passagem de luz para câmeras
US10275856B2 (en) * 2017-08-03 2019-04-30 Facebook, Inc. Composited animation
US10733714B2 (en) * 2017-11-09 2020-08-04 Samsung Electronics Co., Ltd Method and apparatus for video super resolution using convolutional neural network with two-stage motion compensation
JP7363770B2 (ja) * 2018-03-28 2023-10-18 ソニーグループ株式会社 演算装置、演算方法およびプログラム
US11893704B2 (en) * 2019-02-21 2024-02-06 Korea Advanced Institute Of Science And Technology Image processing method and device therefor
US20220092796A1 (en) * 2019-02-21 2022-03-24 Korea Advanced Institute Of Science And Technology Image Processing Method and Device Thereof
CN110428452B (zh) * 2019-07-11 2022-03-25 北京达佳互联信息技术有限公司 非静态场景点的检测方法、装置、电子设备及存储介质
WO2021031210A1 (zh) * 2019-08-22 2021-02-25 深圳市铂岩科技有限公司 视频处理方法和装置、存储介质和电子设备
FR3106014A1 (fr) * 2020-01-02 2021-07-09 Orange Synthèse itérative de vues à partir de données d’une vidéo multi-vues
US11758101B2 (en) * 2020-08-25 2023-09-12 Samsung Electronics Co., Ltd. Restoration of the FOV of images for stereoscopic rendering
WO2022186417A1 (ko) * 2021-03-03 2022-09-09 (주)디피어소시에이츠 초고화질 이미지를 이용한 실감형 컨텐츠 제공 방법 및 시스템
KR102336156B1 (ko) * 2021-03-03 2021-12-07 (주)디피어소시에이츠 초고화질 이미지 구현 방법 및 시스템
DE112021007132T5 (de) * 2021-06-09 2023-12-21 Nvidia Corporation Berechnung der bewegung von pixeln zwischen bildern
CN113724287B (zh) * 2021-09-02 2022-07-01 北京华云星地通科技有限公司 一种卫星云图预测方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003287612A (ja) 2002-03-27 2003-10-10 Olympus Optical Co Ltd 撮像装置及び撮像系調整システム及び撮像系調整方法
US20110002544A1 (en) 2009-07-01 2011-01-06 Fujifilm Corporation Image synthesizer and image synthesizing method
US20110043604A1 (en) 2007-03-15 2011-02-24 Yissum Research Development Company Of The Hebrew University Of Jerusalem Method and system for forming a panoramic image of a scene having minimal aspect distortion

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5703961A (en) * 1994-12-29 1997-12-30 Worldscape L.L.C. Image transformation and synthesis methods
US5760826A (en) 1996-05-10 1998-06-02 The Trustees Of Columbia University Omnidirectional imaging apparatus
US6389179B1 (en) 1996-05-28 2002-05-14 Canon Kabushiki Kaisha Image combining apparatus using a combining algorithm selected based on an image sensing condition corresponding to each stored image
ATE280978T1 (de) 1997-01-30 2004-11-15 Yissum Res Dev Co Mosaikbildverarbeitungssystem
US6269175B1 (en) 1998-08-28 2001-07-31 Sarnoff Corporation Method and apparatus for enhancing regions of aligned images using flow estimation
US7015954B1 (en) * 1999-08-09 2006-03-21 Fuji Xerox Co., Ltd. Automatic video system using multiple cameras
US7133068B2 (en) 2000-03-06 2006-11-07 Sony Corporation System and method for creating still images by utilizing a video camera device
US6559846B1 (en) * 2000-07-07 2003-05-06 Microsoft Corporation System and process for viewing panoramic video
US7085409B2 (en) 2000-10-18 2006-08-01 Sarnoff Corporation Method and apparatus for synthesizing new video and/or still imagery from a collection of real video and/or still imagery
US6760026B2 (en) * 2001-01-02 2004-07-06 Microsoft Corporation Image-based virtual reality player with integrated 3D graphics objects
US6947059B2 (en) * 2001-08-10 2005-09-20 Micoy Corporation Stereoscopic panoramic image capture device
JP2003067752A (ja) * 2001-08-28 2003-03-07 Yazaki Corp 車両周辺監視装置
JP4148671B2 (ja) 2001-11-06 2008-09-10 ソニー株式会社 表示画像制御処理装置、動画像情報送受信システム、および表示画像制御処理方法、動画像情報送受信方法、並びにコンピュータ・プログラム
US20060020562A1 (en) * 2004-07-21 2006-01-26 University Of Southern Mississippi Apparatus and method for estimating optical flow
US8027531B2 (en) 2004-07-21 2011-09-27 The Board Of Trustees Of The Leland Stanford Junior University Apparatus and method for capturing a scene using staggered triggering of dense camera arrays
EP2005361A1 (de) * 2006-03-22 2008-12-24 Daimler AG Multisensorieller hypothesen-basierter objektdetektor und objektverfolger
KR100790890B1 (ko) * 2006-09-27 2008-01-02 삼성전자주식회사 파노라마 영상 생성장치 및 방법
US8457410B2 (en) 2007-02-14 2013-06-04 Technion Research And Development Foundation Ltd. Over-parameterized variational optical flow method
US8274530B2 (en) 2007-03-12 2012-09-25 Conversion Works, Inc. Systems and methods for filling occluded information for 2-D to 3-D conversion
JP2008276308A (ja) * 2007-04-25 2008-11-13 Sanyo Electric Co Ltd 動画像処理装置、動画像処理システムおよびナビゲーション装置
CN101146231A (zh) * 2007-07-03 2008-03-19 浙江大学 根据多视角视频流生成全景视频的方法
US8531449B2 (en) * 2007-12-18 2013-09-10 Navteq B.V. System and method for producing multi-angle views of an object-of-interest from images in an image dataset
US20090296989A1 (en) * 2008-06-03 2009-12-03 Siemens Corporate Research, Inc. Method for Automatic Detection and Tracking of Multiple Objects
EP2209091B1 (en) 2009-01-16 2012-08-08 Honda Research Institute Europe GmbH System and method for object motion detection based on multiple 3D warping and vehicle equipped with such system
JP2010204805A (ja) * 2009-03-02 2010-09-16 Konica Minolta Holdings Inc 周辺監視装置および該方法
US20100265313A1 (en) 2009-04-17 2010-10-21 Sony Corporation In-camera generation of high quality composite panoramic images
JP5510238B2 (ja) * 2010-09-22 2014-06-04 ソニー株式会社 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
US8736767B2 (en) 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
WO2012056437A1 (en) * 2010-10-29 2012-05-03 École Polytechnique Fédérale De Lausanne (Epfl) Omnidirectional sensor array system
EP2451164B1 (en) 2010-11-08 2017-05-03 Telefonaktiebolaget LM Ericsson (publ) Improved view synthesis
US9282321B2 (en) 2011-02-17 2016-03-08 Legend3D, Inc. 3D model multi-reviewer system
US9088714B2 (en) 2011-05-17 2015-07-21 Apple Inc. Intelligent image blending for panoramic photography
US8553943B2 (en) * 2011-06-14 2013-10-08 Qualcomm Incorporated Content-adaptive systems, methods and apparatus for determining optical flow
EP2721828B1 (en) * 2011-06-15 2015-07-15 Microsoft Technology Licensing, LLC High resolution multispectral image capture
US9338463B2 (en) * 2011-10-06 2016-05-10 Synopsys, Inc. Visual quality measure for real-time video processing
CN102547350B (zh) * 2012-02-02 2014-04-16 北京大学 一种基于梯度光流算法合成虚拟视点方法及立体显示装置
CA2866672A1 (en) * 2012-02-06 2013-08-15 Legend3D, Inc. Motion picture project management system
US20140375762A1 (en) * 2012-02-17 2014-12-25 Sony Corporation Information processing apparatus and method, image processing apparatus and method, and program
KR101804205B1 (ko) 2012-03-15 2017-12-04 삼성전자주식회사 영상 처리 장치 및 방법
US9098922B2 (en) 2012-06-06 2015-08-04 Apple Inc. Adaptive image blending operations
KR102070562B1 (ko) 2012-06-19 2020-01-30 삼성전자주식회사 이벤트 기반 이미지 처리 장치 및 그 장치를 이용한 방법
JP5891131B2 (ja) 2012-07-11 2016-03-22 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法
US20140098100A1 (en) 2012-10-05 2014-04-10 Qualcomm Incorporated Multiview synthesis and processing systems and methods
JP6126821B2 (ja) 2012-11-09 2017-05-10 任天堂株式会社 画像生成方法、画像表示方法、画像生成プログラム、画像生成システム、および画像表示装置
EP2765774A1 (en) 2013-02-06 2014-08-13 Koninklijke Philips N.V. System for generating an intermediate view image
EP2765775A1 (en) * 2013-02-06 2014-08-13 Koninklijke Philips N.V. System for generating intermediate view images
CN103247058B (zh) * 2013-05-13 2015-08-19 北京工业大学 一种基于误差分布式多层网格的快速光流场计算方法
US9451162B2 (en) 2013-08-21 2016-09-20 Jaunt Inc. Camera array including camera modules
EP3055763A1 (en) * 2013-10-07 2016-08-17 VID SCALE, Inc. User adaptive 3d video rendering and delivery
CN106104635B (zh) * 2013-12-06 2019-01-04 惠普发展公司,有限责任合伙企业 遮挡增强现实对象
US10176496B2 (en) * 2016-06-27 2019-01-08 Adobe Inc. Audience segmentation based on viewing angle of a user viewing a video of a multi-angle viewing environment
DE102014209137B4 (de) * 2014-05-14 2023-02-02 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zur Kalibrierung eines Kamerasystems eines Kraftfahrzeugs
US9235904B1 (en) 2014-06-20 2016-01-12 Nec Laboratories America, Inc. Object detection with Regionlets re-localization
WO2016037014A1 (en) * 2014-09-03 2016-03-10 Nextvr Inc. Methods and apparatus for capturing, streaming and/or playing back content
KR20170127505A (ko) * 2015-03-01 2017-11-21 넥스트브이알 인코포레이티드 환경 측정들을 하고 및/또는 3d 이미지 렌더링에서 이러한 측정들을 사용하기 위한 방법들 및 장치
US9626770B2 (en) 2015-04-10 2017-04-18 Apple Inc. Generating synthetic video frames using optical flow
CN104869387B (zh) * 2015-04-19 2017-01-11 中国传媒大学 基于光流法的双目图像最大视差获取方法
US9877016B2 (en) * 2015-05-27 2018-01-23 Google Llc Omnistereo capture and render of panoramic virtual reality content
US10038887B2 (en) * 2015-05-27 2018-07-31 Google Llc Capture and render of panoramic virtual reality content
US20160353146A1 (en) * 2015-05-27 2016-12-01 Google Inc. Method and apparatus to reduce spherical video bandwidth to user headset
US9704298B2 (en) * 2015-06-23 2017-07-11 Paofit Holdings Pte Ltd. Systems and methods for generating 360 degree mixed reality environments
US10217189B2 (en) 2015-09-16 2019-02-26 Google Llc General spherical capture methods
CN105261042A (zh) * 2015-10-19 2016-01-20 华为技术有限公司 光流估计的方法及装置
US20170134714A1 (en) 2015-11-11 2017-05-11 Microsoft Technology Licensing, Llc Device and method for creating videoclips from omnidirectional video
US10453185B2 (en) 2015-11-12 2019-10-22 Aquifi, Inc. System and method for high dynamic range depth capture using multiple cameras
US9881380B2 (en) 2016-02-16 2018-01-30 Disney Enterprises, Inc. Methods and systems of performing video object segmentation
US9934615B2 (en) * 2016-04-06 2018-04-03 Facebook, Inc. Transition between binocular and monocular views
US10200672B2 (en) 2016-08-17 2019-02-05 Nextvr Inc. Methods and apparatus for capturing images of an environment
US20180186472A1 (en) 2016-12-30 2018-07-05 Airmada Technology Inc. Method and apparatus for an unmanned aerial vehicle with a 360-degree camera system
US10038894B1 (en) * 2017-01-17 2018-07-31 Facebook, Inc. Three-dimensional scene reconstruction from set of two dimensional images for consumption in virtual reality
WO2018151977A1 (en) * 2017-02-14 2018-08-23 Axon Enterprise, Inc. Systems and methods for determining a field of view

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003287612A (ja) 2002-03-27 2003-10-10 Olympus Optical Co Ltd 撮像装置及び撮像系調整システム及び撮像系調整方法
US20110043604A1 (en) 2007-03-15 2011-02-24 Yissum Research Development Company Of The Hebrew University Of Jerusalem Method and system for forming a panoramic image of a scene having minimal aspect distortion
US20110002544A1 (en) 2009-07-01 2011-01-06 Fujifilm Corporation Image synthesizer and image synthesizing method

Also Published As

Publication number Publication date
AU2017246716A1 (en) 2018-11-01
CN109076172A (zh) 2018-12-21
US20170295359A1 (en) 2017-10-12
BR112018070622A2 (pt) 2019-02-05
MX370277B (es) 2019-12-09
MX2018012153A (es) 2019-02-07
US20170295354A1 (en) 2017-10-12
JP2019518358A (ja) 2019-06-27
US10165258B2 (en) 2018-12-25
KR20180119695A (ko) 2018-11-02
JP6561216B2 (ja) 2019-08-14
IL261955A (en) 2018-11-29
CN109314752A (zh) 2019-02-05
CN109076172B (zh) 2020-03-03
JP2019514116A (ja) 2019-05-30
IL261955B (en) 2019-11-28
BR112018070417A2 (pt) 2019-02-05
MX2018012149A (es) 2019-02-07
AU2017246470A1 (en) 2018-11-01
US10257501B2 (en) 2019-04-09
WO2017176975A1 (en) 2017-10-12
CN109314753A (zh) 2019-02-05
JP6563609B2 (ja) 2019-08-21
WO2017176483A1 (en) 2017-10-12
CA3018965C (en) 2019-01-08
CA3018965A1 (en) 2017-10-12
IL261752A (en) 2018-11-29
KR20180119696A (ko) 2018-11-02
EP3295662A4 (en) 2018-12-26
CA3019163A1 (en) 2017-10-12
AU2017246470B2 (en) 2018-11-22
CA3019163C (en) 2019-11-26
CN109314752B (zh) 2020-03-03
IL261934A (en) 2018-11-29
CA3017827A1 (en) 2017-10-12
CN109314753B (zh) 2020-05-26
AU2017246715A1 (en) 2018-10-11
MX370276B (es) 2019-12-09
US10057562B2 (en) 2018-08-21
KR102003015B1 (ko) 2019-07-24
JP6525467B1 (ja) 2019-06-05
JP2019516299A (ja) 2019-06-13
AU2017246716B2 (en) 2018-12-06
MX2018012151A (es) 2019-02-07
KR20180121688A (ko) 2018-11-07
CA3017827C (en) 2019-09-10
US20170293997A1 (en) 2017-10-12
KR101994121B1 (ko) 2019-06-28
WO2017176484A1 (en) 2017-10-12
BR112018069568A2 (pt) 2019-01-29
EP3295662A1 (en) 2018-03-21

Similar Documents

Publication Publication Date Title
KR101956149B1 (ko) 이미지 사이의 광학 흐름의 효율적 결정
US9811946B1 (en) High resolution (HR) panorama generation without ghosting artifacts using multiple HR images mapped to a low resolution 360-degree image
CN109615703B (zh) 增强现实的图像展示方法、装置及设备
KR101969082B1 (ko) 다수의 카메라를 이용한 최적의 구형 영상 획득 방법
EP3229106A1 (en) Efficient determination of optical flow between images
KR102587298B1 (ko) 멀티뷰 어안 렌즈들을 이용한 실시간 전방위 스테레오 매칭 방법 및 그 시스템
WO2021049281A1 (ja) 画像処理装置、ヘッドマウントディスプレイ、および空間情報取得方法
EP3229470B1 (en) Efficient canvas view generation from intermediate views
Heindl et al. Capturing photorealistic and printable 3d models using low-cost hardware

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant