Reverse Video Playback Using Pre-Decode Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for playing video streams backward are inefficient, requiring extensive decoding and caching, leading to high latency and increased time consumption, especially when dealing with large video streams.

Innovation Solution

A method for reverse video playback that decodes from the I-frame to the last frame, saves pre-decoded frames in a storage module, and pre-decodes frames as needed, reducing latency by utilizing a storage module to cache and output frames efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If frames are decoded sequentially from I-frame to the required frame in traditional reverse playback, then decoding accuracy is maintained, but latency time increases significantly

Engineering Contradiction:
Improvedecoding accuracyVSAvoidlatency time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-decoding frames from the I-frame to the last frame in advance and storing them in a buffer before reverse playback is requested. When reverse playback is needed, the pre-decoded frames are already available in the buffer, eliminating the need to decode them in real-time and thus significantly reducing latency time while maintaining decoding accuracy.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If all decoded frames are saved to a cache block in advance, then playback speed improves, but cache block capacity requirements increase

Engineering Contradiction:
Improveplayback speedVSAvoidcache block capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the video stream into groups of pictures (GOPs), where each GOP contains an I-frame and subsequent non-I-frames. Only the necessary frames within each GOP are pre-decoded and stored in the buffer, rather than caching the entire video stream. This segmentation approach improves playback speed while reducing the overall cache block capacity requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by pre-decoding only the necessary portion of frames (from I-frame to last frame in each GOP) rather than the entire video stream. This partial pre-decoding provides sufficient frames for reverse playback without requiring excessive cache block capacity, thus improving playback speed while controlling memory usage.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of time

If frame caching is implemented for reverse playback, then decoding time is saved, but device complexity increases

Engineering Contradiction:
Improvedecoding timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent uses preliminary action to pre-decode and buffer frames before reverse playback is requested. This approach saves decoding time during actual playback while managing device complexity by implementing the buffering mechanism at the frame level with clear entry and exit conditions, avoiding overly complex system architecture.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9462219B2Method for reverse video playback and computer-readable medium
Publication Date: 2016.10.04 VIVOTEK INC
  • US9462219B2 patent drawing
  • US9462219B2 patent drawing
  • US9462219B2 patent drawing

AI summary

A method for reverse video playback and a computer-readable medium are provided for playing a video stream backward. The video stream includes a plurality of groups of pictures which includes a plurality of frames. The frames include one I-frame and at least one frame which is a non-I-frame. The said method includes decoding from the I-frame to a last one frame in a group of pictures according to the time sequence, outputting the last one frame, saving at least one frame which is not outputted in the group of pictures to a storage module, pre-decoding the frames which is not outputted and saved in the group of picture, outputting the frame which is in the storage module.