january 26, 1998 1 nick feamster development of a transcoding algorithm from mpeg to h.263

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

Upload: lorena-hawkins

Post on 23-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

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

January 26, 1998

1

Nick Feamster

Development of a Transcoding Algorithm from MPEG to H.263

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

January 26, 1998

2

Development of a Transcoding Algorithm from MPEG to H.263Motivation:

MPEG

- High bitrate- DVD, Digital Television- 1.5 Mbps, 30 fps

H.263

- Low bitrate- Wireless, etc.- 500 kbps, 10fps

Transcode

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

January 26, 19993

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

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

January 26, 19994

Computation vs. Quality

Goal: A fast transcoding algorithm which preserves

picture quality.

Method: Make use of available decoded information

to avoid unnecessary computation.

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

January 26, 19995

MPEG vs. H.263

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

January 26, 19996

MPEG vs. H.263

Conclusion: 1.5 Mbps MPEG Source minimizes loss due to recoding.

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

January 26, 19997

Initial Method

Drop B Frames

MPEGDecode

H.263 Encode

H.263Motion

Estimation

• 9-10 Seconds per frame• Too much computation for real time transcoding

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

January 26, 19998

Alternative: Reuse Information

Drop B Frames

MPEGDecode

H.263 Encode

H.263Motion

Estimation

Motion Vectors

What is the best way to do this?

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

January 26, 19999

Issue: MPEG I Frames

Problem: Each MPEG GOP has an I frame withno motion vectors.

Solution: Copy motion vectors from precedingMPEG P frame.

MV’s from P frame

I frame?Drop B frames

MPEGDecode

MV’s from current frame

H.263 Encode

Yes

No

I PB B IB B BBPMPEG:

H.263: I P P P

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

January 26, 199910

Issue: Small MV Errors

Solution: Half pel search to refine motion vectors

Problem: Quantization losses result inmotion estimation discrepancies

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

January 26, 199911

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.

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

January 26, 199912

Resulting Method

MV’s from P frame

I frame?Drop B frames

MPEGDecode

MV’s from current frame

Yes

No

H.263 Encode

ModeCorrect

Half PelCorrect

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

January 26, 199913

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.

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

January 26, 199914

H.263 Boundary Motion Vectors

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

January 26, 199915

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

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

January 26, 199916

Results

Sequence Method 1 (sec) Method 2 (sec)Carousel (30 IP) 323 26Bus (30 IP) 254 26Girl (18 IP) 106 15Bus (10 IP) 80 9Carousel (10 IP) 90 8Football (10 IP) 92 8

~ 10x Efficiency Improvement

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

January 26, 199917

ResultsBus

Girl

Carousel

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

January 26, 199918

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

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

January 26, 199919

Future Work

• Algorithmic research (motion vector search for I frames, etc.)

• Real-time implementation• Allow MPEG interlace as transcoder input