KR20210024984A - 경면 반사를 제공하는 표면들의 이미지-기반 검출 및 반사 수정 - Google Patents

경면 반사를 제공하는 표면들의 이미지-기반 검출 및 반사 수정 Download PDF

Info

Publication number
KR20210024984A
KR20210024984A KR1020200107783A KR20200107783A KR20210024984A KR 20210024984 A KR20210024984 A KR 20210024984A KR 1020200107783 A KR1020200107783 A KR 1020200107783A KR 20200107783 A KR20200107783 A KR 20200107783A KR 20210024984 A KR20210024984 A KR 20210024984A
Authority
KR
South Korea
Prior art keywords
reflection
user
identifying
electronic device
environment
Prior art date
Application number
KR1020200107783A
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 KR20210024984A publication Critical patent/KR20210024984A/ko
Priority to KR1020230057230A priority Critical patent/KR20230062802A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • G06T5/77
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/60Extraction of image or video features relating to illumination properties, e.g. using a reflectance or lighting model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Abstract

본 명세서에 개시된 다양한 구현예들은 표면 및 이러한 표면에서의 반사들을 검출하는 디바이스, 시스템, 및 방법을 포함한다. 일부 구현예들은 반사를 제공하는 거울 또는 기타 표면에서 사용자 또는 사용자의 디바이스의 외관을 대체하는 가상 콘텐츠를 포함하는 CGR 환경을 제공하는 것을 포함한다. 예를 들어, CGR 환경은 사용자가 휴대 또는 착용하고 있는 디바이스를 포함하지 않는 사용자의 반사를 포함하도록 수정될 수 있다. 다른 예에서, CGR 환경은 전자 디바이스의 더 새로운 버전 또는 가상 지팡이와 같은 가상 콘텐츠가 반사에서 전자 디바이스를 대체하도록 수정된다. 다른 예에서, CGR 환경은 사용자 아바타와 같은 가상 콘텐츠가 반사에서 사용자를 대체하도록 수정된다.

Description

경면 반사를 제공하는 표면들의 이미지-기반 검출 및 반사 수정{IMAGE-BASED DETECTION OF SURFACES THAT PROVIDE SPECULAR REFLECTIONS AND REFLECTION MODIFICATION}
관련 출원에 대한 상호 참조
본 출원은 2019년 8월 26일자로 출원된 미국 가출원 제62/891,510호에 대한 이익을 주장하고, 2020년 6월 5일 출원된 미국 가출원 제63/035,160호의 이익을 주장하며, 이들은 전체적으로 본 명세서에 포함된다.
기술분야
본 개시내용은 일반적으로 경면 반사를 제공하고, 반사를 수정하거나, 또는 이러한 표면들 및 반사들을 나타내는 콘텐츠를 제공하는 표면들을 검출하는 시스템, 방법, 및 디바이스에 관한 것이다.
종래 기술들은 거울, 반사 유리, 액체, 및 물리적 환경에서 경면 반사를 제공하는 기타 표면들을 정확하게 검출 및 위치파악할 수 없다. 종래 기술들은 추가적으로 사용자에 의해 휴대, 운반, 또는 착용되는 디바이스들을 포함하는 전자 디바이스들 상에 콘텐츠를 제공하는 데 있어서, 이러한 표면들 및 반사들을 정확하게 나타내지 않을 수 있다. 예를 들어, 사용자에 의해 휴대되는 모바일 디바이스는 사용자의 물리적 환경의 이미지들에 기초하여 콘텐츠를 제공할 수 있고 콘텐츠는 거울 및 이 거울들에서의 반사를 적절하게 나타내거나 또는 다른 방식으로 활용하지 않을 수 있다.
본 명세서에 개시된 다양한 구현예들은 거울, 유리, 액체, 및 기타 표면들 및 이러한 표면들에서의 반사를 검출하는 디바이스, 시스템, 및 방법을 포함한다. 일부 구현예들은 사용자 또는 사용자의 디바이스 표면에서 반사를 검출하는 단계 및 사용자에게 제공되는 콘텐츠에서 반사의 외관을 향상 또는 대체하는 가상 콘텐츠를 제공하는 단계를 포함한다. 예를 들어, 환경의 뷰는 사용자가 휴대 또는 착용하고 있는 전자 디바이스를 포함하지 않는 사용자의 반사를 포함하도록 수정될 수 있다. 다른 예에서, 환경은 더 새로운 버전의 전자 디바이스 또는 가상 광선검과 같은 가상 콘텐츠가 반사에서 전자 디바이스를 대체하도록 수정될 수 있다. 다른 예에서, 환경은 아바타와 같은 가상 콘텐츠가 반사에서 사용자를 대체하도록 수정될 수 있다.
일부 구현예들은 비일시적 컴퓨터-판독가능 매체에 저장된 명령어들을 실행하는 프로세서에 의해 수행되는 방법을 포함한다. 이러한 방법은 환경의 뷰가 사용자 또는 전자 디바이스의 반사를 포함한다고 결정하는 단계를 포함할 수 있다. 뷰가 반사를 포함한다고 결정하는 것은 뷰를 제공하는 데 사용되는 3D 모델에서의 관점이 경면 반사를 제공하는 표면을 포함한다고 식별하는 것 및 표면에 대한 관점의 각도를 결정하는 것을 포함할 수 있다. 일부 구현예들에서, 뷰가 반사를 포함한다고 결정하는 것은, 예컨대, 의미론적 분석을 통해 물리적 환경에서 표면들 또는 재료를 식별하는 것 및 이 표면들 또는 재료들의 반사 속성들을 결정하는 것을 포함한다. 일부 구현예들에서, 뷰가 반사를 포함한다고 결정하는 것은, 예를 들어, 디바이스, 사용자, 또는 기타 객체의 거울/반전 이미지를 인식함으로써 디바이스, 사용자, 또는 다른 객체의 반사를 인식하기 위한 컴퓨터 비전을 이용하는 것을 포함한다.
방법은 사용자 또는 전자 디바이스의 반사의 적어도 일부분을 대체할 대체 콘텐츠를 식별하는 단계를 추가로 포함할 수 있다. 일부 구현예들에서, 대체 콘텐츠는 휴대용 모바일 디바이스가 소거, 강화, 또는 다른 방식으로 수정될 때 보일 사용자의 신체(예컨대, 손, 팔 등) 또는 배경 콘텐츠의 부분들을 포함한다. 일부 구현예들에서, 대체 콘텐츠는 손목 장착 디바이스가 소거, 강화, 또는 다른 방식으로 수정될 때 보일 사용자의 신체(예컨대, 팔, 옷 등) 또는 배경 콘텐츠의 부분들을 포함한다. 일부 구현예들에서, 대체 콘텐츠는 헤드 마운트 디바이스(HMD)가 소거, 강화, 또는 다른 방식으로 수정될 때 보일 사용자의 머리(예컨대, 볼, 눈, 눈썹, 머리카락 등) 또는 배경 콘텐츠의 부분들을 포함한다.
일부 구현예들에서, 대체 콘텐츠는 전자 디바이스 대신에 디스플레이될 동일한 유형의 전자 디바이스의 상이한 버전을 포함한다. 이러한 대체 콘텐츠는 사용자가 현재 사용중인 전자 디바이스의 더 새로운 버전들 또는 대안들을 시각화(예컨대, 가상으로 시도함)할 수 있게 할 수 있다. 일부 구현예들에서, 대체 콘텐츠는 전자 디바이스로 디스플레이되거나 또는 전자 디바이스의 기존 액세서리를 대체할 액세서리(예컨대, 보호 케이스, 밴드 등)를 포함한다.
일부 구현예들에서, 대체 콘텐츠는 사용자의 적어도 일부분의 반사 대신에 디스플레이될, 예컨대, 사용자의 머리 또는 전신을 아바타의 머리 또는 몸체로 대체할 아바타를 포함한다.
일부 구현예들에서, 대체 콘텐츠는 지워질 전자 디바이스 또는 사용자의 일부분 둘레의 생성된 콘텐츠를 포함한다. 예를 들어, 사용자의 옷의 일부분은 반사에서 디바이스에 의해 가려질 수 있다. 대체 콘텐츠는 디바이스를 소거 또는 수정하도록 반사가 변경되지 않았다면 다른 방식으로 숨겨졌을 콘텐츠를 도시할 수 있다.
대체 콘텐츠는 물리적 환경에서 물리적 환경, 사용자, 또는 객체들의 이전에 또는 동시에 획득된 이미지들을 이용하여 생성 또는 획득될 수 있다. 예를 들어, 이미지 센서는 대체 콘텐츠를 생성할 때 사용할 사용자의 신체의 이미지들을 캡처하도록 구성될 수 있다(예컨대, 웨어러블 디바이스 상에서 하향 또는 신체-대향 배향으로 위치설정 등). 다른 예에서, 데이터세트는 대체 콘텐츠를 생성할 때 사용할 사용자의 특성들 및 선호도에 매칭되는 아바타를 식별하기 위하여 액세스될 수 있다. 다른 예에서, 이전에 감춰진 콘텐츠를 대체하는 데 사용되는 다른 콘텐츠의 배경 콘텐츠는 셰이딩 기술, 홀 충전 기술, 콘텐츠 환영 기술, 래이-캐스팅 기술, 등을 통해 생성될 수 있다.
방법은 대체 콘텐츠에 기초하여 CGR 환경의 수정된 뷰를 생성하는 단계를 추가로 포함할 수 있다. 예를 들어, 전자 디바이스는 전자 디바이스가 뷰에 없다면, 예컨대, 안보인다면 다른 방식으로 보였을 사용자의 신체 및 또는 물리적 환경의 대응하는 부분들의 대체 콘텐츠를 포함함으로써 소거될 수 있다.
본 명세서에 개시된 일부 구현예들은 물리적 환경의 이미지들에 기초하여 거울, 유리, 액체, 및 경면 반사를 제공하는 기타 표면들을 위치파악한다. 일부 구현예들에서, 물리적 환경의 제1 이미지 내에 도시된 표면의 위치가 결정된다. 표면의 위치는 예컨대, 신체-대향/하향 카메라로부터의 제2 이미지 또는 사용자 또는 객체의 이전 이미지 내의 객체의 일부분과 매칭되는(예컨대, 거울 이미지인) 제1 이미지 내의 객체의 일부분의 경면 반사(예컨대, 사용자, 디바이스, 또는 디바이스 상에 디스플레이되는 콘텐츠)를 검출함으로써 결정될 수 있다.
일부 구현예들은 비일시적 컴퓨터-판독가능 매체에 저장된 명령어들을 실행하는 프로세서에 의해 수행되는 방법을 포함한다. 이러한 방법은 제1 이미지 및 제2 이미지를 획득할 수 있다. 제1 이미지는 물리적 환경의 것일 수 있고 객체의 일부분의 경면 반사를 포함할 수 있다. 예를 들어, 제1 이미지는 가시광/ 적색-녹색-청색(RGB) 이미지 센서에 의해 캡처될 수 있고, 사람의 일부 또는 전부의 반사, 사람의 옷, 전자 디바이스, 또는 임의의 기타 객체를 포함할 수 있다. 제2 이미지는 동일한 객체의 일부분의 직시(예컨대, 반사 아님)를 포함할 수 있다. 일부 구현예들에서, 제2 이미지는 물리적 환경에서 하향 또는 신체-대향 카메라에 의해 캡처된다. 일부 구현예들에서, 제2 이미지는 더 이른 시간에 캡처되고, 예컨대, 사용자 프로필로부터 사용자 프로필 사진을 획득하는 데이터세트로부터 획득된다. 일부 구현예들에서, 제1 이미지와 제2 이미지는 동일한 이미지의 일부분들이다. 예를 들어, 광각 렌즈가 있거나 또는 없는 카메라는 사용자의 얼굴의 일부분의 직시 및 사용자의 얼굴의 그 부분의 반사 둘 모두를 포함하는 이미지를 캡처할 수 있다.
방법은 제1 이미지 내의 객체의 일부분의 경면 반사를 제2 이미지 내의 객체의 일부분의 직시와 매칭시키는 것에 기초하여 제1 이미지 내의 경면 반사를 검출하는 단계를 포함할 수 있다. 본 명세서에 사용되는 바와 같이, 경면 반사라는 문구는 입사각(즉, 입사광과 법선 사이의 각도)이 반사각(즉, 반사광과 법선 사이의 각도)과 대략 동일한 반사를 지칭하며, 입사광, 표면 법선, 및 반사광 모두 대략 동일한 평면 상에 놓인다. 매칭은 객체의 일부분의 형상, 크기, 색상, 텍스처, 또는 움직임을 매칭시키는 것을 포함할 수 있다. 매칭은 객체의 좌우측이 반전된 객체의 거울 버전을 식별하는 것을 포함할 수 있다.
방법은 경면 반사에 기초하여 물리적 환경에서의 표면의 위치를 결정하는 단계를 포함할 수 있다. 이는 물리적 환경 내의 공지된 또는 결정된 디바이스의 위치 또는 배향 및 이미지 내의 경면 반사의 위치 또는 크기에 기초할 수 있다. 일부 구현예들에서, 물리적 환경 내의 이미지 캡처 디바이스의 포즈(예컨대 위치 및 배향)는, 예컨대, 특징부-매칭 기반 국한 기술, 동시 국한 및 맵핑(SLAM) 기술 등을 통해 이미지 데이터 또는 모션 센서 데이터에 기초하여 추적된다. 일부 구현예들에서, (예컨대, 객체 유형, 객체 재료, 객체 특성들 등에 관한) 의미론적 라벨들은 추가적으로 또는 대안적으로 표면의 위치를 결정하는 데 사용된다.
일부 구현예들에서, 경면 반사를 제공하는 표면은 물리적 환경의 3D 모델을 생성하지 않고, 예컨대, 물리적 환경에 관한 2D 이미지 또는 다른 센서-기반 정보에서 식별된 반사만을 이용하여 위치파악된다. 일부 구현예들에서, 반사에서 도시되는 사용자, 디바이스, 또는 기타 객체의 픽셀 크기는 이미지 데이터에 기초하여 측정되고, 사용자, 디바이스, 또는 기타 객체의 알려진 치수들과 비교되고, 비교는 물리적 환경 내의 디바이스의 위치에 대한 표면의 3D 위치를 결정하는 데 사용된다. 이러한 이미지-기반 비교에서의 이미지들에 도시된 객체들은 알고리즘 또는 머신 러닝 기반 모델들을 이용하여 의미론적으로 라벨링, 식별, 측정, 또는 다른 방식으로 평가될 수 있다. 일부 구현예들에서, 부가 센서 데이터, 예컨대, 심도 센서 데이터는 측정, 국한, 식별, 라벨링, 또는 기타 기능들을 용이하게 하는 데 사용된다.
일부 구현예들에서, 경면 반사를 제공하는 표면의 위치는 이미지가 캡처될 때의 이미지 캡처 디바이스의 포즈, 이미지에서 객체의 검출된 반사의 픽셀 위치, 및 이미지에서 객체의 검출된 반사의 크기에 기초하여 결정된다. 일부 구현예들에서, 픽셀 위치는 표면이 위치파악되는 상대적인 방향(예컨대, 카메라 위치로부터의 벡터 방향)을 결정하는 데 사용되고, 크기는 그 상대적인 방향에서 표면의 거리를 근사화하는 데 사용된다. 표면의 배향은 표면이 위치하는 상대적인 방향에 직교한다고 결정될 수 있다. 일부 구현예들에서, 대안적인 또는 추가적인 위치 기술 또는 센서 정보, 예컨대, 심도 센서 데이터는 표면의 위치를 결정하는 데 사용될 수 있다.
일부 구현예들에서, 물리적 환경의 3D 모델은, 예를 들어, 이미지 데이터 또는 모션 센서 데이터에 기초하여 생성된다. 이러한 모델에서의 객체들은, 예컨대, 이미지 데이터를 이용하여 자동 의미론적 라벨링 프로세스에 기초하여 의미론적으로 라벨링될 수 있다. 이미지 캡처 디바이스의 포즈(예컨대, 위치 및 배향)는 또한 3D 모델에 대하여 추적될 수 있다. 물리적 환경의 다양한 순간들에 캡처된 이미지들의 콘텐츠는 3D 모델의 객체들과 연관될 수 있다. 일부 구현예들에서, 표면은 이미지 데이터에 기초하여 3D 모델에서 식별된다. 이러한 표면의 일부 또는 전부는 추가로 표면이 경면 반사를 제공하는 것을 검출하는 것에 기초하여 경면이라고 결정될 수 있다.
일부 구현예들은 디바이스-특정 식별자를 이용하여 경면 반사를 제공하는 표면의 3D 위치를 결정할 수 있다. 일부 구현예들은 비일시적 컴퓨터-판독가능 매체에 저장된 명령어들을 실행하는 프로세서에 의해 수행되는 방법을 포함한다. 이러한 방법은 디바이스에서 광원을 통한 식별자를 생성할 수 있다. 식별자는 디바이스의 디스플레이 상에 디스플레이되는 디바이스에 특수한 고유 번호 또는 심볼일 수 있다. 다른 예에서, 식별자는 디바이스에서 광에 의해 생성되는 고유한 광 패턴이다. 방법은, 예를 들어, 가시광 및/또는 IR 센서를 이용하여 물리적 환경의 이미지를 획득한다. 방법은 이미지 내의 식별자에 대응하는 콘텐츠를 검출하는 것 및 식별자가 고유하게 디바이스에 대응한다고 결정하는 것에 기초하여 이미지가 디바이스의 경면 반사를 포함한다고 결정한다. 예를 들어, 이는 식별자가 물리적 환경 내의 임의의 기타 디바이스가 아닌 디바이스에 대응하는 번호, 심볼, 또는 광 패턴을 제공한다고 결정하는 것을 포함할 수 있다. 방법은 경면 반사를 제공한 물리적 환경 내의 표면의 위치를 결정한다. 위치는 이미지 내의 경면 반사에 기초하여 결정된다. 표면 위치를 결정하는 것은 물리적 환경 내의 디바이스의 공지/결정된 위치 및 배향 및 이미지 내의 경면 반사의 위치 또는 크기에 기초할 수 있다.
일부 구현예들에 따른, 비일시적 컴퓨터 판독가능 저장 매체는 본 명세서에 기재된 임의의 방법을 수행하거나 수행하게 하도록 컴퓨터-실행가능한 명령어들을 그 안에 저장하고 있다. 일부 구현예들에 따르면, 디바이스는 하나 이상의 프로세서들, 비일시적 메모리, 및 하나 이상의 프로그램들을 포함하고; 하나 이상의 프로그램들은 비일시적 메모리에 저장되며 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 하나 이상의 프로그램들은 본 명세서에 기술된 방법들 중 임의의 방법을 수행하거나 또는 그의 수행을 야기하기 위한 명령어들을 포함한다.
본 개시내용이 당업자들에 의해 이해될 수 있도록, 더 상세한 설명이 일부 예시적인 구현예들의 양태들에 대한 참조에 의해 이루어질 수 있으며, 이들 중 일부는 첨부 도면들에 도시된다.
도 1은 일부 구현예들에 따른, 전자 디바이스가 반사를 검출하는 것에 기초하여 변형되는 컴퓨터-생성 현실(CGR) 환경을 보고 있는 사용자를 도시한다.
도 2는 일부 구현예들에 따른, 도 1의 CGR 환경의 대안적인 변형예를 도시한다.
도 3은 일부 구현예들에 따른, 도 1의 CGR 환경의 대안적인 변형예를 도시한다.
도 4는 일부 구현예들에 따른, 도 1의 CGR 환경의 대안적인 변형예를 도시한다.
도 5는 일부 구현예들에 따른, 전자 디바이스가 반사를 검출하는 것에 기초하여 변형되는 컴퓨터-생성 현실(CGR) 환경을 보고 있는 사용자를 도시한다.
도 6은 일부 구현예들에 따른, CGR 환경을 제공하는 시스템의 흐름도를 도시하는 블록도이다.
도 7은 일부 구현예들에 따른, 3차원(3D) 의미론적 모델에 포함된 아이템들의 조감도를 도시한다.
도 8은 일부 구현예들에 따른 예시적인 디바이스의 블록도이다.
도 9는 일부 구현예들에 따른, CGR 환경의 뷰를 제공하는 예시적인 방법을 도시하는 흐름도이다.
도 10은 일부 구현예들에 따른, 경면 반사를 제공하는 표면을 검출하는 예시적인 방법을 도시하는 흐름도이다.
도 11은 일부 구현예들에 따른, 경면 반사를 제공하는 표면을 검출하는 예시적인 방법을 도시하는 흐름도이다.
일반적인 실시에 따라, 도면에 도시된 다양한 특징부들은 축척대로 그려지지 않을 수 있다. 따라서, 다양한 특징부들의 치수는 명료함을 위해 임의대로 확대 또는 축소될 수 있다. 부가적으로, 도면들 중 일부는 주어진 시스템, 방법 또는 디바이스의 컴포넌트들 모두를 도시하지는 않을 수 있다. 마지막으로, 동일한 도면 번호들은 명세서 및 도면들 전반에 걸쳐 동일한 특징부를 나타내기 위해 사용될 수 있다.
도면들에 도시된 예시적인 구현예들의 완전한 이해를 제공하기 위해 다수의 세부사항들이 설명된다. 그러나, 도면들은 단지 본 개시내용의 일부 예시적인 양태들만을 도시할 뿐이며, 따라서 제한적인 것으로 고려되지 않는다. 통상의 기술자는 다른 효과적인 양태들 또는 변형들이 본 명세서에 설명되는 특정 세부사항들 모두를 포함하지는 않음을 인식할 것이다. 또한, 잘 알려진 시스템들, 방법들, 컴포넌트들, 디바이스들 및 회로들은 본 명세서에 기술된 예시적인 구현예들의 더 적절한 양태들을 불명확하게 하지 않기 위해 철저히 상세하게 기술되지 않았다.
도 1을 참조하면, 일부 구현예들에 따른, 예시적인 물리적 환경(100)이 도시된다. 관련 특징부들이 도시되어 있지만, 당업자는 본 개시내용으로부터, 간결함을 위해 그리고 본 명세서에 개시되는 예시적인 구현예들의 더 많은 관련 양태들을 불명료하게 하지 않도록 하기 위해 다양한 다른 특징부들이 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 물리적 환경(100)은 사용자(110)에 의해 휴대되는 디바이스(120)를 포함한다. 디바이스(120)는 통합 제어기를 포함할 수 있거나 또는 별도 제어기와 통신할 수 있고, 이들 중 하나 또는 둘 모두는 물리적 환경(100)에 있을 수 있다. 물리적 환경은 사람들이 전자 시스템들의 도움없이 감지하거나 상호작용할 수 있는 물리적 세계를 지칭한다. 물리적 공원과 같은 물리적 환경들은 물리적 물품들, 이를테면 물리적 나무들, 물리적 건물들, 물리적 위치들 및 물리적 사람들을 포함한다(예컨대, 사용자(110)). 사람들은, 이를테면 시각, 촉각, 청각, 맛, 및 냄새를 통해, 물리적 환경(100)을 직접 감지하거나 그와 상호작용할 수 있다.
일부 구현예들에서, 디바이스(120)는 경면 반사를 제공하는 표면들을 검출하고, 반사를 검출하거나, 또는 컴퓨터-생성 현실(CGR) 환경을 관리, 조율, 또는 사용자(110)에게 제시하도록 구성된다. 일부 구현예들에서, 별도 제어기가 이 기능들 중 하나 이상을 수행하도록 구성된다. 이러한 제어기(미도시)는 물리적 환경(100)에 대하여 로컬 또는 원격인 컴퓨팅 디바이스일 수 있다. 일 예에서, 제어기는 물리적 환경(100) 내에 위치한 로컬 서버이다. 다른 예에서, 제어기는 물리적 환경(100)의 외측에 위치한 원격 서버(예컨대, 클라우드 서버, 중앙 서버 등)이다. 일부 구현예들에서, 제어기는 하나 이상의 유선 또는 무선 통신 채널(예컨대, BLUETOOTH, IEEE 802.11x, IEEE 802.16x, IEEE 802.3x 등)을 통해 디바이스(120)와 통신가능하게 결합된다. 일부 구현예들에서, 제어기의 기능들은 디바이스(120)에 의해 제공되거나, 또는 예를 들어, 독립형 유닛으로서 기능하는 모바일 디바이스의 경우에, 디바이스(120)와 조합된다.
일부 구현예들에 따라, 사용자(110)가 물리적 환경(100) 내에 존재하는 동안 디바이스(120)는 CGR 환경을 사용자(110)에게 제시한다. CGR 환경은 사람들이 전자 시스템을 통해 느끼거나 또는 상호작용하는 전체적으로 또는 부분적으로 모사된 환경을 지칭한다. CGR에서, 사람의 물리적 움직임들, 또는 이들의 표현들의 서브세트가 추적되고, 이에 응답하여, CGR 환경에서 모사된 하나 이상의 가상 객체들의 하나 이상의 특성들이 적어도 하나의 물리 법칙에 따르는 방식으로 조정된다. 예를 들어, CGR 시스템은 디바이스가 돌아가는 것을 검출할 수 있고, 이에 응답하여, 그 사람에게 제시되는 그래픽 콘텐츠 및 음장(acoustic field)을 물리적 환경에서 그러한 뷰들 및 소리들이 변화하는 방식과 유사한 방식으로 조정할 수 있다. 일부 상황들에서(예를 들어, 접근성 이유들 때문에), CGR 환경 내의 가상 객체(들)의 특성(들)에 대한 조정들은 물리적 움직임들의 표현들(예를 들어, 음성 커맨드들)에 응답하여 이루어질 수 있다.
사람은, 시각, 청각, 촉각, 미각, 및 후각을 포함하는 그들의 감각들 중 임의의 하나를 사용하여 CGR 객체를 감지하거나 또는 그와 상호작용할 수 있다. 예를 들어, 사람은 3D 공간에서 오디오 소스들의 인지 지점을 제공하는 3D 또는 공간적 오디오 환경을 생성하는 오디오 객체들을 느끼거나 또는 그것과 상호작용할 수 있다. 다른 예에서, 오디오 객체들은 오디오 투과성을 가능하게 할 수 있으며, 이는 선택적으로, 물리적 환경으로부터의 주변 소리들을 컴퓨터-생성 오디오와 함께 또는 그것 없이 포함한다. 일부 CGR 환경들에서, 사람은 오디오 객체들만을 감지하거나 또는 오직 그와 상호작용할 수 있다.
CGR의 예들은 가상 현실 및 혼합 현실을 포함한다. 가상 현실(VR) 환경은 하나 이상의 감각들에 대한 컴퓨터-생성 감각 입력들에 전적으로 기초하도록 설계된 모사된 환경을 지칭한다. VR 환경은 사람이 느끼거나 또는 상호작용할 수 있는 가상 객체들을 포함한다. 예를 들어, 나무들, 빌딩들, 및 사람들을 표현하는 아바타들의 컴퓨터-생성 형상화가 가상 객체들의 예들이다. 사람은, 컴퓨터-생성 환경 내의 사람의 존재의 시뮬레이션을 통해 또는 컴퓨터-생성 환경 내의 사람의 신체적 움직임들의 서브세트의 시뮬레이션을 통해 VR 환경에서 가상 객체들을 감지하거나 또는 그것과 상호작용할 수 있다.
컴퓨터-생성 감각 입력들에 전적으로 기초하도록 설계되는 VR 환경과는 대조적으로, 혼합 현실(MR) 환경은 컴퓨터-생성 감각 입력들(예를 들어, 가상 객체들)을 포함하는 것에 부가하여, 물리적 환경으로부터의 감각 입력들, 또는 그들의 표현을 포함하도록 설계된 시뮬레이션된 환경을 지칭한다. 가상 연속체(virtuality continuum)에서, 혼합 현실 환경은 한쪽의 전체 물리적 환경과 다른 쪽의 가상 현실 환경 사이의 임의의 곳에 있지만, 포함하지는 않는다.
일부 MR 환경들에서, 컴퓨터-생성 감각 입력들은 물리적 환경으로부터의 감각 입력들의 변화들에 응답할 수 있다. 또한, MR 환경을 제시하기 위한 일부 전자 시스템들은 물리적 환경에 대한 위치 또는 배향을 추적하여 가상 객체들이 실제 객체들(즉, 물리적 환경으로부터의 물리적 물품들 또는 물리적 물품들의 표현들)과 상호작용할 수 있게 할 수 있다. 예를 들어, 시스템은 움직임들을 고려하여 가상 나무가 물리적 땅에 대하여 고정되어 있는 것처럼 보이도록 할 수 있다.
혼합 현실들의 예들은 증강 현실 및 증강 가상을 포함한다. 증강 현실(AR) 환경은 하나 이상의 가상 객체들이 물리적 환경, 또는 물리적 환경의 표현 위에 중첩되어 있는 모사된 환경을 지칭한다. 예를 들어, AR 환경을 제시하기 위한 전자 시스템은 사람이 직접 물리적 환경을 볼 수 있는 투명 또는 반투명 디스플레이를 가질 수 있다. 시스템은 가상 객체들을 투명 또는 반투명 디스플레이 상에 제시하도록 구성되어, 사람은, 시스템을 사용하여, 물리적 환경 위에 중첩된 가상 객체들을 인지하게 할 수 있다. 대안적으로, 시스템은 불투명 디스플레이 및 물리적 환경의 표현들인, 물리적 환경의 이미지들 또는 비디오를 캡처하는 하나 이상의 이미징 센서들을 가질 수 있다. 시스템은 이미지들 또는 비디오를 가상 객체들과 합성하고, 합성물을 불투명 디스플레이 상에 제시한다. 사람은, 시스템을 사용하여, 물리적 환경의 이미지들 또는 비디오에 의해 물리적 환경을 간접적으로 보고, 물리적 환경 위에 중첩된 가상 객체들을 인지한다. 본 명세서에 사용되는 바와 같이, 불투명 디스플레이 상에 도시되는 물리적 환경의 비디오는 "패스-스루(pass-through) 비디오"로 불리는데, 이는 시스템이 하나 이상의 이미지 센서(들)를 사용하여 물리적 환경의 이미지들을 캡처하고, AR 환경을 불투명 디스플레이 상에 제시할 시에 이들 이미지들을 사용하는 것을 의미한다. 추가로 대안적으로, 시스템은 가상 객체들을 물리적 환경에, 예를 들어, 홀로그램으로서 또는 물리적 표면 상에 투영하는 투영 시스템을 가질 수 있어서, 사람이 시스템을 사용하여 물리적 환경 위에 중첩된 가상 객체들을 인지하게 한다.
증강 현실 환경은 또한 물리적 환경의 표현이 컴퓨터-생성 감각 정보에 의해 변환되는 모사된 환경을 지칭한다. 예를 들어, 패스-스루 비디오를 제공할 시에, 시스템은 하나 이상의 센서 이미지들을 변환하여 이미징 센서들에 의해 캡처된 관점과 상이한 선택 관점(예를 들어, 시점)을 부과할 수 있다. 다른 예를 들어, 물리적 환경의 표현은 그것의 일부들을 그래픽적으로 수정(예컨대, 확대)함으로써 변환될 수 있고, 수정된 부분은 원래 캡처된 이미지들의 대표적인 버전일 수 있지만, 실사 버전은 아닐 수 있다. 추가적인 예로서, 물리적 환경의 표현은 그의 일부들을 그래픽적으로 제거하거나 또는 흐리게 함으로써 변환될 수 있다.
증강 가상(AV) 환경은 가상 또는 컴퓨터 생성 환경이 물리적 환경으로부터의 하나 이상의 감각 입력들을 포함하는 모사된 환경을 지칭한다. 감각 입력들은 물리적 환경의 하나 이상의 특성들의 표현들일 수 있다. 예를 들어, AV 공원은 가상 나무들 및 가상 빌딩들을 가질 수 있지만, 사람들의 얼굴들은 물리적 사람들을 찍은 이미지들로부터 실사처럼 재현될 수 있다. 다른 예로서, 가상 객체는 하나 이상의 이미징 센서들에 의해 이미징되는 물리적 물품의 형상 또는 색상을 채용할 수 있다. 추가적인 예로서, 가상 객체는 물리적 환경에서 태양의 포지션에 부합하는 그림자들을 채용할 수 있다.
사람이 다양한 CGR 환경들을 감지하거나 또는 그들과 상호작용할 수 있게 하는 많은 상이한 유형들의 전자 시스템들이 존재한다. 예들은 헤드 장착형 시스템들, 투영-기반 시스템들, 헤드-업(head-up) 디스플레이(HUD)들, 디스플레이 기능이 통합된 차량 앞유리들, 디스플레이 기능이 통합된 창문들, 사람의 눈들에 배치되도록 설계된 렌즈들로서 형성된 디스플레이(예를 들어, 콘택트 렌즈들과 유사함), 헤드폰들/이어폰들, 스피커 어레이들, 입력 시스템들(예를 들어, 햅틱 피드백이 있거나 또는 없는 웨어러블 또는 핸드헬드 제어기들), 스마트폰들, 태블릿들, 및 데스크톱/랩톱 컴퓨터들을 포함한다. 헤드 장착형 시스템은 하나 이상의 스피커(들) 및 통합 불투명 디스플레이를 가질 수 있다. 대안적으로, 헤드 장착형 시스템은 외부 불투명 디스플레이(예를 들어, 스마트폰)를 수용하도록 구성될 수 있다. 헤드 장착형 시스템은 물리적 환경의 이미지들 또는 비디오를 캡처하기 위한 하나 이상의 이미징 센서들, 또는 물리적 환경의 오디오를 캡처하기 위한 하나 이상의 마이크로폰들을 포함할 수 있다. 헤드 장착형 시스템은 불투명 디스플레이보다는, 투명 또는 반투명 디스플레이를 가질 수 있다. 투명 또는 반투명 디스플레이는 이미지들을 표현하는 광이 사람의 눈들로 지향되는 매체를 가질 수 있다. 디스플레이는 디지털 광 프로젝션, OLED들, LED들, uLED들, 실리콘 액정 표시장치, 레이저 스캐닝 광원, 또는 이들 기술들의 임의의 조합을 이용할 수 있다. 매체는 광학 도파관, 홀로그램 매체, 광학 조합기, 광학 반사기, 또는 이들의 임의의 조합일 수 있다. 일 구현예에서, 투명 또는 반투명 디스플레이는 선택적으로 불투명해지도록 구성될 수 있다. 투영-기반 시스템들은 그래픽 이미지들을 사람의 망막 상에 투영하는 망막 투영 기술을 이용할 수 있다. 투영 시스템들은 또한 가상 객체들을 물리적 환경에, 예를 들어, 홀로그램으로서 또는 물리적 표면 상에 투영하도록 구성될 수 있다.
도 1에 도시된 바와 같이, 일부 구현예들에서, 디바이스(120)의 사용자(110)는 디바이스(120)를 이용하여 물리적 환경(100) 내의 표면(140)(예컨대, 거울 또는 관찰가능한 반사를 제공하기에 충분한 경면성의 임계량보다 많은 기타 표면)으로부터의 반사를 본다. 따라서, 디바이스(120)가 반사를 사용자(110)에게 직접 전달한다면, 반사는 반사된 사용자(145)(예컨대, 사용자(110)의 반사) 및 반사된 디바이스(150)(예컨대, 디바이스(120)의 반사)를 포함할 것이다. 그러나, 더 상세하게 설명되는 바와 같이, 일부 구현예들에서 디바이스(120)는 반사된 디바이스(150)를 대체 콘텐츠(180)(예컨대, 사용자의 손 및 셔츠의 묘사)로 대체한다. 예를 들어, 디바이스(120)는 CGR 환경의 뷰(예컨대, 뷰(130))가 사용자(110) 또는 디바이스(120)의 반사(예컨대, 반사된 디바이스(150))를 포함한다고 결정하고, 대체 콘텐츠(180)를 식별하고, 반사된 사용자(145) 또는 반사된 디바이스(150)의 일부 또는 전부 대신에 대체 콘텐츠(180)를 이용하여 CGR 환경(130)의 뷰를 수정하고(예컨대, 반사된 사용자(145) 또는 반사된 디바이스(150)의 일부분들을 그래픽적으로 소거, 제거, 또는 애매하게 만듬), 예컨대, 대체 콘텐츠를 공간적으로 정렬, 광도 측정하여 조정, 시각적으로 정연하게 렌더링, 중첩, 스텐실, 페더링(feathering), 또는 혼합함으로써 사용자에게 수정된 뷰(160)를 제공할 수 있다.
일부 구현예들에서, 사용자(110)는 사용자가 휴대 또는 착용하고 있는 전자 디바이스(120) 없는 그의 또는 그녀의 반사를 볼 것으로 예상할 수 있다. 따라서, CGR 환경이 전자 디바이스의 묘사를 포함하지 않는 반사를 제공하는 것이 바람직할 수 있다. 따라서, 도 1에 도시된 바와 같이, CGR 환경의 뷰(160)에는 전자 디바이스(120)의 반사(150)가 지워진 채 제공될 수 있다.
도 2는 도 1의 CGR 환경의 대안적인 변형예를 도시한다. 도 2에 도시된 바와 같이, 디바이스(120)는 반사된 디바이스(150)를 대체 콘텐츠(280)(예컨대, 사용자의 팔, 손 및 셔츠의 묘사)로 대체한다. 예를 들어, 디바이스(120)는 CGR 환경의 뷰(예컨대, 뷰(130))가 사용자(110) 또는 디바이스(120)의 반사(예컨대, 반사된 디바이스(150))를 포함한다고 결정하고, 대체 콘텐츠(280)를 식별하고, 반사된 디바이스(150) 대신에 대체 콘텐츠(280)를 이용하여(예컨대, 반사된 디바이스(150) 및 반사된 사용자(145)의 일부분들을 그래픽적으로 소거, 제거, 또는 애매하게 만듬) CGR 환경(130)의 뷰를 수정하여 사용자에게 수정된 뷰(260)를 제공할 수 있다. 따라서, 도 2에 도시된 바와 같이, CGR 환경의 뷰(260)에는 전자 디바이스(120)의 반사(150)가 지워지고, 사용자의 팔이 그의 또는 그녀의 몸을 가로지르는 것이 아니라 아래로 뻗은 채 제공될 수 있다.
도 3은 일부 구현예들에 따른, 도 1의 CGR 환경의 대안적인 변형예를 도시한다. 도 3에 도시된 바와 같이, 디바이스(120)는 반사된 디바이스(150)를 대체 콘텐츠(380)(예컨대, 디바이스(120)보다 더 큰 최신 버전과 같은 동일한 유형의 전자 디바이스의 상이한 버전의 묘사)로 대체한다. 예를 들어, 디바이스(120)는 CGR 환경의 뷰(예컨대, 뷰(130))가 디바이스(120)의 반사(예컨대, 반사된 디바이스(150))를 포함한다고 결정하고, 대체 콘텐츠(380)를 식별하고, 반사된 디바이스(150) 및 주위 영역들 대신에 대체 콘텐츠(380)를 이용하여 CGR 환경(130)의 뷰를 수정하여 사용자에게 수정된 뷰(360)를 제공할 수 있다. 따라서, 도 3에 도시된 바와 같이, CGR 환경의 뷰(360)에는 동일한 유형의 더 큰 전자 디바이스의 묘사로 대체된 전자 디바이스(120)의 반사(150)가 제공될 수 있다.
도 4는 일부 구현예들에 따른, 도 1의 CGR 환경의 대안적인 변형예를 도시한다. 도 4에 도시된 바와 같이, 디바이스(120)는 반사된 디바이스(150)를 대체 콘텐츠(480)(예컨대, 광선검과 같은 대안적인 콘텐츠의 묘사)로 대체한다. 예를 들어, 디바이스(120)는 CGR 환경의 뷰(예컨대, 뷰(130))가 디바이스(120)의 반사(예컨대, 반사된 디바이스(150))를 포함한다고 결정하고, 대체 콘텐츠(480)를 식별하고, 반사된 디바이스(150) 및 주위 영역들 대신에 대체 콘텐츠(480)를 이용하여 CGR 환경(130)의 뷰를 수정하여 사용자에게 수정된 뷰(460)를 제공할 수 있다. 대안적인 콘텐츠는 물리적 환경의 맥락, 사용자 선호도, 사용자 입력, 디바이스(120)에 대응하는 것(예컨대, 크기, 형상 등), 및 디바이스(120)와 접촉, 휴대, 또는 착용하는 사용자의 신체의 일부에 대응하는 것을 포함하지만, 이에 한정되지 않는, 다양한 요인들에 기초하여 식별될 수 있다. 도 4에 도시된 바와 같이, CGR 환경의 뷰(460)에는 물리적 환경에서 전자 디바이스(120)를 쥐고 있는 사용자의 손에 의해 휴대되는 광선검의 묘사로 대체된 전자 디바이스(120)의 반사(150)가 제공될 수 있다.
도 5는 일부 구현예들에 따른, 전자 디바이스가 반사를 검출하는 것에 기초하여 변형되는 컴퓨터-생성 현실(CGR) 환경을 보고 있는 사용자를 도시한다. 도 4에 도시된 바와 같이, 디바이스(120)는 이 예에서 헤드 마운트 디바이스(HMD)이다. 디바이스(120)는 반사된 디바이스(150)를 대체 콘텐츠(580)(예컨대, 사용자의 볼, 눈 등의 묘사)로 대체한다. 예를 들어, 디바이스(120)는 CGR 환경의 뷰(예컨대, 뷰(130))가 디바이스(120)의 반사(예컨대, 반사된 디바이스(150))를 포함한다고 결정하고, 대체 콘텐츠(580)를 식별하고, 반사된 디바이스(150) 및 주위 영역들 대신에 대체 콘텐츠(580)를 이용하여 CGR 환경(130)의 뷰를 수정하여 사용자에게 수정된 뷰(560)를 제공할 수 있다. 대체 콘텐츠는, 예컨대, 하향 또는 신체 대향 이미지 센서들을 통해 동시에 캡처되는 사용자의 하나 이상의 이미지들로부터 또는 저장된 사용자 프로필로부터 획득될 수 있다. 도 5에 도시된 바와 같이, CGR 환경의 뷰(560)에는 전자 디바이스(120)가 지워진 사용자의 묘사로 대체된 전자 디바이스(120)의 반사(150)가 제공될 수 있다.
도 6은 경면 반사를 제공하고 CGR 환경을 제공하는 표면들을 디바이스(120)가 검출하는 시스템 흐름을 도시한다. 디바이스(120)는 하나 이상의 환경 센서들(610)(예컨대, 하나 이상의 카메라들)을 사용하여 물리적 환경(100)의 뷰(130)를 캡처, 생성, 또는 제공한다. 예를 들어, 사용자(110)에 의해 휴대되는 모바일 디바이스 또는 사용자(110)에 의해 착용되는 HMD의 하나 이상의 외향 카메라들은 물리적 환경(100)의 하나 이상의 이미지들을 캡처할 수 있다. 동일하거나 또는 추가적인 카메라들(예컨대, 다른 센서들(620))은 물리적 환경 내의 다른 이미지들 및 정보를 캡처할 수 있다. 예를 들어, 환경 센서들(610)은 물리적 환경(100)에서의 사용자의 위치로부터 특정 방향에서 보이거나 또는 다른 방식으로 물리적 환경(100) 내의 사용자를 부분적으로 또는 전체적으로 둘러싸는 물리적 환경(100)의 일부분에 대응하는 이미지들 또는 기타 정보를 캡처할 수 있다. 다른 센서들(620), 예컨대, 신체-대향 카메라들은 이미지들 또는 사용자 또는 사용자의 디바이스의 일부분들에 대응하는 기타 정보를 동시에 캡처할 수 있다. 임의의 센서들로부터의 하나 이상의 이미지들은 거울, 액체, 및 유리와 같은 반사 표면들을 포함하는, 임의의 개수의 물체들을 포함한다.
일부 구현예들에서, 디바이스(120)는 환경 센서들(610) 및 기타 센서들(620)로부터 캡처된 하나 이상의 이미지들과 같은 센서 데이터를 이용하여 (예컨대, 블록(630)에서) 하나 이상의 센서 데이터 분석 태스크들을 수행한다. 예를 들어, 의미론적 세분화는 이미지의 각각의 픽셀을 픽셀에 의해 도시되는 객체의 유형(예컨대, 사람, 테이블, 의자, 문, 객체, 거울, 액체, 창 등) 또는 픽셀에 의해 도시되는 객체와 연관된 특성(예컨대, 직시, 반사 등)과 연관된 클래스 라벨로 연관시키는 데 사용될 수 있다. 일부 구현예들에서, 의미론적 세분화 또는 다른 센서 데이터 분석(블록(630))은 객체의 반사의 일부인 이미지 부분들(예컨대, 픽셀들)을 객체의 직시의 일부인 이미지 부분들(예컨대, 픽셀들)로부터 식별 또는 구분할 수 있다. 반사와 연관된 픽셀들은 직접 보는 것과 연관된 픽셀들과 비교하여 상이한 색상 특성들을 가질 수 있고, 이러한 색상 특성들은, 예컨대, 알고리즘 또는 머신 러닝 모델을 통해, 직접 보는 것 또는 반사에 대응하는 픽셀들을 분류하도록 식별될 수 있다.
일부 구현예들에서, 매칭 기술(예컨대, 알고리즘, 머신 러닝 모델 등)은 물리적 환경, 사용자, 또는 객체의 동일한 또는 다른 이미지 내의 다른 객체(예컨대, 픽셀 그룹)의 반사인 이미지 내의 객체(예컨대, 픽셀 그룹)를 식별하도록 구성된다. 일부 구현예들에서, 매칭 기술은 반사를 연관된 객체와 매칭할 때 이미징에서 발생하는 좌우 반전을 고려한다. 일부 구현예들에서, 매칭 기술은 하나 이상의 센서들, 예컨대, 환경 센서들(610) 또는 기타 센서들(620)로부터 상이한 거리에 대응하는 객체들 및 반사들의 결과로서 발생할 수 있는 크기의 차이를 고려한다. 일부 구현예들에서, 매칭 기술은 반사에서 발생할 수 있는 색상 변화(예컨대, 감소된 색상 세기, 페이딩(fading), 색조 변화)를 고려한다. 일부 구현예들에서, 신경망과 같은 머신 러닝 모델은 하나 이상의 입력 이미지들을 이용하여 객체의 대응하는 직접 보기와 반사를 매칭시키도록 트레이닝된다. 이러한 머신 러닝 모델은, 예를 들어, 하나 이상의 트레이닝 이미지들에서 객체들의 직시에 대응하는 반사들(예컨대, 이미지 부분들 또는 픽셀들)을 라벨링하는 실측 자료 트레이닝 데이터(예컨대, 이미지 부분들 또는 픽셀들)를 이용하여 트레이닝될 수 있다.
일부 구현예들에서, 센서 데이터 분석(블록(630))은 표면들 자체와 연관된 픽셀들, 예컨대, 유리창 또는 거울의 실제 표면을 묘사하는 픽셀들을 식별한다. 예를 들어, 이미지-기반 분석, 예컨대 알고리즘 또는 머신 러닝을 이용한 컴퓨터 비전은 거울, 창 표면, 또는 유체 표면을 식별하는 데 사용될 수 있다.
일부 구현예에서 센서 데이터 분석(블록(630)), 예컨대 컴퓨터 비전 알고리즘 또는 머신 러닝 모델은 표면의 경면 반사량, 불투명도, 반투명도, 투명도, 회절(de-fraction), 또는 굴절률일 수 있다. 예를 들어, 머신 러닝은 하나 이상의 픽셀들에 의해 묘사되는 객체의 표면과 연관된 경면 반사를 측정하는 데 사용될 수 있으며, 예를 들어, 수치 스케일 상에 객체의 경면 반사를 표현하는 값을 제공한다.
일부 구현예들에서, 디바이스(120)는 선택적 3D 모델을 수행한다(블록(640)). 예를 들어, 디바이스(120)는 물리적 환경(100)의 3D 모델을 생성할 수 있다. 일부 구현예들에서, 3D 모델은 다수의 이미지들/기록들로부터 생성될 수 있고, 다수의 캡처된 이미지들/기록들은 조합되어 물리적 환경(100)의 캡처된 부분을 형성하거나(예컨대, 뷰(130)에 기초함) 또는 물리적 환경(100)의 다수의 캡처된 부분들이 조합되어 3D 모델을 생성한다. 일부 구현예들에서, 기준 컴퓨터-보조 드로잉("CAD") 모델들은 객체 또는 대체 콘텐츠를 포함하는 객체들을 3D 모델에서 나타내는 데 사용될 수 있다.
3D 모델은 임의의 적절한 정준 좌표계, 예컨대, 평면 좌표, 워드(word) 좌표계, 기하학적 좌표 등 상에 맵핑될 수 있다. 예를 들어, 투영점 주위의 360도 (구형) 이미지는 표준 컴퓨터 그래픽 렌더러에서 환경 맵(또는 환경 반사 맵)으로 사용될 수 있다. 또한, 환경 맵은 임의의 개수의 상호교환가능한 포맷들, 예컨대, 구형 표현(등직각 투영) 또는 큐브맵 표현으로 표현될 수 있다. 포맷의 선택은 특정 구현예 또는 렌더링 엔진의 요건들에 기초할 수 있다.
또한, 일부 구현예들에서, 의미론적 세분화 또는 다른 센서 데이터 분석(630)이 3D 모델(640)과 동시에, 이와 통신하여, 또는 이를 기초로 수행될 수 있다. 예를 들어, 3D 모델은 의미론적 세분화에 의한 객체들의 식별에 의해 수행될 수 있거나 또는 의미론적 세분화는 3D 모델에 기초하여 수행될 수 있다.
따라서, 3D 모델은 의미론적 식별들을 포함할 수 있다. 도 7은 물리적 환경의 3D 모델의 조감도(2D)(700)를 도시한다. 이 예에서, 의미론적 라벨들은, 예를 들어, 의미론적 세분화 머신 러닝 모델에 의해 생성된 객체 유형 분류들에 대응한다. 예에서, 사용자(110)는 "사람"으로 라벨링되었고, 디바이스(120)는 "D"("디바이스(Device)"의 약어)로 라벨링되었고, 객체(730)는 "의자"로 라벨링되었고, 객체(740)는 "테이블"로 라벨링되었고, 객체(750)는 "사람"으로 라벨링되었고, 객체(760)는 "거울"로 라벨링되었다.
도 6을 다시 참조하면, 일부 구현예들에서, 디바이스(120)는 반사와 연관된 대체 콘텐츠(블록(650))를 생성한다. 생성되는 대체 콘텐츠는 3D 모델(640)의 3D 콘텐츠에 추가되거나 또는 이를 대체할 3D 콘텐츠일 수 있다. 이어서 수정된 뷰는 적절한 관점으로부터 수정된 3D 모델의 2D 뷰를 생성함으로써 제공될 수 있다.
다른 구현예들에서, 대체 콘텐츠는 물리적 환경의 뷰의 2D 콘텐츠에 추가되거나 또는 이를 대체할 2D 콘텐츠이다. 예를 들어, 3D 모델의 2D 뷰가 생성될 수 있고, 이어서 3D 뷰의 선택 부분들/픽셀들을 대체하도록 수정될 수 있다.
다른 구현예들에서, 3D 모델이 생성되거나 또는 사용될 필요가 없다. 대신에, 물리적 환경의 하나 이상의 이미지들은 캡처되고 이어서 대체 콘텐츠로 수정될 수 있다.
일부 구현예들에서, 대체 콘텐츠는, 예를 들어, 도 1 내지 도 5에 도시된 바와 같이, 사용자 또는 사용자 디바이스의 일부분에 대응하는 반사의 일부분을 대체할 것이다. 대체 콘텐츠는 대체 콘텐츠의 사실성을 향상시키기 위하여 생성된 배경 콘텐츠를 포함할 수 있다. 일부 구현예들에서, 사용자(110)의 반사를 정확하게 나타내기 위하여(예컨대, 디바이스(120)를 뺀), 디바이스(120)는 대체 콘텐츠가 캡처된 이미지 데이터 내의 인접한 텍스처에 적절하게 매칭 또는 대응하는지 식별한다. 구현예들에서, 디바이스(120)는 3D 모델의 모든 픽셀들에 대하여 대응하는 텍스처가 알려져 있는지 결정하고, 텍스처가 없는 픽셀들이 있다면, 누락된 텍스처는 합성될 수 있다. 구현예에서, 이러한 식별은 바로 주위의 텍스처와 비교한 대체 콘텐츠의 텍스처, 예컨대, 대체 콘텐츠가 주위 환경에 의해 종결되는지에 기초하여 이루어질 수 있다. 일부 구현예들에서, 환경 맵은 상이한 텍스처들(예컨대, 색상, 패턴 등)을 표현하는 데 사용될 수 있고, 대체 콘텐츠를 제공할 환경 맵의 완성은 기존 텍스처를 연장하거나 또는 합성 알고리즘, 예컨대, 머신 러닝 기반 알고리즘을 채용함으로써 텍스처가 없는 임의의 픽셀들에 대하여 대체 콘텐츠에서 대응하는 텍스처를 합성하는 것을 포함할 수 있다.
일부 구현예들에서, 대체 콘텐츠는 사용자의 이미지들 또는 하나 이상의 식별된 아바타들에 기초하여 생성된 사용자 묘사를 포함한다. 일부 구현예들에서, 다른 센서들(220)(예컨대, 내향 또는 신체-대향 카메라들)은 사용자(110)에 관한 정보(예컨대, 사용자의 표정, 눈 움직임 등)를 수집할 수 있다. 일부 구현예들에서, 대체 콘텐츠 소스 정보는 저장되고(예컨대, 저장된 정보(660)) 사용자(110) 또는 디바이스(120)의 변경 또는 수정된 반사를 포함하는 대체 콘텐츠를 생성하는 데 사용된다. 일부 구현예들에서, 환경 센서들(610) 또는 기타 센서들(620)에 의해 수집된 정보는 아바타의 크기 또는 형상을 사용자(110)에 매칭시키는 데 사용될 수 있다.
일부 구현예들에서, 다른 센서들(620)은 사용자의 눈썹/이마의 표정을 추적하는 하나 이상의 눈썹 센서들을 포함한다. 일부 구현예들에서, 다른 센서들(620)은 사용자의 입/턱의 표정을 추적하는 하나 이상의 아래턱 추적 센서들을 포함한다. 예를 들어, 센서들에 의해 캡처되는 눈썹, 입, 턱, 및 눈의 표정들은 사용자(110)의 아바타(예컨대, 사용자의 반사) 상의 표정들을 모사하거나, 또는 사용자의 반응에 적어도 부분적으로 기초하여 사용자에 의해 보여지기 위한 콘텐츠를 선택적으로 렌더링 및 혼합하는 데 사용될 수 있다.
일부 구현예들에서, 디바이스(120)는 저장된 정보(660)에 정보를 저장한다. 예를 들어, 아바타를 생성하기 위하여, 형상 예측 방법은 사용자(110)의 소정 안면 구조를 국한하는 데 사용될 수 있다(예컨대, 사용자(110)의 얼굴을 묘사하는데 더 중요한 특징부들). 또한, 저장된 정보(660)는 저장된 마스크 내의 사용자(110)의 상이한 요소들의 형상, 크기, 상대적인 거리, 및 심도를 모델링하는 것을 포함할 수 있다. 일부 구현예들에서, 저장된 마스크는 사용자의 외관을 모방하기 위하여 아바타에 적용되어 아바타의 외관을 커스터마이징할 수 있다.
일부 구현예들에서, 렌더링 엔진(670)은 콘텐츠를 사용자에게 제시한다. 콘텐츠는 CGR 환경의 수정된 뷰일 수 있다. 일부 구현예들에서, 렌더링 엔진(670)은 센서 데이터 분석(630), 3D 모델(640), 및 대체 콘텐츠 생성(650)을 조합하여 CGR 환경을 사용자(110)에게 제시한다. 일부 구현예들에서, 표면(140)의 외관(예컨대, 거울), 사용자(110)의 반사, 또는 물리적 디바이스(반사된 디바이스(150))의 반사는 표면(140)에 대한 환경 센서들(210)의 거리, 상대적인 위치, 또는 배향, 환경 센서들(210)에 의해 캡처되는 광의 양/세기, 또는 특정 광원의 존부에 따라 달라질 수 있다. 예를 들어, 렌더링 엔진(670)은 반사 표면 또는 반사의 기하학적 구조를 식별함으로써 대체 콘텐츠에 대한 상이한 반사 특성들을 식별할 수 있다. 또한, 일부 구현예들에서, 렌더링 엔진(670)은 사용자 또는 사용자의 디바이스의 위치에 기초하여 상이한 특성들을 식별할 수 있다.
구현예들에서, 대체 콘텐츠(예컨대, 사용자에 의해 휴대되는 디바이스가 소거 또는 수정되거나 또는 사용자에 의해 착용되는 HMD가 소거 또는 수정되는 반사)는 3D 포인트, 예컨대, 투영의 중심을 선택함으로써 계산될 수 있고, 환경의 반사는 객체의 위치에 관련하여 정확하게 묘사된다. 예를 들어, 객체가 거울인 경우, 선택된 투영의 중심은 거울의 중심일 수 있다. 일부 구현예들에서, 환경 맵, 예컨대, 큐브 맵 또는 구체 맵은, 3D 모델에 기초하여, 3D 모델의 텍스처들을 표현하는 렌더링 엔진을 이용하여 투영점 주위에 생성될 수 있다. 대체 콘텐츠의 렌더링은 환경 맵, 디바이스의 위치 또는 배향, 표면, 사용자, 및 기타 객체들에 따라 달라질 수 있다.
또한, 대체 콘텐츠(예컨대, 디바이스(120)를 제외한 사용자(110)의 합성된 반사)는 표면(140)의 반사율, 조도, 또는 투명도에 따라 달라질 수 있다.
경면 반사 표면의 반사율은 대체 콘텐츠의 특성들을 결정하는 데 사용될 수 있다. 반사율은 자동으로 객체의 유형 또는 그것의 특성들, 예컨대, 객체의 재료 조성 또는 속성들에 기초하여 결정될 수 있다. 예를 들어, 높은 경면 반사율을 갖는 재료로 만들어진 반사 표면은 고도로 한정된 대체 콘텐츠를 요구할 수 있는 반면, 다른 예에서, 상대적으로 낮은 경면 반사율, 또는 더 거친 표면을 갖는 반사 표면은 대체 콘텐츠의 최소한의 한정 및 상세사항만을 요구할 수 있다. 예를 들어, 유리창 및 물에 생성되는 반사들은 색상 세기가 감소되게 생성될 수 있거나 또는 유리 또는 물을 통해 보이는 콘텐츠에 기초할 수 있다(예컨대, 조합됨).
일부 구현예들에서, 물리적 환경의 캡처된 부분과 대체 콘텐츠 사이의 전환은 물리적 환경의 캡처된 부분의 텍스처와 대체 콘텐츠 사이의 거친 또는 비현실적인 전환을 회피하도록 혼합될 수 있다. 예를 들어, 물리적 환경의 캡처된 부분 또는 대체 콘텐츠의 경계들은 주위 환경과 혼합될 수 있다. 또한, 디바이스(120)는 정확성을 보장하기 위하여 렌더링된 콘텐츠를 캡처된 환경에 비교함으로써 반복적으로 에러 교정을 수행할 수 있다(블록(690)).
도 8은 일부 구현예들에 따른, 디바이스(120)의 예의 블록도이다. 소정의 특정 특징부들이 예시되어 있지만, 당업자들은 본 개시내용으로부터 다양한 다른 특징부들이 간결함을 위해, 그리고 본 명세서에 개시된 구현예들의 더 적절한 양태들을 불명확하게 하지 않기 위해 예시되지 않았음을 인식할 것이다. 이를 위해, 비-제한적인 예로서, 일부 구현예들에서 디바이스(120)는 하나 이상의 프로세싱 유닛들(802)(예를 들어, 마이크로프로세서들, ASIC들, FPGA들, GPU들, CPU들, 프로세싱 코어들 등), 하나 이상의 입력/출력("I/O") 디바이스들 및 센서들(806), 하나 이상의 통신 인터페이스들(808)(예를 들어, USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, 블루투스, ZIGBEE, SPI, I2C, 또는 유사한 유형의 인터페이스), 하나 이상의 프로그래밍(예를 들어, I/O) 인터페이스들(810), 하나 이상의 디스플레이들(812), 하나 이상의 내부 또는 외부 대면 이미지 센서 시스템들(814), 메모리(820), 및 이들 및 다양한 다른 컴포넌트들을 상호연결시키기 위한 하나 이상의 통신 버스들(804)을 포함한다.
일부 구현예들에서, 하나 이상의 통신 버스들(804)은 시스템 컴포넌트들 사이의 통신을 상호연결시키고 제어하는 회로부를 포함한다. 일부 구현예들에서, 하나 이상의 I/O 디바이스들 및 센서들(806)은 관성 측정 유닛(inertial measurement unit, IMU), 가속도계, 자력계, 자이로스코프, 온도계, 하나 이상의 생리학적 센서들(예를 들어, 혈압 모니터, 심박수 모니터, 혈중 산소 센서, 혈당 센서 등), 하나 이상의 마이크로폰들, 하나 이상의 스피커들, 햅틱 엔진, 하나 이상의 심도 센서들(예를 들어, 구조화된 광, 비행시간 등) 등 중 적어도 하나를 포함한다.
일부 구현예들에서, 하나 이상의 디스플레이들(812)은 CGR 환경을 사용자에 제시하도록 구성된다. 일부 구현예들에서, 하나 이상의 디스플레이들(812)은 홀로그래픽, 디지털 광 프로세싱(DLP), 액정 디스플레이(LCD), 실리콘 액정(LCoS), 유기 발광 전계 효과 트랜지터리(OLET), 유기 발광 다이오드(OLED), 표면-전도 전자-방출기 디스플레이(SED), 전계-방출 디스플레이(FED), 양자점 발광 다이오드(QD-LED), 마이크로-전자-기계 시스템(MEMS), 또는 유사 디스플레이 유형들에 대응한다. 일부 구현예들에서, 하나 이상의 디스플레이들(812)은 회절, 반사, 편광, 홀로그래픽 등의 도파관 디스플레이들에 대응한다. 예를 들어, 디바이스(120)는 단일 디스플레이를 포함한다. 다른 예에서, 디바이스(120)는 사용자의 각각의 눈을 위한 디스플레이를 포함한다.
메모리(820)는 고속 랜덤-액세스 메모리, 예컨대 DRAM, CGRAM, DDR RAM, 또는 다른 랜덤-액세스 솔리드-스테이트 메모리 디바이스들을 포함한다. 일부 구현예들에서, 메모리(820)는 하나 이상의 자기 디스크 저장 디바이스들, 광 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 솔리드-스테이트 저장 디바이스들과 같은 비휘발성 메모리를 포함한다. 메모리(820)는 선택적으로, 하나 이상의 프로세싱 유닛들(802)로부터 원격으로 위치된 하나 이상의 저장 디바이스들을 포함한다. 메모리(820)는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 일부 구현예들에서, 메모리(820) 또는 메모리(820)의 비일시적 컴퓨터 판독가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 선택적인 운영 체제(830), 검출 모듈(840), 및 콘텐츠 모듈(850)을 포함하는 그들의 서브세트를 저장한다.
운영 체제(830)는 다양한 기본 시스템 서비스들을 처리하고 하드웨어 의존 태스크들을 수행하기 위한 절차들을 포함한다.
일부 구현예들에서, 검출 모듈(840)은 반사 검출 유닛(842) 및 표면 검출 유닛(844)을 포함한다. 일부 구현예들에서, 반사 검출 유닛(842)은, 예를 들어, 물리적 환경의 하나 이상의 이미지들 또는 물리적 환경의 3D 모델을 이용하여 반사를 검출하도록 구성된다. 반사 검출 유닛(842)은 제1 이미지 내의 객체의 일부분의 경면 반사를 제2 이미지 내의 객체의 일부분의 직시와 매칭시키는 것에 기초하여 제1 이미지 내의 경면 반사를 검출하는 것을 포함할 수 있다. 이는 객체의 좌우측이 반전된 객체의 거울 버전을 식별하는 것을 포함할 수 있다. 매칭은 객체의 일부분의 형상, 크기, 색상, 텍스처, 또는 움직임을 매칭시키는 것을 포함할 수 있다.
일부 구현예들에서, 표면 검출 유닛(844)은 물리적 환경에서 반사를 제공하는 표면을 검출하도록 구성된다. 표면 검출 유닛(844)은 반사 검출 유닛(842)에 의해 식별되는 하나 이상의 경면 반사들에 기초하여 물리적 환경에서 표면의 위치를 결정할 수 있다. 이는 물리적 환경 내의 공지된 또는 결정된 디바이스의 위치 또는 배향 및 디바이스에 의해 캡처되는 이미지 내의 경면 반사의 위치 또는 크기에 기초할 수 있다. 일부 구현예들에서, 물리적 환경 내의 이미지 캡처 디바이스의 포즈(예컨대 위치 및 배향)는, 예컨대, 특징부-매칭 기반 국한 기술, 동시 국한 및 맵핑(SLAM) 기술 등을 통해 이미지 데이터 또는 모션 센서 데이터에 기초하여 추적된다. 일부 구현예들에서, 물리적 환경의 3D 모델은, 예를 들어, 이미지 데이터 또는 모션 센서 데이터에 기초하여 생성된다. 이러한 모델에서의 객체들은, 예컨대, 이미지 데이터를 이용하여 자동 의미론적 라벨링 프로세스에 기초하여 의미론적으로 라벨링될 수 있다. 이미지 캡처 디바이스의 포즈(예컨대, 위치 및 배향)는 또한 3D 모델에 대하여 추적될 수 있다. 물리적 환경의 다양한 순간들에 캡처된 이미지들의 콘텐츠는 3D 모델의 객체들과 연관될 수 있다. 일부 구현예들에서, 표면은 이미지 데이터에 기초하여 3D 모델에서 식별된다. 이러한 표면의 일부 또는 전부는 추가로 표면이 경면 반사를 제공하는 것을 검출하는 것에 기초하여 경면이라고 결정될 수 있다.
일부 구현예들에서, 표면의 위치는 이미지가 캡처될 때의 이미지 캡처 디바이스의 포즈, 이미지에서 객체의 검출된 반사의 픽셀 위치, 및 이미지에서 객체의 검출된 반사의 크기에 기초하여 결정된다. 일부 구현예들에서, 픽셀 위치는 표면이 위치하는 상대적인 방향을 결정하는 데 사용되고, 크기는 상대적인 방향에서 표면의 거리를 근사화하는 데 사용된다. 표면의 배향은 경면 반사가 위치하는 상대적인 방향에 직교한다고 결정될 수 있다. 일부 구현예들에서, 대안적인 또는 추가적인 위치 기술 또는 센서 정보, 예컨대, 심도 센서 데이터는 표면의 위치를 결정하는 데 사용될 수 있다.
일부 구현예들에서, 콘텐츠 모듈(850)은 CGR 환경을 생성, 편집, 제시, 또는 경험하도록 구성된다. 일부 구현예들에서, 콘텐츠 모듈(850)은 반사 유닛(852), 아바타 유닛(854), CGR 가상 콘텐츠 유닛(856), 및 CGR 제시 유닛(858)을 포함한다.
일부 구현예들에서, 반사 유닛(852)은 객체로부터의 반사를 식별하도록 구성된다. 예를 들어, 반사 유닛(852)은 모바일 디바이스를 휴대하거나 또는 HMD를 착용하고 있는 사용자의 반사를 식별할 수 있다. 일부 구현예들에서, 반사 유닛은 의미론적 세분화 또는 3D 모델을 이용하여 반사 또는 반사 표면을 식별할 수 있다. 일부 구현예들에서, 반사 검출 유닛(842) 및 반사 유닛(852)의 하나 이상의 기능들은 단일 유닛으로 조합된다.
일부 구현예들에서, 아바타 유닛(854)은 아바타를 생성하거나 또는 아바타를 사용자(예컨대, 사람, 디바이스, 계정 등)와 연관시키도록 구성된다. 예를 들어, 아바타 유닛(854)은 사용자의 안면 특징부들에 관한 정보를 수집 또는 저장하여 사용자의 외관을 모방하는 데 사용되는 마스크를 형성하도록 구성될 수 있다. 일부 구현예들에서, 아바타 유닛(854)은 아바타의 특징부들을 사용자의 특징부들에 매칭시키기 위하여 사용자의 안면 특징부들 또는 특성들(예컨대, 눈, 입, 눈썹 등)을 추적한다.
일부 구현예들에서, CGR 가상 콘텐츠 유닛(856)은 사용자의 반사, 디바이스의 반사, 또는 디바이스를 휴대 또는 착용하고 있는 사용자의 반사를 대체하는 데 사용되는 가상 콘텐츠를 결정하도록 구성된다. 예를 들어, CGR 가상 콘텐츠 유닛은 객체에 대한 디바이스의 각도 또는 관점에 기초하여 대체 반사를 생성할 수 있다.
일부 구현예들에서, CGR 제시 유닛(858)은 하나 이상의 사용자들에 대하여 CGR 환경의 일부로서 사용될 가상 콘텐츠(예컨대, 사용자 또는 디바이스의 대체 또는 업데이트된 반사)를 제시하도록 구성된다. 예를 들어, 사용자는 사용자로 하여금, 예를 들어, 손 제스처, 음성 명령, 입력 디바이스 입력들 등을 통해 CGR 환경을 선택, 배치, 이동, 및 다른 방식으로 경험 및 이와 상호작용하게 하는 CGR-기반 사용자 인터페이스를 보거나 다른 방식으로 경험할 수 있다.
이 모듈들 및 유닛들(예컨대, 모듈들(840, 850) 및 유닛들(842, 844, 852, 854, 856, 858))은 단일 디바이스(예컨대, 디바이스(120)) 상에 존재하는 것으로 도시되어 있지만, 다른 구현예들에서, 이 모듈들 및 유닛들의 임의의 조합이 별개의 컴퓨팅 디바이스들에 위치할 수 있음이 이해되어야 한다.
게다가, 도 8은 본 명세서에 설명된 구현예들의 구조적 개략도에 반대로 특정 구현예들에 존재하는 다양한 특징부들의 기능 설명으로서 더 의도된다. 당업자들에 의해 인식되는 바와 같이, 별개로 도시된 아이템들은 조합될 수 있고 일부 아이템들은 분리될 수 있다. 예를 들어, 다양한 구현예들에서, 도 8에서 별개로 도시된 일부 기능 모듈들은 단일 모듈로 구현될 수 있고, 단일 기능 블록들의 다양한 기능들은 하나 이상의 기능 블록들에 의해 구현될 수 있다. 모듈들의 실제 수량 및 특정 기능들의 분할 그리고 특징부들이 그들 사이에서 어떻게 할당되는지는 구현예들마다 변할 것이고, 일부 구현예들에서, 특정 구현예들에 대해 선택된 하드웨어, 소프트웨어, 또는 펌웨어의 특정 조합에 부분적으로 의존한다.
도 9는 CGR 환경의 뷰를 제공하는 예시적인 방법(900)을 도시하는 흐름도이다. 방법(900)은 디바이스(120)와 같은 디바이스에 의해 수행될 수 있다. 방법(900)은 모바일 디바이스, HMD, 데스크톱, 랩톱, 서버 디바이스, 또는 서로 통신하는 다수의 디바이스들에서 수행될 수 있다. 일부 구현예들에서, 방법(900)은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행된다. 일부 구현예들에서, 방법(900)은 비일시적 컴퓨터 판독가능 매체(예를 들어, 메모리)에 저장된 코드를 실행하는 프로세서에 의해 수행된다.
블록(902)에서, 방법(900)은 CGR 환경의 뷰가 표면으로부터의 반사, 사용자 또는 전자 디바이스의 반사를 포함한다고 결정한다. 일 예에서, 뷰는 반사 표면(예컨대 거울)을 포함하고, 뷰는 디바이스(예컨대 모바일 폰)를 휴대하고 있거나 또는 디바이스(예컨대 HMD)를 착용하고 있는 사용자의 반사를 추가로 포함한다. 뷰가 반사를 포함한다고 결정하는 것은 뷰를 제공하는 데 사용되는 3D 모델에서의 관점이 표면을 포함한다고 식별하는 것 및 표면에 대한 관점의 각도를 결정하는 것을 포함할 수 있다. 일부 구현예들에서, 뷰가 반사를 포함한다고 결정하는 것은, 예컨대, 의미론적 분석을 통해 물리적 환경에서 객체들 또는 재료를 식별하는 것 및 이 객체들 또는 재료들의 반사 속성들을 결정하는 것을 포함한다. 일부 구현예들에서, 뷰가 반사를 포함한다고 결정하는 것은, 예를 들어, 디바이스, 사용자, 또는 기타 객체의 거울/반전 이미지를 인식함으로써 디바이스, 사용자, 또는 다른 객체를 인식하기 위한 컴퓨터 비전을 이용하는 것을 포함한다.
블록(904)에서, 방법(900)은 사용자 또는 전자 디바이스의 반사의 적어도 일부분을 대체할 대체 콘텐츠를 식별한다. 일부 구현예들에서, 대체 콘텐츠는 손에 쥔 디바이스가 소거, 강화, 또는 다른 방식으로 수정될 때 보일 사용자의 신체(예컨대, 손, 팔 등) 또는 배경 콘텐츠의 부분들을 포함한다. 일부 구현예들에서, 대체 콘텐츠는 손목 장착 디바이스가 소거, 강화, 또는 다른 방식으로 수정될 때 보일 사용자의 신체(예컨대, 팔, 옷 등) 또는 배경 콘텐츠의 부분들을 포함한다. 일부 구현예들에서, 대체 콘텐츠는 헤드 마운트 디바이스(HMD)가 소거, 강화, 또는 다른 방식으로 수정될 때 보일 사용자의 신체(예컨대, 볼, 눈, 눈썹, 머리카락 등) 또는 배경 콘텐츠의 부분들을 포함한다. 일부 구현예들에서, 대체 콘텐츠는 전자 디바이스 대신에 디스플레이될 동일한 유형의 전자 디바이스의 상이한 버전을 포함한다. 이러한 대체 콘텐츠는 사용자가 현재 사용중인 전자 디바이스의 더 새로운 버전들 또는 대안들을 시각화(예컨대, 가상으로 시도함)할 수 있게 할 수 있다. 일부 구현예들에서, 대체 콘텐츠는 전자 디바이스로 디스플레이되거나 또는 전자 디바이스의 기존 액세서리를 대체할 액세서리(예컨대, 보호 케이스, 밴드 등)를 포함한다. 일부 구현예들에서, 대체 콘텐츠는 사용자의 적어도 일부분의 반사 대신에 디스플레이될, 예컨대, 사용자의 머리 또는 전신을 아바타의 머리 또는 몸체로 대체할 아바타를 포함한다. 일부 구현예들에서, 대체 콘텐츠는 지워질 전자 디바이스 또는 사용자의 일부분 둘레의 배경 영역을 포함한다.
대체 콘텐츠는 물리적 환경에서 물리적 환경, 사용자, 또는 객체들의 이전에 또는 동시에 획득된 이미지들을 이용하여 생성 또는 획득될 수 있다. 예를 들어, 이미지 센서는 대체 콘텐츠를 생성할 때 사용할 사용자의 신체의 이미지들을 캡처하도록 구성될 수 있다(예컨대, 웨어러블 디바이스 상에서 하향 또는 신체-대향 배향으로 위치설정 등). 다른 예에서, 데이터세트는 대체 콘텐츠를 생성할 때 사용할 사용자의 특성들 및 선호도에 매칭되는 아바타를 식별하기 위하여 액세스될 수 있다. 다른 예에서, 배경 콘텐츠는 셰이딩 기술, 홀 충전 기술, 콘텐츠 환영 기술, 레이-캐스팅(ray-casting) 기술, 등을 통해 생성될 수 있다.
블록(906)에서, 방법(900)은 CGR 환경의 뷰 및 식별된 대체 콘텐츠에 기초하여 CGR 환경의 수정된 뷰를 생성한다. 수정된 뷰는 디바이스 없는 사용자의 수정된 반사 또는 수정된 디바이스를 갖는 사용자의 수정된 반사를 포함할 수 있다. 예를 들어, 전자 디바이스는 전자 디바이스가 뷰에 없다면, 예컨대, 안보인다면 다른 방식으로 보였을 사용자의 신체 및 또는 물리적 환경의 대응하는 부분들의 대체 콘텐츠를 포함함으로써 소거될 수 있다. 생성되는 대체 콘텐츠는 3D 모델(640)의 3D 콘텐츠에 추가되거나 또는 이를 대체할 3D 콘텐츠일 수 있다. 이어서 수정된 뷰는 적절한 관점으로부터 수정된 3D 모델의 2D 뷰를 생성함으로써 생성될 수 있다. 다른 구현예들에서, 대체 콘텐츠는 물리적 환경의 뷰의 2D 콘텐츠에 추가되거나 또는 이를 대체할 2D 콘텐츠이다. 예를 들어, 3D 모델의 2D 뷰가 생성될 수 있고, 이어서 3D 뷰의 선택 부분들/픽셀들을 대체하도록 수정될 수 있다. 다른 구현예들에서, 3D 모델이 생성되거나 또는 사용될 필요가 없다. 대신에, 물리적 환경의 하나 이상의 이미지들은 캡처되고 이어서 CGR 환경을 제공할 대체 콘텐츠로 수정될 수 있다.
도 10은 경면 반사를 제공하는 표면을 검출하는 예시적인 방법(1000)을 도시하는 흐름도이다. 방법(1000)은 디바이스(120)와 같은 디바이스에 의해 수행될 수 있다. 방법(1000)은 모바일 디바이스, HMD, 데스크톱, 랩톱, 서버 디바이스, 또는 서로 통신하는 다수의 디바이스들에서 수행될 수 있다. 일부 구현예들에서, 방법(1000)은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행된다. 일부 구현예들에서, 방법(1000)은 비일시적 컴퓨터 판독가능 매체(예를 들어, 메모리)에 저장된 코드를 실행하는 프로세서에 의해 수행된다.
블록(1002)에서, 방법(1000)은 객체의 일부분의 경면 반사를 포함하는 물리적 환경의 제1 이미지를 획득한다. 예를 들어, 제1 이미지는 가시광/ 적색-녹색-청색(RGB) 이미지 센서에 의해 캡처될 수 있고, 사람의 일부 또는 전부의 반사, 사람의 옷, 전자 디바이스, 또는 임의의 기타 객체를 포함할 수 있다.
블록(1004)에서, 방법(1000)은 동일한 객체의 일부분의 직시(예컨대, 반사 아님)를 포함하는 제2 이미지를 획득한다. 일부 구현예들에서, 제2 이미지는 물리적 환경에서 하향 또는 신체-대향 카메라에 의해 캡처된다. 일부 구현예들에서, 제2 이미지는 더 이른 시간에 캡처되고, 예컨대, 사용자 프로필로부터 사용자 프로필 사진을 획득하는 데이터세트로부터 획득된다. 일부 구현예들에서, 제1 이미지와 제2 이미지는 동일한 이미지의 일부분들이다. 예를 들어, 광각 렌즈가 있거나 또는 없는 카메라는 사용자의 얼굴의 일부분의 직시 및 사용자의 얼굴의 그 부분의 반사 둘 모두를 포함하는 이미지를 캡처할 수 있다.
블록(1006)에서, 방법(1000)은 제1 이미지 내의 객체의 일부분의 경면 반사를 제2 이미지 내의 객체의 일부분의 직시와 매칭시키는 것에 기초하여 제1 이미지 내의 경면 반사를 검출한다. 매칭은 객체의 일부분의 형상, 크기, 색상, 텍스처, 또는 움직임을 매칭시키는 것을 포함할 수 있다. 매칭은 객체의 좌우측이 반전된 객체의 거울 버전을 식별하는 것을 포함할 수 있다.
블록(1008)에서, 방법(1000)은 경면 반사에 기초하여 물리적 환경 내의 표면의 위치를 결정할 수 있다. 이는 물리적 환경 내의 공지된 또는 결정된 디바이스의 위치 또는 배향 및 이미지 내의 경면 반사의 위치 또는 크기에 기초할 수 있다. 일부 구현예들에서, 물리적 환경 내의 이미지 캡처 디바이스의 포즈(예컨대 위치 및 배향)는, 예컨대, 특징부-매칭 기반 국한 기술, 동시 국한 및 맵핑(SLAM) 기술 등을 통해 이미지 데이터 또는 모션 센서 데이터에 기초하여 추적된다. 일부 구현예들에서, (예컨대, 객체 유형, 객체 재료, 객체 특성들 등에 관한) 의미론적 라벨들은 추가적으로 또는 대안적으로 표면의 위치를 결정하는 데 사용된다.
일부 구현예들에서, 경면 반사를 제공하는 표면은 물리적 환경의 3D 모델을 생성하지 않고, 예컨대, 물리적 환경에 관한 2D 이미지 또는 정보에서 식별된 반사만을 이용하여 위치파악된다. 일부 구현예들에서, 반사에서 도시되는 사용자, 디바이스, 또는 기타 객체의 픽셀 크기는 이미지 데이터에 기초하여 측정되고, 사용자, 디바이스, 또는 기타 객체의 알려진 치수들과 비교되고, 비교는, 예컨대 또한 초점 길이와 같은 카메라의 고유 파라미터들을 고려함으로써 물리적 환경 내의 디바이스의 위치에 대한 표면의 3D 위치를 결정하는 데 사용된다. 이러한 이미지-기반 비교에서의 이미지들에 도시된 객체들은 알고리즘 또는 머신 러닝 기반 모델들을 이용하여 의미론적으로 라벨링, 식별, 측정, 또는 다른 방식으로 평가될 수 있다. 일부 구현예들에서, 부가 센서 데이터, 예컨대, 심도 센서 데이터는 측정, 국한, 식별, 라벨링, 또는 기타 기능들을 용이하게 하는 데 사용된다.
일부 구현예들에서, 표면의 위치는 이미지가 캡처될 때의 이미지 캡처 디바이스의 포즈, 이미지에서 객체의 검출된 반사의 픽셀 위치, 및 이미지에서 객체의 검출된 반사의 크기에 기초하여 결정된다. 일부 구현예들에서, 픽셀 위치는 표면이 위치파악되는 상대적인 방향을 결정하는 데 사용되고, 크기는 상대적인 방향에서 표면의 거리를 근사화하는 데 사용된다. 표면의 배향은 경면 반사가 위치하는 상대적인 방향에 직교한다고 결정될 수 있다. 일부 구현예들에서, 대안적인 또는 추가적인 위치 기술 또는 센서 정보, 예컨대, 심도 센서 데이터는 표면의 위치를 결정하는 데 사용될 수 있다.
일부 구현예들에서, 물리적 환경의 3D 모델이, 예를 들어, 이미지 데이터, 심도 데이터, 또는 모션 센서 데이터에 기초하여 생성되고, 경면 반사를 검출하거나 또는 표면의 위치를 결정하는 데 사용된다. 이러한 모델에서의 객체들은, 예컨대, 이미지 데이터를 이용하여 자동 의미론적 라벨링 프로세스에 기초하여 의미론적으로 라벨링될 수 있다. 이미지 캡처 디바이스의 포즈(예컨대, 위치 및 배향)는 또한 3D 모델에 대하여 추적될 수 있다. 물리적 환경의 다양한 순간들에 캡처된 이미지들의 콘텐츠는 3D 모델의 객체들과 연관될 수 있다. 일부 구현예들에서, 표면은 이미지 데이터에 기초하여 3D 모델에서 식별된다. 이러한 표면의 일부 또는 전부는 추가로 표면이 경면 반사를 제공하는 것을 검출하는 것에 기초하여 경면이라고 결정될 수 있다.
도 11은 경면 반사를 제공하는 표면을 검출하는 예시적인 방법(1100)을 도시하는 흐름도이다. 방법(1100)은 디바이스(120)와 같은 디바이스에 의해 수행될 수 있다. 방법(1100)은 모바일 디바이스, HMD, 데스크톱, 랩톱, 서버 디바이스, 또는 서로 통신하는 다수의 디바이스들에서 수행될 수 있다. 일부 구현예들에서, 방법(1100)은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행된다. 일부 구현예들에서, 방법(1100)은 비일시적 컴퓨터 판독가능 매체(예를 들어, 메모리)에 저장된 코드를 실행하는 프로세서에 의해 수행된다.
블록(1102)에서, 방법(1100)은 디바이스에서 광원을 통한 식별자를 생성한다. 식별자는 디바이스의 디스플레이 상에 디스플레이되는 디바이스에 특수한 고유 번호, 심볼, 또는 패턴일 수 있다. 다른 예에서, 식별자는 디바이스에서 광에 의해 생성되는 고유한 광 패턴이다. 다른 예에서, 식별자는 적외 광원으로부터 적외 광을 방출함으로써 생성된다. 식별자가 광원으로부터 방출된 광에서 예컨대, 일시적 시그니처로서 일시적으로 인코딩될 수 있다. 식별자는 시간 경과에 따라, 예를 들어, 사전결정된 또는 자동 시퀀스 생성기에 기초하여 달라질 수 있다. 식별자는, 예를 들어, 디스플레이 상에서 연속적으로 디스플레이되고 주기적으로, 예컨대, 10 초마다 업데이트될 수 있다.
일부 구현예들에서, 식별자는 추가적인 정보에 기초하여 생성된다. 예를 들어, 물리적 환경의 밝기는 주변 광 센서 또는 다른 방식을 통해 결정될 수 있고, 식별자의 밝기는 그에 따라 선택될 수 있는데, 예컨대, 검출을 개선하기 위하여 더 밝은 환경에서는 더 밝은 식별자를 제공하거나 또는 시스템 리소스를 아끼기 위하여 덜 밝은 환경에서는 덜 밝은 식별자를 제공한다.
다른 예에서, 식별자는 디바이스의 능력을 검출하는 데 기초하여 생성된다(예컨대, 디스플레이의 반사를 검출할 수 있는 그것의 능력에 영향을 줄 수 있는 디바이스의 이미징 능력 또는 프로세싱 능력). 식별자를 디스플레이하기 위한 디스플레이 파라미터는 이 능력들에 기초하여 선택될 수 있다. 예를 들어, 디바이스의 디스플레이가 단지 낮은 신뢰도로 검출될 수 있는 경우, 예컨대 더 밝고, 더 높은 콘트라스트를 갖고, 더 강한 구배를 갖는 등 디스플레이 콘텐츠가 향상 또는 선택될 수 있다.
식별자는 이미지를 획득하는 카메라와 동기화되어 생성될 수 있다. 일부 구현예들에서, 콘텐츠 또는 기타 발광되는 광은 카메라와 동기화되어 펄스, 스트로브, 또는 플리커되어, 디스플레이가 카메라의 통합 기간 동안 밝음/온(on) 되는 반면, 카메라의 센서가 통합되지 않은 동안 어둠/오프(off) 되도록 한다.
블록(1104)에서, 방법(1100)은, 예를 들어, 가시광 및/또는 IR 센서를 이용하여 물리적 환경의 이미지를 획득한다.
블록(1106)에서, 방법(1100)은 이미지 내의 식별자에 대응하는 콘텐츠를 검출하는 것 및 식별자가 고유하게 디바이스에 대응한다고 결정하는 것에 기초하여 이미지가 디바이스의 경면 반사를 포함한다고 결정한다. 예를 들어, 이는 식별자가 물리적 환경 내의 임의의 기타 디바이스가 아닌 디바이스에 대응하는 번호, 심볼, 또는 광 패턴을 제공한다고 결정하는 것을 포함할 수 있다.
일부 구현예들에서, 방법(1100)은 우선 디스플레이 반사, 예컨대, 디스플레이의 반사에 대응할 수 있는 이미지 콘텐츠를 검출하고, 이어서 이미지의 디스플레이 반사 내의 식별자를 식별한다. 방법(1100)은 이미지는 디바이스 상의 광원으로부터 방출되는 광의 일시적 시그니처를 식별하는 것에 기초하여 디바이스의 경면 반사를 포함한다고 결정할 수 있다.
이미지가 경면 반사를 포함한다고 결정하는 것은 이미지 내의 일부분이 다른 디바이스의 직시 또는 반사에 대응하지 않는다고 결정하는 것을 포함할 수 있다. 이는 이미지 내의 콘텐츠는, 예를 들어, 디바이스의 실제 위치와 반사된 디바이스의 대응하는 위치 사이의 대칭 변환을 식별함으로써 반사된 디바이스와 일치하는 위치 및 배향을 갖는다고 결정하는 것을 포함할 수 있다. 이러한 변환이 식별될 수 없는 경우, 방법(1100)은 이미지의 콘텐츠가 디바이스의 반사에 대응하지 않는다고 결정할 수 있다.
블록(1108)에서, 방법(1100)은 경면 반사를 제공하는 물리적 환경 내의 표면의 위치를 결정한다. 위치는 이미지 내의 경면 반사에 기초하여 결정된다. 표면 위치를 결정하는 것은 물리적 환경 내의 디바이스의 공지/결정된 위치 및 배향 및 이미지 내의 경면 반사의 위치 또는 크기에 기초할 수 있다.
경면 반사를 제공하는 물리적 환경 내의 표면의 위치는 다양한 목적들에 사용될 수 있다. 일 예에서, 표면의 위치는 통지를 사용자에 제공하는 데 사용될 수 있다. 예를 들어, 통지가 사용자가 표면에 충돌하는 것을 방지하도록 표면에 대한 사용자/사용자 디바이스의 근접에 기초하여 제공될 수 있다. 다른 예에서, 표면의 위치는 가상 객체의 가상 반사를 렌더링하는 데 사용될 수 있다. 다른 예에서, 표면의 위치는 물리적 환경의 3D 모델을 교정 또는 조정하는 데 사용된다.
다수의 특정 세부사항들은 청구되는 주제 내용의 철저한 이해를 제공하기 위해 본 명세서에 기재된다. 그러나, 당업자들은 청구되는 주제 내용이 이들 특정 세부사항들 없이 실시될 수 있음을 이해할 것이다. 다른 경우에 있어서, 통상의 기술자에 의해 알려진 방법들, 장치들 또는 시스템들은 청구되는 주제 내용이 가려지지 않도록 상세히 설명되지 않았다.
구체적으로 달리 언급되지 않는다면, 본 명세서 전반에 걸쳐 "프로세싱", "컴퓨팅", "계산", "결정", 및 "식별" 등과 같은 용어들을 이용하는 논의들은, 메모리들, 레지스터들, 또는 컴퓨팅 플랫폼의 다른 정보 저장 디바이스들, 송신 디바이스들, 또는 디스플레이 디바이스들 내에서 물리적 전자 또는 자기 양들로서 표현되는 데이터를 조작 또는 변환하는, 하나 이상의 컴퓨터들 또는 유사한 전자 컴퓨팅 디바이스 또는 디바이스들과 같은 컴퓨팅 디바이스의 작동들 또는 프로세스들을 지칭함이 이해될 것이다.
본 명세서에 논의된 시스템 또는 시스템들은 임의의 특정 하드웨어 아키텍처 또는 구성에 제한되지 않는다. 컴퓨팅 디바이스는 하나 이상의 입력들에 반응하는 결과를 제공하는 컴포넌트들의 임의의 적합한 배열을 포함할 수 있다. 적합한 컴퓨팅 디바이스들은 범용 컴퓨팅 장치로부터 본 주제 내용의 하나 이상의 구현예들을 구현하는 특수 컴퓨팅 장치까지 컴퓨팅 시스템을 프로그래밍 또는 구성하는, 저장된 소프트웨어에 액세스하는 다목적 마이크로프로세서-기반 컴퓨터 시스템들을 포함한다. 임의의 적합한 프로그래밍, 스크립팅, 또는 다른 유형의 언어 또는 언어들의 조합들은 본 명세서에 포함된 교시들을, 컴퓨팅 디바이스를 프로그래밍 또는 구성하는 데 사용될 소프트웨어로 구현하는 데 사용될 수 있다.
본 명세서에 개시된 방법들의 구현예들은 이러한 컴퓨팅 디바이스들의 동작에서 수행될 수 있다. 위 예들에 제시된 블록들의 순서는 달라질 수 있는데, 예를 들어, 블록들이 재정렬되거나, 조합되거나, 또는 하위-블록들로 나뉠 수 있다. 소정의 블록들 또는 프로세스들은 병렬로 수행될 수 있다.
본 명세서에서 "~ 하도록 적응되는(adapted to)" 또는 "~ 하도록 구성되는(configured to)"의 사용은 부가적인 태스크들 또는 단계들을 수행하도록 적응되거나 또는 구성되는 디바이스들을 배제하지 않는 개방적이고 포괄적인 언어로서 의도된다. 부가적으로, "~에 기초하여"의 사용은, 하나 이상의 인용 조건들 또는 값들"에 기초한" 프로세스, 단계, 계산, 또는 다른 작동이, 실제로, 인용된 것들 이상으로 부가적인 조건들 또는 값에 기초할 수 있다는 점에서 개방적이고 포괄적인 것으로 의도된다. 본 명세서에 포함된 표제들, 목록들, 및 번호는 단지 설명의 용이함을 위한 것이며 제한적인 것으로 의도되지 않는다.
용어들 "제1", "제2" 등이 다양한 객체들을 설명하기 위해 본 명세서에서 사용될 수 있지만, 이들 객체들은 이들 용어들에 의해 제한되어서는 안 된다는 것이 또한 이해될 것이다. 이러한 용어들은 하나의 객체를 다른 객체와 구별하는 데에만 사용된다. 예를 들어, 모든 "제1 노드"의 발생이 일관되게 재명명되고 모든 "제2 노드"의 발생이 일관되게 재명명되기만 한다면, 제1 노드는 제2 노드로 지칭될 수 있고, 유사하게, 제2 노드는 제1 노드로 지칭될 수 있으며, 이는 설명의 의미를 변경한다. 제1 노드 및 제2 노드는 둘 모두 노드들이지만, 그것들은 동일한 노드가 아니다.
본 명세서에서 사용되는 용어는 단지 특정 구현예들만을 설명하는 목적을 위한 것이고, 청구범위를 제한하도록 의도되지 않는다. 본 구현예들의 설명 및 첨부된 청구범위에 사용되는 바와 같이, 단수형들("a", "an" 및 "the")은 문맥상 명확하게 달리 나타나지 않으면 복수형들도 또한 포함하도록 의도된다. 또한, 본 명세서에서 사용되는 바와 같은 용어 "또는"은 열거되는 연관된 항목들 중 하나 이상의 항목의 임의의 그리고 모든 가능한 조합들을 나타내고 그들을 포괄하는 것임이 이해될 것이다. 본 명세서에서 사용될 때 용어들 "포함한다(comprise)" 또는 "포함하는(comprising)"은 언급된 특징들, 정수들, 단계들, 동작들, 객체들, 또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 객체들, 컴포넌트들 또는 이들의 그룹들의 존재 또는 부가를 배제하지 않는다는 것이 추가로 이해될 것이다.
본 명세서에서 사용되는 바와 같이, "~인 경우(if)"라는 용어는, 문맥에 따라, 진술된 선행 조건이 사실"일 때(when)", 그 조건이 사실"일 시(upon)" 또는 그 조건이 사실"이라고 결정하는 것에 응답하여(in response to determining)" 또는 그 조건이 사실"이라는 결정에 따라(in accordance with a determination)" 또는 그 조건이 사실"임을 검출하는 것에 응답하여(in response to detecting)"를 의미하는 것으로 해석될 수 있다. 유사하게, 어구 "[진술된 선행 조건이 사실이라고] 결정되는 경우" 또는 "[진술된 선행 조건이 사실]인 경우" 또는 "[진술된 선행 조건이 사실]일 때"는, 문맥에 따라, 진술된 선행 조건이 사실"이라고 결정할 시에" 또는 그 조건이 사실"이라고 결정하는 것에 응답하여" 또는 그 조건이 사실"이라는 결정에 따라" 또는 그 조건이 사실"이라는 것을 검출할 시에" 또는 그 조건이 사실"이라는 것을 검출하는 것에 응답하여"를 의미하는 것으로 해석될 수 있다. 본 명세서에 사용되는 바와 같이, 용어 "또는"은 둘 이상의 언급된 가능성 중 어느 하나 또는 둘 모두를 지칭한다.
본 발명의 상세한 설명 및 발명의 내용은 모든 면에서 도시적이고 예시적이지만, 제한적이지 않은 것으로 이해될 것이며, 본 명세서에 개시된 발명의 범주는 예시적인 구현예들의 상세한 설명에만 의존하여 결정되지 않고, 특허법에서 허용되는 전체 범위에 따라 결정될 것이다. 본 명세서에 도시되고 기재된 구현예들은 단지 본 발명의 원리에 대한 예시일뿐이고, 다양한 변형예가 본 발명의 범주 및 사상을 벗어나지 않고 당업자들에 의해 구현될 수 있음이 이해될 것이다.

Claims (25)

  1. 방법으로서,
    프로세서에서:
    컴퓨터-생성 현실(CGR) 환경의 뷰가 사용자 또는 전자 디바이스의 표면으로부터의 반사를 포함한다고 결정하는 단계;
    상기 사용자 또는 상기 전자 디바이스의 상기 반사의 적어도 일부분을 대체할 대체 콘텐츠를 식별하는 단계; 및
    상기 CGR 환경의 상기 뷰 및 상기 대체 콘텐츠에 기초하여 상기 CGR 환경의 수정된 뷰를 생성하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 전자 디바이스는 헤드 마운트 디바이스(HMD)이고, 상기 방법은:
    컴퓨터 비전을 이용하여 이미지에서 상기 반사를 인식하는 단계를 추가로 포함하고, 반사는 상기 HMD의 반사인, 방법.
  3. 제1항에 있어서, 상기 CGR 환경의 상기 뷰는 물리적 환경의 3차원(3D) 모델에 기초하여 반사를 포함한다고 결정되고, 상기 방법은:
    상기 표면에 대한 상기 관점의 각도에 기초하여 상기 3D 모델에서의 관점을 식별하는 단계를 추가로 포함하는, 방법.
  4. 제1항에 있어서,
    상기 표면의 반사 속성, 투명도 속성, 또는 조도 속성을 식별하는 단계를 추가로 포함하고, 상기 CGR 환경의 상기 수정된 뷰는 상기 표면의 상기 반사 속성, 투명도 속성, 또는 조도 속성에 기초하여 생성되는, 방법.
  5. 제1항에 있어서, 상기 전자 디바이스는 헤드 마운트 디바이스(HMD)이고, 상기 대체 콘텐츠를 식별하는 단계는 상기 사용자의 볼, 귀, 머리카락, 눈, 또는 눈썹의 가상 표현들을 식별하는 단계를 포함하는, 방법.
  6. 제1항에 있어서, 상기 대체 콘텐츠를 식별하는 단계는 상기 전자 디바이스에 대한 가상 액세서리를 식별하는 단계를 포함하는, 방법.
  7. 제1항에 있어서, 상기 대체 콘텐츠를 식별하는 단계는 상기 전자 디바이스를 대체할 가상 디바이스를 식별하는 단계를 포함하고, 상기 가상 디바이스와 상기 전자 디바이스는 동일한 유형의 디바이스의 상이한 버전들인, 방법.
  8. 제1항에 있어서, 상기 대체 콘텐츠를 식별하는 단계는 상기 전자 디바이스를 대체할 가상 콘텐츠를 식별하는 단계를 포함하고, 상기 가상 콘텐츠는 상기 전자 디바이스의 움직임에 기초하여 상기 CGR 환경에서 이동되는, 방법.
  9. 제1항에 있어서,
    아바타를 식별하는 단계를 추가로 포함하고, 상기 대체 콘텐츠를 식별하는 단계는 상기 아바타의 크기 또는 형상을 상기 사용자와 매칭시키는 단계를 포함하는, 방법.
  10. 제9항에 있어서, 상기 아바타를 식별하는 단계는 저장된 데이터 또는 상기 사용자를 향하는 하나 이상의 카메라들에 의해 수집된 이미지에 기초하는, 방법.
  11. 제1항에 있어서,
    상기 사용자의 배경을 추정하는 단계를 추가로 포함하고, 상기 대체 콘텐츠는 상기 추정된 배경을 포함하는, 방법.
  12. 시스템으로서,
    프로세서 및 상기 프로세서에 의한 실행 시에 상기 시스템으로 하여금 동작들을 수행하게 하는 명령어들을 포함하는 컴퓨터-판독가능 저장 매체를 포함하며,
    상기 동작들은,
    컴퓨터-생성 현실(CGR) 환경의 뷰가 표면으로부터의 반사, 사용자 또는 전자 디바이스의 상기 반사를 포함한다고 결정하고;
    상기 사용자 또는 상기 전자 디바이스의 상기 반사의 적어도 일부분을 대체할 대체 콘텐츠를 식별하고;
    상기 CGR 환경의 상기 뷰 및 상기 대체 콘텐츠에 기초하여 상기 CGR 환경의 수정된 뷰를 생성하는 것을 포함하는, 시스템.
  13. 제1항의 제12항에 있어서, 상기 전자 디바이스는 헤드 마운트 디바이스(HMD)이고, 상기 동작들은:
    컴퓨터 비전을 이용하여 이미지에서 상기 반사를 인식하는 것을 추가로 포함하고, 반사는 상기 HMD의 반사인, 시스템.
  14. 제12항에 있어서, 상기 CGR 환경의 상기 뷰는 물리적 환경의 3차원(3D) 모델에 기초하여 반사를 포함한다고 결정되고, 상기 동작들은:
    상기 표면에 대한 상기 관점의 각도에 기초하여 상기 3D 모델에서의 관점을 식별하는 것을 추가로 포함하는, 시스템.
  15. 제12항에 있어서, 상기 전자 디바이스는 헤드 마운트 디바이스(HMD)이고, 상기 대체 콘텐츠를 식별하는 단계는 상기 사용자의 볼, 귀, 머리카락, 눈, 또는 눈썹의 가상 표현들을 식별하는 단계를 포함하는, 시스템.
  16. 제12항에 있어서, 상기 동작들은:
    상기 표면의 반사 속성, 투명도 속성, 또는 조도 속성을 식별하는 것을 추가로 포함하고, 상기 CGR 환경의 상기 수정된 뷰는 상기 표면의 상기 반사 속성, 투명도 속성, 또는 조도 속성에 기초하여 생성되는, 시스템.
  17. 제12항에 있어서, 상기 대체 콘텐츠를 식별하는 것은 상기 전자 디바이스를 대체할 가상 디바이스를 식별하는 것을 포함하고, 상기 가상 디바이스와 상기 전자 디바이스는 동일한 유형의 디바이스의 상이한 버전들인, 시스템.
  18. 제12항에 있어서, 상기 대체 콘텐츠를 식별하는 것은 상기 전자 디바이스를 대체할 가상 콘텐츠를 식별하는 것을 포함하고, 상기 가상 콘텐츠는 상기 전자 디바이스의 움직임에 기초하여 상기 CGR 환경에서 이동되는, 시스템.
  19. 제12항에 있어서, 상기 동작들은:
    아바타를 식별하는 것을 추가로 포함하고, 상기 대체 콘텐츠를 식별하는 것은 상기 아바타의 배향 또는 크기를 상기 사용자와 매칭시키는 것을 포함하는, 시스템.
  20. 동작들을 수행하도록 실행가능한 프로그램 명령어들을 저장하는 비일시적 컴퓨터-판독가능 저장 매체로서,
    상기 동작들은,
    컴퓨터-생성 현실(CGR) 환경의 뷰가 표면으로부터의 반사, 사용자 또는 전자 디바이스의 상기 반사를 포함한다고 결정하고;
    상기 사용자 또는 상기 전자 디바이스의 상기 반사의 적어도 일부분을 대체할 대체 콘텐츠를 식별하고;
    상기 CGR 환경의 상기 뷰 및 상기 대체 콘텐츠에 기초하여 상기 CGR 환경의 수정된 뷰를 생성하는 것을 포함하는, 비일시적 컴퓨터-판독가능 저장 매체.
  21. 제20항에 있어서, 상기 전자 디바이스는 헤드 마운트 디바이스(HMD)이고, 상기 동작들은:
    컴퓨터 비전을 이용하여 이미지에서 상기 반사를 인식하는 것을 추가로 포함하고, 반사는 상기 HMD의 반사인, 비일시적 컴퓨터-판독가능 저장 매체.
  22. 제20항에 있어서, 상기 CGR 환경의 상기 뷰는 물리적 환경의 3차원(3D) 모델에 기초하여 반사를 포함한다고 결정되고, 상기 동작들은:
    상기 표면에 대한 상기 관점의 각도에 기초하여 상기 3D 모델에서의 관점을 식별하는 것을 추가로 포함하는, 비일시적 컴퓨터-판독가능 저장 매체.
  23. 제20항에 있어서, 상기 전자 디바이스는 헤드 마운트 디바이스(HMD)이고, 상기 대체 콘텐츠를 식별하는 것은 상기 사용자의 볼, 귀, 머리카락, 눈, 또는 눈썹의 가상 표현들을 식별하는 것을 포함하는, 비일시적 컴퓨터-판독가능 저장 매체.
  24. 제20항에 있어서, 상기 동작들은:
    상기 표면의 반사 속성, 투명도 속성, 또는 조도 속성을 식별하는 것을 추가로 포함하고, 상기 CGR 환경의 상기 수정된 뷰는 상기 표면의 상기 반사 속성, 투명도 속성, 또는 조도 속성에 기초하여 생성되는, 비일시적 컴퓨터-판독가능 저장 매체.
  25. 제20항에 있어서, 상기 대체 콘텐츠를 식별하는 것은 상기 전자 디바이스를 대체할 가상 디바이스를 식별하는 것을 포함하고, 상기 가상 디바이스와 상기 전자 디바이스는 동일한 유형의 디바이스의 상이한 버전들인, 비일시적 컴퓨터-판독가능 저장 매체.
KR1020200107783A 2019-08-26 2020-08-26 경면 반사를 제공하는 표면들의 이미지-기반 검출 및 반사 수정 KR20210024984A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230057230A KR20230062802A (ko) 2019-08-26 2023-05-02 경면 반사를 제공하는 표면들의 이미지-기반 검출 및 반사 수정

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962891510P 2019-08-26 2019-08-26
US62/891,510 2019-08-26
US202063035160P 2020-06-05 2020-06-05
US63/035,160 2020-06-05
US17/001,788 2020-08-25
US17/001,788 US11462000B2 (en) 2019-08-26 2020-08-25 Image-based detection of surfaces that provide specular reflections and reflection modification

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230057230A Division KR20230062802A (ko) 2019-08-26 2023-05-02 경면 반사를 제공하는 표면들의 이미지-기반 검출 및 반사 수정

Publications (1)

Publication Number Publication Date
KR20210024984A true KR20210024984A (ko) 2021-03-08

Family

ID=74679839

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200107783A KR20210024984A (ko) 2019-08-26 2020-08-26 경면 반사를 제공하는 표면들의 이미지-기반 검출 및 반사 수정
KR1020230057230A KR20230062802A (ko) 2019-08-26 2023-05-02 경면 반사를 제공하는 표면들의 이미지-기반 검출 및 반사 수정

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230057230A KR20230062802A (ko) 2019-08-26 2023-05-02 경면 반사를 제공하는 표면들의 이미지-기반 검출 및 반사 수정

Country Status (3)

Country Link
US (3) US11462000B2 (ko)
KR (2) KR20210024984A (ko)
CN (1) CN112509040A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11948237B2 (en) 2021-12-30 2024-04-02 Samsung Electronics Co., Ltd. System and method for mimicking user handwriting or other user input using an avatar

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6559871B1 (ja) 2018-11-30 2019-08-14 株式会社ドワンゴ 動画合成装置、動画合成方法及び動画合成プログラム
JP6559870B1 (ja) * 2018-11-30 2019-08-14 株式会社ドワンゴ 動画合成装置、動画合成方法及び動画合成プログラム
CN113132752B (zh) * 2019-12-30 2023-02-24 阿里巴巴集团控股有限公司 视频处理方法及装置
US11908083B2 (en) 2021-08-31 2024-02-20 Snap Inc. Deforming custom mesh based on body mesh
US11663792B2 (en) 2021-09-08 2023-05-30 Snap Inc. Body fitted accessory with physics simulation
US11790614B2 (en) 2021-10-11 2023-10-17 Snap Inc. Inferring intent from pose and speech input
US11763481B2 (en) * 2021-10-20 2023-09-19 Snap Inc. Mirror-based augmented reality experience
US11972526B1 (en) 2023-03-31 2024-04-30 Apple Inc. Rendering of enrolled user's face for external display

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609617B (zh) * 2013-08-04 2023-09-26 艾斯适配有限公司 虚拟镜子的装置、系统和方法
US10430985B2 (en) * 2014-03-14 2019-10-01 Magic Leap, Inc. Augmented reality systems and methods utilizing reflections
CN106937531B (zh) * 2014-06-14 2020-11-06 奇跃公司 用于产生虚拟和增强现实的方法和系统
KR102240302B1 (ko) * 2014-10-21 2021-04-14 삼성전자주식회사 가상 피팅 장치 및 이의 가상 피팅 방법
CN113050802A (zh) * 2014-12-18 2021-06-29 脸谱科技有限责任公司 用于在虚拟现实环境中导航的方法、系统及设备
US10049303B2 (en) * 2015-10-01 2018-08-14 Infinity Augmented Reality Israel Ltd. Method and a system for identifying reflective surfaces in a scene
US10176641B2 (en) * 2016-03-21 2019-01-08 Microsoft Technology Licensing, Llc Displaying three-dimensional virtual objects based on field of view
US9933855B2 (en) * 2016-03-31 2018-04-03 Intel Corporation Augmented reality in a field of view including a reflection
EP4060462A1 (en) * 2016-05-20 2022-09-21 Magic Leap, Inc. Contextual awareness of user interface menus
US10268438B2 (en) * 2016-06-30 2019-04-23 Sony Interactive Entertainment Inc. Display screen front panel of HMD for viewing by users viewing the HMD player
CN109791295A (zh) * 2016-07-25 2019-05-21 奇跃公司 使用增强和虚拟现实眼镜的成像修改、显示和可视化
US10332317B2 (en) * 2016-10-25 2019-06-25 Microsoft Technology Licensing, Llc Virtual reality and cross-device experiences
CN109564706B (zh) * 2016-12-01 2023-03-10 英特吉姆股份有限公司 基于智能交互式增强现实的用户交互平台
CN106773054A (zh) * 2016-12-29 2017-05-31 北京乐动卓越科技有限公司 一种实现增强现实互动的装置及方法
US11620794B2 (en) * 2018-12-14 2023-04-04 Intel Corporation Determining visually reflective properties of physical surfaces in a mixed reality environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11948237B2 (en) 2021-12-30 2024-04-02 Samsung Electronics Co., Ltd. System and method for mimicking user handwriting or other user input using an avatar

Also Published As

Publication number Publication date
US11462000B2 (en) 2022-10-04
US20210064910A1 (en) 2021-03-04
US11900569B2 (en) 2024-02-13
US20230131109A1 (en) 2023-04-27
KR20230062802A (ko) 2023-05-09
US20240062346A1 (en) 2024-02-22
CN112509040A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
US11900569B2 (en) Image-based detection of surfaces that provide specular reflections and reflection modification
US11671717B2 (en) Camera systems for motion capture
JP6967043B2 (ja) 3次元コンテンツ内の場所に基づく仮想要素モダリティ
JP6730286B2 (ja) 拡張現実視野オブジェクトフォロワー
US9710973B2 (en) Low-latency fusing of virtual and real content
US9230368B2 (en) Hologram anchoring and dynamic positioning
US20130335405A1 (en) Virtual object generation within a virtual environment
US20130326364A1 (en) Position relative hologram interactions
CA2914012A1 (en) Shared and private holographic objects
US10930049B2 (en) Rendering virtual objects with realistic surface properties that match the environment
CN116778368A (zh) 使用语义分割的平面检测
KR20210030207A (ko) 인스턴스 검출 및 일반적인 장면 이해를 이용한 객체 검출
KR20210016288A (ko) 컴퓨터 생성 렌더링 환경을 위한 시각적 검색 세분화
US11699412B2 (en) Application programming interface for setting the prominence of user interface elements
CN116547719A (zh) 传感器仿真
CN113678173A (zh) 用于虚拟对象的基于图绘的放置的方法和设备
US11823343B1 (en) Method and device for modifying content according to various simulation characteristics
WO2023096940A2 (en) Devices, methods, and graphical user interfaces for generating and displaying a representation of a user
CN112465988A (zh) 具有实例检测的对象检测以及一般场景理解

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination
A107 Divisional application of patent
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2023101000965; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20230502

Effective date: 20230630