Just-in-Time Video Transcoding via Synchronized Command Frames

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing audio and video transcoding technologies face challenges in ensuring consistent video quality during just-in-time transcoding, as multiple workers may apply different transcoding parameters to mezzanine segments, leading to inconsistent bitrate, compression, frame rate, and audio alignment.

Innovation Solution

The method involves ingesting a video file, segmenting it into mezzanine segments, and using a timed command stream to populate video characteristics. These characteristics are then encoded into command frames and inserted into the mezzanine segments, allowing workers to transcode segments based on synchronized commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple workers transcode mezzanine segments independently, then processing speed increases, but video quality consistency deteriorates

Engineering Contradiction:
Improvetranscoding speedVSAvoidvideo quality consistency
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system performs preliminary emulation transcoding to generate a command stream with video characteristics before actual transcoding. This command stream is then distributed to multiple workers, ensuring they all follow the same quality parameters while maintaining parallel processing capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A command stream acts as an intermediary between the emulation transcoding process and the actual transcoding workers. The command stream contains video characteristics and instructions that mediate the transcoding process, ensuring consistency across multiple workers while allowing parallel execution

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If transcoding parameters are adjusted dynamically, then video quality improves, but processing complexity increases

Engineering Contradiction:
Improvevideo qualityVSAvoidtranscoding system complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The video file is segmented into multiple mezzanine segments that can be processed independently. Each segment receives appropriate transcoding parameters from the command stream, allowing dynamic quality adjustment without requiring complex coordination between segments

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes transcoding parameters dynamically based on video characteristics identified during emulation transcoding. The command stream carries these parameter changes to workers, enabling adaptive quality optimization without manual intervention

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12212810B2Method for audio and video just-in-time transcoding with command frames
Publication Date: 2025.01.28 MUX INC
  • US12212810B2 patent drawing
  • US12212810B2 patent drawing
  • US12212810B2 patent drawing

AI summary

A method includes: ingesting a video; initializing a timed command stream synchronized to the video; emulating transcoding of the video to derive a sequence of video characteristics of the video; populating the timed command stream with the sequence of video characteristics; segmenting the video into a series of mezzanine segments. The method further includes: for each mezzanine segment, in the series of mezzanine segments: retrieving instream video characteristics, in the sequence of video characteristics, contained within a first segment of the timed command stream corresponding to the mezzanine segment; retrieving upstream video characteristics, in the sequence of video characteristics, preceding the first segment of the timed command stream and informing transcoding of the mezzanine segment; transforming the instream video characteristics and the upstream video characteristics into a set of transcode commands; storing the set of transcode commands in command frames; and inserting the command frames into the mezzanine segment.