Media File Cluster Indexing for Fast Seeking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing media streaming solutions experience excessive loading times and breaks when users attempt to seek within media content, degrading the user experience.

Innovation Solution

A method that utilizes a file header with a cluster index for coarse searching and a cluster header with a content index for fine searching, allowing for efficient seeking within media content by identifying the relevant cluster and content position, and providing the corresponding media content to the user without significant delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If conventional streaming methods are used for seeking within media content, then the system structure remains simple, but the user experiences excessive loading times and frequent breaks

Engineering Contradiction:
Improveseeking timeVSAvoidfile structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The media file is divided into multiple clusters, each representing a temporal segment of the media content. Each cluster contains a subset of media frames organized in a hierarchical structure, allowing the system to locate and load only the relevant cluster containing the requested content rather than loading the entire file or large portions of it.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested hierarchical structure where clusters are contained within the media file, frames are contained within clusters, and picture data is contained within frames. This nested organization allows progressive refinement of content location from cluster level to frame level to specific picture data, enabling efficient seeking without loading unnecessary content.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Speed

If the entire media file is loaded into memory for random access, then seeking is instantaneous, but the memory requirements and loading time become excessive

Engineering Contradiction:
Improveseeking speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The media file is segmented into multiple smaller clusters that can be independently loaded into memory. When a user seeks to a specific position, only the relevant cluster containing that position is loaded, rather than loading the entire media file. This segmentation enables fast seeking with minimal memory usage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-organizes the media file into a hierarchical cluster structure with index information that enables rapid location of content. This preliminary organization allows the system to quickly identify and load only the necessary cluster data when seeking, avoiding the need to load entire files while maintaining fast access speeds.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a hierarchical cluster structure with indexes is implemented, then seeking efficiency is dramatically improved, but the file structure becomes more complex

Engineering Contradiction:
Improvecontent access efficiencyVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The media content is segmented into clusters with hierarchical indexing. The file header contains a cluster index that maps temporal positions to cluster identifiers. This segmentation creates a manageable structure where complex indexing is confined to metadata rather than the entire file, improving access efficiency while controlling complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces cluster headers as intermediary structures between the file header and the actual media data. Cluster headers contain content indexes that bridge the high-level cluster organization and the detailed frame-level data, enabling efficient seeking without requiring the entire file structure to be complex.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Duration of action of moving object

If streaming is performed without pre-loading content, then memory usage is low, but loading delays occur during playback

Engineering Contradiction:
Improveloading delay durationVSAvoidbuffer size
Core Design Contradiction:
Duration of action of moving objectVSQuantity of substance

Solution Approach 1:

The patent segments media content into clusters that can be independently streamed. Instead of buffering large portions of content, the system loads only the relevant cluster data needed for current playback position, reducing buffer requirements while minimizing loading delays through efficient cluster-level streaming.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9917869B2System and method for identifying a segment of a file that includes target content
Publication Date: 2018.03.13 SPOTIFY
  • US9917869B2 patent drawing
  • US9917869B2 patent drawing
  • US9917869B2 patent drawing

AI summary

An electronic device with one or more processors, memory and a display obtains a file header for a file that corresponds to a plurality of separately indexed clusters. The file is divided into segments one or more of which include multiple sequential clusters. The file header includes a segment index that enables identification of a segment that includes requested content. The device receives a request to seek to a respective position within the file. In response, the device identifies a first segment that includes content that corresponds to the respective position based on the segment index, obtains the first segment, and obtains a content index for a respective cluster within the first segment. After obtaining the first segment and the content index, the device identifies respective content within the respective cluster that corresponds to the respective position based on a content index and provides the respective content to a user.