CN113946402A - 基于渲染分离的云手机加速方法、系统、设备及存储介质 - Google Patents

基于渲染分离的云手机加速方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN113946402A
CN113946402A CN202111321920.XA CN202111321920A CN113946402A CN 113946402 A CN113946402 A CN 113946402A CN 202111321920 A CN202111321920 A CN 202111321920A CN 113946402 A CN113946402 A CN 113946402A
Authority
CN
China
Prior art keywords
cloud
rendering
mobile terminal
rendered
updated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111321920.XA
Other languages
English (en)
Inventor
林健
苏军根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202111321920.XA priority Critical patent/CN113946402A/zh
Publication of CN113946402A publication Critical patent/CN113946402A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72439User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for image or video messaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

本发明提供了基于渲染分离的云手机加速方法、系统、设备及存储介质,其中,方法包括:移动终端接收实时操作指令,并发送到云平台;云平台通过虚拟机运行实时操作指令;虚拟机根据运行实时操作指令的结果,进行前期渲染处理,并仅将待后期更新并且渲染的部分图元信息反馈移动终端;以及移动终端根据接收的待后期更新并且渲染的部分图元信息进行后期渲染处理并显示。本发明能够通过将画面渲染过程分离到云平台与终端分别处理,解决视频二次编码、网络传输视频流码率高的问题,提升云手机用户体验。

Description

基于渲染分离的云手机加速方法、系统、设备及存储介质
技术领域
本发明涉及网络信息交互领域,具体地说,涉及基于渲染分离的云手机加速方法、系统、设备及存储介质。
背景技术
云手机(Cloudphone),就是将云计算技术运用于网络终端服务,通过云服务器实现云服务的手机。其实就是深度结合了网络服务的智能手机,这类手机凭借自带的系统以及厂商架设的网络终端可以通过网络实现众多的功能。
图1是现有技术的基于渲染分离的云手机加速方法的流程图。如图1所示,通过将云手机的画面渲染过程分离到云平台与终端分别处理,移除不必要的二次编码和解码过程,从而降低云手机业务的显示与使用时延,可以实现在相同的网络状态下,提升云手机办公业务、游戏业务的用户体验;
现有云手机业务需要云端将虚拟手机的画面进行二次编码后再传给手机端进行解码播放,存在以下问题:
1)使用时延高:云手机的画面呈现需要经历虚拟机指令处理、画面渲染、画面捕抓、视频编码、网络传输、视频解码6个步骤,步骤产生的时延会导致用户感受到明显的延迟与卡顿,导致游戏与办公体验较差;
2)网络影响严重:需网络传输的视频码率较高,网络抖动导致的传输卡顿、网络丢包会导致终端显示的画面严重卡顿或花屏,影响用户体验;
有鉴于此,本发明提出了一种基于渲染分离的云手机加速方法、系统、设备及存储介质。
需要说明的是,上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
针对现有技术中的问题,本发明的目的在于提供基于渲染分离的云手机加速方法、系统、设备及存储介质,克服了现有技术的困难,能够通过将画面渲染过程分离到云平台与终端分别处理,解决视频二次编码、网络传输视频流码率高的问题,提升云手机用户体验。
本发明的实施例提供一种基于渲染分离的云手机加速方法,包括以下步骤:
移动终端接收实时操作指令,并发送到云平台;
所述云平台通过虚拟机运行实时操作指令;
所述虚拟机根据运行所述实时操作指令的结果,进行前期渲染处理,并仅将待后期更新并且渲染的部分图元信息反馈所述移动终端;以及
所述移动终端根据接收的待后期更新并且渲染的部分图元信息进行后期渲染处理并显示。
优选地,所述移动终端接收实时操作指令,包括
所述移动终端收集用户基于该移动终端进行的输入操作,所述输入操作至少包括点击操作和拖动操作。
优选地,所述云平台通过虚拟机运行实时操作指令,包括:
所述云平台通过服务器中的虚拟机模拟移动终端的系统程序,处理所述实时操作指令;
基于处理结果向图像渲染器输出待渲染的矢量数据。
优选地,所述图像渲染器为所述服务器的图形处理器。
优选地,所述基于处理结果向图像渲染器输出待渲染的矢量数据,包括:
所述虚拟机将待渲染的画面数据写入顶点缓冲区和数据对象。
优选地,所述虚拟机根据运行所述实时操作指令的结果,进行前期渲染处理,并仅将待后期更新并且渲染的部分图元信息反馈所述移动终端,包括:
所述图像渲染器根据顶点缓冲区和数据对象渲染顶点和纹理数据;
所述图像渲染器根据与上一帧的图像变化计算本帧的图元,装备需要渲染的图元;
所述图像渲染器将需要更新的图元信息传输到所述移动终端,所述图元信息至少包括图元的顶点坐标、颜色与纹理。
优选地,所述图像渲染器根据与上一帧的图像变化计算本帧的图元,装备需要渲染的图元,包括:
所述图像渲染器通过比对本帧相对于上一帧的图像变化,来计算本帧中与上一帧不同的图元作为待更新图元,并在本帧中仅装备所述待更新图元。
优选地,所述移动终端根据接收的待后期更新并且渲染的部分图元信息进行后期渲染处理并显示,包括:
所述移动终端至少根据本帧的待更新图元,计算需要渲染的更新的图像;
移动终端将图元信息光栅化后,进行片段着色;
所述片段着色器对所述片段进行渲染上色;
将渲染好的图像写入帧数据区,并通过所述移动终端的屏幕展示。
优选地,所述移动终端至少根据本帧的待更新图元,计算需要渲染的更新的图像,包括:
所述移动终端根据接收到的本帧的待更新的图元信息与上帧的图元信息进行对比,在本帧的待更新并且渲染的图元信息中筛选出两帧存在差别的图元信息,根据筛选的图元信息进行图元信息的更新;
所述移动终端将图元信息光栅化后,进行片段着色,包括:
所述移动终端将图元信息转化为一组二维的待绘制像素的片段,并发送到片段着色器。
本发明的实施例还提供一种基于渲染分离的云手机加速系统,用于实现上述的基于渲染分离的云手机加速方法,所述基于渲染分离的云手机加速系统包括:
指令发送模块,移动终端接收实时操作指令,并发送到云平台。
指令运行模块,所述云平台通过虚拟机运行实时操作指令。
前期渲染模块,所述虚拟机根据运行所述实时操作指令的结果,进行前期渲染处理,并仅将待后期更新并且渲染的部分图元信息反馈所述移动终端。以及
后期渲染模块,所述移动终端根据接收的待后期更新并且渲染的部分图元信息进行后期渲染处理并显示。
本发明的实施例还提供一种基于渲染分离的云手机加速设备,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述基于渲染分离的云手机加速方法的步骤。
本发明的实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现上述基于渲染分离的云手机加速方法的步骤。
本发明的目的在于提供基于渲染分离的云手机加速方法、系统、设备及存储介质,能够通过将画面渲染过程分离到云平台与终端分别处理,解决视频二次编码、网络传输视频流码率高的问题,提升云手机用户体验。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是现有技术的基于渲染分离的云手机加速方法的流程图。
图2是本发明的基于渲染分离的云手机加速方法的一种实施例的流程图。
图3是本发明的基于渲染分离的云手机加速方法的另一种实施例的流程图。
图4是本发明的基于渲染分离的云手机加速方法的实施过程原理图。
图5是本发明的基于渲染分离的云手机加速方法的示例图示意图。
图6是本发明的基于渲染分离的云手机加速系统的一种实施例的模块示意图。
图7是本发明的基于渲染分离的云手机加速系统的另一种实施例的模块示意图。
图8是本发明的基于渲染分离的云手机加速系统运行的示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本申请所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用系统,本申请中的各项细节也可以根据不同观点与应用系统,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面以附图为参考,针对本申请的实施例进行详细说明,以便本申请所属技术领域的技术人员能够容易地实施。本申请可以以多种不同形态体现,并不限定于此处说明的实施例。
在本申请的表示中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的表示意指结合该实施例或示例表示的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,表示的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本申请中表示的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于表示目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的表示中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
为了明确说明本申请,省略与说明无关的器件,对于通篇说明书中相同或类似的构成要素,赋予了相同的参照符号。
在通篇说明书中,当说某器件与另一器件“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种器件“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素排除在外,而是意味着可以还包括其它构成要素。
当说某器件在另一器件“之上”时,这可以是直接在另一器件之上,但也可以在其之间伴随着其它器件。当对照地说某器件“直接”在另一器件“之上”时,其之间不伴随其它器件。
虽然在一些实例中术语第一、第二等在本文中用来表示各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一接口及第二接口等表示。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
此处使用的专业术语只用于言及特定实施例,并非意在限定本申请。此处使用的单数形态,只要语句未明确表示出与之相反的意义,那么还包括复数形态。在说明书中使用的“包括”的意义是把特定特性、区域、整数、步骤、作业、要素及/或成份具体化,并非排除其它特性、区域、整数、步骤、作业、要素及/或成份的存在或附加。
虽然未不同地定义,但包括此处使用的技术术语及科学术语,所有术语均具有与本申请所属技术领域的技术人员一般理解的意义相同的意义。普通使用的字典中定义的术语追加解释为具有与相关技术文献和当前提示的内容相符的意义,只要未进行定义,不得过度解释为理想的或非常公式性的意义。
图2是本发明的基于渲染分离的云手机加速方法的一种实施例的流程图。如图2所示,本发明的基于渲染分离的云手机加速方法,本发明涉及视频编码、泛智能终端领域,是一种基于渲染分离实现云手机加速的方法。本发明的流程包括:
S110、移动终端接收实时操作指令,并发送到云平台。
S120、云平台通过虚拟机运行实时操作指令。云平台接收虚拟机的画面渲染指令,并将顶点缓冲区和数据对象中的数据进行顶点渲染和纹理渲染操作。
S130、虚拟机根据运行实时操作指令的结果,进行前期渲染处理,并将待后期渲染的图元信息反馈移动终端。根据渲染结果,将本帧所需的图元和上一帧的图元进行对比,计算所需更新的图元,仅将本帧中与上一帧不同的图元作为需要更新的图元,反馈给移动终端,而本帧中与上一帧相同的图元则不在回传移动终端。也就是说,云平台只将需要更新的图元信息发送到手机,大大减少了不要的数据回转,其中,图元信息包括图元的顶点坐标、颜色与纹理;云平台只需传输更新/改变的图元信息。
S140、移动终端根据接收的待后期更新并且渲染的部分图元信息进行后期渲染处理并显示。在手机接收到更新的图元后,进行光栅化、片段着色、写帧数据区、画面展示:手机在接收到更新的图元信息后,存入数据缓冲区;根据更新的图元信息,进行光栅化、片段着色,更新渲染画面;将渲染好的画面存入帧数据区,并通过手机屏幕进行画面展示。
本发明中的移动终端主要是移动电话、智能手机等,还可以包括具有移动通讯能力的平板电脑、笔记本电脑等,不以此为限。本发明中的渲染是CG的最后一道工序(当然,除了后期制作)也是最终使你图像符合你的3D场景的阶段。渲染有多种软件,如:各CG软件自带渲染引擎,还有诸如RenderMan等。建筑设计、动画制作等利用3DSMAX、MAYA等软件制作好模型、动画帧之后,将所设计内容利用软件本身或者辅助软件(lightscape、vray等)制作成最终效果图或者动画的过程。数字影片的后期处理,对录制完成的数字影片进行了剪接、加效果、加字幕、音乐等后期制作,当生成影片时需要将后加入的素材融合到影片中并压缩成为影片最终格式。这个一般都是这样,只是因环境的不同而不同。
本发明中的云平台端不再完成所有的渲染生成视频流,而是仅仅进行前期渲染处理:云端负责画面渲染过程中的顶点渲染、纹理计算、图元装配,终端负责光栅化、片段着色和帧处理步骤,通过将画面渲染分离到云端与手机端分别处理,实现云手机画面的展示加速,从而降低云手机业务的使用时延和带宽需求。
为了解决现有技术的问题,本专利提出基于渲染分离的云手机加速方法,通过将画面渲染过程分离到云平台与终端分别处理,解决视频二次编码、网络传输视频流码率高的问题,提升云手机用户体验。本专利方法可应用于云手机、云终端领域,在不额外提升网络带宽、改变网络连接状态的前提下降低云手机、云终端业务的使用时延,提升用户体验。
图3是本发明的基于渲染分离的云手机加速方法的另一种实施例的流程图。如图3所示,该基于渲染分离的云手机加速方法,在图1实施例中步骤S110、S120、S130、S140的基础上,通过S121、S122替换了步骤S120,通过S131、S132、S133替换了步骤S120,通过S141、S142、S143、S144替换了步骤S140,以下针对每个步骤进行说明:
S110、移动终端接收实时操作指令,并发送到云平台。本实施例中,移动终端收集用户基于该移动终端进行的输入操作,输入操作至少包括点击操作和拖动操作,但不以此为限。
S121、云平台通过服务器中的虚拟机模拟移动终端的系统程序,处理实时操作指令。
S122、基于处理结果向图像渲染器输出待渲染的矢量数据,虚拟机将待渲染的画面数据写入顶点缓冲区和数据对象。图像渲染器为服务器的图形处理器。图形处理器(英语:graphicsprocessingunit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时GPU所采用的核心技术有硬件T&L(几何转换和光照处理)、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬件T&L技术可以说是GPU的标志。
S131、图像渲染器根据顶点缓冲区和数据对象渲染顶点和纹理数据。
S132、图像渲染器根据与上一帧的图像变化计算本帧的图元,装备需要渲染的图元。图像渲染器通过比对本帧相对于上一帧的图像变化,来计算本帧中与上一帧不同的图元作为待更新图元,并在本帧中仅装备待更新图元。
S133、图像渲染器仅将待后期更新并且渲染的部分图元信息反馈移动终端,所述图元信息包括图元的顶点坐标、颜色与纹理。需要注意的是,不同于现有技术中图像渲染器完成视频流后传输给移动终端,本发明中的图像渲染器主要完成渲染过程中的顶点渲染、纹理计算、图元装配,而终端负责光栅化、片段着色和帧处理步骤,所以,图像渲染器传输到移动终端的待渲染的图元信息是仅仅完成了顶点渲染、纹理计算、图元装配的数据信息,并非具体的图像或者视频流,从而大大降低了计算量和数据传输的体量,也降低了对于传输带宽的要求,降低了整体成本,提升了渲染的反馈速度。
S141、移动终端根据接收到的本帧的待更新并且渲染的图元信息与上帧的图元信息进行对比,在本帧的待更新并且渲染的图元信息中筛选出两帧存在差别的图元信息,根据筛选的图元信息进行图元信息的更新。
S142、移动终端将图元信息转化为一组二维的待绘制像素的片段,并发送到片段着色器。
S143、片段着色器对片段进行渲染上色。以及
S144、将渲染好的图像写入帧数据区,并通过移动终端的屏幕展示。
本专利提出一种基于渲染分离实现云手机加速的方法,云端负责画面渲染过程中的顶点渲染、纹理计算、图元装配,终端负责光栅化、片段着色和帧处理步骤,通过将画面渲染分离到云端与手机端分别处理,实现云手机画面的展示加速,从而降低云手机业务的使用时延和带宽需求
图4是本发明的基于渲染分离的云手机加速方法的实施过程原理图。图5是本发明的基于渲染分离的云手机加速方法的示例图示意图。如图4和5所示,本发明的一种具体实施过程如下:
通过现有方法(图1)与本发明(图4)的对比可知,本发明的具体流程如下:
现有方法主要通过:
(1)平台端处理指令后,渲染画面后进行视频编码。
(2)终端收到视频后进行解码播放。
本发明主要通过:
(1)平台端处理指令后,进行第一部分的画面渲染,渲染顶点与纹理,并将渲染结果发送到终端。
(2)终端进行第二部分的画面渲染,完成光栅化、片段着色、帧处理后展示。
由于现有技术是平台端完成视频流以后再回传,则很多情况下,本真回传的部分信息与上一阵的部分信息是重复的,造成了带宽的浪费,也拖延了云手机的速度反馈。而本发明中,由于平台端只回传部分发生了变化,需要更新并且重新渲染的图元,所以大大减少了带宽,在手机端也只需要对部分图元进行后期渲染,这种新的分布式渲染的方式能够大大缩短了反应延迟,明显提升云手机的速度反馈,提升用户体验。
本专利方案一种基于渲染分离实现云手机加速的系统架构可以主要包含云平台的虚拟机、图像渲染器和手机端的指令收集模块、图像渲染器。
在云平台端:
(1)虚拟机:通过x86/ARM服务器模拟的Android手机,处理真实手机的用户指令,根据用户输入发生的时间,继续时序生成对应的基于时序的矢量数据,并向图像渲染器输出待渲染的矢量数据。
(2)图像渲染器:服务器的GPU,接收虚拟机传输的待渲染的矢量数据,完成顶点和纹理渲染。
在手机端:
(3)指令手机:收集用户在真实手机的输入(如点击、拖动等操作),并上传给云平台虚拟机处理。
(4)图像渲染器:接收云平台端发送、更新的顶点和纹理信息,并进行光栅化、片段着色和帧处理,渲染完成后显示给用户。
由于两者的实施过程的区别,,造成通过实施本发明后,用户感知时延T2时长会远远小于现有技术中用户感知时延T1的时长。
本专利方案一种基于渲染分离实现云手机加速的方法分3步完成,包括虚拟机指令处理、云平台的画面渲染流程和终端的画面渲染流程,具体流程见图5:
第一步:虚拟机指令处理
1)指令收集:手机上的指令收集模块收集用户点击、拖动等指令,上报到云平台。
2)指令处理:云平台虚拟手机处理指令,并将待渲染的画面数据写入顶点缓冲区和数据对象。
第二步:平台完成画面渲染的前半过程
1)顶点着色、纹理计算:GPU根据顶点缓冲区和数据对象渲染顶点和纹理数据。
2)图元变换反馈、图元装配:根据与上一帧的图像变化计算本帧的图元,装备需要渲染的图元。
3)传输图元信息:将待渲染的图元信息传输到手机端。
第三步:终端完成画面渲染的后半过程
1)更新图元信息:更新本帧与上帧差别的图元信息,计算需要渲染的更新的图像。
2)光栅化、片段着色:将图元信息转化为一组二维的片段,片段代表需要绘制的像素,并交给片段着色器上色。
3)写帧数据区、画面展示:将渲染好的图像写入帧数据区,并通过屏幕展示。
本发明提供了基于渲染分离实现云手机加速的方法,该方法的实施例如下:
(1)虚拟机指令处理:从手机端收集用户的操作指令,如点击、拖动操作;将收集到的指令传输到云平台虚拟机;虚拟机执行指令,更新虚拟手机的画面;虚拟机将所待渲染的画面数据写入画面渲染器的顶点缓冲区和数据对象,如:
从而更新画面中的矩形(坐标:
[(300,300),(600,300),(300,700),(600,700)])变更为绿色;
(2)平台完成画面渲染的前半过程:通过顶点着色、纹理计算:GPU根据顶点缓冲区和数据对象渲染顶点和纹理数据:
此时,四个顶点:(300,300),(600,300),(300,700),(600,700);
颜色:绿色;
纹理:无渐变;
利用图元变换反馈、图元装配:根据与上一帧的图像变化计算本帧的图元,装备需要渲染的图元:
变换顶点:(300,300),(600,300),(300,700),(600,700);
变换图元:矩形、绿色、无渐变
完成上述之后,传输图元信息:将待渲染的图元信息传输到手机端。
(3)手机端完成画面渲染的后半过程:更新图元信息:更新本帧与上帧差别的图元信息,计算需要渲染的更新的图像:
变换图元:矩形[(300,300),(600,300),(300,700),(600,700)]、绿色、无渐变
利用光栅化、片段着色:将图元信息转化为一组二维的片段,片段代表需要绘制的像素,并交给片段着色器上色;
光栅化:像素点从[(300,300),(600,300),(300,700),(600,700)]
着色:绿色、无渐变
最后,写帧数据区、画面展示:将渲染好的图像写入帧数据区,并通过屏幕展示。
本专利提出一种基于渲染分离实现云手机加速的方法,将画面渲染过程分成云平台与终端两部分进行计算,云平台负责顶点与纹理计算、终端负责光栅化与着色,从而降低了网络传输要求,降低了业务时延,保证画面流畅,满足用户对云手机上进行游戏、办公的用户体验要求,具有以下创新和优点:
云平台与终端之间无需传输视频流,只需更新变换的图元信息,降低了网络带宽与稳定性的要求,保证云手机画面的流畅性;
无需云平台进行二次视频编码,云平台与终端共同实现一次画面渲染,不再需要画面捕抓与视频编码,有效减低时延,提升云手机业务的操作流畅性。
图6是本发明的基于渲染分离的云手机加速系统的一种实施例的模块示意图。本发明的基于渲染分离的云手机加速系统,如图6所示,包括但不限于:
指令发送模块51,移动终端接收实时操作指令,并发送到云平台。
指令运行模块52,云平台通过虚拟机运行实时操作指令。
前期渲染模块53,虚拟机根据运行实时操作指令的结果,进行前期渲染处理,并仅将待后期更新并且渲染的部分图元信息反馈移动终端。以及
后期渲染模块54,移动终端经过前期渲染处理的部分图元信息进行后期渲染处理并显示。
上述模块的实现原理参见基于渲染分离的云手机加速方法中的相关介绍,此处不再赘述。
本发明的基于渲染分离的云手机加速系统能够通过将画面渲染过程分离到云平台与终端分别处理,解决视频二次编码、网络传输视频流码率高的问题,提升云手机用户体验。
图7是本发明的基于渲染分离的云手机加速系统的另一种实施例的模块示意图。如图7所示,在图6所示装置实施例的基础上,本发明的基于混合加密的登录认证系统,通过模拟处理模块521、数据输出模块522替换了指令运行模块52。通过数据渲染模块531、图元装备模块532、图元传输模块533替换了前期渲染模块53。通过更新确认模块541、片段转化模块542、渲染上色模块543、图像写入模块544,替换了后期模块54。以下针对每个模块进行说明:
指令发送模块51,移动终端接收实时操作指令,并发送到云平台。
模拟处理模块521,云平台通过服务器中的虚拟机模拟移动终端的系统程序,处理实时操作指令。
数据输出模块522,基于处理结果向图像渲染器输出待渲染的矢量数据。
数据渲染模块531,图像渲染器根据顶点缓冲区和数据对象渲染顶点和纹理数据。
图元装备模块532,图像渲染器根据与上一帧的图像变化计算本帧的图元,装备需要渲染的图元。图像渲染器通过比对本帧相对于上一帧的图像变化,来计算本帧中与上一帧不同的图元作为待更新图元,并在本帧中仅装备待更新图元。
图元传输模块533,图像渲染器将待渲染的图元信息传输到移动终端。
更新确认模块541,移动终端至少根据本帧的图元信息,计算需要渲染的更新的图像。
片段转化模块542,移动终端将图元信息转化为一组二维的待绘制像素的片段,并发送到片段着色器。
渲染上色模块543,片段着色器对片段进行渲染上色。以及
图像写入模块544,将渲染好的图像写入帧数据区,并通过移动终端的屏幕展示。
上述模的实现原理参见基于渲染分离的云手机加速方法中的相关介绍,此处不再赘述。
本发明的基于渲染分离的云手机加速系统能够通过将画面渲染过程分离到云平台与终端分别处理,解决视频二次编码、网络传输视频流码率高的问题,提升云手机用户体验。
本发明实施例还提供一种基于渲染分离的云手机加速设备,包括处理器。存储器,其中存储有处理器的可执行指令。其中,处理器配置为经由执行可执行指令来执行的基于渲染分离的云手机加速方法的步骤。
如上所示,该实施例本发明的基于渲染分离的云手机加速系统能够通过将画面渲染过程分离到云平台与终端分别处理,解决视频二次编码、网络传输视频流码率高的问题,提升云手机用户体验。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
图8是本发明的基于渲染分离的云手机加速设备的结构示意图。下面参照图8来描述根据本发明的这种实施方式的电子设备600。图8显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元610可以执行如图2中所示的步骤。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:处理系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,程序被执行时实现的基于渲染分离的云手机加速方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
如上所示,该实施例本发明的基于渲染分离的云手机加速系统能够通过将画面渲染过程分离到云平台与终端分别处理,解决视频二次编码、网络传输视频流码率高的问题,提升云手机用户体验。
根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明处理的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上,本发明的目的在于提供基于渲染分离的云手机加速方法、系统、设备及存储介质,能够通过将画面渲染过程分离到云平台与终端分别处理,解决视频二次编码、网络传输视频流码率高的问题,提升云手机用户体验。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (12)

1.一种基于渲染分离的云手机加速方法,其特征在于,包括:
移动终端接收实时操作指令,并发送到云平台;
所述云平台通过虚拟机运行实时操作指令;
所述虚拟机根据运行所述实时操作指令的结果,进行前期渲染处理,并仅将待后期更新并且渲染的部分图元信息反馈所述移动终端;以及
所述移动终端根据接收的待后期更新并且渲染的部分图元信息进行后期渲染处理并显示。
2.根据权利要求1所述的基于渲染分离的云手机加速方法,其特征在于,所述移动终端接收实时操作指令,包括
所述移动终端收集用户基于该移动终端进行的输入操作,所述输入操作至少包括点击操作和拖动操作。
3.根据权利要求1所述的基于渲染分离的云手机加速方法,其特征在于,所述云平台通过虚拟机运行实时操作指令,包括:
所述云平台通过服务器中的虚拟机模拟移动终端的系统程序,处理所述实时操作指令;
基于处理结果向图像渲染器输出待渲染的矢量数据。
4.根据权利要求3所述的基于渲染分离的云手机加速方法,其特征在于,所述图像渲染器为所述服务器的图形处理器。
5.根据权利要求3所述的基于渲染分离的云手机加速方法,其特征在于,所述基于处理结果向图像渲染器输出待渲染的矢量数据,包括:
所述虚拟机将待渲染的画面数据写入顶点缓冲区和数据对象。
6.根据权利要求3所述的基于渲染分离的云手机加速方法,其特征在于,所述虚拟机根据运行所述实时操作指令的结果,进行前期渲染处理,并仅将待后期更新并且渲染的部分图元信息反馈所述移动终端,包括:
所述图像渲染器根据顶点缓冲区和数据对象渲染顶点和纹理数据;
所述图像渲染器根据与上一帧的图像变化计算本帧的图元,装备需要渲染的图元;
所述图像渲染器将需要更新的图元信息传输到所述移动终端,所述图元信息至少包括图元的顶点坐标、颜色与纹理。
7.根据权利要求6所述的基于渲染分离的云手机加速方法,其特征在于,所述图像渲染器根据与上一帧的图像变化计算本帧的图元,装备需要渲染的图元,包括:
所述图像渲染器通过比对本帧相对于上一帧的图像变化,来计算本帧中与上一帧不同的图元作为待更新图元,并在本帧中仅装备所述待更新图元。
8.根据权利要求7所述的基于渲染分离的云手机加速方法,其特征在于,所述移动终端根据接收的待后期更新并且渲染的部分图元信息进行后期渲染处理并显示,包括:
所述移动终端至少根据本帧的待更新图元,计算需要渲染的更新的图像;
移动终端将图元信息光栅化后,进行片段着色;
所述片段着色器对所述片段进行渲染上色;
将渲染好的图像写入帧数据区,并通过所述移动终端的屏幕展示。
9.根据权利要求1所述的基于渲染分离的云手机加速方法,其特征在于,所述移动终端至少根据本帧的待更新图元,计算需要渲染的更新的图像,包括:
所述移动终端根据接收到的本帧的待更新的图元信息与上帧的图元信息进行对比,在本帧的待更新并且渲染的图元信息中筛选出两帧存在差别的图元信息,根据筛选的图元信息进行图元信息的更新;
所述移动终端将图元信息光栅化后,进行片段着色,包括:
所述移动终端将图元信息转化为一组二维的待绘制像素的片段,并发送到片段着色器。
10.一种基于渲染分离的云手机加速系统,其特征在于,包括:
指令发送模块,移动终端接收实时操作指令,并发送到云平台;
指令运行模块,所述云平台通过虚拟机运行实时操作指令;
前期渲染模块,所述虚拟机根据运行所述实时操作指令的结果,进行前期渲染处理,并仅将待后期更新并且渲染的部分图元信息反馈所述移动终端;以及
后期渲染模块,所述移动终端根据接收的待后期更新并且渲染的部分图元信息进行后期渲染处理并显示。
11.一种基于渲染分离的云手机加速设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至9任意一项所述基于渲染分离的云手机加速方法的步骤。
12.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现权利要求1至9任意一项所述基于渲染分离的云手机加速方法的步骤。
CN202111321920.XA 2021-11-09 2021-11-09 基于渲染分离的云手机加速方法、系统、设备及存储介质 Pending CN113946402A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111321920.XA CN113946402A (zh) 2021-11-09 2021-11-09 基于渲染分离的云手机加速方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111321920.XA CN113946402A (zh) 2021-11-09 2021-11-09 基于渲染分离的云手机加速方法、系统、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113946402A true CN113946402A (zh) 2022-01-18

Family

ID=79336912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111321920.XA Pending CN113946402A (zh) 2021-11-09 2021-11-09 基于渲染分离的云手机加速方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113946402A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827186A (zh) * 2022-02-25 2022-07-29 阿里巴巴(中国)有限公司 云应用处理方法和系统
CN114866802A (zh) * 2022-04-14 2022-08-05 青岛海尔科技有限公司 视频流的发送方法和装置、存储介质及电子装置
CN115022678A (zh) * 2022-05-30 2022-09-06 中国电信股份有限公司 图像处理方法、系统、装置、设备及存储介质
CN115278301A (zh) * 2022-07-27 2022-11-01 超聚变数字技术有限公司 视频处理方法、系统及设备
CN115439586A (zh) * 2022-10-27 2022-12-06 腾讯科技(深圳)有限公司 数据处理方法、设备、存储介质及计算机程序产品
CN116757911A (zh) * 2023-03-30 2023-09-15 上海艾特海浦网络科技有限公司 基于云储存的智能渲染反馈系统
CN116828215A (zh) * 2023-08-30 2023-09-29 湖南马栏山视频先进技术研究院有限公司 一种降低本地算力负荷的视频渲染方法及系统
CN114866802B (zh) * 2022-04-14 2024-04-19 青岛海尔科技有限公司 视频流的发送方法和装置、存储介质及电子装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827186A (zh) * 2022-02-25 2022-07-29 阿里巴巴(中国)有限公司 云应用处理方法和系统
CN114866802A (zh) * 2022-04-14 2022-08-05 青岛海尔科技有限公司 视频流的发送方法和装置、存储介质及电子装置
CN114866802B (zh) * 2022-04-14 2024-04-19 青岛海尔科技有限公司 视频流的发送方法和装置、存储介质及电子装置
CN115022678A (zh) * 2022-05-30 2022-09-06 中国电信股份有限公司 图像处理方法、系统、装置、设备及存储介质
CN115278301A (zh) * 2022-07-27 2022-11-01 超聚变数字技术有限公司 视频处理方法、系统及设备
CN115278301B (zh) * 2022-07-27 2023-12-22 河南昆仑技术有限公司 视频处理方法、系统及设备
CN115439586A (zh) * 2022-10-27 2022-12-06 腾讯科技(深圳)有限公司 数据处理方法、设备、存储介质及计算机程序产品
CN116757911A (zh) * 2023-03-30 2023-09-15 上海艾特海浦网络科技有限公司 基于云储存的智能渲染反馈系统
CN116757911B (zh) * 2023-03-30 2024-02-13 上海艾特海浦网络科技有限公司 基于云储存的智能渲染反馈系统
CN116828215A (zh) * 2023-08-30 2023-09-29 湖南马栏山视频先进技术研究院有限公司 一种降低本地算力负荷的视频渲染方法及系统
CN116828215B (zh) * 2023-08-30 2023-11-14 湖南马栏山视频先进技术研究院有限公司 一种降低本地算力负荷的视频渲染方法及系统

Similar Documents

Publication Publication Date Title
CN113946402A (zh) 基于渲染分离的云手机加速方法、系统、设备及存储介质
US10334238B2 (en) Method and system for real-time rendering displaying high resolution virtual reality (VR) video
CN110351592B (zh) 动画呈现方法、装置、计算机设备和存储介质
US7450129B2 (en) Compression of streams of rendering commands
CN106611435B (zh) 动画处理方法和装置
CN109600666B (zh) 游戏场景中的视频播放方法、装置、介质以及电子设备
CN1856819B (zh) 通过分布式应用程序的图形数据的网络传输的系统和方法
US9619916B2 (en) Method for transmitting digital scene description data and transmitter and receiver scene processing device
JP4193990B2 (ja) スケーラブルな高性能3dグラフィックス
US8253732B2 (en) Method and system for remote visualization client acceleration
CN112714357B (zh) 视频播放方法、视频播放装置、电子设备和存储介质
CN108668168B (zh) 基于Unity 3D的安卓VR视频播放器及其设计方法
CN114025219A (zh) 增强现实特效的渲染方法、装置、介质及设备
US10460418B2 (en) Buffer index format and compression
US11468629B2 (en) Methods and apparatus for handling occlusions in split rendering
CN113838184A (zh) 渲染方法、设备以及系统
WO2021249358A1 (zh) 渲染方法、设备以及系统
CN102682465B (zh) 3d格式转换系统和方法
CN115699090A (zh) 多平面图像压缩
WO2023160041A1 (zh) 图像渲染方法、装置、计算机设备、计算机可读存储介质以及计算机程序产品
CN114222185B (zh) 视频播放方法、终端设备及存储介质
CN115988265A (zh) 一种显示画面的渲染方法、装置和终端设备
CN116055540B (zh) 虚拟内容的显示系统、方法、设备及计算机可读介质
EP4290868A1 (en) 3d object streaming method, device, and program
WO2022135050A1 (zh) 渲染方法、设备以及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination