基于SOPC的MPEG-4视频播放器

[10-10 20:38:44]   来源:http://www.88dzw.com  电子制作   阅读:8316

文章摘要:1.4 LCD控制模块标准VGA LCD显示模块(640×480,@60 Hz)是一种逐行扫描设备。这种扫描是顺序的,下一个扫描点能够预知,从而可以将需要送出的像素信息排成一行,看作一个数据流(Streaming)。借助于NiosII的Avalon流模式外设的设计方法,可以实现一个Avalon流模式的LCD控制器。利用DMA控制器在流模式的LCD控制器和系统SDRAM之间建立一条DMA传送通道,由硬件完成像素信息的读取和送出。NiosII只需要操作SDRAM中的相应区域就可完成显示图像的更新。2 系统设计结构2.1 系统硬件结构系统硬件结构如图2所示。图2 系统硬件结构图为了

基于SOPC的MPEG-4视频播放器,标签:电子小制作,http://www.88dzw.com

1.4  LCD控制模块

  标准VGA LCD显示模块(640×480,@60 Hz)是一种逐行扫描设备。这种扫描是顺序的,下一个扫描点能够预知,从而可以将需要送出的像素信息排成一行,看作一个数据流(Streaming)。借助于NiosII的Avalon流模式外设的设计方法,可以实现一个Avalon流模式的LCD控制器。利用DMA控制器在流模式的LCD控制器和系统SDRAM之间建立一条DMA传送通道,由硬件完成像素信息的读取和送出。NiosII只需要操作SDRAM中的相应区域就可完成显示图像的更新。

2  系统设计结构

2.1  系统硬件结构

  系统硬件结构如图2所示。


图2  系统硬件结构图

  为了达到25 fps的实时解码速度, IDCT、IQ、MC和YUV-GB转换这4部分计算密集型的功能单元全部以用户自定义指令的方式实现。

2.1.1  反量化

  系数的二维数组QF[v][u]被反量化,产生重构的DCT系数。该过程的实质是以量化步长为倍数的乘法运算。

表1  intra_dc与编码精度对应表

  内部编码块DC系数的反量化过程不同于其他的AC系数。DC反量化系数由一个常数因子intra_dc与QF[0][0]相乘而得到。intra_dc与编码精度有关,表1显示的即为两者对应关系。

  AC系数的反量化要用到两个加权矩阵,分别用于内部子块和非内部子块。用户也可以使用自定义的量化矩阵。

  如果用QDCT表示输入已量化的AC系数,用DCT表示反量化后的AC系数,那么AC系数的IQ变换公式如下:

式中,quantiser_scale为0~112之间的两组数值,分别对应不同的比特流控制状态。但是在本系统采用的XviD Codec版本中,比特流控制功能并没有得到实现,所以这里quantiser_scale的取值固定。

  反量化得到的结果通过饱和化,使其限制在[-2048,+2047]之间。

  IQ在FPGA上按照图3的框图进行硬件实现。


图3  反量化的硬件实现结构

2.1.2  反离散余弦变换

  IDCT是DCT的逆过程,用于还原DCT系数矩阵。

  IDCT过程可由下面的公式描述:

上式可视为一个2个8元向量的点积:

  将8元的输入向量[X0, X1, X2, X3, X4, X5, X6, X7]分成奇元素[X1,X3, X5,X7]和偶元素[X0,X2,X4,X6],8×8矩阵则用2个4×4矩阵来代替,奇元素和偶元素分别与这2个矩阵v和u相乘,生成2个4×4向量p和q,通过加减向量p和q,可得到输出向量x。

  算法可以表示成下面的公式:

上一页  [1] [2] [3]  下一页


Tag:电子制作电子小制作维修教程知识 - 电子制作

《基于SOPC的MPEG-4视频播放器》相关文章