Presentation is loading. Please wait.

Presentation is loading. Please wait.

H.264 to VP6 Transcoding Jay R Padia MS Student, UT Arlington

Similar presentations


Presentation on theme: "H.264 to VP6 Transcoding Jay R Padia MS Student, UT Arlington"— Presentation transcript:

1 H.264 to VP6 Transcoding Jay R Padia MS Student, UT Arlington
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 Typical Huffman Encoding
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 Feature H.263 Baseline VP6 H.264 Baseline Picture type I, P Transform Size 8x8 4x4 Transform DCT Integer DCT Intra Prediction None Yes Motion Compensation 16x16, 8x8 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4 Total MB Modes 4 10 7 inter + (9 + 4) intra Motion Vector Resolution ½ pixel ¼ pixel Deblocking filter Reference Frames 1 Max 2 Multiple 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 , April 2006 I. Richardson, V-Codex, “White Paper – An overview of H.264 Advanced Video Coding”, 2007, 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,” August 13, 2005. On2 Technologies, Inc., “White Paper – On2 VP6 for Flash 8 Video”, September 12, 2005. C. Holder and H. Kalva, “H.263 to VP6 Video Transcoder”, SPIE, vol (VCIP), pp B, San Jose , CA , Jan

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 , 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 ITU-T Recommendation H.264 – Advanced Video Coding for Generic Audio-Visual services On2 Technologies, Inc., “White Paper – TrueMotion VP7 Video Codec”, 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 , 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 , 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 , Oct 2006

18 Thank You

19

20 H.264 & VP6 H.264/AVC TrueMotion VP6 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

21 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

22 Why VP6? – Why Flash? Importance of Flash Features [3][4]
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

23 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

24 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

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

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

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

28 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

29 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

30 Proposed – H.264 to VP6 Available resources Challenge
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

31 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]

32 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]

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

34 The DCT conversion can be obtained in a multitude of steps as shown []
Bi = Li * B * Ri B: 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

35 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

36 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

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


Download ppt "H.264 to VP6 Transcoding Jay R Padia MS Student, UT Arlington"

Similar presentations


Ads by Google