CN111641824A - 视频倒放方法及装置 - Google Patents
视频倒放方法及装置 Download PDFInfo
- Publication number
- CN111641824A CN111641824A CN201910156384.9A CN201910156384A CN111641824A CN 111641824 A CN111641824 A CN 111641824A CN 201910156384 A CN201910156384 A CN 201910156384A CN 111641824 A CN111641824 A CN 111641824A
- Authority
- CN
- China
- Prior art keywords
- gop
- image
- decoding
- frame
- images
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 36
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 claims description 106
- 238000005516 engineering process Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 35
- 238000012545 processing Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 18
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- NUHSROFQTUXZQQ-UHFFFAOYSA-N isopentenyl diphosphate Chemical compound CC(=C)CCO[P@](O)(=O)OP(O)(O)=O NUHSROFQTUXZQQ-UHFFFAOYSA-N 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/177—Methods 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/44008—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4402—Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种视频倒放方法及装置,属于视频处理技术领域。该方法包括:在接收到视频倒放指令后,在帧内刷新码流中获取视频倒放指令所指示的待解码数据;对待解码数据所属的GOP中的每个GOP执行解码播放过程。对待解码数据所属的GOP中的每个GOP,会基于位于当前GOP之前的GOP对该当前GOP进行解码,以保证该当前GOP解码得到图像信息完整的图像。因此,进行倒序显示时,能够有效的提高了视频倒放的显示效果。
Description
技术领域
本申请涉及视频处理技术领域,特别涉及一种视频倒放方法及装置。
背景技术
目前视频文件的编码方式主要为非全I帧编码方式,对视频文件采用非全I帧编码方式进行编码后,可以得到IPPP码流。该IPPP码流可以包括:I帧和P帧,该I帧称为帧内编码帧,是一种自带全部信息的独立帧,其无需参考其它帧便可独立进行解码;P帧也称为帧间预测编码帧,P帧不能够独立解码,必须参考前面的I帧或P帧才能进行解码。通常情况下,在IPPP码流中,I帧是周期性出现的,每个I帧之后均会排布有一个或多个P帧,可以将一个I帧和其后排布的P帧,称为画面组(英文:Group of Pictures;简称:GOP)。
由于每个GOP中的I帧解码后均是携带完整图像信息的一幅图像,因此IPPP码流在解码过程中,占用的内存较大。为了降低码流在解码过程中占用的内存,可以采用帧内刷新(英文:intra refresh)技术进行编码,采用该技术编码得到的码流称为帧内刷新码流。该帧内刷新码流中的每个GOP可以包括:一个伪I帧,以及其后排布的一个或多个P帧。该伪I帧和每个P帧中只携带了一幅图像中部分图像信息,两者的解码方式与IPPP码流中的解码方式相同,当只对伪I帧进行解码时,只能得到一幅图像中的一部分内容,所得到的图像为图像信息不完整(也即图像信息缺失)的图像;当对GOP中的伪I帧和其后排布的多个P帧进行解码后,才能得到一幅图像信息完整的图像。
若需要对帧内刷新码流进行倒放,则需要按照从后到前的顺序依次对每个GOP进行解码,在每个GOP解码得到多帧图像后,将该多帧图像依次进行倒序显示。
但是,在对每个GOP进行解码时,该GOP中的伪I帧解码得到的图像,以及该伪I帧之后的P帧解码得到的图像可能是图像信息不完整的图像。若将解码后得到的多帧图像依次进行倒序显示,可能会出现由图像信息完整的图像变化为图像信息不完整的图像的显示效果。因此,目前对帧内刷新码流进行倒放的显示效果较差。
发明内容
本申请实施例提供了一种视频倒放方法及装置。可以解决目前对帧内刷新码流进行倒放的显示效果较差问题,所述技术方案如下:
第一方面,提供了一种视频倒放方法,所述方法包括:
在接收到视频倒放指令后,在帧内刷新码流中获取所述视频倒放指令所指示的待解码数据;
对所述待解码数据所属的画面组GOP中的每个GOP执行解码播放过程;
其中,对于每个GOP,当所述帧内刷新码流中,存在位于当前GOP之前的GOP时,所述解码播放过程包括:
基于位于所述当前GOP之前的GOP对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第一待选图像;
倒序显示多帧第一目标图像,所述多帧第一目标图像为所述多帧第一待选图像中与所述待解码数据时序上对应的图像。
可选的,所述基于位于所述当前GOP之前的GOP对所述当前GOP进行解码,得到多帧第一待选图像,包括:
将位于所述当前GOP之前的GOP确定为参考GOP,所述参考GOP与所述当前GOP间隔的GOP个数小于设定的间隔个数;
通过对所述参考GOP进行解码,得到图像信息完整的第一参考图像;
基于所述第一参考图像对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第一待选图像。
可选的,通过对所述参考GOP进行解码,得到图像信息完整的第一参考图像,包括:
对所述参考GOP进行解码,得到多帧备选图像;
将所述多帧备选图像中图像信息完整的至少一帧图像确定为所述第一参考图像。
可选的,所述当前GOP包括多个图像帧数据,
基于所述第一参考图像对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第一待选图像,包括:
对于所述多个图像帧数据中的首个图像帧数据,基于所述第一参考图像对所述首个图像帧数据进行解码,得到与所述首个图像帧数据对应的第一待选图像;
对于所述多个图像帧数据中除所述首个图像帧数据之外的每个其他图像帧数据,基于第二参考图像对所述其他图像帧数据进行解码,得到与所述其他图像帧数据对应的第一待选图像,所述第二参考图像为位于所述其他图像帧数据之前的图像帧数据对应的第一待选图像。
可选的,对于每个GOP,当所述帧内刷新码流中,不存在位于当前GOP之前的GOP时,所述解码播放过程包括:
对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第二待选图像;
倒序显示多帧第二目标图像,所述多帧第二目标图像为所述多帧第二待选图像中与所述待解码数据时序上对应的图像。
可选的,所述在帧内刷新码流中获取所述视频倒放指令所指示的待解码数据之前,所述方法还包括:
获取所述帧内刷新码流,所述帧内刷新码流的首个GOP采用非全I帧编码方式编码得到,所述帧内刷新码流的其他GOP采用帧内刷新技术编码得到,所述其他GOP为除所述首个GOP之外的GOP。
可选的,在所述倒序显示多帧第二目标图像之前,所述解码播放过程还包括:
检测所述多帧第二目标图像中的每一帧第二目标图像的图像信息是否完整;
当所述多帧第二目标图像中存在图像信息不完整的图像时,删除所述多帧第二目标图像中图像信息不完整的图像。
可选的,所述视频倒放指令包括解码开始时刻和解码结束时刻,
所述在帧内刷新码流中获取所述视频倒放指令所指示的待解码数据,包括:
基于所述开始时刻和所述结束时刻,在所述帧内刷新码流中截取所述待解码数据。
第二方面,提供了一种视频倒放装置,所述装置包括:
第一获取模块,用于在接收到视频倒放指令后,在帧内刷新码流中获取所述视频倒放指令所指示的待解码数据;
解码播放模块,用于对所述待解码数据所属的GOP中的每个GOP执行解码播放过程;
其中,对于每个GOP,当所述帧内刷新码流中,存在位于当前GOP之前的GOP时,所述解码播放过程包括:
基于位于所述当前GOP之前的GOP对所述GOP进行解码,得到与所述当前GOP对应的多帧第一待选图像;
倒序显示多帧第一目标图像,所述多帧第一目标图像为所述多帧第一待选图像中与所述待解码数据时序上对应的图像。
可选的,所述解码播放模块,用于:
将位于所述当前GOP之前的GOP确定为参考GOP,所述参考GOP与所述当前GOP间隔的GOP个数小于设定的间隔个数;
通过对所述参考GOP进行解码,得到图像信息完整的第一参考图像;
基于所述第一参考图像对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第一待选图像。
可选的,所述解码播放模块,用于:
对所述参考GOP进行解码,得到多帧备选图像;
将所述多帧备选图像中图像信息完整的至少一帧图像确定为所述第一参考图像。
可选的,所述当前GOP包括多个图像帧数据,所述解码播放模块,用于:
对于所述多个图像帧数据中的首个图像帧数据,基于所述第一参考图像对所述首个图像帧数据进行解码,得到与所述首个图像帧数据对应的第一待选图像;
对于所述多个图像帧数据中除所述首个图像帧数据之外的每个其他图像帧数据,基于第二参考图像对所述其他图像帧数据进行解码,得到与所述其他图像帧数据对应的第一待选图像,所述第二参考图像为位于所述其他图像帧数据之前的图像帧数据对应的第一待选图像。
可选的,所述解码播放模块,还用于:
对于每个GOP,当所述帧内刷新码流中,不存在位于当前GOP之前的GOP时,所述解码播放过程包括:
对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第二待选图像;
倒序显示多帧第二目标图像,所述多帧第二目标图像为所述多帧第二待选图像中与所述待解码数据时序上对应的图像。
可选的,所述装置还包括:
第二获取模块,用于获取所述帧内刷新码流,所述帧内刷新码流的首个GOP采用非全I帧编码方式编码得到,所述帧内刷新码流的其他GOP采用帧内刷新技术编码得到,所述其他GOP为除所述首个GOP之外的GOP。
可选的,所述解码播放模块,还用于:
检测所述多帧第二目标图像中的每一帧第二目标图像的图像信息是否完整;
当所述多帧第二目标图像中存在图像信息不完整的图像时,删除所述多帧第二目标图像中图像信息不完整的图像。
可选的,所述视频倒放指令包括解码开始时刻和解码结束时刻,所述第一获取模块,用于:
基于所述开始时刻和所述结束时刻,在所述帧内刷新码流中截取所述待解码数据。
本申请实施例提供的技术方案带来的有益效果是:
对待解码数据所属的GOP中的每个GOP,会基于位于当前GOP之前的GOP对该当前GOP进行解码,以保证该当前GOP解码得到图像信息完整的图像。因此,进行倒序显示时,对于解码得到的图像信息完整的多帧图像不会出现由图像信息完整的图像变化为图像信息不完整的图像的显示效果,有效的提高了视频倒放的显示效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是帧内刷新码流中帧结构结构示意图;
图2是对单个GOP进行解码时图像的刷新逻辑图;
图3为对伪I帧进行解码后得到的图像的效果图;
图4为对第一个P帧进行解码后得到的图像的效果图;
图5为对第N/2个P帧进行解码后得到的图像的效果图;
图6是第N个P帧进行解码后得到的图像的效果图;
图7是本申请实施例提供的一种视频倒放的方法流程图;
图8是本申请实施例提供的另一种视频倒放的方法流程图;
图9是本申请实施例提供的待解码数据所属的GOP中的首个GOP的帧结构示意图;
图10是本申请实施例提供的待解码数据所属的GOP中的末尾GOP的帧结构示意图;
图11是本申请实施例提供的待解码数据包括的N个GOP的结构示意图;
图12是本申请实施例还提供了一种视频倒放装置的框图;
图13是本申请实施例还提供了另一种视频倒放装置的框图;
图14示出了本申请一个示例性实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,图1是帧内刷新码流中帧结构结构示意图。该帧内刷新码流包括多个GOP,每个GOP可以包括:一个伪I帧,以及其后排布的一个或多个P帧。该伪I帧和每个P帧中只携带了一幅图像中部分图像信息。
当对单个GOP进行解码时,可以依次对伪I帧以及其后排布的每个P帧进行解码,得到多帧图像,该多帧图像中包括一些图像信息不完整的图像。示例的,如图2所示,图2是对单个GOP进行解码时图像的刷新逻辑图,该多帧图像中的每一帧图像均配置有时间戳信息,按照时序上从前到后的顺序,每帧图像所包含的图像信息逐渐增多。通常情况下,对单个GOP进行解码后得到的多帧图像中包括至少一帧图像为图像信息完整的图像,而除该至少一帧图像之外的其他的每一帧图像均是图像信息不完整的图像。
例如,假设在对单个GOP中的最后一个P帧进行解码后得到的图像为图像信息完整的图像,该GOP中的P帧的个数为N(假设N为偶数)个,则如图3~图6所示,图3为对伪I帧进行解码后得到的图像的效果图,图4为对第一个P帧进行解码后得到的图像的显示效果,图5为对第N/2个P帧进行解码后得到的图像显示效果,图6是第N个P帧进行解码后得到的图像效果。由图3至图6可知,对帧内刷新码流中的单个GOP全部进行解码后,得到的最后一帧图像才是图像信息完整的图像,而其他的每一帧图像均是图像信息不完整的图像。
相关技术中,对于采用非全I帧编码方式进行编码得到的IPPP码流,若需要对该IPPP码流进行倒放,则可以按照从后到前的顺序依次对IPPP码流中的每个GOP进行解码,在每个GOP解码得到多帧图像后,将该多帧图像依次进行倒序显示。由于对在IPPP码流中的每个GOP中的I帧进行解码得到的图像为图像信息完整的图像,因此对该GOP进行解码得到的每一帧图像均是图像信息完整的图像,可以正常对该多帧图像依次进行倒放显示。
而对于采用帧内刷新技术进行编码得到的帧内刷新码流,若需要对该帧内刷新码流进行倒放,则可以按照从后到前的顺序依次对帧内刷新码流中的每个GOP进行解码,在每个GOP解码得到多帧图像后,将该多帧图像依次进行倒序显示。由于该帧内刷新码流中的每个GOP中的伪I帧和每个P帧中只携带了一幅图像中部分图像信息,因此对该GOP进行解码得到的图像可能是图像信息不完整的图像。在对每个GOP进行解码得到的多帧图像依次进行倒序显示时,可能会出现由图像信息完整的图像变化为图像信息不完整的图像的显示效果,例如,出现由图6变化至图3的显示效果。
因此,目前对帧内刷新码流进行倒放的显示效果较差。
请参考图7,图7是本申请实施例提供的一种视频倒放的方法流程图。该视频倒放方法可以包括:
步骤101、在接收到视频倒放指令后,在帧内刷新码流中获取视频倒放指令所指示的待解码数据。
在本申请实施例中,该视频倒放指令包括解码开始时刻和解码结束时刻。上述步骤101可以包括:基于该开始时刻和结束时刻,在帧内刷新码流中截取该待解码数据。
示例的,该帧内刷新码流中的每个图像帧数据(该图像帧数据为伪I帧数据或P帧数据)均配置有时间戳信息,可以基于每个图像帧数据的时间戳信息,获取与该开始时刻相同的第一图像帧数据,并获取与该结束时刻相同的第二图像帧数据,从而可以将第一图像帧数据与第二图像帧数据之间的图像帧数据确定为待解码数据。
步骤102、对待解码数据所属的GOP中的每个GOP执行解码播放过程。
其中,对于每个GOP,当帧内刷新码流中,存在位于当前GOP之前的GOP时,解码播放过程包括:
基于位于该当前GOP之前的GOP对该当前GOP进行解码,得到与该当前GOP对应的多帧第一待选图像;倒序显示多帧第一目标图像,该多帧第一目标图像为多帧第一待选图像中与待解码数据时序上对应的图像。
示例的,在需要倒放待解码数据时,可以对该待解码数据所属的GOP按照从后到前的顺序对每个GOP执行解码播放过程。在对每个当前GOP执行解码播放过程中,可以先按照从前到后的顺序对该当前GOP中的每个图像帧数据进行解码,得到与该当前GOP对应的多帧第一待选图像,然后倒叙显示多帧第一目标图像。
在本申请实施例中,由于位于该当前GOP之前的GOP解码后可以得到图像信息完整的的图像,若基于位于该当前GOP之间的GOP对该当前GOP进行解码,得到的与该当前GOP对应的多帧第一待选图像均为图像信息完整的图像。因此,在对该多帧第一待选图像中与待解码数据时序上对应的多帧第一目标图像,进行倒序显示时,不会出现由图像信息完整的图像变化为图像信息不完整的图像的显示效果。
示例的,对该当前GOP中的伪I帧进行解码时,可以将伪I帧对应的图像信息显示在诸如图3中的区域a1中,而对于除该区域a1之外的其他区别b1,可以采用在位于该当前GOP之前的GOP解码后得到的图像信息完整的图像中,与该其他区域b1对应的区域处的图像信息进行填充,因此对该伪I帧进行解码后得到的第一待选图像是图像信息完整的图像。同理可以得到:其他的第一待选图像均为图像信息完整的图像。
综上所述,本申请实施例提供的视频倒放方法,对待解码数据所属的GOP中的每个GOP,会基于位于当前GOP之前的GOP对该当前GOP进行解码,以保证该当前GOP解码得到图像信息完整的图像。因此,进行倒序显示时,对于解码得到的图像信息完整的多帧图像不会出现由图像信息完整的图像变化为图像信息不完整的图像的显示效果,有效的提高了视频倒放的显示效果。
如图8所示,上述实施例中的步骤102中的,对待解码数据所属的GOP中的每个GOP执行解码播放过程,可以包括如下步骤:
步骤201、在帧内刷新码流中,判断是否存在位于当前GOP之前的GOP。
示例的,当判断得到在帧内刷新码流中存在位于该当前GOP之前的GOP时,执行步骤202;当判断得到在帧内刷新码流中不存在位于该当前GOP之前的GOP时,也即是,该当前GOP为帧内刷新码流中的首个GOP,执行步骤207。
由于如果一个GOP不为待解码数据的所属GOP中的首个GOP,则在帧内刷新码流中必然存在位于该GOP之前的GOP,如果该GOP为帧内刷新码流中的首个GOP,则在帧内刷新码流中必然不存在位于该GOP之前的GOP,因此,在一种可选的实现方式中,上述步骤201可以包括:判断当前GOP是否为待解码数据的所属GOP中的首个GOP。当判断得到该当前GOP不是待解码数据所属的GOP中的首个GOP时,说明在帧内刷新码流中存在位于该当前GOP之前的GOP,此时,执行步骤202。当判断得到该当前GOP为待解码数据的所属的GOP中的首个GOP时,说明在帧内刷新码流中可能存在位于该当前GOP之前的GOP,也可能不存位于该当前GOP之前的GOP。此时,需要继续判断该当前GOP是否帧内刷新码流中的首个GOP。当判断得到该当前GOP不是帧内刷新码流中的首个GOP时,继续执行步骤202;当判断得到该当前GOP是帧内刷新码流中的首个GOP时,执行步骤207。
步骤202、将位于该当前GOP之前的GOP确定为参考GOP。
在本申请实施例中,若在帧内刷新码流中存在位于该当前GOP之前的GOP,可以将位于该当前GOP之前的GOP确定为参考GOP,参考GOP与该当前GOP间隔的GOP个数小于设定的间隔个数。需要说明的是,该参考GOP可以为位于该当前GOP之前的一个GOP或多个GOP。当参考GOP为位于该当前GOP之前的多个GOP时,该多个GOP可以为顺序上连续的多个GOP,此时,参考GOP与该当前GOP间隔的GOP个数指的是:该多个GOP中的最后一个GOP与该当前GOP间隔的GOP个数。
若参考GOP与该当前GOP间隔的GOP个数较多,例如参考GOP与该当前GOP间隔的GOP个数大于或等于设定的间隔个数,则在后续基于该参考GOP进行解码得到的图像信息完整的第一参考图像,对该当前GOP进行解码得到的多帧第一待选图像中,任意一帧第一待选图像中可能会出现画面突变的现象,该任意一帧第一待选图像的显示效果较差。因此,若参考GOP与该当前GOP间隔的GOP个数小于设定的间隔个数,则在后续基于该第一参考图像对该当前GOP进行解码得到的多帧第一待选图像中,任意一帧第一待选图像中不会出现画面突变的现象,该任意一帧第一待选图像的显示效果较好。
该设定的间隔个数可以为1或2,通常情况下,可以将帧内刷新码流中位于该当前GOP之前的一个GOP确定为参考GOP,也即是,设定的间隔个数为1,参考GOP与该当前GOP间隔的GOP个数为0。
步骤203、对参考GOP进行解码,得到多帧备选图像。
在本申请实施例中,可以依次对该参考GOP中的伪I帧和每个P帧进行解码,得到多帧备选图像。需要说明的是,该多帧备选图像中通常会存在至少一帧备选图像为图像信息完整的图像,除了该至少一帧备选图像之外的每一帧备选图像均是图像信息不完整的图像。
本申请实施例在实际使用时,在参考GOP进行解码的过程中,在每得到一帧备选图像时,可以将该备选图像存储在预设存储器中。
步骤204、将多帧备选图像中图像信息完整的至少一帧图像确定为第一参考图像。
可选的,可以依次判断该多帧备选图像中的每一帧备选图像是否为图像信息完整的图像;当判断得到某一帧备选图像为图像信息不完整的图像时,可以删除该备选图像;当判断得到任意一帧备选图像为图像信息完整的图像时,可以将该备选图像确定为第一参考图像,之后,可以删除除该第一参考图像之外的每一帧备选图像。
通常情况下,该多帧备选图像按照时序上从前到后的顺序,图像信息的完整程度逐渐增加,且最后一帧备选图像为图像信息完整的图像。因此,可以无需执行上述判断该多帧备选图像中的每一帧备选图像是否为图像信息完整的图像的过程,直接将该最后一帧备选图像确定为第一参考图像,在确定参考图像后,可以删除其他的每一帧备选图像。
步骤205、基于第一参考图像对该当前GOP进行解码,得到与该当前GOP对应的多帧第一待选图像。
在本申请实施例中,该当前GOP包括多个图像帧数据。该多个图像帧数据中的首个图像帧数据为伪I帧,而除该首个图像帧数据中的每个其他图像帧数据均为P帧。上述步骤205可以包括如下几个步骤:
步骤A1、对于该当前GOP中的多个图像帧数据中的首个图像帧数据,基于第一参考图像对该首个图像帧数据进行解码,得到与首个图像帧数据对应的第一待选图像。
示例的,该首个图像帧数据可以独立进行解码,在解码完成后,可以将该首个图像帧数据对应的图像信息显示在诸如图3中的区域a1中,而对于除该区域a1之外的其他区别b1,可以采用在第一参考图像中与该其他区域b1对应的区域处的图像信息进行填充,因此对该首个图像帧数据进行解码,得到的与首个图像帧数据对应的第一待选图像是图像信息完整的图像。
步骤B1、对于该当前GOP中的多个图像帧数据中除该首个图像帧数据之外的每个其他图像帧数据,基于第二参考图像对其他图像帧数据进行解码,得到与其他图像帧数据对应的第一待选图像。
在本申请实施例中,该第二参考图像为位于其他图像帧数据之前的图像帧数据对应的第一待选图像。
示例的,假设需要对该当前GOP中的第2个图像帧数据进行解码,该第2个图像帧数据需要参考第一图像帧数据,才能进行解码,在解码完成后,可以将该第2个图像帧数据对应的图像信息显示在诸如图4中的区域a2中,而对于除该区域a2之外的其他区别b2,可以采用在第二参考图像(该第二参考图像为:首个图像帧数据对应的第一待选图像)中与该其他区域b2对应的区域处的图像信息进行填充,因此对该第2个图像帧数据进行解码,得到的与第2个图像帧数据对应的第一待选图像是图像信息完整的图像。
通过上述步骤A1至步骤B1可以得到该当前GOP对应的多帧第一待选图像,且每一帧第一待选图像均是图像信息完整的图像。
需要说明的是,在基于第一参考图像对该当前GOP进行解码的过程中,在每得到一帧第一待选图像时,可以将该第一待选图像存储在预设存储器中。
步骤206、倒序显示多帧第一目标图像。
在本申请实施例中,该多帧第一目标图像为在多帧第一待选图像中与待解码数据时序上对应的图像。
当待解码的当前GOP位于待解码数据所属的GOP中不同位置时,其解码方式可能不同,相应的,倒序显示解码得到的多帧第一目标图像的方式也不相同。本申请实施例以以下两种情况对此进行解释。
第一种情况,当待解码的当前GOP为待解码数据所属的GOP的非末尾GOP时,步骤205中解码得到的与该当前GOP对应的多帧第一待选图像为该当前GOP解码得到的全部帧图像。
相应的,在步骤206中,若待解码的当前GOP为待解码数据所属的GOP的首个GOP,需要基于视频倒放指令包括的解码开始时刻以及每一帧第一待选图像对应的时间戳信息,在多帧第一待选图像中获取与待解码数据时序上对应的图像,作为多帧第一目标图像。例如,如图9所示,图9是本申请实施例提供的待解码数据所属的GOP中的首个GOP的帧结构示意图。若视频倒放指令包括的解码开始时刻,与该首个GOP中的第k1个图像帧数据对应的时间戳信息相同,将第k1个图像帧数据对应的第一待选图像至末尾图像帧数据对应的第一待选图像之间的多帧第一待选图像,确定为多帧第一目标图像。对于位于该第k1个图像帧数据之前的图像帧数据对应的第一待选图像,可以直接将其进行删除。
在步骤206中,若待解码的当前GOP为待解码数据所属的GOP的非首个GOP,也即是,该待解码的当前GOP为待解码数据所属的GOP中的除了首个GOP与末尾GOP之外的任一GOP,该多帧第一待选图像即为多帧第一目标图像。
第二种情况,当待解码的当前GOP为待解码数据所属的GOP的末尾GOP时,在第一种可选的实现方式中,步骤205中解码得到的与该当前GOP对应的多帧第一待选图像为该当前GOP解码得到的全部帧图像。相应的,在步骤206中,需要基于视频倒放指令包括的解码结束时刻以及每一帧待选图像对应的时间戳信息,在多帧第一待选图像中获取与待解码数据时序上对应的图像,作为多帧第一目标图像。例如,如图10所示,图10是本申请实施例提供的待解码数据所属的GOP中的末尾GOP的帧结构示意图。若视频倒放指令包括的解码结束时刻,与该末尾GOP中的第k2个图像帧数据对应的时间戳信息相同,将第k2个图像帧数据对应的第一待选图像至首个图像帧数据对应的第一待选图像之间的多帧第一待选图像,确定为多帧第一目标图像。
在第另一种可选的实现方式中,步骤205中解码得到的与该当前GOP对应的多帧第一待选图像为该当前GOP解码得到的图像中的部分帧图像,该部分帧图像是将该当前GOP中部分图像帧数据解码得到的,该部分图像帧数据为基于视频倒放指令包括的解码结束时刻以及每一帧待选图像对应的时间戳信息,在该当前GOP中筛选得到的。示例的,如图10所示,在步骤205中,可以将该末尾GOP中的首个图像帧数据至第k2个图像帧数据依次进行解码得到多帧第一待选图像。相应的,在步骤206中,该多帧第一待选图像即为多帧第一目标图像。
在本申请实施例中,在任意一帧第一目标图像显示完成后,可以删除该第一目标图像。
步骤207、对该当前GOP进行解码,得到与该当前GOP对应的多帧第二待选图像。
在本申请实施例中,若在帧内刷新码流中不存在位于该当前GOP之前的GOP,则该当前GOP为帧内刷新码流中的首个GOP,可以直接对该当前GOP进行解码,得到与该当前GOP对应的多帧第二待选图像。示例的,可以依次对该当前GOP中的伪I帧和每个P帧进行解码,从而可以得到多帧第二待选图像。在该当前GOP进行解码的过程中,在每得到一帧第二待选图像时,可以将该第二待选图像存储在预设存储器中。
步骤208、倒序显示多帧第二目标图像。
在本申请实施例中,该多帧第二目标图像为多帧第二待选图像中与待解码数据时序上对应的图像。需要说明的是,该多帧第二目标图像的获取原理可以参考步骤206中的对应内容,本申请实施例在此不再赘述。
还需说明的是,若帧内刷新码流中的每个GOP均是采用帧内刷新技术进行编码得到,步骤207中获取的多帧第二待选图像中会存在至少一帧第二待选图像为图像信息完整的图像,除了该至少一帧第二待选图像之外的每一帧第二待选图像均是图像信息不完整的图像。若直接对多帧第二目标图像进行倒序显示,可能仍然会出现由图像信息完整的图像变化为图像信息不完整的图像的显示效果,导致对多帧第二目标图像进行倒序显示的显示效果较差。
本申请实施例可以通过以下两种可实现方式,提高在对多帧第二目标图像进行倒序显示的显示效果。
在第一种可实现方式中,在帧内刷新码流中获取视频倒放指令所指示的待解码数据之前,该视频倒放方法还可以包括:
步骤A2、获取该帧内刷新码流。
在本申请实施例中,该帧内刷新码流的首个GOP采用非全I帧编码方式编码得到,该帧内刷新码流的其他GOP采用帧内刷新技术编码得到,该其他GOP为除该首个GOP之外的GOP。
示例的,若该帧内刷新码流的首个GOP采用非全I帧编码方式编码得到,则对该首个GOP中的I帧携带了一幅图像中全部图像信息,对该首个GOP进行解码得到的多帧第二待选图像均是图像信息完整的图像,因此在对多帧第二目标图像进行倒序显示时,不会出现由图像信息完整的图像变化为图像信息不完整的图像的显示效果,有效的提高了在对多帧第二目标图像进行倒序显示的显示效果。
在第二种可实现方式中,在上述步骤208之前,该视频倒放方法还可以包括:
步骤A3、检测多帧第二目标图像中的每一帧第二目标图像的图像信息是否完整。
步骤B3、当该多帧第二目标图像中存在图像信息不完整的图像时,删除该多帧第二目标图像中图像信息不完整的图像。
在本申请实施例中,可以删除多帧第二目标图像中图像信息不完整的图像,并保留多帧第二目标图像中图像信息完整的图像。在对保留下来的多帧第二目标图像进行倒序显示时,不会出现由图像信息完整的图像变化为图像信息不完整的图像的显示效果,有效的提高了在对多帧第二目标图像进行倒序显示的显示效果。
在示意性的可选实现方式中,假设待解码数据包括N个GOP,且该N个GOP中的首个GOP为帧内刷新码流中的GOP。如图11所示,按照从后到前的顺序依次对该N个GOP中的每个GOP执行解码播放过程。示例的,在对GOPN至GOP2之间的每个GOP执行解码播放过程时,可以参考上述步骤202至步骤206;在对GOP1执行解码播放过程时,可以参考上述步骤207至步骤208。
需要说明的是,本申请实施例提供的视频倒放方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
综上所述,本申请实施例提供的视频倒放方法,对待解码数据所属的GOP中的每个GOP,会基于位于当前GOP之前的GOP对该当前GOP进行解码,以保证该当前GOP解码得到图像信息完整的图像。因此,进行倒序显示时,对于解码得到的图像信息完整的多帧图像不会出现由图像信息完整的图像变化为图像信息不完整的图像的显示效果,有效的提高了视频倒放的显示效果。
本申请实施例还提供了一种视频倒放装置,该视频倒放装置可以为诸如平板、相机、手机、网络硬盘录像机(英文:Network Video Recorder;简称:NVR)或硬盘录像机(英文:Digital Video Recorder;简称:DVR)等设备上的播放器。如图12所示,该视频倒放装置300可以包括:
第一获取模块301,用于在接收到视频倒放指令后,在帧内刷新码流中获取视频倒放指令所指示的待解码数据。
解码播放模块302,用于对待解码数据所属的GOP中的每个GOP执行解码播放过程。
其中,对于每个GOP,当帧内刷新码流中,存在位于当前GOP之前的GOP时,解码播放过程包括:
基于位于该当前GOP之前的GOP对该当前GOP进行解码,得到与该当前GOP对应的多帧第一待选图像;倒序显示多帧第一目标图像,多帧第一目标图像为多帧第一待选图像中与待解码数据时序上对应的图像。
综上所述,本申请实施例提供的视频倒放装置,对待解码数据所属的GOP中的每个GOP,会基于位于当前GOP之前的GOP对该当前GOP进行解码,以保证该当前GOP解码得到图像信息完整的图像。因此,进行倒序显示时,对于解码得到的图像信息完整的多帧图像不会出现由图像信息完整的图像变化为图像信息不完整的图像的显示效果,有效的提高了视频倒放的显示效果。
可选的,该解码播放模块302,用于:将位于该当前GOP之前的GOP确定为参考GOP,参考GOP与该当前GOP间隔的GOP个数小于设定的间隔个数;通过对参考GOP进行解码,得到图像信息完整的第一参考图像;基于第一参考图像对该当前GOP进行解码,得到与当前GOP对应的多帧第一待选图像。
可选的,该解码播放模块302,用于:对参考GOP进行解码,得到多帧备选图像;将多帧备选图像中图像信息完整的至少一帧图像确定为第一参考图像。
可选的,该当前GOP包括多个图像帧数据,该解码播放模块302,用于:对于多个图像帧数据中的首个图像帧数据,基于第一参考图像对首个图像帧数据进行解码,得到与首个图像帧数据对应的第一待选图像;对于多个图像帧数据中除首个图像帧数据之外的每个其他图像帧数据,基于第二参考图像对其他图像帧数据进行解码,得到与其他图像帧数据对应的第一待选图像,第二参考图像为位于其他图像帧数据之前的图像帧数据对应的第一待选图像。
可选的,该解码播放模块302,还用于:对于每个GOP,当帧内刷新码流中,不存在位于当前GOP之前的GOP时,解码播放过程包括:
对该当前GOP进行解码,得到与该当前GOP对应的多帧第二待选图像;倒序显示多帧第二目标图像,多帧第二目标图像为多帧第二待选图像中与待解码数据时序上对应的图像。
可选的,如图13所示,该视频倒放装置还可以包括:
第二获取模块303,用于获取帧内刷新码流。该帧内刷新码流的首个GOP采用非全I帧编码方式编码得到,帧内刷新码流的其他GOP采用帧内刷新技术编码得到,其他GOP为除首个GOP之外的GOP。
可选的,该解码播放模块302,还用于:
检测多帧第二目标图像中的每一帧第二目标图像的图像信息是否完整;
当多帧第二目标图像中存在图像信息不完整的图像时,删除多帧第二目标图像中图像信息不完整的图像。
可选的,视频倒放指令包括解码开始时刻和解码结束时刻,第一获取模块301,用于:基于开始时刻和结束时刻,在帧内刷新码流中截取待解码数据。
综上所述,本申请实施例提供的视频倒放装置,对待解码数据所属的GOP中的每个GOP,会基于位于当前GOP之前的GOP对该当前GOP进行解码,以保证该当前GOP解码得到图像信息完整的图像。因此,进行倒序显示时,对于解码得到的图像信息完整的多帧图像不会出现由图像信息完整的图像变化为图像信息不完整的图像的显示效果,有效的提高了视频倒放的显示效果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机设备,该计算机设备包括:至少一个处理器;和至少一个存储器;
其中,该至少一个存储器存储有一个或多个程序;
至少一个处理器,用于执行至少一个存储器上所存存储的程序,以实现图7或图8示出的视频倒放方法。示例的,该方法可以包括:
在接收到视频倒放指令后,在帧内刷新码流中获取视频倒放指令所指示的待解码数据;对待解码数据所属的GOP中的每个GOP执行解码播放过程。
其中,对于每个GOP,当帧内刷新码流中,存在位于当前GOP之前的GOP时,解码播放过程包括:
基于位于该当前GOP之前的GOP对该当前GOP进行解码,得到与该当前GOP对应的多帧第一待选图像;倒序显示多帧第一目标图像,多帧第一目标图像为多帧第一待选图像中与待解码数据时序上对应的图像。
本申请实施例还提供了一种计算机可读存储介质,该存储介质为非易失性存储介质,该存储介质中存储有代码指令,该代码指令由处理器执行,以执行图7或图8示出的视频倒放方法。
图14示出了本申请一个示例性实施例提供的终端1400的结构框图。该终端1400可以是便携式移动终端,比如:平板、相机、手机、NVR或DVR。终端1400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1400包括有:处理器1401和存储器1402。
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1401所执行以实现本申请中方法实施例提供的视频倒放方法,例如,执行图7或图8示出的视频倒放方法。
在一些实施例中,终端1400还可选包括有:外围设备接口1403和至少一个外围设备。处理器1401、存储器1402和外围设备接口1403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1403相连。具体地,外围设备包括:射频电路1404、显示屏1405、摄像头1406、音频电路1407、定位组件1408和电源1409中的至少一种。
外围设备接口1403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405可以为一个,设置终端1400的前面板;在另一些实施例中,显示屏1405可以为至少两个,分别设置在终端1400的不同表面或呈折叠设计;在再一些实施例中,显示屏1405可以是柔性显示屏,设置在终端1400的弯曲表面上或折叠面上。甚至,显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。显示屏1405可以为LCD(Liquid Crystal Display,液晶显示阵列)显示屏或OLED(Organic Light-EmittingDiode,有机发光二极管)显示屏。
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还可以包括耳机插孔。
定位组件1408用于定位终端1400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1408可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1409用于为终端1400中的各个组件进行供电。电源1409可以是交流电、直流电、一次性电池或可充电电池。当电源1409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
加速度传感器1411可以检测以终端1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411可以用于检测重力加速度在三个坐标轴上的分量。处理器1401可以根据加速度传感器1411采集的重力加速度信号,控制触摸显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1412可以检测终端1400的机体方向及转动角度,陀螺仪传感器1412可以与加速度传感器1411协同采集用户对终端1400的3D动作。处理器1401根据陀螺仪传感器1412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1413可以设置在终端1400的侧边框和/或触摸显示屏1405的下层。当压力传感器1413设置在终端1400的侧边框时,可以检测用户对终端1400的握持信号,由处理器1401根据压力传感器1413采集的握持信号进行左右手识别或快捷操作。当压力传感器1413设置在触摸显示屏1405的下层时,由处理器1401根据用户对触摸显示屏1405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1414用于采集用户的指纹,由处理器1401根据指纹传感器1414采集到的指纹识别用户的身份,或者,由指纹传感器1414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1414可以被设置终端1400的正面、背面或侧面。当终端1400上设置有物理按键或厂商Logo时,指纹传感器1414可以与物理按键或厂商Logo集成在一起。
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1415采集的环境光强度,控制触摸显示屏1405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1405的显示亮度;当环境光强度较低时,调低触摸显示屏1405的显示亮度。在另一个实施例中,处理器1401还可以根据光学传感器1415采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
接近传感器1416,也称距离传感器,通常设置在终端1400的前面板。接近传感器1416用于采集用户与终端1400的正面之间的距离。在一个实施例中,当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变小时,由处理器1401控制触摸显示屏1405从亮屏状态切换为息屏状态;当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变大时,由处理器1401控制触摸显示屏1405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图14中示出的结构并不构成对终端1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种视频倒放方法,其特征在于,所述方法包括:
在接收到视频倒放指令后,在帧内刷新码流中获取所述视频倒放指令所指示的待解码数据;
对所述待解码数据所属的画面组GOP中的每个GOP执行解码播放过程;
其中,对于每个GOP,当所述帧内刷新码流中,存在位于当前GOP之前的GOP时,所述解码播放过程包括:
基于位于所述当前GOP之前的GOP对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第一待选图像;
倒序显示多帧第一目标图像,所述多帧第一目标图像为所述多帧第一待选图像中与所述待解码数据时序上对应的图像。
2.根据权利要求1所述的方法,其特征在于,所述基于位于所述当前GOP之前的GOP对所述当前GOP进行解码,得到多帧第一待选图像,包括:
将位于所述当前GOP之前的GOP确定为参考GOP,所述参考GOP与所述当前GOP间隔的GOP个数小于设定的间隔个数;
通过对所述参考GOP进行解码,得到图像信息完整的第一参考图像;
基于所述第一参考图像对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第一待选图像。
3.根据权利要求2所述的方法,其特征在于,通过对所述参考GOP进行解码,得到图像信息完整的第一参考图像,包括:
对所述参考GOP进行解码,得到多帧备选图像;
将所述多帧备选图像中图像信息完整的至少一帧图像确定为所述第一参考图像。
4.根据权利要求2所述的方法,其特征在于,所述当前GOP包括多个图像帧数据,
基于所述第一参考图像对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第一待选图像,包括:
对于所述多个图像帧数据中的首个图像帧数据,基于所述第一参考图像对所述首个图像帧数据进行解码,得到与所述首个图像帧数据对应的第一待选图像;
对于所述多个图像帧数据中除所述首个图像帧数据之外的每个其他图像帧数据,基于第二参考图像对所述其他图像帧数据进行解码,得到与所述其他图像帧数据对应的第一待选图像,所述第二参考图像为位于所述其他图像帧数据之前的图像帧数据对应的第一待选图像。
5.根据权利要求1至4任一所述的视频倒放方法,其特征在于,对于每个GOP,当所述帧内刷新码流中,不存在位于当前GOP之前的GOP时,所述解码播放过程包括:
对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第二待选图像;
倒序显示多帧第二目标图像,所述多帧第二目标图像为所述多帧第二待选图像中与所述待解码数据时序上对应的图像。
6.根据权利要求5所述的方法,其特征在于,所述在帧内刷新码流中获取所述视频倒放指令所指示的待解码数据之前,所述方法还包括:
获取所述帧内刷新码流,所述帧内刷新码流的首个GOP采用非全I帧编码方式编码得到,所述帧内刷新码流的其他GOP采用帧内刷新技术编码得到,所述其他GOP为除所述首个GOP之外的GOP。
7.根据权利要求5所述的方法,其特征在于,在所述倒序显示多帧第二目标图像之前,所述解码播放过程还包括:
检测所述多帧第二目标图像中的每一帧第二目标图像的图像信息是否完整;
当所述多帧第二目标图像中存在图像信息不完整的图像时,删除所述多帧第二目标图像中图像信息不完整的图像。
8.根据权利要求1至4任一所述的方法,其特征在于,所述视频倒放指令包括解码开始时刻和解码结束时刻,
所述在帧内刷新码流中获取所述视频倒放指令所指示的待解码数据,包括:
基于所述开始时刻和所述结束时刻,在所述帧内刷新码流中截取所述待解码数据。
9.一种视频倒放装置,其特征在于,所述装置包括:
第一获取模块,用于在接收到视频倒放指令后,在帧内刷新码流中获取所述视频倒放指令所指示的待解码数据;
解码播放模块,用于对所述待解码数据所属的GOP中的每个GOP执行解码播放过程;
其中,对于每个GOP,当所述帧内刷新码流中,存在位于当前GOP之前的GOP时,所述解码播放过程包括:
基于位于所述当前GOP之前的GOP对所述GOP进行解码,得到与所述当前GOP对应的多帧第一待选图像;
倒序显示多帧第一目标图像,所述多帧第一目标图像为所述多帧第一待选图像中与所述待解码数据时序上对应的图像。
10.根据权利要求9所述的装置,其特征在于,所述解码播放模块,用于:
将位于所述当前GOP之前的GOP确定为参考GOP,所述参考GOP与所述当前GOP间隔的GOP个数小于设定的间隔个数;
通过对所述参考GOP进行解码,得到图像信息完整的第一参考图像;
基于所述第一参考图像对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第一待选图像。
11.根据权利要求10所述的装置,其特征在于,所述解码播放模块,用于:
对所述参考GOP进行解码,得到多帧备选图像;
将所述多帧备选图像中图像信息完整的至少一帧图像确定为所述第一参考图像。
12.根据权利要求10所述的装置,其特征在于,所述当前GOP包括多个图像帧数据,所述解码播放模块,用于:
对于所述多个图像帧数据中的首个图像帧数据,基于所述第一参考图像对所述首个图像帧数据进行解码,得到与所述首个图像帧数据对应的第一待选图像;
对于所述多个图像帧数据中除所述首个图像帧数据之外的每个其他图像帧数据,基于第二参考图像对所述其他图像帧数据进行解码,得到与所述其他图像帧数据对应的第一待选图像,所述第二参考图像为位于所述其他图像帧数据之前的图像帧数据对应的第一待选图像。
13.根据权利要求9至12任一所述的装置,其特征在于,所述解码播放模块,还用于:
对于每个GOP,当所述帧内刷新码流中,不存在位于当前GOP之前的GOP时,所述解码播放过程包括:
对所述当前GOP进行解码,得到与所述当前GOP对应的多帧第二待选图像;
倒序显示多帧第二目标图像,所述多帧第二目标图像为所述多帧第二待选图像中与所述待解码数据时序上对应的图像。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述帧内刷新码流,所述帧内刷新码流的首个GOP采用非全I帧编码方式编码得到,所述帧内刷新码流的其他GOP采用帧内刷新技术编码得到,所述其他GOP为除所述首个GOP之外的GOP。
15.根据权利要求13所述的装置,其特征在于,所述解码播放模块,还用于:
检测所述多帧第二目标图像中的每一帧第二目标图像的图像信息是否完整;
当所述多帧第二目标图像中存在图像信息不完整的图像时,删除所述多帧第二目标图像中图像信息不完整的图像。
16.根据权利要求9至12任一所述的装置,其特征在于,所述视频倒放指令包括解码开始时刻和解码结束时刻,所述第一获取模块,用于:
基于所述开始时刻和所述结束时刻,在所述帧内刷新码流中截取所述待解码数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910156384.9A CN111641824B (zh) | 2019-03-01 | 2019-03-01 | 视频倒放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910156384.9A CN111641824B (zh) | 2019-03-01 | 2019-03-01 | 视频倒放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111641824A true CN111641824A (zh) | 2020-09-08 |
CN111641824B CN111641824B (zh) | 2022-08-05 |
Family
ID=72330509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910156384.9A Active CN111641824B (zh) | 2019-03-01 | 2019-03-01 | 视频倒放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111641824B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114040224A (zh) * | 2021-11-05 | 2022-02-11 | 中国联合网络通信集团有限公司 | 获取倒放视频的方法、装置、设备和可读存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5583650A (en) * | 1992-09-01 | 1996-12-10 | Hitachi America, Ltd. | Digital recording and playback device error correction methods and apparatus for use with trick play data |
CN1449628A (zh) * | 2000-06-30 | 2003-10-15 | 诺基亚有限公司 | 视频容错控制 |
JP2007150486A (ja) * | 2005-11-25 | 2007-06-14 | Nec Engineering Ltd | 画像伝送装置 |
EP1798981A1 (en) * | 2004-10-07 | 2007-06-20 | Nippon Telegraph and Telephone Corporation | Video encoding method and device, video decoding method and device, program thereof, and recording medium containing the programs |
US20090086819A1 (en) * | 2004-11-16 | 2009-04-02 | Ming-Yen Huang | MPEG-4 Streaming System With Adaptive Error Concealment |
CN101677406A (zh) * | 2008-09-19 | 2010-03-24 | 华为技术有限公司 | 一种视频编解码的方法及装置 |
CN102438152A (zh) * | 2011-12-29 | 2012-05-02 | 中国科学技术大学 | 可伸缩视频编码容错传输方法、编码器、装置和系统 |
CN104521233A (zh) * | 2012-09-07 | 2015-04-15 | 英特尔公司 | 运动和质量适应的回滚帧内刷新 |
CN106303379A (zh) * | 2015-05-20 | 2017-01-04 | 杭州海康威视数字技术股份有限公司 | 一种视频文件逆序播放方法及系统 |
CN106507204A (zh) * | 2016-12-07 | 2017-03-15 | 腾讯科技(上海)有限公司 | 一种视频倒放方法和装置 |
CN107426603A (zh) * | 2016-05-24 | 2017-12-01 | 杭州海康威视数字技术股份有限公司 | 一种视频播放方法及装置 |
CN107888975A (zh) * | 2017-11-30 | 2018-04-06 | 广州酷狗计算机科技有限公司 | 视频播放方法、装置及存储介质 |
CN109348227A (zh) * | 2018-11-22 | 2019-02-15 | 上海大学 | 适用于视频编码的运动自适应帧内刷新方法 |
-
2019
- 2019-03-01 CN CN201910156384.9A patent/CN111641824B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5583650A (en) * | 1992-09-01 | 1996-12-10 | Hitachi America, Ltd. | Digital recording and playback device error correction methods and apparatus for use with trick play data |
CN1449628A (zh) * | 2000-06-30 | 2003-10-15 | 诺基亚有限公司 | 视频容错控制 |
EP1798981A1 (en) * | 2004-10-07 | 2007-06-20 | Nippon Telegraph and Telephone Corporation | Video encoding method and device, video decoding method and device, program thereof, and recording medium containing the programs |
US20090086819A1 (en) * | 2004-11-16 | 2009-04-02 | Ming-Yen Huang | MPEG-4 Streaming System With Adaptive Error Concealment |
JP2007150486A (ja) * | 2005-11-25 | 2007-06-14 | Nec Engineering Ltd | 画像伝送装置 |
CN101677406A (zh) * | 2008-09-19 | 2010-03-24 | 华为技术有限公司 | 一种视频编解码的方法及装置 |
CN102438152A (zh) * | 2011-12-29 | 2012-05-02 | 中国科学技术大学 | 可伸缩视频编码容错传输方法、编码器、装置和系统 |
CN104521233A (zh) * | 2012-09-07 | 2015-04-15 | 英特尔公司 | 运动和质量适应的回滚帧内刷新 |
CN106303379A (zh) * | 2015-05-20 | 2017-01-04 | 杭州海康威视数字技术股份有限公司 | 一种视频文件逆序播放方法及系统 |
CN107426603A (zh) * | 2016-05-24 | 2017-12-01 | 杭州海康威视数字技术股份有限公司 | 一种视频播放方法及装置 |
CN106507204A (zh) * | 2016-12-07 | 2017-03-15 | 腾讯科技(上海)有限公司 | 一种视频倒放方法和装置 |
CN107888975A (zh) * | 2017-11-30 | 2018-04-06 | 广州酷狗计算机科技有限公司 | 视频播放方法、装置及存储介质 |
CN109348227A (zh) * | 2018-11-22 | 2019-02-15 | 上海大学 | 适用于视频编码的运动自适应帧内刷新方法 |
Non-Patent Citations (2)
Title |
---|
SANDRO MOIRON: "Enhanced error resiliency for video with cyclic intra-refresh lines", 《2011 18TH IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING》 * |
罗亮: "基于H.264/AVC的帧内预测与误码掩盖技术研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114040224A (zh) * | 2021-11-05 | 2022-02-11 | 中国联合网络通信集团有限公司 | 获取倒放视频的方法、装置、设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111641824B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111372126B (zh) | 视频播放方法、装置及存储介质 | |
CN108391171B (zh) | 视频播放的控制方法及装置、终端 | |
CN109348247B (zh) | 确定音视频播放时间戳的方法、装置及存储介质 | |
CN108401124B (zh) | 视频录制的方法和装置 | |
CN110022489B (zh) | 视频播放方法、装置及存储介质 | |
CN112822522B (zh) | 视频播放方法、装置、设备及存储介质 | |
CN110324689B (zh) | 音视频同步播放的方法、装置、终端及存储介质 | |
CN111083526B (zh) | 视频转场方法、装置、计算机设备及存储介质 | |
CN110288689B (zh) | 对电子地图进行渲染的方法和装置 | |
CN113709479B (zh) | 基于自适应帧内刷新机制的解码、编码方法及相关设备 | |
CN109451248B (zh) | 视频数据的处理方法、装置、终端及存储介质 | |
CN108845777B (zh) | 播放帧动画的方法和装置 | |
CN110868642B (zh) | 视频播放方法、装置及存储介质 | |
CN111787347A (zh) | 直播时长计算方法、直播显示方法、装置及设备 | |
CN110769120A (zh) | 进行消息提醒的方法、装置、设备及存储介质 | |
CN109783176B (zh) | 切换页面的方法和装置 | |
CN107888975B (zh) | 视频播放方法、装置及存储介质 | |
CN112015612B (zh) | 一种获取卡顿信息的方法及装置 | |
CN109005359B (zh) | 视频录制方法、装置存储介质 | |
CN111641824B (zh) | 视频倒放方法及装置 | |
CN110636326A (zh) | 直播视频处理方法及装置、存储介质 | |
CN111711841B (zh) | 图像帧播放方法、装置、终端及存储介质 | |
CN111464829B (zh) | 切换媒体数据的方法、装置、设备及存储介质 | |
CN110996115B (zh) | 直播视频播放方法、装置、设备、存储介质和程序产品 | |
CN111432254B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |