KR101979564B1 - 가상 현실 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템들 및 방법들 - Google Patents

가상 현실 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR101979564B1
KR101979564B1 KR1020197002397A KR20197002397A KR101979564B1 KR 101979564 B1 KR101979564 B1 KR 101979564B1 KR 1020197002397 A KR1020197002397 A KR 1020197002397A KR 20197002397 A KR20197002397 A KR 20197002397A KR 101979564 B1 KR101979564 B1 KR 101979564B1
Authority
KR
South Korea
Prior art keywords
virtual reality
acceleration
velocity
gpu
sensor
Prior art date
Application number
KR1020197002397A
Other languages
English (en)
Other versions
KR20190015577A (ko
Inventor
논 콰치
모이눌 칸
모리스 리블
마르틴 렌슐러
메흐라드 타바콜리
라쉬미 쿨카르니
리키 와이 키트 위엔
토드 르무안
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20190015577A publication Critical patent/KR20190015577A/ko
Application granted granted Critical
Publication of KR101979564B1 publication Critical patent/KR101979564B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0147Head-up displays characterised by optical features comprising a device modifying the resolution of the displayed image
    • 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
    • G02B2027/0178Eyeglass type
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)

Abstract

가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키는 시스템들, 방법들, 및 컴퓨터 프로그램들이 개시된다. 예시적인 방법은 가상 현실 애플리케이션에 대한 사용자의 병진 및 회전 모션을 추적하는 하나 이상의 센서들로부터 센서 데이터를 수신하는 단계를 포함한다. 사용자의 업데이트된 위치가 수신된 센서 데이터에 기초하여 컴퓨팅된다. 사용자 운동의 속도 및 가속도가 센서 데이터에 기초하여 컴퓨팅될 수도 있다. 업데이트된 위치, 속도, 및 가속도가 업데이트된 위치, 속도, 및 가속도 중 하나 이상에 기초하여 가상 현실 디스플레이로 전송하기 전에 렌더링된 이미지를 업데이트하도록 구성된 워프 엔진으로 제공될 수도 있다.

Description

가상 현실 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템들 및 방법들
본 특허 출원은 2016년 7월 29일자로 출원된, 발명의 명칭이 "SYSTEMS AND METHODS FOR REDUCING MOTION-TO-PHOTON LATENCY AND MEMORY BANDWIDTH IN A VIRTUAL REALITY SYSTEM" 인 미국 가출원 제 62/368,241 호 에 대한 35 U.S.C. §119(e) 하의 우선권을 주장하며, 그것의 전체 내용들은 여기에 참조에 의해 포함된다.
모션-대-포톤 (motion-to-phone: M2P) 레이턴시 또는 지연은 가상 현실 (VR) 시스템들에서 중요한 성능 메트릭이다. M2P 레이턴시는 사용자의 운동 (예를 들어, 머리, 눈들, 또는 다른 신체 부분들) 으로부터 가상 현실 장면이 디스플레이상에 업데이트되는 시간까지의 시간 지연이다. 예를 들어, 사용자가 그의 머리를 헤드-마운트 디스플레이 (head-mount display: HMD) 와 함께 좌측/우측으로 이동시킬 때 디스플레이상에 사용자의 운동을 반영하는데 50 ms 가 걸린다면, 그 50 ms 가 그 가상 현실 시스템의 M2P 레이턴시이다. 사용자가 운동을 행할 때 마음은 디스플레이가 그러한 액션을 반영하도록 업데이트될 것을 기대하기 때문에 높은 M2P 레이턴시는 열악한 가상 현실 경험을 제공하고 심지어 멀미 및 구역질을 발생시킬 수도 있다. 디스플레이가 사용자 운동 뒤에 지체되는 경우, 사용자는 방향 감각 상실 및 멀미를 경험할 수도 있다. 낮은 M2P 레이턴시는 가상 현실 사용자에게 그들이 ("프레즌스 (presence)" 로서 지칭되는) 다른 장소에 있다고 확신시키기 위해 필요하다. 프레즌스는 가상 현실 사용자가 마치 그들이 컴퓨터 시뮬레이션 세계에 있는 것처럼 느끼는 상태이다. 연구는, HMD 를 사용하는 경우, 가상 현실 시스템에서의 프레즌스는 M2P 레이턴시가 대략 20 ms 아래에 있을 때 달성될 수도 있다.
현재의 VR 시스템들은 (집합적으로 "시간 워프 (time warp)" 로 지칭되는) "시간 워프", "재투영", 또는 "재렌더링" 으로 지칭되는 그래픽 렌더링 기법을 사용하여 M2P 레이턴시를 감소시킨다. 시간 워프는 렌더링 후에 발생한 사용자의 운동을 교정하기 위해 렌더링된 이미지를 디스플레이로 전송하기 전에 렌더링된 이미지를 워핑하는 것을 수반한다. 시간 워프는 레이턴시를 감소시키고 프레임 레이트 (즉, 초당 프레임들 디스플레이의 수 (fps)) 를 증가시키거나 유지할 수도 있다. 이러한 프로세스는 이미 렌더링된 이미지를 취하고, 그것을 센서들 (예를 들어, HMD 에 하우징된 센서(들)) 로부터 획득된 수집된 위치 정보에 기초하여 예측된 위치 정보로 변경하며, 그 후 VR 디스플레이상에 그 변경된 이미지를 디스플레이한다.
시간 워프가 없으면, VR 시스템은 사용자의 위치에 대한 데이터를 캡쳐하고, 이러한 위치 데이터에 기초하여 이미지를 렌더링하며, 그 후 다음 장면이 듀 (due) 에 있는 경우 그 이미지를 디스플레이할 것이다. 예를 들어, 60 초당 프레임들 (fps) VR 애플리케이션에서, 새로운 장면은 매 16.7 ms 마다 한번 디스플레이될 수도 있다. 디스플레이되는 각각의 이미지는 대략 16.7 ms 전에 획득되었던 위치 데이터에 기초한다. 그러나, 시간 워프를 사용하면, HMD 는 위치 데이터를 캡쳐하고, 그 위치 데이터에 기초하여 이미지를 렌더링하며, 이미지를 디스플레이하기 전에 HMD 는 업데이트된 위치 데이터를 캡쳐한다. 업데이트된 위치 데이터를 사용하여, 렌더링된 이미지는 사용자의 가장 최근의 위치를 피팅하기 위해 적절한 알고리즘들로 변경되고, 그 후 사용자에게 디스플레이된다. 이러한 방식으로, 변경된 이미지는 더 최근이고 처음에 렌더링되었던 이미지보다 디스플레이 시에 사용자의 위치를 더 정확하게 반영한다.
그러나, 현재의 VR 시스템들은 M2P 레이턴시를 최적으로 최소화하는 것을 문제 있게 만들 수 있는 수개의 제한들을 갖는다. 시간 워프를 구현할 때, 위치 데이터는 통상적으로 렌더링을 위해 그래픽 프로세싱 유닛 (GPU) 에 도착하기 전에, 이중 데이터 레이트 (DDR) 메모리로 및 로부터의 다수의 홉들 (hops) 을 취하여, 여러 중간 유닛들에 의해 조작될 필요가 있다. 예를 들어, 중간 위치 데이터는 중간 프런트 엔드 (IFE) 에 의해 프로세싱되고 DDR 메모리에 저장될 수도 있다. 센서 프로세싱 컴포넌트 및/또는 프로세싱 디바이스가 중간 위치 데이터를 액세스하고, 위치를 계산하며, DDR 메모리에 그 계산된 위치를 저장하고, VR 애플리케이션, GPU 커맨드 버퍼, 워프 엔진 등에 그 계산된 위치를 제공할 수도 있다. DDR 메모리로 및 로부터의 이들 다수의 홉들은 프로세싱 레이터시를 증가시키고 M2P 레이턴시를 최소화하는 능력을 제한할 수 있다.
현재의 VR 시스템들에서의 다른 제한은 이용가능한 DDR 메모리의 결핍에 있다. 가상 현실을 시뮬레이션하기 위해, 디스플레이 해상도는 매우 높은 해상도 (예를 들어, 아이 (eye) 당 8K 화소들) 및 프레임 레이트 (예를 들어, 120 Hz) 에 있을 필요가 있다. 양 팩터들은 시스템 내의 DDR 대역폭 요구들을 상당히 증가시킨다. 이들 문제들을 경감시키기 위해, 현재의 솔루션들은 포비티드 렌더링 (foveated rendering) 과 같은 그래픽 렌더링 기법들에 의존할 수도 있다.
이에 따라, VR 시스템들에서 M2P 레이턴시 및 DDR 대역폭 요구들을 감소시키기 위한 개선된 시스템들 및 방법들에 대한 필요가 존재한다.
가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 DDR 메모리 대역폭을 감소시키기 위한 시스템들, 방법들, 및 컴퓨터 프로그램들이 개시된다. 예시적인 방법은 가상 현실 애플리케이션에 대한 사용자의 병진 및 회전 모션을 추적하는 하나 이상의 센서들로부터 센서 데이터를 수신하는 것을 수반한다. 사용자의 업데이트된 위치는 수신된 센서 데이터에 기초하여 컴퓨팅된다. 사용자 운동의 속도 및 가속도는 센서 데이터에 기초하여 컴퓨팅될 수도 있다. 업데이트된 위치, 속도, 및 가속도는 그 업데이트된 위치, 속도, 및 가속도 중 하나 이상에 기초하여 가상 현실 디스플레이로 전송하기 전에 렌더링된 이미지를 업데이트하도록 구성된 하드웨어 워프 엔진으로 제공될 수도 있다.
다른 실시형태는 사용자의 병진 및 회전 모션을 추적하는 하나 이상의 센서들을 포함하는 컴퓨터 시스템이다. 컴퓨터 시스템은 프로세싱 디바이스에 의해 실행되는 가상 현실 애플리케이션을 포함한다. 그래픽 프로세싱 유닛 (GPU) 은 가상 현실 애플리케이션과 연관된 렌더링된 이미지들을 디스플레이한다. 전용 센서 프로세싱 컴포넌트는 하나 이상의 센서들 및 GPU 에 전기적으로 커플링된다. 전용 센서 프로세싱 컴포넌트는 하나 이상의 센서들로부터 센서 데이터를 수신하고, 센서 데이터에 기초하여, 사용자의 업데이트된 위치, 속도, 및 가속도를 컴퓨팅한다. 전용 센서 프로세싱 컴포넌트는 GPU 와 연관된 워프 엔진으로 업데이트된 위치, 속도, 및 가속도를 피딩한다.
도면들에서, 동일한 참조 번호들은 달리 표시되지 않는 한 여러 도면들 전체에 걸쳐 동일한 부분들을 지칭한다. "102A" 또는 "102B" 와 같은 글자 문자 지정들을 갖는 참조 번호들의 경우, 글자 문자 지정들은 동일한 도면에 존재하는 2 개의 동일한 부분들 또는 엘리먼트들을 구별할 수도 있다. 참조 번호들에 대한 글자 문자 지정들은 참조 번호가 모든 도면들에서 동일한 참조 번호를 갖는 모든 부분들을 포함하는 것이 의도되는 경우 생략될 수도 있다.
도 1 은 가상 현실 시스템에서 모션-대-포톤 레이턴시 및 DDR 대역폭을 감소시키기 위한 시스템의 실시형태의 블록도이다.
도 2 는 도 1 의 시스템을 포함하기 위한 헤드-마운트 가상 현실 디스플레이의 실시형태를 도시한다.
도 3 은 도 1 의 가상 현실 시스템에서의 데이트 흐름의 실시형태를 도시한다.
도 4 는 도 1 내의 센서 데이터 프로세싱 오프로드 하드웨어의 예시적인 실시형태의 컴포넌트들 및 입력들/출력들을 도시한다.
도 5 는 모션-대-포톤 레이턴시 및 DDR 대역폭을 감소시키기 위한 도 1 의 시스템에서 구현된 방법의 실시형태를 도시하는 플로우챠트이다.
도 6 은 도 1 의 가상 현실 시스템의 소정의 양태들을 구현하기 위한 휴대용 컴퓨팅 디바이스의 실시형태의 블록도이다.
단어 "예시적인" 은 "예, 예시, 설명으로서 작용하는" 을 의미하는 것으로 여기서 사용된다. "예시적인" 으로서 여기에 기술된 임의의 양태는 반드시 다른 양태들에 비해 바람직하거나 이로운 것으로서 해석되지는 않는다.
본 설명에서, 용어 "애플리케이션" 은 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 랭귀지 파일들, 및 패치들과 같은 실행가능 컨텐츠를 갖는 파일들을 포함할 수도 있다. 또, 여기에서 언급된 "애플리케이션" 은 또한 열릴 필요가 있을 수도 있는 문서들과 같은, 본성상 실행가능하지 않은 파일들 또는 액세스될 필요가 있는 다른 데이터 파일들을 포함할 수도 있다.
용어 "컨텐츠" 는 또한 오브젝트 코드, 스크립트들, 바이트 코드, 마크업 랭귀지 파일들, 및 패치들과 같은 실행가능 컨텐츠를 갖는 파일들을 포함할 수도 있다. 또, 여기에서 언급된 "컨텐츠" 는 또한 열릴 필요가 있을 수도 있는 문서들과 같은, 본성상 실행가능하지 않은 파일들 또는 액세스될 필요가 있는 다른 데이터 파일들을 포함할 수도 있다.
본 설명에서 사용되는 바와 같이, 용어들 "컴포넌트", "데이터베이스", "모듈", "시스템", "엔진" 등은 컴퓨터 관련 엔티티, 하드웨어, 펌웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서상에서 실행중인 프로세스, 프로세서, 오브젝트, 실행가능물, 실행의 스레드, 프로그램, 및/또는 컴퓨터일 수도 있지만, 이들에 제한되지 않는다. 예시로써, 컴퓨팅 디바이스상에서 실행 중인 애플리케이션 및 컴퓨팅 디바이스 양자 모두는 컴포넌트일 수도 있다. 하나 이상의 컴포넌트들이 프로세스 및/또는 실행의 스레드 내에 상주할 수도 있고, 컴포넌트는 하나의 컴퓨터상에 로컬화될 수도 있고 및/또는 2 이상의 컴퓨터들 사이에 분포될 수도 있다. 또, 이들 컴포넌트들은 그것에 저장된 여러 데이터 구조들을 갖는 여러 컴퓨터 판독가능 매체들로부터 실행할 수도 있다. 컴포넌트들은 하나 이상의 데이터 패킷들 (예를 들어, 로컬 시스템, 분포된 시스템에서 및/또는 신호를 통해 다른 시스템들을 갖는 인터넷과 같은 네트워크를 가로질러 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터) 을 갖는 신호에 따라서와 같이 로컬 및/또는 원격 프로세스들을 통해 통신할 수도 있다.
도 1 은 가상 현실 시스템에서 모션-대-포톤 (M2P) 레이턴시 및 이중 데이터 레이트 (DDR) 대역폭 요구들을 감소시키기 위한 시스템 (100) 의 실시형태를 도시한다. 시스템 (100) 이 여러 타입들의 가상 현실 시스템들 (예를 들어, 헤드셋들, 고글들, 아이웨어, 외부 VR 디스플레이(들), 투영 시스템들 등) 에서 구현될 수도 있다는 것이 인정되어야 한다. 도 2 의 실시형태에서 도시된 바와 같이, 시스템 (100) 은 사용자에 의해 착용되는 통합된 헤드마운트 디스플레이 (HMD) (200) 에 포함될 수도 있다. 다른 실시형태들에서, 시스템 (100) 내의 컴포넌트들 중 일부는 HMD (200) 으로 통합될 수도 있는 반면, 다른 것들은 외부 프로세싱 시스템 (예를 들어, 휴대용 컴퓨팅 디바이스) 또는 외부 디스플레이 (예를 들어, 컴퓨터 디스플레이, 투영 디스플레이 등) 에 의해 제공될 수도 있다.
도 1 에 도시된 바와 같이, 시스템 (100) 은 메모리 버스를 통해 하나 이상의 센서들 및 메모리 시스템에 전기적으로 커플링된 시스템 온 칩 (SoC) (102) 을 포함한다. 도 1 의 실시형태에서, 메모리 시스템은 램덤 액세스 메모리 (RAM) 버스 (예를 들어, 이중 데이터 레이트 (DDR) 버스 (105)) 를 통해 SoC (102) 에 커플링된 동적 랜덤 액세스 메모리 (DRAM) (104) 을 포함한다. 센서들은 카메라 (124), 가속도계 센서 (126), 및 자이로스코프 센서 (128) 을 포함할 수도 있고, 이들 각각은 SoC (102) 에 상주하는 센서 입력/출력 (I/O) 컴포넌트 (120) 에 전기적으로 커플링될 수도 있다. 도 2 에 도시된 바와 같이, 센서(들) 은 시스템 (100) 이 6 자유도 (6DOF) 를 사용하여 3차원 공간 내의 사용자 (예를 들어, 사용자의 머리, 눈들, 및/또는 다른 신체 부분들) 의 회전 및 병진 운동을 추적하는 것을 가능하게 한다. 본 기술에서 알려진 바와 같이, 용어 6DOF 는 3차원 공간에서의 사용자의 운동의 자유를 지칭한다. 센서들은 3 개의 수직축들 주위의 회전 (즉, 피치, 요, 및 롤) 을 통한 배향에서의 변경들과 결합된, 3 개의 수직 축들에서의 전방/후방 (서지), 상측/하측 (히브), 좌측/우측 (스웨이) 병진으로서 모션을 추적한다.
여러 타입들, 구성들, 및 수들의 센서들이 시스템 (100) 에서 구현될 수도 이지만, 하나 이상의 카메라들 (124) 이 눈 운동들을 추적할 수도 있다. 하나 이상의 가속도계 센서들 (126) 이 사용자의 머리 및/또는 다른 신체 부분들의 적절한 가속도의 크기 및/또는 방향에서의 변화들을 감지할 수도 있다. 하나 이상의 자이로스코프 센서들 (128) 이 사용자의 머리 및/또는 다른 신체 부분들의 각운동을 추적하기 위해 사용될 수도 있다.
도 1 에 도시된 바와 같이, SoC (102) 는 SoC 버스 (122) 를 통해 상호 연결된 중앙 프로세싱 유닛 (CPU) (106), 그래픽 프로세싱 유닛 (GPU) (108), 하나 이상의 가상 현실 애플리케이션 컴포넌트들 (120), DRAM 제어기 (112), 시스템 캐시 (118), 정적 램덤 액세스 메모리 (SRAM) (116), 리드 온리 메모리 (ROM) (114), 및 센서 I/O (120) 를 포함한다. 시스템 (100) 은 고레벨 운영 시스템 (HLOS) (122) 을 포함한다.
가상 현실 애플리케이션 컴포넌트(들) (120) 은 가상 현실 환경을 제공하기 위한 전용 프로세싱 디바이스 (예를 들어, 애플리케이션 디지털 신호 프로세서 (ADSP)) 로서 구현될 수도 있다. 다른 실시형태들에서, 가상 현실 애플리케이션(들) (120) 은 CPU (106) 및 GPU (108) 상에서 실행하는 소프트웨어를 포함할 수도 있다. 가상 현실 환경은 예를 들어 비디오 게이밍, 엔터테인먼트, 설계 애플리케이션, 트레이닝 시뮬레이션, 산업 애플리케이션들 등을 포함하는 임의의 바람직한 목적들을 위해 설계될 수도 있다는 것이 인정되어야 한다.
DRAM 제어기 (112) 는 DDR 버스 (105) 를 통한 데이터의 전송을 제어한다. 시스템 캐시 (118) 는 데이터에 대한 장래의 요청들이 더 빠르게 서빙될 수 있도록 그 데이터를 저장하는 컴포넌트이다. 일 실시형태에서, 시스템 캐시 (118) 는 SoC (102) 상의 복수의 메모리 클라이언트들 사이에 공유되는 LLC (last-level cache) 를 갖는 다중-레벨 계층 (예를 들어, L1 캐시, L2 캐시 등) 을 포함할 수도 있다.
도 1 에 도시된 바와 같이, 시스템 (100) 은 센서 데이터 프로세싱 오프로드 하드웨어 컴포넌트 (130) 를 더 포함한다. 센서 데이터 프로세싱 오프로드 하드웨어 컴포넌트 (130) 는 센서 데이터의 프로세싱을 오프로딩하도록 구성된 전용 하드웨어 유닛을 포함한다. 전용 하드웨어 유닛으로의 센서 데이터 프로세싱의 오프로딩은 센서 데이터 프로세싱 오프로드 하드웨어 컴포넌트 (130) 를 통해 추적 센서들로부터 GPU (108) 로 최적화된 센서 데이터 흐름 파이프라인을 제공함으로써 M2P 레이턴시 및 DDR 대역폭 요구들을 감소시킬 수도 있다는 것이 인정되어야 한다. 최적화된 센서 데이터 흐름 파이프라인은 추적 센서들 (예를 들어, 센서 I/O (120) 를 통한 카메라 (124), 가속도계 센서 (126), 자이로스코프 센서 (128)) 로부터의 직접 피드 (132) 및 GPU (108) 로의 직접 피드를 포함한다.
도 3 은 가상 현실 시스템 (100) 에서의 M2P 레이턴시 및 DDR 대역폭 요구들을 감소시키기 위한 센서 데이터 흐름 파이프라인 (300) 의 실시형태를 도시한다. 센서 데이터 프로세싱 오프로드 하드웨어 컴포넌트 (130) 는 각각 인터페이스들 (301, 303, 및 305) 을 통해 가속도계 센서 (126), 자이로스코프 센서 (128), 및 카메라 (124) 로부터 로 (raw) 센서 데이터를 수신할 수도 있다. 센서 데이터 프로세싱 오프로드 하드웨어 컴포넌트 (130) 는 센서 데이터를 프로세싱하기 위한 컴퓨테이션 엔진을 포함한다. 카메라 (124), 가속도계 센서 (126), 및 자이로스코프 센서 (128) 로부터의 로 센서 데이터는 병진 및 회전 좌표들로 변환될 수도 있다. 속도 및 가속도 정보는 자이로스코프 센서 (128) 및/또는 가속도계 센서 (126) 로부터 수신된 데이터에 기초하여 컴퓨팅될 수도 있다. 이러한 방식으로, 컴퓨테이션 엔진이 업데이트된 위치 정보 뿐아니라, 워프 엔진으로 제공될 수도 있는 속도 및 가속도 데이터를 결정한다는 것이 인정되어야 한다. 속도 및 가속도 데이터는 사용자의 위치를 더 정확하게 예측하기 위해 사용될 수도 있다. 예를 들어, 속도 및 가속도 데이터를 사용하여, 워프 엔진은 업데이트 시에 사용자가 존재할 장소를 예측할 수 있다. 워프 엔진은 렌더링 해상도를 조정하기 위해 눈-추적 정보와 함께 속도 데이터를 사용할 수도 있다. 예를 들어, 사용자의 머리 (또는 눈들) 가 충분히 빠르게 (예를 들어, 소정의 임계값 - 100 도/초 - 을 지나) 이동하고 있는 경우, 렌더링은 DDR 대역폭을 최소화하기 위해 더 낮은 해상도에서 수행될 수도 있다.
도 3 에 도시된 바와 같이, 센서 데이터 프로세싱 오프로드 하드웨어 컴포넌트 (130) 는 DRAM 메모리 (104) 에 상주하는 GPU 커맨드 버퍼 (314) 로 업데이트된 위치 정보, 속도 데이터, 및/또는 가속도 데이터를 직접 피딩할 수도 있다 (참조 번호 331). 본 기술에서 알려진 바와 같이, GPU 커맨드 버퍼 (314) 는 스테레오 디스플레이 (302) 상에 렌더링된 이미지들을 디스플레이하기 위해 GPU (108) 로 커맨드들을 제공한다. GPU (108) 가 하드웨어 워프 엔진을 포함하는 경우, 센서 데이터 프로세싱 오프로드 하드웨어 컴포넌트 (130) 는 GPU (108) 로 업데이트된 위치 정보, 속도 데이터, 및/또는 가속도 데이터를 직접 피딩함으로써 (참조 번호 335), 커맨드 버퍼 (314) 를 바이패싱할 수도 있다. 가상 현실 애플리케이션(들) (120) 은 커맨드 버퍼 (314) 와 인터페이싱한다 (참조 번호 329).
GPU (108) 는 멀티뷰 렌더링된 이미지 (320) 를 생성하기 위해 텍스쳐 프로세스 (블록 316) 를 구현할 수도 있다 (참조 번호들 337 및 339). GPU (108) 는 또한 포스트-프로세싱된 이미지 (324) 를 생성하기 위한 타일 행 프로세스 (블록 322) 를 구현할 수도 있다 (참조 번호 343). 포스트-프로세싱된 이미지 (324) 는 디스플레이 (302) 상에 제시된다 (참조 번호들 343 및 345).
도 1 에 또한 도시된 바와 같이, 시스템 (100) 은 센서 프로세싱 컴포넌트 (350) 를 통해 종래의 센서 프로세싱을 구현할 수도 있다. 이러한 경우에, 센서 데이터는 DRAM 메모리 (104) 로 기입될 것이다. 센서 데이터는 그 후 위치 및 회전 정보를 생성하기 위해 센서 데이터 프로세싱 블록 (350) (도 3) 에 의해 취출 및 프로세싱될 것이고, 그 위치 및 회전 정보는 그 후 VR 애플리케이션(들) (120) 또는 CPU (106) (도 3) 에 의한 나중의 소비를 위해 DRAM 메모리 (104) 로 다시 기입된다. 센서 데이터 프로세싱은 DRAM 메모리 (104) 로 다수 회 판독 및 기입하는 것을 수반할 수도 있다는 것이 인정되어야 한다. 도 3 에 도시된 바와 같이, 카메라 데이터는 CPU (106) 또는 VR 애플리케이션(들) (120) 에 의해 소비되기 전에 IFE (이미징 프런트-엔드) 블록 (304) 및 그 후 IPE (이미징 포스트-프로세싱 엔진) 블록 (310) 에 의해 프로세싱된다.
도 4 는 센서 데이터 프로세싱 오프로드 하드웨어 (130) 의 예시적인 실시형태의 컴포넌트들 및 입력들/출력들을 도시한다. 이러한 실시형태에서, 센서 데이터 프로세싱 오프로드 하드웨어 (130) 는 샘플링/필터링 컴포넌트 (404), 구성 레지스터(들) (402), 컴퓨트 엔진 (406), 및 메모리 (예를 들어, SRAM (408)) 를 포함한다. CPU (106) 는 구성 레지스터(들) (402) 을 통해 센서 데이터 프로세싱 오프로드 하드웨어 (130) 의 양태들을 제어 및/또는 프로그래밍할 수도 있다. SRAM (408) 은 이력적 위치, 속도, 및 가속도 데이터를 저장할 수도 있으며, 이것은 컴퓨트 엔진 (406) 을 향상시킬 수도 있다. 샘플링/필터링 컴포넌트 (404) 는 카메라 (124), 가속도계 센서 (126), 및 자이로스코프 센서 (128) 로부터 로 센서 데이터 (401) 를 수신한다. 샘플링/필터링 컴포넌트 (404) 는 로 센서 데이터 (401) 내의 노이즈를 감소시킬 수도 있다. 필터링된 위치 정보에 기초하여, 컴퓨트 엔진 (406) 은 워프 엔진 (403) 으로 제공되는 속도 데이터 (414), 및/또는 가속도 (416) 을 생성하는 여러 알고리즘들을 실행할 수도 있다는 것이 인정되어야 한다. 이들 알고리즘들은 각각 속도 및 가속도 데이터를 생성하기 위해 위치 데이터의 간단한 1차 또는 2차 도함수를 취하는 것을 포함한다.
도 5 는 모션-대-포톤 레이턴시 및 DDR 대역폭을 감소시키기 위한 시스템 (100) 에서 구현된 방법 (500) 의 실시형태를 도시한다. 블록 (502) 에서, 로 센서 데이터 (401) 는 가상 현실 사용자의 병진 및 회전 모션을 추적하는 하나 이상의 센서들 (예를 들어, 카메라 (124), 가속도계 센서 (126), 및 자이로스코프 센서 (128)) 로부터 수신된다. 블록 (504) 에서, 센서 데이터 프로세싱 오프로드 하드웨어 (130) 는 수신된 센서 데이터에 기초하여 사용자에 대한 업데이트된 위치 데이터를 컴퓨팅한다. 센서 데이터 프로세싱 오프로드 하드웨어 (130) 는 또한 수신된 센서 데이터에 기초하여 속도 및 가속도 데이터를 컴퓨팅할 수도 있다 (블록 506). 블록 (508) 에서, 센서 데이터 프로세싱 오프로드 하드웨어 (130) 는 워프 엔진 (403) 으로 업데이트된 위치, 속도, 및/또는 가속도를 직접 피딩할 수도 있다.
상술된 바와 같이, 시스템 (100) 은 임의의 바람직한 컴퓨팅 시스템으로 통합될 수도 있다. 도 6 은 가상 현실 시스템 (100) 의 하나 이상의 컴포넌트들이 예시적인 휴대용 컴퓨팅 디바이스 (PCD) (600) 에 통합되는 실시형태를 도시한다. PCD (600) 는 스마트폰, 태블릿 컴퓨터, 웨어러블 디바이스 (예를 들어, HMD (200)) 를 포함할 수도 있다. 시스템 (100) 의 소정의 컴포넌트들 (예를 들어, 센서 데이터 프로세싱 오프로드 하드웨어 (130) 및 가상 현실 애플리케이션들 (120)) 은 SoC (322) 상에 포함되는 반면, 다른 컴포넌트들 (예를 들어, DRAM 메모리 (104)) 은 SoC (322) 에 커플링된 외부 컴포넌트들이다. SoC (322) 는 멀티코어 CPU (602) 를 포함할 수도 있다. 멀티코어 CPU (602) 는 제 0 코어 (610), 제 1 코어 (612) 및 제 N 코어 (614) 를 포함할 수도 있다. 그 코어들 중 하나는 예를 들어 그래픽 프로세싱 유닛 (GPU) 을 포함하고, 다른 코어들 중 하나 이상은 CPU 를 포함할 수도 있다.
디스플레이 제어기 (328) 및 터치 스크린 제어기 (330) 는 CPU (602) 에 커플링될 수도 있다. 차례로, 온-칩 시스템 (322) 의 외부의 터치 스크린 디스플레이 (506) 는 디스플레이 제어기 (328) 및 터치 스크린 제어기 (330) 에 커플링될 수도 있다.
도 6 은 또한 비디오 인코더 (334), 예를 들어, PAL (phase alternating line) 인코더, SECAM (sequential color a memoire) 인코더, 또는 NTSC (national television system(s) committee) 인코더가 멀티코어 CPU (602) 에 커플링되는 것을 보여준다. 또한, 비디오 증폭기 (336) 가 비디오 인코더 (334) 및 터치 스크린 디스플레이 (606) 에 커플링된다. 또한, 비디오 포트 (338) 는 비디오 증폭기 (336) 에 커플링된다. 도 6 에 도시된 바와 같이, 유니버셜 시리얼 버스 (USB) 제어기 (340) 는 멀티코어 CPU (602) 에 커플링된다. 또한, USB 포트 (342) 가 USB 제어기 (340) 에 커플링된다. 메모리 (104) 및 가입자 식별 모듈 (SIM) 카드 (346) 가 또한 멀티코어 CPU (602)에 커플링될 수도 있다.
또한, 도 6 에 도시된 바와 같이, 디지털 카메라 (348) 가 멀티코어 CPU (602) 에 커플링될 수도 있다. 예시적인 양태에서, 디지털 카메라 (348) 는 전하 커플링 디바이스 (CCD) 카메라 또는 상보작 금속산화물 반도체 (CMOS) 카메라이다.
도 6 에 더 도시된 바와 같이, 스테레오 오디오 코더-디코더 (CODEC) (350) 가 멀티코어 CPU (602) 에 커플링될 수도 있다. 게다가, 오디오 증폭기 (352) 가 스테레오 오디오 CODEC (350) 에 커플링될 수도 있다. 예시적인 양태에서, 제 1 스테레오 스피커 (354) 및 제 2 스테레오 스피커 (356) 가 오디오 증폭기 (352) 에 커플링된다. 도 6 은 마이크로폰 증폭기 (358) 가 또한 스테레오 오디오 CODEC (350) 에 커플링될 수도 있다는 것을 보여준다. 또, 마이크로폰 (360) 은 마이크로폰 증폭기 (358) 에 커플링될 수도 있다. 특정의 양태에서, 주파수 변조 (FM) 라디오 튜너 (362) 가 스테레오 오디오 CODEC (350) 에 커플링될 수도 있다. 또한, FM 안테나 (364) 가 FM 라디오 튜너 (362) 에 커플링된다. 또한, 스테레오 헤드폰들 (366) 이 스테레오 오디오 CODEC (350) 에 커플링될 수도 있다.
도 6 은 또한 무선 주파수 (RF) 송수신기 (368) 가 멀티코어 CPU (602) 에 커플링될 수도 있다는 것을 도시한다. RF 스위치 (370) 는 RF 송수신기 (368) 및 RF 안테나 (372) 에 커플링될 수도 있다. 키패드 (204) 가 멀티코어 CPU (602) 에 커플링될 수도 있다. 또한, 마이크로폰 (376) 을 갖는 모노 헤드셋이 멀티코어 CPU (602) 에 커플링될 수도 있다. 또한, 진동기 디바이스 (378) 가 멀티코어 CPU (602) 에 커플링될 수도 있다.
도 6 은 또한 전력 공급 장치 (380) 가 온-칩 시스템 (322) 에 커플링될 수도 있다는 것을 보여준다. 특정의 양태에서, 전력 공급 장치 (380) 는 전력을 요구하는 PCD (600) 의 여러 컴포넌트들에 전력을 제공하는 직류 (DC) 전력 공급 장치이다. 또한, 특정의 양태에서, 전력 공급 장치는 AC 전원에 연결되는 교류 (AC) 대 DC 트랜스포머로부터 도출되는 DC 전력 공급 장치 또는 충전가능 DC 배터리이다.
도 6 은 또한 PCD (600) 가 또한 데이터 네트워크, 예를 들어, 로컬 영역 네트워크, 개인 영역 네트워크, 또는 임의의 다른 네트워크를 액세스하기 위해 사용될 수도 있는 네트워크 카드 (388) 를 포함할 수도 있다는 것을 나타낸다. 네트워크 카드 (388) 는 블루투스 네트워크 카드, WiFi 네트워크 카드, 개인 영역 네트워크 (PAN) 카드, 개인 영역 네트워크 초절전 기술 (PeANUT) 네트워크 카드, 텔레비젼/케이블/위성 튜너, 또는 본 기술에서 잘 알려진 임의의 다른 네트워크 카드일 수도 있다. 또한, 네트워크 카드 (388) 는 칩으로 통합될 수도 있으며, 즉 네트워크 카드 (388) 는 칩 내에서 풀 (full) 솔루션일 수도 있고, 별개의 네트워크 카드 (388) 가 아닐 수도 있다.
도 6 에 도시된 바와 같이, 터치 스크린 디스플레이 (606), 비디오 포트 (338), USB 포트 (342), 카메라 (348), 제 1 스테레오 스피커 (354), 제 2 스테레오 스피커 (356), 마이크로폰 (360), FM 안테나 (364), 스테레오 헤드폰들 (366), RF 스위치 (370), RF 안테나 (372), 키패드 (374), 모노 헤드셋 (376), 진동기 (378), 및 전력 공급 장치 (380) 는 온-칩 시스템 (322) 의 외부에 존재할 수도 있다.
여기에 기술된 방법 단계들 중 하나 이상이 상술된 모듈들과 같은 컴퓨터 프로그램 명령들로서 메모리에 저장될 수도 있다는 것이 인정되어야 한다. 이들 명령들은 여기에 기술된 방법들을 수행하기 위해 대응하는 모듈과 결합하거나 협력하는 임의의 적합한 프로세서에 의해 실행될 수도 있다.
본 명세서에 기술된 프로세스들 또는 프로세스 흐름들에서의 소정의 단계들은 당연히 발명이 기술된 바와 같이 기능하도록 다른 단계들에 선행한다. 그러나, 본 발명은 그러한 순서 또는 시퀀스가 본 발명의 기능성을 변경하지 않는다면 기술된 단계들의 순서에 제한되지 않는다. 즉, 일부 단계들은 본 발명의 범위 및 사상으로부터 일탈하지 않고 다른 단계들 앞에, 뒤에, 또는 병렬로 (실질적으로 동시에) 수행될 수도 있다는 것이 인식된다. 일부 예들에서, 소정의 단계들은 본 발명으로부터 일탈하지 않고 생략되거나 수행되지 않을 수도 있다. 또, "이후에", "그 후", "다음에" 등과 같은 단어들은 단계들의 순서를 제한하도록 의도되지 않는다. 이들 단어들은 예시적인 방법의 설명을 통해 독자를 안하기 위해 단순하게 사용된다.
추가적으로, 프로그래밍에서 통상의 기술자는 예를 들어 본 명세서 내의 플로우 챠트들 및 연관된 설명에 기초하여 어려움 없이 개시된 발명을 구현하기 위해 컴퓨터 코드를 기록하거나 적절한 하드웨어 및/또는 회로들을 식별할 수 있다.
따라서, 특정의 세트의 프로그램 코드 명령들 또는 상세한 하드웨어 디바이스들의 개시는 본 발명을 실시하거나 사용하는 방법에 대한 적절한 이해를 위해 필요한 것으로 고려되지 않는다. 청구된 컴퓨터 구현 프로세스들의 발명적 기능성은 상기 설명에서 그리고 여러 프로세스 흐름들을 도시할 수도 있는 도면들과 결합하여 보다 상세히 설명된다.
하나 이상의 예시적인 양태들에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 기능들은 컴퓨터 판독가능 매체상에서 하나 이상의 명령들 또는 코드로서 저장 또는 송신될 수도 있다. 컴퓨터 판독가능 매체들은 컴퓨터 저장 매체들 및 한 장소에서 다른 장소로 컴퓨터 프로그램의 이송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들 양자 모두를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 비제한적인 예로, 이러한 컴퓨터 판독가능 매체들은 RAM, ROM, EEPROM, NAND 플래시, NOR 플래시, M-RAM, P-RAM, R-RAM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스들, 또는 소망의 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 반송 또는 저장하는데 사용될 수 있는 그리고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수 있다.
또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해진다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선 (twisted pair), 디지털 가입자 회선 (DSL), 또는 무선 기술들 이를테면 적외선, 라디오, 및/또는 마이크로파를 이용하여 송신된다면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술은 매체의 정의에 포함된다.
디스크 (disk 및 disc) 는 본원에서 사용되는 바와 같이, 콤팩트 디스크 (compact disc, CD), 레이저 디스크, 광 디스크, 디지털 다용도 디스크 (DVD), 플로피 디스크 (floppy disk) 및 블루레이 디스크를 포함하는데, disk 들은 보통 데이터를 자기적으로 재생하지만, disc 들은 레이저들로써 광적으로 데이터를 재생한다. 상기한 것들의 조합들은 컴퓨터 판독가능 매체들의 범위 내에 또한 포함되어야 한다.
대안적인 실시형태들은 본 발명이 속하는 기술에서 통상의 기술자에게는 그것의 사상 및 범위로부터 일탈하지 않고 분명하게 될 것이다. 따라서, 선택된 양태들이 상세히 도시 및 설명되었지만, 여러 대체들 및 변경들이 다음의 청구범위에 의해 정의된 바와 같은 본 발명의 사상 및 범위로부터 일탈하지 않고 행해질 수도 있다는 것이 이해될 것이다.

