KR20160105796A - 가상 현실 시스템의 캘리브레이션 - Google Patents

가상 현실 시스템의 캘리브레이션 Download PDF

Info

Publication number
KR20160105796A
KR20160105796A KR1020167017722A KR20167017722A KR20160105796A KR 20160105796 A KR20160105796 A KR 20160105796A KR 1020167017722 A KR1020167017722 A KR 1020167017722A KR 20167017722 A KR20167017722 A KR 20167017722A KR 20160105796 A KR20160105796 A KR 20160105796A
Authority
KR
South Korea
Prior art keywords
calibration data
image
headset
detector
reference point
Prior art date
Application number
KR1020167017722A
Other languages
English (en)
Other versions
KR101762297B1 (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 KR20160105796A publication Critical patent/KR20160105796A/ko
Application granted granted Critical
Publication of KR101762297B1 publication Critical patent/KR101762297B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • 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/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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • G06T7/0018
    • G06T7/0046
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/04Diagnosis, testing or measuring for television systems or their details for receivers
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Abstract

가상 현실(VR) 콘솔은 이미징 장치로부터 저속 캘리브레이션 데이터와 전면 및 후면 장체를 포함하는 VR 헤드셋 상의 관성 측정 장치로부터 고속 캘리브레이션 데이터를 수신한다. 저속 캘리브레이션 데이터는 후면 강체 상의 탐지기만 보이는 이미지를 포함한다. 관측된 위치는 저속 캘리브레이션 데이터로부터 결정되고 예측된 위치는 고속 캘리브레이션 데이터로부터 결정된다. 만약 관측된 위치와 예측된 위치 사이의 차이가 임계치보다 크다면, 예측된 위치는 차이가 임계치보다 작을 때까지 임시 오프셋으로 조정된다. 임시 오프셋은 전면 및 후면 강체 상의 탐지기가 저속 캘리브레이션 데이터 내의 이미지에 보일 때 후면 강체를 전면 강체에 재캘리브레이션함으로써 제거된다.

Description

가상 현실 시스템의 캘리브레이션{CALIBRATION OF VIRTUAL REALITY SYSTEMS}
본 명세서는 일반적으로 캘리브레이션 시스템에 관한 것이고, 보다 구체적으로는 가상 현실 시스템을 캘리브레이션하는 것에 관한 것이다.
움직임 추적은 여러 장치에서 다루어진 오래된 문제이다. 예시는 위성항법시스템, 항공기 레이더 시스템, 로봇 시스템 및 가정 엔터테인먼트 시스템을 포함한다. 마지막 경우에서, 기존의 장치는 게임 컨트롤러 또는 게임과 상호작용하는 사람의 움직임을 추적한다.
몇몇 중요한 특징은 감지 타입과 가장 적절한 연산 하드웨어를 결정한다: 1) 강체의 크기, 2) 강체가 움직일 수 있는 공간의 부피, 3) 몸체의 속도 및 가속도의 최대 비율의 범위, 4) 강체의 예측가능성.
움직임 추적 시스템에서 일반적으로 상대적으로 작은 공간에서, 일반적으로는 실내에 앉은 동안이지만 필수적이지는 않은, 사람의 몸과 접촉하여 들려진 장치의 움직임을 추적할 필요가 있다. 보다 구체적으로, 의도는 가상 현실과 증강 현실의 목적으로, 사용자가 헤드 마운트 디스플레이를 착용한 동안 머리의 움직임을 추적하는 것이다. 이것은 시스템의 성능에 극도로 엄격한 요구사항을 낳는다. 예를 들어, 가상 현실을 위하여, 위치 및 방향의 오류는 사용자가 진정으로 몰두하도록 느끼지 않기 때문에 형편없는 경험을 야기한다. 나아가, 사람의 전정계(vestibular system)에 의해 뇌로 제공되는 신호와 디스플레이를 보는 동안 사람의 시각계에 의해 뇌로 제공되는 신호 간의 불일치가 있을 수 있다.
이 예시는 움직임이 일어날 수 있는 공간의 부피에 제한을 시사하는 경우를 사용한다. 나아가 사람의 움직임에서 유도되는 속도 및 가속도를 제한하지만, 움직임이 일반적으로 예측 불가능하다는 것 또한 결정적이다. 나아가, 사람의 몸의 움직임의 복잡성과 다른 강체와의 상호작용 때문에 움직임을 좌우하는 물리를 모델링하는 것이 어렵다.
가상 현실(VR) 장치는 사람이 착용한 헤드셋의 위치 및 움직임을 결정하는 컴포넌트를 포함한다. 이들 컴포넌트는 다양한 때에, 처음에는 제작 공차 때문에, 이어서는 시스템의 정상 사용 때문에 캘리브레이션될 필요가 있다. 부적절하게 캘리브레이션된 VR 장치의 구동은 헤드셋의 위치나 움직임의 부적절한 추적을 낳을 수 있고, 사용자 움직임과 헤드셋을 통해 사용자에게 표시되는 미디어 간의 불협화음을 야기한다. 나아가, 헤드셋의 위치와 움직임을 결정하는 하나 이상의 컴포넌트는 시간에 걸쳐 또는 사용 중 캘리브레이션을 잃을 수 있다. 예를 들어, 온도의 변화 또는 진동이 헤드셋의 움직임을 이미징하는 카메라가 캘리브레이션을 잃게 할 수 있다.
가상 현실(VR) 시스템의 VR 헤드셋은 전면 강체와 후면 강체를 포함하는데, 함께 단단히 연결되지 않는다. 예를 들어, 전면 강체는 후면 강체에 탄성 헤드밴드로 연결되어, 전면 강체가 VR 시스템에 포함된 이미징 장치로부터 멀어질 때 VR 시스템이 VR 헤드셋을 착용한 개체의 움직임을 계속하여 검출하게 한다. 전면 강체와 후면 강체 모두 VR 헤드셋의 위치를 추적하기 위한 탐지기를 포함한다. 탐지기는 VR 헤드셋 상에 VR 헤드셋의 하나 이상의 컴포넌트, 예컨대 다른 탐지기에 상대적이고 VR 헤드셋의 참조점에 상대적인 특정 위치에 위치한 객체이다. 전면 및 후면 강체 간의 관계가 반드시 고정된 것이 아니기 때문에, VR 시스템은 후면 강체에 상대적인 전면 강체의 위치의 추적을 잃을 수 있고, VR 시스템이 다시 캘리브레이션하여 VR 헤드셋의 추적을 재획득하게 할 수 있다. 일부 실시예에서, VR 콘솔은 후면 강체로부터의 탐지기만을 포함하는 저속 캘리브레이션 데이터의 이미지의 특정 이미지 시간값 후에 전면 강체에서 후면 강체 간의 재캘리브레이션이 일어날 수 있을 때까지 오프셋값에 의해 조정되는 위치 벡터 및 고속 캘리브레이션 데이터를 사용하여 후면 강체의 이어지는 예측된 위치를 결정한다.
VR 시스템은 전면 강체의 위치 또는 후면 강체의 위치의 추적을 잃었을 때 스스로 재캘리브레이션한다. 예를 들어, VR 시스템은 후면 몸체의 탐지기의 추정된 위치와 제1 강체 내에 포함된 하나 이상의 위치 센서(예컨대, 가속도계, 자이로스코프)로부터의 데이터에 기반하여 제1 강체 내의 관성 측정 유닛(inertial measurement unit, IMU)에 의해 결정된 전면 강체 상의 참조점의 중간 추정 위치 간의 측정된 차이에 기반하여 언제 재캘리브레이션할지 결정한다. 참조점의 중간 추정 위치는 고속 캘리브레이션 데이터로부터 결정된 위치이고 이미지와 연관된 시간, 또는 이미지 및 저속 캘리브레이션 데이터로부터의 후속 이미지와 연관된 시간 사이의 시간과 연관될 수 있다.
가상 현실(VR) 시스템의 컴포넌트는 VR 시스템과 연관된 VR 헤드셋의 추적을 유지하기 위하여 캘리브레이션된다. VR 시스템은 캘리브레이션을 위하여 이미지 장치로부터 수신한 저속 캘리브레이션 데이터와 VR 헤드셋에 포함된 관성 측정 장치(IMU)로부터 수신한 고속 캘리브레이션 데이터를 사용한다. 일부 실시예에서, VR 시스템의 컴포넌트는 초기에 하나 이상의 디폴트 파라미터를 컴포넌트에 적용함으로써 캘리브레이션될 수 있다. 디폴트 파라미터에 기반하여, VR 시스템은 VR 헤드셋 상에 포함된 하나 이상의 탐지기와 연관된 위치를 식별함으로써 VR 헤드셋의 움직임을 추적한다. 탐지기는 VR 헤드셋 상의 특정 위치에 VR 헤드셋의 다른 탐지기와 같은 하나 이상의 컴포넌트에 상대적이고 VR 헤드셋의 참조점에 상대적으로 위치한 객체이다. 일부 실시예에서, VR 헤드셋은 서로 단단하게 연결되지 않고, 각 강체에 사용자의 머리 위치와 방향을 추적하기 위한 탐지기를 가지는 두 개의 강체를 포함한다. VR 시스템은 하나 이상의 탐지기의 추정된 위치 사이의 차이가 하나 이상의 탐지기의 관측된 위치와 임계치보다 적게 차이 날 때까지 하나 이상의 캘리브레이션 파라미터를 조정한다.
일부 실시예에서, VR 시스템은 이미지 장치로부터 VR 헤드셋 상의 복수의 탐지기의 부분을 보여주는 일련의 이미지를 포함하는 저속 캘리브레이션 데이터를 수신하는 VR 콘솔을 포함한다. 각 이미지는 일련의 후속 이미지로부터 이미지 시간값에 의하여 나누어진다. 추가적으로, VR 콘솔은 VR 헤드셋에 포함된 IMU로부터 VR 헤드셋 상의 참조점의 하나 이상의 중간 위치를 포함하는 고속 캘리브레이션 데이터를 수신한다. 참조점의 중간 추정 위치는 고속 캘리브레이션 데이터로부터 결정된 위치이고 이미지와 이미지와 연관된 시간, 또는 이미지 및 저속 캘리브레이션 데이터로부터의 후속 이미지와 연관된 시간 사이의 시간과 연관될 수 있다. IMU는 VR 헤드셋 내에 포함된 하나 이상의 위치 센서(예컨대, 가속도계, 자이로스코프)로부터의 데이터에 기반하여 참조점의 중간 추정 위치를 결정한다. 각 중간 추정 위치는 후속 중간 추정 위치로부터 이미지 시간값보다 작은 위치 시간값에 의하여 나누어진다.
일부 실시예에서, VR 시스템에 포함된 VR 콘솔은 이미지 장치로부터 이미지 시간값에 촬영된 VR 헤드셋의 일련의 이미지를 포함하는 저속 캘리브레이션 데이터를 수신한다. 일련의 이미지의 적어도 하나의 이미지는 후면 강체 상의 탐지기만을 포함하고 특정 시간값과 연관된다. 추가적으로, VR 콘솔은 IMU로부터 VR 헤드셋의 전면 강체에 포함된 하나 이상의 위치 센서로부터 결정된 VR 헤드셋의 전면 강체의 참조점의 하나 이상의 중간 추정 위치를 포함하는 고속 캘리브레이션 데이터를 수신한다. VR 콘솔은 저속 캘리브레이션 데이터를 사용하여 특정한 이미지 시간값에 후면 강체의 관측된 위치를 결정하고 전면 강체와 후면 강체 간의 캘리브레이션된 오프셋을 설명하는 위치 벡터뿐만 아니라 고속 캘리브레이션 데이터를 사용하여 VR 헤드셋의 후면 강체만으로부터의 탐지기를 포함하는 이미지와 연관된 이미지 시간값에 대한 후면 강체의 예측된 위치를 결정한다.
VR 콘솔은 후면 강체의 관측된 위치와 후면 강체의 예측된 위치 간의 차이를 결정한다. 만약 차이가 임계치보다 크다면, VR 콘솔은 후면 강체의 예측된 위치를 임시 오프셋값으로 조정하여 후면 강체의 관측된 위치와 후면 강체의 예측된 위치 간의 차이가 임계치보다 작도록 한다. 일부 실시예에서, VR 콘솔은 후면 강체로부터의 탐지기만을 포함하는 저속 캘리브레이션 데이터의 이미지의 특정 이미지 시간값 후에 전면 강체에서 후면 강체 간의 재캘리브레이션이 일어날 수 있을 때까지 오프셋값에 의해 조정되는 위치 벡터 및 고속 캘리브레이션 데이터를 사용하여 후면 강체의 이어지는 예측된 위치를 결정한다.
재캘리브레이션은 후면 강체 상의 탐지기만을 포함하는 이미지의 특정한 시간 이후의 시간을 가지는 저속 캘리브레이션 데이터로부터 적어도 하나의 이미지를 사용한다. VR 콘솔은 저속 캘리브레이션 데이터의 이미지로부터 VR 헤드셋의 헤드셋 모델을 사용하여 관측된 탐지기에 대응하는 모델 탐지기를 식별하고 적어도 전면 강체 상의 전면 임계수의 관측된 탐지기 및 후면 강체 상의 후면 임계수의 관측된 탐지기를 포함한다. 예를 들어, VR 콘솔은 저속 캘리브레이션 데이터의 이미지로부터 탐지기 정보를 추출하고, 탐지기 정보는 주어진 이미지에서 서로에 대한 VR 헤드셋 상의 관측된 탐지기의 위치를 설명한다. 저속 캘리브레이션 데이터로부터 적어도 하나의 이미지에서 VR 콘솔은 전면 강체 상 및 후면 강체 상 모두의 관측된 탐지기에 대응하는 모델 탐지기를 식별한다. VR 콘솔은 탐지기 정보를 헤드셋 모델과 비교하여 관측된 탐지기에 대응하는 모델 탐지기를 식별한다.
탐지기 정보에 기반하여, VR 콘솔은 헤드셋 모델을 사용하여 관측된 탐지기에 대한 추정된 위치를 생성한다. 예를 들어, VR 콘솔은 헤드셋 모델 및 관측된 탐지기의 위치를 식별하는 정보를 사용하여 이상적인 위치(헤드셋 모델에 의해 설명되는)를 이미지면(관측된 탐지기의 이미지에 의해 설명되는) 상의 위치로 변환하기 위한 투영 행렬을 결정한다. VR 콘솔은 투영 행렬을 사용하여 관측된 탐지기의 위치를 추정한다. VR 콘솔은 투영 행렬을 사용하여 관측된 위치의 위치를 추정하고, 하나 이상의 캘리브레이션 파라미터를 조정하여 전면 강체 상의 관측된 탐지기의 조정된 추정 위치 및 관측된 위치의 헤드셋 모델에 의해 결정된 그 대응하는 위치 간의 상대 거리가 임계치보다 작을 때까지 전면 강체 상의 관측된 탐지기의 하나 이상의 추정된 위치를 조정한다. 유사하게, VR 콘솔은 상술한 바와 같이 후면 강체 상의 관측된 탐지기의 추정 위치를 결정하고 후면 강체 상의 관측된 위치의 추정된 위치를 조정한다. 제1 강체 상의 관측된 탐지기의 조정된 추정 위치에 기반하여, VR 콘솔은 저속 캘리브레이션 데이터로부터 하나 이상의 이미지에 대하여 제1 강체의 참조점의 캘리브레이션된 위치를 결정한다.
VR 콘솔은 제1 강체의 참조점에 대한 후면 강체의 위치를 결정한다. 예를 들어, VR 콘솔은 후면 강체 상의 관측된 탐지기의 조정된 추정 위치를 사용하여 후면 강체 상의 후면 참조점을 식별한다. VR 콘솔은 그 후 전면 강체 상의 참조점에 대한 후면 참조점의 위치를 식별한다. 대안적인 실시예에서, VR 콘솔은 전면 강체 상의 참조점에 대한 후면 강체 상의 각 관측된 탐지기의 위치를 식별한다. VR 콘솔은 추가적으로 하나 이상의 캘리브레이션 파라미터를 조정하여 전면 강체 상의 참조점 및/또는 후면 참조점의 중간 추정 위치가 전면 강체 상의 참조점 및/또는 전면 강체 상의 참조점의 캘리브레이션된 위치 및/또는 저속 캘리브레이션 데이터로부터 후면 참조점의 캘리브레이션된 위치(예컨대, 곡선 맞춤을 통하여)로부터 결정된 후면 참조점의 예측된 위치의 임계치 내에 있도록 한다.
VR 시스템의 실시예는 다수가 아닌 하나의 카메라만을 사용함으로써 높은 정확도의 추적을 제공하고, 몸체의 표면 상에 많은 수의 잘 분리된 LED를 통해 높은 정확도를 달성한다. 변조 접근이 각 LED가 고유하게 식별될 수 있도록 하고, 가까운 광원의 가려짐 및 방해에 보다 튼튼한 시스템을 낳는다. 나아가, 디지털 하드웨어와 함께 변조 접근이 전력 소비를 줄이는데 LED는 카메라 셔터가 열릴 때만 켜지기 때문이다.
VR 시스템은 헤드 마운트 디스플레이나 다른 객체, 예컨대 게임 컨트롤러를 가상 및 증강 현실에 적합한 수준의 성능으로 추적하며 동시에 기존의 기술에 비해 극적으로 경제적 및 논리적 요구사항을 감소시키는 문제를 해결한다.
도 1은 일실시예에 따른 가상 현실 콘솔이 동작하는 시스템 환경의 블록도이다.
도 2a는 일실시예에 따른 가상 현실 헤드셋의 와이어 다이어그램이다.
도 2b는 일실시예에 따른 전면 강체와 후면 강체를 포함하는 가상 현실 헤드셋의 와이어 다이어그램이다.
도 3은 일실시예에 따른 가상 현실 콘솔의 추적 모듈의 블록도이다.
도 4는 일실시예에 따른 가상 현실 시스템을 캘리브레이션하는 프로세스의 흐름도이다.
도 5는 일실시예에 따른 가상 현실 시스템에 포함되는 가상 현실 헤드셋의 두 강체 사이의 캘리브레이션 재확립을 위한 프로세스의 흐름도이다.
도 6은 일실시예에 따른 가상 현실 시스템에 포함되는 가상 현실 헤드셋의 두 강체 사이의 위치 관계를 유지하는 프로세스의 흐름도이다.
도 7은 일실시예에 따른 가상 현실 시스템의 일련의 캘리브레이션된 위치를 도시하는 그래프의 예시이다.
도 8은 위치 추적 시스템의 고레벨 다이어그램의 예시이다.
도 9는 관측된 밝은 점과 예측된 투영의 예시를 도시한다.
도 10은 포즈 최적화의 예시를 도시한다.
도면들은 본 명세서의 실시예를 설명의 목적으로만 도시한다. 통상의 기술자는 다음 설명으로부터 본 명세서에 설명된 구조 및 방법의 대안적인 실시예가 본 명세서의 서술의 원리 또는 장점으로부터 벗어남 없이 채용될 수 있음을 이해할 것이다.
시스템 구조
도 1은 가상 현실 콘솔(110)이 구동하는 가상 현실(VR) 시스템 환경(100)의 일실시예의 블록도이다. 도 1에 도시된 시스템 환경(100)은 각각 VR 콘솔(110)에 연결된 VR 헤드셋(105), 이미지 장치(135) 및 VR 입력 인터페이스(140)를 포함한다. 도 1이 하나의 VR 헤드셋(105), 하나의 이미지 장치(135) 및 하나의 VR 입력 인터페이스(140)를 포함하는 시스템(100)의 예시를 도시하지만, 다른 실시예에 임의의 다른 수의 이들 컴포넌트가 시스템(100)에 포함될 수 있다. 예를 들어, 각각이 연관된 VR 입력 인터페이스(140)를 가지고 하나 이상의 이미지 장치(135)에 의해 모니터링되고, 각 VR 헤드셋(105), VR 입력 인터페이스(140) 및 이미지 장치(135)가 VR 콘솔(110)과 통신하는, 복수의 VR 헤드셋(105)이 있을 수 있다. 대안적인 실시예에서, 다르고 및/또는 추가적인 컴포넌트가 시스템 환경(100)에 포함될 수 있다.
VR 헤드셋(105)은 사용자에게 미디어를 표시하는 헤드 마운트 디스플레이다. VR 헤드셋에 의해 표시되는 미디어의 예시는 하나 이상의 이미지, 비디오, 오디오 또는 그들의 일부의 조합을 포함한다. 일부 실시예에서, 오디오는 VR 헤드셋(105), VR 콘솔(110) 또는 모두에게서 오디오 정보를 수신하고 오디오 정보에 기반하여 오디오 데이터를 표시하는 외부 장치(예컨대, 스피커 및/또는 헤드폰)을 통해 표시된다. VR 헤드셋(105)의 실시예의 예시는 도 2a 및 2b와 함께 더 자세히 후술된다.
다양한 실시예에서, VR 헤드셋(105)은 하나 이상의 강체를 포함할 수 있는데, 서로 단단하게 또는 단단하지 않게 연결될 수 있다. 강체 간의 단단한 연결은 연결된 강체가 하나의 단단한 개체로 행동하게 한다. 반면, 강체 간의 단단한 연결은 강체가 서로 상대적으로 움직일 수 있게 한다. 함께 단단하지 않게 연결된 두 강체를 포함하는 VR 헤드셋(105)의 실시예는 도 2b와 함께 더 자세히 후술된다.
VR 헤드셋(105)은 전자 디스플레이(115), 하나 이상의 탐지기(120), 하나 이상의 위치 센서(125) 및 관성 측정 유닛(IMU)(130)을 포함한다. 전자 디스플레이(115)는 VR 콘솔(110)로부터 수신한 데이터에 따라서 사용자에게 이미지를 디스플레이한다. 다양한 실시예에서, 전자 디스플레이(115)는 단일 전자 디스플레이 또는 복수의 전자 디스플레이(예컨대, 사용자의 각 눈에 한 디스플레이)를 포함할 수 있다. 전자 디스플레이(115)의 예시는: LCD(liquid crystal display), OLED(organic light emitting diode) 디스플레이, AMOLED(active-matrix organic light-emitting diode display), 다른 디스플레이 또는 그들의 일부의 조합을 포함한다. 추가적으로, 전자 디스플레이(115)는 하나 이상의 타입의 광학적 오차(예컨대, 시야 만곡, 난시, 배럴 디스토션, 핀쿠션 디스토션, 색수차 등)를 수정하는 하나 이상의 광학적 컴포넌트와 연관될 수 있다. 일부 실시예에서, 사용자에게 표시하기 위해 전자 디스플레이(115)로 제공되는 미디어는 하나 이상의 타입의 광학적 오차의 수정을 돕기 위해 미리 왜곡된다. 추가적으로, 광학적 컴포넌트는 확대를 통해 또는 다른 적절한 방법을 통해 디스플레이되는 미디어의 시야를 높일 수 있다. 예를 들어, 디스플레이되는 미디어의 시야는 디스플레이되는 미디어가 거의 모든(예컨대, 대각으로 110도), 일부 경우에는 모든 사용자의 시야를 사용하여 표시되도록 한다.
탐지기(120)는 VR 헤드셋(105) 상의 특정 위치에 서로 상대적이고 VR 헤드셋(105) 상의 특정 참조점에 상대적으로 위치한다. 탐지기(120)는 LED(light emitting diode), 코너 큐브 반사체, 반사성 마커, VR 헤드셋(105)이 동작하는 환경과 대비되는 광원 타입 또는 그들의 일부의 조합일 수 있다. 탐지기(120)가 액티브(예컨대, LED나 다른 타입의 광원 장치)일 때, 탐지기(120)는 가시대역(~380 nm 내지 750 nm), 적외선(IR) 대역(~750 nm 내지 1 mm), 자외선 대역(10 nm 내지 380 nm), 다른 전자기적 스펙트럼 부분 또는 그들의 일부의 조합에서 발광할 수 있다.
일부 실시예에서, 탐지기는 VR 헤드셋(105)의 외부 표면 아래에 위치하는데, 탐지기(120)에 의해 발광되거나 반사되는 광의 파장에 투명하거나 충분히 얇아 탐지기(120)에 의해 발광되거나 반사되는 광의 파장을 실질적으로 약화시키지 않는다. 추가적으로, 일부 실시예에서, VR 헤드셋(105)의 외부 표면 또는 다른 부분은 가시대역에서 불투명하다. 그러므로, 탐지기(120)는 IR 대역에서 투명하지만 가시대역에서 불투명한 외부 표면 밑에서 IR 대역으로 발광할 수 있다.
IMU(130)는 하나 이상의 위치 센서(125)로부터 수신한 측정 신호에 기반하여 고속 캘리브레이션 데이터를 생성하는 전자 장치이다. 위치 센서(125)는 VR 헤드셋(105)의 움직임에 응답하여 하나 이상의 측정 신호를 생성한다. 위치 센서(125)의 예시는: 하나 이상의 가속도계, 하나 이상의 자이로스코프, 하나 이상의 자력계 또는 임의의 다른 적절한 타입의 센서나 그들의 일부의 조합을 포함한다. 위치 센서(125)는 IMU(130) 외부, IMU(130) 내부 또는 그들의 일부의 조합에 위치할 수 있다.
하나 이상의 위치 센서(125)로부터의 하나 이상의 측정 신호에 기반하여, IMU(130)는 VR 헤드셋(105)의 초기 위치에 상대적인 VR 헤드셋(105)의 추정 위치를 나타내는 고속 캘리브레이션 데이터를 생성한다. 예를 들어, 위치 센서(125)는 병진 운동(앞/뒤, 위/아래, 좌/우)을 측정하는 복수의 가속도계와 회전 운동(예컨대, 피치, 요우, 롤)을 측정하는 복수의 자이로스코프를 포함한다. 일부 실시예에서, IMU(130)는 측정 신호를 빠르게 샘플링하고 샘플링된 데이터로부터 VR 헤드셋(105)의 추정 위치를 계산한다. 예를 들어, IMU(130)는 시간이 흐름에 따라 가속도계로부터 수신한 측정 신호를 통합하여 속도 벡터를 추정하고 시간의 흐름에 따라 속도 벡터를 통합하여 VR 헤드셋(105) 상의 참조점의 추정 위치(예컨대, 중간 추정 위치)를 결정한다. 대안적으로, IMU(130)는 샘플링된 측정 신호를 고속 캘리브레이션 데이터를 결정하는 VR 콘솔(110)에 제공한다. 참조점은 VR 헤드셋(105)의 위치를 설명하는데 사용될 수 있는 점이다. 참조점은 일반적으로 공간의 점으로 정의될 수 있지만, 실제로 참조점은 VR 헤드셋(105) 내의 점(예컨대, IMU(130)의 중앙)으로 정의된다.
IMU(130)는 VR 콘솔(110)로부터 하나 이상의 캘리브레이션 파라미터를 수신한다. 보다 자세히 후술되는 바와 같이, 하나 이상의 캘리브레이션 파라미터는 VR 헤드셋(105)의 추적을 유지하는데 사용된다. 수신한 캘리브레이션 파라미터(예컨대, IMU 파라미터)에 기반하여, IMU(130)는 그 동작(예컨대, 샘플 레이트 변경 등)을 조정할 수 있다. 일부 실시예에서, 보다 자세히 후술되는 바와 같이, 특정 캘리브레이션 파라미터는 IMU(130)이 VR 헤드셋(105)의 추정 위치를 오프셋하여 VR 헤드셋(105)의 특정 부분만이 이미지 장치(135)에 보일 때 일어날 수 있는 위치 오류를 수정하도록 한다. 일부 실시예에서, 특정 캘리브레이션 파라미터는 IMU(130)가 참조점의 초기 위치를 업데이트하여 참조점의 다음 캘리브레이션된 위치에 대응되도록 한다. 참조점의 초기 위치를 참조점의 다음 캘리브레이션된 위치로 업데이트하는 것은 결정된 추적 위치와 연관된 누적된 오류를 감소시키는데 도움이 된다. 드리프트 오차(drift error)라고도 불리는 누적 오차는 참조점의 추정 위치가 시간이 흐름에 따라 참조점의 실제 위치에서 벗어나게("drift" away) 한다.
이미지 장치(135)는 VR 콘솔(110)로부터 수신한 캘리브레이션 파라미터에 따라 저속 캘리브레이션 데이터를 생성한다. 저속 캘리브레이션 데이터는 이미지 장치(135)에 의해 검출 가능한 탐지기(120)의 관측된 위치를 보여주는 하나 이상의 이미지를 포함한다. 이미지 장치(135)는 하나 이상의 카메라, 하나 이상의 비디오 카메라, 하나 이상의 탐지기(120)을 포함하여 이미지를 캡처할 수 있는 임의의 다른 장치 또는 그들의 일부의 조합을 포함할 수 있다. 추가적으로, 이미지 장치(135)는 하나 이상의 필터(예컨대, 신호 대 잡음비를 증가시키는데 사용되는)를 포함할 수 있다. 이미지 장치(135)는 이미지 장치(135)의 시야에서 탐지기(120)로부터 발광되거나 반사된 광을 검출하도록 구성된다. 탐지기(120)가 패시브 요소(예컨대, 역반사체)를 포함하는 실시예에서, 이미지 장치(135)는 탐지기(120)의 일부 또는 전부를 비추는 광원을 포함할 수 있는데, 이미지 장치(135)의 광원을 향하여 빛을 역반사한다. 저속 캘리브레이션 데이터는 이미지 장치(135)로부터 VR 콘솔(110)로 통신된다. 이미지 장치(135)는 VR 콘솔(110)로부터 하나 이상의 캘리브레이션 파라미터를 수신하고, 캘리브레이션 파라미터에 기반하여 하나 이상의 이미징 파라미터(예컨대, 초점 거리, 초점, 프레임 레이트, ISO, 센서 온도, 셔터 속도, 조리개 등)를 조정할 수 있다.
VR 입력 인터페이스(140)는 사용자가 VR 콘솔(110)에 행위 요청을 송신할 수 있게 하는 장치이다. 행위 요청은 특정 행위를 수행하기 위한 요청이다. 예를 들어, 행위 요청은 애플리케이션을 시작 또는 종료하거나 애플리케이션 내에서 특정한 행위를 수행하는 것일 수 있다. VR 입력 인터페이스(140)는 하나 이상의 입력 장치를 포함한다. 입력 장치의 예시는: 키보드, 마우스, 게임 컨트롤러나 행위 요청을 수신하고 수신한 행위 요청을 VR 콘솔(110)로 통신하기 위한 임의의 다른 적절한 장치를 포함한다. VR 입력 인터페이스(140)에 의해 수신한 행위 요청은 VR 콘솔(110)로 통신되는데, 행위 요청에 대응하는 행위를 수행한다. 일부 실시예에서, VR 입력 인터페이스(140)는 VR 콘솔(110)로부터 수신한 지시에 따라 사용자에게 햅틱 피드백을 제공할 수 있다. 예를 들어, 햅틱 피드백은 행위 요청이 수신될 때, 또는 VR 콘솔(110)이 행위를 수행할 때 VR 콘솔(110)이 VR 입력 인터페이스(140)에게 VR 입력 인터페이스(140)가 햅틱 피드백을 생성하도록 하는 명령을 통신할 때 제공될 수 있다.
VR 콘솔(110)은 다음 중 하나 이상으로부터 수신한 정보에 따라 사용자에게 표시하기 위한 미디어를 VR 헤드셋(105)에 제공한다: 이미지 장치(135), VR 헤드셋(105) 및 VR 입력 인터페이스(140). 도 1의 예시에서, VR 콘솔(110)은 애플리케이션 스토어(145), 추적 모듈(150) 및 가상 현실(VR) 엔진(155)을 포함한다. VR 콘솔(110)의 일부 실시예는 도 1과 함께 설명된 것과는 상이한 모듈을 가진다. 유사하게, 보다 자세히 후술되는 기능은 본 명세서에 서술된 것과는 상이한 방식으로 VR 콘솔(110)의 컴포넌트에 분산될 수 있다.
애플리케이션 스토어(145)는 VR 콘솔(110)에 의해 실행되기 위한 하나 이상의 애플리케이션을 저장한다. 애플리케이션은 프로세서에 의해 실행될 때, 사용자에게 표시하기 위한 미디어를 생성하는 명령의 집합이다. 애플리케이션에 의해 생성된 미디어는 VR 헤드셋(105) 또는 VR 입력 인터페이스(140)의 움직임을 통해 사용자로부터 수신한 입력에 응답할 수 있다. 애플리케이션의 예시는: 게임 애플리케이션, 회의 애플리케이션, 비디오 재생 애플리케이션 또는 다른 적절한 애플리케이션을 포함한다.
추적 모듈(150)은 하나 이상의 캘리브레이션 파라미터를 사용하여 시스템 환경(100)을 캘리브레이션한다. 도 3 내지 5와 함께 보다 자세히 서술되는 바와 갈이, 추적 모듈(150)은 VR 헤드셋(105)의 위치의 결정의 오류를 줄이기 위해 하나 이상의 캘리브레이션 파라미터를 조정할 수 있다. 예를 들어, 추적 모듈(150)은 이미지 장치(135)의 초점을 조정하여 VR 헤드셋(105) 상의 관측된 탐지기의 보다 정확한 위치를 획득할 수 있다. 나아가, 추적 모듈(150)에 의해 수행된 캘리브레이션 또한 IMU(130)로부터 수신한 정보를 고려할 수 있다. 추가적으로, 도 4 및 5와 함께 보다 자세히 후술되는 바와 같이, 만약 VR 헤드셋(105)의 추적을 잃었다면(예컨대, 이미지 장치(135)가 적어도 임계수의 탐지기(120)의 시선을 잃었다면), VR 입력 인터페이스(140)는 시스템 환경(100)의 일부 또는 전부를 재캘리브레이션한다. 본 명세서에 사용되는 바와 같이, "추적을 잃는 것"은 일반적으로 이미지 장치(135)나 IMU(130)의 캘리브레이션을 잃는 것, VR 헤드셋(105)의 하나 이상의 강체의 상대적 위치를 잃는 것, 이미지 장치(135)에 대한 VR 헤드셋(105)의 위치를 잃는 것 또는 그들의 일부의 조합을 말한다.
시스템 환경(100)의 재캘리브레이션은 일반적으로 사용자에게 투명하다. 일부 실시예에서, 추적 모듈(150)은 사용자에게 VR 헤드셋(105)을 VR 헤드셋(105)의 하나 이상의 면이 이미지 장치(135)에 보이는 방향으로 이동하도록 유도할 수 있다. 예를 들어, 추적 모듈(150)은 사용자가 위를 보거나, 아래를 보거나, 왼쪽을 보거나, 오른쪽을 보거나, 다른 지정된 방향을 봐서 VR 헤드셋(105)의 하나 이상의 면이 이미지 장치(135)에 보이도록 유도할 수 있다. VR 헤드셋(105) 상의 임계수의 탐지기(120)가 이미지 장치(135)에 의해 이미징되면, 추적 모듈(150)은 캘리브레이션을 재확립한다. 일부 실시예에서, 추적 모듈(150)은 계속하여 시스템 환경(100)을 캘리브레이션하거나 주기적 간격으로 시스템 환경(100)을 캘리브레이션하여 VR 헤드셋(105)의 정확한 추적을 유지할 수 있다.
추적 모듈(150)은 하나 이상의 강체를 포함하는(예컨대, 도 2a 및 2b를 참조) VR 헤드셋(105)을 포함하는 시스템 환경(100)을 캘리브레이션할 수 있다. 추가적으로, 도 3 및 5와 함께 보다 자세히 후술되는 바와 같이, 캘리브레이션은 단단히 연결되지 않은(예컨대, 탄성 밴드를 통해 함께 연결된) 두 강체를 포함하는 VR 헤드셋(105)을 고려할 수 있다. 두 강체는 사용자의 눈 앞에 위치한 IMU(130)를 포함하는 전면 강체 및 사용자의 머리 뒤에 위치한 후면 강체일 수 있다. 전면 강체 및 후면 강체의 이 구성은 사용자가 이미지 장치(135)에 대해 360도 돌 수 있게 한다. 하지만, 전면 강체와 후면 강체 간의 관계는 반드시 고정되지 않기 때문에, 시스템 환경(100)은 후면 강체에 대한 전면 강체의 위치의 캘리브레이션을 잃을 수 있다. 나아가 도 6에 관하여 자세히 후술되는 바와 같이, 일부 실시예에서, 만약 VR 헤드셋(105)의 복수의 강체 간에 추적을 잃는다면, 추적 모듈(150)은 재캘리브레이션이 일어날 때까지 강체의 위치를 오프셋할 수 있다. 이런 경우에, 일부 실시예에서, 추적 모듈(150)은 VR 헤드셋(105)의 중간 추정 위치에 오프셋값을 결정하고 IMU(130)에 캘리브레이션 파라미터로서 제공할 수 있다. 대안적으로, 추적 모듈(150)은 후면 강체에 대한 전면 강체의 상대적 위치를 설명하는 위치 벡터를 오프셋값으로 조정할 수 있다. 일부 실시예에서, 추적 모듈(150)은 후면 강체 상의 탐지기(120)에 의해 표시되는 움직임과 IMU(130)로부터 수신한 고속 캘리브레이션 데이터를 사용하여 예측된 움직임 사이의 측정된 차이에 기반하여 언제 재캘리브레이션할지 결정한다. 추적 모듈(150)은 전면 강체 상의 탐지기(120) 및 후면 강체 상의 탐지기를 포함하는 하나 이상의 이미지를 포함하는 저속 캘리브레이션 데이터를 사용하여 재캘리브레이션한다.
추가적으로, 추적 모듈(150)은 이미지 장치(135)로부터의 저속 캘리브레이션 데이터를 사용하여 VR 헤드셋(105)의 움직임을 추적한다. 도 3과 함께 보다 자세히 후술되는 바와 같이, 추적 모듈(150)은 저속 캘리브레이션 데이터로부터의 관측된 탐지기와 VR 헤드셋(105)의 모델링을 사용하여 VR 헤드셋(105)의 참조점의 위치를 결정한다. 추적 모듈(150)은 또한 고속 캘리브레이션 데이터로부터의 위치 정보를 사용하여 VR 헤드셋(105)의 참조점의 위치를 결정한다. 추가적으로, 일부 실시예에서, 추적 모듈(150)은 고속 캘리브레이션 데이터, 저속 캘리브레이션 또는 그들의 일부의 조합의 부분을 사용하여 VR 헤드셋(105)의 미래 위치를 예측한다. 추적 모듈(150)은 VR 헤드셋(105)의 추정 또는 예측된 미래 위치를 VR 엔진(155)에 제공한다.
VR 엔진(155)은 시스템 환경 내에서 애플리케이션을 실행하고 추적 모듈(150)로부터 VR 헤드셋(105)의 위치 정보, 가속도 정보, 속도 정보, 예측된 미래 정보나 그들의 일부의 조합을 수신한다. 수신한 정보에 기반하여, VR 엔진(155)는 사용자에게 표시하기 위하여 VR 헤드셋(105)에 제공할 미디어를 결정한다. 예를 들어, 만약 수신한 정보가 사용자가 왼쪽을 본다고 가리키면, VR 엔진(155)는 사용자의 움직임을 가상 현실에 반영하는 VR 헤드셋(105)을 위한 미디어를 생성한다. 나아가, VR 엔진(155)은 VR 입력 인터페이스(140)로부터 수신한 행위 요청에 응답하여 VR 콘솔(110)에서 실행되는 애플리케이션 내에서 행위를 수행하고 사용자에게 수행된 행위의 피드백을 제공한다. 제공된 피드백은 VR 헤드셋(105)을 통한 시각적 또는 청각적 피드백이나 VR 입력 인터페이스(140)을 통한 햅틱 피드백일 수 있다.
도 2a는 가상 현실 헤드셋의 일실시예의 와이어 다이어그램이다. VR 헤드셋(200)은 VR 헤드셋(105)의 일실시예이고 전면 강체(205) 및 밴드(210)를 포함한다. 전면 강체(205)는 전자 디스플레이(115)(도시되지 않음), IMU(130), 하나 이상의 위치 센서(125) 및 탐지기(120)를 포함한다. 도 2a에 도시된 실시예에서, 위치 센서(125)는 IMU(130) 내에 위치하고, 위치 센서(125)와 IMU(130) 모두 사용자에게 보이지 않는다.
탐지기(120)는 전면 강체(205) 상에 서로 상대적이고 참조점(215)에 상대적으로 고정된 위치에 위치하고 있다. 도 2a의 예시에서, 참조점(215)는 IMU(130)의 중앙에 위치하고 있다. 각 탐지기(120)는 이미지 장치(135)에 의해 탐지 가능한 빛을 방출한다. 탐지기(120), 또는 탐지기(120)의 일부는 도 2a의 예시에서 전면 강체(205)의 예시에서 전면부(220A), 상면부(220B), 하면부(220C), 우측면부(220D) 및 좌측면부(220E)에 위치하고 있다.
도 2b는 전면 강체(205) 및 후면 강체(230)를 포함하는 VR 헤드셋(225)의 일실시예의 와이어 다이어그램이다. 도 2b에 도시된 VR 헤드셋(225)은, 전면 강체(205)와 후면 강체(230)가 밴드(210)로 함께 연결된 VR 헤드셋(105)의 일실시예이다. 밴드(210)는 단단하지 않아서(예컨대, 탄력이 있어서), 전면 강체(205)는 밴드(210)에 단단하지 않게 연결된다. 그러므로, 후면 강체(230)는 전면 강체(205)에 대해, 구체적으로 참조점(215)에 대해 움직일 수 있다. 도 3 및 5와 함께 보다 자세히 후술되는 바와 같이, 후면 강체(230)는 전면 강체(205)가 이미지 장치(135)에 보이지 않더라도 VR 콘솔(110)이 VR 헤드셋(105)의 추적을 유지하도록 한다. 후면 강체(230) 상의 탐지기(120)는 서로에 상대적이고 전면 강체(205) 상의 참조점(215)에 상대적으로 고정된 위치에 위치한다. 도 2b의 예시에서, 후면 강체(230) 상의 하나 이상의 탐지기(120), 또는 탐지기(120)의 일부는 후면 강체(230)의 전면부(235A), 상면부(235B), 하면부(235C), 우측면부(235D) 및 좌측면부(235E) 상에 위치한다.
도 3은 VR 콘솔(110)에 포함되는 추적 모듈(150)의 일실시예의 블록도이다. 추적 모듈(150)의 일부 실시예는 본 명세서에 서술된 것과는 상이한 모듈을 가진다. 유사하게, 도 3과 함께 서술되는 기능은 본 명세서에 서술된 것과는 다른 방식으로 컴포넌트들에 분산될 수 있다. 도 3의 예시에서, 추적 모듈(150)은 추적 데이터베이스(310), 초기화 모듈(320), 추정 모듈(330), 파라미터 조정 모듈(340) 및 모니터링 모듈(350)을 포함한다.
추적 데이터베이스(310)는 추적 모듈(150)에 의해 하나 이상의 VR 헤드셋(105)을 추적하는데 사용되는 정보를 저장한다. 예를 들어, 추적 데이터베이스(310)는 하나 이상의 헤드셋 모델, 하나 이상의 캘리브레이션 파라미터값 또는 VR 헤드셋(105)을 추적하는 임의의 다른 적절한 정보를 저장한다. 도 1에 관해 상술한 바와 같이, 헤드셋 모델은 서로 및 참조점(215)에 대해 각 탐지기(120)의 이상적인 위치를 서술한다. 각 탐지기(120)는 헤드셋 모델의 대응하는 모델 탐지기와 연관되고; 따라서, 탐지기(120)에 대응하는 모델 탐지기는 헤드셋 모델에 따른 탐지기(120)의 이상적인 위치를 서술한다. 추가적으로, 헤드셋 모델은 탐지기(120) 또는 참조점(215)의 모델 위치의 변화를 상이한 캘리브레이션 파라미터의 함수로 서술하는 정보를 포함할 수 있다. 일부 실시예에서, 헤드셋 모델은 서로에 대한 후면 강체(230) 상의 탐지기(120)의 모델 위치, 후면 강체(230)의 위치를 서술하는 후면 참조점의 모델 위치, 전면 강체(205) 상의 참조점(215)에 대한 후면 참조점의 디폴트 위치, 참조점(215)에 대한 후면 강체(230) 상의 탐지기(120)의 모델 위치의 디폴트 위치나 그들의 일부의 조합을 서술할 수 있다.
캘리브레이션 파라미터는 VR 헤드셋(105)의 캘리브레이션에 영향을 주도록 조정될 수 있는 파라미터이다. 캘리브레이션 파라미터의 예시는 이미징 파라미터, IMU 파라미터나 그들의 일부의 조합을 포함한다. 이미징 파라미터와 IMU 파라미터는 캘리브레이션 파라미터에 포함될 수 있다. 이미징 파라미터의 예시는: 초점 거리, 초점, 프레임 레이트, ISO, 셔터 속도, 조리개, 카메라 방향, 소스 활성화(이미지 장치(135)가 반사성 탐지기(120)를 비추기 위해 광원을 사용하는 실시예에서), 이미지 장치(135)의 렌즈의 중앙에 대한 이미징 센서의 오프셋, 렌즈 디스토션 파라미터, 센서 온도나 저속 캘리브레이션 데이터를 출력하기 위해 이미지 장치(135)에 의해 사용되는 임의의 다른 파라미터를 포함한다. IMU 파라미터는 고속 캘리브레이션 데이터의 컬렉션을 제어하는 파라미터이다. IMU 파리미터의 예시는: 위치 센서(125)로부터의 하나 이상의 측정 신호의 샘플 레이트, 고속 캘리브레이션 데이터의 출력 속도, 고속 캘리브레이션 데이터를 생성하기 위해 IMU(130)에 의해 사용되는 다른 적절한 파라미터, IMU(130)의 전원을 키거나 끄는 명령어, 초기 위치를 참조점의 현재 위치로 업데이트하는 명령어, 오프셋 정보(예컨대, 위치 정보에 대한 오프셋) 또는 임의의 다른 적절한 정보를 포함한다.
초기화 모듈(320)은 추적 데이터베이스(310)로부터 검색된 캘리브레이션 파라미터와 같은 추적 데이터베이스(310)로부터의 정보를 사용하여 시스템 환경(100)을 초기화한다. 시스템 환경(100)이 이전에 캘리브레이션되지 않은 실시예에서 디폴트 캘리브레이션 파라미터는 추적 데이터베이스(310)에서 검색된다. 만약 시스템 환경(100)이 이전에 캘리브레이션됐다면, 조정된 캘리브레이션 파라미터가 추적 데이터베이스(310)에서 검색된다. 초기화 모듈(320)은 검색된 캘리브레이션 파라미터를 IMU(130) 및/또는 이미징 장치(130)에 제공한다.
추정 모듈(330)은 저속 캘리브레이션 데이터 및/또는 고속 캘리브레이션 데이터를 VR 헤드셋(105) 및/또는 IMU(130)로부터 검색한다. 저속 캘리브레이션 데이터는 이미지 장치(135)로부터 느린 데이터 속도(예컨대, 20Hz)로 검색된다. 반면, 고속 캘리브레이션 데이터는 IMU(130)로부터 저속 캘리브레이션 데이터가 검색되는 데이터 속도보다 훨씬 빠른 데이터 속도(예컨대, 200Hz 이상)으로 검색된다. 그러므로, 고속 캘리브레이션 데이터는 저속 캘리브레이션 데이터에 포함된 VR 헤드셋(105)의 이미지들 간에서 VR 헤드셋(105)의 위치 정보를 결정하는데 사용될 수 있다.
추적 데이터베이스(310)로부터의 헤드셋 모델과 이미지 장치(135)로부터의 저속 캘리브레이션 데이터를 사용하여, 추정 모듈(330)은 이미지 장치(135)에 의해 캡처된 이미지로부터 식별된 이미지 장치(135) 상의 하나 이상의 탐지기에 대응하는 모델 탐지기를 식별한다. 추정 모듈(330)은 저속 캘리브레이션 데이터의 이미지로부터 탐지기 정보를 추출하는데, 탐지기 정보는 주어진 이미지에서 서로에 대한 관측된 탐지기(120)의 위치를 서술한다. 주어진 이미지에 대하여, 탐지기 정보는 이미지에서 관측된 탐지기(120) 간의 상대 위치를 서술한다. 예를 들어, 만약 이미지가 관측된 탐지기 A, B 및 C를 보여준다면, 탐지기 정보는 A와 B, A와 C, B와 C 간의 상대 거리를 서술하는 데이터를 포함한다. 상술한 바와 같이, 헤드셋 모델은 VR 헤드셋(105) 상의 탐지기에 대한 하나 이상의 모델 위치를 포함한다. 추정 모듈(330)은 관측된 탐지기(120)의 상대 위치를 모델 탐지기의 상대 위치와 비교하여 VR 헤드셋(105) 상의 관측된 탐지기(120)와 헤드셋 모델로부터의 모델 탐지기 간의 대응성을 결정한다. 캘리브레이션이 복수의 강체를 포함하는 VR 헤드셋(225)에 대해 일어나는 실시예에서, 전면 강체(205) 및 후면 강체(230) 양자 상의 관측된 탐지기에 대응하는 모델 탐지기는 저속 캘리브레이션 데이터의 적어도 하나의 이미지로부터 식별된다.
추가적으로, 헤드셋 모델과 모델 탐지기 및 관측된 탐지기(120)를 서술하는 정보에 기반하여, 추정 모듈(330)은 관측된 탐지기(120)에 대한 추정 위치를 생성한다. 추정 모듈(330)은 헤드셋 모델 및 모델 탐지기와 관측된 탐지기(120)를 서술하는 정보에 기반하여 투영 행렬을 결정한다. 투영 행렬은 헤드셋 모델에 의해 서술되는 탐지기(120)의 이상적인 위치를 이미지 장치(135)의 관측된 탐지기(120)의 이미지에 의해 서술되는 이미지면 상의 위치로 변환하는 수학적인 구조이다. 그러므로, 추정 모듈(330)은 투영 행렬과 헤드셋 모델에 서술된 모델 탐지기의 위치를 사용하여 관측된 탐지기(120)의 위치를 추정한다. 하나 이상의 캘리브레이션 파라미터가 투영 행렬에 적용되어 하나 이상의 캘리브레이션 파라미터에 대한 조정이 관측된 탐지기(120)의 추정 위치를 수정한다.
추정 모듈(330)은 또한 중간 위치 정보, 중간 속도 정보, 중간 가속도 정보나 그들의 일부의 조합을 고속 캘리브레이션 데이터로부터 추츨한다. 고속 캘리브레이션 데이터가 저속 캘리브레이션 데이터보다 자주 수신되는 것과 같이, 고속 캘리브레이션 데이터로부터 추출한 정보는 추정 모듈(330)이 위치 정보, 속도 정보 또는 가속도 정보를 저속 캘리브레이션 데이터로부터의 이미지들 간의 기간에 대하여 결정할 수 있게 한다. 중간 추정 위치 정보(예컨대, 중간 추정된 위치)는 이미지와 연관된 시점 또는 저속 캘리브레이션 데이터의 이미지와 후속 이미지와 연관된 시간들 사이의 시점의 참조점(215)의 위치를 서술한다. 중간 속도 정보는 이미지와 연관된 시점 및 저속 캘리브레이션 데이터에서 후속 이미지와 연관된 시점 사이의 시점에서 참조점(215)과 연관된 속도 벡터를 서술한다. 중간 가속도 정보는 이미지와 연관된 시점 및 저속 캘리브레이션 데이터에서 후속 이미지와 연관된 시점 사이의 시점에서 참조점(215)과 연관된 가속도 벡터를 서술한다. 일부 실시예에서, 추정 모듈(330)은 중간 가속도 정보를 사용하여 또는 중간 속도 정보로부터 중간 추정된 위치 정보를 획득하도록 구성된다. 추정 모듈(330)은 파라미터 조정 모듈(340)로 중간 위치를 제공한다.
파라미터 조정 모듈(340)은 관측된 탐지기(120)의 조정된 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작을 때까지 하나 이상의 캘리브레이션 데이터를 조정하여 추정된 위치를 조정한다. 만약 탐지기(120)의 추정 위치와 그 대응하는 모델 탐지기의 거리 간의 상대 거리가 임계치(예컨대, 1mm)와 같거나 초과한다면, 파라미터 조정 모듈(340)은 상대 거리가 임계치보다 작을 때까지 하나 이상의 캘리브레이션 파라미터(예컨대, 이미징 파라미터)를 조정한다. 예를 들어, 파라미터 조정 모듈(340)은 다른 캘리브레이션 파라미터를 고정하고 한 캘리브레이션 파리미터를 수정하여 수정되는 캘리브레이션 파라미터에 대한 값이 탐지기(120)의 추정 위치 및 그 대응하는 모델 탐지기의 위치 간의 임계 거리보다 작게 되도록 결정한다. 파라미터 조정 모듈(340)은 그 후 캘리브레이션 파라미터를 고정하여 값을 결정하고 적어도 임계수의 관측된 탐지기(120)의 조정된 추정 위치 및 그들의 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작을 때까지 다른 캘리브레이션 파라미터를 상수값으로 고정하고 개별 캘리브레이션 파라미터에 대한 값을 수정하는 프로세스를 반복할 수 있다. 관측된 탐지기(120)의 조정된 추정 위치를 사용하여, 파라미터 조정 모듈(340)은 저속 캘리브레이션 데이터의 하나 이상의 프레임에 대하여 참조점(215)의 캘리브레이션된 위치를 생성한다.
VR 헤드셋(105)이 두 강체를 포함하는 실시예에서(예컨대, VR 헤드셋(225)) 파라미터 조정 모듈(340)은 전면 강체(205) 상의 참조점(215)에 대한 후면 강체(230)의 위치를 결정한다. 일부 실시예에서, 파라미터 조정 모듈(340)은 후면 강체(230) 상의 관측된 탐지기(120) 및 그 대응하는 모델 탐지기를 사용하여 후면 강체(230) 상의 후면 참조점을 식별한다. 파라미터 조정 모듈(340)은 그 후 전면 강체(205) 상의 참조점(215)에 대한 후면 참조점의 위치를 식별한다. 대안적으로, VR 콘솔(110)은 전면 강체(205) 상의 참조점(215)에 대한 후면 강체(230) 상의 각 관측된 탐지기(120)의 위치를 식별한다. 일부 실시예에서, 파라미터 조정 모듈(340)은 임계수의 탐지기가 각 강체(205, 230) 중 하나 이상의 측면 상에서 이미징됐거나(관측된 탐지기) 임계수의 탐지기가 각 강체(205, 230)의 모든 측면 상에서 이미징됐다고(관측된 탐지기) 결정하는 것에 응답하여 참조점(215)의 캘리브레이션된 위치를 생성한다. 예를 들어, 강체(205, 230)의 측면 상에서 이미징된 탐지기의 임계수는 0보다 크거나 같다. 만약 임계수의 탐지기가 이미징되지 않았다면, 파라미터 조정 모듈(340)은 VR 헤드셋(105)을 통해 또는 다른 적절한 컴포넌트를 통해 사용자가 VR 헤드셋(105)을 이미지 장치(135)에 대해 명시된 방향으로 향하거나 임계수의 탐지기가 이미징될 때까지 VR 헤드셋(105)을 계속 움직이도록 유도할 수 있다.
파라미터 조정 모듈(340)은 또한 참조점(215)의 위치를 예측하는 예측 함수를 결정하고 고속 캘리브레이션 데이터로부터의 참조점(215)의 중간 추정 위치가 참조점(215)의 예측된 위치의 임계치 내에 있을 때까지 하나 이상의 캘리브레이션 파라미터를 조정한다. 예를 들어, 예측 함수는 일련의 캘리브레이션된 위치에 곡선을 맞춤으로써 생성된다. 파라미터 조정 모듈(340)은 그 후 참조점(215)의 중간 추정 위치와 참조점(215)의 예측된 위치 간의 거리가 임계치보다 작을 때까지 하나 이상의 캘리브레이션 파라미터를 조정한다. 예를 들어, 파라미터 조정 모듈(340)은 참조점(215)의 중간 추정 위치와 참조점(215)의 예측된 위치 간의 거리가 1mm 이하일 때까지 IMU(130)의 샘플 레이트를 증가시킬 수 있다. 다른 실시예에서, 파라미터 조정 모듈(340)은 하나 이상의 캘리브레이션 파라미터를 조정하여 각 중간 추정 위치와 이미지와 연관된 참조점(215)의 캘리브레이션된 위치(예컨대, CP1) 간의 거리가 이미지와 연관된 참조점(215)의 캘리브레이션된 위치(예컨대, CP1)와 후속 이미지와 연관된 참조점(215)의 캘리브레이션된 위치(예컨대, CP2) 간의 거리값보다 작게 할 수 있다
일부 실시예에서, 파라미터 조정 모듈(340)은 IMU(130)의 초기 위치가 참조점(215)의 다음 캘리브레이션된 위치가 되도록 업데이트할 수 있다. 도 1과 함께 상술하고 도 6과 함께 후술하는 바와 같이, IMU(130)는 이전에 IMU(130)에 의해 결정된 참조점(215)의 위치에 대한 고속 캘리브레이션 데이터를 수집한다. 따라서, 드리프트 오차는 IMU(130)가 캘리브레이션된 위치로 초기 위치를 업데이트하지 않고 데이터를 수집할수록 증가한다. 파라미터 조정 모듈(340)은 중간 추정 위치를 업데이트 임계치와 비교한다. 만약 하나 이상의 중간 추정 위치가 업데이트 임계치를 초과하면, 파라미터 조정 모듈(340)은 IMU(130)와 명령을 통신하여 초기 위치를 다음 캘리브레이션된 위치와 연관된 위치로 업데이트한다. 대안적으로, 캘리브레이션된 위치를 결정한 후, 파라미터 조정 모듈(340)은 IMU(130)가 결정된 캘리브레이션된 위치로 초기 위치를 업데이트하도록 명령한다. 파라미터 조정 모듈(340)은 추적 데이터베이스(310)에 조정된 캘리브레이션 파라미터에 대한 값을 저장하고 또한 조정된 캘리브레이션 파라미터를 VR 콘솔(110)의 다른 컴포넌트로 제공할 수 있다.
모니터링 모듈(350)은 캘리브레이션을 잃는데 대해 시스템 환경(100)을 모니터링한다. 다양한 실시예에서, 모니터링 모듈(350)은 관측된 탐지기(120)의 조정된 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리를 모니터링한다. 만약 관측된 탐지기의 조정된 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치(예컨대, 1mm)보다 작으면, 모니터링 모듈(350)은 관측된 탐지기(120)의 위치로부터 결정된 참조점(215)의 캘리브레이션된 위치를 VR 엔진(155)으로 제공한다. 반면, 만약 관측된 탐지기와 그 대응하는 모델 탐지기 간의 상대 거리가 임계치(예컨대, 1mm) 이상이라면, 모니터링 모듈(350)은 캘리브레이션을 잃었다고 결정하고 파라미터 조정 모듈(340)이 시스템 환경(100)을 재캘리브레이션하도록 유도한다.
파라미터 조정 모듈(340)에 의해 결정된 중간 추정 위치와 그 대응하는 예측된 위치 간의 상대 거리를 모니터링한다. 만약 예측된 위치와 그 대응하는 중간 추정 위치 간의 거리가 임계치(예컨대, 1mm)보다 작다면, 모니터링 모듈(350)은 VR 엔진(155)에 중간 추정 위치를 제공한다. 일부 실시예에서, 모니터링 모듈(350)은 또한 고속 캘리브레이션 데이터로부터 추출된 중간 속도 정보 또는 중간 가속도 정보를 VR 엔진(155)에 제공할 수 있다. 반면, 만약 예측된 위치와 그 대응하는 중간 추정 위치 간의 거리가 임계치보다 크다면, 모니터링 모듈(350)은 캘리브레이션을 잃었다고 결정하고 시스템 환경(100)이 캘리브레이션을 재확립하게 할 수 있다.
일부 경우에, 후면 강체(230) 상의 탐지기(120)는 이미지 장치(135)에만 보인다. 후면 강체(230) 상의 탐지기(120)만이 이미지 장치(135)에 보일 때, 일부 실시예에서, 만약 후면 강체(230)의 추정 위치(예컨대, 후면 강체(230) 상의 탐지기(120)로부터 생성된) 및 후면 강체(230)의 예측된 위치(예컨대, 고속 캘리브레이션 데이터를 사용해 생성될 수 있는) 간의 차이가 임계치보다 크다면, 모니터링 모듈(350)은 캘리브레이션을 잃었고 시스템 환경(100)이 캘리브레이션을 재확립하게 할 수 있다. 추가적으로, 만약 후면 강체(230)의 추정 위치와 후면 강체(230)의 예측된 위치 간의 차이가 임계치보다 크다면, VR 콘솔(110)은 임시 오프셋값으로 후면 강체(230)의 예측 위치를 조정하여 후면 강체(230)의 추정된 위치와 후면 강체(230)의 예측된 위치 간의 차이가 임계치보다 작게 한다. 모니터링 모듈(350)은 그 후 임시 오프셋값(또는 이서서 생성된 임시 오프셋값)을 사용하여 전면 강체(205)와 후면 강체(230) 간에 재캘리브레이션이 일어날 때까지 보다 정확하게 후면 강체(230)의 위치를 예측할 수 있다. 대안적으로, 만약 참조점(215)에 대한, 후면 강체(230) 상의 탐지기(120)의 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 차이가 임계치보다 크다면, 모니터링 모듈(350)은 캘리브레이션을 잃었다고 결정하고 시스템 환경(100)이 캘리브레이션을 재확립하도록 할 수 있다. 일부 실시예에서, 저속 캘리브레이션 데이터가 임계수의 전면 강체(205) 상의 탐지기와 임계수의 후면 강체(230) 상의 탐지기를 포함하는 이미지를 포함할 때, 추적 모듈(150)은 재캘리브레이션을 시작한다. 추가적으로, 일부 실시예에서, 추적을 잃으면, 모니터링 모듈(350)은 자동으로 사용자가 VR 헤드셋(105)을 조정하여 전면 강체(205)와 후면 강체(230) 모두 상의 탐지기가 보이도록 유도한다.
가상 현실 시스템 캘리브레이션
도 4는 도 1과 함께 상술한 시스템 환경(100)과 같은 VR 시스템을 캘리브레이션하는 프로세스의 일실시예의 흐름도이다. 다른 실시예에서, 프로세스는 도 4에 도시된 것과는 다르거나, 추가적이거나, 더 적은 단계를 포함한다. 추가적으로, 일부 실시예에서, 도 4와 함께 서술된 단계는 다른 순서로 수행될 수 있다.
VR 콘솔(110)은 하나 이상의 캘리브레이션 파라미터를 사용하여 시스템 환경을 초기화한다(410). 예를 들어, VR 콘솔(110)이 추적 데이터베이스(310)에서 VR 헤드셋(105)과 연관된 하나 이상의 캘리브레이션 파라미터를 검색한다. 일부 실시예에서, VR 콘솔(110)은 이미지 장치(135)나 IMU(130)가 이전에 특정 VR 헤드셋(105)에 대해 캘리브레이션됐다면 추적 데이터베이스(310)에서 조정된 캘리브레이션 파라미터값을 검색한다. 만약 이미지 장치(135)나 IMU(130)가 이전에 VR 헤드셋(105)에 캘리브레이션되지 않았다면, VR 콘솔(110)은 추적 데이터베이스(310)로부터 디폴트 캘리브레이션 파라미터를 검색한다. VR 콘솔(110)은 IMU(130)나 이미지 장치(135)에 캘리브레이션 파라미터를 제공한다.
VR 콘솔(110)은 이미지 장치(135)로부터 저속 캘리브레이션 데이터를, IMU(130)로부터 고속 캘리브레이션 데이터를 수신한다(420). 저속 캘리브레이션 데이터는 VR 헤드셋(105) 상의 하나 이상의 탐지기(120)를 포함하는 일련의 이미지를 포함한다. 저속 캘리브레이션 데이터의 이미지에 포함된 탐지기(120)는 본 명세서에서 "관측된 탐지기"라고 불린다. 고속 캘리브레이션 데이터는 참조점(215)(예컨대, IMU(130)의 중앙)의 하나 이상의 중간 추정 위치를 포함할 수 있다. 다른 실시예에서, 고속 캘리브레이션 데이터는 또한 중간 가속도 정보 및/또는 중간 속도 정보를 포함하는데 이로부터 VR 콘솔(110)이 VR 참조점(215)의 하나 이상의 중간 추정 위치를 결정한다.
저속 캘리브레이션 데이터와 헤드셋 모델에 적어도 부분적으로 기반하여, VR 콘솔(110)은 헤드셋 모델의 탐지기인 모델 탐지기를 식별한다(430). VR 콘솔(110)은 저속 캘리브레이션 데이터로부터 서로에 대한 관측된 탐지기(120)의 위치를 서술하는 탐지기 정보를 추출하고 탐지기 정보를 추적 데이터베이스(310)로부터 검색된 헤드셋 모델과 비교하여 관측된 탐지기에 대응하는 모델 탐지기를 식별한다(430). 모델 탐지기는 헤드셋 모델의 컴포넌트이므로, 관측된 탐지기와 연관된 모델 탐지기를 식별하는 것(430)은 VR 콘솔(110)이 이어서 관측된 탐지기의 위치를 관측된 탐지기와 연관된 모델 탐지기의 헤드셋 모델로부터의 이상적인 위치와 비교할 수 있게 한다.
헤드셋 모델을 사용하여, VR 콘솔(110)은 하나 이상의 관측된 탐지기(120)에 대한 추정 위치를 생성한다(440). 헤드셋 모델은 탐지기(120) 및 참조점(215) 간의 이상적인 위치를 서술한다. 다양한 실시예에서, VR 콘솔(110)은 헤드셋 모델과 탐지기 정보를 사용하여 헤드셋 모델의 이상적 위치를 이미지 장치(135)의 이미지 면 상의 위치로 변환하기 위한 투영 행렬을 결정한다. VR 콘솔(110)은 투영 행렬을 사용하여 관측된 탐지기의 위치를 추정한다. 따라서, 탐지기(120)의 추정 위치는 저속 캘리브레이션 데이터의 이미지의 이미지면 상의 관측된 탐지기(120)의 이상적 위치를 식별한다.
하나 이상의 관측된 탐지기(120) 상의 추정된 위치와 하나 이상의 관측된 탐지기(120)에 대응하는 모델 탐지기의 위치 간의 상대 거리에 적어도 부분적으로 기반하여, VR 콘솔(110)은 하나 이상의 탐지기(120)의 추정 위치를 조정하는 하나 이상의 캘리브레이션 파라미터를 조정하여(450) 관측된 탐지기(120)의 추정 위치와 헤드셋으로부터의 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치(예컨대, 1mm)보다 작게 한다. 캘리브레이션 파라미터를 조정하는 것은 투영 행렬에 영향을 주어서(예컨대, 초점 거리를 변화시키는 등), 하나 이상의 캘리브레이션 파라미터를 변화시키는 것은 관측된 탐지기(120)의 추정 위치에 영향을 준다. 만약 관측된 탐지기(120)의 추정 위치와 그 대응하는 모델 탐지기 간의 거리가 임계치와 같거나 크면, 일실시예에서, VR 콘솔(110)은 다른 캘리브레이션 파라미터를 고정시키고 한 캘리브레이션 파라미터를 조정하여(450) 관측된 탐지기(120)의 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 거리가 임계치보다 작게 만드는 캘리브레이션 파라미터에 대한 조정되는 값을 결정한다. 캘리브레이션 데이터는 그 후 다른 캘리브레이션 파라미터가 추가적인 탐지기(120)의 추정 위치와 추가적인 탐지기에 대응하는 모델 탐지기의 추가적인 위치 간의 거리가 임계치보다 작도록 수정되는 동안 결정된 값으로 고정될 수 있다. 다양한 캘리브레이션 파라미터가 상술한 바와 같이 조정되어(450) 적어도 임계수의 관측된 탐지기(120)의 조정된 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작아질 수 있다. 만약 적어도 임계수의 관측된 탐지기(120)의 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 거리가 임계치보다 작다면, 캘리브레이션 파라미터는 조정되지 않는다(450).
VR 콘솔(110)은 임계수의 관측된 탐지기(120)가 전면 강체(205)의 각 측면(예컨대, 전면부(220A), 상면부(220B), 하면부(220C), 우측면부(220D) 및 좌측면부(220E))으로부터인지 여부를 결정한다(460). 만약 임계수의 관측된 탐지기(120)가 각 측면과 연관된다면, VR 콘솔(110)은 관측된 탐지기의 조정된 추정 위치를 사용하여 저속 캘리브레이션 데이터의 하나 이상의 프레임에 대하여 참조점(215)의 캘리브레이션된 위치를 생성한다(470). VR 헤드셋(105)가 복수의 강체를 포함하는 실시예에서, VR 콘솔(110)은 각 강체(205, 230)의 하나 이상의 측면에서 임계수의 탐지기가 이미징됐는지(관측된 탐지기) 결정하는 것에 응답하여 또는 각 강체(205, 230)의 모든 측면에서 임계수의 탐지기가 이미징됐는지(관측된 탐지기) 결정하는 것에 응답하여 참조점(215)의 캘리브레이션된 위치를 생성한다. 만약 임계수의 관측된 탐지기(120)가 각 측면과 연관되지 않는다면, VR 콘솔(110)은 VR 헤드셋(105)이나 다른 컴포넌트를 통하여 사용자가 VR 헤드셋(105)을 재위치시켜 VR 헤드셋(105)의 하나 이상의 측면으로부터의 탐지기를 포함하는 저속 캘리브레이션 데이터가 캡처될 수 있도록 하는 유도를 통신할 수 있다.
VR 콘솔(110)은 고속 캘리브레이션 데이터로부터 수신한 VR 헤드셋(105)의 중간 추정 위치가 VR 헤드셋(105)이나 참조점(215)에 대한 예측 위치의 임계 거리 내에 있을 때까지 하나 이상의 파라미터를 더 조정하는데(480), 예측된 위치는 저속 캘리브레이션 데이터로부터의 다양한 이미지와 연관된 참조점(215)의 캘리브레이션된 위치로부터 결정된다. 일부 실시예에서, VR 콘솔(110)은 저속 캘리브레이션 데이터로부터의 상이한 이미지와 연관된 참조점(215)의 캘리브레이션된 위치를 사용하여 예측 함수를 생성함으로써(예컨대, 곡선 맞춤을 통하여) 참조점(215)의 예측된 위치를 결정한다. VR 콘솔(110)은 참조점(215)의 중간 추정 위치와 참조점(215)의 예측된 위치 간의 거리가 임계 거리보다 작을 때까지 하나 이상의 캘리브레이션 파라미터를 조정한다. 예를 들어, VR 콘솔(110)은 참조점(215)의 중간 추정 위치와 참조점(215)의 예측된 위치 간의 거리가 전부 1mm 이하일 때까지 또는 적어도 임계수의 참조점(215)의 중간 추정 위치와 참조점(215)의 예측된 위치 간의 거리가 1mm보다 작을 때까지 IMU(130)의 샘플 레이트를 높일 수 있다. 다른 실시예에서, VR 콘솔(110)은 저속 캘리브레이션 데이터로부터의 이미지와 연관된 참조점(215)의 캘리브레이션된 위치와 저속 캘리브레이션 데이터로부터의 후속 이미지와 연관된 참조점(215)의 캘리브레이션된 위치 사이의 위치로 참조점(215)의 예측된 위치를 결정한다. VR 콘솔(110)은 그 후 하나 이상의 캘리브레이션 파라미터를 조정하여(480) 각 중간 추정 위치와 이미지와 연관된 참조점(215)의 캘리브레이션된 위치(CP1) 간의 거리가 이미지와 연관된 참조점(215)의 캘리브레이션된 위치(CP1)와 후속 이미지와 연관된 참조점(215)의 캘리브레이션된 위치(CP2) 간의 거리보다 작도록 한다. 추가적으로, VR 콘솔(110)은 IMU(130)의 초기 위치를 참조점(215)의 캘리브레이션된 위치로 업데이트할 수 있다.
일부 실시예에서, VR 콘솔(110)은 조정된 캘리브레이션 파라미터에 대한 값을 추적 데이터베이스(310)에 저장하거나 조정된 캘리브레이션 파라미터에 대한 값을 VR 콘솔(110)의 다른 컴포넌트에 제공한다. 조정된 캘리브레이션 값은 시스템 환경(100)의 후속 작동을 위한 캘리브레이션 시간을 감소시키고, 사용자 경험을 향상시킬 수 있다.
VR 콘솔(110)은 캘리브레이션을 잃는데 대해 시스템 환경(100)을 모니터링한다(490). 예를 들어, VR 콘솔(110)은 관측된 탐지기(120)의 조정된 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리를 모니터링한다. 만약 관측된 탐지기(120)의 조정된 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치(예컨대, 1mm)보다 작다면, VR 콘솔(110)은 VR 엔진(155)에 캘리브레이션된 위치를 제공한다. 반면, 만약 관측된 탐지기의 조정된 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치(예컨대, 1mm)보다 크다면(또는, 같거나 초과한다면), VR 콘솔(110)은 캘리브레이션을 잃었다고 결정하고, 저속 캘리브레이션 데이터와 고속 캘리브레이션 데이터를 수신하고(420) 시스템 환경(100)을 재캘리브레이션하기 위한 상술한 기능을 수행한다.
추가적으로, VR 콘솔(110)은 참조점(215)의 중간 추정 거리와 참조점(215)의 예측된 위치 간의 상대 거리를 모니터링한다(490). 예를 들어, 만약 참조점(215)의 예측된 위치의 곡선과 참조점(215)의 중간 추정 위치 간의 거리가 임계 거리(예컨대, 1mm)보다 작다면, VR 콘솔(110)은 VR 엔진(155)에 중간 추정 위치를 제공한다. 일부 실시예에서, VR 콘솔(110)은 또한 고속 캘리브레이션 데이터에서 추출한 중간 속도 정보나 중간 가속도 정보를 VR 엔진(155)에 제공할 수 있다. 반면, 만약 참조점(215)의 예측된 위치와 참조점(215)의 중간 추정 위치 간의 거리가 임계 거리보다 크다면 또는 같거나 초과한다면, VR 콘솔(110)은 캘리브레이션을 잃었다고 결정하고, 저속 캘리브레이션 데이터와 고속 캘리브레이션 데이터를 수신하고(420) 시스템 환경(100)을 재캘리브레이션하기 위한 상술한 기능을 수행한다.
일부 실시예에서, IMU(130)과 이미지 장치(135)는 동시에 캘리브레이션될 수 있다. IMU(130)과 이미지 장치(135)를 동시에 캘리브레이션하기 위하여, VR 콘솔(110)은 관측된 탐지기의 추정된 위치를 사용하여 일련의 이미지에 대한 참조점(215)의 위치를 추정한다. 추가적으로, VR 콘솔(110)은 IMU(130)과 이미지 장치(135)를 캘리브레이션할 때 저속 캘리브레이션 데이터의 이미지에 대응하는 특정한 시간값에서 참조점(215)의 중간 추정 위치를 포함하는 고속 캘리브레이션 데이터를 사용한다. IMU(130)와 이미지 장치(135)의 캘리브레이션 파라미터를 동시에 조정할 때, VR 콘솔(110)은: (1) 관측된 탐지기의 추정된 위치를 조정하여 관측된 탐지기의 조정된 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작게 하고; 및 (2) 참조점에 대한 추정된 위치를 조정하여 저속 캘리브레이션 데이터의 이미지에 대응하는 특정 시간값에서 참조점에 대한 추정된 위치와 모델 탐지기로부터 결정된 모델 참조점의 위치 간의 상대 거리가 임계치보다 작게 한다.
도 5는 시스템 환경(100)에 포함된 가상 현실 헤드셋(225)의 두 강체 간에 캘리브레이션을 재확립하는 프로세스의 일실시예를 도시한 흐름도이다. 다른 실시예에서, 프로세스는 도 5에 도시된 것과는 다르거나, 추가적이거나, 더 적은 단계를 포함한다. 추가적으로, 일부 실시예에서, 도 5와 함께 서술된 단계는 다른 순서로 수행될 수 있다.
VR 콘솔(110)은 VR 헤드셋(225)의 전면 강체(205) 상의 전면 임계수의 탐지기(120)와 후면 강체(230) 상의 탐지기(120)의 후면 임계수(예컨대, 적어도 하나)를 보여주는 이미지를 포함하는 저속 캘리브레이션 데이터를 수신한다(510). 저속 캘리브레이션 데이터의 이미지에 포함된 탐지기(120)는 본 명세서에서 "관측된 탐지기"로 불린다. 도 2 내지 4와 함께 상술한 바와 같이, VR 콘솔(110)은 이미지 장치(135)로부터 저속 캘리브레이션 데이터를, IMU(130)로부터 고속 캘리브레이션 데이터를 수신한다(510). 고속 캘리브레이션 데이터는 또한 중간 가속도 정보 및/또는 중간 속도 정보를 포함하는데 이로부터 VR 콘솔(110)이 VR 헤드셋(225)의 참조점(215)의 하나 이상의 중간 추정 위치를 결정한다.
저속 캘리브레이션 데이터와 헤드셋 모델에 적어도 부분적으로 기반하여, VR 콘솔(110)은 헤드셋 모델의 탐지기인 모델 탐지기를 식별한다(520). VR 콘솔(110)은 저속 캘리브레이션 데이터로부터 서로에 대한 관측된 탐지기(120)의 위치를 서술하는 탐지기 정보를 추출하고 탐지기 정보를 추적 데이터베이스(310)로부터 검색된 헤드셋 모델과 비교하여 관측된 탐지기(120)에 대응하는 모델 탐지기를 식별한다(520). 적어도 하나의 이미지에서 모델 탐지기는 VR 헤드셋(225)의 전면 강체(205) 및 후면 강체(230) 양자 상의 관측된 탐지기에 대응하는 것으로 식별된다. 모델 탐지기는 헤드셋 모델의 컴포넌트이므로, 관측된 탐지기와 연관된 모델 탐지기를 식별하는 것(520)은 VR 콘솔(110)이 이어서 관측된 탐지기의 위치를 관측된 탐지기와 연관된 모델 탐지기의 헤드셋 모델로부터의 이상적인 위치와 비교할 수 있게 한다.
헤드셋 모델을 사용하여, VR 콘솔(110)은 하나 이상의 관측된 탐지기(120)에 대한 추정 위치를 생성한다(530). 헤드셋 모델은 탐지기(120) 및 참조점(215) 간의 이상적인 위치를 서술한다. 다양한 실시예에서, VR 콘솔(110)은 헤드셋 모델과 탐지기 정보를 사용하여 헤드셋 모델의 이상적 위치를 이미지 장치(135)의 이미지 면 상의 위치로 변환하기 위한 투영 행렬을 결정한다. VR 콘솔(110)은 투영 행렬을 사용하여 관측된 탐지기(120)의 위치를 추정한다. 따라서, 탐지기(120)의 추정 위치는 저속 캘리브레이션 데이터의 이미지의 이미지면 상의 관측된 탐지기(120)의 이상적 위치를 식별한다.
하나 이상의 관측된 탐지기(120) 상의 추정된 위치와 하나 이상의 관측된 탐지기(120)에 대응하는 모델 탐지기의 위치 간의 상대 거리에 적어도 부분적으로 기반하여, VR 콘솔(110)은 제1 강체(205) 상의 관측된 탐지기(120)의 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치(예컨대, 1mm)보다 작도록 조정한다(540). 캘리브레이션 파라미터를 조정하는 것은 투영 행렬에 영향을 주어서(예컨대, 초점 거리를 변화시키는 등), 하나 이상의 캘리브레이션 파라미터를 변화시키는 것은 관측된 탐지기(120)의 추정 위치에 영향을 준다. 만약 관측된 탐지기(120)의 추정 위치와 그 대응하는 모델 탐지기 간의 거리가 임계치와 같거나 크면, 일실시예에서, VR 콘솔(110)은 다른 캘리브레이션 파라미터를 고정시키고 한 캘리브레이션 파라미터를 조정하여(540) 관측된 탐지기(120)의 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 거리가 임계치보다 작게 만드는 캘리브레이션 파라미터에 대한 조정되는 값을 결정한다. 캘리브레이션 파라미터의 조정(540)은 도 4와 함께 보다 자세히 상술된다. 만약 적어도 임계수의 관측된 탐지기(120)의 추정 위치와 그 대응하는 모델 탐지기의 위치 간의 거리가 임계치보다 작다면, 캘리브레이션 파라미터는 조정되지 않는다(540).
캘리브레이션 파라미터 조정(540)되어 적어도 임계수의 관측된 탐지기의 추정된 위치와 그 대응하는 모델 탐지기의 위치 사이의 상대 거리가 임계치보다 작은 후, VR 콘솔(110)은 관측된 탐지기(120)의 조정된 추정 위치를 사용하여 저속 캘리브레이션 데이터의 하나 이상의 이미지와 연관된 참조점(215)의 캘리브레이션된 위치를 생성한다(550). 일부 실시예에서, VR 콘솔(110)은 각 강체(205, 230)의 하나 이상의 측면에서 임계수의 탐지기가 이미징됐는지(관측된 탐지기) 결정하는 것 또는 각 강체(205, 230)의 모든 측면에서 임계수의 탐지기가 이미징됐는지(관측된 탐지기) 결정하는 것에 응답하여 참조점(215)의 캘리브레이션된 위치를 생성한다. 만약 임계수의 탐지기(강체(205, 230)의 한 측면 상 또는 각 강체(205, 230)의 모든 측면 상에서)가 이미징되지 않으면, VR 콘솔(110)은 VR 헤드셋(105)를 통하여 또는 다른 적절한 컴포넌트를 통하여 사용자가 VR 헤드셋(105)을 이미지 장치(135)에 대한 특정 방향으로 지향시키거나 임계수의 탐지기가 이미징될 때까지 VR 헤드셋(105)을 계속 움직이도록 유도할 수 있다.
VR 콘솔(110)은 또한 참조점(215)에 대해 후면 강체(230)의 위치를 결정한다(560). 일부 실시예에서, VR 콘솔(110)은 관측된 탐지기(120)와 그 대응하는 모델 탐지기를 사용하여 후면 강체(230) 상의 후면 참조점을 식별한다. VR 콘솔(110)은 그 후 후면 참조점이 참조점(215)에 대해 위치하도록 전면 강체(205) 상의 참조점(215)에 대한 후면 참조점의 위치를 위치 벡터로 식별한다. 대안적으로, VR 콘솔(110)은 후면 강체(230) 상의 각 관측된 탐지기의 위치가 참조점(215)에 대하여 그 자신의 위치 벡터로 위치하도록 참조점(215)에 대한 후면 강체(230) 상의 각 관측된 탐지기의 위치를 식별한다.
VR 콘솔(110)은 하나 이상의 캘리브레이션 파라미터를 조정하여(570) 참조점(215)의 중간 추정 위치가 참조점(215)의 예측된 위치의 임계 거리 내에 있도록 한다. 참조점(215)의 중간 추정 위치가 참조점의 예측된 위치의 임계치 내에 있도록 하는 캘리브레이션 파라미터의 조정은 도 4와 함께 보다 자세히 상술된다. 하나 이상의 캘리브레이션 파라미터 조정(570) 후, VR 콘솔(110)은 도 4와 함께 상술한 바와 같이 캘리브레이션을 잃는데 대해 시스템 환경(100)을 모니터링한다(580).
캘리브레이션을 잃는데 대해 모니터링할 때(580), VR 콘솔(110)은 전면 강체(205) 상이나, 후면 강체(230) 상이나, 그들의 일부의 조합 상의 탐지기(120)의 관측된 위치를 포함할 수 있는 저속 캘리브레이션 데이터로부터의 이미지를 사용한다. 일부 실시예에서, 관측된 탐지기(120)의 위치와 그 대응하는 모델 탐지기의 위치 간의 임계치는 관측된 탐지기(120)가 위치한 강체에 기반하여 달라질 수 있다. 예를 들어, 임계치는 전면 강체(205) 상의 관측된 탐지기(120)에 대하여 1mm이고 후면 강체(230) 상의 관측된 탐지기(120)에 대하여 2mm일 수 있다.
추가적으로, 일부 시나리오에서, 이미지 장치(135)는 전면 강체(205) 상의 탐지기(120)를 볼 수 없지만, 후면 강체(230) 상의 탐지기를 볼 수 있다. 이런 시나리오에서, 추적은 도 6과 관련하여 후술되는 프로세스를 사용하여 모니터링될 수 있다.
저속 캘리브레이션 데이터가 전면 강체(205) 상에 임계수의 탐지기와 후면 강체(230) 상에 임계수의 탐지기를 포함하는 이미지를 포함할 때, 도 5와 함께 상술한 단계가 시스템 환경(100)의 캘리브레이션을 재확립하기 위해 반복된다. 일부 실시예에서, 추적을 잃으면, VR 콘솔(110)은 자동으로 사용자가 VR 헤드셋(105)를 조정하여 전면 강체(205)와 후면 강체(230) 양자 상의 탐지기가 이미지 장치(135)에 보이도록 유도할 수 있다. 사용자에게 제시되는 유도는 사용자에게 VR 헤드셋(105)을 위치시키는 특정한 명령을 제공하여 전면 강체(205)와 후면 강체(230) 양자 상의 탐지기가 이미지 장치(135)에 보이게 할 수 있다.
도 6은 시스템 환경(100)에 포함된 VR 헤드셋(225)의 두 강체 간의 위치 관계를 유지하는 프로세스의 일실시예를 도시한 흐름도이다. 다른 실시예에서, 프로세스는 도 6에 도시된 것과는 다르거나, 추가적이거나, 더 적은 단계를 포함한다. 추가적으로, 일부 실시예에서, 도 6과 함께 서술된 단계는 다른 순서로 수행될 수 있다.
VR 콘솔(110)은 이미지 장치(135)로부터 저속 캘리브레이션 데이터를 수신한다(610). 저속 캘리브레이션 데이터는 이미지 시간값과 연관되고 이미지 장치(135)에 보이는 후면 강체(230) 상의 관측된 탐지기(120)만을 가지는 이미지를 포함하는 포함하는 일련의 이미지를 포함한다. 이미지 시간값은 이미지가 이미지 장치(135)에 의해 캡처된 시간값이다. 추가적으로, VR 콘솔(110)은 IMU(130)로부터, 이미지 시간값을 포함하는 일련의 시간값에 대한 참조점(215)의 중간 추정 위치를 포함하는 고속 캘리브레이션 데이터를 수신한다(620).
저속 캘리브레이션 데이터에 기반하여, VR 콘솔(110)은 이미지 시간값에 후면 강체(230)의 관측된 위치를 결정한다(630). 후면 강체(230)의 관측된 위치를 결정하기(630) 위하여, VR 콘솔(110)은 저속 캘리브레이션 데이터로부터 서로 상대적인 후면 강체(230) 상의 관측된 탐지기(120)의 위치를 서술하는 탐지기 정보를 추출하고 탐지기 정보를 추적 데이터베이스(310)로부터 검색된 헤드셋 모델과 비교하여 관측된 탐지기(120)에 대응하는 모델 탐지기를 식별한다. 모델 탐지기를 식별한 후, VR 콘솔(110)은 각 모델 탐지기에 대응하는 관측된 탐지기(120)를 결정하고 관측된 탐지기(120)의 위치를 사용하여 후면 강체(230)에 대한 후면 참조점을 결정한다. 일부 실시예에서, 후면 강체(230)의 관측된 탐지기는 후면 참조점의 위치이다. 대안적인 실시예에서, 후면 강체(230)의 관측된 위치는 하나 이상의 관측된 탐지기의 관측된 위치일 수 있다.
VR 콘솔(110)은 시간값에 고속 캘리브레이션 데이터와 위치 벡터를 사용하여 후면 강체(230)의 예측된 위치를 결정한다(640). 위치 벡터는 전면 강체(205) 및 후면 강체(230) 간의 캘리브레이션 오프셋을 서술한다. 예를 들어, 위치 벡터는 전면 강체(205)와 연관된 참조점(215)과 후면 강체(230)와 연관된 후면 참조점 간의 캘리브레이션된 오프셋을 서술한다. 추가적으로, 일부 실시예에서, 위치 벡터는 각각이 참조점(215)과 후면 강체(230) 상의 다른 탐지기 간의 캘리브레이션된 상대 오프셋을 서술하는 하나 이상의 서브벡터를 포함할 수 있다.
고속 캘리브레이션 데이터로부터, VR 콘솔(110)은 전면 강체(205) 상의 참조점(215)의 중간 추정 위치를 결정한다. 일부 실시예에서, VR 콘솔(110)은 후면 강체(230)의 예측된 위치를 위치 벡터에 기반하여 참조점(215)의 위치에 상대적인 위치로 결정한다. 예를 들어, 위치 벡터는 후면 강체(230) 상의 후면 참조점에서 참조점(215)의 상대 위치를 식별한다. 대안적으로, 위치 벡터는 후면 강체(230) 상의 하나 이상의 탐지기(120)(관측된 탐지기를 포함하여)의 참조점(215)에 대한 상대 위치를 식별한다.
VR 콘솔(110)은 관측된 위치와 예측된 위치가 임계치(예컨대, 1mm)보다 큰지 여부를 결정한다(650). 만약 차이가 임계치보다 작다면, VR 헤드셋(225)의 추적은 유지되고 저속 캘리브레이션 데이터가 수신되고(610), 프로세스는 상술한대로 진행한다. 하지만, 만약 후면 강체(230)의 관측된 위치 간의 차이가 임계치를 초과한다면, VR 콘솔(110)은 VR 헤드셋(105)의 추적을 잃었다고 결정하고 예측된 위치를 오프셋값으로 조정한다(660). 오프셋값은 후면 강체(230)의 관측된 위치와 후면 강체(230)의 예측된 위치 간의 차이가 임계치보다 작도록 결정된다. 예를 들어, VR 콘솔(110)은 오프셋값으로 수정된 위치 벡터를 사용하여 보다 정확하게 고속 캘리브레이션 데이터로부터 후면 강체(230)의 위치를 결정한다. 대안적으로, VR 콘솔(110)은 IMU(130)에 명령을 통신하여 위치 벡터 수정 없이 오프셋값에 기반하여 중간 추정 위치를 오프셋시킨다.
고속 캘리브레이션 데이터와 조정된 벡터에 기반하여, VR 콘솔(110)은 재캘리브레이션이 일어날 때까지(예컨대, 도 5와 관련하여 보다 자세히 상술한 바와 같이) 후면 강체의 다음 예측된 위치를 결정한다(670). 일부 실시예에서, 추적을 잃으면, VR 콘솔(110)은 사용자가 VR 헤드셋(105)를 조정하여 전면 강체(205)와 후면 강체(230) 양자 상의 탐지기가 이미지 장치(135)에 보이도록 유도할 수 있다. 사용자에게 제시되는 유도는 사용자에게 VR 헤드셋(105)을 위치시키는 특정한 명령을 제공하여 전면 강체(205)와 후면 강체(230) 양자 상의 탐지기가 이미지 장치(135)에 보이게 하여 도 5와 관련하여 보다 자세히 상술한 재캘리브레이션을 하게 할 수 있다.
도 7은 가상 현실 헤드셋(105)의 일련의 캘리브레이션된 위치를 도시하는 그래프(700)의 예시이다. 도 7에서, 세로축은 위치를 나타내고, 가로축은 시간을 나타낸다. 그래프(700)는 각각 시간 T1, T2 및 T3에서 VR 헤드셋(105)의 참조점의 일련의 캘리브레이션된 위치(710A 내지 C)를 포함한다. 그래프(700)는 또한 참조점의 일련의 중간 추정 위치(715A 내지 D 및 720A 내지 H)를 포함한다. 캘리브레이션된 위치(710A 내지 C)는 이미지 장치(135)로부터의 저속 캘리브레이션 데이터를 사용하여 생성되고 중간 추정 위치(715A 내지 D 및 720A 내지 H)는 VR 헤드셋(105)에 포함된 IMU(130)로부터의 고속 캘리브레이션 데이터를 사용하여 생성된다. 캘리브레이션된 위치(710A 내지 C)와 중간 추정 위치(715A 내지 D)의 상대 시간 스케일은 상이하고, 중간 추정 위치(715A 내지 D 및 720A 내지 H)은 캘리브레이션된 위치(710A 내지 C)보다 자주 결정된다는 것을 유의하여야 한다.
그래프(700)는 참조점의 예측된 위치를 서술하는 예측 함수에 의해 서술된 예측된 위치 곡선(725)을 도시한다. 예측 함수는 곡선을 캘리브레이션된 위치(710A 내지 C)에 맞추고 맞추어진 곡선을 서술하는 함수를 결정함으로써 생성된다. 임의의 적절한 방법이 캘리브레이션된 위치(710A 내지 C)로부터 위치 함수를 결정하는데 사용될 수 있다.
도 7의 예시에서, 중간 추정 위치(715A 내지 D)는 캘리브레이션 파라미터의 조정 전의 고속 캘리브레이션 데이터를 사용하여 결정된 초기 중간 추정 위치이다. 중간 추정 위치(715A)는 도 7의 예측된 위치 곡선에 상대적으로 근접했지만, 시간이 흐름에 따라, 중간 추정 위치는 예측된 위치 곡선(725)에서 멀어지게 이동하고, 도 7의 중간 추정 위치(715D)가 예측된 위치 곡선(725)에서 가장 멀어진다. 예측된 위치 곡선과 중간 추정 위치 간의 차이는 실제 사용자 움직임, 드리프트 오차뿐만 아니라 추가적인 인자의 조합을 원인으로 볼 수 있다. 상술한 바와 같이, IMU(130)가 이전에 결정된 위치에 대해 중간 추정 위치를 결정하기 때문에, 오차는 악화되고, 예측된 위치 곡선(725)와 중간 추정 위치들(715) 간의 편차가 더 커지는 결과를 낳는다. 드리프트 오차를 고려하기 위하여, VR 콘솔(110)은 IMU(130)의 초기 위치를 후속 캘리브레이션 위치로 업데이트할 수 있다. 그 후 IMU(130)은 업데이트된 초기 위치와 초기 위치 이후 결정된 중간 추정 위치에 대한 고속 캘리브레이션을 생성한다. 이 실시예에서, VR 콘솔(110)은 캘리브레이션된 위치(710B)로 초기점을 업데이트한다.
중간 추정 위치와 연관된 오차를 줄이기 위한 다른 방법은 중간 추정 위치가 결정되는 빈도를 높이는 것이다. 도 7의 예시에서, VR 콘솔(110)은 중간 추정 위치(720A 내지 H)를 중간 추정 위치(715A 내지 D)의 빈도의 2배로 결정하여, 중간 추정 위치(720A 내지 H)와 예측된 위치 곡선(725) 간의 더 작은 차이를 낳았다.
추가적인 구성 정보
강체의 예측 불가능한 움직임을 추적하기 위한 강체 추적 시스템이 제시된다. 이러한 강체 추적 시스템은 가상 현실, 증강 현실, 게임, 교육, 훈련 및 치료에 유용할 수 있다.
강체 추적 시스템의 일실시예는 사용자의 머리에 장착되는 헤드 마운트 디스플레이의 움직임을 추적하는 것이다. 이 경우, LED가 디스플레이의 표면에 장착된다. 관성 측정 유닛이 디스플레이의 내부에 장착되고 하나 이상의 자이로스코프와 같은 각속도를 측정하는 센서를 포함할 수 있다. 하나 이상의 가속도계와 하나 이상의 자력계를 더 포함할 수 있다. 개별 카메라가 고정된 위치에 배치되어, 사용자를 마주한다. 일부 실시예에서, 강체 추적 시스템은 VR 시스템(100)이다.
다른 실시예에서, 추적되는 강체는 사용자의 손에 들릴 수 있다. 이것은, 예컨대 손의 위치 및 방향이 가상 현실 경험에서 유지되는 것을 가능하게 한다. 다른 실시예에서, 카메라는 하나 이상의 헤드셋과 하나 이상의 추가적인 손에 쥐는 객체를 포함하는, 복수의 강체를 추적할 수 있다.
관성 측정 유닛을 형성하는 센서는 강체의 방향을 추정하는 충분한 측정을 제공한다. 이들 센서는 자이로스코프, 가속도계를 포함하고, 자력계를 포함할 수도 있다. 만약 강체가 고정식 카메라의 시야 내에 적절한 거리로 있으면, 추가적인 방향 정보가 추론될 수 있다. 나아가, 강체의 위치가 추론된다. 추적 방법은 하나 이상의 카메라를 포함하는 모든 감지 소스로부터의 측정을 결합하여 강체의 위치와 방향이 정확하게 유지된다. 강체 추적 시스템에 중요한 것은 강체의 표면 상의 LED의 배치, 수 및 변조이다. 이들 인자는 함께 신뢰할 수 있고, 높은 정확도의 강체 추적으로 이어진다.
본 발명의 다양한 특징은 단독으로 도는 조합으로 실현될 수 있다. 본 발명의 이들 및 다른 특징은 도 8 내지 10과 함께 발명의 상세한 설명에 보다 자세히 후술된다.
강체 추적 시스템은 두 소스: 강체 내부의 관성 측정 유닛과 몸체를 보는 고정식 카메라로부터의 센서 데이터를 융합함으로써 작동한다. 가장 일반적인 실시예는 강체가 사람의 머리에 고정되는 헤드 마운트 디스플레이인 것이다. 이 경우, 머리의 위치와 방향은 낮은 레이턴시와 지터로 추적되어야 한다. 소스로부터 제공되는 정보는 관성 측정 유닛이 머리 방향에 가장 강력한 제약을 제공하고 카메라가 머리 위치에 가장 강력한 제약을 제공하는 감지에서 상호 보완적이다. 함께, 이들은 머리 위치와 방향을 추정하는 필터에 입력을 제공한다.
관성 측정 유닛에서 가장 중요한 컴포넌트는 강체의 각속도를 측정하는 고주파수 3축 자이로스코프이다. 시간에 따라 누적되는 센서 데이터의 수치 통합에 있어, 초기 방향에 대한 현재 방향이 추정된다. 시간에 따라 누적되는 데드 레코닝 오차(dead reckoning error)를 고려하기 위하여, 가속도계나 다른 센서가 사용되어 틸트 오차를 보상하기 위해 "아래" 방향을 추정한다. 자력계가 수직(중력에 평행)축에 대한 회전에 관련된 방향 추정에서 오차를 보상하기 위한 관성 측정에 포함될 수 있다. 이것은 특히 강체가 카메라의 시야에 없을 때 유용하다. 또는, 카메라는 대안적으로 이 수정을 제공할 수 있다.
카메라는 프레임을 60Hz의 표준 속도로 캡처하지만, 더 높고 더 낮은 속도 모두 다른 실시예에서 장점이 있을 수 있다. 해상도는 640*480(표준 VGA)이고, 다른 해상도 또한 사용될 수 있다. 이미지는 중앙 프로세서에 직렬 통신 연결(USB)을 거쳐 전송된다. 카메라와 VR 헤드셋 간에도 직렬 연결이 있을 수 있다. 이것은 카메라가 그 셔터를 짧고 정확한 시간 간격으로 열고 닫도록 명령하는데 사용된다. 일반적인 노출 시간은 0.1밀리초이다. 렌즈는 망원, 광각이나 어안을 포함하여 임의의 디옵터일 수 있다. 카메라는 그 렌즈에 적외선(IR) 필터를 가지거나 가지지 않을 수 있다.
사용자가 VR 헤드셋을 착용하고 마법과도 같이 실세계에서 가상 세계로 이동하는 것을 상상해보자. 이상적으로, 사용자의 실세계에서의 머리 움직임은 가상 세계로 완벽하게 반영되어 사용자의 뇌가 완전히 속도록 해야 한다. 사용자의 눈에 가상 세계 이미지가 표시될 때, 사용자의 몰입감에 기반하여 사용자가 보길 기대하는 것에 정확히 대응해야 한다. 이것을 달성하기 위한 중요한 컴포넌트는 사용자의 머리가 어떻게 움직이는지를 결정하기 위해 센서로부터 데이터를 수집하고 처리하는 것을 수반하는 머리 추적이다.
사용자의 머리와 VR 헤드셋은 함께 3D 공간에서 움직이는 강체로 간주될 수 있다. 강체는 최대 6의 자유도(DOF)를 가질 수 있는데, 6개의 독립적인 파라미터가 그 공간에서의 위치와 방향을 완전히 명시하기에 필요하다는 뜻이다. 이들 6개의 파라미터를 사용하여, 우리는 몸체의 임의의 점의 좌표를 계산할 수 있다. (이것은 물리의 역사에서 이해하기 많은 시간이 걸렸는데, 대부분의 공은 18세기말의 오일러와 라그랑주에게 돌아간다.) 이들 파라미터를 고르는 많은 방법이 있지만, 보통 3개는 방향에 대응하고(몸체가 어떻게 회전하는지) 3개는 위치에 대응하게 된다(몸체가 어디 위치하는지). 방향 파라미터는 요우, 피치, 롤이라고 불린다. 이전 방법에서 이들 3개의 파라미터만이 추적되었고, 3 자유도 추적을 낳았다. 이들을 이용하여, VR 시스템은 당신의 머리가 어디를 향하는지 알 수 있지만, 불행하게도 사용자의 눈이 어디 위치하는지는 추측해야 한다.
이들 파라미터를 사용하여, 3D 회전이 머리 모델의 기저에 적용되고, 눈은 그럴듯한 위치로 이동하지만, 반드시 맞지는 않다. 첫번째 문제는 머리 모델을 측정하는 것이다: 사용자의 머리가 얼마나 큰가? 더 큰 문제는 사용자가 그 머리를 기저에서 움직이는 것을 막을 것이 없는 것이다. 예를 들어, 사용자가 앞을 보고 옆에서 옆으로 움직일 때, 그 머리는 거의 회전하지 않지만, 위치는 많이 변화한다. 대안적으로, 만약 사용자가 그 목을 뻣뻣하게 유지하며 엉덩이를 앞으로 구부린다면 그 머리의 기저는 많이 이동한다. 머리 기저의 이러한 움직임을 고려하지 못하는 것은 전정 부조화를 일으키는데, 시뮬레이터 멀미를 일으킬 수 있다. 문제는 사용자의 내이의 감각 기관이 그 눈으로 보는 것과 일치하지 않는 것이다. 내이는 움직임을 감지하지만, 눈은 보지 않는다.
강체 추적 시스템은 3개의 추가적인 파라미터를 추측해야 하지 않고, 센서 데이터로부터 6개의 파라미터 전부를 직접 추적한다. 이것은 6 자유도 추적인데, 강체 추적 시스템이 사용자가 향하는 방향과 머리를 움직임에 따른 그 안구의 위치 양자를 신뢰도 높게 추정할 수 있게 한다. 이것은 동공 간 거리(IPD)와 같은 특정인 특유의 양이 측정되고 고정되는 것으로 가정한다. 전정 불일치의 감소에 더하여, 몰입 수준이 믿을 수 없는 수준이다! 사용자는 그 머리를 앞뒤로 움직여 깊이를 판단할 수 있다. 해적 널빤지에 서서, 사용자는 옴을 위로 굽혀 소름 끼치는 물을 볼 수 있다. 가능성은 무한하다!
위치 추적에 기반한 시야
위치 추적은 VR에서 새로운 문제가 아니다. 다양한 기술을 사용한 많은 시도가 있어왔다: 몇 개를 열거하면 하나 또는 복수의 카메라, 구조화된 광, 비행 시간 및 자기 센서이다. 해결책은 비용, 전력 소비, 정확도, 필요한 계산 및 환경적 제약에 따라 달라진다. 그 목적을 위하여, 일부 실시예는 하나의 저렴한 저해상도 카메라에 의존하는 위치 추적 해결책을 서술한다.
포즈 추정이라고도 불리는 카메라 기반 위치 추적은 컴퓨터 비전 및 로보틱스 애플리케이션에서 중요한 문제이다. 관련 문언은 방대하다. 하지만, 이 문언의 대부분은 정확도, 계산 자원 및 지연 시간과 관계가 없다. 사막에서 차를 안내할 때, 수 센티미터 오차의 위치 추정은 아주 좋고, 매우 자주 위치를 업데이트할 필요가 없다. 반면, VR 문맥에서는, 추적은 아주 정확하고, 낮은 지연 시간으로, 렌더링된 컨텐츠에서 계산 자원을 빼앗을 수 없다.
일부 실시예에서, 위치 추적 시스템은 3개의 컴포넌트로 이루어진다: VR 헤드셋(예컨대, VR 헤드셋(105))에 내장된 마커의 세트, IMU 및 외부 카메라. 도 8은 강체 추적 시스템의 고레벨 흐름도를 도시한다.
강체 추적 시스템은 VR 헤드셋의 이미지를 획득한다. 이미지 처리를 통하여, 강체 추적 시스템은 마커의 이미지 위치를 추출한다. 각 마커는 IR LED이다. 마커의 이미지 위치와 VR 헤드셋의 알려진 3D 모델에 기반하여, 강체 추적 시스템은 6D 포즈를 계산한다. 알고리즘은 IMU(자이로스코프, 자력계 및 가속도계)로부터 사용가능한 정보에 영향을 준다. 시각과 IMU 데이터를 융합한 후, 우리는 최적의 헤드셋 포즈를 결정한다. 결과는 렌더링을 위하여 애플리케이션에 제공된다. 이제 알고리즘의 개별 컴포넌트를 보다 자세히 살펴본다.
강체 추적 시스템은 가시 마커(LED) 중 각각을 식별한다. 모든 캡처된 이미지에서, 강체 추적 시스템은 복수의 밝은 점을 검출한다. 각 점은 LED에 대응한다. 강체 추적 시스템은 물리적 LED가 생산하는 각 점을 식별한다. 이것이 완료된 후, 강체 추적 시스템은 VR 헤드셋 상의 LED의 알려진 3D 모델을 그 관찰된 이미지 투영과 연관시킨다. 이 연관과, 주어진 캘리브레이션된 카메라를 가지고, 강체 추적은 관찰된 점의 패턴을 가장 잘 설명하는 포즈를 추정할 수 있다.
결국, 식별 문제는 어렵다. 개별 LED를 식별하기 위하여, 강체 추적 시스템은 각각에 대한 고유한 정보를 일부 추출한다. 이를 달성하기 위한 가능한 방법이 많다. 예를 들어, 강체 추적 시스템은 다양한 가시광 LED를 사용할 수 있고 그들을 색에 기반하여 구분할 수 있다. 다른 흥미로운 접근은 선이나 다른 형상의 형태로 기하학적 정보를 심는 것이다. 점이 어떻게 배열됐는지에 기반하여, 강체 추적 시스템은 그 개별 ID를 결정할 수 있다. 또한, 동일 평면 마커만 허용하는 등의 공간적 배열도 식별을 단순화할 수 있다.
이들 아이디어의 대부분은 계산적으로 복잡하거나, 가려짐이나 잡음에 강하지 않거나, VR 헤드셋의 기하학적 구조 및 외관에 엄격한 요구사항을 도입한다. 일부 실시예에서, IR LED가 일반적인 3D 구성에 사용된다. LED는 외관에 기반하여 구별 불가능하다. 그들은 모두 밝은 점처럼 보인다. 또한, 그 식별을 단순화할 수 있는 특별한 기하학적 배열도 없다. 밝은 점은 또한 이미지에 많다: 잡음, 다른 광원 및 우리의 LED가 동시에 보인다. 또한 마지막으로, LED가 VR 헤드셋 전체에 걸쳐 퍼져있기 때문에 LED 일부만 주어진 이미지에서 보이고, LED 일부는 사용자의 손에 가려질 수 있다.
LED가 VR 헤드셋에 내장된다. 일부 실시예에서, 해결책은 LED의 밝기의 변조에 의존한다. 시간이 흐름에 따라, 각 LED는 고유의 광의 패턴을 디스플레이한다. LED가 IR 스펙트럼 근처에서 구동되기 때문에, 사람의 눈에는 보이지 않는다. 하지만, IR 스펙트럼에서, LED는 매우 밝고 넓은 조명 영역(~120도)를 가진다. 카메라는 IR 주파수 근처의 광에 민감하게 설계되고, 광각 렌즈를 가진다. 이들 특징(밝은 LED와 넓은 시야)는 큰 부피 추적을 가능하게 한다.
시각 알고리즘은 개별 LED를 검출하고 그들은 몇몇 프레임에 걸쳐 추적한다. 그리고 디스플레이된 광의 패턴을 분석하여 각 LED의 고유 ID를 결정한다. 광체 추적 시스템이 각 LED를 개별적으로 디코딩하기 때문에, 이 접근은 잡음 및 가려짐에 강하다. 하지만, 디코딩이 수행되기 전 몇몇 프레임을 사용한다. 이것은 또한 임의의 주어진 프레임에서, 새로운 LED(아직 디코딩되지 않음)가 있고 디코딩된 LED가 시야 밖으로 나갈 수 있다는 것을 의미한다. 재구성 알고리즘이 긍정 오류(false positive)에 강해야 한다.
카메라는 아주 짧은 셔터(1 밀리초 길이보다 짧음)를 가지고 LED는 동기화되어 셔터가 열릴 때에만 발광한다. 그 결과, 강체 추적 시스템은 카메라에 의해 수집되는 주변광량을 크게 줄이고, 전원을 절약하고, 빠른 머리 움직임 동안 흐려짐을 최소화하고, 가장 중요하게는 카메라와 VR 헤드셋 간의 알려진 타이밍을 유지한다. 이것은 강체 추적 시스템이 IMU와 시각 측정 간의 센서 융합을 수행할 때 중요할 수 있다.
포즈 재구성
각 LED의 ID가 알려지고, LED의 알려진 3D 모델이 주어지면, 강체 추적 시스템은 고전적인 투영 기하학적 문제를 해결할 준비가 된다 - 관측된 LED의 투영을 가장 잘 설명하는 VR 헤드셋의 6D 포즈(3D 위치 및 방향)이 무엇인지.
강체 추적 시스템은 두 타입의 포즈 재구성 모드를 가진다: 부트스트래핑 및 증분(incremental).
첫번째 변형인 부트스트래핑은 강체 추적 시스템이 처음 LED를 이미징할 때 일어난다. 강체 추적 시스템은 이전에 식별 문제를 해결했는데, 프레임에서 밝은 점 일부의 ID에 대한 추측을 가지고 있을 수 있다는 것을 의미한다. 하지만 강체 추적 시스템은 조심해야만 한다. ID 일부는 틀렸을 수 있고, 점 일부는 아직 식별되지 않았을 수 있고, 점 일부는 주변의 다른 광원 때문일 수 있다. 부트스트래핑 도중, 강체 추적 시스템은 이들 충돌을 신속하게 모두 해결하고 VR 헤드셋의 포즈를 계산해야 한다.
부트스트래핑은 디코딩된 LED에 기반하여 포즈 가설을 생성하는 계산적으로 매우 효율적인 방법이다. 강체 추적 시스템은 다양한 RanSAC(Random Sampling And Consensus)를 사용하여 이들 가설을 정렬하여 옳게 식별된 LED의 서브셋을 찾는다.
이들 포즈 가설이 무엇인지 이해하기 위하여, 이미지면 삼각형에 투영된 삼각형 ABC를 취해본다. 포즈 가설은 뒤로 작동한다; 이것은 강체 추적 시스템에게 이미지를 설명하는 삼각형의 위치와 방향이 무엇인지 말해준다. A, B 및 C의 세 점의 영우, 동일한 투영에 하나 이상의 포즈가 있을 수 있다. 이 포즈 모호성은 점이 동일 평면이 아닐 때 사라지고, 3개 이상의 점일 때 감소한다는 것을 유의하는 것이 중요하다.
부트스트래핑의 마지막 부분은 재구성된 포즈를 가능한 많은 LED를 포함함으로써 개선하는 것이다. 강체 추적 시스템은 우리의 3D 모델을 계산된 포즈를 사용하여 이미지에 투영함으로써 수행한다. 그 후, 강체 추적 시스템은 예상되는 LED 위치를 관측과 매칭한다. 이것은 강체 추적 시스템이 극적으로 식별된 LED의 수를 증가시키고 그 결과로서 우리의 계산된 포즈를 개선할 수 있게 한다. 예상되는 LED 이미지 위치를 관측에 매칭하는 것은 포즈 재구성 문제의 2번째 버전, 증분 문제를 해결하는 열쇠로 밝혀졌다.
도 9는 관측된 밝은 점(큰 점)과 예측된 투영(작은 점)을 도시한다. 예측되고 관측된 LED의 일치하는 쌍이 일부 경우에서 어려울 수 있다.
예측되고 관측된 LED 위치의 일치가, 특히 빠른 머리 움직임 하에서 모든 LED가 똑같이 보이기 때문에 꽤 어려울 수 있다는 것은 유의할 가치가 있다.
포즈 추정 문제의 두 번째 변형은 훨씬 쉽다. 운이 좋게도, 강체 추적 시스템이 대부분의 시간을 해결해야 한다는 것이다! 강체 추적 시스템이 증분 모드에 있을 때, 강체 추적 시스템은 이전 프레임의 VR 헤드셋의 포즈를 현재 프레임의 그 포즈를 계산하기 위한 시작점으로 사용할 수 있다. 어떻게 이것이 가능한가? 한마디로, 예측이다. 증분 모드 동안, 강체 추적 시스템은 시야와 IMU로부터의 정보를 융합하여 VR 헤드셋이 예상되는 장소를 계산한다. 강체 추적 시스템은 그 후 예측을 관측에 매칭시키고, 필요한 만큼 정정을 수행한다.
증분 추정은 많은 상이한 문제에 적용되어 왔다. 예를 들어, 많은 최적화 알고리즘은 모든 단계가 해결책에 조금씩 가까워지는 반복적 접근을 사용한다. 다른 예시는 측정이 실시간으로(온라인으로) 제공되는 문제이다. 많은 다양한 필터가 제안되었고, 그 중 가장 인기 있는 것은 베이지안 필터 계열이다. 이 계열은 칼만(Kalman) 필터, 확장 칼만 필터, 순차적 몬테 카를로 필터 등을 포함한다. 실시간 포즈 추정은 또한 베이지안 필터를 사용하여 다루어지고 있다.
강체 추적 시스템은 정보를 융합하고 예측을 생성할 수 있는 커스텀 필터를 사용한다. 시작점은 이전 프레임에서 계산된 위치 및 방향이다. 좋은 시작점이지만, 카메라 프레임 간에 꽤 움직일 수 있다(16.6ms @ 60Hz). 만약 강체 추적 시스템이 이전 몇 프레임에 걸친 포즈를 본다면, 속도에 기반한 예측을 생성할 수 있다. 이제 조금 더 근접했다. 운이 좋게도, 강체 추적 시스템은 IMU도 가지고 있다. 이것은 이전과 현재 이미지 간에, 강체 추적 시스템이 실제로 약 16개의 각속도와 선가속도의 측정을 가지고 있다는 뜻이다. 우리의 커스텀 필터는 이 모든 정보를 융합하고, 위치, 속도 및 가속도에 기반한 포즈 추정에 기반하여 히스토리를 제공한다. 최종 결과는 현재 프레임의 실제 포즈와 상당히 근접한다.
강체 추적 시스템은 예측된 포즈를 사용하여 LED를 이미지면에 투영한다. 강체 추적 시스템은 그 후 예측된 LED 이미지 좌표를 관측에 짝짓는다. 만약 예측이 옳다면, 매칭은 완벽하다. 그리고, 마지막으로, 강체 추적 시스템은 완벽한 일치를 낳는 추정된 포즈의 필수적인 정정을 계산한다.
도 10은 포즈 최적화 단계를 도시한다. 이것은 최적의 해결책이 전역 최소값인 2D 광경을 도시한다. 강체 추적 시스템은 히스토리, 속도 및 가속도에 기반하여 예측된 포즈로 시작한다. 해결책은 강체 추적 시스템이 최적의 포즈를 찾을 때까지 경사 하강 최적화(gradient descent optimization)을 사용하여 반복적으로 향상된다. 증분 포즈 추정은 계산적으로 효율적이고, 강체 추적 시스템이 대부분의 시간에 있을 것으로 예상되는 모드이다. 부트스트래핑이 성공적으로 된 후, VR 헤드셋이 카메라에 보이는 한 시스템은 계속하여 이 프로세스를 수행할 수 있다: 포즈 예측 - 관측에 매칭 - 포즈 개선.
강체 추적 시스템의 3개의 주된 고려는 가려짐에 강할 것, 효율적인 계산 및 정확도이다. 방법은 선천적으로 가려짐에 강하다. 식별 도중, 강체 추적 시스템은 개별의 LED를 인식할 수 있다. 한 조건은 여러 프레임에서 몇몇 LED를 보는 것이다. 또한 포즈 재구성은 가려짐에 강하다. 강체 추적 시스템은 예측을 검증하고 프레임당 몇몇 LED를 보는 것에 기반하여 VR 헤드셋의 포즈 추정을 개선할 수 있다.
VR에서 머리 추적의 정확도 요구사항은 높다. 강체 추적 시스템은 VR 헤드셋 상의 LED의 배치의 섬세한 설계 및 LED, IMU 및 카메라 간의 신뢰성 높은 동기화를 통해 필요한 안정성(< 0.1mm 및 < 0.1도)을 제공한다. 모든 정보를 함께 융합하는 것은 정확한 예측과 부드러운 추적을 궁극적으로 가능하게 하는 것이다.
위치 추적의 흥미로운 속성은 그라운딩이다. 예를 들어, 위치 추적 시스템은 이제 "앞을 본다"에 의미를 첨부할 수 있다. 이것은 단순히 카메라를 보는 것을 의미한다. 자이로스코프, 가속도계 및 자력계와는 달리, 시각은 드리프트하지 않는다. 그러므로, 위치 추적과 함께, 강체 추적 시스템은 드리프트 보정에 신뢰성 높고 단순한 해결책을 가진다.
위치 추적은 몇몇 흥미로운 질문을 남긴다. 비율이 좋은 예시이다. 사용자가 실제 세계와 가상 세계의 움직임 간에 1대1 매핑을 기대할 것인가? 아마도 맞을 것이고, 임의의 불일치가 사용자의 전정계를 뒤엎을 것이다. 하지만 다시, 머리 위치에 기반하여 속도를 제어하는데 유용한 몇몇 사용예가 있다 - 사용자가 중심에서 멀리 있을수록 사용자가 빨리 움직인다. 다른 흥미로운 질문은 어떻게 사용자가 카메라의 시야에 머물도록 하는지이다.
다른 예시는 사용자가 시야를 떠날 때, 강체 추적 시스템이 위치 추적을 잃지만 IMU 덕분에 방향 추적을 여전히 가지는 것이다. 강체 추적 시스템이 위치 추적을 요구할 때마다 3D에서 6D로 돌아간다. 강체 추적 시스템이 6D로 재진입할 때 무엇을 해야 할까? 두 가지 가능한 해결책은 시각을 재획득하자마자 올바른 위치로 스내핑하는 것과 올바른 위치로 천천히 보간하는 것인데, 두 해결책 모두 다양한 방법으로 불안정하다.
관심 범위
추적되는 몸체 외부의 적어도 하나의 고정된 디지털 카메라; 추적되는 몸체에 단단히 부착된 하나의 관성 측정 유닛; 및 관성 측정 유닛, 카메라 및 주 CPU의 구성요소 간에 정보를 송수신하는 디지털 하드웨어의 추가적인 시스템을 가지는, 몸체 표면에 배열된 많은 변조된 LED로 인해 높은 정확도와 가려짐에 강한 강체 추적 시스템.
관성 측정 유닛이 각속도를 측정하기 위한 3축 자이로스코프를 포함하는 강체 추적 시스템.
관성 측정 유닛이 3축 가속도계를 포함하는 강체 추적 시스템.
관성 측정 유닛이 3축 자력계를 포함할 수 있는 강체 추적 시스템.
표면 LED가 동일 평면이 아니고 인접한 LED 간에 충분한 간격을 제공하는 세심한 패턴으로 배열된 강체 추적 시스템.
LED가 변조되어 둘 이상의 기결정된 적외선 밝기 레벨 중 하나를 소정의 시간 간격에 걸쳐 유지할 수 있는 강체 추척 시스템.
LED의 변조가 디지털 하드웨어 구성요소에 의하여 제어되는 강체 추적 시스템.
LED의 변조가 증폭, 주파수, 일부의 조합 또는 신호 인코딩의 다른 수단에 의하는 것일 수 있는 강체 추적 시스템.
LED가 가시광 스펙트럼 또는 적외선 스펙트럼일 수 있는 강체 추적 시스템.
디지털 하드웨어 구성요소에 의하여 카메라 셔터가 열리거나 관성 측정 유닛이 새로운 측정을 제공할 때 서브밀리초 타임스탬프가 생성되고 기록되는 강체 추적 시스템.
헤드 마운트 디스플레이와 함께 유용한 강체 추적 방법으로서, 머리 추척 방법은: 관성 측정 유닛의 자이로스코프에 의해 획득한 고주파수(적어도 1000Hz) 각속도 측정에서 추정된 몸체 방향을 업데이트하는 단계; LED의 고유하게 식별된 서브셋을 포함하는 이미지로부터 추정된 몸체 위치를 업데이트하는 단계; 관성 측정 유닛과 하나 이상의 카메라 양자로부터의 측정을 엄격히 통합함으로써 계산 효율성과 추정 정확도를 향상시키는 단계; 및 미래의 위치 및 방향을 예측하는 추가적인 기능에 몸체 위치 및 방향 추정을 제공하는 단계를 포함한다.
가속도 측정은 방향 틸트 데드 레코닝(dead-reckoning) 오류를 보상하기 위해 사용되는 상술한 방법.
카메라 이미지 및 확률 자력계 측정은 방향 요우 데드 레코닝 오류를 보상하기 위해 사용되는 상술한 방법.
저레벨 이미지 처리가 수행되어 서브 픽셀 정확도 내로 이미지의 LED 중앙 위치를 추출하는 상술한 방법.
LED 변조 레벨은 LED 식별 문제를 해결함으로써 연이은 카메라 이미지에 걸쳐 디지털 인코딩된 식별자를 제공하는 상술한 방법.
이미지에서 추정된 위치와 방향은 프레임에서 프레임으로 증가하여 계산되는 상술한 방법.
연이은 셔터 개방 간의 시간 간격에 걸쳐 자이로스코프와 가속도계로부터의 측정이 이용되는 상술한 방법.
위치와 방향의 정확한 예측 추정이 이전 프레임으로부터의 추정을 누적된 자이로스코프와 가속도계 측정과 결합함으로써 생성되는 상술한 방법.
방법은 새로운 위치 및 방향 추정이 이미지의 예상된 LED 중심 위치와 이미지에서 그 측정된 위치 간의 불일치인 오류를 최적화할 때까지 예측 추정을 반복적으로 동요하게 하는 상술한 방법.
요약
본 명세서의 실시예의 상술한 설명은 설명의 목적을 위하여 제시되고; 개시된 정확한 형태에 철저하거나 명세서를 제한하는 의도가 아니다. 관련 분야의 통상의 기술자는 상기 개시에 비추어 많은 수정 및 변형이 가능함을 이해할 것이다.
본 명세서의 실시예의 상술한 설명은 설명의 목적을 위하여 제시되고; 개시된 정확한 형태에 철저하거나 명세서를 제한하는 의도가 아니다. 관련 분야의 통상의 기술자는 상기 개시에 비추어 많은 수정 및 변형이 가능함을 이해할 것이다.
본 설명의 일부 부분은 본 명세서의 실시예를 알고리즘과 정보 동작의 기호 표현의 형태로 서술한다. 이들 알고리즘적 설명과 표현은 일반적으로 데이터 처리 분야의 통상의 기술자에 의해 그들의 작업물의 본질을 다른 통상의 기술자에게 전달하기 위해 사용된다. 이들 기능적, 계산적 또는 논리적으로 서술된 동작은 컴퓨터 프로그램 또는 동등한 전기적 회로, 마이크로코드 등으로 구현됨을 이해할 것이다. 나아가, 때때로, 이들 동작의 배열을 일반성을 잃지 않고 모듈로 칭하는 것이 편리함 또한 증명되었다. 서술된 동작과 그 연관된 모듈은 소프트웨어, 펌웨어, 하드웨어 또는 그들의 임의의 조합에 포함될 수 있다.
본 명세서에 서술된 임의의 단계, 동작 또는 프로세스는 하나 이상의 하드웨어나 소프트웨어 모듈로, 단독으로 또는 다른 장치와 조합하여 수행되거나 구현될 수 있다. 일실시예에서, 소프트웨어 모듈은 서술된 단계, 동작 또는 프로세스의 임의 또는 전부를 수행하기 위한 컴퓨터 프로세서에 의해 실행 가능한 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 제품으로 구현될 수 있다.
본 명세서의 실시예는 또한 본 명세서의 동작을 수행하기 위한 장치와 관련될 수 있다. 이 장치는 요구되는 목적을 위하여 특별히 구성될 수 있고, 및/또는 컴퓨터에 저장된 컴퓨터 프로그램에 의하여 선택적으로 활성화되거나 재구성된 범용 컴퓨팅 장치를 포함할 수 있다. 이러한 컴퓨터 프로그램은 컴퓨터 시스템 버스에 연결될 수 있는 비일시적, 실재하는 컴퓨터 판독가능한 저장 매체, 또는 전자적 명령어를 저장하기 적절한 임의의 타입의 매체에 저장될 수 있다. 나아가, 본 명세서에서 가리키는 임의의 컴퓨팅 시스템은 단일 프로세서를 포함하거나 증가된 컴퓨팅 용량을 위해 복수의 프로세서 설계를 채용한 구조일 수 있다.
본 명세서의 실시예는 본 명세서에 서술된 컴퓨팅 프로세스에 의해 생성되는 제품에 관련될 수 있다. 이러한 제품은 컴퓨팅 프로세스로부터 나오는 정보를 포함할 수 있는데, 정보는 비일시적 실재하는 컴퓨터 판독가능한 저장 매체에 저장되고 컴퓨터 프로그램 제품 또는 본 명세서에 서술된 다른 데이터 조합의 임의의 실시예를 포함할 수 있다.
마지막으로, 본 명세서에서 사용된 언어는 주로 가독성과 설명의 목적으로 선택되었고, 발명의 구성 요소를 묘사하거나 제한하기 위해 선택된 것이 아니다. 그러므로 본 명세서의 범위는 본 상세한 설명에 의해 제한되는 것이 아니고, 본 명세서에 기반한 출원의 청구항에 의한 것이다. 따라서, 실시예의 개시는 설명을 목적으로 한 것이고, 첨부되는 청구항에서 명시되는 명세서의 범위를 제한하는 것이 아니다.

