CN111161660A - 数据处理系统 - Google Patents
数据处理系统 Download PDFInfo
- Publication number
- CN111161660A CN111161660A CN201911081435.2A CN201911081435A CN111161660A CN 111161660 A CN111161660 A CN 111161660A CN 201911081435 A CN201911081435 A CN 201911081435A CN 111161660 A CN111161660 A CN 111161660A
- Authority
- CN
- China
- Prior art keywords
- frame
- display
- version
- data
- output
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 277
- 238000000034 method Methods 0.000 claims description 62
- 238000004891 communication Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 44
- 230000009466 transformation Effects 0.000 description 39
- 210000003128 head Anatomy 0.000 description 35
- 239000000872 buffer Substances 0.000 description 29
- 230000008569 process Effects 0.000 description 25
- 238000005070 sampling Methods 0.000 description 20
- 238000009877 rendering Methods 0.000 description 19
- 238000012937 correction Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 18
- 238000001914 filtration Methods 0.000 description 14
- 230000004075 alteration Effects 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000003786 synthesis reaction Methods 0.000 description 8
- 238000002156 mixing Methods 0.000 description 7
- 230000007704 transition Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 241000226585 Antennaria plantaginifolia Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000613118 Gryllus integer Species 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control 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/2007—Display of intermediate tones
- G09G3/2018—Display of intermediate tones by time modulation using two or more time intervals
- G09G3/2022—Display of intermediate tones by time modulation using two or more time intervals using sub-frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4092—Image resolution transcoding, e.g. client/server architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G06T3/04—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/60—Rotation of a whole image or part thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/139—Format conversion, e.g. of frame-rate or size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0112—Head-up displays characterised by optical features comprising device for genereting colour display
- G02B2027/0116—Head-up displays characterised by optical features comprising device for genereting colour display comprising devices for correcting chromatic aberration
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0147—Head-up displays characterised by optical features comprising a device modifying the resolution of the displayed image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Optics & Photonics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
数据处理系统。在数据处理系统中,当显示中心凹形图像时,产生器处理单元生成要显示的帧的多个不同分辨率版本。显示处理器然后基于提供到显示处理器的、指示帧的哪个分辨率版本要用于要显示的帧的观看方位变换后输出版本的相应区域的数据,使用来自由产生器处理单元生成的要显示的帧的多个不同分辨率版本的数据,来生成要显示的帧的观看方位变换后输出版本。
Description
技术领域
本发明涉及数据处理系统,具体涉及在显示器上显示图像的数据处理系统的操作。
背景技术
图1示出了示例性数据处理系统14,该数据处理系统包括:主处理器,该主处理器包括中央处理单元(CPU)7;图形处理单元(GPU)2;视频编解码器1;图像信号处理器(ISP)12(即,例如,与摄像头12通信);显示处理器(显示处理单元(DPU))5;以及存储控制器8。如图1所示,这些单元经由互连9通信并访问片外存储器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或ISP13)串流到显示处理器,例如通过借助缓存器。
诸如图1所例示的数据处理系统的14的用途示例是提供所谓的“XR”显示(诸如增强现实(AR)和/或虚拟现实(VR))头戴式显示器(HMD)系统。在这种情况下,显示器4将为某种头戴式显示器。
在头戴式AR/VR显示器操作中,将响应于来自需要增强现实或虚拟现实显示器的、诸如游戏(例如,在CPU 7上执行)的应用的适当命令和数据,例如将由图形处理单元2渲染要向各眼睛显示的适当图像。GPU 2例如将以与显示器的刷新率匹配的、诸如每秒60帧的速率来渲染要显示的图像。
在这种结构中,系统还将操作以跟踪用户的头部/注视的移动,即所谓的头部姿态跟踪。该头部方位(姿态)数据然后用于确定针对用户当前的头部位置(观看方向)实际上应如何向用户显示图像,并且因此渲染图像(帧),(例如通过基于头部方位数据设置摄像头(视点)方位),使得可以显示基于用户当前的观看方向的适当图像。
虽然将可以在开始渲染要在AR/VR系统中显示的帧时简单地确定头部方位(姿态),但由于渲染过程中的时延,会出现以下情况:在帧渲染开始时与实际上显示(向显示板扫描输出)该帧时的头部方位(姿态)之间,用户的头部方位(姿态)发生了变化。
为了允许这一点,基于在帧的渲染开始时感测的头部方位数据渲染要显示的帧,但然后在实际显示帧之前,基于将向用户实际显示帧时的预期头部方位重新投影该帧。预期头部方位例如可以基于用户在渲染帧的时间与将实际显示帧的时间之间的预测头部移动。然后显示帧的重新投影版本。这允许在显示器上显示的图像较紧密地匹配用户(预测的)当前头部方位。
为了进行该处理,将初始“应用”帧渲染到存储器中的适当缓冲器中,但然后存在二次渲染过程,该二次渲染过程取得存储器中的初始应用帧,并且在考虑预期头部方位的情况下使用预测的头部方位(姿态)信息来渲染出的初始已渲染帧的“重新投影”版本,以提供将向用户显示的帧。这通常涉及基于预测的头部方位(姿态)的、对帧的某些形式的变换。然后显示经这样变换(重新投影)的已渲染帧。
用于帮助促进在“XR”显示系统中以适当速率生成用于显示的帧的另外技术是所谓的“中心凹形(foveated)”渲染或“变分辨率”渲染。
变分辨率(“中心凹形”)渲染是以下渲染技术:要显示的帧(图像)的一个或更多个部分以较高分辨率渲染,但该帧的一个或更多个其他部分以较低分辨率渲染。
这基于以下事实:用户直接看着的帧的区域为了视觉上的可接受性而会需要以较高分辨率渲染,而用户未直接看着的帧的外围区域在仍然看起来视觉上可接受的同时可以以较低的分辨率渲染。这然后可以用于通过以较低分辨率渲染外围区域而不是以最高所需(“中心凹”)分辨率渲染所显示的整个帧,来减轻对产生用于显示的帧的例如图形处理单元(GPU)的渲染负担。
变分辨率渲染可以通过识别将渲染帧的较高分辨率区域的一个或更多个“固定点”来进行,距离固定点越远的区域以越低的分辨率来渲染。由此,各固定点可以指示帧的最高分辨率区域,并且在一些情况下,旨在对应于眼睛视网膜的中心(中心凹(fovea))。
变分辨率渲染还可以用于考虑(并且利用)由头戴式显示器(HMD)引入的透镜失真。例如用于虚拟现实应用的高分辨率头戴式显示器通常使用具有严重枕形失真的透镜。该枕形失真可以通过对已渲染图像进行桶形失真来校正。这一点的效果是放大(对于各眼睛)朝向显示器中心的已渲染图像,而缩小外围区域。那么这一点的效果是在没有用户的总视觉效果的任何显著损失的情况下可以以比中心放大区域低的质量来渲染外围区域。
当执行变分辨率渲染时,可以以任意合适且期望的方式确定帧的最高分辨率区域的位置(例如,固定点)。例如,可以使用某一形式的头部跟踪或眼睛跟踪(头部姿态跟踪)系统来尝试识别用户在看着图像的哪里,从而识别应以最高分辨率渲染的帧区域。帧的较高分辨率区域的位置还或相反可以基于其他因素,诸如透镜失真。
发明内容
申请人相信存在针对用于显示图像的改进结构的范围,特别是在头戴式显示系统中,诸如对于增强和/或虚拟现实应用。
根据本发明的第一方面,提供了一种操作数据处理系统的方法,该数据处理系统包括:
显示器,该显示器可操作以显示用于显示的帧;
产生器处理单元,该产生器处理单元可操作以生成用于在显示器上显示的帧;以及
显示处理器,该显示处理器可操作以向显示器提供由产生器处理单元生成的帧以显示,显示处理器包括:
输入级,该输入级可操作以读取输入帧的数据;
输出级,该输出级可操作以向显示器提供用于显示的帧;以及
至少一个变换级,该至少一个变换级可操作以:
使用由输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;
方法包括以下步骤:
产生器处理单元对于要显示的帧生成要显示的帧的多个不同分辨率版本;
向显示处理器提供数据,该数据指示由产生器处理单元生成的帧的哪个分辨率版本要用于要由显示处理器生成以显示的帧的观看方位变换后输出版本的相应区域;
显示处理器的输入级读取要由产生器处理单元生成的、要显示的帧的多个不同分辨率版本中的一些或全部的数据;
显示处理器基于指示由产生器处理单元生成的帧的哪个分辨率版本要用于要显示的帧的观看方位变换后输出版本的相应区域的数据,使用由输入级读取的、来自由产生器处理单元生成的要显示的帧的多个不同分辨率版本的数据,来生成要显示的帧的观看方位变换后输出版本;
以及
显示处理器的输出级向显示器提供帧的观看方位变换后输出版本以显示。
根据本发明的第二方面,提供了一种数据处理系统,该数据处理系统包括:
显示器,该显示器可操作以显示用于显示的帧;
产生器处理单元,该产生器处理单元可操作以生成用于在显示器上显示的帧;以及
显示处理器,该显示处理器可操作以向显示器提供由产生器处理单元生成的帧以显示,显示处理器包括:
输入级,该输入级可操作以读取输入帧的数据;
输出级,该输出级可操作以向显示器提供用于显示的帧;以及
至少一个变换级,该至少一个变换级可操作以:
使用由输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;
其中,
产生器处理单元被配置为对于要显示的帧生成要显示的帧的多个不同分辨率版本;
显示处理器的输入级被配置为读取要由产生器处理单元生成的、要显示的帧的多个不同分辨率版本中的一些或全部的数据;
显示处理器被配置为基于指示由产生器处理单元生成的帧的哪个分辨率版本要用于要由显示处理器生成以显示的要显示的帧的观看方位变换后输出版本的相应区域的数据,使用由输入级读取的、来自由产生器处理单元生成的要显示的帧的多个不同分辨率版本的数据,来生成要显示的帧的观看方位变换后输出版本,该所基于的数据被提供给显示处理器;
并且
显示处理器的输出级被配置为向显示器提供帧的观看方位变换后输出版本以显示。
本发明涉及数据处理系统在执行中心凹形(变分辨率)渲染时的操作。
在本发明中,产生器处理单元,诸如图形处理器,生成要显示的帧的多个不同分辨率版本。然后由显示处理器读取该多个不同分辨率版本,并且使用其来生成用于显示的帧的观看方位变换后版本。还向显示处理器提供数据,该数据指示由产生器处理单元生成的帧的哪个分辨率版本要用于要显示的帧的观看方位变换后输出版本的相应区域,并且显示处理器将该数据用于确定在生成帧的观看方位变换后输出版本的相应区域时,应使用由产生器处理单元生成的帧的不同分辨率版本中的哪个。
如下面将进一步讨论的,这促进以较高效且有效的方式提供用于显示的中心凹形(变分辨率)帧,以例如用于增强或虚拟现实显示系统中,因此可以提供例如在存储带宽、处理资源、功耗等方面的节省。
生成用于在显示器上显示的帧的产生器处理单元可以包括能够生成用于显示的帧的数据处理系统的任意处理单元。由此,它可以包括例如图形处理器(图形处理单元(GPU))、视频处理器/编解码器(视频处理单元(VPU))、CPU和/或图像信号处理器(ISP)等。可以存在可操作以生成用于在显示器上显示的帧的多于一个产生器处理单元(如果期望)。在优选实施方式中,产生器处理单元是图形处理器。
为了显示而生成的帧可以是可以期望显示的任意合适且期望的帧。在优选实施方式中,帧是为了对于应用(诸如游戏)且优选对于增强现实或虚拟现实应用显示而生成的帧。因此,各帧优选地包括要显示的图像。
各帧将包括数据元素(采样位置)(例如,像素)的阵列,对于各数据元素,存储适当的数据(例如,一组颜色值)。
在优选实施方式中,由产生器处理单元生成的帧存储在例如帧缓冲器、存储器中,显示处理器然后从该帧缓冲器、存储器读取帧,以由显示处理器处理,然后提供给显示器以显示。
(在由显示处理器处理之前)存储帧的存储器可以包括任意合适的存储器,并且可以以任意合适且期望的方式来配置。例如,存储器可以为具有显示处理器的的片上存储器,或者它可以为外部存储器。在实施方式中,存储器是外部存储器,诸如整个数据处理系统的主存储器。存储器可以为用于该目的的专用存储器,或者它可以为也用于其他数据的存储器的一部分。
在本发明中,产生器处理单元,例如GPU,生成要显示的帧(和各帧)的一组多个不同分辨率版本。被生成的多个不同分辨率版本可以为可以用于中心凹形渲染的帧的任意合适的一组版本,即,一组图像,该组图像包括帧要描绘的场景的视图,这些视图从同一视点取得(具有(来自)同一观看位置且具有(沿)相同观看方向的视图)但具有不同分辨率。
在该组多个不同分辨率帧版本(图像)中将存在帧的最高分辨率版本,这些不同分辨率帧版本因此将包括要在固定位置处显示的“中心凹”视图,帧的最高分辨率要显示在该固定位置处。那么将存在帧的一个或更多个较低分辨率版本,它们可以且优选地远离固定点,例如朝向被显示的输出帧的外围,使用并显示。
可以仅存在两个不同分辨率帧版本:最高分辨率版本和较低分辨率版本。另选地,可以准备用于帧的三个或多个不同分辨率版本,包括帧的最高分辨率版本和两个或多个较低分辨率版本。
帧的不同分辨率版本优选由给定、具体且优选选择的缩放因子来彼此相关。在存在多于两个分辨率版本的情况下,那么各相应对的“相邻”分辨率版本中的版本可以(并且在一个实施方式中是)由同一缩放因子彼此相关(即,使用不同分辨率版本之间的恒定缩放因子)。在一些情况下,诸如虚拟现实头戴式显示器,最低分辨率版本可以比其他版本在分辨率上隔开更远(即,使得一些紧接级别的分辨率版本例如实际上不存在)。
缩放因子优选地为二的幂,但可以使用其他结构(如果期望)。在一个优选实施方式中,较高分辨率版本是紧接其之前的较低分辨率版本(在分辨率层次结构中)的分辨率的两倍,即,各版本的分辨率由因子2(或因此由因子二分之一)与其在分辨率层次结构中的相邻版本相关。
在特别优选的实施方式中,产生器处理单元被配置为将帧(和各帧)作为贴图的形式提供(作为一组贴图提供)。
虽然将可以作为一个整体对于帧简单地生成各不同分辨率版本(并且在一个优选实施方式中就是这样进行的),但在特别优选的实施方式中,仅对于整个输出帧的给定、具体且优选所选的区域生成帧的不同分辨率版本。换言之,生成帧的各不同分辨率版本优选地包括对于这些各版本中的至少一个(并且优选地对于全部),生成完整帧(帧的区域)中的一些但不是全部。
例如且优选地,优选地至少(且优选地仅)对于可能需要显示最高(全)分辨率图像的、帧的部分(区域)(即,对于被定心在固定点周围(例如处于帧的中心处)的区域)生成该最高分辨率版本。由此,优选地仅对于要显示的(整个)帧(的区域)的一些但不是全部生成帧的最高分辨率版本。
对应地,优选地至少对于离固定点(例如,离帧的中心)较远的那些帧区域生成较低分辨率版本,但可以不且在优选实施方式中不对于在固定点处或附近(例如,在帧中心处或附近)的那些帧区域生成帧的较低分辨率版本。
在仅对于整个帧的一些但不是全部生成帧的不同分辨率版本的情况下,那么可以将不同分辨率版本设置为根本不交叠(在其对帧的覆盖上),或者使得它们至少在一定程度上交叠(并且在另一实施方式中,情况就是这样)。在后者的情况下,交叠的程度可以例如且优选地基于过滤窗口(核心)的尺寸,该过滤窗口将在当生成输出帧时从帧的不同分辨率版本采样时使用。
一旦已经准备帧的不同分辨率版本(并将其存储在存储器中),那么向显示处理器提供帧的这些不同分辨率并由其处理,以提供用于显示的观看方位变换后输出帧。
可以根据期望选择由显示处理器处理并组合来提供用于显示的输出帧的数量的帧的不同分辨率版本。在一个优选实施方式中,组合帧的两个(且仅两个)不同分辨率版本,来提供观看方位变换后输出帧。在其他实施方式中,组合帧的多于两个不同分辨率版本。
除要显示的帧的不同分辨率版本之外,显示处理器还提供有数据,该数据指示由产生器处理单元产生的帧的不同分辨率版本(例如,贴图等级)中的哪一个应用于整个输出帧的相应区域,显示处理器(如下面将进一步讨论的,例如且优选地,显示处理器的变换级和/或合成级)然后使用该数据,来确定由产生器处理单元生成的帧的不同分辨率版本中的哪一个用于已变换输出帧的哪些区域。
因此,显示处理器将根据指示由产生器处理单元产生的帧的不同分辨率版本中的哪个应用于整个输出帧的相应区域,来组合由产生器处理单元生成的帧的多个不同分辨率版本,以提供观看方位变换后输出帧。
由此,指示要使用的帧的不同分辨率版本的数据应且优选地确实指示应如何组合帧的不同分辨率版本,由此,优选地指示输入帧的最高分辨率版本应用于中心凹固定点处(和周围),但较低分辨率版本应远离固定点(例如,朝向输出帧的外围)使用。
可以根据期望执行帧的哪个分辨率版本要用于整个输出帧中的任意给定位置的确定。
例如,可以使用适当的头部跟踪或眼睛跟踪信息,来识别哪个分辨率版本应显示在输出帧中的哪里,和/或也或相反可以使用与显示系统的特性有关的信息。例如,在头戴式显示器的情况下,可以识别输出帧的中心,并且将其指示为应显示最高分辨率版本的区域,然后以较低分辨率显示朝向输出帧外围的区域。
在一个实施方式中,仅选择帧的不同分辨率版本中的单个(例如,最高分辨率版本或较低分辨率版本),并且将其指示为用于输出的要显示的帧中的任意给定位置(区域)处。然而,在另一实施方式中,可以(和是)对于至少一些输出帧区域组合多个不同分辨率版本。
输出帧被分成不同区域,并且帧的哪个不同分辨率版本应用于该区域的指示可以包括输出帧到多个区域的任意合适且期望的细分。区域优选地全部具有相同的尺寸和配置,并且优选地为矩形的,优选地为正方形的。各区域可以对应于输出帧中单个数据元素(像素),但在特别优选的实施方式中,各区域对应于输出帧中的多个数据元素(像素)的优选矩形且优选正方形的块。
指示要使用的帧的不同分辨率版本的数据可以采取任意合适且期望的形式,并且可以指示要以任意合适且期望方式使用的不同分辨率版本。
在一个优选实施方式中,该数据为二维阵列的形式,该二维阵列表示输出的要显示的帧(的区域),阵列内的各数据元素位置然后指示帧的哪个分辨率版本要用于输出帧内的该区域。这种阵列例如可以为2D纹理或“密度图”的形式,该2D纹理或密度图描述帧的哪个分辨率版本(例如,贴图级别)要用于输出帧的相应区域。
在这种情况下,“密度图”可以指示要跨输出帧的区域以任意期望等级的粒度(分辨率)用于相应区域的分辨率(到区域的细分)。由此,各“密度图”数据元素优选地对应于区域,该区域包括要生成的输出帧中的多个数据元素(像素)的给定块。
在特别优选的实施方式中,二维阵列(密度纹理/图)具有特定尺寸,诸如64x64、100×100、128×128或256×256个数据元素位置,阵列中的各数据元素位置然后映射到输出帧的范围的对应区域(块)。
在这些结构中,可以以任意合适且期望的方式指示要用于输出帧的给定区域的分辨率版本(例如,贴图级别)。例如,数据可以指示要用于帧区域(和各帧区域)的不同分辨率版本中的单个(例如,使用整数值),或者可以将要使用的版本指示为分数值或梯度(该梯度然后可以转换成分数值)(非整数分数值(级别)指示应对于该输出帧区域组合两个不同分辨率级)。其他结构当然会是可能的。
指示要使用的帧的不同分辨率版本的数据还或相反可以以其他形式来提供,例如,借助于查找表,或者由某些形式的函数表达,或者为限定应使用最高分辨率版本(级别)的范围区域的边界框(例如,2D轴对齐边界框)形式(然后从帧的较低分辨率(级别)版本生成所有其他区域)(并且在一个实施方式中,情况是这样)。后者结构在仅生成并使用帧的两个不同分辨率版本的情况下可以特别适用。
指示数据(例如,密度图/纹理)的分辨率级可以以压缩和/或较低分辨率形式提供给显示处理器,在使用该信息来确定要使用哪些不同分辨率级之前,显示处理器首先将该数据(例如,密度图)解压缩/尺度上推或以其他方式转换为适于由显示处理器使用的形式。
在另一优选实施方式中,指示要用于观看方位变换后输出帧的相应区域的帧的不同分辨率版本的数据与帧的不同分辨率版本本身一起(作为其一部分)提供,例如且优选地,为与帧的不同分辨率版本关联的“混合”参数值的形式,诸如且优选地,透明度(α)值。显示处理器然后可以使用例如透明度(α)值来以期望方式合成(混合)帧的不同分辨率版本。
确定哪个分辨率版本在生成输出帧时要用于哪里和生成指示这一点的数据可以由数据处理系统的任意合适且期望的部件或处理器来进行。例如,确定哪个分辨率版本对于输出帧要用于哪里和生成指示这一点的数据(诸如密度图/纹理)可以且优选地由需要显示的帧的应用进行,例如,基于以下各项中的一项或多个且优选地基于以下两者来进行:显示帧(图像)将借助的透镜系统的特性;和用户头部跟踪和/或眼睛跟踪信息(如上面讨论的)。
可以根据期望来生成两组数据,例如,一组基于显示(透镜)系统,一组基于头部/眼睛跟踪,和/或这些数据的“组合”。
在一个优选实施方式中,在将由应用(例如)生成的、指示哪个分辨率版本对于输出帧要用于哪里的数据提供给显示处理器使用之前,对其进行预处理,以用具体、优选所选的、优选预定的格式(例如,具有有限分辨率)提供该数据。
在使用透明度(α)值的情况下,可以首先生成如上面讨论的“密度图”或类似数据结构,然后将其转换成对应的透明度值,这优选地在单独的一遍处理中进行,例如在生成帧的不同分辨率版本的软件中和/或在产生器处理单元(例如,CPU)上进行。另选地,可以直接生成透明度(α)值(如果期望)。其他结构也会是可能的。
显示处理器可以包括可操作以向显示器提供由数据处理系统的产生器处理单元生成的帧以显示的任意合适且期望的显示处理器。由此,显示处理器应可操作以从存储器读取帧的数据,对这些帧执行适当“显示处理”,然后向显示器提供所处理的帧以显示。在优选实施方式中,显示处理器经由到显示器的“直接”连接向显示器提供帧以显示,即,可操作以向显示器串流帧(用于帧的数据),而不是经由例如存储器向显示器转移帧。显示处理器可以具有到显示器的有线或无线连接。
显示处理器包括输入级,该输入级可操作以从存储器读取输入帧的数据,该数据存储在存储器中。在优选实施方式中,输入级包括存储器读取子系统,该存储器读取子系统优选地包括读取控制器,诸如例如直接存储器存取(DMA)读取控制器,该读取控制器被配置为(可操作以)从存储输入帧的存储器读取输入帧的数据。
在特别优选的实施方式中,输入级可操作以从存储器将要由显示处理器处理的输入帧的数据取入到显示处理器的本地缓冲器中(由此,显示处理器优选地包括可操作以存储要由显示处理器处理的输入帧的数据的一个或更多个本地缓冲器)。
显示处理器包括至少一个变换级,该至少一个变换级可操作以使用输入帧的数据,来生成观看方位变换后输出帧(即,该至少一个变换级可操作以基于观看方位变换由输入级读取的输入帧,以提供输入帧的观看方位变换后版本)。变换级优选地处理来自数据处理器的本地缓冲器的输入帧。
显示处理器可以包括单个变换级,但在特别优选的实施方式中,包括多个变换级。
最优选地,显示处理器包括多个显示处理流水线,这些流水线中的每一个可操作以处理用于显示的一个或更多个输入帧,并且每一个包括其自己的相应变换级。
在优选实施方式中,各显示处理流水线还包括其自己的相应层处理流水线,该层处理流水线按显示处理流水线顺序优选地在变换级之后。层处理流水线例如可以操作以执行颜色管理功能等。
显示处理器优选地包括一个或两个这种显示处理流水线(并且在一个实施方式中包括两个(且仅两个)这种显示处理流水线)。
在特别优选的实施方式中,显示处理器包括合成级,该合成级具体可操作以合成由不同变换级且优选由显示处理器的不同显示处理流水线生成的观看方位变换后帧,以提供整个观看方位变换后输出帧来显示。
显示处理器的输出级可以为任意合适的输出级,该输出级可操作以向显示器提供用于显示的输出帧,例如以使得在显示器上显示用于显示的输出帧。输出级优选地包括处理流水线,该处理流水线对输出的要显示的帧执行任意必要的另外显示处理操作。输出级优选地包括用于显示器的适当定时控制功能(例如,输出级被配置为以适当的水平和垂直消隐时段向显示器发送像素数据)。
输出级优选地将输出帧直接发送到显示器以显示,例如且优选地,作为用于显示的数据元素(像素)的流。用于帧的数据可以经由到显示器的有线或无线连接来提供(根据期望)。
显示器然后将操作以显示所接收的帧(例如且优选地,以用于讨论中的显示器的操作的正常方式)。由此,用于帧的数据元素(像素)将被适当地扫描到显示器的显示板上以显示帧。
显示处理器的各种级可以根据期望来实现,例如,实现为一个或更多个固定功能电路(硬件)(即,该功能电路专用于不可改变的一个或更多个功能)的形式,或者被实现为一个或更多个可编程处理级,例如借助于可以被编程为执行期望操作的可编程电路。可以存在固定功能电路和可编程电路这两者。
显示处理器的各种级中的一个或更多个可以作为单独的电路元件提供给彼此。另外或另选地,级中的一些或所有可以至少部分由共享电路来形成。
显示处理器的变换级(和各变换级)可以以任意合适且期望的方式来实现。它优选地由合适的处理电路(合适的处理电路)来设置。它例如可以借助于可以被编程为以期望方式操作的合适可编程处理电路来设置,或者被设置为被配置为执行所需处理操作的固定功能处理电路,在使用固定功能电路来执行变换操作的情况下,那个该固定功能电路优选地被设置为在使用中具有有限的可配置性,诸如可以改变电路执行的操作的一个或更多个控制参数,以促进固定功能电路的操作的配置的某一变化。
变换级(和各变换级)操作以生成观看方位变换后输出帧(即,基于观看方位(例如且优选地,基于所接收的观看方位数据)变换要显示的帧)。
变换要显示的帧所基于的观看方位可以是任意合适且期望的观看方位。在优选实施方式中,观看方位表示且对应于期望观看方位,帧要被显示为犹如从该观看方位观看(要关于该观看方位显示要变换的帧)。
由此,观看方位变换优选地是为了变换帧,以提供犹如从期望观看方位观看的帧的表示。在特别优选的实施方式中,变换级操作以基于期望观看方位生成输入帧的投影。
显示处理器的变换级优选地可操作以基于期望的预测观看方位变换用于显示的帧(和各帧)。
变换帧所基于的预测观看方位可以包括预测观看位置和/或预测观看方向。在优选实施方式中,它包括预测观看位置和预测观看方向这两者。
预测观看方位优选地基于所采样观看方位(例如,头部位置和/或方向)连同与将显示帧的时间有关的信息,优选地以在帧的实际显示期间预测用户的观看方位。
由此,在优选实施方式中,本发明包括(并且数据处理系统被适当配置为)定期采样观看方位数据(例如,头部姿态数据)(例如且优选地,借助于显示器是其一部分的头戴式显示器的适当传感器),并且在变换帧以提供用于显示的帧的观看方位变换后版本时,使用所采样观看方位数据。
在这点上采样并使用的头部姿态跟踪数据可以包括任意合适且期望的头部姿态跟踪数据。在优选实施方式中,它是指示观看方向和/或位置(且优选地为这两者)并优选地跟踪头部旋转和头部平移中的一个或更多个(且优选地为全部)的数据。
头部姿态跟踪数据可以根据期望来确定。例如,它可以由适当传感器来生成,诸如与数据处理系统的显示器、跟踪系统或摄像头关联的惯性测量单元(IMU)。通常,所感测的头部姿态数据可以且优选地由合适的系统来提供,该系统可以在任意点查询头部姿态(优选地为旋转和位置)数据的低时延、高准确度源。头部姿态跟踪系统可以仅跟踪旋转,或者跟踪旋转和位置,或者跟踪旋转和位置以及速度等(根据期望)。
在特别优选的实施方式中,产生器处理单元(例如,GPU)被配置为基于当前感测的观看方位生成用于显示的帧,变换级然后基于帧将显示的时间,将基于所感测的观看方位生成的帧变换成新的、预测观看方位。
使用所感测头部姿态数据来实际确定预测观看方位可以在数据处理系统的任意合适且期望的部件或元件中执行。由此,该确定例如可以在数据处理系统的合适处理器,诸如CPU或其他处理器,中生成。这优选地作为用于显示处理器的驱动器操作的一部分进行(例如且优选地,显示处理器在数据处理系统的CPU(例如,主处理器)上执行)。
基于观看方位的变换优选地使用变换矩阵来执行。这些变换矩阵可以采取任意合适且期望的形式,该形式将可操作以执行适当变换,以将帧从生成帧所相对于的观看方位重新投影到要显示它所相对于的期望(且优选地为预测的)观看方位。由此,例如,矩阵应且优选地确实经由单应性矩阵执行透视图像和规则2D图像到虚拟透射摄像头中的旋转重新投影。
变换级(和各变换级)优选地操作以逐采样位置(例如,逐像素)地产生输出的、观看方位变换后帧,即,作为观看方位变换后帧的采样位置(像素)的流(采样位置(像素)值)。这优选地通过以下处理来进行:变换级通过从用于由产生器处理单元生成的帧的不同分辨率版本中的一个或多于一个中的采样位置(例如,像素)的数据值生成用于输出观看方位变换后帧中的相应采样位置(例如,像素)的数据值,来生成输出观看方位变换后帧。
在特别优选的实施方式中,变换级通过以下处理生成输出观看方位变换后帧数据元素(像素):对于输出观看方位变换后帧数据元素(像素)位置,确定由产生器处理单元生成的帧中的对应位置(坐标),从该产生器处理单元,应取得用于观看方位变换后输出帧中的该数据元素(像素)位置的数据。
换言之,变换级优选地确定由产生器处理单元生成的帧中的位置,该位置将由变换级应用的变换,移动至观看方位变换后输出帧中的数据元素(像素)位置。
优选地对于期望生成的观看方位变换后帧中的多个且优选地为各数据元素(像素)位置进行这一点。
变换级可以以任意合适且期望的方式确定对于给定观看方位变换后输出帧数据元素(例如,像素)位置应采样哪一个输入帧位置。
在特别优选的实施方式中,变换级基于变换操作要应用且优选地要应用透镜失真校正和色差校正中的一个或更多个(且优选地为这两者)的观看方位信息,对于输出观看方位变换后帧数据元素(像素)位置x、y,来确定对应的输入帧位置,从该位置,应(要)取得用于在观看方位变换后输出帧中的该数据元素(像素)位置的数据。
在特别优选的实施方式中,变换级基于变换级被配置为考虑的透镜失真和色差以及要应用的观看方位变换,对于输出观看方位变换后帧采样(像素)位置x、y,来确定要被采样的一组三个对应的输入帧位置(坐标)((xr,yr)(xg,yg)(xb,yb)),一个输入帧位置用于一个颜色平面。
一旦已经确定数据要用于要由变换级生成的输出观看方位变换后帧中的数据元素(像素)位置的输入帧中的位置,那么可以且优选地是在所确定的位置处对由产生器处理单元生成的、要显示的(输入)帧的不同分辨率版本中的一个(或多个),以提供数据值,这些数据值要用于由变换级生成的输出观看方位变换后帧中的数据元素(像素)(采样位置)。
该采样可以根据期望,例如,使用双线性或三线性过滤(内插),来执行。最优选地,双线性过滤(内插)用于在帧的单个分辨率版本内采样,并且三线性过滤(内插)用于在需要时对帧的两个不同分辨率版本采样并组合它们。变换级优选地包括用于该目的的适当过滤(内插)电路。
在一个优选实施方式中,要组合地用于提供整个观看方位变换后输出帧的帧的不同分辨率版本中的每个分辨率版本分别经受观看方位变换,然后组合帧的多个观看方位变换后不同分辨率版本,以提供观看方位变换后输出帧来显示。
在这种情况下,要经受观看方位变换并用于提供整个输出帧以显示的帧的各不同分辨率版本优选地由显示处理器的单独(不同)变换级来观看方位变换。最优选地,帧的各不同分辨率版本由显示处理器的相应不同显示处理流水线来处理(并观看方位变换)。
然后优选地基于指示帧的哪个分辨率版本对于输出帧要用于哪里的数据,在显示处理器的合成级(合成单元)中(适当)组合(合成)帧的多个观看方位变换后不同分辨率版本,以提供要显示的整个输出观看方位变换后帧。
由此,在一个优选实施方式中,显示处理器通过以下处理,基于指示帧的哪个分辨率版本要用于帧的输出版本的相应区域的数据,使用来自帧的多个不同分辨率版本的数据,来生成要显示的帧的观看方位变换后输出版本(并且显示处理器对应地被配置为):
对于由产生器处理单元生成的帧的多个不同分辨率版本中的每个分辨率版本,生成要显示的帧的该分辨率版本的相应观看方位变换后版本;以及
基于指示帧的哪个分辨率版本要用于要显示的帧的观看方位变换后输出版本的相应区域的数据,组合帧的多个不同分辨率版本的多个观看方位变换后版本,以提供包括帧的多个不同分辨率版本的观看方位变换后版本的组合在内的、用于显示的帧的观看方位变换后输出版本。
对应地,在优选实施方式中,显示处理器包括:多个变换级,各变换级可操作以使用由输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;和合成级,该合成级可操作以组合由变换级生成的观看方位变换后输出帧;并且方法包括(且显示处理器被配置为):
显示处理器的多个变换级中的每一个基于观看方位,来变换由产生器处理单元生成的、要显示的帧的多个不同分辨率版本中不同的一个,以提供帧的该相应分辨率版本的观看方位变换后版本;以及
合成级基于指示由产生器处理单元生成的、帧的哪个分辨率版本要用于要显示的帧的观看方位变换后输出版本的相应区域的数据,合成由变换级生成的、帧的不同分辨率版本的多个观看方位变换后版本,以提供包括帧的多个不同分辨率版本的观看方位变换后版本的组合在内的、用于显示的帧的观看方位变换后输出版本。
在这种情况下,当执行帧的给定不同分辨率版本的观看方位变换时,观看方位变换优选地将以上面讨论的方式执行,在讨论中的帧的分辨率版本中对输入帧中的所确定位置采样(例如且优选地,使用双线性过滤),以导出用于讨论中的输出帧位置(像素)的对应输出观看方位变换后帧数据值。
在这种情况下,指示帧的哪个分辨率版本对于输出帧要用于哪里的数据优选地为相应混合参数(例如且优选地,为透明度(α))值的形式,这些值与帧的不同分辨率版本(的数据元素)关联,显示处理器的合成级然后可以使用这些值来将帧的观看方位变换后不同分辨率版本混合(组合)在一起,以提供整个输出观看方位变换后输出帧。
在这些实施方式中,在经受观看方位变换之前,优选首先将帧的任意较低分辨率版本(即,除了被使用的帧的最高分辨率版本之外)在尺度上推至正被使用的帧的最高分辨率版本的分辨率。这促进较直接地组合帧的不同分辨率版本,以提供整个输出帧。
尺度上推可以在过程的任意期望级进行,但在特别优选的实施方式中,讨论中的变换级还可操作以(并且操作以)在生成输出帧时,将分辨率比要观看方位变换的帧的最高分辨率版本低的、要观看方位变换的帧的任意版本尺度上推至要观看方位变换的帧的最高分辨率版本的分辨率,在生成输出帧之前,变换级使用帧的较低分辨率版本的尺度上推版本来生成帧的较低分辨率版本的观看方位变换后版本。
这然后将意味着帧的各观看方位变换后“不同”分辨率版本将以所使用的相同(且最高)分辨率由变换级输出。这然后将促进更直接地组合(合成)帧的观看方位变换后不同分辨率版本,以提供整个输出帧。
在另一优选实施方式中,显示处理器的单个变换级(并且优选地为各变换级)能够从帧的多个不同分辨率版本的组合生成(并且生成)用于显示的观看方位变换后输出帧(并且用于进行这一点)。在这种情况下,单个变换级然后将能够且优选地确实处理(并使用)对于生成输出帧需要的帧的多个不同分辨率版本(的全部)。
在这种情况下,在显示处理器包括多个变换级(例如,多个显示处理流水线,各显示处理流水线包括相应变换级)的情况下,那么各剩余变换级(显示处理流水线)可以处于空闲状态,或者优选地可以(且是)用于并行处理不同的输出帧。例如,一个变换级(一个显示处理流水线)可以用于处理一对左右眼帧(图像)中的左眼帧(图像),并且另一变换级(显示处理流水线)用于处理右眼帧(图像),以用于在头戴式和/或虚拟现实或增强现实显示器上显示输出帧。
在这种情况下,用于显示的观看方位变换后输出帧将且优选地是通过以下处理来生成:变换级基于指示哪个分辨率版本要用于输出帧的哪些区域的数据,从由产生器处理单元生成的帧的一组多个不同分辨率版本适当采样。
由此,变换级将优选地确定一组输入帧位置,要对该组输入帧位置采样来提供用于输出观看方位变换后帧中的数据元素(采样位置)的数据值,但变换级将优选地然后还使用指示由产生器处理单元生成的、帧的哪个分辨率版本要用于被生成的帧的观看方位变换后输出版本的相应区域的数据,来确定由产生器处理单元生成的、帧的多个不同分辨率版本中的哪个或哪些版本要在该组输入帧位置处对数据采样。
因此,在这种情况下,变换级将使用指示帧的哪个分辨率版本要用于帧的观看方位变换后输出版本的相应区域的数据,来确定帧的多个不同分辨率版本中的哪个或哪些版本应用于被生成的观看方位变换后输出帧位置,然后在所确定的位置处对这样确定的输入帧的不同分辨率版本采样,以生成讨论中的输出观看方位变换后帧数据元素(像素)。
由此,在另一优选实施方式中,显示处理器通过以下处理,基于指示帧的哪个分辨率版本要用于帧的输出版本的相应区域的数据,使用来自帧的多个不同分辨率版本的数据,来生成要显示的帧的观看方位变换后输出版本(并且显示处理器对应地被配置为):
对于被生成的帧的观看方位变换后输出版本中的多个数据元素中的每个数据元素,显示处理器的变换级:
确定要被采样以提供用于输出观看方位变换后帧中的数据元素的数据值的一组一个或更多个输入帧位置;
使用指示由产生器处理单元生成的帧的哪个分辨率版本要用于被生成的帧的观看方位变换后输出版本的相应区域的数据,来确定要在所确定的一组一个或更多个输入帧位置处对由产生器处理单元生成的帧的多个不同分辨率版本中的哪个版本或哪些版本采样;并且
然后在所确定的位置处对输入帧的这样确定的不同分辨率版本采样,以提供输出观看方位变换后帧数据元素的数据值。
对应地,在优选实施方式中,显示处理器的变换级(且优选地为各变换级)被配置为:
对于被生成的帧的观看方位变换后输出版本中的多个数据元素中的每个数据元素,确定要被采样以提供用于输出观看方位变换后帧中的数据元素的数据值的一组一个或更多个输入帧位置;
使用指示由产生器处理单元生成的帧的哪个分辨率版本要用于被生成的帧的观看方位变换后输出版本的相应区域的数据,来确定要在所确定的一组一个或更多个输入帧位置处对由产生器处理单元生成的帧的多个不同分辨率版本中的哪个版本或哪些版本采样;并且
在所确定的位置处对输入帧的这样确定的不同分辨率版本采样,以提供输出观看方位变换后帧数据元素的数据值。
在这种情况下,指示帧的哪个分辨率版本对于输出帧要用于哪里的数据优选地为表示输出的要显示的帧(的区域)的二维阵列(例如,密度图)的形式、或者指示帧的哪些分辨率版本要跨输出的要显示的帧(的区域)使用的某一其他表示形式(诸如边界框或功能表示)。(例如,而不是包括某一形式的透明度(α)值。)
在优选实施方式中,指示帧的哪个分辨率版本对于输出帧要用于哪里的数据将由显示处理器取得(例如,取入到显示处理器的本地储存器中),并且例如可以尺度上推,在这之前,该数据用于确定对于讨论中的输出帧数据元素要采样帧的多个不同分辨率版本中的哪个或哪些版本。
指示帧的哪个分辨率版本对于输出帧要用于哪里的数据用于识别对于讨论中的数据元素需要哪个或哪些分辨率版本(哪些贴图级别),并且优选地用于触发取得由产生器处理单元生成的帧的这样确定的不同分辨率版本的相关区域,以由显示处理器使用(例如,取入到显示处理器的本地储存器中)。
变换级然后将在所确定的位置处对输入帧的这样取得的不同分辨率版本采样,以提供讨论中的输出观看方位变换后数据元素(像素)。
在该操作中,在对于输出帧中的给定数据元素仅存在要采样的帧的单个分辨率版本的情况下,那么变换级优选地以适当方式(诸如且优选地,使用双线性过滤)对帧的该单个所确定分辨率版本采样。
另一方面,在指示帧的哪个分辨率版本对于输出帧要用于哪里的数据指示应对于给定输出帧数据元素(像素)采样(用于该给定输出帧数据元素),然后变换级应且优选地确实从要组合的帧的两个或多个不同分辨率版本适当采样。在一个优选实施方式中,这包括使用适当过滤结构(诸如且优选地,三线性过滤)来对于讨论中的输出观看方位变换后帧数据元素(像素)采样(并混合)来自帧的所指示多个不同分辨率版本的数据值。
在优选实施方式中,过程(例如,变换级)包括(并且操作以)将要采样的帧的任意分辨率版本区域从比用于生成输出帧的帧的最高分辨率版本低的分辨率尺度上推,优选地以匹配最高分辨率,然后使用输入帧区域的尺度上推版本来执行采样。这可以帮助促进在对于输出帧数据元素(像素)采样输入帧的多个不同分辨率版本时在不同分辨率版本之间混合,和/或促进使输出帧中的不同分辨率区域之间的过渡平滑。
在要从两个较低分辨率版本(但它们不是帧的最高分辨率版本)采样的情况下,还将可以在执行采样操作之前,尺度上推对的较低分辨率版本,以匹配对的最高分辨率版本的分辨率。在这种情况下,然后优选地执行某一另外的平滑(过滤)操作,该操作使帧的输出版本中的、用输入帧的不同最高分辨率版本生成的区域之间的过渡平滑。
生成观看方位变换后输出帧中的数据元素时的采样(和过滤)过程优选地还考虑将使用输入帧的不同分辨率(或至少不同最高分辨率)版本生成的输出帧的区域之间的过渡,并且用来使过渡平滑。
具体地,申请人已经认识到在输出帧中的不同分辨率区域之间的边界(过渡)处,然后可以期望在边界两侧在输入帧的给定分辨率版本内采样。既然如此,将期望在边界的两侧存在用于讨论中的帧的分辨率版本的有效数据。
在一个优选实施方式中,这由产生器处理单元来确保,该产生器处理单元生成帧的不同分辨率版本,使得它们全部在边界区域中(至少在一定程度上)交叠。
在另一优选实施方式中,在产生器处理单元不生成帧的不同分辨率版本使得它们在边界区域处在不同分辨率版本之间交叠(不存在交叠的情况)的情况下,那么对于在边界区域处由产生器处理单元生成的帧的不同分辨率版本,生成另外数据,以提供在用于帧的不同分辨率版本的边界区域外部扩展的数据值,以当在输出帧中在输入帧的不同分辨率版本之间的边界处在输入帧的给定分辨率版本中采样时提供用于采样的有效数据。
这例如可以通过以下处理来实现:产生器处理单元(例如,GPU)预先(在向显示处理器提供帧的不同分辨率版本之前)将较低分辨率级预混成较高分辨率级,以提供较高分辨率区域中的足够数据来允许跨边界在该较高分辨率版本内采样。另选地或另外,可以随着输入帧的不同分辨率版本加载到显示处理器上的本地缓冲器中,对于输入帧的不同分辨率版本的区域生成在不同分辨率版本之间的边界处的这种另外数据元素值。
如上面讨论的,在优选实施方式中,输入帧的不同分辨率版本的数据被加载到显示处理器的本地缓冲器中,以使用。在特别优选的实施方式中,变换级(和各变换级)可操作以识别数据将被生成例如当前被生成的已变换输出帧的行需要的、不同分辨率输入帧版本的区域(且优选地为相应的二维块(区域)),并且可操作以使得显示处理器的输入级将必要的输入帧区域(块)加载到显示控制器的输入(例如,本地)缓冲器中,以可用于在要生成对应的输出已变换帧采样位置时由变换级使用。这可以特别帮助促进能够生成输出已变换帧,依次作为用于已变换输出帧的行的采样位置的连续序列。
在该结构中,变换级优选地在必要时还指示并确定它需要不同分辨率输入帧版本数据中的哪一个。在变换级简单地产生由显示处理器生成的输入帧的不同分辨率版本中给定的一个的观看方位变换后版本的情况下,那么变换级可以简单地指示它是所需的该分辨率输入帧版本的块。
在变换级可操作以处理并组合输入帧的多个不同分辨率版本的情况下,那么变换级优选地使用指示帧的多个不同分辨率版本中的哪一个要用于输出观看方位变换后帧区域的数据,来确定需要由产生器处理单元生成的、输入帧的哪个或哪些不同分辨率版本,并且触发显示处理器的输入级加载必要的输入帧区域(块),这些输入帧区域来自由产生器处理单元生成的帧的那些不同分辨率版本。
在这一点上被加载的输入帧的块(区域)可以为不同分辨率输入帧版本的任意合适且期望的块(区域)。各块优选地包括输入帧的已定义采样(数据)位置(数据元素)的(二维)阵列,并且沿各轴方向扩展多个采样位置(数据元素)。块优选地为矩形,并且优选地为正方形。块例如可以各包括输入帧的4*4、8*8或16*16个采样位置(数据元素)。
在特别优选的实施方式中,这通过以下处理来进行:变换级使用要对于输出已变换帧采样位置(数据元素)采样的输入帧位置的整数部分,来识别数据将被生成输出已变换帧采样位置需要的输入帧的块(区域),然后变换级向显示控制器的输入级指示该块位置(例如,整数值),以使得显示控制器的输入级将输入帧的不同分辨率输入帧版本(中的一个或更多个)的适当块取入到显示控制器的本地缓冲器中,变换级将从该本地缓冲器读取期望的输入帧版本采样位置,以生成输出已变换帧采样位置。
虽然上面具体参考整个数据处理系统的操作描述了本发明,但本发明还扩展到显示处理器和显示处理器本身的操作。
由此,根据本发明的另外方面,提供了一种操作显示处理器的方法,该显示处理器可操作以向显示器提供帧以显示,该显示处理器包括:
输入级,该输入级可操作以读取输入帧的数据;
输出级,该输出级可操作以向显示器提供用于显示的帧;以及
至少一个变换级,该至少一个变换级可操作以:
使用由输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;
方法包括以下步骤:
显示处理器的输入级读取要显示的帧的多个不同分辨率版本中的一些或全部的数据;
显示处理器基于指示帧的哪个分辨率版本要用于要显示的帧的观看方位变换后输出版本的相应区域的数据,使用由输入级读取的、来自要显示的帧的多个不同分辨率版本的数据,来生成要显示的帧的观看方位变换后输出版本;
并且
显示处理器的输出级向显示器提供帧的观看方位变换后输出版本以显示。
根据本发明的另外方面,提供了一种可操作以向显示器提供帧以便显示的显示处理器,该显示处理器包括:
输入级,该输入级可操作以读取输入帧的数据;
输出级,该输出级可操作以向显示器提供用于显示的帧;以及
至少一个变换级,该至少一个变换级可操作以:
使用由输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;
其中,
显示处理器的输入级被配置为读取要显示的帧的多个不同分辨率版本中的一些或全部的数据;
显示处理器被配置为基于指示帧的哪个分辨率版本要用于要由显示处理器生成以显示的要显示的帧的观看方位变换后输出版本的相应区域的数据,使用由输入级读取的、来自要显示的帧的多个不同分辨率版本的数据,来生成要显示的帧的观看方位变换后输出版本,该所基于的数据被提供给显示处理器;
并且
显示处理器的输出级被配置为向显示器提供帧的观看方位变换后输出版本以显示。
如本领域技术人员将理解的,本发明的这些方面可以按照需要(且优选地确实)包括这里所描述的本发明的优选和可选特征中的任意一个或更多个或全部。
虽然上面具体参照单帧的生成和处理描述了本发明,但如本领域技术人员将理解的,优选地对于要显示的多个帧且优选地对于要显示的多个帧的序列的各帧执行以本发明的方式进行的操作。由此,在实施方式中,以本发明的方式进行的操作用于生成用于向用户显示的多个输出帧的序列,对应地,优选地对于要显示的多个输出帧重复以本发明的方式进行的操作。
由此,例如,产生器处理单元将产生要显示的多个输出帧的序列,显示处理器然后适当处理这些帧,以向显示器提供这些帧以显示。
因此且优选地,用于显示的帧的生成和处理还可以包括生成分别向用户的左眼和右眼显示的“左”和“右”帧的序列。用于显示的各对“左”和“右”帧可以从命令输入帧或从相应的“左”和“右”输入帧来生成(根据期望)。
本发明中的显示器可以是任意合适且期望形式的显示器,并且可以包括显示器可以包括的任意合适且期望的部件和元件,诸如且优选地,显示板、用于将帧数据扫描到显示板的显示驱动电路、以及用于接收要在显示板上显示的数据的显示接收器。显示器还可以包括适当的本地(片上)帧数据储存器,诸如帧缓冲器。显示器可以包括整个数据处理系统(装置)的本地显示器(屏幕)和/或外部显示器。可以存在多于一个显示输出(如果期望)。
在特别优选的实施方式中,显示器包括头戴式显示器,例如且优选地,该显示器用于虚拟现实和/或增强现实显示。因此,在这种情况下,显示器应且优选地确实包括用于向用户显示帧的显示板、和用户将观看所显示帧所借助的透镜。
对应地,在优选实施方式中,显示器具有关联的观看方位确定(例如,头部跟踪)传感器,这些传感器优选地基于显示器的当前和/或相对位置定期生成观看跟踪信息,并且可操作以向数据处理系统的处理单元定期提供该观看方位,例如,优选地,以在基于观看方位变换帧时使用。
由此,本发明的另一方面包括一种头戴式显示装置,该头戴式显示装置包括此处描述的本发明的方面和实施方式中的任意一个或更多个的数据处理系统。对应地,本发明的另一方面包括一种操作头戴式显示装置的方法,该方法包括以下步骤:以本发明的方面和实施方式中的任意一个或更多个的方式操作头戴式显示装置。
除了以本发明的方式进行的操作所需的特定单元和部件之外,数据处理系统还可以且优选地确实包括数据处理系统可以包括的任意其他合适且期望的部件、单元、处理器等中的一个或更多个且优选地为所有。由此,数据处理系统可以包括中央处理单元、主处理器、图形处理单元、视频处理器、图像信号处理器、摄像头、系统总线以及存储控制器中的一个或更多个且优选地为所有。在优选实施方式中,数据处理系统包括一个或更多个存储器和/或存储装置和/或与该存储器和/或存储装置通信,该存储器和/或存储装置存储这里描述的数据,和/或存储用于执行这里描述的过程的软件。
数据处理系统还可以在期望时且在优选实施方式中确实包括两个显示处理器,其中至少一个且优选地为这两个与本发明一致且可根据本发明操作。
可能遇到以下这种情况,其中,例如,使用显示处理器的电子装置包括主装置(该主装置例如可以为移动装置,诸如电话、或PC或控制台)与伴随显示装置(诸如且优选地为视图器)这两者,主装置然后向(有线或无线)伴随显示装置发送用于显示的图像,伴随显示装置包括显示器以及显示处理器。
在这种结构中,显示处理可以分布在主装置与伴随装置之间。例如,主装置可以准备用于显示的帧,但然后伴随装置执行包括任意观看方位变换等的显示处理,以产生最终显示帧。在另一极端,主装置可以准备完全的已补充透镜校正和观看方位变换后输出帧,伴随装置然后简单地进行这些帧的最终处理,以显示。
在本发明的特别优选实施方式中,本发明的数据处理系统根据这些选项中的第一个来配置,即,包括具体产生要显示的帧的多个不同分辨率版本的主处理器,但然后在伴随显示装置(诸如且优选地,头戴式显示装置)中的显示处理器上执行本发明的显示处理器操作。
由此,在优选实施方式中,数据处理系统包括:主装置,该主装置包括产生器处理单元;和伴随显示装置,该伴随显示装置包括本发明的方式(以本发明的方式操作)的显示处理器。主装置优选地还包括另外的显示处理器,该显示处理器还可以能够并且在优选实施方式中能够以本发明的方式操作。
在该结构中,主装置将生成用于显示的帧的多组多个不同分辨率版本,伴随显示装置上的显示处理器然后以本发明的方式处理用于显示的帧的这些不同分辨率版本。
在这种结构中,将必须向伴随装置显示处理器提供帧的多个不同分辨率版本(例如,一组贴图),以以本发明的方式处理。因此,伴随装置显示处理器将需要并且确实优选地包括或访问用于存储用于处理的帧的、伴随装置上的适当缓冲器。
虽然在这点上将可以简单地将要显示的帧的不同分辨率版本整体发送到伴随装置(伴随装置上的显示处理器),但申请人已经认识到在仅帧的各不同分辨率版本的部分将用于最终输出帧中的情况下(在生成中心凹形显示时通常就是这样),不必将帧的不同分辨率版本整体发送来由伴随装置的显示处理器处理,相反仅需要向伴随装置上的显示处理器发送帧的各不同分辨率版本的所需部分。此外,这然后将具有在生成用于显示的中心凹形输出帧时潜在显著减小主装置与伴随装置之间的传输带宽的效果。
由此,在特别优选的实施方式中,主装置操作以:一旦产生器处理单元已经产生用于要显示的帧的一组不同分辨率版本(例如,一组贴图),那么确定在使用帧的多个不同分辨率版本来生成用于显示的输出帧时将由伴随装置上的显示处理器需要的、要显示的帧的该多个不同分辨率版本的部分,并且仅向伴随装置发送所确定的(所选的)、已经生成的帧的不同分辨率版本的部分,以由伴随装置上的显示处理器使用。
在生成输出帧时将由伴随装置上的显示处理器需要的、帧的不同分辨率版本的部分可以根据期望来识别并选择。在特别优选的实施方式中,这基于数据来进行,该数据指示输入帧的哪些分辨率版本对于输出观看方位变换后帧要用于哪里。由此,在优选实施方式中,主装置操作以使用指示输入帧的哪些分辨率版本对于输出观看方位变换后帧要用于哪里的数据,来识别在生成用于显示的帧的输出版本时将由伴随装置中的显示处理器需要的帧的各不同分辨率版本的哪些区域,然后向伴随装置发送这些(且仅这些)所识别区域(的数据)。
在这种情况下,输出帧优选地被分成多个优选规则尺寸和形状的区域,各区域优选地包括多个数据元素的矩形(且优选正方形)块(如上面讨论的),并且对于输出帧中的各区域确定将需要由产生器处理单元产生的帧的哪个分辨率版本,主装置然后向伴随装置发送帧的所确定分辨率版本的所识别区域。
该操作可以按需以更大或更小的精度识别帧的不同分辨率版本的所需区域。在实施方式中,过程操作以优选较粗糙地裁切帧的不同分辨率版本的不可见(不用)区域。
相信这种结构本身可以是新且有利的。
由此,根据本发明的另外方面,提供了一种操作数据处理系统的方法,该数据处理系统包括:
主装置,该主装置包括:
产生器处理单元,该产生器处理单元可操作以生成用于在显示器上显示的帧;以及
伴随显示装置,该伴随显示装置包括:
显示器,该显示器可操作以显示用于显示的帧;
显示处理器,该显示处理器可操作以向显示器提供由产生器处理单元生成的帧以显示,显示处理器包括:
输入级,该输入级可操作以读取输入帧的数据;
输出级,该输出级可操作以向显示器提供用于显示的帧;以及
至少一个变换级,该至少一个变换级可操作以:
使用由输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;
方法包括以下步骤:
产生器处理单元对于要显示的帧生成要显示的帧的多个不同分辨率版本;
主装置:
确定由产生器处理单元生成的要显示的帧的多个不同分辨率版本的部分,当使用帧的多个不同分辨率版本来生成用于显示的输出帧时,伴随装置上的显示处理器将需要这些部分;并且
仅向伴随装置发送已经生成的帧的不同分辨率版本的所确定部分,以由伴随装置上的显示处理器使用;
以及
伴随装置上的显示处理器:
使用由主装置发送到伴随装置的数据来生成要显示的帧的观看方位变换后输出版本,该数据来自由产生器处理单元生成的要显示的帧的多个不同分辨率版本;
并且
向显示器提供帧的观看方位变换后输出版本以显示。
根据本发明的另外方面,提供了一种数据处理系统,该数据处理系统包括:
主装置,该主装置包括:
产生器处理单元,该产生器处理单元可操作以生成用于在显示器上显示的帧;以及
伴随显示装置,该伴随显示装置包括:
显示器,该显示器可操作以显示用于显示的帧;
显示处理器,该显示处理器可操作以向显示器提供由产生器处理单元生成的帧以显示,显示处理器包括:
输入级,该输入级可操作以读取输入帧的数据;
输出级,该输出级可操作以向显示器提供用于显示的帧;以及
至少一个变换级,该至少一个变换级可操作以:
使用由输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;
其中,
产生器处理单元被配置为对于要显示的帧生成要显示的帧的多个不同分辨率版本;
主装置被配置为:
确定由产生器处理单元生成的要显示的帧的多个不同分辨率版本的部分,当使用帧的多个不同分辨率版本来生成用于显示的输出帧时,伴随装置上的显示处理器将需要这些部分;并且
仅向伴随装置发送已经生成的帧的不同分辨率版本的所确定部分,以由伴随装置上的显示处理器使用;
并且
伴随装置上的显示处理器被配置为:
使用由主装置发送到伴随装置的数据来生成要显示的帧的观看方位变换后输出版本,该数据来自由产生器处理单元生成的要显示的帧的多个不同分辨率版本;
并且
向显示器提供帧的观看方位变换后输出版本以显示。
如本领域技术人员将理解的,本发明的这些方面和实施方式可以按照需要(且优选地确实)包括这里描述的本发明的优选和可选特征中的任意一个或更多个或全部。
由此,例如,主处理器优选地向显示处理器提供数据,该数据指示由产生器处理单元生成的帧的哪个分辨率版本要用于要由显示处理器生成以显示的帧的观看方位变换后输出版本的相应区域。
类似地,显示处理器优选地被配置为基于指示由产生器处理单元生成的帧的哪个分辨率版本要用于要由显示处理器生成以显示的要显示的帧的观看方位变换后输出版本的相应区域的数据,使用由输入级读取的、来自由产生器处理单元生成的要显示的帧的多个不同分辨率版本的数据,来生成要显示的帧的观看方位变换后输出版本,该所基于的数据被提供给显示处理器。
在生成输出帧时将由伴随装置上的显示处理器需要的、帧的不同分辨率版本的部分可以根据期望来识别并选择。在特别优选的实施方式中,这基于数据来进行,该数据指示输入帧的哪些分辨率版本对于输出观看方位变换后帧要用于哪里。由此,在优选实施方式中,主装置操作以使用指示输入帧的哪些分辨率版本对于输出观看方位变换后帧要用于哪里的数据,来识别在生成用于显示的帧的输出版本时将由伴随装置中的显示处理器需要的帧的各不同分辨率版本的哪些区域,然后向伴随装置发送这些(且仅这些)所识别区域(的数据)(以期望的粒度级别)。
伴随装置优选地还包括本地储存器,诸如缓冲器,该本地储存器用于在伴随装置上存储已经由主装置发送到伴随装置的帧的不同分辨率版本的所确定部分,以由伴随装置上的显示处理器使用。
主装置优选地还在将帧的不同分辨率版本的所选部分发送到伴随装置之前,将这些部分打包成适当数据结构,诸如且优选地为单帧结构。然后优选地将这样发送的帧的不同分辨率版本的部分适当存储在伴随装置的缓冲器中,以然后可用于由伴随装置的显示处理器使用。
被发送到伴随装置的帧的不同分辨率版本的相关部分还可以且在优选实施方式中压缩,以传输(对应地,然后在伴随装置上解压,例如,作为伴随装置上的显示处理器的操作的一部分)。应还对伴随装置适当执行数据的任意其他必要的格式变化、转换或拆包。
帧的不同分辨率版本的所需部分的识别、选择以及传输可以由主装置的任意合适且期望的元件或部件来执行。在特别优选的实施方式中,这由主装置的显示处理器来进行(该主装置另外将正常可操作以向伴随显示装置发送用于显示的数据)。
申请人还已经认识到在这种结构和系统中,也可以存在特定图像,诸如用户界面元素、相片以及其他2D“公告板”,这些图像在被显示的连续帧中可以重复使用。在优选实施方式中,表示这种图像的帧从输出帧到输出帧保留在显示装置上的缓冲器中,使得它们可用于显示装置上的多个输出帧。这然后避免并降低对向伴随显示装置重复发送这种帧的需要。这可以对于任意形式的图像(帧)来进行,该图像可以重复重用于源帧数据将保持静态的输出帧的序列中(但例如可以显示在不同输出帧中的不同位置处)。
本发明可以在任意合适的系统中实施,诸如基于合适配置的微处理器的系统。在实施方式中,本发明实施在计算机和/或基于微处理器的系统中。
本发明的各种功能可以以任意期望且合适的方式进行。例如,本发明的功能可以实施在硬件或软件中(根据期望)。由此,例如,除非以其他方式指示,本发明的各种功能元件、引擎、级以及“装置”可以包括合适的处理器、控制器、功能单元、电路、处理逻辑、微处理器结构等,它们可操作以执行各种功能等,诸如适当专用硬件元件(处理电路)和/或可以被编程以以期望方式操作的的可编程硬件元件(处理电路)。
这里还应当注意的是,如本领域技术人员将理解的,本发明的各种功能等可以在给定处理器上重复和/或并行执行。等同地,各种处理级可以共享处理电路等(如果期望)。
此外,本发明的处理级和引擎中的任意一个或更多个或所有可以被具体实施为处理级电路,该处理级电路例如为一个或更多个固定功能单元(硬件)的形式(处理电路)、和/或可以被编程为执行期望操作的可编程处理电路的形式。相等地,本发明的处理级和处理级电路中的任意一个或更多个可以作为单独的电路元件提供给其他处理级或处理级电路中的任意一个或更多个,和/或处理级和处理级电路中的任意一个或更多个或所有可以至少部分由共享处理电路来形成。
本领域技术人员还将理解,本发明的所有描述的方面和实施方式可以(且在实施方式中确实)按照需要包括这里描述的本发明的优选和可选特征中的任意一个或更多个或所有。
根据本发明的方法至少部分地可以使用软件(例如,计算机程序)实施。由此将看到,当从另外的实施方式看时,本发明提供计算机软件,该计算机软件当安装在数据处理器上时专门适用于执行这里描述的方法;计算机程序元件,该计算机程序元件包括计算机软件代码部,用于在程序元件在数据处理器上运行时执行这里描述的方法;和计算机程序,该计算机程序包括软件代码,该软件代码当程序在数据处理系统上运行时适用于执行这里描述的方法的所有步骤。数据处理器可以是微处理器系统、可编程FPGA(现场可编程门阵列)等。
本发明还扩展到计算机软件载体,该计算机软件载体包括这种软件,这种软件当用于操作显示控制器或包括数据处理器的微处理器系统时与所述数据处理器结合使所述控制器或系统执行本发明的方法的步骤。这种计算机软件载体可以是物理存储介质,诸如ROM芯片、CD ROM、RAM、闪存、或磁盘,或可以是信号,诸如电线上的电信号、诸如到卫星的光信号或无线电信号等。
还将进一步理解的是,不是本发明的方法的所有步骤都需要由计算机软件执行,并且由此根据更宽实施方式,本发明提供了计算机软件并且这种软件安装在计算机软件载体上,用于执行这里阐述的方法的步骤中的至少一个。
本发明可以因此适当地具体实施为用于与计算机系统一起使用的计算机程序产品。这种实施可以包括一系列计算机可读指令,该一系列计算机可读指令固定在有形、永久介质上,诸如计算机可读介质,例如,磁盘、CD-ROM、ROM、RAM、闪存或硬盘。还可以包括一系列计算机可读指令,在有形介质(包括但不限于,光学或模拟通信线)上,或无形地使用无线技术(包括但不限于,微波、红外或其他传输技术),这些指令经由调制解调器或其他接口装置可发送到计算机系统。该系列计算机可读指令具体实施这里之前描述的功能的所有或一部分。
本领域技术人员将理解,这种计算机可读指令可以以多种编程语言来写,用于与许多计算机架构或操作系统一起使用。进一步地,这种指令可以使用任意存储技术来存储(存储技术现在或将来包括但不限于半导体、磁或光),或使用任意通信技术来发送(通信技术现在或将来包括但不限于光学、红外或微波)。预期的是,这种计算机程序产品可以作为可去除介质来分发,附有已打印的文档或电子文档,例如,现成软件;例如在系统ROM或固定盘上预加载有计算机系统;或在网络(例如,因特网或万维网)上从服务器或电子公告栏分发。
附图说明
现在将仅以示例的方式并参照附图来描述本发明的各种实施方式,附图中:
图1示出了示例性数据处理系统;
图2示意性示出了示例性头戴式显示器视图器;
图3例示了中心凹形图像的显示;
图4示出了可以被组合来提供用于显示的中心凹形图像的帧的示例性的一组多个不同分辨率版本;
图5示意性示出了组合帧的多个不同分辨率版本来提供用于显示的中心凹形图像;
图6示意性示出了在本发明的实施方式中的数据处理系统的操作;
图7示意性示出了在本发明的实施方式中的显示处理器的相关元件;
图8更详细地示出了图7的显示处理器的观看方位变换操作;
图9是更详细地示出了图7的显示处理器的观看方位变换操作的流程图;
图10示出了本发明的实施方式中的用于显示的中心凹形图像的生成;
图11示出了本发明的另一实施方式中的用于显示的中心凹形图像的生成;
图12A和图12B示出了本发明的另一实施方式中的用于显示的中心凹形图像的生成;以及
图13示出了可以用于本发明的实施方式中的示例性密度纹理。
同样的附图标记贯穿附图在适当的情况下用于同样的部件。
具体实施方式
现在将描述本发明的若干优选实施方式。
本实施方式涉及在头戴式显示系统(诸如用于增强现实(AR)或虚拟现实(VR)显示器)中向用户显示帧的过程。
这种系统可以如图1所示(且以上所描述)的来配置,系统的显示器4包括适当的头戴式显示器,该头戴式显示器具体包括:显示屏(板),该显示屏用于向佩戴头戴式显示器的用户显示要被观看的帧;一个或更多个透镜,该一个或更多个透镜处于在用户眼睛与显示屏之间的观看路径中;以及一个或更多个传感器,该一个或更多个传感器用于在使用中(当在显示器上向用户显示图像时)跟踪用户头部(他们的头部位置和/或他们的观看(注视)方向)的姿态。
图2示意性示出了可以用于本发明的实施方式中的示例性头戴式显示器85。如
图2所示,头戴式显示器85例如包括适当的显示底座86,该显示底座包括显示屏(板)87安装到的一个或更多个头部姿态跟踪传感器。一对透镜88安装在在显示屏87的观看路径中的透镜底座89中。最后,存在使用户佩戴视图器的适当配件95。
在图1所示的系统中,显示处理器5将操作以向显示器4提供适当的图像(帧),以由用户观看。显示处理器5可以以有线或无线方式耦合到显示器4(根据期望)。
要显示在头戴式显示器4上的图像(帧)例如将响应于来自在整个数据处理系统的主处理器(CPU)7上执行的应用10的对这种渲染的请求由图形处理器(GPU)2来渲染,并且将这些帧存储在主存储器3中。显示处理器5然后将从存储器3读取帧,作为输入面,并且向显示器4适当提供这些帧,以向用户显示。
本实施方式具体涉及以下情形:图1的数据处理系统用于在显示器4上显示中心凹形图像。
图3示出了示例中心凹形图像,在该中心凹形图像中,固定点(最高分辨率的区域)40朝向图像的左手侧。可以看到,图像远离固定点的区域41以较低分辨率显示。
在本实施方式中,当执行中心凹形显示时,图形处理器3被控制以渲染要显示的输入帧(由此为场景的同一视图)的多个(例如,三个)不同分辨率版本,然后适当地组合这些不同分辨率版本(图像),以提供被显示的输出“中心凹形”图像(输出帧)。图形处理器可以以任意合适且期望的方式渲染要显示的帧的多个不同分辨率版本,例如,根据在申请人的美国专利申请公报No.2017/031660中描述的技术,此处将该公报全文并入。
图4示出了可以组合来提供用于显示的中心凹形图像(帧)的场景的同一视图(帧)的示例性的一组三个不同分辨率版本(图像),即,视图的最高分辨率版本50、“中间”分辨率视图51以及视图的最低分辨率版本52。然后可以组合这些不同图像,以提供用于显示的最终输出“中心凹形”图像。在图4中,为比较,不同分辨率图像被示出成全部被缩放为相同尺寸。
图5示意性示出了组合对应于图4中所示的图像的不同分辨率图像(帧的版本)64、65、66以提供最终中心凹形输出图像(帧)60。如图5所示,最终输出的中心凹形图像(帧)60由不同分辨率图像64、65以及66组成,并且不同分辨率图像64、65以及66中的每个示出被渲染的总场景的不同视场(部分)。
具体地,最高分辨率视图64的适当区域被显示在例如确定用户在看着的、输出中心凹形帧的区域61中,较低分辨率视图65、66的适当区域然后逐渐显示在远离最高分辨率区域61的、输出帧60的区域62、63中。
在本实施方式中,一旦已经由图形处理器3渲染出不同分辨率图像(要显示的帧的版本)64、65、66(各不同分辨率图像的适当部分),则将这些版本(图像)存储于数据处理系统的存储器3中的适当帧缓冲器中。然后由显示处理器5适当地组合这些不同的分辨率图像,以提供被显示的最终输出中心凹形帧,如图5所例示。
图6示意性示出了在本发明的实施方式中的数据处理系统在执行这种中心凹形渲染和显示时的操作。
如图6所示,图形处理器2将生成要显示的帧的适当组200、201的多个不同分辨率版本,并且将要显示的帧的这些组的不同分辨率版本存储在存储器3中。
图6将图形处理器2示出为生成要显示的帧的多组不同分辨率版本,作为适当组的贴图(贴图链)。图6还示出了生成用于要显示的左右眼图像的相应组的贴图。其他结构当然会是可能的。
如图6所示,图形处理器2在适当驱动器203的控制下生成要显示的帧的相应组的不同分辨率版本,该驱动器例如将在数据处理系统的CPU 7上执行。
如图6所示,驱动器203控制图形处理器2根据指示帧的哪些分辨率版本要用于帧的哪些区域的数据来生成要显示的帧的多组不同分辨率版本,该数据具有第一密度纹理204和第二密度纹理205的形式的,该第一密度纹理基于观看帧将借助的透镜系统的特性来指示要用于帧的不同区域的帧的不同分辨率版本(例如可以由在CPU 7上执行的适当应用来生成),第二密度纹理基于观看者当前的注视方向(可以根据所提供的适当头部/眼睛跟踪信息207来生成)。
在该实施方式中,密度纹理204、205为二维阵列的形式,该二维阵列表示输出的要显示的帧(的区域),阵列内的各数据元素位置然后指示帧的哪个分辨率版本要用于输出帧内的给定区域(块)。
图13示出了示例性密度纹理400。在该图中,最暗纹理位置401示出将显示帧的较高分辨率版本的位置,最浅纹理位置402示出将显示帧的最低分辨率版本的位置,并且“中灰”纹理位置403示出了应显示帧的最高分辨率区域和最低分辨率区域的组合的位置。实际上,这些密度纹理位置每个将由合适的(灰度)值来表示(将对于它们存储该值),这将指示帧的哪个或哪些分辨率版本要用于与讨论中的密度纹理位置对应的输出帧区域。
密度纹理204、205可以使用整数数据值并因此仅指示要用于帧区域(和各帧区域)的不同分辨率版本中的单个,或者可以使用分数值(或梯度(该梯度然后可以转换成分数值)),非整数分数值(级别)然后指示应对于该输出帧区域组合两个不同分辨率版本(贴图(mipmap)级别)。其他结构当然会是可能的。
指示要用于各输出帧区域的帧的不同分辨率版本的数据还可以以其他形式来提供,例如,借助于查找表,或者由某些形式的函数表达,或者为限定应使用最高分辨率版本(级别)的范围区域的边界框(例如,2D轴对齐边界框)形式(然后从帧的较低分辨率(级别)版本生成所有其他区域)。
一旦图形处理器2已经生成要显示的帧的适当组的不同分辨率版本,则显示处理器5将从存储器3读取要显示的帧的这些不同分辨率版本,并且提供适当的观看方位变换后输出帧211、212(例如,一个帧用于一只眼睛)以显示。
该操作如图6所示在用于显示处理器的适当驱动器209(再次可以在CPU 7上执行)的控制下执行,并且如图6所示的还将使用指示帧的那些分辨率版本要用于输出帧的哪些区域的密度纹理以及由头戴式显示器的适当注视跟踪传感器检测的“最新”注视跟踪信息210。下面将较详细地讨论显示处理器5在这一点上的操作。
图7示意性示出了在本发明的实施方式中的显示处理器5的相关元件。
如图7所示,显示处理器5包括为存储子系统220形式的输入级,该输入级可操作以具体将已经由图形处理器2生成的输入帧的不同分辨率版本的数据从存储器3加载到显示处理器5的本地缓冲器221中。在本实施方式中,该数据作为输入帧的不同分辨率版本的相应区域(块)来加载。
如图7所示,显示处理器然后包括一个或更多个(并且在该示例中为两个)显示处理流水线228、229,显示处理流水线中的每个分别包括XR处理单元222、223以及XR层流水线224、225。然后可以在合成单元226中组合来自这些显示处理流水线的输出,并且将其提供给显示输出流水线227,以传输到显示器。
合成单元(显示合成器)226操作以合成由显示处理流水线生成的帧,以生成用于显示的合成输出帧,例如由适当的α混合操作等来合成(如果需要)。
显示输出流水线227被配置为对输出面(帧)选择性地进行任意期望的处理操作,然后传输(已处理的)输出帧,以在关联的显示器上适当显示。
显示输出流水线227例如可以包括颜色转换级,该颜色转换级可操作以向输出帧应用颜色转换;抖动级,该抖动级可操作以向输出帧应用抖动;和/或伽马校正级,该伽马校正级可操作以对输出帧进行伽马校正。显示输出流水线227还包括适当的显示定时功能。
显示输出流水线227例如可以与(例如,数据处理系统是其一部分的移动装置、智能电话、平板电脑等的)数据处理系统的本地显示器和/或外部或远程显示器接口连接。
因此,显示输出流水线227充当用于向显示器4提供用于显示的输出帧的、显示处理器5的输出级。
XR层流水线224、225在合成级之前执行颜色管理和颜色校正功能。
各显示处理流水线的XR处理单元222、223具体可操作以从存储在存储器3中的、由图形处理器2生成的输入帧生成观看方位变换后输出帧。
图8和图9更详细地示出了XR处理单元222、223的该操作。
图8更详细地示出了XR处理单元。显示处理器的各XR处理单元这样配置并操作。
如图8所示,显示处理器的XR处理单元222、223包括若干级,即:坐标内插器级60、色差校正级61、观看方位变换级62以及内插级63。这些级中的每一个在本实施方式中以固定功能硬件模块(处理电路)的形式来实现,该固定功能硬件模块被配置为对它接收的输入数据执行特定处理操作,还具有由于改变用于各模块的特定控制参数的能力而产生的某一有限可配置性。控制参数在本实施方式中基于系统与其一起使用的特定视图器(显示器)4在要显示的帧序列时由用于显示处理器5的驱动器209来设置。
其他结构当然会是可能的。
坐标内插器级60操作以基于与透镜失真(该透镜失真当在显示器4的显示板上显示且借助头戴式显示器的透镜观看时将被引入到输出已变换帧)对应的已定义透镜失真,对于要从XR处理单元输出的输出已变换面中的采样位置x、y确定在输入帧中(在要被显示给用户的、由存储在存储器3中的GPU 2渲染的帧中)的对应位置(坐标)x’、y’。
坐标内插器级60例如可以为了该目的而用例如可由用于显示处理器的驱动器借助于控制参数设置的椭球函数的参数(诸如椭球的焦点)来执行某一形式的三次曲线或该函数。
另选地,将各个颜色通道的输出坐标映射到输入坐标的三个单独的失真网格可以用于这一点。例如,可以使用小网格(32*32),其间的值使用b样条内插来内插。还将可以使用双线性内插来内插中间坐标值(如果期望)。
色差校正级61取得由坐标内插器级60确定的输入面位置(坐标)x’、y’,并且“校正”这些坐标,以考虑将由头戴式显示器4的透镜引入的色差。
如图8所示,对于各颜色平面(R,G,B)执行单独的色差校正。
因此,该色差校正级61的输出是三组已修改输入帧位置(坐标),一组xR’、yR’用于对输入帧中的红色平面采样,一组xG’、yG’用于对输入帧中的绿色平面采样,并且一组xB’、yB’用于对输入帧中的蓝色平面采样。
在另一实施方式中,不是具有单独的坐标内插器60和色差校正级61,而是可以使用三个单独的“坐标内插器”级(块)(每个颜色通道一个)来单独生成R、G以及B颜色平面坐标,坐标内插器级还考虑色差。在这种情况下,过程将不具有单独的色差校正级61,而是将简单地使用三个单独的坐标内插器(每个颜色通道一个)来生成适当的R、G以及B坐标(考虑色差)。
然后向观看方位变换级62提供由色差校正级61(或以其他方式)确定的已修改输入帧位置。
该级将与输入帧要被渲染为犹如从其观看以在显示器4上显示的预测观看方位对应的一组变换参数当作其输入,并且操作以生成基于(且对应于)预测观看方位的输入帧的投影。
观看方位变换级62因此对由色差校正级提供的各输入帧位置执行另外的变换,从而提供一组观看方位变换的输入帧位置(xR”,yR”)、(xG”,yG”)、(xB”,yB”),该组输入帧位置然后将用于对输入帧采样,以导出要用于当前被生成的输出已变换帧采样(数据元素)位置x、y的颜色值。
观看方位变换级62对各输入帧位置执行的变换例如可以包括2D平面(图像)的3D旋转(透视变换/2D单应性)。再次,这在使用中可以由用于变换级62的驱动器设置控制参数来适当调节。
由观看方位变换级62确定的已变换输入帧位置被提供给内插级63,该内插级在所指示的位置处对输入帧采样,以确定这些相应输入帧位置处的输入帧值。这通过适当内插用于已定义输入帧采样(数据元素)位置的输入帧值来进行。
输入帧采样位置数据的内插可以以任意合适且期望的方式来执行。下面将更详细地讨论在本实施方式中如何进行这一点。
因为对于不同颜色平面确定不同输入帧位置(坐标),所以在本实施方式中,因此(基于用于各颜色平面的所确定输入帧位置)对于用于该颜色平面的输出已变换帧采样位置(数据元素)内插单独的一组数据。由此,用于输出已变换帧采样位置(数据元素)的一组RGB颜色数据将包括从所确定的“红色”输入帧位置(坐标)(xR”,yR”)确定的红色值、从所确定的“绿色”输入帧位置(坐标)(xG”,yG”)确定的绿色值以及从所确定的“蓝色”输入帧位置(坐标)(xB”,yB”)确定的蓝色值。
在还要确定α(透明度)值的情况下,那么使用对于讨论中的颜色平面确定的各输入帧位置(坐标),来对于各颜色平面单独确定该值。
已内内插然后如图8所示地输出到输出缓冲器(FIFO)52,以提供给显示处理器的显示处理流水线的剩余部分,以提供给显示器4,以向用户显示。
如图8所示,为了适当输入帧数据可用于内插级63,由观看方位变换级62确定(且要由内插级63采样)的已修改输入面位置用于65控制以下内容:在由内插级63使用包含这些采样位置的输入帧的适当区域之前将这些适当区域取入到输入缓冲器51中。
为此,使用由观看方位变换级62确定的输入帧位置的整数部分来识别包含所需输入帧数据的输入帧的适当二维块。输入级然后操作以将这些相应输入帧块加载到输入缓冲器51中。
还如图8所示,为了允许将输入帧数据请求到输入缓冲器51中以便由内插级63使用与内插级63处理该数据以提供输出已变换帧采样位置之间的时延,可以存在在变换级中包括的适当延迟(时延吸收)机制64。这可以根据期望来实现。
如图8所示,通过从显示器4接收适当的同步信号65触发XR处理单元50的操作并控制其定时。
图9是示出了如图8所示的XR处理单元50的操作的流程图。
图9示出了用于要被生成以显示的输出已变换帧中的相应像素(数据)位置的操作。对于所需的各输出已变换帧像素(数据位置)重复该操作。
如图9所示,该过程以指示用于显示的新输出帧的开始的适当同步信号120开始。
然后确定要接着生成的期望输出已变换帧像素坐标x0、y0(步骤121)。
坐标内插器级60然后操作以基于与透镜失真(该透镜失真当在显示器4的显示板上显示且借助头戴式显示器的透镜观看时将被引入到输出已变换帧)对应的已定义透镜失真,对于要从变换引擎输出的输出已变换帧中的像素(采样)位置x0、y0,确定在输入帧中(在要被显示给用户的、由存储在存储器3中的GPU 2渲染的帧中)的对应位置(坐标)xi、yi(步骤122)。
色差校正级61然后取得在步骤122处由坐标内插器级60确定的输入帧位置(坐标)xi、yi,并且“校正”这些坐标,以考虑将由显示器4的透镜引入的色差(步骤123),以提供三组已修改输入帧位置(坐标)xr、yr;xga、yga;xb、yb。
如上面讨论的,步骤123处的透镜预失真和步骤123处的色差校正可以作为单个操作执行,该单个操作考虑包括色差的透镜失真,来计算各相应颜色平面的对应坐标。
在步骤123处由色差校正级61(或以其他方式)确定的已修改输入帧位置然后基于与期望预测观看方位对应的当前输入组的参数,经受由变换级62进行的“观看方位”坐标重新投影(校正)(步骤124),从而提供一组预测观看方位变换后的输入帧位置(x’r,y’r)、(x’ga,y’ga)、(x’b,y’b)。
在优选实施方式中,所确定的透镜预失真坐标被归一化,并且在-1到+1之间的范围内,并且观看方位坐标重新投影(校正)之后是“坐标非归一化”过程,该过程将归一化的所确定透镜预失真坐标映射到期望的输入帧位置(像素)坐标。
这样确定的输入帧位置然后如图9所示的用于请求将包括必要输入帧采样位置数据的输入帧的适当块取入到输入缓冲器中,以允许由内插级63确定用于所确定输入帧位置的数据值。这使用各所确定的输入帧位置的整数部分来识别将需要哪些输入帧块。然后取得所识别的输入帧块并将其存储在输入缓冲器中(步骤126)。
内插级然后从在输入缓冲器中存储的输入帧块读取适当的输入帧数据位置,并且内插用于在讨论中的输出帧像素(采样位置)(x0,y0)的适当数据值(步骤127)。
然后在输出缓冲器中收集这样生成的输出像素,以随后提供给显示合成单元(并由其消耗)并提供给显示器,以显示(步骤128)。
如图8和图9所示,显示处理器5的XR处理单元生成要向用户显示的输出已变换帧,作为该输出已变换帧中的采样位置(像素)的序列(逐采样位置(逐像素))。在本实施方式中,变换引擎被配置为逐栅格线(例如,因为这是将需要把输出已变换帧提供给显示器4以显示的顺序)地生成输出已变换帧。
图8和图9主要例示了XR处理单元在从由图形处理器生成的要显示的帧的给定版本采样时的操作。当以本实施方式的方式执行中心凹形显示时,上述操作用于从已经由图形处理器生成的帧的不同分辨率版本中的一个或更多个适当采样。现在将参照图10、图11以及图12A和图12B更详细地讨论该操作的实施方式。
图10示出了如图7例示的显示处理器5在以本发明的方式生成用于显示的中心凹形图像时的操作的第一实施方式。
如图10所示,在该结构中,假定各个XR处理单元222、223都能从输入帧的多个不同分辨率版本生成输出观看方位变换后帧(图10示出了被使用的两个贴图级别)。
由此,如图10所示,在这种情况下,各相应的显示处理流水线都可以用于生成用于不同眼睛的输出图像。另选地,在该结构中,显示处理流水线之一可以是有效的并且生成输出帧(图像),另一显示处理流水线处于空闲状态。如果期望,第二显示处理流水线也可以用于处理另一输出帧,然后将其与由第一显示处理流水线生成的输出帧进行合成。
如图10所示,XR处理单元222、223将适当的密度图/纹理230以及来自要显示的图像的多个不同分辨率版本的(适当)数据做为输入,该密度图/纹理指示帧的哪些分辨率版本对于输出的要显示的帧要用于哪里。
由此,因此,XR处理单元不仅确定要被采样以提供输出观看方位变换后帧中的数据元素(采样位置)的数据值(以上面讨论的方式)的一组输入帧位置,而且还使用指示由图形处理器生成的帧的哪个分辨率版本要用于被生成的帧的观看方位变换后输出版本的相应区域的密度图230,来确定由图形处理器生成的、该帧的多个不同分辨率版本的哪个版本或哪些版本要从该组输入帧位置采样数据。
在该实施方式中,XR处理单元将确定要被采样以提供输出观看方位变换后帧中的数据元素(采样位置)的数据值(以上面讨论的方式)的一组输入帧位置,并且使用这些位置来确定并触发将密度图230的相关区域取到显示处理器的本地储存器中。然后例如可以对取得的密度图区域进行尺度上推,在这之后,使用其来确定对于讨论中的输出帧数据元素要采样帧的多个不同分辨率版本中的哪个版本或哪些版本。
然后,存储子系统220将基于密度图信息来取得所确定的输入帧的不同分辨率输入版本的相关区域。
变换级然后将在所确定的位置处对输入帧的这样取得的不同分辨率版本采样,以提供讨论中的输出观看方位变换后数据元素(像素)。
在该结构的一个实施方式中,提供给显示处理器的密度图230始终仅指示用于输出帧的任意给定区域的单个分辨率版本(贴图级别)。因此,在这种情况下,当执行观看方位变换时,XR处理单元222、223将使用密度图来确定对于(和各)相应的观看方位变换后输出帧数据元素(像素)要从输入帧的哪个分辨率版本(贴图级别)采样。然后,变换级将以适当的方式,例如并且优选地,使用双线性过滤,来对帧的单个所确定分辨率版本进行采样。
在这种情况下,在由XR处理单元222采样以提供相关的输出帧数据元素(像素)之前,将帧的任意较低分辨率版本尺度上推,以匹配被使用的帧的最高分辨率版本(贴图级别)。这将促进以适当的分辨率生成观看方位变换后输出帧。
如果需要,则可以在向显示处理器5提供输入帧的不同观看分辨率版本之前,在图形处理器2上执行不同分辨率版本(贴图层)的预混合,以允许在观看方位变换后输出帧中的不同分辨率版本之间的边界(过渡)。
在另一实施方式中,密度图230可以指示将使用帧的多于一个不同分辨率版本(贴图级别)来生成给定的观看方位变换后输出帧位置(像素)。例如,密度图可以指示用作分数值和/或依据梯度使用的不同分辨率版本(贴图级别)。
在这种情况下,将检查给定观看方位变换后输出帧位置的密度图,以确定对于要应用的该观看方位变换后输出帧位置(像素)和例如梯度因子采样的不同分辨率版本(贴图级别)的数量。然后将控制存储子系统220以将所需的适当的不同分辨率版本(贴图级别)的块取到本地缓冲器221中以处理。
然后,变换级将以适当的方式,例如并且优选地使用三线性过滤,来对帧的多个不同分辨率版本进行采样。
在这种情况下,如果适当地生成了不同的分辨率版本(例如,使得它们在任意边界区域中交叠),那么当从两个不同的分辨率版本(两个贴图级别)采样时,可以使用三线性过滤(内插)来直接进行,而不需要图形处理器2对任何不同分辨率版本(贴图级别)进行任何预混合。如果期望,则可以使用其他结构,诸如在执行采样内插之前适当地尺度上推图像的任意较低分辨率版本。
在这些实施方式中,生成观看方位变换后输出帧中的数据元素时的采样(和过滤)过程还可以考虑将使用输入帧的不同分辨率(或至少不同最高分辨率)版本生成的输出帧的区域之间的过渡,并且用来使过渡平滑。这可以以任意合适且期望的方式来进行。
然后,在经由显示输出流水线227将由适当的XR处理单元生成的观看方位变换后输出帧(的像素)提供给显示器以显示之前,将由层流水线224处理(以普通方式)它,然后在需要时在合成单元226中将其与任意其他输出帧进行合成(以此类推,对于要显示的各帧)。
图11示出了图10所示的实施方式的另选实施方式。在该实施方式中,如图11所示,由显示处理器5的显示处理流水线(XP处理单元)中不同的一个对要显示的帧的各相应的不同分辨率版本进行观看方位变换。然后,根据不同输出帧位置的透明度(α)值,在合成单元226中组合这样观看方位变换的帧,然后提供整个中心凹形的已观看方位变换的帧以显示。
由此,在这种情况下,如图11所示,第一显示处理流水线的XR处理单元222将处理要显示的帧的最高分辨率版本(贴图级别0),并且第二显示处理流水线的第二XR处理单元223将对要显示的帧的较低分辨率版本(贴图级别1)进行观看方位变换。
在后一种情况下,如图11所示,当生成帧的观看方位变换后版本以匹配输入帧的最高分辨率版本的分辨率时,XR处理器单元223还将操作以尺度上推该帧的较低分辨率版本(贴图级别1)。然后,这促进在合成单元226中混合帧的两个不同分辨率版本。
在该实施方式中,不是与图10所示的实施方式相同地将密度图230提供给显示处理器5,而是以一组α(透明度)值的形式提供指示输入帧的哪个不同分辨率版本要用于输出帧的相应区域的信息,这些值与由图形处理器2生成的、输入帧的不同分辨率版本中的不同数据元素(像素)关联。然后,在经由显示输出流水线227将整个组合的(合成的)观看方位变换后输出帧提供给显示器以显示之前,使用透明度值来控制在合成单元226中混合输入帧的观看方位变换后不同分辨率版本(并且对于各要显示的帧以此类推)。
在该实施方式中,使用图形处理2上单独的一遍处理,来将提供给图形处理器2的密度纹理(密度图)230转换成用于由图形处理器生成要显示的帧的不同分辨率版本中的数据元素(像素)的所需α(透明度)值,以从所提供的密度纹理生成所需的透明度(α)值,并且将这些α值“插入”到由图形处理器5生成的不同分辨率版本(贴图级别)的数据元素(像素)值中。
其他结构当然会是可能的。
图12A和图12B示出了当在数据处理系统中实现时的本发明的另外实施方式,该数据处理系统包括主装置(片上系统)300(例如可以是移动装置,诸如电话、PC或控制台)与伴随显示装置301这两者,主装置将用于显示的帧(图像)传输到(有线或无线)伴随显示设备(片上系统)301(例如且优选地,视图器),伴随显示装置301包括显示器以及显示处理器5,该显示处理器可操作以以本发明的方式产生用于显示的观看方位变换后中心凹形帧。
在该实施方式中,例如主装置300的图形处理器2将产生要显示的帧的多个不同分辨率版本,但是随后在伴随显示设备301中的显示处理器5上执行本发明的显示处理器操作。
如图12A和图12B所示,主装置300还包括由适当的驱动器309控制的显示处理器306。主装置还包括适当的传输和压缩电路304,并且由适当的有线或无线传输307耦合到伴随显示装置301。伴随显示装置301对应地包括适当的接收器电路305和用于存储从主装置300接收的数据的缓冲器(存储器)302。
在该实施方式中,需要向伴随装置显示处理器5提供帧的多个不同分辨率版本(例如,一组贴图),以按本发明的方式处理。
在该实施方式中,这通过以下处理来进行:主装置300上的显示处理器306如图12A和图12B所示识别为了生成用于显示的输出观看方位变换后中心凹形帧由伴随显示装置301上的显示处理器5需要的、由图形处理器2生成的帧的多个不同分辨率版本的那些部分,然后将由图形处理器2生成的多个不同分辨率版本的那些部分打包为适当的帧结构,然后将该帧数据连同指示帧的哪个分辨率版本在输出帧中要用于哪里的适当密度图一起发送到伴随显示装置301。
如图12A和图12B所示,如果期望,则还可以压缩发送到伴随显示装置301的打包数据(并在伴随显示装置301上对应地解压缩)。应还对伴随装置适当执行数据的任意其他必要的格式变化、转换或拆包。
为了进行这一点,主装置300上的显示处理器306可以使用指示由图形处理器2生成的帧的哪些分辨率版本对于输出观看方位变换后帧要用于哪里的密度图,来识别伴随装置301中的显示处理器5在生成用于显示的帧的输出版本时将需要帧的各不同分辨率版本的哪些区域(块)。
因此,主装置300上的显示处理器306然后可以裁剪帧的不同分辨率版本中的一个或更多个,诸如如图12A和图12B所示,以去除帧的最高分辨率版本的不可见(不用)部分(贴图级别0),以避免发送对于帧的贴图级别(例如对于最高分辨率版本)而言的冗余数据。
在该实施方式中,主装置300上的显示处理器306然后将帧的不同分辨率版本的所识别部分打包为单个帧结构,然后压缩该单个帧结构并将该打包的帧结构连同密度图一起发送到伴随装置301。
在这种情况下,输出帧优选地被分成多个优选规则尺寸和形状的区域,各区域优选地包括多个数据元素的矩形(且优选正方形)块(如上面讨论的),并且对于输出帧中的各区域确定将需要由产生器处理单元产生的帧的哪个分辨率版本,主装置然后向伴随装置发送帧的所确定分辨率版本的所识别区域。
然后将这样发送的帧的不同分辨率版本的部分适当存储在伴随装置的缓冲器302中,以然后可用于由伴随装置的显示处理器使用。
伴随显示设备301上的显示处理器5然后将在要生成用于显示的观看方位变换后中心凹形输出帧时,从伴随显示装置301上的存储器302取得帧的打包的不同分辨率版本的相关部分(贴图),并且因此生成用于显示的观看方位变换后中心凹形帧(图像)(例如,以上面讨论的方式之一)。
从上面可以看出,本发明至少在其优选实施方式中促进生成用于显示的观看方位变换后中心凹形图像。至少在本发明的优选实施方式中,这通过以下处理来实现:显示处理器使用指示由产生器处理单元生成的帧的哪个分辨率版本要用于要生成的帧的观看方位变换后输出版本的相应区域的数据,来从由产生器处理单元生成的帧的多个不同分辨率版本生成帧的观看方位变换后输出版本。
Claims (27)
1.一种操作数据处理系统的方法,所述数据处理系统包括:
显示器,该显示器能够操作以显示用于显示的帧;
产生器处理单元,该产生器处理单元能够操作以生成用于在所述显示器上显示的帧;以及
显示处理器,该显示处理器能够操作以向所述显示器提供由所述产生器处理单元生成的帧以显示,所述显示处理器包括:
输入级,该输入级能够操作以读取输入帧的数据;
输出级,该输出级能够操作以向所述显示器提供用于显示的帧;以及
至少一个变换级,该至少一个变换级能够操作以:
使用由所述输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;
所述方法包括以下步骤:
所述产生器处理单元对于要显示的帧生成所述要显示的帧的多个不同分辨率版本;
向所述显示处理器提供数据,该数据指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于由所述显示处理器生成以显示的帧的观看方位变换后输出版本的相应区域;
所述显示处理器的所述输入级读取由所述产生器处理单元生成的、所述要显示的帧的所述多个不同分辨率版本中的一些或全部的数据;
所述显示处理器基于指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于所述要显示的帧的所述观看方位变换后输出版本的相应区域的所述数据,使用由所述输入级读取的、来自由所述产生器处理单元生成的所述要显示的帧的所述多个不同分辨率版本的数据,来生成所述要显示的帧的观看方位变换后输出版本;
以及
所述显示处理器的所述输出级向所述显示器提供所述帧的所述观看方位变换后输出版本以显示。
2.根据权利要求1所述的方法,其中,所述帧的所述不同分辨率版本每个仅对于整个所述帧的一些而不是全部生成,并且所述不同分辨率版本在其对所述帧的覆盖上交叠。
3.根据权利要求1或2所述的方法,其中,指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于要由所述显示处理器生成以显示的所述帧的观看方位变换后输出版本的相应区域的所述数据指示对于至少一些输出帧区域要组合所述帧的多个不同分辨率版本。
4.根据权利要求1或2所述的方法,其中,指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于要由所述显示处理器生成以显示的所述帧的观看方位变换后输出版本的相应区域的所述数据包括以下各项中的一项:
二维阵列,该二维阵列表示要显示的所述输出帧的区域,所述阵列内的各数据元素位置然后指示所述帧的哪个分辨率版本要用于所述输出帧内的该区域;
边界框,该边界框限定其中要使用所述帧的最高分辨率版本的输出帧区域;以及
透明度值,这些透明度值与所述帧的所述不同分辨率版本关联。
5.根据权利要求1或2所述的方法,其中,
所述显示处理器通过以下处理,基于指示所述帧的哪个分辨率版本要用于所述帧的所述输出版本的相应区域的所述数据,使用来自所述帧的所述多个不同分辨率版本的数据,来生成所述要显示的帧的所述观看方位变换后输出版本:
对于由所述产生器处理单元生成的所述帧的多个不同分辨率版本中的每个分辨率版本,生成所述要显示的帧的该分辨率版本的相应观看方位变换后版本;以及
基于指示所述帧的哪个分辨率版本要用于所述要显示的帧的所述观看方位变换后输出版本的相应区域的所述数据,组合所述帧的所述多个不同分辨率版本的所述多个观看方位变换后版本,以提供包括所述帧的所述多个不同分辨率版本的所述观看方位变换后版本的组合在内的、所述用于显示的帧的观看方位变换后输出版本。
6.根据权利要求5所述的方法,其中,在经受所述观看方位变换之前,首先将所述帧的任意较低分辨率版本在尺度上推至正被使用的所述帧的最高分辨率版本。
7.根据权利要求1或2所述的方法,其中,
所述显示处理器通过以下处理,基于指示所述帧的哪个分辨率版本要用于所述帧的所述输出版本的相应区域的所述数据,使用来自所述帧的所述多个不同分辨率版本的数据,来生成所述要显示的帧的所述观看方位变换后输出版本:
所述显示处理器的变换级基于指示哪个分辨率版本要用于所述输出帧的哪些区域的所述数据,从由所述产生器处理单元生成的所述帧的多个不同分辨率版本的组合,来生成用于显示的观看方位变换后输出帧。
8.根据权利要求7所述的方法,其中,
所述显示处理器通过以下处理,基于指示所述帧的哪个分辨率版本要用于所述帧的所述输出版本的相应区域的所述数据,使用来自所述帧的所述多个不同分辨率版本的数据,来生成所述要显示的帧的所述观看方位变换后输出版本:
对于被生成的所述帧的所述观看方位变换后输出版本中的多个数据元素中的每个数据元素,所述显示处理器的变换级:
确定要被采样以提供用于所述输出观看方位变换后帧中的所述数据元素的数据值的一组一个或更多个输入帧位置;
使用指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于被生成的所述帧的所述观看方位变换后输出版本的相应区域的所述数据,来确定要在所确定的一组一个或更多个输入帧位置处对由所述产生器处理单元生成的所述帧的所述多个不同分辨率版本中的哪个版本或哪些版本采样;以及
然后在所确定的位置处对所述输入帧的这样确定的不同分辨率版本采样,以提供输出观看方位变换后帧数据元素的所述数据值。
9.根据权利要求1或2所述的方法,其中,所述产生器处理单元是主装置的一部分,并且所述显示处理器是与所述主装置通信的伴随显示装置的一部分;
并且,所述方法包括以下步骤:
所述主装置:
确定由所述产生器处理单元生成的要显示的帧的所述多个不同分辨率版本的部分,当使用所述帧的所述多个不同分辨率版本来生成用于显示的输出帧时,所述伴随装置上的显示处理器将需要这些部分;以及
仅向所述伴随装置发送已经生成的所述帧的所述不同分辨率版本的所确定部分,以由所述伴随显示装置上的所述显示处理器使用;
并且
所述伴随显示装置上的所述显示处理器:
使用由所述主装置发送到所述伴随显示装置的数据来生成所述要显示的帧的观看方位变换后输出版本,该数据来自由所述产生器处理单元生成的所述要显示的帧的所述多个不同分辨率版本。
10.一种操作数据处理系统的方法,所述数据处理系统包括:
主装置,该主装置包括:
产生器处理单元,该产生器处理单元能够操作以生成用于在显示器上显示的帧;以及
伴随显示装置,该伴随显示装置包括:
显示器,该显示器能够操作以显示用于显示的帧;
显示处理器,该显示处理器能够操作以向所述显示器提供由所述产生器处理单元生成的帧以显示,所述显示处理器包括:
输入级,该输入级能够操作以读取输入帧的数据;
输出级,该输出级能够操作以向所述显示器提供用于显示的帧;以及
至少一个变换级,该至少一个变换级能够操作以:
使用由所述输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;
所述方法包括以下步骤:
所述产生器处理单元对于要显示的帧生成所述要显示的帧的多个不同分辨率版本;
所述主装置:
确定由所述产生器处理单元生成的要显示的帧的所述多个不同分辨率版本的部分,当使用所述帧的所述多个不同分辨率版本来生成用于显示的输出帧时,所述伴随装置上的显示处理器将需要这些部分;并且
仅向所述伴随装置发送已经生成的所述帧的所述不同分辨率版本的所确定部分,以由所述伴随装置上的所述显示处理器使用;
并且
所述伴随装置上的所述显示处理器:
使用由所述主装置发送到所述伴随装置的数据来生成所述要显示的帧的观看方位变换后输出版本,该数据来自要由所述产生器处理单元生成的所述要显示的帧的所述多个不同分辨率版本;
并且
向所述显示器提供所述帧的所述观看方位变换后输出版本以显示。
11.根据权利要求9所述的方法,其中,所述主装置还向所述伴随显示装置发送所述数据,以由所述伴随显示装置上的所述显示处理器使用,该数据指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于要由所述显示处理器生成以显示的所述帧的观看方位变换后输出版本的相应区域。
12.根据权利要求9所述的方法,其中,所述主装置使用数据,来确定由所述产生器处理单元生成的要显示的帧的所述多个不同分辨率版本的部分,当使用所述帧的所述多个不同分辨率版本来生成用于显示的输出帧时,所述伴随显示装置上的所述显示处理器将需要这些部分,该数据指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于由所述伴随显示装置上的所述显示处理器生成以显示的所述帧的观看方位变换后输出版本的相应区域。
13.一种数据处理系统,该数据处理系统包括:
显示器,该显示器能够操作以显示用于显示的帧;
产生器处理单元,该产生器处理单元能够操作以生成用于在所述显示器上显示的帧;以及
显示处理器,该显示处理器能够操作以向所述显示器提供由所述产生器处理单元生成的帧以显示,所述显示处理器包括:
输入级,该输入级能够操作以读取输入帧的数据;
输出级,该输出级能够操作以向所述显示器提供用于显示的帧;以及
至少一个变换级,该至少一个变换级能够操作以:
使用由所述输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;
其中,
所述产生器处理单元被配置为对于要显示的帧生成所述要显示的帧的多个不同分辨率版本;
所述显示处理器的所述输入级被配置为读取要由所述产生器处理单元生成的、所述要显示的帧的所述多个不同分辨率版本中的一些或全部的数据;
所述显示处理器被配置为基于被提供给所述显示处理器的指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于要由所述显示处理器生成以显示的所述要显示的帧的观看方位变换后输出版本的相应区域的数据,使用由所述输入级读取的、来自由所述产生器处理单元生成的所述要显示的帧的多个不同分辨率版本的数据,来生成要显示的帧的观看方位变换后输出版本;
并且
所述显示处理器的所述输出级被配置为向所述显示器提供所述帧的所述观看方位变换后输出版本以显示。
14.根据权利要求13所述的系统,其中,所述帧的所述不同分辨率版本每个仅对于整个所述帧的一些而不是全部生成,并且所述不同分辨率版本在其对所述帧的覆盖上交叠。
15.根据权利要求13或14所述的系统,其中,指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于要由所述显示处理器生成以显示的所述帧的观看方位变换后输出版本的相应区域的所述数据指示对于至少一些输出帧区域要组合所述帧的多个不同分辨率版本。
16.根据权利要求13或14所述的系统,其中,指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于要由所述显示处理器生成以显示的所述帧的观看方位变换后输出版本的相应区域的所述数据包括以下各项中的一项:
二维阵列,该二维阵列表示要显示的所述输出帧的区域,所述阵列内的各数据元素位置然后指示所述帧的哪个分辨率版本要用于所述输出帧内的该区域;
边界框,该边界框限定要使用所述帧的最高分辨率版本的输出帧区域;以及
透明度值,这些透明度值与所述帧的所述不同分辨率版本关联。
17.根据权利要求13或14所述的系统,其中,
所述显示处理器被配置为通过以下处理,基于指示所述帧的哪个分辨率版本要用于所述帧的所述输出版本的相应区域的所述数据,使用来自所述帧的所述多个不同分辨率版本的数据,来生成所述要显示的帧的所述观看方位变换后输出版本:
对于由所述产生器处理单元生成的所述帧的多个不同分辨率版本中的每个分辨率版本,生成所述要显示的帧的该分辨率版本的相应观看方位变换后版本;以及
基于指示所述帧的哪个分辨率版本要用于所述要显示的帧的所述观看方位变换后输出版本的相应区域的所述数据,组合所述帧的所述多个不同分辨率版本的所述多个观看方位变换后版本,以提供包括所述帧的所述多个不同分辨率版本的所述观看方位变换后版本的组合在内的、所述用于显示的帧的观看方位变换后输出版本。
18.根据权利要求17所述的系统,其中,在经受所述观看方位变换之前,首先将所述帧的任意较低分辨率版本在尺度上推至正被使用的所述帧的最高分辨率版本。
19.根据权利要求13或14所述的系统,其中,
所述显示处理器被配置为通过以下处理,基于指示所述帧的哪个分辨率版本要用于所述帧的所述输出版本的相应区域的所述数据,使用来自所述帧的所述多个不同分辨率版本的数据,来生成所述要显示的帧的所述观看方位变换后输出版本:
所述显示处理器的变换级基于指示哪个分辨率版本要用于所述输出帧的哪些区域的所述数据,从由所述产生器处理单元生成的所述帧的多个不同分辨率版本的组合,来生成用于显示的观看方位变换后输出帧。
20.根据权利要求19所述的系统,其中,
所述显示处理器被配置为通过以下处理,基于指示所述帧的哪个分辨率版本要用于所述帧的所述输出版本的相应区域的所述数据,使用来自所述帧的所述多个不同分辨率版本的数据,来生成所述要显示的帧的所述观看方位变换后输出版本:
对于被生成的所述帧的所述观看方位变换后输出版本中的多个数据元素中的每个数据元素,所述显示处理器的变换级:
确定要被采样以提供用于所述输出观看方位变换后帧中的所述数据元素的数据值的一组一个或更多个输入帧位置;
使用指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于被生成的所述帧的所述观看方位变换后输出版本的相应区域的所述数据,来确定要在所确定的所述一组一个或更多个输入帧位置处对由所述产生器处理单元生成的所述帧的所述多个不同分辨率版本中的哪个版本或哪些版本采样;以及
然后在所确定的所述位置处对所述输入帧的这样确定的不同分辨率版本采样,以提供输出观看方位变换后帧数据元素的所述数据值。
21.根据权利要求13或14所述的系统,其中,所述产生器处理单元是主装置的一部分,并且所述显示处理器是与所述主装置通信的伴随显示装置的一部分;
并且,所述主装置被配置为:
确定由所述产生器处理单元生成的要显示的帧的所述多个不同分辨率版本的部分,当使用所述帧的所述多个不同分辨率版本来生成用于显示的输出帧时,所述伴随装置上的显示处理器将需要这些部分;以及
仅向所述伴随显示装置发送已经生成的所述帧的所述不同分辨率版本的所确定部分,以由所述伴随显示装置上的所述显示处理器使用;
并且
所述伴随显示装置上的所述显示处理器被配置为:
使用由所述主装置发送到所述伴随显示装置的数据来生成要显示的帧的观看方位变换后输出版本,该数据来自要由所述产生器处理单元生成的所述要显示的帧的所述多个不同分辨率版本。
22.一种数据处理系统,该数据处理系统包括:
主装置,该主装置包括:
产生器处理单元,该产生器处理单元能够操作以生成用于在显示器上显示的帧;以及
伴随显示装置,该伴随显示装置包括:
显示器,该显示器能够操作以显示用于显示的帧;
显示处理器,该显示处理器能够操作以向所述显示器提供由所述产生器处理单元生成的帧以显示,所述显示处理器包括:
输入级,该输入级能够操作以读取输入帧的数据;
输出级,该输出级能够操作以向所述显示器提供用于显示的帧;以及
至少一个变换级,该至少一个变换级能够操作以:
使用由所述输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;
其中,
所述产生器处理单元被配置为对于要显示的帧生成所述要显示的帧的多个不同分辨率版本;
所述主装置被配置为:
确定由所述产生器处理单元生成的要显示的帧的所述多个不同分辨率版本的部分,当使用所述帧的所述多个不同分辨率版本来生成用于显示的输出帧时,所述伴随显示装置上的所述显示处理器将需要这些部分;以及
仅向所述伴随显示装置发送已经生成的所述帧的所述不同分辨率版本的所确定部分,以由所述伴随显示装置上的所述显示处理器使用;
并且
所述伴随显示装置上的所述显示处理器被配置为:
使用由所述主装置发送到所述伴随显示装置的数据来生成要显示的帧的观看方位变换后输出版本,该数据来自由所述产生器处理单元生成的所述要显示的帧的所述多个不同分辨率版本;
并且
向所述显示器提供所述帧的所述观看方位变换后输出版本以显示。
23.根据权利要求21所述的系统,其中,所述主装置被配置为还向所述伴随显示装置发送所述数据,以由所述伴随显示装置上的所述显示处理器使用,该数据指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于要由所述显示处理器生成以显示的所述帧的观看方位变换后输出版本的相应区域。
24.根据权利要求21所述的系统,其中,所述主装置被配置为使用数据,来确定由所述产生器处理单元生成的要显示的帧的所述多个不同分辨率版本的部分,当使用所述帧的所述多个不同分辨率版本来生成用于显示的输出帧时,所述伴随显示装置上的所述显示处理器将需要这些部分,该数据指示由所述产生器处理单元生成的所述帧的哪个分辨率版本要用于由所述伴随显示装置上的所述显示处理器生成以显示所述帧的观看方位变换后输出版本的相应区域。
25.一种显示处理器,该显示处理器能够操作以向显示器提供帧以显示,所述显示处理器包括:
输入级,该输入级能够操作以读取输入帧的数据;
输出级,该输出级能够操作以向显示器提供用于显示的帧;以及
至少一个变换级,该至少一个变换级能够操作以:
使用由所述输入级读取的输入帧的数据,来生成观看方位变换后的输出帧;
其中,
所述显示处理器的所述输入级被配置为读取要显示的帧的多个不同分辨率版本中的一些或全部的数据;
所述显示处理器被配置为基于被提供给所述显示处理器的指示所述帧的哪个分辨率版本要用于要由所述显示处理器生成以显示的所述要显示的帧的观看方位变换后输出版本的相应区域的所述数据,使用由所述输入级读取的、来自所述要显示的帧的多个不同分辨率版本的数据,来生成要显示的帧的观看方位变换后输出版本;
并且
所述显示处理器的所述输出级被配置为向显示器提供所述帧的所述观看方位变换后输出版本以显示。
26.一种头戴式显示装置,该头戴式显示装置包括根据权利要求13至24中任一项所述的数据处理系统。
27.一种包括计算机程序的计算机可读介质,该计算机程序包括计算机软件代码,该计算机软件代码用于在所述程序在数据处理器上运行时执行根据权利要求1至12中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1818163.6 | 2018-11-07 | ||
GB1818163.6A GB2578769B (en) | 2018-11-07 | 2018-11-07 | Data processing systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111161660A true CN111161660A (zh) | 2020-05-15 |
Family
ID=64655552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911081435.2A Pending CN111161660A (zh) | 2018-11-07 | 2019-11-07 | 数据处理系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200143516A1 (zh) |
KR (1) | KR20200052846A (zh) |
CN (1) | CN111161660A (zh) |
GB (1) | GB2578769B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022000347A1 (zh) * | 2020-06-30 | 2022-01-06 | 深圳市大疆创新科技有限公司 | 图像处理方法、显示处理装置和计算机可读存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110324601A (zh) * | 2018-03-27 | 2019-10-11 | 京东方科技集团股份有限公司 | 渲染方法、计算机产品及显示装置 |
US11164293B2 (en) * | 2019-01-30 | 2021-11-02 | National Cheng Kung University | Adaptive enhancement method for image contrast based on level of detail |
US20220217314A1 (en) * | 2019-05-24 | 2022-07-07 | Lg Electronics Inc. | Method for transmitting 360 video, method for receiving 360 video, 360 video transmitting device, and 360 video receiving device |
US10997954B2 (en) * | 2019-07-24 | 2021-05-04 | Qualcomm Incorporated | Foveated rendering using variable framerates |
EP4005201A1 (en) * | 2019-07-28 | 2022-06-01 | Google LLC | Methods, systems, and media for rendering immersive video content with foveated meshes |
EP4154050A1 (en) * | 2020-05-22 | 2023-03-29 | Magic Leap, Inc. | Augmented and virtual reality display systems with correlated in-coupling and out-coupling optical regions |
WO2022054118A1 (ja) * | 2020-09-08 | 2022-03-17 | 株式会社ソニー・インタラクティブエンタテインメント | 画像表示システム、ヘッドマウントディスプレイ、および画像表示方法 |
US20220172695A1 (en) * | 2020-12-02 | 2022-06-02 | Qualcomm Incorporated | Methods and apparatus for plane planning for overlay composition |
US11688365B2 (en) * | 2021-04-26 | 2023-06-27 | Apple Inc. | Synchronous display pipeline systems and methods |
US11640699B2 (en) * | 2021-08-06 | 2023-05-02 | Meta Platforms Technologies, Llc | Temporal approximation of trilinear filtering |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020057279A1 (en) * | 1999-05-20 | 2002-05-16 | Compaq Computer Corporation | System and method for displaying images using foveal video |
US7667707B1 (en) * | 2005-05-05 | 2010-02-23 | Digital Display Innovations, Llc | Computer system for supporting multiple remote displays |
US20140267396A1 (en) * | 2013-03-13 | 2014-09-18 | Microsoft Corporation | Augmenting images with higher resolution data |
WO2015128634A1 (en) * | 2014-02-26 | 2015-09-03 | Sony Computer Entertainment Europe Limited | Image encoding and display |
US20180176535A1 (en) * | 2016-12-19 | 2018-06-21 | Dolby Laboratories Licensing Corporation | View Direction Based Multilevel Low Bandwidth Techniques to Support Individual User Experiences of Omnidirectional Video |
GB201810704D0 (en) * | 2018-06-29 | 2018-08-15 | Advanced Risc Mach Ltd | Data processing systems |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2553744B (en) * | 2016-04-29 | 2018-09-05 | Advanced Risc Mach Ltd | Graphics processing systems |
EP3602181A4 (en) * | 2017-03-27 | 2020-05-13 | Avegant Corp. | STEERABLE FOVEA DISPLAY |
US10896657B2 (en) * | 2017-04-17 | 2021-01-19 | Intel Corporation | Graphics with adaptive temporal adjustments |
US10861142B2 (en) * | 2017-07-21 | 2020-12-08 | Apple Inc. | Gaze direction-based adaptive pre-filtering of video data |
US10504278B1 (en) * | 2018-09-28 | 2019-12-10 | Qualcomm Incorporated | Blending neighboring bins |
-
2018
- 2018-11-07 GB GB1818163.6A patent/GB2578769B/en active Active
-
2019
- 2019-11-06 US US16/675,644 patent/US20200143516A1/en active Pending
- 2019-11-06 KR KR1020190140609A patent/KR20200052846A/ko active Search and Examination
- 2019-11-07 CN CN201911081435.2A patent/CN111161660A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020057279A1 (en) * | 1999-05-20 | 2002-05-16 | Compaq Computer Corporation | System and method for displaying images using foveal video |
US7667707B1 (en) * | 2005-05-05 | 2010-02-23 | Digital Display Innovations, Llc | Computer system for supporting multiple remote displays |
US20140267396A1 (en) * | 2013-03-13 | 2014-09-18 | Microsoft Corporation | Augmenting images with higher resolution data |
WO2015128634A1 (en) * | 2014-02-26 | 2015-09-03 | Sony Computer Entertainment Europe Limited | Image encoding and display |
CN106464854A (zh) * | 2014-02-26 | 2017-02-22 | 索尼电脑娱乐欧洲有限公司 | 图像编码和显示 |
US20180176535A1 (en) * | 2016-12-19 | 2018-06-21 | Dolby Laboratories Licensing Corporation | View Direction Based Multilevel Low Bandwidth Techniques to Support Individual User Experiences of Omnidirectional Video |
GB201810704D0 (en) * | 2018-06-29 | 2018-08-15 | Advanced Risc Mach Ltd | Data processing systems |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022000347A1 (zh) * | 2020-06-30 | 2022-01-06 | 深圳市大疆创新科技有限公司 | 图像处理方法、显示处理装置和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
GB201818163D0 (en) | 2018-12-19 |
US20200143516A1 (en) | 2020-05-07 |
GB2578769A (en) | 2020-05-27 |
KR20200052846A (ko) | 2020-05-15 |
GB2578769B (en) | 2022-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111161660A (zh) | 数据处理系统 | |
CN108536405B (zh) | 用于数据处理系统的显示控制器及其操作方法 | |
CN112204993B (zh) | 使用重叠的被分区的分段的自适应全景视频流式传输 | |
US9159135B2 (en) | Systems, methods, and computer program products for low-latency warping of a depth map | |
US6788309B1 (en) | Method and apparatus for generating a video overlay | |
US20120162475A1 (en) | Method and apparatus for raster output of rotated interpolated pixels optimized for digital image stabilization | |
KR20170085392A (ko) | 화면 왜곡 보정이 가능한 디스플레이 장치 및 이를 이용한 화면 왜곡 보정 방법 | |
US20210343261A1 (en) | Systems and methods for foveated rendering | |
US11562701B2 (en) | Data processing systems | |
CN109559282A (zh) | 用于通用几何校正引擎的高效处理的方法和系统 | |
US10692420B2 (en) | Data processing systems | |
US11004427B2 (en) | Method of and data processing system for providing an output surface | |
WO2019166008A1 (en) | Method for processing projection-based frame that includes projection faces packed in cube-based projection layout with padding | |
US11270413B2 (en) | Playback apparatus and method, and generation apparatus and method | |
JP4797039B2 (ja) | 画像合成方法及び装置 | |
US11528412B2 (en) | Apparatus and method for stitching together multiple images | |
US10672367B2 (en) | Providing data to a display in data processing systems | |
WO2013183223A1 (en) | Information processor, information processing method, program, and image display device | |
CN106412562A (zh) | 三维场景中显示立体内容的方法及其系统 | |
CN110659005B (zh) | 操作数据处理系统和方法、显示装置以及计算机可读介质 | |
CN117931120A (zh) | 一种基于gpu的摄像头图像视角调整方法 | |
JP2011114381A (ja) | 映像信号処理装置、仮想現実感生成システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |