应用SOPC的MPEG-4智能家居视频播放器设计

发布时间:2014-12-2 阅读量:882 来源: 我爱方案网 作者:

【导读】多媒体技术实用化的关键技术之一,就是解决视频、音频数字化以后数据量大,与数字存储媒体、通信网容量小的矛盾,其解决途径就是压缩。本文为大家深入讲解应用SOPC的MPEG-4智能家居视频播放器设计。

引言


为了支持低比特率视频传输业务,MPEG(Moving Picture Experts Group)推出了MPEG-4标准。于1999年正式成为国际标准的MPEG4是一个适合于低传输率的视频、音频解决方案,更注重于多媒体系统的交互性和灵活性。MPEG-4视频压缩标准提供了一种高度灵活、基于“内容”的编码方法,解码端可以“按需解码”,还可以添加对象和信息。这种灵活性使得MPEG-4具有高效的编码效率、基于内容的可扩展性以及在易受干扰环境下的鲁棒性。

MPEG-4的这些特性使得它十分适合于存储容量有限的手持终端设备。但是MPEG-4视频解码中涉及的反量化(Inverse Quantization, IQ)、反离散余弦变换(Inverse Discrete Cosine Transform,IDCT),运动补偿(Motion Composition, MC)等技术均是典型的计算密集型变换,对于本身处理能力有限,功耗受限的手持终端设备而言,视频解码的实时性是一个很大的挑战。

本系统在Nios II和FPGA构成的SOPC平台上,使用NiosII的用户自定义指令以硬件逻辑方式实现MPEG4解码中的IQ、IDCT、 MC等计算复杂、高度耗时的功能模块,极大地提高解码速度。从而在以GPL协议发布的XviD Codec基础上,实现Simple Profile视觉框架下,L1级、QCIF(177×144分辨率)、25 fps的MPEG-4实时解码,并通过DMA方式在LCD上加以显示。

1 系统功能描述


本系统从功能上可以分为视频文件存取、视频解码器、YUV-RGB变换器和LCD控制模块4个部分。

1.1 视频文件存取


要进行视频文件的播放,首先需要对视频文件进行方便地存储和读取。系统播放的MP4文件由XviD Codec在PC上对4∶2∶0的YUV文件压缩得到。该MP4文件采用177×144分辨率的QCIF格式,25帧/s。在下载模式,可以通过 JTAG接口将MP4文件写入Flash存储器中。在播放模式下,Nios II处理器将MP4文件从Flash存储器中读出,送入文件缓冲池中等待解码器对其进行读取并解码。

1.2 视频解码器

视频解码器是系统的核心。如图1所示,视频解码器由熵解码器、反量化、反离散余弦变换、运动补偿模块和视频帧缓存5个模块组成。

应用SOPC的MPEG-4智能家居视频播放器设计

图1 视频解码器结构框图

解码时,首先对输入码流进行熵解码,然后根据帧的头信息判断帧的类型。对于每个宏块,熵解码后首先经过IQ,再经过IDCT变换得到空间域的值。对于参考帧(R-Frame),由于不需要进行运动补偿,变换后的结果直接输出,同时还要将它存储在视频帧缓存中,留给后面的预测帧(P-Frame)做运动补偿。对于预测帧,先通过熵解码得到运动向量,根据运动向量搜索到相应的参考帧后,再将IDCT变换后的预测差值与之相加,合成最后的预测帧图像。解码后的预测帧同样是一路输出,一路存放于视频帧缓存当中。

视频解码如果采用纯软件方式实现,运算量太大,难以满足实时性要求。利用NiosII的自定义指令,将IQ、IDCT和MC这3个主要的计算密集型解码单元用硬件逻辑方式实现,以硬件逻辑的复杂性换取解码的实时性。

1.3 YUV-RGB变换器

解码器解码得到的YUV格式图像不适合直接用于LCD显示。要在LCD上显示解码得到的图象必须将YUV格式的图像转换为RGB格式,两者的转换关系如下:

R=1.164(Y-16)+1.569(V-128)
G=1.164(Y-16)+0.813(V-128)+0.391(U-128)
B=1.164(Y-16)+2.018(U-128)

YUV到RGB格式的转换是一个很占用CPU资源的过程。本系统以查表的方式,采用硬件逻辑实现该转换。

1.4 LCD控制模块


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

 

2 系统设计结构

2.1 系统硬件结构


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

应用SOPC的MPEG-4智能家居视频播放器设计

图2 系统硬件结构图

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

2.1.1 反量化


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

应用SOPC的MPEG-4智能家居视频播放器设计

表1 intra_dc与编码精度对应表

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

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

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

应用SOPC的MPEG-4智能家居视频播放器设计

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

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

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

应用SOPC的MPEG-4智能家居视频播放器设计

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

2.1.2 反离散余弦变换


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

IDCT过程可由下面的公式描述:
应用SOPC的MPEG-4智能家居视频播放器设计

上式可视为一个2个8元向量的点积:
应用SOPC的MPEG-4智能家居视频播放器设计

将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智能家居视频播放器设计

基于8×8矩阵的IDCT算法,在FPGA上按照图4所示的结构加以硬件实现。

应用SOPC的MPEG-4智能家居视频播放器设计

图4 反离散余弦变换的硬件实现结构

2.1.3 运动补偿

运动补偿是一种大量、单调的运算。为了能实现运动补偿,采用了多级、多个运算单元并行流水运算的方式,如图5所示。

应用SOPC的MPEG-4智能家居视频播放器设计

图5 运动补偿的硬件实现结构

运动补偿模块的控制很复杂。实际设计时将它分成几个子模块:补偿控制、补偿地址产生、差分数据提供以及补偿运算。这几个子模块直接采用硬件逻辑设计,运行时无需NiosII处理器干预。其中补偿控制是完成整个运动补偿的控制,提供输入控制信号、输出控制信号、缓存控制信号、预测数据和差分数据等;补偿地址产生用于生成预测数据在帧缓存中的地址及补偿结果的写地址;差分数据负责接收IDCT的结果,通过缓存在适当时机提供补偿使用;补偿运算则完成最终预测数据的计算。

2.1.4 YUV-RGB转换


根据YUV到RGB色彩空间的转换关系,对每个乘积项都预先做出结果,存放在ROM当中。对每一个YUV分量的输入,由硬件逻辑产生存取地址,并进行加法运算,从而得到对应的结果。其实现结构如图6所示。

应用SOPC的MPEG-4智能家居视频播放器设计

图6 YUV-RGB转换实现结构

2.2 系统软件工作流程


本系统的软件工作流程如图7所示。

应用SOPC的MPEG-4智能家居视频播放器设计

图7 软件流程图

该系统采用基于Altera FPGA嵌入式软核的SOPC平台实现,具有较低的硬件成本,IP核的大量使用,良好的系统扩展性的特点。

相关文章

基于新唐NCU501的个人媒体播放器解决方案

扬智推支持多屏幕影音分享的媒体播放器

基于Symbian平台的流媒体播放器设计

相关资讯
AI引爆芯片扩产潮:2028年全球12英寸晶圆月产能将破1100万片

国际半导体产业协会(SEMI)最新报告指出,生成式AI需求的爆发正推动全球芯片制造产能加速扩张。预计至2028年,全球12英寸晶圆月产能将达1,110万片,2024-2028年复合增长率达7%。其中,7nm及以下先进制程产能增速尤为显著,将从2024年的每月85万片增至2028年的140万片,年复合增长率14%(行业平均的2倍),占全球总产能比例提升至12.6%。

高通双轨代工战略落地,三星2nm制程首获旗舰芯片订单

据供应链消息确认,高通新一代旗舰芯片骁龙8 Elite Gen 2(代号SM8850)将首次采用双轨代工策略:台积电负责基于N3P(3nm增强版)工艺的通用版本,供应主流安卓厂商;而三星则承接其2nm工艺(SF2)专属版本,专供2026年三星Galaxy S26系列旗舰机。此举标志着高通打破台积电独家代工依赖,三星先进制程首次打入头部客户供应链。

美光2025Q3财报:HBM驱动创纪录营收,技术领先加速市占扩张

在AI算力需求爆发性增长的浪潮下,存储巨头美光科技交出超预期答卷。其2025财年第三季度营收达93亿美元,创历史新高,其中高带宽内存(HBM)业务以环比50%的增速成为核心引擎。凭借全球首款12层堆叠HBM3E的量产突破,美光不仅获得AMD、英伟达等头部客户订单,更计划在2025年末将HBM市占率提升至24%,直逼行业双寡头。随着下一代HBM4基于1β制程的性能优势验证完成,一场由技术迭代驱动的存储市场格局重构已然开启。

对标TI TAS6424!HFDA90D以DAM诊断功能破局车载音频安全设计

随着汽车智能化升级,高保真低延迟高集成度的音频系统成为智能座舱的核心需求。意法半导体(ST)推出的HFDA80D和HFDA90D车规级D类音频功放,以2MHz高频开关技术数字输入接口及先进诊断功能,为车载音频设计带来突破性解决方案。

村田量产全球首款0805尺寸10μF/50V车规MLCC,突破车载电路小型化瓶颈

随着汽车智能化电动化进程加速,自动驾驶(AD)和高级驾驶辅助系统(ADAS)等关键技术模块已成为现代车辆标配。这些系统依赖于大量高性能电子控制单元(ECU)和传感器,导致车内电子元件数量激增。作为电路稳压滤波的核心元件,多层片式陶瓷电容器(MLCC)的需求随之水涨船高,尤其是在集成电路(IC)周边,对大容量电容的需求尤为迫切。然而,有限的电路板空间与日益增长的元件数量及性能要求形成了尖锐矛盾,元件的高性能化与小型化成为行业亟待攻克的关键难题。