网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> 技术文库 >> 消费电子 >> 文章正文
  [组图]基于GO7007SB的MPEG-4音视频压缩系统           ★★★ 【字体:
基于GO7007SB的MPEG-4音视频压缩系统
作者:白雪丽 郭…    文章来源:微计算机信息    点击数:    更新时间:2008-3-18    

作者:白雪丽 郭跟成 刘旭东 来源:微计算机信息

摘  要: GO7007SB是美国WIS公司生产的一款支持多格式的MPEG-4音视频解码芯片,它采用了多种高精度的压缩算法,能输出MPEG-1、MPEG-2、MPEG-4、MJPEG、H.263等数据流格式。本文从系统结构、硬件设计和软件设计三个方面介绍了GO7007SB芯片在USB2.0接口的MPEG-4音视频压缩系统中的应用。
关键词:GO7007SB;音视频压缩;MPEG-4;USB2.0接口

0  引言

随着计算机、多媒体和数据通信技术的高速发展,视频压缩技术得到了极大的重视和发展,并在多媒体等多个领域得到了广泛的应用。MPEG-4是基于第二代视音频编码技术而制定的压缩标准,它是以视听媒体对象为基本单元来实现数字音视频和图形合成、交互式多媒体的集成等应用。MPEG-4可以利用很窄的带宽通过帧重建技术来压缩和传输数据,从而以最少的数据获得最佳的图像质量【1】。GO7007SB是美国WIS公司生产的一款支持多格式的MPEG-4视频解码芯片。目前,GO7007SB被广泛地应用在视频压缩的各个领域。本文将介绍GO7007SB在开发USB2.0接口的MPEG-4音视频压缩系统中的应用。

1  系统的结构和功能

本系统中的视频采集由SAA7113完成,音频采集由PCM1800完成。GO7007SB完成音视频数据的压缩,压缩后的数据流经过HPI传输到USB的接口芯片,这样就可以通过计算机上的USB2.0接口实时地将数据传送到PC机上,从而完成音视频数据的采集和压缩。系统的结构图如图1所示。

图1  系统的结构框图

2  硬件设计原理

该系统可以分为视频采集模块、音频采集模块、音视频压缩模块和USB接口模块等四个部分。下面分别对这四个模块在本系统中的功能进行介绍。

2.1视频采集模块

视频采集由SAA7113完成。SAA7113是Philips公司生产的视频捕获芯片,该芯片主要完成模拟视频信号的数字采样,将模拟彩色视频信号转换成符合ITU656标准输出格式的数字视频信号,前端输入的视频信号可以是PAL制式、NTSC制式或者SECAM制式。它不仅能够实现输入信号的幅度钳位和静态、动态增益自动调整,而且还包含一个可编程的亮度、对比度、饱和度和色度控制器,可实时地调整采集到的数字图像参数【2】。片外只需提供一个24.576MHz的晶振,片内时钟发生器自动产生内部电路所需的工作频率。SAA7113在GO7007SB的I2C总线时序的控制下,将采集到的ITU656 YUV 4:2:2格式的数字图像数据通过视频输入接口传送到GO7007SB。该接口是一个10位的并行输入接口,接口时钟由像素时钟(PCLK)提供。当视频源是8位时,应该连接到10位PDATA总线的高8位上,此时,低2位可以连接到高电平或低电平。最大的PCLK时钟频率为27MHz。本设计中的模拟视频输入端提供了两种输入接口,即复合视频信号接口和S端子视频信号输入接口,以适应不同视频输入场合的需要。

2.2          音频采集模块

音频信号采集利用PCM1800完成。PCM1800是TI公司所属的BURR-BROWN公司生产的立体声音频采集芯片,用+5V电源供电,信噪比为95dB,动态范围为95dB,其内部嵌有高通滤波器,具有PCM音频接口和4种数据格式,分为主控和受控两种模式,采样精度可达20bit,支持的采样频率有32KHz、44.1KHz和48KHz,还支持多种数据串行输出模式,包括I2S串行总线模式【3】。本设计中将PCM1800设置为从模式,即其系统时钟由GO7007SB的音频系统时钟输出SYSCLK提供。若将PCM1800的FMTO和FMT1两脚接低电平,可设置其输出数据为20位的I2S格式。

该芯片主要完成立体声的音频信号的采样,将模拟立体声音频信号转换成标准的符合I2S总线标准格式的数字音频信号,数字音频信号再从音频输入接口输入到GO7007SB。GO7007SB支持ADPCM编码,允许1:4音频压缩,为A/V同步产生音频采样计数和音频标签。音频数据输入字长范围为16位~24位,但仅高16位被采样并从USB或HPI接口输出。

2.3          音视频压缩模块

GO7007SB采用了多种高精度的压缩算法,能输出MPEG-4、MPEG-2、MPEG-1、H.263、MJPEG等数据流格式,同时支持完美的音视频同步输出。并且能够输出的最大规格为:以30帧/秒的帧率输出NTSC制式的分辨率为720×480,以25帧/秒的帧率输出PAL制式的分辨率为720×576【4】

GO7007SB的内部结构如图2所示。它内部的功能模块分为前端模块和后端模块。前端模块包括所有提供数据处理和视频压缩的功能块,后端块提供数据传输和控制信息以及与外部设备的通信。前端模块包括视频输入处理VIP(Video Input Processor)、运动估计与补偿MEC(Motion Estimation and Compensate)、DCT/IDCT变换、量化和反量化(QDQ)、变长编码VLC(Variable Length Code)、MPEG-X/H.263/MJPEG编码等模块。后端模块的主要功能是:对并列的前端块提供控制和计划安排;控制进出SDRAM以及前端块之间的数据流动;并为USB、HPI、外部SDRAM和其它片外设备提供接口【5】

       

图2  GO7007SB内部结构框图

来自视频解码器或CCD的视频源首先进入VIP模块,再由DMA控制器经内部数据总线传送到SDRAM输入处理帧存储区。然后,当前处理帧与SDRAM中预存的参考帧一起送到视频压缩引擎,通过硬件处理MEC、DCT/IDCT变换、量化/反量化及VLC,完成用户指定类型的MPEG压缩算法。压缩好的数据流由DMA控制器送到SDRAM中的编码数据缓冲区,主机并行接口(HPI)控制器将编码后的视频数据流送到USB接口或HPI接口输出;音频数据经I2S或AC97接口输入到片内的音视输入接口模块,完成PCM或ADPCM编码压缩。编码后的音频数据经HPI控制器从USB接口或HPI接口输出。音频采样计数和音频标志在片内产生,能较好地解决音频、视频的同步问题【5】

HPI控制器是GO7007SB与外部控制器之间的桥梁,外部控制器可以是微控制器或PCI总线主机接口。HPI控制器有4个基本功能:初始化、配置、数据传输和调试。在初始化过程中,固件和初始化数据通过HPI从外部控制器传输到GO7007SB,外部控制器能接收来自芯片内部XRISC CPU的中断请求并对它发布命令。通过配置命令可以改变所需要的压缩参数。编码后的数据流经由HPI接口传输。在调试模式下,外部控制器能通过调试寄存器访问芯片内部模块。GO7007SB的HPI接口能操作在同步或异步模式,由HPI_SYNC引脚设置。

2.4 USB接口模块

由于GO7007SB只支持USB1.1接口规范,为了实现视频数据的实时传输,要采用USB2.0接口来进行传输,因此需外接USB控制芯片。本设计中选用了Cypress Semiconductor 公司的EZ-USB FX2单片机CY7C68013作为USB2.0的接口芯片。FZ-USB-FX2是世界上第一款集成USB2.0的微处理器,它集成了USB2.0收发器、串行接口引擎(SIE)、增强的8015微控制器和可编程的外围接口。FX2的独创性结构可使数据传输率达到56MB/s,也即USB2.0允许的最大带宽。GO7007SB通过HPI将压缩后的MPEG-4格式的数据流传输到USB接口芯片,通过USB2.0接口能实时地将数据流传送到PC机。GO7007SB与CY7C68013的主要接口电路如图3所示。

图3  GO7007SB与CY7C68013的主要接口

GO7007SB包含设备、配置和字符串描述符的硬件代码设置。在USB描述符中的一些数据领域能通过连接传感器的串行控制接口(SCI)的外部EEPROM加以配置。上电期间,EEPROM中的数据被读到GO7007SB中,用于在计数开始之前替换默认的USB描述符。在USB复位后,主机能向端点0发布一个GetDescriptor命令,从而开始列举处理过程。厂商ID 0EB1和设备ID 7007指导操作系统去选择和引导适当的设备驱动程序。对GO7007SB来说,各个端点与HPI外部寄存器连接在一起。除了端点0之外,还要4个端点:端点1用于流输出,被映射到HPI流输出寄存器;端点2被映射到中断参数和中断寄存器;端点3使能初始化过程,被映射到HPI初始化寄存器;端点4被映射到中断返回值和中断返回数据寄存器【6】。作为一个USB总线驱动设备,GO7007SB完全支持USB电源管理,它提供一个SUSPEND引脚用于当USB处于挂起模式时切断其他设备。HPI与USB接口的主要区别在于HPI提供调试性能,而USB接口没有。因为USB接口和HPI使用相同的数据路径,所以在同一时间仅有1个接口能被使能。

3         软件设计

该系统的软件设计可以分为GO7007SB的初始化配置、驱动程序和音视频采集三个部分。

GO7007SB带有专用系统开发包(SDK),借助SDK能方便地对芯片进行配置。SDK中提供了3种数据结构-TCFGSYSTEM7007 structure、TCFGSTREAM7007 structure和TCFGBRCTRL7007 structure,它们分别对系统、数据流和比特率控制进行配置。其中,TCFGSYSTEM7007 structure中包含对GO7007SB系统参数的设置,内容包括:系统配置文件的名字、传感器类型、时钟频率及DRAM的容量等。TCFGSTREAM7007 structure定义了在一定的系统配置下的编码项,每一种类型的编码流都对应一种编码流设置。TCFGBRCTRL7007 structure定义了在系统编码过程中,对比特率的控制参数的设置。这个结构的值将影响到码流的最终质量【7】。对照SDK,可以对每种数据结构进行详细的初始化配置。

驱动程序是连接到计算机的硬件的软件接口,装入后就成为操作系统的一部分。驱动程序介于硬件与用户应用软件之间。用户可以以一种规范的方式调用WIN32 API函数访问硬件,而不必考虑如何控制硬件。为了方便用户开发新的驱动程序,Windows已经自带了一些类驱动程序,用户只需在这些类驱动程序的基础上编写小的驱动程序就能实现特定的功能。

音视频采集可以通过一个窗口AVCapture来完成,通过采集窗口可实现设置系统参数,实时获取视频数据以及动态控制数据流等。采集窗口如下图所示。Output File编辑框用于指定输出文件的路径和文件名,也可以通过右边的预览按钮来进行选择。单击Change Settings按钮可以对视频信号的制式(如PAL、NTSC或SECAM)、图像的显示参数(如亮度、色度、对比度、饱和度等)进行设置。单击Video Input Settings按钮用以为采集设备选择一种视频输入端子,通常可以是AV复合端子、S-Video端子、电视接收等。具体选择哪一种视频输入端子,取决于实际信号的输入(连接)方式。有一些采集设备带有电视接收功能。若视频输入端子设置为电视接收,就可以通过单击TV Tuner Settings按钮来完成自动搜台、频道设定等功能。单击Audio Encoder Settings按钮用以对音频的采集频率和压缩格式进行设置。

图4 音视频采集窗口

以上这些功能可以借助于DirectShow来实现。在DirectShow框架下,参与工作的基本单元是Filter(滤波器),采集设备也不例外【8】。只要采集设备安装正确,DirectShow就能把它包装成一个Filter,并且在一定的类型目录下注册。每一个Filter都可以对应一个属性页,我们可以将上面的每个按钮分别和一个Filter的属性页进行连接,这样我们就可以很方便地实现上述功能。

4         结束语

GO7007SB支持多格式的音视频压缩,通过不同的配置可以输出不同格式的数据流。因此,本文介绍的压缩系统,硬件部分不须作任何改动,可通过修改软件配置来输出不同格式的数据流,能够大大地缩短产品的研制周期。另外,还可以将USB接口芯片换成PCI接口芯片(例如Philips公司生产的SAA7146),也能完成PCI接口的音视频实时采集压缩卡的设计。

该MPEG-4视频压缩系统的特点是图像清晰度高、兼容的视频标准多、可动态调整码率和帧频,适合各种不同的带宽,满足多媒体应用不断增长的要求,能广泛用于远程音视频监控、数字摄像机、高清晰数字电视等多个领域。

 

参 考 文 献

【1】鈡玉琢、王琪、贺玉文编著. 基于对象的多媒体数据压缩编码国际标准-MPEG-4及其校验模型.北京:科学出版社,2000

【2】SAA7113H 9-bit Video Input Processor. Philips Semiconductors,1999

【3】PCM1800 Datasheet. Burr-Brown,1997

【4】GO7007SB MPEG Encoder Datasheet. WIS Technologies, 2003

【5】GO7007SB User Manual. WIS Technologies, 2003

【6】High-Speed USB Peripheral Control. Cypress Semiconductors, 2002

【7】WIS GO7007 SDK Programmer Guide. WIS Technologies,2003

【8】陆其明著. DirectShow 开发指南. 北京:清华大学出版社,2003

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号