媒体数据处理方法、装置、设备以及存储介质转让专利

申请号 : CN202110845902.5

文献号 : CN113286146B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李志成

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请实施例提供了一种媒体数据处理方法、装置、设备以及存储介质,可适用于云游戏、人工智能、计算机技术、区块链以及云计算等领域。该方法包括:响应于显示应用的接入请求,基于第一编码参数对媒体数据进行编码得到第一编码数据,基于第一传输码率向显示应用发送第一编码数据;在编码数据发送过程中,确定显示应用在第一时刻的显示内容的第一类型,基于第一类型确定第二传输码率和第二编码参数;基于第二编码参数对第一时刻之后的媒体数据进行编码得到第二编码数据,基于第二传输码率向显示应用发送第二编码数据。采用本申请实施例,可基于显示内容的类型实时调整传输码率和编码参数,提升显示内容的显示效果。

权利要求 :

1.一种媒体数据处理方法,其特征在于,所述方法包括:响应于显示应用的接入请求,基于第一编码参数对媒体数据进行编码得到第一编码数据,基于第一传输码率向所述显示应用发送所述第一编码数据;

所述第一编码参数和所述第一传输码率通过以下方式确定:确定所述显示应用的初始显示配置信息和应用信息,基于所述应用信息确定所述显示应用的初始显示内容的第二类型;

确定数据处理参数集合,从所述数据处理参数集合中确定对应于所述第二类型和所述初始显示配置信息的第一编码参数和第一传输码率,在所述数据处理参数集合中,每种显示内容的类型在对应于不同的显示配置信息时,对应于不同的编码参数和传输码率的组合;

在编码数据发送过程中,确定所述显示应用在第一时刻的显示内容的第一类型,基于所述第一类型确定第二传输码率和第二编码参数;

基于所述第二编码参数对所述第一时刻之后的媒体数据进行编码得到第二编码数据,基于所述第二传输码率向所述显示应用发送所述第二编码数据。

2.根据权利要求1所述的方法,其特征在于,所述确定所述显示应用在第一时刻的显示内容的第一类型,包括以下至少一项:获取所述显示应用在第一时刻对应的至少一帧显示图像,基于所述至少一帧显示图像确定所述显示应用在所述第一时刻的显示内容的第一类型;

获取所述显示应用的评价信息,基于所述评价信息确定所述显示应用在所述第一时刻的显示内容的第一类型。

3.根据权利要求2所述的方法,其特征在于,所述基于所述至少一帧显示图像确定所述显示应用在所述第一时刻的显示内容的第一类型,包括:基于卷积神经网络对所述至少一帧显示图像进行处理,得到各所述显示图像对应的图像特征;

基于分类神经网络对各所述图像特征进行处理,得到所述至少一帧显示图像所对应的显示内容的第三类型;

将所述第三类型确定为所述显示应用在所述第一时刻的显示内容的第一类型。

4.根据权利要求3所述的方法,其特征在于,所述分类神经网络包括循环神经网络或者多层感知器中的任一项。

5.根据权利要求1所述的方法,其特征在于,所述基于所述第一类型确定第二传输码率和第二编码参数,包括以下至少一项:基于所述第一类型分别对所述第一传输码率和所述第一编码参数进行调整,得到第二传输码率和第二编码参数;

确定所述显示应用在所述第一时刻的第一显示配置信息,从所述数据处理参数集合中确定对应于所述第一类型和所述第一显示配置信息的第二传输码率和第二编码参数。

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:在编码数据发送过程中,获取所述显示应用在第二时刻的网络环境信息;

基于所述网络环境信息对所述第二时刻对应的传输码率进行调整;

基于所述第二时刻对应的编码参数对所述第二时刻后的媒体数据进行编码,基于调整后的传输码率向所述显示应用发送编码数据。

7.根据权利要求6所述的方法,其特征在于,所述网络环境信息包括所述显示应用在所述第二时刻的下行网络信息、最大接收码率或者丢包率中的至少一项。

8.根据权利要求5所述的方法,其特征在于,所述初始显示配置信息或所述第一显示配置信息包括分辨率或者刷新率中的至少一项。

9.根据权利要求1至8任一项所述的方法,其特征在于,在编码数据发送过程中的任一时刻,该时刻对应的传输码率不超过该时刻对应的预设码率。

10.一种媒体数据处理装置,其特征在于,所述装置包括:数据编码模块,用于响应于显示应用的接入请求,基于第一编码参数对媒体数据进行编码得到第一编码数据,基于第一传输码率向所述显示应用发送所述第一编码数据;

参数确定模块,用于:

确定所述显示应用的初始显示配置信息和应用信息,基于所述应用信息确定所述显示应用的初始显示内容的第二类型;

确定数据处理参数集合,从所述数据处理参数集合中确定对应于所述第二类型和所述初始显示配置信息的第一编码参数和第一传输码率,在所述数据处理参数集合中,每种显示内容的类型在对应于不同的显示配置信息时,对应于不同的编码参数和传输码率的组合;

在编码数据发送过程中,确定所述显示应用在第一时刻的显示内容的第一类型,基于所述第一类型确定第二传输码率和第二编码参数;

所述数据编码模块,用于基于所述第二编码参数对所述第一时刻之后的媒体数据进行编码得到第二编码数据,基于所述第二传输码率向所述显示应用发送所述第二编码数据。

11.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接;

所述存储器用于存储计算机程序;

所述处理器被配置用于在调用所述计算机程序时,执行如权利要求1至9任一项所述的方法。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至9任一项所述的方法。

说明书 :

媒体数据处理方法、装置、设备以及存储介质

技术领域

[0001] 本申请涉及数据处理领域,尤其涉及一种媒体数据处理方法、装置、设备以及存储介质。

背景技术

[0002] 随着云技术的不断发展,为了能使图形处理与数据运算能力相对有限的应用具有高品质的显示效果,往往基于云端服务对音视频等数据进行处理,并将最终处理后的编码
数据发送给显示应用,从而显示应用对编码数据进行解析可直接播放音视频。
[0003] 以云游戏为例,现在的云游戏解决方案对于媒体数据的编码参数和传输码率往往按照分辨率和刷新率固定配置,比如分辨率720P、刷新率30FPS配置5Mbps的传输码率和一
定的编码参数,一方面在对游戏画面要求不高的情况下会浪费服务器带宽资源,另一方面
在游戏画面要求较高的情况下,传输码率较低以及编码参数不满足画质要求时,无法保证
高质量游戏画面的呈现。

发明内容

[0004] 本申请实施例提供一种媒体数据处理方法、装置、设备以及存储介质,可实时调整传输码率和编码参数,进而实时提升显示应用的显示效果,节省带宽资源,适用性高。
[0005] 一方面,本申请实施例提供一种媒体数据处理方法,该方法包括:
[0006] 响应于显示应用的接入请求,基于第一编码参数对媒体数据进行编码得到第一编码数据,基于第一传输码率向上述显示应用发送上述第一编码数据;
[0007] 在编码数据发送过程中,确定上述显示应用在第一时刻的显示内容的第一类型,基于上述第一类型确定第二传输码率和第二编码参数;
[0008] 基于上述第二编码参数对上述第一时刻之后的媒体数据进行编码得到第二编码数据,基于上述第二传输码率向上述显示应用发送上述第二编码数据。
[0009] 另一方面,本申请实施例提供了一种媒体数据处理装置,上述媒体数据处理装置包括:
[0010] 数据编码模块,用于响应于显示应用的接入请求,基于第一编码参数对媒体数据进行编码得到第一编码数据,基于第一传输码率向上述显示应用发送上述第一编码数据;
[0011] 参数确定模块,用于在编码数据发送过程中,确定上述显示应用在第一时刻的显示内容的第一类型,基于上述第一类型确定第二传输码率和第二编码参数;
[0012] 上述数据编码模块,用于基于上述第二编码参数对上述第一时刻之后的媒体数据进行编码得到第二编码数据,基于上述第二传输码率向上述显示应用发送上述第二编码数
据。
[0013] 另一方面,本申请实施例提供了一种电子设备,包括处理器和存储器,该处理器和存储器相互连接;
[0014] 上述存储器用于存储计算机程序;
[0015] 上述处理器被配置用于在调用上述计算机程序时,执行本申请实施例提供的媒体数据处理方法。
[0016] 另一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现本申请实施例提供的媒体数据处
理方法。
[0017] 另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子
设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得
该计算机设备执行本申请实施例提供的媒体数据处理方法。
[0018] 在本申请实施例中,通过确定编码数据发送过程中显示应用的显示内容的类型来调整传输码率和编码参数,从而确定出符合显示内容的传输码率和编码参数,实时提升显
示应用的显示效果,节省带宽资源,适应性高。

附图说明

[0019] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领
域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附
图。
[0020] 图1是本申请实施例提供的媒体数据处理方法的网络结构示意图;
[0021] 图2是本申请实施例提供的媒体数据处理方法的一流程示意图;
[0022] 图3是本申请实施例提供的确定图像特征序列的场景示意图;
[0023] 图4是本申请实施例提供的确定显示内容的类型的场景示意图;
[0024] 图5是本申请实施例提供的媒体数据处理方法的另一流程示意图;
[0025] 图6是本申请实施例提供的云游戏数据处理方法的场景示意图;
[0026] 图7是本申请实施例提供的媒体数据处理装置的结构示意图;
[0027] 图8是本申请实施例提供的电子设备的结构示意图。

具体实施方式

[0028] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于
本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本申请保护的范围。
[0029] 本申请实施例提供的媒体数据处理方法可适用于云游戏(Cloud Gaming)、图像处理、人工智能(Artificial Intelligence,AI)、计算机技术、区块链以及云计算(Cloud 
Computing)等领域,可基于显示应用的显示内容的类型变化实时调整相应的传输码率和编
码参数,且其中所涉及的数据处理过程均可基于云计算实现,从而提升用户视觉体验,提高
数据处理资源和带宽资源的利用率。
[0030] 其中,云游戏又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin 
client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务
器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。
玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的媒体播放能力与
获取玩家输入指令并发送给云端服务器的能力即可。
[0031] 其中,云游戏对应的游戏终端可将基于键盘、鼠标、手柄、触摸屏等接收到的操作指令传输到云游服务器实例,云游服务器实例再把接收到的操作指令映射成相应的游戏鼠
标按键,再通过键盘鼠标驱动发送给真正的云游戏服务器完成整个游戏服务体验。
[0032] 参见图1,图1是本申请实施例提供的媒体数据处理方法的网络结构示意图。如图1所示,终端10为显示应用对应的显示终端,包括但不限于智能手机、平板电脑、笔记本电脑、
台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。其中,显示应用
包括云游戏应用、渲染应用等可显示显示内容的应用。
[0033] 服务器20为终端10所运行的显示应用所对应的服务器,如云游戏应用对应的云服务器、渲染应用对应的渲染处理器等,服务器20可以是独立的物理服务器,也可以是多个物
理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器,在此
不做限制。其中,显示应用基于终端10和服务器20通过有线或无线通信方式进行直接或间
接地连接,在本申请实施例中不做限制。
[0034] 在具体实现中,服务器20可响应于终端10所运行的显示应用的接入请求,以建立和显示应用的通信连接。进一步地,服务器20可响应于显示应用的媒体数据获取请求,根据
媒体数据获取请求获取对应的媒体数据。或者,服务器20可基于默认配置信息,响应于显示
应用的接入请求,获取默认配置信息所要求获取的媒体数据。如云游戏服务器响应于云游
戏应用的接入请求,获取云游戏应用所对应的游戏画面的媒体数据。
[0035] 进一步地,服务器20在获取待媒体数据之后,可基于第一编码参数对媒体数据进行编码得到第一编码数据,并基于第一传输码率通过终端10向显示应用发送第一编码数
据。显示应用通过终端10接收到第一编码数据之后,可通过对第一编码数据进行解码得到
解码数据,从而基于解码数据显示相对应的显示内容。如云游戏服务器获取游戏画面的画
面数据之后,基于第一编码参数对画面数据进行编码得到游戏画面对应的第一编码数据,
并基于第一传输码率(例如5Mbps)向云游戏应用发送第一编码数据。云游戏应用接收到第
一编码数据后,可对第一编码数据进行解码得到解码数据,进而基于解码数据显示相对应
的游戏画面。
[0036] 在服务器10通过终端10向显示应用发送编码数据的过程中,可确定显示应用在第一时刻的显示内容的第一类型,从而根据显示应用在第一时刻的显示内容的第一类型,对
第一时刻后的媒体数据的编码参数和相对应的编码数据的传输码率进行调整。即在确定显
示应用在第一时刻的显示内容的第一类型后,基于第一类型确定第二传输码率和第二编码
参数。进而基于第二编码参数对第一时刻之后的媒体数据进行编码得到第二编码数据,并
基于第二传输码率通过终端10向显示应用发送第二编码数据。同样地,显示应用在第一时
刻之后对第二编码数据进行解码,并基于解码数据显示第一时刻后相对应的显示内容。
[0037] 基于此,服务器20可基于显示应用在任一时刻的显示内容的类型来实时调整编码参数和传输码率,从而实现对媒体数据的编码参数、以及用于发送编码数据的传输码率进
行适时调整。
[0038] 参见图2,图2是本申请实施例提供的媒体数据处理方法的一流程示意图。如图2所示,本申请实施例提供的媒体处理方法可包括如下步骤:
[0039] 步骤S21、响应于显示应用的接入请求,基于第一编码参数对媒体数据进行编码得到第一编码数据,基于第一传输码率向显示应用发送第一编码数据。
[0040] 本申请实施例中的显示应用可显示不同画质需求的显示内容,如可显示不同分辨率、不同刷新率的显示内容。其中,显示内容的分辨率越高,显示应用所显示的显示内容越
清晰,刷新率越高,显示应用所显示的显示内容越流畅,稳定性更高。
[0041] 作为一示例,本申请实施例中的显示应用为云游戏应用,若云游戏应用包括多种云游戏,则相应地,本申请实施例中的显示应用可显示各种云游戏的不同游戏场景的游戏
画面。
[0042] 在一些可行的实施方式中,响应于显示应用的接入请求,可获取相对应的媒体数据,从而向该媒体数据的编码数据发送至显示应用,以使显示应用基于编码数据显示媒体
数据对应的显示内容。
[0043] 其中,上述显示应用的接入请求可以为显示应用启动后请求与相对应的服务器建立通信连接的请求,也可以为请求服务器向显示应用发送媒体数据的请求,也可以为在任
何场景可触发服务器向显示应用发送媒体数据的请求,具体可基于实际应用场景需求确
定,在此不做限制。
[0044] 作为一示例,响应于用于建立通信连接的接入请求,获取预设媒体数据,把那个将预设媒体数据对应的编码数据发送至显示应用。上述预设媒体数据包括但不限于应用启动
画面对应的媒体数据、云游戏初始游戏场景对应的媒体数据等。
[0045] 作为一示例,响应于请求发送媒体数据的接入请求,获取该接入请求所请求发送的媒体数据,并向显示应用发送该接入请求所请求发送的媒体数据所对应的编码数据。如
响应于视频播放应用发送的针对第一视频的接入请求,获取第一视频对应的媒体数据,并
向显示应用发送第一视频对应的媒体数据的编码数据。再如,响应于云游戏应用发送的针
对第一游戏场景的接入请求,获取第一游戏场景的场景画面数据,并向云游戏应用发送第
一游戏场景的场景画面数据对应的编码数据。
[0046] 在一些可行的实施方式中,响应于显示应用的接入请求并获取媒体数据之后,可确定用于对媒体数据进行编码的初始编码参数、以及用于传输基于初始编码参数对媒体数
据进行编码得到的编码数据的初始传输码率。为方便描述,以下将初始编码参数和初始传
输码率分别称为第一编码参数和第一传输码率。
[0047] 其中,本申请在获取到媒体数据之后,可对媒体数据进行实时编码的同时,将编码得到的编码数据实时发送至显示应用。上述第一编码参数为初始时刻对媒体数据进行编码
时所采用的编码参数,上述第一传输码率为向显示应用发送基于第一编码参数得到的编码
数据时所采用的传输码率。
[0048] 本申请实施例中的编码参数为对媒体数据进行编码时所采用的各种编码方式的各项参数,包括但不限于ref、keyint、aq‑mode、me、subme、aq‑strength、qp、vbv‑maxrate、
ipratio、pbratio以及deblock等参数,具体可基于实际应用场景需求确定,在此不做限制。
[0049] 其中,ref参数用于指示编码过程中媒体数据的前向预测编码帧(P帧)的参考帧的数量;keyint参数用于指示编码过程中媒体数据的关键帧之间的间隔,且压缩率与keyint
参数的值呈正相关;aq‑mode参数用于指示编码过程中的自适应量化模式;aq‑strength参
数用于指示编码过程中的量化强度;me参数用于指示编码过程中全像素运动预测方式;
subme参数用于指示编码过程中的子像素估计复杂度;qp参数用于指示码率控制方式;vbv‑
maxrate参数用于指示编码过程中视频缓存检验器(Video Buffering Verifier,VBV)的最
大缓冲空间;deblock参数用于指示去除编码过程中产生的色块的强度;ipratio参数和
pbratio参数用于确定编码过程中帧内编码帧(I帧)和双向预测编码帧(B帧)的量化参数。
[0050] 需要特别说明的是,上述所示的编码参数仅为示例,具体可基于实际应用场景需求以及实际编码方式确定,在此不做限制。基于各项配置参数的不同组合所得到的编码参
数,可以不同的编码方式对媒体数据进行编码,从而使得最终的编码参数可对应于不同分
辨率、刷新率以及其他显示效果的显示内容。
[0051] 本申请实施例中的传输码率为向显示应用发送编码数据时所采用的数据传输码率,即在向显示应用发送编码数据的过程中单位时间传输的数据位数,传输码率一般可用
Kbps、Mbps等衡量。如以8Mbps的传输码率向显示应用发送编码数据。
[0052] 在一些可行的实施方式中,在确定第一编码参数和第一传输码率时,可确定显示应用的初始显示配置信息,进而基于显示应用的初始显示配置信息确定第一传输码率和第
一编码参数。其中,显示应用的初始显示配置信息用于说明显示应用在初始时刻显示显示
内容时的显示需求,包括但不限于画面分辨率和/或画面刷新率等,具体可基于实际应用场
景需求确定,在此不做限制。
[0053] 具体地,显示应用的初始显示配置信息可以为预设显示配置信息,在接收到显示应用的接入请求之后,可基于预设显示配置信息确定第一编码参数和第一传输码率。
[0054] 其中,上述预设显示配置信息可以为显示应用所能达到的最低显示需求的显示配置信息,也可以为显示应用所能达到的最高显示需求的显示配置信息,还可以为显示应用
对应的服务器的默认显示配置信息等,具体可基于实际应用场景需求确定,在此不做限制。
[0055] 可选地,在确定第一编码参数和第一传输码率时,可从显示应用获取初始显示配置信息。如在接收到显示应用的接入请求后,可获取接入请求所携带的初始显示配置信息,
进而基于初始显示配置信息确定第一编码参数和第一传输码率。或者,在接收到显示应用
的接入请求后,向显示应用发送配置确认请求,进而基于显示应用针对于配置确认请求的
响应信息,确定初始显示配置信息,从而基于初始显示配置信息确定第一编码参数和第一
传输码率。
[0056] 可选地,不同媒体数据可对应于不同的初始显示配置信息,在获取到媒体数据之后,可确定该媒体数据所对应的初始显示配置信息,以基于初始显示配置信息确定第一编
码参数和第一传输码率。
[0057] 作为一示例,上述接入请求为视频播放应用针对第二视频的接入请求,在获取到第二视频对应的媒体数据之后,可获取第一视频的媒体数据所对应的初始显示配置信息。
[0058] 作为一示例,响应于云游戏应用针对第一云游戏的接入请求,获取第一云游戏对应的游戏画面的媒体数据,并确定该媒体数据所对应的初始显示配置信息,也即确定第一
云游戏所对应的初始显示配置信息。
[0059] 在一些可行的实施方式中,在确定出初始显示配置信息之后,可基于初始显示配置信息与编码参数和传输码率的对应关系,确定第一编码参数和第一传输码率。
[0060] 具体地,可获取数据处理参数集合,数据处理参数集合中包括显示配置信息与编码参数和传输码率的对应关系、以及与不同显示配置信息所对应的具体编码参数和传输码
率。在确定出初始显示配置信息之后,可基于初始显示配置信息与编码参数和传输码率的
对应关系,从数据处理参数集合中确定第一编码参数和第一传输码率。
[0061] 作为一示例,上述初始显示配置信息包括分辨率,基于分辨率和编码参数的对应关系,从数据处理参数集合中确定与初始显示配置信息包括的分辨率相对应的编码参数中
确定第一编码参数,基于分辨率和传输码率的对应的关系,从数据处理参数集合中确定与
初始显示配置信息包括的分辨率相对应的传输码率中确定第一传输码率。
[0062] 其中,分辨率和编码参数的对应关系、以及分辨率和传输码率的对应关系为分别独立的对应关系,即每一分辨率可对应于至少一种编码参数,也可同时对应于至少一种传
输码率。如初始显示配置信息所包括的分辨率为720p,则可从720p分辨率对应的至少一种
编码参数中确定第一编码参数,从720p分辨率对应的至少一种传输码率中确定第一传输码
率。
[0063] 或者,每一分辨率可同时对应于至少一种编码参数和传输码率的组合,在此情况下可从数据处理参数集合中确定初始显示配置信息包括的分辨率所对应的至少一种编码
参数和传输码率的组合,并从初始显示配置信息包括的分辨率所对应的至少一种编码参数
和传输码率的组合中,确定出一组编码参数和传输码率。进一步将该组合中的编码参数确
定为第一编码参数,将该组合中的传输码率确定为第一传输码率。如初始显示配置信息所
包括的分辨率为1080p,则可确定出1080p分辨率对应的至少一种编码参数和传输码率的组
合,如可确定1080p分辨率对应于编码参数1和5Mbps、以及对应于编码参数2和7Mbps两种组
合,则可从中确定出一组编码参数和传输码率(如编码参数2和7Mbps)。进一步将该组合中
的编码参数2确定为第一编码参数,将该组合中的7Mbps确定为第一传输码率。
[0064] 作为一示例,上述初始显示配置信息包括刷新率,基于刷新率和编码参数的对应关系,从数据处理参数集合中确定与初始显示配置信息包括的刷新率相对应的编码参数中
确定第一编码参数,基于刷新率和传输码率的对应的关系,从与初始显示配置信息包括的
刷新率相对应的传输码率中确定第一传输码率。
[0065] 其中,刷新率和编码参数的对应关系、以及刷新率和传输码率的对应关系为分别独立的对应关系,即每一刷新率可对应于至少一种编码参数,也可同时对应于至少一种传
输码率。如初始显示配置信息所包括的刷新率为120FPS,则可从120FPS刷新率对应的至少
一种编码参数中确定第一编码参数,从120FPS刷新率对应的至少一种传输码率中确定第一
传输码率。
[0066] 或者,每一刷新率和同时对应于至少一种编码参数和传输码率的组合,在此情况下可从数据处理参数集合中确定初始显示配置信息包括的刷新率所对应的至少一种编码
参数和传输码率的组合,并从初始显示配置信息包括的刷新率所对应的至少一种编码参数
和传输码率的组合中,确定出一组编码参数和传输码率。进一步将该组合中的编码参数确
定为第一编码参数,将该组合中的传输码率确定为第一传输码率。如初始显示配置信息所
包括的刷新率为60FPS,则可确定出60FPS刷新率对应的至少一种编码参数和传输码率的组
合,如可确定60FPS刷新率对应于编码参数1和5Mbps、以及对应于编码参数2和7Mbps两种组
合,则可从中确定出一组编码参数和传输码率(如编码参数1和5Mbps)。进一步将该组合中
的编码参数1确定为第一编码参数,将该组合中的5Mbps确定为第一传输码率。
[0067] 作为一示例,上述初始显示信息包括分辨率和刷新率,基于分辨率和刷新率的组合与编码参数的对应关系,从与该组合对应的编码参数中确定第一编码参数,基于分辨率
和刷新率的组合与传输码率的对应关系,从与该组合对应的传输码率中确定第一传输码
率。
[0068] 其中,分辨率和刷新率的组合与编码参数的对应关系、分辨率和刷新率的组合与传输码率的对应关系分别为独立的对应关系,即每一分辨率和刷新率的组合可对应于至少
一种编码参数,也可同时对应于至少一种传输码率。如初始显示配置信息所包括的分辨率
为1080p、刷新率为120FPS,则可从1080p分辨率和120FPS刷新率组合对应的至少一种编码
参数中确定第一编码参数,从1080p分辨率和120FPS刷新率组合对应的至少一种传输码率
中确定第一传输码率。
[0069] 或者,每一分辨率和刷新率的组合可同时对应于至少一种编码参数和传输码率的组合,在此情况下可从数据处理参数集合中确定与初始显示信息中分辨率和刷新率组合所
对应的至少一种编码参数和传输码率的组合,并从中确定出一组编码参数和传输码率,进
一步将该编码参数和传输码率组合中的编码参数确定为第一编码参数,将该组合中的传输
码率确定为第一传输码率。如初始显示配置信息所包括的分辨率为720p、刷新率为60FPS,
则可确定出720p分辨率和60FPS刷新率组合对应的至少一种编码参数和传输码率的组合,
如可确定720p分辨率和60FPS刷新率组合对应于编码参数3和10Mbps、以及对应于编码参数
4和20Mbps两种组合,则可从中确定出一组编码参数和传输码率(如编码参数4和20Mbps)。
进一步将该组合中的编码参数4确定为第一编码参数,将该组合中的20Mbps确定为第一传
输码率。
[0070] 可选地,在确定显示应用的初始显示配置信息后,可基于初始显示配置信息并通过上述实现方式确定出第一编码参数。并在同时确定网络环境信息,并将网络环境信息所
支持的传输码率中确定出第一传输码率。其中,上述网络环境信息包括但不限于显示应用
所支持的最大传输码率、显示应用对应的服务器所支持的最大传输码率以及网络带宽信息
等,具体可基于实际应用场景需求确定,在此不做限制。
[0071] 可选地,在确定初始显示配置信息之后,可基于初始显示配置信息直接确定出支持初始显示配置信息在初始时刻显示内容时显示需求的至少一种编码参数以及至少一种
传输码率,进而将确定出的至少一种编码参数中的任一编码参数确定为第一编码参数,将
确定出的至少一种传输码率中的任一传输码率确定为第一传输码率。如初始显示配置信息
包括显示内容的分辨率和刷新率,进而可确定满足初始显示配置信息所指示的分辨率需求
和刷新率需求的编码参数和传输码率,进而从满足分辨率需求和刷新率需求的编码参数中
确定第一编码参数,从满足分辨率需求和刷新率需求的传输码率中确定第一传输码率。
[0072] 在一些可行的实施方式中,在基于初始显示配置信息确定第一编码参数和第一传输码率时,还可确定显示应用的初始显示内容的类型(为方便描述,以下称为第二类型),进
而基于初始显示内容的第二类型以及初始显示配置信息,从数据处理参数集合中确定第一
编码参数和第一传输码率。
[0073] 其中,上述数据处理参数集合中包括显示内容的类型、配置信息、编码参数以及传输码率之间的对应关系以及各项具体编码参数和传输码率。
[0074] 具体地,上述显示内容的第二类型具体可基于显示应用的应用类型确定,如显示应用的应用类型可包括2D应用类型、3D应用类型、虚拟现实(Virtual Reality,VR)类型以
及增强现实(Augmented Reality,AR)类型等,则相对应的显示内容的第二类型可以为2D类
型、3D类型、VR类型以及AR类型等。
[0075] 进一步地,显示应用的应用类型还可以基于显示应用的功能需求等确定,如显示应用为云游戏应用,则云游戏应用的应用类型还可基于游戏玩法、角色类型、场景布局等粒
度划分为多人在线战术竞技(Multiplayer Online Battle Arena,MOBA)游戏、角色扮演游
戏(Role‑playing Game,RPG)、动作(Action,ACT)游戏、冒险游戏(Adventure Game,AVG)、
动作冒险游戏(Act Adventure Game,AAG)、策略游戏(Strategy Game,SG)、模拟类角色扮
演游戏(Simulation Role‑playing Game,SPRG)、即时战略游戏(Real‑Time Strategy 
Game,RTS)、即时战术(Real‑Time Tactics,RTT)游戏、格斗游戏(Fighting Game,FTG)、射
击游戏(Shooting Game,STG)、第一人称视角射击游戏(First Personal Shooting Game,
FPS)、第三人称视角射击游戏(Third Personal Shooting Game,TPS)、益智(Puzzle,PZL)
游戏、体育竞技游戏(Sports Game,SPG)、竞速游戏(Racing Game,RCG)、卡片游戏(Card 
Game,CAG)以及桌面游戏(Table Game,TAB)等。基于此,可将云游戏应用的应用类型确定为
显示应用的显示内容的类型。
[0076] 进一步地,在显示应用为云游戏应用的情况下,还可基于上述云游戏应用的应用类型的划分方式进行进一步划分。如对于动作游戏,可将其划分为2D动作类游戏(ACT[2D])
和3D动作类游戏(ACT[3D]),或者对于显示内容的画面纹理复杂度和动作变化幅度等进行
进一步分类,如对于2D动作类游戏可进一步划分为低档2D动作类游戏、中档2D动作类游戏
和高档2D动作类游戏。
[0077] 需要特别说明的是,上述显示应用的应用类型的划分仅为示例,具体可基于实际应用场景需求确定,在此不做限制。
[0078] 具体地,对于显示应用的应用类型,可在接收到显示应用的接入请求之后,获取显示应用的应用信息,基于显示应用的应用信息确定初始显示内容的第二类型。
[0079] 显示应用的应用信息可包括但不限于应用标识信息、游戏标识信息以及运行显示应用的终端的标识信息等,在此不做限制。如基于游戏场景标识可确定云游戏应用的应用
类型,进而基于云游戏应用的应用类型确定初始显示内容的第二类型,基于应用标识可确
定相对应的应用类型、如渲染应用的应用类型、云游戏应用的游戏类型等,进而基于应用类
型确定初始显示内容的第二类型。需要特别说明的是,初始显示内容为显示应用在发送接
入请求后最初显示的内容,初始显示内容的第二类型可直接对应于显示应用的应用类型。
[0080] 具体地,对于显示内容而言,同一类型的显示内容在对应于不同的显示配置信息时,可对应于不同的编码参数和传输码率。换句话说,对于显示配置信息而言,同一显示配
置信息可对应于不同的编码参数和传输码率的组合,并且每一编码参数和传输码率的组合
对应于一种显示内容的类型。
[0081] 其中,编码参数和传输码率的组合与显示内容的类型的对应关系、以及编码参数和传输码率的组合与显示配置信息的对应关系可存储于数据处理参数集合之中。基于此,
在确定初始显示配置信息以及初始显示内容的第二类型之后,可先确定数据处理参数集
合,并基于数据处理参数集合确定初始显示配置信息对应的编码参数和传输码率,进而将
初始显示配置信息对应的编码参数和传输码率中,第二类型对应的编码参数和传输码率分
别确定为第一编码参数和第一传输码率。
[0082] 或者,可先从数据处理参数集合中确定确第二类型所对应的编码参数和传输码率,进而将第二类型所对应的编码参数和传输码率中,与初始显示配置信息相对应的编码
参数和传输码率确定为第一编码参数和第一传输码率。
[0083] 作为一示例,表1示出了数据处理参数集合中显示内容的类型、显示配置信息、编码参数以及传输码率之间的对应关系。
[0084] 表1
[0085]
[0086] 在表1中,显示内容的不同类型在对应于不同分辨率和刷新率的组合时,对应有不同的传输码率,且显示内容的不同类型对应有不同的编码参数。若显示应用的初始显示配
置信息包括分辨率1080P,刷新率30FPS,且显示应用的初始显示画面的第二类型为2D动作
游戏(ACT[2D])类型,则基于数据处理参数集合可确定第一传输码率为5.0Mbps,第一编码
参数为参数配置1。
[0087] 在一些可行的实施方式中,在确定第一编码参数和第一传输码率之后,可基于第一编码参数开始对媒体数据进行编码得到编码数据(为方便描述,以下称为第一编码数
据),进而基于第一传输码率向显示应用发送第一编码数据,即以第一传输码率向显示应用
发送第一编码数据。
[0088] 在一些可行的实施方式中,上述数据处理参数集合可存储于显示应用所对应的云服务器,或者显示应用对应的云存储空间、数据库管理系统(Database Management 
System,DBMS)以及区块链等,具体可基于实际应用场景需求确定,在此不做限制。
[0089] 其中,云存储空间可以通过集群应用、网格技术以及分布存储文件系统等功能,将大量各种不同类型的存储设备共同作为数据处理参数集合的存储空间。数据库简而言之可
预先将数据处理参数集合中的各项参数预先存储于数据库系统中。区块链是分布式数据存
储、本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个
数据块都可用于存储数据处理参数集合。
[0090] 步骤S22、在编码数据发送过程中,确定显示应用在第一时刻的显示内容的第一类型,基于第一类型确定第二传输码率和第二编码参数。
[0091] 在一些可行的实施方式中,在向显示应用发送媒体数据的编码数据过程中,由于显示应用的显示配置信息或者显示应用的显示内容的类型发生变化等,会导致变化前的第
一编码参数和第一传输码率不适用于当前媒体数据的编码以及编码数据的发送。如云游戏
应用的显示内容由2D类型变化为3D类型,若继续采用第一编码参数对3D类型的显示内容对
应的媒体数据进行编码则会导致显示内容出错,由于3D类型的显示内容对应的媒体数据进
行编码后的编码数据的数据量变大,若继续采用第一传输码率发送编码数据,则可能导致
编码数据传输不及时等问题。基于此,在向显示应用发送编码数据过程中的任一时刻(为方
便描述,以下称为第一时刻),可确定第一时刻对应的第二编码参数和第二传输码率,基于
第一编码参数对第一时刻之后的媒体数据进行编码得到编码数据(为方便描述,以下称为
第二编码数据),并基于第二传输码率向显示应用发送第二编码数据。
[0092] 具体地,可确定显示应用在第一时刻的显示配置信息(为方便描述,以下称为第一显示配置信息),进而基于第一显示配置信息确定第二编码参数和第二传输码率。其中,基
于第一显示配置信息确定第二编码参数和第二传输码率的具体实现方式,可参见图1中步
骤S21所示的基于初始显示配置信息确定第一传输码率和第一编码参数的实施方式,在此
不再赘述。
[0093] 作为一示例,显示应用在第一时刻的刷新率由原来的60FPS变化为120PFS,在第一时刻的分辨率由原来的720p变化为1080p,则需要基于60PFS的刷新率以及1080p的分辨率
确定第二传输码率和第二编码参数。
[0094] 在一些可行的实施方式中,在编码数据发送过程中的第一时刻,可确定显示应用在第一时刻的显示内容的类型(为方便描述,以下称为第一类型),进而基于显示应用在第
一时刻的显示内容的第一类型确定第二编码参数和第二传输码率。
[0095] 其中,显示应用在第一时刻的显示内容的第一类型,可表示显示应用在第一时刻之后的显示内容均为第一类型,因此基于第一类型所确定出的第二编码参数和第二传输码
率可在第一时刻之后持续采用。
[0096] 具体地,可获取显示应用在第一时刻对应的至少一帧显示图像,基于显示应用在第一时刻对应的至少一帧显示图像来确定显示应用在第一时刻的显示内容的第一类型。具
体可将显示应用在第一时刻对应的至少一帧显示图像所对应的显示内容的类型,确定为显
示应用在第一时刻的显示内容的第一类型。
[0097] 其中,显示应用在第一时刻对应的至少一帧显示图像可以为显示应用在第一时刻之间的连续至少一帧显示图像,将显示应用在第一时刻之前的连续至少一帧显示图像所对
应的显示内容的类型确定为显示应用在第一时刻的显示内容的第一类型。
[0098] 或者,显示应用在第一时刻对应的至少一帧显示图像可以为显示应用在第一时刻之后的连续至少一帧显示图像,将显示应用在第一时刻之后的连续至少一帧显示图像所对
应的显示内容的类型确定为显示应用在第一时刻的显示内容的第一类型。
[0099] 或者,显示应用在第一时刻对应的至少一帧显示图像可以包括第一时刻所对应的显示图像在内的连续至少一帧显示图像,将包括第一时刻所对应的显示图像在内的连续至
少一帧显示图像所对应的显示内容,确定为显示应用在第一时刻的显示内容的第一类型。
需要特别说明的是,上述第一时刻对应的还少一帧显示图像可以为任意代表第一时刻的显
示内容的其他显示内容所对应的至少一帧显示图像,具体可基于实际应用场景需求确定,
在此不做限制。
[0100] 在一些可行的实施方式中,基于至少一帧显示图像确定至少一帧显示图像对应的显示内容的类型,具体可基于人工智能领域中的机器学习(Machine Learning,ML)来确定。
基于人工智能可使智能机器具备基于至少一帧显示图像确定相对应的显示内容的类型的
能力。
[0101] 其中,对于获取到的至少一帧显示图像,可基于卷积神经网络(Convolutional Neural Networks, CNN)、循环神经网络(Recurrent Neural Network, RNN)、长短期记忆
网络(Long Short‑Term Memory,LSTM)等一种或者多种神经网络进行处理,最终得到至少
一帧显示图像所对应的显示内容的类型。
[0102] 具体地,可基于卷积神经网络对至少一帧显示图像进行卷积、过滤和池化等处理,得到各显示图像对应的图像特征。如对于每一帧显示图像,可通过图卷积神经网络对该显
示图像进行处理,得到该显示图像的初始图像特征,进一步通过池化层对初始图像特征进
行降维处理,得到该显示图像对应的图像特征。
[0103] 为了更好地捕获各显示图像中的时间和空间特征信息,可按照特定的时间维度即对连续的图像特征进行三维卷积,也即对连续几帧的图像特征的各位置的特征值进行卷
积,进而得到卷积特征,并将卷积特征确定为相对应的显示图像的图像特征。或者进一步对
卷积特征进行最大池化、最小池化以及平均池化等处理,得到最终的图像特征。
[0104] 进一步地,基于各显示图像对应的图像特征确定图像特征序列,并将图像特征序列作为分类神经网络的输入特征。经过分类神经网络对图像特征序列进行处理后,可确定
出图像特征序列对应的分类结果,进而基于分类结果确定至少一帧显示图像对应的显示内
容的类型(为方面描述,以下称为第三乐西)。
[0105] 其中,基于各显示图像对应的图像特征可采取纵向拼接或者横向拼接的方式确定出图像特征序列,或者可基于特征融合的方式对各图像特征进行特征融合,将特征融合得
到的融合特征确定为图像特征序列。
[0106] 参见图3,图3是本申请实施例提供的确定图像特征序列的场景示意图。如图3所示,在第一时刻之前的连续若干帧显示图像构成显示图像序列,对于显示图像序列中的任
一显示图像,可基于卷积神经网络对该显示图像进行特征提取,得到该显示图像对应的图
像特征。基于此,可得到各显示图像对应的图像特征,进而基于各显示图像对应的图像特征
得到作为分类神经网络的输入特征的图像特征序列。
[0107] 参见图4,图4是本申请实施例提供的确定显示内容的类型的场景示意图。如图4所示,基于卷积神经网络得到图像特征序列之后,可将图像特征序列作为分类神经网络模型
的输入特征,进而分类神经网络对图像特征序列进行特征处理,最终通过分类器得到第一
时刻之前的连续显示图像所对应的显示内容的第三类型。
[0108] 其中,上述分类神经网络包括但不限于循环神经网络(Recurrent Neural Network, RNN)、多层感知器(Multilayer Perceptron,MLP)、以及基于神经网络所构建的
分类模型(如BERT模型)等,具体可基于实际应用场景需求确定,在此不做限制。
[0109] 在一些可行的实施方式中,由于第一编码参数和第一传输码率是基于初始显示配置信息所确定的,其可能与第一时刻的显示内容的具体显示需求不完全相匹配。因此在编
码数据发送过程中的第一时刻,还可获取显示应用的评价信息,基于评价信息确定显示应
用在第一时刻的显示内容的第一类型。
[0110] 具体地,可获取评价信息集合,评价信息集合中包括多种样本评价信息,每个样本评价信息标注有类型标签,样本标签表征了相对应的样本评价信息所对应的显示应用的应
用类型。进一步可确定显示应用的评价信息与各样本评价信息的相似度,并将相似度最高
的样本评价信息的类型标签所表征的应用类型确定为显示应用的应用类型,进而基于显示
应用的应用类型确定显示应用在第一时刻的显示内容的第一类型。
[0111] 可选地,还可通过长短期记忆网络、协同过滤算法以及类型预测模型等,基于显示应用的评价信息对显示应用的类型进行预测,进而基于预测得到的显示应用的类型来确定
显示应用在第一时刻的显示内容的第一类型。
[0112] 作为一示例,可将显示应用的评价信息转化为特征向量,将评价信息对应的特征向量输入基于长短期记忆网络的类型预测模型,得到预测结果。进而基于类型预测模型的
预测结果得到显示应用的类型,并基于此确定显示应用在第一时刻的显示内容的第一类
型。如基于预测结果确定显示应用的类型为射击类游戏应用,则显示应用在第一时刻的显
示内容的第一类型为射击类型。
[0113] 在基于上述实现方式确定出显示应用在第一时刻的显示内容的第一类型之后,可基于第一类型确定第二传输码率和第二编码参数。其中,基于显示应用的显示内容的第一
类型确定第二传输码率和第二编码参数的具体实现方式,可参见图1中步骤S21所示的,基
于显示应用的显示内容的第二类型确定第一传输码率和第一编码参数的实施方式,如获取
显示应用在第一时刻的显示配置信息,基于显示应用在第一时刻的显示配置信息以及在第
一时刻的显示内容的第一类型,确定第二传输码率和第二编码参数,以及,基于显示应用在
第一时刻的第一显示配置信息和在第一时刻的显示内容的第一类型,从数据处理参数集合
中确定对应于第一类型和第一显示配置信息的第二传输码率和第二编码参数等,在此不再
赘述。
[0114] 其中,在获取显示应用在第一时刻的第一显示配置信息时,可获取显示应用在第一时刻发送的携带第一显示配置信息的相关请求获取,具体实现方式在此不再赘述。
[0115] 其中,显示应用在第一时刻的第一显示配置信息同样包括分辨率或刷新率中的至少一项。
[0116] 可选地,在基于显示应用在第一时刻的显示内容的第一类型来确定第二编码参数和第二传输码率时,还可确定第一类型和第二类型来确定显示应用在第一时刻的显示内容
和初始显示内容的差异度,从而基于该差异度来对第一编码参数和第二传输码率进行调
整,得到第二编码参数和第二传输码率。如对编码参数中的keyint参数进行调整,以改变编
码过程中媒体数据的关键帧之间的间隔,从而改变编码数据的压缩率。
[0117] 例如,若显示应用在第一时刻的显示内容的第一类型为射击游戏类型,在此之前的显示内容的第二类型为策略游戏类型,基于第一类型和第二类型可确定显示应用在第一
时刻的显示内容与此前的显示内容的差异度,如射击类的显示内容可能需要更高的刷新率
和分辨率。基于此,可将第一编码参数中的至少一项参数进行调整,以得到更适用于高刷新
率和高分辨率的第二编码参数。此外,由于射击类的显示内容需要更高的刷新率和分辨率,
因此对相对应的媒体数据进行编码之后编码数据的数据量相较此前变大,因此可对第一传
输码率进行调整,以得到传输码率更大的第二传输码率。
[0118] 例如,若显示应用为包括多种云游戏的游戏应用,若显示应用的初始显示内容为射击类游戏的游戏场景,显示应用在第一时刻的显示内容为卡牌类游戏的游戏场景,由于
游戏场景的显示需求不同,进而导致不同游戏对应的显示配置信息也不相同,从而可基于
显示应用在第一时刻的显示配置信息来重新确定相对应的第二编码参数和第二传输码率。
[0119] 在一些可行的实施方式中,在向显示应用发送编码数据的过程中,可定时获取显示应用的至少一帧显示图像。如每隔预设时间间隔获取预设时间区间内各帧显示图像,从
而基于各帧显示图像,通过上述实现方式确定该时刻对应的编码参数和传输码率,从而实
现对编码参数和传输码率的实时调整。
[0120] 步骤S23、基于第二编码参数对第一时刻之后的媒体数据进行编码得到第二编码数据,基于第二传输码率向显示应用发送第二编码数据。
[0121] 在一些可行的实施方式中,在确定出显示应用在第一时刻对应的第二编码参数和第二传输码率之后,可基于第二编码参数对第一时刻之后的媒体数据进行编码,得到第二
编码数据,进而基于第二传输码率向显示应用发送第二编码数据。
[0122] 进一步地,在向显示应用发送编码数据的过程中,可每隔预设时间间隔确定显示应用在对应时刻的显示内容的类型,进而基于该时刻的显示内容的类型确定新的编码参数
和新的传输码率,以基于新的编码参数对该时刻之后的媒体数据进行编码,并基于新的传
输码率将该时刻之后的编码数据发送至显示应用。在预设时间间隔较小的情况下,可实现
对媒体数据的编码参数和传输码率的实时调整,进而时间对显示应用的显示内容的实时调
整,提升显示内容的显示效果和用户体验。
[0123] 在一些可行的实施方式中,为进一步使得传输码率更符合实际的数据传输需求,在向显示应用发送编码数据的过程中,还可对传输码率进行进一步调整,以基于调整后的
传输码率向显示应用发送编码数据。
[0124] 其中,在编码数据发送过程中对传输码率进行调整的具体调整方式可参见图5。图5是本申请实施例提供的媒体数据处理方法的另一流程示意图,如图5所示,本申请实施例
提供的媒体数据处理方法还包括如下步骤:
[0125] S51、在编码数据发送过程中,获取显示应用在第二时刻的网络环境信息。
[0126] 在一些可行的实施方式中,可获取显示应用在任一时刻(为方便描述,以下称为第二时刻)的网络环境信息,即在向显示应用发送编码数据的过程中,可实时获取显示应用的
网络环境信息。
[0127] 其中,显示应用的网络环境信息可基于与显示应用的通信交互信息,如基于传输控制协议(Transmission Control Protocol,TCP)的交互信息、以及显示应用的上报信息
等获取,具体可基于实际应用场景需求确定,在此不做限制。
[0128] 具体地,显示应用的网络环境信息包括下行网络信息、最大接收码率、网络时延或者丢包率(LOSS RATE)中的至少一项。
[0129] 其中,下行网络信息可用于指示显示应用的带宽估计(Bandwidth Estimation,BWE),基于带宽估计可确定显示应用接收数据的下行网络的网络状态,最大接收码率用于
指示显示应用所在终端的接收器估计的最大比特率(Receiver Estimated Maximum 
Bitrate,REMB),基于此可确定显示应用所能匹配胖的最大接收码率,丢包率用于表示显示
应用在接收编码数据过程中丢失数据包的比率。
[0130] S52、基于网络环境信息对第二时刻对应的传输码率进行调整。
[0131] 在一些可行的实施方式中,基于显示应用的在第二时刻的网络环境信息,可对相对应的传输码率进行调整。例如,若显示应用接收数据的下行网络的带宽较高,则可适应性
提高第二时刻对应的传输码率。若显示应用的最大接收码率较低,为确保显示应用在接收
编码数据的同时可正常接收其他通信数据,则可适应性降低第二时刻对应的传输码率。若
显示应用的丢包率较高,为缓解丢包率提升显示应用的显示内容的显示效果,可适应性降
低第二时刻对应的传输码率。
[0132] 需要特别说明的是,上述基于网络环境信息对第二时刻刻对应的传输码率进行调整的实现方式仅为示例,具体调整策略可基于实际应用场景需求确定,在此不做限制。
[0133] S53、基于第二时刻对应的编码参数对第二时刻后的媒体数据进行编码,基于调整后的传输码率向显示应用发送编码数据。
[0134] 在一些可行的实施方式中,在对显示应用在第二时刻对应的传输码率进行调整之后,可基于显示应用在第二时刻对应的编码参数对第二时刻后的媒体数据进行编码,基于
调整后的传输码率向显示应用发送编码数据。即在向显示应用发送第一编码数据之后的任
一时刻均可基于显示应用的网络环境信息调整传输码率,从而基于动态传输码率向显示应
用发送媒体数据的编码数据。
[0135] 需要特别说明的是,在向显示应用发送编码数据的任一时刻,该时刻对应的传输码率不超过该时刻对应的预设码率。其中,该时刻的预设码率为显示应用对应的服务器所
能提供的、用于向显示应用发送编码数据的最大传输码率,具体可基于实际应用场景需求
确定,在此不做限制。
[0136] 下面结合图6对本申请实施例提供的媒体数据处理方法进行进一步说明。参见图6,图6是本申请实施例提供的云游戏数据处理方法的场景示意图。如图6所示,云游戏应用
向云游戏服务器发起包括应用信息的接入请求后,云游戏服务器可基于第一编码参数对云
游戏对应的游戏画面数据进行编码得到第一编码数据,并通过第一传输码率向云游戏应用
发送第一编码数据。
[0137] 在此过程中,云游戏服务器通过显存(Frame Buffer)进行数据采集,采集每个500ms至1s区间的显示图像序列,并基于卷积神经网络确定显示图像序列对应的图像特征
序列,并基于分类神经网络对图像特征序列进行处理,以对每个时间区间的显示图像序列
所对应的显示内容的类型进行类型检测。若在任一时刻检测到显示内容的类型发生变化
后,可基于该时刻对应的显示内容的类型确定新的传输码率和编码参数,并基于新的编码
参数对该时刻之后的游戏画面数据进行编码,基于新的传输码率将该时刻之后的编码数据
发送至云游戏应用。
[0138] 在云游戏服务器向云游戏发送游戏画面数据对应的编码数据的过程中,云游戏服务器还可实时获取云游戏应用上报的网络环境信息,如带宽估计、接收器估计的最大比特
率以及丢包率等信息,进而基于网络环境信息实时对传输码率进行调整。
[0139] 在本申请实施例中,可按照图像编码和解码存取的基本单位GOP(Group  of Pictures)为粒度来确定对传输码率和/或编码参数进行调整的时机。其中,编码器将多张
显示图像进行编码后生产成一段一段的连续画面(GOP),解码器在显示时则是读取一段一
段的GOP对应的编码数据进行解码后读取画面再渲染显示。因此,可确定多媒体数据所对应
的全部GOP,在每一GOP的起始时刻或者结束时刻确定显示内容的类型,以基于各时刻对应
的显示内容的类型对编码参数和传输码率进行调整。
[0140] 在本申请实施例中,通过确定编码数据发送过程中显示应用的显示内容的类型来调整传输码率和编码参数,从而确定出符合显示内容的传输码率和编码参数,实时提升显
示应用的显示效果,节省带宽资源。同时在编码数据的发送过程中可实时根据显示应用的
网络环境信息对传输码率进行进一步调整,提升编码数据的接收效率,适用性高。
[0141] 参见图7,图7是本申请实施例提供的媒体数据处理装置的结构示意图。本申请实施例提供的媒体数据处理装置700包括:
[0142] 数据编码模块701,用于响应于显示应用的接入请求,基于第一编码参数对媒体数据进行编码得到第一编码数据,基于第一传输码率向上述显示应用发送上述第一编码数
据;
[0143] 参数确定模块702,用于在编码数据发送过程中,确定上述显示应用在第一时刻的显示内容的第一类型,基于上述第一类型确定第二传输码率和第二编码参数;
[0144] 上述数据编码模块701,用于基于上述第二编码参数对上述第一时刻之后的媒体数据进行编码得到第二编码数据,基于上述第二传输码率向上述显示应用发送上述第二编
码数据。
[0145] 在一些可行的实施方式中,上述参数确定模块702,还用于:
[0146] 确定上述显示应用的初始显示配置信息;
[0147] 基于上述初始显示配置信息确定第一传输码率和第一编码参数。
[0148] 在一些可行的实施方式中,上述参数确定模块702,用于:
[0149] 获取上述显示应用的应用信息,基于上述应用信息确定上述显示应用的初始显示内容的第二类型;
[0150] 确定数据处理参数集合,从上述数据处理参数集合中确定对应于上述第二类型和上述初始显示配置信息的第一传输码率和第一编码参数。
[0151] 在一些可行的实施方式中,上述参数确定模块702,用于:
[0152] 获取上述显示应用在第一时刻对应的至少一帧显示图像,基于上述至少一帧显示图像确定上述显示应用在上述第一时刻的显示内容的第一类型;
[0153] 获取上述显示应用的评价信息,基于上述评价信息确定上述显示应用在上述第一时刻的显示内容的第一类型。
[0154] 在一些可行的实施方式中,上述参数确定模块702,用于:
[0155] 基于卷积神经网络对上述至少一帧显示图像进行处理,得到各上述显示图像对应的图像特征;
[0156] 基于分类神经网络对各上述图像特征进行处理,得到上述至少一帧显示图像所对应的显示内容的第三类型;
[0157] 将上述第三类型确定为上述显示应用在上述第一时刻的显示内容的第一类型。
[0158] 在一些可行的实施方式中,上述分类神经网络包括循环神经网络或者多层感知器中的任一项。
[0159] 在一些可行的实施方式中,上述参数确定模块702,用于:
[0160] 基于上述第一类型分别对上述第一传输码率和上述第一编码参数进行调整,得到第二传输码率和第二编码参数;
[0161] 确定上述显示应用在上述第一时刻的第一显示配置信息,从上述数据处理参数集合中确定对应于上述第一类型和上述第一显示配置信息的第二传输码率和第二编码参数。
[0162] 在一些可行的实施方式中,上述媒体数据处理装置700还包括参数调整模块703,上述参数调整模块703还用于:
[0163] 在编码数据发送过程中,获取上述显示应用在第二时刻的网络环境信息;
[0164] 基于上述网络环境信息对上述第二时刻对应的传输码率进行调整;
[0165] 基于上述第二时刻对应的编码参数对上述第二时刻后的媒体数据进行编码,基于调整后的传输码率向上述显示应用发送编码数据。
[0166] 在一些可行的实施方式中,上述网络环境信息包括上述显示应用在上述第二时刻的下行网络信息、最大接收码率或者丢包率中的至少一项。
[0167] 在一些可行的实施方式中,上述初始显示配置信息或上述第一显示配置信息包括分辨率或者刷新率中的至少一项。
[0168] 在一些可行的实施方式中,在编码数据发送过程中的任一时刻,该时刻对应的传输码率不超过该时刻对应的预设码率。
[0169] 具体实现中,上述媒体数据处理装置700可通过其内置的各个功能模块执行如上述图2和/或图5中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方
式,在此不再赘述。
[0170] 上述媒体数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该媒体数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供
的方法中的相应步骤。
[0171] 在一些可行的实施方式中,本申请实施例提供的媒体数据处理装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的媒体数据处理装置可以是采用硬件译
码处理器形式的处理器,其被编程以执行本发明实施例提供的媒体数据处理方法,例如,硬
件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(Application 
Specific Integrated Circuit,ASIC)、(Digital Signal Processor,DSP)、可编程逻辑器
件(Programmable Logic Device,PLD)、复杂可编程逻辑器件(Complex Programmable 
Logic Device,CPLD)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)、中央
处理单元(Central Processing Unit,CPU)或其他电子元件。
[0172] 在一些可行的实施方式中,本申请实施例提供的媒体数据处理装置可以采用软件方式实现,如存储在存储器中的媒体数据处理装置700,其可以是程序和插件等形式的软
件,并包括一系列的模块,包括数据编码模块701、参数确定模块702以及参数调整模块703。
其中,数据编码模块701、参数确定模块702以及参数调整模块703用于实现本发明实施例提
供的媒体数据处理方法。
[0173] 参见图8,图8是本申请实施例提供的电子设备的结构示意图。如图8所示,本实施例中的电子设备800可以为显示应用对应的服务器,具体可以包括:处理器801,网络接口
804和存储器805,此外,上述电子设备800还可以包括:用户接口803,和至少一个通信总线
802。其中,通信总线802用于实现这些组件之间的连接通信。其中,用户接口803可以包括显
示屏(Display)、键盘(Keyboard),可选用户接口803还可以包括标准的有线接口、无线接
口。网络接口804可选的可以包括标准的有线接口、无线接口(如WI‑FI接口)。存储器804可
以是高速RAM存储器,也可以是非不稳定的存储器(non‑volatile memory),例如至少一个
磁盘存储器。存储器805可选的还可以是至少一个位于远离前述处理器801的存储装置。如
图8所示,作为一种计算机可读存储介质的存储器805中可以包括操作系统、网络通信模块、
用户接口模块以及设备控制应用程序。
[0174] 在图8所示的电子设备800中,网络接口804可提供网络通讯功能;而用户接口803主要用于为用户提供输入的接口;而处理器801可以用于调用存储器805中存储的设备控制
应用程序,以实现本申请实施例提供的媒体数据处理方法。
[0175] 应当理解,在一些可行的实施方式中,上述处理器801可以是中央处理单元,该处理器还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其
他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处
理器或者该处理器也可以是任何常规的处理器等。该存储器可以包括只读存储器和随机存
取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存
储器。例如,存储器还可以存储设备类型的信息。
[0176] 具体实现中,上述电子设备800可通过其内置的各个功能模块执行如上述图2中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
[0177] 本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,被处理器执行以实现图2和/或图5中各个步骤所提供的方法,具体可参见上述各
个步骤所提供的实现方式,在此不再赘述。
[0178] 上述计算机可读存储介质可以是前述媒体数据处理模块或者电子设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部
存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card, SMC),
安全数字(secure digital, SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还
可以包括磁碟、光盘、只读存储记忆体(read‑only memory,ROM)或随机存储记忆体
(randomaccess memory,RAM)等。进一步地,该计算机可读存储介质还可以既包括该电子设
备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以
及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经
输出或者将要输出的数据。
[0179] 本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理
器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设
备执行图2和/或图5中各个步骤所提供的方法。
[0180] 本申请的权利要求书和说明书及附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何
变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品
或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可
选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施
例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例
中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施
例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述
的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/ 
或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组
合。
[0181] 以上所揭露的仅为本申请较佳实施例而已,不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。