一种MPEG2视频解码器的系统设计

合集下载

地面数字电视机顶盒 (DMB-TH) 简介

地面数字电视机顶盒 (DMB-TH) 简介

地面数字电视机顶盒(DMB-TH)简介成都康特(电子)集团公司最近推出了一款基于DMB-TH标准的高性能、低价格的地面数字电视机顶盒。

这款机顶盒完全符合中国数字电视地面广播传输系统标准GB20600-2006。

该机使用了凌讯科技公司与清华大学联合开发的时域同步正交频分复用(TDS-OFDM)解调芯片LGS8813和NEC公司开发的MPEG-2解码芯片EMMA2LL,具有接收灵敏度高、用户界面友好、操作简便实用、工作稳定可靠等优点。

该机还预留了很多接口,可根据市场发展和用户需要进一步扩展功能。

一、DVB-TH地面数字电视传输系统的原理DMB-TH采用了PN序列填充的时域同步正交频分复用(TDS-OFDM)多载波调制技术,这种独特的先进技术有机地将信号在时域和频域的传输结合起来。

在频域传送有效载荷,在时域通过扩频技术传送控制信号以便进行同步、信道估计,实现快速码字捕获和稳健的同步跟踪性能。

正交频分复用(OFDM)是一种多载波调制方式,其基本思想是把高速率的信源信息流变换成低速率的N路并行数据流,然后用N个相互正交的载波进行调制,将N路调制后的信号相加即得发射信号。

在所传输的频带内,当许多载频并行传输一路数据信号时,要比串行传输更大地扩展了信号的脉冲宽度,提高了抗多径衰落方面的性能。

OFDM采用的基带调制为离散傅立叶变换,数据的编码映射是在频域进行,经过逆快速傅立叶变换(IFFT)转化为时域信号发送出去,接收端可通过FFT恢复出频域信号。

OFDM系统用离散傅立叶变换来实现,即避免了直接生成N个载波时由于频率偏移而产生的交调,而且便于利用超大规模集成电路(VLSI)技术。

传统的OFDM调制方式存在某些缺陷,插入强功率同步导频会使传输系统的有效性、可靠性蒙受损失。

基于PN序列扩频技术的高保护同步传输技术和巧妙利用OFDM保护间隔的填充技术克服了这种缺陷,同时提高了传输系统的频谱利用效率和抗噪声干扰性能。

新的TDS-OFDM信道估计技术还克服了信道估计迭代过程较长的不足,提高了移动接收性能。

常见视频编码格式与RGB、YUV视频存储格式

常见视频编码格式与RGB、YUV视频存储格式

TCC8900 VPU分析——常见视频编解码格式及RGB和YUV存储格式预研一、常见视频编解码格式1视频文件类别常言道:物以类聚,人以群分。

视频文件也不例外,细细算起来,视频文件可以分成两大类:其一是影像文件,比如说常见的VCD便是一例。

其二是流式视频文件,这是随着国际互联网的发展而诞生的后起视频之秀,比如说在线实况转播,就是构架在流式视频技术之上的。

1.1影像格式 日常生活中接触较多的VCD、多媒体CD光盘中的动画……这些都是影像文件。

影像文件不仅包含了大量图像信息,同时还容纳大量音频信息。

所以,影像文件的“身材”往往不可小觑。

1)AVI格式2)MOV格式3)MPEG/MPG/DAT格式1.2流式视频格式 目前,很多视频数据要求通过Internet来进行实时传输,前面我们曾提及到,视频文件的体积往往比较大,而现有的网络带宽却往往比较“狭窄”,千军万马要过独木桥,其结果当然可想而知。

客观因素限制了视频数据的实时传输和实时播放,于是一种新型的流式视频(Streaming Video)格式应运而生了。

这种流式视频采用一种“边传边播”的方法,即先从服务器上下载一部分视频文件,形成视频流缓冲区后实时播放,同时继续下载,为接下来的播放做好准备。

这种“边传边播”的方法避免了用户必须等待整个文件从Internet上全部下载完毕才能观看的缺点。

到目前为止,Internet上使用较多的流式视频格式主要是以下三种:1)RM(Real Media)格式 RM格式是RealNetworks公司开发的一种新型流式视频文件格式,它麾下共有三员大将:RealAudio、RealVideo和RealFlash。

RealAudio用来传输接近CD音质的音频数据,RealVideo用来传输连续视频数据,而RealFlash则是RealNetworks公司与Macromedia公司新近合作推出的一种高压缩比的动画格式。

RealMedia可以根据网络数据传输速率的不同制定了不同的压缩比率,从而实现在低速率的广域网上进行影像数据的实时传送和实时播放。

基于SOPC的MPEG2传输流复用器设计

基于SOPC的MPEG2传输流复用器设计

基于SOPC 的MPEG2传输流复用器设计李 婕,周 波(华中科技大学电信系,湖北省武汉市430074)【摘 要】MPEG2传输流复用器作为数字电视系统前端的关键设备,对其性能、速度、成本的要求越来越高。

文中介绍一种基于可编程片上系统(SOPC )的硬件复用器设计方案,该方案将系统的软件和硬件集成在一款Altera 公司新推出的低成本高密度Cyclone 系列现场可编程门阵列(FPGA )上,不但简化了整个系统,而且实现了稳定、高速、低成本的复用器设计。

对系统硬件逻辑部分和软件部分的实现分别作了详细说明,并重点描述了Altera 公司的NIOS Ⅱ内核的特性,及其在该方案中的应用。

关键词:MPEG2标准,传输流复用器,FPGA ,SOPC ,NIOS Ⅱ,嵌入式处理器中图分类号:TN941.3收稿日期:2004-10-14;修回日期:2005-01-05。

1 复用器原理简介MPEG2传输流(TS )复用器是数字电视广播系统中的关键设备,用来完成对多路符合MPEG2标准传输流的复用。

我国数字电视有线传输DVB-C 采用64QAM 调制,在8MHz 有线模拟带宽上可以传输38.5Mbit /s 数字信号。

每套标准清晰度数字电视(SDTV )节目传输码流约为4Mbit /s ,因此可以将7~9路SDTV 复用到一路TS 中,大大提高有线电视传输效率。

本文介绍的复用器系统即是将8路标准的数字电视节目传输流复合为一个数字传输流,实现一个物理频道上传输8路数字电视节目。

MPEG2复用器系统原理框图如图1所示。

图1 复用器系统原理框图MPEG2传输流复用器要实现以下具体操作:a )对输入的1~8路单节目或多节目传输流进行解复用并分析;b )修正TS 包中的PID ;c )进行程序时钟基准(PCR )调整;d )分析并重构PSI 和SI 信息,在TS 输出时定时发送此信息;e )通过面板可以设置复用节目的选择,更改默认的PID ,设置相关出入输出参数等。

基于Xtensa可配置处理器技术的视频加速引擎技术 (1)汇总

基于Xtensa可配置处理器技术的视频加速引擎技术 (1)汇总

基于Xtensa可配置处理器技术的视频加速引擎技术 (1)掌上多媒体设备的增长极大地改变了终端多媒体芯片供应商对产品的定位需求。

这些芯片提供商的IC设计目标不再仅仅针对一两种多媒体编解码器。

消费者希望他们的移动设备能够利用不同的设备来播放媒体,能够采用不同的标准进行编码,并能够从不同的设备来下载或者接收媒体数据。

视频译码器和编码器引擎必须满足多种需求,并具有面积和功耗优势。

1、设计视频加速引擎的传统RTL方法上一代视频ASIC的设计主要对MPEG-2掌上多媒体设备的增长极大地改变了终端多媒体芯片供应商对产品的定位需求。

这些芯片提供商的IC设计目标不再仅仅针对一两种多媒体编解码器。

消费者希望他们的移动设备能够利用不同的设备来播放媒体,能够采用不同的标准进行编码,并能够从不同的设备来下载或者接收媒体数据。

视频译码器和编码器引擎必须满足多种需求,并具有面积和功耗优势。

1、设计视频加速引擎的传统RTL方法上一代视频ASIC的设计主要对MPEG-2进行编码和译码,因为这是DVD标准。

有些视频ASIC还支持MPEG-1,用于VCD(视频CD)播放。

在多数情况下,MPEG-2编码器和译码器都采用RTL设计方法。

一个典型MPEG-2视频ASIC体系结构如图1所示,其中包括由各个RTL模块构成的视频子系统、主控制器和片视频ASIC体系结构采用硬线RTL体系结构支持多种视频标准,然而,这也意味着每个视频标准都需要一个专用的RTL模块来实现。

采用硬线RTL模块实现一个多种标准的视频加速引擎具有一定的局限性。

无论是实现一个新的视频标准、更新已有的标准还是消除其中的故障都需要重新进行芯片加工。

2、采用处理器作为视频加速引擎的优势可编程处理器能够满足多种视频标准的灵活性要求。

与RTL模块设计方法相比,可编程处理器具有如下几个优势:一是易于将编解码器与处理器接口;二是满足新的视频标准要求、更新现有编解码器或者采用软件方法在芯片投片后也可以修改故障;三是可以采用软件更新的方法很容易地提高视频编解码器的性能。

v4l2 编解码例程

v4l2 编解码例程

v4l2 编解码例程v4l2(Video for Linux 2)是Linux操作系统中用于视频捕获和视频输出的API。

它提供了一种统一的接口,使用户可以方便地访问和控制视频设备,例如摄像头或视频采集卡。

在本文中,我们将介绍v4l2编解码的例程,即如何使用v4l2进行视频编码和解码。

一、V4L2编解码的基本原理v4l2编解码是通过使用v4l2提供的API来实现的。

在编码过程中,v4l2将原始视频数据转换为压缩格式(如H.264或MPEG-4),以减小文件大小或传输带宽。

而在解码过程中,v4l2将压缩视频数据解码为原始视频数据,以便进行播放或后续处理。

二、V4L2编码的例程以下是一个简单的v4l2编码例程,用于将摄像头捕获的视频数据进行编码并保存为文件:1. 打开视频设备我们需要打开视频设备,即摄像头。

使用v4l2提供的API,可以通过指定设备文件路径(如/dev/video0)来打开该设备。

2. 配置视频捕获参数在打开视频设备后,我们需要配置视频捕获的参数,包括图像宽度、高度、像素格式等。

这些参数将决定捕获到的视频数据的属性。

3. 分配视频缓冲区为了存储捕获到的视频数据,我们需要分配一个或多个视频缓冲区。

使用v4l2提供的API,可以向内核请求分配缓冲区,并将其映射到用户空间。

4. 开始视频捕获一切准备就绪后,我们可以开始视频捕获了。

通过调用v4l2提供的API,可以将视频数据从设备中读取到缓冲区中。

5. 视频编码在捕获到视频数据后,我们可以进行视频编码。

使用v4l2提供的API,可以将原始视频数据转换为压缩格式,并将其存储到文件中。

6. 停止视频捕获当我们完成视频编码后,需要停止视频捕获。

通过调用v4l2提供的API,可以停止数据的读取和编码过程。

7. 关闭视频设备我们需要关闭视频设备,释放资源。

通过调用v4l2提供的API,可以关闭设备文件并释放相关的内存。

三、V4L2解码的例程以下是一个简单的v4l2解码例程,用于将压缩视频文件进行解码并播放:我们需要打开要解码的视频文件。

基于MPEG-2标准的音视频同步技术的实现

基于MPEG-2标准的音视频同步技术的实现

