Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table...

22
Summed Area Tables Patrick Cozzi University of Pennsylvania CIS 565 - Spring 2011

Transcript of Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table...

Page 1: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Tables

Patrick CozziUniversity of PennsylvaniaCIS 565 - Spring 2011

Page 2: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Sources

Patrick Cozzi Spring 2011NVIDIA CUDA Programming GuideCUDA by ExampleProgramming Massively Parallel Processors

Page 3: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

Summed Area Table (SAT): 2D table where each element stores the sum of all elements in an input image between the lower left corner and the entry location.

Page 4: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image

1 2 2 4

2 5 6 8

2 6 9 11

4 9 12 14

SAT

(1 + 1 + 0) + (1 + 2 + 1) + (0 + 1 + 2) = 9

Example:

Page 5: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

BenefitUsed to perform different width filters at every pixel in the image in constant time per pixelJust sample four pixels in SAT:

Image from http://http.developer.nvidia.com/GPUGems3/gpugems3_ch39.html

Page 6: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

UsesGlossy environment reflections and refractionsApproximate depth of field

Image from http://http.developer.nvidia.com/GPUGems3/gpugems3_ch39.html

Page 7: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image SAT

Page 8: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image

1

SAT

Page 9: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image

1 2

SAT

Page 10: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image

1 2 2

SAT

Page 11: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image

1 2 2 4

SAT

Page 12: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image

1 2 2 4

2

SAT

Page 13: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image

1 2 2 4

2 5

SAT

Page 14: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

Page 15: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image

1 2 2 4

2 5 6 8

2 6 9 11

4 9

SAT

Page 16: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image

1 2 2 4

2 5 6 8

2 6 9 11

4 9 12

SAT

Page 17: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image

1 2 2 4

2 5 6 8

2 6 9 11

4 9 12 14

SAT

Page 18: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

How would implement this on the GPU?

Page 19: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

Recall Inclusive Scan:

0 1 52 3 4 6 7

0 1 153 6 10 21 28

Page 20: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

How would compute a SAT on the GPU using

inclusive scan?

Page 21: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 1 0 2

1 2 1 0

0 1 2 0

2 1 0 0

Input image

1 2 2 4

1 3 4 4

0 1 3 3

2 3 3 3

Partial SAT

One inclusive scan for each row

Step 1 of 2:

Page 22: Summed Area Tables - Penn Engineeringcis565/Lectures2011/Lecture15_SAT.p… · Summed Area Table Summed Area Table (SAT): 2D table where each element stores the sum of all elements

Summed Area Table

1 2 2 4

1 3 4 4

0 1 3 3

2 3 3 3

Partial SAT

One inclusive scan for eachColumn, bottom to top

Step 2 of 2:

1 2 2 4

2 5 6 8

2 6 9 11

4 9 12 14

Final SAT