本技术涉及视频处理,特别涉及一种视频帧播放方法、可丢弃视频帧确定方法及相关产品。
背景技术:
1、随着互联网的发展,市场上终端种类繁多,电子设备性能千差万别。电子设备在播放音视频的过程中,若视频帧解码性能与视频源的视频帧率不匹配,则较容易造成视频播放卡顿,出现音视频播放不同步的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提升音视频播放同步性的视频帧播放方法、可丢弃视频帧确定方法及相关产品,其中,相关产品包括视频帧播放装置、可丢弃视频帧确定装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本技术提供了一种视频帧播放方法,所述方法包括:
3、读取待解码视频帧;
4、在所述待解码视频帧为可丢弃视频帧,且所述音视频播放时差大于或等于时差阈值的情况下,确定所述待解码视频帧不被解码,所述可丢弃视频帧为可不被解码的视频帧;
5、其中,所述可丢弃视频帧分布在视频帧组中的双向预测视频帧中,且所述可丢弃视频帧在所述视频帧组中的占比小于所述双向预测视频帧在所述视频帧组中的占比;
6、所述音视频播放时差是基于已解码音频帧的应播放时间与已解码视频帧的应播放时间所形成的时差所得到,历史视频帧经解码后成为已解码视频帧,所述历史视频帧的被读取时间早于所述待解码视频帧的被读取时间。
7、在其中一个实施例中,在所述视频帧组中,连续的双向预测视频帧的连续帧数小于第一阈值的情况下,连续的双向预测视频帧中未分布有所述可丢弃视频帧;
8、在所述视频帧组中,连续的双向预测视频帧的连续帧数大于或等于所述第一阈值,且小于第二阈值的情况下,连续的双向预测视频帧中分布有第一比例帧数的所述可丢弃视频帧,所述第一比例帧数是指所述连续帧数乘以第一比例后所得到的帧数;
9、在所述视频帧组中,连续的双向预测视频帧的连续帧数大于或等于所述第二阈值的情况下,连续的双向预测视频帧中分布有第二比例帧数的所述可丢弃视频帧,所述第二比例帧数是指所述连续帧数乘以第二比例后所得到的帧数;
10、其中,所述第一比例帧数和所述第二比例帧数之和,等于所述视频帧组中的视频帧总帧数乘以所述可丢弃视频帧在所述视频帧组中的占比。
11、在其中一个实施例中,所述可丢弃视频帧均匀分布在所述视频帧组中的所述双向预测视频帧中。
12、在其中一个实施例中,在所述待解码视频帧为可丢弃视频帧,且所述音视频播放时差大于或等于时差阈值的情况下,确定所述待解码视频帧不被解码之前,所述方法还包括:
13、计算第一音频帧的应播放时间与第一视频帧的应播放时间所形成的第一时差,所述第一音频帧的实际播放时间与所述第一视频帧的实际播放时间相同;
14、计算第二音频帧的应播放时间与第二视频帧的应播放时间所形成的第二时差,所述第二音频帧的实际播放时间与所述第二视频帧的实际播放时间相同,所述第二视频帧的实际播放时间在所述第一视频帧的实际播放时间之前;
15、计算第三音频帧的应播放时间与第三视频帧的应播放时间所形成的第三时差,所述第三音频帧的实际播放时间与所述第三视频帧的实际播放时间相同,所述第三视频帧的实际播放时间在所述第二视频帧的实际播放时间之前;
16、根据所述第一时差、所述第二时差和所述第三时差的变化趋势,得到所述音视频播放时差;
17、其中,所述第一音频帧、所述第二音频帧和所述第三音频帧分别为已解码音频帧,所述第一视频帧、所述第二视频帧和所述第三视频帧分别为已解码视频帧。
18、在其中一个实施例中,在所述待解码视频帧为可丢弃视频帧,且所述音视频播放时差大于或等于时差阈值的情况下,确定所述待解码视频帧不被解码之前,所述方法还包括:
19、计算当前时刻播放的音频帧的应播放时间与当前时刻播放的视频帧的应播放时间所形成的时差,得到所述音视频播放时差。
20、在其中一个实施例中,所述方法还包括:
21、在所述待解码视频帧不为所述可丢弃视频帧,或所述音视频播放时差小于所述时差阈值的情况下,解码并播放所述待解码视频帧。
22、第一方面提供的视频帧播放方法,引入可丢弃视频帧和音视频播放时差。可丢弃视频帧是指可以丢弃的视频帧,为分布在视频源的各视频帧组中的双向预测视频帧。可丢弃视频帧在视频帧组中的占比小于双向预测视频帧在视频帧组中的占比。可丢弃视频帧为可不被解码的视频帧,可丢弃视频帧被丢弃的情况下则不被解码。由于视频帧组中的双向预测视频帧不作为视频帧组中的其他视频帧解码时的参考帧,因此可丢弃视频帧被丢弃的情况下不会影响视频帧组中其他视频帧的解码。音视频播放时差基于已解码音频帧的应播放时间与已解码视频帧的应播放时间所形成的时差所得到,历史视频帧经解码后成为已解码视频帧,历史视频帧的被读取时间早于所述待解码视频帧的被读取时间。应播放时间是指已解码音视频和已解码视频帧分别对应的显示时间戳,亦即播放时间戳。通过判断音视频播放时差是否小于时差阈值,能够确定音视频播放是否同步。若音视频播放时差大于或等于时差阈值,则确定音视频播放不同步。
23、在电子设备的解码性能与视频源的视频帧率不匹配的情况下,能够通过减少电子设备需要解码的视频帧,提升电子设备的解码效率。基于此,通过丢弃部分可丢弃视频帧,电子设备仅对其他未被丢弃的视频帧进行解码并渲染播放,能够加快视频的播放速度,提升音视频播放的同步性。具体地,电子设备读取视频源的视频帧组中的视频帧,此已读取且等待解码的视频帧为待解码视频帧。在待解码视频帧为可丢弃视频帧,且音视频播放时差大于或等于时差阈值的情况下,表明此时需要使音视频播放同步,且此待解码视频帧可以被丢弃。基于此,电子设备确定在解码前丢弃此待解码视频帧,即确定此待解码视频帧不被解码。采用上述视频帧播放方法,电子设备仅需对其他未被丢弃的视频帧进行解码并渲染播放,能够提升解码效率,加快视频的播放速度,进而提升音视频播放的同步性。
24、第二方面,本技术还提供了一种可丢弃视频帧确定方法,所述方法包括:
25、生成包含连续视频帧的视频帧组;
26、确定所述视频帧组中可丢弃视频帧的占比,所述可丢弃视频帧的占比小于双向预测视频帧在所述视频帧组中的占比,所述可丢弃视频帧为可不被解码的视频帧;
27、基于所述可丢弃视频帧在所述视频帧组中的占比,将所述视频帧组中的部分双向预测视频帧确定为所述可丢弃视频帧。
28、在其中一个实施例中,所述确定所述视频帧组中可丢弃视频帧的占比,包括:
29、根据所述双向预测视频帧在所述视频帧组中的占比,和/或所述视频帧组中可播放的视频帧的第一帧数阈值,和/或所述视频帧组中可解码的视频帧的第二帧数阈值,确定所述视频帧组中所述可丢弃视频帧的占比;
30、其中,在所述视频帧组中可播放的视频帧的数量小于所述第一帧数阈值的情况下,所述视频帧组对应的视频播放效果低于第一预设要求;在所述视频帧组中可解码的视频帧的数量大于所述第二帧数阈值的情况下,所述视频帧组对应的视频帧解码效果低于第二预设要求。
31、在其中一个实施例中,所述根据所述双向预测视频帧在所述视频帧组中的占比,和/或所述视频帧组中可播放的视频帧的第一帧数阈值,和/或所述视频帧组中可解码的视频帧的第二帧数阈值,确定所述视频帧组中所述可丢弃视频帧的占比,包括:
32、在所述视频帧组的视频帧率小于或等于第一帧率阈值的情况下,根据所述视频帧组中可播放的视频帧的所述第一帧数阈值,确定所述视频帧组中所述可丢弃视频帧的占比;或
33、在所述视频帧组的所述视频帧率大于所述第一帧率阈值,且小于或等于第二帧率阈值的情况下,根据所述视频帧组中可播放的视频帧的所述第一帧数阈值,和所述视频帧组中可解码的视频帧的所述第二帧数阈值,确定所述视频帧组中所述可丢弃视频帧的占比;或
34、在所述视频帧组的所述视频帧率大于所述第二帧率阈值的情况下,根据所述双向预测视频帧在所述视频帧组中的占比,确定所述视频帧组中所述可丢弃视频帧的占比。
35、在其中一个实施例中,所述基于所述可丢弃视频帧在所述视频帧组中的占比,将所述视频帧组中的部分双向预测视频帧确定为所述可丢弃视频帧,包括:
36、在所述视频帧组中,连续的双向预测视频帧的连续帧数大于或等于第一阈值,且小于第二阈值的情况下,确定连续的双向预测视频帧中的第一比例帧数的双向预测视频帧为所述可丢弃视频帧,所述第一比例帧数是指所述连续帧数乘以第一比例后所得到的帧数;
37、在所述视频帧组中,连续的双向预测视频帧的连续帧数大于或等于所述第二阈值的情况下,确定连续的双向预测视频帧中的第二比例帧数的双向预测视频帧为所述可丢弃视频帧,所述第二比例帧数是指所述连续帧数乘以第二比例后所得到的帧数;
38、其中,所述第一比例帧数和所述第二比例帧数之和,等于所述视频帧组中的视频帧总帧数乘以所述可丢弃视频帧在所述视频帧组中的占比。
39、在其中一个实施例中,所述部分双向预测视频帧是指所述双向预测视频帧中的均匀分布的视频帧。
40、在其中一个实施例中,所述基于所述可丢弃视频帧在所述视频帧组中的占比,将所述视频帧组中的部分双向预测视频帧确定为所述可丢弃视频帧之后,所述方法还包括:
41、在所述可丢弃视频帧的数据信息中标记可丢弃标识。
42、第二方面提供的可丢弃视频帧确定方法可应用于为电子设备提供视频源的服务端。服务端生成包含连续视频帧的视频帧组,并确定可丢弃视频帧在视频帧组中的占比。第二方面提供的可丢弃视频帧确定方法中引入的可丢弃视频帧,与第一方面提供的视频帧播放方法中的可丢弃视频帧的含义一致,可丢弃视频帧的占比小于双向预测视频帧在视频帧组中的占比,可丢弃视频帧为可不被解码的视频帧,在可丢弃视频帧被丢弃的情况下,可丢弃视频帧则不被解码。进而,基于可丢弃视频帧在视频帧组中的占比,服务端将视频帧组中的部分双向预测视频帧确定为可丢弃视频帧。
43、由于视频帧组中的双向预测视频帧不作为视频帧组中的其他视频帧解码时的参考帧,因此将视频帧组中的部分双向预测视频帧确定为可丢弃视频帧,能够使可丢弃视频帧被丢弃时,其他视频帧的解码及播放不被影响。确定可丢弃视频帧,使读取视频帧组的电子设备能够在解码前选择丢弃可丢弃视频帧,有利于使电子设备提升解码效率,加快视频的播放速度,进而有利于提升音视频播放的同步性。可丢弃视频帧的占比小于双向预测视频帧在视频帧组中的占比,即仅将部分双向预测视频帧确定为可丢弃视频帧,使电子设备在需要解码前连续丢弃可丢弃视频帧的情况下,丢弃非连续的双向预测视频帧,避免因丢弃连续的双向预测视频帧导致视频帧画面不流畅,有利于保障视频帧播放的流畅性。
44、第三方面,本技术还提供了一种视频帧播放装置,所述装置包括:
45、读取模块,用于读取待解码视频帧;
46、确定模块,用于在所述待解码视频帧为可丢弃视频帧,且所述音视频播放时差大于或等于时差阈值的情况下,确定所述待解码视频帧不被解码,所述可丢弃视频帧为可不被解码的视频帧;
47、其中,所述可丢弃视频帧分布在视频帧组中的双向预测视频帧中,且所述可丢弃视频帧在所述视频帧组中的占比小于所述双向预测视频帧在所述视频帧组中的占比;
48、所述音视频播放时差是基于已解码音频帧的应播放时间与已解码视频帧的应播放时间所形成的时差所得到,历史视频帧经解码后成为已解码视频帧,所述历史视频帧的被读取时间早于所述待解码视频帧的被读取时间。
49、第四方面,本技术还提供了一种可丢弃视频帧确定装置,所述装置包括:
50、获取模块,用于生成包含连续视频帧的视频帧组;
51、第一确定模块,用于确定所述视频帧组中可丢弃视频帧的占比,所述可丢弃视频帧的占比小于双向预测视频帧在所述视频帧组中的占比,所述可丢弃视频帧为可不被解码的视频帧;
52、第二确定模块,用于基于所述可丢弃视频帧在所述视频帧组中的占比,将所述视频帧组中的部分双向预测视频帧确定为所述可丢弃视频帧。
53、第五方面,本技术还提供了一种视频帧播放系统,所述系统包括客户端和服务端,所述客户端用于执行如第一方面或第一方面的任一实施例所示的方法,所述服务端用于执行如第二方面或第二方面的任一实施例所示的方法;
54、其中,所述客户端从所述服务端中读取视频帧组中的视频帧,已读取且等待解码的视频帧为待解码视频帧。
55、第六方面,本技术还提供了一种计算机设备,包括:存储器、处理器,其中,所述存储器存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行如第一方面或第一方面的任一实施例所示的方法,或使所述处理器执行如第二方面或第二方面的任一实施例所示的方法。
56、第七方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序;当所述计算机程序在一个或多个处理器上运行时,执行如第一方面或第一方面的任一实施例所示的方法,或执行如第二方面或第二方面的任一实施例所示的方法。
57、第八方面,本技术还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令;在所述计算机程序或指令在计算机上运行的情况下,使得所述计算机执行如第一方面或第一方面的任一实施例所示的方法,或使得所述计算机执行如第二方面或第二方面的任一实施例所示的方法。
58、可以理解地,上述第三方面提供的视频帧播放装置、第四方面提供的可丢弃视频帧确定装置、第五方面提供的视频帧播放系统、第六方面提供的计算机设备、第七方面提供的计算机可读存储介质和第八方面提供的计算机程序产品,均用于执行本技术第一方面或第一方面的任一实施例所示的方法,或执行本技术第二方面或第二方面的任一实施例所示的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
1.一种视频帧播放方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求1所述的方法,其特征在于,所述可丢弃视频帧均匀分布在所述视频帧组中的所述双向预测视频帧中。
4.根据权利要求1所述的方法,其特征在于,在所述待解码视频帧为可丢弃视频帧,且所述音视频播放时差大于或等于时差阈值的情况下,确定所述待解码视频帧不被解码之前,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,在所述待解码视频帧为可丢弃视频帧,且所述音视频播放时差大于或等于时差阈值的情况下,确定所述待解码视频帧不被解码之前,所述方法还包括:
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
7.一种可丢弃视频帧确定方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述确定所述视频帧组中可丢弃视频帧的占比,包括:
9.根据权利要求8所述的方法,其特征在于,所述根据所述双向预测视频帧在所述视频帧组中的占比,和/或所述视频帧组中可播放的视频帧的第一帧数阈值,和/或所述视频帧组中可解码的视频帧的第二帧数阈值,确定所述视频帧组中所述可丢弃视频帧的占比,包括:
10.根据权利要求7至9任一项所述的方法,其特征在于,所述基于所述可丢弃视频帧在所述视频帧组中的占比,将所述视频帧组中的部分双向预测视频帧确定为所述可丢弃视频帧,包括:
11.根据权利要求7至9任一项所述的方法,其特征在于,所述部分双向预测视频帧是指所述双向预测视频帧中的均匀分布的视频帧。
12.根据权利要求7至9任一项所述的方法,其特征在于,所述基于所述可丢弃视频帧在所述视频帧组中的占比,将所述视频帧组中的部分双向预测视频帧确定为所述可丢弃视频帧之后,所述方法还包括:
13.一种视频帧播放装置,其特征在于,所述装置包括:
14.一种可丢弃视频帧确定装置,其特征在于,所述装置包括:
15.一种视频帧播放系统,其特征在于,所述系统包括客户端和服务端,所述客户端用于执行如权利要求1至6任一项所述的方法,所述服务端用于执行如权利要求7至12任一项所述的方法;
16.一种计算机设备,其特征在于,包括:存储器、处理器,其中,所述存储器存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行如权利要求1至12中任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序;当所述计算机程序在一个或多个处理器上运行时,执行如权利要求1至12中任一项所述的方法。
18.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或指令;在所述计算机程序或指令在计算机上运行的情况下,使得所述计算机执行如权利要求1至12中任一项所述的方法。