Virtual Frame Buffer System for Video Encoding Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encode and decode devices require significant processing, bandwidth, memory, and power for handling static data, as they typically involve repetitive copying of data between frame buffers, which is inefficient for static macroblocks across frames.
Innovation Solution
Implementing a virtual frame buffer system where pointers are used to reference previously encoded or decoded macroblocks stored in reference frame buffers, reducing the need for repeated encoding or decoding operations by storing pointers in virtual frame buffer tables instead of re-processing static macroblocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional encoding/decoding processes are used with multiple frame buffers, then video quality and standard compliance are maintained, but processing time and computational capacity are significantly consumed due to repetitive copying of static macroblock data
Solution Approach 1:
The patent applies the copying principle by creating a virtual frame buffer that contains copies of macroblock data from reference frame buffers. Instead of physically copying static macroblocks multiple times between frame buffers, the system creates a virtual representation that references the original data, eliminating redundant copying operations while maintaining data integrity for encoding and decoding processes
Solution Approach 2:
The virtual frame buffer acts as an intermediary between reference frame buffers and current frame processing. It mediates the data flow by providing a virtual interface that allows encoding/decoding operations to access static macroblock data without requiring actual data movement between physical frame buffers, thus reducing processing overhead
2Productivity
If data is copied between multiple frame buffers for each macroblock, then encoding and decoding operations can proceed, but memory bandwidth and power consumption increase due to repeated data movement
Solution Approach 1:
The patent creates a virtual copy of frame buffer data in the virtual frame buffer structure, which references original macroblock data without requiring physical data movement. This virtual copying mechanism allows multiple encoding/decoding operations to access the same data simultaneously without consuming additional memory bandwidth or power for data transfer
Solution Approach 2:
The patent replaces the mechanical data copying process with a virtual addressing system. Instead of physically moving data between frame buffers through memory bus operations, the system uses virtual frame buffer tables that store pointers or indices to the actual data locations, substituting mechanical data movement with computational address generation
3Reliability
If static macroblocks are processed through complete encoding/decoding cycles, then data consistency is maintained, but processing capacity is wasted on redundant operations that could be avoided
Solution Approach 1:
The patent performs preliminary action by pre-processing macroblocks to identify static regions that do not change between frames. These identified static macroblocks are then stored in the virtual frame buffer with references to their original locations, allowing subsequent encoding/decoding operations to skip redundant processing while maintaining data consistency through the virtual reference mechanism
Data Source
AI summary
A system for encoding and decoding a frame (also file), such as a video, graphic, media, or other frame or data, representing a real-time graphic output from a frame buffer, output by a video camera, or another file or data. The file includes frames each comprising macroblocks. Reference frame buffers (PFTs), virtual frame buffer tables (VFTBs) of equal number to the PFTs, each VFTB corresponds to a respective PFT, and respective sectors of each PFT for respective macroblocks are created. Frames of the file are encoded/decoded by successive encode/decode of macroblocks. A pointer is created in the VFBT associated with the PFT rather than encoding/decoding any matching macroblock. The pointer and its reference are relied on for each already encoded/decoded macroblock retained in the PFT. Processing, memory, bandwidth and power requirements for encoding or decoding are reduced.


