KR20230004305A - 눈 추적 데이터 필터링 - Google Patents

눈 추적 데이터 필터링 Download PDF

Info

Publication number
KR20230004305A
KR20230004305A KR1020220078748A KR20220078748A KR20230004305A KR 20230004305 A KR20230004305 A KR 20230004305A KR 1020220078748 A KR1020220078748 A KR 1020220078748A KR 20220078748 A KR20220078748 A KR 20220078748A KR 20230004305 A KR20230004305 A KR 20230004305A
Authority
KR
South Korea
Prior art keywords
pupil position
lens
updated
alternate
computer readable
Prior art date
Application number
KR1020220078748A
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 KR20230004305A publication Critical patent/KR20230004305A/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/19Sensors therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Ophthalmology & Optometry (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Eye Examination Apparatus (AREA)
  • Image Processing (AREA)

Abstract

눈 추적은, 사용자의 전방에 위치된 렌즈와 관련된 사용자의 초기 동공 위치를 결정하고, 렌즈와 관련된 업데이트된 동공 위치로의 렌즈와 관련된 동공 위치의 변화를 검출하고, 업데이트된 동공 위치가 렌즈와 연관된 경계 박스 외부에 있다고 결정함으로써 수행된다. 업데이트된 동공 위치는 렌즈와 연관된 경계 박스 내의 대체 동공 위치를 갖는 대체 동공 위치이고, 업데이트된 동공 위치는 눈 추적 기능을 위해 활용된다. 눈 추적은 또한, 시선 방향과 연관된 제1 픽셀이 가시성 영역 외부에 있다고 결정하고, 가시성 영역 내의 대체 픽셀을 식별하고, 대체 픽셀에 기초하여 업데이트된 시선 각도를 결정하고, 업데이트된 시선 각도를 사용하여 눈 추적을 수행함으로써 수행된다.

Description

눈 추적 데이터 필터링{EYE TRACKING DATA FILTERING}
본 개시내용은 일반적으로 이미지 프로세싱에 관한 것이다. 더 구체적으로, 그러나 제한의 방식이 아닌, 본 개시내용은 개선된 눈 추적 기술들을 위해 눈 추적 데이터를 생성 및 관리하기 위한 기술들 및 시스템들에 관한 것이다.
눈 추적은 시선 검출, 자세 추정, 얼굴 분석 및 인식 등과 같은 많은 분야들에서 활용되는 기술이다. 눈 추적은 종종 이러한 동작들의 기초를 형성하며, 사람의 시선의 포인트를 전자적으로 위치설정하거나 사람의 시선의 포인트의 움직임을 따르고 기록하는 프로세스로 생각될 수 있다. 실제로, 눈 추적은 동공 위치 및 시선 방향을 위치설정 및 추적함으로써 제공된다. 그러나, 눈을 추적하는 데 사용되는 센서들은 종종, 눈 추적 데이터가 항상 완벽하게 교정되는 것은 아니도록 시프트되거나 흐트러진다(jitter). 따라서, 눈 추적 데이터는 흐트러지거나 무효일 수 있다. 필요한 것은, 눈 추적 데이터를 관리하기 위한 개선된 기술이다.
도 1a 및 도 1b는 눈 추적을 위한 설정 및 동공 위치설정을 수행하는 것의 예시적인 도면들을 도시한다.
도 2는 하나 이상의 실시예들에 따른, 눈 추적 기술들을 위한 동공 위치 정보를 관리하기 위한 기술의 흐름도를 도시한다.
도 3은 하나 이상의 실시예들에 따른, 눈 추적을 위해 동공 위치를 미세조정하기 위한 기술의 흐름도를 도시한다.
도 4a 및 도 4b는 하나 이상의 실시예들에 따른, 가시성 영역에 대한 시선 방향의 예시적인 도면들을 도시한다.
도 5a 및 도 5b는 하나 이상의 실시예들에 따른, 눈 추적 기술들을 위한 시선 각도를 미세조정하기 위한 기술들의 흐름도들을 도시한다.
도 6은 하나 이상의 실시예들에 따른, 시선 각도를 미세조정하기 위해 대체 픽셀을 식별하기 위한 기술의 흐름도를 도시한다.
도 7은 하나 이상의 실시예들에 따른 다기능 전자 디바이스를 블록도 형태로 도시한다.
도 8은 하나 이상의 실시예들에 따른 컴퓨터 시스템을 블록도 형태로 도시한다.
본 개시내용은 눈 추적 기술들에서 향상된 성능을 위해 눈 추적 데이터를 미세조정하고 평활화하기 위한 시스템들, 방법들, 및 컴퓨터 판독가능 매체들에 관한 것이다.
하나 이상의 실시예들에서, 동공 위치는 미리 결정된 영역 내에 클램핑된다. 동공이 모니터링되는 렌즈는 알려진 교정된 영역인 미리 결정된 영역을 가질 수 있는 반면, 렌즈의 다른 영역들은 덜 교정될 수 있다. 따라서, 동공 위치는 교정된 영역 내에서 유지되어야 한다. 하나 이상의 실시예들에서, 초기 동공 위치는 눈의 전방에 위치된 렌즈와 관련하여 결정된다. 렌즈와 관련된 업데이트된 동공 위치로의 렌즈와 관련된 동공 위치의 변화가 검출될 수 있다. 업데이트된 동공 위치가, 예를 들어, 교정된 영역과 연관된 결정된 경계 박스 외부에 있으면, 대체 동공 위치가 경계 박스 내에서 선택된다. 이어서, 업데이트된 동공 위치는 눈 추적 기술들에 사용된다. 일부 실시예들에서, 지터(jitter)를 회피하기 위해, 눈 추적 시스템은, 예를 들어 시간 기반 용이성 함수에 기초하여 동공 위치가 원래의 동공 위치로부터 대체 동공 위치로 전환되도록 일련의 프레임들에 걸쳐 동공 위치를 변경할 수 있다.
하나 이상의 실시예들에서, 시선 방향은 눈 추적 기술들에서 사용하기 위해 미세조정될 수 있다. 특히, 시선 방향은, 사용자가 가시성 영역을 향해 응시하도록 미세조정된다. 제1 픽셀은 가시성 영역 외부의 시선 방향과 연관되는 것으로 결정될 수 있다. 가시성 영역 내에서 대체 픽셀이 식별된다. 대체 픽셀은 시야의 중심으로부터 제1 픽셀까지의 벡터를 따라 선택될 수 있다. 대체 픽셀의 위치에 기초하여 시선 각도가 결정되고, 시선 각도를 사용하여 눈 추적 기능이 수행된다.
본 개시내용의 목적들을 위해, "시선 원점"이라는 용어는 시선이 결정되는 눈의 중심을 지칭한다.
본 개시내용의 목적들을 위해, "동공 위치"라는 용어는 동공이 위치되는 눈의 표면 상의 위치를 지칭한다.
본 개시내용의 목적들을 위해, "시선 방향"이라는 용어는 시선 원점으로부터 발생하고 동공 위치를 통과하는 시선의 방향이다.
이하의 설명에서, 설명의 목적으로, 다수의 특정 세부사항이 개시된 개념들의 철저한 이해를 제공하기 위해 기재된다. 이러한 설명의 일부로서, 본 개시의 도면들의 일부는 개시된 개념들의 새로운 양태들을 모호하게 하는 것을 피하기 위해 구조들 및 디바이스들을 블록도 형태로 나타낸다. 명료하도록, 실제 구현예의 모든 특징부들이 기술되지는 않을 수 있다. 추가로, 본 설명의 일부로서, 본 개시내용의 도면들 중 일부는 흐름도의 형태로 제공될 수 있다. 임의의 특정 흐름도 내의 박스들은 특정 순서로 제시될 수 있다. 그러나 임의의 주어진 흐름도의 특정 시퀀스는 단지 일 실시예를 예시하기 위해 사용된다는 것이 이해되어야 한다. 다른 실시예들에서, 흐름도에 도시된 임의의 다양한 요소들은 삭제될 수 있거나, 또는 동작들의 도시된 시퀀스는 상이한 순서로, 또는 심지어 동시에 수행될 수 있다. 부가적으로, 다른 실시예들은 흐름도의 일부로서 도시되지 않은 부가적인 단계들을 포함할 수 있다. 게다가, 본 개시내용에 사용된 표현은 원칙적으로 가독성 및 교육 목적들을 위해 선택되었으며, 본 발명의 요지를 기술하거나 제한하도록 선택되지는 않아서, 그러한 본 발명의 요지를 결정하기 위해 청구범위에 대한 의존이 필요할 수 있다. "일 실시예"에 대한 또는 "실시예"에 대한 본 개시내용에서의 언급은 실시예와 관련되어 기술되는 특정한 특징부, 구조, 또는 특성이 개시되는 발명의 적어도 하나의 실시예에 포함된다는 것을 의미하며, "일 실시예" 또는 "실시예"에 대한 다수의 언급들이 반드시 모두 동일한 실시예를 지칭하는 것으로서 이해되어서는 안된다.
(임의의 소프트웨어 및/또는 하드웨어 개발 프로젝트에서와 같이) 임의의 실제 구현의 개발에서, 개발자의 특정 목표들(예를 들면, 시스템 관련 및 사업 관련 제약들의 준수)을 달성하기 위해 수많은 결정들이 이루어져야 하며, 이러한 목적들이 구현별로 달라질 수 있음을 인식할 것이다. 그러한 개발 노력들은 복잡하고 시간 소모적일 수 있지만, 그럼에도 불구하고 본 개시내용의 이득을 갖는 그래픽 모델링 시스템들의 설계 및 구현예에서 당업자들에게는 일상적인 일임이 또한 인식될 것이다.
도 1a를 참조하면, 눈(100)의 예시적인 도면이 제시된다. 본 개시내용의 목적들을 위해, 눈(100)은 3D 공간에서 눈의 중심을 지칭하는 시선 원점(105)을 포함한다. 눈(100)은 또한 동공 위치(110)를 포함한다. 동공 위치(110)는 동공이 위치되는 눈(100)의 표면 상의 위치를 지칭한다. 하나 이상의 실시예들에서, 동공 위치(110)는 눈의 표면 상의 동공의 중심 위치를 지칭할 수 있다. 시선 원점(105) 및 동공 위치(110)는 시선 방향(115)을 결정하는 데 사용될 수 있다. 시선 방향(115)은 시선 원점(105)으로부터 발생하고 동공 위치(110)을 통과하는 시선의 방향을 지칭할 수 있다. 하나 이상의 실시예들에서, 시선 방향(115)은 시선 원점(105)으로부터 발생하고 동공 위치(110)를 통과하는 벡터로서 정의될 수 있다.
도 1b를 참조하면, 눈 추적이 수행되고 있는 눈(100)의 예시적인 도면이다. 눈 추적은 렌즈(120)를 포함하는 디바이스(125)에 의해 수행될 수 있다. 눈(100)이 렌즈(120)를 통해 물체를 볼 때, 동공 데이터 중 일부만이 시스템의 교정에 기초하여 유효하다. 동공 위치(110)는 시스템의 교정에 영향을 미칠 수 있다. 예를 들어. 하드웨어 제한들은 렌즈(120)의 일부만이 교정되게 할 수 있지만, 동공 위치(110)는 여전히 교정되지 않은 부분들에 도달할 수 있다. 따라서, 동공 경계들(130)은 동공 데이터가 유효한 것으로 결정되는 렌즈(120)의 부분을 정의할 수 있다. 일부 실시예들에서, 동공 경계들(130)과 렌즈(120)의 교차점은 렌즈 상의 경계 박스를 식별할 수 있다.
도 2는 하나 이상의 실시예들에 따른, 눈 추적 기술들을 위한 동공 위치 정보를 관리하기 위한 기술의 흐름도를 도시한다. 구체적으로, 도 2는 동공 위치를 렌즈의 경계 박스 내에 클램핑하기 위한 기술을 도시한다. 유효 동공 데이터를 제공하도록 결정된 렌즈의 부분에 동공 위치를 클램핑함으로써, 시스템은, 이미지가 경계 박스 내에 있는 것보다 더 왜곡되어 보이게 하는, 렌즈의 교정되지 않은 부분들로부터 데이터를 외삽할 필요성을 회피할 수 있다. 예를 들어, 디스플레이 디바이스가 눈의 전방에 있는 동안 이동하거나 시프트되는 경우, 동공 위치는 빈번하게 시프트되어, 스크린 상에서의 프리젠테이션에서 지터들을 야기할 수 있다. 도 2에 도시된 다양한 프로세스가 특정 순서로 도시되어 있지만, 기재된 다양한 프로세스들이 상이한 순서로 수행될 수 있음이 이해되어야 한다. 또한, 다양한 프로세스들 모두가 수행될 필요는 없을 수 있다.
흐름도(200)는 사용자의 초기 동공 위치가 사용자의 전방에 위치된 렌즈와 관련하여 결정되는 205에서 시작된다. 예를 들어, 렌즈는 초기 동공 위치가 결정되는 사용자의 눈의 전방에 위치될 수 있다. 흐름도(200)는 동공 위치의 변화가 렌즈에 관련하여 검출되는 210에서 계속된다. 결과적으로, 업데이트된 동공 위치가 렌즈와 관련하여 결정된다.
블록(215)에서, 업데이트된 동공 위치는 렌즈와 연관된 경계 박스와 비교된다. 전술된 바와 같이, 경계 박스는 유효 동공 데이터를 제공하도록 결정된 렌즈의 부분을 지칭할 수 있다. 경계 박스는, 예를 들어, 도 1b와 관련하여 전술된 바와 같이, 유효 동공 경계들과 렌즈의 교차점에 의해 결정될 수 있다.
흐름도는 업데이트된 동공 위치가 경계 박스 외부에 있는지 여부에 관한 결정이 이루어지는 220에서 계속된다. 220에서, 업데이트된 동공 위치가 경계 박스 외부에 있지 않다고 결정되면, 흐름도는 225로 진행하고, 업데이트된 동공 위치는 있는 그대로 눈 추적 기능에 활용된다.
220으로 돌아가면, 동공 위치가 경계 박스 외부에 있다고 결정되면, 흐름도는 블록(230)으로 계속된다. 블록(230)에서, 경계 박스 내에서 대체 동공 위치가 식별된다. 대체 동공 위치는 다수의 방식들로 결정될 수 있다. 예를 들어, 경계 박스 내의 가장 가까운 동공 위치가 사용될 수 있다. 예로서, 경계 박스의 경계 상의 위치가 사용될 수 있다. 이어서, 흐름도는 대체 동공 위치가 눈 추적 기능에 사용되는 블록(235)에서 끝난다. 구체적으로, 일부 실시예들에서, 대체 동공 위치는 도 1b와 관련하여 전술된 바와 같이, 스크린 상의 이미지의 프리젠테이션을 위한 워핑(warping) 함수를 계산하는 데 사용된다.
일부 실시예들에서, 대체 동공 위치를 활용하는 것은 눈이 움직일 때 데이터의 점프를 야기할 수 있다. 예를 들어, 데이터의 점프는 왜곡에서의 점프로 이어질 수 있다. 일부 실시예들에서, 동공 위치에 용이성 함수를 적용함으로써 왜곡에서의 점프가 회피될 수 있다. 도 3은 하나 이상의 실시예들에 따른, 눈 추적을 위해 동공 위치를 미세조정하기 위한 기술, 또는 도 2의 블록(230)에서 설명된 바와 같은 예의 흐름도를 도시한다. 도 3에 도시된 다양한 프로세스들이 특정 순서로 도시되어 있지만, 기재된 다양한 프로세스들이 상이한 순서로 수행될 수 있음이 이해되어야 한다. 또한, 다양한 프로세스들 모두가 수행될 필요는 없을 수 있다.
흐름도(300)는 대체 동공 위치가 경계 박스 내에서 식별되는 305에서 시작한다. 하나 이상의 실시예들에 따르면, 대체 동공 위치는 실제 동공 위치로부터 경계 박스 내의 가장 가까운 위치에 기초하여 선택될 수 있다. 일부 실시예들에서, 대체 동공 위치는 경계 박스의 경계 상의 위치로서 선택될 수 있다.
흐름도는 실제 동공 위치 및 대체 동공 위치에 기초하여 동공 위치에 용이성 함수가 적용되는 블록(310)에서 계속된다. 일부 실시예들에서, 용이성 함수는 시간 기반 함수일 수 있다. 따라서, 블록(315)에서, 실제 동공 위치를 대체 동공 위치로 단순히 대체하기보다는, 용이성 함수에 기초하여 중간 동공 위치들의 세트가 결정될 수 있다. 하나 이상의 실시예들에 따르면, 용이성 함수는 선형 함수, 3차 용이성 함수 등일 수 있다. 따라서, 중간 동공 위치들의 세트는 사용자의 동공 위치를 대체 동공 위치로 용이하게 할 수 있다.
흐름도(300)는 중간 동공 위치들의 세트가 일련의 프레임들에 걸쳐 적용되는 블록(320)에서 계속된다. 예를 들어, 중간 동공 위치들의 세트는 중간 동공 위치들이 적용되는 프레임들의 수에 대응할 수 있는 미리 결정된 수의 중간 동공 위치들을 포함할 수 있다. 대안적으로, 일부 실시예들에서, 중간 동공 위치들의 수는 실제 동공 위치와 대체 동공 위치의 차이에 의해 도출될 수 있다. 예를 들어, 실제 동공 위치와 대체 동공 위치 사이의 선형 차이가 작다면, 대체 픽셀 위치에 도달하기 위해 더 적은 프레임들 및 그에 따라 더 적은 중간 값들이 필요할 수 있다. 대조적으로, 실제 동공 위치와 대체 동공 위치 사이의 선형 차이가 크면, 사용자를 효과적으로 용이하도록 대체 동공 위치에 도달하기 위해 더 많은 프레임들 및 그에 따라 더 많은 중간 값들이 필요할 수 있다. 중간 동공 위치들의 세트는, 사용자에게 제시되는 후속 일련의 프레임들이 일련의 프레임들에 걸친 중간 동공 위치들의 진행을 활용할 수 있도록 적용된다.
흐름도(300)는, 대체 동공 위치가 다음 프레임에서 사용되는 블록(325)에서 끝난다. 이것은, 실제 동공 위치보다는 대체 동공 위치에 기초하여 렌더링될 일련의 프레임에 걸쳐 중간 동공 위치들의 세트가 활용된 후이다. 이어서, 일부 실시예들에서, 대체 동공 위치는, 도 2에서 설명된 프로세스가 다시 시작하는 시간인 새로운 동공 위치가 검출될 때까지 사용자에게의 프리젠테이션을 위해 콘텐츠를 렌더링하는 데 사용될 수 있다.
일부 실시예들에 따르면, 예를 들어, 사용자 시선에 기초하여 다른 문제들이 발생할 수 있다. 예를 들어, 디스플레이는 유효 픽셀 정보를 포함하는 영역과 연관된 영역을 가질 수 있다. 따라서, 사용자가 유효 가시성 영역 내의 픽셀을 응시하고 있음을 보장하기 위해 시선 방향이 미세조정될 수 있다. 도 4a를 참조하면, 스크린(425)과 같은 스크린의 단순화된 블록도가 제시된다. 스크린(425)은 사용자의 전방에, 예를 들어 태블릿 또는 모바일 폰과 같은 모바일 디바이스, 또는 머리-장착형 디스플레이 디바이스에 위치된 임의의 종류의 디스플레이일 수 있다. 디스플레이의 일부는 가시적일 수 있고, 이에 의해 가시성 영역으로 지칭될 수 있다. 일부 실시예들에서, 가시성 영역은 렌즈(430)를 통해 가시적인 스크린의 부분이다. 따라서, 렌즈는 디스플레이의 모든 부분을 "보는" 것은 아니다. 또한, 렌즈(430)를 통해 가시적인 스크린(425) 전부가 유효 데이터를 포함하지는 않을 수 있다. 예를 들어, 렌즈(430)의 외측 부분들은 교정하기 어려울 수 있거나 그렇지 않으면 교정되지 않을 수 있다. 이와 같이, 스크린(425)은 유효 픽셀 데이터를 포함하는 것으로 결정된 가시성 영역(435)을 포함할 수 있다. 추가적으로 또는 대안적으로, 가시적인 영역의 결정은 하드웨어에 의해 볼 수 있는 것, 눈 추적 시스템의 기술 규격들, 또는 소프트웨어-정의된 영역에 기초할 수 있다.
도 4b를 참조하면, 도면은 눈으로부터의 스크린의 예시적인 뷰를 도시한다. 일부 실시예들에 따르면, 가시성 영역(435)은 유효 픽셀 데이터를 제공하도록 결정된 스크린의 부분에 기초하여 가시성 마스크에 의해 정의될 수 있다. 이와 같이, 사용자의 시선이 가시성 영역(435) 외부로 지향된다면, 대체 시선 위치가 활용될 수 있다. 도시된 바와 같이, 사용자의 시선(460)은 가시성 영역(435) 외부로 지향되지만 스크린(440) 내에 있다. 스크린(440)은 사용자의 전방에 위치된 모바일 디바이스, 예를 들어, 태블릿, 모바일 폰, 웨어러블 디바이스 등의 스크린일 수 있다. 유효 데이터를 제공하기 위해, 대체 시선 위치는 가시성 영역 내로부터 선택될 수 있다. 대체 픽셀은 예를 들어, 가시성 영역(435) 내의 가장 가까운 픽셀에 기초하여 선택될 수 있다. 일부 실시예들에서, 대체 픽셀은 시야(450)의 중심을 식별함으로써 선택될 수 있다. 시야(450)의 중심은 스크린에 대한 눈의 위치에 기초할 수 있다. 시야(450)의 중심은 스크린과 관련된 사용자의 눈의 중심의 위치에 기초할 수 있다. 일부 실시예들에서, 시선 타겟(460)에 대한 대체 픽셀(455)은, 대체 픽셀(455)이 가시성 영역 내에 있도록 선택될 수 있다. 대체 픽셀은 시야(450)의 중심으로부터 발생되고 시선(460)의 타겟 위치를 향해 지향되는 벡터(470)를 따라 결정될 수 있다. 이어서, 하나 이상의 실시예들에 따르면, 대체 픽셀(455)은 눈 추적 기술들에 사용될 수 있다. 추가로, 일부 실시예들에서, 눈 추적 기술들은 또한, 대체 픽셀(455)에 기초하여 결정될 수 있는 시선 각도에 의존할 수 있다.
도 5a는 하나 이상의 실시예들에 따른, 눈 추적 기술들을 위한 시선 정보를 관리하기 위한 기술의 흐름도를 도시한다. 구체적으로, 도 5a는 유효 픽셀 데이터를 활용하기 위해 사용자의 시선 방향을 재계산하기 위한 기술을 도시한다. 명확성을 위해, 도 3의 설명은 전술된 바와 같이 도 1 및 도 4와 관련하여 설명된다. 도 5에 도시된 다양한 프로세스가 특정 순서로 도시되어 있지만, 기재된 다양한 프로세스들이 상이한 순서로 수행될 수 있음이 이해되어야 한다. 또한, 다양한 프로세스들 모두가 수행될 필요는 없을 수 있다.
흐름도(500)는, 픽셀 위치가 시선 방향과 연관된 것으로 검출되는 블록(505)에서 시작한다. 예를 들어, 픽셀 위치는 사용자의 시선의 타겟 위치와 연관될 수 있다. 픽셀 위치는 사용자의 눈(100)의 전방에 위치된 스크린에 대해 결정될 수 있다. 블록(510)에서, 검출된 픽셀 위치가 가시성 영역 외부에 있는지 여부에 관한 결정이 이루어진다. 도 4b와 관련하여 전술된 바와 같이, 가시성 영역(435)은 유효 픽셀 데이터를 포함하는 스크린(425)의 서브세트일 수 있다. 유효 픽셀 데이터는 스크린(425)이 가시적이 되게 하는 렌즈(430)의 서브세트에 기초할 수 있다.
블록(510)에서 픽셀 위치가 가시성 영역 외부에 있지 않다고 결정되면, 흐름도(500)는 블록(515)으로 계속된다. 블록(515)에서, 검출된 픽셀 위치에 기초하여 시선 각도 값이 결정된다. 시선 각도는 결정된 픽셀 위치에 따라 사용자의 눈과 스크린 사이의 각도를 설명할 수 있다. 흐름도는 결정된 시선 각도 및 픽셀 위치가 다음 프레임을 프로세싱하기 위해 활용되는 블록(520)에서 끝난다.
흐름도(500)의 블록(510)으로 돌아가면, 검출된 픽셀 위치가 가시성 영역 외부에 있다고 결정되면, 흐름도(500)는 블록(525)에서 계속된다. 블록(525)에서, 대체 픽셀 위치가 가시성 영역 내에서 결정된다. 하나 이상의 실시예들에서, 대체 픽셀은, 예를 들어, 검출된 픽셀에 대한 가시성 영역 내의 가장 가까운 픽셀로서 선택될 수 있다. 또한, 일부 실시예들에서, 대체 픽셀 위치는 도 6에 대해 아래에서 더 상세히 설명될 바와 같이, 시야의 중심 포인트에 기초하여 선택될 수 있다.
흐름도(500)는 대체 픽셀의 위치에 기초하여 시선 각도가 결정되는 블록(530)에서 계속된다. 시선 각도는 결정된 대체 픽셀 위치에 따라 사용자의 눈과 스크린 사이의 각도를 설명할 수 있다. 흐름도는 결정된 시선 각도 및 대체 픽셀 위치가 다음 프레임을 프로세싱하기 위해 활용되는 블록(535)에서 끝난다.
일부 실시예들에 따르면, 눈 추적 데이터는 클라이언트 및 합성기에 의한 2상 프로세스에서 프레임들을 렌더링하기 위해 사용될 수 있다. 일부 실시예들에서, 눈 추적 데이터는 클라이언트와 합성기 사이에서 전달될 수 있고/있거나, 눈 추적 이력 데이터가 시각적 품질을 개선하고/하거나 하드웨어 제약들을 충족시키는 데 사용될 수 있다. 특히, 클라이언트와 합성기 사이의 일관성은 둘 사이에서 적어도 일부 눈 추적 파라미터들을 공유함으로써 개선될 수 있다. 도 5b는 하나 이상의 실시예들에 따른, 눈 추적 데이터를 관리하기 위한 기술의 흐름도를 도시한다. 구체적으로, 도 5b는 클라이언트와 합성기 사이에서 눈 추적 데이터를 공유하기 위한 기술을 도시한다. 명확성을 위해, 도 3의 설명은 전술된 바와 같이 도 1 및 도 4와 관련하여 설명된다. 도 5b에 도시된 다양한 프로세스가 특정 순서로 도시되어 있지만, 기재된 다양한 프로세스들이 상이한 순서로 수행될 수 있음이 이해되어야 한다. 또한, 다양한 프로세스들 모두가 수행될 필요는 없을 수 있다. 흐름도는, 클라이언트가 프레임을 프로세싱하고 눈 추적 파라미터들을 획득하는 블록(555)에서 시작된다. 일부 실시예들에서, 클라이언트는 합성기에 의한 프리젠테이션을 위해 프레임을 렌더링한다. 일부 실시예들에 따르면, 클라이언트는 프레임들이 렌더링될 때 시선 각도와 같은 특정 눈 추적 파라미터들을 결정한다. 블록(560)에 도시된 바와 같이, 선택적인 단계에서, 클라이언트는 합성기 눈 추적 이력 파라미터들에 기초하여 프레임을 프로세싱한다. 즉, 합성기는 가장 최근에 제시된 프레임으로부터 현재 시선 각도 및/또는 가시성 영역에 관련된 데이터를 미래의 프레임들의 프로세싱을 위해 다시 클라이언트에 전달한다. 이어서, 블록(565)에서, 클라이언트는 프레임을 렌더링한다. 합성기에 의해 클라이언트로 전달된 가시성 영역을 활용함으로써, 클라이언트는 가시성 영역 외부의 픽셀들을 렌더링하는 것을 회피할 수 있고, 그에 따라, 성능을 개선할 수 있다. 합성기에 의해 전달된 시선 각도를 활용함으로써, 클라이언트는 사용자의 시선에 더 적절하게 프레임을 렌더링할 수 있고, 이로써 이미지 품질을 개선할 수 있다.
흐름도(550)는 합성기가 렌더링된 프레임을 제시하고, 프로세스에서 합성기 눈 추적 파라미터들을 획득하는 570에서 계속된다. 특히, 합성기는 상기 도 5a와 관련하여 설명된 단계들을 수행할 수 있다. 예를 들어, 합성기는 가시성 영역에 기초하여 시선 각도 값 및 픽셀 위치 또는 대체 픽셀 위치를 획득할 수 있다. 하나 이상의 실시예들에 따르면, 시선 각도가 획득되는 시선은 별개의 시선 추적기로부터의 것이다. 이 시선 각도, 픽셀 위치 및 가시성 영역은 개별적으로 또는 일부 조합으로 합성기 눈 추적 파라미터들로 간주될 수 있다. 일부 실시예들에 따르면, 합성기는 시선 각도 및 가시성 영역에 따라 다양한 눈 추적 파라미터들을 사용하여 프레임을 생성한다.
일부 실시예들에 따르면, 합성기는 선택적으로, 합성기에 의해 제시되는 클라이언트 렌더링 프레임들로부터의 클라이언트 이력 데이터에 기초하여 현재 프레임을 프로세싱할 수 있다. 따라서, 블록(575)에서, 합성기는 선택적으로, 합성기 눈 추적 이력 파라미터들에 기초하여 현재 프레임을 프로세싱한다. 즉, 시선 각도 및/또는 가시성 영역과 같은 눈 추적 데이터는 하나의 프레임에서 다른 프레임으로 활용될 수 있다. 일부 실시예들에서, 이를 수행하는 것은 연속적인 프레임들을 프로세싱할 때 레이턴시를 감소시킬 수 있다.
선택적으로, 블록(580)에 도시된 바와 같이, 일부 실시예들에서, 합성기는 클라이언트 눈 추적 이력 파라미터들에 기초하여 현재 프레임을 프로세싱한다. 즉, 일부 실시예들에서, 클라이언트는 이전의 프레임을 렌더링하는 동안 사용된 데이터를 추가적인 프레임들을 프로세싱하기 위해 합성기에 전달할 수 있다. 예를 들어, 렌더링 동안 사용된 시선 각도는 렌더링된 프레임과 함께 클라이언트에 송신될 수 있다. 이에 따라, 도 4b 및 도 5a와 관련하여 전술된 바와 같은 대체 픽셀 위치 및 시선 각도는 공유 데이터에 따라 더 효율적으로 결정되고 그리고/또는 레이턴시가 개선될 것이다.
흐름도는 블록(585)에서 계속된다. 프로세싱할 추가적인 프레임들이 있다면, 흐름도는 블록(555)으로 리턴하고, 클라이언트는, 선택적으로, 어떠한 부가적인 프레임들도 프로세싱되지 않을 때까지, 합성기로부터 전달된 눈 추적 파라미터들에 기초하여, 추가적인 프레임들을 프로세싱한다.
도 6은 하나 이상의 실시예들에 따른, 업데이트된 픽셀 위치를 선택하기 위한 흐름도를 도시한다. 특히, 흐름도(600)는 일부 실시예들에 따른, 대체 픽셀 위치를 결정하기 위한 예시적인 기술을 도시한다. 명확성을 위해, 도 6의 설명은 전술된 바와 같이 도 1 및 도 4와 관련하여 설명된다. 도 6에 도시된 다양한 프로세스가 특정 순서로 도시되어 있지만, 기재된 다양한 프로세스들이 상이한 순서로 수행될 수 있음이 이해되어야 한다. 또한, 다양한 프로세스들 모두가 수행될 필요는 없을 수 있다.
흐름도(600)는 시야의 중심과 연관된 픽셀이 가시성 영역 내에서 식별되는 605에서 시작한다. 시야의 중심은 눈의 전방에 위치된 스크린 상의 픽셀일 수 있고, 눈의 중심으로부터 시작되고 수직 방식으로 스크린의 표면으로 연장되는 벡터에 기초하여 결정될 수 있다. 따라서, 시야의 중심은 스크린의 중심 또는 스크린과 눈 사이의 렌즈의 중심과 연관된 픽셀에 위치되거나 그로부터 오프셋될 수 있다.
흐름도(600)는 시야의 중심과 연관된 픽셀 및 시선 방향과 연관된 픽셀로부터 벡터가 결정되는 610에서 계속된다. 시선 방향과 연관된 픽셀은 흐름도(500)의 블록(505)에 대해 전술된 바와 같이 결정될 수 있다. 흐름도(600)는 결정된 벡터를 따라 그리고 가시성 영역 내에서 픽셀들의 세트로부터 대체 픽셀이 선택되는 블록(615)에서 끝난다.
일부 실시예들에 따르면, 시스템 설정은 2개의 눈들을 추적하도록 구성될 수 있다. 하나의 눈에 대해 유효 데이터가 이용가능하지 않으면, 시스템은 다른 눈을 사용하여 무효 데이터로 눈의 시선을 예측하도록 구성될 수 있다. 예를 들어, 각각의 눈에 대한 시선 데이터가 획득될 수 있다. 시선 데이터의 세트들 중 하나가 무효 데이터를 포함한다고 결정되면, 예측 모델은 누락된 시선 데이터를 예측하기 위해 시선 데이터의 다른 세트에 적용될 수 있다. 시선 데이터의 세트는, 예를 들어 하드웨어 또는 소프트웨어 피드백에 기초하여, 눈들 사이의 데이터 일관성에 대한 리뷰에 기초하여, 예상되는 움직임들 내의 임계치 움직임 등에 기초하여 무효인 것으로 결정될 수 있다. 일부 실시예들에서, 시선 방향은 제시되는 콘텐츠에 기초하여 결정될 수 있다. 예를 들어, 물체가 사용자에게 제시되고 하나의 눈이 물체 바로 외부를 또는 물체의 임계 거리 내에서 보고 있는 것으로 결정되면, 시선은 물체에 "클램핑"될 수 있다. 유사하게, 장면 깊이는, 사용자가 보고 있는 곳을 결정하고 2개의 눈들이 동일한 깊이의 무엇인가를 보고 있음을 보장하는 데 사용될 수 있다. 일부 실시예들에서, 눈 모델 및 동공 직경은 눈이 보고 있는 깊이를 결정하는 데 사용될 수 있다.
도 7을 참조하면, 본 개시내용의 하나 이상의 실시예들에 따른 전자 디바이스(700)가 제시된다. 전자 디바이스(700)는 다기능 디바이스, 예컨대, 모바일 폰, 태블릿 컴퓨터, 개인용 디지털 어시스턴트, 휴대용 음악/비디오 플레이어, 웨어러블 디바이스, 기지국, 랩톱 컴퓨터, 데스크톱 컴퓨터, 네트워크 디바이스, 또는 임의의 기타 전자 디바이스의 일부일 수 있다. 전자 디바이스(700)는 일반적으로, 예를 들어, XR 애플리케이션의 맥락에서 눈 추적을 위해 사용된다. 전자 디바이스(700)의 다양한 컴포넌트들은 디바이스 내에 상이하게 분포될 수 있거나, 또는 추가 클라이언트 디바이스들, 네트워크 디바이스들 등과 같은 추가 디바이스들에 걸쳐 분포될 수 있다는 것이 이해되어야 한다.
전자 디바이스(700)는 중앙 프로세싱 유닛(CPU)과 같은 프로세서(710)를 포함할 수 있다. 프로세서(710)는 모바일 디바이스들에서 발견되는 것들과 같은 시스템-온-칩이고, 하나 이상의 전용 그래픽 프로세싱 유닛들(GPU들)을 포함할 수 있다. 추가로, 프로세서(710)는 동일하거나 상이한 유형의 다수의 프로세서들을 포함할 수 있다. 전자 디바이스(700)는 또한 메모리(720)를 포함할 수 있다. 메모리(720)는 프로세서(710)와 함께 디바이스 기능을 수행하기 위해 사용될 수 있는 하나 이상의 상이한 유형들의 메모리를 포함할 수 있다. 예를 들어, 메모리(720)는 캐시, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 또는 컴퓨터 판독가능 코드를 저장할 수 있는 임의의 종류의 일시적 또는 비일시적 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 메모리(720)는 눈 추적 모듈(722)뿐만 아니라 다른 애플리케이션들(724)을 포함하는, 프로세서(710)에 의한 실행을 위한 다양한 프로그래밍 모듈들을 저장할 수 있다. 전자 디바이스(700)는 또한 저장장치(730)를 포함할 수 있다. 저장장치(730)는, 예를 들어 자기 디스크들(고정형, 플로피, 및 이동형) 및 테이프, CD-ROM들 및 DVD(digital video disk)들과 같은 광학 미디어, 및 EPROM(Electrically Programmable Read-Only Memory) 및 EEPROM(Electrically Erasable Programmable Read-Only Memory)과 같은 반도체 메모리 디바이스들을 포함하는, 하나 이상의 비일시적 컴퓨터-판독가능 매체들을 포함할 수 있다. 저장장치(730)는 예를 들어, 눈 추적 기술들을 수행하기 위해 사용되는 데이터 또는 눈 추적 기술들이 활용되는 사용자에게 정보를 제시하기 위한 데이터를 포함할 수 있다.
전자 디바이스(700)는 또한 하나 이상의 카메라들(712) 또는 기타 센서들, 예컨대 장면의 깊이가 결정될 수 있는 깊이 센서를 포함할 수 있다. 하나 이상의 실시예들에서, 하나 이상의 카메라들(712)의 각각은 종래의 RGB 카메라, 또는 깊이 카메라일 수 있다. 또한, 카메라들(712)은 스테레오 카메라 또는 기타 다중-카메라 시스템, 비행시간(time-of-flight) 카메라 시스템 등을 포함할 수 있으며, 이들은 장면의 깊이 정보가 결정될 수 있는 이미지들을 캡처한다. 일부 실시예들에서, 하나 이상의 카메라(712)들은 눈 추적에 사용되는 카메라들일 수 있다. 전자 인터페이스(700)는 사용자가 XR 환경들과 상호작용하는 것을 허용할 수 있다. 사람이 다양한 XR 환경들을 감지하고/하거나 그와 상호작용할 수 있게 하는 많은 상이한 유형들의 전자 시스템들이 존재한다. 예들은 머리-장착가능 시스템들, 투사-기반 시스템들, 헤드-업(head-up) 디스플레이(HUD)들, 디스플레이 능력이 통합된 차량 앞유리들, 디스플레이 능력이 통합된 창문들, 사람의 눈들에 배치되도록 설계된 렌즈들로서 형성된 디스플레이들(예를 들어, 콘택트 렌즈들과 유사함), 헤드폰들/이어폰들, 스피커 어레이들, 입력 시스템들(예를 들어, 햅틱 피드백이 있거나 또는 없는 웨어러블 또는 핸드헬드 제어기들), 스마트폰들, 태블릿들, 및 데스크톱/랩톱 컴퓨터들을 포함한다. 머리-장착가능 시스템은 하나 이상의 스피커(들) 및 통합 불투명 디스플레이를 가질 수 있다. 대안적으로, 머리-장착가능 시스템은 외부 불투명 디스플레이(예를 들어, 스마트폰)를 수용하도록 구성될 수 있다. 머리-장착가능 시스템은 물리적 환경의 이미지들 또는 비디오를 캡처하기 위한 하나 이상의 이미징 센서들, 및/또는 물리적 환경의 오디오를 캡처하기 위한 하나 이상의 마이크로폰들을 포함할 수 있다. 헤드-장착가능 시스템은 불투명 디스플레이보다는, 투명 또는 반투명 디스플레이를 가질 수 있다. 투명 또는 반투명 디스플레이는 이미지들을 표현하는 광이 사람의 눈들로 지향되는 매체를 가질 수 있다. 디스플레이는 디지털 광 프로젝션, OLED들, LED들, uLED들, 실리콘 액정 표시장치, 레이저 스캐닝 광원, 또는 이들 기술들의 임의의 조합을 이용할 수 있다. 매체는 광학 도파관, 홀로그램 매체, 광학 조합기, 광학 반사기, 또는 이들의 임의의 조합일 수 있다. 일부 구현예들에서, 투명 또는 반투명 디스플레이는 선택적으로 불투명해지도록 구성될 수 있다. 투사-기반 시스템들은 그래픽 이미지들을 사람의 망막 상에 투사하는 망막 투사 기술을 채용할 수 있다. 투사 시스템들은 또한 가상 객체들을 물리적 환경에, 예를 들어, 홀로그램으로서 또는 물리적 표면 상에 투사하도록 구성될 수 있다.
이제, 도 8을 참조하면, 예시적인 다기능 전자 디바이스(800)의 단순화된 기능 블록도가 일 실시예에 따라 도시된다. 전자 디바이스들의 각각은 다기능 전자 디바이스일 수 있거나, 또는 본 명세서에 기재된 다기능 전자 디바이스의 기재된 컴포넌트들 중 일부 또는 전부를 가질 수 있다. 다기능 전자 디바이스(800)는 프로세서(805), 디스플레이(810), 사용자 인터페이스(815), 그래픽 하드웨어(820), 디바이스 센서들(825)(예컨대, 근접 센서/주변 광 센서, 가속도계 및/또는 자이로스코프), 마이크로폰(830), 오디오 코덱(들)(835), 스피커(들)(840), 통신 회로부(845), (예컨대, 카메라 시스템을 포함하는) 디지털 이미지 캡처 회로부(850), (예컨대, 디지털 이미지 캡처 유닛을 지원하는) 비디오 코덱(들)(855), 메모리(860), 저장 디바이스(865), 및 통신 버스(870)를 포함할 수 있다. 다기능 전자 디바이스(800)는 예를 들어, 디지털 카메라 또는 개인 전자 디바이스 그 예로 개인 휴대정보 단말기(PDA), 개인 음악 플레이어, 모바일 텔레폰, 또는 태블릿 컴퓨터일 수 있다.
프로세서(805)는 디바이스(800)에 의해 수행되는 (예컨대, 본 명세서에 개시된 바와 같은 이미지들의 발생 및/또는 프로세싱과 같은) 많은 기능들의 동작을 이행하거나 제어하기 위해 필요한 명령어들을 실행시킬 수 있다. 예를 들어, 프로세서(805)는 디스플레이(810)를 구동하고 사용자 인터페이스(815)로부터 사용자 입력을 수신할 수 있다. 사용자 인터페이스(815)는 사용자가 디바이스(800)와 상호 작용하는 것을 허용할 수 있다. 예를 들어, 사용자 인터페이스(815)는 다양한 형태들, 그 예로 버튼, 키패드, 다이얼, 클릭 휠, 키보드, 디스플레이 스크린 및/또는 터치 스크린을 가질 수 있다. 프로세서(805)는 또한, 예를 들어, 모바일 디바이스에서 발견되는 것과 같은 시스템-온-칩일 수 있고 전용 GPU를 포함할 수 있다. 프로세서(805)는 RISC(reduced instruction-set computer) 또는 CISC(complex instruction-set computer) 아키텍처들 또는 임의의 다른 적합한 아키텍처에 기초할 수 있으며, 하나 이상의 프로세싱 코어들을 포함할 수 있다. 그래픽 하드웨어(820)는 그래픽을 프로세싱하기 위한 특수 목적의 연산 하드웨어일 수 있고/있거나 보조 프로세서(805)는 그래픽 정보를 프로세싱한다. 일 실시예에서, 그래픽 하드웨어(820)는 프로그래밍 가능한 GPU를 포함할 수 있다.
이미지 캡처 회로부(850)는 두(또는 그 이상) 렌즈 조립체들(880A, 880B)을 포함할 수 있고, 각각의 렌즈 조립체는 별개의 초점 거리를 가질 수 있다. 예를 들어, 렌즈 조립체(880A)는 렌즈 조립체(880B)보다 짧은 초점 거리를 가질 수 있다. 각각의 렌즈 조립체는 별개의 연관 센서 요소(890A 또는 890B)를 가질 수 있다. 대안적으로, 2 개 이상의 렌즈 조립체들은 공통 센서 요소를 공유할 수 있다. 이미지 캡처 회로부(850)는 정지 및/또는 비디오 이미지들을 캡처할 수 있다. 이미지 캡처 회로부(850)로부터의 출력은 비디오 코덱(들)(855) 및/또는 프로세서(805) 및/또는 그래픽 하드웨어(820), 및/또는 회로부(850) 내에 통합된 전용 이미지 프로세싱 유닛 또는 파이프라인에 의해, 적어도 부분적으로 프로세싱될 수 있다. 캡처된 이미지들은 메모리(860) 및/또는 저장장치(865)에 저장될 수 있다.
센서 및 카메라 회로부(850)는 적어도 부분적으로 비디오 코덱(들)(855) 및/또는 프로세서(805) 및/또는 그래픽 하드웨어(820), 및/또는 회로부(850) 내에 통합된 전용 이미지 프로세싱 유닛에 의해 본 개시내용에 따라 프로세싱될 수 있는 정지 및 비디오 이미지들을 캡처할 수 있다. 그렇게 캡처된 이미지들은 메모리(860) 및/또는 저장장치(865)에 저장될 수 있다. 메모리(860)는 디바이스 기능들을 수행하기 위해 프로세서(805) 및 그래픽 하드웨어(820)에 의해 사용된 하나 이상의 상이한 유형들의 미디어를 포함할 수 있다. 예를 들어, 메모리(860)는 메모리 캐시, ROM, 및/또는 RAM을 포함할 수 있다. 저장장치(865)는 미디어(예컨대, 오디오, 이미지 및 비디오 파일들), 컴퓨터 프로그램 명령어들 또는 소프트웨어, 선호도 정보, 디바이스 프로파일 정보, 및 임의의 다른 적합한 데이터를 저장할 수 있다. 저장장치(865)는, 예를 들어 자기 디스크들(고정형, 플로피, 및 이동형) 및 테이프, CD-ROM들 및 DVD(digital video disk)들과 같은 광학 미디어, 및 EPROM(Electrically Programmable Read-Only Memory) 및 EEPROM(Electrically Erasable Programmable Read-Only Memory)과 같은 반도체 메모리 디바이스들을 포함하는, 하나 이상의 비일시적 컴퓨터-판독가능 저장 매체들을 포함할 수 있다. 메모리(860) 및 저장장치(865)는 하나 이상의 모듈들로 조직화되고 임의의 원하는 컴퓨터 프로그래밍 언어로 기록되는 컴퓨터 프로그램 명령어들 또는 코드를 유형적으로 보유하기 위해 사용될 수 있다. 예를 들어, 프로세서(805)에 의해 실행될 때, 그러한 컴퓨터 프로그램 코드는 본 명세서에 기술된 방법들 중 하나 이상을 구현할 수 있다.
물리적 환경은 사람들이 전자 디바이스들의 도움 없이 감지하고/하거나 그와 상호작용할 수 있는 물리적 세계를 지칭한다. 물리적 환경은 물리적 표면 또는 물리적 객체와 같은 물리적 특징부들을 포함할 수 있다. 예를 들어, 물리적 환경은 물리적 나무들, 물리적 건물들, 및 물리적 사람들을 포함하는 물리적 공원에 대응한다. 사람들은, 예컨대 시각, 촉각, 청각, 미각, 및 후각을 통해, 물리적 환경을 직접 감지하고/하거나 그와 상호작용할 수 있다. 대조적으로, 확장 현실(extended reality, XR) 환경은 사람들이 전자 디바이스를 통해 감지하고/하거나 그와 상호작용하는 완전히 또는 부분적으로 시뮬레이션된 환경을 지칭한다. 예를 들어, XR 환경은 증강 현실(augmented reality, AR) 콘텐츠, 혼합 현실(mixed reality, MR) 콘텐츠, 가상 현실(virtual reality, VR) 콘텐츠 등을 포함할 수 있다. XR 시스템을 이용하면, 사람의 신체적 움직임들 또는 그 표현들의 서브세트가 추적되고, 이에 응답하여, XR 환경에서 시뮬레이션된 하나 이상의 가상 객체들의 하나 이상의 특성들이 적어도 하나의 물리 법칙에 따르는 방식으로 조정된다. 일 예로서, XR 시스템은 머리 움직임을 검출할 수 있고, 이에 응답하여, 사람에게 제시되는 그래픽 콘텐츠 및 음장(acoustic field)을 그러한 뷰들 및 소리들이 물리적 환경에서 변경되는 방법과 유사한 방식으로 조정할 수 있다. 다른 예로서, XR 시스템은 XR 환경을 제시하는 전자 디바이스(예컨대, 모바일 폰, 태블릿, 랩톱 등)의 이동을 검출할 수 있고, 이에 응답하여, 사람에게 제시되는 그래픽 콘텐츠 및 음장을 그러한 뷰들 및 소리들이 물리적 환경에서 변경되는 방법과 유사한 방식으로 조정할 수 있다. 일부 상황들에서(예컨대, 접근성 이유들로 인해), XR 시스템은 물리적 모션들의 표현들(예컨대, 음성 커맨드들)에 응답하여 XR 환경 내의 그래픽 콘텐츠의 특성(들)을 조정할 수 있다.
이상의 설명이 제한적인 것이 아니라 예시적인 것으로 의도되어 있음이 이해되어야 한다. 임의의 당업자가 개시된 발명을 청구되는 바와 같이 만들고 사용하도록 할 수 있는 내용들이 제시되었고, 특정 실시예들의 상황에서 제공되지만, 그의 변형들이 당업자들에게 쉽게 이해될 것이다(예를 들어, 개시된 실시예들 중 일부는 서로 조합하여 사용될 수 있다). 따라서, 도 2와 도 3 및 도 5와 도 6에 도시된 특정 배열의 단계들 또는 행동들 또는 도 1, 도 4 및 도 7과 도 8에 도시된 배열의 요소들은 개시된 발명의 범주를 제한하는 것으로서 해석되어서는 안된다. 그러므로, 본 발명의 범주는 첨부된 특허청구범위를 참조하여, 이러한 청구범위의 권리를 갖는 등가물들의 전체 범주에 따라 결정되어야 한다. 첨부된 청구범위에서, 용어들 "포함하는(including)" 및 "여기서(in which)"는 각자의 용어들 "포함하는(comprising)" 및 "여기서(wherein)"의 평이한 영어 등가물들로서 사용된다.

Claims (20)

  1. 방법으로서,
    사용자의 전방에 위치된 렌즈와 관련된 상기 사용자의 초기 동공 위치를 결정하는 단계;
    상기 렌즈와 관련된 업데이트된 동공 위치로의 상기 렌즈와 관련된 동공 위치의 변화를 검출하는 단계;
    상기 업데이트된 동공 위치가 상기 렌즈와 연관된 경계 박스 외부에 있다고 결정하는 단계;
    상기 업데이트된 동공 위치를 상기 렌즈와 연관된 상기 경계 박스 내의 대체 동공 위치로 대체하는 단계; 및
    눈 추적 기능을 위해 상기 업데이트된 동공 위치를 활용하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 초기 동공 위치는 상기 사용자에게 제시되는 제1 프레임과 연관되고, 상기 방법은,
    상기 업데이트된 동공 위치에 기초하여 상기 사용자에게 제2 프레임을 제시하는 단계를 더 포함하는, 방법.
  3. 제2항에 있어서, 상기 제2 프레임은 상기 업데이트된 동공 위치에 따라 왜곡되는, 방법.
  4. 제2항에 있어서, 상기 업데이트된 동공 위치를 대체 동공 위치로 대체하는 단계는 상기 초기 동공 위치로부터 상기 대체 동공 위치에 용이성 함수를 적용함으로써 결정되는, 방법.
  5. 제4항에 있어서, 상기 용이성 함수는 시간 기반 용이성 함수를 포함하고, 상기 대체 동공 위치는 상기 제2 프레임을 포함하는 일련의 프레임들에 걸쳐 도달되는, 방법.
  6. 제1항에 있어서, 상기 경계 박스는 상기 렌즈에 대한 교정 정보에 따라 결정되는, 방법.
  7. 제1항에 있어서, 상기 경계 박스는 상기 렌즈의 미리 결정된 영역에 따라 결정되는, 방법.
  8. 하나 이상의 프로세서들에 의해 실행가능한 컴퓨터 판독가능 코드를 포함하는 비일시적 컴퓨터 판독가능 매체로서, 상기 컴퓨터 판독가능 코드는,
    사용자의 전방에 위치된 렌즈와 관련된 상기 사용자의 초기 동공 위치를 결정하고;
    상기 렌즈와 관련된 업데이트된 동공 위치로의 상기 렌즈와 관련된 동공 위치의 변화를 검출하고;
    상기 업데이트된 동공 위치가 상기 렌즈와 연관된 경계 박스 외부에 있다고 결정하고;
    상기 업데이트된 동공 위치를 상기 경계 박스 내에 위치된 대체 동공 위치로 대체하고;
    눈 추적 기능을 위해 상기 업데이트된 동공 위치를 활용하기 위한 것인, 비일시적 컴퓨터 판독가능 매체.
  9. 제8항에 있어서, 상기 초기 동공 위치는 상기 사용자에게 제시된 제1 프레임과 연관되고,
    상기 업데이트된 동공 위치에 기초하여 상기 사용자에게 제2 프레임을 제시하기 위한 컴퓨터 판독가능 코드를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  10. 제9항에 있어서, 상기 제2 프레임은 상기 업데이트된 동공 위치에 따라 왜곡되는, 비일시적 컴퓨터 판독가능 매체.
  11. 제9항에 있어서, 상기 업데이트된 동공 위치를 대체 동공 위치로 대체하기 위한 상기 컴퓨터 판독가능 코드는, 상기 초기 동공 위치로부터 상기 대체 동공 위치에 용이성 함수를 적용함으로써 결정되는, 비일시적 컴퓨터 판독가능 매체.
  12. 제11항에 있어서, 상기 용이성 함수는 시간 기반 용이성 함수를 포함하고, 상기 대체 동공 위치는 상기 제2 프레임을 포함하는 일련의 프레임들에 걸쳐 도달되는, 비일시적 컴퓨터 판독가능 매체.
  13. 제8항에 있어서, 상기 경계 박스는 상기 렌즈에 대한 교정 정보에 따라 결정되는, 비일시적 컴퓨터 판독가능 매체.
  14. 제8항에 있어서, 상기 경계 박스는 상기 렌즈의 미리 결정된 영역에 따라 결정되는, 비일시적 컴퓨터 판독가능 매체.
  15. 시스템으로서,
    하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 의해 실행가능한 컴퓨터 판독가능 코드를 포함하는 하나 이상의 컴퓨터 판독가능 매체들을 포함하고, 상기 컴퓨터 판독가능 코드는,
    사용자의 전방에 위치된 렌즈와 관련된 상기 사용자의 초기 동공 위치를 결정하고;
    상기 렌즈와 관련된 업데이트된 동공 위치로의 상기 렌즈와 관련된 동공 위치의 변화를 검출하고;
    상기 업데이트된 동공 위치가 상기 렌즈와 연관된 경계 박스 외부에 있다고 결정하고;
    상기 업데이트된 동공 위치를 상기 렌즈와 연관된 상기 경계 박스 내의 대체 동공 위치로 대체하고;
    눈 추적 기능을 위해 상기 업데이트된 동공 위치를 활용하기 위한 것인, 시스템.
  16. 제15항에 있어서, 상기 초기 동공 위치는 상기 사용자에게 제시된 제1 프레임과 연관되고,
    상기 업데이트된 동공 위치에 기초하여 상기 사용자에게 제2 프레임을 제시하기 위한 컴퓨터 판독가능 코드를 더 포함하는, 시스템.
  17. 제16항에 있어서, 상기 제2 프레임은 상기 업데이트된 동공 위치에 따라 왜곡되는, 시스템.
  18. 제16항에 있어서, 상기 업데이트된 동공 위치를 대체 동공 위치로 대체하기 위한 상기 컴퓨터 판독가능 코드는, 상기 초기 동공 위치로부터 상기 대체 동공 위치에 용이성 함수를 적용함으로써 결정되는, 시스템.
  19. 제18항에 있어서, 상기 용이성 함수는 시간 기반 용이성 함수를 포함하고, 상기 대체 동공 위치는 상기 제2 프레임을 포함하는 일련의 프레임들에 걸쳐 도달되는, 시스템.
  20. 제15항에 있어서, 상기 경계 박스는 상기 렌즈에 대한 교정 정보에 따라 결정되는, 시스템.
KR1020220078748A 2021-06-30 2022-06-28 눈 추적 데이터 필터링 KR20230004305A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163216855P 2021-06-30 2021-06-30
US63/216,855 2021-06-30
US202217809734A 2022-06-29 2022-06-29
US17/809,734 2022-06-29

Publications (1)

Publication Number Publication Date
KR20230004305A true KR20230004305A (ko) 2023-01-06

Family

ID=84924412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220078748A KR20230004305A (ko) 2021-06-30 2022-06-28 눈 추적 데이터 필터링

Country Status (2)

Country Link
US (1) US20230305625A1 (ko)
KR (1) KR20230004305A (ko)

Also Published As

Publication number Publication date
US20230305625A1 (en) 2023-09-28

Similar Documents

Publication Publication Date Title
KR102256706B1 (ko) 부드럽게 변화하는 포비티드 렌더링
US9360671B1 (en) Systems and methods for image zoom
US10347050B1 (en) Augmented reality device to warp images
US11379952B1 (en) Foveated image capture for power efficient video see-through
US11301966B2 (en) Per-pixel filter
US11720996B2 (en) Camera-based transparent display
CN112041788A (zh) 使用眼睛注视来选择文本输入字段
CN110968248B (zh) 生成用于视觉触摸检测的指尖的3d模型
US20230377249A1 (en) Method and Device for Multi-Camera Hole Filling
US20230305625A1 (en) Eye Tracking Data Filtering
GB2608705A (en) Eye tracking data filtering
US10535179B2 (en) Audio processing
US20240005630A1 (en) Real Time Visual Mitigation of a Live Camera Feed
US20230077410A1 (en) Multi-View Video Codec
US20240104693A1 (en) Deep Learning Based Causal Image Reprojection for Temporal Supersampling in AR/VR Systems
US20240112303A1 (en) Context-Based Selection of Perspective Correction Operations
US11715271B2 (en) XR preferred movement along planes
US20230370578A1 (en) Generating and Displaying Content based on Respective Positions of Individuals
US11836872B1 (en) Method and device for masked late-stage shift
US11327562B2 (en) Method and apparatus for tracking eye based on eye reconstruction
US20240005511A1 (en) Immediate Proximity Detection and Breakthrough with Visual Treatment
US20230067584A1 (en) Adaptive Quantization Matrix for Extended Reality Video Encoding
US20240104862A1 (en) Spatially aware playback for extended reality content
CN115802143A (zh) 基于设备位置调整图像的显示
CN117981296A (zh) 使用多个相机的扩展视场