Block-Based Video Encoder for Display Data Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computer display systems require dedicated hardware and complex connections for display output, increasing cost and complexity, and existing USB-based solutions incur significant encoding overhead due to limited bandwidth and the need for specialized hardware or software.
Innovation Solution
A method using a block-based video encoder that determines and encodes only changed areas of a frame, eliminating the need to encode unchanged blocks by using block skip indications, allowing efficient transmission over general-purpose data transport like USB without requiring special-purpose hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional video codecs are used to compress display data for USB transmission, then image quality can be maintained, but significant encoding overhead and computational effort are required
Solution Approach 1:
The display frame is divided into multiple image blocks, and the encoder determines which blocks contain changed display areas. Only blocks intersecting with changed areas are encoded, while non-intersecting blocks receive block skip indications. This segmentation approach maintains image quality in changed regions while dramatically reducing encoding overhead for unchanged regions.
Solution Approach 2:
Instead of encoding the entire frame, the encoder performs partial encoding by applying block skip indications to blocks that do not intersect with changed display areas. This partial action approach maintains sufficient image quality for displayed regions while reducing the encoding workload to only necessary areas.
2Adaptability or versatility
If specialized hardware or software is added to implement USB display connections, then display transmission over general-purpose data transport is enabled, but system cost and complexity increase
Solution Approach 1:
The encoder leverages existing block-based video codec infrastructure to handle display data transmission over USB. By using standard video encoding mechanisms with modifications for display-specific optimizations (block skip indications based on display update information), the system achieves versatile display connection capability without requiring entirely specialized hardware or software stacks.
Solution Approach 2:
The encoder utilizes display update information from the graphics subsystem to automatically determine which image blocks require encoding. This self-service mechanism eliminates the need for external specialized control systems, as the encoding process autonomously identifies changed areas and applies appropriate encoding or skip indications.
3Loss of information
If all pixel data for each block is encoded, then complete image information is transmitted, but computational effort and bandwidth usage increase significantly
Solution Approach 1:
The encoder extracts and processes only the necessary information by comparing image blocks with changed display areas. Blocks that do not intersect with changed areas are identified and assigned block skip indications, extracting only the essential encoded data needed for accurate display reconstruction while discarding redundant encoding operations.
Solution Approach 2:
The encoder performs preliminary determination of which image blocks intersect with changed display areas before committing to full encoding. This preliminary action using block skip indications prevents unnecessary encoding computational effort for blocks that will not affect the displayed image, while ensuring complete information is transmitted for blocks that do intersect with changed areas.
Data Source
AI summary
A method of encoding display output of a computer using a block-based video encoder, such as H.264 includes receiving display update information, the display update information specifying at least one changed display area. Pixel data associated with the at least one changed area is also received. For each image block of an output frame to be encoded, the encoder determines whether the image block intersects one or more of the changed areas. A block skip indication is encoded for each image block not intersecting at least one changed area, and pixel data is encoded for intersecting blocks. An encoded output frame is then generated including the block skip indications and encoded pixel data.


