视频解码方法、视频解码装置、存储介质与电子设备制造方法及图纸

技术编号:25697075 阅读:52 留言:0更新日期:2020-09-18 21:09
本公开提供了一种视频解码方法、视频解码装置、计算机可读存储介质与电子设备,属于计算机技术领域。该方法包括:基于第一速度对目标视频解码;获取位于当前解码帧之后的下一IDR帧的位置;判断所述下一IDR帧是否位于当前预期解码位置之前;其中,所述当前预期解码位置为:计算所述目标视频按照预设的第二速度解码到当前时间,所预期到达的解码位置;当所述下一IDR帧位于所述当前预期解码位置之前时,进行查找解码。本公开可以在视频播放的过程中,避免由于查找解码导致的重复解码或重复解码检测的情况,提高效率,改善播放卡顿及丢帧的问题。

【技术实现步骤摘要】
【国外来华专利技术】视频解码方法、视频解码装置、存储介质与电子设备
本公开涉及计算机
,尤其涉及一种视频解码方法、视频解码装置、计算机可读存储介质与电子设备。
技术介绍
视频文件一般是通过特定的编码方式对数字图像信息进行压缩所形成的数字文件,在播放视频文件时,播放工具需要将其解码,以还原出图像信息,从而进行播放。因此,视频播放的速度受到解码速度的制约。解码速度与视频播放工具本身的处理能力以及电子设备的硬件水平相关,目前,在大部分电子设备上,常用的视频播放工具所能提供的解码速度大于一般视频的正常播放速度(即1倍速播放)。然而,在视频预览、视频编辑、用户手动调整快进等场合中,经常需要对视频进行高速播放,例如以2倍速、4倍速甚至更高速度播放,如果播放速度超过了解码速度的上限,会导致视频播放中出现卡顿、丢帧等现象,影响用户的观看体验。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开提供了一种视频解码方法、视频解码装置、计算机可读存储介质与电子设备,进而至少在一定程度上改善现有技术中高速播放视频时容易出现卡顿、丢帧的问题。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。根据本公开的第一方面,提供一种视频解码方法,包括:基于第一速度对目标视频解码;获取位于当前解码帧之后的下一IDR帧的位置;判断所述下一IDR帧是否位于当前预期解码位置之前;其中,所述当前预期解码位置为:计算所述目标视频按照预设的第二速度解码到当前时间,所预期到达的解码位置;当所述下一IDR帧位于所述当前预期解码位置之前时,进行查找解码。根据本公开的第二方面,提供一种用于视频播放的解码装置,包括:解码模块,用于基于第一速度对目标视频解码;获取模块,用于获取位于当前解码帧之后的下一IDR帧的位置;判断模块,用于判断所述下一IDR帧是否位于当前预期解码位置之前;其中,所述当前预期解码位置为:计算所述目标视频按照预设的第二速度解码到当前时间,所预期到达的解码位置;查找模块,用于当所述下一IDR帧位于所述当前预期解码位置之前时,进行查找解码。根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。本公开的示例性实施例具有以下有益效果:在以低于期望播放速度的解码速度解码目标视频的情况下,通过查找解码的方式,使实际解码进度追上预期播放进度,在查找解码前判断是否满足查找的条件,即当前解码帧后的下一IDR帧是否在当前预期解码位置之前,从而保证查找时不会回到当前解码帧以前,避免执行重复解码或重复解码检测的过程,减小系统开销,提高处理效率。进一步的,本示例性实施例可以保证每次查找时实际解码进度向预期播放进度的有效逼近,使得解码器可以连续解码一定的帧数,减少相关技术中频繁丢帧的情况,改善视频播放卡顿及丢帧的问题,提高用户观看的流畅性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出视频帧解码的示意图;图2示出高倍速播放视频的示意图;图3示出相关技术中查找解码的示意图;图4示出本示例性实施例中一种视频解码方法的流程图;图5示出本示例性实施例中另一种视频解码方法的流程图;图6示出本示例性实施例中一种视频解码装置的结构框图;图7示出本示例性实施例中一种用于实现上述方法的计算机可读存储介质;图8示出本示例性实施例中一种用于实现上述方法的电子设备。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在视频压缩中,主要有帧内编码与帧间编码两种技术。帧内编码表示对某一帧的信息在空间上进行压缩并独立编码;帧间编码表示对某一帧的信息在时间维度上进行压缩,编码时会参考前面或后面的帧。例如常用的H264编码就采用了这两种编码技术,H264编码中,视频帧包括I帧、P帧、B帧三种类型:I帧:帧内编码帧。可以认为是经过图像压缩后生成,能够独立解码,不需要依赖其他帧。P帧:前向预测编码帧。P帧是一种帧间编码帧,通过依赖前面视频帧在时间维度上压缩生成,可获得比I帧更高的压缩率,解码时也需要依赖前面的视频帧;例如,如图1所示的帧序列中,每个P帧的前向参考帧个数为1且和它相邻。可以理解的,P帧的参考帧也可以是多帧或和它不相邻。B帧:双向预测内插编码帧。B帧也是一种帧间编码帧,与P帧不同的是它需要同时依赖前面和后面的帧进行压缩,压缩率比P帧更高,解码时也需要把前后依赖的帧先解出来之后才能解它本身。其中,I帧还包括一种特殊的类型,即IDR(InstantaneousDecodingRefresh,即时解码刷新)帧。普通I帧可能需要借助位于其之前的其他帧来解码之后的P帧和B帧;而IDR帧除了其本身能够独立解码外,其之后的所有帧在解码时都无需也不能引用IDR帧之前的帧,也就是说,视频可以从IDR帧开始重新解码,无需参照IDR帧之前的帧。以4倍速播放视频为例,可以每4帧抽1帧出来显示,如图2所示,一段H264视频以4倍速进行预览,只有第1、5、9……帧被显示出来。但解码时并不能每隔4帧抽出1帧来解码,因为解码P帧、B帧等需要参考前面的帧,即使在第1帧之后只需要显示第5帧,也要把第2、3、4帧都解码出来,只是它们不被显示而已。因此,在高倍速播放时,解码器的工作量并没有减少,对于一个30帧/秒(即每帧33ms)的视频,要做到1倍速播放只需要满足解码每帧小于33ms即可,但是要做到4倍速播放,必须保证解码每帧在8.33ms以内,否则解码就无法跟上播放的速度。为了解决上述问题,相关技术通常采用以下3种方案:1、将视频以高倍速转码生成一个新视频。有些视频编辑工具会采用这种方案,好处是生成的新视频能够以1倍速比较顺畅的编辑和播放,但是需要等待转码的时间,视频越长,等待的时间越长,而且如果用户并不确定哪个倍速更合适,希望先尝试多个速度,则需要多次转码,因此不适用于大部分应用场景。2、当播放速度超过解码速度时,无视播放速度本文档来自技高网...

【技术保护点】
1.一种视频解码方法,其特征在于,包括:/n基于第一速度对目标视频解码;/n获取位于当前解码帧之后的下一IDR帧的位置;/n判断所述下一IDR帧是否位于当前预期解码位置之前;其中,所述当前预期解码位置为:计算所述目标视频按照预设的第二速度解码到当前时间,所预期到达的解码位置;/n当所述下一IDR帧位于所述当前预期解码位置之前时,进行查找解码。/n

【技术特征摘要】
【国外来华专利技术】1.一种视频解码方法,其特征在于,包括:
基于第一速度对目标视频解码;
获取位于当前解码帧之后的下一IDR帧的位置;
判断所述下一IDR帧是否位于当前预期解码位置之前;其中,所述当前预期解码位置为:计算所述目标视频按照预设的第二速度解码到当前时间,所预期到达的解码位置;
当所述下一IDR帧位于所述当前预期解码位置之前时,进行查找解码。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在进行查找解码时,查找到所述下一IDR帧进行解码。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在进行查找解码时,查找到所述当前预期解码位置的前一IDR帧进行解码。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监测所述当前解码帧落后于所述当前预期解码位置的差值;
如果所述差值大于预设阈值,则执行获取位于当前解码帧之后的下一IDR帧的位置的步骤。


5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述差值小于所述预设阈值,则由所述当前解码帧继续解码。


6.根据权利要求4或5所述的方法,其特征在于,如果所述下一IDR帧的位置根据各IDR帧的位置信息确定,且所述预设阈值小于目标视频中相距最近的两个相邻IDR帧之间的间隔,在进行查找解码时,查找到所述下一IDR帧进行解码。


7.根据权利要求4至6任一项所述的方法,其特征在于,所述预设阈值为300ms。


8.根据权利要求1所述的方法,其特征在于,如果所述下一IDR帧的位置根据所述目标视频中各IDR帧的位置信息确定,所述当所述下一IDR帧位于所述当前预期解码位置之前时,进行查找解码,包括:
响应于所述当前预期解码位置到达或超过所述下一IDR帧的位置,查找到所述下一IDR帧进行解码。


9.根据权利要求1所述的方法,其特征在于,如果所述下一IDR帧的位置根据上一IDR帧的位置和两个IDR帧的间隔确定,在进行查找解码时,查找到所述当前预期解码位置的前一IDR帧进行解码。


10.根据权利要求1至9任一项所述的方法,其特征在于,在查找到所述下一IDR帧或所述当前预期解码位置的前一IDR帧进行解码后,所述方法还包括:
当判断当前解码帧的位置到达或超过所述当前预期解码位置时,继续获取位于所述当前解码帧之后的下一IDR帧的位置。


11.根据权利要求1至10任一项所述的方法,其特征在于,所述方法还包括:
当所述下一IDR帧位于所述当前预期解码位置之后时,由所述当前解码帧继续解码。


12.根据权利要求1至11任一项所述的方法,其特征在于,所述方法还包括:
在解码所述当前解码帧后,显示所述当前解码帧。


13.根据权利要求1至12任一项所述的方法,其特征在于,所述方法还包括:
当解码至所述目标视频的任一帧时,获取当前帧的类型;
若当前帧为IDR帧,则记录所述当前帧的时间戳,以所述当前帧的时间戳作为对应的IDR帧的位置信息。


14.根据权利要求13所述的方法,其特征在于,所述获取位于当前解码帧之后的下一IDR帧的位置,包括:
根据所述目标视频的各IDR帧的位置信息,确定位于所述当前解码帧之后的下一IDR帧的位置。


15.根据权利要求1所述的方法,其特征在于,所述获取位于当前解码帧之后的下一IDR帧的位置,包括:
根据上一IDR帧的位置和两个IDR帧的间隔获取位于所述当前解码帧之后的下一IDR帧的位置。


16.根据权利要求15所述的方法,其特征在于,所述两个IDR帧的间隔通过以下方法获取:
获取位于所述当前解码帧之前的至少两个IDR帧的位置,根据所述至少两个IDR帧的位置确定所述两个IDR帧的间隔。


17.根据权利要求16所述的方法,其特征在于,所述至少两个IDR帧包括至少两个相邻的IDR帧。


18.根据权利要求1至17任一项所述的方法,其特征在于,所述目标视频中两个相邻的IDR帧之间的帧类型包括P帧、B帧和普通I帧中的至少一种。


19.一种视频解码装置,其特征在于,包括:
解码模块,用于基于第一速度对目标视频解码;
获取模块,用于获取位于当前解码帧之后的下一IDR帧的位置;
判断模块,用于判断所述下一ID...

【专利技术属性】
技术研发人员:陈欣
申请(专利权)人:深圳市大疆创新科技有限公司
类型:发明
国别省市:广东;44

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

1