切换无线显示模式并刷新处于不稳定状态的图形处理单元的制作方法

文档序号:14395245阅读:117来源:国知局

相关申请的交叉引用

本申请要求于2015年9月24日在美国专利和商标局提交的非临时申请no.14/863,853的优先权和权益。

本公开内容的各方面一般涉及无线显示,并且具体地涉及切换无线显示模式并刷新处于不稳定状态的图形处理单元(gpu)。



背景技术:

无线显示系统可以使内容能够在多个设备上同时显示。一些无线显示系统可以包括有时被称为源的装置,该源将信息发送给有时被称为宿的另一装置。这些信息可以包括各种类型和形式的数据。但是,在无线传输过程中可能会丢失部分信息。当这些信息没有到达宿和/或错误地到达宿时,可能会认为信息丢失。如果在无线传输过程中丢失太多信息,则宿的图形处理单元(gpu)可能进入不稳定状态。在现有系统中,gpu可能在相当长的一段时间内保持在不稳定状态并可能发生故障,从而导致不希望的用户体验。克服这些限制可以增强总体的系统和用户体验。



技术实现要素:

以下内容呈现本公开内容的一个或多个方面的简化概述,以便提供对这些方面的基本理解。本发明内容不是本公开内容的所有预期特征的泛泛概述,并且既不旨在标识本公开内容的所有方面的关键或重要要素,也不旨在描绘本公开内容的任何或全部方面的范围。其唯一目的是以简化形式呈现本公开内容的一个或多个方面的一些概念,作为稍后呈现的更详细描述的序言。

在一个方面,本公开内容提供了一种被配置用于无线显示的装置。该装置包括:收发机、存储器、图形处理单元(gpu)以及通信地耦合到所述收发机、所述存储器和所述gpu的至少一个处理器。所述至少一个处理器和所述存储器被配置为检测指示所述gpu在处于第一无线显示模式下时处于不稳定状态的状况。所述至少一个处理器和所述存储器还被配置为响应于检测到所述状况,而发送gpu刷新请求消息并从所述第一无线显示模式切换到第二无线显示模式。所述至少一个处理器和所述存储器还被配置为在gpu命令的踪迹(trace)中的随机访问点(rap)处且在发送所述gpu刷新请求消息之后接收足以将所述gpu从所述不稳定状态重置到稳定状态的数据。所述至少一个处理器和所述存储器还被配置为在接收所述数据之后从所述第二无线显示模式切换到所述第一无线显示模式。

在另一个方面,本公开内容提供了一种用于无线显示的方法。该方法包括检测指示所述gpu在处于第一无线显示模式下时处于不稳定状态的状况。该方法还包括响应于检测到所述状况,而发送gpu刷新请求消息并从所述第一无线显示模式切换到第二无线显示模式。该方法还包括在gpu命令的踪迹中的rap处且在发送所述gpu刷新请求消息之后接收足以将所述gpu从所述不稳定状态重置到稳定状态的数据。该方法还包括在接收所述数据之后从所述第二无线显示模式切换到所述第一无线显示模式。

在又一个方面,本公开内容提供了一种被配置用于无线显示的计算机可读介质。所述计算机可读介质包括被配置用于检测指示所述gpu在处于第一无线显示模式下时处于不稳定状态的状况的指令。所述指令还被配置用于响应于检测到所述状况,而发送gpu刷新请求消息并从所述第一无线显示模式切换到第二无线显示模式。所述指令还被配置用于在gpu命令的踪迹中的rap处且在发送所述gpu刷新请求消息之后接收足以将所述gpu从所述不稳定状态重置到稳定状态的数据。所述指令还被配置用于在接收所述数据之后从所述第二无线显示模式切换到所述第一无线显示模式。

在另一个方面,本公开内容提供了配置用于无线显示的另一装置。该装置包括用于检测指示所述gpu在处于第一无线显示模式下时处于不稳定状态的状况的单元。该装置还包括用于响应于检测到所述状况,而发送gpu刷新请求消息并从所述第一无线显示模式切换到第二无线显示模式的单元。该装置还包括用于在gpu命令的踪迹中的rap处且在发送所述gpu刷新请求消息之后接收足以将所述gpu从所述不稳定状态重置到稳定状态的数据的单元。该装置还包括用于在接收所述数据之后从所述第二无线显示模式切换到所述第一无线显示模式的单元。

通过阅读下面的具体实施方式,本公开内容的这些和其它方面将变得更加被充分地理解。结合附图阅读本公开内容的具体示例性实施例的以下描述,本公开内容的其它方面、特征和实施例对于本领域普通技术人员将变得显而易见。尽管可以相对于下面的某些实施例和附图讨论本公开内容的特征,但是本公开内容的所有实施例都可以包括在本文讨论的一个或多个有利特征。换句话说,虽然一个或多个实施例可以被讨论作为具有某些有利的特征,但是根据本文所讨论的本公开内容的各种实施例也可以使用一个或多个这样的特征。以类似的方式,尽管示例性实施例可以在下面作为设备、系统或方法实施例进行讨论,但应该理解,可以在各种设备、系统和方法中实现这样的示例性实施例。

附图说明

图1是示出根据本公开内容的各方面的源与宿进行通信的示例的图。

图2是示出根据本公开内容的各方面的表示数据平面和控制平面的功能块的示例的图。

图3是示出根据本公开内容的各方面的在家庭环境中源和宿显示内容的示例的图。

图4是示出根据本公开内容的各方面的在工作环境中源和宿显示内容的示例的图。

图5是示出根据本公开内容的各方面的源和宿之间的各种通信的示例的图。

图6是示出根据本公开内容的各方面的源和宿之间的各种通信的另一示例的图。

图7是示出根据本公开内容的各方面的在装置处可操作的各种方法和/或过程的示例的图。

图8是示出根据本公开内容的各方面的装置的硬件实现方案的示例的图。

具体实施方式

以下结合附图阐述的具体实施方式旨在作为对各种配置的描述,而不旨在表示可以实践本文所描述的概念的唯一配置。具体实施方式包括了用于提供对各种概念的透彻理解的具体细节。然而,对于本领域技术人员来说将显而易见地是,可以在没有这些具体细节的情况下实践这些概念。在一些情况下,为了避免模糊这些概念,以框图形式示出了众所周知的结构和组件。

图1是示出了源102与宿104通信的示例的图100。通常,宿104是被配置用于与另一装置(例如,源102)进行无线通信的任何装置。通常,源102是被配置用于与另一装置(例如,宿104)进行无线通信的任何装置。更具体地说,如本文更详细描述地,源102和宿104可以彼此通信以实现无线显示。在一些配置中,源102可以被称为wi-fi显示(wfd)源,并且宿104可以被称为wfd宿。在这样的配置中,源102和宿104可以根据wi-fi联盟tm的wi-fi显示技术规范彼此通信。尽管可以在本文描述源102和宿104的各种示例,但是本领域的一名普通技术人员将理解,本公开内容不限于这些示例,并且源102和宿104的各种其它示例在本公开内容的范围内。

在一些配置中,如在图1中所示,源102可以包括中央处理单元(cpu)118、图形库116、本地图形处理单元(gpu)114和/或本地显示器112。cpu118、图形库116、本地gpu114和/或本地显示器112可以利用各种技术彼此通信,而不偏离本公开内容的范围。例如,cpu118可以在应用层处生成内容,并且这样的内容可以被提供给图形库116。图形库116可以存储这样的内容。当这样的内容准备好显示时,本地gpu114可以从图形库116读取该内容。在一些情况下,这样的内容可以被显示在源102的远程显示器122上。在这种情况下,本地gpu114可以将这样的内容提供给源102的本地显示器112。在一些情况下,这样的内容可以被显示在宿104处。在宿104处显示这样的内容可以是在源102处显示这样的内容的补充或替代。换句话说,这些内容有时可以在本地显示器112和远程显示器122处同时被显示,并且这样的内容有时可以在本地显示器112或远程显示器122处被显示。

可以实现各种技术以便在宿104的远程显示器122上显示内容。在有时可以被称为图形卸载(offload)的一些配置中,源102将gpu命令(或其它合适的指令)传送给宿104。例如,源102的本地gpu114可以向宿104的远程gpu124提供gpu命令(或其它合适的指令)。在这样的配置中,gpu命令在宿104处被处理,并且对应于那些gpu命令的内容被显示在远程显示器122上。通常,gpu命令可以向宿104提供用于执行过程的指令,该过程使得能够以与在本地显示器112处显示这样的内容同步的方式在远程显示器122上显示这样的内容。在一些配置中,gpu命令包括opengl命令和/或directx命令。图形卸载与其它技术不同,部分原因是:(i)不需要源102缓冲、编码和发送要在远程显示器122上显示的全部内容,并且(ii)不需要宿104接收、解码和呈现整个内容。

本领域的一名普通技术人员将理解,在不偏离本公开内容的范围的情况下,术语内容通常可以指许多类型的数据。更具体地,关于图形引擎实体(gee),内容可以指图形内容。图形内容的非限制性示例可以包括生产力应用和/或游戏。另外地或替代地,内容可以包括由本领域的一名普通技术人员可以表征为内容或图形内容的各种其它类型的数据。

图2是示出表示数据平面和控制平面的功能块的示例的图200。数据平面可以包括视频编解码器208、音频编解码器210、经分组化的基本流(pes)分组化216、高带宽数字内容保护(hdcp)218、运动图像专家组2传输流(mpeg2-ts)220、实时传输协议(rtp)224、用户数据报协议(udp)228和互联网协议(230)。控制平面可以包括实时流协议(rtsp)222、传输控制协议(tcp)226、ip230、远程i2c读/写212、用户输入返回信道(uibc)封装214、人机接口设备类(hidc)204、通用用户输入202和hdcp218会话密钥建立。wi-fi对等(p2p)/隧道化直接链路建立(tdls)块使用wi-fip2p或tdls形成层2连接。本领域的一名普通技术人员具有wi-fi联盟tm的wi-fi显示技术规范的知识,该规范提供关于在图2中所示的功能块的详细描述。

通常,gee206是启用图形卸载能力的图形子系统。在于图2示出的例子中,表示gee206的功能块被示为位于pes分组化216的上方。然而,本领域的一名普通技术人员将理解,表示gee206的功能块可以位于相对于在图2中示出的其它功能块的替代配置中,而不偏离现在位置的范围。例如,表示gee206的功能块可以位于tcp226的正上方。在这样的配置中,系统可以受益于减少的开销和/或等待时间,这是因为来自gee206的数据可以直接传递到ip230而不经过pes分组化216、hdcp218、mpeg2-ts220、rtp224和udp228。

在不偏离本公开内容的范围的情况下,源102和宿104可以利用各种技术彼此通信。在一些配置中,源102和宿104可以利用tcp/ip连接彼此通信。在这样的配置中,源102将tcp分组发送到宿104。在一些配置中,源102和宿104可以利用udp/ip连接彼此通信。在这样的配置中,源102将udp分组发送到宿104。在一些配置中,源102和宿可以利用非ip连接彼此通信,该非ip连接有时可以被称为本地介质访问控制(mac)连接。在这样的配置中,源102将原生mac分组发送到宿104。

图3是示出在家庭环境中源102和宿104显示内容的示例的图300。图4是示出了在工作环境中源102和宿104显示内容的示例的图400。如在图3和4中提供的示例所示,在宿104上显示的内容可以与在源102上显示的内容同步。关于源102和宿104的附加描述在整个本公开内容中被提供,因此在此不再重复。

图5是示出源102与宿104之间的各种通信的示例的图500。如上所述,源102可以将gpu命令(或其它合适的指令)传送给宿104。gpu命令在宿104处被处理,并且对应于那些gpu命令的内容被显示在远程显示器122上。gpu命令可以向宿104提供用于执行过程的指令,该过程使得能够以与在源102处显示这样的内容同步的方式在宿104处显示这样的内容。在一些配置中,gpu命令包括opengl命令和/或directx命令。在不偏离本公开内容的范围的情况下,gpu命令可以被包括在各种类型和形式的分组中。在一些配置中,如上所述,gpu命令可作为tcp/ip分组、udp/ip分组和/或原生mac分组中的有效载荷的一部分被包括。在于图5中示出的例子中,一些gpu命令被包括在分组1502中。源502发送分组1502,并且在宿104处无错误地接收到分组1502。相应地,在一些配置中,宿104向源102发送确认消息(ack1504)。

然而,在无线通信中,在传输期间有可能丢失一些分组。更具体地,在一些情况下,可能在宿104处未接收到和/或可能在宿104处错误地接收到包含gpu命令的一个或多个分组。当在宿104处未接收到和/或在宿104处错误地接收到包含gpu命令的分组时,该分组在本文中可以被称为丢失分组。例如,如在图5中所示,宿104发送包含gpu命令的分组2506。然而,在宿104处没有接收到和/或在宿104处错误地接收到分组2506。在一些配置中,宿104可以向源102发送否定确认消息(nack2508)。在一些情况下,在传输分组2506之后的时间段期间不存在ack可以被认为是对nack的隐式指示。相应地,在这种情况下,nack2508不是必需的,这是因为其根据ack的不存在被隐式地推断出。源102然后可以重试分组2506的传输。后续分组也可能不能到达宿104和/或错误地到达宿104。例如,如在图5中所示,宿104发送包含gpu命令的分组3510。然而,在宿104处没有接收到和/或在宿104处错误地接收到分组3510。在一些配置中,宿104可以向源102发送否定确认消息(nack3512)。在一些情况下,在传输分组3512之后的时间段期间不存在ack可以被认为是对nack的隐式指示。相应地,在这种情况下,nack3512不是必需的,这是因为其根据ack的不存在被隐式地推断出。源102然后可以重试分组3510的传输。

如上所述,丢失分组是指包含gpu命令的且在宿104处没有接收到和/或在宿104处错误地接收到的分组。当具有gpu命令的丢失分组的数量超过具有gpu命令的丢失分组的阈值数量时,宿104的远程gpu124可能处于不稳定状态。由于各种其它原因,宿104的远程gpu124可能处于不稳定状态,而不偏离本公开内容的范围。作为示例,当由于未接收到一个或多个gpu命令使得远程gpu124发生故障时,远程gpu124可能处于不稳定状态。故障可能导致远程gpu124不可操作和/或崩溃。作为另一示例,当远程gpu124不能执行宿104的一个或多个关键功能时,宿104的远程gpu124可能处于不稳定状态。关键功能可以指对于宿104的特定组件的可操作性至关重要的任何功能。作为又一个示例,当远程gpu124不能以允许内容显示在宿104的远程显示器122上的方式进行操作时,宿104可能处于不稳定状态。作为另一示例,当远程gpu124不能正确地同步在宿104的远程显示器122上对内容的显示与在源102的本地显示器112上显示内容时,宿104可能处于不稳定状态。

在现有系统中,远程gpu124可能在相当长的一段时间内不能从这种不稳定状态恢复,并且因此可能无法正确地显示与从源102发送到宿104的gpu命令对应的内容。例如,宿104可能不能正确地同步在宿104的远程显示器122上对内容的显示与在源102的本地显示器112上显示内容。在这种情况下,现有系统可能在相当长的一段时间内保持在不稳定状态下并且可能出现故障,不能执行关键功能,变得不可用、崩溃、挂起、冻结和/或以其它方式提供不希望的用户体验。克服这些限制可以增强总体的系统和用户体验。

图6是示出源102和宿104之间的各种通信的示例的图600。源102和宿104可以被配置为利用至少两种无线显示模式进行操作。第一无线显示模式的示例包括使用gee206。如上所述,gee206是使得能够实现图形卸载能力的图形子系统。在一些配置中,在不偏离本公开内容的范围的情况下,gpu命令可以被称为gee帧、gee分组和/或任何其它合适的术语。在不偏离本公开内容的范围的情况下,gee206有时可被称为图形域无线显示。在图形域无线显示中,显示数据可以作为对gpu的opengl和/或directx调用来捕获。在图形域无线显示中,内容捕获是与应用无关的。在图形域无线显示中,内容捕获可以发生在进入gpu处。在图形域无线显示中,像素可以在宿104处再生以实现无损的图形和文本质量。在图形域无线显示中,所发送的数据可以被缩放到所需的分辨率(例如,2k、2080p、4k等),而几乎不增加传输数据速率。

第二无线显示模式的示例包括miracast604的使用。通常,miracast是指符合wi-fialliancetm的wi-fi显示技术规范的协议。这样的协议实现了源102和宿104之间的连接。miracast有时可以被称为通过wi-fi的高清晰度多媒体接口(hdmi)。miracast使得能够将来自一个设备(例如,源102)的内容同步显示到另一个设备(例如,宿104)上。在不偏离本公开内容的范围的情况下,miracast还可以被称为像素域无线显示。在像素域无线显示中,内容捕获可以在进入gpu之后发生。在像素域无线显示中,可以在gpu渲染之后从像素域中的显示帧缓冲器捕获一些内容(例如,图像),并且可以在源102的显示处理器处捕获一些内容(例如,非图像)。在像素域无线显示中,可以压缩显示数据,并且在宿104处对发送的显示数据进行上采样可以降低文本和图形的质量。

在不偏离本公开内容的范围的情况下,本文描述的一些分组(例如,分组610、612、618)有时可以被称为gee分组或其它合适的术语。当以第一无线显示模式(例如,使用gee206)进行操作时,源102将包含gpu命令的一个或多个分组610发送到宿104。随着时间的过去,在传输期间可能丢失一个或多个其它分组612。如上所述,丢失分组是指包含gpu命令的并且在宿104处没有接收到和/或在宿104处错误地接收到的分组。宿104被配置为检测指示宿104的远程gpu124处于不稳定状态的一个或多个状况。在一些配置中,在检测到具有gpu命令的丢失分组的数量超过具有gpu命令的丢失分组的阈值数量时,宿104可以检测到远程gpu124处于不稳定状态。本领域的一名普通技术人员将理解,具有gpu命令的丢失分组的阈值数量可以由管理员设置,由制造商预先配置,基于各种因素动态调整,和/或利用许多不同的技术来确定,而不偏离本公开内容的范围。作为一个示例,丢失分组的阈值数量可以被预设为两(2)个分组。如在图6中所示,当检测到包含gpu命令的三个(3)分组612丢失时,宿104可以检测到远程gpu124处于不稳定状态。

响应于检测到远程gpu124处于不稳定状态,宿104可以发送gpu刷新请求消息614(到源102)并从第一无线显示模式(例如,使用gee206)切换到第二无线显示模式(例如,使用miracast606)。在一些配置中,在不偏离本公开内容的范围的情况下,gpu刷新请求消息614可以被称为gpu重置消息或任何其它合适的术语。从第一无线显示模式(例如,使用gee206)切换到第二无线显示模式(例如,使用miracast606)使得宿104能够回退到没有正遭受包含gpu命令的丢失分组的无线显示模式。

一些编码器可以具有错误恢复机制,其使得所显示的内容能够适度地劣化。例如,在检测到一定数量的丢失分组时,这样的编码器可以减少发送的分组的数量,由此能够逐渐降低所显示的内容的质量。然而,减少发送的数据分组的数量对于图形卸载可能不可行。在图形卸载中,发送的分组(包含gpu命令)的数量的实质性减少会不利地影响宿104的远程gpu124的状态。

没有这样的回退,宿104的远程gpu124可能保持在不稳定状态下,并且可能发生故障,不能执行关键功能,变得不能运行、崩溃、挂起、冻结和/或以其它方式提供不期望的用户体验。本领域的一名普通技术人员将理解,影响的严重程度可以取决于丢失的功能的优先级或重要性、丢失的gpu命令相关联的应用、丢失的gpu命令相关联的图形库的行为、和/或各种其它因素。

本领域的一名普通技术人员还将理解,为实现这样的回退而实施的具体技术可以改变,而不偏离本公开内容的范围。尽管存在这种技术的许多示例,但是一个示例可以涉及:(i)确定与用于显示的内容相关联的标识符(id)(例如,流id和/或会话id);(ii)使用该id,建立使用gee206的会话和建立使用miracast606的会话(例如,在接收包含gpu命令的分组610之前);(iii)随后将使用miracast606的会话设置成“暂停”并将使用gee206的会话设置成“播放”(例如,在接收到包含gpu命令的分组610时);以及(iv)为发起回退,将使用miracast606的会话设置成“播放”并将使用gee206的会话设置成“暂停”。

即使第二无线显示模式(例如,使用miracast606)的显示质量可能小于第一无线显示模式(例如,使用gee206)的显示质量,也可能发生该回退。显示质量可以指与宿104的远程显示器122上的内容的显示质量相关联的显示分辨率、刷新率、图片质量和/或任何其它度量。即使第二无线显示模式(例如,使用miracast606)的显示质量可能小于第一无线显示模式(例如,使用gee206)的显示质量,也向用户提供不因包含gpu命令的丢失分组和/或处于不稳定状态的gpu而中断的观看体验。

gpu刷新请求消息614可以包括用于请求用于重置宿104的远程gpu124的数据616的信息。更具体地,在一些配置中,gpu刷新请求消息614可以包括用于请求在gpu命令的踪迹602中的即将到来的随机访问点(rap)处的足以重置宿104的远程gpu124的数据616的信息。在不偏离本公开内容的范围的情况下,数据616有时可被称为miracast帧、miracast分组和/或其它合适的术语。通常,重置任何gpu可以包括:重初始化gpu的设置、配置或状况,使得gpu从不稳定状态改变到稳定状态。以上提供了关于不稳定状态的附加描述,因此将不再重复。稳定状态是指与不稳定状态不同的任何状态。例如,当gpu执行当其在处于不稳定状态时不能执行的一个或多个关键功能时,gpu可处于稳定状态。

通常,gpu命令的踪迹(trace)602是指包含由源102传送和/或在宿104处接收的所有(或基本全部)gpu命令的记录或文件。gpu命令的踪迹602可以被存储或保持在宿104的图形库中。gpu命令的踪迹602可以以各种格式和/或文件配置被存储而不偏离本公开内容的范围。通常,rap是指在踪迹602的一个或多个部分、方位和/或位置处的标记、标记符和/或任何其它合适的指示符。在一些配置中,踪迹602可以从源102发送到宿602。踪迹602可以包括多个rap(例如,rap0、rap10、rap20、rap30和rap40,如在图6中所示)。

在每个rap处,宿104可以接收足以重置远程gpu124的数据616。在一些配置中,这样的数据616有时可以被称为gee信息或任何其它合适的术语,而不偏离本公开内容的范围。在一些配置中,数据616足以重置远程gpu124,而不需要与gpu命令的踪迹602中的另一个rap相关联的其它数据。换句话说,数据616独立于与gpu命令的踪迹602中的先前rap(例如,rap0、rap10、rap20)相关联的其它数据。例如,rapn独立于rapn-1。在该示例中,远程gpu124可以在rapn处被重置,而不需要在rapn-1处可用的任何信息。因此,每个rap可以被认为是“无记忆的”(例如,不需要来自或依赖于任何前面的rap的信息)。然而,因为数据616的数量可能相当大,从而在其空中传输中引入峰值,所以除非对于错误恢复是需要的,否则可以不发送这样的数据616。

参照在图6中所示的例子,即将到来的rap(在宿104向源102发送gpu刷新请求消息614之后)是rap30。在rap30处,源102发送足以将宿104的远程gpu124从不稳定状态重置到稳定状态的数据616。如上所述,重置宿104的远程gpu124可以包括:改变远程gpu124的设置、配置或状况,使得远程gpu124从不稳定状态改变到稳定状态。在一些配置中,用于重置宿104的远程gpu124的数据可以包括与纹理、着色器、顶点和/或任何其它合适的显示属性相关联的信息。

在接收到足以将宿104的远程gpu124从不稳定状态重置到稳定状态的数据616之后,宿104可以从第二无线显示模式(例如,使用miracast606)切换到第一无线显示模式(例如,使用gee206)。因为宿104的远程gpu124从不稳定状态重置到稳定状态,所以宿104的远程gpu124能够在第一无线显示模式(例如,使用gee206)下进行操作时接收包含gpu命令的附加分组618。本领域的一名普通技术人员将理解,为实现这种切换而实施的具体技术可以在不偏离本公开内容的范围的情况下改变。尽管存在这种技术的许多示例,但是一个示例可以涉及将使用miracast606的会话设置成“暂停”并将使用gee206的会话设置成“播放”。

