home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / mpeg-faq / part1 < prev    next >
Encoding:
Text File  |  1995-07-25  |  48.9 KB  |  1,015 lines

  1. Subject: MPEG-FAQ: multimedia compression [1/6]
  2. Newsgroups: comp.graphics,comp.graphics.animation,comp.compression,comp.multimedia,alt.binaries.multimedia,alt.binaries.pictures.utilities,alt.binaries.pictures,alt.binaries.pictures.d,alt.answers,comp.answers,news.answers
  3. From: phade@cs.tu-berlin.de (Frank Gadegast)
  4. Date: 22 Aug 1994 12:28:13 GMT
  5.  
  6. Archive-name: mpeg-faq/part1
  7. Last-modified: 1994/08/22
  8. Version: v 3.2 94/08/22
  9. Posting-Frequency: bimonthly
  10.  
  11.  
  12. BEGIN -------------------- CUT HERE --------------------- 1/6
  13.  
  14.         ====================================================
  15.         THE MPEG-FAQ            [Version 3.2 - 22. Aug 1994]
  16.         ====================================================
  17.         PHADE SOFTWARE Leibnizstr. 30, 10625 Berlin, GERMANY
  18.         Inh. Frank Gadegast          Fon/Fax: +49 30 3128103
  19.  
  20.         phade@cs.tu-berlin.de
  21.         http://www.cs.tu-berlin.de/~phade
  22.  
  23.  
  24. ===========================================================================
  25.  
  26. This is my summary about MPEG.
  27.  
  28. It's the fourth publication of this file. Lots of information has been
  29. added (which has surely brought errors with it, see Murphy's Law).
  30.  
  31. This fourth addition is different to the previous ones.
  32.  
  33. First:  Some old sections have been removed, because they are old or there was
  34.         nothing changing. So for a starter you can read the last MPEG-FAQ's
  35.         (Version 1.1, 2.0, or 3.0) Get them via ftp from
  36.  
  37.         host: ftp.cs.tu-berlin.de (130.149.17.7) or
  38.               quepasa.cs.tu-berlin.de
  39.         file: /pub/msdos/dos/graphics/mpegfa11.zip
  40.         file: /pub/msdos/dos/graphics/mpegfa20.zip
  41.         file: /pub/msdos/dos/graphics/mpegfa30.zip
  42.  
  43.         This new FAQ will be there soon too, as 'mpegfa31.zip'.
  44.         My MPEG-related software and my DOS-ports of several
  45.         programs can be found there too.
  46.  
  47. Second: The people where more interested to get the complete archives.
  48.         Therefore the TRAIL-PACK-Service is still running. I'm still
  49.         collecting EVERY info, video, sound or program.
  50.         Get the Trail-Pack !
  51.  
  52. Third:  MPEG-audio is coming ! There is source-code ! There is a brand-new
  53.         written audio-section in this FAQ written by Harald Popp and
  54.         Morton Hjerde, thnx to both. And even MPEG-2 things are coming !
  55.  
  56. Fourth: MPEG-interleaving (audio and video together you know !) is about
  57.         to be the next step. The pretty first things are there, incl.
  58.         interleaved streams.
  59.  
  60. Fifth:  The INDEX-files are excluded in this release of the MPEG-FAQ.
  61.         You can ftp it from the same place you got this file from.
  62.         It should be usally called MPGIDX31.ZIP ! It includes the
  63.         INDEX-file (first picture of all known MPEG-movies) and the
  64.         AINDEX-file (about 2 seconds of know MPEG-AUDIO-streams in
  65.         one MPEG-stream) and text-indexes for movies and audio-files.
  66.  
  67. Sixth:  The MPEG Trailpack CD-Rom is there ! Get it ! More than
  68.         430 MB of movies, songs, documentation and utilities !
  69.         Read below, about how to Order !
  70.  
  71.  
  72. Seventh:The newest FAQ can always be loaded using Mosaic from:
  73.             http://www.cs.tu-berlin.de/~phade
  74.         And surely, there are more interesting things to find ;o)
  75.  
  76. Eigths: AND I HEARBY PROCLAIM, that: MPEG is getting SO important, that
  77.         in about 5 years, you go to your HiFi-Dealer and you ask him
  78.         if the TV or Stereo is capable of MPEG to make your descision,
  79.         not if it works with CD's or HDTV !!!
  80.  
  81. You should read carefully through this FAQ this time, cause lots of new
  82. information is hidden in all the sections. F.e. news about Dos, Amiga-,
  83. Atari-, OS/2-, Windows-, Windows-NT, VMS-, NeXT, Unix- and Mac-Players
  84. and coders !!! Read about the future of MPEG ...
  85.         
  86.  
  87. This summary is devided in 12 parts:
  88.  
  89.  I    |  WHAT IS MPEG-VIDEO/AUDIO ?
  90.  II   |  PROFESSIONAL SOFTWARE
  91.  III  |  PUBLIC-DOMAIN SOFTWARE OR SHAREWARE
  92.  IV   |  MPEG-RELATED HARDWARE
  93.  V    |  MAILBOX-ACCESS
  94.  VI   |  FTP-ACCESS (PD)
  95.  VII  |  MAIL-ORDER
  96.  VIII |  RETRIEVED MAIL OR ARTICLES
  97.  IX   |  ADDITIONAL INFORMATION
  98.  X    |  WHERE TO FIND MORE INFOS
  99.  XI   |  NEWS
  100.  XII  |  QUESTIONS
  101.  
  102. I add my comments in brackets [], lines (---- or ====) seperate the
  103. chapters.
  104.  
  105. Please try and find out more information yourself. I had enough to do by
  106. getting and preparing this information. And only bother me with file-
  107. request if its not possible for you to get it somewhere else !!!
  108.  
  109. If you want to contribute to this FAQ in any way, please email me
  110. (probably by replying to this posting). My email address is:
  111.  
  112.   phade@cs.tu-berlin.de
  113.  
  114. Or send any additional information via fax or e-mail. The fax is only
  115. reachable between Mo.-Fr. from 10.00-13.00 and from 15.00-18.30 german
  116. time.
  117.  
  118.     Phade (Frank Gadegast)
  119.  
  120.  
  121. DISCLAIMER: I HAVE NOTHING TO DO WITH THE NAMED COMPANIES, NO BUSINESS,
  122.             IT'S JUST MY PERSONAL INTERESTED. THESE COMPANIES ARE NAMED,
  123.             BECAUSE THEY ARE THE FIRST, BRINGING REAL MULTIMEDIA TO THE
  124.             WORLD. SURE I MAKE ADVERTS FOR THEM WITH THIS FAQ, BUT HOPE-
  125.             FULLY YOU, AS A READER OF THIS FAQ, WILL FORCE THEM TO PRODUCE
  126.             MORE AND BETTER PRODUCTS.
  127.  
  128.  
  129. ===========================================================================
  130.  I.1 | WHAT IS MPEG-VIDEO/VIDEO
  131. ===============================
  132.  
  133. -------------------------------------------------------------------------------
  134.  I.1 | MPEG-Video
  135. -----------------
  136.  
  137. From comp.compression Mon Oct 19 15:38:38 1992
  138. Sender: news@chorus.chorus.fr
  139. Author: Mark Adler <madler@cco.caltech.edu>
  140.  
  141. [71] Introduction to MPEG (long)
  142.        What is MPEG?
  143.        Does it have anything to do with JPEG?
  144.        Then what's JBIG and MHEG?
  145.        What has MPEG accomplished?
  146.        So how does MPEG I work?
  147.        What about the audio compression?
  148.        So how much does it compress?
  149.        What's phase II?
  150.        When will all this be finished?
  151.        How do I join MPEG?
  152.        How do I get the documents, like the MPEG I draft?
  153.  
  154. [ There is no newer version of this part so far. Whoever wants to update ]
  155. [ this description, should do the job and send it over.                  ]
  156.  
  157. ------------------------------------------------------------------------------
  158.  
  159. Subject: [71] Introduction to MPEG (long)
  160.  
  161.  
  162. Written by Mark Adler <madler@cco.caltech.edu>.
  163.  
  164. Q. What is MPEG?
  165. A. MPEG is a group of people that meet under ISO (the International
  166.    Standards Organization) to generate standards for digital video
  167.    (sequences of images in time) and audio compression.  In particular,
  168.    they define a compressed bit stream, which implicitly defines a
  169.    decompressor.  However, the compression algorithms are up to the
  170.    individual manufacturers, and that is where proprietary advantage
  171.    is obtained within the scope of a publicly available international
  172.    standard.  MPEG meets roughly four times a year for roughly a week
  173.    each time.  In between meetings, a great deal of work is done by
  174.    the members, so it doesn't all happen at the meetings.  The work
  175.    is organized and planned at the meetings.
  176.  
  177. Q. So what does MPEG stand for?
  178. A. Moving Pictures Experts Group.
  179.  
  180. Q. Does it have anything to do with JPEG?
  181. A. Well, it sounds the same, and they are part of the same subcommittee
  182.    of ISO along with JBIG and MHEG, and they usually meet at the same
  183.    place at the same time.  However, they are different sets of people
  184.    with few or no common individual members, and they have different
  185.    charters and requirements.  JPEG is for still image compression.
  186.  
  187. Q. Then what's JBIG and MHEG?
  188. A. Sorry I mentioned them. Ok, I'll simply say that JBIG is for binary
  189.    image compression (like faxes), and MHEG is for multi-media data
  190.    standards (like integrating stills, video, audio, text, etc.).
  191.    For an introduction to JBIG, see question 74 below.
  192.  
  193. Q. Ok, I'll stick to MPEG.  What has MPEG accomplished?
  194. A. So far (as of January 1992), they have completed the "Committee
  195.    Draft" of MPEG phase I, colloquially called MPEG I.  It defines
  196.    a bit stream for compressed video and audio optimized to fit into
  197.    a bandwidth (data rate) of 1.5 Mbits/s.  This rate is special
  198.    because it is the data rate of (uncompressed) audio CD's and DAT's.
  199.    The draft is in three parts, video, audio, and systems, where the
  200.    last part gives the integration of the audio and video streams
  201.    with the proper timestamping to allow synchronization of the two.
  202.    They have also gotten well into MPEG phase II, whose task is to
  203.    define a bitstream for video and audio coded at around 3 to 10
  204.    Mbits/s.
  205.  
  206. Q. So how does MPEG I work?
  207. A. First off, it starts with a relatively low resolution video
  208.    sequence (possibly decimated from the original) of about 352 by
  209.    240 frames by 30 frames/s (US--different numbers for Europe),
  210.    but original high (CD) quality audio.  The images are in color,
  211.    but converted to YUV space, and the two chrominance channels
  212.    (U and V) are decimated further to 176 by 120 pixels.  It turns
  213.    out that you can get away with a lot less resolution in those
  214.    channels and not notice it, at least in "natural" (not computer
  215.    generated) images.
  216.  
  217.    The basic scheme is to predict motion from frame to frame in the
  218.    temporal direction, and then to use DCT's (discrete cosine
  219.    transforms) to organize the redundancy in the spatial directions.
  220.    The DCT's are done on 8x8 blocks, and the motion prediction is
  221.    done in the luminance (Y) channel on 16x16 blocks.  In other words,
  222.    given the 16x16 block in the current frame that you are trying to
  223.    code, you look for a close match to that block in a previous or
  224.    future frame (there are backward prediction modes where later
  225.    frames are sent first to allow interpolating between frames).
  226.    The DCT coefficients (of either the actual data, or the difference
  227.    between this block and the close match) are "quantized", which
  228.    means that you divide them by some value to drop bits off the
  229.    bottom end.  Hopefully, many of the coefficients will then end up
  230.    being zero.  The quantization can change for every "macroblock"
  231.    (a macroblock is 16x16 of Y and the corresponding 8x8's in both
  232.    U and V).  The results of all of this, which include the DCT
  233.    coefficients, the motion vectors, and the quantization parameters
  234.    (and other stuff) is Huffman coded using fixed tables.  The DCT
  235.    coefficients have a special Huffman table that is "two-dimensional"
  236.    in that one code specifies a run-length of zeros and the non-zero
  237.    value that ended the run.  Also, the motion vectors and the DC
  238.    DCT components are DPCM (subtracted from the last one) coded.
  239.  
  240. Q. So is each frame predicted from the last frame?
  241. A. No.  The scheme is a little more complicated than that.  There are
  242.    three types of coded frames.  There are "I" or intra frames.  They
  243.    are simply a frame coded as a still image, not using any past
  244.    history.  You have to start somewhere.  Then there are "P" or
  245.    predicted frames.  They are predicted from the most recently
  246.    reconstructed I or P frame.  (I'm describing this from the point
  247.    of view of the decompressor.)  Each macroblock in a P frame can
  248.    either come with a vector and difference DCT coefficients for a
  249.    close match in the last I or P, or it can just be "intra" coded
  250.    (like in the I frames) if there was no good match.
  251.  
  252.    Lastly, there are "B" or bidirectional frames.  They are predicted
  253.    from the closest two I or P frames, one in the past and one in the
  254.    future.  You search for matching blocks in those frames, and try
  255.    three different things to see which works best.  (Now I have the
  256.    point of view of the compressor, just to confuse you.)  You try using
  257.    the forward vector, the backward vector, and you try averaging the
  258.    two blocks from the future and past frames, and subtracting that from
  259.    the block being coded.  If none of those work well, you can intra-
  260.    code the block.
  261.  
  262.    The sequence of decoded frames usually goes like:
  263.  
  264.    IBBPBBPBBPBBIBBPBBPB...
  265.  
  266.    Where there are 12 frames from I to I (for US and Japan anyway.)
  267.    This is based on a random access requirement that you need a
  268.    starting point at least once every 0.4 seconds or so.  The ratio
  269.    of P's to B's is based on experience.
  270.  
  271.    Of course, for the decoder to work, you have to send that first
  272.    P *before* the first two B's, so the compressed data stream ends
  273.    up looking like:
  274.  
  275.    0xx312645...
  276.  
  277.    where those are frame numbers.  xx might be nothing (if this is
  278.    the true starting point), or it might be the B's of frames -2 and
  279.    -1 if we're in the middle of the stream somewhere.
  280.  
  281.    You have to decode the I, then decode the P, keep both of those
  282.    in memory, and then decode the two B's.  You probably display the
  283.    I while you're decoding the P, and display the B's as you're
  284.    decoding them, and then display the P as you're decoding the next
  285.    P, and so on.
  286.  
  287. Q. You've got to be kidding.
  288. A. No, really!
  289.  
  290. Q. Hmm.  Where did they get 352x240?
  291. A. That derives from the CCIR-601 digital television standard which
  292.    is used by professional digital video equipment.  It is (in the US)
  293.    720 by 243 by 60 fields (not frames) per second, where the fields
  294.    are interlaced when displayed.  (It is important to note though
  295.    that fields are actually acquired and displayed a 60th of a second
  296.    apart.)  The chrominance channels are 360 by 243 by 60 fields a
  297.    second, again interlaced.  This degree of chrominance decimation
  298.    (2:1 in the horizontal direction) is called 4:2:2.  The source
  299.    input format for MPEG I, called SIF, is CCIR-601 decimated by 2:1
  300.    in the horizontal direction, 2:1 in the time direction, and an
  301.    additional 2:1 in the chrominance vertical direction.  And some
  302.    lines are cut off to make sure things divide by 8 or 16 where
  303.    needed.
  304.  
  305. Q. What if I'm in Europe?
  306. A. For 50 Hz display standards (PAL, SECAM) change the number of lines
  307.    in a field from 243 or 240 to 288, and change the display rate to
  308.    50 fields/s or 25 frames/s.  Similarly, change the 120 lines in
  309.    the decimated chrominance channels to 144 lines.  Since 288*50 is
  310.    exactly equal to 240*60, the two formats have the same source data
  311.    rate.
  312.  
  313. Q. You didn't mention anything about the audio compression.
  314. A. Oh, right.  Well, I don't know as much about the audio compression.
  315.    Basically they use very carefully developed psychoacoustic models
  316.    derived from experiments with the best obtainable listeners to
  317.    pick out pieces of the sound that you can't hear.  There are what
  318.    are called "masking" effects where, for example, a large component
  319.    at one frequency will prevent you from hearing lower energy parts
  320.    at nearby frequencies, where the relative energy vs. frequency
  321.    that is masked is described by some empirical curve.  There are
  322.    similar temporal masking effects, as well as some more complicated
  323.    interactions where a temporal effect can unmask a frequency, and
  324.    vice-versa.
  325.  
  326.    The sound is broken up into spectral chunks with a hybrid scheme
  327.    that combines sine transforms with subband transforms, and the
  328.    psychoacoustic model written in terms of those chunks.  Whatever
  329.    can be removed or reduced in precision is, and the remainder is
  330.    sent.  It's a little more complicated than that, since the bits
  331.    have to be allocated across the bands.  And, of course, what is
  332.    sent is entropy coded.
  333.  
  334. Q. So how much does it compress?
  335. A. As I mentioned before, audio CD data rates are about 1.5 Mbits/s.
  336.    You can compress the same stereo program down to 256 Kbits/s with
  337.    no loss in discernable quality.  (So they say.  For the most part
  338.    it's true, but every once in a while a weird thing might happen
  339.    that you'll notice.  However the effect is very small, and it takes
  340.    a listener trained to notice these particular types of effects.)
  341.    That's about 6:1 compression.  So, a CD MPEG I stream would have
  342.    about 1.25 MBits/s left for video.  The number I usually see though
  343.    is 1.15 MBits/s (maybe you need the rest for the system data
  344.    stream).  You can then calculate the video compression ratio from
  345.    the numbers here to be about 26:1.  If you step back and think
  346.    about that, it's little short of a miracle.  Of course, it's lossy
  347.    compression, but it can be pretty hard sometimes to see the loss,
  348.    if you're comparing the SIF original to the SIF decompressed.  There
  349.    is, however, a very noticeable loss if you're coming from CCIR-601
  350.    and have to decimate to SIF, but that's another matter.  I'm not
  351.    counting that in the 26:1.
  352.  
  353.    The standard also provides for other bit rates ranging from 32Kbits/s
  354.    for a single channel, up to 448 Kbits/s for stereo.
  355.  
  356. Q. What's phase II?
  357. A. As I said, there is a considerable loss of quality in going from
  358.    CCIR-601 to SIF resolution.  For entertainment video, it's simply
  359.    not acceptable.  You want to use more bits and code all or almost
  360.    all the CCIR-601 data.  From subjective testing at the Japan
  361.    meeting in November 1991, it seems that 4 MBits/s can give very
  362.    good quality compared to the original CCIR-601 material.  The
  363.    objective of phase II is to define a bit stream optimized for these
  364.    resolutions and bit rates.
  365.  
  366. Q. Why not just scale up what you're doing with MPEG I?
  367. A. The main difficulty is the interlacing.  The simplest way to extend
  368.    MPEG I to interlaced material is to put the fields together into
  369.    frames (720x486x30/s).  This results in bad motion artifacts that
  370.    stem from the fact that moving objects are in different places
  371.    in the two fields, and so don't line up in the frames.  Compressing
  372.    and decompressing without taking that into account somehow tends to
  373.    muddle the objects in the two different fields.
  374.  
  375.    The other thing you might try is to code the even and odd field
  376.    streams separately.  This avoids the motion artifacts, but as you
  377.    might imagine, doesn't get very good compression since you are not
  378.    using the redundancy between the even and odd fields where there
  379.    is not much motion (which is typically most of image).
  380.  
  381.    Or you can code it as a single stream of fields.  Or you can
  382.    interpolate lines.  Or, etc. etc.  There are many things you can
  383.    try, and the point of MPEG II is to figure out what works well.
  384.    MPEG II is not limited to consider only derivations of MPEG I.
  385.    There were several non-MPEG I-like schemes in the competition in
  386.    November, and some aspects of those algorithms may or may not
  387.    make it into the final standard for entertainment video compression.
  388.  
  389. Q. So what works?
  390. A. Basically, derivations of MPEG I worked quite well, with one that
  391.    used wavelet subband coding instead of DCT's that also worked very
  392.    well.  Also among the worked-very-well's was a scheme that did not
  393.    use B frames at all, just I and P's.  All of them, except maybe one,
  394.    did some sort of adaptive frame/field coding, where a decision is
  395.    made on a macroblock basis as to whether to code that one as one
  396.    frame macroblock or as two field macroblocks.  Some other aspects
  397.    are how to code I-frames--some suggest predicting the even field
  398.    from the odd field.  Or you can predict evens from evens and odds
  399.    or odds from evens and odds or any field from any other field, etc.
  400.  
  401. Q. So what works?
  402. A. Ok, we're not really sure what works best yet.  The next step is
  403.    to define a "test model" to start from, that incorporates most of
  404.    the salient features of the worked-very-well proposals in a
  405.    simple way.  Then experiments will be done on that test model,
  406.    making a mod at a time, and seeing what makes it better and what
  407.    makes it worse.  Example experiments are, B's or no B's, DCT vs.
  408.    wavelets, various field prediction modes, etc.  The requirements,
  409.    such as implementation cost, quality, random access, etc. will all
  410.    feed into this process as well.
  411.  
  412. Q. When will all this be finished?
  413. A. I don't know.  I'd have to hope in about a year or less.
  414.  
  415. Q. How do I join MPEG?
  416. A. You don't join MPEG.  You have to participate in ISO as part of a
  417.    national delegation.  How you get to be part of the national
  418.    delegation is up to each nation.  I only know the U.S., where you
  419.    have to attend the corresponding ANSI meetings to be able to
  420.    attend the ISO meetings.  Your company or institution has to be
  421.    willing to sink some bucks into travel since, naturally, these
  422.    meetings are held all over the world.  (For example, Paris,
  423.    Santa Clara, Kurihama Japan, Singapore, Haifa Israel, Rio de
  424.    Janeiro, London, etc.)
  425.  
  426. Q. Well, then how do I get the documents, like the MPEG I draft?
  427. A. MPEG is a draft ISO standard. It's exact name is ISO CD 11172.
  428.    The draft consists of three parts: System, Video, and Audio. The
  429.    System part (11172-1) deals with synchronization and multiplexing
  430.    of audio-visual information, while the Video (11172-2) and Audio
  431.    part (11172-3) address the video and the audio compression techniques
  432.    respectively.
  433.  
  434.    You may order it from your national standards body (e.g. ANSI in
  435.    the USA) or buy it from companies like
  436.      OMNICOM
  437.      phone +44 438 742424
  438.      FAX +44 438 740154
  439.  
  440. -------------------------------------------------------------------------------
  441.  
  442. From: billd@cray.com (Bill Davidson)
  443. Subject: MPEG standards documents.
  444. Date: 21 Apr 94 02:16:32 MET
  445.  
  446. I just connected to the Document Center WAIS server at wais.service.com
  447. to find out what MPEG documents cost.  This is what I found:
  448.  
  449. Title                            Pages    Price(US$)
  450. -------------------------------------------------------    -----    ----------
  451. ISO/IEC-11172-1 - PART 1: SYSTEMS, INFORMATION        60    158.75
  452.     TECHNOLOGY - CODING OF MOVING PICTURES &
  453.     ASSOCIATED AUDIO FOR
  454.  
  455. ISO/IEC-11172-2 - PART 2: VIDEO, INFORMATION TECHNOLOGY    122    204.00
  456.     - CODING MOVING PICTURES & ASSOCIATED AUDIO FOR
  457.     DIGI
  458.  
  459. ISO/IEC-11172-3 - PART 3: AUDIO, INFORMATION TECHNOLOGY    157    214.25
  460.     - CODING OF MOVING PICTURES & ASSOCIATED AUDIO
  461.     FOR D
  462.  
  463. ISO/IEC-CD-11172 - INFORMATION TECHNOLOGY - CODING OF    0    207.00
  464.     OF MOVING PICTURES & ASSOCIATED AUDIO - FOR
  465.     DIGITAL STORAGE
  466.  
  467. Is this a mistake or are standards documents really rediculously
  468. priced?  Since these would be for my own personal use, I have to pay
  469. for them out of my own personal pocket.  Just one of these eats my book
  470. budget for quite a while.
  471.  
  472. I realize that they have to make money but this has got to be about a
  473. 1000% markup over printing costs; even assuming low volumes.
  474.  
  475. Bill Davidson
  476.  
  477.  
  478. -------------------------------------------------------------------------------
  479.  I.2 | MPEG-Audio
  480. -----------------
  481.  
  482. From: "Harald Popp" <POPP@iis.fhg.de>
  483. From: mortenh@oslonett.no
  484. Date:          Fri, 25 Mar 1994 19:09:06 +0100
  485. Subject:       Merged Modified MPEG audio FAQ
  486.  
  487. Q.      What is MPEG?
  488. A.      MPEG is an ISO committee that proposes standards for 
  489.         compression of Audio and Video. MPEG deals with 3 issues: 
  490.         Video, Audio, and System (the combination of the two into one 
  491.         stream). You can find more info on the MPEG committee in other 
  492.         parts of this document. 
  493.         
  494. Q.      I've heard about MPEG Video. So this is the same compression 
  495.         applied to audio?
  496. A.      Definitely no. The eye and the ear... even if they are only a 
  497.         few centimeters apart, works very differently... The ear has 
  498.         a much higher dynamic range and resolution. It can pick out 
  499.         more details but it is "slower" than the eye.
  500.         The MPEG committee chose to recommend 3 compression methods 
  501.         and named them Audio Layer-1, Layer-2, and Layer-3. 
  502.  
  503. Q.      What does it mean exactly?
  504. A.      MPEG-1, IS 11172-3, describes the compression of audio 
  505.         signals using high performance perceptual coding schemes. 
  506.         It specifies a family of three audio coding schemes, 
  507.         simply called Layer-1,-2,-3, with increasing encoder 
  508.         complexity and performance (sound quality per bitrate). 
  509.         The three codecs are compatible in a hierarchical 
  510.         way, i.e. a Layer-N decoder is able to decode bitstream data 
  511.         encoded in Layer-N and all Layers below N (e.g., a Layer-3 
  512.         decoder may accept Layer-1,-2 and -3, whereas a Layer-2 
  513.         decoder may accept only Layer-1 and -2.)
  514.  
  515. Q.      So we have a family of three audio coding schemes. What does 
  516.         the MPEG standard define, exactly?
  517. A.      For each Layer, the standard specifies the bitstream format 
  518.         and the decoder. It does *not* specify the encoder to 
  519.         allow for future improvements, but an informative chapter 
  520.         gives an example for an encoder for each Layer.    
  521.  
  522. Q.      What have the three audio Layers in common?
  523. A.      All Layers use the same basic structure. The coding scheme can 
  524.         be described as "perceptual noise shaping" or "perceptual 
  525.         subband / transform coding". 
  526.         The encoder analyzes the spectral components of the audio 
  527.         signal by calculating a filterbank or transform and applies 
  528.         a psychoacoustic model to estimate the just noticeable 
  529.         noise-level. In its quantization and coding stage, the 
  530.         encoder tries to allocate the available number of data 
  531.         bits in a way to meet both the bitrate and masking 
  532.         requirements.
  533.         The decoder is much less complex. Its only task is to 
  534.         synthesize an audio signal out of the coded spectral 
  535.         components. 
  536.         All Layers use the same analysis filterbank (polyphase with 
  537.         32 subbands). Layer-3 adds a MDCT transform to increase 
  538.         the frequency resolution.
  539.         All Layers use the same "header information" in their 
  540.         bitstream, to support the hierarchical structure of the 
  541.         standard.   
  542.         All Layers use a bitstream structure that contains parts that 
  543.         are more sensitive to biterrors ("header", "bit 
  544.         allocation", "scalefactors", "side information") and parts 
  545.         that are less sensitive ("data of spectral components").  
  546.         All Layers may use 32, 44.1 or 48 kHz sampling frequency.
  547.         All Layers are allowed to work with similar bitrates:
  548.         Layer-1: from 32 kbps to 448 kbps
  549.         Layer-2: from 32 kbps to 384 kbps
  550.         Layer-3: from 32 kbps to 320 kbps
  551.  
  552. Q.      What are the main differences between the three Layers, from a 
  553.         global view?
  554. A.      From Layer-1 to Layer-3,
  555.         complexity increases (mainly true for the encoder),
  556.         overall codec delay increases, and
  557.         performance increases (sound quality per bitrate).
  558.  
  559. Q.      Which Layer should I use for my application?
  560. A.      Good Question. Of course, it depends on all your requirements. 
  561.         But as a first approach, you should consider the available 
  562.         bitrate of your application as the Layers have been 
  563.         designed to support certain areas of bitrates most 
  564.         efficiently, i.e. with a minimum drop of sound quality.   
  565.         Let us look a little closer at the strong domains of each 
  566.         Layer.    
  567.         
  568.         Layer-1: Its ISO target bitrate is 192 kbps per audio 
  569.         channel.
  570.         Layer-1 is a simplified version of Layer-2. It is most useful 
  571.         for bitrates around the "high" bitrates around or above 
  572.         192 kbps. A version of Layer-1 is used as "PASC" with the 
  573.         DCC recorder.
  574.  
  575.         Layer-2: Its ISO target bitrate is 128 kbps per audio 
  576.         channel.
  577.         Layer-2 is identical with MUSICAM. It has been designed as 
  578.         trade-off between sound quality per bitrate and encoder 
  579.         complexity. It is most useful for bitrates around the 
  580.         "medium" bitrates of 128 or even 96 kbps per audio 
  581.         channel. The DAB (EU 147) proponents have decided to use 
  582.         Layer-2 in the future Digital Audio Broadcasting network.   
  583.    
  584.         Layer-3: Its ISO target bitrate is 64 kbps per audio channel. 
  585.         Layer-3 merges the best ideas of MUSICAM and ASPEC. It has 
  586.         been designed for best performance at "low" bitrates 
  587.         around 64 kbps or even below. The Layer-3 format specifies 
  588.         a set of advanced features that all address one goal: to 
  589.         preserve as much sound quality as possible even at rather 
  590.         low bitrates. Today, Layer-3 is already in use in various 
  591.         telecommunication networks (ISDN, satellite links, and so 
  592.         on) and speech announcement systems. 
  593.  
  594. Q.      So how does MPEG audio work?
  595. A.      Well, first you need to know how sound is stored in a 
  596.         computer. Sound is pressure differences in air. When picked up 
  597.         by a microphone and fed through an amplifier this becomes 
  598.         voltage levels. The voltage is sampled by the computer a 
  599.         number of times per second. For CD audio quality you need to 
  600.         sample 44100 times per second and each sample has a resolution 
  601.         of 16 bits. In stereo this gives you 1,4Mbit per second
  602.         and you can probably see the need for compression.
  603.  
  604.         To compress audio MPEG tries to remove the irrelevant parts 
  605.         of the signal and the redundant parts of the signal. Parts of 
  606.         the sound that we do not hear can be thrown away. To do this 
  607.         MPEG Audio uses psychoacoustic principles.
  608.  
  609. Q.      Tell me more about sound quality. How good is MPEG audio 
  610.         compression? And how do you assess that?
  611. A.      Today, there is no alternative to expensive listening tests. 
  612.         During the ISO-MPEG-1 process, 3 international listening tests 
  613.         have been performed, with a lot of trained listeners, 
  614.         supervised by Swedish Radio. They took place in 7.90, 3.91 
  615.         and 11.91. Another international listening test was 
  616.         performed by CCIR, now ITU-R, in 92.      
  617.         All these tests used the "triple stimulus, hidden reference" 
  618.         method and the so-called CCIR impairment scale to assess the 
  619.         audio quality. 
  620.         The listening sequence is "ABC", with A = original, BC = pair 
  621.         of original / coded signal with random sequence, and the 
  622.         listener has to evaluate both B and C with a number 
  623.         between 1.0 and 5.0. The meaning of these values is:
  624.         5.0 = transparent (this should be the original signal)
  625.         4.0 = perceptible, but not annoying (first differences 
  626.               noticable)
  627.         3.0 = slightly annoying   
  628.         2.0 = annoying
  629.         1.0 = very annoying
  630.         With perceptual codecs (like MPEG audio), all traditional 
  631.         parameters (like SNR, THD+N, bandwidth) are especially 
  632.         useless. 
  633.  
  634.         Fraunhofer-IIS (among others) works on objective quality 
  635.         assessment tools, like the NMR meter (Noise-to-Mask-Ratio), 
  636.         too. If you need more informations about NMR, please 
  637.         contact nmr@iis.fhg.de
  638.  
  639. Q.      Now that I know how to assess quality, come on, tell me the 
  640.         results of these tests.
  641. A.      Well, for details you should study one of those AES papers 
  642.         listed below. One main result is that for low bitrates (60 
  643.         or 64 kbps per channel, i.e. a compression ratio of around 
  644.         12:1), Layer-2 scored between 2.1 and 2.6, whereas Layer-3 
  645.         scored between 3.6 and 3.8. 
  646.         This is a significant increase in sound quality, indeed! 
  647.         Furthermore, the selection process for critical sound material 
  648.         showed that it was rather difficult to find worst-case 
  649.         material for Layer-3 whereas it was not so hard to find 
  650.         such items for Layer-2.  
  651.         For medium and high bitrates (120 kbps or more per channel), 
  652.         Layer-2 and Layer-3 scored rather similar, i.e. even 
  653.         trained listeners found it difficult to detect differences 
  654.         between original and reconstructed signal.
  655.  
  656. Q.      So how does MPEG achieve this compression ratio?
  657. A.      Well, with audio you basically have two alternatives. Either 
  658.         you sample less often or you sample with less resolution (less 
  659.         than 16 bit per sample). If you want quality you can't do much 
  660.         with the sample frequency. Humans can hear sounds with 
  661.         frequencies from about 20Hz to 20kHz. According to the Nyquist 
  662.         theorem you must sample at least two times the highest 
  663.         frequency you want to reproduce. Allowing for imperfect 
  664.         filters, a 44,1kHz sampling rate is a fair minimum. So
  665.         you either set out to prove the Nyquist theorem is wrong or 
  666.         go to work on reducing the resolution. The MPEG committee 
  667.         chose the latter.
  668.         Now, the real reason for using 16 bits is to get a good 
  669.         signal-to-noise (s/n) ratio. The noise we're talking 
  670.         about here is quantization noise from the digitizing 
  671.         process. For each bit you add, you get 6dB
  672.         better s/n. (To the ear, 6dBu corresponds to a doubling of 
  673.         the sound level.) CD-audio achieves about 90dB s/n. This 
  674.         matches the dynamic range of the ear fairly well. That is, you 
  675.         will not hear any noise coming from the system itself (well, 
  676.         there is still some people arguing about that, but lets not 
  677.         worry about them for the moment).
  678.         So what happens when you sample to 8 bit resolution? You get 
  679.         a very noticeable noise floor in your recording. You can 
  680.         easily hear this in silent moments in the music or between 
  681.         words or sentences if your recording is a human voice. 
  682.         Waitaminnit. You don't notice any noise in loud passages, 
  683.         right? This is the masking effect and is the key to MPEG Audio 
  684.         coding. Stuff like the masking effect belongs to a science 
  685.         called psycho-acoustics that deals with the way the human 
  686.         brain perceives sound.
  687.         And MPEG uses psychoacoustic principles when it does its 
  688.         thing. 
  689.         
  690. Q.      Explain this masking effect.
  691. A.      OK, say you have a strong tone with a frequency of 1000Hz. 
  692.         You also have a tone nearby of say 1100Hz. This second tone is 
  693.         18 dB lower. You are not going to hear this second tone. It is 
  694.         completely masked by the first 1000Hz tone. As a matter of 
  695.         fact, any relatively weak sounds near a strong sound is 
  696.         masked. If you introduce another tone at 2000Hz also 18 dB 
  697.         below the first 1000Hz tone, you will hear this.
  698.         You will have to turn down the 2000Hz tone to something like 
  699.         45 dB below the 1000Hz tone before it will be masked by the 
  700.         first tone. So the further you get from a sound the less 
  701.         masking effect it has.
  702.         The masking effect means that you can raise the noise floor 
  703.         around a strong sound because the noise will be masked anyway. 
  704.         And raising the noise floor is the same as using less bits 
  705.         and using less bits is the same as compression. Do you get it?
  706.  
  707. Q.      I don't get it.
  708. A.      Well, let me try to explain how the MPEG Audio Layer-2 encoder 
  709.         goes about its thing. It divides the frequency spectrum (20Hz 
  710.         to 20kHz) into 32 subbands. Each subband holds a little slice 
  711.         of the audio spectrum. Say, in the upper region of subband 8, 
  712.         a 6500Hz tone with a level of 60dB is present. OK, the 
  713.         coder calculates the masking effect of this sound and finds 
  714.         that there is a masking threshold for the entire 8th
  715.         subband (all sounds w. a frequency...) 35dB below this tone. 
  716.         The acceptable s/n ratio is thus 60 - 35 = 25 dB. The equals 4 
  717.         bit resolution. In addition there are masking effects on band 
  718.         9-13 and on band 5-7, the effect decreasing with the distance 
  719.         from band 8.
  720.         In a real-life situation you have sounds in most bands and the 
  721.         masking effects are additive. In addition the coder considers 
  722.         the sensitivity of the ear for various frequencies. The ear 
  723.         is a lot less sensitive in the high and low frequencies. Peak 
  724.         sensivity is around 2 - 4kHz, the same region that the human 
  725.         voice occupies. 
  726.         The subbands should match the ear, that is each subband should
  727.         consist of frequencies that have the same psychoacoustic 
  728.         properties. In MPEG Layer 2, each subband is 750Hz wide 
  729.         (with 48 kHz sampling frequency). It would have been better if
  730.         the subbands were narrower in the low frequency range and 
  731.         wider in the high frequency range. That is the trade-off 
  732.         Layer-2 took in favour of a simpler approach.        
  733.         Layer-3 has a much higher frequency resolution (18 times 
  734.         more) - and that is one of the reasons why Layer-3 has a much 
  735.         better low bitrate performance than Layer-2.                
  736.         But there is more to it. I have explained concurrent masking, 
  737.         but the masking effect also occurs before and after a strong 
  738.         sound (pre- and postmasking).
  739.  
  740. Q.      Before?
  741. A.      Yes, if there is a significant (30 - 40dB ) shift in level. 
  742.         The reason is believed to be that the brain needs some 
  743.         processing time. Premasking is only about 2 to 5 ms. The 
  744.         postmasking can be up till 100ms.
  745.         Other bit-reduction techniques involve considering tonal and 
  746.         non-tonal components of the sound. For a stereo signal you 
  747.         may have a lot of redundancy between channels. All MPEG 
  748.         Layers may exploit these stereo effects by using a "joint-
  749.         stereo" mode, with a most flexible approach for Layer-3.      
  750.         Furthermore, only Layer-3 further reduces the redundancy 
  751.         by applying huffmann coding. 
  752.         
  753. Q.      What are the downside?
  754. A.      The coder calculates masking effects by an iterative process 
  755.         until it runs out of time. It is up to the implementor to 
  756.         spend bits in the least obtrusive fashion.
  757.         For Layer 2 and Layer 3, the encoder works on 24 ms of sound 
  758.         (with 1152 sample, and fs = 48 kHz) at a time. For some 
  759.         material, the time-window can be a problem. This is 
  760.         normally in a situation with transients where there are large
  761.         differences in sound level over the 24 ms. The masking is 
  762.         calculated on the strongest sound and the weak parts will 
  763.         drown in quantization noise. This is perceived as a "noise-
  764.         echo" by the ear. Layer 3 addresses this problem 
  765.         specifically by using a smaller analysis window (4 ms), if 
  766.         the encoder encounters an "attack" situation. 
  767.         
  768. Q.      Tell me about the complexity. What are the hardware demands? 
  769.  
  770. A.      Alright. First, we have to separate between decoder and 
  771.         encoder. 
  772.         Remember: the MPEG coding is done asymmetrical, with a much 
  773.         larger workload on the encoder than on the decoder.
  774.         For a stereo decoder, variuos real-time implementations exist 
  775.         for Layer-2 and Layer-3. They are either based on single-DSP 
  776.         solutions or on dedicated MPEG audio decoder chips. So
  777.         you need not worry about decoder complexity.
  778.         For a stereo Layer-2-encoder, various DSP based solutions with 
  779.         one or more DSPs exist (with different quality, also).
  780.         For a stereo Layer-3-encoder achieving ISO reference quality, 
  781.         the current real-time implementations use two DSP32C and 
  782.         two DSP56002. 
  783.         
  784. Q.      How many audio channels?
  785. A.      MPEG-1 allows for two audio channels. These can be either 
  786.         single (mono), dual (two mono channels), stereo or 
  787.         joint stereo (intensity stereo (Layer-2 and Layer-3) or m/s-
  788.         stereo (Layer-3 only)). 
  789.         In normal (l/r) stereo one channel carries the left audio 
  790.         signal and one channel carries the right audio signal. In
  791.         m/s stereo one channel carries the sum signal (l+r) and the 
  792.         other the difference (l-r) signal. In intensity stereo the 
  793.         high frequency part of the signal (above 2kHz) is combined. 
  794.         The stereo image is preserved but only the temporal envelope 
  795.         is transmitted.
  796.         In addition MPEG allows for pre-emphasis, copyright marks and
  797.         original/copy marks. MPEG-2 allows for several channels in 
  798.         the same stream.
  799.  
  800. Q.      What about the audio codec delay?
  801. A.      Well, the standard gives some figures of the theoretical 
  802.         minimum delay:
  803.         Layer-1: 19 ms (<50 ms)
  804.         Layer-2: 35 ms (100 ms)
  805.         Layer-3: 59 ms (150 ms)
  806.         The practical values are significantly above that. As they 
  807.         depend on the implementation, exact figures are hard to 
  808.         give. So the figures in brackets are just rough thumb 
  809.         values.    
  810.         Yes, for some applications, a very short delay is of critical 
  811.         importance. E.g. in a feedback link, a reporter can only talk 
  812.         intelligibly if the overall delay is below around 10 ms. 
  813.         If broadcasters want to apply MPEG audio coding, they have to 
  814.         use "N-1" switches in the studio to overcome this problem 
  815.         (or appropriate echo-cancellers) - or they have to forget 
  816.         about MPEG at all. 
  817.         But with most applications, these figures are small enough to 
  818.         present no extra problem. At least, if one can accept a Layer-
  819.         2 delay, one can most likely also accept the higher Layer-3 
  820.         delay.
  821.  
  822. Q.     OK, I am hooked on! Where can I find more technical 
  823.        informations about MPEG audio coding, especially about Layer-
  824.        3?   
  825. A.     Well, there is a variety of AES papers, e.g.
  826.  
  827.        K. Brandenburg, G. Stoll, ...: "The ISO/MPEG-Audio Codec: A 
  828.        Generic Standard for Coding of High Quality Digital Audio", 
  829.        92nd AES, Vienna 1992, pp.3336
  830.    
  831.        E. Eberlein, H. Popp, ...: "Layer-3, a Flexible Coding 
  832.        Standard",    94th AES, Berlin 93, pp.3493   
  833.    
  834.        K. Brandenburg, G. Zimmer, ...: "Variable Data-Rate Recording 
  835.        on a PC Using MPEG-Audio Layer-3", 95th AES, New York 93
  836.    
  837.        B. Grill, J. Herre,... : "Improved MPEG-2 Audio Multi-Channel 
  838.        Encoding", 96th AES, Amsterdam 94
  839.  
  840.        And for further informations, please contact layer3@iis.fhg.de
  841.  
  842. Q.     Where can I get more details about MPEG audio?
  843. A.     Still more details? No shit. You can get the full ISO spec 
  844.        from Omnicom. The specs do a fairly good job of obscuring 
  845.        exactly how these things are supposed to work... Jokes aside, 
  846.        there are no description of the coder in the specs. The specs 
  847.        describes in great detail the bitstream and suggests 
  848.        psychoacoustic models. 
  849.  
  850. Originally written by Morten Hjerde <100034,663@compuserve.com>, 
  851. modified and updated by Harald Popp (layer3@iis.fhg.de).
  852.  
  853. Harald Popp
  854. Audio & Multimedia ("Music is the *BEST*" - F. Zappa)
  855. Fraunhofer-IIS-A, Weichselgarten 3, D-91058 Erlangen, Germany
  856. Phone: +49-9131-776-340
  857. Fax:   +49-9131-776-399
  858. email: popp@iis.fhg.de
  859.  
  860. -------------------------------------------------------------------------------
  861.  I.3 | MPEG-2
  862. -------------
  863.  
  864. From: Chad Fogg <cfogg@ole.cdac.com>
  865. Date: Tue, 12 Oct 1993 06:23:40 -0700
  866. Subject: installment 2 (posted version)
  867.  
  868. OK: slapped together for your entertainment, it's the second draft 
  869. installment of the long promised MPEG-2 FAQ.   This draft is about 
  870. 50% complete.  Typos or spelling errors have not been checked yet.  
  871. Many details need to be flushed out.
  872.  
  873. If you have any additional questions or information you would like
  874. added, please E-mail to:  cfogg@cdac.com
  875.  
  876. -------------------------------------------------------------------------------
  877.  
  878. [ A short insert ... maybe important for some ... ]
  879.  
  880. From: Tom Pfeifer <pfeifer@fokus.gmd.de>
  881. Date: Fri, 29 Apr 1994 16:26:01 +0200
  882. Subject: mpeg2
  883.  
  884. Heres the number of the MPEG-2 commission draft:
  885.  
  886. Workgroup ISO/IEC JTC 1 SC29N 660
  887.  
  888. Standard ISO-CD 13818 - {1,2,3} (like usual {system, video, audio})
  889.  
  890. -------------------------------------------------------------------------------
  891.  
  892. [ And thats from Chad Fogg again ... ]
  893.  
  894. Table of questions:
  895. [near 64KB limit... to big to include in installment 2]
  896.  
  897.  
  898. Herein is not the official opionions of the MPEG "committee" members.
  899. (MPEG opinions are self-cancelling---linear superposition theory).
  900.  
  901. Q. What are the important themes of MPEG video?
  902. A. [Other than those introduced by Mark Adler...]
  903.    
  904.     1. Application specific. MPEG does not solve everybody's application
  905.     needs, but offers a syntax that is a good solution for most. MPEG 
  906.     does not, for example, decorrelate energies situated 1/256th 
  907.     of a pixel between a non-linear combination of 1000 frames.
  908.     The syntax was designed to occupy an optimum between cost and quality
  909.     ... in other words, between computational complexity (VLSI area, memory 
  910.     size and bandwidth) and compaction (compression) efficiency. 
  911.    
  912.     2. The DCT and Huffman algorithms are some of the least significant 
  913.     aspects of the standard, and yet somehow receive the most press 
  914.     coverage. MPEG-2 made its greatest improvements through enhancement 
  915.     of prediction.
  916.  
  917.     3. In the encoding algorithm, you can do what you want as long as the 
  918.     bistreams produced are compliant.  There is a huge difference in 
  919.     picture quality between, for example, the test model and real-world 
  920.     propriety implementions of encoding. 
  921.     
  922. Q. Can MPEG-1 encode higher sample rates than 352 x 240 x 30 Hz ?
  923.  
  924. A. Yes.  The MPEG-1 syntax permits sampling dimensions as high as
  925.    4095 x 4095 x 60 frames per second.    The MPEG most people think
  926.    of as "MPEG-1" is actually a kind of subset known as Constrained 
  927.    Parameters Bitstream (CPB).
  928.  
  929. Q. What are Constrained Parameters Bitstreams?
  930.  
  931. A. CPB are a limited set of sampling and bitrate parameters designed
  932.    to normalize computational complexity, buffer size, and memory bandwidth
  933.    while still addressing the widest possible range of applications.
  934.    CPB limits video to 396 macroblocks (101,376 pixels) per frame if the
  935.    frame rate is less than or equal to 25 fps (frames per second), and 330 
  936.    macroblocks (84,480 pixels) per frame if the frame rate is less or 
  937.    equal to 30 fps.  Therefore, MPEG video is typically coded at SIF
  938.    dimensions (352 x 240 x 30fps  or 352 x 288 x 25 fps).
  939.  
  940.    The total maximum sampling rate is 3.8 Ms/s (million samples/sec) 
  941.    including chroma.  The coded video rate is limited to 1.862 Mbit/sec. 
  942.    In industrial practice, the bitrate is the most often waived parameter 
  943.    of CPB, with rates as high as 6 Mbit/sec in use.
  944.  
  945. Q. Why is Constrained Parameters so important?
  946. A. It is an optimum point that allows (just barely) cost effective VLSI 
  947.    implementations in 1992 technology (0.8 microns).  It also implies a 
  948.    nominal guarantee of interoperability for decoders and encoders.  MPEG
  949.    devices which are not capable of meeting SIF rates are not canonically
  950.    considered to be true MPEG.
  951.  
  952. Q. Are there ways of getting around constrained parameters bitstreams
  953.    for SIF class applications and decoders ?
  954. A. Yes, some.  Remember that CPB limits frames to 396 macroblocks
  955.    (as in 352 x 288 SIF frames). 416 x 240 x 24 Hz sampling rates are 
  956.    still within the constraints, but this only aids NTSC (240 lines/field)
  957.    displays.  Deviating from 352 samples/line could throw off many decoder 
  958.    implementations that have limited horizontal sample rate conversion
  959.    modes. Due to chip die size constraints (most chips barely pack in the
  960.    neccessary features), many decoders use simple doubling, e.g. 352 to 704 
  961.    samples/line via binary taps which are simple shift-and-add operations. 
  962.    Future MPEG decoders will have arbitrary sample rate convertors on-chip.
  963.    Also remember that the 1.86 Mbit/sec limit is often ignored in real life.
  964.  
  965.  
  966. Q. What is MPEG-2 Video Main Profile and Main Level?
  967.  
  968. A. MPEG-2 Video Main Level is analogous to MPEG-1's CPB, with sampling limits 
  969.    at CCIR 601 parameters (720 x 480 x 30 Hz).  Profiles limit syntax 
  970.    (i.e. algorithms), whereas Levels limit parameters (sample rates, frame 
  971.    dimensions, coded bitrates, etc.).  Together,  Video Main Profile and Main 
  972.    Level (abbreviated as MP@ML) normalize complexity within feasible limits 
  973.    of 1994 VLSI technology (0.5 micron), yet still meet the needs of the 
  974.    majority of application users.  
  975.      
  976.  
  977.   Level      Max. sampling     Pixels/  Max.     Significance
  978.              dimensions   fps  sec      bitrate           
  979.   ---------  ----------------  -------  -------  --------------------------
  980.   Low         352 x  240 x 30   3.05 M   4 Mb/s  CIF, consumer tape equiv.
  981.   Main        720 x  480 x 30  10.40 M  15 Mb/s  CCIR 601, studio TV
  982.   High 1440  1440 x 1152 x 30  47.00 M  60 Mb/s  4x 601, consumer HDTV
  983.   High       1920 x 1080 x 30  62.70 M  80 Mb/s  production SMPTE 240M std
  984.  
  985. Note 1: pixel rate and luminance (Y) sample rate are equivalent.
  986.      2: Low Level is similar MPEG-1's Constrained Parameters Bitstreams.
  987.            
  988.   Profile  Comments
  989.   -------  -----------------------------------------------------------
  990.   Simple   Same as Main, only without B-pictures.  Intended for software 
  991.            applications, perhaps CATV.
  992.   Main     Most decoder chips, CATV, satellite. 95% of users.
  993.   Main+    Main with Spatial and SNR scalability       
  994.   Next     Main+ with 4:2:2 marcoblocks
  995.                                 
  996.  
  997.                                 Profile
  998.  
  999.   Level         Simple          Main            Main+           Next
  1000.   ------------  --------------  --------------  --------------  ------------
  1001.   High          illegal                         illegal         4:2:2 chroma
  1002.   High-1440     illegal                         With spatial    4:2:2 chroma
  1003.                                                 Scalablity
  1004.   Main                          90% of users    Main with SNR   4:2:2 chroma
  1005.                                                 scalability
  1006.   Low           illegal                         Main with SNR   illegal
  1007.                                                 scalabiliy                                                                        
  1008.    [Subject to change at whim of MPEG Requirements sub-group]
  1009.  
  1010. Q. How do you tell a MPEG-1 bitstream from a MPEG-2 bistream?
  1011. A. All MPEG-2 bistreams must have certain extension headers that
  1012.    *immediately* follow MPEG-1 headers.  At the highest layer,
  1013. END ---------------------- CUT HERE --------------------- 1/6
  1014.  
  1015.