SlideShare a Scribd company logo
Configurable Video Codin g Fast, Flexible Multimedia Processing Iain Richardson and Maja Bystrom OneCodec Ltd  onecodec.com openvideocoding.org Embedded Systems Convention,  Boston, September 2010
What we will talk about
 
Low quality Low compression High computation High quality High compression Low computation POOR PERFORMANCE GOOD PERFORMANCE
We have problems
 
 
Lots of Options = Good Performance
What happens if we keep increasing  the options?
A New Approach:  Configurable Video Coding   MPEG Reconfigurable Video Coding Fully Configurable Video Coding Configurable Video Decoder Compressed video Decoder Configuration Decoder Configuration  Parsing/Instantiation Video Frames
 
 
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
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
How it Works: Encoder  Selected  FUs Video Tool Library (Functional  Units) BSDL Decoder Description Language (DDL) DDL  Generator Specifies FUs and their connections Functional Units are described in the dataflow-oriented language CAL basic components are “actors” tokens interface between actors FNL  Generator FU Network Language (FNL) Bitstream syntax description
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
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
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
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
  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
RVC Challenges Supporting Tools Profilers Schedulers Software Synthesis Tool Library Additional Platforms Encoding  Toolbox
Fully Configurable Video Coding
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
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
Seven-entry program instruction sets Variable and data descriptors 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 - -
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
Demonstration config video …
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
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
For Further Information or to Participate mpeg.chiariglione.org/visions/rvc/ www.openvideocoding.org embedded.eecs.berkeley.edu/caltrop sourceforge.net/projects/opendf sourceforge.net/apps/trac/orcc onecodec.com
Contact Information Twitter:  @onecodec [email_address] [email_address]

More Related Content

PDF
Compressed Video Quality
PPT
Introduction to H.264 Advanced Video Compression
PPT
Iain Richardson: An Introduction to Video Compression
PPT
Getting the most out of H.264
PPT
Book Launch: The H.264 Advanced Video Compression Standard
PDF
h.264 video compression standard.
PDF
PR-365: Fast object detection in compressed video
PDF
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...
Compressed Video Quality
Introduction to H.264 Advanced Video Compression
Iain Richardson: An Introduction to Video Compression
Getting the most out of H.264
Book Launch: The H.264 Advanced Video Compression Standard
h.264 video compression standard.
PR-365: Fast object detection in compressed video
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...

What's hot (16)

PPT
Algorithm of standard videocodec H.264
PPT
martelli.ppt
PPTX
Machine Learning approaches at video compression
PPTX
Generic Video Adaptation Framework Towards Content – and Context Awareness in...
PDF
[IJET-V1I2P1] Authors :Imran Ullah Khan ,Mohd. Javed Khan ,S.Hasan Saeed ,Nup...
PDF
Bitmovin AV1/VVC Presentation_Streaming Media East by Christian Feldmann
PDF
Introduction to video reverse engineering
PDF
Versatile Video Coding: Compression Tools for UHD and 360° Video
PDF
The Cryptol Epilogue: Swift and Bulletproof VHDL
PDF
I Lab5 Demos
PDF
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNF
PDF
FaME-ML: Fast Multirate Encoding for HTTP Adaptive Streaming Using Machine Le...
PDF
Metasepi Demo at PPL2015
DOCX
Turbo code
PPTX
On Optimizing Resource Utilization in AVC-based Real-time Video Streaming
PDF
Real time SHVC decoder
Algorithm of standard videocodec H.264
martelli.ppt
Machine Learning approaches at video compression
Generic Video Adaptation Framework Towards Content – and Context Awareness in...
[IJET-V1I2P1] Authors :Imran Ullah Khan ,Mohd. Javed Khan ,S.Hasan Saeed ,Nup...
Bitmovin AV1/VVC Presentation_Streaming Media East by Christian Feldmann
Introduction to video reverse engineering
Versatile Video Coding: Compression Tools for UHD and 360° Video
The Cryptol Epilogue: Swift and Bulletproof VHDL
I Lab5 Demos
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNF
FaME-ML: Fast Multirate Encoding for HTTP Adaptive Streaming Using Machine Le...
Metasepi Demo at PPL2015
Turbo code
On Optimizing Resource Utilization in AVC-based Real-time Video Streaming
Real time SHVC decoder
Ad

Similar to Configurable Video Coding (20)

PPT
Introduction to directshow II
PPT
Ch07_-_Multimedia_Element-Video_1_.ppt
DOCX
audio-codec.docx
DOCX
video-encoder.docx
PPT
Adobe Session on Flash Online Conference #12
PPT
JPEG2000 Alliance IBC 2009
PPTX
Mm video
PPTX
Video Workshop by Frederick Rodrigues
PPT
Video Conferencing : Fundamentals and Application
PPTX
3D Video Programming for Android
PPT
YUVsoft Profile
DOC
Sandeep_Resume
PPT
presentation
PPT
Mips track a
PPTX
Industrial Technology Multimedia Video Theory Prelim Course
PPTX
Fpga video capturing
PDF
Blackmagic design cinema camera
PPT
Introduction to Blackfin BF532 DSP
PDF
Multi media unit-3.doc
PPTX
Video compression
Introduction to directshow II
Ch07_-_Multimedia_Element-Video_1_.ppt
audio-codec.docx
video-encoder.docx
Adobe Session on Flash Online Conference #12
JPEG2000 Alliance IBC 2009
Mm video
Video Workshop by Frederick Rodrigues
Video Conferencing : Fundamentals and Application
3D Video Programming for Android
YUVsoft Profile
Sandeep_Resume
presentation
Mips track a
Industrial Technology Multimedia Video Theory Prelim Course
Fpga video capturing
Blackmagic design cinema camera
Introduction to Blackfin BF532 DSP
Multi media unit-3.doc
Video compression
Ad

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPT
Teaching material agriculture food technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Unlocking AI with Model Context Protocol (MCP)
Spectral efficient network and resource selection model in 5G networks
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Spectroscopy.pptx food analysis technology
Digital-Transformation-Roadmap-for-Companies.pptx
Review of recent advances in non-invasive hemoglobin estimation
Per capita expenditure prediction using model stacking based on satellite ima...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
MIND Revenue Release Quarter 2 2025 Press Release
MYSQL Presentation for SQL database connectivity
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Teaching material agriculture food technology
NewMind AI Weekly Chronicles - August'25 Week I
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
20250228 LYD VKU AI Blended-Learning.pptx

Configurable Video Coding

  • 1. Configurable Video Codin g Fast, Flexible Multimedia Processing Iain Richardson and Maja Bystrom OneCodec Ltd onecodec.com openvideocoding.org Embedded Systems Convention, Boston, September 2010
  • 2. What we will talk about
  • 3.  
  • 4. Low quality Low compression High computation High quality High compression Low computation POOR PERFORMANCE GOOD PERFORMANCE
  • 6.
  • 7.  
  • 8.  
  • 9. Lots of Options = Good Performance
  • 10. What happens if we keep increasing the options?
  • 11. A New Approach: Configurable Video Coding MPEG Reconfigurable Video Coding Fully Configurable Video Coding Configurable Video Decoder Compressed video Decoder Configuration Decoder Configuration Parsing/Instantiation Video Frames
  • 12.  
  • 13.  
  • 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. How it Works: Encoder Selected FUs Video Tool Library (Functional Units) BSDL Decoder Description Language (DDL) DDL Generator Specifies FUs and their connections Functional Units are described in the dataflow-oriented language CAL basic components are “actors” tokens interface between actors FNL Generator FU Network Language (FNL) Bitstream syntax description
  • 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
  • 22. RVC Challenges Supporting Tools Profilers Schedulers Software Synthesis Tool Library Additional Platforms Encoding Toolbox
  • 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. Seven-entry program instruction sets Variable and data descriptors 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 - -
  • 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
  • 31. For Further Information or to Participate mpeg.chiariglione.org/visions/rvc/ www.openvideocoding.org embedded.eecs.berkeley.edu/caltrop sourceforge.net/projects/opendf sourceforge.net/apps/trac/orcc onecodec.com
  • 32. Contact Information Twitter: @onecodec [email_address] [email_address]