Presentation is loading. Please wait.

Presentation is loading. Please wait.

January 26, 1998 1 Nick Feamster Development of a Transcoding Algorithm from MPEG to H.263.

Similar presentations


Presentation on theme: "January 26, 1998 1 Nick Feamster Development of a Transcoding Algorithm from MPEG to H.263."— Presentation transcript:

1 January 26, 1998 1 Nick Feamster Development of a Transcoding Algorithm from MPEG to H.263

2 January 26, 1998 2 Development of a Transcoding Algorithm from MPEG to H.263 Motivation: MPEG - High bitrate - DVD, Digital Television - 1.5 Mbps, 30 fps H.263 - Low bitrate - Wireless, etc. - 500 kbps, 10fps Transcode

3 January 26, 1999 3 Transcoding Issues MPEG - I, P, B Frames - Restricted Motion Vectors on boundaries - More I macroblocks per frame vs. H.263 - I, P Frames - Unrestricted Motion Vectors on boundaries - Fewer I macroblocks per frame

4 January 26, 1999 4 Computation vs. Quality Goal:A fast transcoding algorithm which preserves picture quality. Method: Make use of available decoded information to avoid unnecessary computation.

5 January 26, 1999 5 MPEG vs. H.263

6 January 26, 1999 6 MPEG vs. H.263 Conclusion: 1.5 Mbps MPEG Source minimizes loss due to recoding.

7 January 26, 1999 7 Initial Method Drop B Frames MPEG Decode H.263 Encode H.263 Motion Estimation 9-10 Seconds per frame Too much computation for real time transcoding

8 January 26, 1999 8 Alternative: Reuse Information Drop B Frames MPEG Decode H.263 Encode H.263 Motion Estimation Motion Vectors What is the best way to do this?

9 January 26, 1999 9 Issue: MPEG I Frames Problem: Each MPEG GOP has an I frame with no motion vectors. Solution: Copy motion vectors from preceding MPEG P frame. MV’s from P frame I frame? Drop B frames MPEG Decode MV’s from current frame H.263 Encode Yes No I PB B IB B B B P MPEG: H.263: IP PP

10 January 26, 1999 10 Issue: Small MV Errors Solution: Half pel search to refine motion vectors Problem: Quantization losses result in motion estimation discrepancies

11 January 26, 1999 11 Issue: MPEG Intra Macroblocks Often more useful to code an H.263 macroblock as an intra block, even if the block is coded inter in MPEG Solution: Use the minimum error threshold specified by the H.263 encoder to correct modes.

12 January 26, 1999 12 Resulting Method MV’s from P frame I frame? Drop B frames MPEG Decode MV’s from current frame Yes No H.263 Encode Mode Correct Half Pel Correct

13 January 26, 1999 13 Other Considerations Boundary Error –0.5 dB loss, worst case (sequence dependent) –Much of this loss can be recovered with mode correction and half pel search –At a lower spatial resolution, boundary motion vectors take on increasing importance.

14 January 26, 1999 14 H.263 Boundary Motion Vectors

15 January 26, 1999 15 Other Considerations MPEG I Frames –Tried weighted average of neighboring P frame MV’s based on overlap, not as effective as simple replacement. –Replacement works well on sequences with correlated motion vectors –High quality P frame from MPEG I frame  Less degradation of subsequent P frame quality

16 January 26, 1999 16 Results SequenceMethod 1 (sec)Method 2 (sec) Carousel (30 IP)32326 Bus (30 IP)25426 Girl (18 IP)10615 Bus (10 IP) 80 9 Carousel (10 IP) 90 8 Football (10 IP) 92 8 ~ 10x Efficiency Improvement

17 January 26, 1999 17 Results Bus Girl Carousel

18 January 26, 1999 18 Conclusions Reusing motion vector information from decoded MPEG stream saves 85-90% of computation time with an average of 1.4 dB loss. Much of the loss can be attributed to motion vector errors resulting from requantization of the original frame pixel values. MPEG H.263 MV(A) MPEG H.263 Frame A’ MV(A’) Method 1 Method 2

19 January 26, 1999 19 Future Work Algorithmic research (motion vector search for I frames, etc.) Real-time implementation Allow MPEG interlace as transcoder input


Download ppt "January 26, 1998 1 Nick Feamster Development of a Transcoding Algorithm from MPEG to H.263."

Similar presentations


Ads by Google