Video Stream Transcoding via Shared Prediction Buffer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video compression technologies face inefficiencies in delivering multiple versions of a video sequence at different operational points, such as different qualities, spatial resolutions, or frame rates, as each version is coded and transmitted separately, which is time-consuming.

Innovation Solution

A method where a server receives requests from multiple client terminals, predicts macroblocks of frames to generate sets of predictions, transforms these predictions into quantized coefficients, and encodes them into multiple coded video streams with varying resolutions, allowing for efficient transmission of multiple video versions from a single decoded source video.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If each video version is coded independently, then each version can be optimized for its specific requirements, but the coding process becomes very time-consuming

Engineering Contradiction:
Improvevideo version optimizationVSAvoidcoding speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges the prediction generation step across multiple video versions by predicting macroblocks once and storing the predictions in a prediction buffer. These predictions are then reused for multiple transform procedures that generate different coded video streams, eliminating redundant prediction calculations and significantly reducing coding time while maintaining version-specific optimization

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs prediction generation as a preliminary action before the transform and coding stages. By predicting macroblocks in advance and storing them in a prediction buffer, the system prepares reusable prediction data that can be efficiently utilized in subsequent transform procedures for multiple video versions, reducing overall processing time

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If multiple video versions are transmitted separately, then each version can be delivered to specific clients, but the transmission process is time-consuming

Engineering Contradiction:
Improveclient-specific deliveryVSAvoidtransmission time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent combines multiple transform procedures into a unified prediction-based framework where a single prediction buffer serves multiple versions. By reusing predictions across different transform procedures that generate various coded video streams, the system reduces the total processing and transmission time while maintaining the ability to deliver optimized versions to different clients

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9313516B2Method for transcoding video streams with reduced number of predictions
Publication Date: 2016.04.12 HANGZHOU ARCVIDEO TECHNOLOGY CO LTD
  • US9313516B2 patent drawing
  • US9313516B2 patent drawing
  • US9313516B2 patent drawing

AI summary

A first request and a second request are received from a first client terminal and a second client terminal respectively. In response to the first request and second request, a first set of predictions is generated by predicting macroblocks of frames of a video stream. In response to the first request, a first set of quantized transform coefficients is generated by transforming the first set of predictions, and a first coded video stream is generated by coding the first set of quantized transform coefficients. In response to the second request, a second set of quantized transform coefficients is generated by transforming the first set of predictions, and a second coded video stream is generated by coding the second set of quantized transform coefficients. Finally, the first coded video stream is transmitted to the first client terminal, and the second coded video stream is transmitted to the second client terminal.