Claims (40)

  1. 이미징 장치로부터 저속 캘리브레이션 데이터를 수신하는 단계;
    전면 강체 내의 관성 측정 장치(IMU)로부터 전면 강체의 참조점의 중간 추정 위치를 포함하는 고속 캘리브레이션 데이터를 수신하는 단계;
    저속 캘리브레이션 데이터를 사용하여 특정 이미지 시간값에 대한 후면 강체의 관측된 위치를 결정하는 단계;
    고속 캘리브레이션 데이터와 전면 강체 및 후면 강체 간의 캘리브레이션된 오프셋을 설명하는 위치 벡터를 사용하여 특정 이미지 시간값에 대한 후면 강체의 예측된 위치를 결정하는 단계;
    후면 강체의 관측된 위치와 후면 강체의 예측된 위치 간의 차이가 임계치보다 크다고 결정하는 것에 응답하여, 관측된 위치와 예측된 위치 간의 차이가 임계치보다 작도록 위치 벡터를 오프셋값으로 조정하는 단계; 및
    고속 캘리브레이션 데이터와 조정된 위치 벡터에 기반하여 이미지 시간값 이후에 일어나는 후속 이미지 시간값과 연관된 일련의 이미지로부터의 이미지에 대하여 후면 강체의 후속 예측된 위치를 결정하는 단계를 포함하고,
    저속 캘리브레이션 데이터는 각각이 하나 이상의 탐지기를 가지는 전면 강체와 후면 강체를 포함하는 가상 현실(VR) 헤드셋의 일련의 이미지를 포함하고, 일련의 이미지는 후면 강체 상의 탐지기만 보이고 이미지 시간값과 연관된 이미지를 포함하는 방법.
  2. 청구항 1에 있어서,
    후면 강체의 관측된 위치와 후면 강체의 예측된 위치 간의 차이가 임계치보다 크다고 결정하는 것에 응답하여, 전면 강체로부터의 전면 임계수의 탐지기를 포함하고 후면 강체 상의 후면 임계수의 탐지기를 포함하는 저속 캘리브레이션 데이터 내의 일련의 이미지로부터의 이미지에 적어도 부분적으로 기반하여 후면 강체의 전면 강체에 대한 상대 위치를 재캘리브레이션하여 후면 강체의 예측된 위치 추정에 대한 오프셋을 제거하는 단계를 더 포함하는 방법.
  3. 청구항 2에 있어서,
    후면 강체의 전면 강체에 대한 상대 위치를 재캘리브레이션하여 후면 강체의 예측된 위치 추정에 대한 임시 오프셋을 제거하는 단계는:
    VR 헤드셋과 연관된 헤드셋 모델에 기반하여 적어도 하나의 이미지에 포함된 탐지기에 대응하는 모델 탐지기를 식별하는 단계;
    헤드셋 모델을 사용하여 적어도 하나의 이미지에 포함된 하나 이상의 탐지기 각각에 대하여 추정된 위치를 생성하는 단계;
    적어도 하나의 이미지에 포함된 전면 강체 상의 탐지기의 조정된 추정된 위치 및 그 대응하는 모델 탐지기와 연관된 위치 간의 상대 거리가 임계치보다 작도록 추정된 위치를 조정하기 위하여 하나 이상의 캘리브레이션 파라미터를 조정하는 단계;
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함된 VR 헤드셋 상의 하나 이상의 탐지기의 조정된 추정된 위치에 적어도 부분적으로 기반하여 참조점의 캘리브레이션된 위치를 생성하는 단계;
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되고 후면 강체 상에 포함되는 하나 이상의 탐지기에 대한 추정된 위치에 적어도 부분적으로 기반하여 참조점에 대한 후면 강체의 위치를 결정하는 단계;
    참조점의 캘리브레이션된 위치에 적어도 부분적으로 기반하여 하나 이상의 참조점의 예측된 위치를 결정하는 단계; 및
    참조점의 중간 추정 위치가 결정된 참조점의 예측된 위치의 임계 거리 이내이도록 하나 이상의 캘리브레이션 파라미터를 조정하는 단계를 더 포함하고,
    캘리브레이션된 위치는 저속 캘리브레이션 데이터로부터의 이미지와 연관되고,
    예측된 위치는 저속 캘리브레이션 데이터로부터의 후속 이미지들 사이의 시간과 연관되는 방법.
  4. 청구항 3에 있어서,
    참조점에 대한 후면 강체의 위치를 결정하는 단계는:
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되고 후면 강체 상에 포함되는 하나 이상의 탐지기에 대한 추정된 위치에 기반하여 후면 참조점을 결정하는 단계; 및
    참조점에 대한 후면 참조점의 위치를 결정하는 단계를 포함하는 방법.
  5. 청구항 3에 있어서,
    참조점에 대한 후면 강체의 위치를 결정하는 단계는:
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되고 후면 강체 상에 포함되는 하나 이상의 탐지기에 대한 추정된 위치에 적어도 부분적으로 기반하여 참조점에 대한 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되고 후면 강체 상에 포함되는 하나 이상의 탐지기의 위치를 결정하는 단계를 더 포함하는 방법.
  6. 청구항 3에 있어서,
    저속 캘리브레이션 데이터가 전면 강체로부터의 탐지기를 포함하는 적어도 하나의 이미지를 포함하지 않는다고 결정하는 단계;
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되고 후면 강체 상에 포함되는 하나 이상의 탐지기의 참조점의 중간 추정 위치에 대한 위치를 고속 캘리브레이션 데이터로부터 추정하는 단계; 및
    VR 헤드셋 위치와 연관된 헤드셋 모델에 기반한 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 하나 이상의 탐지기에 대응하는 모델 탐지기의 위치 및 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되고 후면 강체 상에 포함되는 하나 이상의 탐지기의 추정된 위치 간의 차이가 임계치를 초과한다고 결정하는 단계를 더 포함하는 방법.
  7. 청구항 3에 있어서,
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함된 전면 강체 상의 탐지기의 조정된 추정된 위치 및 그 대응하는 모델 탐지기와 연관된 위치 간의 상대 거리가 임계치보다 작도록 추정된 위치를 조정하기 위하여 하나 이상의 캘리브레이션 파라미터를 조정하는 단계는:
    IMU에 대한 캘리브레이션 파라미터를 조정하는 단계; 및
    캘리브레이션 파라미터에 대한 조정에 부분적으로 기반하여 하나 이상의 모델 탐지기의 위치를 조정하는 단계를 포함하는 방법.
  8. 청구항 7에 있어서,
    IMU에 대한 캘리브레이션 파라미터를 조정하는 단계는:
    IMU의 초기 위치를 IMU의 초기화 이후의 시간의 저속 캘리브레이션 데이터로부터의 이미지와 연관된 참조점의 캘리브레이션된 위치로 설정하는 단계를 포함하고,
    IMU는 참조점의 캘리브레이션된 위치에 대한 고속 캘리브레이션 데이터를 결정하는 방법.
  9. 청구항 7에 있어서,
    조정된 캘리브레이션 파라미터는:
    가속도계에 의한 하나 이상의 측정 신호 출력의 샘플 레이트, 자이로스코프에 의한 하나 이상의 측정 신호 출력의 샘플 레이트, 고속 캘리브레이션 데이터의 출력 속도, IMU로 전력을 제공하는 명령어, 참조점의 캘리브레이션된 위치로 초기 위치를 업데이트하는 명령어 및 그들의 임의의 조합으로 이루어지는 그룹에서 선택되는 방법.
  10. 청구항 3에 있어서,
    헤드셋 모델을 사용하여 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함된 하나 이상의 탐지기 각각에 대하여 추정 위치를 생성하는 단계는:
    모델 탐지기의 위치를 VR 헤드셋 상의 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함된 하나 이상의 탐지기의 추정된 위치로 변환하기 위하여 투영 행렬을 사용하는 단계를 포함하는 방법.
  11. 청구항 10에 있어서,
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함된 전면 강체 상의 탐지기의 조정된 추정된 위치 및 그 대응하는 모델 탐지기와 연관된 위치 간의 상대 거리가 임계치보다 작도록 추정된 위치를 조정하기 위하여 하나 이상의 캘리브레이션 파라미터를 조정하는 단계는:
    투영 행렬에 의한 모델 탐지기의 위치의 VR 헤드셋 상의 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함된 하나 이상의 탐지기의 추정된 위치로의 변환을 조정하는 캘리브레이션 파라미터를 조정하는 단계를 포함하는 방법.
  12. 청구항 11에 있어서,
    캘리브레이션 파라미터는:
    초점 거리, 초점, 프레임 속도, ISO, 셔터 속도, 조리개, 카메라 방향, 렌즈의 중앙에 대한 이미징 센서의 오프셋, 렌즈 왜곡 파라미터, 센서 온도 또는 그들의 일부의 조합으로 이루어지는 그룹에서 선택되는 방법.
  13. 청구항 3에 있어서,
    참조점의 중간 추정 위치가 결정된 참조점의 예측된 위치의 임계 거리 이내이도록 하나 이상의 캘리브레이션 파라미터를 조정하는 단계는:
    캘리브레이션된 위치를 사용하여 특정한 시간에 참조점의 위치를 예측하는 예측 함수를 결정하는 단계;
    참조점의 하나 이상의 중간 추정 위치와 예측 함수를 사용하여 결정된 참조점의 예측된 위치 간의 거리를 결정하는 단계; 및
    결정된 거리가 임계 거리보다 작도록 캘리브레이션 파라미터를 조정하는 단계를 포함하는 방법.
  14. 이미징 장치로부터 저속 캘리브레이션 데이터를 수신하는 단계;
    전면 강체 내의 관성 측정 장치(IMU)로부터 이미지 시간값에 전면 강체의 참조점의 중간 추정 위치를 포함하는 고속 캘리브레이션 데이터를 수신하는 단계;
    저속 캘리브레이션 데이터를 사용하여 특정 이미지 시간값에 대한 후면 강체의 관측된 위치를 결정하는 단계;
    고속 캘리브레이션 데이터와 전면 강체 및 후면 강체 간의 캘리브레이션된 오프셋을 설명하는 위치 벡터를 사용하여 특정 이미지 시간값에 대한 후면 강체의 예측된 위치를 결정하는 단계; 및
    후면 강체의 관측된 위치와 후면 강체의 예측된 위치 간의 차이가 임계치보다 크다고 결정하는 것에 응답하여, 관측된 위치와 예측된 위치 간의 차이가 임계치보다 작도록 후면 강체의 예측된 위치를 오프셋값으로 조정하는 단계를 포함하고,
    저속 캘리브레이션 데이터는 이미지 시간값의 가상 현실(VR) 헤드셋의 부분의 이미지를 포함하고, VR 헤드셋은 각각이 하나 이상의 탐지기를 가지는 전면 강체와 후면 강체를 포함하고, 후면 강체 상의 탐지기만 이미지에 보이는 방법.
  15. 청구항 14에 있어서,
    관측된 위치와 예측된 위치 간의 차이가 임계치보다 작도록 후면 강체의 예측된 위치를 오프셋값으로 조정하는 단계는:
    위치 벡터를 오프셋값으로 조정하는 단계를 포함하는 방법.
  16. 청구항 14에 있어서,
    관측된 위치와 예측된 위치 간의 차이가 임계치보다 작도록 후면 강체의 예측된 위치를 오프셋값으로 조정하는 단계는:
    IMU에게 참조점의 하나 이상의 중간 추정 위치를 오프셋값으로 오프셋하도록 명령하는 단계를 포함하는 방법.
  17. 청구항 14에 있어서,
    고속 캘리브레이션 데이터와 전면 강체 및 후면 강체 간의 캘리브레이션된 오프셋을 설명하는 위치 벡터를 사용하여 특정 이미지 시간값에 대한 후면 강체의 예측된 위치를 결정하는 단계는:
    위치 벡터에 의하여 후면 강체의 예측된 위치를 참조점의 중간 추정 위치에 대하여 상대적인 후면 강체 상의 후면 참조점의 위치로 식별하는 단계를 포함하는 방법.
  18. 청구항 14에 있어서,
    이미징 장치로부터 추가적인 저속 캘리브레이션 데이터를 수신하는 단계;
    IMU로부터 후속 이미지 시간값의 전면 강체의 참조점의 후속 중간 추정 위치를 포함하는 추가적인 고속 캘리브레이션 데이터를 수신하는 단계;
    저속 캘리브레이션 데이터를 사용하여 후속 이미지 시간값에 대한 후면 강체의 후속 관측된 위치를 결정하는 단계; 및
    고속 캘리브레이션 데이터 및 조정된 위치 벡터를 사용하여 후속 이미지 시간값에 대한 후면 강체의 후속 예측된 위치를 결정하는 단계를 더 포함하고,
    저속 캘리브레이션 데이터는 후속 이미지 시간값의 후속 이미지를 포함하고, 후면 강체 상의 탐지기만 후속 이미지에 보이는 방법.
  19. 청구항 14에 있어서,
    저속 캘리브레이션 데이터가 전면 강체와 후면 강체 상의 탐지기를 포함하는 이미지를 포함하면 전면 강체를 후면 강체에 재캘리브레이션하는 단계를 더 포함하는 방법.
  20. 전면 강체와 후면 강체를 포함하는 가상 현실(VR) 헤드셋;
    VR 헤드셋의 일련의 이미지를 포함하는 저속 캘리브레이션 데이터를 출력하도록 구성된 이미징 장치; 및
    VR 콘솔을 포함하고,
    전면 강체는 전면 강체 내의 참조점의 중간 추정 위치를 포함하는 고속 캘리브레이션 데이터를 출력하도록 구성된 관성 측정 유닛(IMU)를 포함하고,
    일련의 이미지의 이미지에서, 후면 강체의 탐지기는 이미지 내에 보이는 유일한 탐지기이고, 이미지는 특정 시간값과 연관되고,
    VR 콘솔은:
    프로세서; 및
    프로세서와 연결되고 명령어를 포함하는 메모리를 포함하고, 명령어는 프로세서에 의해 실행될 때, 프로세서로 하여금:
    이미징 장치로부터 저속 캘리브레이션 데이터를 수신하고;
    IMU로부터 고속 캘리브레이션 데이터를 수신하고;
    저속 캘리브레이션 데이터를 사용하여 특정 이미지 시간값에 대한 후면 강체의 관측된 위치를 결정하고;
    고속 캘리브레이션 데이터와 전면 강체 및 후면 강체 간의 캘리브레이션된 오프셋을 설명하는 위치 벡터를 사용하여 특정 이미지 시간값에 대한 후면 강체의 예측된 위치를 결정하고;
    관측된 위치와 예측된 위치 간의 차이가 임계치보다 크다고 결정하고;
    후면 강체의 관측된 위치와 후면 강체의 예측된 위치 간의 차이가 임계치보다 크다는 결정에 응답하여, 관측된 위치와 예측된 위치 간의 차이가 임계치보다 작도록 위치 벡터를 오프셋값으로 조정하고; 및
    고속 캘리브레이션 데이터와 조정된 위치 벡터에 기반하여 이미지 시간값 이후에 일어나는 후속 이미지 시간값과 연관된 일련의 이미지로부터의 이미지에 대하여 후면 강체의 후속 예측된 위치를 결정하도록 야기하는 시스템.
  21. 이미징 장치로부터 가상 현실(VR) 헤드셋 상의 하나 이상의 탐지기의 일부를 보여주는 일련의 이미지를 포함하는 저속 캘리브레이션 데이터를 수신하는 단계;
    VR 헤드셋 상의 관성 측정 장치(IMU)로부터 VR 헤드셋 상의 참조점의 하나 이상의 중간 추정 위치를 포함하는 고속 캘리브레이션 데이터를 수신하는 단계;
    VR 헤드셋과 연관된 저장된 헤드셋 모델을 사용하여 각각이 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 탐지기에 대응하는 모델 탐지기를 식별하는 단계;
    헤드셋 모델을 사용하여 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 추정된 위치를 생성하는 단계;
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 조정된 추정된 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작도록 추정된 위치를 조정하기 위하여 하나 이상의 캘리브레이션 파라미터를 조정하는 단계;
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 조정된 추정된 위치에 적어도 부분적으로 기반하여 참조점의 캘리브레이션된 위치를 생성하는 단계;
    참조점의 캘리브레이션된 위치에 적어도 부분적으로 기반하여 참조점의 하나 이상의 예측된 위치를 결정하는 단계; 및
    참조점의 중간 추정 위치가 결정된 참조점의 예측된 위치의 임계 거리 이내이도록 하나 이상의 캘리브레이션 파라미터를 조정하는 단계를 포함하고,
    각 이미지는 이미지 시간값에 의하여 일련 내의 후속 이미지로부터 분리되고,
    캘리브레이션된 위치는 저속 캘리브레이션 데이터로부터의 이미지와 연관되고,
    예측된 위치는 저속 캘리브레이션 데이터로부터의 후속 이미지들 사이의 시간과 연관되는 방법.
  22. 청구항 21에 있어서,
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 조정된 추정된 위치에 적어도 부분적으로 기반하여 참조점의 캘리브레이션된 위치를 생성하는 단계는:
    저속 캘리브레이션 데이터가 VR 헤드셋의 복수의 측면 상에 적어도 임계수의 탐지기를 가지는 이미지를 포함하는지 여부를 결정하는 단계; 및
    VR 헤드셋에 표시를 위한 유도를 통신하는 단계를 포함하고,
    유도는 이미징 장치에 대하여 VR 헤드셋을 재위치시키기 위한 하나 이상의 명령을 포함하는 방법.
  23. 청구항 22에 있어서,
    VR 헤드셋의 측면은:
    상면, 하면, 우측면, 좌측면, 전면 및 그들의 임의의 조합으로 이루어지는 그룹에서 선택되는 방법.
  24. 청구항 21에 있어서,
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 조정된 추정된 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작도록 추정된 위치를 조정하기 위하여 하나 이상의 캘리브레이션 파라미터를 조정하는 단계는:
    IMU에 대한 캘리브레이션 파라미터를 조정하는 단계; 및
    캘리브레이션 파라미터에 대한 조정에 부분적으로 기반하여 하나 이상의 모델 탐지기의 위치를 조정하는 단계를 포함하는 방법.
  25. 청구항 24에 있어서,
    IMU에 대한 캘리브레이션 파라미터를 조정하는 단계는:
    IMU의 초기 위치를 IMU의 초기화 이후의 시간의 저속 캘리브레이션 데이터로부터의 이미지와 연관된 참조점의 캘리브레이션된 위치로 설정하는 단계를 포함하고,
    IMU는 참조점의 캘리브레이션된 위치에 대한 고속 캘리브레이션 데이터를 결정하는 방법.
  26. 청구항 24에 있어서,
    IMU에 대한 캘리브레이션 파라미터는:
    가속도계에 의한 하나 이상의 측정 신호 출력의 샘플 레이트, 자이로스코프에 의한 하나 이상의 측정 신호 출력의 샘플 레이트, 고속 캘리브레이션 데이터의 출력 속도, IMU로 전력을 제공하는 명령어, 참조점의 캘리브레이션된 위치로 초기 위치를 업데이트하는 명령어 및 그들의 임의의 조합으로 이루어지는 그룹에서 선택되는 방법.
  27. 청구항 21에 있어서,
    헤드셋 모델을 사용하여 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 추정된 위치를 생성하는 단계는:
    모델 탐지기의 위치를 VR 헤드셋 상의 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함된 하나 이상의 탐지기의 추정된 위치로 변환하기 위하여 투영 행렬을 사용하는 단계를 포함하는 방법.
  28. 청구항 27에 있어서,
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 조정된 추정된 위치 및 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작도록 추정된 위치를 조정하기 위하여 하나 이상의 캘리브레이션 파라미터를 조정하는 단계는:
    투영 행렬에 의한 모델 탐지기의 위치의 VR 헤드셋 상의 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함된 하나 이상의 탐지기의 추정된 위치로의 변환을 조정하는 캘리브레이션 파라미터를 조정하는 단계를 포함하는 방법.
  29. 청구항 28에 있어서,
    캘리브레이션 파라미터는:
    초점 거리, 초점, 프레임 속도, ISO, 셔터 속도, 조리개, 카메라 방향, 렌즈의 중앙에 대한 이미징 센서의 오프셋, 렌즈 왜곡 파라미터, 센서 온도 또는 그들의 일부의 조합으로 이루어지는 그룹에서 선택되는 방법.
  30. 청구항 21에 있어서,
    참조점의 중간 추정 위치가 결정된 참조점의 예측된 위치의 임계 거리 이내이도록 하나 이상의 캘리브레이션 파라미터를 조정하는 단계는:
    캘리브레이션된 위치를 사용하여 특정한 시간에 참조점의 위치를 예측하는 예측 함수를 결정하는 단계;
    참조점의 하나 이상의 중간 추정 위치와 예측 함수를 사용하여 결정된 참조점의 예측된 위치 간의 거리를 결정하는 단계; 및
    결정된 거리가 임계 거리보다 작도록 캘리브레이션 파라미터를 조정하는 단계를 포함하는 방법.
  31. 이미징 장치로부터 특정한 시간값의 가상 현실(VR) 헤드셋 상의 복수의 탐지기로부터의 하나 이상의 관측된 탐지기의 일부를 보여주는 일련의 이미지를 포함하는 저속 캘리브레이션 데이터를 수신하는 단계;
    VR 헤드셋 상의 관성 측정 유닛(IMU)으로부터 특정한 시간값의 VR 헤드셋 상의 참조점의 위치 정보를 포함하는 고속 캘리브레이션 데이터를 수신하는 단계;
    저속 캘리브레이션 데이터 내의 이미지로부터 탐지기 정보를 추출하는 단계;
    하나 이상의 관측된 탐지기 각각에 대응하는 모델 탐지기를 식별하기 위하여 탐지기 정보를 헤드셋 모델과 비교하는 단계;
    헤드셋 모델을 사용하여 관측된 탐지기에 대한 추정된 위치를 생성하는 단계;
    관측된 탐지기에 대한 추정된 위치를 사용하여 일련의 이미지에 대한 참조점의 위치를 추정하는 단계;
    동시에:
    관측된 탐지기의 조정된 추정된 위치 및 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작도록 추정된 위치를 조정하고; 및
    참조점에 대한 추정된 위치 및 모델 탐지기로부터 결정된 모델 참조점의 위치 간의 상대 거리가 임계치보다 작도록 참조점의 추정된 위치를 조정하기 위하여, 하나 이상의 캘리브레이션 파라미터를 조정하는 단계를 포함하고,
    탐지기 정보는 이미지 내의 관측된 탐지기의 서로에 대한 위치를 설명하는 이미지로부터 추출되는 방법.
  32. 청구항 31에 있어서,
    헤드셋 모델을 사용하여 관측된 탐지기에 대한 추정된 위치를 생성하는 단계는:
    모델 탐지기의 위치를 VR 헤드셋 상의 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함된 하나 이상의 탐지기의 추정된 위치로 변환하기 위하여 투영 행렬을 사용하는 단계를 포함하는 방법.
  33. 청구항 32에 있어서,
    관측된 탐지기의 조정된 추정된 위치 및 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작도록 추정된 위치를 조정하기 위하여 하나 이상의 캘리브레이션 파라미터를 조정하는 단계는:
    투영 행렬에 의한 모델 탐지기의 위치의 VR 헤드셋 상의 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함된 하나 이상의 탐지기의 추정된 위치로의 변환을 조정하는 캘리브레이션 파라미터를 조정하는 단계를 포함하는 방법.
  34. 청구항 31에 있어서,
    캘리브레이션 파라미터는:
    가속도계에 의한 하나 이상의 측정 신호 출력의 샘플 레이트, 자이로스코프에 의한 하나 이상의 측정 신호 출력의 샘플 레이트, 고속 캘리브레이션 데이터의 출력 속도, IMU로 전력을 제공하는 명령어, 참조점의 캘리브레이션된 위치로 초기 위치를 업데이트하는 명령어 및 그들의 임의의 조합으로 이루어지는 그룹에서 선택되는 방법.
  35. 복수의 탐지기 및 VR 헤드셋 상의 하나 이상의 참조점의 중간 추정 위치를 포함하는 고속 캘리브레이션 데이터를 출력하도록 구성된 관성 측정 장치(IMU)를 포함하는 가상 현실(VR) 헤드셋;
    VR 헤드셋 상의 복수의 탐지기의 관측된 탐지기의 일부를 보여주는 일련의 이미지를 포함하는 저속 캘리브레이션 데이터를 출력하도록 구성된 이미징 장치;
    VR 콘솔을 포함하고,
    각 중간 추정 위치는 위치 시간값에 의하여 후속 중간 추정 위치로부터 분리되고,
    각 이미지는 위치 시간값보다 큰 이미지 시간값에 의하여 일련 내의 후속 이미지로부터 분리되고,
    VR 콘솔은:
    프로세서; 및
    프로세서와 연결되고 명령어를 포함하는 메모리를 포함하고, 명령어는 프로세서에 의해 실행될 때, 프로세서로 하여금:
    이미징 장치로부터 저속 캘리브레이션 데이터를 수신하고;
    VR 헤드셋으로부터 고속 캘리브레이션 데이터를 수신하고;
    VR 헤드셋과 연관된 저장된 헤드셋 모델을 사용하여 각각이 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 탐지기에 대응하는 모델 탐지기를 식별하고;
    헤드셋 모델을 사용하여 저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 추정된 위치를 생성하고;
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 조정된 추정된 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작도록 추정된 위치를 조정하기 위하여 하나 이상의 캘리브레이션 파라미터를 조정하고;
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 조정된 추정된 위치에 적어도 부분적으로 기반하여 참조점의 캘리브레이션된 위치를 생성하고;
    참조점의 캘리브레이션된 위치에 적어도 부분적으로 기반하여 참조점의 하나 이상의 예측된 위치를 결정하고; 및
    참조점의 중간 추정 위치가 결정된 참조점의 예측된 위치의 임계 거리 이내이도록 하나 이상의 캘리브레이션 파라미터를 조정하도록 야기하고,
    캘리브레이션된 위치는 저속 캘리브레이션 데이터로부터의 이미지와 연관되고,
    예측된 위치는 저속 캘리브레이션 데이터로부터의 후속 이미지들 사이의 시간과 연관되는 시스템.
  36. 청구항 35에 있어서,
    탐지기는 적외선 발광 다이오드를 포함하고 이미징 장치는 적외선 광을 감지하도록 구성되는 시스템.
  37. 청구항 34에 있어서,
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 조정된 추정된 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작도록 추정된 위치를 조정하기 위하여 하나 이상의 캘리브레이션 파라미터를 조정하는 것은:
    IMU에 대한 캘리브레이션 파라미터를 조정하는 것; 및
    캘리브레이션 파라미터에 대한 조정에 부분적으로 기반하여 하나 이상의 모델 탐지기의 위치를 조정하는 것을 포함하는 시스템.
  38. 청구항 37에 있어서,
    IMU에 대한 캘리브레이션 파라미터를 조정하는 것은:
    IMU의 초기 위치를 IMU의 초기화 이후의 시간의 저속 캘리브레이션 데이터로부터의 이미지와 연관된 참조점의 캘리브레이션된 위치로 설정하는 것을 포함하고,
    IMU는 참조점의 캘리브레이션된 위치에 대한 고속 캘리브레이션 데이터를 결정하는 시스템.
  39. 청구항 35에 있어서,
    저속 캘리브레이션 데이터로부터의 적어도 하나의 이미지에 포함되는 VR 헤드셋 상의 하나 이상의 탐지기의 조정된 추정된 위치와 그 대응하는 모델 탐지기의 위치 간의 상대 거리가 임계치보다 작도록 추정된 위치를 조정하기 위하여 하나 이상의 캘리브레이션 파라미터를 조정하는 것은:
    이미징 장치에 대한 캘리브레이션 파라미터를 조정하는 것; 및
    캘리브레이션 파라미터에 대한 조정에 부분적으로 기반하여 하나 이상의 모델 탐지기의 위치를 조정하는 것을 포함하는 시스템.
  40. 청구항 34에 있어서,
    참조점의 중간 추정 위치가 결정된 참조점의 예측된 위치의 임계 거리 이내이도록 하나 이상의 캘리브레이션 파라미터를 조정하는 것은:
    캘리브레이션된 위치를 사용하여 특정한 시간에 참조점의 위치를 예측하는 예측 함수를 결정하는 것;
    참조점의 하나 이상의 중간 추정 위치와 예측 함수를 사용하여 결정된 참조점의 예측된 위치 간의 거리를 결정하는 것; 및
    결정된 거리가 임계 거리보다 작도록 캘리브레이션 파라미터를 조정하는 것을 포함하는 시스템.
