Distributed Frame Rate Conversion Using Timing Assistance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Frame rate conversion in distributed transcoding architectures is challenging due to cross-segment boundary issues and frame timing jitter, which can lead to inaccuracies in frame rate conversion and synchronization in video content delivery.

Innovation Solution

A transcoding management machine manages the distribution of video segments across multiple transcoding resources, providing timing assistance information to ensure accurate frame rate conversion, allowing each resource to process segments independently and reassemble the final transcoded stream at the new frame rate.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If video content is processed using a distributed parallel approach where segments are distributed to multiple transcoding machines, then processing speed and productivity are improved, but frame timing accuracy and synchronization quality deteriorate due to cross-segment boundary issues and jitter

Engineering Contradiction:
Improveprocessing speedVSAvoidframe timing accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The video content is divided into multiple segments that are distributed to different transcoding machines for parallel processing. Each segment is processed independently by a separate machine, enabling concurrent frame rate conversion operations while maintaining the ability to process large video files efficiently across a distributed system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Before distributing segments to transcoding machines, the system performs preliminary actions including: calculating precise timing information for each segment boundary, determining the number of frames to skip or duplicate in each segment based on target frame rate, and preparing synchronization metadata. This preliminary preparation ensures that when segments are reassembled, frame timing accuracy is maintained despite parallel processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 3:

The system implements feedback mechanisms where timing information from segment boundaries is used to adjust frame rate conversion parameters in adjacent segments. By analyzing the actual timing of frames at segment boundaries and comparing against expected timing, the system can compensate for jitter and timing drift that occurs during parallel processing, ensuring synchronized reassembly of the complete video stream.

Inventive Principle:
Principle #23Feedback

2Productivity

If frame rate conversion is performed independently on each distributed segment, then processing efficiency is improved, but frame timing synchronization and playback consistency deteriorate

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidframe timing synchronization
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system employs a universal timing calculation framework that works across all distributed segments regardless of their position in the video stream. The same timing algorithms and frame rate conversion logic are applied uniformly to every segment, ensuring consistent behavior across the distributed system. This universality allows independent processing while maintaining global synchronization through standardized timing references.

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

Solution Approach 2:

The system introduces timing metadata and synchronization information as an intermediary layer between independent segment processing and final video reassembly. This intermediary contains precise timing information, frame rate conversion parameters, and synchronization data that mediates between the independent processing of segments and the requirement for synchronized playback, ensuring that frame timing accuracy is restored during reassembly.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple versions of content are created for different devices and network conditions, then adaptability and client compatibility are improved, but processing complexity and resource requirements worsen

Engineering Contradiction:
Improveclient compatibilityVSAvoidprocessing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments video content and distributes different segment versions to multiple transcoding machines, each configured to produce content optimized for specific device types or network conditions. This segmentation enables parallel creation of multiple adaptive bitrate versions without requiring a single machine to handle all conversion tasks, reducing individual machine complexity while maintaining overall system adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs frame rate conversion by changing temporal parameters of the video content, including frame rate, frame duration, and timing information. By systematically varying these temporal parameters across different transcoding operations, the system generates multiple versions optimized for different playback conditions while using the same underlying distributed processing infrastructure, thereby managing complexity through parameterization rather than structural duplication.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9609049B2Frame-rate conversion in a distributed computing system
Publication Date: 2017.03.28 AKAMAI TECHNOLOGIES INC
  • US9609049B2 patent drawing
  • US9609049B2 patent drawing
  • US9609049B2 patent drawing

AI summary

Described herein are, among other things, distributed processing methods and systems for frame rate conversion. In an embodiment, a transcoding management machine manages a distributed transcoding process, creating a plurality of video segments and assigning the video segments across a set of distributed transcoding resources for frame rate conversion. The management machine typically sends a given segment to a given transcoding resource along with instructions to convert the frame rate to a specified output frame rate. In addition, the management machine can send certain transcoding assistance information that preferably facilitates the frame rate change process and helps the transcoding resource to create a more accurate output segment. Hence, in some embodiments, each transcoding resource can perform its transcode job independently, but with reference to the input segment it is responsible for transcoding and the assistance information provided by the management machine.