1 / 32

How to use JSVM toolkit

How to use JSVM toolkit. orig. Feb. 9. 2007. – updated July 7. 2011. Eun-Seok Ryu esryu@gatech.edu. Access the latest JSVM software. Option 1. Use CVS Use WinCVS or any other CVS client User ID : "jvtuser" Password : "jvt.Amd.2".

Download Presentation

How to use JSVM toolkit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. How to use JSVM toolkit orig. Feb. 9. 2007. – updated July 7. 2011. Eun-Seok Ryu esryu@gatech.edu

  2. Access the latest JSVM software • Option 1. Use CVS • Use WinCVS orany other CVS client User ID : "jvtuser" Password : "jvt.Amd.2". • The path is "/cvs/jvt", and the module name is "jsvm“. For example, with a command line client, you can check out the software using the following commands. • cvs –d :pserver:jvtuser:jvt.Amd.2@garcon.ient.rwth-aachen.de:/cvs/jvt login • cvs –d :pserver:jvtuser@garcon.ient.rwth-aachen.de:/cvs/jvt checkout jsvm (for further information, you can see the JSVM manual) • Option 2. Use web browser (currently, it is not working) • Follow the link given below:http://www.ient.rwth-aachen.de/cgi-bin/viewvcextUser ID : jvtuserPassword : jvt.Amd.2

  3. Download test sequences • URL : ftp://ftp.tnt.uni-hannover.de/pub/svc/testsequences/ • Contents : • City, Crew, Football, Foreman, Bus, Ice, Harbour, Mobile, Soccer • Resolution and frame rate : • 4CIF, CIF, QCIF:60, 30, 15, 7.5 fps

  4. Understand JSVM versioning • In this slide, I used JSVM 8.1 (Feb. 07, 2007, CVS tag: JSVM_8_1) • Current version (July 2011): JSVM 9.19.14 • You can download any version using CVS tool. • JSVM 9.8 was last version supporting error concealment (EC) options • As a decoding option, you could use “–ec 2 (frame copy)”. • JSVM has three contents • changes : bug fix histories • SW manual • source codes

  5. Structure of the CVS repository for the JSVM (1)

  6. Structure of the CVS repository for the JSVM (2)

  7. Structure of the CVS repository for the JSVM (3)

  8. Build JSVM Software (1) • Build environment • Visual C++ 6.0 • Workspace file • H264AVCVideoEncDec.dsw • Build→Batch Build : Rebuild All • Linux (gcc ver. 4) > cd JSVM/H264AVCExtension/build/linux > make • .net • Workspace file : • H264AVCVideoEncDec.sln (VC 7)H264AVCVideoEncDec_vc8.sln (VC 8) • Build→Batch Build : Rebuild All • The executable which has ‘d’ in their file name is for debugging (compiled with debug option).

  9. Build JSVM Software (2) Recent version supports visual studio 2010 environment with “H264AVCVideoEncDec_vc10.sln”

  10. JSVM Libraries (1)

  11. JSVM Libraries (2)

  12. JSVM Libraries (3)

  13. JSVM Libraries (4)

  14. Test encoding and decoding • Steps : • Download JSVM and test sequences • Build the JSVM • Modifying config files (*.cfg) based on JSVM manual • You can use original config files in JSVM SW • (option) DownConvertStatic.exe • If you want to do (1)downsampling, (2)upsampling, or (3) cropping, use this tool. • H264AVCEncoderLibTestStatic.exe • There are many encoding options • This makes encoded SVC file such as ‘test.264’ • (option) packet loss testing with additional tools • BitStreamExtractorStatic.exe • Extract specific layers what I want from ‘test.264’ • H264AVCDecoderLibTestStatic.exe • This makes reconstructed YUV file such as ‘test.yuv’ • PSNRStatic.exe • Measuring PSNR

  15. Test en/decoding steps (Simple) Test Sequence (.YUV) Config file Config file H264AVCEncoderLibTestStatic.exe layers SVC-encoded file (.svc) BitStreamExtractorStatic.exe Extracted SVC-encoded file (e.g. Base layer only or Base+Enh1) or or H264AVCDecoderLibTestStatic.exe or Reconstructed Sequence (.YUV) or Reconstructed Sequence (.YUV) Reconstructed Sequence (.YUV)

  16. Test en/decoding stepsfor packet loss simulation (e.g. UEP) You can use packet loss simulator, but it drops NAL-based packet. You need to adjust each NAL size or use your own tool for accurate testing. (jvt-q069 : available: http://wftp3.itu.int/av-arch/jvt-site/2005 10 Nice/JVT-Q069.zip) With JSVM ver. 9.8 error concealment (EC) option (recent version does not support EC) or Open-source SVC decoder (this supports frame copy-based EC)

  17. CVS Usage (free tortoise CVS app) (1) (1) input “:pserver:jvtuser:jvt.Amd.2@garcon.ient.rwth-aachen.de:/cvs/jvt” (2) set “JSVM” (3) click “Fetch list” (3) click “OK”

  18. Building Executable Files with VS 6.0 H264AVCVideoEncDec.dsw

  19. Example of Test Contents • Example of the Test Clip ‘Foreman’ • FOREMAN_176x144_7.5_orig_01_yuv • FOREMAN_176x144_15_orig_01_yuv • FOREMAN_352x288_15_orig_01_yuv • FOREMAN_352x288_30_orig_01_yuv

  20. Main Configure File – encoder.cfg

  21. Main Configure File – encoder.cfg (2)

  22. Layer Configure File - Layer 0.cfg

  23. Layer Configure File – Layer1.cfg

  24. Test Encoding >H264AVCencoderLibTestStatic.exe –pf encoder.cfg

  25. Bitstream Extract (1)

  26. Bitstream Extract (2) • BitstreamExtractorStatic.exe –pt trace3_sl0.txt test.264 test3_sl0.out –sl 0 • BitstreamExtractorStatic.exe –pt trace3_sl2.txt test.264 test3_sl2.out –sl 2

  27. Example of Trace File • you can test packet dropping(loss) simulation by deleting some lines of text file. • Bitstream extractor’s option ‘-et trace’ uses a (modified) packet trace file for bit-stream extraction. • ‘Packet loss simulator(jvt-q069 : available: http://wftp3.itu.int/av-arch/jvt-site/2005 10 Nice/JVT-Q069.zip)’ omits those NAL data when it makes (received) bitstream with error pattern file (S. Wenger, “Error patterns for internet experiments,” ITU-T SG16 Doc. Q, 2002.). • They are quite simple, but I don’t recommend those tools.

  28. Test Decoding • H264AVCDecoderLibTestStatic.exe test3_sl0.out test3_sl0.yuv • 45 Frames Decoded • H264AVCDecoderLibTestStatic.exe test3_sl2.out test3_sl2.yuv • 90 Frames Decoded

  29. Using a YUV Viewer

  30. Checking PSNR Value • PSNRStatic.exe 252 288 foreman_352x288_30_orig_01.yuv test3_sl2.yuv

  31. Personal comments (1) • My blog has more information on this : Multimedia Communications using Scalable Video Coding • http://r2d2n3po.tistory.com/ • Read JSVM software manualcarefully, it explains all you want. • AVC/SVC encoding time is quite long, and you may need to reduce encoding frame number. • Bitstream extractor cannot extract enhan. layer only but extract base+enh layers. Thus, to extract a specific layer separately you need to write your own code (you can borrow my code from the blog mentioned above). • For academic research you can use more options such as FMO and MCTF. You can also use ‘X264’, ‘ffmpeg’, ‘Yarm’, and ‘mp4box’ tools for your own testing.

  32. Personal comments (2) • Recent JSVM (after ver. 9.8) does not support EC(error concealment option). Even the old tool cannot decode damaged bitstream well (mostly died). You can use open SVC decoder from source forge website (http://sourceforge.net/projects/opensvcdecoder/) ; personally thanks Mederic Bleste • and Mickael Raulet). • you can use packet loss simulator because this tool just omits some NALs according to error pattern files. Even you can apply different packet loss rate to each layers with this tool. These slides were originally prepared for internal lab seminar of operating system Lab in computer science and engineering department of Korea university, and I updated some of them for general student and researcher. July 2011. Eun-Seok Ryu (esryu@gatech.edu)

More Related