高性能视频开发验证平台系统的设计-硕士学位论文 - 图文(5)

2019-09-02 13:39

浙江大学硕士学位论文

该系统内部采用了局部总线的设计方法,其目的是为了简化电路、节约资源、减少各硬件单元访问总线的等待时间,系统结构显得更加紧凑。MPEG-4视频码流从USB码流输入(USBIF)模块,通过存储器管理单元(MMU)存入外存储器SDRAM中的信道缓冲区。在解码开始时,变长解码模块(VLD)对码流中视频压缩层数据进行语法分析、解码之后,将宏块层以上的参数,以寄存器文件形式存放,供系统总控模块对各解码模块进行控制。同时系统总控模块(Controller)还完成整个系统的解码与显示同步,错误掩盖,中断处理等系统功能。整个系统的关键部分在于核心解码引擎(VLD、IZZ、IAC/DC、IQ、IDCT、MC), MMU从信道缓冲区中取出视频码流,然后送至核心解码引擎,在其中依次完成VOP、MB以及相应的定/变长解码,逆量化运算,逆DCT运算,做完运动补偿后,又经MMU送至SDRAM中的视频缓冲区,运动补偿所需参考块由MMU在视频缓冲区的相应位置取得。解码后的图

[11].

像经过色度上采样等后处理过程,形成了符合CCIR601的4:2:2格式的数据送出至PAL/NTSC编码器,完成解码工作。

2.2.2 系统子模块设计

1) 码流解析模块

码流解析模块的主要作用是分析MPEG视频流中的各种头信息,包括VOL层信息、VOP层信息、量化矩阵信息、时间戳等,保存到参数寄存器中。另外,它和变长解码器VLD一起进行运动矢量的解码。它还进行一些系统控制操作。在系统设计中,码流解析模块是变长解码器模块的一部分。 2) 变长码解码器 (VLD)

VLD主要功能为对MPEG-4码流中的各种类型的变长码进行解码,并根据不同的类型将解码的结果送到控制器等模块,它主要是作为协处理器进行预处理。它支持所有的MPEG-4变长码表。为解决码流串行和码字变长的矛盾,通过分析变字长码字并行解码的2个基本要素:码字定位和并行输入,制定了用输出变长码的码长来进行码字定位的解码策略,实现了变长码字的并行解码,使VLD的平均解码率达到1个变字长码字/时钟周期,满足MPEG-4 ASP@L5对码率的要求。 3) DC预测方向和反扫描模块 (IZZ)

MPEG-4支持三种扫描方式:水平交替扫描、垂直交替扫描、锯齿形扫描。IZZ模块的功能为进行反向扫描解码。MPEG-4具体使用何种扫描方式由宏块类型、AC预测标志位、DC预测方向决定。

4) 反AC/DC预测模块 (IAC/DC)

该模块是MPEG-4视频编码标准所独有的,它去除了相邻块之间在变换域上的冗余性。反AC/DC系数的预测是根据当前块DC系数预测方向来选择先前已解码的上边块的第一行系数或左边块的第一列系数作为预测参考。为了补偿当前块和预测参考块之间的量化差别,比例缩放是必须的。 5) 反量化模块 (IQ)

MPEG-4视频标准支持两种量化方式:H.263量化和MPEG量化。反量化过程主要包括反量化算术计算、饱和运算和差错匹配控制,其核心是量化系数乘以量化步长。

由于MPEG-4的量化运算由许多运动乘法的运算,而乘法器所占用相对较多的可编程硬件资源,因此在IQ模块的具体实现中,采取了资源共享策略,在节省资源的前提下满足了解码实时性的要求。

6) 反余弦变换模块 (IDCT)

反余弦变换模块主要是进行二维反余弦变换。从算法结构来看,有两种实现IDCT变换

19

浙江大学硕士学位论文

的方法。一种是2-D IDCT变换。另一种是通过两次1-D IDCT变换来完成2-D IDCT变换,即行列法。由于后者在结构上的对称性更好,并且可以重复使用硬件资源,所以在我们设计中采用了一种行列法来实现IDCT变换。 7) 运动补偿模块 (MC)

MPEG-4视频编解码标准支持多种预测方式,包括各种基于帧、基于场的预测方式。在MPEG-4中,运动估值的最高精度为四分之一象素,因此解码器实现的难度大大增加了。在解码器中,实现运动补偿一般包括填充、运动矢量计算、插值滤波、相加等过程。在本设计中,我们将运动补偿模块划分为功能单一的4个单元:完成差分运动向量(MVD)与预测运动矢量(PMV)相加的地址产生单元(AGU)、根据运动矢量读取相应参考块数据的读考单元(ReadRef)、实现半象素、1/4象素精度的插值模块(ITP)、补偿模块(MCU)。 8) 控制单元 (Controller)

该模块是视频解码系统的中枢,协调各模块工作,控制整个解码、显示过程:在解码过程中,控制单元根据预处理模块、变长码解码模块输出的相关参数,通过逻辑组合,决定各功能模块的启动与否以及工作模式;协调各模块的处理速度,使之同步;调整解码与显示的时序关系,在码流中VOP的编码顺序(也称解码顺序),是解码器用来重建视频对象时需要的VOP顺序。而解码过程输出的重建VOP的顺序(也称为显示顺序),一般不和解码顺序相同,因此解码器必须用一定的规则在解码过程中对VOP进行重排。 9) 存储器管理单元 (MMU)

存储器管理单元由SDRAM接口电路和仲裁器两部分组成,实现对外部存储单元的读写、刷新等操作。VBV缓冲区,存放参考帧的缓冲区都是设置在SDRAM中的。解码器通过32比特位宽的数据总线与SDRAM相连,实现对码流入、码流出、解码后数据写入、参考数据读取以及显示数据读取五大任务的操作。综合ASP@MPEG-4中对最高码率、最大宏块的消耗数、图像尺寸的要求,以及SDRAM固有特性(读写时间、刷新频率),仲裁器采用时分复用与固定优先级相结合的调度策略响应各模块的读写请求,在响应一个中断时,别的中断不能打断该中断的响应。 10) 视频接口 (VI)

VI模块产生符合PAL制的视频显示时序信号,以及进行相应的后处理。例如生成符合CCIR601标准的数据格式,以及相应的行、场同步信号;格式转换,将4:2:0的325x288的CIF格式图像经上采样之后变成4:2:2的720x576的PAL视频。

2.2.3 MPEG-4专用结构视频解码芯片

课题组在利用开发系统完成视频解码芯片内部模块的开发设计,完成了各个模块的调试后,最终在开发系统上成功进行了系统的整体验证,成功输出了PAL视频图像。之后根据1.2.2节中所述的ASIC设计流程将系统设计转化为ASIC,并交付半导体厂商进行流片生产。 最终流片的ASIC芯片为0.18μm工艺的QFP208(Quad flat package 208,四方扁平208脚)封装,其示意图如图 2-6所示:

20

浙江大学硕士学位论文

SDRAM接口 Pin1 I2C 设置端口 QFP208 视频输出 测试端口 PLL时钟 并口 BIST RS232

图 2-6 MPEG-4专用结构视频解码芯片封装

与目前已有的MPEG-4视频解码器相比,本课题组设计的MPEG-4解码系统在功能上具有如下特点:

? 支持MPEG-4 L5 @ASP ? 运动矢量支持1/4象素精度 ? 提供基于帧/场的运动补偿模式

? 对大小为4CIF的MPEG-4视频码流,解码速度可达25fps ? 错误掩盖详细而周到,功能强大

? 输出符合VGA(800x600)、CCIR-601时序的数据流 ? 支持并口、串口等多种数据输入

2.3 MPEG-4专用解码芯片验证系统

在MPEG-4专用解码系统设计完成,交付半导体厂商进行流片后。为了配合验证最终得到的ASIC芯片的功能,特地设计制作了MPEG-4专用解码芯片验证系统。由2.1.2节所提到的系统的兼容性可知,只需要设计验证系统的母板即可配合原有的子板进行验证调试。

该验证系统的设计原则如下:

? 系统要便于更换测试每一块QFP208 ASIC芯片的功能 ? 系统要提供ASIC芯片正常工作的各种资源环境

? 系统要能够提供可编程逻辑能力以方便ASIC的测试过程 ? 系统要能够实时的检测ASIC芯片输出的情况

由于验证系统本身就是为了测试验证芯片使用,因此测试验证的便利性就成为设计中最值得考虑的部分,也是基于便利性的考虑制定了上述原则。最终为MPEG-4专用解码芯片设计的验证系统如图 2-7所示:

21

浙江大学硕士学位论文

Clk 27M Power SDRAM 系统子板连接1 VIDEO I2C 0 1 7 2 FPGA BANK 6 5 4 3 Video I2C Ports QFP208插座 系统子板连接2 BIST TEST Parallel ports RS232 Serial ports JTAG Test pin

图 2-7 MPEG-4专用解码芯片验证系统结构

