锯齿状扫描(Zigzag Scan):经过量化之后,每个 8 x 8 的小方块里面除了左上角区域以外其它部份几乎都会变为0。为了把连续 0 的个数予以编码,对每个8 x 8 的小方块做锯齿状扫描,使得二维变成一维。锯齿状扫描单元支持所有MPEG-4及JPEG锯齿状扫描方法。锯齿状扫描单元产生的结果在编码的状态送到VLC单元。反锯齿状扫描单元产生的结果在解码的状态送到AC/DC预测单元。
可变长度编解码器(Variable Length Coding/Dec
oding, VLC/VLD):当资料经过运动估计(ME),DCT,量化及AC/DC预测后,VLC 经由适当的编码成流,再透过网路传输流交由使用者端的解码器來译码成MPEG4 的影像。可变长度编码器(VLC)是一种和霍夫曼编码法相同的功能,常出现的值用较短的码值,少出现的用长的码值來达到较好的压缩比,因此,会先建立一个码簿來配合查表动作。另外,为了怕有的值在码簿中搜查不到,所以提出固定长度编码法來除理这些额外的數值。我们在进行查表前先进行了资料扫描的动作,其中扫描可分为三种方式,分别为Horizontal Scan、Vertical Scan 及ZigZag Scan。VLC/VLD单元支持MPEG-4 固定VLC和JPEG客户定义霍夫曼编码方法。VLC单元产生的结果在编码的状态是最后的压缩比特流。VLD单元产生的结果在解码的状态送到锯齿状扫描单元。
运动补偿(Motion Compensation, MC):在做运动估计的同时已经做了一些假设,假设画面中的物体不会放大或缩小、变型或旋转、突然出现或消失,但在真实的世界里这些假设不恒成立。如果只做运动估计,重建画面与原始画面会产生误差,而且随着画面数目增加而增加。为了弥补运动估计的不足,必须设计运动补偿单元。在编码的状态,运动补偿单元将原始区块减去内插产生的区块,剩余的区块送到DCT单元。在解码的状态,运动补偿单元将IDCT单元产生的区块加上内插区块产生重建的区块。
图四所示为一SoC系统构造图,包括了FA526 CPU,MPEG4/JPEG编解码器,视频输入输出接口和MPEG4/JPEG编解码器所需的系统内存控制器。视频捕获(video capture) 接口执行传递视频数据到系统内存的任务。
接着使用智原科技的虚拟平台环境(VPE)验证MPEG4/JPEG模块的时序。如图五所示,智原科技的VPE系统是一个通用的基于高级微控制器总线架构(AMBA)的SoC集成验证环境。设计者可以使用VPE与EDA仿真器验证IP的功能以及SoC芯片的完整性。它集成了
智原科技CPU仿真模型
AMBA总线器件仿真模型(master/ slave / arbiter / decoder … )
智原科技 starcells仿真模型(sdmc, gpio, smc …. )
其它相关器件仿真模型(sdram/ rom/ I/O model )
设计者可以根据需要添加自己的设计,例如挂在AHB上的MPEG4编解码器。每一个功能模块都可以在VPE中独立仿真。智原科技可在VPE上提供了AMBA的各个功能模块的仿真模型,设计者可以很方便的搭建起一个基于AMBA的SoC系统并进行测试。其VPE的仿真模型包括下列:
行为级模型(Behavioral Model)
-AHB 主器件(Master)
-AHB 从器件(Slave)
-AHB 监视器(Monitor)
-APB 从器件(Slave)
RTL 级模型
-仲裁器(Arbiter)
-解码器(Decoder)
-有直接存储器存取(DMA)通道的AHB-to-APB桥接器
-没有直接存储器存取(DMA)通道的AHB-to-APB桥接器
完成了功能仿真后,我们利用如图六所示A320的SoC设计平台做FPGA硬件仿真,A320集成了完成设计所需的IP。用FPGA实现的逻辑模块通过AHB/APB总线连接器与A320设计平台连接,可以很方便地完成功能验证,调试等一系列动作。因为A320芯片上的IP均为硅验证,在验证设计的同时也保证了从设计到芯片的一致性。
我们设计了一款能与A320进行验证的FPGA开发板,如下图七所示。MPEG4/JPEG编解码器开发板包括Xilinx Virtex-II XC2V4000 BF957, 视频捕获和A320接口。他提供了板上FPGA (XC2V4000 BF957),SAA7113 视频捕获芯片,CMOS传感器模块,16个LED用以显示调试的信息,2个扩展总线和一个AHB连接器连接A320开发板。我们也制作文档说明Pin脚的定义,方便使用者理解设计原理。
我们也提供原理图给使用者,如下图八所示,使用者可完全理解讯号流的走向。
我们的测试环境很方便,如下图九所示,利用ARM的软件开发环境,
完成FPGA验证的MPEG4/JPEG编解码器可与A320平台上的IP结合,再加上其它需要的IP,如AHB-PCI桥等共同流片,就是另一个平台(如下图十)或是一个针对音/视频的成品。平台化能因为大量已预先验证过的架构而加快设计时间。平台化也是利用IP复用方法设计SoC。SoC设计开发平台实际上是一个综合的开发系统。其中核心芯片集成了常用的IP,为开发提供了最基础的支持。开发测试板提供了硬件的开发环境,VPE提供了软件仿真的环境。使用VPE平台,SoC系统的开发变得简洁、高效。好的验证及开发平台使带有MPEG4/JPEG编解码器的SoC能快速的完成设计,验证及流片,智原科技的A320平台就是一个好的SoC验证及开发平台。