基于缓冲池的图像解码方法、装置、可读介质及电子设备制造方法及图纸

技术编号:35696851 阅读:32 留言:0更新日期:2022-11-23 14:48
本申请属于云计算技术领域,涉及一种基于缓冲池的图像解码方法、装置、计算机可读介质及电子设备。该方法应用于客户端,包括:获取编码码流,基于编码码流构建对应于单帧图像的帧Frame对象;基于Frame对象申请缓冲池中的存储空间,并将与单帧图像对应的Frame包存储于缓冲池中;将Frame包以最大送帧速度输入至解码端,其中最大送帧速度是根据与所述单帧图像具有相同参数的测试码流对所述解码端进行动态能力探测后,基于所述动态能力调整得到的。本申请能够通过缓冲池缓存数据包,并以最大送帧速度将缓冲池中的Frame包输入到解码端中,避免了解码端性能下降、减缓了网络拥塞,还能实现流量稳定控制的效果,提高了解码端的解码性能。能。能。

【技术实现步骤摘要】
基于缓冲池的图像解码方法、装置、可读介质及电子设备


[0001]本申请属于云计算
,具体涉及一种基于缓冲池的图像解码方法、基于缓冲池的图像解码装置、计算机可读介质以及电子设备。

技术介绍

[0002]随着网络技术的快速发展,终端使用者对终端设备的性能有了更高的需求,比如对于在观看视频、玩游戏时,都希望画面清晰顺畅、无卡顿,这也就对视频的编解码延时有着极高的要求,例如当视频的帧率为60fps(frames per second,帧/秒)时,编解码延时需要小于16ms,当视频的帧率为120fps时,编解码延时需要小于8ms,等等。
[0003]目前,进行视频编解码时,一般不会对网络传入的数据进行管理,即网络传入多少数据,都会立即传入芯片进行编解码,但是如果网络同时传入大量的数据包,而上层框架对数据不作管理,把所有数据包都直接传入芯片中的话,会导致芯片工作负荷过高发热,降低了芯片的工作效率,增加了编解码的延时,最终降低了视频的观赏体验,视频的播放画面卡顿延时严重。

技术实现思路

