KR20210123994A - 전자 장치 및 페어링된 전자 장치를 이용한 객체 식별 방법 - Google Patents

전자 장치 및 페어링된 전자 장치를 이용한 객체 식별 방법 Download PDF

Info

Publication number
KR20210123994A
KR20210123994A KR1020200147170A KR20200147170A KR20210123994A KR 20210123994 A KR20210123994 A KR 20210123994A KR 1020200147170 A KR1020200147170 A KR 1020200147170A KR 20200147170 A KR20200147170 A KR 20200147170A KR 20210123994 A KR20210123994 A KR 20210123994A
Authority
KR
South Korea
Prior art keywords
electronic device
map
pose
external electronic
final
Prior art date
Application number
KR1020200147170A
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 삼성전자주식회사
Priority to PCT/KR2021/004100 priority Critical patent/WO2021201638A1/en
Priority to EP21782376.4A priority patent/EP4097641A4/en
Publication of KR20210123994A publication Critical patent/KR20210123994A/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/006Mixed reality
    • G06K9/62
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • 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/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • 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
    • G02B27/0172Head mounted characterised by optical features
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G06K9/20
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • 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/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • 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/10016Video; Image sequence
    • 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/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10048Infrared image
    • 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/30204Marker

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Optics & Photonics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

확장 현실(XR) 디스플레이 장치에 의해 구현되는 방법은, 광 센서에 의해, 환경 내의 복수가 객체들을 묘사하는 이미지를 캡처하고, 그 이미지를 분석하여 제 1 객체에 해당하는 트래킹 패턴을 식별한다. 상기 제 1 객체는 XR 디스플레이 장치와 관련된 외부 전자 장치이다. 상기 방법은 이미지에 기초하여 환경의 제 1 맵을 생성하는 단계를 더 포함하되, 상기 XR 디스플레이 장치에 대하여 환경 내의 외부 전자 장치의 상대적 위치는 상기 트래킹 패턴에 기초하여 제 1 맵에 대해 결정된다. 상기 방법은 환경의 제 1 맵 및 상대 위치에 대해 생성된 환경의 제 2 맵에 기초하여 환경의 최종 맵에 액세스하는 동작을 더 포함할 수 있다.
본 개시의 전자 장치는 이 밖에 다양한 실시예가 적용될 수 있다.

Description

