客户侧延迟改善方法、主处理器、处理电路与云游戏服务器与流程
本发明总体上有关于图像显示。特别地,有关于一种借助云游戏服务器侧图像定像控制(imageorientationcontrol)执行客户侧延迟增强的方法与装置,其中,该装置可包含电子装置的至少一部分(例如,部分或全部),例如,电子装置中的主处理器、处理电路等。
背景技术:
现代游戏通常需要图像处理单元(gpu)的庞大gpu计算能力,以获取出色并完整的场景渲染。更特别地,由于gpu上的特定类型渲染任务,会引入gpu的较重负载。当将游戏设计为云游戏时,云游戏服务器可准备云游戏的视频内容并且通过视频流将该视频内容发送给客户装置(例如,多功能手机),从而由客户装置进行播放。然而,这样会导致几个问题。例如,对于横屏模式的游戏播放,客户装置可需要旋转已缓存视频数据,从而匹配显示方向,并且因此可增加更多延迟与带宽(bw)消耗。因此,需要一种新颖方法与相关联架构,以提高运行云游戏的电子装置的整体性能。
技术实现要素:
为了解决上述问题,本发明的目标是提供一种借助云游戏服务器侧图像方向控制执行客户侧延迟改善的方法,以及提供例如电子装置或电子装置中主处理器、处理电路等的相关联装置,以及云游戏服务器。
本发明的另一目标是提供一种借助云游戏服务器侧图像方向控制执行客户侧延迟改善的方法,以及提供例如电子装置或电子装置中主处理器、处理电路等的相关联装置,以及云游戏服务器,以改善电子装置的整体性能。
本发明的至少一个实施例提供一种客户侧延迟改善方法,借助云游戏服务器侧图像方向控制。该方法包含:利用客户装置的至少一个方向相关传感器,检测该客户装置的客户装置方向;利用该客户装置中的网络接口电路,向云游戏服务器通知该客户装置方向;利用该云游戏服务器根据该客户装置方向,提前为该客户装置生成云游戏的预旋转视频内容,用于透过视频流输出给该客户装置,其中,该预旋转视频内容对应该客户装置方向;以及利用该网络接口电路透过该视频流接收该预旋转视频内容,并且将该预旋转视频内容缓存在视频缓存器中,用于输出至显示面板并且在该显示面板上显示。
本发明的至少一个实施例提供一种主处理器,位于电子装置中并且借助云游戏服务器侧图像方向控制执行客户侧延迟改善。该主处理器包含:核心电路、耦接核心电路的显示接口电路以及总线接口电路。核心电路用于控制该主处理器,用于控制该电子装置的操作,其中,将该电子装置作为客户装置,并且在该核心电路的控制下,该主处理器执行该客户装置的交互控制,以借助云游戏服务器侧图像方向控制执行客户侧延迟改善。此外,显示接口电路用于将显示面板耦接至该主处理器;以及总线接口电路用于透过总线将至少一个元件耦接至该主处理器,其中,该至少一个元件包含该客户装置中至少一个方向相关传感器。例如,该主处理器利用该至少一个方向相关传感器,检测该客户装置的客户装置方向;该主处理器利用该客户装置中的网络接口电路,向云游戏服务器通知该客户装置方向;该主处理器利用该云游戏服务器根据该客户装置方向,提前为该客户装置生成云游戏的预旋转视频内容,用于透过视频流输出给该客户装置,其中,该预旋转视频内容对应该客户装置方向;以及该主处理器利用该网络接口电路透过该视频流接收该预旋转视频内容,并且将该预旋转视频内容缓存在视频缓存器中,用于输出至该显示面板并且在该显示面板上显示。
根据许多实施例,本发明进一步提供包含上述主处理器的处理电路,其中,该处理电路进一步包含:该至少一个方向相关传感器;以及该网络接口电路。例如,该处理电路可包含该视频缓存器,并且该视频缓存器用于缓存帧信息,其中,该帧信息包含该预旋转视频内容。此外,该视频缓存器实施为该主处理器的内部缓存器或外部缓存器。
根据许多实施例,本发明进一步提供包含上述主处理器的电子装置,其中,该电子装置可包含处理电路与显示面板。该处理电路可包含该主处理器、该至少一个方向相关传感器以及该网络接口电路。该显示面板耦接该主处理器,用于显示信息。例如,该处理电路可包含该视频缓存器,并且该视频缓存器用于缓存帧信息,其中,该帧信息包含该预旋转视频内容。此外,该视频缓存器实施为该主处理器的内部缓存器或外部缓存器。
本发明的至少一个实施例提供一种云游戏服务器,用于借助云游戏服务器侧图像方向控制执行客户侧延迟改善。该云游戏服务器可包含至少一个处理器(例如,一个或多个处理器)与耦接上述至少一个处理器的网络接口电路。可安排至少一个处理器控制该云游戏服务器的操作,其中,在该至少一个处理器的控制下,该云游戏服务器执行游戏控制并且选择性执行客户装置的图像旋转,以借助该云游戏服务器侧图像方向控制执行客户侧延迟改善。此外,可安排该网络接口电路透过至少一个网络将云游戏服务器耦接至该客户装置。例如,该客户装置中的至少一个方向相关传感器配置为检测该客户装置的客户装置方向;该客户装置配置为向该云游戏服务器通知该客户装置方向;该云游戏服务器配置为根据该客户装置方向,提前为该客户装置生成云游戏的预旋转视频内容,用于透过视频流输出给该客户装置,其中,该预旋转视频内容对应该客户装置方向;以及该客户装置配置为透过该视频流接收该预旋转视频内容,并且将该预旋转视频内容缓存在视频缓存器中,用于输出至显示面板并且在该显示面板上显示。
本发明方法与相关装置(例如,电子装置中的主处理器、处理电路等)可适当控制电子装置的操作,并且更特别地,可请求云游戏服务器提前为客户装置执行云游戏的视频内容图像旋转,并且将图像旋转任务从客户装置卸载给云游戏服务器,从而改善电子装置的整体性能。例如,对于处于横向模式播放的游戏,客户装置无需旋转已缓存视频数据从而匹配显示方向,并且因此可降低延迟与带宽(bw)消耗。此外,在解决先前技术的问题时,实施本发明实施例不会大大增加额外成本。与传统结构相比,在不引入任何副作用或不太可能引入副作用的情况下,本发明可取得电子装置的最佳性能。
其它实施方式和优点在下面的详细描述中描述。该发明内容并不打算限定本发明。本发明由权利要求书限定。
附图说明
附图说明透过示例而非限制的方式描述本发明,其中,相同的附图标记标识相似组件。应当注意的是,本发明中对一个实施例的不同参考并不一定是相同实施例,并且这种参考意味着至少一个。此外,当结合实施例描述特定特征、结构或特性时,无论是否明确描述,主张本领域技术人员获知结合其他实施例的该特征、结构或特性。
图1是依据本发明第一实施例的电子装置示意图,其中,为了更好理解也描述了云游戏服务器。
图2是依据本发明实施例的借助云游戏服务器侧图像方向控制来执行客户侧延迟优化的方法流程图。
图3描述了依据本发明实施例的图2所示方法的控制方案。
图4描述了依据本发明实施例的图3所示控制方案的许多实施细节。
图5描述了依据本发明另一实施例的图3所示控制方案的几个实施细节。
图6描述了依据本发明另一实施例的图3所示控制方案的许多实施细节。
图7描述了依据本发明另一实施例的图3所示控制方案的许多实施细节。
图8是依据本发明另一实施例的电子装置示意图。
具体实施方式
在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属技术领域的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则。在通篇说明书及权利要求项中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。此外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一个装置耦接于另一装置,则代表该装置可直接电气连接于该另一装置,或透过其它装置或连接手段间接地电气连接至该另一装置。
图1是依据本发明第一实施例的电子装置100的示意图,其中,为了更好理解也描述了云游戏服务器10。电子装置100的示例可包含,但不限于,多功能移动电话、平板电脑、可穿戴装置、一体机与笔记本电脑。可使用电子装置100作为服务器(例如,云游戏服务器10)的客户装置,以向用户提供一个或多个服务,并且特别地,可使用电子装置100作为云游戏服务器10的游戏客户装置,以允许用户玩一个或多个云游戏。如图1的右上角所示,云游戏服务器10可包含总线10b以及可统称为处理器11的至少一个处理器(例如,一个或多个处理器),并且该云游戏服务器10可包含图像处理单元(gpu)12、随机存取存储器(ram)(例如,动态ram(dram)13)、网络接口电路14(为了简化在图1中标为“网络ifckt”),以及视频编码器15(为了简化在图1中标为“venc”),其中,处理器11、gpu12、dram13、网络接口电路140与视频编码器15可通过总线10b彼此耦接。例如,可安排云游戏服务器10的至少一个存储装置(图1中未示出)存储某些程序代码11p。程序代码11p的示例可包含,但不限于,操作系统(os)、一个或多个驱动器以及一个或多个应用。处理器11可从存储装置加载程序代码11p,并且运行程序代码11p以控制云游戏服务器10的操作。在运行程序代码11p的处理器11的控制下,云游戏服务器10可执行游戏控制,更特别地,可为客户装置(例如,电子装置100)执行图像定像控制,以借助云游戏服务器侧图像定像控制来执行客户侧延迟优化(或延迟降低)。
如图1所示,电子装置100可包含处理电路105以及耦接处理电路105的显示面板150,并且处理电路105可包含总线105b、主处理器110(例如,中央处理单元(cpu))以及可统称为方向相关传感器120的至少一个方向相关传感器(例如,一个或多个方向相关传感器),以及可包含ram(例如,dram130)与网络接口电路140(为了简化在图1中标为“网络ifckt”),特别地,主处理器110可包含核心电路112、显示接口电路114(为了简化在图1中标为“显示ifckt”)以及总线接口电路116,并且显示面板150可包含显示接口电路152(为了简化在图1中标为“网络ifckt”)、显示控制器154与显示模块(例如,液晶显示(lcd)模块156),其中,主处理器110、方向相关传感器120、dram130以及网络接口电路140可通过总线105b彼此耦接,并且显示接口电路114与总线接口电路116可按照图1所示的方式耦接核心电路112,但本发明并不局限于此。依据某些实施例,图1所示的电子装置100的结构可多种多样。例如,可将显示模块(例如,lcd模块156)与触摸感应模块(未示出)集成在相同模块,以形成触摸感应显示装置(例如,触摸屏),并且触摸感应显示装置可包含触摸控制器,用于执行触摸控制从而经由触摸感应模块检测用户输入。另外,可安排云游戏服务器10的网络接口电路14与电子装置100的网络接口电路140透过至少一个网络将云游戏服务器10与电子装置100彼此耦接。例如,网络接口电路140可包含遵循几个通信标准的多个无线通信电路(例如,wi-fi电路、移动网络电路等),用于执行电子装置100的无线通信。
处理电路105(例如,主处理器110)与显示面板150可透过显示接口电路114与152彼此耦接,并且显示接口电路114与152可实施为遵照特定标准的接口电路。例如,特定标准可为移动行业处理器接口(mipi)联盟的mipi显示串行接口(dsi)标准,并且显示接口电路114与152可实施为dsi电路。因此,主处理器110(例如,核心电路112)可与显示面板150进行通信,用于执行电子装置100的相关联控制。此外,电子装置100可进一步包含附加电路,例如,功率管理电路、存储接口电路等(未示出),以将执行相关联操作(例如,功率管理、存储交互等)的能力提供给电子装置100。此外,主处理器110(例如,核心电路112)可控制电子装置100的各种操作。例如,主处理器110(例如,核心电路112)上运行的许多程序代码112p可控制电子装置100,以使得电子装置100配备各种功能。程序代码112p的示例可包含,但不限于os、一个或多个驱动器以及一个或多个应用。
根据本实施例,可安排主处理器110执行关于云游戏的交互控制。特别地,可安排核心电路112控制主处理器110,用于控制电子装置100的操作。在核心电路112的控制下,主处理器110可执行电子装置100的显示控制。例如,主处理器110(例如,核心电路112)可提前将显示接口电路114的刷新率设定为目标刷新率,用于控制主处理器110依据默认目标刷新率向显示面板150输出图像,并且当存在需求时可动态执行刷新率调整,其中,可安排显示接口电路114控制从帧缓存器(例如,dram130中的视频缓存器132)向显示面板150输出图像的图像数据的时序,但本发明并不局限于此。此外,可安排显示接口电路114与152将显示面板150与主处理器110耦接,并且从主处理器110向显示面板150发送一个或多个命令以及图像数据。因此,显示面板150可显示电子装置100的信息(例如,图像数据)。
程序代码112p的一个或多个应用可包含云游戏的客户应用(app)。主处理器110(例如,核心电路112)可运行云游戏的客户app,以执行对于云游戏的交互控制。例如,云游戏服务器10可向客户装置(例如,电子装置100)发送云游戏的至少一个视频流。在运行客户app的主处理器110(例如,核心电路112)的控制下,电子装置100可为用户接收并播放云游戏的视频流,其中,视频流可承载云游戏的图像数据(例如,图像帧)以及相关联音频数据。运行客户app的主处理器110(例如,核心电路112)可利用电子装置100的触摸感应模块或触摸屏检测用户控制,例如用户触摸行为(例如,用户使用其手指在触摸感应模块或触摸屏上点击、拖拉等),并且利用网络接口电路140透过网路向云游戏服务器10发送用户控制的用户控制信息。因此,响应于用户控制,云游戏服务器10可改变云游戏的图像数据(例如,图像帧)与相关联音频数据。此外,运行客户app的主处理器110(例如,核心电路112)可利用方向相关传感器120执行电子装置100的方向相关感应,从而分别在多个时间点生成多个方向检测结果,并且利用网络接口电路140向云游戏服务器10发送多个时间点的各个方向检测结果,作为游戏客户方向的实时反馈,其中,多个方向检测结果可分别在这些时间点指示客户装置(例如,电子装置100)的客户装置方向。
如图1所示,可安排显示接口电路114将显示面板150耦接主处理器110,并且可安排总线接口电路116透过总线105b将至少一个元件耦接主处理器110,其中,上述至少一个元件可包含方向相关传感器120、dram130以及网络接口电路140,其中,dram130可包含视频缓存器132,并且因此可被认为是主处理器110的外部缓存器,但本发明并不局限于此。依据许多实施例,可将视频缓存器132集成入主处理器110,并且特别地,可实施为主处理器110的内部缓存器。此外,总线接口电路116可符合特定通信标准,以允许主处理器110与上述至少一个元件(例如,图1所示的方向相关传感器120与dram130,以及视频缓存器132,用于视频缓存器132作为主处理器110的外部缓存器的情况)进行通信。例如,方向相关传感器120、dram130与网络接口电路140可分别在主处理器110的控制下进行工作。此外,视频缓存器132可为ram(例如,dram130)中多个缓存区域的一个。例如,可安排视频缓存器132缓存帧信息。
依据许多实施例,当存在需求时,图1所示的主处理器110中的电路可多种多样。例如,显示接口电路114与总线接口电路116可透过直接连接而彼此耦接。另一示例中,在主处理器110中,可将一个或多个其他元件(例如,用于临时存储待输出给显示面板150的图像数据的帧缓存器)插入显示接口电路114与总线接口电路116之间,并且显示接口电路114与总线接口电路116可透过一个或多个其他元件彼此耦接。
依据许多实施例,方向相关传感器120可包含陀螺仪、磁力仪与摄像头的一个或组合。例如,根据方向相关传感器120的一个或多个感应结果(例如,最新感应结果与历史感应结果),运行客户app的主处理器110(例如,核心电路112)可执行传感器融合,以生成多个方向检测结果,但本发明并不局限于此。对于另一示例,运行客户app的主处理器110(例如,核心电路112)可借助摄像头执行图像检测,特别地,可从摄像头取得用户的脸图像,并且依据该脸图像执行用户的脸检测,以生成多个方向检测结果。
图2是依据本发明实施例的借助云游戏服务器侧图像方向控制来执行客户侧延迟优化的方法流程图。可将该方法应用于图1所示的电子装置100与云游戏服务器10,并且特别地,可将其应用于电子装置100架构中的主处理器110(例如,运行程序代码112p的核心电路112)以及相关联元件(例如,方向相关传感器120、dram130与网络接口电路140),也应用于云游戏服务器10架构中的运行程序代码11p的处理器11与相关联元件(例如,gpu12、dram13、网络接口电路14以及视频编码器15)。
在步骤s10,主处理器110可利用方向相关传感器120,检测客户装置(例如,电子装置100)的客户装置方向。根据该实施例,主处理器110可从方向相关传感器120获取感应信息,并且特别地,可从该方向相关传感器120(例如,运动、位置、地点与环境传感器)收集各种传感信息片段,并且可至少根据传感信息执行计算(例如,传感器融合),以确定该客户装置方向,其中,该传感信息可包含运动感应信息、位置感应信息、定位感应信息与环境感应信息的一个或组合。例如,用户可按照多个预定客户装置方向的一个方向(例如,多个横向的一个或者多个纵向的一个)持有该客户装置(例如,电子装置100),并且主处理器110可检测电子装置100的最新方向。
在步骤s12,主处理器110可利用客户装置(例如,电子装置100)中的网络接口电路140,向云游戏服务器10通知该客户装置方向。根据该实施例,主处理器110可利用网络接口电路140向云游戏服务器10发送方向索引,以向云游戏服务器10通知该客户装置方向,其中,该方向索引可指示该客户装置方向。
在步骤s13,根据该客户装置方向(例如,从电子装置100接收的方向索引),云游戏服务器10(例如,运行程序代码11p的处理器11)可决定是否旋转云游戏的一个或多个图像帧。如果答案为是,进入步骤s14;如果答案为否,进入步骤s24。
在步骤s14,主处理器110可利用云游戏服务器10根据该客户装置方向提前为客户装置(例如,电子装置100)旋转云游戏的视频内容(例如,一个或多个图像帧),从而生成云游戏的预旋转视频内容,例如,对应客户装置方向的预旋转视频内容,以透过视频流输出给客户装置。例如,在视频流期间,云游戏服务器10可通过使用视频编码器15编码该预旋转视频内容,以生成预旋转视频内容的已编码结果。
在步骤s16,主处理器110可利用网络接口电路140透过视频流接收该预旋转视频内容,并且将该预旋转视频内容缓存在该视频缓存器132中,无需旋转视频缓存器132中缓存的预旋转视频内容,用于输出至显示面板150并且在显示面板150上显示。例如,在视频流期间,客户装置(例如,电子装置100)可解码该已编码结果(例如,通过使用主处理器110),以取得预旋转视频内容。
在步骤s24,在无需提前为客户装置(例如,电子装置100)旋转云游戏的视频内容情况下,主处理器110可利用云游戏服务器10依据客户装置方向准备(例如,生成)云游戏的视频内容,用于透过视频流输出至客户装置。例如,在视频流期间,云游戏服务器10可通过使用视频编码器15编码该视频内容,以生成视频内容的已编码结果。
在步骤s26,主处理器110可利用网络接口电路140透过视频流接收视频内容,并且将该视频内容缓存在视频缓存器132中,用于输出至显示面板150并且在显示面板150上显示。例如,在视频流期间,客户装置(例如,电子装置100)可解码该已编码结果(例如,通过使用主处理器110),以取得视频内容。
根据本实施例,可重复图2所示的流程中的某些操作,其中,步骤s13的最新决定结果可引导对应最新决定结果的相关联操作的执行。随着时间流逝,用户可改变持有电子装置100的方式,并且主处理器110可生成指示电子装置100最新方向的最新方向检测结果(例如,最新方向索引),以响应于最新方向检测结果(例如,最新方向索引)使得电子装置100进入该流程的子流程,例如,步骤s13、s14、s16的子流程或者步骤s13、s24、s26的子流程。
为了更好理解,可将该方法描述为图2所示的流程,但本发明并不局限于此。根据某些实施例,可在图2所示的流程中增加、删除或改变一个或多个步骤。
根据某些实施例,不管是否首先生成步骤s14中提到的视频内容(例如,一个或多个视频帧),云游戏服务器10可根据客户装置方向提前为客户装置(例如,电子装置100)生成云游戏的预旋转视频内容,并且可在服务器侧完成旋转动作,以生成对应客户装置方向的预旋转视频内容。上述内容可通过下列方式实现:1)利用云游戏服务器10的gpu12直接画出对应客户装置方向的预旋转视频内容,或者2)首先生成云游戏的视频内容(例如,一个或多个图像帧)并且然后旋转这些视频内容,其中,云游戏服务器10中的旋转器(rot)(例如,云游戏服务器10的特定处理器(例如,主处理器110或gpu12)上运行的程序模块(例如,rot模块)或者云游戏服务器10的专用硬件电路(例如,rot电路))可执行旋转这些视频内容的操作,但本发明并不局限于此。此外,关于图2所示的流程,步骤s14的操作可多种多样。例如,在利用云游戏服务器10根据客户装置方向提前为客户装置(例如,电子装置100)生成云游戏的预旋转视频内容期间,主处理器110可利用云游戏服务器10(例如,gpu12)直接生成对应客户装置方向的预旋转视频内容,无需首先生成云游戏的视频内容(例如,一个或多个图像帧),并且接着旋转视频内容。
图3描述了依据本发明实施例的图2所示方法的控制方案,其中为了更好理解,也描述了具有额外旋转从而增加更多延迟与带宽(bw)消耗的情况。如图3左半部所示,在云游戏服务器侧准备的图像帧与在客户侧显示的图像帧的各个坐标平面的各个源点(简化标为“o”)彼此不同,其中,眼睛符号可指示用户观看游戏客户装置屏幕的方向。对于横向模式播放的游戏,该游戏客户装置通常需要旋转缓存器(尤其是,缓存器的已缓存视频内容,例如该缓存器缓存的所有图像帧),以匹配显示方向,并且因此增加了更多延迟与带宽消耗(简化标为“额外旋转增加更多延迟与bw”)。例如,当旋转缓存器(尤其是,缓存器的已缓存视频内容)时,游戏客户装置必须执行更多操作,例如,更多缓存器的存取(例如,读与写)操作,从而引起游戏控制的更多延迟以及游戏客户装置的一个或多个内部数据路径(例如,缓存器的一个或多个输入/输出(i/o)路径)的更多带宽消耗。因此,可能会存在许多游戏问题,例如,视频落后于音频、用户控制的延迟图像显示等。
如图3右半部所示,基于该实施例的控制方案,在云游戏服务器侧准备的图像帧与在客户侧显示的图像帧的各个坐标平面的各个源点(简化标为“o”)相同,其中,眼睛符号可指示用户观看游戏客户装置(依据该方法工作(例如,电子装置100))的屏幕操作的方向。对于横向模式播放的游戏,该游戏客户装置不需要旋转缓存器(例如,视频缓存器132)(尤其是,缓存器的已缓存视频内容,例如该缓存器缓存的任意图像帧),并且因此降低了延迟与带宽消耗(简化标为“降低延迟与bw”)。例如,在步骤s31,游戏客户装置可向云游戏服务器10发送关于游戏客户方向(例如,最新方向检测结果(例如,最新方向索引))的实时反馈(为了简化标为“方向反馈”)。在游戏渲染与编码期间,云游戏服务器10可利用gpu12执行渲染,以在专用于云游戏的游戏渲染的游戏渲染缓存器(例如,dram13中的缓存区域)中生成云游戏的视频内容,并且更特别地,在步骤s32中,例如,可通过使用处理器11或gpu12,依据游戏客户装置的反馈,预旋转游戏渲染缓存器中的视频内容(例如,上述至少一个视频流的视频流内容)(为了简化标为“预旋转”),并且可进一步利用视频编码器15编码视频内容,以生成视频内容的已编码结果。既然视频内容应已经匹配游戏客户装置的方向,所以在步骤s33,游戏客户装置可直接播放视频内容,无需额外旋转(为了简化标为“无需额外旋转情况下播放”)。因此,可降低延迟与带宽消耗。
根据某些实施例,在云游戏的游戏渲染期间,云游戏服务器10可利用gpu12在游戏渲染缓存器中直接生成云游戏的预旋转视频内容,以响应于游戏客户方向(例如,最新方向检测结果(例如,最新方向索引))的实时反馈,其中,预旋转视频内容对应最新客户装置方向,但本发明并不局限于此。
图4描述了依据本发明实施例的图3所示控制方案的许多实施细节,其中,可将90度方向作为多个横向的示例。拿安卓os作为程序代码112p的os的示例,在程序代码112p中的多层软件模块中的低层软件模块可提供获取当前屏幕方向的功能,如下所示:
//getcurrentscreenorientation
displaydisplay=
((windowmanager)
getsystemservice(window_service)).getdefaultdisplay();
intorientation=display.getorientation();
本发明并不局限于此。例如,对于其他类型os,功能可多种多样。
在步骤s40,客户app可从软件模块的较低层(为了简化在图4中标为“安卓”)获取当前屏幕方向。在运行客户app的主处理器110(例如,核心电路112)的控制下,在步骤s41,游戏客户装置(例如,类似电子装置100的客户装置)可生成方向暗示,以指示当前屏幕方向是游戏客户方向的实时反馈(例如,类似最新方向索引的最新方向检测结果),并且在步骤s42向云游戏服务器10发送方向暗示。此外,在步骤s43,云游戏服务器10可依据方向暗示生成例如预旋转视频内容的已旋转游戏内容(例如,通过使用gpu12生成视频内容并且接着将其进行旋转以生成已旋转游戏内容),以生成预旋转视频内容(为了更好理解标为“rot”),用于视频编码器15进行编码(为了简化标为“venc”),并且可在步骤s44向游戏客户装置发送上述至少一个视频流(例如,在本实施例中承载已旋转游戏内容的视频流),用于在客户侧直接播放。
根据许多实施例,步骤s43的操作可多种多样。例如,在依据方向暗示生成预旋转视频内容期间,云游戏服务器10可利用gpu12直接生成对应当前屏幕方向的预旋转视频内容。
图5描述了依据本发明另一实施例的图3所示控制方案的几个实施细节,其中,可将270度方向作为多个横向的另一示例。除了使用270度方向替换90度方向,步骤s40-s44的操作几乎与图4所示实施例的操作相同。为了简化,不重复本实施例的相似描述细节。
根据许多实施例,在第一时刻,步骤s10中提到的客户装置方向可代表客户装置的第一客户装置方向(例如,90度方向),因此响应于最新方向检测结果(例如,最新方向索引),可执行步骤s14与s16的操作。在第二时刻,在步骤s10,主处理器110可利用方向相关传感器120检测客户装置的第二客户装置方向(例如,270度方向),其中,例如电子装置100的客户装置可已经从第一客户装置方向旋转为第二客户装置方向。接着,在步骤s12,主处理器110可利用网络接口电路140向云游戏服务器10通知第二客户装置方向。因此,进入步骤s13、s14与s16的子流程。更特别地,主处理器110可利用云游戏服务器10根据第二客户装置方向提前为客户装置(例如,电子装置100)旋转云游戏的其他视频内容(例如,对应第二时刻或从第二时刻开始的第二时间段的第二视频内容,而不是对应第一时刻或第一时刻与第二时刻之间第一时间段的第一视频内容),以生成云游戏的其他预旋转视频内容(例如,对应第二时刻或第二时间段的第二预旋转视频内容,而不是对应第一时刻或第一时间段的第一预旋转视频内容),用于通过视频流输出至客户装置,其中,其他预旋转视频内容对应第二客户装置方向。此外,主处理器110可利用网络接口电路140通过视频流接收其他预旋转视频内容,并且将该其他预旋转视频内容缓存在视频缓冲器132中,用于输出至显示面板150并且在显示面板150中进行显示。以图4与图5所示实施例作为示例,这些实施例的第一客户装置方向与第二客户装置方向可属于客户装置的多个横向方向,并且可分别在不同时刻(例如,第一时刻与第二时刻)检测到。
根据许多实施例,利用云游戏服务器10根据第二客户装置方向提前为客户装置(例如,电子装置100)旋转云游戏的其他视频内容以生成云游戏的其他预旋转视频内容的上述操作可多种多样。例如,在利用云游戏服务器10根据第二客户装置方向提前为客户装置(例如,电子装置100)生成云游戏的其他预旋转视频内容(例如,对应第二时刻或第二时间段的第二预旋转视频内容)期间,主处理器110可利用云游戏服务器10(例如,gpu12)直接生成对应第二客户装置方向的其他预旋转视频内容,无需首先生成云游戏的其他视频内容(例如,对应第二时刻或开始于第二时刻的时间段的第二视频内容)以及将其进行旋转。
图6描述了依据本发明另一实施例的图3所示控制方案的许多实施细节,其中,0度方向可作为多个纵向的示例。除了使用0度方向替换90度方向以及可改变云游戏在纵向模式中运行,步骤s40-s42以及s44的操作几乎与图4所示实施例的操作相同。由于在云游戏服务器侧准备的图像帧与在客户侧显示的图像帧的各个坐标平面的各个源点(简化标为“o”)彼此相同,所以无需选装在云游戏侧准备的图像帧,并且因此使用步骤s43’替代步骤s43以对应这种情况。例如,步骤s24所示,云游戏服务器10可依据步骤s43中的方向暗示,利用gpu12生成例如视频内容的未旋转游戏内容,用于视频编码器15进行编码(简化标为“venc”),并且可在步骤s44向游戏客户装置发送上述至少一个视频流(例如,在该实施例中承载不旋转游戏内容的视频流),用于客户侧直接播放。为了简化,不重复该实施例的相似描述细节。
图7描述了依据本发明另一实施例的图3所示控制方案的许多实施细节,其中,可将180度方向作为多个纵向的另一示例。除了使用180度方向替换90度方向以及可改变云游戏在纵向模式中运行,步骤s40-s44的操作几乎与图4所示实施例的操作相同。为了简化,不重复本实施例的相似描述细节。
根据许多实施例,在第一时刻,步骤s10中提到的客户装置方向可代表客户装置的第一客户装置方向(例如,180度方向),因此响应于最新方向检测结果(例如,最新方向索引),可执行步骤s14与s16的操作。在第二时刻,在步骤s10,主处理器110可利用方向相关传感器120检测客户装置的第二客户装置方向(例如,0度方向),其中,例如电子装置100的客户装置可已经从第一客户装置方向旋转为第二客户装置方向。接着,在步骤s12,主处理器110可利用网络接口电路140向云游戏服务器10通知第二客户装置方向。因此,进入步骤s13、s24与s26的子流程。更特别地,主处理器110可利用云游戏服务器10根据第二客户装置方向准备(例如,生成)云游戏的其他视频内容(例如,对应第二时刻或从第二时刻开始的第二时间段的第二视频内容,而不是对应第一时刻或第一时刻与第二时刻之间第一时间段的第一视频内容),无需提前为客户装置(例如,电子装置100)旋转云游戏的其他视频内容,用于通过视频流输出至客户装置。此外,主处理器110可利用网络接口电路140通过视频流接收其他视频内容,并且将该其他视频内容缓存在视频缓冲器132中,用于输出至显示面板150并且在显示面板150中进行显示。以图6与图7所示实施例作为示例,这些实施例的第一客户装置方向与第二客户装置方向可属于客户装置的多个纵向方向,并且可分别在不同时刻(例如,第一时刻与第二时刻)检测到。
图8是依据本发明另一实施例的电子装置示意图。与图1所示结构相比,将内部存储器118插入显示接口电路114与总线接口电路116之间,从而替换上述帧缓冲器临时存储待输出至显示面板150的图像数据。响应于结构改变,相应改变许多标号。例如,可分别使用主处理器210、处理电路205以及电子装置200代替上述主处理器110、处理电路105以及电子装置100。为了简化,不重复本实施例的相似描述细节。
虽然已经透过示例并且按照优选实施方式描述了本发明,但是要理解的是,本发明不限于此。熟悉该技术的人仍然能够在不脱离本发明的范围与精神的情况下进行各种变更与修改。因此,本发明的范围应当由所附的权利要求书及其等同物限定与保护。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除