[0004]本申请的目的在于提供一种基于缓冲池的图像解码方法、基于缓冲池的图像解码装置、计算机可读介质以及电子设备,能够克服相关技术中存在的大量数据包同时进入芯片进行解码导致芯片性能下降,解码延时严重,以及视频画面卡顿的问题。
[0005]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0006]根据本申请实施例的一个方面,提供一种基于缓冲池的图像解码方法,该方法包括:获取编码码流,基于所述码流构建对应于单帧图像的帧Frame对象;基于所述Frame对象申请缓冲池中的存储空间,并将与所述单帧图像对应的Frame包存储于所述缓冲池中;将所述Frame包以最大送帧速度输入至解码端,其中所述最大送帧速度是根据与所述单帧图像具有相同参数的测试码流对所述解码端进行动态能力探测后,基于所述动态能力调整得到的。
[0007]根据本申请实施例的一个方面,提供一种基于缓冲池的图像解码装置,该装置包括:对象构建模块,用于获取编码码流,基于所述编码码流构建对应于单帧图像的帧Frame对象;空间申请模块,用于基于所述Frame对象申请缓冲池中的存储空间,并将与所述单帧图像对应的Frame包存储于所述缓冲池中;解码模块,用于将所述Frame包以最大送帧速度输入至解码端,其中所述最大送帧速度是根据与所述单帧图像具有相同参数的测试码流对所述解码端进行动态能力探测后,基于所述动态能力调整得到的。
[0008]在本申请的一些实施例中,所述对象构建模块配置为:对所述编码码流进行解析,以获取与所述单帧图像对应的帧信息,所述帧信息包括帧类型、时间戳、帧大小和序列号;根据所述帧信息和与所述单帧图像对应的内存地址构建所述Frame对象。
[0009]在本申请的一些实施例中,所述缓冲池包括:未申请未使用空间、已申请未使用空间和已使用空间;所述Frame对象包括与所述单帧图像对应的帧信息和内存地址;所述空间申请模块配置为:基于所述内存地址向所述缓冲池发送存储空间申请指令,并根据所述帧信息中的帧大小和所述帧信息的大小确定所述Frame包的大小;在所述Frame包的大小小于或等于所述未申请未使用空间的大小时,根据所述Frame包的大小获取所述未申请未使用空间中的空间作为申请空间;以及,在所述已申请未使用空间中剩余空间的大小大于或等于所述Frame包的大小时,将所述Frame包存储于所述已申请未使用空间中。
[0010]在本申请的一些实施例中,所述空间申请模块还配置为:在所述Frame包的大小大于所述未申请未使用空间时,等待所述已使用空间释放,直至所述未申请未使用空间的大小大于或等于所述Frame包的大小;以及,在所述已申请未使用空间中剩余空间的大小小于所述Frame包的大小时,等待所述已使用空间释放,直至所述已申请未使用空间中剩余空间的大小大于或等于所述Frame包的大小。
[0011]在本申请的一些实施例中,所述空间申请模块还配置为:根据所述Frame对象中的时间戳和/或索引号将所述Frame包按序存储于所述缓冲池中。
[0012]在本申请的一些实施例中,所述参数包括设定帧率;所述解码模块包括:第一输入单元,用于将所述测试码流以所述设定帧率输入至所述解码端进行解码,以获取基准输出帧率和基准单帧平均解码延时;第一比对单元,用于根据所述设定帧率和第一系数确定第一帧率阈值,并将所述基准输出帧率与所述第一帧率阈值进行比对;第一确定单元,用于当所述基准输出帧率小于所述第一帧率阈值时,将所述设定帧率作为所述最大送帧速度;第二输入单元,用于当所述基准输出帧率大于或等于所述第一帧率阈值时,增大所述设定帧率以获取送帧速度,并将所述测试码流以所述送帧速度输入至所述解码端进行解码,以获取输出帧率和单帧平均解码延时;第一计算单元,用于根据所述送帧速度、所述基准单帧平均解码延时、所述输出帧率和所述单帧平均解码延时确定最大送帧速度。
[0013]在本申请的一些实施例中,所述第一计算单元包括:第二比对单元,用于根据所述送帧速度和第二系数确定第二帧率阈值,并将所述输出帧率与所述第二帧率阈值进行比对;第二确定单元,用于当所述输出帧率小于所述第二帧率阈值时,将所述送帧速度作为所述最大送帧速度;第二计算单元,用于当所述输出帧率大于或等于所述第二帧率阈值时,根据所述送帧速度、所述基准单帧平均解码延时和所述单帧平均解码延时确定最大送帧速度。
[0014]在本申请的一些实施例中,所述第二计算单元包括:第三比对单元,用于将所述基准单帧平均解码延时和所述单帧平均解码延时进行比对;第三确定单元,用于当所述单帧平均解码延时大于所述基准单帧平均解码延时时,将所述送帧速度作为所述最大送帧速度;第四计算单元,用于当所述单帧平均解码延时小于或等于所述基准单帧平均解码延时时,根据所述送帧速度确定最大送帧速度。
[0015]在本申请的一些实施例中,所述第三确定单元包括:第四比对单元,用于将所述送帧速度与帧率阈值进行比对;第四确定单元,用于当所述送帧速度大于所述帧率阈值时,将所述送帧速度作为所述最大送帧速度;更新单元,用于当所述送帧速度小于或等于所述帧率阈值时,更新所述送帧速度,并以更新送帧速度将所述测试码流输入至所述解码端进行解码,以获取更新输出帧率和更新单帧平均解码延时;第五计算单元,用于根据所述更新送
帧速度、所述基准单帧平均解码延时、所述更新输出帧率和所述更新单帧平均解码延时确定所述最大送帧速度。
[0016]在本申请的一些实施例中,所述基于缓冲池的图像解码装置还包括:获取模块,用于获取网络拥塞时长和等待申请缓冲池存储空间的图像帧数量;清空模块,用于当所述网络拥塞时长大于预设时长,且所述图像帧数量大于预设阈值时,检测所述缓冲池中存储的Frame包中是否存在立即刷新图像IDR帧,并根据检测结果对所述缓冲池进行清空。
[0017]在本申请的一些实施例中,所述清空模块配置为:当所述缓冲池中存在所述IDR帧时,获取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于缓冲池的图像解码方法,其特征在于,应用于客户端,包括:获取编码码流,基于所述编码码流构建对应于单帧图像的帧Frame对象;基于所述Frame对象申请缓冲池中的存储空间,并将与所述单帧图像对应的Frame包存储于所述缓冲池中;将所述Frame包以最大送帧速度输入至解码端,其中所述最大送帧速度是根据与所述单帧图像具有相同参数的测试码流对所述解码端进行动态能力探测后,基于所述动态能力调整得到的。2.根据权利要求1所述的方法,其特征在于,所述基于所述编码码流构建对应于单帧图像的帧Frame对象,包括:对所述编码码流进行解析,以获取与所述单帧图像对应的帧信息,所述帧信息包括帧类型、时间戳、帧大小和序列号;根据所述帧信息和与所述单帧图像对应的内存地址构建所述Frame对象。3.根据权利要求1所述的方法,其特征在于,所述缓冲池包括:未申请未使用空间、已申请未使用空间和已使用空间;所述Frame对象包括与所述单帧图像对应的帧信息和内存地址;所述基于所述Frame对象申请缓冲池中的存储空间,并将与所述单帧图像对应的Frame包存储于所述缓冲池中,包括:基于所述内存地址向所述缓冲池发送存储空间申请指令,并根据所述帧信息中的帧大小和所述帧信息的大小确定所述Frame包的大小;在所述Frame包的大小小于或等于所述未申请未使用空间的大小时,根据所述Frame包的大小获取所述未申请未使用空间中的空间作为申请空间;以及在所述已申请未使用空间中剩余空间的大小大于或等于所述Frame包的大小时,将所述Frame包存储于所述已申请未使用空间中。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述Frame包的大小大于所述未申请未使用空间时,等待所述已使用空间释放,直至所述未申请未使用空间的大小大于或等于所述Frame包的大小;以及在所述已申请未使用空间中剩余空间的大小小于所述Frame包的大小时,等待所述已使用空间释放,直至所述已申请未使用空间中剩余空间的大小大于或等于所述Frame包的大小。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:根据所述Frame对象中的时间戳和/或索引号将所接收到的Frame包按序存储于所述缓冲池中。6.根据权利要求1所述的方法,其特征在于,所述参数包括设定帧率;所述根据与所述单帧图像具有相同参数的测试码流对所述解码端进行动态能力探测后,基于所述动态能力调整得到最大送帧速度,包括:将所述测试码流以所述设定帧率输入至所述解码端进行解码,以获取基准输出帧率和基准单帧平均解码延时;根据所述设定帧率和第一系数确定第一帧率阈值,并将所述基准输出帧率与所述第一帧率阈值进行比对;
当所述基准输出帧率小于所述第一帧率阈值时,将所述设定帧率作为所述最大送帧速度;当所述基准输出帧率大于或等于所述第一帧率阈值时,增大所述设定帧率以获取送帧速度,并将所述测试码流以所述送帧速度输入至所述解码端进行解码,以获取输出帧率和单帧平均解码延时;根据所述送帧速度、所述基准单帧平均解码延时、所述输出帧率和所述单帧平均解码延时确定最大送帧速度。7.根据权利要求6所述的方法,其特征在于,所述根据所述送帧速度、所述基准单帧平均解码延时、所述输出帧率和所述单帧平均解码延时确定最大送帧速度,包括:根据所述送帧速度和第二系数确定第二帧率阈值,并将所述输出帧率与所述第二帧率阈值进行比对;当所述输出帧率小...

【专利技术属性】
技术研发人员:黄永铖陈思佳曹洪彬曹健杨小祥宋美佳张佳
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1