CN112843676B - 数据处理方法、装置、终端、服务器及存储介质 - Google Patents

数据处理方法、装置、终端、服务器及存储介质 Download PDF

Info

Publication number
CN112843676B
CN112843676B CN202110047154.6A CN202110047154A CN112843676B CN 112843676 B CN112843676 B CN 112843676B CN 202110047154 A CN202110047154 A CN 202110047154A CN 112843676 B CN112843676 B CN 112843676B
Authority
CN
China
Prior art keywords
target
video picture
frame video
cloud application
target frame
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.)
Active
Application number
CN202110047154.6A
Other languages
English (en)
Other versions
CN112843676A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110047154.6A priority Critical patent/CN112843676B/zh
Publication of CN112843676A publication Critical patent/CN112843676A/zh
Application granted granted Critical
Publication of CN112843676B publication Critical patent/CN112843676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明实施例公开了一种数据处理方法、装置、终端、服务器及存储介质,其中测试方法包括:接收服务器发送的目标编码信息,该目标编码信息是服务器基于目标云应用对应的显示方向指示信息对目标云应用中的目标帧视频画面进行编码处理得到的;对目标编码信息进行解码处理,得到目标帧视频画面;将目标帧视频画面写入至目标缓存地址所指示的目标缓存中;根据目标云应用对应的显示方向指示信息显示目标缓存中的目标帧视频画面。采用本发明实施例可减小视频画面的显示延时。

Description

数据处理方法、装置、终端、服务器及存储介质
技术领域
本申请涉及云游戏技术领域,尤其涉及一种数据处理方法、装置、终端、服务器及存储介质。
背景技术
云应用是指终端与服务端(或者称为云端)互动的应用,终端操作同步云端,而占用本地空间也通过云端备份终端数据。目前典型的云应用可以包括医疗云、云安全、云游戏、云安全、云教育以及云社交等等。在各个云应用中,通常会涉及到服务器向终端发送编码后的视频画面,然后由终端对编码后的视频画面进行解码,以向用户显示解码得到的视频画面。比如,在云游戏中服务器向终端传输已编码的游戏画面,终端需要对已编码的游戏画面进行解码处理,并显示解码得到的游戏画面。
具体地,终端中显示云游戏中任一帧游戏画面的流程可以概括为:终端接收到服务器发送的对任一帧游戏画面进行编码得到的编码信息后,通过云游戏客户端中的解码模块进行解码得到任一帧游戏画面;将待显示的任一帧游戏画面传输给渲染模块,由渲染模块对待显示的任一帧游戏画面进行渲染,此处渲染包括旋转或者拷贝;然后将渲染后的待显示游戏画面传输到显示框架进行显示。在上述过程中,对待显示的任一帧游戏画面进行渲染涉及到解码模块和渲染模块之间的跨线程通讯,会引入通讯延时;另外,渲染模块的旋转处理也会引入延时。这样一来,导致云游戏端到端的延时增加。因此,在云游戏领域以及其他云应用领域中,如何在低延时下实现视频画面的显示成为当今研究的热点问题。
发明内容
本发明实施例提供了一种数据处理方法、装置、终端、服务器及存储介质,可降低云应用中视频画面的显示延时。
一方面,本发明实施例提供了一种数据处理方法,包括:
接收服务器发送的目标编码信息,所述目标编码信息是所述服务器基于目标云应用对应的显示方向指示信息对所述目标应用中的目标帧视频画面进行编码处理得到的;
对所述目标编码信息进行解码处理,得到所述目标帧视频画面;
将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中;
根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
一方面,本发明实施例还提供了一种数据处理方法,包括:
获取目标云应用对应的显示方向指示信息;
基于所述显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息;
将所述目标编码信息发送至云应用客户端,以使所述云应用客户端对所述目标编码信息进行解码处理得到所述目标帧视频画面,并将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中,以及根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
一方面,本发明实施例提供了一种数据处理装置,包括:
接收单元,用于接收服务器发送的目标编码信息,所述目标编码信息是所述服务器基于目标云应用对应的显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理得到的;
处理单元,用于对所述目标编码信息进行解码处理,得到所述目标帧视频画面;
所述处理单元,还用于将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中;
显示单元,用于根据所述目标帧视频画面对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
一方面,本发明实施例还提供了另一种数据处理装置,包括:
获取单元,用于获取目标云应用对应的显示方向指示信息;
处理单元,用于基于所述显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息;
发送单元,用于将所述目标编码信息发送至云应用客户端,以使所述云应用客户端对所述目标编码信息进行解码处理得到所述目标帧视频画面,并将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中,以及根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
一方面,本发明实施例提供了一种终端,其特征在于,包括:处理器,适用于实现一条或多条计算机程序;以及计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行:
接收服务器发送的目标编码信息,所述目标编码信息是所述服务器基于目标云应用对应的显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理得到的;对所述目标编码信息进行解码处理,得到所述目标帧视频画面;将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中;
根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
一方面,本发明实施例提供了一种服务器,其特征在于,包括:处理器,适用于实现一条或多条计算机程序;以及计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行:
获取目标云应用对应的显示方向指示信息;基于所述显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息;将所述目标编码信息发送至云应用客户端,以使所述云应用客户端对所述目标编码信息进行解码处理得到所述目标帧视频画面,并将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中,以及根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时,用于执行:
接收服务器发送的目标编码信息,所述目标编码信息是所述服务器基于目标云应用对应的显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理得到的;对所述目标编码信息进行解码处理,得到所述目标帧视频画面;将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中;
根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
或者,所述计算机程序被处理器执行时,用于执行:
获取目标云应用对应的显示方向指示信息;基于所述显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息;将所述目标编码信息发送至云应用客户端,以使所述云应用客户端对所述目标编码信息进行解码处理得到所述目标帧视频画面,并将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中,以及根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
一方面,本发明实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机存储介质中;终端的处理器从所述计算机存储介质中读取所述计算机程序,所述处理器执行所述计算机程序,使得终端执行:
接收服务器发送的目标编码信息,所述目标编码信息是所述服务器基于目标云应用对应的显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理得到的;对所述目标编码信息进行解码处理,得到所述目标帧视频画面;将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中;
根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
或者,服务器的处理器从所述计算机存储介质中读取所述计算机程序,所述处理器执行所述计算机程序,使得服务器执行:
获取目标云应用对应的显示方向指示信息;基于所述显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息;将所述目标编码信息发送至云应用客户端,以使所述云应用客户端对所述目标编码信息进行解码处理得到所述目标帧视频画面,并将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中,以及根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
本发明实施例中,服务器基于目标云应用对应的显示方向指示信息对目标云应用中的目标帧视频画面进行编码处理,并将编码得到的目标编码信息发送给云应用客户端;云应用客户端对目标编码信息进行解码处理,得到目标帧视频画面;进一步的,云应用客户端将目标帧视频画面写入至目标缓存地址所指示的目标缓存中,然后根据目标帧视频画面对应的显示方向指示信息显示目标缓存中的目标帧视频画面。上述视频画面的显示过程中,目标帧视频画面是基于显示方向指示信息进行编码的,那么终端解码后得到的目标帧视频画面的显示方向是显示方向指示信息所指示的方向,为了保证在云应用客户端中以较好的效果显示目标帧视频画面,云应用客户端则按照显示方向指示信息所指示的显示方向显示即可。
也就是说,云应用客户端解码得到目标帧视频画面后,不需要传输给渲染模块进行旋转,只需要获取到显示方向指示信息,就可以实现较好地展示目标帧视频画面。与现有技术相比,节省了跨线程通讯和渲染模块进行旋转所产生的延时,从而降低了云应用中视频画面的显示延时。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种云游戏视频显示架构的示意图;
图1b是本发明实施例提供的一种云游戏视频显示流程的示意图;
图1c是本发明实施例提供的一种渲染引入延时的示意图;
图1d是本发明实施例提供的一种由于渲染导致显示延时的示意图;
图2a是本发明实施例提供的一种云应用管理系统;
图2b是本发明实施例提供的一种服务器对目标帧视频画面的编码示意图;
图2c是本发明实施例提供的另一种服务器对目标帧视频画面编码示意图;
图3是本发明实施例提供的一种数据处理方法的流程示意图;
图4是本发明实施例提供的一种回调视频显示性能接口的示意图;
图5是本发明实施例提供的一种视频显示方法的流程图;
图6是本发明实施例提供的又一种数据处理方法的流程示意图;
图7是本发明实施例提供的一种数据处理装置的结构示意图;
图8是本发明实施例提供的另一种数据处理装置的结构示意图;
图9是本发明实施例提供的一种终端的结构示意图;
图10是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了便于后面描述的本发明实施例,下面对本发明实施例中涉及到的相关技术进行简单介绍。
云应用是云计算的子集,是云计算技术在应用层的体现,云应用的工作原理是把传统软件本地安装、本地运算的使用方式变为即取即用的服务,通过互联网或局域网连接并操控远程服务器集群,完成业务逻辑或运算任务的一种新型应用。云应用的优点是云应用的应用程序运行在云端,终端本地不需要安装应用程序,也不需要进行运算,节省了终端的存储空间消耗以及功耗开销,从而可提高终端的运行速度。
其中,云游戏作为云应用中的典型,近年来受到越来越多的关注。云游戏(Cloudgaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
大多数云应用中的视频画面显示均是采用webrtc实现的,webrtc是一种开源的实时音视频通讯方案。下面以云游戏为例,介绍基于webrtc的视频画面显示的大致原理和流程。
顾名思义,webrtc最初是应用在音视频通话场景中的。在音视频通话场景中,考虑到通讯双方的摄像头的方向可能不同,比如一个通讯方的摄像头是0度,另一个通讯方的摄像头是90度,为了使得通讯双方显示的视频更适配各自摄像头的方向,webrtc协议中规定一个渲染模块,当任一通讯方的终端接收到对任一帧视频画面进行编码得到的编码信息后,通过webrtc协议中解码模块对编码信息进行解码处理,得到该任一帧视频画面;然后将该任一帧视频画面传输至webrtc中的渲染模块,webrtc渲染模块根据当前通讯方的摄像头方向对解码得到的任一帧视频画面进行旋转或者保持不变,然后显示渲染模块处理完成的视频画面。
将webrtc协议应用在云游戏场景中时,也同样继承了webrtc协议的上述视频画面显示流程。下面通过图1a介绍基于webrtc协议的云游戏视频显示架构。图1a所示的云游戏视频显示架构中包括服务器100和云游戏客户端101,云游戏客户端101中可包括多种云游戏,服务器100主要用于:对任意一种云游戏中的任一帧游戏画面进行渲染,渲染完成后进行编码处理,得到编码信息;通过webrtc将编码信息传输到云游戏客户端101中;云游戏客户端101主要用于:通过webrtc接收服务器传输的编码信息;进一步的,对编码信息进行解码处理,得到任一帧游戏画面;接着,对解码得到的任一帧游戏画面进行渲染,主要是旋转或者普通拷贝;最后将渲染后的任一帧游戏画面传输至显示框架,以显示在显示屏上。
具体地,在图1a所示的云游戏视频显示架构中,云游戏客户端101和服务器100之间通过webrtc协议实现在云游戏客户端中显示任一帧游戏画面的流程可参考图1b所示,可包括:(1)云游戏客户端在初始化时,将用于显示任意一个云游戏的游戏画面的缓存地址通过webrtc中渲染模块EglRender中的缓存设置接口setSurface设置给渲染模块EglRender;(2)webrtc的接收模块(Recv)不断的从服务器接收编码信息onRtpPacket;(3)当任一帧游戏画面的编码信息接收完成,云游戏客户端调用OnCompleteFrame函数,表示接收完成;(4)任一帧游戏画面的编码信息接收完成后,云游戏客户端调用webrtc中解码模块Decoder进行解码,得到任一帧游戏画面;(5)解码完成后,通过onFrameAvailable回调函数通知纹理辅助模块SurfaceTextureHelper;(6)纹理辅助模块(SurfaceTextureHelper)通过updateTexImage将该帧游戏画面生成纹理数据Texture,放入纹理模块SurfaceTexutre,其中,纹理数据是指用于表示物体表面细节的一幅或几幅二维图像;(7)纹理辅助模块SurfaceTextureHelper通过onFrame回调将纹理数据发往webrtc的渲染模块EglRender;(8)渲染模块EglRender调用OpenGLES绘图接口,对纹理数据进行旋转或者普通拷贝;(9)渲染模块EglRender将(1)中设置的缓存地址传输至显示框架SurfaceFlinger(在后续的描述中显示框架也可以称为显示模块);(10)显示框架SurfaceFlinger调用显示模块(Display)的set函数,最终把上述帧游戏视频显示在屏幕上。
通过图1b的上述流程可见,由于webrtc流水线里采用了渲染模块来对解码得到的任一帧游戏画面进行旋转或者普通拷贝,这一过程会引入额外的延时,如图1c可见。表1中还示出,由于不同云游戏客户端的图像处理能力不同,因此在不同云游戏客户端中上述过程引入的额外的延时不同。
表1
上述表1中对比了两个不同云游戏客户端上渲染引入的额外延时。为了进一步验证,通过渲染模块进行视频数据的旋转或者普通拷贝引入额外延时,从而导致游戏视频显示产生延时。本发明实施例中通过谷歌的systrace性能分析工具采集webrtc本地解码渲染函数调用图,如图1d所示。从图1d中可见,在渲染模块渲染结束后,可以正好赶上当前的数据显示指示信号VSYNC,将解码得到的任一帧游戏画面送到显示框架SurfaceFlinger进行显示。但是因为webrtc流水线中存在渲染模块,解码模块解码得到的任一游戏画面需要送入到渲染模块进行旋转或者拷贝,产生了一定的延时,刚好错过了当前的数据显示指示信号,要等待下一个数据显示指示信号出现渲染模块处理后的游戏画面才会被送入到显示框架进行显示。两个数据显示指示信号之间的时间间隔是16.6ms,这种情况下导致游戏视频额外推迟了16.6ms被显示。
经过上述分析可见,通过对上述相关技术的描述可知,对编码信息进行解码得到任一帧游戏画面后,还需要对任一帧游戏画面进行旋转,旋转后的游戏画面才可送去显示,对解码得到的任一帧游戏画面进行渲染涉及到解码模块和渲染模块之间的跨线程通讯,会引入通讯延时;另外,渲染模块的旋转处理也会引入延时。这样一来,导致云游戏端到端的延时增加,从而导致视频被延时显示。云游戏是对实时性要求较高的,如果云游戏视频被延时显示,会导致云游戏的实时性下降,用户体验下降。应当理解的,上述只是以云游戏中游戏画面的显示为例,指出了相关技术在显示云应用中视频画面时引入的额外延时。
为了降低云应用中视频画面显示的延时,本发明实施例提供了一种数据处理方案,该数据处理方案中提出了一种新的云应用中视频画面显示流程,与相关技术的区别主要体现在两个方面,第一:云应用中目标帧视频画面对应的目标编码信息是依据云应用对应的显示方向指示信息对目标帧视频画面进行编码处理得到的,如此一来,编码信息中相当于已经规定了目标帧视频画面的显示方向,当云应用客户端对目标编码信息解码处理得到目标帧视频画面后,便可确定该目标帧视频画面需要以什么显示方向进行显示;第二,云应用客户端对目标编码信息进行解码处理得到目标帧视频画面后,不需要对目标视频画面发送给渲染模块进行渲染,而是直接进行显示,省去了解码模块和渲染模块之间通信产生的延时,从而可保证目标帧视频画面以较低延时进行显示。
基于上述新的视频画面显示流程,本发明实施例提出了一种云应用管理系统,参见图2a,为本发明实施例提供的一种云应用管理系统的结构示意图。图2a所示的云应用管理系统可包括云应用管理设备200、服务器201以及云应用客户端202,服务器201和云应用客户端202可以是基于webrtc进行通信的。
在一个实施例中,云应用管理设备200用于从数据库获取目标云应用对应的显示方向指示信息,并将所述显示方向指示信息发送给服务器201和云应用客户端202。其中,目标云应用对应的显示方向指示信息可以是开发人员设置的,显示方向指示信息用于反映该目标云应用中的任意一帧视频画面需要以显示方向指示信息所指示的显示方向进行显示。其中,显示方向可以包括横屏或竖屏。
在一个实施例中,服务器201中可运行多个容器,如果目标云应用为云游戏,每个容器中可运行一个云游戏,不同容器中运行不同的云游戏。服务器201负责根据云应用管理设备200发送的显示方向指示信息对目标帧视频画面进行渲染,并基于显示方向指示信息对渲染得到的目标帧视频画面进行编码处理,得到目标编码信息。例如,如果云应用管理设备200从数据库中获取到目标云应用对应的显示方向指示信息指示该目标云应用的目标帧视频画面的显示方向为横屏,则服务器确定显示方向指示信息所指示的显示方向为横屏,并对目标帧视频画面以横屏进行0度游戏渲染和0度视频编码,得到目标编码信息,如图2b所示;再如,如果云游戏管理设备从数据库获取到目标云游戏对应的显示方向指示信息指示该目标云游戏的目标帧视频画面的显示方向为竖屏,则服务器确定显示方向为竖屏,并对目标帧视频画面以竖屏进行0度游戏渲染和0度视频编码,得到目标编码信息,如图2c所示。进一步的,服务器201可以通过webrtc将目标编码信息传输给云游戏客户端。
在一个实施例中,云应用客户端202通过webrtc接收目标编码信息,并对已编码视频进行解码处理,得到目标帧视频画面;进一步的,可以将目标帧视频画面写入目标缓存中,并送往显示框架,以使得云应用客户端根据目标云应用对应的显示方向指示信息在显示屏上显示目标帧视频画面。例如,如果显示方向指示信息所指示的显示方向为横屏,则云应用客户端锁定云应用客户端为横屏状态,并将目标帧视频画面显示在云应用客户端中,如图2b所示;再如,如果显示方向指示信息所指示的显示方向为竖屏,则锁定云应用客户端处于竖屏状态,并将目标帧视频画面显示在云应用客户端中,如图2c所示。
将图2a和图1b相比可见,本发明实施例中对目标编码信息进行解码后,无需对解码得到的目标帧视频画面进行视频渲染,而是直接写入缓存并送入显示框架,这就省去了视频渲染引入的延时,减小视频显示的延时。并且,由于目标编码信息是服务器基于特定的显示方向指示信息进行编码的,那么解码得到的目标帧视频画面的显示方向为显示方向指示信息所指示的显示方向,云应用客户端基于显示方向指示信息显示该目标帧视频画面,便能保证目标帧视频画面以正确的显示方向进行显示。
基于上述数据处理方案以及云应用管理系统,本发明实施例提供了一种数据处理方法。参见图3,为本发明实施例提供的一种数据处理方法的流程示意图。图3所示的数据处理方法可由终端执行,具体可由终端的处理器执行,所述终端中运行云应用客户端。所述终端可以指智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。图3所示的数据处理方法可包括如下步骤:
步骤S301、接收服务器发送的目标编码信息,该目标编码信息是服务器基于目标云应用对应的显示方向指示信息对目标云应用中的目标帧视频画面进行编码处理得到的。
在一个实施例中,所述目标云应用可以是云应用客户端中包括的多种云应用中任意一个,目标帧视频画面可以指目标云应用中任意一帧视频画面。当服务器检测到对目标帧视频画面渲染完成后,可以通过目标云应用对应的显示方向指示信息对该目标帧视频画面进行编码处理,得到目标编码信息。其中,显示方向指示信息用于指示一个显示方向,目标云应用中任意一帧视频画面需要以显示方向指示信息所指示的显示方向进行显示,所述显示方向可以包括横屏和竖屏。
在一个实施例中,服务器和云应用客户端之间可以是通过webrtc协议进行数据传输的,webrtc是一种开源的实时音视频通讯方案,服务器可以基于webrtc协议将目标编码信息传输给云应用客户端,云应用客户端基于webrtc协议接收服务器发送的目标编码信息。
步骤S302、对目标编码信息进行解码处理,得到目标帧视频画面。
可以理解的,云应用客户端接收到服务器发送的目标编码信息后,需要对目标编码信息进行解码处理,得到目标帧视频画面,以将目标帧视频画面显示在云应用客户端中。因此,云应用客户端接收到服务器发送的目标编码信息后,首先可通过步骤S302对目标编码信息进行解码处理。
在一个实施例中,云应用客户端对目标编码信息进行解码处理可以是调用云应用客户端中解码模块执行的。
步骤S303、将目标帧视频画面写入目标缓存地址所指示的目标缓存中。
由步骤S302的描述可知,云应用客户端中可包括解码模块,在一个实施例中,解码模块中可以包括缓存设置接口setSurface,该缓存设置接口用于在解码模块中设置目标缓存地址,该目标缓存地址所指示的目标缓存用于承载或者说缓存解码得到的目标帧视频画面。
由前述可知,具体可参见图1c,现有技术中缓存设置接口是设置在渲染模块中,因为解码模块解码后得到的目标帧视频画面是需要传输给渲染模块进行旋转或者拷贝处理的,旋转或者拷贝处理后才可以传输给显示模块进行显示,而本发明实施例中解码模块解码后得到的目标帧视频画面是不需要渲染或者拷贝,而是直接写入到目标缓存中,因此需要将缓存设置接口设置在解码模块中。
在步骤S303中,将目标云应用写入目标换缓存地址所指示的目标缓存中,可以包括:调用解码模块中存储的目标缓存地址;将目标帧视频画面写入目标缓存地址所指示的缓存中。
步骤S304、根据目标云应用对应的显示方向指示信息显示目标缓存中的目标帧视频画面。
在一个实施例中,云应用客户端还包括显示模块,步骤S304中根据目标云应用对应的显示方向指示信息显示目标缓存中的目标帧视频画面,包括:调用所述解码模块将所述目标缓存地址发送至所述显示模块;当检测到数据显示指示信号时,调用所述显示模块按照所述显示方向指示信息所指示的显示方向,将所述目标缓存中的所述目标帧视频画面刷新到云应用客户端的显示屏上;其中,所述显示方向包括横屏或竖屏。
其中,显示方向指示信息可以是云应用管理设备发送至云应用客户端的;或者,显示方向指示信息也可以是服务器在向云应用客户端发送目标编码信息时,同步发送给云应用客户端的。
在一个实施例中,本发明实施例中为了根据目标云应用中各帧视频画面的视频显示性能对目标云应用进行优化,在对目标编码信息进行解码处理得到目标帧视频画面后,还可以获取目标帧视频画面对应的视频显示性能信息;将所述目标帧视频画面对应的视频显示性能信息存储至目标云应用对应的优化参考信息集中,以基于所述优化参考信息集对所述目标云应用进行优化。
在一个实施例中,若所述目标帧视频画面为所述目标云应用的首帧游戏画面,则所述目标帧视频画面对应的视频显示性能信息包括以下任意一种或多种:所述目标帧视频画面的显示延时、所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息。
又一个实施例中,若所述目标帧视频画面为所述目标云应用的非首帧游戏画面,则所述目标帧视频画面对应的视频显示性能信息包括以下任意一种或多种:所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息。
上述如果目标帧视频画面为目标云应用的首帧游戏画面,则可以通过统计该目标帧视频画面被送往显示模块的时间,与目标云应用启动的时间之差,确定目标帧视频画面的显示延时,或者称为首帧游戏画面的显示延时。对所述目标帧视频画面进行编码的编码时间信息可以包括对所述目标帧视频画面进行编码的编码时间、编码耗时等信息中任意一个或多个;对所述目标帧视频画面进行解码的解码时间信息可以包括对所述目标帧视频画面进行解码的解码时间、解码耗时等信息中任意一个或多个。
可选的,目标云应用对应的优化参考信息集中可存储一些用于对目标云应用进行优化时可以参考的信息,比如存储的信息可以是目标云应用运行时所消耗的终端资源,如果消耗的终端资源过多,则可以从减少终端资源消耗角度出发对目标云应用中与消耗资源有关的模块进行优化调整;再如,存储的信息可以是目标帧视频画面对应的视频显示性能,如果视频显示性能指示该目标帧视频画面的显示延时比较大,或者该目标帧视频画面的显示分辨率不高,则可以从降低时延以及提高分辨率的角度出发,优化目标云应用中与显示时延以及分辨率有关的功能模块。
在一个实施例中,解码模块中可以包括视频显示性能接口(或者称为回调接口DecodeCallback),该视频显示性能接口是云游戏客户端调用解码模块中的回调设置接口(或者称为setCallback)设置在解码模块中的,其中,回调设置接口用于在解码模块中设置回调接口,该视频显示性能接口用于收集任一帧视频画面在显示时产生的视频显示性能。上述目标帧视频画面对应的视频显示性能信息可以是通过回调解码模块中的视频显示性能接口获取到的。具体实现中:回调所述解码模块中的视频显示性能接口,并对所述视频显示性能接口中的数据进行分析,得到目标视频对应的视频显示性能信息。
例如,视频显示性能接口(或说DecodeCallback)接口可以包括多个接口,比如包括void onFirstFrameDecoded接口、void onFrameResolutionChanged(int w, int h,int r)接口以及void onPerfCb(byte[] perf, int size)接口。其中,voidonFirstFrameDecoded接口用于通知云应用客户端,首帧游戏画面已解码完成并且送往显示框架显示了;void onFrameResolutionChanged(int w, int h, int r)接口用于上报接收到的视频画面的分辨率;void onPerfCb(byte[]perf, int size)接口中的perf参数中,保存了一系列编解码相关的性能数据,比如解码时间信息以及编码时间信息。
在一个实施例中,假设目标云应用为云游戏,云应用客户端为云游戏客户端,云应用客户端在解码模块中设置视频显示性能接口以及回调解码模块中的视频显示性能接口以获取目标帧视频画面对应的视频显示性能,可以通过如图4所示。在图4中,400表示云游戏客户端,401表示解码模块,云游戏客户端使用回调设置接口setCallback在解码模块中设置视频显示性能接,该过程如图4中402所示;解码模块401中除了包括回调设置接口setCallback、视频显示性能接口DecodeCallback外,还包括将解码完的目标帧视频画面送至显示模块的送显接口deliverDecodedFrameToDisplay以及缓存设置接口setSurface。当云游戏客户端回调解码模块中的视频显示性能接口时,该视频显示性能接口包括的各个接口可如图4中403所示。
基于图3实施例中步骤S301-步骤S303的描述,本发明实施例提供一种视频画面显示的流程图,下面以目标云应用为目标云游戏,云应用客户端为云游戏客户端为例,介绍本发明实施例提供的视频画面显示的流程图,参见图5所示。图5所示的视频画面显示的流程图示出了在显示目标帧视频画面时,云游戏客户端中各个模块之间的交互。首先,在解码模块中增加一个缓存设置接口如图5中501所示,如此一来云游戏客户端可以通过该缓存设置接口将目标缓存的目标缓存地址设置在解码模块中,由前述可知,目标缓存是用于承载或者说缓存目标云游戏的游戏画面的;然后,云游戏客户端通过webrtc的接收模块(Recv)不断地从服务器接收编码信息onRtpPacket,如图5中502所示;当目标帧视频画面的编码信息接收完成,则接收模块Recv可以调用OnCompleteFrame函数,表示接收完成,如图5中503所示;进一步的,云游戏客户端中的解码模块对接收到的已编码视频进行解码处理如图5中504所示;在对已编码视频进行解码得到目标帧视频画面后,将目标帧视频画面写入目标缓存地址所指示的目标缓存中,并将目标缓存地址发送至显示模块,此处所述的显示模块也即前述的显示框架SurfaceFlinger,如图5中505所示;显示框架在检测到数据显示指示信号VSYNC时,将目标缓存中的目标帧视频画面刷新在显示屏上,如图5中506所示。
本发明实施例中,服务器基于目标云应用对应的显示方向指示信息对目标帧视频画面进行编码处理,并将编码得到的目标编码信息发送给云应用客户端;云应用客户端对目标编码信息进行解码处理,得到目标帧视频画面;进一步的,云应用客户端将目标云应用写入至目标缓存地址所指示的目标缓存中,然后根据目标云应用对应的显示方向指示信息显示目标缓存中的目标帧视频画面。上述视频画面的显示过程中,目标帧视频画面是基于显示方向指示信息进行编码的,那么云应用客户端解码后得到的目标帧视频画面的显示方向是显示方向指示信息所指示的方向,为了保证在云应用客户端中以较好的效果显示目标帧视频画面,云应用客户端按照显示方向指示信息所指示的显示方向显示即可。
也就是说,云应用客户端解码得到目标帧视频画面后,不需要传输给渲染模块进行旋转,只需要获取到显示方向指示信息,就可以实现较好地展示目标帧视频画面。与现有技术相比,节省了跨线程通讯和渲染模块进行旋转所产生的延时,从而降低了云应用中视频画面的显示延时。
基于上述的数据处理方法实施例,本发明实施例还提供了另一种数据处理方法。参见图6,为本发明实施例提供的另一种数据处理方法的流程示意图。图6所示的数据处理方法可由服务器执行,具体可由服务器的处理器执行。所述服务器可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。图6所示的数据处理方法可包括如下步骤:
步骤S601、获取目标云应用对应的显示方向指示信息。
由前述可知,目标云应用对应的显示方向指示信息用于指示目标云应用中的视频画面应该以何种显示方向进行显示,比如横屏或者竖屏。可选的,服务器可以从云应用管理设备处获取目标云应用对应的显示方向指示信息,云应用管理设备中的显示方向指示信息可以是云应用管理设备从数据库中获取到的。
应当理解的,对于云应用客户端中包括的多种不同应用,可能对应的显示方式指示信息是不同的。比如云应用客户端为云游戏客户端,云游戏客户端中包括多个云游戏,可能有的云游戏需要在横屏下显示才能提供更佳的游戏体验,有的云游戏需要在竖屏下显示才能提供更佳的游戏体验,因此,本发明实施例中预先设置每个云应用与显示方向的对应关系,并根据该对应关系生成各个云应用对应的显示方向指示信息,将该显示方向指示信息存储在数据库中。当多个云应用中目标云应用启动时,云应用管理设备可以从数据库中获取该目标云应用对应的显示方向指示信息并分别发送给服务器和云应用客户端。
步骤S602、基于显示方向指示信息对目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息。
服务器在获取到目标云应用对应的显示方向指示信息后,可以按照显示方向指示信息对目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息。具体地,如果显示方向指示信息指示的显示方向为横屏,则此时服务器以横屏对目标帧视频画面进行0角度的视频编码;如果显示方向为竖屏,则此时服务器以竖屏对目标帧视频画面进行0角度的视频编码。应当理解的,对目标帧视频画面进行0角度的视频编码可以理解为:在对目标帧视频画面进行编码过程中,添加一个角度指示信息,该角度指示信息用于告知云应用客户端该目标帧视频画面的显示方向与摄像头的方向是一致的,云应用客户端在获取到该目标帧视频画面后,按照与云应用客户端的摄像头一致的方向显示该目标帧视频画面。
步骤S603、将目标编码信息发送至云应用客户端。
在一个实施例中,在下面的描述中假设所述目标云应用包括云游戏,所述目标帧视频画面是指目标云游戏中的任一帧游戏画面;所述目标云游戏中的目标帧视频画面是调用服务器中云游戏后端模块(CloudGame)从所述服务器的系统中采集到的;所述服务器还包括云游戏代理传输模块(WebrtcProxy),所述基于所述显示方向指示信息对所述目标云游戏中的目标帧视频画面进行编码处理,得到目标编码信息,以及将所述目标编码信息发送至云游戏客户端是调用所述服务器包括的所述云游戏传输代理模块执行的。
云游戏后端模块CloudGame主要用来从服务器的系统中采集游戏音频和视频,并且负责将触屏坐标、传感器数据等注入到云游戏中。云游戏传输代理模块WebrtcProxy主要负责接收云游戏后端模块发送过来的音频和视频,以进行编码处理,并将编码得到的目标编码信息传输给云游戏客户端。并且,云游戏传输代理还用于将云游戏客户端中采集到的触屏坐标以及传感器数据等发送给云游戏后端。
由前述可知,本发明实施例中服务器和云游戏客户端之间是基于webrtc协议实现数据传输的,那么在得到目标编码信息后,服务器可以通过webrtc的发送模块将目标编码信息发送至云游戏客户端中。具体实现中,云游戏传输代理模块可以将目标编码信息传输至webrtc的发送模块;由webrtc的发送模块将已编码视频传输至云游戏客户端。
在一个实施例中,云游戏客户端接收到目标编码信息后,会对目标编码进行解码处理得到目标帧视频画面;进一步的,将目标帧视频画面写入目标缓存地址所指示的目标缓存中;当检测到数据显示指示信号时,可以根据目标云游戏对应的显示方向指示信息将目标缓存中的目标帧视频画面显示在云游戏客户端的显示屏上。
本发明实施例中,服务器基于目标云应用对应的显示方向指示信息对目标云应用中的目标帧视频画面进行编码处理,并将编码得到的目标编码信息发送给云应用客户端;云应用客户端对目标编码视信息进行解码处理,得到目标帧视频画面;进一步的,云应用客户端将目标帧视频画面写入至目标缓存地址所指示的目标缓存中,然后根据目标云应用对应的显示方向指示信息显示目标缓存中的目标帧视频画面。上述视频画面的显示过程中,目标帧视频画面是基于显示方向指示信息进行编码的,那么云应用客户端解码后得到的目标帧视频画面的显示方向是显示方向指示信息所指示的显示方向,为了保证在云应用客户端中以较好的效果显示目标帧视频画面,云应用客户端则按照显示方向指示信息所指示的显示方向显示即可。
也就是说,云应用客户端解码得到目标帧视频画面后,不需要传输给渲染模块进行旋转,只需要获取到显示方向指示信息,就可以实现较好地展示目标帧视频画面。与现有技术相比,节省了跨线程通讯和渲染模块进行旋转所产生的延时,从而降低了云应用中视频画面的显示延时。
为了验证本发明实施例在降低延时方面的性能,以云应用客户端为云游戏客户端为例,目标云应用为目标云游戏,在几个不同终端上运行的云游戏客户端上启动目标云游戏,并分别采用现有技术中的视频画面的显示方法和本发明实施例中的数据处理方法,对云游戏端到端的操作延时进行了对比。所述端到端的操作延时可以指用户在云游戏客户端中点击显示屏中的某个技能,到服务器响应该技术这一过程。具体对比效果可如下表2所示:
表2
基于上述的数据处理方法实施例,本发明实施例提供了一种数据处理装置。参见图7,为本发明实施例提供的一种数据处理装置的结构示意图。图7所示的数据处理装置可运行如下单元:
接收单元701,用于接收服务器发送的目标编码信息,所述目标编码信息是所述服务器基于目标云应用对应的显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理得到的;
处理单元702,用于对所述目标编码信息进行解码处理,得到所述目标帧视频画面;
所述处理单元702,还用于将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中;
显示单元703,用于根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
在一个实施例中,所述处理单元702对所述目标编码信息进行解码处理是调用云应用客户端中解码模块执行的,所述解码模块包括缓存设置接口;所述目标缓存地址是设置在所述解码模块中的;所述处理单元702,还用于通过所述缓存设置接口在所述解码模块中设置所述目标缓存地址。
在一个实施例中,所述云应用客户端还包括显示模块,所述根据显示单元703在根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面时,执行如下步骤:
调用所述解码模块将所述目标缓存地址发送至所述显示模块;当检测到数据显示指示信号时,调用所述显示模块按照所述显示方向指示信息所指示的显示方向,将所述目标缓存中的所述目标帧视频画面刷新到显示屏上;其中,所述显示方向包括横屏或竖屏。
在一个实施例中,所述视频显示装置还包括获取单元704,所述获取单元704用于在对所述目标编码信息进行解码处理得到所述目标帧视频画面后,获取所述目标帧视频画面对应的视频显示性能信息;所述处理单元702,还用于将所述目标帧视频画面对应的视频显示性能信息存储至所述目标云应用对应的优化参考信息集中,所述优化参考信息集用于对所述目标云应用进行优化。
在一个实施例中,所述解码模块中包括视频显示性能接口,所述视频显示性能接口是所述云应用客户端调用所述解码模块中的回调设置接口设置的;所述获取单元704在获取所述目标帧视频画面对应的视频显示性能信息时,执行如下步骤:回调所述解码模块中的所述视频显示性能接口,并对所述视频显示性能接口中数据进行分析,得到所述目标帧视频画面对应的视频显示性能信息。
在一个实施例中,所述目标云应用为云游戏,所述目标帧视频画面为所述云游戏中的游戏画面,若所述目标帧视频画面为所述目标云游戏的首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的显示延时、所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息;
若所述目标帧视频画面为所述目标云游戏的非首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息。
根据本发明的一个实施例,图3所示的数据处理方法所涉及各个步骤可以是由图7所示的数据处理装置中的各个单元来执行的。例如,图3所述的步骤S301可由图7所示的数据处理装置中的接收单元701来执行,步骤S302和步骤S303可由图7所示的数据处理装置中的处理单元702来执行,步骤S304可由图7所示的数据处理装置中的显示单元703来执行。
根据本发明的另一个实施例,图7所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图3所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的数据处理装置,以及来实现本发明实施例数据处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本发明实施例中,服务器基于目标云游戏对应的显示方向指示信息对目标云游戏中的目标帧视频画面进行编码处理,并将编码得到的目标编码信息发送给云应用客户端;云应用客户端对目标编码信息进行解码处理,得到目标帧视频画面;进一步的,云应用客户端将目标帧视频画面写入至目标缓存地址所指示的目标缓存中,然后根据目标帧视频画面对应的显示方向指示信息显示目标缓存中的目标帧视频画面。上述视频画面的显示过程中,目标帧视频画面是基于显示方向指示信息进行编码的,那么终端解码后得到的目标帧视频画面的显示方向是显示方向指示信息所指示的方向,为了保证在云游戏客户端中以较好的效果显示目标帧视频画面,云应用客户端则按照显示方向指示信息所指示的显示方向显示即可。
也就是说,云应用客户端解码得到目标帧视频画面后,不需要传输给渲染模块进行旋转,只需要获取到显示方向指示信息,就可以实现较好地展示目标帧视频画面。与现有技术相比,节省了跨线程通讯和渲染模块进行旋转所产生的延时,从而降低了云应用中视频画面的显示延时。
基于上述的数据处理方法实施例和数据处理装置实施例,本发明实施例还提供了另一种数据处理装置。参见图8,为本发明实施例提供的另一种数据处理装置的结构示意图。图8所示的数据处理装置可运行如下单元:
获取单元801,用于获取目标云应用对应的显示方向指示信息;
处理单元802,用于基于所述显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息;
发送单元803,用于将所述目标编码信息发送至云应用客户端,以使所述云应用客户端对所述目标编码信息进行解码处理得到所述目标帧视频画面,并将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中,以及根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
在一个实施例中,所述目标云应用包括目标云游戏,所述目标帧视频画面是指所述目标云游戏中的任一帧游戏画面,所述目标帧视频画面是调用服务器中云游戏后端模块从所述服务器的系统中采集到的;所述服务器还包括云游戏代理传输模块,所述基于所述显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息,以及将所述目标编码信息发送至云游戏客户端是调用所述服务器包括的所述云游戏传输代理模块执行的。
根据本发明的一个实施例,图6所示的数据处理方法所涉及各个步骤可以是由图8所示的数据处理装置中的各个单元来执行的。例如,图6所述的步骤S601可由图8所示的数据处理装置中的获取单元801来执行,步骤S602可由图8所示的数据处理装置中的处理单元702来执行,步骤S303可由图8所示的数据处理装置中的发送单元803来执行。
根据本发明的另一个实施例,图8所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于视频显示装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图6所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图8中所示的数据处理装置,以及来实现本发明实施例数据处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本发明实施例中,服务器基于目标云应用对应的显示方向指示信息对目标云应用中的目标帧视频画面进行编码处理,并将编码得到的目标编码信息发送给云应用客户端;云应用客户端对目标编码信息进行解码处理,得到目标帧视频画面;进一步的,云应用客户端将目标帧视频画面写入至目标缓存地址所指示的目标缓存中,然后根据目标云应用对应的显示方向指示信息显示目标缓存中的目标帧视频画面。上述视频画面的显示过程中,目标帧视频画面是基于显示方向指示信息进行编码的,那么云应用客户端解码后得到的目标帧视频画面的显示方向是显示方向指示信息所指示的显示方向,为了保证在云应用客户端中以较好的效果显示目标帧视频画面,云应用客户端则按照显示方向指示信息所指示的显示方向显示即可。
也就是说,云应用客户端解码得到目标帧视频画面后,不需要传输给渲染模块进行旋转,只需要获取到显示方向指示信息,就可以实现较好地展示目标帧视频画面。与现有技术相比,节省了跨线程通讯和渲染模块进行旋转所产生的延时,从而降低了云应用中视频画面的显示延时。
基于上述的方法实施例以及装置实施例,本发明实施例提供了一种终端,参见图9,为本发明实施例提供的一种终端的结构示意图。图9所示的终端可至少包括终端处理器901、输入接口902、输出接口903以及计算机存储介质904。其中,终端处理器901、输入接口902、输出接口903以及计算机存储介质904可通过总线或其他方式连接。
计算机存储介质904可以存储在终端的存储器中,所述计算机存储介质904用于存储计算机程序,所述计算机程序包括计算机程序,所述终端处理器901用于执行所述计算机存储介质904存储的计算机程序。终端处理器901(或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其适于实现计算机程序,具体适于加载并执行:
接收服务器发送的目标编码信息,所述目标编码信息是所述服务器基于目标云游戏对应的显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理得到的;对所述目标编码信息进行解码处理,得到所述目标帧视频画面;将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中;根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
本发明实施例中,服务器基于目标云应用对应的显示方向指示信息对目标云应用中的目标帧视频画面进行编码处理,并将编码得到的目标编码信息发送给云应用客户端;云应用客户端对目标编码信息进行解码处理,得到目标帧视频画面;进一步的,云应用客户端将目标帧视频画面写入至目标缓存地址所指示的目标缓存中,然后根据目标帧视频画面对应的显示方向指示信息显示目标缓存中的目标帧视频画面。上述视频画面的显示过程中,目标帧视频画面是基于显示方向指示信息进行编码的,那么终端解码后得到的目标帧视频画面的显示方向是显示方向指示信息所指示的方向,为了保证在云应用客户端中以较好的效果显示目标帧视频画面,云应用客户端则按照显示方向指示信息所指示的显示方向显示即可。
也就是说,云应用客户端解码得到目标帧视频画面后,不需要传输给渲染模块进行旋转,只需要获取到显示方向指示信息,就可以实现较好地展示目标帧视频画面。与现有技术相比,节省了跨线程通讯和渲染模块进行旋转所产生的延时,从而降低了云应用中视频画面的显示延时。
基于上述的方法实施例以及装置实施例,本发明实施例还提供了一种服务器,参见图10,为本发明实施例提供的一种服务器的结构示意图。图10所示的服务器可至少包括服务器处理器1001、输入接口1002、输出接口1003以及计算机存储介质1004。其中,服务器处理器1001、输入接口1002、输出接口1003以及计算机存储介质1004可通过总线或其他方式连接。
计算机存储介质1004可以存储在服务器的存储器中,所述计算机存储介质1004用于存储计算机程序,所述计算机程序包括计算机程序,服务器处理器1001用于执行所述计算机存储介质1004存储的计算机程序。服务器处理器1001(或称CPU(Central ProcessingUnit,中央处理器))是服务器的计算核心以及控制核心,其适于实现计算机程序,具体适于加载并执行:
获取目标云应用对应的显示方向指示信息;基于所述显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息;将所述目标编码信息发送至云应用客户端,以使所述云应用客户端对所述目标编码信息进行解码处理得到所述目标帧视频画面,并将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中,以及根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
本发明实施例中,服务器基于目标云应用对应的显示方向指示信息对目标云应用中的目标帧视频画面进行编码处理,并将编码得到的目标编码信息发送给云应用客户端;云应用客户端对目标编码信息进行解码处理,得到目标帧视频画面;进一步的,云应用客户端将目标帧视频画面写入至目标缓存地址所指示的目标缓存中,然后根据目标帧视频画面对应的显示方向指示信息显示目标缓存中的目标帧视频画面。上述视频画面的显示过程中,目标帧视频画面是基于显示方向指示信息进行编码的,那么终端解码后得到的目标帧视频画面的显示方向是显示方向指示信息所指示的方向,为了保证在云应用客户端中以较好的效果显示目标帧视频画面,云应用客户端则按照显示方向指示信息所指示的显示方向显示即可。
也就是说,云应用客户端解码得到目标帧视频画面后,不需要传输给渲染模块进行旋转,只需要获取到显示方向指示信息,就可以实现较好地展示目标帧视频画面。与现有技术相比,节省了跨线程通讯和渲染模块进行旋转所产生的延时,从而降低了云应用中视频画面的显示延时。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是终端或者服务器中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端或者服务器的内置存储介质,当然也可以包括终端或者服务器所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端或者服务器的操作系统。并且,在该存储空间中还存放了适于被终端处理器901加载并执行的计算机程序;或者适于被服务器处理器1001加载并执行的计算机程序。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,所述计算机存储介质可由终端处理器901加载并执行计算机存储介质中存放计算机程序,以实现上述有关图3所示的数据处理方法的相应步骤。具体实现中,计算机存储介质中的计算机程序由终端处理器901加载并执行如下步骤:
接收服务器发送的目标编码信息,所述目标编码信息是所述服务器基于目标云应用对应的显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理得到的;对所述目标编码信息进行解码处理,得到所述目标帧视频画面;将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中;根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
在一个实施例中,所述终端处理器901对所述目标编码信息进行解码处理是调用云应用客户端中解码模块执行的,所述解码模块包括缓存设置接口;所述目标缓存地址是设置在所述解码模块中的;所述将所述目标帧视频画面写入至所述目标缓存地址所指示的目标缓存中之前,所述终端处理器901还用于通过所述缓存设置接口在所述解码模块中设置所述目标缓存地址。
在一个实施例中,所述云应用客户端还包括显示模块,所述终端处理器901在根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面时,执行如下步骤:
调用所述解码模块将所述目标缓存地址发送至所述显示模块;当检测到数据显示指示信号时,调用所述显示模块按照所述显示方向指示信息所指示的显示方向,将所述目标缓存中的所述目标帧视频画面刷新到云应用客户端的显示屏上;其中,所述显示方向包括横屏或竖屏。
在一个实施例中,所述终端处理器901还用于:在对所述目标编码信息进行解码处理得到所述目标帧视频画面后,获取所述目标帧视频画面对应的视频显示性能信息;将所述目标帧视频画面对应的视频显示性能信息存储至所述目标云应用对应的优化参考信息集中,所述优化参考信息集用于对所述目标云应用进行优化。
在一个实施例中,所述解码模块中包括视频显示性能接口,所述视频显示性能接口是所述云应用客户端调用所述解码模块中的回调设置接口设置的;所述终端处理器901在获取所述目标帧视频画面对应的视频显示性能信息时,执行如下步骤:回调所述解码模块中的所述视频显示性能接口,并对所述视频显示性能接口中数据进行分析,得到所述目标帧视频画面对应的视频显示性能信息。
在一个实施例中,所述目标云应用为云游戏,所述目标帧视频画面为所述云游戏中的游戏画面,若所述目标帧视频画面为所述目标云游戏的首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的显示延时、所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息;
若所述目标帧视频画面为所述目标云游戏的非首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息。
本发明实施例中,服务器基于目标云应用对应的显示方向指示信息对目标云游戏中的目标帧视频画面进行编码处理,并将编码得到的目标编码信息发送给云应用客户端;云应用客户端对目标编码信息进行解码处理,得到目标帧视频画面;进一步的,云应用客户端将目标帧视频画面写入至目标缓存地址所指示的目标缓存中,然后根据目标帧视频画面对应的显示方向指示信息显示目标缓存中的目标帧视频画面。上述视频画面的显示过程中,目标帧视频画面是基于显示方向指示信息进行编码的,那么终端解码后得到的目标帧视频画面的显示方向是显示方向指示信息所指示的方向,为了保证在云应用客户端中以较好的效果显示目标帧视频画面,云应用客户端则按照显示方向指示信息所指示的显示方向显示即可。
也就是说,云应用客户端解码得到目标帧视频画面后,不需要传输给渲染模块进行旋转,只需要获取到显示方向指示信息,就可以实现较好地展示目标帧视频画面。与现有技术相比,节省了跨线程通讯和渲染模块进行旋转所产生的延时,从而降低了云应用中视频画面的显示延时。
在一个实施例中,所述计算机存储介质可由服务器处理器1001加载并执行计算机存储介质中存放的计算机程序,以实现上述有关图6所示的数据处理方法的相应步骤。具体实现中,计算机存储介质中的计算机程序由服务器处理器1001加载并执行如下步骤:
获取目标云应用对应的显示方向指示信息;基于所述显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息;将所述目标编码信息发送至云应用客户端,以使所述云应用客户端对所述目标编码信息进行解码处理得到所述目标帧视频画面,并将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中,以及根据所述目标云游戏对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
在一个实施例中,所述目标云应用包括目标云游戏,所述目标帧视频画面是指所述目标云游戏中的任一帧游戏画面,所述目标云游戏中的目标帧视频画面是服务器处理器1001调用服务器中云游戏后端模块从所述服务器的系统中采集到的;所述服务器还包括云游戏代理传输模块,所述基于所述显示方向指示信息对所述目标云游戏中的目标帧视频画面进行编码处理,得到目标编码信息,以及将所述目标编码信息发送至云游戏客户端是服务器处理器1001调用所述服务器包括的所述云游戏传输代理模块执行的。
本发明实施例中,服务器基于目标云应用对应的显示方向指示信息对目标云游戏中的目标帧视频画面进行编码处理,并将编码得到的目标编码信息发送给云应用客户端;云应用客户端对目标编码信息进行解码处理,得到目标帧视频画面;进一步的,云应用客户端将目标帧视频画面写入至目标缓存地址所指示的目标缓存中,然后根据目标帧视频画面对应的显示方向指示信息显示目标缓存中的目标帧视频画面。上述视频画面的显示过程中,目标帧视频画面是基于显示方向指示信息进行编码的,那么终端解码后得到的目标帧视频画面的显示方向是显示方向指示信息所指示的方向,为了保证在云应用客户端中以较好的效果显示目标帧视频画面,云应用客户端则按照显示方向指示信息所指示的显示方向显示即可。
也就是说,云应用客户端解码得到目标帧视频画面后,不需要传输给渲染模块进行旋转,只需要获取到显示方向指示信息,就可以实现较好地展示目标帧视频画面。与现有技术相比,节省了跨线程通讯和渲染模块进行旋转所产生的延时,从而降低了云应用中视频画面的显示延时。
根据本申请的一个方面,本发明实施例还提供了一种计算机产品和计算机程序,该计算机产品中包括计算机程序,该计算机程序存储在计算机可读存储介质中。终端处理器901从计算机可读存储介质中读取该计算机程序,终端处理器901执行该计算机程序,使得终端执行图3所示的数据处理方法,具体地:
接收服务器发送的目标编码信息,所述目标编码信息是所述服务器基于目标云应用对应的显示方向指示信息对所述目标应用中的目标帧视频画面进行编码处理得到的;对所述目标编码信息进行解码处理,得到所述目标帧视频画面;所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中;根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
服务器处理器1001从计算机可读存储介质中读取上述计算机程序,服务器处理器1001执行该计算机程序,使得服务器执行图6所示的数据处理方法,具体地:
获取目标云应用对应的显示方向指示信息;基于所述显示方向指示信息对所述目标云应用中目标帧视频画面进行编码处理得到目标编码信息;将所述目标编码信息发送至云应用客户端,以使所述云应用客户端对所述目标编码信息进行解码处理得到所述目标帧视频画面,并将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中,以及根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面。
本发明实施例中,服务器基于目标云应用对应的显示方向指示信息对目标云应用中的目标帧视频画面进行编码处理,并将编码得到的目标编码信息发送给云应用客户端;云应用客户端对目标编码信息进行解码处理,得到目标帧视频画面;进一步的,云应用客户端将目标帧视频画面写入至目标缓存地址所指示的目标缓存中,然后根据目标帧视频画面对应的显示方向指示信息显示目标缓存中的目标帧视频画面。上述视频显示方法,目标帧视频画面是基于显示方向指示信息进行编码的,那么终端解码后得到的目标帧视频画面的显示方向是显示方向指示信息所指示的方向,为了保证在云应用客户端中以较好的效果显示目标帧视频画面,云应用客户端则按照显示方向指示信息所指示的显示方向显示即可。
也就是说,云应用客户端解码得到目标帧视频画面后,不需要传输给渲染模块进行旋转,只需要获取到显示方向指示信息,就可以实现较好地展示目标帧视频画面。与现有技术相比,节省了跨线程通讯和渲染模块进行旋转所产生的延时,从而降低了云应用中视频画面的显示延时。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
接收服务器发送的目标编码信息,所述目标编码信息是所述服务器基于目标云应用对应的显示方向指示信息,对所述目标云应用中的目标帧视频画面进行编码处理得到的;所述目标云应用是云应用客户端的多个云应用中的任一云应用,所述云应用客户端包含解码模块,所述解码模块配置有缓存设置接口;所述显示方向指示信息是预设的与所述多个云应用中所述目标云应用具有对应关系的指示信息;
调用所述解码模块对所述目标编码信息进行解码处理,得到所述目标帧视频画面;
将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中;所述目标缓存地址是基于所述缓存设置接口被设置在所述解码模块中的;
根据所述目标云应用对应的所述显示方向指示信息,显示所述目标缓存中的所述目标帧视频画面;
在对所述目标编码信息进行解码处理得到所述目标帧视频画面后,获取所述目标帧视频画面对应的视频显示性能信息;
将所述目标帧视频画面对应的视频显示性能信息存储至所述目标云应用对应的优化参考信息集中,所述优化参考信息集用于对所述目标云应用进行优化;
其中,所述目标云应用为目标云游戏,所述目标帧视频画面为所述目标云游戏中的游戏画面;
若所述目标帧视频画面为所述目标云游戏的首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的显示延时、所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息;
若所述目标帧视频画面为所述目标云游戏的非首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息。
2.如权利要求1所述的方法,其特征在于,所述云应用客户端还包括显示模块,所述根据所述目标云应用对应的所述显示方向指示信息,显示所述目标缓存中的所述目标帧视频画面,包括:
调用所述解码模块将所述目标缓存地址发送至所述显示模块;
当检测到数据显示指示信号时,调用所述显示模块按照所述显示方向指示信息所指示的显示方向,将所述目标缓存中的所述目标帧视频画面刷新到所述云应用客户端的显示屏上;其中,所述显示方向包括横屏或竖屏。
3.如权利要求1所述的方法,其特征在于,所述解码模块中包括视频显示性能接口,所述视频显示性能接口是所述云应用客户端调用所述解码模块中的回调设置接口设置的;所述获取所述目标帧视频画面对应的视频显示性能信息,包括:
回调所述解码模块中的所述视频显示性能接口,并对所述视频显示性能接口中数据进行分析,得到所述目标帧视频画面对应的视频显示性能信息。
4.一种数据处理方法,其特征在于,包括:
获取目标云应用对应的显示方向指示信息;所述目标云应用是云应用客户端的多个云应用中的任一云应用,所述云应用客户端包含解码模块,所述解码模块配置有缓存设置接口;所述显示方向指示信息是预设的与所述多个云应用中所述目标云应用具有对应关系的指示信息;
基于所述显示方向指示信息对所述目标云应用中目标帧视频画面进行编码处理得到目标编码信息;
将所述目标编码信息发送至所述云应用客户端,以使所述云应用客户端调用所述解码模块对所述目标编码信息进行解码处理得到所述目标帧视频画面,并将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中,以及根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面;所述目标缓存地址是基于所述缓存设置接口被设置在所述解码模块中的;
所述云应用客户端在对所述目标编码信息进行解码处理得到所述目标帧视频画面后,用于获取所述目标帧视频画面对应的视频显示性能信息;并用于将所述目标帧视频画面对应的视频显示性能信息存储至所述目标云应用对应的优化参考信息集中,所述优化参考信息集用于对所述目标云应用进行优化;
其中,所述目标云应用为目标云游戏,所述目标帧视频画面为所述目标云游戏中的游戏画面;
若所述目标帧视频画面为所述目标云游戏的首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的显示延时、所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息;
若所述目标帧视频画面为所述目标云游戏的非首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息。
5.如权利要求4所述的方法,其特征在于,所述目标帧视频画面是调用服务器中云游戏后端模块从所述服务器的系统中采集到的;
所述服务器还包括云游戏代理传输模块,所述基于所述显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息,以及将所述目标编码信息发送至所述云应用客户端是调用所述服务器包括的所述云游戏传输代理模块执行的。
6.一种数据处理装置,其特征在于,包括:
接收单元,用于接收服务器发送的目标编码信息,所述目标编码信息是所述服务器基于目标云应用对应的显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理得到的;所述目标云应用是云应用客户端的多个云应用中的任一云应用,所述云应用客户端包含解码模块,所述解码模块配置有缓存设置接口;所述显示方向指示信息是预设的与所述多个云应用中所述目标云应用具有对应关系的指示信息;
处理单元,用于调用所述解码模块对所述目标编码信息进行解码处理,得到所述目标帧视频画面;
所述处理单元,还用于将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中;所述目标缓存地址是基于所述缓存设置接口被设置在所述解码模块中的;
显示单元,用于根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面;
所述装置还用于:
在对所述目标编码信息进行解码处理得到所述目标帧视频画面后,获取所述目标帧视频画面对应的视频显示性能信息;
将所述目标帧视频画面对应的视频显示性能信息存储至所述目标云应用对应的优化参考信息集中,所述优化参考信息集用于对所述目标云应用进行优化;
其中,所述目标云应用为目标云游戏,所述目标帧视频画面为所述目标云游戏中的游戏画面;
若所述目标帧视频画面为所述目标云游戏的首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的显示延时、所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息;
若所述目标帧视频画面为所述目标云游戏的非首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息。
7.一种数据处理装置,其特征在于,包括:
获取单元,用于获取目标云应用对应的显示方向指示信息;所述目标云应用是云应用客户端的多个云应用中的任一云应用,所述云应用客户端包含解码模块,所述解码模块配置有缓存设置接口;所述显示方向指示信息是预设的与所述多个云应用中所述目标云应用具有对应关系的指示信息;
处理单元,用于基于所述显示方向指示信息对所述目标云应用中的目标帧视频画面进行编码处理,得到目标编码信息;
发送单元,用于将所述目标编码信息发送至所述云应用客户端,以使所述云应用客户端调用所述解码模块对所述目标编码信息进行解码处理得到所述目标帧视频画面,并将所述目标帧视频画面写入至目标缓存地址所指示的目标缓存中,以及根据所述目标云应用对应的所述显示方向指示信息显示所述目标缓存中的所述目标帧视频画面;所述目标缓存地址是基于所述缓存设置接口被设置在所述解码模块中的;
所述云应用客户端在对所述目标编码信息进行解码处理得到所述目标帧视频画面后,用于获取所述目标帧视频画面对应的视频显示性能信息;并用于将所述目标帧视频画面对应的视频显示性能信息存储至所述目标云应用对应的优化参考信息集中,所述优化参考信息集用于对所述目标云应用进行优化;
其中,所述目标云应用为目标云游戏,所述目标帧视频画面为所述目标云游戏中的游戏画面;
若所述目标帧视频画面为所述目标云游戏的首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的显示延时、所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息;
若所述目标帧视频画面为所述目标云游戏的非首帧游戏画面,则所述视频显示性能信息包括以下信息中任意一种或多种:所述目标帧视频画面的分辨率、对所述目标帧视频画面进行编码的编码时间信息以及对所述目标帧视频画面进行解码的解码时间信息。
8.一种终端,其特征在于,包括:
处理器,适用于实现一条或多条计算机程序;以及
计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如权利要求1-3任一项所述的数据处理方法。
9.一种服务器,其特征在于,包括:
处理器,适用于实现一条或多条计算机程序;以及
计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如权利要求4-5任一项所述的数据处理方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时,用于执行如权利要求1-3任一项所述的数据处理方法;或者,所述计算机程序被处理器执行时,用于执行如权利要求4-5任一项所述的数据处理方法。
CN202110047154.6A 2021-01-12 2021-01-12 数据处理方法、装置、终端、服务器及存储介质 Active CN112843676B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110047154.6A CN112843676B (zh) 2021-01-12 2021-01-12 数据处理方法、装置、终端、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110047154.6A CN112843676B (zh) 2021-01-12 2021-01-12 数据处理方法、装置、终端、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN112843676A CN112843676A (zh) 2021-05-28
CN112843676B true CN112843676B (zh) 2023-04-18

Family

ID=76003739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110047154.6A Active CN112843676B (zh) 2021-01-12 2021-01-12 数据处理方法、装置、终端、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN112843676B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113364767B (zh) * 2021-06-03 2022-07-12 北京字节跳动网络技术有限公司 一种流媒体数据显示方法、装置、电子设备及存储介质
CN114338621A (zh) * 2021-11-30 2022-04-12 北京金山云网络技术有限公司 一种云应用程序运行方法、系统及装置
CN115550708B (zh) * 2022-01-07 2023-12-19 荣耀终端有限公司 数据处理方法及电子设备
CN116801034B (zh) * 2023-08-25 2023-11-03 海马云(天津)信息技术有限公司 客户端保存音视频数据的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107465939B (zh) * 2016-06-03 2019-12-06 杭州海康机器人技术有限公司 视频图像数据流的处理方法及装置
US20200376375A1 (en) * 2019-05-30 2020-12-03 Mediatek Inc. Method and apparatus for performing client side latency enhancement with aid of cloud game server side image orientation control
TWI755742B (zh) * 2019-05-30 2022-02-21 聯發科技股份有限公司 客戶側延遲改善方法、主處理器以及處理電路

Also Published As

Publication number Publication date
CN112843676A (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
CN112843676B (zh) 数据处理方法、装置、终端、服务器及存储介质
CN111882626B (zh) 图像处理方法、装置、服务器及介质
CN113015021B (zh) 云游戏的实现方法、装置、介质及电子设备
CN111681167B (zh) 画质调整方法和装置、存储介质及电子设备
US20180270496A1 (en) Composite video streaming using stateless compression
CN112235626B (zh) 视频渲染方法、装置、电子设备及存储介质
US20230215076A1 (en) Image frame display method, apparatus, device, storage medium, and program product
US20140286390A1 (en) Encoder controller graphics processing unit and method of encoding rendered graphics
CN113457160B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN109309842B (zh) 直播数据处理方法和装置、计算机设备和存储介质
CN113542757A (zh) 云应用的图像传输方法、装置、服务器及存储介质
WO2024037110A1 (zh) 数据处理方法、装置、设备以及介质
CN113226501A (zh) 应用程序的流媒体影像提供装置及方法
CN115955590A (zh) 视频处理方法、装置、计算机设备、介质
CN114268796A (zh) 视频流处理的方法及装置
CN113411660B (zh) 视频数据的处理方法、装置和电子设备
CN115225615B (zh) 虚幻引擎像素流送方法及装置
CN114938408B (zh) 一种云手机的数据传输方法、系统、设备及介质
CN111885417B (zh) Vr视频播放方法、装置、设备以及存储介质
TWI814134B (zh) 虛擬行動架構的遠端渲染系統、方法及裝置
TWI579707B (zh) 以圖形處理器提升可互動內容瀏覽服務的系統與方法
CN115393490A (zh) 图像渲染方法、装置、存储介质及电子设备
AU2015203292B2 (en) Composite video streaming using stateless compression
CN114245138A (zh) 视频帧处理方法和装置
CN115941968A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40043471

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant