國立臺中教育大學資訊工程學系碩士論文
運用多通道收發器於無線感測網路
之多媒體傳輸
Multimedia Communications with Multi-channel
Transceiver in WSNs
指導教授:張林煌 教授
研究生:徐嘉佑 撰
中華民國 103 年 07 月
摘要
過去數年來無線感測網路(Wireless Sensor Network, WSN)已成為監控各種環 境及物理現象等應用的主要技術,隨著技術的成熟甚至能夠於 Zigbee 網路中傳送 多媒體串流資訊,但在即時性的服務上還是有相當的難度因此在有限資源的 Zigbee 網路中提供即時性多媒體服務為本論文主要目的。本論文設計與實作一個 提供即時性的多媒體串流多通道收發器(Tranciver)結合多媒體壓縮技術「Speex」、 「X264」降低傳輸資料量,透過 Zigbee 無線感測網路資料傳輸,並利用多點跳躍 方式延長其通訊距離。 無線感測網路具有短距離以及低傳輸率的特性,本論文主要目的在於克服在 這些限制下如何進行多媒體資料的傳輸以及維持多媒體資料的服務品質。本論中 使用鏈狀拓樸的設計以延長傳輸距離,並於傳輸排程機制上結合多天線多通道排 程機制提升整體網路吞吐量(Throughput)、降低延遲,以維持遠距離傳輸之即時 (real-time)性。 最後分別於不同距離下進行多媒體傳輸和量測,並分析壓縮技術、封包遺失 (Packet loss)、延遲(delay)對於多媒體服務品質(Quality of Service)產生的影響。
Abstract
Over the past few years, wireless sensor network (WSN) has become the main technology to monitor environmental and physical phenomena. As the technology matures, even in the Zigbee network it is possible to send multimedia streaming data. Therefore, the main purpose of this thesis is to provide real-time services in the Zigbee network. The design and implementation of the thesis will provide real-time multimedia streaming multi-channel transceiver, which combined voice compression technology open source Speex and video compression technology, open source x264 to reduce the amount of multimedia streaming data. Open source x264 this research will make use of multi-hop to extend its communication distance over Zigbee network.
Due to the Characteristics of short transmission distance and low transmission rate for WSN. The main purpose of this thesis is to provide the transmission of multimedia data will maintaining multimedia quality of service in WSNs. This thesis deployed a chain topology design to extend the transmission distance and combine multi-radio multi-channel scheduling mechanism with transmission technology to improve the overall network throughput, latency, in order to maintain long-distance transmission of real-time. Finally, carry on multimedia transmission and measurement at different distances, and analyze the effect about Quality of Service with compression technology, Packet loss and delay.
Finally the thesis conducted a testbed with different transmission distances and scenario to analyze the quality of multimedia service using purposed radio multi-channel media in WSNs
誌謝
感謝指導教授張林煌教授,感謝您無論在研究上以及生活上皆給予我很大的 發展空間以及關懷,且在研究上教導學生以嚴謹態度來面對實作所遇到瓶頸和挑 戰。感謝老師讓我在研究所期間給予我研究最大的資源,讓我在本次實作研究上 沒有後顧之憂的全力衝刺,善盡各種資源得以順利完成論文,同時也要感謝李宗 翰博士在這兩年的的指導與協助,適時的給予解決問題的方向。感謝論文口試委 員竇其仁博士、廖俊鑑博士、朱鴻棋博士,在口試時提出建議與見解使本論文內 容更加完善。 研究生涯上更要感謝實驗室的政彥,宸勳、碩瑤學長在研究上的相互討論及 協助;友勝、碩三、孟翰、梗嘉學弟,在實驗測量給與我許多幫助;政峯、明凱、 祥紳、朝仕同學在研究上給予許多建議與鼓勵,謝謝你們對我的支持才得以完成 本次研究。 最後要感謝我的家人,母親在這段日子不僅扮演者嚴父是我求學過程中向前 邁進的力量,更是慈母讓我有最好的避風港,促使自己在徬徨困惑時都能坦然面 對,以不逃避的態度使得自己有所成長。在此僅將此篇論文獻給最感謝的你們。 徐嘉佑謹誌目錄
摘要 ... i Abstract ... ii 誌謝 ... iii 目錄 ... iv 表目錄 ... vii 圖目錄 ... ix 第一章緒論 ... 1 1.1 研究背景... 1 1.2 研究動機與目的 ... 3 1.3 論文架構... 4 第二章文獻探討... 5 2.1 IEEE 802.15.4 與 ZIGBEE 介紹... 5 2.2 多媒體串流資訊壓縮技術簡介 ... 8 2.2.1Speex 語音壓縮技術簡介 ... 10 2.2.2 H.264 和 x264 影像壓縮技術簡介 ... 11 2.3 語音品質指標與量測方法 ... 132.3.2E-Model 與 PESQ 結合之語音品質量測 ... 16 2.4 多媒體傳輸於無線感測網路相關文獻探討 ... 19 2.4.1 語音於無線感測網路傳輸 ... 19 2.4.2 影像於無線感測網路 ... 20 2.4.3 多通道機制於無線感測網路 ... 21 第三章無線多通道收發器 ... 23 3.1 多通道收發器-系統架構 ... 23 3.2 多媒體串流封包格式定義 ... 27 3.3 多媒體串流鏈狀路由機制 ... 31 3.3.1 單天線單通道傳輸機制 ... 32 3.3.2 單天線多通道傳輸機制 ... 34 3.3.3 多天線三通道傳輸機制 ... 37 3.3.2 多天線六通道傳輸機制 ... 39 第四章系統測試與效能分析 ... 41 4.1 系統測試平台架構 ... 41 4.2 系統實測與分析 ... 45 4.2.1 系統延遲測量分析 ... 46 4.2.2 SRSC 傳輸機制效能量測與分析 ... 53
4.2.3 SRMC 傳輸機制效能量測與分析 ... 58 4.2.4 MRTC 傳輸機制效能量測與分析 ... 62 4.2.5 MRSC 傳輸機制效能量測與分析 ... 66 4.2.3 最大多跳傳輸節點數量 ... 72 第五章影像傳輸與品質分析 ... 74 第六章結論與未來研究方向 ... 79 6.1 結論 ... 79 6.2 未來研究方向 ... 80 參考文獻 ... 81
表目錄
表 1、語音壓縮技術比較表 ... 10 表 2、 MOS 對應 ... 15 表 3、 R-FACTOR對應圖 ... 16 表 4、SPEEX HEADER ... 28 表 5、窄頻 FRAME SIZE對應表 ... 30 表 6、WIFI和 ZIGBEE頻道分配 ... 42表 7、BEAGLEBONE BLACK規格表 ... 43
表 8、USBDONGLE ... 43
表 9、CC2530 規格表 ... 44
表 10、實驗參數設定... 44
表 11、SPEEX窄頻之封包大小與封包數 ... 45
表 12、SPEEX 窄頻 ENCODE DELAY ... 48
表 13、SPEEX 窄頻 DECODE 延遲時間 ... 53
表 14、窄頻 SRSC 機制 40 公尺平均表現 ... 54
表 15、窄頻 SRSC 機制 60 公尺平均表現 ... 55
表 18、窄頻 SRMC 機制 60 公尺平均表現 ... 59 表 19、窄頻 SRMC 機制 80 公尺平均表現 ... 61 表 20、窄頻 MRTC 機制 40 公尺平均表現 ... 62 表 21、窄頻 MRTC 機制 60 公尺平均表現 ... 63 表 22、窄頻 MRTC 機制 80 公尺平均表現 ... 65 表 23、窄頻 MRSC 節點間隔 40 公尺平均表現 ... 66 表 24、窄頻 MRSC 機制 60 公尺平均表現 ... 67 表 25、窄頻 MRSC 機制 80 公尺平均表現 ... 68
表 26、SYSTEM ONE WAY DELAY ... 73
表 27、FOREMAN之 PSNR 量測 ... 76
圖目錄
圖 1、IEEE802.15.4/ZIGBEE堆疊架構圖 ... 6 圖 2、ZIGBEE網路拓樸圖 ... 7 圖 3、標準影像編碼器... 9 圖 4、PESQ 架構流程圖 ... 14 圖 5、PESQMODEL流程圖 ... 15圖 6、結合 PESQ 與 E-MODEL之量測架構 ... 17
圖 7、多媒體輸入/輸出模組 USBDONGLE ... 24 圖 8、多媒體編解碼模組 BEAGLEBON BLACK... 24 圖 9、無線傳輸模組 TICC2530 ... 24 圖 10、多通道收發器系統架構圖 ... 25 圖 11、多跳傳輸系統架構圖 ... 26 圖 12、SPEEX標準編碼格式 ... 29 圖 13、CC2530 語音封包格式 ... 29 圖 14、單天線單通道(SRSC)傳輸架構 ... 32 圖 15、單天線單通道(SRSC)傳輸機制 ... 33 圖 16、單天線多通道(SRMC)傳輸架構 ... 34
圖 18、中繼節點運作流程圖 ... 36 圖 19、中繼節點運作虛擬碼 ... 36 圖 20、單天線三通道(MRTC)傳輸架構 ... 37 圖 21、多天線三通道(MRTC)傳輸機制 ... 38 圖 22、多天線六通道(MRSC)傳輸架構 ... 39 圖 23、多天線六通道(MRSC)傳輸機制 ... 40 圖 24、量測環境示意圖... 41 圖 25、系統延遲區塊... 46
圖 26、ANALOGUE TO DIGITAL轉換延遲時間 ... 47
圖 27、SPEEX 窄頻 8KENCODE DELAY ... 47
圖 28、傳輸狀態時序圖... 49 圖 29、SRSC 機制點對點延遲 ... 51 圖 30、SRSC 機制兩跳延遲 ... 51 圖 31、SRMC 機制點對點延遲 ... 51 圖 32、SRMC 機制兩跳延遲 ... 51 圖 33、MRTC 機制點對點延遲 ... 51 圖 34、MRTC 機制兩跳延遲 ... 51 圖 35、MRSC 機制點對點延遲 ... 52
圖 36、MRSC 機制兩跳延遲 ... 52
圖 37、SPEEX窄頻 8KDECODE DELAY ... 52
圖 38、DIGITAL TO ANALOGUE轉換延遲時間 ... 53 圖 39、窄頻 SRSC 機制 40 公尺平均 MOS 表現 ... 55 圖 40、窄頻 SRSC 機制 40 公尺之封包遺失率 ... 55 圖 41、窄頻 SRSC 機制 60 公尺平均 MOS 表現 ... 56 圖 42、窄頻 SRSC 機制 60 公尺之封包遺失率 ... 56 圖 43、窄頻 SRSC 機制 80 公尺平均 MOS 表現 ... 57 圖 44、窄頻 SRSC 機制 80 公尺之封包遺失率 ... 58 圖 45、窄頻 SRMC 機制 40 公尺平均 MOS 表現 ... 59 圖 46、窄頻 SRMC 機制 40 公尺之封包遺失率 ... 59 圖 47、窄頻 SRMC 機制 60 公尺平均 MOS 表現 ... 60 圖 48、窄頻 SRMC 機制 60 公尺之封包遺失率 ... 61 圖 49、窄頻 SRMC 機制 80 公尺平均 MOS 表現 ... 61 圖 50、窄頻 SRMC 機制 80 公尺之封包遺失率 ... 62 圖 51、窄頻 MRTC 機制 40 公尺平均 MOS 表現 ... 63 圖 52、窄頻 MRTC 機制 40 公尺之封包遺失率 ... 63 圖 53、窄頻 MRTC 機制 60 公尺平均 MOS 表現 ... 64
圖 54、窄頻 MRTC 機制 60 公尺之封包遺失率 ... 64 圖 55、窄頻 MRTC 機制 80 公尺平均 MOS 表現 ... 65 圖 56、窄頻 MRTC 機制 80 公尺之封包遺失率 ... 66 圖 57、窄頻 MRSC 機制 40 公尺平均 MOS 表現 ... 67 圖 58、窄頻 MRSC 機制 40 公尺之封包遺失率 ... 67 圖 59、窄頻 MRSC 機制 60 公尺平均 MOS 表現 ... 68 圖 60、窄頻 MRSC 機制 60 公尺之封包遺失率 ... 68 圖 61、窄頻 MRSC 機制隔 80 公尺平均 MOS 表現 ... 69 圖 62、窄頻 MRSC 機制 80 公尺之封包遺失率 ... 70 圖 63、SRSC 傳輸距離與 MOSC關係 ... 70 圖 64、SRMC 傳輸距離與 MOSC關係 ... 70 圖 65、MRTC 傳輸距離與 MOSC關係 ... 71 圖 66、MRSC 傳輸距離與 MOSC關係 ... 71
圖 67、 E-MODEL與絕對延遲(ABSOLUTE DELAY)影響對照圖 ... 72
圖 68、多媒體錄影平台(ASUSU35J) ... 74
圖 69、傳輸機制於 40 公尺之吞吐量表現 ... 75
圖 70、352×288_30 之 50K 壓縮結果 ... 76
圖 72、352×288_30 之 150K 壓縮結果 ... 76 圖 73、352×288_30 之 200K 壓縮結果 ... 76 圖 74、640×480_30 之 50K 壓縮影像 ... 77 圖 75、640×480_30 之 100K 壓縮影像 ... 77 圖 76、640×480_30 之 150K 壓縮影像 ... 78 圖 77、640×480_30 之 200K 壓縮影像 ... 78
第一章緒論
本論文提出無線感測網路傳輸多媒體串流資訊的研究背景,並且透過無線感 測網路結合多天線多通道軟硬體架構設計進行傳輸排程設計。在本章節中,將針 對本論文所提出之系統相關研究背景、動機以及研究目的進行說明,最後論述本 論文架構。1.1 研究背景
隨著近年來無線感測網路(Wireless Sensor Network , WSN )相關技術已發展日 益成熟與進步,嵌入式系統產品也有多元的發展與普及,使得無線多媒體感測網 路(Wireless Multimedia Sensor Network , WMSN)與各嵌入式平台結合的應用也日 益多元[1];然而過去數年來無線感測網路主要的應用範疇多為監控各種環境資訊, 例如:溫度、濕度、光照度等等物理數據,不過近年來無線感測網路技術的成熟對 於傳遞多元化資料格式也逐漸被重視且深入進行相關研究[2],其中傳遞多媒體串 流資訊即是在 WSN 上一項進階的應用。
本論文主要使用 Zigbee 進行實作研究,Zigbee[3]與 IEEE 802.15.4[4]皆由電 子電機工程師學會(Institute of Electrical and Electronics Engineers,IEEE)中所提出, 此一標準亦稱為低速無線個人區域網路(Low Rate Wireless Personal Area Network, LR-WPAN)。本論文主要背景為利用小型無線感測節點傳輸多媒體封包,由於無
線感測網路節點非常適合建構於無法擁有長期電力支援的偏遠地區,例如:高山、 郊區等環境,在此地區建立資料傳輸骨幹,在語音方面可應用於登山客發生意外 時的緊急救難機制;影像方面可用於山區或是河岸邊的監控,利用微型嵌入式平 台結合無線感測網路即可透過資料傳輸骨幹傳遞訊息,其中微型嵌入式平台可進 行多媒體資訊的壓縮,將其語音資料量壓縮至符合 Zigbee 傳輸頻寬以利無線感測 網路骨幹進行傳遞,以達到嚴防盜採砂石等宵小的違法舉動。 雖然無線感測網路節點在傳輸率上最大為 250 kbps,但過去應用範疇上多為 傳送環境感測資訊僅需定時的回傳感測資訊即可,在傳輸率上的使用率可能不超 過 50kbps,因此本論文為了在無線感測網路的傳輸骨幹上傳輸多媒體資訊,使用 了多通道的技術來提升網路吞吐量,除此之外在無線傳輸上封包遺失是無法預期 的錯誤,而且封包遺失率對多媒體資訊造成直接的影響,因此在封包遺失的情況 下如何降低多媒體資訊品質的損失亦是本研究重點。
1.2 研究動機與目的
在近年來無線感測網路已在環境監控、智慧家庭、工業自動化中成為主要應 用,但過去在無線感測網路傳送感測資訊,而這些經由感測器所產生的資訊一般 皆為較小的純文字、數字等,因此在有限的頻寬內即可提供可接受的服務。但隨 著技術的成熟越來越多的研究開始嘗試在無線感測網路中傳送資料量較大的多 媒體串流資訊,一般來說傳送多媒體串流訊息需要大量的頻寬資訊,因此如何有 效利用無線感測網路中有限的頻寬達到即時性的多媒體串流傳輸和延長最大傳 輸距離,並且在無線感測網路傳輸後維持相當的品質為本論文主要的目的。 本論文目的為實作出一具備有多天線多通道(Multi-Radio Multi-Channel, MRMC)排程機制的無線感測收發器,儘管 Zigbee 網路協定所訂定傳送速率最高 可達 250kbps,但經由不同嵌入式平台與多點傳輸等影響,在過去的應用中幾乎 小於 50kbps 的傳輸[5],因此透過 MRMC 排程機制運用於鏈狀拓樸上將可以有效 的提升整體網路的吞吐量,使得此收發器能夠提供多媒體資料串流達到即時性的 服務品質。除此之外多媒體串流資訊與一般數據資料不同,由於多媒體資訊對於 時間限制(Time Constrained)和延遲(Delay)具有嚴苛的要求,但因多媒體壓縮技術 日益進步,若能使用適當的多媒體壓縮技術[6][7][8]進行調配,定義出適合 Zigbee 傳遞的封包格式,將可克服在 Zigbee 嚴苛環境下傳遞大量資訊的困難,並保有可 接受的多媒體資訊品質。1.3 論文架構
本論文之架構主要如下,第二章先進行相關文獻探討,主要針對本論文所使 用之多媒體壓縮技術做分類探討,並對過去多位學者所做相關研究如多媒體於無 線感測網路傳輸與無線感測網路中的多通道機制進行分析與探討;第三章為本論 文提出多通道收發器以及多通道傳輸機制,對其系統架構以及傳輸機制進行深入 論述。第四章則對本研究系統進行驗證,透過實際的環境進行測量並分析其結果。 第五章中則對影像部分以專章進行說明;最後第六章將針對本論文之成果與數據 進行結論及其未來展望。第二章文獻探討
由於本論文設計具多通道功能之收發器,在本章節將分別對無線感測網路與 Zigbee 進行簡介,接著對於多媒體壓縮技術與多通道技術進行簡介,最後針對在 相關領域中的多位學者在 WSN 中傳輸多媒體與使用多通道傳輸機制之研究進行 分析與探討。2.1 IEEE 802.15.4 與 ZIGBEE 介紹
IEEE 802.15.4[5]由電子電機工程師學會(Institute of Electrical and Electronices Engineers, IEEE)中所提出,此一標準亦稱為低速無線個人區域網路(Low Rate Wireless Personal Area Network, LR-WPAN) , Zigbee[3] 通 訊 協 定 主 要 由 HONEYWELL 公司組成 Zigbee Alliance 來制定無線網路協定,其制訂了網路層 到應用層等標準協定,其 MAC 層與 PHY 層主要由 IEEE 802.15.4[4]所建構。由 圖 1 所示,為國際標準組織的基本參考模型,依據參考模型可得知 IEEE802.15.4 與 Zigbee 兩者關係,其特性如下列: 1. 實體層(PHY layer): 在第一層中規範了無線電訊號發射的功率、通訊的 通道、通訊的頻率以及訊號調變方式,檢測通信的鏈路品質(Link quality indication,LQI)等。 2. 媒體存取控制層(MAC layer):在第二層中主要功能在提供可靠鏈路,確保 封包的正確性、產生網路協調器的指標(Beacon)信訊號、網路的存取與分
離(使用載波偵測多重存取/碰撞偵測,CSMA/CA)的頻道存取、修正錯誤 等、檢測錯誤。 3. 網路層(Network layer):負責封包安全性處理、管理路由、儲存相鄰節點資 訊、啟動網路、設置連線位址等等。 圖 1、IEEE 802.15.4/Zigbee 堆疊架構圖 本論文所使用的 Zigbee 通訊協定具有以下幾點特色: 1. 低消耗功率,僅使用電池即可維持其運作,適用於無長期供電設備區域。 2. 具有低傳輸速率,在實體層所定義三種頻段中,868MHz 最高傳輸速率 為 20Kbps、915MHz 為 40Kbps 而 2.4GHz 最高傳送速率為 250Kbps。 3. 適用於 2.4GHz,可依照頻段區分為歐洲地區使用的 868MHz、美國地區 使用的 915MHz 及世界通用的 2.4GHz。 4. 具短距離傳輸能力,一般室內約為 30-50 公尺,並依據耗電量不同,在 無遮蔽物的室外最遠可至 100 公尺。
5. 節點的運算能力較差,其運算能力與記憶體較小。
在 Zigbee 協定中,其網路拓樸架構如圖 2 所示,可經由協調者(Coordinator)[3]、 路由點(Zigbee Routers)與終端裝置(End Devices)來建立,可依照建立的環境區分 為三種拓樸架構,有星狀拓樸(Star Topology)、網狀(Mesh Topology)、樹狀(Tree Topology),因此 Zigbee 裝置僅需要節點與節點間的通訊範圍能夠相互覆蓋,即可 透過各種拓樸方式進行傳輸,進而使用不同路由機制,即可有效提升網路的效能 以及擴大 Zigbee 覆蓋範圍。 圖 2、Zigbee 網路拓樸圖 Zigbee 設計與發展的初衷為能夠進行長時間的監控與偵測,且近年來在各領 域都有十分廣泛的應用,如災難預防、智慧家電的控制、綠能建築及健康照護都 是 Zigbee 的應用範圍,且本論文所提出多通道收發器進行語音及影像傳輸功能即 可使用於災難預防以及醫療遠端照護的應用中。
2.2 多媒體串流資訊壓縮技術簡介
在本論文所使用的多媒體資訊中可區分為語音以及影像兩個壓縮技術,而多 媒體壓縮技術中主要目的是龐大的原始資料訊號依據不同的網路頻寬將其壓縮 至適合此網路頻寬傳輸的大小,當接收端收到多媒體封包之後,透過相同的壓縮 技術對其封包進行解碼,即可在透過多媒體設備進行播放。而目前這些壓縮技術 無論是語音或是影像都隨著網路的蓬勃發展,各種針對語音以及影像壓縮技術也 隨之孕育而生出更多種類[6][7][8]。 語音壓縮技術可分類成波形編碼、參數編碼、混合編碼[9],波形編碼主要是 希望可以呈獻最原始的訊號波形為目的,因此它具有良好的語音質量與抗噪能力, 但編碼所需的速率較高且需較多的運算。參數編碼基本上是對語音取得特徵參數 並進行編碼,使重建語音具有盡可能恢復的功能,即是保持原始語音的目的。而 參數編碼的最大優點是編碼速率低但語音品質較差。混合編碼則是綜合了上述兩 種優點,其加入了線性預測編碼(LPC, linear predictive coding)模型,因此具備較高 的語音品質與抗噪能力。影像壓縮技術主要是將資訊中多餘的部分去除達到資料壓縮之目的,而資料 中多餘的資訊可分為四類:時間上的、空間上的、統計上的、感知上的多餘資訊, 如圖 3 所示,為一個典型的影像編碼器,在編碼時,編碼器會對當前信號進行預 測,稱作預測信號(predicted signal),預測的方式可以是時間或是空間上的預測
(inter/ intra prediction)。得到預測信號後,編碼器會將原始信號減去預測信號後得 到殘餘信號(residual signal),編碼器並不會直接對殘餘信號進行編碼,而是將殘餘 信號經過離散餘弦變換後進行量化,進一步的去除空間上和感知上的多餘資訊。 量化後得到的量化係數會再透過 Entropy Coding[10],去除統計上的多餘資訊。
2.2.1Speex 語音壓縮技術簡介
在語音壓縮器的選擇上考量:Sampling、Bit-rate、Variable Bit Rate(VBR)、 Packet Loss Concealment(PLC)與是否為 Open-Source。如表 1 中所示,在各種不同 的語音壓縮技術中進行觀察後可發現 Speex[12]可依據不同的網路環境進行多種 Bitrate 的設定,另外在無線網路環境中進行資料的傳送封包遺失是最常出現且無 法預期的錯誤,Speex 也對於此問題具備了 VBR 與 PLC 等能力,綜合上述結果, 在語音編解碼技術上本論文選擇 Speex 進行收發器的實作,且 Speex 屬於 Open Source 的免費應用,因此研究上無須考慮授權問題。 表 1、語音壓縮技術比較表[13] Codec Rate (kHz) Bitrate (kbps) DelayFrame +lookahead (ms) Multi Rate VBR PL C license Speex 8,16, 32 2.15-24.6 (NB) 4-44.2 (WB) 20+10 (NB) 20+14 (WB)
Yes yes yes open-source/free software
iLBC 8 15.2、13.3 20+5、30+10 - - yes no charge, but not open-source
AMR-NB
8 4.75-12.2 20+5 Yes - yes proprietary
G.729 8 8 10+5 - yes yes proprietary
GSM-EFR
8 12.2 20 - yes yes proprietary
G.723.1 8 5.3 6.3 37.5 - yes yes proprietary
在 2002 年由 Jean-Marc Valin 所提出 Speex[13]語音編解碼技術,主要是基於 編碼簿激發線性預測編碼(Code Excited Linear Prediction,CELP)演算法不斷改良
(Wideband)、超寬頻(Ultra-wideband)。在 Speex 窄頻模式中,主要使用 8kHz 的取 樣率進行編碼,編碼工作分別是 Line Spectral Pairs(LSP) Quantization 線性的量化、 Adaptive codebook search 可調變的編碼簿搜尋、Sub-vector Fixed codebook search 固定式的編碼搜尋,以 128kbps 的原始語音品質來說,進行 8k Bitrate 進行壓縮, 即為 16:1 的壓縮率。
Speex 在封包遺失的情況下也能妥善處理對語音品質所造成的影響,有效的 將語音品質損失降低。Speex 為了能有廣泛的相容性,可調整編解碼運算複雜度 (Complexity),其參數控從 1 至 10,能夠有效的減少記憶體的使用量。另外 Speex 也提供了可變位元率(Variable Bit Rate,VBR)功能,因此綜合以上特點 Speex 非 常適用於嵌入式平台。
2.2.2 H.264 和 x264 影像壓縮技術簡介
H.264[14]由兩個視訊影像主要的組織共同制定而成,國際電信組織(ITU-T) 和國際標準組織(ISO)於 1990 年開始分別制定了一系列的影像壓縮標準,ISO 制 定 MPEG-1/2/4 標準[6][7][8],ITU 制定了 H.261-264[14][15]標準。直到 2001 年 12 月 ISO MPEG 與 ITU-T VCEG 組成聯合視訊小組(Joint Voice Term ,JVT)[16], 共同制訂新的視訊壓縮格式,此新格式分別在 ITU-T 中稱為 H.264,而 ISO 則把 其 納 入 MPEG-4 Part10(ISO/IEC 14496-10) 將 其 格 式 命 名 為 進 階 視 訊 編 碼 (Advanced Video Coding,AVC),一般合稱為 H.264/AVC,此國際標準的首個版本
推出於 2003 年,而修訂的第二版也於 2005 年 3 月定案。H.264/AVC 影像編碼標 準 首 次 將 影 像 編 碼 層 (Video Coding Layer , VCL) 與 網 路 提 取 層 (Network Abstraction Layer,NAL)的概念納入其中,相較於過去影像壓縮技術(如 MPEG-1/2 和 H.263)對於編碼效能更加提升,且 H.264/AVC 使用 NAL 來提供網路狀態使得 VCL 能夠具備更好的編碼和除錯能力,因此 H.264/AVC 對於多媒體串流及行動 電視的相關應用可說是非常合適。H.264 中在壓縮率上能夠利用三種方式進行影 像品質選擇,qp 模式為以恆定量化值(Constant Quantizer)方式編碼為基礎,依 照設定量化品質為目標來進行壓縮;Bitrate 模式是以目標位元率為目標的壓縮方 式,能夠進行壓縮後檔案大小的計算但是品質是未知的;Crf 模式以固定位元率 係數(Constant Ratefactor)為基礎,如果說 Bitrate 是以目標檔案大小為目標,那 麼 Crf 就是以目標品質為目標,相對的檔案大小是未知的。
x264[17] 是 一 套 經 由 GPL(General Public Library)[18] 授 權 自 由 軟 體 (free software library)用於進行影像串流壓縮格式 H.264/AVC 的編碼,而非解碼。x264 現已被許多應用程式甚至許多網站(如,YouTube 和 Facebook)都普及使用,且在 最近的研究中[19],x264 品質表現甚至比某些商業 H.264 編碼器還要好。綜合而 論,H.264 是一套影像壓縮標準而 x264 則是實現 H.264 的產物。
2.3 語音品質指標與量測方法
在網路語音傳輸之應用上,將語音資料由類比訊號轉換至數位化資料的過程 稱之為脈波編碼調變(Pulse Code Modulation,PCM),然而原始的多媒體數位資訊 依舊過於龐大,在經過不同壓縮處理技術編碼後,語音品質必然受到了破壞的影 響,除此之外語音經由無線網路傳至接收端的過程中,又會產生傳遞的延遲 (Delay)、延遲抖動(Jitter)、封包遺失(Packet loss)等會造成語音品質降低的影響。 在大多數無線網路傳遞語音相關研究上[20],皆使用語音品質測量技術對其 研究效 能進 行語音 服務品 質的 分析; 目前已 有的 語音品 質測量 方法 有主觀 (Subjective)與客觀(Objective)兩種,主觀語音評估方法是經由一群受過訓練人員 以人耳來判斷語音品質好壞,受測驗者在聆聽過語音後進行評分,評分標準可分 成五分,(5 分)Excellent、(4 分)Good、(3 分)Fair、(2 分)Poor、(1 分)Bad。此主觀 評分方法為「平均意見分數」 (Mean Opinion Score,MOS)由 ITU-T P.800[21]標 準定義,此方法優點是可以最直接的了解人員對語音品值的滿意程度,但此方法 必須耗費大量人力與時間,然而客觀的語音量測方法則是可以快速的評估語音品 質,客觀的量測方法可分成兩種,分別是 E-Mode[22]與 Perceptual Evaluation of Speech Quality(PESQ)[23]兩種,此兩種測量方法將於以下章節進行介紹。
2.3.1 Perceptual Evaluation of Speech Quality, PESQ
客 觀 的 語 音 品 質 量 測 方 法 中 , PESQ(Perceptual Evaluation of Speech Quality)[23]為一套自動化評價語音品質的標準,PESQ 最初是由荷蘭的 KPN 公司 與英國電信公司共同開發的語音評量模型,並於 2001 年由國際電信聯盟定義為 標準語音品質測量方法 ITU-T P.862[23]。PESQ 基本上就是利用原始輸入的語音 訊號及經由 DUT(Device under test)的降級的輸出訊號之間的差異進行比較,如圖 4 所示。
圖 4、PESQ 架構流程圖
PESQ 使用了原始語音與降級語音經由以下幾個步驟計算來達成: 1.時序對 應(Time alignment)、2.訊號強度相對於標準訊號強度間的對應(Level alignment to a calibrated listening level)、3.時域及頻域之間的對應關係(Time-frequency mapping)、 4.頻偏(Frequency warping)、5.壓縮訊號的響度計算(Compressive loudness scaling) 如圖 5 所示,為 PESQ 的流程架構。
圖 5、PESQ Model 流程圖
PESQ 使用 2.3 節所介紹的 MOS 來做為品質分數的對應標準,影響 PESQ 分 數的因子包括有:1.編碼失真(Codec distortion)、2.封包延遲及損失(Packet delay and loss)、3.Jitter、4.量測時環境的背景噪音。
PESQ 對應 MOS 值的關係如表 2 所示,PESQ 值則是以 4.5 為最高分代表最 好品質,MOS 值約 3.1,語音品質已是多數人感覺較差的了。本論文使用 ITU-T P.862[23]所提供之 PESQ 量測軟體,利用原始音源檔與經壓縮、傳送後已損失的 檔案進行分析後,即可計算出 PESQ 所對應之 MOS 值。
表 2、 MOS 對應
MOS Quality PESQ(MOS)
4.5 Excellent 4.5
4.3 Good 3.88
4.0 Fair 3.65
3.6 Poor 3.40
2.3.2E-Model 與 PESQ 結合之語音品質量測
E-Model[26] 最 早 是 由 歐 洲 電 信 標 準 協 會 (European Telecommunications Standards Institute, ETSI)[24]根據傳統電信網路 PSTN 所提出的標準,後來經由 ITU-T 標準化為標準評估模型(ITU-T G.107)[22],E-Model 所計算的數位語音品質 之損失因素來自於網路傳輸過程中所附加的,在網路傳輸過程中會造成延遲、回 音、雜訊、抖動率等都會造成影響,傳統 E-Model 中制定了量化 R-Factor,主要 為轉換成 MOS 值對應如表 3 所示,R-Factor 評估值介於 0 至 100,數值越高代表 語音品質越好,R-Factor 之計算公式如公式(1)所示: R = R0− IS− Id − Ie + A (1) R0: 發送端產生的雜訊對語音的影響。 IS: 不同雜訊對聲音的干擾影響,如音量或雜音等干擾。 Id: 語音延遲造成的品質影響。
Ie: 指的是 Low bit Rate 編碼對語音的品質影響。
A : 是指期望因子,考慮發送端對語音品的期望因子。 表 3、 R-Factor 對應圖
MOS Quality R-Factor
4.5 Excellent 90<R<100
4.3 Good 80<R<90
4.0 Fair 70<R<80
由於傳統 E-Model 主要用於電路交換網路之語音品質評估模型,並不是用於 封包交換網路上,故需為此針對 E-Model 中的 R-Factor 進行調整。在本論文使用 之語音品質量測方法,採取結合 PESQ 與 E-Model 之對話是語音品質量測,其架 構如圖 6 所示,將原始資訊以及壓縮後資訊進行 PESQ 值的計算,接著將 PESQ 轉換出 R-Factor 後轉換為 Ie,在加上網路傳輸延遲(Network Delay)等參數進行計 算得出 Id,最後將 Ie 和 Id 進行計算後得出 MOSc 值。
圖 6、結合 PESQ 與 E-Model 之量測架構
ITU-T G.107[25]中定義了 R-Factor 與 MOS 之間的關係,將 R-Factor 以及 E-Model 進行 MOS 值轉換公式如公式(2)所示: MOS = { 1 , R ≤ 0 1 + 0.035R + R(R − 60)(100 − R) ∗ 0.000007, 0 < R < 100 4.5 , R ≥ 100 (2) 公式(2)中 MOS 值可依據延遲時間參數分別視為 Listening-only 語音品質以 及 Conversational 語音品質(MOSc)。必須先將 PESQ 值進行 R-Factor 值的轉換, 主要參考 L.Sun[26]提出利用 3rd-order polynomial fitting 將 PESQ 進行轉換,計算 方式如公式(3)。
R = 3.026𝑥3− 25.314𝑥2+ 87.06𝑥 − 57.336 (3) 公式(3)為傳統 PESQ 於接聽端的語音品質結果,其中𝑥代表 MOS 值,另外 Ie
值計算方式如公式(4)所示,由於 PESQ 僅考慮封包經編碼、遺失後的語音損失, 因此 Ie可以由 R0與 R-Factor 計算取得,而 R0可使用預設值 93.2[27]代入計算。 Ie = 𝑅0− 𝑅 (4) 延遲時間對語音造成的品質影響 Id值,本論文根據[27]所提計算方法公式(5), 透過使用 Cisco 訂定的語音延遲計算規範[28]進行計算,計算方式如公式(5)。 Id = 0.024𝑑 + 0.11(𝑑 − 177.3)𝐻(𝑑 − 177.3) where {H(x) = 0 , if x < 0H(x) = 1 , if x ≥ 0(5) 在取得 Id 和 Ie 後可使用公式(6)進行計算,MOSC 的 R 值為使用預設 93.2 減 去 Id 與 Ie 後得到 MOSC 的 R 值,最終使用 MOSC 的 R 值利用公式(2)計算即可 得到 MOSC 值。 (𝑀𝑂𝑆𝑐)𝑅 = 𝑅0− Ie − Id (6)
綜合上述結論,本論文在壓縮技術上分別簡介「Speex」
、
「x264」
,做為
第三章設計與實作上所使用的壓縮技術;多媒體品質量測方法中介紹
「PESQ」
、
「E-model」
、
「MOSc」
,做為第四章實際量測後進行數據分析之依
據,接著本論文將針對在多媒體應用於無線感測網路以及使用多通道機制
研究進行探討與分析。
2.4 多媒體傳輸於無線感測網路相關文獻探討
本節將針對多媒體串流資訊於 Zigbee 網路中傳輸的相關研究進行探討,過去 數年來相關議題已有許多學者提出許多解決研究,並在不同應用情境、實驗平台 與網路拓樸中進行模擬或實作,並提出各種機制提升傳輸速率並且針對傳送後的 資料進行多媒體資訊品質的量測,以下將針對多媒體串流資訊以及多通道技術進 行文獻探討。2.4.1 語音於無線感測網路傳輸
在無線感測網路中進行監測資訊的傳送不同於多媒體串流資訊的傳送,一般 資料在延遲、封包遺失的限制上沒有多媒體資訊來的嚴格。在過去有數個團隊進 行 Zigbee 網路傳輸語音實作研究[29][30][31]。另外更有研究[32]成功將製作出具 有的 Zigbee 傳輸模組耳機 Z-Phone,研究中其硬體運作於全雙工(Full duplex)機制 下可達 38kbps,在不理想的環境中傳輸速率僅剩 29kbps,此文獻主要探討 Zigbee 如何選擇語音壓縮技術作為研究所用,並使用語音處理晶片並結合 Zigbee 進行語 音傳輸,使嵌入式平台可與電腦端連線,達成 Zigbee 耳機目的。在[33]的研究中,將 Zigbee 語音傳輸通訊技術應用於火場之緊急救難環境下, 在編碼技術上使用差異脈衝編碼調變(Adaptive differential pulse-code modulation, ADPCM)的語音編碼器,並透過德州儀器 CC2430[34]通訊晶片進行多跳傳輸的效 能分析,但仍有長時間延遲等議題待解決。
在錯誤! 找不到參照來源。中針對語音品質與距離的關係進行實際量測,找 出在維持良好語音品質情況下硬體設備能夠支援的最遠距離,但此研究僅使用點 對點並未使用多點跳躍進行實驗,因此在傳輸距離上還是有所限制。 因 此 針 對 語 音 傳 輸 議 題 由 [36][37][38] 提 出 延 長 傳 輸 距 離 的 研 究 , 其 中 [39][40][41]提到當節點數增加時,吞吐率即會與節點數成反比,節點數越多吞吐 率則越低,其原因包含了封包遺失與經中繼節點轉送過程的延遲等影響造成。由 [42]研究說明當使用 Zigbee 進行多跳傳輸過程將出現許多延遲,如頻道中裝置搜 尋、頻道連結與工作觸發、Zigbee 感測器發送端由應用層至實體層所需工作延遲, 若中間加入 Router 則需整合發送端與接收端兩項延遲。另外在[43][44]中亦提及 在多跳語音傳送上探討了吞吐率(throughput)與封包遺失率(Packet loss rate)等 QoS(Quality of Servers)議題。
2.4.2 影像於無線感測網路
隨著物聯網(Internet of Things,IOT)的發展,萬物皆可連網的情況下大眾將 各種事物加裝各種感測器進行監測,因此產生了多媒體串流於 WSN 的相關研究 議題,[45]提到在無線感測網路中傳送影像應用的領域以及會面臨到頻寬、延遲、 通道改變能力等挑戰。在文獻[46][47][48]利用環境中的節點進行影像傳輸,針對 窄頻進行大量多媒體資料的傳輸進行過程中造成網路訊號不穩或網路壅塞等問得接收端可以穩定的得到多媒體資訊。[49]作者提到多媒體資訊的資料量是非常 的龐大,因此在無線感測網路中傳輸考驗硬體的處理能力,配合有效的流量控制 機制來確保影像的可靠性,作者使用 Intel 的 Imote2[50]結合 TI CC2420[51]在沒 有 AKC 的情況下最大傳輸率 160kbps,且針對影像品質進行 PSNR 評估,探討不 同解析度的影像可否於無線感測網路中進行傳輸,但並未使用較好的影像壓縮技 術,因此無法在多跳中進行即時影像傳輸。[52]中提出了一種動態路徑的演算法 的 QoS,雖然能夠有效的提升 QoS 但相對犧牲了網路能夠承載的串流資料量。在 [53]提出了一個排程演算法用於多路徑中傳送多媒體封包,根據封包的重要性(優 先權)選擇性的再傳送之前將封包丟棄,根據此方法可有效的降低接收後影像失真, 利用峰值訊噪比 (Peak Signal to Noise Ratio,PSNR)進行影像失真評估。
2.4.3 多通道機制於無線感測網路
近年來 WSN 已可應用於更複雜的操作上如目標追蹤到健康照護,也有團隊 [54]針對 2.4G 設計具低耗能的多通道接收器。多通道通訊具有高效的提升整體網 路的能力,並且能夠有效的減少無線傳輸的干擾以及競爭提升網路的通訊能力, 在[55]研究表示使用非重疊多通道機制相較於單通道能夠有效減少網路的干擾和 使 系 統 有 更 好 的 吞 吐 量 , 研 究 團 隊 [56] 提 出 的 (Multichannel Mesh Routing Communication scheme, MMRC)也證明了使用多通道,吞吐量能有效的提升兩倍。 在 Zigbee 傳統應用 low data rate 即可滿需求,因此傳輸多媒體資訊使用多通道通
訊能夠有效提升吞吐量。在[57]研究團隊提出半動態通道分配的方式,在半動態 通道分配的方式上是必須嚴格的控制傳送端與接收端在同一時間於同一通道內, 才不會造成封包遺失。若僅有單一天線時進行通道切換需要微小的時間,在 CC2420 切換時間為 200us。文獻[58]描述影像在無線感測網路中利用多通道進行 轉傳的方法,利用市售的節點進行分析,傳統節點的天線為半雙工的介面,因此 利用多通道多路徑的方式來提升傳輸率。在[59]研究提出了(Channel Multi-Path, MCMP)機制,為了傳輸龐大串流資料,利用 H.264 進行資料壓縮配合 MCMP 方式減少碰撞增加吞吐量,使用兩個階段的 QOS,在有限的傳輸率下維持其影像 傳輸品質。此外在無線感測網路還有研究學者利用多輸入多輸出技術(multiple-input multiple-output, MIMO)[60]於無線感測網路中進行資料的傳送,[61]中使用 MIMO 結合多通道的技術進行 MAC 協定的設計,將大量的感測節點分為數個不 同的群集,每個群集則使用不同的通道進行傳輸,如此一來不同通道的群集間即 可減少碰撞與衝突亦可有效增加網路吞吐量。 綜合上述多位學者與研究團隊於無線感測網路中傳送不同的多媒體資訊,且 利用不同的傳輸機制進行串流資料的傳送,其中大多數遭遇到瓶頸多為如何將低 封包遺失率、延遲時間;以及如何提升網路吞吐量(Throughput)、多媒體資料品質, 因此本論文在第三章將會詳細敘述如何利用硬體設計達到降低延遲提升吞吐量 以及設計有效排程機制進一步計算網路最大可能中繼(Relay)節點數量。
第三章無線多通道收發器
本章節將介紹多媒體收發器的設計與實作以及於無線感測網路鏈狀拓樸中 多通道排程機制的設計,並解說如何將不同 Bit-rate 的多媒體封包順利於此無線 感測網路進行資訊的傳遞,結合第二章所介紹相關技術並實作於嵌入式平台,除 此之外在封包傳送過程中會出現的不可預期錯誤問題(如:多媒體資訊遭受不規則 切割後遺失於接收端所造成的解碼認知困難等)的解決方案,以及如何利用多天線 多通道排程機制以增加網路傳輸率,在中繼節點通道切換與降低延遲,進而提供 無線多媒體的即時傳輸服務。在不同排程機制下也計算出在維持即時多媒體資訊 (QoS)條件下能夠承載的最高節點跳數,本論文亦提出上述相關設計與解決方案, 以確保多媒體服務在速率以及品質上皆有穩定的表現。3.1 多通道收發器-系統架構
本論文所提出之多通道收發器架構,共分為三大區塊,首先如圖 7 所示,為 多媒體輸入/輸出模組 USB Dongle (外接式音效卡),主要將來自麥克風的類比資 訊經由 Analogue to Digital 轉換後傳至多媒體編解碼模組 BeagleBon Black[62]之 AM335x 1GHz ARM® Cortex-A8 進行多媒體編解碼技術的實作研究如圖 8 所示, 並透過 USB URAT 介面與無線傳輸模組 TI CC2530[63]連結即可進行資料傳送,然而 CC2530 結構中仍無法負荷大資料量的語音資料,為避免 CC2530 傳送與接 收不及,造成語音封包在未經傳送即流失狀況發生,因此如圖 9 所示,本架構另 外在 CC2530 上的左下角額外設置有 ESMT F25L016A[64]之 16Mbit 記憶晶片擴 充 Buffer 容量進行資料流量控制,並且使用多通道(Multi-Channel)的架構將封包 經由不同通道進行無線傳輸,此方法可有效降低封包在單一通道中的碰撞以及提 升整體網路容量,其內容將在 3.2 章節中對於所使用的傳輸機制進行詳細介紹。
圖 7、多媒體輸入/輸出模組 USB Dongle
圖 10、多通道收發器系統架構圖
經由三個模組設計與實作多通道收發器其架構圖如圖 10 所示,由 USB dongle 將來自麥克風的類比資訊轉換成數位資訊後進行多媒體編碼,由於不同的 USB dongle 內部的 Buffer 也不盡相同,但 Speex 窄頻模式(8kHz)為 320 Byte 為一次編 碼單位,若一次輸入較多或較少的語音資料會造成編碼後的語音速度過快或過慢, 因此本論文在 USB dongle 與編碼輸入之間的程式設計上利用環狀 Queues,依照 編碼模式不同將適當的大小的輸入傳送至 BeagleBon 之 Cortex-A8 進行正確的語 音編 碼 ,編 碼 後的 語音 Frame 隨即經由通用非同步收發傳輸器( Universal Asynchronous Receiver/Transmitter, UART)介面傳送至我們在 TI CC2530 額外設 置的 Buffer 內等待傳輸,傳輸時依照傳輸機制選擇不同的通道進行無線傳輸。
由於多媒體封包不同於一般封包,需嚴格控制延遲時間與計算吞吐量,在傳 送端與接收端感測節點需處理多媒體編解碼等運算,而在中繼節點(Relay node)上 僅需將資料進行轉傳至下一跳節點無需進行大量運算,因此本架構設計中繼節點 將以將低延遲時間、提供傳輸效率作為優先考量。如圖 11 所示,系統架構於中繼 節點除了給予增加暫存器外並不多做額外運算即進行語音資料轉送。 圖 11、多跳傳輸系統架構圖
3.2 多媒體串流封包格式定義
儘管 Zigbee 無線感測網路已為相當成熟的技術,但 Zigbee 網路的傳送速率 最高依舊僅有 250kbps,無法與其他通訊協定(如:WiFi、藍芽)的傳輸速率相提並 論,且經由不同的傳輸介面可能造成 Zigbee 傳送速率下降,如本論文所使用之 CC2530 與 BeagleBone 連結的 UART 介面,其 Baud Rate 最高設定為 230400,因 此最大傳輸速率將會限制於 184 kbps 內,然而本系統架構所使用的 CC2530 payload 最大僅 116Bytes ,由上述可得知選擇一個可靠的多媒體編碼器為最優先 的課題。
而經由第二章簡介所選擇的 Speex 語音壓縮技術以及 x264 影像壓縮技術, 語音方面儘管 Speex 具備良好的封包遺失處理能力,但 Speex 語音 Frame 若遭到 Zigbee 封包不規則的切割後傳送,在被切割的 Frame 出現封包遺失時會形成語音 僅剩一半的語音 Frame 無法順利解碼現象,連帶造成後方資訊皆無法解碼的嚴重 影響,因此在利用 Speex 編解碼器的同時設計一個健全的封包格式,以符合 CC2530 無線傳輸晶片中 116 Bytes 的 Payload 大小,使語音封包儘管於傳送過程 發生封包遺失狀況下,在接收端在使用 Speex 解碼器也不會造成語音 Frame 解碼 的錯誤。 在本論文中將採用 Speex 中的窄頻模式,使用其中 15Kbps、11Kbps、8Kbps、 6Kbps、4Kbps 五種不同壓縮率進行實驗,以窄頻 8Kbps 壓縮率為例,8Kbps 的壓
縮 Frame 大小是由 320Byte 的數位資訊進行壓縮所組成的一個 20Byte 的語音 Frame,可進行 20ms 時間長度播放的語音資訊,Speex 編碼格式如表 4 所示, Speex Header 內可放置多種類別,能夠依據 Header 進行語音解碼型態的區分以及 動態調整解碼器,由於嵌入式平台運算能力有限在平台上僅運行一種語音壓縮技 術,且僅使用窄頻模式,因此能夠減少 Header 中的內容並於本論文中僅存放 4Byte 的 Speex frame size,由於 Header 夾帶資訊內容為不同 Bit-Rate 壓縮後的 Frame Size,8Kbps 的 Frame Size 為 20 Byte 因此在 4 Byte 的 Header 中將會放入 4 個 16 進制內容依序 00、00、00、14,代表後面語音資料的大小,解碼器再依據 Speex Header 的資訊進行不同編碼率的辨識進行解碼的動作。
表 4、Speex Header
Field Type Size
Speex_string Char[] 8 Speex_version Char[] 20 Speex_version_id int 4 Header_size int 4 Rate int 4 Mode int 4 Mode_bitstream_version int 4 Nb_channel int 4 Frame_size int 4 Vbr int 4 Frame_psr_packet int 4 Extra_headers int 4 Reserved1 int 4 Reserved1 int 4
圖 12、Speex 標準編碼格式
然而在 Speex 編碼格式如圖 12 所示,中每個 Frame 前都夾帶有 4 個 Bytes 紀 錄 Frame Size 的標頭檔,若一個封包中夾帶了 4 個 Frame 則需夾帶 4*4 Byte 的標 頭檔用於資料的記錄,由於相同編碼率下的標頭檔內容都是相同的,因此在標頭 檔上我們僅需保留一個並刪除多餘的,在有限的 payload 避免無謂的浪費,其本 論文所設計之 Speex 封包格式為圖 13 所示,以窄頻 8Kbps 為例可發現原始格式 僅能放入 4 個語音 Frame 相當於 80ms 的聲音,在去除掉多餘的標頭檔後可多放 入一個語音 Frame 相當於 100ms 的聲音。在高壓縮率的 Bitrate 下單一封包可以 攜帶的 Frame 個數即大於高品質的 Frame 個數,換言之在較低 Bitrate 下可將較 多的 Frame 數進行傳送。
表 5 中為窄頻於一個 Zigbee 封包中所有編碼率所對應的 Frame size,經過本 論文所提出的語音封包設計,在 TI CC2530 的 Max Payload 116 Bytes 中,由表 5 數據可發現在 Speex 高壓縮率的 Bitrate 下能有效的放入更多的語音 Frame,在低 壓縮率的 Speex Bitrate 中 15K 與 18K 只能放的下 2 個 Frame,每個 Frame 都為 20ms 的聲音長度,因此可以以失真較小的 18Kbps 壓縮率做為選擇,與其浪費多 餘的 Payload 空間不如選擇較好的語音品質。 表 5、窄頻 Frame size 對應表 Bit-rate (Kbps) Frame size (Byte) Original frame number Designed frame number 2,150 6 11 18 3,950 10 8 11 5,950 15 6 7 8,000 20 4 5 11,000 28 3 4 15,000 38 2 2 18,200 46 2 2 24,600 62 1 1
3.3 多媒體串流鏈狀路由機制
本論文於多跳多媒體資訊傳輸架構上,將提出以鏈狀路由進行傳送,本論文 將使用多個中繼節點在不考慮能源消耗狀態下進行傳輸排程機制,避免在路由過 程中封包因競爭造成延遲及時間不同步等問題產生,在過去[59]中提及單通道的 情境中最造成隱藏節點的問題,然而本論文為避免此現象發生,進而設計與實作 出單天線單通道(Single Radio Single Channel,SRSC)、單天線多通道(Single Radio Multi Channel,SRMC)、多天線三通道(Multi Radio Three Channel,MRTC)、多天 線六通道(Multi Radio six Channel,MRSC),四種傳輸排程機制,可依據使用情境 的不同進行選擇。
3.3.1 單天線單通道傳輸機制
在鏈狀拓樸下使用傳統的單天線單通道傳輸架構中,如圖 14 所示,Sender 的 訊號涵蓋範圍內僅有 R1,而 R2 的訊號涵蓋範圍內僅有 R1 與 Receiver,在封包 傳輸時就會造成隱藏節點(Hidden terminal),封包在 R2 傳送資料至 Receiver 時同 時 R1 也會接收到來自 R2 資料,因此 Sender 在此時間傳送封包將會造成封包遺 失,必須等待一個封包的 Transmission time 後才能夠正常傳輸封包資料。
圖 14、單天線單通道(SRSC)傳輸架構
在鏈狀拓樸下使用傳統的單天線單通道機制,如圖 15 所示,第一個封包會 在 T0 時開始從 Sender 傳送至 R1,在 T1 時 Sender 無法將第二個封包傳送至 R1
包傳送至 R1 這是因為 R1 同時聆聽到來自 Sender 以及 R2 的資料,若此時傳輸 將會造成封包遺失,而且節點並不是多通道的設計,因此 T2 造成隱藏節點的問 題必須再等待至 T3 時 R2 已完成資料傳輸動作,Sender 才能夠傳送第二個封包, 此為傳統的單通道設計,在 T2 的隱藏節點問題造成一個 Transmission time 的浪 費,因此在下一個設計中本論文即針對此問題進行設計與改善。 圖 15、單天線單通道(SRSC)傳輸機制
3.3.2 單天線多通道傳輸機制
在過去單天線單通道的機制下,T2 所產生隱藏節點的問題造成 Sender 必須 等待兩個 Transmission time 時間才能夠傳送第二個封包,在傳送的過程中造成空 閒時間的浪費,在鏈狀拓樸的多跳架構下此問題會大大的降低整體網路傳輸率。 如圖 16 所示,本論文設計與實作出 SRMC 機制於中繼節點上,使用通道切換的 機制改善過去中繼節點上的接收與傳送皆使用相同通道的設計,如此一來即可減 少在 T2 因為隱藏節點問題所造成的時間浪費。 圖 16、單天線多通道(SRMC)傳輸架構 如圖 17 所示,T0 時開始從 Sender 傳送至 R1,在 T1 時 Sender 亦無法將第 二個封包傳送至 R1,這是因為 R1 正在將第一個封包傳送至 R2, T2 時由於改 善隱藏節點問題因此 Sender 能夠傳送第二個封包至 R1,因為 Sender 與 R1 進行 通訊的通道不同於 R2 傳送至 Receiver 的通道,因此使用通道切換機制能夠有效 改善隱藏節點問題。圖 17、單天線多通道(SRMC)傳輸機制 通道切換之中繼節點運作流程如圖 18 所示,首先 T0 時傳輸初始化中繼節 點(R1)通道並調整至接收頻段等待接收,T1 時當 Radio 旗標為 HIGH 意味著有 封包正在接收,接收完成後將資料進行暫存器的搬移,進行通道切換將封包經 由不同通道傳送至 R2,傳送完成後再將通道切換回接收頻段等待接收。 中繼節點運作機制虛擬碼如圖 19 所示。我們在 SRMC 機制中將中繼節點接 收和傳送所使用的通道錯開,第 4 行為 Radio 旗標為 HIGH 則進行封包接收, 第 6 行為接收完成後進行通道切換至 Channel 1(2470MHz)等待傳輸,第 8 行為 中繼節點內部之暫存器的資料搬移的,在第 10 行以及 12 行寫入 Zigbee Header
後下達傳送命令,在傳送封包時必須等待 4ms 的時間後才能夠在第 16 行將通道 切回 Channel 2(2480MHz)等待接收,這是由於在封包傳送的過程中,天線無法 進行通道的切換,而 Zigbee 的最大傳輸率為 250Kbps 因此一個封包的傳輸時間 約為 4ms。 綜合上述而論,本論文在 SRMC 機制中將中繼節點接收和傳送所使用的通 道錯開,達到改善隱藏節點的目的,因此 SRMC 傳輸機制能夠使用不同頻段達 到增加網路吞吐量之目的。 1. state = Listen_Radio(); 2. if(state = = OK){
3. /*Save to RXFIFO to Recv_Buffer */ 4. if(RXFIFO(Recv_Buffer)==CRC_OK){ 5. /*Channel switch to 2470MHz*/
6. Set_Radio_Channel(2470MHz); 7. /*Save to Recv_Buffer to Tran_Buffer*/
8. Tran_ [Buffer] = Recv_ [Buffer]; 9. /*write MAC Header and payload*/
10. Wr_Radio_Packet_to_TXFIFO(Tran_Buffer); 11. /*Transmit command*/
12. CMD_Radio(ISTXON);
13. /*Wite transmission time 4ms*/ 14. Delay_4ms;
15. /*Channel switch to 2480MHz & wait to
receive*/
16. Set_Radio_Channel(2480MHz); 17. }
18. }
3.3.3 多天線三通道傳輸機制
儘管在 SRMC 上已經改善了隱藏節點的問題也有效的提升網路傳輸率,不過 在排程上仍有浪費的空間,因此本論文進一步的將硬體架構設計為多天線的傳輸 架構,如圖 20 所示,依照此硬體架構設計 MRTC 的傳輸架構。在 SRMC 機制上 所造成 T1 無法同時進行傳送與接收的動作是因為硬體上單天線設計的問題,本 論文改善硬體設計架構,使用雙天線(Dual Radio)的設計達到能夠同時進行收發的 動作,因此在傳輸速率上又能夠向上提升以滿足影像所需的傳輸率,但雙天線會 導致天線之間必須經由 UART 傳輸,進而造成額外增加的延遲時間這是必須改善 的問題。 圖 20、單天線三通道(MRTC)傳輸架構 利用雙天線的 MRTC 傳輸機制計如圖 21 所示,在 T1 時利用雙天線的特性 能夠同時進行收發的動作,因此 R1 可以同時利用 RF1 接收來自 Sender 的資料也 能夠同時將資料利用 RF2 傳送給 R2,不過也由於雙天線的設計在 T1 之後皆同時 進行收發動作,在 RF1 接收資料後必須經由 UART 介面傳送至 RF2,這個過程中 即增加了一個 UART Delay 在多媒體資訊傳輸中 Delay 將會影響語音品質以及即時傳輸的距離,在 MRTC 的機制中每增加一個中繼節點在整體傳輸的時間上即會 增加一個 UART Delay,本論文在 Baud rate 參數上設定為 230400 相當於 184kbps 的傳輸率,對於一個 8Kbps 壓縮率長度為 115 Byte 的封包來說就會增加 5ms 之 UART Delay,這對多媒體資訊的傳輸距離上會造成很大的影響,此影響會限制增 加中繼節點的最大數量,因此如何改善此 UART Delay 為重要的挑戰。
3.3.2 多天線六通道傳輸機制
為了解決 MRTC 所面臨到中繼節點轉傳的過程中所產生的 UART Delay,如 圖 22 所示,本論文最終設計了 MRSC 的傳輸架構,主要結合 SRMC 所使用的中 繼節點通道切換方式以及 MRTC 所使用的雙天線硬體架構設計,MRSC 將封包分 為兩組(奇數與偶數)分別有兩個通道進行傳輸,兩個通道分別有中繼節點的兩個 天線(RF1 與 RF2)負擔,由於不同通道能夠有效改善隱藏節點問題,而雙天線分 別負擔封包傳輸使得資料不必經由天線之間傳遞如此一來即可避免天線中所產 生 UART Delay。 圖 22、多天線六通道(MRSC)傳輸架構 MCSR 傳輸機制於中繼節點上改為結合通道切換機制與雙天線硬體架構,如 圖 23 所示,Sender 在發送封包時利用兩個不同的通道來負責封包的傳送,第一 個封包在 T0 時由 Sender 傳送,T2 時第二個封包利用不同的通道進行傳輸在中繼 節點上,分別利用兩個天線負擔封包傳輸,因此 MRSC 架能夠達到與 MRMC 相 同的排程,更是因為雙天線負擔雙通道的傳輸架構,因此不具有天線之間傳輸之UART Delay,在這邊要注意的如圖 22 所示,Channel 1、4、5 通道與 Channel 2、 3、6 通道因為會同時有資料進行傳輸,因此在通道的選擇上應須避免使用相鄰的 通道防止干擾的產生。 本論文最終利用多天線以及多通道設計 MRSC 傳輸機制預期能夠達到降低 中繼節點延遲以及提升吞吐量的目的,因此在 4.2 節會利用示波器進行實際延遲 時間的量測,計算在維持即時語音傳送的條件下最多能夠增加的中繼節點數量。 圖 23、多天線六通道(MRSC)傳輸機制
第四章系統測試與效能分析
本節將針對四種多跳語音傳輸架構進行實際品質量測。首先測量 Zigbee 三種 距離多跳傳輸效能,再加入本論文所提方法進行最大節點數的計算測量,最後再 針對各實驗數據進行分析。於 4.1 為測量架構與參數設定,4.2 CC2530 網路效能 分析,4.3 語音品質分析。4.1 系統測試平台架構
本論文所提之多通道收發器之運作情境預設為無電力支援的戶外區域,因此 無其他 2.4GHz 訊號(WiFi、藍芽等)干擾源,故本實際測量地點亦挑選無其他 2.4GHz 之空曠地進行實地量測,最終選擇台中市大里橋旁的元提路進行實測,本 論文主要目的在有效降低中繼節點延遲以達最遠多跳傳輸距離以及提升網路吞 吐量以達到多媒體資訊即時傳輸,量測環境如圖 24 所示。 圖 24、量測環境示意圖表 6、WiFi 和 Zigbee 頻道分配[3][65]
WiFi (MHz) China North America/Taiwan
Japan Zigbee(MHz)
- - - - 2405
2412 Yes Yes Yes 2410
2417 Yes Yes Yes 2415
2422 Yes Yes Yes 2420
2427 Yes Yes Yes 2425
2432 Yes Yes Yes 2430
2437 Yes Yes Yes 2435
2442 Yes Yes Yes 2440
2447 Yes Yes Yes 2445
2452 Yes Yes Yes 2450
2457 Yes Yes Yes 2455
2462 Yes Yes Yes 2460
2467 Yes No Yes 2465 2472 Yes No Yes 2470 2484 No No 11b only 2475 2480 本論文雖選擇戶外區域無干擾地點,但為了資料準確性在通道選擇上如表 6 所示,排除 Zigbee 與 WiFi 衝突到的頻段(2410 至 2460MHz)避免結果受到影響, 由於非重疊頻道僅剩 5 個(2405、2465 至 2480MHz)但本論文使用機制需 6 個通 道,因此其中一個通道還是需使用重疊通道。本章節針對多點傳輸系統與能夠進 行多種排程機制之硬體元件 CC2530 與 Speex 進行最佳化測試,本論文所採用的 嵌入式硬體平台為 BeagleBone Blacke,其相關規格如表 7 所示,作為本系統主要 開發平台,BeagleBone Black[62]是由 TI 德州儀器所推出的一款開發平台,而 BeagleBone Black 主要採用了 AM335xCortex A8 ARM 微處理器[66],且尺寸僅 一張名片大小,另外此平台具備 USB 與 64 pin 的 I/O 腳位可提供更方便的擴充
僅需要 5V 直流電即可提供微處理器運作使用。在多媒體模組上採用 USB audio 音效卡相關規格如表 8 所示,由於不必安裝驅動程式且支援 Linux 系統能夠快速 的與 BeagleBone Black 進行結合。
表 7、BeagleBone Black 規格表
Processor
AM335x 1GHz ARM® Cortex-A8 512MB DDR3 RAM 2x PRU 32-bit microcontrollers
Connectivity
USB client for power & debug USB host Ethernet HDMI 2x 46 pin headers 表 8、USB Dongle USB audio 音效卡 支援音箱或耳機 麥克風錄音功能 USB 介面可取代傳統音效卡 將類比訊號轉為數位訊號 支援 Windows & Linux
免安裝驅動程式 另外本論文所使用的 Zigbee 無線感測網路模組為 CC2530 規格如表 9 所示, CC2530 主要特色是它承襲了 IEEE 802.15.4/Zigbee 堆疊架構為基礎的模組,具有 平價與低功率等特點,使用 2.4GHz 之 ISM 頻段,在此頻段內又可細分為 16 個 頻道(Channel)能夠進行跳頻的傳輸,傳送功率最大為 4.5dBm,傳輸距離依照不同 功率區分為 15 個電量輸出等級。 表 10 中為本論文實驗相關參數設定,其中 CC2530 參數設定,其中 UART 介 面的 Baud Rate 的運作範圍為 9600-230400,為求最佳最佳化網路吞吐量因此 Baud Rate 設定以最大值 230400 做為設定, 230400 相當於 184 kbps 的傳輸率。儘管 CC2530 的 Transmit Power 能夠達到 4.5dBm,但在硬體設計上天線使用指向性的
陶瓷天線,在傳輸距離表現上僅有規格所表示的約 100 公尺,且與天線的方向有 著直接性的關連。 表 9、CC2530 規格表 Platform TI CC2530 RF Data Rate 250 kbps Voltage Range 2V-3.6V Indoor Range 30m Outdoor Range 100m Frequency Band 2.4 GHz Transmit Power 2.8mW(4.5dBm) Microcontroller 8051 Baud Rate 9600–230400 表 10、實驗參數設定 CC2530 參數 數值 Baud Rate 230400 Topology Chain
Network mode Beaconless
Transmission Power 2.8mW(4.5 dbm) Transmission Distance 40-80m
Speex 參數 數值
4.2 系統實測與分析
本論文主要目的將針對所提出使用的硬體元件進行效能分析,分析語音資料 於硬體元件內部處理所造成的 Delay,接著分析 Speex 語音壓縮技術於不同編碼 率的語音品質及壓縮與解碼的 Delay,並針對不同封包遺失率對語音的影響進行 探討,最後四種傳輸機制進行不同距離的環境配置並進行效能評估與語音品質測 量。 首先本論文選擇由 ITU-T P.50[67]所提供的兩語音以 Speex 窄頻模式適用的 8000Hz 取樣頻率、16bit 解析度之規格原始檔做為量測參考檔案,語音檔為男子 以英式英文說話,檔案分別是語音長度窄頻為 2 分鐘以 6000 個 Frame。依照 Speex 不同壓縮率進行壓縮,再依據本論文 2.3 節所定義之封包格式進行封裝,因此相 同長度的語音量經由不同壓縮率壓縮後封包個數也會有所不同,不同 Bitrate 對應 單一封包大小結果如表 11 所示。 表 11、Speex 窄頻之封包大小與封包數 Speex Bitrate PayloadSize(Byte)
Number of frames per packet number of packets 4 Kbps 114 11 546 6 Kbps 109 7 858 8 Kbps 104 5 1200 11 Kbps 116 4 1500 18 Kbps 96 2 3000
4.2.1 系統延遲測量分析
在語音傳遞實作過程,語音延遲亦是影響語音品質的重要環節之一,因此本 節重點為測量系統架構中延遲議題與探討,本實驗流程可分成 Sender 節點、Relay 節點及接收節點三大環節,其中每環節中進行著不同的工作,所以延遲時間也並 不相同,如圖 25 所示, 圖 25、系統延遲區塊首先 Sender 節點可以分成四區塊分別,Analogue to Digital Delay 此為麥克 風接收使用者所發出的聲音訊號,經由音效卡的類比轉成數位音訊字串的過程所 造成的延遲時間,如圖 26 所示每個 Frame 平均延遲時間約 20.1 ms,此延遲時間 將在 4.33 節中最高節點數公式中計算。接著原始語音串流透過 Speex 編碼技術 進行壓縮處理,如圖 27 所示,為 Speex 8Kbps 進行 6000 個 Frame 之結果,單一 Frame 編碼之平均時間為 0.084ms,本論文所使用的 Speex 窄頻 4k-18k 單一 Frame 之平均編碼時間如表 13 所示,Speex 每完成一個 Frame 後會將其寫入 CC2530
Buffer 中等待傳送,其等待時間依照本論文 3.3 節所定義封包格式不同而有所差 異,如 8Kbps 格式則必須等待 5 個 Frame 的處理時間,因此窄頻需要 0.42ms 的 延遲時間。
圖 26、Analogue to Digital 轉換延遲時間
圖 27、Speex 窄頻 8K Encode Delay 15 16 17 18 19 20 21 22 23 24 25 0 1000 2000 3000 4000 5000 6000 A/D Co nv er t T im e (m s) Frame Sequence 0 0.1 0.2 0.3 0.4 0.5 0.6 0 1000 2000 3000 4000 5000 6000 Sp ee x E nco din g T im e( m s) Frame Sequence
表 12、Speex 窄頻 Encode Delay
Bitrete Encode delay(ms)
4 Kbps 0.085 6Kbps 0.082 8Kbps 0.084 11Kbps 0.1 18Kbps 0.16 語音資訊經過 Speex 編碼處理後,透過 UART 介面將資訊傳送至 CC2530 Buffer 等待傳送,本論文利用點對點傳輸與增加一個中繼節點的四種機制分別進 行比較,如圖 28(a)所示,黃色區塊為 Sender 端 UART TX Delay,藍色區塊為 Receiver 端 UART RX Delay,由於傳輸時間與接收時間在無線環境中是重疊的因 此僅需計算一次,在 SRSC、SRMC、MRSC 機制上如圖 28(b)所示,每增加一個 節點將會增加一個 Network Delay 其中包含中繼節點暫存器進行資料搬移的處理 時間(Processing time)以及重疊的收發時間(Transceive time),而圖 28(c)在 MRTC 機制中由於雙天線架構設計,其 Network Delay 包含在天線傳輸過程中增加一個 天線 UART(Radio UART)的時間以及收發時間,因此利用各個機制的 Network Delay 減去 Transceive time 即為每增加一個中繼節點所增加的時間延遲,故本論 文將利用示波器量測每段時間,在 4.3.3 節中計算出各個機制能夠增加的最大中 繼節點數量。
圖 28、傳輸狀態時序圖(a)點對點傳輸情境(b)SRSC、SRMC、MRTC 之 2 跳傳輸 機制(c)MRTC 之 2 跳傳輸機制
本論文使用四種不同傳輸機制,因此在 Network Delay 上各種方法皆有所不 同,因此利用示波器量接上 Sender 端的 UART TX 和 Receiver 端 UART RX 進行
量測,依照點對點的中的間隔時間以及增加一個 Relay 節點的間隔時間,將兩者 相減即可計算出每個中繼節點所增加的 Network Delay,示波器結果可參考圖 28 進行對照。在 SRSC 機制上如圖 29 所示,點對點的 Transceive time 為 4ms,在增 加一個 Relay 節點的情況下如圖 30 所示,延遲時間增加至 9ms,因此將 9ms 減 去 4ms 即為 Network Delay,故 SRSC 機制上每增加一個中繼節點需增加 5ms 的 Network Delay。在 SRMC 傳輸機制中如圖 31、32 所示,每增加一個中繼節點的 Network Delay 與 SRSC 相同為 5ms,由於使用多通道傳輸能夠有效地縮短封包的 傳送間隔。利用雙天線進行改良硬體設計後的 MRTC 機制如圖 33、34 所示,由 於能夠在單一節點同時進行接收與傳送,因此在封包的傳送間隔上能夠更進一步 的降低,不過也由於雙天線間是利用 UART 介面進行溝通,因此在每增加一個中 繼節點的情況下須增加 10ms 的 Network Delay。最後為了改善 MRTC 所產生的 UART 時間,在 MRSC 機制中 Sender 端即使用雙通道進行傳送,中繼節點的雙 天線分別負擔雙通道的封包。如圖 35 所示,可發現封包傳輸間隔與 MRTC 相同, 但在增加一個中繼節點情況能夠改善 UART 時間,如圖 36 所示,在接收端可發 現 UART 接收封包不連續這是因為分別由兩個天線負責接收不同通道封包,因此 在增加一個 Relay 節點僅需增加 5ms 的 Network Delay。
圖 29、SRSC 機制點對點延遲 圖 30、SRSC 機制兩跳延遲
圖 31、SRMC 機制點對點延遲 圖 32、SRMC 機制兩跳延遲
圖 35、MRSC 機制點對點延遲 圖 36、MRSC 機制兩跳延遲 當封包經過無線傳輸後由 Receive 節點接收時,透過 UART 介面傳送至 BeagleBone Black 之 Cortex-A8,即使用 Speex 進行解碼處理,而每 Frame 解碼處 理延遲窄頻如圖 37 所示,為其單一 Frame 平均解碼時間,不同 Bitrate 量測結果 如表 13 所示。再依照 4.2 節表 11 中不同 Frame 數量進行計算,而經過解碼後封 包即透過音效卡進行 Digital to Analogue 處理,延遲時間如圖 38 為每 Frame 平均 延遲約 20ms,此時間也將在 4.33 節中最高節點數公式(7)中計算。
圖 37、Speex 窄頻 8K Decode Delay 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0 1000 2000 3000 4000 5000 6000 Sp ee x Dec o din g t im e( m s) Frame Sequence
表 13、Speex 窄頻 Decode 延遲時間
Bitrete Decode delay(ms)
4 Kbps 0.027 6 Kbps 0.025 8 Kbps 0.025 11 Kbps 0.025 18 Kbps 0.029 圖 38、Digital to Analogue 轉換延遲時間