Configurable Video Coding

5,000 views
4,766 views

Published on

Presentation by Iain Richardson and Maja Bystrom at the Embedded Systems Convention, Boston, 2010. The problems with video codecs; MPEG's Reconfigurable Video Coding; fully configurable video coding.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,000
On SlideShare
0
From Embeds
0
Number of Embeds
1,590
Actions
Shares
0
Downloads
115
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Configurable Video Coding

  1. 1. Configurable Video Codin g Fast, Flexible Multimedia Processing <ul><li>Iain Richardson and Maja Bystrom </li></ul><ul><li>OneCodec Ltd </li></ul><ul><li>onecodec.com </li></ul><ul><li>openvideocoding.org </li></ul><ul><li>Embedded Systems Convention, </li></ul><ul><li>Boston, September 2010 </li></ul>
  2. 2. What we will talk about
  3. 4. Low quality Low compression High computation High quality High compression Low computation POOR PERFORMANCE GOOD PERFORMANCE
  4. 5. We have problems
  5. 6.
  6. 9. Lots of Options = Good Performance
  7. 10. What happens if we keep increasing the options?
  8. 11. A New Approach: Configurable Video Coding <ul><li>MPEG Reconfigurable Video Coding </li></ul><ul><li>Fully Configurable Video Coding </li></ul>Configurable Video Decoder Compressed video Decoder Configuration Decoder Configuration Parsing/Instantiation Video Frames
  9. 14. Coded video Video Frames Video Decoder CONVENTIONAL STANDARDS Reconfigurable Video Decoder Coded video Config Video Tool Library Video Frames MPEG RECONFIGURABLE VIDEO CODING Universal Video Decoder v C Video Frames C v C v FULLY CONFIGURABLE VIDEO CODING
  10. 15. RVC Vision: Working within the Standard FU Instantiation Compressed Video Decoder Description MPEG Video Tool Library (FUs) Decoder Instantiation Decoder Decoder Model Instantiation Abstract Decoder Model Video Frames Standardized Toolset
  11. 16. How it Works: Encoder Selected FUs Video Tool Library (Functional Units) BSDL Decoder Description Language (DDL) DDL Generator Specifies FUs and their connections <ul><li>Functional Units are described in the dataflow-oriented language CAL </li></ul><ul><ul><li>basic components are “actors” </li></ul></ul><ul><ul><li>tokens interface between actors </li></ul></ul>FNL Generator FU Network Language (FNL) Bitstream syntax description
  12. 17. CAL Example from Janneck, et al. “Translating Dataflow Programs to Efficient Hardware: an MPEG-4 Simple Profile Case Study”, DATE, 2008. actor ForemanSource() int (size=8) MPEG, int (size=8) COMPARE = = > int (size=8) dataout, int (size=32) errors : int mismatch :=0; int (size=24) count := 0; action MPEG:[mpeg], COMPARE:[comp] = = > dataout:[mpeg] guard mismatch = 0 do mismatch := bitxor(mpeg, comp); count := count +1; end action = = > errors:[ bitor( lshift(count,0)), bitand(old mismatch, 0xFF))] guard mismatch := 0 do mismatch := 0; end end ForemanSource MPEG COMPARE dataout errors
  13. 18. How it Works: Decoder FU Instantiation Compressed Video Decoder Instantiation Decoder Decoder Model Instantiation FNL FNL decoder BSDL MPEG Video Tool Library (FUs) Parser Generation Abstract Decoder Model Parser Decoder Description (FUs with connections) Video Frames
  14. 19. Decoder Instantiation Options Examples taken from Gorin, et al., “A MPEG RVC decode implementation based on Low Level Virtual Machine (LLVM), MPEG m17318, ( Kyoto), 2010 Compressed Video C synthesis using Orcc + compilation Decoder Compressed Video Java synthesis using Orcc + compilation Decoder Video Frames Video Frames
  15. 20. Performance: Hardware Synthesis Data taken from Janneck, et al. “Translating Dataflow Programs to Efficient Hardware: an MPEG-4 Simple Profile Case Study”, DATE, 2008. Hardware Synthesis Method Processing Time (MB/s) Size (Slices, BRAM) VHDL 180k 4637 CAL 290k 3872
  16. 21. RVC Benefits Shorter time to market Rapid upgrades Custom decoders Cheaper decoders Modular hardware? Current + new formats Research opportunities Better video quality Customizable to content
  17. 22. RVC Challenges Supporting Tools Profilers Schedulers Software Synthesis Tool Library Additional Platforms Encoding Toolbox
  18. 23. Fully Configurable Video Coding
  19. 24. How it works: Encoder Algorithm/ function code Decoder Description Syntax (DDS) Parser Configuration engine chooses functions/algorithms which are specified in reduced form of C
  20. 25. Variables Program Decoding Tool Variables Program Decoding Tool UVD engine Video Frames Variables Program Decoding Tool DDS Compressed Video Bitstream DDS decoder How it works: Decoder
  21. 26. <ul><li>Seven-entry program instruction sets </li></ul><ul><li>Variable and data descriptors </li></ul>Decoder Description Syntax … Operation Symbol/ Descrip. Type OPCODE Type (out) out Type (in 1) in1 Type (in 2) in2 out = in1 + in2 + int 0 - idx - idx - idx out = in1 – in2 - int 1 - idx - idx - idx for(init,cond,post) {} for loop - 34 offset idx offset idx offset idx offset idx flag idx - -
  22. 27. Universal Video Decoder DDS Function decoder/ Initialise DDS Compressed Video Decoder Execution Manager Data Function Object Data Instructions Data Function Object Data Instructions Machine executable code JIT Compiler Optimiser M/C Code generator
  23. 28. Demonstration config video …
  24. 29. FCVC Benefits Shorter time to market Instantaneous upgrades Custom decoders Cheaper decoders Modular hardware? Current + new formats Better video quality Research opportunities Customizable to content Customizable to resources
  25. 30. FCVC Challenges Adaptive coding algorithms Universal Video Decoder Fast Software UVDs Efficient Hardware UVDs Decoder Description Syntax Finalize DDS Standard decoders in DDS Transport protocols
  26. 31. For Further Information or to Participate <ul><li>mpeg.chiariglione.org/visions/rvc/ </li></ul><ul><li>www.openvideocoding.org </li></ul><ul><li>embedded.eecs.berkeley.edu/caltrop </li></ul><ul><li>sourceforge.net/projects/opendf </li></ul><ul><li>sourceforge.net/apps/trac/orcc </li></ul><ul><li>onecodec.com </li></ul>
  27. 32. Contact Information <ul><li>Twitter: @onecodec </li></ul><ul><li>[email_address] </li></ul><ul><li>[email_address] </li></ul>

×