2008年3月25日 星期二

[實驗八] 影像傳輸效能分析與評估


  • 本次實驗是影響影像傳輸的因素,課本裡舉出GOP、壓縮化參數和MTU的不同得到影像品質的好壞,因為測量方式都一樣,只是改變部分的數值,所以我取其中依個實驗來做,我把Packet error設為0.1,測量在GOP = 9 和 GOP = 15的情況下,影像的平均PSNR值為多少,測量方式就如同實驗六一樣。
  • 首先先將yuv轉為m4v (GOP = 9)。
  • 將m4v轉為mp4。
  • 將影片中的資訊取出來,儲存到st的檔案
  • 執行ns (Packet error = 0.1)。
  • 產生接收端的影片。
  • 接收端的影片轉為YUV檔。
  • 得到平均PSNR值。
  • GOP = 15的影片。
  • GOP = 15的平均PSNR值。


  • 做出來竟然沒變,不知道是哪裡設定錯了,看來要好好的檢查一下......= ="

2008年3月22日 星期六

[實驗七] MyEvalvid-NT

  • 執行NS得到記錄檔(sd、rd)。

  • 這是convert.awk裡的內容。

  • 將Verbose_StarWarsIV.dat裡的內容取出和convert.awk做運算。

  • 利用et.exe來得到frame送出端以及接收端的內容 (得出來滿清楚的)。

  • 封包平均延遲和最大延遲。

  • 封包延遲。

  • 畫面平均延遲和最大延遲。

  • 畫面延遲。

  • 封包抖動率。

  • 畫面抖動率。

  • 接下來就是利用書上一堆公式來得到"每個畫面可以被解的機率"和"整部電影可以被解出來的畫面數",得到的數據跟書上一樣,解出來的數值果然也和課本一樣。

[實驗六] MyEvalVid

範例一

  • 進入lab6之後,一開始就是檔案類型的轉來轉去,使用ffmpeg將YUV檔轉為m4v檔。


  • 利用MP4Box將m4v檔轉成mp4檔。


  • 再利用mp4trace將影片中每個frame的資訊取出來,儲存到st的檔案。


  • 這是st檔中的資訊,共有400個frame。


  • 執行ns (錯誤率 = 0.01, seed = 1, 封包大小 = 1024)。


  • 傳送端紀錄(sd)有660個封包。


  • 接收端紀錄(rd)有653個封包,封包遺失率為(660 - 653) / 660 = 1.06% (不知為什麼都跟課本不同,不過遺失率比較接近0.1)。


  • 使用Evaluate Traces of MP4-file transmission(etmp4.exe)來產生接收端的影片。


  • 再使用ffmpeg將m4v檔轉為YUV檔。


  • 使用avgpsnr獲得重建後影片的PSNR值。


  • 影像的比較,左邊為傳送端,右邊為接收端,右邊的影像因為封包的遺失會有些模糊。


  • 在做的時候,發現有許多的執行檔無法執行,ffmpeg.exe以及etmp4.exe都會發生錯誤,如下:




  • 上網亂找,看看有沒有人有相同的檔案,沒想到還滿多的,找到了一個和本次主題還滿像的網頁,在最上面也有提供檔案分享以及滿詳細的說明。

[實驗五] 無線網路封包傳輸延遲模型

情境一

  • 使用隨機統一模型執行NS (Pg = 0.1, loss_model = 0, comm_type = 0)。


  • 傳送紀錄檔(sd)有12351個封包 (最前面為行數)。


  • 接受記錄檔(rd)有11124個封包,封包遺失率為(12351 - 11124)/12351 = 9.93%。


-------------------------------------------------------------------------------------------------
情境二

  • 使用隨機統一模型執行NS (Pg = 0.4, loss_model = 0, comm_type = 1)。


  • 傳送紀錄檔(sd)有12351個封包。


  • 接受記錄檔(rd)有12061個封包,封包遺失率為(12351 - 12061)/12351 = 2.34%


-------------------------------------------------------------------------------------------------
情境三

  • 使用GE模型 (Pgg = 0.96, Pbb =0.94, Pg = 0.001, Pb = 0.05, loss_model = 1, comm_type = 0)。


  • 傳送紀錄檔(sd)有12351個封包。


  • 接受記錄檔(rd)有12118個封包,封包遺失率為(12351 - 12118)/12351 =1.88%

2008年3月19日 星期三

[實驗四] 網路效能測試


有線網路
  • 利用NS來模擬得到tcp_sink、sd_udp、rd_udp,再利用awp來將封包序號和延遲時間,輸出到cbr_delay中。


  • 這是sd_udp,有550筆資料 (最前面為行數唷)。


  • 這是sd_udp,有542筆資料,所以封包遺失率為(550-542)/550 = 1.45%。


  • 這是利用awk分出來的550筆紀錄 (這個前面沒有行數唷@@)。


  • 利用gnuplot來畫圖。


  • 封包延遲


  • 抖動率


  • 利用perl來求出UDP的吞吐量。


  • 利用perl來求出TCP的吞吐量。


-------------------------------------------------------------------------------------------------

無線網路
  • 還是先用NS來模擬分析,這是sd_udp,有453筆資料。


  • 這是sd_udp,有205筆資料,所以封包遺失率為(453-205)/453=54.74%。


  • 延遲時間


  • 抖動率


  • 吞吐量


  • 這是做的實驗出現很多問題,之前是使用NS2.30的版本,前幾個實驗很滿順利的,可是在這次的實驗中,卻無法模擬課本給的範例tcl檔,不得已只好改成2.29,之後要使用perl,我的Cygwin是官網下載的新版竟然無法模擬,接著把perl這個元件移除重灌好幾遍也無解,只好利用課本光碟裡的來重灌才成功,最後裡面全部都變成光碟貨...= =||