KR102575470B1 - 이미지 디스플레이를 제어하기 위한 디스플레이 디바이스의 추적의 사용 - Google Patents

이미지 디스플레이를 제어하기 위한 디스플레이 디바이스의 추적의 사용 Download PDF

Info

Publication number
KR102575470B1
KR102575470B1 KR1020207026510A KR20207026510A KR102575470B1 KR 102575470 B1 KR102575470 B1 KR 102575470B1 KR 1020207026510 A KR1020207026510 A KR 1020207026510A KR 20207026510 A KR20207026510 A KR 20207026510A KR 102575470 B1 KR102575470 B1 KR 102575470B1
Authority
KR
South Korea
Prior art keywords
display device
head
images
time
worn display
Prior art date
Application number
KR1020207026510A
Other languages
English (en)
Other versions
KR20200120948A (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 KR20200120948A publication Critical patent/KR20200120948A/ko
Application granted granted Critical
Publication of KR102575470B1 publication Critical patent/KR102575470B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2092Details of a display terminals using a flat panel, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G3/2096Details of the interface to the display terminal specific for a flat panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/003Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2250/00Miscellaneous game characteristics
    • A63F2250/49Miscellaneous game characteristics with provisions for connecting to a part of the body
    • A63F2250/497Head
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Optics & Photonics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

이미지 데이터의 디스플레이를 제어하기 위하여 디스플레이 디바이스의 위치 추적으로부터의 데이터를 사용하기 위한 기술들이 설명된다. 디스플레이 디바이스는, 예를 들어, HMD 디바이스를 착용한 사용자 주위의 시뮬레이션된 환경의 부분을 보여주고 실제 물리적 환경 내의 HMD 디바이스의 위치(예를 들어, 3D 공간 내의 로케이션 및/또는 배향)를 결정하는 것을 포함하여 추적하는 이미지들의 가상 현실("VR") 및/또는 증강 현실("AR")에 대해 사용되는 머리-착용 디스플레이("HMD")일 수 있다. HMD 디바이스 또는 다른 디스플레이 디바이스의 동작 및 디스플레이를 위한 이미지들을 제공하는 연관된 이미지 렌더링 시스템의 동작들은, 결정된 지연이 너무 큰 경우 디바이스의 안전 모드 동작을 개시하기 위한 것을 포함하여, 디바이스에 대한 추적 데이터를 획득하는 것과 디바이스 상에 대응하는 이미지들을 디스플레이하는 것 사이의 레이턴시 또는 다른 지연에 대한 정보를 결정하는 것 및 사용하는 것에 의해 개선된다.

Description

이미지 디스플레이를 제어하기 위한 디스플레이 디바이스의 추적의 사용
이하의 개시는 전반적으로 디스플레이 디바이스 상의 이미지 데이터의 디스플레이를 제어하기 위하여 디스플레이 디바이스의 위치 추적으로부터의 정보를 사용하기 위한, 예컨대, 대응하는 이미지들이 머리-착용(head-mounted) 디스플레이 디바이스 상에 디스플레이되는 방식을 제어하기 위하여 머리-착용 디스플레이 디바이스의 위치를 추적하는 것으로부터의 시간의 양에 대한 정보를 사용하기 위한 기술들에 관한 것이다.
증가하는 시각적 디스플레이 해상도에 대한 수요는 이미지 데이터 크기 및 연관된 송신 대역폭 사용량에서의 대응하는 큰 증가들을 야기하였다. 예를 들어, 더 높은 송신 대역폭들은 게이밍 디바이스들, 비디오 디스플레이 디바이스들, 모바일 컴퓨팅, 범용 컴퓨팅 등에서 증가하는 시각적 디스플레이 해상도로부터 기인하였다. 이에 더하여, 가상 현실(virtual reality; "VR") 및 증강 현실(augmented reality; "AR") 시스템들, 특히 머리-착용 디스플레이(head-mounted display; "HMD")들을 사용하는 가상 현실 및 증강 현실 시스템들의 성장하고 있는 인기가 이러한 수요를 추가로 증가시키고 있다. 가상 현실 시스템들은 전형적으로 착용자의 눈들을 완전히 감싸고 착용자의 전방에서 실제 뷰(view)(또는 실제 현실)를 "가상" 현실로 치환하며, 반면 증강 현실 시스템들은 전형적으로, 실제 뷰가 추가적인 정보로 증강되도록 착용자의 눈들의 전방에 하나 이상의 스크린들의 반-투명 또는 투명 오버레이(overlay)를 제공한다.
그러나, 이러한 HMD 디바이스들에 대한 이미지들의 생성 및 주변 물리적 환경과 조율하기 위한 그들의 디스플레이의 타이밍은 이러한 디바이스들의 사용에 수반되는 이슈들을 증가시켜왔다.
도 1a 내지 도 1i는 예시적인 환경 및 상황에서 본 개시에서 설명되는 적어도 일부 기술들의 사용의 예들을 예시한다.
도 2a는 본 개시의 예시적인 실시예에 따른 쌍안 디스플레이 패널들을 포함하는 HMD 디바이스의 상단 평면도를 예시한다.
도2b는 본 개시에서 설명되는 적어도 일부 기술들을 수행하기 위한 디스플레이 디바이스의 예시적으로 구성된 하드웨어 회로부를 예시하는 개략도이다.
도 3은, 추적-기반 디스플레이 관리자(Tracking-based Display Manager; "TDM") 시스템을 포함하는, 설명되는 기술들 중 적어도 일부를 수행하기 위한 예시적인 디바이스들 및 시스템들을 예시하는 블록도이다.
도 4는 TDM 시스템의 이미지 추적 데이터 인코더 루틴의 예시적인 실시예의 순서도이다.
도 5는 TDM 시스템의 이미지 추적 데이터 인코더 루틴의 예시적인 실시예의 순서도이다.
본 개시는 전반적으로 디스플레이 디바이스 상의 이미지 데이터의 디스플레이를 제어하기 위하여 디스플레이 디바이스의 추적으로부터의 데이터를 사용하기 위한 기술들에 관한 것이다. 적어도 일부 실시예들에 있어서, 디스플레이 디바이스는, 예컨대, HMD 디바이스를 착용하고 있는 사용자 주변의 실제 물리적 환경이 아니라 전체적으로 또는 부분적으로 시뮬레이션된 환경인 이미지들을 생성하고 제공하기 위한 이미지 렌더링 시스템에 의해 제공되는 이미지들의 VR 및/또는 AR 디스플레이를 위해 사용되는 머리-착용 디스플레이(head-mounted display; "HMD") 디바이스이며, HMD 디바이스의 추적은 실제 물리적 환경 내에서 HMD 디바이스의 위치(예를 들어, HMD 디바이스의 3차원 공간 내의 로케이션(location) 및/또는 배향)를 결정하는 것을 포함한다. 예를 들어, HMD 디바이스 또는 다른 디스플레이 디바이스의 추적된 위치는, 예컨대, 추적된 위치에 대응하도록 사용자에게 디스플레이될 전체적으로 또는 부분적으로 사용자를 둘러싸는 시뮬레이션된 환경의 서브세트의 뷰를 결정하기 위하여 그리고 디바이스 위치가 변화함에 따라 뷰를 변화시키기 위하여 디바이스 상에 디스플레이될 하나 이상의 이미지들을 결정하기 위해 사용될 수 있지만 - 그러나, 추적 데이터의 사용이 (예를 들어, 추적 데이터가 획득되는 때와 결과적인 이미지가 디스플레이되는 때 사이의 충분히 긴 지연에 기인하여) 디스플레이의 시점에 디바이스의 위치에 실제로 대응하지 않는 이미지들이 디스플레이되는 것을 야기하는 경우, 잠재적으로 사용자 및/또는 디바이스를 손상의 위험에 처하게 하는 것(예를 들어, HMD 디바이스를 갖는 사용자가 물리적 환경 주위를 움직이고 HMD 디바이스 상에 디스플레이되는 VR 이미지들에 반영되지 않은 환경 내의 장애물들에 접근할 때)을 포함하여, 디스플레이 시스템의 성능이 저하될 수 있다.
따라서, 적어도 일부 실시예들에 있어서, HMD 디바이스 또는 다른 디스플레이 디바이스의 동작 및 디스플레이를 위한 이미지들을 제공하는 연관된 이미지 렌더링 시스템의 동작은, 디바이스에 대한 위치 추적 데이터를 획득하는 것과 디바이스 상에 대응하는 이미지들을 디스플레이하는 것 사이의 레이턴시(latency) 또는 다른 지연에 대한 정보를 결정하고 사용함으로써 개선된다. 특히, 결정된 지연이 너무 큰 경우(예를 들어, 정의된 임계를 초과하거나 또는 달리 하나 이상의 정의된 기준을 만족시키는 경우), HMD 디바이스 또는 다른 디스플레이 디바이스는 적어도 일부 실시예들에 있어서, 예컨대 사용자에게 잠재적인 문제를 식별시키거나 및/또는 달리 사용자에게 잠재적인 문제를 통지하는 다른 이미지들을 가지고 디바이스 상에 디스플레이되는 시뮬레이션된 환경의 이미지들을 대체하기 위하여 안전 모드 동작에 진입한다. 추가로, 안전 모드 동작들을 개시하기 위하여 결정된 지연 정보를 사용하는 것에 더하여 또는 그 대신에, 적어도 일부 실시예들에서 결정된 지연 정보는 디스플레이를 위해 디바이스에 제공되는 시뮬레이션된 환경의 이미지들을 개선하기 위하여, 예컨대, 이미지 렌더링 시스템이, 결정된 지연에 대응하는 양만큼 디바이스의 현재 위치에 대한 추적 데이터를 획득하는 시간과는 상이한 장래의 시간에 대하여 디바이스의 장래의 위치를 예측하는 것을 가능하게 하기 위하여 그리고 장래의 시간에 예측된 장래의 위치에 대응하는 디스플레이를 위한 이미지들을 생성하고 제공하는 것을 가능하게 하기 위하여 사용될 수 있다. 본원에서 설명되는 기술들 중 일부 또는 전부는 이하에서 더 상세하게 논의되는 바와 같은 추적-기반 디스플레이 관리자(Tracking-based Display Manager; "TDM") 시스템의 실시예들의 자동화 동작들을 통해 수행될 수 있다.
HMD 디바이스 또는 다른 디스플레이 디바이스의 위치의 추적은 다양한 실시예들에 있어서 다양한 방식들로 수행될 수 있으며, 이는 일부 실시예들에 있어서 (예를 들어, 가속도계들 및/또는 자이로스코프들 및/또는 자력계들을 제공하는 관성 측정 유닛들 또는 IMU들을 통해서; 외부 디바이스들로부터 신호들을 수신하고 위치 정보를 결정하기 위하여 신호들을 사용하는 GPS 또는 다른 센서들을 통해서; 등) HMD 디바이스 또는 다른 디스플레이 디바이스로부터 제공되는 정보에 의해 전체적으로 또는 부분적으로 발생하는 것 및 일부 실시예들에 있어서 HMD 디바이스 또는 다른 디스플레이 디바이스 외부의 하나 이상의 다른 디바이스들(예를 들어, 모션 센서들, 카메라들, 등)로부터 제공되는 정보에 의해 전체적으로 또는 부분적으로 발생하는 것을 포함한다. 추적된 위치 정보에 대한 로케이션 및/또는 배향은 추가로 다양한 실시예들에 있어서 하나 이상의 다른 물체들 또는 기준 포인트들(예를 들어, 사용자가 움직이고 있는 실제 물리적 환경 내의 고정된 포인트)에 상대적인 방식 및/또는 (예를 들어, GPS 좌표 시스템의 사용을 통한) 절대적인 방식을 포함하는 다양한 방식들로 결정될 수 있다. 비제한적일 일 예로서, HMD 디바이스 또는 다른 디스플레이 디바이스가 위치되는 물리적 환경(예를 들어, 15 피트 x 15 피트 면적의 공간)은 적외선 레이저의 회전이 뒤따르는 반복적으로(예를 들어, 초 당 60 회) 적외선 플래시(flash)를 송신하는 (때때로 "베이스 스테이션(base station)들"로서 지칭되는) 하나 이상의 하드웨어 디바이스들을 포함할 수 있으며, 여기에서 HMD 디바이스 또는 다른 디스플레이 디바이스는, 특정 광 센서들이 높은 정도의 정확도(예를 들어, 밀리미터 이하)를 가지고 물리적 환경 내의 3D 로케이션 및 배향을 결정하기 위하여 레이저 광을 검출할 때까지 적외선 플래시를 검출하고 후속 시간의 양을 사용하는 다양한 광 센서들을 포함한다. 추가로, 일부 실시예들에 있어서, HMD 디바이스 또는 다른 디스플레이 디바이스의 위치의 추적은, 일부 실시예들에 있어서, 위치를 결정하기 위해 외부 디바이스(들)에 의해, 위치를 결정하는 디스플레이 디바이스 상의 하나 이상의 센서들에 의해, 등에 의해 사용되는 마커 또는 트래커(tracker)와 같은 디바이스 상의 하나 이상의 포인트들 또는 다른 로케이션들을 추적하는 것을 포함할 수 있다. 다른 실시예들에 있어서, HMD 디바이스 또는 다른 디스플레이 디바이스의 위치의 추적은 부분적으로 또는 전체적으로 디바이스와 연관된 하나 이상의 다른 근접 물체들, 예컨대 디바이스의 사용자의 신체 상의 하나 이상의 포인트들 또는 다른 로케이션들 및/또는 하나 이상의 다른 연관된 디바이스들(예를 들어, 핸드헬드 제어기들과 같은 사용자에 의해 사용되는 입력/출력 디바이스들; 사용자에 의해 착용되거나 또는 운반되거나 또는 사용자에 의해 착용되거나 또는 운반되는 물체들에 부착된 센서들 또는 다른 디바이스들; 등)에 대한 하나 이상의 포인트들 또는 다른 로케이션들을 추적하는 것에 기초할 수 있다. 위치 추적 정보를 획득하고 사용하는 것과 관련된 추가적인 세부사항들이 이하에서 포함된다.
디바이스의 추적된 위치에 기초하여 HMD 디바이스 또는 다른 디스플레이 디바이스 상에 디스플레이될 이미지들은 다양한 실시예들에서 다양한 형태들을 가질 수 있으며, 다양한 방식들로 생성되거나 또는 달리 결정되거나 또는 선택될 수 있다. 예를 들어, 적어도 일부 실시예들에 있어서, 이미지 렌더링 시스템은, 예컨대, (예를 들어, 초 당 30, 또는 60, 또는 90 프레임의 레이트(rate)로) 비디오 프레임들인 이미지들의 연속을 생성함으로써, HMD 디바이스 또는 다른 디스플레이 디바이스 주위의 시뮬레이션된 환경의 서브세트의 뷰에 대응하는 이미지들을 생성하며 - 이러한 이미지 렌더링 시스템은, 예를 들어, 사용자가 시뮬레이션된 환경이 제공하는 게임에 참여(예를 들어, 이와 상호작용)하는 게이밍 시스템의 부분일 수 있다. 이러한 이미지는 복수의 픽셀 값들을 포함할 수 있으며, 예컨대, 이미지 내에(예를 들어, 헤더 내에) 하나 이상의 유형들의 메타데이터를 포함시키기 위하여 또는 달리 이미지와 연관된 이러한 메타데이터를 송신하기 위하여, 선택적으로 이미지를 압축하기 위하여, 등을 위하여 HMD 디바이스 또는 다른 디스플레이 디바이스로의 송신을 위해 다양한 형태들로 인코딩될 수 있다. 특정한 일 예에 있어서, 이미지는, 이미지의 생성 또는 다른 결정 또는 선택과 연관된 시간, 예컨대, 대응하는 추적된 위치가 결정되는 시간, 대응하는 추적된 위치를 반영하도록 이미지가 생성되거나 또는 달리 결정되는 시간, 이미지 내에 반영되는 HMD 디바이스 또는 다른 디스플레이 디바이스의 장래의 추정된 위치에 대응하는 이미지의 생성 또는 다른 결정 이후의 장래의 시간, 등에 관한 연관된 타이밍 정보를 포함하거나 또는 달리 이를 갖도록 인코딩될 수 있다. 다른 실시예들에 있어서, 타이밍 정보 대신에 또는 이에 더하여, 이미지 내에 인코딩되거나 또는 달리 이미지와 함께 포함되는 연관된 정보는, 이에 이미지가 대응하는 HMD 디바이스 또는 다른 디스플레이 디바이스의 실제(예를 들어, 현재) 및/또는 추정된 장래의 추적된 위치에 대한 위치결정(positioning) 정보를 포함할 수 있다. 이에 더하여, 본원에서 사용되는 바와 같은, "픽셀"은 그 디스플레이에 대하여 모든 가능한 컬러 값들을 제공하도록 활성화될 수 있는 디스플레이의 최소 어드레스가능(addressable) 이미지 엘리먼트를 나타내며, 여기에서 픽셀은, 다수의 경우들에 있어서, 인간 시청자에 의한 인식을 위하여 적색, 녹색 및 청색 광을 개별적으로 생성하기 위한 (일부 경우들에 있어서 별개의 "서브-픽셀들"로서) 개별적인 각각의 서브-엘리먼트들을 포함하며, 그리고 본원에서 사용되는 바와 같은 "픽셀 값"은 단일 픽셀의 이러한 개별적인 RGB 엘리먼트들 중 하나 이상에 대한 자극의 개별적인 레벨들에 대응하는 데이터 값을 나타낸다.
이에 더하여, HMD 디바이스 또는 다른 디스플레이 디바이스(예를 들어, 스마트 폰 또는 다른 핸드헬드 디바이스)의 안전 모드 동작들이 다양한 방식들로 구현될 수 있다. 예를 들어, 일부 실시예들에 있어서, 예컨대, 이동을 중단하는 것 및/또는 HMD 디바이스를 제거하는 것 또는 달리 디스플레이 디바이스의 사용을 중단하는 것을 사용자에게 프롬프트(prompt)하기 위하여 텍스트 및/또는 다른(예를 들어, 청각적, 촉각적, 등의) 경고가 사용자에게 제공될 수 있다. 이에 더하여, 일부 실시예들에 있어서, 경고를 제공하는 것 대신에 또는 이에 더하여, 주변의 실제 물리적 환경 내의 사용자의 위치에 관한 정보를 제공하기 위하여, 그리고 적어도 일부 실시예들에 있어서, 추적된 위치 정보에 기초하여 디바이스 상에서의 디스플레이를 위해 제공되는 하나의 또는 다른 이미지들을 대체하기 위하여 하나 이상의 대안적인 이미지들이 HMD 디바이스 또는 다른 디스플레이 디바이스 상에서 사용자에게 디스플레이될 수 있으며 - 이러한 대안적인 이미지들은, 예를 들어, (예를 들어, HMD 디바이스 또는 다른 디스플레이 디바이스 상의 전향(front-facing) 카메라로부터의) 주변의 실제 물리적 환경의 이미지들 및/또는 주변의 실제 물리적 환경의 가상 뷰(예를 들어, 선택적으로 물리적 영역 외부의 그렇지만 그것의 경계들 중 하나 이상 근처의 물체들과 같은 주변의 실제 물리적 환경 내의 하나 이상의 물리적 물체들의 표현들을 갖는, 사용자가 움직이려고 하는 주변의 실제 물리적 환경 내의 물리적 영역의 부분들의 경계들을 보여주기 위한 그리드(grid))를 포함할 수 있다. 추가로, 적어도 일부 실시예들에 있어서 이미지 렌더링 시스템은 또한 시뮬레이션된 환경의 이미지들을 생성하는데 수반되는 동작들을 일시 정지하거나 또는 종료하도록 통지를 받을 수 있으며, HMD 디바이스는 선택적으로 일부 실시예들에서 임박한 충돌에 대해 준비될 수 있다. 이에 더하여, HMD 디바이스 또는 다른 디스플레이 디바이스에 대하여 안전 모드 동작들이 개시된 이후에, 안전 모드는, 예컨대 정의된 시간의 양 이후에, (예를 들어, 디스플레이 디바이스 및/또는 이미지 렌더링 시스템을 재시작하거나 또는 리셋함으로써) 사용자가 그렇게 하도록 수동으로 표시한 이후에, 충분한 연관된 지연을 갖지 않거나 또는 안전 모드 동작들을 개시하는 것과 연관된 기준을 달리 트리거하지 않는 시뮬레이션된 환경의 추가적인 이미지들이 수신된 이후, 등에 다양한 실시예들에서 다양한 방식들로 종료될 수 있다. 안전 모드 동작들을 구현하는 것과 관련된 추가적인 세부사항들이 이하에 포함된다.
추가로, 설명되는 기술들의 적어도 일부 실시예들에 있어서 이점들은, 예컨대, 주변의 실제 물리적 환경 내의 물리적 물체들과 디바이스 및/또는 사용자의 충돌들을 최소화함으로써, 적어도 부분적으로 디바이스에 대한 위치 추적 데이터를 획득하는 것과 디바이스 상에 대응하는 이미지들을 디스플레이하는 것 사이로 결정되는 지연에 관한 정보를 사용하는 것에 기초하여 디바이스 및/또는 그것의 사용자에 대한 손상을 최소화하거나 또는 제거하는 것을 포함하여, HMD 디바이스 또는 다른 디스플레이 디바이스의 동작 및 연관된 이미지 렌더링 시스템의 동작을 개선하는 것을 포함한다. 또한, 더 정확한 실제 지연 정보를 획득하고 사용함으로써, 시스템들에 대하여 이미지 디스플레이의 시간에서 디바이스의 장래의 위치를 추정하는 것 및/또는 그 이미지 디스플레이의 장래의 시간을 추정하는 것을 포함하여, 디스플레이하기 위한 이미지들의 생성 또는 다른 결정 또는 선택이 또한 개선될 수 있으며 - 이러한 정확한 실제 지연 정보는 추가로 (예를 들어, 하나 이상의 이미지들이 이에 대응하는 디스플레이의 장래의 시간을 결정하려고 시도하기 위하여 더 적은 프로세싱 파워 및 시간을 사용함으로써) 이미지 렌더링 시스템이 더 효율적을 동작하는 것을 가능하게 할 수 있거나, (예를 들어, 디스플레이의 시간에서 HMD 디바이스 또는 다른 디스플레이 디바이스의 위치를 더 양호하게 반영하도록) 더 정확한 이미지들이 생성되는 것을 가능하게 할 수 있거나 하는 등이다.
예시적인 목적들을 위하여, 다양한 특정 세부사항들이 예시적인 목적들을 위하여 포함되는 일부 실시예들이 이하에서 설명되며, 일부 경우들에 있어서, 일부 실시예들은 간명함을 위하여 잘-알려진 컴포넌트들을 예시하지 않도록 간략화된다. 비-배타적인 일 예로서, 일부 실시예들에 있어서, 특정 유형들의 디바이스 추적 기술들, 하드웨어 센서들, 디스플레이 디바이스들(예를 들어, HMD 디바이스들) 및 (예를 들어, OLED 또는 유기 발광 다이오드들을 사용하는; LCD 또는 액정 디스플레이를 사용하는; 등의) 디스플레이 패널들 및 광학적 렌즈들, 입력/출력 디바이스들 등이 특정한 방식들로(예를 들어, 하드웨어 센서들이 디스플레이 디바이스의 부분인 상태로) 사용되고 구성되며, HMD 디바이스의 제어 동작들의 부분으로서 특정 유형들의 기술들을 사용하는 것을 포함하여 특정 사용들(예를 들어, 가상 현실 및/또는 증강 현실을 위한 사용들)을 위한 특정 방식들로 사용된다. 다른 예로서, 일부 실시예들에 있어서, 추적되며 그것의 위치가 대응하는 위치-기반 이미지들을 생성하거나 또는 달리 선택하기 위해 사용되는 디바이스들은 한 명 이상의 인간 사용자들에 의해 사용된다. 그러나, 다른 유형들의 디스플레이 디바이스들 및 디바이스 추적 기술들을 사용하는 것 및/또는 인간에 의해 사용되지 않은 디바이스들을 사용하는 것을 포함하여 이들 중 일부가 본원에서 논의되는 매우 광범위한 다른 상황들에서 발명적인 기술들이 사용될 수 있다는 것, 및 그에 따라서 본 발명이 제공되는 예시적인 세부사항들에 한정되지 않는다는 것이 이해될 것이다. 이에 더하여, 다양한 세부사항들이 예시적인 목적들을 위하여 도면들 및 본문에서 제공되지만, 이는 본 발명의 범위를 제한하도록 의도되지 않는다.
도 1a 내지 도 1h는 예시적인 환경 및 상황에서 본 개시에서 설명되는 적어도 일부 기술들의 사용의 예들을 예시하며, 도 1i는 이러한 예시적인 환경에서 타이밍 정보의 사용 및 정보 교환의 예들을 예시한다. 특히, 도 1a의 예에 있어서, 인간 사용자(105)는 실제 물리적 환경(147) 내에 있으며, 이러한 예에 있어서 이러한 물리적 환경은 뷰(100a)에 도시된 바와 같이 건물의 방(이의 일 부분이 코너들(125)로서 도시됨)이다. 사용자는 HMD 디바이스(110)를 착용하고 있으며, 이를 통해 사용자는, 도 1c 내지 도 1d 및 도 1f에 대하여 더 상세하게 논의되는 바와 같이, 실제 물리적 환경과는 상이한 시뮬레이션된 환경의 디스플레이되는 정보를 수신할 수 있다. 예시된 실시예에 있어서, HMD 디바이스(110)는 케이블(145)("테더(tether)"로도 지칭됨)을 통해 컴퓨팅 시스템(140)에 연결되지만, 다른 실시예들에 있어서, HMD 디바이스는 무선 연결(미도시)을 통해 컴퓨팅 시스템(140)과 일부 또는 모든 상호작용들을 수행할 수도 있으며 - 이러한 예에 있어서, 컴퓨팅 시스템(140)은 사용자에게 디스플레이하기 위하여 HMD 디바이스로 시뮬레이션된 환경의 이미지들을 공급하는 이미지 렌더링 시스템으로서 역할한다. 사용자(105)는 추가로 실제 물리적 환경 주위를 움직일 수 있으며, 이러한 예에 있어서, 예컨대, 테이블(160a) 또는 탁자(160b)와 같은 실제 물리적 환경 내의 장애물들에 부딪히는 것을 회피하기 위하여 (경계들(151a, 151b, 151c 및 151d)을 갖는) 물리적 환경의 서브세트인 영역(150) 내에 머무를 것으로 예상된다. 이러한 예에 있어서, 사용자(105)는 추가로, 사용자가 시뮬레이션된 환경과 추가로 상호작용하는 것을 가능하게 하기 위한 하나 이상의 I/O("입력/출력") 디바이스들을 가질 수 있으며, 이러한 예에 있어서 이는 핸드-헬드 제어기(115)를 포함한다.
사용자가 영역(150) 내에서 HMD 디바이스(110)의 로케이션을 움직이거나 및/또는 이의 배향을 변화시킴에 따라, 예컨대, 도 1c 내지 도 1d 및 도 1f에 대하여 더 상세하게 논의되는 바와 같이, 시뮬레이션된 환경의 대응하는 부분이 HMD 디바이스 상에서 사용자에게 디스플레이되는 것을 가능하게 하기 위하여 HMD 디바이스의 위치가 추적된다. 일부 실시예들에 있어서, HMD 디바이스(110)의 위치의 추적은 부분적으로 또는 전체적으로 HMD 디바이스 자체에 의해 수행될 수 있으며, 여기에서 추적은 이러한 예에 있어서 하나 이상의 외부 디바이스들에 의해 추가로 보조될 수 있다. 특히, 도 1a의 예에서 예시적인 디바이스들은 HMD 디바이스(110)가 검출하고 HMD 디바이스의 위치를 결정하기 위해 사용하는 신호들(122)(예를 들어, 광 펄스들)을 방출하는 2개의 베이스 스테이션들(120)을 포함하지만, 다른 실시예들에 있어서, 하나 이상의 외부 센서들이 그 대신에 다른 방식들로 추적을 수행할 수 있다. 이러한 예에 있어서, 제어기들(115)은, 제어기들의 위치들을 추적하는데 사용하기 위하여 (그리고 HMD 디바이스의 위치를 결정하는 것 및/또는 검증하는 것을 보조하기 위해 이러한 정보를 선택적으로 사용하기 위하여) 유사한 기술들을 추가로 이용할 수 있지만, 다른 실시예들에 있어서, 제어기들이 이러한 방식으로 추적되지 않을 수 있거나 및/또는 사용자 상의 또는 사용자 근처의 다른 디바이스들/센서들(미도시)이 유사하게 추적될 수 있다. 이러한 추적에 기초하여 특정 시간에 대한 HMD 디바이스(110)의 추적된 위치가 알려진 이후에, 대응하는 정보가 케이블(145)을 통해 컴퓨팅 시스템(140)으로 송신되며, 이는 사용자(105)에게 디스플레이할 시뮬레이션된 환경의 하나 이상의 다음 이미지들을 생성하기 위해 추적된 위치 정보를 사용한다. 이에 더하여, 여기에 예시되지는 않았지만, (예를 들어, 외부 카메라를 통해) 이러한 외부 디바이스들 및/또는 HMD 디바이스는, 예컨대 도 1h에 대하여 논의되는 바와 같이 실제 물리적 환경의 이후의 인공(artificial) 버전의 생성에서 사용하기 위하여, 실제 물리적 환경 내의 실제 물리적 물체들에 대한 정보를 획득할 수 있다.
도 1i는 이러한 예시적인 환경에서의 타이밍 정보의 사용 및 정보 교환의 예들을 예시한다. 특히, 예시적인 이미지 렌더링 시스템(예를 들어, 도 1a의 컴퓨팅 시스템(140))의 액션들이 도 1i의 제 1 타임라인(190a)을 따라 예시되며, 예시적인 HMD 디바이스(예를 들어, 도 1a의 HMD 디바이스(110))의 액션들이 도 1i의 제 2 타임라인(190b)을 따라 예시된다. 도 1a에 대하여 이상에서 언급된 바와 같이, HMD 디바이스는, 예컨대, 그 추적 정보에 대응하는 사용자 주위의 시뮬레이션된 환경의 뷰들을 생성하는데 있어서의 이미지 렌더링 시스템에 의한 사용을 위하여, 시간 T3에서의 HMD 디바이스의 로케이션 및 배향을 반영하는 추적 정보와 함께, 시간 T3에서 HMD 디바이스에 의해 개시되는 송신에서 도 1i에 예시된 바와 같이, HMD 디바이스와 이미지 렌더링 시스템 사이의 제어 데이터 송신 경로를 따라 이미지 렌더링 시스템으로 시간들에서 정보를 전송할 수 있지만 - 다른 실시예들에 있어서, 이미지 렌더링 시스템 자체가 (예를 들어, HMD 디바이스 외부의 센서들을 사용하여) HMD 디바이스에 대한 추적 정보를 결정할 수 있으며, 그러한 경우 시간 T3에서의 추적 정보 송신(및 제어 데이터 송신 경로를 따른 시간 T6에서의 유사한 후속 추적 정보 송신)이 수행되지 않을 수 있다.
도 1i에 추가로 예시된 바와 같이, 이미지 렌더링 시스템은, 다양한 실시예들에 있어서 다양한 방식들로, 이미지 렌더링 시스템으로부터 HMD 디바이스로 정보를 전송하는 것과 HMD 디바이스에 의한 이러한 정보의 후속 디스플레이 사이의 레이턴시 또는 다른 지연에 대한 정보를 결정할 수 있다. 일부 실시예들에 있어서, 예컨대, 이미지 렌더링 시스템이 제어 데이터 송신 경로를 따라 이미지 렌더링 시스템으로부터 HMD 디바이스로 정보를 전송하고 응답 정보를 수신하기 위하여 왕복(roundtrip) 레이턴시 또는 다른 지연을 측정하는 것을 가능하게 하기 위하여, 이미지 렌더링 시스템은, HMD 디바이스가 이에 대하여 대응하는 타이밍 응답을 가지고 제어 데이터 송신 경로를 따라 즉시 응답하는 특수 타이밍 송신들(예를 들어, '핑(ping)' 명령과 유사한 방식으로 임의의 이미지 데이터를 포함하지 않는 하나 이상의 타이밍 패킷들)을 제어 데이터 송신 경로를 따라 전송할 수 있으며, 이미지 렌더링 시스템은 이러한 왕복 레이턴시 또는 다른 지연으로부터 (예를 들어, 부분적으로 왕복 시간의 절반에 기초하여 또는, 달리 이미지 렌더링 시스템과 HMD 디바이스 사이의 업로드 및 다운로드 속도가 상이한 경우에 1-방향 시간 결정을 조정하기 위하여 그리고 선택적으로 별개의 비디오 데이터 송신 경로를 따른 레이턴시에 대한 초기 추정으로서 제어 데이터 송신 경로 레이턴시를 사용하기 위하여) 1-방향 레이턴시 또는 다른 지연을 추정할 수 있다. 이러한 타이밍 송신 및 응답의 예들은 이미지 렌더링 시스템으로부터 시간 T0에서 전송되는 타이밍 송신 및 HMD 디바이스로부터 시간 T2에 수신되는 타이밍 응답에 의해 도시되며 - 그러한 경우, 이미지 렌더링 시스템은 시간 T0과 시간 T2 사이의 차이에 적어도 부분적으로 기초하여 1-방향 레이턴시 또는 다른 지연이 L이라고 처음에 결정할 수 있다. 일부 실시예들에 있어서, 이미지 렌더링 시스템은 추가로 이미지의 후속 디스플레이와 비디오 데이터 송신 경로를 따른 HMD 디바이스에 의한 이미지의 수신 사이의 추가적인 추정된 시간의 양을 반영하기 위하여 이러한 초기 추정된 지연 시간 L을 변경할 수 있지만, 이러한 조정이 초기 지연 시간 L을 사용하여 도 1i의 예에는 예시되지 않는다.
다른 실시예들에 있어서, 이러한 타이밍 송신들 및 응답들의 사용에 더하여 또는 그 대신에, 이미지 렌더링 시스템은 다른 방식들로 1-방향 레이턴시 또는 다른 지연을 결정할 수 있다. 예를 들어, 도 1i에 예시된 바와 같이, 이미지 렌더링 시스템은 비디오 데이터 송신 경로를 따라 시간 T5에서 HMD 디바이스로 이미지를 송신할 수 있으며, HMD 디바이스는 그 후에 시간 T5+L'에서 이미지를 디스플레이할 수 있고, 여기에서 L'는 이미지 송신의 시간으로부터 이미지 지연의 시간까지의 그 이미지에 대한 측정된 실제 1-방향 레이턴시 또는 다른 지연을 나타내며 - 그러한 경우, 송신의 그 시간 T6에 대한 추적 정보를 또한 포함하는 제어 데이터 송신 경로를 따른 시간 T6 에서의 HMD 디바이스로부터의 정보 송신에서 예시되는 바와 같이, HMD 디바이스는 이미지 디스플레이의 그 시간 T5+L'에 대한 정보를 후속 사용을 위하여 다시 이미지 렌더링 시스템으로 제공할 수 있다.
이미지 렌더링 시스템은 추가로 디스플레이될 이미지를 생성하는 것의 부분으로서 1-방향 레이턴시 또는 다른 지연 정보에 관한 정보 및 HMD에 대한 추적 정보를 사용할 수 있다. 예를 들어, 이미지 렌더링 시스템에 의해 생성되며 시간 T5에서 송신되는 이미지에 대하여 예시된 바와 같이, 이미지 렌더링 시스템은 가장 최근의 추적 정보를 취하고, (부분적으로 결정된 1-방향 레이턴시 또는 다른 지연 정보에 기초하여) 추적 정보가 생성된 때로부터 이미지가 디스플레이될 것으로 예상되는 장래의 시간까지의 시간 차이를 결정하고, 그 장래의 시간에 대한 장래의 추적 정보를 예측하며, 그 예측된 장래의 추적 정보에 대응하도록 이미지를 생성한다. 따라서, 예를 들어, 시간 T5에서 이미지 렌더링 시스템에 의해 생성되고 송신되는 이미지는 T5+L의 장래의 시간을 반영하도록 생성된다. 유사하게, 시간 T8에서 이미지 렌더링 시스템에 의해 생성되고 송신되는 이미지는 시간 T7에서 이미지 렌더링 시스템에 의해 수신된 L'의 수정된 1-방향 레이턴시 또는 다른 지연 값을 사용하여 T8+L'의 장래의 시간을 반영하도록 생성된다. 이러한 장래의 추적 정보의 예측은, 예컨대, 사용자의 움직임의 이전의 변화 레이트를 사용하기 위하여 그리고 그 변화의 레이트가 계속되는 경우 장래의 로케이션 및 배향을 추정하기 위하여, 장래의 로케이션 및 배향을 추정하기 위하여 사용자의 움직임의 이전의 변화 레이트에서의 증가하는 또는 감소하는 가속을 사용하기 위하여, 등을 위하여 다양한 방식들로 수행될 수 있다. T8+L'의 장래의 시간을 반영하도록 생성된 시간 T8에서 송신되는 이미지에 대하여, 도 1i는 추가로, HMD 디바이스에 의한 이미지의 실제 수신이 더 긴 시간 L''만큼 지연되며, 그리고 (가장 최근의 추적 정보가 생성되는 때인) 적어도 시간 T6으로부터 (그 추적 정보를 사용하여 디스플레이될 결과적인 이미지가 수신되는 때인) 시간 T9까지의 그리고 선택적으로 T9와 대응하는 이미지 디스플레이가 고려되는 지연의 부분으로서 시작될 때 사이의 시간의 양을 추가로 포함하기 위한 지연이 정의된 임계 시간을 초과하는 경우에, HMD 디바이스는, 도 1b 내지 도 1h에 대하여 추가로 논의되는 바와 같이 이미지를 디스플레이하는 대신에 안전 모드 동작을 개시할 것임을 예시한다.
도 1b는 도 1a의 예를 계속하지만, 도 1a에 도시된 실제 물리적 환경(155) 내의 다양한 다른 물체들을 예시하지 않고 HMD 디바이스(110) 및 영역(150)의 뷰(100b)를 예시한다. 그 대신에 가상 그리드(165)가 도 1b에 예시되며, 이러한 예에 있어서, 이는 대략 우측에서 좌측으로의 X 축, 대략 먼 곳으로부터 가까운 곳으로의 Y 축, 및 수직으로 아래쪽으로부터 위쪽으로의 Z 축을 포함하며, 여기에서 0, 0, 0 로케이션은 가장 멀리에 디스플레이된 코너에서 방의 바닥과 연관된다. 도시된 바와 같이, HMD 디바이스(110)의 위치의 추적은, (이러한 예에 있어서, 대략적으로 HMD 디바이스의 상단 중심에 대응하는 8, 5, 7, 위치를 포함하는) 주어진 시간에 하나 이상의 특정 포인트들에서 x, y, z 로케이션 정보를 결정하는 것을 포함할 수 있지만, 로케이션이 다른 실시예들에서 다른 방식들로 추적될 수 있다는 것 및 (예를 들어, HMD 디바이스의 배향을 결정하는 것의 부분으로서) HMD 디바이스 위치를 결정하기 위하여 복수의 상이한 포인트들 또는 로케이션들이 동시에 추적되고 함께 사용될 수 있다는 것이 이해될 것이다. HMD 디바이스(110) 상의 로케이션을 3차원으로 추적하는 것에 더하여, 이러한 예에 있어서 HMD 디바이스의 추적된 위치는, 이러한 예에 있어서 사용자의 시선(gaze)의 방향이 공간(150)에 대한 직사각형 인클로저(enclosure)를 떠나는 로케이션(170)(이러한 예에 있어서, 로케이션 13, 8, 4)을 가리키는 방향성 광선에 의해 시각적으로 예시되는 바와 같이 HMD 디바이스의 추적된 배향을 더 포함한다. 이상에서 언급된 바와 같이, 일부 실시예들에 있어서, 추적된 로케이션 및 배향은 베이스 스테이션들(120)(도 1a)과 같은 외부 디바이스들로부터 수신하는 정보에 기초하여 HMD 디바이스에 의해 결정될 수 있지만, 다른 실시예들에 있어서, 정보(예를 들어, 배향 정보)의 일부 또는 전부는 적어도 부분적으로 (예를 들어, 이러한 예에서는 도시되지 않은 하나 이상의 관성 측정 유닛들을 통해서) HMD 디바이스 자체에 의해 생성된 정보에 기초할 수 있고 - 예시적인 HMD 디바이스와 관련된 추가적인 세부사항들은 도 2a에 도시된다. 영역(150) 도처를 돌아다니는 사용자는 일정하게 변화하는 추적된 위치를 가질 수 있으며, 위치의 추적이 반복적으로(예를 들어, 초 당 다수 회, 예컨대 초 당 60 회) 수행될 수 있고, 선택적으로 HMD 디바이스 상에서 사용자에게 디스플레이될 각각의 이미지에 대하여 한 번씩 수행될 수 있다는 것이 이해될 것이다.
도 1c는, 예컨대 이러한 예에 예시된 다양한 시뮬레이션된 물체들(180)(예를 들어, 시뮬레이션된 암석들(180b, 180i 및 180j); 시뮬레이션된 물고기(180c, 180f, 180g 및 180h); 시뮬레이션된 난파선(180a); 사용자에 의해 홀딩되며 다양한 방식들로 시뮬레이션된 환경과 상호작용할 수 있는 시뮬레이션된 물체들(180d 및 180e); 등)을 가지고 사용자를 가상으로 둘러싸는 간단한 시뮬레이션된 환경(148)의 뷰(100c)의 일 예를 제공한다. 시뮬레이션된 환경이 사용자를 둘러싸지만 이러한 예에서 디스플레이되는 이미지는 이러한 예에서 360° 광각 이미지가 아니기 때문에 HMD 디바이스 상에 디스플레이되는 단일 이미지는 오로지 시뮬레이션된 환경의 작은 부분의 뷰만을 예시할 수 있다는 것이 이해될 것이다(그렇지만, 다른 실시예들에 있어서, 공급된 이미지들 및/또는 시뮬레이션된 환경이 다른 형태들을 가질 수 있음). 추가로, 사용자가 HMD 디바이스의 위치를 움직임에 따라, 추적된 위치 정보의 사용이 추가로 디스플레이를 위해 제공되는 이미지들이 변화된 추적된 위치를 반영하기 위해 변화하게끔 할 것이다.
이러한 예를 계속하면, 도 1d는, 도 1b 및 도 1c와 관련하여 이상에서 논의된 바와 같이, HMD 디바이스의 현재 위치에 기초하여 HMD 디바이스 상에서 사용자에게 디스플레이될 수 있는 이미지의 뷰(100d)를 예시한다. 이러한 예에 있어서, 현재 추적된 HMD 위치에 기초하는 이미지는 시뮬레이션된 물체들(180d, 180f, 180g 및 180j)의 시각적 표현들을 포함하지만 현재 추적된 위치에 대응하지 않는 다른 시뮬레이션된 물체들의 시각적 표현들을 포함하지 않으며, 또한 이러한 예에서 실제 물리적 환경(예를 들어, 테이블들(160), 벽들, 등)에 대한 정보를 포함하지 않지만, 다른 실시예들에 있어서, 디스플레이되는 이미지는 시뮬레이션된 환경 및 실제 물리적 환경으로부터의 정보들 둘 모두를 동시에 포함할 수도 있다.
도 1e는 사용자가 영역(150) 내에서 움직임에 따른 이러한 예에서의 추가적인 뷰(100e)를 예시하며 - 특히, 이러한 예에 있어서, 사용자가 회전하였고 영역(150)의 경계(151d) 근처에 있으며, 여기에서 실제 물리적 물체들(160a 및 140)이 사용자의 바로 전방에 있다. 사용자가 오로지 시뮬레이션된 환경만을 보고 있는 경우, 도 1f에 대하여 추가로 논의되는 바와 같이, 사용자에게 경계 및/또는 실제 물리적 물체들에 접근하고 있는 것을 경고하기 위하여 (예를 들어, 디스플레이되는 이미지들의 부분으로서 및/또는 디스플레이되는 이미지들과는 별개의) 통지를 제공하는 것이 적절할 것이다. 그러나, 이러한 통지들은, 정확한 HMD 디바이스 위치의 추적 및 디스플레이를 위해 제공되는 이미지들(또는 사용을 위해 HMD 디바이스에 제공되는 다른 통지 정보)의 부분으로서 (예를 들어, 이미지 렌더링 시스템에 의한) 그 정보의 빠른 사용에 기초한다. 따라서, 위치가 추적되는 때와 대응하는 생성된 이미지가 이후에 HMD 디바이스 상에서 사용자에게 디스플레이되는 때 사이에 충분한 지연들이 발생하는 경우에, 대응하는 이미지 또는 다른 경고 통지들이 HMD 디바이스에 제공되어 HMD 디바이스 상에 디스플레이되기 이전에 사용자가 계속해서 이동하여 경계를 지나 실제 물리적 환경 내의 하나 이상의 물리적 물체들과 충돌하는 경우 실제 물리적 환경 내의 물체들 및/또는 사용자 및/또는 HMD 디바이스에 대한 가능한 손상을 포함하는 문제들이 발생할 수 있다.
도 1f는, 디스플레이를 위해 대응하는 이미지를 제공하기 위한 지연이 없이 HMD 디바이스의 새로운 위치가 추적되고 사용되는 경우에 도 1e의 로케이션에서 사용자에게 제공될 수 있는 시뮬레이션된 환경의 추가적인 뷰(100f)를 예시한다. 이러한 예에 있어서, 임박한 경계(151d)는 다양한 방식들로, 예컨대 (암석 벽(180i)과 같은) 경계에 또는 그 근처에 위치된 시뮬레이션된 물체에 의해 및/또는 (그리드(180k)와 같은) 경계에 또는 그 근처에 위치된 가상적으로 추가된 장벽에 의해 사용자에게 예시될 수 있다. 다른 시뮬레이션된 물체들(180d 및 180h)이 또한 예시된다.
그러나, 도 1e에 도시된 바와 같이 사용자가 움직이는 때와 대응하는 추적된 위치 정보가 디스플레이를 위해 새로운 이미지들을 생성하는 때 사이의 지연이 너무 큰 경우(예를 들어, 정의된 임계를 초과하는 경우), 도 1e의 로케이션에 대한 HMD 디바이스 상의 이미지는 도 1f의 이미지를 반영하지 않을 수 있으며, 여전히 계속해서 도 1d의 예와 유사한 예일 수 있다. 그러한 경우, 사용자는 영역(150)으로부터의 임박한 이탈 및 실제 물리적 환경 내의 물체들과의 충돌을 인식하지 못할 수 있다.
따라서, 도 1g는, HMD 디바이스의 안전 모드 동작을 구현함으로써 사용자 및 다른 물리적 물체들을 보호하는 것을 돕기 위한 설명되는 기술들의 일 예를 예시하며, 특히, (예를 들어, 도 1c에 도시된 바와 같은) 그렇지 않았다면 보여졌을 시뮬레이션된 환경의 하나 이상의 이미지들 대신에 디스플레이될 대체 이미지의 뷰(100g)를 예시한다. 이러한 예에 있어서, 대체 이미지는, 예컨대, HMD 디바이스가 사용자에 의해 착용되지 않았던 경우 사용자가 봤을 것의 뷰를 보여주기 위하여 HMD 디바이스의 외부 상의 전향 카메라를 사용함으로써 실제 물리적 환경의 다른 이미지 정보 또는 비디오를 반영한다. 이러한 방식으로, 사용자는, 그 방향으로의 추가적인 움직임을 방지하기 위하여, 그 또는 그녀가 경계(151d)에 또는 그 근처에 그리고 물리적 물체들(160a 및 140) 근처에 있음을 즉시 볼 수 있다. 다른 실시예들에 있어서, HMD 디바이스는, 예컨대, 그렇지 않았다면 이동될 때까지 전방 뷰를 차단했을 이동가능 셔터들을 가짐으로써, HMD 디바이스의 제거 또는 전향 카메라의 사용 없이 사용자가 전방을 보는 것을 가능하게 하기 위한 메커니즘을 포함할 수 있다.
도 1h는 HMD 디바이스의 안전 모드 동작을 구현하는 대안적인 실시예의 뷰(100h)를 예시하며, 특히, 여기에서 도 1g에 도시된 바와 같은 실제 물리적 환경의 뷰 또는 시뮬레이션된 환경의 이미지 대신에 실제 물리적 환경의 가상 뷰가 생성되고 HMD 디바이스 상에서 사용자에게 디스플레이된다. 특히, 도 1h의 예에 있어서, 수정된 이미지는 시뮬레이션된 환경에 대한 다른 정보 없이 그리드 바닥 및 벽(180m)을 포함하며 - 다른 실시예들에 있어서, 가상 그리드에 더하여 또는 그 대신에, 실제 물리적 환경 내의 하나 이상의 실제 물체들(예를 들어, 물체들(160a 및/또는 140))의 가상 표현들이 보일 수 있다. 도 1h는, 예컨대 사용자가 정상 동작이 일시 정지되거나 또는 종료되었다는 것을 인식할 수 있도록 위치 추적이 정확하게 작동하지 않음을 나타내기 위하여, HMD 디바이스의 안전-모드 동작과 관련된 경고 메시지(180l)를 추가로 예시하며 - 도 1g에는 도시되지 않았지만, 하나 이상의 이러한 경고 메시지들이 이러한 실시예들에서 유사하게 사용될 수 있다. 실제 환경으로부터의 다양한 다른 유형들의 정보 및/또는 다른 유형들의 경고 정보가 사용자에게 디스플레이되거나 또는 제공될 수 있음이 또한 이해될 것이다. 이에 더하여, 이러한 예에서 예시되지는 않지만, 도 1g 및/또는 도 1h의 안전-모드 동작은 가청 톤들, 촉각적 정보(예를 들어, 진동), 등과 같은 다른 유형들의 경고 정보로 보충될 수 있으며, 컴퓨팅 시스템(140) 및 그것의 이미지 렌더링 시스템은 추가로 시뮬레이션된 환경의 이미지들을 생성하는데 수반되는 동작을 일시 정지하도록 통지를 받을 수 있다. 적어도 일부 실시예들에 있어서, 실제 물리적 환경의 가상 뷰 중 일부 또는 전부는, 예컨대, 정확한 배향으로 실제 물리적 환경 내의 바닥 및/또는 다른 엘리먼트들(예를 들어, 벽들)을 보여주는 것을 돕기 위하여, (예를 들어, 사용자가 아픔을 느끼는 것을 방지하기 위하여) 디스플레이를 생성하는데 있어서의 지연을 최소화하는 것을 돕기 위하여, 등을 위하여 그것이 디스플레이되기 이전에 HMD 디바이스 상에서 로컬적으로 생성된다.
도 2a는, 예컨대 도 1a 내지 도 1i의 예들에서 사용될 수 있거나 또는 달리 설명되는 기술들과 함께 사용될 수 있는, 눈-근접(near-to-eye) 디스플레이 시스템들(202 및 204)의 쌍을 포함하는 HMD 시스템(200a)의 간략화된 상단 평면도이다. 눈-근접 디스플레이 시스템들(202 및 204)은 각각 디스플레이 패널들(206 및 208)(예를 들어, OLED 또는 LCD 마이크로-디스플레이들) 및 각기 하나 이상의 광학적 렌즈들을 갖는 개별적인 광학 렌즈 시스템들(210 및 212)을 포함한다. 디스플레이 시스템들(202 및 204)은, 전방 부분(216), 좌측 템플(temple)(218), 우측 템플(220) 및 사용자가 HMD 디바이스를 착용할 때 착용 사용자(224)의 안면을 터치하거나 또는 이에 인접하는 내부 표면(221)을 포함하는 프레임(214)에 장착될 수 있다. 2개의 디스플레이 시스템들(202 및 204)은, 착용 사용자(224)의 머리(222) 상에 착용될 수 있는 안경 장치 내의 프레임(214)에 고정될 수 있다. 좌측 템플(218) 및 우측 템플(220)은 각기 사용자의 귀들(226 및 228) 위에 놓일 수 있으며, 한편 내부 표면(221)의 코 어셈블리(미도시)는 사용자의 코(230) 위에 놓일 수 있다. 프레임(214)은 2개의 광학 시스템들(210 및 212)의 각각을 각기 사용자의 눈들(232 및 234) 중 하나의 전방에 위치시키도록 성형되고 크기가 결정될 수 있다. 프레임(214)이 설명의 목적들을 위하여 안경과 유사하게 간략화된 방식으로 도시되지만, 실제로는 더 정교한 구조체들(예를 들어, 고글, 통합 머리밴드, 헬멧, 스트랩들, 등)이 사용자(224)의 머리(222) 상에 디스플레이 시스템들(202 및204)을 위치시키고 지지하기 위하여 사용될 수 있다.
도 2a의 HMD 시스템(200a)은, 예컨대 소정의 디스플레이 레이트로(예를 들어, 초 당 30, 60, 90, 등의 프레임 또는 이미지로) 표현되는 대응하는 비디오를 통해 사용자(224)에게 가상 현실 디스플레이를 나타낼 수 있으며, 반면 유사한 시스템의 다른 실시예들은 사용자(224)에게 유사한 방식으로 증강 현실 디스플레이를 나타낼 수 있다. 디스플레이들(206 및 208)의 각각은, 각기 사용자(124)의 눈들(232 및 234) 상으로 개별적인 광학 시스템들(210 및 212)을 통해 전달되며 이에 의해 포커싱되는 광을 생성할 수 있다. 본원에 예시되지는 않았지만, 눈들의 각각은 전형적으로 이를 통해 광이 눈 내로 전달되는 동공 개구(pupil aperture)를 포함할 것이며 - 동공(및 둘러싸는 홍채)은 전형적으로 수평 및/또는 수직 방향들로 수 밀리미터만큼 눈꺼풀들이 개방된 상태에서 눈의 가시적인 부분 내에서 움직일 수 있으며, 이는 또한 안구가 그것의 중심 주위에서 회전할 때 상이한 수평 및 수직 포지션들에 대하여 디스플레이의 광학적 렌즈 또는 다른 물리적 엘리먼트로부터 상이한 깊이들까지 동공을 움직일 것이다(이는 동공이 움직일 수 있는 3차원 체적을 야기한다). 사용자의 동공에 진입하는 광은 이미지들 및/또는 비디오로서 사용자(224)에게 보인다.
예시된 실시예에 있어서, HMD 디바이스(200a)는, 안전-모드 동작들을 트리거하기 위한 조건들을 식별하기 위한 및/또는 안전-모드 동작들을 구현하기 위한 설명된 기술들의 부분으로서 개시된 실시예들에 의해 사용될 수 있는 하드웨어 센서들 및 추가적인 컴포넌트들을 더 포함한다. 이러한 예에 있어서, 하드웨어 센서들은 (예를 들어, 하나 이상의 IMU 유닛들의 부분으로서) 하나 이상의 가속도계들 및/또는 자이로스코프들(290)을 포함하며 - 본원의 다른 곳에서 더 상세하게 논의되는 바와 같이, 가속도계(들) 및/또는 자이로스코프들로부터의 값들은 HMD 디바이스의 배향을 로컬적으로 결정하기 위하여 사용될 수 있다. 이에 더하여, HMD 디바이스(200a)는 전방 부분(216)의 외부 상의 카메라(들)(285)와 같은 하나 이상의 전향 카메라들을 포함할 수 있으며, 이들의 정보는 HMD 디바이스의 전방의 실제 물리적 환경의 이미지들을 가지고 시뮬레이션된 환경의 이미지들을 대체하기 위하여 안전-모드 동작들 동안 사용될 수 있다(또는 더 일반적으로, 예컨대 AR 기능을 제공하기 위하여 HMD 디바이스의 다른 동작들의 부분으로서 사용될 수 있다). 예시된 실시예에 있어서, 하드웨어 센서들은, 예컨대 광학 렌즈 시스템들(210 및 212) 근처에서 내부 표면(221) 상에 위치된 사용자의 동공/시선을 추적하기 위한 하나 이상의 센서들 또는 다른 컴포넌트들(295)을 더 포함하며 - 본원의 다른 곳에서 더 상세하게 논의되는 바와 같이, 컴포넌트들(295)로부터의 정보는, 예컨대 HMD 디바이스의 위치(예를 들어, 로케이션 및 배향)에 대한 다른 정보와 함께 사용자의 시선의 방향에 기초하여 사용자에게 디스플레이하기 위한 시뮬레이션된 환경의 특정 뷰를 식별하기 위해 사용될 수 있다. 추가로, HMD 디바이스(200a)는, 본원의 다른 곳에서 더 상세하게 논의되는 바와 같은, 다른 컴포넌트들(275)(예를 들어, 내부 저장부, 하나 이상의 배터리들, 외부 베이스 스테이션들과 상호작용하기 위한 위치 추적 디바이스, 등)을 더 포함할 수 있다. 다른 실시예들은 컴포넌트들(275, 285, 290 및/또는 295) 중 하나 이상을 포함하지 않을 수 있다. 여기에 예시되지는 않았지만, 이러한 HMD의 일부 실시예들은, 예컨대 다양한 다른 유형들의 움직임들 및 사용자의 신체의 위치, 등을 추적하기 위한 다양한 추가적인 내부 및/또는 외부 센서들을 포함할 수 있다.
일부 실시예들에 있어서 설명되는 기술들이 도 2a에 예시된 것과 유사한 디스플레이 시스템과 함께 사용될 수 있지만, 다른 실시예들에 있어서, 단일 광학적 렌즈 및 디스플레이 디바이스를 이용하거나 또는 다수의 이러한 광학적 렌즈들 및 디스플레이 디바이스들을 이용하는 것을 포함하여 다른 유형들의 디스플레이 시스템들이 사용될 수 있다. 다른 이러한 디바이스들의 비-배타적인 예들은 카메라들, 텔레스코프들, 마이크스코프들, 쌍안경들, 스팟팅 스코프(spotting scope)들, 서베잉 스코프(surveying scope)들, 등을 포함한다. 이에 더하여, 설명되는 기술들은, 1명 이상의 사용자들이 하나 이상의 광학적 렌즈를 통해 보는 이미지들을 형성하기 위하여 광을 방출하는 매우 다양한 디스플레이 패널들 또는 다른 디스플레이 디바이스들과 함께 사용될 수 있다. 다른 실시예들에 있어서, 사용자는, 예컨대 부분적으로 또는 전체적으로 다른 광원으로부터의 광을 반사하는 표면 상의, 디스플레이 패널과는 다른 방식으로 생성되는 하나 이상의 이미지들을 하나 이상의 광학적 렌즈를 통해 볼 수 있다.
도 2b는 디스플레이 디바이스(예를 들어, 도 2a의 HMD 디바이스(200a) 및/또는 도 3의 HMD 디바이스(380a) 및/또는 도 1a 내지 도 1i의 예들에서 논의되거나 또는 달리 설명되는 기술들과 관련하여 논의되는 HMD 디바이스) 상의 하드웨어 회로부의 일 예를 예시하며, 이는 설명되는 기술들에 따라 이미지 데이터를 수신하고 이를 하나 이상의 디스플레이 패널들 상에 디스플레이하기 위한 그리고 뿐만 아니라 이미지 렌더링 시스템으로 HMD 디바이스에 대한 추적 정보 및/또는 타이밍 지연 정보를 제공하기 위한 자동화 동작들을 수행하도록 구성될 수 있다. 특히, 도 2b는, 그 내부에서 복수의 픽셀들 P가 로우들 R 및 컬럼들 C로 배열되는 픽셀 어레이(253)를 갖는 예시적인 디스플레이 시스템(200b)을 포함한다. 단지 (Rx로 라벨링된) 하나의 예시적인 로우 및 (Cy로 라벨링된) 하나의 예시적인 컬럼만이 도시되고, 그들의 교차부에서의 (Pxy로 라벨링된) 하나의 예시적인 픽셀이 도시되지만, 실제로 픽셀 어레이(253)는 임의의 희망되는 M x N 어레이일 수 있으며, 여기에서 M은 픽셀 어레이 내의 로우들의 수이고 N은 컬럼들의 수이다. 디스플레이 시스템(200b)은, 예를 들어, LCD 시스템 또는 OLED 시스템일 수 있다. 디스플레이 시스템(200b)이 컬러 디스플레이인 구현예들에 있어서, 픽셀들 P는, 각기 상이한 컬러(예를 들어, 적색, 녹색, 청색)을 생성하는 서브-픽셀들을 포함할 수 있다.
디스플레이 시스템(200b)의 픽셀 어레이(253)에 인접하여, 픽셀 어레이(253)의 개별적인 픽셀들을 구동할 뿐만 아니라 선택적으로 다른 기능들을 수행하기 위한 하드웨어 회로부가 존재한다. 특히, 하드웨어 회로부는, 때때로 게이트 또는 스캔 드라이버 회로로도 지칭되는 로우 드라이버 회로(예를 들어, IC 또는 집적 회로)(256), 및 때때로 데이터 드라이버 회로로도 지칭되는 컬럼 드라이버 회로(예를 들어, IC)(258)를 포함하며 - 로우 드라이버 회로(256) 및 컬럼 드라이버 회로(258)는 집합적으로 본원에서 "픽셀 드라이버 서브시스템"으로 지칭될 수 있다. 드라이버 회로들(256 및 258)의 각각은, 예를 들어, 하나 이상의 집적 회로들로부터 형성될 수 있다. 특히, 비디오 입력 포트(263)(예를 들어, DisplayPort 포트)는, 선택적으로 인코딩된 형태로, 외부 비디오 소스 시스템(266)(예를 들어, 도 3의 이미지 렌더링 시스템(335) 또는 도 1a 내지 도 1i의 예들에 대하여 논의된 이미지 렌더링 시스템)으로부터 이미지 데이터 입력을 수신하며, 수신된 데이터를 브리지 IC(267)로 송신한다. 브리지 IC(267)는, 인코딩된 경우 수신된 데이터를 디코딩하기 위한, 그리고 결과적인 픽셀 값들을 구현하기 위하여 개별적인 정보를 로우 및 컬럼 드라이버 회로들로 포워딩하기 위한 자동화 동작들을 수행하기 위한 로직을 구현하도록 구성된다. 특히, 로우 드라이버 회로(256)는 복수의 로우 선택 라인들(262)을 포함하며, 하나의 로우 선택 라인은 픽셀 어레이(253) 내의 픽셀들(또는 서브-픽셀들)의 로우들 R의 각각에 대한 것이고, 여기에서 로우 선택 라인들(262)의 각각은 픽셀 어레이(253)의 대응하는 로우 내의 픽셀들에 대한 스캔 전극들에 전기적으로 결합된다. 컬럼 드라이버 회로(258)는 복수의 데이터 라인들(264)을 포함하며, 하나의 데이터 라인은 픽셀 어레이(253) 내의 픽셀들(또는 서브-픽셀들)의 컬럼들 R의 각각에 대한 것이고, 여기에서 데이터 라인들(264)의 각각은 픽셀 어레이(253)의 대응하는 컬럼 내의 픽셀들에 대한 데이터 전극들에 전기적으로 결합된다. 로우 드라이버 회로(256)는, 브리지 IC(267)의 제어 하에서, 로우 선택 라인들(262)을 통해 소정의 시간에 픽셀 어레이(253)의 하나 이상의 로우들을 선택적으로 인에이블(enable)하며, 컬럼 드라이버 회로(258)는, 브리지 IC(267)의 제어 하에서, 픽셀 어레이(253) 내의 픽셀들의 컬럼들의 각각에 대하여 데이터 라인들(264) 상에 데이터(예를 들어, 전압 레벨들)를 출력한다. 따라서, 각각의 픽셀에 의해 송신되는 광의 세기는, 픽셀들의 스캔 전극들이 로우 선택 라인(262)을 통해 로우 드라이버 회로(256)에 의해 하이(high)로 펄싱될 때 데이터 라인(264)을 통해 픽셀의 데이터 전압들로 컬럼 드라이버 회로(258)에 의해 인가되는 구동 전압에 의해 결정된다. 적어도 일부 구현예들에 있어서, 드라이버 회로(256 및 258) 및/또는 브리지 IC(267)는 동일한 데이터 또는 유사한 데이터를 다수의 로우들에 동시에 로딩하도록 구성될 수 있다.
이전에 언급된 바와 같이, 브리지 IC(267)는, 디스플레이 시스템(200b) 상의 디스플레이를 위해 브리지 IC(267)에 이미지 스트림(예를 들어, 프로세싱된 비디오 데이터)을 공급하는 비디오 소스 시스템(266)에 비디오 입력 포트(263)를 통해 동작가능하게 결합된다. 비디오 소스 시스템(266)은, 평면 패널 텔레비전, 랩탑, 태블릿 컴퓨터, 모바일 폰, 머리 착용 디스플레이, 착용형 컴퓨터, 등과 같은 디스플레이 시스템을 사용하는 임의의 비디오 출력 소스 시스템일 수 있다. 비디오 소스 시스템(266)은 더 큰 시스템의 컴포넌트(예를 들어, 그래픽 제어기)일 수 있다. 브리지 IC(267)는 이미지 스트림을 수신하고, 이를 이미지 스트림 내에 존재하는 이미지들을 순차적으로 디스플레이하기 위하여 픽셀 어레이(253) 내의 픽셀들에 제공될 적절한 전압 프로그래밍 정보로 변환한다. 브리지 IC(267)는, 예를 들어, 레벨 시프터(level shifter), 타이밍, 및 아날로그 함수 생성기들일 수 있다. 일반적으로, 브리지 IC(267)는, 비디오 소스 시스템(266)으로부터의 입력으로서 이미지 스트림 신호들(예를 들어, 디지털 신호들), 동기화 정보, 타이밍 정보, 등 중 하나 이상을 취함으로써 로우 및 컬럼 드라이버 회로들(256 및 258)을 바이어싱하기 위한 타이밍 및 데이터 신호들을 생성할 수 있다.
디스플레이 시스템(200b)은 또한 예시된 예에 있어서, 예컨대 정보를 생성하고 이를 다시 비디오 소스 시스템(266)을 송신하기 위한 마이크로제어기(261)를 포함하지만, 다른 실시예들은 디스플레이 시스템(200b)의 부분으로서 이러한 마이크로제어기를 포함하지 않을 수 있다(예를 들어, 하나 이상의 이러한 마이크로제어기들이 디스플레이 디바이스의 하나 이상의 다른 시스템들의 부분이거나 또는 그 대신에 특정 실시예들에 있어서 구현되지 않는 경우). 예시된 실시예에 있어서, 마이크로제어기(261)는 제어 데이터 포트(268)(예를 들어, USB 포트)에 결합되며, 이를 통해 양-방향 제어 데이터가 디스플레이 시스템(200b)과 비디오 소스 시스템(266)(또는 도시되지 않은 다른 외부 시스템) 사이에서 교환될 수 있다. 예를 들어, 마이크로제어기(261)가, 예컨대 핑 송신과 유사한 방식으로 제어 데이터 포트를 통해 비디오 소스 시스템으로부터 타이밍 패킷 송신을 수신하는 경우, 마이크로제어기(261)는, 예컨대 비디오 소스 시스템이 제어 데이터 송신 경로를 따른 디스플레이 시스템(200b)으로의 그리고 이로부터의 통신들에서의 왕복 레이턴시를 결정하는 것을 가능하게 하기 위하여, 즉시 타이밍 응답 패킷을 생성하고 이를 다시 비디오 소스 시스템으로 전송한다. 다른 상황들에 있어서, 타이밍 패킷 송신은 (예를 들어, 이미지 데이터와 함께) 비디오 입력 포트(263)를 통해 비디오 데이터 송신 경로를 따라 수신될 수 있으며, 이러한 경우에 있어서, 브리지 IC(267)는 타이밍 응답을 생성하고 전송하기 위하여 마이크로제어기(261)로 타이밍 패킷 송신을 포워딩할 수 있으며, 그 동안 브리지 IC(267)는 달리 예컨대 비디오 소스 시스템(266)으로부터 브리지 IC(267)로의 비디오 데이터 송신 경로를 따른 송신을 측정하는데 사용하기 위하여 픽셀 어레이(253) 상의 디스플레이를 위한 이미지 데이터를 준비한다. 이에 더하여, 일부 실시예들에 있어서, 마이크로제어기(261)는 추가로 디스플레이 시스템(200b)을 포함하는 HMD 디바이스 또는 다른 디바이스에 대한 가장 최근의 추적 정보(예를 들어, 그 위에 디스플레이 시스템이 구현되는 디스플레이 디바이스에 대한 로케이션 및/또는 배향 정보)와 같은 정보를 제어 데이터 포트(268)를 통해 비디오 소스 시스템으로 송신할 수 있지만, 다른 실시예들에 있어서, HMD 디바이스 또는 다른 디스플레이 디바이스의 다른 컴포넌트들(미도시)이 이러한 추적 정보를 생성하고 및/또는 송신할 수 있다. 다른 실시예들에 있어서, HMD 디바이스 또는 다른 디스플레이 디바이스로부터 송신되는 정보는, 예를 들어, 착용 사용자 동공 및/또는 시선 방향 정보, HMD 디바이스 또는 다른 디스플레이 디바이스에 대한 다른 상태 정보(예를 들어, 배터리 레벨들, IMU 가속 데이터, 등), 등을 더 포함할 수 있다. 브리지 IC(267) 및/또는 마이크로제어기(261)는, 하나 이상의 프로세서들(예를 들어, 하나 이상의 중앙 프로세싱 유닛(central processing unit; CPU)들, 마이크로프로세서들, 디지털 신호 프로세서(digital signal processor; DSP)들, 애플리케이션-특정 집적 회로(application-specific integrated circuit; ASIC)들, 필드 프로그램가능 게이트 어레이(field programmable gate array; FPGA)들, 그래픽 프로세싱 유닛(graphics processing unit; GPU)들, 다른 프로그램가능 회로들, 및 이들의 조합들, 등)뿐만 아니라 메모리, I/O 인터페이스들, 통신 시스템들 등을 포함할 수 있다.
도 3은 설명되는 기술들 중 적어도 일부를 수행하기 위한 예시적인 디바이스들 및 시스템들을 예시하는 블록도이다. 특히, 도 3은, 예컨대 추적-기반 디스플레이 관리자(Tracking-based Display Manager; "TDM") 시스템(340)의 일 실시예를 실행함으로써, 이미지들이 대응하는 디바이스의 추적된 위치들에 대한 연관된 정보(예를 들어, 하나 이상의 연관된 추적-관련 시간들)를 포함하는 디스플레이를 위한 시뮬레이션된 환경의 이미지들을 생성하고 제공하기 위하여 설명된 기술들 중 적어도 일부를 수행하기에 적절한 하나 이상의 컴퓨팅 디바이스들(300)을 포함한다. 이에 더하여, 도 3은 또한, 예컨대, 디스플레이 디바이스들의 전자 회로부 상에서 또는 하나 이상의 다른 연관된 컴퓨팅 디바이스들(미도시) 상에서 실행되는 TDM 시스템의 이미지 추적 데이터 디코더 컴포넌트(344)의 제어 하에서 이미지들이 디스플레이될 하나 이상의 디스플레이 디바이스들(380)을 포함한다. 예컨대, 디스플레이 디바이스들(380) 중 하나 이상의 위치 추적을 수행하는 것을 보조하기 위한, 이미지 렌더링 시스템(335) 및/또는 디스플레이 디바이스들(380)에 의한 사용을 위한 이미지들 또는 다른 정보를 제공하기 위한, 등을 위한 하나 이상의 선택적인 다른 디바이스들(390)이 또한 예시된다. 다양한 디바이스들은, 컴퓨팅 시스템들, 디바이스들, 및 임의의 다른 시스템들 또는 그들 상에 구현되는 컴포넌트들 사이의 통신을 가능하게 하는 것을 포함하여, 하나 이상의 컴퓨터 네트워크들 또는 다른 연결들(385)(예를 들어, 인터넷, 하나 이상의 셀룰러 전화 네트워크들, 테더 또는 다른 케이블, 로컬 무선 연결, 등)을 통해 상호연결된다.
예시적인 컴퓨팅 디바이스(들)(300)는 각기 하나 이상의 하드웨어 프로세서들(305)(예를 들어, 하나 이상의 CPU 또는 중앙 프로세싱 유닛들, 프로세서들, 등), 다양한 입력/출력("I/O") 컴포넌트들(310), 저장부(320), 및 메모리(330)를 포함할 뿐만 아니라, 하나 이상의 디스플레이 디바이스들(380) 상의 디스플레이 동작들을 관리하기 위한 비디오 서브시스템(370)을 갖는다. 비디오 서브시스템(370)은, 예컨대 양질의 게이밍 또는 다른 이미지 관람 경험을 구현하기 위하여 (초 당 이러한 비디오 프레임들의 약 60-180의 높은 "프레임 레이트"뿐만 아니라 각각의 비디오 프레임에 대한 높은 이미지 해상도에 대응하는) 높은 볼륨의 비디오 프레임 데이터를 제공하기 위한 하나 이상의 GPU들(또는 그래픽 프로세싱 유닛들) 및 연관된 VRAM(비디오 RAM)을 포함하지만, 다른 실시예들에 있어서, 별개의 비디오 서브시스템이 제공되지 않거나 또는 사용되지 않을 수 있다. 이러한 예시적인 실시예에 있어서, 예시된 I/O 컴포넌트들은 디스플레이(311), 네트워크 연결(312), 컴퓨터-판독가능 매체 드라이브(313), 및 다른 I/O 디바이스들(315)(예를 들어, 키보드들, 마우스들 또는 다른 포인팅 디바이스들, 마이크로폰들, 스피커들, 촉각적 출력, 핸드헬드 무선 또는 다른 제어기들, IR 송신기들 및/또는 수신기들, 다른 광 센서들, GPS 수신기 또는 다른 위치-결정 디바이스들, 동공 및/또는 시선 추적 컴포넌트들, 등)을 포함하며 - 이러한 I/O 컴포넌트들은, 예를 들어, 음성 제어, 제스처 제어, 등을 포함하는 다양한 유형들의 상호작용 유형들을 가능하게 할 수 있다. 서버 컴퓨팅 디바이스들(300)에 대하여 예시된 다양한 세부사항들은 디바이스들(350 또는 390)에 대하여 예시되지 않지만, 디바이스들(350 및 390)은 유사하게, 디스플레이 디바이스들(380)이 선택적으로 컴포넌트(344)의 일 실시예를 실행하도록 구성된 하나 이상의 프로세서들 또는 다른 전자 회로부를 포함하는 것을 포함하여, 컴퓨팅 디바이스들(300)과 동일한 유형들의 컴포넌트들의 전부 또는 일부를 포함할 수 있다. 디바이스들(380)은, 하나 이상의 광학적 렌즈들, 하우징, 센서들(예를 들어, IMU), 다른 I/O 디바이스들(예를 들어, 하나 이상의 내부 및/또는 외부 카메라들, 착용자 또는 다른 사용자의 귀에 사운드를 제공하기 위한 하나 이상의 스피커들, 하나 이상의 동공 및/또는 시선 추적 시스템들, 다른 유형들의 움직임 센서들 또는 다른 센서들, 등)과 같은 디바이스(들)(300)에 대하여 예시되지 않은 추가적인 컴포넌트들을 더 포함할 수 있다. 유사하게, 다른 컴퓨팅 시스템들(390) 중 하나 이상이, 예컨대 모션 추적 및/또는 이미지 디스플레이 성능들을 제공하기 위하여 최종-사용자 디바이스들(350) 중 하나 이상과 함께 동작하는 경우, 이러한 다른 컴퓨팅 시스템들이 유사하게 디바이스(들)(300)에 대하여 예시되지 않은 추가적인 컴포넌트들을 포함할 수 있다.
이러한 예에 있어서, TDM 시스템(340)의 적어도 일부는, 연관된 이미지 렌더링 시스템(335) 및 선택적으로 하나 이상의 다른 프로그램들(미도시)과 함께, 서버 컴퓨팅 디바이스(300)의 메모리(330)에서 실행된다. 본원의 다른 곳에서 더 상세하게 논의되는 바와 같이, TDM 시스템(340)은, 예컨대 TDM 이미지 추적 데이터 인코더 루틴(342)에 의해, 연관된 추적-관련 시간 정보 및/또는 다른 메타데이터를 갖는 이미지들을 생성하거나 및/또는 제공하기 위하여 설명된 기술들 중 적어도 일부를 수행할 수 있다. 그런 다음, 이러한 이미지들 및 연관된 정보는 하나 이상의 네트워크들 또는 다른 연결들(390)을 통해 하나 이상의 디스플레이 디바이스들(380)로, 예컨대 HMD 디바이스(380a)로 및/또는 핸드헬드 모바일 디스플레이 디바이스(380b)(예를 들어, 스마트 폰 또는 랩탑 또는 태블릿)로 제공될 수 있다. 그것의 동작의 부분으로서, 시스템(340)은, 시뮬레이션된 환경의 이미지들을 생성하는데 사용하기 위한 데이터(321)(예를 들어, 시뮬레이션된 환경 내의 시뮬레이션된 물체들에 대한 정보), (예를 들어, 디스플레이 디바이스들 및/또는 다른 디바이스들(390)로부터 수신되는 바와 같은) 디스플레이 디바이스들(380) 중 하나 이상에 대한 위치 추적 데이터에 대한 데이터(323), 및 현재의 시간으로부터 현재의 지연만큼 상이한 장래의 시간들에서 장래의 위치들을 예측하거나 또는 달리 추적하는데 사용하기 위한 지연 데이터에 대한 데이터(327)를 포함하는, 예컨대 저장부(320) 상에 저장된 다양한 데이터를 생성하거나 및/또는 사용할 수 있다. 이미지 렌더링 시스템(335)은 추가로, 예컨대 이미지 렌더링 시스템이 게임 시스템의 부분인 실시예들에서 하나 이상의 게임들을 수행하는데 사용하기 위한 추가적인 데이터를 컴퓨팅 디바이스(300) 또는 다른 어떤 곳에(예를 들어, 다른 디바이스들(390) 중 하나 상에) 저장하고 사용할 수 있지만, 이러한 세부사항들이 이러한 예에서는 예시되지 않는다. TDM 시스템(340)은, 이러한 예에 있어서, 설명되는 기술들 중 적어도 일부를 구현하는 자동화 동작들을 수행하기 위하여, 예컨대, 프로그램을 실행하거나 또는 달리 프로세서(들)(305 및/또는 374) 및 컴퓨팅 디바이스(들)(300)를 구성할 때 대응하는 소프트웨어 명령어들을 가지고 적어도 부분적으로 소프트웨어 시스템으로서 구현되지만, 이는 다른 실시예들에 있어서는 다른 방식들로 구현될 수 있다.
디스플레이 디바이스들(380a 및/또는 380b)이 도 3의 예시된 실시예에서 컴퓨팅 디바이스(300)와는 별개의 그리고 구별되는 것으로서 도시되지만, 특정 실시예들에 있어서, 예시된 디바이스들 중 일부 또는 모든 컴포넌트들이 모바일 게이밍 디바이스, 휴대용 VR 엔터테인먼트 시스템, 등과 같은 단일 디바이스 내에 통합되거나 및/또는 하우징될 수 있다는 것이 이해될 것이다. 이러한 실시예들에 있어서, 네트워크들/연결들(385)은, 예를 들어, 하나 이상의 시스템 버스 및/또는 비디오 버스 아키텍처들을 포함할 수 있다.
예시된 디바이스들이 단지 예시적이며 본 발명의 범위를 제한하도록 의도되지 않는다는 것이 또한 이해될 것이다. 예를 들어, 컴퓨팅 디바이스(들)(300) 및/또는 다른 디바이스(들)(380 및 390)은, 인터넷과 같은 하나 이상의 네트워크들을 통해서 또는 웹을 통하는 것을 포함하여, 예시되지 않은 다른 디바이스들에 연결될 수 있다. 더 일반적으로, 컴퓨팅 시스템 또는 디바이스는, 비제한적으로, 데스크탑 컴퓨터들, 랩탑 컴퓨터들, 슬레이트(slate) 컴퓨터들, 태블릿 컴퓨터들 또는 다른 컴퓨터들, 게이밍 콘솔 또는 다른 전용 게이밍 시스템들, 스마트 폰 컴퓨팅 디바이스들 및 다른 휴대폰들, 인터넷 기기들, PDA들 및 다른 전자 오거나이저(organizer)들, 데이터베이스 서버들, 네트워크 저장 디바이스 및 다른 네트워크 디바이스들, 무선 전화들, 호출기들, (예를 들어, 셋-탑 박스들 및/또는 개인용/디지털 비디오 레코더들 및/또는 게임 콘솔들 및/또는 매체 서버들을 사용하는) 텔레비전-기반 시스템들, 및 적절한 상호-통신 성능들을 포함하는 다양한 다른 소비자 제품들을 포함하여, 예컨대 적절한 소프트웨어를 가지고 프로그래밍되거나 또는 달리 구성될 때 설명된 유형들의 기능을 수행하고 상호작용할 수 있는 하드웨어의 임의의 조합을 포함할 수 있다. 예를 들어, 예시된 시스템(340)은, 적어도 일부 실시예들에 있어서, 예컨대 이러한 시스템들 또는 디바이스들의 프로세서들을 구성하기 위하여, 특정 컴퓨팅 시스템들 또는 디바이스들에 의해 로딩되거나 및/또는 실행될 때 이러한 시스템들 또는 디바이스들을 프로그래밍하거나 또는 달리 구성하기 위하여 사용될 수 있는 실행가능 소프트웨어 명령어들 및/또는 데이터 구조들을 포함할 수 있다. 대안적으로, 다른 실시예들에 있어서, 소프트웨어 시스템들 중 일부 또는 전부는 다른 디바이스 상의 메모리에서 실행될 수 있으며, 컴퓨터-간 통신을 통해 예시된 컴퓨팅 시스템/디바이스와 통신할 수 있다. 이에 더하여, 다양한 아이템들이 다양한 시간들에(예를 들어, 사용되는 동안에) 메모리 내에 또는 저장부 상에 저장되는 것으로서 예시되지만, 이러한 아이템들 또는 이들의 부분들은 메모리 관리 및/또는 데이터 무결성의 목적들을 위하여 메모리와 저장부 사이에서 및/또는 (예를 들어, 상이한 위치들에 있는) 저장 디바이스들 사이에서 전송될 수 있다.
따라서, 적어도 일부 실시예들에 있어서, 예시된 시스템은, 프로세서(들)(305 및/또는 374) 및/또는 다른 프로세서 수단에 의해 실행될 때 그 시스템이 설명된 동작들을 자동으로 수행하게끔 프로그래밍하는 소프트웨어 명령어들을 포함하는 소프트웨어-기반 시스템이다. 추가로, 일부 실시예들에 있어서, 시스템들 중 일부 또는 전부는 예컨대, 비제한적으로, 하나 이상의 응용-특정 집적 회로(application-specific integrated circuit; ASIC)들, 표준 집적 회로들, (예를 들어, 적절한 명령어들을 수행함으로써, 그리고 마이크로제어기들 및/또는 내장형 제어기들을 포함하는) 제어기들, 필드-프로그램가능 게이트 어레이(field-programmable gate array; FPGA)들, 복합 프로그램가능 로직 디바이스(complex programmable logic device; CPLD)들, 디지털 신호 프로세서(digital signal processor; DSP)들, 프로그램가능 로직 제어기(programmable logic controller; PLC)들, 등과 같은 하나 이상의 하드웨어 프로세서들 또는 다른 구성된 하드웨어 회로부를 포함하여, 적어도 부분적으로 펌웨어 및/또는 하드웨어 수단으로 구현되거나 또는 제공될 수 있다. 시스템들 또는 데이터 구조들의 일부 또는 전부가 또한, 적절한 드라이브에 의해 또는 적절한 연결에 의해 판독되는 하드 디스크 또는 플래시 드라이브 또는 다른 비-휘발성 저장 디바이스, 휘발성 또는 비-휘발성 메모리(예를 들어, RAM), 네트워크 저장 디바이스, 또는 휴대용 매체 물품(예를 들어, DVD 디스크, CD 디스크, 광 디스크, 플래시 메모리 디바이스, 등)와 같은, 비-일시적인 컴퓨터-판독가능 저장 매체 상에 (예를 들어, 소프트웨어 명령어들 콘텐츠 또는 구조화된 데이터 콘텐츠로서) 저장될 수 있다. 일부 실시예들에 있어서, 시스템들, 모듈들 및 데이터 구조들은 또한, 무선-기반 및 유선/케이블-기반 매체들을 포함하는 다양한 컴퓨터-판독가능 송신 매체들 상의 생성된 데이터 신호들로서(예를 들어, 반송파 또는 다른 아날로그 또는 디지털 전파형 신호의 부분으로서) 송신될 수 있으며, (예를 들어, 단일 또는 멀티플렉스된 아날로그 신호의 부분으로서, 또는 다수의 이산 디지털 패킷들 또는 프레임들로서) 다양한 형태들을 취할 수 있다. 이러한 컴퓨터 프로그램 제품들이 또한 다른 실시예들에서 다른 형태들을 취할 수 있다. 따라서, 본 발명은 다른 컴퓨터 시스템 구성들을 가지고 실시될 수 있다.
도 4는 TDM 시스템의 이미지 추적 데이터 인코더 루틴(400)의 예시적인 실시예의 순서도이다. 루틴은, 예를 들어, 예컨대, (예를 들어, 추적된 위치가 결정되는 시간 또는 다른 관련된 시간에 기초하여) 이미지들에 대응하는 위치 추적에 대한 추가적인 연관된 정보와 함께 디스플레이 디바이스 상의 디스플레이를 위한 시뮬레이션된 환경의 이미지들을 제공하기 위하여 예시적인 도 1a 내지 도 1h의 대응하는 기능에 대하여 논의된 컴포넌트 및/또는 도 3의 컴포넌트(342)의 실행에 의해 제공될 수 있다. 예시된 실시예가 하나 이상의 HMD 디바이스들과 함께 설명된 기술들의 사용을 논의하지만, 기술들이 다른 실시예들에 있어서 다른 유형들의 디스플레이들과 함께 사용될 수 있다는 것이 이해될 것이다. 이에 더하여, 루틴의 예시적인 실시예는 도 3의 이미지 렌더링 시스템(335)과 같은 하나 이상의 이미지 렌더링 시스템들과 연관되어(예를 들어, 이러한 이미지 렌더링 시스템의 부분으로서) 동작할 수 있으며, 여기에서 이미지 렌더링 시스템(들)은 HMD 디바이스의 가장 최근의 추적된 위치 및/또는 HMD 디바이스의 추정된 장래의 위치에 기초하여 디스플레이될 이미지들을 생성하거나 또는 달리 결정하거나 또는 선택하며, 예시된 루틴은 이하에서 논의되는 바와 같이 추적된 위치 정보 및 연관된 타이밍 정보를 사용하는 것과 관련된 기능을 제공한다.
루틴의 예시된 실시예는 블록(410)에서 시작하며, 여기에서 정보 또는 요청이 수신된다. 루틴은, 블록(410)에서 수신된 정보 또는 요청이 연관된 HMD 디바이스 상의 디스플레이를 위한 이미지를 제공하기 위한 표시인지 여부를 결정하기 위하여 블록(415)으로 계속된다. 그러한 경우, 루틴은, 예컨대, HMD 디바이스로부터 최근에 공급된 정보에 기초하여 및/또는 (예를 들어, HMD 디바이스와 관련하여 동작하는 위치 추적 시스템과 연관되어) HMD 디바이스의 위치를 능동적으로 추적하고 모니터링함으로써, 현재 시간(예를 들어, 이에 대하여 추적된 위치 정보가 이용가능한 가장 최근의 시간) 또는 다른 표시된 시간에서의 HMD 디바이스에 대한 추적된 위치 정보를 결정하기 위하여 블록(420)으로 계속된다. 블록(420) 이후에, 루틴은, 위치 추적 정보가 생성되거나 및/또는 이미지 생성에 사용되는 때와 이미지(들)의 이후의 디스플레이 사이의 디폴트(default) 시간 또는 가장 최근에 결정된 실제 지연 시간과 같은, 루틴(400)에 의한 디스플레이를 위한 이미지의 생성과 HMD 디바이스 상의 이미지의 실제 디스플레이 사이의 시간의 양의 현재 추정에 대한 정보를 검색하기 위해 블록(425)으로 계속된다. 블록(410)에서, 그러면 루틴은, 예컨대 현재 또는 다른 표시된 시간에 지연 시간을 더함으로써 디스플레이를 위해 검색된 현재의 지연 시간에 기초하여 현재 또는 다른 표시된 시간으로부터의 차이에 대응하는 장래의 시간에서의 HMD 디바이스의 장래의 위치를 예측한다.
블록(435)에서, 그런 다음 루틴은, 예컨대 (예를 들어, 추정된 장래의 위치에 대한 정보를 제공하고 하나 이상의 대응하는 이미지들을 수신함으로써) 이미지들을 생성하는 별개의 게이밍 시스템 또는 다른 이미지 렌더링 시스템과 상호작용함으로써 장래의 시간에 대한 HMD 디바이스의 예측된 장래의 위치에 대응하는 HMD 디바이스 상의 디스플레이를 위한 시뮬레이션된 환경의 하나 이상의 이미지들을 획득한다. 블록(440)에서, 그런 다음 루틴은 선택적으로 획득된 이미지(들)와 연관하여 현재 또는 다른 표시된 시간에 대한 정보를 추가할 뿐만 아니라, 선택적으로 적절한 경우 다른 정보를 포함한다. 본원의 다른 곳에서 더 상세하게 설명되는 바와 같이, 연관된 정보는, 예를 들어, 이미지의 헤더 내에 또는 이미지와 연관된 다른 메타데이터 내에 저장될 수 있다. 블록(440) 이후에, 루틴은, 연관된 정보에 따라 디스플레이를 위하여 HMD 디바이스로의 하나 이상의 이미지들의 송신을 개시하기 위하여 블록(445)으로 계속된다.
그 대신에 블록(415)에서, 블록(410)에서 수신된 정보 또는 요청이 이미지를 제공하기 위한 것이 아닌 것으로 결정되는 경우, 루틴은 적절한 바와 같이 하나 이상의 다른 표시된 동작들을 수행하기 위하여 블록(490)으로 계속된다. 이러한 다른 동작들은, 예를 들어, 다음의 동작들 중 하나 이상을 포함할 수 있다: 예컨대, 블록(425)에서의 이후의 사용을 위하여, 하나 이상의 이전에 송신된 이미지들에 기초하여 HMD 디바이스로부터 실제 지연 정보를 수신하고 저장하는 것; 예컨대 블록(420)에서의 이후의 사용을 위하여 HMD 디바이스에 대한 현재 추적된 위치 정보를 수신하고 저장하는 것; 안전 모드 동작이 개시되었다는 정보를 HMD 디바이스로부터 수신하는 것, 및 선택적으로 그 정보를 이미지 렌더링 시스템에 제공하는 것; 등.
블록들(445 또는 490) 이후에, 루틴은, 예컨대 종료하기 위한 명시적인 표시가 수신될 때까지 계속하기 위하여, 계속할지 여부를 결정하기 위해 블록(495)으로 계속된다. 계속하도록 결정되는 경우, 루틴은 블록(410)으로 복귀하거나, 그렇지 않으면 블록(499)으로 계속되어 종료된다.
도 5는 TDM 시스템의 이미지 추적 데이터 디코더 루틴(500)의 순서도이다. 루틴은, 예를 들어, 예컨대, (예를 들어, 추적된 위치가 결정되는 시간 또는 다른 관련된 시간에 기초하여) 이미지들에 대응하는 위치 추적에 대한 추가적인 연관된 정보와 함께 디스플레이 디바이스 상의 디스플레이를 위한 시뮬레이션된 환경의 이미지들을 수신하기 위하여, 그리고, 추가적인 이미지들의 이후의 생성에서 사용하기 위한 및/또는 이미지들이 디스플레이 디바이스로 하여금 안전 모드 동작을 개시하게끔 하는지 여부를 결정하는데 사용하기 위한 디스플레이의 현재 시간에 대한 지연을 결정하기 위하여, 예시적인 도 1a 내지 도 1h의 대응하는 기능에 대하여 논의된 컴포넌트 및/또는 도 3의 컴포넌트(344)의 실행에 의해 수행될 수 있다. 예시된 실시예가 하나 이상의 HMD 디바이스들과 함께 설명된 기술들의 사용을 논의하지만, 설명된 기술들이 다른 실시예들에 있어서 다른 유형들의 디스플레이들과 함께 사용될 수 있다는 것이 이해될 것이다. 이에 더하여, 루틴의 예시적인 실시예는 연관된 컴퓨팅 시스템 또는 디스플레이 디바이스의 디스플레이 회로부 및 다른 이미지 프로세싱과 연관되어 동작할 수 있으며, 여기에서 루틴은 시뮬레이션된 환경의 수신된 이미지를 디스플레이할지 여부 또는 하나 이상의 대안적인 이미지들을 획득하고 디스플레이할지 여부를 결정하며, 여기에서 다른 이미지 프로세싱 및 디스플레이 회로부는 실제 디스플레이 동작들을 수행한다.
루틴의 예시된 실시예는 블록(510)에서 시작하며, 여기에서 정보 또는 요청이 수신된다. 루틴은, HMD 디바이스 상에 디스플레이될 이미지가 수신되는지 여부를 결정하기 위하여 블록(515)으로 계속되며, 그러한 경우, 이미지에 대응하는 HMD 디바이스의 추적된 위치에 대한 현재 또는 다른 표시된 시간에 대한 이미지와 연관된 정보를 추출하기 위해 블록(520)으로 계속된다. 블록(525)에서, 현재 시간과 추출된 추적-관련 시간 사이의 차이가 결정되며, 블록(530)에서, 루틴은, 예컨대, 장래의 이미지 생성 동안 지연 정보로서 사용하기 위하여, 선택적으로 결정된 실제 시간 차이를 저장하거나 및/또는 도 4의 루팅(400) 및/또는 이미지 렌더링 시스템으로(예를 들어, 수신된 이미지의 소스로) 이를 송신한다. 블록(530) 이후에, 루틴은, 시간에서의 결정된 차이가 정의된 임계를 초과하는지 여부를 결정하기 위해 블록(535)으로 계속되며, 그렇지 않은 경우, 루틴은 블록(510)에서 수신된 이미지의 디스플레이를 개시하기 위해 블록(545)으로 계속된다.
그렇지 않으면, 블록(535)에서, 차이가 정의된 임계를 초과한다는 것(또는 루틴의 다른 실시예들에서 다른 기준이 충족된다는 것)이 결정되는 경우, 루틴은 그 대신에, 예컨대, 사용자 및 HMD 디바이스 주위의 실제 물리적 환경에 대한 정보를 제공하기 위하여, HMD 디바이스 상에 디스플레이하기 위한 하나 이상의 대안적인 이미지들을 획득하는 것을 포함하여, HMD 디바이스의 안전-모드 동작을 개시하기 위하여 블록(550)으로 계속된다. 본원의 다른 곳에서 더 상세하게 논의되는 바와 같이, 대안적인 이미지는, 예를 들어, 예컨대, 사용자에게 물리적 환경 내의 사용자의 실제 위치를 보여주기 위한, 실제 물리적 환경 내의 HMD 디바이스 상의 카메라 또는 다른 디바이스로부터 획득된 이미지일 수 있거나, 및/또는 예를 들어, 적어도 부분적으로, HMD 디바이스 상의 하나 이상의 센서들을 사용하여 결정되는 HMD 디바이스에 대한 배향 정보(예를 들어, 관성 측정 유닛 데이터)에 기초하여 생성되는 실제 물리적 환경의 인공 버전일 수 있다. 이에 더하여, 안전-모드 동작의 개시는, 예컨대, 달리 사용자에게 경고하거나 또는 통지하기 위하여, (예를 들어, 이미지 렌더링 시스템 및/또는 루틴(400)으로 안전 모드 동작들에 대한 정보를 송신함으로써) 추가적인 이미지들을 생성함에 있어서 이미지 렌더링 시스템의 동작을 일시 정지하기 위하여, 등을 위하여, 적어도 일부 실시예들에서 다른 동작들을 수행하는 것을 포함할 수 있다. 블록(550) 이후에, 루틴은 HMD 디바이스 상의 대안적인 이미지(들)의 디스플레이를 개시하기 위해 블록(555)으로 계속된다.
블록들(545 또는 555) 이후에, 루틴은, 예컨대 그 추적된 위치 정보에 대응하는 이후의 이미지 생성에서 사용하기 위하여, (예를 들어, 실제 물리적 환경 내의 HMD 디바이스에 의해 및/또는 다른 디바이스들에 의해 수행되는 추적에 기초하여) 선택적으로 HMD 디바이스에 대한 현재 추적된 위치 정보를 획득하거나 및/또는 이를 이미지 렌더링 시스템으로 전송하기 위하여 블록(570)으로 계속된다.
그 대신에 블록(515)에서, 블록(510)에서 수신된 정보 또는 요청이 이미지를 디스플레이하기 위한 것이 아닌 경우, 루틴은 그 대신에 적절한 바와 같이 하나 이상의 다른 표시된 동작들을 수행하기 위하여 블록(590)으로 계속된다. 예를 들어, 이러한 동작들은 다음의 동작들 중 하나 이상을 포함할 수 있다: (예를 들어, 요청에 응답하여, 정보를 주기적으로 푸시함으로써 또는 다른 기준이 충족될 때, 등에) 현재 또는 최근 지연 정보를 요청자 및/또는 루틴(400) 및/또는 다른 엔티티로 제공하는 것; (예를 들어, 요청에 응답하여, 주기적으로 또는 달리 하나 이상의 표시된 조건이 충족될 때, 등에) HMD 디바이스에 대한 추적된 위치 정보를 이미지 렌더링 시스템 및/또는 루틴(400)에 제공하는 것; (예를 들어, 요청에 응답하여, 정보를 주기적으로 푸시함으로써 또는 다른 기준이 충족될 때, 등에) 안전 모드 동작을 개시하는 것 또는 종료하는 것에 대한 정보를 요청자 및/또는 루틴(400) 및/또는 다른 엔티티로 제공하는 것; 예컨대, 정의된 시간의 기간 이후 또는 그들의 결정된 지연 정보가 임계를 초과하지 않는(또는 다른 실시예들에서 달리 다른 기준을 충족시키는) 추가적인 이미지들이 수신될 때와 같은 하나 이상의 연관된 기준이 충족될 때 이전에 개시된 안전 모드 동작을 종료하도록 결정하는 것; 등.
블록들(570 또는 590) 이후에, 루틴은, 예컨대 종료하기 위한 명시적인 표시가 수신될 때까지, 계속할지 여부를 결정하기 위해 블록(595)으로 계속된다. 계속하도록 결정되는 경우, 루틴은 블록(510)으로 복귀하거나, 그렇지 않으면 블록(599)으로 계속되어 종료된다.
일부 실시예들에 있어서 이상에서 논의된 루틴들에 의해 제공되는 기능은, 더 많은 루틴들 사이에서 분할되거나 또는 더 적은 루틴들로 통합되는 것과 같은 대안적인 방식들로 제공될 수 있다는 것이 이해될 것이다. 유사하게, 일부 실시예들에 있어서, 예를 들어 다른 예시된 루틴들이 각기 그 대신에 이러한 기능을 결여하거나 또는 포함할 때 또는 제공되는 기능의 양이 변경될 때, 예시된 루틴들은 설명된 것보다 더 적거나 또는 더 많은 기능을 제공할 수 있다. 이에 더하여, 다양한 동작들이 특정 방식으로(예를 들어, 직렬로 또는 병렬로) 및/또는 특정 순서로 수행되는 것으로서 예시되었지만, 당업자들은 다른 실시예들에서 이러한 동작들이 다른 순서들로 그리고 다른 방식들로 수행될 수 있다는 것을 이해할 것이다. 이상에서 논의된 데이터 구조들은, 예컨대, 단일 데이터 구조를 다수의 데이터 구조들로 분할함으로써 또는 다수의 데이터 구조들을 단일 데이터 구조로 통합함으로써, 데이터베이스들 또는 사용자 인터페이스 스크린들/페이지들 또는 다른 유형들의 데이터 구조들에 대한 것을 포함하여, 상이한 방식들로 구조화될 수 있다는 것이 마찬가지로 이해될 것이다. 유사하게, 일부 실시예들에 있어서, 예시된 데이터 구조들은, 예컨대 다른 예시된 데이터 구조들이 각기 그 대신에 이러한 정보를 결여하거나 또는 포함할 때, 또는 저장되는 정보의 양 또는 유형들이 변경될 때, 설명된 것보다 더 많거나 또는 더 적은 정보를 저장할 수 있다.
이에 더하여, 다양한 엘리먼트들의 형상들 및 각도들을 포함하여, 도면들 내의 엘리먼트들의 크기들 및 상대적은 위치들이 반드시 축적이 맞춰져야 하는 것은 아니며, 여기에서 일부 엘리먼트들은 도면 가독성을 개선하기 위해 확장되고 위치되며, 적어도 일부 실시예들의 특정 형상들은 이러한 엘리먼트들의 실제 형상 또는 축적에 관한 정보를 전달하지 않고 인식의 용이성을 위해 선택된다. 이에 더하여, 일부 엘리먼트들이 명료성 및 강조를 위하여 생략될 수 있다. 추가로, 상이한 도면들에서 반복되는 참조 번호들은 동일하거나 또는 유사한 엘리먼트들을 나타낼 수 있다.
이상의 내용으로부터, 특정 실시예들이 본원에서 예시의 목적들을 위하여 설명되었지만, 본 발명의 사상 및 범위로부터 벗어나지 않고 다양한 수정들이 이루어질 수 있다는 것이 이해될 것이다. 이에 더하여, 본 발명의 특정 측면들이 때때로 특정 청구항 형식들로 제공되거나 또는 어떤 경우들에 임의의 청구항들에 구현되지 않을 수도 있지만, 본 발명자들은 임의의 이용이 가능한 청구항 형식으로 본 발명의 다양한 측면들을 고려한다. 예를 들어, 단지 본 발명의 일부 측면들이 특정 시간에 컴퓨터-판독가능 매체 내에 구현되는 것으로 언급될 수 있지만, 다른 측면들이 마찬가지로 그렇게 구현될 수 있다.
이로써, 본 출원이 우선권을 주장하는 2018년 02월 15일자로 출원된 미국 정규 특허 출원 제15/897,984호는 그 전체가 참조로서 본원에 포함된다.

Claims (24)

  1. 방법으로서,
    하나 이상의 구성된 하드웨어 회로들에 의해 그리고 머리-착용 디스플레이 디바이스 상의 디스플레이를 위해, 제 1 시간에서 주변의 실제 환경 내의 상기 머리-착용 디스플레이 디바이스의 추적된 위치를 사용하여 생성되며 상기 제 1 시간에 대응하는 연관된 정보를 갖는 시뮬레이션된 환경의 하나 이상의 이미지들을 수신하는 단계;
    상기 하나 이상의 구성된 하드웨어 회로들에 의해, 그리고 상기 하나 이상의 이미지들을 수신한 이후에 그렇지만 상기 머리-착용 디스플레이 디바이스 상에 상기 수신된 하나 이상의 이미지들을 디스플레이하기 이전에, 현재 시간과 상기 제 1 시간 사이의 차이가 정의된 임계를 초과한다는 것을 결정하는 단계; 및
    상기 하나 이상의 구성된 하드웨어 회로들에 의해, 그리고 상기 차이가 정의된 임계를 초과한다는 것을 결정하는 것에 응답하여, 상기 시뮬레이션된 환경의 상기 수신된 하나 이상의 이미지들을 디스플레이하는 대신에 상기 주변의 실제 환경을 나타내는 하나 이상의 다른 이미지들을 상기 머리-착용 디스플레이 디바이스 상에 디스플레이하는 것을 포함하는, 진행 중인(ongoing) 사용을 보호하기 위하여 상기 머리-착용 디스플레이 디바이스의 안전-모드 동작을 개시하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서,
    상기 방법은,
    이미지 렌더링 시스템을 구현하는 하나 이상의 하드웨어 프로세서들에 의해, 상기 시뮬레이션된 환경의 상기 하나 이상의 이미지들을 생성하는 단계로서,
    상기 제 1 시간에서 상기 머리-착용 디스플레이 디바이스의 상기 추적된 위치를 식별하는 단계;
    장래의 시간에서의 상기 머리-착용 디스플레이 디바이스의 장래의 위치를 추정하는 단계로서, 상기 장래의 시간은 상기 하나 이상의 이미지들의 생성과 상기 머리-착용 디스플레이 디바이스 상의 상기 하나 이상의 이미지들의 후속 디스플레이 사이의 추정된 레이턴시(latency)만큼 상기 제 1 시간과 상이한, 단계; 및
    상기 추정된 장래의 위치에 기초하여 상기 시뮬레이션된 환경의 뷰(view)를 포함하도록 상기 하나 이상의 이미지들을 생성하는 단계를 포함하는, 상기 시뮬레이션된 환경의 상기 하나 이상의 이미지들을 생성하는 단계; 및
    상기 하나 이상의 하드웨어 프로세서들에 의해, 상기 하나 이상의 이미지들을 하나 이상의 네트워크 연결들을 통해 디스플레이를 위하여 상기 머리-착용 디스플레이 디바이스로 전송하는 단계를 더 포함하는, 방법.
  3. 청구항 2에 있어서,
    상기 방법은,
    상기 하나 이상의 구성된 하드웨어 회로들에 의해, 적어도 부분적으로 상기 결정된 차이에 기초하여 상기 머리-착용 디스플레이 디바이스 상의 디스플레이를 위해 추가적인 이미지들을 생성하는데 있어서 상기 이미지 렌더링 시스템에 의한 사용을 위해, 상기 현재 시간과 상기 제 1 시간 사이의 상기 결정된 차이에 대한 정보를 상기 하나 이상의 네트워크 연결들을 통해 상기 이미지 렌더링 시스템으로 전송하는 단계;
    상기 하나 이상의 하드웨어 프로세서들에 의해, 상기 현재 시간과 상기 제 1 시간 사이의 상기 결정된 차이에 대한 상기 전송된 정보를 수신하는 단계;
    상기 하나 이상의 하드웨어 프로세서들에 의해, 적어도 부분적으로 상기 현재 시간과 상기 제 1 시간 사이의 상기 결정된 차이에 기초하여 상기 추정된 레이턴시를 변화시키는 단계;
    현재 시간으로부터 상기 변화된 추정된 레이턴시만큼 상이한 하나 이상의 추가적인 장래의 시간들에서 상기 머리-착용 디스플레이 디바이스의 하나 이상의 추가적인 장래의 위치들을 추정하는 단계;
    상기 하나 이상의 하드웨어 프로세서들에 의해, 상기 추정된 하나 이상의 추가적인 장래의 위치들에 기초하여 상기 시뮬레이션된 환경의 하나 이상의 뷰들을 포함하도록 상기 시뮬레이션된 환경의 하나 이상의 추가적인 이미지들을 생성하는 단계; 및
    상기 하나 이상의 하드웨어 프로세서들에 의해, 상기 하나 이상의 추가적인 이미지들을 상기 하나 이상의 네트워크 연결들을 통해 디스플레이를 위해 상기 머리-착용 디스플레이 디바이스로 전송하는 단계를 더 포함하는, 방법.
  4. 청구항 2에 있어서,
    상기 하나 이상의 이미지들을 생성하는 단계는 상기 제 1 시간 이후에 발생하며, 상기 제 1 시간에 대응하는 연관된 정보와 함께 상기 하나 이상의 구성된 하드웨어 회로들에 제공하기 위하여 상기 하나 이상의 이미지들에 타임스탬프(timestamp) 데이터를 추가하는 단계로서, 상기 추가된 타임스탬프 데이터는, 제 1 시간, 또는 상기 제 1 시간으로부터 상기 추정된 레이턴시만큼 상이한 장래의 시간, 또는 상기 제 1 시간 이후의 상기 하나 이상의 이미지들의 생성 시간 중 적어도 하나를 나타내는, 단계를 더 포함하는, 방법.
  5. 청구항 2에 있어서,
    상기 방법은, 상기 하나 이상의 구성된 하드웨어 회로들에 의해, 상기 주변의 실제 환경 내에서 움직이는 상기 머리-착용 디스플레이를 착용한 사용자뿐만 아니라 상기 주변의 실제 환경 내의 상기 머리-착용 디스플레이 디바이스의 상기 위치를 복수 회 추적하는 단계, 및 상기 추적으로부터의 정보를 상기 하나 이상의 네트워크 연결들을 통해 상기 이미지 렌더링 시스템으로 공급하는 단계로서, 상기 공급되는 정보는 상기 제 1 시간에서의 상기 머리-착용 디스플레이 디바이스의 상기 추적된 위치를 포함하며, 사용자가 위치된 3차원 공간 내에서 상기 제 1 시간에서의 상기 머리-착용 디스플레이 디바이스의 로케이션(location)을 나타내는, 단계를 더 포함하는, 방법.
  6. 청구항 5에 있어서,
    상기 주변의 실제 환경 내의 상기 머리-착용 디스플레이 디바이스의 상기 위치를 추적하는 단계는 3개의 축들을 따라 상기 머리-착용 디스플레이 디바이스의 배향을 결정하는 단계를 더 포함하며, 상기 정보를 공급하는 단계는 상기 3차원 공간 내에서 상기 로케이션에 있는 동안 상기 3개의 축들을 따라 상기 머리-착용 디스플레이 디바이스의 제 1 시간에서의 배향을 나타내는 단계를 더 포함하는, 방법.
  7. 청구항 1에 있어서,
    상기 안전-모드 동작을 개시하는 단계는, 사용자가 상기 안전-모드 동작 동안 움직이는 것을 중지하게끔 하기 위하여 상기 머리-착용 디스플레이 디바이스를 착용한 사용자에게 하나 이상의 통지들을 제공하는 단계를 더 포함하는, 방법.
  8. 청구항 1에 있어서,
    상기 방법은, 상기 주변의 실제 환경의 이미지들을 획득하기 위하여 상기 머리-착용 디스플레이 디바이스 상의 카메라를 사용함으로써 상기 하나 이상의 다른 이미지들을 획득하는 단계를 더 포함하는, 방법.
  9. 청구항 1에 있어서,
    상기 방법은, 상기 머리-착용 디스플레이 디바이스의 현재 배향에 대한 추가적인 정보를 획득하기 위하여 상기 머리-착용 디스플레이 디바이스 상의 하나 이상의 관성 측정 유닛들을 사용함으로써 상기 하나 이상의 다른 이미지들을 획득하는 단계, 및 적어도 부분적으로 상기 현재 배향에 대한 추가적인 정보에 기초하여 상기 주변의 실제 환경의 하나 이상의 엘리먼트들을 나타내는 정보를 제공하기 위하여 상기 하나 이상의 다른 이미지들을 생성하는 단계를 더 포함하는, 방법.
  10. 청구항 1에 있어서,
    상기 하나 이상의 구성된 하드웨어 회로들은 상기 머리-착용 디스플레이 디바이스에 대한 디스플레이 시스템의 부분인 적어도 하나의 하드웨어 프로세서를 포함하며, 상기 하나 이상의 이미지들을 수신하는 단계는, 상기 하나 이상의 이미지들을 생성하는 이미지 렌더링 시스템으로부터 적어도 하나의 네트워크 연결을 통해 상기 하나 이상의 이미지들을 수신하는 단계를 포함하는, 방법.
  11. 청구항 10에 있어서,
    상기 하나 이상의 구성된 하드웨어 회로들은 게이밍 시스템의 부분인 적어도 하나의 하드웨어 프로세서를 포함하며, 상기 수신된 하나 이상의 이미지들은 각기 상기 이미지 렌더링 시스템을 포함하는 상기 게이밍 시스템에 대한 게임 프로그램을 실행함으로써 생성되는 비디오의 프레임인, 방법.
  12. 시스템으로서,
    머리-착용 디스플레이 디바이스의 하나 이상의 디스플레이 패널들; 및
    상기 시스템이 하기의 자동화 동작들을 수행하게끔 하도록 구성된 하나 이상의 하드웨어 회로들을 포함하며, 상기 자동화 동작들은 적어도,
    상기 머리-착용 디스플레이 디바이스의 상기 하나 이상의 디스플레이 패널 상의 디스플레이를 위해 하나 이상의 이미지들을 수신하는 동작으로서, 상기 하나 이상의 이미지들은, 이미지 렌더링 시스템에 의해, 제 1 시간에서 주변의 실제 환경 내의 상기 머리-착용 디스플레이 디바이스의 추적된 위치를 사용하여 생성되며 상기 제 1 시간에 대응하는 연관된 정보를 갖는 시뮬레이션된 환경의 하나 이상의 이미지들인, 동작;
    현재 시간에서, 상기 현재 시간과 상기 제 1 시간 사이의 차이를 결정하기 위해 상기 하나 이상의 이미지들이 생성되었던 상기 제 1 시간에 대응하는 상기 연관된 정보를 프로세싱하는 동작, 및 상기 이미지 렌더링 시스템에 의한 사용을 위해 상기 현재 시간과 상기 제 1 시간 사이의 결정된 차이에 대한 정보를 전송하는 동작;
    상기 현재 시간과 상기 제 1 시간 사이의 상기 차이가 정의된 임계를 초과한다는 것을 결정하는 것에 응답하여, 상기 머리-착용 디스플레이 디바이스의 동작들에 대한 변화들을 개시하는 동작; 및
    상기 현재 시간과 상기 제 1 시간 사이의 상기 차이가 정의된 임계를 초과하지 않는다는 것을 결정하는 것에 응답하여, 상기 동작에 대한 변화들 없이 상기 머리-착용 디스플레이 디바이스의 상기 하나 이상의 디스플레이 패널들 상에 상기 수신된 하나 이상의 이미지들의 디스플레이를 개시하는 동작을 포함하는, 시스템.
  13. 청구항 12에 있어서,
    상기 시스템은, 상기 하나 이상의 구성된 하드웨어 회로들 중 적어도 하나에 의해 실행될 때, 상기 시스템이 상기 자동화 동작들 중 적어도 일부를 수행하게끔 하는 저장된 명령어들을 갖는 하나 이상의 메모리들을 더 포함하는, 시스템.
  14. 청구항 12에 있어서,
    상기 시스템은 적어도 하나의 네트워크 연결에 의해 상기 머리-착용 디스플레이 디바이스로부터 분리되며 상기 이미지 렌더링 시스템을 실행하도록 구성된 컴퓨팅 디바이스를 더 포함하며, 상기 이미지 렌더링 시스템은 상기 결정된 차이에 대한 상기 전송된 정보를 수신하고 상기 전송된 정보에 기초하여 생성된 적어도 하나의 비디오 프레임을 포함하는 상기 머리-착용 디스플레이 디바이스 상의 디스플레이를 위한 다수의 비디오 프레임들의 시퀀스를 생성하기 위한 소프트웨어 애플리케이션을 포함하며, 상기 수신된 하나 이상의 이미지들은 각기 상기 다수의 비디오 프레임들 중 하나이고, 상기 수신하는 동작 및 상기 결정하는 동작 및 상기 전송하는 동작은 상기 다수의 비디오 프레임들의 각각에 대하여 수행되는, 시스템.
  15. 청구항 12에 있어서,
    상기 자동화 동작들은 상기 차이가 정의된 임계를 초과한다는 것을 결정하는 동작을 포함하며, 상기 머리-착용 디스플레이 디바이스의 상기 동작에 대한 변화들을 개시하는 동작은, 상기 수신된 하나 이상의 이미지들을 디스플레이하는 대신에 상기 주변의 실제 환경을 나타내는 하나 이상의 다른 이미지들을 상기 머리-착용 디스플레이 디바이스 상에 디스플레이하는 상기 머리-착용 디스플레이 디바이스의 안전-모드 동작을 개시하는 동작을 포함하는, 시스템.
  16. 청구항 12에 있어서,
    상기 자동화 동작들은 상기 차이가 정의된 임계를 초과한다는 것을 결정하는 동작을 포함하며, 상기 머리-착용 디스플레이 디바이스의 상기 동작에 대한 변화들을 개시하는 동작은, 상기 결정된 차이에 대응하도록 상기 머리-착용 디스플레이 디바이스 상의 디스플레이를 위한 상기 이미지 렌더링 시스템에 의한 추가적인 이미지들의 생성을 변화시키는 동작 또는 상기 결정된 차이에 기초하여 상기 머리-착용 디스플레이 디바이스의 사용자에게 통지를 제공하는 동작 중 적어도 하나를 포함하는, 시스템.
  17. 청구항 12에 있어서,
    상기 시스템은, 상기 하나 이상의 이미지들이 수신되는 비디오 입력 포트, 및 상기 시스템이 상기 이미지 렌더링 시스템으로부터 하나 이상의 추가적인 타이밍 패킷들을 수신하는 제어 데이터 포트를 더 포함하며, 상기 하나 이상의 구성된 하드웨어 회로들은, 상기 하나 이상의 추가적인 타이밍 패킷들의 수신 시에 즉시 상기 제어 데이터 포트를 통해 상기 이미지 렌더링 시스템으로 적어도 하나의 타이밍 응답 패킷들을 전송함으로써 응답하여 상기 이미지 렌더링 시스템이 상기 적어도 하나의 추가적인 타이밍 패킷들을 전송하는 것과 상기 적어도 하나의 타이밍 응답 패킷을 수신하는 것 사이의 지연으로부터 타이밍 정보를 수신하게끔 하도록 구성되는 마이크로제어기를 포함하는, 시스템.
  18. 방법으로서,
    하나 이상의 구성된 하드웨어 회로들에 의해, 머리-착용 디스플레이 디바이스를 착용한 사용자가 주변의 물리적 환경 내에서 움직일 때 상기 머리-착용 디스플레이 디바이스의 위치를 추적하는 단계;
    상기 하나 이상의 구성된 하드웨어 회로들에 의해, 상기 추적하는 단계로부터의 추적 정보를 상기 머리-착용 디스플레이 디바이스의 위치에 기초하여 시뮬레이션된 환경의 이미지를 생성하는 이미지 렌더링 시스템으로 공급하는 단계;
    상기 하나 이상의 구성된 하드웨어 회로들에 의해, 상기 머리-착용 디스플레이 디바이스 상의 디스플레이를 위해 상기 이미지 렌더링 시스템에 의해 생성된 이미지를 수신하는 단계로서, 상기 수신된 이미지는 제 1 시간을 나타내는 정보를 포함하며, 상기 제 1 시간에서의 상기 머리-착용 디스플레이 디바이스의 제 1 위치로부터의 상기 시뮬레이션된 환경의 뷰를 제공하고, 상기 제 1 시간에서의 상기 제 1 위치를 나타내는 상기 공급된 추적 정보 내의 데이터를 사용하여 생성되는, 단계;
    상기 하나 이상의 구성된 하드웨어 회로들에 의해, 그리고 상기 하나 이상의 이미지들을 수신한 이후에 그렇지만 상기 머리-착용 디스플레이 디바이스 상에 상기 수신된 이미지를 디스플레이하기 이전에, 현재 시간과 상기 제 1 시간 사이의 차이를 결정하는 단계; 및
    상기 하나 이상의 구성된 하드웨어 회로들에 의해, 그리고 상기 결정된 차이가 정의된 임계를 초과하는 것에 응답하여, 상기 주변의 물리적 환경 내에서의 계속되는 움직임 동안 상기 사용자를 보호하기 위하여 상기 머리-착용 디스플레이 디바이스의 안전-모드 동작을 개시하는 단계를 포함하며,
    상기 안전-모드 동작을 개시하는 단계는,
    상기 머리-착용 디스플레이 디바이스 상의 하나 이상의 센서들을 사용하여 상기 주변의 물리적 환경의 하나 이상의 다른 이미지들을 획득하는 단계; 및
    상기 제 1 위치로부터의 상기 시뮬레이션된 환경의 뷰를 제공하는 상기 수신된 이미지 대신에 상기 주변의 물리적 환경의 상기 획득된 하나 이상의 다른 이미지들을 상기 머리-착용 디스플레이 디바이스 상에 디스플레이하는 단계를 포함하는, 방법.
  19. 청구항 18에 있어서,
    상기 방법은,
    상기 하나 이상의 구성된 회로들에 의해, 생성된 하나 이상의 추가적인 이미지들이 장래의 제 3 시간에서의 상기 사용자의 예측된 새로운 위치에 대응하게끔 하기 위하여, 제 2 시간에서 상기 머리-착용 디스플레이 디바이스 상의 디스플레이를 위한 하나 이상의 추가적인 이미지들을 생성하는 것의 부분으로서, 적어도 부분적으로 상기 결정된 거리에 기초하는 양만큼 상기 제 2 시간으로부터 상이한 상기 장래의 제 3 시간에서의 상기 사용자의 새로운 위치를 예측하는데 사용하기 위하여 상기 결정된 차이에 대한 정보를 상기 이미지 렌더링 시스템으로 전송하는 단계;
    상기 하나 이상의 구성된 하드웨어 회로들에 의해, 상기 하나 이상의 추가적인 이미지들을 수신하는 단계; 및
    상기 하나 이상의 구성된 하드웨어 회로들에 의해, 상기 머리-착용 디스플레이 디바이스 상에 상기 하나 이상의 추가적인 이미지들을 디스플레이하는 단계를 더 포함하는, 방법.
  20. 청구항 19에 있어서,
    상기 이미지 렌더링 시스템은, 상기 머리-착용 디스플레이 디바이스의 변화하는 위치에 대응하는 상기 시뮬레이션된 환경의 변화하는 부분을 상기 사용자에게 제공하기 위하여 상기 머리-착용 디스플레이 디바이스 상의 디스플레이를 위한 다수의 비디오 프레임들의 시퀀스를 생성하는 소프트웨어 애플리케이션을 포함하며, 상기 수신하는 단계 및 상기 결정하는 단계는 상기 다수의 비디오 프레임들의 각각에 대하여 수행되는, 방법.
  21. 청구항 18에 있어서,
    상기 주변의 물리적 환경의 상기 하나 이상의 다른 이미지들을 획득하는 단계는 상기 하나 이상의 다른 이미지들을 획득하기 위하여 상기 머리-착용 디스플레이 디바이스 외부 상의 전향(forward-facing) 카메라를 사용하는 단계를 포함하는, 방법.
  22. 청구항 18에 있어서,
    상기 주변의 물리적 환경의 상기 하나 이상의 다른 이미지들을 획득하는 단계는, 상기 머리-착용 디스플레이 디바이스의 현재 배향에 대한 추가적인 정보를 획득하기 위하여 상기 머리-착용 디스플레이 디바이스 상의 하나 이상의 관성 측정 유닛들을 사용하는 단계, 및 적어도 부분적으로 상기 현재 배향에 대한 상기 추가적인 정보에 기초하여 상기 주변의 물리적 환경에 대하여 상기 사용자 전방의 하나 이상의 장애물들을 나타내는 정보를 제공하기 위해 상기 하나 이상의 다른 이미지들을 생성하는 단계를 포함하는, 방법.
  23. 시스템으로서,
    하나 이상의 하드웨어 프로세서들; 및
    상기 하나 이상의 하드웨어 프로세서들 중 적어도 하나에 의해 실행될 때, 상기 시스템이 하기의 자동화 동작들에 의해 이미지 렌더링 시스템의 기능을 구현하는 것을 포함하는 자동화 동작들을 수행하게끔 하는 저장된 명령어들을 갖는 하나 이상의 메모리들을 포함하며, 상기 자동화 동작들은,
    머리-착용 디스플레이 디바이스 상의 구성된 하드웨어 회로들이, 하나 이상의 타이밍 패킷들의 수신 시에 즉시, 적어도 하나의 타이밍 응답 패킷을 다시 상기 시스템으로 전송하게끔 하기 위하여 상기 하나 이상의 타이밍 패킷들을 상기 머리-착용 디스플레이 디바이스로 전송하는 동작;
    상기 머리-착용 디스플레이 디바이스로부터 전송되는 상기 적어도 하나의 타이밍 응답 패킷을 수신하는 동작, 및 적어도 부분적으로 상기 하나 이상의 타이밍 패킷들을 전송하는 것과 상기 적어도 하나의 타이밍 응답 패킷을 수신하는 것 사이의 시간의 양에 기초하여 상기 이미지 렌더링 시스템으로부터 상기 머리-착용 디스플레이 디바이스로의 통신에 대한 레이턴시를 결정하는 동작;
    제 1 시간에서, 상기 결정된 레이턴시에 기초하는 양만큼 상기 제 1 시간으로부터 상이한 제 2 시간에서의 상기 머리-착용 디스플레이 디바이스의 하나 이상의 디스플레이 패널들 상의 디스플레이를 위한 하나 이상의 이미지들을 생성하는 동작; 및
    상기 제 2 시간에서의 상기 머리-착용 디스플레이 디바이스의 상기 하나 이상의 디스플레이 패널 상의 상기 생성된 하나 이상의 이미지들의 디스플레이를 초래하기 위하여 상기 생성된 하나 이상의 이미지들을 상기 머리-착용 디스플레이 디바이스로 송신하는 동작을 포함하는, 시스템.
  24. 청구항 23에 있어서,
    상기 명령어들은 추가로 상기 시스템이,
    상기 생성된 하나 이상의 이미지들을 송신하는 동작 이후에, 상기 머리-착용 디스플레이 디바이스의 상기 하나 이상의 디스플레이 패널들 상의 상기 생성된 하나 이상의 이미지들의 디스플레이의 실제 시간과 상기 제 2 시간 사이의 차이를 나타내기 위하여 상기 머리-착용 디스플레이 디바이스로부터 추가적인 정보를 수신하고;
    상기 제 2 시간과 디스플레이의 상기 실제 시간 사이의 표시된 차이를 반영하기 위해 상기 결정된 레이턴시를 수정하며;
    상기 결정된 레이턴시를 수정한 이후의 제 3 시간에서, 상기 결정된 레이턴시에 기초하는 양만큼 상기 제 3 시간으로부터 상이한 제 4 시간에서의 상기 머리-착용 디스플레이 디바이스의 상기 하나 이상의 디스플레이 패널들 상의 디스플레이를 위한 하나 이상의 추가적인 이미지들을 생성하고; 및
    상기 제 4 시간에서의 상기 머리-착용 디스플레이 디바이스의 상기 하나 이상의 디스플레이 패널 상의 상기 생성된 하나 이상의 추가적인 이미지들의 디스플레이를 초래하기 위하여 상기 생성된 하나 이상의 추가적인 이미지들을 상기 머리-착용 디스플레이 디바이스로 송신하게끔 하는, 시스템.
KR1020207026510A 2018-02-15 2019-02-01 이미지 디스플레이를 제어하기 위한 디스플레이 디바이스의 추적의 사용 KR102575470B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/897,984 2018-02-15
US15/897,984 US10726765B2 (en) 2018-02-15 2018-02-15 Using tracking of display device to control image display
PCT/US2019/016394 WO2019160699A2 (en) 2018-02-15 2019-02-01 Using tracking of display device to control image display

Publications (2)

Publication Number Publication Date
KR20200120948A KR20200120948A (ko) 2020-10-22
KR102575470B1 true KR102575470B1 (ko) 2023-09-08

Family

ID=67542389

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207026510A KR102575470B1 (ko) 2018-02-15 2019-02-01 이미지 디스플레이를 제어하기 위한 디스플레이 디바이스의 추적의 사용

Country Status (6)

Country Link
US (1) US10726765B2 (ko)
EP (1) EP3732554B1 (ko)
JP (1) JP7276753B2 (ko)
KR (1) KR102575470B1 (ko)
CN (1) CN111727077B (ko)
WO (1) WO2019160699A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
WO2018225187A1 (ja) * 2017-06-07 2018-12-13 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、情報処理装置、サーバ装置、画像提供方法および画像生成方法
US11048465B2 (en) * 2018-09-18 2021-06-29 Canon Kabushiki Kaisha Imaging display device, wearable device, and imaging display system
US11500455B2 (en) * 2018-10-16 2022-11-15 Nolo Co., Ltd. Video streaming system, video streaming method and apparatus
JP7311295B2 (ja) * 2019-03-29 2023-07-19 本田技研工業株式会社 制御装置、制御方法及びプログラム
KR20210014819A (ko) * 2019-07-30 2021-02-10 삼성디스플레이 주식회사 표시 장치 및 이를 포함하는 가상 현실 표시 시스템
US11315326B2 (en) * 2019-10-15 2022-04-26 At&T Intellectual Property I, L.P. Extended reality anchor caching based on viewport prediction
US11620780B2 (en) * 2020-11-18 2023-04-04 Microsoft Technology Licensing, Llc Multiple device sensor input based avatar
WO2024010220A1 (ko) * 2022-07-06 2024-01-11 삼성전자 주식회사 거리 센서 활성화 방법 및 전자 장치
CN116808567B (zh) * 2023-07-03 2024-02-06 天津大学 一种基于虚拟现实的模拟行走系统

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08292394A (ja) * 1995-01-24 1996-11-05 Matsushita Electric Ind Co Ltd 頭部搭載型画像表示装置
US5742264A (en) * 1995-01-24 1998-04-21 Matsushita Electric Industrial Co., Ltd. Head-mounted display
US5933125A (en) 1995-11-27 1999-08-03 Cae Electronics, Ltd. Method and apparatus for reducing instability in the display of a virtual environment
US6847336B1 (en) 1996-10-02 2005-01-25 Jerome H. Lemelson Selectively controllable heads-up display system
JP2009048237A (ja) 2007-08-13 2009-03-05 Canon Inc 画像処理装置、画像処理方法
JP5745204B2 (ja) 2008-07-28 2015-07-08 株式会社バンダイナムコエンターテインメント プログラム、情報記憶媒体及びゲーム機
US8629784B2 (en) 2009-04-02 2014-01-14 GM Global Technology Operations LLC Peripheral salient feature enhancement on full-windshield head-up display
JP2013521576A (ja) 2010-02-28 2013-06-10 オスターハウト グループ インコーポレイテッド 対話式ヘッド取付け型アイピース上での地域広告コンテンツ
US20120212484A1 (en) 2010-02-28 2012-08-23 Osterhout Group, Inc. System and method for display content placement using distance and location information
US8780014B2 (en) 2010-08-25 2014-07-15 Eastman Kodak Company Switchable head-mounted display
US9111498B2 (en) 2010-08-25 2015-08-18 Eastman Kodak Company Head-mounted display with environmental state detection
US20120075167A1 (en) 2010-09-29 2012-03-29 Eastman Kodak Company Head-mounted display with wireless controller
US9348141B2 (en) 2010-10-27 2016-05-24 Microsoft Technology Licensing, Llc Low-latency fusing of virtual and real content
JP5691568B2 (ja) 2011-01-28 2015-04-01 ソニー株式会社 情報処理装置、報知方法及びプログラム
US8223024B1 (en) 2011-09-21 2012-07-17 Google Inc. Locking mechanism based on unnatural movement of head-mounted display
US9081177B2 (en) 2011-10-07 2015-07-14 Google Inc. Wearable computer with nearby object response
US9255813B2 (en) 2011-10-14 2016-02-09 Microsoft Technology Licensing, Llc User controlled real object disappearance in a mixed reality display
US9096920B1 (en) 2012-03-22 2015-08-04 Google Inc. User interface method
GB2501768A (en) 2012-05-04 2013-11-06 Sony Comp Entertainment Europe Head mounted display
US9389420B2 (en) 2012-06-14 2016-07-12 Qualcomm Incorporated User interface interaction for transparent head-mounted displays
US9812046B2 (en) 2013-01-10 2017-11-07 Microsoft Technology Licensing, Llc Mixed reality display accommodation
US9202313B2 (en) 2013-01-21 2015-12-01 Microsoft Technology Licensing, Llc Virtual interaction with image projection
US9063330B2 (en) * 2013-05-30 2015-06-23 Oculus Vr, Llc Perception based predictive tracking for head mounted displays
US10019057B2 (en) 2013-06-07 2018-07-10 Sony Interactive Entertainment Inc. Switching mode of operation in a head mounted display
US9908048B2 (en) 2013-06-08 2018-03-06 Sony Interactive Entertainment Inc. Systems and methods for transitioning between transparent mode and non-transparent mode in a head mounted display
US9094677B1 (en) 2013-07-25 2015-07-28 Google Inc. Head mounted display device with automated positioning
US9630105B2 (en) 2013-09-30 2017-04-25 Sony Interactive Entertainment Inc. Camera based safety mechanisms for users of head mounted displays
EP3089154B1 (en) 2013-12-25 2020-04-08 Sony Corporation Image processing device and image display system for pose prediction-based display
EP3140780B1 (en) 2014-05-09 2020-11-04 Google LLC Systems and methods for discerning eye signals and continuous biometric identification
US9551873B2 (en) 2014-05-30 2017-01-24 Sony Interactive Entertainment America Llc Head mounted device (HMD) system having interface with mobile computing device for rendering virtual reality content
US9865089B2 (en) 2014-07-25 2018-01-09 Microsoft Technology Licensing, Llc Virtual reality environment with real world objects
US9858720B2 (en) 2014-07-25 2018-01-02 Microsoft Technology Licensing, Llc Three-dimensional mixed-reality viewport
US9990774B2 (en) 2014-08-08 2018-06-05 Sony Interactive Entertainment Inc. Sensory stimulus management in head mounted display
US9984505B2 (en) * 2014-09-30 2018-05-29 Sony Interactive Entertainment Inc. Display of text information on a head-mounted display
US10241566B2 (en) 2014-11-05 2019-03-26 Valve Corporation Sensory feedback systems and methods for guiding users in virtual reality environments
US20160239985A1 (en) 2015-02-17 2016-08-18 Osterhout Group, Inc. See-through computer display systems
CN106662750B (zh) 2015-02-17 2021-03-12 奥斯特豪特集团有限公司 透视计算机显示系统
US9690374B2 (en) 2015-04-27 2017-06-27 Google Inc. Virtual/augmented reality transition system and method
EP3133468A1 (en) 2015-08-17 2017-02-22 Samsung Electronics Co., Ltd. Virtual reality headset for notifying an object and method thereof
US10474411B2 (en) 2015-10-29 2019-11-12 Samsung Electronics Co., Ltd. System and method for alerting VR headset user to real-world objects
JP2017119032A (ja) 2015-12-29 2017-07-06 株式会社バンダイナムコエンターテインメント ゲーム装置及びプログラム
US10432988B2 (en) * 2016-04-15 2019-10-01 Ati Technologies Ulc Low latency wireless virtual reality systems and methods
US10617956B2 (en) 2016-09-30 2020-04-14 Sony Interactive Entertainment Inc. Methods for providing interactive content in a virtual reality scene to guide an HMD user to safety within a real world space
WO2018152689A1 (zh) 2017-02-22 2018-08-30 深圳市卓梦科技有限责任公司 一种探测障碍物技术的数据采集方法以及vr头盔
WO2018152690A1 (zh) 2017-02-22 2018-08-30 深圳市卓梦科技有限责任公司 一种探测障碍物的专利信息推送方法以及vr头盔

Also Published As

Publication number Publication date
US10726765B2 (en) 2020-07-28
WO2019160699A3 (en) 2020-04-16
JP7276753B2 (ja) 2023-05-18
EP3732554B1 (en) 2022-10-19
EP3732554A4 (en) 2021-08-04
JP2021514070A (ja) 2021-06-03
CN111727077B (zh) 2023-09-19
KR20200120948A (ko) 2020-10-22
US20190251892A1 (en) 2019-08-15
WO2019160699A2 (en) 2019-08-22
CN111727077A (zh) 2020-09-29
EP3732554A2 (en) 2020-11-04

Similar Documents

Publication Publication Date Title
KR102575470B1 (ko) 이미지 디스플레이를 제어하기 위한 디스플레이 디바이스의 추적의 사용
JP7036773B2 (ja) 仮想および拡張現実システムならびに方法
US10962780B2 (en) Remote rendering for virtual images
EP3137982B1 (en) Transitions between body-locked and world-locked augmented reality
RU2664397C2 (ru) Система отображения виртуальной реальности
CN108885342B (zh) 虚拟图像生成系统及其操作方法
WO2016118388A1 (en) Augmented reality field of view object follower
JP2020035455A (ja) 媒介現実コンテンツの共有
JP2017142569A (ja) 仮想空間の画像をヘッドマウントディスプレイに提供する方法及びプログラム
US11353955B1 (en) Systems and methods for using scene understanding for calibrating eye tracking
JP2018526716A (ja) 媒介現実
JP2017111539A (ja) プログラム及びコンピュータ
KR20210107784A (ko) Ar/vr 환경에서 사용자 관심의 시각적 표시자들
JP2022516221A (ja) Ar/vr環境におけるユーザ注意のオーディオインジケータ
JP2023536064A (ja) 交互サンプリングを使用した眼追跡
US11836842B2 (en) Moving an avatar based on real-world data
WO2020068741A1 (en) Computationally efficient model selection
US20190089899A1 (en) Image processing device
JP2018120521A (ja) 仮想空間を提供するための方法、当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right