EvalVSN Requirements :
EvalVSN can be invoked even if Matlab is not available using the binary version after installing the Matlab Compiler Runtime (MCR) version 7.15 available at MCRinstaller.bin
You need of course to set execution permissions : chmod u+x run_EvalVSN.sh EvalVSN
Then : ./run_EvalVSN.sh for example : ./run_EvalVSN.sh /opt/MATLAB/MATLAB_Compiler_Runtime/v715
EvalVSN Input :
The user can specify different parameters in an input file called VideoSimulationParameters.dat. The output will be generated in a directory called outputDirectory/<Dir> where Dir is the id of the simulation. The input file is composed of one line like : SIM1 hall MMPEG 176X144 300 10 1 0 0.1 13 DCT 8 512 ST
Column 1 : the simulation id .
Column 2 : the initial video you want to encode. This video has
to be in YUV QCIF format (lossless H.264 encoded) .
Column 3 : the name of the encoder to use. EvalVSN provides 2 encoders
: MMPEG (Modified MPEG) , MMPEG_LQ (Modified MPEG Low Quality) MMPEG
vs MMPEG_LQ ;
Column 4 : the video (column 2) resolution WidthxHeight, eg. : 176x144, 352x288, ...
Column 5 : the number of frames in the initial video specified
in column 2 .
Column 6 : the video duration in seconds ;
Column 7 : the number of frames per second. If we choose 1fps
for a video that is originally of 30fps composed of 300 frames (this
is the case of hall), then we get only 10 frames to be encoded.
Column 8 : a threshold (>= 0) the similarity threshold. A frame is encoded or not depending on this threshold that expresses a level of similarity between consecutive frames. If the threshold is set to 0then all the frames will be encoded.
Column 9 : a qualityCoef to be chosen in ]0,1]. If it is set to 1 then all frames will be encoded as M-frames. When decreasing the value of this parameter, then the number of D-frames increases.
Column 10 : the number of priorities (up to 13) to be generate.
Column 11 : the used method to compute the DCT ; can take the following values : DCT, LLMDCT, BINDCT which corresponds respectively to the traditional DCT, the LLM and binDCT-C versions of fast zonal triangular DCT.
Column 12 : gives the size of the triangle to be considred in the reduced DCT calculation. This parameter (K) ranges from 2 to 8. There is K(K+1/2 significant coefficients. The lower is K, the faster is the DCT computation as well as the quantification and the coding phases.
Column 13 : gives the maximum size of the data packet
payload. If the size of a given level is greater than the specified
payload then you get the following error message : «Packet payload
size needs to be greater than the size of a priority level». In this
case, the user has to increase this column value.
Column 14 : gives the name of the receiver trace file : can be "ST" or "RT". If it is set to "ST" then the video is encoded and the reference PSNR and SSIM are computed which allows assessing the video compression quality before the transmission. If it is set to "RT" then the statistics are computed based on a receiver trace "RT" and a sender trace "ST".
EvalVSN Output :
EvalVSN when invoked based on an input file structured as suggested produces the following output for each simulation run (that corresponds to one line of the input file) :
- The reduced video outputDirectory/<Dir>/Captured.avi according to the fps.
- The reference decoded video outputDirectory/<Dir>/Decoded.avi
- The Sender Trace file outputDirectory/<Dir>/ST where each line is
structuredin the following columns:
- the time (in seconds) at which this packet has to be sent ;
- the number of the frame to which belong the data of this packet ;
- the type (M or D) of the frame to which belong the data of this packet ;
- this packet priority ;
- this packet payload size in bytes ;
- this packet payload (data) in hexadecimal.
A statistic file called MT (Metric Trace) located at the root of EvalVSN_pkg. In this file statistics for the different run simulations are recorded : one line per simulation. It contains the following columns :
- The simulation Id ;
- mean PSNR (decibels dB) : if the last column (the 14th) is ST then it is the reference PSNR otherwise it is the PSNR of the received video ;
- the mean reference/experienced SSIM ;
- the number of encoded frames : this depends on the fps and the similarity threshold parameters (columns 7 and 8) ;
- the number of M-frames ;
- the number of D-frames ;
- the number of sent packets ;
- the number of sent packets related to M-frames ;
- the number of sent packets related to D-frames ;
- the size of the encoded video ;
- the mean size of an M-frame(Bytes) ;
- the mean size of a packet (bytes) ;
- the overall packet loss ratio ;
- M-frame packets loss ratio ;
- D-frame packets loss ratio ;
The subsequent 13 columns contain the M-frame packets loss ratio with priority 1 until 13 ; The subsequent 13 columns contain the D-frame packets loss ratio with priority 1 until 13.