Remote Rendering of Massively Textured 3D Scenes Through...

24
SIAMES team VIIP2003 Remote Rendering of Massively Textured 3D Scenes Through Progressive Texture Maps Jean-Eudes Marvie INSA of Rennes Pr Kadi Bouatouch University of Rennes

Transcript of Remote Rendering of Massively Textured 3D Scenes Through...

Page 1: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

SIAMES team VIIP2003

Remote Rendering of Massively Textured 3D Scenes Through

Progressive Texture Maps

Jean-Eudes MarvieINSA of Rennes

Pr Kadi BouatouchUniversity of Rennes

Page 2: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 2

SIAMES team VIIP2003

Objective

• Real time navigation• Client-server architecture• Applied to complex 3D scenes

ServerDatabase 1Database 2Database 3

Client 1

WalkthroughModel 1

Client 2

WalkthroughModel 2

Client 3

WalkthroughModel 2

TCP/IP

Page 3: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 3

SIAMES team VIIP2003

Constraints

• Complex 3D scenes :• Millions of polygons, objects,• Textures coordinates, materials, normal vectors,• Large set of texture maps

• Real-time navigation : (25fps)• Limited by graphics hardware performances,• By network bandwidth,• By the amount of data to process

Page 4: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 4

SIAMES team VIIP2003

Used solutions

• Global optimizations• Spatial subdivision of the scenes (set of cells),• Visibility preprocessing between the cells,• Partial visibility graphs

• Local optimizations• Progressive geometry• Progressive texture maps• Automatic selection and adaptation

Page 5: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 5

SIAMES team VIIP2003

Overview

I - Progressive Texture Maps (PTM)• Texture maps are specific images

II - Average Coverage Hint (ACH)• A pre-computed selection metric for mipmap levels

IV - Results and discussion• A virtual museum with high resolution texture maps

III - Automatic adaptation• Using PTM and ACH to perform real time remote navigation

Page 6: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 6

SIAMES team VIIP2003

I - Progressive Texture Maps

PTMA compact file format to encode

texture mipmaps

Page 7: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 7

SIAMES team VIIP2003

I - Progressive Texture Maps

• JPEG+ Hierarchical representation

⇒ Possibility to encode texture mipmaps

+ Lossless compression⇒ Average compression equal 2:1

– Data redundancy between levels⇒ Original size increased by 30%

Page 8: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 8

SIAMES team VIIP2003

I - Progressive Texture Maps

• Computing the mipmap levels

∑≤≤

≤≤++

− =

1010

2.,2.1

, 41

ml

nmjli

nji II

=

25.025.025.025.0

FUsing low pass filter :

Color component for lower level :

00,0I

10,0I 1

0,1I1

1,0I 11,1I

20,0I 2

1,0I20,1I 2

1,1I

22,0I 2

3,0I2

2,1I 23,1I

20,2I 2

1,2I2

0,3I 21,3I

22,2I 2

3,2I2

2,3I 23,3I

F

F

0

1

2

(1)

Page 9: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 9

SIAMES team VIIP2003

I - Progressive Texture Maps

• Mipmap level reconstruction

00,0I

Level 0

Server side Client side

⇒ Mipmap levels memory size = original texture map size !!

10,0I 1

0,1I1

1,0I 11,1I

Full level 1

nji

nji

nji

nji

nji IIIII 12.,2.2.,12.2.,2.

1,12.,12. .4 ++−

++ −−−=(2)

(2)Network transmission and

10,0I 1

0,1I1

1,0I

Partial level 1

10,0I 1

0,1I1

1,0I

Partial level 1

11,1I

Page 10: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 10

SIAMES team VIIP2003

I - Progressive Texture Maps

• Integer solution

⇒= ∑≤≤

≤≤++

1010

2.,2.1

, 41

ml

nmjli

nji II(1)

43

,21

,41

,0remainder

With { }3,2,1,01, ∈−njiε , stored using only 2 bits.

⇒ Equation (2) becomes :

nji

nji

nji

nji

nji

nji IIIII 12.,2.2.,12.2.,2.

1,

1,12.,12. .4 ++

−−++ −−−+= ε(3)

Page 11: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 11

SIAMES team VIIP2003

I - Progressive Texture Maps

• PTM+ Hierarchical representation

⇒ Possibility to encode texture mipmaps

+ Losseless compression⇒ Average compression equal 2:1

+ No data redundancy between levels+ Original size increased only by 6%

Page 12: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 12

SIAMES team VIIP2003

II - Average Coverage Hints

ACHA metric to select the mipmap levels to

download

Page 13: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 13

SIAMES team VIIP2003

II - Average Coverage Hints

[Teler et al.] • Bounding box projection area

+ Medium computation cost– Occluded objects are treated as visible

[Dumont et al.] • Frame buffer analysis (two pass)

+ Precise, occluded objects are rejected– Buffer analysis is very costly

Page 14: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 14

SIAMES team VIIP2003

II - Average Coverage Hints

• Off-line : per-cell ACH computationcell

cell

cell

OpenGLcamera

Rendered frame example

Page 15: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 15

SIAMES team VIIP2003

II - Average Coverage Hints

• Off-line : per-cell ACH computation• Height camera positions per cell,• Six directions for each position.

1. Pixel count for each color (cell),2. Normalize values using total pixel number,3. Get a percentage of coverage for each

cell,4. Store the result in the database.

Page 16: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 16

SIAMES team VIIP2003

II - Average Coverage Hints

• On-line : ACH renormalization

Current cell

0.5

0.25

0.25

0.0

0.66 0.33

ACH of visible cells are renormalized

Page 17: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 17

SIAMES team VIIP2003

III - Automatic adaptation

• According to– Network bandwidth – Client machine power– User defined parameters

• Using PTMs and ACHs to provide– Highest visual quality – Maximum interactivity

Page 18: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 18

SIAMES team VIIP2003

III - Automatic adaptation

• User defined parameters :– Amount of graphics hardware memory

• Available for all the texture maps– When viewpoint is moving :– When viewpoint is static more than n seconds :

– Time limit to download a mipmap level• When viewpoint is moving :• When viewpoint is static more than n seconds : sta

t∆dynt∆

M mem

sta

M mem

dyn

Page 19: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 19

SIAMES team VIIP2003

III - Automatic adaptation

• Memory budget allocation

0.66 0.33

MMmem×= 66.0

0

Share among objects

MMMrestmem

0133.0 +×=

Visible cells sorted according to their ACH value

30M

M rest

0

restrest

30M

30M

rest

Share among objects

20M

20M

rest rest M rest

1

Page 20: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 20

SIAMES team VIIP2003

III - Automatic adaptation• Memory budget usage

L = highest mipmap level into graphics hardwareLh = highest mipmap level already downloadedLmax = highest mipmap level availableM = memory budget allocated to the textureS(L) = memory size of mipmap pyramid for level L

S(L+1) ≤ ML+1 ≤ Lmax

L+1 > Lh

yesAdd L+1

to hardware

S(L) > Mno

Not downloadingS(L+1) ≤ ML+1 ≠ Lmax

L+1 > Lh

no

Remove Lfrom hardware

yes

Download L+1from server if download

time is ≤ allowed time

yes

Page 21: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 21

SIAMES team VIIP2003

IV - Results

• Video– Model with 90MB of texture maps,– Pentium IV 1.7GHz,– Nvidia Quadro 2 Pro 64MB– User parameters :

secdyn

t5=∆

MBM mem

sta12=

MBM mem

dyn4=

secdyn

t20=∆

secn 5=

Page 22: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 22

SIAMES team VIIP2003

Page 23: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 23

SIAMES team VIIP2003

Conclusion

• PTMs dedicated to texture mipmaps– Better loss less compression than JPEG– Low CPU cost for the decompression

• ACHs dedicated to conservative visibility– Preprocessed, low cost storage– Low CPU cost on the client side

• Automatic adaptation– Network and Client machine

Page 24: Remote Rendering of Massively Textured 3D Scenes Through ...jmarvie.free.fr/Publis/2003_VIIP/viip2003_slides.pdf · Remote Rendering of Massively Textured 3D Scenes Through Progressive

9/9/2003 IRISA / INRIA - INSA / University of Rennes 24

SIAMES team VIIP2003

Questions ?