Claims (30)

  1. 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키는 방법으로서,
    전용 센서 프로세싱 컴포넌트에 의해, 가상 현실 애플리케이션에 대한 사용자의 병진 및 회전 모션을 추적하는 하나 이상의 센서들로부터 직접 센서 데이터를 수신하는 단계;
    상기 전용 센서 프로세싱 컴포넌트에 의해, 상기 센서 데이터에 기초하여 상기 사용자의 업데이트된 위치를 컴퓨팅하는 단계;
    상기 전용 센서 프로세싱 컴포넌트에 의해, 상기 센서 데이터에 기초하여 상기 사용자의 속도 및 가속도를 컴퓨팅하는 단계; 및
    상기 전용 센서 프로세싱 컴포넌트에 의해, 그래픽 프로세싱 유닛 (GPU) 과 연관된 커맨드 버퍼로 및 상기 GPU 에 의해 구현되는 워프 엔진으로 직접 상기 업데이트된 위치, 상기 속도, 및 상기 가속도를 제공하는 단계로서, 상기 GPU 는 상기 업데이트된 위치, 상기 속도, 및 상기 가속도 중 하나 이상에 기초하여 가상 현실 디스플레이로 전송하기 전에 렌더링된 이미지를 업데이트하도록 구성된, 상기 제공하는 단계를 포함하는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키는 방법.
  2. 제 1 항에 있어서,
    상기 커맨드 버퍼로 직접 상기 업데이트된 위치, 상기 속도, 및 상기 가속도를 제공하는 단계는 상기 커맨드 버퍼를 갖는 이중 데이터 레이트 (DDR) 메모리로 상기 업데이트된 위치, 상기 속도, 및 상기 가속도를 제공하는 단계를 포함하는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키는 방법.
  3. 제 1 항에 있어서,
    상기 하나 이상의 센서들은 카메라, 가속도계, 및 자이로스코프 센서를 포함하는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키는 방법.
  4. 제 3 항에 있어서,
    전용 하드웨어 디바이스가 상기 카메라, 상기 가속도계, 및 상기 자이로스코프 센서로부터 직접 상기 센서 데이터를 수신하는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키는 방법.
  5. 제 1 항에 있어서,
    상기 워프 엔진은 또한 상기 속도 및 상기 가속도 중 하나에 기초하여 렌더링 해상도를 조정하도록 구성되는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키는 방법.
  6. 제 1 항에 있어서,
    헤드마운트 가상 현실 디바이스에서 구현되는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키는 방법.
  7. 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템으로서,
    가상 현실 애플리케이션에 대한 사용자의 병진 및 회전 모션을 추적하는 하나 이상의 센서들로부터 직접 센서 데이터를 수신하는 수단;
    상기 센서 데이터에 기초하여 상기 사용자의 업데이트된 위치를 컴퓨팅하는 수단;
    상기 센서 데이터에 기초하여 상기 사용자의 속도 및 가속도를 컴퓨팅하는 수단; 및
    그래픽 프로세싱 유닛 (GPU) 과 연관된 커맨드 버퍼로 및 상기 GPU 에 의해 구현되는 워프 엔진으로 직접 상기 업데이트된 위치, 상기 속도, 및 상기 가속도를 제공하는 수단으로서, 상기 GPU 는 상기 업데이트된 위치, 상기 속도, 및 상기 가속도 중 하나 이상에 기초하여 가상 현실 디스플레이로 전송하기 전에 렌더링된 이미지를 업데이트하도록 구성된, 상기 제공하는 수단을 포함하는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템.
  8. 제 7 항에 있어서,
    상기 커맨드 버퍼는 이중 데이터 레이트 (DDR) 메모리에 저장되는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템.
  9. 제 7 항에 있어서,
    상기 하나 이상의 센서들은 카메라, 가속도계, 및 자이로스코프 센서를 포함하는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템.
  10. 제 9 항에 있어서,
    상기 센서 데이터를 수신하는 수단은 상기 카메라, 상기 가속도계, 및 상기 자이로스코프 센서에 커플링된 전용 하드웨어 유닛을 포함하는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템.
  11. 제 7 항에 있어서,
    상기 워프 엔진은 또한 상기 속도 및 상기 가속도 중 하나에 기초하여 렌더링 해상도를 조정하도록 구성되는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템.
  12. 제 7 항에 있어서,
    헤드마운트 가상 현실 디바이스에서 구현되는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템.
  13. 프로세싱 디바이스에 의해 실행될 때, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 방법을 구현하는 명령들을, 컴퓨터 실행가능 형태로 저장한 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 방법은,
    전용 센서 프로세싱 컴포넌트에 의해, 가상 현실 애플리케이션에 대한 사용자의 병진 및 회전 모션을 추적하는 하나 이상의 센서들로부터 직접 센서 데이터를 수신하는 단계;
    상기 전용 센서 프로세싱 컴포넌트에 의해, 상기 센서 데이터에 기초하여 상기 사용자의 업데이트된 위치를 컴퓨팅하는 단계;
    상기 전용 센서 프로세싱 컴포넌트에 의해, 상기 센서 데이터에 기초하여 상기 사용자의 속도 및 가속도를 컴퓨팅하는 단계; 및
    상기 전용 센서 프로세싱 컴포넌트에 의해, 그래픽 프로세싱 유닛 (GPU) 과 연관된 커맨드 버퍼로 및 상기 GPU 에 의해 구현되는 워프 엔진으로 직접 상기 업데이트된 위치, 상기 속도, 및 상기 가속도를 제공하는 단계로서, 상기 GPU 는 상기 업데이트된 위치, 상기 속도, 및 상기 가속도 중 하나 이상에 기초하여 가상 현실 디스플레이로 전송하기 전에 렌더링된 이미지를 업데이트하도록 구성된, 상기 제공하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  14. 제 13 항에 있어서,
    상기 커맨드 버퍼로 직접 상기 업데이트된 위치, 상기 속도, 및 상기 가속도를 제공하는 단계는 상기 커맨드 버퍼를 갖는 이중 데이터 레이트 (DDR) 메모리로 상기 업데이트된 위치, 상기 속도, 및 상기 가속도를 제공하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  15. 제 13 항에 있어서,
    상기 하나 이상의 센서들은 카메라, 가속도계, 및 자이로스코프 센서를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  16. 제 15 항에 있어서,
    전용 하드웨어 디바이스가 상기 카메라, 상기 가속도계, 및 상기 자이로스코프 센서로부터 직접 상기 센서 데이터를 수신하는, 비일시적 컴퓨터 판독가능 저장 매체.
  17. 제 13 항에 있어서,
    상기 워프 엔진은 또한 상기 속도 및 상기 가속도 중 하나에 기초하여 렌더링 해상도를 조정하도록 구성되는, 비일시적 컴퓨터 판독가능 저장 매체.
  18. 제 13 항에 있어서,
    헤드마운트 가상 현실 디바이스에서 구현되는, 비일시적 컴퓨터 판독가능 저장 매체.
  19. 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시를 감소시키기 위한 컴퓨터 시스템으로서,
    사용자의 병진 및 회전 모션을 추적하기 위한 하나 이상의 센서들;
    프로세싱 디바이스에 의해 실행되는 가상 현실 애플리케이션;
    상기 가상 현실 애플리케이션과 연관된 렌더링된 이미지들을 디스플레이하기 위한 그래픽 프로세싱 유닛 (GPU); 및
    상기 하나 이상의 센서들 및 상기 GPU 에 전기적으로 커플링된 전용 센서 프로세싱 컴포넌트를 포함하고,
    상기 전용 센서 프로세싱 컴포넌트는,
    상기 하나 이상의 센서들로부터 직접 센서 데이터를 수신하고;
    상기 센서 데이터에 기초하여 상기 사용자의 업데이트된 위치를 컴퓨팅하며;
    상기 센서 데이터에 기초하여 상기 사용자의 속도 및 가속도를 컴퓨팅하고; 및
    상기 GPU 와 연관된 커맨드 버퍼로 및 상기 GPU 에 의해 구현되는 워프 엔진으로 직접 상기 업데이트된 위치, 상기 속도, 및 상기 가속도를 피딩하며; 및
    상기 GPU 에 의해, 상기 업데이트된 위치, 상기 속도, 및 상기 가속도 중 하나 이상에 기초하여 가상 현실 디스플레이로 전송하기 전에 렌더링된 이미지를 업데이트하도록,
    구성된, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시를 감소시키기 위한 컴퓨터 시스템.
  20. 제 19 항에 있어서,
    상기 커맨드 버퍼는 이중 데이터 레이트 (DDR) 메모리에 저장되는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시를 감소시키기 위한 컴퓨터 시스템.
  21. 제 19 항에 있어서,
    상기 하나 이상의 센서들은 카메라, 가속도계, 및 자이로스코프 센서를 포함하고, 이들 각각은 상기 전용 센서 프로세싱 컴포넌트에 전기적으로 커플링되는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시를 감소시키기 위한 컴퓨터 시스템.
  22. 제 19 항에 있어서,
    상기 워프 엔진은 상기 속도 및 상기 가속도 중 하나에 기초하여 렌더링 해상도를 조정하도록 구성되는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시를 감소시키기 위한 컴퓨터 시스템.
  23. 제 19 항에 있어서,
    상기 가상 현실 애플리케이션, 상기 GPU, 및 상기 전용 센서 프로세싱 컴포넌트는 이중 데이터 레이트 (DDR) 메모리에 전기적으로 커플링된 시스템 온 칩 (SoC) 상에 상주하고,
    상기 커맨드 버퍼는 상기 DDR 메모리에 저장되는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시를 감소시키기 위한 컴퓨터 시스템.
  24. 제 19 항에 있어서,
    상기 전용 센서 프로세싱 컴포넌트는 중앙 프로세싱 유닛 (CPU) 을 포함하는, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시를 감소시키기 위한 컴퓨터 시스템.
  25. 제 19 항에 있어서,
    헤드마운트 가상 현실 디바이스에 통합된, 가상 현실 디스플레이 시스템에서 모션-대-포톤 레이턴시를 감소시키기 위한 컴퓨터 시스템.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020197002397A 2016-07-29 2017-06-29 가상 현실 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템들 및 방법들 KR101979564B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662368241P 2016-07-29 2016-07-29
US62/368,241 2016-07-29
US15/253,201 US9858637B1 (en) 2016-07-29 2016-08-31 Systems and methods for reducing motion-to-photon latency and memory bandwidth in a virtual reality system
US15/253,201 2016-08-31
PCT/US2017/040080 WO2018022250A1 (en) 2016-07-29 2017-06-29 Systems and methods for reducing motion-to-photon latency and memory bandwidth in a virtual reality system

Publications (2)

Publication Number Publication Date
KR20190015577A KR20190015577A (ko) 2019-02-13
KR101979564B1 true KR101979564B1 (ko) 2019-05-16

Family

ID=60788960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197002397A KR101979564B1 (ko) 2016-07-29 2017-06-29 가상 현실 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템들 및 방법들

Country Status (7)

Country Link
US (1) US9858637B1 (ko)
EP (1) EP3491489B1 (ko)
JP (1) JP6556973B1 (ko)
KR (1) KR101979564B1 (ko)
CN (1) CN109564466B (ko)
BR (1) BR112019001320A2 (ko)
WO (1) WO2018022250A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9332285B1 (en) 2014-05-28 2016-05-03 Lucasfilm Entertainment Company Ltd. Switching modes of a media content item
EP3347810A1 (en) * 2015-09-10 2018-07-18 Google LLC Playing spherical video on a limited bandwidth connection
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
US10928892B2 (en) * 2017-05-01 2021-02-23 Alibaba Technology (Israel) Ltd. Optical engine time warp for augmented or mixed reality environment
US20180329465A1 (en) * 2017-05-11 2018-11-15 Qualcomm Incorporated System and method for intelligent adjustment of an immersive multimedia workload in a portable computing device
US10496579B2 (en) * 2017-11-13 2019-12-03 Bobby Gene Burrough Graphics processing unit with sensor interface
US10706813B1 (en) * 2018-02-03 2020-07-07 Facebook Technologies, Llc Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
US10559276B2 (en) 2018-02-03 2020-02-11 Facebook Technologies, Llc Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
US10818086B2 (en) * 2018-02-09 2020-10-27 Lenovo (Singapore) Pte. Ltd. Augmented reality content characteristic adjustment
US10796407B2 (en) 2018-05-11 2020-10-06 Samsung Electronics Co., Ltd. Foveated domain storage and processing
US10678325B2 (en) 2018-05-22 2020-06-09 Facebook Technologies, Llc Apparatus, system, and method for accelerating positional tracking of head-mounted displays
CN108632598A (zh) * 2018-05-25 2018-10-09 小派科技(上海)有限责任公司 降低vr设备mtp延时的方法及装置
US10388255B2 (en) 2018-06-29 2019-08-20 Intel Corporation Computers for supporting multiple virtual reality display devices and related methods
CN113453774A (zh) * 2018-12-28 2021-09-28 奇跃公司 用于增强和虚拟现实显示系统的低运动到光子延迟架构
WO2020139752A1 (en) 2018-12-28 2020-07-02 Magic Leap, Inc. Variable pixel density display system with mechanically-actuated image projector
US20200387217A1 (en) * 2019-06-07 2020-12-10 Eyetech Digital Systems, Inc. Devices and Methods For Reducing Computational and Transmission Latencies In Cloud Based Eye Tracking Systems
KR102261993B1 (ko) * 2019-08-20 2021-06-07 주식회사 엘지유플러스 가상 현실 영상 제공 방법
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
WO2022050734A1 (en) * 2020-09-03 2022-03-10 Samsung Electronics Co., Ltd. Method and device for reducing performance difference between contents and devices in communication system
EP4059581A1 (en) * 2021-03-16 2022-09-21 Deutsche Telekom AG Method and system to reduce vr sickness in a cloud game service
US11822713B2 (en) * 2021-06-11 2023-11-21 Rockwell Collins, Inc. Pose augmentation of head worn display video for latency reduction
US11652513B2 (en) 2021-08-17 2023-05-16 Cisco Technology, Inc. Wireless reliability for devices in motion
CN114167992A (zh) * 2021-12-17 2022-03-11 深圳创维数字技术有限公司 显示画面渲染方法、电子设备及可读存储介质
US12002168B2 (en) * 2022-06-20 2024-06-04 Snap Inc. Low latency hand-tracking in augmented reality systems
WO2024063253A1 (ko) * 2022-09-23 2024-03-28 삼성전자주식회사 카메라로부터 획득한 이미지 내에 포함된 복수의 영역들 각각의 해상도들을 제어하기 위한 전자 장치 및 그 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150205132A1 (en) 2014-01-21 2015-07-23 Osterhout Group, Inc. See-through computer display systems
US20150370322A1 (en) 2014-06-18 2015-12-24 Advanced Micro Devices, Inc. Method and apparatus for bezel mitigation with head tracking
US20160253044A1 (en) 2013-10-10 2016-09-01 Eyesight Mobile Technologies Ltd. Systems, devices, and methods for touch-free typing

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801989B2 (en) * 2001-06-28 2004-10-05 Micron Technology, Inc. Method and system for adjusting the timing offset between a clock signal and respective digital signals transmitted along with that clock signal, and memory device and computer system using same
US7683188B2 (en) 2004-04-26 2010-03-23 TEVA Gyógyszergyár Zártkōrūen Mūkōdō Részvénytársaság Process for preparation of mycophenolic acid and ester derivatives thereof
CA2576016A1 (en) * 2004-08-03 2006-02-09 Silverbrook Research Pty Ltd Electronic stylus
US7483806B1 (en) 2007-07-20 2009-01-27 International Business Machines Corporation Design structures, method and systems of powering on integrated circuit
JP5388534B2 (ja) * 2008-10-09 2014-01-15 キヤノン株式会社 画像処理装置およびその方法、頭部装着型ディスプレイ、プログラム、記録媒体
US8294723B2 (en) * 2008-11-07 2012-10-23 Google Inc. Hardware-accelerated graphics for web applications using native code modules
US9024972B1 (en) * 2009-04-01 2015-05-05 Microsoft Technology Licensing, Llc Augmented reality computing with inertial sensors
US9400695B2 (en) * 2010-02-26 2016-07-26 Microsoft Technology Licensing, Llc Low latency rendering of objects
US20110242427A1 (en) * 2010-04-01 2011-10-06 Timothy Ramsdale Method and System for Providing 1080P Video With 32-Bit Mobile DDR Memory
US9898866B2 (en) 2013-03-13 2018-02-20 The University Of North Carolina At Chapel Hill Low latency stabilization for head-worn displays
US9412332B2 (en) * 2013-12-20 2016-08-09 Blackberry Limited Method for wirelessly transmitting content from a source device to a sink device
US9766463B2 (en) * 2014-01-21 2017-09-19 Osterhout Group, Inc. See-through computer display systems
AU2015274283B2 (en) 2014-06-14 2020-09-10 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US20160027141A1 (en) * 2014-07-22 2016-01-28 Oculus Vr, Llc In-band latency detection system
US9659410B2 (en) 2014-10-21 2017-05-23 Honeywell International Inc. Low latency augmented reality display
WO2016092698A1 (ja) * 2014-12-12 2016-06-16 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US9240069B1 (en) 2015-06-30 2016-01-19 Ariadne's Thread (Usa), Inc. Low-latency virtual reality display system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160253044A1 (en) 2013-10-10 2016-09-01 Eyesight Mobile Technologies Ltd. Systems, devices, and methods for touch-free typing
US20150205132A1 (en) 2014-01-21 2015-07-23 Osterhout Group, Inc. See-through computer display systems
US20150370322A1 (en) 2014-06-18 2015-12-24 Advanced Micro Devices, Inc. Method and apparatus for bezel mitigation with head tracking

Also Published As

Publication number Publication date
BR112019001320A2 (pt) 2019-05-07
CN109564466B (zh) 2020-08-25
CN109564466A (zh) 2019-04-02
KR20190015577A (ko) 2019-02-13
JP2019532375A (ja) 2019-11-07
EP3491489B1 (en) 2023-04-05
WO2018022250A1 (en) 2018-02-01
US9858637B1 (en) 2018-01-02
EP3491489A1 (en) 2019-06-05
JP6556973B1 (ja) 2019-08-07

Similar Documents

Publication Publication Date Title
KR101979564B1 (ko) 가상 현실 시스템에서 모션-대-포톤 레이턴시 및 메모리 대역폭을 감소시키기 위한 시스템들 및 방법들
US10739599B2 (en) Predictive, foveated virtual reality system
EP3574407B1 (en) No miss cache structure for real-time image transformations with data compression
CN110249317B (zh) 用于实时图像变换的无未命中高速缓存结构
US10672368B2 (en) No miss cache structure for real-time image transformations with multiple LSR processing engines
KR20160139461A (ko) 헤드 마운티드 디스플레이 및 그 제어 방법
US10997741B2 (en) Scene camera retargeting
WO2022252924A1 (zh) 图像传输与显示方法、相关设备及系统
KR102437276B1 (ko) 바디 움직임 기반의 클라우드 vr 장치 및 방법
CN107065164B (zh) 图像展示方法及装置
US20220172440A1 (en) Extended field of view generation for split-rendering for virtual reality streaming
KR102286517B1 (ko) 컨트롤러 입력에 따른 회전 구동 제어 방법 및 이를 이용한 헤드 마운티드 디스플레이 시스템
US20240029363A1 (en) Late stage occlusion based rendering for extended reality (xr)

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right