Animation Sequence Compression Yang Liu Department of Computer - - PowerPoint PPT Presentation

animation sequence compression
SMART_READER_LITE
LIVE PREVIEW

Animation Sequence Compression Yang Liu Department of Computer - - PowerPoint PPT Presentation

Animation Sequence Compression Yang Liu Department of Computer Science March 2009 . . . . . . Outline Introduction Purpose Animation Sequence Problem Definition Theory about Compression Techniques Techniques in Animation Compression


slide-1
SLIDE 1

. . . . . .

Animation Sequence Compression

Yang Liu

Department of Computer Science

March 2009

slide-2
SLIDE 2

. . . . . .

Outline

Introduction Purpose Animation Sequence Problem Definition Theory about Compression Techniques Techniques in Animation Compression

slide-3
SLIDE 3

. . . . . .

Outline

Introduction Purpose Animation Sequence Problem Definition Theory about Compression Techniques Techniques in Animation Compression

slide-4
SLIDE 4

. . . . . .

Purpose

◮ Introduction of Animation Sequence Compression

slide-5
SLIDE 5

. . . . . .

Purpose

◮ Introduction of Animation Sequence Compression ◮ Introduction of Related Techniques

slide-6
SLIDE 6

. . . . . .

Outline

Introduction Purpose Animation Sequence Problem Definition Theory about Compression Techniques Techniques in Animation Compression

slide-7
SLIDE 7

. . . . . .

Sample Application

◮ Interactive Entertainment

slide-8
SLIDE 8

. . . . . .

Sample Application

◮ Interactive Entertainment ◮ Games: World of WarCraft

slide-9
SLIDE 9

. . . . . .

Sample Application

◮ Interactive Entertainment ◮ Games: World of WarCraft ◮ 3D Movies

slide-10
SLIDE 10

. . . . . .

Sample Application

◮ Interactive Entertainment ◮ Games: World of WarCraft ◮ 3D Movies ◮ and more...

slide-11
SLIDE 11

. . . . . .

Outline

Introduction Purpose Animation Sequence Problem Definition Theory about Compression Techniques Techniques in Animation Compression

slide-12
SLIDE 12

. . . . . .

Audio

◮ Audio is sequence of Magnitude.

slide-13
SLIDE 13

. . . . . .

Audio

◮ Audio is sequence of Magnitude. ◮ 44.1 kHz, etc. (NyquistShannon sampling theorem)

slide-14
SLIDE 14

. . . . . .

Audio

◮ Audio is sequence of Magnitude. ◮ 44.1 kHz, etc. (NyquistShannon sampling theorem) ◮ Or, sequence of numbers: WAV format

slide-15
SLIDE 15

. . . . . .

Audio

◮ Audio is sequence of Magnitude. ◮ 44.1 kHz, etc. (NyquistShannon sampling theorem) ◮ Or, sequence of numbers: WAV format ◮ There is lossy compression: MP3

slide-16
SLIDE 16

. . . . . .

Audio

◮ Audio is sequence of Magnitude. ◮ 44.1 kHz, etc. (NyquistShannon sampling theorem) ◮ Or, sequence of numbers: WAV format ◮ There is lossy compression: MP3 ◮ There is also no-loss compression: FLAC etc.

slide-17
SLIDE 17

. . . . . .

Image/Video

◮ Image/Video is a similar scenario

slide-18
SLIDE 18

. . . . . .

Image/Video

◮ Image/Video is a similar scenario ◮ Image is static

slide-19
SLIDE 19

. . . . . .

Image/Video

◮ Image/Video is a similar scenario ◮ Image is static ◮ Video is sequence of images

slide-20
SLIDE 20

. . . . . .

Image/Video

◮ Image/Video is a similar scenario ◮ Image is static ◮ Video is sequence of images ◮ Each image is called “frame”. NTSC video contains 30 frames

per second.

slide-21
SLIDE 21

. . . . . .

Image/Video

◮ Image/Video is a similar scenario ◮ Image is static ◮ Video is sequence of images ◮ Each image is called “frame”. NTSC video contains 30 frames

per second.

◮ MPEG is the most popular video compression method

nowadays.

slide-22
SLIDE 22

. . . . . .

Image/Video

◮ Image/Video is a similar scenario ◮ Image is static ◮ Video is sequence of images ◮ Each image is called “frame”. NTSC video contains 30 frames

per second.

◮ MPEG is the most popular video compression method

nowadays.

◮ MPEG-1 for VCD, MPEG-2 for DVD, MPEG-4/H.264 for

network video.

slide-23
SLIDE 23

. . . . . .

Image/Video

◮ Image/Video is a similar scenario ◮ Image is static ◮ Video is sequence of images ◮ Each image is called “frame”. NTSC video contains 30 frames

per second.

◮ MPEG is the most popular video compression method

nowadays.

◮ MPEG-1 for VCD, MPEG-2 for DVD, MPEG-4/H.264 for

network video.

◮ Most of these compression method are lossy.

slide-24
SLIDE 24

. . . . . .

3D Animation

◮ 3D Models are static

slide-25
SLIDE 25

. . . . . .

3D Animation

◮ 3D Models are static ◮ 3D Animation is sequence of 3D Models (frames)

slide-26
SLIDE 26

. . . . . .

3D Animation

◮ 3D Models are static ◮ 3D Animation is sequence of 3D Models (frames) ◮ Each frame may contains more than one 3D objects.

slide-27
SLIDE 27

. . . . . .

3D Animation

◮ 3D Models are static ◮ 3D Animation is sequence of 3D Models (frames) ◮ Each frame may contains more than one 3D objects. ◮ 3D Objects in adjacent frame are similar, in most case, have

same connectivity.

slide-28
SLIDE 28

. . . . . .

3D Animation

◮ 3D Models are static ◮ 3D Animation is sequence of 3D Models (frames) ◮ Each frame may contains more than one 3D objects. ◮ 3D Objects in adjacent frame are similar, in most case, have

same connectivity.

◮ 3D Objects may translate, rotate, and deform.

slide-29
SLIDE 29

. . . . . .

3D Animation

◮ 3D Models are static ◮ 3D Animation is sequence of 3D Models (frames) ◮ Each frame may contains more than one 3D objects. ◮ 3D Objects in adjacent frame are similar, in most case, have

same connectivity.

◮ 3D Objects may translate, rotate, and deform. ◮ Raw data could be extremly large.

slide-30
SLIDE 30

. . . . . .

3D Animation

◮ 3D Models are static ◮ 3D Animation is sequence of 3D Models (frames) ◮ Each frame may contains more than one 3D objects. ◮ 3D Objects in adjacent frame are similar, in most case, have

same connectivity.

◮ 3D Objects may translate, rotate, and deform. ◮ Raw data could be extremly large. ◮ Compress data for transferring and storage

slide-31
SLIDE 31

. . . . . .

3D Animation

◮ 3D Models are static ◮ 3D Animation is sequence of 3D Models (frames) ◮ Each frame may contains more than one 3D objects. ◮ 3D Objects in adjacent frame are similar, in most case, have

same connectivity.

◮ 3D Objects may translate, rotate, and deform. ◮ Raw data could be extremly large. ◮ Compress data for transferring and storage ◮ De-compress/Reconstruct data for rendering

slide-32
SLIDE 32

. . . . . .

Outline

Introduction Purpose Animation Sequence Problem Definition Theory about Compression Techniques Techniques in Animation Compression

slide-33
SLIDE 33

. . . . . .

Why data is compressible?

◮ Data Compression is based on Information Theory and Coding

Theory

slide-34
SLIDE 34

. . . . . .

Why data is compressible?

◮ Data Compression is based on Information Theory and Coding

Theory

◮ Information is the measure of entropy for information source

(Information Theory by Shanon)

slide-35
SLIDE 35

. . . . . .

Why data is compressible?

◮ Data Compression is based on Information Theory and Coding

Theory

◮ Information is the measure of entropy for information source

(Information Theory by Shanon)

◮ H(X) = − ∑ p(x) log p(x)

slide-36
SLIDE 36

. . . . . .

Why data is compressible?

◮ Data Compression is based on Information Theory and Coding

Theory

◮ Information is the measure of entropy for information source

(Information Theory by Shanon)

◮ H(X) = − ∑ p(x) log p(x) ◮ It is based on probability theory and statistics.

slide-37
SLIDE 37

. . . . . .

Why data is compressible?

◮ Data Compression is based on Information Theory and Coding

Theory

◮ Information is the measure of entropy for information source

(Information Theory by Shanon)

◮ H(X) = − ∑ p(x) log p(x) ◮ It is based on probability theory and statistics. ◮ This indicates the minimum number of bits required

(maximum compression possible)

slide-38
SLIDE 38

. . . . . .

Why data is compressible?-cnt

◮ Entropy Coding (Huffman Coding) is a good way to compress.

slide-39
SLIDE 39

. . . . . .

Why data is compressible?-cnt

◮ Entropy Coding (Huffman Coding) is a good way to compress. ◮ Basic idea is to represent frequently appearing symbols with

less bits.

slide-40
SLIDE 40

. . . . . .

Why data is compressible?-cnt

◮ Entropy Coding (Huffman Coding) is a good way to compress. ◮ Basic idea is to represent frequently appearing symbols with

less bits.

◮ Arithmetic Coding is the the closest coding method to

  • ptimal encoding.
slide-41
SLIDE 41

. . . . . .

Why data is compressible?-cnt

◮ Entropy Coding (Huffman Coding) is a good way to compress. ◮ Basic idea is to represent frequently appearing symbols with

less bits.

◮ Arithmetic Coding is the the closest coding method to

  • ptimal encoding.

◮ Complexity is the problem.

slide-42
SLIDE 42

. . . . . .

Why data is compressible?-cnt 2

◮ Previously we talked about “independent” variables.

slide-43
SLIDE 43

. . . . . .

Why data is compressible?-cnt 2

◮ Previously we talked about “independent” variables. ◮ When next symbol is related to previous symbol, we have less

information.

slide-44
SLIDE 44

. . . . . .

Why data is compressible?-cnt 2

◮ Previously we talked about “independent” variables. ◮ When next symbol is related to previous symbol, we have less

information.

◮ Possible to compress more.

slide-45
SLIDE 45

. . . . . .

Why data is compressible?-cnt 2

◮ Previously we talked about “independent” variables. ◮ When next symbol is related to previous symbol, we have less

information.

◮ Possible to compress more. ◮ Hidden Markov Model in Audio Compression.

slide-46
SLIDE 46

. . . . . .

Lossy Compression

◮ We do need exact information, in some cases.

slide-47
SLIDE 47

. . . . . .

Lossy Compression

◮ We do need exact information, in some cases. ◮ But not always.

slide-48
SLIDE 48

. . . . . .

Lossy Compression

◮ We do need exact information, in some cases. ◮ But not always. ◮ MP3, JPEG, MPEG, H.264, ... , all lossy

slide-49
SLIDE 49

. . . . . .

Lossy Compression

◮ We do need exact information, in some cases. ◮ But not always. ◮ MP3, JPEG, MPEG, H.264, ... , all lossy ◮ For CAD/CAE/documents, precision does matter

slide-50
SLIDE 50

. . . . . .

Lossy Compression

◮ We do need exact information, in some cases. ◮ But not always. ◮ MP3, JPEG, MPEG, H.264, ... , all lossy ◮ For CAD/CAE/documents, precision does matter ◮ For entertainment, not really

slide-51
SLIDE 51

. . . . . .

Lossy Compression

◮ We do need exact information, in some cases. ◮ But not always. ◮ MP3, JPEG, MPEG, H.264, ... , all lossy ◮ For CAD/CAE/documents, precision does matter ◮ For entertainment, not really ◮ Just drop not-so-important info

slide-52
SLIDE 52

. . . . . .

Lossy Compression

◮ We do need exact information, in some cases. ◮ But not always. ◮ MP3, JPEG, MPEG, H.264, ... , all lossy ◮ For CAD/CAE/documents, precision does matter ◮ For entertainment, not really ◮ Just drop not-so-important info ◮ Usually done by quantization – Covered later

slide-53
SLIDE 53

. . . . . .

Outline

Introduction Purpose Animation Sequence Problem Definition Theory about Compression Techniques Techniques in Animation Compression

slide-54
SLIDE 54

. . . . . .

Techniques in Audio Compression

◮ Basically, audio compression relies on predictor.

slide-55
SLIDE 55

. . . . . .

Techniques in Audio Compression

◮ Basically, audio compression relies on predictor. ◮ Idea: any magnitude is related to previous magnitude.

slide-56
SLIDE 56

. . . . . .

Techniques in Audio Compression

◮ Basically, audio compression relies on predictor. ◮ Idea: any magnitude is related to previous magnitude. ◮ Identical predictors work on both ends: Compression and

De-compression.

slide-57
SLIDE 57

. . . . . .

Techniques in Audio Compression

◮ Basically, audio compression relies on predictor. ◮ Idea: any magnitude is related to previous magnitude. ◮ Identical predictors work on both ends: Compression and

De-compression.

◮ Only residue is stored/transferred.

slide-58
SLIDE 58

. . . . . .

Techniques in Audio Compression

◮ Basically, audio compression relies on predictor. ◮ Idea: any magnitude is related to previous magnitude. ◮ Identical predictors work on both ends: Compression and

De-compression.

◮ Only residue is stored/transferred. ◮ Residue should be very small.

slide-59
SLIDE 59

. . . . . .

Techniques in Audio Compression

◮ Basically, audio compression relies on predictor. ◮ Idea: any magnitude is related to previous magnitude. ◮ Identical predictors work on both ends: Compression and

De-compression.

◮ Only residue is stored/transferred. ◮ Residue should be very small. ◮ Entropy coding could compress residue easily

slide-60
SLIDE 60

. . . . . .

Techniques in Audio Compression-cnt

◮ Predictors for non-lossy compression: FLAC etc.

slide-61
SLIDE 61

. . . . . .

Techniques in Audio Compression-cnt

◮ Predictors for non-lossy compression: FLAC etc. ◮ MP3: Just drop high-frequency signals.

slide-62
SLIDE 62

. . . . . .

Techniques in Audio Compression-cnt

◮ Predictors for non-lossy compression: FLAC etc. ◮ MP3: Just drop high-frequency signals. ◮ People are not picky on high-frequency sound

slide-63
SLIDE 63

. . . . . .

Techniques in Audio Compression-cnt

◮ Predictors for non-lossy compression: FLAC etc. ◮ MP3: Just drop high-frequency signals. ◮ People are not picky on high-frequency sound ◮ Fourier Transform

slide-64
SLIDE 64

. . . . . .

Techniques in JPEG

◮ Employes Discrete Cosine Transform (Specialized Fourier

Transform).

slide-65
SLIDE 65

. . . . . .

Techniques in JPEG

◮ Employes Discrete Cosine Transform (Specialized Fourier

Transform).

◮ In JPEG2000, Wavelet Transform is employed.

slide-66
SLIDE 66

. . . . . .

Techniques in JPEG

◮ Employes Discrete Cosine Transform (Specialized Fourier

Transform).

◮ In JPEG2000, Wavelet Transform is employed. ◮ Drop High-Frequency signal (Details).

slide-67
SLIDE 67

. . . . . .

Techniques in JPEG

◮ Employes Discrete Cosine Transform (Specialized Fourier

Transform).

◮ In JPEG2000, Wavelet Transform is employed. ◮ Drop High-Frequency signal (Details). ◮ Run-Length Encoding

slide-68
SLIDE 68

. . . . . .

Techniques in JPEG

◮ Employes Discrete Cosine Transform (Specialized Fourier

Transform).

◮ In JPEG2000, Wavelet Transform is employed. ◮ Drop High-Frequency signal (Details). ◮ Run-Length Encoding ◮ Huffman Coding

slide-69
SLIDE 69

. . . . . .

Techniques in JPEG

◮ Employes Discrete Cosine Transform (Specialized Fourier

Transform).

◮ In JPEG2000, Wavelet Transform is employed. ◮ Drop High-Frequency signal (Details). ◮ Run-Length Encoding ◮ Huffman Coding ◮ Lossy

slide-70
SLIDE 70

. . . . . .

Techniques in JPEG

◮ Employes Discrete Cosine Transform (Specialized Fourier

Transform).

◮ In JPEG2000, Wavelet Transform is employed. ◮ Drop High-Frequency signal (Details). ◮ Run-Length Encoding ◮ Huffman Coding ◮ Lossy ◮ Image may be blurred, with high compression ratio.

slide-71
SLIDE 71

. . . . . .

Techniques in MPEG

◮ Intuitive way to store/transfer video is to transfer all images

  • ne by one (Raw Data).
slide-72
SLIDE 72

. . . . . .

Techniques in MPEG

◮ Intuitive way to store/transfer video is to transfer all images

  • ne by one (Raw Data).

◮ By using similarity between adjacent image, it is possible to

remove redundant information, thus compress data.

slide-73
SLIDE 73

. . . . . .

Techniques in MPEG

◮ Intuitive way to store/transfer video is to transfer all images

  • ne by one (Raw Data).

◮ By using similarity between adjacent image, it is possible to

remove redundant information, thus compress data.

◮ Another way is to “drop” some not so important information.

That is, lossy compression.

slide-74
SLIDE 74

. . . . . .

Techniques in MPEG

◮ Intuitive way to store/transfer video is to transfer all images

  • ne by one (Raw Data).

◮ By using similarity between adjacent image, it is possible to

remove redundant information, thus compress data.

◮ Another way is to “drop” some not so important information.

That is, lossy compression.

◮ MPEG is based on JPEG. Both of them are lossy to gain more

compression ratio.

slide-75
SLIDE 75

. . . . . .

Techniques in MPEG - cnt

◮ Normally, video contains 24 - 30 frams per second

(Film/NTSC)

slide-76
SLIDE 76

. . . . . .

Techniques in MPEG - cnt

◮ Normally, video contains 24 - 30 frams per second

(Film/NTSC)

◮ In-Frame Compression: JPEG

slide-77
SLIDE 77

. . . . . .

Techniques in MPEG - cnt

◮ Normally, video contains 24 - 30 frams per second

(Film/NTSC)

◮ In-Frame Compression: JPEG ◮ I-frame and P-frame

slide-78
SLIDE 78

. . . . . .

Techniques in MPEG - cnt

◮ Normally, video contains 24 - 30 frams per second

(Film/NTSC)

◮ In-Frame Compression: JPEG ◮ I-frame and P-frame ◮ I-frame is stored/transferred completely (high-quality)

slide-79
SLIDE 79

. . . . . .

Techniques in MPEG - cnt

◮ Normally, video contains 24 - 30 frams per second

(Film/NTSC)

◮ In-Frame Compression: JPEG ◮ I-frame and P-frame ◮ I-frame is stored/transferred completely (high-quality) ◮ P-frame is stroed/transferred as residue (low-quality)

slide-80
SLIDE 80

. . . . . .

Techniques in MPEG - cnt-2

◮ What the coder do:

slide-81
SLIDE 81

. . . . . .

Techniques in MPEG - cnt-2

◮ What the coder do: ◮ Find blocks moving on screen and background

slide-82
SLIDE 82

. . . . . .

Techniques in MPEG - cnt-2

◮ What the coder do: ◮ Find blocks moving on screen and background ◮ Compress background and moving objects seperately

slide-83
SLIDE 83

. . . . . .

Techniques in MPEG - cnt-2

◮ What the coder do: ◮ Find blocks moving on screen and background ◮ Compress background and moving objects seperately ◮ For I-frame, just store/transfer it.

slide-84
SLIDE 84

. . . . . .

Techniques in MPEG - cnt-2

◮ What the coder do: ◮ Find blocks moving on screen and background ◮ Compress background and moving objects seperately ◮ For I-frame, just store/transfer it. ◮ For P-frame, predicts movement of blocks, store/transfer

residue

slide-85
SLIDE 85

. . . . . .

Techniques in MPEG - cnt-2

◮ What the coder do: ◮ Find blocks moving on screen and background ◮ Compress background and moving objects seperately ◮ For I-frame, just store/transfer it. ◮ For P-frame, predicts movement of blocks, store/transfer

residue

◮ For blocks, it may change. Store/transfer the residue of block

slide-86
SLIDE 86

. . . . . .

Techniques in MPEG - cnt-3

◮ Finding moving blocks is hard. So encoding takes more time

than decoding.

slide-87
SLIDE 87

. . . . . .

Techniques in MPEG - cnt-3

◮ Finding moving blocks is hard. So encoding takes more time

than decoding.

◮ That’s why different MPEG encoder may produce different

compression result

slide-88
SLIDE 88

. . . . . .

Techniques in MPEG - cnt-3

◮ Finding moving blocks is hard. So encoding takes more time

than decoding.

◮ That’s why different MPEG encoder may produce different

compression result

◮ More residue information means better quality and more bits

slide-89
SLIDE 89

. . . . . .

Techniques in MPEG - cnt-3

◮ Finding moving blocks is hard. So encoding takes more time

than decoding.

◮ That’s why different MPEG encoder may produce different

compression result

◮ More residue information means better quality and more bits ◮ Less residue information means lower quality and less bits

slide-90
SLIDE 90

. . . . . .

Techniques in MPEG - cnt-3

◮ Finding moving blocks is hard. So encoding takes more time

than decoding.

◮ That’s why different MPEG encoder may produce different

compression result

◮ More residue information means better quality and more bits ◮ Less residue information means lower quality and less bits ◮ That’s why action movie requires more bits.

slide-91
SLIDE 91

. . . . . .

Outline

Introduction Purpose Animation Sequence Problem Definition Theory about Compression Techniques Techniques in Animation Compression

slide-92
SLIDE 92

. . . . . .

Animation Compression

◮ Predictor-Based method:

slide-93
SLIDE 93

. . . . . .

Animation Compression

◮ Predictor-Based method: ◮ In-frame compression: Space-only predictor

slide-94
SLIDE 94

. . . . . .

Animation Compression

◮ Predictor-Based method: ◮ In-frame compression: Space-only predictor ◮ That is, transfer only part of vertices.

slide-95
SLIDE 95

. . . . . .

Animation Compression

◮ Predictor-Based method: ◮ In-frame compression: Space-only predictor ◮ That is, transfer only part of vertices. ◮ Inter-frame compression: Time-only predictor and residue for

each vertex

slide-96
SLIDE 96

. . . . . .

Animation Compression

◮ Predictor-Based method: ◮ In-frame compression: Space-only predictor ◮ That is, transfer only part of vertices. ◮ Inter-frame compression: Time-only predictor and residue for

each vertex

◮ Combine them together: Space-Time predictor

slide-97
SLIDE 97

. . . . . .

Animation Compression

◮ Predictor-Based method: ◮ In-frame compression: Space-only predictor ◮ That is, transfer only part of vertices. ◮ Inter-frame compression: Time-only predictor and residue for

each vertex

◮ Combine them together: Space-Time predictor ◮ Using quantization, we can compress model with degraded

quality.

slide-98
SLIDE 98

. . . . . .

Animation Compression

◮ Predictor-Based method: ◮ In-frame compression: Space-only predictor ◮ That is, transfer only part of vertices. ◮ Inter-frame compression: Time-only predictor and residue for

each vertex

◮ Combine them together: Space-Time predictor ◮ Using quantization, we can compress model with degraded

quality.

◮ Assumption: Connectivity never change.

slide-99
SLIDE 99

. . . . . .

Animation Compression

◮ Predictor-Based method: ◮ In-frame compression: Space-only predictor ◮ That is, transfer only part of vertices. ◮ Inter-frame compression: Time-only predictor and residue for

each vertex

◮ Combine them together: Space-Time predictor ◮ Using quantization, we can compress model with degraded

quality.

◮ Assumption: Connectivity never change. ◮ Dynapack: Space-Time compression of the 3D animations of

triangle meshes with fixed connectivity, Lawrence Ibarria et al.

slide-100
SLIDE 100

. . . . . .

Animation Compression-cnt

◮ Skeleton-Based method:

slide-101
SLIDE 101

. . . . . .

Animation Compression-cnt

◮ Skeleton-Based method: ◮ For many models, such as human, there are skeletons.

slide-102
SLIDE 102

. . . . . .

Animation Compression-cnt

◮ Skeleton-Based method: ◮ For many models, such as human, there are skeletons. ◮ Skeleton has much less degree of freedom (DOF).

slide-103
SLIDE 103

. . . . . .

Animation Compression-cnt

◮ Skeleton-Based method: ◮ For many models, such as human, there are skeletons. ◮ Skeleton has much less degree of freedom (DOF). ◮ Normally skeletons just rotate and translate.

slide-104
SLIDE 104

. . . . . .

Animation Compression-cnt

◮ Skeleton-Based method: ◮ For many models, such as human, there are skeletons. ◮ Skeleton has much less degree of freedom (DOF). ◮ Normally skeletons just rotate and translate. ◮ Thus we can use sequence of rotation quaternions and

translation vectors to represent each frame.

slide-105
SLIDE 105

. . . . . .

Animation Compression-cnt

◮ Skeleton-Based method: ◮ For many models, such as human, there are skeletons. ◮ Skeleton has much less degree of freedom (DOF). ◮ Normally skeletons just rotate and translate. ◮ Thus we can use sequence of rotation quaternions and

translation vectors to represent each frame.

◮ Then it comes to compression of quaternions and vectors,

which is much easier.

slide-106
SLIDE 106

. . . . . .

Animation Compression-cnt

◮ Skeleton-Based method: ◮ For many models, such as human, there are skeletons. ◮ Skeleton has much less degree of freedom (DOF). ◮ Normally skeletons just rotate and translate. ◮ Thus we can use sequence of rotation quaternions and

translation vectors to represent each frame.

◮ Then it comes to compression of quaternions and vectors,

which is much easier.

◮ That’s why in most game animation has no deformation.

slide-107
SLIDE 107

. . . . . .

Animation Compression-cnt

◮ Skeleton-Based method: ◮ For many models, such as human, there are skeletons. ◮ Skeleton has much less degree of freedom (DOF). ◮ Normally skeletons just rotate and translate. ◮ Thus we can use sequence of rotation quaternions and

translation vectors to represent each frame.

◮ Then it comes to compression of quaternions and vectors,

which is much easier.

◮ That’s why in most game animation has no deformation. ◮ It’s possible to apply Fourier Transform on quaternions.

slide-108
SLIDE 108

. . . . . .

Animation Compression-cnt

◮ Skeleton-Based method: ◮ For many models, such as human, there are skeletons. ◮ Skeleton has much less degree of freedom (DOF). ◮ Normally skeletons just rotate and translate. ◮ Thus we can use sequence of rotation quaternions and

translation vectors to represent each frame.

◮ Then it comes to compression of quaternions and vectors,

which is much easier.

◮ That’s why in most game animation has no deformation. ◮ It’s possible to apply Fourier Transform on quaternions. ◮ Efficient Implementation of Quaternion Fourier Transform,

Convolution, and Correlation by 2-D Complex FFT, Soo-Chang Pei et al.

slide-109
SLIDE 109

. . . . . .

Animation Compression-cnt 2

◮ What if there is no skeleton?

slide-110
SLIDE 110

. . . . . .

Animation Compression-cnt 2

◮ What if there is no skeleton? ◮ Find relative patches by statistics

slide-111
SLIDE 111

. . . . . .

Animation Compression-cnt 2

◮ What if there is no skeleton? ◮ Find relative patches by statistics ◮ Then use these patch to represent animations

slide-112
SLIDE 112

. . . . . .

Animation Compression-cnt 2

◮ What if there is no skeleton? ◮ Find relative patches by statistics ◮ Then use these patch to represent animations ◮ Add more details progressively.

slide-113
SLIDE 113

. . . . . .

Animation Compression-cnt 2

◮ What if there is no skeleton? ◮ Find relative patches by statistics ◮ Then use these patch to represent animations ◮ Add more details progressively. ◮ Skinning Mesh Animation, Doug L. James

slide-114
SLIDE 114

. . . . . .

Animation Compression-cnt 3

◮ Decomposition-based compression:

slide-115
SLIDE 115

. . . . . .

Animation Compression-cnt 3

◮ Decomposition-based compression: ◮ Decompose the difference between “reference” frame and

“other frame”

slide-116
SLIDE 116

. . . . . .

Animation Compression-cnt 3

◮ Decomposition-based compression: ◮ Decompose the difference between “reference” frame and

“other frame”

◮ Add difference progressively

slide-117
SLIDE 117

. . . . . .

Animation Compression-cnt 3

◮ Decomposition-based compression: ◮ Decompose the difference between “reference” frame and

“other frame”

◮ Add difference progressively ◮ Use quantization to compromise between bits and quality

slide-118
SLIDE 118

. . . . . .

Animation Compression-cnt 4

◮ Geometry Video:

slide-119
SLIDE 119

. . . . . .

Animation Compression-cnt 4

◮ Geometry Video: ◮ It is based on Geometry Image: Convert 3D models to 2D

image by generating regular connectivity.

slide-120
SLIDE 120

. . . . . .

Animation Compression-cnt 4

◮ Geometry Video: ◮ It is based on Geometry Image: Convert 3D models to 2D

image by generating regular connectivity.

◮ Putting all images for frames together, we have a video.

slide-121
SLIDE 121

. . . . . .

Animation Compression-cnt 4

◮ Geometry Video: ◮ It is based on Geometry Image: Convert 3D models to 2D

image by generating regular connectivity.

◮ Putting all images for frames together, we have a video. ◮ Compress it as video.

slide-122
SLIDE 122

. . . . . .

Animation Compression-cnt 4

◮ Geometry Video: ◮ It is based on Geometry Image: Convert 3D models to 2D

image by generating regular connectivity.

◮ Putting all images for frames together, we have a video. ◮ Compress it as video. ◮ Geometry videos: a new representation for 3D animations,

Hector M Briceno et al.

slide-123
SLIDE 123

. . . . . .

Thank you

◮ More details about techniques will be covered next time.

slide-124
SLIDE 124

. . . . . .

Literature