KR1020167017722A 2014-01-06 2015-01-06 가상 현실 시스템의 캘리브레이션 KR101762297B1 (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201461923895P 2014-01-06 2014-01-06
US61/923,895 2014-01-06
US201462088088P 2014-12-05 2014-12-05
US201462088085P 2014-12-05 2014-12-05
US62/088,088 2014-12-05
US62/088,085 2014-12-05
US14/589,755 2015-01-05
US14/589,755 US9524580B2 (en) 2014-01-06 2015-01-05 Calibration of virtual reality systems
US14/589,774 US9600925B2 (en) 2014-01-06 2015-01-05 Calibration of multiple rigid bodies in a virtual reality system
US14/589,774 2015-01-05
PCT/US2015/010344 WO2015103621A1 (en) 2014-01-06 2015-01-06 Calibration of virtual reality systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020177020194A Division KR102121994B1 (ko) 2014-01-06 2015-01-06 가상 현실 시스템의 캘리브레이션

Publications (2)

Publication Number Publication Date
KR20160105796A true KR20160105796A (ko) 2016-09-07
KR101762297B1 KR101762297B1 (ko) 2017-07-28

Family

ID=53495596

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167017722A KR101762297B1 (ko) 2014-01-06 2015-01-06 가상 현실 시스템의 캘리브레이션
KR1020177020194A KR102121994B1 (ko) 2014-01-06 2015-01-06 가상 현실 시스템의 캘리브레이션

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177020194A KR102121994B1 (ko) 2014-01-06 2015-01-06 가상 현실 시스템의 캘리브레이션

Country Status (11)

Country Link
US (4) US9524580B2 (ko)
EP (1) EP3017591B1 (ko)
JP (2) JP6110573B2 (ko)
KR (2) KR101762297B1 (ko)
CN (2) CN105850113B (ko)
AU (1) AU2015203932B2 (ko)
BR (1) BR112016013563A8 (ko)
CA (1) CA2930773C (ko)
IL (1) IL245813A (ko)
MX (1) MX348608B (ko)
WO (1) WO2015103621A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180064086A (ko) * 2016-12-05 2018-06-14 삼성전자주식회사 이미지 처리 장치 및 시스템
KR20180101466A (ko) * 2016-01-12 2018-09-12 후아웨이 테크놀러지 컴퍼니 리미티드 심도 정보 취득 방법 및 장치, 그리고 이미지 수집 디바이스
KR20200121055A (ko) * 2019-04-15 2020-10-23 주식회사 스토익엔터테인먼트 가상 현실 컨텐츠 제어 장치, 가상 현실 어트랙션 및 이의 보정 방법
WO2022050611A1 (ko) * 2020-09-03 2022-03-10 삼성전자 주식회사 전자 장치 및 전자 장치의 동작 방법

Families Citing this family (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9052161B2 (en) * 2005-12-19 2015-06-09 Raydon Corporation Perspective tracking system
US20150124566A1 (en) 2013-10-04 2015-05-07 Thalmic Labs Inc. Systems, articles and methods for wearable electronic devices employing contact sensors
US10188309B2 (en) 2013-11-27 2019-01-29 North Inc. Systems, articles, and methods for electromyography sensors
US10042422B2 (en) 2013-11-12 2018-08-07 Thalmic Labs Inc. Systems, articles, and methods for capacitive electromyography sensors
US11921471B2 (en) 2013-08-16 2024-03-05 Meta Platforms Technologies, Llc Systems, articles, and methods for wearable devices having secondary power sources in links of a band for providing secondary power in addition to a primary power source
US9524580B2 (en) * 2014-01-06 2016-12-20 Oculus Vr, Llc Calibration of virtual reality systems
US9880632B2 (en) 2014-06-19 2018-01-30 Thalmic Labs Inc. Systems, devices, and methods for gesture identification
TWM491843U (zh) * 2014-07-24 2014-12-11 Shou-Lan Zhang 可攜式虛擬實境眼鏡
JP2017524159A (ja) 2014-08-03 2017-08-24 ポゴテック インク ウェアラブルカメラシステム、並びにカメラシステム又は他の電子デバイスをウェアラブル物品に取り付けるための装置及び方法
KR20170118054A (ko) 2014-12-23 2017-10-24 포고텍, 인크. 무선 카메라 시스템 및 방법들
US9659411B2 (en) * 2015-01-14 2017-05-23 Oculus Vr, Llc Passive locators for a virtual reality headset
EP3062142B1 (en) 2015-02-26 2018-10-03 Nokia Technologies OY Apparatus for a near-eye display
US10271042B2 (en) 2015-05-29 2019-04-23 Seeing Machines Limited Calibration of a head mounted eye tracking system
US10481417B2 (en) 2015-06-10 2019-11-19 PogoTec, Inc. Magnetic attachment mechanism for electronic wearable device
RU2017145375A (ru) 2015-06-10 2019-07-10 Поготек, Инк. Очки с магнитной дорожкой для электронного носимого устройства
US10073531B2 (en) * 2015-10-07 2018-09-11 Google Llc Electronic device pose identification based on imagery and non-image sensor data
DE102015012961B4 (de) * 2015-10-08 2022-05-05 Kastanienbaum GmbH Robotersystem
JP6517358B2 (ja) 2015-10-08 2019-05-22 株式会社ソニー・インタラクティブエンタテインメント 制御装置、ヘッドマウントディスプレイ、制御システム、制御方法及びプログラム
JP6556015B2 (ja) * 2015-10-09 2019-08-07 ソニー株式会社 情報処理装置、位置および/または姿勢の推定方法、およびコンピュータプログラム
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
US10341787B2 (en) 2015-10-29 2019-07-02 PogoTec, Inc. Hearing aid adapted for wireless power reception
CN105391858A (zh) * 2015-11-04 2016-03-09 深圳维爱特科技有限公司 虚拟现实眼镜及其控制方法、装置和系统
US10440355B2 (en) * 2015-11-06 2019-10-08 Facebook Technologies, Llc Depth mapping with a head mounted display using stereo cameras and structured light
US9805512B1 (en) 2015-11-13 2017-10-31 Oculus Vr, Llc Stereo-based calibration apparatus
CN105487233B (zh) * 2016-02-03 2019-01-04 深圳多哚新技术有限责任公司 一种vr眼镜以及其散热结构
WO2017132863A1 (zh) * 2016-02-03 2017-08-10 深圳多哚新技术有限责任公司 一种vr眼镜以及其散热结构
US10422976B2 (en) 2016-02-26 2019-09-24 Samsung Electronics Co., Ltd. Aberration corrected optical system for near-eye displays
US11558538B2 (en) 2016-03-18 2023-01-17 Opkix, Inc. Portable camera system
US10717001B2 (en) 2016-03-25 2020-07-21 Zero Latency PTY LTD System and method for saving tracked data in the game server for replay, review and training
US10486061B2 (en) 2016-03-25 2019-11-26 Zero Latency Pty Ltd. Interference damping for continuous game play
US9916496B2 (en) 2016-03-25 2018-03-13 Zero Latency PTY LTD Systems and methods for operating a virtual reality environment using colored marker lights attached to game objects
US10421012B2 (en) 2016-03-25 2019-09-24 Zero Latency PTY LTD System and method for tracking using multiple slave servers and a master server
US10071306B2 (en) 2016-03-25 2018-09-11 Zero Latency PTY LTD System and method for determining orientation using tracking cameras and inertial measurements
US10099122B2 (en) * 2016-03-30 2018-10-16 Sony Interactive Entertainment Inc. Head-mounted display tracking
US20170300116A1 (en) * 2016-04-15 2017-10-19 Bally Gaming, Inc. System and method for providing tactile feedback for users of virtual reality content viewers
US10509469B2 (en) 2016-04-21 2019-12-17 Finch Technologies Ltd. Devices for controlling computers based on motions and positions of hands
US10890600B2 (en) 2016-05-18 2021-01-12 Google Llc Real-time visual-inertial motion tracking fault detection
US10802147B2 (en) * 2016-05-18 2020-10-13 Google Llc System and method for concurrent odometry and mapping
US11017610B2 (en) 2016-05-18 2021-05-25 Google Llc System and method for fault detection and recovery for concurrent odometry and mapping
US20170363885A1 (en) * 2016-06-20 2017-12-21 PogoTec, Inc. Image alignment systems and methods
DE102016111707B4 (de) * 2016-06-27 2019-08-14 Volkswagen Aktiengesellschaft Verfahren und System zum Erfassen einer Relativposition eines mobilen Endgeräts in Bezug auf ein Fahrzeug
CN106123901B (zh) * 2016-07-20 2019-08-06 上海乐相科技有限公司 一种定位方法及装置
WO2018022657A1 (en) * 2016-07-25 2018-02-01 Ctrl-Labs Corporation System and method for measuring the movements of articulated rigid bodies
US10409371B2 (en) 2016-07-25 2019-09-10 Ctrl-Labs Corporation Methods and apparatus for inferring user intent based on neuromuscular signals
US11179066B2 (en) 2018-08-13 2021-11-23 Facebook Technologies, Llc Real-time spike detection and identification
US11216069B2 (en) 2018-05-08 2022-01-04 Facebook Technologies, Llc Systems and methods for improved speech recognition using neuromuscular information
EP3487457B1 (en) 2016-07-25 2023-09-06 Facebook Technologies, LLC. Adaptive system for deriving control signals from measurements of neuromuscular activity
US20200073483A1 (en) 2018-08-31 2020-03-05 Ctrl-Labs Corporation Camera-guided interpretation of neuromuscular signals
WO2018022602A1 (en) 2016-07-25 2018-02-01 Ctrl-Labs Corporation Methods and apparatus for predicting musculo-skeletal position information using wearable autonomous sensors
US10687759B2 (en) 2018-05-29 2020-06-23 Facebook Technologies, Llc Shielding techniques for noise reduction in surface electromyography signal measurement and related systems and methods
US20190121306A1 (en) 2017-10-19 2019-04-25 Ctrl-Labs Corporation Systems and methods for identifying biological structures associated with neuromuscular source signals
US11331045B1 (en) 2018-01-25 2022-05-17 Facebook Technologies, Llc Systems and methods for mitigating neuromuscular signal artifacts
US10915165B2 (en) 2016-07-29 2021-02-09 Emmanuel Lusinchi Methods and systems for controlling a displacement of a virtual point of view in a virtual reality environment
US10212414B2 (en) 2016-08-01 2019-02-19 Microsoft Technology Licensing, Llc Dynamic realignment of stereoscopic digital consent
CN107690067B (zh) * 2016-08-05 2019-06-21 成都理想境界科技有限公司 头戴式显示设备帧率的检测方法及装置
CN106054392B (zh) * 2016-08-10 2018-12-04 深圳多哚新技术有限责任公司 Vr设备中光学镜头与显示屏的对准方法及系统
US10751609B2 (en) 2016-08-12 2020-08-25 Zero Latency PTY LTD Mapping arena movements into a 3-D virtual world
CN106354205A (zh) * 2016-08-25 2017-01-25 安徽协创物联网技术有限公司 一种可穿戴虚拟现实实现系统
CN109952135B (zh) * 2016-09-30 2023-05-26 索尼互动娱乐股份有限公司 具有差分渲染和声音定位的无线头戴式显示器
CA3043932A1 (en) * 2016-10-20 2018-04-26 Spookfish Innovations Pty Ltd An aerial camera boresight calibration system
CN106338712A (zh) * 2016-10-21 2017-01-18 泉州装备制造研究所 一种基于相机通信的可见光室内定位方法及系统
CN106485788B (zh) * 2016-10-21 2019-02-19 重庆虚拟实境科技有限公司 一种游戏引擎混合现实拍摄方法
US10591584B2 (en) * 2016-10-25 2020-03-17 GM Global Technology Operations LLC Radar calibration with known global positioning of static objects
CN107024980A (zh) * 2016-10-26 2017-08-08 阿里巴巴集团控股有限公司 基于增强现实的用户位置定位方法及装置
CN106546238B (zh) * 2016-10-26 2020-09-01 北京小鸟看看科技有限公司 可穿戴设备及在可穿戴设备中确定用户位移的方法
WO2018089533A1 (en) 2016-11-08 2018-05-17 PogoTec, Inc. A smart case for electronic wearable device
CN106657609A (zh) * 2016-11-18 2017-05-10 成都六维人科技有限公司 一种虚拟现实设备及其控制装置和方法
US10248191B2 (en) * 2016-12-12 2019-04-02 Microsoft Technology Licensing, Llc Virtual rigid framework for sensor subsystem
JP2018107695A (ja) * 2016-12-27 2018-07-05 フォーブ インコーポレーテッド 推定システム、推定方法及び推定プログラム
US10650552B2 (en) 2016-12-29 2020-05-12 Magic Leap, Inc. Systems and methods for augmented reality
EP4300160A2 (en) 2016-12-30 2024-01-03 Magic Leap, Inc. Polychromatic light out-coupling apparatus, near-eye displays comprising the same, and method of out-coupling polychromatic light
US10437343B2 (en) 2017-01-06 2019-10-08 Samsung Electronics Co., Ltd. Augmented reality control of internet of things devices
TWI664533B (zh) * 2017-01-18 2019-07-01 宏達國際電子股份有限公司 定位裝置及方法
CN110832439B (zh) 2017-04-27 2023-09-29 奇跃公司 发光用户输入设备
US10705113B2 (en) 2017-04-28 2020-07-07 Finch Technologies Ltd. Calibration of inertial measurement units attached to arms of a user to generate inputs for computer systems
US10785471B1 (en) * 2017-05-12 2020-09-22 Facebook Technologies, Llc Upsampling content for head-mounted displays
US10540006B2 (en) 2017-05-16 2020-01-21 Finch Technologies Ltd. Tracking torso orientation to generate inputs for computer systems
US10379613B2 (en) 2017-05-16 2019-08-13 Finch Technologies Ltd. Tracking arm movements to generate inputs for computer systems
US10304207B2 (en) 2017-07-07 2019-05-28 Samsung Electronics Co., Ltd. System and method for optical tracking
TWI687087B (zh) * 2017-07-13 2020-03-01 新加坡商聯發科技(新加坡)私人有限公司 呈現超出全方位媒體的vr媒體的方法和裝置
US10578870B2 (en) 2017-07-26 2020-03-03 Magic Leap, Inc. Exit pupil expander
CN107560637B (zh) * 2017-08-21 2021-02-19 歌尔光学科技有限公司 头戴显示设备校准结果验证方法及头戴显示设备
CN109491087B (zh) 2017-09-11 2022-09-20 杜比实验室特许公司 用于ar/vr/mr的模块化拆卸式可穿戴装置
KR102402457B1 (ko) 2017-09-15 2022-05-26 삼성전자 주식회사 콘텐츠 처리 방법 및 이를 지원하는 전자 장치
CN108876891B (zh) * 2017-11-27 2021-12-28 北京旷视科技有限公司 人脸图像数据采集方法及人脸图像数据采集装置
CN109862345B (zh) * 2017-11-30 2022-09-30 京东方科技集团股份有限公司 视场角测试方法和系统
CN111448497B (zh) 2017-12-10 2023-08-04 奇跃公司 光波导上的抗反射涂层
US10521011B2 (en) 2017-12-19 2019-12-31 Finch Technologies Ltd. Calibration of inertial measurement units attached to arms of a user and to a head mounted device
CN115826240A (zh) 2017-12-20 2023-03-21 奇跃公司 用于增强现实观看设备的插入件
US20220178692A1 (en) * 2017-12-21 2022-06-09 Mindmaze Holding Sa System, method and apparatus of a motion sensing stack with a camera system
CN108151738B (zh) * 2017-12-22 2019-07-16 北京轻威科技有限责任公司 带姿态解算的可编码主动光标识球
US10509464B2 (en) 2018-01-08 2019-12-17 Finch Technologies Ltd. Tracking torso leaning to generate inputs for computer systems
US11016116B2 (en) 2018-01-11 2021-05-25 Finch Technologies Ltd. Correction of accumulated errors in inertial measurement units attached to a user
US11961494B1 (en) 2019-03-29 2024-04-16 Meta Platforms Technologies, Llc Electromagnetic interference reduction in extended reality environments
US11150730B1 (en) 2019-04-30 2021-10-19 Facebook Technologies, Llc Devices, systems, and methods for controlling computing devices via neuromuscular signals of users
US10970936B2 (en) 2018-10-05 2021-04-06 Facebook Technologies, Llc Use of neuromuscular signals to provide enhanced interactions with physical objects in an augmented reality environment
US10817795B2 (en) 2018-01-25 2020-10-27 Facebook Technologies, Llc Handstate reconstruction based on multiple inputs
WO2019147949A1 (en) 2018-01-25 2019-08-01 Ctrl-Labs Corporation Real-time processing of handstate representation model estimates
US10937414B2 (en) 2018-05-08 2021-03-02 Facebook Technologies, Llc Systems and methods for text input using neuromuscular information
WO2019147958A1 (en) 2018-01-25 2019-08-01 Ctrl-Labs Corporation User-controlled tuning of handstate representation model parameters
US11907423B2 (en) 2019-11-25 2024-02-20 Meta Platforms Technologies, Llc Systems and methods for contextualized interactions with an environment
WO2019147996A1 (en) 2018-01-25 2019-08-01 Ctrl-Labs Corporation Calibration techniques for handstate representation modeling using neuromuscular signals
WO2019148002A1 (en) 2018-01-25 2019-08-01 Ctrl-Labs Corporation Techniques for anonymizing neuromuscular signal data
US11493993B2 (en) 2019-09-04 2022-11-08 Meta Platforms Technologies, Llc Systems, methods, and interfaces for performing inputs based on neuromuscular control
US11481030B2 (en) 2019-03-29 2022-10-25 Meta Platforms Technologies, Llc Methods and apparatus for gesture detection and classification
WO2019147956A1 (en) 2018-01-25 2019-08-01 Ctrl-Labs Corporation Visualization of reconstructed handstate information
US11567573B2 (en) 2018-09-20 2023-01-31 Meta Platforms Technologies, Llc Neuromuscular text entry, writing and drawing in augmented reality systems
CA3087738A1 (en) 2018-02-06 2019-08-15 Magic Leap, Inc. Systems and methods for augmented reality
CN110163885B (zh) * 2018-02-12 2022-06-03 杭州海康威视数字技术股份有限公司 一种目标跟踪方法及装置
US11526216B2 (en) * 2018-02-23 2022-12-13 Telefonaktiebolaget Lm Ericsson (Publ) Coordinating alignment of coordinate systems used for a computer generated reality device and a haptic device
KR102050059B1 (ko) * 2018-03-13 2020-01-08 서강대학교 산학협력단 헤드 마운티드 디스플레이의 자기 보정 장치 및 방법
CN112136152A (zh) 2018-03-15 2020-12-25 奇跃公司 由观看设备的部件变形导致的图像校正
US10475196B2 (en) * 2018-03-22 2019-11-12 Microsoft Technology Licensing, Llc Hybrid depth detection and movement detection
WO2019204638A1 (en) 2018-04-19 2019-10-24 Pcms Holdings, Inc. Systems and methods employing predictive overfilling for virtual reality
US11454783B2 (en) 2018-04-25 2022-09-27 Samsung Electronics Co., Ltd. Tiled triplet lenses providing a wide field of view
US10416755B1 (en) 2018-06-01 2019-09-17 Finch Technologies Ltd. Motion predictions of overlapping kinematic chains of a skeleton model used to control a computer system
DK201870351A1 (en) 2018-05-07 2020-01-13 Apple Inc. Devices and Methods for Measuring Using Augmented Reality
CN109974581B (zh) * 2018-05-07 2021-07-13 苹果公司 使用增强现实进行测量的设备和方法
US11474593B2 (en) 2018-05-07 2022-10-18 Finch Technologies Ltd. Tracking user movements to control a skeleton model in a computer system
US10592001B2 (en) 2018-05-08 2020-03-17 Facebook Technologies, Llc Systems and methods for improved speech recognition using neuromuscular information
US10623743B1 (en) * 2018-05-22 2020-04-14 Facebook Technologies, Llc Compression of captured images including light captured from locations on a device or object
WO2019226259A1 (en) 2018-05-25 2019-11-28 Ctrl-Labs Corporation Methods and apparatus for providing sub-muscular control
US11204491B2 (en) 2018-05-30 2021-12-21 Magic Leap, Inc. Compact variable focus configurations
EP3803450A4 (en) 2018-05-31 2021-08-18 Magic Leap, Inc. POSITIONING A RADAR HEAD
WO2019236495A1 (en) * 2018-06-05 2019-12-12 Magic Leap, Inc. Homography transformation matrices based temperature calibration of a viewing system
EP3803545A4 (en) 2018-06-08 2022-01-26 Magic Leap, Inc. AUGMENTED REALITY VIEWER WITH AUTOMATED SURFACE SELECTION PLACEMENT AND CONTENT ALIGNMENT PLACEMENT
WO2019241701A1 (en) 2018-06-14 2019-12-19 Ctrl-Labs Corporation User identification and authentication with neuromuscular signatures
CN108965863B (zh) * 2018-06-21 2019-09-17 歌尔股份有限公司 相机光学中心和vr透镜中心对齐的控制方法及装置
WO2020010097A1 (en) 2018-07-02 2020-01-09 Magic Leap, Inc. Pixel intensity modulation using modifying gain values
US11856479B2 (en) 2018-07-03 2023-12-26 Magic Leap, Inc. Systems and methods for virtual and augmented reality along a route with markers
WO2020010226A1 (en) 2018-07-03 2020-01-09 Magic Leap, Inc. Systems and methods for virtual and augmented reality
WO2020018892A1 (en) 2018-07-19 2020-01-23 Ctrl-Labs Corporation Methods and apparatus for improved signal robustness for a wearable neuromuscular recording device
CN110826375B (zh) * 2018-08-10 2022-08-12 广东虚拟现实科技有限公司 显示方法、装置、终端设备及存储介质
WO2020023543A1 (en) 2018-07-24 2020-01-30 Magic Leap, Inc. Viewing device with dust seal integration
WO2020023545A1 (en) 2018-07-24 2020-01-30 Magic Leap, Inc. Temperature dependent calibration of movement detection devices
US11009941B2 (en) 2018-07-25 2021-05-18 Finch Technologies Ltd. Calibration of measurement units in alignment with a skeleton model to control a computer system
US11112862B2 (en) 2018-08-02 2021-09-07 Magic Leap, Inc. Viewing system with interpupillary distance compensation based on head motion
EP3830631A4 (en) 2018-08-03 2021-10-27 Magic Leap, Inc. NON-FUSED POSE DRIFT CORRECTION OF A FUSED TOTEM IN A USER INTERACTION SYSTEM
US11100713B2 (en) 2018-08-17 2021-08-24 Disney Enterprises, Inc. System and method for aligning virtual objects on peripheral devices in low-cost augmented reality/virtual reality slip-in systems
EP3857342A4 (en) 2018-09-26 2021-12-01 Facebook Technologies, LLC. NEUROMUSCULAR CONTROL OF PHYSICAL OBJECTS IN AN ENVIRONMENT
US10785413B2 (en) 2018-09-29 2020-09-22 Apple Inc. Devices, methods, and graphical user interfaces for depth-based annotation
WO2020081090A1 (en) * 2018-10-18 2020-04-23 Hewlett-Packard Development Company, L.P. Video capture device positioning based on participant movement
WO2020102237A1 (en) 2018-11-13 2020-05-22 Opkix, Inc. Wearable mounts for portable camera
WO2020102412A1 (en) 2018-11-16 2020-05-22 Magic Leap, Inc. Image size triggered clarification to maintain image sharpness
CN113423341A (zh) 2018-11-27 2021-09-21 脸谱科技有限责任公司 用于可穿戴电极传感器系统的自动校准的方法和装置
CN109711302B (zh) * 2018-12-18 2019-10-18 北京诺亦腾科技有限公司 模型参数校准方法、装置、计算机设备和存储介质
US10802282B2 (en) 2018-12-21 2020-10-13 Microsoft Technology Licensing, Llc Controlling light source intensities on optically trackable object
CN109801341B (zh) * 2019-01-30 2020-11-03 北京经纬恒润科技有限公司 一种标定靶的位置校验方法及装置
US11425189B2 (en) 2019-02-06 2022-08-23 Magic Leap, Inc. Target intent-based clock speed determination and adjustment to limit total heat generated by multiple processors
JP7247636B2 (ja) * 2019-02-15 2023-03-29 株式会社Jvcケンウッド 画像調整システム、画像調整装置、及び画像調整方法
US10905383B2 (en) 2019-02-28 2021-02-02 Facebook Technologies, Llc Methods and apparatus for unsupervised one-shot machine learning for classification of human gestures and estimation of applied forces
US11624757B2 (en) 2019-03-04 2023-04-11 Meta Platforms, Inc. Modeling poses of tracked objects by predicting sensor data
JP2022523852A (ja) 2019-03-12 2022-04-26 マジック リープ, インコーポレイテッド 第1および第2の拡張現実ビューア間でのローカルコンテンツの位置合わせ
WO2020223636A1 (en) 2019-05-01 2020-11-05 Magic Leap, Inc. Content provisioning system and method
CN109976535B (zh) * 2019-05-05 2022-12-02 北京七鑫易维信息技术有限公司 一种校准方法、装置、设备及存储介质
JP2022542363A (ja) 2019-07-26 2022-10-03 マジック リープ, インコーポレイテッド 拡張現実のためのシステムおよび方法
US10809797B1 (en) 2019-08-07 2020-10-20 Finch Technologies Ltd. Calibration of multiple sensor modules related to an orientation of a user of the sensor modules
CN110688002B (zh) * 2019-09-06 2023-12-19 广东虚拟现实科技有限公司 虚拟内容的调整方法、装置、终端设备及存储介质
JP7360282B2 (ja) * 2019-09-10 2023-10-12 株式会社東海理化電機製作所 制御装置、制御方法、及びプログラム
US10976863B1 (en) 2019-09-19 2021-04-13 Finch Technologies Ltd. Calibration of inertial measurement units in alignment with a skeleton model to control a computer system based on determination of orientation of an inertial measurement unit from an image of a portion of a user
US11175729B2 (en) 2019-09-19 2021-11-16 Finch Technologies Ltd. Orientation determination based on both images and inertial measurement units
CN112578901A (zh) * 2019-09-30 2021-03-30 Oppo广东移动通信有限公司 眼球追踪校准方法及相关设备
WO2021097323A1 (en) 2019-11-15 2021-05-20 Magic Leap, Inc. A viewing system for use in a surgical environment
US10705597B1 (en) 2019-12-17 2020-07-07 Liteboxer Technologies, Inc. Interactive exercise and training system and method
US11138771B2 (en) 2020-02-03 2021-10-05 Apple Inc. Systems, methods, and graphical user interfaces for annotating, measuring, and modeling environments
US11727650B2 (en) 2020-03-17 2023-08-15 Apple Inc. Systems, methods, and graphical user interfaces for displaying and manipulating virtual objects in augmented reality environments
CN111583310B (zh) * 2020-04-29 2023-06-30 南京睿悦信息技术有限公司 一种用于虚拟现实和增强现实设备的虚实配准方法及装置
CN111988534B (zh) * 2020-07-23 2021-08-20 首都医科大学附属北京朝阳医院 一种基于多摄像头的画面拼接方法和装置
CN112015269A (zh) * 2020-08-03 2020-12-01 深圳市瑞立视多媒体科技有限公司 头显设备的显示校正方法、设备及存储介质
US20230306633A1 (en) * 2020-08-18 2023-09-28 Foresight Automotive Ltd. System and method for pose estimation of sensors using motion and angular shift
US20220075447A1 (en) * 2020-09-08 2022-03-10 Google Llc Persistent calibration of extended reality systems
US11615595B2 (en) 2020-09-24 2023-03-28 Apple Inc. Systems, methods, and graphical user interfaces for sharing augmented reality environments
CN112541932B (zh) * 2020-11-30 2024-03-26 西安电子科技大学昆山创新研究院 基于双光相机不同焦距变换参数的多源图像配准方法
US11662805B2 (en) * 2020-12-30 2023-05-30 Snap Inc. Periodic parameter estimation for visual-inertial tracking systems
WO2022146786A1 (en) * 2020-12-30 2022-07-07 Snap Inc. Periodic parameter estimation visual-inertial tracking systems
US11868531B1 (en) 2021-04-08 2024-01-09 Meta Platforms Technologies, Llc Wearable device providing for thumb-to-finger-based input gestures detected based on neuromuscular signals, and systems and methods of use thereof
US11941764B2 (en) 2021-04-18 2024-03-26 Apple Inc. Systems, methods, and graphical user interfaces for adding effects in augmented reality environments
US11688101B2 (en) 2021-05-18 2023-06-27 Snap Inc. Intrinsic parameters estimation in visual tracking systems
WO2022246388A1 (en) * 2021-05-18 2022-11-24 Snap Inc. Intrinsic parameters estimation in visual tracking systems
BE1029715B1 (nl) * 2021-08-25 2023-03-28 Rods&Cones Holding Bv Geautomatiseerde kalibratie van hoofdgedragen handenvrije camera
CN114286075A (zh) * 2021-12-01 2022-04-05 北京新奥特图腾科技有限公司 校正参数调整方法、装置、电子设备及可读介质
WO2023130046A1 (en) * 2021-12-30 2023-07-06 Canon U.S.A., Inc. Systems and methods for virtual reality immersive calling
WO2022266556A1 (en) * 2022-08-09 2022-12-22 Innopeak Technology, Inc. Methods and systems for motion prediction
US11914800B1 (en) 2022-10-28 2024-02-27 Dell Products L.P. Information handling system stylus with expansion bay and replaceable module

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428001B2 (en) * 2002-03-15 2008-09-23 University Of Washington Materials and methods for simulating focal shifts in viewers using large depth of focus displays
US7002551B2 (en) 2002-09-25 2006-02-21 Hrl Laboratories, Llc Optical see-through augmented reality modified-scale display
US6867753B2 (en) 2002-10-28 2005-03-15 University Of Washington Virtual image registration in augmented display field
CN100416336C (zh) * 2003-06-12 2008-09-03 美国西门子医疗解决公司 校准真实和虚拟视图
JP2005107247A (ja) 2003-09-30 2005-04-21 Canon Inc 位置姿勢推定方法および装置
JP2007071782A (ja) 2005-09-08 2007-03-22 Canon Inc 位置姿勢計測システム及びその計測方法、並びに制御プログラム
JP4757142B2 (ja) 2006-08-10 2011-08-24 キヤノン株式会社 撮影環境校正方法及び情報処理装置
JP4967546B2 (ja) * 2006-09-05 2012-07-04 株式会社島津製作所 ヘッドモーショントラッカ装置
JP5292725B2 (ja) 2007-05-24 2013-09-18 株式会社島津製作所 モーショントラッカ装置
CN100487568C (zh) * 2007-05-29 2009-05-13 南京航空航天大学 具有视线跟踪功能的增强现实自然交互式头盔
EP2012170B1 (en) 2007-07-06 2017-02-15 Harman Becker Automotive Systems GmbH Head-tracking system and operating method thereof
US8678282B1 (en) * 2010-11-29 2014-03-25 Lockheed Martin Corporation Aim assist head-mounted display apparatus
US9217867B2 (en) 2011-03-24 2015-12-22 Seiko Epson Corporation Head-mounted display device and control method for the head-mounted display device
WO2012172719A1 (ja) * 2011-06-16 2012-12-20 パナソニック株式会社 ヘッドマウントディスプレイおよびその位置ずれ調整方法
US9897805B2 (en) * 2013-06-07 2018-02-20 Sony Interactive Entertainment Inc. Image rendering responsive to user actions in head mounted display
US8611015B2 (en) * 2011-11-22 2013-12-17 Google Inc. User interface
CN103179692A (zh) * 2011-12-26 2013-06-26 陈建新 基于ZigBee/IEEE802.15.4的人体运动追踪系统
US9529426B2 (en) * 2012-02-08 2016-12-27 Microsoft Technology Licensing, Llc Head pose tracking using a depth camera
US20130285885A1 (en) 2012-04-25 2013-10-31 Andreas G. Nowatzyk Head-mounted light-field display
JP2013258614A (ja) * 2012-06-13 2013-12-26 Sony Computer Entertainment Inc 画像生成装置および画像生成方法
CN203314184U (zh) * 2013-02-04 2013-12-04 浙江铭众生物医学创业投资有限公司 头戴式设备
US9239460B2 (en) * 2013-05-10 2016-01-19 Microsoft Technology Licensing, Llc Calibration of eye location
US20140362110A1 (en) * 2013-06-08 2014-12-11 Sony Computer Entertainment Inc. Systems and methods for customizing optical representation of views provided by a head mounted display based on optical prescription of a user
US9303999B2 (en) * 2013-12-30 2016-04-05 Google Technology Holdings LLC Methods and systems for determining estimation of motion of a device
US9524580B2 (en) * 2014-01-06 2016-12-20 Oculus Vr, Llc Calibration of virtual reality systems
CN106255916B (zh) * 2014-03-14 2019-08-09 索尼互动娱乐股份有限公司 跟踪头戴式显示器(hmd)的方法和系统以及用于hmd头带调整的校准
US10198865B2 (en) 2014-07-10 2019-02-05 Seiko Epson Corporation HMD calibration with direct geometric modeling

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180101466A (ko) * 2016-01-12 2018-09-12 후아웨이 테크놀러지 컴퍼니 리미티드 심도 정보 취득 방법 및 장치, 그리고 이미지 수집 디바이스
KR20180064086A (ko) * 2016-12-05 2018-06-14 삼성전자주식회사 이미지 처리 장치 및 시스템
KR20200121055A (ko) * 2019-04-15 2020-10-23 주식회사 스토익엔터테인먼트 가상 현실 컨텐츠 제어 장치, 가상 현실 어트랙션 및 이의 보정 방법
WO2022050611A1 (ko) * 2020-09-03 2022-03-10 삼성전자 주식회사 전자 장치 및 전자 장치의 동작 방법

Also Published As

Publication number Publication date
IL245813A0 (en) 2016-07-31
CN108107592B (zh) 2019-11-05
EP3017591A4 (en) 2017-09-27
KR20170086707A (ko) 2017-07-26
JP6381711B2 (ja) 2018-08-29
US20170147066A1 (en) 2017-05-25
CN105850113B (zh) 2018-02-13
JP2017142813A (ja) 2017-08-17
CA2930773C (en) 2017-07-11
US10001834B2 (en) 2018-06-19
CN105850113A (zh) 2016-08-10
US9524580B2 (en) 2016-12-20
CN108107592A (zh) 2018-06-01
BR112016013563A2 (ko) 2017-08-08
EP3017591A1 (en) 2016-05-11
WO2015103621A1 (en) 2015-07-09
US9779540B2 (en) 2017-10-03
MX348608B (es) 2017-06-21
JP2017503418A (ja) 2017-01-26
BR112016013563A8 (pt) 2020-05-19
US20150193949A1 (en) 2015-07-09
EP3017591B1 (en) 2018-12-12
MX2016008908A (es) 2016-09-16
CA2930773A1 (en) 2015-07-09
KR102121994B1 (ko) 2020-06-11
US9600925B2 (en) 2017-03-21
KR101762297B1 (ko) 2017-07-28
AU2015203932A1 (en) 2016-06-09
IL245813A (en) 2017-08-31
AU2015203932B2 (en) 2017-04-06
US20150193983A1 (en) 2015-07-09
JP6110573B2 (ja) 2017-04-05
US20170053454A1 (en) 2017-02-23

Similar Documents

Publication Publication Date Title
KR101762297B1 (ko) 가상 현실 시스템의 캘리브레이션
JP7026214B2 (ja) ヘッドマウントディスプレイ追跡システム
US11127380B2 (en) Content stabilization for head-mounted displays
US10504243B2 (en) Calibration system for a head-mounted display tracking system
CN110658914A (zh) 边界区域的闪烁追踪
US11914762B2 (en) Controller position tracking using inertial measurement units and machine learning
US11694345B2 (en) Moving object tracking using object and scene trackers
WO2022146858A1 (en) Controller position tracking using inertial measurement units and machine learning

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant