>
首页 » 业界动态 » 一种实现MPEG2—TS流解复用的新方案

一种实现MPEG2—TS流解复用的新方案

作者:刘照华,周 军,王向文  时间:2006-10-30 00:15  来源:
摘 要:为了保证MPEG2-TS流解复用的质量,提出了一种基于DSP和FPGA共同实现MPEG2-TS流解复用的设计方案。该系统实时处理,包含软件和硬件两个部分。试验证明,该设计能使DSP时钟稳定地工作在160M,即使图像处理速率高达80Mbps时也能够很好的保证图像的质量,达到了预期的设计目的。

关键词:数字信号处理器;现场可编程门阵列;解复用;多节目传输流;单节目传输流

引言

MPEG-2是由ISO/IEC/JTC1/SC29/WG11制定的图像压缩标准,也就是众所周知的ISO/IEC13118。MPEG-2是为了适应数字电视节目的生成、编辑、存储、传输和显示的综合要求而研发的,该标准规定了编码器的码流结构和解码器算法规则,主要应用于数字电视广播和DVD。

根据目前国际国内的发展形势来看,数字电视已成为一个不可替代的潮流,有分析数据显示,至2008年我国数字电视用户将达到3373万,我国政府也明确地提出了在2015年停止模拟电视,全面实现数字化。在国内数字电视标准还未出台前,网络电视(internet protocol television,IPTV)又成为了一炙手可热的话题。由于数字电视音/视频基本上都采用MEPG-2标准进行压缩、打包传输,而IPTV为了能与数字电视广播节目相对应以便能提供广播级的服务质量,因此其音/视频也采用MPEG-2标准。为提高带宽的利用率,在发送端要对多路节目进行复用成多节目传输流MPTS(multip rogram transportstream),相应地在接收端就应对MPTS解复用成单节目传输流SPTS(signal program transport stream)。解复用时,由于需要承担数据分流的工作,所以数据处理量相当大,而DSP(digital signal processor)由于其高速的数据处理能力和可编程特性,无疑在解复用中占据不可替代的地位。

系统方案设计

本系统中DSP(digital signal processor)主要完成数据和信息的收集和转发功能;FPGA(field programmable gate array)起到对各路SPTS码流的PCR(program clock reference)校正、SPTS 码流以CBR(constant bitrate)、VBR(variable bitrate)的形式输出、根据命令设定每路SPTS码流的输出码率等功能。它能同时处理6路标清的数字电视节目。DSP+FPGA完成TS(transport stream)流解复用的系统框图如图1所示,具体处理流程如下:

图1 DSP + FPGA完成MPEG2-TS流的解复用系统框图

(1)MPTS进入FPGA,PCR信息被提取,MPTS从FPGA输出;

(2)MPTS进入FIFO,半满触发DSP读进;

(3)DSP进入分析状态,经过DPRAM与MCU建立分析通道,并把PSI/SI信息提供给MCU,MCU完成分析工作;

(4)MCU把分析结果送给系统主控板,主控板可以返回控制命令;

(5)MCU把分析结果和工作参数送给DSP+FPGA,DSP进入工作状态;

(6)DSP根据分析结果和工作参数建立MPTS码流中每个节目的映射表。

(7)DSP根据节目映射表进行TS流的识别和SPTS的再生成;

(8)SPTS进入对应的FIFO输出;

(9)FPGA按照设定的输出码率和选定的CBR/VBR工作模式读取输出SPI(synchronous parallel interface)的SPTS,按照PCR标识进行PCR校正;

(10)单节目的标准SPTS被送入DPRAM,然后MCU轮询读取进入SRAM。

由图1可以看出,DSP外围有双口RAM(DPRAM),作为和MCU通信的通路。通过双口RAM,MCU把DSP所要运行的程序代码下载给DSP;DSP通过把FPGA映射为自己的数据空间和程序空间来把MCU传过来的码流结构信息通知给FPGA。DSP把输入FIFO和输出FIFO都映射为自己的数据空间来作为码流数据的通路。

DSP的设计

DSP芯片的选择
本系统设计中的DSP芯片采用的是TI公司的定点芯片TMS320VC5416,它的单周期指令执行时间为6.25ns(即160MIPS),与系统中的DPRAM,FIFO的通信时间刚好相符。

DSP自举加载设计
传统DSP系统程序代码的自举加载(BOOTLOADER)多以并行EPROM作为应用程序的存储器方式,其最大的弊端在于EPROM不支持在线擦写,这会对系统的调试带来很大的不便,特别是对于表贴封装的存储器,此方法基本不可用。

C54xx复位期间检查MP/MC引脚是否为低电平,若是,则从片内FF80H起执行程序;若不是,则从外部程序存储器FF80H起执行用户程序。

在本系统中DSP运行的程序是通过DPRAM从MCU系统的FLASH里下载导入的,DPRAM直接映射为DSP的程序空间。在对DSP进行复位时,DSP主动采样MP/MC引脚,现把MP/MC拉高,这样DSP在复位后就从DPRAM的FF80H开始执行。在中断向量表中写一个跳转语句进行程序的搬移,即可将DPRAM中的程序搬移到DSP内部RAM,搬移结束后就直接跳到内部RAM开始执行程序。

DSP软件编程

在本系统设计中DSP软件分成分析程序和工作程序两部分。其中分析程序主要完成对输入视频码流的PSI信息进行分析、采集以及码率的计算,并根据MCU的指令得到所需的视频数据,再通过DPRAM上传给MCU;工作程序主要完成视频码流的解复用以及PSI信息的收集并上传等工作。

对于DSP的软件编程,可以采用高级语言C或汇编,C语言由于其可读性强和易维护的特点而得到了广泛的应用,然而C并不适合描述典型的DSP算法,首先,由于典型的DSP应用都有大量计算的要求,并有严格的开销限制,因而使得程序的优化必不可少;其次,由于DSP结构的复杂性,如多存储器空间、多总线、高度专门化的硬件等,使得用C难以为其编写高效率的编译器;再者,对于底层硬件的控制,用汇编语言编写将更加直观高效。虽然在本系统开发中既有C语言编写的代码又有汇编语言编写的程序,但C在没有严格优化时图象处理速率只能达40Mbps,并且同时处理6路节目时会产生严重的丢包现象,而在同样的情况下,汇编语言编写的程序的处理速率可高达80Mbps,并且没有任何丢包现象,所以在最终投入应用时我们还是采用了汇编。

结 论

本文详细地介绍了用DSP+FPGA来实现MPEG2-TS流的解复用系统的设计方案。该系统经过联调和运行性能测试证明,DSP时钟稳定工作在160M,图像处理速率在80Mbps时也能很好地保证图像质量和视觉效果,不仅避免了前端数据处理的瓶颈效应,而是达到了预定的功能和目标,并且可以满足系统高可靠性的要求。

相关推荐

MC56F8006/56F8002:数字信号控制器

DSP芯片介绍及其选型

DSP  数字信号处理器  快速RAM  TI  ADI  2008-08-15

Xilinx ECU 汽车电子开发方案

MATLAB辅助DSP设计的研究与实现

FPGA在语音存储与回放系统中的应用

PPC 405EP在电力监测系统中的应用

在线研讨会
焦点