Compressed Video Coding with Adaptive Codewords for Real-Time Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
There is a need for highly efficient compression techniques to enable real-time transmission of video data over the internet, particularly due to bandwidth restrictions and increasing demands for high volume and high frame rate content.
Innovation Solution
The method employs YUV representation for pixels, filters noise, splits images into super-blocks and mini-blocks, uses real-time motion estimation and fade representation, and applies variable length codewords to efficiently compress video data, while managing memory and supporting multiple datarates for diverse internet connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If video is compressed for transmission, then data rate is reduced, but image quality deteriorates
Solution Approach 1:
The image is divided into super-blocks (8×8 pixels) and further into mini-blocks (2×2 pixels). This segmentation allows different compression strategies to be applied to different regions, preserving quality in important areas while reducing data rate overall. The block-based approach enables selective compression based on local image characteristics.
Solution Approach 2:
Different parts of the image receive different treatment based on their importance. Edge pixels are identified and given special handling with increased allowable error near spatial edges depending on local contrast. Smooth regions are compressed more aggressively while edge regions maintain higher quality, optimizing the overall image quality to data rate ratio.
2Productivity
If compression is applied to reduce bandwidth usage, then transmission efficiency improves, but compression complexity increases
Solution Approach 1:
The compression process is divided into distinct stages: filtering, edge detection, block segmentation, and encoding. This modular approach simplifies the overall complexity by breaking down the compression task into manageable, independent steps that can be processed sequentially.
Solution Approach 2:
Noise filtering is applied as a preliminary step before compression to remove hard-to-compress noise components. Edge detection and segmentation are performed beforehand to identify regions requiring different compression treatments, making the subsequent compression process more efficient and less complex.
3Loss of time
If real-time compression is implemented, then transmission latency is reduced, but compression quality deteriorates
Solution Approach 1:
The image is processed in small blocks (8×8 super-blocks and 2×2 mini-blocks) that can be compressed and transmitted independently. This allows real-time processing of smaller units without waiting for the entire frame, reducing latency while maintaining quality through localized processing.
Solution Approach 2:
The patent applies more filtering and processing than strictly necessary for basic compression, particularly in edge regions. This excessive action in critical areas compensates for the reduced processing time, maintaining quality even with real-time constraints.
4Manufacturing precision
If high resolution is used, then image quality improves, but data rate increases
Solution Approach 1:
High resolution images are divided into blocks, allowing selective compression. Not all pixels require the same level of detail - smooth regions can be heavily compressed while edge regions maintain high resolution, achieving overall quality preservation with reduced data rate.
Solution Approach 2:
Different spatial resolutions are applied to different parts of the image. Edge regions maintain higher resolution while smooth regions use lower resolution, optimizing the balance between overall image quality and data rate for high resolution content.
Data Source
AI summary
A method of compressing digital data includes the steps of (i) reading digital data as a series of binary coded words representing a context and a code word to be compressed, (ii) calculating distribution output data from the input data and assigning variable length code words to the result; and (iii) periodically recalculating the code words in accordance with a predetermined schedule, in order to continuously update the code words and their lengths.


