SlideShare une entreprise Scribd logo
1  sur  32
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]

Contenu connexe

Tendances

martelli.ppt
martelli.pptmartelli.ppt
martelli.ppt
Videoguy
 
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
 
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
Alpen-Adria-Universität
 

Tendances (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
 

Similaire à Configurable Video Coding

Video Workshop by Frederick Rodrigues
Video Workshop by Frederick RodriguesVideo Workshop by Frederick Rodrigues
Video Workshop by Frederick Rodrigues
Dan MacKinlay
 
Video Conferencing : Fundamentals and Application
Video Conferencing : Fundamentals and ApplicationVideo Conferencing : Fundamentals and Application
Video Conferencing : Fundamentals and Application
Videoguy
 
presentation
presentationpresentation
presentation
Videoguy
 
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
jliang2145
 

Similaire à 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
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

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.