当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于SIP的H.264视频电话终端设计

  1 引 言 

        视频电话终端系统的实现是个很复杂的过程,涉及多方面知识。其目的是利用互联网或固定电话网等为彼此通讯的双方不但能提供实时的语音交流而且可以实现视频信息的即时传输。由于丰富的视频数据和网络可用带宽的矛盾,视频电话的发展经历了漫长的发展过程,早在上世纪20年代就有人对他进行探索和研究。 

        SIP(Session initiation Protocol)[1]协议是IETF于1999年提出的一种新的网络多媒体通信的交互信令,他相对于市场主体的H.323协议具有简单、扩展性好、便于实现等优点,但当构建电信级的大网时也相当复杂,此协议也在不断的补充和完善中[2]。目前市场上出现越来越多支持SIP的智能多媒体终端及相关软件和软交换设备,SIP将成为IP视频电话业务的主流协议之一。 

        H.264视频编码标准[3]与其他视频编码标准如H.263,MPEG-4等相比,其更高的压缩效率和网络亲和性的优点正是视频电话及其各种应用所需要的。 

        本文基于SIP协议、以H.264为视频编码标准、采用TI的高速数字信号处理芯片TMS320DM643和三星的ARM9芯片S3C2410为主体设计并实现了一款视频电话终端。 

        2视频电话终端的硬件系统设计 

        视频电话终端依据其使用方式的不同,大体上可分为"PC到PC"型和"电话到电话"型2大类。"PC到PC"型产品适合计算机用户,如MSN,QQ视频等,主要依赖用户双方的计算机加上合适的软件实现。"电话到电话"型产品两端都不需要计算机,电话终端本身包含音视频处理器及相应的软件完成音视频即时通讯功能。由于此类产品使用简单、安装方便、便于控制、性价比合珲等优点,市场前景广阔,是目前国内外研究的热点。他实现的方案有多种,如采用DSP,ARM芯片,专用的会议电视芯片等。考虑到生产成本、实现的难易程度、货源、市场推广、产品的升级更新等因素,本文确定的视频电话终端系统的硬件方案为:使用TI公司的通用DSP芯片TMS320DM643利用纯软件实现音视频编解码、用三星的ARM9芯片S3C2410实现各种接口、嵌入式操作系统和传输控制协议等。这样既不存在芯片多成本高的问题,又能保持很高的性能,可通过简单的程序下载实现软件升级或增加新的编解码标准。系统的硬件结构框图如图l所示。 

        系统硬件主要由TI公司的TMS320DM643和三星公司的S3C2410组成。其中TMS320DM643完成音频压缩编解码G.711/G.729/G.723.1和视频压缩编解码H.264;S3C2410完成SIP协议和嵌入式OS及各种接口如RS232、复合视频输入/输出、数字CCD摄像头、LCD、RJ45、以太网、键盘等。音频信号的输入/输出通过TI公司的TLV320AIC23送入TMS320DM643进行压缩编码。

        3视频电话终端系统的软件设计 

        3.1 系统软件结构 

        在系统硬件完成后,剩下的需要大量丁作来编写代码实现各个功能模块,最终实现整个系统。系统的软件结构如图2所示。嵌入式OS是采用ARM-Linux内核,硬件驱动模块主要是基于ARM 9的介于硬件和Linux内核之间的软件接口,为特定的硬件响应定义好编程接口从而操作硬件,这2大模块的技术目前已相当成熟,相关的文献非常多;音频编码采用G.711/729/723.1,是为了让终端能适应音频编解码的非对称操作,有良好的兼容性,他可直接选用TI公司第三方提供的语音开发软件包。本文根据视频电话终端的特点和当前实现的技术难点主要讨论视频编码H.264和SIP协议栈2大核心技术的硬件实现。 

        3.2 H.264的实现 

        H.264视频编码标准虽然在设计时考虑到各种不同的应用和传输环境,其高的压缩效率和网络亲和性是以大的运算量为代价的,而在视频电话应用中虽然带宽有限却实时性要求高,所以考虑到实现的难易程度和技术本身必须对H.264编码方案进行精心选择(这里理所当然选用基本级),在利用DSP芯片实现时对程序要进行优化[4]。这里用C语音编程,利用TI公司的集成开发环境CCS2.2进行开发和调试,为了降低H.264编码算法的复杂性,适合视频电话的实时应用,主要从一下几个方面对其进行优化: 


        (1)运动估计算法的简化 

        在视频编码中,运动估计算法起着非常关键的作用,通常约占一个压缩方案总计算量的60%以上,所以这里采用一种快速的运动估计算法来降低运算复杂度[5]。在H.264编码标准中根据宏块(MB)的不同划分方式其对应的预测误差不同的特点,将编码模式简化为4组,先根据预测误差判断当前MB属于哪一组,然后在用拉格朗日率失真算法选取该组中最佳的编码模式,根据文献[5]的实验结果,这样做编码时间会缩短3倍左右而解码后图像的PSNR只有略微下降(最坏的情况不会超过0.5 dB)。对于帧内预测,如从预测块P的9种可选预测模式选取使P块和当前编码块I之间最小的预测模式也太费时间。对I帧中每个4×4编码模式的概率进行计算,只选取其中出现概率最高的4种模式用于帧内预测[6]。 

        (2)对程序结构进行优化 

        首先对程序中的条件判断语句、循环语句和函数调用等进行优化调整减少这类耗费较多时钟周期的指令。对视频数据的变换和逆变换、SAD的计算、运动预测的计算等尽量使用软件流水线。其次利用CCS2.2中C编译器提供的优化选项对程序进行优化,并对程序中浪费时间较多的代码用汇编优化器来优化这些代码。 

        (3)优化存储器 由于视频数据量较大,对数据的存取浪费的时间较多。这里使用DMA方式进行数据的存取以减少存储器延时,即在CPU对数据处理前用DMA方式将所需数据传送到内部缓存中,这样不但节约处理时间还便于使用软件流水线。

        3.3 SIP协议的实现 

        基于SIP的通信协议有多个开源版本,本文采用OS-IP2(V2.2.2)[7]。OSIP2使按照RFC3261(SIP)和RFC2327(SDP)标准并使用标准C编写的一个公开源码的免费协议栈。其结构简单小巧,专注于底层解析,效率较高。Osip2协议栈大致可以分为3部分:SIP协议的语法分析、SIP协议的过程分析和协议栈框架。 

        (1)SIP协议的语法分析 

        支持RFC.3261和RFC3265定义的SIP协议消息,包括INVITE,ACK,OPTIONS,CANCEL,BYE,SUB-SCRIBE,NOTIFY,MESSAGE,REFER和INFO等。不支持RFC3262定义的PRACK。遵循RFC3264关于SDP的offer/answer模式。带有SDP的语法分析。支持MD5加解密算法,Authorization,www_authenticate和proxy-authenticate等。 

        (2)SIP协议的过程分析 

        基于RFC3261,RFC3264和RFC3265的SIP协议描述过程,围绕transaction这一层来实现SIP的解析。Transaction是指一个发送方和接收方的交互过程,由请求和应答组成。请求分为Invite类型和Non-Invite类型。应答分为响应型的应答和确认型的应答。响应型的直答是指这个应答仅代表对方收到请求。请求经过处理后都必须返回确认型的应答。响应型的应答有1xx,确认型的应答包括2xx,3xx,4xx,5xx和6xx。一个transaction由一个请求和一个或多个响应型应答、一个确认型应答组成。Transaction根据请求的不同和发送/接收的不同可以分为4类:ict(会话邀请的发起方)、nict(非邀请会话的发起方)、ist(会话邀请的接收方)和nist(非邀请会话的接收方)。 

        (3)协议栈框架 

        主要有3部分:底层套接字接收/发送,模块问通信管道,上层调用api接口。OSIP2并不实现底层套接字的接收俊送,其由eXOSIP实现,现在只支持UDP的链路连接。 

        本文利用下载的用C语言编写()SIP2源码在LINUX环境下编译后下载到ARM9 芯片S3C2410中。 

        4结语 

        根据以上的设计,研制了一套视频电话终端样机,完成的功能有:具有以太网,RJ45,JTAG,数字CCD摄像头、键盘和复合视频输入/输出、以语音输入/输出接口,支持音视频双向同步传送,在固话网和Internet网上测试,CIF格式视频传送率25帧/s,支持G.711/G.729/G.723.1语音编码。 

        本文设计的视频电话终端就目前来说市场化每台成本能控制在1500元以下,因采用通用的DSP芯片和ARM芯片,对产品的进一步神经非常方便,只需更改相关软件即可。 

        通过Internet或固话网实现语音和视频传输的应用需求越来越多,技术应用也将趋于成熟,视频电话机随着费用的降低也将走入千家万户,具有广阔的市场前景。

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

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 信息技术
关闭
关闭