System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 视频帧处理方法及电子设备技术_技高网

视频帧处理方法及电子设备技术

技术编号:42516601 阅读:4 留言:0更新日期:2024-08-27 19:30
本申请实施例公开了视频帧处理方法及电子设备,所述方法包括:在接收方接收到暂时无法解码的参考帧后,对等待被依赖帧到达所带来的第一代价以及发起关键帧请求所带来的第二代价进行预估;其中,所述第一代价中包括由于等待被依赖帧而引入的时延,所述第二代价包括由于请求关键帧而引入的时延以及惩罚因子,所述惩罚因子用于表达因请求关键帧导致已收到的参考帧被跳过而对视频流畅性造成的影响;对第一代价与第二代价进行比对,如果第一代价大于第二代价,则发起关键帧请求,否则将所述参考帧保留在缓存中,继续等待被依赖帧到达。通过本申请实施例,有利于在减少时延的同时,又尽量减少因盲目主动请求关键帧而对视频播放的流畅性所造成的影响。

【技术实现步骤摘要】

本申请涉及实时视频通信,特别是涉及视频帧处理方法及电子设备


技术介绍

1、随着移动互联网的不断发展,高清视频会议、云游戏、3d交互式云渲染等实时音视频通信应用的普及程度空前增加。例如,在商品信息服务系统中,3d交互式云渲染技术被应用于高质量3d商品和虚拟人物形象的展示,旨在为用户提供沉浸式的线上购物体验。具体而言,用户通过客户端发送指令给云端服务器,服务器将指令所要求的画面进行实时渲染并且通过视频流的形式发送给客户端,最终用户通过客户端观看到自己的操作结果——高质量的视频流。此类实时音视频通信应用通常对于时延的要求极其苛刻,如云游戏场景下mtp(motion to photons,运动响应时延)时延不应超过100~150ms,因此接收方需要尽快将收到的视频帧解码、渲染并播放。

2、发送方对实时视频流中的视频帧进行编码时,通常会包含可以两种类型的视频帧,即关键帧(keyframe)与参考帧(delta frame)。其中关键帧包含一帧画面的所有信息,能够被独立解码,而参考帧只包含一帧画面相对于其它画面的残差信息,解码时依赖关键帧或者其他参考帧,无法被独立解码。通常,发送方会按照顺序发出各编码完成的视频帧,但是,由于网络传输过程中可能存在乱序或丢包等情况,使得发送方按序发出的视频帧可能无法按序依次到达接收端。此时,乱序到达的参考帧必须等待其依赖的关键帧或其他参考帧到达之后才能被解码、渲染以及播放,进而导致时延增加甚至引发卡顿。


技术实现思路

1、本申请提供了视频帧处理方法及电子设备,有利于在减少时延的同时,又尽量减少因盲目主动请求关键帧而对视频播放的流畅性所造成的影响。

2、本申请提供了如下方案:

3、一种视频帧处理方法,包括:

4、在接收方接收到暂时无法解码的参考帧后,对等待被依赖帧到达所带来的第一代价以及发起关键帧请求所带来的第二代价进行预估;其中,所述第一代价中包括由于等待被依赖帧而引入的时延,所述第二代价包括由于请求关键帧而引入的时延以及惩罚因子,所述惩罚因子用于表达因请求关键帧导致已收到的参考帧被跳过而对视频流畅性造成的影响;

5、对第一代价与第二代价进行比对,如果第一代价大于第二代价,则发起关键帧请求,否则将所述参考帧保留在缓存中,继续等待被依赖帧到达。

6、其中,所述第一代价具体包括:等待被依赖帧到达所需的第一时长,以及被依赖帧到达使得至少一个参考帧可解码后,对该被依赖帧以及所述至少一个参考帧进行解码渲染所需的第二时长。

7、其中,对所述第一时长进行预估时,假设发送方下一帧对所述被依赖帧进行重传,则通过一个周期的网络往返时延表达所述第一时长。

8、其中,对所述第二时长进行预估时,确定缓存中处于暂时无法解码状态的参考帧数量q,并假设该q个参考帧直接或间接依赖同一被依赖帧,则所述第二时长为t*(q+1),其中,t为接收方进行视频帧解码和渲染所需的平均时长。

9、其中,所述第二代价中由于请求关键帧而引入的时延包括:预估的关键帧传输时长以及对关键帧进行解码和渲染所需的时长。

10、其中,在对所述关键帧传输时长进行预估时,预估接收方的网络带宽,并根据从所述实时视频通信对应的会话开始到当前时刻之间接收到的视频帧的数据量,预估所述实时视频通信中的关键帧的数据量最大值;

11、根据预估出的网络带宽信息以及关键帧的数据量最大值,预估出通过网络发送所述关键帧所需的时长,根据该时长以及一个周期的网络往返时延,预估出所述关键帧传输时长。

12、其中,所述惩罚因子根据缓存中处于暂时无法解码状态的参考帧数量q以及预置的控制系数而确定,所述控制系统为正数。

13、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一项所述的方法的步骤。

14、一种电子设备,包括:

15、一个或多个处理器;以及

16、与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述任一项所述的方法的步骤。

17、一种计算机程序产品,包括计算机程序/计算机可执行指令,所述计算机程序/计算机可执行指令被电子设备中的处理器执行时实现前述任一项所述方法的步骤。

18、根据本申请提供的具体实施例,本申请公开了以下技术效果:

19、通过本申请实施例提供的方案,在视频通信的接收方收到暂时无法解码的参考帧后,并不是盲目地向发送方请求关键帧,而是首先可以对等待被依赖帧到达所带来的第一代价以及发起关键帧请求所带来的第二代价进行预估。其中,在预估继续等待被依赖帧的第一代价时,可以主要考虑由于等待被依赖帧而引入的时延;在预估主动请求关键帧的第二代价时,除了考虑由于请求关键帧而引入的时延,还引入惩罚因子,该惩罚因子可以用于表达因请求关键帧导致已收到的参考帧被跳过而对视频流畅性造成的影响。也就是说,在进行两个代价预估的过程中,考虑到了时延以及对流畅性的影响这两方面的因素,因此,通过这种方式,有利于在减少时延的同时,又尽量减少因盲目主动请求关键帧而对视频播放的流畅性所造成的影响。

20、当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。

本文档来自技高网...

【技术保护点】

1.一种视频帧处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求2所述的方法,其特征在于,

4.根据权利要求2所述的方法,其特征在于,

5.根据权利要求1所述的方法,其特征在于,

6.根据权利要求5所述的方法,其特征在于,

7.根据权利要求1所述的方法,其特征在于,

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

9.一种电子设备,其特征在于,包括:

10.一种计算机程序产品,包括计算机程序/计算机可执行指令,其特征在于,所述计算机程序/计算机可执行指令被电子设备中的处理器执行时实现权利要求1至7任一项所述方法的步骤。

【技术特征摘要】

1.一种视频帧处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求2所述的方法,其特征在于,

4.根据权利要求2所述的方法,其特征在于,

5.根据权利要求1所述的方法,其特征在于,

6.根据权利要求5所述的方法,其特征在于,

7.根据权利要求1所述的方法,其特征在于...

【专利技术属性】
技术研发人员:杨馥榕赵员康刘彦梅章玖海陈颖郭虹宇
申请(专利权)人:淘宝中国软件有限公司
类型:发明
国别省市:

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

1