fast watermarking for digital content protecting using gpus

25
Digital Watermarking Parallel Programming Model Optimization Implementation Fast Watermarking for Digital Content Protecting using GPUs Amirali Sharifian Isfahan University of Technology February 19, 2014 1 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Upload: amirali-sharifian

Post on 03-Dec-2014

752 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Fast Watermarking for Digital Content Protectingusing GPUs

Amirali Sharifian

Isfahan University of Technology

February 19, 2014

1 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 2: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

1 Digital WatermarkingIntroductionDCT

2 Parallel Programming ModelHardwareProgramming Model

3 OptimizationBlock SizeTiled algorithm

4 ImplementationResultsFuture implementation

2 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 3: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Questions

What is watermarking and why we use it?

How we model our programs on GPUs and what is CUDA C?

What is the role and importance of GPUs in watermarking?

3 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 4: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Watermark

Def: A watermark is a recognizableimage or pattern in paper that appearsas various shades of lightness/darkness

4 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 5: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Digital Watermarking

Def: The procedure of embedding copyright information in adigital content such as image, video or audio.

5 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 6: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Watermarking system methods and properties

Spatial domain

Frequency domain

- DFT- DCT- DWT

Spatial domain Frequency domainComputation complexity Low High

Robustness Fragile More robust

Capacity High Low

Application Authentication Copyright

6 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 7: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Watermarking method

Image(Cover)

Partitioning DCT Embeding

IDCT ReconstructingI ′

Watermarked Image

Bi DCT (Bi)

DCT ′(Bi)

B′i

7 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 8: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Discrete Cosine TransformDefinition method

Definition method

C(U,V ) = α(u)α(v)∑N−1

x=0

∑N−1y=0 f (x , y) cos

[π(2x+1)u

1N

]cos

[π(2y+1)v

2N

]

8 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 9: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Discrete Cosine TransformEfficient method

Efficient method

2-D DCT(x) = 1-D DCT((1-D DCT(X ))t)

9 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 10: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Embedding method

λ = |Ck(L)− Ck(S)|

10 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 11: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Architecture

CPU and GPU are designed very differently

CPUs: Latency oriented design

Powerful ALU

Large caches

Sophisticated control

GPUs: Throughput oriented design

Small Chaches

Simple control

Energy efficient ALUs

11 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 12: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

CUDA / OpenCL - Execution model

Heterogeneous host+device application C program- Serial parts in host C code- Parallel parts in device SPMD kernel C code

12 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 13: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

A Multi-Dimensional Grid Example

13 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 14: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

CUDA memory model

14 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 15: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

” Parallel programming is easy as long as you don’t care aboutperformance.”

15 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 16: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Executing thread blocks

Threads are assigned to StreamingMultiprocessors (SM) in blockgranularity

Up to 8 Blocks to each SM asresource allowsFermi SM can take up to 1536threads

Could be 256 (threads/block) * 6blocksOr 512 (threads/block) * 3blocks, etc.

Each block is executed as 32-threadWarps

16 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 17: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

The Von-NeumannModel

The Von-NeumannModel with SIMD

units

17 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 18: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Importance of memory access efficiently

Compute to Global Memory Access (CGMA)- Memory bandwidth = 200GB/s → 50(200/4) giga

single-percision → 50 GFLOPS- The peak single-precision performance: 1,500 GFLOPS !!

18 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 19: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Tiled matrix multiplication

Global memory access pattern of the base matrix multiplicationkernel

19 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 20: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Tiled matrix multiplicationOptimized

For 150GB/s global memory bandwidth⇒ (150/4)× 16 = 600 GFLOPS !!

20 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 21: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Other Optimization

Dram bandwidth

Memory coalescing

Tiled Convolution

Data transfer and Virtual Memory

Pinned memory and DMA data transfer

21 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 22: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Speedup

Implementation results on a system with Core i7 - 3.40 GHZ CPUand GTX570 GPU:

Speedup = GPUTimeCPUTime

22 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 23: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Comparing two different systems

System 1 System 2

CPU Core i7 - 3.40 GHZ Core i3 - 3.10 GHZ

GPU GTX 570 GTX 460

23 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 24: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Implementing the algorithm on mobile phones

Using watermarking algorithms in multimedia streaming

24 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs

Page 25: Fast watermarking for digital content protecting using GPUs

Digital WatermarkingParallel Programming Model

OptimizationImplementation

Question ?

25 / 25

Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs