基于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.com1.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。
算法可以表示成下面的公式:
《基于SOPC的MPEG-4视频播放器》相关文章
- › 基于SoC的AC97技术硬件设计
- › 基于SOPC的MPEG-4视频播放器
- › 基于SoC的音频IP模块设计
- 在百度中搜索相关文章:基于SOPC的MPEG-4视频播放器
- 在谷歌中搜索相关文章:基于SOPC的MPEG-4视频播放器
- 在soso中搜索相关文章:基于SOPC的MPEG-4视频播放器
- 在搜狗中搜索相关文章:基于SOPC的MPEG-4视频播放器