嵌入式ARM平台上的快速视频解码方法技术

技术编号:20224840 阅读:34 留言:0更新日期:2019-01-28 22:51
本发明专利技术提供一种嵌入式ARM平台上的快速视频解码方法,包括以下步骤:步骤S1,首先打开ARM平台的硬件解码器;步骤S2,然后继续从图像数据源获取一帧图像数据;步骤S3,判断图像数据的结束标志位是否有效,若有效则关闭硬件解码器,若无效则进一步判断起始标志位是否有效,若有效进行下一步,若无效返回步骤S2;步骤S4,调用ARM平台硬件厂家提供的API,按照H.264的相关标准设定解码参数,然后初始化硬件解码器,为硬件解码分配缓存;步骤S5,将图像数据发送至硬件解码器进行解码运算;步骤S6,每一帧的解码完成后需要对缓存进行清空,返回步骤S2;这样循环操作直到检测到有效的结束标志位。本发明专利技术具有处理耗时短的优点。

Fast Video Decoding Method on Embedded ARM Platform

The invention provides a fast video decoding method on an embedded ARM platform, which includes the following steps: first, turn on the hardware decoder of the ARM platform; second, continue to acquire a frame of image data from the image data source; and fifth, judge whether the end flag bit of image data is valid or not, if valid, turn off the hardware decoder, and if not, further judge the starting flag. Whether the log bit is valid or not, if it is valid for the next step, if it is invalid, return to 2; 4, call API provided by hardware manufacturer of ARM platform, set decoding parameters according to relevant standards of H.264, then initialize hardware decoder, allocate cache for hardware decoding; 5, send image data to hardware decoder for decoding operation; 6, after decoding each frame is completed, need. To empty the cache, return to 2; so that the loop operates until a valid end flag is detected. The invention has the advantages of short processing time.

【技术实现步骤摘要】
嵌入式ARM平台上的快速视频解码方法
本专利技术涉及视频监控
,尤其是一种嵌入式ARM平台上的快速视频解码方法。
技术介绍
视频编解码技术的本质是一种视频数据的压缩算法,被广泛应用在各类视频监控系统中。随着技术的发展,现有的视频监控类产品已经无法满足用户的全部需求,以电子警察类产品的发展趋势为例进行分析:1.随着图像处理技术的高速发展,更多更复杂的图像算法被不断开发出来。考虑到此类产品系统对实时性的要求很高,图像处理时间过长会发生延时,在算法复杂度提高的同时又要保证处理时间,图像处理系统势必要消耗更多的系统资源。2.超清、高清摄像机的应用普及,采集端的图像数据源采样率和分辨率越来越高,传输子系统和编解码子系统的数据量会成倍增加,传输过程中消耗的系统资源和时间也相应增加。3.交管部门功能需求的多样化、智能化。从最初的单一抓拍功能到交通流量平台,再到目前已经开始运行的突发事件识别功能、治安卡口功能、违停识别功能等,更多的智能化功能被要求加入到图像处理子模块中。在复杂的软件系统中,有时增加一个看似简单的功能需求,对应的软件代码量可能要增加上万行,系统的结构和逻辑需要重大调整甚至重新设计,对应系统的开销增加也是必然的。综合以上三点,以电子警察为代表的视频监控类产品需要升级性能是必然的。升级的主要方向在解码子模块与图像处理子模块上,图像处理子模块需要加入大量新的功能,增加系统资源。因此,解码子模块就成了性能升级的突破口。相比于图像处理,解码的算法相对固定,处理时间长短和数据运算量的大小有关,对系统资源的消耗相对要小一些。以现有的编解码方法,要保证系统的实时性,只能降低系统采样率,但这显然是用户体验无法接受的。
技术实现思路
本专利技术的目的在于克服现有技术中存在的不足,提供一种嵌入式ARM平台上的快速视频解码方法,具有解码性能高、处理耗时短的优点,对系统资源消耗低,保证图像处理子模块有足够的系统资源使用。本专利技术采用的技术方案是:一种嵌入式ARM平台上的快速视频解码方法,包括以下步骤:步骤S1,首先打开ARM平台的硬件解码器;步骤S2,然后继续从图像数据源获取一帧图像数据;步骤S3,判断图像数据的结束标志位是否有效,若有效则关闭硬件解码器,若无效则进一步判断起始标志位是否有效,若有效进行下一步,若无效返回步骤S2;步骤S4,调用ARM平台硬件厂家提供的API,按照H.264的相关标准设定解码参数,然后初始化硬件解码器,为硬件解码分配缓存;步骤S5,将图像数据发送至硬件解码器进行解码运算;步骤S6,每一帧的解码完成后需要对缓存进行清空,返回步骤S2;这样循环操作直到检测到有效的结束标志位,说明全部解码完成,关闭硬件解码器。进一步地,步骤S2中,使用ffmpeg的API从图像数据源获取一帧图像数据。进一步地,需要解码的图像数据是ARM平台的本地图像文件或来自于RTSP服务器。进一步地,步骤S5中,GPU自动对硬件解码操作进行加速。本专利技术的优点在于:本专利技术利用硬件编解码的方法和GPU的硬件加速功能,与既有的ffmpeg体系相结合,极大提升了解码子模块的解码速度,同时降低了解码子模块的资源消耗。解决了原视频监控系统中解码速度处理时间长,资源消耗大的问题。附图说明图1为现有视频处理流程的模块示意图。图2为本专利技术的快速视频解码流程图。具体实施方式下面结合具体附图和实施例对本专利技术作进一步说明。本专利技术提供一种嵌入式ARM平台上的快速视频解码方法,将视频解码的工作交给硬件来完成,因此能够提高解码速度,大大降低视频解码的耗时。(一)以下首先介绍本专利技术涉及的一些术语与技术知识。1)H.264与YUV;YUV是一种颜色编码方法;Y表示明亮度,U和V则是色度、浓度;如果图像只有Y,没有UV,那么人们看到的就是黑白的图像;通常前端的高清相机采集到的视频数据都是YUV格式的,这种格式的视频清晰度高但是体积大传输用时多,为保证视频监控系统的实时性,通常的做法是将YUV格式的文件转换为H.264格式,然后再传输。H.264是一种文件格式,也可以理解为是一种高度压缩数字视频编解码器标准。这个标准通常被称之为H.264/AVC。H.264的优势主要有高数据压缩比率,在同等图像质量的条件下,H.264的压缩比远高于其他的格式。大大节省用户的下载时间和数据流量。H.264同时还拥有高质量流畅的图像,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少。2)ARM平台;本实施例中涉及的ARM平台,具体采用S5P4418,S5P4418是一款三星开发的核心板,使用4核A9ARM架构,CPU频率为1.4GHz。高性能的同时功耗较低。继承了coda960编解码芯片,支持多种视频格式的硬件编解码,带有GPU硬件加速功能。3)硬件编解码;发送一个较大的视频文件前可以通过编码转化为一个较小的文件,接收到以后通过解码可以基本还原发送前的数据,这样传输的时间就节省了。传统的视频编解码是使用软件来实现的。具体是使用常规的x264、x265等软件编解码器对数据进行处理,优点是灵活,缺点是速度比较慢。硬件编解码是直接使用硬件电路来完成编解码,优点是速度快,不占用CPU资源。4)GPU;GPU全称是图形处理器,是专为执行复杂的数学和几何计算而设计的,拥有一个由数以千计的小而高效的核心组成的大规模并行计算架构。有了GPU,CPU就从简单重复的任务中解放出来,将应用程序计算密集部分的工作负载转移到GPU,同时仍由CPU运行其余程序代码。从用户的角度来看,应用程序的运行速度明显加快。传统的视频监控系统,如图1所示,包括采集模块、处理模块、上位机;采集模块包括高清相机和RTSP服务器;采集模块中的高清相机拍摄到视频数据(YUV格式),经过编码存储在RTSP服务器上(H.264格式);处理模块接收到视频数据后,先交由软件解码子模块解码,解码后的结果交给图像处理子模块处理,最后发往上位机做进一步处理。传统的视频解码通过ffmpeg工具进行;ffmpeg工具是一个开源的音视频工具,可以运行音频和视频多种格式的录影、转换、流功能。图1中现有的视频监控系统,支持的图像分辨率为704*576,采样率最高可达15帧,即每秒钟要求处理15帧图像,每帧图像的处理时间是70毫秒左右,目前处理一帧704*576的图像数据,解码耗时约40ms,图像处理耗时约60ms,满足需求。但是按照未来升级的趋势,如果换上最大分辨率1920*1080,采样率25帧的高清相机,问题就出现了;首先,视频解码的用时会大大的增加,因为计算的数据量是以前的五倍,如果视频解码在用时上超过了图像处理,那么就会出现上一帧图像数据分析完成后,下一帧图像数据还没有完成解码,图像处理子模块只能处于等待的情况。其次,系统资源是有限的。随着数据量的提升,解码和图像处理两者都需要更多的资源,容易因为申请资源而发生冲突。(二)如图2所示,嵌入式ARM平台上的快速视频解码方法,对上述问题进行了改进;步骤S1,首先打开ARM平台的硬件解码器,此操作在程序中对应的函数名为NX_VidDecOpen;操作的各函数由ARM平台硬件厂商提供;后续步骤中的函数名也在图2中列出;步骤S2,然后继续使用ffmpeg的API(即应用程序编程接口)从图像数据本文档来自技高网
...

【技术保护点】
1.一种嵌入式ARM平台上的快速视频解码方法,其特征在于,包括以下步骤:步骤S1,首先打开ARM平台的硬件解码器;步骤S2,然后继续从图像数据源获取一帧图像数据;步骤S3,判断图像数据的结束标志位是否有效,若有效则关闭硬件解码器,若无效则进一步判断起始标志位是否有效,若有效进行下一步,若无效返回步骤S2;步骤S4,调用ARM平台硬件厂家提供的API,按照H.264的相关标准设定解码参数,然后初始化硬件解码器,为硬件解码分配缓存;步骤S5,将图像数据发送至硬件解码器进行解码运算;步骤S6,每一帧的解码完成后需要对缓存进行清空,返回步骤S2;这样循环操作直到检测到有效的结束标志位,说明全部解码完成,关闭硬件解码器。

【技术特征摘要】
1.一种嵌入式ARM平台上的快速视频解码方法,其特征在于,包括以下步骤:步骤S1,首先打开ARM平台的硬件解码器;步骤S2,然后继续从图像数据源获取一帧图像数据;步骤S3,判断图像数据的结束标志位是否有效,若有效则关闭硬件解码器,若无效则进一步判断起始标志位是否有效,若有效进行下一步,若无效返回步骤S2;步骤S4,调用ARM平台硬件厂家提供的API,按照H.264的相关标准设定解码参数,然后初始化硬件解码器,为硬件解码分配缓存;步骤S5,将图像数据发送至硬件解码器进行解码运算;步骤S6,每一帧的解码完...

【专利技术属性】
技术研发人员:张磊张申浩高超程传格
申请(专利权)人:江苏航天大为科技股份有限公司
类型:发明
国别省市:江苏,32

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

1