视频流倒放方法及装置制造方法及图纸

技术编号:25894485 阅读:33 留言:0更新日期:2020-10-09 23:41
本发明专利技术实施例提出视频流倒放方法及装置。方法包括:对视频流进行倒序解码;对解码出的每一帧图像进行帧内编码;对编码得到的编码帧进行倒序解码,输出解码出的图像。本发明专利技术实施例尽量降低了视频流倒放处理过程中占用的内存和编解码器资源。

【技术实现步骤摘要】
视频流倒放方法及装置
本专利技术涉及视频流播放
,尤其涉及视频流倒放方法及装置。
技术介绍
目前,视频编码格式主要是以分段即一组序列帧,进行帧间和帧内压缩编码的视频格式文件,如H264、H265、MPEG-4等格式,这类视频编码的帧分为多种类型,如I、P帧,其中I帧周期型的出现,且以I帧为界限,两个I帧之间构成一GOP(GroupofPictures,画面组)。I帧不需要参考其它帧即可正确解码,P帧必须参考前面的I帧才能正确解码。在播放视频流时,有些场景下存在倒放需求。目前的单视频流倒放方案为:对原始视频流的GOP码流进行多次并行解码,且预先设计好各个解码器的解码时间,使得一个解码器输出最后一帧图像后,另一个解码器正好输出倒数第二帧图像,倒数第二帧图像输出完成时第三个解码器正好输出倒数第三帧图像,依此类推,使得多个解码器配合完成所有图像的倒序输出。这种方式由于需要多个解码器,因此对解码器性能的消耗很巨大。
技术实现思路
本专利技术实施例提出视频流倒放方法及装置,以尽量降低视频流倒放处理过程中占用的内存和编解码器资源。本专利技术实施例的技术方案是这样实现的:一种视频流倒放方法,该方法包括:对视频流进行倒序解码;对解码出的每一帧图像进行帧内编码;对编码得到的编码帧进行倒序解码,输出解码出的图像。所述对视频流进行倒序解码包括:对视频流进行全帧率倒序解码。所述对视频流进行倒序解码包括:对多路视频流中的每一路分别进行倒序解码;所述对视频流进行倒序解码之后、所述对解码出的每一帧图像进行帧内编码之前进一步包括:将从每路视频流解码出的倒序播放的图像进行拼接;所述对解码出的每一帧图像进行帧内编码包括:对每一帧拼接图像进行帧内编码;所述对编码得到的编码帧进行倒序解码包括:对拼接图像编码得到的编码帧进行倒序解码。所述将从每路视频流解码出的倒序播放的图像进行拼接包括:将从每路视频流解码出的、倒序播放顺序相同的图像进行拼接,或者,将从每路视频流解码出的、倒序播放时间的差值在预设范围内的图像进行拼接。所述对视频流进行倒序解码进一步包括:根据视频流在屏幕上的显示窗口的大小,对解码出的每一帧图像进行缩放处理。所述方法进一步包括:预先在内存中分配解码缓冲区;所述对多路视频流中的每一路分别进行倒序解码进一步包括:将解码出的图像放入解码缓冲区;所述将从每路视频流解码出的倒序播放的图像进行拼接之后进一步包括:将对后续帧的解码不具有参考作用且已完成拼接的图像所占的解码缓冲区内存释放。所述方法进一步包括:预先在内存中分配拼接缓冲区;所述将从每路视频流解码出的倒序播放的图像进行拼接包括:将从每路视频流解码出的倒序播放的图像放入拼接缓冲区;所述对每一帧拼接图像进行帧内编码之后进一步包括:将已完成编码的拼接图像所占的拼接缓冲区内存释放。所述方法进一步包括:预先设定多路视频流在屏幕上的显示布局;所述将从每路视频流解码出的倒序播放的图像进行拼接包括:按照各图像在拼接图像中的位置与该图像所属视频流在屏幕上的显示位置对应的原则,将从每路视频流解码出的倒序播放的图像进行拼接。所述方法进一步包括:预先分配拼接缓冲区,其中,拼接缓冲区包含多个子区域,每个子区域对应一个视频流,该多个子区域的布局与预先设定的多路视频流在屏幕上的显示布局相同,且,每个子区域的大小由该子区域对应的视频流在屏幕上的显示窗口的大小决定;所述按照各图像在拼接图像中的位置与该图像所属视频流在屏幕上的显示位置对应的原则,将从每路视频流解码出的倒序播放的图像进行拼接包括:对于从每路视频流解码出的倒序播放的图像,根据各图像所属的视频流在屏幕上的显示布局,确定各图像在拼接缓冲区中对应的子区域,将各图像放入拼接缓冲区的各对应子区域中。所述对解码出的每一帧图像进行帧内编码包括:对解码出的每一帧图像进行I帧编码或者帧内的图像格式编码。一种视频流倒放装置,该装置包括:第一解码模块,用于对视频流进行倒序解码;编码模块,用于对解码出的每一帧图像进行帧内编码;第二解码模块,用于对编码得到的编码帧进行倒序解码,输出解码出的图像。一种视频流倒放装置,该装置包括:存储器以及可访问存储器的处理器,该存储器存储指令,该指令在由处理器执行时使得处理器执行如上任一所述的方法的步骤。本专利技术实施例中,通过对视频流进行倒序解码,节省了原始视频流解码过程占用的内存;通过对解码出的图像进行帧内编码以及对编码帧进行倒序解码,使得编码及对应的解码过程只需一个编码器和一个解码器,大大减少了对编码和解码资源的占用。附图说明图1为本专利技术一实施例提供的视频流倒放方法流程图;图2为本专利技术另一实施例提供的视频流倒放方法流程图;图3为本专利技术又一实施例提供的多路视频流倒放方法流程图;图4为本专利技术又一实施例提供的多路视频流倒放方法流程图;图5为本专利技术又一实施例提供的多路视频流倒放方法流程图;图6为H264码流的一个示例图;图7为本专利技术应用实例中,当N=4时,预先设定的4路视频流在屏幕上的显示布局示意图;图8为本专利技术应用实例中,当N=4时,拼接缓冲区的布局示意图;图9为本专利技术一实施例提供的视频流倒放装置的结构示意图;图10为本专利技术另一实施例提供的视频流倒放装置的结构示意图。具体实施方式下面结合附图及具体实施例对本专利技术再作进一步详细的说明。通过上述对现有的视频流倒放方案进行的分析发现,当前的单路视频流倒放方式存在一定的缺陷。根据上述分析,专利技术人给出了本专利技术所述的视频流倒放方案:图1为本专利技术一实施例提供的视频流倒放方法流程图,其具体步骤如下:步骤101:对视频流进行倒序解码。步骤102:对解码出的每一帧图像进行帧内编码。步骤103:对编码得到的编码帧进行倒序解码,输出解码出的图像。上述实施例的有益效果如下:一、通过对视频流进行倒序解码,使得已解码出的且对后续帧的解码过程无参考作用且已完成后续帧内编码的图像所占的内存可立即释放,节省了原始视频流解码过程占用的内存;二、通过对解码出的图像进行帧内编码以及对编码帧进行倒序解码,使得编码及对应的解码过程只需一个编码器和一个解码器,大大减少了对编码和解码资源的占用。一可选实施例中,为了保证视频流倒放的流畅性,步骤101中,对视频流进行倒序解码具体为:对视频流进行全帧率倒序解码。通过上述实施例,保留了原始图像中的所有关键信息,从而保证了最终的视频流倒放的流畅性。上述实施例不仅适用于单路视频流的倒放,也适用于多路视频流的倒放,考虑到:在对多路视频流倒放时,若对每路视频流分别执行上述过程,则每路视频流分别需要一本文档来自技高网...

【技术保护点】
1.一种视频流倒放方法,其特征在于,该方法包括:/n对视频流进行倒序解码;/n对解码出的每一帧图像进行帧内编码;/n对编码得到的编码帧进行倒序解码,输出解码出的图像。/n

【技术特征摘要】
1.一种视频流倒放方法,其特征在于,该方法包括:
对视频流进行倒序解码;
对解码出的每一帧图像进行帧内编码;
对编码得到的编码帧进行倒序解码,输出解码出的图像。


2.根据权利要求1所述的方法,其特征在于,所述对视频流进行倒序解码包括:
对视频流进行全帧率倒序解码。


3.根据权利要求1所述的方法,其特征在于,所述对视频流进行倒序解码包括:
对多路视频流中的每一路分别进行倒序解码;
所述对视频流进行倒序解码之后、所述对解码出的每一帧图像进行帧内编码之前进一步包括:
将从每路视频流解码出的倒序播放的图像进行拼接;
所述对解码出的每一帧图像进行帧内编码包括:
对每一帧拼接图像进行帧内编码;
所述对编码得到的编码帧进行倒序解码包括:
对拼接图像编码得到的编码帧进行倒序解码。


4.根据权利要求3所述的方法,其特征在于,所述将从每路视频流解码出的倒序播放的图像进行拼接包括:
将从每路视频流解码出的、倒序播放顺序相同的图像进行拼接,或者,
将从每路视频流解码出的、倒序播放时间的差值在预设范围内的图像进行拼接。


5.根据权利要求1至4任一所述的方法,其特征在于,所述对视频流进行倒序解码进一步包括:
根据视频流在屏幕上的显示窗口的大小,对解码出的每一帧图像进行缩放处理。


6.根据权利要求3所述的方法,其特征在于,所述方法进一步包括:预先在内存中分配解码缓冲区;
所述对多路视频流中的每一路分别进行倒序解码进一步包括:
将解码出的图像放入解码缓冲区;
所述将从每路视频流解码出的倒序播放的图像进行拼接之后进一步包括:
将对后续帧的解码不具有参考作用且已完成拼接的图像所占的解码缓冲区内存释放。


7.根据权利要求3所述的方法,其特征在于,所述方法进一步包括:预先在内存中分配拼接缓冲区;
所述将从每路视频流解码出...

【专利技术属性】
技术研发人员:王军
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

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

1