Transcript Document 7483703
Telematics/Network Engineering Experimental study on scan order and motion compensation in lossless video coding
Scan order and motion compensation in lossless coding
Team
School of Telematics and Network Engineering Carinthia Tech Institute, Austria Team of students: Stefan A. Kramatsch Agnes Gruber, Alexander Krapesch, Stefan Matschitsch, Thomas Mayerdorfer, Stefan Miedl, Stefan Moser, Martin Tschinder, Stefan Zorn-Pauli Project leader Dr. Andreas Uhl Head of School Dr. Herbert Stögner
Motivation Basics Realization Results Conclusion
Presentation Outline
Structure
Motivation
Project goals
Semester Project in Compression Techniques 2 Alternative way to view videos Make data compression more concrete Experience usage of programming languages in picture processing
Basics(1)
Lossless video coding
Mainly used in medical applications – required by legal regulation JPEG, JPEG-LS, lossless JPEG 2000 on per-frame basis Temporal redundancy ignored
no motion compensation
limited compression performance
Basics(2)
Classical view of video data
Basics(3)
Classical view of video data
Temporally ordered still images Frames are similar
basis for motion compensated hybrid coding
basis for application of 3D video techniques Possible to form a 3D block of video data
Basics(4)
Different views on the video block
Horizontal View
Normal view
Basics(5)
Different views on the video block
Horizontal view Vertical view Frame 40 Frame 112 Frame 112
Basics(6)
Scan order
Basics(7)
Streams – stream compression
File seen as a stream of gray values Written to a .txt file File compressors used: - Arithmetical coder - Runlength Encoding (RLE) - Huffman Coding
Basics(8)
Motion compensation – Block matching
Scene divided into non overlapping “block“ regions Compare blocks (current <-> reference frame)
motion vector for each block “Best“ match based on mean square error
Stored as prediction Current frame – prediction = residual frame
to be compressed
Common for lossy compression
Basics(9)
Motion compensation – Block matching
Usage in lossless coding Normally temporal based
now spatially Horizontal View Reference Frame 1 Residual Frame 40 Vertical View Frame 112 non BM and BM Frame 112 non BM and BM
Realization(1)
Implementation
Input: all frames of a video (in .pgm format) Build the 3D video block
Cut normally, vertically and horizontally
With or without blockmatching
Frame based or stream based computing Implemented in c++
Realization(2)
Implementation of block matching
Matlab application Based on one reference frame
all remaining: residual frames Searchwindow 32x32 Pixels Blocksize 16x16 Pixels Similar Block search based on Root Mean Square
Realization(3)
Lossless frame compression
JPEG 2000 Lossless mode Java Implementation: JJ2000 ( http://jj2000.epfl.ch
) Standard options except:
Lossless Mode (“ –lossless on “)
Cancel console output (“ –verbose off “)
Realization(4)
Testvideos (Spatial x Temporal resolution)
Akiyo (176 x 144 x 300) – low movement Carphone (176 x 144 x 383) – high movement Claire (176 x 144 x 494) – low movement Football (720 x 486 x 60) – high movement Foreman (176 x 144 x 49) – high movement Grandma (176 x 144 x 871) – low movement Mobile (720 x 576 x 40) – high movement Mother and Daughter (176 x 144 x 962) – low movement Salesman (176 x 144 x 449) – low movement
Results
Compression Ratio Low movement High Movement Stream
Conclusion(1)
Without Blockmatching
Improved frame based compression by alternative views Exploitation of spatial instead of temporal redundancies through alternative scan order Little computational demand compared to BM Increased memory demand and coding delay Stream compression has little effect
Conclusion(2)
With Blockmatching
The increase of compression ratio does not justify the usage of BM algorithms in case of alternative views Superior results for 1D based compression algorithms
Telematics/Network Engineering