0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用FPGA的并行设计结构实现低码率实时应用H.264标准编码系统设计

电子设计 作者:电子设计 2018-11-19 09:40 次阅读

H.264标准作为新一代视频编码标准,是面向多比特率的视频编码标准,也称JVT/AVC标准,既可用于高码率的HDTV和数字存储系统,也可用于低码率的实时通信系统。在相同的图像质量情况下,H.264比H.263和MPEG一4可以节省20%~50%的码率。就其基本档次而言,编码器的复杂度是H.263的10倍左右。H.264良好的网络亲和性和优异的压缩性能使其成为视频应用的首选,但其巨大的运算量成为许多应用的瓶颈。基于NiosII设计了一种低码率实时应用的编码系统。该系统充分利用FPGA的并行设计结构,对视频数据采用高压缩比的H.264标准编码,能很好地满足低码率实时编码的要求。

1H.264编码系统结构设计

根据H.264/AVC编码器原理及结构,同时考虑到现有硬件资源的限制以及该设计的应用需求,设计了图1所示的H.264/AVC编码系统结构。

利用FPGA的并行设计结构实现低码率实时应用H.264标准编码系统设计

摄像头摄入的视频图像首先经过视频采集模块处理,并将当前帧的图像数据存入SRAM。然后,以宏块MB(macroblock)为单元,从SRAM中读取原始图像,并根据MB所在图像帧内的位置,读取重建帧中的参考像素进行帧内预测,并将预测宏块与当前宏块像素做差即可得到预测残差。接下来,对残差图像进行整数DCT变换或Had—amard变换,并对变换输出进行量化。量化输出的残差图像一方面通过反变换和反量化处理生成重建图像供帧内预测作为参考,另一方面经过重排序、熵编码处理得到最终的图像压缩码流输出。

根据H.264/AVC标准,将所设计的整个编码系统从结构上划分为图像采集、帧内预测、变换量化、熵编码等几个主要部分。各个模块之间通过流水线的方式进行处理,可以有效地提高硬件的执行效率。

2 基于Cyclone II FPGA的H.264编码器的实现

系统采用SOPC的设计方式,主要由视频采集模块、NiosII处理器系统组成。采用Altera公司的DE2开发板为开发平台,将视频采集、NiosII处理器集成到一个SOPC系统中。其中NiosII处理器系统要承担图像采集控制、图像的H.264压缩编码工作。为了保证实时性,在充分分析H.264软件算法运行时间后,采用自定义模块对H.264编码器关键算法进行硬件加速。

2.1 视频采集模块

视频采集是视频图像处理、传输的前提,采集到的数字视频图像好坏将直接影响到视频处理的结果。图2给出了图像处理系统的视频采集结构。

利用FPGA的并行设计结构实现低码率实时应用H.264标准编码系统设计

ADI公司的多制式视频解码芯片ADV7181B对采集的视频图像进行模数转换。ADV7181B可以自动检测诸如NTSC、PAL和SEC0M制式的基带视频信号,并将其转换为基于4:2:2取样的16/8位兼容的CCIR601/CCIR656格式的数字视频信号;具有6路模拟视频输入端口,且采用单一的27 MHz晶振时钟输入;用户可以通过两线的I2C接口对ADV7181B的工作模式进行配置。

系统上电时,首先使用I2C模块对ADV7181B的内部寄存器进行配置。由于摄像头输出的是PAL制式的模拟视频信号,因此需要相应地将ADV7181B配置为PAL制式的模拟视频信号输入,并将其转换为CCIR656格式的数字视频信号。ADV7181B将转换得到的实时数字视频图像的亮度信号、色度信号(TD_DAT)以及行、场同步信号(TD_HS/VS)同时输入到FPGA芯片中,通过图像采集模块提取需要的数字图像信息,并将其转存至AlteraDE2开发板提供的具有512 KB存储容量的SRAM中,用于缓存待处理图像帧。

下面介绍图像采集模块的设计与实现方法。

根据上面对视频采集部分硬件结构的分析,设计了图3所示的视频采集模块结构框图。可以看出,图像采集模块主要包含图像提取、色度取样率变换、Y/Cb/Cr图像分量分离以及图像缓存SRAM读写控制等单元。

利用FPGA的并行设计结构实现低码率实时应用H.264标准编码系统设计

其中图像提取子模块在H.264/AVC编码模块的视频采集控制信息的控制下,从ADV7181B转换输出的PAL制数字视频图像中提取需要的图像数据。摄像头采集的实际图像大小为768×576像素的隔行扫描视频输入信号,其中基数场和偶数场在时间上先后输入。由于系统处理的图像大小为320×240像素,因此需要对输入的数字视频进行截取,以满足系统的处理要求。

考虑到在一帧图像中的顶场与底场数据差异不大,因此在对图像进行截取时,仅对底场中间240行的连续320个相邻像素点进行提取,以输出320×240像素的视频图像数据。其具体提取流程如图4所示。

利用FPGA的并行设计结构实现低码率实时应用H.264标准编码系统设计