虽然从第二无线显示模式(例如,使用miracast606)切换到第一无线显示模式(例如,使用gee206)的切换可以在接收到足以重置宿104的远程gpu124的数据616之后的任何时间发生,但是在不脱离本公开内容的范围的情况下,基于各种实现方案,发生切换的确切时间可以改变。如上所述,在执行从第二无线显示模式(例如,使用miracast606)到第一无线显示模式(例如,使用gee206)的切换之前,可能利用相当多的时间用于发送这样的数据616。相应地,在这样的数据616的传输开始之后的一段时间之后,可以发生从第二无线显示模式(例如,使用miracast606)到第一无线显示模式(例如,使用gee206)的切换。用于在一段时间之后(例如,不是在发送数据616时瞬时地)执行该切换的原因是:该数据616的较前部分包含用于重置宿104的远程gpu124的信息,并且该数据616的较后部分包含对应于将在宿104的远程显示器122上(几乎立即)呈现的内容的gpu命令。该数据616的较后部分有时可以被称为屏幕内容命令、屏幕内容gpu命令或任何其它适用的术语,在不偏离本公开内容的范围的情况下。相应地,在一些配置中,当与第二无线显示模式(例如,使用miracast606)相关联的分组(例如,数据616,其有时候可以被称为miracast帧/分组)的时间戳和与第一无线显示模式(例如,使用gee206)相关联的分组(例如,分组618,其有时可以被称为gee帧/分组)的时间戳相同时,发生从第二无线显示模式(例如,使用miracast606)到第一无线显示模式(例如,使用gee206)的切换。

图7是示出可以在装置处发生的各种过程的示例的图700。在一些配置中,这样的装置是本文更详细描述的宿104。在框702处,装置可以检测指示gpu在处于第一无线显示模式下时处于不稳定状态的状况。例如,参照图6,宿104可以检测指示宿104的远程gpu124当在第一无线显示模式(例如,使用gee206)下接收gpu命令时处于不稳定状态的一个或多个状况。在一些配置中,在检测到具有gpu命令的丢失分组的数量超过具有gpu命令的丢失分组的阈值数量时,宿104可以检测到远程gpu124处于不稳定状态。例如,丢失分组的阈值数量可以被预设为两(2)个分组。如在图6中所示,当检测到包含gpu命令的三个(3)分组612丢失时,宿104可以检测到远程gpu124处于不稳定状态。

在框704处,响应于检测到该状况,装置可以发送gpu刷新请求消息并从第一无线显示模式切换到第二无线显示模式。例如,参照图6,响应于检测到远程gpu124处于不稳定状态,宿104可以发送gpu刷新请求消息614并从第一无线显示模式(例如,使用gee206)切换到第二无线显示模式(例如,使用miracast606)。从第一无线显示模式(例如,使用gee206)切换到第二无线显示模式(例如,使用miracast606)使得宿104能够回退到没有正遭受包含gpu命令的丢失分组的无线显示模式。如果没有这种回退,宿104的远程gpu124可能保持处于不稳定状态,并且可能发生故障,不能执行关键功能,变得不能运行、崩溃、挂起、冻结和/或以其它方式提供不希望的用户体验。

在框706处,装置可以在gpu命令的踪迹中的rap处且在发送gpu刷新请求消息之后,接收足以将gpu从不稳定状态重置到稳定状态的数据。例如,参照图6,在宿104向源102发送gpu刷新请求消息614之后的rap是rap30。在rap30处,源102发送数据616,数据616足以将宿104的远程gpu124从不稳定状态重置到稳定状态。如上所述,重置宿104的远程gpu124可以包括:改变远程gpu124的设置、配置或状态,使得远程gpu124从不稳定状态改变到稳定状态。上面提供了有关不稳定状态的附加描述,因此不会重复。稳定状态是指与不稳定状态不同的任何状态。例如,当gpu执行当其在处于不稳定状态时不能执行的一个或多个关键功能时,gpu可处于稳定状态。

在框708处,在接收到上述数据之后,装置可以从第二无线显示模式切换到第一无线显示模式。在一些配置中,该装置被配置为在第一无线显示模式下利用gee206并且在第二无线显示模式下利用miracast606。参照图6,在接收到足以将宿104的远程gpu124从不稳定状态重置到稳定状态的数据616之后,宿104可以从第二无线显示模式(例如,使用miracast606)切换到第一无线显示器模式(例如,使用gee206)。因为宿104的远程gpu124从不稳定状态被重置到稳定状态,所以宿104的远程gpu124能够当在第一无线显示模式(例如,使用gee206)下进行操作时接收包含gpu命令的附加分组618。

参照图7描述的方法/或过程是为了说明的目的而提供的,并非旨在限制本公开内容的范围。在不偏离本公开内容的范围的情况下,可以以不同于在本文所示的序列的序列执行参照图7描述的方法/或过程。另外,参照图7描述的一些或全部方法和/可以单独地和/或一起执行,而不偏离本公开内容的范围。应该理解,所公开的方法中的步骤的具体顺序或层次是示例性过程的说明。基于设计偏好,可以理解,可以重新排列方法中的步骤的具体次序或层次。所附方法权利要求以示例性顺序呈现了各种步骤的要素,并且不意味着限于所呈现的具体次序或层次,除非在本文特别陈述。

图8是示出根据本公开内容的各个方面的装置802的硬件实现方案的示例的图800。通常,装置802可以是被配置用于实现无线显示能力的任何设备。在一些配置中,装置802可以是上述的宿104。装置802可以包括用户接口812。用户接口812可以被配置为从装置802的用户接收一个或多个输入。用户接口812还可以被配置为显示信息(例如,文本和/或图像)给装置802的用户。用户接口812可以经由总线接口808交换数据。

装置802还可以包括收发机810。收发机810可以被配置为接收和/或发送与另一装置通信的数据。收发机810提供用于经由有线或无线传输介质与另一装置进行通信的单元。例如,收发机810可以提供用于与源102进行通信的单元,如上面更详细描述地。收发机810可以被配置为使用各种类型的技术来执行这种通信,如上面更详细描述地。本领域的一名普通技术人员将理解,在不偏离本公开内容的范围的情况下,许多类型的技术可以执行此类通信。

装置802还可以包括存储器814、一个或多个处理器804、计算机可读介质806和总线接口808。总线接口808可以提供总线816和收发机810之间的接口。存储器814、一个或多个处理器804、计算机可读介质806和总线接口808可以经由总线816连接在一起。处理器804可以通信地耦合到收发机810和/或存储器814。

处理器804可以包括检测电路820。检测电路820可以包括各种硬件组件和/或可以执行各种算法,这些算法提供用于检测指示gpu当在第一无线显示模式下时处于不稳定状态的状况的单元。处理器804还可以包括传输电路821。传输电路821可以包括各种硬件组件和/或可以执行各种算法,这些算法提供用于响应检测到该状况而发送gpu刷新请求消息并从第一无线显示模式切换到第二无线显示模式。处理器804还可以包括接收电路822。接收电路822可以包括各种硬件组件和/或可以执行各种算法,这些算法提供用于在gpu命令的踪迹中的rap处且在发送gpu刷新请求消息之后接收足以将gpu从不稳定状态重置到稳定状态的数据的单元。处理器804还可以包括控制电路823。控制电路823可以包括各种硬件组件和/或可以执行各种算法,这些算法提供用于在接收到数据之后从第二无线显示模式切换到第一无线显示模式的单元。控制电路823可以包括各种硬件组件和/或可以执行各种算法,这些算法提供用于在第一无线显示模式下利用gee和在第二无线显示模式下利用miracast的单元。

前面的描述提供了装置802的处理器804的非限制性示例。尽管上面已经描述了各种电路,但是本领域的一名普通技术人员将理解,处理器804还可以包括除了或替代电路820、821、822、823的各种其它电路(未示出)。这样的其它电路(未示出)可以提供用于执行在本文描述的功能、方法、过程、特征和和/或方面中的任何一个或多个的单元。

计算机可读介质806可以包括各种计算机可执行指令。计算机可执行指令可以包括被配置为执行各种功能和/或实现本文描述的各个方面的计算机可执行代码。计算机可执行指令可以由装置802的各种硬件组件(例如,处理器804和/或其电路820、821、822、823中的任意者)执行。计算机可执行指令可以是各种软件程序和/或软件模块的一部分。

计算机可读介质806可以包括检测指令840。检测指令840可以包括被配置用于检测指示gpu当处于第一无线显示模式时处于不稳定状态的状况的计算机可执行指令。计算机可读介质806还可以包括传输指令841。传输指令841可以包括被配置用于响应于检测到该状况而发送gpu刷新请求消息并从第一无线显示模式切换到第二无线显示模式的计算机可执行指令。计算机可读介质806可以包括接收指令842。接收指令842可以包括被配置用于在gpu命令的踪迹中的rap处且在发送gpu刷新请求消息之后接收足以将gpu从不稳定状态重置到稳定状态的数据的计算机可执行指令。计算机可读介质806可以包括控制指令843。控制指令843可以包括被配置用于在接收到数据之后从第二无线显示模式切换到第一无线显示模式的计算机可执行指令。控制指令843还可以包括被配置用于在第一无线显示模式下利用gee并在第二无线显示模式下利用miracast的计算机可执行指令。

前面的描述提供了装置802的计算机可读介质806的非限制性示例。尽管上面已经描述了各种计算机可执行指令(例如,计算机可执行代码),但是本领域的一名普通技术人员将理解,计算机可读介质806还可以包括除了和/或替代指令840、841、842、843的各种其它计算机可执行指令(未示出)。这样的其它计算机可执行指令(未示出)可以被配置用于执行本文描述的功能、方法、过程、特征和/或方面中的任何一个或多个。

