Iterative Seek Time Positioning in Streaming Video Files
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional video players face challenges in seeking to a specific location within a video file without access to an index, particularly when the file is being downloaded or streamed, as existing methods are computationally expensive or unsuitable for variable bitrate videos.
Innovation Solution
The implementation of an iterative process that estimates the position corresponding to a desired seek time using multiple calculations and known data points, allowing the video player to begin playing at or near the desired time without relying on an index, by calculating bitrates and using head and tail bitrates to refine the estimation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a video player reads all downloaded data samples to find the data sample corresponding to a specified seek time, then the player can locate the correct position in the video, but the process becomes computationally expensive and prohibitive
Solution Approach 1:
The patent introduces an intermediary data structure called a seek table that stores pre-calculated time-to-byte-offset mappings. Instead of searching through all data samples, the player uses this intermediate structure to quickly translate seek times to byte offsets, dramatically reducing computational cost while maintaining accurate seeking capability
Solution Approach 2:
The patent performs preliminary calculations to build a seek table that maps seek times to byte offsets before the actual seeking operation. This pre-computation stores the relationship between time and position in the video data, allowing rapid seeking without having to analyze all data samples at the moment of seeking
2Productivity
If a video player calculates an estimated bitrate for the entire video and multiplies it by the seek time to estimate the byte offset, then the seeking process becomes simple and fast, but this method is unsuitable for variable bitrate videos where time and byte offset values do not correspond on a one-to-one basis
Solution Approach 1:
The patent divides the video file into segments between key frames and creates separate seek table entries for each segment. This segmentation allows the seek table to capture the variable bitrate characteristics of different portions of the video, improving accuracy for VBR videos while maintaining the speed of table lookup seeking
Solution Approach 2:
The patent changes the parameters stored in the seek table from simple average bitrate calculations to more detailed time-to-byte-offset mappings that account for variable bitrate conditions. By storing actual measured relationships between seek times and byte offsets at key frame boundaries, the system adapts to VBR conditions while maintaining efficient seeking
3Adaptability or versatility
If the index is located at or near the end of the video file, then the file structure allows for progressive download and streaming, but the video player does not have access to the index while the video downloads, preventing easy location of byte offsets for specified seek times
Solution Approach 1:
The patent performs preliminary analysis of the downloaded portion of the video to identify key frames and their corresponding byte offsets and timestamps. This preliminary action allows the construction of a partial seek table using only the data that has been downloaded so far, enabling seeking operations without requiring the complete file or the index at the end
4Measurement precision
If the video file is large (e.g., 2 GB) and the user wishes to seek to a specific time (e.g., 30:44), then precise location is needed, but reading through downloaded data to find the corresponding data sample becomes prohibitively expensive for large files
Solution Approach 1:
The patent introduces a seek table as an intermediary structure that provides direct mapping from seek time to byte offset. This eliminates the need to scan through large portions of downloaded data to find the correct position, dramatically reducing seek time while maintaining precise location accuracy even in large 2 GB files
Solution Approach 2:
The patent creates a simplified copy of the time-position relationship information in the form of a seek table, which contains only the essential mapping data needed for seeking. This copied structure is much smaller and faster to search than the actual video data, enabling rapid positioning in large files
Data Source
AI summary
Techniques enable locating a position within a file that corresponds to a desired seek time without having access to an index specifying the desired seek time's position. An iterative process may be used to estimate the position that corresponds to the desired seek time. The process may iterate through multiple estimations until a difference between a time corresponding to an estimated position and the desired seek time is within an acceptable amount or until the process reaches an iteration threshold. The file may then be played beginning at or near the desired seek time. The techniques may therefore allow a user to seek within a file while the user progressively downloads or streams the file.