H.264/AVC支持对色度取样为4:2:O格式的逐行或隔行扫描数字图像进行处理,因此需要对提取的数字图像进行色度取样率变换。通过对相邻奇数行和偶数行的色度图像分量进行简单的平均,可实现由4:4:4向4:2:O的色度取样率变换,如图5所示。

利用FPGA的并行设计结构实现低码率实时应用H.264标准编码系统设计

经过取样率变换后的图像数据需要根据Y/Cb/Cr图像类型在SRAM中分片区缓存,以方便后续的H_264的编码处理。图6给出了实际图像的色度分量在取样率变换前后的效果。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1611

    文章

    21393

    浏览量

    595507
  • 编码器
    +关注

    关注

    42

    文章

    3460

    浏览量

    132239
  • 摄像头
    +关注

    关注

    59

    文章

    4690

    浏览量

    93597
收藏 人收藏

    评论

    相关推荐

    H.264标准详细介绍

    组成。JVT的工作目标是制定一个新的视频编码标准,以实现视频的高压缩比、高图像质量、良好的网络适应性等目标。目前JVT的工作已被ITU-T接纳,新的视频压缩编码
    发表于 06-04 14:29

    新一代视频编码标准H.264在高速DSP平台上的实现与优化

    的应用领域在迅速扩大。正是由于众多视频标准的发展使数字视频得到广泛的应用。这些标准实现了不同制造商设计的应用系统之间的可互操作性,从而加速了视频市场的发展。
    发表于 06-25 10:35

    FPGA实现H 264 AVC视频编码标准

    成本。复杂度分析为了实现实时 H.264/AVC 标准清晰度 (SD) 或高清晰度 (HD) 分辩率编码解决方案,系统架构师常常需要使用多个
    发表于 06-25 11:33

    最新视频编码标准H.264及其核心技术

    最新视频编码标准H.264及其核心技术H.264是ITU-T和ISO联合研究制定的编码效率高、网络适应性强的最新数字视频
    发表于 06-25 11:42

    TI DAVINCI的商业级H.264 视频编码器源码供应

    /davinciedu.html成都宇鸿科技是一家在TI DAVINCI 平台专注3G和视频编解码算法优化和实现的公司,是国内少数能整体提供嵌入式3G, H.264低码率编码器,基于
    发表于 12-02 14:10

    基于Blackfin533的H.264编码

    视频质量下,能节省大约50%的码流,图像质量更好,适应性更广,能较好地满足实时(视频会议)及非实时(存储、广播等)等各种应用。在DSP上实现H.264
    发表于 07-13 17:12

    采用FPGA和NiosII实现实时H264视频编码

    成为许多应用的瓶颈。笔者基于NiosII设计了一种低码率实时应用的编码系统。该系统充分利用
    发表于 07-29 06:52

    H.264编码如何在嵌入式设备中实现

    标准提供了更高的编码增益。H.264的INTRA帧 编码算法充分利用图像中的空间相关和变换域的相关性,提供了极高的
    发表于 08-06 06:37

    怎么设计基于DSP的H.264编码器电路?

    许多全新的编码技术和网络适配层NAL的概念,从而拥有更高的编码效率和更好的网络适配性。为从低码率实时通信系统或无线环境到高
    发表于 09-04 06:19

    H.265与H.264对比分析

    H.264也被广泛用于网络流媒体数据、各种高清晰度电视广播以及卫星电视广播等领域。H.264相较于以前的编码标准有着一些新特性,如多参考帧的运动补偿、变块尺寸运动补偿、帧内预测
    发表于 12-11 15:45

    请问怎样去实现H.264/AVC视频编码标准

    请问在FPGA上如何去实现H.264/AVC视频编码标准
    发表于 05-07 07:27

    怎样去设计一种低码率实时H.264视频编码器?

    一种基于NiosII的低码率实时H.264视频编码器设计
    发表于 06-07 07:06

    基于NiosII的低码率实时H264视频编码

    笔者基于NiosII 设计了一种低码率实时应用的编码系统。该系统充分利用
    发表于 11-26 15:22 35次下载

    探究在FPGA实现H.264/AVC 视频编码标准

    尽管H.264/AVC承诺将此已有视频编码标准具有更高的编码效率,它仍为系统架构师、DSP 工程师和硬件设计人员带来了巨大的工程设计挑战。
    发表于 11-06 11:27 0次下载
    探究在<b class='flag-5'>FPGA</b>上<b class='flag-5'>实现</b><b class='flag-5'>H.264</b>/AVC 视频<b class='flag-5'>编码</b>的<b class='flag-5'>标准</b>

    基于NiosII的低码率实时H.264视频编码

    关键词:NiosII , 视频编码 引言 H.264标准作为新一代视频编码标准,是面向多比特率的视频编码
    发表于 02-27 07:04 390次阅读
    基于NiosII的<b class='flag-5'>低码率</b><b class='flag-5'>实时</b><b class='flag-5'>H.264</b>视频<b class='flag-5'>编码</b>器