전자 장치 및 페어링된 전자 장치를 이용한 객체 식별 방법{ELECTRONIC DEVICE AND METHOD FOR OBJECT IDENTIFICATION UTILIZING PAIRED ELECTRONIC DEVICE}
본 개시는 일반적으로 전자 장치(electronic device)에 관한 것으로, 보다 상세하게는, 페어링(paired)된 전자 장치를 이용한 객체 감지(object detection) 및 식별(identification)에 관한 것이다.
확장 현실(XR: extended reality) 시스템은 일반적으로 컴퓨터 생성 환경 및/또는 적어도 약간의 XR 아티팩트들(artifacts)을 포함하는 실제 환경을 포함할 수 있다. 이러한 XR 시스템 또는 세계 그리고 이와 관련된 XR 아티팩트들은 일반적으로 다양한 애플리케이션들(예컨대, 비디오 게임들)을 포함하며, 이는 사용자가 컴퓨터로 생성된 표현(representation)(예컨대, 아바타)의 형태로 그 프리젠스(presence)를 조작함으로써 이들 XR 아티팩트들을 이용하는 것을 가능하게 한다.
전형적인 XR 시스템에서, 이미지 데이터는, 예를 들어, 이미지 데이터를 생성하는 기본 그래픽 생성 장치에 물리적 유선 연결을 통해 연결될 수 있는 강건한 헤드 마운트 디스플레이(head-mounted display: HMD) 상에서 렌더링(rendering)될 수 있다.
HMD에서, 예를 들어, 상대적으로 더 강건한 헤드셋 장치와는 다르게 경량의 XR 안경 또는 안경(spectacles)을 포함하는 일부 경우에 있어, 상기 XR 안경 또는 안경은 상대적으로 처리 능력이 작으며, 저해상도/저가의 광학 센서, 및/또는 상대적으로 간단한 트래킹 광학장치를 수반할 수 있다.
이것은 그러한 장치들이 종종 사용자가 그의 XR 경험의 일부로 기대하게 되는 3D 깊이 맵 생성(depth map generation)과 같은 복잡한 계산을 수행하는 것을 못하게 할 수도 있다.
다양한 실시예에서는, 경량의 XR 시스템들을 개선하기 위한 기술들을 제공할 수 있는, 전자 장치 및 페어링된 전자 장치를 이용한 객체 식별 방법을 제공할 수 있다.
전술한 과제 또는 다른 과제를 해결하기 위한, 한 실시예에 따른 전자 장치의 동작 방법은, 하나 또는 복수의 광학 센서에 의해 복수의 객체들을 나타내는 하나 또는 복수의 이미지를 캡처하는 동작; 상기 하나 또는 복수의 이미지를 분석하여 상기 복수의 객체들 중 외부 전자 장치에 대응하는 이미지를 식별하는 동작; 상기 외부 전자 장치에 대응하는 이미지의 식별에 기반하여, 상기 전자 장치에 관한 상기 외부 전자 장치의 상대적인 위치를 확인하는 동작; 상기 캡처한 이미지로부터 제 1 맵을 생성하는 동작; 상기 확인된 상대적인 위치와 관련하여, 상기 생성된 제1 맵과 상기 외부 전자 장치에서 생성된 제 2 맵에 기반하여 최종 맵을 확인하는 동작을 포함할 수 있다.
다양한 실시예 중 어느 하나에 따른 전자 장치는, 하나 또는 복수의 디스플레이; 하나 또는 복수의 광학 센서; 명령들을 포함하는 하나 또는 복수의 비-일시적 컴퓨터 판독 가능 저장 매체; 및 상기 저장 매체에 결합된 하나 또는 복수의 프로세서를 포함하되, 상기 하나 또는 복수의 프로세서는 상기 하나 또는 복수의 광학 센서에 의해 복수의 객체들을 나타내는 하나 또는 복수의 이미지를 캡처하고; 상기 하나 또는 복수의 이미지를 분석하여 상기 복수의 객체들 중 제 1 객체에 대응하는 이미지를 식별하고; 상기 외부 전자 장치에 대응하는 이미지의 식별에 기반하여, 상기 전자 장치에 관한 상기 외부 전자 장치의 상대적인 위치를 확인하고; 상기 캡처한 이미지로부터 제 1 맵을 생성하고, 상기 확인된 상대적인 위치와 관련하여, 상기 생성된 제 1 맵과 상기 외부 전자 장치에서 생성된 제 2 맵에 기반하여 최종 맵을 확인할 수 있다.
다양한 실시예 중 어느 하나에 따른 전자 장치의 동작 방법은, 상기 전자 장치의 디스플레이에 외부 전자 장치와 연결하기 위한 무선 연결 정보를 포함하는 이미지를 표시하는 동작; 상기 이미지에 포함된 무선 연결 정보에 기초하여 상기 전자 장치를 상기 외부 전자 장치에 연결하는 동작; 상기 외부 전자 장치로부터 제 1 맵을 수신하는 동작; 상기 전자 장치의 하나 또는 복수의 광학 센서에 의해 캡처된 하나 또는 복수의 이미지에 기초하여 제 2 맵을 생성하는 동작; 및 상기 외부 전자 장치와 상기 전자 장치의 상대적인 위치와 관련하여, 상기 제 1 맵 및 상기 제 2 맵에 기반하여 최종 맵을 생성하는 동작을 포함할 수 있다.
다양한 실시예 중 어느 하나에 따른 전자 장치는, 디스플레이; 하나 또는 복수의 광학 센서; 명령들을 포함하는 하나 또는 복수의 비-일시적 컴퓨터 판독 가능한 저장 매체; 및 상기 저장 매체에 결합된 하나 또는 복수의 프로세서를 포함하되, 상기 하나 또는 복수의 프로세서는: 상기 디스플레이에 외부 전자 장치와 연결하기 위한 무선 연결 정보를 포함하는 이미지를 표시하고; 상기 이미지에 포함된 무선 연결 정보에 기초하여 상기 전자 장치를 상기 외부 전자 장치에 연결하고; 상기 외부 전자 장치로부터 제 1 맵을 수신하고; 상기 전자 장치의 하나 또는 복수의 광학 센서에 의해 캡처 된 하나 또는 복수의 이미지에 기초하여 제 2 맵을 생성하고; 및 상기 외부 전자 장치와 상기 전자 장치의 상대적인 위치와 관련하여, 상기 제 1 맵과 상기 제 2 맵에 기반하여 최종 맵을 생성하는 명령들을 실행하도록 구성될 수 있다.
다양한 실시예들에 따르면, 경량의 XR 시스템들을 개선하기 위한 기술들을 제공할 수 있다.
예컨대, XR 디스플레이 장치가 감소된 처리 능력, 저해상도 광학 센서 및/또는 단순한 트래킹 광학 장치들을 수반하는 경우에도, 다양한 실시예에 따라 계산 비용이 더 많이 드는 3D 포즈 및 깊이 계산을 수행하도록 전자 장치를 이용하여 정확하고 정밀한 객체 감지 및 식별을 가능하게 할 수 있고, 전자 장치와 XR 디스플레이 장치 간에 환경의 최종 3D 맵을 간단히 공유하는 것을 가능하게 한다.
도 1은 다양한 실시예에 따른 예시적인 확장 현실(XR) 환경을 도시한다.
도 2a 및 2b는 다양한 실시예에 따른 전자 장치가 XR 디스플레이 장치에 의해 추적될 수 있도록 하기 위한 트래킹 패턴을 포함하는 전자 장치들을 도시한다.
도 3은 다양한 실시예에 따른 세계 좌표(world coordinate) 및 광학 센서를 포함하는 시스템을 예시한다.
도 4는 다양한 실시예에 따른 세계 좌표, XR 디스플레이 장치, 및 전자 장치를 포함하는 시스템을 나타낸다.
도 5a 및 5b는 다양한 실시예에 따른 객체를 감지 및 식별하기 위한 XR 디스플레이 장치 및 전자 장치의 좌표계를 도시한다.
도 6은 다양한 실시예에 따른 XR 환경 내에서 객체를 검출 및 식별하기 위한 제 1 맵 및 제 2 맵에 기초하여 최종 깊이 맵을 수신하는 방법의 흐름도이다.
도 7은 다양한 실시예에 따른 XR 환경 내에서 객체를 검출 및 인식하기 위해 제 1 맵 및 제 2 맵에 기초하여 최종 깊이 맵을 생성하는 방법의 흐름도이다.
도 8은 다양한 실시예에 따른 예시적인 컴퓨터 시스템을 도시한다.
본 실시 예는 3차원 포인트 클라우드(3D point clouds)를 생성 및 개선하고 XR 환경(XR environment) 내에서 객체를 감지 및 인식하기 위해 제 1 맵 및 제 2 맵을 기반으로 최종 이미지 및 깊이 맵을 수신하는 것에 관한 것이다. 특정 실시 예들에 있어, 확장 현실(XR) 디스플레이 장치는 XR 디스플레이 장치의 하나 또는 복수의 광학 센서에 의해 상기 환경(environment) 내의 복수의 객체를 나타내는(portraying) 하나 또는 복수의 이미지를 캡처할 수 있다. 특정 실시 예들에 있어, XR 디스플레이 장치는 이어서 하나 또는 복수의 이미지를 분석하여 복수의 객체들 중 제 1 객체에 대응하는 트래킹 패턴을 식별할 수 있다. 예를 들어, 특정 실시 예들에서, 제 1 객체는 XR 디스플레이 장치와 관련된 외부 전자 장치를 포함할 수 있다. 특정 실시 예들에서, XR 디스플레이 장치는 하나 또는 복수의 이미지에 기초하여 해당 환경의 제 1 맵을 생성할 수 있으며, 여기서 XR 디스플레이 장치에 대한 환경 내에서 외부 전자 장치의 상대적 위치는 트래킹 패턴을 기반으로 제 1 맵에 대해 결정될 수 있다.
예를 들어, 특정 실시 예들에서, XR 전자 장치(예컨대, XR 디스플레이 장치)는 SLAM(synchronous localization and mapping) 프로세스 또는 다른 포인트 클라우드 매핑(point cloud mapping) 프로세스를 사용하여 그 환경의 제 1 맵을 생성할 수 있다. 특정 실시 예들에 있어, 제 1 맵은 XR 디스플레이 장치에 대응하는 제 1 포즈(pose) 및 제 1 변환(transformation)을 포함할 수 있다. 특정 실시 예들에 있어, XR 디스플레이 장치는 이어서 그 환경의 제 1 맵 및 상대 위치에 대해 생성된 그 환경의 제 2 맵에 기초하여 환경의 최종 맵에 액세스할 수 있다. 예를 들어, 특정 실시 예들에서, 최종 맵은 상대 위치에 대해 생성된 환경의 제 1 맵 및 제 2 맵에 기초할 수 있다. 특정 실시 예들에 있어, 제 2 맵은 외부 전자 장치에 대응하는 제 2 포즈 및 제 2 변환을 포함할 수 있다. 특정 실시 예들에 있어, 제 1 맵은 제 2 맵에 비해 더 낮은 해상도를 포함할 수 있다. 이러한 방식으로, XR 디스플레이 장치가 감소된 처리 능력, 저해상도/저가의 광학 센서 및/또는 단순한 트래킹 광학 장치만을 포함하는 경우에도, 다양한 실시예들은 전자 장치를 활용하여 더 많은 계산 비용이 드는 3D 포즈 및 깊이 계산을 수행함으로써 정확하고 정밀한 객체 감지 및 식별을 가능케 할 뿐만 아니라 전자 장치와 XR 디스플레이 장치 간에 환경의 최종 3D 맵을 간단히 공유하는 것을 가능하게 한다.
특정 실시 예들에서, 본 실시 예들은 3D 포인트 클라우드를 생성 및 개선하고 XR 환경 내에서 객체를 검출 및 인식하기 위한 제 1 맵 및 제 2 맵에 기초하여 최종 이미지 및 깊이 맵을 생성하는 것에 또한 관련된다. 특정 실시 예들에 있어, 전자 장치는 전자 장치의 디스플레이에 트래킹 패턴을 표시할 수 있다. 예를 들어, 특정 실시 예들에서, 트래킹 패턴은 전자 장치를 XR 디스플레이 장치에 연결하기 위한 무선 연결 정보를 포함할 수 있다. 특정 실시 예들에서, 트래킹 패턴은 전자 장치의 디스플레이의 디스플레이 영역의 중앙 부분에 표시되는 패턴을 포함할 수 있다. 특정 실시 예들에 있어, 트래킹 패턴은 전자 장치의 디스플레이의 디스플레이 영역의 주변 부분 내에 표시되는 하나 또는 복수의 서브-패턴들을 더 포함할 수 있다. 특정 실시 예들에 있어, 전자 장치는 이어서 트래킹 패턴으로부터의 무선 연결 정보에 기초하여 XR 디스플레이 장치에 연결될 수 있다. 특정 실시 예들에 있어, 전자 장치는 외부 XR 디스플레이 장치로부터 환경의 제 1 맵을 수신할 수 있다. 예를 들어, 특정 실시 예들에서, 상기 제 1 맵은 외부 XR 디스플레이 장치에 대하여 환경 내에서 전자 장치의 상대적 위치 및 하나 또는 복수의 객체들의 위치를 나타낼 수 있다. 특정 실시 예들에서, 상기 제 1 맵은 외부 XR 디스플레이 장치에 대응하는 제 1 포즈(pose) 및 제 1 변환(transformation)을 포함할 수 있다
특정 실시 예들에서, 상기 전자 장치는 이어서 그 전자 장치의 하나 또는 복수의 광학 센서에 의해 캡처된 하나 또는 복수의 이미지에 기초하여 환경의 제 2 맵을 생성할 수 있다. 예를 들어, 특정 실시 예들에서, 상기 제 2 맵은 전자 장치에 대하여 환경 내에서의 하나 또는 복수의 객체의 위치를 나타낼 수 있다. 특정 실시 예들에 있어, 제 2 맵은 전자 장치에 대응하는 제 2 포즈 및 제 2 변환을 포함할 수 있다. 특정 실시 예들에 있어, 전자 장치는 이어서 상대 위치에 대하여 상기 제 1 맵 및 제 2 맵에 기초하여 환경의 최종 맵(final map)을 생성할 수 있다. 예를 들어, 특정 실시 예들에서, 전자 장치는 환경의 최종 맵을 생성할 수 있으며, 하나 또는 복수의 객체 각각에 대하여, 각 객체의 제 1 포즈 및 제 2 포즈를 결정하기 위해 제 1 맵 및 제 2 맵에 기초하여 하나 또는 복수의 삼각측량 계산(triangulation calculations)을 수행할 수 있다. 이러한 방식으로, XR 디스플레이 장치가 단지 감소된 처리 능력, 저해상도 광학 센서 및/또는 단순화된 트래킹 광학장치를 포함하는 경우에도 불구하고, 본 기술은 계산 비용이 더 많이 드는 3D 포즈 및 깊이 계산을 수행하는 전자 장치를 활용하여 정확하고 정밀한 객체 감지 및 식별을 가능하게 할 뿐만 아니라, 전자 장치와 XR 디스플레이 장치 간에 환경의 최종 3D 맵을 간단히 공유하는 것을 가능케 한다.
본 명세서에 사용된 바와 같이, "확장 현실(extended reality; XR)"은 사용자에게 표시하기 전에 어떤 방식으로든 조작된 전자 기반 현실의 형태를 의미할 수 있으며, 이것은, 예를 들어, 가상현실(virtual reality: VR), 증강현실(augmented reality: AR), 혼합현실(mixed reality: MR), 하이브리드 현실(hybrid reality), 시뮬레이션 현실(simulated reality), 몰입형 현실(immersive reality), 홀로그래피(holography), 또는 이들의 조합을 포함할 수 있다. 예를 들어, "확장 현실" 콘텐츠는 완전히 컴퓨터로 생성된 콘텐츠 또는 캡처된 콘텐츠(예컨대, 실제 이미지)와 결합된 부분적으로 컴퓨터로 생성된 콘텐츠를 포함할 수 있다. 일부 실시 예에서, "확장 현실" 콘텐츠는 또한 비디오, 오디오, 햅틱 피드백 또는 이들의 어떤 조합을 포함할 수 있으며, 이들 중 임의의 것은 단일 채널 또는 다중 채널(예컨대, 보는 사람에게 3차원(3D) 효과를 생성하는 스테레오 비디오와 같은)로 제공될 수 있다. 또한, 본 명세서에서 사용되는 바와 같이, "확장 현실"은, 예를 들어, 확장 현실에서 콘텐츠를 생성하고/하거나 확장 현실에서 활용될 수 있는(예컨대, 활동을 수행하는) 애플리케이션, 제품, 액세서리, 서비스 또는 이들의 조합과 연관될 수 있음을 이해하여야 할 것이다. 따라서 "확장 현실" 콘텐츠는 호스트 컴퓨터 시스템에 연결된 헤드 마운트 장치(HMD), 독립형 HMD, 모바일 장치 또는 컴퓨팅 시스템 또는 하나 또는 복수의 보는 사람에게 확장 현실 콘텐츠를 제공할 수 있는 임의의 다른 하드웨어 플랫폼을 포함하는 다양한 플랫폼들 상에서 구현될 수 있다. 또한, 본 명세서에서 사용된 바와 같이, "생성한다", "생성하는", "맵을 생성한다" 또는 "맵 생성"이라는 표현은 하나 또는 복수의 맵 또는 매핑(mapping) 프로세스를 지칭하기 위해 광범위하게 사용될 수 있는데, 이는 하나 또는 복수의 서브-맵, 캡처 된 위치 데이터, 포인트 클라우드 데이터, 또는 기타 유사한 데이터를 기초로 하여 XR 디스플레이 장치 또는 전자 장치에 의해 생성되고 환경 내에서 하나 또는 복수의 객체의 포즈 또는 위치를 결정하는 데 활용될 수 있다. 마찬가지로, 여기에서 사용된 바와 같이, "생성한다", "생성하는", "맵을 생성한다" 또는 "맵 생성"이라는 표현은 하나 또는 복수의 서브-맵, 캡처 된 위치 데이터, 포인트 클라우드 데이터, 또는 기타 유사한 데이터를 기반으로 XR 디스플레이 장치 또는 전자 장치에 의해 저장, 액세스 및 업데이트 또는 증강되어, 예를 들어, 환경 내에서 하나 또는 복수의 객체의 포즈 또는 위치를 결정하는 데 사용될 수 있는 하나 또는 복수의 맵 또는 매핑 프로세스를 지칭하기 위해 광범위하게 사용될 수 있다. 마지막으로, 본 명세서에서 사용되는 바와 같은, "광학 센서(optical sensors)"는 실제 환경(예컨대, 실내 환경, 실외 환경, 흐린 환경(obnubilated environments) 등), XR 환경 및/또는 실세계 또는 XR 환경에 나타나는 하나 또는 복수의 객체의 이미지를 캡처하는 데 유용할 수 있는 하나 또는 복수의 카메라, 하나 또는 복수의 적외선(IR) 센서, 하나 또는 복수의 깊이 센서, 하나 또는 복수의 ToF(time-of-flight) 센서, 하나 또는 복수의 열 이미징 센서(thermal imaging sensor), 하나 또는 복수의 초음파 이미징 센서, 하나 또는 복수의 자외선(UV) 센서, 하나 또는 복수의 X선 센서, 하나 또는 복수의 감마선 센서, 하나 또는 복수의 마이크로파 이미징 센서, 하나 또는 복수의 밀리미터파 이미징 센서, 하나 또는 복수의 레이더 센서, 또는 기타 광학 센서 또는 이미징 센서들을 지칭할 수 있다.
도 1은 다양한 실시 예들에 따른 예시적인 확장 현실(XR) 환경(100)을 도시한다. 특정 실시 예들에 있어, XR 환경(100)은 XR 디스플레이 장치(102), 네트워크(104), 전자 장치(106), 및 하나 또는 복수의 객체(108A)(예를 들어, "객체 #1") 및 108B("객체 #2")를 포함할 수 있다. 특정 실시 예들에 있어, 사용자는 시각적 확장 현실 콘텐츠를 사용자에게 표시할 수 있는 XR 디스플레이 장치(102)를 착용할 수 있다. XR 디스플레이 장치(102)는 오디오 확장 현실 콘텐츠를 사용자에게 제공할 수 있는 오디오 장치를 포함할 수 있다. 특정 실시 예들에 있어, XR 디스플레이 장치(102)는 하나 또는 복수의 객체(108A)(예를 들어, "객체 #1") 및 108B("객체 #2")와 같은 XR 환경(100)의 이미지 및 영상을 캡처할 수 있는 하나 또는 복수의 광학 센서를 포함할 수 있다. XR 디스플레이 장치(102)는 사용자의 거리를 판단하기 위한 아이 트래킹(eye tracking) 시스템을 포함할 수 있다. 특정 실시 예들에 있어, XR 디스플레이 장치(102)는 경량의 헤드 마운트 디스플레이(HMD)(예를 들어, 고글, 아이글래스(eyeglasses), 안경(spectacles), 바이저(visor) 등)를 포함할 수 있다. 특정 실시 예들에서, XR 디스플레이 장치(102)는 또한 경량의 핸드헬드 디스플레이 장치 또는 하나 또는 복수의 레이저 투사 안경(laser projecting spectacles)(예를 들어, 사용자에게 이미지 또는 깊이 콘텐츠를 투사 및 표시하기 위해 사용자의 망막에 저전력 레이저를 투사할 수 있는 안경)과 같은 비-HMD 장치를 포함할 수 있다.
특정 실시 예들에서, XR 디스플레이 장치(102)는 하나 또는 복수의 네트워크(104)(예를 들어, 유선 네트워크, 무선 네트워크, 클라우드 기반 네트워크 등)를 통해 전자 장치(106)에 페어링(paired) 될 수 있다. 특정 실시 예들에서, 전자 장치(106)는, 예를 들어, 독립형 호스트 컴퓨팅 장치, 모바일 전자 장치(예를 들어, 모바일폰, 핸드헬드 전자 장치) 또는 하나 또는 복수의 객체(108A)(예를 들어, "객체 #1") 및 (108B)("객체 #2")와 같은 XR 환경(100)의 캡처 이미지 및 비디오를 캡처하여 확장 현실 콘텐츠를 XR 디스플레이 장치(102)에 제공할 수 있는, 임의의 다른 하드웨어 플랫폼을 포함할 수 있다. 특정 실시 예들에서, 하나 또는 복수의 객체(108A)(예컨대, "객체 #1") 및 (108B)("객체 #2")는 하나 또는 복수의 객체(108A)(예컨대, "객체 # 1") 및 (108B)("객체 # 2")에 대응하는 하나 또는 복수의 캡처 된 장면 객체(scene objects), 또는 상기한 하나 또는 복수의 객체(108A)(예컨대, "객체 #1") 및 (108B)("객체 # 2")를 나타낼 수 있는 3D 특징 포인트들 또는 데이터 포인트의 세트를 포함할 수 있다, 따라서, XR 디스플레이 장치(102)가 고글, 안경, 바이저 등과 같은 경량 장치를 포함하는 특정한 실시 예들에 있어, XR 디스플레이 장치(102)는 전자 장치(106)와 비교하여 상대적으로 낮은 처리 능력, 저해상도/저비용 광학 센서, 및/또는 상대적으로 간단한 트래킹 광학장치를 수반하는 것으로 이해될 수 있다.
도 2a 및 2b는 다양한 실시예에 따라, 전자 장치(200A, 200B)가 XR 디스플레이 장치(102)에 의해 추적될 수 있도록 하기 위한 트래킹 패턴을 포함하는 전자 장치(200A 및 200B)를 도시한다. 도 2a에 도시된 바와 같이, 특정 실시 예들에서, 전자 장치(200A)는, 예를 들어, 전자 장치(200A)의 디스플레이(206)의 디스플레이 영역(208A)의 중앙 부분 내에 표시될 수 있는 이미지(예컨대, 트래킹 패턴(202))(예를 들어, 크기 조절 가능한 트래킹 패턴)을 포함할 수 있다. 특정 실시 예들에 있어, 상기 이미지(예컨대, 트래킹 패턴(202))(예를 들어, 크기 조절(sizable) 가능한 트래킹 패턴)은, 예를 들어, QR(Quick Response) 코드, 바코드(예컨대, UPC(universal product code)), 바이너리 코드, 이미지(예컨대, 얼굴 이미지), 서명, 무작위로 생성된 코드, 모르스부호(Morse code), 또는 전자 장치(200A)를 추적함에 있어 XR 디스플레이 장치(102)에 의해 적절하게 식별될 수 있는 다른 고유 식별자를 포함할 수 있다. 특정 실시 예들에 있어, 트래킹 패턴(202)(예를 들어, 크기 조절 가능한 트래킹 패턴)은 또한 XR 디스플레이 장치(102)를 전자 장치(200A, 200B)에 페어링(예컨대, 통신 가능하게 결합) 하기 위한 무선 연결 정보를 포함할 수 있다. 유사하게, 도 2a 및 2b에 묘사된 바와 같이, 특정 실시 예들에서, 전자 장치(200A 및 200B)는, 예를 들어, 전자 장치(200A 및 200B)의 디스플레이(206)의 디스플레이 영역(208A 및 208B)의 주변부에 표시될 수 있는 트래킹 서브-패턴(204)(예를 들어, 축소된 크기의 트래킹 패턴)을 더 포함할 수 있다.
특정 실시 예들에서, 트래킹 서브-패턴(204)(예를 들어, 축소된 크기의 트래킹 패턴)은, 예를 들어, QR 코드, 바코드, 바이너리 코드, 이미지(예를 들어, 부분적인 얼굴 이미지), 서명(예를 들어, 초기화된), 랜덤 코드, 또는 예를 들어, 트래킹 패턴(202)(예컨대, 크기 조절 가능한 트래킹 패턴)에 해당하는 다른 고유 식별자 중의 하나 또는 복수의 하위 구성요소를 포함할 수 있다. 특정 실시 예들에서, 상기 트래킹 서브-패턴(204)(예를 들어, 축소된 크기의 트래킹 패턴)은, 예를 들어, 이미지 콘텐츠가 전자 장치(200A 및 200B)의 디스플레이(206)의 디스플레이 영역(208A 및 208B) 내에 디스플레이되고 있는 경우에 트래킹 패턴(202)(예컨대, 크기 조절 가능한 트래킹 패턴)을 대체하기 위해 제공될 수 있다(예를 들어, 사용자가 전자 장치(200A 및 200B)를 사용하여 이미지 콘텐츠 또는 기타 적절한 사용자 콘텐츠를 디스플레이하는 동안 XR 환경(100) 내에서 전자 장치(200A 및 200B)의 트래킹 기능을 저하시키지 않도록). 예를 들어, 특정 실시 예들에서, XR 디스플레이 장치(102)와 전자 장치(200A, 200B)가 XR 환경(100)의 전체적 공간과의 서로의 상대적 위치를 일단 인식하면, 전자 장치(200A, 200B)는 트래킹 패턴(202)(예컨대, 크기 조절 가능한 트래킹 패턴)을 표시하는 것에서 트래킹 서브-패턴(204)(예를 들어, 축소된 크기의 트래킹 패턴)을 표시하는 것으로 스위칭할 것이다.
특정 실시 예들에서, XR 디스플레이 장치(102)가 XR 환경(100)의 하나 또는 복수의 이미지를 캡처할 때, XR 디스플레이 장치(102)는 이어서 상기한 하나 또는 복수의 이미지를 분석하여 트래킹 패턴(202)(예를 들어, 크기 조절 가능한 트래킹 패턴) 및/또는 트래킹 서브-패턴(204)(예를 들어, 축소된 크기의 트래킹 패턴)을 식별할 수 있으며, 그리고 확장에 의해, 사용자가 XR 환경(100)을 통해 이동함에 따라 전자 장치(200A, 200B)를 식별하고 추적하는 데 사용될 수 있다. 예를 들어, 특정 실시 예들에서, 전자 장치(200A, 200B)를 추적함으로써 XR 디스플레이 장치(102)와 전자 장치(200A, 200B)는 서로에 대한 공간 인식을 유지하여 통합된 전체 공간(예컨대, 통합된 3차원(3D) 공간)을 구축하고 유지할 수 있다. 실제로, 도 3, 4, 5a 및 5b에 대하여 더욱 이해되는 바와 같이, XR 디스플레이 장치(102)와 전자 장치(200A, 200B)는 공간 인식을 유지함으로써 공간 매핑(예컨대, 포인트 클라우드 매핑(point cloud mapping), 시맨틱 매핑(semantic mapping) 등), 객체 감지 정보, 객체 식별 정보, 패턴 인식 정보(예컨대, XR 환경(100)의 장면 이해) 등을 쉽게 공유하고 통합할 수 있다.
도 3은 다양한 실시 예에 따른 세계 좌표(world coordinate) 및 광학 센서를 포함하는 시스템(300)을 도시한다. 특정 실시 예들에 있어, 세계 좌표계(W)는 미리 설정될 수 있는 고정 좌표계(예컨대, 3D 공간)를 포함할 수 있다. 특정 실시 예들에서, 세계 좌표계(W)의 위치 및 방향은 하나 또는 복수의 개발자-특정 선호도에 기초하여 프로그래밍 될 수 있다. 예를 들어, 특정 실시 예들에서, 세계 좌표계(W)는 트래킹이 시작되거나 설정되어, 예를 들어, 중력과 정렬할 수 있는 특정 시간에 광학 센서(302)의 위치 및 방향과 일치하도록 세계 좌표계(W)의 위치 및 방향으로 설정될 수 있다. 특정 실시 예들에 있어, 상기 세계 좌표계(W)는 고정될 수 있고, 따라서 각각의 결정된 포즈(예컨대, 광학 센서 시스템(302) 포즈, 객체(108A) 포즈, 객체(108B) 포즈 등)가 세계 좌표계(W)에 관해 결정될 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 특정 실시 예들에서, 광학 센서(302)는 광학 센서 포즈 P1을 포함할 수 있고, 객체(108B)("객체 #2")는 객체 포즈 P2를 포함할 수 있다. 특정 실시 예들에서, 광학 센서 포즈(P1) 및 객체 포즈(P2)는 각각, 예를 들어, 세계 좌표계(W)에 관한 회전(rotation)(R) 및 이동(translation)(t)을 포함할 수 있다.
예를 들어, 특정 실시 예들에서, 변환(transformation) T1 및 변환 T2는 각각 회전 R 및 t로 구성될 수 있는 행렬을 포함할 수 있다(예컨대, 여기서 회전 R은 행렬로 표현되고 이동 t는 벡터 T=[R|t]로 표현될 수 있음). 특정 실시 예들에서, 일단 광학 센서 포즈 P1 및 객체 포즈 P2가 세계 좌표계(W)에 대해 계산되면, 광학 센서 포즈 P1 및 객체 포즈 P2는 따라서 광학 센서 시스템(302)으로부터 객체(108B)로, 특히 광학 센서 포즈(P1)로부터 객체 포즈(P2)로의 상대적 변환(relative transformation)을 계산하는 데 사용될 수 있다. 예를 들어, 특정 실시 예들에서, 변환 T1은 세계 좌표계(W)를 광학 센서 포즈 P1로 변환할 수 있고, 변환 T2는 세계 좌표계(W)를 객체 포즈 P2로 변환할 수 있다. 따라서, 행렬 연산에 기초하여, 광학 센서 포즈 P1에서 객체 포즈 P2로의 변환 T12는 다음과 같이 표현될 수 있다: T1 -1T2 (예를 들어, 여기서 변환 T-1은 변환 T의 역이다). 이러한 방식으로, 변환 T12은 세계 좌표계(W) 및 광학 센서 포즈(P1)에 대하여 객체 포즈(P2)의 표현을 산출할 수 있다.
도 4는 다양한 실시 예에 따른 세계 좌표, XR 디스플레이 장치, 및 전자 장치를 포함하는 시스템(400)을 도시한다. 특정 실시 예들에 있어, XR 디스플레이 장치(102)는 SLAM(synchronous localization and mapping) 알고리즘 또는 다른 포인트 클라우드 매핑 알고리즘을 활용하여 환경의 제 1 맵을 생성할 수 있고, 전자 장치(106)는 SLAM을 사용하는 환경의 제 2 맵을 생성할 수 있다. 예를 들어, 특정 실시 예들에서, XR 디스플레이 장치(102)는 상기 제 1 맵을 생성할 수 있는데, 이것은 예를 들어, 세계 좌표계 WA에 기초하여 결정된 XR 디스플레이 장치(102)에 대응하는 XR 디스플레이 장치 포즈 P1-A 및 XR 디스플레이 장치 변환 T1-A를 포함할 수 있다. 마찬가지로, 특정 실시 예들에서, 전자 장치(106)는 상기 제 2 맵을 생성할 수 있는데, 이것은 예를 들어, 세계 좌표계 WB에 기초하여 결정된 전자 장치(106)에 대응하는 전자 장치 포즈 P1-B 및 전자 장치 변환 T1-B를 포함할 수 있다. 특정 실시 예들에 있어, 상기 XR 디스플레이 장치(102)에 의해 생성된 제 1 맵은 전자 장치(106)에 의해 생성된 제 2 맵에 비해 더 낮은 해상도(예컨대, 더 낮은 공간 해상도)를 포함할 수 있다.
특정 실시 예들에서, XR 디스플레이 장치(102)에 의해 생성된 제 1 맵과 전자 장치(106)에 의해 생성된 제 2 맵을 통합하고 결합하기 위해, 본 기술은 예를 들어, 세계 좌표계 WA와 세계 좌표계 WB 간의 하나 또는 복수의 변환을 판단하는 것을 포함할 수 있다. 예를 들어, 특정 실시 예들에서, XR 디스플레이 장치(102)는 전자 장치(106)에 디스플레이된 트래킹 패턴(202)의 하나 또는 복수의 이미지 캡처(image capture)에 기초하여 XR 디스플레이 장치(102)에 관한 전자 장치(106)의 상대적 위치를 검출 및 추적할 수 있다. XR 디스플레이 장치(102)가 행렬 연산에 기초하여 자신(예컨대, 그리고 그 반대의 경우도 마찬가지임)에 관한 전자 장치(106)의 상대적 위치를 일단 판단하면, XR 디스플레이 장치(102)에서 전자 장치(106)로의 변환 TA-B는 따라서 TA-B = T-1 1-AT1-B로 표현될 수 있다.
도 5a 및 5b는 다양한 실시예에 따라 XR 환경 내에서 3D 포인트 클라우드를 생성 및 개선(refine)하고 객체를 검출 및 인식하기 위하여 제 1 맵 및 제 2 맵을 기반으로 최종 이미지 및 깊이 맵을 판단하기 위한 XR 디스플레이 장치 및 전자 장치를 포함하는 좌표 시스템들(500A 및 500B)을 도시한다. 특정 실시 예들에서, 전술한 바와 같이, 변환 T1-A 및 변환 T1-B는, 예를 들어, 회전 R 및 t로 구성될 수 있는 매트릭스를 각각 포함할 수 있다(예컨대, 여기서 회전 R은 매트릭스로서 표현되고 이동 t는 벡터 T=[R|t]로서 표현될 수 있다). 특정 실시 예들에 있어, XR 디스플레이 장치 포즈 P1-A 및 전자 장치 포즈 P1-B는 각각 세계 좌표계 WA 및 세계 좌표계 WB에 관하여 계산될 수 있다. 특정 실시 예들에서, XR 디스플레이 장치 포즈 P1-A 및 전자 장치 포즈 P1-B가 일단 계산되면, XR 디스플레이 장치 포즈 P1-A 및 전자 장치 포즈 P1-B를 사용하여 XR 디스플레이 장치 포즈 P1-A에서 객체 포즈 P2-A로의 상대적 변환 T12-A, 및 전자 장치 포즈 P1-B에서 객체 포즈 P2-B로의 상대적 변환 T12-B를 계산할 수 있다. 특히, 행렬 연산에 기초하여, XR 디스플레이 장치 포즈 P1-A에서 객체 포즈 P2-A로의 변환 T12-A는 T12-A = TA -BT12-B와 같이 표현될 수 있다. 유사하게, 행렬 연산에 기초하여, 전자 장치 포즈 P1-B에서 객체 포즈 P2-B로의 변환 T12-B는 T12-B = T-1 12-ATA-B와 같이 표현될 수 있다. 특정 실시 예들에서, 상대 변환 T12-A 및 상대 변환 T12-B는 객체(108B)(예컨대, 화분)를 검출하고 식별하는 데 사용될 수 있는 객체(108B)의 3D 포즈(예컨대, P2-A, P2-B)를 통합하여 나타낼 수 있다.
예를 들어, 도 5b에 도시된 바와 같이. 특정 실시 예들에서, 전자 장치(106)는 하나 또는 복수의 삼각측량 계산(예를 들어, 깊이 맵 계산)을 수행하여 객체 포즈 P2-A 및 객체 포즈 P2-B를 판단할 수 있다. 특정 실시 예들에서, 추가로 예시된 바와 같이, 예를 들어, 삼각형의 3개의 각각의 변으로서 변환 TA -B, 변환 T12-A 및 변환 T12-B를 포함하는 계산 목적을 위한 삼각형이 형성될 수 있다. 따라서, 예를 들어, XR 디스플레이 장치(102) 및 전자 장치(106)의 알려진 포즈 P1-A 및 P1-B(예를 들어, 서로에 대해) 및 변환 TA -B, T12-A 및 T12-B에 기초하여, 객체 (108B)의 객체 포즈 P2-A 및 객체 포즈 P2-B가 결정될 수 있고, 그 객체(108B)가 검출되고 식별될 수 있다(예를 들어, 화분인 것으로 식별될 수 있다). 이러한 방식으로, XR 디스플레이 장치(102)가 감소된 처리 능력, 저해상도 광학 센서 및/또는 단순한 트래킹 광학 장치들만을 포함하는 경우에도, 본 기술은 그럼에도 불구하고 더 많은 계산 비용이 드는 3D 포즈 및 깊이 계산을 수행하도록 전자 장치(106)를 이용함으로써 정확하고 정밀한 객체(108A, 108B)의 검출 및 식별을 가능하게 하고, 또한 전자 장치(106)와 XR 디스플레이 장치(102) 사이에서 XR 환경(100)의 최종 3D 맵을 간단하게 공유하는 것을 가능하게 할 수 있다.
도 6은 다양한 실시 예에 따른, XR 환경 내에서 3D 포인트 클라우드를 생성 및 개선하고 객체를 검출 및 인식하기 위해 제 1 맵 및 제 2 맵에 기초하여 최종 이미지 및 깊이 맵을 수신하기 위한 방법의 흐름도이다. 상기 방법(600)은 하드웨어(예를 들어, 범용 프로세서, 그래픽 처리 장치(GPU), 주문형 집적 회로(ASIC), 시스템-온-칩(SoC), 마이크로컨트롤러, 필드 프로그램 가능형 게이트 어레이(Field-Programmable Gate Array: FPGA), 중앙 처리 장치(CPU), 애플리케이션 프로세서(AP), 시각 처리 장치(visual processing unit: VPU), 신경 처리 장치(neural processing unit: NPU), 신경 결정 프로세서(neural decision processor: NDP), 또는 2D 또는 3D 이미지 데이터를 처리하기에 적절한 임의의 다른 프로세싱 장치(들), 소프트웨어(예컨대, 하나 또는 복수의 프로세서에서 동작/실행하되 명령들), 펌웨어(예컨대, 마이크로코드) 또는 이들의 어떤 조합을 포함할 수 있는 하나 또는 복수의 처리 장치(예컨대, XR 디스플레이 장치(102))를 이용하여 수행될 수 있다.
상기 방법(600)은 블록(602)에서 하나 또는 복수의 처리 장치(예를 들어, XR 디스플레이 장치(102))가 XR 디스플레이 장치의 하나 또는 복수의 광학 센서에 의해, 환경(environment) 내의 복수의 객체들을 나타내는(portray) 하나 또는 복수의 이미지를 캡처하는 것으로 시작할 수 있다. 상기 방법(600)은 이어서 블록(604)에서 하나 또는 복수의 처리 장치(예를 들어, XR 디스플레이 장치(102))가 하나 또는 복수의 이미지를 분석하여 상기 복수의 객체들 중 제 1 객체에 대응하는 트래킹 패턴을 식별하는 것으로 계속되는데, 여기서 상기 제 1 객체는 XR 디스플레이 장치와 관련된 외부 전자 장치이다. 상기 방법(600)은 이어서 블록(606)에서 하나 또는 복수의 처리 장치(예를 들어, XR 디스플레이 장치(102))가 상기한 하나 또는 복수의 이미지에 기초하여 환경의 제 1 맵을 판단하는 것으로 계속될 수 있으며, 여기서 XR 디스플레이 장치에 관한 환경 내에서 외부 전자 장치의 상대적 위치는 상기 트래킹 패턴에 기초하여 제 1 맵에 대해 판단될 수 있다.
특정 실시 예들에 있어, XR 디스플레이 장치는 SLAM(synchronous localization and mapping) 프로세스 또는 다른 포인트 클라우드 매핑 프로세스를 사용하여 상기 환경의 제 1 맵을 생성할 수 있다. 특정 실시 예들에 있어, 상기 제 1 맵은 XR 디스플레이 장치에 대응하는 제 1 포즈(pose) 및 제 1 변환(transformation)을 포함할 수 있다. 상기 방법(600)은 이어서, 블록(608)에서 하나 또는 복수의 처리 장치(예를 들어, XR 디스플레이 장치(102))가 상대적 위치와 관련하여 생성된 환경의 제 1 맵 및 환경의 제 2 맵에 기초하여 환경의 최종 맵에 액세스하는 것으로 종료할 수 있다. 특정 실시 예들에 있어, 상기 제 2 맵은 외부 전자 장치에 대응하는 제 2 포즈 및 제 2 변환을 포함할 수 있다. 특정 실시 예들에 있어, 제 1 맵은 제 2 맵에 비해 더 낮은 해상도를 수반할 수 있다. 이러한 방식으로, XR 디스플레이 장치가 감소된 처리 능력, 저해상도 광학 센서 및/또는 단순한 트래킹 광학 장치들만을 포함하는 경우에도, 다양한 실시예에 따라 계산 비용이 더 많이 드는 3D 포즈 및 깊이 계산을 수행하도록 전자 장치를 활용함으로써 정확하고 정밀한 객체 감지 및 식별을 가능하게 하고 전자 장치와 XR 디스플레이 장치 간에 환경의 최종적 3D 맵을 간단히 공유하는 것을 가능하게 할 수 있다.
도 7은 다양한 실시 예들에 따른, 3D 포인트 클라우드를 생성 및 개선하고 XR 환경 내에서 객체를 검출 및 인식하기 위한 제 1 맵 및 제 2 맵에 기초하여 최종 이미지 및 깊이 맵을 생성하는 방법의 흐름도이다. 상기 방법(700)은 하드웨어(예를 들어, 범용 프로세서, 그래픽 처리 장치(GPU), 주문형 집적 회로(ASIC)), 시스템-온-칩(SoC), 마이크로 컨트롤러, FPGA(Field-Programmable Gate Array), CPU(중앙 처리 장치), 애플리케이션 프로세서(AP), 시각 처리 장치(VPU), 신경 처리 장치(NPU), 신경 결정 프로세서(NDP), 또는 2D 및 3D 이미지 데이터를 처리하기에 적합할 수 있는 임의의 다른 프로세싱 장치(들)), 소프트웨어(예컨대, 하나 또는 복수의 프로세서에서 동작/실행되는 명령들), 펌웨어(예컨대, 마이크로코드) 또는 이들의 일부 조합을 포함할 수 있는 하나 또는 복수의 프로세싱 장치들(예컨대, 전자 장치 (106))을 활용하여 수행될 수 있다.
상기 방법(700)은 블록(702)에서 하나 또는 복수의 처리 장치(예컨대, 전자 장치(106))가 전자 장치의 디스플레이에 트래킹 패턴을 표시하는 것으로 시작될 수 있으며, 여기서 상기한 트래킹 패턴은 전자 장치에 연결하기 위한 무선 연결 정보를 포함한다. 특정 실시 예들에서, 상기 트래킹 패턴은 전자 장치의 디스플레이의 디스플레이 영역의 중앙 부분에 표시되는 패턴을 포함할 수 있다. 특정 실시 예들에 있어, 상기 트래킹 패턴은 전자 장치의 디스플레이의 디스플레이 영역의 주변부 내에 표시되는 하나 또는 복수의 서브 패턴을 더 포함할 수 있다. 상기 방법(700)은 이어서 블록(704)에서 하나 또는 복수의 처리 장치(예를 들어, 전자 장치(106))가 트래킹 패턴으로부터의 무선 연결 정보에 기초하여 전자 장치를 XR 디스플레이 장치에 커플링하는 것으로 계속될 수 있다. 상기 방법(700)은 이어서 블록(706)에서 하나 또는 복수의 처리 장치(예를 들어, 전자 장치(106))가 외부 XR 디스플레이 장치로부터 환경의 제 1 맵을 수신하는 것으로 계속될 수 있으며, 여기서 상기 제 1 맵은 그 전자 장치의 상대적 위치 및 외부 XR 디스플레이 장치에 대한 환경 내에서의 하나 또는 복수의 객체의 위치를 나타낸다. 특정 실시 예들에 있어, 상기 제 1 맵은 외부 XR 디스플레이 장치에 대응하는 제 1 포즈 및 제 1 변환을 포함할 수 있다.
상기 방법(700)은 이어서 블록(708)에서 하나 또는 복수의 처리 장치(예컨대, 전자 장치(106))가 전자 장치의 하나 또는 복수의 광학 센서에 의해 캡처 된 하나 또는 복수의 이미지에 기초하여 환경의 제 2 맵을 생성하는 것으로써 계속될 수 있는데, 여기서, 상기 제 2 맵은 전자 장치에 대한 환경 내의 하나 또는 복수의 객체의 위치를 나타낸다. 특정 실시 예들에 있어, 상기 제 2 맵은 전자 장치에 대응하는 제 2 포즈 및 제 2 변환을 포함할 수 있다. 상기 방법(700)은 이어서 블록(710)에서 하나 또는 복수의 처리 장치(예컨대, 전자 장치(106))가 상대 위치에 대한 제 1 맵 및 제 2 맵에 기초하여 환경의 최종 맵을 생성하는 것으로 종료될 수 있다. 특정 실시 예들에 있어, 전자 장치는 환경의 최종 맵을 생성할 수 있으며, 상기한 하나 또는 복수의 객체 각각에 대해, 각각의 객체의 제 1 포즈 및 제 2 포즈를 결정하기 위해 제 1 맵 및 제 2 맵에 기초하여 하나 또는 복수의 삼각측량 계산을 수행할 수 있다. 이러한 방식으로, XR 디스플레이 장치가 감소된 처리 능력, 저해상도 광학 센서 및/또는 단순한 트래킹 광학 장치들을 수반하는 경우에도, 다양한 실시예에 따라 계산 비용이 더 많이 드는 3D 포즈 및 깊이 계산을 수행하도록 전자 장치를 이용하여 정확하고 정밀한 객체 감지 및 식별을 가능하게 할 수 있고, 전자 장치와 XR 디스플레이 장치 간에 환경의 최종 3D 맵을 간단히 공유하는 것을 가능케 한다.
도 8은 다양한 실시 예들에 따른, 사용자 전자 장치들에 깊이 맵들을 재-투사(re-projection)하기 위해 사용될 수 있는 예시적인 컴퓨터 시스템(800)을 도시한다. 특정 실시 예들에서, 하나 또는 복수의 컴퓨터 시스템(800)은 본 명세서에 설명되거나 예시된 하나 또는 복수의 방법의 하나 또는 복수의 단계를 수행한다. 특정 실시 예들에서, 하나 또는 복수의 컴퓨터 시스템(800)은 본 명세서에 설명되거나 예시된 기능을 제공한다. 특정 실시 예들에서, 하나 또는 복수의 컴퓨터 시스템(800)에서 실행되는 소프트웨어는 여기에 설명되거나 예시된 하나 또는 복수의 방법의 하나 또는 복수의 단계를 수행하거나 여기에 설명되거나 예시된 기능을 제공한다. 특정한 실시 예들은 하나 또는 복수의 컴퓨터 시스템(800)의 하나 또는 복수의 부분을 포함한다. 여기서, 컴퓨터 시스템에 관한 언급은 컴퓨팅 장치를 포함할 수 있으며, 적절한 경우 그 반대도 마찬가지이다. 더욱이, 컴퓨터 시스템에 관한 참조는 적절한 경우 하나 또는 복수의 컴퓨터 시스템을 포함할 수 있다.
본 개시는 임의의 적절한 수의 컴퓨터 시스템(800)을 상정한다. 본 개시는 임의의 적절한 물리적 형태를 취하는 컴퓨터 시스템(800)을 상정한다. 일례로서 그리고 제한하지 않고, 컴퓨터 시스템(800)은 임베디드(embedded) 컴퓨터 시스템, 시스템 온 칩(system-on-chip: SOC), 단일-보드 컴퓨터 시스템(single-board computer: SBC)(예를 들어, 컴퓨터-온-모듈(COM)), 시스템-온-모듈(SOM), 데스크톱 컴퓨터 시스템, 랩톱 또는 노트북 컴퓨터 시스템, 인터랙티브 키오스크, 메인 프레임, 컴퓨터 시스템 망, 모바일폰, PDA(personal digital assistant), 서버, 태블릿 컴퓨터 시스템, 증강/가상현실 장치, 또는 이들 중 둘 이상의 조합일 수 있다. 적절한 경우, 컴퓨터 시스템(800)은 하나 또는 복수의 컴퓨터 시스템(800)을 포함할 수 있는데, 이것은 단일형 또는 분산형일 수 있고, 여러 위치에 분산되어 있고, 복수의 컴퓨터에 분산되어 있고, 복수의 데이터 센터에 걸쳐 있거나, 또는 하나 또는 복수의 네트워크에 하나 또는 복수의 클라우드 구성 요소를 포함할 수 있는 클라우드에 상주할 수도 있다.
적절한 경우, 하나 또는 복수의 컴퓨터 시스템(800)은 실질적인 공간적 또는 시간적 제한 없이 여기에 설명되거나 예시된 하나 또는 복수의 방법 중의 하나 또는 복수의 단계를 수행할 수 있다. 예를 들어, 그리고 제한 없이, 하나 또는 복수의 컴퓨터 시스템(800)은 본 명세서에 설명되거나 예시된 하나 또는 복수의 방법의 하나 또는 복수의 단계를 실시간으로 또는 배치(batch) 모드로 수행할 수 있다. 하나 또는 복수의 컴퓨터 시스템(800)은, 적절한 경우, 본 명세서에 설명되거나 예시된 하나 또는 복수의 방법의 하나 또는 복수의 단계를 상이한 시간 또는 상이한 위치에서 수행할 수 있다.
특정한 실시 예들에서, 컴퓨터 시스템(800)은 프로세서(802), 메모리(804), 저장 장치(806), 입력/출력(I/O) 인터페이스(808), 통신 인터페이스(810), 및 버스(812)를 포함할 수 있다. 본 개시가 특정 구성에서 특정 수의 특정 구성 요소를 갖는 특정한 컴퓨터 시스템을 기술하고 예시하고 있을지라도, 본 개시는 임의의 적절한 구성에서 임의의 적절한 수의 임의의 적절한 구성 요소를 갖는 임의의 적절한 컴퓨터 시스템을 상정한다는 것을 유념하여야 할 것이다.
특정한 실시 예들에서, 프로세서(802)는 컴퓨터 프로그램을 구성하는 것들과 같은 명령어를 실행하기 위한 하드웨어를 포함한다. 한정이 아닌 일례로서, 명령어를 실행하기 위해, 프로세서(802)는 내부 레지스터, 내부 캐시, 메모리(804) 또는 저장 장치(806)로부터 명령어를 검색(또는 불러오기)할 수 있으며; 그들을 디코딩하여 실행하고, 그리고 이어서 하나 또는 복수의 결과를 내부 레지스터, 내부 캐시, 메모리(804) 또는 저장 장치(806)에 기록할 수 있다. 특정한 실시 예들에서, 프로세서(802)는 데이터, 명령어 또는 주소를 위한 하나 또는 복수의 내부 캐시를 포함할 수 있다. 본 개시는 적절한 경우 임의의 적절한 수의 임의의 적절한 내부 캐시를 포함하는 프로세서(802)를 상정할 수 있다. 제한 없는 일례로서, 프로세서(802)는 하나 또는 복수의 명령어 캐시(instruction caches), 하나 또는 복수의 데이터 캐시 및 하나 또는 복수의 변환 색인 버퍼(TLB: translation lookaside buffer)를 포함할 수 있다. 명령어 캐시에서의 명령어는 메모리(804) 또는 저장 장치(806)의 명령어의 복사본일 수도 있으며, 이러한 명령어 캐시는 프로세서(802)에 의한 이러한 명령어의 검색 속도를 높일 수 있다.
데이터 캐시의 데이터는 프로세서(802)에서 실행되는 후속 명령에 의한 액세스 또는 메모리(804) 또는 저장 장치(806)에 기록하기 위해 프로세서(802)에서 실행되는 이전의 명령의 결과에 따라 프로세서(802)에서 실행되는 명령어에 대한 메모리(804) 또는 저장 장치(806)에 있는 데이터의 복사본일 수 있거나, 또는 다른 적절한 데이터일 수도 있다. 데이터 캐시는 프로세서(802)에 의한 읽기 또는 쓰기 동작의 속도를 높일 수 있다. TLB는 프로세서(802)에 대하여 가상 주소 변환의 속도를 높일 수 있다. 특정한 실시 예들에서, 프로세서(802)는 데이터, 명령 또는 주소에 관한 하나 또는 복수의 내부 레지스터를 포함할 수 있다. 본 개시는, 적절한 경우, 임의의 적절한 수의 임의의 적절한 내부 레지스터를 포함하는 프로세서(802)를 상정할 수 있다. 적절한 경우, 프로세서(802)는 하나 또는 복수의 산술 논리 유닛들(ALUs)을 포함할 수 있으며, 멀티-코어 프로세서일 수 있고, 또는 하나 또는 복수의 프로세서(802)를 포함할 수 있다. 본 개시는 특정한 프로세서를 설명하고 예시하고 있지만, 본 개시는 임의의 적절한 프로세서를 상정할 수 있음을 유념하여야 할 것이다.
특정한 실시 예들에 있어, 메모리(804)는 프로세서(802)가 실행할 명령어 또는 프로세서(802)가 그에 대해 동작할 데이터를 저장하기 위한 메인 메모리를 포함한다. 제한 없는 일례로서, 컴퓨터 시스템(800)은 저장 장치(806) 또는 다른 소스(예를 들어, 다른 컴퓨터 시스템(800))로부터 메모리(804)로 명령을 로드할 수 있다. 명령어를 실행하기 위해, 프로세서(802)는 내부 레지스터 또는 내부 캐시로부터 명령어를 검색하여 그것을 디코딩할 수 있다. 명령어의 실행 동안 또는 실행 후에, 프로세서(802)는 하나 또는 복수의 결과(중간 또는 최종 결과일 수 있음)를 내부 레지스터 또는 내부 캐시에 기록할 수 있다. 그 다음, 프로세서(802)는 이러한 결과 중 하나 또는 복수를 메모리(804)에 기록할 수 있다. 특정한 실시 예들에서, 프로세서(802)는 하나 또는 복수의 내부 레지스터 또는 내부 캐시 또는 메모리(804)(저장 장치(806)와는 상반되거나 그 외의 곳에)에서는 명령어만을 실행하고, 하나 또는 복수의 내부 레지스터 또는 내부 캐시 또는 메모리(804)(저장 장치(806)와는 상반되거나 그 밖의 곳에)에서는 데이터만을 동작시킬 수도 있다.
하나 또는 복수의 메모리 버스(각각 어드레스 버스 및 데이터 버스를 포함할 수 있음)는 프로세서(802)를 메모리(804)에 결합할 수 있다. 버스(812)는 후술하는 바와 같이 하나 또는 복수의 메모리 버스를 포함할 수 있다. 특정한 실시 예들에서, 하나 또는 복수의 메모리 관리 유닛(memory management unit: MMU)은 프로세서(802)와 메모리(804) 사이에 상주하고, 프로세서(802)에 의해 요청된 메모리(804)에 대한 액세스를 용이하게 한다. 특정한 실시 예들에서, 메모리(804)는 랜덤 액세스 메모리(RAM)를 포함한다. 이러한 RAM은 적절한 경우 휘발성 메모리 일 수 있다. 적절한 경우, 이 RAM은 동적 RAM(DRAM) 또는 정적 RAM(SRAM)일 수 있다. 또한, 적절한 경우, 이러한 RAM은 단일-포트 또는 다중-포트 RAM 일 수 있다. 본 개시는 임의의 적절한 RAM을 상정한다. 적절한 경우, 메모리(804)는 하나 또는 복수의 메모리(804)를 포함할 수 있다. 본 개시에 있어 특정한 메모리를 설명하고 예시할지라도, 본 개시는 임의의 적절한 메모리를 상정한다.
특정한 실시 예들에서, 저장 장치(806)는 데이터 또는 명령을 위한 대용량 저장 장치를 포함한다. 제한 없는 일례로서, 저장 장치(806)는 하드 디스크 드라이브(HDD), 플로피 디스크 드라이브, 플래시 메모리, 광디스크, 광-자기 디스크, 자기 테이프, 또는 유니버셜 시리얼 버스(USB) 드라이브, 또는 이들의 둘 이상의 조합을 포함할 수 있다. 저장 장치(806)는 적절한 경우 제거 가능하거나 또는 제거 불가능한(또는 고정형) 매체를 포함할 수 있다. 적절한 경우, 저장 장치(806)는 컴퓨터 시스템(800)의 내부 또는 외부에 배치될 수 있다. 특정한 실시 예들에서, 저장 장치(806)는 비휘발성 솔리드-스테이트 메모리이다. 특정한 실시 예들에 있어, 저장 장치(806)는 읽기-전용 메모리(ROM)를 포함한다. 적절한 경우, 이러한 ROM은 마스크-프로그래밍 ROM, 프로그래밍 가능한 ROM(PROM), 소거 가능한 PROM(EPROM), 전기적으로 소거 가능한 PROM(EEPROM), 전기적으로 변경 가능한 ROM(EAROM) 또는 플래시 메모리 또는 이들 중의 둘 이상의 조합일 수 있다. 본 개시는 임의의 적절한 물리적 형태를 취하는 대용량 저장 장치(806)를 상정할 수 있다. 저장 장치(806)는 적절한 경우 프로세서(802)와 저장 장치(806) 간의 통신을 용이하게 하는 하나 또는 복수의 저장 장치 제어 유닛을 포함할 수 있다. 적절한 경우, 저장 장치(806)는 하나 또는 복수의 저장 장치(806)를 포함할 수 있다. 본 개시에 있어 특정 저장 장치를 설명하고 예시할지라도, 본 개시는 임의의 적절한 저장 장치를 상정할 것이다.
특정한 실시 예들에서, I/O 인터페이스(808)는 컴퓨터 시스템(800)과 하나 또는 복수의 I/O 장치 사이의 통신을 위한 하나 또는 복수의 인터페이스를 제공하는 하드웨어, 소프트웨어 또는 둘 다를 포함한다. 컴퓨터 시스템(800)은 적절한 경우 이러한 I/O 장치 중 하나 또는 복수를 포함할 수 있다. 이러한 I/O 장치 중 하나 또는 복수는 사람과 컴퓨터 시스템(800) 사이의 통신을 가능하게 할 수 있다. 일례로서, 제한 없이, I/O 장치는 키보드, 키패드, 마이크, 모니터, 마우스, 프린터, 스캐너, 스피커, 스틸 카메라, 스타일러스, 태블릿, 터치 스크린, 트랙볼, 비디오카메라, 다른 적합한 I/O 장치 또는 이들 중의 둘 이상의 조합을 포함할 수 있다. I/O 장치는 하나 또는 복수의 센서를 포함할 수 있다. 본 개시는 임의의 적합한 I/O 장치 및 이들에 대한 임의의 적합한 I/O 인터페이스(806)를 상정한다. 적절한 경우, I/O 인터페이스(808)는 프로세서(802)가 하나 또는 복수의 이러한 I/O 장치를 구동할 수 있게 하는 하나 또는 복수의 장치 또는 소프트웨어 드라이버를 포함할 수 있다. I/O 인터페이스(808)는, 적절한 경우, 하나 또는 복수의 I/O 인터페이스(806)를 포함할 수 있다. 본 개시에 있어 특정 I/O 인터페이스를 설명하고 예시할지라도, 본 개시는 임의의 적절한 I/O 인터페이스를 상정한다.
특정한 실시 예들에서, 통신 인터페이스(810)는 컴퓨터 시스템(800)과 하나 또는 복수의 다른 컴퓨터 시스템(800) 또는 하나 또는 복수의 네트워크 사이의 통신(예를 들어, 패킷 기반의 통신)을 위한 하나 또는 복수의 인터페이스를 제공하는 하드웨어, 소프트웨어 또는 둘 모두를 포함한다. 단지 일례로서, 제한 없이, 통신 인터페이스(810)는 이더넷(ethernet) 또는 기타 유선 기반 네트워크와 통신하기 위한 네트워크 인터페이스 컨트롤러(network interface controller: NIC) 또는 네트워크 어댑터, 또는 WI-FI 네트워크와 같은 무선 네트워크와의 통신을 위한 무선 NIC(WNIC) 또는 무선 어댑터를 포함할 수 있다. 본 개시는 임의의 적절한 네트워크 및 이를 위한 임의의 적절한 통신 인터페이스(810)를 상정한다.
일례로서, 또한 어떤 제한이 없이, 컴퓨터 시스템(800)은 애드혹 네트워크(ad hoc network), 개인 영역 네트워크(personal area network: PAN), 근거리 통신망(local area network: LAN), 광역 통신망(wide area network: WAN), 도시지역 통신망(metropolitan area network: MAN), 또는 인터넷의 하나 또는 복수의 부분, 또는 이들 중의 둘 이상의 조합과 통신할 수 있다. 하나 또는 복수의 이러한 네트워크들의 하나 또는 복수의 부분은 유선 또는 무선일 수 있다. 예를 들어, 컴퓨터 시스템(800)은 무선 PAN(WPAN)(예컨대, BLUETOOTH WPAN과 같은), WI-FI 네트워크, WI-MAX 네트워크, 셀룰러폰 네트워크(예컨대, GSM(global system for mobile communications) 네트워크) 또는 기타 적절한 무선 네트워크 또는 이들 중 둘 이상의 조합과 통신할 수 있다. 적절한 경우, 컴퓨터 시스템(800)은 이들 네트워크의 어떤 것에 대한 임의의 적절한 통신 인터페이스(810)를 포함할 수 있다. 적절한 경우, 통신 인터페이스(810)는 하나 또는 복수의 통신 인터페이스(810)를 포함할 수 있다. 본 개시에 있어 특정 통신 인터페이스를 설명하고 예시할지라도, 본 개시는 임의의 적절한 통신 인터페이스를 상정한다.
특정한 실시 예들에서, 버스(812)는 컴퓨터 시스템(800)의 구성 요소를 서로 결합하는 하드웨어, 소프트웨어 또는 둘 모두를 포함한다. 일례로서, 어떤 제한이 없이, 버스(812)는 가속형 그래픽 포트(accelerated graphics port: AGP) 또는 기타 그래픽 버스, EISA(enhanced industry standard architecture) 버스, 프론트-사이드 버스(front-side bus: FSB), 하이퍼트랜스포트(HYPERTRANSPORT: HT) 인터커넥트, ISA(Industry Standard Architecture) 버스, INFINIBAND 인터커넥트, LPC(low-pin-count) 버스, 메모리 버스, MCA(micro channel architecture) 버스, PCI(peripheral component interconnect) 버스, PCI-Express (PCIe) 버스, SATA(serial advanced technology attachment) 버스, VLB(video electronics standards association local) 버스, 또는 또 다른 적절한 버스 또는 이들 중의 둘 이상의 조합을 포함할 수 있다. 적절한 경우, 버스(812)는 하나 또는 복수의 버스(812)를 포함할 수 있다. 본 개시에 있어 특정 버스를 설명하고 예시할지라도, 본 개시는 임의의 적절한 버스 또는 상호 접속을 상정한다.
여기서, 컴퓨터 판독 가능한 비-일시적인 저장 매체 또는 매체들은 하나 또는 복수의 반도체 기반 또는 기타 집적 회로(IC)(예컨대, FPGA(field-programmable gate arrays) 또는 주문형 IC(ASIC)), 하드 디스크 드라이브(HDD), 하이브리드 하드 드라이브(HHD), 광디스크, 광디스크 드라이브(ODD), 광-자기 디스크, 광-자기 드라이브, 플로피 디스켓, 플로피 디스크 드라이브(FDD), 자기 테이프, 솔리드-스테이트 드라이브(solid-state drive), RAM 드라이브, SECURE DIGITAL 카드 또는 드라이브, 기타 적절한 컴퓨터 판독 가능한 비-일시적인 저장 매체, 또는 적절한 경우 이들 중의 둘 이상의 적절한 조합을 포함할 수 있다. 컴퓨터 판독 가능한 비-일시적인 저장 매체는 적절한 경우 휘발성, 비-휘발성, 또는 휘발성 및 비- 휘발성의 조합일 수 있다.
여기서, "또는"이라는 표현은 명시적으로 달리 표시되거나 문맥에 의해 달리 표시되지 않는 한 포괄적이며 배타적이지 않은 것을 의미한다. 따라서, 본원에서 "A 또는 B"는 달리 명시적으로 표시되거나 문맥에 의해 달리 표시되지 않는 한, "A, B 또는 둘 다"를 의미한다. 더욱이, "및(그리고)"이라는 표현은 달리 명시적으로 표시되거나 문맥에 의해 달리 표시되지 않는 한, 합동 및 복수를 의미한다. 따라서, 본원에서 "A 및 B"는 달리 명시적으로 표시되거나 문맥에 의해 달리 표시되지 않는 한, "A 및 B, 합동으로 또는 복수 개"를 의미한다.
본 명세서에서 "자동으로"라는 표현 및 그 파생어는 달리 명시적으로 표시되거나 문맥상 달리 표시되지 않는 한, "사람의 개입 없이"를 의미한다.
본 명세서에 개시된 실시 예들은 단지 예시일 뿐이며, 본 개시의 범위는 이에 한정되지 않는다. 본 발명에 따른 실시 예들은 특히, 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 관한 첨부된 청구범위에 개시되어 있으며, 여기서 하나의 청구 카테고리, 예를 들어, 방법에 언급된 임의의 특징은 다른 청구범위 범주, 예컨대, 시스템에서도 또한 청구될 수도 있다. 후술하는 청구범위의 종속관계 또는 참조는 단지 형식적인 이유로 선택된다. 그렇지만, 선행하는 청구항(특히 다중 종속 관계일 경우)에 대한 의도적인 참조로 인해 발생하는 모든 주제도 또한 청구될 수 있으므로, 따라서 청구항 및 그 특징의 임의의 조합이 개시되어 후술하는 청구항들에서 선택되는 종속관계에 관계없이 청구될 수 있다. 청구될 수 있는 주제는 후술하는 청구범위에 명시된 특징의 조합뿐만 아니라 그 청구범위의 특징의 다른 조합도 포함할 것이며, 여기서 청구범위에 언급된 각각의 특징은 청구범위의 임의의 다른 특징들 또는 다른 특징들의 조합과 결합할 수도 있다. 더욱이, 본 명세서에 설명되거나 묘사된 임의의 실시 예들 및 특징들은 별도의 청구범위 및/또는 본 명세서에 기재되거나 묘사된 임의의 실시 예 또는 특징 또는 후술하는 청구범위의 임의의 특징들과 임의의 조합으로 청구될 수 있다.
본 개시 내용의 범위는 당해 기술분야의 통상의 지식을 갖는 사람이 이해하도록 본 명세서에 설명되거나 예시된 예시적인 실시 예에 대하여 모든 변경, 대체, 변형, 개조 및 수정을 망라한다. 본 개시의 범위는 본 명세서에 설명되거나 예시된 예시적인 실시 예들에만 한정되지 않는다. 더욱이, 본 개시는 특정한 구성 요소, 요소, 특징, 기능, 동작 또는 단계를 포함하는 것으로 여기에서 각각의 실시 예를 설명하고 예시하지만, 이들 실시 예 중 임의의 것은 당해 기술분야의 통상의 지식을 갖는 사람이 이해하도록 본 명세서에 설명되거나 예시된 구성 요소, 개체, 특징, 기능, 동작, 또는 단계의 임의의 것의 임의의 조합 또는 순열을 포함할 수 있다. 더욱이, 후술하는 청구범위에서 특정 기능을 수행하도록 적응, 배열, 가능, 구성, 활성화, 작동 가능한, 또는 작동하는 장치 또는 시스템, 또는 그 장치 또는 시스템의 구성 요소에 관한 참조는 해당 장치, 시스템 또는 구성 요소를 망라하되, 그것들이 그렇게 적응, 배열, 가능, 구성, 활성화, 작동 가능 또는 작동하도록 되는 한, 그것 또는 해당 특정 기능이 활성화, 켜짐 또는 잠금 해제되는지 아닌지에 상관 없다. 추가로, 본 개시는 특정 이점을 제공하는 것으로 특정한 실시 예들을 설명하거나 예시할지라도, 그러한 특정한 실시 예들은 이러한 이점을 제공하지 않거나, 그것의 일부 또는 모두를 제공할 수도 있다.

Claims (20)

  1. 전자 장치의 동작 방법에 있어서,
    하나 또는 복수의 광학 센서에 의해 복수의 객체들을 나타내는 하나 또는 복수의 이미지를 캡처하는 동작;
    상기 하나 또는 복수의 이미지를 분석하여 상기 복수의 객체들 중 외부 전자 장치에 대응하는 이미지를 식별하는 동작;
    상기 외부 전자 장치에 대응하는 이미지의 식별에 기반하여, 상기 전자 장치에 관한 상기 외부 전자 장치의 상대적인 위치를 확인하는 동작;
    상기 캡처한 이미지로부터 제 1 맵을 생성하는 동작;
    상기 확인된 상대적인 위치와 관련하여, 상기 생성된 제1 맵과 상기 외부 전자 장치에서 생성된 제 2 맵에 기반하여 최종 맵을 확인하는 동작을 포함하는 방법.
  2. 제 1항에 있어서,
    상기 제 1 맵을 상기 외부 전자 장치로 전송하는 동작;
    상기 외부 전자 장치로부터 상기 최종 맵을 수신하는 동작; 및
    상기 최종 맵을 메모리에 저장하는 동작을 포함하되;
    상기 최종 맵을 확인하는 동작은 상기 저장된 최종 맵에 액세스하는 것을 포함하는 것인 방법.
  3. 제 1항에 있어서,
    상기 외부 전자 장치로부터 상기 제 2 맵을 수신하는 동작;
    상기 제 1 맵 및 상기 제 2 맵에 기초하여 상기 최종 맵을 생성하는 동작; 및
    상기 최종 맵을 메모리에 저장하는 동작을 포함하되;
    상기 최종 맵을 확인하는 동작은 상기 저장된 최종 맵에 액세스하는 동작을 포함하는 것인 방법.
  4. 제 1항에 있어서,
    상기 제 1 맵은 상기 전자 장치에 대응하는 제 1 포즈 및 제 1 변환을 포함하고, 상기 제 2 맵은 상기 외부 전자 장치에 대응하는 제 2 포즈 및 제 2 변환을 포함하는 방법.
  5. 제 1항에 있어서,
    상기 최종 맵은 상기 복수의 객체들 각각에 대해, 각각의 객체의 제 1 포즈 및 제 2 포즈의 맵을 포함하는 방법.
  6. 전자 장치에 있어서,
    하나 또는 복수의 디스플레이;
    하나 또는 복수의 광학 센서;
    명령들을 포함하는 하나 또는 복수의 비-일시적 컴퓨터 판독 가능 저장 매체; 및
    상기 저장 매체에 결합된 하나 또는 복수의 프로세서를 포함하되, 상기 하나 또는 복수의 프로세서는:
    상기 하나 또는 복수의 광학 센서에 의해 복수의 객체들을 나타내는 하나 또는 복수의 이미지를 캡처하고;
    상기 하나 또는 복수의 이미지를 분석하여 상기 복수의 객체들 중 제 1 객체에 대응하는 이미지를 식별하고;
    상기 외부 전자 장치에 대응하는 이미지의 식별에 기반하여, 상기 전자 장치에 관한 상기 외부 전자 장치의 상대적인 위치를 확인하고;
    상기 캡처한 이미지로부터 제 1 맵을 생성하고,
    상기 확인된 상대적인 위치와 관련하여, 상기 생성된 제 1 맵과 상기 외부 전자 장치에서 생성된 제 2 맵에 기반하여 최종 맵을 확인하는,
    명령들을 실행하도록 구성되는 전자 장치.
  7. 제 6항에 있어서, 상기 명령들은:
    상기 외부 전자 장치로 상기 제 1 맵을 전송하고;
    상기 외부 전자 장치로부터 상기 최종 맵을 수신하고; 및
    상기 최종 맵을 상기 전자 장치의 메모리에 저장하는 명령들을 포함하되;
    상기 최종 맵을 확인하는 동작은 상기 메모리에 저장된 최종 맵에 액세스하는 동작을 포함하는 것인 전자 장치.
  8. 제 6항에 있어서, 상기 명령들은:
    상기 외부 전자 장치로부터 상기 제 2 맵을 수신하고;
    상기 제 1 맵 및 제 2 맵에 기초하여 상기 최종 맵을 생성하고; 및
    상기 최종 맵을 메모리에 저장하는 명령들을 더 포함하되;
    상기 최종 맵을 확인하는 동작은 상기 메모리 에 저장된 최종 맵에 액세스하는 동작을 포함하는 것인 전자 장치.
  9. 제 6항에 있어서,
    상기 제 1 맵은 상기 전자 장치에 대응하는 제 1 포즈 및 제 1 변환을 포함하고, 상기 제 2 맵은 상기 외부 전자 장치에 대응하는 제 2 포즈 및 제 2 변환을 포함하는 전자 장치.
  10. 제 6항에 있어서,
    상기 최종 맵은 상기 복수의 객체들의 각각에 대해, 각각의 객체의 제 1 포즈 및 제 2 포즈의 맵을 포함하는 전자 장치.
  11. 전자 장치의 동작 방법에 있어서,
    상기 전자 장치의 디스플레이에 외부 전자 장치와 연결하기 위한 무선 연결 정보를 포함하는 이미지를 표시하는 동작;
    상기 이미지에 포함된 무선 연결 정보에 기초하여 상기 전자 장치를 상기 외부 전자 장치에 연결하는 동작;
    상기 외부 전자 장치로부터 제 1 맵을 수신하는 동작;
    상기 전자 장치의 하나 또는 복수의 광학 센서에 의해 캡처된 하나 또는 복수의 이미지에 기초하여 제 2 맵을 생성하는 동작; 및
    상기 외부 전자 장치와 상기 전자 장치의 상대적인 위치와 관련하여, 상기 제 1 맵 및 상기 제 2 맵에 기반하여 최종 맵을 생성하는 동작을 포함하는 방법.
  12. 제 11항에 있어서,
    상기 이미지는 상기 전자 장치의 디스플레이의 디스플레이 영역의 중앙 부분 내에 디스플레이되는 패턴을 포함하는 방법.
  13. 제 12항에 있어서,
    상기 이미지는 상기 전자 장치의 디스플레이의 디스플레이 영역의 주변부 내에 디스플레이되는 하나 또는 복수의 서브 패턴을 더 포함하는 방법.
  14. 제 11항에 있어서,
    상기 제 1 맵은 상기 외부 전자 장치에 대응하는 제 1 포즈 및 제 1 변환을 포함하고, 상기 제 2 맵은 상기 전자 장치에 대응하는 제 2 포즈 및 제 2 변환을 포함하는 방법.
  15. 제 11항에 있어서,
    상기 최종 맵을 생성하는 동작은, 상기 하나 또는 복수의 이미지에 포함된 복수의 객체들 각각에 대해, 각각의 개체의 제 1 포즈 및 제 2 포즈를 결정하기 위해 상기 제 1 맵 및 상기 제 2 맵에 기초한 하나 또는 복수의 삼각측량 계산을 수행하는 동작을 포함하는 방법.
  16. 전자 장치에 있어서,
    디스플레이;
    하나 또는 복수의 광학 센서;
    명령들을 포함하는 하나 또는 복수의 비-일시적 컴퓨터 판독 가능한 저장 매체; 및
    상기 저장 매체에 결합된 하나 또는 복수의 프로세서를 포함하되, 상기 하나 또는 복수의 프로세서는:
    상기 디스플레이에 외부 전자 장치와 연결하기 위한 무선 연결 정보를 포함하는 이미지를 표시하고;
    상기 이미지에 포함된 무선 연결 정보에 기초하여 상기 전자 장치를 상기 외부 전자 장치에 연결하고;
    상기 외부 전자 장치로부터 제 1 맵을 수신하고;
    상기 전자 장치의 하나 또는 복수의 광학 센서에 의해 캡처 된 하나 또는 복수의 이미지에 기초하여 제 2 맵을 생성하고; 및
    상기 외부 전자 장치와 상기 전자 장치의 상대적인 위치와 관련하여, 상기 제 1 맵과 상기 제 2 맵에 기반하여 최종 맵을 생성하는 명령들을 실행하도록 구성되는 전자 장치.
  17. 제 16항에 있어서,
    상기 이미지는 상기 전자 장치의 디스플레이의 디스플레이 영역의 중앙 부분 내에 표시되는 패턴을 포함하는 전자 장치.
  18. 제 17항에 있어서,
    상기 이미지는 상기 전자 장치의 디스플레이의 디스플레이 영역의 주변부 내에 표시되는 하나 또는 복수의 서브 패턴을 더 포함하는 전자 장치.
  19. 제 16항에 있어서,
    상기 제 1 맵은 상기 외부 전자 장치에 대응하는 제 1 포즈 및 제 1 변환을 포함하고, 상기 제 2 맵은 상기 전자 장치에 대응하는 제 2 포즈 및 제 2 변환을 포함하는 전자 장치.
  20. 제 16항에 있어서,
    상기 최종 맵을 생성하기 위한 명령들은 하나 또는 복수의 이미지에 포함된 복수의 객체들 각각에 대해, 상기 제 1 맵 및 제 2 맵에 기초하여 하나 또는 복수의 삼각측량 계산을 수행하여 각각의 객체의 제 1 포즈와 제 2 포즈를 결정하는 명령들을 더 포함하는 전자 장치.
KR1020200147170A 2020-04-02 2020-11-05 전자 장치 및 페어링된 전자 장치를 이용한 객체 식별 방법 KR20210123994A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2021/004100 WO2021201638A1 (en) 2020-04-02 2021-04-01 Electronic device and method for object identification utilizing paired electronic device
EP21782376.4A EP4097641A4 (en) 2020-04-02 2021-04-01 Electronic device and method for object identification utilizing paired electronic device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063004355P 2020-04-02 2020-04-02
US63/004,355 2020-04-02
US17/014,202 US11348320B2 (en) 2020-04-02 2020-09-08 Object identification utilizing paired electronic devices
US17/014,202 2020-09-08

Publications (1)

Publication Number Publication Date
KR20210123994A true KR20210123994A (ko) 2021-10-14

Family

ID=77922345

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200147170A KR20210123994A (ko) 2020-04-02 2020-11-05 전자 장치 및 페어링된 전자 장치를 이용한 객체 식별 방법

Country Status (2)

Country Link
US (1) US11348320B2 (ko)
KR (1) KR20210123994A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11522945B2 (en) * 2020-10-20 2022-12-06 Iris Tech Inc. System for providing synchronized sharing of augmented reality content in real time across multiple devices

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009054619A2 (en) 2007-10-22 2009-04-30 Moon Key Lee Augmented reality computer device
KR20090040839A (ko) 2007-10-22 2009-04-27 이문기 증강현실 컴퓨터 장치
US8818274B2 (en) 2009-07-17 2014-08-26 Qualcomm Incorporated Automatic interfacing between a master device and object device
US20120162412A1 (en) * 2010-12-22 2012-06-28 Electronics And Telecommunications Research Institute Image matting apparatus using multiple cameras and method of generating alpha maps
JP6235022B2 (ja) 2012-09-10 2017-11-22 アエマス,インコーポレイテッド 複数デバイスを使用した周辺環境の多次元データキャプチャ
WO2015155628A1 (en) 2014-04-07 2015-10-15 Eyeways Systems Ltd. Apparatus and method for image-based positioning, orientation and situational awareness
US20170140552A1 (en) 2014-06-25 2017-05-18 Korea Advanced Institute Of Science And Technology Apparatus and method for estimating hand position utilizing head mounted color depth camera, and bare hand interaction system using same
US9478029B2 (en) * 2014-10-23 2016-10-25 Qualcomm Incorporated Selection strategy for exchanging map information in collaborative multi-user SLAM systems
US10088971B2 (en) 2014-12-10 2018-10-02 Microsoft Technology Licensing, Llc Natural user interface camera calibration
US10083544B2 (en) 2015-07-07 2018-09-25 Google Llc System for tracking a handheld device in virtual reality
US10368059B2 (en) 2015-10-02 2019-07-30 Atheer, Inc. Method and apparatus for individualized three dimensional display calibration
US10334076B2 (en) 2016-02-22 2019-06-25 Google Llc Device pairing in augmented/virtual reality environment
US10146334B2 (en) 2016-06-09 2018-12-04 Microsoft Technology Licensing, Llc Passive optical and inertial tracking in slim form-factor
US20180077345A1 (en) * 2016-09-12 2018-03-15 Canon Kabushiki Kaisha Predictive camera control system and method
US10452133B2 (en) 2016-12-12 2019-10-22 Microsoft Technology Licensing, Llc Interacting with an environment using a parent device and at least one companion device
KR20180122797A (ko) 2017-05-04 2018-11-14 티팟스튜디오 주식회사 가상 현실 컨텐츠를 제공하기 위한 헤드 마운티드 디스플레이를 포함하는 시스템 및 제어 방법
US10534454B2 (en) 2018-02-02 2020-01-14 Sony Interactive Entertainment Inc. Head-mounted display to controller clock synchronization over EM field
US10547974B1 (en) 2019-03-19 2020-01-28 Microsoft Technology Licensing, Llc Relative spatial localization of mobile devices
US11270515B2 (en) * 2019-09-04 2022-03-08 Qualcomm Incorporated Virtual keyboard

