用于虚拟显示器的系统和方法_3

文档序号:9383060阅读:来源:国知局
特定电视有能力支持1080个垂直像素,但该电视可能实际上仅实现了 720个垂直像素。因此,优选模式(可以由本文描述的技术将其用作电视的最佳模式或默认模式)可以是720p模式。根据这种模式呈现的图像可能在电视上看起来比1SOp模式呈现的图像更好,因为720p是电视的固有分辨率,在这个分辨率下呈现的图像不需要任何缩放。虚拟显示器处理器235可以自动选择此类配置选项或者可以允许用户通过用户界面290选择。
[0042]在一些情况下,由一些设备供应的EDID代码是误导的或是不正确的。例如,具有扬声器但不是电视的一些LCD面板,可以在其EDID块中广告音频定时但不可以视频定时,且可能需要作为“非电视”来对待。在一些实施例中,计算机可以核实广告声称的显示器尺寸(其可以包括在CEA扩展块中,以毫米为单位指定其物理宽度和高度)。如果尺寸稍微合理地大(例如,在对角线上显著大于12英寸,诸如30英寸或更大),计算机可以几乎肯定地认为该显示器是电视(或另一种大的呈现显示器),而不是放在桌上与计算机相邻作为监视器的显示器。
[0043]需注意,对于投影仪而言,标准策略是报告零mm的宽度和高度,因为没有与被投影图像相关联的物理尺寸。然而,各投影仪制造商将这一策略不正确地解读为意指他们应当报告其高宽比(例如16mmX9mm)替代宽度和高度。在一些实施例中,计算机可以检测这种错误并认为显示器是投影仪。
[0044]在一些实施例中,系统可以维护设备标识符的数据库或列表,针对该设备标识符,由设备供应的一个或多个HHD代码已知是不正确的。在此类实施例中,可以将显示设备提供的信息与数据库或列表比较,以确定是否应当使用替代或覆盖参数值(例如,数据库或列表中存储的值)来确定显示器类型,而不是由设备自身提供的那些。这样的数据库可以存储于系统本地或者可以由系统通过网络访问,并可以在发现显示设备提供的信息不正确时,定期或根据需要更新。
[0045]在一些实施例中,一旦确定了优选显示模式和优选显示器,就可以配置计算机来渲染图像以优选显示器的最佳(或优选)模式显示并缩放和/或变换渲染的图像,以用于在一个或多个物理显示设备(例如,图1的远程外部显示器192或外部显示器190,或下文所述的图3的显示器325和365)上显示。在一些实施例中,这可能涉及(例如,基于EDID代码和/或其他存储或最近获得的信息)确定固有、最佳支持、默认或先前选择的分辨率、高宽比、颜色配置、尺寸(例如,像素为单位的高度和宽度)、比特深度(例如16比特或30比特模式)和/或针对选择的显示器的旋转。需注意,在一些情况下,如果用户希望显示对用户仅具有低分辨率图像数据的呈现,计算机可以缩放或不缩放图像,直到对于选择的显示器而言最佳模式的分辨率(例如,根据用于呈现图像的应用)。例如,如果不放大图像以填充屏幕,而是根据其固有(低)分辨率显示,图像可能看起来最佳。
[0046]在一些实施例中,该方法可以包括至少部分基于来自显示器自身的在EDID块中接收的信息,和/或关于这些类型显示器的已知信息(例如,存储于一个或多个显示参数值和/或显示超驰参数数据库中的信息),来确定针对物理显示器和虚拟显示器各自的最佳显示模式参数。
[0047]如本文所述,对渲染的图像数据重新采样以用于在物理显示器上显示虚拟图像显示数据可以包括:根据特定内部显示器和外部显示器的分辨率和高宽比,对渲染的图像数据进行上采样或下采样。在一些实施例中,该方法还可以包括根据非优选显示器的颜色配置文件,转换所渲染图像数据的颜色配置文件,以用于在非优选显示器上显示。
[0048]在一些实施例中,本文描述的用于确定计算系统中连接的显示器类型、确定显示模式和/或确定优选显示器的逻辑功能可以由虚拟显示处理器235执行。例如,可以在每次将虚拟显示器通过用户界面280附接到系统或从系统断开时,用户向系统手动输入一些显示模式信息(例如,通过一个或多个用户界面机构输入各种显示偏好)的任何时候,或在虚拟显示器与虚拟显示处理器235联系和断开联系时,执行它们。在一些实施例中,系统可以记住自动确定的和/或用户定义的选择。
[0049]如前所述,在一些实施例中,本文描述的系统可以允许用户覆盖由系统自动做出的决定。例如,在一些实施例中,在远程外部显示器作为虚拟显示设备与计算机相关联时,可以显示“显示器额外”菜单(例如作为弹出菜单),用户可以能够选择此菜单(例如,通过“在其上操作鼠标”)以修改一个或多个自动确定的选择(例如,显示模式、优选显示器和/或一个或多个其显示参数)。在一些此类实施例中,并非为用户呈现该系统能够物理地显示的每种可能模式,该系统可以为用户提供选项,来为特定显示器选择最佳模式,或者选择一组缩放模式中的一个缩放模式。可以将这些缩放模式表示为一组点尺寸,然后将缩放它们以匹配在显示器上,可以对它们进行标记,从而向用户表达系统上将会出现什么(例如,“最大文本”或“最多像素”)。在各种实施例中,显示系统的物理工作的详情(例如,垂直消隐时间)可以为用户概述。需注意,对于膝上型计算机而言,该系统可以根据点(而非像素)来表示显示选项,因为这是用户习惯解释其屏幕尺度的单位。对于电视而言,该系统可以将显示选项表示为一组电视类分辨率(例如1080p、1080i或720p,而不是800X600或1280X720)。对于计算机监视器,该系统可以根据水平像素和垂直像素(例如2048X1536)表示显示选项。
[0050]需注意,在一些实施例中,计算机可以在为计算机及其附接显示器做出显示配置变化时(或在其刚进行之前)发出显示器重新配置通知。通常,该系统(或其策略引擎)可以尝试找出期望的显示配置是什么,用户是否有偏好,应当如何管理颜色等,然后可以为系统上运行的软件提供未决配置的通知。在此类实施例中,管理呈现或电影重放的应用可以收听系统上出现的显示器重新配置通知,并回复对覆盖自动确定的选择中的一个或多个选择(例如,优选显示器或优选显示器的分辨率)的请求。作为响应,计算机可以做出所请求的修改。类似地,可以响应于用户(例如通过各种用户界面机构之一)选择了显示器偏好改变而发出显示器重新配置通知。在一些实施例中,可以发出显示器重新配置通知,以提供所提出或未决改变的事先通知,和/或可以在做出显示器配置改变之后接着发出显示器重新配置通知,以指示已经做出改变。在一些实施例中和一些情况下,系统中当前正在执行的应用可以拒绝未决显示配置改变,作为响应,计算机可以延迟、修改或中止未决改变。在其他情况下,当前执行的应用可以对完成的显示配置改变做出反应(例如,通过重新设定其产生的图像尺寸或从低功率图形卡迀移到高功率图形卡或反之,来利用完成的改变),或者可以忽略(或者忘记)未决或完成的改变。在一些实施例中,对接收此类通知感兴趣的应用可以注册以接收它们。在其他实施例中,可以注册操作系统和/或系统库的各种功能以接收此类通知并代表它们重新设定由各种执行应用产生的图像尺寸。在其他实施例中,可以对未决和/或完成的显示配置改变的通知做出各种其他类型的响应。
[0051]图3是示出了具有多个显示器的计算机系统的一个实施例的框图,多个显示器都是物理附接和虚拟的。计算机系统305包括计算设备315,其可以是任何适当类型的计算设备。在一个实施例中,设备315是具有集成监视器的计算设备,监视器被标记为显示器325。在一些实施例中,显示器325是计算设备315集成的或内部的显示设备。在本文描述的一些实例中,可以将这一显示器称为设备315的“主”显示设备,并且物理地连接到计算设备315的其他部件。在一些实施例中,主显示器325可通过外部接口物理地连接到设备315。可以利用图3中的虚线表示显示器325,以指示它可以位于设备315的内部或外部。需注意,在本文描述的一些实例中,可以将主显示设备(即针对计算设备315的主要或默认显示器)称为“内部”显示器,无论其实际上是否集成于计算设备之内或通过外部接口物理地连接到计算设备。如本文所用,术语“显示器”可以指被配置为响应于向显示器提供的控制信号来呈现视觉图像的任何设备。显示器中可使用多种技术,诸如阴极射线管(CRT)、薄膜晶体管(TFT)、液晶显示器(IXD)、发光二极管(LED)、等离子体等。在一些实施例中,显示器还可包括触摸屏输入功能性或投影能力。在一些情况下,显示设备还可被称为面板。
[0052]在图3中所示的实例中,除了显示器325之外,计算设备315还包括外部接口 335,外部接口 335通过连接355物理地耦接到“外部”或“辅助”显示器365。接口 335可以是任何类型的标准有线接口或专有有线接口。可以将给定接口 335理解为具有“数据宽度”(例如,管脚数量),其指示该接口能够一次传输多少数据。在图3中,连接355是设备315和辅助显示器365之间连接的逻辑表示。在一些实施例中,连接355可以包括一个或多个居间的硬件部件。像主显示器325那样,辅助显示器365可以是任何适当类型的设备。例如,在一些实施例中,辅助显示器365可以是高清晰度TV(HDTV)兼容的设备或投影设备。如本文中更详细所述,内部(或主)显示器或外部(或辅助)显示器可以在很多时候是针对计算设备305的“优选”显示器(即,用户希望图像内容以对于该显示器而言最佳的显示模式被显示的设备)。
[0053]在一些实施例中,计算设备315上的一个或多个处理器利用操作系统创建一个或多个显示器接口,它们是用于与显示设备诸如显示器320和外部显示器365通信的软件部件。该显示器接口是用于在用于计算设备315上执行的应用的应用层和一个或多个显示设备之间传送显示数据和用户输入事件的接口。一个或多个显示设备,诸如显示器325和外部显示器365中的每个显示器,都物理地连接到由操作系统管理的计算系统,诸如计算设备315。计算设备315的操作系统还创建一个或多个虚拟显示器接口,以用于在应用层和一个或多个虚拟显示设备之间传送显示数据和用户输入事件,其包括存储系统和通信系统,以用于管理一个或多个未物理地连接到由操作系统管理的计算系统,诸如计算设备315的虚拟显示设备。
[0054]计算设备315在应用层中执行一个或多个应用。一个或多个应用中的至少一个应用利用显示器接口中的至少一个显示器接口诸如显示器325和外部显示器365,向一个或多个显示设备中的至少一个显示设备传送显示数据并从其接收用户输入事件,一个或多个应用中的至少一个其他应用利用一个或多个虚拟显示器接口中的至少一个虚拟显示器接口向一个或多个虚拟显示设备中的至少一个虚拟显示设备传送显示数据并从其接
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1