H.264/AVC中CAVLC编码器的硬件设计实现

发布者:神秘行者最新更新时间:2010-09-18 来源: 电子技术应用2010年第7期关键字:H.264  AVC  CAVLC  编码器 手机看文章 扫描二维码
随时随地手机看文章

  H.264/AVC是ITU-T和ISO联合发布的国际视频压缩标准[1],比特压缩率分别是MPEG-4、H.263及MPEG-2的39%、49%及64%[2],是一种高压缩比的新标准。基于内容的自适应可变长编码(CAVLC)是H.264中关键技术之一,应用于H.264的基本档次和扩展档次对亮度和色度残差数据块进行编解码,编码效率高,抗误码和纠错能力强[3],但计算复杂度大,用软件编码难以满足高清视频实时性要求。H.264编码过程不涉及任何浮点数运算,特别适合硬件电路实现。文献[4]提出的CAVLC编码可分成扫描和编码2部分,扫描部分对残差数据zig-zag逆序扫描后,提取出run-level标志以及相关信息提供给编码部分进行编码。文献[5]对扫描模块进行了优化。编码模块中非零系数级(level)编码计算量最大,复杂度最高。本文充分利用FPGA高速实时特点,采用并行处理及流水线设计,通过优化CAVLC编码结构和level编码子模块,提高CAVLC编码器的性能。

  1 CAVLC原理

  CAVLC是一种依据4×4块变换系数的zig-zag扫描顺序进行的编码算法。块系数的非零系数幅值较小,主要集中在低频段,经过zig-zag扫描后,连续零的个数较多,采用run-level游程编码,通过编码5个语义元素能够实现高效无损压缩,编码流程如图1所示。zig-zag扫描后,顺序编码系数标记(coeff_token)。尾1的符号(trailing_ones_sign_flag)、除尾1外非零系数的级(level),最后一个非零系数前零的个数(total_zeros)和零的游程(run_before)。其中TC、T1、T0分别表示非零系数个数、尾1个数以及最后一个非零系数前零的个数。由于CAVLC编码流程是串行的,软件容易实现,但执行速度慢且效率低。

  2 CAVLC编码器硬件结构设计

  2.1 并行化编码结构

  为了提高运算速度和效率,将图1的CAVLC编码流程并行化处理,适合FPGA实现。根据文献[4]提出的思路,将CAVLC编码分成扫描和编码2部分,见图2。由zig-zag逆序扫描、统计、编码、码流整合4个模块组成。zig-zag模块和统计模块构成扫描部分,编码模块和码流整合模块构成编码部分,系统采用状态机控制。由于trailing_ones_sign_flag、level和run_before都是从zig-zag扫描后序列的尾部开始编码,所以本设计中zig-zag采用逆序扫描。统计模块用计数器统计zig-zag逆序扫描输出序列的TC、T1和T0,将尾1符号(T1_sign)、除尾1外的非零系数(coeffs)和零的游程(runbefore)存入缓存器并输出。编码模块分成6个子模块:NC生成模块、coeff_token模块、trailing_ones_sign_flag模块、level模块、total_zeros模块以及run_before模块。统计模块给各编码子模块提供输入数据,保证各编码子模块并行工作,减少了CAVLC编码的时钟周期,提高了编码器执行效率。由于CAVLC编码是变长的,使得每个编码子模块的输出码流长度不确定,各编码子模块的码字寄存器宽度不同。为了保证各编码子模块生成的码字能够紧凑无缝链接和有效存储,在各编码子模块的码字输出中嵌入输出标志信号和码长信息,当输出标志信号为高电平时码字与码长有效,低电平时则无效,经码流整合模块整合后输出。

[page]

  2.2 level编码的优化实现

  非零系数级编码是CAVLC编码中复杂度最高、计算量最大、编码延时最长的部分也是CAVLC编码器高速、高效运行的瓶颈之一。根据H.264中CAVLC的level解码步骤[6]可设计出相应的编码流程,如图3所示。

  (1)初始化suffixlength为0,如果TC>10,并且T1<3,则初始化为1。

  (2)计算中间变量levelcode[i]:

[page]

  (5)写码字。

  非零系数级的码字为“前缀码字+后缀码字”,前缀码字为prefix个0后紧跟一个1(即前缀码字为1,码长为prefix+1),后缀码字值为suffix,码长为levelsuffixsize。

  依据图3编码流程,level编码所需的时钟周期与TC和T1之差有关,不同的数据块所需的时钟周期不同,而编码前需经过扫描和统计。当非零系数较多时,level编码采用传统的串行方式所需的时钟周期可能比统计模块所耗要多,导致不稳定的吞吐量。另一方面,获得level的码字需知道该系数的prefix、suffix以及levelsuffixsize,而levelsuffixsize的大小是自适应变化的,与上一个已编码系数的绝对值大小有关,这给并行处理带来了一定困难。为此,采用并行处理和两级流水线相结合的结构并行处理2个非零系数,如图4所示。第一级初始化suffixlength,求coeffs的绝对值及中间变量levelcode;第二级更新suffixlength,计算prefix,suffix和levelsuffixlength。模块coeffs SIPO buffer实现串行输入并行输出,输入输出关系如图5所示。

  3 实验验证分析

  Level编码电路结构采用Verilog HDL语言描述,在ModelSim SE 6.0上进行仿真,使用Synplicity公司的Synplify Pro完成综合过程。最后采用Xilinx公司VirtexⅡ系列的xc2v250 FPGA进行实现和验证。

  图6给出了ModelSim的仿真波形,其结果与JVT校验软件模型JM16.2[7]的值一致。从图6可以看出,并行编码TC-T1个level值比串行方式节省(TC-T1)/2个时钟周期,当非零系数较多时,也能获得稳定的吞吐量。表1给出了Synplify Pro综合的硬件资源报告。系统允许的最高时钟频率为158.1 MHz,硬件资源消耗如表1所示。综上所述,本设计满足H.264实时高清视频编码的要求。

[page]

  参考文献

  [1] Joint Video Team(JVT) of ISO/IEC MPEG and ITU-T VCEG.Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification(ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC)[S].JVT-G050r1,Fairfax,VA,2003.

  [2] ANTHONY J,FAOUZI K,HEIKO S,et alo.Performance comparison of video coding standards using lagrangian coder control[J].IEEE Int.Conf.on Image Processing,2002:501-504.

  [3] THOMAS W,GARY J.SULLIVAN,GISLE Bj,AJAY L. Overview of the H.264/AVC video coding standard[J].IEEE Trans.on Circuits and Systems for Video Technology,2003,13(7):560-576.

  [4] CHEN Tung Chien,HUANG Yu Wen,TSAI Chuan Yung,et al.Architecture design of context-based adaptive variable-length coding for H.264/AVC[J].IEEE Trans.Circuits Syst.II,2006,53(9):832-836.

  [5] LEE W,JUNG Y,LEE S,et al.High-speed CAVLC encoder  for H.264/AVC using parallel zig-zag scanning[J].IEEE  Electronics Letters,2009,45(24):1226-1227.

  [6] ITU-T,H.264.Advanced Video Coding for Generic Audio visual Services,2007.

  [7] JointVideoTeam(JVT)referencesoftware,2009[Online].Available:http://iphome.hhi.de/suehring/tml/download/jm16.2.zip.

关键字:H.264  AVC  CAVLC  编码器 引用地址:H.264/AVC中CAVLC编码器的硬件设计实现

上一篇:一种基于PXI的高速数字化仪模块的设计应用
下一篇:ADI推出低成本 800MMAC BF592系列DSP

推荐阅读最新更新时间:2024-05-02 21:09

AEDB-9340光学编码器在伺服电机系统中的应用
引言 在侍服电机系统中,需要系统提供精确的位置控制和速度控制,同时要求响应快,速度高,转动平滑,力矩稳定等。对于越来越高的系统要求,侍服电机的控制也是越来越复杂,系统的控制器、电机驱动、位置与速度传感形成一个闭环控制系统;对于电机的换相,目前很多电机采用霍尔传感器实现换相的反馈,霍尔传感器的开关精确度不是太高。 AVAGO领先业界的六通道换向光学编码器AEDB-9340系列在设计上可以简单地开发无刷直流电机 (BLDC) 闭环路伺服系统中的反馈机制。这款光学编码器集成通道A、通道B和通道I作为位置反馈,并使用通道U、通道V和通道W来模拟转子换向的霍尔传感器反馈,所有这些输出信号都由光学传感器产生;可通过重新配置码盘样式
[工业控制]
影响数控飞剪机动态剪切精度的诸因素实验研究
  1.工作机械的运行方式及控制系统构成   ①放卷工步由变频器驱动实施钢带放卷。   ②成型工步完成冲齿和成型。   ③移动剪切平台(以下简称移动平台)完成对齿条的剪切。   本文讨论的是“移动剪切平台对齿条的动态剪切过程及其各影响因素”。   1.1移动剪切平台对齿条的动态剪切过程   ⑴齿条的运动   齿条的运动速度由成型工步的速度决定。成型工步由变频器驱动。其速度是一确定值。   ⑵移动平台由数控系统的伺服电机驱动。移动平台上装有编码器和冲切模。由编码器对齿条的长度进行数齿计数。由冲切模实施动态冲切。   ⑶动态冲切   ①在正常工作时,齿条由成型工步驱动以规定的速度运行。齿条进入移动平台后,安装在移动平台上的编码器对
[嵌入式]
stm32f103 编码器模式总结
/************************************************************************** 函数功能:把TIM2初始化为编码器接口模式 入口参数:无 返回 值:无 **************************************************************************/ void Encoder_Init_TIM2(void) { RCC- APB1ENR|=1 0; //TIM2时钟使能 RCC- APB2ENR|=1 2; //使能PORTA时钟 GPIOA- CRL&=0XFFFFFF00;//PA0 PA1 GPIOA-
[单片机]
stm32f103 <font color='red'>编码器</font>模式总结
MPEG-4技术的演进与在中国的应用
    活动图像专家组(MPEG)针对数字音频和视频的编码原则制定了MPEG标准,通过MPEG压缩引擎,实现了以经济的成本为消费者提供高质量的数字多媒体内容的理想,也为多媒体市场带来了无限商机。     最新开发的MPEG-4,旨在为机顶盒、互联网、移动设备等应用实现更高质量的压缩和更灵活的格式,提供更加丰富的选择。     MPEG-4标准目前已发展为ISO/IEC-14496第一版和第二版。随着MPEG-4第十部分H.264/先进的视频编码(AVC)的提出,MPEG标准进一步演进。与此同时,中国自主知识产权的数字音视频编解码标准(AVS)的制定也为便携式多媒体技术开创了新的发展空间。 高质量有效传输数字多媒体内容    
[嵌入式]
日韩众厂商转战高清H.264设备市场
  数家半导体公司都在小心翼翼地从快速发展但日益商品化的H.264解码器IC市场上撤退,转而在高清H.264编码器/解码器市场上试水。由于日本和韩国消费电子产品制造商将掀起编解码器需求的热潮,芯片供应商都希望在高清数码相机、数字视频便携式摄像机和存储设备等领域占据自己的一席之地。富士通微电子就在上周宣布开始提供一款面向视频格式高规格第4级标准的硬接线H.264编解码器的样品。Ambarella公司则早在一年前就推出了业界首款高清H.264编解码器,但从那以后就几乎没什么消息了。   Ambarella公司首席技术官Les Kohn表示,Ambarella的芯片已经赢得了“数家一流的日本和韩国公司”的设计项目。   目前市场上的
[家用电子]
编码器常用测速方法
对于电机的转速测量,可以将增量式编码器安装在电机上,用编码器的轴连接电机的轴,然后用控制器对编码器进行计数,最后通过特定的方法计算出电机的转速。 常用的编码器测速方法有三种:M法、T法和MT法。 M法:又叫做频率测量法。这种方法是在一个固定的计时周期内,统计这段时间的编码器脉冲数,从而计算速度值。设编码器单圈总脉冲数为C,在时间T0内,统计到的编码器脉冲数为M0,则转速n的计算公式为:n = M0/(C*T0)。 M法是通过测量固定时间内的脉冲数来求出速度的。 假设编码器转过一圈需要100个脉冲(C=100),在100毫秒内测得产生了20个脉冲,则说明在1秒内将产生200个脉冲,对应的圈数就是200/100=2圈,也就
[测试测量]
基于FPGA的数字音频广播信道编码器的实现
    摘要: 介绍了数字音频广播(DAB)信道编码的原理和关键技术,并应用单片FLEX10K100系列FPGA实现DAB信道编码器。     关键词: 数字音频广播(DAB) 信道编码 FPGA 1 数字音频广播(DAB)发射系统及信道编码器 DAB是继调幅和调频广播之后的第三代广播体系。与模拟广播相比它不仅可以提供高质量的声音信号(CD音质),也可以提供数据、图像等多种其他附加服务。它可以保护在高速移动接收时的声音质量,具有很强的抗干扰能力,在同要瓣频带宽度和环境下,DAB可以提供高质量的多种多样的广播节目。    
[网络通信]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved