基于FPGA NiosII的MPEG-4视频播放器设计

发布者:大泉人家最新更新时间:2018-02-19 来源: 21ic关键字:NiosII  FPGA  MPEG-4  视频播放器 手机看文章 扫描二维码
随时随地手机看文章

 引 言

多媒体技术实用化的关键技术之一,就是解决视频、音频数字化以后数据量大,与数字存储媒体、通信网容量小的矛盾,其解决途径就是压缩。

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

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

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

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

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

1.3 YUV-RGB变换器

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

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所示。

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

 

 

2.1.1 反量化

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

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

AC系数的反量化要用到两个加权矩阵,分别用于内部子块和非内部子块。用户也可以使用自定义的量化矩阵。如果用QDCT表示输入已量化的AC系数,用DCT表示反量化后的AC系数,那么AC系数的IQ变换公式如下:

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

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

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

2.1.2 反离散余弦变换

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

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

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

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

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

 


2.1.3 运动补偿

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

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

2.1.4 YUV-RGB转换

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

2.2 系统软件工作流程

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

结 语

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


关键字:NiosII  FPGA  MPEG-4  视频播放器 引用地址:基于FPGA NiosII的MPEG-4视频播放器设计

上一篇:环境光检测优化便携设备显示屏设计方案
下一篇:基于MIMO技术的视频缓存器设计方案

推荐阅读最新更新时间:2024-05-03 02:29

利用FPGA解决TMS320C54K/SDRAM的接口问题
在DSP应用系统中,需要大量外扩存储器的情况经常遇到。例如,在数码相机和摄像机中,为了将现场拍摄的诸多图片或图像暂存下来,需要将DSP处理后的数据转移到外存中以备后用。从目前的存储器市场看,SDRAM由于其性能价格比的优势,而被DSP开发者所青睐。DSP与SDRAM直接接口是不可能的。FPGA(现场可编程门阵列)由于其具有使用灵活、执行速度快、开发工具丰富的特点而越来越多地出现在现代电路设计中。本文用FPGA作为接口芯片,提供控制信号和定时信号,来实现DSP到SDRAM的数据存取。 1 SDRAM介绍 本文采用的SDRAM为TMS626812ATMS626812A,图1为其功能框图。它内部分为两条,每条1M字节,数据宽度为8位,故
[嵌入式]
LATTICE展出最新的移动通信FPGA平台
美国俄勒冈州希尔斯波罗市 2012年2月15日莱迪思半导体公司(NASDAQ: LSCC)今日宣布将参加于2月27日–3月1日在西班牙巴塞罗那举办的世界移动通信大会。莱迪思的展台位于2.1号厅2.1A56号,并将展出公司的mobileFPGA™平台,包括新的iCE40™和MachXO2™ FPGA以及ispMACH® 4000ZE CPLD。 届时将展出20多个移动通信产品,从中可以看到,设计师们能够通过使用莱迪思mobileFPGA器件迅速为他们的产品添加差异化功能。莱迪思还将演示包括摄像机与LVDS显示的桥接,使用低成本的mobileFPGA器件支持1366 x 768像素和525 Mb/s的传输速率。
[网络通信]
XILINX FPGA (天津)技术研讨会邀请函
赛灵思将联手 安富利-科汇 于 2011年11 月11 日在天津举办XILINX FPGA设计技术研讨会。 研讨会具体安排如下: 时间: 2011年11月11日 (周五) 13:30 - 18:00 地点: 天津市天津大学科技图书馆(逸夫楼)一层 内容: 时间表 内容 13:30-15:00 Topic: Essentials of FPGA Design Agenda Basic FPGA Architecture Xilinx Tool Flow Lab 1: Xilinx Tool Flow Reading Reports
[嵌入式]
基于FPGA的LED点阵显示字符设计
随着社会的发展和信息时代对各类信息快速发布的需要, 许多政府部门和企事业单位从提高自身形象和信息规范化管理考虑, 广泛采用LED 电子显示屏显示产品, 此类多媒体显示系统通过一定的控制方式,用于显示文字、图形、图像、动画、股市行情等各种信息以及电视、录像、DVD 等信号, 是交通指挥引导、部队作战、电力部门、公共场所进行企业形象宣传、信息发布和精神文明建设的有效工具和良好窗口。   采用现场可编程逻辑器件( FPGA) 作为控制器, 选择合适的器件, 利用器件丰富的I/O 口、内部逻辑和连线资源, 采用自上而下的模块化设计方法, 可以方便地设计整个显示系统。   电子设计自动化(EDA)技术是基于可编程器件( PLD)
[电源管理]
基于FPGA的判决反馈均衡器的设计与实现
1. 引言 在移动通信和高速无线数据通信中,多径效应和信道带宽的有限性以及信道特性的不完善性导致数据传输时不可避免的产生码间干扰,成为影响通信质量的主要因素,而信道的均衡技术可以消除码间干扰和噪声,并减少误码率。其中判决反馈均衡器(DFE)是一种非常有效且应用广泛得对付多径干扰得措施。目前DFE大致有以下几种实现方法:1)采用多片通用数字滤波器集成电路级联方式,但同时由与多片带来的体积和功耗的增加,在实际中运用不多。2)采用DSP来实现,如Motorola SC140就是单片的可编程均衡器,采用软件来实现算法,但由于受器件功能限制,在实时性要求极高的场合中受到限制。3)采用可编程逻辑器件实现,随着可编程逻辑器件逻辑门数量和速度的
[嵌入式]
易灵思Ti60 FPGA在台积电16纳米工艺节点流片
可编程产品平台和技术创新企业易灵思 ® 宣布,其Ti60 FPGA 已在 台积电 的 16纳米工艺节点流片。该器件是 Trion® Titanium 系列中的首款产品,采用了 Quantum™ 计算架构,以实现增强的计算和加速能力。与上一代 Trion 系列相比,Titanium 系列的工作频率是其 3倍,而晶片面积则仅为其 1/4。这使Titanium系列在具备人工智能的视觉系统和基于数据中心到边缘设备的近端数据处理功能等应用上,成为理想的选择。 易灵思营运与应用资深副总裁吴兆明先生(Ming Ng) 表示:“Titanium 系列开创了易灵思 FPGA 的新时代。凭借增强的计算能力、更快的运行速度和纤巧的尺寸,它们将为嵌
[嵌入式]
松下新高清晰摄像机选用Altera FPGA
2008 年 7 月 29 号 Altera 公司 宣布, 凭借功耗更低、产品面市更迅速的解决方案, 松下公司 在 P2 HD 专业广播 高清晰摄像机 中选用了 Cyclone ® III FPGA 。 P2 HD AJ-HPX2700 和 P2 HD 手持式 AG-HPX170 是 松下公司 为满足全球范围内对 高清晰 (HD) 广播需求而开发的两款无磁带摄像机。 随着全球市场向 HD 的迈进,广播行业需要高清晰图像质量。在 松下公司 P2 HD 专业广播 高清晰 摄像机中, Cyclone III FPGA 提供 HD 视频处理功能,实现与 P2 存储卡的接口,并控制 LCD 显示屏。在所有低成本 FPGA 系列
[嵌入式]
基于FPGA的DDS 信号发生器(三)
1 DDS原理 1.1 书上的解释 DDS(Direct Digital Synthesizer)技术是一种全新的频率合成方法,是从相位概念出发直接合成所需波形的一种频率合成技术,通过控制相位的变化速度,直接产生各种不同频率、不同波形信号的一种频率合成方法。 系统的核心是相位累加器,其内容会在每个时钟周期(system clock)更新。相位累加器每次更新时,存储在Δ相位寄存器中的数字字M就会累加至相位寄存器中的数字。假设Δ相位寄存器中的数字为00…01(即M=1),相位累加器中的初始内容为00…00。相位累加器每个时钟周期都会按00…01(M=1)更新。如果累加器为32位宽,则在相位累加器返回至00…00前需要2^32(超过
[测试测量]
基于<font color='red'>FPGA</font>的DDS 信号发生器(三)
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved