Search

KR-20260061452-A - DYNAMIC OVER-RENDERING IN LATE-WARPING

KR20260061452AKR 20260061452 AKR20260061452 AKR 20260061452AKR-20260061452-A

Abstract

AR 디바이스에서 디스플레이의 오버-렌더링된 영역을 조정하기 위한 방법이 설명된다. 방법은 디스플레이 디바이스의 각속도, 디스플레이 디바이스의 가장 최근 자세, 이전의 워프 자세들, 및 이전의 오버-렌더링된 영역들을 식별하는 단계, 및 각속도, 가장 최근 자세, 이전의 워프 자세들, 및 이전의 오버-렌더링된 영역들의 조합에 기초하여 동적 오버-렌더링된 영역의 크기를 조정하는 단계를 포함한다.

Inventors

  • 융, 베른하르트
  • 리 킴-쿤, 에드워드

Assignees

  • 스냅 인코포레이티드

Dates

Publication Date
20260506
Application Date
20220516
Priority Date
20211118

Claims (20)

  1. 방법으로서, 디스플레이 디바이스의 가장 최근 자세, 상기 가장 최근 자세에 앞서는 이전의 워프 자세들, 및 이전의 오버-렌더링된 영역들을 식별하는 단계; 및 상기 가장 최근 자세, 상기 가장 최근 자세에 앞서는 상기 이전의 워프 자세들, 및 상기 이전의 오버-렌더링된 영역들에 기초하여 동적 오버-렌더링된 영역의 크기를 조정하는 단계 를 포함하는 방법.
  2. 제1항에 있어서, 상기 동적 오버-렌더링된 영역의 크기를 조정하는 단계는 상기 디스플레이 디바이스의 각속도를 식별하는 단계; 상기 각속도가 임계치를 초과하는 것을 검출하는 단계; 및 상기 각속도가 상기 임계치를 초과하는 것을 검출하는 것에 응답하여, 상기 동적 오버-렌더링된 영역의 크기를 증가시키는 단계를 추가로 포함하는 방법.
  3. 제1항에 있어서, 상기 동적 오버-렌더링된 영역의 크기를 조정하는 단계는 제1 워프 자세를 식별하는 단계; 상기 제1 워프 자세에 대응하는 제1 오버-렌더링된 영역을 식별하는 단계; 상기 제1 워프 자세에 후속하는 제2 워프 자세를 식별하는 단계; 상기 제1 워프 자세에 대응하는 제2 오버-렌더링된 영역을 식별하는 단계; 및 상기 제1 오버-렌더링된 영역 및 상기 제2 오버-렌더링된 영역에 기초하여 상기 동적 오버-렌더링된 영역을 형성하는 단계를 추가로 포함하는 방법.
  4. 제3항에 있어서, 상기 동적 오버-렌더링된 영역은 상기 제1 오버-렌더링된 영역의 일부 및 상기 제2 오버-렌더링된 영역의 일부를 포함하는 방법.
  5. 제1항에 있어서, 상기 동적 오버-렌더링된 영역의 크기를 조정하는 단계는 각속도, 상기 가장 최근 자세, 상기 이전의 워프 자세들, 및 상기 이전의 오버-렌더링된 영역들의 조합에 기초하여 상기 동적 오버-렌더링된 영역의 크기를 추정하기 위해 휴리스틱 알고리즘(heuristic algorithm)을 적용하는 단계를 추가로 포함하는 방법.
  6. 제1항에 있어서, 상기 동적 오버-렌더링된 영역의 크기를 조정하는 단계는 가장 최근 자세 데이터, 각속도 데이터, 워프 자세 이력 데이터, 및 오버-렌더링된 영역 이력 데이터의 조합에 기초하여 훈련 데이터를 생성하는 단계; 상기 훈련 데이터에 대한 머신 학습 알고리즘을 이용하여, 상이한 파라미터들에 기초하여 오버-렌더링된 영역의 크기들을 식별하는 머신 학습 모델을 훈련하는 단계; 및 상기 머신 학습 모델을 이용하여, 상기 동적 오버-렌더링된 영역의 크기를 추정하는 단계를 추가로 포함하는 방법.
  7. 제1항에 있어서, 렌더링된 자세에 기초하여 가상 콘텐츠를 생성하는 단계; 상기 동적 오버-렌더링된 영역의 크기를 식별하는 단계; 상기 동적 오버-렌더링된 영역에 상기 가상 콘텐츠를 렌더링하는 단계; 상기 가장 최근 자세에 기초하여 렌더링된 이미지에 변환을 적용하여, 변환된 이미지를 생성하는 단계; 및 상기 변환된 이미지를 상기 디스플레이 디바이스의 디스플레이에 디스플레이하는 단계 를 추가로 포함하는 방법.
  8. 제1항에 있어서, 제1 시간에 상기 디스플레이 디바이스의 센서로부터의 제1 센서 데이터에 액세스하는 단계; 상기 디스플레이 디바이스의 추적 시스템을 이용하여, 상기 제1 센서 데이터에 기초하여 상기 디스플레이 디바이스의 제1 자세를 결정하는 단계; 상기 제1 시간에 후속하는 제2 시간에 상기 디스플레이 디바이스의 센서로부터의 제2 센서 데이터에 액세스하는 단계; 및 상기 디스플레이 디바이스의 상기 추적 시스템을 이용하여, 상기 제2 센서 데이터에 기초하여 상기 디스플레이 디바이스의 제2 자세를 결정하는 단계 를 추가로 포함하는 방법.
  9. 제1항에 있어서, 상기 디스플레이 디바이스의 3D 렌더 엔진의 렌더 레이트에 기초하여 상기 동적 오버-렌더링된 영역의 크기를 조정하는 단계 를 추가로 포함하는 방법.
  10. 제1항에 있어서, 상기 디스플레이 디바이스의 AR 애플리케이션을 이용하여, 상기 동적 오버-렌더링된 영역에서 가상 콘텐츠를 생성하는 단계 를 추가로 포함하는 방법.
  11. 디스플레이 디바이스로서, 프로세서; 및 명령어들을 저장한 메모리 를 포함하고, 상기 명령어들은 상기 프로세서에 의해 실행될 때 동작들을 수행하도록 상기 디스플레이 디바이스를 구성하고, 상기 동작들은 상기 디스플레이 디바이스의 가장 최근 자세, 상기 가장 최근 자세에 앞서는 이전의 워프 자세들, 및 이전의 오버-렌더링된 영역들을 식별하는 동작; 및 상기 가장 최근 자세, 상기 가장 최근 자세에 앞서는 상기 이전의 워프 자세들, 및 상기 이전의 오버-렌더링된 영역들에 기초하여 동적 오버-렌더링된 영역의 크기를 조정하는 동작 을 포함하는 디스플레이 디바이스.
  12. 제11항에 있어서, 상기 동적 오버-렌더링된 영역의 크기를 조정하는 동작은 상기 디스플레이 디바이스의 각속도를 식별하는 동작; 상기 각속도가 임계치를 초과하는 것을 검출하는 동작; 및 상기 각속도가 상기 임계치를 초과하는 것을 검출하는 것에 응답하여, 상기 동적 오버-렌더링된 영역의 크기를 증가시키는 동작을 추가로 포함하는 디스플레이 디바이스.
  13. 제11항에 있어서, 상기 동적 오버-렌더링된 영역의 크기를 조정하는 동작은 제1 워프 자세를 식별하는 동작; 상기 제1 워프 자세에 대응하는 제1 오버-렌더링된 영역을 식별하는 동작; 상기 제1 워프 자세에 후속하는 제2 워프 자세를 식별하는 동작; 상기 제1 워프 자세에 대응하는 제2 오버-렌더링된 영역을 식별하는 동작; 및 상기 제1 오버-렌더링된 영역 및 상기 제2 오버-렌더링된 영역에 기초하여 상기 동적 오버-렌더링된 영역을 형성하는 동작을 추가로 포함하는 디스플레이 디바이스.
  14. 제13항에 있어서, 상기 동적 오버-렌더링된 영역은 상기 제1 오버-렌더링된 영역의 일부 및 상기 제2 오버-렌더링된 영역의 일부를 포함하는 디스플레이 디바이스.
  15. 제11항에 있어서, 상기 동적 오버-렌더링된 영역의 크기를 조정하는 동작은 각속도, 상기 가장 최근 자세, 상기 이전의 워프 자세들, 및 상기 이전의 오버-렌더링된 영역들의 조합에 기초하여 상기 동적 오버-렌더링된 영역의 크기를 추정하기 위해 휴리스틱 알고리즘을 적용하는 동작을 추가로 포함하는 디스플레이 디바이스.
  16. 제11항에 있어서, 상기 동적 오버-렌더링된 영역의 크기를 조정하는 동작은 가장 최근 자세 데이터, 각속도 데이터, 워프 자세 이력 데이터, 및 오버-렌더링된 영역 이력 데이터의 조합에 기초하여 훈련 데이터를 생성하는 동작; 상기 훈련 데이터에 대한 머신 학습 알고리즘을 이용하여, 상이한 파라미터들에 기초하여 오버-렌더링된 영역의 크기들을 식별하는 머신 학습 모델을 훈련하는 동작; 및 상기 머신 학습 모델을 이용하여, 상기 동적 오버-렌더링된 영역의 크기를 추정하는 동작을 추가로 포함하는 디스플레이 디바이스.
  17. 제11항에 있어서, 상기 동작들은 렌더링된 자세에 기초하여 가상 콘텐츠를 생성하는 동작; 상기 동적 오버-렌더링된 영역의 크기를 식별하는 동작; 상기 동적 오버-렌더링된 영역에 상기 가상 콘텐츠를 렌더링하는 동작; 상기 가장 최근 자세에 기초하여 렌더링된 이미지에 변환을 적용하여, 변환된 이미지를 생성하는 동작; 및 상기 변환된 이미지를 상기 디스플레이 디바이스의 디스플레이에 디스플레이하는 동작 을 추가로 포함하는 디스플레이 디바이스.
  18. 제11항에 있어서, 상기 동작들은 제1 시간에 상기 디스플레이 디바이스의 센서로부터의 제1 센서 데이터에 액세스하는 동작; 상기 디스플레이 디바이스의 추적 시스템을 이용하여, 상기 제1 센서 데이터에 기초하여 상기 디스플레이 디바이스의 제1 자세를 결정하는 동작; 상기 제1 시간에 후속하는 제2 시간에 상기 디스플레이 디바이스의 센서로부터의 제2 센서 데이터에 액세스하는 동작; 및 상기 디스플레이 디바이스의 상기 추적 시스템을 이용하여, 상기 제2 센서 데이터에 기초하여 상기 디스플레이 디바이스의 제2 자세를 결정하는 동작 을 추가로 포함하는 디스플레이 디바이스.
  19. 제11항에 있어서, 상기 동작들은 상기 디스플레이 디바이스의 3D 렌더 엔진의 렌더 레이트에 기초하여 상기 동적 오버-렌더링된 영역의 크기를 조정하는 동작; 및 상기 디스플레이 디바이스의 AR 애플리케이션을 이용하여, 상기 동적 오버-렌더링된 영역에서 가상 콘텐츠를 생성하는 동작 을 추가로 포함하는 디스플레이 디바이스.
  20. 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 판독가능 저장 매체는 명령어들을 포함하고, 상기 명령어들은 디스플레이 디바이스에 의해 실행될 때 상기 디스플레이 디바이스로 하여금 동작들을 수행하게 하고, 상기 동작들은 상기 디스플레이 디바이스의 가장 최근 자세, 상기 가장 최근 자세에 앞서는 이전의 워프 자세들, 및 이전의 오버-렌더링된 영역들을 식별하는 동작; 및 상기 가장 최근 자세, 상기 가장 최근 자세에 앞서는 상기 이전의 워프 자세들, 및 상기 이전의 오버-렌더링된 영역들에 기초하여 동적 오버-렌더링된 영역의 크기를 조정하는 동작 을 포함하는 비일시적 컴퓨터 판독가능 저장 매체.

Description

늦은-워핑에서의 동적 오버-렌더링{DYNAMIC OVER-RENDERING IN LATE-WARPING} 본 출원은 2021년 5월 18일자로 출원된 미국 가특허 출원 제63/189,928호에 대한 우선권을 주장하는 2021년 11월 18일자로 출원된 미국 특허 출원 제17/530,242호에 대한 우선권을 주장하며, 이들 각각은 참조 문헌으로서 그 전체 내용이 본 명세서에 포함된다. 본 명세서에 개시된 주제는 일반적으로 디스플레이 시스템에 관한 것이다. 구체적으로, 본 개시내용은 증강 현실(AR) 디바이스들에서 모션-대-광자 레이턴시(motion-to-photon latency)를 감소시키기 위한 시스템들 및 방법들을 다룬다. 증강 현실(AR) 시스템들은 사용자의 현실 세계 환경을 증강시키기 위해 가상 콘텐츠를 제시한다. 예를 들어, 물리적 객체 위에 오버레이된 가상 콘텐츠는 물리적 객체가 움직이고 있고, 애니메이션화되어 있다는 등의 착시를 생성하는데 사용될 수 있다. 사용자가 착용한 AR 디바이스는 사용자의 움직임들에 기초하여 가상 콘텐츠의 제시를 계속 업데이트하여 가상 콘텐츠가 사용자의 현실 세계 환경에 물리적으로 존재한다는 착시를 생성한다. 예를 들어, 사용자가 자신의 머리를 움직일 때, AR 디바이스는 가상 콘텐츠의 제시를 업데이트하여 가상 콘텐츠가 사용자의 현실 세계 환경 내에서 동일한 지리적 포지션에 남아 있다는 착시를 생성한다. 따라서, 사용자는 사용자가 물리적 객체 주위를 움직이는 것과 동일한 방식으로 AR 디바이스에 의해 제시된 가상 객체 주위로 이동할 수 있다. 가상 객체가 사용자의 현실 세계 환경에 있다는 착시를 설득력 있게 생성하기 위해, AR 디바이스는 디바이스의 움직임에 대해 거의 순간적으로 가상 객체의 제시를 업데이트해야 한다. 그러나, AR 디바이스가 환경 데이터를 처리하고, 가상 콘텐츠를 렌더링한 다음, 가상 콘텐츠를 투영해야 하기 때문에, 가상 콘텐츠는 업데이트되는데 더 긴 시간이 걸릴 수 있다. 이 프로세스는 물리적 객체가 AR 디바이스에 의해 추적되는 시간과 렌더링된 가상 객체가 AR 디바이스의 디스플레이에 디스플레이되는 시간 사이의 레이턴시를 생성한다. 이 레이턴시는 "모션-대-광자 레이턴시(motion-to-photon latency)"라고도 지칭된다. 임의의 인지가능한 모션-대-광자 레이턴시는 사용자의 경험을 감소시킨다. 임의의 특정 요소 또는 액트(act)의 논의를 용이하게 식별하기 위해, 참조 번호에서 최상위 숫자 또는 숫자들은 그 요소가 처음 도입되는 도면 번호를 지칭한다. 도 1은 일 예시적인 실시예에 따른 AR 디바이스를 동작시키기 위한 환경을 예시하는 블록도이다. 도 2는 일 예시적인 실시예에 따른 AR/VR 디스플레이 디바이스를 예시하는 블록도이다. 도 3은 일 예시적인 실시예에 따른 시각적 추적 시스템을 예시하는 블록도이다. 도 4는 일 예시적인 실시예에 따른 디스플레이 제어기를 예시하는 블록도이다. 도 5는 일 예시적인 실시예에 따른 동적 오버-렌더링 모듈을 예시하는 블록도이다. 도 6은 일 예시적인 실시예에 따른 동적 오버-렌더링 프로세스를 예시하는 블록도이다. 도 7은 일 예시적인 실시예에 따른 동적 오버-렌더링을 위한 프로세스를 예시하는 흐름도이다. 도 8은 일 예시적인 실시예에 따른 동적 오버-렌더링 영역의 예를 예시한다. 도 9는 일 예시적인 실시예에 따른 동적 오버-렌더링 영역들의 예를 예시한다. 도 10은 일 예시적인 실시예에 따른 동적 오버-렌더링된 영역에서 이미지를 렌더링하기 위한 방법을 예시하는 흐름도이다. 도 11은 일 예시적인 실시예에 따른 동적 오버-렌더링된 영역에서 이미지를 렌더링하기 위한 방법을 예시하는 흐름도이다. 도 12는 일 예시적인 실시예에 따라 헤드-웨어러블 디바이스가 구현될 수 있는 네트워크 환경을 예시한다. 도 13은 예시적인 실시예에 따른, 본 개시내용이 구현될 수 있는 소프트웨어 아키텍처를 도시하는 블록도이다. 도 14는 일 예시적인 실시예에 따른, 머신으로 하여금 본 명세서에서 논의된 방법론들 중 임의의 하나 이상을 수행하게 야기하기 위한 명령어들의 세트가 실행될 수 있는 컴퓨터 시스템 형태의 머신의 도식적 표현이다. 이하의 설명은 본 주제의 예시적인 실시예들을 예시하는 시스템들, 방법들, 기법들, 명령어 시퀀스들, 및 컴퓨팅 머신 프로그램 제품들을 설명한다. 이하의 설명에서는, 설명의 목적으로, 본 주제의 다양한 실시예들의 이해를 제공하기 위해 수많은 특정 세부사항들이 제시된다. 그러나, 본 기술분야의 통상의 기술자들에게는, 본 주제의 실시예들이 이러한 특정 세부사항들 중 일부 또는 다른 것이 없어도 실시될 수 있다는 것이 명백할 것이다. 예들은 가능한 변형들을 단지 유형화한다. 명시적으로 달리 언급되지 않는 한, 구조들(예를 들어, 모듈들과 같은 구조적 컴포넌트들)은 선택적이고, 조합되거나 세분될 수 있으며, (예를 들어, 절차, 알고리즘, 또는 다른 기능에서의) 동작들은 시퀀스가 변하거나 조합되거나 세분될 수 있다. "증강 현실(augmented reality)"(AR)이라는 용어는, 본 명세서에서, 현실 세계에 존재하는 물리적 객체들이 컴퓨터-생성 디지털 콘텐츠(가상 콘텐츠 또는 합성 콘텐츠라고도 지칭됨)에 의해 "증강" 또는 강화되는 현실 세계 환경의 상호작용 경험을 지칭하는데 사용된다. AR은 또한 현실 및 가상 세계들의 조합, 실시간 상호작용, 및 가상 및 실제 객체들의 3D 등록을 가능하게 하는 시스템을 지칭할 수 있다. AR은 가상 콘텐츠가 사용자의 현실 세계 환경에 물리적으로 존재하고, 사용자의 현실 세계 환경에 부착되거나 그와 상호작용하는 것으로 보인다는 착시를 생성한다. 용어 "가상 현실"(VR)은 본 명세서에서 현실 세계 환경과 완전히 구별되는 가상 세계 환경의 시뮬레이션 경험을 지칭하는데 사용된다. 컴퓨터-생성 디지털 콘텐츠는 가상 세계 환경에서 디스플레이된다. VR은 또한 VR 시스템의 사용자가 가상 세계 환경에 완전히 몰입되고 가상 세계 환경에 제시된 가상 객체들과 상호작용할 수 있게 하는 시스템을 지칭한다. 용어 "AR 애플리케이션"은 본 명세서에서 AR 경험을 가능하게 하는 컴퓨터-동작형 애플리케이션을 지칭하는데 사용된다. 용어 "VR 애플리케이션"은 본 명세서에서 VR 경험을 가능하게 하는 컴퓨터-동작형 애플리케이션을 지칭하는데 사용된다. 용어 "AR/VR 애플리케이션"은 AR 경험 또는 VR 경험의 조합을 가능하게 하는 컴퓨터-동작형 애플리케이션을 지칭한다. 용어 "AR 디스플레이 디바이스"("AR 디바이스"라고도 지칭됨)는 본 명세서에서 AR 애플리케이션을 동작시키는 컴퓨팅 디바이스를 지칭하는데 사용된다. 용어 "VR 디스플레이 디바이스"("VR 디바이스"라고도 치칭됨)는 본 명세서에서 VR 애플리케이션을 동작시키는 컴퓨팅 디바이스를 지칭하는데 사용된다. 용어 "AR/VR 디스플레이 디바이스"("AR/VR 디바이스"라고도 지칭됨)는 본 명세서에서 AR 애플리케이션과 VR 애플리케이션의 조합을 동작시키는 컴퓨팅 디바이스를 지칭하는데 사용된다. 용어 "시각적 추적 시스템"("시각적 추적 디바이스"라고도 지칭됨)은 본 명세서에서 시각적 추적 시스템의 하나 이상의 카메라에 의해 캡처된 이미지들에서 식별된 시각적 특징들을 추적하는 컴퓨터-동작형 애플리케이션을 지칭하기 위해 사용된다. 시각적 추적 시스템은 추적된 시각적 특징들에 기초하여 현실 세계 환경의 모델을 구축한다. 시각적 추적 시스템의 비-제한적인 예들은: VSLAM(visual Simultaneous Localization and Mapping system), 및 VIO(Visual Inertial Odometry) 시스템을 포함한다. VSLAM은 시각적 추적 시스템의 하나 이상의 카메라에 기초하여 환경 또는 장면으로부터 타깃을 구축하는데 사용될 수 있다. VIO(시각적-관성 추적이라고도 지칭됨)는 그 복수의 센서(예를 들어, 광학 센서, 관성 센서)로부터 취득된 데이터에 기초하여 디바이스의 가장 최근 자세(예를 들어, 포지션 및 오리엔테이션)를 결정한다. 본 명세서에서 "관성 측정 유닛(IMU)"이라는 용어는 이동체의 가속도, 속도, 오리엔테이션 및 포지션을 포함하는 이동체의 관성 상태에 대해 보고할 수 있는 디바이스를 지칭하는데 사용된다. IMU는 IMU에 의해 측정된 가속도 및 각속도를 적분함으로써 신체의 움직임의 추적을 가능하게 한다. IMU는 또한 선형 가속도 및 각속도를 각각 결정하고 정량화할 수 있는 가속도계들 및 자이로스코프들의 조합을 지칭할 수 있다. IMU의 자이로스코프들로부터 획득된 값들을 처리하여 IMU의 피치, 롤, 및 헤딩(heading)을 획득하고, 따라서 IMU가 연관되는 신체의 것도 획득할 수 있다. IMU의 가속도계들로부터의 신호들도 처리하여 IMU의 속도 및 변위를 획득할 수 있다. 용어 "모션-대-광자 레이턴시(motion-to-photon latency)"(M2P 레이턴시)는 본 명세서에서 사용자가 시각적 추적 디바이스를 이동시키는 것과 그 특정 모션에 적응하는 가상 콘텐츠의 제시 사이의 지속기간을 지칭하는데 사용된다. 모션-대-광자 레이턴시는 또한 AR 디바이스에서 가상 콘텐츠를 제시하는 것과 연관된 레이턴시를 지칭할 수 있다. 사용자가 AR 디바이스를 이동시킴에 따라, 현실 세계 환경의 사용자의 뷰는 순간적으로 변한다. 그러나, AR 디바이스가 IMU 데이터로 환경 데이터를 처리하고, 가상 콘텐츠를 렌더링하고, 사용자의 시야 앞에 가상 콘텐츠를 투영해야 하기 때문에, 가상 콘텐츠는 업데이트하는데 더 긴 시간이 걸린다. 모션-대-광자 레이턴시(motion-to-photon latency)는 가상 콘텐츠가 불안해지거나 지연되는 것처럼 보일 수 있고, 사용자의 AR 경험을 감소시킨다. 용어들 "시간-워프(time-warp)"("시간-워핑(time-warping)", "늦은-워프(late-warp)", "늦은-워핑(late-warping)"으로도 지칭됨)은 본 명세서에서 렌더링된 이미지를 디스플레이에 전송하기 전에 워핑시켜 렌더링 후에 발생한 머리 움직임을 정정하는 재-투영(re-projection)