Top Banner
PERFORMANCE BENCHMARKING OF RVC BASED MULTIMEDIA SPECIFICATIONS Junaid Jameel Ahmad 1,3 , Shujun Li 2 , Marco Mattavelli 3 {Junaid.Ahmad, Marco.Mattavelli}@epfl.ch, [email protected] 1 University of Konstanz, Germany, 2 University of Surrey, UK, 3 ´ Ecole Polytechnique F´ ed´ erale de Lausanne (EPFL), Switzerland Quick Questions and Answers 1. What is RVC (Reconfigurable Video Coding)? A dataflow programming framework standardized by ISO/IEC since 2009. ISO/IEC 23001-4 (MPEG-B Part 4), 2009 (1st Edition), 2011 (2nd Edi- tion) describes how to specify video codecs using three languages – RVC-CAL, FNL and RVC-BSDL. ISO/IEC 23002-4 (MPEG-C Part 4), 2010 (1st Edition) describes a li- brary of common tools used in MPEG video codecs. 2. What is an RVC specification? An implementation-agnostic description of a system specified by RVC. 3. What have you done in this work? We report performance benchmarking results of RVC-based C imple- mentations of an H.264/AVC intra codec and a JPEG codec and four multimedia security systems working with them. 4. How did you benchmark the performance of the RVC systems? By presenting a side-by-side comparison of the RVC-based implementa- tions against non-RVC reference implementations. 5. What are the main results you observed? RVC implementations have a performance similar to non-RVC ones. On a dual-core machine we observed a performance gain up to 173%. 1. How does RVC work? Development Environment: + Open RVC-CAL Compiler Design Stage Model Instantiation: Selection of FUs and Parameter Assignment Abstract Model (FNL + RVC CAL) Tool Library 1 (RVC-CAL Functional Units (FUs)) Application Description (FU Network Description) Graphical FU network editor, RVC-CAL editor, RVC simulator Implementation Stage (FNL + RVC-CAL) Tool Library 2 (RVC-CAL Functional Units FUs) RVC simulator Application Implementation Automatic code generation to C/C++, Java, LLVM, VHDL/Verilog etc. Tool Library 1 Implementation Tool Library 2 Implementation Code generation tools Input Data Application Solution Output Data 2. Benchmarked Systems RVC-based C implementations: specified manually in RVC by the RVC community and C code automatically generated from the RVC specifica- tions by ORCC’s CAL2C backend. Non-RVC C implementations: JM (for H.264/AVC) and IJG (for JPEG), C code manually written/optimized/maintained. Sign-bit encryption & decryption 3: JVEE & JVDD DC encryption &d i 1 H.264/AVC codec & decryption 2 4: JIEE & JIDD 6: JISE & JISD F5 steganographic 5: JIWE & JIWD DCT -based watermark 2 JPEG codec F5 steganographic embedder & detector DCT based watermark embedder & detector 3. Experimental Results 3.1 Run-time performance on a single-core machine H.264/AVC JM−Encoder RVC−Encoder JM−JVEE RVC−JVEE 0 50 100 150 H.264/AVC Implementations Time (seconds) Foreman (QCIF) Highway (QCIF) Suzie (QCIF) H.264/AVC based encoding implementations JM−Decoder RVC−Decoder JM−JVDD RVC−JVDD 0 0.5 1 1.5 2 2.5 H.264/AVC Implementations Time (seconds) Foreman (QCIF) Highway (QCIF) Suzie (QCIF) H.264/AVC based decoding implementations Test Video JM-JVEE JM-JVDD RVC-JVEE RVC-JVDD Foreman 0.16% 2.77% 6.01% 6.73% Highway 0.18% 2.41% 1.98% 6.55% Suzie 0.17% 2.54% 2.25% 6.97% 0.16% 0.18% 0.17% 6.01% 1.98% 2.25% 2.77% 2.41% 2.54% 6.73% 6.55% 6.97% Overheads of sign-bit encryption module RVC-based encoding implementa- tions are (> 100%) faster. RVC-based decoding implementa- tions are comparable to JM ones. RVC implementations suffer more encryption/decryption overhead. JPEG IJG−Encoder RVC−Encoder IJG−JIEE RVC−JIWE IJG−JISE RVC−JISE 0 50 100 150 200 250 300 350 RVC−JIEE IJG−JIWE JPEG Implementations Time (milliseconds) airplane (512x512) Lena (512x512) yacht (512x480) JPEG based encoding implementations IJG−Decoder RVC−Decoder IJG−JIDD RVC−JIWD IJG−JISD RVC−JISD 0 50 100 150 RVC−JIDD IJG−JIWD JPEG Implementations Time (milliseconds) airplane (512x512) Lena (512x512) yacht (512x480) JPEG based decoding implementations Test Image JIEE JIDD JIWE JIWD JISE JISD RVC airplane 7.02% 20.13% 13.67% 15.73% 26.46% 44.11% Lena 6.06% 20.00% 5.60% 15.13% 24.50% 43.85% Pepper 6.00% 21.59% 4.91% 14.09% 22.52% 43.52% IJG airplane 11.25% 11.55% 15.84% 18.50% 26.08% 31.12% Lena 9.28% 12.50% 14.80% 17.66% 23.52% 30.11% Pepper 11.13% 15.01% 16.85% 21.98% 27.77% 34.39% 7.02% 6.06% 6.00% 11.25% 9.28% 11.13% 13.67% 5.60% 4.91% 15.84% 14.80% 16.85% 26.46% 24.50% 22.52% 26.08% 23.52% 27.77% 20.13% 20.00% 21.59% 15.73% 15.13% 14.09% 44.11% 43.85% 43.52% 11.55% 12.50% 15.01% 18.50% 17.66% 21.98% 31.12% 30.11% 34.39% Overheads of security modules RVC-based implementations are slower. JISE/JISD have the highest over- head due to image buffering. 3.2 Performance gain on a dual-core machine Encoder JVDD 100 110 120 130 140 150 160 170 180 JVEE Decoder H.264/AVC Implementations Performance Gain (%) Foreman (QCIF) Highway (QCIF) Suzie (QCIF) Encoder JIEE JIWE JIDD JIWD JISD 90 100 110 120 130 140 150 160 170 JISE Decoder JPEG Implementations Performance Gain (%) airplane (512x512) Lena (512x512) yacht (512x480) Performance gain of H.264/AVC im- plementations: Encoding implementations: 159% – 173%. Decoding implementations: 110% – 119%. Performance gain of JPEG implementations: Encoding implementations: 142% – 164%. Decoding implementations: 127% – 148%. ICIP 2013 – 20th IEEE International Conference on Image Processing, Melbourne, Australia, September 15-18, 2013.
1

PERFORMANCE BENCHMARKING OF RVC BASED … · PERFORMANCE BENCHMARKING OF RVC BASED MULTIMEDIA SPECIFICATIONS ... 1.What is RVC (Reconfigurable ... Parameter Assignment Abstract Model

May 08, 2018

Download

Documents

doannhi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PERFORMANCE BENCHMARKING OF RVC BASED … · PERFORMANCE BENCHMARKING OF RVC BASED MULTIMEDIA SPECIFICATIONS ... 1.What is RVC (Reconfigurable ... Parameter Assignment Abstract Model

PERFORMANCE BENCHMARKING OF RVC BASED MULTIMEDIA SPECIFICATIONSJunaid Jameel Ahmad1,3, Shujun Li2, Marco Mattavelli3

{Junaid.Ahmad, Marco.Mattavelli}@epfl.ch, [email protected] University of Konstanz, Germany, 2 University of Surrey, UK, 3 Ecole Polytechnique Federale de Lausanne (EPFL), Switzerland

Financial Statements2009/10

Quick Questions and Answers

1. What is RVC (Reconfigurable Video Coding)?A dataflow programming framework standardized by ISO/IEC since 2009.

• ISO/IEC 23001-4 (MPEG-B Part 4), 2009 (1st Edition), 2011 (2nd Edi-tion) describes how to specify video codecs using three languages –RVC-CAL, FNL and RVC-BSDL.

• ISO/IEC 23002-4 (MPEG-C Part 4), 2010 (1st Edition) describes a li-brary of common tools used in MPEG video codecs.

2. What is an RVC specification?An implementation-agnostic description of a system specified by RVC.

3. What have you done in this work?We report performance benchmarking results of RVC-based C imple-mentations of an H.264/AVC intra codec and a JPEG codec and fourmultimedia security systems working with them.

4. How did you benchmark the performance of the RVC systems?By presenting a side-by-side comparison of the RVC-based implementa-tions against non-RVC reference implementations.

5. What are the main results you observed?

•RVC implementations have a performance similar to non-RVC ones.•On a dual-core machine we observed a performance gain up to 173%.

1. How does RVC work?

Development Environment: + Open RVC-CAL Compiler

Design Stage

Model Instantiation: Selection of FUs and

Parameter Assignment

Abstract Model(FNL + RVC CAL)

Tool Library 1(RVC-CAL Functional

Units (FUs))

Application Description(FU Network Description)Graphical FU

network editor, RVC-CAL editor, RVC simulator

Implementation Stage

(FNL + RVC-CAL)Tool Library 2

(RVC-CAL Functional Units FUs)

RVC simulator

Application ImplementationAutomatic code generation

to C/C++, Java, LLVM, VHDL/Verilog etc.

Tool Library 1 Implementation

Tool Library 2Implementation

Code generation tools

Input Data Application Solution Output Data

2. Benchmarked Systems

•RVC-based C implementations: specified manually in RVC by the RVCcommunity and C code automatically generated from the RVC specifica-tions by ORCC’s CAL2C backend.

•Non-RVC C implementations: JM (for H.264/AVC) and IJG (for JPEG),C code manually written/optimized/maintained.

Sign-bit encryption & decryption

3: JVEE & JVDD DC encryption & d i1

H.264/AVC codec

& decryption

2

4: JIEE & JIDD

6: JISE & JISDF5 steganographic

5: JIWE & JIWDDCT-based watermark

5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD5: JIWE & JIWD

2

JPEG codec

F5 steganographicembedder & detectorF5 steganographic

embedder & detectorDCT based watermark embedder & detector

3. Experimental Results

3.1 Run-time performance on a single-core machineH.264/AVC

JM−Encoder RVC−Encoder JM−JVEE RVC−JVEE0

50

100

150

H.264/AVC Implementations

Tim

e (s

econ

ds)

Foreman (QCIF) Highway (QCIF) Suzie (QCIF)

H.264/AVC based encoding implementations

JM−Decoder RVC−Decoder JM−JVDD RVC−JVDD0

0.5

1

1.5

2

2.5

H.264/AVC Implementations

Tim

e (s

econ

ds)

Foreman (QCIF) Highway (QCIF) Suzie (QCIF)

H.264/AVC based decoding implementations

Test Video JM-JVEE JM-JVDD RVC-JVEE RVC-JVDD

Foreman 0.16% 2.77% 6.01% 6.73%

Highway 0.18% 2.41% 1.98% 6.55%

Suzie 0.17% 2.54% 2.25% 6.97%

0.16%

0.18%

0.17%

6.01%

1.98%

2.25%

2.77%

2.41%

2.54%

6.73%

6.55%

6.97%

Overheads of sign-bit encryption module

•RVC-based encoding implementa-tions are (> 100%) faster.

•RVC-based decoding implementa-tions are comparable to JM ones.

•RVC implementations suffer moreencryption/decryption overhead.

JPEG

IJG−Encoder RVC−Encoder IJG−JIEE RVC−JIWE IJG−JISE RVC−JISE0

50

100

150

200

250

300

350

RVC−JIEE IJG−JIWE JPEG Implementations

Tim

e (m

illis

econ

ds)

airplane (512x512) Lena (512x512) yacht (512x480)

JPEG based encoding implementations

IJG−Decoder RVC−Decoder IJG−JIDD RVC−JIWD IJG−JISD RVC−JISD0

50

100

150

RVC−JIDD IJG−JIWD JPEG Implementations

Tim

e (m

illis

econ

ds)

airplane (512x512) Lena (512x512) yacht (512x480)

JPEG based decoding implementations

Test Image JIEE JIDD JIWE JIWD JISE JISD

RVC

airplane 7.02% 20.13% 13.67% 15.73% 26.46% 44.11%

Lena 6.06% 20.00% 5.60% 15.13% 24.50% 43.85%

Pepper 6.00% 21.59% 4.91% 14.09% 22.52% 43.52%

IJG

airplane 11.25% 11.55% 15.84% 18.50% 26.08% 31.12%

Lena 9.28% 12.50% 14.80% 17.66% 23.52% 30.11%

Pepper 11.13% 15.01% 16.85% 21.98% 27.77% 34.39%

7.02%

6.06%

6.00%

11.25%

9.28%

11.13%

13.67%

5.60%

4.91%

15.84%

14.80%

16.85%

26.46%

24.50%

22.52%

26.08%

23.52%

27.77%

20.13%

20.00%

21.59%

15.73%

15.13%

14.09%

44.11%

43.85%

43.52%

11.55%

12.50%

15.01%

18.50%

17.66%

21.98%

31.12%

30.11%

34.39%

Overheads of security modules

•RVC-based implementations areslower.

• JISE/JISD have the highest over-head due to image buffering.

3.2 Performance gain on a dual-core machine

Encoder JVDD100

110

120

130

140

150

160

170

180

JVEE Decoder H.264/AVC Implementations

Per

form

ance

Gai

n (%

)

Foreman (QCIF)Highway (QCIF)Suzie (QCIF)

Encoder JIEE JIWE JIDD JIWD JISD90

100

110

120

130

140

150

160

170

JISE Decoder JPEG Implementations

Per

form

ance

Gai

n (%

)

airplane (512x512)Lena (512x512)yacht (512x480)

Performance gain of H.264/AVC im-plementations:•Encoding implementations: 159% –

173%.•Decoding implementations: 110% –

119%.

Performance gain of JPEGimplementations:•Encoding implementations:

142% – 164%.•Decoding implementations:

127% – 148%.

ICIP 2013 – 20th IEEE International Conference on Image Processing, Melbourne, Australia, September 15-18, 2013.