通过图形处理进行的视力校正的制作方法

文档序号:11635822阅读:470来源:国知局
通过图形处理进行的视力校正的制造方法与工艺



背景技术:

计算装置和显示装置继续变得更小或重量更轻,从而允许较小封装中的较强大处理。具有强大能力的轻量裝置允许技术变得与用户的每日生活更结合。举例来说,过去的桌上型计算机的电力和显示能力现在可在蜂窝电话、膝上型计算机、平板计算机中以及甚至可穿戴计算装置(例如手腕安裝的裝置(例如智能手表)和头戴式裝置)中找到。

此类装置所显示的视觉内容,例如图形用户接口和视频游戏的内容,可由图形处理单元(gpu)产生。gpu可将二维(2d)或三维(3d)对象转换成可显示的二维(2d)像素表示。为了产生内容来显示,gpu可执行各种操作或命令来处理图像。



技术实现要素:

本发明呈现用于确定对图形图像产生的参数修改且基于所述经修改的参数来产生经校正的图形图像的系统、技术方法和设备。更具体地说,本文所述的技术可使计算装置能够向用户提供到以及接收来自用户的反馈,以便确定可用以产生考虑用户的视力缺陷的图形图像的修改值,从而产生并不具有完美视力的用户看起来较尖锐且较聚焦的图形图像。

在本发明的一个实例中,一种图形处理方法包含:通过计算装置,输出多个测试图形图像以供显示;通过所述计算装置,接收指示来自所述多个测试图形图像的至少一个测试图形图像的计算装置的用户的感知的输入;通过所述计算装置且至少部分地基于所述接收到的输入,确定至少一个参数修改值;以及通过所述计算装置,至少部分地基于所述至少一个参数修改值来产生经校正的图形图像。

在本发明的另一实例中,一种经配置以用于图形处理的设备包含:存储器,其经配置以存储图形数据;以及一或多个处理器,其与所述存储器通信,所述一或多个处理器经配置以:输出多个测试图形图像以供显示;接收指示来自所述多个测试图形图像的至少一个测试图形图像的计算装置的用户的感知的输入;至少部分地基于所述接收到的输入,确定至少一个参数修改值;以及至少部分地基于所述至少一个参数修改值来产生经校正的图形图像。

在另一实例中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在被执行时,致使经配置以用于图形处理的装置的一或多个处理器:输出多个测试图形图像以供显示;接收指示来自所述多个测试图形图像的至少一个测试图形图像的计算装置的用户的感知的输入;且至少部分地基于所述接收到的输入,确定至少一个参数修改值;以及至少部分地基于所述至少一个参数修改值来产生经校正的图形图像。

在另一实例中,本发明描述一种经配置以处理图形的设备,所述指令包含:用于输出多个测试图形图像以供显示的装置;用于接收指示来自所述多个测试图形图像的至少一个测试图形图像的计算装置的用户的感知的输入的装置;用于至少部分地基于所述接收到的输入来确定至少一个参数修改值的装置;以及用于至少部分地基于所述至少一个参数修改值来产生经校正的图形图像的装置。

附图和以下描述中陈述一或多个实例的细节。其它特征、目标和优点将从所述描述和图式以及所附权利要求书显而易见。

附图说明

图1是说明包含经配置以实施本发明的技术的计算装置的实例计算环境的概念图。

图2是说明图1中所示的实例计算装置的进一步细节的框图。

图3是说明经配置以实施本发明的技术的实例处理单元的框图。

图4是说明实施本发明的一或多种技术的实例过程的框图。

图5是说明实施本发明的一或多种技术的实例过程的框图。

图6是说明根据本发明的技术的用于获得指示用户视力缺陷的信息的实例计算装置和图形图像的框图。

图7是说明根据本发明的技术的用于获得指示用户视力缺陷的信息的实例计算装置和图形图像的框图。

图8是说明根据本发明的技术的用于获得指示用户视力缺陷的信息的实例计算装置和图形图像的框图。

图9是说明根据本发明的技术的用于获得指示用户视力缺陷的信息的实例计算装置和图形图像的框图。

图10是说明经配置以实施本发明的技术的计算装置的实例操作的流程图。

具体实施方式

对于不具有完美视力的用户,例如使用隐形眼镜、眼镜或其它视力校正工具的那些用户,检视向一些显示装置显示的内容可为不合意的体验。举例来说,戴眼镜可使得某些可穿戴裝置(例如头戴式显示装置)的使用对于一些用户来说几乎是不可能的。在不戴校正镜片的情况下,向头戴式显示装置显示的内容对于用户来说可能看起来不像其应该的那样清晰。不能清楚地看见所显示的内容可使用户体验降级。

本发明的技术可通过处理内容以考虑用户的视力缺陷,来实现在具有小于完美视力的用户看来较尖锐且较清楚的内容的显示。就是说,本文所述的技术可通过实现补偿用户的视力问题的内容的较准确显示,来减少对外部视力校正的需要。通过减少对眼镜、隐形眼镜或其它视力校正工具的需要,本发明的技术可允许具有小于完美视力的用户更容易且舒适地与各种类型的计算装置和显示装置交互,从而改进用户体验。

图1是说明包含经配置以实施本发明的技术的计算装置2的实例计算环境的概念图。在图1的实例中,计算装置2是用户(例如用户4)可安装在用户的头部上来使用的可穿戴计算装置。在其它实例中,计算装置2可在可穿戴显示器外部。计算装置2可具有护目镜形状因子、护罩形状因子、眼镜形状因子,或以其它方式可用于检视向计算装置2的一或多个显示器显示的内容。在其它实例中,计算装置2可为另一类型的可佩戴装置(例如手腕安裝的计算装置等)、个人计算机、桌上型计算机、膝上型计算机、平板计算机、计算机工作站、视频游戏平台或控制台、移动电话(例如蜂窝式或卫星电话)、陆线电话、因特网电话、手持式装置(例如便携式视频游戏装置或个人数字助理(pda))、个人音乐播放器、视频播放器、显示装置、电视机、电视机顶盒、服务器、中间网络装置、主机计算机、任何移动装置,或任何其它类型的处理和/或显示图形数据的装置。

在图1的实例中,计算装置2可包含可向其显示图形内容(例如一或多个图形图像)的一或多个显示器。显示器或显示装置的实例可包含监视器、电视机、投影装置、液晶显示器(lcd)、等离子显示面板、发光二极管(led)阵列,例如有机led(oled)显示器、阴极射线管(crt)显示器、电子纸张、表面传导电子发射式显示器(sed)、激光电视机显示器、纳米晶体显示器或另一类型的显示单元。计算装置2的每一显示器可由用户4的眼睛检视。也就是说,计算装置2可包含两个显示器,其经配置以使得当恰当地穿戴和使用时,计算装置2的左显示器对用户4的左眼可见,且计算装置2的右显示器对用户4的右眼可见。在其它实例中,计算装置2可包含单个显示器、三个显示器,或更多。在一些实例中,计算装置2可不包含显示器。也就是说,在一些实例中,计算装置2可操作以产生将向计算装置2外部的一或多个显示装置显示的内容。在一些此类实例中,计算装置2可操作以存储所产生的内容,和/或将所产生的内容发送到以操作方式耦合到计算装置2(例如经由一或多个有线和/或无线连接)的一或多个显示装置。

在图1的实例中,用户4可具有小于完美的视力。举例来说,用户4可遭受近视(即,近视眼)。为了考虑用户的视力,在图1的实例中,用户4可定期佩戴眼镜。许多形式的不完美视力(例如近视或检视眼、远视或远视眼、散光和/或其它视力缺陷)可归因于进入用户眼睛的光的焦点在用户的视网膜之外的点处出现而导致视力模糊、散焦和/或不成比例。也就是说,进入眼睛的光(例如通过用户眼睛的元件)在错误位置处对焦。举例来说,近视是在视网膜之前聚焦的光的结果。例如眼镜、隐形眼镜和单片眼镜的视力校正工具可通过修改进入眼睛的光的方向来补偿各种视觉缺陷,使得经修改的光聚焦在视网膜处。因此,使用眼镜通常可使用户4能够比在没有用户的眼镜的情况下更清楚地看到。

然而,戴眼镜可使可穿戴计算装置或显示装置(例如计算装置2)难以使用或用起来不舒服。在图1的实例中,举例来说,用户4可不能够将计算装置2佩戴在用户的眼镜之上。因此,为了使用计算装置2,用户4可移除眼镜。在一些实例中,用户可不能够或不愿意佩戴隐形眼镜或其它视力校正工具。举例来说,一些用户的视力可较少受影响,且用户可选择在无视力校正的情况下生活。不管原因如何,具有不完美的视力的用户可希望使用计算装置或显示装置,而不使用视力校正工具。然而,在不具有视力校正工具的情况下,向用户显示的内容可看起来模糊或离焦。

图形图像6a说明当用户不戴任何视力校正工具时,对于具有小于完美的视力的用户来说,所显示的图形图像可看起来如何的一个实例。举例来说,图形图像6a可由计算装置2向左显示器显示,对用户4的左眼可见。当用户4在左显示器处检视图形图像6a时,用户的左眼可能无法恰当地聚焦从左显示器接收到的光。因此,图形图像6a可看起来模糊且离焦。也就是说,虽然图形图像在左显示器处可能一清二楚,但用户4的左眼可能无法将从显示器接收到的光聚焦到用户的左眼的视网膜上,且因此一清二楚的图像对于用户4来说可能看起来模糊。

根据本文所述的技术,计算装置2可经配置以确定其中修改将依次显示以补偿用户4的特定视力缺陷的内容的一或多种方式。也就是说,计算装置2可确定如何处理内容以考虑用户4的视力中的缺陷(例如近视、远视、散光和/或其它条件),且从而向用户4提供在用户4看起来更鲜艳且更清楚的图像。

为了恰当地考虑用户的视力缺陷,计算装置2可允许用户提供指示用户的视力问题的反馈或输入。在图1的实例中,举例来说,计算装置2可提供图形用户接口(gui)或物理控制,用户4可与之交互,以便提供指示用户4的视力缺陷的信息。在各种实例中,计算装置2可允许用户输入每一眼睛的不同信息、一个或两个眼睛的两个或更多个轴的不同信息(例如用于第一轴的第一值和用于第二轴的第二值)、显示器的不同部分(例如区)的不同信息,或以其它方式提供指示用户的特定视力条件的精确信息。

在一些实例中,计算装置2可经配置以明确地接收用户视力校正值(例如校正性镜片处方)。举例来说,计算装置2可经配置以接收屈光度、焦距或其它单位的放大值(例如用于校正近视和远视)。计算装置2可另外或替代地经配置以接收与一或多个放大值相关联的角度值(例如用于校正散光)。所述角度值可以度、弧度、经线或其它单位指定。在一些实例中,计算装置2可使用一或多个近似值表来基于接收到的用户视力校正值确定参数修改值。举例来说,计算装置2可使用近似值表,其指定(针对特定等级的近视)将应用于图形图像的任何模糊等级的对应增加(或减小)。

在一些实例中,计算装置2可提供用户接口,例如图形用户接口(gui),以辅助用户提供关于其视力缺陷的信息。用户可能够经由所述用户接口与计算装置2交互,且提供输入(例如反馈)。举例来说,计算装置2可输出一或多个简单图形图像,以向用户4显示。计算装置2可接收指示用户4如何感知所显示的图形图像的信息(例如由用户4输入)。在各种实例中,所接收的信息可为所述图像是否可接受(例如“是”或“否”)的简单指示、当前显示的图形图像比先前显示的图形图像好还是坏的指示、感知为不正确的所显示的图形图像的位置或区的指示,或关于用户4对图形图像的感知的其它信息。

计算装置2可在产生图形图像以供显示时,使用从接收到的反馈导出的信息。举例来说,计算装置2可在产生图形图像时修改顶点和/或像素/片段着色器所使用的值,和/或对所产生的图形图像执行后处理,从而使所述图像变形,使得当向显示器显示时,内容在用户看起来更聚焦。也就是说,使用基于接收到的用户输入而修改的参数产生的图形图像对于具有完美视力的那些用户来说可看起来变形,但通过以某一方式且在根据特定用户的视力缺陷的程度使图形图像变形,所述图形图像可在特定用户看起来更聚焦和/或更清楚。

在一些实例中,本文所述的图像处理技术可利用光线追踪原理,来提供经视力校正的图像。举例来说,将向显示装置显示的每一图形图像可表示为穿过焦点或焦平面(例如显示表面)的光的光线。光的这些光线可向下量化为所述显示器的每像素光线。通过为光的所述光线再协商路径,可使将显示的内容变形,以便基于用户提供的输入来确定给定像素的新端位置。换句话说,代替检视区(例如显示器的屏幕)处的固定焦平面,应用本文所述的技术可基于接收到的处方信息来移动所述平面,从而使图形图像对具有不完美视力的用户更“聚焦”。

图形图像6b说明当用户4不戴任何视力校正工具时,使用本文所述的技术来修改且由计算装置2显示的图形图像可在用户4看起来如何的一个实例。举例来说,图形图像6b可由计算装置2向左显示器显示,对用户4的左眼可见。当用户4在左显示器处检视图形图像6b时,用户的左眼可继续不恰当地聚焦从左显示器接收到的光。然而,因为基于用户4的输入(例如指示用户4的左眼受近视影响的程度)来修改图形图像,所以从示出图形图像6b的显示器接收到的光可较好地聚焦在用户4的左眼的视网膜处。因此,图形图像6b可看起来较不模糊且对用户4更聚焦。也就是说,用户4的左眼仍可能无法将接收到的光聚焦到用户左眼的视网膜上,但因为处理所述图形图像以考虑此不可能性,所以图形图像6b可在用户4看起来更清楚且更尖锐。

换句话说,本发明的技术可辅助用户“调谐”本文所述的技术的应用程序,以确定正确参数值来在图像处理期间使用。举例来说,计算装置2可提供“验光师模式”,其中可促使用户回答一系列问题(例如“哪个较好:选项1还是选项2?”),以便确定参数值。因此,计算装置2可使用户能够准确地指定如何更好地处理考虑用户的视力缺陷的图像,甚至在用户并不知道其眼镜处方或特定视力问题时。

因此,在一些实例中,计算装置2可经配置以处理图形图像,以考虑用户的视力,而用户不必输入任何处方值。换句话说,在各种实例中,计算装置2可提供验光师模式,以确定恰当的参数值以矫正用户的视力(例如先前未接收到所述用户的处方值的任何指示),或使参数值完美(例如为了证实和/或改进指定的处方值)。

在各种实例中,本发明的技术可用以调适向单个显示装置且向多个显示装置显示的内容。举例来说,虽然在图1的实例中描述为应用于向计算装置2的左显示器显示的内容,但本文所述的技术可另外或替代地应用于向计算装置2的右显示器显示的内容。此外,在一些实例中,本文所述的技术可适用于立体声内容。立体声内容可为以立体声方式显示的内容(例如模拟三维环境)。立体声内容可显示为到单个显示装置(例如“3dtv”)的两组内容,或显示为到第一显示器(例如对用户的左眼可见)的第一组内容,以及到第二显示器(例如对用户的右眼可见)的第二组内容。在一些实例中,本文所述的处理技术可独立地应用于每一组内容,以补偿用户的眼睛中的每一者中的不同视力疾病。在图1的实例中,举例来说,用户4可在用户的左眼中比在用户的右眼中近视。因此,计算装置2可将较强处理应用于向计算装置2的左显示器显示的内容,且将较弱处理应用于向计算装置2的右显示器显示的内容。

图2是说明如图1中所示的计算装置2的进一步细节的框图。也就是说,在图2的实例中,计算装置2可经配置以:获得指示用户视力缺陷的信息;基于所述所获得的信息来确定参数修改值;且处理将显示的图形图像,使得所显示的内容在并不具有完美视力的用户看起来聚焦。如图2的实例中所说明,计算装置2可包含用户输入接口24、中央处理单元(cpu)26、存储器控制器28、系统存储器30、图形处理单元(gpu)32、图形存储器34、显示接口36、显示器38以及总线40和42。虽然在图2的实例中将gpu32和图形存储器34示出为单独组件,但在一些实例中,图形存储器34可与gpu32在“芯片上”。在一些实例中,图2中示出的所有硬件元件可在芯片上(例如在芯片上系统(soc)设计中)。

用户输入接口24、cpu26、存储器控制器28、gpu32和显示接口36可使用总线40彼此通信。存储器控制器28和系统存储器30也可使用总线42彼此通信。总线40、42可为多种总线结构或其它通信链路中的任一者,例如第三代总线(例如超传输总线或无线带总线)、第二代总线(例如高级图形端口总线、外围部件互连标准(pci)快速总线、高级可扩展接口(axi)总线),或能够传送信息的任何其它类型的总线或互连。应注意,图2的实例中所示的组件、总线和通信接口的特定配置仅为示范性的,且可使用具有相同或不同组件的计算装置和/或其它图形处理系统的其它配置来实施本发明的技术。

在图2的实例中,cpu26可包括控制计算装置2的操作的通用或专用处理器。用户可将输入提供到计算装置2以致使cpu26执行一或多个软件应用程序。在cpu26上执行的软件应用程序可包含(例如)操作系统、字处理器应用程序、电子邮件应用程序、电子表格应用程序、媒体播放器应用程序、视频游戏应用程序、图形用户接口应用程序或任何其它程序。另外,cpu26可执行用于控制gpu32的操作的gpu驱动器27。在一些实例中,用户可经由一或多个输入装置(未图示)(例如,键盘、鼠标、麦克风、触摸垫或经由用户输入接口24耦合到计算装置2的另一输入装置)将输入提供到计算装置2。

在cpu26上执行的软件应用程序可包含一或多个图形渲染指令,其指令cpu26致使图形图像的渲染以向显示器38显示。在一些实例中,所述指令可符合图形应用编程接口(api),例如开放图形库开放图形库嵌入系统(opengles)api、direct3dapi、x3dapi、rendermanapi、webglapi或任何其它公共或专有标准图形api。为了处理图形渲染指令,cpu26可将一或多个图形渲染命令发布到gpu32(例如,通过gpu驱动器27),以致使gpu32执行图形数据的渲染的一些或全部。在一些实例中,待渲染的图形数据可包含例如点、线、三角形、四边形、三角形带等图形基元的列表。

在图2的实例中,存储器控制器28可促进进入系统存储器30和从系统存储器30出来的数据的传送。举例来说,存储器控制器28可接收存储器读取和写入命令,且服务关于存储器系统30的此类命令,以便为计算装置2中的组件提供存储器服务。存储器控制器28经由存储器总线42通信地耦合到系统存储器30。尽管在图2中说明为与cpu26和系统存储器30两者分开的处理模块,但在一些实例中,存储器控制器28的功能性中的一些或全部可在cpu26和系统存储器30中的一者或两者上实施。

在图2的实例中,系统存储器30可存储可存取以由cpu26执行的程序模块和/或指令和/或由在cpu26上执行的程序使用的数据。举例来说,系统存储器30可存储窗口管理器应用程序,其由cpu26使用以在显示器38上呈现图形用户接口(gui)。另外,系统存储器30可存储用户应用程序以及与所述应用程序相关联的应用程序表面数据。系统存储器30可另外存储由计算装置2的其它组件使用和/或产生的信息。举例来说,系统存储器30可充当用于gpu32的装置存储器,且可存储将在gpu32上操作的数据以及由gpu32执行的操作而产生的数据。在各种实例中,系统存储器30可存储纹理缓冲器、深度缓冲器、模板缓冲器、顶点缓冲器、帧缓冲器等的任何组合。系统存储器30可包含一或多个易失性或非易失性存储器或存储装置,例如随机存取存储器(ram)、静态ram(sram)、动态ram(dram)、只读存储器(rom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、快闪存储器、磁性数据媒体或光学存储媒体。

在图2的实例中,gpu32可经配置以执行图形操作以将一或多个图形基元渲染到显示器38。因此,当在cpu26上执行的软件应用程序中的一者要求图形处理时,cpu26可向gpu32提供图形命令和图形数据以用于向显示器38渲染。所述图形数据可包含绘图命令、状态信息、基元信息、纹理信息或其它数据。在一些实例中,gpu32可内置有高度并行结构,所述高度并行结构提供比cpu26更高效的复杂图形相关操作的处理。举例来说,gpu32可包含经配置以并行方式对多个顶点或像素操作的多个处理元件。与使用cpu26激昂图像直接绘制到显示器38相比,高度并行结构可允许gpu32更快速地将图形图像(例如gui和二维(2d)和/或三维(3d)图形场景)绘制到显示器38。

在一些实例中,gpu32可集成到计算装置2的母板中。在其它实例中,gpu32可存在于图形卡上,所述图形卡安装在计算装置2的母板中的端口中或可以其它方式并入经配置以与计算装置2互操作的外围装置内。gpu32可包含一或多个处理器,例如一或多个微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)或其它等效的集成或离散逻辑电路。

如图2的实例中示出,gpu32可直接耦合到图形存储器34。因此,gpu32可在无需使用总线40的情况下从图形存储器34读取数据且将数据写入到图形存储器34。换句话说,gpu32可使用本地存储装置而非芯片外存储器来在本地处理数据。这可通过消除gpu32经由总线40读取和写入数据的需要来允许gpu32以更高效的方式操作,其中经由总线操作可经历繁重的总线业务。然而,在一些实例中,gpu32可不包含单独的存储器,而是经由总线40利用系统存储器30。图形存储器34可包含一或多个易失性或非易失性存储器或存储装置,例如随机存取存储器(ram)、静态ram(sram)、动态ram(dram)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、快闪存储器、磁性数据媒体或光学存储媒体。

cpu26和/或gpu32可将经渲染的图形图像作为图像数据存储在帧缓冲器35中。帧缓冲器35可为独立存储器或可分配在系统存储器30内。显示接口36可从帧缓冲器35检索所述图像数据,且配置显示器38以显示由经渲染的图像数据表示的图形图像。在一些实例中,显示接口36可包含数/模转换器(dac),其经配置以将从帧缓冲器35检索的数字值转换为可由显示器38消耗的模拟信号。在其它实例中,显示接口36可将数字值直接传递到显示器38以用于处理。显示器38可包含监视器、电视机、投影装置、液晶显示器(lcd)、等离子显示面板、发光二极管(led)阵列(例如有机led(oled)显示器)、阴极射线管(crt)显示器、电子纸张、表面传导电子发射显示器(sed)、激光电视显示器、纳米晶体显示器或另一类型的显示单元。如图2的实例中示出,在一些实例中,显示器38可集成在计算装置2内。举例来说,显示器38可为移动电话或头戴式计算装置的屏幕。或者,在一些实例中,显示器38可为经由有线或无线通信链路耦合到计算装置2的独立装置。举例来说,显示器38可为经由电缆或无线链路连接到个人计算机或其它计算装置的计算机监视器或平板显示器。

根据本发明的一个实例,cpu26和/或gpu驱动器27可经配置以产生用于渲染图形图像的渲染命令。gpu32可经配置以执行所述渲染命令,且至少部分地基于指示用户视力缺陷的输入来渲染经校正的图形图像。在一些实例中,gpu32可经配置以渲染所述经校正的图形图像,作为执行渲染命令的一部分。也就是说,所述渲染命令的至少一部分可致使gpu32使用基于所述接收到的输入而修改的参数来渲染所述图形图像。在一些实例中,gpu32可经配置以通过对图形图像进行后处理来渲染所述经校正的图形图像。也就是说,所述渲染命令可致使gpu32使用经修改的参数来应用后处理,以产生所述经校正的图形图像。换句话说,在各种实例中,作为渲染过程的一部分和/或在图形图像的后处理期间,gpu32可渲染经校正的图形图像。

图3是说明经配置以实施本发明的技术的处理单元(例如图2的cpu26、gpu32和系统存储器30)的一个实例的框图。在图3的实例中,cpu26可包含至少一个软件应用程序44、图形api46和gpu驱动器27,其中的每一者可为cpu26上执行的一或多个软件应用程序或服务。gpu32可包含图形处理管线50,所述图形处理管线包含一起操作以执行图形处理命令的多个图形处理级。gpu32可经配置以执行图形处理管线50,以至少部分地基于指示用户视力缺陷的输入来渲染经校正的图形图像。举例来说,在渲染处理期间和/或在后处理步骤期间,gpu32可考虑所述用户的视力缺陷。如图3的实例中所示,图形处理管线50可包含命令引擎52、几何处理级54、光栅化级56和像素处理管线58。图形处理管线50中的组件中的每一者可实施为固定功能组件、可编程组件(例如作为在可编程着色器单元上执行的着色器程序的一部分),或作为固定功能和可编程组件的组合。可用于cpu26和gpu32的存储器可包含系统存储器30和帧缓冲器35。帧缓冲器35可为系统存储器30的一部分,或可与系统存储器30分开。帧缓冲器35可存储经渲染的图像数据。

软件应用程序44可为利用gpu32的功能性的任何应用程序。举例来说,软件应用程序44可为gui应用程序、操作系统、便携式映射应用程序、用于工程或艺术应用程序的计算机辅助设计程序、视频游戏应用程序或使用2d或3d图形的另一类型的软件应用程序。

软件应用程序44可包含指令gpu32渲染图形用户接口(gui)和/或图形场景的一或多个绘图指令。举例来说,绘图指令可包含界定将由gpu32渲染的一组一或多个图形基元的指令。在一些实例中,绘图指令可共同地界定用于gui中的多个开窗表面的全部或部分。在额外实例中,所述绘图指令可共同地定义图形场景的全部或部分,所述图形场景包含在由应用程序定义的模型空间或世界空间内的一或多个图形对象。

软件应用程序44可经由图形api46调用gpu驱动器27,以将一或多个命令发布到gpu32,以用于将一或多个图形基元渲染为可显示的图形图像。举例来说,软件应用程序44可经由图形api46调用gpu驱动器27以将基元定义提供给gpu32。在一些情况下,可将呈绘制基元(例如,三角形、矩形、三角扇、三角带等)列表形式的基元定义提供给gpu32。基元定义可包含指定与将渲染的基元相关联的一或多个顶点的顶点规格。所述顶点规格可包含每一顶点的位置坐标,且在一些情况下,包含与所述顶点相关联的其它属性,例如色彩坐标、法向量和纹理坐标。所述图元定义还可包含图元类型信息(例如,三角形、矩形、三角扇、三角带等)、按比例缩放信息、旋转信息及类似者。

基于由软件应用程序44发布到gpu驱动器27的指令,gpu驱动器27可调配指定供gpu32执行的一或多个操作以便渲染所述图元的一或多个命令。在gpu32从cpu26接收命令时,图形处理管线50解码所述命令且配置图形处理管线50内的一或多个处理元件以执行所述命令中指定的操作。在执行所述指定操作之后,图形处理管线50将经渲染的数据输出到与显示装置(例如显示器38)相关联的帧缓冲器35。

gpu驱动器27可进一步经配置以编译一或多个着色器程序,且将经编译的着色器程序下载到gpu32内所包含的一或多个可编程着色器单元上。所述着色器程序可以任何着色语言编写。经编译的着色器程序可包含控制gpu32内的可编程着色器单元的操作的一或多个指令。举例来说,着色器程序可包含顶点着色器程序和/或像素着色器程序。顶点着色器程序可控制可编程顶点着色器单元或统一着色器单元的执行,且包含指定一或多个每顶点操作的指令。像素着色器程序可包含控制可编程像素着色器单元或统一着色器单元的执行的像素着色器程序,且包含指定一或多个每像素操作的指令。根据本发明的一些实例实施例,像素着色器程序还可包含选择性地致使基于源像素的对应目的地阿尔法值而检索源像素的纹理值的指令。

图形处理管线50可经配置以经由gpu驱动器27从cpu26接收一或多个图形处理命令,并执行图形处理命令来产生可显示图形图像。如上文所论述,图形处理管线50包含一起操作以执行图形处理命令的多个阶段。然而,应注意,所述级不需要一定实施在单独的硬件块中。举例来说,几何处理级54和像素处理管线58的部分可实施为统一着色器单元的部分。

命令引擎52可接收图形处理命令,且配置图形处理管线50内的其余处理级以执行用于进行图形处理命令的各种操作。图形处理命令可包含(例如)绘图命令和图形状态命令。绘图命令可包含指定一或多个顶点(例如3d空间中的对象或图元)的位置坐标的顶点规格命令,且在一些情况下,与所述顶点中的每一者相关联的其它属性值,例如色彩坐标、法向量、纹理坐标和雾坐标。所述图形状态命令可包含基元类型命令、变换命令、照明命令等。所述基元类型命令可指定将要渲染的基元的类型和/或顶点如何组合以形成基元。所述变换命令可指定对顶点执行的变换的类型。所述照明命令可指定图形场景内的不同光的类型、方向和/或放置。命令引擎52可致使几何处理级54相对于与一或多个所接收命令相关联的顶点和/或基元执行几何处理。

几何处理级54可对一或多个顶点执行每顶点操作和/或基元设置操作,以便产生用于光栅化级56的基元数据。每一顶点可与一组属性(例如,位置坐标、色彩值、法向量和纹理坐标)相关联。几何处理级54根据各种每顶点操作而修改这些属性中的一或多者。举例来说,几何处理级54可对顶点位置坐标执行一或多个变换以产生经修改的顶点位置坐标。几何处理级54可(例如)将模型化变换、检视变换、投影变换、模型视图(modelview)变换、模型视图投影(modelviewprojection)变换、视口变换以及深度范围缩放变换中的一或多者应用于顶点位置坐标,以产生经修改的顶点位置坐标。在一些情况下,顶点位置坐标可为模型空间坐标,且经修改的顶点位置坐标可为屏幕空间坐标。可在所述模型化、检视、投影和视口变换的应用之后获得屏幕空间坐标。在一些情况下,几何处理级54还可对顶点执行每顶点照明操作,以产生顶点的经修改的色彩坐标。几何处理级54还可执行其它操作,包含(例如)正常变换、正常规格化操作、检视量修剪、均匀划分和/或隐面消除操作。

在一些实例中,几何处理级54的全部或部分可由在一或多个着色器单元上执行的一或多个着色器程序实施。例如,在此些实例中,几何处理级54可由顶点着色器、几何着色器或其任何组合实施。在其它实例中,可将几何处理级54实施为固定功能硬件处理管线或实施为固定功能硬件与在一或多个着色器单元上执行的一或多个着色器程序的组合。

在一些实例中,为了产生为用户视力缺陷校正的图形图像,几何处理级54可使用经修改的变换矩阵来将顶点在虚拟空间中的3d位置变换为所述顶点应在经渲染图像中出现的2d坐标。也就是说,几何处理级54可使用由一或多个经修改参数组成的变换矩阵来处理定义一或多个3d对象的数据,以产生图形图像。可基于接收到的指示用户视力缺陷的信息来确定经修改参数。举例来说,几何处理级54可使变换矩阵的一或多个参数乘以所确定的参数修改值,和/或使所确定的参数修改值与一或多个参数相加,以便创建经修改的变换矩阵。通过使用经修改的变换矩阵,几何处理级54的所得输出可不同于不基于用户视力缺陷来修改变换矩阵参数将具有的输出。

几何处理级54可产生包含定义将被光栅化的基元的一组一或多个经修改的顶点的基元数据,以及指定顶点如何组合以形成基元的数据。所述经修改的顶点中的每一者可包含(例如)与所述顶点相关联的经修改的顶点位置坐标以及经处理的顶点属性值。所述基元数据可共同地对应于将由图形处理管线50的其它级光栅化的基元。在概念上,每一顶点可对应于基元的其中所述基元的两个边缘会合的隅角。几何处理级54可将基元数据提供到光栅化级56以用于进一步处理。

光栅化级56经配置以从几何处理级54接收表示将被光栅化的基元的基元数据,且光栅化所述基元以产生对应于光栅化的基元的多个源像素。在一些实例中,光栅化级56可确定哪些屏幕像素位置由将被光栅化的基元覆盖,且产生用于被确定为由基元覆盖的每一屏幕像素位置的源像素。光栅化级56可通过使用所属领域的技术人员已知的技术来去确定哪些屏幕像素位置由基元覆盖,例如边缘遍历技术、评估边缘等式等。光栅化级56可将所得源像素提供到像素处理管线58以用于进一步处理。

光栅化步骤56所产生的源像素可对应于屏幕像素位置,例如,目的地像素,且与一或多个色彩属性相关联。针对特定经光栅化的基元所产生的所有源像素可称为与经光栅化的基元相关联。由光栅化级56确定的将由基元覆盖的像素可在概念上包含表示基元的顶点的像素、表示基元的边缘的像素以及表示基元的内部的像素。

像素处理管线58经配置以接收与光栅化的基元或片段相关联的源像素,且对所述源像素执行一或多个每像素操作。可由像素处理管线58执行的每像素操作包含(例如)阿尔法测试、纹理映射、色彩计算、像素着色、逐像素照明、雾处理、混合、像素所有权文本、源阿尔法测试、模板测试、深度测试、剪刀测试和/或点刻操作。另外,像素处理管线58可执行一或多个像素着色器程序或片段着色器程序以执行一或多个每像素或每片段操作。由像素处理管线58产生的所得数据可在本文中被称作目的地像素数据且存储在帧缓冲器35中。目的地像素数据可与帧缓冲器35中的具有与经处理源像素相同的显示位置的目的地像素相关联。目的地像素数据可包含例如色彩值、目的地阿尔法值、深度值等的数据。

帧缓冲器35存储用于gpu32的目的地像素。每一目的地像素可与唯一的屏幕像素位置相关联。在一些实例中,帧缓冲器35可存储每一目的地像素的色彩分量和目的地阿尔法值。举例来说,帧缓冲器35可存储每一像素的红色、绿色、蓝色、阿尔法(rgba)分量,其中“rgb”分量对应于色彩值,且“a”分量对应于目的地阿尔法值。虽然将帧缓冲器35和系统存储器30说明为单独的存储器单元,但在其它实例中,帧缓冲器35可为系统存储器30的部分。

在一些实例中,图形处理管线50的一或多个组件可经配置以经由gpu驱动器27接收来自cpu26的后处理命令,且执行所述后处理命令,以基于指示用户视力缺陷的输入来修改图形图像。举例来说,命令引擎52可接收指定图形图像(例如存储在帧缓冲器35处的目的地像素的集合)的命令,且配置图形处理管线50的其余组件中的一或多者(例如像素处理管线58)来执行所述命令。在一些实例中,像素处理管线58的像素着色器和/或片段着色器可将去卷积滤波器、模糊滤波器或其它图像效应应用于所述图形图像,以考虑用户视力。可基于指示用户视力缺陷的输入来确定用于此类滤波器或效应的参数。因此,与不执行后处理的情况相比,像素处理管线58的像素着色器和/或片段着色器的输出可在用户看起来更清楚。也就是说,通过对图形图像执行各种滤波操作和/或其它后处理,像素处理管线58的着色器可提供实际上较损坏(例如模糊)的图形图像,但可由具有不完美视力的用户感知为更正确。

以此方式,gpu32可经配置以基于指示用户视力缺陷的输入来渲染经校正的图形图像。在一些实例中,gpu32可利用基于所述输入修改的参数,作为执行渲染命令的一部分。在一些实例中,gpu32可利用基于所述输入修改的参数,作为对图形图像进行后处理的一部分。下文在图4到6中提供关于此类参数的使用的进一步实例和细节。

图4是说明实施本发明的一或多种技术的实例过程的框图。仅出于说明的目的,下文在图1到3的上下文内描述图4的实例过程。在图4的实例中,计算装置2可经配置以使用基于指示用户的视力缺陷的输入而修改的参数来产生图形图像。也就是说,计算装置2可接收指示用户的视力缺陷的输入,确定适当的参数修改值,且在图形图像的渲染期间,使用根据所述参数修改值修改的参数。

在图4的实例中,图形处理管线50可执行图形渲染命令80。图形渲染命令80可对应于对经渲染的图形图像的请求(例如通过在计算装置2处执行的应用程序)。在一些实例中,图形渲染命令80可包含绘图命令和图形状态命令。在图4的实例中,图形渲染命令80可包含一或多个图形状态命令,以致使所述所请求的渲染考虑用户的视力缺陷。举例来说,图形渲染命令80可包含对图形处理管线50的一或多个组件(例如几何处理级54和/或像素处理级58)的api的调用,从而指示以补偿用户的视力的方式来渲染所请求的图形图像。

作为一个实例,图形渲染命令80可包含将插入到适当的几何形状处理着色器中的着色器指令。此类着色器指令可由gpu驱动器27用来插入命令,以使用基于指示用户的视力缺陷的信息而修改的参数来渲染对应的图形图像。作为另一实例,图形渲染命令80可包含函数调用,以对从着色器输出的位置进行后处理。在其中应用程序具有简单着色器,且不想要修改着色器内容的情况下,此类函数调用可有用。

在图4的实例中,命令引擎52可接收图形渲染命令80,且配置图形处理管线50的一或多个其它组件来执行图形渲染命令80。举例来说,命令引擎52可配置几何处理级54以使用经修改的参数来执行变换,和/或可配置像素处理管线58,以使用经修改的参数来执行滤波。在图4的实例中,命令引擎52可致使几何处理级54和像素处理管线58两者利用经修改的参数。在一些实例中,命令引擎52可致使几何处理级54或像素处理管线58中的一者使用经修改的参数来执行操作。也就是说,在各种实例中,经校正的图形图像的产生可包含在几何处理级(例如对顶点或其它几何对象执行操作)期间和/或像素处理级(例如对像素执行操作,等)期间使用经修改的参数。

作为处理图形渲染命令80的一部分,几何处理级54和/或像素处理管线58可接收或以其它方式获得参数修改值84。举例来说,gpu32可接收来自cpu26的参数修改值84,或可从系统存储器30获得参数修改值84。参数修改值84可指定几何处理级54和/或像素处理管线58可用来修改渲染图形图像所涉及的参数的值。在一些实例中,参数修改值84可为滤波器的变换矩阵、值、系数或其它修改符的值、系数或其它修改符,或如何修改参数来考虑用户的视力缺陷的其它指示。

在图4的实例中,举例来说,几何处理级54可经配置以使用基于参数修改值84修改的参数来执行一或多个变换。此类变换可包含将模型空间变换为世界空间,将世界空间变换为相机空间,和/或将相机空间变换为均质空间(或投影空间)。每一变换可利用一组参数(例如变换矩阵)来将图像数据(例如模型的顶点)从一个空间变换到另一空间。举例来说,可通过将模型矩阵应用于模型的每一顶点来实现将模型空间变换为世界空间。

在一些实例中,模型矩阵可为可用于修改对象的顶点的值以便在空间中移动所述对象的矩阵。所述模型矩阵可由若干基础矩阵组成,例如平移矩阵t、一或多个旋转矩阵r,以及按比例缩放矩阵s,如下文所示。

如在以上实例中可见,所述模型矩阵的基础矩阵包含定义将如何修改对象的顶点的参数值,以便增加或减小所述对象(例如sx、sy和sz参数)的大小,旋转所述对象(例如α参数),和/或移动所述对象(例如tx、ty和tz参数)。因此,所得模型矩阵可用于在一个变换中按比例缩放、旋转和平移对象的顶点。通过改变基础矩阵的参数值,可修改所得模型矩阵,且将与所述参数值不变的情况不同地变换所述对象。换句话说,参数修改值84可指示sx、sy、sz、α、tx、ty或tz中的一或多者应在变换顶点之前改变,作为渲染图形图像的一部分。

以类似方式,可通过将视图矩阵应用于世界空间中的顶点来实现将世界空间变换到相机空间中。修改视图矩阵(或组成视图矩阵的矩阵)的参数值将修改变换所述世界空间的方式。

可使用投影矩阵来实现将相机空间变换到均质空间(或投影空间)中。下文示出实例投影矩阵p。

修改投影矩阵的参数也将改变变换相机空间的方式。举例来说,如果参数修改值84指定上文投影矩阵中所示的“附近”值的修改符,那么这将通过修改附近平面的位置以将内容变换到均质空间,来修改在显示器上显示投影的方式。修改上文投影矩阵中所示的“附近”值可对应于修改所得图形图像中显示的对象的焦点。也就是说,附近参数可定义所述图像的焦平面。

在图4的实例中,几何处理级54可通过使用基于参数修改值84修改的参数来渲染图形图像,来考虑各种用户视力缺陷。举例来说,用户可使用具有两个显示器(每只眼睛一个)的头戴式计算装置。所述用户可能有问题而无法用两只眼睛正确地聚焦在立体声图形图像的相同位置上。在此实例中,计算装置2可使用本文所述的技术来确定参数修改值84,其包含水平转变参数和/或垂直转变参数的参数修改值。几何处理级54可将参数修改值84应用于水平和/或垂直转变参数的基础值,以创建经修改的变换矩阵,且从而渲染考虑所述用户所经历的差焦点的图形图像。也就是说,一个或两个显示器可显示修改为针对所述用户的相应眼睛“在中心”的图形图像。各种其它参数修改值可由几何处理级54使用,包含水平、垂直或深度按比例缩放参数修改值;水平、垂直或深度转变参数修改值;旋转参数修改值;附近平面位置参数修改值,或其它参数修改值。

在图4的实例中,像素处理管线58可经配置以使用基于参数修改值84修改的参数来执行一或多个操作。此类操作可包含各种模糊滤波器、去模糊滤波器(例如去卷积滤波器)或其它滤波器的应用。操作还可包含变换的应用,例如基于径向失真、基于镜头投影来变换像素的操作(例如校正光学镜片的特性的变换),以及其它变换。此类操作可取决于各种参数,例如指示将应用的模糊或去卷积的等级、将用于镜头投影或镜头补偿投影的镜头的大小,以及可经修改以修改所得像素的任何其它值的参数。

由于使用经修改的参数值来执行变换和滤波,因此图形处理管线50可渲染经校正的图形图像,例如经校正的图像88。根据本发明的技术,经校正的图像88可考虑用户视力校正的等级,从而向所述用户提供在用户看起来较正确的图形图像,即使在用户不具有完美视力且不佩戴例如眼镜或隐形眼镜的视力校正工具时。通过将视力校正api暴露于在计算装置2处执行且使用基于指示用户的视力缺陷的输入修改的参数值来渲染图形图像的应用程序,本文所述的技术可允许计算装置2更准确考虑用户的视力。

图5是说明实施本发明的一或多种技术的实例过程的框图。仅出于说明的目的,下文在图1到3的上下文内描述图4的实例过程。在图5的实例中,计算装置2可经配置以通过使用基于指示用户的视力缺陷的输入修改的参数来将后处理应用于图形图像,来产生经校正的图形图像。也就是说,计算装置2可接收指示用户的视力缺陷的输入,确定适当的参数修改值,且使用基于所述值修改的参数来对图形图像进行后处理,以产生经校正的图形图像。

在图5的实例中,图形处理管线50可执行图形渲染命令100。图形渲染命令100可对应于对经渲染的图形图像的请求(例如通过在计算装置2处执行的应用程序)。通过执行图形渲染命令100,图形处理管线50可渲染未校正的图像102。

在图5的实例中,未校正的图像102可表示并不补偿用户的视力缺陷的图形图像。也就是说,如果向显示装置显示,那么未校正的图像102可在具有完美视力的用户看起来聚焦,但在不具有完美视力的那些用户看起来离焦或在其它方面不正确。在一些实例中,在渲染未校正的图像102之后,gpu32可存储未校正的图像102(例如存储在图形存储器34内)。

在图5的实例中,gpu32可利用图形处理管线50的像素处理管线58,来修改未校正的图像102以考虑用户的视力疾病。举例来说,gpu32可致使像素处理管线58基于使用参数修改值104确定的参数来执行后处理。后处理可包含如上文关于图4所描述的像素处理管线58可执行的各种操作。也就是说,在图5的实例中,像素处理管线58可操作以将各种滤波器应用于像素数据,对所述像素数据执行各种变换(例如补偿或应用镜头投影),以及其它操作。

使用基于参数修改值104确定的参数的后处理可产生经校正的图像106。根据本发明的技术,经校正的图像106可考虑用户视力缺陷的等级,从而向所述用户提供在用户看起来较正确的图形图像,即使在用户不具有完美视力且不佩戴例如眼镜或隐形眼镜的视力校正工具时。通过利用后处理步骤修改经渲染的未校正的图像且产生经校正的图像,本文所述的技术可使计算装置能够校正用户的视力减损,而无应用程序的参与。也就是说,通过经由后处理产生经校正的图形图像,用户视力校正过程可为应用程序不可知的。

图6是说明根据本发明的技术的用于获得指示用户视力缺陷的信息的实例计算装置2以及图形图像160和162的框图。仅出于说明的目的,下文在图1到3的上下文内描述图6的实例。

如图6的实例中示出,计算装置2可经配置以输出图形图像160和162,作为用于获得指示用户视力缺陷的反馈的gui的一部分。接收到的反馈可用于确定可用来确定用于渲染在用户看起来较正确的图形图像的参数修改值。也就是说,在图6的实例中描述的过程可使计算装置2的用户能够提供计算装置2可用来确定用于渲染图形图像的经修改参数的输入。在一些实例中,例如当计算装置2包含两个或更多个显示器(例如头戴式耳机的立体声显示器),在图6的实例中描述的过程可为每一显示器执行。也就是说,计算装置2可为每一显示器(例如对应于用户的相应眼睛)确定一或多个参数修改值。在一些实例中,在图6的实例中描述的过程可在显示器的一或多个部分上(例如不在显示器整体上,而是在特定区或部分上)执行。

在图6的实例中,gpu32可渲染图形图像160,以向显示器38显示。举例来说,显示器38可在用户对计算装置2的初始设置和配置期间,或响应于计算装置2接收指令计算装置2确定用户的视力缺陷(例如通过存取计算装置2所执行的设置配置应用程序),输出图形图像160。当渲染图形图像160时,gpu32可不校正用户视力缺陷。也就是说,可在不考虑用户的视力的任何缺陷的情况下,可渲染图形图像160。因此,图形图像160在具有不完美视力的用户看起来可能模糊或离焦。

响应于向显示器38显示图形图像160,在图6的实例中,计算装置2可接收指令计算装置2继续视力校正确定的用户输入。举例来说,用户可按压计算装置2的按钮(例如物理按钮、向触敏或存在敏感显示器显示的用户接口元件等),按压以通信方式耦合到计算装置2的装置的按钮,说出话音命令(例如“继续”、“好”等),或以其它方式向计算装置2指示用户希望继续。

在图6的实例中,响应于接收到来自用户的指令计算装置2继续的输入,计算装置2可致使所显示的图形图像以某一方式递增地改变。举例来说,gpu32可渲染图形图像160的渐进版本以用于输出到显示器38,同时将递增地不同的参数值用于模糊滤波器(例如由像素处理管线58应用)。举例来说,gpu32可使用极小的参数值来渲染图形图像160的第一版本,且显示器38可显示所述第一版本。可在短时间(例如5秒、1秒、2秒或其它持续时间)内显示图形图像160的每一版本。

gpu32可使用从用于渲染所述第一版本的参数值稍微增加的参数值来渲染图形图像160的第二版本,且显示器38可显示所述第二版本。举例来说,如果gpu32使用指示将应用的模糊等级(例如按标度0到10)的参数的值0.1来渲染所述第一版本,那么gpu32可使用参数值0.2来渲染所述第二版本。此递增增加可继续,直到gpu32使用所定义的最大参数值(例如10.0)来渲染图形图像160的版本。一旦达到所定义的最大参数值,gpu32可开始使用递增地较小的参数值来渲染图形图像160的版本。以此方式,计算装置2可显示循环通过各种程度的图像修改的图形图像。在一些实例中,计算装置2可循环通过每一参数一次(例如从最小值到最大值)。在一些实例中,计算装置2可循环通过每一参数多次(例如从最小值到最大值,且接着返回到最小值)。

在一些实例中,对于图形图像160的每一版本,计算装置2可循环通过多于一个参数。举例来说,gpu32可渲染图形图像160的版本,同时循环通过对应于图形图像160的水平轴的按比例缩放的第一参数,且接着同时循环通过对应于图形图像160的垂直轴线的按比例缩放的第二参数。作为另一实例,gpu32可渲染图形图像160的版本,同时循环通过模糊滤波器中所涉及的第一参数,以及去卷积滤波器中所涉及的第二参数。以此方式,计算装置2可显示也循环通过针对各种程度和/或类型的视力疾患的补偿的图形图像。

因为计算装置2显示使用渐进地增加或减小的参数值来渲染的图形图像160的版本,所以在图6的实例中,当用户认为所显示的图形图像看起来较好(例如较聚焦、较恰当地成比例,或以其它方式改进)时,计算装置2可接收来自用户的输入。举例来说,当图形图像160的当前显示的版本看起来比其它所显示版本好时,用户可推按钮、提供话音输入,或以其它方式向计算装置2提供指示。在一些实例中,计算装置2可接收单个指示。在其它实例中,例如当计算装置2循环通过值多次时,计算装置2可接收多个指示,从而提供小范围的可能参数值。

在图6的实例中,计算装置2可基于所述接收到的指示来确定近似参数修改值。举例来说,当计算装置2接收到所显示的图形图像看起来聚焦的单个指示时,计算装置2可将近似参数修改值确定为用以渲染在接收到所述指示时显示的图形图像的参数值。作为另一实例,当计算装置2接收所显示的图形图像看起来聚焦的两个或更多个指示时,计算装置2可将近似参数修改值确定为用以渲染在接收到每一指示时显示的相应图形图像的每一值的平均值。在又其它实例中,计算装置2可将近似参数修改值确定为具有最对应指示的值,或以某一其它方式。换句话说,计算装置2可基于所述接收到的指示来确定一或多个近似参数修改值。

gpu32可使用基于近似参数修改值确定的参数值来渲染图形图像162,且显示器38可输出大致经校正的图形图像以供显示。其后,计算装置2可接收指令计算装置2重复所述过程的输入或指令计算装置2继续所述所确定的近似参数修改值的输入。举例来说,计算装置2可接收指令计算装置2继续基于所述所确定的近似值来确定较确切参数修改值的输入(例如按钮的按压、话音输入等)。

以此方式,计算装置2可使用户能够提供指示视力缺陷的信息,且可确定用于渲染图形图像的参数修改值,而用户不必手动输入值。举例来说,当用户并不知道用户的镜片处方或具有对各种图形处理技术的了解时,这可为有用。另外,虽然显示器38与用户的眼睛之间的距离可在确定参数修改值时分解,但可在图6的实例过程中使用固定近似值。

图7是说明根据本发明的技术的用于获得指示用户视力缺陷的信息的实例计算装置2以及图形图像180、184和186的框图。仅出于说明的目的,下文在图1到3的上下文内描述图7的实例。

如图7的实例中示出,计算装置2可经配置以输出图形图像180、184和186,作为用于通过经由一系列选择引导用户选择看起来较正确的图像部分来获得指示用户视力缺陷的反馈的gui的一部分。接收到的反馈可用于在渲染后续图形图像以便使所述后续图形图像在所述用户看起来较正确时,确定可考虑的参数修改值。在一些实例中,在图7的实例中描述的过程可使计算装置2的用户能够“微调”参数修改值。图7的过程可根据本文所述的技术,使计算装置2能够向用户提供更清楚、更聚焦的图形图像。在一些实例中,例如当计算装置2包含两个或更多个显示器(例如立体声显示器)时,在图7的实例中描述的过程可为每一显示器执行。换句话说,计算装置2可为每一显示器确定一或多个相应参数修改值。

在一些实例中,计算装置2可在用户提供指令计算装置2在执行在图6的实例中描述的过程之后继续的输入之后,执行在图7的实例中描述的过程。在一些实例中,计算装置2可响应于接收到选择一或多个近似参数修改值的输入(例如话音输入、所显示的值的选择,或输入的其它途径),执行在图7的实例中描述的过程。也就是说,在一些实例中,计算装置2可执行图7中所描述的过程,从先前确定的或接收到的近似参数修改值获得确切的参数修改值。在一些实例中,计算装置2可基于指令计算装置2确定参数修改值的输入来执行在图7的实例中描述的过程。也就是说,在一些实例中,计算装置2可确定特定参数修改值,而不先前确定近似值。

在图7的实例中,计算装置2可能已存储用于模糊滤波器参数的近似修改值0.3。也就是说,当图形图像经受具有超过正常的额外0.3单元的模糊滤波器时,计算装置2的用户可能已提供了输入,或以其它方式指示他或她将图像感知为较正确。所述输入或指示可能已通过用户输入值0.3、提供根据经验指示值0.3(或平均到0.3的值)的输入,或以其它方式提供可用于确定近似模糊参数修改值0.3的输入来提供。

至少部分地基于近似值0.3,在图7的实例中,gpu32可渲染图形图像180,以向显示器38显示。图形图像180可包含使用不同参数值渲染的内容,用户可从中选择“较好”的观察内容。也就是说,gpu32可渲染图形图像180的至少两个部分(例如部分182a和182b)。可使用不同参数值来渲染每一部分。举例来说,可使用参数值0.25来渲染部分182a,而可使用参数值0.35来渲染部分182b。因此,所述内容的一个部分在用户看起来比其它部分正确。

在图7的实例中,在显示图形图像180之后,计算装置2可接收指示部分182a的选择的输入(例如话音输入、触摸式输入、使用物理按钮或键的输入,或其它输入)。也就是说,用户可指示他或她认为部分182a看起来比部分182b好或聚焦。

基于部分182a的接收到的选择,在图7的实例中,gpu32可渲染图形图像184。图形图像184包含部分186a和186b。可使用参数值0.25来渲染部分186a,而可使用值0.3来渲染部分186b。也就是说,因为用户指示了第一图形图像的基于参数值0.25渲染的部分看起来比第一图形图像的使用0.35渲染的部分好,所以在图7的实例中,计算装置2可使用值0.25和0.3来渲染第二图像的部分(例如186a和186b),以确定用户的视力是否需要较少校正,或最佳校正是否使用介于0.25与0.3之间的参数修改值。

在图7的实例中,计算装置2可接收指示部分186b的选择的输入。也就是说,用户可指示使用值0.3渲染的内容看起来比使用值0.25渲染的内容准确。基于所述接收到的输入,计算装置2可确定用户的视力可能将得益于更接近0.3而不是0.25的参数值。

在接收到输入选择部分186b之后,计算装置2可渲染和显示具有使用0.275和0.3渲染的部分的另一图形图像(未图示)。计算装置2可接收所述部分(例如使用0.275渲染的部分)中的一者的选择。基于所述选择,计算装置2可渲染和显示具有使用0.275和0.288渲染的部分的另一图形图像(未图示)。计算装置2可继续以类似方式来使用户的选择缩小到确切参数值,从而输出图形图像的使用不同参数值渲染的两个部分,接收所述部分中的一者的输入选择,且输出具有使用新参数值渲染的部分的后续图形图像。

在一些实例中,此过程可继续,直到用户指示图形图像的任一部分都看起来不比其它部分准确。在一些实例中,此过程可继续,直到用户已在三个连续图形图像中在两个值之间来回,或以其它方式到达其中参数值的任何差异可忽略的(例如1、0.05、0.001或其它值)的点。换句话说,在各种实例中,图7的过程可一次向用户呈现两个图像,基于参数的不同值来渲染每一图像。所述参数可继续改变连续图像中的值,直到用户停止将图像唯一地识别为“较好”。在一些实例中,上文所述的过程可另外或替代地使用其它参数(例如用以考虑其它视力问题的用于位置转变的参数、去卷积滤波器的参数等)的不同值来执行。在一些实例中,所述过程可另外或替代地使用识别用户的视力缺陷的其它方法来执行。

在用户已指示所显示的图形图像的两个部分之间看起来不存在差异或以其它方式提供致使计算装置2确定确切参数修改值的输入之后,gpu32可渲染图形图像188,以向显示器38显示。可使用所述所确定的确切参数修改值来渲染图形图像188。因此,图形图像188可在用户看起来较正确。其后,计算装置2可在执行本文所述的技术时使用所述所确定的确切参数修改值来产生经校正的图形图像。

图8是说明根据本发明的技术的用于获得指示用户视力缺陷的信息的实例计算装置2以及图形图像190、192和194的框图。仅出于说明的目的,下文在图1到3的上下文内描述图8的实例。

如图8的实例中示出,计算装置2可经配置以输出图形图像192、194和196,作为gui的用于获得指示用户的视力缺陷的反馈的部分。计算装置2可利用所述接收到的反馈来确定参数修改值。计算装置2和/或其它计算装置可使用所述所确定的参数修改值来确定可在图像渲染期间使用的参数值,以产生考虑用户的视力缺陷的图形图像。

如图8的实例中示出,图形图像192、194和196包含若干对象。这些对象可表示一组训练数据,其可辅助用户来提供指示用户的视力问题的反馈。为了获得有用的反馈,可预先告知用户所述训练数据的性质。也就是说,计算装置2(或计算装置2的手册、启动引导或任何其它材料)可告知用户存在于训练数据中的对象(例如形状、位置和/或其它信息),使得所述用户知道他或她假设看见什么。在图8的实例中,举例来说,可告知用户他或她假设看见3个同心圆,所述同心圆中的两个完全可见,且一个垂直延伸离开屏幕;以及越过所述圆的中心的两个相等长度的直线,一个水平且一个垂直。虽然图8中使用简单的2d对象,但在其它实例中,训练数据可为任何数目的2d和/或3d图像或视频。举例来说,在一些实例中,所述训练数据可包含在3d球体上绘制的2d同心圆。在一些实例中,可个别地向用户的每只眼睛示出训练数据。举例来说,可与向用户的右眼示出的训练数据独立地向用户的左眼示出训练数据。

在图8的实例中,gpu32可渲染图形图像192,以向显示器38显示。举例来说,显示器38可在计算装置2的初始设置和配置期间,输出图形图像192。可在不考虑用户的视力的任何缺陷的情况下,可渲染图形图像192。因此,图形图像192可以一或多种方式在具有不完美视力的用户看起来不正确。如在图8的实例中所见,举例来说,用户可具有散光或其它视力疾病,其致使水平轴与垂直轴不同地对焦。因此,虽然图形图像192可显示三个同心圆以及两个相等长度线,但用户可感知三个椭圆形以及两条不等长度的线。换句话说,尽管使用未经修改的变换矩阵来渲染表示三个圆和两条线的数据,但所得图形图像可在用户看起来沿水平轴具有比沿垂直轴线大的比例缩放因子。

为了确定修改图像渲染以考虑用户的视力缺陷的方式,计算装置2可致使所显示的图形图像以各种方式递增地改变,且获得来自用户的关于所显示的图像的反馈。所述反馈可指示用户对所显示的图像的感知。举例来说,gpu32可渲染图形图像192的渐进版本,以用于输出到显示器38,同时将递增地不同参数值用于一或多个变换矩阵的各种参数。计算装置2可接收指示如由用户感知的图像是否对应于训练数据的描述的输入。

图8的实例可表示计算装置2可递增地改变图形图像192的一种方法。在图8的实例中,gpu32可将渐进地不同值用于变换矩阵的水平按比例缩放参数。如果使用水平按比例缩放参数值0来渲染图形图像192,那么例如gpu32可用水平按比例缩放参数值-0.2来渲染后续图像(例如图形图像194),且输出所述图像来显示。之后,gpu32可用水平按比例缩放参数值-0.4、-0.6、-0.8等等来渲染较多图形图像(未图示)。

在给定训练数据的先前描述的情况下,在检视所显示的图像中的一或多者后,用户可即刻提供指示所显示图像是否与用户期望看见的图像对准的输入。举例来说,用户可提供指示所显示的图形图像比先前显示的图形图像“好”还是“坏”;当前正修改的参数应较大、较小还是原来就是正确的的输入,或指示用户对所述图像的感知的其它输入。可以若干方式中的任一者提供用户输入,例如口头输入、按钮或gui元件的按压或其它输入。

在图8的实例中,此过程可继续,其中计算装置2输出连续图像,且用户提供反馈输入。在一些实例中,用户对所显示的图形图像的感知可最终与用户的期望匹配。举例来说,gpu32可渲染图形图像196以供显示。可使用水平按比例缩放参数值-0.4来渲染图形图像196。

如图8中所见,基于训练数据的描述,图形图像196中(用户的感知中)的对象可与用户的期望匹配。计算装置2可接收指示用户对用以渲染图形图像196的水平按比例缩放参数值的满足的用户输入。基于此输入,计算装置2可确定所述参数的修改值。也就是说,基于指示导致用户感知正确图像的水平按比例缩放参数值的用户输入,计算装置2可确定用于后续水平按比例缩放参数值的修改值。在图8的实例中,举例来说,计算装置2可确定参数修改值-0.6。

之后,gpu32可基于所述参数修改值来修改初始参数值,以便确定用于渲染图形图像的参数值。举例来说,如果用于待呈现的对象的初始水平按比例缩放参数值为0.2,那么gpu32可将参数修改值-0.6与初始参数值0.2相加,从而得出参数值-0.4。gpu32接着可在对象的渲染期间使用所得参数值-0.4。

虽然相对于水平按比例缩放参数来描述,但在图8的实例中描述的过程可针对如本文所述的各种其它参数值类似地执行。举例来说,可针对垂直按比例缩放参数、总按比例缩放参数、垂直和/或水平转变参数、旋转参数和其它参数来执行所述过程。在一些实例中,计算装置2可首先确定与图形图像的形状方面有关的参数。计算装置2可接下来基于后续用户反馈确定所述对象的焦点。在一些实例中,例如在其中计算装置2包含多个显示器(例如立体声显示器)的实例中,计算装置2也可确定与由所显示的图形图像产生的所感知深度方面有关的参数。举例来说,计算装置2可渲染并显示图形图像的各种立体声版本,直到所述用户指示图形图像中的对象恰当地看起来是三维的。

图9是说明根据本发明的技术的用于获得指示用户视力缺陷的信息的实例计算装置2和图形图像的框图。仅出于说明的目的,下文在图1到3的上下文内描述图9的实例。

如图9的实例中所示,计算装置2可经配置以输出图形图像,例如图形图像200、202和204,以便获得指示用户的视力缺陷的反馈,和/或纠正用户的视力缺陷。在一些实例中,用户的视力缺陷可能不是统一的。也就是说,用户可具有导致用户在超过其它区域中的检视的一些区域中的视力失真的各种视力问题。为了补偿此类缺陷,本发明的技术可以不均匀方式应用于显示器的各种部分,从而提供在无其它区域中的过度校正的情况下所需的较强和/或不同校正。

图形图像200提供具有不同区201a和201b的经校正的图形图像的一个实例。在图9的实例中,gpu32可基于第一组一或多个参数值来渲染区201a,且基于第二组一或多个参数值来渲染区201b。在各种实例中,所述组参数值中的一者或两者可包含基于使用本文所述的技术来确定的参数修改值的参数值。举例来说,可使用第一模糊参数值来渲染区201a,同时使用第二模糊参数值来渲染区201b。

图形图像202提供具有不同区203a到203d的经校正的图形图像的另一实例。在图9的实例中,gpu32可使用不同组参数值来渲染区203a到203d中的每一者。图形图像204提供具有不同区205a和205b的经校正的图形图像的第三实例。gpu32可使用与用于渲染区205b的参数值集合不同的参数值集合来渲染区205a。

本发明的技术可用于使用针对具有任何大小或形状的任何数目的区的不同参数值来渲染图形图像。举例来说,可确定不同参数修改值,且应用于大量同心圆区的中的每一者。作为另一实例,可确定不同参数修改值,且应用于单个图像中的大量不同正方形区。可根据本文所述的技术来使用各种其它形状和大小的区。

图10是说明经配置以实施本发明的技术的计算装置的实例操作的流程图。仅出于说明的目的,下文在图1到3的上下文内描述图10的实例操作。

在图10的实例中,计算装置2可输出多个测试图形图像以供显示。可基于相应组的一或多个参数测试值来产生(例如通过gpu32)来自所述多个测试图形图像的每一测试图形图像。举例来说,gpu32可基于第一组参数测试值来产生第一测试图形图像,基于第二组参数测试值来产生第二测试图形图像,等等。在一些实例中,所述多个测试图形图像中的每一者可依次地输出以供计算装置2显示,而在其它实例中,同时可输出所述多个测试图形图像中的两个或更多个以供显示。

在图10的实例中,计算装置2可接收指示用户对至少一个测试图形图像的感知的输入(302)。举例来说,当显示特定测试图形图像时,计算装置2可接收按钮按压或话音输入,可接收指示所述特定测试图形图像的输入(例如当同时显示多于一个测试图形图像时),或接收指示用户对至少一个测试图形图像的感知的其它输入。在一些实例中,计算装置2可接收单个输入。在其它实例中,计算装置2可接收多于一个输入。

在图10的实例中,计算装置2可至少部分地基于所述接收到的输入来确定至少一个参数修改值(304)。举例来说,当接收到与单个特定测试图形图像相关联的单个输入时,计算装置2可确定参数修改值将和与所述特定测试图形图像相关联的参数测试值相同。当接收到多个输入(例如与多个测试图形图像相关联)时,计算装置2可通过求与所述多个测试图形图像相关联的参数测试值求平均值或以某些其它方式基于与所述多个测试图形图像相关联的参数测试值,来确定参数修改值。

在图10的实例中,计算装置2可基于所述至少一个参数修改值来产生经校正的图形图像(306)。在一些实例中,计算装置2(例如gpu32)可使用基于至少一个参数修改值确定的经修改的变换矩阵来渲染经校正的图形图像。在一些实例中,计算装置2(例如gpu32)可另外或替代地使用基于至少一个参数修改值确定的参数值来对经渲染的图形图像进行后处理,以产生经校正的图形图像。

在一或多个实例中,上文所描述的功能可以硬件、软件、固件或其任何组合实施。如果以软件实施,那么功能可作为一或多个指令或代码存储在包括非暂时性计算机可读媒体的制品上。计算机可读媒体可包含计算机数据存储媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。作为实例而非限制,此类计算机可读媒体可包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来运载或存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。如本文中所使用,磁盘和光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。

代码可由一或多个处理器执行,所述一或多个处理器例如一或多个dsp、通用微处理器、asic、fpga,或其它等效集成或离散逻辑电路。另外,在一些方面中,可在专用硬件和/或软件模块内提供本文中所描述的功能性。而且,所述技术可完全实施于一或多个电路或逻辑元件中。

本发明的技术可在广泛多种装置或设备中实施,包含无线手持机、集成电路(ic)或一组ic(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。

已描述了各种实例。这些和其它实例在所附权利要求书的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1