当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]嵌入式MPEG-4解码系统的设计与实现

介绍了一种嵌入式高图像质量的MPEC-4视频流解码系统。该系统以嵌入式Linux作为操作系统,采用硬解码方式,把IDE接口设备或网络端口输入的MPEC-4视频码流(ES、PS和TS)转换成PAL/NTSC制式的电视信号输出。重点讨论了系统控制和MPEG-4解码部分的设计。

随着通信和网络技术的飞速发展,多媒体及其视频流应用越来越广泛,同时用户也对视频传输速率和图像质量有更高的要求,MPEG-4标准适时地解决了多媒体压缩存储和传输的问题。但是目前多数播放器都是在PC机上运行,应用范围受到很大限制。研究和开发一种嵌入式的MPEG-4解码系统终端具有重要的现实意义和实用价值。

MPEG-4标准是由国际运动图像专家组于2000年10月公布的一种面向多媒体应用的视频压缩标准。它采用了基于对象的压缩编码技术,在编码前首先对视频序列进行分析,从原始图像中分割出各个视频对象,然后再分别对每个视频对象的形状信息、运动信息、纹理信息单独编码,并通过比MPEG-2更优的运动预测和运动补偿来去除连续帧之间的时间冗余。其核心是基于内容的尺度可变性(Content-based scalability),可以对图像中各个对象分配优先级,对比较重要的对象用高的空间和时间分辩率表示,对不甚重要的对象(如监控系统的背景)以较低的分辩率表示,甚至不显示。因此它具有自适应调配资源能力,可以实现高质量低速率的图像通信和视频传输。

MPEG-4以其高质量、低传输速率等优点已经被广泛应用到网络多媒体、视频会议和多媒体监控等图像传输系统中。目前国内外大部分成熟的MPEG-4应用均为基于PC层面的客户端和服务器模式,应用在嵌入式系统上的并不多,且多数嵌入式MPEG-4解码系统大多使用商业的嵌入式操作系统,如Windows CE、VxWorks等,成本高、灵活性差。如以嵌入式Linux作为操作系统不仅开发方便,且可以节约成本,并可以根据实际情况进行裁减,占用资源少、灵活性强,网络性能好,适用范围更广。

下面详细地介绍此嵌入式MPEG-4解码系统的设计原理、硬件和软件组成。

1 系统设计原理

系统设计包括硬件和软件。硬件主要分控制系统、MPEG-4解码系统、输入数据源三部分。数据源可以是IDE接口设备(如硬盘)或网络端口。控制系统对系统各部分进行监测和控制、完成数据流的传输等。如图1所示,它主要由主控芯片、Flash和SRAM组成。主控芯片通过PCI总线控制系统其他模块,是控制系统的核心;Flash里固化嵌入式Linux操作系统,存放应用软件和备份数据;SDRAM作为内存供系统运行使用。MPEG-4硬件解码系统采用硬解码方式,负责将输入的MPEG-4数据流解码成普通的电视信号,其核心是解码芯片。为解决数据流不稳定的问题,解码芯片通常使用SDRAM进行数据缓冲才可以保证正常解码过程,解码芯片的输出数字音频、视频数据还要经数模转换器(DAC)转换成模拟电视图像信号和声音信号。解码芯片通过I2C总线发送指令配置音、视频数模转换器。整个系统框图如图1所示。

软件主要包括嵌入式Linux移植、解码驱动和应用程序编写。嵌入式Linux移植到由主控芯片Flash控制器控制的Flash里,操作系统程序文件分成五个主要部分:bootloader、kernel、ramdisk、usr和boot_param,分别放在Flash内的五个模块中。根据不同模块的具体功能采用不同的文件方式:bootloader、kernel、ramdisk和boot param,开发好后不需要动态改变,且容量小,使用节省空间的ROMFS只读文件系统,usr模块内容较多并需要进行读写操作,要使用支持动态擦写保存的JFFS文件系统。

2 系统硬件设计

系统的硬件设计主要分三部分:数据源接口设计、控制系统设计和解码系统设计。数据流先要从数据源经数据源接口送至PCI总线,此系统数据源接口为PCI总线上的PCI/IDE桥芯片和网络控制芯片。这部分采用通用的电路,本文不做详细介绍。

2.1 控制系统设计

控制系统调配系统资源、控制系统各个部分以及数据流的传输。主控芯片采用东芝公司的TMPR4925XB-200。它是一款64位MIPS,内部集成了NAND Flash控制器(FlashC)、32位PCI总线控制器(PCIC)、4通道DMA控制器、4通道SDRAM控制器(SDRAMC)、外部总线控制器(EBUSC)、外部总线接口(E-BUSI)以及2个通用串口等,并通过内部总线对它们分别进行控制。其工作主频200MHz,处理速度快,功能强,性价比高,能很好满足嵌入式Linux系统的需求。

MIPS通过内部的FlashC和SDRAMC实现对外围Flash和SDRAM的控制,其中SDRAM的数据地址线要与外部总线控制接口(EBUSI)连接,Flash的数据地址线连接到对应的FlashC的数据地址端口。MIPS通过PCI总线控制器(PCIC)控制其他PCI接口设备,其控制原理图如图2所示。

