KR20220074959A - 임의적 뷰 생성 - Google Patents

임의적 뷰 생성 Download PDF

Info

Publication number
KR20220074959A
KR20220074959A KR1020227015192A KR20227015192A KR20220074959A KR 20220074959 A KR20220074959 A KR 20220074959A KR 1020227015192 A KR1020227015192 A KR 1020227015192A KR 20227015192 A KR20227015192 A KR 20227015192A KR 20220074959 A KR20220074959 A KR 20220074959A
Authority
KR
South Korea
Prior art keywords
asset
perspective
image
images
view
Prior art date
Application number
KR1020227015192A
Other languages
English (en)
Inventor
클래런스 추이
마누 파르마
아모그 서브바크리슈나 아디쉐샤
하슐 굽타
애비너시 벤카타 우풀루리
Original Assignee
아웃워드, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/090,793 external-priority patent/US11989820B2/en
Priority claimed from US17/090,794 external-priority patent/US11989821B2/en
Application filed by 아웃워드, 인코포레이티드 filed Critical 아웃워드, 인코포레이티드
Publication of KR20220074959A publication Critical patent/KR20220074959A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • 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/10028Range image; Depth image; 3D point clouds
    • 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/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)

Abstract

기계 학습 기반 이미지 프로세싱 및 생성 프레임워크가 개시된다. 일부 실시예들에서, 수신된 입력 이미지에서 객체 또는 에셋의 깊이 값들은 알려진 규정된 환경으로 제한되는 기계 학습 기반 프레임워크를 사용하여 적어도 부분적으로 결정된다. 결정된 깊이 값들은 개체 또는 에셋의 다른 뷰들의 생성을 용이하게 한다.

Description

임의적 뷰 생성
다른 출원들의 상호 참조
본 출원은 2019년 7월 26일에 출원된 임의적 뷰 생성(ARBITRARY VIEW GENERATION)이라는 제목의 미국 특허출원번호 16/523,888의 일부 계속 출원이고, 이는 2018년 11월 6일에 출원된 임의적 뷰 생성(ARBITRARY VIEW GENERATION)이라는 제목의 미국 특허출원번호 16/181,607의 일부 계속 출원이고, 이는 2017년 9월 29일에 출원된 임의적 뷰 생성(ARBITRARY VIEW GENERATION)이라는 제목의 미국 특허출원번호 15/721,426으로 현재는 미국 특허번호 10,163,250의 연속 출원이고, 이는 2017년 8월 4일에 출원된 어셈블링된 장면들의 빠른 렌더링(FAST RENDERING OF ASSEMBLED SCENES)이라는 제목의 미국 가특허출원번호 62/541,607에 대한 우선권을 주장하고 2016년 3월 25일에 출원된 임의적 뷰 생성(ARBITRARY VIEW GENERATION)이라는 제목의 미국 특허출원번호 15/081,553으로 현재는 미국특허번호 9,996,914의 일부 계속 출원이며, 이들 모두는 모든 목적을 위해 참조로 본 명세서에 포함된다.
본 출원은 2019년 11월 8일에 출원된 프로덕트 시각화를 위한 이미지 시퀀스의 빠른 렌더링(FAST RENDERING OF IMAGE SEQUENCES FOR PRODUCT VISUALIZATION)이라는 제목의 미국 가특허출원번호 62/933,258과 2019년 11월 8일에 출원된 공간 계획 애플리케이션을 위한 이미지 획득 시스템 및 방법(SYSTEM AND METHOD FOR ACQUIRING IMAGES FOR SPACE PLANNING APPLICATIONS)이라는 제목의 미국 가특허출원번호 62/933,261에 대한 우선권들을 주장하며, 이들 모두는 모든 목적을 위해 참조로 본 명세서에 포함된다.
본 발명은 임의적 뷰 생성에 관한 것이다.
기존 렌더링 기술들은 품질과 속도라는 경쟁적인 목표들 사이에서 균형을 유지해야 한다. 고품질 렌더링은 상당한 프로세싱 리소스와 시간을 필요로 한다. 그러나, 느린 렌더링 기술들은 대화형 실시간 애플리케이션들과 같은 많은 애플리케이션들에서 허용되지 않는다. 이러한 애플리케이션들에 대해서는 일반적으로 품질은 낮지만 더 빠른 렌더링 기술들이 선호된다. 예를 들어, 래스터화가 상대적으로 빠른 렌더링을 위해 실시간 그래픽 애플리케이션들에 의해 일반적으로 이용되지만 품질은 떨어진다.
따라서, 품질이나 속도를 크게 손상시키지 않는 개선된 기술들이 필요하다.
방법이 제공된다. 방법은, 객체(object) 또는 에셋(asset)의 입력 이미지의 배경을 제거하는 단계; 입력 이미지에서 객체 또는 에셋의 깊이 값들을 결정하는 단계; 및 결정된 깊이 값들에 기초하여 퍼스펙티브 변환(perspective transformation)을 수행함으로써 입력 이미지 퍼스펙티브와 상이한 객체 또는 에셋의 규정된 퍼스펙티브를 포함하는 출력 이미지를 생성하는 단계를 포함하고, 기계 학습 기반 프레임워크가 상기 방법의 하나 이상의 단계들에 이용되며, 상기 기계 학습 기반 프레임워크는 알려진 규정된 환경으로 제한된다. 방법에서, 상기 알려진 규정된 환경은 상기 입력 이미지가 촬영되는 물리적 환경 및 상기 기계 학습 기반 프레임워크의 데이터 세트들을 트레이닝하기 위한 물리적 환경을 시뮬레이션하는 모델 환경을 포함한다. 방법에서, 상기 기계 학습 기반 프레임워크는 하나 이상의 알려진 텍스처들로 제한된다. 방법에서, 상기 입력 이미지는 객체 또는 에셋의 카메라 캡처된 사진을 포함한다. 방법에서, 상기 입력 이미지는 상이한 카메라들 또는 카메라 각도들(camera angles)로부터의 복수의 이미지들을 포함한다. 방법에서, 배경을 제거하는 단계는 신경망 기반 이미지 분할(neural network based image segmentation)에 적어도 부분적으로 기초한다. 방법에서, 깊이 값들은 픽셀 단위로 결정된다. 방법에서, 깊이 값들을 결정하는 단계는 깊이 추정치를 결정하는 단계 및 결정된 깊이 추정치를 정제하는(refining) 단계 중 하나 또는 둘 다를 포함한다. 방법에서, 상기 깊이 추정치는 입력 이미지를 포함하는 좌우 스테레오 쌍으로부터 결정된다. 방법에서, 상기 깊이 추정치는 신경망을 사용하여 예측된다. 방법에서, 상기 결정된 깊이 추정치는 신경망을 사용하여 정제된다. 방법에서, 상기 규정된 퍼스펙티브는 직교 뷰(orthographic view)를 포함한다. 방법에서, 퍼스펙티브 변환을 수행하는 단계는 퍼스펙티브 변환 추정치를 결정하는 단계 및 결정된 퍼스펙티브 변환 추정치를 정제하는 단계 중 하나 또는 둘 다를 포함한다. 방법에서, 상기 퍼스펙티브 변환 추정치는 수학적 변환으로부터 결정된다. 방법에서, 상기 퍼스펙티브 변환 추정치는 신경망을 사용하여 예측된다. 방법에서, 상기 퍼스펙티브 변환 추정치는 신경망을 사용하여 정제된다. 방법에서, 상기 기계 학습 기반 프레임워크는 하나 이상의 신경망들을 포함한다. 방법에서, 상기 기계 학습 기반 프레임워크는 GAN(Generative Adversarial Network)을 포함한다.
또한, 시스템이 제공되며, 상기 시스템은, 프로세서로서: 객체 또는 에셋의 입력 이미지의 배경을 제거하고; 입력 이미지에서 객체 또는 에셋의 깊이 값들을 결정하고; 결정된 깊이 값들에 기초하여 퍼스펙티브 변환을 수행함으로써 입력 이미지 퍼스펙티브와 상이한 객체 또는 에셋의 규정된 퍼스펙티브를 포함하는 출력 이미지를 생성하도록 구성되는, 상기 프로세서; 및 상기 프로세서에 결합되고, 상기 프로세서에 명령들을 제공하도록 구성된 메모리를 포함하며, 기계 학습 기반 프레임워크가 상기 프로세서의 하나 이상의 단계들에 이용되고, 상기 기계 학습 기반 프레임워크는 알려진 규정된 환경으로 제한된다.
또한, 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 비일시적 컴퓨터 판독 가능한 저장 매체에 구현되고, 컴퓨터 명령들을 포함하며, 상기 컴퓨터 명령들은: 객체 또는 에셋의 입력 이미지의 배경을 제거하고; 입력 이미지에서 객체 또는 에셋의 깊이 값들을 결정하고; 결정된 깊이 값들에 기초하여 퍼스펙티브 변환을 수행함으로써 입력 이미지 퍼스펙티브와 상이한 객체 또는 에셋의 규정된 퍼스펙티브를 포함하는 출력 이미지를 생성하기 위한 것이며, 기계 학습 기반 프레임워크가 상기 컴퓨터 프로그램 제품의 하나 이상의 단계들에 이용되고, 상기 기계 학습 기반 프레임워크는 알려진 규정된 환경으로 제한된다.
본 발명의 다양한 실시예들은 다음의 상세한 설명 및 첨부 도면들에 개시된다.
도 1은 장면의 임의적 뷰를 생성하기 위한 시스템의 실시예를 도시하는 상위 레벨 블록도이다.
도 2는 데이터베이스 에셋의 예를 도시한다.
도 3은 임의적 퍼스펙티브를 생성하기 위한 프로세스의 실시예를 도시하는 흐름도이다.
도 4는 에셋의 임의적 뷰가 생성될 수 있는 에셋의 참조 이미지들 또는 뷰들을 생성하기 위한 프로세스의 실시예를 도시하는 흐름도이다.
도 5는 에셋의 임의적 뷰가 생성될 수 있는 에셋의 참조 이미지들 또는 뷰들을 생성하기 위한 프로세스의 실시예를 도시하는 흐름도이다.
도 6은 장면의 요청된 뷰를 제공하기 위한 프로세스의 실시예를 도시하는 흐름도이다.
도 7은 이미지 데이터 세트들과 연관된 속성을 학습하기 위한 기계 학습 기반 이미지 프로세싱 프레임워크의 실시예의 상위 레벨 블록도이다.
도 8은 에셋의 다른 임의적 뷰들을 생성하는 데 사용될 수 있는 에셋과 연관된 이미지로 데이터베이스를 채우는 프로세스의 실시예를 도시하는 흐름도이다.
도 9는 이미지 또는 프레임을 생성하기 위한 프로세스의 실시예를 도시하는 흐름도이다.
도 10은 객체 또는 에셋의 임의적 또는 새로운 뷰 또는 퍼스펙티브를 생성하기 위한 프로세스의 실시예를 도시하는 흐름도이다.
본 발명은 프로세스로서; 장치; 시스템; 물건의 구성; 컴퓨터 판독 가능한 저장 매체에 포함된 컴퓨터 프로그램 제품; 및/또는 프로세서, 예컨대 프로세서에 결합된 메모리에 저장되거나 및/또는 그에 의해 제공되는 명령들을 실행하도록 구성된 프로세서를 포함하여 다양한 방식들로 구현될 수 있다. 본 명세서에서, 이러한 구현들 또는 본 발명이 취할 수 있는 다른 모든 형태는 기술들로 지칭될 수 있다. 일반적으로, 개시된 프로세스들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 명시되지 않는 한, 작업을 수행하도록 구성되는 것으로 설명된 프로세서 또는 메모리와 같은 구성요소는 주어진 시간에 작업을 수행하도록 일시적으로 구성되는 일반 구성요소 또는 작업을 수행하도록 제작된 특정 구성요소로 구현될 수 있다. 본 명세서에서 사용되는 것으로서, 용어 '프로세서' 는 컴퓨터 프로그램 명령들과 같은 데이터를 처리하도록 구성된 하나 이상의 디바이스들, 회로들 및/또는 프로세싱 코어들을 의미한다.
본 발명의 하나 이상의 실시 예들에 대한 상세한 설명은 본 발명의 원리를 예시하는 첨부 도면들과 함께 아래에 제공된다. 본 발명은 이러한 실시 예들과 관련하여 설명되지만, 본 발명은 임의의 실시 예로 제한되지 않는다. 본 발명의 범위는 청구 범위에 의해서만 한정되고, 본 발명은 수많은 대안들, 수정들 및 등가물들을 포함한다. 본 발명의 완전한 이해를 제공하기 위해 다음의 설명에서 다수의 특정 세부 사항들이 설명된다. 이러한 세부 사항들은 예의 목적으로 제공되며, 본 발명은 이러한 특정 세부 사항들의 일부 또는 전부없이 청구 범위에 따라 실시될 수 있다. 명확성을 위해, 본 발명과 관련된 기술 분야들에서 알려진 기술 자료는 상세하게 설명하지 않았으며, 이는 본 발명이 불필요하게 모호 해지는 일이 없도록 하기 위함이다.
장면의 임의적 뷰(arbitrary view)를 생성하는 기술들이 개시된다. 여기에 설명된 패러다임은 여전히 고화질 출력을 제공하는 동시에 매우 낮은 프로세싱 또는 계산 오버헤드를 수반하여 렌더링 속도와 품질 사이의 어려운 교환을 효과적으로 제거한다. 개시된 기술들은 대화형 실시간 그래픽 애플리케이션들과 관련하여 고품질 출력을 매우 빠르게 생성하는 데 특히 유용하다. 이러한 애플리케이션들은 제시된 대화형 뷰 또는 장면의 사용자 조작들에 따라 또는 그에 응답하여 바람직하게 고품질 출력을 실질적으로 즉시 제공하는 것에 의존한다.
도 1은 장면의 임의적 뷰를 생성하기 위한 시스템(100)의 실시예를 도시하는 상위 레벨 블록도이다. 도시된 바와 같이, 임의적 뷰 생성기(arbitrary view generator)(102)는 입력(104)으로서 임의적 뷰에 대한 요청을 수신하고, 기존 데이터베이스 에셋들(existing database assets)(106)에 기초하여 요청된 뷰를 생성하고, 입력 요청에 응답하여 생성된 뷰를 출력(108)으로서 제공한다. 다양한 실시예들에서, 임의적 뷰 생성기(102)는 중앙 프로세싱 유닛(CPU) 또는 그래픽 프로세싱 유닛(GPU)과 같은 프로세서를 포함할 수 있다. 도 1에 도시된 시스템(100)의 구성이 설명을 위해 제공된다. 일반적으로, 시스템(100)은 설명된 기능을 제공하는 상호 연결된 구성요소들의 임의의 다른 적절한 수 및/또는 구성을 포함할 수 있다. 예를 들어, 다른 실시예들에서, 임의적 뷰 생성기(102)는 내부 구성요소들(110-116)의 상이한 구성을 포함할 수 있고, 임의적 뷰 생성기(102)는 복수의 병렬 물리적 및/또는 가상 프로세서들을 포함할 수 있고, 데이터베이스(106)는 복수의 네트워크화된 데이터베이스 또는 에셋 클라우드(a cloud of assets) 등를 포함할 수 있다.
임의적 뷰 요청(104)은 장면의 임의적 퍼스펙티브(arbitrary perspective)에 대한 요청을 포함한다. 일부 실시예들에서, 장면의 요청된 퍼스펙티브(requested perspective)는 장면의 다른 퍼스펙티브 또는 뷰포인트를 포함하는 에셋 데이터베이스(106)에 이전에 존재하지 않는다. 다양한 실시예들에서, 임의적 뷰 요청(arbitrary view request)(104)은 프로세스 또는 사용자로부터 수신될 수 있다. 예를 들어, 입력(104)은 제시된 장면의 카메라 뷰포인트의 사용자 조작과 같은 제시된 장면 또는 그 일부의 사용자 조작에 응답하여 사용자 인터페이스로부터 수신될 수 있다. 다른 예로서, 임의적 뷰 요청(104)은 장면의 플라이-스루(fly-through)와 같은 가상 환경 내에서의 움직임 또는 이동 경로의 지정에 응답하여 수신될 수 있다. 일부 실시예들에서, 요청될 수 있는 장면의 가능한 임의적 뷰들은 적어도 부분적으로 제한된다. 예를 들어, 사용자는 제시된 대화형 장면(presented interactive scene)의 카메라 뷰포인트를 임의의 랜덤 포지션으로 조작할 수 없고 오히려 장면의 특정 포지션들 또는 퍼스펙티브들로 제한될 수 있다.
데이터베이스(106)는 각각의 저장된 에셋의 복수의 뷰들을 저장한다. 주어진 맥락에서, 에셋(asset)은 그 사양이 데이터베이스(106)에 복수의 뷰들로서 저장된 특정 장면을 지칭한다. 다양한 실시예들에서, 장면은 단일 객체, 복수의 객체들, 또는 풍부한 가상 환경을 포함할 수 있다. 구체적으로, 데이터베이스(106)는 각 에셋의 상이한 퍼스펙티브들 또는 뷰포인트들에 대응하는 복수의 이미지들을 저장한다. 데이터베이스(106)에 저장된 이미지들은 고품질 사진들 또는 사실적 렌더링을 포함한다. 데이터베이스(106)를 채우는 이러한 고화질, 고해상도 이미지들은 오프라인 프로세스 동안 캡처 또는 렌더링되거나 외부 소스들로부터 획득될 수 있다. 일부 실시예들에서, 대응하는 카메라 특성들은 데이터베이스(106)에 저장된 각각의 이미지와 함께 저장된다. 즉, 상대 위치 또는 포지션, 지향방향, 회전, 깊이 정보, 초점 거리, 애퍼처, 줌 레벨 등과 같은 카메라 속성들이 각 이미지와 함께 저장된다. 또한, 셔터 속도 및 노출과 같은 카메라 조명 정보도 역시 데이터베이스(106)에 저장된 각 이미지와 함께 저장될 수도 있다.
다양한 실시예들에서, 에셋의 임의의 수의 상이한 퍼스펙티브들이 데이터베이스(106)에 저장될 수 있다. 도 2는 데이터베이스 에셋의 예를 도시한다. 주어진 예에서, 의자 객체 둘레에서 상이한 각도들에 대응하는 73개의 뷰들이 캡처되거나 렌더링되어 데이터베이스(106)에 저장된다. 예를 들어, 의자 둘레에서 카메라를 회전시키거나 카메라 앞에서 의자를 회전시킴으로써 뷰들이 캡처될 수 있다. 상대적인 객체 및 카메라 위치 및 지향방향 정보는 생성된 각 이미지와 함께 저장된다. 도 2는 단일 객체를 포함하는 장면의 뷰들을 구체적으로 예시한다. 데이터베이스(106)는 또한 복수의 객체들 또는 풍부한 가상 환경을 포함하는 장면의 사양을 저장할 수 있다. 그러한 경우에, 장면 또는 3차원 공간에서 상이한 위치들 또는 포지션들에 대응하는 다수의 뷰들이 캡처되거나 렌더링되어 데이터베이스(106)에 대응하는 카메라 정보와 함께 저장된다. 일반적으로, 데이터베이스(106)에 저장된 이미지들은 2차원 또는 3차원을 포함할 수 있고 애니메이션 또는 비디오 시퀀스의 스틸 또는 프레임을 포함할 수 있다.
데이터베이스(106)에 이전에 존재하지 않는 장면(104)의 임의적 뷰에 대한 요청에 응답하여, 임의적 뷰 생성기(102)는 데이터베이스(106)에 저장된 장면의 복수의 다른 기존 뷰들로부터 요청된 임의적 뷰를 생성한다. 도 1의 예시적인 구성에서, 임의적 뷰 생성기(102)의 에셋 관리 엔진(110)은 데이터베이스(106)를 관리한다. 예를 들어, 에셋 관리 엔진(110)은 데이터베이스(106)에서 데이터의 저장 및 검색을 용이하게 할 수 있다. 장면(104)의 임의적 뷰에 대한 요청에 응답하여, 에셋 관리 엔진(110)은 데이터베이스(106)로부터 장면의 복수의 다른 기존 뷰들을 식별하고 획득한다. 일부 실시예들에서, 에셋 관리 엔진(110)은 데이터베이스(106)로부터 장면의 모든 기존 뷰들을 검색한다. 대안적으로, 에셋 관리 엔진(110)은 예를 들어 요청된 임의적 뷰에 가장 가까운 기존 뷰들의 서브세트를 선택하고 검색할 수 있다. 그러한 경우에, 에셋 관리 엔진(110)은 요청된 임의적 뷰를 생성하기 위해 픽셀들이 수집될 수 있는 기존 뷰들의 서브세트를 지능적으로 선택하도록 구성된다. 다양한 실시예들에서, 다수의 기존 뷰들은 에셋 관리 엔진(110)에 의해 함께 검색되거나 임의적 뷰 생성기(102)의 다른 구성요소들에 의해 필요하게 될 때 검색될 수 있다.
에셋 관리 엔진(110)에 의해 검색된 각각의 기존 뷰의 퍼스펙티브는 임의적 뷰 생성기(102)의 퍼스페티브 변환 엔진(112)에 의해 요청된 임의적 뷰의 퍼스펙티브로 변환된다. 이전에 설명된 바와 같이, 정확한 카메라 정보가 알려져 있고 데이터베이스(106)에 저장된 각 이미지와 함께 저장된다. 따라서, 기존 뷰로부터 요청된 임의적 뷰로의 퍼스펙티브 변경은 간단한 기하학적 매핑 또는 변환을 포함한다. 다양한 실시예들에서, 퍼스펙티브 변환 엔진(112)은 기존 뷰의 퍼스펙티브를 임의적 뷰의 퍼스펙티브로 변환하기 위해 임의의 하나 이상의 적절한 수학적 기술들을 사용할 수 있다. 요청된 뷰가 기존 뷰와 일치하지 않은 임의적 뷰를 포함하는 경우, 기존 뷰를 임의적 뷰의 퍼스펙티브로 변환하는 것은 적어도 일부 매핑되지 않거나 누락된 픽셀들(즉, 기존 뷰에 없는 임의적 뷰에 도입된 각도들 또는 포지션들)을 포함할 것이다.
단일의 퍼스펙티브 변환된 기존 뷰로부터의 픽셀 정보는 상이한 뷰의 모든 픽셀들을 채울 수 없다. 그러나, 많은 경우에서, 요청된 임의적 뷰를 구성하는 픽셀들의 전부는 아니더라도 대부분은 복수의 퍼스펙티브 변환된 기존 뷰들로부터 수집될 수 있다. 임의적 뷰 생성기(102)의 병합 엔진(114)은 복수의 퍼스펙티브 변환된 기존 뷰들로부터 픽셀들을 결합하여 요청된 임의적 뷰를 생성한다. 이상적으로는, 임의적 뷰를 구성하는 모든 픽셀들은 기존 뷰들로부터 수집된다. 이러한 것은, 예를 들어 고려 중인 에셋의 기존 뷰들 또는 퍼스펙티브들의 충분히 다양한 세트가 이용 가능하고 및/또는 요청된 퍼스펙티브가 기존 퍼스펙티브들과 너무 다르지 않은 경우 가능할 수 있다.
요청된 임의적 뷰를 생성하기 위해 복수의 퍼스펙티브 변환된 기존 뷰들로부터 픽셀들을 결합하거나 병합하기 위해 임의의 적절한 기술들이 사용될 수 있다. 일 실시예들에서, 요청된 임의적 뷰에 가장 가까운 제1 기존 뷰가 데이터베이스(106)로부터 선택 및 검색되고 요청된 임의적 뷰의 퍼스펙티브로 변환된다. 그런 다음 픽셀들이 이러한 퍼스펙티브 변환된 제1 기존 뷰로부터 수집되고 요청된 임의적 뷰에서 대응하는 픽셀들을 채우는 데 사용된다. 제1 기존 뷰로부터 이용 가능하지 않았던 요청된 임의적 뷰의 픽셀들을 채우기 위해, 이들 나머지 픽셀들 중 적어도 일부를 포함하는 제2 기존 뷰가 데이터베이스(106)로부터 선택 및 검색되고 요청된 임의적 뷰의 퍼스펙티브로 변환된다. 제1 기존 뷰로부터 이용 가능하지 않았던 픽셀들은 이러한 퍼스펙티브 변환된 제2 기존 뷰로부터 수집되고 요청된 임의적 뷰에서 대응하는 픽셀들을 채우는 데 사용된다. 이러한 프로세스는, 요청된 임의적 뷰의 모든 픽셀들이 채워질 때까지 및/또는 모든 기존 뷰들이 소진되거나 또는 기존 뷰들의 규정된 수의 임계값이 완전히 사용될 때까지, 임의의 수의 추가적인 기존 뷰들에 대해 반복될 수 있다.
일부 실시예들에서, 요청된 임의적 뷰는 임의의 기존 뷰들로부터 이용 가능하지 않은 일부 픽셀들을 포함할 수 있다. 그러한 경우에, 보간 엔진(116)은 요청된 임의적 뷰의 임의의 나머지 픽셀들을 채우도록 구성된다. 다양한 실시예들에서, 임의의 하나 이상의 적절한 보간 기술들이 요청된 임의적 뷰에서 이러한 채워지지 않은 픽셀들을 생성하기 위해 보간 엔진(116)에 의해 사용될 수 있다. 사용될 수 있는 보간 기술들의 예들은 예를 들어 선형 보간(linear interpolation), 최근접 이웃 보간(nearest neighbor interpolation) 등을 포함한다. 픽셀들의 보간은 평균화(averaging) 또는 평활화(smoothing)를 도입한다. 전체 이미지 품질은 일부 보간에 의해 크게 영향을 받지 않을 수 있지만, 과도한 보간은 허용할 수 없는 흐릿함(blurriness)을 유발할 수 있다. 따라서, 보간은 드물게 사용하는 것이 바람직할 수 있다. 앞에서 설명한 것처럼, 요청된 임의적 뷰의 모든 픽셀들이 기존 뷰들로부터 얻어질 수 있는 경우 보간을 완전히 피할 수 있다. 그러나, 요청된 임의적 뷰가 기존 뷰들로부터 이용 가능하지 않은 일부 픽셀들을 포함하는 경우, 보간이 도입된다. 일반적으로, 필요한 보간의 양은 이용 가능한 기존 뷰들의 수, 기존 뷰들의 퍼스펙티브들의 다양성, 및/또는 임의적 뷰의 퍼스펙티브가 기존 뷰들의 퍼스펙티브들과 관련하여 얼마나 상이한지에 따라 다르다.
도 2에 도시된 예와 관련하여, 의자 객체(chair object) 둘레에서 73개의 뷰들이 의자의 기존 뷰들로 저장된다. 저장된 뷰들 중 임의의 것과 상이하거나 고유한 의자 객체 둘레에 임의적 뷰는 이러한 복수의 기존 뷰들을 사용하여 생성될 수 있으며, 바람직하게는 존재하는 경우 최소한의 보간을 사용한다. 그러나, 이러한 기존 뷰들의 완전한 세트를 생성하고 저장하는 것은 효율적이지 않거나 바람직하지 않을 수 있다. 일부 경우에, 충분히 다양한 퍼스펙티브들의 세트를 커버하는 훨씬 적은 수의 기존 뷰들이 그 대신에 생성되고 저장될 수 있다. 예를 들어, 의자 객체의 73개 뷰들은 의자 객체 둘레에 소수 뷰들의 작은 세트로 축소될(decimate) 수 있다.
이전에 언급된 바와 같이, 일부 실시예들에서, 요청될 수 있는 가능한 임의적 뷰들은 적어도 부분적으로 제한될 수 있다. 예를 들어, 사용자는 대화형 장면과 관련된 가상 카메라를 특정 포지션들로 이동시키는 것이 제한될 수 있다. 도 2의 주어진 예와 관련하여, 요청될 수 있는 가능한 임의적 뷰들은 의자 객체 둘레에 임의적 포지션들로 제한될 수 있지만, 예를 들어 의자 객체의 바닥에 대한 픽셀 데이터가 충분히 존재하지 않기 때문에 의자 객체 아래의 임의적 포지션들을 포함하지 않을 수 있다. 허용된 임의적 뷰들에 대한 이러한 제약은 요청된 임의적 뷰가 임의적 뷰 생성기(102)에 의해 기존 데이터로부터 생성될 수 있음을 보장한다.
임의적 뷰 생성기(102)는 입력된 임의적 뷰 요청(104)에 응답하여 요청된 임의적 뷰(108)를 생성 및 출력한다. 생성된 임의적 뷰(108)의 해상도 또는 품질은 이를 생성하는 데 사용된 기존 뷰들의 품질들과 동일하거나 유사하며, 이는 이들 뷰들로부터의 픽셀들이 임의적 뷰를 생성하는 데 사용되기 때문이다. 따라서, 대부분의 경우 고화질 기존 뷰를 사용하면 고화질 출력이 생성된다. 일부 실시예들에서, 생성된 임의적 뷰(108)는 연관된 장면의 다른 기존 뷰들과 함께 데이터베이스(106)에 저장되고, 이후에 임의적 뷰들에 대한 미래의 요청들에 응답하여 장면의 다른 임의적 뷰들을 생성하는 데 사용될 수 있다. 입력(104)이 데이터베이스(106)의 기존 뷰에 대한 요청을 포함하는 경우, 요청된 뷰는 설명된 바와 같이 다른 뷰들로부터 생성될 필요가 없으며; 대신, 요청된 뷰는 간단한 데이터베이스 조회를 통해 검색되고 출력(108)으로 직접 제공된다.
임의적 뷰 생성기(102)는 또한 설명된 기술들을 사용하여 임의적 앙상블 뷰(arbitrary ensemble view)를 생성하도록 구성될 수 있다. 즉, 입력(104)은 복수의 객체들을 단일의 커스텀 뷰(single custom view)로 결합하기 위한 요청을 포함할 수 있다. 그러한 경우에, 전술한 기술들은 복수의 객체들 각각에 대해 수행되고 결합되어 복수의 객체들을 포함하는 단일의 통합 또는 앙상블 뷰를 생성한다. 구체적으로, 복수의 객체들 각각의 기존 뷰는 에셋 관리 엔진(110)에 의해 데이터베이스(106)로부터 선택 및 검색되며, 기존 뷰들은 퍼스펙티브 변환 엔진(112)에 의해 요청된 뷰의 퍼스펙티브로 변환되고, 퍼스펙티브 변환된 기존 뷰들의 픽셀들은 병합 엔진(114)에 의해 요청된 앙상블 뷰의 대응하는 픽셀들을 채우는 데 사용되며, 앙상블 뷰에서 채워지지 않은 나머지 픽셀들은 보간 엔진(116)에 의해 보간된다. 일부 실시예들에서, 요청된 앙상블 뷰는 앙상블을 구성하는 하나 이상의 객체들에 대해 이미 존재하는 퍼스펙티브를 포함할 수 있다. 그러한 경우에, 요청된 퍼스펙티브에 대응하는 객체 에셋의 기존 뷰가 객체의 다른 기존 뷰들로부터 요청된 퍼스펙티브를 먼저 생성하는 대신 앙상블 뷰의 객체에 대응하는 픽셀들을 직접 채우는 데 사용된다.
복수의 객체들을 포함하는 임의적 앙상블 뷰의 예로서, 도 2의 의자 객체와 독립적으로 촬영되거나 렌더링된 테이블 객체를 고려한다. 의자 객체 및 테이블 객체는 양쪽 객체들의 단일의 앙상블 뷰를 생성하기 위해 개시된 기술들을 사용하여 결합될 수 있다. 따라서, 개시된 기술들을 사용하여, 복수의 객체들 각각의 독립적으로 캡처되거나 렌더링된 이미지들 또는 뷰들이 일관되게 결합되어 복수의 객체들을 포함하고 원하는 퍼스펙티브를 갖는 장면을 생성할 수 있다. 앞서 설명한 바와 같이, 각각의 기존 뷰의 깊이 정보는 알려져 있다. 각각의 기존 뷰의 퍼스펙티브 변환은 깊이 변환을 포함하여 복수의 객체들이 앙상블 뷰에서 서로에 대해 적절하게 위치할 수 있도록 한다.
임의의 앙상블 뷰를 생성하는 것은 복수의 단일 객체들을 커스텀 뷰로 결합하는 것으로 제한되지 않는다. 오히려, 복수의 객체들 또는 복수의 풍부한 가상 환경들을 갖는 복수의 장면들이 유사하게 커스텀 앙상블 뷰로 결합될 수 있다. 예를 들어, 가능하게는 상이한 콘텐트 생성 소스들로부터 그리고 가능하게는 상이한 기존 개별 퍼스펙티브들을 갖는 복수의 개별적이고 독립적으로 생성된 가상 환경들이 원하는 퍼스펙티브를 갖는 앙상블 뷰로 결합될 수 있다. 따라서, 일반적으로, 임의적 뷰 생성기(102)는 가능하게는 상이한 기존 뷰들을 포함하는 복수의 독립적인 에셋들을 가능하게는 원하는 임의적 퍼스펙티브를 갖는 앙상블 뷰로 일관되게 결합하거나 조화시키도록 구성될 수 있다. 모든 결합된 에셋들이 동일한 퍼스펙티브로 정규화되므로, 완벽하게 조화로운 결과의 앙상블 뷰가 생성된다. 앙상블 뷰의 가능한 임의적 퍼스펙티브는 앙상블 뷰를 생성하기 위해 이용 가능한 개별적인 에셋들의 기존 뷰들에 기초하여 제한될 수 있다.
도 3은 임의적 퍼스펙티브를 생성하기 위한 프로세스의 실시예를 도시하는 흐름도이다. 프로세스(300)는 예를 들어 도 1의 임의적 뷰 생성기(102)에 의해 사용될 수 있다. 다양한 실시예들에서, 프로세스(300)는 규정된 에셋의 임의적 뷰 또는 임의의 앙상블 뷰를 생성하기 위해 사용될 수 있다.
프로세스(300)는 임의적 퍼스펙티브에 대한 요청이 수신되는 단계(302)에서 시작한다. 일부 실시예들에서, 단계(302)에서 수신된 요청은 장면의 임의의 기존의 이용 가능한 퍼스펙티브들과 상이한 규정된 장면의 임의적 퍼스펙티브에 대한 요청을 포함할 수 있다. 그러한 경우에, 예를 들어, 장면의 제시된 뷰의 퍼스펙티브에서 요청된 변경에 대한 응답으로 임의적 퍼스펙티브 요청이 수신될 수 있다. 이러한 퍼스펙티브의 변경은 카메라 패닝(panning), 초점 거리 변경, 줌 레벨 변경 등과 같이 장면과 연관된 가상 카메라를 변경하거나 조작함으로써 가능하게 될 수 있다. 대안적으로, 일부 실시예들에서, 단계(302)에서 수신된 요청은 임의적 앙상블 뷰에 대한 요청을 포함할 수 있다. 일 예로서, 이러한 임의적 앙상블 뷰 요청은 복수의 독립적인 객체들이 선택되는 것을 허용하고 선택된 객체들의 통합된 퍼스펙티브-보정된 앙상블 뷰를 제공하는 애플리케이션과 관련하여 수신될 수 있다.
단계(304)에서, 요청된 임의적 퍼스펙티브의 적어도 일부를 생성하기 위한 복수의 기존 이미지들이 하나 이상의 연관된 에셋 데이터베이스로부터 검색된다. 복수의 검색된 이미지들은 단계(302)에서 수신된 요청이 규정된 에셋의 임의적 퍼스펙티브에 대한 요청을 포함하는 경우에 규정된 에셋과 연관될 수 있거나, 단계(302)에서 수신된 요청이 임의적 앙상블 뷰에 대한 요청을 포함하는 경우에 복수의 에셋들과 연관될 수 있다.
단계(306)에서, 상이한 퍼스펙티브를 갖는 단계(304)에서 검색된 복수의 기존 이미지들 각각은 단계(302)에서 요청된 임의적 퍼스펙티브로 변환된다. 단계(304)에서 검색된 기존 이미지들 각각은 연관된 퍼스펙티브 정보를 포함한다. 각 이미지의 퍼스펙티브는 상대적 포지션, 지향방향, 회전, 각도, 깊이, 초점 거리, 애퍼처, 줌 레벨, 조명 정보 등과 같은 이미지 생성과 관련된 카메라 특성들에 의해 정의된다. 각 이미지에 대해 완전한 카메라 정보가 알려져 있기 때문에, 단계(306)의 퍼스펙티브 변환은 간단한 수학적 연산을 포함한다. 일부 실시예들에서, 단계(306)는 또한 모든 이미지들이 동일한 원하는 조명 조건으로 일관되게 정규화되도록 조명 변환을 선택적으로 포함한다.
단계(308)에서, 단계(302)에서 요청된 임의적 퍼스펙티브를 갖는 이미지의 적어도 일부는 퍼스펙티브-변환된 기존 이미지로부터 수집된 픽셀들에 의해 채워진다. 즉, 복수의 퍼스펙티브-보정된 기존 이미지들로부터의 픽셀들을 사용하여 요청된 임의적 퍼스펙티브를 갖는 이미지를 생성한다.
단계(310)에서, 요청된 임의적 퍼스펙티브를 갖는 생성된 이미지가 완전한지 여부가 결정된다. 단계(310)에서 요청된 임의적 퍼스펙티브를 갖는 생성된 이미지가 완전하지 않은 것으로 결정되면, 단계(312)에서 생성된 이미지의 임의의 나머지 채워지지 않은 픽셀들이 채굴(mine)될 수 있는 기존 이미지들이 더 있는지 여부가 결정된다. 단계(312)에서 더 많은 기존 이미지가 이용 가능한 것으로 결정되면, 하나 이상의 추가적인 기존 이미지들이 단계(314)에서 검색되고 프로세스(300)는 단계(306)에서 계속된다.
단계(310)에서 요청된 임의적 퍼스펙티브를 갖는 생성된 이미지가 완전하지 않은 것으로 결정되고, 단계(312)에서 더 이상 이용 가능한 기존 이미지가 없다고 결정되면, 생성된 이미지의 임의의 나머지 채워지지 않은 픽셀들이 단계(316)에서 보간된다. 임의의 하나 이상의 적절한 보간 기술들이 단계(316)에서 사용될 수 있다.
단계(310)에서 요청된 임의적 퍼스펙티브를 갖는 생성된 이미지가 완전하다고 결정되거나 단계(316)에서 임의의 나머지 채워지지 않은 픽셀들을 보간한 후, 요청된 임의적 퍼스펙티브를 갖는 생성된 이미지가 단계(318)에서 출력된다. 이어서 프로세스(300)가 종료된다.
설명된 바와 같이, 개시된 기술들은 다른 기존 퍼스펙티브들에 기초하여 임의적 퍼스펙티브를 생성하는 데 사용될 수 있다. 각각의 기존 퍼스펙티브와 함께 카메라 정보가 보존되기 때문에, 상이한 기존 퍼스펙티브를 공통의 원하는 퍼스펙티브로 정규화하는 것이 가능한다. 원하는 퍼스펙티브를 갖는 결과 이미지는 퍼스펙티브-변환된 기존 이미지들로부터 픽셀들을 채굴하여 구성될 수 있다. 개시된 기술들을 사용하여 임의적 퍼스펙티브를 생성하는 것과 연관된 프로세스는 빠르고 거의 즉각적일 뿐만 아니라 고품질 출력을 가져오므로 개시된 기술들을 대화형 실시간 그래픽 애플리케이션들에 특히 강력하게 한다.
전술한 기술들은 원하는 퍼스펙티브와 상이한 퍼스펙티브들을 갖는 기존의 참조 뷰들 또는 이미지들을 사용하여 장면의 원하는 임의적 뷰 또는 퍼스펙티브를 생성하기 위한 유일하고 효율적인 패러다임을 포함한다. 보다 구체적으로, 개시된 기술들은 원하는 임의적 퍼스펙티브의 픽셀들이 전부는 아니지만 대부분이 수집되는 하나 이상의 기존 참조 이미지들로부터 원하는 임의적 퍼스펙티브를 갖는 고화질 이미지의 신속한 생성을 용이하게 한다. 설명된 바와 같이, 기존 참조 이미지들은 고품질 사진들 또는 사실적 렌더링들을 포함하며 오프라인 프로세스들 동안 캡처 또는 렌더링되거나 외부 소스들로부터 획득될 수 있다. 또한, (가상) 카메라 특성들은 각 참조 이미지와 함께 메타데이터로 저장되며 나중에 이미지의 퍼스펙티브 변환들을 용이하게 하는 데 사용될 수 있다. 도 1의 에셋 데이터베이스(106)에 저장된 이미지들 또는 뷰들과 같은 참조 이미지들을 생성하기 위한 다양한 기술들 및 연관된 메타데이터에 대한 추가 세부사항이 다음에 설명된다.
도 4는 에셋의 임의적 뷰 또는 퍼스펙티브가 생성될 수 있는 에셋의 참조 이미지들 또는 뷰들을 생성하기 위한 프로세스의 실시예를 도시하는 흐름도이다. 일부 실시예들에서, 프로세스(400)는 도 1의 데이터베이스(106)에 저장된 에셋의 참조 이미지들 또는 뷰들을 생성하는 데 사용된다. 프로세스(400)는 오프라인 프로세스를 포함할 수 있다.
프로세스(400)는 에셋이 이미지화되고 및/또는 스캔되는 단계(402)에서 시작한다. 에셋 둘레에 이미징 또는 스캐닝 디바이스를 회전시키거나 그러한 디바이스 앞에서 에셋을 회전시킴으로써 에셋의 복수의 뷰들 또는 퍼스펙티브들이 단계(402)에서 캡처된다. 일부 경우에서, 카메라와 같은 이미징 디바이스를 사용하여 단계(402)에서 에셋의 고품질 사진들을 캡처할 수 있다. 일부 경우에서, 3D 스캐너와 같은 스캐닝 디바이스를 사용하여 단계(402)에서 에셋과 연관된 포인트 클라우드 데이터를 수집할 수 있다. 단계(402)는 또한 카메라 속성, 상대 위치 또는 포지션, 깊이 정보, 조명 정보, 표면 법선 벡터 등과 같은 이미지 및/또는 스캔 데이터로 적용 가능한 메타데이터를 캡처하는 것을 포함한다. 이러한 메타데이터 파라미터들 중 일부는 추정될 수 있다. 예를 들어, 깊이 데이터로부터 노멀 데이터가 추정될 수 있다. 일부 실시예들에서, 에셋의 관심 영역 또는 표면의 전부는 아닐지라도 대부분을 커버하는 에셋의 적어도 규정된 퍼스펙티브 세트들이 단계(402)에서 캡처된다. 더욱이, 상이한 특성들 또는 속성들을 갖는 상이한 이미징 또는 스캐닝 디바이스들이 단계(402)에서 주어진 에셋의 상이한 퍼스펙티브들에 대해 및/또는 데이터베이스(106)에 저장된 상이한 에셋들에 대해 사용될 수 있다.
단계(404)에서 에셋의 3차원 다각형 메쉬 모델이 단계(402)에서 캡처된 이미지 및/또는 스캔 데이터로부터 생성된다. 즉, 사진들 및/또는 포인트 클라우드 데이터 및 단계(402)에서 캡처된 연관된 메타데이터에 기초하여 완전히 조화된 3차원 메쉬 모델이 생성된다. 일부 실시예들에서, 단계(404)에서 완전한 메시 모델이 구축될 수 있음을 보장하기 위해 단계(402)에서 아주 충분한 에셋 데이터가 캡처된다. 단계(402)에서 충분히 캡처되지 않은 생성된 메쉬 모델의 부분들은 보간될 수 있다. 일부 경우에, 단계(404)는 완전히 자동화되지 않지만, 생성된 3차원 메쉬 모델이 잘 정렬되는 것을 보장하기 위해 적어도 약간의 인간 개입을 수반한다.
단계(406)에서, 에셋의 복수의 참조 이미지들 또는 뷰들이 단계(404)에서 생성된 3차원 메쉬 모델로부터 렌더링된다. 이용 가능한 리소스들에 따라 임의의 적절한 렌더링 기술이 단계(406)에서 이용될 수 있다. 예를 들어, 스캔라인 렌더링(scanline rendering) 또는 래스터화(rasterization)와 같은 더 간단한 렌더링 기술들이 렌더링 품질을 희생하더라도 계산 리소스들 및/또는 렌더링 시간과 관련하여 제약이 존재할 때 이용될 수 있다. 일부 경우에, 더 많은 리소스들을 소비하지만 고품질의 사실적인 이미지들을 생성하는 광선 추적(ray tracing)과 같은 더 복잡한 렌더링 기술들이 이용될 수 있다. 단계(406)에서 렌더링된 각각의 참조 이미지는 3차원 메쉬 모델로부터 결정되는 관련 메타데이터를 포함하고, (가상) 카메라 속성들, 상대 위치 또는 포지션, 깊이 정보, 조명 정보, 표면 법선 벡터 등과 같은 파라미터들을 포함할 수 있다.
일부 실시예들에서, 단계(402)에서 캡처된 임의의 소스 이미지들은 데이터베이스(106)에 저장된 에셋의 참조 이미지들 또는 뷰들의 매우 작은 서브세트를 포함한다. 오히려, 데이터베이스(106)에 저장된 에셋의 이미지들 또는 뷰들의 대부분은 단계(404)에서 생성된 에셋의 3차원 메쉬 모델을 사용하여 렌더링된다. 일부 실시예들에서, 에셋의 참조 이미지들 또는 뷰들은 에셋의 하나 이상의 직교 뷰들을 포함한다. 복수의 상이한 에셋들에 대한 이러한 직교 뷰들은 결합되어(예를 들어, 빌딩 블록들처럼 함께 쌓거나 나란히 배치), 다음에 개별 에셋들 각각의 직교 뷰들을 원하는 임의적 퍼스펙티브로 변환함으로써 임의의 임의적 카메라 퍼스펙티브로 집합적으로 변환될 수 있는, 복수의 독립적으로 캡처되거나 렌더링된 개별 에셋들을 결합함으로써 또는 그로부터 구축된 복합 에셋의 직교 뷰를 생성할 수 있다.
도 4의 프로세스(400)의 3차원 메쉬 모델 기반 렌더링은 계산 집약적이며 시간 소모적이다. 따라서, 대부분의 경우에, 프로세스(400)는 오프라인 프로세스를 포함한다. 또한, 에셋의 3차원 메쉬 모델이 존재할 수는 있지만, 이러한 모델로부터 직접 고품질의 임의적 퍼스펙티브를 렌더링하는 것은 대부분의 실시간 또는 주문형 애플리케이션들을 포함한 많은 애플리케이션들에서 효율적으로 달성할 수 없다. 오히려, 에셋의 임의의 원하는 임의적 퍼스펙티브가 렌더링될 수 있는 기본적인 3차원 메쉬 모델이 존재함에도 불구하고 속도 제한을 충족하기 위해 보다 효율적인 기술들이 이용될 필요가 있다. 예를 들어, 도 1 내지 도 3의 설명과 관련하여 설명된 임의적 뷰 생성 기술들이, 참조 뷰들의 품질에 비교할 수 있는 품질을 여전히 유지하면서 에셋의 기존의 참조 뷰들 또는 이미지들에 기초하여 원하는 임의적 뷰 또는 퍼스펙티브를 매우 빠르게 생성하기 위해 이용될 수 있다. 그러나, 일부 실시예들에서, 3차원 메쉬 모델을 구축하고 모델로부터 참조 뷰들을 렌더링하는 단계들과 연관된 비효율성은 이러한 단계들을 오프라인으로 수행하는 옵션이 있음에도 불구하고 바람직하지 않거나 허용되지 않을 수 있다. 그러한 일부 경우에, 메쉬 모델을 구축하고 참조 뷰들을 생성하기 위해 복잡한 렌더링 기술들을 이용하는 단계들은 다음에 더 설명되는 바와 같이 제거될 수 있다.
도 5는 에셋의 임의적 뷰 또는 퍼스펙티브가 생성될 수 있는 에셋의 참조 이미지들 또는 뷰들을 생성하기 위한 프로세스의 실시예를 도시하는 흐름도이다. 일부 실시예들에서, 프로세스(500)는 도 1의 데이터베이스(106)에 저장된 에셋의 참조 이미지들 또는 뷰들을 생성하는 데 사용된다. 프로세스(500)는 오프라인 프로세스를 포함할 수 있다.
프로세스(500)는 에셋이 이미지화되고 및/또는 스캔되는 단계(502)에서 시작한다. 에셋 둘레에 이미징 또는 스캐닝 디바이스를 회전시키거나 그러한 디바이스 앞에서 에셋을 회전시킴으로써 에셋의 복수의 뷰들 또는 퍼스펙티브들이 단계(502)에서 캡처된다. 단계(502)에서 캡처된 뷰들은 에셋의 직교 뷰들을 적어도 부분적으로 포함할 수 있다. 일부 실시예들에서, 단계(502)에서 캡처된 이미지/스캔은 단계(502)에서 캡처된 적어도 하나의 다른 이미지/스캔과 중첩하는 시야(overlapping field of view)를 가지며, 둘 사이의 상대적(카메라/스캐너) 포즈가 알려져 있고 저장된다. 일부 경우에서, DSLR(디지털 단일-렌즈 리플렉스) 카메라와 같은 이미징 디바이스를 사용하여 단계(502)에서 에셋의 고품질 사진들을 캡처할 수 있다. 예를 들어, 긴 렌즈가 있는 카메라를 이용하여 직교 뷰들을 시뮬레이션할 수 있다. 일부 경우에서, 3D 스캐너와 같은 스캐닝 디바이스를 사용하여 단계(502)에서 에셋과 연관된 포인트 클라우드 데이터를 수집할 수 있다. 단계(502)는 또한 카메라 속성들, 상대 위치 또는 포지션, 조명 정보, 표면 법선 벡터, 중첩 시야를 갖는 이미지들/스캔들 사이의 상대 포즈 등과 같은 이미지 및/또는 스캔 데이터와 함께 적용 가능한 메타데이터를 저장하는 단계를 포함한다. 이러한 메타데이터 파라미터들 중 일부는 추정될 수 있다. 예를 들어, 깊이 데이터로부터 노멀 데이터가 추정될 수 있다. 일부 실시예들에서, 에셋의 관심 영역 또는 표면의 전부는 아닐지라도 대부분을 충분히 커버하는 에셋의 적어도 규정된 퍼스펙티브 세트들이 단계(502)에서 캡처된다. 더욱이, 상이한 특성들 또는 속성들을 갖는 상이한 이미징 또는 스캐닝 디바이스들이 단계(502)에서 주어진 에셋의 상이한 퍼스펙티브들에 대해 및/또는 데이터베이스(106)에 저장된 상이한 에셋들에 대해 사용될 수 있다.
단계(504)에서, 에셋의 복수의 참조 이미지들 또는 뷰들이 단계(502)에서 캡처된 데이터에 기초하여 생성된다. 참조 뷰들은 단계(502)에서 캡처된 이미지들/스캔들 및 연관된 메타데이터로부터 단계(504)에서 간단히 생성된다. 즉, 단계(502)에서 캡처된 적절한 메타데이터 및 중첩하는 퍼스펙티브들을 사용하여 에셋의 임의의 임의적 뷰 또는 퍼스펙티브가 생성될 수 있다. 일부 실시예들에서, 데이터베이스(106)에 저장된 에셋의 참조 뷰들의 완전한 세트는 단계(502)에서 캡처된 이미지들/스캔들 및 이들의 연관된 메타데이터로부터 생성된다. 단계(502)에서 캡처된 데이터는 메쉬 모델의 단편을 형성하기에 충분할 수 있지만 통합되고 완전히 조화된 메쉬 모델이 생성될 필요는 없다. 따라서, 에셋의 완전한 3차원 메쉬 모델이 생성되지 않으며 메쉬 모델로부터 참조 이미지들을 렌더링하는 데 이용되는 광선 추적과 같은 복잡한 렌더링 기술도 사용되지 않는다. 프로세스(500)는 가장 많은 프로세싱 리소스들과 시간을 소비하는 프로세스(400)의 단계들을 제거함으로써 개선된 효율성을 제공한다.
단계(504)에서 생성된 참조 이미지들은 도 1 내지 도 3의 설명과 관련하여 설명된 기술들을 사용하여 임의적 뷰들 또는 퍼스펙티브들의 더 빠른 생성을 가능하게 할 수 있다. 그러나, 일부 실시예들에서, 참조 이미지들의 저장소가 단계(504)에서 생성될 필요는 없다. 오히려 단계(502)에서 캡처된 뷰들 및 연관된 메타데이터는 도 1 내지 도 3의 설명과 관련하여 설명된 기술들을 사용하여 에셋의 원하는 임의적 뷰를 생성하기에 충분하다. 즉, 에셋의 영역들 또는 표면들 모두는 아니지만 대부분을 캡처하고 관련 메타데이터에 등록된 중첩하는 시야들을 갖는 고품질 이미지들/스캔들의 작은 세트로부터 임의의 원하는 임의적 뷰 또는 퍼스펙티브가 간단하게 생성될 수 있다. 단계(502)에서 캡처된 소스 이미지들로부터만 원하는 임의적 뷰를 생성하는 것과 연관된 프로세싱은 많은 주문형 실시간 애플리케이션들에 대해 충분히 빠르다. 그러나, 속도의 추가 효율성이 요구되는 경우, 프로세스(500)의 단계(504)에서와 같이 참조 뷰들의 저장소가 생성될 수 있다.
설명된 바와 같이, 데이터베이스(106)에 있는 에셋의 각각의 이미지 또는 뷰는 대응하는 메타데이터와 함께 저장될 수 있다. 메타데이터는 모델로부터 뷰를 렌더링할 때, 에셋을 이미징 또는 스캔할 때(이 경우 깊이 및/또는 표면 법선 데이터가 추정될 수 있음), 또는 둘의 조합일 때 3차원 메쉬 모델로부터 생성될 수 있다.
에셋의 규정된 뷰 또는 이미지는 이미지를 구성하는 각 픽셀에 대한 픽셀 강도 값들(예를 들어, RGB 값들) 및 각 픽셀과 연관된 다양한 메타데이터 파라미터들을 포함한다. 일부 실시예들에서, 픽셀의 하나 이상의 적색, 녹색, 및 청색(RGB) 채널들 또는 값들이 픽셀 메타데이터를 인코딩하기 위해 이용될 수 있다. 예를 들어, 픽셀 메타데이터는 해당 픽셀에 투영하는 3차원 공간의 포인트의 상대적 위치 또는 포지션(예를 들어, x, y, 및 z 좌표 값들)에 대한 정보를 포함할 수 있다. 또한, 픽셀 메타데이터는 해당 위치에서 표면 법선 벡터들(예를 들어, x, y, 및 z 축들로 이루어진 각도들)에 대한 정보를 포함할 수 있다. 더욱이, 픽셀 메타데이터는 텍스처 매핑 좌표들(예를 들어, u 및 v 좌표 값들)을 포함할 수 있다. 이 경우, 텍스처 이미지의 해당 좌표들에서 RGB 값들을 판독함으로써 한 지점에서의 실제 픽셀 값이 결정된다.
표면 법선 벡터들은 생성된 임의적 뷰 또는 장면의 조명을 수정하거나 변경하는 것을 용이하게 한다. 보다 구체적으로, 장면을 다시 조명(re-lighting)하는 것은 픽셀의 표면 법선 벡터들이 새롭게 추가, 제거, 또는 변경된 광원의 방향과 얼마나 잘 일치하는지에 따라 픽셀 값들을 스케일링하는 것을 포함하며, 이는 예를 들어 광의 방향과 픽셀들의 법선 벡터들의 내적(dot product)에 의해 적어도 부분적으로 정량화될 수 있다. 텍스처 매핑 좌표들을 통해 픽셀 값들을 지정하는 것은 생성된 임의적 뷰 또는 장면 또는 그 일부의 텍스처를 수정하거나 변경하는 것을 용이하게 한다. 보다 구체적으로, 참조된 텍스처 이미지를 동일한 치수들을 갖는 다른 텍스처 이미지로 간단히 교체하거나 대체함으로써 텍스처를 변경할 수 있다.
설명된 바와 같이, 에셋의 기본 메쉬 모델이 있거나 없이 에셋의 참조 이미지들 또는 뷰들이 생성될 수 있다. 가장 효율적인 실시예들에서, 도 1 내지 도 3의 설명과 관련하여 설명된 기술들을 사용하여 원하는 임의적 뷰가 생성될 수 있는 참조 뷰들의 세트 및/또는 에셋의 임의의 원하는 임의적 뷰를 생성하기 위해 에셋 둘레에 다양한 (중첩하는) 뷰들을 캡처하는 소스 이미지들/스캔들의 작은 세트 및 그들의 연관된 관련 메타데이터가 단순히 필요하다. 이러한 실시예들에서, 모델링 및 경로 추적 기반 렌더링의 가장 리소스 집약적인 단계들이 제거된다. 개시된 임의적 뷰 생성 기술들을 사용하여 생성된 이미지들 또는 뷰들은 정적 또는 동적 장면들을 포함할 수 있고 애니메이션 또는 비디오 시퀀스의 스틸들 또는 프레임들을 포함할 수 있다. 모션 캡처의 경우, 하나 이상의 에셋들에 대한 이미지들 또는 뷰들의 세트가 각 타임 슬라이스에 대해 생성될 수 있다. 개시된 기술들은 게임 애플리케이션, 가상/대체 현실 애플리케이션, CGI(컴퓨터 생성 형상) 애플리케이션 등과 같은 고품질 임의적 뷰들의 빠른 생성을 요구하는 애플리케이션들에서 특히 유용하다.
3차원 모델들로부터의 렌더링에 기초하는 기존 3차원 콘텐트 프레임워크들은 일반적으로 특정 용도들에 맞게 개발 및 최적화되며 상이한 플랫폼들 및 애플리케이션들에 대한 확장성(scalability)이 부족한다. 결과적으로, 상이한 사용처들(use cases)에 대해 동일한 3차원 콘텐트를 생성하는 데 상당한 노력과 리소스들을 투자하고 복제해야 한다. 또한, 3차원 콘텐트에 대한 요구 사항들은 시간이 지남에 따라 움직이는 타겟들에 직면해 있다. 따라서, 3차원 콘텐트는 변화하는 요구 사항들에 따라 수동으로 재생성될 필요가 있다. 상이한 플랫폼들, 디바이스들, 애플리케이션들, 사용처들, 및 일반적으로 다양한 품질 요구 사항들에 걸쳐 3차원 콘텐트 포맷들을 표준화하는 어려움은 지금까지 3차원 콘텐트의 확산을 방해하는 결과를 가져왔다. 따라서, 본 명세서에 개시된 바와 같이 임의의 원하는 품질 레벨을 전달하기 위해 이용될 수 있는 3차원 콘텐트를 표현하기 위한 보다 스케일 가능한 포맷(scalable format)이 필요하다.
개시된 기술들은 3차원 콘텐트를 2차원 콘텐트로 표현하기 위한 근본적으로 새로운 프레임워크를 포함하는 동시에 다양한 다른 특징들 및 이점들뿐만 아니라 전통적인 3차원 프레임워크들의 모든 속성들을 여전히 제공한다. 이전에 설명된 바와 같이, 3차원 콘텐트 및 대응하는 정보는, 연관된 에셋의 기본 3차원 모델을 요구하지 않고 임의의 원하는 임의적 뷰가 생성될 수 있는 복수의 이미지들로 인코딩된다. 즉, 전술한 기술들은 3차원 소스 콘텐트를 2차원 콘텐트, 즉 이미지들로 변환하는 것을 효과적으로 포함한다. 보다 구체적으로, 개시된 기술들은 3차원 모델들을 포함하는 전통적인 3차원 플랫폼들을 효과적으로 대체하는 에셋과 연관된 이미지들의 세트를 포함하는 2차원 플랫폼을 초래한다. 이전에 설명된 바와 같이, 2차원 플랫폼을 포함하는 이미지들은 3차원 모델들 및/또는 소스 이미지들 또는 스캔들의 작은 세트로부터 생성될 수 있다. 관련 메타데이터는 에셋의 각 뷰와 관련하여 저장되며 일부 경우에서는 픽셀 값들로 인코딩된다. 주어진 2차원 아키텍처의 이미지 기반 뷰들 및 메타데이터는 2차원 콘텐트를 3차원 소스로 사용하는 것을 용이하게 한다. 따라서, 개시된 기술들은 기본 3차원 폴리곤 메쉬 모델들을 사용하여 렌더링에 의존하는 전통적인 3차원 아키텍처를 완전히 대체한다. 물리적 에셋 또는 에셋의 3차원 메쉬 모델과 같은 3차원 소스 콘텐트는, 전통적으로는 에셋의 복수의 상이한 뷰들 또는 퍼스펙티브들을 생성하는 능력을 포함하는 3차원 프레임워크들을 통해서만 이용 가능한 피처들(features)을 표현하고 제공하기 위해 대신에 이용되는 메타데이터 및 뷰들의 세트를 포함하는 2차원 포맷으로 변환되거나 또는 인코딩된다. 전통적인 3차원 프레임워크들의 모든 피처들을 제공하는 것 외에도, 개시된 2차원 표현은 전통적인 이미지 프로세싱 기술들에 적용할 수 있는 것을 포함하여 다양한 추가적인 고유 피처들을 제공한다.
3차원 콘텐트를 표현하기 위한 개시된 2차원 프레임워크에서, 에셋에 대한 정보는 이미지 데이터로 인코딩된다. 이미지는 높이, 너비, 및 픽셀 값들을 포함하는 제3 치수를 갖는 어레이를 포함한다. 에셋과 연관된 이미지들은 에셋의 다양한 참조 뷰들 또는 퍼스펙티브 및/또는 픽셀 값, 예를 들어 RGB 채널 값들로 인코딩된 대응하는 메타데이터를 포함할 수 있다. 이러한 메타데이터는 예를 들어 카메라 특성들, 텍스처들, uv 좌표 값들, xyz 좌표 값들, 표면 법선 벡터들, 전역 조명 값(global illumination values) 또는 규정된 조명 모델(prescribed lighting model)과 연관된 값들과 같은 조명 정보(lighting information)를 포함할 수 있다. 다양한 실시예들에서, 에셋의 참조 뷰들 또는 퍼스펙티브들을 포함하는 이미지들은 (고품질) 사진 또는 (사실적) 렌더링일 수 있다.
예를 들어 임의적 카메라 특성들(카메라 포지션 및 렌즈 유형 포함), 임의적 에셋 앙상블들 또는 조합, 임의적 조명, 임의적 텍스처 변형 등을 갖는 에셋들의 원하는 임의적 뷰들 또는 퍼스펙티브들을 렌더링하는 능력을 포함하여 개시된 2차원 프레임워크에 의해 다양한 피처들이 지원된다. 완전한 카메라 정보가 알려져 있고 에셋의 참조 뷰들과 함께 저장되기 때문에, 임의적 카메라 특성들을 포함하는 에셋의 다른 새로운 뷰들이 에셋의 복수의 퍼스펙티브 변환된 참조 뷰들로부터 생성될 수 있다. 보다 구체적으로, 단일의 객체 또는 장면에 대한 규정된 임의적 뷰 또는 퍼스펙티브는 객체 또는 장면과 연관된 복수의 기존의 참조 이미지들로부터 생성될 수 있으며, 규정된 임의적 앙상블 뷰는 복수의 객체들 또는 장면들을 객체들 또는 장면들과 연관된 참조 이미지들의 세트로부터의 통합 뷰로 정규화하고 일관되게 결합함으로써 생성될 수 있다. 에셋들의 참조 뷰들은 전역 조명 모델과 같은 하나 이상의 조명 모델들에 의해 모델링된 조명(lighting)을 가질 수 있다. 참조 뷰들에 대해 알려진 표면 법선 벡터들은 임의의 원하는 조명 모델에 따라 이미지 또는 장면을 재조명(re-light)하는 능력을 포함하여 임의적 조명 제어를 용이하게 한다. 에셋들의 참조 뷰들은 참조된 텍스처 이미지들을 단순히 변경함으로써 임의의 원하는 텍스처들이 대체될 수 있도록 하여 임의적 텍스처 제어를 용이하게 하는 텍스처 매핑(uv) 좌표들을 통해 지정된 텍스처들을 가질 수 있다.
설명된 바와 같이, 개시된 2차원 프레임워크는 이미지 데이터 세트들에 기초하며 결과적으로 이미지 프로세싱 기술들에 적용할 수 있다. 따라서, 3차원 콘텐트를 표현하기 위한 개시된 이미지 기반 2차원 프레임워크는 본질적으로 매끄럽게 스케일 가능하고(seamlessly scalable) 계산 및 대역폭 스펙트럼들의 상하 모두에서 리소스 적응적(resource adaptive)이다. 이미지 압축 기술들과 같은 이미지들을 스케일링하기 위한 기존 기술들은 개시된 프레임워크의 이미지 기반 3차원 콘텐트를 스케일링하는 데 유리하게 이용될 수 있다. 개시된 2차원 프레임워크를 포함하는 이미지들은 상이한 채널들, 플랫폼들, 디바이스들, 애플리케이션들 및/또는 사용처들의 요구 사항들을 적절하게 따르도록 품질 또는 해상도 측면에서 쉽게 스케일링될 수 있다. 이미지 품질 또는 해상도 요구 사항들은 모바일과 데스크탑과 같은 상이한 플랫폼들, 주어진 플랫폼의 상이한 디바이스 모델들, 머신에서 로컬적으로 실행되는 네이티브 애플리케이션들과 온라인 뷰어들과 같은 상이한 애플리케이션들, 시간 경과에 따라, 상이한 네트워크 대역폭 등에 대해 크게 다를 수 있다. 따라서, 상이한 사용처들의 요구 사항들을 포괄적으로 충족하고 시간 경과에 따른 요구 사항들의 변화에 영향을 받지 않는 개시된 2차원 프레임워크와 같은 아키텍처가 필요하다.
일반적으로, 개시된 2차원 프레임워크는 리소스 적응적 렌더링(resource adaptive rendering)을 지원한다. 게다가, 시간 변형 품질/해상도 적응(time variant quality/resolution adaptation)은 계산 리소스들 및/또는 네트워크 대역폭의 현재 또는 실시간 가용성에 기초하여 제공될 수 있다. 스케일링, 즉 이미지 품질 레벨을 부드럽고 매끄럽게 저하시키거나 업그레이드하는 능력을 제공하는 것은 대부분의 경우 완전히 자동화된다. 예를 들어, 개시된 2차원 프레임워크는 수동적인 개입을 요구하지 않고 메타데이터(예를 들어, 텍스처, 표면 법선 벡터, xyz 좌표, uv 좌표, 조명 값 등)를 인코딩하는 이미지 뿐만 아니라 참조 뷰들 또는 퍼스펙티브들을 포함하는 하나 이상의 피처들에 걸쳐 에셋(즉, 에셋을 구성하는 하나 이상의 이미지들)을 자동으로 다운샘플링하는 능력을 제공한다. 그러한 일부 경우에, 에셋의 스케일링은 에셋의 모든 피처들에 걸쳐 균일하지 않을 수도 있지만, 에셋과 연관된 이미지를 포함하거나 인코딩된 정보 유형에 따라 달라질 수 있다. 예를 들어, 에셋의 참조 뷰들 또는 퍼스펙티브들의 실제 이미지 픽셀 값들은 손실 방식(lossy manner)으로 압축될 수 있지만, 깊이(즉, xyz 값들) 및 노멀 값들과 같은 특정 메타데이터를 인코딩하는 이미지들은 동일한 방식으로 압축될 수 없거나 일부 경우에는 전혀 압축될 수 없는데, 이는 렌더링할 때 그러한 정보에서의 손실이 허용되지 않을 수 있기 때문이다.
일부 실시예들에서, 가장 높은 이용 가능한 품질 또는 해상도를 갖는 마스터 에셋(master asset)(즉, 마스터 에셋을 포함하는 이미지들의 세트)이 생성되고, 예를 들어 도 1의 데이터베이스(106)에 저장된다. 그러한 일부 경우에, 에셋의 하나 이상의 저품질/해상도 버전들이 마스터 에셋으로부터 자동으로 생성 및 저장되고, 그에 따라 요청된 퍼스펙티브를 생성하는 서버의 (현재) 능력, 요청하는 클라이언트, 및/또는 하나 이상의 연관된 통신 네트워크들에 기초하여 요청된 퍼스펙티브 또는 뷰를 생성하기 위해 적절한 버전이 선택될 수 있다. 대안적으로, 일부 경우에서, 에셋의 단일 버전, 즉 마스터 에셋이 저장되고, 개시된 프레임워크는 요청된 퍼스펙티브를 생성하는 서버의 (현재) 능력, 요청하는 클라이언트, 및/또는 하나 이상의 연관된 통신 네트워크들에 기초하여 마스터 에셋의 품질 또는 해상도까지 품질 또는 해상도의 스트리밍 또는 점진적 전달을 지원한다.
도 6은 장면의 요청된 뷰를 제공하기 위한 프로세스의 실시예를 도시하는 흐름도이다. 프로세스(600)는 예를 들어 도 1의 임의적 뷰 생성기(102)에 의해 사용될 수 있다. 일부 실시예들에서, 도 3의 프로세스(300)는 프로세스(600)의 일부이다. 다양한 실시예들에서, 프로세스(600)는 하나 이상의 에셋들, 즉 규정된 에셋 또는 에셋들의 임의적 앙상블을 포함하는 장면의 임의적 뷰를 생성하기 위해 이용될 수 있다.
프로세스(600)는 단계(602)에서 시작하며, 여기서 이미 존재하지 않고 장면의 임의의 다른 기존 이용 가능한 뷰들과 상이한 장면의 원하는 임의적 뷰에 대한 요청이 수신된다. 일반적으로, 임의적 뷰는 요청되기 전에 사양(specification)이 미리 알려지지 않은 장면 또는 에셋의 임의의 원하는 뷰를 포함할 수 있다. 단계(602)의 임의적 뷰 요청은 클라이언트로부터 수신될 수 있고, 규정된 카메라 특성들(예를 들어, 렌즈 유형 및 포즈/퍼스펙티브), 조명, 텍스처, 에셋 앙상블 등의 사양들을 포함할 수 있다.
단계(604)에서, 단계(602)에서 요청된 장면의 임의적 뷰가 이용 가능한 리소스들에 기초하여 생성되거나 렌더링된다. 예를 들어, 단계(604)에서 생성된 요청된 임의적 뷰는, 임의적 뷰를 요청하는 클라이언트의 계산 또는 프로세싱 능력, 요청된 임의적 뷰를 생성하는 서버, 및/또는 클라이언트와 서버 사이의 하나 이상의 연관된 통신 네트워크들의 대역폭 가용성에 기초하여 적절하게 스케일링될 수 있다. 보다 구체적으로, 단계(604)는 다음에 설명되는 하나 이상의 연관된 축들을 따라 스케일링 또는 튜닝함으로써 응답성을 위해 이미지 품질을 절충함으로써 리소스 적응적 렌더링을 용이하게 한다.
개시된 기술들을 사용하여 단계(604)에서 생성되거나 렌더링되는 요청된 뷰를 포함하는 이미지의 품질은 요청된 뷰를 생성하는 데 사용되는 다수의 기존 퍼스펙티브 변환된 참조 이미지들에 적어도 부분적으로 기초할 수 있다. 많은 경우에, 참조 이미지들을 많이 사용하는 것은 품질을 높이고 참조 이미지들을 적게 사용하는 것은 품질을 낮아지게 한다. 따라서, 요청된 뷰를 생성하는 데 사용되는 상이한 퍼스펙티브들을 갖는 참조 이미지들의 수는 다양한 플랫폼들, 디바이스들, 애플리케이션들 또는 사용처들에 맞게 적응되거나 최적화될 수 있으며, 실시간 리소스 가용성 및 제약 조건들에 기초하여 추가적으로 적응될 수 있다. 몇 가지 예들로서, 상대적으로 더 많은 수의 참조 이미지들(예를 들어, 60개의 이미지들)은 고속 인터넷 연결을 갖는 데스크탑의 네이티브 애플리케이션에 대한 것이거나 스틸 이미지(still image)를 포함하는 요청된 뷰를 생성하는 데 이용될 수 있으며, 한편 비교적 적은 수의 참조 이미지들(예를 들어, 12개의 이미지들)은 모바일 디바이스를 위한 웹 애플리케이션에 대한 것이거나 비디오 또는 증강 현실 시퀀스의 프레임을 포함하는 요청된 뷰를 생성하는 데 이용될 수 있다.
개시된 기술들을 사용하여 단계(604)에서 생성되거나 렌더링되는 요청된 뷰를 포함하는 이미지의 품질은 요청된 뷰, 즉 하나 이상의 에셋들의 참조 퍼스펙티브들 및 연관된 메타데이터를 포함하는 이미지들을 생성하는 데 이용되는 하나 이상의 에셋들을 포함하는 이미지들의 해상도들(즉, 픽셀 밀도들)에 적어도 부분적으로 기초할 수 있다. 에셋을 포함하는 이미지들의 고해상도 버전들은 더 높은 품질을 초래하는 반면 에셋을 포함하는 이미지의 더 낮은 해상도 버전들은 더 낮은 품질을 초래한다. 따라서 요청된 뷰를 생성하는 데 사용되는 상이한 퍼스펙티브들 및 연관된 메타데이터를 포함하는 이미지들의 해상도들 또는 픽셀 밀도들은 다양한 플랫폼들, 디바이스들, 애플리케이션들 또는 사용처들에 맞게 적응되거나 최적화될 수 있으며, 실시간 리소스 가용성 및 제약 조건들에 기초하여 추가적으로 적응될 수 있다. 몇 가지 예들로서, 하나 이상의 에셋들과 연관된 이미지들의 상대적으로 더 높은 해상도(예를 들어, 2Kx2K) 버전들은 고속 인터넷 연결을 갖는 데스크탑의 네이티브 애플리케이션에 대해 요청된 뷰를 생성하는 데 이용될 수 있으며, 한편 하나 이상의 에셋들과 연관된 이미지들의 상대적으로 더 낮은 해상도(예를 들어, 512x512) 버전들은 모바일 디바이스를 위한 웹 기반 애플리케이션에 대한 요청된 뷰를 생성하는 데 이용될 수 있다.
개시된 기술들을 사용하여 단계(604)에서 생성되거나 렌더링되는 요청된 뷰를 포함하는 이미지의 품질은 요청된 뷰, 즉 하나 이상의 에셋들의 참조 퍼스펙티브들 및 연관된 메타데이터를 포함하는 이미지들을 생성하는 데 이용되는 하나 이상의 에셋들을 포함하는 이미지들의 비트 깊이들(즉, 픽셀당 비트들)에 적어도 부분적으로 기초할 수 있다. 에셋을 포함하는 이미지들의 더 높은 비트 깊이 버전들은 더 높은 품질을 초래하는 반면 에셋을 포함하는 이미지들의 더 낮은 비트 깊이 버전들은 더 낮은 품질을 초래한다. 따라서 요청된 뷰를 생성하는 데 사용되는 상이한 퍼스펙티브들 및 연관된 메타데이터를 포함하는 이미지들의 픽셀들의 정밀도는 다양한 플랫폼들, 디바이스들, 애플리케이션들 또는 사용처들에 맞게 적응되거나 최적화될 수 있으며, 실시간 리소스 가용성 및 제약 조건들에 기초하여 추가적으로 적응될 수 있다. 몇 가지 예들로서, 하나 이상의 에셋들과 연관된 이미지들의 고정밀도 버전들(예를 들어, 텍스처 값들의 경우 64bpp, xyz 좌표들 및 법선 벡터들의 경우 부동(float))은 더 높은 품질의 요청된 뷰를 생성하는 데 이용될 수 있으며, 한편 하나 이상의 에셋들과 연관된 이미지들의 더 낮은 정밀도 버전들(예를 들어, 텍스처 값들의 경우 24bpp, xyz 좌표들 및 법선 벡터들의 경우 48bpp)은 더 낮은 품질의 요청된 뷰를 생성하는 데 이용될 수 있다.
리소스 적응적 렌더링을 위한 개시된 기술들은 장면의 요청된 임의적 뷰를 생성하거나 렌더링하는 데 사용되는 이미지들의 3개 축들(수, 해상도, 및 비트 깊이) 중 임의의 하나 이상을 따라 이산 및/또는 연속 스케일링을 지원한다. 요청된 뷰의 이미지 품질은 요청된 뷰를 생성하거나 렌더링하는 데 사용되는 참조 뷰들 및 메타데이터를 포함하는 이미지들의 상이한 조합들 또는 버전들을 적절하게 스케일링 및/또는 선택함으로써 변경될 수 있다. 요청된 뷰의 출력 이미지 품질은 하나 이상의 (실시간) 고려사항들 및/또는 제약 사항들에 기초하여 단계(604)에서 선택될 수 있다. 예를 들어, 요청된 뷰에 대해 선택된 이미지 품질은 요청한 클라이언트의 플랫폼 또는 디바이스 유형(예를 들어, 모바일과 데스크탑 및/또는 그의 모델들), 규정된 뷰포인트 크기 및/또는 필 팩터(fill factor)(예를 들어, 512x512 윈도우와 4K 윈도우)를 갖는 웹 페이지 상에서와 같은 사용처, 애플리케이션 유형(예를 들어, 스틸 이미지들과 비디오, 게임, 또는 가상/증강 현실 시퀀스의 프레임들), 네트워크 연결 유형(예를 들어, 모바일과 광대역) 등에 기초할 수 있다. 따라서, 규정된 사용처(prescribed use case)는 물론 규정된 사용처에 대한 클라이언트의 능력에 기초하여 품질이 선택될 수 있다.
일부 실시예들에서, 개시된 기술들은 또한 클라이언트 디바이스에서 이용 가능하거나 실현 가능한 최대 품질까지 낮은 품질로부터 높은 품질까지의 스트리밍 또는 점진적 전달을 지원한다. 많은 경우에, 요청된 뷰를 생성하는 데 사용할 참조 이미지들의 수의 스케일링 또는 선택은 연관된 애플리케이션의 대기시간 요구 사항들(latency requirements)에 적어도 부분적으로 의존한다. 예를 들어, 스틸 이미지를 생성하기 위해 상대적으로 많은 수의 참조 이미지들이 이용될 수 있지만, 뷰들이 급격히 변화하는 애플리케이션들에 대한 프레임을 생성하기 위해서는 상대적으로 더 적은 수의 참조 이미지들이 이용될 수 있다. 다양한 실시예들에서, 스케일링은 스케일링에 이용가능한 전술한 축들 중 하나 이상에 걸쳐 및/또는 다양한 이미지들에 의해 인코딩된 정보의 유형에 따라 동일하거나 상이할 수 있다. 예를 들어, 요청된 뷰를 생성하는 데 사용되는 이미지들의 해상도 및 비트 깊이는 정비례 방식으로 균일하게 또는 독립적으로 스케일링될 수 있다. 일례로, 해상도는 다운샘플링될 수 있지만 비트 깊이는 톤 품질(tonal quality)(조명(lighting), 색상(color), 대비(contrast))을 유지하는 것이 중요한 애플리케이션들에서 높은 동적 범위 및 색상 심도(color depth)를 보존하기 위해 전혀 하향 스케일링되지 않을 수 있다. 또한, 요청된 뷰를 생성하는 데 사용되는 이미지들의 해상도 및 비트 깊이는 이미지들에 인코딩된 정보의 유형에 따라 상이하게 스케일링될 수 있으며, 이는 참조 뷰들의 실제 픽셀 값들과 같은 일부 유형의 데이터에 대해서는 손실이 허용될 수 있지만 표면 법선 벡터들 및 깊이(xyz 좌표들)와 같은 메타데이터를 포함한 다른 유형의 데이터에는 허용되지 않을 수 있기 때문이다.
단계(606)에서, 단계(604)에서 생성되거나 렌더링된 요청된 뷰가, 예를 들어, 단계(602)의 수신된 요청을 이행하기 위해 요청하는 클라이언트에 제공된다. 이어서 프로세스(600)가 종료된다.
설명된 바와 같이, 에셋 또는 에셋 앙상블을 포함하는 장면의 원하는 임의적 뷰들을 생성하거나 렌더링하기 위한 전술한 2차원 프레임워크는 각각의 참조 뷰 또는 퍼스펙티브와 연관된 메타데이터 및 상이한 퍼스펙티브들을 갖는 참조 뷰들을 포함하는 이미지들에 기초한다. 몇 가지 예들로서, 각각의 참조 뷰 또는 퍼스펙티브와 연관된 메타데이터는 참조 뷰 또는 퍼스펙티브의 각 픽셀을 3차원 공간에서의 위치(xyz 좌표 값들) 및 해당 위치에서의 표면 법선 벡터들과 연관시킬 수 있다. 3차원 모델들을 사용하는 물리 기반 렌더링 기술들을 통해 생성된 이미지들의 경우, 관련 메타데이터는 해당 3차원 모델들로부터 캡처되거나 생성될 수 있고 이미지들과 연관될 수 있다. 하나 이상의 메타데이터 유형들이 알려지지 않은 이미지들(예를 들어, 사진들/스캔들 또는 다른 렌더링들)의 경우, 이러한 메타데이터 값들은 기계 학습 기반 기술들을 사용하여 결정될 수 있다. 예를 들어, 신경망들은 다음에 더 설명되는 바와 같이, 이미지 공간으로부터 메타데이터 공간으로의 매핑들을 결정하기 위해 이용될 수 있다.
도 7은 이미지 데이터 세트들과 연관된 속성을 학습하기 위한 기계 학습 기반 이미지 프로세싱 프레임워크(700)의 실시예의 상위 레벨 블록도이다. 에셋들의 이용 가능한 3차원(다각형 메쉬) 모델들과 규정된 모델링된 환경(702)은 예를 들어 물리적 기반 렌더링 기술들을 사용하여 광범위한 이미지 데이터 세트들(704)을 렌더링하는 데 사용된다. 일부 실시예들에서, 모델링된 환경은 물리적 에셋들이 이미지화되거나 촬영되는 실제 물리적 환경과 거의 일치하거나 실질적으로 시뮬레이션한다. 렌더링된 이미지 데이터 세트들(704)은 사실적 렌더링들을 포함할 수 있고 텍스처들 및 에셋들의 복수의 뷰들 또는 퍼스펙티브들을 포함할 수 있다. 더욱이, 렌더링된 이미지 데이터 세트들(704)은 적절하게 라벨링되거나(labeled) 태그되거나(tagged) 또는 렌더링 동안 결정 및/또는 캡처된 관련 메타데이터와 연관된다.
광범위한 태그된 데이터 세트들(704)은 인공 지능 기반 학습에 완벽하게 적합하다. 예를 들어, 심층 신경망들(deep neural networks) 및 컨볼루션 신경망들(convolutional neural networks)과 같은 하나 이상의 적절한 기계 학습 기술들의 임의의 조합을 사용하여 데이터 세트들(704)에 대한 트레이닝(706)은 연관된 메타데이터 값들과 같은 학습되는 데이터 세트들(704)과 연관된 하나 이상의 특성들 또는 속성들(708)의 세트를 야기한다. 이러한 학습된 속성들은 데이터 세트들(704)과 연관된 라벨들, 태그들, 또는 메타데이터로부터 파생되거나 추론될 수 있다. 이미지 프로세싱 프레임워크(700)는 다양한 에셋들 및 에셋 조합들과 연관된 복수의 상이한 트레이닝 데이터 세트에 대해 트레이닝될 수 있다. 그러나, 일부 실시예들에서, 트레이닝 데이터 세트들의 적어도 일부는 규정된 모델링된 환경으로 제한된다. 다양한 속성들 또는 속성 유형들을 학습하기 위해 대규모 데이터 세트들을 트레이닝한 후, 이미지 프로세싱 프레임워크(700)는, 트레이닝 데이터의 모델 환경에 의해 모델링된 환경과 일치하거나 유사한 실제 물리적 환경에서 캡처된 사진들 및 트레이닝 데이터와 동일하거나 유사한 모델 환경과 관련하여 렌더링되는 에셋들의 다른 렌더링을 포함하여, 속성들이 알려지지 않은 다른 이미지들에서의 유사한 속성들 또는 이들의 조합들을 검출하거나 유도하기 위해 후속적으로 이용될 수 있다. 일례로, 물리적 xyz 위치 좌표들에 대한 이미지 픽셀 및 표면 법선 벡터들에 대한 이미지 픽셀들로 태그된 데이터 세트들에 대해 트레이닝된 기계 학습 기반 프레임워크는 메타데이터 값들이 알려지지 않은 이미지들의 표면 법선 벡터들 및 위치(또는 동등하게 깊이, 즉 카메라로부터의 xyz 거리)를 예측하는 데 이용될 수 있다.
개시된 프레임워크는, 알려져 있고 시뮬레이션 또는 모델링될 수 있는 제어되거나 제한된 물리적 환경이 개별적인 에셋들 또는 이들의 조합들을 이미지화하거나 사진을 찍는 데 사용될 때 특히 유용하다. 예시적인 애플리케이션에서, 예를 들어, 객체들 또는 아이템들을 이미지화 또는 촬영하기 위한 규정된 장치(예를 들어, 카메라 장비)가 소매상의 제품 창고에서 이용될 수 있다. 그러한 애플리케이션에서, 예를 들어 일부 경우에서 이미징 장치 내에서 이미지화된 객체들의 뷰포인트 또는 퍼스펙티브로부터, 객체들이 이미지화되거나 촬영되는 실제 물리적 환경에 대한 정확한 정보가 알려져 있다. 실제 물리적 환경에 대한 알려진 정보는 예를 들어 이미징 장치의 구조 및 기하학 구조; 사용된 카메라들의 수, 유형들, 및 포즈들; 광원들 및 주변 조명의 포지션 및 강도; 등을 포함할 수 있다. 실제 물리적 환경에 대한 이러한 알려진 정보는, 모델링된 환경이 실제 물리적 환경과 동일하거나 적어도 실질적으로 복제 또는 시뮬레이션하도록, 기계 학습 기반 이미지 프로세싱 프레임워크의 트레이닝 데이터 세트들의 렌더링의 모델링된 환경을 지정하는 데 사용된다. 일부 실시예들에서, 예를 들어, 모델링된 환경은 실제 물리적 환경에서와 동일한 카메라 구성들 및 조명들뿐만 아니라 이미징 장치의 3차원 모델을 포함한다. 메타데이터 값들은 알려진 메타데이터 값들로 태그된 트레이닝 데이터 세트들로부터 학습되므로, 개시된 기계 학습 기반 프레임워크를 이용하여 실제 물리적 환경에서 캡처된 사진들과 같이 메타데이터 값들이 알려지지 않은 형상에 대한 메타데이터 값들을 검출하거나 예측할 수 있다. 환경의 특정 속성들(예를 들어, 기하학 구조, 카메라, 조명)을 알려진 값들로 제한하면 학습을 용이하게 하고 다른 속성들(예를 들어, 깊이/위치, 표면 법선 벡터들)을 예측할 수 있다.
기술된 바와 같이, 기계 학습 기반 이미지 프로세싱 프레임워크는 메타데이터 값들이 알려져 있고 이용 가능한 3차원 모델들 및 규정된 모델링된 환경으로부터 생성된 렌더들(renders)로부터 메타데이터를 학습하기 위해 이용될 수 있으며, 기계 학습 기반 이미지 프로세싱 프레임워크는 후속적으로 메타데이터 값들이 알려져 있지 않은 이미지들의 메타데이터 값들을 식별하는 데 이용될 수 있다. 주어진 예들 중 일부에서 규정된 물리적 및 대응하는 모델링된 환경과 관련하여 설명되었지만, 개시된 기술들은 일반적으로 상이한 유형들의 에셋들, 모델 환경들, 및/또는 이들의 조합들에 대한 상이한 유형들의 이미지 메타데이터를 학습하고 예측하기 위해 이용되고 적응될 수 있다. 예를 들어, 설명된 기계 학습 기반 프레임워크는, 트레이닝 데이터 세트들이 충분히 포괄적이고 다양한 에셋들 및 환경들에 걸쳐 있다는 점을 감안할 때, 임의의 환경에서 렌더링되거나 캡처되는 임의의 에셋들의 이미지들에 대한 알려지지 않은 메타데이터 값들을 결정하도록 트레이닝될 수 있다.
도 8은 에셋 또는 장면의 다른 임의적 뷰들을 생성하는 데 사용될 수 있는 에셋 또는 장면과 연관된 이미지로 데이터베이스를 채우는 프로세스의 실시예를 도시하는 흐름도이다. 예를 들어, 도 8의 프로세스(800)는 도 1의 에셋 데이터베이스(106)를 채우기 위해 이용될 수 있다. 프로세스(800)는 도 7의 프레임워크(700)와 같은 기계 학습 기반 프레임워크를 이용한다. 일부 실시예들에서, 프로세스(800)의 이미지들은 규정된 물리적 및 대응하는 모델링된 환경으로 제한된다. 그러나, 보다 일반적으로, 프로세스(800)는 임의의 물리적 또는 모델링된 환경(들)과 관련하여 이용될 수 있다.
프로세스(800)는 트레이닝 데이터 세트들과 연관된 메타데이터가 기계 학습 기반 기술들을 사용하여 학습되는 단계(802)에서 시작한다. 일부 실시예들에서, 트레이닝에 사용되는 이미지 데이터 세트는 예를 들어 기하학 구조, 카메라, 조명 등의 규정된 사양들에 의해 정의된 시뮬레이션 또는 모델링된 환경에서 에셋 또는 장면의 알려진 3차원 모델로부터 렌더링된 에셋 또는 장면의 이미지들의 광범위한 수집을 포함한다. 학습된 메타데이터는 다른 유형들의 이미지 메타데이터 값들을 포함할 수 있다. 단계(802)의 트레이닝 데이터 세트들은 규정된 모델 환경에서 상이한 에셋들을 커버할 수 있거나, 보다 일반적으로, 상이한 환경들에서 상이한 에셋들을 철저히 커버할 수 있다.
단계(804)에서, 하나 이상의 이미지 메타데이터 값들이 알려지지 않았거나 불완전한 이미지가 수신된다. 수신된 이미지는 렌더링 또는 사진 또는 스캔을 포함할 수 있다. 일부 실시예들에서, 수신된 이미지는 단계(802)의 트레이닝 이미지 데이터 세트들 중 적어도 일부에 대해 사용된 렌더링 환경과 동일하거나 유사한 모델링된 또는 물리적 환경에 대해 생성되거나 캡처된다.
단계(806)에서, 수신된 이미지의 알려지지 않거나 불완전한 메타데이터 값들이 프로세스(800)의 기계 학습 기반 프레임워크를 사용하여 결정되거나 예측된다. 단계(808)에서, 수신된 이미지 및 관련 메타데이터는 예를 들어 도 1의 에셋 데이터베이스(106)에 저장된다. 이어서 프로세스(800)가 종료된다.
관련 메타데이터를 결정하고 이미지(즉, 단계(804)에서 수신되고 단계(808)에서 저장된 이미지)와 연관시킴으로써, 프로세스(800)는 연관된 에셋 또는 장면의 다른 임의적 뷰들을 생성하는 데 추후에 사용될 수 있는 연관된 에셋 또는 장면의 참조 이미지 또는 뷰로 이미지를 변화하는 것을 효과적으로 용이하게 한다. 다양한 실시예들에서, 이미지를 참조 이미지로 저장할 때, 이미지는 대응하는 메타데이터로 적절하게 태깅될 수 있고 및/또는 연관된 메타데이터 값들을 인코딩하는 하나 이상의 이미지들과 연관될 수 있다. 프로세스(800)는 일반적으로, 예를 들어, 임의적 카메라 특성들, 텍스처들, 조명 등을 갖는 연관된 에셋 또는 장면의 다른 뷰들이 생성될 수 있는 참조 이미지가 되도록 이미지에 대해 필요한 알려지지 않은 이미지 메타데이터 값들을 결정하기 위해 기계 학습 기반 기술들을 사용함으로써, 임의의 이미지를 참조 이미지로 변환하는 데 이용될 수 있다. 또한, 프로세스(800)는 깊이 및 법선 벡터 값들과 같이 정확도가 중요한 메타데이터의 유형들을 결정하거나 예측하는 데 특히 유용하다.
설명된 바와 같이, 대부분의 개시된 기술들은 기존의 참조 이미지들 또는 뷰들 및 대응하는 메타데이터의 광범위한 데이터세트들을 이용 가능하고 사용하는 것에 기초한다. 이와 같이, 많은 경우에, 하나 이상의 객체들 또는 에셋들 둘레에 상이한 다른 카메라 퍼스펙티브들을 갖는 일련의 이미지들 또는 뷰들이 렌더링되거나 생성되어 데이터베이스 또는 저장소에 저장된다. 예를 들어, 객체 또는 에셋 둘레의 360도에 걸쳐 있거나 커버하는 각도들을 포함하는 360 회전이 렌더링되거나 생성될 수 있다. 이러한 데이터 세트들은 오프라인으로 구축할 수 있지만, 엄격한 물리적 기반 렌더링 기술들은 리소스 소비 측면에서 비용이 많이 드는 작업이며 상당한 프로세싱 능력과 시간을 요구하다. 객체 또는 에셋 이미지들 또는 뷰들을 보다 효율적으로 생성하거나 렌더링하기 위한 일부 기술들은 이미 설명되었다. 객체 또는 에셋 이미지들 또는 뷰들을 보다 효율적으로 렌더링하거나 생성하기 위한 추가적인 기술들이 다음에 자세히 설명된다.
데이터 또는 데이터 세트들의 특정 유형들과 관련하여 상당한 중복들(redundancies)이 존재한다. 예를 들어, 객체 또는 에셋 둘레에 스핀(spin)을 포함하는 세트의 이미지들 또는 뷰들, 특히 작은 카메라 각도 또는 회전(camera angle or rotation)에 의해서만 다른 이웃하는 이미지들 또는 뷰들 사이에 많은 중복들이 존재한다. 유사하게, 애니메이션 또는 비디오 시퀀스의 프레임들 사이에, 특히 인접하는 또는 이웃하는 프레임 사이에 중복들이 존재한다. 또 다른 예로, 동일한 텍스처를 포함하는 이미지들 또는 뷰들 간에 많은 중복들이 존재한다. 따라서, 보다 일반적으로, 특정 피처 공간들(certain feature spaces)에서 많은 이미지들이 동일하거나 매우 유사한 피처들을 나타내고 중요한 피처 공간 상관 관계들을 공유한다. 예를 들어, 전술한 예들에서, 실질적으로 유사한 텍스처 피처들이 많은 이미지들 또는 뷰들에 의해 공유될 수 있다. 대량의 기존의 객체 또는 에셋 데이터 세트들의 가용성을 감안할 때, 이러한 기존 이미지와 관련된 중복들은 예를 들어 상이한 퍼스펙티브들 또는 상이한 객체 또는 에셋 유형들 또는 모양들의 새로운 이미지들 또는 뷰들을 렌더링하거나 생성할 때 활용될 수 있다. 더욱이, 천천히 변화하는 이미지들 또는 프레임들의 시퀀스에서의 고유한 중복들도 유사하게 활용될 수 있다. 기계 학습은 상대적으로 잘 정의되고 제한된 피처 공간들(constrained feature spaces)을 포함하는 대규모 데이터 세트들의 피처들을 학습하고 검출하는 데 특히 적합하다. 따라서, 일부 실시예들에서, 신경망들과 같은 기계 학습 프레임워크들은 다른 (기존) 이미지들 또는 뷰들에 대한 피처 중복들을 활용하는 것에 기초하여 새로운 이미지들 또는 뷰들을 보다 효과적으로 렌더링하거나 생성하기 위해 이용된다. 일반적으로, 개시된 기술들과 관련하여 임의의 적절한 신경망 구성이 이용될 수 있다.
도 9는 이미지 또는 프레임을 생성하기 위한 프로세스의 실시예를 도시하는 상위 레벨 흐름도이다. 일부 실시예들에서, 프로세스(900)는 입력 이미지를 업스케일링하기 위한 초해상도 프로세스를 포함한다. 아래에 추가로 설명되는 바와 같이, 프로세스(900)는 특히 사실적 고품질 또는 고화질(HD) 형상을 생성할 때 엄격한 물리적 기반 렌더링 및 다른 기존 기술에 비해 리소스 소비를 상당히 줄이는 방식으로 출력 이미지를 보다 효율적으로 생성하는 데 사용될 수 있다.
프로세스(900)는 피처 공간이 식별되거나 정의되는 단계(902)에서 시작한다. 단계(902)에서 식별된 피처 공간은 규정된 텍스처의 피처와 같은 하나 이상의 피처들을 포함할 수 있다. 일부 실시예들에서, 피처 공간은 신경망 기반 기계 학습 프레임워크를 사용하여 단계(902)에서 식별된다. 일부 그러한 경우에, 예를 들어, 신경망은 이미지들의 세트에 대해 알려져 있고 잘 정의된 제한된 피처 공간을 포함하는 규정된 세트의 이미지들에 고유한 하나 이상의 피처들을 결정하거나 검출하는 데 이용된다. 즉, 이미지들의 세트는 피처 공간을 정의하기 위한 프라이어들(priors)과 같은 역할을 한다. 이미지들의 세트는 예를 들어, 엄격하게 렌더링되거나 생성된 이미지들(예를 들어, 고해상도 또는 전체 해상도(high or full resolution) 또는 고화질 이미지들) 및/또는 이전에 렌더링되거나 생성된 기존 이미지들 또는 그 일부들(예를 들어, 기존 이미지들의 패치들)을 포함할 수 있다.
단계(904)에서, 입력 이미지에서 피처들이 검출된다. 보다 구체적으로, 입력 이미지는 입력 이미지에 대한 피처 공간 데이터 값을 결정하기 위해 신경망에 의해 처리된다. 단계(904)의 입력 이미지는 단계(902)의 이미지들의 세트에 비해 더 낮은 계산 복잡성 또는 비용 기술을 사용하여 렌더링되거나 생성되는 낮은 품질 또는 해상도 또는 작은 크기의 이미지를 포함한다. 즉, 단계(904)의 입력 이미지는 단계(902)의 이미지들의 세트를 포함하는 이미지들에 비해 노이즈가 많은(예를 들어, 수렴(convergence)을 위해 충분한 샘플들을 사용하지 않기 때문에) 및/또는 열등한 품질(예를 들어, 더 낮은 해상도 및/또는 크기)의 이미지를 포함한다.
단계(906)에서, 단계(904)에서 입력 이미지에서 검출된 피처들을 단계(902)에서 식별된 피처 공간의 대응하는(예를 들어, 가장 가깝게 또는 가장 근접하게 일치하는) 피처들로 대체함으로써 출력 이미지가 생성된다. 보다 구체적으로는, 단계(902)에서 식별된 피처 공간에 대해 단계(904)에서 입력 이미지에서 검출된 피처들에 대해 최근접 이웃 검색들(nearest neighbor searches)이 수행되고, 단계(904)에서 입력 이미지에서 검출된 피처들이 단계(902)에서 식별된 피처 공간으로부터 대응하는 가장 가깝게 일치하는 피처들에 의해 대체된다. 설명된 피처들의 검출, 최근접 이웃 검색들, 및 피처들의 교체는 피처 공간에서 발생한다. 따라서, 일부 실시예들에서, 단계(906)는 결과적인 출력 이미지를 생성하기 위해 피처 공간으로부터 이미지 공간으로 다시 디코딩 또는 변환하는 것을 포함한다. 피처 공간 조작(feature space manipulations)은 이미지 공간에서 일관된 대응하는 픽셀 레벨 변환들을 초래한다.
일반적으로, 프로세스(900)는 다른 기존의 이미지들로부터 이용 가능한 정보 및 중복성들을 활용함으로써 이미지 복원 또는 업스케일링 또는 수정을 위한 효율적인 프레임워크를 제공한다. 예를 들어, 프로세스(900)는 입력 이미지를 클리닝하기(clean) 위해, 즉 노이즈가 있는 입력 이미지를 상대적으로 노이즈가 제거된 출력 이미지로 변환하는 데 이용될 수 있다. 유사하게, 프로세스(900)는 입력 이미지의 품질을 개선하기 위해, 즉 상대적으로 낮은 품질의 입력 이미지를 예를 들어 해상도, 크기, 비트 깊이 등의 면에서 고품질 출력 이미지로 변환하기 위해 사용될 수 있다. 보다 구체적으로, 프로세스(900)는 이미지들의 세트와 피처 공간에서의 중복들을 공유하는 열등하거나 열악한 입력 이미지에 이미지들의 세트의 피처들을 부여하는 것을 용이하게 한다. 기본적으로 프로세스(900)가 최근접 이웃 검색들과 같은 일부 다른 비교적 단순한 거리 계산들과 결합된 낮은 계산 비용 조회 연산들을 포함하기 때문에, 프로세스(900)는 특히, 엄격한 물리적 기반 렌더링 기술들에 비해 이미지 렌더링 공간에서 상당한 효율성을 제공한다. 따라서, 프로세스(900)는 이미지 또는 프레임을 보다 빠르고 효율적으로 생성하기 위해 이미지 렌더링 또는 생성 파이프라인에서 특히 강력하다. 예를 들어, 낮은 계산 복잡성의 물리적 기반 렌더링 또는 다른 기술이 낮은 품질 또는 해상도 또는 작은 크기의 이미지를 렌더링하거나 생성하는 데 이용될 수 있으며, 프로세스(900)는 후속적으로 그 이미지를 고품질 또는 전체 해상도 또는 큰 크기의 버전로 변환하는 데 이용될 수 있다. 더욱이, 프로세스(900)는 규정된 물리적 환경의 시뮬레이션된 또는 모델링된 버전으로 제한되는 트레이닝 데이터 세트들에 기초하여 규정된 물리적 환경에서 캡처된 사진을 포함하는 입력 이미지를 복원 또는 업스케일링하거나 또는 수정하기 위해 유사하게 이용될 수 있다. 즉, 프로세스(900)는 도 7 및 도 8과 관련하여 이전에 상세하게 설명된 기계 학습 기반 아키텍처와 관련하여 이용될 수 있다.
프로세스(900)는 많은 특정 사용 사례들과 관련하여 이용될 수 있으며 이에 적응될 수 있다. 일부 실시예들에서, 프로세스(900)는 비디오 또는 애니메이션 시퀀스의 객체 또는 에셋 또는 프레임 둘레에 (360도) 스핀을 포함하는 참조 뷰들과 같은 이미지들의 시퀀스를 생성하는 데 이용된다. 그러한 경우에, 프로세스(900)에 의해 활용될 수 있는 시퀀스의 이웃하는 이미지들 또는 프레임들 사이에 상당한 중복들이 존재한다. 한 예에서, 시퀀스의 일부 이미지들은 독립적인 프레임들(I-프레임들)로 분류되고 고화질 또는 전체 화질 또는 해상도 또는 크기로 렌더링된다. I-프레임들로 분류되지 않은 시퀀스의 모든 이미지들은 저화질 또는 해상도 또는 더 작은 크기로 렌더링되고 종속적인 프레임들(D-프레임들)로 분류되는데, 이는 이들이 업스케일링을 위해 다른 프레임들(즉, I-프레임들)에 의존하기 때문이다. 프로세스(900)와 관련하여, I-프레임들은 단계(902)의 이미지들의 세트에 대응하고, 각 D-프레임은 단계(904)의 입력 이미지에 대응한다. 이 예에서, 시퀀스에 대해 선택된 I-프레임들의 수는 더 나은 이미지 품질을 위해 더 많은 I-프레임들이 선택되는 속도와 품질 사이의 원하는 절충에 따라 달라질 수 있다. 일부 경우에, 규정된 간격을 지정하는 고정된 규칙이 I-프레임들을 지정하기 위해 이용될 수 있거나(예를 들어, 시퀀스에서 하나씩 거른 또는 모든 네 번째 이미지가 I-프레임임), 시퀀스에서 I-프레임들을 식별하고 선택하기 위해 특정 임계값들이 설정될 수 있다. 대안적으로, 기존 I-프레임들과 D-프레임들 사이의 상관관계들이 약해짐에 따라 새로운 I-프레임들을 선택하기 위한 적응 기술들이 이용될 수 있다. 일부 실시예들에서, 프로세스(900)는 규정된 텍스처를 포함하는 이미지를 생성하기 위해 이용된다. 프로세스(900)와 관련하여, 이미지의 낮은 품질 또는 해상도 또는 더 작은 크기의 버전은 단계(904)의 입력 이미지를 포함하고, 규정된 텍스처의 이미지들의 세트 또는 패치는 단계(902)의 이미지들의 세트를 포함한다. 보다 구체적으로, 이 경우에, 규정된 텍스처는 동일한 텍스처를 포함하는 기존 이미지들로부터 알려져 있고 잘 정의된다. 이 실시예들에서, 텍스처 패치들은 규정된 텍스처를 갖는 하나 이상의 기존의 렌더들 또는 에셋들로부터 생성되고, 생성된 패치들은 적절한 방식으로 서브샘플링되고(예를 들어, 보다 다양한 피처 콘텐트를 갖는 패치들을 찾고 선택하기 위해 피처 공간에서의 클러스터링을 통해), 그런 다음 저장된 패치들의 세트가 프라이어들(priors), 즉 단계(902)의 이미지들의 세트로 사용될 수 있도록 저장된다. 앞서 언급된 2개의 예들 중 하나로부터 야기된 단계(906)의 출력 이미지는 단계(904)의 입력 이미지의 더 높은 품질 또는 해상도 또는 더 큰 크기 또는 노이즈 제거된 버전을 포함한다. 몇 가지 특정 예들이 설명되었지만, 프로세스(900)는 일반적으로 충분한 중복성이 존재하는 임의의 적용 가능한 애플리케이션에 적응될 수 있다.
일부 실시예들에서, 하나 이상의 기계 학습 기반 기술들이 객체 또는 에셋의 임의적 또는 새로운 뷰 또는 퍼스펙티브의 생성에 이용될 수 있다. 그러한 일부 경우, 연관된 기계 학습 기반 프레임워크는 알려지고 잘 정의된 피처 공간으로 제한된다. 예를 들어, 이러한 기계 학습 기반 프레임워크에 의해 처리된 이미지들은 규정된 환경 및/또는 하나 이상의 알려진 텍스처들로 제한될 수 있다. 도 7 및 도 8과 관련하여 자세히 설명된 바와 같이, 예를 들어 트레이닝 데이터 세트들은 물리적 에셋들의 입력 이미지들, 즉 사진들이 캡처되는 실제 물리적 환경을 시뮬레이션하는 규정된 모델 환경으로 제한될 수 있다. 이러한 경우, 입력 이미지들 자체는 임의의 또는 적어도 매우 정확한 이미지 메타데이터 값들과 연관되지 않을 수 있다. 그러나, 개시된 임의적 뷰 생성 프레임워크에 설명된 바와 같이 다른 뷰들 또는 이미지들을 생성하기 위해 나중에 사용될 수 있는 대응하는 참조 이미지들 또는 뷰들을 생성하기 위해 및/또는 연관된 메타데이터 값들을 예측하거나 결정하기 위해, 하나 이상의 신경망들이 정확한 메타데이터 값들을 포함하는 합성 트레이닝 데이터 세트들로부터 시뮬레이션에서 메타데이터 값들을 학습하는 데 이용될 수 있고 그 후 실제의 카메라 캡처된 입력 이미지들, 즉 사진들에 적용될 수 있다.
도 10은 객체 또는 에셋의 임의적 또는 새로운 뷰 또는 퍼스펙티브를 생성하기 위한 프로세스의 실시예를 도시하는 상위 레벨 흐름도이다. 아래에서 더 자세히 설명되는 바와 같이, 프로세스(1000)는 알려진 물리적 환경에서 캡처된 객체 또는 에셋의 이미지 또는 사진을 해당 객체 또는 에셋의 임의적 뷰 또는 퍼스펙티브로 변환하는 데 이용될 수 있다. 프로세스(1000)의 많은 단계들은 기계 학습 기반 프레임워크, 예를 들어 물리적 환경을 시뮬레이션하는 규정된 모델 환경으로 제한되는 트레이닝 데이터 세트들로부터 학습하는 하나 이상의 연관된 신경망들에 의해 가능하게 된다. 또한 피처 공간은 광범위한 트레이닝 데이터 세트들이 존재하는 알려진 텍스처들로 제한될 수 있다.
프로세스(1000)는 객체 또는 에셋의 입력 이미지가 수신되는 단계(1002)에서 시작한다. 일부 실시예들에서, 입력 이미지는 객체들 또는 에셋들을 촬영하기 위한 규정된 이미징 장치(예를 들어, 카메라 장비)와 같은 알려진 물리적 환경에서 캡처된 객체 또는 에셋의 사진을 포함한다. 일부 실시예들에서, 입력 이미지는 예를 들어, 상이한 카메라들 또는 카메라 각도들(camera angles)로부터의 복수의 이미지들을 포함한다. 예를 들어, 입력 이미지는 규정된 이미징 장치 또는 카메라 장비를 포함하는 왼쪽 및 오른쪽 카메라들에 의해 촬영된 왼쪽 및 오른쪽 이미지들을 포함하는 스테레오 쌍을 포함할 수 있다.
단계(1004)에서, 단계(1002)에서 수신된 입력 이미지의 배경이 제거되어 입력 이미지의 주제, 즉 객체 또는 에셋만이 남게 된다. 일반적으로, 배경 제거를 위한 임의의 하나 이상의 적절한 이미지 프로세싱 기술들이 단계(1004)에서 이용될 수 있다. 일부 실시예들에서, 배경 제거는 이미지 분할을 통해 용이하게 된다. 그러한 경우에, 신경망이 이미지 분할을 용이하게 하기 위해 이용될 수 있다. 예를 들어, 트레이닝하는 동안 더 낮은 해상도들(128 x 128 또는 256 x 256)에서 가장자리, 모서리, 모양, 크기 등과 같은 이미지 피처들을 학습하기 위해 컨볼루션 또는 다른 적절한 신경망이 이용될 수 있으며, 이러한 학습된 피처들이 결합되어 업스케일된 세분화 마스크를 만들 수 있다.
단계(1006)에서, 입력 이미지의 객체 또는 에셋의 깊이 값들이 결정된다. 깊이 값들은 픽셀 단위로 단계(1006)에서 결정된다. 단계(1006)는 깊이 추정치를 결정하는 것 및/또는 결정된 깊이 추정치를 정제하는(refining) 것을 포함할 수 있다. 예를 들어, 깊이 추정치는 입력 이미지를 포함하는 왼쪽 및 오른쪽 스테레오 쌍으로부터 결정되고 및/또는 신경망을 사용하여 예측될 수 있다. 결정된 깊이 추정치는 예를 들어 신경망 및/또는 다른 기술들을 사용하여 후속적으로 클리닝되거나 정제될 수 있다.
단계(1008)에서, 단계(1006)에서 결정된 깊이 값들에 기초하여 퍼스펙티브 변환을 수행함으로써 입력 이미지의 퍼스펙티브와 상이한 객체 또는 에셋의 규정된 임의적 퍼스펙티브를 포함하는 출력 이미지가 생성된다. 일반적으로, 규정된 임의적 퍼스펙티브는 객체 또는 에셋에 대한 임의의 원하는 또는 요청된 카메라 뷰를 포함할 수 있다. 예를 들어, 규정된 임의적 퍼스펙티브는 물체 또는 에셋의 (예를 들어, 하향식(top down) 또는 조감식(bird’s eye)) 직교 뷰를 포함할 수 있다. 단계(1008)는 퍼스펙티브 변환 추정치를 결정하는 것 및/또는 결정된 퍼스펙티브 변환 추정치를 정제하는 것을 포함할 수 있다. 예를 들어, 퍼스펙티브 변환 추정치는 수학적 변환으로부터 직접적으로 결정될 수 있고 및/또는 GAN(generative adversarial network)과 같은 신경망을 사용하여 간접적으로 예측될 수 있다. 결정된 퍼스펙티브 변환 추정치는 예를 들어 GAN 또는 도 9와 관련하여 설명된 것과 같은 복원 네트워크(restoration network)와 같은 신경망을 사용하여 후속적으로 클리닝되거나 정제될 수 있다. 일부 경우에서, 결정된 퍼스펙티브 변환 추정치는 노이즈 제거, 인페인팅(inpainting) 등과 같은 고전적인 기술들을 사용하여 대신 또는 추가로 정제될 수 있다.
이어서 프로세스(1000)가 종료된다. 프로세스(1000)와 관련하여 설명된 바와 같이, 신경망 기반 기술들의 복수의 스테이지들 및/또는 계층들이 객체 또는 에셋의 임의적 뷰 또는 퍼스펙티브를 생성하기 위해 이용될 수 있다.
전술한 실시 예들이 이해의 명확성을 위해 일부 상세하게 설명되었지만, 본 발명은 제공된 세부 사항에 제한되지 않는다. 본 발명을 구현하는 많은 대안적인 방법들이 있다. 개시된 실시 예들은 예시적인 것이며 제한적인 것이 아니다.

Claims (20)

  1. 방법에 있어서:
    객체(object) 또는 에셋(asset)의 입력 이미지의 배경을 제거하는 단계;
    입력 이미지에서 객체 또는 에셋의 깊이 값들을 결정하는 단계; 및
    결정된 깊이 값들에 기초하여 퍼스펙티브 변환(perspective transformation)을 수행함으로써 입력 이미지 퍼스펙티브와 상이한 객체 또는 에셋의 규정된 퍼스펙티브를 포함하는 출력 이미지를 생성하는 단계를 포함하고,
    기계 학습 기반 프레임워크가 상기 방법의 하나 이상의 단계들에 이용되며, 상기 기계 학습 기반 프레임워크는 알려진 규정된 환경으로 제한되는, 방법.
  2. 제1항에 있어서, 상기 알려진 규정된 환경은 상기 입력 이미지가 촬영되는 물리적 환경 및 상기 기계 학습 기반 프레임워크의 데이터 세트들을 트레이닝하기 위한 물리적 환경을 시뮬레이션하는 모델 환경을 포함하는, 방법.
  3. 제1항에 있어서, 상기 기계 학습 기반 프레임워크는 하나 이상의 알려진 텍스처들로 제한되는, 방법.
  4. 제1항에 있어서, 상기 입력 이미지는 객체 또는 에셋의 카메라 캡처된 사진을 포함하는, 방법.
  5. 제1항에 있어서, 상기 입력 이미지는 상이한 카메라들 또는 카메라 각도들(camera angles)로부터의 복수의 이미지들을 포함하는, 방법.
  6. 제1항에 있어서, 배경을 제거하는 단계는 신경망 기반 이미지 분할(neural network based image segmentation)에 적어도 부분적으로 기초하는, 방법.
  7. 제1항에 있어서, 깊이 값들은 픽셀 단위로 결정되는, 방법.
  8. 제1항에 있어서, 깊이 값들을 결정하는 단계는 깊이 추정치를 결정하는 단계 및 결정된 깊이 추정치를 정제하는(refining) 단계 중 하나 또는 둘 다를 포함하는, 방법.
  9. 제8항에 있어서, 상기 깊이 추정치는 입력 이미지를 포함하는 좌우 스테레오 쌍으로부터 결정되는, 방법.
  10. 제8항에 있어서, 상기 깊이 추정치는 신경망을 사용하여 예측되는, 방법.
  11. 제8항에 있어서, 상기 결정된 깊이 추정치는 신경망을 사용하여 정제되는, 방법.
  12. 제1항에 있어서, 상기 규정된 퍼스펙티브는 직교 뷰(orthographic view)를 포함하는, 방법.
  13. 제1항에 있어서, 퍼스펙티브 변환을 수행하는 단계는 퍼스펙티브 변환 추정치를 결정하는 단계 및 결정된 퍼스펙티브 변환 추정치를 정제하는 단계 중 하나 또는 둘 다를 포함하는, 방법.
  14. 제13항에 있어서, 상기 퍼스펙티브 변환 추정치는 수학적 변환으로부터 결정되는, 방법.
  15. 제13항에 있어서, 상기 퍼스펙티브 변환 추정치는 신경망을 사용하여 예측되는, 방법.
  16. 제13항에 있어서, 상기 퍼스펙티브 변환 추정치는 신경망을 사용하여 정제되는, 방법.
  17. 제1항에 있어서, 상기 기계 학습 기반 프레임워크는 하나 이상의 신경망들을 포함하는, 방법.
  18. 제1항에 있어서, 상기 기계 학습 기반 프레임워크는 GAN(Generative Adversarial Network)을 포함하는, 방법.
  19. 시스템에 있어서,
    프로세서로서:
    객체 또는 에셋의 입력 이미지의 배경을 제거하고;
    입력 이미지에서 객체 또는 에셋의 깊이 값들을 결정하고;
    결정된 깊이 값들에 기초하여 퍼스펙티브 변환을 수행함으로써 입력 이미지 퍼스펙티브와 상이한 객체 또는 에셋의 규정된 퍼스펙티브를 포함하는 출력 이미지를 생성하도록 구성되는, 상기 프로세서; 및
    상기 프로세서에 결합되고, 상기 프로세서에 명령들을 제공하도록 구성된 메모리를 포함하며,
    기계 학습 기반 프레임워크가 상기 프로세서의 하나 이상의 단계들에 이용되고, 상기 기계 학습 기반 프레임워크는 알려진 규정된 환경으로 제한되는, 시스템.
  20. 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 비일시적 컴퓨터 판독 가능한 저장 매체에 구현되고, 컴퓨터 명령들을 포함하며, 상기 컴퓨터 명령들은:
    객체 또는 에셋의 입력 이미지의 배경을 제거하고;
    입력 이미지에서 객체 또는 에셋의 깊이 값들을 결정하고;
    결정된 깊이 값들에 기초하여 퍼스펙티브 변환을 수행함으로써 입력 이미지 퍼스펙티브와 상이한 객체 또는 에셋의 규정된 퍼스펙티브를 포함하는 출력 이미지를 생성하기 위한 것이며,
    기계 학습 기반 프레임워크가 상기 컴퓨터 프로그램 제품의 하나 이상의 단계들에 이용되고, 상기 기계 학습 기반 프레임워크는 알려진 규정된 환경으로 제한되는, 컴퓨터 프로그램 제품.
KR1020227015192A 2019-11-08 2020-11-06 임의적 뷰 생성 KR20220074959A (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201962933258P 2019-11-08 2019-11-08
US201962933261P 2019-11-08 2019-11-08
US62/933,261 2019-11-08
US62/933,258 2019-11-08
US17/090,794 2020-11-05
US17/090,793 US11989820B2 (en) 2016-03-25 2020-11-05 Arbitrary view generation
US17/090,794 US11989821B2 (en) 2016-03-25 2020-11-05 Arbitrary view generation
US17/090,793 2020-11-05
PCT/US2020/059501 WO2021092455A1 (en) 2019-11-08 2020-11-06 Arbitrary view generation

Publications (1)

Publication Number Publication Date
KR20220074959A true KR20220074959A (ko) 2022-06-03

Family

ID=75848702

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227015192A KR20220074959A (ko) 2019-11-08 2020-11-06 임의적 뷰 생성
KR1020227015178A KR20220078651A (ko) 2019-11-08 2020-11-06 임의적 뷰 생성

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227015178A KR20220078651A (ko) 2019-11-08 2020-11-06 임의적 뷰 생성

Country Status (4)

Country Link
EP (2) EP4055524A4 (ko)
JP (2) JP2022553846A (ko)
KR (2) KR20220074959A (ko)
WO (2) WO2021092454A1 (ko)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8331637B2 (en) * 2006-03-03 2012-12-11 Medic Vision-Brain Technologies Ltd. System and method of automatic prioritization and analysis of medical images
US8867820B2 (en) * 2009-10-07 2014-10-21 Microsoft Corporation Systems and methods for removing a background of an image
US9177381B2 (en) * 2010-12-22 2015-11-03 Nani Holdings IP, LLC Depth estimate determination, systems and methods
US9846961B2 (en) * 2014-04-30 2017-12-19 Intel Corporation System and method of limiting processing by a 3D reconstruction system of an environment in a 3D reconstruction of an event occurring in an event space
US10726593B2 (en) * 2015-09-22 2020-07-28 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
GB2532075A (en) * 2014-11-10 2016-05-11 Lego As System and method for toy recognition and detection based on convolutional neural networks
US9996914B2 (en) * 2016-03-25 2018-06-12 Outward, Inc. Arbitrary view generation
KR101980603B1 (ko) * 2016-05-20 2019-05-22 구글 엘엘씨 오브젝트(들)를 캡처하는 이미지(들)에 기초하는 그리고 환경에서의 미래 로봇 움직임에 대한 파라미터(들)에 기초하여 로봇 환경에서의 오브젝트(들)의 모션(들)을 예측하는 것과 관련된 머신 학습 방법들 및 장치
JP6833348B2 (ja) * 2016-05-25 2021-02-24 キヤノン株式会社 情報処理装置、画像処理システム、情報処理装置の制御方法、仮想視点画像の生成方法、及び、プログラム
US10387765B2 (en) * 2016-06-23 2019-08-20 Siemens Healthcare Gmbh Image correction using a deep generative machine-learning model
WO2017223560A1 (en) * 2016-06-24 2017-12-28 Rensselaer Polytechnic Institute Tomographic image reconstruction via machine learning
US10846836B2 (en) * 2016-11-14 2020-11-24 Ricoh Company, Ltd. View synthesis using deep convolutional neural networks
JPWO2018197984A1 (ja) 2017-04-28 2020-03-19 株式会社半導体エネルギー研究所 表示システムおよび移動体
JPWO2019167453A1 (ja) * 2018-02-28 2021-03-18 富士フイルム株式会社 画像処理装置、画像処理方法、およびプログラム

Also Published As

Publication number Publication date
JP2022553845A (ja) 2022-12-26
JP7410289B2 (ja) 2024-01-09
EP4055525A4 (en) 2024-02-21
WO2021092455A1 (en) 2021-05-14
EP4055524A1 (en) 2022-09-14
KR20220078651A (ko) 2022-06-10
JP2022553846A (ja) 2022-12-26
WO2021092454A1 (en) 2021-05-14
EP4055524A4 (en) 2024-02-21
EP4055525A1 (en) 2022-09-14

Similar Documents

Publication Publication Date Title
US11232627B2 (en) Arbitrary view generation
US11688145B2 (en) Virtualizing content
US11875451B2 (en) Arbitrary view generation
US11676332B2 (en) Arbitrary view generation
US20210217225A1 (en) Arbitrary view generation
US20220084280A1 (en) Arbitrary view generation
KR20210137235A (ko) 임의의 뷰 생성
US11989821B2 (en) Arbitrary view generation
US11989820B2 (en) Arbitrary view generation
JP7410289B2 (ja) 任意ビューの生成
Golestani et al. Image-Based Rendering using Point Cloud for 2D Video Compression
US11972522B2 (en) Arbitrary view generation
EP4055567A1 (en) Arbitrary view generation

Legal Events

Date Code Title Description
E902 Notification of reason for refusal