当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于GM8180的嵌入式视频服务器设计


摘要:详细介绍了一种基于台湾智原科技公司GM8180芯片的嵌入式视频服务器设计。描述了该服务器的结构和功能,对系统的各个组成模块进行了分析和介绍,如视频采集模块、音频输入和输出模块、以太网模块等。在软件方面,对RTSP流媒体服务器软件架构和视频采集、编码的流程进行了说明。系统采用H.264视频编码技术,单芯片即可实现2路D1的H.264实时编码以及多用户的实时流媒体服务。
关键词:视频监控;视频服务器;GM8180;H.264;RTSP

引言
    嵌入式网络视频服务器可将前端采集的视频信号压缩编码后,通过IP网络传送到终端进行显示或记录。与传统的模拟闭路视频监控系统相比,由于采用IP网络来传输数字视频信号,摆脱了模拟信号线路衰减的距离限制,实现远程监控。
    目前流行的构建嵌入式网络视频服务器的方案有ARM+DSP和ASIC两种。前者以TI公司和ADI公司为代表,其优点在于具有很大的灵活性。利用DSP强大的计算能力,可以在前端嵌入式服务器中实现智能化和个性化的应用。但是由于ARM+DSP方案涉及音视频编解码器的开发,开发成本大和开发周期长使其饱受诟病。相比之下,ASIC方案通常在单芯片上集成视频编码器,使得开发人员能够将精力集中在视频服务器的设计当中,大大缩减了开发成本和时间。本文介绍一种基于ASIC芯片GM8180的嵌入式网络视频服务器方案。

1 系统硬件结构
    GM8180是由台湾智原(Faraday)公司推出的一款高性能SoC芯片,片上包含了主频高达500 MHz的ARM9核以及H.264编/解码引擎、MPEG4编/解码引擎。除此之外,GM8180还集成了DDR控制器、Flash/s静态存储控制器,以及支持2路8位ITU-R BT.656视频采集控制器、USBOTG、MMC/SDC、IDE、I2C、SPI、I2S、AC97等。


    系统框架如图1所示,视频服务器系统充分利用GM8180主芯片内带有的两路视频采集通道,外接Phips公司的SAA7113H视频解码芯片实现2路CVBS视频信号采集。视频编码直接使用片内集成的H.264编码引擎进行H.264视频编码压缩,无需外接其他编码芯片。音频采集方面,GM8180直接与Wolfson公司的WM8731音频编解码芯片连接,实现音频的采集和回放。在网络方面,GM8180集成了以太网MAC控制器,外围直接连接以太网物理接口芯片DM9161A,即可完成以太网功能。此外,系统还包括了实时时钟、DDR、NOR Flash、电源模块等。[!--empirenews.page--]
1.1 视频采集模块
    GM8180片上集成的视频采集模块可以提供2路8位采集通道。输出ITU-R BT.656的CMOS视频采集模块,可以直接与GM8180相连接;输出CVBS或者S-Video模拟信号的采集模块,则需要外接视频解码芯片。本系统中的视频解码芯片采用的是Philips公司的SA7113H。SAA7113H支持隔行扫描,支持PAL、NTSC等多种视频输入格式,输出支持ITU_R BT.656等多种格式,通过I2C总线控制,即可实现对输入模拟信号的预处理、水平和垂直同步信号的分离,以及亮度和色度的设置等。
    GM8180片内集成了标准的I2C总线控制器,SAA7113H通过I2C总线与GM8180连接。在I2C总线上连接2块SAA7113H时,可将其上的RTSO引脚悬空或拉低,为这两块SAA7113H配置不同的I2C地址。具体连接如图2所示。


1.2 音频采集模块
    GM8180支持多种音频输入接口,包括1个AC97和2个I2S接口。I2S是Philips公司为数字音频设备之间的音频数据传输而制定的一种总线标准,主要用于家庭影院中的高质量音频D/A转换器。AC97则是以Intel为首的5家计算机厂商制定的规格标准,除规定音频帧格式外,还具有控制功能。
    本系统使用Wolfson公司的WM8731音频芯片,通过I2S总线连接GM8180。WM8731可以提供CD音质的音频录音和回放,为16 Ω的负载提供50 mW的输出功率。该器件具有多种功耗降低模式,在回放模式的下典型功率消耗为8.5 mW,同步录音和回放时的功率消耗为24 mW。待机模式下,供电电流可降低到50μA。
    GM8180与WM8731的连接如图3所示,WM8731能够支持立体声采集和回放,在系统设计中将WM8731立体声采集/回放的左右声道分别拆分成2路独立单声道的采集/回放通道使用。