2.2 MPEG-4解码系统设计

解码系统实现MPEG-4硬解码,将PCI总线传来的视频码流转换成电视信号输出。此部分关键是解码芯片选择及相关电路的设计。解码芯片采用Vweb公司的VW2010 A/V/S编解码芯片,它可以实现MPEG-1、MPEG-2、MPEG-4和H.263的视频编解码,可以编恒速码流或变速码流,码流速率为22.5kbps~15Mbps,编解码能同时进行,可实现Codec、转码功能,还可以进行MP3、AAC、AC-3和G7xx等多种格式的音频编解码。

VW2010有PCI、GPIO、I2S和CDI等多种数据接口,解码输入端口有两个:Host/PCI port和CDI(CompressData Input)port CDI port还分串行和八位并行两种输入方式。解码原理图如图3所示。

MPEG-4视频数据流送至VW2010后,由它内部的PCI接口(Host/PCI Interface)传送到芯片内部的解复用模块(Demux);解复用输出单节目视频流再经过内部解码总线和解码存储接口单元(DMIU)存储在解码缓冲区SDRAM中(SDRAM经DMIU连接到内部解码总线上);再由片内精简指令集计算单元(RISC)、数字信号处理器(DSP)和VLD、IQ/IDCT、MCU、dCPU等专用微处理单元通过内部总线解码;解码后视频、音频数据分别由视频输出单元(VOU)、音频输出单元(AOU)输出,视频单元输出8位数字Y、C-R、C-B三者比为4∶2∶2的ITU-R.BT.656格式的数据。音频输出单元通过I2S总线输出数字音频信号,两者经过各自的数模转换器(DAC)输出模拟的电视信号。

音频数模转换芯片选用Philips公司的UDAl342TS音频编解码芯片,将I2S总线输出的解码后的数字音频信号转换成左右声道音频模拟信号输出。视频数模转换芯片选用Philips公司的SAA7129AH数字视频编码器,解码前要通过VW2010的I2C控制函数配置其寄存器。SAA7129AH将VW2010解码输出单元输出的8位数字Y、C-B、C-R视频数据变成PAL(NTSC)制式的混合电视广播信号(CVBS)、适用S端子的Y、C信号或者R、G.、B三原色信号输出以适应不同场合需要。

3 系统软件设计

本系统软件设计主要分为嵌入式Linux操作系统内核移植、VW2010、PCI桥芯片及网口等系统驱动程序编写和解码应用程序的编写,其体系结构及与硬件的关系如图4所示。

嵌入式Linux操作系统是用户控制系统的硬件平台,系统驱动程序采用模块化形式,向上为用户层的解码应用程序提供API函数,向下通过系统硬件API函数控制系统硬件。VW2010驱动模块采用实时加载方式,其他如网口、I2C和PCI/IDE接口等驱动通用性强,直接编译入内核。解码应用程序则实现系统MPEG-4数据流的传输和解码。

Linux下的驱动开发技术已经发展成熟,嵌入式Linux内核的定制和移植也很普遍,本文不作详细的阐述,主要介绍解码应用程序。

以IDE硬盘文件解码为例,解码程序主要由两部分组成:主程序和解码线程程序。解码线程程序主要控制MPEG-4数据流的传输,先从数据源(IDE接口硬盘)获取MPEG-4数据流文件,再以块的方式将数据传送至W2010进行数据流的解码,然后在检测外部中断信号同时不断地把文件中的数据以块的方式写入VW2010,直到文件终止或者外部信号中断解码过程。解码过程相对独立。为便于其后台用使用线程的方式实现,线程的级别要设为最高[5]。主程序主要进行系统初始化工作,内容包括读取解码参数,配置SAA7129的寄存器,启动并检查MIPS,开启VW2010并加载配置文件等。

如果数据源是从以太网端口输入,修改相应的配置选项,把对硬盘文件的操作换成对IP数据包的操作,把数据包解成MPEG-4数据流文件,再写入VW2010。

VW2010提供了十分齐全的API函数供使用,包括I2C配置、输入输出控制、解复用和解码控制等,在VW2010的驱动模块加载后可以在C++语言里直接调用,极大方便了软件程序的编写。主程序流程图如图5所示。

本文介绍了一种嵌入式MPEG-4视频流解码系统,该系统采用硬解码方式实现IDE接口设备或网络端口输入的MPEG-4码流(ES、PS和TS)转换成PAL/NTSC制式的电视信号输出。系统采用64位MIPS芯片TM-PR4925XB-200作为主控制器,以VW2010作为MPEG-4解码芯片;采用嵌入式Linux作为操作系统和模块化的VW2010驱动程序,解码应用程序简单实用,可扩展性强。实验证明此系统可稳定地对比特率1Mbps~16Mbps的MPEG-4码流进行解码,在码流比特率为2Mbps时,图像的质量仍与普通DVD效果相似。可广泛用于IP电视、卫星电视、基于MPEG-4标准的数字电视广播系统中,应用前景十分广阔。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