home *** CD-ROM | disk | FTP | other *** search
/ Encyclopedia of Graphics File Formats Companion / GFF_CD.ISO / formats / mpeg / spec / mpeg_faq.txt
Text File  |  1994-06-03  |  85KB  |  1,745 lines

  1. MPEG-2 Technical (and sometimes political) Frequently Asked Questions
  2. (FAQ) list.
  3. Copyright 1994 by Chad Fogg (cfogg@netcom.com)
  4. Draft 3.3 (May 10, 1994)
  5.  
  6. 1. MPEG is a DCT based scheme, right?
  7. 2. What does the MPEG video syntax feature that codes video efficiently?
  8. 3. What does the syntax provide for error robustness?
  9. 4. What is the significance of each layer in MPEG video ?
  10. 5. How does the syntax facilitate parallelism?
  11. 6. I hear the encoder is not part of the standard?
  12. 7. Are some encoders better than others?
  13. 8. Can MPEG-1 encode higher sample rates than 352 x 240 x 30 Hz ?
  14. 9. What are Constrained Parameters Bitstreams (CPB) for video?
  15. 10. Why is Constrained Parameters so important?
  16. 11. Who uses constrained parameters bitstreams?
  17. 12. Are there ways of circumventing constrained parameters bitstreams for SIF 
  18. class applications and decoders ?
  19. 13. Are there any other conformance points like CPB for MPEG-1?
  20. 14. What frame rates are permitted in MPEG?
  21. 15. Special prediction switches for MPEG-2
  22. 16. What is MPEG-2 Video Main Profile and Main Level?
  23. 17. Does anybody actually use the scalability modes?
  24. 18. What's the difference between Field and Frame pictures?
  25. 19. What do B-pictures buy you?
  26. 20. Why do some people hate B-frames?
  27. 21. Why was the 16x16 area chosen?
  28. 22. Why was the 8x8 DCT size chosen?
  29. 23. What is motion compensated prediction, and why is it a pain?
  30. 24. What are the various prediction modes in MPEG-2?
  31. 24.1 Frame:
  32. 24.2 Field predictions in frame-coded pictures:
  33. 24.3 Field predictions in field-coded pictures:
  34. 24.4 16x8 predictions in field-coded pictures:
  35. 24.5 Dual Prime prediction in frame and field-coded pictures
  36. 24.6 Field and frame organized macroblocks:
  37. 25. How do you tell a MPEG-1 bitstream from a MPEG-2 bitstream?
  38. 26. What is the reasoning behind MPEG syntax symbols?
  39. 27. Why bother to research compressed video when there is a standard?
  40. 28. Where can I get a copy of the latest MPEG-2 draft?
  41. 29. What are the latest working drafts of MPEG-2 ?
  42. 30. What is the latest version of the MPEG-1 documents?
  43. 31. What is the evolution of ISO standard documents?
  44. 32. Where is a good introductory paper to MPEG?
  45. 33. What are some journals on related MPEG topics ?
  46. 34. Is there a book on MPEG video?
  47. 35. Is it MPEG-2 (Arabic numbers) or MPEG-II (roman)?
  48. 36. What happened to MPEG-3?
  49. 37. What is MPEG-4?
  50. 38. What are the scaleable modes of MPEG-2?
  51. 39. Why MPEG-2?  Wasn't MPEG-1 enough?
  52. 40. What did MPEG-2 add to MPEG-1 in terms of syntax/algorithms ?
  53. 41. How do MPEG and JPEG differ?
  54. 42. How do MPEG and H.261 differ?
  55. 43. Is H.261 the de facto teleconferencing standard?
  56. 44. What is the TM rate control and adaptive quantization technique ?
  57. 45. How does the TM work?
  58. 46. What is a good motion estimation method, then?
  59. 47. Is exhaustive search "optimal" ?
  60. 48. What are some advanced encoding methods?
  61. 49. Is so-and-so really MPEG compliant ?
  62. 50. What are the tell-tale MPEG artifacts?
  63. 51. Where are the weak points of MPEG video ?
  64. 52. What are some myths about MPEG?
  65. 53. What is the color space of MPEG?
  66. 54. Don't you mean 4:1:1 ?
  67. 55. Why did MPEG choose 4:2:0 ? Isn't 4:2:2 the standard for TV?
  68. 56. What is the precision of MPEG samples?
  69. 57. What is all the fuss with cositing of chroma components?
  70. 58. How would you explain MPEG to the data compression expert?
  71. 59. How does MPEG video really compare to TV, VHS, laserdisc ?
  72. 60. What are the typical MPEG-2 bitrates and picture quality?
  73. 61. At what bitrates is MPEG-2 video optimal?
  74. 62. Why does film perform so well with MPEG ?
  75. 63. What is the best compression ratio for MPEG ?
  76. 64. Can MPEG be used to code still frames?
  77. 65. Is there an MPEG file format?
  78. 66. What are some pre-processing enhancements ?
  79. 67. Why use these "advanced" pre-filtering techniques?
  80. 68. What about post-processing enhancements?
  81. 69. Can motion vectors be used to measure object velocity?
  82. 70. How do you code interlaced video with MPEG-1 syntax?
  83. 71. Is MPEG patented?
  84. 72. How many cable box alliances are there?
  85. 73. Will there be an MPEG video tape format?
  86. 74. Where will be see MPEG in everyday life?
  87. 75. What is the best compression ratio for MPEG ?
  88. 76. Is there a MPEG CD-ROM format?
  89.  
  90.  
  91. 1. MPEG is a DCT based scheme, right? 
  92.  
  93. The DCT and Huffman algorithms receive the most press coverage (e.g. MPEG is 
  94. a DCT based scheme with Huffman coding), but are in fact fairly 
  95. insignificant. The variety of coding modes signaled to the decoder as 
  96. context-dependent side information are chiefly responsible for the efficiency 
  97. of the MPEG syntax.
  98.  
  99. 2. What does the MPEG video syntax feature that codes video efficiently?
  100.  
  101. A. Here are some of the statistical conditions and their syntax counterparts.
  102.  
  103.  Occlusion:  forward, backwards, or bi-directional temporal prediction in B 
  104.  pictures.
  105.  
  106.  Smooth optical flow fields:  variable length coding of 1-D prediction errors 
  107.  for motion vectors.
  108.  
  109.  Spatial correlation beyond 8x8 sample block boundaries: 1-D prediction of  
  110.  DC coefficients in consecutive group intra-coded macroblocks.
  111.  
  112.  High temporal correlation:  variable on/off coding of prediction error  at 
  113.  the macroblock (no-coding) or individual block (coded block pattern) level.
  114.  
  115.  Temporal de-correlation: forward, backwards, or bidirectional prediction.
  116.  
  117.  Content dependent quality: locally adaptive quantization
  118.  
  119.  Temporal prediction accuracy: "half-pel" sample accuracy.
  120.  
  121.  High locally correlated signal refresh pictures (I picture) and prediction 
  122.  errors: DCT
  123.  
  124. Subjective coding: location-dependent quantization of DCT coefficients.
  125.  
  126.  
  127. 3. What does the syntax provide for error robustness?
  128.  
  129. 1. Byte-aligned start codes in the coded bitstream.
  130. 2. End of block codes in coded blocks.
  131. 3. Slices.
  132. 4. slice_vertical_position embedded as sub-field within slice start codes.
  133. 5. slices commencing at regular locations in picture (MPEG-2)
  134.  
  135. 4. What is the significance of each layer in MPEG video ?
  136.  
  137. Sequence:
  138.     Set of pictures sharing same sampling dimensions, bit rate, 
  139.     chromaticy (MPEG-1), quantization matrices (MPEG-1 only).
  140.  
  141. Group of Pictures:
  142.     Random access point giving SMPTE time code within sequence. 
  143.     Guaranteed to start with an I picture.
  144.  
  145. Picture:
  146.     Samples of a common plane -- "captured" from the same time instant.
  147.  
  148. Slice:  
  149.     Error resynchronization unit of macroblocks.  
  150.     At the commencement of a slice, all inter-macroblock coding 
  151.     dependencies are reset.  Likewise, all macroblocks within a common slice 
  152. can be dependently coded.
  153.  
  154. Macroblock:
  155.     Least common multiple of Y, Cb, Cr 8x8 blocks in 4:2:0 sampling 
  156. structure.
  157.     For MPEG-1, the smallest granularity of temporal prediction. 
  158.  
  159. Block:
  160.     Smallest granularity of spatial decorrelation.
  161.  
  162. 5. How does the syntax facilitate parallelism?
  163.  
  164. A. For MPEG-1, slices may consist of an arbitrary number of macroblocks.
  165.    The coded bitstream must first be mapped into fixed-length elements before 
  166. true parallelism in a decoder application can be exploited.  Further, since 
  167. macroblocks have coding dependencies on previous macroblocks within the same 
  168. slice, the data hierarchy must be pre-processed down to the layer of DC DCT 
  169. coefficients.  After this, blocks may be independently inverse transformed 
  170. and quantized, temporally predicted, and reconstructed to buffer memory.  
  171. Parallelism is usually more of a concern for encoders.  Macroblock motion 
  172. estimation and some rate control stages can be processed independently.  An 
  173. encoder also has the freedom to choose the slice structure.
  174.  
  175.  
  176. 6. I hear the encoder is not part of the standard?
  177.  
  178. A. The encoder rests just outside the normative scope of the standard, 
  179.    as long as the bitstreams it produces are compliant.  The decoder,
  180.    however, is almost deterministic: a given bitstream should
  181.    reconstruct to a unique set of pictures. Statistically speaking, an
  182.    occasional error of a Least    Significant Bit is permitted as a
  183.    result of the fact that the IDCT function is the only non-normative
  184.    stage in the decoder (the designer is free to choose among many DCT
  185.    algorithms and implementations).  The IEEE 1180 test referenced in
  186.    Annex A of the MPEG-1 and MPEG-2 specifications spells out the
  187.    statistical mismatch tolerance between the Reference IDCT, which
  188.    uses 64-bit floating point accuracy, and the Test IDCT.
  189.  
  190. 7. Are some encoders better than others?
  191.  
  192. A. Yes.  For example, the range over which a compensated prediction 
  193.    macroblock is searched for has a great influence over final picture 
  194.    quality.  At a certain point a very large range can actually become
  195.    detrimental (it may encourage large differential motion vectors).
  196.    Practical ranges are usually between +/- 15 and +/- 32.  As the
  197.    range doubles, for instance, the search area quadruples.
  198.  
  199. 8. Can MPEG-1 encode higher sample rates than 352 x 240 x 30 Hz ?
  200.  
  201. A. Yes. The MPEG-1 syntax permits sampling dimensions as high as 4095 x 
  202.    4095 x 60 frames per second.    The MPEG most people think of as "MPEG-
  203.    1" is actually a kind of subset known as Constrained Parameters 
  204.    bitstream (CPB).
  205.  
  206. 9. What are Constrained Parameters Bitstreams (CPB) for video?
  207.  
  208. A. MPEG-1 CPB are a limited set of sampling and bitrate parameters 
  209.    designed to normalize decoder computational complexity, buffer size, and 
  210.    memory bandwidth while still addressing the widest possible range of 
  211.    applications. The parameter limits were intentionally designed so that a 
  212.    decoder implementation would need only 4 Megabits of DRAM.
  213.  
  214. Parameter       Limit
  215. --------------  ---------------------------
  216. pixels/line     704 
  217. lines/picture   480 or 576
  218. pixels*lines    352*240 or 352*288
  219. picture rate    30 Hz
  220. bit rate        1.862million bits/sec
  221. buffer size     40 Kilobytes (327,680 bits)
  222.  
  223.  The sampling limits of CPB are bounded at the ever popular SIF rate:
  224.  396 macroblocks (101,376 pixels) per picture if the picture rate is
  225.  less than or equal to 25 Hz, and 330 macroblocks (84,480 pixels) per
  226.  picture if the picture rate is 30 Hz. The MPEG nomenclature loosely
  227.  defines a "pixel" or "pel" as a unit vector containing a complete
  228.  luminance sample and one fractional (0.25 in 4:2:0 format) sample from
  229.  each of the two chrominance (Cb and Cr) channels. Thus, the
  230.  corresponding bandwidth figure can be computed as:
  231.  
  232.   352 samples/line x 240 lines/picture x 30 pictures/sec x 1.5 samples/pixel 
  233.  
  234. or 3.8 Ms/s (million samples/sec) including chroma, but not including 
  235. blanking intervals.  Since most decoders are capable of sustaining 
  236. VLC decoding at a faster rate than 1.8 Mbit/sec, the coded video bitrate
  237. has become the most often waived parameter of CPB. An encoder which 
  238. intelligently employs the syntax tools should achieve SIF quality saturation 
  239. at about 2 Mbit/sec, whereas an encoder producing streams containing 
  240. only I (Intra) pictures might require as much as 4 Mbit/sec to achieve the 
  241. same video quality.
  242.  
  243. 10. Why is Constrained Parameters so important?
  244.  
  245. A. It is an optimum point that allows (just barely) cost effective VLSI 
  246. implementations in 1992 technology (0.8 microns).  It also implies a 
  247. nominal guarantee of interoperability for decoders and encoders.  Since
  248. CPB is a canonical conformance point, MPEG devices which are not capable 
  249. of meeting SIF rates are usually not considered to be true MPEG.
  250.  
  251. 11. Who uses constrained parameters bitstreams?
  252.  
  253. A. Applications which are focused on CPB are Compact Disc (White Book or CD-
  254. I) and computer video applications.  Set-top TV decoders fall into a higher 
  255. sampling rate category known as CCIR 601 or Broadcast rate.
  256.  
  257.  
  258. 12. Are there ways of circumventing constrained parameters bitstreams for SIF 
  259. class applications and decoders ?
  260.  
  261. A. Yes, some.  Remember that CPB limits pictures by macroblock count. 
  262. 416 x 240 x 24 Hz sampling rates are still within the constraints, but this 
  263. would only be of benefit in NTSC (240 lines/field) displays. Deviating from 
  264. 352 samples/line could throw off many decoder implementations which possess 
  265. limited horizontal sample rate conversion abilities. Some decoders do in fact 
  266. include a few rate conversion modes, with a filter usually implemented via 
  267. binary taps (shifts and adds).  Likewise, the target sample rates are usually 
  268. limited or ratios (e.g. 640, 540, 480 pixels/line, etc.). Future MPEG 
  269. decoders will likely include on-chip arbitrary sample rate converters, 
  270. perhaps capable of operating in the vertical direction (although there is 
  271. little need of this in applications using standard TV monitors, with the 
  272. possible exception of windowing in cable box graphical user interfaces).
  273.  
  274. 13. Are there any other conformance points like CPB for MPEG-1?
  275. A. Undocumented ones, yes.  A second generation of decoder chips emerged on 
  276. the market   about 1 year after the first wave of SIF-class decoders.  Both 
  277. LSI Logic and SGS-Thomson introduced CCIR 601 class MPEG-1 decodersto fill in 
  278. the gap between canonical MPEG-1 and the emergence of MPEG-2.  Under non-
  279. disclosure agreement, C-Cube had the CL-950.
  280.  
  281. 14. What frame rates are permitted in MPEG?
  282. A. A limited set is available for the choosing in MPEG-1, although "tricks" 
  283. could be played with Systems-layer Time Stamps to convey non-standard rates.  
  284. The set is: 23.976 Hz (3-2 pulldown NTSC), 24 Hz (Film), 25 Hz (PAL/SECAM or 
  285. 625/60 video), 29.97 (NTSC), 30 Hz (drop-frame NTSC or component 525/60), 50 
  286. Hz (double-rate PAL), 59.97 Hz (double rate NTSC), and 60 Hz (double-rate 
  287. drop-frame NTSC/component 525/60 video).  
  288.  
  289. 15. Special prediction switches for MPEG-2
  290.  
  291.  
  292.            MPEG-2 sequence
  293.           /         \
  294.   progressive            interlaced sequence
  295.   sequence              /                    \
  296.           Field picture            Frame picture
  297.                       /            \
  298.                   Frame or field pred.     Frame MB prediction only
  299.                 /         \                                
  300.               Field dct      Frame dct 
  301.  
  302.  
  303. 16. What is MPEG-2 Video Main Profile and Main Level?
  304.  
  305. A. MPEG-2 Video Main Profile and Main Level is analogous to MPEG-1's CPB,with 
  306. sampling limits at CCIR 601 parameters (720 x 480 x 30 Hz). Profiles limit 
  307. syntax (i.e. algorithms), whereas Levels place limits on coding parameters 
  308. (sample rates, frame dimensions, coded bitrates, etc.). Together,  Video Main 
  309. Profile and  Main Level (abbreviated as MP@ML) normalize complexity within 
  310. feasible limits of 1994 VLSI technology (0.5 micron), yet still meet the 
  311. needs of the majority of application users.MP@ML is the conformance point for 
  312. most cable and satellite systems.
  313.  
  314. Profiles
  315. ======
  316. Simple: I and P pictures only. 4:2:0 sampling ratio. 8,9, or 10 bits DC 
  317. precision.
  318. Main: I, P, and B pictures.  Dual Prime with no B-pictures only.  4:2:0 
  319. sampling ratio. 8, 9, or 10 bits sample precision.
  320. SNR profile:
  321. Spatial profile:
  322. High: 8,9,10, or 11 bits sample precision.  4:2:2 and 4:4:4 sampling ratio.
  323.  
  324.  
  325. Level
  326. ====
  327. Simple:  SIF video rate (3.041280 Mhz),  4 Mbit/sec,  0.489472 Mbit VBV 
  328. buffer, 64 vertical in frame,  32Vertical in field, 1:7 fcode hor.
  329.  
  330. Main: CCIR 601 video rate (10.368 Mhz), 15 Mbit/sec,  1.835008 Mbit VBV 
  331. buffer, 128 V in frame, 64 V in field, 1:8 f_code Hor.
  332.  
  333. High 1440: 1440 x 1152 x 30 Hz (47.0016 Mhz), 60 Mbit/sec.   7.340032 Mbit 
  334. VBV buffer, 128 V in Fe,  1:9 fcode H.
  335.  
  336. High: 1920 x 1152 x 30 Hz (62.6688 Mhz), 80 Mbit/sec. 9.787392 Mbit VBV 
  337. buffer.
  338. 1:9 fcode H
  339.  
  340. 17. Does anybody actually use the scalability modes?
  341.  
  342. A. At this time, scalability has found itself a limited number of 
  343. applications, although research is definitely underway for its use in HDTV.  
  344. Experiments have been demonstrated in Europe where, for example, PAL-rate 
  345. video (720 x 576 x 25 fps) is embedded in the same stream as HDTV rate video 
  346. (1440 x 1152 x 25 fps). The Nov. 1992 VADIS experiment divided the base layer 
  347. (PAL) and enhancement into 4 and 16 Mbit/sec channels, respectively. The U.S. 
  348. Grand Alliance favors HDTV simulcasting (separate NTSC analog and digital 
  349. HDTV broadcasts).  Temporal scalability is the pet scalability mode as the 
  350. possible future solution for coding  60 Hz progressive sequences while 
  351. maintaining backwards compatibility with early-wave equipment (e.g. 1920 x 
  352. 1080 x 30 Hz displays) . To elaborate, the first wave receivers of the late 
  353. 1990's would be limited to 62at 0 Hz interlaced/30 Hz progressive HDTV 
  354. decoders.  Essentially, 60 interlaced fields would be coded in a, for 
  355. example, 16 Mbit/sec stream in 1996, and when VLSI processes shift another 
  356. thousand or so angstroms down the wavelength scale, an 8 Mbit/sec enhancement 
  357. layer containing the coded "high pass" between 60 Hz progressive and 60 Hz 
  358. interlaced would be simulcasted or multiplexed.  Several corporate mouths 
  359. have been known to water at the mention of charging the quality conscious 
  360. subscriber an  extra fee for the enhancement layer.
  361.  
  362. 18. What's the difference between Field and Frame pictures?
  363. A. A  frame-coded  picture consists of samples from both even and odd fields.  
  364. frame picture is coded in progressive order (an even line, then an odd line, 
  365. etc.) and in the case of MPEG-2,  may optionally switch between field and 
  366. frame order on a macroblock basis. The Display Process, which is *almost* 
  367. completely outside the scope of the MPEG specification, can chose to re-
  368. interlace the picture by displaying the odd and even lines at different times 
  369. (16 milliseconds apart for 60 Hz displays).  In fact, most pictures, 
  370. regardless of whether they were coded as a Field or Frame, end up being 
  371. displayed interlaced due to the fact that most TV sets are interlaced.
  372.  
  373. 19. What do B-pictures buy you?
  374.  
  375. A. Since bi-directional macroblock predictions are an average of two 
  376. macroblock areas, noise is reduced at low bit rates (like a 3-D filter, if 
  377. you will).  At nominal MPEG-1 video (352 x 240 x 30, 1.15 Mbit/sec) rates, it 
  378. is said that B-frames improves SNR by as much as 2 dB. (0.5 dB gain is 
  379. usually considered worth-while in MPEG). However, at higher bit rates, B-
  380. frames become less useful since they inherently do not contribute to the 
  381. progressive refinement of an image sequence (i.e. not used as prediction by 
  382. subsequent coded frames).  Regardless, B-frames are still politically 
  383. controversial.
  384.  
  385. B pictures are interpolative in two ways: 1. predictions in the bi-
  386. directional macroblocks are an average from block areas of two pictures 2. B 
  387. pictures fill in or interpolate the 3-D video signal over a 33 or 25 
  388. millisecond picture period without contributing to the overall signal quality 
  389. beyond that immediate point in time.  In other words, a B pictures, 
  390. regardless of its internal make-up of macroblock types, has a life limited to 
  391. its immediate self.  As mentioned before, its energy does not propagate into 
  392. other frames.  In a sense, bits spent on B pictures are wasted.
  393.  
  394.  
  395. 20. Why do some people hate B-frames?
  396.  
  397. A. Computational complexity, bandwidth, delay, and picture buffer size are 
  398. the four B-frame Pet Peeves. Computational complexity in the decoder is 
  399. increased since a some macroblock modes require averaging between two 
  400. macroblocks.
  401.  
  402. Worst case, memory bandwidth is increased an extra 15.2 MByte/s (4:2:0 601 
  403. rates, not including any half pel or page-mode overhead) for this extra 
  404. prediction. An extra picture buffer is needed to store the future prediction 
  405. reference (bi-directionality).  Finally, extra delay is introduced in 
  406. encoding since the frame used for backwards prediction needs to be 
  407. transmitted to the decoder before the intermediate B-pictures can be decoded 
  408. and displayed.
  409.  
  410. Cable television (e.g. -- more like i.e.-- General Instruments) have been 
  411. particularly adverse to B-frames since, for CCIR 601 rate video,  the extra 
  412. picture buffer pushes the decoder DRAM memory requirements past the magic 8-
  413. Mbit (1 Mbyte) threshold into the evil realm of 16 Mbits (2 Mbyte).... 
  414. although 8-Mbits is fine for 352 x 480 B picture sequence. However, cable 
  415. often forgets that DRAM does not come in convenient high-volume (low cost) 8-
  416. Mbit packages as does the friendly  4-Mbit and 16-Mbit.  In a few years, the 
  417. cost difference between 16 Mbit and 8 Mbit will become insignificant compared 
  418. to the bandwidth savings gain through higher compression.  For the time 
  419. being, some cable boxes will start with 8-Mbit and allow future drop-in 
  420. upgrades to the full 16-Mbit.
  421.  
  422. 21. Why was the 16x16 area chosen?
  423.  
  424. A.  The 16x16 area corresponds to the Least Common Multiple (LCM) of 8x8 
  425. blocks, given the normative 4:2:0 chroma ratio. Starting with medium 
  426. size images, the 16x16 area provides a good balance between side 
  427. information overhead & complexity and motion compensated prediction 
  428. accuracy.  In gist, 16x16 seemed like a good trade-off.
  429.  
  430. 22. Why was the 8x8 DCT size chosen?
  431. A. Experiments showed little improvements with larger sizes vs. the 
  432. increased complexity. A fast DCT algorithm will require roughly double 
  433. the arithmetic operations per sample when the transform point size is 
  434. doubled. Naturally, the best compaction efficiency has been demonstrated 
  435. using 
  436. locally adaptive block sizes (e.g. 16x16, 16x8, 8x8, 8x4, and 4x4) [See 
  437. Baker and Sullivan]. Naturally, this introduces additional side information 
  438. overhead and forces the decoder to implement programmable or hardwired 
  439. recursive DCT algorithms. If the DCT size becomes too large, then more edges 
  440. (local discontinuities) and the like become absorbed into the transform 
  441. block, resulting in wider propagation of Gibbs (ringing) and other phenomena. 
  442. Finally, with larger transform sizes, the DC term is even more critically 
  443. sensitive to quantization noise.
  444.  
  445. 23. What is motion compensated prediction, and why is it a pain?
  446.  
  447. A. MCP in the decoder can be thought of as having four stages:
  448.  
  449. 1. Motion vector computation
  450. 2. Prediction retrieval
  451.     various predictions are 16x16, 16x8, 8x4, 8x8 plus any half-pel 
  452. overhead (e.g. 17x16, 17x17, etc).
  453. 3. Filtering
  454.     3.1 Forming half-pel predictions through bi-linear interpolation.
  455.     3.2 Averaging two predictions together (B macroblocks, Dual Prime)
  456. 4. Combination and ordering
  457.     4.1 combining 1 or 2 predictions from stage three into upper and 
  458.     lower halves (16 x 8, field in frame)
  459.     4.2 interleaving or grouping together odd and even lines in frame 
  460.     picture predictions.
  461.  
  462. The final, combined prediction is always a 16x16 block of luminance and 
  463. 8x8 block of chrominance, just like we experience in MPEG-1.
  464.  
  465. A single motion vector can be associated with each source, hence a macroblock 
  466. can have as many as 4 motion vectors.
  467.  
  468. 24. What are the various prediction modes in MPEG-2?
  469.  
  470. 24.1 Frame:
  471. Predictions are formed from a 16 x 16 pixel area in a previously 
  472. reconstructed frame. Identical to MPEG-1. There can be only one source in 
  473. forward or backward predicted macroblocks, and two sources in bi-directional 
  474. macroblocks.  The prediction frame itself may have been coded as either a 
  475. frame or two fields, however once a frame is reconstructed, it is simply a 
  476. frame as far as future predictions are concerned.
  477.  
  478. 24.2 Field predictions in frame-coded pictures:
  479.  
  480. Separate predictions are formed for the top (8 lines from field 1)and bottom 
  481. (8 lines from field 2) portions of the macroblock.  A total of two motion 
  482. vectors in forward or backward predictions, four in bi-directional.
  483.  
  484. 24.3 Field predictions in field-coded pictures:
  485.  
  486. Predictions are formed from the two most recently decoded fields.  Prediction 
  487. sizes are 16x16, however the 16 lines have a corresponding projection onto a 
  488. 16x32 pixel area of a frame. One motion vector for forward or backward 
  489. predictions, and two for bi-directional.
  490.  
  491. 24.4 16x8 predictions in field-coded pictures:
  492.  
  493. Like field macroblocks in frame-coded pictures, the upper and lower 8 lines 
  494. in this macroblock mode can have different predictions (hence two motion 
  495. vectors).  This mode compensates for the reduced temporal prediction 
  496. precision of field picture macroblocks (a result of the fact that fields 
  497. inherently possess half the number of lines that frames do).  The field 
  498. prediction area projected onto a frame is restored to 16 lines.  2 motion 
  499. vectors for backwards or forwards, 4 for bi-directional.
  500.  
  501. 24.5 Dual Prime prediction in frame and field-coded pictures
  502.  
  503. Predictions for the current macroblock are formed from the average of two 16 
  504. x 8 line areas from the two most recently decoded fields. Dual Prime was 
  505. devised as an alternative for B pictures in low delay applications, but still 
  506. offers many of the signal 
  507. quality benefits of B-pictures. Dual Prime requires one less prediction 
  508. picture buffer, but still retains the same instantaneous prediction bandwidth 
  509. of a B picture system. As an alternative to coding separate motion vectors 
  510. for each of the upper and lower 16x8 areas, a full motion vector is sent for 
  511. the first area, and a +1, 0, or -1 differential vector (variable length 
  512. coded) is specified for the second prediction area.  A macroblock will have 
  513. total of two full motion vectors and two differential vectors in frame-coded 
  514. pictures.  Due to the prediction bandwidth overhead, Main Profile restricts 
  515. the use of Dual Prime prediction to P picture sequences  only.  High Profile 
  516. permits use of Dual Prime in B pictures.
  517.  
  518. 24.6 Field and frame organized macroblocks:
  519.  
  520. Originally intended as a cheaper means of achieving field-decorrelation in 
  521. frame-coded pictures without the fussy overhead of separate field prediction 
  522. estimates, the dct coefficients (quantized prediction error for a given 
  523. macroblock) may be organized into either a field or frame pattern. 
  524. Essentially this means that the prediction error for the combined 16x16 
  525. macroblock may be grouped into field or frame blocks. A bit in the macroblock 
  526. header (dct_type) indicates whether the upper and lower portions of the 
  527. macroblock are to be interleaved (frame organized) or remain separated (field 
  528. organized).
  529.  
  530. 25. How do you tell a MPEG-1 bitstream from a MPEG-2 bitstream?
  531.  
  532. A. All MPEG-2 bitstreams must contain specific extension headers that
  533. *immediately* follow MPEG-1 headers.  At the highest layer, for example, 
  534. the MPEG-1 style sequence_header() is followed by sequence_extension() 
  535. exclusive to MPEG-2. Some extension headers are specific to MPEG-2 profiles. 
  536. For example, sequence_scalable_extension() is not allowed in Main Profile 
  537. bitstreams. 
  538.  
  539. A simple program need only scan the coded bitstream for byte-aligned start 
  540. codes to determine whether the stream is MPEG-1 or MPEG-2.
  541.  
  542.  
  543. 26. What is the reasoning behind MPEG syntax symbols?
  544.  
  545. A. Here are some of the Whys and Wherefores of MPEG symbols: 
  546.  
  547. Start codes
  548. These 32-bit byte-aligned codes provide a mechanism for cheaply 
  549. searching coded bitstreams for commencement of various layers of video 
  550. without having to actually parse variable-length codes or perform any 
  551. decoder arithmetic.  Start codes also provide a mechanism for 
  552. resynchronization in the presence of bit errors.
  553.  
  554. Coded block pattern (CBP --not to be confused with Constrained 
  555. Parameters!)  When the frame prediction is particularly good, the 
  556. displaced frame difference (DFD, or prediction error) tends to be small, 
  557. often with entire block energy being reduced to zero after quantization.  
  558. This usually happens only at low bit rates.  Coded block patterns 
  559. prevent the need for transmitting EOB symbols in those zero coded 
  560. blocks.
  561.   
  562. DCT_coefficient_first
  563. Each intra coded block has a DC coefficient.  With coded block patterns 
  564. signaling all possible combinations of all-zero valued blocks, the 
  565. dct_coef_first mechanism assigns a different meaning to the VLC codeword 
  566. that would otherwise represent EOB as the first coefficient.
  567.  
  568.  
  569. End of Block: 
  570. Saves unnecessary run-length codes.  At optimal bitrates, there tends to 
  571. be few AC coefficients concentrated in the early stages of the zig-zag 
  572. vector. In MPEG-1, the 2-bit length of EOB implies that there is an 
  573. average of only 3 or 4 non-zero AC coefficients per block.  In MPEG-2 
  574. Intra (I) pictures, with a 4-bit EOB code, this number is between 9 and 
  575. 16 coefficients. Since EOB is required for all coded blocks, its absence 
  576. can signal that a syntax error has occurred in the bitstream.
  577.  
  578.  
  579. Macroblock stuffing
  580. A genuine pain for VLSI implementations, macroblock stuffing was 
  581. introduced   to maintain smoother, constant bitrate control in MPEG-1. 
  582. However, with normalized complexity measures and buffer management 
  583. performed a priori (pre-frame, pre-slice, and pre-macroblock) in the 
  584. MPEG-2 encoder test model, the need for such localized smoothing 
  585. evaporated. Stuffing can be achieved through virtually unlimited slice 
  586. start code padding if required. A good rule of thumb: if you find 
  587. yourself often using stuffing more than once per slice, you probably 
  588. don't have a very good rate control algorithm.  Anyway, macroblock 
  589. stuffing is now illegal in MPEG-2, so don t start using it if you 
  590. already haven t.
  591.  
  592.  
  593. MPEG's modified Huffman VLC tables
  594.   The VLC tables in MPEG are not Huffman tables in the true sense of 
  595. Huffman coding, but are more like the tables used in Group 3 fax. They 
  596. are entropy constrained, that is, non-downloadable and optimized for a 
  597. limited range of bit rates (sweet spots).  With the exception of a few 
  598. codewords, the larger tables were carried over from the H.261 standard 
  599. of 1990.  MPEG-2 added an "Intra table".  Note that the dct_coefficient 
  600. tables assume positive/negative coefficient pmf   symmetry.
  601.  
  602.  
  603. 27. Why bother to research compressed video when there is a standard?
  604. A. Despite the worldwide standard, many areas remain open for research:  
  605. advanced encoding and pre-processing, motion estimation, macroblock 
  606. decision models, rate control and buffer management in editing 
  607. environments, etc. There's practically no end to it.
  608.  
  609. 28. Where can I get a copy of the latest MPEG-2 draft?
  610.  
  611. A. Contact your national standards body (e.g. ANSI Sales in NYC for the 
  612. U.S., British Standards Institute in the UK, etc.).  A number of private 
  613. organizations offer ISO documents.
  614.  
  615. 29. What are the latest working drafts of MPEG-2 ?
  616. A. MPEG-2 has reached voting document of the Draft International Standard for 
  617. :
  618.  
  619.     Information Technology -- Generic Coding of Moving Pictures and 
  620. Associated Audio. Recommendation H.262, ISO/IEC Draft International Standard 
  621. 13818-2.  [produced March 25, 1994, not yet approved by voting process].
  622.  
  623. Audio is Part 1, Video Part 2, and Systems is Part 3.  A committee draft for 
  624. Conformance (Part 4) is expected in Novemeber 1994, as well as the Technical 
  625. Report on Software Simulation (Part 5).
  626.  
  627. 30. What is the latest version of the MPEG-1 documents?
  628.  
  629. A. Systems (ISO/IEC IS 11172-1), Video (ISO/IEC IS 11172-2), and Audio 
  630. (ISO/IEC IS 11172-3) have reached the final document stage.  Part 4, 
  631. Conformance Testing, is currently DIS
  632.  
  633.  
  634. 31. What is the evolution of ISO standard documents?
  635.  
  636. A. In chronological order:
  637.  
  638.    ISO/Committee notation                          Author's notation
  639.    ---------------------------------------     -------------------------
  640.    Problem (unofficial first stage)            Barroom Witticism
  641.    New work Item (NI)                          Napkin Item
  642.    New Proposal (NP)                           Need Permission
  643.    Working Draft (WD)                          We're Drunk
  644.    Committee Draft (CD)                        Calendar Deadlock
  645.    Draft International Standard (DIS)          Doesn't Include Substance
  646.    International Standard (IS)                 Induced patent Statements
  647.  
  648. 32. Where is a good introductory paper to MPEG?
  649.  
  650. A. Didier Le Gall, "MPEG: A Video Compression Standard for Multimedia 
  651. Applications," Communications of the ACM, April 1991, Vol.34, No.4, pp. 47-58
  652.  
  653. 33. What are some journals on related MPEG topics ?
  654. A. 
  655.  
  656. IEEE Transactions on Consumer Electronics
  657. IEEE Transactions on Broadcasting
  658. IEEE Transactions on Circuits and Systems for Video Technology
  659. Advanced Electronic Imaging
  660. Electronic Engineering Times (EE Times -- more tabloid coverage.  Unfortunate 
  661. columns by  Richard Doherty)
  662. IEEE Int'l Conference on Acoustics, Speech, and Signal Processing 
  663. (ICASSP)
  664. International Broadcasting Convention (IBC)
  665. Society of Motion Pictures and Television Engineers (SMPTE)
  666. SPIE conference on Visual Communications and Image Processing
  667. SPIE conference on Video Compression for Personal Computers
  668. IEEE Multimedia [first edition Spring 1994]
  669.  
  670.  
  671. 34. Is there a book on MPEG video?
  672.  
  673. A. Yes, there will be a book published sometime in 1994 by the same authors 
  674. who brought you the JPEG book (Bill Pennebaker, Joan Mitchell). Didier Le 
  675. Gall will be an additional co-author, and will insure digressions into, e.g. 
  676. arithmetic coding aspects, be kept to a minimum :-)
  677.  
  678. 35. Is it MPEG-2 (Arabic numbers) or MPEG-II (roman)?
  679.  
  680. A. Committee insiders most often use the Arabic notation with the hyphen, 
  681. e.g. MPEG-2.  Only the most retentive use the official designation: Phase 2.   
  682. In fact, M.P.E.G. itself is a nickname.  The official title is: ISO/IEC JTC1 
  683. SC29 WG11.  The militaristic lingo has  so far managed to keep the enemy 
  684. (DVI) confused and out of the picture.
  685.  
  686.    ISO:  International Organization for Standardization
  687.    IEC:  International Electrotechnical Commission
  688.    JTC1: Joint Technical Committee 1
  689.    SC29: Sub-committee 29
  690.    WG11: Work Group 11  (moving pictures with... uh, audio)
  691.  
  692. 36. What happened to MPEG-3?
  693.  
  694. A. MPEG-3 was to have targeted HDTV applications with sampling dimensions up 
  695. to 1920 x 1080 x 30 Hz and coded bitrates between 20 and 40 Mbit/sec. It was 
  696. later discovered that with some (compatible) fine  tuning, MPEG-2 and MPEG-1 
  697. syntax worked very well for HDTV rate video. The key is to maintain an 
  698. optimal balance between sample rate and coded bit rate.
  699.  
  700. Also, the standardization window for HDTV was rapidly closing.  Europe and 
  701. the United States were on the brink of committing to analog-digital 
  702. subnyquist hybrid algorithms (D-MAC, MUSE, et al).   European all-digital 
  703. projects such as HD-DIVINE and VADIS demonstrated better picture quality with 
  704. respect to bandwidth using the MPEG syntax.  In the United States, the 
  705. Sarnoff/NBC/Philips/Thomson HDTV consortium had used MPEG-1 syntax from the 
  706. beginning of its all-digital proposal, and with the exception of  motion 
  707. artifacts (due to limited search range in the encoder), was deemed to have 
  708. the best picture quality of all three digital proponents. HDTV is now part of 
  709. the MPEG-2 High-1440 Level and High Level toolkit.
  710.  
  711. 37. What is MPEG-4?
  712. A. MPEG-4 targets the Very Low Bitrate applications defined loosely as 
  713. having sampling dimensions up to 176 x 144 x 10 Hz and coded bit rates 
  714. between 4800 and 64,000 bits/sec.   This new standard would be used, for 
  715. example, in low bit rate videophones over analog telephone lines.
  716.  
  717. This effort is in the very early stages.  Morphology, fractals, model 
  718. based, and anal retentive block transform coding are all in the 
  719. offering. MPEG-4 is now in the application identification phase.
  720.  
  721. Scaleable modes of MPEG-2
  722.  
  723. 38. What are the scaleable modes of MPEG-2?
  724. A. Scaleable video is permitted only in the High Profiles. 
  725.  
  726. Currently, there are four scaleable modes in the MPEG-2 toolkit. These modes 
  727. break MPEG-2 video into different layers (base, middle, and high layers) 
  728. mostly for purposes of prioritizing video data.  For example, the high 
  729. priority channel (bitstream) can be coded with a combination of extra error 
  730. correction information and/or increased signal strength (i.e. higher Carrier-
  731. to-Noise ratio or lower Bit Error Rate) than the lower priority channel. For 
  732. example, in HDTV, the high priority bitstream (720 x 480) can be decoded 
  733. under noise conditions were the lower priority (1440 x 960) cannot. This is 
  734. part of the "graceful degradation concept.  Breaking a video signal into two 
  735. streams (base and enhancements) has a penalty, however.  Usually less than 
  736. 1.5 dB.
  737.  
  738. Another purpose of salability is complexity division. A standard TV set need 
  739. only decode the 720 x 480 channel, thus requiring a less expensive decoder 
  740. processor than a TV set wishing to display 1440 x 960. This is known as 
  741. simulcasting.
  742.  
  743. A brief summary of the MPEG-2 video scalability modes:
  744.  
  745. Spatial Scalablity-- Useful in simulcasting, and for feasible software 
  746. decoding of the lower resolution, base layer.  This spatial domain 
  747. method codes a base layer at lower sampling dimensions (i.e. 
  748. "resolution") than the upper layers.  The upsampled reconstructed lower 
  749. (base) layers are then used as prediction for the higher layers.  
  750.  
  751. Data Partitioning-- Similar to JPEG's frequency progressive mode, only 
  752. the slice layer indicates the maximum number of block transform 
  753. coefficients contained in the particular bitstream (known as the 
  754. "priority break point"). Data partitioning is a frequency domain method 
  755. that breaks the block of 64 quantized transform coefficients into two 
  756. bitstreams.  The first, higher priority bitstream contains the more 
  757. critical lower frequency coefficients and side informations (such as DC 
  758. values, motion vectors). The second, lower priority bitstream carries 
  759. higher frequency AC data.
  760.  
  761. SNR Scalability-- Similar to the point transform in JPEG, SNR 
  762. scalability is a spatial domain method where channels are coded at 
  763. identical sample rates, but with differing picture quality (achieved through 
  764. quantization step sizes). The higher priority bitstream contains base 
  765. layer data that can be added to a lower priority refinement layer to 
  766. construct a higher quality picture.
  767.  
  768. Temporal Scalability--- A temporal domain method useful in, e.g., 
  769. stereoscopic video.  The first, higher priority bitstreams codes video 
  770. at a lower frame rate, and the intermediate frames can be coded in a 
  771. second bitstream using the first bitstream reconstruction as prediction. 
  772. In stereoscopic vision, for example, the left video channel can be 
  773. prediction from the right channel.
  774.  
  775. Other scalability modes were experimented with in MPEG-2 video (such as   
  776. Frequency Scalability), but were eventually dropped in favor of methods 
  777. that demonstrated comparable or better picture quality with greater 
  778. simplicity.
  779.  
  780.  
  781. 39. Why MPEG-2?  Wasn't MPEG-1 enough?
  782.  
  783. A. MPEG-1 was optimized for CD-ROM or applications at about 1.5 
  784. Mbit/sec. Video was strictly non-interlaced (i.e. progressive).  The 
  785. international cooperation executed well enough for MPEG-1, that the committee 
  786. began to  address applications at broadcast TV sample rates using the 
  787. CCIR 601 recommendation (720 samples/line by 480 lines per frame by 30 
  788. frames per second or about 15.2 million samples/sec including chroma) as 
  789. the reference.
  790.  
  791. Unfortunately, today's TV scanning pattern is interlaced.  This 
  792. introduces a duality in block coding:  do local redundancy areas (blocks) 
  793. exist exclusively in a field or a frame.(or a particle or wave) ?  The 
  794. answer of course is that some blocks are one or the other at different 
  795. times, depending on motion activity. The additional man years of 
  796. experimentation and implementation between MPEG-1 and MPEG-2 improved 
  797. the method of block-based transform coding.
  798.  
  799.  
  800. 40. What did MPEG-2 add to MPEG-1 in terms of syntax/algorithms ?
  801. A. Here is a brief summary:
  802.  
  803. Sequence layer:
  804. More aspect ratios.  A minor, yet necessary part of the syntax.
  805.  
  806. Horizontal and vertical dimensions are now required to be a multiple of 
  807. 16 in frame coded pictures, and the vertical dimension must be a 
  808. multiple of 32 in field coded pictures.
  809.  
  810. 4:2:2 and 4:4:4 macroblocks were added in the Next profiles.
  811.  
  812. Syntax can now signal frame sizes as large as 16383 x 16383.
  813.  
  814. Syntax signals source video type (NTSC, PAL, SECAM, MAC, component) to 
  815. help post-processing and display.
  816.  
  817. Source video color primaries (609, 170M, 240M, D65, etc.) and opto-
  818. electronic transfer characteristics (709, 624-4M, 170M etc.) can be 
  819. indicated.
  820.  
  821. Four scaleable modes [see scalability discussion] 
  822.  
  823. Picture layer:
  824. All MPEG-2 motion vectors are specified to a half-pel sample grid.
  825.  
  826. DC precision can be user-selected as 8, 9, 10, or 11 bits.
  827.  
  828. New scalar quantization matrices may be downloaded once per picture.  In High 
  829. profile, separate chrominance matrices now exist (Y and C no longer have to 
  830. share)
  831.  
  832. Concealment motion vectors were added to I-pictures in order to increase 
  833. robustness from bit errors. I pictures are the most critical and sensitive 
  834. picture in a group of pictures.
  835.  
  836. A non-linear macroblock quantization factor providing a wider dynamic 
  837. range, from 0.5 to  56, than the linear MPEG-1 (1 to 32) range. Both are 
  838. sent as a 5-bit FLC side information in the macroblock and slice 
  839. headers.
  840.  
  841. New Intra-VLC table for dct_coefficient_next (AC run-level events) that 
  842. is a better match for the histogram of Intra-coded pictures. EOB is 4 
  843. bits. The old table, dct_coef_next, are reserved for use in non-intra 
  844. pictures (P, B), although they new table can be used for Intra-coded 
  845. macroblocks in P and B pictures as well.
  846.  
  847. Alternate scanning pattern that (supposedly) improves entropy coding 
  848. performance over the original Zig-Zag scan used in H.261, JPEG, and MPEG-1.  
  849. The extra scanning pattern is geared towards interlaced video.
  850.  
  851. Syntax to signal an irregular 3:2 pulldown process (repeat_field_first flag)
  852.  
  853. Progressive and interlaced frame coding
  854.  
  855. Syntax to indicate source composite video characteristics useful in post-
  856. processing operations. (v-axis, field sequence, sub_carrier, phase, 
  857. burst_amplitude, etc.)
  858.  
  859. Pan & scanning syntax that tells decoder how to, for example, window a 
  860. 4:3 image within a wider 16:9 aspect ratio coded image.  Vertical pan 
  861. offset has 1/16th pixel accuracy.
  862.  
  863. Macroblock layer:
  864. Macroblock stuffing is now illegal in MPEG-2 (hurray!!). If stuffing is 
  865. really needed, the encoder can pad slice start codes.
  866.  
  867. Two organizations for macroblock coefficients (interlaced and progressive) 
  868. signaled by dct_type flag.
  869.  
  870. Now only one run-level escape code code (24-bits) instead of the single (20-
  871. bits) and double escape (28-bits) in MPEG-1.
  872.  
  873. Improved mismatch control in quantization over the original oddification  
  874. method in MPEG-1.  Now specifies adding or subtracting one to the 63rd 
  875. AC coefficient depending on parity of the summed coefficients. MPEG-2 
  876. mismatch control is performed on the transform coefficients, whereas in MPEG-
  877. 1, it is applied to the quantized transform coefficients.
  878.  
  879. Many additional prediction modes (16x8 MC, field MC, Dual Prime) and, 
  880. correspondingly, macroblock modes.
  881.  
  882. Overall, MPEG-2's greatest compression improvements over MPEG-1 are: 
  883. prediction modes, Intra VLC table, DC precision, non-linear macroblock 
  884. quantization.  Implementation improvements: macroblock stuffing was 
  885. eliminated.
  886.  
  887. 41. How do MPEG and JPEG differ?
  888.  
  889. A. The most fundamental difference is MPEG's use of block-based motion 
  890. compensated prediction (MCP)---a method falling into the general category of 
  891. temporal DPCM.
  892.  
  893. The second most fundamental difference is in the target application. 
  894. JPEG adopts a general purpose philosophy: independence from color space 
  895. (up to 255 components per frame) and quantization tables for each 
  896. component. Extended modes in JPEG include two sample precision (8 and 
  897. 12 bit sample accuracy), combinations of frequency progressive, spatial 
  898. hierarchically progressive, and amplitude (point transform) progressive 
  899. scanning modes. Further color independence is made possible thanks to 
  900. downloadable Huffman tables (up to one for each component.)
  901.  
  902. Since MPEG is targeted for a set of specific applications, there is only 
  903. one color space (4:2:0 YCbCr), one sample precision (8 bits), and one 
  904. scanning mode (sequential). Luminance and chrominance share quantization 
  905. and VLC tables. MPEG adds adaptive quantization at the macroblock (16 x 
  906. 16 pixel area) layer.  This permits both smoother bit rate control and 
  907. more perceptually uniform quantization throughout the picture and image 
  908. sequence. However, adaptive quantization is part of the Enhanced JPEG 
  909. charter (ISO/IEC 10918-3) currently in verification stage. MPEG variable 
  910. length coding tables are non-downloadable, and are therefore optimized 
  911. for a limited range of compression ratios appropriate for the target 
  912. applications.
  913.  
  914. The local spatial decorrelation methods in MPEG and JPEG are very 
  915. similar. Picture data is block transform coded with the two-dimensional 
  916. orthanormal 8x8 DCT, with asymmetric basis vectors about time (aka DCT-
  917. II). The resulting 63 AC transform coefficients are mapped in a zig-zag 
  918. pattern (or alternative scan pattern in MPEG-2) to statistically 
  919. increase the runs of zeros. Coefficients of the vector are then 
  920. uniformly scalar quantized, run-length coded, and finally the run-length 
  921. symbols are variable length coded using a canonical (JPEG) or modified 
  922. Huffman (MPEG) scheme.  Global frame redundancy is reduced by 1-D DPCM 
  923. of the block DC coefficients, followed by quantization and variable 
  924. length entropy coding of the quantized DC coefficient.
  925.  
  926.         MCP                   DCT                    ZZ               
  927. Q
  928.   Frame -> 8x8 spatial block -> 8x8 frequency block -> Zig-zag scan -> 
  929.             
  930.             RLC                  VLC
  931.        quanitzation -> run-length coding -> variable length coding.
  932.  
  933. The similarities have made it possible for the development of hard-wired 
  934. silicon that can code both standards.  Even some highly microcoded 
  935. architectures employing hardwired instruction primitives or functional 
  936. blocks benefit from JPEG/MPEG similarities. There are many additional 
  937. yet minor differences. They include:
  938.  
  939.     1. In addition to the 8-bit mode, DCT and quantization precision 
  940. in MPEG has a 9-bit and 12-bit mode, respectively, exclusively in non-
  941. intra coded macroblocks.  A 1-bit expansion takes place in the 
  942. macroblock difference operation.
  943.  
  944.     2. Mismatch control in MPEG-1 forces quantized coefficients to 
  945. become odd values (oddification). JPEG does not employ any mismatch 
  946. mechanism.
  947.  
  948.     3. JPEG run-length coding produces run-size tokens (run of zeros,
  949. non-zero coefficient magnitude) whereas MPEG produces fully concatenated 
  950. run-level tokens that do not require magnitude differential bits.
  951.  
  952.     4. DC values in MPEG-1 are limited to 8-bit precision (a constant 
  953. stepsize of 8), whereas JPEG DC precision can occupy all possible 11-
  954. bits.  MPEG-2, however, re-introduced extra DC precision critical even 
  955. at high compression ratios.
  956.  
  957.  
  958. Difference between MPEG and H.261
  959.  
  960. 42. How do MPEG and H.261 differ?
  961.  
  962. A. H.261, also known as Px64, was targeted for teleconferencing 
  963. applications where motion is naturally more limited. Motion vectors are 
  964. restricted to a range of +/- 15 pixel unit displacements. Prediction 
  965. accuracy is reduced since H.261 motion vectors are specified to only 
  966. integer-pel accuracy.  Other quality syntactic differences include: no 
  967. B-pictures, inferior mismatch control.
  968.  
  969. 43. Is H.261 the de facto teleconferencing standard?
  970.  
  971. A. Not exactly.  To date, about seventy percent of the industrial 
  972. teleconferencing hardware market is controlled by PictureTel of Mass. 
  973. The second largest market controller is Compression Labs of Silicon 
  974. Valley.  PictureTel hardware includes compatibility with H.261 as a 
  975. lowest common denominator, but when in communication with other 
  976. PictureTel hardware, it can switch to a mode superior at low bit rates 
  977. (less than 300kbits/sec). In fact, over 2/3 of all teleconferencing is 
  978. done at two-times switched 56 channel (~P = 2) bandwidth.  ISDN is still 
  979. expensive. In each direction, video and audio are coded at an aggregate 
  980. rate of 112 kbits/sec (2*56 kbits/sec). The PictureTel proprietary 
  981. compression algorithm is acknowledged to be a combination of spatial 
  982. pyramid, lattice vector quantizer, and an unidentified entropy coding 
  983. method.  Motion compensation is considerably more refined and 
  984. sophisticated than the 16x16 integer-pel block method specified in 
  985. H.261.
  986.  
  987. The Compression Labs proprietary algorithm also offers significant 
  988. improvement over H.261 when linked to other CLI hardware. Local 
  989. decorrelation is based on a DCT-VQ hybrid.
  990.  
  991. Currently, ITU-TS (International Telecommunications Union--
  992. teleconferencing Sector), formerly CCITT, is quietly defining an 
  993. improvement to H.261 with the participation of industry vendors.
  994.  
  995.  
  996. Rate control
  997.  
  998. 44. What is the TM rate control and adaptive quantization technique ?
  999.  
  1000. A. The Test model (MPEG-2) and Simulation Model (MPEG-1) were not, by 
  1001. any stretch of the imagination, meant to epitomize state-of-the art 
  1002. encoding quality.  They were, however, designed to exercise the syntax, 
  1003. verify proposals, and test the *relative* compression performance of 
  1004. proposals in a timely manner that could be duplicated by co-
  1005. experimenters.  Without simplicity, there would have been no doubt 
  1006. endless debates over model interpretation.  Regardless of all else, more 
  1007. advanced techniques would probably trespass into proprietary territory.
  1008.  
  1009. The final test model for MPEG-2 is TM version 5b, aka TM version 6. The 
  1010. final MPEG-1 simulation model is version 3. The MPEG-2 TM rate control 
  1011. method offers a dramatic improvement over the SM method.  TM adds more 
  1012. accurate estimation of macroblock complexity through use of limited  a 
  1013. priori information. Macroblock quantization adjustments are computed on 
  1014. a macroblock basis, instead of once-per-slice.
  1015.  
  1016. 45. How does the TM work?
  1017. A. Rate control and adaptive quantization are divided into three steps:
  1018.  
  1019. Step One:Bit Allocation 
  1020.  
  1021.     In Complexity Estimation, the global complexity measures assign 
  1022. relative weights to each picture type (I,P,B).  These weights (Xi, Xp, 
  1023. Xb) are reflected by the typical coded frame size of I, P, and B 
  1024. pictures (see typical frame size discussion). I pictures are usually  
  1025. assigned the largest weight since they have the greatest stability 
  1026. factor in an image sequence.  B pictures are assigned the smallest 
  1027. weight since B energy do not propagate into other pictures and are usually 
  1028. highly correlated with neighboring P and I pictures. 
  1029.  
  1030. The bit target for a frame is based on  the frame type, the remaining number 
  1031. of bits left in the Group of Pictures (GOP) allocation, and the immediate 
  1032. statistical history of previously coded pictures.
  1033.  
  1034. Step Two:       Rate Control
  1035.  
  1036. Rate control attempts to adjust bit allocation if there is significant 
  1037. difference between the target bits (anticipated bits) and actual coded 
  1038. bits for a block of data.  If the virtual buffer begins to overflow, the 
  1039. macroblock quantization step size is increased, resulting in a smaller 
  1040. yield of coded bits in subsequent macroblocks. Likewise, if underflow 
  1041. begins, the step size is decreased.   The Test Model approximates that the 
  1042. target 
  1043. picture has spatially uniform distribution of bits.  This is a safe 
  1044. approximation since spatial activity and perceived quantization noise 
  1045. are almost inversely proportional.  Of course, the user is free to 
  1046. design a custom distribution,  perhaps targeting more bits in areas that 
  1047. contain text, for example.
  1048.  
  1049.  
  1050. Step Three:     Adaptive Quantization
  1051.  
  1052. The final step modulates the macroblock quantization step size obtained in 
  1053. Step 2 by a local activity measure. The activity measure itself is normalized 
  1054. against the most recently coded picture of the same type (I, P, or B). The 
  1055. activity for a macroblock is chosen as the minimum among the four 8x8 block 
  1056. luminance variances.  Choosing the minimum block is part of the concept that 
  1057. a macroblock is no better than the block of highest visible distortion 
  1058. (weakest link in the chain).
  1059.  
  1060. 46. What is a good motion estimation method, then? 
  1061.  
  1062. A. When shopping for motion vectors, the three basic characteristics 
  1063. are: Search range, search pattern, and matching criteria.  Search 
  1064. pattern has the greatest impact on finding the best vector. Hierarchical 
  1065. search patterns first find the best match between downsampled images of 
  1066. the reference and target pictures and then refine the vector through 
  1067. progressively higher resolutions. When compared to other fast methods, 
  1068. hierarchical patterns are less likely to be confused by extremely local 
  1069. distortion minimums as being a best match. Also note that subsampled search 
  1070. and hierarchical search are not synonymous.
  1071.  
  1072. Q.  Is there a limit to the length of motion vectors? 
  1073.  
  1074. The search area is unlimited, but the reconstructed motion vectors must 
  1075. not:
  1076.  
  1077. a. point beyond the picture boundaries   (1 <= MV_x <= luminancewidth - 
  1078. 16) and (1 <= MV_y <= luminanceheight - 16). The - 16 is due to the 
  1079. fact that the motion vector origin is the upper left hand corner of a 
  1080. macroblock)
  1081.  
  1082. b. In Constrained Parameters MPEG-1, the motion vector is limited to a 
  1083. range of [-64,+63.5] luminance samples with half-pel accuracy, and [-
  1084. 128,+127.5] with integer pel accuracy.  Break the constrained parameters 
  1085. rules and your video sequence will not likely display on many hardware 
  1086. devices.
  1087.  
  1088. c.  In MPEG-2 Video Main Profile at Main Level, the motion vectors are 
  1089. always on a half-pel co-ordinate grid, and the vertical range is 
  1090. restricted to [-64, +63.5], and the horizontal limit is [-256,+255.5].
  1091.  
  1092. d. in MPEG-1, the syntactic limit of the motion vector is [-1024,+1023] 
  1093. integer pel, horizontal and vertical.
  1094.  
  1095. e. in MPEG-2, the syntactic limit of the motion vector is [-2048,+2047.5] 
  1096. horizontal, [-1024,+1023.5] vertical.
  1097.  
  1098.  
  1099. 47. Is exhaustive search "optimal" ?
  1100.  
  1101. A. Definitely not in the context of block-based MCP video.   Since one 
  1102. motion vector represents the prediction of 256 pixels, divergent pixels 
  1103. within  the macroblock are misrepresented by the "global" vector.  This 
  1104. leads  back to the general philosophy of block-based coding as an 
  1105. approximation technique. In their ICASSP'93 paper, Sullivan discusses ways in 
  1106. which block-based prediction schemes can solve part of this problem.
  1107.  
  1108. Exhaustive search may find blocks with the least distortion (displaced frame 
  1109. difference) but will not produce motion vectors with the lowest entropy.
  1110.  
  1111. 48. What are some advanced encoding methods?
  1112.  
  1113. Quantizer feedback: determine the dependent quantization stepsize by 
  1114. modeling quantization error propagating over multiple pictures. [Uz/et 
  1115. al ICASSP 93, Ortega/Vetterli/et al ICASSP 93]
  1116.  
  1117. Smoothness constraint placed on local activity  measures. immediate blocks 
  1118. outside target macroblock are considered when selecting macroblock 
  1119. quantization stepsize .[Thomson/Savitier patent]
  1120.  
  1121. Horizontal variance: measure variance between columns of pixels in addition 
  1122. to the traditional measure of variance along rows (lines) when making 
  1123. field/frame macroblock prediction decision.
  1124.  
  1125. DFD energy: examine DFD energy/variance when making Intra/Non-intra 
  1126. macroblock decision. 
  1127.  
  1128. Activity measures:  use total bits from a first-pass encoding of a picture or 
  1129. macroblock as a measure of the activity.  Coded bits is a more accurate 
  1130. reflection of local complexity than variance. [Thomson/Savitier patent]
  1131.  
  1132. motion vector cost:  this is true for any syntax elements, really. Signaling 
  1133. a macroblock quantization factor or a large motion vector differential can 
  1134. cost more than making up the difference with extra quantized DFD (prediction 
  1135. error) bits.   The optimum can be found with, some Lagrangian operator.  In 
  1136. summary, any compression system with side information, there is a optimum 
  1137. point between signaling overhead (e.g. prediction) and prediction error. 
  1138.  
  1139. Liberal Interpretations of the Forward DCT:
  1140. Borrowing from the concept that the DCT is simply a filter bank, a 
  1141. technique that seems to be gaining popularity is basis vector shaping.  
  1142. Usually this is combined with the quantization stage since the two are 
  1143. tied closely together in a rate-distortion sense. The idea is to use  
  1144. the basis vector shaping as a cheap alternative to pre-filtering by 
  1145. combining the more desirable data adaptive properties of pre-filtering/ 
  1146. pre-processing into the transformation process... yet still reconstruct  
  1147. a picture in the decoder using the standard IDCT that looks reasonably   
  1148. like the source. Some more clever schemes will apply a form of windowing. 
  1149. [Warning: watch out for eigenimage/basis vector orthoganality. ]
  1150.  
  1151. Frequency-domain enhancements:
  1152. Enhancements are applied after the DCT (and possibly quantization)stage 
  1153. to the transform coefficients.  This borrows from the concept: if you 
  1154. don't like the (quantized) transformed results, simply reshape them into 
  1155. something you do like. Suppressing isolated small amplitudes is popular.
  1156.  
  1157. Temporal spreading of quantization error:
  1158. This method is similar to the original intent behind color subcarrier 
  1159. phase alternation by field in the NTSC, PAL, and SECAM analog TV 
  1160. standards: for stationary areas, noise does not hang" in one location, 
  1161. but dances about the image over time to give a more uniform effect.  
  1162. Distribution makes it more difficult for the eye to "catch on" to 
  1163. trouble spots (due to the latent temporal response curve of human 
  1164. vision). Simple encoder models tend to do this naturally but will not 
  1165. solve all situations.
  1166.  
  1167.  
  1168. Look-ahead and adaptive frame cycle structures: analyze picture activity 
  1169. several pictures into the future, looking for scene changes or motion 
  1170. statistics.
  1171.  
  1172. It is easy to spot encoders that do not employ any advanced encoding 
  1173. techniques:  reconstructed video usually contains ringing around edges, 
  1174. color bleeding, and lots of noise.
  1175.  
  1176. 49. Is so-and-so really MPEG compliant ? 
  1177.  
  1178. A. At the very least, there are two areas of conformance/compliance in 
  1179. MPEG:  1. Compliant bitstreams  2. compliant decoders.  Technically 
  1180. speaking, video bitstreams consisting entirely of I-frames (such as 
  1181. those generated by Xing software) are syntactically compliant with the 
  1182. MPEG specification.  The I-frame sequence is simply a subset of the full 
  1183. syntax.  Compliant bitstreams must obey the range limits (e.g. motion 
  1184. vectors limited to +/-128, frame sizes, frame rates, etc.)and syntax 
  1185. rules (e.g. all slices must commence and terminate with a non-skipped 
  1186. macroblock, no gaps between slices, etc.). 
  1187.  
  1188. Decoders, however, cannot escape true conformance. For example, a 
  1189. decoder that cannot decode P or B frames are *not* legal MPEG.  
  1190. Likewise, full arithmetic precision must be obeyed before any decoder 
  1191. can be called "MPEG compliant."   The IDCT, inverse quantizer, and 
  1192. motion compensated predictor must meet the specification requirements... 
  1193. which are fairly rigid (e.g. no more than 1 least significant bit of 
  1194. error between reference and test decoders). Real-time conformance is 
  1195. more complicated to measure than arithmetic precision, but it is 
  1196. reasonable to expect that decoders that skip frames on reasonable 
  1197. bitstreams are not likely to be considered compliant.
  1198.  
  1199. Artifacts
  1200.  
  1201. 50. What are the tell-tale MPEG artifacts?
  1202.  
  1203. A. If the encoder did its job properly, and the user specified a proper 
  1204. balance between sample rate and bitrate, there shouldn't be any visible 
  1205. artifacts.  However, in sub-optimal systems, you can look for:
  1206.  
  1207.     Gibbs phenomenon/Ringing/Aliasing (too few AC bits, not enough 
  1208. pre-processing)
  1209.  
  1210. Blockiness (not considering your neighbors before quantizing)
  1211.  
  1212. Posterization (too few DC bits)
  1213.  
  1214. Checkerboards (DCT eigenimages as a result of too few AC coefficients)
  1215. Colorbleeding (not considering color in encoder cost model, not 
  1216. subtracting color at edges of objects, etc.)
  1217.  
  1218. 51. Where are the weak points of MPEG video ?
  1219. A. 
  1220.     Texture patterns (rapidly alternating lines)
  1221.     sharp edges (especially text)
  1222.     [installment 3]
  1223.  
  1224.  
  1225. 52. What are some myths about MPEG?
  1226. A. There are a few major myths that I am aware of:
  1227.  
  1228. 1. Block displacements:  macroblock predictions are formed out of 
  1229. arbitrary 16x16 (or 16x8/16x16 in MPEG-2) areas from previously 
  1230. reconstructed pictures. Many people believe that the prediction 
  1231. macroblocks have  boundaries that fall on interchange boundaries (pixel 
  1232. 0, 15, 31, 53... line 0, 15, 31, 53... etc.).  In fact, motion vectors 
  1233. represent relative translations with respect to the target 
  1234. reconstruction macroblock coordinates. The motion vectors can point to 
  1235. half pixel coordinates, requiring that the prediction macroblock to be 
  1236. formed via bi-linear interpolation of pixels.
  1237.  
  1238.  
  1239. 2. Displaced frame (macroblock) difference construction: the prediction 
  1240. error formed as the difference between the prediction macroblock and 
  1241. source macroblock is coded much like an Intra macroblock.  The 
  1242. prediction may come from different locations (as in bi-directional 
  1243. prediction--or in MPEG-2--16x8, field-in-frame, and Dual Prime), but the 
  1244. DFD is always coded as a 16x16 unit.
  1245.  
  1246. 3. Compression ratios
  1247.  
  1248. You hear 200:1 and 100:1 in the media.  Utter rubbish.  The true range 
  1249. is between 16:1 and 40:1.  Spreading misinformation about compression 
  1250. ratios in public will catch the attention of the infamous MPEG Police.  
  1251. They say mild-mannered Michael Barnsley will snap, without warning, into 
  1252. violent rage if he doesn't get the upper bunk bed.
  1253.  
  1254. 4. Picture coding types all consist of the same macroblocks
  1255.  
  1256. Macroblocks within I pictures are strictly intra-coded.  Macroblocks 
  1257. within P pictures can be either predicted or intra-coded, and B pictures 
  1258. they can be bi-directional, forward, backward, or intra.  Additional 
  1259. macroblock modes switches include: predicted with no motion 
  1260. compensation, modified macroblock quantization, coding of prediction error or 
  1261. not.  The switches are concatenated into the macroblock_type side information 
  1262. and variable length coded in the macroblock header.
  1263.  
  1264. 53. What is the color space of MPEG?
  1265.  
  1266. MPEG strictly specifies the YCbCr color space, not YUV or YIQ or YPbPr 
  1267. or YDrDb or any other color difference variations.  Regardless of any 
  1268. bitstream parameters, MPEG-1 and MPEG-2 Video Main Profile specify 4:2:0 
  1269. chroma ratio, where the color difference channels (Cb, Cr) have half the 
  1270. resolution or sample grid density in both the horizontal and vertical 
  1271. direction 
  1272. with respect to luminance.
  1273.  
  1274. MPEG-2 High Profile includes an option for 4:2:2 and 4:4:4 coding. 
  1275. Applications 
  1276. for this are likely to be broadcasting and contribution equipment.
  1277.  
  1278. 54. Don't you mean 4:1:1 ?
  1279.  
  1280. A. No, here is a table of ratios:
  1281.  
  1282.  
  1283.     CCIR 601 (60 Hz) image          Chroma sub-sampling factors
  1284. format  Y               Cb, Cr  Vertical        Horizontal
  1285. -----           ---------       ----------      --------        ----------
  1286. 4:4:4           720 x 480       720 x 480       none            none
  1287. 4:2:2           720 x 480       360 x 480       none            2:1
  1288. 4:2:0           720 x 480       360 x 240       2:1             2:1
  1289. 4:1:1           720 x 480       720 x 120       none            4:1
  1290. 4:1:0           720 x 480       180 x 120       4:1             4:1
  1291.  
  1292. 3:2:2, 3:1:1, and 3:1:0 are less common variations.
  1293.  
  1294. 55. Why did MPEG choose 4:2:0 ? Isn't 4:2:2 the standard for TV?
  1295.  
  1296. A. At least three reasons I can think of:
  1297.  
  1298. 1. 4:2:0 picture memory requirements are 33% less than the  size of 4:2:2 
  1299. pictures. 
  1300. MPEG-1 decoder are able to snugly fit all 3 SIF pictures (1 reconstruction & 
  1301. display, 2 prediction) into 512 KBytes of buffer space.  CCIR 601 is a 
  1302. tighter fit into 2 Mbytes.
  1303.  
  1304. 2. The subjective difference between 4:2:0 and 4:2:2 is minimal, when 
  1305. considering consumer display equipment and distribution compression ratios.
  1306.  
  1307. 3. Vertical decimation increases compression efficiency by reducing syntax 
  1308. overhead posed in an 8 block (4:2:0) macroblock structure.
  1309.  
  1310. 4. You re compressing the hell out of the video signal, so what possible 
  1311. difference can the 0:0:2 high-pass make?
  1312.  
  1313. Interlacing and the 62 microsecond gap between successively scanned lines 
  1314. introduces some discontinuities, but most of this can be alleviated through 
  1315. pre-processing.
  1316.  
  1317. 56. What is the precision of MPEG samples?
  1318.  
  1319. A. By definition, MPEG samples have no more and no less than 8-bits uniform 
  1320. sample precision (256 quantization levels).  For luminance (which is 
  1321. unsigned) data, black corresponds to level 0, white is level 255. However, in 
  1322. CCIR recommendation 601 chromaticy, levels 0 through 14 and 236 through 255 
  1323. are reserved for blanking signal excursions. MPEG currently has no such 
  1324. clipped excursion restrictions, although decoder might take care to insure 
  1325. active samples do not exceed these limits.  With three color components per 
  1326. pixel, the total combination is roughly 16.8 million colors (i.e. 24-bits).
  1327.  
  1328. 57. What is all the fuss with cositing of chroma components?
  1329.  
  1330. A. It is moderately important to properly co-site chroma samples, 
  1331. otherwise a sort of chroma shifting effect (exhibited as a halo) may result 
  1332. when the reconstructed video is displayed.  In MPEG-1 video, the chroma 
  1333. samples are exactly centered between the 4 luminance samples (Fig 1.)   To 
  1334. maintain compatibility with the CCIR 601 horizontal chroma locations and 
  1335. simplify implementation (eliminate need for phase shift), MPEG-2 chroma 
  1336. samples are arranged as per Fig.2.
  1337.  
  1338.   Y   Y   Y   Y             Y   Y   Y   Y         YC  Y   YC  Y
  1339.     C       C               C       C                  
  1340.   Y   Y   X   Y             Y   Y   Y   Y         YC  Y   YC  Y
  1341.  
  1342.   Y   Y   Y   Y             Y   Y   Y   Y         YC  Y   YC  Y
  1343.     C       C               C       C    
  1344.   Y   Y   Y   Y             Y   Y   Y   Y         YC  Y   YC  Y
  1345.  
  1346.   Fig.1 MPEG-1               Fig.2  MPEG-2           Fig.3 MPEG-2 and 
  1347.  4:2:0 organization         4:2:0 organization         CCIR Rec. 601
  1348.                              4:2:2 organization
  1349.  
  1350. MPEG for the data compression expert
  1351.  
  1352. 58. How would you explain MPEG to the data compression expert?
  1353.  
  1354. A. MPEG video is a block-based video scheme.
  1355.  
  1356.  
  1357. 59. How does MPEG video really compare to TV, VHS, laserdisc ?
  1358. A. VHS picture quality can be achieved for source film video at about 1 
  1359. million bits per second (with proprietary encoding methods).  It is very 
  1360. difficult to objectively compare  MPEG to VHS.  The response curve of 
  1361. VHS places -3 dB at around 2 MHz of analog luminance bandwidth 
  1362. (equivalent to 200 samples/line). VHS chroma is considerably less dense 
  1363. in the horizontal direction than MPEG source video (compare 80 
  1364. samples/line to 176!).  From a sampling density perspective, VHS is 
  1365. superior only in the vertical direction (480 luminance lines compared to 
  1366. 240)... 
  1367. but when taking into account (supposedly such things as) interfield magnetic 
  1368. tape crosstalk and the TV monitor Kell factor, the perceptual vertical 
  1369. advantage is not all that significant.  VHS is prone to such inconveniences 
  1370. as timing errors (an annoyance addressed by time base correctors), whereas 
  1371. digital video is fully discretized. Pre-recorded VHS is typically recorded at 
  1372. very high duplication speeds (5 to 15 times real time playback speed), 
  1373. opening up additional avenues for artifacts.  In gist, MPEG-1 at its nominal 
  1374. parameters can match VHS's sexy low-pass-filtered look.
  1375.  
  1376. With careful coding schemes, broadcast NTSC quality can be approximated at 
  1377. about 3 Mbit/sec, and PAL quality at about 4 Mbit/sec.  Of course, sports 
  1378. sequences with complex spatial-temporal activity should be treated with bit 
  1379. rates more like 5 and 6 Mbit/sec, respectively. Laserdisc is a tough one to 
  1380. compare.  Laserdisc's are encoded with composite video (NTSC or PAL). 
  1381. Manufacturers of laser disc players make claims of  up to 425 TVL (or 567 
  1382. samples/line) response. Thus it could be said the laserdisc has a 567 x 480 x 
  1383. 30 Hz "potential resolution". The carrier-to-noise ratio is typically better 
  1384. than 48 dB.  Timing is excellent. Yet some of the clean characteristics of 
  1385. laserdisc can be achieved with MPEG-1 at 1.15 Mbit/sec (SIF rates), 
  1386. especially for those areas of medium detail (low spatial activity) in the 
  1387. presence of uniform motion. This may be why some people say MPEG-1 video at 
  1388. 1.15 Mbit/sec looks almost as good as Laserdisc or Super VHS at times.
  1389.  
  1390. 60. What are the typical MPEG-2 bitrates and picture quality?
  1391.  
  1392.                     Picture type
  1393.             I               P               B          Average
  1394. MPEG-1 SIF
  1395. @ 1.15 Mbit/sec         150,000         50,000          20,000      
  1396. 38,000
  1397.  
  1398. MPEG-2 601              400,000         200,000         80,000     
  1399. 130,000
  1400. @ 4.00 Mbit/sec
  1401.  
  1402. Note: parameters assume Test Model for encoding, I frame distance of 15 (N = 
  1403. 15), and a P frame distance of 3 (M = 3).
  1404.  
  1405. Of course, among differing source material, scene changes, and use of 
  1406. advanced encoder models...  these numbers can be significantly different.
  1407.  
  1408. 61. At what bitrates is MPEG-2 video optimal? 
  1409. A. The Test subgroup has defined a few examples:
  1410.  
  1411. "Sweet spot" sampling dimensions and bit rates for MPEG-2:
  1412.  
  1413. Dimensions      Coded rate      Comments
  1414. -------------   ----------      ----------------------------------------
  1415. ---
  1416. 352x480x24 Hz   2 Mbit/sec      Half horizontal 601.  Looks almost NTSC
  1417. (progressive)                   broadcast quality, and is a good 
  1418. (better) 
  1419.                 substitute for VHS.  Intended for film src.
  1420.  
  1421. 544x480x30 Hz   4 Mbit/sec      PAL broadcast quality (nearly full 
  1422. capture 
  1423. (interlaced)                    of 5.4 MHz luminance carrier).  Also 
  1424.                 4:3 image dimensions windowed within 720
  1425.                 sample/line 16:9 aspect ratio via pan&scan.
  1426.  
  1427. 704x480x30 Hz   6 Mbit/sec      Full CCIR 601 sampling dimensions.
  1428. (interlaced)
  1429.  
  1430. [these numbers subject to change at whim of MPEG Test subgroup]
  1431.  
  1432.  
  1433.  
  1434. 62. Why does film perform so well with MPEG ?
  1435. A. Several reasons, really:
  1436.  
  1437.    1) The frame rate is 24 Hz (instead of 30 Hz) which is a savings of
  1438.       some 20%.  
  1439.    2) the film source video is inherently progressive.  Hence no fussy 
  1440.       interlaced spectral frequencies.
  1441.    3) the pre-digital source was severely oversampled (compare 352 x 240 
  1442.       SIF to 35 millimeter film at, say, 3000 x 2000 samples).  This can 
  1443.       result in a very high quality signal, whereas most video cameras 
  1444. do 
  1445.       not oversample, especially in the vertical direction. 
  1446.    4) Finally, the spatial and temporal modulation transfer function 
  1447. (MTF) 
  1448.       characteristics (motion blur, etc) of film are more amenable to 
  1449.       the transform and quantization methods of MPEG.
  1450.  
  1451. 63. What is the best compression ratio for MPEG ?
  1452.  
  1453. A. The MPEG sweet spot is about 1.2 bits/pel Intra and .35 bits/pel 
  1454. inter. Experimentation has shown that intra frame coding with the 
  1455. familiar DCT-Quantization-Huffman hybrid algorithm achieves optimal 
  1456. performance at about an average of 1.2 bits/sample or about 6:1 
  1457. compression ratio. Below this point, artifacts become noticeable.
  1458.  
  1459. 64. Can MPEG be used to code still frames?
  1460.  
  1461. A. Yes.  There are, of course, advantages and disadvantages to using 
  1462. MPEG over JPEG:
  1463.  
  1464. Disadvantages:
  1465.  
  1466. 1. MPEG has only one color space
  1467. 2. MPEG-1 and MPEG-2 Main Profile luma and chroma share  quanitzation 
  1468. and VLC tables
  1469. 3. MPEG-1 is syntactically limited to 4k x 4k images, and 16k x 16k for 
  1470. MPEG-2.
  1471.  
  1472. Advantages:
  1473.  
  1474. 1. MPEG possesses adaptive quantization
  1475.  
  1476. 2. With its limited still image syntax,  MPEG averts any temptation to use 
  1477. unnecessary, expensive, and  academic encoding methods that have little 
  1478. impact on the overall picture quality (you know who you are).
  1479.  
  1480. Philips' CD-I spec. has a requirement for a MPEG still frame mode, with 
  1481. double SIF image resolution.  This is technically feasible mostly thanks to 
  1482. the fact that only one picture buffer is needed to decode a still image 
  1483. instead of three buffers.
  1484.  
  1485. 65. Is there an MPEG file format?
  1486.  
  1487. A. Not exactly.  The necessary signal elements that indicate image size, 
  1488. picture rate, aspect ratio, etc. are already contained within the sequence 
  1489. layer of the MPEG video stream.  The Whitebook format for Karoke and CD-I 
  1490. movies specify a range of (time-division) multiplexing strategies for audio 
  1491. and video bitstreams.  A directory format listing scenes and their locations 
  1492. on the disc is associated with the White Book specification.
  1493.  
  1494. 66. What are some pre-processing enhancements ?
  1495.  
  1496. Adaptive de-interlacing:
  1497.  
  1498. This method maps interlaced video from a higher sampling rate (e.g 720 x 480) 
  1499. into a lower rate, progressive format (352 x 240).   The most basic algorithm 
  1500. measures the correlation between two immediate macroblock fields, and if the 
  1501. correlation is high enough, uses an average of both fields to form a frame 
  1502. macroblock.  Otherwise, a field area from one field (usually of the same 
  1503. parity) is selected.  More clever algorithms are much more complex than this, 
  1504. and may involve median filtering, and multirate/multidimensional tools.
  1505.  
  1506. Pre-anti-aliasing and Pre-blockiness reduction:
  1507. A common method in still image coding is to pre-smooth the image before 
  1508. encoding.  For example, if pre-analysis of a frame indicates that serious 
  1509. artifacts will arise if the picture were to be coded in the current condition 
  1510. (i.e. below the sweet spot), a pre-anti-aliasing filter can be applied.  This 
  1511. can be as simple as having a smoothing severity proportional to the image 
  1512. activity.  The pre-filter can be global (same smoothing factor for whole 
  1513. image or sequence) or locally adaptive. More complex methods will again use 
  1514. multirate/multidimensional methods.
  1515.  
  1516. One straightforward concept from multidimensional/multirate e-processing is 
  1517. to  apply source video whose resolution (sampling density) is greater than 
  1518. the target source and reconstruction sample rates. This follows the basic 
  1519. principles of oversampling, as found in A/D converters.
  1520.  
  1521. These filters emphasize the fact that most information content is contained 
  1522. in the lower harmonics of a picture anyway.  VHS is hardly considered to be a 
  1523. sharp cut-off medium,  tragically implying that "320 x 480 potential" of 
  1524. VHS is never truly realized.
  1525.  
  1526. 67. Why use these "advanced" pre-filtering techniques?
  1527.  
  1528. A. Think of the DCT and quantizer as an A/D converter.  Think of the DCT/Q 
  1529. pre-filter as the required anti-alias prefilter found before every A/D.  The 
  1530. big difference of course is that the DCT quantizer assigns a varying number 
  1531. of bits per transform coefficient. Judging on the normalized activity 
  1532. measured in the pre-analysis stage of video encoding (assuming you even have 
  1533. a pre-analysis stage), and the target buffer size status, you have a fairly 
  1534. good idea of how many bits can be spared for the target macroblock, for 
  1535. example.
  1536.  
  1537. Other pre-filtering techniques mostly take into account: texture patterns, 
  1538. masking, edges, and motion activity.  Many additional advanced techniques can 
  1539. be applied at different immediate layers of video encoding (picture, slice, 
  1540. macroblock, block, etc.).
  1541.  
  1542.  
  1543. 68. What about post-processing enhancements?
  1544.  
  1545. Some research has been carried out in this area. Non-linear interpolation 
  1546. methods have been published by Wu and Gersho (e.g. ICASSP 93), convex hull 
  1547. projections for MAP (Severinson, ICASSP 93), and others.  Post-processing 
  1548. unfortunately defies the spirit of MPEG conformance.  Decoders should produce 
  1549. similar reconstructions. Enhancements should ideally be done during the pre-
  1550. processing and encoding stages.
  1551.  
  1552. 69. Can motion vectors be used to measure object velocity?
  1553.  
  1554. A. Motion vector information cannot be reliably used as a means of  
  1555. determining object velocity unless the encoder model specifically set 
  1556. out to do so.  First, encoder models that optimize picture quality generate 
  1557. vectors that typically minimize prediction error and, consequently, 
  1558. the vectors often do not represent true object translation.  Standards 
  1559. converters that resample one frame rate to another (as in NTSC to PAL) 
  1560. use different  methods (motion vector field estimation, edge detection, et 
  1561. al) that are 
  1562. not concerned with optimizing ratios such as SNR vs bitrate. Secondly, motion 
  1563. vectors 
  1564. are not transmitted for all macroblocks anyway.
  1565.  
  1566. 70. How do you code interlaced video with MPEG-1 syntax?
  1567. A. Two methods can be applied to interlaced video that maintain 
  1568. syntactic compatibility with MPEG-1 (which was originally designed for 
  1569. progressive frames only).  In the field concatenation method, the 
  1570. encoder model can carefully construct predictions and prediction errors 
  1571. that realize good compression but maintain field integrity (distinction 
  1572. between adjacent fields of opposite parity). Some pre-processing 
  1573. techniques can also be applied to the interlaced source video that 
  1574. would, e.g., lessen sharp vertical frequencies.
  1575.  
  1576. This technique is not efficient of course.  On the other hand, if the 
  1577. original source was progressive (e.g. film), then it is more trivial to 
  1578. convert the interlaced source to a progressive format before encoding. 
  1579. (MPEG-2 would then only offer superior performance through greater DC 
  1580. block precision, non-linear mquant, intra VLC, etc.) Reconstructed 
  1581. frames are re-interlaced in the decoder Display process.
  1582.  
  1583. The second syntactically compatible method codes fields as separate pictures. 
  1584. This approach has been acknowledged not to work as well. 
  1585.  
  1586. 71. Is MPEG patented?
  1587. A. Yes and no.  Many encoding methods are patented.  Approximately 11 
  1588. blocking patents, that is, patents that are general enough to be unavoidable 
  1589. in any implementation have been recently identified.
  1590.  
  1591. A patent pool is being formed within MPEG where a single royalty fee would be 
  1592. split among the 31 patent-holding companies.
  1593.  
  1594. 72. How many cable box alliances are there?
  1595.  
  1596. A. Many.  To start with:
  1597.  
  1598.   Scientific Atlanta (SA), Kaledia, and Motorola:
  1599.   SA will build the box, Motorola the chips, and Kaleida the
  1600.   O/S and user interface (using ScriptX of course).
  1601.     
  1602.   Silicon Graphics (SGI), Scientific Atlanta, and Toshiba 
  1603.   For the Time Warner's Orlando trial, SGI will provide the 
  1604.   RISC (MIPS R4000) and software, SA will do the box again,
  1605.   and Toshiba will provide the chips.
  1606.  
  1607.   General Instruments (GI) and Microsoft:
  1608.   GI will make the box and Intel will supply the special low-cost
  1609.   386SL processor on which a 1MB flash EPROM executable core 
  1610.   of  Microsoft windows and DOS will run.  Microsoft will develop the 
  1611.   user interface.
  1612.  
  1613.   Hewlett Packard (HP):
  1614.   HP will manufacture and/or design low cost, open architecture set-top
  1615.   decoder boxes (not a part of the Eon wireless deal).  The CPU will
  1616.   explicitly not use a 80x68 based processor.
  1617.  
  1618.  
  1619.   CLI and Philips:
  1620.   Compression Labs will provide the encoder technology and Philips 
  1621.   will provide the decoder techology for an ADSL system whose
  1622.   transport structure will be put together by Broadband Technologies.
  1623.  
  1624.   ["These alliances subject to change at the whim of PR departments 
  1625.      and market forces."]
  1626.  
  1627. 73. Will there be an MPEG video tape format?
  1628.  
  1629. A. Not exactly. A consortium of international companies are co-
  1630. developing a consumer digital video 6 millimeter wide, metal particle 
  1631. tape format.  Due to the initial high cost of MPEG encoders, a JPEG-like 
  1632. compression method will be used for inexpensive encoding of typical 
  1633. consumer source video (broadcast PAL, NTSC).  The natural consequence of 
  1634. still image methods is less efficient use of bandwidth:  25 Mbit/sec for 
  1635. the same subjective real-time playback quality achieved at 6 Mbit/sec 
  1636. possible with MPEG-2.  A second bit rate mode, 50 Mbit/sec, is 
  1637. designated for HDTV.
  1638.  
  1639. Pre-coded digital video from, e.g., broadcast sources will be directly 
  1640. recorded to tape and "passed-through" as a coded bitstream to the video 
  1641. decompression box upon tape playback. Assuming if linear tape speed is 
  1642. to be proportional to bit rate, the recording time of a pre-compressed 
  1643. MPEG-2 program at the upper limit of 5 Mbit/sec for broadcast quality 
  1644. video, the recording time would be over 20 hours.  Channel coding 
  1645. schemes (error correction, convolution coding, etc.), however, will 
  1646. most likely be optimized for the tape medium and therefore may differ 
  1647. from the channel methods for cable, terrestrial, and satellite. (A 
  1648. Zenith-Goldstar S-VHS based experiment did, however, directly record the 
  1649. 4-VSB broadcast baseband signal of the old Zenith/AT&T HDTV proposal).
  1650.  
  1651. More specs: (Summarized from EE Times July 5, 1993 article)
  1652.  
  1653. tape width:  6.35 mm
  1654. Audio: two channel 48 KHz 16-bit audio, or 4 channel at 32 KHz at 12-bit
  1655. Tape format: metal evaporated tape, 13.5 microns thick
  1656.  
  1657. Cassette dimensions: (millimeters)      Recording times:
  1658. Size            Width   Height  Depth  525/625 (25Mb/sec) HDTV (50 Mb/s)
  1659. --------        -----   ------  -----  ------------------ --------------
  1660. Standard        125     78      14.6   4h30min            2h15min
  1661. Small           66      48      12.2   1 hour             30min
  1662.  
  1663. Linear tape speeds: 18.812 mm/s (60Hz),  18.831 mm/s (50 Hz)
  1664. Video compression: DCT based
  1665.  
  1666. Participants: Matsushita, Sony, Philips, Thomson, Hitachi, Mitsubishi, 
  1667. Sanyo, Sharp, Toshiba, JVC.
  1668.  
  1669. MPEG in everyday life
  1670.  
  1671. 74. Where will be see MPEG in everyday life?
  1672. A. Just about wherever you see video today.
  1673.  
  1674. DBS (Direct Broadcast Satellite)
  1675. The Hughes/USSB DBS service will use MPEG-2 video and audio.  Thomson  
  1676. has exclusive rights to manufacture the decoding boxes for the first 18 
  1677. months of operation. Hughes/USSB DBS will begin its U.S. service in 
  1678. April 1994. Two satellites at 101 degrees West will share the power 
  1679. requirements of 120 Watts per 27 MHz transponder over a total of 32 
  1680. transponders.  Multi source channel rate control methods will be 
  1681. employed to optimally allocate bits between several programs normalized 
  1682. to one 22 Mbit/sec data carrier. Bit allocation adapts to instantaneous co-
  1683. channel 
  1684. spatial and co-channel temporal activity. An average of 150 channels are 
  1685. planned with the addition of a second set of satellites augmenting the power 
  1686. level of each transponder to 240 Watts. The coded throughput of each 
  1687. transponder will increase to 30 Mbit/sec.
  1688.  
  1689.  
  1690. CATV (Cable Television)
  1691. Despite conflicting options, the cable industry has more or less 
  1692. settled on MPEG-2 video.  Audio is less than settled. For example, 
  1693. General Instruments (the largest U.S. consumer cable set-top box 
  1694. manufacturer) have announced the planned exclusive use of Dolby AC-3. 
  1695. The General Instruments DigiCipher I video syntax is similar to MPEG-2 
  1696. syntax,  but employs smaller macroblock predictions and no B-frames.  The 
  1697. DigiCipher II specification will include modes to support both the GI 
  1698. and full MPEG-2 Video Main Profile syntax.  Digicipher-I services such 
  1699. as HBO will upgrade to DigiCipher II in 1994. 
  1700.  
  1701. HDTV
  1702. The U.S. Grand Alliance, a consortium of companies that formerly competed 
  1703. to win the U.S. terrestrial HDTV standard,  have already agreed to 
  1704. use the MPEG-2 Video and Systems syntax---including B-pictures. Both 
  1705. interlaced(1920 x 1080 x 30 Hz) and progressive (1280 x 720 x 60 Hz) 
  1706. modes will be supported. The Alliance has also settled upon a modulation 
  1707. method (VSB)  convolution coding (Viterbi), and error correction (Reed-
  1708. Soloman) specification.
  1709.  
  1710. In September 1993, the consortium of 85 European companies signed an 
  1711. agreement to fund a project known Digital Video Broadcasting (DVB) which 
  1712. will develop a standard for cable and terrestrial transmission by the 
  1713. end of 1994. The scheme will use MPEG-2.  This consortium has put the 
  1714. final nail in the coffin of the D-MAC scheme for gradual migration 
  1715. towards an all-digital, HDTV consumer transmission standard. The only 
  1716. remaining analog or digital-analog hybrid system left in the world is 
  1717. NHK's MUSE (which will probably be axed in a few years as soon as it appears 
  1718. to be politically secure thing to do).
  1719.  
  1720. 75. What is the best compression ratio for MPEG ?
  1721. A. The MPEG sweet spot is about 1.2 bits/pel Intra and .35 bits/pel 
  1722. inter. Experimentation has shown that intra frame coding with the 
  1723. familiar DCT-Quantization-Entropy hybrid algorithm achieves optimal 
  1724. performance at about an average of 1.2 bits/sample or about 6:1 
  1725. compression ratio. Below this point, artifacts become noticeable.
  1726.  
  1727.  
  1728. 76. Is there a MPEG CD-ROM format?
  1729. A. Yes, a consortium of international companies (Matsushita, Philips, 
  1730. Sony, JVC, et al) have agreed upon a specification for MPEG video and 
  1731. audio. 2 hour long movies are stored on two 650 MByte compact discs. The 
  1732. video 
  1733. rate is 1.15 Mbit/sec, the audio rate is either 128 kbit/sec or 192 kbit/sec 
  1734. Layer I or Layer II.(this seems to contradict the Philips 224 kbit/s audio 
  1735. spec?). Although the Video, Systems, and Audio syntax are identical, the CD-I 
  1736. movie format and the White Book format are not compatible.
  1737.  
  1738. Researchers are busy experimenting with denser and faster rate CD 
  1739. formats, perhaps using green or blue laser wavelengths.  One demonstration 
  1740. stretched the pit and track density to its limits, improving areal density by 
  1741. almost 2 fold.
  1742.  
  1743.  
  1744.