Live Edge Detection Stabilizing Video Playback UI

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

During live media playback, users experience confusion due to frequent switching between features when the seekable range changes, causing the client device to toggle between 'watching-live' and 'not watching-live' states, leading to a flickering user interface and increased processing requirements.

Innovation Solution

Implementing three ranges - live, cycling, and trailing ranges - to determine the user's state, reducing the frequency of feature changes and minimizing flickering by stabilizing the user interface during network fluctuations and manifest updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the client device detects the user state based on the latest seekable point in the manifest, then the user can receive appropriate features for live or non-live playback, but the user interface flickers and features switch frequently when manifests are updated

Engineering Contradiction:
Improvefeature adaptationVSAvoiduser interface stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The system pre-calculates and stores the distance between the current playback position and the live edge before manifest updates occur. This preliminary measurement allows the system to maintain consistent user state detection even when the manifest changes, preventing unnecessary feature toggling and interface flickering.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces a buffer zone or threshold distance from the live edge that prevents immediate state changes. By requiring the playback position to be within this cushioned distance threshold before triggering live edge features, the system filters out minor manifest update fluctuations and maintains interface stability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Measurement precision

If the client device continuously monitors and updates the user state with each manifest change, then the system responds accurately to playback position changes, but processing resources are consumed and feature toggling increases

Engineering Contradiction:
Improvelive edge detection accuracyVSAvoidprocessing resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

Instead of continuously monitoring every manifest update, the system performs partial monitoring by only triggering state changes when the playback position enters or exits the predefined distance threshold from the live edge. This selective monitoring maintains detection accuracy for significant events while reducing processing overhead from unnecessary continuous checks.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes the detection parameter from absolute position matching to relative distance threshold comparison. By measuring the distance between current playback position and live edge rather than comparing exact timestamps, the system achieves robust detection that is tolerant of manifest update variations while consuming fewer processing resources.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10666699B2Live edge detection during video playback
Publication Date: 2020.05.26 HULU LLC
  • US10666699B2 patent drawing
  • US10666699B2 patent drawing
  • US10666699B2 patent drawing

AI summary

In some embodiments, a method may calculates a latest seekable point for a live edge of a media program and determines a current playback position of the media program. The latest seekable point for the live edge corresponds to a latest time in the media program that can be played within a threshold. The method selects among a first range, a second range, and a third range based on the current playback position and the latest seekable point. A first feature is enabled when the first range is selected, a second feature is enabled when the second range is selected, and whichever of the first feature or the second feature that is currently enabled is not changed to continue displaying whichever of the first feature and the second feature that is currently enabled when the third range is selected.