首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 一种基于FPGA高性能H.264变换量化结构设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
一种基于FPGA高性能H.264变换量化结构设计
发短消息
加为好友
yuchengze
当前离线
UID
1062083
帖子
5837
精华
0
积分
2921
阅读权限
70
在线时间
222 小时
注册时间
2016-6-30
最后登录
2018-9-9
金牌会员
UID
1062083
性别
男
1
#
打印
字体大小:
t
T
yuchengze
发表于 2016-8-23 11:55
|
只看该作者
一种基于FPGA高性能H.264变换量化结构设计
分辨率
,
吞吐量
,
硬件
,
资源
0 引 言
H.264高效的编码效率是以其高复杂性为代价的,因此制约了它在高分辨率、实时处理等方面的应用。而FPGA器件采用流水控制策略和并行处理方式,可为H.264复杂的编码模块提供硬件加速引擎。变换量化模块在H.264编码算法中被频繁调用。因此研究在尽量合理控制其资源消耗的前提下,提高变换量化模块的工作频率及处理数据的吞吐量,并完成变换量化一系列完整功能的变换量化结构具有重要的实际意义,也成为当前研究的首要问题。H.264.变换是基于DCT的,其全部采用整数DCT变换,这样就避免了正变换和反变换的失配问题,既不丢失解码精度,也适合于FPGA硬件实现。
1 算法原理及分析
1.1 变换算法及分析
H.264变换是整数DCT变换,该算法实现了编码端和解码端反变换之间的零匹配,从而减少了解码精度的丢失。通常H.264变换编码以4×4块为单位,核心变换矩阵如下:
当核心变换矩阵中a=1时,为DCT正向变换矩阵Cf,;若将DCT正向变换矩阵Cf,中所有的2变为1,并保持所有符号不变,则变成Hadamard变换矩阵Hi;若将以上矩阵中所有的2变为1,并使a=1/2,保持所有符号不变,则为DCT反向变换矩阵CTi。
1.2 量化算法及分析
H.264的分级标量量化器支持多达52个量化步长Qstep,用量化参数QP进行索引。范围广阔的量化步长能够灵活准确地控制比特速率和质量之间的平衡。
在整数算法中,量化过程可以用以下运算来实现:
式中:W为残差系数;>>表示二进制右移;帧内块和帧间块f分别为2qbits/3,2qbits/6;MF为乘法因子,其值可根据W(i,j)在矩阵中不同的位置和量化参数QP的不同,查乘法因子表得到。
系数z的反量化方式如下:
式中:尺度因子V可根据Z(i,j)在矩阵中不同的位置和量化参数QP的不同,查尺度因子表得到。
2 FPGA硬件设计及实现
2.1 变换量化硬件整体结构
在H.264编码器中经过预测后得到的残差数据经过变换T、量化Q后的数据分为两路:一路经过重排序Recoder后用于熵编码;另一路为重建通路,经过反量化Q-1、反变换T-1后与预测值P相加得到重建值,用于后面的宏块的预测编码。
H.264编码标准中,在帧内预测方式下,首先对16×16宏块(亮度分量)的16个4×4块进行DCT变换,然后提取出DC系数组成一个4×4 DC块;对于这个4×4 Dc块要先进行Hadamard变换,然后量化。在重建通路中需要注意:对于4×4 DC块,要先进行反Hadamard变换,再进行反量化,目的是使反变换的动态范围最大;再依据这个4×4 DC块中16个数值对反量化后的16×16宏块进行反DCT变换。对于色度分量的DC系数也是一样需要经过进一步变换。H.264变换量化整体结构主要分为4大模块,其框图如图1所示。
结构框图中DC_reg是一组用于存储所有的DC系数值的寄存器,使用两个同步FIFO存储反量化后的AC系数,等待DC系数反变换反量化完毕以后,再一起送人最后的反DCT变换模块中进行处理。两个同步FIFO在时钟控制下先后进行写操作,其中一个存储4×4块反量化输出的其中两行数据,另一个在下一时钟存储这个4×4块反量化输出的另两行数据。读取时,则同时对两个FIFO进行读操作,即一个时钟内这个4×4块的反量化后的全部16个数值同时出现在反变换模块的输入端
收藏
分享
评分
回复
引用
订阅
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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议