Video Stream Preprocessing for Bandwidth and Power Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In video conferencing, the image processing at client devices is performed on video streams at camera-native resolutions, which are often higher than requested resolutions, leading to excessive processing power and energy consumption.
Innovation Solution
A computing system that preprocesses video streams at a requested video data rate parameter, adjusting the camera-native video data rate to match the requested parameter, thereby reducing the processing load and energy consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If image processing is performed on video streams at camera-native resolutions, then video quality is maintained, but processing power and energy consumption increase excessively
Solution Approach 1:
The system performs preliminary action by receiving the requested video data rate parameter from the server before image processing occurs. The processing circuitry adjusts the camera-native video data rate to the requested rate in advance, so that subsequent image processing is performed at the appropriate resolution, preventing excessive energy consumption while maintaining required video quality
Solution Approach 2:
The system implements dynamics by making the video data rate adjustable and adaptive. The processing circuitry dynamically adjusts the video data rate between camera-native rate and requested rate based on server requirements, allowing the system to optimize the balance between video quality and energy consumption for different communication scenarios
2Measurement precision
If image processing is performed on video streams at camera-native resolutions, then video quality is maintained, but processing power consumption increases excessively
Solution Approach 1:
The system performs preliminary action by receiving the requested video data rate parameter from the server before image processing occurs. The processing circuitry adjusts the camera-native video data rate to the requested rate in advance, so that subsequent image processing is performed at the appropriate resolution, preventing excessive processing power consumption while maintaining required video quality
Solution Approach 2:
The system implements dynamics by making the video data rate adjustable and adaptive. The processing circuitry dynamically adjusts the video data rate between camera-native rate and requested rate based on server requirements, allowing the system to optimize the balance between video quality and processing power consumption for different communication scenarios
3Measurement precision
If video stream is transmitted at higher data rates, then video quality is improved, but network bandwidth consumption increases
Solution Approach 1:
The system implements feedback by having the server send the requested video data rate parameter back to the client device. This feedback loop allows the system to adjust the video encoding rate according to actual network conditions and server requirements, optimizing the balance between video quality and network bandwidth consumption
Data Source
AI summary
A computing system is provided, including a camera configured to capture a series of images in a video stream, processing circuitry, and an image processing pipeline including a preprocessing module and an encoder, in which the preprocessing module is configured to receive the video stream from the camera at a camera-native video data rate parameter. The processing circuitry is configured to communicate with a server to establish a joint video communication session with remote client devices and receive a requested video data rate parameter from the server for the video stream captured by the camera. The processing circuitry is further configured to send a command to the preprocessing module to adjust the camera-native video data rate parameter of the video stream to the requested video data rate parameter and preprocess the video stream at the requested video data rate parameter and pass the preprocessed video stream to the encoder.


