KR20240028295A - 헤드셋 조정 - Google Patents

헤드셋 조정 Download PDF

Info

Publication number
KR20240028295A
KR20240028295A KR1020230103264A KR20230103264A KR20240028295A KR 20240028295 A KR20240028295 A KR 20240028295A KR 1020230103264 A KR1020230103264 A KR 1020230103264A KR 20230103264 A KR20230103264 A KR 20230103264A KR 20240028295 A KR20240028295 A KR 20240028295A
Authority
KR
South Korea
Prior art keywords
headset
user
offset
computer
pitch
Prior art date
Application number
KR1020230103264A
Other languages
English (en)
Inventor
드미트리 모델
제이콥 딘 포팜
블레이즈 마이클 켈러
Original Assignee
메타 플랫폼즈 테크놀로지스, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 메타 플랫폼즈 테크놀로지스, 엘엘씨 filed Critical 메타 플랫폼즈 테크놀로지스, 엘엘씨
Publication of KR20240028295A publication Critical patent/KR20240028295A/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/013Eye 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/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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
    • 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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
    • 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/0181Adaptation to the pilot/driver
    • 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/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

일 실시형태에서, 방법은 사용자가 헤드셋을 착용하였음을 검출하는 단계와, 센서를 사용하여 사용자 눈의 눈 추적 데이터를 캡처하는 단계와, 눈 추적 데이터를 사용하여 착용된 헤드셋과 사전 정의된 최적 착용 위치 사이의 6자유도 오프셋을 추정하는 단계와, 카메라에 의해 획득된 사용자 얼굴의 하단부의 이미지 내의 얼굴의 랜드마크를 사용하여 착용된 헤드셋과 사전 정의된 최적 착용 위치 사이의 피치 오프셋을 추정하는 단계와, 6자유도 오프셋 및 피치 오프셋에 기초하여, 사전 정의된 헤드셋의 최적 착용 위치에 더 가깝게 헤드셋을 조정하도록 사용자를 안내하기 위한 하나 이상의 사용자 지침을 생성하는 단계를 포함한다.

Description

헤드셋 조정{HEADSET ADJUSTMENT}
본 개시내용은 개괄적으로 헤드셋 또는 헤드 마운티드 디스플레이와, 이들의 핏(fit)을 최적화하기 위해 사용자를 지원하는 방법에 관한 것이다.
헤드 마운트 디스플레이(HMD) 및 근거리 디스플레이(NED)와 같은 웨어러블 디스플레이 시스템은 사용자에게 가상 풍경 및 객체를 제시하거나 동적 정보, 데이터 또는 가상 객체로 실제 환경을 증강하는 데 사용될 수 있다. 가상 현실(VR) 또는 인공 현실(AR) 풍경은 경험을 향상시키고 가상 객체를 사용자가 관찰하는 실제 객체와 매칭시키기 위한 3차원(3D)일 수 있다. 사용자의 눈 위치, 시선 방향, 및/또는 배향이 실시간으로 추적될 수 있으며, 사용자의 머리 배향 및 시선 방향에 따라 표시되는 풍경 및/또는 객체가 동적으로 조정되어 시뮬레이션 또는 증강 환경에 더 잘 몰입할 수 있는 경험을 제공할 수 있다. 일부 웨어러블 디스플레이 시스템에는 사용자 얼굴의 하단부를 겨냥하는 카메라가 포함되어 개인화된 얼굴 표정을 캡처하고 때로는 재현할 수도 있다.
웨어러블 디스플레이 시스템과 개별 컴포넌트(카메라, 센서 등)의 배치에는 종종 "스위트 스팟(sweet spot)"이 있다. 사용자의 눈에 초점을 맞춘 부분의 경우, 이 "스위트 스팟"은 사용자의 눈을 위한 기하학적 영역일 수 있고 이미지 품질, 시야, 이미지 아티팩트, 눈 추적(eye tracking) 정확도 및 충실도 등의 측면에서 가상 또는 증강된 풍경의 뷰가 최적인 곳이다. 이를 위해 사용자의 한쪽 또는 양쪽 눈 주변에서의 조정이 필요할 수 있다. 이 작업은 사람의 두상과 동공간 거리(IPD, inter-pupillary distance)가 매우 다양하고 눈의 오목함, 이마 및 코 돌출 등 얼굴 특징이 다르기 때문에 실제로는 달성하기 어려울 수 있다. 또한, 하단 얼굴을 겨냥하는 하나 이상의 카메라 및/또는 센서는 최적의 위치/배치/각도를 가질 수 있다. 이 경우에도 사용자에게 원하는 경험을 제공하는 데 필요한 데이터를 정확하게 캡처할 수 있다는 측면에서 카메라와 센서의 배치에 있어서 최적의 '스위트 스팟'이 있을 수 있다.
본 개시내용은 VR/AR 프로그램과 함께 사용하기 위한 헤드셋의 적절한 핏(fit)을 결정하는 방법을 기술한다. 이 방법은 사용자의 눈을 향하는 센서와 사용자 얼굴의 하단부의 이미지를 캡처하도록 배치된 카메라 둘 모두로부터 전부 획득되는, 7자유도 오프셋, 즉 눈 추적으로부터의 6자유도 오프셋 및 얼굴 추적으로부터의 피치 오프셋에 의존하는 프로그램을 사용하는 것을 포함할 수 있다. 일 실시형태는 사용자가 헤드셋을 착용한 것을 컴퓨터가 검출한 후 프로그램을 실행하는 것을 포함한다. 사용자가 헤드셋을 착용한 것을 프로그램이 검출한 후, 눈 추적 센서로부터 획득한 눈 추적 데이터를 사용하여 사용자가 착용한 헤드셋과 사전 정의된 헤드셋의 최적 착용 위치 사이의 6자유도(6DoF) 오프셋을 추정할 수 있다. 6DoF 오프셋은 3개의 병진이동(translation) 오프셋(수평, 수직, 깊이), 롤(roll) 오프셋, 요(yaw) 오프셋, 동공간 거리(IPD) 오프셋을 포함할 수 있다. 병진이동 오프셋은 사용자의 얼굴을 기준으로 상/하, 좌/우, 전/후일 수 있다. 롤 오프셋은 헤드셋이 사용자의 한쪽 귀에서 다른 쪽 귀까지 중심에서 벗어나 기울어진 거리 또는 각도를 나타낼 수 있다. 즉, 이것은 길이방향 축, 또는 오른쪽 귀에서 왼쪽 귀로 또는 그 반대로 머리를 통과해 연장되는 것을 따른 오프셋일 수 있다. 요 오프셋은 수직축이라고도 하는 사용자의 목이 축인 경우와 같이 헤드셋이 사용자의 머리 주위에서 중심으로부터 벗어나 회전하는 거리 또는 각도를 나타낼 수 있다. IPD 오프셋은 축간 거리(IAD, inter-axial distance), 즉 좌우 아이컵 사이의 간격과 사용자의 동공간 거리(IPD) 사이의 차이를 나타낼 수 있다. 6DoF 외에도 프로그램은 이미지 내의 얼굴의 랜드마크를 사용하여 피치 오프셋을 추정할 수 있는데, 피치 오프셋은 사용자가 착용한 헤드셋과 사전 정의된 헤드셋의 최적 착용 위치 사이의 피치 차이를 나타낸다. 피치 오프셋은, 사용자의 코를 통과해 후두부까지 연장되는 축을 따라 회전하는 것처럼, 사용자 머리 중앙의 중심에서 벗어난 거리 또는 각도일 수 있다. 일 실시형태에서, 이들 추정 오프셋(6DoF 오프셋 및 피치 오프셋)은 사용자에게 표시하기 위한 하나 이상의 지침을 생성하는 데 사용될 수 있는데, 이러한 지침은 사용자가 사전 정의된 헤드셋의 최적 착용 위치에 더 가깝게 헤드셋을 조정할 수 있는 방법을 자세히 설명하여 사용자를 안내하는 역할을 할 수 있다.
본 명세서에 개시된 실시형태는 단지 예시일 뿐, 본 개시내용의 범위가 이에 제한되는 것은 아니다. 특정 실시형태는 본 명세서에 개시된 실시형태의 컴포넌트, 엘리먼트, 특징, 기능, 동작 또는 단계의 전부, 일부를 포함하거나 전혀 포함하지 않을 수 있다. 본 발명에 따른 실시형태는 특히 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 관한 첨부된 청구범위에 개시되며, 여기서 하나의 청구 범주, 예를 들어, 방법에서 언급된 임의의 특징은 다른 청구 범주, 예를 들어, 시스템에서도 청구될 수 있다. 첨부된 청구범위의 종속성 또는 참조는 형식적인 이유로만 선택된다. 그러나 이전 청구범위에 대한 고의적인 참조(특히 다중 종속성)로 인해 발생하는 모든 주제도 청구될 수 있으므로, 청구범위 및 그 특징의 임의의 조합이 개시될 수 있고 첨부된 청구범위에서 선택된 종속성에 관계없이 청구될 수 있다. 청구될 수 있는 주제는 첨부된 청구범위에 명시된 특징의 조합뿐만 아니라 청구범위에 있는 특징의 임의의 다른 조합을 포함할 수 있으며, 여기서 청구범위에서 언급된 각각의 특징은 청구범위에서 임의의 다른 특징 또는 다른 특징의 조합과 결합될 수 있다. 또한, 본 명세서에서 설명하거나 예시한 임의의 실시형태 및 특징은 별도의 청구범위에서 및/또는 본 명세서에서 설명하거나 예시한 임의의 실시형태 또는 특징, 또는 첨부된 청구범위의 임의의 특징과 조합하여 청구될 수 있다.
도 1은 VR/AR 디스플레이 시스템을 위한 예를 들어 헤드셋이라고도 알려진 헤드 마운티드 디바이스를 도시한다.
도 2는 예시적인 헤드셋 착용 최적화 방법을 도시한다.
도 3은 컴퓨터를 사용하여 헤드셋의 핏을 최적화하는 예시적인 방법을 도시한다.
도 4는 이 방법의 일부로서 사용될 수 있는 다양한 유형의 착용 안내에 대해 프로그램이 구현할 수 있는 지침을 도시한다.
도 5는 예시적인 컴퓨터 시스템을 도시한다.
본 개시내용은 사용자가 헤드셋을 최적으로 착용하는 것을 보장하기 위한해 컴퓨터에 의해 실행되는 시스템에 대한 방법을 기술한다. 명확성과 효율성을 위해, 그리고 제한을 두지 않기 위해, 본 개시내용에서는 이러한 시스템을 "헤드셋 조정"이라고 칭한다. 이 안내는 다음 중 일부 또는 전부의 이점을 제공할 수 있다: 1) 사용자가 헤드셋을 사용하는 동안 최적의 시청 경험을 하는 것을 보장함, 2) 소셜 프레즌스(Social Presence)에서 더 나은 경험을 제공하기 위해 얼굴 추적 시스템이 얼굴(특히 얼굴 하단부)을 제대로 볼 수 있게 함, 그리고 3) 소셜 프레즌스 및 시선 추적 렌더링(GFR, Gaze Foveated Rendering) 또는 눈 추적을 사용하는 기타 애플리케이션에 더 나은 경험을 제공하기 위해 눈 추적 시스템이 눈을 제대로 볼 수 있게 함. 소셜 프레즌스는 사용자를 보다 정확하게 표현하여 가상 경험을 현실 경험에 가깝게 만드는 VR/AR 경험의 일부이다. 양호한 소셜 프레즌스를 실현하려면 사용자와 연관된 아바타가 사용자와 비슷하게 보여야 한다. 본 개시내용에서, 헤드 마운티드 디바이스 상의 하나 이상의 카메라에 의해 검출 및 추적될 수 있는 얼굴 특징은 아바타를 생성하는 컴퓨터 프로그램으로 하여금 얼굴 특징 및 표정 둘 다를 포함해 사용자와 더 유사하게 보이도록 아바타를 생성하게 한다. 하나 이상의 카메라가 사용자의 얼굴 특징과 표정을 정확하게 표현하기 위해서는 하나 이상의 카메라가 특징 및 표정을 캡처할 수 있도록 배치되어야 한다. 따라서 컴퓨터 프로그램을 사용하여 사용자에게 핏을 보정할 지침을 제공하는 방법 또는 시스템이 필요하다.
전술한 바와 같이, 가상 현실 및 증강 현실 디바이스는 소셜 프레즌스를 만들 수 있으며, 보다 자연스러운 사회적 경험의 감각을 창출하는 것을 돕는다. 소셜 프레즌스의 효과를 극대화하기 위해 사용자의 얼굴 특징과 표정이 실시간으로 캡처될 수 있다. 이를 통해 컴퓨팅 시스템은 사용자의 외형(look)과 사용자의 변화하는 표정 둘 다를 보다 정확하게 재현할 수 있다. 이 두가지 모두를 정확하게 캡처하려면 헤드셋이 올바른 위치에 있어야 한다. 따라서, 일부 실시형태에서, 사용자가 최적의 위치를 확보하는 데 도움이 되는 지침이 생성되어 사용자에게 제공될 수 있다. 또한, 본 개시내용은 다른 방식으로 편안함과 경험의 질 모두를 향상시킨다. 예를 들어, 사용자의 움직임과 동작을 더 잘 캡처으로써 경험의 질을 향상시킬 수 있다. 그러나, 지침의 생성 및 제시가 효율적으로 이루어지지 않으면, 지침이 지루해지고 사용자 경험을 방해할 수 있다. 따라서, 본 개시내용에서는 이들 우려의 균형을 맞추는 헤드셋 보정에 대한 접근방식을 제시한다.
본 개시내용에 따르면, 웨어러블 디스플레이 헤드셋의 센서로부터 획득할 수 있는 정보를 사용하여, 헤드셋을 사용자의 머리에 올바르게 배치하고 헤드셋을 올바르게 조정하는 것이 용이해질 수 있다. 예를 들어, 눈 추적 카메라와 같은 센서는, 예컨대 현재 사용자의 동공간 거리(IPD)에 대응하도록 디스플레이 모듈 또는 각 눈에 이미지를 제공하는 디스플레이 모듈 부분 사이의 거리를 조정하는 데 사용될 수 있다. 이 정보는 사용자가 사용자의 머리에서 헤드셋 위치를 조정하도록 안내하는 데에도 사용될 수 있다. 조정은 수동 또는 자동일 수 있다. 추가로 또는 대안으로, 가상 세계가 공칭 눈 위치가 아닌 사용자의 실제 눈 위치의 관점에서 렌더링될 수 있도록 하기 위해, 각 디스플레이 패널의 원래 또는 (0,0) 좌표가 있는 위치를 전자적으로 조종하는 데에 ET 추정 동공 위치가 사용될 수 있다.
본 개시내용에 따르면, 헤드셋 조정 방법이 제공되며, 헤드셋은 센서와, 사용자에게 이미지를 표시하기 위한 전자 디스플레이를 포함한 디스플레이 모듈을 포함하며, 이 방법은 센서를 사용하여 헤드셋의 아이박스 내의 최적의 눈 위치에 대한 헤드셋을 착용한 사용자의 현재 눈 위치의 오프셋 및 최적 위치에 대한 헤드셋을 착용한 사용자의 현재 얼굴 위치의 오프셋을 결정하는 단계; 오프셋을 줄이기 위한 헤드셋의 조정 방향을 결정하는 단계; 및 결정된 방향으로 헤드셋의 조정을 수행하기 위한 지침을 제공하는 단계를 포함한다.
본 개시내용에 따르면, 명령어가 저장되어 있는 비일시적 메모리가 제공되며, 명령어는 프로세서에 의해 실행될 때, 프로세서로 하여금, 사용자에게 이미지를 표시하기 위한 전자 디스플레이를 포함한 디스플레이 모듈을 포함하는 헤드셋의 센서 및/또는 카메라 중 하나 이상을 사용하여, 헤드셋의 아이박스 내의 최적의 눈 위치에 대한 헤드셋을 착용한 사용자의 현재 눈 위치의 오프셋 및 얼굴의 랜드마크에 기초한 피치 오프셋을 결정하게 하고; 오프셋을 줄이기 위한 헤드셋의 조정 방향을 결정하게 하고; 결정된 방향으로 헤드셋의 조정을 수행하기 위한 지침을 제공하게 한다.
본 개시내용에 따르면, 헤드셋 및 프로세싱 모듈을 포함한 웨어러블 디스플레이 시스템이 또한 제공된다. 헤드셋은 헤드셋 본체와, 헤드셋 본체 내의 디스플레이 모듈을 포함하고, 디스플레이 모듈은 헤드셋의 사용자에게 이미지를 표시하기 위한 전자 디스플레이를 포함한다. 프로세싱 모듈은, 하나 이상의 센서 및/또는 카메라를 사용하여, 현재 눈 위치 대 공칭 눈 위치의 오프셋 및 얼굴의 랜드마크에 기초한 피치 오프셋을 결정하고, 오프셋을 줄이기 위한 헤드셋의 조정 방향을 결정하고, 결정된 방향으로 헤드셋의 조정을 수행하기 위한 지침을 제공하도록 구성된다.
일부 실시형태에서, 눈 추적은 3개의 병진이동 오프셋(수평, 수직, 깊이), 롤 오프셋, 요 오프셋, 및 IPD 오프셋을 포함한 최대 6자유도(6DoF)의 오프셋을 결정하는 것을 포함한다. 추가로 또는 대안으로 얼굴 추적은 사용자 얼굴의 특징의 위치 및 피치 오프셋을 결정하는 것을 포함한다. 특징의 위치는 소셜 프레즌스를 만드는 데 사용하기 위해 카메라 및/또는 센서에 의해 나중에 캡처될 수 있도록 이들 특징의 시인성(visibility)을 확인하기 위해 시스템에 의해 추적된다. 안내 알고리즘의 역할은 현재 착용 추정치를 세 가지 결과로 변환하는 것이다: 1) 어떤 유형의 안내를 표시할지(예컨대, 롤 피치, 아이릴리프 조정 등), 2) 사용자를 어느 방향으로 안내할지(상/하, 내/외, CW/CWW), 3) 보정의 크기는 어느 정도일지.
소셜 프레즌스 생성 외에도, 본 개시내용에 제시된 방법의 또 다른 이점은, 카메라 또는 센서가 사용자의 시선, 얼굴 특징 및/또는 얼굴 표정을 정확하게 검출하기기 어려울 수 있는 특징 또는 객체를 검출할 수 있다는 것이다. 본 개시내용의 목적상 카메라 및/또는 센서가 제대로 기능하지 않는 사용자는 "한계 사용자(marginal user)"로 기술된다. 이는 특정 특징의 측정값이 카메라 및/또는 센서가 최적으로 기능할 수 있는 범위 내에 있지 않기 때문이다. 예를 들어, 사용자가 착용하고 있는 안경의 눈부심으로 인해 동공 검출이 방해를 받을 수 있다. 일부 상황에서는 카메라 및/또는 센서의 프로세싱을 방해할 수 있는 또 다른 예가 사용자의 입꼬리 등을 가릴 수 있는 수염이다. 사용자가 프로그램에 의해 한계 사용자로 결정되면, 적절한 동공 검출 및 추적을 위해 프로그램은 심각한 눈부심을 유발하는 안경을 착용하고 있는 경우 기본 시선과 같은 디폴트에 의존할 수 있다.
본 개시내용은 적어도 2개의 알고리즘을 포함할 수 있는데, 하나는 눈 추적용이고 다른 하나는 얼굴 추적용이다. 아이박스는 눈 추적을 위한 더 나은 정렬을 만들기 위해 이동 가능할 수 있다. 눈 추적 시스템은 사용자의 눈 위치 및 배향(orientation)을 추적할 수 있다. 눈 위치 및 배향을 결정하기 위해, 일반적으로 적외선과 같은 비가시광으로 사용자의 눈을 조명하기 위한 조명기의 어레이와, 전자 디스플레이로부터의 가시광을 투과하면서 사용자의 눈과 얼굴의 안구 영역에 의해 산란된 적외선을 반사하는 핫 미러와, 동공 및 눈으로부터의 반짝임(glint)이라고도 불리는 조명기의 반사를 갖는 눈의 이미지를 검출하기 위한 카메라를 사용하여, 그렇게 할 수 있다. 여기서 "안구 영역(eye region)"이라는 용어는 안구를 포함한 얼굴 영역을 나타내며 눈썹, 콧대, 양쪽 눈의 바깥쪽 광대, 양쪽 눈 아래 광대뼈까지를 포함할 수 있다. 안구 영역은 안구 자체를 포함하며, 시선 추적(gaze tracking)에 특히 흥미로운 것은 각막, 홍채, 및 동공이다. 눈 추적 시스템은 눈 위치 및 시선 각도 결정에 대해 허용 가능한 수준의 정밀도와 충실도로 작동하도록 구성될 수 있다. 헤드셋 자체는 눈 추적 및/또는 얼굴 추적을 위한 더 나은 정렬을 만들기 위해 이동 가능할 수 있다.
본 개시내용의 방법은 사용자가 최적의 위치로 헤드셋을 조정하는 방법에 관한 지침을 보고 실행할 수 있는 효율성을 향상시킨다. 이는 5자유도 오프셋 및 피치 오프셋을 사용하기 때문에 가능할 수 있다. 따라서 사용자는 달리 가능한 경우보다 더 적은 수의 단계를 사용하여 배치를 고치도록 안내받을 수 있다. 목표는 가능한 한 사용자 불만을 최소화하면서 최단 시간 최상의 착용을 제공하는 것이다. 이를 수행하는 한 가지 방법은 헤드 마운티드 디바이스의 배치에 오차 마진을 허용하는 것이며 이것은 바운딩 박스로 표현될 수 있다. 바운딩 박스는 허용 가능한 DoF 범위(mm, 도, 또는 기타 측정 형식)를 나타낼 수 있다. 사용 사례에 따라 상이한 바운딩 박스 임계값이 채택될 수 있다. 일부 실시형태에서는 사용자에게 방해가 되는 것을 제한하기 위해 완벽한 핏이 필요하지 않을 수도 있다.
도 1은 VR/AR 디스플레이 시스템을 위한 예를 들어 헤드셋이라고도 알려진 헤드 마운티드 디바이스를 도시한다. HMD(100)는 AR/VR 환경에 대한 몰입도를 높이기 위해 사용자의 얼굴을 에워싸는 웨어러블 디스플레이 시스템의 일례이다. HMD(100)는 웨어러블 디스플레이 시스템의 일 실시형태이다. HMD(100)의 기능은 물리적, 실세계 환경의 뷰를 컴퓨터 생성 이미지로 증강시키고, 그리고/또는 완전히 가상적인 3D 이미지를 생성하는 것이다. HMD(100)는 전면 본체(102) 및 밴드(104)를 포함할 수 있다. 전면 본체(102)는 안정적이고 편안한 방식으로 사용자의 눈 앞에 배치되도록 구성되고, 밴드(104)는 사용자의 머리에 전면 본체(102)를 고정시키도록 늘어날 수 있다. 디스플레이 시스템(180)은 AR/VR 이미지를 사용자에게 제시하기 위해 전면 본체(102)에 배치될 수 있다. 전면 본체(102)에 장착되는 것은 AR/VR 프로그램과 연동하여 데이터를 캡처하고 표시하는 데 유용한 그리고/또는 필요한 HMD(100)의 컴포넌트일 수 있다. 전면 본체(102)의 측면(106)은 불투명하거나 투명할 수 있다.
일부 실시형태에서, 전면 본체(102)는 로케이터(108)와, HMD(100)의 가속도를 추적하기 위한 관성 측정 유닛(IMU)(110)과, HMD(100)의 위치를 추적하기 위한 위치 센서(112)를 포함한다. IMU(110)는 HMD(100)의 움직임에 응답하여 하나 이상의 측정 신호로부터 수신된 측정 신호에 기초해서 HMD(100)의 위치를 나타내는 데이터를 생성하는 전자 디바이스이다. 위치 센서(1040)의 예는 하나 이상의 가속도계, 하나 이상의 자이로스코프, 하나 이상의 자력계, 움직임을 검출하는 또 다른 적절한 유형의 센서, IMU(110)의 오류 정정에 사용되는 센서 유형, 또는 이들의 일부 조합을 포함한다. 위치 센서(112)는 IMU(110)의 외부, IMU(110)의 내부, 또는 이들의 일부 조합에 위치할 수 있다.
로케이터(108)가 가상 현실 시스템의 외부 이미징 디바이스에 의해 트레이싱되어, 가상 현실 시스템은 전체 HMD(100)의 위치 및 배향을 추적할 수 있다. IMU(110) 및 위치 센서(112)에 의해 생성된 정보는 HMD(100)의 위치 및 배향의 향상된 추적을 위해 로케이터(108)를 추적함으로써 획득된 위치 및 배향과 비교될 수 있다. 정확한 위치 및 배향은 사용자가 3D 공간에서 이동 및 선회할 때 사용자에게 적절한 가상 장면을 제시하기 위해 중요하다.
HMD(100)는 실시간으로 사용자의 눈의 배향 및 위치를 결정하기 위한 눈 추적 시스템(114)을 더 포함할 수 있다. 결정된 사용자의 눈 위치에 의해, HMD(100)는 도 4a 내지 도 4f에 추가로 도시하는 바와 같이, HMD(100)를 가장 효율적으로 조정하는 방법에 대해 사용자에게 부여하는 지침을 포함할 수 있는 설명한 (자체) 조정 절차를 수행할 수 있다. 또한, 획득된 사용자의 눈 위치 및 배향에 의해 HMD(100)는 사용자의 시선 방향을 결정하고 그에 따라 디스플레이 시스템(180)에 의해 생성된 이미지를 조정할 수 있다. 일 실형태에서, 버전스(vergence), 즉 사용자의 눈 시선의 수렴 각도가 결정된다. 결정된 시선 방향 및 버전스 각도는 또한 시야각 및 눈 위치에 따른 시각적 아티팩트의 실시간 보정에 사용될 수 있다. 또한, 결정된 버전스 및 시선 각도는 사용자와의 상호작용, 객체를 강조 표시하기, 객체를 전경으로 가져오기, 추가 객체 또는 포인터 생성 등에 사용될 수 있다. 또한, 예컨대 전면 본체(102)에 내장된 소형 스피커의 세트를 포함한 오디오 시스템도 제공될 수 있다.
HMD(100)는 눈 위치 및 배향을 추적하고, 시선 각도 및 수렴 각도 등을 결정하기 위한 눈 추적 시스템(114)과, 3D 공간에서 HMD(100)의 위치 및 배향을 결정하기 위한 IMU(110)와, 외부 환경을 캡처하기 위한 DCA(111)와, HMD(100)의 위치를 독립적으로 결정하기 위한 위치 센서(112)와, 사용자에게 AR/VR 콘텐츠를 표시하기 위한 디스플레이 시스템(180)을 포함할 수 있다. 디스플레이 시스템(180)은 전자 디스플레이를 포함할 수 있다. 이것은, 예를 들어 액정 디스플레이(LCD), 유기 발광 디스플레이(OLED), 무기 발광 디스플레이(ILED), 능동 매트릭스 유기 발광 다이오드(AMOLED) 디스플레이, 투명 유기 발광 다이오드(TOLED) 디스플레이, 프로젝터, 또는 이들의 조합일 수 있으나 이에 제한되지는 않는다. 디스플레이 시스템(180)은 전자 디스플레이(125)에 의해 생성된 이미지를 사용자의 눈에 전달하는 기능을 가진 광학계 블록(130)을 더 포함한다. 광학계 블록은 다양한 렌즈, 예를 들어 굴절 렌즈, 프레넬 렌즈, 회절 렌즈, 능동 또는 수동 판차라트남-베리 위상(PBP, Pancharatnam-Berry phase) 렌즈, 액체 렌즈, 액정 렌즈 등, 동공 복제 도파관, 부여 구조(granting structure), 코팅 등을 포함할 수 있다. 디스플레이 시스템(180)은 광학계 블록(130)의 일부일 수 있는 가변 초점 모듈(135)을 더 포함할 수 있다. 가변 초점 모듈(135)의 기능은 광학계 블록(130)의 초점을 조정하는 것인데, 예를 들어, 수렴-조절 불일치(vergence-accommodation conflict)를 보상하기, 특정 사용자의 시력 결함을 보정하기, 광학계 블록(130)의 수차를 상쇄하기 등을 위한 것이다.
HMD(100)는 사용자 얼굴의 특징 및 표정을 추적하기 위한 얼굴 추적 시스템을 더 포함할 수 있다. HMD(100)는 얼굴 데이터, 특히 사람 얼굴의 하단부로부터의 얼굴 데이터를 캡처하기 위한 카메라(120)를 포함할 수 있다. 이것은 예를 들어 피치 오프셋을 계산하거나 또/또는 더 근사한 소셜 프레즌스를 만들기 위해 사용되는 알고리즘에 대한 입력으로 사용될 수 있다.
I/O 인터페이스(115)는 사용자가 액션 요청을 전송하고 콘솔(190)로부터 응답을 수신할 수 있게 하는 디바이스이다. 액션 요청은 특정 액션을 수행하기 위한 요청이다. 예를 들어, 액션 요청은 이미지 또는 비디오 데이터의 캡처를 시작 또는 종료하는 명령어 또는 애플리케이션 내에서 특정 동작을 수행하는 명령어일 수 있다. I/O 인터페이스(115)는 키보드, 마우스, 게임 컨트롤러, 또는 액션 요청을 수신하고 액션 요청을 콘솔(190)로 전달하기 위한 기타 적합한 디바이스와 같은 하나 이상의 입력 디바이스를 포함할 수 있다. I/O 인터페이스(115)에 의해 수신되는 액션 요청은 콘솔(190)로 전달되고, 콘솔(190)은 액션 요청에 대응하는 액션을 수행한다. 일부 실시형태에서, I/O 인터페이스(115)는 I/O 인터페이스(115)의 초기 위치에 대한 I/O 인터페이스(115)의 추정 위치를 나타내는 교정 데이터를 캡처하는 IMU를 포함한다. 일부 실시형태에서, I/O 인터페이스(115)는 콘솔(190)로부터 수신되는 명령어에 따라 사용자에게 햅틱 피드백을 제공할 수 있다. 예를 들어, 햅틱 피드백은 액션 요청이 수신될 때 제공되거나, 콘솔(190)은 콘솔(190)이 액션을 수행할 때 I/O 인터페이스(115)가 햅틱 피드백을 생성하도록 I/O 인터페이스(115)에 명령어를 전달한다.
콘솔(190)은 IMU(110), DCA(111), 눈 추적 시스템(114), 및 I/O 인터페이스(115) 중, 하나 이상으로부터 수신된 정보에 따라 프로세싱하기 위한 콘덴츠를 HMD(100)에 제공할 수 있다. 일부 실시형태에서, 콘솔(190)은 애플리케이션 스토어(155), 추적 모듈(160), 및 프로세싱 모듈(165)을 포함한다. 콘솔(190)의 일부 실시형태는 이와 다른 상이한 모듈 또는 컴포넌트를 가질 수 있다. 마찬가지로, 후술하는 기능들은 도 1과 함께 설명된 것과는 상이한 방식으로 콘솔(190)의 컴포넌트들 사이에 분배될 수 있다.
애플리케이션 스토어(155)는 콘솔(190)에 의해 실행될 하나 이상의 애플리케이션을 저장할 수 있다. 애플리케이션은 프로세서에 의해 실행될 때, 사용자에게 제시할 콘텐츠를 생성하는 명령어 그룹이다. 애플리케이션에 의해 생성된 콘텐츠는 HMD(100) 또는 입출력 인터페이스(115)의 움직임을 통해 사용자로부터 수신된 입력에 대한 응답일 수 있다. 애플리케이션의 예는 게임 애플리케이션, 프레젠테이션 및 컨퍼런스 애플리케이션, 비디오 재생 애플리케이션, 또는 기타 적절한 애플리케이션을 포함한다.
추적 모듈(160)은 HMD(100) 또는 I/O 인터페이스(115), IMU(110) 또는 이들의 일부 조합의 움직임을 추적할 수 있다. 또한, 추적 모듈(160)은 하나 이상의 교정 파라미터를 사용하여 AR/VR 시스템(150)을 교정할 수 있으며, HMD(100) 또는 I/O 인터페이스(115)의 위치 결정의 오류를 줄이기 위해 하나 이상의 교정 파라미터를 조정할 수 있다. 추적 모듈(160)에 의해 수행되는 교정은 또한 HMD(100) 내의 IMU(110) 및/또는 I/O 인터페이스(115)에 포함된 IMU(있는 경우)로부터 수신된 정보도 고려한다. 또한, HMD(100)의 추적이 소실되면, 추적 모듈(160)은 AR/VR 시스템(150)의 일부 또는 전부를 재교정할 수 있다.
프로세싱 모듈(165)은 AR/VR 시스템(150) 내에서 애플리케이션을 실행하고, 추적 모듈(160)로부터 HMD(100)의 위치 정보, 가속도 정보, 속도 정보, 예측 미래 위치, 또는 이들의 일부 조합을 수신한다. 수신된 정보에 기초하여, 프로세싱 모듈(165)은 사용자에게 제시하기 위해 HMD(100)에 제공할 콘텐츠를 결정한다. 또한, 프로세싱 모듈(165)은 I/O 인터페이스(115)로부터 수신되는 액션 요청에 응답하여 콘솔(190) 상에서 실행중인 애플리케이션에서 액션을 수행하고, 액션이 수행되었다는 피드백을 사용자에게 제공한다. 제공되는 피드백은 HMD(100)를 통한 시각적 또는 청각적 피드백 또는 입출력 인터페이스(115)를 통한 촉각적 피드백일 수 있다.
도 2는 HMD 또는 헤드셋 착용 최적화 방법의 예를 도시한다. 방법은 시작 커맨드가 시작되는 단계 201에서 시작될 수 있다. 일 실시형태에서, 헤드셋 조정 착용을 시작하기 위해, 컴퓨터 시스템은 시작 커맨드를 발행한다. 이 시작 커맨드는 다양한 시점에서 그리고 다양한 트리거에 응답하여 발행될 수 있다. 예를 들어, 그것은 사용자가 헤드 마운티드 디바이스를 착용하자마자 또는 사용자가 특정 애플리케이션을 시동할 때 시작될 수 있다. 일부 실시형태에서 교정은 연속적일 수 있다. 구체적으로, 일 실시형태에서 헤드셋 조정은 시스템 셋업 시에 시동될 수 있다. 이는 사용자가 헤드셋을 처음 경험할 때 헤드셋을 제대로 착용했는지 확인하고 사용자에게 헤드셋이 어떻게 느껴져야 하는지에 대한 느낌을 또한 제공할 수 있다. 이것은 각 세션의 시작시 발생할 수 있으므로, 매 세션마다 헤드셋이 제대로 착용되었는지 확인할 수 있다. 또 다른 실시형태는 소셜 프레즌스 또는 GFR 지원 앱, 또는 눈 추적(ET)에 의존하는 다른 앱을 처음 실행할 때 시동될 수 있다. 이것은 사용자가 명시적으로 소셜 프레즌스, GFR, 또는 ET에 의존하는 다른 앱의 사용을 명시적으로 선택하지 않을 때 발생한다는 이점이 있을 수 있다. 이로 인한 잠재적 이점은 이미 프로세스가 길어질 수 있는 시스템 셋업 프로세스에 추가 단계를 추가하지 않는다는 것일 수 있다. 일부 실시형태에서, 사용자가 헤드셋 조정을 수행하는 것에 동의하므로, 시스템 셋업시 헤드셋 조정을 시동시키면, 초기 셋업중에 추가 프롬프트를 추가할 수 있으며, 조정 기간을 실제로 그 착용을 활용할 앱으로부터 분리시킴으로써, 사용자가 헤드셋 조정의 추가로 얻는 이점을 이해할 가능성이 낮아진다. 앱을 시작할 때 헤드셋 조정을 시동하면 이러한 분리가 줄어들고 사용자에게 이점이 더욱 명확해지고 사용자가 이를 활용할 가능성이 높아진다. 또 다른 선택적 실시형태는 소셜 프레즌스 또는 GFR 지원 앱이 실행되는 동안에 지속적인 모니터링을 포함한다. 이 시나리오에서 헤드셋 조정은 소셜 프레즌스/GFR 앱이 활발하게 실행될 때마다 백그라운드에서 조용히 실행된다. 사용자를 방해하는 임계값이 높아져 성가심을 최소화할 수 있다. 이렇게 하면 기능이 항상 최적으로 실행된다는 장점이 있다. GFR 지원 앱의 경우, 일부 실시형태에서는 눈 추적 모니터링만으로 충분할 수 있다.
하나 이상의 카메라 및/또는 하나 이상의 센서는 눈 및/또는 사용자 얼굴의 나머지 부분의 위치 및 세부 정보를 캡처하기 위한 위치에 배치될 수 있다. 단계 210에서, 카메라 및/또는 센서는 눈 위치 및 움직임을 포착하는 데 사용될 수 있고 눈 추적 서비스(215)의 일부로 사용될 프로그램과 연동될 수 있다. 눈 추적 서비스(215)는 적어도 ML 동공 추정기(212) 및 6DoF 추정기(214)를 포함할 수 있다. ML 동공 추정기(212)는 왼쪽 및/또는 오른쪽 눈 동공 좌표를 3차원(예컨대, x, y, z [mm])으로 출력할 수 있다. 6DoF 추정기(214)는 각 자유도마다 추정 델타 또는 변화를 출력할 수 있다. 즉, 왼쪽 눈 및/또는 오른쪽 눈의 3D 좌표에 기초하여, 프로그램은 현재 헤드셋 착용 대 공칭 위치를 추정하고 이들 2개 값으로부터 델타를 구한다. 눈 추적 서비스(215)는 사용자 눈의 배향 및 위치를 실시간으로 결정하는 데 사용될 수 있다. 눈 추적 서비스(215)에 의해 획득된 눈의 위치 및 배향에 의해 프로그램은 사용자의 시선 및 방향을 결정하고 그에 따라 디스플레이 시스템에 의해 생성된 이미지를 조정할 수 있다. 일 실형태에서, 버전스, 즉 사용자의 눈 시선의 수렴 각도가 시스템에 의해 결정된다. 결정된 시선 방향 및 버전스 각도(vergence angle)는 또한 시야각 및 눈 위치에 따라 시각적 아티팩트의 실시간 보정을 위해 사용될 수 있다. 또한, 결정된 버전스 및 시선 각도는 사용자와의 상호작용, 객체를 강조 표시하기, 객체를 전경으로 가져오기, 추가 객체 또는 포인터 생성 등에 사용될 수 있다. 또한, 예컨대 전면 본체에 내장된 소형 스피커의 세트를 포함한 오디오 시스템도 제공될 수 있다.
눈 추적 서비스(215)를 실행하는 프로그램의 동작에 앞서, 이후에, 또는 동시에, 프로그램은 얼굴 추적 서비스(225)를 연동시킬 수 있다. 단계 220에서, 카메라 및/또는 센서는 얼굴의 랜드마크와 같은 사용자의 얼굴과 관련된 데이터를 캡처하는 데 사용될 수 있다. 얼굴 추적 서비스(225)는 적어도 랜드마크 검출기(222) 및 피치 추정기(224)를 포함할 수 있다. 랜드마크 검출기(222)는 'n' 점의 얼굴 랜드마크를 출력할 수 있다. 즉, 프로그램은 얼굴의 하단부에서의 랜드마크 검출을 수행할 수 있다. 이 단계에서의 랜드마크 검출은 랜드마크가 카메라에 보이도록 카메라가 배치되어 있는지 여부를 결정할 수 있다. 일 실시형태에서, 포커스는 랜드마크를 얼굴 모델에 적응시키는 것보다는 시인성(visibility)에 둔다. 이 목적은 가상 환경에서 사용자를 표현하기 위해 작성된 아바타가 얼굴 표정을 정확하게 모방할 수 있도록 하기 위한 것일 수 있다. 피치 추정기(224)는 추정 피치 오프셋을 출력할 수 있다. 피치 오프셋은 공칭 위치에 대한 헤드셋의 피치를 추정하고 둘 사이의 차이를 계산함으로써 계산될 수 있다. 눈 추적 서비스(215) 및 얼굴 추적 서비스(225) 중 하나 또는 둘 모두에 의해 프로세싱되는 데이터는 수집된 데이터 또는 머신 러닝 알고리즘으로부터 결정될 수 있는 상황별 허용오차로 프로그래밍된 헤드셋 조정 안내 컴퓨터(230)에 의해 수신될 수 있다. 일부 실시형태에서, 헤드셋 조정 안내 컴퓨터(230)는 적어도 눈 추적 서비스(215) 및 얼굴 추적 서비스(225)로부터 획득된 데이터 및 상황별 허용오차를 사용하여 HMD(100)의 핏을 교정하는 데 필요한 방향 및 크기(235)에 대한 커맨드를 생성한다. 헤드셋 조정 안내 컴퓨터는 각 서비스로부터의 출력을 7DoF 추정치로 조합한다. 컴퓨터는 현재 위치를 기반으로 사용자에게 제공할 최상의 지침과 행해져야 할 보정의 방향 및 크기를 결정한다. 방향 및 크기에 관한 커맨드(235)는 사용자의 머리 상의 최적 위치에 있도록 HMD(100)를 조정하는 데 필요한 방향 및 크기에 대한 지침을 포함한다. 그런 다음, 방향 및 크기에 관한 커맨드(235)는 사용자 경험(240)의 일부로서 사용자에게 제시된다. (방향 및 크기에 관한 커맨드(235)의 형태로) 사용자에게 지침이 제시된 후, 사용자는 HMD(100)의 핏에 대해 조정을 수행할 수 있다. 단계 250에서, 프로세스가 반복되고, 눈 추적 서비스(215) 및 얼굴 추적 서비스(225)를 실행하는 프로그램에 의해 검출된 변동이 상황별 허용오차에 기초하여 지정된 임계치 아래로 떨어질 때까지 계속 반복된다. 특정 실시형태는 적절하다면, 도 2의 방법의 하나 이상의 단계를 반복할 수 있다. 본 개시내용이 특정 순서로 발생하는 것으로서 도 2의 방법의 특정 단계를 설명하고 예시하지만, 본 개시내용은 임의의 적합한 순서로 발생하는 도 2의 방법의 임의의 적합한 단계를 고려한다. 더욱이, 본 개시내용은 도 2의 방법의 특정 단계를 포함하는 헤드셋 착용 최적화 방법의 일례를 설명하고 예시하지만, 본 개시내용은 적절하다면 도 2의 방법의 단계 모두, 일부를 포함하거나 전혀 포함하지 않을 수 있는, 임의의 적절한 단계를 포함하는 헤드셋 착용 최적화를 위한 임의의 적절한 방법을 고려한다. 또한, 본 개시내용은 도 2의 방법의 특정 단계를 수행하는 특정 컴포넌트, 디바이스 또는 시스템을 설명하고 예시하지만, 본 개시내용은 도 2의 방법의 임의의 적절한 단계를 수행하는 임의의 적절한 컴포넌트, 디바이스 또는 시스템의 임의의 적절한 조합을 고려한다.
도 3은 컴퓨터를 사용하여 헤드셋의 착용을 최적화하는 예시적인 방법을 도시한다. 단계 301에서 프로그램은 사용자가 디바이스를 착용했음을 검출한다. 단계 302에서 헤드셋 조정(Headset Adjustment)(예시 프로그램)이 시작되거나 설정 판독을 시작한다. 단계 303에서 헤드셋 조정은 백그라운드 모니터링을 수행한다. 단계 303은 단계 320에서 컴퓨터 프로그램이 불량 핏을 검출할 때까지 계속된다. 동일 실시형태 또는 또 다른 실시형태에서, 헤드셋 조정은 각 DoF마다 알고리즘을 실행하고 각각이 특정 파러미터를 통과할지 또는 실패할지 결정한다. DoF가 허용 범위 내에 있거나 통과하는 경우, 컴퓨터는 정지 커맨드를 발행할 수 있다. 그런 다음 단계 321에서 시스템은 얼굴 추적과 눈 추적의 한계 여부를 결정한다. 이는 사용자의 얼굴에, 어떤 이유로든 사용자의 하나 이상의 특징을 검출하기 어렵기 때문에 최적화 알고리즘이 부정확해질 가능성이 있는 특징이 있다는 것을 의미한다. 예를 들어, 사용자는 눈 추적 시스템이 사용자의 동공을 제대로 추적하지 못하도록 광을 반사시키는 안경을 착용하고 있을 수 있다. 눈 추적 프로그램이 최적으로 작동할 수 없기 때문에 사용자가 한계 사용자라고 프로그램이 결정하면 시스템은 프로그램의 나머지를 실행하는 것이 아니라 디폴트 설정으로 전환할 수 있다. 추가로 또는 대안으로 사용자의 얼굴 특징이 카메라 또는 디바이스 센서의 범위를 벗어날 수도 있다. 예를 들어, 카메라 및/또는 센서가 사용자 얼굴의 특징을 적절하게 감지할 수 없다고 얼굴 추적기가 결정하면, 프로그램은 립싱크(lip-sync) 디폴트 모드를 구현하도록 트리거될 수 있다. 얼굴 추적 및 눈 추적이 한계에 도달하면, 단계 322에서 해당 세션 동안 헤드셋 조정이 비활성화되고 단계 324에서 프로세스가 종료되며 적절한 디폴트가 설정될 수 있다. 얼굴 추적과 눈 추적 중 하나 또는 둘 다가 한계에 도달하지 않은 경우, 단계 323에서 프로그램은 현재 핏이 허용 핏보다 양호한지 결정한다. 현재 핏이 허용 핏보다 양호한 경우 단계 328에서 헤드셋 조정이 억제되고 단계 340에서 프로세스가 종료된다. 그러나 현재 핏이 허용 핏보다 양호하다고 결정되지 않으면, 단계 325에서 프로그램은 헤드셋 조정이 억제될지 여부를 결정하는데, 억제는 설정에서 사용자에 의해 또는 더 이상의 최적화가 효율적이지 않고/않거나 불가능하다는 이전의 결정에 의해 행해졌을 수 있다. 헤드셋 조정이 억제되면 단계 324에서 프로세스가 종료된다. 헤드셋 조정이 억제되지 않은 경우, 단계 326에서 프로그램은 헤드셋 조정 사용자 인터페이스(UI) 환경을 시작한다. 그런 다음 단계 327에서 프로그램은 사용자가 프로그램을 종료했는지 결정한다. 대답이 yes인 경우 단계 328에서 프로그램은 헤드셋 조정을 억제하고 단계 340에서 프로세스가 종료된다. 그러나 대답이 no인 경우 단계 329에서 프로그램은 사용자의 얼굴에 대해 핏이 허용 가능한지 여부를 결정한다. 대답이 no인 경우 단계 332에서 세션에 "FT 한계"가 표시되는데 이것은 얼굴 추적에 한계가 있음을 의미하며, 단계 334에서 얼굴 추적에 대한 차선책 옵션을 제공하는 디폴트 설정, 예컨대 립싱크로 폴백하도록 얼굴 추적 프로그램과 통신이 이루어진다. 단계 334 이후 또는 단계 329에서 사용자의 얼굴에 대해 핏이 허용 가능하다고 프로그램이 결정하면, 단계 330에서 최종 허용 얼굴 핏이 저장된다. 그런 다음 단계 329에서 사용자의 얼굴에 대해 핏이 허용 가능한지 여부가 결정되기 전 또는 후에 단계 315에서 프로그램은 사용자의 눈에 대해 핏이 허용 가능한지 여부를 결정한다. 대답이 no인 경우 단계 312에서 세션에 "ET 한계"가 표시되는데 이것은 눈 추적에 한계가 있음을 의미하며, 단계 314에서 눈 추적에 대한 차선책 옵션을 제공하는 디폴트 설정으로 폴백하도록 눈 추적과 통신이 이루어진다. 단계 314 이후 또는 단계 315에서 사용자의 눈에 대해 핏이 허용 가능하다고 결정되면, 프로그램은 단계 310에서 최종 허용 눈을 저장한다. 최종 허용 얼굴 핏과 최종 허용 눈 핏 중 하나 또는 둘 다 저장된 후, 프로그램은 헤드셋 조정 백그라운드 모니터링으로 리턴한다.
일부 실시형태에서, 프로그램은 사용자가 설정에서 이것을 결정한 경우처럼 디바이스의 초기화시에만 실행될 수 있다. 특정 실시형태는 적절하다면, 도 3의 방법의 하나 이상의 단계를 반복할 수 있다. 본 개시내용이 특정 순서로 발생하는 것으로서 도 3의 방법의 특정 단계를 설명하고 예시하지만, 본 개시내용은 임의의 적합한 순서로 발생하는 도 3의 방법의 임의의 적합한 단계를 고려한다. 더욱이, 본 개시내용은 도 3의 방법의 특정 단계를 포함하는 헤드셋 핏을 최적화하기 위한 예시적인 방법을 설명하고 예시하지만, 본 개시내용은 적절하다면 도 3의 방법의 단계 모두, 일부를 포함하거나 전혀 포함하지 않을 수 있는, 임의의 적절한 단계를 포함하는 헤드셋 착용 최적화를 위한 임의의 적절한 방법을 고려한다. 또한, 본 개시내용은 도 3의 방법의 특정 단계를 수행하는 특정 컴포넌트, 디바이스 또는 시스템을 설명하고 예시하지만, 본 개시내용은 도 3의 방법의 임의의 적절한 단계를 수행하는 임의의 적절한 컴포넌트, 디바이스 또는 시스템의 임의의 적절한 조합을 고려한다.
도 4a 내지 도 4f는 이 방법의 일부로서 사용될 수 있는 다양한 유형의 착용 안내에 대해 프로그램이 구현할 수 있는 지침을 도시한다. 예를 들어, 도 4a에 예시하는 바와 같이, 하나의 지침 세트는 사용자에게 오른쪽 및 왼쪽 렌즈를 더 가깝게 또는 더 멀리 이동시켜 축간 거리(IAD)를 조정할 것을 지시할 수 있다. 도 4b에 예시하는 바와 같이 또 다른 지침 세트는 사용자에게 아이릴리프를 안쪽 또는 바깥쪽으로 조정할 것을 지시할 수 있다. 도 4c에 예시하는 바와 같이, 또 다른 지침 세트는 사용자에게 헤드셋 롤을 조정하거나 시계 방향 또는 시계 반대 방향으로 회전하여 비뚤어진 헤드셋을 고칠 것을 지시할 수 있다. 도 4d에 예시하는 바와 같이, 또 다른 지침 세트는 사용자에게 헤드셋을 위 또는 아래로 회전시켜 헤드셋 피치를 조정할 것을 지시할 수 있다. 도 4e에 예시하는 같이, 또 다른 지침 세트는 사용자에게 헤드셋을 위 또는 아래로 조정하도록 지시할 수 있는 반면, 도 4f에 예시하는 바와 같이 또 다른 것은 사용자에게 헤드셋을 왼쪽 또는 오른쪽으로 조정할 것을 지시할 수도 있다. 지침의 특정 조합 및 순서는 헤드셋의 배치를 고치기 위한 가장 효율적인 작업의 조합이라고 프로그램이 결정한 것에 따라 달라질 것이다.
일부 실시형태에서, 헤드셋 조정을 위한 시각적 단서는 최적의 위치에 대한 양쪽 눈의 위치를 보여주는 타겟 이미지를 포함할 수 있다. 예를 들어, 표시된 이미지는 현재 사용자의 눈의 위치 및 IPD에 대응하는 생성된 타겟 위치, 및 각각의 오프셋에 의해 타겟 위치와 분리되어 생성된 현재 아이박스 위치를 포함할 수 있다. 사용자는 제1 현재 아이박스 위치를 대응하는 제1 타겟 위치에 일치시키고 제2 현재 아이박스 위치를 대응하는 제2 타겟 위치에 일치시킴으로써, 헤드셋 본체 위치와 디스플레이 모듈 사이의 거리를 조정하여 오프셋을 줄일 수 있다. 일부 실시형태에서, 디스플레이 모듈은 사용자가 전자 디스플레이를 보면서 헤드셋에 위치한 다이얼을 돌리는 등의 방법으로 이동할 수 있는 병진이동 스테이지 상에 배치될 수 있다. 사용자는 현재 아이박스 위치들 사이의 거리가 타겟 위치들 사이의 거리와 일치할 때까지 다이얼을 돌릴 수 있다. 그런 다음 사용자는 헤드셋을 왼쪽에서 오른쪽으로 조정하여 두 현재 위치를 대응하는 타겟 위치에 중첩시켜서 오프셋을 0으로 줄일 수 있다. 이 조정 순서를 반대로 할 수도 있는데, 즉, 왼쪽에서 오른쪽으로 조정하는 것이 먼저 수행될 수 있다. 양쪽 조정을 교대로 반복 수행할 수도 있다.
시스템 및 방법
도 5는 예시적인 컴퓨터 시스템(500)을 도시한다. 특정 실시형태에서, 하나 이상의 컴퓨터 시스템(500)은 본 명세서에서 설명하거나 예시한 하나 이상의 방법의 하나 이상의 단계를 수행한다. 특정 실시형태에서, 하나 이상의 컴퓨터 시스템(500)은 본 명세서에서 설명하거나 예시한 기능을 제공한다. 특정 실시형태에서, 하나 이상의 컴퓨터 시스템(500)에서 실행되는 소프트웨어는 본 명세서에서 설명하거나 예시한 하나 이상의 방법의 하나 이상의 단계를 수행하거나 본 명세서에서 설명하거나 예시한 기능을 제공한다. 특정 실시형태는 하나 이상의 컴퓨터 시스템(500)의 하나 이상의 부분을 포함한다. 본 명세서에서, 컴퓨터 시스템에 대한 언급은 컴퓨팅 디바이스를 포함할 수 있으며, 적절한 경우 그 반대도 마찬가지이다. 더욱이, 컴퓨터 시스템에 대한 언급은 적절한 경우 하나 이상의 컴퓨터 시스템을 포함할 수 있다.
본 개시내용은 임의의 적절한 수의 컴퓨터 시스템(500)을 고려한다. 본 개시내용은 임의의 적절한 물리적 형태를 취하는 컴퓨터 시스템(500)을 고려한다. 제한이 아닌 예로서, 컴퓨터 시스템(500)은 임베디드 컴퓨터 시스템, 시스템 온 칩(SOC), 단일 보드 컴퓨터 시스템(SBC)(예를 들어, 컴퓨터 온 모듈(COM) 또는 시스템 온 모듈(SOM)), 데스크톱 컴퓨터 시스템, 랩톱 또는 노트북 컴퓨터 시스템, 대화형 키오스크, 메인프레임, 컴퓨터 시스템 메쉬, 이동 전화, 개인 휴대 정보 단말기(PDA), 서버, 태블릿 컴퓨터 시스템, 증강/가상 현실 디바이스, 또는 이들 중 둘 이상의 조합일 수 있다. 적절한 경우, 컴퓨터 시스템(500)은 하나 이상의 컴퓨터 시스템(500)을 포함할 수 있거나; 단일형 또는 분산형일 수 있거나; 여러 위치에 걸쳐 있거나; 여러 기계에 걸쳐 있거나; 여러 데이터 센터에 걸쳐 있거나; 하나 이상의 네트워크의 하나 이상의 클라우드 컴포넌트를 포함할 수 있는 클라우드에 상주할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템(500)은 본 명세서에서 설명하거나 예시한 하나 이상의 방법의 하나 이상의 단계를 실질적인 공간적 또는 시간적 제한 없이 수행할 수 있다. 제한적이지 않은 예로서, 하나 이상의 컴퓨터 시스템(500)은 본 명세서에서 설명하거나 예시한 하나 이상의 방법의 하나 이상의 단계를 실시간으로 또는 배치 모드에서 수행할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템(500)은 본 명세서에서 설명하거나 예시한 하나 이상의 방법의 하나 이상의 단계를 상이한 시간에 또는 상이한 위치에서 수행할 수 있다.
특정 실시형태에서, 컴퓨터 시스템(500)은 프로세서(502), 메모리(504), 스토리지(506), 입출력(I/O) 인터페이스(508), 통신 인터페이스(510), 및 버스(512)를 포함한다. 본 개시내용이 특정 배열에서 특정 수의 특정 컴포넌트를 갖는 특정 컴퓨터 시스템을 설명하고 예시하지만, 본 개시내용은 임의의 적절한 배열에서 임의의 적절한 수의 임의의 적절한 컴포넌트를 갖는 임의의 적절한 컴퓨터 시스템을 고려한다.
특정 실시형태에서, 프로세서(502)는 컴퓨터 프로그램을 구성하는 것과 같은 명령어를 실행하기 위한 하드웨어를 포함한다. 제한적이지 않은 예로서, 명령어를 실행하기 위해, 프로세서(502)는 내부 레지스터, 내부 캐시, 메모리(504), 또는 스토리지(506)로부터 명령어를 리트리빙(또는 페치)하고; 그것들을 디코딩 및 실행하며; 그런 다음 하나 이상의 결과를 내부 레지스터, 내부 캐시, 메모리(504), 또는 스토리지(506)에 기록할 수 있다. 특정 실시형태에서, 프로세서(502)는 데이터, 명령어 또는 주소를 위한 하나 이상의 내부 캐시를 포함할 수 있다. 적절한 경우, 본 개시내용은 임의의 적절한 수의 임의의 적절한 내부 캐시를 포함하는 프로세서(502)를 고려한다. 제한적이지 않은 예로서, 프로세서(502)는 하나 이상의 명령어 캐시, 하나 이상의 데이터 캐시, 및 하나 이상의 변환 색인 버퍼(translation lookaside buffer; TLB)를 포함할 수 있다. 명령어 캐시의 명령어는 메모리(504) 또는 스토리지(506)의 명령어 복사본일 수 있으며, 명령어 캐시는 프로세서(502)에 의한 이러한 명령어의 리트리빙 속도를 높일 수 있다. 데이터 캐시의 데이터는 프로세서(502)에서 실행되는 명령어에 대한 메모리(504) 또는 스토리지(506)의 데이터 복사본; 프로세서(502)에서 실행되는 후속 명령어에 의해 액세스되거나 메모리(504) 또는 스토리지(506)에 기록할, 프로세서(502)에서 실행된 이전 명령어의 결과; 또는 기타 적절한 데이터일 수 있다. 데이터 캐시는 프로세서(502)에 의한 판독 또는 기록 동작의 속도를 높일 수 있다. TLB는 프로세서(502)에 대한 가상 어드레스 변환의 속도를 높일 수 있다. 특정 실시형태에서, 프로세서(502)는 데이터, 명령어 또는 주소를 위한 하나 이상의 내부 레지스터를 포함할 수 있다. 적절한 경우, 본 개시내용은 임의의 적절한 수의 임의의 적절한 내부 레지스터를 포함하는 프로세서(502)를 고려한다. 적절한 경우, 프로세서(502)는 하나 이상의 산술 논리 유닛(Arithmetic Logic Unit; ALU)을 포함할 수 있고; 멀티 코어 프로세서일 수 있으며; 또는 하나 이상의 프로세서(502)를 포함할 수 있다. 본 개시내용이 특정 프로세서를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 프로세서를 고려한다.
특정 실시형태에서, 메모리(504)는 프로세서(502)가 실행하기 위한 명령어 또는 프로세서(502)가 동작하기 위한 데이터를 저장하기 위한 메인 메모리를 포함한다. 제한적이지 않은 예로서, 컴퓨터 시스템(500)은 스토리지(506) 또는 다른 소스(예를 들어, 다른 컴퓨터 시스템(500))로부터 메모리(504)로 명령어를 로드할 수 있다. 그런 다음, 프로세서(502)는 메모리(504)로부터 내부 레지스터 또는 내부 캐시로 명령어를 로드할 수 있다. 명령어를 실행하기 위해, 프로세서(502)는 내부 레지스터 또는 내부 캐시로부터 명령어를 리트리빙하고 그것들을 디코딩할 수 있다. 명령어의 실행 동안 또는 실행 후, 프로세서(502)는 내부 레지스터 또는 내부 캐시에 하나 이상의 결과(중간 또는 최종 결과일 수 있음)를 기록할 수 있다. 그런 다음, 프로세서(502)는 그 결과 중 하나 이상을 메모리(504)에 기록할 수 있다. 특정 실시형태에서, 프로세서(502)는 하나 이상의 내부 레지스터 또는 내부 캐시 또는 메모리(504)(스토리지(506) 또는 다른 장소와는 대조적으로)의 명령어만을 실행하고, 하나 이상의 내부 레지스터 또는 내부 캐시 또는 메모리(504)(스토리지(506) 또는 다른 장소와는 대조적으로)의 데이터에 대해서만 동작한다. 하나 이상의 메모리 버스(각각 주소 버스 및 데이터 버스를 포함할 수 있음)가 프로세서(502)를 메모리(504)에 결합할 수 있다. 버스(512)는 아래에서 설명되는 바와 같이 하나 이상의 메모리 버스를 포함할 수 있다. 특정 실시형태에서, 하나 이상의 메모리 관리 유닛(Memory Management Unit; MMU)이 프로세서(502)와 메모리(504) 사이에 상주하고 프로세서(502)에 의해 요청된 메모리(504)에 대한 액세스를 용이하게 한다. 특정 실시형태에서, 메모리(504)는 랜덤 액세스 메모리(Random Access Memory; RAM)를 포함한다. 적절한 경우, 이 RAM은 휘발성 메모리일 수 있다. 적절한 경우, 이 RAM은 동적 RAM(DRAM) 또는 정적 RAM(SRAM)일 수 있다. 더욱이, 적절한 경우, 이 RAM은 단일 포트 또는 다중 포트 RAM일 수 있다. 본 개시내용은 임의의 적절한 RAM을 고려한다. 적절한 경우, 메모리(504)는 하나 이상의 메모리(504)를 포함할 수 있다. 본 개시내용이 특정 메모리를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 메모리를 고려한다.
특정 실시형태에서, 스토리지(506)는 데이터 또는 명령어를 위한 대용량 소토리지를 포함한다. 제한적이지 않은 예로서, 스토리지(506)는 하드 디스크 드라이브(Hard Disk Drive; HDD), 플로피 디스크 드라이브, 플래시 메모리, 광 디스크, 광자기 디스크, 자기 테이프, 또는 범용 직렬 버스(Universal Serial Bus; USB) 드라이브 또는 이들 중 둘 이상의 조합을 포함할 수 있다. 적절한 경우, 스토리지(506)는 착탈식 또는 비착탈식(또는 고정식) 매체를 포함할 수 있다. 적절한 경우, 스토리지(506)는 컴퓨터 시스템(500)의 내부 또는 외부에 있을 수 있다. 특정 실시형태에서, 스토리지(506)는 비휘발성, 솔리드 스테이트 메모리이다. 특정 실시형태에서, 스토리지(506)는 판독 전용 메모리(Read-Only Memory; ROM)를 포함한다. 적절한 경우, 이 ROM은 마스크 프로그래밍 ROM, 프로그램 가능 ROM(PROM), 소거 가능 PROM(EPROM), 전기적 소거 가능 PROM(EEPROM), 전기적 변경 가능 ROM(EAROM) 또는 플래시 메모리 또는 이들 중 둘 이상의 조합일 수 있다. 본 개시내용은 임의의 적절한 물리적 형태를 취하는 대용량 스토리지(506)를 고려한다. 적절한 경우, 스토리지(506)는 프로세서(502)와 스토리지(506) 사이의 통신을 용이하게 하는 하나 이상의 스토리지 제어 유닛을 포함할 수 있다. 적절한 경우, 스토리지(506)는 하나 이상의 스토리지(506)를 포함할 수 있다. 본 개시내용이 특정 스토리지를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 스토리지를 고려한다.
특정 실시형태에서, I/O 인터페이스(508)는 컴퓨터 시스템(500)과 하나 이상의 I/O 디바이스 사이의 통신을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 적절한 경우, 컴퓨터 시스템(500)은 이러한 I/O 디바이스 중 하나 이상을 포함할 수 있다. 이러한 I/O 디바이스 중 하나 이상은 사람과 컴퓨터 시스템(500) 사이의 통신을 가능하게 할 수 있다. 제한적이지 않은 예로서, I/O 디바이스는 키보드, 키패드, 마이크, 모니터, 마우스, 프린터, 스캐너, 스피커, 스틸 카메라, 스타일러스, 태블릿, 터치 스크린, 트랙볼, 비디오 카메라, 다른 적절한 I/O 디바이스 또는 이들 중 둘 이상의 조합을 포함할 수 있다. I/O 디바이스는 하나 이상의 센서를 포함할 수 있다. 본 개시내용은 임의의 적절한 I/O 디바이스 및 이들을 위한 임의의 적절한 I/O 인터페이스(508)를 고려한다. 적절한 경우, I/O 인터페이스(508)는 프로세서(502)가 이러한 I/O 디바이스 중 하나 이상을 구동할 수 있게 하는 하나 이상의 디바이스 또는 소프트웨어 드라이버를 포함할 수 있다. 적절한 경우, I/O 인터페이스(508)는 하나 이상의 I/O 인터페이스(508)를 포함할 수 있다. 본 개시내용이 특정 I/O 인터페이스를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 I/O 인터페이스를 고려한다.
특정 실시형태에서, 통신 인터페이스(510)는 컴퓨터 시스템(500)과 하나 이상의 다른 컴퓨터 시스템(500) 또는 하나 이상의 네트워크 사이의 통신(예를 들어, 패킷 기반 통신)을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 제한적이지 않은 예로서, 통신 인터페이스(510)는 이더넷 또는 다른 유선 기반 네트워크와 통신하기 위한 네트워크 인터페이스 컨트롤러(Network Interface Controller; NIC) 또는 네트워크 어댑터, 또는 WI-FI 네트워크와 같은 무선 네트워크와 통신하기 위한 무선 NIC(WNIC) 또는 무선 어댑터를 포함할 수 있다. 본 개시내용은 임의의 적절한 네트워크 및 이에 대한 임의의 적절한 통신 인터페이스(510)를 고려한다. 제한적이지 않은 예로서, 컴퓨터 시스템(500)은 애드혹 네트워크, 개인 통신망(Personal Area Network; PAN), 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 도시권 통신망(Metropolitan Area Network; MAN), 또는 인터넷의 하나 이상의 부분 또는 이들 중 둘 이상의 조합과 통신할 수 있다. 하나 이상의 이러한 네트워크의 하나 이상의 부분은 유선 또는 무선일 수 있다. 예를 들어, 컴퓨터 시스템(500)은 무선 PAN(WPAN)(예를 들어, BLUETOOTH WPAN), WI-FI 네트워크, WI-MAX 네트워크, 셀룰러 전화 네트워크(예를 들어, GSM(Global System for Mobile Communications) 네트워크), 또는 다른 적절한 무선 네트워크 또는 이들 중 둘 이상의 조합과 통신할 수 있다. 적절한 경우, 컴퓨터 시스템(500)은 이들 네트워크 중 임의의 것에 대한 임의의 적절한 통신 인터페이스(510)를 포함할 수 있다. 적절한 경우, 통신 인터페이스(510)는 하나 이상의 통신 인터페이스(510)를 포함할 수 있다. 본 개시내용이 특정 통신 인터페이스를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 통신 인터페이스를 고려한다.
특정 실시형태에서, 버스(512)는 컴퓨터 시스템(500)의 컴포넌트를 서로 결합하는 하드웨어, 소프트웨어, 또는 양자 모두를 포함한다. 제한이 아닌 예로서, 버스(512)는 AGP(Accelerated Graphics Port) 또는 다른 그래픽 버스, EISA(Enhanced Industry Standard Architecture) 버스, FSB(Front-Side Bus), HT(HYPERTRANSPORT) 인터커넥트, ISA(Industry Standard Architecture) 버스, INFINIBAND 인터커넥트, LPC(Low-Pin-Count) 버스, 메모리 버스, MCA(Micro Channel Architecture) 버스, PCI(Peripheral Component Interconnect) 버스, PCIe(PCI-Express) 버스, SATA(Serial Advanced Technology Attachment) 버스, VESA(Video Electronics Standards Association) 로컬 버스 또는 다른 적절한 버스 또는 이들 중 둘 이상의 조합을 포함할 수 있다. 적절한 경우, 버스(512)는 하나 이상의 버스(512)를 포함할 수 있다. 본 개시내용이 특정 버스를 설명하고 예시하지만, 본 개시내용은 임의의 적절한 버스 또는 인터커넥트를 고려한다.
본 명세서에서, 컴퓨터 판독 가능 비일시적 저장 매체 또는 매체들은 적절한 경우 하나 이상의 반도체 기반 또는 기타 집적 회로(IC)(예를 들어, FPGA(field-programmable gate array) 또는 ASIC(application-specific IC)), 하드 디스크 드라이브(HDD), 하이브리드 하드 드라이브(HHD), 광 디스크, 광 디스크 드라이브(ODD), 광자기 디스크, 광자기 드라이브, 플로피 디스켓, 플로피 디스크 드라이브(FDD), 자기 테이프, 솔리드 스테이트 드라이브(SSD), RAM 드라이브, SECURE DIGITAL 카드 또는 드라이브, 임의의 다른 적절한 컴퓨터 판독 가능 비일시적 저장 매체, 또는 이들 중 둘 이상의 임의의 적절한 조합을 포함할 수 있다. 적절한 경우, 컴퓨터 판독 가능 비일시적 저장 매체는 휘발성, 비휘발성 또는 휘발성과 비휘발성의 조합일 수 있다.
본 명세서에서, "또는"은 명시적으로 달리 표시되거나 문맥에 따라 달리 표시되지 않는 한 포괄적이며 배타적이지 않다. 따라서, 본 명세서에서, "A 또는 B"는 명시적으로 달리 표시되거나 문맥에 따라 달리 표시되지 않는 한 "A, B 또는 둘 다"를 의미한다. 더욱이, "및"은 명시적으로 달리 표시되거나 문맥에 따라 달리 표시되지 않는 한 공동 및 개별 모두이다. 따라서, 본 명세서에서, "A 및 B"는 명시적으로 달리 표시되거나 문맥에 따라 달리 표시되지 않는 한 "공동으로 또는 개별적으로, A 및 B"를 의미한다.
본 개시내용의 범위는 당업자가 이해할 수 있는 본 명세서에서 설명하거나 나타낸 예시적인 실시형태에 대한 모든 변경, 대체, 변형, 변화 및 수정을 포함한다. 본 개시내용의 범위는 본 명세서에서 설명하거나 나타낸 예시적인 실시형태로 제한되지 않는다. 더욱이, 본 개시내용은 특정 컴포넌트, 엘리먼트, 특징, 기능, 동작, 또는 단계를 포함하는 것으로 본 명세서에서 각각의 실시형태를 설명하고 예시하지만, 이들 실시형태 중 임의의 것은 당업자가 이해할 수 있는 본 명세서의 임의의 곳에서 설명하거나 예시한 컴포넌트, 엘리먼트, 특징, 기능, 동작, 또는 단계 중 임의의 조합 또는 순열을 포함할 수 있다. 또한, 첨부된 청구범위에서 특정 기능을 수행하도록 적응, 배열, 가능, 구성, 활성 가능, 작동 가능 또는 작동적인 장치 또는 시스템 또는 장치 또는 시스템의 컴포넌트에 대한 참조는 해당 장치, 시스템, 컴포넌트가 활성화, 켜짐 또는 잠금 해제되었는지 여부에 관계없이 해당 장치, 시스템, 또는 컴포넌트가 그렇게 적응, 배열, 가능, 구성, 활성, 작동 가능 또는 작동적인 한 해당 장치, 시스템, 컴포넌트를 포함한다. 추가적으로, 본 개시내용은 특정 이점을 제공하는 것으로 특정 실시형태를 설명하거나 도시하지만, 특정 실시형태는 이러한 이점 중 어느 것도 제공하지 않거나, 일부 또는 전부를 제공할 수 있다.

Claims (20)

  1. 컴퓨터 구현 방법에 있어서,
    사용자가 헤드셋을 착용하였음을 검출하는 단계;
    상기 헤드셋의 눈 추적 센서를 사용하여 사용자 눈의 눈 추적 데이터를 캡처하는 단계;
    상기 헤드셋의 카메라를 사용하여 사용자 얼굴의 하단부를 캡처하는 단계;
    상기 눈 추적 데이터를 사용하여, 상기 사용자가 착용한 헤드셋과 상기 헤드셋의 사전 정의된 최적 착용 위치 사이의 6자유도(6DoF) 오프셋을 추정하는 단계로서, 상기 6DoF 오프셋은 3개의 병진이동(translation) 오프셋, 롤(roll) 오프셋, 요(yaw) 오프셋, 및 동공간 거리(IPD, inter-pupillary distance) 오프셋을 포함하는, 상기 6DoF 오프셋 추정 단계;
    이미지 내의 얼굴의 랜드마크를 사용하여, 상기 사용자가 착용한 헤드셋과 상기 헤드셋의 사전 정의된 최적 착용 위치 사이의 피치 차이를 나타내는 피치 오프셋을 추정하는 단계; 및
    상기 6DoF 오프셋 및 상기 피치 오프셋에 기초하여, 상기 사전 정의된 헤드셋의 최적 착용 위치에 더 가깝게 상기 헤드셋을 조정하도록 사용자를 안내하기 위한 하나 이상의 사용자 지침을 생성하는 단계
    를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서, 현재 눈 위치의 오프셋은 6자유도에서 동공 위치를 검출하는 눈 추적 프로그램을 연동시킴으로써 결정되는, 컴퓨터 구현 방법.
  3. 제1항에 있어서, 상기 생성된 지침은 롤 및 요를 조정하는 것을 포함하는, 컴퓨터 구현 방법.
  4. 제1항에 있어서, 상기 피치 오프셋 값은 사용자의 얼굴에서 하나 이상의 랜드마크를 검출함으로써 결정되는, 컴퓨터 구현 방법.
  5. 제4항에 있어서, 상기 사용자의 얼굴 상의 하나 이상의 랜드마크 중 하나 이상이 검출을 위한 상기 카메라의 한계 내에 속하지 않는다는 결정에 응답하여 디폴트로 최적의 얼굴 위치가 설정되는, 컴퓨터 구현 방법.
  6. 제1항에 있어서, 상기 방법은 사용자가 애플리케이션을 오픈하는 것에 응답하여 시작되는, 컴퓨터 구현 방법.
  7. 제1항에 있어서, 프로그램은 상기 방법이 시작되기 전에 연동되고 현재 눈 위치의 오프셋 및 상기 피치 오프셋이 설정된 파라미터 내에 있다는 결정 후에 종료되는, 컴퓨터 구현 방법.
  8. 제1항에 있어서, 현재 눈 위치의 오프셋을 줄이기 위한 상기 헤드셋의 조정 방향을 결정하는 것과 상기 피치 오프셋을 줄이기 위한 상기 헤드셋의 조정 방향을 결정하는 것은 동시에 수행되는, 컴퓨터 구현 방법.
  9. 소프트웨어를 수록한 하나 이상의 컴퓨터 판독 가능 비일시적 저장 매체에 있어서, 상기 소프트웨어는 실행될 때,
    사용자가 헤드셋을 착용하였음을 검출하고;
    상기 헤드셋의 눈 추적 센서를 사용하여 사용자 눈의 눈 추적 데이터를 캡처하고;
    상기 헤드셋의 카메라를 사용하여 사용자 얼굴의 하단부를 캡처하고;
    상기 눈 추적 데이터를 사용하여, 상기 사용자가 착용한 헤드셋과 상기 헤드셋의 사전 정의된 최적 착용 위치 사이의 6자유도(6DoF) 오프셋을 추정하고 ―상기 6DoF 오프셋은 3개의 병진 오프셋, 롤 오프셋, 요 오프셋, 및 동공간 거리(IPD) 오프셋을 포함함 ―;
    이미지 내의 얼굴의 랜드마크를 사용하여, 상기 사용자가 착용한 헤드셋과 상기 헤드셋의 사전 정의된 최적 착용 위치 사이의 피치 차이를 나타내는 피치 오프셋을 추정하고;
    상기 6DoF 오프셋 및 상기 피치 오프셋에 기초하여, 상기 사전 정의된 헤드셋의 최적 착용 위치에 더 가깝게 상기 헤드셋을 조정하도록 사용자를 안내하기 위한 하나 이상의 사용자 지침을 생성하도록
    동작 가능한, 하나 이상의 컴퓨터 판독 가능 비일시적 저장 매체.
  10. 제9항에 있어서, 상기 소프트웨어는 또한, 실행될 때에, 5자유도에서 동공 위치를 검출하는 눈 추적 프로그램을 연동시킴으로써 현재 눈 위치의 오프셋을 결정하도록 동작 가능한, 하나 이상의 컴퓨터 판독 가능 비일시적 저장 매체.
  11. 제9항에 있어서, 상기 생성된 지침은 롤 및 요를 조정하는 것을 포함하는, 하나 이상의 컴퓨터 판독 가능 비일시적 저장 매체.
  12. 제9항에 있어서, 상기 피치 오프셋 값은 사용자의 얼굴에서 하나 이상의 랜드마크를 검출함으로써 결정되는, 하나 이상의 컴퓨터 판독 가능 비일시적 저장 매체.
  13. 제9항에 있어서, 상기 사용자의 얼굴 상의 하나 이상의 랜드마크 중 하나 이상이 검출을 위한 상기 카메라의 한계 내에 속하지 않는다는 결정에 응답하여 디폴트로 최적의 얼굴 위치가 설정되는, 하나 이상의 컴퓨터 판독 가능 비일시적 저장 매체.
  14. 제9항에 있어서, 현재 눈 위치의 오프셋을 줄이기 위한 상기 헤드셋의 조정 방향을 결정하는 것과 상기 피치 오프셋을 줄이기 위한 상기 헤드셋의 조정 방향을 결정하는 것은 동시에 수행되는, 하나 이상의 컴퓨터 판독 가능 비일시적 저장 매체.
  15. 시스템에 있어서,
    하나 이상의 프로세서; 및
    상기 프로세서 중 하나 이상에 결합되고 명령어를 포함하는 하나 이상의 컴퓨터 판독 가능 비일시적 저장 매체
    를 포함하며,
    상기 명령어는 상기 프로세서 중 하나 이상에 의해 실행될 때 상기 시스템으로 하여금:
    사용자가 헤드셋을 착용하였음을 검출하고;
    상기 헤드셋의 눈 추적 센서를 사용하여 사용자 눈의 눈 추적 데이터를 캡처하고;
    상기 헤드셋의 카메라를 사용하여 사용자 얼굴의 하단부를 캡처하고;
    상기 눈 추적 데이터를 사용하여, 상기 사용자가 착용한 헤드셋과 상기 헤드셋의 사전 정의된 최적 착용 위치 사이의 6자유도(6DoF) 오프셋을 추정하고 - 상기 6DoF 오프셋은 3개의 병진 오프셋, 롤 오프셋, 요 오프셋, 및 동공간 거리(IPD) 오프셋을 포함함 -;
    이미지 내의 얼굴의 랜드마크를 사용하여, 상기 사용자가 착용한 헤드셋과 상기 헤드셋의 사전 정의된 최적 착용 위치 사이의 피치 차이를 나타내는 피치 오프셋을 추정하고;
    상기 6DoF 오프셋 및 상기 피치 오프셋에 기초하여, 상기 사전 정의된 헤드셋의 최적 착용 위치에 더 가깝게 상기 헤드셋을 조정하도록 사용자를 안내하기 위한 하나 이상의 사용자 지침을 생성하게 하도록
    동작 가능한 것인, 시스템.
  16. 제15항에 있어서, 상기 프로세서는 또한, 상기 명령어를 실행할 때에, 5자유도에서 동공 위치를 검출하는 눈 추적 프로그램을 연동시킴으로써 현재 눈 위치의 오프셋을 결정하도록 동작 가능한, 시스템.
  17. 제15항에 있어서, 상기 생성된 지침은 롤 및 요를 조정하는 것을 포함하는, 시스템.
  18. 제15항에 있어서, 상기 피치 오프셋 값은 사용자의 얼굴에서 하나 이상의 랜드마크를 검출함으로써 결정되는, 시스템.
  19. 제18항에 있어서, 상기 사용자의 얼굴 상의 하나 이상의 랜드마크 중 하나 이상이 검출을 위한 상기 카메라의 한계 내에 속하지 않는다는 결정에 응답하여 디폴트로 최적의 얼굴 위치가 설정되는, 시스템.
  20. 제18항에 있어서, 현재 눈 위치의 오프셋을 줄이기 위한 상기 헤드셋의 조정 방향을 결정하는 것과 상기 피치 오프셋을 줄이기 위한 상기 헤드셋의 조정 방향을 결정하는 것은 동시에 수행되는, 시스템.
KR1020230103264A 2022-08-24 2023-08-08 헤드셋 조정 KR20240028295A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/894,470 2022-08-24
US17/894,470 US20240069630A1 (en) 2022-08-24 2022-08-24 Headset Adjustment

Publications (1)

Publication Number Publication Date
KR20240028295A true KR20240028295A (ko) 2024-03-05

Family

ID=87748189

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230103264A KR20240028295A (ko) 2022-08-24 2023-08-08 헤드셋 조정

Country Status (5)

Country Link
US (1) US20240069630A1 (ko)
EP (1) EP4328715A1 (ko)
JP (1) JP2024031946A (ko)
KR (1) KR20240028295A (ko)
CN (1) CN117631823A (ko)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101257207B1 (ko) * 2012-02-23 2013-04-22 인텔 코오퍼레이션 헤드 트래킹 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
US20140375540A1 (en) * 2013-06-24 2014-12-25 Nathan Ackerman System for optimal eye fit of headset display device
AU2014337171B2 (en) * 2013-10-16 2018-11-15 Magic Leap, Inc. Virtual or augmented reality headsets having adjustable interpupillary distance
US10228562B2 (en) * 2014-02-21 2019-03-12 Sony Interactive Entertainment Inc. Realtime lens aberration correction from eye tracking
US10755466B2 (en) * 2015-09-21 2020-08-25 TuringSense Inc. Method and apparatus for comparing two motions
US20200211512A1 (en) * 2018-12-27 2020-07-02 Facebook Technologies, Llc Headset adjustment for optimal viewing
CN114174783A (zh) * 2019-04-09 2022-03-11 资生堂株式会社 用于创建具有改进的图像捕获的局部制剂的系统和方法

Also Published As

Publication number Publication date
JP2024031946A (ja) 2024-03-07
US20240069630A1 (en) 2024-02-29
EP4328715A1 (en) 2024-02-28
CN117631823A (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
KR102038379B1 (ko) 초점 조정 가상 현실 헤드셋
US9984507B2 (en) Eye tracking for mitigating vergence and accommodation conflicts
JP2022000640A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US11127380B2 (en) Content stabilization for head-mounted displays
US20200211512A1 (en) Headset adjustment for optimal viewing
US10242654B2 (en) No miss cache structure for real-time image transformations
CN109791433A (zh) 预测式中心凹虚拟现实系统
JP2023507867A (ja) 人工現実コンテンツの可変焦点ディスプレイを有する人工現実システム
JP6002286B1 (ja) ヘッドマウントディスプレイ制御方法、および、ヘッドマウントディスプレイ制御プログラム
CN110582718A (zh) 近眼显示器的变焦像差补偿
US20190258442A1 (en) Using detected pupil location to align optical components of a head-mounted display
US10819898B1 (en) Imaging device with field-of-view shift control
US11022794B2 (en) Visual indicators of user attention in AR/VR environment
KR20210107741A (ko) 눈 추적 기능이 있는 헤드 마운트 디스플레이의 사용자 상호 작용
WO2020003860A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US20190324528A1 (en) Adjusting gaze point based on determined offset adjustment
CN110908502A (zh) 视觉辐辏确定
CN113227942A (zh) Ar/vr环境中用户注意力的音频指示器
CN117529700A (zh) 使用自追踪控制器的人体姿势估计
US11749141B2 (en) Information processing apparatus, information processing method, and recording medium
US11743447B2 (en) Gaze tracking apparatus and systems
US9265415B1 (en) Input detection
KR20240028295A (ko) 헤드셋 조정
JP2017091190A (ja) 画像処理装置、画像処理方法およびプログラム
US20230376109A1 (en) Image processing apparatus, image processing method, and storage device