home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Information / Specifications / Graphics / MPEG / mpeg-faq⁄part2 < prev    next >
Encoding:
Internet Message Format  |  1994-12-03  |  48.6 KB  |  [TEXT/R*ch]

  1. Path: bloom-beacon.mit.edu!spool.mu.edu!howland.reston.ans.net!EU.net!Germany.EU.net!netmbx.de!zrz.TU-Berlin.DE!cs.tu-berlin.de!phade
  2. From: phade@cs.tu-berlin.de (Frank Gadegast)
  3. 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
  4. Subject: MPEG-FAQ: multimedia compression [2/6]
  5. Followup-To: alt.binaries.multimedia
  6. Date: 22 Aug 1994 12:28:48 GMT
  7. Organization: Technical University of Berlin, Germany
  8. Lines: 1008
  9. Approved: news-answers-request@MIT.EDU
  10. Expires: 17 Nov 1994 10:46:56 GMT
  11. Message-ID: <33a5m0$5c9@news.cs.tu-berlin.de>
  12. Reply-To: phade@cs.tu-berlin.de
  13. NNTP-Posting-Host: marmor.cs.tu-berlin.de
  14. Mime-Version: 1.0
  15. Content-Type: text/plain; charset=iso-8859-1
  16. Content-Transfer-Encoding: 8bit
  17. Summary: The is the summary about the ISO-Videoformats MPEG 1 and MPEG 2
  18. Keywords: MPEG, FAQ, Compression
  19. Xref: bloom-beacon.mit.edu comp.graphics:29566 comp.graphics.animation:10743 comp.compression:9510 comp.multimedia:17442 alt.binaries.multimedia:8489 alt.binaries.pictures.utilities:18737 alt.binaries.pictures:8033 alt.binaries.pictures.d:10071 alt.answers:4109 comp.answers:6900 news.answers:24461
  20.  
  21. Archive-name: mpeg-faq/part2
  22. Last-modified: 1994/08/22
  23. Version: v 3.2 94/08/22
  24. Posting-Frequency: bimonthly
  25.  
  26.  
  27. BEGIN -------------------- CUT HERE --------------------- 2/6
  28.    for example, the MPEG-1 style sequence_header() is followed by
  29.    sequence_extension() which is exclusive to MPEG-2. Some extension 
  30.    headers are specific to MPEG-2 profiles. For example, 
  31.    sequence_scalable_extension() is not allowed in Main Profile.
  32.  
  33.    A simple program need only scan the coded bistream for byte-aligned 
  34.    start codes to determine whether the stream is MPEG-1 or MPEG-2.
  35.  
  36. Q. What is the precision of MPEG samples?
  37. A. By definition, MPEG samples have no more and no less than 8-bits 
  38.    uniform sample precision (256 quantization levels).  For luminance
  39.    (which is unsigned) data, black corresponds to level 0, white 
  40.    is level 255. However, in CCIR recommendation 601 chromaticy, levels 
  41.    0 through 14 and 236 through 255 are reserved for blanking signal 
  42.    excursions. MPEG currently has no such clipped excursion restrictions.
  43.  
  44. Q. Is it MPEG-2 (arabic numbers) or MPEG-II (roman)?
  45.  
  46. A. Committee insiders most often use the arabic notation with the
  47.    hyphen, e.g. MPEG-2.  Only the most retentive use the official 
  48.    designation: Phase 2.   In fact, M.P.E.G. itself is a nickname.  The
  49.    official name is: ISO/IEC JTC1 SC29 WG11.  The militaristic lingo has 
  50.    so far managed to keep the enemy (DVI) confused and out of the picture.
  51.  
  52.    ISO:  International Organization for Standardization
  53.    IEC:  Interntional Electrotechnical Commission
  54.    JTC1: Joint Technical Committee 1
  55.    SC29: Sub-committee 29
  56.    WG11: Work Group 11  (moving pictures with... uh, audio)
  57.  
  58. Q. Why MPEG-2?  Wasn't MPEG-1 enough?
  59.  
  60. A. MPEG-1 was optimized for CD-ROM or applications at about 1.5 Mbit/sec.
  61.    Video was strictly non-interlaced (i.e. progressive).  The international 
  62.    co-operation had executed so well for MPEG-1, that the committee began to 
  63.    address applications at broadcast TV sample rates using the CCIR 601 
  64.    recommendation (720 samples/line by 480 lines per frame by 30 frames per 
  65.    second... or about 15.2 million samples/sec including chroma) as the
  66.    reference.
  67.  
  68.    Unfortunately, today's TV scanning pattern is interlaced.  This 
  69.    introduces a duality in block coding:  do local redundancy areas 
  70.    (blocks) exist exclusively in a field or a frame... 
  71.    (or a particle or wave) ?  The answer of course is that some blocks 
  72.    are one or the other at different times, depending on motion activity.  
  73.    
  74.    The additional man years of experimentation and implementation between 
  75.    MPEG-1 and MPEG-2 improved the method of block-based transform coding.
  76.  
  77. Q. How do MPEG and JPEG differ?
  78.  
  79. A. The most fundamental difference is MPEG's use of block-based motion 
  80.    compensated prediction (MCP)---a general method falling into the 
  81.    temporal DPCM category.  
  82.     
  83.    The second most fundamental difference is in the target application. 
  84.    JPEG adopts a general purpose philosophy: independence from color space 
  85.    (up to 255 components per frame) and quantization tables for each 
  86.    component.  Extended modes in JPEG include two sample precisions (8 and 
  87.    12 bit sample accuracy), combinations of frequency progessive, spatially 
  88.    progressive, and amplitude progressive scanning modes. Color independence 
  89.    is made possible thanks to downloadable Huffman tables.
  90.  
  91.    Since MPEG is targeted for a set of specific applications, there is 
  92.    only one color space (4:2:0 YCbCr), one sample precision (8 bits), and
  93.    one scanning mode (sequential). Luminance and chrominance share 
  94.    quantization tables. The range of sampling dimensions are more limited
  95.    as well.  MPEG adds adaptive quantization at the macroblock (16 x 16 pixel 
  96.    area) layer.  This permits both smoother bit rate control 
  97.    and more perceptually uniform quantization throughout the picture and 
  98.    image sequence.   Adaptive quantization is part of the JPEG-2 charter.
  99.    MPEG variable length coding tables are non-downloadable, and are 
  100.    therefore optimized for a limited range of compression ratios 
  101.    appropriate for the target applications.
  102.  
  103.    The local spatial decorrelation methods in MPEG and JPEG are very similar. 
  104.    Picture data is block transform coded with the two-dimensional orthanormal 
  105.    8x8 DCT. The resulting 63 AC transform coefficients are mapped in a 
  106.    zig-zag pattern to statistically increase the runs of zeros. Coefficients 
  107.    of the vector are then uniformily scalar quantized, run-length coded, and 
  108.    finally the run-length symbols are variable length coded using a 
  109.    cannonical (JPEG) or modified Huffman (MPEG) scheme.  Global frame 
  110.    redundancy is reduced by 1-D DPCM of the block DC coefficients, followed
  111.    by quantization and variable length entropy coding.
  112.  
  113.             MCP                   DCT                    ZZ               Q
  114.        Frame -> 8x8 spatial block -> 8x8 frequency block -> Zig-zag scan -> 
  115.                     
  116.                     RLC                  VLC
  117.        quanitzation -> run-length coding -> variable length coding.
  118.  
  119.    The similarities have made it possible for the development of hard-wired 
  120.    silicon that can code both standards.  Even microcoded architectures can 
  121.    better optimize through hardwired instruction primitives or functional 
  122.    blocks. There are many additional minor differences. They include:
  123.    
  124.      1. DCT and quantization precision in MPEG is 9-bits since the macroblock 
  125.         difference operation expands the 8-bit signal precision by one bit.
  126.  
  127.      2. Quantization in MPEG-1 forces quantized coefficients to become
  128.         odd values (oddification).
  129.  
  130.      3. JPEG run-length coding produces run-size tokens (run of zeros,
  131.         non-zero coefficient magnitude) whereas MPEG produces fully
  132.         concatenated run-level tokens that do not require magnitude 
  133.         differential bits.
  134.  
  135.      4. DC values in MPEG-1 are limited to 8-bit precision (a constant
  136.         stepsize of 8), whereas JPEG DC precision can occupy all possible
  137.         11-bits.  MPEG-2, however, re-introduced extra DC precison.
  138.  
  139.  
  140. Q. What happened to MPEG-3?
  141.  
  142. A. MPEG-3 was to have targeted HDTV applications with sampling dimensions
  143.    up to 1920 x 1080 x 30 Hz and coded bitrates between 20 and 40 Mbit/sec.
  144.    It was later discovered that with some (compatible) fine tuning, MPEG-2 
  145.    and MPEG-1 syntax worked very well for HDTV rate video.  The key is
  146.    to maintain an optimal balance between sample rate and coded bit rate.
  147.  
  148.    Also, the standardization window for HDTV was rapidly closing.  Europe
  149.    and the United States were on the brink of committing to analog-digital
  150.    subnyquist hybrid algorithms (D-MAC, MUSE, et al).   European all-digital
  151.    projects such as HD-DIVINE and VADIS demonstrated better picture quality
  152.    with respect to bandwidth using the MPEG syntax.  In the United States, the
  153.    Sarnoff/NBC/Philips/Thomson HDTV consortium had used MPEG-1 syntax from
  154.    the beginning, and with the exception of motion artificats (due to 
  155.    limited search range in the encoder), was deemed to have the best picture
  156.    quality of all three digital proponents.
  157.    
  158.    HDTV is now part of the MPEG-2 High-1440 Level and High Level toolkit.
  159.    
  160. Q. What is MPEG-4?
  161. A. MPEG-4 targets the Very Low Bitrate applications defined loosly
  162.    as having sampling dimensions up to 176 x 144 x 10 Hz and coded 
  163.    bit rates between 4800 and 64,000 bits/sec.   This new standard would 
  164.    be used, for example, in low bit rate videophones over analog 
  165.    telephone lines.  
  166.   
  167.    This effort is in the very early stages.  Morphology, fractals, model
  168.    based, and anal retentive block transform coding are all in the offering. 
  169.    MPEG-4 is now in the application identification phase.
  170.  
  171. Q. Where can I get a copy of the latest MPEG-2 draft?
  172. A. Contact your national standards body (e.g. ANSI Sales in NYC for the U.S.)
  173.  
  174. Q. What is the latest working drafts of MPEG-2 ?
  175. A. The latest versions of video (version 4), and systems were produced at 
  176.    the Brusells meeting (September 10, 1993).  The latest audio working 
  177.    draft was produced in New York (July 1993).
  178.  
  179.    MPEG-2 Video, Audio, and Systems will reach CD at the November 1994
  180.    Seoul, Korea meeting.
  181.  
  182. Q. What is the latest version of the MPEG-1 documents?
  183. A. Systems (ISO/IEC IS 11172-1), Video (ISO/IEC IS 11172-2), and Audio
  184.    (ISO/IEC IS 11172-3) have reached the final document stage.  Part 4,
  185.    Conformance Testing, is currently a CD.
  186.    
  187. Q. What is the evolution of standard documents?
  188. A. In chronological order:
  189.  
  190.    New Proposal (NP)
  191.    Working Draft (WD)
  192.    Committee Draft (CD)
  193.    Draft International Standard (DIS)
  194.    International Standard (IS)
  195.  
  196.  
  197. Q. When will an MPEG-2 decoder chip be available?
  198. A. Several chips will be sampling in late 1993.  For reasons of economy
  199.    and scale in the cable TV application, all are single-chip (not including 
  200.    DRAM and host CPU/controller) implementations. 
  201.    They are:
  202.  
  203.   SGS-Thomson STi-3500
  204.         first MPEG-2 chip on market
  205.         multi-tap binary horizontal sample rate convertor.
  206.         pan & scanning support for 16:9
  207.         requires external, dedicated microcontroller (8 bit)
  208.         8-bit data bus, no serial data bus.
  209.  
  210.   LSI Logic L64112 successor (pin compatible)
  211.         serial bus, 15 Mbit coded throughput.
  212.         smaller pin-count version due soon.
  213.  
  214.   C-Cube CL-950 successor (?)
  215.  
  216.   In 1994, we can look forward to:
  217.   
  218.   Pioneer single-chip MPEG-2 successor to CD-1100 MPEG-1 chip set.
  219.   IBM single-chip decoder.
  220.  
  221. Q. Are there single chip MPEG encoders?
  222.  
  223. A. Yes, the C-Cube CL-4000 is the only single-chip, real-time encoder
  224.    that can process true MPEG-1 SIF rate video.
  225.    
  226.    Single chip for +/- 15 pel motion estimation at SIF rates (352x240x30 Hz)
  227.    Two chips for +/- 32 pel at SIF rates (hierarchical)
  228.    5 or 6 chips for MPEG-2 at CCIR 601 rates (704 x 480 x 30 Hz)
  229.    Highly microcoded architecture.
  230.    Can code both H.261 and JPEG.
  231.    Implements high picture quality microcode programs.
  232.    [more details from CICC'93 and HotChips '93 conference to be included]
  233.    
  234.    IBM and SGS-Thomson plan to introduce more hard-wired, multichip 
  235.    solutions in 1994.
  236.    
  237. Q. What about MPEG-1 decoder chips?
  238.  
  239. A. By implication of MPEG-2 Conformace requirements, all MPEG-2 decoders are 
  240.    required to decode MPEG-1 bitstreams as well. These chips, however, are 
  241.    strictly MPEG-1:
  242.  
  243.    
  244.         C-Cube CL-450           SIF rates. Single-chip.  Has on-board CPU.
  245.                                                                                                 
  246.         SGS-Thomson 3400        SIF rates. Single-chip.  Hardwired.
  247.  
  248.         Motorola MCD250         SIF rates. Single-chip.  
  249.  
  250.         LSI 641172              CCIR 601 rates. Single-chip.  Systems
  251.                                 packet decoder on-chip.
  252.  
  253. Q. What about audio chips?
  254. A. To date, only Layer I and Layer II have been implemented in dedicated
  255.    (ASIC) silicon:
  256.                
  257.   Motorola MCD260
  258.                 
  259.   Texas Instruments TI 320AV110 
  260.         hardwired with systems parsing)                      
  261.         operates in free format (arbitrary sample rate)
  262.         120 pin PQFP package
  263.         Serial data port
  264.         Part of technology exchange with C-Cube
  265.  
  266.   LSI Logic L64111 
  267.         hardwired w/CPU with on-chip systems parsing.
  268.         Serial data port                        
  269.         100-pin PQFP              
  270.         
  271.   GCA/ASCII ?
  272.   
  273.   Crystal Semiconductor CS4920
  274.         on-chip, 2 channel 16-bit digital-to-analog convertor (DAC)
  275.         16 MIPS, 24-bit DSP 
  276.         programmable clock manager
  277.         44-pin PLCC package
  278.         Programmable architecture.  For example, can download Layer II 
  279.           MPEG-1 audio or Dolby AC-2
  280.         $38 each in large quantities
  281.  
  282.  
  283. Dolby AC-3
  284.         MPEG NY disclosure
  285.         claimed to be less computationally intensive
  286.         Zoran, GI working on own DSP-like dedicated chips.
  287.  
  288. Q. Will there be an MPEG video tape format?
  289.  
  290. A. There is a consortium of companies (Philips, JVC, Sony, Matushista,
  291.    et al) developing a metal particle based 6 milimeter consumer digital 
  292.    video tape format. It will initially use more JPEG-like independent 
  293.    frame compression for cheap encoding of source analog (NTSC, PAL) 
  294.    video.  The consequence of course is less efficient use of bandwidth (
  295.    25 Mbit/sec for the same quality acheived at 6 Mbit/sec with MPEG). 
  296.    Pre-compressed video from broadcast sources will be directly recorded 
  297.    to tape and "passed-through" as a coded bitstream to the video 
  298.    decompression "box" upon playback.
  299.  
  300.                
  301.              
  302. Q. What do B-frames buy you?
  303. A. Since bi-directional marcoblock predictions are an average of two maroblocks blocks, 
  304.    noise is reduced at low bit rates.  At nominal MPEG-1 video (352 x 240 x 30, 1.15 
  305.    Mbit/sec) rates, it is said that B-frames improves SNR by as much as 2 dB. 
  306.    (0.5 dB gain is usually considered worth-while in MPEG). However, at higher 
  307.    bit rates, B-frames become less useful since they inherently do not contribute 
  308.    to the progressive refinement of an image sequence (i.e.not used as 
  309.    prediction by subsequent coded frames).  Regardless, B-frames are still 
  310.    politically controversial.
  311.  
  312.  
  313. Q. Why do some people hate B-frames?
  314. A. Computational complexity, bandwidth, delay, and picture buffer size are 
  315.    the four B-frame Pet Peeves. Computational complexity is increased since
  316.    a some macroblock modes require averaging between two macroblocks.  
  317.    Worst case, memory bandwidth is increased an extra 16 MByte/s (601 
  318.    rate) for this extra prediction. An extra picture buffer is needed to 
  319.    store the future prediction reference (bi-directionality).  Finally, 
  320.    extra delay is introduced in encoding since the frame used for backwards
  321.    prediction needs to be transmitted to the decoder before the intermediate 
  322.    B-pictures can be decoded and displayed.
  323.    
  324.    Cable television (e.g. General Instruments) have been particularly 
  325.    adverse to B-frames since the extra picture buffer pushes the decoder
  326.    DRAM memory requirements past the magic 8-Mbit (1 Mbyte) threshold into the 
  327.    realm of 16 Mbits (2 MByte) for CCIR 601 frames (704 x 480), yet not for 
  328.    lowly 352 x 480. However, cable does not realize that DRAM does not come 
  329.    in convenient high-volume (low cost) 8-Mbit packages as 16-Mbit does.  In 
  330.    a few years, the cost differences between 16 Mbit and 8 Mbit will become 
  331.    insignificant compared to the gain in compression.  For the time being, 
  332.    cable boxes will start with 8-Mbit and allow future drop-in upgrades to 
  333.    16-Mbit.  The early market success of B-frames seem to have been 
  334.    determined by a fire at a Japanese chemical plant.
  335.  
  336. Q. How do MPEG and H.261 differ?
  337. A. H.261 was targeted for teleconferencing applications where motion
  338.    is naturally more limited. Motion vectors are restricted to a range of
  339.    +/- 15 pixels.  Accuracy is reduced since H.261 motion vectors are 
  340.    restricted to integer-pel accuracy.  Other syntactic differences 
  341.    include: no B-pictures, different quantization method. 
  342.  
  343.    H.261 is also known as P*64. "P" is an integer number meant to 
  344.    represent multiples of 64kbit/sec.  In the end, this nomenclature 
  345.    probably won't be used as many services other than video will adopt the 
  346.    philosophy of arbitrary B channel (64kbit) bitrate scalability.
  347.  
  348. Q. Is H.261 the de facto teleconferencing standard?
  349.  
  350. A. Not exactly.  To date, about seventy percent of the industrial  
  351.    teleconferencing hardware market is controlled by PictureTel of Mass.  
  352.    The second largest market controller is Compression Labs of Silicon 
  353.    Valley.  PictureTel hardware includes compatibility with H.261 as a 
  354.    lowest common denominator, but when in comminication with other 
  355.    PictureTel hardware, it can switch to a mode superior at low bit rates 
  356.    (less than 300kbits/sec). In fact, over 2/3 of all teleconfercing is done 
  357.    at two-times switched 56 channel (~P = 2) bandwidth.  Long distance ISDN 
  358.    ain't cheap.  In each direction, video and audio are coded at an 
  359.    aggregate of 112 kbits/sec (2*56 kbits/sec).
  360.    
  361.    The PictureTel proprietary compression algorithm is acknowledged to 
  362.    be a combination of spatial pyramid, lattice vector quanitzer, and an 
  363.    unidentified entropy coding method.  Motion compensation is considerably
  364.    more refined and sophisticated than the 16x16 integer-pel block method
  365.    specified in H.261.
  366.  
  367.    The Compression Labs proprietary algorithm also offers significant 
  368.    improvement over H.261 when linked to other CLI hardware. 
  369.  
  370.    Currently, ITU-TS (International Telecommunications Union--Teleconferencing
  371.    Sector), formerly CCITT, is quietly defining an improvement to H.261 with 
  372.    the participation of industry vendors.
  373.    
  374. Q. Where will be see MPEG in everyday life?
  375. A. Just about wherever you see video today.
  376.    
  377.    DBS (Direct Broadcast Satellite)
  378.      The Hughes/USSB DBS service will use MPEG-2 video and audio.  Thomson 
  379.      has exclusive rights to manufacture the decoding boxes for the first 
  380.      18 months of operation.  No doubt Thomson's STi-3500 MPEG-2 video 
  381.      decoder chip will be featured.
  382.  
  383.      Hughes/USSB DBS will begin service in North America in April 1994.
  384.      Two satellites at 101 degrees West will share the power requirements   
  385.      of 120 Watts per 27 MHz transponder. Multi-source channel rate 
  386.      control methods will be employed to optimally allocate bits between 
  387.      several programs on one data carrier. An average of 150 channels are  
  388.      planned.
  389.    
  390.  
  391.    CATV (Cable Television)
  392.      Despite conflicting options, the the cable industry has more or less 
  393.      settled on MPEG-2 video.  Audio is less than settled. For example, 
  394.      General Instruments (the largest U.S. consumer cable set-top box 
  395.      manufacturer) have announced the planned use of the Dolby AC-3 
  396.      audio algorithm.
  397.  
  398.      The General Instruments DigiCipher I video syntax is similar to MPEG-2
  399.      syntax but uses smaller macroblock predictions and no B-frames.  The
  400.      DigiCipher II specification will include modes to support both the GI 
  401.      and full MPEG-2 Video Main Profile syntax.  Services such as HBO will
  402.      upgrade to DigiCipher II in 1994. 
  403.  
  404.    HDTV
  405.      The U.S. Grand Alliance, a consortium of companies that formely competed
  406.      for the U.S. terrestrial HDTV standard,  have already agreed to use
  407.      the MPEG-2 Video and Systems syntax---including B-pictures. Both interlaced
  408.      (1440 x 960 x 30 Hz) and progressive (1280 x 720 x 60 Hz) modes will 
  409.      be supported. The Alliance must then settle upon a modulation (QAM, 
  410.      VSB, OFDM), convolution (MS or Viterbi), and error correction (RSPC, RSFC) 
  411.      specification.
  412.  
  413.      In September 1993, the consortium of 85 European companies signed an 
  414.      agreement to fund a project known Digital Video Broacasting (DVB) which 
  415.      will develop a standard for cable and terrestrial transmission by the 
  416.      end of 1994. The scheme will use MPEG-2.  This consortium has put the 
  417.      final nail in the coffin of the D-MAC scheme for gradual migration 
  418.      towards an all-digital, HDTV consumer transmission standard. The only 
  419.      remaining analog or digital-analog hybrid system left in the world is 
  420.      NHK's MUSE (which will probably be axed in a few years).
  421.      
  422. Q. What did MPEG-2 add to MPEG-1 in terms of syntax/algorithms ?
  423. A. Here is a brief summary:
  424.  
  425.   Sequence layer:
  426.   More aspect ratios.  A minor, yet neccessary part of the syntax.
  427.  
  428.   Horizontal and vertical dimensions are now required to be a multiple of
  429.   16 in frame coded pictures, and the vertical dimension must be a multiple 
  430.   of 32 in field coded pictures.
  431.  
  432.   4:2:2 and 4:4:4 macroblocks were added in the Next profiles.
  433.  
  434.   Syntax can now signal frame sizes as large as 16383 x 16383.
  435.  
  436.   Syntax signals source video type (NTSC, PAL, SECAM, MAC, component) to 
  437.   help post-processing and display.
  438.  
  439.   Source video color primaries (609, 170M, 240M, D65, etc.) and opto-
  440.   electronic transfer characteristics (709, 624-4M, 170M etc.) can be 
  441.   indicated.
  442.  
  443.   Four scalable modes [see scalable section below]
  444.  
  445.   Picture layer:
  446.   All MPEG-2 motion vectors are half-pel accuracy.
  447.  
  448.   DC precision can be user-selected as 8, 9, 10, or 11 bits.
  449.  
  450.   Concealment motion vectors were added to I-pictures in order to 
  451.   increase robustness from bit errors since I pictures are the most
  452.   critical and sensitive in a group of pictures.
  453.  
  454.   A non-linear macroblock quantization factor that results in a more
  455.   dynamic step size range, from 0.5 to  56, than in MPEG-1 (1 to 32).
  456.   
  457.   New Intra-VLC table for dct_next_coefficient (AC run-level events) 
  458.   that is more geared towards I-frame probability distribution.  EOB
  459.   is 4 bits.  The old tables are still included.
  460.  
  461.   Alternate scanning pattern that (supposedly) improves entropy coding
  462.   performance over the original Zig-Zag scan used in H.261, JPEG, and
  463.   MPEG-1.  The extra scanning pattern is geared towards interlaced
  464.   video.
  465.  
  466.   Syntax to signal 3:2 pulldown process (repeat_field_first flag)
  467.  
  468.   Syntax flag to signal chrominance post processing type (4:2:0 to 
  469.   4:2:2 upsampling conversion)
  470.  
  471.   Progressive and interlaced frame coding
  472.  
  473.   Syntax to signal source composite video characteristics useful in 
  474.   post-processing operations. (v-axis, field sequence, sub_carrier, 
  475.   phase, burst_amplitude, etc.)
  476.  
  477.   Pan & scanning syntax that tells decoder how to, for example, window a 
  478.   4:3 image within a wider 16:9 aspect ratio image.  Vertical pan offset
  479.   has 1/16th pixel accuracy.
  480.  
  481.   Macroblock layer:
  482.   Macroblock stuffing is now illegal in MPEG-2 (hurray!!)
  483.  
  484.   Two line modes (interlaced and progressive) for DCT operation.   
  485.   
  486.   Now only one run-level escape code code (24-bits) instead of 
  487.   the single (20-bits) and double escape (28-bits) in MPEG-1.
  488.  
  489.   Improved mismatch control in quantization over the original oddification
  490.   method in MPEG-1.  Now specifies adding or subtracting one to the
  491.   63rd AC coefficient depending on parity of summed quantized coefficients.
  492.   
  493.   Many additional prediction modes (16x8 MC, field MC, Dual Prime)
  494.   and, correspondingly, macroblock modes.
  495.   
  496.   Overall, MPEG-2's greatest compression improvements over MPEG-1 are:  
  497.   prediction modes, Intra VLC table, DC precision, non-linear macroblock 
  498.   quant.  Implementation improvements, well,.. uh... macroblock stuffing
  499.   was eliminated.
  500.  
  501. Q. What are the scalable modes of MPEG-2?
  502. A. Scalable video is permitted only in the Main+ and Next profiles. 
  503.    Currently, there are four scalable modes in the MPEG-2 toolkit.
  504.    These modes break MPEG-2 video into different layers (base, middle,
  505.    and high layers) mostly for purposes of prioritizing video data.  For 
  506.    example, the high priority channel (bitstream) can be coded with a 
  507.    combination of extra error correction information and decreased bit 
  508.    error (i.e. higher Carrier-to-Noise ratio or signal strength) than 
  509.    the lower priority channel.  
  510.    
  511.    Another purpose of scalablity is complexity division.  For example,
  512.    in HDTV, the high priority bitstream (720 x 480) can be decoded 
  513.    under noise conditions were the lower priority (1440 x 960) cannot. 
  514.    This is "graceful" degradation. By the same division however, a 
  515.    standard TV set need only decode the 720 x 480 channel, thus requiring 
  516.    a less expensive decoder than a TV set wishing to display 1440 x 960.
  517.    This is simulcasting.
  518.    
  519.    A brief summary of the MPEG-2 video scalability modes:
  520.    [better descriptions in installment 3]   
  521.    
  522.    Spatial Scalablity-- Useful in simulcasting, and for feasible software 
  523.     decoding of the lower resoultion, base layer.  This spatial domain 
  524.     method codes a base layer at lower sampling dimensions (i.e. "resolution") 
  525.     than the upper layers.  The upsampled reconstructed lower (base) layers 
  526.     are then used as prediction for the higher layers.  
  527.         
  528.    Data Partitioning-- Similar to JPEG's frequency progressive mode, only 
  529.     the slice layer indicates the maximum number of block transform 
  530.     coefficients contained in the particular bitstream (known as the
  531.     "priority break point").  Data partitioning is a frequency domain method
  532.     that breaks the block of 64 quantized transform coefficients into two 
  533.     bitstreams.  The first, higher priority bitstream contains the more 
  534.     critical lower frequency coefficients and side informations (such as DC 
  535.     values, motion vectors). The second, lower priority bitstream carries 
  536.     higher frequency AC data.
  537.         
  538.    SNR Scalability-- Similar to the point transform in JPEG, SNR scalability 
  539.     is a spatial domain method where channels are coded at identical sample 
  540.     rates, but with differing picture quality (through quantization step sizes).  
  541.     The higher priority bitstream contains base layer data that can be added 
  542.     to a lower priority refinement layer to construct a higher quality picture.
  543.  
  544.    Temporal Scalability--- A temporal domain method useful in, e.g., 
  545.     stereoscopic video.  The first, higher priority bitstreams codes video 
  546.     at a lower frame rate, and the intermediate frames can be coded in a 
  547.     second bitstream using the first bitstream reconstruction as prediction.  
  548.     In sterescopic vision, for example, the left video channel can be 
  549.     prediction from the right channel.
  550.  
  551.    Other scalability modes were experimented with in MPEG-2 video (such as
  552.    Frequency Scalability), but were eventually dropped in favor of methods 
  553.    that demonstrated similar quality and greater simplicity.
  554.  
  555. Q. What is all the fuss with cositing of chroma components?
  556. A. It is important to properly co-site chroma samples, otherwise chroma 
  557.    shifting may result.  
  558.    [insert more details in installment 3]
  559.  
  560. Q. What is the reasoning behind MPEG syntax symbols?
  561. A. Here are some of the Whys and Wherefores of MPEG symbols: 
  562.  
  563.   Start codes
  564.   These 32-bit byte-aligned codes provide a mechanism for cheaply searching
  565.   coded bitstreams for commencment of various layers of video without having
  566.   to actually parse or decode.  Start codes also provide a mechanism for 
  567.   resynchronization in the presense of bit errors.
  568.  
  569.   Coded block pattern (CBP --not to be confused with Constrained Parameters!)
  570.   When the frame prediction is particularly good, the displaced 
  571.   frame differencene (DFD, or prediction error) tends to be small, often 
  572.   with entire block energy being reduced to zero after quantization.  This 
  573.   usually happens only at low bit rates.  Coded block patterns prevent 
  574.   the need for transmitting EOB symbols in those zero coded blocks.
  575.   
  576.   DCT_coefficient_first
  577.   Each intra coded block has a DC coefficient.  Inter coded blocks 
  578.   (prediction error or DFD) naturally do not since the prediction error 
  579.   is the first derivative of the video signal. With coded block patterns
  580.   signalling all possible non-coded block patterns, the dct_coef_first 
  581.   mechanism assigns a different meaning to the VLC codeword that would
  582.   otherwise represent EOB as the first coefficient.
  583.   
  584.   End of Block 
  585.   Saves unecessary run-length codes.  At optimal bitrates, there tends to be 
  586.   few AC coefficients concentrated in the early stages of the zig-zag vector.
  587.   In MPEG-1, the 2-bit length of EOB implies that there is an average of only
  588.   3 or 4 non-zero AC coefficients per block.  In MPEG-2 Intra (I) pictures, 
  589.   with a 4-bit EOB code, this number is between 9 and 16 coefficients.
  590.   Since EOB is required for all coded blocks, its absense can signal that a 
  591.   syntax error has occurred in the bitstream.
  592.   
  593.   Macroblock stuffing
  594.   A genuine pain for VLSI implementations, macroblock stuffing was introduced 
  595.   to maintain smoother, constant bitrate control in MPEG-1. However, with 
  596.   normalized complexity measures and buffer management performed on a 
  597.   a priori (pre-frame, pre-slice, and pre-macroblock) basis in the MPEG-2 
  598.   encoder test model, the need for such localized smoothing evaportated.  
  599.   Stuffing can be acheived through virtually unlimited slice start code 
  600.   padding if required. A good rule of thumb: if you find yourself often 
  601.   using stuffing more than once per slice, you probably don't have a very 
  602.   good rate control algorithm.  Anyway, marcoblock stuffing is now illegal in 
  603.   MPEG-2.
  604.  
  605.  
  606.   MPEG's modified Huffman VLC tables
  607.   The VLC tables in MPEG are not Huffman tables in the true sense of
  608.   Huffman coding, but are more like the tables used in Group 3 fax.
  609.   They are entropy constrained, that is, non-downloadable and optimized 
  610.   for a limited range of bit rates (sweet spots).  With the acception of 
  611.   a few codewords, the larger tables were carried over from the H.261 
  612.   standard of 1990.  MPEG-2 added an "Intra table".  Note that the 
  613.   dct_coefficient tables assume positive/negative coefficient pmf symmetry.
  614.  
  615.  
  616. Q. What is the TM rate control and adaptive quantization technique ?
  617. A. Test model was not by any strech of the imagination meant to
  618.    be the show-stopping, best set of algorithm.  It was designed to
  619.    excersize the syntax, verify proposals, and test the *relative* 
  620.    performance of proposals in a way that could be duplicated
  621.    by co-experimentors in a timely fashion.  Otherwise there would
  622.    be more endless debates about model interpretation than actual
  623.    time spent in verification.
  624.  
  625.   [MPEG-2 Test model is frozen as v5b]
  626.   
  627.   The MPEG-2 Test Model (TM) rate control method offers a dramatic 
  628.   improvement to the Simulation Model (SM) method used for MPEG-1.  TM's 
  629.   improvements are due to more sophistication pre-analysis and post-analysis 
  630.   routines.
  631.  
  632.   Rate control and adaptive quantization are divided into three steps:
  633.  
  634.   Step One:       Bit Allocation 
  635.     
  636.     In Complexity Estimation, the global complexity measures assign relative 
  637.     weights to each picture type.  These weights (Xi, Xp, Xb) are reflected 
  638.     by the typical coded frame size of I, P, and B pictures (see typical frame 
  639.     size section). I pictures are assigned the largest weight since they have 
  640.     the greatst stability factor in an image sequence.  B pictures are assigned 
  641.     the smallest weight since B data does not propogate into other frames 
  642.     through the prediction process.
  643.  
  644.     Picture Target Setting allocates target bits for a frame based on 
  645.     the frame type and the remaining number of frames of that same
  646.     type in the Group of Pictures (GOP). 
  647.  
  648.  
  649. Step Two:       Rate Control
  650.  
  651.         Rate control attempts to adjust bit allocation if there is
  652.         significant difference between the target bits (anticipated
  653.         bits) and actual coded bits for a block of data.
  654.  
  655.         [more detail in installment 3]
  656.  
  657. Step Three:     Adaptive Quantization
  658.  
  659.         Recomputes macroblock quantization factor according to 
  660.         activity of block against the normalized activity of the
  661.         frame.
  662.         
  663.         The effect of this step is to roughly assign a constant number 
  664.         of bits per macroblock (this results in more perceptually uniform 
  665.         picture quality).
  666.  
  667.         [more detail in installment 3]
  668.         
  669.  
  670. Q. How would you explain MPEG to the data compression expert?
  671. A. MPEG video is a block-based video scheme 
  672.    Local decorrelations via DCT-Q-VLC hybrid
  673.    Dead-zone quanitizer
  674.    DFD: quantized prediction error
  675.    [etc.  More in installment 3]
  676.  
  677. Q. What are the implementation requirements?
  678. A. MPEG pushes the limit of economical VLSI technology (but you get
  679.    what you pay for in terms of picture quality or compaction efficiency) 
  680.  
  681.    Video                Typical decoder     Total    DRAM bus width 
  682.    Profile              transistor count    DRAM     @ speed
  683.    ------------         ----------------    -------  -------------------
  684.    MPEG-1 CPB           0.4 to .75 million   4 Mbit  16 bits @ 80 ns
  685.    MPEG-1 601           0.8 to 1.1 million  16 Mbit  64 bits @ 80 ns
  686.    MPEG-2 MP@ML         0.9 to 1.5 million  16 Mbit  64 bits @ 80 ns
  687.    MPEG-2 MP@High1440     2 to   3 million  64 Mbit  N/A
  688.  
  689.    70 or 80ns DRAM speed is a measure of the shortest period in which
  690.    words can be transfered across the bus.  In the case of MPEG-1 SIF,
  691.    80ns implies (1/80ns)(16bits) or about 25 MBytes/sec of bandwidth.
  692.    Lack of cheap memory (DRAM) utilization is where the original DVI 
  693.    algorithm made a costly mistake.  DVI required expensive VRAM/SRAM 
  694.    chips (a static RAM transistor requires 6 transistors compared to 
  695.    1 transistor for DRAM).    Fast page mode DRAM (which has slower 
  696.    throughput than SRAM and requires near-contiguous address mapping) 
  697.    is viable for MPEG due almost exclusively to the block nature of 
  698.    the algorithm and syntax (DRAM memory locations are broken into 
  699.    rows and columns).
  700.         
  701. Q. Is exhuastive search "optimal" ?
  702. A. Definately not in the context of block-based MCP.   Since one motion
  703.    vector represents the prediction of 256 pixels, divergent pixels within 
  704.    the macroblock are misrepresented by the "global" vector.  This leads 
  705.    back to the general philosophy of block-based coding as an approximation 
  706.    technique.  Exhuastive search may find blocks with the least distortion 
  707.    (displaced frame difference) but will not produce motion vectors with 
  708.    the least entropy. [more details later]
  709.    
  710. Q. What is a good motion estimation method, then? 
  711.    When shopping for motion vectors, the three basic characteristics are: 
  712.    Search range, search pattern, and matching criteria.  Search pattern
  713.    has the greatest impact on finding the best vector.   Hierarchical
  714.    search patterns first find the best match between downsampled images of 
  715.    the reference and target pictures and then refine the vector through
  716.    progressively higher resolutions.  Hierarchical patterns are less
  717.    likely to be confused by extremely local distortion minimums as being
  718.    a best match.
  719.    
  720.    [Accuracy vs. Ambiguity]
  721.    
  722.    [Some ways of solving problem (Gary Sullivan--ICASSP '93), but not
  723.    syntacitally compatible].
  724.  
  725.    [motion vector pre-frame search, motion vector refinement, etc.
  726.     in installment 3]
  727.  
  728. Q. What is MPEG 1.5 and MPEG++ ? 
  729. A. MPEG-1.5 was not exactly a  proprietary twist in terms of syntax,
  730.    but operating parameters.  Again, people (erronously) consider MPEG-1 
  731.    to be limited to SIF rates (352 x 240 x 30 Hz). After interrogation, 
  732.    most MPEG 1.5 proponents will confess that MPEG 1.5 is simply MPEG-1 at 
  733.    CCIR 601 rates (704 x 480 x 30 Hz) and that it may or may not include 
  734.    B-frames.   It was meant to be an interrum solution for cable TV until
  735.    MPEG-2 chips became available.
  736.  
  737.    MPEG++ is/was proprietary only at the transport layer (compatible syntax
  738.    at the video layer).  This name was coined by the Sarnoff/Philips/
  739.    RCA/Thomson HDTV consortium.  
  740.  
  741.    Both MPEG 1.5 and MPEG++ are now moot since MPEG-2 Simple profile and
  742.    MPEG-2 Systems layer fill these potentials, respectively.
  743.  
  744.  
  745. Q. What about MPEG-2 audio?
  746. A. MPEG-2 audio attempts to maintain as much compatibility with        
  747.    MPEG-1 audio syntax as possible, while adding discrete surround-sound
  748.    channels to the orignal MPEG-1 limit of 2 channels (Left, Right or
  749.    matrix center and difference).  The main channels (Left, Right) in 
  750.    MPEG-2 audio will remain backwards compatible, whereas new coding
  751.    methods and syntax will be used for the surround channels.
  752.  
  753.    A total of 5.1 channels are included that consist of the two main 
  754.    channels (L,R), two side/rear, center, and a 100 Hz special effects 
  755.    channel (hence the ".1" in "5.1").
  756.  
  757.    At this time, non-backwards compatible (NBC) schemes are being
  758.    considered as an ammedment to the MPEG-2 audio standard. One
  759.    such popular system is Dolby AC-3.
  760.  
  761.    [installment 3: detail on Layers, AC-3, etc., optimal bitrates.]
  762.  
  763. Q. What about MPEG-2 systems?
  764. A. [to be filled out in installment 3]
  765.         Transport stream
  766.         Program stream
  767.         ATM
  768.         PES
  769.         Timing Recovery
  770.  
  771. Q. How many bitstreams can MPEG-2 systems represent?
  772. A. [installment 3]
  773.  
  774.  
  775. Q. What are the typical MPEG-2 bitrates and picture quality?
  776. [examples of typical frame sizes in bits]
  777.  
  778.                                         Picture type
  779.                         I               P               B          Average
  780. MPEG-1 SIF
  781. @ 1.15 Mbit/sec         150,000         50,000          20,000      38,000
  782.  
  783. MPEG-2 601              400,000         200,000         80,000     130,000
  784. @ 4.00 Mbit/sec
  785.  
  786. Note: parameters assume Test Model for encoding, I frame distance of 15 
  787. (N = 15), and a P frame distance of 3 (M = 3).
  788.  
  789. Of course with scene changes and more advanced encoder models found
  790. in any real-world implementation, these numbers can be very different.
  791.  
  792. Q. At what bitrates is MPEG-2 video optimal? 
  793. A. The Test subgroup has defined a few examples:
  794.  
  795. "Sweet spot" sampling dimensions and bit rates for MPEG-2:
  796.  
  797. Dimensions      Coded rate      Comments
  798. -------------   ----------      -------------------------------------------
  799. 352x480x24 Hz   2 Mbit/sec      Half horizontal 601.  Looks almost NTSC
  800. (progressive)                   broadcast quality, and is a good (better) 
  801.                                 substitute for VHS.  Intended for film src.
  802.  
  803. 544x480x30 Hz   4 Mbit/sec      PAL broadcast quality (nearly full capture 
  804. (interlaced)                    of 5.4 MHz luminance carrier).  Also 
  805.                                 4:3 image dimensions windowed within 720
  806.                                 sample/line 16:9 aspect ratio via pan&scan.
  807.  
  808. 704x480x30 Hz   6 Mbit/sec      Full CCIR 601 sampling dimensions.
  809. (interlaced)
  810.  
  811. [these numbers subject to change at whim of MPEG Test subgroup]
  812.  
  813.  
  814. Q. How does MPEG video really compare to TV, VHS, laserdisc ?
  815. A. VHS picture quality can be acheived for source film video at about
  816.    1 million bits per second (with proprietary encoding methods).  It is 
  817.    very difficult to objectively compare  MPEG to VHS.  The response curve 
  818.    of VHS places -3 dB at around 2 MHz of analog luminance bandwidth 
  819.    (equivalent to 200 samples/line). VHS chroma is considerably less dense 
  820.    in the horizontal direction than MPEG source video (compare 80 samples/
  821.    line to 176!).  From a sampling density perspective, VHS is superior only 
  822.    in the vertical direction (480 lines compared to 240)... but when taking 
  823.    into account interfield magnetic tape crosstalk and the TV monitor Kell 
  824.    factor, not by all that much.  VHS is prone to timing errors (which can be 
  825.    improved with time base correctors), whereas digital video is fully 
  826.    discretized. Pre-recorded VHS is typically recorded at very high 
  827.    duplication speeds (5 to 15 times real time playback), which leads to 
  828.    further shortfalls for the format that has been with us since 1977.
  829.    
  830.    Broadcast NTSC quality can be approximated at about 3 Mbit/sec, and PAL 
  831.    quality at about 4 Mbit/sec.  Of course, sports sequences with complex 
  832.    spatial-temporal activity need more like 5 and 6 Mbit/sec, respectively.
  833.    
  834.    Laserdisc is a tough one to compare.  Disc is composite video (NTSC 
  835.    or PAL) with up to 425 TVL (or 567 samples/line) response.  Thus it 
  836.    could be said laserdisc has 567 x 480 x 30 Hz "resolution". The 
  837.    carrier-to-noise ratio is typically better than 48 dB.  Timing is 
  838.    excellent. Yet some of the clean characteristics of laserdisc can be 
  839.    acheived at 1.15 Mbit/sec (SIF rates), especially for those areas of 
  840.    medium detail (low spatial activity) in the presense of uniform motion.
  841.    This is why some people say MPEG-1 video at 1.15 Mbit/sec looks almost
  842.    as good as Laserdisc or Super VHS.
  843.  
  844.    Regardless of the above figures, those clever proprietary encoding
  845.    algorithms can push these bitrates even lower.
  846.  
  847.  
  848. Q. Why film does so well with MPEG ?
  849. A. Several reasons, really:
  850.  
  851.    1) The frame rate is 24 Hz (instead of 30 Hz) which is a savings of
  852.       some 20%.  
  853.    2) the film source video is inherently progressive.  Hence no fussy 
  854.       interlaced spectral frequencies.
  855.    3) the pre-digital source was severly oversampled (compare 352 x 240 
  856.       SIF to 35 milimeter film at, say, 3000 x 2000 samples).  This can 
  857.       result in a very high quality signal, whereas most video cameras do 
  858.       not oversample, especially in the vertical direction. 
  859.    4) Finally, the spatial and temporal modulation transfer function (MTF) 
  860.       characteristics (motion blur, etc) of film are more ameniable to 
  861.       the transform and quantization methods of MPEG.
  862.  
  863. Q. What is the best compression ratio for MPEG ?
  864. A. The MPEG sweet spot is about 1.2 bits/pel Intra and .35 bits/pel inter.
  865.    Experimentation has shown that intra frame coding with the familiar 
  866.    DCT-Quantization-Entropy hybrid algorithm acheives optimal performance
  867.    at about an average of 1.2 bits/sample or about 6:1 compression ratio.  
  868.    Below this point, artifacts become noticable.
  869.  
  870.  
  871. Q. What are some pre-processing enhancements ?
  872.  
  873.   Adaptive de-interlacing:
  874.   This method maps interlaced video from a higher sampling rate (e.g
  875.   720 x 480) into a lower rate, progressive format (352 x 240).   The 
  876.   most basic algorithm measures the variance between two fields, and if 
  877.   the variance is small enough, uses an average of both fields to form a 
  878.   frame macroblock.  Otherwise, a field area from one field (of the same
  879.   parity) is selected.  More clever algorithms are much more complex 
  880.   than this, and may involve median filtering, and multirate/
  881.   multidimensional tools.
  882.  
  883.   Pre-anti-aliasing and Pre-blockiness reduction:
  884.   A common method in still image coding is to pre-smooth the image
  885.   before compression encoding.  For example, if pre-analysis of a
  886.   frame indicates that serious artifacts will arise if the picture
  887.   were to be coded in the current condition, a pre-anti-aliasing 
  888.   filter can be applied.  This can be as simple as having a smoothing 
  889.   severity proportional to the image activity.  The pre-filter can be 
  890.   global (same smoothing factor for whole image) or locally adaptive.
  891.   More complex methods will use multirate/multidimensional tools again.
  892.  
  893.   The basic idea of multidimensional/multirate pre-processing is to 
  894.   apply source video whose resolution (sampling density) is greater 
  895.   than the target source and reconstruction sample rates. This follows 
  896.   the basic principles of oversampling, as found in A/D converters.
  897.  
  898.   Most detail is contained in the lower harmonics anyway.  Sharp-cut off
  899.   filters are not widely practiced, so the "320 x 480 potential" of VHS
  900.   is never truly realized.
  901.  
  902. Q. Why use these "advanced" pre-filtering techniques?
  903.  
  904. A. Think of the DCT and quantizer as an A/D convertor.  Think of the
  905.    pre-filter as the required anti-alias prefilter found before every
  906.    A/D.  The big difference of course is that the DCT quantizer assigns
  907.    a varying number of bits per sample (transform coefficient).
  908.    
  909.    Judging on the normalized activity measured in the pre-analysis 
  910.    stage of video encoding, and the target buffer size status, you have
  911.    a fairly good idea of how many bits can be spared for the target
  912.    macroblock, for instance. 
  913.  
  914.    Other pre-filtering techniques mostly take into account: texture 
  915.    patterns, masking, edges, and motion activity.  Many additional 
  916.    advanced techniques can be applied at different immediate layers
  917.    of video encoding (picture, slice, macroblock, block, etc.).
  918.    
  919.  
  920. Q. What are some advanced encoding methods?
  921.  
  922.   Quantizer feedback
  923.   [Thomson patent: installment 3]
  924.   
  925.   Horizontal variance [installment 3]
  926.   
  927.   motion vector cost:  this is true for any syntax elements, really.  
  928.   Signalling a macroblock quantization factor or a large motion vector 
  929.   differential can cost more than making up the difference with extra 
  930.   quantized DFD (prediction error) bits.   The optimum can be found
  931.   with, for example, a Lagrangian process.  In summary, any compression 
  932.   system with side information, there is a optimum point between signalling 
  933.   overhead (e.g. prediction) and prediction error. 
  934.         
  935.   Liberal Interpretations of the Forward DCT        
  936.   Borrowing from the concept that the DCT is simply a filter bank, a 
  937.   technique that seems to be gaining popularity is basis vector shaping.  
  938.   Usually this is combined with the quantization stage since the two are 
  939.   tied closely together in a rate-distortion sense. The idea is to use 
  940.   the basis vector shaping as a cheap alternative to pre-filtering by 
  941.   combining the more diserable data adaptive properties of pre-filtering/
  942.   pre-processing into the transformation process... yet still reconstruct 
  943.   a picture in the decoder using the standard IDCT that looks reasonably 
  944.   like the source. Some more clever schemes will apply windowing.  
  945.   [Warning: watch out for eigenimage/basis vector orthoganality. ]
  946.  
  947.   Frequency-domain enhancements:
  948.   Enhancements are applied after the DCT (and possibly quantization)
  949.   stage to the transform coefficients.  This borrows from the concept:  
  950.   if you don't like the (quantized) transformed results, simply reshape 
  951.   them into something you do like.
  952.   
  953.   Temporal spreading of quantization error:
  954.   This method is similar to the orignal intent behind color subcarrier 
  955.   phase alternation by field in the NTSC analog TV standard: for stationary 
  956.   areas, noise does not hang" in one location, but dances about the image 
  957.   over time to give a more uniform effect.  Distribution makes it more 
  958.   difficult for the eye to "catch on" to trouble spots (due to the latent 
  959.   temporal response curve of human vision). Simple encoder models tend 
  960.   to do this naturally but will not solve all situations.
  961.  
  962.  
  963.   Look-ahead and adaptive frame cycle structures:
  964.         Scene changes
  965.         [installment 3]        
  966.  
  967.   It is easy to spot encoders that do not employ any advanced 
  968.   encoding techniques:  reconstruced video usally contains
  969.   ringing around edges, color bleeding, and lots of noise.
  970.  
  971.  
  972. Post-processing 
  973.  
  974.  (non-linear) Interpolation methods (Wu-Gersho)
  975.  Convex hull projections
  976.  Some ICASSP '93 papers, etc.
  977.  
  978.  Conformance vs. post-processing:   Post-processing makes judging 
  979.  decoder output for conformace testing near impossible.
  980.  [installment 3]
  981.  
  982. Q. Why bother to research compressed video when there is a standard?        
  983. A. Despite the worldwide standard, many areas remain open for
  984.    research:  advanced encoding and pre-processing, motion estimation,
  985.    macroblock decision models, rate control and buffer management, etc.  
  986.    There's practically no end to it.
  987.  
  988.  
  989. Q. Is so-and-so really MPEG compliant ? 
  990.  
  991. A. At the very least, there are two areas of conformance/compliance in
  992.    MPEG:  1. Compliant bitstreams  2. compliant decoders.  Technically 
  993.    speaking, video bitstreams consisting entirely of I-frames (such as 
  994.    those generated by Xing software) are syntactically compliant with 
  995.    the MPEG specification.  The I-frame sequence is simply a subset of 
  996.    the full syntax.  Compliant bitstreams must obey the range limits 
  997.    (e.g. motion vectors limited to +/-128, frame sizes, frame rates, etc.) 
  998.    and syntax rules (e.g. all slices must commence and terminate with a 
  999.    non-skipped macroblock, no gaps between slices, etc.). 
  1000.  
  1001.    Decoders, however, cannot escape true comformance. For example, a  
  1002.    decoder that cannot decode P or B frames are *not* legal MPEG.  
  1003.    Likewise, full arithmetic precision must be obeyed before any 
  1004.    decoder can be called "MPEG compliant."   The IDCT, inverse quantizer, 
  1005.    and motion compensated predictior must meet the specification 
  1006.    requirements... which are fairly rigid (e.g. no more than 1 least 
  1007.    significant bit of error between reference and test decoders).  
  1008.    Real-time conformance is more complicated to measure than arithmetic 
  1009.    precision, but it is reasonable to expect that decoders that skip 
  1010.    frames on reasonable bitstreams are not likely to be considered 
  1011.    compliant.
  1012.  
  1013.       
  1014.  
  1015. Q. What are some journals on related MPEG topics ?
  1016. A. 
  1017.  
  1018.   IEEE Multimedia [first edition Spring 1994]
  1019.   IEEE Transactions on Consumer Electronics
  1020.   IEEE Transactions on Broadcasting
  1021.   IEEE Transactions on Circuits and Systems for Video Technology
  1022.   Advanced Electronic Imaging
  1023.   Electronic Engineering Times (EE Times)
  1024.   IEEE Int'l Conference on Acoustics, Speech, and Signal Processing (ICASSP)
  1025.   International Broadcasting Convention (IBC)
  1026.   Society of Motion Pictrures and Television Engineers (SMPTE)
  1027.   SPIE conference on Visual Comminications and Image Processing
  1028. END ---------------------- CUT HERE --------------------- 2/6
  1029.