首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
模拟电路
» 视频编码变换量化核的硬件设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
视频编码变换量化核的硬件设计
发短消息
加为好友
porereading
当前离线
UID
863084
帖子
7183
精华
0
积分
3592
阅读权限
90
在线时间
209 小时
注册时间
2011-11-30
最后登录
2019-8-28
论坛元老
UID
863084
1
#
打印
字体大小:
t
T
porereading
发表于 2012-5-22 21:08
|
只看该作者
视频编码变换量化核的硬件设计
视频
,
文章
视频编码变换量化核的硬件设计 更新于2012-04-18 03:59:09 文章出处:互联网
视频编码
变换量化核
硬件
随着数字化视频技术在视频电话、视频会议、DVD以及高清晰度数字电视等方面的应用,视频压缩标准也随之不断发展。ITU-T制定的H.26x系列和ISO/IEC制定的MPEG-x系列,是视频领域中两大独立的主流视频压缩标准。2003年,这些组织又联合推出新的视频压缩标准H.264/MPEG-4 -10AVC,简称H.264/AVC。H.264/AVC采用一系列新的压缩方法[1],可获得更好的压缩效果,其压缩率达到以往标准的1.5~2倍[2]。因此,基于这一标准的相关研究和硬件实现具有重要的意义。视频压缩硬件实现的关键是编解码模块,其中尤以编码模块最为核心。本文主要研究编码模块中的4×4整数变换量化核,提出硬件实现的优化方法,并采用Verilog HDL语言进行硬件设计和综合。
1 4×4整数变换量化核的原理
在以前的视频编码标准如MPEG-2和H.263中,对于预测的残差数据都是采用8×8离散余弦变换(DCT)[1]作为变换的基本运算操作;而在H.264/AVC编码标准中,则采用类似DCT变换形式的基于4×4 像素块的整数变换。由于变换块的尺寸缩小,运动物体的划分更精确,而且运动物体边缘处的衔接误差大为减小。
对于整数变换方式,4×4像素块的变换公式[3]为:
式中,(CXCT)是二维变换核,Ef是缩放因子矩阵,符号表示CXCT矩阵里的每个元素和Ef矩阵中相同位置的元素相乘,a=1/2,b=
。为了更有效地压缩数据,需要利用量化的方法对变换后的数据进行有损压缩。同时,由于整数变换需要利用矩阵行向量的归一化因子进行系数缩放处理,为降低变换的运算量,在H.264/AVC标准中将变换的系数缩放并进行量化运算处理,避免了复杂的实数运算和除法运算,更有利于硬件的实现。
对于量化方式,正向量化运算可由如下公式[3]实现:
式中, Zij为量化后的系数;Wij为变换矩阵W=CXCT中的元素;MF=
·2q,PF称为缩放系数,根据元素在阵列块中的不同位置,其取值如表1所示,Qstep为量化步长,由0至51共52个量化参数QP决定,QP增加1, Qstep增加12.5%; q=15+QP/6,QP/6取整数;对于帧内宏块f取2q/3,帧间宏块f取2q/6。需要指出的是,MF的值可根据PF和QP的取值经简单计算得到,并可形成表格,通过查表方式便可实现硬件运算,并有效地提高了运算速度。
2 4×4整数变换量化核的优化设计
为进一步提高硬件运算速度,减少硬件开销,设计中采用了如下优化方法:
(1)在求取变换阵W=CXCT时,根据变换的对称性,将X的列变换(矩阵左乘)与行变换(矩阵右乘)分开实现,把二维变换分割为两次一维变换,并采用快速堞形算法[4]来实现。一维变换的快速算法实现如图1所示,其中的列变换可用如下算式表示:
对于每列变换,需要进行8次加法和2次移位运算,而行变换则可根据矩阵转置的性质ABT=(BAT)T,将经过列变换后的结果矩阵先进行转置,再采用相同的变换形式运算。这样对4×4点数据做一次变换,只需通过8×8次加法和2×8次移位运算便可完成。
(2)针对不同运算的位宽需要,设计专用的加法器和乘法器。本文对整数变换中的加法器采用三级流水线加法器,实现9位加法,每级流水线完成三位超前进位加法,将逻辑延迟限制在三位加法器之内。图2给出了9位加法器的流水线实现框图。选用EPF10K10LC84-3作为适配器件,经过Synplify Pro 7.3综合,结果表明这种加法器具有较优的最高工作频率和硬件开销。如表2所示, 常规加法器的最高工作频率为37.0MHz,消耗资源却为28LC,而经过优化的三级流水线加法器在消耗资源增加不多的情况下,其最高工作频率相比常规加法器提高了257%,达到94.5MHz。
在量化过程中,对于给定的量化参数QP, MF只有三种取值,因此乘法实现可以采用无符号数乘法运算,乘法结构则采用16×14位加法树乘法器。这样,在提高运算速度的同时节约了芯片面积。
(3)对于f的计算,在不影响运算精度的情况下本文采用近似处理。为了避免除法运算,将f的计算式变形,即:
f=2q/3=(215/3)×2m≈[(215+1)/3]×2m≈10923×2m
式中, m取值为0~8,具体由相应的QP给出。由于f在完成加法运算后其结果还需左移q位,所以计算精度不会受影响。这样,对f的计算只需进行移位操作。
3 4×4整数变换量化核硬件实现
基于上述算法原理及其设计,本文首先对4×4整数变换量化模块进行C语言编程,验证了该模块所采用算法的正确性。然后采用Verilog HDL语言描述4×4整数变换和量化核(帧内模式)的硬件功能,并通过仿真软件Modelsim SE 5.7进行功能仿真,验证了该模块输出结果与设计要求相一致。最后采用Synplify Pro7.3综合工具。
4×4整数变换量化核的二大子模块的综合结果如表3所示,表中同时给出经本文优化设计前后的综合结果作为对比。可见,经本文采用的三种优化设计处理后,在硬件开销改变不大情况下,变换子模块的最高工作频率达到59.4MHz,是未优化前的1.73倍,而量化子模块的最高工作频率达到55.8MHz,是未优化前的1.82倍。4×4整数变换量化核的最高工作频率取各子模块的最低频率,这样其优化后的最高工作频率是55.8MHz,相比优化前的30.7MHz提高了82%。
本文对H.264/AVC协议中的4×4整数变换量化核从算法原理到硬件实现进行了分析和设计。采用自顶向下的Verilog HDL设计流程,实现了4×4整数变换量化核硬件功能的优化设计,模块的最高工作频率提高了82%,为H.264/AVC视频编码标准的硬件实现提供了参考。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议