330 likes | 440 Views
Digital Media. Lecture 10: Video & Compression Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan. Coping with Video Size. Consider human vision limitations 1) Chrominance sub-sampling Compression - two versions 2) Spatial 3) Temporal differencing vectoring.
E N D
Digital Media Lecture 10: Video & Compression Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan
Coping with Video Size Consider human vision limitations 1) Chrominance sub-sampling Compression - two versions 2) Spatial 3) Temporal differencing vectoring
Coping with Video Size Consider human vision limitations 1) Chrominance sub-sampling Compression - two versions 3) spatial 4) Temporal differencing vectoring
Chrominance sub-sampling • Humans can’t distinguish changes in color as well as they can distinguish luminance changes • http://en.wikipedia.org/wiki/Chroma_subsampling • In our cameras… • Of every 4 frames • store the luminance for each frame • only store a proportion of the color info • 4:2:0
Chrominance sub-sampling http://dougkerr.net/pumpkin/articles/Subsampling.pdf
Chrominance sub-samplingLuminance, Cr, Cb http://en.wikipedia.org/wiki/Chroma_subsampling#Sampling_systems_and_ratios
Coping with Video Size • Aside from screen size and frame rate... • Consider human vision limitations 1) Chrominance sub-sampling • Compression - two versions 2) spatial 3) Temporal differencing vectoring
Coping with Video Size • Spatial compression • Individual images can be compressed using the techniques discussed in the bitmapped section • Doesn’t result in very much compression for video • Doesn’t take into consideration the other frames that come before or after it • Our video cameras do this, compressing each frame to jpeg
Coping with Video Size • Aside from screen size and frame rate... • Consider human vision limitations 1) Chrominance sub-sampling • Compression - two versions 2) spatial 3) Temporal differencing vectoring
Temporal Compression differencing • Use the Difference in two frames • A naive approach can result in good compression • Works well for a small amount of movement • Security cameras spend most of their time “seeing” the same thing all night long • A Tarantino film? not so much… • Most pixels change with nearly every frame
Image Differencing • To subtract one image from the next • Do it one pixel at a time • red minus red • green minus green • blue minus blue • Store the difference • To play it back • Play frame one 1 • Add frame 2 to frame 1 • Next, an example in black & white
Example 1, the difference of two identical images The result ===>
Example 2, the difference of two similar images The result ===>
Temporal Compressionvectoring • When an OBJECT moves • compute its trajectory • fill in the resulting exposed background Captured Frame 1 Captured Frame 2 Stored Background Stored Object Movement Vector • BUT there’s a problem... • why isn’t this an easy thing to do?
More on differencing… • The differencing can happen in a forward manner and a backward manner • It might be more economical (in data size) to create a frame from a frame that follows it...
MPEG terminology MPEG-2 iFrame (interframe prediction) pFrame (forward predicted) bFrame (backward predicted) GOP (group of pictures) http://en.wikipedia.org/wiki/Inter_frame http://en.wikipedia.org/wiki/I-frames#Intra_coded_frames_.28or_slices_or_I-frames_or_Key_frames.29
MPEG terminology iFrame: -a keyframe -spatially compressed (a fully specified image) pFrame -predicted frame -contains only the difference between the current frame and the previous iFrame (smaller in size than iFrame) bFrame -bi-predicted frame -contains difference between current and both the preceding and following iFrames -even smaller in size than iFrame
MPEG terminology Group(s) Of Pictures (GOPs) All spatially (intra-frame) compressed The largest Smaller… but more computation Spatially compressed and predictive (difference) Spatially compressed forward and backward predictive (difference) Smallest… but more computation and it is transported out of order! Play sequence: 1 2 3 4 5 6 7 8 9 10 Transmit sequence: 1 4 2 3 7 5 6 10 8 9
So… How does this ===> happen?
Video CompressionWhat does it? • Coder/Decoder - Codec • encodes and decodes video • Can be symmetric • it takes as long to compress as decompress • Can be asymmetric • it takes longer to compress or decompress than it does to decompress to compress
Video Compression:Which codec to choose?It’s a tradeoff… • compression technique • sorenson • DV • Cinepak • Intel Indeo • MPEG4 • the compression result • asymmetric or symmetric • satellite provider’s choice? • larger or smaller final size • computational complexity • the artifacts generated
Which is the original?Notice the artifacts? http://www.100fps.com/codec_quality_comparison.htm
Center one is the originalLeft is “sharpened” Right is “blurred” http://www.100fps.com/codec_quality_comparison.htm
Retrograde motion http://wiki.ggc.edu/images/8/85/JrowanSpring2012CroppedRetrogradeMotionClip.mov http://wiki.ggc.edu/images/3/35/RetrogradeGMCarcadiaBroadbandHigh.mov
Two ways to make Moving Pictures:Video & Animation • In this class: • Video • shot with a camera • captures images from the world • then play them back • Animation • create frames individually • using inkscape and blender • play them back
Reading in the supplemental text: • Moving images: Video