Video Compression - PowerPoint Presentation, Data Compression, Engineering Notes | EduRev

: Video Compression - PowerPoint Presentation, Data Compression, Engineering Notes | EduRev

 Page 1


1
CSEP 590 
Data Compression
Autumn 2007
Video Compression
CSEP 590 - Lecture 13 - Autumn 2007 2
Human Perception of Video
• 30 frames per second seems to allow the 
visual system to integrate the discrete frames 
into continuous perception.  Even 10 frames 
per second is acceptable.
• If distorted, nearby frames in the same scene 
should have only small details wrong.
– A difference in average intensity is noticeable
• Compression choice when reducing bit rate 
– skipped frames cause stop action
– lower fidelity frames may be better
CSEP 590 - Lecture 13 - Autumn 2007 3
Applications of Digital Video
• Teleconference or video phone
– Real-time video
– Very low delay (1/10 second is a standard)
• Live Broadcast Video
– Modest delay is tolerable (seconds is normal)
– Error tolerance is needed.
• Video-in-a-can (DVD, Video-on-Demand)
– Random access to compressed data is desired
– Encoding can take a lot of time
• Decoding must always be at at least the frame rate.
CSEP 590 - Lecture 13 - Autumn 2007 4
Video Encoding
Encoder
Frame-by-Frame coding
video frames
Encoder
video frames
coded groups of frames
no interdependencies  
Group-of-Frames coding
decoding each frame
requires the previous frame
4 4 4 3 4 4 4 2 1
Frames of Group
CSEP 590 - Lecture 13 - Autumn 2007 5
Coding Techniques
• Frame-by-frame coding with prediction
– Very low bit rates
– low delay
– Not error resilient
• Group-of-frames coding
– Higher bit rates – within a group prediction is used
– Error resilient
– Random Access
– Higher delay
CSEP 590 - Lecture 13 - Autumn 2007 6
Digital Video Data
• CCIR 601 (4,2,2 scheme)
– 13.5 MHz sample rate for luminance channel
– 6.75 MHz sample rate for each of two chrominance channels
– 8 bits per sample is a bit rate of 27 x 8 = 216 Mb per second
– MPEG-SIF – ½ sample rate for luminance and ¼ for 
chrominance – 81 Mb per second
• CIF (Common Interchange Format)
– 288 x 352 pixels per frame for luminance channel
– 144 x 176 pixels per frame for each of two chrominance
– 8 bits per pixel and 30 frames per second gives 48.7 Mb per 
second
– QCIF (Quarter - CIF) is ¼ the data or 12.2 Mb per second. 
Page 2


