用于显示镜像的系统与方法

文档序号:6509315阅读:383来源:国知局
用于显示镜像的系统与方法
【专利摘要】本公开涉及用于显示镜像的系统与方法。更具体而言,公开了支持显示镜像模式和扩展显示模式的多个显示器的使用的一种计算系统,其可基于系统中显示器的各种特性来自动地(具有少量或没有用户输入)确定在其中配置该系统的显示模式。例如,该系统可确定电视机、投影仪、或其它演示类型的显示器在系统中被连接,并且作为响应,可确定该系统应被配置为显示镜像模式,而不是扩展显示模式。该系统也可确定该演示类型显示器为优选显示器,并且可以使用其原始分辨率、长宽比或颜色配置文件以该显示器的最佳的(或优选的)模式来渲染图像内容。然后该系统可缩放渲染的图像内容以在其它(非优选的)的显示器(比如内部显示器)上显示,而不是重渲染它。
【专利说明】用于显示镜像的系统与方法
相关申请的交叉引用
本申请要求2012年6月8日提交的、标题为“System and Method for DisplayMirroring”的第61/657,549号美国临时专利申请为优先权。
【技术领域】
[0001]本公开通常涉及视频显示器的使用,并且更加具体地涉及在多个装置上显示图像。
【背景技术】
[0002]在一些情况下,需要在计算机系统的多个显示器上同时地显示相同的图像。例如,考虑到含有一计算装置的系统,其包括内部显示器和耦接至外部显示器的外部接口。这个系统可用于演示(例如,用于在一个大房间里给受众展示软件)。演示者希望在听众在外部显示器上看到展示的同时在装置的内部显示器上看到展示。通过使用多用户接口机制明确地指定多个显示选项以用于在该内部和/或外部显示器上渲染图像内容,演示者可将该系统配置为在这个模式下操作和/或选择分辨率和/或其它参数。
[0003]在其它情况下,可能需要在计算机系统的多个显示器上显示不同的图像。例如,具有包括内部显示器和耦接至外部显示器的外部接口的计算装置的系统可被单独的用户用于运行显示大量信息的应用程序。该用户可能希望在该内部显示器和外部显示器之间都看到信息(例如,以扩展桌面模式)。通过使用多个用户接口机制明确地指定多个显示选项以用于在该内部显示器或外部显示器上渲染图像内容的不同部分,该用户可配置该系统在这个模式下操作和/或选择分辨率和/或其它参数。

【发明内容】

[0004]本公开涉及包舍内部显示器并且也连接至一个或者多个外部显示器的计算机。该计算机、内部显示器和外部显示器可被配置为统一地以显示镜像模式或扩展显示模式(例如,扩展桌面模式)操作。本公开的实施例可允许计算机和多个显示器的自动配置,以使得在来自用户的少量或无输入的情况下,该内容最好地显示在用户想要其最好地显示在其上的显示器上。在一些实施例中,该计算机可检测连接至计算机的外部显示器的特性,并且可推断该外部显示器的预期用途。例如,如果该外部显示器是演示设备(例如,电视机或投影仪),该计算机可推断该外部显示器的预期用途为演示形式,其中,外部显示器镜像该计算机的内部显示器。另一方面,如果该外部显示器不是演示设备(例如,如果它是计算机监视器),该计算机可推断该外部显示器的预期用途是作为扩展显示模式的辅助监视器。
[0005]本公开的实施例可允许该计算机确定哪个显示器是优选显示器并且渲染内容以使得它在优选显示器上最好地显示。然后该渲染的内容可被重采样、缩放和/或它的颜色配置文件被转换用于在另一显示器上显示,而不用重新渲染它。该计算机可记忆显示器的特定组合的预期用途以及优选显示器,并且可在后续检测到显示器的相同组合时推断该预期用途和其它偏好是一样的。
[0006]在一些实施例中,当显示器配置改变(或者即将改变)时,显示器的重配置通知可在系统中被发送。各种应用程序可对该通知做出响应以接受、拒绝或修改该未决改变,可以利用完成的改变,或者可忽略(或不在意)未决或完成的改变。在一些实施例中,该计算机可自动地确定显示模式、优选显示器、和用于优选显示器的优选显示模式,并且用户可通过各种用户接口机制推翻该自动选择。
【专利附图】

【附图说明】
[0007]图I为表示具有多个显示器的计算机系统实施例的框图。
[0008]图2A为表示包含具有内部缩放单元的计算装置的计算机系统实施例的框图。
[0009]图2B为表示计算机系统实施例的框图,该计算机系统包含具有用于显示镜像的一个或者多个显示驱动器的计算设备。
[0010]图3A-3B为根据一些实施例来表示重新缩放针对优选显示器的优选显示模式被渲染的图像内容以用于非优选显示器的示例。
[0011]图3C为根据一个实施例来表示以扩展显示模式在两个显示器上显示图像内容的示例。
[0012]图4为表示实现显示镜像方法的一个实 施例的流程图。
[0013]图5为表示确定显示器是否是演示设备的方法的一个实施例的流程图。
[0014]图6为表示在优选显示器上显示图像内容以及在另一显示器上镜像该图像内容的方法的一个实施例的流程图。
[0015]图7为表示在计算系统中配置多个显示器的方法的一个实施例的流程图。
[0016]图8为根据各种实施例来表示配置以实现显示镜像的示例性计算机系统。
[0017]这个说明书包括词“一个实施例”、“一实施例”、“一种实现方式”或“一实现方式”。这些词的出现并不必须表示相同的实施例或实现方式。特定特征、结构或特性可以与本公开一致的任意适合的方式进行组合。
[0018]进一步,各种单元、电路、或其它组件可被描述或要求为“配置为”执行一个任务或多个任务。在这样的上下文中,通过指示单元/电路组件包含在操作期间执行那些任务的结构(例如电路),“配置为”被用来意味着结构。这样,该单元/电路/组件可描述为被配置执行该任务即使在该特定的单元/电路/组件当前不可操作(例如,没有打开)。使用该“配置为”语句的单元/电路/组件包括硬件——例如,电路、存储可执行程序指令以实现该操作的存储器等。列举的该单元/电路/组件被“配置为”执行一个或者多个任务并没有明确地为那个单元/电路/组件引起35U.S.C. § 112,第6段。
【具体实施方式】
[0019]如上所述,各种类型的计算设备可包括内部显示器并且也可以被连接到一个或者多个外部显示器。在各种实施例和不同的情况中,该计算设备、内部显示器和外部显示器可以被配置为统一地以显示镜像模式或扩展显示模式(例如,扩展桌面模式)操作。当前公开的实施例可允许计算设备和多个显示器的自动配置,以使得根据如由计算机确定的当前最可能的使用模型而在来自用户的少量或无输入的情况下,该内容最好地显示在用户想要其最好地显示在其上的显示器上。
[0020]在一些实施例中,计算机可检测连接至计算机的外部显示器的特性,并且可至少部分的基于那些特性来推断该外部显示器的预期用途。例如,如果该计算机基于该外部显示器的特性确定该外部显示器是演示设备(电视机或投影仪),该计算机可推断该外部显示器的预期用途为演示形式,其中,外部显示器镜像计算机的内部显示器。另一方面,如果该计算机基于该外部显示器的特定确定该外部显示器不是演示设备(例如,如果该内部显示器和该外部显示器都是计算机监视器),该计算机可推断该外部显示器的预期用途是扩展显示模式的辅助监控器(例如,扩展桌面模式,其中,该内部和外部监视器统一地作为具有组合显示器尺寸的单独显示器来动作)。
[0021]在一些实施例中,计算机可确定,哪个(如果存在的话)显示器是优选显示器并且可以渲染图像内容,以使得它在优选显示器上最好地显示。例如,当在镜像模式中而外部显示器为电视机或投影仪时,该图像内容可以最好的或优选的模式渲染以在电视机或投影仪上显示(例如,使用电视机或投影仪或其衍生物的原始分辨率、长宽比、和/或颜色配置文件)。然后该渲染的内容可被重采样、缩放、和/或其颜色配置文件被转换以在内部显示器上进行显示(而不需重渲染该图像内容)。该计算机可记忆显示器特定组合的预期用途和优选显示器,并且可在后续检测到显示器的相同组合时推断出预期用途和其它偏好是一样的。例如,该计算机可存储指示显示模式(例如,显示镜像模式或扩展显示模式)的数据和/或内部显示器和外部显示器的特定组合的优选显示器(例如,内部显示器或外部显示器),并且可访问所存储的数据以如果且当显示器的相同组合后续连接到该计算机时推断出该预期用途和/或其它显示偏好。
[0022]在一些实施例中,当由于各种显示器重配置事件的任一个(例如,连接或不连接外部显示器,在一个或者多个显示偏好中检测到用户发起的改变等)导致显示器配置改变(或即将改变)时,显示器重配置通知可在系统中发送(例如,给用户和/或给各种在系统中当前执行的应用程序)。在一些实施例中,各种应用程序(或用户)可对这种通知做出响应以接收、拒绝、或请求未决改变的修改,可利用完成的改变,或可忽略(或不在意)未决或完成的改变。响应于应用程序或用户拒绝未决改变,该计算机可延迟、修改或中止该未决改变。
[0023]现在转向图1,显示了具有多个显示器的计算机系统的框图。计算机系统100包括计算设备110,其可为任意适合类型的计算设备。在一个实施例中,设备110是平板计算设备,比如IPAD产品。
[0024]如图所示,设备110耦接至显示器120。在一实施例中,显示器120被集成至计算设备110或在计算设备110的内部。在这里描述的一些例子中,这个显示器被称为设备110的“主要”显示器。在一些实施例中,主要显示器120可通过外部接口被连接至设备110。显示器120在图1中使用虚线表示,以指示它可位于设备110的内部或者外部。注意到这里描述的一些例子中,该主要显示器(例如,计算设备110的主显示器或默认显示器)可被称作“内部”显示器,而不考虑它是否真的集成在该计算设备的内部还是通过外部接口连接至该计算设备。正如这里所使用的,该词“显示器”指的是被配置为响应于提供至显示器的控制信号来呈现虚拟图像的任意设备。各种技术可被用于显示器,比如阴极射线管(CRT)、薄膜晶体管(TFT)、液晶显示器(IXD)、发光二极管(LED)、等离子体等。在一些实施例中,显示器也可包括触摸屏输入功能,或投影功能。在一些情况中,该显示器设备也可指的是面板。
[0025]图1所示的例子中,除了显示器120,计算设备110包舍通过连接150耦接至“外部”或“次要”显示器160的外部接口 130。在不同的实施例中,接口 130可以为任意类型的标准的或专有的接口,并且可以是有线或无线的。给定的接口 130可被理解为具有“数据宽度”(例如,多针),其决定接口一次能传输多少数据。图1中,连接150是设备110和次要显示器160之间的连接的逻辑表达。在各种实施例中,连接150可以是无线的。在其它的实施例中,连接150可以是有线的,并且可以包括一个或者多个中介硬件组件,比如下面讨论的缩放单元。类似于主要显示器120,次要显示器160可为任意合适类型的设备。例如,在一些实施例中,次要显示器160可为高清晰度电视机(HDTV)兼容设备或投影设备。如这里更加详细描述的,内部(或主要)显示器或外部(或次要)显示器可在不同时间为计算设备100的“优选”显示器(例如,在设备上用户想要在其上以该显示器的最佳显示模式显示图像内容)。
[0026]计算设备110可包括对许多计算设备而言是共同的各种结构(未在图1中描述)。这些结构可包舍一个或者多个处理器、存储器、图形电路、I/O设备、总线控制器等。图8中图示了这样计算设备的一个实施例并且在下面详细描述。
[0027]在各种实施例中,计算设备110可操作来显示数据帧。通常,帧是描述要显示的图像的数据。帧可包括像素数据,其描述了帧中包舍的像素(例如,按照各种颜色空间,比如RGB或YCrCb),并且也可以包括元数据比如混合的alpha值。静态帧可以为不是视频序列的一部分的帧。可选地,视频帧可为视频序列中的帧。视频序列中的每帧可在前帧之后以指定用于视频序列的速率被显示(例如,每秒15-30帧)。视频帧也可以为完整图像,或可为压缩图像,其涉及系列中的其它图像。如果该帧被压缩,设备110中的视频管线可解压缩该帧。
[0028]在一些实施例中,设备110中的显示生成单元可被配置以生成(例如,渲染)、取回、和/或处理帧数据,以提供用于显示器的像素值流。该显示生成单元可在一些实施例中被配置为显示管线。此外,该显示生成单元可被配置为混合多帧来生成输出帧。例如,在一个实施例中,每帧像素可具有关联的alpha值来指示其不透明性。
[0029]通常,像素值流中的像素值可为要在耦接至设备110的显示器上显示的像素的表示。该像素值可包括一个或者多个颜色空间值。例如,在RGB颜色空间,该像素值包括红色值、绿色值和蓝色值。每个值的范围从零到2N-1,并且描述了那个像素的颜色的强度。类似地,在YCrCb颜色空间中,该像素值包括Y值、Cr值和Cb值。像素在显示器上的位置可从对应的像素值在像素流中的位置推断出。例如,该像素流可为一系列的像素行,每行形成显示器屏幕上线条。在渐近模式的显示中,以连贯顺序描绘这些线条,并且因而在像素流中的下一线条立即邻接于前一线条。在交错模式的显示中,在显示器上连续经过画出要么奇数线条要么偶数线条,并且因而在像素流中的下一线条从像素流中前一线条跳过一线条。为了简便起见,像素值流可指的是像素流,或者像素的流。设备110中的像素处理单元可配置为在像素流上执行各种像素操作以及可提供经处理的像素流给各个物理接口(PHY),或显示器驱动器。例如,像素操作可包括以下中的一个或者多个:颜色空间转换、背光控制、伽马校正、对比度改善、过滤、抖动等。该PHY可通常包括物理地控制相应的显示器的电路。该PHY可驱动控制信号,该控制信号响应于像素值物理地控制各自的显示面板。因此,例如,显示器的由RGB信号控制的PHY可在对应于像素的R、G、B分量的R、G、B信号上传输电压。也可以有由PHY传输的显示时钟,或者该显示时钟嵌入在控制信号之一中。不同显示器的不同PHY可具有位于不同时钟域的时钟。
[0030]通常可期望的是,使用计算设备110来演示——例如,给大房间中的观众。在这样的情况下,主要显示器120的尺寸对于观众人数不足够。为便于这样的演示,次要显示器160 (其可以是一电视机、投影仪、或其它演示类型设备)可通过接口 130和连接150耦接至设备110。以这种方式,在观众看显示器160上的演示时,演示者可在显示器120上查看演示。在这样的实施例中,可同时地显示两个图像,以使得在演示者描述显示器120上出现的演示的特征时,这个相同的特征也同时出现在显示器160上。注意到,在不同的显示器上的图像之间有一些固有的相位差异。但是,如这里所使用的,词“同步”、“同步的”或“同时的”显示图像包括在不同的显示器上显示图像,该显示器没有视觉上可辨图像漂移。
[0031]在该内部显示器和外部显示器具有不同分辨率时(例如,在水平和垂直方向中有不同数量的像素),图像的同时显示变得更困难。一种可能的解决方案是每个显示器具有不同的显示生成单元。然而,这样的方法具有一个显著的缺陷。考虑到游戏开发者希望使用内部显示器和外部显示器来展示一个新的视频游戏。如果该视频游戏正推挤(push)设备110的处理功率,那么外部显示器的第二显示生成单元的运行将会浪费处理功率,当实际上它渲染和第一显示生成单元相同的图像时。因此,这样的配置可能不允许开发者在视频游戏运行于最佳性能时展示该视频游戏。
[0032]可选的解决方案是显示镜像模式的使用,在该模式中单独一个显示生成单元被用于提供输出(例如,像素)给显示器120和160。这个解决方案可包括仅渲染图像数据一次(或仅一次从存储器中取出渲染的图像数据),并且利用缩放单元或显示驱动器来重采样或以其它方式缩放渲染的数据,以用于在不是针对其渲染的显示器上演示。
[0033]如上所述,包括多个显示器的计算机系统可在一些实施例中被配置为在不同的时间在显示镜像模式或扩展显示模式下进行操作。当在多个具有不同尺寸和/或分辨率的显示器上镜像时,很难高效地提供在所有的这些显示器上都具有美观的外形的图像数据给不同的显示器。一些当前镜像技术可用一分辨率渲染图像,该分辨率对内部显示器和外部显示器是通用的,但是它可能不会在这两个显示器上都清晰。在一些实施例中,这里描述的技术可替代地优化“优选显示器”的分辨率,优选显示器是用户最可能想要图像最好地在其上进行显示的显示器。注意,在一些实施例中,依赖于显示器的组合的推断的使用情形,该系统可自动地指定显示器为优选显示器。例如,在投影仪或电视机被连接到系统中时,该系统可以总是指定该投影仪或电视机作为优选显示器。
[0034]在一些实施例中,这里描述的技术可在使用少量和不用用户输入的情况下提供自动管理显示镜像和具有内部显示器和外部显示器的系统的各种使用情形的方式。换句话说,这里描述的技术可实现在能够使用多个显示器支持各种显示模式的计算机系统中,并且可自动地配置该系统以使得该显示器在无需人工干预的情况下以最有可能是优选方式的方式(例如,以最可能的显示模式和/或图像在最可能是优选显示器的显示器上最佳显示)来呈现图像数据。
[0035]在一些实施例中,依赖于连接至计算机的外部显示设备的类型,该计算机可被配置为自动地确定(或推断)是否将在计算机的内部或主要显示器上呈现的图像镜像在外部显示设备上,或者是否在内部显示器和外部显示器之间共享或分割图像的演示。例如,如果计算机被连接至电视机、投影仪或其它类型的演示设备,而不是被连接到辅助计算机监视器,则该计算机可推断出应镜像图像。该计算机也可被配置为将图像进行优化以在作为显示器的优选显示器的演示设备上显示(例如,依赖于演示设备的尺寸、分辨率、长宽比、和/或颜色配置文件)。换言之,该图像可被自动地以最佳或优选模式进行渲染,以在演示设备上显示(例如,使用GPU或其它可用计算设施),并且可被重采样或以其它方式被缩放(而不用被重渲染)以在显示镜像模式中在计算机的内部或主要显示器上显示。通常,各种技术任一可被用于执行针对优选显示器(比如演示显示器)渲染的图像内容的缩放,以用于在非优选显示器(比如内部显示器)上使用,以便以变化的质量和性能等级将图像从一个尺寸转换到另一尺寸。例如,如上所述,可由GPU执行缩放。在各种实施例中,各种不同的过滤器中任意一种可被用于下采样该渲染的图像内容,例如,可使用双线性过滤器。在一些实施例中,该系统可调整渲染的图像内容以用于不同的长宽比。例如,可尝试在输出上保持方形像素,而不是在一个或者多个方向上仅拉伸和/或压缩图像以使得它将适合其它显示器。因此,依赖于优选和非优选显示器的长宽比,可能有可见的“黑条”穿过非优选显示器的顶部(和/或底部),或者在非优选显示器的下面,或者他们能很好地匹配(例如,两个显示器具有相同的长宽比)。
[0036]注意到,在不同的实施例中,还有各种实现自身显示镜像的方法。例如,在一个实施例中,其中两个显示器具有相同的分辨率,在硬件上有两个不同的显示头,但是他们引用相同的存储器,并且每个都能从存储器扫描输出至对应的显示器之一。在另一个实施例中,其中该显示面板具有不同的尺寸(例如,当它们具有不同数量的像素时),可能有一个能忙碌地缩放图像的硬件缩放单元。注意到,多个GPU厂商提供一些类型的面板适配器,该适配器能执行一定量的上缩放或下缩放,其中的任一可用于这里描述的系统。通常,它可被抬升给任何现有的GPU驱动器,以执行渲染的图像内容的重缩放以用于在其它显示器上使用。在一些实施例中,在重画屏幕的一部分时,为GPU提供长方形列表,使GPU知道实际上改变了什么。在这些实施例中,该GPU可不需要持续为每个单独的帧重采样整个图像,其可改进性能和/或节约电池寿命。
[0037]现在转向图2A,描述了计算机系统的一个实施例的框图。在可应用之处,该计算机系统的组件具有和图1相同的参考标记。如图所示,该计算机系统包括计算设备110,其通过接口 130和连接150耦接至外部显示器160。
[0038]参照上面图1所述,计算设备110可被配置为在镜像模式下操作,在该模式下,一个单独的显示生成单元提供输出给显示器120和160。如这里所用,术语“显示生成单元”指的是可被用于生成显示的图形或像素数据的任意电路,以及可指的是执行一系列图形或像素操作的管线电路。图2A描述了提供输出给显示器120和/或160的显示生成单元210。虽然图2A显示了通过缩放单元220在单元210和显示器120之间的耦接,在其它实施例中,也可以在单元210和显示器120之间直接连接和/或不同的电路或单元(例如,PHY单元)可沿着这个路径驻留。图2A也描述了显示生成单元210的输出通过包括缩放单元220和接口 130的路径被提供给外部显示器160。与单元210和显示器120之间的连接一样,单元210和显示器160之间的连接除了图2A所示的那些还可以有各种功能单元或电路。在一个实施例中,显示生成单元210包括适用于在显示器120和160上演示而渲染图像内容的单独的管线(例如,以每个显示器所选择的、原始的或最佳的显示模式)。这些管线中每一个可被划分为前端和后端。前端可处理比如渲染图像、缩放、颜色空间转换和/或混合这样的操作,而后端可处理缩放后以及混合后的像素的准备以在面板上显示(例如,通过抖动等)。
[0039]在一些实施例中,在硬件镜像模式中,次要(或外部)显示器的显示管线的后端可选择主要(或内部)显示器的显示管线的前端的输出作为输入,或者主要(或内部)显示器的显示管线的后端可选择次要(或外部)显示器的显示管线的前端的输出作为输入。换言之,在显示生成单元210的一个实施例中,该显示管线的后端包括多路复用器,该多路复用器在操作在镜像模式期间在主要和次要显示管线的前端输出之间选择以用于进一步处理,例如,依赖于哪个显示器是““优选的”显示器。在这样的实施例中,由显示管线的后端输出的数据,在被提供给显示器120和/或显示器160 (通过外部接口 130)之前,可以或不能被缩放单元220进一步缩放。在其它实施例中,在硬件镜像模式下,显示管线之一(例如,用于优选显示器的显示管线)的后端输出的数据在具有或者没有被缩放单元220的额外缩放的情况下可被提供给主要(或者内部)显示器和次要(或外部)显示器。例如,计算设备110可在每个显示器的所选择的、原始的、优选的或最佳模式下渲染图像内容,可将针对优选显示器渲染的内容直接提供给优选显示,以及可以在将它提供给非优选显示器之前,可缩放(例如,通过重采样)渲染的内容以用于在非优选显示器上演示(没有对其重采样)。依然在其它实施例中,显示生成单元210可包括用于为优选显示器渲染图像内容的单独的显示管线,并且这个单独的显示管线的输出可在被提供给非优选显示器之前通过缩放单元210被缩放(例如,通过重采样)。
[0040]在一个实施例中,计算设备110可在外部显示器160是优选显示器的情况下(例如,在外部显示器160是电视机、投影仪或其它演示类型设备时)实现显示镜像。在这个例子中,显示生成单元210可生成适合于以外部显示器160的最佳显示模式呈现图像内容的数据并且通过接口 130将这个数据是供给显示器160。在这个例子中,计算设备110可根据内部显示器120的最佳显示模式(例如,至少部分基于任意数量的原始显示模式之一的分辨率和/或长宽比),通过在显示生成单元210和内部显示器120之间缩放该数据(使用缩放单元220),将这个数据提供给内部显示器120。在图2A所示的实施例中,缩放单元220可被配置为下缩放由显示生成单元210提供的输出,以生成要在显示器120上显示的帧。在其它实施例中,缩放单元220可被配置为向下缩放由显示生成单元210提供的输出,以生成要在显示器160上显示的帧,或缩放单元220可被配置为上缩放由显示生成单元210提供的输出,以生成在内部显示器120或外部显示器160上(例如,在非优选显示器上)呈现的帧。
[0041]注意到,在计算设备110以扩展显示模式而不是镜像模式操作时,提供给内部显示器120和外部显示器160的数据可以是不同的,并且可被显示生成单元210渲染和/或由缩放单元220缩放,以提供与每个显示器的最佳显示模式(或者是基于任意数量的原始显示模式任意之一)兼容的图像数据。各种渲染和缩放操作的结果的一些特定例子被图示在图3A-3C中,如下所述。
[0042]注意到,在一些实施例中,计算设备110和/或显示生成单元210可包括图形控制器或卡,该图形控制器或卡包括一个或者多个专用图形处理单元(GPU),并且这里描述的一些或者所有由显示生成单元210执行的功能可由GPU执行。也注意到,尽管图2A所示的例子中包括独立于显示生成单元210的单独缩放单元220,在其它实施例中,多个缩放单元220可被包舍在计算设备110中和/或这个缩放单元可被作为显示生成单元210的组件、作为外部接口 130的组件、或作为计算设备110中另一个功能单元的组件来实现。例如,在一些实施例中,这里描述的缩放操作(和/或其它功能,比如复用操作)可由一个或者多个显示驱动器230(其可为GPU的组件)来实现。这由图2B中的示例性框图来表示。
[0043]在各种实施例中,缩放单元220或显示驱动器230可提供数据给内部显示器120和/或接口 130,其已经被水平缩放因子和/或垂直缩放因子缩放,以使得显示器120和160上呈现的图像内容的长宽比是相同的,并且使得要在显示器120和160每一个上呈现的图像内容的分辨率适合于该显示器的最佳显示模式。执行这些缩放和确定何时执行这些缩放的示例性方法在下面将更加详细地描述。
[0044]图3A和3B图示了根据一些实施例的特定的、非限制性的图像缩放的例子,该图像缩放由计算系统在镜像模式下操作时执行。在这些例子中,针对外部显示器(作为优选显示器)的最佳显示模式渲染的图像数据被缩放以用于在内部显示器(作为非优选显示器)上演示。在图3A所示的例子中,内部显示器310可为平板计算设备比如IPAD产品的集成显示器,而外部显示器315为HDTV显示器,就如那些用于演示的通用显示器。在这个例子中,由于外部显示器315是优选显示器,生成图像数据用于显示器315的最佳(或优选)模式(例如,根据HDTV的原始分辨率、长宽比、和/或颜色配置文件),以使得该显示区域完全被填充并且该图像看起来清晰。在这个例子中,内部显示器310以纵向方向操作并且它的长宽比(宽度和高度的比率)与实现横向方向的外部显示器315有很大不同。例如,外部显示器315可具有16:9的长宽比(例如,1920*1080像素),而内部显示器310可具有3:4的长宽比(例如,1536*2048像素)。
[0045]在这个例子中,缩放单元220 (或显示驱动器230)可操作来缩放为显示器315生成(例如,渲染)的图像数据以便以显示器310的最佳(或优选)模式的分辨率来在显示器310上保留图像的长宽比(例如,以与在显示器315上呈现图像相同的长宽比)。这个缩放的应用可允许在两个显示器上(310和315)出现按比例大小的同时图像。在这个例子中,由于显示器310的原始长宽比不同于显示器315的原始长宽比,所缩放的图像可能不填充显示器310的整个显示区域。这在图3A中由沿着显示器310顶部和底部的虚线部分所示,其指示了不用于显示所镜像的图像的显示器部分。在一些实施例中,显示器310的这些部分可看起来为“发黑”。在其它实施例中,额外的图像言息(表示一个或者多个图像而不是所镜像的图像的部分)可由虚线区域处所示的像素显示。注意到,如果内部显示器310的长宽比和作为外部显示器315连接到计算设备的HDTV的长宽比相同,则呈现在内部显示器310上的图像可填充整个显示区域,即,在以镜像模式操作时可能没有显示器的任何“发黑”部分。
[0046]在图3B所示的例子中,内部显示器320可以是膝上计算设备的集成显示器,而外部显示器325为投影仪,比如那些通常用于演示的设备。在这个例子中,由于外部显示器325是优选显示器,生成图像数据用于显示器325的最佳(或优选)模式(例如,根据投影仪的原始分辨率、长宽比、和/或颜色配置文件),以使得该显示区域被完全填充并且该图像看起来清晰。在这个例子中,内部显示器320在纵向方向中被操作并且它的长宽比(宽度和高度的比率)与实现横向方向的外部显示器325有很大不同。
[0047]在这个例子中,缩放单元220(或显示驱动器230)可操作来缩放针对显示器325生成(例如,渲染)的图像数据以便以显示器320的最佳(或优选)模式的分辨率在显示器320上保留图像的长宽比(例如,以在显示器325上呈现图像相同的长宽比)。这个缩放的应用可允许在两个显示器上(320和325)出现按比例大小的同时图像。在这个例子中,由于显示器320的原始长宽比不同于显示器325的原始长宽比,所缩放的图像可能不填充显示器320的整个显示区域。这在图3B中由沿着显示器320侧面的虚线部分所示,其指示了不用于显示所镜像的图像的显示器部分。在一些实施例中,显示器320的这些部分可看起来为“发黑”。在其它实施例中,额外的图像言息(表示一个或者多个图像而不是所镜像的图像的部分)可由虚线区域处所示的像素显示。注意到,如果内部显示器320的长宽比和作为外部显示器325连接到该计算设备的投影仪的长宽比相同,则呈现在内部显示器320上的图像可填充整个显示区域,例如,在以镜像模式操作时可没有显示器的任何“发黑”部分。
[0048]图3C图示了根据一个实施例以扩展显示模式在两个显示器上显示图像内容的例子。在一些实施例中,在扩展显示模式中,计算设备可在两个显示器的统一显示区域上呈现图像信息,犹如它是具有组合的显示器的尺寸和形状的单独的大显示器。如这个例子所示,即使内部显示器330 (以3:4)和外部监视器335 (以16:9)的方向和长宽比有很大不同,该计算设备可生成并提供图像信息给两个显示器,该图像信息填充显示器的整个显示区域。在这个例子中,显示生成单元210可以将在其上呈现图像内容的显示器的最佳(或优选)模式为每个显示器渲染不同的图像内容(例如,根据该显示器的原始分辨率、长宽比、和/或颜色配置文件)。因此,在每个显示器上呈现的图像可看起来清晰和看起来自然(例如,不被拉伸或压缩,并且具有自然的颜色配置文件)。
[0049]注意到,本公开的实施例可被用于内部(或主要)和外部(或次要)显示器分辨率和/或长宽比的任何合适的组合,而不考虑哪个(或者任一)是在任意特定时间点上是优选显示器。在一些实施例中,在计算机以显示镜像模式操作并且特定外部显示器被检测到时,用于外部显示器的最佳(或优选)模式的恰当的显示参数值集(例如,分辨率、长宽比、和/或颜色配置文件数据)可从数据库(例如,在计算机上的存储器或可由计算机访问的存储器中存储的数据库)中获取,在数据库中存储这些参数。类似地,用于内部显示器的最佳(或优选)模式的显示参数值(例如,分辨率、长宽比、和/或颜色配置文件数据)也可以从这样的数据库中获取。例如,IPAD产品可包括一个2048*1536的内部显示器,而HDTV包括一个1920*1080的显示器。也注意到,这里描述的技术在将显示在内部显示器上的镜像图像在多个外部设备显示(例如,多个投影仪、电视机或计算机监视器)时使用。在这个实施例中,该系统可被配置为确定(或接收输入来识别)优选显示器(或优选显示器类型,如果多个外部显示器是相同的类型),从而以优选显示器(或显示器类型)的最佳(或优选)模式来渲染图像内容,以及从而重采样或以其它方式缩放渲染的图像内容以在一个或者多个其它显示器上显示(包括,例如,和优选显示器不同类型的内部显示器和任意外部显示器)。
[0050]注意到,在一些实施例中,这里描述的系统可提供各种用户接口机制,通过该用户接口机制,用户可选择和/或控制该显示模式和/或优选显示器。但是,在其中系统自动地(和正确地)推断显示器给定组合的优选显示器和显示模式的一些情况下,用户可不需更操作这些控制。例如,如果投影仪或电视机被连接至计算机,计算机可假设用户最可能希望以显示镜像模式显示图像以及最可能的是用户希望外部显示器(例如,投影仪或电视机)作为优选显示器。在一些实施例中,在计算机确定最可能的显示模式和优选显示器后,可优化那个显示器的显示分辨率、长宽比和/或颜色配置文件(仅渲染一次图像数据以使得它在优选显示器上看起来“完美”或“纯朴”,即,以使得它在图像数据的每个元素和显示器的像素之间使用1:1映射来填充整个显示区域,并且使其尽可能清晰),并且然后可重采样或以其它方式缩放这个图像数据以在其它显示器上显示时生成美观的外形(例如,一个尽可能清晰和/或尽可能多地填充显示器而不用重渲染它)。尽管这些技术在很大比例的情况下能够正确地推断出优选显示模式和优选显示器,在一些实施例中,用户能推翻计算机自动地做出的选择(例如,使用单选按钮或另外的用户接口机制来选择显示镜像模式或扩展显示模式,或选择内部显示器或外部显示器作为优选显示器)。例如,在一些实施例中,当以显示镜像模式操作时,该系统可在显示器中提供(例如,弹出或下拉)显示菜单,通过该显示菜单,用户可禁用镜像或修改优选显示器的选择。
[0051]正如上面所提到的,在一些实施例中,计算机可配置为检测在系统中连接的和可用的显示器类型。如图5所示和下面更加详细地描述,在一些实施例中,该计算机可从显示器自身获得关于显示器的信息。例如,在计算机启动、重启或以其它方式初始化时,或者在外部显示器附接到计算机时,该计算机可轮询附接的每个显示器和/或每个附接(或新附接)显示器可被配置为提供关于自身的信息给系统(例如,型号、系列号、制造周、它支持的显示模式的列表、每个所支持模式的各种显示参数值,比如像素宽的数量乘以像素高的数量,和/或指示所支持的哪个模式是默认模式,若有的话)。在一些实施例中,这些信息可提供为由包括显示器的设备提供的扩展显示标识符数据信息(根据用于这些信息的工业标准)的块中的代码。
[0052]在一些实施例中,由包括显示器的设备提供的数据可知道是不正确的。在一些这样的实施例中,由设备提供的数据可被更加准确的显示器数据推翻,这些数据被存储在显示器推翻参数值的数据库中(例如,在计算机上的存储器中存储或由计算机访问的存储器中存储的数据库)。在一些实施例中,(至少部分)基于所接收的信息,该计算机可确定每个显示器的最佳(或优选)显示模式。在一些实施例中,该计算机可传送关于每个显示器的最佳(或优选)模式的信息给所有其它显示器。例如,如果系统被附接至一个IOSOp的显示器以及一个1920*1200的显示器,描述1920*1200模式的信息可被传送给1080p显示器并且反之亦然。在一些实施例中,每个显示器(内部和外部)的最佳(或优选)模式可以是每个显示器的默认模式(例如,当它是优选显示器时)。在一些这样的实施例中,该计算机可使用该模式作为优选显示器的显示模式(例如,渲染在1-1映射中匹配显示像素的图像数据),并且然后可缩放渲染的图像数据以使其兼容于其它显示器的默认模式(例如,使用非优选显示器的默认模式的分辨率和长宽比,或者其衍生物,而不用重渲染该图像数据)。如这里的一些例子中所述,这可(在一些实施例中和一些情况下)导致所缩放的图像没有填充其它(非优选)显示器的整个显示区域。在其它实施例中,渲染的图像数据可被缩放以使得它填充其它(非优选)显示器的整个显示区域(例如,屏幕)。[0053]注意到,由于各种类型设备分辩率的不同,渲染的图像数据可被上采样或下采样,用于在非优选显示器上显示。例如,电视机(和/互其它消费电子产品)的通常分辨率级别可包括电视机的IOSOp模式和720p模式,而膝上或平板计算设备的一些内部显示器可用的原始、默认或最佳分辨率可更高(例如,1366*768)。因此,在其中电视机被连接至膝上型电脑并且为优选显示器的显示镜像模式中,被渲染用于电视机的图像可被下缩放(例如,下采样)用于显示在膝上型计算机的屏幕上。注意到,一般来说,因为下缩放需要邻近像素的采样,下缩放需要比上缩放更大的缓冲器。在一些实施例中,这里描述的系统可使用显示器镜像的优化系统,该显示器镜像要么使用系统里的专用硬件要么使用系统里的GPU进行下缩放,并且在不引发任何可感知的延迟或同步问题的情况下进行下缩放。在一些实施例中,可通过允许窗口系统来直接访问后端缩放缓冲器并且允许该窗口系统管理缓冲器来实现该目的。
[0054]一般来说,这里描述的技术可允许用户将外部显示器附接至计算机,使得该计算机自动地检测该外部显示器是否是演示类型设备(例如,电视机或投影仪),并且因此使得该计算机自动地配置该系统。例如,计算机可自动地在显示镜像模式中配置该系统,并且可自动地“优选”外部显示设备(例如,电视机或投影仪),设置外部显示器的桌面尺寸以及据此渲染图像。按照这个自动配置,对于该外部显示器可存在准确地1-1像素比/映射。被渲染用于外部显示器的图像随后被缩放以适合内部显示器,使得它具有一个良好(但是或许不完美)的外观。类似地,该计算机可将该显示器的颜色配置文件设置成外部设备的颜色配置文件(例如,作为主要颜色配置文件),并且可根据内部(非优选)显示器的颜色配置文件来转换或适应渲染图像的颜色。
示例方法
[0055]实现显示镜像和/或确定何时以及是否实现显示镜像的的系统和方法的各种实施例可包括在一个或者多个计算机上(比如下面图8所示的计算机系统800)执行的方法,包括便携式电子设备。图4-图7图示了这些方法的各种示例。
[0056]虽然上面已经描述了特定的实施例,这些实施例没有试图限制本公开的范围,SP使在那里相对于一个特定的特征仅描述了一个单独的实施例。除非另有说明,否则本公开提供的特征的示例试图是示意性的而不是限制性的。这里包括的描述试图推翻这样的替换、修改和等同物,只要对于具有本公开的好处的本领域技术人员而言是显而易见的。
[0057]实现显示镜像的方法的实施例通过图4的流程图被图示。如410所示,该方法可包括确定连接到计算设备的外部显示器的一个或者多个特性。例如,该方法可包括确定该外部显示器是否是演示显示器。该方法可包括确定(基于该显示器确定的特性)配置该计算设备、该计算设备的内部显示器、以及外部显示器以用于扩展显示模式还是用于显示镜像模式,如420 —样。例如,如果所确定的显示器的特性与演示设备的那些一致,该系统可被配置为显示镜像模式。否则(例如,如果所确定的显示器特性与演示设备的那些不一致),该系统可被配置为扩展显示模式(如图4所示的通过从430和元素435负退出)。
[0058]如这个例子所示,如果该系统被配置为显示镜像模式(显示为从430正退出),该方法可包括确定外部显示器还是内部显示器是优选显示器,如440中一样。如这里所述,该方法可包括以优选显示器的最佳显示模式渲染图像内容,并且在优选显示器上呈现渲染的图像内容,如450中一样。该方法也可包括重采样和/或缩放渲染的内容用于在其它显示器(例如,非优选显示器)上显示,并在非优选显示器上呈现重采样和/或缩放的图像内容,如460中一样。
[0059]如前所述,在一些实施例中,确定计算机系统应被配置为显示镜像模式还是扩展显示模式可包括从显示设备自身获取扩展显示标识数据(EDID),其可以包括制造信息、型号和/或系列号、所支持的显示模式的显示参数值、和/或其它消费电子配置文件信息。在不同的实施例中,这样的信息可由各种消费电子设备自动地提供(例如,在启动时、在系统初始化期间或在它连接在系统中时),或响应于系统轮询这一信息。
[0060]注意到,除了在所有EDID块中提供的信息,还有各种随着时间推移提出的对标准的扩展(并且在某些情况下很大部分被采用)。例如,大部分电视机制造商已经实现这里提及的为CEA-861扩展块的扩展,其包括指示优选视频模式的信息。在一些情况下,该优选视频模式不是给定设备宣扬(或支持)的最高分辨率模式。例如,当制造商宣扬特定电视机有支持1080垂直像素的能力时,该电视机实际上仅实现720垂直像素。因此,优选模式(其被这里描述的技术用作电视机的最佳模式或默认模式)可为7720p模式。根据这个模式渲染的图像可在电视机上看起来比以IOSOp模式渲染的图像更好,由于7720p是该电视机的原始分辨率,并且以这个分辨率渲染的图像不需要任何缩放。
[0061]在一些情况下,一些设备提供的EDID编码是令人误解的或不正确的。例如,一些具有扬声器但不是电视机的LCD面板宣扬在它们EDID块中的音频计时而非视频计时,并且也可需要被当做“非电视机”对待。换言之,该计算机可假设这样的LCD面板试图以扩展桌面模式使用,而不是以显示镜像模式演示。在一些实施例中,计算机可检查显示器的广告尺寸(其被包括在具有以毫米指定的物理宽度和高度的CEA扩展块里)。如果尺寸是合理地大(例如,在对角线上明显地大于12英寸,比如30英寸或更大),计算机可几乎确定地假设显示器是电视机(或另一大的演示显示器),而不是在计算机旁桌上放的作为监视器的显示器。
[0062]注意到,对于投影仪,由于没有与投影的图像相关联的物理尺寸,标准策略是报告Omm的宽度和高度。但是,各种投影仪制造商错误地解释了该策略,以为意味着他们应将它们的长宽比(例如,16mm*9mm)替换为宽度和高度来报告。在一些实施例中,该计算机可检测这个错误并且假设该显示器是投影仪。
[0063]在一些实施例中,该系统可维持数据库或设备标识符的列表,为此设备提供的一个或者多个EDID编码已知是不正确的。在这样的实施例中,显示设备提供的信息可与数据库或列表比较,以确定是否应使用替代或推翻参数值(例如,存储在数据库或列表中的值)而不是由设备自身提供的那些来确定显示器类型。这样的数据库可在系统中本地存储或者可由系统通过网络访问,并且可被周期性地或当显示设备提供的信息被发现为不正确的时候基于需要而更新。
[0064]确定显示器是否为演示设备的方法的实施例由图5的流程图所示。如这个例子所示,该方法可开始(如502中一样)并且可检测计算系统中显示器的存在,如504中一样。例如,在各种实施例中,系统可在启动时、当系统或特定显示器被唤醒时(或已经唤醒),或当显示器最近被连接至计算系统(例如,热插拔)时检测内部或者外部显示器的存在。如506所示,该方法可包括确定该显示器是否为主要显示器(例如,集成或内部显示器,或者作为不包括集成或内部显示器的计算系统的主要或默认显示器的外部显示器)。如果这样(从506正退出所示),该方法可包括确定(或推断)该显示器不是演示设备(如524中一样)。如果该显示器不是主要显示器(从506负退出所示),并且如果从显示器接收的EDID块的版本号小于1.3 (如从508负退出所示),该方法可包括确定(或推断)该显示器不是演不设备(如524中一样)。
[0065]如这个例子所示,如果该显示器不是主要显示器(如从506负退出所示),并且如果该EDID版本号为1.3或更高(如从508正退出所示),该方法可包含确定对于该显示器,一个或者多个显示推翻参数值是否为已知,如510中一样。例如,该方法可包括为显示器查询显示参数值数据库,对于这些显示器,已知在它们的EDID块中提供的一个或者多个参数值是不正确的。如果这种EDID推翻值存在,如从510正退出所示,该方法可包括访问数据库以获取该推翻值(如512所示),并且依赖于从显示器接收到的EDID参数值和从数据库获取的推翻值(如514—样)确定并返回演示类型的指示。如这个例子中所示,该方法可包括确定(或推断)该显示器是投影仪(如528中一样)、显示器是电视机(如522中一样)、或该显示器是另一类型的显示器(例如,它不是演示设备,如524中一样)。
[0066]如图5所示的例子中,如果没有显示推翻参数值已知(如从510负退出所示),并且EDID块不包含CEA-861视频计时(如从516负退出所示),以及该显示器不支持模拟视频数据(如从526负退出所示),该方法可包括确定(或推断)该显示器不是演示设备(如524中一样)。然而,如果该EDID块包括CEA-861视频计时(如从516正退出所示),分辨率没有超过1080像素(如从518负退出所示),并且物理尺寸大于16mm*9mm(如从520负退出所示),该方法可包括确定(或推断)该显示器是电视机(如522中一样)。如果该EDID块包括CEA-861视频计时(如从516的正退出所示),并且该分辨率大于1080像素(如从518的正退出所示),该方法包括确定(或推断)该显示器不是演示设备(如524中一样)。
[0067]在这个例子中,如果EDID块包括CEA-861视频计时(如从516的正退出所示),分辨率没有超出1080像素(如从518负退出所示),并且物理尺寸小于或等于16mm*9mm(如从520正退出所示),该方法可包括确定(或推断)该显示器是投影仪(如528中一样)。但是,如果EDID块不包括CEA-861视频计时(如从516的负退出所示),并且该显示器支持模拟视频数据(如从526的正退出所示),该方法可包括确定(或推断)该显示器是投影仪(如528中一样)。
[0068]注意到,图5中所示的确定显示器类型的方法仅仅是这种方法的一个例子,并且在其它实施例中,不同的试探法可被应用于确定该显示器是否是电视机、投影仪、另一类型演示显示器、计算机监视器、或任意其它类型能从计算设备(或其显示生成单元)接收图像数据的显示器并且以适合于显示器和适合于特定使用模型的格式来呈现对应的图像。
[0069]如前所述,在一些实施例中,只要确定了优选显示模式和优选显示器,基于连接至计算机的显示器的特性,该计算机可被配置为渲染图像用于以优选显示器的最佳(或优选)模式显示并且缩放和/或转换该渲染图像用于在一个或者多个非优选显示器上显示。在一些实施例中,这可包括确定(例如,基于EDID码和/或其它存储或最近获取的信息)原始的、最佳支持的、默认的、或先前选择的分辨率、长宽比、颜色配置文件、尺寸(例如,像素的高和宽)、位深度(例如16比特或30比特模式),和/或优选显示器的旋转。注意到,在一些情况下,如果用户希望显示针对其用户仅具有低分辨率图像数据的演示,该计算机能或不能向上缩放该图像至优选显示器的最佳模式分辨率(例如,依赖于用于呈现该图像的应用程序)。例如,如果图像没有被向上缩放来填充屏幕,而是根据它们的原始(低)分辨率而被显示,图像可看起来最佳。
[0070]在优选显示器上显示图像内容和在另一显示器上镜像图像内容的方法的实施例被图6中的流程图所示。如610所示,在这个例子中,该方法可包括确定外部显示器还是内部显示器为优选显示器。例如,如果已经确定了计算设备被连接至外部显示器,该外部显示器是投影设备(例如,电视机或投影仪),该方法可包括确定该外部显示器应为优选显示器,而如果外部显示器不是投影设备,该方法可包括确定内部显示器应为优选显示器。如图6所示,该方法也包括确定优选显示器的原始分辨率和非优选显示器的原始分辨率,如620中一样。此外,该方法可包括确定优选显示器和非优选显示器的原始屏幕长宽比(如630中一样),并且确定优选显示器和非优选显示器的原始颜色配置文件(如640中一样)。例如,在一些实施例中,该方法可包括,至少部分基于来自显示器自身的在EDID块中接收的信息,和/或基于关于这些类型显示器的已知信息(例如,在一个或者多个显示参数值和/或显示推翻参数数据库中存储的信息),来确定可用和连接的显示器中的每一个的这些最佳显示模式参数。
[0071]如这个例子所示,该方法可包括依赖于所确定的优选显示器的原始分辨率、长宽t匕、和/或颜色配置文件以渲染要在两个设备上显示的图像内容(如650中一样),并且然后依赖于非优选显示器的分辨率和/或长宽比重采样和/或以其它方式缩放渲染的图像数据用于在非优选显示器上演示而不用重渲染该图像内容(如660中一样)。如这里所述,依赖于特定的内部显示器和外部显示器的分辨率和长宽比,重采样渲染的图像数据可包括上采样或下采样渲染的图像数据。在一些实施例中,该方法也包括依赖于非优选显示器的颜色配置文件转换渲染的图像数据颜色配置文件用于在非优选显示器上显示(如670—样)。最后,该方法可包括以显示镜像模式在优选显示器和非优选显示器上呈现该图像内容(如680中一样)。
[0072]在一些实施例中,这里描述用于确定计算系统中连接的显示器类型,确定显示模式、和/或确定优选显示器的逻辑功能可在每次系统中初始化时、每次每次将外部显示器连接至系统或从系统分离(例如,每次“显示重配置事件”发生)时执行。例如,可在每次物理显示器连接至系统或从系统分离时、用户手动地输入一些显示模式信息给系统(例如,通过一个或者多个用户接口机制的各种显示选择输入)的任何时间、或者当虚拟显示器启动和休眠时执行。在一些实施例中,该系统可记忆自动确定的和/或用户定义的选择,除非那些选择不可能是用户试图设置为显示器的特定组合的默认配置(例如,如果用户明确选择非标准模式用于特定用途情况)。在一个实施例中,该系统可记忆何时将多个LCD面板连接到该系统,特殊的一个作为右边的桌面,内部面板作为中间桌面,并且另一个作为左边的桌面,以使得作为一个大的扩展桌面显示器鼠标正确地在它们之间游动。在一些实施例中,下一次所有那些面板被连接在系统中时,该系统可假设用户想要相同的配置和设置,并且可自动地捕捉到那个配置。
[0073]在一些实施例中,该系统(或其策略引擎)可试图防止用户有他们不识别的次选经历。例如,当投影仪被附接时并且它的EDID块指示了它支持1080p(其具有19*10长宽比)时,该系统可配置为渲染图像数据以使得在投影仪上其看起来像素完美。在这种情况下,1920*1080像素可被按比例扩大到内部显示器上(例如,膝上型电脑显示器)。由于膝上型电脑显示器具有比外部显示器更高的长宽比,这可导致显示器的非常明显的未使用部分(其可在显示器的顶部和底部上看起来像黑条)。该系统不需要担心以下情况,用户可能偶然地将他门的机器配置在“最佳外部”模式而用户其实想“内部最佳”,因为这对用户非常明显,并且用户能进入它们的显示偏好并且将配置改变为“内部最佳”。换言之,在用户希望“外部最佳”但是该系统被配置为“内部最佳”时这并不明显。因此,在一些实施例中,即使在使用相同的显示器组合时,用户最近指定内部显示器偏好的情况下,该系统可被配置为优选“外部最佳”配置。在这个实施例中,在包括电视机或投影仪的镜像情况中,“内部最佳”的选择可被认为用户需要自己处理的特例。然而,在一些实施例中,该系统可被配置为识别对于该显示器组合这种特例已被选择多次(例如,一行中特定数量次),并且改变其行为或提示用户确认下次检测到显示器组合时选择“内部最佳”模式。
[0074]注意到,当虚拟显示器被附接到系统中或在系统中使能时(例如,如果用户在局域网上插拔虚拟电视机上并且它被附接至电视机),虚拟电视机成为可用使得用户可潜在地镜像或能潜在地在扩展桌面模式中使用。在那种情况下,由于它本质上是电视机,该系统可默认为显示镜像模式,但是用户可能能够在显示菜单中不选“镜像”,以便对于辅助显示器(例如,穿过房间)将虚拟电视机作为扩展桌面的部分。
[0075]如前所述,在一些实施例中,这里描述的系统可允许用户推翻由系统自动地做出的决定。例如,在一些实施例中,当外部显示器被附接到计算机时,可显示“显示器附加设备”菜单(例如,作为弹出),并且用户能选择这个菜单(例如,通过“在其上移动鼠标”)以修改一个或者多个自动确定的选择(例如,显不模式、优选显不器、和/或它的一个或者多个显示参数)。在一些这样的实施例中,不是向用户呈现系统能物理显示的每个可能模式,而是系统可向用户提供为特定显示器选择最佳模式、或者选择缩放模式集合中的一个的选项。这些缩放模式可被表达为将被缩放以适合显示器的点尺寸的集合,并且它们将以这样的方式被标记,其给用户表达了在系统最可能发生什么(例如,“最大文本”或“最多像素”)。在各种实施例中,显示系统的物理工作细节(例如,垂直空白时间)可从用户中被抽离。注意到,对于膝上型计算机,因为关于如何被用户用于解释他们屏幕的尺寸,该系统可以点(而不是像素)形式来表达显示选项。对于电视机,该系统可将显示选项表达为类似电视机分新率的集合(例如,1080p,1080i,或者720p,而不是800*600或者1280*720)。对于计算机监视器,该系统可将显示选项以水平和垂直像素(例如,2048*1536)的形式表达。
[0076]注意到,在一些实施例中,当(或者在之前立即)做出计算机和它连接的显示器的显示配置中的改变时,计算机可发送显示器重配置通知。通常,该系统(或其中的策略引擎)可试图弄清楚想要的显示器配置是什么,用户是否有偏好,颜色应如何被管理等,并且然后可给系统上运行的软件提供未决配置的通知。在这个实施例中,管理演示或电影回放的应用程序可收听在系统上发出的显示器重配置通知,并且以推翻一个或者多个自动确定的选择(例如,优选显示器,或者该优选显示器的分辨率)的请求来应答。作为响应,该计算机可做出所请求的修改。类似地,可响应于用户选择在显示器选项中的改变(例如,通过各种用户接口机制中之一)来发送显示器重配置通知。在一些实施例中,可发送显示器重配置通知以提供提出的的或未决改变的预先通知,和/或在对显示器配置做出改变之后发送显示器重配置通知来指示已经做出改变。在一些实施例中和一些情况下,在系统中当前执行的应用程序可拒绝未决显示器配置改变,作为响应计算机可延迟、修改或中止未决改变。在其它情况下,当前执行的应用程序可对于完成的显示器配置改变做出反应(例如,通过调整生成的图像大小来利用完成的改变,或通过从低功率图像卡迁移至高功率图像卡或反之亦然),或者可忽略(或不在意)未决或完成的改变。在一些实施例中,关注于接收这样通知的应用程序可注册以接收这些通知。在其它实施例中,操作系统和/或系统库的各种功能可被注册以接收这样的通知,并且调整由各种执行应用程序代表它们所生成的图像的大小。在其它实施例中,可执行对于未决和/或完成的显示器配置改变的通知的各种其它类型的响应。
[0077]在计算系统中配置多个显示器的方法的实施例在图7的流程图中图示。如710所示,在这个例子中,该方法可包括用户使得可用并被连接到计算设备的显示设备的数量和/或类型改变。例如,用户可重启或唤醒计算设备,将显示器连接到计算设备,或断开显示器到计算设备的连接。如这个例子所示,计算设备可检测可用显示设备的改变,并且可确定可用显示器的显示器类型,如720中一样。然后,计算设备随后可自动地确定最可能的显示模式(例如,显示镜像模式或扩展显示模式)以及最可能的优选显示器(例如,内部显示器或外部演示类型显示器)。然后,该计算设备可存储针对这个配置自动确定的显示参数(例如,每个显示器的显示模式、原始分辨率、长宽比和/或颜色配置文件,和/或从显示器自身或从该信息的一个或者多个数据库中获取的任何其它显示参数值)。
[0078]如这个例子所示,该方法可包括计算设备就显示模式和/或优选显示器中的未决改变(例如,如果确定应改变该显示模式或优选显示器)通知一个或者多个当前执行的应用程序和/或用户,如740中一样。在一些实施例中,用户和/或一个或者多个应用程序可拒绝未决改变(如从750正退出所示),在该情况下,计算设备可延迟或中止对于显示模式和/或优选显示器的未决改变,如755中一样。如果用户和当前执行的应用程序均未拒绝该未决改变(如从750的负退出所示),该方法可包括计算设备做出改变、存储针对被修改的配置的更新的显示参数,以及就配置改变通知用户和/或当前执行的应用程序,如760中一样。
[0079]如图7所示,响应于检测到相同的显示器设备组合,计算设备可随后访问所存储的针对被修改的显示配置的显示参数,如770中一样。换言之,在一些实施例中,计算设备可配置为当相同的显示设备组合连接至该计算设备时并且如果该相同的显示设备组合连接至该计算设备则推断相同显示参数应被应用以与在修改的配置中相同的方式来配置显示器。注意到,在一些实施例中,该计算设备可再次就其试图以这个方式来配置显示器,并且用户和/或应用程序可拒绝或推翻所推断的配置(例如,明确地选择针对这个显示设备组合的一个不同的显示模式、优选显示器和/或其它显示参数)通知用户和/或任意当前执行的应用程序。
[0080]注意到,在一些实施例中,当在显示镜像模式中时,除了该镜像内容,应用程序可能能够提供用于一个显示器的唯一内容(如果可用)。例如,应用程序可被配置为镜像图像用于在投影仪或电视机上以及在笔记本或平板设备的内部显示器上演示,并且也能同时地仅在内部显示器上提供扬声器注释(例如,只有在它们可用时,并且只有该应用程序是在前台的)。在一些实施例中,如果系统被配置为显示镜像模式,使用这里描述的任意技术,但是随后执行的应用程序不适合用于演示模式(例如,如果它能给多个附接的显示器提供不同内容),该计算机可自动地确定它应退出显示镜像模式而支持扩展显示模式。在一些实施例中,这可通过各种暴露给应用程序开发人员的各种钩子函数(例如,用于指定“仅用于内部显示器”、“用于镜像显示”、或作为“主要”或“次要”内容的钩子函数)由操作系统来实现。
示例性计算机系统
[0081]图8图示了被配置为实现上述任一或者所有实施例的计算机系统800。在不同的实施例中,计算机系统800可为各种类型设备中任一种,包括,但不限制于,个人计算机系统、桌面计算机、膝上型轻便电脑、笔记本、平板电脑、手写板、或上网本计算机、大型计算机系统、手持式电脑、工作站、网络计算机、照相机、机顶盒、移动设备、消费设备、视频游戏操作台、手持式视频游戏设备、应用程序服务器、存储设备、电视机、视频记录设备、外围设备比如开关、调制解调器、路由器,或通常任意类型的计算设备或电子设备。
[0082]这里描述的实现显示镜像的系统和方法的各种实施例可被一个或者多个计算机系统800执行,其与各种其它设备交互。注意到,根据各种实施例,上面相对于图1-图7描述的任意组件、动作或功能可在配置为图8的计算机系统800的一个或者多个计算机上实现。在所示的实施例中,计算机系统800包括通过输入/输出(I/O)接口 850耦接至系统存储器820的一个或者多个处理器810。计算机系统800进一步包括耦接至I/O接口 830的网络接口 840,以及一个或者多个输入/输出设备850,比如光标控制设备860、键盘870和显示器880(其可包括一内部显示器或主要显示器以及一个或者多个外部或辅助显示器,比如这里描述的那些)。在一些实施例中,计算机系统800可实现计算设备,比如图1中所示的计算设备110。如前所述,计算设备110和/或显示生成单元210可包括图像控制器或卡,其包括一个或者多个专用图形处理单元(GPU),并且这里描述的由显示生成单元210执行的一些或全部功能可被GPU执行。
[0083]在不同的实施例中,输入/输出设备850可包括一个或者多个显示终端、键盘、小键盘、触摸板、扫描设备、声音或光学识别设备、或任意其它适合由一个或多个计算机系统800输入或访问数据的设备。多个输入/输出设备850可在计算机系统800中存在,或可被分布在计算机系统800的各种节点上。在一些实施例中,类似的输入/输出设备可独立于计算机系统800并且可通过有线或者无线连接(比如通过网络接口 840)与一个或者多个计算机系统800的节点进行交互。
[0084]在一些实施例中,图8所示的输入/输出设备850也可包括配置以生成(渲染)和/或缩放图像内容用于在各种内部和/或外部显示器上显示的一个或者多个显示生成单元、缩放单元、和/或显示驱动器,如这里所描述的。在一些实施例中,输入/输出设备850可包括用于检测计算机系统800和一个或者多个外部显示设备之间的连接或用于从那些设备接收扩展显示接口数据的电路,和/或可包括执行这里描述的任意或所有技术的一个或者多个专用图形卡或图形控制器。例如,计算机系统800内的图形控制器可被配置为渲染对象,该对象要被显示在系统存储器820的一个或者多个帧缓冲器中。该图形控制器可包括一个或者多个图形处理器(GPU),该图像处理器可执行图形软件以实现所有或部分图形操作,和/或某些图形操作的硬件加速。硬件加速和软件实现的量可在实施例之间改变。
[0085]在一些情况下,可以考虑到使用计算机系统800的单个实例实现实施例,而在其它实施例中,多个这样的系统或多个组成计算系统800的节点可被配置为群集实施例的不同部分或实例。例如,在一个实施例中,一些元件可通过计算机系统800的不同于实现其它元件的那些节点的一个或者多个节点来实现。
[0086]在各种实施例中,计算机系统800可为包括一个处理器810的单处理器系统,或包括若干处理器810的多处理器系统(例如,两个、四个、八个或其它合适的数量)。处理器810可为能执行指令的任何合适的处理器。例如,在各种实施例中,处理器810可为实现各种指令集架构(ISA)中任一的通用或嵌入式处理器,比如x86,PowerPC, SPARC,或MIPSISA,或任意其它合适的ISA。在多处理器系统中,每一个处理器810可通常,但不是必须地,实现相同的ISA。通常,处理器810可实现任意指令集架构,并且可被配置为执行在那个指令集架构中定义的指令。处理器可使用任意微架构,包括标量、超标量、管线、超管线、乱序、顺序、预测的、非预测的等,或它们的组合。处理器可包括电路,并且可选地可实现微码技术。处理器可包括一个或者多个LI高速缓存,也包括在处理器和一个或多个存储控制器之间的一个或者多个附加级别的高速缓存。其它实施例可包括处理器中多个级别的高速缓存,并且仍然其它实施例可不包括处理器和存储控制器之间的任意高速缓存。
[0087]系统存储器820可被配置为存储处理器810可访问的程序指令822和/或数据832。在各种实施例中,系统存储器820可使用任意合适的存储器技术实现,比如动态随机访问存储器(DRAM)、同步DRAM(SDRAM)、两倍数据速率(DDR、DDR2、DDR3等)的SDRAM(包括SDRAM的移动版本,比如mDDR3等,低功率版本的SDRAM,比如LPDDR2等)、RAMBUSDRAM (RDRAM)、静态RAM(SRAM)、非易失性/闪存型存储器、和/或任意其它类型存储器。在一些实施例中,一个或者多个存储器设备可耦接到电路板,以形成存储器模块,比如单独的在线存储器模块(SIMM)、双在线存储模块(DIMM)等。可选地,该设备以叠层芯片配置、封装上封装配置或多芯片模块配置在片上系统上被安装。
[0088]在图示的实施例中,当被一个或多个处理器810执行时,程序指令822可被配置为实现并入或者利用上面描述的任意功能的应用程序824。例如,基于连接到计算机系统800的各种显示器的特性,程序指令822可被配置为自动地确定显示模式和/或优选显示器,控制由系统中的硬件或软件渲染和/或缩放的图像内容以在那些设备上显示,和/或使用这里描述的任意或所有技术来提供以显示镜像模式或扩展显示模式显示的图像。此外,存储器820的数据832可存储一个或者多个显示参数834和/或显示推翻参数836的值。在其它实施例中,不同的元素和数据可被包括在系统存储器820中。在一些实施例中,基于不同类型的计算机可访问媒体或独立于系统存储器820或计算机系统800的类似媒体,可接收、发送或存储程序指令和/或数据。当计算机系统800被描述为实现前面附图功能块的功能,这里描述的任意功能可通过这样的计算机系统来实现。
[0089]在各种实施例中,存储控制器(未示出)可包含配置为与各种存储请求器(例如,处理器、图形电路等)对接的任意电路。这样的存储空制器可支持任意种类的互连。例如,可使用共享总线(或多个总线),或使用点到点互连。可使用本地互连的分层连接至存储器控制器的全局互连。在一个实施例中,存储控制器可以是多端口的,具有含有专用端口的处理器,具有另一专用端口的图形电路等。
[0090]在一个实施例中,I/O接口 830可被配置为协调处理器810、系统存储器820以及设备中任意外围设备,包括网络接口 840或其它外围接口,比如输入/输出设备850,之间的I/O流量。在一些实施例中,I/O接口 830可执行任意必要协议、计时或其它数据传输,以将数据信号从一个组件(例如,系统存储器820)转换到适合另一组件(例如,处理器810)使用的格式。在一些实施例中,例如,I/o接口 830可包括支持通过各种类型的外设总线附接的设备,比如作为外部组件互连(PCI)总线标准或通用串行总线(USB)标准的变形。在一些实施例中,I/O接口 830的功能可被分为两个或者多个单独的组件,例如,比如北桥和南桥。并且,在一些实施例中,I/O接口 830 (比如与系统存储器820的接口)的一些或全部功能,可被直接并入至处理器810。
[0091]网络接口 840可被配置为允许数据在计算机系统800和附接到网络885的其它设备之间(例如,载体或代理设备)或在计算机系统800的节点之间进行交换。在不同实施例中,网络885可包括一个或者多个网络,其包含但不限制于局域网络(LAN)(例如,以太网或公司网)、广域网(WAN)(例如互联网)、无线数据网、一些其它电子数据网络、或它们的一些组合。在各种实施例中,网络接口 840可支持通过无线或有线通用数据网络(例如,比如任意合适类型的以太网)的通信;通过电信/电话网络,比如模拟声音网络或数字光纤通信网络;通过存储区域网络,比如光纤通道SAN,或通过任何其它合适类型的网络和/或协议。
[0092]那些本领域技术人员将领会到,计算机系统800仅仅是图示性的并且没有试图限制实施例的范围。具体而言,计算机系统和设备可包括硬件或软件的任意组合,其能执行所指示的功能,包括计算机、网络设备、因特网装置、PDA、无线电话、寻呼机等。计算机系统800也可被连接至未图示的其它设备,或替换地可操作为独立系统。此外,图示组件提供的功能可在一些实施例中被组合为较少的组件或分布在附加组件中。类似地,在一些实施例中,一些图示组件的功能可不被提供和/或其它附加的功能可用。
[0093]那些本领域技术人员也将领会到,当各种项被图示为在存储器中存储或在使用时存储,出于存储器管理和数据完整性的目的,可在存储器和其它存储设备之间传送这些项或它们的部分。可选择地,在其它实施例中,一些或者全部软件组件可在另一设备的存储器中执行并且通过计算机间通信与图示的计算机系统通信。一些或者全部的系统组件或数据结构也可被存储(例如,作为指令或结构化数据)在计算机可访问媒介或由便携式物品上用以由适当的驱动器读取,其中各种示例如上所述。在一些实施例中,存储在独立于计算机系统800的计算机可访问媒介上的指令可通过传送媒介或信号(比如电子的、电磁的或数字信号)被传送给计算机系统800,通过比如网络和/或无线链接的通信媒介进行传送。各种实施例可进一步包括接收、发送或存储指令和/或数据,其根据前面描述的基于计算机可方问媒介来实现。一般来说,计算机可访问媒介可包括非暂时的、计算机可读存储媒介或存储器媒介,比如磁性或光学媒介,例如,磁盘或DVD/CD-R0M,易失性或非易失性媒介,比如RAM (例如,SDRAM、DDR、RDRAM、SRAM等)、ROM等。在一些实施例中,计算机可访问媒介可包括传送媒介或信号(比如,电子的、电磁的、或数字信号),其通过比如网络和/或无线链接的通信媒介来传送。
[0094]在各种实施例中,计算机系统800内的各种结构可被设置在片上系统(SoC)中。在一个实现方式中,计算系统800包括并集成了显示器(比如内部显示器120)、SoC、存储器和外部接口(比如外部接口 130),而SoC耦接至该显示器、存储器和该接口。其它实施例可使用任意数量的集成和/或分立的实现方式。
[0095]在不同的实施例中,这里描述的方法可在软件、硬件、或其组合中实现。此外,可改变方法块的顺序,并且各种元素可被添加、重新排序、组合、省略、修改等。可作出的各种修改和改变对具有本公开优点的本领域技术人员而言是显而易见的。这里描述的各种实施例意味着图示而不是限制。一些变形、修改、增加和改进都是可能的。因此,可提供这里描述的组件的多个实例作为一个单独的实例。各种组件、操作和数据存储的边界是有点任意的,并且在特定图示配置的内容中图示了特定操作。功能的其它分配是可想象的并且可落入后面权利要求的范围。最后,示例性配置中的作为分立组件呈现的结构和功能可被实现为组合的结构和组件。这些和其它变形、改变、增加和改进可落入后面权利要求限定的实施例的范围中。
[0096] 本公开的范围包括这里(明确或者暗示)描述的任意特征或特征的组合,或它的任何概括,不论是否缓解了这里指出的任意或全部问题。因此,可在这个申请(或要求其优先权的申请)的审查期间根据任意这些特征的组合来制定新权利要求。特别的,参照所附的权利要求,来自从属权利要求的特征可与独立权利要求的那些组合,并且相应独立权利要求的特征可以任意合适的方式被组合而并不仅仅在所附权利要求中所列举的特定组合。
【权利要求】
1.一种通过计算机控制多个显示器的方法,包括: 由计算机执行以下操作, 确定连接到计算机的外部显示器的一个或者多个特性; 依赖于外部显示器的一个或者多个特性,确定该计算机、该外部显示器和该计算机的内部显示器应被配置为显示镜像模式还是扩展显示模式;以及 响应于确定该计算机、该外部显示器以及该计算机的内部显示器应被配置为显示镜像模式: 确定该外部显示器还是该内部显示器为优选显示器; 以该优选显示器的优选模式为优选显示器渲染内容;以及 重采样或缩放为优选显示器渲染的相同内容以在另一显示器上显示。
2.根据权利要求1的方法,进一步包括: 在优选显示器上呈现渲染的内容;以及 与所述呈现同时地在另一显示器上呈现重采样或缩放的内容而不用重渲染该内容。
3.根据权利要求1的方法, 其中所述确定该外部显示器的一个或者多个特性包括从该外部显示器接收指定一个或者多个参数值的数据;并且 其中由外部显示器作为扩展显示标识数据(EDID)数据块的一部分提供指定一个或者多个参数值的数据中的至少一些。
4.根据权利要求1的方法, 其中一个或者多个特性暗示该外部显示器为演示设备的显示器;以及其中所述确定该外部显示器还是该内部显示器是优选显示器包括响应于一个或者多个特性暗示该外部显示器为演示设备的显示器而确定该外部显示器是优选显示器。
5.根据权利要求1的方法,其中所述以优选显示器的优选模式在优选显示器上渲染内容包括依赖于优选显示器的原始分辨率或优选显示器的长宽比中的至少一个来渲染该内容。
6.根据权利要求5的方法, 其中所述以优选显示器的优选模式在优选显示器上渲染内容进一步包括依赖于优选显示器的原始颜色配置文件来渲染该内容;以及 其中该方法进一步包括将渲染的内容的颜色配置文件转换为另一显示器的颜色配置文件。
7.根据权利要求1的方法,其中响应于检测到连接至计算机的显示器的数量或类型的改变来执行以下操作:所述确定外部显示器的一个或者多个特性;所述确定该计算机、该外部显示器、以及该计算机的内部显示器应被配置为显示镜像模式还是扩展显示模式;所述确定该外部显示器还是该内部显示器是优选显示器;所述渲染;以及所述重采样或缩放。
8.根据权利要求7的方法, 其中检测到的改变包括显示器的增加或移除;以及 其中该方法进一步包括: 响应于检测到的改变并且依赖于连接的任意显示器的一个或者多个特性,确定该计算机的显示模式或优选显示器应改变,其中该显示模式要么是显示镜像模式要么是扩展显示模式,并且其中该优选显示器为在其上应使用原始分辨率和长宽比来呈现图像的显示器;依赖于所述确定,生成关于计算机的显示模式或优选显示器的未决改变的通知;以及将该通知提供给在计算机上当前执行的应用程序。
9.根据权利要求8的方法,进一步包括: 接收应用程序拒绝该未决改变的指示;以及 响应于所述接收,而修改、延迟、或中止该未决改变。
10.根据权利要求8的方法,进一步包括: 提供该通知给计算机的用户接口; 接收用户拒绝该未决改变的指示;以及 响应于所述接收,而修改、延迟、或中止该未决改变。
11.根据权利要求8的方法,其中检测到的改变包括虚拟显示设备的连接或断开连接。
12.根据权利要求1的方法,其中在计算机的初始化期间执行以下操作:所述确定外部显示器的一个或者多个特性;所述确定该计算机、该外部显示器、以及该计算机的内部显示器应被配置为显示镜像模式还是扩展显示模式;所述确定该外部显示器还是该内部显示器是优选显示器;所述渲染;以及所述重采样或缩放。
13.—种系统,包括: 计算设备;` 耦接至该计算设备的主要显示器,其中该主要显示器是计算设备的默认显示器;以及 辅助显示器,其中该辅助显示器在该计算设备的外部; 其中该计算设备被配置为: 确定该辅助显示器的一个或者多个特性; 依赖于辅助显示器的一个或者多个特性,确定该计算设备、该辅助显示器和该主要显示器应被配置为显示镜像模式还是扩展显示模式;以及 响应于确定该计算机、该辅助显示器以及该主要显示器应被配置为显示镜像模式: 确定该辅助显示器还是该主要显示器为优选显示器; 以该优选显示器的优选模式为优选显示器渲染内容;以及 重采样或缩放为优选显示器渲染的相同内容以在另一显示器上显示。
14.根据权利要求13的系统,其中为了确定该辅助显示器的一个或者多个特性,该计算设备被配置为从显示器参数值到显示设备标识符的所存储的映射获取指定辅助显示器的一个或者多个显示参数的值的数据。
15.根据权利要求13的系统,其中响应于确定该计算设备、该辅助显示器、以及该主要显示器应被配置为显示镜像模式,该计算设备进一步被配置为: 将渲染的内容呈现在辅助显示器上; 与所述呈现同时地在主要显示器上呈现重采样或缩放的内容。
16.根据权利要求13的系统,其中响应于确定该计算设备、该辅助显示器、以及该主要显示器应被配置为显示镜像模式,该计算设备被进一步配置为: 存储以显示镜像模式做出演示的指示以及用于主要显示器和辅助显示器的当前组合的优选显示器的指示;以及响应于随后检测到的主要显示器和辅助显示器的相同组合,确定另一图像应以显示镜像模式呈现,其中该辅助显示器为优选显示器。
17.根据权利要求16的系统,其中该计算设备被进一步配置为: 接收指定该显示模式不应为显示镜像模式或辅助显示器不应为优选显示器的输入;以及 依据所接收的输入在主要显示器或辅助显示器中的一个或者多个上来渲染、重采样或缩放、或呈现另一图像。
18.一种计算设备,包括: 内部显示器; 显示生成单元; 缩放单元;以及 外部接口 ; 其中该计算设备被配置为: 确定通过该外部接口连接到该计算设备的外部显示器的一个或者多个特性; 依赖于外部显示器的一个或者多个特性,确定该计算设备、该外部显示器和该内部显示器应被配置为显示镜像模式还是扩展显示模式;以及 响应于确定该计算设备、该外部显示器以及该内部显示器应被配置为显示镜像模式: 确定该外部显示器还是该内部显示器为优选显示器; 其中该显示生成单元被配置为以该优选显示器的优选模式为优选显示器渲染内容;以及 其中该缩放单元被配置为重采样或缩放为优选显示器渲染的内容以在另一显示器上显不。
19.根据权利要求18的计算设备, 其中响应于确定该外部显示器是演示类型显示器并且为优选显示器,该显示生成单元被配置为以外部演示类型显示器的优选显示模式来渲染内容;以及 其中该缩放单元被配置为下采样用于内部显示器的内容或上采样用于该内部显示器的内容。
20.根据权利要求18的计算设备,其中该计算设备被进一步配置为响应于确定该外部显示器为计算机监视器类型显示器,而确定该计算设备、该外部显示器、该内部显示器应被配置为扩展显示模式。
【文档编号】G06F9/44GK103530078SQ201310384109
【公开日】2014年1月22日 申请日期:2013年6月8日 优先权日:2012年6月8日
【发明者】G·G·斯达尔, I·C·亨德瑞, K·C·戴克, P·L·考夫曼, S·S·考, N·C·贝格曼 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1