KR20210110164A - 전자 장치 및 전자 장치에서 깊이 맵의 재-투사 방법 - Google Patents

전자 장치 및 전자 장치에서 깊이 맵의 재-투사 방법 Download PDF

Info

Publication number
KR20210110164A
KR20210110164A KR1020200149309A KR20200149309A KR20210110164A KR 20210110164 A KR20210110164 A KR 20210110164A KR 1020200149309 A KR1020200149309 A KR 1020200149309A KR 20200149309 A KR20200149309 A KR 20200149309A KR 20210110164 A KR20210110164 A KR 20210110164A
Authority
KR
South Korea
Prior art keywords
feature points
sequence
electronic device
image
depth map
Prior art date
Application number
KR1020200149309A
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/002485 priority Critical patent/WO2021172950A1/en
Priority to EP21759994.3A priority patent/EP4091128A4/en
Publication of KR20210110164A publication Critical patent/KR20210110164A/ko

Links

Images

Classifications

    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • 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
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/261Image signal generators with monoscopic-to-stereoscopic image conversion
    • H04N13/268Image signal generators with monoscopic-to-stereoscopic image conversion based on depth image-based rendering [DIBR]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • 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/10024Color image
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 개시는 전자 장치에서 깊이 맵의 재-투사 방법에 있어서, XR 디스플레이와 연관된 외부 전자 장치로부터 수신된 이미지 데이터에 기초하여 제1 시퀀스의 이미지 프레임을 렌더링하는 동작을 포함한다. 상기 방법은 상기 외부 전자 장치로부터 수신된 이미지 데이터에 대해 중단을 검출하는 동작과, 상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들에 액세스하는 동작을 더 포함한다. 상기 다수의 특징점들은 상기 제1 시퀀스의 이미지 프레임 내에서 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함한다. 상기 방법은 상기 다수의 특징점 및 시공간적 데이터에 적어도 부분적으로 기초하여 하나 또는 다수의 객체를 적어도 부분적으로 재-렌더링하는 재-와핑을 수행하는 동작과, 상기 하나 또는 다수의 객체들의 부분적인 재-렌더링에 대응하는 제2 시퀀스의 이미지 프레임을 렌더링하는 동작을 더 포함한다.

Description

전자 장치 및 전자 장치에서 깊이 맵의 재-투사 방법{ELECTRONIC DEVICE AND METHOD FOR DEPTH MAP RE-PROJECTION ON ELECTRONIC DEVICE}
본 개시는 일반적으로 깊이 맵(depth map)에 관한 것으로, 특히 사용자 전자 장치에서 깊이 맵의 재-투사(re-projection)에 관한 것이다.
확장 현실(extended reality: XR) 시스템은 일반적으로 컴퓨터로 생성된 환경 및/또는 적어도 어떤 XR 아티팩트(artifacts)를 포함하는 실제 환경을 포함할 수 있다. 이러한 XR 시스템 또는 세계 및 연관된 XR 아티팩트들은 일반적으로 다양한 애플리케이션들(예컨대, 비디오 게임)을 포함하며, 이것은 컴퓨터로 생성된 표현(예컨대, 아바타)의 형태로 존재를 조작하여 사용자가 이러한 XR 아티팩트를 활용할 수 있도록할 수 있다. 전형적인 XR 시스템에서, 이미지 데이터는, 예를 들어, 이미지 데이터 생성을 담당하는 기본 그래픽 생성 장치에 대해 물리적 유선 연결을 통해 결합될 수 있는 경량의 헤드-마운트 디스플레이(head-mounted display: HMD)에서 렌더링 될 수 있다. 일부 사례에서, HMD를 무선 네트워크 연결을 통해 기본 그래픽 생성 장치에 연결하는 것이 바람직할 수도 있다. 그러나 어떤 무선 네트워크 연결은 신뢰성 문제를 겪을 수 있어서, 이는 사용자의 XR 경험이 갑자기 어떤 사전 지시도 없이 중단되게 할 수도 있다. 따라서 XR 시스템을 개선하는 기술을 제공하는 것이 유용할 수 있다.
본 문서는 XR 시스템에서 사용자의 XR 경험이 갑자기 어떤 사전 지시도 없이 중단되지 않도록 하는 전자 장치 및 방법이 제공될 수 있다.
일 실시예에 따르면 전자 장치는 제1 광원 및 제2 광원, 카메라, 하나 이상의 명령어들을 저장하는 메모리, 및 상기 하나 이상의 명령어들을 실행하여, 상기 제1 광원을 조사한 일 실시예에 따르면, 전자 장치에서 깊이 맵의 재-투사 방법은 상기 전자 장치의 XR 디스플레이 와 연관된 외부 전자 장치로부터 수신된 이미지 데이터에 기초하여 제1 시퀀스의 이미지 프레임을 렌더링하는 동작, 상기 외부 전자 장치로부터 수신된 이미지 데이터에 대한 중단을 감지하는 동작, 상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들에 액세스하는 동작, 여기서, 상기 다수의 특징점들은 상기 제1 시퀀스의 이미지 프레임 내에서 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하고, 상기 다수의 특징점 및 시공간적 데이터에 적어도 부분적으로 기초하여 하나 또는 다수의 객체를 적어도 부분적으로 재-렌더링하기 위해 재-와핑을 수행하는 동작, 및 상기 전자 장치의의 하나 또는 다수의 디스플레이에 상기 하나 또는 다수의 객체의 부분적인 재-렌더링에 대응하는 제2 시퀀스의 이미지 프레임을 렌더링하는 동작을 포함할 수 있다.
일 실시예에 따르면, 전자 장치는 트랜시버, 하나 또는 다수의 디스플레이, 명령들을 포함하는 하나 또는 다수의 비-일시적인 컴퓨터 판독 가능한 저장 매체, 및 상기 저장 매체에 결합된 하나 또는 다수의 프로세서를 포함하되, 상기 하나 또는 다수의 프로세서는, 상기 하나 또는 다수의 디스플레이에서, XR 디스플레이와 관련된 외부 전자 장치로부터 수신된 이미지 데이터에 기초하여 제1 시퀀스의 이미지 프레임을 렌더링하고, 상기 외부 전자 장치로부터 수신된 상기 이미지 데이터에 대한 중단을 검출하고, 상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들에 액세스하되, 여기서 상기 다수의 특징점들은 상기 제1 시퀀스의 이미지 프레임 내의 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하고, 상기 다수의 특징점들 및 시공간적 데이터에 적어도 부분적으로 기초하여 상기 하나 또는 다수의 객체를 적어도 부분적으로 재-렌더링하기 위해 재-와핑을 수행하고, 및 상기 하나 또는 다수의 디스플레이에 상기 하나 또는 다수의 객체의 부분적인 재-렌더링에 대응하는 제2 시퀀스의 이미지 프레임을 렌더링하는 명령을 실행하도록 구성될 수 있다.
일 실시예에 따르면, 비-일시적인 컴퓨터 판독 가능한 매체는 전자 장치의 하나 또는 다수의 프로세서에 의해 실행될 때, 상기 하나 또는 다수의 프로세서가, 상기 전자 장치의 하나 또는 다수의 디스플레이에서, XR 디스플레이와 관련된 외부 전자 장치로부터 수신된 이미지 데이터에 기초하여 제1 시퀀스의 이미지 프레임을 렌더링하고, 상기 외부 전자 장치로부터 수신된 상기 이미지 데이터에 대한 중단을 검출하고, 상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들에 액세스하되, 여기서 상기 다수의 특징점들은 상기 제1 시퀀스의 이미지 프레임 내의 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하고, 상기 다수의 특징점들 및 시공간적 데이터에 적어도 부분적으로 기초하여 상기 하나 또는 다수의 객체를 적어도 부분적으로 재-렌더링하기 위해 재-와핑을 수행하고, 및 상기 전자 장치의 하나 또는 다수의 디스플레이에서, 상기 하나 또는 다수의 객체의 부분적인 재-렌더링에 대응하는 제2 시퀀스의 이미지 프레임을 렌더링하도록 할 수 있다.
일 실시예에 따르면, 전자 장치에서 깊이 맵의 재-투사 방법은 제1 시퀀스의 이미지 프레임에 대응하는 이미지 데이터를 생성하는 동작, 상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵에 액세스하는 동작, 파라미터 데이터 감소(PDR)에 적어도 부분적으로 기초하여, 상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들을 결정하되, 여기서 상기 다수의 특징점들은 제1 시퀀스 이미지 프레임 내의 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하는 동작, 및 상기 이미지 데이터 및 다수의 특징점들을 상기 전자 장치의 외부에 있는 확장 현실(XR) 디스플레이 장치로 전송하는 동작을 포함할 수 있다.
일 실시예에 따르면, 전자 장치는 트랜시버, 명령들을 포함하는 하나 또는 다수의 비-일시적인 컴퓨터 판독 가능한 저장 매체, 및 상기 저장 매체에 결합된 하나 또는 다수의 프로세서를 포함하되, 상기 하나 또는 다수의 프로세서는: 제1 시퀀스의 이미지 프레임에 대응하는 이미지 데이터를 생성하고, 상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵에 액세스하고, 파라미터 데이터 감소(PDR)에 적어도 부분적으로 기초하여 상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들을 결정하되, 여기서 상기 다수의 특징점들은 제1 시퀀스의 이미지 프레임 내의 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하고, 및 상기 이미지 데이터 및 다수의 특징점들을 상기 전자 장치 외부에 있는 확장 현실(XR) 디스플레이 장치로 전송하도록 하는 명령을 실행하도록 구성될 수 있다.
일 실시예에 따르면, 비-일시적인 컴퓨터 판독 가능한 매체는 전자 장치의 하나 또는 다수의 프로세서에 의해 실행될 때, 상기 하나 또는 다수의 프로세서가, 제1 시퀀스의 이미지 프레임에 대응하는 이미지 데이터를 생성하고, 상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵에 액세스하고, 파라미터 데이터 감소(PDR)에 적어도 부분적으로 기초하여 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들을 결정하되, 여기서 상기 다수의 특징점들은 제1 시퀀스의 이미지 프레임 내의 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하고, 및 상기 이미지 데이터 및 다수의 특징점들을 상기 전자 장치 외부에 있는 확장 현실(XR) 디스플레이 장치로 전송하도록 하는 명령을 포함할 수 있다.
다양한 실시예에 따르면, XR 환경의 컴퓨팅 시스템에서 사용자의 XR 경험은 갑자기 중단되지 않을 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 확장 현실(XR) 시스템을 도시한다.
도 2a는 일 실시예에 따른 이용 가능한 네트워크 연결을 가지는 확장 현실(XR) 시스템의 상세한 실시 예를 도시한다.
도 2b는 일 실시예에 따른 이용 불가능한 네트워크 연결을 가지는 확장 현실(XR) 장치의 상세한 실시 예를 도시한다.
도 2c는 일 실시예에 따른 이용 불가능한 네트워크 연결을 가지는 확장 현실(XR) 시스템의 또 다른 상세한 실시 예를 도시한다.
도 2d는 일 실시예에 따른 이용 불가능한 네트워크 연결을 가지는 확장 현실(XR) 장치의 또 다른 상세한 실시 예를 도시한다.
도 3은 일 실시예에 따른 사용자 전자 장치에서 깊이 맵(depth map)을 재-투사하기 위한 방법의 흐름도이다.
도 4는 일 실시예에 따른 사용자 전자 장치에서 깊이 맵을 재-투사하기 위한 깊이 맵 특징점을 제공하기 위한 방법의 흐름도이다.
도 5a는 일 실시예에 따른 하나 또는 다수의 현재의 컬러 프레임들을 결정하기 위한 작업 흐름도이다.
도 5b는 일 실시예에 따른 외삽될(extrapolated) 이미지 프레임들의 수를 결정하기 위한 프레임 외삽 다이어그램이다.
도 6a는 일 실시예에 따른 파라미터 데이터 감소(parametric data reduction: PDR) 프로세스를 기반으로 주요 특징점을 선택하기 위한 작업 흐름도이다.
도 6b는 일 실시예에 따른 특징점을 결정 및 감소시키기 위한 작업 흐름도이다.
도 6c는 일 실시예에 따른 주요 특징점 및 깊이 시퀀스 외삽을 결정하기 위한 작업 흐름도이다.
도 7a는 일 실시예에 따른 도출된 프레임에 대해 헤드 포즈 시퀀스를 획득하기 위한 작업 흐름도이다.
도 7b는 일 실시예에 따른 객체들의 3D 포즈를 획득하기 위한 작업 흐름도(700B)이다.
도 7c는 일 실시예에 따른 도출된 이미지 프레임에 대해 객체 포즈 시퀀스를 획득하기 위한 작업 흐름도이다.
도 7d 및 7e는 일 실시예에 따른 객체 포즈 추정을 결정하고 2D 이미지 와핑(warping) 및 재-투사(re-projection)를 수행하기 위한 작업 흐름도들이다.
도 8은 일 실시예에 따른 사용자 전자 장치에서 깊이 맵들을 재-투사하기 위해 사용될 수 있는 예시적인 컴퓨터 시스템을 도시한다.
도면의 설명과 관련하여, 동일 또는 유사한 구성 요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
본 실시 예들은 사용자 전자 장치에서 깊이 맵(depth map)을 재-투사(re-projecting)하는 것에 관한 것이다. 일 실시 예에서, 확장 현실(XR) 전자 장치는 XR 전자 장치의 하나 또는 다수의 디스플레이에서 XR 전자 장치와 연관된 컴퓨팅 플랫폼으로부터 수신된 이미지 데이터에 기초하여 제1 시퀀스의 이미지 프레임을 렌더링(rendering)할 수 있다. 따라서, XR 전자 장치는 XR 디스플레이 장치와 관련된 컴퓨팅 플랫폼으로부터 수신된 이미지 데이터에 대한 중단(interruption)을 검출할 수 있다. 일 실시 예에서, XR 전자 장치 및 컴퓨팅 플랫폼은 무선 연결을 통해 서로 통신 가능하게 연결될 수 있는데, 여기서 상기 중단은 무선 연결 중단일 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들(feature points)에 액세스할 수 있으며, 여기서 특징점들의 수는 제1 시퀀스의 이미지 프레임 내에서의 하나 또는 다수의 객체들(objects)의 움직임(movement) 및 위치(position) 정보를 포함할 수 있다.
일 실시 예에서, 컴퓨팅 플랫폼으로부터 수신된 이미지 데이터에 대한 중단을 검출하기 전에, XR 전자 장치는 컴퓨팅 플랫폼으로부터 제1 시퀀스의 이미지 프레임에 해당하는 특징점의 수를 백그라운드 프로세스를 통해 수신할 수 있다. 일 실시 예에서, XR 전자 장치는 제1 시퀀스의 이미지 프레임에 대응하는 특징점의 수를 XR 전자 장치의 메모리에 저장할 수 있다. 일 실시 예에서, XR 전자 장치는 복수의 특징점들 및 시공간적 데이터에 적어도 부분적으로 기초하여 상기한 하나 또는 다수의 객체를 적어도 부분적으로 재-렌더링하기 위해 재-와핑(re-warping) 프로세스를 수행할 수 있다. 일 실시 예에서, XR 전자 장치는 현재의 헤드 포즈(current head pose) 데이터 및 예측된 헤드 포즈 데이터에 액세스할 수 있으며, 여기서 현재의 헤드 포즈 데이터 및 예측된 헤드 포즈 데이터(predicted head pose data)는 특징점의 수와 연관될 수 있다. 일 실시 예에서, XR 전자 장치는 또한 현재의 객체 포즈 데이터(current object pose data) 및 예측된 객체 포즈 데이터에 액세스할 수 있으며, 여기서 상기 현재의 객체 포즈 데이터 및 상기 예측된(predicted) 객체 포즈 데이터는 상기한 특징점의 수와 연관될 수 있다.
일 실시 예에서, XR 전자 장치는 제1 시퀀스의 이미지 프레임에 대응하는 하나 또는 다수의 현재의 컬러 프레임을 결정하고, 상기 하나 또는 다수의 현재의 컬러 프레임에 기초하여, 상기 제1 시퀀스의 이미지 프레임에 대응하는 하나 또는 다수의 업데이트 된 컬러 프레임을 생성함으로써, 재-와핑 프로세스를 수행할 수 있다. 일 실시 예에서, XR 전자 장치는 XR 전자 장치의 하나 또는 다수의 디스플레이에서 하나 또는 다수의 객체의 부분적인 재-렌더링에 대응하는 제2 시퀀스의 이미지 프레임을 렌더링할 수 있다. 이러한 방식으로, 무선 네트워크 연결이 일시적으로 이용 불가능하게 되면, 제2 시퀀스의 이미지 프레임은 그 후의 미리 결정된 시간 주기 동안 또는 컴퓨팅 플랫폼으로부터 제2 이미지 데이터가 다시 수신될 때까지, 렌더링될 수 있다. 따라서 사용자의 XR 경험이 갑자기 중단되지 않을 수 있으며, 네트워크를 사용할 수 없는 경우에도 렌더링을 점진적으로 적절하게 중단할 수 있다.
또한 본 실시 예는 사용자 전자 장치에서 깊이 맵을 재-투사하기 위한 깊이 맵 특징점을 제공하는 것에 관한 것이다. 일 실시 예에서, 컴퓨팅 플랫폼은 제1 시퀀스의 이미지 프레임에 대응하는 이미지 데이터를 생성할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 또한 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵에 액세스할 수 있다. 일 실시 예에서, 상기 깊이 맵은 제1 시퀀스의 이미지 프레임 중의 하나 또는 다수의 가장 최근 이미지 프레임에 대한 깊이 정보를 포함할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 파라미터 데이터 감소(parametric data reduction: PDR) 프로세스에 적어도 부분적으로 기초하여 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점을 결정할 수 있으며, 여기서 특징점의 수는 제1 시퀀스의 이미지 프레임 내에서 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함한다.
일 실시 예에서, 컴퓨팅 플랫폼은 깊이 맵에 포함된 전체 특징점 세트의 특징점 서브 세트를 선택함으로써 깊이 맵으로부터 특징점의 수를 결정할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 또한 미리 결정된 시야 영역(viewing area) 내의 복수의 특징점을 결정함으로써 깊이 맵으로부터 특징점의 수를 결정할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 미리 정의된 중심와(fovea) 디스플레이 영역 내의 다수의 특징점을 결정함으로써 미리 결정된 시야 영역 내의 특징점의 수를 결정할 수 있다. 일 실시 예에서, 상기 미리 정의된 중심와 디스플레이 영역 내의 특징점의 수는 최근접 보간법(nearest-neighbor interpolation)에 적어도 부분적으로 기초한 특징점의 그룹을 포함할 수 있다. 일 실시 예에서, 특징점의 그룹화는 깊이 계산에 적어도 부분적으로 기초하여 그룹화된 특징점의 서브그룹을 포함할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 제1 시퀀스의 이미지 프레임 내의 하나 또는 다수의 객체에 대응하는 픽셀 영역을 결정하고 상기 하나 또는 다수의 객체에 대응하는 픽셀 영역을 N 개의 픽셀 서브영역들로 분할함으로써 특징점의 수를 결정할 수 있다.
일 실시 예에서, 컴퓨팅 플랫폼은 N 개의 픽셀 서브영역으로부터 다수의 특징점을 추출할 수 있으며, 여기서 각각의 특징점은 신뢰 임계 값(confidence threshold)에 기초하여 N 개의 픽셀 서브영역들 중 각각의 하나로부터 추출될 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 복수의 특징점 각각에 대하여 위치 및 광학적 흐름(optical flow)을 결정할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 이어서 이미지 데이터 및 특징점의 수를 전자 장치의 외부에 있는 XR 전자 장치로 전송할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼 및 XR 디스플레이 장치는 무선 연결을 통해 서로 통신 가능하게 연결될 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 현재의 헤드 포즈 데이터 및 예측된 헤드 포즈 데이터를 또한 XR 전자 장치에 제공할 수 있으며, 여기서 현재의 헤드 포즈 데이터 및 예측된 헤드 포즈 데이터는 특징점의 수와 연관될 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 또한 현재의 객체 포즈 데이터 및 예측된 객체 포즈 데이터를 XR 전자 장치에 제공할 수 있다. 여기서 현재의 객체 포즈 데이터 및 예측된 객체 포즈 데이터는 특징점의 수와 연관될 수 있다. 이러한 방식으로, 무선 네트워크 연결이 일시적으로 이용 불가능하게 되면, 제2 시퀀스의 이미지 프레임은 그 후의 미리 결정된 시간 주기 동안 또는 컴퓨팅 플랫폼으로부터 제2 이미지 데이터가 다시 수신될 때까지 렌더링될 수 있다. 따라서 사용자의 XR 경험은 갑자기 중단되지 않을 수 있으며, 그 대신 네트워크를 이용할 수 없는 경우에도 렌더링을 점진적으로 적절하게 중단할 수도 있다.
본 명세서에 사용된 바와 같이, "확장 현실(extended reality)"은 사용자에게 제공하기 전에 어떤 방식으로든 조작된 전자-기반 현실의 형태를 의미할 수 있는바, 예를 들어, 가상현실(virtual reality: VR), 증강현실(augmented reality: AR), 혼합 현실(mixed reality: MR), 하이브리드 현실(hybrid reality), 시뮬레이션 현실(simulated reality), 몰입형 현실(immersive reality), 홀로그래피(holography) 또는 이들의 조합을 포함한다. 예를 들어, "확장 현실" 콘텐츠는 완전히 컴퓨터로 생성된 콘텐츠 또는 캡처 된 콘텐츠(예를 들어, 실제의 이미지)와 결합된 부분적으로 컴퓨터로 생성된 콘텐츠를 포함할 수도 있다. 어떤 실시 예에서, "확장 현실" 콘텐츠는 또한 비디오, 오디오, 햅틱(haptic) 피드백 또는 이들의 어떤 조합을 포함할 수도 있으며, 이들 중 어떤 것은 단일 채널 또는 다중 채널(예컨대, 보는 사람에게 3차원(3D) 효과를 생성하는 스테레오비디오와 같은)로 제공될 수 있다. 또한, 본 명세서에서 사용되는 바와 같이, "확장 현실"은, 예를 들어, 확장 현실로서 콘텐츠를 생성하고/하거나 확장 현실에서 활용되는(예컨대, 활동을 수행하는) 애플리케이션, 제품, 액세서리, 서비스 또는 이들의 조합과 연관될 수 있음을 이해해야 할 것이다. 따라서 "확장 현실" 콘텐츠는 호스트컴퓨터 시스템에 연결된 헤드 마운트 장치(HMD), 독립형 HMD, 모바일 장치 또는 컴퓨팅 시스템, 또는 하나 또는 다수의 보는 사람들에게 확장 현실 콘텐츠를 제공할 수 있는 임의의 다른 하드웨어 플랫폼을 포함하는 다양한 플랫폼 상에서 구현될 수 있다.
도 1은 일 실시예에 따른 확장 현실(XR) 시스템(100)을 도시한다. 일 실시 예에서, XR 시스템(100)은 XR 전자 장치(102), 입력 장치(104) 및 컴퓨팅 플랫폼(106)을 포함할 수 있다. 일 실시 예에서, 사용자는 시각적 확장 현실 콘텐츠를 사용자에게 표시할 수 있는 XR 전자 장치(102)를 착용할 수 있다. XR 전자 장치(102)는 오디오 확장 현실 콘텐츠를 사용자에게 제공할 수 있는 오디오 장치를 포함할 수 있다. 일 실시 예에서, XR 전자 장치(102)는 환경의 이미지 및 비디오를 캡처할 수 있는 하나 또는 다수의 카메라를 포함할 수 있다. XR 전자 장치(102)는 사용자의 이향 운동(vergence) 거리를 결정하기 위한 눈 추적(eye tracking) 시스템을 포함할 수 있다. 어떤 실시 예에서, XR 전자 장치(102)는 헤드-장착형 디스플레이(HDM)를 포함할 수 있다. 입력 장치(104)는, 예를 들어, 트랙 패드 및 하나 또는 다수의 버튼을 포함할 수도 있다. 입력 장치(104)는 사용자로부터 입력을 수신하고 그 입력을 컴퓨팅 플랫폼(106) 및/또는 XR 전자 장치(102)로 중계할 수 있다. 일 실시 예에서, XR 전자 장치(102)는 하나 또는 다수의 무선 네트워크들(108)을 통해 컴퓨팅 플랫폼(106)에 연결될 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼(106)은, 예를 들어, 독립형 호스트 컴퓨팅 시스템, XR 전자 장치(102)와 통합된 탑재형 컴퓨터 시스템, 모바일 장치, 또는 확장 현실 콘텐츠를 제공하고 입력 장치(104)로부터 입력을 수신할 수 있는 임의의 다른 하드웨어 플랫폼을 포함할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼(106)은, 예를 들어, XR 전자 장치(102)에서 실행되는 XR 애플리케이션 또는 경험을 서비스하고 호스팅하기에 적합한 클라우드 기반 컴퓨팅 아키텍처(하나 또는 다수의 서버(110) 및 데이터 저장 장치(112) 포함함)를 포함할 수 있다. 예를 들어, 일 실시 예에서, 컴퓨팅 플랫폼(106)은 서비스형 플랫폼(Platform as a Service: PaaS) 아키텍처, 서비스형 소프트웨어(Software as a Service: SaaS) 아키텍처, 서비스형 인프라(Infrastructure as a Service: IaaS) 또는 기타 유사한 클라우드 기반 컴퓨팅 아키텍처를 포함할 수 있다.
도 2a는 일 실시예에 따른, 3D 재-투사 와핑 프로세스(re-projection warping process)를 수행하기 위한 확장 현실(XR) 시스템(200A)을 도시한다. 도시된 바와 같이, 무선 네트워크 연결이 이용 가능하지만, 컴퓨팅 플랫폼(106A)은 헤드 포즈 추적 기능 블록(202A), 렌더링 엔진(204A), 3D 재-투사 와핑 기능 블록(206A), 주요 특징점(key feature point) 및 깊이 추출 기능 블록(208A), 헤드 포즈 기능 블록(210A) 및 객체 포즈 예측 기능 블록(212A)을 포함할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼(106)은 렌더링 엔진(204A)을 통해 제1 시퀀스의 이미지 프레임에 대응하는 이미지 데이터를 생성할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼(106A)은 또한 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵에 액세스할 수 있다. 일 실시 예에서, 깊이 맵은 제1 시퀀스의 이미지 프레임 중 하나 또는 다수의 가장 최근의 이미지 프레임에 대한 깊이 정보를 포함할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼(106A)은 또한 주요 특징점 및 깊이 추출 기능 블록(208A)에 의해, PDR 프로세스에 기초하여 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점을 결정할 수 있다. 일 실시 예에서, 특징점들의 수는 제1 시퀀스의 이미지 프레임 내의 하나 또는 다수의 객체의 움직임 및 위치 정보(예를 들어, 헤드 포즈 기능 블록(210A)에 의해 계산된 헤드 포즈 데이터 및 헤드 포즈 예측 데이터, 객체 포즈 예측 기능 블록(212A)에 의해 계산된 객체 포즈 데이터 및 객체 포즈 예측 데이터)를 포함할 수 있다.
일 실시 예에서, 도 2a에 도시된 바와 같이, 컴퓨팅 플랫폼(106A)은 이미지 데이터 및 다수의 특징점을 XR 전자 장치(102A)로 전송할 수 있다. 일 실시 예에서, XR 전자 장치(102A)는 저장 기능 블록(214A), 최근 관성 측정 유닛(latest inertial measurement unit: IMU) 기능 블록(216), 최근 IMU 기능 블록(218), 3D 재-투사 와핑 기능 블록(220A), 데이터 저장 장치(222), 및 최종 재-투사 및 디스플레이 기능 블록(224A)을 포함할 수 있다. 일례로서, 최근 IMU 기능 블록(216)은 헤드 포즈 데이터 및/또는 객체 포즈 데이터가 저장 기능 블록(214A)에서 저장되거나 계산될 때 캡처 된 IMU 데이터를 포함할 수 있어서, 헤드 포즈 데이터 및/또는 객체 포즈 데이터가 최근 IMU 기능 블록(216)으로부터의 IMU 데이터에 기초하여 암시될 수 있다. 일 예로서, 최근 IMU 기능 블록(218)은 제1 시퀀스의 이미지 프레임가 렌더링을 위해 최종 재-투사 및 디스플레이 기능 블록(224A)에 의해 제공되기 전에(예를 들어, 네트워크 연결이 여전히 이용 가능할 때), 재계산(예컨대, 업데이트)될 수 있는 실시간 또는 거의 실시간의 IMU 데이터를 포함할 수 있다. 저장 기능 블록(214A)은 컴퓨팅 플랫폼(106A)으로부터의 제1 시퀀스의 이미지 프레임에 대응하는 특징점의 수를 백그라운드 프로세스로서 수신하고 저장하는 데 사용될 수 있다. 일 실시 예에서, XR 전자 장치(102A)는 또한 컴퓨팅 플랫폼(106A)으로부터 현재의 헤드 포즈 데이터 및 예측된 헤드 포즈 데이터를 수신할 수 있다. 일 실시 예에서, XR 전자 장치(106A)는 또한 컴퓨팅 플랫폼(106A)으로부터 현재의 객체 포즈 데이터 및 예측된 객체 포즈 데이터를 수신할 수 있다. 예를 들어, 일 실시 예에서, 현재의 헤드 포즈 데이터, 예측된 헤드 포즈 데이터, 현재의 객체 포즈 데이터 및 예측된 객체 포즈 데이터는 컴퓨팅 플랫폼(106A)으로부터 수신된 특징점의 수와 시공간적(spatiotemporally)으로 연관될 수 있다. 일 실시 예에서, 무선 네트워크 연결이 이용 가능한 동안, XR 전자 장치(102A)는 따라서 XR 디스플레이 장치(102A)의 하나 또는 다수의 디스플레이에서 최종 재-투사 및 디스플레이 기능 블록(224A)에 의해 제1 시퀀스의 이미지 프레임을 렌더링할 수 있다. 예를 들어, 3D 재-투사 와핑 기능 블록(206A)은 제1 시퀀스의 이미지 프레임(예컨대, 3D 이미지)을 최근 IMU 기능 블록(218)에 제공하여, 예를 들어, 제1 시퀀스의 이미지 프레임을 최신 사용자 헤드 포즈 데이터 및 객체 포즈 데이터와 연관시키고, XR 디스플레이 장치(102A)의 하나 또는 다수의 디스플레이에 제1 시퀀스의 이미지 프레임을 재-투사 및 디스플레이할 수도 있다. 일 실시 예에서, 무선 네트워크 연결은 어떤 경우에는 일시적으로 이용 불가능해질 수 있으며, 따라서 제1 시퀀스의 이미지 프레임은 컴퓨팅 플랫폼(106A)에서 XR 디스플레이 장치(102A)로 전송되는 것이 중단될 수도 있다.
도 2b는 일 실시예에 따른, 네트워크 연결이 사용 불가능하게 될 경우, 3D 재-투사 와핑 프로세스를 수행하기 위한 사용 불가능한 네트워크 연결을 가지는 확장 현실(XR) 장치의 예를 도시한다. 일 실시 예에서, 무선 네트워크 연결이 일시적으로 사용할 수 없게 되면(예컨대, 컴퓨팅 플랫폼(106A)에서 XR 전자 장치(102A)로 더 이상은 전송되지 않는 제1 시퀀스의 이미지 프레임에 해당하는), XR 전자 장치(102A)는 제1 시퀀스의 이미지 프레임에 해당하는 깊이 맵으로부터의 특징점 수에 액세스할 수 있다. 예를 들어, 컴퓨팅 플랫폼(106A)으로부터 수신된 이미지 데이터에 대하여 중단을 검출하기에 앞서, XR 전자 장치(102A)는 제1 시퀀스의 이미지 프레임에 대응하는 특징점의 수를 수신하고 저장할 수 있다. 일 실시 예에서, 특징점은 헤드 포즈 시퀀스 기능 블록(226A), 기준 프레임 색 깊이 기능 블록(228A), 객체 주요 특징점 및 깊이 시퀀스 외삽 기능 블록(230A), 및 객체 포즈 시퀀스 외삽 기능 블록(232A)을 경유하여 추가로 처리되고 큐레이팅 될(curated) 수 있다. 일 실시 예에서, XR 전자 장치(102A)는 특징점의 수에 기초하여, 3D 재-투사 와핑 기능 블록(220A)에 의한 3D 재-와핑(re-warping) 프로세스를 수행하고, 이로써 움직임 및 위치 정보(예컨대, 기능 블록(214A)에 저장된 헤드 포즈 데이터, 헤드 포즈 예측 데이터, 객체 포즈 데이터 및 객체 포즈 예측 데이터, 및 최근 IMU 기능 블록(218)에 의해 제공되는 것과 같은 최신 사용자 IMU 데이터)에 따라 제1 시퀀스의 이미지 프레임에 포함된 하나 또는 다수의 객체의 적어도 부분적인 재-렌더링을 최종 재-투사 및 디스플레이 기능 블록(224A)에 의해 수행할 수 있다. 예를 들어, 3D 재-투사 와핑 기능 블록(220A)은 제1 시퀀스의 이미지 프레임에 포함된 하나 또는 다수의 객체의 적어도 부분적인 재-렌더링으로 특징점의 수를 활용하여 이미지 재-투사 와핑(예컨대, 특징점의 수를 3D 객체 또는 2.5D 객체로 변환함)을 수행할 수도 있다(예컨대, 최신 사용자 헤드 포즈 데이터 및 객체 포즈 데이터와 함께). 이러한 방식으로, 무선 네트워크 연결이 일시적으로 사용할 수 없게 되면, 그 후 미리 결정된 시간 주기 동안 또는 컴퓨팅 플랫폼으로부터 제2 이미지 데이터가 다시 수신될 때까지 제2 시퀀스의 이미지 프레임이 렌더링 될 수 있다. 따라서 사용자의 XR 경험이 갑자기 중단되지 않을 수 있으며, 대신에 네트워크를 사용할 수 없는 경우에도 렌더링을 점진적으로 적절하게 중단할 수 있다.
도 2c는 일 실시예에 따른, 2D 재-투사 와핑 프로세스를 수행하기 위한 확장 현실(XR) 시스템(200C)의 예를 도시한다. XR 시스템(200C)는 XR 전자 장치(102B)가 2D 재-와핑 기능(236A)을 통해 2D 재-와핑을 수행하고 왜곡 보정 기능 블록(238A)을 통해 이미지 왜곡 보정을 수행할 수 있다는 점에서 XR 시스템(200A)과 다를 수 있다. 도시된 바와 같이, 컴퓨팅 플랫폼(106B)은 헤드 포즈 추적 기능 블록(202B), 렌더링 엔진(204B), 주요 특징점 및 깊이 추출 기능 블록(208B), 헤드 포즈 기능 블록(210B), 객체 포즈 추정 기능 블록(234) 및 객체 포즈 예측 기능 블록(212B)을 포함할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼(106B)은 렌더링 엔진(204B)을 통해 제1 시퀀스의 이미지 프레임에 대응하는 이미지 데이터(예를 들어, 컬러 프레임)를 생성할 수 있다. 렌더링 엔진(204B)은 또한 이미지 데이터(예를 들어, 컬러 프레임)를 주요 특징점 및 깊이 추출 기능 블록(208B)에 제공할 수 있다. 주요 특징점 및 깊이 추출 기능 블록(208B)은 이어서 주요 특징점 및 깊이 추출 데이터를 객체 포즈 추정 기능 블록(234)에 제공할 수 있다. 객체 포즈 추정 기능 블록(234)은 주요 특징점 및 깊이 추출 데이터로부터 객체 포즈를 추정하기 위해 제공될 수 있다. 이어서, 객체 포즈 예측 기능 블록(212B)은 추정된 객체 포즈를 수신하고 그에 기초하여 객체 포즈 예측 데이터를 생성할 수 있다.
추가로 도시된 바와 같이, 무선 네트워크 연결이 이용 가능할 때, 컴퓨팅 플랫폼(106B)은 XR 전자 장치(102B)의 객체 주요 특징점 및 깊이 맵 데이터 저장 기능 블록(214C)에 특징점의 수 및 객체 포즈 예측 데이터를 저장할 수 있다. 마찬가지로, 컴퓨팅 플랫폼(106B)은 XR 전자 장치(102B)의 저장 기능 블록(214B)에 헤드 포즈 데이터 및 헤드 포즈 예측 데이터를 저장할 수 있다. 추가로 도시된 바와 같이, 무선 네트워크 연결이 이용 가능한 상태로 유지되는 동안, 렌더링 엔진(204B)으로부터의 이미지 데이터(예를 들어, 컬러 프레임)뿐만 아니라 특징점의 수 및 헤드 포즈 예측 데이터 및 객체 포즈 예측 데이터는 모두 3D 재-투사 와핑 기능 블록(220B)에 제공될 수 있다. 일 실시 예에서, 3D 재-투사 와핑 기능 블록(220B)은 출력 렌더링 데이터를 2D 와핑 기능 블록(236A)에 제공할 수 있다. 출력 렌더링 데이터의 2D 와핑 및 왜곡 보정(238A)(예를 들어, 컬러 왜곡 보정)에 후속하여, 제1 시퀀스의 이미지 프레임에 대응하는 컬러 프레임이 렌더링되기 위해 디스플레이(224B)에 제공되어 사용자에게 보여질 수 있다.
도 2d는 일 실시예에 따른, 이용 불가능한 네트워크 연결을 가지는 2D 재-투사 와핑 프로세스를 수행하기 위한 확장 현실(XR) 시스템(200D)의 예를 도시한다. 예를 들어, 무선 네트워크 연결이 사용 불가능하게 될 때, XR 전자 장치(102B)는 헤드 포즈 외삽 기능 블록(226B)으로부터 헤드 포즈 시퀀스 데이터를 수신할 수 있고, 참조(reference) 프레임 컬러 및 깊이 기능 블록(228B)으로부터 참조 프레임 컬러 및 깊이 데이터를, 주요 특징점 및 깊이 기능 블록(230B)으로부터 주요 특징점 및 깊이 시퀀스 데이터를, 그리고 객체 포즈 외삽 기능 블록(232B)으로부터 객체 포즈 시퀀스 데이터를 수신할 수 있다. 일 실시 예에 따르면, 무선 네트워크 연결을 이용 불가하게 유지되는 동안, 헤드 포즈 시퀀스 데이터, 참조 프레임 컬러 및 깊이 데이터, 주요 특징점 및 깊이 시퀀스 데이터, 객체 포즈 시퀀스 데이터는 모두 3D 재-투사 와핑 기능 블록(220B)에 제공될 수 있다. 일 실시 예에서, 다음으로, 3D 재-투사 와핑 기능 블록(220B)는 출력 렌더링 데이터를 2D 와핑 기능 블록(236B)에 제공할 수 있다. 출력 렌더링 데이터의 2D 와핑 및 왜곡 보정(238)(예를 들어, 컬러 왜곡 보정)에 후속하여, 제2 시퀀스의 이미지 프레임에 대응하는 컬러 프레임이 렌더링을 위해 디스플레이(224B)에 제공되어 디스플레이(224B)를 통해 사용자에게 보여질 수 있다. 이러한 방식으로, 무선 네트워크 연결이 일시적으로 사용할 수 없게 되면, 그 후 미리 결정된 시간 주기 동안 또는 컴퓨팅 플랫폼으로부터 제2 이미지 데이터가 다시 수신될 때까지 제2 시퀀스의 이미지 프레임이 렌더링될 수 있다. 따라서 사용자의 XR 경험이 갑자기 중단되지 않을 수 있으며, 대신에 네트워크를 사용할 수 없는 경우에 렌더링을 점진적으로 적절하게 중단할 수 있다.
도 3은 사용자 전자 장치에 깊이 맵을 재-투사하기 위한 방법(300)의 흐름도이다. 상기 방법(300)은 하드웨어(예를 들어, 범용 프로세서, 그래픽 처리 장치(GPU), 주문형 집적 회로(ASIC), 시스템-온-칩(SoC), 마이크로컨트롤러, 필드-프로그램어블 게이트 어레이(Field-Programmable Gate Array: FPGA), 중앙 처리 장치(CPU), 애플리케이션 프로세서(AP), 시각 처리 장치(visual processing unit: VPU), 신경 처리 장치(neural processing unit: NPU), 신경 결정 프로세서(neural decision processor: NDP) 또는 이미지 데이터 처리에 적합할 수 있는 임의의 다른 처리 장치(들)), 소프트웨어(예컨대, 하나 또는 다수의 프로세서에서 작동/실행하는 명령들), 펌웨어(예컨대, 마이크로코드), 또는 이들의 어떤 조합을 포함할 수 있는, 하나 또는 다수의 처리 장치(예를 들어, XR 전자 장치(102))를 활용하여 수행될 수 있다.
상기 방법(300)은 블록(302)에서 하나 또는 다수의 처리 장치(예컨대, XR 전자 장치(102))가, XR 전자 장치의 하나 또는 다수의 디스플레이에서, 상기 XR 전자 장치와 연관된 외부 전자 장치로부터 수신된 이미지 데이터에 기초하여 제1 시퀀스의 이미지 프레임의 렌더링을 시작할 수 있다. 상기 방법(300)은 이어서 블록(304)에서 하나 또는 다수의 처리 장치(예를 들어, XR 전자 장치(102))가 XR 디스플레이 장치와 연관된 외부 전자 장치로부터 수신된 이미지 데이터에 대해 중단(interruption)을 검출하는 것으로 계속될 수 있다. 일 실시 예에서, XR 전자 장치와 외부 전자 장치는 무선 연결을 통해 서로 통신 가능하게 연결될 수 있으며, 여기서 중단은 무선 연결에 대한 중단이다. 상기 방법(300)은 이어서 블록(306)에서 하나 또는 다수의 처리 장치(예를 들어, XR 전자 장치(102))가 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점에 액세스하는 것을 계속할 수 있으며, 여기서 그 특징점의 개수는 제1 시퀀스의 이미지 프레임 내에서의 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함한다.
일 실시 예에서, 외부 전자 장치로부터 수신한 이미지 데이터에 대해 중단을 검출하기 전에, XR 전자 장치는 백그라운드 과정으로서 외부 전자 장치로부터 제1 시퀀스의 이미지 프레임에 해당하는 특징점의 수를 수신할 수 있다. 일 실시 예에서, XR 전자 장치는 이어서 제1 시퀀스의 이미지 프레임에 대응하는 특징점의 수를 XR 전자 장치의 메모리에 저장할 수 있다. 상기 방법(300)은 이어서 블록(308)에서 하나 또는 다수의 처리 장치(예를 들어, XR 전자 장치(102))가 다수의 특징점과 시공간적 데이터에 적어도 부분적으로 기초하여 하나 또는 다수의 객체를 적어도 부분적으로 재-렌더링하는 재-와핑 동작을 수행하는 것을 계속할 수 있다. 일 실시 예에서, XR 전자 장치는 현재의 헤드 포즈 데이터 및 예측된 헤드 포즈 데이터에 액세스할 수 있으며, 여기서 상기한 현재의 헤드 포즈 데이터 및 예측된 헤드 포즈 데이터는 특징점의 수와 연관될 수 있다. 일 실시 예에서, XR 전자 장치는 또한 현재의 객체 포즈 데이터 및 예측된 객체 포즈 데이터에 액세스할 수 있으며, 여기서 상기한 현재의 객체 포즈 데이터 및 예측된 객체 포즈 데이터는 특징점의 수와 연관될 수 있다.
일 실시 예에서, XR 전자 장치는 제1 시퀀스의 이미지 프레임에 대응하는 하나 또는 다수의 현재의 컬러 프레임을 결정하고, 하나 또는 다수의 현재의 컬러 프레임에 기초하여, 제1 시퀀스의 이미지 프레임에 해당하는 하나 또는 다수의 업데이트 된 컬러 프레임을 생성함으로써, 재-와핑 프로세스를 수행할 수 있다. 이어서, 상기 방법(300)은 블록(310)에서 하나 또는 다수의 처리 장치(예를 들어, XR 전자 장치(102))가, XR 전자 장치의 하나 또는 다수의 디스플레이에서, 하나 또는 다수의 객체들의 부분적 재-렌더링에 해당하는 제2 시퀀스의 이미지 프레임을 렌더링하는 것으로 종결할 수도 있다. 이러한 방식으로, 무선 네트워크 연결이 일시적으로 이용 불가능하게 되면, 제2 시퀀스의 이미지 프레임은 그 후 미리 결정된 시간 주기 동안 또는 컴퓨팅 플랫폼으로부터 제2 이미지 데이터가 다시 수신될 때까지 렌더링될 수 있다. 따라서 사용자의 XR 경험이 갑자기 중단되지 않을 수 있으며, 대신에 네트워크를 사용할 수 없는 경우에도 렌더링을 점진적으로 적절하게 중단할 수 있다.
도 4는 일 실시예에 따른 사용자 전자 장치에서 깊이 맵을 재-투사하기 위한 깊이 맵 특징점들을 제공하기 위한 방법(400)의 흐름도이다. 상기 방법(400)은 하드웨어(예를 들어, 범용 프로세서, 그래픽 처리 장치(GPU), 주문형 집적 회로(ASIC), 시스템-온-칩(SoC), 마이크로컨트롤러, 필드-프로그램 가능형 게이트 어레이(Field-Programmable Gate Array: FPGA), 중앙 처리 장치(CPU), 애플리케이션 프로세서(AP), 시각적 처리 장치(VPU), 신경 처리 장치(neural processing unit: NPU), 신경 결정 프로세서(neural decision processor: NDP) 또는 이미지 데이터 처리에 적합할 수 있는 기타 처리 장치), 소프트웨어(예컨대, 하나 또는 다수의 프로세서에서 작동/실행하는 명령들), 펌웨어(예컨대, 마이크로 코드), 또는 이들의 어떤 조합을 포함할 수 있는 하나 또는 다수의 처리 장치(예를 들어, 컴퓨팅 플랫폼(106))를 이용하여 수행될 수 있다.
상기 방법(400)은 블록(402)에서 하나 또는 다수의 처리 장치(예를 들어, 컴퓨팅 플랫폼(106))가 제1 시퀀스의 이미지 프레임에 대응하는 이미지 데이터를 생성하는 것으로 시작할 수 있다. 이어서, 상기 방법(400)은 블록(404)에서 하나 또는 다수의 처리 장치(예를 들어, 컴퓨팅 플랫폼(106))가 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵에 액세스하는 것으로써 계속될 수 있다. 일 실시 예에서, 깊이 맵은 제1 시퀀스의 이미지 프레임 중 하나 또는 다수의 가장 최근 이미지 프레임에 대한 깊이 정보를 포함할 수 있다. 그 다음에, 상기 방법(400)은 블록(406)에서 하나 또는 다수의 처리 장치(예를 들어, 컴퓨팅 플랫폼(106))가 파라미터 데이터 감소(PDR) 프로세스에 적어도 부분적으로 기초하여 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점을 결정하는 것으로 계속될 수 있는데, 여기서 특징점의 수는 제1 시퀀스의 이미지 프레임 내에서 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함한다.
일 실시 예에서, 컴퓨팅 플랫폼(computing platform)은 깊이 맵에 포함된 전체 특징점 세트 중의 하나의 특징점 서브 세트를 선택함으로써 깊이 맵으로부터 특징점의 수를 결정할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 또한 미리 결정된 시야 영역(viewing area) 내에서의 다수의 특징점들을 결정함으로써 깊이 맵으로부터 특징점의 수를 결정할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 미리 정의된 중심와(fovea) 디스플레이 영역 내의 다수의 특징점을 결정함으로써 미리 결정된 시야 영역 내에서의 특징점의 수를 결정할 수 있다. 일 실시 예에서, 상기 미리 정의된 중심와 디스플레이 영역 내의 특징점의 수는 최근접 보간법(nearest-neighbor interpolation)에 적어도 부분적으로 기초한 특징점들의 그룹화(grouping)를 포함할 수 있다. 일 실시 예에서, 특징점들의 그룹화는 깊이 계산에 적어도 부분적으로 기초하여 그룹화된 특징점의 서브 그룹화(subgrouping)를 포함할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 제1 시퀀스의 이미지 프레임 내의 하나 또는 다수의 객체에 대응하는 픽셀 영역을 결정하고, 상기 하나 또는 다수의 객체에 대응하는 픽셀 영역을 N 개의 픽셀 서브영역들로 분할함으로써 특징점의 수를 결정할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 이어서 N 개의 픽셀 서브영역으로부터 다수의 특징점을 추출할 수 있으며, 여기서 특징점의 개수 각각은 신뢰 임계 값(confidence threshold)에 기초하여 N 개의 픽셀 서브영역들의 각각으로부터 추출된다. 일 실시 예에서, 컴퓨팅 플랫폼은 다수의 특징점들 각각에 대하여 위치 및 광학 흐름을 결정할 수 있다.
그 다음, 상기 방법(400)은 블록(408)에서 하나 또는 다수의 처리 장치(예를 들어, 컴퓨팅 플랫폼(106))가 이미지 데이터 및 특징점의 수를 전자 장치의 외부에있는 XR 전자 장치로 전송하는 것으로 종료할 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼 및 XR 디스플레이 장치는 무선 연결을 통해 서로 통신 가능하게 연결될 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 또한 현재의 헤드 포즈 데이터 및 예측된 헤드 포즈 데이터를 XR 전자 장치에 제공할 수 있으며, 여기서 현재의 헤드 포즈 데이터 및 예측된 헤드 포즈 데이터는 특징점의 수와 연관될 수 있다. 일 실시 예에서, 컴퓨팅 플랫폼은 또한 현재의 객체 포즈 데이터 및 예측된 객체 포즈 데이터를 XR 전자 장치에 제공하며, 여기서 현재의 객체 포즈 데이터 및 예측된 객체 포즈 데이터는 특징점의 수와 연관된다. 이러한 방식으로, 무선 네트워크 연결이 일시적으로 이용 불가능하게 되면, 제2 시퀀스의 이미지 프레임은 그 후 미리 결정된 시간 주기 동안 또는 컴퓨팅 플랫폼으로부터 제2 이미지 데이터가 다시 수신될 때까지 렌더링 될 수 있다. 따라서 사용자의 XR 경험이 갑자기 중단되지 않을 수 있으며, 네트워크를 사용할 수 없는 경우에도 렌더링을 점차로 적절하게 중단할 수 있다.
도 5a는 일 실시예에 따른 하나 또는 다수의 현재의 컬러 프레임들을 결정하기 위한 작업 흐름도(500A)이고, 도 5b는 일 실시예에 따른 외삽될(extrapolated) 이미지 프레임들의 수를 결정하기 위한 프레임 외삽 다이어그램(500B)이다. 일 실시 예에서, 작업 흐름도(500A)는, 예를 들어, XR 전자 장치(102)에 의해 수행될 수 있다. 도시된 바와 같이, 작업 흐름도(500A)는 블록 502에서 XR 전자 장치(102)가 예측된 헤드 포즈 및 물체 포즈를 획득하는 것을 시작할 수 있다. 예를 들어, 일 실시 예에서, XR 전자 장치(102)는 컴퓨팅 플랫폼(106)으로부터 수신된 특징점의 수와 연관될 수 있는 현재의 헤드 포즈 데이터, 예측된 헤드 포즈 데이터, 현재의 객체 포즈 데이터 및 예측된 객체 포즈 데이터에 액세스할 수 있다. 일 실시 예에서, 작업 흐름도(500A)는 블록(504)에서 XR 전자 장치(102)가 현재의 컬러 이미지 프레임을 재-투사하는 것으로써 계속될 수 있다. 일례로서, 일 실시 예에서, 현재의 컬러 이미지 프레임의 재-투사는, 아래에 설명된 바와 같이, 벡터 u2 및 v2로 표현될 수 있다.
Figure pat00001
Figure pat00002
일 실시 예에서, 작업 흐름도(500A)는 블록(506)에서 XR 전자 장치(102)가 업데이트 된 컬러 이미지 프레임을 획득하는 것으로 종결될 수 있다. 예를 들어, 일 실시 예들에서, XR 전자 장치(102)는, 예컨대, 3D 재-투사 와핑 기능 블록(220)(예를 들어, 3D 재-투사 와핑 프로세스)에 의해 현재 프레임을 업데이트 하여 새로운 컬러 프레임을 생성할 수 있으며, 이것은 예컨대, 헤드 포즈 및/또는 객체 포즈 또는 그에 관한 변경들 사이의 하나 또는 다수의 지연 동안 활용될 수 있다. 일 실시 예에서, 상기한 새로운 컬러 프레임은, 예를 들어, 2D 회전(rotation) 및 변형(또는 변환)(translation)에 기초한 헤드 포즈 및/또는 물체 포즈에 관한 변경과 상관될 수 있다.
일 실시 예에서, 무선 네트워크가 일시적으로 이용 불가능하게 될 때, XR 전자 장치(102)는 3D 재-투사 와핑 기능 블록(220)(예컨대, 3D 재-투사 와핑 프로세스)을 이용하여, 예를 들어, 제1 시퀀스의 이미지 프레임에 대응하고 컴퓨팅 플랫폼(106)으로부터 수신된 특징점의 수, 및 컴퓨팅 플랫폼(106)으로부터 수신된 특징점의 수와 연관될 수 있는 현재의 헤드 포즈 데이터, 예측된 헤드 포즈 데이터, 현재의 객체 포즈 데이터 및 예측된 객체 포즈 데이터를 기초로 하여, 새로운 이미지 프레임 시퀀스를 생성할 수 있다. 도 5b는 일련의 이미지 프레임들(508, 510, 512, 514, 516)(예컨대, 컬러 이미지 프레임)이, 예를 들어, 상기한 일련의 이미지 프레임들(508, 510, 512, 514, 516) 중의 가장 최근의 이미지 프레임들 중 하나 또는 다수에 기초하여 외삽될 수 있을 뿐만 아니라, 예를 들어, 3D 외삽을 위한 가장 최근의 3개의 이미지 프레임과 2D 외삽을 위한 가장 최근 2개의 이미지 프레임에 기초하여 외삽될 이미지 프레임의 결정된 수를 지시함으로써 네트워크를 사용할 수 없는 경우 이미지 렌더링의 점진적이고 적절한 중단을 수행하는 방법을 예시한다. 특히, 일 실시 예에서, 상기 시퀀스의 이미지 프레임들(508, 510, 512, 514, 516)의 가장 최근의 3개의 이미지 프레임들은 3D 이미지 프레임(예컨대, 깊이 맵)을 렌더링하기 위해 외삽될 수 있고, 또한 상기 시퀀스의 이미지 프레임들(508, 510, 512, 514, 516)의 가장 최근의 2개의 이미지 프레임들은 2D 이미지 프레임을 렌더링하기 위해 외삽될 수 있다. 일 실시 예에서, 상기 시퀀스의 이미지 프레임들(508, 510, 512, 514, 516) 중의 가장 최근 이미지 프레임들의 수는, 예를 들어, 프레임 주파수 및 지속 시간, 장면 복잡도(scene complexity), 객체 사이의 거리 등을 포함하는 인자들에 또한 종속할 수 있다.
도 6a는 일 실시예에 따른 파라미터 데이터 감소(parametric data reduction: PDR) 프로세스를 기반으로 주요 특징점을 선택하기 위한 작업 흐름도(600A)이고, 도 6b는 일 실시예에 따른 특징점을 결정 및 감소시키기 위한 작업 흐름도(600B)이고, 도 6c는 일 실시예에 따른 주요 특징점 및 깊이 시퀀스 외삽을 결정하기 위한 작업 흐름도(600C)이다. 일 실시 예에서, 작업 흐름도(600A 및 600B)는, 예를 들면, 컴퓨팅 플랫폼(106A, 106B)의 주요 특징점 및 깊이 추출 기능 블록(208A, 208B)에 의해 각각 수행될 수 있다. 일 실시 예에서, 작업 흐름도(600A)는 다수의 프레임으로부터 선택된 특징점을 감소시키기 위해 제공될 수 있다. 일 실시 예에서, 작업 흐름도(600A)는 블록(602)에서 컴퓨팅 플랫폼(106)이 새로운 이미지 프레임, 디스플레이 리프레시, 또는 중심와 이미지 업데이트를 결정하는 것을 시작할 수 있다. 다음으로, 작업 흐름도(600A)는 이어서 블록(604)에서 컴퓨팅 플랫폼(106)이 제1 시퀀스의 이미지에 대응하는 깊이 맵을 서브-샘플링(sub-sampling)할 수 있다. 작업 흐름도(600A)는 이어서 블록(606)에서 컴퓨팅 플랫폼(106)이 미리 결정된 시야 영역 내의 특징점을 식별하는 것을 계속할 수 있다. 그 다음, 작업 흐름도(600A)는 블록(608)에서 컴퓨팅 플랫폼(106)이 미리 정의된 중심와 디스플레이 영역에 기초하여 시야 영역 내의 특징점을 감소시키는 것을 계속할 수 있다. 작업 흐름도(600A)는 이어서 블록(610)에서 컴퓨팅 플랫폼(106)이 최근접 보간법에 기초하여 특징점들을 그룹화하는 것을 계속할 수 있다. 그 다음, 작업 흐름도(600A)는 블록(612)에서 컴퓨팅 플랫폼(106)이 깊이 계산에 기초하여 특징점을 그룹화하는 것을 계속할 수 있다. 작업 흐름도(600A)는 블록(614)에서, 감소된 특징점이, 예컨대, 미리 결정된 미리 설정된 값보다 큰 것으로 결정되는 경우, 컴퓨팅 플랫폼(106)은 픽셀 영역 서브세트를 실행하는 것을 계속할 수 있다. 그 다음, 작업 흐름도(600A)는 블록(616)에서 컴퓨팅 플랫폼(106)이 특징점의 감소된 데이터세트를 저장하는(예컨대, XR 전자 장치(102)에 제공되는) 것을 종료할 수 있다.
일 실시 예에서, 작업 흐름도(600B)는 다수의 프레임들(618)로부터 선택된 특징점을 결정하기 위해 제공될 수 있다. 예를 들어, 작업 흐름도(600B)는, 예컨대, 무선 네트워크 연결이 이용 가능한 동안 렌더링을 위해 XR 전자 장치(102)에 제공되고 있는 제1 시퀀스의 이미지 프레임 내에서 하나 또는 다수의 객체에 대응하는 하나 또는 다수의 픽셀 영역을 결정하기 위해 제공될 수 있다. 작업 흐름도(600B)는 블록(620)에서 컴퓨팅 플랫폼(106A, 106B)이 하나 또는 다수의 객체에 대응하는 하나 또는 다수의 픽셀 영역을 N 개의 픽셀 서브 영역들(예를 들어, 도 6B에 예시된 바와 같은 6개의 픽셀 서브영역들)로 분할하는 것으로 시작할 수 있다. 작업 흐름도(600B)는 블록(622)에서 컴퓨팅 플랫폼(106A, 106B)이 N 개의 픽셀 서브영역들로부터 다수의 특징점(626A, 626B, 626C, 626D, 626E, 626F)을 추출하는 것으로 계속될 수 있으며, 여기서 각각의 특징점들(626A, 626B, 626C, 626D, 626E, 626F)는 신뢰 임계 값에 기초하여 N 개의 픽셀 서브영역들 중 각각의 하나로부터 추출될 수 있다. 작업 흐름도(600B)는 이어서 블록(624)에서 컴퓨팅 플랫폼(106A, 106B)이 N 개의 픽셀 서브영역들 각각에 대한 신뢰 임계 값에 대응하는 N 개의 픽셀 서브영역들로부터 특징점(626A, 626B, 626C, 626D, 626E, 626F)의 수를 선택하는 것으로 계속될 수 있다. 그 다음, 작업 흐름도(600B)는 블록(628)에서 컴퓨팅 플랫폼(106A, 106B)이 특징점들(626A, 626B, 626C, 626D, 626E, 626F)의 수 각각에 대해 위치 및 광학 흐름을 결정하는 것으로 종료될 수 있다.
일 실시 예에서, 작업 흐름도(600C)는 주요 특징점 및 깊이 시퀀스 외삽을 결정하기 위해 제공될 수 있다. 작업 흐름도(600C)는 블록(630)에서 컴퓨팅 플랫폼(106A, 106B)이 이전 프레임으로부터 키 포인트 및 깊이 시퀀스를 구하도록 할 수 있다. 작업 흐름도(600C)는 블록(632)에서 컴퓨팅 플랫폼(106A, 106B)이 도출된 프레임에 대해 2D 및 3D 외삽을 계산하도록 할 수 있다. 작업 흐름도(600C)는 블록(634)에서 컴퓨팅 플랫폼(106A, 106B)이 도출된 프레임에 대해 키 포인트 시퀀스를 획득하도록 할 수 있다.
도 7a는 일 실시예에 따른 도출된 프레임에 대해 헤드 포즈 시퀀스를 획득하기 위한 작업 흐름도(700A)이고, 도 7b는 일 실시예에 따른 객체들의 3D 포즈를 획득하기 위한 작업 흐름도(700B)이고, 도 7c는 일 실시예에 따른 도출된 이미지 프레임에 대해 객체 포즈 시퀀스를 획득하기 위한 작업 흐름도(700C)이다. 일 실시 예에서, 작업 흐름도(700A)는, 예를 들어, XR 전자 장치(102A, 102B)의 헤드 포즈 시퀀스 기능 블록(226A, 226B)에 의해 수행될 수 있다. 일 실시 예에서, 작업 흐름도(700A)는 블록(702)에서 XR 전자 장치(102A, 102B)가 이전 두 프레임의 저장된 헤드 포즈를 획득하는 것으로 시작할 수 있다. 작업 흐름도(700A)는 블록(704)에서 XR 전자 장치(102A, 102B)가 도출된 이미지 프레임에 대한 3D 헤드 포즈 시퀀스를 외삽하는 것으로 계속될 수 있다. 작업 흐름도(700A)는 블록(706)에서 XR 전자 장치(102A, 102B)가 도출된 이미지 프레임에 대한 헤드 포즈 시퀀스를 획득하는 것으로 계속될 수 있다.
일 실시 예에서, 작업 흐름도(700B)는, 예를 들어, 컴퓨팅 플랫폼(106A, 106B)의 객체 포즈 예측 기능 블록(212A, 212B)에 의해 수행될 수 있다. 일 실시 예에서, 작업 흐름도(700B)는 블록(708)에서 컴퓨팅 플랫폼(106)이 이전 두 프레임의 추정된 객체 포즈를 획득하는 것으로 시작할 수 있다. 작업 흐름도(700A)는 블록(710)에서 컴퓨팅 플랫폼(106A, 106B)이 다음 프레임에서 모든 객체의 포즈를 외삽하는 것으로 계속될 수 있다. 작업 흐름도(700A)는 블록(712)에서 컴퓨팅 플랫폼(106A, 106B)이 다음 프레임에서 모든 객체의 3D 포즈를 획득하는 것으로 계속될 수 있다. 일 실시 예에서, 작업 흐름도(700C)는, 예를 들어, XR 전자 장치(102A, 102B)의 객체 포즈 시퀀스 외삽 기능 블록(232A, 232B)에 의해 수행될 수 있다. 일 실시 예에서, 작업 흐름도(700C)는 블록(714)에서 XR 전자 장치(102A, 102B)가 도출된 이미지 프레임의 주요 특징점 시퀀스를 획득하는 것을 시작할 수 있다. 작업 흐름도(700C)는 블록(716)에서 XR 전자 장치(102A, 102B)가 각각의 도출된 이미지 프레임에서 각각의 객체에 대한 포즈를 추정하는 것을 계속할 수 있다. 작업 흐름도(700A)는 블록(718)에서 XR 전자 장치(102A, 102B)가 모든 도출된 이미지 프레임들의 객체 포즈 시퀀스를 획득하는 것을 계속할 수 있다.
도 7d 및 7e는 일 실시 예에 따른 객체 포즈 추정을 결정하고 2D 이미지 와핑 및 재-투사를 수행하기 위한 작업 흐름도들(700D 및 700E)이다. 일 실시 예에서, 작업 흐름도(700D)는, 예를 들어, 컴퓨팅 플랫폼(106B)의 객체 포즈 추정 기능 블록(234)에 의해 수행될 수 있다. 일 실시 예에서, 작업 흐름도(700D)는 블록(720)에서 컴퓨팅 플랫폼(106B)이 참조 이미지 프레임에서 해당하는 3D 특징점 세트 A 및 현재 이미지 프레임에서 3D 특징점 세트 B를 결정하는 것으로 시작할 수 있다. 작업 흐름도(700D)는 블록(722)에서 컴퓨팅 플랫폼(106B)이 현재 프레임 및 참조 이미지 프레임에 대한 오류 함수를 계산하는 것으로 계속될 수 있다. 작업 흐름도(700D)는 블록(724)에서 컴퓨팅 플랫폼(106B)이 참조 이미지 프레임에서의 3D 특징점 세트 A 및 현재 이미지 프레임에서의 3D 특징점 세트 B에 대해 하나 또는 다수의 중심 값(centroid values)을 계산하는 것으로 계속될 수 있다. 작업 흐름도(700D)는 블록(726)에서 컴퓨팅 플랫폼(106B)이 하나 또는 다수의 중심 값에 기초하여 기준 함수를 생성하는 것으로 계속될 수 있다. 작업 흐름도(700D)는 블록(728)에서 컴퓨팅 플랫폼(106B)이 참조 프레임 및 현재 이미지 프레임에 대해 특이 값 분해(SVD: singular value decomposition)를 수행하는 것으로 계속될 수 있다. 작업 흐름도(700D)는 블록(730)에서 컴퓨팅 플랫폼(106B)이 SVD 분해에 기초하여 회전 행렬(rotation matrix)을 계산하는 것으로 계속될 수 있다. 작업 흐름도(700D)는 블록(732)에서 컴퓨팅 플랫폼(106B)이 SVD 분해의 회전에 기초하여 이동 행렬(translation matrix)을 계산하는 것으로 종료할 수 있다. 일 실시 예에서, 작업 흐름도(700E)는, 예를 들어, XR 전자 장치(102A, 102B)의 2D 재-와핑 기능(236A, 236B)에 의해 수행될 수 있다. 일 실시 예에서, 작업 흐름도(700E)는 블록(734)에서 XR 전자 장치(102A, 102B)가 예측된 헤드 포즈 및 객체 포즈를 획득하는 것으로 시작할 수 있다. 작업 흐름도(700E)는 블록(736)에서 XR 전자 장치(102A, 102B)가 2D 회전 및 이동(translation)을 이용하여 현재의 컬러 이미지 프레임을 와핑(warping)하는 것으로 계속될 수 있다. 작업 흐름도(700E)는 블록(738)에서 XR 전자 장치(102A, 102B)가 업데이트 된 컬러 이미지 프레임을 획득하는 것으로 종료할 수 있다.
도 8은 일 실시예에 따른 사용자 전자 장치에서 깊이 맵들을 재-투사하기 위해 사용될 수 있는 예시적인 컴퓨터 시스템(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(EPROM) 또는 플래시 메모리 또는 이들 중의 둘 이상의 조합일 수 있다. 본 개시는 임의의 적절한 물리적 형태를 취하는 대용량 저장 장치(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) 또는 기타 유선 기반 네트워크와 통신하기 위한 네트워크 인터페이스 컨트롤러(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 (30)

  1. 전자 장치에서 깊이 맵의 재-투사 방법에 있어서,
    상기 전자 장치의 XR 디스플레이 와 연관된 외부 전자 장치로부터 수신된 이미지 데이터에 기초하여 제1 시퀀스의 이미지 프레임을 렌더링하는 동작;
    상기 외부 전자 장치로부터 수신된 이미지 데이터에 대한 중단을 감지하는 동작;
    상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들에 액세스하는 동작, 여기서, 상기 다수의 특징점들은 상기 제1 시퀀스의 이미지 프레임 내에서 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하고;
    상기 다수의 특징점 및 시공간적 데이터에 적어도 부분적으로 기초하여 하나 또는 다수의 객체를 적어도 부분적으로 재-렌더링하기 위해 재-와핑을 수행하는 동작; 및
    상기 전자 장치의의 하나 또는 다수의 디스플레이에 상기 하나 또는 다수의 객체의 부분적인 재-렌더링에 대응하는 제2 시퀀스의 이미지 프레임을 렌더링하는 동작을 포함하는 방법.
  2. 제1항에 있어서, 상기 시공간적 데이터는:
    현재의 헤드 포즈 데이터 및 예측된 헤드 포즈 데이터; 또는
    현재의 객체 포즈 데이터 및 예측된 개체 포즈 데이터 중의 하나 또는 다수를 포함하는 방법.
  3. 제1항에 있어서, 상기 재-와핑을 수행하는 동작은:
    제1 시퀀스의 이미지 프레임에 적어도 부분적으로 대응하는 하나 또는 다수의 현재의 컬러 프레임을 결정하는 동작; 및
    하나 또는 다수의 현재의 컬러 프레임에 기초하여, 제1 시퀀스의 이미지 프레임에 적어도 부분적으로 대응하는 하나 또는 다수의 업데이트 된 컬러 프레임을 생성하는 동작을 포함하는 방법.
  4. 제1항에 있어서,
    상기 외부 전자 장치로부터 수신된 이미지 데이터에 대해 중단을 감지하기 전에,
    상기 제1 시퀀스의 이미지 프레임에 대응하는 다수의 특징점들을 상기 외부 전자 장치로부터 백그라운드 프로세스로서 수신하는 동작; 및
    상기 제1 시퀀스의 이미지 프레임에 대응하는 상기 다수의 특징점을 상기 전자 장치의 메모리에 저장하는 동작을 포함하는 방법.
  5. 제1항에 있어서, 상기 제2 이미지 프레임 시퀀스는:
    미리 결정된 시간 주기 동안; 또는
    상기 외부 전자 장치로부터 제2 이미지 데이터가 수신될 때까지 렌더링 되는 것인 방법.
  6. 전자 장치에 있어서,
    트랜시버;
    하나 또는 다수의 디스플레이;
    명령들을 포함하는 하나 또는 다수의 비-일시적인 컴퓨터 판독 가능한 저장 매체; 및
    상기 저장 매체에 결합된 하나 또는 다수의 프로세서를 포함하되, 상기 하나 또는 다수의 프로세서는,
    상기 하나 또는 다수의 디스플레이에서, XR 디스플레이와 관련된 외부 전자 장치로부터 수신된 이미지 데이터에 기초하여 제1 시퀀스의 이미지 프레임을 렌더링하고;
    상기 외부 전자 장치로부터 수신된 상기 이미지 데이터에 대한 중단을 검출하고;
    상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들에 액세스하되, 여기서 상기 다수의 특징점들은 상기 제1 시퀀스의 이미지 프레임 내의 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하고;
    상기 다수의 특징점들 및 시공간적 데이터에 적어도 부분적으로 기초하여 상기 하나 또는 다수의 객체를 적어도 부분적으로 재-렌더링하기 위해 재-와핑을 수행하고; 및
    상기 하나 또는 다수의 디스플레이에 상기 하나 또는 다수의 객체의 부분적인 재-렌더링에 대응하는 제2 시퀀스의 이미지 프레임을 렌더링하는 명령을 실행하도록 구성되는 것인 전자 장치.
  7. 제6항에 있어서, 상기 시공간적 데이터는,
    현재의 헤드 포즈 데이터 및 예측된 헤드 포즈 데이터; 또는
    현재의 객체 포즈 데이터 및 예측된 개체 포즈 데이터
    중의 하나 또는 다수를 포함하는 것인 전자 장치.
  8. 제6항에 있어서, 상기 재-와핑을 수행하는 명령들은,
    상기 제1 시퀀스의 이미지 프레임에 적어도 부분적으로 대응하는 하나 또는 다수의 현재의 컬러 프레임을 결정하고; 및
    상기 하나 또는 다수의 현재의 컬러 프레임에 기초하여, 상기 제1 시퀀스의 이미지 프레임에 적어도 부분적으로 대응하는 하나 또는 다수의 업데이트 된 컬러 프레임을 생성하는 명령들을 더 포함하는 것인 전자 장치.
  9. 제6항에 있어서, 상기 하나 또는 다수의 프로세서는,
    상기 외부 전자 장치로부터 수신된 이미지 데이터에 대해 중단을 감지하기 전에,
    상기 외부 전자 장치로부터 상기 제1 시퀀스의 이미지 프레임에 대응하는 상기 다수의 특징점을 백그라운드 프로세스로서 수신하고; 및
    상기 제1 시퀀스의 이미지 프레임에 대응하는 상기 다수의 특징점들을 상기 전자 장치의 메모리에 저장하는 명령들을 실행하도록 추가로 구성되는 것인 전자 장치.
  10. 제6항에 있어서, 상기 제2 이미지 프레임 시퀀스는,
    미리 결정된 시간 주기 동안; 또는
    상기 외부 전자 장치로부터 제2 이미지 데이터가 수신될 때까지 렌더링 되는 것인 전자 장치.
  11. 전자 장치의 하나 또는 다수의 프로세서에 의해 실행될 때, 상기 하나 또는 다수의 프로세서가,
    상기 전자 장치의 하나 또는 다수의 디스플레이에서, XR 디스플레이와 관련된 외부 전자 장치로부터 수신된 이미지 데이터에 기초하여 제1 시퀀스의 이미지 프레임을 렌더링하고;
    상기 외부 전자 장치로부터 수신된 상기 이미지 데이터에 대한 중단을 검출하고;
    상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들에 액세스하되, 여기서 상기 다수의 특징점들은 상기 제1 시퀀스의 이미지 프레임 내의 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하고;
    상기 다수의 특징점들 및 시공간적 데이터에 적어도 부분적으로 기초하여 상기 하나 또는 다수의 객체를 적어도 부분적으로 재-렌더링하기 위해 재-와핑을 수행하고; 및
    상기 전자 장치의 하나 또는 다수의 디스플레이에서, 상기 하나 또는 다수의 객체의 부분적인 재-렌더링에 대응하는 제2 시퀀스의 이미지 프레임을 렌더링하도록 하는 비-일시적인 컴퓨터 판독 가능한 매체.
  12. 제11항에 있어서, 상기 시공간적 데이터는,
    현재의 헤드 포즈 데이터 및 예측된 헤드 포즈 데이터; 또는
    현재의 객체 포즈 데이터 및 예측된 객체 포즈 데이터
    중의 하나 또는 다수를 포함하는 비-일시적인 컴퓨터 판독 가능한 매체.
  13. 제11항에 있어서, 상기 재-와핑을 수행하기 위한 명령은,
    상기 제1 시퀀스의 이미지 프레임에 적어도 부분적으로 대응하는 하나 또는 다수의 현재의 컬러 프레임을 결정하고; 및
    상기 하나 또는 다수의 현재의 컬러 프레임에 기초하여, 상기 제1 시퀀스의 이미지 프레임에 적어도 부분적으로 대응하는 하나 또는 다수의 업데이트 된 컬러 프레임을 생성하도록 하는 명령들을 더 포함하는 비-일시적인 컴퓨터 판독 가능한 매체.
  14. 제11항에 있어서, 상기 전자 장치의 하나 또는 다수의 프로세서에 의해 실행될 때, 상기 하나 또는 다수의 프로세서가,
    상기 외부 전자 장치로부터 수신된 이미지 데이터에 대해 중단을 검출하기에 앞서,
    상기 외부 전자 장치로부터 상기 제1 시퀀스의 이미지 프레임에 대응하는 다수의 특징점들을 백그라운드 프로세스로서 수신하고; 및
    상기 제1 시퀀스의 이미지 프레임에 대응하는 상기 다수의 특징점들을 상기 전자 장치의 메모리에 저장하도록 하는 명령을 더 포함하는 비-일시적인 컴퓨터 판독 가능한 매체.
  15. 제11항에 있어서, 상기 제2 이미지 프레임 시퀀스는,
    미리 결정된 시간 주기 동안; 또는
    상기 외부 전자 장치로부터 제2 이미지 데이터가 수신될 때까지, 렌더링 되는 것인 비-일시적인 컴퓨터 판독 가능한 매체.
  16. 전자 장치에서 깊이 맵의 재-투사 방법에 있어서,
    제1 시퀀스의 이미지 프레임에 대응하는 이미지 데이터를 생성하는 동작;
    상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵에 액세스하는 동작;
    파라미터 데이터 감소(PDR)에 적어도 부분적으로 기초하여, 상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들을 결정하되, 여기서 상기 다수의 특징점들은 제1 시퀀스 이미지 프레임 내의 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하는 동작; 및
    상기 이미지 데이터 및 다수의 특징점들을 상기 전자 장치의 외부에 있는 확장 현실(XR) 디스플레이 장치로 전송하는 동작을 포함하는 방법.
  17. 제16항에 있어서, 상기 깊이 맵은 상기 제1 시퀀스의 이미지 프레임의 하나 또는 다수의 가장 최근 이미지 프레임에 대한 깊이 정보를 포함하는 것인 방법.
  18. 제16항에 있어서, 상기 깊이 맵으로부터 상기 다수의 특징점들을 결정하는 동작은 상기 깊이 맵에 포함된 전체 세트의 특징점들 중의 특징점의 서브 세트를 선택하는 동작을 포함하는 것인 방법.
  19. 제16항에 있어서, 상기 깊이 맵으로부터 상기 다수의 특징점들을 결정하는 동작은 미리 결정된 시야 영역 내의 다수의 특징점들을 결정하는 동작을 포함하는 방법.
  20. 제19항에 있어서, 상기 미리 결정된 시야 영역 내의 다수의 특징점을 결정하는 동작은 미리 결정된 중심와(fovea) 디스플레이 영역 내의 다수의 특징점들을 결정하는 동작을 포함하되, 여기서 상기 미리 결정된 중심와 디스플레이 영역 내의 상기 다수의 특징점들은 최근접 보간법(nearest-neighbor interpolation)에 적어도 부분적으로 기초하는 특징점들의 그룹화를 포함하고, 또한 상기 특징점들의 그룹화는 깊이 계산에 적어도 부분적으로 기초하여 그룹화된 특징점들의 서브-그룹화를 포함하는 것인 방법.
  21. 전자 장치에 있어서,
    트랜시버;
    명령들을 포함하는 하나 또는 다수의 비-일시적인 컴퓨터 판독 가능한 저장 매체; 및
    상기 저장 매체에 결합된 하나 또는 다수의 프로세서를 포함하되, 상기 하나 또는 다수의 프로세서는:
    제1 시퀀스의 이미지 프레임에 대응하는 이미지 데이터를 생성하고;
    상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵에 액세스하고;
    파라미터 데이터 감소(PDR)에 적어도 부분적으로 기초하여 상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들을 결정하되, 여기서 상기 다수의 특징점들은 제1 시퀀스의 이미지 프레임 내의 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하고; 및
    상기 이미지 데이터 및 다수의 특징점들을 상기 전자 장치 외부에 있는 확장 현실(XR) 디스플레이 장치로 전송하도록 하는 명령을 실행하도록 구성되는 것인 전자 장치.
  22. 제21항에 있어서, 상기 깊이 맵은 상기 제1 시퀀스의 이미지 프레임의 하나 또는 다수의 가장 최근 이미지 프레임에 대하여 깊이 정보를 포함하는 것인 전자 장치.
  23. 제21항에 있어서, 상기 깊이 맵으로부터 상기 다수의 특징점들을 결정하는 동작은 상기 깊이 맵에 포함된 전체 특징점 세트의 특징점의 서브세트를 선택하는 동작을 포함하는 것인 전자 장치.
  24. 제21항에 있어서, 상기 깊이 맵으로부터 상기 다수의 특징점들을 결정하는 동작은 미리 결정된 시야 영역 내의 다수의 특징점들을 결정하는 동작을 포함하는 것인 전자 장치.
  25. 제24항에 있어서, 상기 미리 결정된 시야 영역 내의 다수의 특징점들을 결정하는 동작은 미리 결정된 중심와 디스플레이 영역 내의 다수의 특징점들을 결정하는 동작을 포함하되, 여기서 상기 미리 결정된 중심와 디스플레이 영역 내의 상기 다수의 특징점들은 최근접 보간법에 적어도 부분적으로 기초하는 특징점들의 그룹화를 포함하고, 상기 특징점들의 그룹화는 깊이 계산에 적어도 부분적으로 기초하여 그룹화된 특징점들의 서브-그룹화를 포함하는 것인 방법.
  26. 전자 장치의 하나 또는 다수의 프로세서에 의해 실행될 때, 상기 하나 또는 다수의 프로세서가,
    제1 시퀀스의 이미지 프레임에 대응하는 이미지 데이터를 생성하고;
    상기 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵에 액세스하고;
    파라미터 데이터 감소(PDR)에 적어도 부분적으로 기초하여 제1 시퀀스의 이미지 프레임에 대응하는 깊이 맵으로부터 다수의 특징점들을 결정하되, 여기서 상기 다수의 특징점들은 제1 시퀀스의 이미지 프레임 내의 하나 또는 다수의 객체의 움직임 및 위치 정보를 포함하고; 및
    상기 이미지 데이터 및 다수의 특징점들을 상기 전자 장치 외부에 있는 확장 현실(XR) 디스플레이 장치로 전송하도록 하는 명령을 포함하는 비-일시적인 컴퓨터 판독 가능한 매체.
  27. 제26항에 있어서, 상기 깊이 맵은 상기 제1 시퀀스의 이미지 프레임의 하나 또는 다수의 가장 최근 이미지 프레임에 대하여 깊이 정보를 포함하는 것인 비-일시적인 컴퓨터 판독 가능한 매체.
  28. 제26항에 있어서, 상기 깊이 맵으로부터 상기 다수의 특징점들을 결정하는 동작은 상기 깊이 맵에 포함된 전체 특징점 세트의 특징점의 서브 세트를 선택하는 동작을 포함하는 것인 비-일시적인 컴퓨터 판독 가능한 매체.
  29. 제26항에 있어서, 상기 깊이 맵으로부터 상기 다수의 특징점을 결정하는 동작은 미리 결정된 시야 영역 내의 다수의 특징점들을 결정하는 동작을 포함하는 것인 비-일시적인 컴퓨터 판독 가능한 매체.
  30. 제29항에 있어서, 상기 미리 결정된 시야 영역 내의 다수의 특징점들을 결정하는 명령은 미리 결정된 중심와 디스플레이 영역 내의 다수의 특징점들을 결정하는 명령을 더 포함하고, 여기서 상기 미리 정의된 중심와 디스플레이 영역 내의 상기 다수의 특징점들은 최근접 보간법에 적어도 부분적으로 기초한 특징점들의 그룹화를 포함하고, 상기 특징점들의 그룹화는 깊이 계산에 적어도 부분적으로 기초하여 그룹화된 특징점들의 서브그룹화를 포함하는 것인 비-일시적인 컴퓨터 판독 가능한 매체.
KR1020200149309A 2020-02-27 2020-11-10 전자 장치 및 전자 장치에서 깊이 맵의 재-투사 방법 KR20210110164A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2021/002485 WO2021172950A1 (en) 2020-02-27 2021-02-26 Electronic device and method for depth map re-projection on electronic device
EP21759994.3A EP4091128A4 (en) 2020-02-27 2021-02-26 ELECTRONIC DEVICE AND METHOD FOR DEPTH MAP REPROJECTION ON AN ELECTRONIC DEVICE

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062982570P 2020-02-27 2020-02-27
US62/982,570 2020-02-27
US16/942,627 US11107290B1 (en) 2020-02-27 2020-07-29 Depth map re-projection on user electronic devices
US16/942,627 2020-07-29

Publications (1)

Publication Number Publication Date
KR20210110164A true KR20210110164A (ko) 2021-09-07

Family

ID=77463888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200149309A KR20210110164A (ko) 2020-02-27 2020-11-10 전자 장치 및 전자 장치에서 깊이 맵의 재-투사 방법

Country Status (2)

Country Link
US (2) US11107290B1 (ko)
KR (1) KR20210110164A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11688073B2 (en) 2020-04-14 2023-06-27 Samsung Electronics Co., Ltd. Method and system for depth map reconstruction

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3745117B2 (ja) 1998-05-08 2006-02-15 キヤノン株式会社 画像処理装置及び画像処理方法
KR101125061B1 (ko) 2010-04-06 2012-03-21 (주)리얼디스퀘어 Ldi 기법 깊이맵을 참조한 2d 동영상의 3d 동영상 전환방법
US8908043B2 (en) 2010-04-12 2014-12-09 Symbol Technologies, Inc. System and method for location-based operation of a head mounted display
US9348141B2 (en) 2010-10-27 2016-05-24 Microsoft Technology Licensing, Llc Low-latency fusing of virtual and real content
KR101370718B1 (ko) 2012-10-26 2014-03-06 한국과학기술원 파노라마 이미지를 이용한 2d에서 3d로의 변환 방법 및 장치
US9443355B2 (en) 2013-06-28 2016-09-13 Microsoft Technology Licensing, Llc Reprojection OLED display for augmented reality experiences
WO2015173173A1 (en) * 2014-05-12 2015-11-19 Dacuda Ag Method and apparatus for scanning and printing a 3d object
US10852838B2 (en) * 2014-06-14 2020-12-01 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US20160248995A1 (en) 2015-02-19 2016-08-25 Daqri, Llc System and method for using millimeter wave in a wearable device
KR102501752B1 (ko) 2015-09-21 2023-02-20 삼성전자주식회사 헤드 마운트 디스플레이의 움직임을 보상하는 방법 및 이를 위한 장치
US20170155889A1 (en) 2015-11-30 2017-06-01 Altek Semiconductor Corp. Image capturing device, depth information generation method and auto-calibration method thereof
US11927965B2 (en) * 2016-02-29 2024-03-12 AI Incorporated Obstacle recognition method for autonomous robots
US20180005015A1 (en) * 2016-07-01 2018-01-04 Vangogh Imaging, Inc. Sparse simultaneous localization and matching with unified tracking
CN109863533B (zh) 2016-08-22 2024-03-15 奇跃公司 虚拟、增强和混合现实系统和方法
KR101890166B1 (ko) 2016-11-28 2018-08-21 숭실대학교산학협력단 감시영상의 실시간 와핑을 이용한 3차원 감시 시스템 및 방법
US9866286B1 (en) 2017-02-15 2018-01-09 Oculus Vr, Llc Positional tracking assisted beam forming in wireless virtual reality systems
US10523918B2 (en) 2017-03-24 2019-12-31 Samsung Electronics Co., Ltd. System and method for depth map
GB2573484B (en) * 2017-10-09 2022-08-03 Displaylink Uk Ltd Compensating for interruptions in a wireless connection
US10861215B2 (en) 2018-04-30 2020-12-08 Qualcomm Incorporated Asynchronous time and space warp with determination of region of interest
US11127214B2 (en) * 2018-09-17 2021-09-21 Qualcomm Incorporated Cross layer traffic optimization for split XR
US10620697B2 (en) 2018-09-27 2020-04-14 Intel Corporation Wireless communication management for virtual reality devices
JP7134060B2 (ja) 2018-10-18 2022-09-09 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
US11238659B2 (en) * 2019-06-26 2022-02-01 Magic Leap, Inc. Caching and updating of dense 3D reconstruction data
CN114286925A (zh) * 2019-08-26 2022-04-05 移动眼视觉科技有限公司 用于识别潜在通信障碍的系统和方法
JP2023514206A (ja) * 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド 大規模環境のためのクロスリアリティシステム
EP4047923A4 (en) * 2020-12-22 2022-11-23 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE COMPRISING A CAMERA AND THEIR METHOD

Also Published As

Publication number Publication date
US11704877B2 (en) 2023-07-18
US11107290B1 (en) 2021-08-31
US20210272365A1 (en) 2021-09-02
US20210327153A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
US11719933B2 (en) Hand-locked rendering of virtual objects in artificial reality
US10878608B2 (en) Identifying planes in artificial reality systems
US11734808B2 (en) Generating a composite image
US11688073B2 (en) Method and system for depth map reconstruction
KR20210110164A (ko) 전자 장치 및 전자 장치에서 깊이 맵의 재-투사 방법
CN113711166B (zh) 语义增强的人工现实体验
US11715272B2 (en) 3D reconstruction of a moving object
US11615594B2 (en) Systems and methods for reconstruction of dense depth maps
US11423616B1 (en) Systems and methods for rendering avatar with high resolution geometry
KR20210123994A (ko) 전자 장치 및 페어링된 전자 장치를 이용한 객체 식별 방법
WO2021172950A1 (en) Electronic device and method for depth map re-projection on electronic device
WO2024007648A1 (zh) 一种数字人驱动方法、系统及设备
CN112739433B (zh) 用于远程渲染的vr的异步空间扭曲
US20220122285A1 (en) Visual inertial odometry localization using sparse sensors
CN116686010A (zh) 时间注视点渲染

Legal Events

Date Code Title Description
A201 Request for examination