会影响数字电视节 目的播放质量。 目 前, 在 M P E G - - 2标准下 ,以 M P E G - 2 实时解码技术 为核心的音视频同步算法主要操作方法有 :
( 一 )恢复 系统时钟
针对因发送端与接收端 时钟不一致而导致 的音视频不 同步现象 ,可 以利用码流 中的 P C R恢复系统时钟的 S T C , 进而按照 D T S 和F I S所指示 的时间解码和播放音视频帧 , 这样音视频就能保持同步。
音视频无法同步 。
时间信息 ,接收端和发送端通过行场同步头进行 同步 ,同步相对简单 ,
其发送和接受是严格 同步的,帧与帧之间的延迟是固定的。而在数字电 视系统 中,对节 目 采用数字编码和传输技术 , 不 同类型的图像编码 ,不 同复杂度 的图像 ,每一帧图像 的数据量是不 同的,码流中帧与帧之间的 延迟也是不 固定的 , 数字码流 中也没有同步脉冲的概念 ,因此不能直接 在 图像数据的开始处获得定 时信息 。随着数字技术 、网络技术 、通信技
解数字 电视所提供的电视节 目 信息 。在传统的模拟 电视系统中,发送端 在传输 图像与声音信号时会 同时发送 同步信号,接收端也就能够直接获
得时 间信息 ,发送端与接收端够保持同步 , 用户所看到电视 音视频也就 保持 了统一 。当前 ,数字电视 已经逐步取代 了模拟 电视 ,被广大用户所
所收看到的电视节 目的声音 和图像就不是相互匹配 , 逻辑关系十分混乱 , 降低 了数字 电视传输质量,影 响了用户的视 听感受 ,使用户无法正确理
四、主要的音视频同步算法
音视频 同步是指音频 、视频在经过存储 、处理 、 传输 和播放等环节
仍能维持同一 的时间逻辑关 系。这一时间逻辑关系是在获取音视频数据 时同时确定的 , 并目 要保持恒定 ,否则就

目前主流的几种数字视频压缩编解码标准(转载)

⽬前主流的⼏种数字视频压缩编解码标准(转载)上⼀篇主要讲了H.264,接下来我们看⼀下其他编解码标准。

参看:参看:参看:JPEG联合图⽚专家组(JPEG,Joint Photographic Experts Group)是作为国际标准化组织(ISO)与电报电话国际协会(CCITT,国际电信联盟ITU的前⾝)的联合⼯作委员会于1987年成⽴的,于1988年成⽴JBIG(Joint Bi-level Image Experts Group),现在同属ISO/IECJTC1/SC29 WG1(ITU-T SG8),专门致⼒于静⽌图⽚(still images)压缩。

JPEG已开发三个图像标准。

第⼀个直接称为JPEG标准,正式名称叫“连续⾊调静⽌图像的数字压缩编码”(Digital Compression and Coding of Continuous-tone still Images), 1992年正式通过。

JPEG开发的第⼆个标准是JPEG-LS(ISO/IEC 14495, 1999)。

JPEG-LS仍然是静⽌图像⽆损编码,能提供接近有损压缩压缩率。

JPEG 的最新标准是JPEG 2000(ISO/IEC 15444, 等同的ITU-T编号T.800),于1999年3⽉形成⼯作草案,2000年底成为正式标准(第⼀部分)。

根据JPEG专家组的⽬标,该标准将不仅能提⾼对图像的压缩质量,尤其是低码率时的压缩质量,⽽且还将得到许多新功能,包括根据图像质量,视觉感受和分辨率进⾏渐进传输,对码流的随机存取和处理,开放结构,向下兼容等。

JPEG标准制定了四种⼯作模式:(1)顺序的基于DCT(Sequential DCT-based )模式,由DCT(离散余弦变换)系数的形成、量化和熵编码三步组成。

从左到右,从上到下扫描信号,为每个图像编码。

(2)累进的基于DCT(Progressive DCT-based)模式,⽣成DCT系数和量化中的关键步骤与基本顺序编码解码器相同。

MPEG2-TS流文件的简介

MPEG2-TS流文件的简介引用自/question/5502243.html随着从HDTV录制的高清节目在网上的流传,烧友们现在对TS这个名词大概已经不陌生了,但随之而来就是如何播放、如何添加字幕等等的一系列问题,本文将重点介绍一下这方面的应用操作。

先来简要介绍一下什么是MPEG2-TS吧。

MPEG2格式大家都通过对DVD的接触而多多少少了解了一些,DVD节目中的MPEG2格式,确切地说是MPEG2-PS,全称是Program Stream,而TS的全称则是Transport Stream。

MPEG2-PS主要应用于存储的具有固定时长的节目,如DVD电影,而MPEG-TS则主要应用于实时传送的节目,比如实时广播的电视节目。

这两种格式的主要区别是什么呢?简单地打个比喻说,你将DVD上的VOB文件的前面一截cut 掉(或者干脆就是数据损坏),那么就会导致整个文件无法解码了,而电视节目是你任何时候打开电视机都能解码(收看)的,所以,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。

【MPEG2-TS流文件的简单回放】有一些播放器软件可以直接播放MPEG2-TS流,比如:=> 1.WinDVD 5.x=> 2.VLC Media Player=> 3.Elecard Player等等。

播放前,先将TS流文件的后缀名改为.mpg,以便播放器可以识别它是一个MPEG文件,否则一些\"以貌取人\"的播放器可能会拒绝提供服务。

修改了后缀名后,直接用播放器打开文件播放即可。

但是需要通过VOBSub外挂字幕的朋友,可能很快就会发现,在WinDVD里无法对MPEG 文件加载字幕,这是因为WinDVD在对MPEG文件解码的时候,用了内部的解码流程,而没有按照微软的DirectShow标准去搭建解码框架,这样自然就无法触发VOBSub这些基于DirectShow标准的外挂控件了。

KMPlayer视频音频硬解设置

视频硬解部分首先安装终级解码,安装时只安装编码,但不安装设置中心和自带的播放器,因为它们多少会影响手动下载KMPlayer的设置进入KMP设置中心-滤镜控制在“源滤镜”中点击“其它”选项卡,在“Haali的分离器设置”中钩选除了“Ogg,OGM”以外的其它项目;进入“解码器使用-内部视频解码器”,点击“全部取消”按钮,取消所有的内部编码,因为它们也许可以让影片正常播放,但这不一定是最佳方案;在“内部音频解码器”中做同样的操作。

接着进入“外部视频解码器”,先点击“搜索外部解码器”;在出现的窗口中点击“在扫描后添加”,程序会将系统中已注册的编码添加到列表中以供使用;在“外部音频解码器”中做同样的设置再次进入“外部视频解码器”,重点说一下几种常用的高清格式:“MPEG-2、H.264、AVC1、VC-1”;•MPEG-2 视频:因为用的是nVidia Geforce 9600GT,在”MPEG-2 视频“的编码设置成“NVIDIA Video Decoder”•H.264 视频:选择“MPC -Video decoder”或是“CyberLink Video/SP Decoder (PDVD8)”都可以;“MPC -Video decoder”不需要进行设置,它会自动检测,并自动开启硬解;如果选择了“CyberLink Video/SPDecoder (PDVD8)”,点击编码右边的“C”按钮进行设置,在弹出的窗口中钩选“Use DxVA”项目以开启硬解;•AVC1 视频:设置情况和“H.264 视频”是一样的,可以直接参考•VC-1 视频:除选择“MPC -Video decoder”或是“CyberLink Video/SP Decoder (PDVD8)”,但更推荐使用“WMVideo Decoder DMO”编码;选择它后同样点击右边的“C”按钮进行设置,默认情况下除了“DxVA WMVSupport”是“Enable”其它三个项目都是Off的状态,需要做的就是将“DxVA WMV Logging”和“Internal Deinterlacer”为“On”,“Post Processing”设置为“STRONG DEBLOKING+DERINGING”进入“滤镜控制 - 分离器”,将“MPEG-2 PS”和“M PEG-2 TS”项目设置为“Moonlight”系列的分离器,设置为“Haali”也行两种分离器都是很不错的分离器按下来要做的就是开启硬解最关键的一步,设置“视频处理”。

MPEG-2传输流解复用的软件实现

 ̄PD Pc et e( rI -akI ni r包识 别 ) d f i ☆P P a l k e r c( 目 c m m Co f e e c R e n 节 时钟基准) 图 l TS包 的 分 组 结 构
间断 随机存储l 基本码流 P R l 接点 I C 传输专用 原始P R 自适应区 C
第7 第 l 期 卷 0
20 年 1 08 O月
软 件 导 刊
S fwa eGu d o t r i e
V O. 1 N0.0 7 1 Oc . O 8 t2 O
MP G一 传输流解 复用的软件实现 E 2
黄 鲲 鹏 刘 丹 胡 蓉 , ,
(. 1中国 网络 通信 集 团公 司, 东 珠 海 5 9 0 2武 汉理 工大 学 信 息工程 学 院 , 北 武 汉 4 0 7 广 10 0;. 湖 3 0 0;
中 分 离 出 基 本 流 和 段 以 及 对 不 正 确 的T 包 的 接 收 处 理 S

l l l l l 1 l l b b t i t i l b 梳 b i t R
l b i t
l b 缸
提示符 指 示符 I 符 标志 I 标志 I 据标志 标 扩展 指示 数 志 标志
据 。P I 张表 构 成 :A P S由4 P T,MT, A 和N T, 张表 分别 描述 C T I 这4 了一个 所包 括 的所有E 流 的传输 结构 。 S 通 常 .S 信 息 是 按 照P T P T E 这种 层 次 结 构 来 组织 PI A ~M —S 的 。I PD为0 S 的T 包携 带节 目关联 表 ( A ) P T 的信 息 。 A 表 提供 了 PT
12 节 目特 定 信 息 ( S ) 绍 . P I介
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

固体电子学研究与进展000109固体电子学研究与进展 RESEARCH & PROGRESS OF SSE 2000 Vol.20 No.1 P.60-65

一种MPEG2视频解码器的系统设计

陈旭昀 郑金山 周汀 章倩苓摘要:对于设计像MPEG2视频解码器的复杂系统,关键的难点是其系统结构的设计。文中设计了一种适合VLSI实现的MPEG2解码器的系统结构。它支持MPEG2(MP@ML)码流,并且兼容MPEG1码流。为了设计和优化这个结构,采用硬件描述语言VHDL设计了系统级的MPEG2视频解码器。此解码器在Viewlogic系统中进行了模拟,并且对一些码流进行了测试验证。 关键词:运动图像专家组;视频解码;超大规模集成电路 中图分类号:TN47 文献标识码:A 文章编号:1000-3819(2000)01-0060-06

The System Architecture Design of a MPEG2 Video Decoder for VLSI Implementation

Chen Xuyun Zheng Jinshan Zhou Ting Zhang Qianling (ASIC & System State-key Lab., Fudan Univ., Shanghai, 200433, CHN)

Abstract:For complex system like MPEG2 video decoder, the crucial difficulty is its system architecture design. In this paper, a system architecture of MPEG2 video decoder suitable for VLSI implementation is designed. This architecture is specified in MPEG2 main profile at the main level (MP@ML) and is compatible with MPEG1 bitstream. In order to design and optimize this architecture, a system level MPEG2 decoder is developed, which is described by VHDL and simulated in viewlogic environment. Some bitstreams have been tested to show its correctness. Key words:MPEG;video decoding;VLSI

1 引 言 MPEG2(Moving pictures experts group)[1]算法作为数字压缩和传输系统的关键技术,被广泛地应用在图像压缩、多媒体通讯系统以及各种消费类电子中。DVD以及HDTV系统中核心技术之一就是MPEG2算法。由于MPEG2算法具有很高的计算复杂度,需要用高性能的超大规模集成电路芯片来实时实现。最近国际上已有一些报道[2~4,8]。MPEG视频解码主要包括变长码解码、反量化、反离散余弦变换、运动补偿

等解压缩模块。关于这些模块的结构设计有许多报道[5~7]。然而,由于MPEG算法

的高复杂性,设计MPEG解码器的最困难部分是如何在从系统级划分这些模块以及优化它们之间的连接及其控制机理,而不仅仅在于如何设计这些模块本身。所以对于设

file:///F|/qikan_htm抽取_2000before/kjqk(200810)/gtdzxyjyjz/gtdz2000/0001/000109.htm(第 1/6 页)2009-12-31 18:41:36固体电子学研究与进展000109计像MPEG2视频解码器的复杂系统,必须进行系统级设计优化。本文就是在基于以上的考虑而进行的。 文中设计了一种设计适合于VLSI实现的MPEG2视频解码器系统结构。为了正确地在系统层次上分析和设计整个系统,专门设计了系统级的MPEG2视频解码器,采用硬件描述语言VHDL,在Viewlogic环境中进行模拟,并且对一些码流进行了测试。

2 解码器结构2.1 系统结构 一般来说,采用硬件实现MPEG2解码器可以采用以下两种方案:一是采用可编程DSP结构;二是采用专用VLSI结构。采用第一种方案的优点是它的灵活性,可以实现不同的算法。实际上,一些VLSI实现已经采用这种方案[2],但是采用这种方案也有

一些缺点,容易引起总线冲突,DSP操作冲突和较大的芯片面积等问题。而第二种方案可能不大灵活,但是采用这种方案可以针对MPEG解码算法进行系统结构和子模块优化,可以减轻或消除总线冲突等问题,芯片面积也较小,本文就是采用了专用VLSI结构来实现MPEG2视频解码器。图1给出了笔者设计的MPEG2视频解码器的系统结构示意图。这种结构是为MP@ML MPEG2码流所设计,并且支持MPEG1码流。从图1中可以看出,这个解码器主要由以下子模块组成: 1) 视频分析器(Video parser) 视频分析器的主要作用是分析MPEG视频码流的各种头信息,包括序列头信息、图像头信息、量化矩阵信息等,另外,它和变长码解码器一起进行运动矢量的解码。它还进行一些系统控制操作。 2) 变长码解码器(Variable length code decoder) 变长码解码器主要作为视频分析器的协处理器,对MPEG码流中各种类型的变长码解码,并根据不同类型的变长码把解码结果送至视频分析器或其它模块。它支持所有MPEG1和MPEG2变长码表。 3) 反余弦变换模块(Inverse discrete cosine) 反余弦变换模块主要进行二维反余弦变换。一般来说,有两种实现二维反余弦变换的方法。一种是行列分解法,另一种是二维直接实现方法。由于行列分解法具有较小的面积,所以这里采用了行列分解法。 4) 反扫描和反量化模块(Inverse scan and quantisation) 反扫描模块实现了两种扫描的解码:ZIGZAG和ALTERNATIVE扫描。反量化模完成反量化算术计算、饱和以及非匹配控制。 5) 运动补偿模块(Motion compensation) 由于MPEG2码流的预测方式极其复杂,所以设计运动补偿模块是MPEG视频解码器中的重点之一,本模块支持MPEG2视频码流中的各种预测方式,包括各种基于帧方式、基于场方式、Dual prime方式等。

file:///F|/qikan_htm抽取_2000before/kjqk(200810)/gtdzxyjyjz/gtdz2000/0001/000109.htm(第 2/6 页)2009-12-31 18:41:36固体电子学研究与进展000109t6201.gif (8528 字节)

t6202.gif (9190 字节)图1 MPEG2视频解码器系统结构图 Fig. 1 MPEG2 video decoder system diagram

6) 存储器处理单元(Memory management unit) 存储器处理单元主要包括存储器仲裁器和SDRAM接口电路。由于SDRAM具有很高的性能,采用SDRAM来替代常规的DRAM。存储器仲裁器从不同的模块接收请求信号,在一个时刻把存储器分配给其中某个模块占用。 2.2 MPEG2视频码流的解码过程 下面描述了采用图1结构的MPEG2视频码流解码器的解码过程: 1) 输入码流先从主机接收送至输入缓冲区,然后通过存储器处理单元把码流数据传送到SDRAM中的缓冲区。当VLD缓冲区变空时,在SDRAM中的缓冲区的码流数据被读出至VLD缓冲区。 2) 变长码解码器和视频分析器互相配合对VLD缓冲区中的码流数据进行解码。如果是关于MPEG的头信息,这些数据通过视频分析器把它们存入参数寄存器去控制解码器。如果是关于运动的变长码,首先通过变长码解码器进行解码,然后送至视频分析器计算运动码,包括运动矢量等。如果是反余弦变换系数,(run,level)对先由变长码解码器解码,然后送至反扫描和反量化模块。反量化模块只是对非零系数进行反量化以加快处理速度。 3) 进行反扫描和反量化后,数据送到反余弦变换模块进行二维反余弦变换。反余弦变换的结果由运动补偿模块接收。注意到,反余弦变换模块的前面和后面有两个缓冲器。每个缓冲器都是双缓冲结构以加快速度。这两个缓冲器同时还产生握手信号分别与反量化和运动补偿模块通讯。另外,反余弦变换模块不对Skipped的宏块和全零块进行计算,所以它们可以很快通过反余弦变换模块。

file:///F|/qikan_htm抽取_2000before/kjqk(200810)/gtdzxyjyjz/gtdz2000/0001/000109.htm(第 3/6 页)2009-12-31 18:41:36固体电子学研究与进展000109 4) 对于帧内宏块,数据经过反余弦变换后通过存储器处理单元写入SDRAM中图像缓冲区。对于非帧内宏块,首先运动补偿模块通过运动矢量从SDRAM中读取预测图像数据,经过一些计算和反余弦变换的结果相加得到最后的像素值,把它写入SDRAM中。 5) 一帧解码结束后,显示模块从SDRAM中读取重建图像并送视频子系统去显示。 2.3 系统级解码器 对于MPEG2视频解码器,采用传统的设计方法是不合适,并且几乎是不可能的。必须采用Top-down的设计方法。图2给出了设计流程。可以看出,在这个设计流程中,将会设计一个系统级的解码器。设计这样一个解码器的原因主要有两个,首先,通过系统级的解码器,可以从系统层次上划分和优化系统。这样首先可以更关注系统结构,而不是系统中子模块内部的具体结构。这样最终可以得到更有效的设计结果,并能提高设计效率。其次,在设计MPEG2解码器过程中,大量的模拟时间是设计的瓶颈之一。系统级解码器所需的模拟时间相对比较少,这样调试过程可以大大加快,从而加快设计周期。所以设计一个系统级的解码器非常必要,是设计一个高性能的MPEG2解码器的重要部分。

t6301.gif (2237 字节)图2 设计流程图 Fig.2 Design flow

这个系统级解码器是采用硬件描述语言VHDL进行描述,在Viewlogic环境中进行了模拟和调试。由于目前笔者最关心的是系统的结构设计而不是子模块的具体结构,所以对于一些子模块,比如说,视频分析器等,是采用了行为级的描述方法。但是这里行为级描述不是任意的,而是有限制的,对以后如何用实际的电路实现行为级有清楚的了解。

相关文档
最新文档