Pre-Event Video Recording Keyframe Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In video recording systems that use pre-event recording technology, the inability to ensure the presence of a keyframe in the rolling buffer can prevent the playback of buffered video sequences, especially when the Group of Pictures (GOP) length is varied.
Innovation Solution
A system comprising an encoder with two states and a FIFO buffer, where the encoder dynamically adjusts the GOP length and uses the 'force keyframe' functionality to ensure that the FIFO buffer always stores at least one keyframe, allowing for seamless playback.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the GOP length is varied to reduce bitrate and improve compression efficiency, then storage efficiency is improved, but the ability to ensure keyframe presence in the rolling buffer deteriorates
Solution Approach 1:
The encoder dynamically switches between two operational states: a first state during pre-event recording where GOP length is extended to improve compression, and a second state upon event detection where GOP length is reduced to ensure keyframe presence. This dynamic adaptation resolves the contradiction by allowing the system to optimize for storage efficiency during normal operation while guaranteeing keyframe availability when needed.
Solution Approach 2:
The system changes the GOP length parameter based on operational context. During pre-event recording, a longer GOP length is used to reduce bitrate and improve storage efficiency. Upon detecting an event, the parameter is changed to a shorter GOP length that ensures keyframes are present in the buffer, thus maintaining reliability of playback capability.
2Quantity of substance
If the GOP length is extended to reduce bitrate, then compression efficiency is improved, but playback flexibility deteriorates
Solution Approach 1:
The encoder operates in two dynamic modes: during pre-event recording, it uses extended GOP length for high compression efficiency; upon event detection, it switches to shorter GOP length for better playback flexibility. This dynamic switching allows the system to achieve both high compression during normal operation and flexible playback when events occur.
Solution Approach 2:
The encoder periodically inserts keyframes at controlled intervals during pre-event recording by managing GOP structure. This periodic insertion of reference frames within the extended GOP structure maintains compression efficiency while ensuring that keyframes are available at predictable intervals, preserving playback flexibility.
3Productivity
If the rolling buffer discards older segments to make room for new footage, then storage capacity utilization is improved, but the ability to retrieve older keyframes deteriorates
Solution Approach 1:
The system performs preliminary action by ensuring keyframes are present in the rolling buffer before they are needed for playback. By proactively managing GOP structure and forcing keyframes at appropriate intervals during pre-event recording, the system guarantees that when segments are discarded to maintain buffer capacity, keyframes remain available for immediate retrieval and playback.
Solution Approach 2:
The encoder monitors the state of the rolling buffer and the presence of keyframes, using this feedback to dynamically adjust GOP length and force keyframe insertion. This feedback mechanism ensures that as the buffer fills and older segments are discarded, the system maintains adequate keyframe presence by adapting the encoding strategy in real-time.
Data Source
Figure 1~2b
Figure 3~4
Figure 5
AI summary
A system comprising: an encoder having a first encoder state and a second encoder state, the encoder configured to: encode (S616) received image frames using a dynamic group of pictures, GOP, length, and varying the GOP length to meet one or more requirements of the encoded video sequence; implement a force keyframe functionality; an encoding state controller configured to: upon receiving an event indication pertaining to the received image frames, setting (S614) the encoder state of the encoder to the first encoder state; a FIFO buffer configured to store image frames encoded by the encoder during the second encoder state; and a keyframe controller configured to: obtain a trigger time interval and while the encoder being in the second encoder state, at the trigger time interval, trigger the encoder to encode a keyframe, such that the FIFO buffer always stores at least one keyframe.