Intra Refresh Macro-Block Counters for Video Quality
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding techniques face challenges in improving visual quality over low bandwidth channels while minimizing bandwidth spikes, particularly in real-time applications like video conferencing, due to the requirement of sending Intra frames every 132 times, which results in poor visual quality and transmission delays.
Innovation Solution
A system and method for adaptive and low complexity Intra refresh, where counters are assigned to each macro-block to determine whether to encode as Inter or Intra, allowing for random or pattern-based refresh, enabling the driver to control the coding type of each macro-block and reduce interaction with the encoder.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Intra frames are sent every 132 times to reduce artifact propagation, then visual quality is improved, but bandwidth spikes occur causing transmission delays
Solution Approach 1:
The patent divides the frame into multiple macro-blocks and applies selective Intra refresh to specific regions rather than refreshing the entire frame. This segmentation allows artifact correction in critical areas without requiring full-frame Intra updates, thereby reducing bandwidth consumption and transmission delays while maintaining visual quality in important regions.
Solution Approach 2:
The patent implements region-of-interest (ROI) based Intra refresh where different parts of the frame receive different refresh rates. Critical regions that are more susceptible to artifacts or contain important visual information are refreshed more frequently with Intra mode, while less critical regions use Inter mode, optimizing the balance between visual quality and bandwidth utilization.
2Reliability
If Intra frames are sent frequently to improve visual quality, then artifact propagation is reduced, but bandwidth consumption increases
Solution Approach 1:
By segmenting the frame into macro-blocks with individual counter values, the patent enables selective Intra refresh only where needed. This prevents unnecessary Intra encoding of entire frames, significantly reducing bandwidth consumption while still correcting artifacts in regions that require it.
Solution Approach 2:
The patent applies Intra refresh partially rather than universally - only to macro-blocks that meet specific criteria (counter thresholds, ROI designation). This partial action approach provides sufficient artifact correction without the excessive bandwidth consumption of full-frame Intra updates.
3Adaptability or versatility
If per macro-block counter control is implemented for Intra refresh, then encoding flexibility is improved, but system complexity increases
Solution Approach 1:
The patent uses periodic counter decrementation for each macro-block to determine Intra refresh timing. This regular periodic action provides a systematic and predictable method for controlling refresh rates, making the complex per-block control manageable through a uniform algorithm rather than requiring complex adaptive logic for each block.
Solution Approach 2:
Each macro-block maintains its own counter that automatically decrements and triggers Intra refresh when reaching threshold values. This self-service mechanism allows each block to autonomously determine its refresh needs based on local conditions, reducing the need for complex centralized control logic while maintaining high encoding flexibility.
Data Source
AI summary
The present invention includes a method and system for encoding video data by accessing a picture to be encoded, wherein the picture comprises a plurality of macro-blocks. A plurality of programmable counters are associated with each macro-block to be encoded. A counter associated with a macro-block of the plurality of macro-blocks is accessed and a value of the counter is determined. The method further includes determining whether to encode the macro-block as an Intra or non-Intra based on the value of the counter. If the macro-block is encoded as Intra, its counter is reset. If the macro-block is encoded as non-Intra, its counter value is updated. The counter value may be reset with a random number. Counters can be programmed such that a region of interest is defined for updating associated macro-blocks with greater frequency.


