Image Sequence Coding by Split and Merge
500 likes | 682 Vues
Image Sequence Coding by Split and Merge. Patrice Willemin, Todd R. Reed and Murat Kunt. Presented by: Idan Shatz. Outline. Split and Merge Coding For Still Images Split and Merge Coding For Image Sequence Conclusions. Image Coding. First Generation Pels coding (prediction or transform)
Image Sequence Coding by Split and Merge
E N D
Presentation Transcript
Image Sequence Codingby Split and Merge Patrice Willemin, Todd R. Reed and Murat Kunt Presented by: Idan Shatz
Outline • Split and Merge Coding • For Still Images • Split and Merge Coding • For Image Sequence • Conclusions
Image Coding • First Generation • Pels coding (prediction or transform) • Second Generation • Object Based coding • Region based coding • Split and Merge Method
Split & Merge • Split… • Recursive algorithm • Approximate a region by a 2D polynomial • If (approximation error > threshold) • Split the region into 4 sub-regions • Approximate each sub-region
Split Example Original Image Split, depth=1
Split Example Original Image Split, depth=2
Split Example Original Image Split, depth=3
Split Example Original Image Split, depth=4
Split Example Original Image Split, depth=5
Split Example Original Image Split, depth=6
Split Example Original Image Split, depth=7
Split Example Original Image Split, Final results Threshold=100,000
The threshold 100,000 50,000 20,000 10,000 5,000 2,000 1,000 500 200 100
5,000 100,000 The threshold
Split & Merge • An improvement of the Split algorithm • At each step decide between x-split and y-split • produces fewer regions
Split Example (2) Original Image Split, depth=1
Split Example (2) Original Image Split, depth=2
Split Example (2) Original Image Split, depth=3
Split Example (2) Original Image Split, depth=4
Split Example (2) Original Image Split, depth=5
Split Example (2) Original Image Split, depth=6
Split Example (2) Original Image Split, depth=7
Split Example (2) Original Image Split, depth=8
Split Example (2) Original Image Split, depth=9
Split Example (2) Original Image Split, depth=10
Split Example (2) Original Image Split, depth=11
Split Example (2) Original Image Split, depth=12
Split Example (2) Original Image Split, depth=13
Split Example (2) Original Image Split, Final results Threshold = 100,000
Split Example (Comparison) Split – 4 sub regions Threshold = 100,000 # regions = 613 Split – 2 sub regions Threshold = 100,000 # regions = 387
Image Coding • Each region is codes by: • The Border • 2D polynomial coefficients
The borders of the regions • BSP-Tree • Binary space partition tree • Tree Nodes: • “X” – mark an X-split • “Y” – mark an Y-split • “0” – mark an Region
Regions Borders • Example of BSP-Tree Y X 0 0 Y X 0 0 0
Storing a BSP Tree • N regions 2N-1 BSP-Nodes • Storing the tree in preorder Y X 0 Y X 0 Y X 0 0 0 0 0 Y X 0 0 0
Image Coding • For N regions • Border (BSP) – N*3[bit] • 2D polynomial coefficients – N*24[bit] • 8[bit] x 3 – gray level. • 8[bit] x 3 x 3 - for RGB.
Image Coding • Without Compression • 196,608[Byte] • With Compression • # regions = 387 • 3628[Byte] • Compression Raito: • 1 to 54 Split – 2 sub regions
Split & Merge • Merge… • For each region: • 3[bit] border << 54[bit] Coefficients • Reduce the number of regions • Merging neighbor regions with similar coefficients.
Merge Example (Comparison) Split – 4 sub regions Threshold = 100,000 # regions = 613 After Merge # region = 411 Split – 2 sub regions Threshold = 100,000 # regions = 387 After Merge # regions = 348
The borders of the regions • The borders are more complex • Simple BSP Tree is not enough • Therefore • BSP Tree • Regions labels
Regions Labeling • How many bits are needed for labeling? • ~1000 regions ~10[bit] • Non-neighbor regions can have the same labeling • ~3[bit] for labeling • Does not depend on the number of regions
Image Coding • For N regions made from M BSP-regions • Border (BSP) – M*3[bit] • Labeling – M*3[bit] • 2D polynomial coefficients – N*24[bit] • 8[bit] x 3 – gray level. • 8[bit] x 3 x 3 - for RGB.
Image Coding • Without Compression • 196,608[Byte] • With Compression • # BSP regions = 387 • # regions = 348 • 3446[Byte] • Compression Raito: • 1 to 57 (>54) Split – 2 sub regions And merging
y t x Image Sequence Coding • Same Idea. • Still Image (x,y) • Video (x,y,t) • Split Stage • Decide between x-split, y-split and t-split. • Merge Stage • Same
Real Time Transmission • Compress all movie at once • Achieving best compression. • However • can’t be transmitted on-line • Very high complexity • Deal with chunks of 5~25 frames • Compression ratio decreases • Can be transmitted on-line
Conclusions • Still Images compression • Achieves good results with good compression ratio. • 2 major defects due to region boundaries: • Disappearance of important boundaries • Border artifacts between regions. • Merge Regions • using the same threshold has little effect on performance • adaptive threshold for achieving a giving compression ratio
Conclusions • Image Sequence compression • Achieves good results • At the article: 1 to 200 comp. ratio. • But, compression ratio decreases on high movement scenes. • compression ratio still images. • Merging regions can be used to balance the buffer size. • Hard to decode at real-time. • Must be coded at frame chunks. • Decoding process is hard to implement in real time environment.
Go To… • Still Images • Split • to 4 sub-regions • to 2 sub-regions • Threshold(2) • Compression • Merge • Threshold • Compression • Image Sequence • Conclusions