CN104703027A - 视频帧的解码方法和装置 - Google Patents

视频帧的解码方法和装置 Download PDF

Info

Publication number
CN104703027A
CN104703027A CN201510115730.0A CN201510115730A CN104703027A CN 104703027 A CN104703027 A CN 104703027A CN 201510115730 A CN201510115730 A CN 201510115730A CN 104703027 A CN104703027 A CN 104703027A
Authority
CN
China
Prior art keywords
frame
frame number
video
stochastic accessing
independent decoded
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
Application number
CN201510115730.0A
Other languages
English (en)
Other versions
CN104703027B (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510115730.0A priority Critical patent/CN104703027B/zh
Publication of CN104703027A publication Critical patent/CN104703027A/zh
Priority to EP16159361.1A priority patent/EP3070947B1/en
Priority to US15/071,269 priority patent/US10708581B2/en
Application granted granted Critical
Publication of CN104703027B publication Critical patent/CN104703027B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh

Landscapes

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

Abstract

本发明实施例提供一种视频帧的解码方法和装置。本发明视频帧的解码方法,包括:获取视频的目标时间;根据所述目标时间得到对应的随机接入帧的帧号;根据预存的依赖关系集合和所述随机接入帧的帧号,得到独立解码帧的帧号,所述依赖关系集合包括至少一个依赖关系,所述依赖关系表示随机接入帧的帧号与独立解码帧的帧号的对应关系,所述独立解码帧为解码所述随机接入帧需要依赖的帧;根据所述独立解码帧的帧号得到所述独立解码帧的视频数据,并根据所述独立解码帧的视频数据解码所述随机接入帧。本发明实施例实现高效快速的视频解码。

Description

视频帧的解码方法和装置
技术领域
本发明实施例涉及视频技术,尤其涉及一种视频帧的解码方法和装置。
背景技术
视频序列一般都按照一定帧结构来存储,以H.264为例,其视频帧结构例如可以是IPP…PP IPP…PPIPP…PP…,其中,I帧(随机接入帧)是可以独立解码的帧,P帧(普通帧)是不能独立解码,需要依赖它前面的I帧才能解码的帧。在对这种帧结构的视频进行拖拉播放或编辑时,要先找到拖拉或编辑的目标时间对应的I帧。
通常在视频监控、静态观察拍摄等场景下,视频背景往往很长时间都不发生变化,基于这一特点采用优化的编码技术能显著提高视频编码效率,相应的采用优化的编码技术之后,视频序列的帧结构也会发生变化,包括背景帧、随机接入帧和普通帧,其中,只有背景帧是可以独立解码的,随机接入帧和普通帧都需要依赖对应的背景帧进行解码。在对这种帧结构的视频进行拖拉播放或编辑时,可以先找到拖拉或编辑的目标时间对应的随机接入帧,但是只有随机接入帧还无法进行解码,需要通过遍历的方式,根据该随机接入帧的帧头数据逐一查找位于该随机接入帧之前的所有帧,以确定出哪个帧是解码该随机接入帧所依赖的背景帧。
但是,遍历是一种效率很低的查找方法,严重降低视频帧的解码效率。
发明内容
本发明实施例提供一种视频帧的解码方法和装置,以实现高效快速的视频解码。
第一方面,本发明实施例提供一种视频帧的解码方法,包括:
获取视频的目标时间;
根据所述目标时间得到对应的随机接入帧的帧号;
根据预存的依赖关系集合和所述随机接入帧的帧号,得到独立解码帧的帧号,所述依赖关系集合包括至少一个依赖关系,所述依赖关系表示随机接入帧的帧号与独立解码帧的帧号的对应关系,所述独立解码帧为解码所述随机接入帧需要依赖的帧;
根据所述独立解码帧的帧号得到所述独立解码帧的视频数据,并根据所述独立解码帧的视频数据解码所述随机接入帧。
结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:
根据预存的依赖关系集合和所述随机接入帧的帧号,得到所述独立解码帧的帧号,所述依赖关系集合包括所述视频中所有独立解码帧的帧号且所述所有独立解码帧的数量小于所述视频中帧号小于所述随机接入帧的帧号的所有帧的数量,得到的所述独立解码帧的帧号是所述依赖关系集合中小于所述随机接入帧的帧号且与所述随机接入帧的帧号的差值最小的帧号。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述依赖关系集合预存在所述视频中,或者,所述依赖关系集合预存在所述视频的附属文件中;
所述根据预存的依赖关系集合和所述随机接入帧的帧号,得到独立解码帧的帧号之前,还包括:
从所述视频中或所述附属文件中获取所述依赖关系集合。
结合第一方面、第一方面的第一种至第二种中任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述视频包括视频索引信息和视频数据,所述视频索引信息包括视频的时间点与视频的各个帧的帧号的对应关系、所有所述随机接入帧的帧号以及所述各个帧中普通帧的帧号与随机接入帧的帧号的对应关系;
所述根据所述目标时间得到对应的随机接入帧的帧号,包括:
根据所述视频的时间点与视频的各个帧的帧号的对应关系,得到所述目标时间对应的帧号;
如果从所有所述随机接入帧的帧号中找到所述目标时间对应的帧号,则所述目标时间对应的随机接入帧的帧号为所述目标时间对应的帧号;
如果从所有所述随机接入帧的帧号中没有找到所述目标时间对应的帧号,则所述目标时间对应的帧号为所述普通帧的帧号,根据所述各个帧中普通帧的帧号与随机接入帧的帧号的对应关系,得到所述目标时间对应的随机接入帧的帧号。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述视频索引信息还包括所述各个帧的帧号对应的视频数据的索引;
所述根据所述独立解码帧的帧号得到所述独立解码帧的视频数据,包括:
根据所述独立解码帧的帧号查询所述视频索引信息,得到所述独立解码帧的视频数据的索引,根据所述索引获取所述独立解码帧的视频数据。
第二方面,本发明实施例提供一种视频帧的解码装置,包括:
获取模块,用于获取视频的目标时间;根据所述目标时间得到对应的随机接入帧的帧号;根据预存的依赖关系集合和所述随机接入帧的帧号,得到独立解码帧的帧号,所述依赖关系集合包括至少一个依赖关系,所述依赖关系表示随机接入帧的帧号与独立解码帧的帧号的对应关系,所述独立解码帧为解码所述随机接入帧需要依赖的帧;
解码模块,用于根据所述独立解码帧的帧号得到所述独立解码帧的视频数据,并根据所述独立解码帧的视频数据解码所述随机接入帧。
结合第二方面,在第二方面的第一种可能的实现方式中,所述获取模块,还用于根据预存的依赖关系集合和所述随机接入帧的帧号,得到所述独立解码帧的帧号,所述依赖关系集合包括所述视频中所有独立解码帧的帧号且所述所有独立解码帧的数量小于所述视频中帧号小于所述随机接入帧的帧号的所有帧的数量,得到的所述独立解码帧的帧号是所述依赖关系集合中小于所述随机接入帧的帧号且与所述随机接入帧的帧号的差值最小的帧号。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述依赖关系集合预存在所述视频中,或者,所述依赖关系集合预存在所述视频的附属文件中;所述获取模块,还用于从所述视频中或所述附属文件中获取所述依赖关系集合。
结合第二方面、第二方面的第一种至第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述视频包括视频索引信息和视频数据,所述视频索引信息包括视频的时间点与视频的各个帧的帧号的对应关系、所有所述随机接入帧的帧号以及所述各个帧中普通帧的帧号与随机接入帧的帧号的对应关系;
所述获取模块,具体用于根据所述视频的时间点与视频的各个帧的帧号的对应关系,得到所述目标时间对应的帧号;如果从所有所述随机接入帧的帧号中找到所述目标时间对应的帧号,则所述目标时间对应的随机接入帧的帧号为所述目标时间对应的帧号;如果从所有所述随机接入帧的帧号中没有找到所述目标时间对应的帧号,则所述目标时间对应的帧号为所述普通帧的帧号,根据所述各个帧中普通帧的帧号与随机接入帧的帧号的对应关系,得到所述目标时间对应的随机接入帧的帧号。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述视频索引信息还包括所述各个帧的帧号对应的视频数据的索引;
所述解码模块,具体用于根据所述独立解码帧的帧号查询所述视频索引信息,得到所述独立解码帧的视频数据的索引,根据所述索引获取所述独立解码帧的视频数据。
本发明实施例视频帧的解码方法和装置,通过预先存储依赖关系集合,根据该依赖关系集合可直接获取到解码目标时间对应的随机接入帧需要依赖的独立解码帧的帧号,并通过该独立解码帧的视频数据解码出随机接入帧,实现高效快速的视频解码。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有视频文件存储结构示意图;
图2为现有视频的帧属性的存储结构示意图;
图3为本发明视频帧的解码方法的一个实施例的流程图;
图4为本发明视频的帧属性的存储结构的一个示意图;
图5为视频帧结构的一个示意图;
图6为本发明视频帧的解码装置的一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
国际标准化组织(International Organization for Standardization,简称:ISO)/国际电工委员会(International Electrotechnical Commission,简称:IEC)14496-12标准提供了一种存储音频、视频等视频数据的方法,图1为现有视频文件存储结构示意图。如图1所示,视频文件主要由两大块构成:视频的帧属性(moov)和视频数据(mdat),通常将这种存储结构称为盒子(box),例如moov box、mdat box。在对视频进行拖拉播放、编辑等时,先要在moovbox中查找视频的目标时间对应的I帧的索引,然后从mdat box中获取I帧的视频数据。
图2为现有视频的帧属性的存储结构示意图,如图2所示,moov box可以进一步包括多个box,其中与视频拖拉播放、编辑等相关的为存储视频的索引信息的stbl box,其包括:存储视频的时间点与视频的各个帧的帧号的对应关系的stts box、存储帧号与帧号所在的视频分段(chunk)的对应关系的stsc box、存储帧大小的stsz box、存储各chunk的偏移的stco box、存储随机接入帧的帧号,以及视频的各个帧中普通帧的帧号与随机接入帧的帧号的对应关系的stss box。对视频进行拖拉播放、编辑等的过程包括:根据视频的目标时间查找stts box,找到目标时间对应的帧号J;如果stss box存在,在stssbox查找帧号J对应的随机接入帧的帧号K,如果stss box不存在,则K=J;根据帧号K在stsc box查找随机接入帧所在的视频分段(chunk)L;在stco box查找chunk L的位置偏移M;根据帧号K和stsz box计算随机接入帧在chunkL中的偏移N;根据M、N从mdat box中获取随机接入帧的视频数据。通常从视频中的某个时间点开始播放视频,如果该时间点对应的正好是随机接入帧,则在获取到该随机接入帧的视频数据后,直接从该随机接入帧开始解码播放;如果该时间点对应的是普通帧,则获取到该普通帧解码需要依赖的随机接入帧的视频数据后,也是从该随机接入帧开始播放的。通过上述各box的配合完成对视频进行拖拉播放、编辑等。
从上面的过程可以看出,针对传统视频的拖拉播放、编辑等是找到了随机接入帧才能对依赖该随机接入帧的普通帧进行解码。但是,对于有大量相同或相似背景区域的视频,对其编码后包括背景帧、随机接入帧和普通帧三种帧,其中,只有背景帧是可以独立解码的,随机接入帧和普通帧都需要依赖对应的背景帧进行解码。在对这种帧结构的视频进行拖拉播放或编辑时,可以先找到拖拉或编辑的目标时间对应的随机接入帧,但是只有随机接入帧还无法进行解码,需要通过遍历的方式,根据该随机接入帧的帧头数据逐一查找位于该随机接入帧之前的所有帧,以确定出哪个帧是解码该随机接入帧所依赖的背景帧。但是,遍历是一种效率很低的查找方法,严重降低视频帧的解码效率。
图3为本发明视频帧的解码方法的一个实施例的流程图,如图3所示,本实施例的方法可以包括:
步骤101、获取视频的目标时间;
本实施例的执行主体可以是视频帧的解码装置,该装置可以是任一视频播放器中的解码模块,也可以是独立的解码设备。对有大量相同或相似背景区域的视频进行优化编码生成的视频序列包括三种帧:背景帧、随机接入帧以及普通帧,其中能独立解码的是背景帧,对随机接入帧和普通帧都的解码需要依赖于背景帧。本实施例及后续实施例均将背景帧称作独立解码帧,用RAP_I表示,随机接入帧用RAP_P表示。用户对视频进行拖拉播放、编辑等时,通常是通过拖拉播放器的播放滑块以选取目标时间,视频帧的解码装置可以通过播放滑块所处的位置获取视频的目标时间。
步骤102、根据所述目标时间得到对应的随机接入帧的帧号;
图4为本发明视频的帧属性的存储结构的一个示意图,如图4所示,sttsbox、stsc box、stsz box、stco box以及stss box的功能与图2所示的相同,此处不再赘述,图4与图2的区别在于,增加了samd box,用于存储本发明中的依赖关系集合,关于依赖关系集合将在步骤103中详细描述。本实施例的视频可以采用图4所示的存储结构,视频中记录了视频的时间点与视频的各个帧的帧号的对应关系,通过该对应关系可以获取到目标时间对应的帧号;再根据视频中记录的RAP_P帧的帧号,可以确定出目标时间对应的帧号是RAP_P帧的帧号还是普通帧的帧号,如果该帧号对应于RAP_P帧,则该帧号即为目标时间对应的RAP_P帧的帧号;如果该帧号对应于普通帧,则根据视频中记录的视频的各个帧中普通帧的帧号与RAP_P帧的帧号的对应关系,得到该帧号对应的RAP_P帧的帧号即为目标时间对应的RAP_P帧的帧号。
步骤103、根据预存的依赖关系集合和所述随机接入帧的帧号,得到独立解码帧的帧号,所述依赖关系集合包括至少一个依赖关系,所述依赖关系表示随机接入帧的帧号与独立解码帧的帧号的对应关系,所述独立解码帧为视频中可独立解码的帧;
依赖关系集合可以如图4所示预存在视频新增加的samd box中,或者,依赖关系集合也可以预存在视频的附属文件中。需要说明的是,依赖关系集合的预存方法除了上述两种方式,还可以以其它本领域技术人员惯用的存储方法进行预存,对此本发明不作具体限定。视频在编码时生成了RAP_I帧、RAP_P帧以及普通帧三种帧,并且视频中各个帧都按编码顺序进行编号,因此依照编码方式,相应的在解码时普通帧解码依赖的RAP_P帧、RAP_P帧解码依赖的RAP_I帧都在编码时已经确定了。对视频进行拖拉播放、编辑等,通常是从视频中的某个时间点开始播放视频,如果该时间点对应的正好是RAP_P帧,则在获取到该RAP_P帧的视频数据后,直接从该RAP_P帧开始解码播放;如果该时间点对应的是普通帧,则获取到该普通帧解码需要依赖的RAP_P帧的视频数据后,也是从该RAP_P帧开始播放的。但是,要解码出RAP_P帧的视频数据还需要依赖RAP_I帧的视频数据,可以通过上述预存的依赖关系集合得到。在通过步骤102得到RAP_P帧的帧号后,可以根据依赖关系集合中的依赖关系表示的RAP_P帧的帧号与RAP_I帧的帧号的对应关系,得到需要的RAP_I帧的帧号。
可选的,依赖关系集合也可以是视频中所有RAP_I帧的帧号的集合,可以根据预设规则从中获取到需要的RAP_I帧的帧号,具体来讲,先找出依赖关系集合中所有小于待解码的RAP_P帧的帧号的帧号,然后从这些帧号中找出与待解码的RAP_P帧的帧号差值最小的帧号,该帧号即为需要的RAP_I帧的帧号。
步骤104、根据所述独立解码帧的帧号得到所述独立解码帧的视频数据,并根据所述独立解码帧的视频数据解码所述随机接入帧。
视频中还包括各个帧的帧号对应的视频数据的索引,例如存储视频数据的mdata box是以存储地址表示视频数据的索引的,因此可以通过帧号获取到相应的帧的地址偏移,通过该偏移即可得到视频数据的存储位置,进而读取到视频数据。本实施例中的视频数据是对视频编码后生成的帧数据,具体内容与采用的编码方式有关,RAP_I帧之所以可以独立解码,正是因为在对该帧进行编码后,记录了该帧的完整图像数据,包括像素、区域等,而RAP_P帧不能独立解码,是因为对该帧的编码借助了RAP_I帧,是基于RAP_I帧的增量编码,因此只记录了该帧相对于RAP_I帧的增量数据,只有获取到RAP_I帧的视频数据,加上RAP_P帧的增量数据才能对RAP_P帧进行解码。
本实施例,通过预先存储依赖关系集合,根据该依赖关系集合可直接获取到解码目标时间对应的随机接入帧需要依赖的独立解码帧的帧号,并通过该独立解码帧的视频数据解码出随机接入帧,实现高效快速的视频解码。
下面采用几个具体的实施例,对图3所示方法实施例的技术方案进行详细说明。
实施例一
视频采用图4所示的存储结构,在stbl box中增加samd box,samd box存储依赖关系集合,本实施例的依赖关系集合包括每个依赖关系中的RAP_I帧的帧号和每个依赖关系中的RAP_P帧的帧号,进一步的,依赖关系集合还可以包括视频的标识、依赖关系的个数、每个依赖关系中的RAP_I帧的个数以及每个依赖关系中的RAP_P帧的个数。
samd box(即SampleDependencyBox)的具体存储结构如下所示:(为了统一描述,本发明均采用ISO/IEC 14496-12标准中所提供的描述方法)
说明:
track_ID:表示视频的标识;
entry_count:表示依赖关系的个数,依赖关系集合包括至少一个依赖关系,每个所述依赖关系表示RAP_P帧的帧号与RAP_I帧的帧号之间的依赖关系,本实施例中每个依赖关系用一个结构体描述,该结构体用deet box(即dependencyEntryBox)描述;
SampleSize1:表示每个所述依赖关系中的所述RAP_I帧的个数;
SampleSize2:表示每个所述依赖关系中的所述RAP_P帧的个数;
sample_num_1:表示每个所述依赖关系中的所述RAP_I帧的帧号;
sample_num_2:表示每个所述依赖关系中的所述RAP_P帧的帧号。
举例来讲,图5为视频帧结构的一个示意图,如图5所示,RAP_I帧有2个,帧号分别是1和20,RAP_P帧有6个,帧号分别是2、8、14、21、27和33。其中,帧号为2、8和14的RAP_P帧解码依赖于帧号为1的RAP_I帧,帧号为21、27和33的RAP_P帧解码依赖于帧号为20的RAP_I帧。按上述描述方法本实施例的依赖关系集合为:
基于上述存储结构,本实施例中视频帧的解码装置根据samd box找出RAP_P帧的帧号属于第一个依赖关系还是属于第二个依赖关系,其所属的依赖关系中的RAP_I帧的帧号即为该RAP_P帧解码需要依赖的独立解码帧的帧号,因此对视频进行拖拉播放、编辑等,视频帧的解码步骤包括:
(1)根据视频的目标时间查询stts box,找到目标时间对应的帧号J;
(2)在stss box查找帧号J对应的RAP_P帧的帧号为K,如果帧号J对应的就是RAP_P帧,则K=J;
(3)根据samd box中存储的依赖关系集合和帧号K,得到RAP_I帧的帧号为R;
(4)根据stsc box获取帧号R所在的chunk的编号为L;
(5)根据stco box获取chunk L的偏移为M;
(6)根据stsz box计算帧号R在chunk L中的偏移N;
(7)根据M、N从mdat box中获取帧号为R的RAP_I帧的视频数据;
(8)再按照步骤(4)到步骤(7)的方法获取帧号为K的RAP_P帧的增量视频数据;
(9)结合RAP_I帧的视频数据和RAP_P帧的增量视频数据解码出RAP_P帧。
实施例二
视频还是采用图4所示的存储结构,在stbl box中增加samd box,samd box存储依赖关系集合,本实施例的依赖关系集合包括所有依赖关系中的RAP_I帧的帧号,进一步的,依赖关系集合还可以包括视频的标识和依赖关系的个数。
说明:
track_ID:表示视频的标识;
entry_count:表示依赖关系的个数;
sample_num:表示所有依赖关系中的RAP_I帧的帧号。
继续以图5所示的视频帧结构为例,本实施例的依赖关系集合为:
samd
track_ID=1(视频的标识)
entry_count=2(依赖关系的个数)
[1,20](所有依赖关系中的RAP_I帧的帧号)
基于上述存储结构,本实施例中视频帧的解码装置根据samd box查找RAP_P帧解码需要依赖的RAP_I帧的帧号,而该RAP_I帧的帧号是依赖关系集合中小于RAP_P帧的帧号且与RAP_P帧的帧号的差值最小的帧。本实施例中,RAP_P帧的帧号有2、8、14、21、27和33,RAP_I帧的帧号有1和20,按上述匹配原则:小于2、8、14的RAP_I帧只有1,因此帧号为2,8,14的RAP_P帧解码依赖于帧号为1的RAP_I帧,小于21、27、33的RAP_I帧有1和20,但是20与它们的差值较小,因此帧号为21、27和33的RAP_P帧解码依赖于帧号为20的RAP_I帧。
本实施例视频帧的解码步骤与实施例一的步骤相同,区别只在samd box中预存的依赖关系集合的存储结构和得到RAP_I帧的方法不同。
实施例三
视频采用图2所示的存储结构,本实施例是对stss box进行了扩展,在原有数据结构中增加依赖关系集合的存储结构,例如,原有的stss box(即SyncSampleBox)的存储结构为:
在原有的stss box的数据结构的末尾添加实施例二中的依赖关系集合的存储结构,本实施例对视频进行拖拉播放、编辑等,视频帧的解码步骤包括:
(1)根据视频的目标时间查询stts box,找到目标时间对应的帧号J;
(2)在stss box查找帧号J对应的RAP_P帧的帧号为K,如果帧号J对应的就是RAP_P帧,则K=J;
(3)根据stss box中存储的依赖关系集合和帧号K,得到RAP_I帧的帧号为R;
(4)根据stsc box获取帧号R所在的chunk的编号为L;
(5)根据stco box获取chunk L的偏移为M;
(6)根据stsz box计算帧号R在chunk L中的偏移N;
(7)根据M、N从mdat box中获取帧号为R的RAP_I帧的视频数据;
(8)再按照步骤(4)到步骤(7)的方法获取帧号为K的RAP_P帧的增量视频数据;
(9)结合RAP_I帧的视频数据和RAP_P帧的增量视频数据解码出RAP_P帧。
实施例四
本实施例单独存储依赖关系集合,将其存入视频的附属文件中,例如,将依赖关系集合存储在a.index文件中。本实施例中附属文件的存储结构可以是:
Track ID
说明:
Track_ID:表示视频的标识;
count:表示依赖关系的个数;
依赖关系n:表示第n个依赖关系的索引。
每个依赖关系采用如下四元组表示:
被依赖帧数目:表示每个所述依赖关系中的所述RAP_I帧的个数;
依赖帧数目:表示每个所述依赖关系中的所述RAP_P帧的个数;
被依赖帧集合:表示每个所述依赖关系中的所述RAP_I帧的帧号;
依赖帧集合:表示每个所述依赖关系中的所述RAP_P帧的帧号。
可选的,本实施例中附属文件的存储结构还可以是:
Track_ID count num1 num2 …… num n
说明:
Track_ID:表示视频的标识;
count:表示依赖关系的个数;
num n:表示第n个依赖关系中的RAP_I帧的帧号。
假设视频为a.mp4,采用上述任一种存储结构生成的附属文件为a.index,本实施例对视频进行拖拉播放、编辑等,视频帧的解码步骤包括:
(1)根据视频的目标时间查询stts box,找到目标时间对应的帧号J;
(2)在stss box查找帧号J对应的RAP_P帧的帧号为K,如果帧号J对应的就是RAP_P帧,则K=J;
(3)根据a.index中存储的依赖关系集合和帧号K,得到RAP_I帧的帧号为R;
(4)根据stsc box获取帧号R所在的chunk的编号为L;
(5)根据stco box获取chunk L的偏移为M;
(6)根据stsz box计算帧号R在chunk L中的偏移N;
(7)根据M、N从mdat box中获取帧号为R的RAP_I帧的视频数据;
(8)再按照步骤(4)到步骤(7)的方法获取帧号为K的RAP_P帧的增量视频数据;
(9)结合RAP_I帧的视频数据和RAP_P帧的增量视频数据解码出RAP_P帧。
上述方法实施例,通过预先存储依赖关系集合,根据该依赖关系集合可直接获取到解码目标时间对应的随机接入帧需要依赖的独立解码帧的帧号,并通过该独立解码帧的视频数据解码出随机接入帧,实现高效快速的视频解码。
图6为本发明视频帧的解码装置的一个实施例的结构示意图,如图6所示,本实施例的装置可以包括:获取模块11和解码模块12,其中,获取模块11,用于获取视频的目标时间;根据所述目标时间得到对应的随机接入帧的帧号;根据预存的依赖关系集合和所述随机接入帧的帧号,得到独立解码帧的帧号,所述依赖关系集合包括至少一个依赖关系,所述依赖关系表示随机接入帧的帧号与独立解码帧的帧号的对应关系,所述独立解码帧为解码所述随机接入帧需要依赖的帧;解码模块12,用于根据所述独立解码帧的帧号得到所述独立解码帧的视频数据,并根据所述独立解码帧的视频数据解码所述随机接入帧。
本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步的,所述获取模块11,还用于根据预存的依赖关系集合和所述随机接入帧的帧号,得到所述独立解码帧的帧号,所述依赖关系集合包括所述视频中所有独立解码帧的帧号,得到的所述独立解码帧的帧号是所述依赖关系集合中小于所述随机接入帧的帧号且与所述随机接入帧的帧号的差值最小的帧号。
进一步的,所述依赖关系集合预存在所述视频中,或者,所述依赖关系集合预存在所述视频的附属文件中;
所述获取模块11,还用于从所述视频中或所述附属文件中获取所述依赖关系集合。
进一步的,所述视频包括视频索引信息和视频数据,所述视频索引信息包括视频的时间点与视频的各个帧的帧号的对应关系、所有所述随机接入帧的帧号以及所述各个帧中普通帧的帧号与随机接入帧的帧号的对应关系;
所述获取模块11,具体用于根据所述视频的时间点与视频的各个帧的帧号的对应关系,得到所述目标时间对应的帧号;如果从所有所述随机接入帧的帧号中找到所述目标时间对应的帧号,则所述目标时间对应的随机接入帧的帧号为所述目标时间对应的帧号;如果从所有所述随机接入帧的帧号中没有找到所述目标时间对应的帧号,则所述目标时间对应的帧号为所述普通帧的帧号,根据所述各个帧中普通帧的帧号与随机接入帧的帧号的对应关系,得到所述目标时间对应的随机接入帧的帧号。
进一步的,所述视频索引信息还包括所述各个帧的帧号对应的视频数据的索引;
所述解码模块12,具体用于根据所述独立解码帧的帧号查询所述视频索引信息,得到所述独立解码帧的视频数据的索引,根据所述索引获取所述独立解码帧的视频数据。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种视频帧的解码方法,其特征在于,包括:
获取视频的目标时间;
根据所述目标时间得到对应的随机接入帧的帧号;
根据预存的依赖关系集合和所述随机接入帧的帧号,得到独立解码帧的帧号,所述依赖关系集合包括至少一个依赖关系,所述依赖关系表示随机接入帧的帧号与独立解码帧的帧号的对应关系,所述独立解码帧为解码所述随机接入帧需要依赖的帧;
根据所述独立解码帧的帧号得到所述独立解码帧的视频数据,并根据所述独立解码帧的视频数据解码所述随机接入帧。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预存的依赖关系集合和所述随机接入帧的帧号,得到所述独立解码帧的帧号,所述依赖关系集合包括所述视频中所有独立解码帧的帧号,得到的所述独立解码帧的帧号是所述依赖关系集合中小于所述随机接入帧的帧号且与所述随机接入帧的帧号的差值最小的帧号。
3.根据权利要求1或2所述的方法,其特征在于,所述依赖关系集合预存在所述视频中,或者,所述依赖关系集合预存在所述视频的附属文件中;
所述根据预存的依赖关系集合和所述随机接入帧的帧号,得到独立解码帧的帧号之前,还包括:
从所述视频中或所述附属文件中获取所述依赖关系集合。
4.根据权利要求1~3中任一项所述的方法,其特征在于,所述视频包括视频索引信息和视频数据,所述视频索引信息包括视频的时间点与视频的各个帧的帧号的对应关系、所有所述随机接入帧的帧号以及所述各个帧中普通帧的帧号与随机接入帧的帧号的对应关系;
所述根据所述目标时间得到对应的随机接入帧的帧号,包括:
根据所述视频的时间点与视频的各个帧的帧号的对应关系,得到所述目标时间对应的帧号;
如果从所有所述随机接入帧的帧号中找到所述目标时间对应的帧号,则所述目标时间对应的随机接入帧的帧号为所述目标时间对应的帧号;
如果从所有所述随机接入帧的帧号中没有找到所述目标时间对应的帧号,则所述目标时间对应的帧号为所述普通帧的帧号,根据所述各个帧中普通帧的帧号与随机接入帧的帧号的对应关系,得到所述目标时间对应的随机接入帧的帧号。
5.根据权利要求4所述的方法,其特征在于,所述视频索引信息还包括所述各个帧的帧号对应的视频数据的索引;
所述根据所述独立解码帧的帧号得到所述独立解码帧的视频数据,包括:
根据所述独立解码帧的帧号查询所述视频索引信息,得到所述独立解码帧的视频数据的索引,根据所述索引获取所述独立解码帧的视频数据。
6.一种视频帧的解码装置,其特征在于,包括:
获取模块,用于获取视频的目标时间;根据所述目标时间得到对应的随机接入帧的帧号;根据预存的依赖关系集合和所述随机接入帧的帧号,得到独立解码帧的帧号,所述依赖关系集合包括至少一个依赖关系,所述依赖关系表示随机接入帧的帧号与独立解码帧的帧号的对应关系,所述独立解码帧为解码所述随机接入帧需要依赖的帧;
解码模块,用于根据所述独立解码帧的帧号得到所述独立解码帧的视频数据,并根据所述独立解码帧的视频数据解码所述随机接入帧。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,还用于根据预存的依赖关系集合和所述随机接入帧的帧号,得到所述独立解码帧的帧号,所述依赖关系集合包括所述视频中所有独立解码帧的帧号,得到的所述独立解码帧的帧号是所述依赖关系集合中小于所述随机接入帧的帧号且与所述随机接入帧的帧号的差值最小的帧号。
8.根据权利要求6或7所述的装置,其特征在于,所述依赖关系集合预存在所述视频中,或者,所述依赖关系集合预存在所述视频的附属文件中;
所述获取模块,还用于从所述视频中或所述附属文件中获取所述依赖关系集合。
9.根据权利要求6~8中任一项所述的装置,其特征在于,所述视频包括视频索引信息和视频数据,所述视频索引信息包括视频的时间点与视频的各个帧的帧号的对应关系、所有所述随机接入帧的帧号以及所述各个帧中普通帧的帧号与随机接入帧的帧号的对应关系;
所述获取模块,具体用于根据所述视频的时间点与视频的各个帧的帧号的对应关系,得到所述目标时间对应的帧号;如果从所有所述随机接入帧的帧号中找到所述目标时间对应的帧号,则所述目标时间对应的随机接入帧的帧号为所述目标时间对应的帧号;如果从所有所述随机接入帧的帧号中没有找到所述目标时间对应的帧号,则所述目标时间对应的帧号为所述普通帧的帧号,根据所述各个帧中普通帧的帧号与随机接入帧的帧号的对应关系,得到所述目标时间对应的随机接入帧的帧号。
10.根据权利要求9所述的装置,其特征在于,所述视频索引信息还包括所述各个帧的帧号对应的视频数据的索引;
所述解码模块,具体用于根据所述独立解码帧的帧号查询所述视频索引信息,得到所述独立解码帧的视频数据的索引,根据所述索引获取所述独立解码帧的视频数据。
CN201510115730.0A 2015-03-17 2015-03-17 视频帧的解码方法和装置 Active CN104703027B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510115730.0A CN104703027B (zh) 2015-03-17 2015-03-17 视频帧的解码方法和装置
EP16159361.1A EP3070947B1 (en) 2015-03-17 2016-03-09 Video frame decoding method and apparatus
US15/071,269 US10708581B2 (en) 2015-03-17 2016-03-16 Video frame decoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510115730.0A CN104703027B (zh) 2015-03-17 2015-03-17 视频帧的解码方法和装置

Publications (2)

Publication Number Publication Date
CN104703027A true CN104703027A (zh) 2015-06-10
CN104703027B CN104703027B (zh) 2018-03-27

Family

ID=53349731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510115730.0A Active CN104703027B (zh) 2015-03-17 2015-03-17 视频帧的解码方法和装置

Country Status (3)

Country Link
US (1) US10708581B2 (zh)
EP (1) EP3070947B1 (zh)
CN (1) CN104703027B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017062377A1 (en) * 2015-10-07 2017-04-13 Qualcomm Incorporated Methods and systems of performing predictive random access using a background picture
CN106791875A (zh) * 2016-11-30 2017-05-31 华为技术有限公司 视频数据解码方法、编码方法以及相关设备
CN108141584A (zh) * 2015-10-07 2018-06-08 高通股份有限公司 使用背景图片对预测性随机存取图片进行译码的方法和系统
CN111800653A (zh) * 2020-07-29 2020-10-20 北京大学深圳研究生院 视频解码方法、系统、设备及计算机可读存储介质
CN112822514A (zh) * 2020-12-30 2021-05-18 北京大学 基于依赖关系的视频流分组传输方法、系统、终端及介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11146608B2 (en) * 2017-07-20 2021-10-12 Disney Enterprises, Inc. Frame-accurate video seeking via web browsers
CN113923495B (zh) * 2021-09-08 2024-01-12 北京奇艺世纪科技有限公司 一种视频播放方法、系统、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7817576B1 (en) * 2007-11-13 2010-10-19 Sprint Communications Company L.P. Transitioning between multiple data streams of a media channel based on client conditions
CN102768834A (zh) * 2012-03-21 2012-11-07 新奥特(北京)视频技术有限公司 一种实现音频帧解码的方法
CN102868909A (zh) * 2011-10-17 2013-01-09 苏州迈科网络安全技术股份有限公司 Mp4在线视频缓存方法及装置
CN103747065A (zh) * 2013-12-27 2014-04-23 河海大学 客户端http检索全索引容器格式媒体资源时间片段的方法
CN105142036A (zh) * 2014-06-09 2015-12-09 浙江大学 一种在ps流以及流媒体中支持背景帧随机访问的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100833402B1 (ko) * 2004-07-01 2008-05-28 미쓰비시덴키 가부시키가이샤 랜덤 액세스 가능한 영상 정보 기록 매체, 기록 방법, 재생장치 및 재생 방법
FR2920632A1 (fr) * 2007-08-31 2009-03-06 Canon Kk Procede et dispositif de decodage de sequences video avec masquage d'erreurs

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7817576B1 (en) * 2007-11-13 2010-10-19 Sprint Communications Company L.P. Transitioning between multiple data streams of a media channel based on client conditions
CN102868909A (zh) * 2011-10-17 2013-01-09 苏州迈科网络安全技术股份有限公司 Mp4在线视频缓存方法及装置
CN102768834A (zh) * 2012-03-21 2012-11-07 新奥特(北京)视频技术有限公司 一种实现音频帧解码的方法
CN103747065A (zh) * 2013-12-27 2014-04-23 河海大学 客户端http检索全索引容器格式媒体资源时间片段的方法
CN105142036A (zh) * 2014-06-09 2015-12-09 浙江大学 一种在ps流以及流媒体中支持背景帧随机访问的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "ISO/IEC 14496-12:Information technology-Coding of audio-visual objects-Part 12:ISO base media file format", 《MPEG MEETING》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017062377A1 (en) * 2015-10-07 2017-04-13 Qualcomm Incorporated Methods and systems of performing predictive random access using a background picture
CN108141584A (zh) * 2015-10-07 2018-06-08 高通股份有限公司 使用背景图片对预测性随机存取图片进行译码的方法和系统
CN108141583A (zh) * 2015-10-07 2018-06-08 高通股份有限公司 使用背景图片执行预测性随机存取的方法和系统
US10063861B2 (en) 2015-10-07 2018-08-28 Qualcomm Incorporated Methods and systems of performing predictive random access using a background picture
CN106791875A (zh) * 2016-11-30 2017-05-31 华为技术有限公司 视频数据解码方法、编码方法以及相关设备
CN111800653A (zh) * 2020-07-29 2020-10-20 北京大学深圳研究生院 视频解码方法、系统、设备及计算机可读存储介质
WO2022021519A1 (zh) * 2020-07-29 2022-02-03 北京大学深圳研究生院 视频解码方法、系统、设备及计算机可读存储介质
CN112822514A (zh) * 2020-12-30 2021-05-18 北京大学 基于依赖关系的视频流分组传输方法、系统、终端及介质
CN112822514B (zh) * 2020-12-30 2022-06-28 北京大学 基于依赖关系的视频流分组传输方法、系统、终端及介质

Also Published As

Publication number Publication date
EP3070947A1 (en) 2016-09-21
US20160277734A1 (en) 2016-09-22
CN104703027B (zh) 2018-03-27
US10708581B2 (en) 2020-07-07
EP3070947B1 (en) 2020-11-25

Similar Documents

Publication Publication Date Title
CN104703027A (zh) 视频帧的解码方法和装置
CN111063376B (zh) 一种mp4修复中音视频同步的方法、终端设备和存储介质
CN105376612A (zh) 一种视频播放方法、媒体设备、播放设备以及多媒体系统
US20100153645A1 (en) Cache control apparatus and method
US5831557A (en) Variable length code decoding according to optimum cache storage requirements
US20100325497A1 (en) Using fractional sectors for mapping defects in disk drives
US7880647B1 (en) Huffman decoding method
US7370144B2 (en) Method and system for accessing a target sample in a media data stream
US7205915B2 (en) Method of decoding variable length prefix codes
US7940807B2 (en) Methods, decoder circuits and computer program products for processing MPEG audio frames
US20150269967A1 (en) Fast and smart video trimming at frame accuracy on generic platform
EP2981081B1 (en) Methods and devices for coding and decoding depth information, and video processing and playing device
CN103165157A (zh) 定位无索引avi 文件播放位置的方法、装置及播放器
US6518896B1 (en) Multiple symbol length lookup table
US9014259B2 (en) Apparatus and method for sequentially parsing bitstreams based on removal of emulation prevention byte
US10236004B2 (en) Data encoding and decoding method and system
CN104053017A (zh) 多通道媒体内容中的取证方法和系统
US9031333B2 (en) Image processing device, image processing method, and program
US9640211B1 (en) Servo track encoding and decoding
KR100576548B1 (ko) 문맥기반 적응 가변길이 복호화 장치 및 그 방법
CN116489458B (zh) 一种基于文件字节分析的mp4修复方法、装置、终端及介质
CN105142036A (zh) 一种在ps流以及流媒体中支持背景帧随机访问的方法
US8767832B2 (en) Method and apparatus for processing a multimedia bitstream
RU2321169C2 (ru) Способ декодирования префиксных кодов переменной длины
KR100586261B1 (ko) 비디오 이미지 디코딩 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant