第五章 實驗數據與系統效能分析
5.2 串流系統測試
為了更進一步驗證我們所提出的動態頻寬管理之演算法則,以及觀察串流伺 服器實際運作情形;在本章節中將模擬使用者於不同情況下使用本系統時,分析 使用我們提出的演算法則獲得的數據和結果,並討論本論文中所提出的演算法則 是否可以有效的運作。
5.2.1 串流系統測試說明
在本節中將介紹我們如何測試串流系統。為了讓我們設計的整個系統更完 善,也想測試我們的演算法是否可以正確的使用在串流系統上,因此我們將使用 本系的電腦教室來模擬使用者實際收視的情況,其配備約有 30 部左右的電腦供 學生使用,以此共約 30 部電腦和本實驗室中約 10 部電腦來當我們的測試環境,
圖 5-5 為測試系統時電腦教室一隅。
圖 5-5 串流系統測試畫面(一)
使用者可以透過 IE (Internet Explorer) 瀏覽器連結到我們網頁伺服器上的網 頁,即可收視本系統上提供之串流多媒體檔,為了可以模擬更多人的使用情況,
並測試我們串流伺服器的承載量,我們可以在一台電腦上開啟多個網頁,模擬 1
~ 2 個使用者,並各自點選不同的頻道收視,來觀察其獲得的結果。在此,本論 文約使用了 30 台電腦模擬出約 35 位使用者,以此方式測試串流系統。
圖 5-6 串流系統測試畫面(二) 圖 5-7 串流系統測試畫面(三)
如圖 5-8 為使用者進入本系統的網頁,使用者可以自行選擇欲觀賞的視訊頻 道,連結至串流伺服器下載該串流檔,再透過內嵌於網頁中的 media player 播放 器播放其串流檔案。
5.2.2 串流系統之動態頻寬分配分析
本章節我們將針對我們提出的演算法則(三),在我們架設的串流伺服器上,
做兩個實際系統之頻寬分配測試的實驗與分析。於此將針對例一及例二中分別獲 得的A
( )
m 表,進行在實際系統上測試的動態頻寬流量分析,透過我們架設的串 流伺服器和在串流伺服器中加入我們設計的動態頻寬分配法則,對串流伺服器做 最佳的頻寬控制,並使每位使用者的收視品質都能到達最佳狀況。例一:Server 中提供 3 部皆為 convex 的多媒體檔案,每部檔案皆各有 3 個 頻寬供使用者選擇,使用者可以針對收視端的環境,挑選適用之頻寬連結。
圖 5-8 C=3和K =3觀看介面
表 5-1 為 Channel1、Channel2 及 Channel3 提供之頻寬的壓縮失真值(MSE)。
Channel 1 Channel 2 Channel 3
MSE(256kbps) 2.75 33.78 37.04
MSE(384kbps) 2.00 23.09 24.38
MSE(512kbps) 1.62 17.67 17.90
表 5-1 C=3和K =3頻道數據
MSE(Mean Square Error)值越小,表示視訊品值較好,反之 MSE 值越大,視 訊品值則較差。
由於我們提出的演算法,目的是希望在能提供給使用者最大的頻寬下,也能 帶給所有收視端最佳的收視品質。因此,圖 5-9 為例一中,由C = K3, =3組合所 組成的 216 個點,並套用演算法則(三)所得到的 7 個 vertexs(公式:
(
K− C1)
+1),將該 7 點紀錄至 Server 的A
( )
m 中,於之後做動態頻寬分配管理用。= =
接著,我們將該例於事先計算獲得的縮減其 Video 之相對應 Bit Rate 之順序 的A
( )
m 表,置於我們架設的視訊串流伺服器上,進行實際在本系統測試的動態 頻寬流量分析。(a)
(b)
(c)
圖 5-10 3C =3,K = 頻寬調節分析(a)頻寬調整比較(b)收視人數(c)PSNR 值比較
例一我們模擬約 26 人左右同時在線上收看串流的使用情況,並設定 Server 串流出去的總頻寬上限為 10000kbps,串流系統隨著使用者的增加,提供出去的 總串流頻寬也將會跟著提升;在此我們使用一個統計總流量的軟體-VnStat,來 協助我們觀測目前 Server 所提供之串流的總頻寬,在我們的系統中,我們設定以 每分鐘觀看一次目前 Server 串流出去的總流量,而 Server 一但超過我們設定的 上限頻寬後,將會執行我們提出之演算法則中 Prune 的程序,圖 5-10(a)藍色曲線 圖中以紫色虛線圈起處為第一次 Prune,若使用者又再次增加,Server 還是超出 設定提供出去的總頻寬,則再次 Prune 之;另外,在圖 5-10(a)中也能看見,隨著
圖 5-10(b)之目前 Server 內使用者的離開,可能會空出一些多餘的頻寬足以提供 總頻寬,如此一來 Server 可能會有長時間超用租用頻寬的問題,而若在串流 Server 中加入我們的動態頻寬分配法則,則較能妥善的控制 Server 串流出去的總流量,
分析及比較。從圖 5-10(c)可以得到兩者之間給與使用者收視之平均 PSNR 值差 距,在例一中我們可以看到未使用頻寬調整的數據和有使用動頻寬調整之數據間 影響使用者收視畫質的差距,最大在 16 分鐘處,大約差 2.58db 左右。
因此,由圖 5-10(a)(b)(c)三圖中我們可以看到,當未使用頻寬調整法則時,
將會使系統在人數不斷增加時,使我們的視訊串流伺服器總頻寬不斷上升,並可 能造成長時間超過租用的頻寬,則需付給 ISP 業者許多的罰款;反之,若於視訊 串流伺服器內有加入我們設計的動態頻寬調節模組,使視訊串流伺服器可以使用 本論文中提出的演算法則來調節串流出去之總頻寬,將可有效的控制視訊串流伺 服器內的總頻寬,使之盡量避免超出安全值,並且由圖 5-10(c)中可看到,當我 們使用我們的動態頻寬分配法則做最佳頻寬調節時,也不會對使用者在收視品質 上有太大的影響;所以,我們可以從該實驗中得到的結論是,有使用我們的動態 頻寬分配法則,不僅可以快速並有效的控制視訊串流伺服器之總頻寬,並可對使 用者收視情況做最佳的調節。
例二:Server 中提供 4 部皆為 convex 的多媒體檔案,每部檔案皆各有 3 個 頻寬供使用者選擇,使用者可以針對收視端的環境,挑選適用之頻寬連結。圖 5-11 為例二(C= 4,K =3)提供給使用者點選頻道及收視的畫面。
圖 5-11 C =4和K =3觀看介面
表 5-2 為 Channel1、Channel2、Channel3、Channel4 提供之頻寬的壓縮失真 值(MSE)。
Channel 1 Channel 2 Channel 3 Channel 4
MSE(256kbps) 2.75 33.78 37.04 8.66
MSE(384kbps) 2.00 23.09 24.38 5.69
MSE(512kbps) 1.62 17.67 17.90 4.26
表 5-2 C =4和K =3頻道數據
圖 5-12 為例二中,C= K4, =3組合所組成的 13824 個點,並使用我們的演 算法則可得到 9 個紅色 vertexs(公式:
(
K − C1)
+1),然而我們將事先計算好該例 之縮減其 Video 之相對應 Bit Rate 順序後,將該 9 點紀錄至 Server 的A( )
m 中,於 之後做動態頻寬分配管理用。圖 5-12 C=4和K =3之 lower boundary of convex hull
接著,我們將該例於事先計算獲得的縮減其 Video 之相對應 Bit Rate 之順序 的A
( )
m 表,置於我們架設的視訊串流伺服器上,進行實際在本系統測試的動態 頻寬流量分析。(a)
(b)
(c)
圖 5-13 3C= 4,K = 頻寬調節分析(a)頻寬調整比較(b)收視人數(c)PSNR 比較
接下來我們再更進一步觀看例二的實測數據;前面已使用我們提出演算法則 找出例二(C= K4, =3)的 lower boundary of convex hull,並提供A
( )
m 表至系統;在此例中,我們模擬約 34 人左右同時在線上收看串流的使用情況,並延長我們 的測試時間,也設定 Server 串流出去的總頻寬上限為 12000kbps,在此同樣使用
VnStat 軟體,以每分鐘觀看一次 Server 目前串流出去的總流量,若 Server 超過 我們設定的上限頻寬後,即執行演算法則中 Prune 的程序;在圖 5-13(a)藍色曲線 中以紫色虛線圈起處為 Prune 的程序,若於縮減頻寬後又再度持
續增加收視之使用者,則 Server 可能還是會超出設定提供出去的總頻寬,此時即
圖 5-13(c)中,我們同樣也更進一步將無使用調整狀態和有使用動態頻寬調 整法則之情形,以每分鐘對於所有使用者收視情況的平均 PSNR 值做數據分析 及比較。從圖 5-13(c)可以得到兩者之間給與使用者收視之平均 PSNR 值的差距,
在我們於例二中觀察的 50 分鐘內有使用我們的動態頻寬調整法則和無使用調整 狀態對於使用者收視的平均 PSNR 並不會相差太大,且可以看到有使用我們的動 態頻寬調整部份,可於視訊串流伺服器內有餘裕頻寬回復原本要求收視較高畫質 使用者時,其平均 PSNR 值將可跟著提升服務的品質;而在例二中其最大的差距 為我們以綠色虛線圈起處,時間於 32 分鐘時,其差距大約差 2.29db 左右。
透過在實際環境下的兩個測試實驗,不僅能確定我們架設的串流伺服器能同 時服務那麼多位的使用者,且我們可以由數據中分析得知,使用我們的演算法則 是可以真正運作在實際情況下的,然而透過我們設計的演算法的確能得到完好又 快速的動態頻寬分配管理和調節,並提供給使用者在限制條件下的最佳收視品 質。
第六章 結論與未來展望
本章將對於我們的論文做一個總結,同時對於之後可能的發展方向作一個簡 單的介紹。
6.1 結論
在本論文中我們發展了一個動態頻寬調整法則,用來解決主從式架構之視訊 串流伺服器耗用頻寬資源的問題,本法則以群組架構並且使用 Prune 程序以及 Grow 程序來達到本論文在 1.2 節時所討論的兩點目標:
(1) 當總流量超過安全值,調節頻寬時可最小化視訊品質之降低。
(2) 頻寬充足時,調節頻寬且最大化的提昇視訊品質。
經由第五章的各種數據分析,我們可以看出本論文所提出的法則,在調節頻 寬以及視訊品質的影響上有著很好的成效。
同時本論文提出之法則在移植到其他的串流系統上相當的方便,本論文提出 之法則所需要的參數不多,只需要每位使用者的頻寬使用量,以及每個視訊串流 的視訊品質,就可以透過這些參數來做頻寬調整。
6.2 未來展望
本論文所建構的串流伺服器有模組化的架構,此種架構提供開發者方便更換 功能模組。開發者可以更換不同的模組,來使得串流系統發揮更好的效能。另外 我們將以此串流架構整合本實驗室發展多時的 SIP-CAM 系統,發展出一個結合 視訊、監視、轉播且方便管理的多媒體資訊平台。
最後就我們所使用的視訊串流模組部份來討論,本論文所架構的視訊串流模 組本身就是一個龐大的開發專案,它支援多種輸/出入串流,也支援多種多媒體格 式,而且只要增加編解碼的函式庫,此串流系統便可以輕易的增加支援的多媒體 格式。因為這樣的優點,我們可以開發它成為一個多媒體的轉換平台,讓使用本
最後就我們所使用的視訊串流模組部份來討論,本論文所架構的視訊串流模 組本身就是一個龐大的開發專案,它支援多種輸/出入串流,也支援多種多媒體格 式,而且只要增加編解碼的函式庫,此串流系統便可以輕易的增加支援的多媒體 格式。因為這樣的優點,我們可以開發它成為一個多媒體的轉換平台,讓使用本