KR20210129673A - 다중-프로젝터 디스플레이 아키텍처 - Google Patents

다중-프로젝터 디스플레이 아키텍처 Download PDF

Info

Publication number
KR20210129673A
KR20210129673A KR1020217028634A KR20217028634A KR20210129673A KR 20210129673 A KR20210129673 A KR 20210129673A KR 1020217028634 A KR1020217028634 A KR 1020217028634A KR 20217028634 A KR20217028634 A KR 20217028634A KR 20210129673 A KR20210129673 A KR 20210129673A
Authority
KR
South Korea
Prior art keywords
display device
integrated circuits
projector
headset display
data
Prior art date
Application number
KR1020217028634A
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 KR20210129673A publication Critical patent/KR20210129673A/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3179Video signal processing therefor
    • H04N9/3182Colour adjustment, e.g. white balance, shading or gamut
    • 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/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/003Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2007Display of intermediate tones
    • G09G3/2018Display of intermediate tones by time modulation using two or more time intervals
    • G09G3/2022Display of intermediate tones by time modulation using two or more time intervals using sub-frames
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2007Display of intermediate tones
    • G09G3/2044Display of intermediate tones using dithering
    • G09G3/2051Display of intermediate tones using dithering with use of a spatial dither pattern
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/22Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources
    • G09G3/30Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels
    • G09G3/32Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3179Video signal processing therefor
    • H04N9/3185Geometric adjustment, e.g. keystone or convergence
    • 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/011Head-up displays characterised by optical features comprising device for correcting geometrical aberrations, distortion
    • 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/0112Head-up displays characterised by optical features comprising device for genereting colour display
    • G02B2027/0116Head-up displays characterised by optical features comprising device for genereting colour display comprising devices for correcting chromatic aberration
    • 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/0118Head-up displays characterised by optical features comprising devices for improving the contrast of the display / brillance control visibility
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0233Improving the luminance or brightness uniformity across the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/10Dealing with defective pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/06Use of more than one graphics processor to process data before displaying to one or more screens
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2380/00Specific applications
    • G09G2380/14Electronic books and readers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Transforming Electric Information Into Light Information (AREA)

Abstract

일 실시예에서, 헤드셋 디스플레이 디바이스는 중앙 프로세서 및 각각 중앙 프로세서에 연결되고 이미지 데이터를 처리하도록 구성된 다중 프로젝터 집적 회로들을 포함한다. 각각의 프로젝터 집적 회로는 발광기 어레이를 각각 포함하는 다수의 제 1 집적 회로들을 포함한다. 각각의 프로젝터 집적 회로는 다수의 제 1 집적 회로에 연결된 제2 집적 회로를 포함한다. 제 2 집적 회로는 (1) 기하학적 또는 밝기 왜곡들을 보정하는 변환된 이미지 데이터를 생성하도록 구성된 그래픽 프로세서를 포함하고 (2) 변환된 이미지 데이터를 디스플레이를 위해 복수의 제 1 집적 회로들에 제공하도록 구성되는, 헤드셋 디스플레이 디바이스.

Description

다중-프로젝터 디스플레이 아키텍처
본 출원은 2019년 2월 14일에 출원된 미국 출원 번호 62/805,923호 및 2020년 2월 7일에 출원된 미국 출원 번호 16/785,305호를 우선권 주장한다. 미국 출원 번호 62/805,923호 및 미국 출원 번호 16/785,305호는 모든 목적들을 위해 그 전체가 참조로 본원에 포함된다.
본 개시내용은 일반적으로 전자 디스플레이상에 이미지들을 디스플레이하는 것에 관한 것이다.
휴대용 디스플레이들의 사용은 급격히 증가하여, 가볍고 전력 효율적인 디스플레이들에 대한 수요가 증가하고 있다. 그러나, 일부 그러한 디스플레이들은 전력 요건들을 감소시키고, 신체-휴대 디스플레이들의 경우 더 편안한 착용을 허용하기 위해 선명도, 프레임 속도 또는 시야를 희생할 수 있다. 그러나, 이러한 희생들로 인해 사용자 경험은 종종 저하된다. 디스플레이들 밝기를 감소시키거나, 해상도, 컬러 심도, 최대 디스플레이 프레임 레이트, 또는 시야를 감소시켜, 이러한 디스플레이 사용의 매력을 감소시킬 수 있다. 프레임 레이트들과 시야들이 낮은 디스플레이들은 소정 애플리케이션들에 실용적이지 않을 수도 있다. 특히 디스플레이가 사용자에게 인공 현실 경험을 제공하는 데 사용되는 시나리오에서, 디스플레이 품질은 경험 자체의 품질의 인식에 영향을 미친다. 문제를 더욱 복잡하게 만드는 것은 고품질 사용자 경험을 렌더링하고 지원하는 데 요구되는 높은 컴퓨팅 비용이다.
특정 실시예들에서, 머리-착용 디스플레이 시스템의 디스플레이는 디스플레이상의 도파관 구성을 통해 사용자에게 이미지를 제공함으로써 동작할 수 있다. 이미지는 디스플레이와 연관된 하나 이상의 프로젝터 집적 회로들에 의해 제공될 수 있다. 특정 실시예들에서, 사용자의 눈 각각과 연관된 하나 이상의 프로젝터들과 함께, 복수의 프로젝터 집적 회로들이 사용될 수 있다. 프로젝터 집적 회로들은 일부 렌더링 데이터와 명령들을 프로젝터들에 보내는 중앙 헤드셋 CPU에 의해 조정될 수 있다.
특정 실시예들에서, 프로젝터 집적 회로(본원에서 또한 단순히 "프로젝터"로 지칭됨)는 여러 구성요소들을 포함할 수 있다. 구성요소들은 집적 회로일 수 있고, 집적 회로로 구현될 수 있다. 구성요소들은 워프 엔진(warp engine), 디스플레이 드라이버, 및 백플레인 제어기(backplane controller)를 포함할 수 있다. 워프 엔진은 렌더링 엔진으로부터 수신된 특수 객체 프리미티브(primitive)들로서 저장된 프레임 데이터에 대한 초기 가시성 결정들을 수행하고, 프레임 데이터에 적용할 기하학적 워프들을 결정하고, 적용 텍스처 매핑 및 필터링을 계산하고, 그렇지 않으면 디스플레이를 위해 프레임 데이터를 준비할 수 있다. 디스플레이 드라이버는 워프 엔진으로부터 출력되는 이미지들에 대한 프로세싱을 수행할 수 있다. 예를 들어, 디스플레이 드라이버는 필요에 따라 불균일 보정들 및 디더링(dithering)을 수행할 수 있다. 백플레인 제어기는 이미지 데이터를 수신하고 이미지 데이터를 디스플레이하도록 광원에 명령할 수 있다.
특정 실시예들에서, 프로젝터의 구성요소들은 여전히 고품질 이미지를 제공하면서 머리-착용 디스플레이의 디스플레이 성능 및 전력 효율을 최적화하도록 선택된 다양한 아키텍처들에 결합될 수 있다. 예를 들어, 워프 엔진은 헤드셋 중앙 프로세서와 통합되고 여러 디스플레이 드라이버들 및 백플레인 제어기들과 연관될 수 있다. 워프 엔진은 공유 집적 회로의 하나 이상의 디스플레이 드라이버들과 통합될 수 있다. 워프 엔진은 집적 회로를 공유하는 하나 이상의 백플레인 제어기들과 더 통합될 수 있다. 프로젝터를 포함하는 집적 회로들은 다양한 프로세스들로 제조될 수 있고, 특정 실시예들에서 소위 "적층된" 3차원 집적 회로들 또는 "나란한" 2.5 차원 집적 회로일 수 있다.
특정 실시예들에서, 프로젝터에 대해 선택된 아키텍처는 프로젝터를 구성하는 집적 회로들 및 다른 구성요소들에 대한 패키징 선택들을 알릴 수 있다. 예를 들어, 방사체 어레이는 회로 기판에 장착된 집적 회로에 본딩될 수 있다. 회로 기판은 다른 유사한 회로들과 함께, 도파관 커플러에 관련하여 방사체 어레이의 포지션을 조정하는 기계적 정렬기에 장착될 수 있다. 다른 예로서, 방사체 어레이는 여러 다른 유사한 집적 회로들과 회로 기판을 공유하는 집적 회로에 본딩될 수 있다. 다른 예로서, 방사체 어레이는 여러 유사한 집적 회로들 사이에서 공유되는 인터포저(interposer)에 본딩되는 집적 회로에 본딩될 수 있다. 인터포저는 회로 기판에 본딩될 수 있다. 다른 예로서, 방사체 어레이는 여러 유사한 인터포저 배열(arrangement)들이 본딩되어 있는 집적 회로에 본딩된 자체 인터포저에 본딩될 수 있다. 다른 예로서, 여러 방사체 어레이들은 집적 회로에 본딩될 수 있다. 집적 회로들은 하나 이상의 워프 엔진들, 디스플레이 드라이버들 또는 백플레인 제어기들을 구현할 수 있다.
본 발명의 실시예들은 인공 현실 시스템을 포함하거나 이와 함께 구현될 수 있다. 인공 현실은 예를 들어, 가상 현실(VR), 증강 현실(AR), 혼합 현실(MR), 하이브리드 현실, 또는 이들의 일부 조합 및/또는 파생물들을 포함할 수 있는, 사용자에게 제시 전에 일부 방식으로 조정된 현실 형태이다. 인공 현실 콘텐츠는 완전히 생성된 콘텐츠 또는 캡처된 콘텐츠(예를 들어, 현실-세계 사진들)와 결합된 생성된 콘텐츠를 포함할 수 있다. 인공 현실 콘텐츠는 비디오, 오디오, 햅틱 피드백, 또는 이의 일부 조합을 포함할 수 있고, 이들 중 임의의 것은 단일 채널 또는 다중 채널들(이를테면 뷰어에게 3-차원 효과를 생성하는 스테레오 비디오)로 제시될 수 있다. 또한, 일부 실시예들에서, 인공 현실은 예를 들어 인공 현실의 콘텐츠를 생성하는 데 사용되고/되거나 인공 현실에 사용되는(예를 들어, 인공 현실의 활동들을 수행하는) 애플리케이션들, 제품들, 액세서리들, 서비스들, 또는 이들의 일부 조합과 연관될 수 있다. 인공 현실 콘텐츠를 제공하는 인공 현실 시스템은 호스트 컴퓨터 시스템에 연결된 머리-착용 디스플레이(HMD), 독립형 HMD, 모바일 디바이스 또는 컴퓨팅 시스템, 또는 인공 현실 콘텐츠를 하나 이상의 뷰어들에게 제공할 수 있는 임의의 다른 하드웨어 플랫폼을 포함하여 다양한 플랫폼들에서 구현될 수 있다.
본원에 개시된 실시예들은 단지 예들이고, 본 개시내용의 범위는 이들로 제한되지 않는다. 특정 실시예들은 본원에 개시된 실시예들의 구성요소들, 엘리먼트들, 특징들, 기능들, 동작들, 또는 단계들 모두, 일부를 포함하거나, 어느 것도 포함하지 않을 수 있다. 본 발명에 따른 실시예들은 특히 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 관한 첨부된 청구범위들에 개시되고, 여기서 하나의 청구범위 카테고리, 예를 들어 방법에서 언급된 임의의 특징은 또한 다른 청구범위 카테고리, 예를 들어 또한 시스템에서 청구될 수 있다. 첨부된 청구범위들의 종속성들 또는 인용들은 형식적인 이유로만 선택된다. 그러나 임의의 이전 청구범위들(특히 다중 종속성)에 대한 고의적인 인용으로 인해 발생하는 모든 청구 대상이 또한 청구될 수 있으므로, 청구범위들 및 그 특징들의 임의의 조합은 개시되고 첨부된 청구범위들에서 선택된 종속성들에 관계없이 청구될 수 있다. 청구될 수 있는 청구 대상은 첨부된 청구범위들에 제시된 특징들의 조합들뿐만 아니라 청구범위들의 특징들의 임의의 다른 조합을 포함하고, 여기서 청구범위들에 언급된 각각의 특징은 청구범위들의 임의의 다른 특징 또는 다른 특징들의 조합과 결합될 수 있다. 또한, 본원에 설명되거나 묘사된 실시예들 및 특징들 중 임의의 것은 별도의 청구범위 및/또는 본원에 설명되거나 묘사된 임의의 실시예 또는 특징 또는 첨부된 청구범위들의 임의의 특징들과의 임의의 조합으로 청구될 수 있다.
도 1은 예시적인 머리-착용 디스플레이 및 디스플레이 시스템의 단면도를 예시한다.
도 2는 예시적인 디스플레이 시스템의 등각도를 예시한다.
도 3은 머리-착용 디스플레이 시스템용 구성요소들의 예시적인 레이아웃을 예시한다.
도 4는 프로젝트에 대한 예시적인 아키텍처를 예시한다.
도 5는 예시적인 프레임 렌더링 타임라인(timeline)을 예시한다.
도 6은 예시적인 백플레인 집적 회로를 예시한다.
도 7은 예시적인 집적 회로 레이아웃들의 도면을 예시한다.
도 8a-도 8d는 머리-착용 디스플레이 시스템 구성요소들에 대한 예시적인 아키텍처들을 예시한다.
도 9a-도 9e는 머리-착용 디스플레이 시스템에 대한 구성요소들의 예시적인 배열들을 예시한다.
도 10은 수정된 서브-프레임들을 생성 및 디스플레이하기 위한 예시적인 방법을 예시한다.
도 11은 예시적인 컴퓨터 시스템을 예시한다.
인공 현실
전술된 바와 같이, 인공 현실은 특수-구성된 디바이스들에 의해 사용자에게 제시되기 전에 일부 방식으로 조정된 현실의 형태이다. 본원에 설명된 특정 실시예들의 엘리먼트는 인공 현실 디바이스들의 기능, 효율성 및 신뢰성을 개선하는 데 사용될 수 있다. 인공 현실 디바이스들은 디지털 장면들을 생성하거나 컴퓨터-생성 이미지를 현실 세계의 뷰에 중첩할 수 있다. 그러므로, 인공 현실 디바이스들은 디자이너들과 엔지니어들이 새로운 형태들의 정보, 엔터테인먼트 또는 협업 방법을 제공하기 위한 플랫폼을 제공한다. 예를 들어, 인공 현실 디바이스들은 사용자들이 겉보기에 직접 장거리 통신을 하거나, 방해받지 않는 방식으로 주변 환경을 알려 사용자들을 돕게 할 수 있다. 인공 현실 경험들이 종종 맞춤화될 수 있기 때문에, 인공 현실에 대한 사용자의 경험은 충분히 명확하고 편리하게 제시된다면 매우 개인적이며 매우 매력적일 수 있다.
인공 현실 경험들이 인간의 능력을 증강시킬 수 있는 한 가지 방식은 증강 현실 또는 혼합 현실에서와같이 컴퓨터-생성 이미지들 및/또는 텍스트를 현실 세계에 추가하는 것이다. 이 간단한 원리로부터, 다양한 강력한 사용 사례들이 고려될 수 있다. 현실-세계 객체를 설명하는 레이블들(예를 들어, 텍스트, 글리프(glyph)들 등) 또는 이미지들은 세계 공간에 고정될 수 있거나(예를 들어, 거리 표지판 역할을 하거나 자전거 경로의 라이브 지도를 제공하는 위치-인식 레이블들), 이미지들은 공간을 이동할 때 현실-세계 객체에 고정된다(예를 들어, 루트 또는 용량에 관한 상세한 정보를 제공하는 경로를 따라가는 버스에 추가된 레이블). 레이블들은 또한 사용자가 익숙하지 않은 도시를 내비게이팅하는 데 도움을 주거나(예를 들어, 가장 가까운 화장실을 위한 웨이포인트(waypoint) 생성), 군중 속에서 친구를 찾는 데 도움을 주는(예를 들어, 다른 사용자에게 고정된 사회적-인식 웨이포인트) 데 사용될 수 있다. 고려할 가치가 있는 다른 경험들은 현실-세계 객체와의 상호작용들에 기반할 수 있다. 예를 들어, 사용자는 비디오를 벽이나 화면에 "투사"하여 비디오를 재생하고 자신 또는 공유 증강 공간에 액세스할 수 있는 다른 사람들만 볼 수 있게 할 수 있다. 다른 예로서, 사용자는 증강-현실 책이나 잡지 역할을 하기 위해 컴퓨터-생성 텍스트를 물리적 객체에 고정할 수 있다. 콘텐츠는 객체에 관련하여 디스플레이될 수 있거나(사용자가 증강-현실을 제외하고 물리적 자산을 허용) 사용자와 고정된 관계로 디스플레이될 수 있다(예를 들어, 뷰의 한구석에서 계속 재생되는 튜토리얼 비디오). 제시된 매체들은 사용자에게 맞춤화되어, 동일한 콘텐츠 디스플레이 공간은 동일한 물리적 공간을 보는 각각의 사람과 관련된 콘텐츠가 될 수 있다. 다른 예로서, 사용자는 아이콘을 "터치"하거나, 컴퓨터-생성 이미지들을 수동으로 "조작"하여 컴퓨터-생성 그래픽들과 상호작용할 수 있다. 이러한 그래픽들은 프로젝트에 대해 작업하는 다수의 사용자에게 도시되어, 팀 협업 기회를 제공할 수 있다(예를 들어, 다수의 건축가가 실시간으로 함께 건물의 3-차원 디지털 프로토타입을 작업함).
머리-착용 디스플레이들
인공 현실 디바이스의 하나의 편리한 폼 팩터(form factor)는 머리-착용 디스플레이(HMD)이다. 컴퓨터-생성 그래픽들을 출력하는 디스플레이는 직관적이고, 쉽게 접근할 수 있고, 방해가 되지 않아야 한다. 고선명 인공 현실 그래픽들을 사용자에게 디스플레이하는 한 가지 접근법은 근안 디스플레이(NED)를 포함하는 HMD이다. 사용자는 컴퓨터 그래픽들을 디스플레이할 수 있는 바이저(visor), 헤드셋 또는 안경과 같은 장치를 착용한다. 증강 현실 또는 혼합 현실 경험들에서, 컴퓨터 그래픽들은 물리적 세계와 나란히 또는 그 위에 보여질 수 있다. 그러나, 이러한 컴퓨터 그래픽들을 렌더링하는 것은 계산 집약적이다. 그러므로, 대부분의 경우들에서, 렌더링은 HMD에 (예를 들어, 케이블 또는 무선 통신 프로토콜, 이를테면 블루투스를 통해) 통신가능하게 부착된 강력한 컴퓨터들에 의해 수행된다. 이러한 구성에서, HMD는 부피가 큰 코드들, 대역폭 및 전력 제한들, 열 제약들, 및 다른 관련 제약에 의해 제한된다. 아직도, 이러한 제약들의 제한들의 영향을 받고 있다. 하루종일 착용하기에 충분히 편안하고 효율적이지만, 정교한 그래픽들을 디스플레이할 수 있기에 충분히 강력한 HMD들이 바람직하다.
도 1은 예시적인 HMD 예시를 제공한다. 특히, 도 1은 일부 실시예들에 따른 HMD(100) 및 디스플레이 디바이스(110)의 단면도이다. 디스플레이 디바이스(110)는 적어도 하나의 도파관 구성(115)을 포함할 수 있다. 도 1은 사용자가 디스플레이 디바이스(110)를 착용할 때 눈(120)이 포지셔닝되는 위치인 아이박스(eyebox)(130)를 도시한다. 눈(120)이 아이박스(130)와 정렬되는 한, 사용자는 풀 컬러 이미지(full-color image) 또는 도파관 구성(115)에 의해 아이박스(130)를 향하여 지향되는 동공 복제를 볼 수 있다. 도파관 구성(115)은 많은 동공 복제들을 생성하여 아이박스(130)로 지향시킬 수 있다. 예시의 목적들을 위해, 도 1은 단일 눈(120) 및 단일 도파관 구성(115)과 연관된 단면을 도시한다. 일부 실시예들에서, 다른 도파관 구성은 사용자의 다른 눈(120)에 위치된 아이박스에 이미지 광을 제공할 수 있다.
도 1에 예시된 바와 같이, 도파관 구성(115)은 이미지 광을 눈(120)에 근접하게 위치된 아이박스로 지향시키도록 구성될 수 있다. 도파관 구성(115)은 디스플레이 디바이스(110)의 중량을 효과적으로 최소화하고 시야(FOV)를 넓히는 하나 이상의 굴절률들을 갖는 하나 이상의 재료들(예를 들어, 플라스틱, 유리 등)로 구성될 수 있다. 대안적인 구성들에서, 디스플레이 디바이스(110)는 도파관 구성(115)과 눈(120) 사이에 하나 이상의 광학 엘리먼트들을 포함할 수 있다. 광학 엘리먼트들은 예를 들어 도파관 구성(110)으로부터 방출된 이미지 광의 수차들을 보정하거나, 도파관 구성(115)으로부터 방출된 이미지 광을 확대하거나, 도파관 구성(115)으로부터 방출된 이미지 광의 일부 다른 광학 조정을 수행하거나, 이의 일부 조합을 수행하도록 작용할 수 있다. 광학 엘리먼트들의 예들은 애퍼처(aperture), 프레넬 렌즈(Fresnel lens), 굴절(예를 들어, 볼록 및/또는 오목) 렌즈, 반사 표면, 필터, 또는 이미지 광에 영향을 미치는 임의의 다른 적합한 광학 엘리먼트를 포함할 수 있다. 도파관 구성(115)은 예를 들어 하나 이상의 브래그 격자(Bragg grating)들의 세트들을 갖는 도파관을 포함할 수 있다.
HMD에서 사용될 수 있는 디스플레이의 하나의 예시적인 형태는 스캔라인 또는 1-차원("1D") 도파관 디스플레이로 지칭될 수 있다. 이 디스플레이에서, 광원들의 행은 디스플레이의 전체 수직 공간(또는 적절한 경우 수평 공간)을 조명하는 데 사용되는 광원을 생성할 수 있다. 다수의 더 작은 이미지들은 결합되어 뷰어에 의해 인식되는 바와 같은 더 큰 합성 이미지를 형성한다. 스캐닝 엘리먼트는 도파관 구성요소들에 의해 처리된 광원 광이 디스플레이 드로우 레이트(draw rate)를 최적화하기 위해 방사체들에 의해 사용되는 생성 패턴에 대응하는 특정 패턴으로 사용자의 눈에 출력되게 할 수 있다. 예를 들어, 광원은 먼저 디스플레이 이미지의 상단을 따라 픽셀들의 단일 행에 대응하는 컬러 값들을 제공받을 수 있다. 광은 MEMS(Microelectromechanical System) 동력 진동 미러와 함께 지원되는 도파관-기반 프로세스를 사용하여 아이박스의 적절한 섹션으로 전달될 수 있다. 단기간 후에, 광원은 픽셀들의 다음 행(예를 들어, 제 1 행 아래)에 대응하는 컬러 값들을 제공받을 수 있다. 이어서, 이미지의 이 섹션에 대한 광은 동일한 프로세스를 사용하여 적절한 포지션에 컬러 값을 포지셔닝할 수 있다. 스캐닝 디스플레이들은 동일한 방사체들로 구성된 종래의 디스플레이보다, 실행하는 데 더 적은 전력을 요구할 수 있고, 더 적은 열을 생성할 수 있다. 스캐닝 디스플레이들은 부분적으로 스캐닝 엘리먼트와 광학 시스템에 사용되는 재료들의 품질로 인해, 무게도 더 작을 수 있다. 디스플레이의 프레임 레이트는 미러의 진동 속도에 기반하여 제한된다.
HMD에서 사용될 수 있는 디스플레이의 하나의 예시적인 형태는 2D 또는 2-차원 도파관 디스플레이일 수 있다. 그러한 디스플레이에서, (예를 들어, 어레이에서) 수직 및 수평 구성요소들을 포함하는 광원이 사용될 수 있으므로, 어떠한 진동 미러도 요구되지 않는다. 1D 변형이 행 단위로 디스플레이를 밝혀야 하는 경우, 2D 변형은 이미지의 수직 구성요소를 제공하기 위해 진동 미러에 의존하지 않기 때문에 상당히 개선된 프레임 레이트를 제공할 수 있다. 프레임 레이트를 추가로 개선하기 위해, 2D 도파관 디스플레이의 광원은 디스플레이 시스템에 대한 구동 명령들을 제공하는 제어기 및/또는 메모리에 본딩될 수 있다. 예를 들어, 2D 도파관 디스플레이의 광원은 디스플레이 및/또는 드라이버 트랜지스터들에 대한 컬러 명령들을 보유하는 메모리에 본딩될 수 있다. 그러한 구성의 결과는 그러한 디스플레이용 광원이 상당히 더 빠른 프레임 레이트로 동작될 수 있다는 것이다. 일부 실시예들에서, HMD는 각각이 특정 컬러를 방출하도록 구성된 다수의 광원들을 포함할 수 있다. 액정 디스플레이(LCD), 액정 온 실리콘(LCOS), 발광 다이오드(LED), 유기 LED(OLED), 마이크로-LED(μLED), 디지털 마이크로미러 디바이스(DMD), 임의의 다른 적합한 디스플레이 기술, 또는 이들의 임의의 조합을 포함하지만 이에 국한되지 않는 많은 적합한 디스플레이 광원 기술들이 고려된다. 컬러들은 내부 전반사 경로를 따라 사용자의 눈으로 광을 지향시키는 도파관 시스템의 커플링 구성요소에 의해 결합될 수 있다. 또한, 투사된 광은 도파관에 통합된 커플링 엘리먼트와 상호작용하기 전에 먼저 광원과 도파관 사이의 작은 공극을 통과할 수 있다. 일부 예들에서, 경로는 내부 전반사 경로에서 광의 일부들을 디커플링하여 이미지의 다수의 인스턴스들, "동공 복제들"을 다른 장소들에서 도파관 밖으로 그리고 HMD의 아이박스를 향하여 지향시키는 격자 구조들 또는 따른 유형들의 광 디커플링 구조들을 포함할 수 있다.
근안 디스플레이들 및 도파관들
도 1은 예시적인 NED의 예시를 제공한다. 도 2는 일부 실시예들에 따른 근안 디스플레이 시스템 또는 NED(200)의 등각도를 예시한다. 일부 실시예들에서, NED(200)는 HMD(100)의 구성요소일 수 있다. 대안적인 실시예들에서, NED(200)는 이미지 광을 특정 위치로 지향시키는 다른 HMD 또는 다른 시스템의 일부일 수 있다.
NED(200)는 적어도 하나의 프로젝터(210), 도파관(220) 및 제어기(230)를 포함할 수 있다. 예시의 목적들을 위해, 도 2는 단일 눈(120)과 연관된 NED(200)를 도시하지만, 일부 실시예들에서 NED(200)로부터 완전히 분리되거나 부분적으로 분리된 다른 프로젝터, 도파관 또는 제어기는 사용자의 다른 눈에 이미지 광을 제공할 수 있다. 부분적으로 분리된 시스템에서, 하나 이상의 구성요소들은 각각의 눈에 대한 도파관들 사이에서 공유될 수 있다. 일부 사례들에서, 단일 도파관(220)은 사용자의 양안들로 이미지 광을 제공할 수 있다. 또한, 일부 예들에서, 도파관(220)은 도파관 구성의 다수의 도파관들 중 하나일 수 있다.
프로젝터(210)는 하나 이상의 2-차원 이미지들을 포함하는 광을 생성할 수 있다. 프로젝터(210)는 하나 이상의 광학 소스들, 광학 시스템, 및 광학 소스들, 광학 시스템, 또는 프로젝터(210) 또는 도파관(220)의 임의의 다른 구성요소에 의해 야기된 불균일 및 기타 오류들에 대해 방출된 광을 보정하는 회로를 포함할 수 있다. 프로젝터(210)는 적어도 하나의 2-차원 이미지를 포함하는 이미지 광(255)을 생성하여 도파관(220)의 상단 표면(270)에 위치한 커플링 영역(250)에 투사할 수 있다. 이미지 광(255)은 커플링 영역(250)을 향해 치수 또는 축을 따라 전파될 수 있다. 예를 들어, 프로젝터(210)는 하나 이상의 어레이 광원들을 포함할 수 있다. 본 개시내용이 μLED들의 어레이에 기반한 디스플레이를 지칭할 것이지만, 본원에 설명된 기법들 및 아키텍처들은 많은 다른 적합한 유형들의 디스플레이들(예를 들어, 액정 온 실리콘(LCOS), 액정 디스플레이들(LCD), 유기 발광 다이오드(OLED) 또는 디지털 마이크로미러 디바이스(DMD))에 적용가능할 수 있다.
도파관(220)은 사용자의 눈(120)으로 지향되는 이미지 광(240)에서 2-차원 이미지들을 출력하는 광 도파관일 수 있다. 도파관(220)은 상단 표면(270) 상에 및/또는 도파관(220)의 본체 내에 위치된 하나 이상의 커플링 엘리먼트들을 포함할 수 있는 커플링 영역(250)에서 이미지 광(255)을 수신할 수 있고, 수신된 이미지 광(255)을 도파관(220)의 전파 영역으로 안내할 수 있다. 커플링 영역(250)의 커플링 엘리먼트는, 예를 들어, 회절 격자, 홀로그래픽 격자, 하나 이상의 캐스케이드된 반사기들, 하나 이상의 프리즘 표면 엘리먼트들, 홀로그래픽 반사기들의 어레이, 메타물질 표면, 또는 이들의 일부 조합일 수 있다. 일부 구성들에서, 커플링 영역(250)의 커플링 엘리먼트들 각각은 X-축 및 Y-축 치수들을 따라 실질적으로 동일한 면적을 가질 수 있고 (예를 들어, 상단 표면(270) 및 하단 표면(280), 또는 상단 표면(270) 상에 있지만 인터페이스층(도시되지 않음)에 의해 분리되거나, 하단 표면(280) 상에 있고 인터페이스층으로 분리된 둘 모두, 또는 도파관(220)의 본체에 매립되지만 인터페이스층으로 분리되는 둘 모두에서) Z-축을 따른 거리만큼 분리될 수 있다. 커플링 영역(250)은 상단 표면(270)으로부터 하단 표면(280)으로 연장되는 것으로 이해될 수 있다. 커플링 영역(250)은 제 1 격자 벡터에 따라 수신된 이미지 광을 디커플링 엘리먼트들 사이의 도파관(220)의 본체에 형성된 도파관(220)의 전파 영역으로 재지향시킬 수 있다.
디커플링 엘리먼트(260A)는 디커플링 엘리먼트(260B)를 통해 디커플링될 수 있도록 도파관(220)으로부터 내부 전반사된 이미지 광을 재지향할 수 있다. 디커플링 엘리먼트(260A)는 도파관(220)의 상단 표면(270)의 일부이거나, 이에 부착되거나, 그 안에 형성될 수 있다. 디커플링 엘리먼트(260B)는 도파관(220)의 하단 표면(280)의 일부이거나, 이에 부착되거나, 형성될 수 있어서, 디커플링 엘리먼트(260A)는 디커플링 엘리먼트(260B)에 대향되고, 전파 영역은 그 사이에서 연장된다. 디커플링 엘리먼트들(260A 및 260B)은 예를 들어, 회절 격자, 홀로그래픽 격자, 홀로그래픽 반사기들의 어레이 등일 수 있고, 함께 디커플링 영역을 형성할 수 있다. 일부 실시예들에서, 디커플링 엘리먼트들(260A 및 260B) 각각은 X-축 및 Y-축 치수들을 따라 실질적으로 동일한 면적을 가질 수 있고 Z-축을 따른 거리만큼 분리될 수 있다.
일부 실시예들에서, 하나 이상의 제어기들(이를테면, 제어기(230))은 프로젝터(210)의 동작들을 제어할 수 있다. 제어기(230)는 프로젝터(210)의 디스플레이 시스템용 디스플레이 명령들을 생성할 수 있다. 디스플레이 명령들은 하나 이상의 이미지들을 투사 또는 방출하기 위한 명령들을 포함할 수 있다. 일부 실시예들에서, 디스플레이 명령들은 프레임 이미지 컬러 데이터를 포함할 수 있다. 디스플레이 명령들은 예를 들어 도 1의 HMD(100)에 포함되거나 유선 또는 무선 통신하는 프로세싱 디바이스로부터 수신될 수 있다. 디스플레이 명령들은 작동 시스템을 작동시킴으로써 프로젝터(210)를 이동시키거나 도파관(220)을 이동시키기 위한 명령들을 더 포함할 수 있다. 제어기(230)는 본 개시내용의 다른 양태들을 모호하지 않도록 하기 위해 본원에 명시적으로 도시되지 않은 하드웨어, 소프트웨어, 및/또는 펌웨어의 조합을 포함할 수 있다.
다중-프로젝터 머리-착용 디스플레이
도 3은 HMD(300)의 특정 구성요소들의 배열을 포함하는 HMD(300)의 예를 예시한다. 예를 들어, 도 3은 눈당 다수의 프로젝터들을 갖는 HMD(300)의 배열을 예시한다. 전술된 바와 같이, 그리고 본원에서 더 자세히 설명하면, HMD는 헤드셋 CPU에 의해 조정되는 다수의 프로젝터 집적 회로들(각각은 내부 구성요소들을 포함함)을 포함할 수 있다. 예시된 실시예에서, HMD(300)는 하나의 헤드셋 CPU(310) 및 4 개의 프로젝터들(330)을 포함하고, 각각의 프로젝터(330)는 하나의 워프 엔진(320)을 포함한다. 후술되는 바와 같이, 워프 엔진(330)은 NED와 함께 사용되는 디스플레이 시스템의 구성요소일 수 있어서 빠르게 업데이트된 프레임들을 생성하여 사용자에게 투사할 수 있다. 특정 실시예들에서, HMD(300)를 구성하는 헤드셋 CPU(310) 및 프로젝터들(330)은 하나 이상의 집적 회로들을 통해 구현될 수 있다. 예를 들어, 워프 엔진들(320)은 헤드셋 CPU(310)와 별개의 프로젝터(330)와 통합된 것으로 예시되어 있지만, 워프 엔진(320)은 헤드셋 CPU(310)와 동일한 IC에 의해 수행되는 일련의 동작들로 구현될 수 있다. 도 3에 예시된 HMD(300)의 구성요소들의 많은 적합한 배열들이 가능할 수 있다.
HMD(300)는 뷰어의 각각의 눈이 다수의 프로젝터들(330)에서 방출되는 이미지를 수신하도록 구성될 수 있다. 뷰어의 FOV(및 각각의 프로젝터(330)의 책임 영역)는 분할될 수 있다. FOV는 균등하게 분할될 수 있거나, 일부 실시예들에서 뷰어가 이미지를 보는 데 시간을 보낼 가능성이 더 큰 영역으로 편향되어 분할될 수 있다. 또한, 각각의 프로젝터(330)에 대한 책임 영역은 하나 이상의 다른 프로젝터들(330)과 겹칠 수 있다. 눈당 2 개의 프로젝터들(330)의 경우(도 3에 도시됨), 시야는 다양한 구성요소들의 위치 및 프로젝터에 의해 방출된 광을 사용자에게 지향시키는 것을 담당하는 도파관의 구성에 기반하여 수직으로 분할되거나(예시된 실시예에서와같이) 수평으로 분할될 수 있다. 특정 실시예들에서, 각각의 워프 엔진(320)은 다수의 프로젝터들(330)을 지원할 수 있다. 아래에 상세히 설명된 바와 같이, 각각의 프로젝터는 하나 이상의 컬러들을 방출할 수 있다. 예를 들어, 각각의 눈에 대해 단일 워프 엔진(320)이 있거나, 전체 HMD(300)에 대해 단일 워프 엔진이 있을 수도 있다. 특정 실시예들에서, 다수의 헤드셋 CPU(310)가 있을 수 있다. 예를 들어, 각각의 사용자 눈에 대한 이미지를 프로세싱하기 위해 하나의 헤드셋 CPU(310)가 있을 수 있다.
인공 현실을 위한 렌더링 프레임
시작 이래로, 인공 현실(예를 들어, AR, VR, MR) 기술은 AR/VR/MR 장면에 대한 사용자 관점의 급격한 변화들에 대한 응답으로 AR/VR/MR 객체들을 렌더링하는 데 레이턴시(latency)가 발생하는 문제로 어려움을 겪었다. 몰입 환경을 생성하기 위해, 사용자들은 장면을 볼 때 자신의 눈들이나 머리들을 움직일 필요가 있을 수 있고 환경은 사용자에게 제시되는 뷰를 조정하여 즉시 응답할 필요가 있을 수 있다. 각각의 눈의 움직임이나 머리의 움직임은 장면에 대한 사용자의 관점을 약간 변경할 수 있다. 이러한 움직임들은 작지만 산발적이고 예측하기 어려울 수 있다. 해결해야 할 문제는 눈/머리 움직임들이 빠르게 발생할 수 있으므로, 움직임과 함께 발생하는 관점의 변화들을 처리하기 위해 장면의 뷰를 빠르게 수정하는 것을 요구하는 것이다. 이것이 충분히 빠르게 수행되지 않으면, 결과적인 레이턴시는 사용자가 가상 현실의 병이나 불편함을 유발할 수 있는 감각 부조화를 경험하게 되거나, 최소한 경험의 몰입적 특성에 지장을 주게 할 수 있다.
따라서, 인공 현실 경험의 품질은 인공 현실 장면을 렌더링하고 디스플레이하는 데 사용되는 기술의 제약들로 인해 제한된다. 사용자의 관점 변경들을 처리하기 위해 뷰 전체를 다시 렌더링(예를 들어, 다각형들로부터 가상 객체들을 생성)하는 것은 자원 집약적일 수 있고, 상대적으로 낮은 프레임 레이트(예를 들어, 60Hz, 또는 매 1/60 초마다 1회)에서만 행하는 것이 가능할 수 있고, 이는 일부 사용자들이 현실을 검출하고 파악하기에 충분히 낮다. 예를 들어, 뷰는 수십 개의 가상 객체들을 포함할 수 있고, 그 각각은 수백 또는 수천 개의 개별 다각형들로 표현될 수 있다. 관점 이동의 효과를 적절하게 결정하기 위해, 뷰어의 포지션에 관한 새로운 입력 정보로 수천 개의 다각형들을 다시 렌더링해야 한다. 이 프로세싱은 상당한 양의 컴퓨팅 능력을 요구하고 렌더러의 최대 출력을 종종 30-60 Hz로 제한시킨다. 더 높은 프레임 레이트에 도달하기에 충분한 능력을 가진 렌더러는 종종 상업적으로 실현가능하지 않거나 전력 소비의 주의 깊은 모니터링을 요구할 수 있는 랩톱 시스템들 또는 HMD들을 포함하는 휴대용 동작들과 같은 특정 사용 사례에 적합하지 않다.
더 빨리 업데이트되어야 하는 렌더링 프로세스의 단계들(예를 들어, 눈의 작은 움직임들에 대한 조정)이 HMD, 및 아마도 눈 자체에 더 가까운 특수 ASIC들에서 수행되도록 가상 장면을 렌더링 및 다시 렌더링하는 작업량을 분할하는 것이 유리할 수 있다. 다른 더 계산 집약적인 태스크들(예를 들어, 다각형들로부터 가상 객체들을 렌더링)은 HMD에서 더 많이 제거된 하나 이상의 다른 렌더링 구성요소들에 의해 수행될 수 있다. 렌더링 구성요소들은 HMD와 무선 또는 유선 통신할 수 있다. 본원에 설명된 실시예들은 작업량의 분할, 및 기본 렌더링 엔진(primary rendering engine), 머리-착용 디스플레이, 및 그 서브-구성요소들을 포함하는 인공 현실 시스템의 특수 구성요소들의 설계 및 구현에 관한 것이다.
기본 렌더링 엔진
특정 실시예들에서, 렌더링 엔진은 뷰어에게 디스플레이될 이미지들을 생성할 수 있다. 렌더링 엔진은 기본 이미지 프레임들을 생성하기 위한 임의의 적합한 구성요소일 수 있다. 예를 들어, 렌더링 엔진은 랩톱 또는 데스크톱 컴퓨터, 비디오 게임 콘솔, 또는 임의의 다른 적합한 로컬 그래픽 렌더링 시스템과 같은 독립형 디바이스의 그래픽 프로세싱 유닛을 포함할 수 있다. 렌더링 엔진은 휴대폰, 태블릿, 또는 임의의 다른 적합한 소형 그래픽 렌더링 시스템과 같이 사용자의 신체에 쉽게 착용되는 디바이스를 포함할 수 있다. 특정 실시예들에서, 렌더링 엔진은 복수의 다각형들(또는 다각형들에 대한 꼭지점들) 및 연관된 컬러 데이터 및 렌더링 명령들에 의해 정의된 3-차원("3D") 모델들에 기반한 상호작용 그래픽들을 실시간 렌더링할 수 있다. 렌더링 엔진은 가상 장면에 대한 뷰어의 관점에 대한 정보(예를 들어, 가상 장면의 나머지 부분에 대한 사용자에 의해 착용된 HMD의 위치)를 추가로 수신할 수 있다. 렌더링 엔진은 다각형들 및 컬러 데이터를 프로세싱하고 렌더링 데이터를 생성할 수 있다. 고품질의 복잡한 가상 객체들을 렌더링하는 높은 프로세싱 요건들로 인해, 렌더링 엔진은 비교적 낮은 레이트, 예를 들어 30-60 Hz로 프레임들을 렌더링할 수 있다. 특정 실시예들에서, 렌더링 엔진에 의해 생성된 렌더링 데이터는 픽셀 컬러 값들, 픽셀 컬러 위치들, 또는 이미지 프레임과 연관된 하나 이상의 다른 기본 데이터들을 포함할 수 있다.
렌더링 엔진은 렌더링 요청에 대한 기본 렌더링 데이터를 수신할 수 있다. 기본 렌더링 데이터는 2-차원 또는 3-차원 모델들, 텍스처들, 컴퓨터-생성 이미지들을 렌더링하기 위한 명령들, 및 다른 적합한 정보를 포함할 수 있다. 렌더링 엔진은 수신된 기본 렌더링 데이터에 기반하여 인공 현실 장면의 양태들을 렌더링하는 단계들을 수행할 수 있다. 예를 들어, 렌더링 엔진은 광선 추적, 래스터화 또는 다른 적합한 기법들을 사용하여 가시성 계산들을 수행하여 가상 장면 가상 객체들의 어느 3D 모델들의 어느 다각형들이 디스플레이의 어느 픽셀들을 통해 볼 수 있는지를 결정할 수 있다. 가시성 결정들에 기반하여, 렌더링 엔진은 각각의 픽셀에 대한 적절한 컬러를 결정하기 위해 음영 계산을 수행할 수 있다. 특정 실시예들에서, 렌더링 엔진은 압축되거나 압축해제된 스트리밍 비디오 데이터를 프로세싱할 수 있다. 렌더링 엔진은 사용자에게 디스플레이될 이미지를 생성하기 위해 인공 현실 시스템의 다른 구성요소들에 의해 사용될 수 있는 이미지 프레임들 또는 다른 데이터를 생성할 수 있다.
표면들
특정 실시예들에서, 렌더링 엔진의 출력은 워프 엔진 또는 디스플레이 시스템에 의해 사용하기 위한 하나 이상의 특수화된 객체 프리미티브(primitive)들, 예를 들어 "표면들"을 포함할 수 있다. 표면들은 인공 현실 장면의 하나 이상의 가상 객체들을 렌더링하는 데 사용되는 정보를 포함할 수 있다. 예로서, 렌더링 엔진은 통상적인 렌더링 파이프라인에서와같이, 3D 모델들로부터 2D 이미지들을 먼저 렌더링하여 표면들을 생성할 수 있다. 이어서, 렌더링 엔진은 추가적인 후-처리 방법을 사용하여 2D 이미지들로부터 표면들을 생성할 수 있다. 다른 예로서, 렌더링 엔진은 3D 모델들로부터 표면들을 직접 출력할 수 있어, 2D 이미지들을 렌더링하는 데만 지시된 추가 단계들을 제거할 수 있다. 다른 예로서, 렌더링 엔진은 3D 모델들로부터의 2D 이미지를 워프 엔진으로 출력할 수 있다. 워프 엔진은 2D 이미지들에 기반하여 추가적인 후-처리 방법을 사용하여 표면들을 생성할 수 있다.
표면들은 인공 현실 장면의 하나 이상의 가상 객체들을 렌더링하는 데 유용한 정보를 포함할 수 있다. 정보는 가상 카메라/뷰어에 관련한 뷰 공간의 좌표 시스템에 특정된, 장면의 표면에 대한 위치 및/또는 포지션 데이터를 포함할 수 있다. 대안적으로, 표면의 위치는 세계 공간 좌표계와 같은 임의의 다른 적합한 좌표계로 특정될 수 있다. 표면은 하나 이상의 텍셀 어레이(texel array)들로 표현되는 텍스처 데이터를 더 포함할 수 있다. 따라서, 특정 실시예들에서, "표면"은 장면 내에서 그 위치를 특정하기 위해 변환 매트릭스를 갖는 직사각형 텍스처로 고려될 수 있다. 텍셀 어레이의 각각의 텍셀은 컬러 정보와 텍셀 어레이 내의 2D 좌표(예를 들어, (u, v) 좌표들로 특정됨)를 가질 수 있다. 특정 실시예들에서, 각각의 텍셀의 컬러 정보는 여러 컬러 채널들(예를 들어, 적색, 녹색 및 청색)의 세기 및 텍셀의 투명도 레벨(예를 들어, 완전 투명, 완전 불투명, 또는 그 사이의 어딘가)을 나타내는 알파 정보를 나타낼 수 있다. 다른 실시예들에서, 텍셀의 컬러 정보는 투명도 레벨을 별도로 특정하지 않고 적색, 녹색 및 청색의 세기를 나타낼 수 있다. 이 경우, 각각의 컬러의 값은 텍셀의 연관된 투명도 레벨로 미리 곱해질 수 있다(예를 들어, 텍셀이 0의 알파 레벨을 갖는 완전 투명이면, 해당 텍셀의 적색, 녹색 및 청색 값들은 모두 0 알파 레벨을 곱하여 0으로 만들어질 것임).
표면의 텍스처 데이터는 3-차원 장면에서 뷰어의 관점에 기반하여 디스플레이 또는 이미지의 픽셀에 의해 디스플레이되어야 하는 컬러들을 최적으로 결정하는 기법들을 구현하는 그래픽 렌더링 파이프라인의 결과에 기반하여 생성될 수 있다. 특정 실시예들에서, 성능 요구들이 충족될 수 있도록(예를 들어, 워프 엔진이 프레임들을 적합한 레이트로 출력할 수 있도록) 장면의 충분한 단순성을 보장하기 위해 표면이 제한될 수 있다(예를 들어, 최대 16 개의 표면들 또는 임의의 다른 적합한 수의 표면들). 그러므로, 인공 현실 장면에서 소정 가상 객체들은 그룹화될 수 있다. 각각의 표면은 (예를 들어, 사용자의 머리 상의 HMD가 상이한 포지션 및/또는 배향으로 이동하여 발생하는) 장면의 사용자의 관점의 변화의 결과로서 하나의 단위로 함께 이동/병진, 기울이기(skew), 크기 조정, 왜곡, 또는 다른 방식으로 모양이 변경될 것으로 예상되는 장면 내의 하나 이상의 객체들 또는 포인트들의 세트의 표현일 수 있다.
렌더링 엔진은 하나 이상의 유선 또는 무선 연결들을 통해 HMD와 통신할 수 있다. 특정 실시예들에서, 사용자는 사용자의 요구에 기반하여 렌더링 엔진과 HMD(100)가 통신하는 방법을 선택할 수 있다. 특정 실시예들에서, 워프 엔진(예를 들어, 워프 엔진(320))은 HMD에 통합될 수 있다. 워프 엔진은 렌더링 엔진으로부터 표면들 및 다른 렌더링 명령들과 같은 데이터를 수신하도록 구성될 수 있다. 특정 실시예들에서, 워프 엔진 및 디스플레이 시스템은 단일 집적 회로 또는 집적 회로들의 세트에 의해 공유되는 동작들을 갖는 논리 블록들일 수 있다. HMD는 추가 이미지 프로세싱 구성요소들, 움직임 검출 구성요소들, 배향 검출 구성요소들, 눈-추적 구성요소들, 열 검출 구성요소들, 임의의 다른 적합한 구성요소들, 또는 이들의 임의의 조합을 포함하는 인공 장면의 렌더링 및 디스플레이를 가능하게 하는 추가 구성요소들을 더 포함할 수 있다.
프로젝터 아키텍처
전술한 바와 같이, 본 개시내용은 HMD의 구성요소들의 설계 및 배열에 관한 것이다. 하나의 그러한 구성요소는 본원에서 "프로젝터 집적 회로" 또는 "프로젝터"로 설명된다. 프로젝터는 기본 렌더링 엔진으로부터 수신된 이미지 데이터를 사용자(예를 들어, HMD의 착용자)에게 디스플레이될 이미지들로 변환하는 데 요구되는 태스크들을 처리하기 위한 구성요소들을 포함할 수 있다. 이러한 태스크들은 가상 장면에 관련한 사용자 포지션의 변화들을 처리하기 위해 이미지 데이터에 수정들을 적용하고, 픽셀 컬러들을 결정하기 위해 이미지 데이터의 표면들을 샘플링하고, 픽셀 컬러들을 보정 및 향상시키기 위해 다양한 이미지 프로세싱 기법들을 적용하고, 픽셀 컬러들을 발광기들의 어레이에 대한 명령들로 변환하고, (예를 들어, 도파관 구성을 통해) 착용자에게 광을 방출하는 것을 포함하지만, 반드시 이에 제한되지 않을 수 있다.
도 4는 HMD에 포함될 수 있는 프로젝터(400)(예를 들어, 프로젝터(330))의 예시적인 아키텍처를 예시한다. 프로젝터(400)는 워프 및 백플레인 제어 IC(405) 및 하나 이상의 백플레인 제어기, 예를 들어, μLED 백플레인 IC들(450, 460, 470)을 포함할 수 있다. 도 4에 도시된 아키텍처는 각각 단색 μLED 능동 매트릭스(457)를 갖는 3개의 μLED 백플레인 IC들(450, 460, 470)에 데이터를 제공하는 단일 워프 및 백플레인 제어 IC(405)를 특징으로 한다. 추가적으로 또는 대안적으로, 여러 다른 적합한 디스플레이 기법들(예를 들어, LED, OLED, LCD, LCOS, DMD 등)이 사용될 수 있다. μLED 백플레인 IC들은 단색 μLED 매트릭스의 컬러에 의해 식별될 수 있다. 예를 들어, μLED 백플레인 IC(450)는 적색 μLED 매트릭스(457)를 포함할 수 있고, μLED 백플레인 IC(460)는 녹색 μLED 매트릭스를 포함할 수 있고, μLED 백플레인 IC(470)는 청색 μLED 매트릭스를 포함할 수 있다. μLED 능동 매트릭스(457)의 컬러 차이 외에, μLED 백플레인 IC들은 그렇지 않으면 동일한 구성요소들을 포함할 수 있다. 상이한 컬러의 μLED 매트릭스들이 기능하게 하기 위해 임의의 구성의 차이들이 요구되는 경우, 상기 임의의 차이들은 예시되지 않더라도 포함되는 것으로 이해되어야 한다.
워프 및 백플레인 제어 IC
워프 및 백플레인 제어 IC(405)는 워프 엔진(410) 및 디스플레이 드라이버 IC(420)를 포함할 수 있다. 워프 엔진(410)은 30-90 Hz(예를 들어, 초당 30-90 프레임들)의 레이트로 (예를 들어, 비트맵 파일 유형의 형태로) RGB 컬러 데이터(411) 입력 스트림을 수신하도록 구성될 수 있다. 워프 엔진(410)에 의해 수신된 각각의 프레임에 대해, 워프 엔진(410)은 수십 개의 서브-프레임들을 준비하여 출력할 수 있다. 워프 엔진(410)은 컬러 데이터를 프로세싱하고 120 Hz - 10 kHz(예를 들어, 120 - 10,000 sFPS)의 레이트로 디스플레이될 이미지의 서브-프레임들을 생성할 수 있다. 각각의 서브-프레임은 원본 프레임을 베이스로 사용하고 프레임이 생성된 이후 가상 장면에 관련한 뷰어의 포지션 변화들을 조정하기 위해 프레임 표면들에 기하학적 워프들을 수행할 수 있다. 워프 엔진(410)에 의해 생성된 서브-프레임들은 디스플레이 드라이버 IC(420)에 제공될 수 있다. 디스플레이 드라이버 IC(420)는 워프 엔진(410)과 μLED 백플레인 IC들(450, 460, 470) 사이의 인터페이스를 제공한다. 디스플레이 드라이버 IC(420)는 또한 μLED 백플레인 IC들의 특성들을 처리하기 위해 디더링 및 불균일성 보정 동작들을 수행할 수 있다.
워프 엔진
특정 실시예들에서, 워프 엔진(410)은 인공 현실 시스템(예를 들어, HMD)의 사용자에게 보여질 이미지들을 결정할 수 있다. 특정 실시예들에서, 워프 엔진(410)은 이미지 데이터 및 다른 수신된 정보에 기반하여 이미지의 하나 이상의 3-차원 기하학적 워프들을 계산할 수 있다. 이러한 동작들은 사용자에게 디스플레이될 이미지들의 품질 및/또는 정확도를 향상시킬 수 있다(예를 들어, 공간에서 사용자의 물리적 포지션에 관련한 이미지들의 배치를 개선함). 워프 엔진(410)은 4개의 최상위-블록들을 포함할 수 있다. 도 4에 도시된 바와 같이, 이들 블록들은 제어 블록(413), 변환 블록(415), 픽셀 블록(417) 및 디스플레이 블록(419)을 포함할 수 있다. 워프 엔진(410)의 구성요소들 중 하나 이상은 하나 이상의 고속 버스들, 공유 메모리들(예를 들어, 텍스처 메모리(414)) 통해, 또는 임의의 다른 적합한 방법을 통해 통신하도록 구성될 수 있다. 특정 실시예들에서, 워프 엔진(410)의 제어 블록(413)은 변환 블록(415), 픽셀 블록(417), 및 2 개 이상의 미러링된 파이프라인들(도시되지 않음)의 디스플레이 블록(419)과 통신하도록 구성될 수 있다. 특정 실시예들에서, 워프 엔진(410)의 각각의 파이프라인은 사용자의 좌측 및 우측 눈, 또는 그 일부에 대응하는 별도의 디스플레이용 이미지들을 준비하는 데 전용될 수 있다. 이런 통신은 데이터와 제어 신호들, 인터럽트들 및 다른 명령들을 포함할 수 있다. 파이프라인들은 서로 독립적으로 동작할 수 있다.
특정 실시예들에서, 제어 블록(413)은 렌더링 엔진으로부터 입력 데이터 스트림을 수신하고 디스플레이를 위해 프레임을 조정하기 위해 워프 엔진(410) 내의 파이프라인을 초기화할 수 있다. 특정 실시예들에서, 입력 데이터 스트림은 RGB 데이터(411)와 같은 데이터 및 기본 렌더링 구성요소로부터의 제어 패킷들을 포함할 수 있다. RGB 데이터(411) 및 제어 패킷은 텍스처 데이터 및 포지션 데이터 및 추가 렌더링 명령들을 포함하는 하나 이상의 표면들과 같은 정보를 포함할 수 있다. 제어 블록(413)은 필요에 따라 제어 블록(413)의 텍스처 버퍼(414)를 통해 워프 엔진(410)의 하나 이상의 다른 블록들에 데이터를 분배할 수 있다. 제어 블록(413)은 디스플레이될 하나 이상의 프레임들에 대한 파이프라인 프로세싱을 개시할 수 있다. 특정 실시예들에서, HMD는 다수의 워프 엔진들(410)을 포함할 수 있고 각각은 자체 제어 블록(413)을 포함할 수 있다.
특정 실시예들에서, 워프 엔진(410)의 변환 블록(415)은 인공 현실 장면에 디스플레이될 표면에 대한 초기 가시성 정보를 결정할 수 있다. 일반적으로, 변환 블록(415)은 디스플레이상의 픽셀 위치로부터 광선들을 투사하고 픽셀 블록(417)에 전송할 필터 커맨드들(예를 들어, 쌍선형 또는 다른 유형들의 보간 기법들에 기반한 필터링)을 생성할 수 있다. 변환 블록(415)은 (예를 들어, 관성 측정 유닛들, 시선 추적기들, 및/또는 동시 위치결정 및 매핑과 같은 임의의 적합한 추적/위치결정 알고리즘들을 사용하여 결정되는) 사용자의 현재 시점으로부터 표면들이 포지셔닝되는 인공 장면으로 광선 투사(raycasting)를 수행할 수 있고, 결과들을 생성하여 픽셀 블록(417)에 전송할 수 있다.
일반적으로, 변환 블록(415)은 특정 실시예들에 따라 4 개의-스테이지 파이프라인을 포함할 수 있다. 변환 블록(415)의 스테이지들은 다음과 같이 진행될 수 있다. 광선 투사는 하나 이상의 정렬된 픽셀들, 또는 "타일(tile)"들의 어레이들에 대응하는 광선 번들들을 발행할 수 있다. 광선 번들들은 하나 이상의 왜곡 메쉬(mesh)들에 따라 인공 현실 장면에 진입하기 전에 워핑(warp)될 수 있다. 왜곡 메쉬들은 적어도 HMD의 디스플레이 또는 도파관으로부터 유래하는 기하학적 왜곡 효과들을 보정하도록 구성될 수 있다. 변환 블록(415)은 각각의 타일의 경계 박스를 각각의 표면에 대한 경계 박스들과 비교함으로써 각각의 광선 번들이 장면의 표면들과 교차하는지 여부를 결정할 수 있다. 광선 번들이 표면과 교차하지 않으면, 폐기될 수 있다. 타일-표면 교차들이 검출되고, 대응하는 타일-표면 쌍들이 픽셀 블록(417)으로 전달될 수 있다.
일반적으로, 픽셀 블록(417)은 특정 실시예들에 따라 픽셀 컬러 값들을 생성하기 위해 타일-표면 쌍들로부터 컬러 값들을 결정할 수 있다. 각각의 픽셀에 대한 컬러 값들은 (예를 들어, 입력 데이터 스트림의 일부로서) 제어 블록(413)에 의해 수신 및 저장되는 표면들의 텍스처 데이터로부터 샘플링될 수 있다. 픽셀 블록(417)은 변환 블록(415)으로부터 타일-표면 쌍들을 수신하고 쌍선형 필터링을 스케줄링할 수 있다. 각각의 타일-표면 쌍에 대해, 픽셀 블록(417)은 투사된 타일이 표면과 교차하는 위치에 대응하는 컬러 값들을 사용하여 타일 내의 픽셀들에 대한 컬러 정보를 샘플링할 수 있다. 특정 실시예들에서, 픽셀 블록(417)은 각각의 픽셀에 대해 별도로 적색, 녹색 및 청색 컬러 성분들을 프로세싱할 수 있다. 이어서, 픽셀 블록(417)은 픽셀 컬러 값들을 워프 엔진(410)의 디스플레이 블록(419)에 출력할 수 있다.
일반적으로, 디스플레이 블록(419)은 픽셀 블록(417)으로부터 픽셀 컬러 값들을 수신하고, 디스플레이 드라이버 IC(420)에 출력하기에 더 적합하도록 데이터의 포맷을 변환하고, 픽셀 컬러 값들에 하나 이상의 밝기 보정들을 적용하고, 디스플레이 드라이버 IC(420)에 출력할 픽셀 컬러 값들을 준비한다. 특정 실시예들에서, 디스플레이 블록(419)은 픽셀 블록(417)에 의해 생성된 타일-순서 픽셀 컬러 값들을 디스플레이에 의해 요구될 수 있는 스캔라인-순서 데이터 또는 행-순서 데이터로 변환할 수 있다. 밝기 보정들은 밝기 보정, 감마 매핑 및 소정 디더링 동작들을 포함할 수 있다. 특정 실시예들에서, 디스플레이 블록(419)은 보정된 픽셀 컬러 값들을 디스플레이 드라이버 IC(420)에 더 높은 레이트(예를 들어, 120-10,000 sFPS를 지원하기 위해 120 Hz - 10 kHz)로 제공할 수 있다.
디스플레이 드라이버 집적 회로 - 디더링 및 불균일 보정
워프 및 백플레인 제어 IC(405)는 다양한 이미지 프로세싱 기법들을 수행하는 디스플레이 드라이버 집적 회로(420)를 포함할 수 있다. 이해의 용이함을 위해, 디스플레이 드라이버 IC(420)가 별도의 집적 회로로서 논의되지만, 디스플레이 드라이버 IC(420)의 엘리먼트들 및 기능들이 워프 및 백플레인 제어 IC(405)에 직접 통합된 유사한 구조들에 의해 수행될 수 있다는 것을 주목하라. 디스플레이 블록(419)의 출력은 워프 및 백플레인 제어 IC(405)의 디스플레이 드라이버 IC(420)의 이미지 프로세싱 블록(430)에 제공될 수 있다. 이미지 프로세싱 블록(430)은 워프 엔진(405)의 디스플레이 블록(419)으로부터 디스플레이 드라이버 IC(420)로 전달된 서브-프레임 이미지들에 대해 디더링 및 불균일 보정 동작들을 수행할 수 있다.
이미지 프로세싱 블록(430)은 서브-프레임 내의 픽셀 컬러 값들에 대한 디더링을 수행할 수 있다. 서브-프레임의 각각의 픽셀(각각은 아마도 μLED 어레이의 μLED에 대응함)에 대해, 이미지 프로세싱 블록(430)은 디스플레이에 이용가능한 정밀도의 정도(예를 들어, μLED 어레이의 μLED들로 생성가능한 컬러 정밀도의 정도)와 매칭하도록 디지털 픽셀 컬러 값을 양자화할 수 있다. 양자화된 컬러는 오류(양자화된 값과 특정된 픽셀 컬러 값 간의 차이)를 생성할 수 있다. 오류는 μLED 주변의 하나 이상의 μLED들로 전파될 수 있다. 이 전파된 오류는 주변 μLED들의 최종 컬러에 통합될 수 있다. 특정 실시예들에서, 오류는 워프 엔진(410)으로부터 수신된 하나 이상의 미래 프레임들 또는 서브-프레임들로 전파될 수 있다.
인간의 눈이 일반적으로 식별할 수 있는 것보다 훨씬 더 빠른 레이트로 생성된 개별 서브-프레임들을 포함할 수 있는 높은 서브-프레임 레이트 때문에, 뷰어의 눈은 디스플레이된 이미지를 볼 때 다수의 디스플레이된 서브-프레임들을 통합할 수 있다. 이것은 합성 인식 프레임을 초래한다. 예를 들어, (예를 들어, 동일한 픽셀 위치의 컬러에서) 2 개 이상의 서브-프레임들 사이의 작은 차이들은 뷰어의 눈에 의해 통합될 수 있다. 이미지 프로세싱 블록(430)은 이 해석 프로세스를 이용하여 (예를 들어, 고정된 μLED의 어레이 내의) 하나 이상의 픽셀 컬러들의 디스플레이의 포지션 및/또는 시간(예를 들어, 서브-프레임들의 수)을 조정하여 특정 시각 효과들을 생성할 수 있다. 그러한 효과들은 예를 들어, μLED 어레이의 μLED들에 물리적으로 이용가능한 것보다 더 미세한 계조로 컬러들을 디스플레이하는 것을 포함할 수 있다. 따라서, 단일-프레임 공간 디더링 외에, 디더링 블록(345)은 "3-차원 디더링"을 수행할 수 있다. 3-차원 디더링에서, 오류는 (수평 및 수직 축들을 따르는) 2 개의 공간 차원들 및 (제 1 서브-프레임과 하나 이상의 후속 서브-프레임들 사이의) 시간 차원으로 전파될 수 있다.
이미지 프로세싱 블록(430)은 또한 디스플레이의 불균일성들을 보정할 수 있다. 불균일성들은 제한이 아닌 예를 들어, 하나 이상의 오작동하는 μLED들(예를 들어, 구동 전류에 응답하여 광을 제한하거나 전혀 생성하지 않는 μLED들), 디스플레이의 컬러 왜곡들(예를 들어, 구동 전류가 증가 및/또는 감소함에 따른 컬러 왜곡들을 디스플레이하는 μLED들), 디스플레이의 제조 오류들, 컬러별 μLED들 간의 다양한 픽셀 기하구조들, 컬러별 μLED들 간의 픽셀 간격 및 다수의 다른 잠재적인 불균일성들을 포함할 수 있다. 높은 서브-프레임 레이트는 사용자가 인식하지 못하고 불균일성들을 보정할 기회를 제공할 수 있다.
특정 실시예들에서, 일부 유형들의 불균일성들은 워프 엔진(410)에 의해 보정될 수 있는 반면 일부 유형들의 뷸균일성들은 이미지 프로세싱 블록(430)에 의해 보정될 수 있다. 서브-프레임들 간의 변동이 적을 것으로 예상되는 불균일성들은 워프 엔진(410)에 의해 보정될 수 있다. 예를 들어, 디스플레이의 도파관 또는 발광 구성요소들과 연관된 광학기기에 의해 도입된 불균일성들은 워프 엔진(410)에 의해 보정될 수 있다. 이러한 불균일성들이 프레임의 특정 픽셀 컬러 값들에 관계없이 일관되게 측정될 수 있기 때문에, 이러한 불균일성들은 더 강력한 워프 엔진(410)에 의해 보정될 수 있다. μLED 어레이의 오작동 μLED들에 의해 도입된 불균일성들은 이미지 프로세싱 블록(430)에 의해 보정될 수 있다.
특정 실시예들에서, 다양한 불균일성들을 보정하고 컬러 값 오류들을 전파하는 데 요구되는 마스크는 각각 디스플레이 드라이버 IC(420)의 불균일 메모리(433) 및 오류 전파 메모리(435) 내에 저장될 수 있다. 특정 실시예들에서, 불균일성 메모리(433)는 각각의 서브-프레임 변환의 적시 계산에 대한 필요성을 감소시키기 위해 미리계산된 마스크를 저장하는 7.5 MB 버퍼일 수 있다. 특정 실시예들에서, 오류 전파 메모리(435)는 이전에 계산된 오류 전파 값들을 저장하는 디스플레이 드라이버 IC(420)의 5 MB 버퍼일 수 있다. 예를 들어, 각각의 픽셀 위치에 대해, 오류 값의 일부는 시간적 오류 전파를 위해 지정될 수 있다. 다음 서브-프레임의 이미지를 프로세싱하는 동안, 이미지 프로세싱 블록(430)은 일부 또는 모든 픽셀 위치들에 대한 오류 값을 검색할 수 있다. 이 지정된 과거 오류 값은 현재 서브-프레임을 디더링하는 데 사용될 수 있다. 시간 디더링을 위해 지정된 현재 서브-프레임으로부터의 임의의 오류 값들은 이미지 프로세싱 블록(430)이 다음 서브-프레임을 디더링하는 동안 액세스될 오류 전파 메모리에 다시 저장될 수 있다. 이미지 프로세싱 블록(430)의 출력은 서브-프레임에 대한 하나 이상의 개별 μLED 컬러 명령들일 수 있다. 특정 실시예들에서, 워프 엔진(410)으로부터 수신된 이미지가 아직 단색 성분들로 분할되지 않은 경우, 이미지 프로세싱 블록(430) 또는 디스플레이 드라이버 IC(420)의 다른 구성요소는 컬러들을 2 개 이상의 단색 부분들로 분리할 수 있으므로, 이미지들은 단색 μLED 능동 매트릭스(457)를 지원하는 μLED 백플레인 IC(예를 들어, 450, 460, 또는 470)로 전달될 수 있다.
이미지 프로세싱 블록(430)의 출력이 디스플레이 드라이버 IC(420)로부터 전송되기 전에, 출력은 디스플레이 인터페이스 직렬화기(440)를 통과할 수 있다. 디스플레이 인터페이스 직렬화기(440)는 이미지 프로세싱 블록(430)으로부터 수신된 병렬화된 데이터를 μLED 백플레인 IC(450)에 보다 쉽게 송신될 수 있는 직렬화된 포맷으로 변환할 수 있다. 송신 전에 데이터를 직렬화하는 것은 예를 들어 워프 및 백플레인 제어 IC(405)를 각각의 μLED 백플레인 IC(450, 460, 및 470)에 연결하는 신호 라인들(예를 들어, 핀들)의 수를 감소시킴으로써 전체 칩 설계의 복잡성을 감소시킬 수 있다. 이것은 차례로 제조 오류들의 기회를 감소시킴으로써 비용을 감소시키고 수율을 증가시키는 데 도움을 줄 수 있다. μLED 백플레인 IC(450)의 역-직렬화기(453)는 직렬화된 데이터 스트림을 수신하고 이를 다시 μLED 백플레인 IC(450)의 나머지 구성요소들에 의해 사용하기에 적합한 병렬화된 스트림으로 변환할 수 있다.
μLED 백플레인 집적 회로
프로젝터의 μLED 집적 회로는 워프 및 백플레인 제어 IC(405)로부터 데이터 및 제어 신호들을 수신하고 데이터 및 제어 신호들을 사용자에게 디스플레이될 광으로 변환하는 엘리먼트들을 포함할 수 있다. 도 4는 프로젝터(400)의 워프 및 백플레인 제어 IC(405) 및 μLED 백플레인 IC들(450, 460, 및 470)에 대한 하나의 잠재적인 배열을 예시한다. 일부 실시예들에서, 그리고 도 4에 예시된 바와 같이, 하나의 워프 및 백플레인 제어 IC(405)는 몇몇 μLED 백플레인 제어 IC들(450, 460, 및 470)과 인터페이스하도록 구성될 수 있다. 프로젝터(400)의 경우, 각각의 μLED 백플레인 IC는 상이한 단색 μLED 능동 매트릭스(457)를 포함한다(μLED 백플레인 IC(450)는 적색 μLED 능동 매트릭스를 포함하고, μLED 백플레인 IC(460)는 녹색 μLED 능동 매트릭스를 포함하고, μLED 백플레인 IC(470)는 청색 μLED 능동 매트릭스를 포함함). 위에서 논의된 바와 같이, 이들 μLED 매트릭스들에 의해 방출된 광은 뷰어의 아이박스로 전송되기 전에 도파관 시스템을 통해 결합될 수 있다. 일부 실시예들에서, 단일 워프 및 백플레인 제어 IC(405)는 단일 μLED 백플레인 IC(450)와 인터페이스할 수 있다. μLED 백플레인 IC(450)는 차례로 단색 또는 다색(예를 들어, 여러 층의 μLED 능동 매트릭스들로 구성됨)일 수 있는 차례로 단일 μLED 능동 매트릭스를 포함할 수 있다. 본원에 설명된 동일한 원리들은 모든 생각된 조합들에 적용될 수 있다.
아키텍처는 단일 μLED 백플레인 IC(450)와 관련하여 설명될 것이다. 필요에 따라 프로젝터(400)의 나머지 μLED 백플레인 IC(예를 들어, μLED 백플레인 프로젝터 IC(460 및 470))에 대해 동일한 개념들이 쉽게 사용될 수 있다는 것이 이해되어야 한다. 이미지 데이터(예를 들어, 픽셀 컬러 값)는 μLED 백플레인 IC(450)로 송신될 수 있다. 데이터가 (예를 들어, 워프 및 백플레인 제어 IC(405)의 직렬화기(440)에 의해) 직렬화되었다면, 데이터는 μLED 백플레인 IC(450)의 역직렬화기(453)에 의해 역직렬화될 수 있다. 전술된 바와 같이, 직렬화는 데이터를 송신하는 데 요구되는 활성 신호 라인들의 수를 감소시킬 수 있고 핀-수 관점에서 더 효율적일 수 있다. 그러나, 이어서, 데이터는 펄스-폭 변조 제어 블록(455) 및 μLED 능동 매트릭스(457)를 포함하는 μLED 백플레인 IC(450)의 나머지 구성요소들에 의해 사용될 수 있도록 역직렬화를 요구할 수 있다. 역직렬화된 데이터는 펄스-폭 변조(PWM) 제어 블록(455)으로 전달될 수 있다.
PWM 제어 블록(455)은 컬러 데이터를 해석하고 μLED 능동 매트릭스(457)의 μLED들을 사용하여 펄스-폭 변조들을 수행하는 데 필요한 제어 명령들을 제공할 수 있다. 특정 실시예들에서, PWM 제어 블록(455)은 픽셀 컬러 값들 및 다른 제어 명령들을 μLED 능동 매트릭스(457)에 의해 액세스될 메모리들에 로드할 수 있다. 데이터가 로드된 후, μLED 능동 매트릭스(457)의 μLED들은 컬러 데이터 및 명령들에 따라 조명될 수 있다. 예를 들어, PWM 제어 블록(455)은 뷰어의 눈이 조명된 디스플레이만 인식하도록(예를 들어, μLED의 깜박임을 인식하지 못하는) 충분히 빠른 레이트로 μLED들이 조명될 수 있도록 타이밍 및 컬러 명령들을 제공할 수 있다. 본 개시내용이 디스플레이 조절 기법으로서 PWM을 사용하는 것을 설명하지만, 광원의 조명을 제어하기 위한 다른 접근법들이 또한 사용될 수 있다. 특정 실시예들에서, μLED 능동 매트릭스(457)는 데이터가 워프 엔진(410)에 의해 출력되는 레이트(예를 들어, 120 Hz - 10 kHz 또는 120 - 10,000 sFPS)에 따라 서브-프레임들을 수신하고 디스플레이하도록 구성될 수 있다.
프레임 및 서브-프레임 타이밍
본 개시내용이 2 개의 상이한 프레임 레이트들에서 이미지 프레임 데이터를 생성 및 수신하는 구성요소들을 고려하기 때문에, 다음은 디스플레이 시스템 내의 서브-프레임 레이트들(예를 들어, 업-샘플링된 프레임들)의 효과들에 대한 간략한 설명 및 예이다. 도 5는 디스플레이 시스템에 의해 수신되고 디스플레이되는 2 개의 프레임들의 예시적인 렌더링 타임라인을 예시한다. 타임라인(500)은 단일 프레임에 대한 시간 양을 나타낸다. 표시된 바와 같이, 디스플레이는 초당 30-90 프레임들(30-90 Hz)의 입력 프레임 레이트로 프레임들을 수신할 수 있다. 입력 프레임 레이트는 업데이트 또는 리프레시(refresh)된 프레임 데이터가 수신되는 주파수를 나타낼 수 있다. 예를 들어, 프레임들(또는 프레임들의 렌더링을 허용하는 데이터)은 렌더링 엔진에 의해 렌더링되고 디스플레이를 위해 HMD로 전송될 수 있다. 입력 프레임 레이트는 렌더링된 데이터가 HMD에 의해 수신되는 주파수를 나타낼 수 있다.
타임라인(510)은 하나 이상의 발광기들(예를 들어, LED들)이 표준 디스플레이에서 수신된 프레임에 대응하는 광을 방출할 수 있는 시간의 양을 나타내고, 이는 발광기에 대한 온-시간으로 지칭될 수 있다. LED에 대한 온-시간은 LED에 의해 전류가 수신된 후 LED가 특정된 밝기 임계값 초과의 광을 출력하는 시간을 지칭할 수 있다. 따라서, 타임라인(510)은 LED가 빛을 방출하기 시작하지만 그 특정된 밝기로 방출하지 않는 시간을 포함하지 않을 수 있다. 특정 실시예들에서, 표준 디스플레이에서 LED에 대한 온-시간은 6-28 ms(35-167 Hz에 대응)일 수 있다. 타임라인(520)은 LED의 오프-시간을 나타낸다. LED에 대한 오프-시간은 LED에 전류가 더 이상 공급되지 않기 때문에와 같이, LED가 광을 방출하지 않는 시간을 지칭할 수 있다. 특정 실시예들에서, 표준 디스플레이에서 LED에 대한 오프-시간은 약 5 ms일 수 있다. LED의 오프-시간 동안, 렌더링 엔진으로부터 업데이트를 수신하고 후속 프레임 데이터를 디스플레이할 준비를 할 수 있다. 또한 오프-시간 동안, 프레임 데이터에 대한 업데이트들은 렌더링 엔진 또는 HMD에 의해 적용될 수 있다. 이러한 업데이트들은 텍스처 데이터에 대한 업데이트들 또는 가변 초점 렌즈들이 시뮬레이팅되게 하는 조정들(또는 물리적 가변 초점 렌즈들의 경우, 그에 따라 렌즈들이 이동될 수 있음)을 포함할 수 있다.
타임라인(530)은 소정 실시예들에 따른 서브-프레임 디스플레이에 할당된 시간의 양을 나타낸다. 특정 실시예들에서, 디스플레이 시스템은 입력 프레임 레이트(예를 들어, 30-90 Hz)로 프레임들을 수신하고 프레임을 여러 서브-프레임들로 업-샘플링할 수 있다. 서브-프레임들을 업-샘플링하고 디스플레이함으로써, 디스플레이는 효과적이거나 인지되는 프레임 레이트를 증가시킬 수 있다. 특정 실시예들에서, 서브-프레임 레이트는 120 Hz - 10 kHz일 수 있다. 서브-프레임 레이트는 디스플레이의 발광기들의 응답 시간을 이용하도록 구체적으로 구성될 수 있다. 특정 실시예들에서, 디스플레이의 LED들은 공급된 입력 프레임 레이트로 프레임을 디스플레이하는 데 요구되는 시간보다 훨씬 낮은 전력 사이클 시간(예를 들어, 오프에서 온으로 다시 오프로의 시간)을 가질 수 있다. 이에 기반하여, 디스플레이 시스템은 LED들에 의해 디스플레이될 입력 프레임 업데이트들(예를 들어, 30-90 Hz보다 빠름) 사이에 프레임 이미지 데이터를 수정하도록 구성될 수 있다. 예를 들어, 입력 프레임 업데이트들 사이에, 타임라인(540)에 의해 표시된 바와 같이, 렌더링 엔진에 의해 제공되는 데이터에 기하학적 워핑이 (예를 들어, 워프 엔진(410)에 의해) 수행될 수 있다. 기하학적 워핑의 효과들은 업-샘플링된 서브-프레임 레이트로 디스플레이될 수 있다. 오프-시간(타임라인(550)으로 표시됨) 동안 렌더링 엔진으로부터 새로운 데이터가 수신될 수 있기 때문에, 디스플레이 시스템에 의해 어떠한 추가 효과도 적용되지 않을 수 있다.
예시적인 집적 회로들
본 개시내용은 워프 및 백플레인 제어 IC(405) 및 μLED 백플레인 IC(예를 들어, 450), 및 상기 집적 회로들의 구성요소들에 사용될 수 있는 집적 회로들에 대한 다양한 가능한 설계들을 고려한다. 도 6-도 7은 백플레인 제어 IC 및 프로젝터 IC의 예시적인 아키텍처를 예시한다.
백플레인 제어 IC
도 6은 펄스-폭 변조를 이용하는 실리콘-기반 백플레인 제어 IC 및 능동 μLED 어레이(예를 들어, μLED 백플레인 IC(450, 460, 및 470))에 대한 예시적인 블록-레벨 레이아웃(600)을 예시한다. 블록(610)은 직렬화된 데이터(워프 및 백플레인 제어 IC(405)의 직렬화기 블록(440)에 의해 직렬화된 데이터와 같은)를 병렬화된 데이터로 역-직렬화하는 역-직렬화기이다. 역-직렬화 블록(610)은 직렬화기(440)에 의해 특정된 포맷으로부터 데이터를 역-직렬화하도록 특정하게 구성될 수 있다. 그러므로, 역-직렬화 블록(610)과 직렬화기(440)는 쌍을 이루거나 공동-설계되었다고 할 수 있다. 백플레인 제어 IC(600)는 PWM을 사용하여 μLED 어레이(660)의 출력을 변조할 수 있다. 타이밍 제어기(TCON) 보드(650)는 열 드라이버 보드(620) 및 스캐닝 행 보드(630)에 대한 타이밍 명령들을 제공할 수 있다. TCON 보드(650)는 예를 들어, 특정 발광기들(예를 들어, LED들, OLED들, μLED들 등)이 조명되어야 하는 컬러 및/또는 시간 양에 대한 정보를 제공하여 디스플레이 드라이버로부터 수신된 컬러 데이터 스트림에 의해 명령된 바와 같이 컬러를 제공할 수 있다. 특정 실시예들에서, 타이밍 제어기(TCON) 보드(650)는 몇 개의 개별 TCON 칩들을 포함할 수 있다.
드라이버(620)는 μLED 능동 어레이(660)의 어느 μLED 열들이 주어진 서브-프레임에 대해 조명된 μLED들을 포함할 것인지를 나타내는 명령들을 수신할 수 있다. 스캐닝 행 보드(630)는 μLED 능동 어레이(660)의 행들을 접지하기 위한 명령들(예를 들어, 어느 열들의 어느 μLED들이 켜질 것인지에 관한 명령들)을 수신할 수 있다. 특정 실시예들에서, 어레이(660)의 μLED들의 M 개의 열들 및 N 개의 행들이 있을 수 있고, 여기서 M 및 N은 임의의 적합한 정수일 수 있다. 예를 들어, 디스플레이는 3840개의 μLED들의 열들과 2160 개의 μLED들의 행들을 포함할 수 있다(예를 들어, 4K 디스플레이 해상도). 디스플레이에 유리한 것으로 간주되는 더 많거나 더 적은 μLED들이 포함될 수 있다. TCON 보드(650)는 어레이의 모든 μLED들이 적절한 시간에 방출하는 것을 보장하기 위해 스캐닝 행 드라이버(630)가 μLED 어레이의 행들을 통해 순환하게 하는 타이밍 명령을 제공할 수 있다. 바이어스 전류 미러(640)는 가변 구동 전류를 수신하고 드라이버들(620, 630)에 의해 변조된 μLED들 구동에 적합한 베이스 전류를 출력할 수 있다. 특정 실시예들에서, 백플레인 제어 IC 및 능동 μLED 어레이(660)는 유리-기반 박막 트랜지스터 백플레인과 대조적으로 실리콘-기반 박막 트랜지스터 백플레인으로 구현될 수 있다. 실리콘-기반 백플레인은 μLED 백플레인 IC(600)가 더 작은 폼 팩터를 갖게 하여, 디스플레이 품질을 희생하지 않으면서 효율성을 촉진하고 제조 비용을 낮출 수 있다.
프로젝터 - 2.5D 및 3D IC
도 7은 디스플레이 시스템의 프로젝터(예를 들어, 프로젝터(400))를 위한 2 개의 배열들(700, 710)을 예시한다. 배열들(700 및 710)은 기계적 지지를 위해 인쇄 회로 기판(PCB)에 장착되고 IC들 사이의 전기적 연결들을 지원하기 위한 워프 및 백플레인 제어 IC(예를 들어, 워프 및 백플레인 제어 IC(405)) 및 여러 백플레인 제어 IC들(740, 750 및 760)(예를 들어, μLED 백플레인 IC들(450, 460 및 470))을 특징으로 한다. 도 4에서와같이, 백플레인 제어 IC들은 각각 단색 μLED 어레이를 지원하므로, 각각에는 제공하는 컬러(예를 들어, 적색, 녹색 또는 청색)가 지정될 수 있다.
배열(700)은 3 개의 백플레인 제어 IC들(740, 750, 및 760)이 워프 및 백플레인 제어 IC(730)의 상단에 물리적으로 장착되는 변형을 예시한다. IC들의 수직 적층은 PCB(720a)에 추가로 장착된다. 이러한 적층 변형은 또한 종래의 IC들에 비해 증가된 수직 프로파일로 인해 3D 구조라고 지칭될 수 있다. 3D 구조에서, 실리콘-관통 비아들은 백플레인 제어 IC들(740, 750, 및 760)이 워프 및 백플레인 제어 IC(730)와 통신하고 PCB(720a)에 연결되게 하는 데 사용될 수 있다. 3D 변형은 IC의 풋프린트(footprint)가 크게 감소될 수 있으므로 종래의 2D 변형(예를 들어, 모든 IC들이 단일 평면에 장착됨)보다 더 공간 효율적일 수 있다. 3D 변형은 또한 개별 IC들이 고효율 실리콘-관통 비아들을 통해 적층의 다른 IC들과 직접 통신할 수 있기 때문에 상호연결 복잡성을 감소시킬 수 있다.
배열(710)은 3 개의 백플레인 제어 IC들(740, 750, 및 760)이 인터포저(770) 상의 워프 및 백플레인 제어 IC(730) 옆에 장착되는 변형을 예시한다. 인터포저(770)(IC들을 가짐)는 PCB(720b)에 추가로 장착된다. 인터포저(770)는 2.5D 구성으로 지칭될 수 있는 IC들의 시뮬레이팅된 3D 구성을 허용할 수 있다. 인터포저(770)는 상단에 장착된 IC들의 통신 지점들과 PCB(720b)를 연결하는 실리콘-관통 비아들을 갖는 실리콘 인터포저일 수 있다. 인터포저(770)는 2D 구성에서 달리 달성가능할 더 빠른 IC-대-IC 통신을 허용할 수 있다. 예를 들어, 사용된 제조 기법들에 따라, 인터포저는 더 정확한(예를 들어, 노이즈가 적은) 연결들을 허용할 수 있다. 인터포저(770) 상의 IC들 간의 연결들은 IC들 자체와 동일한 재료들(예를 들어, 실리콘) 및 프로세스들을 사용하여 이루어질 수 있다. 인터포저(770)와 PCB(720b) 사이의 연결들은 통상적인 기법들을 사용하여 이루어질 수 있다. 2.5D 또는 "나란한" 변형은 2D 기법들과 비교할 때 IC들 간의 통신 속도를 향상시키고 풋프린트를 감소시킬 수 있다. 2.5D 변형은 또한 순수한 3D 변형과 비교할 때 더 높은 제조 수율을 가질 수 있다. 또한 개별 활성 IC들이 여전히 분리될 수 있기 때문에, IC들로부터의 열은 2D 변형과 유사한 방식으로 소산될 수 있다는 점에서 자연스럽게 문제가 덜할 수 있다.
프로젝터 아키텍처들
도 7이 프로젝터의 구성요소들의 배열들에 대한 변형들을 예시하고, 도 8a 내지 도 8d는 상이한 집적 회로들로 구현된 프로젝터들의 상이한 구성요소들에 대한 변형들을 포함하는, HMD의 구성요소들의 배열들에 대한 변형들을 예시한다. 도 8a 내지 도 8d는 HMD의 프로젝터(예를 들어, 프로젝터(400)) 및 헤드셋 CPU(예를 들어, 헤드셋 CPU(310))에 대한 가능한 아키텍처들을 예시한다. 도 8a 내지 도 8d에 예시된 각각의 구성은 헤드셋 CPU, 워프 엔진(예를 들어, 워프 엔진(410)), 디스플레이 드라이버 IC(DDI)(예를 들어, 디스플레이 드라이버 IC(420)), 및 μLED 백플레인 제어 및 매트릭스(예를 들어, μLED 백플레인 IC(450, 460, 또는 470)) 각각 중 적어도 하나를 포함한다. 도 8a 내지 도 8d에 표현된 옵션들은 요구된 별개의 IC들의 수, DDI가 μLED 백플레인 제어 및 매트릭스와 IC를 공유하는지 여부, 다른 구성요소들에 관련한 워프 엔진(예를 들어, 워프 엔진(410)의 위치와 같은 3 개의 메트릭(metric)들을 따라 자신의 특징의 설명이 요약될 수 있다.
도 8a에서, 아키텍처(800a)는 3 개의 별개의 유형들의 IC들을 포함한다. 하나의 IC는 헤드셋 CPU(805)이다. 제 2 IC(815)는 워프 엔진(예를 들어, 워프 엔진(410)) 및 DDI 제어부(예를 들어, 디스플레이 드라이버 IC(420))를 포함한다. 제 3 IC 유형(820a, 820b 및 820c)은 μLED 백플레인 제어 및 능동 매트릭스(예를 들어, μLED 백플레인 IC(450, 460 및 470))를 포함한다. 이 구성에서, 프로젝터(810)(예를 들어, 프로젝터(400))는 단일 칩에 통합된 워프 엔진 및 DDI 제어 ASIC(815) 및 3 개의 μLED 백플레인 제어 및 능동 매트릭스 IC(820a, 820b, 820c)를 포함한다. 따라서, 이 구성이 임의의 수의 프로젝터들(810)을 지원할 수 있지만, 구성(800a)에 도시된 헤드셋 CPU(805)는 4 개의 프로젝터들(810)을 지원한다. 예를 들어, 각각의 눈은 스크린을 수직 또는 수평으로 분할하는 2 개의 지정된 프로젝터들(810)을 가질 수 있다. 각각의 프로젝터의 작업량을 나누는 것은 (더 적은 수의 프로젝터들로 동일한 시야를 달성하는 잠재적 비용 또는 복잡성에 비해) 비용이나 복잡성을 극적으로 증가시키지 않고 사용자의 시야를 개선할 수 있다.
도 8a에 도시된 각각의 프로젝터(810)는 전용 워프 엔진을 갖는다. 이것은 프레임/서브-프레임의 서브세트에 대한 기하학적 워프들만을 결정할 필요가 있기 때문에 워프 엔진의 예상된 작업량을 감소시킬 수 있다. 다른 장점은 μLED 능동 매트릭스(820a, 820b, 및 820c)에서 워프 엔진 및 DDI 제어 ASIC(815)를 분할하는 데서 기인한다. 전술된 바와 같이 아날로그 구성요소들과 인터페이스하기 위해 2 개의 블록 중 하나가 본질적으로 필요하지 않기 때문에, 워프 엔진 및 DDI 제어의 동작들은 "디지털-전용"이라고 지칭될 수 있다. 대조적으로, μLED 매트릭스는 아날로그 구성요소이고, 이의 제어기는 적절하게 μLED 매트릭스와 인터페이스해야 한다. 워프 엔진 및 DDI 제어 ASIC(815)가 디지털-전용 동작들만을 지원하기 때문에, ASIC 자체는 가장 적절한 제조 프로세스들을 사용하여 제조될 수 있다. 예를 들어, 워프 엔진 및 DDI 제어 ASIC(815)는 더 작은 구성요소들을 사용하여 제조될 수 있으므로, IC들이 아날로그 구성요소들과의 인터페이스들을 포함하는 경우 보다 강력하고/하거나 전력 효율적이게 한다. 특정 실시예들에서, 프로젝터(810)는 도 7과 관련하여 위에서 설명된 바와 같이 2.5D 또는 3D ASIC로 구현될 수 있다. 따라서, 워프 엔진 및 DDI 제어 ASIC(815) 및 μLED 제어 및 매트릭스 IC들(820a, 820b, 및 820c) 사이의 활성 신호 연결들은 나란하거나 적층된 설계 아키텍처들에 의해 활성화된 짧은 직접 연결들의 이점을 얻을 수 있다.
많은 표준 디스플레이들(예를 들어, 유리-기반 백플레인을 갖는 디스플레이들)에서, DDI 제어기의 동작들이 종종 디스플레이 매트릭스와 떼려야 뗄 수 없게 묶여있기 때문에 DDI 제어기 및 μLED 제어기 및 능동 매트릭스는 단일 IC로 통합되어야 한다. 전술한 바와 같이, 소정 실시예들에서, μLED 매트릭스는 실리콘-기반 백플레인을 사용할 수 있다. 이것은, 특히 2.5D 또는 3D 구성에 대한 가능성과 함께 고려될 때, μLED 디스플레이를 지원하는 동작 블록들의 거의 임의적 나눔을 허용할 가능성이 있다. 예를 들어, 그리고 아키텍처(800a)에 대해 예시된 바와 같이, 워프 엔진 및 DDI 제어기는 μLED 제어기 및 매트릭스로부터 분리될 수 있다.
도 8b에서, 아키텍처(800b)는 다시 3 개의 별개의 유형들의 IC들을 포함한다. 하나의 ASIC(825)는 헤드셋 CPU 및 워프 엔진(예를 들어, 워프 엔진(410))을 포함한다. 제 2 ASIC(835)는 DDI 제어부(예를 들어, 디스플레이 드라이버 IC(420))를 포함한다. 그리고 제 3 ASIC 유형(840a, 840b 및 840c)은 μLED 백플레인 제어 및 능동 매트릭스(예를 들어, μLED 백플레인 IC(450, 460 및 470))를 포함한다. 도 8a에 도시된 아키텍처와 같이, 아키텍처(800b)는 IC들의 전문화를 강화하고 IC들에 사용되는 가장 적절한 제조 프로세스들을 허용한다(예를 들어, 하이브리드 IC들에 비해 디지털-전용 IC들의 속도만을 개선).
아키텍처(800a)와 달리, 아키텍처(800b)는 헤드셋 CPU와 동일한 IC(825)에 통합된 분할된 워프 엔진을 특징으로 한다. 아키텍처(800b)는 단일 워프 엔진을 예시하지만, 동일한 ASIC(855)에서 동작하는 다중 워프 엔진들(예를 들어, 눈당 하나, 프로젝터당 하나, 등)을 지원할 수 있다. 따라서, 이러한 구성의 프로젝터(830)는 DDI 제어기 및 μLED 능동 매트릭스를 포함한다. 분할된 워프 엔진은 헤드셋 CPU에 제공되는 증가된 컴퓨팅 성능에 액세스하여 이점을 얻을 수 있다. 이는 빠른 서브-프레임 생성 및 디스플레이 레이트(예를 들어, 120 Hz - 10 kHz)의 목표를 지원할 수 있다. 아키텍처(800b)는 또한 프로젝터(830)를 위한 더 간단하고 제조하기 쉬우며 더 저렴한 IC들을 허용할 수 있다. 또한, 아키텍처(800b)는 위에서 논의된 바와 같이 μLED 백플레인 제어 및 μLED 능동 매트릭스로부터 DDI 제어기를 분할하는 많은 장점들을 추가로 제공할 수 있다.
도 8c에서, 아키텍처 구성(800c)은 2 개의 별개의 ASIC 유형들을 포함한다. 하나의 ASIC는 헤드셋 CPU(845)를 포함한다. 제 2 ASIC(850a, 850b, 및 850c)는 워프 엔진(예를 들어, 워프 엔진(410)), DDI 제어부(예를 들어, 디스플레이 드라이버 IC(420)) 및 μLED 백플레인 제어 및 능동 매트릭스(예를 들어, μLED 백플레인 IC(450, 460, 및 470))를 포함한다. 따라서, 이 아키텍처 구성하의 프로젝터는 단일 칩에 이러한 모두 3 개의 구성요소들을 포함한다. 도 8c는 각각 자신의 단색 μLED 매트릭스를 갖는 별도의 프로젝터들을 예시한다. 따라서, 이 구성은 눈당 6 개의 프로젝터들을 갖는 HMD를 지원하여, FOV를 분할하는 2 개의 풀-컬러 디스플레이들을 생성한다.
각각의 프로젝터는 전용 워프 엔진을 가져서, 아마도 개별 워프 엔진 구성요소들의 정확도와 효율성을 증가시킬 수 있다. 특정 실시예들에서, 각각의 워프 엔진은 자신이 지원하는 단색 μLED 매트릭스의 컬러 채널들에 기반하여 최적화될 수 있다. 예를 들어, 이미지의 적색 채널에 대해서만 초기 가시성 검사들을 수행하는 워프 엔진은 녹색 채널에 대해 동일한 것을 수행하는 워프 엔진과 별도로 최적화될 수 있다. 또한, 그러한 워프 엔진의 픽셀 블록에 의해 수행되는 컬러 혼합은 녹색 또는 청색 채널들에 대한 고려를 피할 수 있기 때문에 고도로 최적화될 수 있다. 아키텍처(800c)는 제조 요건들을 단순화하고 결국 실행가능한 IC들의 더 큰 수율들을 촉진할 수 있는 2 개의 별개의 유형들의 IC들만 요구하는 데, 그 이유는 제조가 이러한 2 개의 유형들의 IC들을 생성하는 데만 집중될 수 있기 때문이다. 이것은 또한 HMD에 통합되어야 하는 IC들의 유형들을 제한하므로 통합을 단순화할 수 있다.
도 8d에서, 아키텍처(800d)는 2 개의 별개의 유형들의 IC들을 다시 포함한다. 하나의 ASIC(855)는 헤드셋 CPU 및 워프 엔진(예를 들어, 워프 엔진(410))을 포함한다. 제 2 ASIC 유형(860a, 860b, 및 860c)은 워프 엔진(예를 들어, 워프 엔진(410)), DDI 제어부(예를 들어, 디스플레이 드라이버 IC(420)) 및 μLED 백플레인 제어 및 능동 매트릭스(예를 들어, μLED 백플레인 IC(450, 460, 및 470))를 포함한다. 이 구성은 단일 워프 엔진을 예시하지만, 동일한 ASIC(855)에서 동작하는 다중 워프 엔진들(예를 들어, 눈당 하나, 프로젝터당 하나, 등)을 지원할 수 있다.
2개의 별개의 IC들만을 통합하는 이점들 외에, 아키텍처(800d)는 프로젝터 ASIC(860a, 860b, 860c)가 구성요소들, DDI 제어기 및 μLED 매트릭스를 포함하고, 이는 개념적으로 함께 그룹화하기에 가장 간단할 수 있다는 점에서 추가적인 이점을 가질 수 있다. 각각의 DDI 제어기는 단색 μLED 매트릭스와 쌍을 이루고, DDI 제어기는 사용된 특정 μLED 컬러들의 컬러 채널을 지원하도록 최적화될 수 있다. 예를 들어, 적색 μLED 매트릭스를 지원하는 DDI 제어기는 청색 μLED들을 지원하도록 최적화된 DDI 제어기로부터 적색 μLED들의 컬러 균형을 개선하기 위해 별개의 최적화들을 가질 수 있다. 배열(800d)은 또한 헤드셋 CPU와 워프 엔진 ASIC(855) 및 각각의 개별 프로젝터 ASIC(860a, 860b, 및 860c) 사이의 데이터 라우팅의 복잡성을 감소시킬 수 있다. 단일 컬러 채널만 각각의 DDI 제어기에 전송되기 때문에, 단일 DDI 제어기가 여전히 다수의 단색 μLED 어레이들을 지원하는 배열과 비슷한 처리량 속도들을 달성하면서 활성 신호 채널을 통해 한 번에 더 적은 정보가 전송될 수 있다.
특정 애플리케이션에 가장 적절한 아키텍처의 선택은 다양한 고려사항들에 따를 수 있다. 예를 들어, 아키텍처에서 사용될 수 있는 소정 IC들은 사용될 수 있는 다른 IC들에 비해 제조하기에 더 비쌀 수 있다. 그러므로, 주어진 구성에서 사용되는 고가의 IC들의 총 수를 감소시키는 것이 바람직할 수 있다. 다른 예로서, 그리고 위에서 논의된 바와 같이, 주어진 구성에서 요구될 고유 ASIC들의 수를 감소시키는 것이 유리할 수 있다. 기능 블록의 역할을 수행하기 위해 추가 ASIC를 설계하는 것은 어렵고 비쌀 수 있다. 이러한 IC들의 신뢰할 수 있는 샘플들의 수율을 개선하는 데 노력들을 집중할 수 있도록 2 개의 별개의 IC들만을 설계하고 제조하는 것이 더 비용 효율적일 수 있다. 다른 예로서, 소정 IC들이 다른 IC들보다 더 많은 전력을 소비할 수 있다는 것이 결정될 수 있다. 예를 들어, 4 개의 워프 엔진들을 갖는 구성에 요구된 전력이 12 개의 워프 엔진들을 갖는 구성보다 더 낮은 것이 결정될 수 있다. 단일 IC로의 소정 블록 조합들이 전력 요건들에 영향을 미칠 수 있다는 것이 추가로 결정될 수 있다. 예를 들어, 워프 엔진과 헤드셋 CPU가 결합된 구성은 워프 엔진이 DDI 제어 및/또는 μLED 백플레인 제어 및 능동 매트릭스와 결합된 구성보다 더 높은 전력 요건을 갖는 것이 결정될 수 있다. 다른 예로서, 소정 IC들에 의해 생성되는 열의 양이 고려될 수 있다. 이러한 모든 요소들과, 임의의 다른 적합한 요소들은 프로젝터 아키텍처를 설계할 때, 특히 특정 애플리케이션에 대해 다른 아키텍처보다 하나의 아키텍처를 선택할 때 고려될 수 있다.
프로젝터 IC 패키징
도 9a 내지 도 9e는 위에서 논의된 프로젝터의 논리적 구성들을 위한 여러 패키징 옵션들을 예시한다. 더 상세히 설명되는 바와 같이, 아키텍처 구성(800a-800d)의 선택은 특정 패키징 옵션의 선택을 알리거나 요구할 수 있다. 도 9a는 기계적 정렬기(901)가 HMD의 도파관(905)에 관련하여 구성요소들의 적층의 포지션을 조정할 수 있는 구성을 예시한다. 도 9a는 각각 자신의 단색 μLED 어레이(912)를 갖는 3 개의 ASIC들(913)을 예시한다. 예를 들어, 도 9a에 예시된 패키징 옵션은 단일 프로젝터에 대해, 적색 채널을 디스플레이하기 위한 하나의 ASIC(913) 및 단색 μLED 어레이(912), 녹색 채널을 디스플레이하기 위한 하나의 ASIC(913) 및 단색 μLED 어레이(912), 청색 채널을 디스플레이하기 위한 하나의 ASIC(913) 및 단색 μLED 어레이(912)를 지원할 수 있다. μLED 어레이에 적합한 임의의 컬러 채널이 사용될 수 있다. 유사하게, 다색 μLED 어레이가 또한 사용될 수 있다. 각각의 단색 μLED 어레이(912)는 다양한 μLED 어레이들(912)로부터 방출된 광을 단일 이미지로 커플링하기 위해 연관된 커플링 구성요소(911)를 갖는다. ASIC들(913)은 각각 차례로 기계적 정렬기(901)에 장착되는 회로 기판(914)에 본딩된다. 특정 실시예들에서, 회로 기판(914)은 경연성 회로 기판일 수 있고, 이는 회로(914)가 기계적 정렬기(901)의 제어 하에 필요에 따라 이동하게 한다. 기계적 정렬기(901)는 HMD의 제어기(예를 들어, 헤드셋 CPU)에 의해 제어될 수 있다. 이 실시예에서, 기계적 정렬기(901)는 다른 AISC들(913) 및 μLED 어레이들(912)과 독립적으로 각각의 ASIC(913) 및 μLED 어레이(912)를 포지셔닝할 수 있다.
도 9b는 도 9a에 도시된 것과 유사한 구성을 예시하지만, 기계적 정렬기(901)가 없다. 도 9b에서, ASIC들(913)은 기계적 및 전기적 지원을 위해 동일한 회로 기판(914)에 각각 장착된다. 따라서, 도 9b는 도 9a에 예시된 구성에 대한 더 간단한 변형을 예시한다. 도 9b는 위에서 설명된 ASIC의 패키징에 대한 2D 접근법을 예시한다고 말할 수 있다. ASIC들(913)은 모두 동일한 평면 및 동일한 회로 기판(914)에 장착된다. 따라서, 잘-이해되는 제조 프로세스들을 사용하여 구성이 이루어지고, 이는 비용을 감소시키고 수율을 증가시킬 수 있다. 그러나, 2D 구성은 적어도 결과 회로들이 더 많은 수평 공간을 차지한다는 점을 포함하여, 다수의 알려진 제한들을 갖는다. 핸드-헬드 디바이스들 및 HMD들에서, 이 공간은 중요할 수 있고 따라서 2D 솔루션이 모든 사용 사례들에서 실행가능하지 않을 수 있다. 또한, ASIC들(913)은 추가적인 배선 복잡성 없이 다른 ASIC들(913)과 직접 통신할 수 없다.
도 9c는 인터포저(920)를 사용하여 ASIC들(913)을 PCB에 부착하는 구성을 예시한다. 인터포저(920)의 사용은 각각의 ASIC(913)이 다른 ASIC들(913)과 보다 직접적인 통신을 허용하여, 배선 복잡성을 극적으로 증가시키지 않으면서 통신 효율을 증가시킬 수 있다. 이 구성에서, 각각의 μLED 어레이(912)는 ASIC(913)과 본딩된다. ASIC들(913)은 차례로 공통 인터포저(920)와 본딩된다. 공통 인터포저(920)는 추가 배선 없이 ASIC들(913)이 직접 통신하게 하는 재료들로 구성될 수 있다. 인터포저(920)는 하나 이상의 실리콘-관통 비아들(925)을 포함하여, ASIC들(913)이 또한 필요에 따라 회로 기판(914)에 직접 연결되게 할 수 있다. 이 구성은 다른 구성들보다 ASIC(913)에 대한 더 많은 구조적 지지를 제공하여, 회로 기판의 더 많은 이동을 허용할 수 있다. 도 9a 내지 도 9c에 예시된 구성들은 가장 자연스럽게 도 8c에 예시된 아키텍처와 함께 사용될 수 있다. 이 구성에서, 워프 엔진 및 DDI 제어부는 단일 ASIC(850a, 850b 및 850c)의 단색 μLED 매트릭스에 할당된다. 단일 μLED 매트릭스(912)에 본딩되는 도 9a 내지 도 9c 각각의 ASIC들(913)은 고려된 프로젝터 IC들을 구현할 수 있다.
도 9d는 단일 ASIC(930)이 다수의 μLED 어레이들(912)에 연결되는 구성을 예시한다. 이전과 같이, 구성은 특정 μLED 어레이(912)를 HMD의 도파관(905)에 연결하는 각각의 μLED 어레이(912)에 대한 커플링 구성요소들(911)을 포함한다. 그러나, (예를 들어, 도 9c에 예시된 구성에서와같이) μLED 어레이(912)당 할당된 ASIC 대신에, 단일 ASIC(930)이 다수의 μLED 어레이들(912)과 연관된다. 도 9d에 도시된 예에서, 하나의 ASIC(930)은 3 개의 μLED 어레이들(912)(각각은 단색 μLED 어레이일 수 있음)과 연관된다. ASIC(930)은 각각 실리콘 인터포저(935)를 통해 μLED 어레이들(912) 각각에 연결된다. 도 9d에 예시된 구성은 도 8a에 예시된 아키텍처와 함께 사용될 때 특히 유리할 수 있다. 이 구성에서, 단일 워프 엔진 및 DDI 제어 ASIC(815)는 다수의 μLED 제어 및 매트릭스 IC들(820a, 820b, 및 820c)과 함께 사용된다. 도 9d에 예시된 구성은 각각의 컬러 채널에 대해 수행된 많은 작업이 공유되고 재사용될 수 있기 때문에 워프 엔진에 대한 최소 전력 요건들과 함께 도 8a의 구성을 구현할 수 있다. 이것은 또한 메모리 액세스 시간들을 감소시키고 프로세싱 속도를 향상시킨다.
도 9e는 (도 9d에서와같이) 실리콘 인터포저의 사용자 없이 단일 ASIC(930)이 다수의 μLED 어레이들(912)에 본딩되는 구성을 예시한다. ASIC(930)은 차례로 전기적 및 기계적 지원을 위해 회로 기판(914)에 본딩된다. 이 구성은 위에서 설명한 구성들 중 일부보다 제조업체에 더 간단할 수 있다. 따라서, 제조 비용들 및 수율들은 더 쉽게 제어될 수 있다. 특정 실시예들에서, 더 간단한 구성은 더 진보된 제조 기법들의 사용을 허용하여, ASIC들(930) 및 μLED 어레이들(912)의 성능을 증가시킬 수 있다.
도 9a 내지 도 9e와 관련하여 예시되고 설명된 모든 구성들은 도 8a 내지 도 8d에 예시된 소정의 아키텍처 구성들 내에서 사용함으로써 이점을 얻을 수 있다. 예를 들어, 모든 구성들에서, 워프 엔진은 중앙 헤드셋 CPU에 포함될 수 있다. 이것은 워프 엔진이 자신의 언급된 동작들을 많이 수행할 때 최대 메모리 공유를 허용할 수 있다. 예를 들어, 많은 프로젝터들에 공유될 수 있는 텍스처 매핑 및 혼합 효과들이 겹칠 수 있다. 단일 ASIC 또는 ASIC의 층이 도 9a 내지 도 9e에 도시되고, ASIC들의 적층(3D 구현에서와같이)이 또한 적절한 수정들과 함께 사용될 수 있다는 것을 주목하라. 또한, 추가 ASIC들, IC들, μLED 어레이들, 또는 인터포저들과 같은 추가 구성요소들은 임의의 주어진 층에 추가되어 예시된 구성들의 능력들을 더욱 확장시킬 수 있다. 예를 들어, 도 9d에 예시된 구성에서, 하나 이상의 추가 구성요소들은 실리콘 인터포저(935)의 상단에 추가될 수 있다. 이것은 예를 들어, μLED 어레이(912)와 통신하기 위해 구성에 추가 ASIC이 추가되는 것을 허용할 수 있다. 도 8a 내지 도 8d에 도시된 아키텍처들과 같이, 다양한 고려사항들은 하나의 구성을 다른 구성보다 선택하는 데 영향을 미칠 수 있다. 이러한 고려 사항들은 패키징 크기, 제조 및 조립 비용, 열 분배 및 소산, 전력 사용, 탄력성, 임의의 다른 적합한 고려 사항들, 또는 이들의 조합을 포함할 수 있다.
수정된 서브-프레임들을 생성하고 디스플레이하는 예시적인 방법
도 10은 수정된 서브-프레임들을 생성하고 디스플레이하기 위한 예시적인 방법(1000)을 예시한다. 방법은 렌더링 엔진(300)이 기본 렌더링 명령들에 기반하여 디스플레이를 위한 가상 객체들을 생성할 수 있는 단계(1010)에서 시작할 수 있다. 기본 렌더링 명령들은 디스플레이를 위한 다각형들 및 연관된 컬러들의 세트를 포함될 수 있다. 렌더링 엔진은 가상 장면에 관한 뷰어의 위치에 관한 정보에 기반하여 초기 가시성 결정들을 수행할 수 있다. 렌더링 엔진은 프로젝터(400)에 통합될 수 있는 워프 엔진(410)에 의해 사용하기 위해 전술한 표면들과 같은 특수 객체 프리미티브들을 생성할 수 있다. 표면은 3D 가상 장면을 나타내는 2D 이미지들을 포함할 수 있다. 렌더링 엔진은 예를 들어, 30-90 Hz의 레이트로 표면들을 워프 엔진(410)에 제공할 수 있다. 단계(1020)에서, 워프 엔진(410)은 렌더링 엔진으로부터 수신된 가상 객체들(예를 들어, 표면)에 기반하여 렌더링될 프레임에 대한 이미지 프레임 데이터를 생성할 수 있다. 워프 엔진(410)은 가상 장면에 대한 사용자 뷰의 위치에 기반하여 표면들에 대한 가시성 결정들을 수행하고, 하나 이상의 기하학적 워프를 계산 및 적용하고, 컬러 보간 및 밝기 보정들을 수행하고, 그렇지 않으면 디스플레이될 이미지 프레임 데이터를 준비할 수 있다. 워프 엔진(410)은 예를 들어, 120 Hz - 10 kHz의 레이트로 이미지 프레임 데이터를 디스플레이 드라이버(420)에 제공할 수 있다.
단계(1030)에서, 프로젝터(405)에 포함될 수 있는 디스플레이 드라이버(420)는 수신된 이미지 프레임 데이터에 대한 이미지 프로세싱을 수행할 수 있다. 예를 들어, 디스플레이 드라이버(420)의 이미지 프로세싱 블록(430)은 1-차원 또는 2-차원 공간 디더링 또는 시-공간 디더링을 포함하는 하나 이상의 디더링 동작들을 계산 및 적용할 수 있다. 이미지 프로세싱 블록(430)은 μLED 어레이의 하나 이상의 μLED들에 대한 컬러 심도 정밀도 오류를 계산할 수 있다. 이미지 프로세싱 블록(430)은 컬러 심도 정밀도 오류를 하나 이상의 이웃하는 μLED들 및/또는 프레임의 하나 이상의 미래 서브-프레임들로 전파할 수 있다. 다른 예로서, 디스플레이 드라이버(420)의 이미지 프로세싱 블록(430)은 μLED 어레이의 알려진 불균일성들에 기반하여 프레임 데이터에 대한 하나 이상의 불균일 보정들을 계산하고 적용할 수 있다. 디스플레이 드라이버(420)는 프로세싱된 이미지 프레임 데이터를 디스플레이용 백플레인 제어기에 제공할 수 있다.
단계(1040)에서, 백플레인 제어기(450)는 μLED 어레이가 이미지 프레임 데이터를 디스플레이하게 하기 위해 μLED 어레이에 제공되는 명령들을 생성할 수 있다. 특정 실시예들에서, PWM 제어기(455)는 μLED 어레이의 μLED들이 120 Hz - 10 kHz의 레이트로 조명하게 하는 타이밍 명령들을 생성할 수 있다.
특정 실시예들은 적절한 경우 도 10의 방법의 하나 이상의 단계들을 반복할 수 있다. 본 개시내용이 특정 순서로 발생하는 바와 같이 도 10의 방법의 특정 단계들을 설명하고 예시하지만, 본 개시내용은 임의의 적합한 순서로 발생하는 도 10의 방법의 임의의 적합한 단계들을 고려한다. 또한, 본 개시내용이 도 10의 방법의 특정 단계들을 포함하는 디스플레이 프레임들을 업-샘플링하기 위한 예시적인 방법을 설명하고 예시하지만, 본 개시내용은 적절한 경우 도 10의 방법의 단계들 중 모두, 일부 또는 전혀 포함하지 않을 수 있는 임의의 적합한 단계들을 포함하는 디스플레이 프레임들을 업-샘플링하기 위한 임의의 적합한 방법을 고려한다. 또한, 비록 본 개시내용이 도 10의 방법의 특정 단계들을 수행하는 특정 구성요소들, 디바이스들 또는 시스템들을 설명하고 예시하지만, 본 개시내용은 도 10의 방법의 임의의 적합한 단계들을 수행하는 임의의 적합한 구성요소들, 디바이스들 또는 시스템들의 임의의 적합한 조합을 고려한다.
예시적인 컴퓨터 시스템
도 11은 예시적인 컴퓨터 시스템(1100)을 예시한다. 특정 실시예들에서, 하나 이상의 컴퓨터 시스템(1100)은 본원에 설명되거나 예시된 하나 이상의 방법들의 하나 이상의 단계들을 수행한다. 특정 실시예들에서, 하나 이상의 컴퓨터 시스템들(1100)은 본원에 설명되거나 예시된 기능을 제공한다. 특정 실시예들에서, 하나 이상의 컴퓨터 시스템들(1100)을 실행하는 소프트웨어는 본원에 설명되거나 예시된 하나 이상의 방법들의 하나 이상의 단계들을 수행하거나 본원에 설명되거나 예시된 기능을 제공한다. 특정 실시예들은 하나 이상의 컴퓨터 시스템들(1100)의 하나 이상의 부분들을 포함한다. 본원에서, 컴퓨터 시스템에 대한 언급은 컴퓨팅 디바이스를 포함할 수 있고, 적절한 경우 그 반대도 마찬가지이다. 또한, 컴퓨터 시스템에 대한 언급은 적절한 경우 하나 이상의 컴퓨터 시스템들을 포함할 수 있다.
본 개시내용은 임의의 적합한 수의 컴퓨터 시스템들(1100)을 고려한다. 본 개시내용은 임의의 적합한 물리적 형태를 취하는 컴퓨터 시스템(1100)을 고려한다. 제한이 아닌 예로서, 컴퓨터 시스템(1100)은 임베디드 컴퓨터 시스템, 시스템-온-칩(SOC), 단일-기판 컴퓨터 시스템(SBC)(이를테면, 예를 들어, 컴퓨터-온-모듈(COM) 또는 시스템-온-모듈(SOM)), 데스크톱 컴퓨터 시스템, 랩톱 또는 노트북 컴퓨터 시스템, 대화형 키오스크, 메인프레임, 컴퓨터 시스템들의 메쉬, 이동 전화, 개인 정보 단말기(PDA), 서버, 태블릿 컴퓨터 시스템, 증강/가상 현실 디바이스, 또는 이들 중 2 개 이상의 조합일 수 있다. 적절한 경우, 컴퓨터 시스템(1100)은 하나 이상의 컴퓨터 시스템들(1100)을 포함할 수 있고; 단일식이거나 분산식이고; 다수의 위치들에 걸쳐 있고; 다수의 기계들에 걸쳐 있고; 다수의 데이터 센터들에 걸쳐 있고; 또는 하나 이상의 네트워크들의 하나 이상의 클라우드 구성요소들을 포함할 수 있는 클라우드에 상주할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템들(1100)은 본원에 설명되거나 예시된 하나 이상의 방법들의 하나 이상의 단계들을 실질적인 공간적 또는 시간적 제한 없이 수행할 수 있다. 제한이 아닌 예로서, 하나 이상의 컴퓨터 시스템들(1100)은 실시간으로 또는 배치 모드로 본원에 설명되거나 예시된 하나 이상의 방법들의 하나 이상의 단계들을 수행할 수 있다. 하나 이상의 컴퓨터 시스템들(1100)은 적절한 경우 본원에 설명되거나 예시된 하나 이상의 방법들의 하나 이상의 단계들을 상이한 시간들 또는 상이한 위치들에서 수행할 수 있다.
특정 실시예들에서, 컴퓨터 시스템(1100)은 프로세서(1102), 메모리(1104), 저장소(1106), 입/출력(I/O) 인터페이스(1108), 통신 인터페이스(1110), 및 버스(1112)를 포함한다. 본 개시내용이 특정 배열의 특정 수의 특정 구성요소들을 갖는 특정 컴퓨터 시스템을 설명하고 예시하지만, 본 개시내용은 임의의 적합한 배열의 임의의 적합한 개수의 임의의 적합한 구성요소들을 갖는 임의의 적합한 컴퓨터 시스템을 고려한다.
특정 실시예들에서, 프로세서(1102)는 컴퓨터 프로그램을 구성하는 것과 같은 명령들을 실행하기 위한 하드웨어를 포함한다. 제한이 아닌 예로서, 명령들을 실행하기 위해, 프로세서(1102)는 내부 레지스터, 내부 캐시, 메모리(1104), 또는 저장소(1106)로부터 명령들을 검색(또는 페치)할 수 있고; 디코딩하고 실행하고; 이어서 하나 이상의 결과들을 내부 레지스터, 내부 캐시, 메모리(1104), 또는 저장소(1106)에 기록한다. 특정 실시예들에서, 프로세서(1102)는 데이터, 명령들 또는 주소들을 위한 하나 이상의 내부 캐시를 포함할 수 있다. 본 개시내용은 적절한 경우 임의의 적합한 수의 임의의 적합한 내부 캐시들을 포함하는 프로세서(1102)를 고려한다. 제한이 아닌 예로서, 프로세서(1102)는 하나 이상의 명령 캐시들, 하나 이상의 데이터 캐시들, 및 하나 이상의 TLB(translation lookaside buffer)들을 포함할 수 있다. 명령 캐시들의 명령들은 메모리(1104) 또는 저장소(1106)의 명령들의 복사본들일 수 있고 명령 캐시들은 프로세서(1102)에 의한 이러한 명령들의 검색 속도를 높일 수 있다. 데이터 캐시들의 데이터는 동작하기 위한 프로세서(1102)에서 실행되는 명령들에 대한 메모리(1104) 또는 저장소(1106)의 데이터; 프로세서(1102)에서 실행되는 후속 명령들에 의한 액세스를 위해 또는 메모리(1104) 또는 저장소(1106)에 기록하기 위해 프로세서(1102)에서 실행되는 이전 명령들의 결과들; 또는 다른 적합한 데이터의 복사본들일 수 있다. 데이터 캐시들은 프로세서(1102)에 의한 읽기 또는 쓰기 동작들의 속도를 높일 수 있다. TLB들은 프로세서(1102)에 대한 가상-주소 변환의 속도를 높일 수 있다. 특정 실시예들에서, 프로세서(1102)는 데이터, 명령들 또는 주소들을 위한 하나 이상의 내부 레지스터들을 포함할 수 있다. 본 개시내용은 적절한 경우 임의의 적합한 수의 임의의 적합한 내부 레지스터들을 포함하는 프로세서(1102)를 고려한다. 적절한 경우, 프로세서(1102)는 하나 이상의 산술 논리 유닛(ALU)들을 포함할 수 있거나; 다중-코어 프로세서일 수 있거나; 또는 하나 이상의 프로세서들(1102)을 포함할 수 있다. 본 개시내용이 특정 프로세서를 설명하고 예시하지만, 본 개시내용은 임의의 적합한 프로세서를 고려한다.
특정 실시예들에서, 메모리(1104)는 프로세서(1102)가 실행하기 위한 명령들 또는 프로세서(1102)가 동작하기 위한 데이터를 저장하기 위한 메인 메모리를 포함한다. 제한이 아닌 예로서, 컴퓨터 시스템(1100)은 저장소(1106) 또는 다른 소스(이를테면, 예를 들어, 다른 컴퓨터 시스템(1100))로부터 메모리(1104)로 명령들을 로드할 수 있다. 이어서, 프로세서(1102)는 메모리(1104)로부터 내부 레지스터 또는 내부 캐시로 명령들을 로드할 수 있다. 명령들을 실행하기 위해, 프로세서(1102)는 내부 레지스터 또는 내부 캐시로부터 명령들을 검색하고 이들을 디코딩할 수 있다. 명령들의 실행 동안 또는 실행 후에, 프로세서(1102)는 내부 레지스터 또는 내부 캐시에 하나 이상의 결과들(중간 또는 최종 결과들일 수 있음)을 기록할 수 있다. 이어서, 프로세서(1102)는 그 결과들 중 하나 이상을 메모리(1104)에 기록할 수 있다. 특정 실시예들에서, 프로세서(1102)는 하나 이상의 내부 레지스터들 또는 내부 캐시들 또는 메모리(1104)(저장소(1106) 또는 다른 곳과 대조적임)의 명령들만을 실행하고 하나 이상의 내부 레지스터들 또는 내부 캐시들 또는 메모리(1104)(저장소(1106) 또는 다른 곳과 대조적임)의 데이터만을 동작시킨다. 하나 이상의 메모리 버스들(각각 주소 버스 및 데이터 버스를 포함할 수 있음)는 프로세서(1102)를 메모리(1104)에 연결할 수 있다. 버스(1112)는 후술하는 바와 같이 하나 이상의 메모리 버스들을 포함할 수 있다. 특정 실시예들에서, 하나 이상의 메모리 관리 유닛(MMU)들은 프로세서(1102)와 메모리(1104) 사이에 상주하고 프로세서(1102)에 의해 요청된 메모리(1104)에 대한 액세스를 가능하게 한다. 특정 실시예들에서, 메모리(1104)는 랜덤 액세스 메모리(RAM)를 포함한다. 이 RAM은 적절한 경우 휘발성 메모리일 수 있다. 적절한 경우, 이 RAM은 동적 RAM(DRAM) 또는 정적 RAM(SRAM)일 수 있다. 또한, 적절한 경우, 이 RAM은 단일-포트 또는 다중-포트 RAM일 수 있다. 본 개시내용은 임의의 적합한 RAM을 고려한다. 메모리(1104)는 적절한 경우 하나 이상의 메모리들(1104)을 포함할 수 있다. 본 개시내용이 특정 메모리를 설명하고 예시하지만, 본 개시내용은 임의의 적합한 메모리를 고려한다.
특정 실시예들에서, 저장소(1106)는 데이터 또는 명령들을 위한 대용량 저장소를 포함한다. 제한이 아닌 예로서, 저장소(1106)는 하드 디스크 드라이브(HDD), 플로피 디스크 드라이브, 플래시 메모리, 광 디스크, 광자기 디스크, 자기 테이프, 또는 USB(Universal Serial Bus) 드라이브 또는 이들 중 2 개 이상의 조합을 포함할 수 있다. 저장소(1106)는 적절한 경우 착탈식 또는 비-이동식(또는 고정식) 매체들을 포함할 수 있다. 저장소(1106)는 적절한 경우 컴퓨터 시스템(1100)의 내부 또는 외부에 있을 수 있다. 특정 실시예들에서, 저장소(1106)는 비휘발성, 고체-상태 메모리이다. 특정 실시예들에서, 저장소(1106)는 ROM(read-only memory)을 포함한다. 적절한 경우, 이 ROM은 마스크-프로그램 ROM, 프로그램가능 ROM(PROM), 소거가능 PROM(EPROM), 전기적 소거가능 PROM(EEPROM), 전기적 변경가능 ROM(EAROM), 또는 플래시 메모리 또는 이들 중 2 개 이상의 조합일 수 있다. 본 개시내용은 임의의 적합한 물리적 형태를 취하는 대용량 저장소(1106)를 고려한다. 저장소(1106)는 적절한 경우 프로세서(1102)와 저장소(1106) 사이의 통신을 용이하게 하는 하나 이상의 저장소 제어 유닛을 포함할 수 있다. 적절한 경우, 저장소(1106)는 하나 이상의 저장소들(1106)을 포함할 수 있다. 본 개시내용이 특정 저장소를 설명하고 예시하지만, 본 개시내용은 임의의 적합한 저장소를 고려한다.
특정 실시예들에서, I/O 인터페이스(1108)는 컴퓨터 시스템(1100)과 하나 이상의 I/O 디바이스들 사이의 통신을 위한 하나 이상의 인터페이스들을 제공하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 컴퓨터 시스템(1100)은 적절한 경우 이러한 I/O 디바이스들 중 하나 이상을 포함할 수 있다. 이러한 I/O 디바이스들 중 하나 이상은 사람과 컴퓨터 시스템(1100) 간의 통신을 가능하게 할 수 있다. 제한이 아닌 예로서, I/O 디바이스는 키보드, 키패드, 마이크, 모니터, 마우스, 프린터, 스캐너, 스피커, 스틸 카메라, 스타일러스, 태블릿, 터치 스크린, 트랙볼, 비디오 카메라, 다른 적합한 I/O 디바이스 또는 이들 중 2 개 이상의 조합을 포함할 수 있다. I/O 디바이스는 하나 이상의 센서들을 포함할 수 있다. 본 개시내용은 임의의 적합한 I/O 디바이스들 및 이들을 위한 임의의 적합한 I/O 인터페이스들(1108)을 고려한다. 적절한 경우, I/O 인터페이스(1108)는 프로세서(1102)가 이들 I/O 디바이스들 중 하나 이상을 구동할 수 있게 하는 하나 이상의 디바이스 또는 소프트웨어 드라이버들을 포함할 수 있다. I/O 인터페이스(1108)는 적절한 경우 하나 이상의 I/O 인터페이스들(1108)을 포함할 수 있다. 본 개시내용이 특정 I/O 인터페이스를 설명하고 예시하지만, 본 개시내용은 임의의 적합한 I/O 인터페이스를 고려한다.
특정 실시예들에서, 통신 인터페이스(1110)는 컴퓨터 시스템(1100)과 하나 이상의 다른 컴퓨터 시스템들(1100) 또는 하나 이상의 네트워크들 간의 통신(이를테면, 예를 들어, 패킷-기반 통신)을 위한 하나 이상의 인터페이스들을 제공하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 제한이 아닌 예로서, 통신 인터페이스(1110)는 이더넷 또는 다른 유선-기반 네트워크와 통신하기 위한 네트워크 인터페이스 제어기(NIC) 또는 네트워크 어댑터 또는 WI-FI 네트워크와 같은 무선 네트워크와 통신을 위한 무선 NIC(WNIC) 또는 무선 어댑터를 포함할 수 있다. 본 개시내용은 임의의 적합한 네트워크 및 이에 대한 임의의 적합한 통신 인터페이스(1110)를 고려한다. 제한이 아닌 예로서, 컴퓨터 시스템(1100)은 애드 혹 네트워크, PAN(Personal Area Network), LAN(Local Area Network), WAN(Wide Area Network), 대도시 지역 네트워크(Metropolitan Area Network)(MAN), 또는 인터넷의 하나 이상의 부분들 또는 이들 중 2 개 이상의 조합과 통신할 수 있다. 하나 이상의 이러한 네트워크들 중 하나 이상의 부분들은 유선 또는 무선일 수 있다. 예로서, 컴퓨터 시스템(1100)은 무선 PAN(WPAN)(이를테면, 예를 들어, BLUETOOTH WPAN), WI-FI 네트워크, WI-MAX 네트워크, 셀룰러 전화 네트워크(이를테면, 예를 들어, GSM(Global System for Mobile Communications) 네트워크), 또는 다른 적합한 무선 네트워크 또는 이들 중 2 개 이상의 조합과 통신할 수 있다. 컴퓨터 시스템(1100)은 적절한 경우 이들 네트워크들 중 임의의 것에 대한 임의의 적합한 통신 인터페이스(1110)를 포함할 수 있다. 통신 인터페이스(1110)는 적절한 경우 하나 이상의 통신 인터페이스들(1110)을 포함할 수 있다. 본 개시내용이 특정 통신 인터페이스를 설명하고 예시하지만, 본 개시내용은 임의의 적합한 통신 인터페이스를 고려한다.
특정 실시예들에서, 버스(1112)는 하드웨어, 소프트웨어, 또는 컴퓨터 시스템(1100)의 구성요소들을 서로 연결하는 둘 모두를 포함한다. 제한이 아닌 예로서, 버스(1112)는 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) 버스, VLB(Video Electronics Standards Association local) 버스, 또는 다른 적합한 버스 또는 이들 중 2 개 이상의 조합을 포함할 수 있다. 버스(1112)는 적절한 경우 하나 이상의 버스들(1112)을 포함할 수 있다. 본 개시내용이 특정 버스를 설명하고 예시하지만, 본 개시내용은 임의의 적합한 버스 또는 인터커넥트를 고려한다.
본원에서, 컴퓨터-판독가능 비일시적 저장 매체 또는 매체는 하나 이상의 반도체-기반 또는 다른 집적 회로(IC)들(이를테면, 예를 들어, FPGA(field-programmable gate array)들 또는 ASIC(application-specific IC)들), 하드 디스크 드라이브(HDD)들, 하이브리드 하드 드라이브(HHD)들, 광 디스크들, 광 디스크 드라이브(ODD)들, 광자기 디스크들, 광자기 드라이브들, 플로피 디스켓들, 플로피 디스크 드라이브(FDD)들, 자기 테이프들, 고체-상태 드라이브(SSD)들, RAM-드라이브들, SECURE DIGITAL 카드들 또는 드라이브들, 임의의 다른 적합한 컴퓨터-판독가능 비일시적 저장 매체, 또는 적절한 경우 이들 중 2 개 이상의 적절한 조합을 포함할 수 있다. 컴퓨터-판독가능 비일시적 저장 매체는 적절한 경우 휘발성, 비휘발성, 또는 휘발성과 비휘발성의 조합일 수 있다.
본원의 특정 실시예들이 주문형 집적 회로들을 사용하는 것으로 설명될 수 있지만, 이는 단지 예시 목적들을 위한 것임이 이해되어야 한다. 설명된 기능들을 수행할 수 있거나, 각각의 ASIC에 기인한 기능을 완료하도록 프로그래밍될 수 있는 표준 구성요소들 또는 다른 집적 회로들이 대체될 수 있다.
본원에서 "또는"은 명시적으로 달리 나타내거나 문맥에 의해 달리 나타내지 않는 한 포괄적이고 배타적이지 않다. 그러므로, 본원에서 "A 또는 B"는 달리 명시적으로 나타내지 않거나 문맥상 달리 나타내지 않는 한 "A, B 또는 둘 모두"를 의미한다. 또한, "및"은 달리 명시적으로 나타내지 않거나 문맥에 따라 달리 나타내지 않는 한 공동 및 각자 둘 모두이다. 그러므로, 본원에서 "A 및 B"는 달리 명시적으로 나타내지 않거나 문맥에 따라 달리 나타내지 않는 한 "A 및 B, 공동 또는 각자"를 의미한다.
본 개시내용의 범위는 통상의 기술자가 이해할 수 있는 본원에 설명되거나 예시된 예시적인 실시예들에 대한 모든 변화들, 대체들, 변형들, 변경들 및 수정들을 포함한다. 본 개시내용의 범위는 본원에 설명되거나 예시된 예시적인 실시예들로 제한되지 않는다. 또한, 본 개시내용이 특정 구성요소들, 엘리먼트들, 특징, 기능들, 동작, 또는 단계들을 포함하는 것으로 본원에서 각 실시예를 설명하고 예시하지만, 이들 실시예 중 임의의 것은 임의의 통상의 기술자가 이해하는 본원의 어디에서나 설명되거나 예시된 구성요소들, 엘리먼트들, 특징들, 기능들, 동작들, 또는 단계들의 임의의 조합 또는 순열을 포함할 수 있다. 또한, 특정 기능을 수행하도록 적응, 배열, 가능, 구성, 활성, 동작가능 또는 동작하는 장치 또는 시스템 또는 장치 또는 시스템의 구성요소에 대한 첨부된 청구항의 참조는, 해당 장치, 시스템, 또는 구성요소가 그렇게 적응, 배열, 가능, 구성, 활성화, 동작가능, 또는 동작되는 한, 특정 기능이 활성화되든, 턴 온 되든, 또는 잠금해제되든, 해당 장치, 시스템, 구성요소를 포함한다. 또한, 본 개시내용이 특정 장점들을 제공하는 것으로 특정 실시예들을 설명하거나 예시하지만, 특정 실시예들은 이러한 장점들 중 어느 것도 제공하지 않거나, 일부, 또는 모두를 제공할 수 있다.

Claims (20)

  1. 중앙 프로세서 및 각각 상기 중앙 프로세서에 연결되고 이미지 데이터를 프로세싱하도록 구성된 복수의 프로젝터 집적 회로들을 포함하는 헤드셋 디스플레이 디바이스로서,
    각각의 프로젝터 집적 회로는:
    복수의 제 1 집적 회로들로서, 상기 제 1 집적 회로들의 각각은 발광기 어레이를 포함하는, 상기 복수의 제 1 집적 회로들; 및
    상기 복수의 제 1 집적 회로들에 연결되는 제 2 집적 회로를 포함하고, 상기 제 2 집적 회로는 (1) 기하학적 또는 밝기 왜곡들을 보정하는 변환된 이미지 데이터를 생성하도록 구성된 그래픽 프로세서를 포함하고 (2) 상기 변환된 이미지 데이터를 디스플레이를 위해 상기 복수의 제 1 집적 회로들에 제공하도록 구성되는, 헤드셋 디스플레이 디바이스.
  2. 제 1 항에 있어서,
    상기 중앙 프로세서는 상기 헤드셋 디스플레이 디바이스에 의해 디스플레이될 이미지들에 대한 데이터를 제 1 렌더링 디바이스로부터 수신하도록 구성되고;
    상기 헤드셋 디스플레이 디바이스는 상기 복수의 프로젝터 집적 회로들을 사용하여 상기 수신된 데이터를 프로세싱하도록 구성되고;
    상기 복수의 프로젝터 집적 회로들은 각각의 프로젝터 집적 회로의 상기 발광기 어레이를 사용하여, 상기 프로세싱된 데이터에 기반하여 광을 생성하도록 구성되는, 헤드셋 디스플레이 디바이스.
  3. 제 2 항에 있어서, 상기 헤드셋 디스플레이 디바이스는 도파관 구성을 더 포함하고;
    각각의 프로젝터 집적 회로의 상기 발광기 어레이에 의해 생성된 광은 상기 도파관 구성을 통해 상기 헤드셋 디스플레이 디바이스의 착용자에게 지향되는, 헤드셋 디스플레이 디바이스.
  4. 제 2 항에 있어서, 상기 헤드셋 디스플레이 디바이스에 의해 디스플레이될 이미지들에 대한 데이터는 제 1 레이트(rate)로 상기 제 1 렌더링 디바이스로부터 수신되고, 상기 수신된 데이터는 제 2 레이트로 상기 복수의 프로젝터 집적 회로들을 사용하여 프로세싱되고, 상기 제 2 레이트는 상기 제 1 레이트보다 큰, 헤드셋 디스플레이 디바이스.
  5. 제 2 항에 있어서, 상기 제 1 렌더링 디바이스는 상기 헤드셋 디스플레이 디바이스와 무선 통신하는, 헤드셋 디스플레이 디바이스.
  6. 제 1 항에 있어서, 상기 제 2 집적 회로는:
    상기 변환된 이미지 데이터를 디스플레이를 위해 상기 복수의 제 1 집적 회로들에 제공하기 전에 수신된 이미지 데이터에 대해 디더링(dithering) 또는 불균일성 보정들을 수행하도록 추가로 구성되는, 헤드셋 디스플레이 디바이스.
  7. 제 6 항에 있어서, 상기 제 2 집적 회로는 상기 디더링 또는 불균일성 보정들을 수행하도록 구성된 디스플레이 드라이버를 더 포함하는, 헤드셋 디스플레이 디바이스.
  8. 제 1 항에 있어서, 상기 제 1 집적 회로들은 상기 발광기 어레이의 발광기들로 하여금 상기 변환된 이미지 데이터에 기반하여 광을 생성하게 하기 위해 상기 발광기 어레이에 전력을 공급하기 위한 명령들을 생성하도록 구성된 상기 발광기 어레이용 백플레인(backplane)을 더 포함하는, 헤드셋 디스플레이 디바이스.
  9. 제 1 항에 있어서, 상기 그래픽 프로세서는 현재 시점에 기반하여 변환된 이미지 데이터를 생성하도록 추가로 구성되는, 헤드셋 디스플레이 디바이스.
  10. 제 9 항에 있어서, 상기 헤드셋 디스플레이 디바이스는 움직임 센서 또는 배향 센서를 더 포함하고;
    상기 현재 시점은 상기 움직임 센서 또는 배향 센서로부터 수신된 데이터에 기반하여 결정되는, 헤드셋 디스플레이 디바이스.
  11. 제 1 항에 있어서, 상기 기하학적 또는 밝기 왜곡들은 상기 헤드셋 디스플레이 디바이스의 근안 디스플레이 광학 시스템에서 비롯되는, 헤드셋 디스플레이 디바이스.
  12. 제 1 항에 있어서, 상기 그래픽 프로세서는 색 수차들을 보정하기 위해 수신된 이미지 데이터에 기하학적 변환들을 적용하도록 추가로 구성되는, 헤드셋 디스플레이 디바이스.
  13. 제 1 항에 있어서, 상기 그래픽 프로세서는:
    현재 시점에 기반하여, 인공 현실 장면에 디스플레이될 가상 객체들에 대한 가시성 정보를 결정하도록 구성된 변환 블록;
    결정된 가시성 정보에 기반하여 컬러 값들을 결정하도록 구성된 픽셀 블록; 또는
    디스플레이 드라이버에 출력하기 위해 결정된 컬러 값들을 준비하도록 구성된 디스플레이 블록을 포함하는, 헤드셋 디스플레이 디바이스.
  14. 제 1 항에 있어서, 각각의 발광기 어레이는 단색 발광기들로 구성되는, 헤드셋 디스플레이 디바이스.
  15. 제 1 항에 있어서, 각각의 발광기 어레이는 μLED들을 포함하는, 헤드셋 디스플레이 디바이스.
  16. 제 1 항에 있어서, 상기 헤드셋 디스플레이 디바이스는 4 개의 프로젝터 집적 회로들을 포함하는, 헤드셋 디스플레이 디바이스.
  17. 제 1 항에 있어서, 상기 헤드셋 디스플레이 디바이스는 상기 헤드셋 디스플레이 디바이스의 착용자의 각각의 눈에 대한 복수의 프로젝터 집적 회로들을 포함하는, 헤드셋 디스플레이 디바이스.
  18. 제 17 항에 있어서, 각각의 프로젝터 집적 회로는 상기 헤드셋 디스플레이 디바이스의 상기 착용자의 시야의 일부에 대한 광을 생성하는, 헤드셋 디스플레이 디바이스.
  19. 방법으로서,
    제 1 렌더링 디바이스로부터, 헤드셋 디스플레이 디바이스에 의해 디스플레이될 이미지들에 대한 데이터를 수신하는 단계로서, 상기 헤드셋 디스플레이 디바이스는:
    중앙 프로세서 및 각각 상기 중앙 프로세서에 연결되고 이미지 데이터를 프로세싱하도록 구성된 복수의 프로젝터 집적 회로들을 포함하고, 각각의 프로젝터 집적 회로는:
    복수의 제 1 집적 회로들로서, 상기 제 1 집적 회로들의 각각은 발광기 어레이를 포함하는, 상기 복수의 제 1 집적 회로들; 및
    상기 복수의 제 1 집적 회로들에 연결되는 제 2 집적 회로를 포함하고, 상기 제 2 집적 회로는 (1) 기하학적 또는 밝기 왜곡들을 보정하는 변환된 이미지 데이터를 생성하도록 구성된 그래픽 프로세서를 포함하고 (2) 상기 변환된 이미지 데이터를 디스플레이를 위해 상기 복수의 제 1 집적 회로들에 제공하도록 구성되는, 상기 헤드셋 디스플레이 디바이스에 의해 디스플레이될 이미지들에 대한 데이터를 수신하는 단계; 및
    각각의 프로젝터 집적 회로의 상기 발광기 어레이를 사용하여, 상기 수신된 데이터에 기반하여 광을 생성하는 단계를 포함하는, 방법.
  20. 소프트웨어를 구현하는 하나 이상의 컴퓨터-판독가능 비일시적 저장 매체로서,
    상기 소프트웨어는:
    제 1 렌더링 디바이스로부터, 헤드셋 디스플레이 디바이스에 의해 디스플레이될 이미지들에 대한 데이터를 수신하고, 상기 헤드셋 디스플레이 디바이스는:
    중앙 프로세서 및 각각 상기 중앙 프로세서에 연결되고 이미지 데이터를 프로세싱하도록 구성된 복수의 프로젝터 집적 회로들을 포함하고, 각각의 프로젝터 집적 회로는:
    복수의 제 1 집적 회로들로서, 상기 제 1 집적 회로들의 각각은 발광기 어레이를 포함하는, 상기 복수의 제 1 집적 회로들; 및
    상기 복수의 제 1 집적 회로들에 연결되는 제 2 집적 회로를 포함하고, 상기 제 2 집적 회로는 (1) 기하학적 또는 밝기 왜곡들을 수정하는 변환된 이미지 데이터를 생성하도록 구성된 그래픽 프로세서를 포함하고 (2) 상기 변환된 이미지 데이터를 디스플레이를 위해 상기 복수의 제 1 집적 회로들에 제공하도록 구성되는, 상기 헤드셋 디스플레이 디바이스에 의해 디스플레이될 이미지들에 대한 데이터를 수신하도록 실행될 때; 및
    각각의 프로젝터 집적 회로의 상기 발광기 어레이를 사용하여, 상기 수신된 데이터에 기반하여 광을 생성하도록 실행될 때 동작가능한, 하나 이상의 컴퓨터-판독가능 비일시적 저장 매체.
