KR20220104639A - 멀티 앵글 스크린 커버리지 분석을 위한 장치 - Google Patents

멀티 앵글 스크린 커버리지 분석을 위한 장치 Download PDF

Info

Publication number
KR20220104639A
KR20220104639A KR1020217043063A KR20217043063A KR20220104639A KR 20220104639 A KR20220104639 A KR 20220104639A KR 1020217043063 A KR1020217043063 A KR 1020217043063A KR 20217043063 A KR20217043063 A KR 20217043063A KR 20220104639 A KR20220104639 A KR 20220104639A
Authority
KR
South Korea
Prior art keywords
target object
image
detail
asset
level
Prior art date
Application number
KR1020217043063A
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
Application filed by 웨타 에프엑스 리미티드 filed Critical 웨타 에프엑스 리미티드
Publication of KR20220104639A publication Critical patent/KR20220104639A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

실시예는 멀티 앵글 스크린 커버리지 분석을 제공한다. 일부 실시예에서, 본 시스템은 분석할 적어도 하나의 타겟 오브젝트를 갖는 컴퓨터 그래픽 생성 이미지를 획득한다. 시스템은 적어도 하나의 타겟 오브젝트에 대한 스크린 커버리지 정보 및 깊이 정보를 결정한다. 그 다음, 본 시스템은 스크린 커버리지 정보 및 깊이 정보에 기초하여 적어도 하나의 타겟 오브젝트에 대한 에셋(asset) 상세 수준(detail level)을 결정한다. 그 다음, 본 시스템은 에셋 상세 수준을 데이터베이스에 저장하고, 에셋 상세 수준을 사용자가 이용 가능하게 만든다.

Description

멀티 앵글 스크린 커버리지 분석을 위한 장치
관련 출원 교차 참조
본 출원은 2020년 1월 30일자로 출원된 발명의 명칭이 "APPARATUS FOR MULTI-ANGLE SCREEN COVERAGE ANALYSIS"인 미국 가 특허 출원 제62/968,047호, 및 2020년 10월 15일자로 출원된 발명의 명칭이 "APPARATUS FOR MULTI-ANGLE SCREEN COVERAGE ANALYSIS"인 미국 특허 출원 17/071,940호의 우선권을 주장하며, 이는 이에 의해 모든 목적을 위해 본 출원에 완전히 제시된 바와 같이 원용된다.
영화, 비디오 등과 같은 영상 제작 동안, 종래의 산업적 솔루션은 디지털 이미지에서 사용되는 오브젝트의 구성을 시작하기 전에 레이아웃 및 카메라를 마무리하는 것을 포함한다. 이러한 구성은 예를 들어, 애니메이션 및/또는 조명 작업을 수반할 수 있다. 최종 레이아웃 및 카메라를 대기하는 것은 영상 제작에서 전체적인 지연을 초래할 수 있다. 한 가지 접근법은 각 샷마다 새롭고 고유한 오브젝트, 및 세트를 구축하는 것이다. 이는 해당 샷에서의 가장 적절한 구축 퀄리티를 전달할 것이다. 그러나, 비용은 오브젝트를 다른 샷에서 재사용함으로써 그 노력을 이용할 수 없는 것이다. 두 번째 접근법은 모든 오브젝트를 최고 가능한 품질로 구축하는 것이다. 그러나, 이는 최종 이미지에 영향을 주지 않을 에셋 생성 동안 낭비되는 노력을 소비할 위험이 있따. 또는, 더 나쁘 것은, 프로세싱 시간과 메모리를 낭비함으로써 기술적인 측면에서 이미지를 생성하는 시스템의 능력에 부정적인 영향을 줄 위험이 있다는 것이다. 이는 시스템이 버전을 선택하고 시간 및/또는 메모리를 최적화할 수 있도록 오브젝트의 다수의 버전(LOD(level-of-detail), 또는 상세 수준)을 구축함으로써 완화될 수 있다. 그러나, 이러한 접근법은 절차적으로 하위 버전이 도출되더라도, 가장 상세한 버전을 생성하기 위해 최대한의 노력을 기울여야 한다.
적어도 바람직한 실시예의 목적은 전술한 단점 중 적어도 일부를 해결하는 것이다. 추가적인 또는 대안적인 목적은 적어도 공중에 유용한 선택을 제공하는 것이다.
실시예는 일반적으로 멀티 앵글 스크린 커버리지 분석에 관한다. 다양한 실시예에서, 최고 상세 수준으로 완전히 구축된 애니메이션 씬을 컬링(culling)하는 대신에, 본 시스템은 애니메이터에 대해 씬에서의 특정 오브젝트에 어떤 에셋 상세 수준이 요구되는지를 결정하고, 애니매이터에 미리 그리고 영상 제작 과정에 알린다. 일부 실시예에서, 본 시스템은 적어도 하나의 이미지를 획득하며, 이미지는 컴퓨터 그래픽 생성 이미지이고, 이미지는 다수의 오브젝트들을 포함하며, 오브젝트는 적어도 하나의 타겟 오브젝트를 포함한다. 그 다음, 본 시스템은 타겟 오브젝트에 대한 스크린 커버리지 정보를 결정하며, 스크린 커버리지 정보는 타겟 오브젝트에 의해 커버되는 스크린의 백분율에 기초한다. 또한, 본 시스템은 타겟 오브젝트에 대한 깊이 정보를 결정하며, 타겟 오브젝트에 대한 깊이 정보는 적어도 하나의 다른 오브젝트에 기초한다. 그 다음, 본 시스템은 스크린 커버리지 정보 및 깊이 정보에 기초하여 타겟 오브젝트에 대한 에셋(asset) 상세 수준(detail level)을 결정하고, 에셋 상세 수준을 데이터베이스에 저장한다.
도 1은 본 명세서에서 설명된 실시예에 사용될 수 있는 예시적인 컴퓨터 그래픽 생성 이미지의 블록도이다.
도 2는 일부 실시예에 따른, 멀티 앵글 스크린 커버리지 분석을 위한 예시적인 흐름도이다.
도 3은 본 명세서에서 설명된 실시예에 사용하기에 적합한 예시적인 컴퓨터 시스템의 기본 구성요소를 도시한다.
도 4는 일부 실시예에 따른, 심상(imagery)을 정지 이미지 및/또는 이미지의 비디오 시퀀스의 형태로 생성하는 데 사용될 수 있는 예시적인 영상 컨텐츠 생성 시스템의 블록도이다.
도 5는 본 명세서에서 설명된 실시예에 사용될 수 있는 예시적인 컴퓨터 시스템의 블록도이다.
실시예는 멀티 앵글 스크린 커버리지 분석을 제공한다. 일부 실시예에서, 본 시스템은 분석할 적어도 하나의 타겟 오브젝트를 갖는 컴퓨터 그래픽 생성 이미지를 획득한다. 시스템은 타겟 오브젝트에 대한 스크린 커버리지 정보 및 깊이 정보를 결정한다. 다양한 실시예에서, 깊이 정보는 타겟 오브젝트와 주어진 카메라 사이의 거리를 포함할 수 있다. 그 다음, 본 시스템은 스크린 커버리지 정보 및 깊이 정보에 기초하여 타겟 오브젝트에 대한 에셋(asset) 상세 수준(detail level)을 결정한다. 그 다음, 본 시스템은 에셋 상세 수준을 데이터베이스에 저장하고, 에셋 상세 수준을 사용자가 이용 가능하게 만든다. 용어 에셋 및 타겟 오브젝트는 상호 교환 가능하게 사용될 수 있다.
종래의 솔루션과 대조적으로, 본 시스템은 영화와 같은 영상 제작물에서 각 샷에 대한 새롭고 고유한 3차원(3D) 세트를 구축하지 않는다. 대신에, 본원에서 더 상세히 설명되는 바와 같이, 다양한 실시예에서, 본 시스템은 유연한 에셋 상세 수준을 갖는 에셋, 또는 오브젝트를 갖는 마스터 레이아웃을 구축한다. 본 시스템은 영상 제작물의 다수의 샷에 걸쳐 주어진 타겟 오브젝트, 또는 타겟 오브젝트 집합을 재사용할 수 있다.
마스터 레이아웃을 사용하는 것이 기술적으로 바람직한데, 이는 시스템이 높은 에셋 상세 수준의 오브젝트를 갖는 다수의 세트를 프로세싱하는 것과는 대조적으로, 적절한 에셋 상세 수준을 갖는 타겟 오브젝트 및 하나의 마스터 레이아웃을 프로세싱하는 것이 더 효율적이기 때문이다 다시 말해, 본원에서 설명된 실시예는 시스템의 프로세싱 요건을 감소시킨다. 예를 들어, 일부 시나리오에서, 주어진 타겟 오브젝트는 카메라 가까이에 나타날 수 있다. 이에 따라, 더 높은 에셋 상세 수준이 적절하다. 일부 시나리오에서, 주어진 타겟 오브젝트는 카메라에 대해 먼 배경에 있는 것으로 나타날 수 있다. 이에 따라, 더 낮은 에셋 상세 수준이 적절하다. 특정 에셋 상세 수준은 특정 구현에 따라 달라질 수 있다.
또한, 하나 이상의 타겟 오브젝트의 유연한 에셋 상세 수준을 갖는 마스터 레이아웃을 사용하는 것이 기술적으로 바람직한데, 이는 다른 영상 제작 시스템(예를 들어, 애니메이션, 조명 등을 포함하는 시스템)의 프로세싱 요건을 감소시키기 때문이다. 이러한 프로세싱 요건은 메모리, 프로세서 전력, 및 시간을 수반할 수 있다. 뿐만 아니라, 이러한 다른 영상 제작 시스템은 레이아웃 상의 작업 및 카메라 작업이 완료될 때까지 기다릴 필요가 없다. 이는 전체적인 영상 제작을 단축시키며, 이는 제작 비용을 감소시킨다.
도 1은 본 명세서에서 설명된 실시예에 사용될 수 있는 예시적인 컴퓨터 그래픽 생성 이미지(100)의 블록도이다. 이미지(100)에 캡처된 씬 또는 샷에서의 타겟 오브젝트(102) 및 또 다른 오브젝트(104)가 도시되어 있다. 예시의 용이함을 위해, 본원에서 설명된 실시예는 타겟 오브젝트(102)와 관련하여 설명된다. 이러한 실시예는 오브젝트(104)가 타겟 오브젝트로 간주되는 경우 오브젝트(104)에 또한 적용될 수 있다.
이미지(100)는 임의의 주어진 영상 제작(예를 들어, 영화 제작, 비디오 제작 등)을 위한 이미지일 수 있다. 이 예에서, 타겟 오브젝트(102)는 배럴(barrel)이다. 일부 실시예가 배럴과 관련하여 설명되지만, 타겟 오브젝트는 임의의 유형의 오브젝트(예를 들어, 자동차, 나무, 빌딩, 몬스터 등)일 수 있다.
다양한 실시예에서, 이미지에서의 오브젝트에 관해 본원에서 설명된 프로세싱 임의의 적합한 유형의 이미지에 대해 수행될 수 있다. 일부 실시예에서, 이미지는 사진, 영상 이미지, 오브젝트 ID 패스와 같은 도출된 이미지 등을 포함할 수 있다. 다양한 실시예에서, 예를 들어, 이미지는 "오브젝트 ID", "오브젝트 ID 패스", "렌더 ID(render ID), "머터리얼 ID(material ID)" 등으로 다양하게 지칭되는 유형일 수 있고, "컬러 맵"의 다양한 카테고리와 연관될 수 있다. 다양한 실시예에서, 이러한 이미지는 씬에서의 다양한 오브젝트 모델 또는 머터리얼을 대응하는 단조 색상의 "마스크"로 감소시킨다. 다양한 실시예에서, 씬에서의 하나 이상의 마스크는 마스크에 의해 표현되는 오브젝트 ID에 대응하는 오브젝트를 렌더링하기 위해 제안된 상세 수준에 도달하기 위해 본원에서 설명된 단계 중 하나 이상을 거칠 수 있다.
도시된 바와 같이, 타겟 오브젝트(102)는 실질적으로 이미지의 중간에 있고, 원근감을 제공하기 위해 또 다른 오브젝트(104) 옆에 도시되어 있다. 특정 샷에 따라, 일부 시나리오에서, 타겟 오브젝트(102)는 102'로 표시된 바와 같이 이미지의 먼 배경에 있을 수 있다. 다른 시나리오에서, 타겟 오브젝트(102)는 102"로 표시된 바와 같이 이미지의 전경에 더 가까울 수 있다.
예시의 용이함을 위해, 본원에서 실시예는 단일 타겟 오브젝트(102)와 관련하여 설명된다. 이러한 실시예는 다수의 타겟 오브젝트에 또한 적용된다. 도시된 타겟 오브젝트 변형(102, 102', 및 102")이 이미지(100)의 동일한 프레임에서 사용된 세 개의 상이한 배럴인 시나리오가 존재할 수 있다. 예를 들어, 주어진 이미지에 세 개의 배럴이 있을 수 있으며, 여기서 하나의 배럴은 가깝고, 하나의 배럴이 더 먼 거리에 있으며, 하나의 배럴은 먼 거리에 있다.
다양한 실시예에서, 본 시스템은 동일한 에셋 또는 타겟 오브젝트를 다수의 상이한 카메라 앵글 및 거리로부터 분석하여, 제작물 전체에 걸쳐 해당 에셋의 예상되는 외관의 대표적인 샘플을 생성하게 된다. 다양한 실시예에서, 본 시스템은 조합된 샘플을 분석하여 에셋의 구성요소(예를 들어, 기하학적 구조, 텍스처 등)를 생성할 때 아티스트가 타겟팅해야 하는 에셋 상세 수준을 결정함에 따라, 해당 에셋이 제작물 전체에 걸쳐 어떻게 사용될 것인지를 알게 된다.
다양한 실시예에서, 에셋 상세 수준은 이미지 상세 정보의 양을 포함할 수 있다. 다양한 실시예에서, 에셋 상세 수준은 이미지 해상도를 포함할 수 있다. 다양한 실시예에서, 에셋 상세 수준이 절대적인 방식으로 정의될 수 있다. 예를 들어, 에셋 상세 수준은 면적 또는 치수에 의한 픽셀 카운트를 사용하여 스크린 상의 크기로서 표현될 수 있다. 다양한 실시예에서, 이 카운트는 오브젝트의 상세 수준을 인간 상호 작용, 통신, 및 선택에 더 유용한 관념으로 카테고리화하기 위해 라운딩되거나 근사화될 수 있다(예를 들어, "256," "512," "1k," "2k," 4k," 등).
다양한 실시예에서, 에셋 상세 수준이 상대적인 방식으로 정의될 수 있다. 예를 들어, 에셋 상세 수준은 최종 이미지 크기의 백분율 또는 분수 크기로서 표현될 수 있다. 다양한 실시예에서, 에셋 상세 수준이 추상적인 방식으로 정의될 수 있다. 예를 들어, 에셋 상세 수준은 "낮은," "중간," "높은" 등으로서 표현될 수 있다. 다양한 실시예에서, 에셋 상세 수준은 외부 경험, 정책, 문서화, 명명법 등을 통해 이 러한 용어에 대한 공통된 이해를 가진 아티스트, 기술자, 및 관리자에게 표현된다.
다양한 실시예에서, 에셋 상세 수준은 아티스트, 기술자, 및 관리자에게 자신의 크래프트를 어떻게 적용할 수 있는지를 알려주는 하나의 고려사항이다. 주어진 에셋 상세 수준 사양에 대한 주어진 에셋의 정확한 구현은 아티스트, 기술자, 및 관리자에게 알려진 추가적인 전문 지식 및 상황에 기초하여 달라질 수 있다. 예를 들어, 주어진 에셋 상세 수준에 대해, 하나의 에셋은 텍스처 밀도가 거의 없거나 전혀 없는 기하학적 밀도로부터 그 상세 정보를 얻도록 요구될 수 있는 반면, 두 번째 에셋의 경우 그 반대일 수 있다.
뿐만 아니라, 다양한 실시예에서, 에셋 상세 수준은 깊이, 스크린 공간 커버리지, 가시성, 모션 블러, 렌즈 블러, 텍스처, 텍스처 해상도, 에셋의 네이티브 해상도, 픽셀 밀도, 텍스처 밀도, 모델 밀도 등의 고려사항을 포함할 수 있다. 에셋 상세 수준은 주어진 이미지에서 얼마나 많은 상세 정보(예를 들어, 텍스처 등)가 가시적인지에 영향을 줄 수 있다. 이는 제작 동안 에셋을 생성하는 데 할당할 인간 자원의 양뿐만 아니라 계산 자원의 양에 영향을 준다.
또한, 2D 바운딩 박스(106)가 도시되어 있다. 다양한 실시예에서, 본 시스템은 타겟 오브젝트(102)를 밀접하게 둘러싸도록 2D 바운딩 박스(106)를 생성한다. 이에 따라, 2D 바운딩 박스(106)는 후속 프로세싱을 위해 타겟 오브젝트(102)의 크기에 근사한다.
다양한 실시예에서, 본 시스템은 이미지에서의 각 타겟 오브젝트에 대한 2D 바운딩 박스를 생성한다. 예를 들어, 이미지(100)가 타겟 오브젝트(102' 및 102")를 또한 포함하는 시나리오에서, 본 시스템은 각 타겟 오브젝트(102' 및 102")에 대한 2D 바운딩 박스(106' 및 106")를 또한 생성할 것이다. 유사하게, 일부 실시예에서, 오브젝트(104)가 타겟 오브젝트인 경우, 본 시스템은 오브젝트(104)에 대한 2D 바운딩 박스(106)를 생성한다.
예시의 용이함을 위해, 일부 실시예가 단일 타겟 오브젝트와 관련하여 설명되지만, 본 시스템은 주어진 이미지에서 상이한 타겟 오브젝트의 시계를 분석할 수 있다. 이미지(100) 및 이의 콘텐츠 오브젝트를 수반하는 예시적인 실시예는 아래에서 더 상세히 설명된다.
도 2는 일부 구현예에 따른, 멀티 앵글 스크린 커버리지 분석을 위한 예시적인 흐름도이다. 도 1 및 도 2 양자를 참조하면, 방법은 시스템이 적어도 하나의 이미지를 획득하는 블록(202)으로 개시된다. 다양한 실시예에서, 이미지는 타겟 오브젝트 또는 오브젝트들을 포함하는 컴퓨터 그래픽 생성 이미지이다. 본원에서 일부 실시예는 단일 타겟 오브젝트와 관련하여 설명되지만, 이 실시예는 다수의 타겟 오브젝트 또는 그룹화된 타겟 오브젝트 등의 각 타겟 오브젝트에 적용될 수 있다.
다양한 실시예에서, 본 시스템은 카메라로부터 보관 푸티지로부터의 이미지를 획득하고, 3D 기하학적 구조 및 카메라 정보를 포함할 수 있다. 보관 푸티지로부터, 본 시스템은 이미지에서 타겟 오브젝트를 결정한다. 다양한 실시예에서, 본 시스템은 특정 구현에 따라 렌더를 실행하고, 동시에 다양한 목적을 위해 그 렌더의 출력을 사용할 수 있다.
블록(204)에서, 본 시스템은 타겟 오브젝트에 대한 스크린 커버리지 정보를 결정한다. 다양한 실시예에서, 타겟 오브젝트는 이미지에서 적어도 부분적으로 가시적이다. 예를 들어, 하나의 시나리오에서, 타겟 오브젝트(102)는 전체가 가시적이다. 또 다른 시나리오에서, 타겟 오브젝트(102'')는 이미지에서 부분적으로 가시적일 수 있다.
다양한 실시예에서, 스크린 커버리지 정보는 타겟 오브젝트에 의해 커버되는 스크린의 백분율, 비율, 및/또는 절대 부분에 기초한다. 다양한 실시예에서, 본 시스템은 각 2D 바운딩 박스의 측정치를 결정하고, 이를 프레임 또는 이미지(100)의 나머지와 비교한다. 용어 프레임 및 이미지는 상호 교환 가능하게 사용될 수 있다. 본 시스템은 이미지(100)에 대한 각 타겟 오브젝트의 크기의 백분율 또는 비율을 결정할 수 있다. 다양한 실시예에서, 본 시스템은 ID 패스를 제공하고 이러한 측정치를 결정하기 위해 오픈 그래픽 라이브러리(open graphics library, OpenGL) 등과 같은 렌더러를 이용할 수 있고, 오브젝트/오브젝트, 및 오브젝트/카메라 관계의 기하학적 계산을 수행하기 위해 다른 수단을 이용할 수 있다.
일부 실시예에서, 각 2D 바운딩 박스에 대해, 본 시스템은 주어진 오브젝트가 이미지에서 전체가 가시적이든, 또는 부분적으로 가시적(부분적으로 스크린 밖에 있음)이든, 2D 바운딩 박스가 x축 및 y축 양자 상에서 어디에서 시작되고 중단되는지를 결정한다.
다양한 실시예에서, 본 시스템은 주어진 이미지에 대한 2D 바운딩 박스의 치수를 제공한다. 본 시스템은 이미지에서의 모든 타겟 오브젝트에 대한 그러한 상대적 치수를 결정한다. 다양한 실시예에서, 주어진 2D 바운딩 박스에 대한 치수는 이미지에 비한 2D바운딩 박스의 크기의 백분율 또는 비율에 기초한다. 그 후, 본 시스템은 이러한 치수를 추가적인 프로세싱에 필요한 절대 픽셀 크기로 변환할 수 있다.
일부 실시예에서, 본 시스템은 타겟 이미지뿐만 아니라 이미지 프레임에서 가시적인 다른 3D 요소에 대한 스크린 커버리지 및 깊이 정보를 결정하기 위해 이미지에서의 픽셀을 샘플링한다. 일부 실시예에서, 본 시스템은 샘플링된 픽셀에 따라 최장 2D 치수에 기초하여 3D 픽셀 치수를 결정할 수 있다. 보다 기본적인 삼각법 분석을 수행하기 보다는 렌더를 실행하는 이유 중 하나는 시스템이 부여된 표면 재료에 대한 지식을 필요로 할 수 있다는 것이다. 이 지식은 현재 오브젝트 뒤의 그리고/또는 현재 오브젝트에 의해 가려진 오브젝트를 고려할 때를 본 시스템에 알린다. 일부 실시예에서, 본 시스템은 중실 벽 뒤의 오브젝트에 대한 데이터를 수집하지 않지만, 여전히 그 벽에서의 창문을 통해 가시적인 오브젝트에 대한 데이터를 수집한다.
일부 실시예에서, 예를 들어, 중실 벽과 같은 전경 오브젝트 뒤의 오브젝트에 대한 데이터를 고려할 때, 본 시스템은 표면 재료를 고려할 수 있다(이는 렌더를 시사한다). 예를 들어, 일부 실시예에서, "창문"은 그 기하학적 구조의 일 섹션을 투명하게 만듦으로써 분석될 "벽" 오브젝트 내에 구현될 수 있다. 이는 표면 음영 및 변형을 필요로 할 수 있다. 다양한 실시예에서, 이러한 재료는 유리 또는 다른 재료를 기술할 수 있다. 대안적으로, 일부 실시예에서, 벽 오브젝트는 기하학적 구조로 절단되는 홀과 같은 복합 토폴로지를 가질 수 있다. 이는 음영 없이 달성될 수 있다. 오브젝트의 형상 및 재료를 기술하는 데 사용되는 가능한 방법에 대한 제한을 시사하지 않고, 일부 실시예에서, 본 시스템은 시스템의 결과를 알리는 데 렌더러 또는 다른 분석 수단 내의 방법 중 어느 하나 또는 둘 다를 사용할 수 있다.
블록(206)에서, 본 시스템은 적어도 하나의 타겟 오브젝트에 대한 깊이 정보를 결정한다. 다양한 실시예에서, 깊이 정보는 타겟 오브젝트와 주어진 카메라 사이의 거리를 포함할 수 있다. 일부 실시예에서, 깊이 정보는 주어진 타겟 오브젝트의 상세 수준에 영향을 미칠 수 있다. 예를 들어, 먼 거리에서 렌더링되는 빌딩, 산 등과 같은 타겟 오브젝트가 주어지는 경우, 본 시스템은 보다 상세한 것이 필요하지 않기 때문에, 이러한 오브젝트를 보다 낮은 상세 수준으로 렌더링할 수 있고/거나 덜 상세하게 블러링할 수 있다.
다양한 실시예에서, 주어진 이미지는 하나 이상의 타겟 오브젝트를 포함하여, 다수의 오브젝트를 가질 수 있다. 본 시스템은 타겟 오브젝트에 대한 깊이 정보를 이미지에서의 다른 오브젝트 중 하나 이상에 기초하여 결정할 수 있다. 예를 들어, 본 시스템은 타겟 오브젝트(102)의 오브젝트(104)에 대한 깊이를 결정할 수 있다. 다양한 실시예에서, 본 시스템은 데이터베이스에 저장된 오브젝트(104)의 깊이 정보 및 오브젝트(104)에 관한 크기 정보(예를 들어, 치수 등)를 이미 가지고 있을 수 있다. 다양한 실시예에서, 본 시스템은 또한 데이터베이스에 저장될 수 있는 특정 씬에서의 오브젝트(104)의 알려져 있는 크기 및 위치를 가질 수도 있다. 다양한 실시예에서, 본 시스템은 또한 데이터베이스에 저장된 타겟 오브젝트(102)에 관한 크기 정보(예를 들어, 치수 등)를 알 수 있다. 다양한 실시예에서, 본 시스템은 이미지(100)에 나타날 수 있는 오브젝트(104) 또는 다른 오브젝트 상의 알려져 있는 정보에 대해 타겟 오브젝트(102)에 대한 깊이 정보를 확인할 수 있다.
블록(208)에서, 본 시스템은 스크린 커버리지 정보 및 깊이 정보에 기초하여 타겟 오브젝트에 대한 에셋 상세 수준을 결정한다. 이에 따라, 실시예는 타겟 오브젝트의 주어진 뷰가 영상 제작(예를 들어, 필름/영화 제작, 비디오 제작 등)의 과정에 걸쳐 임의의 지점에서 상당히 변하는 것을 가능하게 한다. 실시예는 이 오브젝트를 생성하는데 수반되는 노력을 오브젝트가 영상 제작의 최종 버전에서 나타날 방식과 매칭시킨다. 예를 들어, 먼 오브젝트는 보다 낮은 에셋 상세 수준을 갖고, 보다 가까운 오브젝트는 보다 높은 에셋 상세 수준을 갖는 등일 수 있다.
블록 210에서, 본 시스템은 에셋 상세 수준을 데이터베이스에 저장한다. 다양한 실시예에서, 본 시스템은 타겟 오브젝트(102)에 대한 (그리고 각 타겟 오브젝트에 대한) 에셋 상세 수준을 출력한다. 일부 실시예에서, 에셋 상세 수준은 픽셀 값일 수 있다. 예를 들어, 이미지 프레임이 2,000 픽셀 폭이고, 2D 바운딩 박스의 최장 길이가 1,000 픽셀인 경우, 픽셀 해상도는 1,000 픽셀일 수 있다. 본 시스템은 실제 이미지 프레임 크기(2,000 또는 2K 이미지, 4,000 또는 4K 이미지 등)에 기초하여 에셋 상세 수준을 조정할 수 있다.
다양한 실시예에서, 본 시스템은 샷 생성의 과정에 걸쳐 샷 콘텐츠의 전체적인 분석을 제공하고, 그 과정에서 결정을 알리기 위해 분석으로부터의 정보를 다른 사용자에게 제공한다. 일부 실시예에서, 본 시스템은 타겟 오브젝트(102)의 에셋 상세 수준뿐만 아니라 다른 타겟 오브젝트의 에셋 상세 수준을 한 명 이상의 사용자에게 보내거나 제공할 수 있다. 또한, 본 시스템은 타겟 오브젝트의 요구되는 상세 수준에 기초하여 결정을 내리기 위해 에셋 상세 수준을 다양한 사용자(예를 들어, 아티스트, 제작자 등)가 이용 가능하게 만든다.
일부 실시예에서, 본 시스템은 타겟 오브젝트 또는 타겟 오브젝트의 집합에 대한 예술적 작업을 스케줄링하거나 스케줄링을 가능하게 한다. 이에 따라, 이러한 타겟 오브젝트를 소비하는 영상 제작의 다운스트림 시스템은 가능한 한 빨리, 또는 제작 관리에 의해 요구되는 대로 진행할 수 있다.
단계, 동작 또는 계산이 특정 순서로 제공될 수 있지만, 그 순서는 특정 구현에서 변경될 수 있다. 특정 구현에 따라 단계의 다른 순서화가 가능하다. 일부 특정 구현에서, 본 명세서에서 순차적인 것으로서 제시된 다수의 단계가 동시에 수행될 수 있다. 또한, 일부 구현은 제시된 단계 모두를 갖지 않을 수 있고/거나 본 명세서에서 제시된 것 대신에 또는 이에 더하여 다른 단계을 가질 수 있다.
다음은 추가적인 실시예를 설명한다. 실시예는 아티스트 및 제작자가 주어진 오브젝트에 대해 얼마나 많은 노력을 기울이는지 및 언제 그 노력을 스케줄링해야 하는지를 결정하는 것을 용이하게 한다. 이는 에셋의 비용이 많이 들지 않는 블로킹 버전(일명, 퍼스트-룩(first-look) 버전 또는 스탠드-인(stand-in) 버전)을 이용하는 사전 시각화 씬으로부터 최종 이미지에 있을 것으로 예상되는 최종 또는 거의 최종 퀄리티 버전에 이르기까지 제작 프로세스에서의 임의의 지점에서 사용될 수 있다. 영화 제작 기간 동안의 이러한 정보를 추적하는 것은 예상치 못한 변경 사항을 강조하거나 의도된 변경의 비용을 예측하는 데 도움을 줄 수 있다.
다양한 실시예에서, 본 시스템은 많은 프레임(예를 들어, 200K 프레임 등)에 걸쳐 에셋 상세 수준을 포함하여, 타겟 오브젝트와 연관된 데이터 세트를 복제한다. 본 시스템은 상이한 프레임에 걸쳐 각 타겟 오브젝트를 식별하고 추적한다. 다양한 실시예에서, 본 시스템은 명칭 및 식별자(예를 들어, "배럴(Barrel) 24")로 타겟 오브젝트(102)와 같은 주어진 타겟의 식별 정보를 추적한다. 예를 들어, 일부 실시예에서, 타겟 오브젝트는 어느 순간에(예를 들어, 상이한 프레임에서) 씬에서 나타날 수 있고, 후속 순간에 씬을 떠날 수도 있고(예를 들어, 상이한 프레임을 떠날 수 있고), 그 다음 또 다른 후속 순간에 씬으로 복귀할 수 있다(예를 들어, 상이한 프레임에 재진입할 수 있다).
다양한 실시예에서, 본 시스템은 주어진 이미지에서의 다른 논리적 요소을 포함할 수 있는 각 그리고 모든 타겟 오브젝트에 대한 스크린 커버리지 및 깊이 정보를 수집하기 위해 임의의 적절한 렌더러를 이용할 수 있다. 본 시스템은 또한 타겟 오브젝트 및 대응하는 에셋 상세 수준을 직렬화하고, 이러한 정보를 데이터베이스에 저장할 수 있다. 다양한 실시예에서, 본 시스템은 각 그리고 모든 프레임을 렌더링하지 않고, 적정하게 완전한 데이터를 수집하기 위해 주어진 샷에서 프레임의 선택된 샘플을 분석할 수 있다. 이는 시스템이 보다 적은 프레임을 프로세싱한다는 점에서 기술적으로 바람직하다.
다양한 실시예에서, 본 시스템은 주어진 영상 제작에서 다수의 프레임에 대해 그리고 다수의 샷에 걸쳐 통계적 분석을 수행할 수 있다. 예를 들어, 일부 실시예에서, 본 시스템은 샷에서의 프레임 범위에 걸쳐 데이터의 통계적 분석을 수행할 수 있다. 본 시스템은 또한 요소별 데이터(예를 들어, 배럴 1, 배럴 2, 배럴 3 등)를 고유한 에셋(배럴)으로 압축할 수 있다.
다양한 실시예에서, 본 시스템은 주어진 영상 제작에서 다수의 프레임으로부터의 결과를 다수의 샷에 걸쳐 대조할 수 있다. 예를 들어, 일부 실시예에서, 본 시스템은 다양한 작업을 위해 다른 시스템을 통해 이용 가능하게 될 수 있는 데이터베이스에 데이터 다수 샷을 저장하고 이와 대조할 수 있다. 일부 실시예에서, 에셋 상세 수준은 주어진 에셋(예를 들어, 타겟 오브젝트)에 얼마나 많은 노력을 기울일지를 결정하는 데 있어서 제작자가 이용 가능하게 되고 용이하게 할 수 있다.
다양한 실시예에서, 본 시스템은 각 샷에서 가시적인 에셋 또는 타겟 오브젝트의 리스트를 어셈블링할 수 있다. 이는 가능한 한 일찍 작업을 시작하기 위해 다운스트림 부문을 자유롭게 하는 방식으로 이 에셋에 대한 제작 스케줄 작업을 용이하게 한다. 다양한 실시예에서, 본 시스템은 제작 계획의 일부로서 많은 샷로부터의 정보를 대조한다. 예를 들어, 본 시스템은 100 샷에 걸쳐 프로세싱하고, 그 다음 가장 공통적으로 보여지는 에셋을 식별할 수 있다. 또 다른 예에서, 본 시스템은 생성하는 데 가장 비용이 적게 드는 에셋들을 결정할 수 있고, 본 시스템은 그러한 에셋들에 대한 작업을 우선순위화할 수 있다.
다양한 실시예에서, 본 시스템은 배경에 렌더링하기에 너무 비용이 많이 들지도 않고 전경에 사용되기에 너무 간단하지도 않은 적절한 타겟 오브젝트(또는 타겟 오브젝트의 버전)를 선택하는 것을 보조함으로써 레이아웃을 설계하는 데 있어서 제작자, 기술자 등을 용이하게 할 수 있다.
다양한 실시예에서, 본 시스템은 완성된 에셋이 그 구축 사양을 벗어나 사용될 때와 같이 필요에 따라, 레이아웃 및/또는 카메라를 수정할 때를 식별할 수 있다.
다양한 실시예에서, 본 시스템은 2D 영화로부터의 3D 씬의 부분을 선택적으로 로딩 및 점하기 위해 주어진 타겟 오브젝트의 에셋 상세 수준을 이미지 시퀀스 정보(image sequence information, ISI) 데이터와 조합할 수 있다. 다양한 실시예에서, ISI 데이터는 이미지/영화 리뷰 툴 - 이는 사용자가 이미지에서의 오브젝트를 포인팅하고 클릭할 수 있게 하고 그 이미지에 관한 추가 정보(예를 들어, 명칭; ID; "레드 셔츠", "스트라이프 셔츠" 등과 같은 별형; 및/또는 시스템에 의해 결정되고 대입된 바와 같은 기타 데이터)를 볼 수 있게 함 - 에 의해 사용된다.
다양한 실시예에서, 본 시스템은 프레임에 걸쳐 여러 번 사용되는 하나의 에셋(예를 들어, 하나의 배럴 에셋)을 갖는다. 예를 들어, 타겟 오브젝트(102)가 상이한 샷 - 상이한 영상 제작물에서의 상이한 샷을 포함함 - 에서의 상이한 배럴(예를 들어, 배럴 25, 27, 32 등)에 사용되는 배럴 에셋일 수 있다.
다양한 실시예에서, 본 시스템은 각 배럴에 대한 정보를 가질 수 있고, 그 정보를 대조할 수 있으며, 하나의 고유한 에셋 하의 정보를 저장할 수 있다. 이 예에서, 타겟 오브젝트(102)는 상이한 프레임에서 상이한 거리 및 각도에서 재사용될 수 있는 배럴 에셋으로서 언급될 수 있다. 이에 따라, 타겟 오브젝트(102)는 타겟 오브젝트(102')의 위치, 타겟 오브젝트(102'')의 위치 등에서 사용될 수 있다.
이는 배럴 에셋이 항상 나타날 최대 크기(예를 들어, 타겟 오브젝트(102'')), 배럴 에셋이 항상 나타낼 최소 크기(예를 들어, 타겟 오브젝트(102')), 및 배럴 에셋이 항상 나타날 평균 크기(예를 들어, 타겟 오브젝트(102))를 제공한다.
다양한 실시예에서, 본 시스템은 최대 및 최소 크기를 사용하여 아직 결정되지 않은 미래의 프레임에서의 미래의 크기를 예측한다. 예를 들어, 타겟 오브젝트(102)의 최대 및 최소 크기는 사전 제작 동안의 어떤 지점에서 확인될 수 있고, 타겟 오브젝트(102)의 최대 및 최소의 크기 중 어느 하나 또는 둘 모두는 사전 제작 또는 후반 제작 동안의 임의의 지점에서 변할 수 있다. 다양한 실시예에서, 본 시스템은 시스템이 새로운 카메라, 새로운 시퀀스 등으로부터 새로운 데이터를 보유하게 될 때, 이에 따라서 이러한 최대 및 최소 크기를 반복적으로 조정한다. 예시적인 시나리오에서, 후속해서, 카메라는 주어진 타겟 오브젝트가 훨씬 더 가까운 거리에서 나타나게 하도록 조정될 수 있다. 이에 따라, 본 시스템은 타겟 오브젝트의 최대 크기를 업데이트할 수 있다.
일부 실시예가 타겟 오브젝트의 크기와 관련하여 설명되지만, 이 실시예 및 다른 실시예는 또한 에셋의 다른 양태에 적용될 수도 있다. 이러한 양태는 깊이 수(예를 들어, 카메라로부터의 거리), 텍스처, 색상 등을 포함할 수 있다.
본원에서 나타난 바와 같이, 영상 제작을 위한 주어진 세트가 생성될 때, 주어진 씬/세트 및 관련 프레임에는 수천 또는 심지어 수만개의 오브젝트가 있을 수 있다. 레이아웃은 나무, 관목, 동물 등과 같은 새로운 장식에 의해 변경될 수 있다.
일부 실시예에서, 동일한 타겟 오브젝트(예를 들어, 배럴 에셋)는 세부적으로 상이한 특질(trait) 또는 변차(variance)(예를 들어, 색상, 텍스처 등)를 가질 수 있다. 이에 따라, 적색 배럴, 청색 배럴 등에 동일한 에셋이 사용될 수 있다.
이러한 변차는 또한 의상을 포함할 수 있다. 예를 들어, 주어진 사람이 한 씬에서 안경과 모자를 착용하고 있지 않을 수 있고, 후속 씬에서는 안경과 모자를 착용하고 있을 수 있다. 다양한 실시예에서, 본 시스템은 이러한 의상 액세서리 각각을 개개의 분리된 에셋으로서 식별하고 추적할 수 있다.
다양한 실시예에서, 본 시스템은 새로운 정보가 학습됨에 따라 제작 시간에 걸쳐 정보를 계속해서 모은다. 본 시스템은 이러한 정보를 데이터베이스에 업데이트한다.
다양한 실시예에서, 본 시스템은 새로운 최대 또는 최소 크기가 에셋의 구축 사양에 대해 학습되고 새로운 크기가 그것을 초과할 때와 같이, 모은 정보에 대한 변경이 학습될 때 관리를 알릴 수 있다. 다양한 실시예에서, 본 시스템은 에셋이 제작이 계획되고 예산이 세워진 사양을 벗어나게 하는 레이아웃 또는 카메라를 나타내는 메시지를 제작사에 보낼 수 있다.
일부 실시예에서, 본 시스템은 주어진 오브젝트를 영화에서 볼 수 있는 바와 같이, 상이한 거리, 관점 등으로부터 모델링하고 렌더링할 수 있다. 이는 제작자가 특정 상세 수준으로 보여지는 오브젝트에 기초하여 결정을 내리는 데 도움이 될 수 있다.
일부 실시예에서, 본 시스템은 본원에서 생성된 정보(예를 들어, 에셋 상세 수준, 이미지에서의 예시적인 렌더링된 오브젝트 등)를 사용자에게 디스플레이하기 위한 사용자 인터페이스를 제공할 수 있다.
일부 실시예에서, 본 시스템은 기존 디스플레이 또는 조직 내의 렌더러를 이용하거나 이에 본원에서 생성된 추가 정보(예를 들어, 정보를 전달하기 위해 오브젝트에 색상을 코딩함)를 더할 수 있다. 일부 실시예에서, 본 시스템은 기존 디스플레이에 openGL 셰이더를 이용하여, 오브젝트에 색상을 정적으로 코딩하거나 미리 결정된 에셋 상세 수준과 오브젝트의 현재 배치 간의 비교에 따라 오브젝트에 색상을 동적으로 코딩(예를 들어, 오브젝트가 카메라에 너무 가까운 경우 이를 적색으로 만드는 등)할 수 있다.
본원에서 설명된 실시예는 데이터를 생성하기 위해 특수 프로세스를 실행해야 할 필요성을 감소시키기 위해 조직 내의 렌더러를 직접 이용하게 될 수 있다. 실시예는 요구되는 사양 또는 실제 사양을 설명할 수 있다.
본원에서 설명된 실시예는 다양한 이점을 제공한다. 예를 들어, 최고 상세 수준으로 완전히 구축된 애니메이션 씬을 컬링하는 대신에, 본 시스템은 애니메이터에 대해 씬의 부분에 어떤 에셋 상세 수준이 요구되는지를 결정하고, 애니매이터에 미리 알린다.
도 3은 본원에서 설명된 구현과 함께 사용하기 위한 예시적인 컴퓨터 시스템(300)의 블록도이다. 컴퓨터 시스템(300)은 단지 예시적인 것이고 청구항의 범위를 제한하는 것으로 의도되지 않는다. 당업자는 다른 변형안, 수정안, 및 대안을 인식할 것이다. 예를 들어, 컴퓨터 시스템(300)은 하나 이상의 서버 시스템과 통신하는 하나 이상의 클라이언트 디바이스를 갖는 분산 클라이언트-서버 구성으로 구현될 수 있다.
하나의 예시적인 구현에서, 컴퓨터 시스템(300)은 모니터(310)와 같은 디스플레이 디바이스, 컴퓨터(320), 키보드, 터치 디바이스 등과 같은 데이터 입력 인터페이스(330), 사용자 입력 디바이스(340), 네트워크 통신 인터페이스(350) 등을 포함한다. 사용자 입력 디바이스(340)는 통상적으로 컴퓨터 마우스, 트랙볼, 트랙 패드, 무선 리모컨, 태블릿, 터치 스크린 등으로서 구현된다. 또한, 사용자 입력 디바이스(340)는 통상적으로 사용자가 예를 들어, 모니터(310) 상에 나타나는 오브젝트, 아이콘, 텍스트, 캐릭터 등을 선택하고 조작할 수 있게 한다.
네트워크 인터페이스(350)는 통상적으로 이더넷 카드, 모뎀(전화, 위성, 케이블, ISDN), (비동기식) 디지털 가입자 회선(DSL) 장치 등을 포함한다. 또한, 네트워크 인터페이스(350)는 컴퓨터(320)의 마더보드 상에 물리적으로 통합될 수 있거나, 소프트 DSL과 같은 소프트웨어 프로그램일 수 있는 등일 수 있다.
컴퓨터 시스템(300)은 HTTP, TCP/IP, RTP/RTSP, 프로토콜, 무선 애플리케이션 프로토콜(WAP), IEEE 902.11 프로토콜 등과 같은 통신 네트워크(352)를 통한 통신을 가능하게 하는 소프트웨어를 또한 포함할 수 있다. 추가적으로 그리고/또는 대안적으로, 다른 통신 소프트웨어 및 전송 프로토콜, 예를 들어, IPX, UDP 등이 또한 사용될 수 있다. 통신 네트워크(352)는 근거리 네트워크, 광역 네트워크, 무선 네트워크, 인트라넷, 인터넷, 사설 네트워크, 공공 네트워크, 교환 네트워크, 또는 예를 들어 클라우드 네트워크와 같은 임의의 다른 적절한 통신 네트워크를 포함할 수 있다. 통신 네트워크(352)는 많은 상호 연결된 컴퓨터 시스템 및 임의의 적절한 통신 링크, 이를테면 하드와이어 링크, 광학 링크, 위성 또는 다른 무선 통신 링크, 이를테면 블루투스, 와이파이, 파 전파 링크, 또는 정보의 통신을 위한 임의의 다른 적절한 메커니즘을 포함할 수 있다. 예를 들어, 통신 네트워크(352)는 무선 트랜스시버(354)와 같은 기지국을 통해 모바일 폰, 태블릿 등과 같은 하나 이상의 모바일 무선 디바이스(356A-N)와 통신할 수 있다.
컴퓨터(320)는 통상적으로 프로세서(360)와 같은 친숙한 컴퓨터 구성요소 및 메모리(370), 예를 들어, 랜덤 액세스 메모리(RAM)와 같은 메모리 저장 디바이스, 저장 매체(380), 및 상기한 구성요소를 상호 연결하는 시스템 버스(390)를 포함한다. 일 실시예에서, 컴퓨터(320)는 다수의 마이크로 프로세서, 그래픽 처리 장치(GPU) 등을 갖는 PC 호환 컴퓨터이다. 컴퓨터가 도시되어 있지만, 많은 다른 하드웨어 및 소프트웨어 구성이 본 발명과 함께 사용하기에 적절하다는 것이 당업자에게 용이하게 명백할 것이다. 메모리(370) 및 저장 매체(380)는 데이터, 오디오/비디오 파일, 컴퓨터 프로그램 등의 저장을 위한 유형적 비일시적 컴퓨터 판독 가능 매체의 예이다. 다른 유형의 유형적 매체는 디스크 드라이브, 고체 상태 드라이브, 플로피 디스크, 광 저장 매체 및 바코드, 반도체 메모리 이를테면 플래시 드라이브, 플래시 메모리, 랜덤 액세스 또는 판독 전용 유형의 메모리, 배터리 지원 휘발성 메모리, 네트워크 저장 디바이스, 클라우드 스토리지 등을 포함한다.
도 4는 일부 실시예에 따른, 심상을 정지 이미지 및/또는 이미지의 비디오 시퀀스의 형태로 생성하는 데 사용될 수 있는 예시적인 영상 컨텐츠 생성 시스템(400)의 블록도이다. 영상 컨텐츠 생성 시스템(400)은 라이브 액션 씬, 컴퓨터 생성 씬, 또는 이의 조합의 싱삼을 생성할 수 있다. 실제 시스템에서, 사용자에게는 필요한 경우 높은 레벨 및 낮은 레벨에서, 그 심상에 쓰이는 것을 특정할 수 있게 하는 툴이 제공된다. 예를 들어, 사용자는 애니메이션 아티스트일 수 있고, 영상 컨텐츠 생성 시스템(400)을 사용하여 사운드 스테이지에서 라이브를 하는 두 명의 인간 배우 사이의 상호 작용을 캡처하고, 인간 배우 중 한 명을 컴퓨터 생성 인간 형태의 비인간 - 대체된 배우의 움직임 및 기교를 모방하는 방식으로 거동함 - 으로 대체한 다음, 모두 요구된 스토리를 말하거나 요구된 심상을 생성하기 위해 컴퓨터에 의해 생성되는 제3의 컴퓨터 생성 캐릭터 및 배경 씬 요소를 추가할 수 있다.
영상 컨텐츠 생성 시스템(400)에 의해 출력되는 정지 이미지는 각각 2차원 이미지 어레이에서의 위치를 갖는 픽셀과 연관되는 픽셀 색상 값의 2차원 어레이와 같은 픽셀 어레이로서 컴퓨터 메모리에 표현될 수 있다. 픽셀 색상 값은 픽셀당 세 개 이상(또는 이하)의 색상 값, 이를테면 (예를 들어, RGB 포맷의) 적색 값, 녹색 값, 및 청색 값에 의해 표현될 수 있다. 픽셀 색상 값의 이러한 2차원 어레이의 치수는 1920 픽셀 열 x 1280 픽셀 행과 같은 바람직한 및/또는 표준 디스플레이 방식에 대응할 수 있다. 이미지는 압축된 포맷으로 저장될 수도 있고 저장되지 않을 수도 있지만, 어느 방식으로든, 요구되는 이미지는 픽셀 색상 값의 2차원 어레이로서 표현될 수 있다. 또 다른 변형안에서, 이미지는 3차원 표현을 위한 스테레오 이미지 쌍에 의해 표현되고, 다른 변형안에서, 이미지 출력의 일부 또는 전부는 단지 2차원 뷰 대신에 3차원 심상을 표현할 수 있다.
저장된 비디오 시퀀스는 위에서 설명된 정지 이미지와 같은 복수의 이미지를 포함할 수 있지만, 복수의 이미지의 각 이미지는 타이밍 시퀀스에서의 장소를 갖고, 저장된 비디오 시퀀스는 각 이미지가 순서대로 타이밍 시퀀스에 의해 표시된 시간에 디스플레이될 때, 디스플레이가 움직이고/거나 변화하는 심상인 것으로 보이는 것을 나타내도록 배열된다. 하나의 표현에서, 복수의 이미지의 각 이미지는 비디오 시퀀스가 재생을 시작할 때부터 지정된 프레임이 디스플레이될 때까지 경과할 시간량에 대응하는 그 지정된 프레임 번호를 갖는 비디오 프레임이다. 프레임 레이트는 저장된 비디오 시퀀스의 얼마나 많은 프레임이 단위 시간당 디스플레이되는지를 설명하는 데 사용될 수 있다. 예시적인 비디오 시퀀스는 24 프레임/초(frames per second )(24 FPS), 50 FPS, 80 FPS, 또는 다른 프레임 레이트를 포함할 수 있다. 일부 실시예에서, 프레임은 인터레이스되거나 그 외 디스플레이를 위해 제시되지만, 설명의 명료함을 위해, 일부 예에서, 비디오 프레임이 하나의 지정된 디스플레이 시간을 갖는 것으로 가정되고, 다른 변형이 가능하다는 것을 이해해야 한다.
비디오 시퀀스를 생성하는 하나의 방법은 간단히 비디오 카메라를 사용하여 라이브 액션 씬, 즉 물리적으로 발생하고 비디오 카메라에 의해 레코딩될 수 있는 이벤트를 레코딩하는 것이다. 레코딩되는 이벤트는 (두 명의 인간 배우가 서로 대화하는 것을 보는 것과 같이) 보이는 것으로서 해석될 이벤트일 수 있고 및/또는 (배우들이 실제로 비슷한 체격임에도 불구하고 한 배우가 다른 배우보다 크게 보이게 하기 위해 스테이지에서 배우들을 움직이는 것, 또는 실물 크기의 오브젝트를 포함하는 씬으로서 해석되도록 소형 오브젝트를 다른 소형 오브젝트와 함께 사용하는 것과 같은) 기발한 카메라 동작로 인해 상이하게 해석될 이벤트를 포함할 수 있다.
스토리 텔링 또는 다른 목적을 위해 비디오 시퀀스를 생성하는 것은 말하는 나무, 인간 형태의 오브젝트, 우주 배틀 등과 같이, 실제 배우로 생성될 수 없는 씬을 필요로 하는 경우가 많다. 이러한 비디오 시퀀스는 실제 씬로부터 빛을 캡처하기보다는 계산에 의해 생성될 수 있다. 컴퓨터 애니메이션 피처 필름의 경우에서와 같은 일부 경우에서, 비디오 시퀀스 전체가 계산에 의해 생성될 수 있다. 일부 비디오 시퀀스에서는, 일부 컴퓨터 생성 심상과 일부 라이브 액션을 아마도 주의깊게 병합하여 갖는 것이 바람직하다.
컴퓨터 생성 심상은 각 프레임에서 각 픽셀에 대한 각 색상 값을 수동으로 지정함으로써 생성 가능할 수 있지만, 이는 현실적으로는 너무 장황할 가능성이 있다. 그 결과, 생성자는 보다 높은 레벨에서 심상을 지정하기 위해 다양한 툴을 사용한다. 일례로서, 아티스트는 3차원 좌표계와 같은 장면 공간에서의 위치를 지정할 수 있고/거나, 오브젝트 및/또는 조명의 위치뿐만 아니라 카메라 관점 및 카메라 관측 평면도 지정할 수 있다. 이들 모두를 입력으로서 취하면, 렌더링 엔진은 프레임 각각에서 픽셀 값 각각을 계산할 수 있다. 또 다른 예에서, 아티스트는 각 프레임에서 연접식 오브젝트를 나타내는 각 픽셀의 색상을 지정하기 보다는 일부 지정된 텍스처를 갖는 연접식 오브젝트의 위치 및 움직임을 지정한다.
특정 예에서, 렌더링 엔진은 광선 추적을 수행하며, 여기서 픽셀 색상 값은 어느 오브젝트가 카메라 관점으로부터 그 픽셀에 대응하는 카메라 관측 평면의 지점 또는 부분을 통해 씬 공간에서 추적되는 광선을 따라 놓이는지를 계산함으로써 결정된다. 예를 들어, 카메라 관측 평면은 생성될 최종 이미지의 픽셀에 대응하는 그리드로 분할되는 씬 공간에서의 위치를 갖는 직사각형으로서 표현될 수 있다. 본 예에서, 먼저 씬 공간에서의 카메라 관점 및 그 그리드에서의 주어진 픽셀에 의해 정의되는 광선은 고형의 불투명한 청색 오브젝트 - 주어진 픽셀에 청색 색상이 부여됨 - 를 가로지른다. 물론, 최신 컴퓨터 생성 심상에 대해, 픽셀 색상을 결정하고, 이에 의해 심상을 생성하는 것은 조명 이슈, 반사, 보간, 및 다른 고려사항이 존재하기 때문에, 보다 복잡할 수 있다.
다양한 실시예에서, 라이브 액션 캡처 시스템(402)은 스테이지(404) 상에서 극을 벌이는 라이브 씬을 캡처한다. 라이브 액션 캡처 시스템(402)은 본원에서 더 상세히 설명되지만, 컴퓨터 프로세싱 능력, 이미지 프로세싱 능력, 하나 이상의 프로세서, 하나 이상의 프로세서에 의해 실행 가능한 프로그램 명령어를 저장하기 위한 프로그램 코드 스토리지, 뿐만 아니라 사용자 입력 디바이스 및 사용자 출력 디바이스를 포함할 수 있으며, 이것이 모두 도시되지는 않는다.
특정 라이브 액션 캡처 시스템에서, 카메라(406(1) 및 406(2))가 씬을 캡처하지만, 일부 시스템에서는, 라이브 씬으로부터 정보를 캡처하는 다른 센서(들)(408)(예를 들어, 적외선 카메라, 적외선 센서, 모션 캡처("모-캡") 검출기 등)가 있을 수 있다. 단계(404)에서, 인간 배우, 동물 배우, 무생물 오브젝트, 배경 오브젝트, 및 가능하게는 컴퓨터 생성 심상과 쉽게 오버레이되는 방식으로 라이브 씬 레코딩에서 캡처되도록 설계되는 그린 스크린(410)과 같은 오브젝트가 있을 수 있다. 스테이지(404)는 캡처 동안 오브젝트가 어디에 있었는지를 결정하기 위해 캡처 후에 사용될 수 있는 기점, 이를테면 기점(412(1)-(3))으로서의 역할을 하는 오브젝트를 또한 포함할 수 있다. 라이브 액션 씬은 머리 위 빛(414)과 같은 하나 이상의 빛에 의해 조명될 수 있다.
라이브 액션 씬의 캡처 동안 또는 그 다음에, 라이브 액션 캡처 시스템(402)은 라이브 액션 푸티지를 라이브 액션 푸티지 스토리지(420)에 출력할 수 있다. 라이브 액션 프로세싱 시스템(422)은 라이브 액션 푸티지를 프로세싱하여 그 라이브 액션 장면에 관한 데이터를 생성하고 그 데이터를 라이브 액션 메타데이터 스토리지(424)에 저장할 수 있다. 라이브 액션 프로세싱 시스템(422)은 컴퓨터 프로세싱 능력, 이미지 프로세싱 능력, 하나 이상의 프로세서, 하나 이상의 프로세서에 의해 실행 가능한 프로그램 명령어를 저장하기 위한 프로그램 코드 스토리지, 뿐만 아니라 사용자 입력 디바이스 및 사용자 출력 디바이스를 포함할 수 있으며, 이것이 모두 도시되지는 않는다. 라이브 액션 프로세싱 시스템(422)은 라이브 액션 푸티지를 프로세싱하여 프레임 또는 다수의 프레임에서 오브젝트의 경계를 결정하고 라이브 액션 씬에서의 오브젝트의 위치, 일부 액션에 대해 카메라가 어디에 있었는지, 움직이는 오브젝트와 기점 간의 거리 등을 결정할 수 있다. 센서 또는 다른 수단에 의해 요소가 검출되는 경우, 메타데이터는 머리 위 빛(414)의 위치, 색상, 및 강도를 포함할 수 있으며, 이는 컴퓨터로 생성되어 라이브 액션 푸티지 위에 오버레이되는 오브젝트 상에 컴퓨터 생성 빛을 매칭시키기 위한 후처리에 유용할 수 있다.
라이브 액션 프로세싱 시스템(422)은 아마도 미리 결정된 프로그램 명령어에 기초하여, 라이브 액션 푸티지를 수신 및 입력할 때 라이브 액션 메타데이터를 생성 및 출력하도록 자율적으로 동작할 수 있다. 라이브 액션 푸티지는 카메라 캡처 데이터뿐만 아니라 다른 센서로부터의 데이터일 수도 있다.
애니메이션 제작 시스템(430)은 영상 컨텐츠 생성 시스템(400)의 또 다른 부분이다. 애니메이션 제작 시스템(430)은 컴퓨터 프로세싱 능력, 이미지 프로세싱 능력, 하나 이상의 프로세서, 하나 이상의 프로세서에 의해 실행 가능한 프로그램 명령어를 저장하기 위한 프로그램 코드 스토리지, 뿐만 아니라 사용자 입력 디바이스 및 사용자 출력 디바이스를 포함할 수 있으며, 이것이 모두 도시되지는 않는다. 애니메이션 생성 시스템(430)은 애니메이션 아티스트, 제작자 기타에 의해, 아마도 프로그램적으로 그리고/또는 상호 작용적으로, 생성될 심상의 세부 사항을 특정하기 위해 사용될 수 있다. 데이터 저장소(432)로서 표시된 데이터베이스 또는 다른 데이터 소스로부터의 데이터 및 사용자 입력으로부터, 애니메이션 생성 시스템(430)은 오브젝트(예를 들어, 말, 인간, 공, 티포트, 클라우드, 광원, 텍스처 등)를 나타내는 데이터를 생성하여 오브젝트 스토리지(434)에 출력할 수 있고/거나, 씬을 나타내는 데이터를 생성하여 씬 기술 스토리지(436)에 출력할 수 있고/거나, 애니메이션 시퀀스를 나타내는 데이터를 생성하여 애니메이션 시퀀스 스토리지(438)에 출력할 수 있다.
씬 데이터는 오브젝트 및 다른 시각적 요소의 위치, 이들 파라미터의 값, 조명, 카메라 위치, 카메라 관측 평면, 및 렌더링 엔진(450)이 CGI 심상을 렌더링하기 위해 사용할 수 있는 다른 세부 사항을 나타낼 수 있다. 예를 들어, 씬 데이터는 심상을 렌더링할 카메라 관점 및 관측 평면의 위치과 함께 2차원 공간, 3차원 공간, 또는 (2.5 차원 공간, 4분의 3 차원, 의사 3D 공간 등과 같은) 다른 차원 공간에서 지정되는 몇몇 연접식 캐릭터, 배경 오브젝트, 조명 등의 위치를 포함할 수 있다. 예를 들어, 씬 데이터는 모두 카메라 관점의 위와 뒤에 있는 밝은 점 광원에 의해 조명되는 비디오의 우측 절반에 적색의 솜털이 보송보송한 말하는 개 및 비디오의 좌측 절반에 정지 상태의 나무가 있다는 것을 나타낼 수 있다. 일부 경우에, 카메라 관점은 명백하지 않지만, 관측 절두체로부터 결정될 수 있다. 직사각형 뷰로 렌더링될 심상의 경우에, 절두체는 절두 피라미드일 것이다. 렌더링된 뷰에 대한 다른 형상이 가능하고, 카메라 관측 평면은 상이한 형상에 대해 상이할 수 있다.
애니메이션 생성 시스템(430)은 상호 작용적이어서, 사용자가 애니메이션 시퀀스, 씬 기술, 오브젝트 세부 사항 등을 읽어 넣고 이들을 편집할 수 있게 하여, 가능하게는 이들을 저장소로 반환하여 기존의 데이터를 업데이트하거나 대체할 수 있게 한다. 일례로서, 오퍼레이터는 오브젝트 스토리지로부터의 오브젝트를 베이킹(baking) 프로세서로 읽어 넣을 수 있으며, 이 베이킹 프로세서는 오브젝트를 보다 간단한 형태로 변환하고 이들을 새로운 또는 상이한 오브젝트로서 오브젝트 스토리지(434)에 반환할 것이다. 예를 들어, 오퍼레이터는 수십 개의 지정된 파라미터(움직일 수 있는 관절, 색상 옵션, 텍스처 등)를 갖는 오브젝트를 잃어 넣고, 이들 파라미터에 대한 일부 값을 선택한 다음, 이들 파라미터에 대해 이제 고정된 값을 갖는 단순화된 오브젝트인 베이킹된 오브젝트를 저장할 수 있다.
오브젝트 표현을 구동하는 데에는 씬의 각 세부 사항을 특정해야 하기 보다는, 데이터 저장소(432)로부터의 데이터가 사용될 수 있다. 예를 들어, 아티스트가 해안선을 수동으로 그리거나 특정하는 대신에 지표면을 넘어가는 우주선의 애니메이션을 생성하고 있는 경우, 아티스트는 애니메이션 생성 시스템(430)이 데이터 저장소(432)로부터 지구 해안선의 좌표를 포함하는 파일로 데이터를 읽고 그 해안선 데이터를 사용하여 씬의 배경 요소를 생성할 것임을 특정할 수 있다.
애니메이션 시퀀스 데이터는 제어 가능한 속성을 갖는 오브젝트의 제어 지점에 대한 시계열 데이터 형태일 수 있다. 예를 들어, 오브젝트는 전형적인 인간의 움직임과 유사한 방식으로 움직일 수 있는 사지 및 관절을 갖는 인간과 비슷한 캐릭터일 수 있다. 아티스트는 높은 레벨에서(이를테면 "왼손이 시간(T1 내지 T2)에 걸쳐 위치(X1, Y1, Z1)로부터 (X2, Y2, Z2)로 움직이는 것") , 보다 낮은 레벨에서(예를 들어, "프레임당 2.5도의 팔꿈치 관절을 움직이는 것") 또는 심지어 매우 높은 레벨에서(예를 들어, "캐릭터 A가 이 씬에 대해 주어진 물리 법칙과 일치하게, 특정 경로를 따라 지점 P1으로부터 지점 P2로 이동해야 하는 것") 애니메이션 시퀀스를 특정할 수 있다.
애니메이션 씬에서의 애니메이션 시퀀스는 라이브 액션 씬에서 발생하는 것에 의해 지정될 수 있다. 애니메이션 드라이버 생성기(444)는 라이브 액션 씬 동안 실제 배우의 신체 부위의 움직임 및 위치를 나타내는 데이터와 같은 라이브 액션 메타데이터를 잃어 넣고, CGI 오브젝트를 애니메이션화하는 데 사용하기 위해 애니메이션 시퀀스 스토리지(438)에 저장될 대응하는 애니메이션 파라미터를 생성할 수 있다. 이는 인간 배우의 라이브 액션 씬이 모-캡 기점(예를 들어, 배우 옷 외부의 고대비 마커, 배우 피부 위의 고가시성 페인트, 얼굴 등)을 띠는 동안 캡처되고, 이 기점의 움직임이 라이브 액션 프로세싱 시스템(422)에 의해 결정되는 경우에 유용할 수 있다. 애니메이션 드라이버 생성기(444)는 그 움직임 데이터를 연접식 CGI 캐릭터의 관절이 시간에 따라 어떻게 움직이는지에 대한 사양으로 변환할 수 있다.
렌더링 엔진(450)은 애니메이션 시퀀스, 씬 기술, 및 오브젝트 세부 사항뿐만 아니라, 해상도 선택 및 렌더링 파라미터 세트와 같은 렌더링 엔진 제어 입력을 읽어 넣을 수 있다. 해상도 선택은 오퍼레이터가 렌더링 속도와 세부 사항의 명료성 간의 트레이드 오프를 제어하는 데 유용할 수 있는데, 이는 속도가 영화 제작자가 특정 상호 작용 또는 방향을 테스트하기 위한 명료성보다 더 중요할 수 있는 한편, 명료성이 영화 제작자가 배포될 피처 필름의 최종 프린트에 사용될 데이터를 생성하기 위한 속도보다 더 중요할 수 있기 때문이다. 렌더링 엔진(450)은 컴퓨터 프로세싱 능력, 이미지 프로세싱 능력, 하나 이상의 프로세서, 하나 이상의 프로세서에 의해 실행 가능한 프로그램 명령어를 저장하기 위한 프로그램 코드 스토리지, 뿐만 아니라 사용자 입력 디바이스 및 사용자 출력 디바이스를 포함할 수 있으며, 이것이 모두 도시되지는 않는다.
영상 컨텐츠 생성 시스템(400)은 라이브 푸티지를 애니메이션화된 컨텐츠와 병합하는 병합 시스템(460)("라이브 + CGI 병합 시스템"으로 라벨링됨)을 또한 포함할 수 있다. 라이브 푸티지는 라이브 액션 푸티지를 얻기 위해 라이브 액션 푸티지 스토리지(420)로부터 판독하고, (아마도 그린 스크린(410)이 라이브 액션 씬의 일부였다는 사실에 의해 도움을 받는) 배경으로부터 라이브 액션 씬에서의 오브젝트를 세그먼트화하는 캡처된 이미지에서의 추정되는 세그먼트화와 같은 세부 사항을 얻기 위해 라이브 액션 메타데이터 스토리지(424)로부터 판독함으로써, 그리고 렌더링 엔진(450)으로부터 CGI 심상을 얻음으로써 얻어져 입력될 수 있다.
병합 시스템(460)은 또한 병합/조합 스토리지(462)를 위해 규칙 세트로부터 데이터를 판독할 수 있다. 규칙 세트에서의 규칙의 매우 간단한 예는 "라이브 푸티지로부터 2차원 픽셀 어레이를 포함하는 전체 이미지를 획득하고, 렌더링 엔진(450)으로부터 2차원 픽셀 어레이를 포함하는 전체 이미지를 획득하며, 라이브 푸티지에서의 대응하는 픽셀이 특정 색상, 즉 녹색일 때, 각 픽셀이 렌더링 엔진(450)으로부터의 대응하는 픽셀인 이미지를 출력하며, 그 외 라이브 푸티지에서의 대응하는 픽셀로부터의 픽셀 값을 출력한다"일 수 있다.
병합 시스템(460)은 컴퓨터 프로세싱 능력, 이미지 프로세싱 능력, 하나 이상의 프로세서, 하나 이상의 프로세서에 의해 실행 가능한 프로그램 명령어를 저장하기 위한 프로그램 코드 스토리지, 뿐만 아니라 사용자 입력 디바이스 및 사용자 출력 디바이스를 포함할 수 있으며, 이것이 모두 도시되지는 않는다. 병합 시스템(460)은 프로그래밍 명령어에 따라 자율적으로 동작할 수 있거나, 오퍼레이터가 병합 프로세스를 제어할 수 있는 사용자 인터페이스 또는 프로그램 인터페이스를 가질 수 있다. 일부 실시예에서, 오퍼레이터는 병합 프로세스에서 사용할 파라미터 값을 특정할 수 있고/있거나, 세그먼트화된 오브젝트의 경계를 수정하는 것, 미비점을 평활화하기 위해 블러를 삽입하는 것, 또는 다른 효과을 추가하는 것과 같이, 병합 시스템(460)의 출력에 대해 이루어질 특정 트윅을 특정할 수 있다. 그 입력에 기초하여, 병합 시스템(460)은 정지 이미지 저장소(470)에 저장될 이미지 및/또는 애니메이션화된/조합된 비디오 저장소(472)에 저장될 비디오 형태의 이미지의 시퀀스를 출력할 수 있다.
이에 따라, 설명된 바와 같이, 영상 컨텐츠 생성 시스템(400)은 다양한 구성요소 및 툴을 사용하여 컴퓨터 생성 애니메이션과 라이브 액션을 조합하는 비디오를 생성하는 데 사용될 수 있으며, 이 중 일부는 본원에서 더 상세히 설명된다. 영상 컨텐츠 생성 시스템(400)은 적절한 설정을 갖는 상기한 조합에 유용할 수 있지만, 이는 전체 라이브 액션 푸티지 또는 전체 CGI 시퀀스를 출력하는 데 사용될 수 있다. 또한 코드는 일시적 컴퓨터 판독 가능 매체, 예를 들어, 전송 매체에 의해 이를테면 네트워크를 통해 전송된 신호 형태로 제공 및/또는 전달될 수 있다.
일 실시예에 따르면, 본원에서 설명된 기법은 펌웨어, 메모리, 다른 스토리지, 또는 조합 내의 프로그램 명령어에 따라 기법을 수행하도록 프로그래밍된 하나 이상의 일반화된 컴퓨팅 시스템에 의해 구현된다. 데스크탑 컴퓨터 시스템, 휴대용 컴퓨터 시스템, 핸드헬드 디바이스, 네트워킹 디바이스, 또는 기법을 구현하기 위해 하드 와이어드 및/또는 프로그램 로직을 통합하는 임의의 다른 디바이스와 같은 특수 목적 컴퓨팅 디바이스가 사용될 수 있다.
도 5는 본원에서 설명된 실시예에 사용될 수 있는 예시적인 컴퓨터 시스템(500)의 블록도이다. 컴퓨터 시스템(500)은 정보를 통신하기 위한 버스(502) 또는 다른 통신 메커니즘, 및 정보를 프로세싱하기 위해 버스(502)와 커플링된 프로세서(504)를 포함한다. 프로세서(504)는 예를 들어, 범용 마이크로 프로세서일 수 있다.
컴퓨터 시스템(500)은 또한 정보와 프로세서(504)에 의해 실행되는 명령어를 저장하는, 버스(502)에 커플링되는 RAM(Random Access Memory) 또는 다른 동적 저장 디바이스와 같은 메인 메모리(506)를 포함한다. 메인 메모리(506)는 또한 프로세서(504)에 의해 실행될 명령어의 실행 중에 임시 변수 또는 이와 다른 매개 정보를 저장하기 위해 사용될 수 있다. 이러한 명령어는 프로세서(504)가 액세스 가능한 비일시적 저장 매체에 저장될 때, 컴퓨터 시스템(500)을 명령어에 지정된 동작을 수행하도록 맞춤화된 특수 목적 머신으로 렌더링한다.
컴퓨터 시스템(500)은 프로세서(504)를 위한 명령과 정적 정보를 저장하는, 버스(502)에 커플링되는 ROM(Read Only Memory)(508) 또는 다른 정적 저장 디바이스를 더 포함한다. 정보 및 명령을 저장하기 위해 자기 디스크 또는 광 디스크와 같은 저장 디바이스(510)가 제공되고 버스(502)에 커플링된다.
컴퓨터 시스템(500)은 버스(502)를 통해, 컴퓨터 사용자에게 정보를 디스플레이하기 위해, 컴퓨터 모니터와 같은 디스플레이(512)에 커플링될 수 있다. 프로세서(504)에 정보와 명령 선택을 전달하기 위해 문자 숫자식 키 또는 다른 키를 포함하는 입력 디바이스(514)가 버스(502)에 커플링된다. 다른 타입의 사용자 입력 디바이스는 프로세서(504)에 방향 정보 및 명령 선택을 전달하고 디스플레이(512) 상에서의 커서의 이동을 제어하기 위한 마우스, 트랙볼 또는 커서 방향 키와 같은 커서 제어부(516)이다. 이 입력 디바이스(514)는 전형적으로 두 개의 축들, 즉 제1 축(예컨대, x)과 제2 축(예컨대, y)의 2의 자유도를 가지며, 이를 통해 입력 디바이스(514)가 평면에서 위치를 특정할 수 있게 한다.
컴퓨터 시스템(500)은 커스터마이징된 하드 와이어드 로직, 하나 이상의 ASIC 또는 FPGA, 펌웨어 및/또는 프로그램 로직을 사용하여 본원에서 설명된 기법을 구현할 수 있으며, 이들은 컴퓨터 시스템과 조합하여, 컴퓨터 시스템(500)이 특수 목적 머신이 되도록 하거나 프로그래밍한다. 일 실시예에 따르면, 본원에서의 기법은 메인 메모리(506)에 포함된 하나 이상의 명령어의 하나 이상의 시퀀스를 실행하는 프로세서(504)에 응답하여 컴퓨터 시스템(500)에 의해 수행된다. 이러한 명령어는 저장 디바이스(510)와 같은 또 다른 저장 매체로부터 메인 메모리(506)로 판독될 수 있다. 메인 메모리(506)에 포함된 명령어의 시퀀스의 실행은 프로세서(504)가 본원에서 설명된 프로세스 단계를 수행하게 한다. 대안적인 실시예에서, 하드 와이어드 회로부가 소프트웨어 명령어 대신에 또는 소프트웨어 명령어와 조합하여 사용될 수 있다.
본원에서 사용되는 용어 "저장 매체"는 머신으로 하여금 특정 방식으로 동작하게 하는 데이터 및/또는 명령어를 저장하는 임의의 비일시적 매체를 지칭한다. 이러한 저장 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함할 수 있다. 비휘발성 매체는 예를 들어, 저장 디바이스(510)와 같은 광학 또는 자기 디스크를 포함한다. 휘발성 매체는 메인 메모리(506)와 같은 동적 메모리를 포함한다. 저장 매체의 일반적인 형태는 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 고체 상태 드라이브, 자기 테이프, 또는 임의의 또 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광학 데이터 저장 매체, 홀 패턴을 갖는 임의의 물리적 매체, RAM, PROM, EPROM, FLASH EPROM, NVRAM, 임의의 다른 메모리 칩 또는 카트리지를 포함한다.
저장 매체는 전송 매체와 별개이지만 전송 매체와 함께 사용될 수 있다. 전송 매체는 저장 매체 사이에서 정보를 전송하는데 참여한다. 예를 들어, 전송 매체는 버스(502)를 포함하는 와이어를 포함하여, 동축 케이블, 구리 와이어 및 광섬유를 포함한다. 전송 매체는 또한 무선파 및 적외선 데이터 통신 동안 생성된 것과 같은 음파 또는 광파 형태를 취할 수 있다.
다양한 형태의 매체가 실행을 위해 프로세서(504)에 하나 이상의 명령어의 하나 이상의 시퀀스를 전달하는 데 관련될 수 있다. 예를 들어, 명령어는 처음에 원격 컴퓨터의 자기 디스크 또는 고체 상태 드라이브 상에서 전달될 수 있다. 원격 컴퓨터는 명령어를 그의 동적 메모리에 로딩하고 명령어를 네트워크 연결을 통해 보낼 수 있다. 컴퓨터 시스템(500)에 로컬인 모뎀 또는 네트워크 인터페이스는 데이터를 수신할 수 있다. 버스(502)는 데이터를 메인 메모리(506)에 전달하며, 이로부터 프로세서(504)는 명령어를 검색하여 실행한다. 메인 메모리(506)에 의해 수신된 명령어는 프로세서(504)에 의한 실행 전 또는 후에 저장 디바이스(510)상에 선택적으로 저장될 수 있다.
컴퓨터 시스템(500)은 버스(502)에 커플링된 통신 인터페이스(518)를 또한 포함한다. 통신 인터페이스(518)는 로컬 네트워크(522)에 연결되는 네트워크 링크(520)에 커플링하는 양방향 데이터 통신을 제공한다. 예를 들어, 통신 인터페이스(518)는 ISDN(integrated services digital network) 카드, 케이블 모뎀, 위성 모뎀, 또는 대응하는 유형의 전화선에 데이터 통신 연결을 제공하는 모뎀일 수 있다. 무선 링크 또한 구현될 수 있다. 임의의 이러한 구현에서, 통신 인터페이스(518)는 다양한 유형의 정보를 나타내는 디지털 데이터 스트림을 전달하는 전기, 전자기 또는 광학 신호를 송수신한다.
네트워크 링크(520)는 통상적으로 하나 이상의 네트워크를 통해 다른 데이터 디바이스에 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(520)는 로컬 네트워크(522)를 통해 호스트 컴퓨터(524) 또는 인터넷 서비스 제공자("ISP")(526)에 의해 동작되는 데이터 장비로의 연결을 제공할 수 있다. ISP(526)는 이제 "인터넷"(528)으로 통칭되는 월드 와이드 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스를 제공한다. 로컬 네트워크(522) 및 인터넷(528) 양자는 디지털 데이터 스트림을 전달하는 전기, 전자기 또는 광학 신호를 사용한다. 다양한 네트워크를 통한 신호 및 네트워크 링크(520) 상의 신호 및 컴퓨터 시스템(500)으로/으로부터 디지털 데이터를 전달하는 통신 인터페이스(518)를 통한 신호는 전송 매체의 예시적인 형태이다.
컴퓨터 시스템(500)은 네트워크(들), 네트워크 링크(520) 및 통신 인터페이스(518)를 통해 메시지를 송신하고, 프로그램 코드를 포함하는 데이터를 수신할 수 있다. 인터넷 예에서, 서버(530)는 인터넷(528), ISP(526), 로컬 네트워크(522) 및 통신 인터페이스(518)를 통해 애플리케이션 프로그램에 대한 요청된 코드를 전송할 수 있다. 수신된 코드는 그것이 수신될 때 프로세서(504)에 의해 실행될 수 있고 및/또는 저장 디바이스(510) 또는 나중의 실행을 위한 다른 비휘발성 스토리지에 저장될 수 있다.
본원에서 설명되는 프로세스의 동작은 본원에서 달리 표시되지 않는 한 또는 문맥에 의해 달리 명확하게 모순되지 않는 한 임의의 적절한 순서로 수행될 수 있다. 본원에서 설명된 프로세스는 실행 가능한 명령어로 구성된 하나 이상의 컴퓨터 시스템(예를 들어, 컴퓨터 시스템(500))의 제어 하에서 수행될 수 있고, 하드웨어에 의해, 또는 이의 조합에 의해 하나 이상의 프로세서 상에서 집합적으로 실행되는 코드(예를 들어, 실행 가능한 명령어, 하나 이상의 컴퓨터 프로그램, 또는 하나 이상의 애플리케이션)로서 구현될 수 있다. 코드는 예를 들어, 하나 이상의 프로세서에 의해 실행 가능한 복수의 명령어를 포함하는 컴퓨터 프로그램의 형태로 컴퓨터 판독 가능 저장 매체 상에 저장될 수 있다. 컴퓨터 판독 가능 저장 매체는 비일시적일 수 있다.
본 설명이 이의 특정 실시예에 관하여 설명되었지만, 이 특정 실시예는 단지 예시적인 것이고, 제한적인 것이 아니다. 제어는 레코딩을 수행할 때 합성의 다양한 파라미터를 수정하는 것을 가능하게 하도록 제공될 수 있다. 예를 들어, 해상도, 프레임 수, 깊이 위치의 정확도가 모두 조작자의 변경 또는 선택을 받을 수 있다.
임의의 적절한 프로그래밍 언어는 C, C++, 자바, 어셈블리 언어 등을 포함하여 특정 실시예의 루틴을 구현하는 데 사용될 수 있다. 절차 또는 객체 지향과 같은 상이한 프로그래밍 기법도 채용될 수 있다. 루틴은 단일의 프로세싱 디바이스 또는 다수의 프로세서 상에서 실행될 수 있다. 단계, 동작 또는 계산이 특정 순서로 제시될 수 있지만, 이 순서는 상이한 특정 실시예에서 변경될 수 있다. 일부 특정 실시예에서, 본 명세서에서 순차적인 것으로서 도시된 다수의 단계가 동시에 수행될 수 있다.
특정 실시예는 명령어 실행 시스템, 장치, 시스템, 또는 디바이스에 의해 또는 이와 관련하여 사용하기 위한 컴퓨터 판독 가능 저장 매체에서 구현될 수 있다. 특정 실시예는 소프트웨어 또는 하드웨어 또는 양자의 조합으로 제어 로직의 형태로 구현될 수 있다. 제어 로직은 하나 이상의 프로세서에 의해 실행될 때, 특정 실시예에서 설명되는 것을 수행하도록 동작 가능할 수 있다.
일부 실시예는 하나 이상의 디지털 프로세서에 의해 실행 가능한 명령어를 포함하는 비일시적인 프로세서 판독 가능 매체로서 구현된다. 프로세서 판독 가능 매체는 본원에서 설명된 실시예를 구현하기 위해 하나 이상의 디지털 프로세서에 의해 실행 가능한 하나 이상의 명령어를 포함한다.
일부 실시예는 컴퓨터 판독 가능 매체 상에 제공되는 프로세서 구현 가능 코드로서 구현된다. 컴퓨터 판독 가능 매체는 고체 상태 메모리, 자기 디스크, 광 디스크 등과 같은 비일시적 저장 매체, 또는 컴퓨터 네트워크를 통해 전송되는 신호와 같은 일시적인 매체를 포함할 수 있다.
특정 실시예는 프로그램된 범용 디지털 컴퓨터를 사용함으로써, 주문형 집적 회로, 프로그램 가능 로직 디바이스, 필드 프로그램 가능 게이트 어레이, 광학적, 화학적, 생물학적, 양자 또는 나노 엔지니어링 시스템, 구성요소 및 메커니즘을 사용함으로써 구현될 수 있다. 일반적으로, 특정 실시예의 기능은 당업계에 공지된 임의의 수단에 의해 달성될 수 있다. 분산형, 네트워크형 시스템, 구성요소, 및/또는 회로가 사용될 수 있다. 데이터의 통신, 또는 전달은 유선, 무선, 또는 임의의 다른 수단에 의해 이루어질 수 있다.
또한, 도면에 도시된 요소 중 하나 이상은 또한, 특정 애플리케이션에 따라 유용한 바와 같이, 더 분리되거나 통합되는 방식으로 구현되거나, 또는 심지어 특정 경우에서 동작 불능으로서 제거되거나 렌더링될 수 있다는 것이 이해될 것이다. 컴퓨터가 상술한 방법 중 임의의 방법을 수행할 수 있게 하기 위해 기계 판독 가능 매체에 저장될 수 있는 프로그램 또는 코드를 구현하는 것이 또한 본 사상 및 범위 내에 있다.
본원에서의 설명 및 다음 청구범위 전체에 사용될 때, "한", "하나의", 및 "상기"는 문맥이 달리 명확하게 지시하지 않는 한 복수 참조 대상을 포함한다. 또한, 본원에서의 설명 및 다음 청구범위 전체에 걸쳐 사용될 때 "~ 내"의 의미는 문맥이 달리 명확하게 지시하지 않는 한 "~ 내" 및 "~ 상"을 포함한다.
용어 '~을 포함하는'은 본 명세서에서 사용될 때 '적어도 부분적으로 ~로 이루어진'을 의미한다. 용어 '~을 포함하는'을 포함하는 본 명세서에서의 각 진술을 해석할 때, 그 용어, 또는 그 용어에 의해 시작되는 것 이외의 특징부가 또한 존재할 수 있다. '~을 포함하다', 및 '~을 포함한다'와 같은 관련 용어는 동일한 방식으로 해석되어야 한다.
특허 명세서, 다른 외부 문서, 또는 정보의 다른 소스가 원용된 본 명세서에서, 이는 일반적으로 본 발명의 특징을 논의하기 위한 맥락을 제공하기 위한 것이다. 달리 구체적으로 언급되지 않는 한, 이러한 외부 문서, 또는 이러한 정보 소스에 대한 언급은 임의의 관할권에서, 이러한 문서, 또는 그러한 정보 소스가 선행 기술이거나 당업계의 통상의 일반 지식의 일부를 형성한다는 것을 인정하는 것으로서 해석되어서는 안 된다.
따라서, 본원에서 특정 실시예가 설명되었지만, 전술한 개시에서 수정, 다양한 변경, 및 대체가 의도되고, 일부 경우에서 특정 실시예의 일부 특징은 제시된 바와 같은 범위 및 사상으로부터 벗어나지 않고 다른 특징의 대응하는 사용 없이 채용될 것이라는 것이 이해될 것이다. 따라서, 특정 상황, 또는 머터리얼을 본질적인 범위 및 사상에 적응시키기 위해 많은 수정이 이루어질 수 있다.

Claims (15)

  1. 멀티 앵글 스크린 커버리지 분석을 위해 하나 이상의 디지털 프로세서에 의해 수행되는 컴퓨터 구현 방법으로서,
    적어도 하나의 이미지를 획득하는 단계 - 상기 적어도 하나의 이미지는 컴퓨터 그래픽 생성 이미지이고, 상기 적어도 하나의 이미지는 적어도 하나의 타겟 오브젝트를 포함함 -;
    상기 적어도 하나의 타겟 오브젝트에 대한 스크린 커버리지 정보를 결정하는 단계;
    상기 적어도 하나의 타겟 오브젝트에 대한 깊이 정보를 결정하는 단계;
    상기 스크린 커버리지 정보 및 상기 깊이 정보에 기초하여 상기 적어도 하나의 타겟 오브젝트에 대한 에셋(asset) 상세 수준(detail level)을 결정하는 단계; 및
    상기 에셋 상세 수준을 데이터베이스에 저장하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,상기 적어도 하나의 타겟 오브젝트는 상기 이미지에서 적어도 부분적으로 가시적인 것인, 방법.
  3. 제1항에 있어서,상기 적어도 하나의 타겟 오브젝트는 상기 이미지에서 전체가 가시적인 것인, 방법.
  4. 제1항에 있어서, 상기 스크린 커버리지 정보는 상기 적어도 하나의 타겟 오브젝트에 의해 커버되는 스크린의 백분율에 기초하고/거나, 상기 적어도 하나의 타겟 오브젝트에 의해 커버되는 스크린의 절대적인 부분에 기초하는 것인, 방법.
  5. 제1항에 있어서, 상기 적어도 하나의 이미지는 복수의 오브젝트들을 포함하고, 상기 복수의 오브젝트들은 상기 적어도 하나의 타겟 오브젝트를 포함하며, 상기 적어도 하나의 타겟 오브젝트에 대한 상기 깊이 정보는 상기 복수의 오브젝트들 중의 적어도 하나의 다른 오브젝트에 기초하는 것인, 방법.
  6. 제1항에 있어서, 상기 에셋 상세 수준을 한 명 이상의 사용자에게 제공하는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서, 상기 에셋 상세 수준은 이미지 상세 정보의 양, 및/또는 이미지 해상도를 포함하는 것인, 방법.
  8. 멀티 앵글 스크린 커버리지 분석을 위한 장치로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의한 실행을 위해 하나 이상의 유형적 매체에 인코딩된 로직으로서:
    적어도 하나의 이미지를 획득하는 단계 - 상기 적어도 하나의 이미지는 컴퓨터 그래픽 생성 이미지이고, 상기 적어도 하나의 이미지는 적어도 하나의 타겟 오브젝트를 포함함 -;
    상기 적어도 하나의 타겟 오브젝트에 대한 스크린 커버리지 정보를 결정하는 단계;
    상기 적어도 하나의 타겟 오브젝트에 대한 깊이 정보를 결정하는 단계;
    상기 스크린 커버리지 정보 및 상기 깊이 정보에 기초하여 상기 적어도 하나의 타겟 오브젝트에 대한 에셋(asset) 상세 수준(detail level)을 결정하는 단계; 및
    상기 에셋 상세 수준을 데이터베이스에 저장하는 단계를 실행하기 위한 로직을 포함하는, 장치.
  9. 제8항에 있어서, 상기 적어도 하나의 타겟 오브젝트는 상기 이미지에서 적어도 부분적으로 가시적이고/거나 상기 이미지에서 전체가 가시적인 것인, 장치.
  10. 제8항에 있어서, 상기 스크린 커버리지 정보는 상기 적어도 하나의 타겟 오브젝트에 의해 커버되는 스크린의 백분율에 기초하고/거나, 상기 적어도 하나의 타겟 오브젝트에 의해 커버되는 스크린의 절대적인 부분에 기초하는 것인, 장치.
  11. 제8항에 있어서,상기 적어도 하나의 이미지는 복수의 오브젝트들을 포함하고, 상기 복수의 오브젝트들은 상기 적어도 하나의 타겟 오브젝트를 포함하며, 상기 적어도 하나의 타겟 오브젝트에 대한 상기 깊이 정보는 상기 복수의 오브젝트들 중의 적어도 하나의 다른 오브젝트에 기초하는 것인, 장치.
  12. 제8항에 있어서, 상기 로직은 실행될 때 또한, 상기 하나 이상의 프로세서로 하여금, 상기 에셋 상세 수준을 한 명 이상의 사용자에게 제공하는 단계를 포함하는 동작들을 수행하게 하도록 동작 가능한 것인, 장치.
  13. 제8항에 있어서, 상기 에셋 상세 수준은 이미지 상세 정보의 양, 및/또는 이미지 해상도를 포함하는 것인, 장치.
  14. 프로그램 명령어들이 저장된 비일시적인 컴퓨터 판독 가능 저장 매체로서, 상기 프로그램 명령어들은 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    적어도 하나의 이미지를 획득하는 동작 - 상기 적어도 하나의 이미지는 컴퓨터 그래픽 생성 이미지이고, 상기 적어도 하나의 이미지는 적어도 하나의 타겟 오브젝트를 포함함 -;
    상기 적어도 하나의 타겟 오브젝트에 대한 스크린 커버리지 정보를 결정하는 동작;
    상기 적어도 하나의 타겟 오브젝트에 대한 깊이 정보를 결정하는 동작;
    상기 스크린 커버리지 정보 및 상기 깊이 정보에 기초하여 상기 적어도 하나의 타겟 오브젝트에 대한 에셋 상세 수준을 결정하는 동작; 및
    상기 에셋 상세 수준을 데이터베이스에 저장하는 동작을 포함하는 동작들을 수행하게 하도록 동작 가능한 것인, 컴퓨터 판독 가능 저장 매체.
  15. 제14항에 있어서, 상기 적어도 하나의 타겟 오브젝트는 상기 이미지에서 적어도 부분적으로 가시적인 것인, 컴퓨터 판독 가능 저장 매체.
KR1020217043063A 2020-01-30 2020-10-20 멀티 앵글 스크린 커버리지 분석을 위한 장치 KR20220104639A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062968047P 2020-01-30 2020-01-30
US62/968,047 2020-01-30
US17/071,940 US11625848B2 (en) 2020-01-30 2020-10-15 Apparatus for multi-angle screen coverage analysis
US17/071,940 2020-10-15
PCT/NZ2020/050130 WO2021154098A1 (en) 2020-01-30 2020-10-20 Apparatus for multi-angle screen coverage analysis

Publications (1)

Publication Number Publication Date
KR20220104639A true KR20220104639A (ko) 2022-07-26

Family

ID=77061539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217043063A KR20220104639A (ko) 2020-01-30 2020-10-20 멀티 앵글 스크린 커버리지 분석을 위한 장치

Country Status (10)

Country Link
US (3) US11625848B2 (ko)
EP (1) EP3963464A1 (ko)
JP (1) JP2023512131A (ko)
KR (1) KR20220104639A (ko)
CN (1) CN114600153A (ko)
AU (1) AU2020425673A1 (ko)
CA (1) CA3139657C (ko)
GB (1) GB2599276A (ko)
SG (1) SG11202113051PA (ko)
WO (1) WO2021154098A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11620765B2 (en) * 2020-07-02 2023-04-04 Unity Technologies Sf Automatic detection of a calibration object for modifying image parameters
KR102371031B1 (ko) * 2021-08-13 2022-03-07 주식회사 비브스튜디오스 버추얼 프로덕션의 영상 촬영을 위한 장치, 시스템, 방법 및 프로그램
CN117710620B (zh) * 2024-02-05 2024-05-07 江西求是高等研究院 仿真智能体目标可见性检测方法、系统和存储介质及终端

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6118456A (en) * 1998-04-02 2000-09-12 Adaptive Media Technologies Method and apparatus capable of prioritizing and streaming objects within a 3-D virtual environment
US6674437B1 (en) * 1998-12-24 2004-01-06 B3D, Inc. Key reduction system and method with variable threshold
US6587109B1 (en) * 1998-12-24 2003-07-01 B3D, Inc. System and method for real-time scalability of 3D graphics based on internet bandwidth and CPU speed
US20020080143A1 (en) * 2000-11-08 2002-06-27 Morgan David L. Rendering non-interactive three-dimensional content
US20050253872A1 (en) * 2003-10-09 2005-11-17 Goss Michael E Method and system for culling view dependent visual data streams for a virtual environment
KR100434178B1 (ko) * 2003-12-16 2004-06-09 엔에이치엔(주) 단말 수단의 영상 신호 처리 능력에 연동되는 영상데이터의 정밀도 조정 방법 및 조정 시스템
US7525543B2 (en) * 2004-08-09 2009-04-28 Siemens Medical Solutions Usa, Inc. High performance shading of large volumetric data using screen-space partial derivatives
US7388585B2 (en) * 2004-09-20 2008-06-17 My Virtual Reality Software Method, system and device for efficient distribution of real time three dimensional computer modeled image scenes over a network
US8035636B1 (en) * 2005-09-08 2011-10-11 Oracle America, Inc. Software system for efficient data transport across a distributed system for interactive viewing
CN101479765B (zh) * 2006-06-23 2012-05-23 图象公司 对2d电影进行转换用于立体3d显示的方法和系统
KR100829561B1 (ko) * 2006-08-24 2008-05-15 삼성전자주식회사 3차원 그래픽 데이터 렌더링 방법 및 장치
US7733354B1 (en) * 2007-05-31 2010-06-08 Adobe Systems Incorporated Anti-aliased rendering
US20090193034A1 (en) * 2008-01-24 2009-07-30 Disney Enterprises, Inc. Multi-axis, hierarchical browser for accessing and viewing digital assets
US9122053B2 (en) * 2010-10-15 2015-09-01 Microsoft Technology Licensing, Llc Realistic occlusion for a head mounted augmented reality display
US20150178976A1 (en) * 2011-11-28 2015-06-25 Google Inc. View Dependent Level-of-Detail for Tree-Based Replicated Geometry
US9105129B2 (en) * 2012-06-05 2015-08-11 Google Inc. Level of detail transitions for geometric objects in a graphics application
US9153011B2 (en) * 2012-06-25 2015-10-06 Google Inc. Movement based level of detail adjustments
US20140198097A1 (en) * 2013-01-16 2014-07-17 Microsoft Corporation Continuous and dynamic level of detail for efficient point cloud object rendering
US9077891B1 (en) * 2013-03-06 2015-07-07 Amazon Technologies, Inc. Depth determination using camera focus
US9575941B1 (en) * 2013-10-01 2017-02-21 Google Inc. Dynamic adjustment to content for a display device
EP2881918B1 (en) * 2013-12-06 2018-02-07 My Virtual Reality Software AS Method for visualizing three-dimensional data
EP2911118A1 (en) * 2014-02-19 2015-08-26 My Virtual Reality Software AS Method for selecting data files for downloading
US9396586B2 (en) * 2014-03-14 2016-07-19 Matterport, Inc. Processing and/or transmitting 3D data
US9852539B2 (en) * 2015-02-26 2017-12-26 Qualcomm Incorporated Single pass surface splatting
US20170249772A1 (en) * 2016-02-26 2017-08-31 Blackberry Limited System and method for accelerated rendering of two-dimensional graphics
US20170358132A1 (en) * 2016-06-12 2017-12-14 Apple Inc. System And Method For Tessellation In An Improved Graphics Pipeline
CN110679147B (zh) * 2017-03-22 2022-03-08 奇跃公司 用于显示系统的基于深度的凹式渲染
JP7176520B2 (ja) * 2017-08-08 2022-11-22 ソニーグループ株式会社 情報処理装置、情報処理方法及びプログラム
US11043027B2 (en) * 2017-09-12 2021-06-22 Microsoft Technology Licensing, Llc Three-dimensional graphics image processing
US10987587B2 (en) * 2017-12-22 2021-04-27 Take-Two Interactive Software, Inc. System and method for game object and environment generation
US10427046B2 (en) * 2017-12-22 2019-10-01 Take-Two Interactive Software, Inc. System and method for game object and environment generation
CN109523621B (zh) * 2018-11-15 2020-11-10 腾讯科技(深圳)有限公司 对象的加载方法和装置、存储介质、电子装置
US11113880B1 (en) * 2019-07-22 2021-09-07 Facebook Technologies, Llc System and method for optimizing the rendering of dynamically generated geometry
US11170576B2 (en) * 2019-09-20 2021-11-09 Facebook Technologies, Llc Progressive display of virtual objects
US11321900B2 (en) * 2019-11-22 2022-05-03 Sony Interactive Entertainment Inc. Systems and methods for adjusting one or more parameters of a GPU

Also Published As

Publication number Publication date
US11170523B2 (en) 2021-11-09
SG11202113051PA (en) 2021-12-30
GB202117364D0 (en) 2022-01-12
US20220044437A1 (en) 2022-02-10
AU2020425673A1 (en) 2021-12-02
CN114600153A (zh) 2022-06-07
US20210241486A1 (en) 2021-08-05
CA3139657A1 (en) 2021-08-05
CA3139657C (en) 2023-01-24
EP3963464A1 (en) 2022-03-09
JP2023512131A (ja) 2023-03-24
US20210241485A1 (en) 2021-08-05
US11625848B2 (en) 2023-04-11
WO2021154098A1 (en) 2021-08-05
GB2599276A (en) 2022-03-30
US11443450B2 (en) 2022-09-13

Similar Documents

Publication Publication Date Title
US11443450B2 (en) Analyzing screen coverage of a target object
US11227428B2 (en) Modification of a live-action video recording using volumetric scene reconstruction to replace a designated region
US20220108422A1 (en) Facial Model Mapping with a Neural Network Trained on Varying Levels of Detail of Facial Scans
US20210274092A1 (en) Reconstruction of obscured views in captured imagery using pixel replacement from secondary imagery
US20220067244A1 (en) Method for Generating Simulations of Fluid Interfaces for Improved Animation of Fluid Interactions
WO2021242121A1 (en) Method for generating splines based on surface intersection constraints in a computer image generation system
WO2023021325A1 (en) Replacing moving objects with background information in a video scene
JP2023512129A (ja) スキンアニメーションの微細詳細を推測する方法
US11170553B1 (en) Methods and systems for generating an animation control rig
US11228706B2 (en) Plate reconstruction of obscured views of a main imaging device using capture device inputs of the same scene
US11145109B1 (en) Method for editing computer-generated images to maintain alignment between objects specified in frame space and objects specified in scene space
US11450054B2 (en) Method for operating a character rig in an image-generation system using constraints on reference nodes
CA3186957A1 (en) Operating animation controls using evaluation logic
WO2023021324A1 (en) Removing moving objects from a video scene captured by a moving camera

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITB Written withdrawal of application