1
CSEP 590 
Data Compression
Autumn 2007
Video Compression
CSEP 590 - Lecture 13 - Autumn 2007 2
Human Perception of Video
• 30 frames per second seems to allow the 
visual system to integrate the discrete frames 
into continuous perception.  Even 10 frames 
per second is acceptable.
• If distorted, nearby frames in the same scene 
should have only small details wrong.
– A difference in average intensity is noticeable
• Compression choice when reducing bit rate 
– skipped frames cause stop action
– lower fidelity frames may be better
CSEP 590 - Lecture 13 - Autumn 2007 3
Applications of Digital Video
• Teleconference or video phone
– Real-time video
– Very low delay (1/10 second is a standard)
• Live Broadcast Video
– Modest delay is tolerable (seconds is normal)
– Error tolerance is needed.
• Video-in-a-can (DVD, Video-on-Demand)
– Random access to compressed data is desired
– Encoding can take a lot of time
• Decoding must always be at at least the frame rate.
CSEP 590 - Lecture 13 - Autumn 2007 4
Video Encoding
Encoder
Frame-by-Frame coding
video frames
Encoder
video frames
coded groups of frames
no interdependencies  
Group-of-Frames coding
decoding each frame
requires the previous frame
4 4 4 3 4 4 4 2 1
Frames of Group
CSEP 590 - Lecture 13 - Autumn 2007 5
Coding Techniques
• Frame-by-frame coding with prediction
– Very low bit rates
– low delay
– Not error resilient
• Group-of-frames coding
– Higher bit rates – within a group prediction is used
– Error resilient
– Random Access
– Higher delay
CSEP 590 - Lecture 13 - Autumn 2007 6
Digital Video Data
• CCIR 601 (4,2,2 scheme)
– 13.5 MHz sample rate for luminance channel
– 6.75 MHz sample rate for each of two chrominance channels
– 8 bits per sample is a bit rate of 27 x 8 = 216 Mb per second
– MPEG-SIF – ½ sample rate for luminance and ¼ for 
chrominance – 81 Mb per second
• CIF (Common Interchange Format)
– 288 x 352 pixels per frame for luminance channel
– 144 x 176 pixels per frame for each of two chrominance
– 8 bits per pixel and 30 frames per second gives 48.7 Mb per 
second
– QCIF (Quarter - CIF) is ¼ the data or 12.2 Mb per second. 
2
CSEP 590 - Lecture 13 - Autumn 2007 7
High Compression Ratios Possible
• Nearby frames are highly correlated.  Use the 
previous frame to predict the current one.
• Need to take advantage of the fact that 
usually objects move very little in 1/30 th of a 
second.
– Video coders use motion compensation as part of 
prediction
CSEP 590 - Lecture 13 - Autumn 2007 8
Motion Compensation
Previous Frame Frame
CSEP 590 - Lecture 13 - Autumn 2007 9
Block Based Motion Compensation
motion compensation blocks
CSEP 590 - Lecture 13 - Autumn 2007 10
Motion Vectors
motion vector = (0,0)
CSEP 590 - Lecture 13 - Autumn 2007 11
Motion Vectors
motion vector = (20,5)
20 down and 5 to right
CSEP 590 - Lecture 13 - Autumn 2007 12
Motion Compensation
• For each motion compensation block
– Find the block in the previous decoded frame that 
gives the least distortion.
– If the distortion is too high then code the block 
independently. (intra block)
– Otherwise code the difference (inter block)
• The previous decoded frame is used because 
both the encoder and decoder have access to it.
Page 3


