2008年6月5日 星期四

實驗六: MyEvalVid

實驗目的:


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





STEP2




用MP4Box把 .m4v 再轉成 .mp4


STEP3

用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大小的封包

傳送端送出659個封包,但接收端只收到652個封包
遺失率為0.0106
STEP5
使用模擬過程產生的TX記錄檔sd、RX記錄檔rd 與影片記錄檔foreman_qcif.st 和 mp4檔案
經由tmp4產生一個畫面有遺失的影片foreman_qcife.mp4

STEP6

再次使用ffmpeg將重建的foreman_qcife.mp4 轉回foreman_qcife.yuv

STEP7

使用avgpsnr針對重建後的 foreman_qcife.yuv 及原始foreman_qcif.yuv,獲得重建後foreman_qcife.yuv的PSNR值為34.839083

STEP8
接下來用YUViwer.exe真正觀察影片差異

左邊為原始影像,右邊為重建影像
因為封包遺失率為0.01 所以好像也不怎麼明顯
不過放大後看就有差了,畫面會比較霧些

沒有留言:

張貼留言

try comments