摘要:本文以STi7105 高清機頂盒為基礎,采用SIP 協議,盡量利用高清互動機頂盒的現有編解碼能力實現視頻通話功能。該方案充分利用了機頂盒的現有模塊及HFC 網絡,但是對語音和視頻的壓縮度不高。
1 引言
隨著科學技術特別是多媒體通信技術的發展,傳統的語音電話模式越來越不能滿足現代人之間信息交流的需求。隨著圖像、音頻、視頻等多媒體數據逐漸成為信息處理領域中的主要媒體表現形式,與傳統語音電話相比,視頻電話可以更加吸引用戶,并可以有效地利用網絡資源,大大降低成本。有線電視網絡在業務上已經實現視頻、數據業務,為適應我國大力推進“三網融合”的步伐,必須能夠實現通信業務,所以實現視頻通話是一項很好的選擇。
2 STi7105 芯片
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 等;當需要更高的音視頻編碼質量時,也可以使用具有獨立編碼功能的攝像頭、電話機等外設。隨著高清機頂盒的普及,這種基于高清機頂盒的視頻電話,使視頻通信服務從高高在上的大客戶業務轉向普通家庭用戶,也順應了三網融合的時代要求。
評論
查看更多