Video Server 傳送影像至 Video Receiver,中間經過Internet 、無線網路,我們討論無線連接造成的封包遺失。
我們針對影像使用MyEvalvid 做Peak to Signal Nosie Ratio 評估,PSNR(峰值訊號雜訊比程式)是一種較為被大眾接受的影像品質鑑定客觀指標。 步驟如下
STEP1
我們使用ffmpeg.exe 把工人(foreman)的YUV檔案轉成m4V檔案
-s => set frame size , qcif means 176*144
-vcodec = >指定壓縮方式,如mpeg4
-r =>set frame rate ,這裡設定每秒30個畫面
-g => set the group of picture size,設定每一group有9個畫面
-bf = >use 'frames' B frames, 設定I與P之間or P與P之間有兩個frame
-i = >input file name,輸入來源影片 foreman_qcif.yuv
用MP4Box把 .m4v 再轉成 .mp4
用mp4trace.exe 將每一個frame的資訊擷取出來存到forman_qcif.st中
其中 192.168.0.2 is destination ip ,destination port number is 12346
(這邊設定不重要,因為沒有真的傳上網)
現在在lab6裡頭有這四檔案
foreman_qcif.st 裡面有400筆資料
between H and P or P and P have 2 B frame (與壓縮時的參數相關)
STEP4
開始用NS2模擬工具模擬網路效能 (lab6_1.tcl)
參數為 :
opt(0) = good->good 的機率
opt(1) = bad->bad 的機率
opt(2) = 在 good state下,封包發生錯誤的機率
opt(3) = 在 bad state下,封包發生錯誤的機率
opt(4) = seed number
opt(5) = 把每一畫面切成多少size大小的封包
遺失率為0.0106
STEP5
使用模擬過程產生的TX記錄檔sd、RX記錄檔rd 與影片記錄檔foreman_qcif.st 和 mp4檔案
經由tmp4產生一個畫面有遺失的影片foreman_qcife.mp4
STEP6
再次使用ffmpeg將重建的foreman_qcife.mp4 轉回foreman_qcife.yuv
使用avgpsnr針對重建後的 foreman_qcife.yuv 及原始foreman_qcif.yuv,獲得重建後foreman_qcife.yuv的PSNR值為34.839083
STEP8接下來用YUViwer.exe真正觀察影片差異
左邊為原始影像,右邊為重建影像
因為封包遺失率為0.01 所以好像也不怎麼明顯
不過放大後看就有差了,畫面會比較霧些
沒有留言:
張貼留言
try comments