Global MINMAX Interframe Bit Allocation for Embedded Video Coding Michael Ringenburg Qualifying Project Presentation Advisors: Richard Ladner (CSE) and.

Slides:



Advertisements
Similar presentations
INTERNATIONAL CONFERENCE ON TELECOMMUNICATIONS, ICT '09. TAREK OUNI WALID AYEDI MOHAMED ABID NATIONAL ENGINEERING SCHOOL OF SFAX New Low Complexity.
Advertisements

Light Field Compression Using 2-D Warping and Block Matching Shinjini Kundu Anand Kamat Tarcar EE398A Final Project 1 EE398A - Compression of Light Fields.
SCHOOL OF COMPUTING SCIENCE SIMON FRASER UNIVERSITY CMPT 820 : Error Mitigation Schaar and Chou, Multimedia over IP and Wireless Networks: Compression,
CSE 589 Applied Algorithms Spring 1999 Image Compression Vector Quantization Nearest Neighbor Search.
1 Audio Compression Techniques MUMT 611, January 2005 Assignment 2 Paul Kolesnik.
Recursive End-to-end Distortion Estimation with Model-based Cross-correlation Approximation Hua Yang, Kenneth Rose Signal Compression Lab University of.
An Error-Resilient GOP Structure for Robust Video Transmission Tao Fang, Lap-Pui Chau Electrical and Electronic Engineering, Nanyan Techonological University.
Spatial and Temporal Data Mining
Analysis, Fast Algorithm, and VLSI Architecture Design for H
Losslessy Compression of Multimedia Data Hao Jiang Computer Science Department Sept. 25, 2007.
Decision Trees for Error Concealment in Video Decoding Song Cen and Pamela C. Cosman, Senior Member, IEEE IEEE TRANSACTION ON MULTIMEDIA, VOL. 5, NO. 1,
Image (and Video) Coding and Processing Lecture: DCT Compression and JPEG Wade Trappe Again: Thanks to Min Wu for allowing me to borrow many of her slides.
1 A Unified Rate-Distortion Analysis Framework for Transform Coding Student : Ho-Chang Wu Student : Ho-Chang Wu Advisor : Prof. David W. Lin Advisor :
Image deblocking using local segmentation By Mirsad Makalic Supervisor: Dr. Peter Tischer.
Source-Channel Prediction in Error Resilient Video Coding Hua Yang and Kenneth Rose Signal Compression Laboratory ECE Department University of California,
A Sequence-Based Rate Control Framework for Consistent Quality Real-Time Video Bo Xie and Wenjun Zeng CSVT 2006.
Xinqiao LiuRate constrained conditional replenishment1 Rate-Constrained Conditional Replenishment with Adaptive Change Detection Xinqiao Liu December 8,
Statistical Multiplexer of VBR video streams By Ofer Hadar Statistical Multiplexer of VBR video streams By Ofer Hadar.
Variable Bit Rate Video Coding April 18, 2002 (Compressed Video over Networks: Chapter 9)
An Introduction to H.264/AVC and 3D Video Coding.
Video Compression Concepts Nimrod Peleg Update: Dec
Lossy Compression Based on spatial redundancy Measure of spatial redundancy: 2D covariance Cov X (i,j)=  2 e -  (i*i+j*j) Vertical correlation   
JPEG C OMPRESSION A LGORITHM I N CUDA Group Members: Pranit Patel Manisha Tatikonda Jeff Wong Jarek Marczewski Date: April 14, 2009.
Kai-Chao Yang Hierarchical Prediction Structures in H.264/AVC.
Computer Vision – Compression(2) Hanyang University Jong-Il Park.
 Coding efficiency/Compression ratio:  The loss of information or distortion measure:
