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

2010-09-18 17:06:59来源: 电子技术应用2010年第7期

  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编码是变长的,使得每个编码子模块的输出码流长度不确定,各编码子模块的码字寄存器宽度不同。为了保证各编码子模块生成的码字能够紧凑无缝链接和有效存储,在各编码子模块的码字输出中嵌入输出标志信号和码长信息,当输出标志信号为高电平时码字与码长有效,低电平时则无效,经码流整合模块整合后输出。

[1] [2] [3] [4]

关键字:H.264  AVC  CAVLC  编码器

编辑:小甘 引用地址:http://www.eeworld.com.cn/FPGA/2010/0918/article_1349.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
H.264
AVC
CAVLC
编码器

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved