[opendtv] Re: Optimizing the system

  • From: Craig Birkmaier <craig@xxxxxxxxx>
  • To: opendtv@xxxxxxxxxxxxx
  • Date: Wed, 22 Dec 2004 09:51:21 -0500

At 10:53 AM -0500 12/21/04, John Shutt wrote:
>Perhaps.  I've seen that effect mostly with LCD projectors, and it is truly

Yup. I agree that this is NOT the only problem, but it may be a 
contributing factor.

>However, That effect does not surround person's head as it moves across the
>screen.  But a person's head is usually covered (except in my case) with
>hair, and the fine hair moving against a more or less stationary background
>results in macroblocks with much detail and little correlation from frame to
>frame, and so usually are the first to be DCT truncated by the encoder,
>causing the cloud of bees.

The "official" term for this MPEG artifact is "Mosquito Noise," 
however, I have heard the swarm or bees analogy many times. I wrote 
extensively about these issues a decade ago, as the MPEG-2 standard 
was being finalized. I have produced a number of examples (still 
images demonstrating this problem, that have been published in 
Videography and Digital Television magazines.

An explanation of the EXACT CAUSE of this problem is in order. The 
problem is most acute when there is a high contrast transition within 
a DCT block. The DCT transform will produce a number of coefficient 
that are VERY CRITICAL, because of the contrast within the block; it 
will also produce a number of coefficients that are associated with 
the areas near the actual transition. The problem comes when we start 
to quantize the coefficients. As soon as we start to make the samples 
more "alike" we distort the samples with the highest contrast levels, 
followed by those will less contrast. If you look at something like a 
block that contains an edge of text, it will quickly become a buzz of 
distorted samples that contain information from the contrast 
extremes. This usually manifests itself as the buzz around the high 
contrast detail.

Other less demanding scenes (like hair) may still exhibit the same 
problem when they are quantized too much. It's just another case 
where excessive quantization can cause MPEG-2 to introduce artifacts 
into the imagery. There are two potential solutions:

1. Provide an adequate channel for MPEG-2 content, so that excessive 
quantization is not necessary.

2. Use better compression tools that are not subject to this 
limitation of the DCT transform.

Here there is some good news: The MPEG-4 AVC codec does a much better 
job in this area, as it does not use the DCT as the basis for block 
coding, and its replacement, allows for better control over the 
allocation of bits to areas of the image that are challenging. The 
nominal block size is 4 X 4 rather than 8X8, which further 
"localizes" the energy within a block. The transform is similar to 
the DCT but integer based, and there are special prediction modes for 
different kinds of energy (dominant H, dominant V, gradients, etc. 
And there are deblocking filters, which can be used when the encoder 
is forced to use excessive quantization.

>If you have access to an MPEG encoder, you can make the effect more and more
>pronounced as you encode the same scene over and over with decreasing
>bitrate.  HD or SD, the only difference is the relative size of the
>macroblocks to overall picture size, and the relative size of the 'bees.'
>As I said, the effect is constant on MSNBC's ticker at the bottom of the
>screen when viewed from DirecTV.  The edge of each letter and number is
>surrounded by a similar cloud of truncated macroblocks.


Actually, Mosquito Noise is the FIRST MPEG-2 artifact to become 
apparent (other than the lousy 4:2:0 encoding of the color difference 
signals for interlaced source, which sucks even when there is little 
or NO QUANTIZATION. When the quantization becomes too sever, the 
entire DCT block takes the DC value, and we begin to see blocking 

>However, I suppose the only real way to tell for sure is to meet Tom at
>***The Technology Retreat*** and view material together to discuss what is
>being seen.  ;^)

Tom promises a very good demo. I assume and hope that there will be 
some comparisons specifically of the issues described here.

You can UNSUBSCRIBE from the OpenDTV list in two ways:

- Using the UNSUBSCRIBE command in your user configuration settings at 

- By sending a message to: opendtv-request@xxxxxxxxxxxxx with the word 
unsubscribe in the subject line.

Other related posts: