Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MPEG4 codec for Access Grid

753 views

Published on

  • Be the first to comment

  • Be the first to like this

MPEG4 codec for Access Grid

  1. 1. 11/11/2004 MPEG4 Codec for Access Grids National Center for High Performance Computing Speaker: Barz Hsu Email: [email_address]
  2. 2. Outline <ul><li>Definition of HDTV </li></ul><ul><li>Brief Introduction to MPEG-4 Standard </li></ul><ul><li>History and Problems of VIC </li></ul><ul><li>Contributions </li></ul>
  3. 3. What’s High Definition Video? <ul><li>Frame Resolution: </li></ul><ul><ul><li>>= 720x480 or 640x480 </li></ul></ul><ul><li>Frame Rate </li></ul><ul><ul><li>>= 20 fps </li></ul></ul><ul><li>Peak Signal to Noise Ratio (PSNR) </li></ul><ul><ul><li>>= 30 dB </li></ul></ul>
  4. 4. Another Key Factors for Access Grids <ul><li>Real-Time </li></ul><ul><ul><li>Minimize latency & jitter </li></ul></ul><ul><li>Error Resilience </li></ul><ul><ul><li>RTP over UDP is unreliable </li></ul></ul><ul><li>Large Scale Video Conferencing </li></ul><ul><ul><li>Selection of suitable coding tools </li></ul></ul><ul><ul><li>Optimization </li></ul></ul><ul><li>Adaptive </li></ul><ul><ul><li>network bandwidth </li></ul></ul><ul><ul><li>computing resources </li></ul></ul>
  5. 5. Status of MPEG4 <ul><li>Part 2: Advanced Simple Profile (ASP) </li></ul><ul><li>Part 10: Advanced Video Coding (AVC or H.264) </li></ul><ul><li>Match MPEG-2 quality at up to half data rate </li></ul><ul><li>Deliver excellent video quality across entire bandwidth spectrum – from 3G to HD </li></ul><ul><ul><li>(from 40Kbps to 10MBps) </li></ul></ul>
  6. 6. Performance Comparison
  7. 7. Interoperability Issues <ul><li>Communicate with Polycom, iChat AV (Tiger) </li></ul><ul><li>Transport Stream </li></ul><ul><ul><li>RFC 3016: RTP Payload Format for MPEG-4 Audio/Visual Streams. </li></ul></ul><ul><ul><li>RFC 3640: RTP Payload Format for Transport of MPEG-4 Elementary Streams </li></ul></ul><ul><ul><li>MPEG2TS </li></ul></ul>
  8. 8. VIC: Vi deo Conferencing T ool <ul><li>Developed by Network Research Group in U.C. Berkeley </li></ul><ul><li>Mbone Tools used by Access Grid, inSORS, and VRVS </li></ul><ul><ul><li>vic for video and rat for audio </li></ul></ul><ul><li>Based on RTP/RTCP to provide real-time video </li></ul><ul><li>Support Multicast/Unicast Protocol </li></ul><ul><li>Hybrid of Tcl/Tk and C++ </li></ul><ul><li>Supported codecs </li></ul><ul><ul><li>H.261, H.263, H.263++, MJPEG, nv , and etc. </li></ul></ul>
  9. 9. The Problems of VIC <ul><li>Hard to maintain </li></ul><ul><li>Lack of high-quality video codec </li></ul><ul><ul><li>only H.261 is relative useable </li></ul></ul><ul><li>Limitation on frame resolution </li></ul><ul><ul><li>Only QCIF (176x144), CIF (352x288) </li></ul></ul><ul><li>Limitation on viewing resolution </li></ul><ul><li>Lack of exhaustive optimization on codec, render, grabber , and etc </li></ul>
  10. 10. Our Goal <ul><li>Broadcast in Television Quality </li></ul><ul><ul><li>Leverage with Existing Open Source Resources </li></ul></ul><ul><ul><ul><li>VLC, MPlayer, and FFmpeg </li></ul></ul></ul><ul><ul><li>Providing “ Sense of Presence ” </li></ul></ul><ul><ul><li>As Real-Time As Possible </li></ul></ul><ul><ul><li>High-Definition, High Quality </li></ul></ul><ul><ul><li>Incorporate with up-to-date codecs such as MPEG2, MPEG4 (ASP), H.264 </li></ul></ul><ul><ul><li>Less Compression Artifact </li></ul></ul><ul><ul><li>Error Resilience/Concealment </li></ul></ul>
  11. 11. MPEG4 Codec <ul><li>Related Open Source Project </li></ul><ul><ul><li>FFmpeg, xvid, and sklmp4 </li></ul></ul><ul><li>FFmpeg/libavcodec </li></ul><ul><ul><li>High performance of CPU usage </li></ul></ul><ul><ul><li>Support various codec </li></ul></ul><ul><ul><ul><li>MPEG4, MPEG2, MPEG1 </li></ul></ul></ul><ul><ul><ul><li>H.263++, H.263, H.261 </li></ul></ul></ul><ul><ul><li>Provide error resilience tools </li></ul></ul><ul><ul><ul><li>slices, data partition </li></ul></ul></ul><ul><ul><li>Cross Platform </li></ul></ul><ul><ul><ul><li>Linux, Windows, and Mac OS </li></ul></ul></ul>
  12. 12. Benefits from MPEG4 codec <ul><li>Support arbitrary sizes of a video stream </li></ul><ul><ul><li>in contrast to H.261 </li></ul></ul><ul><ul><li>the largest size depends on your video grabber card and camera </li></ul></ul><ul><li>Less obvious block artifacts </li></ul>
  13. 13. MPEG4 Performance <ul><li>Typical bit-rate is 1Mbps </li></ul><ul><ul><li>720x480 (NTSC) with 25 frames/sec and PSNR value is about 40 dB </li></ul></ul><ul><li>Consistent bit-rate </li></ul><ul><ul><li>adjusting bit-rate only affects to the quality; not influence the frame-rate </li></ul></ul><ul><li>Up to 40 CIF, or 10 NTSC video streams. </li></ul>
  14. 14. Deinterlace <ul><li>Convert interlaced video into progressive one </li></ul>
  15. 15. Efficient Color Conversion <ul><li>VIC didn’t give correct color representation. </li></ul><ul><li>Efficient Color Conversion </li></ul><ul><ul><li>Grabber (YUYV) to Encoder (YUV420) </li></ul></ul><ul><ul><li>Decoder (YUV420) to Display (RGB15/RGB16/RGB24) </li></ul></ul>
  16. 16. Scaling Viewing Windows <ul><li>Original VIC </li></ul><ul><ul><li>only support limited sizes of viewing windows </li></ul></ul><ul><ul><li>based on unrealistic pixel replication method </li></ul></ul><ul><li>NCHC-VIC </li></ul><ul><ul><li>scaling viewing windows arbitrarily without too much overhead </li></ul></ul><ul><ul><li>interpolation by 9 tap FIR filter </li></ul></ul><ul><ul><li>hardware assisted by Xvideo extension in XFree86 </li></ul></ul><ul><ul><li>full screen mode </li></ul></ul>
  17. 17. Full Screen Snapshot
  18. 18. Real-Time Video Streaming <ul><li>Real-time </li></ul><ul><ul><li>the compressed data are transferred at a speed that matches the coded video source rate. </li></ul></ul><ul><li>Latency, Jitter </li></ul><ul><ul><li>average end-to-end delay </li></ul></ul><ul><ul><li>delay variation </li></ul></ul>
  19. 19. Error Resilience <ul><li>Error Progratation </li></ul>
  20. 20. Error Resilience (cont’d) <ul><li>Resynchronization marker </li></ul><ul><ul><li>the data between the error location and the first following resynchronization marker would have to be discarded. </li></ul></ul><ul><li>Data Partition </li></ul><ul><ul><li>motion vectors and related syntactic elements are transmitted first, followed by syntactic elements like MB headers, motion vectors, and DCT coefficients. </li></ul></ul>
  21. 21. Minimize Latency <ul><li>Multithread Encoding </li></ul><ul><ul><li>Take advantage of symmetric multiple processor architecture </li></ul></ul><ul><li>Pipeline the latency of transmission and encoding </li></ul><ul><li>SIMD Instruction Ses </li></ul><ul><ul><li>Optimized by SSE2/SSE, MMX </li></ul></ul>
  22. 22. Future Work <ul><li>Support H.264 codec </li></ul><ul><li>Support MPEG-4 High Efficient AAC (HE-AAC) </li></ul>
  23. 23. Conclusion <ul><li>Project Website: </li></ul><ul><li>http://vic.nchc.org.tw </li></ul>
  24. 24. Thanks for your attendance

×