基于STi7105高清机顶盒实现视频通话设计方案
摘要: 本文以STi7105 高清机顶盒为基础,采用SIP 协议,尽量利用高清互动机顶盒的现有编解码能力实现视频通话功能。该方案充分利用了机顶盒的现有模块及HFC 网络,但是对语音和视频的压缩度不高。
关键字: 高清机顶盒, 高清互动机顶盒, STi7105 芯片
本文以STi7105 高清机顶盒为基础,采用SIP 协议,尽量利用高清互动机顶盒的现有编解码能力实现视频通话功能。该方案充分利用了机顶盒的现有模块及HFC 网络,但是对语音和视频的压缩度不高。
1 引言
随着科学技术特别是多媒体通信技术的发展,传统的语音电话模式越来越不能满足现代人之间信息交流的需求。随着图像、音频、视频等多媒体数据逐渐成为信息处理领域中的主要媒体表现形式,与传统语音电话相比,视频电话可以更加吸引用户,并可以有效地利用网络资源,大大降低成本。有线电视网络在业务上已经实现视频、数据业务,为适应我国大力推进“三网融合”的步伐,必须能够实现通信业务,所以实现视频通话是一项很好的选择。
STi7105 是意法半导体公司生产的一款高性能高清数字电视机顶盒解码芯片,采用先进的半导体生产工艺及完善的优化设计,提升各个功能模块的性能,增加高速数据接口,降低耗电量,降低系统的整体材料成本。STi7105 是一款应用范围很广的SoC 芯片,可以用于有线高清数字电视机顶盒、卫星高清数字电视机顶盒、IPTV 机顶盒、多媒体手持设备等。STi7105 芯片的结构示意图如图1。
图1 STi7105 示意图
STi7105 芯片内部集成了一颗高性能的ST40 应用程序处理器,主频高达450MHz,实时处理运算能力超过800DMIPS,另外芯片内还集成有两颗实时运算加速器,也可以用于各种运算要求的处理。这样的处理能力不但可以达到高清机顶盒的要求,还能够充分满足家庭多媒体中心的设计需求。
STi7105 的TS 流输入处理模块可以支持4 路TS流输入、1 路TS 流输出,这个处理模块内可以同时处理分解多个码流,用于同时进行录像、码流回放、画中画等功能,这些码流可以来自传统的数字电视广播通道,也可以来自Cable Modem、EoC、以太网等IP 通道,该模块能为用户提供灵活的产品开发模式。
STi7105 集成了高性能的视音频解码器,其灵活的解码架构可以满足目前已有的各种视音频编码压缩格式的解码要求,也可以通过软件升级来支持这些标准。在视频编解码方面, 它可以支持H.264HP@HL4.1、MPEG -2 MP@HL、VC -1 MP@HL、AP@L3、MPEG -4 P2 ASP@L5、DiVx 格式、RM、RMVB、AVS 等视频格式,其解码器可以用于PVR、画中画功能,支持1080p 的格式,内置的图像降噪声处理,增强优化的后处理电路能够给用户带来前所未有的优美图像。在音频编解码器方面,可以支持MPEG-1 layer I/II、MP3、MPEG -2 layer II、AC -3 DolbyDigital、DD+、AAC、AAC+SBR 等等,也可支持杜比、DTS 的新算法及中国DRA 音频标准。
STi7105 除视音频解码功能以外,还具有一定的视音频的编码的能力,支持DivX、XviD、H.263 编码格式。
3 实现及应用
3.1 技术协议
视频通话终端软件的开发和应用涉及许多方面的技术,包括信令协议、分组语音技术、视频编解码技术以及流媒体网络传输技术等。
3.1.1 信令协议
信令指各个交换局在完成呼叫接续中的一种通信语言,在通信设备之间传递的各种控制信号,如占用、释放、设备忙闲状态、被叫用户号码等,都属于信令。信令系统指导系统各个部分相互配合,协同运行,共同完成某项任务。目前国际上IP 网络通信的主要标准有H.323 和SIP (Session Initiation Protocol),两者都对视频电话系统信令提出了完整的解决方案,都是作为多媒体通信的应用层控制(信令)协议,都利用RTP 作为媒体传输协议。但是两者的设计风格截然不同,H.323 采用的是传统的电话信令模式,包括一系列协议;而SIP 借鉴其他互联网协议,采用基于文本的协议。
SIP 协议由于其简单、易于扩展、便于实现等诸多优点越来越得到通信业界的青睐,SIP 在现有通信网向NGN 演进过程中十分重要,正在成为NGN(下一代网络)的核心协议之一,而且SIP 协议已经被3GPP工作组定义为第三代移动通信系统的信令协议以提供IP 多媒体服务,本方案采用SIP 作为信令协议。
SIP 协议是IETF 制订用于多方多媒体通信,主要目的是为了解决IP 网中的信令控制以及同软交换机的通信,从而构成新一代的通信平台。SIP 协议采用客户机/服务器的工作方式,SIP 网络包含两类组件:用户代理(User Agent)和网络服务器(Network Server)。
用户代理(UA)表示一个终端系统,包括用户代理客户端(UAC)和用户代理服务器端(UAS),前者产生请求,后者产生对应的响应。UAC 和UAS 是逻辑上的两个部分,每个终端系统都包含了UAC 和UAS 的功能。
SIP 是一个分层体系结构的协议,第1 层是语法和编码层,它的编码使用扩展的巴科斯范式规定;第2 层是传输层, 它定义了网络上的客户机和服务器如何接收请求和发送响应;第3 层是事务层,事务是SIP的基本元素,事务由客户机向服务器发送的请求和从服务器发回客户机的所有响应组成,事务层若处理消息超时,则重传并匹配响应到请求;第3 层是用户层,每个SIP 实体(除了无状态代理)都是事务用户,当一个事务用户希望发送请求时,就创建一个客户机事务实例以发送此请求。SIP 提供用户定位、用户通信能力协商、用户可用性、建立呼叫和呼叫处理与控制等功能。SIP 不提供具体的业务,不定义会话将如何描述,只提供会话建立功能。SIP 协议清晰地将会话建立和会话描述区分开,使SIP 可以成为Internet 上多媒体会话中真正意义上的信令协议,适用范围很广。
3.1.2 音频编码技术
语音通信是可视电话最基本的功能,受网络条件的限制,可视电话通常在较低码率下工作。ITU-T 推出了一系列语音压缩标准,其中有G.711、G.723.1、G.
728、G.729 和G.729A 等,在可视电话中得到了广泛应用。当可视电话与普通电话通信时,采用G.711 标准,G.711 为PCM 编码,只对语音信号进行采样和量化,产生64kbps 的码流,G.711 编码后的语音质量高,缺点是占用的带宽也很高。G.723.1 能够产生两种速率的码流,高速率编码器使用多脉冲最大自然量化(MP-MLQ)算法,低速率编码器使用代数码激励线性预测(ACELP)算法。G.729A 是G.729 的简化版本,其复杂度与G.729 相比降低了50%,语音质量略有降低,两种标准编码后的码流可互相解码。
实际选择语音编解码算法时,要考虑各种因素,高比特率可以保证良好的语音品质,但要占用大量存储空间,耗费更多资源;而过低的比特率会影响语音的品质增加延迟。由于STi7105 芯片音频处理能力有限,所以我们音频编码选用G.711、G.723.1 格式。
3.1.3 视频编码技术
视频压缩是多媒体应用中的核心技术,ITU-T 推出的低码率视频压缩标准对推动可视电话的发展和实用化起到了重要的促进作用。H.261 是ITU-T 推出的第一个低码率视频压缩标准,码率为P×64kbps,其中P 在1~30 中取值,图像格式为CIF 和QCIF.H.261压缩编码算法的基本思想是利用预测编码减少时间冗余度,利用变换编码减少空间冗余度。算法主要由运动估计、运动补偿、DCT 变换、量化和霍夫曼编码构成。
H.263 是最早用于低码率视频编码的ITU-T 标准,随后出现的第二版(H.263+)及H.263++增加了许多选项,使其具有更广泛的适用性。H.263 是ITU-T为低于64kb/s 的窄带通信信道制定的视频编码标准。
它是在H.261 基础上发展起来的,其标准输入图像格式可以是S-QCIF、QCIF、CIF、4CIF 或者16CIF 的彩色4∶2∶0 亚取样图像。H.263 与H.261 相比采用了半像素的运动补偿,并增加了4 种有效的压缩编码模式。
H.264 是由ISO/IEC 与ITU-T 组成的联合视频组(JVT)制定的新一代视频压缩编码标准。对信道时延的适应性较强,既可工作于低时延模式以满足实时业务,又可工作于无时延限制的场合。在编解码器中采用复杂度可分级设计,在图像质量和编码处理之间可分级,以适应不同复杂度的应用,提高网络适应性。相对于先期的视频压缩标准,H.264 引入了很多先进的技术,包括4×4 整数变换、空域内的帧内预测、1/4 像素精度的运动估计、多参考帧与多种大小块的帧间预测技术等。
H.261 与H.263 在视频通信中应用较广,H.263 与H.261 相比,增加了若干选项,提供了更灵活的编码方式,压缩效率大大提高,更适应网络传输。H.264 标准的推出,是视频编码标准的一次里程碑式的重要进步,它与H.263、H.261 相比,具有明显的优势,特别是编码效率的提高,使之能用于许多新的领域。由于STi7105 芯片视频编码能力有限,所以我们视频编码选用H.263 格式。
3.2 系统结构
视频通话测试系统主要由服务器、传输网络和STi7105 机顶盒终端组成,架构如图2 所示。
图2 系统结构示意图
服务器用来控制整个系统的通话过程,服务器的基本功能是按照用户的要求完成对信令、视频、话音等信号切换,保证音频及视频的连续性。
网络接入采用现有的有线HFC 双向网络。
STi7105 机顶盒终端是提供实时、双向通信功能的节点设备,主要是把信令、视频、音频等各种数字信号分别进行处理后组成一路复合的数字码流,再将它转变为适合在传输网络中传输的格式送到信道中进行传输。同时,STi7105 机顶盒终端可以接收视频、音频信号,处理后送到相应的输出设备。STi7105 机顶盒终端主要包括以下几个主要部件:视频编解码器、音频编解码器、数据协议、控制协议、解复用模块。
3.3 STi7105 机顶盒终端
STi7105 高清机顶盒终端是一款完全符合DVBC标准的有线高清数字双向机顶盒,采用单片解码芯片STi7105 (ST40 CPU@450MHz 32K I 32K DCache),并配置64M FLASH 和256M SDRAM;内置Cable Modem 电路板,HFC 网络传来的有线数字电视信号先接入Cable Modem 电路板, 再环出接入STi7105 主电路板;双路网络RJ45 接口,一路为外置接口,一路接Cable Modem;双路USB2.0 高速接口,高清输出支持HDMI、YPbPr 高清接口,音频支持Dolby5.1 声道数字音频输出及PCM 解码输出,可以支持内置SATA 硬盘实现多媒体数据的本地录制播放时移,实现真正的家庭影院效果,同时支持网络下载上传业务,为用户提供全面的数字音视频增值服务。外接摄像头、电话机或者蓝牙耳机用于实现视频通话。结构示意图如图3 所示。
图3 STi7105 机顶盒结构示意图
3.4 软件功能模块
视频通话功能模块与中间件软件采用部分融合的方式,中间件负责与上层的用户应用软件的接口,视频通话功能模块负责与系统底层的接口,同时与中间件封装层的接口。此方案优点在于各方面工作量小,相对来说所需时间短。视频通话功能模块由控制模块、协议处理模块、音视频采集模块、音频编解码模块、视频编解码模块、用户界面模块等组成,软件功能模块如图4 所示。
图4 软件功能模块示意图
控制模块主要是接收并执行应用的命令,向应用上报信息,控制视频通话的交互动作,控制媒体流的处理等。
协议处理模块包含SIP 协议处理、RTP 协议处理等,大都是基于IETF 标准的。SIP 协议栈的功能是用于建立、更改和终止多媒体会话或呼叫,进行多媒体通话的信令处理;RTP 协议栈的功能是对流媒体数据进行封包并实现媒体流的实时传输,用于多媒体数据包的排序及纠错。
音视频采集模块支持摄像头、电话机或者蓝牙耳机等外设,并将输入的视音频信号传送给音视频编码模块。
音频编解码模块对本地用户输入的语音信号进行编码,并对网络接收到的音频数据包进行解码。
视频编解码模块对本地用户输入的视频信号进行编码,并对网络接收到的视频数据包进行解码。
应用接口封装提供应用程序接口给应用层的Java 应用程序所使用,Java 应用程序给用户提供了可以下载的丰富应用。
用户界面模块实现用户的拨号、画中画显示、操作界面等,界面应当足够的友好和方便,完成人机交互。
终端软件流程如图5 所示。
图5 流程示意图
以本地机顶盒发起呼叫为例,简单流程如下:
(1)主叫机顶盒启动并初始化。
(2)摄像头、电话机等外设启动初始化。
(3)机顶盒向服务器进行注册,机顶盒自动向服务器发送注册消息进行注册。注册成功后,服务器将会动态地建立用户的逻辑地址和其当前联系地址之间的对应关系,以便实现呼叫路由和对用户移动性的支持。
(4)机顶盒进入侦听等待状态。
(5)主叫机顶盒向被叫机顶盒发出INVITE 请求,INVITE 请求的作用是发起并建立呼叫,邀请被叫机顶盒加入主叫机顶盒建立的呼叫。
(6)被叫机顶盒收到请求后对主叫机顶盒做出响应,被叫机顶盒对请求的响应分为临时响应(状态码为1xx)和最终响应(状态码为2xx),主叫机顶盒只对最终响应做出回应。被叫机顶盒做出的最终响应是200 OK,表示被叫机顶盒接受并开始处理呼叫请求。
(7)主叫机顶盒收到响应后发送ACK 请求,向被叫机顶盒告知主叫机顶盒收到了最终响应,被叫机顶盒收到主叫机顶盒的ACK 请求,标志呼叫建立阶段结束。
(8)进入通话过程。
(9)当参与呼叫的任一方要终止呼叫时,该机顶盒将会构造并发送一个BYE 消息给对方机顶盒。对方机顶盒收到BYE 请求后,将会释放与此相关的资源,回送一个成功相应,表示呼叫已经终止。
4 结语
本文以STi7105 芯片为基础,介绍了尽量利用高清互动机顶盒的现有编解码能力实现视频通话功能;在此基础上可以向其他具有类似编解码能力芯片的机顶盒移植,比如STi7162、Hi3716 等;当需要更高的音视频编码质量时,也可以使用具有独立编码功能的摄像头、电话机等外设。随着高清机顶盒的普及,这种基于高清机顶盒的视频电话,使视频通信服务从高高在上的大客户业务转向普通家庭用户,也顺应了三网融合的时代要求。
暂无评论