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.
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
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
16.
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
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
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
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
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
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
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
26.
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
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
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