Also Published As

Publication number Publication date
US20210312713A1 (en) 2021-10-07
US11348320B2 (en) 2022-05-31

Similar Documents

Publication Publication Date Title
US8660362B2 (en) Combined depth filtering and super resolution
JP7008733B2 (ja) 挿入される画像コンテンツについての影生成
CN116897326A (zh) 人工现实中虚拟对象的手部锁定渲染
US11954805B2 (en) Occlusion of virtual objects in augmented reality by physical objects
US11288543B1 (en) Systems and methods for depth refinement using machine learning
US11451758B1 (en) Systems, methods, and media for colorizing grayscale images
US11625862B2 (en) Mirror reconstruction
CN113366491A (zh) 眼球追踪方法、装置及存储介质
US20230169686A1 (en) Joint Environmental Reconstruction and Camera Calibration
CN113302667A (zh) 传递可视化
CN113302666A (zh) 识别人工现实系统中的平面
US20240177394A1 (en) Motion vector optimization for multiple refractive and reflective interfaces
US20210319569A1 (en) Method and system for depth map reconstruction
US11030820B1 (en) Systems and methods for surface detection
KR20210123994A (ko) 전자 장치 및 페어링된 전자 장치를 이용한 객체 식별 방법
CN109461203B (zh) 手势三维图像生成方法、装置、计算机设备及存储介质
US20220319129A1 (en) 3D Reconstruction Of A Moving Object
US11615594B2 (en) Systems and methods for reconstruction of dense depth maps
TW202304200A (zh) 具有表面和每表面體積的環境模型
US11423616B1 (en) Systems and methods for rendering avatar with high resolution geometry
KR20210110164A (ko) 전자 장치 및 전자 장치에서 깊이 맵의 재-투사 방법
WO2021201638A1 (en) Electronic device and method for object identification utilizing paired electronic device
US20230245322A1 (en) Reconstructing A Three-Dimensional Scene
US20220138915A1 (en) Distortion-Corrected Rasterization
US20230401796A1 (en) Fast ar device pairing using depth predictions