CN113923452A - 一种视频倒放方法、装置及电子设备 - Google Patents

一种视频倒放方法、装置及电子设备 Download PDF

Info

Publication number
CN113923452A
CN113923452A CN202111082910.5A CN202111082910A CN113923452A CN 113923452 A CN113923452 A CN 113923452A CN 202111082910 A CN202111082910 A CN 202111082910A CN 113923452 A CN113923452 A CN 113923452A
Authority
CN
China
Prior art keywords
frame
video
gop
sequence
processed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111082910.5A
Other languages
English (en)
Inventor
魏培
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202111082910.5A priority Critical patent/CN113923452A/zh
Publication of CN113923452A publication Critical patent/CN113923452A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开一种视频倒放方法、装置及电子设备,该方法包括:在视频码流中确定出待处理画面组GOP,并将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列;根据视频倒放条件,计算所述帧序列中用于视频倒放的第一帧数;在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列;按照所述第一子序列进行视频倒放。基于以上方法,可以实现利用系统富余的解码内存,在占用较少的内存资源的情况下,对包含图像帧数较多的GOP码流进行视频倒放。

Description

一种视频倒放方法、装置及电子设备
技术领域
本申请涉及视频处理领域,特别是涉及一种视频倒放方法、装置及电子设备。
背景技术
在商场管理、调查取证等场景中,通常会对设备采集到的视频进行倒放,便于发现视频中的存在的细节。在视频码流倒放过程中,需要以画面组GOP(Group of Pictures)为基本单位,将视频码流帧序列进行正序解码,输出YUV帧序列,然后对所述YUV帧序列进行反序显示,实现视频倒放。
在上述过程中,系统需要预先申请一定大小的内存空间,用于存放解码输出的YUV帧序列。然而,不同视频码流的GOP包含的视频帧数不相同,现有技术一般按照经验值预先申请特定大小的内存来存储解码输出的YUV帧序列,当GOP中包含的视频帧数较长时,预先申请的内存不足以存储编码出的YUV帧序列,会导致视频倒放时出现跳帧的问题。
发明内容
本申请提供了一种视频倒放方法、装置及电子设备,实现利用系统富余的解码内存,在使用较少的内存资源的情况下,对包含图像帧数较多的GOP码流进行视频倒放。
第一方面,本申请提供了一种视频倒放方法,所述方法包括:
在视频码流中确定出待处理画面组GOP,并将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列,其中,N为大于或等于1的整数;
根据视频倒放条件,计算所述帧序列中用于视频倒放的第一帧数;
在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列;
按照所述第一子序列进行视频倒放。
通过上述视频倒放方法,可以实现利用系统富余的解码内存,在使用较少的内存资源的情况下,对包含图像帧数较多的GOP码流进行视频倒放。
在一种可能的设计中,所述在视频码流中确定出待处理画面组GOP,并将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列,包括:
将获取的视频码流进行解析,生成包含连续M个GOP的GOP序列,其中,M为大于或等于1的整数;
逆序获取所述GOP序列中的所述待处理GOP;
将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列。
通过上述方法,可以得到包含多个连续图像的帧序列,所述帧序列中的图像用以进行视频倒放。
在一种可能的设计中,所述根据视频倒放条件,计算所述帧序列中用于视频倒放的第一帧数,包括;
根据视频倒放倍数,确定出用于视频倒放的内存;
根据所述内存及所述待处理GOP中的所有图像,确定出所述帧序列中用于视频倒放的第一帧数。
通过上述方法,可以实现在对所述待处理GOP解码后生成的帧序列中,确定出用于进行视频倒放的图像个数。
在一种可能的设计中,所述在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列,包括:
在所述帧序列中确定出未进行视频倒放的最后一帧图像为起点帧图像;
根据所述第一帧数,确定终点帧图像;
根据所述起点帧图像和终点帧图像,在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列。
通过上述方式,在对待处理GOP解码后生成的帧序列中,确定出用于视频倒放的起点帧图像和终点帧图像,从而实现提取用于视频倒放的子序列。
在一种可能的设计中,在按照所述第一子序列进行视频倒放之后,还包括:
将所述第一子序列删除;
根据所述第一帧数和所述待处理GOP中包含的图像帧数,计算出所述待处理GOP完成视频倒放需要进行解码的第一解码次数;
检测所述待处理GOP已经完成的第二解码次数;
若所述第二解码次数小于第一解码次数,则继续对所述待处理GOP进行解码,生成所述帧序列,并在所述帧序列中提取第二子序列进行视频倒放,其中,所述第二子序列,以上一次提取的终点帧图像的下一帧为起点帧图像,且对应所述第一帧数的连续图像;
若所述第二解码次数等于第一解码次数,则继续逆序获取所述GOP序列中没有完成视频倒放的单个GOP进行视频倒放处理,直到所述视频码流倒放完成。
通过上述方式,可以实现对获取的整个视频码流文件完成视频倒放。
第二方面,本申请提供了一种视频倒放装置,所述装置包括:
解码模块,用于在视频码流中确定出待处理画面组GOP,并将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列,其中,N为大于或等于1的整数;
第一计算模块,用于根据视频倒放条件,计算所述帧序列中用于视频倒放的第一帧数;
提取模块,用于在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列;
显示模块,用于按照所述第一子序列进行视频倒放。
在一种可能的设计中,所述解码模块,具体用于:
将获取的视频码流进行解析,生成包含连续M个GOP的GOP序列,其中,M为大于或等于1的整数;
逆序获取所述GOP序列中的所述待处理GOP;
将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列。
在一种可能的设计中,所述第一计算模块,具体用于:
根据视频倒放倍数,确定出用于视频倒放的内存;
根据所述内存及所述待处理GOP中的所有图像,确定出所述帧序列中用于视频倒放的第一帧数。
在一种可能的设计中,所述提取模块,具体用于:
在所述帧序列中确定出未进行视频倒放的最后一帧图像为起点帧图像;
根据所述第一帧数,确定终点帧图像;
根据所述起点帧图像和终点帧图像,在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列。
在一种可能的设计中,所述装置还包括:
删除模块,用于将所述第一子序列删除;
第二计算模块,用于根据所述第一帧数和所述待处理GOP中包含的图像帧数,计算出所述待处理GOP完成视频倒放需要进行解码的第一解码次数;
检测模块,用于检测所述待处理GOP已经完成的第二解码次数;
处理模块,用于若所述第二解码次数小于第一解码次数,则继续对所述待处理GOP进行解码,生成所述帧序列,并在所述帧序列中提取第二子序列进行视频倒放,其中,所述第二子序列,以上一次提取的终点帧图像的下一帧为起点帧图像,且对应所述第一帧数的连续图像;若所述第二解码次数等于第一解码次数,则继续逆序获取所述GOP序列中没有完成视频倒放的单个GOP进行视频倒放处理,直到所述视频码流倒放完成。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现上述的视频倒放的方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的视频倒放方法步骤。
基于本申请提供的视频倒放方法,将所述待处理GOP解码生成包含多个连续图像的帧序列,然后基于视频倒放条件,在所述帧序列中逆序提取对应所述第一帧数的连续图像的子序列进行视频倒放,当完成视频倒放后,继续对所述待处理GOP进行解码,并在生成的帧序列中继续提取出没有进行视频倒放的子序列进行视频倒放,直到所述待处理GOP完成视频倒放,接着处理下一个GOP,进而对所述获取的视频码流完成视频倒放。通过上述方法,可以实现利用系统富余的内存,在使用较少的内存资源的情况下,对包含图像帧数较多的GOP码流进行视频倒放,避免现有技术中因为申请的内存空间不足导致的视频倒放跳帧问题,并且可以节省系统内存。
上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果参照上述针对第一方面或者第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
图1为本申请提供的一种视频倒放方法的流程图;
图2为本申请提供的一种视频倒放方法的示意图;
图3为本申请提供的一种视频倒放装置的结构示意图;
图4为本申请提供的一种电子设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本申请的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。A与B连接,可以表示:A与B直接连接和A与B通过C连接这两种情况。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面结合附图,对本申请实施例进行详细描述。
在视频倒放时,系统需要预先申请一定大小的内存空间,用于存放解码输出的YUV帧序列。然而,不同视频码流的GOP包含的视频帧数不相同,现有技术一般按照经验值预先申请特定大小的内存来存储解码输出的YUV帧序列,当GOP中包含的视频帧数较长时,预先申请的内存不足以存储编码出的YUV帧序列,会导致视频倒放时出现跳帧的问题。
基于上述问题,本申请实施例提供一种视频倒放方法,用以实现利用系统富余的解码内存,在使用较少的内存资源的情况下,对包含图像帧数较多的GOP码流进行视频倒放,避免因为申请的内存空间不足导致的视频倒放跳帧问题,并且也可以节省系统内存。其中,本申请实施例所述方法和装置基于同一技术构思,由于方法及装置所解决问题的原理相似,因此装置与方法的实施例可以相互参见,重复之处不再赘述。
如图1所示,为本申请实施例提供的一种视频倒放方法的流程图,具体包括如下步骤:
S11,在视频码流中确定出待处理画面组GOP,并将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列;
在本申请实施例中,N为大于或等于1的整数,所述帧序列可以是YUV序列,生成所述帧序列是通过对所述待处理GOP进行解码来实现的,具体包括:将获取的视频码流进行解析,生成包含连续M个GOP的GOP序列,其中,M为大于或等于1的整数,每个GOP包含的图像帧数不一定相同;接下来,逆序获取所述GOP序列中的所述待处理GOP,并将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列。
通过上述方法,可以得到包含多个连续图像的帧序列,所述帧序列中的图像用以进行视频倒放。
举例来讲,若对视频码流文件解码生成的GOP序列中包含3个GOP,分别为记为GOP1、GOP2、GOP3,其中,GOP1中包含的10帧图像,GOP2中包含20帧图像,GOP3中包含30帧图像,那么在获取待处理GOP的时候,首先获取GOP3,并对所述GOP3进行解码,可以生成包含30帧连续图像的YUV帧序列,分别记为第1帧、第2帧、…、第30帧。
所述YUV帧序列中的图像用以进行视频倒放,当GOP3完成视频倒放处理后,接下来依次处理GOP2及GOP1。
S12,根据视频倒放条件,计算所述帧序列中用于视频倒放的第一帧数;
在本申请实施例中,所述视频倒放条件,指示视频倒放倍数、系统内存等参数。所述第一帧数,指示每次解码生成的帧序列中能够进行视频倒放的图像帧数,并且所述第一帧数主要是基于视频倒放条件计算得到,具体来讲,可以是:根据视频倒放倍数,确定出用于视频倒放的内存,然后根据所述内存及所述待处理GOP中的所有图像,确定出所述帧序列中用于视频倒放的第一帧数。
在上述过程中,由于不同的视频倒放倍数所需的系统内存是不同的,因此在预设的视频倒放倍数的情况下,确定出能满足所述视频倒放倍数要求的系统内存K,假设待处理GOP中的每帧图像的数据大小为P,那么为进一步可以确定出所述系统内存能满足视频倒放的第一帧数为K/P。
S13,在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列;
在本申请实施例中个,在所述帧序列中提取出具有第一帧数的连续图像的第一子序列用以进行视频倒放,可以避免在帧序列较长时,由于系统内存不足导致视频倒放时出现跳帧的问题。提取所述第一子序列的具体方法为:
在所述帧序列中确定出未进行视频倒放的最后一帧图像为起点帧图像;
根据所述第一帧数,确定终点帧图像;
根据所述起点帧图像和终点帧图像,在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列。
通过上述方法,可以实现在帧序列中提取用于视频倒放的第一子序列。
举例来讲,若待处理GOP解码后生成的帧序列中包含10帧连续图像的帧序列,10帧图像分别记为第1帧、第2帧、…、第10帧,所述第一帧数为3,那么在第一次对待处理的GOP进行解码时,在生成的包含10帧连续图像的帧序列中提取的第一子序列的起点帧图像为第10帧,终点帧为第8帧,即第一子序列中包含的图像为第10帧、第9帧、第8帧。第二次对待处理的GOP解码时,提取的第一子序列中包含的图像为第7帧、第6帧、第5帧。依次类推,直到待处理的GOP视频倒放完毕。
S14,按照所述第一子序列进行视频倒放。
在本申请实施例中,在按照所述第一子序列进行视频倒放之后,需要进一步将所述第一子序列删除,并将所述待处理GOP中未完成视频倒放的图像进行视频倒放处理,当所述待处理GOP完成视频倒放后,继续获取下一个待处理GOP进行视频倒放,具体方法为:
根据所述第一帧数和所述待处理GOP中包含的图像帧数,计算出所述待处理GOP完成视频倒放需要进行解码的第一解码次数;
检测所述待处理GOP已经完成的第二解码次数;
若所述第二解码次数小于第一解码次数,则继续对所述待处理GOP进行解码,生成所述帧序列,并在所述帧序列中提取第二子序列进行视频倒放,其中,所述第二子序列,以上一次提取的终点帧图像的下一帧为起点帧图像,且对应所述第一帧数的连续图像;
若所述第二解码次数等于第一解码次数,则继续逆序获取所述GOP序列中没有完成视频倒放的单个GOP进行视频倒放处理,直到所述视频码流倒放完成。
通过上述方法,可以实现对获取的整个视频码流文件完成视频倒放。
举例来讲,若所述第一帧数为2,所述待处理GOP为所述GOP3,其中,所述GOP3包含的图像帧数为30,那么所述GOP3完成视频倒放需要进行解码的第一解码次数为30/2=15次。
如果所述GOP3已经完成了10次解码,表明所述GOP3还没有视频倒放完成,需进一步进行解码和视频倒放处理;如果已经完成了30次解码并进行了显示,表明所述GOP3已经完成了视频倒放,需要依次获取GOP2及GOP1进行视频倒放处理。
基于本申请提供的视频倒放方法,将所述待处理GOP解码生成包含多个连续图像的帧序列,然后基于视频倒放条件,在所述帧序列中逆序提取包含第一帧数的连续图像的子序列进行视频倒放,可以实现利用系统富余的内存,在使用较少的内存资源的情况下,对包含图像帧数较多的GOP码流进行视频倒放,避免现有技术中因为申请的内存空间不足导致的视频倒放跳帧问题,并且可以节省系统内存。
进一步,为了更加详细阐述本申请所提供的一种视频倒放方法,下面通过具体的应用场景对本申请所提供的方法进行详细说明。
如图2所示,为本申请提供的一种视频倒放方法的示意图,具体来讲,先获取待倒放的视频码流文件,然后对所述视频码流文件进行分析,获取正向GOP序列,接着逆序获取待处理GOP,并解析出所述待处理GOP中的图像帧数N。
接下来,根据用户设置的倒放倍数等参数,计算每次视频倒放的图像帧数L,进一步求出所述待处理GOP序列完成视频倒放所需的解码次数C,其中C=(N+L-1)/L。接着对所述待处理GOP进行解码,生成具有N帧图像的YUV序列,其中,所述YUV序列中的图像记为第1帧、第2帧、第3帧、…、第N帧。
在所述YUV帧序列中提取具有连续L帧图像的子序列,第1次对所述待处理GOP解码时,提取的子序列起点帧图像为第N帧,终点帧图像为第(N-L+1)帧,然后将子序列送显示后删除。
在上述的子序列删除之后,继续对所述待处理GOP序列进行解码,并在生成的YUV序列中提取具有连续L帧图像的子序列,且提取的子序列的起点帧图像为上一次解码后提取的终点帧图像的下一帧图像为起点帧图像,其中,第i次解码时,提取的子序列的起点帧图像为第[N-(i-1)L]帧,终点帧为[N-iL+1]帧,直到对所述待处理GOP重复解码次数为C时,将所述待处理GOP完成视频倒放后,进一步逆序获取下一个待处理GOP进行视频倒放处理,直到获取的视频码流文件完成视频倒放。
在上述应用场景中,将所述待处理GOP解码生成包含多个连续图像的帧序列,然后基于视频倒放倍数,在所述帧序列中逆序提取包含所述第一帧数的连续图像的子序列进行视频倒放,当完成视频倒放后,继续对所述待处理GOP进行解码,并在生成的帧序列中继续提取出未进行视频倒放的子序列进行视频倒放,直到所述待处理GOP完成视频倒放,接着处理下一个GOP,进而对所述获取的视频码流完成视频倒放。
通过上述方法,可以实现利用系统富余的内存,在使用较少的内存资源的情况下,对包含图像帧数较多的GOP码流进行视频倒放,避免现有技术中因为申请的内存空间不足导致的视频倒放跳帧问题,并且可以节省系统内存。
基于同一发明构思,本申请实施例中还提供了一种视频倒放装置,如图3所示,为本申请中一种视频倒放装置的结构示意图,该装置包括:
解码模块31,用于在视频码流中确定出待处理画面组GOP,并将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列,其中,N为大于或等于1的整数;
第一计算模块32,用于根据视频倒放条件,计算所述帧序列中用于视频倒放的第一帧数;
提取模块33,用于在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列;
显示模块34,用于按照所述第一子序列进行视频倒放。
在一种可能的设计中,所述解码模块31,具体用于:
将获取的视频码流进行解析,生成包含连续M个GOP的GOP序列,其中,M为大于或等于1的整数;
逆序获取所述GOP序列中的所述待处理GOP;
将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列。
在一种可能的设计中,所述第一计算模块32,具体用于:
根据视频倒放倍数,确定出用于视频倒放的内存;
根据所述内存及所述待处理GOP中的所有图像,确定出所述帧序列中用于视频倒放的第一帧数。
在一种可能的设计中,所述提取模块33,具体用于:
在所述帧序列中确定出未进行视频倒放的最后一帧图像为起点帧图像;
根据所述第一帧数,确定终点帧图像;
根据所述起点帧图像和终点帧图像,在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列。
在一种可能的设计中,所述装置还包括:
删除模块,用于将所述第一子序列删除;
第二计算模块,用于根据所述第一帧数和所述待处理GOP中包含的图像帧数,计算出所述待处理GOP完成视频倒放需要进行解码的第一解码次数;
检测模块,用于检测所述待处理GOP已经完成的第二解码次数;
处理模块,用于若所述第二解码次数小于第一解码次数,则继续对所述待处理GOP进行解码,生成所述帧序列,并在所述帧序列中提取第二子序列进行视频倒放,其中,所述第二子序列,以上一次提取的终点帧图像的下一帧为起点帧图像,且对应所述第一帧数的连续图像;若所述第二解码次数等于第一解码次数,则继续逆序获取所述GOP序列中没有完成视频倒放的单个GOP进行视频倒放处理,直到所述视频码流倒放完成。
基于以上一种视频倒放装置,将所述待处理GOP解码生成包含多个连续图像的帧序列,然后基于视频倒放倍数,在所述帧序列中逆序提取对应所述第一帧数的连续图像的子序列进行视频倒放,当完成视频倒放后,继续对所述待处理GOP进行解码,并在生成的帧序列中继续提取出没有进行视频倒放的子序列进行视频倒放,直到所述待处理GOP完成视频倒放,接着处理下一个GOP,进而对所述获取的视频码流完成视频倒放。通过上述方法,可以实现利用系统富余的内存,在使用较少的内存资源的情况下,对包含图像帧数较多的GOP码流进行视频倒放,避免现有技术中因为申请的内存空间不足导致的视频倒放跳帧问题,并且可以节省系统内存。
基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备可以实现前述视频倒放方法装置的功能,参考图4,所述电子设备包括:
至少一个处理器41,以及与至少一个处理器41连接的存储器42,本申请实施例中不限定处理器41与存储器42之间的具体连接介质,图4中是以处理器41和存储器42之间通过总线40连接为例。总线40在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线40可以分为地址总线、数据总线、控制总线等,为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器41也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器42存储有可被至少一个处理器41执行的指令,至少一个处理器41通过执行存储器42存储的指令,可以执行前文论述视频倒放方法。处理器41可以实现图3所示的装置中各个模块的功能。
其中,处理器41是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器42内的指令以及调用存储在存储器42内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器41可包括一个或多个处理单元,处理器41可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器41中。在一些实施例中,处理器41和存储器42可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器41可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的视频倒放方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器42作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器42可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等。存储器42是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器42还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器41进行设计编程,可以将前述实施例中介绍的视频倒放方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图1所示的实施例的视频倒放方法的步骤。如何对处理器41进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述视频倒放方法。
在一些可能的实施方式中,本申请提供的视频倒放方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的视频倒放方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种视频倒放方法,其特征在于,包括:
在视频码流中确定出待处理画面组GOP,并将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列,其中,N为大于或等于1的整数;
根据视频倒放条件,计算所述帧序列中用于视频倒放的第一帧数;
在所述帧序列中提取对应所述第一帧数的图像的第一子序列;
按照所述第一子序列进行视频倒放。
2.如权利要求1所述的方法,其特征在于,所述在视频码流中确定出待处理画面组GOP,并将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列,包括:
将获取的视频码流进行解析,生成包含连续M个GOP的GOP序列,其中,M为大于或等于1的整数;
逆序获取所述GOP序列中的所述待处理GOP;
将所述待处理GOP进行解码,生成具有连续N帧图像的帧序列。
3.如权利要求1所述的方法,其特征在于,所述根据视频倒放条件,计算所述帧序列中用于视频倒放的第一帧数,包括;
根据视频倒放倍数,确定出用于视频倒放的内存;
根据所述内存及所述待处理GOP中的所有图像,确定出所述帧序列中用于视频倒放的第一帧数。
4.如权利要求1所述的方法,其特征在于,所述在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列,包括:
在所述帧序列中确定出未进行视频倒放的最后一帧图像为起点帧图像;
根据所述第一帧数,确定终点帧图像;
根据所述起点帧图像和终点帧图像,在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列。
5.如权利要求4所述的方法,其特征在于,在按照所述第一子序列进行视频倒放之后,还包括:
将所述第一子序列删除;
根据所述第一帧数和所述待处理GOP中包含的图像帧数,计算出所述待处理GOP完成视频倒放需要进行解码的第一解码次数;
检测所述待处理GOP已经完成的第二解码次数;
若所述第二解码次数小于第一解码次数,则继续对所述待处理GOP进行解码,生成所述帧序列,并在所述帧序列中提取第二子序列进行视频倒放,其中,所述第二子序列,以上一次提取的终点帧图像的下一帧为起点帧图像,且对应所述第一帧数的连续图像;
若所述第二解码次数等于第一解码次数,则继续逆序获取所述GOP序列中没有完成视频倒放的单个GOP进行视频倒放处理,直到所述视频码流倒放完成。
6.一种视频倒放装置,其特征在于,所述装置包括:
解码模块,用于在视频码流中确定出待处理画面组GOP,并将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列,其中,N为大于或等于1的整数;
第一计算模块,用于根据视频倒放条件,计算所述帧序列中用于视频倒放的第一帧数;
提取模块,用于在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列;
显示模块,用于按照所述第一子序列进行视频倒放。
7.如权利要求6所述的装置,其特征在于,所述解码模块,具体用于:
将获取的视频码流进行解析,生成包含连续M个GOP的GOP序列,其中,M为大于或等于1的整数;
逆序获取所述GOP序列中的所述待处理GOP;
将所述待处理GOP进行解码,生成表示连续N帧图像的帧序列。
8.如权利要求6所述的装置,其特征在于,所述第一计算模块,具体用于:
根据视频倒放倍数,确定出用于视频倒放的内存;
根据所述内存及所述待处理GOP中的所有图像,确定出所述帧序列中用于视频倒放的第一帧数。
9.如权利要求6所述的装置,其特征在于,所述提取模块,具体用于:
在所述帧序列中确定出未进行视频倒放的最后一帧图像为起点帧图像;
根据所述第一帧数,确定终点帧图像;
根据所述起点帧图像和终点帧图像,在所述帧序列中提取对应所述第一帧数的连续图像的第一子序列。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
删除模块,用于将所述第一子序列删除;
第二计算模块,用于根据所述第一帧数和所述待处理GOP中包含的图像帧数,计算出所述待处理GOP完成视频倒放需要进行解码的第一解码次数;
检测模块,用于检测所述待处理GOP已经完成的第二解码次数;
处理模块,用于若所述第二解码次数小于第一解码次数,则继续对所述待处理GOP进行解码,生成所述帧序列,并在所述帧序列中提取第二子序列进行视频倒放,其中,所述第二子序列,以上一次提取的终点帧图像的下一帧为起点帧图像,且对应所述第一帧数的连续图像;若所述第二解码次数等于第一解码次数,则继续逆序获取所述GOP序列中没有完成视频倒放的单个GOP进行视频倒放处理,直到所述视频码流倒放完成。
11.一种电子设备,其特征在于,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-5中任一项所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法步骤。
CN202111082910.5A 2021-09-15 2021-09-15 一种视频倒放方法、装置及电子设备 Pending CN113923452A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111082910.5A CN113923452A (zh) 2021-09-15 2021-09-15 一种视频倒放方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111082910.5A CN113923452A (zh) 2021-09-15 2021-09-15 一种视频倒放方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN113923452A true CN113923452A (zh) 2022-01-11

Family

ID=79235218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111082910.5A Pending CN113923452A (zh) 2021-09-15 2021-09-15 一种视频倒放方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113923452A (zh)

Similar Documents

Publication Publication Date Title
US10448031B2 (en) Method of generating media file and storage medium storing media file generation program
CN107707931B (zh) 根据视频数据生成解释数据、数据合成方法及装置、电子设备
JP3244629B2 (ja) シーン変化点検出方法
US8340509B2 (en) Method and device for controlling playing speed of a compressed digital video sequence (trickmode)
CN113556442B (zh) 视频去噪方法、装置、电子设备及计算机可读存储介质
US7733379B2 (en) Composite still-image creating device capable of creating a still image from moving images
US20110069146A1 (en) System and method for processing images
CN116567170A (zh) 一种云平台的视频超分辨率并行调度方法、装置及云平台
US10924637B2 (en) Playback method, playback device and computer-readable storage medium
CN113923452A (zh) 一种视频倒放方法、装置及电子设备
CN112019878B (zh) 一种视频解码和编辑的方法、装置、设备和存储介质
CN112565886A (zh) 一种视频抽帧方法、装置、电子设备及可读存储介质
CN107623852B (zh) 一种对数字视频信号进行编码及降帧的方法及装置
CN111327898B (zh) 一种视频编码的方法、装置、电子设备及存储介质
CN111669599A (zh) 视频解码方法、视频解码装置及终端设备
CN113923456B (zh) 视频处理方法及装置
EP1643764A1 (en) Video reproducing apparatus
CN115243073A (zh) 一种视频处理方法、装置、设备及存储介质
JP7017542B2 (ja) 映像復号装置および映像復号方法
CN106203244B (zh) 一种镜头类型的确定方法及装置
CN113949942A (zh) 视频摘要生成方法、装置、终端设备及存储介质
CN111147954A (zh) 一种缩略图抽取方法及装置
CN113438500A (zh) 视频处理方法、装置、电子设备及计算机存储介质
CN115243101B (zh) 视频动静率识别方法、装置、电子设备及存储介质
CN112839232B (zh) 数据流起始码搜索方法、装置及计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination