tag 标签: h.264,dct

相关博文
  • 热度 8
    2013-3-16 15:38
    1067 次阅读|
    0 个评论
    接上文 其中 Qij , Xij , Cij 和 Dij 分别是 4*4 数组 Q , X , C , D 中元素。 Cij 和 Dij 可以表示如下:   其中, Wij 是输入矩阵 W 中的元素。因而, 4*4 反向变换的 SFG 可以表示为图 2 。 A. 给出的可重构 2-D 结构 SFG 可以合并在一个可重构 2-D 结构中,此结构可以支持所有的三个变换。所有的结构如图 3 表示。     它包含 32 个处理器单元( PE )和 4 个可重构内部连接器。有 3 种 Pes 结构,功能如图 4 表示。     PE1 功能是不变的,而 PE2 和 PE3 的功能是可重构的。 PE1 功能如图 4 — A 中所示。对于 4*4 前向 DCT 而言, PE2 和 PE3 可以配置成按图 4 **能 C 和功能 A 工作。对于反向 DCT , PE2 和 PE3 可以配置成按图 4 **能 A 和功能 D 工作。对于 Hadamard 变换, PE2 和 PE3 可以配置成按图 4 功能 B 和功能 A 工作。内部连接器 P_IN , P_C1 , P_Tran 和 P_C2 可以独立的配置为如下功能: M1X (或 M1W ), M2A (或 M3C ), M1PT (或 M3QT )和 M2B (或 M3D )。 所有可重构内部接口可以用数据选择器实现。移位器可以用硬线实现,不会引入延时和面积。 4*4 数据块可以用并行方式载入。 4*4 变换的结果可以在一个周期内输出。 四:实现和结果对比 所给出的多变换可重构结构采用 Verilog_HDL 描述。仿真采用 Cadence 下 NC_Verilog 和 Synopsys DC ,所用工艺为 TSMC 0.18um CMOS 标准单元库。设计处理速度为 16 pixels/cycle 。即一个周期内可以计算出 4*4 变换。电路可以在 200MHz 工作,且处理速度为 3.2G pixels 每秒。在频率为 100Mhz ,可重构结构可以实现以 60fps 速度实时处理 4096*2048 。 图 1 给出了典型设计和本设计的主要特点,包含 CMOS 技术,硬件消耗(以门级为计量单位),最大工作频率,数据处理速率( DPR , pixels/cycle ),吞吐量( TP , pixels/second )和每单位面积的数据吞吐率( DTUA )。 DTUA 通常是评估硬件效率的,数据吞吐率比上硬件消耗。 DTUA 越高,结构效率越高。根据表 1 中 DTUA 的情况,本设计的效率较其它设计更好。 五:总结 本文提出了一种针对 H.264 中 4*4 变换的高性能可重构 2-DCT 变换结构。给出的直接 2-D 变换 SFG 没有使用转置存储器。所介绍的结构可以提高数据的处理速率为 16pixels/cycle 。使用 TSMC 0.18um 标准单元库,多变换的电路的最优频率为 200mhz 实现 3.2Gpixels/s ,面积消耗未 11038 个 gates 。就 DTUA 而言,相比已经存在的结构,本设计具有更好的性能。
  • 热度 15
    2013-3-16 15:11
    1327 次阅读|
    4 个评论
    这是我翻译的一篇文章,原文《 A high-performance reconfigurable 2-D transform architecture for H.264 》,有兴趣的可以共同探讨一下 ~~~,限于字数要求,分开发布~~~   H.264 高性能可重构 2-D 变换结构 摘要: 在 MPEG-4 AVC/H.264 标准中采用了 4*4 整数变换矩阵。本文中采用了两种新型的 4*4 前向和反向变换信号结构用于 H.264 。本文提出了基于新 SFGs 的高性能可重构的 2-D 结构,此结构没有使用转置存储器。本文的设计采用的是 0.18um CMOS 工艺。本文的设计相对于已经存在的设计在性能上要更优越。在 100Mhz 的频率下,本结构能够实现在 60fps 下 4096*2048 进行实时处理。 一:简介 MPEG-4 AVC (高级视频编码) /H.264 标准相比 MPEG-2 , H.263 和 MPEG-4 分别能够减少比特率 64% , 49% 和 39% 。转换模型是 H.264 中的主要部分。当进行图像数据往频域数据转换时, H.264 变换采用的是无乘法的整数算法。整数变换能够消除编码器与译码器之间数据的不匹配,而且计算复杂度较之前要小很多。然而硬件结构实现却仍需要精细的模型。 目前,一些变换 VLSI 结构已经存在。文献参考 和 给出了一种包含 2 个 1-D 变换结构, 16 个 registers 作为转置存储器,此文献中多个变换处理器,对于 4*4 结构,能够在 80MHZ 情况下处理 320M pixels/sec ,其硬件消耗为 6538gates 。设计 给出了一种直接 2-D 变换结构,此结构不包含转置存储器,能够在 200Mhz 下实现 1.6G pixels/s 。文献 给出了一种只包含一个 1-D 变换结构, 16 个 registers 作为转置存储器,其硬件消耗为 3524 gates ,能够支持单变换译码,实现在 120Mhz 情况下完成 M pixels/sec 。文献 给出了一种设计,在 FPGA 上处理 1720 M pixels/sec ,硬件消耗为 77280 gates 。文献 包含了 2 个 1-D 变换核,输入可以通过增加或减少一个 4*4 block 的 6 个 pixels 来获得。设计 给出了一种包含对 H.264 量化的变换结构。 本文将重点放在对 4*4 变换结构的算法和结构进行优化,同时实现高性能的目的。一种更有效的可重构包含之前提到的 SFG ,能够在 H.264 支持多变换。本文余下部分的组织如下。第三部分描述新的 SFGs 和先前提到的结构。第四部分给出结构实现和对比。最后在第五部分将对本文进行总结。 二: H.264 中的 4*4 变换结构 在 H.264 中包含三种变换: 4*4 前向 / 反向整数 DCT 变换 , 4*4 前向 / 反向 Hadamard 变换, 2*2Hadamard 变换。本文将着重介绍 4*4 变换的实现,因为 2*2 变换包含在 4*4Hadamard 变换中。 4*4 前向 / 反向整数 DCT 变换可以定义为: 和 , 其中 X 是 4*4 冗余块数据输入。 DCT 系数矩阵 Cf 和 Ci 如下: 4*4 前向 / 反向 Hadamard 变换可定义为: ,其中 WD 是 16*16 内部宏模块中 4*4DC 组成部分。 Hadamard 变换系数矩阵 H 如下: 2-D 变换结构可以用 1-D 变换采用行列分解的方法实现,但是会引入转置存储器。本文将给出一种 2-D 可重构变换,此变换基于信号流图,不需要转置存储器。 三:结构 A. 新型变换( SFG ) 4*4 前向 DCT 可以用 2 个 1-D 变换替代,如公式: P=CfX 和 W=PCf (转置), W 可以表示为( CfPT ) T , 2 个 2*2 数组 T1 和 T2 可表述如下: P 和 W 可以用下面的公式表示:   其中 Pij , Wij , Aij , Bij 是 4*4 数组中的元素, P , W , A 和 B 是独立的。 Aij 和 Bij 如下: 其中 Xij 是输入矩阵 X 中的元素,定义两个置换矩阵如下: 依靠左乘 M1 和 M2 ,矩阵 X , PT , A 和 B 中的第 2.3.4 行能够改变,以便 P,W 可以通过公式( 3 ),( 5 )获得。因此, 4*4 前向 DCT 变换 SFG 可以从公式( 3 )和公式( 7 )提取出来。 SFG 详细信息如图 1 所示,如果 r 等于 2 ,就是一个 2-DSFG ,可以每个周期计算 16pxiels 。     如果 T2 定义为 , r 等于 1 。图 1 可改为 4*4Hadamard 变换的 SFG 。 对于 4*4 反向 DCT ,和前面的方法相同,可用于 SFG 。 4*4 反向 DCT 可以被改写为 ,其中的三个数组可以表示如下:     其中 Q 和 X 数组可以表示为如下等式: