首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于Altera cyclone V SOC的JPEG编码分析

基于Altera cyclone V SOC的JPEG编码分析

H.264等视频压缩算法在视频会议中是核心的视频处理算法,它要求在规定的短时间内,编解码大量的视频数据,目前主要都是在DSP上运行。未来在添加4k*2kH.265编解码等功能,并要求控制一定成本的情况下,面临DSP性能瓶颈的问题,所以希望部分算法可以下放到FPGA来实现,借助FPGA并行处理的优势,来加速整个系统。
基于alteracyclone V soc平台的试验可行性分析

1.JPEG
图像压缩算法与H.264等视频压缩算法,有一定的相似性,并要简单很多,有一定的借鉴意义,故本次短期试验使用JPEG算法来验证该SOC平台;

2.JPEG
压缩算法如果完全在FPGA上用VerilogHDL语言实现,有一定难度,并且开发周期很长,而C语言源码,已经比较成熟,移植到ARM比较简单;

3.
经考察,alteracyclone V soc平台,拥有两颗速度高达800MhzcortexA9内核,并有大容量的逻辑单元,和高速收发模块。FPGAARM之间的AXI标准总线,速度更是高达100Gbit,对传输高清视频数据,即使4K*2K也是绰绰有余。
试验过程

JPEG
JointPhotographic Experts Group的缩写,即ISOIEC联合图像专家组,负责静态图像压缩标准的制定,这个专家组开发的算法就被称为JPEG算法,并且已经成为了大家通用的标准,即JPEG标准。JPEG压缩是有损压缩,但这个损失的部分是人的视觉不容易察觉到的部分,它充分利用了人眼对计算机色彩中的高频信息部分不敏感的特点,来大大节省了需要处理的数据信息。

JPEG
编码中主要涉及到的内容主要包括:

1. Color Model Conversion
(色彩模型)

2. DCT
DiscreteCosine Transform离散余弦变换

3.
重排列DCT结果

4.
量化

5. RLE
编码

6.
范式Huffman编码

7. DC
的编码

本次试验ARM侧运行LINUX操作系统,并将ColorModel Conversion部分,下发给FPGA侧来实现,如上图,黄色区域标记。其中ARM核与FPGA的数据交互运用了HPS-to-FPGAx64 Bridge,该总线的读写操作都是在MMAP(将底层地址空间映射到用户层)后,通过使用HWlib库函数来实现。在FPGA侧,运用Qsys工具,添加Application_logic用户逻辑模块,来实现ColorModel Conversion功能,如下图黄色区域标记。


试验结果

1.
整个编码过程正常,以下左侧为编码前的真彩。bmp格式图片,右侧为编码后的。jpg格式图片。


2.
通过调用LINUX操作系统时钟函数gettimeofday ModelConversion部分在ARM侧运行,和在FPGA侧运行消耗的时间:

从表中可以看出,FPGA在大数据量的处理时,能发挥并行的优势,使运算速度得到提升。因试验开发程度有限,所以速度提升不是很明显。相信在将更多数据处理任务交给FPGA完成后,能获得更高的系统性能。
试验结论

1. cycloneV SOC
ARM核的存在,可以运用成熟的C语言代码,缩短开发时间;

2. cycloneV SOC
有大量逻辑单元,可以协助处理大量数据,提高系统性能;

3. cycloneV SOC
成本低廉,满足成本控制要求;
返回列表