SlideShare a Scribd company logo
Configurable Video Codin g Fast, Flexible Multimedia Processing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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   ,[object Object],[object Object],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 ,[object Object],[object Object],[object Object],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
[object Object],[object Object],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 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Contact Information ,[object Object],[object Object],[object Object]

More Related Content

What's hot

martelli.ppt
martelli.pptmartelli.ppt
martelli.pptVideoguy
 
Machine Learning approaches at video compression
Machine Learning approaches at video compression Machine Learning approaches at video compression
Machine Learning approaches at video compression Roberto Iacoviello
 
Generic Video Adaptation Framework Towards Content – and Context Awareness in...
Generic Video Adaptation Framework Towards Content – and Context Awareness in...Generic Video Adaptation Framework Towards Content – and Context Awareness in...
Generic Video Adaptation Framework Towards Content – and Context Awareness in...Alpen-Adria-Universität
 
Bitmovin AV1/VVC Presentation_Streaming Media East by Christian Feldmann
Bitmovin AV1/VVC Presentation_Streaming Media East by Christian FeldmannBitmovin AV1/VVC Presentation_Streaming Media East by Christian Feldmann
Bitmovin AV1/VVC Presentation_Streaming Media East by Christian FeldmannBitmovin Inc
 
Introduction to video reverse engineering
Introduction to video reverse engineeringIntroduction to video reverse engineering
Introduction to video reverse engineeringVittorio Giovara
 
Versatile Video Coding: Compression Tools for UHD and 360° Video
Versatile Video Coding: Compression Tools for UHD and 360° VideoVersatile Video Coding: Compression Tools for UHD and 360° Video
Versatile Video Coding: Compression Tools for UHD and 360° VideoMathias Wien
 
The Cryptol Epilogue: Swift and Bulletproof VHDL
The Cryptol Epilogue: Swift and Bulletproof VHDLThe Cryptol Epilogue: Swift and Bulletproof VHDL
The Cryptol Epilogue: Swift and Bulletproof VHDLUlisses Costa
 
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNF
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNFPBLib - A Library for Encoding Pseudo-Boolean Constraints into CNF
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNFTobias Philipp
 
FaME-ML: Fast Multirate Encoding for HTTP Adaptive Streaming Using Machine Le...
FaME-ML: Fast Multirate Encoding for HTTP Adaptive Streaming Using Machine Le...FaME-ML: Fast Multirate Encoding for HTTP Adaptive Streaming Using Machine Le...
FaME-ML: Fast Multirate Encoding for HTTP Adaptive Streaming Using Machine Le...Alpen-Adria-Universität
 
Metasepi Demo at PPL2015
Metasepi Demo at PPL2015Metasepi Demo at PPL2015
Metasepi Demo at PPL2015Kiwamu Okabe
 
On Optimizing Resource Utilization in AVC-based Real-time Video Streaming
On Optimizing Resource Utilization in AVC-based Real-time Video StreamingOn Optimizing Resource Utilization in AVC-based Real-time Video Streaming
On Optimizing Resource Utilization in AVC-based Real-time Video StreamingAlpen-Adria-Universität
 

What's hot (16)

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

Similar to Configurable Video Coding

Introduction to directshow II
Introduction to directshow IIIntroduction to directshow II
Introduction to directshow IIYoss Cohen
 
Ch07_-_Multimedia_Element-Video_1_.ppt
Ch07_-_Multimedia_Element-Video_1_.pptCh07_-_Multimedia_Element-Video_1_.ppt
Ch07_-_Multimedia_Element-Video_1_.pptdjempol
 
video-encoder.docx
video-encoder.docxvideo-encoder.docx
video-encoder.docxssuser1eca7d
 
Adobe Session on Flash Online Conference #12
Adobe Session on Flash Online Conference #12Adobe Session on Flash Online Conference #12
Adobe Session on Flash Online Conference #12Flash Conference
 
JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009Hal J. Reisiger
 
Video Workshop by Frederick Rodrigues
Video Workshop by Frederick RodriguesVideo Workshop by Frederick Rodrigues
Video Workshop by Frederick RodriguesDan MacKinlay
 
Video Conferencing : Fundamentals and Application
Video Conferencing : Fundamentals and ApplicationVideo Conferencing : Fundamentals and Application
Video Conferencing : Fundamentals and ApplicationVideoguy
 
3D Video Programming for Android
3D Video Programming for Android3D Video Programming for Android
3D Video Programming for AndroidYoss Cohen
 
presentation
presentationpresentation
presentationVideoguy
 
Industrial Technology Multimedia Video Theory Prelim Course
Industrial Technology Multimedia Video Theory Prelim CourseIndustrial Technology Multimedia Video Theory Prelim Course
Industrial Technology Multimedia Video Theory Prelim Coursejliang2145
 
Fpga video capturing
Fpga video capturingFpga video capturing
Fpga video capturingshehryar88
 
Blackmagic design cinema camera
Blackmagic design cinema cameraBlackmagic design cinema camera
Blackmagic design cinema cameraElectronic Bazaar
 
Video compression
Video compressionVideo compression
Video compressionDarkNight14
 

Similar to Configurable Video Coding (20)

Introduction to directshow II
Introduction to directshow IIIntroduction to directshow II
Introduction to directshow II
 
Ch07_-_Multimedia_Element-Video_1_.ppt
Ch07_-_Multimedia_Element-Video_1_.pptCh07_-_Multimedia_Element-Video_1_.ppt
Ch07_-_Multimedia_Element-Video_1_.ppt
 
audio-codec.docx
audio-codec.docxaudio-codec.docx
audio-codec.docx
 
video-encoder.docx
video-encoder.docxvideo-encoder.docx
video-encoder.docx
 
Adobe Session on Flash Online Conference #12
Adobe Session on Flash Online Conference #12Adobe Session on Flash Online Conference #12
Adobe Session on Flash Online Conference #12
 
JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009
 
Mm video
Mm videoMm video
Mm video
 
Video Workshop by Frederick Rodrigues
Video Workshop by Frederick RodriguesVideo Workshop by Frederick Rodrigues
Video Workshop by Frederick Rodrigues
 
Video Conferencing : Fundamentals and Application
Video Conferencing : Fundamentals and ApplicationVideo Conferencing : Fundamentals and Application
Video Conferencing : Fundamentals and Application
 
3D Video Programming for Android
3D Video Programming for Android3D Video Programming for Android
3D Video Programming for Android
 
YUVsoft Profile
YUVsoft ProfileYUVsoft Profile
YUVsoft Profile
 
Sandeep_Resume
Sandeep_ResumeSandeep_Resume
Sandeep_Resume
 
presentation
presentationpresentation
presentation
 
Mips track a
Mips   track aMips   track a
Mips track a
 
Industrial Technology Multimedia Video Theory Prelim Course
Industrial Technology Multimedia Video Theory Prelim CourseIndustrial Technology Multimedia Video Theory Prelim Course
Industrial Technology Multimedia Video Theory Prelim Course
 
Fpga video capturing
Fpga video capturingFpga video capturing
Fpga video capturing
 
Blackmagic design cinema camera
Blackmagic design cinema cameraBlackmagic design cinema camera
Blackmagic design cinema camera
 
Introduction to Blackfin BF532 DSP
Introduction to Blackfin BF532 DSPIntroduction to Blackfin BF532 DSP
Introduction to Blackfin BF532 DSP
 
Multi media unit-3.doc
Multi media unit-3.docMulti media unit-3.doc
Multi media unit-3.doc
 
Video compression
Video compressionVideo compression
Video compression
 

Recently uploaded

Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 

Recently uploaded (20)

Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 

Configurable Video Coding

  • 1.
  • 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.
  • 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.
  • 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.
  • 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.
  • 32.