1
CSEP 590 
Data Compression
Autumn 2007
Video Compression
CSEP 590 - Lecture 13 - Autumn 2007 2
Human Perception of Video
• 30 frames per second seems to allow the 
visual system to integrate the discrete frames 
into continuous perception.  Even 10 frames 
per second is acceptable.
• If distorted, nearby frames in the same scene 
should have only small details wrong.
– A difference in average intensity is noticeable
• Compression choice when reducing bit rate 
– skipped frames cause stop action
– lower fidelity frames may be better
CSEP 590 - Lecture 13 - Autumn 2007 3
Applications of Digital Video
• Teleconference or video phone
– Real-time video
– Very low delay (1/10 second is a standard)
• Live Broadcast Video
– Modest delay is tolerable (seconds is normal)
– Error tolerance is needed.
• Video-in-a-can (DVD, Video-on-Demand)
– Random access to compressed data is desired
– Encoding can take a lot of time
• Decoding must always be at at least the frame rate.
CSEP 590 - Lecture 13 - Autumn 2007 4
Video Encoding
Encoder
Frame-by-Frame coding
video frames
Encoder
video frames
coded groups of frames
no interdependencies  
Group-of-Frames coding
decoding each frame
requires the previous frame
4 4 4 3 4 4 4 2 1
Frames of Group
CSEP 590 - Lecture 13 - Autumn 2007 5
Coding Techniques
• Frame-by-frame coding with prediction
– Very low bit rates
– low delay
– Not error resilient
• Group-of-frames coding
– Higher bit rates – within a group prediction is used
– Error resilient
– Random Access
– Higher delay
CSEP 590 - Lecture 13 - Autumn 2007 6
Digital Video Data
• CCIR 601 (4,2,2 scheme)
– 13.5 MHz sample rate for luminance channel
– 6.75 MHz sample rate for each of two chrominance channels
– 8 bits per sample is a bit rate of 27 x 8 = 216 Mb per second
– MPEG-SIF – ½ sample rate for luminance and ¼ for 
chrominance – 81 Mb per second
• CIF (Common Interchange Format)
– 288 x 352 pixels per frame for luminance channel
– 144 x 176 pixels per frame for each of two chrominance
– 8 bits per pixel and 30 frames per second gives 48.7 Mb per 
second
– QCIF (Quarter - CIF) is ¼ the data or 12.2 Mb per second. 
2
CSEP 590 - Lecture 13 - Autumn 2007 7
High Compression Ratios Possible
• Nearby frames are highly correlated.  Use the 
previous frame to predict the current one.
• Need to take advantage of the fact that 
usually objects move very little in 1/30 th of a 
second.
– Video coders use motion compensation as part of 
prediction
CSEP 590 - Lecture 13 - Autumn 2007 8
Motion Compensation
Previous Frame Frame
CSEP 590 - Lecture 13 - Autumn 2007 9
Block Based Motion Compensation
motion compensation blocks
CSEP 590 - Lecture 13 - Autumn 2007 10
Motion Vectors
motion vector = (0,0)
CSEP 590 - Lecture 13 - Autumn 2007 11
Motion Vectors
motion vector = (20,5)
20 down and 5 to right
CSEP 590 - Lecture 13 - Autumn 2007 12
Motion Compensation
• For each motion compensation block
– Find the block in the previous decoded frame that 
gives the least distortion.
– If the distortion is too high then code the block 
independently. (intra block)
– Otherwise code the difference (inter block)
• The previous decoded frame is used because 
both the encoder and decoder have access to it.
3
CSEP 590 - Lecture 13 - Autumn 2007 13
Issues
• Distortion measured in squared error or absolute 
error
– Absolute error is quicker to calculate
• Block size 
– Too small then too many motion vectors 
– Too large then there may be no good match
• Searching range to find best block
– Too large a search range is time consuming
– Too small then may be better matches
– Prediction can help.
• Prediction resolution 
– Full pixel, half-pixel, quarter-pixel  resolution
– Higher resolution takes longer, but better prediction results
CSEP 590 - Lecture 13 - Autumn 2007 14
Fractional Motion Compensation
• Half or quarter pixel motion compensation may achieve better 
predictions.
• Fractional motion compensation is achieved by linear 
interpolation.
previous frame current frame
Half pixel motion compensation
CSEP 590 - Lecture 13 - Autumn 2007 15
Linear Interpolation
• Calculate an interpolated pixel as the average of 
overlapping pixels.
• Better interpolation methods exist.
a
1
a
3
a
2
a
4
a
a
1
a
3
a
2
a
4
a
4
a
4
a
4
a
4
a
4 3 2 1
a + + + =
16
3a
16
a
16
9a
16
3a
4 3 2 1
a + + + =
Half
Quarter
CSEP 590 - Lecture 13 - Autumn 2007 16
Rate Control
• Buffer is filled at a constant rate (almost).
• Buffer is emptied at a variable rate.
Decoder player
buffer
Encoded
frames
frame
CSEP 590 - Lecture 13 - Autumn 2007 17
Underflow Problem
• Set up
– Constant rate channel at C bits per second
– Frame rate F in frames per second.
– b
i
is the number of bits in compressed frame i 
– Initial occupancy of buffer B
• B
i
is the number of bits in the buffer at frame i
• Buffer should never empty B
i 
> 0 for all i 
i i 1 i
0
b C/F B B
B B
- + =
=
+
CSEP 590 - Lecture 13 - Autumn 2007 18
Example
Decoder
buffer
100 20
C/F = 60
Decoder
20
initial
20 40
60 bits in this frame not yet arrived
60 bits that arrived
Decoder
100 20
Page 4


1
CSEP 590 
Data Compression
Autumn 2007
Video Compression
CSEP 590 - Lecture 13 - Autumn 2007 2
Human Perception of Video
• 30 frames per second seems to allow the 
visual system to integrate the discrete frames 
into continuous perception.  Even 10 frames 
per second is acceptable.
• If distorted, nearby frames in the same scene 
should have only small details wrong.
– A difference in average intensity is noticeable
• Compression choice when reducing bit rate 
– skipped frames cause stop action
– lower fidelity frames may be better
CSEP 590 - Lecture 13 - Autumn 2007 3
Applications of Digital Video
• Teleconference or video phone
– Real-time video
– Very low delay (1/10 second is a standard)
• Live Broadcast Video
– Modest delay is tolerable (seconds is normal)
– Error tolerance is needed.
• Video-in-a-can (DVD, Video-on-Demand)
– Random access to compressed data is desired
– Encoding can take a lot of time
• Decoding must always be at at least the frame rate.
CSEP 590 - Lecture 13 - Autumn 2007 4
Video Encoding
Encoder
Frame-by-Frame coding
video frames
Encoder
video frames
coded groups of frames
no interdependencies  
Group-of-Frames coding
decoding each frame
requires the previous frame
4 4 4 3 4 4 4 2 1
Frames of Group
CSEP 590 - Lecture 13 - Autumn 2007 5
Coding Techniques
• Frame-by-frame coding with prediction
– Very low bit rates
– low delay
– Not error resilient
• Group-of-frames coding
– Higher bit rates – within a group prediction is used
– Error resilient
– Random Access
– Higher delay
CSEP 590 - Lecture 13 - Autumn 2007 6
Digital Video Data
• CCIR 601 (4,2,2 scheme)
– 13.5 MHz sample rate for luminance channel
– 6.75 MHz sample rate for each of two chrominance channels
– 8 bits per sample is a bit rate of 27 x 8 = 216 Mb per second
– MPEG-SIF – ½ sample rate for luminance and ¼ for 
chrominance – 81 Mb per second
• CIF (Common Interchange Format)
– 288 x 352 pixels per frame for luminance channel
– 144 x 176 pixels per frame for each of two chrominance
– 8 bits per pixel and 30 frames per second gives 48.7 Mb per 
second
– QCIF (Quarter - CIF) is ¼ the data or 12.2 Mb per second. 
2
CSEP 590 - Lecture 13 - Autumn 2007 7
High Compression Ratios Possible
• Nearby frames are highly correlated.  Use the 
previous frame to predict the current one.
• Need to take advantage of the fact that 
usually objects move very little in 1/30 th of a 
second.
– Video coders use motion compensation as part of 
prediction
CSEP 590 - Lecture 13 - Autumn 2007 8
Motion Compensation
Previous Frame Frame
CSEP 590 - Lecture 13 - Autumn 2007 9
Block Based Motion Compensation
motion compensation blocks
CSEP 590 - Lecture 13 - Autumn 2007 10
Motion Vectors
motion vector = (0,0)
CSEP 590 - Lecture 13 - Autumn 2007 11
Motion Vectors
motion vector = (20,5)
20 down and 5 to right
CSEP 590 - Lecture 13 - Autumn 2007 12
Motion Compensation
• For each motion compensation block
– Find the block in the previous decoded frame that 
gives the least distortion.
– If the distortion is too high then code the block 
independently. (intra block)
– Otherwise code the difference (inter block)
• The previous decoded frame is used because 
both the encoder and decoder have access to it.
3
CSEP 590 - Lecture 13 - Autumn 2007 13
Issues
• Distortion measured in squared error or absolute 
error
– Absolute error is quicker to calculate
• Block size 
– Too small then too many motion vectors 
– Too large then there may be no good match
• Searching range to find best block
– Too large a search range is time consuming
– Too small then may be better matches
– Prediction can help.
• Prediction resolution 
– Full pixel, half-pixel, quarter-pixel  resolution
– Higher resolution takes longer, but better prediction results
CSEP 590 - Lecture 13 - Autumn 2007 14
Fractional Motion Compensation
• Half or quarter pixel motion compensation may achieve better 
predictions.
• Fractional motion compensation is achieved by linear 
interpolation.
previous frame current frame
Half pixel motion compensation
CSEP 590 - Lecture 13 - Autumn 2007 15
Linear Interpolation
• Calculate an interpolated pixel as the average of 
overlapping pixels.
• Better interpolation methods exist.
a
1
a
3
a
2
a
4
a
a
1
a
3
a
2
a
4
a
4
a
4
a
4
a
4
a
4 3 2 1
a + + + =
16
3a
16
a
16
9a
16
3a
4 3 2 1
a + + + =
Half
Quarter
CSEP 590 - Lecture 13 - Autumn 2007 16
Rate Control
• Buffer is filled at a constant rate (almost).
• Buffer is emptied at a variable rate.
Decoder player
buffer
Encoded
frames
frame
CSEP 590 - Lecture 13 - Autumn 2007 17
Underflow Problem
• Set up
– Constant rate channel at C bits per second
– Frame rate F in frames per second.
– b
i
is the number of bits in compressed frame i 
– Initial occupancy of buffer B
• B
i
is the number of bits in the buffer at frame i
• Buffer should never empty B
i 
> 0 for all i 
i i 1 i
0
b C/F B B
B B
- + =
=
+
CSEP 590 - Lecture 13 - Autumn 2007 18
Example
Decoder
buffer
100 20
C/F = 60
Decoder
20
initial
20 40
60 bits in this frame not yet arrived
60 bits that arrived
Decoder
100 20
4
CSEP 590 - Lecture 13 - Autumn 2007 19
Example
Decoder
100 20
Decoder
100 20 20 20 80
Decoder
20 20 20 80
Decoder
100 20 20 20
CSEP 590 - Lecture 13 - Autumn 2007 20
Rate Control
• The rate control buffer is seeded to allow for 
variability in number of bits per frame and 
variability in channel rate.
• Causes of variability in bits per frame.
– Encoder does not predict well how many bits will 
be used in a frame - scalar quantization.
– Encoder allocates more bits in frames that are 
hard to encode because they are not predicted 
well - scene changes.
• Causes of channel rate variability
– Congestion on the internet
CSEP 590 - Lecture 13 - Autumn 2007 21
Rate Control Algorithms
• On-line solution
– Send a few frames to seed the buffer
– Encoder simulates the buffer, should the buffer 
threaten to empty start sending more frames at 
lower fidelity or skip frames (decoder will 
interpolate skipped frames).
• Off-line solution
– Attempt to allocate bits to frames to assure even 
fidelity.
– Seed the buffer with enough frames to prevent 
underflow.
CSEP 590 - Lecture 13 - Autumn 2007 22
H.261
• Application – low bit rate streaming video
• Frame-by-frame encoder
• DCT based with 8x8 coding block
– Uses JPEG style coding 
• Motion compensation based on 16x16 
macroblocks.
• Half pixel motion compensation
CSEP 590 - Lecture 13 - Autumn 2007 23
H.261
I-Frame
P-Frame
CSEP 590 - Lecture 13 - Autumn 2007 24
H.261(QCIF)
144
pixels
176 pixels
Block
Macroblock
99 motion
vectors
Page 5


1
CSEP 590 
Data Compression
Autumn 2007
Video Compression
CSEP 590 - Lecture 13 - Autumn 2007 2
Human Perception of Video
• 30 frames per second seems to allow the 
visual system to integrate the discrete frames 
into continuous perception.  Even 10 frames 
per second is acceptable.
• If distorted, nearby frames in the same scene 
should have only small details wrong.
– A difference in average intensity is noticeable
• Compression choice when reducing bit rate 
– skipped frames cause stop action
– lower fidelity frames may be better
CSEP 590 - Lecture 13 - Autumn 2007 3
Applications of Digital Video
• Teleconference or video phone
– Real-time video
– Very low delay (1/10 second is a standard)
• Live Broadcast Video
– Modest delay is tolerable (seconds is normal)
– Error tolerance is needed.
• Video-in-a-can (DVD, Video-on-Demand)
– Random access to compressed data is desired
– Encoding can take a lot of time
• Decoding must always be at at least the frame rate.
CSEP 590 - Lecture 13 - Autumn 2007 4
Video Encoding
Encoder
Frame-by-Frame coding
video frames
Encoder
video frames
coded groups of frames
no interdependencies  
Group-of-Frames coding
decoding each frame
requires the previous frame
4 4 4 3 4 4 4 2 1
Frames of Group
CSEP 590 - Lecture 13 - Autumn 2007 5
Coding Techniques
• Frame-by-frame coding with prediction
– Very low bit rates
– low delay
– Not error resilient
• Group-of-frames coding
– Higher bit rates – within a group prediction is used
– Error resilient
– Random Access
– Higher delay
CSEP 590 - Lecture 13 - Autumn 2007 6
Digital Video Data
• CCIR 601 (4,2,2 scheme)
– 13.5 MHz sample rate for luminance channel
– 6.75 MHz sample rate for each of two chrominance channels
– 8 bits per sample is a bit rate of 27 x 8 = 216 Mb per second
– MPEG-SIF – ½ sample rate for luminance and ¼ for 
chrominance – 81 Mb per second
• CIF (Common Interchange Format)
– 288 x 352 pixels per frame for luminance channel
– 144 x 176 pixels per frame for each of two chrominance
– 8 bits per pixel and 30 frames per second gives 48.7 Mb per 
second
– QCIF (Quarter - CIF) is ¼ the data or 12.2 Mb per second. 
2
CSEP 590 - Lecture 13 - Autumn 2007 7
High Compression Ratios Possible
• Nearby frames are highly correlated.  Use the 
previous frame to predict the current one.
• Need to take advantage of the fact that 
usually objects move very little in 1/30 th of a 
second.
– Video coders use motion compensation as part of 
prediction
CSEP 590 - Lecture 13 - Autumn 2007 8
Motion Compensation
Previous Frame Frame
CSEP 590 - Lecture 13 - Autumn 2007 9
Block Based Motion Compensation
motion compensation blocks
CSEP 590 - Lecture 13 - Autumn 2007 10
Motion Vectors
motion vector = (0,0)
CSEP 590 - Lecture 13 - Autumn 2007 11
Motion Vectors
motion vector = (20,5)
20 down and 5 to right
CSEP 590 - Lecture 13 - Autumn 2007 12
Motion Compensation
• For each motion compensation block
– Find the block in the previous decoded frame that 
gives the least distortion.
– If the distortion is too high then code the block 
independently. (intra block)
– Otherwise code the difference (inter block)
• The previous decoded frame is used because 
both the encoder and decoder have access to it.
3
CSEP 590 - Lecture 13 - Autumn 2007 13
Issues
• Distortion measured in squared error or absolute 
error
– Absolute error is quicker to calculate
• Block size 
– Too small then too many motion vectors 
– Too large then there may be no good match
• Searching range to find best block
– Too large a search range is time consuming
– Too small then may be better matches
– Prediction can help.
• Prediction resolution 
– Full pixel, half-pixel, quarter-pixel  resolution
– Higher resolution takes longer, but better prediction results
CSEP 590 - Lecture 13 - Autumn 2007 14
Fractional Motion Compensation
• Half or quarter pixel motion compensation may achieve better 
predictions.
• Fractional motion compensation is achieved by linear 
interpolation.
previous frame current frame
Half pixel motion compensation
CSEP 590 - Lecture 13 - Autumn 2007 15
Linear Interpolation
• Calculate an interpolated pixel as the average of 
overlapping pixels.
• Better interpolation methods exist.
a
1
a
3
a
2
a
4
a
a
1
a
3
a
2
a
4
a
4
a
4
a
4
a
4
a
4 3 2 1
a + + + =
16
3a
16
a
16
9a
16
3a
4 3 2 1
a + + + =
Half
Quarter
CSEP 590 - Lecture 13 - Autumn 2007 16
Rate Control
• Buffer is filled at a constant rate (almost).
• Buffer is emptied at a variable rate.
Decoder player
buffer
Encoded
frames
frame
CSEP 590 - Lecture 13 - Autumn 2007 17
Underflow Problem
• Set up
– Constant rate channel at C bits per second
– Frame rate F in frames per second.
– b
i
is the number of bits in compressed frame i 
– Initial occupancy of buffer B
• B
i
is the number of bits in the buffer at frame i
• Buffer should never empty B
i 
> 0 for all i 
i i 1 i
0
b C/F B B
B B
- + =
=
+
CSEP 590 - Lecture 13 - Autumn 2007 18
Example
Decoder
buffer
100 20
C/F = 60
Decoder
20
initial
20 40
60 bits in this frame not yet arrived
60 bits that arrived
Decoder
100 20
4
CSEP 590 - Lecture 13 - Autumn 2007 19
Example
Decoder
100 20
Decoder
100 20 20 20 80
Decoder
20 20 20 80
Decoder
100 20 20 20
CSEP 590 - Lecture 13 - Autumn 2007 20
Rate Control
• The rate control buffer is seeded to allow for 
variability in number of bits per frame and 
variability in channel rate.
• Causes of variability in bits per frame.
– Encoder does not predict well how many bits will 
be used in a frame - scalar quantization.
– Encoder allocates more bits in frames that are 
hard to encode because they are not predicted 
well - scene changes.
• Causes of channel rate variability
– Congestion on the internet
CSEP 590 - Lecture 13 - Autumn 2007 21
Rate Control Algorithms
• On-line solution
– Send a few frames to seed the buffer
– Encoder simulates the buffer, should the buffer 
threaten to empty start sending more frames at 
lower fidelity or skip frames (decoder will 
interpolate skipped frames).
• Off-line solution
– Attempt to allocate bits to frames to assure even 
fidelity.
– Seed the buffer with enough frames to prevent 
underflow.
CSEP 590 - Lecture 13 - Autumn 2007 22
H.261
• Application – low bit rate streaming video
• Frame-by-frame encoder
• DCT based with 8x8 coding block
– Uses JPEG style coding 
• Motion compensation based on 16x16 
macroblocks.
• Half pixel motion compensation
CSEP 590 - Lecture 13 - Autumn 2007 23
H.261
I-Frame
P-Frame
CSEP 590 - Lecture 13 - Autumn 2007 24
H.261(QCIF)
144
pixels
176 pixels
Block
Macroblock
99 motion
vectors
5
CSEP 590 - Lecture 13 - Autumn 2007 25
H.261
• Within a group of blocks (GOB) prediction is 
used with motion vectors for coding.
GOB
Also called a slice
CSEP 590 - Lecture 13 - Autumn 2007 26
H.261 Organization
Block
Macroblock
Group of 
Blocks
Picture 
Frame
GOB 1
GOB 2
…
GOB 9
MB 1 MB 2 MB 11 …
176
144
Y
1
Y
2
Y
3
Y
4
Cb Cr
Picture Header
GOB 
Header
MB
Header
EOB JPEG style run length code
CSEP 590 - Lecture 13 - Autumn 2007 27
P-Frame
Inter
Intra
CSEP 590 - Lecture 13 - Autumn 2007 28
Intra-Macroblock Distribution
Forman Video
CSEP 590 - Lecture 13 - Autumn 2007 29
MPEG-1
• Application – Video coding for random access
• Group-of-frames encoder
• DCT based with 8x8 coding block
– Uses JPEG style coding 
• Motion compensation based on 16x16 
macroblocks.
• Forward and Backward Prediction within a 
group of frames
CSEP 590 - Lecture 13 - Autumn 2007 30
MPEG-1
I-Frame
P-Frame
B-Frame
• P-frames predicted by I-frames
or P-frames
• B-frames predicted by I-frames
and P-frames
Read More
Offer running on EduRev: Apply code STAYHOME200 to get INR 200 off on our premium plan EduRev Infinity!