Video Block Encoding Decoupling via Reference Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In video information encoding systems, particularly real-time systems, there is a challenge in processing large amounts of data efficiently due to the need for serial processing of data blocks, where the encoding of a current block depends on previously processed blocks, leading to time constraints and limitations in parallel processing.
Innovation Solution
A method and system that identify sets of data blocks, select candidate blocks based on match quality and cost criteria, and utilize reference blocks to encode current data blocks, allowing for a combination of parallel and serial processing to optimize encoding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If serial processing is used to ensure accurate dependency resolution between data blocks, then processing accuracy is improved, but processing speed deteriorates
Solution Approach 1:
The patent segments the processing of data blocks into independent units that can be processed in parallel. By dividing the video data into separate blocks with clearly defined dependencies, the system allows independent blocks to be processed simultaneously while maintaining accuracy for blocks with dependencies.
Solution Approach 2:
The patent performs preliminary processing of reference blocks before they are needed for encoding current blocks. By pre-processing and caching reference block data, the system eliminates waiting time during encoding operations, allowing faster access without compromising accuracy.
2Productivity
If parallel processing is used to increase processing throughput, then productivity is improved, but processing accuracy deteriorates due to dependency violations
Solution Approach 1:
The patent implements dynamic processing where the degree of parallelism adjusts based on data dependencies. When dependencies exist, serial processing is used; when no dependencies exist, parallel processing is enabled. This dynamic approach maximizes throughput while preserving accuracy.
Solution Approach 2:
The patent introduces intermediary data structures and synchronization mechanisms that mediate between parallel processing units. These intermediaries ensure that dependency requirements are met while allowing multiple processing units to work concurrently, maintaining both accuracy and throughput.
3Measurement precision
If reference blocks are processed before current blocks to ensure encoding accuracy, then processing accuracy is improved, but time consumption increases
Solution Approach 1:
The patent performs preliminary processing of reference blocks in advance, storing processed results in cache memory. This pre-processing eliminates the need to wait for reference block processing during current block encoding, significantly reducing time consumption while maintaining encoding accuracy.
Solution Approach 2:
The patent creates copies of reference block data in memory buffers before encoding operations begin. By having pre-loaded copies available, the system avoids time-consuming access to original data sources during encoding, reducing time consumption without affecting accuracy.
Data Source
AI summary
A method and system for processing information (e.g., encoding video data) may include identifying a plurality of sets of data blocks. Such data blocks may, for example, be stored in a memory. One or more candidate data blocks may be selected from one or more of the sets of data blocks. Such a selection may be based on a first selection criterion. A candidate block selection module may, for example, perform the selection. One or more reference data blocks may be selected from the candidate data blocks. Such a selection may be based on a second selection criterion. A reference block selection module may, for example, perform the selection. The reference data block(s) may be utilized to process information. In an exemplary scenario, a reference block may be utilized to encode a current video data block, which may then be communicated to a receiving entity.


