Just-in-time encoding for streaming media content

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for adaptive streaming of media content require encoding media into multiple quality levels, which is time-consuming and resource-intensive, making it costly to store and deliver, especially for less popular content, thus discouraging content providers from hosting user-created or user-uploaded content.

Innovation Solution

Implementing a just-in-time encoding system that encodes media content on demand at the requested quality level, allowing for random access and on-the-fly creation of slices, reducing the need for pre-encoded multiple copies and minimizing storage and computational resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If media content is encoded into multiple quality levels for adaptive streaming, then the viewer experience quality is improved and adaptability to different network conditions is enhanced, but the computational resources required for encoding increase significantly and storage costs rise due to multiple copies

Engineering Contradiction:
Improveadaptability to network conditionsVSAvoidcomputational resources for encoding
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary segmentation of media content into temporal slices and pre-encodes them at multiple quality levels before streaming. This allows the encoding work to be done in advance when computational resources are available, rather than in real-time during streaming, thus reducing the computational burden during playback while maintaining adaptive streaming capabilities

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The media content is divided into multiple temporal slices or segments that can be independently encoded and streamed. This segmentation allows the system to encode only the necessary portions at different quality levels, reducing the overall computational resources required compared to encoding the entire content at all quality levels simultaneously

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If media content is encoded into multiple quality levels, then the ability to serve different playback devices is improved, but the storage space required increases due to multiple encoded copies

Engineering Contradiction:
Improvecompatibility with playback devicesVSAvoidstorage space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system creates a universal set of encoded slices at multiple quality levels that can serve multiple different playback devices and network conditions. By segmenting the content and creating a hierarchical structure of quality levels, a single set of encoded slices can adaptively serve various devices, reducing the need for device-specific encodings while maintaining broad compatibility

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

Solution Approach 2:

The system performs preliminary encoding of media content into multiple quality levels and stores these encoded slices in advance. This allows the encoded content to be readily available for streaming without requiring real-time encoding, thus reducing storage requirements compared to keeping original high-quality files while still providing multiple quality options

Inventive Principle:
Principle #10Preliminary action

3Speed

If media content is pre-encoded at multiple quality levels, then the streaming delivery speed is improved, but the upfront encoding time and resource costs increase

Engineering Contradiction:
Improvestreaming delivery speedVSAvoidupfront encoding time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary encoding of media content into multiple quality levels and segmenting it into temporal slices before streaming. This upfront encoding work is done when computational resources are available, allowing fast streaming delivery without real-time encoding delays. The encoded slices are stored and can be quickly delivered to clients based on their network conditions and device capabilities

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The media content is divided into multiple temporal slices that can be independently encoded and delivered. This segmentation allows the system to encode and deliver smaller units of content, reducing the overall encoding time required compared to encoding the entire content as a single unit, while still enabling fast streaming through parallel processing of multiple slices

Inventive Principle:
Principle #1Segmentation

4Productivity

If multiple copies of media content are stored at different quality levels, then the ability to provide adaptive streaming is improved, but the storage costs and bandwidth requirements increase

Engineering Contradiction:
Improveadaptive streaming capabilityVSAvoidbandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary encoding and segmentation of media content into multiple quality levels, storing the encoded slices in advance. This allows the system to serve clients from pre-encoded content rather than performing real-time encoding, reducing the computational energy required during streaming while maintaining adaptive streaming capabilities. The pre-encoded slices are delivered based on client needs, optimizing bandwidth usage

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9609340B2Just-in-time (JIT) encoding for streaming media content
Publication Date: 2017.03.28 VERIZON PATENT & LICENSING INC
  • US9609340B2 patent drawing
  • US9609340B2 patent drawing
  • US9609340B2 patent drawing

AI summary

A method and system for just-in-time (JIT) encoding of media content is described. The JIT encoder allows a server to create one or more slices of requested portions of the media content according to one of the available quality profiles when requested without previously creating and storing different copies of the media content at the different quality profiles.