KR20200002626A - 데이터 처리 시스템 - Google Patents

데이터 처리 시스템 Download PDF

Info

Publication number
KR20200002626A
KR20200002626A KR1020190075343A KR20190075343A KR20200002626A KR 20200002626 A KR20200002626 A KR 20200002626A KR 1020190075343 A KR1020190075343 A KR 1020190075343A KR 20190075343 A KR20190075343 A KR 20190075343A KR 20200002626 A KR20200002626 A KR 20200002626A
Authority
KR
South Korea
Prior art keywords
display
frame
color
viewing direction
data
Prior art date
Application number
KR1020190075343A
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 KR20200002626A publication Critical patent/KR20200002626A/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
    • 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/34Control 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 by control of light from an independent source
    • G09G3/3406Control of illumination source
    • G09G3/3413Details of control of colour illumination sources
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • 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
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/02Addressing, scanning or driving the display screen or processing steps related thereto
    • G09G2310/0235Field-sequential colour display
    • 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/0242Compensation of deficiencies in the appearance of colours
    • 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/028Improving the quality of display appearance by changing the viewing angle properties, e.g. widening the viewing angle, adapting the viewing angle to the view direction
    • 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/06Adjustment of display parameters
    • G09G2320/068Adjustment of display parameters for control of viewing angle adjustment
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • 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/18Use of a frame buffer in a display terminal, inclusive of the display panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • 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/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Processing Or Creating Images (AREA)
  • Liquid Crystal Display Device Control (AREA)

Abstract

필드 순차 컬러 디스플레이를 포함하는 데이터 처리 시스템에 있어서, 예측된 시야 방향에 기초하여 변환될 프레임을 상기 필드 순차 컬러 디스플레이 상에 디스플레이 할 때, 특정 컬러 필드에 대한 예측된 시야 방향(186)에 기초하여 프레임을 위한 디스플레이 상에 디스플레이될 각각의 컬러 필드를 변환하여, 각각의 컬러 필드가 상기 프레임에 대한 다른 컬러 필드로의 상이한 시야 방향 변환을 거치게 한다. 다음에, 상기 변환된 컬러 필드는 프레임을 디스플레이하기 위해 상기 디스플레이 상에 순차적으로 디스플레이된다.

Description

데이터 처리 시스템{Data Processing Systems}
본 발명은 데이터 처리 시스템에 관한 것으로, 특히 디스플레이 상에 이미지를 디스플레이하는 데이터 처리 시스템의 동작에 관한 것이다.
도 1은 중앙 처리 유닛(7; CPU), 그래픽 처리 유닛(2; GPU), 비디오 코덱(1), 카메라(12), 이미지 신호 프로세서(13; ISP), 디스플레이 프로세서(5), 및 메모리 제어기(8)를 포함하는 예시의 데이터 처리 시스템(14)을 나타낸다. 도 1에 나타낸 바와 같이, 이들 유닛은 인터커넥트를 통해 통신하고 오프-칩 메모리(3)에 액세스한다. 이러한 시스템에서, 상기 GPU(2), 비디오 코덱(1), ISP(13) 및/또는 CPU(7)는 디스플레이될 프레임(이미지)을 생성하고 다음에 상기 디스플레이 프로세서(5)는 디스플레이를 위해 디스플레이(4)에 상기 프레임을 제공할 것이다. 상기 디스플레이(4)는 상기 시스템의 나머지에 대해 로컬 또는 원격일 수 있으며, 상기 디스플레이 프로세서(5)에 유선 또는 무선 연결될 수 있다.
이러한 시스템의 사용에 있어서, 호스트 프로세서(CPU) 상에서 실행되는 게임과 같은 애플리케이션은, 예를 들어 디스플레이(4) 상에 프레임의 디스플레이를 요구할 것이다. 이를 위해, 그러한 애플리케이션(10)은 상기 CPU(7) 상에서 실행되는 그래픽 처리 유닛(2)에 대한 드라이버(11)에 적절한 명령 및 데이터를 제공할 것이다. 다음에, 상기 드라이버(11)는 적절한 명령 및 데이터를 생성하여 상기 그래픽 처리 유닛(2)이 디스플레이를 위한 적절한 프레임들을 렌더링하고 이들 프레임을 적절한 버퍼, 예컨대 메인 메모리(3)에 저장하게 한다. 다음에, 상기 디스플레이 프로세서(5)는 이들 프레임을 디스플레이를 위해 버퍼로 독출하고, 이후 여기서 이들 프레임이 판독되어 디스플레이(4)의 디스플레이 패널 상에 디스플레이된다.
그러한 디스플레이를 위한 프레임들은, 예컨대 원할 경우 캐시를 통해, 상기 프레임들을 생성하는 처리 유닛, 예컨대 GPU(2) 또는 ISP(13)로부터 디스플레이로 스트리밍되거나 또는 대신 스트리밍될 수도 있다.
도 1에 나타낸 것과 같은 데이터 처리 시스템(14) 사용의 예는 증강 현실(AR) 및/또는 가상 현실(VR) 헤드(head)-장착형 디스플레이(HMD) 시스템을 제공하는 것이다. (이러한 경우, 상기 디스플레이(4)는 일부 종류의 헤드-장착형 디스플레이일 것이다.)
헤드-장착형 AR/VR 디스플레이 동작에서, 각각의 눈에 디스플레이될 적절한 이미지들은, 예컨대 그러한 증강 현실 또는 가상 현실 디스플레이를 요구하는 게임(예컨대, CPU(7) 상에서 실행되는)과 같은 애플리케이션으로부터의 적절한 명령 및 데이터에 대한 응답으로 상기 그래픽 처리 유닛(2)에 의해 렌더링될 것이다. 예를 들어, 상기 GPU(2)는 초당 30 프레임과 같은 디스플레이의 리프레시 레이트(refresh rate)와 일치하는 레이트로 디스플레이될 이미지를 렌더링할 것이다.
그와 같은 배열에서, 상기 시스템은 또한 사용자의 헤드/시선의 움직임을 추적(소위 헤드 포즈 추적)하도록 동작할 것이다. 이러한 헤드 방향(포즈) 데이터는 이미지가 현재 헤드 위치(시야 방향)에 대해 사용자에게 실제로 디스플레이되는지를 결정하는데 사용되며, 이에 따라 이미지(프레임)가 렌더링(예컨대, 헤드 방향 데이터를 기초하여 카메라 (시점; view point) 방향을 설정함으로써)됨으로써, 사용자의 현재 시야의 방향에 기초하여 적절한 이미지가 디스플레이될 수 있다.
AR/VR 시스템에서 디스플레이될 프레임의 렌더링 시작시에 헤드 방향(포즈)을 결정하는 것이 가능할 수 있지만, 렌더링 프로세스의 레이턴시(latency) 때문에, 프레임의 렌더링 시작시의 헤드 방향(포즈)과 실제로 프레임이 디스플레이되는(디스플레이 패널로 스캔되는) 시점 간 사용자의 헤드 방향(포즈)이 변경되는 경우가 있을 수 있다.
이를 허용하기 위해, 디스플레이될 프레임이 프레임의 렌더링 시작시에 감지된 헤드 방향 데이터에 기초하여 렌더링되지만, 이후 프레임이 실제로 디스플레이되기 전에, 프레임이 실제로 사용자에게 디스플레이될 시간 동안 예상된 헤드 방향에 기초하여 프레임이 재-투영된다. 그러한 예상된 헤드 방향은, 예컨대 프레임이 렌더링되는 시간과 프레임이 실제로 디스플레이되는 시점 간 사용자의 예측된 헤드 움직임에 기초할 수 있다. 이후, 재-투영된 버전의 프레임이 디스플레이된다. 이는 디스플레이 상에 디스플레이된 이미지가 사용자의 (예측된) 현재 헤드 방향과 더 가깝게 일치시키게 한다.
이러한 처리를 행하기 위해, 초기 "애플리케이션" 프레임이 메모리의 적절한 버퍼로 렌더링되는데, 이후 제2렌더링 프로세스는 상기 메모리의 상기 초기 애플리케이션 프레임을 취하고 예측된 헤드 방향(포즈) 정보를 사용하여 사용자에게 디스플레이될 프레임을 제공하기 위해 그러한 예상된 헤드 방향을 고려하여 초기 렌더링된 프레임의 "재-투영된" 버전을 렌더링한다. 이는 통상 상기 예측된 헤드 방향(포즈)에 기초하여 그 프레임에 일부 형태의 변환을 포함한다. 실제로 디스플레이되는 그렇게 변환된(재-투영된) 렌더링된 프레임은 이후 그것들이 디스플레이 프로세서에 의한 디스플레이를 위해 판독되는 메모리의 추가의 버퍼 또는 버퍼들에 기록될 수 있다.
상기 예측된 헤드 방향(포즈)에 기초한 초기 프레임의 변환(재-투영)은, 예컨대 CPU(7)로부터 적절한 제어 하에, 그래픽 처리 유닛(2)에 의해, 및/또는 디스플레이 프로세서(5; 여기서 디스플레이 프로세서는 적절한 변환 기능을 가짐)에 의해 수행될 수 있다. 따라서, 이러한 처리를 위해, 상기 그래픽 처리 유닛(2)은 애플리케이션에 의해 요구되고 지시되는 "애플리케이션" 프레임을 렌더링할 것이고, 이후 상기 그래픽 처리 유닛 또는 디스플레이 프로세서는, 예를 들어 디스플레이용 디스플레이 프로세서(5)에 의한 처리를 위해 예측된 헤드 방향 데이터에 기초하여 이들 렌더링된 프레임을 적절히 재-투영할 것이다.
헤드-장착형 디스플레이 시스템을 위한, 특히 증강 현실(AR) 헤드셋을 위한 액정-온-실리콘(LCos; Liquid-Crystal-on-Silcon)과 같은 소위 "필드 순차" 컬러 디스플레이를 사용하는 것이 점점 더 보편화 되고 있다. 이는 그와 같은 디스플레이들이 물리적으로 매우 작고, 전력 소모가 적고, 저렴하며, 개별 컬러화 서브픽셀 요소들을 갖는 LCD 및 OLED 패널 타입에서 "스크린 도어" 문제가 없기 때문이다.
필드 순차 컬러 디스플레이는 3개의 컬러 필드 모두를 동시에 디스플레이하는 디스플레이 요소들을 갖는 것이 아니라, 연속의 이미지에 상이한 컬러 필드가 디스플레이되는 디스플레이이다. 따라서, 필드 순차 디스플레이에서, 예컨대 디스플레이될 프레임에 대한 "적색 이미지"가 먼저 디스플레이되고, 이후 연속의 단일 컬러 이미지를 "풀(full)" 컬러 이미지로 융합하기 위해 휴먼 비전 시스템(human vision system)을 사용하여 프레임의 녹색 이미지와 프레임의 청색 이미지가 차례대로 디스플레이된다. 그와 같은 필드 순차 디스플레이는 일반적으로 안정적인 이미지를 구성하기 위해 프레임 당 표시되는 높은 프레임 레이트 및 다수의 컬러 필드의 조합을 필요로 한다. 프레임 당 최소 컬러 필드 세트는 3개(RGB)이지만, 프레임 당 4 개의 컬러 필드(예컨대, RGBG) 및 6개의 컬러 필드(RGBRGB)도 사용될 수 있다.
필드 순차 디스플레이의 한 가지 문제는 소위 "컬러 분해(break-up)"이고, 여기서 그러한 개별 컬러 필드가 사용자에게 시각화될 수 있다. 이는 필드 순차 디스플레이 출력과 실세계의 혼합을 보기 위해 사용자가 이동하면서 반투명 디스플레이를 통해 볼 수 있는 AR 헤드셋 사용에 있어 특정한 문제가 될 수 있다. 단일의 프레임에 걸친 사용자의 헤드 움직임은 사실상 그러한 컬러 필드들을 시각적으로 퍼뜨릴 수 있어 컬러 분해의 가능성이 높아진다.
따라서, 본 출원인들은, 특히 헤드-장착형 디스플레이 시스템 및/또는 증강 현실 애플리케이션을 위한 그와 같은 디스플레이를 사용할 때, 필드 순차 컬러 디스플레이들 상에 이미지를 디스플레이하기 위한 개선된 장치의 필요성이 있다고 생각한다.
본 발명의 제1형태에 따르면, 데이터 처리 시스템을 동작시키는 방법이 제공되며, 상기 데이터 처리 시스템은:
디스플레이를 위한 프레임을 디스플레이하도록 동작 가능한 필드 순차 컬러 디스플레이;
상기 디스플레이 상에 디스플레이를 위한 프레임을 생성하도록 동작 가능한 생성기 처리 유닛;
상기 생성기 처리 유닛에 의해 생성된 프레임을 디스플레이를 위한 상기 디스플레이에 제공하도록 동작 가능한 디스플레이 프로세서; 및
상기 디스플레이 상에 디스플레이를 위한 시야 방향 변환된 프레임을 제공하기 위해 시야 방향에 기초하여 상기 생성기 처리 유닛에 의해 생성된 프레임을 변환하도록 동작 가능한 변환 엔진을 포함하며,
상기 방법은:
예측된 시야 방향에 기초하여 변환될 상기 생성기 처리 유닛에 의해 생성된 프레임을 상기 필드 순차 컬러 디스플레이 상에 디스플레이할 때;
상기 변환 엔진은 특정 컬러 필드에 대한 예측된 시야 방향에 기초하여 프레임을 위한 디스플레이 상에 디스플레이될 각각의 컬러 필드를 변환하여, 각각의 컬러 필드가 상기 프레임에 대한 다른 컬러 필드로의 상이한 시야 방향 변환을 거치게 하고; 그리고
상기 프레임을 디스플레이하기 위해 디스플레이 상에 상기 변환된 컬러 필드를 순차적으로 디스플레이하는 단계를 포함한다.
본 발명의 제2형태에 따르면, 데이터 처리 시스템을 제공하며, 상기 데이터 처리 시스템은:
디스플레이를 위한 프레임을 디스플레이하도록 동작 가능한 필드 순차 컬러 디스플레이;
상기 디스플레이 상에 디스플레이를 위한 프레임을 생성하도록 동작 가능한 생성기 처리 유닛;
상기 생성기 처리 유닛에 의해 생성된 프레임을 디스플레이를 위한 상기 디스플레이에 제공하도록 동작 가능한 디스플레이 프로세서; 및
상기 디스플레이 상에 디스플레이를 위한 시야 방향 변환된 프레임을 제공하기 위해 시야 방향에 기초하여 상기 생성기 처리 유닛에 의해 생성된 프레임을 변환하도록 동작 가능한 변환 엔진을 포함하며,
상기 변환 엔진은:
예측된 시야 방향에 기초하여 변환될 상기 생성기 처리 유닛에 의해 생성된 프레임을 상기 필드 순차 컬러 디스플레이 상에 디스플레이할 경우:
특정 컬러 필드에 대한 예측된 시야 방향에 기초하여 프레임을 위한 디스플레이 상에 디스플레이될 각각의 컬러 필드를 변환하여, 각각의 컬러 필드가 상기 프레임에 대한 다른 컬러 필드로의 상이한 시야 방향 변환을 거치게 하도록 구성되며;
상기 데이터 처리 시스템은:
상기 프레임을 디스플레이하기 위해 디스플레이 상에 상기 변환된 컬러 필드를 순차적으로 디스플레이하도록 더 구성된다.
본 발명은 필드 순차 컬러 디스플레이(즉, 연속의 개별 컬러 필드가 전체 컬러 이미지를 제공하도록 디스플레이되는 디스플레이)를 사용하여 이미지를 디스플레이하는 데이터 처리 시스템에 관한 것이다.
본 발명에 있어서, 상기 필드 순차 컬러 디스플레이 상에 디스플레이될 프레임이 시야 방향 데이터에 기초하여 변환될 때(예컨대, 증강 현실 디스플레이를 제공하는 경우일 수 있는), 예를 들어 프레임 전체에 대한 예측된 시야 방향에 기초하여 전체적으로 디스플레이될 프레임을 단순히 변환하는 것이 아니라, 디스플레이될 각각의 컬러 필드는 특정 컬러 필드에 대한 예측된 시야 방향에 기초하여 그 자신의 별도의 시야 방향에 기초한 변환을 수행한다.
이는, 이후 각각의 컬러 필드가 별도의(그리고 상이한) 시간에 순차 디스플레이 상에 디스플레이된다는 사실을 고려한 시야 방향에 기초한 변환의 효과를 갖는다. 즉, 해당 컬러 필드에 대한 예측된 시야 방향에 기초하여 각각의 컬러 필드를 개별적으로 변환함으로써, 개별 컬러 필드의 특정 디스플레이 시간이 허용 및 고려된다.
이는, 특히 프레임의 디스플레이 동안 사용자가 이동하는 헤드-장착형 디스플레이의 경우에, 보다 정확하고 시각적으로 수용 가능한 디스플레이를 제공할 수 있다. 이는, 예를 들어 헤드-장착형 디스플레이 시스템을 위한 컬러 필드 순차 디스플레이를 사용할 때 컬러 분해를 감소 및/또는 피하는 것을 도울 수 있다.
상기 필드 순차 컬러 디스플레이는 액정-온-실리콘(LCos) 디스플레이와 같은 필드 순차 컬러 디스플레이(즉, 연속적으로 디스플레이 상에 연속의 개별 컬러 필드를 디스플레이함으로써 이미지가 디스플레이되는 디스플레이)의 임의의 적절하고 바람직한 형태일 수 있다.
상기 디스플레이는, 바람직하게, 디스플레이 패널, 각각의 컬러 필드 데이터를 디스플레이 패널로 스캔하기 위한 디스플레이 드라이버 회로, 및 상기 디스플레이 패널 상에 디스플레이될 데이터를 수신하기 위한 디스플레이 수신기와 같이, 디스플레이가 포함할 수 있는 임의의 적절하고 바람직한 구성 요소 및 요소들을 포함할 수 있다. 상기 디스플레이 드라이버 회로는 디스플레이될 프레임(그리고 각각의)을 디스플레이하기 위해 디스플레이 패널에 적절한 컬러 필드 시퀀스를 제공하도록 동작 가능해야 한다. 또한, 상기 디스플레이는 프레임 버퍼와 같은 적절한 로컬(온-칩) 프레임 데이터 스토리지(storage)를 포함할 수 있으며, 여기서 각각의 컬러 필드로의 분리는 디스플레이 자체에 의해 수행된다.
상기 필드 순차 컬러 디스플레이 상에 디스플레이하기 위한 프레임을 생성하는 생성기 처리 유닛은 디스플레이를 위한 프레임을 생성할 수 있는 데이터 처리 시스템의 임의의 처리 유닛을 포함할 수 있다. 따라서, 예를 들어, 그래픽 프로세서(그래픽 처리 유닛(GPU)), 비디오 프로세서, CPU, 및/또는 이미지 신호 프로세서(ISP) 등을 포함할 수 있다. 원할 경우, 디스플레이 상에 디스플레이하기 위한 프레임을 생성하도록 동작 가능한 둘 이상의 생성기 처리 유닛이 있을 수 있다. 바람직한 실시예에서, 생성기 처리 유닛은 그래픽 프로세서이다.
따라서, 디스플레이를 위한 프레임은 데이터 처리 시스템의 그래픽 처리 유닛(그래픽 프로세서)에 의해 생성된(렌더링된) 바람직한 실시예이지만, 대신 원할 경우 CPU, 비디오 프로세서, 또는 ISP와 같은 전체 데이터 처리 시스템의 다른 요소 또는 요소들에 의해 생성되거나 제공될 수도 있다.
디스플레이를 위해 생성된 프레임은 디스플레이에 바람직한 임의의 적절하고 바람직한 프레임일 수 있다. 바람직한 실시예에서, 그러한 프레임은 게임과 같은 애플리케이션을 위한, 바람직하게는 증강 현실 또는 가상 현실 애플리케이션을 위한 디스플레이를 위해 생성되는 프레임이다.
각각의 프레임은 적절한 데이터(예컨대, 컬러 값들의 세트)가 각각 저장되는 데이터 요소(샘플링 위치)(예를 들어, 픽셀)들의 어레이를 포함할 것이다.
상기 디스플레이 프로세서는 데이터 처리 시스템의 생성기 처리 유닛에 의해 생성된 프레임을 디스플레이를 위한 디스플레에 제공하도록 동작 가능한 임의의 적절하고 바람직한 디스플레이 프로세서를 포함할 수 있다. 따라서, 상기 디스플레이 프로세서는 메모리로부터 프레임들의 데이터를 독출하고, 이들 프레임에 대한 적절한 "디스플레이 처리"를 수행하고, 이후 디스플레이를 위한 디스플레이에 처리된 프레임을 제공하도록 동작 가능해야 한다. 상기 디스플레이 프로세서는, 예컨대 메모리를 통해 디스플레이에 프레임을 전송하는 것이 아니라, 즉 디스플레이에 프레임(프레임에 대한 데이터)을 스트림하도록 동작 가능한 디스플레이에 "다이렉트" 연결을 통해 디스플레이를 위한 디스플레이에 프레임을 제공한다. 상기 디스플레이 프로세서는 디스플레이에 유선 또는 무선 연결될 수 있다.
또한, 상기 디스플레이 프로세서는 디스플레이를 위한 출력 프레임을 제공하기 위해 다수의 입력 프레임을 합성하는 것 등과 같은 디스플레이를 위한 프레임에 대한 다른 처리 동작들(디스플레이에 적절한 형태로 프레임을 제공하는데 필요한 동작들 뿐만 아니라)을 수행하도록 동작 가능할 수도 있다.
하나의 바람직한 실시예에서, 상기 생성기 처리 유닛에 의해 생성된 프레임들은, 예컨대 이들이 이후 디스플레이 프로세서에 의해 처리하기 위해 디스플레이 프로세서에 의해 독출되는(이후 디스플레이를 위한 디스플레이에 제공하는) 프레임 버퍼 및 메모리에 저장된다.
프레임이 저장되는(디스플레이 프로세서에 의한 처리 전에) 메모리는 임의의 적절한 메모리를 포함할 수 있고, 임의의 적절하고 바람직한 방식으로 구성될 수 있다. 예를 들어, 디스플레이 프로세서와 함께 온-칩(on-chip) 메모리이거나 외부 메모리일 수 있다. 실시예에서, 이는 전체 데이터 처리 시스템의 메인 메모리와 같은 외부 메모리에 있다. 이러한 목적을 위해 전용 메모리일 수도 있고, 다른 데이터에도 사용되는 메모리의 일부일 수도 있다.
다른 실시예에서, 프레임들은 디스플레이 프로세서로 스트리밍된다(메모리의 중간 스토리지 없이).
상기 변환 엔진은 임의의 적절하고 바람직한 방식으로 예측된 시야 방향에 기초하여 프레임에 대한 컬러 필드를 변환할 수 있다. 바람직한 실시예에서, 컬러 필드에 대한 예측된 시야 방향은 의문(question)의 컬러 필드가 보여지는 것처럼 디스플레이되어야 하는(이와 관련하여 변환될 프레임이 디스플레이되어야 하는) 원하는 시야 방향(시야 위치 및/또는 방향)이다.
바람직한 실시예에서, 그러한 예측된 시야 방향은 디스플레이에 대한 "현재" 시야 방향을 표시하는 수신된 시야 방향 데이터에 기초한다. 바람직한 실시예에서, 이러한 현재 시야 방향은, 예컨대, 그리고 바람직하게 디스플레이가 일부인(그리고 프레임이 디스플레이되는) 디스플레이 헤드셋의 적절한 헤드 포즈 추적 센서로부터 감지되는 헤드 포즈 추적 데이터를 포함한다.
따라서, 바람직한 실시예에서, 예측된 시야 방향에 기초한 변환은, 예컨대, 그리고 바람직하게 디스플레이가 일부인 헤드셋에 의해 주기적으로 결정되는 적절하게 샘플링된 헤드 포즈 추적 데이터에 기초하고 이를 사용한다.
따라서, 바람직한 실시예에서, 본 발명은 시야 방향 데이터(예컨대, 헤드 포즈 데이터)를 주기적으로 샘플링하여(예컨대, 그리고 바람직하게 디스플레이가 일부인 헤드-장착형 디스플레이의 적절한 센서에 의해), 샘플링된 시야 방향 데이터를 주기적으로 제공하고, 디스플레이를 위한 변환된 버전의 프레임을 제공하기 위해 프레임에 대한 컬러 필드를 변환할 때 상기 제공된 샘플링된 시야 방향 데이터를 사용하는 것을 포함한다(그리고, 이를 위해 데이터 처리 시스템이 적절히 구성된다).
이러한 점에서 샘플링되고 사용되는 헤드 포즈 추적 데이터는 임의의 적절하고 바람직한 헤드 포즈 추적 데이터를 포함할 수 있다. 바람직한 실시예에서, 시야 방향 및/또는 위치(및 바람직하게는 모두)를 나타내는 데이터이고, 바람직하게는 헤드 회전 및 헤드 병진 이동(translation) 중 하나 이상, 바람직하게는 모두를 추적한다.
상기 헤드 포즈 추적 데이터는 원하는 대로 결정될 수 있다. 예를 들어, 디스플레이, 추적 시스템 또는 데이터 처리 시스템의 카메라와 관련된 관성 측정 유닛(IMU)과 같은 적절한 센서에 의해 생성될 수 있다. 일반적으로, 감지된 헤드 포즈 데이터는 낮은 레이턴시, 헤드 포즈 데이터의 높은 정확도의 소스(바람직하게는 회전 및 위치)에 대한 임의의 지점에서 질의(query)될 수 있는 적절한 시스템에 의해 제공될 수 있고, 바람직하게 제공된다. 헤드 포즈 추적 시스템은, 원하는데로 회전만, 또는 회전 및 위치, 또는 회전과 위치 및 속도 등을 추적할 수 있다.
프레임에 대한 컬러 필드를 기초하여 변환되는 예측된 시야 방향은 예측된 시야 위치 및/또는 예측된 시야 방향을 포함할 수 있다. 바람직한 실시예에서, 이는 예측된 시야 위치 및 예측된 시야 방향 모두를 포함한다.
바람직한 실시예에서, 각각의 예측된 시야 방향에 기초하여 각각 변환되는 것 보다 프레임에 대한 각각의 컬러 필드에 의해, 프레임에 대한 각각의 컬러 필드가 실제로 디스플레이될 때 각각의 시야 방향(예컨대, 그리고 바람직하게 시야 위치 및/또는 방향 )을 예측하기 위해, 샘플링된 시야 방향(예컨대, 헤드 위치 및/또는 방향)은 프레임에 대한 각각의 컬러 필드가 디스플레이될 시간에 대한 정보와 함께 사용한다.
따라서, 특히 바람직한 실시예에서, 감지된 시야 방향 및 각각의 컬러 필드가 디스플레이될 시간에 기초하여, 각 컬러 필드(평면)에 대한 미래의 시야 방향을 개별적으로 예측하는데 감지된 시야 방향(헤드 포즈)이 사용된다. 이러한 예측은, 바람직하게는 시야 방향이 샘플링된 시간으로부터 컬러 필드가 디스플레이될 시간까지 사용자 시선의 가능한 동작(예컨대, 회전 및/또는 변환)의 추정을 사용한다.
바람직한 실시예에서, 예측은 의문의 컬러 필드에 대한 예측된 시야 방향을 결정하기 위해 회전, 병진 이동 및 추정된 디스플레이 시간 중 하나 이상, 바람직하게는 모두를 사용한다.
따라서, 특히 바람직한 실시예에서, 프레임의 컬러 필드에 대한 예측된 시야 방향은, 의문의 컬러 필드가 디스플레이될 시간에 대한 예측된 시야 방향을 제공하기 위해, 감지된, 바람직하게 현재의 시야 방향(위치 및/또는 방향), 및 그 감지된 시야 방향으로부터 의문의 컬러 필드가 디스플레이될 시간(추정된)까지의 사용자의 가능한 헤드 움직임(예컨대, 그리고 바람직하게 회전 및/또는 병진 이동)의 예측에 기초하여 결정되며, 이후 상기 변환 엔진은 상기 예측된 시야 방향에 기초하여 의문의 컬러 필드를 변환한다.
상기 의문의 컬러 필드가 디스플레이되는 시간과 감지된 방향(헤드 포즈) 간 예측된 헤드 움직임은 임의의 적합하고 절절한 방식으로, 예컨대, 그리고 바람직하게 시간 주기에 따라 사용자의 헤드 움직임(예컨대, 그리고 바람직하게 회전 및/또는 병진 이동 및/또는 속도)을 추적함으로써 대응적으로 결정될 수 있으며, 이후 그 추적을 사용하여 사용자의 미래의 헤드 움직임을 예측할 수 있다.
물론, 다른 배열이 가능할 수 있다.
상기 감지된 헤드 포즈 데이터를 사용한 예측된 시야 방향의 실제 결정은 데이터 처리 시스템의 임의의 적절하고 바람직한 구성 요소 또는 요소에서 수행될 수 있다. 따라서, 예를 들어 상기 데이터 처리 시스템의 CPU 또는 다른 프로세서와 같은 적절한 프로세서에서 생성될 수 있다. 그와 같은 결정된 예측 시야 방향은, 바람직하게는 변환 엔진에 대한 적절한 변환 파라미터를 결정하는데 사용되며, 그 파라미터는 이후 상기 변환 엔진에, 예를 들어 디스플레이 프로세서를 위한 드라이버에도 제공하도록, 그리고/또 디스플레이 프로세서가 직접 독출할 수 있도록 적절히 사용될 수 있어야 한다.
따라서, 바람직한 실시예에서, 데이터 처리 시스템은 감지된 (현재) 시야 방향(방향 및/또는 위치); 앞서 추정된 디스플레이 시간(변환될 프레임이 생성된 시간); 및 타겟 디스플레이 시간(의문의 컬러 필드에 대해(즉, 컬러 필드가 디스플레이될 때)) 중 하나 이상으로부터, 바람직하게는 모두로부터 예측된 시야 방향(예측된 시야 방향 파라미터)을 생성하도록 동작 가능한 예측된 시야 방향 생성 엔진을 더 포함한다.
이러한 엔진은, 바람직하게 이후 변환 엔진이 예측된 시야 방향에 기초하여 의문의 컬러 필드를 변환할 필요가 있는 필요한 예측된 시야 방향 파라미터를 리턴한다. 이러한 엔진은, 예컨대 시스템의 CPU 또는 다른 프로세서, 시스템의 독립형 프로세서(엔진)일 수 있으며, 그리고/또 상기 디스플레이 프로세서 등과 연합될 수 있다.
이러한 예측이 행해질 수 있는데, 예컨대 바람직하게는 프레임 내에 포함되는 변환 파라미터가 임의의 원하는 시점에 프레임에 제공될 수 있다(예를 들어, 프레임 내에 "최종(late breaking)" 추적 정보를 취함으로써). 이는, 예컨대 데이터 처리 시스템의 CPU 상에서(예컨대, 프레임 당 보정을 위해) 실시될 수 있지만, 디스플레이 프로세서에 더 가까운 예측된 시야 방향 결정 엔진 또한 존재할 수 있으며, 예컨대 여기서 서브-프레임 보정이 요구된다.
특히 바람직한 실시예에서, 상기 생성기 처리 유닛은 현재 감지된 시야 방향에 기초하여 디스플레이를 위한 프레임을 생성하도록 구성되며, 이후 상기 변환 엔진은 상기 감지된 시야 방향에 기초하여 렌더링된 프레임(프레임에 대한 컬러 필드)을 개별 컬러 필드가 디스플레이될 시간에 기초하여 새로운 예측된 시야 방향으로 변환한다.
본 발명에 있어서, 상기 변환 엔진은 그 특정 컬러 필드에 대한 예측된 시야 방향에 기초하여 프레임을 위한 디스플레이 상에 디스플레이될 각각의 컬러 필드를 변환한다.
따라서, 그러한 변환은 각각의 컬러 필드에 대해 개별적으로, 예컨대, 그리고 바람직하게 컬러 필드가 디스플레이될 시간에 기초하여 그 특정 컬러 필드에 대한 시야 방향을 예측할 것이다. 따라서, 예를 들어 각각의 프레임이 3개의 RGB 컬러 필드의 시퀀스로서 디스플레이되는 경우에, 변환 엔진은, 바람직하게 적색 컬러 필드가 디스플레이될 시간에 기초하여 그 적색 컬러 필드에 대한 시야 방향을 예측하여, 그 예측된 "적색" 시야 방향에 기초하여 적색 컬러 필드를 변환하고, 바람직하게 녹색 컬러 필드가 디스플레이될 예측된 시간에 기초하여 녹색 컬러 필드에 대한 다른 시야 방향을 예측하여, 그 예측된 "녹색" 시야 방향에 기초하여 녹색 컬러 필드를 변환하며, 바람직하게 청색 컬러 필드가 디스플레이될 예측된 시간에 기초하여 청색 컬러 필드에 대한 다른 시야 방향을 예측하여, 그 예측된 "청색" 시야 방향에 기초하여 청색 컬러 필드를 변환하도록 동작할 것이다(그리고, 그 다음 프레임 등에 대해).
특히 바람직한 실시예에서, 본 발명의 이러한 형태의 방식에 있어서의 동작은 디스플레이될 각각의 프레임에 대해 3개의 필드(그래서 RGB)를 디스플레이할 때에만 사용된다.
원할 경우, 프레임 당 더 많은 컬러 필드(예컨대, 프레임 당 4개의 컬러 필드, 즉 RGBG)를 디스플레이할 때 사용될 수도 있다. 이러한 경우, 바람직한 배열에서, R 및 B 컬러 필드는 바람직하게 이들 필드가 디스플레이될 때의 예측된 시야 방향에 기초하여 변환되지만, 복제된 컬러 필드(이 경우 녹색)는 바람직하게 2개의 "복제된"(이 경우 녹색) 컬러 필드의 디스플레이에 대한 평균 시간에 기초한 예측된 시야 방향에 기초하여 변환된다.
프레임 당 6개의 컬러 필드(RGBRGB)의 경우, 이후 각각의 컬러 필드에 대한 각각의 평균 디스플레이 시간은 원할 경우 다시 변환에 사용될 수 있다(그러나, 이러한 경우, 각각의 컬러 필드는 여전히 특정 컬러 필드에 대한 예측된 "평균" 시야 방향에 기초하여 그 자신의 각각의 (상이한) 변환이 수행될 것이다).
상기 변환 엔진은 바람직하게 프레임에 대한 컬러 필드 및/또는 각 프레임의 시작에서와 같이 디스플레이될 각각의 프레임에 대해 새로운 예측된 시야 방향에 기초하여 그 변환 동작을 업데이트한다. 프레임에 대한 그러한 예측된 시야 방향은 바람직하게 최신의 샘플링된 시야 방향 데이터(이용 가능한 경우)에 기초한다.
상기 변환 엔진이 예측된 시야 방향에 기초하여 프레임의 컬러 필드에 적용하는(실제로) 변환은 임의의 적합하고 바람직한 변환일 수 있다. 일반적으로, 2D 평면(이미지)의 3D 회전(원근 변환(3D 변환 후의 원근 투영)/2D 호모그래피(homography)(이미지-대-호모그래피))을 포함해야 하며, 바람직하게는 포함한다.
바람직한 실시예에서, 상기 변환은 컬러 필드를 변환하여 예측된 시야 방향(시야 방향 및/또는 위치)에서 보았을 때와 같이 컬러 필드의 표현을 제공하는 것이다(예컨대, 생성기 처리 유닛에 대해 프레임이 생성(렌더링)된 시야 방향(시야 방향 및/또는 위치)과 비교하여). 따라서, 바람직한 실시예에서, 상기 변환 엔진은 생성된 시야 방향으로부터 그들 각각의 예측된 시야 방향으로 컬러 필드를 재-투영하도록 동작한다.
상기 변환 엔진은 임의의 적절하고 바람직한 방식으로 구현될 수 있다. 이는, 바람직하게 적절한 처리 회로 소자(적절한 처리 회로)에 의해 제공된다. 이는, 예를 들어 원하는 방식으로 동작하도록 프로그램될 수 있는 적절한 프로그램 가능 처리 회로에 의해 제공되거나, 또는 요구된 처리 동작에서 수행하도록 구성된 고정 기능 처리 회로로서 제공될 수 있다. 고정-기능 회로가 변환 동작을 수행하는데 사용된 경우, 그러한 고정-기능 회로는, 바람직하게 상기 고정-기능 회로가 수행하는 동작에 대한 하나 이상의 제어 파라미터를 변경하는 것이 가능한 것과 같이, 사용에 있어 제한된 구성 가능성을 갖도록 배열함으로써, 상기 고정-기능 회로의 동작 구성의 일부 변화를 용이하게 한다.
상기 변환 엔진은 원하는데로 데이터 처리 시스템에서 구현되고 제공될 수 있다. 따라서, 이는 상기 데이터 처리 시스템의 "독립형" 변환 엔진(변환 프로세서)으로서 제공될 수 있으며, 그리고/또 데이터 처리 시스템(예컨대, 그리고 바람직하게 디스플레이될 프레임에 액세스하는)의 달리 제공되는 프로세서, 구성 요소 등(그 일부로서)에 의해 제공될 수 있다. 바람직한 실시예에서, 상기 변환 엔진은 데이터 처리 시스템의 다른 구성 요소(예컨대, 프로세서)의 일부로서 제공된다. 이 경우, 상기 변환 엔진은 디스플레이 프로세서 및/또는 디스플레이를 위한 프레임을 생성하는 생성기 처리 유닛에 제공될 수 있다. 상기 데이터 처리 시스템의 하나 이상의 요소, 원할 경우, 적합한 변환 엔진을 포함할 수 있다.
특히 바람직한 실시예에서, 상기 변환 엔진은 디스플레이 프로세서에 제공되고, 상기 예측된 시야 방향에 기초한 변환은 디스플레이에 제공하기 위한 프레임을 처리할 때 상기 디스플레이 프로세서에 의해 수행되는 디스플레이 처리의 일부로서 수행된다. 따라서, 이러한 경우, 상기 디스플레이 프로세서는 시야 방향에 기초하여 생성기 처리 유닛에 의해 생성된 프레임을 변환하도록 동작 가능한 적절한 변환 엔진을 포함할 것이다.
이러한 경우, 시야 방향에 기초한 변환은 상기 디스플레이 프로세서에서 별도의 단계로서 수행될 수 있지만, 특히 바람직한 실시예에서는 상기 디스플레이 프로세서에서 다른 디스플레이 처리 단계들의 일부로서 수행된다. 예를 들어, 상기 디스플레이 프로세서가 디스플레이될 프레임들에 대해 색수차 보정(chromatic aberration correction)을 수행하도록 이미 동작 가능한 경우, 이후 본 발명의 방식으로 시야 방향 변환은 그러한 색수차 보정과 함께(동시에) 수행될 수 있다. 이는, 특히 상기 디스플레이 프로세서가 색수차 보정을 수행하기 위해 각 컬러 채널을 개별적으로 처리하는 경우에 적용 가능하며, 이 경우에서와 같이 상기 컬러 필드는 이미 분리되어 있으며, 따라서 각각의 개별적인 예측된 시야 방향 변환이 서로 다른 컬러 채널에 더 직접적으로 적용될 수 있다.
따라서, 특히 바람직한 실시예에서, 상기 변환 엔진은 디스플레이 프로세서에서 구현되고, 그리고 상기 디스플레이 프로세서 처리 동작의 일부로서 그리고 보다 더 바람직하게 각 컬러 채널을 개별적으로 이미 처리하는 디스플레이 프로세서 처리 동작(색수차 보정과 같은)의 일부로서 또는 그와 결합하여 구현된다.
대응적으로, 특히 바람직한 실시예에서, 상기 변환 엔진은 그 특정 컬러 필드에 대한 예측된 시야 방향, 및 색수차 보정과 렌즈 왜곡 보정 중 하나 이상 그리고, 바람직하게 모두와 같은 하나 이상의 다른 기준(파라미터) 모두에 기초하여 프레임을 위한 디스플레이 상에 디스플레이될 컬러 필드(그리고 각각의)를 변환하도록 동작 가능하고 동작한다.
상기 변환 엔진은, 바람직하게 각 샘플링 위치 별(예컨대, 각 픽셀 별) 기준에 따라 상기 출력된 예측 시야 방향 변환된 컬러 필드를, 즉 예측된 시야 방향 변환된 샘플링 위치들(픽셀들)(샘플링 위치(픽셀) 값들)의 스트림으로서 생성하도록 동작한다. 이는, 바람직하게 입력 프레임에서 샘플링 위치들(예컨대, 픽셀들)에 대한 데이터 값으로부터 상기 출력된 예측 시야 방향 변환된 컬러 필드에서 각각의 샘플링 위치들(예컨대, 픽셀들)에 대한 데이터 값들을 생성함으로써 상기 출력된 예측 시야 방향 변환된 컬러 필드를 생성하는 변환 엔진에 의해 행해진다.
특히 바람직한 실시예에서, 상기 변환 엔진은 디스플레이될 프레임에서의 디스플레이 데이터 요소(픽셀) 위치를 얻기 위해, 상기 변환된 출력 컬러 필드에서의 데이터 요소(픽셀) 픽셀에 대한 데이터를 취해야 하는 의문의 컬러 필드(평면)에서의 대응하는 위치(좌표)를 결정함으로써 컬러 필드(그리고 각각의)를 변환한다.
즉, 상기 변환 엔진은, 바람직하게 상기 변환 엔진이 적용하는 변환에 의해 그 예측된 시야 방향 변환된 컬러 필드에서 주어진 데이터 요소(픽셀) 위치로 이동될 입력 컬러 평면(input colour plane)에서의 위치를 결정한다.
이는, 바람직하게 (디스플레이를 위해) 생성하고자 하는 예측된 시야 방향 변환된 컬러 필드에서 복수, 바람직하게 각각의 데이터 요소(픽셀) 위치에 대해 행해진다.
상기 변환 엔진은 임의의 적절하고 바람직한 방식으로 주어진 변환된 출력 컬러 필드 데이터 요소(예컨대, 픽셀) 위치에 대해 샘플링되어야 하는 입력 컬러 평면 위치를 결정할 수 있다.
특히 바람직한 실시예에서, 상기 변환 엔진은, 출력 변환된 컬러 필드 데이터 요소(픽셀) 위치(x, y)를 얻기 위해, 그러한 변환 동작이 그 컬러(필드) 평면에 적용될 예측된 시야 방향 변환, 및 상기 변환 엔진이 입력 컬러 평면에 적용하도록 구성된 렌즈 왜곡 보정과 상기 변환 동작이 상기 입력 컬러 평면에 적용하도록 구성된 색수차 보정 중 하나 이상, 바람직하게는 그 모두에 기초하여, 예측된 시야 방향 변환된 출력 컬러 필드에서의 그 데이터 요소(픽셀) 위치에 대한 데이터가 취해져야 하는(취해질) 대응하는 입력 컬러 평면 위치를 결정한다.
특히 바람직한 실시예에서, 상기 변환 엔진은, 출력(디스플레이) 샘플링(픽셀) 위치(x, y)를 얻기 위해, 상기 변환 동작이 고려되도록 구성된 렌즈 왜곡에 기초하여 대응하는 입력 컬러 평면 위치(좌표)(x', y')를 결정하고, 이후 의문의 컬러 필드에 대한 예측된 시야 방향에 기초하여 그 결정된 컬러 평면 위치(좌표)(x', y')를 변경한다.
보다 더 바람직하게, 그러한 결정된 입력 컬러 평면 위치(좌표)는 또한 출력 변환된 컬러 필드를 볼 때(색수차 보정을 적용하기 위해) 색수차를 고려하도록 변경된다. 이는, 바람직하게 예측된 시야 방향에 기초하여 샘플링될 그러한 결정된 입력 컬러 평면 위치를 변경하기 전에 수행된다.
따라서, 바람직한 실시예에서, 상기 변환 엔진은 예측된 시야 방향에 기초하여 프레임을 변환할 때 다음을 수행하도록 구성(동작)된다:
즉, 출력될 출력 변환된 프레임에서의 데이터 요소 위치를 얻기 위해, 규정된 렌즈 왜곡에 기초하여 입력 프레임에서 대응하는 위치를 결정하고;
적어도 하나의 변경된 입력 프레임 위치를 제공하기 위해 상기 출력 변환된 프레임을 볼 때 색수차를 고려하여 상기 결정된 입력 프레임 위치를 변경하며;
상기 출력 변환된 프레임의 데이터 요소에 대해 사용할 데이터를 제공하도록 샘플링될 입력 프레임에서 출력 위치를 제공하기 위해 예측된 시야 방향에 기초하여 상기 결정된 적어도 하나의 변경된 입력 프레임 위치를 더 변경하도록 구성된다.
다음에, 입력 프레임이 3개의 컬러 평면(필드)으로서 함께 변환되는 경우, 바람직한 실시예에서, 색수차 보정 스테이지는 각각의 상이한 컬러 평면에 대한 개별적인 색수차를 결정하도록 동작 가능하다. 따라서, 하나의 바람직한 실시예에서, 프로세스는 예컨대, 그리고 바람직하게 렌즈 왜곡(상술한 바와 같이)에 기초하여 생성되는 출력 변환된 프레임 데이터 요소(샘플링 위치)에 대한 초기 입력 프레임 위치를 결정하도록 동작하지만, 이후 색수차 보정 스테이지는 바람직하게 다수의(예컨대, 그리고 바람직하게 3개, 각각의 컬러 평면에 대해 하나) 변경된 입력 프레임 위치(좌표)(각각의 색수차를 각각 고려함)를 결정한다.
이러한 경우, 예측된 시야 방향에 기초한 입력 프레임 위치의 다음 변경은 개별적으로 색수차 보정에 의해(그리고 의문의 컬러 필드에 대한 특정 예측된 시야 방향을 사용하여) 제공된 각각의 상이한 입력 프레임 컬러 평면 위치에 적용되고, 바람직하게는 각각 적용되어야 한다.
따라서, 이 경우, 주어진 출력 변환된 프레임 샘플링 위치에 대해 입력 프레임에서 샘플링될 위치가 다수(예컨대, 3개) 있을 것이며, 예컨대, 그리고 바람직하게 출력 변환된 프레임을 위해 생성될 각각의 상이한 컬러 평면(컬러 값)에 대해 하나의 입력 프레임 위치가 있을 것이다. 따라서, 예를 들어, 출력 변환된 프레임 데이터 요소(샘플링 위치)에 대한 RGB 컬러 데이터 세트는 바람직하게 하나의("적색") 입력 프레임 위치(좌표)로부터 결정된 적색 값, 다른("녹색") 입력 프레임 위치(좌표)로부터 결정된 녹색 값, 및 세 번째("청색") 입력 프레임 위치(좌표)로부터 결정된 청색 값을 포함할 것이다.
일단 데이터가 상기 출력 변환된 프레임에서 데이터 요소(샘플링 위치)에 사용되는 입력 프레임에서의 위치 또는 위치들이 결정되면, 특히 바람직한 실시예에서, 그러한 입력 프레임은, 출력 변환된 프레임에서 데이터 요소(샘플링 위치)에 사용될 데이터 값을 제공하기 위해, 상기 결정된 위치 또는 위치들에서 샘플링된다.
이러한 샘플링은, 예컨대 원하는데로 이중선형(bilinear) 필터링을 사용하여 수행할 수 있다.
프레임에 대한 컬러 필드들이 각기 다른 컬러 필드들에 대한 예측된 시야 방향들에 기초하여 변경되면(그리고 아니면 디스플레이를 위해 디스플레이로 전송하기에 적합하게 처리되면), 프레임은 디스플레이 프로세서에 의한 디스플레이를 위해 디스플레이로 전송될 수 있고, 바람직하게 전송된다. 바람직한 실시예에서, 상기 디스플레이 프로세서는 디스플레이를 위해 디스플레이로 프레임을, 예컨대, 그리고 바람직하게 디스플레이를 위한 데이터 요소들(픽셀들)의 스트림으로서 직접 전송한다. 그러한 프레임에 대한 데이터는 원하는데로 디스플레이에 유선 또는 무선을 통해 제공될 수 있다.
다음에, 상기 필드 순차 컬러 디스플레이는 프레임에 대한 상이한 컬러 필드를 순차적으로 디스플레이함으로써(예컨대, 그리고 바람직하게 의문의 디스플레이에 대한 통상적인 동작 방식으로), 그 수신된 프레임을 디스플레이하도록 동작할 것이다. 따라서, 각각의 컬러 필드에 대한 데이터 요소들(픽셀들)은 의문의 컬러 필드를 디스플레이하기 위해 디스플레이의 패널 상에 적절하게 스캔될 것이다(그리고 전체 프레임을 구성하는 다른 색상 필드들이 디스플레이되도록).
상기 디스플레이 프로세서는 디스플레이될 프레임에 대한 데이터를, 결합(예컨대, 인터리브(interleave))된 적색, 녹색 및 청색 컬러 데이터로서 필드 순차 컬러 디스플레이에 제공할 수 있다. 이 경우, 컬러 데이터는 이후 디스플레이(유닛) 자체에 디스플레이하기 위해 각각의 개별 컬러 필드(평면)로 분리되어야 한다. (따라서, 디스플레이는 먼저, 각각의 개별 컬러 필드를 디스플레이하기 전에, 디스플레이 프로세서로부터 그 수신된 프레임 데이터를 디스플레이를 위한 각각의 개별 컬러 필드로 분리할 것이다.)
이 경우, 예를 들어 디스플레이는 이 디스플레이 자체에서 각각의 개별 컬러 필드로 그 데이터를 분리하는 것을 용이하게 하기 위해 디스플레이 프로세서로부터 수신된 프레임 데이터를 저장하기 위한 온-칩 프레임 버퍼와 같은 적절한 로컬 스토리지를 구비할 수 있다.
특히 바람직한 실시예에서, 상기 디스플레이 프로세서는 각각의 개별 컬러 필드들(평면들)로 이미 분리된 디스플레이를 위한 디스플레이에 프레임에 대한 데이터를 제공하도록 동작 가능하다. 따라서, 이러한 경우, 상기 디스플레이 프로세서는, 예컨대, 그리고 바람직하게 제1세트, 예컨대 프레임에 대한 적색 컬러 필드(평면)와 같은 어느 하나에 대응하는 적색 컬러 데이터를, 뒤이어 제2세트, 예컨대 프레임에 대한 녹색 컬러 필드(평면)와 같은 또 다른 것에 대응하는 녹색 컬러 데이터를, 뒤이어 제3세트, 예컨대 프레임에 대한 청색 컬러 필드(평면)와 같은 그 다음에 대응하는 청색 컬러 데이터를 순서대로 제공할 것이다(각각의 프레임이 3개 이상의 필드로 디스플레이되는 등).
이 경우, 예컨대 디스플레이 유닛 상에 프레임 데이터를 버퍼링하여 각각의 컬러 필드로 분리되도록 할 필요가 없이, 상기 수신된 컬러 평면들(필드들)이 이후 디스플레이 패널 상에 디스플레이를 위한 디스플레이(예컨대, 드라이버 회로)에 직접 전달될 수 있도록, 프레임 데이터는 컬러 평면들(필드들)의 시퀀스로서 디스플레이에 제공될 것이다(예컨대, 그리고 바람직하게 필드 리프레시 주파수에서). 그러면, 프레임에 대한 컬러 데이터가 디스플레이 유닛 자체의 각각의 컬러 필드들(평면들)로 분리될 수 있는 능력을 제공할 필요성이 제거될 것이고, 이에 의해, 예컨대 그러한 목적을 위해 디스플레이(유닛) 자체에 온-칩 프레임 버퍼를 제공할 필요성을 회피할 수 있다.
원할 경우, 상기 디스플레이 프로세서가 이들 배열(그리고, 바람직한 일 실시예에서 그것이 행해지는)에서 디스플레이에 제공하기 위한 개별 컬러 평면들을 생성하도록 구성할 수 있지만, 특히 바람직한 실시예에서, 상기 디스플레이 프로세서는 각각의 컬러 평면들(필드들)로 이미 분리된 처리를 위한 프레임들을 수신한 다음, 개별 컬러 평면들(필드들)로서 상기 디스플레이를 위한 프레임들을 처리한다. 이러한 경우, 상기 디스플레이 프로세서는 이후 사실상 각각의 개별 평면 (단일) 컬러 이미지로서 프레임을 처리할 것이다.
따라서, 이러한 동작을 용이하게 하기 위해, 디스플레이를 위한 프레임을 생성하는 생성기 처리 유닛은, 바람직하게 단일 컬러 (평면) 이미지들(필드들)로 분리된 상기 디스플레이 프로세서에 의해 처리하기 위한 프레임을 제공하도록 구성된다. 이는, 바람직하게 처리를 위해 상기 디스플레이 프로세서에 의해 독출될 생성된 프레임을 프레임 버퍼에 기록할 때(예를 들어, 인터리빙된 적색, 녹색 및 청색 값으로서 프레임을 기록하는 것이 아니라), 상기 생성기 처리 유닛이 개별 컬러 평면으로서(으로) 상기 프레임 데이터를 기록하는 것에 의해 달성된다.
이는 원하는데로 달성될 수 있다. 예컨대, 그리고 바람직하게, 생성기 처리 유닛에 대한 메모리 기록 프로세스는 프레임을 각각의 개별 컬러 평면들로서 메모리에 기록하도록 구성될 수 있으며, 바람직하게는 구성된다. 그러한 그래픽 프로세서의 경우, 예컨대, 그리고 특히 타일-기반 그래픽 프로세서의 경우, 이는 타일에 대한 데이터 값들을 메모리의 각각의 개별 컬러 평면들에 기록하도록 타일 기록 프로세스를 구성함으로써 달성될 수 있다.
물론, 다른 배열이 가능할 수 있다.
따라서, 특히 바람직한 실시예에서, 상기 생성기 처리 유닛은, 상기 필드 순차 컬러 디스플레이 상에 디스플레이를 위한 프레임을 생성할 때, 개별 컬러 평면들로서 디스플레이를 위한 디스플레이에 제공하기 위한 상기 디스플레이 프로세서에 의해 처리될 생성된 프레임을 제공하도록 동작할 수 있다(그리고 제공하도록 동작한다.
그와 같은 바람직한 실시예에서, 상기 생성기 처리 유닛은 일반적인 방식으로 디스플레이를 위한 프레임을 생성(예컨대, 그래픽 프로세서의 경우 프레임을 일반적으로 렌더링)하지만, 이후 상기 디스플레이 프로세서에서 사용하기 위해 프레임 데이터를 메모리에 기록할 때 그러한 프레임 데이터를 3개의 개별 컬러 평면들(RGB)로 저장한다.
이러한 경우, 이후 상기 디스플레이 프로세서는 각각의 개별 단일-컬러 평면으로서 디스플레이를 위한 프레임을 처리할 것이다. 이에 따라, 상기 디스플레이 프로세서는 메모리로부터 각각의 컬러 평면을 차례로 독출 및 처리한다. 따라서, 예컨대, 그리고 바람직하게, 제1, 예컨대 프레임에 대한 적색 컬러 평면을 독출 및 처리하고, 다음에 제2, 예컨대 프레임에 대한 녹색 컬러 평면을 독출 및 처리하며, 다음에 제3, 예컨대 프레임에 대한 청색 컬러 평면을 독출 및 처리할 것이다.
생성기 처리 유닛이 개별 컬러 평면들로서 디스플레이를 위한 프레임들 제공하면, 상기 개별 컬러 평면들을 디스플레이를 위한 필드 순차 컬러 디스플레이에 제공하기 위한 개별 컬러 평면들로서 처리하는 디스플레이 프로세서는, 본 발명의 제1형태의 방식으로 상이한 컬러 평면들(필드들)을 개별적으로 변환할 때만이 아니라, 그 자체로 새롭고 이점이 있다는 것을 믿는다. 예를 들어, 그와 같은 배열은, 예컨대, 디스플레이 유닛 자체에 프레임 버퍼를 포함시킬 필요성을 회피함으로써 필드 순차 컬러 디스플레이 상에 프레임을 디스플레이할 때 엔드-투-엔드(end-to-end) 레이턴시를 감소시킬 수 있고 그리고/또 그와 같은 시스템의 영역 비용을 감소시킬 수 있다.
따라서, 본 발명의 다른 형태에 따르면, 데이터 처리 시스템을 동작시키는 방법을 제공하며, 상기 데이터 처리 시스템은:
디스플레이를 위한 프레임을 디스플레이하도록 동작 가능한 필드 순차 컬러 디스플레이;
상기 디스플레이 상에 디스플레이를 위한 프레임을 생성하도록 동작 가능한 생성기 처리 유닛; 및
상기 생성기 처리 유닛에 의해 생성된 프레임을 디스플레이를 위한 상기 디스플레이에 제공하도록 동작 가능한 디스플레이 프로세서를 포함하며,
상기 방법은:
상기 생성기 처리 유닛에 의해 생성된 프레임을 상기 필드 순차 컬러 디스플레이 상에 디스플레이할 때;
개별 컬러 평면의 형태로 디스플레이 프로세서에 의해 처리하기 위한 프레임을 제공하는 생성기 처리 유닛;
개별적으로 상기 생성기 처리 유닛에 의해 제공된 각각의 컬러 평면을 처리하고, 디스플레이를 위한 디스플레이에 상기 개별 컬러 평면을 개별 컬러 평면으로서 제공하는 디스플레이 프로세서; 및
프레임을 위한 개별 컬러 평면을 디스플레이하는 디스플레이를 포함한다.
본 발명의 다른 형태에 따르면, 데이터 처리 시스템을 제공하며, 상기 데이터 처리 시스템은:
디스플레이를 위한 프레임을 디스플레이하도록 동작 가능한 필드 순차 컬러 디스플레이;
상기 디스플레이 상에 디스플레이를 위한 프레임을 생성하도록 동작 가능한 생성기 처리 유닛; 및
상기 생성기 처리 유닛에 의해 생성된 프레임을 디스플레이를 위한 디스플레이에 제공하도록 동작 가능한 디스플레이 프로세서를 포함하며,
여기서:
상기 생성기 처리 유닛은, 상기 필드 순차 컬러 디스플레이 상에 디스플레이될 프레임을 생성할 때, 개별 컬러 평면의 형태로 상기 디스플레이 프로세서에 의해 처리하기 위한 프레임을 제공하도록 구성되고;
상기 디스플레이 프로세서는 개별 컬러 평면으로서 상기 생성기 처리 유닛에 의해 제공된 각각의 컬러 평면을 처리하고, 디스플레이를 위한 디스플레이에 개별 컬러 평면으로서 상기 개별 컬러 평면을 제공하도록 구성되며;
상기 디스플레이는 상기 디스플레이 프로세서로부터 수신된 프레임을 위한 개별 컬러 평면을 디스플레이하도록 구성된다.
본 기술 분야의 당업자라면 알 수 있는 바와 같이, 본 발명의 이들 형태 및 실시예들은 본원에 기술된 본 발명의 바람직한 그리고 옵션의 특징들 중 임의의 하나 이상 또는 전부를 포함할 수 있으며, 바람직하게는 포함한다.
따라서, 예를 들어, 상기 시스템은 바람직하게 시야 방향에 기초하여 상기 생성기 처리 유닛에 의해 생성된 프레임을 변환하는(그리고, 바람직하게 각각의 컬러 평면에 대해 개별적으로 수행하는) 변환 엔진을 더 포함한다. 대응적으로, 상기 방법은 바람직하게 시야 방향에 기초하여 상기 생성기 처리 유닛에 의해 생성된 프레임을 변환하는 단계, 및 다시 바람직하게 그 자신의 특정 시야 방향에 기초하여 각각의 컬러 평면을 변환하는 단계를 포함한다.
또한, 상기 디스플레이 프로세서가 이러한 경우에 주어진 프레임을 3개의 개별 컬러 평면으로 처리할지라도, 상기 디스플레이 프로세서는, 예컨대 요구된 필드 패턴을 생성하기 위해 적절한 방식으로 개별 컬러 평면 입력 데이터를 간단히 처리함으로써, 여전히 임의의 원하는 컬러 필드 패턴(예컨대, RGB, RGBG, RGBRGB 등)을 디스플레이하기 위해 디스플레이와 함께 작동함과 더불어 상기 컬러 필드 패턴을 디스플레이에 제공할 수 있다는 것을 알아야 한다.
이들 형태 및 실시예들에서, 상기 디스플레이 프로세서는 임의의 적절하고 바람직한 방식으로 각각의 개별 컬러 평면으로서 프레임을 처리하도록 구성될 수 있다.
따라서, 예를 들어, 상기 디스플레이 프로세서가 프레임의 샘플링 위치(픽셀)의 각기 다른 컬러 채널 상에서 디스플레이 처리 동작들을 수행하기 위해 각각의 컬러 처리 파이프라인들을 포함하는 경우, 상기 디스플레이 프로세서는, 주어진 사이클에서 단일의 프레임 픽셀로부터 3개의 다른 컬러 채널(RGB) 상에서 동작하는 것이 아니라, 주어진 사이클에서 해당 컬러 평면으로부터 단일의 픽셀을 처리하기 위해 처리중인 컬러 평면에 대해 적절한 컬러 처리 파이프라인을 간단히 사용하기만 하면 된다. 따라서, 이러한 경우, 사용되지 않는 다른 2개의 컬러 파이프라인은 비활성화될 수 있으며, 바람직하게는 비활성화된다.
그러나, 특히 바람직한 실시예에서, 디스플레이 프로세서가 동시에 동작하는 3개의 상이한 컬러 처리 파이프라인을 가짐으로써 단일 사이클에서 동시에 픽셀의 3개의 컬러 샘플을 처리할 수 있는 경우, 프레임을 위한 단일 컬러 평면이 디스플레이를 위해 처리되는 본 발명의 형태 및 실시예들의 방식으로 동작할 때, 특히 바람직한 실시예에서, 상기 디스플레이 프로세서는 의문의 컬러 평면으로부터의 주어진 샘플링 위치(픽셀)를 처리하기 위해 그 컬러 처리 파이프라인들 각각을 사용하도록 동작 가능하다.
따라서, 이러한 경우, 단일의 데이터 요소(픽셀)의 3개의 컬러 채널을 동시에 처리하는 것이 아니라, 상기 디스플레이 프로세서는 의문의 단일 컬러 평면(필드)으로부터의 3개의 상이한 데이터 요소들(픽셀들)을 동시에 처리하도록 동작할 수 있다. 따라서, 예를 들어, 적색 컬러 평면의 경우, 상기 디스플레이 프로세서는, 적색 컬러 파이프라인에 의해 하나의 데이터 요소(픽셀), 녹색 컬러 파이프라인에 의해 하나의 데이터 요소(픽셀), 및 청색 컬러 파이프라인에 의해 하나의 데이터 요소(픽셀)를 처리함으로써, 동일한 컬러 평면으로부터의 3개의 데이터 요소들(픽셀들)을 동시에 독출 및 처리할 수 있다.
그러면, 상기 디스플레이 프로세서가 비-컬러 분리 프레임들을 처리할 수 있는 레이트와 유사한 레이트로 프레임에 대해 각각의 분리된 개별 컬러 평면들을 처리하는 것을 용이하게 할 수 있다.
이러한 경우, 상기 디스플레이 프로세서는, 이에 따라 바람직하게 동일한 컬러 평면으로부터 이웃하는 픽셀들의 세트에서 데이터 요소(픽셀) 데이터를 페치(fetch)하도록 구성된다. 따라서, 상기 디스플레이 프로세서는, 바람직하게 의문의 컬러 평면으로부터 연속의 데이터 값(데이터 요소) 메모리 위치를 독출하도록 구성된다. 이는 임의의 적절하고 바람직한 방식으로 달성될 수 있다.
상기 변환 엔진이 디스플레이될 프레임에서의 디스플레이 데이터 요소(픽셀) 위치를 얻기 위해, 상기 변환된 출력 컬러 필드에서의 데이터 요소(픽셀) 픽셀에 대한 데이터를 취해야 하는 의문의 (입력) 컬러 필드(평면)에서의 대응하는 위치(좌표)를 결정함으로써 컬러 필드(그리고 각각의)를 변환하는 경우, 이러한 동작은, 상기 디스플레이 프로세서가 디스플레이될 프레임에서의 각각의 디스플레이 데이터 요소(픽셀) 위치에 대한 단일 컬러 평면을 처리할 때, 상기 변환된 출력 컬러 필드에서의 데이터 요소(픽셀)에 대한 데이터를 취해야 하는 의문의 (입력)(단일) 컬러 평면에서의 대응하는 위치(좌표)를 결정할 뿐만 아니라, 또한 출력 변환된 컬러 필드에서 하나 이상의, 그리고 바람직하게는 2개 이상의 데이터 요소들(픽셀들)(위치들)에 대해 데이터가 취해져야 하는 (입력) 단일 컬러 평면에서의 하나 이상의 위치(좌표)를 결정하도록 구성된다.
따라서, 바람직한 실시예에서, 처리되는 주어진 디스플레이 픽셀(좌표)에 대해, 상기 변환 엔진은 현재 처리되는 단일 컬러 평면 내에서의 3개의 샘플링(픽셀) 위치를 생성하도록 동작한다.
이는, 바람직하게 고려되는 출력 디스플레이 픽셀 위치(좌표)에 대응하는 하나의 입력 컬러 평면 픽셀, 디스플레이 (출력) 픽셀 좌표의 특정 축 방향(행 또는 열)을 따라 고려되는 출력 디스플레이 픽셀 위치(좌표)에 대한 다음 디스플레이 (출력) 픽셀 위치(좌표)에 대응하는 다른 입력 컬러 평면 픽셀 위치, 및 의문의 특정 축 방향(행 또는 열)을 따라 고려되는 출력 디스플레이 픽셀 위치(좌표)에 대한 다음이지만 하나의 디스플레이 (출력) 픽셀 위치(좌표)에 대응하는 다른 입력 컬려 평면 픽셀 위치를 생성함으로써 달성된다.
이는, 바람직하게 (디스플레이를 위해) 생성되기를 원하는 예측된 시야 방향 변환된 컬러 필드에서 (특정 축 방향에 따른) 모든 제3데이터 요소(픽셀) 위치에 대해 수행된다(고려되는 각각의 디스플레이 픽셀 위치가 3개의 출력 픽셀의 생성을 활성화할 때). (따라서, 그러한 변환 동작에 사용되는 디스플레이 (출력) 픽셀 좌표들(위치들)은 또한 대응적으로 바람직하게는 3개의 연속 디스플레이 픽셀 좌표의 그룹에 대응하는 입력 컬러 평면 픽셀 좌표들의 선택 및 생성을 활성화하도록 구성된다.)
이들 배열에 있어서, 바람직한 실시예에서, 상기 색수차 보정 스테이지는 샘플링될 3개의 (인접한) 데이터 요소(픽셀) 위치들을 생성하도록 동작 가능하다. (즉, 색수차 보정 스테이지는 3개의 입력 컬러 평면 위치들(좌표들)(각각이 의문의 출력 시야 방향 변환된 컬러 필드(평면)에서의 각각의 상이한 출력(픽셀) 위치에 대응함)을 결정한다).
이에 따라, 예측된 시야 방향에 기초한 입력 컬러 평면 위치들의 이후의 변경은 각기 다른 입력 컬러 평면 위치(예컨대, 색수차 보정에 의해 제공된)에 개별적으로(그리고, 바람직하게 특히 의문의 컬러 필드에 대한 예측된 시야 방향을 사용하여(상술한 바와 같이)) 각각 적용되어야 하고, 바람직하게는 적용된다.
따라서, 이러한 경우에는, 고려되는 출력 변환된 프레임 샘플링(픽셀) 위치(그리고 각각의)에 대해 생성된 입력 단일 컬러 평면(필드)에서 샘플링될 다수의(예컨대, 3개의) 위치가 있을 것이다.
따라서, 바람직한 실시예에서, 변환 엔진은, 예측된 시야 방향에 기초하여 디스플레이될 프레임을 위한 단일 컬러 평면을 변환할 때:
출력될 출력 변환된 프레임에서의 데이터 요소 위치에 기초하여, 상기 출력 변환된 프레임에서의 상기 데이터 요소 위치에 대한 상기 입력 컬러 평면에서의 대응하는 위치, 및 상기 출력 변환된 프레임에서의 2개의 다른 데이터 요소 위치에 대응하는 입력 컬러 평면에서의 2개의 다른 위치(그리고, 바람직하게 출력 변환된 프레임에서의 데이터 요소 위치에 연속하는)를 결정하고; 그리고
상기 출력 변환된 프레임의 3개의 데이터 요소 위치에 대해 사용할 데이터를 제공하도록 샘플링될 입력 컬러 평면에서의 3개의 출력 위치를 제공하기 위해 예측된 시야 방향에 기초하여 3개의 결정된 입력 컬러 평면 위치를 변경하도록 구성된다(그리고 변경하도록 동작한다).
데이터가 상기 출력 컬러 평면(필드)에서 데이터 요소들(샘플링 위치들)에 사용될 입력 컬러 평면에서의 위치들이 결정되면, 상기 출력 변환된 컬러 평면(필드)에서 데이터 요소들(샘플링 위치들)에 사용될 데이터 값들을 제공하기 위해, 상기 입력 컬러 평면이 상기 결정된 위치에서 샘플링될 수 있다.
상기 디스플레이 프로세서가 각각의 분리된 개별의 단일 컬러 평면들(필드들)의 형태로(로서) 프레임을 처리하는 경우, 임의의 색수차 보정과 같은 수행되는 임의의 컬러-특정 처리는 현재 처리되는, 그리고/또 비활성화된 컬러 평면에 적절히 구성될 수 있으며, 바람직하게 구성된다.
동일하게, 3개의 컬러 채널에 일반적인 동작으로 적용되는 임의의 프로세스는 단일 컬러 평면이 처리되는 사실을 고려하도록 대응적으로 비활성화되고 그리고/또는 변경되어야 한다. 예를 들어, 3개의 RGB 왜곡 메쉬(distortion mesh)(사용된 경우)는 단일 채널 왜곡 메쉬로 해석해야 하지만, (n×3+0), (n×3+1) 및 (n×3+2) 행 또는 열(스캔 순서에 따라)에 각각 맞추어진다.
본 발명이 단일 프레임의 생성 및 처리를 특히 참조하여 설명되었지만, 본 기술 분야의 당업자라면 알 수 있는 바와 같이, 본 발명 방식의 동작은 바람직하게 디스플레이될 다수의 프레임들에 대해, 그리고 바람직하게 디스플레이될 시퀀스의 다수의 프레임의 각각의 프레임에 대해 수행될 수 있다. 따라서, 일 실시예에서, 본 발명 방식의 동작은 사용자에게 디스플레이를 위한 다수의 출력 프레임의 시퀀스를 생성하는데 사용되며, 대응적으로, 그러한 본 발명 방식의 동작은 바람직하게 디스플레이될 다수의 출력 프레임에 대해 반복한다.
따라서, 예를 들어, 생성기 처리 유닛은 디스플레이될 다수의 출력 프레임들의 시퀀스를 생성할 것이고, 이후 상기 변환 엔진 및 디스플레이 프로세서는 이들 프레임을 디스플레이를 위한 디스플레이에 제공하기 위해 이들을 적절히 처리한다.
또한, 디스플레이를 위한 프레임들의 생성 및 처리는, 이에 따라, 그리고 바람직하게 디스플레이될 "좌측" 및 "우측" 프레임들(프레임들에 대한 컬러 필드들)의 시퀀스를 각각 사용자의 좌측 및 우측 눈에 생성하는 단계를 포함할 수 있다. 디스플레이를 위한 각 쌍의 "좌측" 및 "우측" 프레임들은 원하는데로 공통 입력 프레임으로부터, 또는 각각의 "좌측" 및 "우측" 입력 프레임으로부터 생성될 수 있다.
특히 바람직한 실시예에서, 본 발명의 디스플레이는, 예컨대, 그리고 바람직하게 가상 현실 및/또는 증강 현실 디스플레이를 위한 헤드-장착형 디스플레이를 포함한다. 이러한 경우, 상기 디스플레이는, 이에 따라 그러한 프레임들을 사용자에게 디스플레이하기 위한 디스플레이 패널, 및 사용자가 디스플레이된 프레임들을 보는 렌즈 또는 렌즈들을 포함할 수 있으며, 바람직하게는 포함한다.
대응적으로, 바람직한 실시예에서, 상기 디스플레이는 디스플레이의 현재 및/또는 관련된 위치에 기초하여 시야 추적 정보를 가능하면 주기적으로 생성하고, 예컨대 시야 방향에 기초하여 프레임을 변환할 때 가능하면 사용하기 위한 해당 시야 방향을 상기 데이터 처리 시스템의 처리 유닛에 주기적으로 제공하도록 동작 가능한 연합된 시야 방향 결정(예컨대, 헤드 추적) 센서들을 구비한다.
따라서, 본 발명의 다른 형태는 본원에 기술된 본 발명의 형태 및 실시예들 중 임의의 하나 이상의 데이터 처리 시스템을 포함하는 헤드-장착형 디스플레이 장치를 포함한다. 대응적으로, 본 발명의 다른 형태는 본 발명의 형태 및 실시예들 중 임의의 하나 이상의 방식으로 헤드-장착형 디스플레이를 동작시키는 단계를 포함하는 헤드-장착형 디스플레이 장치를 동작시키는 방법을 포함한다.
본 발명의 방식으로 동작하도록 요구된 특정 유닛 및 구성 요소들 뿐만 아니라, 상기 데이터 처리 시스템은 이 데이터 처리 시스템을 구성할 수 있는 임의의 다른 적절하고 원하는 요소, 유닛, 프로세서 중 하나 이상을, 그리고 바람직하게 그 모두를 또한 포함할 수 있으며, 바람직하게는 포함한다. 따라서, 상기 데이터 처리 시스템은, 중앙 처리 유닛, 그래픽 처리 유닛, 비디오 프로세서, 이미지 신호 프로세서, 카메라, 시스템 버스, 및 메모리 제어기 중 하나 이상을, 그리고 바람직하게는 그 모두를 포함할 수 있다. 바람직한 실시예에서, 상기 데이터 처리 시스템은 본원에 기술한 데이터, 및/또는 본원에 기술한 프로세서들을 수행하기 위한 소프트웨어를 저장하는 하나 이상의 메모리 및/또는 메모리 장치들을 포함하고, 그리고/또 그들과 통신한다.
본 발명은 적절하게 구성된 마이크로-프로세서 기반 시스템과 같은 임의의 적절한 시스템에서 구현될 수 있다. 일 실시예에서, 본 발명은 컴퓨터 및/또는 마이크로-프로세서 기반 시스템에서 구현된다.
본 발명의 다양한 기능들은 임의의 원하는 그리고 적절한 방식으로 수행될 수 있다. 예를 들어, 그러한 본 발명의 기능들은 원하는데로 하드웨어 또는 소프트웨어로 구현될 수 있다. 따라서, 예를 들어, 달리 나타내지 않는 한, 본 발명의 다양한 기능 요소, 엔진, 스테이지, 및 "수단"들은 원하는 방식으로 동작하도록 프로그램될 수 있는 적절한 전용 하드웨어 요소들(처리 회로/회로 소자), 및/또는 프로그램 가능 하드웨어 요소들(처리 회로/회로 소자)과 같은 다양한 기능 등을 수행하도록 동작 가능한 적절한 프로세서 또는 프로세서들, 제어기 또는 제어기들, 기능 유닛들, 회로 소자, 회로들, 처리 로직, 마이크로프로세서 배열 등을 포함할 수 있다.
또한, 본 기술 분야의 당업자라면 알 수 있는 바와 같이, 본 발명의 다양한 기능 등은 주어진 프로세서에서 동시에 복제 및/또는 수행될 수 있다는 것을 알아야 한다. 동일하게, 다양한 처리 스테이지들은 원할 경우 처리 회로 등을 공유할 수 있다.
더욱이, 본 발명의 처리 스테이지 및 엔진들 중 임의의 하나 이상 또는 그 모두는, 예컨대 하나 이상의 고정-기능 유닛(하드웨어; 처리 회로(회로들))의 형태, 및/또는 원하는 동작을 수행하도록 프로그램될 수 있는 프로그램 가능 처리 회로(회로들)의 형태로 처리 스테이지 회로 소자(회로들)로서 구현될 수 있다. 동일하게, 본 발명의 처리 스테이지들 및 처리 스테이지 회로 소자 중 임의의 하나 이상은 또 다른 처리 회로 스테이지들 또는 처리 스테이지 회로 소자(회로들)에 각각의 개별 회로 요소로서 제공될 수 있으며, 그리고/또 상기 처리 스테이지들 및 처리 스테이지 회로 소자(회로들) 중 임의의 하나 이상 또는 그 모두는 적어도 부분적으로 공유 처리 회로로 형성될 수 있다.
또한, 본 기술 분야의 당업자라면 본 발명의 기술된 형태 및 실시예들 모두는 일 실시예에서 적절하게 본원에 기술된 본 발명의 바람직한 그리고 선택적 특징들 중 임의의 하나 이상 또는 그 모두를 포함할 수 있다는 것을 이해할 것이다.
본 발명에 따른 방법은 소프트웨어, 예컨대 컴퓨터 프로그램을 사용하여 적어도 부분적으로 구현할 수 있다. 따라서, 다른 실시예들에서 볼 때, 본 발명은 데이터 프로세서에 설치될 경우 상기 본원에 기술된 상기 방법들을 수행하도록 특별히 채용된 컴퓨터 소프트웨어, 프로그램 요소가 데이터 프로세서 상에서 실행될 경우 본원에 기술된 상기 방법들을 수행하기 위한 컴퓨터 소프트웨어 코드 부분들을 포함하는 컴퓨터 프로그램 요소, 및 프로그램이 데이터 처리 시스템 상에서 실행될 경우 본원에 기술된 상기 방법 또는 방법들의 모든 단계들을 수행하도록 채용된 소프트웨어 코드를 포함하는 컴퓨터 프로그램을 제공한다는 것을 알 수 있을 것이다. 상기 데이터 프로세서는 마이크로프로세서 시스템, 프로그램 가능 FPGA(필드 프로그램 가능 게이트 어레이) 등일 수 있다.
또한, 본 발명은 디스플레이 제어기, 또는 데이터 프로세서를 포함하는 마이크로프로세서 시스템을 동작시키는데 사용된 경우 상기 데이터 프로세서, 상기 제어기 또는 시스템과 함께 본 발명의 방법들의 단계들을 수행하게 하는 그와 같은 소프트웨어를 포함하는 컴퓨터 소프트웨어 캐리어로 확대된다. 그와 같은 컴퓨터 소프트웨어 캐리어는 ROM 칩, CD ROM, RAM, 플래시 메모리, 또는 디스크와 같은 물리적 저장 매체이거나, 유선을 통한 전자 신호, 광 신호 또는 위성 등과 같은 무선 신호와 같은 신호일 수 있다.
또한, 본 발명의 방법들의 모든 단계들이 컴퓨터 소프트웨어에 의해 수행될 필요가 없으며, 따라서, 더 넓은 실시예에서, 본 발명은 본원에 기술된 방법들의 단계들 중 적어도 하나를 수행하기 위한 컴퓨터 소프트웨어 캐리어에 설치된 컴퓨터 소프트웨어를 제공한다는 것을 알 수 있을 것이다.
따라서, 본 발명은 컴퓨터 시스템과 함께 사용하기 위한 컴퓨터 프로그램 제품으로서 적절히 구현될 수 있다. 그러한 구현예는 컴퓨터 판독가능 매체, 예컨대 디스켓, CD-ROM, ROM, RAM, 플래시 메모리, 또는 하드 디스크와 같은 유형의 비-일시적 매체 상에 고정된 일련의 컴퓨터 판독가능 명령을 포함할 수 있다. 또한, 광 또는 아날로그 통신 라인을 포함하나 이에 한정되지 않는 유형의 매체를 통해 모뎀 또는 다른 인터페이스 장치를 통해, 또는 마이크로파, 적외선 또는 다른 전송 기술들을 포함하나 이에 한정되지 않는 무선 기술을 무형적으로 사용하여 컴퓨터 시스템에 전송할 수 있는 일련의 컴퓨터 판독가능 명령을 포함할 수도 있다. 상기 일련의 컴퓨터 판독가능 명령은 본원에 이전에 설명된 기능의 전부 또는 일부를 구현한다.
본원 기술 분야의 당업자는 그와 같은 컴퓨터 판독가능 명령이 많은 컴퓨터 아키텍처 또는 운영 시스템과 함께 사용하기 위한 다수의 프로그래밍 언어로 작성될 수 있다는 것을 이해할 것이다. 또한, 그와 같은 명령은 반도체, 자기, 또는 광학을 포함하나 이것으로 제한하지 않는 현재 또는 미래의 임의의 메모리 기술을 사용하여 저장되거나, 또는 광학, 적외선, 또는 마이크로파를 포함하나 이것으로 제한하지 않는 현재 또는 미래의 통신 기술을 사용하여 전송될 수 있다. 그와 같은 컴퓨터 프로그램 제품은, 예컨대 시스템 ROM 또는 고정 디스크에 컴퓨터 시스템에 의해 선-로딩된 인쇄된 또는 전자 문서, 예컨대 수축-포장된 소프트웨어를 수반하는 제거가능 매체로서 분배되거나, 또는 네트워크, 예컨대 인터넷 또는 월드 와이드 웹을 통해 서버 또는 전자 게시판으로부터 분배될 수 있는 것으로 고려된다.
본 발명에 따르면, 헤드-장착형 디스플레이 시스템 및/또는 증강 현실 애플리케이션을 위한 그와 같은 디스플레이를 사용할 때, 필드 순차 컬러 디스플레이들 상에 이미지를 디스플레이하기 위한 개선된 장치를 제공할 수 있다.
본 발명의 다양한 실시예들은 첨부된 도면을 참조하여 예로서만 설명될 것이며, 여기서:
도 1은 예시의 데이터 처리 시스템을 나타내고;
도 2는 본 발명의 일 실시예에 따라 동작될 수 있는 디스플레이 프로세서를 개략적으로 나타내고;
도 3은 도 4의 디스플레이 프로세서의 변환 엔진을 좀더 상세하게 나타내고;
도 4는 도 2의 디스플레이 프로세서의 변환 엔진의 동작을 좀더 상세하게 나타낸 흐름도이고;
도 5는 예시의 가상 현실 헤드-장착형 디스플레이 헤드셋을 개략적으로 나타내고;
도 6은 본 발명의 일 실시예에서 디스플레이를 위한 프레임들의 제공을 개략적으로 나타내고;
도 7은 본 발명의 일 실시예에서 디스플레이를 위한 프레임의 제공을 좀더 상세하게 개략적으로 나타내고;
도 8 및 9는 본 발명의 제1실시예를 나타내며;
도 10 및 11은 본 발명의 제2실시예를 나타낸다.
동일한 참조 번호는 적절한 곳에서 도면 전반에 걸쳐 동일한 구성 요소에 대해 사용된다.
본 발명의 다수의 바람직한 실시예가 이제 기술될 것이다.
본 실시예들은 증강 현실(AR) 디스플레이와 같은 헤드-장착형 디스플레이 시스템에서 사용자에게 프레임들을 디스플레이하는 프로세스에 관한 것이다.
그와 같은 시스템은 도 1에 나타낸(그리고 상기 기술한) 바와 같이 구성될 수 있으며, 상기 시스템의 디스플레이(4)는, 특히 헤드-장착형 디스플레이를 착용하고 있는 사용자에게 보여지는 프레임들을 디스플레이하기 위한 디스플레이 스크린 또는 스크린들(패널 또는 패널들), 상기 사용자의 눈과 상기 디스플레이 스크린들 간 시야 경로의 하나 이상의 렌즈, 및 사용 중에(이미지가 사용자에게 디스플레이 상에서 디스플레이되는 동안) 사용자의 헤드의 포즈(그들 헤드 위치 및/또는 그들 시야(시선) 방향)를 추적하기 위한 하나 이상의 센서를 포함하는 적절한 헤드-장착형 디스플레이를 포함한다.
바람직한 실시예들에서, 상기 디스플레이(4)는 LCoS(Liquid-Crystal-on-Silicon) 디스플레이와 같은 필드 순차 컬러 디스플레이의 형태이다.
도 5는 예시의 가상 현실 헤드-장착형 디스플레이(85)를 개략적으로 나타낸다. 도 5에 나타낸 바와 같이, 상기 가상 현실 헤드-장착형 디스플레이(85)는, 예를 들어 하나 이상의 헤드 포즈 추적 센서를 포함함과 더불어 디스플레이 스크린(87; 패널)이 장착되는 적절한 디스플레이 마운트(86)를 포함한다. 한 쌍의 렌즈(88)가 상기 디스플레이 스크린(87)의 시야 경로의 렌즈 마운트(89)에 장착된다. 마지막으로, 사용자가 헤드셋을 착용하기 위한 적절한 부속품(95)이 있다.
도 1에 나타낸 시스템에서, 디스플레이 프로세서(5)는 사용자가 보기 위한 적절한 이미지를 디스플레이(4)에 제공하도록 동작할 것이다. 그러한 디스플레이 프로세서(5)는 필요에 따라 유선 또는 무선 방식으로 디스플레이(4)에 연결될 수 있다.
상기 헤드-장착형 디스플레이(4) 상에 디스플레이될 이미지는, 예컨대 전체 데이터 처리 시스템의 호스트 프로세서(7; CPU)에서 실행되는 애플리케이션(10)으로부터의 그와 같은 렌더링에 대한 요청에 응답하여 그래픽 프로세서(2; GPU)에 의해 렌더링되고, 이들 프레임을 메인 메모리(3)에 저장할 것이다. 상기 디스플레이 프로세서(5)는 입력 표면으로서 메모리(3)로부터 프레임들을 독출하고, 사용자에게 디스플레이하기 위해 상기 디스플레이(4)에 이들 프레임을 적절히 제공할 것이다. 상기 디스플레이(4)가 필드 순차 컬러 디스플레이이기 때문에, 각각의 프레임은 디스플레이 상에 프레임에 대한 개별 컬러 필드들(평면들)을 차례로 디스플레이함으로써 디스플레이될 것이다(예컨대, RGB, RGBG 또는 RGBRGB로서).
본 실시예들에서, 그리고 본 발명에 따르면, 상기 디스플레이 프로세서(5)는 사용자에게 디스플레이하기 위해 상기 디스플레이(4)에 이들 프레임을 제공하기 전에 예측된 시야 방향에 기초하여 프레임들을 변환하도록 동작할 수 있다.
도 6 및 7은 이를 기술한다.
도 6에 나타낸 바와 같이, 디스플레이 프로세서(93)는 디스플레이 패널(94)에 제공하기 위해 시야 방향에 기초하여 그래픽 프로세서(91; GPU)에 의해 생성된 렌더링된 프레임(92)을 변환하도록 동작 가능한 변환 엔진(100)을 포함한다.
도 7은 시야 방향 변환 처리를 수행할 경우 디스플레이 프로세서의 동작을 나타낸다. 도 7에 나타낸 바와 같이, 디스플레이될 렌더링된 프레임(92)은 우선 메모리로부터 페치되고(단계 110), 이후 디스플레이 프로세서(93)의 라인 버퍼와 같은 적절한 버퍼에 로딩된다(단계 111).
그 다음, 시야 방향 변환 처리가 가능한지의 여부가 결정된다(단계 112). (그러한 변환 처리가 가능하지 않으면, 로딩된 입력 프레임은 정상적인 방식으로 디스플레이하기 위해 디스플레이(94)에 제공된다.)
그러한 시야 방향 변환 처리가 가능하면, 페치된 입력 프레임은, 디스플레이될 적절하게 "재-투영된" 버전의 프레임을 제공하기 위해, 호스트 프로세서(90)로부터 제공된 적절한 시야 방향 파라미터(114)의 기준에 따라 상기 디스플레이 프로세서의 변환 엔진에 의해 처리된다(단계 113). 다음에, "재-투영된" 프레임은 디스플레이를 위해 디스플레이(94)에 제공하기 위해 나머지의 디스플레이 처리 파이프라인에(패널 신호 생성기(115)에) 제공된다.
이제, 시야 방향 변환 동작을 수행하기 위한 디스플레이 프로세서(5)의 구성, 및 이러한 동작의 프로세스가, 본 실시예들에서 좀더 상세히 기술될 것이다.
도 2는 디스플레이 프로세서(5)를 개략적으로 나타낸다. 도 2에서, 박스들은 디스플레이 프로세서의 기능 유닛들을 나타내고, 반면 화살표의 라인들은 다양한 기능 유닛들 간의 연결을 나타낸다.
도 2에 나타낸 바와 같이, 디스플레이 프로세서(5)는, 특히 다이렉트 메모리 액세스(DMA) 독출 제어기 형태의 독출 제어기를 포함하는 메모리 독출 서브시스템(41)을 포함한다. 그러한 독출 제어기는 메모리 버스(9)를 통해 메인 메모리(3; 도 2에는 나타내지 않음)의 하나 이상의 프레임 버퍼로부터 하나 이상의 입력 표면을 독출하도록 구성된다.
상기 메모리 독출 서브시스템(41)은, 예컨대 레이턴시 숨김 목적을 위해, 메모리로부터 독출될 때 하나 이상의 입력 표면을 로컬적으로 버퍼하는데 사용되는 하나 이상의 실시간 선입선출(FIFO; first-in-first-out) 모듈을 더 포함한다.
이러한 실시예에서, 상기 메모리 독출 서브시스템(41)은 합성된 출력 프레임을 생성하는데 사용될 입력 레이어(layer)로서 사용하기 위해 최대 3개의 상이한 입력 표면을 제공(독출)하도록 구성된다. 상기 3개의 입력 레이어는 예컨대 비디오 프로세서(1; codec)에 의해 생성된 하나 이상의 비디오 레이어, 및 예컨대 그래픽 처리 유닛(2; GPU)에 의해 생성된 그래픽 윈도우 등을 포함할 수 있다. 따라서, 도 2는 디스플레이 레이어로서 사용될 입력 표면으로부터 각각 데이터를 수신할 3개의 레이어 파이프라인(42, 43, 44)을 포함하는 디스플레이 프로세서(5)를 나타낸다. 그러한 레이어 파이프라인에 의해 수신된 입력 표면들 중 임의의 것 또는 모든 것이 디코더에 의해 디코딩되고 및/또는 원할 경우 회전 유닛에 의해 회전될 수 있다.
각각의 레이어 파이프라인(42, 43, 44)은 수신된 데이터 워드, 컬러(예컨대, YUV에서 RGB로의) 변환, 및 역 감마 또는 역 sRGB 보정으로부터의 픽셀 언패킹(unpacking)과 같은 그 수신된 표면들에서 적절한 동작을 수행한다.
도 2의 실시예가 3개의 레이어 파이프라인(따라서 최대 3개의 입력 레이어)의 사용을 나타내고 있지만, 의문의 애플리케이션에 따라(그리고 또한 임의의 실리콘 영역 제한 등에 따라) 임의의 수의 레이어 파이프라인이 본 발명에 제공되어 사용될 수 있다는 것을 알 수 있을 것이다.
상기 디스플레이 프로세서(5)는 레이어 파이프라인(42, 43, 44)으로부터 입력을 수신할 수 있고, 예컨대 적절한 알파 블렌딩(alpha blending) 동작 등에 의해, 합성된 출력 표면을 생성하기 위해 그 수신된 입력 레이어들을 구성하도록 동작할 수 있는 합성 유닛(46; 디스플레이 합성기)을 더 포함한다.
상기 합성 유닛(46)으로부터의 합성된 출력 프레임들은 필요에 따라 디스플레이를 위한 디스플레이 처리(후-처리) 파이프라인(47) 및/또는 메모리 기록 서브-시스템(48)으로 전방으로 전송된다.
상기 디스플레이 처리 파이프라인(47)은 그 합성된 출력 표면(프레임) 상의 임의의 원하는 처리 동작을 선택적으로 수행하고, 이후 연관된 디스플레이 상에 적절한 디스플레이를 위해 (처리된) 합성된 출력 프레임을 전송하도록 구성된다.
상기 디스플레이 처리 파이프라인(47)은, 예를 들어 합성된 출력 프레임에 컬러 변환을 적용하도록 동작 가능한 컬러 변환 스테이지, 상기 합성된 출력 프레임에 디더링(dithering)을 적용하도록 동작 가능한 디더링 스테이지, 및/또는 상기 합성된 출력 프레임에 대해 감마 보정을 수행하도록 동작 가능한 감마 보정 스테이지를 포함할 수 있다.
또한, 상기 디스플레이 처리 파이프라인(47)은 적절한 디스플레이 타이밍 기능을 포함한다. 따라서, 상기 디스플레이 처리 파이프라인(47)은 적절한 수평 및 수직 블랭킹 기간에 따라 디스플레이 출력(49)들로 픽셀 데이터를 전송하도록 구성된다. 예를 들어, 비-블랭킹(non-blanking) 기간에 표명(assert)되는 DATAEN 신호와 함께 수평 및 수직 동기 펄스(HSYNC, VSYNC)가 생성될 수 있다. 블랭킹 기간 동안 DATAEN은 표명되지 않고 디스플레이에 데이터가 전송되지 않는다(4개의 블랭킹 기간이 있는데: 즉, 수평 전방 포치(front porch)-HSYNC 펄스 전, 수평 후방 포치- HSYNC 펄스 후, 수직 전방 포치-VSYNC 펄스 전, 및 수직 후방 포치-YSYNC 펄스).
원할 경우, MIPI DPI, HDMI, 디스플레이 포트 등과 같은 다른 디스플레이 타이밍 및 데이터(픽셀) 패킹(packing) 방식을 사용할 수도 있다.
상기 디스플레이 출력(49)은, 예컨대 데이터 처리 시스템(예컨대, 데이터 처리 시스템의 일부인 모바일 장치, 스마트 폰, 태블릿 등의)의 로컬 디스플레이와 인터페이스할 수 있다.
따라서, 상기 디스플레이 처리 파이프라인(47) 및 디스플레이 출력 제어 인터페이스(49)는 디스플레이(4)에 디스플레이를 위한 출력 프레임들을 제공하기 위한 디스플레이 프로세서(5)에 대한 출력 스테이지로서 동작한다.
상기 디스플레이 프로세서(5)의 메모리 기록 서브시스템(48)은, 예컨대 메모리 버스를 통해 외부 메모리(3; 외부 메모리(3)의 프레임 버퍼)에 수신되는 상기 합성 유닛(46)에 의해 생성된 표면을 쓰기 위해 동작할 수 있다. 이후, 이는 디스플레이 프로세서(5)가 디스플레이를 위한 출력 프레임들을 제공할 뿐만 아니라 원할 경우 메인 메모리에 이들의 출력 프레임을 기록하게 한다. 이러한 동작을 용이하게 하기 위해, 상기 메모리 기록 서브시스템(48)은 DMA 기록 제어기를 포함한다. 본 실시예에서, 그것은 또한 레이턴시 숨김 버퍼들로서 작용하도록 적절한 FIFO를 포함한다.
상기 디스플레이 프로세서(5)는 또한 데이터 흐름을 디스플레이 프로세서를 통해 지시하도록, 즉 입력 레이어, 합성된 출력 표면 등을 도 2에 나타낸 바와 같은 처리를 위해 적절한 유닛들에 제공하도록 동작 가능한 데이터 흐름 제어 모듈(45)을 포함한다. 바람직한 실시예에서, 그러한 데이터 흐름 제어기(45)는, 예컨대, 그리고 바람직하게 디스플레이 프로세서(5)가 일부인 전체 데이터 처리 시스템의 호스트 프로세서(예컨대, CPU(7)) 상에서 실행되는 디스플레이 제어기를 위한 드라이버(11)로부터 적절한 소프트웨어 제어 하에 동작한다. 상기 드라이버는, 예컨대 호스트 프로세서에서 실행되는 애플리케이션으로부터 수신된 디스플레이 처리를 위한 명령 및 데이터에 응답하여 디스플레이 프로세서(5)의 프로그램 제어 레지스터 및 데이터 흐름 제어기(45)에 대한 적절한 명령을 생성할 수 있다.
물론, 이와 관련한 다른 배열이 가능할 수 있다.
상기 기술한 바와 같이, 상기 디스플레이 프로세서(5)가 디스플레이를 위한 출력 프레임을 제공할 때, 예컨대, 비디오 코덱(1) 및/또는 GPU(2)에 의해 생성되고 메인 메모리(3) 내의 각각의 프레임 버퍼에 저장된 하나 이상의 입력 표면들(프레임들)의 데이터를 독출하여, 그 출력 프레임 생성 프로세스에서 입력 레이어로서 작용하고, 해당 입력 표면(프레임) 데이터를 처리하고(예컨대, 그것을 출력 프레임에 합성함으로써), 그 (합성된) 출력 프레임을 디스플레이 처리 파이프라인(47)을 통해 디스플레이를 위해 디스플레이(4)에 제공한다.
이러한 프로세스는, 예컨대 컬러 필드 순차 디스플레이에 대해 초 당 60, 90, 120 또는 240 프레임과 같은 디스플레이(4)를 위한 원하는 프레임 레이트에 대응하는 레이트로 디스플레이되어야 하는 각 프레임에서 반복한다.
도 2에 나타낸 바와 같이, 본 실시예들의 디스플레이 프로세서(5)는 연관된 입력 버퍼(51) 및 연관된 출력 버퍼(52)를 갖는 변환 엔진(50)을 더 포함한다. 그러한 변환 엔진(50)은 이후 상기 출력 버퍼(52)를 통해 디스플레이를 위한 디스플레이에 제공되는 적절히 시야 방향 변환된 버전의 해당 입력 표면(프레임)을 제공하기 위해 상기 입력 버퍼(51)를 통해 수신되는 입력 표면(프레임)을 변환하도록 동작 가능하다.
요구된 입력 표면(프레임) 데이터는 메인 메모리로부터 입력 표면에 대한 적절한 데이터를 독출하고 이를 입력 버퍼(51)에 대한 데이터 흐름 제어 모듈(45)에 의한 제공을 위해 레이어 파이프라인에 제공하도록 메모리 독출 서브시스템(41)에 의해 제어하는 드라이버에 의해 입력 버퍼(51)에 로딩된다.
도 2에 나타낸 바와 같이, 데이터 흐름 제어 모듈(45)은 레이어 파이라인(42, 43 및/또는 44)에 의해 처리된 입력 표면 데이터를 변환 엔진(50)에 의한 처리를 위해 입력 버퍼(51)로 적절히 지향시키고, 이후 데이터를 출력 버퍼(52)에서 합성 유닛(46)으로 적절히 지향시킨 다음, 디스플레이를 위해 디스플레이 처리 파이프라인(47)으로 지향시키도록 동작 가능하다. 이는 다시 드라이버에 의해 적절히 제어되고 구성될 수 있다.
또한, 상기 데이터 흐름 제어 모듈(45)은, 원할 경우, 그 변환된 프레임을 외부 메모리에 기록하기 위해 메모리 기록 서브시스템(48)으로 지향시킬 수 있다. 이는 디스플레이를 위한 후속 프레임이 이전 프레임과의 차이에 기초하여 생성되는 경우에 적합할 수 있다.
상기 입력 버퍼(51) 및 출력 버퍼(52)가 도 2에서 별개의 버퍼로 나타나 있지만, 이들 버퍼는, 예를 들어, 레이어 파이프라인에 존재할 수 있는 버퍼들과 같이, 원할 경우, 디스플레이 프로세서(5)에 존재할 수 있는 다른 버퍼들을 통해 제공될 수도 있다.
도 2에 나타낸 바와 같이, 상기 변환 엔진(50)은 또한 변환 프로세스에 대한 적절한 제어 파라미터가, 예컨대, 그리고 바람직하게 드라이버(11)의 제어 하에 설정될 수 있는 연관된 제어 레지스터 세트(53)를 갖는다. 도 2에 나타낸 바와 같이, 레지스터는, 특히 디스플레이 프로세서를 위한 드라이버에 의해 설정된 시야 방향 변환 파라미터들을 수신 및 저장한다. 예를 들어, 렌즈 및/또는 헤드-장착형 디스플레이의 임의의 다른 구성 파라미터를 나타내는 다른 제어 파라미터들이 변환 엔진(50)의 동작을 제어하도록 레지스터(53)에 저장될 수도 있다.
물론, 다른 배열이 가능할 수 있다.
도 3은 도 2에 나타낸 디스플레이 프로세서의 변환 엔진(50)을 좀더 상세히 나타낸다.
도 3에 나타낸 바와 같이, 상기 디스플레이 프로세서의 변환 엔진(50)은 다수의 스테이지, 즉 좌표 인터폴레이터(coordinate interpolator) 스테이지(60), 색수차 보정 스테이지(61), 시야 방향 변환 스테이지(62) 및 보간 스테이지(63)를 포함한다. 각각의 이들 스테이지는, 본 실시예들에서, 수신하는 입력 데이터에 대해 특정 처리 동작을 수행하도록 구성된 고정-기능 하드웨어 모듈(처리 회로)의 형태로 구현되지만, 각각의 모듈에 대한 특정 제어 파라미터들을 변경하는 기능으로 인해 일부 제한적인 구성 가능성도 있다. 본 실시예들에서, 상기 제어 파라미터들은, 시스템이 사용되는 특정 헤드셋(4; 디스플레이)에 기초하여, 시퀀스의 프레임이 디스플레이될 때 디스플레이 프로세서(5)를 위한 드라이버(11)에 의해 설정된다.
물론, 다른 배열이 가능할 수 있다.
좌표 인터폴레이터 스테이지(60)는, 디스플레이(4)의 디스플레이 패널 상에 디스플레이되어 헤드-장착형 디스플레이의 렌즈를 통해 보여질 때 출력 변환된 프레임에 도입될 렌즈 왜곡에 대응하는 규정된 렌즈 왜곡에 기초하여, 변환 엔진으로부터 출력될 출력 변환 표면에서의 샘플링 위치(x, y), 및 입력 프레임(사용자에게 디스플레이될 메모리(3)에 저장된 GPU(2)에 의해 렌더링된 프레임)에서의 대응 위치(좌표)(x', y')를 결정하도록 동작한다.
상기 좌표 인터폴레이터 스테이지(60)는, 예를 들어, 이러한 목적을 위해, 예컨대 디스플레이 프로세서를 위한 드라이버에 의해 제어 파라미터에 의해 설정 가능한 타원체의 초점과 같은 그러한 함수의 파라미터들에 의해 임의 형태의 3차 곡선 또는 타원체 함수를 실행할 수 있다.
상기 색수차 보정 스테이지(61)는 인터폴레이터 스테이지(60)에 의해 결정된 입력 표면 위치(좌표)(x', y')를 취하여 헤드-장착형 디스플레이(4)의 렌즈에 의해 도입될 색수차들을 고려하여 이들 좌표를 "보정"한다.
도 3에 나타낸 바와 같이, 각각의 개별 색수차 보정이 각각의 컬러 평면(R, G, B)에 대해 수행된다. 녹색 컬러 평면 색수차가 알파(투명) 평면에도 사용된다.
따라서, 이러한 색수차 보정 스테이지(61)의 출력은 3개 세트의 변경된 입력 프레임 위치(좌표), 입력 프레임에서 적색 평면을 샘플링하는데 사용되는 1개의 세트 xR ', yR ', 입력 프레임에서 녹색 및 알파(투명) 평면을 샘플링하기 위한 1개의 세트 xG ', yG ', 및 입력 프레임에서 청색 평면을 샘플링하기 위한 1개의 세트 xB ', yB '이다.
다음에, 상기 색수차 보정 스테이지(61)에 의해 결정된 변경된 입력 프레임 위치들은 상기 시야 방향 변환 스테이지(62)에 제공된다.
이러한 스테이지는, 입력 프레임이 디스플레이(4) 상의 디스플레이로부터 보여지는 것처럼 렌더링될 예측된 시야 방향에 대응하는 변환 파라미터 세트를 그 입력으로서 취하고, 그 예측된 시야 방향(에 대응하는)에 기초하여 입력 프레임의 투영을 생성하도록 동작한다(자세한 내용은 아래에서 설명한다).
따라서, 상기 시야 방향 변환 스테이지(62)는 현재 생성되는 출력 변환된 프레임 샘플링(데이터 요소) 위치(x, y)에 사용될 컬러 값들을 유도하기 위해 이후 입력 프레임을 샘플링하는데 사용될 시야 방향 변환된 입력 프레임 위치(xR ", yR "), (xG ", yG "), (xB", yB ")를 제공하기 위해 색수차 보정 스테이지에 의해 제공된 각각의 입력 프레임 위치에 대한 추가 변환을 수행한다.
시야 방향 변환 스테이지(62)가 각각의 입력 프레임 위치에서 수행하는 변환은, 예를 들어 2D 평면(이미지)의 3D 회전(원근 변환/2D 호모그래피)을 포함할 수 있다. 다시, 이는 변환 스테이지(62)에 대한 드라이버 설정 제어 파라미터에 의해 적절하게 조정될 수 있다.
상기 시야 방향 변환 스테이지(62)에 의해 결정된 변환된 입력 프레임 위치는 보간 스테이지(63)에 제공되고, 그러한 보간 스테이지(63)는 지시된 위치에서 입력 프레임을 샘플링하여 각각의 입력 프레임 위치에서 입력 프레임 값을 결정한다. 이는 규정된 입력 프레임 샘플링(데이터 요소) 위치에 대한 입력 프레임 값의 적절한 보간에 의해 수행된다.
그러한 입력 프레임 샘플링 위치 데이터의 보간은 임의의 적절하고 바람직한 방식으로 수행될 수 있다. 본 실시예들에서, 이중선형 보간이 사용되지만, 원할 경우 다른 배열이 사용될 수 있다.
상이한 컬러 평면들에 대해 상이한 입력 프레임 위치들(좌표들)이 결정됨에 따라, 본 실시예들에서, 데이터의 개별 세트가 각 컬러 평면에 대한 출력 변환된 프레임 샘플링 위치(데이터 요소)에 대해 보간된다(그 컬러 평면에 대해 결정된 입력 프레임 위치에 기초하여). 따라서, 출력 변환된 프레임 샘플링 위치(데이터 요소)에 대한 RGB 컬러 데이터 세트는 결정된 "적색" 입력 프레임 위치(좌표)(xR ", yR ")로부터 결정된 적색 값, 결정된 "녹색" 입력 프레임 위치(좌표)(xG ", yG ")로부터 결정된 녹색 값 및 결정된 "청색" 입력 프레임 위치(좌표)(xB ", yB ")로부터 결정된 청색 값을 포함할 것이다.
다음에, 알파(투명) 값이 또한 결정되어야 하는 경우, 상술한 바와 같이, 녹색 값을 결정하기 위해 사용되는 입력 프레임 위치(좌표)로부터 결정한다.
다음에, 그러한 보간된 값은 사용자에게 디스플레이를 위해 상기 디스플레이(4)에 제공하기 위해 디스플레이 프로세서의 디스플레이 처리 파이프라인의 나머지에 제공하도록 도 3에 나타낸 바와 같이 출력 버퍼(FIFO)(52)로 출력된다.
도 3에 나타낸 바와 같이, 적절한 입력 프레임 데이터가 상기 보간 스테이지(63)에 이용 가능하도록, 상기 시야 방향 변환 스테이지(62)에 의해 결정된(그리고 상기 보간 스테이지(63)에 의해 샘플링되는) 변환된 입력 표면 위치들은 이들이 상기 보간 스테이지(63)에 의해 사용되기 전에 입력 버퍼(51)로 이들 샘플링 위치를 포함하는 입력 프레임의 적절한 영역의 페치를 제어하기 위해 65를 사용한다.
이를 위해, 상기 시야 방향 변환 스테이지(62)에 의해 결정된 그러한 입력 프레임 위치의 정수 부분은 요구된 입력 프레임 데이터를 포함하는 입력 프레임의 적절한 2차원 블록들을 식별하는데 사용된다. 그 다음, 상기 입력 스테이지는 이들 각각의 입력 프레임 블록을 입력 버퍼(51)에 로딩하도록 동작한다.
또한 도 3에 나타낸 바와 같이, 상기 보간 스테이지(63)에 의한 사용을 위해 입력 버퍼(51) 내로 입력 프레임 데이터를 요청하는 것과, 출력 변환된 프레임 샘플링 위치를 제공하기 위해 그 데이터를 상기 보간 스테이지(63)가 처리하는 것 사이의 레이턴시를 허용하기 위해, 변환 스테이지에 포함된 적절한 지연(레이턴시-흡수) 메카니즘(64)이 있을 수 있다. 이는 원하는데로 구현될 수 있다.
도 3에 나타낸 바와 같이, 상기 변환 엔진(50)의 동작이 상기 디스플레이(4)로부터의 적절한 동기화 신호(65)의 수신에 의해 활성되고, 타이밍 제어된다.
도 4는 도 3에 나타낸 변환 엔진(50)의 동작을 나타내는 흐름도이다.
도 4는 디스플레이를 위해 생성될 출력 변환된 프레임에서의 각각의 픽셀(데이터) 위치에 대한 동작을 나타낸다. 이러한 동작은 요구되는 각각의 출력 변환된 프레임 픽셀(데이터 위치)에 대해 반복된다.
도 4에 나타낸 바와 같이, 그러한 프로세스는 디스플레이를 위한 새로운 출력 프레임의 시작을 나타내는 적절한 동기화 신호(120)에 의해 시작한다.
이후, 다음에 생성될 원하는 출력 변환된 프레임 픽셀 좌표가 결정된다(단계 121).
그 다음, 상기 좌표 인터폴레이터 스테이지(60)는 상기 디스플레이(4)의 디스플레이 패널 상에 디스플레이되어 헤드-장착형 디스플레이의 렌즈를 통해 볼 때 출력 변환된 프레임에 도입될 렌즈 왜곡에 대응하는 규정된 렌즈 왜곡에 기초하여 입력 프레임에서(사용자에게 디스플레이될 상기 메모리(3)에 저장된 GPU(2)에 의해 렌더링된 프레임에서) 픽셀(샘플링) 위치(x0, y0)를 결정하도록 동작한다(단계 122).
그 다음, 상기 색수차 보정 스테이지(61)는 단계 122에서 상기 좌표 인터폴레이터 스테이지(60)에 의해 결정된 입력 프레임 위치(좌표)(xi, yi)를 취하고, 3개 세트의 변경된 입력 프레임 위치(좌표) xr, yr; xga, yga; xb, yb를 제공하기 위해, 상기 디스플레이(4)의 렌즈에 의해 도입될 색수차를 고려하여 이들 좌표를 "보정"한다(단계 123).
그 다음, 단계 123에서 상기 색수차 보정 스테이지(61)에 의해 결정된 변경된 입력 프레임 위치들은 세트의 예측된 시야 방향 변환된 입력 프레임 위치 (x'r, y'r), (x'ga, y'ga), (x'b, y'b)를 제공하기 위해 원하는 예측된 시야 방향에 대응하는 현재 입력 세트의 파라미터들에 기초하여 상기 변환 스테이지(62)에 의해 "시야 방향" 좌표 재투영(보정)을 거친다(단계 124).
그렇게 결정된 입력 프레임 위치들은 이 결정된 입력 프레임 위치들에 대한 데이터 값들이 상기 보간 스테이지(63)에 의해 결정될 수 있게 하기 위해 입력 버퍼에 필요한 입력 프레임 샘플링 위치 데이터를 포함하는 입력 프레임의 적절한 블록들의 페치를 요청하는데 사용된다. 이는 각각의 결정된 입력 프레임 위치의 정수 부분을 사용하여 요청될 입력 프레임 블록들을 식별한다. 그 다음, 그러한 식별된 입력 프레임 블록들을 페치하여 입력 버퍼에 저장한다(단계 126).
그 다음, 상기 보간 스테이지는 입력 버퍼에 저장된 입력 프레임 블록들로부터 적절한 입력 프레임 데이터 위치들을 독출하고 의문의 출력 프레임 픽셀(샘플링 위치)(x0, y0)에 대한 적절한 데이터 값들을 보간한다(단계 127).
그 다음, 그렇게 생성된 출력 픽셀들은 디스플레이 합성 유닛에 대한 후속의 제공(및 그에 의한 소비) 및 디스플레이를 위한 디스플레이에 제공을 위해 출력 버퍼에 수집된다(단계 128).
도 3 및 4에 나타낸 바와 같이, 상기 디스플레이 프로세서(5)의 변환 엔진은 출력 변환된 프레임 기준(각 샘플링 위치 별)(픽셀 별)으로 샘플링 위치들(픽셀들)의 시퀀스로서 사용자에게 디스플레이될 출력 변환된 프레임을 생성한다. 본 실시예들에서, 상기 변환 엔진은 출력 변환된 프레임 래스터 라인 별(예컨대, 출력 변환된 프레임이 디스플레이를 위해 디스플레이(4)에 제공될 필요가 있는 순서에 따라) 생성하도록 구성된다.
본 실시예들은, 특히 예측된 시야 방향에 대해 변환될 프레임들을 디스플레이(4) 상에 디스플레이할 때 데이터 처리 시스템의 동작에 관한 것으로, 이 경우 디스플레이는, 예를 들어 증강 현실 또는 가상 현실 애플리케이션을 위해 사용자에게 프레임들을 디스플레이하기 위해 사용된다.
본 실시예들에서, 상기 필드 순차 디스플레이(4) 상에 예측된 시야 방향에 대해 변환될 프레임들을 디스플레이할 때, 프레임에 대한 개별 컬러 필드는 각각의 컬러 필드가 디스플레이될 시간에 대응하는 그들 자신의 개별적인 그리고 각각의 예측된 시야 방향에 기초하여 각각 변환(재-투영)된다. 이는 해당 특정 컬러 필드에 대한 예측된 시야 방향에 기초하여 프레임에 대한 각각의 컬러 필드를 변환하는(재-투영하는) 디스플레이 프로세서(5)의 변환 엔진에 의해 행해진다.
컬러 필드에 대한 예측된 시야 방향(및 변환 엔진이 그 예측된 시야 방향에 기초하여 컬러 필드를 변환하게 하는 파라미터들)은 본 실시예에서 CPU(7) 상에서 실행되는 예측된 시야 방향 결정 엔진(15)에 의해 결정된다. 이러한 예측된 시야 방향 결정 엔진은 디스플레이에 대한 최근 감지된 시야 방향(회전 및 위치), 디스플레이되는 프레임이 생성된 시간, 의문의 컬러 필드의 타겟 디스플레이 시간(즉, 그 컬러 필드가 디스플레이될 시간), 및 사용자의 현재 헤드 움직임의 추정(사용자의 이전 헤드 움직임의 추적에 기초한)을 이용하여, 컬러 필드(그리고 각각의)에 대한 예측된 시야 방향을 결정할 수 있다.
본 실시예들에서, 그러한 예측된 시야 방향은, 예컨대 각 프레임 및/또는 컬러 필드의 시작에서, 또는 원할 경우 의문의 프레임/필드(그러한 컬러 필드가 디스플레이 프로세서에서 개별적으로 처리되는 경우) 내의 간격과 같이 더 빈번하게 결정될 수 있다.
도 8 및 9는 프레임에 대한 각각의 컬러 필드가 그들 자신의 예측된 시야 방향에 기초하여 그들 자신의 변환(재-투영)을 거치는 제1실시예를 나타낸다.
이러한 실시예에서, 상기 디스플레이 프로세서는 그러한 컬러 필드들을 함께 처리하며, 그 다음 상기 각각의 컬러 필드는 디스플레이 자체에서 디스플레이(4)의 디스플레이 패널에 제공하기 위해 분리된다.
도 8은 이후 디스플레이 프로세서(5)에 의해 처리하기 위해 메모리(3)에 저장되는 각각의 프레임(160, 161)을 생성하는 그래픽 프로세서(2)를 기술하고 나타낸다. 이러한 예에서, 상기 디스플레이 프로세서(5)는, 예컨대 이후 디스플레이 전송기(163)를 통해 디스플레이(4)로(그 디스플레이(4)의 수신기(164)로) 전송되는 디스플레이를 위한 합성된 프레임(162)을 제공하기 위해 2개의 프레임(160, 161)을 합성할 것으로 가정한다(도 8에 나타낸 바와 같이, 상기 디스플레이(4)는 디스플레이 프로세서(5; 및 디스플레이 전송기(163))에 대한 유선 또는 무선 링크를 가질 수 있다).
이러한 실시예에서, 도 8에 나타낸 바와 같이, 디스플레이될 출력 프레임(162)이 조합된(인터리빙된) RGB 데이터로서 제공되기 때문에, 그 프레임 데이터는 먼저 각각의 개별 컬러 필드의 시퀀스로서 디스플레이를 위한 디스플레이 패널(168)에 제공하기 위해 디스플레이 드라이버 회로(167)에 의해 각각의 컬러 필드로 분리될 수 있도록 상기 디스플레이(4)의 온-칩 프레임 버퍼(165)에 저장된다.
상기 기술한 바와 같이, 이러한 실시예에서, 그 처리의 일부로서, 상기 디스플레이 프로세서는 예측된 시야 방향에 기초하여 개별적으로 각각의 컬러 평면을 재-투영한다(즉, 의문의 특정 컬러 평면에 대한 예측된 시야 방향을 각각 이용하여).
이는 디스플레이 프로세서(5)의 변환 엔진(50)에 의해 행해진다.
도 9는 이러한 프로세스를 기술하며, 일반적으로 도 3에 나타낸 변환 엔진 배열에 대응한다.
따라서, 도 9는, 각각의 컬러 필드 Cr, Cg, Cb(183)에 대한 광학적으로 보정된 픽셀 좌표 세트를 제공하기 위해, 적절한 컬러 별 렌즈 파라미터(182; 디스플레이가 보여지는 렌즈 시스템에 기초하여 설정될)에 기초하여, 각각의 디스플레이 픽셀 좌표에 적절한 광학 보정(181; 도 3에 나타낸 렌즈 왜곡 보정 및 색수차 보정에 대응하는)을 적용하는 것을 나타낸다.
그 다음, 그러한 각각의 광학적으로 보정된 픽셀 좌표(183)들은 각각의 개별 컬러 필드에 대해 각각의 개별 컬러 평면, 적절하게 변환된 샘플링 좌표 Tr, Tg, Tb(185)를 주기 위해 도 9에 나타낸 바와 같이 각각의 컬러 별 평면 변환 Pr, Pg, Pb(184)에 개별적으로 처리된다.
이들 컬러 별 평면(필드) 변환들은 의문의 컬러 필드가 디스플레이 패널(168) 상에 디스플레이될 각각의 시간에 기초하여 예측되는 각 필드에 대한 각각의 개별 예측된 시야 방향 변환 Pr, Pg, Pb(186)을 사용한다.
그 다음, 그렇게 변환된(재-투영된) 픽셀 좌표들은 디스플레이될 입력 이미지(188; 프레임)에 사용되며, 이후 샘플링된 픽셀들은 합성 및 다른 이미지 처리(189)와 같은 디스플레이 프로세서 처리의 적절한 다른 처리 스테이지에 제공된다.
그 다음, 그렇게 변환 및 재-투영된 픽셀들은 디스플레이 픽셀 출력(190)에 적절히 제공된다.
도 10 및 11은 제2실시예를 나타낸다.
이러한 실시예에서, 도 10에 나타낸 바와 같이, 그들 각각의 컬러 필드(즉, 3개의 단일 컬러 평면 이미지로서)로 이미 분리된 디스플레이될 프레임(170, 171)들은 그래픽 프로세서(2)에 의해 디스플레이 프로세서(5)에 제공된다. 이는, 본 실시예에서 그래픽 프로세서(2)가 메모리(3)에서 생성하는 프레임을 개별 컬러 평면의 형태로 저장함으로써 달성된다.
그 다음, 디스플레이 프로세서(5)가 3개의 컬러 평면을 개별적으로 처리하여, 디스플레이될 프레임에 대한 3개의 개별 컬러 평면(172)을 디스플레이(4)에 대한 출력으로 제공한다. 이러한 경우, 도 10에 나타낸 바와 같이, 상기 디스플레이(4)에 제공된 프레임들이 개별 컬러 평면(172)의 형태로 제공됨에 따라, 상기 디스플레이(4) 자체에서 컬러 평면 분리를 수행할 필요는 없지만, 오히려 그 수신된 데이터는 수신됨에 따라 디스플레이 패널(168)에 대한 디스플레이 드라이버 회로(167)에 의해 직접 스캔될 수 있다. 그 결과, 예를 들어 디스플레이(4) 상에 온-칩 프레임 버퍼(165)를 포함할 필요가 없어진다.
도 11은 이러한 실시예에서 디스플레이 프로세서에서 수행된 대응하는 컬러 필드 재-투영(변환)을 나타낸다.
이러한 경우, 디스플레이 프로세서는 주어진 컬러 평면으로부터 3개의 픽셀을 동시에 변환하도록 구성된다(도 9에 나타낸 바와 같이, 단일의 픽셀로부터 3개의 상이한 컬러 값들을 동시에 처리하는 것이 아니라).
따라서, 이러한 경우, 도 11에 나타낸 바와 같이, 주어진 디스플레이 픽셀 좌표(Di,j)에 대해, 디스플레이 처리 파이프라인의 광학 보정 스테이지(181)는 현재 처리되는 단일 컬러 평면 내의 3개의 각각의 광학적으로 보정된 픽셀 위치를 출력(200)으로서 제공하도록 동작한다.
이는 출력 디스플레이 픽셀 좌표에 대응하는 하나의 광학적으로 보정된 픽셀 위치, 특정 축 방향에 따른(이 경우 디스플레이 픽셀의 행 좌표에 따른) 다음 디스플레이 픽셀 좌표에 대응하는 입력 컬러 평면 내의 광학적으로 보정된 픽셀 위치, 및 의문의 축 방향(이 경우에는 행)에 따른 다음이지만 하나의 디스플레이 픽셀 좌표에 대한 입력 컬러 평면 내의 광학적으로 보정된 픽셀 위치를 생성함으로써 달성된다.
또한, 도 11에 나타낸 바와 같이, 그러한 변환 동작에 사용되는 디스플레이 픽셀 좌표들은 또한 3개의 연속의 디스플레이 픽셀 좌표의 그룹에 대응하는 입력 컬러 평면 픽셀 좌표의 선택 및 생성을 활성화하도록 대응적으로 구성된다.
그 다음, 의문의 컬러 필드로부터 샘플링하기 위해 3개의 예측된 시야 방향 재-투영 픽셀 위치(201)를 제공하도록, 광학적으로 보정된 픽셀 위치(200)는 의문의 컬러 필드에 대한 적절한 예측된 시야 방향 변환 Pf(186)를 거친다(184).
다음에, 이미지 샘플링 프로세스(187)는 의문의 입력 컬러 평면(188) 내의 적절한 픽셀 위치들을 샘플링하고, 적절히 처리되어 디스플레이(190)에 제공되는 이후의 합성 및 이미지 처리 스테이지(189)에 이들 픽셀 값을 제공한다.
본 발명은, 바람직한 실시예들에서, 헤드-장착형 필드 순차 컬러 디스플레이들을 사용할 때 좀더 효과적인 동작을 제공할 수 있는 배열을 적어도 제공한다는 것을 상기로부터 알 수 있다.
상기로부터, 본 발명은 적어도 바람직한 실시예에서, 헤드-장착형 필드 순차 컬러 디스플레이를 사용할 때 좀더 효율적인 동작을 제공할 수 있는 배열(장치)을 제공한다는 것을 알 수 있다. 이는, 적어도 본 발명의 바람직한 실시예에서, 그들 자신의 각 개별의 예측된 시야 방향에 기초하여 디스플레이 상에 디스플레이될 개별 컬러 필드를 변환함으로써, 그리고/또 그들 각각의 컬러 필드로 이미 분리된 디스플레이에 디스플레이될 프레임을 제공함으로써 달성될 수 있다.

Claims (22)

  1. 데이터 처리 시스템을 동작시키는 방법으로서, 상기 데이터 처리 시스템은:
    디스플레이를 위한 프레임을 디스플레이하도록 동작 가능한 필드 순차 컬러 디스플레이;
    상기 디스플레이 상에 디스플레이를 위한 프레임을 생성하도록 동작 가능한 생성기 처리 유닛;
    상기 생성기 처리 유닛에 의해 생성된 프레임을 디스플레이를 위한 상기 디스플레이에 제공하도록 동작 가능한 디스플레이 프로세서; 및
    상기 디스플레이 상에 디스플레이를 위한 시야 방향 변환된 프레임을 제공하기 위해 시야 방향에 기초하여 상기 생성기 처리 유닛에 의해 생성된 프레임을 변환하도록 동작 가능한 변환 엔진을 포함하며,
    상기 방법은:
    예측된 시야 방향에 기초하여 변환될 상기 생성기 처리 유닛에 의해 생성된 프레임을 상기 필드 순차 컬러 디스플레이 상에 디스플레이할 때;
    상기 변환 엔진은 특정 컬러 필드에 대한 예측된 시야 방향에 기초하여 프레임을 위한 디스플레이 상에 디스플레이될 각각의 컬러 필드를 변환하여, 각각의 컬러 필드가 상기 프레임에 대한 다른 컬러 필드로의 상이한 시야 방향 변환을 거치게 하고; 그리고
    상기 프레임을 디스플레이하기 위해 디스플레이 상에 상기 변환된 컬러 필드를 순차적으로 디스플레이하는 단계를 포함하는, 데이터 처리 시스템을 동작시키는 방법.
  2. 제 1항에 있어서,
    상기 생성기 처리 유닛은 그래픽 처리 유닛인, 데이터 처리 시스템을 동작시키는 방법.
  3. 제 1항 또는 제 2항에 있어서,
    컬러 필드에 대한 예측된 시야 방향은 디스플레이에 대한 감지된 시야 방향 및 컬러 필드가 디스플레이 상에 디스플레이되는 시간에 기초하는, 데이터 처리 시스템을 동작시키는 방법.
  4. 제 1항 또는 제 2항에 있어서,
    디스플레이되는 각 프레임에 대한 3개의 컬러 필드만을 디스플레이하는 단계를 포함하는, 데이터 처리 시스템을 동작시키는 방법.
  5. 제 1항 또는 제 2항에 있어서,
    변환 엔진은 디스플레이 프로세서에 제공되며, 예측된 시야 방향에 기초한 변환은 디스플레이에 제공하기 위한 프레임을 처리할 때 디스플레이 프로세서에 의해 수행되는 처리의 일부로서 수행되는, 데이터 처리 시스템을 동작시키는 방법.
  6. 제 1항 또는 제 2항에 있어서,
    특정 컬러 필드에 대한 예측된 시야 방향, 및 색수차 보정과 렌즈 왜곡 보정의 하나 이상의 모두에 기초하여 프레임을 위한 디스플레이 상에 디스플레이될 각각의 컬러 필드를 변환시키는 변환 엔진을 포함하는, 데이터 처리 시스템을 동작시키는 방법.
  7. 제 1항 또는 제 2항에 있어서,
    각각의 개별 컬러 필드로 이미 분리된 디스플레이를 위한 디스플레이에 프레임에 대한 데이터를 제공하는 디스플레이 프로세서를 포함하는, 데이터 처리 시스템을 동작시키는 방법.
  8. 제 7항에 있어서,
    개별 컬러 평면의 형태로 디스플레이 프로세서에 의해 처리하기 위한 프레임을 제공하는 생성기 처리 유닛; 및
    개별적으로 상기 생성기 처리 유닛에 의해 제공된 각각의 컬러 평면을 처리하고, 디스플레이를 위한 디스플레이에 상기 개별 컬러 평면을 개별 컬러 평면으로서 제공하는 디스플레이 프로세서를 포함하는, 데이터 처리 시스템을 동작시키는 방법.
  9. 데이터 처리 시스템을 동작시키는 방법으로서, 상기 데이터 처리 시스템은:
    디스플레이를 위한 프레임을 디스플레이하도록 동작 가능한 필드 순차 컬러 디스플레이;
    상기 디스플레이 상에 디스플레이를 위한 프레임을 생성하도록 동작 가능한 생성기 처리 유닛; 및
    상기 생성기 처리 유닛에 의해 생성된 프레임을 디스플레이를 위한 상기 디스플레이에 제공하도록 동작 가능한 디스플레이 프로세서를 포함하며,
    상기 방법은:
    상기 생성기 처리 유닛에 의해 생성된 프레임을 상기 필드 순차 컬러 디스플레이 상에 디스플레이할 때;
    개별 컬러 평면의 형태로 디스플레이 프로세서에 의해 처리하기 위한 프레임을 제공하는 생성기 처리 유닛;
    개별적으로 상기 생성기 처리 유닛에 의해 제공된 각각의 컬러 평면을 처리하고, 디스플레이를 위한 디스플레이에 상기 개별 컬러 평면을 개별 컬러 평면으로서 제공하는 디스플레이 프로세서; 및
    프레임을 위한 개별 컬러 평면을 디스플레이하는 디스플레이를 포함하는, 데이터 처리 시스템을 동작시키는 방법.
  10. 제 7항에 있어서,
    변환 엔진이, 예측된 시야 방향에 기초하여 디스플레이될 프레임을 위한 컬러 평면을 변환할 때;
    출력될 출력 변환된 프레임에서의 데이터 요소 위치에 기초하여, 상기 출력 변환된 프레임에서의 상기 데이터 요소 위치에 대한 상기 컬러 평면에서의 대응하는 위치, 및 상기 출력 변환된 프레임에서의 2개의 다른 데이터 요소 위치에 대응하는 입력 컬러 평면에서의 2개의 다른 위치를 결정하는 단계; 및
    상기 출력 변환된 프레임의 3개의 데이터 요소 위치에 대해 사용할 데이터를 제공하도록 샘플링될 컬러 평면에서 3개의 출력 위치를 제공하기 위해 예측된 시야 방향에 기초하여 3개의 결정된 컬러 평면 위치를 변경하는 단계를 포함하는, 데이터 처리 시스템을 동작시키는 방법.
  11. 데이터 처리 시스템으로서, 상기 데이터 처리 시스템은:
    디스플레이를 위한 프레임을 디스플레이하도록 동작 가능한 필드 순차 컬러 디스플레이;
    상기 디스플레이 상에 디스플레이를 위한 프레임을 생성하도록 동작 가능한 생성기 처리 유닛;
    상기 생성기 처리 유닛에 의해 생성된 프레임을 디스플레이를 위한 상기 디스플레이에 제공하도록 동작 가능한 디스플레이 프로세서; 및
    상기 디스플레이 상에 디스플레이를 위한 시야 방향 변환된 프레임을 제공하기 위해 시야 방향에 기초하여 상기 생성기 처리 유닛에 의해 생성된 프레임을 변환하도록 동작 가능한 변환 엔진을 포함하며,
    상기 변환 엔진은:
    예측된 시야 방향에 기초하여 변환될 상기 생성기 처리 유닛에 의해 생성된 프레임을 상기 필드 순차 컬러 디스플레이 상에 디스플레이할 경우:
    특정 컬러 필드에 대한 예측된 시야 방향에 기초하여 프레임을 위한 디스플레이 상에 디스플레이될 각각의 컬러 필드를 변환하여, 각각의 컬러 필드가 상기 프레임에 대한 다른 컬러 필드로의 상이한 시야 방향 변환을 거치게 하도록 구성되며;
    상기 데이터 처리 시스템은:
    상기 프레임을 디스플레이하기 위해 디스플레이 상에 상기 변환된 컬러 필드를 순차적으로 디스플레이하도록 더 구성되는, 데이터 처리 시스템.
  12. 제 11항에 있어서,
    상기 생성기 처리 유닛은 그래픽 처리 유닛인, 데이터 처리 시스템.
  13. 제 11항 또는 제 12항에 있어서,
    컬러 필드에 대한 예측된 시야 방향은 디스플레이에 대한 감지된 시야 방향 및 컬러 필드가 디스플레이 상에 디스플레이되는 시간에 기초하는, 데이터 처리 시스템.
  14. 제 11항 또는 제 12항에 있어서,
    상기 데이터 처리 시스템은 디스플레이되는 각 프레임에 대한 3개의 컬러 필드만을 디스플레이하도록 구성되는, 데이터 처리 시스템.
  15. 제 11항 또는 제 12항에 있어서,
    변환 엔진은 디스플레이 프로세서에 제공되며, 예측된 시야 방향에 기초한 변환은 디스플레이에 제공하기 위한 프레임을 처리할 때 상기 디스플레이 프로세서에 의해 수행되는 처리의 일부로서 수행되는, 데이터 처리 시스템.
  16. 제 11항 또는 제 12항에 있어서,
    변환 엔진은 특정 컬러 필드에 대한 예측된 시야 방향, 및 색수차 보정과 렌즈 왜곡 보정의 하나 이상의 모두에 기초하여 프레임을 위한 디스플레이 상에 디스플레이될 각각의 컬러 필드를 변환하도록 구성되는, 데이터 처리 시스템.
  17. 제 11항 또는 제 12항에 있어서,
    디스플레이 프로세서는 각각의 개별 컬러 평면으로 이미 분리된 디스플레이를 위한 디스플레이에 프레임에 대한 데이터를 제공하도록 구성되는, 데이터 처리 시스템.
  18. 제 17항에 있어서,
    생성기 처리 유닛은 개별 컬러 평면의 형태로 디스플레이 프로세서에 의해 처리하기 위한 프레임을 제공하도록 구성되고;
    디스플레이 프로세서는 개별적으로 상기 생성기 처리 유닛에 의해 제공된 각각의 컬러 평면을 처리하고, 디스플레이를 위한 디스플레이에 상기 개별 컬러 평면을 개별 컬러 평면으로서 제공하도록 구성되는, 데이터 처리 시스템.
  19. 데이터 처리 시스템으로서, 상기 데이터 처리 시스템은:
    디스플레이를 위한 프레임을 디스플레이하도록 동작 가능한 필드 순차 컬러 디스플레이;
    상기 디스플레이 상에 디스플레이를 위한 프레임을 생성하도록 동작 가능한 생성기 처리 유닛; 및
    상기 생성기 처리 유닛에 의해 생성된 프레임을 디스플레이를 위한 상기 디스플레이에 제공하도록 동작 가능한 디스플레이 프로세서를 포함하며,
    여기서:
    상기 생성기 처리 유닛은, 상기 필드 순차 컬러 디스플레이 상에 디스플레이될 프레임을 생성할 때, 개별 컬러 평면의 형태로 상기 디스플레이 프로세서에 의해 처리하기 위한 프레임을 제공하도록 구성되고;
    상기 디스플레이 프로세서는 개별 컬러 평면으로서 상기 생성기 처리 유닛에 의해 제공된 각각의 컬러 평면을 처리하고, 디스플레이를 위한 디스플레이에 개별 컬러 평면으로서 상기 개별 컬러 평면을 제공하도록 구성되며;
    상기 디스플레이는 상기 디스플레이 프로세서로부터 수신된 프레임을 위한 개별 컬러 평면을 디스플레이하도록 구성되는, 데이터 처리 시스템.
  20. 제 17항에 있어서,
    변환 엔진은, 예측된 시야 방향에 기초하여 디스플레이될 프레임을 위한 컬러 평면을 변환할 때;
    출력될 출력 변환된 프레임에서의 데이터 요소 위치에 기초하여, 상기 출력 변환된 프레임에서의 상기 데이터 요소 위치에 대한 상기 컬러 평면에서의 대응하는 위치, 및 상기 출력 변환된 프레임에서의 2개의 다른 데이터 요소 위치에 대응하는 컬러 평면에서의 2개의 다른 위치를 결정하고;
    상기 출력 변환된 프레임의 3개의 데이터 요소 위치에 대해 사용할 데이터를 제공하도록 샘플링될 입력 컬러 평면에서의 3개의 출력 위치를 제공하기 위해 예측된 시야 방향에 기초하여 3개의 결정된 입력 컬러 평면 위치를 변경하도록 구성되는, 데이터 처리 시스템.
  21. 청구항 11 또는 19의 데이터 처리 시스템을 포함하는 헤드-장착형 디스플레이 장치.
  22. 프로그램이 데이터 프로세서 상에서 실행될 때 청구항 1 또는 9의 방법을 수행하기 위한 컴퓨터 소프트웨어 코드를 포함하는 컴퓨터 프로그램.
KR1020190075343A 2018-06-29 2019-06-25 데이터 처리 시스템 KR20200002626A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1810704.5 2018-06-29
GB1810704.5A GB2575097B (en) 2018-06-29 2018-06-29 Data processing systems

Publications (1)

Publication Number Publication Date
KR20200002626A true KR20200002626A (ko) 2020-01-08

Family

ID=63143754

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190075343A KR20200002626A (ko) 2018-06-29 2019-06-25 데이터 처리 시스템

Country Status (5)

Country Link
US (1) US11562701B2 (ko)
JP (1) JP2020004413A (ko)
KR (1) KR20200002626A (ko)
CN (1) CN110659005B (ko)
GB (1) GB2575097B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2578769B (en) * 2018-11-07 2022-07-20 Advanced Risc Mach Ltd Data processing systems
US11598955B2 (en) * 2020-10-12 2023-03-07 Dell Products L.P. System and method of operating a display of an information handling system
US11488345B2 (en) * 2020-10-22 2022-11-01 Varjo Technologies Oy Display apparatuses and rendering servers incorporating prioritized re-rendering
US11651544B2 (en) * 2021-04-30 2023-05-16 Varjo Technologies Oy Systems and methods employing multiple graphics processing units for producing images
US11743612B2 (en) * 2021-12-17 2023-08-29 Texas Instruments Incorporated In-line chromatic aberration correction in wide dynamic range (WDR) image processing pipeline

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684498A (en) * 1995-06-26 1997-11-04 Cae Electronics Ltd. Field sequential color head mounted display with suppressed color break-up
CN1435753A (zh) * 2002-01-30 2003-08-13 微像素股份有限公司 硅芯片显示盒结构
US7307644B2 (en) * 2002-06-12 2007-12-11 Ati Technologies, Inc. Method and system for efficient interfacing to frame sequential display devices
WO2007058203A1 (ja) * 2005-11-15 2007-05-24 Matsushita Electric Industrial Co., Ltd. 面状照明装置とそれを用いた液晶表示装置
US8565519B2 (en) * 2007-02-09 2013-10-22 Qualcomm Incorporated Programmable pattern-based unpacking and packing of data channel information
WO2011106797A1 (en) * 2010-02-28 2011-09-01 Osterhout Group, Inc. Projection triggering through an external marker in an augmented reality eyepiece
DE112012002033B4 (de) * 2011-05-10 2019-09-19 Nvidia Corporation Verfahren und Vorrichtung zum Erzeugen von Bildern unter Verwendung eines farbfeldsequenziellen Displays
US9443355B2 (en) * 2013-06-28 2016-09-13 Microsoft Technology Licensing, Llc Reprojection OLED display for augmented reality experiences
CN106061586B (zh) * 2014-03-12 2020-06-19 巴斯夫欧洲公司 改进的催化烟灰过滤器
US9652893B2 (en) * 2014-04-29 2017-05-16 Microsoft Technology Licensing, Llc Stabilization plane determination based on gaze location
US9978180B2 (en) * 2016-01-25 2018-05-22 Microsoft Technology Licensing, Llc Frame projection for augmented reality environments
EP3500977B1 (en) * 2016-08-22 2023-06-28 Magic Leap, Inc. Virtual, augmented, and mixed reality systems and methods

Also Published As

Publication number Publication date
JP2020004413A (ja) 2020-01-09
CN110659005B (zh) 2024-05-14
US20200005719A1 (en) 2020-01-02
GB2575097A (en) 2020-01-01
GB201810704D0 (en) 2018-08-15
US11562701B2 (en) 2023-01-24
GB2575097B (en) 2023-01-18
CN110659005A (zh) 2020-01-07

Similar Documents

Publication Publication Date Title
KR102561042B1 (ko) 데이터 처리 시스템
US11562701B2 (en) Data processing systems
KR102564801B1 (ko) 그래픽 처리 시스템
US10360832B2 (en) Post-rendering image transformation using parallel image transformation pipelines
US20200143516A1 (en) Data processing systems
EP1784021B1 (en) Video processing with multiple graphics processing units
US9471955B2 (en) Multiple display pipelines driving a divided display
CN109427283B (zh) 图像产生方法和使用该方法的显示装置
US11100899B2 (en) Systems and methods for foveated rendering
US11004427B2 (en) Method of and data processing system for providing an output surface
US10692420B2 (en) Data processing systems
JPH09161100A (ja) 表示方法及び装置
US10672367B2 (en) Providing data to a display in data processing systems
KR20200063614A (ko) Ar/vr/mr 시스템용 디스플레이 유닛
TWI696154B (zh) 低延遲顯示系統及方法
JP2004274485A (ja) 立体視画像生成装置
KR20220080314A (ko) 디스플레이 패널의 영상 출력을 위한 프레임 버퍼를 포함하는 영상 표시 장치 및 이의 제어 방법
KR20200071521A (ko) 영상 생성 방법과 이를 이용한 표시장치
JP2007299191A (ja) 画像処理装置