1 / 37

H.264 to VP6 Transcoding

H.264 to VP6 Transcoding. Jay R Padia MS Student, UT Arlington E-mail : jaypadia@uta.edu June 09, 2008. Outline. About Me About VP6 Comparison – VP6 & H.264 Available research – H.263 to VP6 transcoder Challenges Available resources. About VP6. Developed by On2 Technologies, Inc.

norris
Télécharger la présentation

H.264 to VP6 Transcoding

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. H.264 to VP6 Transcoding Jay R Padia MS Student, UT Arlington E-mail: jaypadia@uta.edu June 09, 2008

  2. Outline • About Me • About VP6 • Comparison – VP6 & H.264 • Available research – H.263 to VP6 transcoder • Challenges • Available resources

  3. About VP6 • Developed by On2 Technologies, Inc. • Proprietary codec licensed by Adobe • Used for Flash 8 Video and higher versions • Good Compression • Quality – half the bandwidth for same video quality • Portability – supports most hardware and OS • Stability • Memory Usage – uses less host device memory

  4. VP6 Fundamentals • YUV 4:2:0 Internal Format • MB Modes and Mode based coding • ¼ pixel Motion estimation on 16x16 and 8x8 blocks • 8x8 DCTs only • Linear Quantization • Prediction Filter ( in the loop but in different spot) • Two Entropy Strategies ( akin to VLC, and one akin to Cabac) • Extensive Context Encoding

  5. VP6 – Motion Estimation Golden Frames – A new reference frame stored in a buffer Modes • Intra ( No spatial prediction modes) • Inter Nearest MV ( check 12 nearest neighbors ). • Inter Near MV Mode • Inter 0,0 MV Mode • Inter New MV Mode • Inter Four MV Mode • Golden 0,0 MV mode • Golden Nearest MV • Golden Near MV • Gold New MV

  6. VP6 - DC Prediction, DCT, Quantization • DC Prediction is based on the left and the block above • Both blocks have same prediction frame: predictor is average of the two values • DCT not exactly standard. Need to match it exactly or you get bitstream drift. Butterfly is used for optimization • Quantization occurs off predicted DC value

  7. VP6 – Entropy Coding • Bool Coder • Based on Simplified Binary Arithmetic Coder • Not – CABAC • Typical Huffman Encoding • Context Based Entropy Coding • DC Coding Context (Dimensions) • AC Coding Context (Dimensions)

  8. Comparison – H.264 vs VP6 Comparison of H.264 features and VP6 features

  9. Available research– H.263 to VP6[6] Transcoding H.263 to VP6 • Uses pixel domain transcoding • Transcoder designed on the basis of similarities and dissimilarities between the two standards

  10. Available Research– H.263 to VP6[6] • Both H.263 and VP6 support 1 MV and 4 MV => Motion Vectors can be reused to some extent • However large number of MB modes in VP6 => Motion Vectors cannot be used directly • Not all modes evaluated for a given H.263 mode. • Reduce complexity by constraining evaluated MB modes

  11. Available Research– H.263 to VP6[6] Complexity reduction using • Dynamic Search Range This range is fixed in encoding process Search range changed based on Maximum motion vector component for current MB • Dynamic Search Window Dynamic refinement window reduces complexity by using H.263 MV H.263 MV used to determine the position of the fixed size window

  12. Challenges – H.264 to VP6 • Both H.264 and VP6 use integer discrete cosine transform (IDCT). H.264 has 4x4 block transform and VP6 has 8x8 block transform. In [14] conversion of 8x8 DCT to 4x4 integer DCT is shown. A similar method can be applied to proposed transcoder. • H.264 and VP6 have deblocking filters. Both the deblocking filters need to be compared • H.264 Baseline has only I & P frames. So does VP6 • Multiple reference frames in H.264. Upto 2 reference frames allowed in VP6. Multiple reference frames and quarter pixel MVs achieve similar RD results [13]

  13. Challenges – H.264 to VP6 • Block sizes differ in H.264 and VP6. Large number of MB modes in H.264 make it difficult to make a decision to select output mode in transcoding • Also H.264 allows intra-prediction which is absent in VP6. • Available research described in [15] related to conversion of MB modes in H.264 to and from MPEG-4 gives us an opportunity investigate results which can be used in our current research to make a decision on VP6 mode selection. • According to [13], in H.264 intraprediction the modes mainly used are horizontal, vertical and DC.

  14. Available resources • List of references – related literature mainly on MPEG2 to H.264 transcoder, H.264 to MPEG4 – Part 2 transcoder and other literature related to transcoders • License of use and source code for VP6 along with documentation; courtesy: On2 Technologies, Inc • Motivation to learn and guidance of group members 

  15. References • S. Kwon, A. Tamhankar and K. R. Rao, “Overview of H.264 / MPEG – 4 Part 10”, J VCIR, vol 17, pp 186-216, April 2006 • I. Richardson, V-Codex, “White Paper – An overview of H.264 Advanced Video Coding”, 2007, www.vcodex.com • J. Emigh, “New Flash Player rises in the Web-Video Market” IEEE Computer 39, 14–16 (2006). • T. Uro, “The quest for a new video codec in Flash 8,” http://www.kaourantin.net/2005/08/quest-for-new-videocodec-in-flash-8.html, August 13, 2005. • On2 Technologies, Inc., “White Paper – On2 VP6 for Flash 8 Video”, http://www.On2.com, September 12, 2005. • C. Holder and H. Kalva, “H.263 to VP6 Video Transcoder”, SPIE, vol . 6822 (VCIP), pp. 68222B, San Jose , CA , Jan . 2008.

  16. References • J. Bialkowski, A. Kaup and K. Illgner, “Overview of Low-Complexity Video Transcoding from H.263 to H.264,” Proceedings of the IEEE International Conference on Multimedia & Expo (ICME), pp. 49-52, 2006. • P. Kunzelmann and H. Kalva, “Reduced Complexity H.264 to MPEG-2 Transcoder,” Proceedings of the IEEE, International Conference on Consumer Electronics, Las Vegas, USA, January 10-14, 2007. • A. Vetro, C. Christopulos, and H. Sun, “Video transcoding architectures and techniques: An overview,” IEEE Signal Process. Mag., vol. 20, pp. 18–29, Mar. 2003. • ITU-T Recommendation H.264 – Advanced Video Coding for Generic Audio-Visual services • On2 Technologies, Inc., “White Paper – TrueMotion VP7 Video Codec”, http://www.On2.com, January 10, 2005.

  17. References • I. Ahmad, et al, “Video Transcoding: An Overview of Various Techniques and Research Issues”, IEEE Transactions on Multimedia, vol 7, pp 793-804, Oct 2005 • J. Bialkowski, M. Barkowsky and A. Koup, “Overview of Low-Complexity Video Transcoding from H.263 to H.264”, IEEE Conference on Multimedia and Expo 2006, vol 9, pp 49-52, July 2006 • J. Lee and K. Chung, “DCT Block Conversion for H.264/AVC Video Transcoding”, Euro-Par 2005, LNCS 3648, pp 919-927, 2005 • J. Hur and Y. Lee, “H.264 to MPEG-4 Transcoding using Block-Type Information”, IEEE Region 10 TENCON 2005, pp 1-6, Nov 2005 • R. Pereira, K. R. Rao, A. Kruafak, “Efficient Transcoding of an MPEG-2 Bit Stream to an H.264 Bit Stream”, IEEE International symposium on Communications and Information Technologies, ISCIT 06, pp 687-691, Oct 2006

  18. Thank You

  19. H.264 & VP6 H.264/AVC • Published in 2003 • Published by ITU-T (International Telecom Union) and ISO/IEC by the JVT (Joint Video Team) TrueMotion VP6 • Developed by On2 Technologies • Adopted by Adobe for Flash Player 8 • Licensed by Adobe

  20. H.264 [1][2] • One of the most widely accepted video coding standards • Block-oriented Motion-Estimation based codec • Higher coding efficiency than previous standards, MPEG-1,2,4 part 2, H.261 & H.263 • Simple syntax specifications • Seamless integration of video coding into all current protocols • More error robustness • Various applications like video broadcasting, video streaming, video conferencing, D-Cinema, HDTV

  21. Why VP6? – Why Flash? Importance of Flash • Flash: An emerging leader in Video on Web over Real Player, Windows Media Player and Apple Quicktime [3] Features [3][4] • Complete website development package (not just Video & Audio) • Supports on-demand streaming (no need to download) • Supports multiple platforms • Can be embedded in the browser • Downloads by itself • Provides full ‘alpha-transparency’ • Occupies less memory space

  22. Why VP6 for Flash 8 Why did Adobe select VP6 over other codecs [4] • Good Compression • Quality – half the bandwidth for same video quality • Portability – supports most hardware and OS • Stability • Memory Usage – uses less host device memory • Adaptability to internet connection speeds • Performance • Legacy Hardware Support • Support from provider

  23. Comparison – VP6 & Flash MX[5] • Flash MX – Older version based on H.263 • Flash 8 with VP6 scores over Flash MX VP6 - True to Original Flash MX – Oversaturated color Color Space Comparison

  24. Comparison – VP6 & Flash MX VP6 – Smoother picture Flash MX - Blocky Image VP6 – Closer to Original Flash MX – Artificial Artifacts

  25. Comparison – VP6 & Flash MX VP6 – Details preserved MX – low and high contrast VP6 – Closer to original MX – blocky low contrast background

  26. Comparison – VP6 & Flash MX VP6 Flash MX – Edges blocky VP6 – too many fishes? Flash MX – !!!!! 

  27. Current Research – H.263 to VP6[6] Challenges • Large number of coding modes in VP6 16 x 16 and 8 x 8 modes like H.263 but Inter 8 x 8 macro blocks (MB) can have mixed blocks Inter MBs in VP6 can be coded using 9 different modes • ¼ resolution motion vectors (MV) • Allowing multiple reference frames The modes are characterized by the number of motion vectors (1 vs. 4), reference frame used, whether motion vectors are coded

  28. Current Research – H.263 to VP6[6] Conclusion • VP6 widely used in online video services with Flash 8 • Low complexity transcoding to VP6 holds significance • Proposed transcoder can reduce complexity by more than 50% without significant loss in PSNR • This research can be used as a basis of reference for transcoding other standards to VP6

  29. Proposed – H.264 to VP6 • The current study enables us to propose a new challenge – Transcoding H.264 to VP6 • Significant as H.264 is the new widely accepted industry standard Available resources • H.263 to H.264 transcoding algorithm • H.264 to MPEG2 transcoding algorithm • Video Transcoding Architectures and techniques • H.264 Standard (from ITU-T) Challenge • VP6 – Not much of published work

  30. Proposed – H.264 to VP6 • Heterogeneous transcoder provides conversion between various standards • Syntax conversion module • Extracted MVs converted to be compatible with encoding nature of output bitstream Heterogenous Video Transcoder [12]

  31. Proposed – H.264 to VP6 • Our aim is to reduce computational complexity • Need to omit ME and also avoid DCT/IDCT if possible • Blocks of I & B and intra – P transcoded in frequency domain • Inter – block in P frames in spatial domain motion compensation • Thus both spatial domain and frequency domain. So Hybrid Domain Transcoding Architecture (HDTA) Closed Loop Hybrid domain Transcoder [12]

  32. Proposed – H.264 to VP6 DCT Conversion block implement at DCT domain[14] Reduction in the number of calculations from proposed method[14] back

  33. The DCT conversion can be obtained in a multitude of steps as shown [] Bi = Li * B * RiB: 8 x 8 DCT Matrix; Bi: 4 x 4 Matrix; i = 0, 1, 2, 3 L0 = L1 = ( I4x4,04x4 )4x8 L2 = L3 = ( 04x4,I4x4 )4x8 R0 = R2 = ( I4x4;04x4 )8x4 R1 = R3 = ( 04x4;I4x4 )4x8 Using the distributive property of the DCT If H is the matrix used for getting the integer DCT from DCT, we have However to got our H.264 coefficients we need the modiefied H matrix –H’ For modified H matrix H’, we have back

  34. H.264 to VP6 • The table[15] shows how the modes are converted in a cascaded pixel domain transcoder • This information is used to decide the MB conversion modes as shown in the figure[15] on the right back

  35. Future – VP7 Codec from On2 • Best Video Compression technology according to On2 • Upto 50% image quality improvement over VP6 • Better performance than WMV 9, Real 10, H.264 & MPEG-2 • Ideal for embedded chipsets • Compresses HD materials with no restriction on encoder • ‘Fast Compress’ mode that can encode in real time • Constant datarate or variable datarate encoding

  36. About Me • Masters Student • Started Spring 2008 • Courses • Research Topic – H.264 to VP6 Transcoder

More Related