[!--empirenews.page--]
1.3 其他模块
    网络方面,GM8180集成了以太网接口控制器,支持RMII接口,可直接连接以太网物理接口芯片DM9161A。DM9161A是Davicom公司生产的一款低功耗、高性能的以太网物理层芯片,它完全兼容IEEE 802.3u 10Base-T/100:Base-TX标准,同时兼容ANSI TP-P(如1995)标准;支持MII和RMII两种接口模式,可完成对网络数据的接收解码和对数据帧的编码发送。
    此外,实时时钟芯片S35390A通过I2C总线连接主芯片GM8180为系统提供准确、不间断的时间信息以及定时报警服务。

2 系统软件设计
    在软件的设计上,采用ARM-Linux 2.6操作系统作为嵌入式服务器软件的承载平台。ARM-Linux的源代码完全免费开放,内核可任意裁剪,应用程序和驱动都非常丰富。在ARM-Linux操作系统的基础上,通过Vide04Linux(V4L)接口采集的视频图像交由GM8180片内的H.264编码引擎进行压缩编码;音频上,通过OSS接口采集PCM数据进行自适应多速率窄带语音(AdaptiveMulti-Rate NarrOWband,AMRNB)编码。通过RTSP流媒体服务器为用户提供实时的音视频访问服务。
2.1 视频采集驱动
    V4L是Linux下用于获取视频数据的通用API接口。将GM8180的视频采集封装成V4L接口,以便位于应用层的RTSP服务器开发使用。V4L驱动程序需向操作系统内核注册video_device设备,用于指定文件操作接口,使得用户层可以通过标准文件操作来采集视频。
    视频采集的流程如图4所示,用户设置采集参数(例如图像分辨率)时,驱动需要完成SAA7113H和GM8180片上视频采集控制器的寄存器设置,以及驱动内核态下图像数据缓冲区的分配等工作。此后,应用层以VIDIOCMCAPTURE标志和VIDEOSYNC标志为参数循环调用ioctl()函数来获得视频图像数据。


    当应用程序以VIDIOCMCAPTURE标志调用ioctl()函数时,驱动检查采集控制器和DMA状态,如果当前是正常的采集状态,则ioctl()系统调用返回;如果当前不是正常的采集状态,则重新触发采集控制器和DMA。当应
用程序以VIDEOSYNC标志调用ioctl()函数时,驱动先判断采集缓冲区内是否有图像数据,没有则将调用者挂起在采集等待队列中。直到采集完1帧完整的数据,在DMA中断响应函数中调用wake_up()函数将采集等待队列中的进程唤醒,返回图像数据给应用层调用者。
2.2 H.264编码引擎
    GM8180片上集成支持基线档次的H.264编码引擎,该编码引擎遵循AMBA 2.0总线规范。H.264编码引擎通过AHB总线与主CPU和其他片上模块相连。编码引擎同时具有AHB主、从模块功能:
    ◆当主CPU访问编码引擎内部寄存器时,编码引擎为从模块,主CPU作为主模块;
    ◆当编码引擎通过内建DMA读写系统内存时,编码引擎为主模块,DDR控制器为从模块。[!--empirenews.page--]
    H.264编码引擎内建了两个DMA通道,通道O用于读写原始图像、参考帧、重建帧等数据,通道1用于将编码完的H.264码流回写到系统内存中。在编码引擎工作之前,需要为图像原始数据、参考帧、重建帧缓存分配物理上连续的内存空间,并将缓存起始地址和长度以一定格式组织成DMA命令链数组,设置给编码引擎DMA通道O。将存放编码后码流数据的缓存基址设置给通道1。而H.264编码参数,例如条带类型、量化参数等则直接通过寄存器设置。
    编码1帧图像时,H.264编码引擎会根据DMA命令链数组中的图像数据和参考帧缓存基址,以宏块为单元读入当前帧和参考帧,进行运动估计、运动补偿、整型DCT变换和量化。通过DMA将重建帧写到系统内存中,更新参考帧缓存。最后进行熵编码,生成H.264码流并通过DMA通道1写回到系统内存中。完成编码之后,编码引擎通过中断通知主CPU。