此验证系统母板与原来的系统的母板一样,仍然采用6层PCB结构,带两个连接子板的排插,可以和原系统子板连接使用。为了使系统能够测试多个ASIC芯片,我们设计了一个板载的QFP208专用插座,其PAD分布与QFP208芯片完全一样。在使用插座时要将ASIC芯片放置于插座中并且四周用带螺丝的翻盖固定,这样就可以符合第一条设计原则,使一块验证系统的母板就可以依次验证所有ASIC芯片的功能。母板同时带与原系统一致的SDRAM芯片,另外提供要求较原系统较为宽松的时钟和电源模块,这样,为ASIC芯片提供了其正常工作需要的各种资源环境。 为了满足后面两条设计原则,验证系统母板提供了一块小规模低容量的FPGA, 因为输出IO 数和容量都较少,采用了如表 2-3所示参数的XILINX FPGA XC2V500-256:

表 2-3 XC2V500-FG256参数 XC2V500-FG256参数 系统门 最大内部RAM 18×18硬件乘法器 时钟DCM单元 核电压 I/O支持电压 最大可用I/O数 500,000 96Kbits 32个 8个 1.5V 2.5V/3.3V/1.8V/1.5V/1.2V 172 在我们的设计中,ASIC除了SDRAM接口外,其余的接口均连接到验证系统的FPGA芯片而不是直接连接到子板。在验证过程中,经常需要对ASIC芯片的输入和接口进行各种不同的配置,这样设计就可以由FPGA编程来完成这一配置过程,非常方便。而对于ASIC的输出,也是连接到FPGA,同时FPGA上有各种端口输出到子母板的排插和外接的测试排插,用户LED等测试工具。如果希望查看ASIC的输出是否正确,只需在FPGA内部将其与子母板排插直接连线或通过输出缓冲连接即可,如果想进行测试,则可以将相应端口在FPGA内部与测试工具相连。非常方便的进行测试和输出的切换。

22

浙江大学硕士学位论文

晶振 FPGA 验证模块 子板IO端口 DCM 模式设定 测试 27MHZ Decoder_Mode[3:0] Chip_test_Mode PLL 54MHZ 内部连接转换 ASIC 复位产生 BIST测试 ASIC_reset,PLL_reset BIST_EN BIST_RESULT 板载测试端口

图 2-8 MPEG-4 ASIC验证模块

我们为验证ASIC而编写的验证模块如图 2-8所示。BIST(Build In Self Test 模块)主要用来测试ASIC内部的RAM是否有读写问题,BIST 电路一共有两个信号:BIST_EN 和 BIST_RESULT。BIST_EN 从1变为0 时,代表检测开始,检测完成后BIST_RESULT 输出1代表有故障,0代表无故障,这主要是为了测试ASIC流片过程中是否有内部RAM含有工艺上造成的错误。复位产生模块产生ASIC启动需要的复位信号,PLL_reset是用来复位ASIC内部的PLL(Phase Lock Loop)电路的。ASIC内部工作频率为54MHZ, 而输入时钟为27MHZ, 可以选择从外部晶振或者FPGA输入。ASIC内部的PLL电路将27MHZ的输入时钟倍频后供应其他部分使用。模式设定模块设定当前ASIC的工作模式,测试模块则设定当前ASIC是否进入测试状态。ASIC的其他信号均集中通过验证模块中的内部连接转换连接到子板的IO端口或者验证系统的测试端口。

主电源5V与原系统一样由外部交流稳压器或者从PC电源得到,经过DC-DC模块产生3.3V 和1.5V两个电压,3.3v 用于SDRAM、FPGA以及ASIC芯片的VCCO,1.5 v用于FPGA的VCCINT。另外ASIC需要1.8v 的电源供应由3.3v 经过DC-DC转换得到。FPGA的内部操作时钟(系统时钟)为27M,来源于一个板载晶体振荡器。

2.4 MPEG-4编解码芯片开发系统的缺陷与不足

本章介绍了基于FPGA的MPEG-4编解码芯片开发系统,这一开发系统对于MPEG-4解码芯片的开发设计过程起到了至关重要的作用。但是考虑到视频标准未来的发展和开发系统的实际情况,这一系统依然存在着较大的缺陷与不足,主要体现在这几个方面: 1. 可编程逻辑硬件资源受限

随着视频编解码标准压缩率的提高,其运算和逻辑不可避免的越来越复杂,因此在开发验证平台上会消耗大量的可编程逻辑资源。另外随着可编程结构和混合结构的发展,在越来越多的场合需要在视频系统中集成各种处理器核。在开发阶段,这些处理器核也会占用大量的硬件逻辑资源。另外这些可编程逻辑硬件资源的内部工作频率也对于开发设计至关重要,

23


高性能视频开发验证平台系统的设计-硕士学位论文 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:消化科出科考试试题(二)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: