一种优化提取视频帧读取速度的方法技术

技术编号:21341119 阅读:30 留言:0更新日期:2019-06-13 21:55
本发明专利技术公开的是一种优化提取视频帧读取速度的方法,包括存储步骤、读取步骤,存储步骤是将视频文件下载存放到嵌入式fat32文件系统当中,读取步骤是读取每一帧的视频数据,使用本发明专利技术方法读取视频帧数据可以实现从现有技术中一秒几帧增强到一秒上百帧,从而保证视频帧读取的稳定高帧率;不会影响视频播放帧率,提高了视频帧的读取速度,从而保证视频播放帧率。

A Method of Optimizing the Speed of Extracting Video Frame Reading

The invention discloses a method for optimizing the speed of extracting video frame reading, which includes storage steps and reading steps. The storage step is to download and store video files into an embedded FAT32 file system. The reading step is to read video data of each frame. Using the method of the invention, reading video frame data can be enhanced from a few frames per second to hundreds of frames per second in the existing technology. Thus, the stable and high frame rate of video frame reading can be guaranteed, the frame rate of video playback can not be affected, and the reading speed of video frame can be improved, thus the frame rate of video playback can be guaranteed.

【技术实现步骤摘要】
一种优化提取视频帧读取速度的方法
本专利技术涉及一种读取速度的方法,更具体一点说,涉及一种优化提取视频帧读取速度的方法,属于嵌入式视频播放领域。
技术介绍
在嵌入式系统中播放存放在fat32文件系统中的视频文件时读取视频文件会有以下几个步骤:1)、分析视频文件的格式,根据特定格式确定视频帧位于视频文件的具体位置和长度;2)、根据前一步获取到的位置和长度向fat32文件系统请求读取视频帧;3)、Fat32文件系统依据本身的fat表格式,获取上一步请求的位置对应的簇号,并将簇号转换为最终的硬件地址;4)、根据上一步获取的硬件地址,向硬件发起多次读请求;5)、硬件返回视频帧数据给程序使用;在播放视频时为了达到一定的帧率,在播放完上一帧之前,下一帧的数据一定要准备好,于是读取视频帧的速度尤为关键,但由于fat32文件系统自身存储特点,以下几点严重限制视频帧的读取速度,即存在的问题:1)、如图1所示,为了确定每个视频帧的位置必须需要多次读取fat表,将文件偏移转换为簇号;2)、如图1所示,fat32文件系统以簇为存储单位,一个视频帧的数据长度有大有小,如果一个帧跨越几个簇,有可能需要多次读取fat表的才能确定所有视频帧对应的簇的位置;3)、向硬件多次请求读取操作速度会大大增加协议开销,进而影响速度。由于以上几个问题的存在,很可能会严重影响视频数据读取效率从而影响视频播放帧率,如果是多路本地视频显示时,影响更为严重。
技术实现思路
为了解决上述现有技术问题,本专利技术提供具有可提高本地视频帧读取速度等技术特点的一种优化提取视频帧读取速度的方法。为了实现上述目的,本专利技术是通过以下技术方案实现的:一种优化提取视频帧读取速度的方法,该方法包括存储步骤、读取步骤,所述存储步骤是将视频文件下载存放到嵌入式fat32文件系统当中,其包括如下步骤:步骤1):格式化存储介质为fat32文件系统,并指定簇大小可足够容纳每一帧视频数据,将每一帧视频数据限制存放在一簇中;步骤2):移植一个fat32文件系统到嵌入式系统当中;步骤3):编写上位机软件解析视频格式文件,获取每一帧的视频数据,并请求将每一帧的视频数据发送至嵌入式系统;步骤4):编写本地嵌入式系统软件用于接收上位机软件的请求,接收上位机软件发送视频数据请求,且为每一个新视频文件在根目录下创建一个视频目录;步骤5):接收上位机的每一帧的视频数据,且为每一帧的视频数据在对应的视频目录下创建一个文件,以帧号命名视频文件名,获得若干个视频帧文件;所述读取步骤是读取每一帧的视频数据,其包括如下步骤:步骤1):获取根目录的簇号,所述根目录的首簇紧邻FAT2,占簇区顺序上的第1个簇;步骤2):读取根目录对应的簇的数据,并根据需要读取视频文件名,找到对应的目录项,以此来找到该目录项对应的簇号;簇的数据为每个视频帧文件的文件表项,当中记录了每个视频帧文件对应的簇位置;步骤3):读取所述目录项对应的簇;步骤4):依次根据视频文件名的帧号来索引簇中对应的文件表项,分别找到每一帧视频数据对应的文件表项;步骤5):根据每一帧视频数据的文件表项找到视频帧文件对应的簇号和簇长度;步骤6):将簇号和簇长度转换为硬件需要的地址和长度;步骤7):根据获取的簇号和长度,发起硬件读命令;步骤8):硬件返回视频帧数据。作为一种改进,短的文件表项长度都固定为4字节,视频文件名的帧号是从0开始以自然正整数命名排序。有益效果:使用本专利技术方法读取视频帧数据可以实现从现有技术中一秒几帧增强到一秒上百帧,从而保证视频帧读取的稳定高帧率;不会影响视频播放帧率,提高了视频帧的读取速度,从而保证视频播放帧率。附图说明图1是现有技术中需寻找下一簇示意图。图2是本专利技术中视频帧文件索引簇示意图。图3是本专利技术实施例1中视频目录下视频帧文件。具体实施方式以下结合说明书附图,对本专利技术作进一步说明,但本专利技术并不局限于以下实施例。实施例1如图2-3所示为的具体实施例,该实施例一种优化提取视频帧读取速度的方法,该方法包括存储步骤、读取步骤,所述存储步骤是将视频文件下载存放到嵌入式fat32文件系统当中,其包括如下步骤:步骤1):格式化存储介质(如CF卡等)为fat32文件系统,并指定簇大小可足够容纳每一帧视频数据,将每一帧视频数据限制存放在一簇中;步骤2):移植一个fat32文件系统到嵌入式系统当中;嵌入式系统是完全嵌入受控器件内部,为特定应用而设计的专用计算机系统,嵌入式系统的核心是由一个或几个预先编程好以用来执行少数几项任务的微处理器或者单片机组成。与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的,所以经常称为固件;步骤3):编写上位机软件解析视频格式文件,获取每一帧的视频数据,并请求将每一帧的视频数据发送至嵌入式系统;上位机软件是安装在电脑里的软件,用来和下位机进行通信,控制或者读取下位机的数据;步骤4):编写本地嵌入式系统软件用于接收上位机软件的请求,接收上位机软件发送视频数据请求,且为每一个新视频文件在根目录下创建一个视频目录;步骤5):接收上位机的每一帧的视频数据,且为每一帧的视频数据在对应的视频目录下创建一个文件,以帧号命名视频文件名,如图3所示,目录名称为video,目录下包括frame0、frame1、rame2、frame3、rame4、frame5、rame6、frame7视频帧文件;所述读取步骤是读取每一帧的视频数据,其包括如下步骤:步骤1):获取根目录的簇号,所述根目录的首簇紧邻FAT2,占簇区顺序上的第1个簇;步骤2):读取根目录对应的簇的数据,并根据需要读取视频文件名,找到对应的目录项,以此来找到该目录项对应的簇号;簇的数据为每个视频帧文件的文件表项,当中记录了每个视频帧文件对应的簇位置;由于目录是放在根目录下的,根目录的簇的位置是固定的,所以获取根据根目录簇当中每个目录项位置非常快;如图2所示,根据视频帧文件名索引到文件表项从而确定视频帧对应的簇位置,短文件表项长度都固定4字节,根据视频文件名的帧号0、1、2、x,就可以根据公式4*x来确定文件表项的位置;步骤3):读取所述目录项对应的簇;步骤4):依次根据视频文件名的帧号来索引簇中对应的文件表项,分别找到每一帧视频数据对应的文件表项;如图2所示,如frame0对应第一个文件表项1,frame1对应第二个文件表项2,每一个短文件表项为4个字节;步骤5):根据每一帧视频数据的文件表项找到视频帧文件对应的簇号和簇长度;步骤6):将簇号和簇长度转换为硬件需要的地址和长度;步骤7):根据获取的簇号和长度,发起硬件读命令;步骤8):硬件返回视频帧数据。最后,需要注意的是,本专利技术不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本专利技术公开的内容中直接导出或联想到的所有变形,均应认为是本专利技术的保护范围。本文档来自技高网...

【技术保护点】
1.一种优化提取视频帧读取速度的方法,其特征在于该方法包括存储步骤、读取步骤,所述存储步骤是将视频文件下载存放到嵌入式fat32文件系统当中,其包括如下步骤:步骤1):格式化存储介质为fat32文件系统,并指定簇大小可足够容纳每一帧视频数据,将每一帧视频数据限制存放在一簇中;步骤2):移植一个fat32文件系统到嵌入式系统当中;步骤3):编写上位机软件解析视频格式文件,获取每一帧的视频数据,并请求将每一帧的视频数据发送至嵌入式系统;步骤4):编写本地嵌入式系统软件用于接收上位机软件的请求,接收上位机软件发送视频数据请求,且为每一个新视频文件在根目录下创建一个视频目录;步骤5):接收上位机的每一帧的视频数据,且为每一帧的视频数据在对应的视频目录下创建一个文件,以帧号命名视频文件名,获得若干个视频帧文件;所述读取步骤是读取每一帧的视频数据,其包括如下步骤:步骤1):获取根目录的簇号,所述根目录的首簇紧邻FAT2,占簇区顺序上的第1个簇;步骤2):读取根目录对应的簇的数据,并根据需要读取视频文件名,找到对应的目录项,以此来找到该目录项对应的簇号;簇的数据为每个视频帧文件的文件表项,当中记录了每个视频帧文件对应的簇位置;步骤3):读取所述目录项对应的簇;步骤4):依次根据视频文件名的帧号来索引簇中对应的文件表项,分别找到每一帧视频数据对应的文件表项;步骤5):根据每一帧视频数据的文件表项找到视频帧文件对应的簇号和簇长度;步骤6):将簇号和簇长度转换为硬件需要的地址和长度;步骤7):根据获取的簇号和长度,发起硬件读命令;步骤8):硬件返回视频帧数据。...

【技术特征摘要】
1.一种优化提取视频帧读取速度的方法,其特征在于该方法包括存储步骤、读取步骤,所述存储步骤是将视频文件下载存放到嵌入式fat32文件系统当中,其包括如下步骤:步骤1):格式化存储介质为fat32文件系统,并指定簇大小可足够容纳每一帧视频数据,将每一帧视频数据限制存放在一簇中;步骤2):移植一个fat32文件系统到嵌入式系统当中;步骤3):编写上位机软件解析视频格式文件,获取每一帧的视频数据,并请求将每一帧的视频数据发送至嵌入式系统;步骤4):编写本地嵌入式系统软件用于接收上位机软件的请求,接收上位机软件发送视频数据请求,且为每一个新视频文件在根目录下创建一个视频目录;步骤5):接收上位机的每一帧的视频数据,且为每一帧的视频数据在对应的视频目录下创建一个文件,以帧号命名视频文件名,获得若干个视频帧文件;所述读取步骤是读取每一帧的视频数据,其包括如下...

【专利技术属性】
技术研发人员:曾传杰
申请(专利权)人:杭州雄迈集成电路技术有限公司
类型:发明
国别省市:浙江,33

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

1