Distributed Video Encoding I-Frame Placement and Bit Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed video encoding systems struggle with accurately placing I-Frames in the output video and efficiently allocating bits per frame, leading to suboptimal video quality and encoding performance, especially when dealing with variable complexity segments and camera movements.

Innovation Solution

The proposed solution involves a distributed video encoding system that uses a complexity analyzer to allocate bits per frame based on segment complexity, splits the video into overlapping segments for precise key frame placement, and employs multiple encoders to ensure accurate I-Frame placement and uniform quality across segments, while also performing image stabilization using distributed processing nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If video is split into multiple segments for distributed encoding, then encoding can be performed in parallel to improve speed, but accurate I-Frame placement becomes difficult to achieve

Engineering Contradiction:
Improveencoding speedVSAvoidI-Frame placement accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The video is divided into multiple segments that are processed in parallel by different encoding nodes. Each segment is independently encoded while maintaining the ability to place I-Frames at desired locations through coordinated segmentation strategies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

I-Frame placement locations are predetermined and planned before the distributed encoding process begins. The segmentation and encoding are organized in advance to ensure that I-Frames are placed at the correct positions in the final output video.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If bits are allocated uniformly across all frames, then encoding process is simple, but video quality varies poorly for segments with different complexity

Engineering Contradiction:
Improveencoding process complexityVSAvoidvideo quality uniformity
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

Bit allocation is adjusted locally for each segment based on its complexity characteristics. High complexity segments receive more bits while low complexity segments receive fewer bits, ensuring uniform video quality across the entire video without requiring complex global optimization.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If encoding is performed on devices with limited processing power, then devices can operate independently, but encoding speed and quality are limited

Engineering Contradiction:
Improvedevice independenceVSAvoidencoding speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The video encoding task is segmented and distributed across multiple independent devices. Each device processes its assigned segment locally without requiring continuous communication with other devices, maintaining independence while achieving parallel processing speeds.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10506235B2Distributed control of video encoding speeds
Publication Date: 2019.12.10 META PLATFORMS INC
  • US10506235B2 patent drawing
  • US10506235B2 patent drawing
  • US10506235B2 patent drawing

AI summary

Video encoding operation is performed in a distributed video encoding system to meet a service layer agreement such as a target time for completion of the video encoding operation. Each of multiple videos being encoded is split into smaller jobs corresponding to video segments of the videos. The jobs are processed according to a job queue. The sequence of jobs in the job queue is periodically updated such that jobs corresponding to each video are processed within the corresponding target encoding time.