SPATIAL.DOC
上传用户:hkgotone
上传日期:2013-02-17
资源大小:293k
文件大小:6k
源码类别:

Windows Mobile

开发平台:

C/C++

  1. The following changes have been made to debug spatial scalability:
  2. gethdr.c
  3. --------
  4. Temporal_reference is used to compute the frame number of each frame,
  5. named true_framenum.  The periodic reset at each GOP header as well as
  6. the wrap of temporal_reference at 1024 cause a base value
  7. temp_ref_base to be incremented accordingly.
  8. spatscal.c
  9. ----------
  10. getspatref()
  11. A potential problem: Variable char fname[32] was dimensioned
  12. statically and too small.
  13. true_framenum is used instead of lower_layer_temporal_reference to
  14. determine the lower layer frame to be read for spatial prediction.
  15. The verification of lower_layer_temporal_reference is not possible
  16. since the temporal reference values that have been encoded into the
  17. base layer bitstream are not available to the enhancement layer
  18. decoder.
  19. Since there is no decoder timing information available, the rules on
  20. which frames can legally be used as spatial prediction frames cannot
  21. be checked.
  22. Lower layer frames are read field-wise or frame-wise, depending on the
  23. lower_layer_progressive_frame flag. Consistency between layers is
  24. checked since the file format for frame and field pictures differs.
  25. Note that the base layer decoder must not use the -f option to enforce
  26. frame-wise storage.
  27. Note further that only yuv image format (option -o0) is supported as
  28. input format.
  29. spatpred()
  30. The code for the various combinations of llprog_frame, llfieldsel and
  31. prog_frame has been completed and verified with the tceh_conf23
  32. bitstream that uses all permissive combinations.
  33. getpic.c
  34. --------
  35. A small bug when storing an I- or P-frame: The prog_frame flag that
  36. the decoder knows when storing the oldrefframe belongs to the current
  37. refframe. Therefore the old value of the flag needs to be memorized.
  38. store.c
  39. -------
  40. A potential problem: the filename variables char outname[32],
  41. tmpname[32] are statically dimensioned and quite small.
  42. The concept of time in this video decoder software
  43. --------------------------------------------------
  44. When decoding a non-scalable bitstream, the frame number (i.e.
  45. temporal position) of the current I- or P-frame can be derived
  46. implicitly from the number of preceding B-frames after they have been
  47. decoded. Therefore the temporal_reference entry in the picture header
  48. is somewhat redundant and does not necessarily have to be evaluated in
  49. the decoding process.
  50. Decoding of the enhancement layer of a spatial scalable hierarchy,
  51. however, requires to know the temporal position of each frame at the
  52. instant when it is decoded, since data from a lower layer reference
  53. frame has to be incorporated.
  54. In the architecture of this video-only decoder decoding of a spatial
  55. scalable hierarchy of bitstreams is done by calling mpeg2decode once
  56. for the base layer bitstream and a second time for the enhancement
  57. layer bitstream, indicating where the decoded base layer frames can be
  58. found (option -s<filename>).
  59. Here the concept of time is only present in the form of frame numbers.
  60. Therefore spatial scalable bitstream hierarchies can only be handled
  61. under the assumption that base and enhancement layer bitstreams are
  62. decoded to image sequences where corresponding images of both layers
  63. have identical frame numbers.
  64. More specifically this means that base and enhancement layer
  65. bitstreams must contain video with the same frame rate. Furthermore
  66. only the temporally coincident frame of the base layer can be accessed
  67. for spatial prediction by the enhancement layer decoder, since it is
  68. not possible to resolve unambiguously the lower_layer_temporal_reference 
  69. which is meant to further specify the lower layer reference frame.
  70. ======================== SPATIAL.DOC ========================0
  71. Decoding a spatial scalable hierarchy of bitstreams
  72. ---------------------------------------------------
  73. With this video-only decoder decoding of a spatial scalable hierarchy
  74. of bitstreams is done by calling mpeg2decode once for the base layer
  75. bitstream and a second time for the enhancement layer bitstream,
  76. indicating where the decoded base layer frames can be found
  77. (using option -s and supplying <spatial base filename>).
  78. mpeg2decode -r -o0 base.mpg base%d%c
  79. mpeg2decode -r -o0 -f -s base%d%c enh.mpg enh%d
  80. Note that the base layer decoder must not use the -f option to enforce
  81. frame-wise storage.
  82. Note further that only yuv image format (option -o0) is supported as
  83. input format.
  84. Timing / layer synchronisation in this video decoder software
  85. -------------------------------------------------------------
  86. When decoding a non-scalable bitstream, the frame number (i.e.
  87. temporal position) of the current I- or P-frame can be derived
  88. implicitly from the number of preceding B-frames after they have been
  89. decoded. Therefore the temporal_reference entry in the picture header
  90. is somewhat redundant and does not necessarily have to be evaluated in
  91. the decoding process.
  92. Decoding of the enhancement layer of a spatial scalable hierarchy,
  93. however, requires to know the temporal position of each frame at the
  94. instant when it is decoded, since data from a lower layer reference
  95. frame has to be incorporated.
  96. The concept of time is only present in the form of frame numbers.
  97. Therefore spatial scalable bitstream hierarchies can only be handled
  98. under the assumption that base and enhancement layer bitstreams are
  99. decoded to image sequences where corresponding images of both layers
  100. have identical frame numbers.
  101. More specifically this means that base and enhancement layer
  102. bitstreams must contain video with the same frame rate. Furthermore
  103. only the temporally coincident frame of the base layer can be accessed
  104. for spatial prediction by the enhancement layer decoder, since it is
  105. not possible to resolve unambiguously the lower_layer_temporal_reference
  106. which is meant to further specify the lower layer reference frame.
  107. Lower layer frames are read field-wise or frame-wise, depending on the
  108. lower_layer_progressive_frame flag. Consistency between layers in this
  109. respect is checked since the file format for frame and field pictures
  110. differs.