Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Fast Watermarking for Digital Content Protect...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

1

Digital Watermarking
Introduction
DCT

2

...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Questions

What is watermarking and why we us...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Watermark

Def: A watermark is a recognizable...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Digital Watermarking
Def: The procedure of em...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Watermarking system methods and properties
Sp...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Watermarking method

Image
(Cover)

Partition...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Discrete Cosine Transform
Definition method

D...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Discrete Cosine Transform
Efficient method

Effic...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Embedding method

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

10 /...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Architecture
CPU and GPU are designed very di...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

CUDA / OpenCL - Execution model
Heterogeneous...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

A Multi-Dimensional Grid Example

13 / 25
Ami...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

CUDA memory model

14 / 25
Amirali Sharifian

...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

” Parallel programming is easy as long as you...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Executing thread blocks
Threads are assigned ...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

The Von-Neumann
Model

The Von-Neumann
Model ...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Importance of memory access efficiently

Comput...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Tiled matrix multiplication

Global memory ac...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Tiled matrix multiplication
Optimized

For 15...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Other Optimization

Dram bandwidth
Memory coa...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Speedup
Implementation results on a system wi...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Comparing two different systems
System 1
CPU
G...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Implementing the algorithm on mobile phones
U...
Digital Watermarking
Parallel Programming Model
Optimization
Implementation

Question ?

25 / 25
Amirali Sharifian

Fast Wa...
Upcoming SlideShare
Loading in...5
×

Fast watermarking for digital content protecting using GPUs

732

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
732
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Fast watermarking for digital content protecting using GPUs

  1. 1. 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
  2. 2. Digital Watermarking Parallel Programming Model Optimization Implementation 1 Digital Watermarking Introduction DCT 2 Parallel Programming Model Hardware Programming Model 3 Optimization Block Size Tiled algorithm 4 Implementation Results Future implementation 2 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  3. 3. Digital Watermarking Parallel Programming Model Optimization Implementation 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
  4. 4. Digital Watermarking Parallel Programming Model Optimization Implementation Watermark Def: A watermark is a recognizable image or pattern in paper that appears as various shades of lightness/darkness 4 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  5. 5. Digital Watermarking Parallel Programming Model Optimization Implementation Digital Watermarking Def: The procedure of embedding copyright information in a digital content such as image, video or audio. 5 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  6. 6. Digital Watermarking Parallel Programming Model Optimization Implementation Watermarking system methods and properties Spatial domain Frequency domain - DFT - DCT - DWT Computation complexity Robustness Capacity Application Spatial domain Low Fragile High Authentication Frequency domain High More robust Low Copyright 6 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  7. 7. Digital Watermarking Parallel Programming Model Optimization Implementation Watermarking method Image (Cover) Partitioning Bi DCT DCT (Bi ) Embeding DCT (Bi ) IDCT Bi Reconstructing I Watermarked Image 7 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  8. 8. Digital Watermarking Parallel Programming Model Optimization Implementation Discrete Cosine Transform Definition method Definition method C (U, V ) = α(u)α(v ) N−1 x=0 N−1 y =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
  9. 9. Digital Watermarking Parallel Programming Model Optimization Implementation Discrete Cosine Transform Efficient 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
  10. 10. Digital Watermarking Parallel Programming Model Optimization Implementation Embedding method λ = |Ck (L) − Ck (S)| 10 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  11. 11. Digital Watermarking Parallel Programming Model Optimization Implementation Architecture CPU and GPU are designed very differently CPUs: Latency oriented design GPUs: Throughput oriented design Powerful ALU Small Chaches Large caches Simple control Sophisticated control Energy efficient ALUs 11 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  12. 12. Digital Watermarking Parallel Programming Model Optimization Implementation 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
  13. 13. Digital Watermarking Parallel Programming Model Optimization Implementation A Multi-Dimensional Grid Example 13 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  14. 14. Digital Watermarking Parallel Programming Model Optimization Implementation CUDA memory model 14 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  15. 15. Digital Watermarking Parallel Programming Model Optimization Implementation ” Parallel programming is easy as long as you don’t care about performance.” 15 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  16. 16. Digital Watermarking Parallel Programming Model Optimization Implementation Executing thread blocks Threads are assigned to Streaming Multiprocessors (SM) in block granularity Up to 8 Blocks to each SM as resource allows Fermi SM can take up to 1536 threads Could be 256 (threads/block) * 6 blocks Or 512 (threads/block) * 3 blocks, etc. Each block is executed as 32-thread Warps 16 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  17. 17. Digital Watermarking Parallel Programming Model Optimization Implementation The Von-Neumann Model The Von-Neumann Model with SIMD units 17 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  18. 18. Digital Watermarking Parallel Programming Model Optimization Implementation 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
  19. 19. Digital Watermarking Parallel Programming Model Optimization Implementation Tiled matrix multiplication Global memory access pattern of the base matrix multiplication kernel 19 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  20. 20. Digital Watermarking Parallel Programming Model Optimization Implementation Tiled matrix multiplication Optimized For 150GB/s global memory bandwidth ⇒ (150/4) × 16 = 600 GFLOPS !! 20 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  21. 21. Digital Watermarking Parallel Programming Model Optimization Implementation 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
  22. 22. Digital Watermarking Parallel Programming Model Optimization Implementation Speedup Implementation results on a system with Core i7 - 3.40 GHZ CPU and GTX570 GPU: Speedup = GPUTime CPUTime 22 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  23. 23. Digital Watermarking Parallel Programming Model Optimization Implementation Comparing two different systems System 1 CPU GPU System 2 Core i7 - 3.40 GHZ Core i3 - 3.10 GHZ GTX 570 GTX 460 23 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  24. 24. Digital Watermarking Parallel Programming Model Optimization Implementation Implementing the algorithm on mobile phones Using watermarking algorithms in multimedia streaming 24 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  25. 25. Digital Watermarking Parallel Programming Model Optimization Implementation Question ? 25 / 25 Amirali Sharifian Fast Watermarking for Digital Content Protecting using GPUs
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×