DVR Splice Point Identification in Trick Play Modes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital Video Recorders (DVRs) face challenges in accurately identifying and transitioning between spliced content segments during trick play modes, such as fast-forward and rewind, due to non-decoding of all data packets and non-sequential frame presentation, which prevents seamless playback of programs with splice points.

Innovation Solution

A method and apparatus that create and store index files with program-specific information and a splice index file containing timing information for the transition between segments, allowing the DVR to accurately identify and render splice points even in trick play modes by using a processor to manage the storage and playback of content segments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If trick play modes (fast-forward, rewind) are used to speed up playback, then playback speed is improved, but accurate identification of splice points deteriorates because not all data packets are decoded and frames are not presented sequentially

Engineering Contradiction:
Improveplayback speedVSAvoidsplice point identification accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by creating and storing an index file during the recording phase that contains timing information and identifiers for all splice points in the program. This pre-prepared index allows the playback system to quickly locate and identify splice points without needing to decode and analyze every data packet in real-time, thus maintaining accurate splice point identification even when using fast-forward or rewind modes where not all packets are decoded sequentially.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If all data packets are decoded and processed sequentially to ensure accurate splice point identification, then measurement precision is improved, but productivity deteriorates because trick play modes cannot be used

Engineering Contradiction:
Improvesplice point identification accuracyVSAvoidplayback efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system extracts the essential splice point identification information from the full data packet stream and stores it separately in an index file. This extracted index contains only the critical timing and location data needed to identify splice points, allowing the playback system to reference this compact index rather than processing the entire data packet stream, thus enabling both accurate splice point identification and efficient trick play operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The index file serves as an intermediary between the stored program content and the playback system. Instead of directly analyzing all data packets during playback to identify splice points, the system uses the index file as a mediator that provides pre-processed splice point information. This intermediary layer enables quick splice point identification without requiring full packet decoding, thus maintaining both accuracy and playback efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9955107B2Digital video recorder recording and rendering programs formed from spliced segments
Publication Date: 2018.04.24 ARRIS ENTERPRISES INC
  • US9955107B2 patent drawing
  • US9955107B2 patent drawing
  • US9955107B2 patent drawing

AI summary

A method and apparatus is provided for recording a program. The method includes storing, in response to a user request, at least one content file that includes first and second program segments that are spliced to form a single program. At least one index file is created and stored. The file index includes program specific information associated with the first and second program segments. The index file also includes an identification of a splice point denoting a transition between the first and second program segments. In addition, a splice index is created and stored. The splice index includes timing information specifying a time at which the splice point occurs.