引言
ITU-T(国际电信联盟)和MPEG(运动图像专家组)联合推出了新一代视频压缩标准H.264/MPEG-4-10 AVC。它在DCT变换、熵编码、去块滤波等方面采用了一系列新技术,在相同的重建图像质量下比H.263和MPEG-4节约了50%的码率,在高码率应用中表现更加优越。同时,它具有良好的网络亲和性,对网络传输具有更好的支持。
但是,在获得优越性能的同时,H.264编码和解码的计算量和复杂度均有大幅度提升。H.264算法在编码端比H.263复杂3倍以上,在解码端复杂2倍左右。对于较高分辨率的视频源,单纯依靠软件方式实现H.264视频压缩算法,往往不能胜任,尤其难以进行实时解码。因此,采用硬件方式实现H.264视频压缩算法具有重要的意义。
本文的研究目标是设计H.264标准中的Exp-Golomb解码器,在对其算法进行深入探讨的基础上,提出了一种高效且低成本的ASIC实现方案。
Exp-Golomb编码原理及解码算法分析
在H.264基本规范中,除了残差变换系数采用CAVLC编码方式外,其它句法元素均使用Exp-Golomb编码。Exp-Golomb编码是一种有规则的变长编码方式,在各类视频编码标准中被广泛应用。Exp-Golomb编码基于符号的概率统计进行编码,用短码字来表示出现概率高的信息,用长码字来表示出现概率低的信息,码长与被编码数成指数对应关系,从而使总体平均码字最短。与定长编码方式相比,节省了大量存储空间。
在H.264中采用的是0阶Exp-Golomb编码,编码规则如图1所示。
Exp-Golomb码字的逻辑结构为:[M zeros][1][INFO]。其中M个“0”和中间的“1”称为前缀,INFO是M位的信息值,因此,每个Exp-Golomb码字的长度都为2M+1。每个索引字codenum经过编码都可以对应一个如上结构的码字,它们之间的关系是:
codenum=2M+INFO-1 (1)
由式1可知,进行Exp-Golomb解码可先探测出码字前连续“0”的个数,再取出后缀,经该公式计算即可得到codenum值。在H.264中存在四种Exp-Golomb码:无符号型ue(v)、有符号型se(v)、映射型me(v)和截断型te(v)。因此,对于解出的codenum值,根据句法元素类型的不同有四种映射方式,如表2所示。根据相应描述完成映射后,输出syntax即为解码值。
Exp-Golomb解码器
硬件结构设计
基于以上解码算法设计的Exp-Golomb解码器硬件结构如图1所示。整个系统主要由以下模块组成:输入码流缓冲移位模块、码长检测模块、codenum生成模块以及句法元素映射模块。系统上电复位后,首先由码流缓冲移位模块提供待解码字,然后由码长检测模块中的首一检测器探测出连续“0”的个数,即时计算得出当前码长送至累加器。同时,首一检测的结果和待解码字一起送至codenum计算模块,经移位、相减得到codenum值。最后将codenum送至四个映射单元处理,最终解码句法元素由选择器输出至寄存器。整个解码流程用一个时钟周期完成。下文将详细叙述各功能子模块的硬件结构。 [page]
输入码流缓冲移位模块
输入码流缓冲移位模块是实现H.264实时解码的关键模块。由于在每个变长解码流程中,码长不可能事先确定,所以在解出码值的同时必须定位下一个码字。这就要求该模块具有快速响应和并行输出的特点。由于H.264中定义Exp-Golomb码最大码长不超过32,设计中采用两个32位寄存器,一个32位桶形移位器及一个累加器的组合来实现该功能,如图1左端所示。其中,寄存器R0负责从外部模块读取数据,并和寄存器R1一起作为桶形移位器的输入;在每个解码周期,桶形移位器移出已解码流的同时还要装载新的待解码流;而累加器则计数已处理码长,传送桶形移位器移位长度,判断并控制R0的读取和R1的更新。这样就为后续处理单元提供了连续不间断的码流。
码长检测模块
该模块的主要组成部件是一个16位的首一检测器,其功能是检测出输入序列中第一个“1”之前连续“0”的个数。码长(2M+1)的获取只需将首一检测的结果与一个“1”位进行位拼接即可实现,无需额外电路。另外,考虑到响应速度和路径延时,首一检测器的设计采用分组并行探测方式,其硬件结构如图2所示。输入的16位码流分成4组,每组4位均通过一个4输入与门,得到4位输出信号后送至优先编码器1,从而判断出首“1”所在区间。同时与门的四个输出还作为选择器MUX的控制信号,片选出存在首“1”的4位数据,并将其送至优先编码器2,判断出首“1”的具体位置。最后将两个编码器的输出进行位拼接即可得到首“1”前连续“0”的个数M。
codenum计算模块和句法元素映射模块
codenum计算模块用于实现公式1的功能,设计中采用一个16位的桶形移位器结合一个16位减法器实现。桶形移位器根据首一检测结果,重新定位码流指针,正确输出码字中[1][INFO]部分,最后将[1][INFO]减去1即可得到codenum值。
关于句法元素映射模块,由于H.264中定义了四种Exp-Golomb码,如前文表2所描述,存在四种不同的映射方式,本设计中采用四块组合映射逻辑加一个多选器实现,具体结构如图1右端所示。其中ue直接等于codenum,se与te的映射则分别采用包含二选一电路的简单组合逻辑实现,而me的实现较复杂,需查找H.264标准中定义的运动矢量、量化参数的映射表格,设计中采用ROM结构实现查表。
综合、仿真结果与性能分析
在上述硬件架构下,使用Verilog HDL进行Exp-Golomb解码器电路设计,并在Xilinx公司的ISE 8.2开发环境下进行了功能验证,选择Virtex 2系列的XC2V250器件。使用Synplify 7. 7软件进行逻辑优化与综合,系统时钟频率可达104MHz。ISE完成布局布线后,通过ModelSim 5.8调用JM86生成的测试向量进行后仿真,最后与软件的计算结果相比较,验证了设计的正确性。
使用Synopsys公司的Design Compiler工具在0.18mm的SIMC CMOS工艺条件下,对RTL代码进行综合优化,时钟频率最高可以达到200MHz。通过设置不同的面积、时序及功耗约束条件,缩短关键路径的延时,综合出等效门数2276门、时钟频率为162MHz的最优设计。在此工作频率下,该Exp-Golomb硬件解码器电路解出一个句法元素只需耗用单个时钟周期,因此本设计可满足H.264高清晰度视频实时解码的要求。
结语
本文在分析H.264标准中Exp-Golomb解码算法的基础上,提出了一种高效、省面积的Exp-Golomb解码器架构。在Xilinx公司的ISE 8.2开发环境下使用Virtex 2平台对设计进行了验证,使用Synopsys公司的DC工具在SMIC 0.18mm CMOS工艺条件下,对设计进行了面积和时间的优化,在162MHz时钟频率下工作时,电路等效门数为2276门,达到了预期目标,为下一步工作打下了良好的基础。■
参考文献:
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).JVTG050,March 2003
2. T.Wiegand, G. J. Sullivan, G.Bjontegaard, and A.Luthra. Overview of the H.264/AVC Video Coding Standard[J]. IEEE Trans.Circuits and Syst.Video Technol., vol.13, no.7 pp.560-576, July 2003
关键字:H.264 Exp-Golomb 解码器 ASIC
引用地址:基于H.264的Exp-Golomb解码器ASIC设计
ITU-T(国际电信联盟)和MPEG(运动图像专家组)联合推出了新一代视频压缩标准H.264/MPEG-4-10 AVC。它在DCT变换、熵编码、去块滤波等方面采用了一系列新技术,在相同的重建图像质量下比H.263和MPEG-4节约了50%的码率,在高码率应用中表现更加优越。同时,它具有良好的网络亲和性,对网络传输具有更好的支持。
但是,在获得优越性能的同时,H.264编码和解码的计算量和复杂度均有大幅度提升。H.264算法在编码端比H.263复杂3倍以上,在解码端复杂2倍左右。对于较高分辨率的视频源,单纯依靠软件方式实现H.264视频压缩算法,往往不能胜任,尤其难以进行实时解码。因此,采用硬件方式实现H.264视频压缩算法具有重要的意义。
本文的研究目标是设计H.264标准中的Exp-Golomb解码器,在对其算法进行深入探讨的基础上,提出了一种高效且低成本的ASIC实现方案。
Exp-Golomb编码原理及解码算法分析
在H.264基本规范中,除了残差变换系数采用CAVLC编码方式外,其它句法元素均使用Exp-Golomb编码。Exp-Golomb编码是一种有规则的变长编码方式,在各类视频编码标准中被广泛应用。Exp-Golomb编码基于符号的概率统计进行编码,用短码字来表示出现概率高的信息,用长码字来表示出现概率低的信息,码长与被编码数成指数对应关系,从而使总体平均码字最短。与定长编码方式相比,节省了大量存储空间。
在H.264中采用的是0阶Exp-Golomb编码,编码规则如图1所示。
Exp-Golomb码字的逻辑结构为:[M zeros][1][INFO]。其中M个“0”和中间的“1”称为前缀,INFO是M位的信息值,因此,每个Exp-Golomb码字的长度都为2M+1。每个索引字codenum经过编码都可以对应一个如上结构的码字,它们之间的关系是:
codenum=2M+INFO-1 (1)
由式1可知,进行Exp-Golomb解码可先探测出码字前连续“0”的个数,再取出后缀,经该公式计算即可得到codenum值。在H.264中存在四种Exp-Golomb码:无符号型ue(v)、有符号型se(v)、映射型me(v)和截断型te(v)。因此,对于解出的codenum值,根据句法元素类型的不同有四种映射方式,如表2所示。根据相应描述完成映射后,输出syntax即为解码值。
Exp-Golomb解码器
硬件结构设计
基于以上解码算法设计的Exp-Golomb解码器硬件结构如图1所示。整个系统主要由以下模块组成:输入码流缓冲移位模块、码长检测模块、codenum生成模块以及句法元素映射模块。系统上电复位后,首先由码流缓冲移位模块提供待解码字,然后由码长检测模块中的首一检测器探测出连续“0”的个数,即时计算得出当前码长送至累加器。同时,首一检测的结果和待解码字一起送至codenum计算模块,经移位、相减得到codenum值。最后将codenum送至四个映射单元处理,最终解码句法元素由选择器输出至寄存器。整个解码流程用一个时钟周期完成。下文将详细叙述各功能子模块的硬件结构。 [page]
输入码流缓冲移位模块
输入码流缓冲移位模块是实现H.264实时解码的关键模块。由于在每个变长解码流程中,码长不可能事先确定,所以在解出码值的同时必须定位下一个码字。这就要求该模块具有快速响应和并行输出的特点。由于H.264中定义Exp-Golomb码最大码长不超过32,设计中采用两个32位寄存器,一个32位桶形移位器及一个累加器的组合来实现该功能,如图1左端所示。其中,寄存器R0负责从外部模块读取数据,并和寄存器R1一起作为桶形移位器的输入;在每个解码周期,桶形移位器移出已解码流的同时还要装载新的待解码流;而累加器则计数已处理码长,传送桶形移位器移位长度,判断并控制R0的读取和R1的更新。这样就为后续处理单元提供了连续不间断的码流。
码长检测模块
该模块的主要组成部件是一个16位的首一检测器,其功能是检测出输入序列中第一个“1”之前连续“0”的个数。码长(2M+1)的获取只需将首一检测的结果与一个“1”位进行位拼接即可实现,无需额外电路。另外,考虑到响应速度和路径延时,首一检测器的设计采用分组并行探测方式,其硬件结构如图2所示。输入的16位码流分成4组,每组4位均通过一个4输入与门,得到4位输出信号后送至优先编码器1,从而判断出首“1”所在区间。同时与门的四个输出还作为选择器MUX的控制信号,片选出存在首“1”的4位数据,并将其送至优先编码器2,判断出首“1”的具体位置。最后将两个编码器的输出进行位拼接即可得到首“1”前连续“0”的个数M。
codenum计算模块和句法元素映射模块
codenum计算模块用于实现公式1的功能,设计中采用一个16位的桶形移位器结合一个16位减法器实现。桶形移位器根据首一检测结果,重新定位码流指针,正确输出码字中[1][INFO]部分,最后将[1][INFO]减去1即可得到codenum值。
关于句法元素映射模块,由于H.264中定义了四种Exp-Golomb码,如前文表2所描述,存在四种不同的映射方式,本设计中采用四块组合映射逻辑加一个多选器实现,具体结构如图1右端所示。其中ue直接等于codenum,se与te的映射则分别采用包含二选一电路的简单组合逻辑实现,而me的实现较复杂,需查找H.264标准中定义的运动矢量、量化参数的映射表格,设计中采用ROM结构实现查表。
综合、仿真结果与性能分析
在上述硬件架构下,使用Verilog HDL进行Exp-Golomb解码器电路设计,并在Xilinx公司的ISE 8.2开发环境下进行了功能验证,选择Virtex 2系列的XC2V250器件。使用Synplify 7. 7软件进行逻辑优化与综合,系统时钟频率可达104MHz。ISE完成布局布线后,通过ModelSim 5.8调用JM86生成的测试向量进行后仿真,最后与软件的计算结果相比较,验证了设计的正确性。
使用Synopsys公司的Design Compiler工具在0.18mm的SIMC CMOS工艺条件下,对RTL代码进行综合优化,时钟频率最高可以达到200MHz。通过设置不同的面积、时序及功耗约束条件,缩短关键路径的延时,综合出等效门数2276门、时钟频率为162MHz的最优设计。在此工作频率下,该Exp-Golomb硬件解码器电路解出一个句法元素只需耗用单个时钟周期,因此本设计可满足H.264高清晰度视频实时解码的要求。
结语
本文在分析H.264标准中Exp-Golomb解码算法的基础上,提出了一种高效、省面积的Exp-Golomb解码器架构。在Xilinx公司的ISE 8.2开发环境下使用Virtex 2平台对设计进行了验证,使用Synopsys公司的DC工具在SMIC 0.18mm CMOS工艺条件下,对设计进行了面积和时间的优化,在162MHz时钟频率下工作时,电路等效门数为2276门,达到了预期目标,为下一步工作打下了良好的基础。■
参考文献:
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).JVTG050,March 2003
2. T.Wiegand, G. J. Sullivan, G.Bjontegaard, and A.Luthra. Overview of the H.264/AVC Video Coding Standard[J]. IEEE Trans.Circuits and Syst.Video Technol., vol.13, no.7 pp.560-576, July 2003
上一篇:手机电视技术分析及实现研究
下一篇:基于DSP和CPLD的智能相机系统设计与研制
推荐阅读最新更新时间:2024-05-02 22:35
浅谈降低100G系统功耗的六大关键技术
1. 能耗是100G规模商用的核心问题 根据国际能源机构(IEA)2008年的统计,从1973年到2006年,全球能源消耗上升73%,C02排放增长了79%,能源的消耗导致了温室效应和一系列的自然灾害。为了企业的可持续发展,主流运营商、设备商先后启动节能减排计划,应对能耗的挑战。 如火如荼的100G已具备商用条件,然而100G要实现大规模的部署还需要解决一些挑战。这主要是因为100G技术实现机理复杂,光接收机需要使用相干接收和DSP处理,关键芯片没有ASIC化,导致整个100G系统的功耗较高。通过下图可以看出,当100G单板功耗值达到280W左右时,才能和10G做到和能效比相当。因此,如何降低100G系统的功耗,提供绿
[电源管理]
H.264在ADSP-BF561上的实现与优化
目前,音视频技术日新月异,其中,视频实时编码传输极具代表性。在视频压缩算法领域,新一代视频压缩标准H.264以其优异的压缩性能和图像质量使视频实时编码传输技术的实现成为可能。但该标准的计算复杂度高,用一般的图像处理芯片难以达到实时编解码的要求,它需要快速、稳定的处理器作为硬件平台。ADSP-BF561是ADI公司推出的高性能多媒体处理器。其主要特点是具有两个ADSP-BF533处理器核心(以下简称核心A和核心B),最高时钟频率达到600MHz,其内部采用哈佛总线结构,存储模型层次化。其典型应用模式是A核运行嵌入式操作系统,B核运行多媒体处理算法,如H.264。本文提出了一套采用ADSP-BF561芯片实现H.264视频压缩算
[嵌入式]
用多相DC-DC转换器驱动高性能ASIC和微处理器
多相DC-DC转换器引出 当今的高性能ASIC和微处理器己广泛应用工控、通信航天等各个领域。但由于它的功率消耗较高,有时高达150W甚至超过,对于1V至1.5V的电源电压,这些器件所需的电流很容易超出100A。从而引起设备体积与重量大以及应用上一系列麻烦。为此,如何解决这些器件供电方案,是设计人员面临的新问题。 而采用多相DC-DC转换器供电不乏为是一种新型高效供电技术,为什么呢?这是因为可以应用可裁减电源控制器芯片,来设计出多相DC-DC转换器,而控制器芯片上基于PLL(锁相环电路)的时钟发生器使多个器件(高性能ASIC和微处理器)能够同步工作,其裁减架构又可允许几个控制器并联且同步工作。据此就对多相DC-D
[电源管理]
Intersil Techwell在2011中国国际公共安全博览会上推出新款4通道960H视频解码器
海康威视已将新型960H视频解码器应用在其下一代DVR设计中
中国 深圳 --- 2011年11月1日— 全球高性能模拟混合信号半导体设计和制造领导厂商Intersil公司(纳斯达克全球交易代码:ISIL)宣布,Intersil Techwell推出4通道960H视频解码器---TW2960。
TW2960是支持新960H技术的增强型下一代四通道视频解码器。这项正在申请专利的技术可使模拟视频清晰度最高达到960行,这与760行的传统视频清晰度相比有非常显著的进步。利用这项“模拟高清”解决方案,下一代DVR(数字录像机)平台将可提供更高分辨率的视频,而无需改变现有的模拟CCTV基础设施。
海康威视将TW2960应用到其新
[安防电子]
网通力挺AVS,断言电信也将“投诚”?
在中国第二大有线电信运营商中国网通决定其IPTV标准采用国产音视频标准AVS之后,该标准的支持者认为中国最大的电信运营商也将转投AVS。 AVS标准工作组秘书长黄铁军表示,成本将是其中的主要原因。“运营商考虑的是未来10年中的系统成本,因此我们不能只考虑今天的成本。”黄铁军表示,他承认目前采用AVS成本较高。“AVS的系统成本最终将与H.264相同,或者略低于后者。” 中国网通本月稍早的时候表示,将采用AVS标准,尽管它的多数IPTV试验用的都是H.264。网通表示,将倾向于把免费提供系统转变的设备制造商作为其长期伙伴。中国最大的电信公司——中国电信,没有公开暗示将采用AVS。实际上它的态度正好相反。中国电信的官员公开暗示H.
[焦点新闻]
德州仪器针对3GHz DSP系统推出可实现快速瞬态响应的DC/DC电源模块
PTH08T240F 使输出电容降低 8 倍,同时显著节约负载点系统设计的成本与板级空间 2006 年 12 月 4 日,北京讯 日前,德州仪器 (TI) 宣布推出一款 10A 非隔离式 DC/DC 电源模块,该产品具有快速的瞬态响应能力以及优异的高性能特性。该款插入式模块,能够满足 TI TMS320TCI6487 等最新型 3 GHz DSP 对内核电压容差不超过 3% 的严格要求,且其外部输出电容也仅为 3,000 μF。此外,该器件还可支持采用高性能DSP、微处理器、ASIC以及 FPGA 的负载点系统。更多详情,敬请访问: www.ti.com/sc06227 。 新型的 PTH08T2
[新品]
ASIC设计厂智原持续强化与三星合作
集微网消息,ASIC设计厂智原去年与三星开始了先进制程项目的合作,当时智原已有高端制程的订单,对于双方合作综效,业内人士认为,原本不看好第一年有高业绩贡献,但经过去年热身,业内人士预期,智原和三星的合作,今年将有更多的合作成果展现,可以进一步强化智原在先进制程项目的实力。 业内人士表示,智原去年与三星晶圆代工合作,已成功跨入10纳米先进制程市场,证明只要在代工端有三星的帮忙,智原在设计能力上有望在先进制程方面和其他ASIC设计厂竞争,预计今年智原可以进入7纳米市场,对智原ASIC事业有很大帮助益,带来更多的客户。 此外,智原对今年展望也持正面看法,公司看好与三星晶圆代工的合作之下,包括5G、人工智能、物联网等ASIC都会出现明显成
[手机便携]
ARM与Northwest Logic共同推出完整PCI-SIG认证之PCI Express ASIC解决方案
结合ARM Velocity PHY与Northwest Logic PCI Express IP核心 为PCI Express SoC开发人员提供一款完整的硬件解决方案 ARM与Northwest Logic于日前宣布共同推出一款兼容于PCI-SIG之高效能解决方案,能降低成本并加快PCI Express SoC产品的开发速度。此款解决方案适用于企业级、桌上型、行动与通讯装置及嵌入式应用等产品,内含支持PCI Express接口之ARM Velocity 2.5 Gbps序列链路(VSL210)实体层组件(physical layer, PHY),以及包括一、四、八埠(x1/x4/x8)PCI Express I
[新品]