2024年5月2日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.2

(22)申请日 2011.12.16

(71)申请人 深圳市快播科技有限公司

地址 518000 广东省深圳市南山区高新南一道009号中国科技开发院中科研发园三号

楼22层

(72)发明人 梁健国 刘大卫

(74)专利代理机构 深圳鼎合诚知识产权代理有限公司

代理人 郭燕

(51)

G11B27/32

G11B20/12

(10)申请公布号 CN 103165157 A

(43)申请公布日 2013.06.19

权利要求说明书 说明书 幅图

(54)发明名称

定位无索引AVI 文件播放位置的方

法、装置及播放器

(57)摘要

本发明公开了一种可以定位无索引

AVI文件的播放位置的方法及装置,包

括:对获取的包含连续数据块的视音频数

据流按预定数目划分区间,每个区间包括

预定数目个连续的数据块,找出每个区间

内具有最大数据量的数据块,将该具有最

大数据量的数据块作为其对应区间的关键

帧起始数据块;根据所有区间的关键帧起

始数据块重建索引;根据外部定位控制数

据并结合重建后的索引定位AVI文件的播

放位置,输出定位到的播放位置。本发明

通过划分区间并找出该区间的数据量最大

的数据块,该数据量最大的数据块一般即

为关键帧的起始数据块,这样识别出来的

关键帧的起始数据块的准确度较高,从而

可以很大程度上解决播放过程中存在的画

面异常或反应慢的问题。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种定位无索引AVI文件的播放位置的方法,其特征在于,包括:

分析步骤,对获取的包含连续数据块的视音频数据流按预定数目划分区间,每个区

间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将该

具有最大数据量的数据块作为其对应区间的关键帧起始数据块;

索引步骤,根据所有区间的关键帧起始数据块重建索引;

定位步骤,根据外部定位控制数据并结合重建后的索引定位AVI文件的播放位置,

输出定位到的播放位置。

2.根据权利要求1所述的定位无索引AVI文件的播放位置的方法,其特征在于,所

述找出每个区间内具有最大数据量的数据块的过程包括:

将该区间内的第一个数据块的数据量作为最大值变量;

遍历该区间内的所有数据块,将所述第一个数据块之后的每一个数据块的数据量和

所述最大值变量进行比较,如果某个数据块的数据量比所述最大值变量还大,则将

该某个数据块的数据量作为最大值变量;

遍历结束后得到的最大值变量为最大数据量,与该最大数据量对应的数据块为具有

最大数据量的数据块。

3.根据权利要求1所述的定位无索引AVI文件的播放位置的方法,其特征在于,所

述外部定位控制数据包括从用户界面输入的信息。

4.根据权利要求1至3任一项所述的定位无索引AVI文件的播放位置的方

法,其特征在于,所述AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的

视音频文件。

5.一种定位无索引AVI文件的播放位置的装置,其特征在于,包括:

分析单元,用于对获取的包含连续数据块的视音频数据流按预定数目划分区间,每

个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,

将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;

索引单元,用于根据所述分析单元输出的所有区间的关键帧起始数据块重建索引;

定位单元,用于根据外部定位控制数据并结合所述索引单元重建后的索引定位

AVI文件的播放位置,输出定位到的播放位置。

6.根据权利要求5所述的定位无索引AVI文件的播放位置的装置,其特征在于,所

述AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的视音频文件。

7.一种用于播放无索引AVI文件的播放器,包括用于获取AVI文件的文件读取模

块、用于将AVI文件分离为视频数据和音频数据的分离模块、用于对视频数据和

音频数据解码的解码模块,其特征在于,所述分离模块包括:

分析单元,用于对获取的包含连续数据块的视音频数据流按预定数目划分区间,每

个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,

将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;

索引单元,用于根据所述分析单元输出的所有区间的关键帧起始数据块重建索引;

定位单元,用于根据外部定位控制数据并结合所述索引单元重建后的索引定位

AVI文件的播放位置;

分离单元,用于从所述定位单元定位到的播放位置将AVI文件分离为视频数据和

音频数据并输出到所述解码模块。

8.根据权利要求7所述的用于播放无索引AVI文件的播放器,其特征在于,所述

AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的视音频文件。

说 明 书

技术领域

本发明涉及音视频播放的技术领域,尤其涉及一种定位无索引AVI文件的播放位

置的方法及装置,以及一种用于播放无索引AVI文件的播放器。

背景技术

AVI(Audio Video Interleaved,音频视频交错格式)格式的视音频文件(简称AVI文件)

是经过编码的视音频数据流,分为多个数据块(chunk),每个数据块均包含相应的

标识信息,该标识信息包括数据块内容(音频、视频或其它信息)、块大小、是否压

缩数据等信息。通过分析上述标识信息为每一数据块建立对应的索引,用来指示数

据块的位置、大小及是否关键帧等信息,以帮助定位。也就是说,AVI文件含三部

分:文件头、数据块和索引块,其中,文件头包括前述的标识信息,数据块是实际

的视音频数据,索引块包括指示数据块在文件中的位置等信息。

AVI文件的索引块是可选的,索引的作用在于帮助文件播放时进行定位,因此使得

用户不必搜索与分析整个文件即可存取文件中的特定部分。对于无索引的AVI文

件,目前采用的方法是通过分析AVI文件的视频和音频数据块来重建音频和视频

索引进而实现播放定位。对无索引的AVI文件重建索引时,由于无法获知任意一

个数据块是否关键帧的起始数据块,当前的做法是把每个数据块都当作关键帧的起

始数据块。这种做法虽然可以实现对无索引AVI文件的播放定位,然而,由于将

每个数据块都视为关键帧的起始数据块,在将任意一数据块作为关键帧起始数据块

送到解码器进行解码后发现其实际并非关键帧的起始数据块,此时只能将解码的帧

显示给用户或者等待下一个关键帧I帧的出现,这将导致播放定位后的几秒内画面

出现异常(播放异常的具体表现取决于不同的视频编解码器)或响应慢,给用户带来

不佳的观赏体验。

发明内容

本发明要解决的主要技术问题是,提供一种可以定位无索引AVI文件的播放位置

的方法及装置。

根据本发明的一个方面,提供一种定位无索引AVI文件的播放位置的方法,包括:

分析步骤,对获取的包含连续数据块的视音频数据流按预定数目划分区 间,每个

区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将

该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;索引步骤,根据

所有区间的关键帧起始数据块重建索引;定位步骤,根据外部定位控制数据并结合

重建后的索引定位AVI文件的播放位置,输出定位到的播放位置。

所述找出每个区间内具有最大数据量的数据块的过程包括:将该区间内的第一个数

据块的数据量作为最大值变量;遍历该区间内的所有数据块,将所述第一个数据块

之后的每一个数据块的数据量和所述最大值变量进行比较,如果某个数据块的数据

量比所述最大值变量还大,则将该某个数据块的数据量作为最大值变量;遍历结束

后得到的最大值变量为最大数据量,与该最大数据量对应的数据块为具有最大数据

量的数据块。

所述外部定位控制数据包括从用户界面输入的信息。

所述AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的视音频文件。

根据本发明的另一个方面,提供一种定位无索引AVI文件的播放位置的装置,包

括:分析单元,用于对获取的包含连续数据块的视音频数据流按预定数目划分区间,

每个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,

将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;索引单元,用

于根据所述分析单元输出的所有区间的关键帧起始数据块重建索引;定位单元,用

于根据外部定位控制数据并结合所述索引单元重建后的索引定位AVI文件的播放

位置,输出定位到的播放位置。

所述AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的视音频文件。

根据本发明的又一个方面,提供一种用于播放无索引AVI文件的播放器,包括用

于获取AVI文件的文件读取模块、用于将AVI文件分离为视频数据和音频数据的

分离模块、用于对视频数据和音频数据解码的解码模块,所述分离模块包括:分析

单元,用于对获取的包含连续数据块的视音频数据流按预定数目划分区间,每个区

间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将该

具有最大数据量的数据块作为其对应区间的关键帧起始数据块;索引单元,用于根

据所述分析单元输出的所有区间的关键帧起始数据块重建索引;定位单元,用于根

据外部定位控制数据并结合所述索引单元重建后的索引定位AVI文件的播放位置;

分离单元,用于从所述定位单元定位到的播放位置将AVI文件分离为视频数据和

音频数据并输出到所述解码模块。

所述AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的视音频文件。

本发明的有益效果是:通过划分区间并找出该区间的数据量最大的数据块,该数据

量最大的数据块一般即为关键帧的起始数据块,这样识别出来的关键帧的起始数据

块的准确度较高,从而可以很大程度上解决播放过程中存在的画面异常或反应慢的

问题。

附图说明

图1是本发明实施例的用于播放无索引AVI文件的播放器的结构示意图;

图2是本发明实施例的播放器的另一种结构示意图;

图3是本发明实施例的定位无索引AVI文件的播放位置的方法的流程示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。

本发明实施例的设计思想是:根据实验分析统计得知视频文件的关键帧的起始数据

块的数据量通常比其他数据块大得多,因此,对于无索引AVI文件,本发明实施

例不必像现有技术那样把每个数据块都当作关键帧的起始数据块,而是通过划分区

间并找出该区间的数据量最大的数据块,该数据量最大的数据块一般即为关键帧的

起始数据块,这样识别出来的关键帧的起始数据块的准确度相比于现有方法的较高,

从而可以很大程度上解决现有技术的不足引起的如画面出现异常或响应比较慢的播

放问题。

如图1所示为本发明实施例提供的用于播放无索引AVI文件的播放器,包括:文

件读取模块120、分离模块140、解码模块160。文件读取模块120用于读取数据

通讯接口获取的视音频文件,即获取AVI文件;分离模块140用于将视音频文件

分离为音频数据和视频数据;解码模块160用于对音频数据和视频数据进行解码。

应理解,播放器中还包括对解码后的音频数据和视频数据进行播放的播放模块以及

如对音频或视频进行渲染处理的模块。一种实施例中,如图2所示,文件读取模块

读取数据通讯接口获取视音频文件,分离模块将视音频文件分离为音频文件和视频

数据;音频数据经过音频解码模块、音频渲染模块后由音频播放装置进行播放,而

视频数据经过视频解码模块、视频渲染模块后通过播放接口进行播放;播放过程中

可受播放控制器控制播放的进度等。

图1所示的播放器中,分离模块140包括:分析单元141、索引单元143、定位单

元145和分离单元147。分析单元141用于对获取的包含连续数据块的视音频 数据

流按预定数目划分区间,每个区间包括预定数目个连续的数据块,找出每个区间内

具有最大数据量的数据块,将该具有最大数据量的数据块作为其对应区间的关键帧

起始数据块;索引单元143用于根据分析单元141输出的所有区间的关键帧起始数

据块重建索引;定位单元145用于根据外部定位控制数据并结合索引单元143重建

后的索引定位AVI文件的播放位置;分离单元147用于从定位单元145定位到的

播放位置将AVI文件分离为视频数据和音频数据并输出。可以理解,实施例中,

当用户有定位需求时,分离模块负责定位功能,由分析单元从文件读取模块获取到

视音频文件的全部数据,并对其进行分析以重建索引。

基于上述播放器,本发明实施例提供了一种定位无索引AVI文件的播放位置的方

法,如图3所示,包括:

分析步骤S310,对获取的包含连续数据块的视音频数据流按预定数目划分区间,

每个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,

将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;

这里,找出每个区间内具有最大数据量的数据块的算法可以采用如下算法实现:首

先,将该区间内的第一个数据块的数据量作为最大值变量;然后,遍历该区间内的

所有数据块,将第一个数据块之后的每一个数据块的数据量和最大值变量进行比较,

如果某个数据块的数据量比最大值变量还大,则将该某个数据块的数据量作为最大

值变量;最后,遍历结束后得到的最大值变量为最大数据量,与该最大数据量对应

的数据块为具有最大数据量的数据块。

索引步骤S330,根据所有区间的关键帧的起始数据块重建索引;

这里,重建索引可采用本领域关于重建索引的现有方法实现,例如,根据得到关键

帧的起始数据块,记录各个数据块的内容(如音频、视频)、块的大小及位置等,将

这些信息作为索引。

定位步骤S350,根据外部定位控制数据并结合重建后的索引定位AVI文件的播放

位置,输出定位到的播放位置。

这里,外部定位控制数据包括从用户界面输入的信息,例如用户拖动播放进度条时

传入播放器的对应的时间点等。定位的过程可以采用本领域关于定位的现有方法,

例如,已知视频的帧率为每秒25帧,若外部输入的信息为10秒,结合重建后的索

引可以很精确地定位到相应的位置。可以理解,这样精确定位后再进行音视频数据

解码播放,可以很大程度上避免画面异常及反应迟缓情况的出现,提升了用户观赏

体验。

基于上述定位无索引AVI文件的播放位置的方法,本发明实施例还提供了一种定

位无索引AVI文件的播放位置的装置,包括:分析单元、索引单元、定位单元;

其中各单元的功能与前述播放器中分离模块中涉及的各单元相对应,此处不在重

赘。

可见,本发明实施例可识别无索引AVI文件视频帧中的大部分关键帧的起始数据

块,这样,在为无索引AVI文件重建索引时,即可不必将所有数据块都视为关键

帧的起始块。由于识别出来的关键帧的起始数据块的准确度较高,从而可以很大程

度上解决现有技术的不足引起的播放问题。

在本发明实施例的定位过程中,分析单元选择对预定数量(例如200个,但不限于

此)的连续个数据块做区间分析,找出该区间内的关键帧(I帧)的起始数据块。实验

分析得知视频文件的关键帧起始数据块的数据量通常比其他非关键帧大得多,因此

找出区间内最大的数据块一般即为关键帧的起始数据块,关键帧起始数据块的识别

可以通过设置比较的算法来实现(具体如前述)。

找到关键帧的起始数据块之后即在其索引中表现出来。因此定位单元可以从索引单

元重建的索引中更为准确地识别出关键帧的起始数据块,并根据从用户界面输入的

外部定位控制数据更加准确高效地进行播放定位,很大程度避免了画面异常及反应

迟缓情况的出现,提升了用户观赏体验。

准确定位之后,分离单元从定位到的播放位置开始进行音视频分离提供给后续的解

码模块处理进而播放文件。

本发明实施例的播放器、以及定位无索引AVI文件的播放位置的方法及装置适用

于AVI 1.0及AVI 2.0格式的视频文件。

本发明实施例的方法可较为准确地识别关键帧的起始数据块,从而准确定位,很大

程度避免了无索引AVI文件播放定位后可能出现的画面异常或响应缓慢的情形。

上述实施例只是本发明的举例,尽管为说明目的公开了本发明的最佳实施例和附图,

但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围

内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附

图所公开的内容。