2.3 RTSP流媒体服务器
    实时流协议(Real Time Streaming Protocol,RTSP)是由Real Networks和Netscape公司共同提出的,该协议定义了一对多的应用程序如何有效地通过IP网络传送多媒体数据的方法。RTSP协议构建在实时传输协议(Real-time Transport Protocol,RTP)和实时控制协议(RealT-ime Control Protocol,RTCP)之上,它使用TCP或者UDP完成数据传输。
    如图5所示,RTSP服务器软件设计为分层结构,采用socket网络编程和pthread多线程技术实现。系统设计一个单独的线程用于监听RTSP端口以及进行RTSP会话的信令交互处理,这样的设计保证服务器能够对每个客户连接作出快速的响应。当一个RTSP会话成功建立之后,服务器将为该会话分配一组RTP/RTCP端口以及相应的缓冲区,同时创建一个新的线程用于负责发送RTP和RTCP报文以及接收、分析客户端反馈的RTCP接收者报告。在RTSP、RTP、RTCP协议实现和音视频编码器之间设计了一层实时流媒体管理层,通过它将音视频采集和编码驱动的初始化、采集数据、编码以及在运行过程中更改采集或者编码参数(如更改码率、帧率、请求编码关键帧)等操作抽象成统一的实时媒体文件接口。

结语
    本文设计的基于GM8180的嵌入式视频服务器,通过片上的H.264编码引擎实现2路D1分辨率的H.264实时编码,通过软件实现2路AMRNB音频编码,以及实时流媒体传输的相关协议。充分挖掘了GM8180这款ASIC芯片的潜在性能。

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

作者 Mohamad Ali| IBM咨询首席运营官 北京2024年5月24日 /美通社/ -- 生成式AI的兴起几乎在所有面向上给业务带来改变。根据 IBM 商业价值研究院最新的年度 CEO 研究,近60%...

关键字: IBM AI BSP 模型

台北2024年5月21日 /美通社/ -- 提供针对AMD WRX90和TRX50主板优化的DDR5 OC R-DIMM 提供容量128GB(16GBx8)到768GB(96GBx8),速度5600MHz到8...

关键字: AMD 内存 BSP GB

上海2024年5月20日 /美通社/ -- 2024年5月16日,世界知名的生命科学公司 Eppendorf 集团于第二十三届生物制品年会上成功举办了"疫路超越 推流出新"的产品发布会,正式推出大规模...

关键字: RF PEN BSP IMAC

北京2024年5月20日 /美通社/ -- 过去五年里,支付和收款方式日新月异,其发展和变化比过去五十年都要迅猛。从嵌入式数字商务的出现,到"一拍即付"的...

关键字: VI BSP PAY COM

华钦科技集团(纳斯达克代码: CLPS ,以下简称"华钦科技"或"集团")近日宣布致敬 IBM 大型机 60 载辉煌历程,并将继续实施集团大型机人才培养计划。

关键字: IBM BSP 研发中心 PS

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

贝克曼库尔特目前已成为MeMed Key免疫分析平台和MeMed BV检测技术的授权经销商 在原有合作的基础上,继续开发适用于贝克曼库尔特免疫分析仪的MeMed BV检测 加州布瑞亚和以色列海法2024年5月16日...

关键字: BSP IO 检测技术 免疫分析仪

英国英泰力能的燃料电池是可产业化的产品解决方案 英国首个专为乘用车市场开发的燃料电池系统 在 157kW 功率下,此燃料电池比乘用车的其他发动机更为强大 &...

关键字: ENERGY INTELLIGENT 氢燃料电池 BSP

深爱人才,共赴"芯"程 深圳2024年5月15日 /美通社/ -- 5月11日,深圳国资国企"博士人才荟"半导体与集成电路产业专场活动在深圳市重投天科半导体有限公司(简...

关键字: 半导体 集成电路产业 BSP 人工智能
关闭
关闭