KR1020217028634A 2019-02-14 2020-02-12 다중-프로젝터 디스플레이 아키텍처 KR20210129673A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962805923P 2019-02-14 2019-02-14
US62/805,923 2019-02-14
US16/785,305 US11070778B2 (en) 2019-02-14 2020-02-07 Multi-projector display architecture
US16/785,305 2020-02-07
PCT/US2020/017911 WO2020167935A1 (en) 2019-02-14 2020-02-12 Multi-projector display architecture

Publications (1)

Publication Number Publication Date
KR20210129673A true KR20210129673A (ko) 2021-10-28

Family

ID=72043420

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217028634A KR20210129673A (ko) 2019-02-14 2020-02-12 다중-프로젝터 디스플레이 아키텍처

Country Status (7)

Country Link
US (2) US11070778B2 (ko)
EP (1) EP3924958A1 (ko)
JP (1) JP2022519431A (ko)
KR (1) KR20210129673A (ko)
CN (1) CN113454702A (ko)
TW (1) TW202040222A (ko)
WO (1) WO2020167935A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11528953B2 (en) * 2020-05-19 2022-12-20 Rockwell Collins, Inc. Display embedded visor helmet mounted display
US11270618B2 (en) * 2020-08-06 2022-03-08 Samsung Display Co., Ltd. Apparatus for testing display device and display device for performing mura compensation and mura compensation method
US11741863B2 (en) * 2021-04-16 2023-08-29 Tectus Corporation Eyeglass-integrated display device using multiple embedded projectors and display windows
WO2022251030A1 (en) * 2021-05-24 2022-12-01 Meta Platforms Technologies, Llc Actuator aligned multichannel projector assembly
US11688333B1 (en) * 2021-12-30 2023-06-27 Microsoft Technology Licensing, Llc Micro-LED display

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4923863B2 (ja) * 2005-10-07 2012-04-25 セイコーエプソン株式会社 画像表示システム、画像表示装置、画像補正処理プログラム
US9137504B2 (en) 2006-06-16 2015-09-15 Hewlett-Packard Development Company, L.P. System and method for projecting multiple image streams
US8477241B2 (en) * 2009-05-29 2013-07-02 Hewlett-Packard Development Company, L.P. Multi-projector system and method
WO2014033306A1 (en) * 2012-09-03 2014-03-06 SensoMotoric Instruments Gesellschaft für innovative Sensorik mbH Head mounted system and method to compute and render a stream of digital images using a head mounted system
US9720231B2 (en) * 2012-09-26 2017-08-01 Dolby Laboratories Licensing Corporation Display, imaging system and controller for eyewear display device
US9443355B2 (en) * 2013-06-28 2016-09-13 Microsoft Technology Licensing, Llc Reprojection OLED display for augmented reality experiences
TW201516467A (zh) * 2013-10-25 2015-05-01 Quanta Comp Inc 頭戴式顯示裝置及其成像方法
US20160131904A1 (en) * 2014-11-07 2016-05-12 Osterhout Group, Inc. Power management for head worn computing
US20160238852A1 (en) 2015-02-13 2016-08-18 Castar, Inc. Head mounted display performing post render processing
WO2017043125A1 (ja) * 2015-09-07 2017-03-16 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、情報処理装置、出力装置、プログラム及び記録媒体
US9829710B1 (en) * 2016-03-02 2017-11-28 Valve Corporation Display with stacked emission and control logic layers
KR102496347B1 (ko) * 2016-04-20 2023-02-06 삼성전자주식회사 디스플레이 구동 회로 및 이를 포함하는 전자 장치
US11024014B2 (en) * 2016-06-28 2021-06-01 Microsoft Technology Licensing, Llc Sharp text rendering with reprojection
US10379611B2 (en) * 2016-09-16 2019-08-13 Intel Corporation Virtual reality/augmented reality apparatus and method
US10514546B2 (en) 2017-03-27 2019-12-24 Avegant Corp. Steerable high-resolution display
US10901027B2 (en) * 2017-07-12 2021-01-26 Facebook Technologies, Llc Substrate for mounting light emitting diodes with testing capabilities
US11122256B1 (en) * 2017-08-07 2021-09-14 Apple Inc. Mixed reality system
KR20200106547A (ko) * 2018-01-18 2020-09-14 밸브 코포레이션 센서 집적 회로들을 포함하는 머리-착용 디스플레이들에 대한 위치 추적 시스템
JP7378431B2 (ja) * 2018-06-18 2023-11-13 マジック リープ, インコーポレイテッド フレーム変調機能性を伴う拡張現実ディスプレイ

Also Published As

Publication number Publication date
CN113454702A (zh) 2021-09-28
EP3924958A1 (en) 2021-12-22
US20200267359A1 (en) 2020-08-20
US11070778B2 (en) 2021-07-20
US11743435B2 (en) 2023-08-29
US20220006987A1 (en) 2022-01-06
JP2022519431A (ja) 2022-03-24
TW202040222A (zh) 2020-11-01
WO2020167935A1 (en) 2020-08-20

Similar Documents

Publication Publication Date Title
US11743435B2 (en) Multi-projector display architecture
US11176901B1 (en) Pan-warping and modifying sub-frames with an up-sampled frame rate
JP7096450B2 (ja) カラー仮想コンテンツワーピングを伴う複合現実システムおよびそれを使用して仮想コンテンツ生成する方法
TWI810395B (zh) 用於後成像處理的顯示引擎
JP2022511273A (ja) 拡張現実または仮想現実のシーンにおけるオブジェクトの表現の生成および修正
US11694302B2 (en) Dynamic uniformity correction
CN115668340A (zh) 在头戴式显示设备处的重新投影和晃动
US11011123B1 (en) Pan-warping and modifying sub-frames with an up-sampled frame rate
US11698530B2 (en) Switch leakage compensation for global illumination
US11710212B1 (en) Display non-uniformity correction
US11754846B2 (en) Display non-uniformity correction
EP4198873A1 (en) Sparse rgb filter hardware accelerator

Legal Events

Date Code Title Description
E902 Notification of reason for refusal