Media Container Embedded Code for Format Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Media engines often lack the necessary components to process various audio and video encoding formats and container formats, leading to partial or incomplete playback of media content, requiring content providers to create multiple versions of the same content for different devices, which is wasteful in terms of storage and processing resources.

Innovation Solution

Embedding runnable code, such as JavaScript, within media containers to execute on the receiving apparatus and perform necessary processing, including transcoding, multiplexing, and format conversion, to support playback of media content by the media engine, even if it lacks specific decoding capabilities or container format support.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If media engines are designed with support for multiple encoding formats and container formats, then playback compatibility is improved, but device complexity increases

Engineering Contradiction:
Improveplayback compatibilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A format conversion service acts as an intermediary between the media container and the media engine. This service receives media containers in various formats, converts them to a standardized internal format, and then provides them to the media engine. This mediator approach enables the media engine to maintain simple, fixed functionality while still supporting multiple input formats through the conversion service layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system is segmented into distinct functional components: a format conversion service that handles format adaptation, and a media engine that handles playback. This segmentation allows each component to be optimized independently - the conversion service handles format diversity while the media engine maintains simplicity, resolving the contradiction between versatility and complexity.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If content providers create multiple versions of the same content for different devices, then playback compatibility is improved, but storage and processing resources are wasted

Engineering Contradiction:
Improveplayback compatibilityVSAvoidstorage and processing resources
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

A single media container is designed to serve multiple device types through the format conversion service. Instead of creating separate versions for different devices, the universal container format can be converted to any required format by the service, eliminating the need for multiple content versions and reducing storage and processing resource waste.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The format conversion service dynamically changes format parameters (encoding schemes, container formats) based on the target device capabilities, while the content itself remains unchanged. This parameter-based adaptation allows one content version to serve multiple devices, avoiding the resource waste of creating multiple content versions.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If format conversion is performed on the server side before delivery, then playback compatibility is improved, but processing time and server load increase

Engineering Contradiction:
Improveplayback compatibilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The media container is pre-prepared in a universal format that contains all necessary information for conversion. The format conversion service performs conversion only when needed based on device capability detection, rather than pre-converting to all possible formats. This preliminary preparation approach reduces unnecessary processing time while maintaining compatibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically determines the appropriate format conversion based on real-time device capability detection. Rather than static pre-conversion to all formats or no conversion, the service adaptively performs conversion only when and how needed, optimizing processing time based on actual device requirements.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If the media engine directly processes all container formats, then playback compatibility is improved, but the media engine complexity increases

Engineering Contradiction:
Improveplayback compatibilityVSAvoidmedia engine complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The format conversion service serves as an intermediary layer between diverse container formats and the media engine. This mediator handles all format-specific processing, allowing the media engine to maintain a simple, fixed design that interacts with a standardized internal format, thus improving compatibility without increasing engine complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Format conversion functionality is extracted from the media engine and placed in a separate format conversion service. This extraction removes the complexity of handling multiple formats from the media engine itself, allowing it to remain simple while still achieving broad compatibility through the external conversion service.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11368745B2Processing media data structures
Publication Date: 2022.06.21 DOLBY INTERNATIONAL AB
  • US11368745B2 patent drawing
  • US11368745B2 patent drawing
  • US11368745B2 patent drawing

AI summary

A method of playing out media from a media engine run on a receiving apparatus, the method comprising: at the receiving apparatus, receiving a media data structure comprising audio or video content formatted in a plurality of layers, including at least a first layer comprising the audio or video content encoded according to an audio or video encoding scheme respectively, and a second layer encapsulating the encoded content in one or more media containers according to a media container format; determining that at least one of the media containers further encapsulates runnable code for processing at least some of the formatting of the media data structure in order to support playout of the audio or video content by the media engine; running the code on a code engine of the receiving apparatus in order to perform the processing of the media data structure for input to the media engine.