存储器814可以包括各种存储器模块。存储器模块可以被配置为存储以及具有由处理器804或其电路820、821、822、823中的任何电路从其读取的各种值和/或信息。存储器模块还可以被配置为存储并具有在执行包括在计算机可读介质806的计算机可执行代码或其指令840、841、842、843中的任何指令时从其读取的各种值和/或信息。存储器814可以包括踪迹信息830。例如,踪迹信息130可以被存储或保持在宿104的图形库中。踪迹信息830可以以各种格式和/或文件配置存在,而不偏离本公开内容的范围。存储器还可以包括rap信息831。如上所述,rap是指踪迹602的一个或多个部分、方位或位置处的标记、标记符和/或任何其它合适的指示符。在每个rap处,宿104可以接收足以重置gpu(例如,宿104的远程gpu124)的数据616。在一些配置中,用于重置宿104的远程gpu124的数据616可以包括与纹理、着色器、顶点和/或任何其它合适的显示属性相关联的信息。

本领域普通一名技术人员还将理解,在不偏离本公开内容的范围的情况下,装置802可以包括替代和/或附加的特征。根据本公开内容的各个方面,可以用包括一个或多个处理器804的处理系统来实现元素或者元素的任何部分或者多个元素的任意组合。一个或多个处理器804的示例包括微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、门控逻辑、分立硬件电路以及被配置为执行贯穿本公开内容所描述的各种功能的其它合适硬件。处理系统可以用总线架构来实现,总线架构通常由总线816和总线接口808表示。总线816可以包括任意数量的互连总线和桥,这取决于处理系统的具体应用和总体设计约束。总线816可以将包括一个或多个处理器804、存储器814和计算机可读介质806的各种电路链接在一起。总线816还可以链接各种其它电路,例如定时源、外围设备、电压调节器和电源管理电路,这些在本领域中是公知的。

一个或多个处理器804可以负责管理总线816和进行一般处理,一般处理包括执行存储在计算机可读介质806上的软件。当由一个或多个处理器804执行时,软件使得处理系统执行下面针对任何一个或多个装置描述的各种功能。计算机可读介质806还可以用于存储当执行软件时由一个或多个处理器804操纵的数据。软件应被广泛地解释为指示指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行程序、执行中线程、过程、函数等等,无论其被称为软件、固件、中间件、微码、硬件描述语言还是其它。该软件可以驻留在计算机可读介质806上。计算机可读介质806可以是非暂时性计算机可读介质。举例来说,非暂时性计算机可读介质包括磁存储设备(例如,硬盘、软盘、磁带)、光盘(例如,压缩光盘(cd)或数字多功能盘(dvd))、智能卡、闪存设备(例如,卡、棒或钥匙驱动器)、随机访问存储器(ram)、只读存储器(rom)、可编程rom(prom)、可编程rom(pprom)、可擦除prom(eprom)、电可擦除prom(eeprom)、寄存器、可移动磁盘以及用于存储可由计算机访问和读取的软件和/或指令的任何其它合适的介质。作为示例,计算机可读介质806还可以包括载波、传输线以及用于传输可以由计算机访问和读取的软件和/或指令的任何其它合适的介质。计算机可读介质806可以驻留在处理系统中,在处理系统外部,或分布在包括处理系统的多个实体上。计算机可读介质806可以被实施在计算机程序产品中。作为示例而非限制,计算机程序产品可以包括封装材料中的计算机可读介质。本领域的技术人员将认识到如何最好地实现贯穿本公开内容所呈现的所描述功能,这取决于特定的应用和施加在整个系统上的整体设计约束。

提供以上描述是为了使本领域的任何技术人员能够实践本文描述的各个方面。对这些方面的各种修改对于本领域技术人员而言将是显而易见的,并且在本文定义的一般原理可以应用于其它方面。因此,权利要求书不旨在限于本文所示的方面,而是要符合与权利要求书的语言一致的全部范围,其中以单数形式提及元素并非意在表示“仅有一个”(除非特别说明),而是“一个或多个”。除非另有特别说明,术语“一些”是指一个或多个。提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。举例来说,“a、b或c中的至少一个”旨在涵盖:a;b;c;a和b;a和c;b和c;和a、b和c。贯穿本公开内容中所描述的各个方面的元素的所有结构和功能等同物对于本领域的普通技术人员而言是已知的或随后将为人们所知的,其通过引用明确地并入本文中并且旨在由权利要求书所涵盖。而且,在本文公开的任何内容都不旨在奉献给公众,而不管这些公开内容是否在权利要求书中明确记载。没有权利要求书的元素是要根据35u.s.c.§112(f)中的规定被解释,除非使用短语“用于...的单元”明确陈述该元素,或者在方法权利要求的情况下,使用短语“用于...的步骤”来陈述该元素。

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