Reversible Data Hiding for Point-Sampled Geometry JOURNAL OF INFORMATION SCIENCE AND ENGINEERING...

Post on 19-Jan-2016

219 views 2 download

Transcript of Reversible Data Hiding for Point-Sampled Geometry JOURNAL OF INFORMATION SCIENCE AND ENGINEERING...

Reversible Data Hiding for Point-Sampled Geometry

JOURNAL OF INFORMATION SCIENCE AND ENGINEERING

Vol. 23, pp.1889-1900, 2007

PENG-CHENG WANG AND CHUNG-MING WANG

Reporter: 陳德祐

2008/2/22

2

Outline

Introduction Reversible Data Hiding Point-Sampled Geometry Proposed scheme Conclusions Comments

3

Reversible Information Hiding Scheme~Embedding (1/2)

Embedding

Payload

Secret Key

CoverModel

StegoModel

4

Reversible Information Hiding Scheme~Extraction (2/2)

Secret Key

RecoveredPayload

ExtractionStegoModel

RecoveredModel

Reversibility : can exactly recover the original model

5

Classification of Information Hiding

Spatial domain Embed directly information in the spatial domain

Geometry : coordinates of points Topology : connectivity among points Appearance attributes : color, normal, texture coordinate

Transform domain Exploit domain properties for information hiding

DCT: Discrete Cosine Transform DFT: Discrete Fourier Transform DWT: Discrete Wavelet Transform

6

Requirements of Data Hiding

Security Any data hiding approach must be secure

Capacity The amount of payload as large as possible

Robustness Robustness against various attacks has been less important,

because the goal is hide a secret message Light robustness, such as translation, rotation, and uniform

scaling Imperceptibility

Embedding process must be without loss of perceptual quality of the cover model

7

3D Models Representation

Polygonal models Point-sampled geometries Parametric surfaces, e.g. non-uniform ratio

nal B-spline surfaces (NURBS) Constructive solid geometry (CSG) Voxels Motion data

8

Polygonal ModelVertex, or point

Edge

9

Point-Sampled Geometry

No edge information

10

The proposed scheme

Embedding model Stego

modelcover and

payload Recovered

modelcover of

centergravity

and axes X-Y-Z

keySecret

Payload

modelCover

model stego

AttackedExtractiononRegistrati

model

Stego

model stego of

centergravity

and axes X-Y-Z

model stego

of volumebounding

theoflength axis-X

Require one integer and 25 floating points of memory

11

Embedding

Construct PCA-coordinate

system

Coordinate translation

Sorting for each axis

Embedding data

1.

2.

3.

4.

12

Sorting Points for Each Axis

1X

1P

axis-X

1mP

mP

2P

2X 1mX mX

13

Interval

axisXIntervalnX 2nX

nP 2nP

0 1 2 3 1i2i

Interval :

state-i

1np

State 3

14

Each interval is considered an i-state object. Prior to data embedding, the i is set to 2.

Embedding d (c bits) into each interval, the i is changed from two to 2c+1.

2 intervalsr=0 r=1

2c intervals 2c intervals

2c+1 intervals

15

Embedding d (c bits) into the interval, the new state

The new X-coordinate value of Pn+1 is

r = 0 λ= Xn+1 – Xn

nX 2nX

nP 2nP

Interval

1nP

1nX

0 1nX 2nX

nP

2nP

Interval

1nP

1nX

0 1

r = 1 λ= Xn+1 - (Xn+Xn+2)/2

16

Embed a Bit into the Interval

Secret key : generate a random sequence of intervals

State: r=0

Embed a Bit 1 (c=1)

nX 2nX0 1 2 3

nP

2nP

Interval

1nP

1nX

2

nX 2nX

nP

2nP

Interval

1nP

1nX

0 1

Before embedding After embedding

Reversibility

New state ---------->s = 01(2) = 2 * 0 + 1 = 1(10)Left shift

r = 0 λ= Xn+1 – Xn

17

nX 2nX

nP 2nP

Interval

1nP

1nX

nX 2nX

nP 2nP

Interval

1nP

2

1nX

0 1 0 1 2 3

Before embedding After embedding

Embed a Bit into the Interval

State:r = 1Embed a Bit 0

New state ----------> 10(2)

= 2 * 1 + 0 = 2

(10)Left shift

r = 1 λ= Xn+1 - (Xn+Xn+2)/2

18

Embedding model Stego

keySecret

Payload

modelCover

modelcover and

payload Recovered

modelcover of

centergravity

and axes X-Y-Z

model stego

AttackedExtractiononRegistrati

model

Stego

model stego of

centergravity

and axes X-Y-Z

model stego

of volumebounding

theoflength axis-X

19

Registration Correct the attacks of translation and rotation

Compute the 3 principal axes and gravity center of the attacked stego model

Translate the coordinates of the attacked stego model to its PCA-coordinate system

Translate the coordinates of the attacked stego model to the PCA-coordinate system of the stego model using the 3 principal axes and gravity center of the stego model

Correct the attacks of uniform scaling Compute the X-axis length of the bounding volume of th

e attacked stego model Scale the attacked stego model so that the X-axis lengt

h of the scaled model is equal to the X-axis length of the stego model

20

Registration

X

Z Y

Stego model

Attacked stego model

Registration

PCAattacked -----> PCAstego

Coordinatetranslation

Attacked model ----> Stego modelScaling

Compute PCA axes and centroid of attacked stego model

Given PCA axes and centroid of stego model

Compute X-axis length of the bounding box of attacked stego model

Given X-axis length of the bounding box of stego model

21

Extraction

Coordinate translation

Sorting for each axis

Extraction data

Three PCA axes and centroid of 3D cover model

1.

2.

3.

22

Extraction

Find a sequence of intervals by the secret key, e.g.

Extract a data bit from the interval by the X-coordinate value

Restore the original X-coordinate value Repeat these steps for all the intervals

2nn XX

1nX

23

nX 2nX

nP 2nP

Interval

1nP

2

1nX

0 1 2 3

Extraction

State = 2(10)

=

10(2)

A bit 0 has been previously embedded

Original state = 1

λ

24

Data Capacity

Model : m points Each axis : m/2 intervals

Capacity = 3*m/2 bits= 1.5m bits

Time complexity : )log(O mm

25

56194points

48485points

35947points

33591points

26

Experimental Results

CoverNumber of

points

Data capacity

(bits)

RMSratio

PCA execution

time (seconds)

Embedding execution

time (seconds)

Extraction execution

time (seconds)

Dinosaur 56194 83976 2.99 x 10-6 0.047 0.156 0.032

Horse 48485 72456 3.78 x 10-6 0.047 0.094 0.032

Bunny 35947 53862 5.26 x 10-6 0.032 0.078 0.031

Venus 33591 50310 5.26 x 10-6 0.032 0.078 0.016

27

Conclusions

The first ones to propose reversible data hiding algorithms for point-sampled geometry

Improvement on the capacity Using little information to recover the

original model Robustness against translation, rotation,

and uniform scaling

28

Comments

Improve the capacity: 1.5m bits 3m bits

除 1st 不藏外,其他各點可依序 ( 亦可不依序 )藏入 1 bit

Distortion vs. capacity The capacity is high, but the scheme is not

really reversible! (Euclidean distance truncation error )

可逆的向量地圖資料隱藏演算法

第十七屆全國資訊安全會議

2007 ISC

30

嵌入流程 ~訊息嵌入

31

嵌入流程 ~訊息嵌入

32

嵌入流程 ~訊息嵌入

Embed 1

Embed 0

33

嵌入流程 ~訊息嵌入

34