WebM VP9 Multimedia Architecture Lab Overview
Explore the WebM VP9 Lab at the department of Computer Science, Hsinchu, Taiwan in December 2014. The lab focuses on multimedia architecture and processing, showcasing software demonstrations, test conditions, coding results, and performance comparisons. Discover the software repository links, Cygwin installation instructions, Yasm download options, and steps to set up the software package. Follow the detailed guide including selecting installation directories, internet connections, download sites, and packages for development and compilation.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
1 WebM VP9 Lab Multimedia Architecture and Processing Lab (MAPL) Department of Computer Science December, 2014 Hsinchu, Taiwan
Agenda 2 Software Demonstration Lab1 Test Conditions and Coding Results Lab2 Performance Comparison Between Different SpeedSteps Lab3
Software Repository 3 http://www.webmproject.org/code/ clone https://chromium.googlesource.com/webm/libvpx push ssh://gerrit.chromium.org:29418/webm/libvpx.git browse https://chromium.googlesource.com/webm/libvpx/ mirror https://github.com/webmproject/libvpx/
Software Repository 4 https://github.com/webmproject/libvpx/
Cygwin 5 https://cygwin.com/install.html setup-x86.exe
Yasm 6 http://yasm.tortall.net/Download.html Win32 VS2010 .zip (for use with VS2010+ on 32-bit Windows) Win64 VS2010 .zip (for use with VS2010+ on 64-bit Windows) Win32 .exe (for general use on 32-bit Windows) Win64 .exe (for general use on 64-bit Windows) CygWin32 .exe (for CygWin use) DOS .exe (for use on pure DOS or for use with DJGPP) Win32 .exe (for general use on 32-bit Windows)
Cygwin 8 Install form internet
9 Select root install directory
10 Select local package directory
11 Select your internet connection
12 Choose a download site ftp://ftp.ntu.edu.tw
13 Select packages Devel O Default Bin Src binutils: GNU assember, linker, and similar utilities gcc-core: GNU Compiler Collection (C, OpenMP) gcc-g++: GNU Compiler Collection (C++) gdb: The GNU Debugger make: The GNU version of the make utility mingw- gcc-core: GNU Compiler Collection (C, OpenMP) mingw- gcc-g++: GNU Compiler Collection (C++)
14 Resolving dependencies
15 Progress
16 Finish
Yasm 17 Rename Win32.exe with yasm.exe Put yasm.exe in C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin Put yasm.rules in C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCProjectDefaults
Build the Visual Studio Project 18 Clone libvpx to /cygdrive/c/libvpx Creat the build directory /cygdrive/c/build Configure the build root $ cd /cygdrive/c/build $ ../libvpx/configure --target=x86-win32-vs9 --enable-static-msvcrt Build the VS projects $ make More detail $../libvpx/configure --help
Make Binary Executables 19 Integrated development environments (e.g. VS2008) C:\build\vpx.sln Yasm vpxdec vpxenc
Make Binary Executables 20 Output directory & binary executables C:\build\Win32\Release Decoder Encoder
Run Encoding 21 Sample Batch File (e.g. Windows 7) ./ Lab1_vpxenc.cmd Description of Batch Command SET EncoderBin=###pathname to the encoder s binary executable### SET Seq=###name to the test sequences### SET InputYuv=###pathname to the test sequences### SET FrameToBeEncoded=### the number of frames to be encoded### SET FrameToBeSkip=### the number of frames to be skipped### SET SpeedStep=###the encode speed (values from 0 to 5)### SET QP=###quantization parameters### SET BitstreamFile=###name to the encoder s output bitstream file###
Example 22 Sample Test Condition Test sequence : Traffic_2560x1600_30_crop.yuv Quantization parameter : 17 Sample Commands SET EncoderBin=vpxenc SET Seq=Traffic_2560x1600_30_crop SET InputYuv=.\sequence\%Seq%.yuv SET FrameToBeEncoded=1 SET FrameToBeSkip=0 SET SpeedStep=5 SET QP=17 SET BitstreamFile=.\output\%SpeedStep%\%Seq%\%QP%\bst.webm
Run Decoding 23 Sample Batch File (e.g. Windows 7) ./ Lab1_vpxdec.cmd Description of Batch Command SET DecoderBin=###pathname to the decoder's binary executable### SET Bitetream=###pathname to the bitstream to be decoded### SET OutputYuv=###pathname to the decoded sequence###
Example 24 Sample Case Bitstream to be decoded : bst.webm Filename of decoded sequence to be: dec.yuv Sample Commands SET DecoderBin=vpxdec SET path=.\output\5\Traffic_2560x1600_30_crop\17 SET Bitetream=%path%\bst.webm SET OutputYuv=%path%\dec.yuv
Encoder and Decoders Report 25 Per frame report Frame Bits - QP Y PSNR (dB) U PSNR (dB) V PSNR (dB) enc.txt Summary report Bitstream size -Bitrate (bpf, bps) - Encoding time (us) PSNR (Overall/Avg /Y/U/V) (db) dec.txt Decoding time
26 26 LAB1 RUN ENCODEING & DECODING EXAMPLE
Agenda 27 Software Demonstration Lab1 Test Conditions and Coding Results Lab2 Performance Comparison Between Different SpeedSteps Lab3
Test Conditions 28 Common Test Platform Libvpx-1.3.0 Quantization Parameters 17, 25, 33, 41 Sequences Resolution Sequence Name Frame Rate (Hz) Color Format 2560x1600 Traffic 30 YUV 4:2:0 1920x1080 Kimono1 24
Arrange Coding Results 29 Sample Excel Template ./template.xlsm Working Sheets Summary YUV : performance summary of YUV sequences Plot : rate psnr curves of anchor and test bitstream Results: per sequence coding results w/ various tiers
Working Sheets: AI, LP 30 Coding results of anchor bitstream Coding results of tested bitstream QP value Color fromat Sequence name Bit rates Y, U, V PSNR Encoding & Decoding times (second) Encoding time (hour) Cells marked in cyan should all be filled, and then BD rate will be computed automatically Contents in other working sheets will be generated automatically once the AI, LP are all done
Working Sheet: SummaryYUV 31 Ratio of encoding time between test s & anchor s results Ratio of decoding time between test s & anchor s results Averaged BD Rate over all RGB sequences
32 32 LAB2 -FILL ENCODER S & DECODER S REPORTS INTO A EXCEL TEMPLATE (SPEEDSTEP 0)
Agenda 33 Software Demonstration Lab1 Test Conditions and Coding Results Lab2 Performance Comparison Between Different SpeedSteps Lab3
Coding Structure Setting 34 SET SpeedStep=###the encode speed (values from 0 to 5)### Speed steps are set through the --cpu-used parameter (values from 0 to 5) Setting--good quality and --cpu-used=0 will give quality that is usually very close to and even sometimes better than that obtained with --best but the encoder will typically run about twice as fast Setting--cpu-used=1 or --cpu-used=2 will give further significant boosts to encode Setting a value of 4 or 5 will turn off "rate distortion optimisation" which has a big impact on quality, but also greatly speeds up the encoderspeed, but will start to have a more noticeable impact on quality and may also start to effect the accuracy of the data rate control.
35 35 LAB3 -FILL ENCODER S & DECODER S REPORTS INTO A EXCEL TEMPLATE (SPEEDSTEP 5)