Presentation is loading. Please wait.

Presentation is loading. Please wait.

How to using the JSVM toolkit Step 1 Feb. 9. 2007. Eun-Seok Ryu Department of Computer Science and Engineering Korea Univ.

Similar presentations


Presentation on theme: "How to using the JSVM toolkit Step 1 Feb. 9. 2007. Eun-Seok Ryu Department of Computer Science and Engineering Korea Univ."— Presentation transcript:

1 How to using the JSVM toolkit Step 1 Feb. 9. 2007. Eun-Seok Ryu esryu@os.korea.ac.kr Department of Computer Science and Engineering Korea Univ.

2 Contents Accessing the latest JSVM Software Test Contents 얻는 법 JSVM 버전 이해 Structure of the CVS repository for the JSVM software Building the JSVM Software Libraries provided by the JSVM S/W Executables provided by the JSVM S/W 테스트 인코딩 및 디코딩 추가정보

3 Accessing the latest JSVM Softwar e 1. CVS 이용법 –WinCVS 또는 Any 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 ( 자세한 내용은 Manual 에 설명 됨 ) 2. Web browser 이용법 –Follow the link given below: http://www.ient.rwth-aachen.de/cgi-bin/viewvcext User ID : jvtuser Password : jvt.Amd.2 http://www.ient.rwth-aachen.de/cgi-bin/viewvcext

4 Test Contents 얻는 법 접속 URL : ftp://ftp.tnt.uni- hannover.de/pub/svc/testsequences/ftp://ftp.tnt.uni- hannover.de/pub/svc/testsequences/ Contents 내용 –City, Crew, Football, Foreman, Bus, Ice, Harbour, Mobile, Soccer Contents 종류 –4CIF, CIF, QCIF 에 대해 60, 30, 15, 7.5 Frame/Sec

5 JSVM 버전 이해 Version: JSVM 8.1 (CVS tag: JSVM_8_1) Last update: February 07, 2007 JSVM 8.1 ( N8457 ) –SW Manual –Source Code

6 Structure of the CVS repository for the JSVM software foldercontent binlocation of binaries after building the software More information about the binaries are given in section 1.4. liblocation of libraries after building the software More information regarding the libraries are given in section 1.4. JSVMsource code and project files for the JSVM software All files that are required for building and using the JSVM software are contained in this folder. JSVM/H264Extension/buildworkspaces and makesfiles Workspaces are provided for Microsoft Visual Studio 6 and Microsoft Visual Studio.NET. Makefiles are provided for Linux. JSVM/H264Extension/databasic examples of encoder configuration files These examples are not guaranteed to be complete or to contain all available configuration parameters. The examples only serve as a basis for writing encoder configuration files.

7 Structure of the CVS repository for the JSVM software – cont’d JSVM/H264Extension/includeincludes files that are required by other libraries inside the JSVM project Only include files for classes that are required by other libraries or test projects should be placed into this folder. This folder contains a subfolder for the frequently used library H264AVCCommonLib. Include files of classes that are only required inside a library or test project are contained in the library or test project folder in JSVM/H264Extension/src. JSVM/H264Extension/srcinclude and source files for all libraries and test projects This folder contains all source files and the include files that are only required inside a library or test project. This folder is organized in appropriate sub-folders. JSVM0-config-samplesusage examples This folder contains usage examples with configuration files, scripts as well as some text descriptions. These usage examples are not updated with each change of the JSVM software, and hence they are not guaranteed to be up-to-date.

8 Structure of the CVS repository for the JSVM software – cont’d MVC-Configsconfiguration examples for Muliple View Coding This folder contains examples including configuration files and scripts for using the JSVM software for Multi View Coding (MVC). Validationvalidation scripts for checking the JSVM software Perl scripts for validating the JSVM software are provided in this folder. These scripts shall be run after each modification of the JSVM software. They have been designed to check the functionality of integrated tools. More information on how to run these scripts are given in 4.3. changes.txtchanges log file This file described the (main) changes from one CVS version to the next. It starts with JSVM version 4.0 (CVS tag: JSVM_4_0).

9 Building a JSVM Software Build 환경 –Visual C++ 6.0 Workspace file –H264AVCVideoEncDec.ds w Build → Batch Build : Rebuild All –Linux (gcc ver. 4) > cd JSVM/H264AVCExtension/ build/linux > make –.net Workspace file : –H264AVCVideoEncDec.sln (VC 7) H264AVCVideoEncDec_vc 8.sln (VC 8) Build → Batch Build : Rebuild All * 실행파일명에 ‘d’ 가 붙어 있는 것은 Debug 용임 ===== binaries ===== bin/BitStreamExtractorStatic.exe bin/BitStreamExtractorStaticd.exe bin/DownConvertStatic.exe bin/DownConvertStaticd.exe bin/FixedQPEncoderStatic.exe bin/FixedQPEncoderStaticd.exe bin/H264AVCDecoderLibTestStatic.e xe bin/H264AVCDecoderLibTestStaticd. exe bin/H264AVCEncoderLibTestStatic.ex e bin/H264AVCEncoderLibTestStaticd.e xe bin/MCTFPreProcessorStatic.exe bin/MCTFPreProcessorStaticd.exe bin/PSNRStatic.exe bin/PSNRStaticd.exe bin/QualityLevelAssignerStatic.exe bin/QualityLevelAssignerStaticd.exe bin/SIPAnalyser.exe bin/SIPAnalyserd.exe ===== libraries === lib/H264AVCCommonLibStatic.lib lib/H264AVCCommonLibStaticd.li b lib/H264AVCDecoderLibStatic.lib lib/H264AVCDecoderLibStaticd.li b lib/H264AVCEncoderLibStatic.lib lib/H264AVCEncoderLibStaticd.li b lib/H264AVCVideoIoLibStatic.lib lib/H264AVCVideoIoLibStaticd.lib

10 Libraries provided by the JSVM S/W librarydescription H264AVCCommonLibStaticcommon lib This library provides classes that are used by both the encoder and decoder, as for example macroblock data structures, buffers for storing and accessing image data, or algorithms for deblocking. H264AVCEncoderLibStaticencoder lib This library provides classes that are only used by the encoder. For example, it includes classes for motion estimation, mode decision, and entropy encoding. H264AVCDecoderLibStaticdecoder lib This library provides classes that are only used by the decoder. For example, it includes classes for entropy decoding and bit- stream parsing. H264AVCVideoIoLibStaticio lib This library provides classes for reading and writing NAL units in the byte-stream format as well as classes for reading and writing raw video data.

11 Executables provided by the JSVM S/W executabledescription DownConvertStaticresampler The resampler can be used for spatial/temporal resampling (up- sampling or down-sampling) of video sequences. More information on using the resampler are provided in section 2.1. H264AVCEncoderLibTestStaticAVC/SVC encoder The encoder can be used for generating single-layer (AVC) or scalable (SVC) bit-streams. More information on using the encoder are provided in section 2.2. H264AVCDecoderLibTestStaticSVC decoder The decoder can be used for decoding AVC or SVC bit-streams and reconstructing raw video sequences. More information on using the decoder are provided in section 2.3 BitStreamExtractorStaticbit-stream extractor The bit-stream extractor can be used for extracting sub-bitstreams with a lower spatio-temporal resolution and/or bit-rate from a global scalable (SVC) bit-stream. More information on using the bit-stream extractor are provided in section 2.4.

12 Executables provided by the JSVM S/W- Cont’d QualityLevelAssignerStaticquality level assigner The quality level assigner can be used for generating a bit-stream with additional quality layer information given a scalable bit-stream. Beside the additional quality layer information input and output bit- stream are identical. More information on using the quality layer assigner are provided in section 2.5. MCTFPreProcessorMCTF pre-processor The MCTF pre-processing tool can be used for pre-filtering image sequences. More information on using the MCTF pre-processor are provided in section 2.6. PSNRStaticPSNR tool The PSNR tool can be used for measuring the PSNR between two raw video sequences. In addition it can be used for measuring the bit-rate of a given bit-stream. More information on using the PSNR tool are provided in section 2.6. FixedQPEncoderStaticfixed QP encoder This tool can be used for controlling the encoder and adjusting the bit-rate of the generated bit-stream. More information on using this tool are provided in section 2.8.

13 Executables provided by the JSVM S/W- Cont’d SIPAnalyser The SIPAnalyser tool can be used to make the selective inter-layer prediction decision. More information on using the PSNR tool are provided in section 2.9.

14 테스트 인코딩 및 디코딩 과정 –JSVM SW 및 Test Contents 구하기 –Build a JSVM S/W –Manual 참조하여 Configure file 을 수정 이 때 가급적 test directory 를 만들어 이 곳에 executables, test contents, cfg 파일들을 모아놓고 처리하는 것이 편함 ( 단, versioning 에 주의 ) –( 옵션 ) DownConvertStatic.exe 수행 필요한 경우 Test Contents 의 변형을 위해 down convert 시킴 –H264AVCEncoderLibTestStatic.exe 수행 Multi-Layer encoding 인 경우 (e.g) test.264 파일생성 됨 –BitStreamExtractorStatic.exe 수행 원하는 layer 의 bitstream 을 추출 –H264AVCDecoderLibTestStatic.exe 수행 각 layer 별 인코딩 된 미디어 데이터를 decoding 하여 YUV 포맷 화 –PSNRStatic.exe PSNR 측정

15 테스트 인코딩 및 디코딩 -Cont’d H264AVCEncoderLibTestStatic.exe BitStreamExtractorStatic.exe H264AVCDecoderLibTestStatic.exe Test Contents (YUV 포맷 ) Config 파일 H.264 Encoding 된 파일 Layer s Layer 별 H.264 Encoding 된 파일 복원된 Contents (YUV 포맷 ) 복원된 Contents (YUV 포맷 ) 복원된 Contents (YUV 포맷 )

16 추가 정보 H.264 Scalable Extension 연구를 위한 Blog –http://willow.tistory.com ( 개인 웹 사이트 )http://willow.tistory.com Software Manual 이 잘 만들어져 있으므로 정독 필 요 Encoding 시간이 길기 때문에 Test encoding 때 frame 수를 낮출 필요 있음 Layered data 가 extraction 될 때, 이론에서처럼 layer 별로 extraction 되는 것이 아닌 듯 함 ( 확인 필 요 ) 향후 연구를 위해 FMO 사용해볼 필요 있음 인코딩 된 파일에 에러를 추가한 후 디코딩이 안됨 ( 최근 버전에서 ec 옵션이 있으나 문제 있음 ) 번거로운 과정을 스크립트 (Perl script) 로 돌리게 되 어 있는데 잘 사용하면 득이 될 듯


Download ppt "How to using the JSVM toolkit Step 1 Feb. 9. 2007. Eun-Seok Ryu Department of Computer Science and Engineering Korea Univ."

Similar presentations


Ads by Google