SVC(Scalable Video Coding) & JSVM(Joint Scalable Video Model)

Slides:



Advertisements
Similar presentations
Adders Used to perform addition, subtraction, multiplication, and division (sometimes) Half-adder adds rightmost (least significant) bit Full-adder.
Advertisements

Feichter_DPG-SYKL03_Bild-01. Feichter_DPG-SYKL03_Bild-02.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (Parallel Algorithms) Robin Pomplun.
Institut für Informationsverarbeitung,
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 2 Getting Started.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2003 Chapter 3 Data Transmission.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 4 Computing Platforms.
Processes and Operating Systems
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
UNITED NATIONS Shipment Details Report – January 2006.
Surgical Planning Laboratory -1- Brigham and Womens Hospital Slicer Tutorial 7 Saving Data Sonia Pujol, Ph.D. Randy Gollub, M.D.,
International Telecommunication Union Workshop on Standardization in E-health Geneva, May 2003 Standard encoding protocols for image and video coding.
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
Exit a Customer Chapter 8. Exit a Customer 8-2 Objectives Perform exit summary process consisting of the following steps: Review service records Close.
Create an Application Title 1A - Adult Chapter 3.
JPEG2000 and Color Management Algo Vision Technology GmbH The JPEG2000-Standard and its Color Management.
Rhesy S.ppt proRheo GmbH
Excel Functions. Part 1. Introduction 2 An Excel function is a formula or a procedure that is performed in the Visual Basic environment, outside the.
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
Intel VTune Yukai Hong Department of Mathematics National Taiwan University July 24, 2008.
Campaign Overview Mailers Mailing Lists
AVC Compression Update: FRExt and future Matthew Goldman Vice President of Technology Compression Systems.
Chapter 11: The X Window System Guide To UNIX Using Linux Third Edition.
IP Multicast Information management 2 Groep T Leuven – Information department 2/14 Agenda •Why IP Multicast ? •Multicast fundamentals •Intradomain.
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 EN0129 PC AND NETWORK TECHNOLOGY I IP ADDRESSING AND SUBNETS Derived From CCNA Network Fundamentals.
Introduction to H.264 / AVC Video Coding Standard Multimedia Systems Sharif University of Technology November 2008.
KIANOOSH MOKHTARIAN SCHOOL OF COMPUTING SCIENCE SIMON FRASER UNIVERSITY 6/24/2007 Overview of the Scalable Video Coding Extension of the H.264/AVC Standard.
2005/01/191/14 Overview of Fine Granularity Scalability in MPEG-4 Video Standard Weiping Li Fellow, IEEE IEEE Transactions on Circuits and Systems for.
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
Multimedia Technology2. Compression Algorithms ©Wolfgang Effelsberg 2.3 Video Compression 2.3.1MPEG MPEG stands for Moving Picture Experts Group.
Macromedia Dreamweaver MX 2004 – Design Professional Dreamweaver GETTING STARTED WITH.
Chapter 10: The Traditional Approach to Design
Analyzing Genes and Genomes
Systems Analysis and Design in a Changing World, Fifth Edition
1 Insight into World View Tunneling See Doc in TNG Getting Started Guide Appendix G Revised August 14 th 2003.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Chapter 12 Working with Forms Principles of Web Design, 4 th Edition.
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Configuring FDMEE Drill Through to SAP
Energy Generation in Mitochondria and Chlorplasts
H.261: A Standard for VideoConferencing Applications Nimrod Peleg Update: Nov
Tutorial 1: Sensitivity analysis of an analytical function
Overview of the Scalable Video Coding Extension of the H
Video Transmission Adopting Scalable Video Coding over Time- varying Networks Chun-Su Park, Nam-Hyeong Kim, Sang-Hee Park, Goo-Rak Kwon, and Sung-Jea Ko,
An Introduction to H.264/AVC and 3D Video Coding.
MPEG-2 Standard By Rigoberto Fernandez. MPEG Standards MPEG (Moving Pictures Experts Group) is a group of people that meet under ISO (International Standards.
Outline JVT/H.26L: History, Goals, Applications, Structure
- By Naveen Siddaraju - Under the guidance of Dr K R Rao Study and comparison between H.264.
Block-based coding Multimedia Systems and Standards S2 IF Telkom University.
COMPARATIVE STUDY OF HEVC and H.264 INTRA FRAME CODING AND JPEG2000 BY Under the Guidance of Harshdeep Brahmasury Jain Dr. K. R. RAO ID MS Electrical.
By: Santosh Kumar Muniyappa ( ) Guided by: Dr. K. R. Rao Final Report Multimedia Processing (EE 5359)
How to using the JSVM toolkit Step 1 Feb Eun-Seok Ryu Department of Computer Science and Engineering Korea Univ.
Quality Evaluation and Comparison of SVC Encoders
Overview of the Scalable Video Coding
Presentation transcript:

SVC(Scalable Video Coding) & JSVM(Joint Scalable Video Model) Kyumin Jeong kmjeong@adams.kw.ac.kr Computer Communications Lab. October 1, 2007

What is SVC? Scalable Video Coding (SVC) Project of the Joint Video Team (JVT) ISO/IEC Moving Pictures Experts Group (MPEG) ITU-T Video Coding Experts Group (VCEG) As an amendment of the H.264/MPEG-4 AVC standard One coding for multiple usage Universal Multimedia Access paradigm 하나의 비디오 스트림으로 다양한 전송 네트워크와 다양한 수신 단말에 적응적 서비스가 가능한 비디오 부호화 방법 One source, use Anytime, Anywhere, Anydevice

What is SVC? Scalable Video Coding (SVC)

Scalability

JSVM JSVM (Joint Scalable Video Model) software Reference software for the Scalable Video Coding (SVC) project Written in C++ Provided as source code Can be obtained via a CVS server Preparations for using JSVM (윈도우 환경) Python WinCVS를 사용하기 위해서 필요함, tcl/tk는 Python에 포함 http://www.python.org/ WinCVS http://www.wincvs.org WinCVS 실행시 발생하는 문제 해결 (아래 링크) WinCvs could not find Python 2.1 installed

Accessing the latest JSVM Software CVS (Concurrent Versions System) 최신 JSVM 소프트웨어를 사용하기 위해 필요 SVC 프로젝트 진행중 => JSVM 업데이트 CVS 서버 접속을 위한 세팅 authentication pserver host address garcon.ient.rwth-aachen.de path /cvs/jvt user name jvtuser password jvt.Amd.2 module name jsvm or jsvm_red

Accessing the latest JSVM Software Using a command line CVS client Admin - Command Line 선택 후, 아래 명령어를 차례대로 입력 1. cvs –d :pserver:jvtuser:jvt.Amd.2@garcon.ient.rwth-aachen.de:/cvs/jvt login 2. cvs –d :pserver:jvtuser@garcon.ient.rwth-aachen.de:/cvs/jvt checkout jsvm 실행 후 결과 : C:\JSVM 생성

Structure of the CVS repository for the JSVM Software Folder Content bin location of binaries after building the software lib location of libraries after building the software JSVM source code and project files for the JSVM software JSVM/H264Extension/build workspaces and makesfiles JSVM/H264Extension/data basic examples of encoder configuration files JSVM/H264Extension/include includes files that are required by other libraries inside the JSVM project JSVM/H264Extension/src include and source files for all libraries and test projects JSVM0-config-samples usage examples MVC-Configs configuration examples for Multiple View Coding Validation validation scripts for checking the JSVM software C:\jsvm\ Software Manual.doc <사용법 등 참고>

Building the JSVM software Windows32 platform with Microsoft Visual Studio C:\jsvm\JSVM\H264Extension\build\windows Microsoft Visual Studio .NET 2003 (VC7) workspace H264AVCVideoEncDec.sln Microsoft Visual Studio .NET 2005 and 2006 (VC8) H264AVCVideoEncDec_vc8.sln Microsoft Visual Studio 6 workspace H264AVCVideoEncDec.dsw Build all project files by selecting Build→Batch Build

Building the JSVM software Result The versions with a “d” before the dot Debug mode Without a “d” before the dot Release mode

Information on binaries and libraries

Information on binaries and libraries

Information on binaries and libraries

Usage and Configuration of the JSVM Software

테스트 파일 URL Contents 내용 Contents 종류 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

테스트 인코딩 및 디코딩 테스트 과정 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 측정

Resampler – DownConvertStatic.exe Spatial/temporal resampling Usage DownConvertStatic <win> <hin> <in> <wout> <hout> <out> [<method> [<t> [<skip> [<frms> ]]]] [[-crop <args>] [-phase <args>]] Examples #Down-sampling a 4CIF 60Hz sequence to a QCIF 15Hz sequence using the dyadic method DownConvertStatic 704 576 4CIF60.yuv 176 144 QCIF15.yuv 1 2 #Resampling of a CIF 30Hz sequence to a 528x432 15Hz sequence using the normative upsampler. DownConvertStatic 352 288 CIF30.yuv 528  432  528x432_15.yuv 0 1 method : rescaling methods (default: 0) 0: normative upsampling non-normative downsampling (JVT-R006) 1: dyadic upsampling (AVC 6-tap (1/2 pel) on odd luma samples dyadic downsampling (MPEG-4 downsampling filter) Different resampling modes, methods Parameters that are specific to Extended Spatial Scalability (ESS), Cropping Window, Chroma Phase Shift features -Method : resampling mode, t : the number of temporal down-sampling stages, skip : how many frames skipped -Frms : maximum number of output frames 2: crop only 3: upsampling (Three-lobed Lanczos-windowed sinc) 4: upsampling (JVT-O041: AVC 6-tap (1/2 pel) + bilinear 1/4 pel)

Resampler – DownConvertStatic.exe Cropping window Generating the output sequence as a cropped area of the input Cropping parameters crop_type 0 : for the entire sequence 1 : for each picture of the sequence crop_file Filename of the file containing the cropping parameters -crop crop_type crop_file <x_orig> <y_orig> <crop_width> <crop_height> // parameters for frame 0 <x_orig> <y_orig> <crop_width> <crop_height> // parameters for frame 1 <x_orig> <y_orig> <crop_width> <crop_height> // parameters for frame 2 <x_orig> <y_orig> <crop_width> <crop_height> // parameters for frame 3 ... Different resampling modes, methods Parameters that are specific to Extended Spatial Scalability (ESS), Cropping Window, Chroma Phase Shift features -Method : resampling mode, t : the number of temporal down-sampling stages, skip : how many frames skipped -Frms : maximum number of output frames DownConvertStatic.exe 1280 720 720p50.yuv 720 576 SD25.yuv 0 –crop 0 crop.txt 1 content of crop.txt: 190 0 900 720

Resampler – DownConvertStatic.exe Chroma phase shift management -phase option in_uv_ph_x, in_uv_ph_y, out_uv_ph_x and out_uv_ph_y The horizontal and vertical phase shift, the chroma components in comparison to the luma component Input : Luma samples for the input sequence Output : Chroma phase shift of the output sequence Value range of -1 to 1 Resampling mode -resample_mode option Allow the resampling of both progressive or interlace material Value range of 0 to 5

Encoder - H264AVCEncoderLibTestStatic Generating AVC or SVC bit-streams Using the encoder No guarantee rate-distortion efficient coding For obtaining optimized encoding results, the encoder configuration has to be carefully specified Not provide a rate-control The bit-rate needs to be controlled by selecting appropriate quantization parameters Single-layer coding mode and Scalable coding mode Single-layer bit-stream can also be generated in the scalable coding mode Encoding mode is specified by the parameter AVCMode Usage H264AVCEncoderLibTestStatic.exe –pf <mcfg> [command line options]

Encoder - H264AVCEncoderLibTestStatic Single-layer coding mode AVCMode = 1 AVC compatible bit-stream is generated Encoder configuration file in single-layer coding mode

Encoder - H264AVCEncoderLibTestStatic Command line options Scalable coding mode AVCMode = 1 One or more layer configuration files have to be specified inside the main configuration files -bf (bitstream) The parameter bitstream specifies the filename for the bit-stream to be generated. -frms (frames) The parameter frames specifies the number of frames of the input sequence to be encoded. -pf (config) The parameter config specifies the name of the config file to be used. -h Prints out a brief help on using the encoder. C:\jsvm\JSVM0-config-samples\Contrib-examples\JVT-O018\Munich-Test-Points\cfg_ags

Other JSVM Softwares Decoder - H264AVCDecoderLibTestStatic.exe SVC to AVC Bit-stream Rewriter - AvcRewriterStatic.exe Converts an SVC bitstream to an AVC bitsream Usage H264AVCDecoderLibTestStatic <str> <rec> [-ec <ec>] [<maxPOCDiff>] str: bit-stream file (input) rec: reconstructed video sequence (output) ec: error concealment method (1-3), 0 means no error concealment maxPocDiff: maximum difference of POC values of successive output frames Usage AvcRewriterStatic <svcstr> <avcstr> svcstr: bit-stream file (input) avcstr: rewritten avc bit-stream file (output)

Other JSVM Softwares Bit-stream extractor - BitStreamExtractorStatic.exe Extract sub-streams of an AVC or SVC stream Streams with a reduced spatial and/or temporal resolution and/or a reduced bit-rate Usage BitStreamExtractorStatic [-pt trace] <in> [<out> [[-e] [-ql | -qlord]] | [-sl] | [[-l] [-t] [-f]] | [-b] | [-et] ] Extraction of a scalable layer BitStreamExtractorStatic input.svc output.svc –sl 7 Extraction of a scalable sub-stream using the general option –e BitStreamExtractorStatic input.svc output.svc –e 176x144@15:600

Quality level assigner – QualityLevelAssignerStatic.exe Other JSVM Softwares Quality level assigner – QualityLevelAssignerStatic.exe Embed information about quality layers inside a bit-stream Quality layer information can be employed by the extraction process To optimize the rate-distortion efficiency of the extracted sub-stream Usage QualityLevelAssignerStatic -in Input -org L Original [-org L Original] [-out Output [-sei] | -wp DatFile] [-dep | -ind] [-mlql] or QualityLevelAssignerStatic -in Input -out Output -rp DatFile [-sei] -in Input - input bit-stream -out Output - output bit-stream with determined quality layer id's -org L Original - original image sequence for layer L -wp DatFile - data file for storing rate and distortion values -rp DatFile - data file with previously computed rate and distortion values -sei - provide quality layer info using SEI mesages -dep - determine only dependent distortions (speed-up by factor of 2, slight coding eff. losses) -ind - determine only independent distortions -mlql - determine Multi Layer Quality Layer Ids

MCTF pre-processing tool – MCTFPreProcessorStatic.exe Other JSVM Softwares MCTF pre-processing tool – MCTFPreProcessorStatic.exe Pre-filtering image sequences PSNR tool – PSNRStatic.exe Measuring the Peak-Signal-To-Noise-Ratio (PSNR) between two sequences Calculating the bit-rate Usage MCTFPreProcessor -w Width -h Height -f frms -i Input -o Output [-gop GOPSize] [-qp QP] -w Width - frame width in luma samples (multiple of 16) -h Height - frame height in luma samples (multiple of 16) -gop GOPSize - GOP size for MCTF (2,4,8,16,32,64, default: 16) -qp QP - QP for motion estimation and mode decision (>0, default: 26) PSNRStatic 176 144 org.yuv rec.yuv 0 0 str.svc 15 2>PSNR.txt type PSNR.txt 128,00 32,23 38,79 39.02 Usage PSNRStatic <w> <h> <org> <rec> [<t> [<skip> [<strm> <fps>]]] - rec: reconstructed file   - t: number of temporal downsampling stages (default: 0) - strm: coded stream - frms: frames per second (1) bit-rate in kbit/s, (2) Y-PSNR in dB – luminance component, (3) U-PSNR in dB – chrominance component U or Cb, (4) V-PSNR in dB – chrominance component V or Cr

Other JSVM Softwares Fixed QP encoder - FixedQPEncoderStatic.exe Find the basis quantization parameter to meet A rate or a quality constraint for single layer coding The rate or quality constraints for the layers of a scalable stream SIP Analyser tool – SIPAnalyser.exe Make the selective inter-layer prediction decision Usage FixedQPEncoderStatic <rc_cfg> rc_cfg : the rate control parameter file configuring the fixed QP encoder Usage SIPAnalyser.exe <sip_cfg> [FileLabel] sip_cfg : the SIP parameter file FileLabel : A suffix to the output filename

Use Examples as a Brief Tutorial - Single Layer Coding

Original Sequences Generation Goal YUV 시퀀스를 시공간적으로 다운샘플된 4CIF, CIF로 생성 The original CIF resolution sequences BUS_352x288_30_orig_01.yuv, FOREMAN_352x288_30_orig_01.yuv FOOTBALL_352x288_30_orig_01.yuv MOBILE_352x288_30.yuv URL : ftp.tnt.uni-hannover.de/pub/svc/testsequences/

Original Sequences Generation How to generate dowsampled versions Test file : SOCCER_352x288_30_orig_02.yuv Change : SOCCER_352x288_30.yuv Down-sampling original CIF 30Hz sequence to QCIF 15Hz sequence for the CIF scenario

Single Layer Coding Single layer coding Encoded bit-stream does not provide several spatial resolutions or several bit-rates for a specific spatio-temporal resoultion Generated bit-stream contains spatial or CGS/MGS enhancement layer Preparation for encoding “SOCCER_176x144_15.yuv” 아래 폴더에서 encoder.cfg와 layer0.cfg를 C:\jsvm\bin에 복사 C:\jsvm\JSVM\H264Extension\data encoder.cfg와 layer0.cfg를 수정

Single Layer Coding encoder.cfg 수정 layer0.cfg 수정 아래 나와 있는 옵션들을 각각 수정 # JSVM Main Configuration File OutputFile test.264 # Bitstream file FrameRate 30.0 # Maximum frame rate [Hz] FramesToBeEncoded 150 # Number of frames (at input frame rate) GOPSize 16 # GOP Size (at maximum frame rate) BaseLayerMode 2 # Base layer mode (0: AVC w larger DPB, # 1:AVC compatible, 2:AVC w subseq SEI) SearchMode 4 # Search mode (0:BlockSearch, 4:FastSearch) SearchRange 32 # Search range (Full Pel) NumLayers 1 # Number of layers LayerCfg layer0.cfg # Layer configuration file # JSVM Layer Configuration File InputFile SOCCER_176x144_15.yuv # Input file SourceWidth 176 # Input frame width SourceHeight 144 # Input frame height FrameRateIn 15 # Input frame rate [Hz] FrameRateOut 15 # Output frame rate [Hz]

Single Layer Coding Encoder call for single-layer coding Result : test.264 and rec_layer0.yuv

Single Layer Coding Extracting a temporal sub-sequence

Single Layer Coding Decoding a temporal sub-sequence

Single Layer Coding Use of PSNR tool