MPEG MPEG-VideoThis deals with the compression of video signals to about 1.5 Mbits/s; MPEG-AudioThis deals with the compression of digital audio signals.
Frame by Frame Bit Allocation for Motion-Compensated Video Michael Ringenburg May 9, 2003.
1 Efficient Reference Frame Selector for H.264 Tien-Ying Kuo, Hsin-Ju Lu IEEE CSVT 2008.
Rate-distortion modeling of scalable video coders 指導教授:許子衡 教授 學生:王志嘉.
IMAGE COMPRESSION USING BTC Presented By: Akash Agrawal Guided By: Prof.R.Welekar.
Concepts of Multimedia Processing and Transmission IT 481, Lecture 5 Dennis McCaughey, Ph.D. 19 February, 2007.
CMPT 365 Multimedia Systems
An Algorithm For Constant- Quality Compressed Video Michael F. Ringenburg Richard E. Ladner Eve A. Riskin UW CSE Industrial Affiliates Meeting February.
Image Processing and Computer Vision: 91. Image and Video Coding Compressing data to a smaller volume without losing (too much) information.
Multimedia Data DCT Image Compression
Adaptive Multi-path Prediction for Error Resilient H.264 Coding Xiaosong Zhou, C.-C. Jay Kuo University of Southern California Multimedia Signal Processing.
June, 1999 An Introduction to MPEG School of Computer Science, University of Central Florida, VLSI and M-5 Research Group Tao.
8. 1 MPEG MPEG is Moving Picture Experts Group On 1992 MPEG-1 was the standard, but was replaced only a year after by MPEG-2. Nowadays, MPEG-2 is gradually.
Compression video overview 演講者:林崇元. Outline Introduction Fundamentals of video compression Picture type Signal quality measure Video encoder and decoder.
Rate-distortion Optimized Mode Selection Based on Multi-channel Realizations Markus Gärtner Davide Bertozzi Classroom Presentation 13 th March 2001.
Compression of Real-Time Cardiac MRI Video Sequences EE 368B Final Project December 8, 2000 Neal K. Bangerter and Julie C. Sabataitis.
Chapter 17 Image Compression 17.1 Introduction Redundant and irrelevant information  “Your wife, Helen, will meet you at Logan Airport in Boston.
Spring 2000CS 4611 Multimedia Outline Compression RTP Scheduling.
Advances in digital image compression techniques Guojun Lu, Computer Communications, Vol. 16, No. 4, Apr, 1993, pp
Fast motion estimation and mode decision for H.264 video coding in packet loss environment Li Liu, Xinhua Zhuang Computer Science Department, University.
100 kbps. 100 kbps Current and Future Directions Class Histories –Are the significance probabilities of the coefficients.
JPEG - JPEG2000 Isabelle Marque JPEGJPEG2000. JPEG Joint Photographic Experts Group Committe created in 1986 by: International Organization for Standardization.
Overview of Fine Granularity Scalability in MPEG-4 Video Standard Weiping Li Presented by : Brian Eriksson.
ELE 488 F06 ELE 488 Fall 2006 Image Processing and Transmission ( ) Image Compression Quantization independent samples uniform and optimum correlated.
Page 11/28/2016 CSE 40373/60373: Multimedia Systems Quantization  F(u, v) represents a DCT coefficient, Q(u, v) is a “quantization matrix” entry, and.
Image Processing Architecture, © Oleh TretiakPage 1Lecture 4 ECE-C490 Winter 2004 Image Processing Architecture Lecture 4, 1/20/2004 Principles.
Chapter 8 Lossy Compression Algorithms. Fundamentals of Multimedia, Chapter Introduction Lossless compression algorithms do not deliver compression.
COMPARATIVE STUDY OF HEVC and H.264 INTRA FRAME CODING AND JPEG2000 BY Under the Guidance of Harshdeep Brahmasury Jain Dr. K. R. RAO ID MS Electrical.
Motion Estimation Multimedia Systems and Standards S2 IF Telkom University.
Image Processing Architecture, © Oleh TretiakPage 1Lecture 5 ECEC 453 Image Processing Architecture Lecture 5, 1/22/2004 Rate-Distortion Theory,
CMPT365 Multimedia Systems 1 Media Compression - Video Spring 2015 CMPT 365 Multimedia Systems.
Complexity varying intra prediction in H.264 Supervisors: Dr. Ofer Hadar, Mr. Evgeny Kaminsky Students: Amit David, Yoav Galon.
Presenting: Yossi Salomon Noa Reiter Guides: Dr. Ofer Hadar Mr. Ehud Gonen.
Chapter 8 Lossy Compression Algorithms
Distributed Compression For Still Images
Data Compression.
Multimedia Outline Compression RTP Scheduling Spring 2000 CS 461.
FHTW Wavelet Based Video Compression Using Long Term Memory Motion-Compensated Prediction and Context-based Adaptive Arithmetic Coding D.Marpe, H.L.Cycon,
Data Compression.
Video Compression - MPEG
Error Concealment In The Pixel Domain And MATLAB commands
Context-based Data Compression
Foundation of Video Coding Part II: Scalar and Vector Quantization
Govt. Polytechnic Dhangar(Fatehabad)
Presentation transcript:

Global MINMAX Interframe Bit Allocation for Embedded Video Coding Michael Ringenburg Qualifying Project Presentation Advisors: Richard Ladner (CSE) and Eve Riskin (EE)

Outline Quick Introduction to Video Compression Quick Introduction to Video Compression The Bit Allocation Problem The Bit Allocation Problem Algorithms Algorithms Our New Algorithms Our New Algorithms MultiStage MultiStage Ratio Ratio Enhancements to our algorithms Enhancements to our algorithms Buffer Control Buffer Control Pseudo I-Frames Pseudo I-Frames Results Results

The Quick Introduction to Video Compression 4 Steps: 4 Steps: Motion compensation. Motion compensation. Outputs motion vectors, which predict the frame from the previous frame. Outputs motion vectors, which predict the frame from the previous frame. Actual - Predicted = Residual Actual - Predicted = Residual Transform the residual. Transform the residual. Concentrates the energy (information). Concentrates the energy (information). Lossy encoding of the transformed residual. Lossy encoding of the transformed residual. Decoding. Decoding. Generates an approximation of the original frame. Generates an approximation of the original frame.

Motion Compensation T=1 (reference)T=2 (current) Thanks to Gidon Shavit

Residual Examples (Boosted) OriginalResidual Thanks to Gidon Shavit

The Quick Introduction to Video Compression 4 Steps: 4 Steps: Motion compensation. Motion compensation. Outputs motion vectors, which predict the frame from the previous frame. Outputs motion vectors, which predict the frame from the previous frame. Actual - Predicted = Residual Actual - Predicted = Residual Transform the residual. Transform the residual. Concentrates the energy (information). Concentrates the energy (information). Lossy encoding of the transformed residual. Lossy encoding of the transformed residual. Decoding. Decoding. Generates an approximation of the original frame. Generates an approximation of the original frame.

Transform Example (DCT) Thanks to Gidon Shavit

The Quick Introduction to Video Compression 4 Steps: 4 Steps: Motion compensation. Motion compensation. Outputs motion vectors, which predict the frame from the previous frame. Outputs motion vectors, which predict the frame from the previous frame. Actual - Predicted = Residual Actual - Predicted = Residual Transform the residual. Transform the residual. Concentrates the energy (information). Concentrates the energy (information). Lossy encoding of the transformed residual. Lossy encoding of the transformed residual. Quantization vs. Embedded Coding Quantization vs. Embedded Coding Decoding. Decoding. Generates an approximation of the original frame. Generates an approximation of the original frame.

Quantization-Based Coders Quantization-based coders round off (“quantize”) the coefficients Quantization-based coders round off (“quantize”) the coefficients Losslessly encode the resulting approximations Losslessly encode the resulting approximations Example: > Example: > Encoder can specify the number of significant digits to preserve Encoder can specify the number of significant digits to preserve But, can not know how large the frame will be after lossless encoding But, can not know how large the frame will be after lossless encoding

Embedded Coding Embedded coding allows the encoder to specify an exact size for each frame. Embedded coding allows the encoder to specify an exact size for each frame. Produces a bit stream which can be cut off at any point and still produce a valid approximation of the frame. Produces a bit stream which can be cut off at any point and still produce a valid approximation of the frame. More bits generally results in a better approximation (but not always). More bits generally results in a better approximation (but not always).

Embedded Bit Plane Coding The n-th bit plane consists of the n-th bit of each coefficient. The n-th bit plane consists of the n-th bit of each coefficient. Each bit plane is compressed with an embedded, lossless code. Each bit plane is compressed with an embedded, lossless code. Send the bit planes in order of significance. Send the bit planes in order of significance. The most important information is sent first. The most important information is sent first. Can terminate the stream between or within bit planes. Can terminate the stream between or within bit planes.

The Quick Introduction to Video Compression 4 Steps: 4 Steps: Motion compensation. Motion compensation. Outputs motion vectors, which predict the frame from the previous frame. Outputs motion vectors, which predict the frame from the previous frame. Actual - Predicted = Residual Actual - Predicted = Residual Transform the residual. Transform the residual. Concentrates the energy (information). Concentrates the energy (information). Lossy encoding of the transformed residual. Lossy encoding of the transformed residual. Decoding. Decoding. Generates an approximation of the original frame. Generates an approximation of the original frame.

The GTV Coder An embedded bit plane video coder developed at the University of Washington. An embedded bit plane video coder developed at the University of Washington. Written by Jeff West, Gidon Shavit and Michael Ringenburg, with Richard Ladner and Eve Riskin. Written by Jeff West, Gidon Shavit and Michael Ringenburg, with Richard Ladner and Eve Riskin. Motion Compensation on 16 x 16 blocks Motion Compensation on 16 x 16 blocks 8 x 8 Discrete Cosine Transform 8 x 8 Discrete Cosine Transform Lossy coding based on the GT-DCT image coder developed by Ed Hong with Richard Ladner and Eve Riskin Lossy coding based on the GT-DCT image coder developed by Ed Hong with Richard Ladner and Eve Riskin All results in this talk use the GTV coder All results in this talk use the GTV coder

Where we are Quick Introduction to Video Compression Quick Introduction to Video Compression The Bit Allocation Problem The Bit Allocation Problem Algorithms Algorithms Our New Algorithms Our New Algorithms MultiStage MultiStage Ratio Ratio Enhancements to our algorithms Enhancements to our algorithms Buffer Control Buffer Control Pseudo I-Frames Pseudo I-Frames Results Results

Interframe Bit Allocation Given : An embedded coder, a maximum bit budget B and a video with F frames. Given : An embedded coder, a maximum bit budget B and a video with F frames. How many bits b i should we allocate to each frame f i in order to maximize the “overall quality” of the video? How many bits b i should we allocate to each frame f i in order to maximize the “overall quality” of the video? Formally, our constraint is: Formally, our constraint is:

Why Is This Important? Some frames require more bits (are harder) to encode, because … Some frames require more bits (are harder) to encode, because … Scene changes prevent good motion compensation. Scene changes prevent good motion compensation. As do lighting changes. As do lighting changes. And, to a lesser extent, dramatic actions. And, to a lesser extent, dramatic actions. Also, some images are inherently more difficult to encode. Also, some images are inherently more difficult to encode.

Why Is This Difficult? Motion Compensation!!! Motion Compensation!!! The quality of frame n is a function of the allocation to frame n, and the quality of frame (n-1). The quality of frame n is a function of the allocation to frame n, and the quality of frame (n-1). Quality of frame (n-1) is a function of the allocation to frame (n-1) and the quality of frame (n-2). Et cetera. Quality of frame (n-1) is a function of the allocation to frame (n-1) and the quality of frame (n-2). Et cetera. Thus, the quality of frame n is a function of n variables. Thus, the quality of frame n is a function of n variables. The quality function (a.k.a. rate-distortion curve) is different for every frame. The quality function (a.k.a. rate-distortion curve) is different for every frame. The rate-distortion curves are not monotonic. The rate-distortion curves are not monotonic. Approximately monotonic, though. Approximately monotonic, though.

Video Quality Metrics Typically, measure the quality of individual frames with: Typically, measure the quality of individual frames with: Distortion: MSE (Mean Squared Error) Distortion: MSE (Mean Squared Error) Quality: PSNR (Peak Signal-to-Noise Ratio) Quality: PSNR (Peak Signal-to-Noise Ratio) How do we measure the overall quality of the whole video? How do we measure the overall quality of the whole video? Method 1 (MMSE): Minimize the Mean MSE Method 1 (MMSE): Minimize the Mean MSE Method 2 (MINMAX): Minimize the Maximum MSE Method 2 (MINMAX): Minimize the Maximum MSE Prevents low quality segments Prevents low quality segments Leads to more constant quality Leads to more constant quality We choose MINMAX for this work. We choose MINMAX for this work.

Where we are Quick Introduction to Video Compression Quick Introduction to Video Compression The Bit Allocation Problem The Bit Allocation Problem Algorithms Algorithms Our New Algorithms Our New Algorithms MultiStage MultiStage Ratio Ratio Enhancements to our algorithms Enhancements to our algorithms Buffer Control Buffer Control Pseudo I-Frames Pseudo I-Frames Results Results

Algorithms Many algorithms exist for allocation in a quantizer-based setting. Many algorithms exist for allocation in a quantizer-based setting. Major standards (MPEG-x, H.26x) are quantizer- based due to decoding efficiency. Major standards (MPEG-x, H.26x) are quantizer- based due to decoding efficiency. As computers become faster, though, embedded video coding becomes more practical. As computers become faster, though, embedded video coding becomes more practical. Embedded coders allow much more flexibility in the bit allocation process. Embedded coders allow much more flexibility in the bit allocation process. Embedded image coders often offer better performance (e.g., GT-DCT vs. JPEG) Embedded image coders often offer better performance (e.g., GT-DCT vs. JPEG) The obligatory Bold Prognostication: “Embedded coding is the future of video compression!” The obligatory Bold Prognostication: “Embedded coding is the future of video compression!”

Embedded Algorithms Existing algorithms: Existing algorithms: Cheng, Li, and Kuo ‘97 targets MMSE metric. Cheng, Li, and Kuo ‘97 targets MMSE metric. Yang and Hemami ‘99 targets MINMAX metric. Yang and Hemami ‘99 targets MINMAX metric. Both are local algorithms - i.e., they allocate over a single Group of Pictures (20 or 30 frame window). Both are local algorithms - i.e., they allocate over a single Group of Pictures (20 or 30 frame window). We propose: We propose: The MultiStage algorithm and the Ratio algorithm The MultiStage algorithm and the Ratio algorithm Global algorithms - allocate over the entire video. Global algorithms - allocate over the entire video. In practice, both have linear running times in the length of the video. In practice, both have linear running times in the length of the video.

MultiStage Algorithm A global allocation algorithm (allocates across the entire video). A global allocation algorithm (allocates across the entire video). Alternates between two stages which provide feedback to each other. Alternates between two stages which provide feedback to each other. The Constant Quality Stage The Constant Quality Stage The Target Allocation Stage The Target Allocation Stage After every stage, check if a termination condition has been met. After every stage, check if a termination condition has been met.

Constant Quality Stage Encode every frame of the video to the same constant quality (PSNR) currPsnr. Encode every frame of the video to the same constant quality (PSNR) currPsnr. First iteration: The value of currPsnr is a parameter to the algorithm. First iteration: The value of currPsnr is a parameter to the algorithm. We choose dB for our experiments. We choose dB for our experiments. Subsequent iterations: Obtain the value of currPsnr from the previous iteration of the Target Allocation Stage. Subsequent iterations: Obtain the value of currPsnr from the previous iteration of the Target Allocation Stage.

Target Allocation Stage Let v i be the allocation to frame i after the last Constant Quality Stage Let v i be the allocation to frame i after the last Constant Quality Stage Let T be the sum of the v i ‘s Let T be the sum of the v i ‘s Set the new allocations v i ‘ = (B/T)v i where B is the bit budget. Set the new allocations v i ‘ = (B/T)v i where B is the bit budget. This new allocation will be proportional to the Constant Quality allocation, but will hit the exact target bit budget. This new allocation will be proportional to the Constant Quality allocation, but will hit the exact target bit budget. Let q i be the PSNR of frame i after this new allocation. For the next Constant Quality Stage, let currPsnr be the average of the q i ’s. Let q i be the PSNR of frame i after this new allocation. For the next Constant Quality Stage, let currPsnr be the average of the q i ’s.

Termination After the Constant Quality Stage, the quality of every frame will be approximately equal. After the Constant Quality Stage, the quality of every frame will be approximately equal. Terminate if within  of bit budget. Terminate if within  of bit budget. After the Target Allocation Stage, our total allocation is exactly the bit budget. After the Target Allocation Stage, our total allocation is exactly the bit budget. Terminate if variance of PSNRs < . Terminate if variance of PSNRs < . We choose  = 0.01 (1%) and  = 0.1 We choose  = 0.01 (1%) and  = 0.1 In all experiments, terminated after the second Target Allocation Stage. In all experiments, terminated after the second Target Allocation Stage.

Example, Step 1 Constant Quality T=2000

Example, Step 2 Target Allocation T=1000

Example, Step 3 Constant Quality T=800

Example, Step 4 Target Allocation T=1000

The Ratio Algorithm Empirically: Number of bits to code a frame to a given PSNR is roughly proportional to the norm of the residual. Empirically: Number of bits to code a frame to a given PSNR is roughly proportional to the norm of the residual. Norm is the square root of the sum of the squares of the coefficients. Norm is the square root of the sum of the squares of the coefficients. Why? Why? A large residual means the predicted frame is a poor approximation of the actual frame. A large residual means the predicted frame is a poor approximation of the actual frame. A poor prediction requires more bits to “fix”. A poor prediction requires more bits to “fix”.

The Ratio Algorithm Step 1: Quick pass finds the norm of each residual assuming perfect coding of the reference frame. Step 1: Quick pass finds the norm of each residual assuming perfect coding of the reference frame. No transform, because norm is preserved under orthogonal transforms. No transform, because norm is preserved under orthogonal transforms. Don’t encode/decode - assuming perfect reference. Don’t encode/decode - assuming perfect reference. Step 2: “Smooth” by capping the max norm at five times the average, and the min at half the average. Step 2: “Smooth” by capping the max norm at five times the average, and the min at half the average. Step 3: Set allocations in proportion to the calculated approximate norms of the residuals. Step 3: Set allocations in proportion to the calculated approximate norms of the residuals.

Yang-Hemami ‘99 Algorithm From “MINMAX Frame Rate Control Using a Rate-Distortion Optimized Wavelet Coder”, by Yan Yang and Sheila Hemami. From “MINMAX Frame Rate Control Using a Rate-Distortion Optimized Wavelet Coder”, by Yan Yang and Sheila Hemami. Attempts to minimize the maximum distortion within a Group of Pictures (GOP). Attempts to minimize the maximum distortion within a Group of Pictures (GOP). A GOP is an I frame, followed by some P frames. A GOP is an I frame, followed by some P frames. An I frame is a frame which doesn’t use motion compensation. An I frame is a frame which doesn’t use motion compensation. A P frame uses motion compensation. A P frame uses motion compensation. A local algorithm (allocates within the GOP). A local algorithm (allocates within the GOP).

Outline of Algorithm Let N be the number of frames in a GOP. Let N be the number of frames in a GOP. The first frame is an I frame, the rest are P frames. The first frame is an I frame, the rest are P frames. Step 1: Find rates R I and R P such that: R I + (N-1)R P =R t and D 1 (R I ) = D 2 (R P )=D. Step 1: Find rates R I and R P such that: R I + (N-1)R P =R t and D 1 (R I ) = D 2 (R P )=D. Step 1 is assuming that all P frames have identical rate-distortion curves. To fix … Step 1 is assuming that all P frames have identical rate-distortion curves. To fix … Step 2: Code the rest of the frames to distortion D. If the rate starts to get too high, adaptively raise D. If the rate starts to get too low, adaptively lower D. Step 2: Code the rest of the frames to distortion D. If the rate starts to get too high, adaptively raise D. If the rate starts to get too low, adaptively lower D.

Buffer Control Ignored potential for buffer underflow due to time constraints. Ignored potential for buffer underflow due to time constraints. An issue with streaming video An issue with streaming video Underflow occurs when we can not decode the current frame because the data is not yet in the buffer Underflow occurs when we can not decode the current frame because the data is not yet in the buffer The “elevator chat” version: The “elevator chat” version: Encoder simulates decoder’s buffer Encoder simulates decoder’s buffer If the simulation indicates an underflow, the encoder must modify the allocations If the simulation indicates an underflow, the encoder must modify the allocations Move bits before the underflow to frames after the underflow Move bits before the underflow to frames after the underflow

Pseudo I-Frames If encoding time is an issue, it may be desirable to only run bit allocation algorithms on small portions of the video. If encoding time is an issue, it may be desirable to only run bit allocation algorithms on small portions of the video. PSNR graphs typically consist of periods of fairly constant quality, followed by large dips at scene change frames. PSNR graphs typically consist of periods of fairly constant quality, followed by large dips at scene change frames. These frames are where bit allocation is most useful. These frames are where bit allocation is most useful.

Pseudo I-frames Thus, this method allocates only over 30 frame windows starting at the scene changes. Thus, this method allocates only over 30 frame windows starting at the scene changes. Uses constant rate allocation elsewhere. Uses constant rate allocation elsewhere. Identify scene changes by the norm of the residual. Identify scene changes by the norm of the residual. If r i > z, where z is a user tunable threshold, switch to allocation mode. If r i > z, where z is a user tunable threshold, switch to allocation mode.

Where We Are Quick Introduction to Video Compression Quick Introduction to Video Compression The Bit Allocation Problem The Bit Allocation Problem Algorithms Algorithms Our New Algorithms Our New Algorithms MultiStage MultiStage Ratio Ratio Enhancements to our algorithms Enhancements to our algorithms Buffer Control Buffer Control Pseudo I-Frames Pseudo I-Frames Results Results

Results News.qcif News.qcif 100 kilobits per second 100 kilobits per second 30 frames per second 30 frames per second 3 mini scene changes 3 mini scene changes Trevor.qcif Trevor.qcif 100 kilobits per second 100 kilobits per second 30 frames per second 30 frames per second 1 major scene change 1 major scene change

Method Comparison

Pseudo I-Frames

Buffer Control

Conclusions and Future Work Presented two new global MINMAX interframe bit allocation algorithms for embedded video coders Presented two new global MINMAX interframe bit allocation algorithms for embedded video coders MultiStage algorithm MultiStage algorithm Ratio algorithm Ratio algorithm MultiStage has the lowest variance, and the highest minimum PSNR (lowest max MSE). MultiStage has the lowest variance, and the highest minimum PSNR (lowest max MSE). Ratio is second in both categories Ratio is second in both categories Can we improve the buffer control? Can we improve the buffer control? Can we eliminate passes from the multistage algorithm by combining it with the ratio algorithm to find a better starting point? Can we eliminate passes from the multistage algorithm by combining it with the ratio algorithm to find a better starting point?

Acknowledgements Thanks to my advisors Richard Ladner and Eve Riskin. Thanks to my advisors Richard Ladner and Eve Riskin. Thanks to Gidon Shavit and Jeff West, for work on the GTV code. Thanks to Gidon Shavit and Jeff West, for work on the GTV code. Thanks also to Gidon Shavit for three of the slides for this talk. Thanks also to Gidon Shavit for three of the slides for this talk.