[M4IF Technotes] mismatch control

Gary Sullivan garysull microsoft.com
Thu Jun 6 14:39:08 EDT 2002


Very well put.
By the way, in the next-generation video codec standard
(known by various names including JVT, AVC, H.264, H.26L,
and MPEG-4 part 10) a new approach is taken.  This time
the guys who stayed awake in their math classes have come
up with an approach most consider significantly better.
The idea this time is to start with the idea that since
no one can reasonably implement infinite-precision
trigonometric equations, we should figure out the simplest
approximation that works well and get everyone to use the
same approximation. Then the complexity of every
implementation is reduced and no funny "mismatch control"
tweaking of coefficient values is needed.  And every
decoder will produce exactly the same pictures.
-Gary S.
+> -----Original Message-----
+> From: William J. Fulco [mailto:wjf   NetworkXXIII.com] 
+> Sent: Thursday, June 06, 2023 12:45 PM
+> To: Erik Schlanger; technotes   lists.m4if.org
+> Subject: RE: [M4IF Technotes] mismatch control
+> 
+> 
+> Erik,
+> 
+> What's going on here is that the arithmetic of all the MPEG 
+> standards is,
+> well standardized - except the inverse-DCT. There are 
+> Lots-and-Lots of ways
+> to do IDCT - with all kinds of precision and all kinds of 
+> multiplications
+> and additions and all sorts of icky arithmetic stuff. It's 
+> really up to the
+> decoder-maker to decide how they're going to decide a valid 
+> bit-stream
+> (remember, MPEG tells you what a valid-bit-stream looks like 
+> - you're in
+> charge of turning that standard-bit-stream into pretty pictures).
+> 
+> What "mismatch control" does is "control mismatches" (sorry) 
+> - mismatches
+> between the way DCTs on the encoding side and IDCTs on the 
+> decoding side for
+> 8x8 blocks. Theoretically, you should be able to DCT and 8x8 
+> block and feed
+> it to an IDCT and get the same answer back. When you start 
+> hacking up the
+> coefficients with quantizers and start using different ways 
+> to IDCT than to
+> DCT, well - you have mismatch possibilities.
+> 
+>  As it turns out, some bit patterns have a higher 
+> statistical probability of
+> screwing up (depending on arithmetic precision) over time. 
+> Really smart
+> people with way too much time on their hands figure out how 
+> to prevent these
+> things from happening! So... in MPEG-1 this "mismatch 
+> control" process is
+> called "Oddification" (I wish I'd thought up THAT word!). 
+> The encoder forces
+> all the DCT coefs to have high-order bits on (negative) and 
+> this prevents
+> (well, reduces) mismatch problems between standardized-DCTs and
+> non-standardized-IDCTs for some reason only the guys that 
+> actually stayed
+> awake in their college math classes can tell you.
+> 
+> In MPEG-2 and MPEG-4 they did away with Oddification (just 
+> LOVE that word)
+> and do what's called LSB-Toggling to the 63rd coef Again, people that
+> understand this more than me (plenty of them out there) 
+> found that this
+> worked better... the other difference if I remember is that 
+> Oddification in
+> MPEG-1 happens before IDCT and LSB-Toggling happens after.
+> 
+> Anyone want to fix my possibly lame explanation?
+> 
+> ++Bill
+> 
+> William J. Fulco
+> wjf   NetworkXXIII.com
+> 310-927-4263 Cell
+> ---------------------------------
+> Logic: When you absolutely, positively
+> have to refute every fallacy in the room.
+> 
+> _______________________________________________
+> Technotes mailing list
+> Technotes   lists.m4if.org
+> http://lists.m4if.org/mailman/listinfo/technotes
+> 


More information about the Mp4-tech mailing list