Parallel Video Encoding via Intra-Slice Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile devices face challenges in real-time video encoding due to their limited footprint and power constraints, making it difficult to efficiently process and transmit high-definition video streams like 4K resolution without impacting video quality.
Innovation Solution
The implementation of intra-slice parallel encoding using video encoding circuits that split video data into slices, transform them into frequency coefficients, and encode these slices concurrently across multiple data streams, optimizing the encoding process without affecting the decoding process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If video encoding is done in hardware using stationary equipment, then encoding quality and compression efficiency are improved, but device size and power consumption increase, making it unsuitable for mobile environments
Solution Approach 1:
The video encoding process is divided into multiple independent slices, each of which can be processed separately. This segmentation allows the encoding function to be distributed across multiple processing units or cores, reducing the burden on any single hardware component and enabling more efficient use of mobile device resources while maintaining encoding quality
Solution Approach 2:
The patent introduces parallel processing across multiple data streams and processing cores, adding a temporal and spatial dimension to the encoding process. Instead of sequential processing, multiple slices are encoded simultaneously across different processing units, dramatically improving encoding speed and efficiency without requiring proportionally larger hardware
2Productivity
If video encoding is done in hardware using stationary equipment, then compression efficiency is improved, but power consumption increases, making it unsuitable for mobile environments
Solution Approach 1:
By dividing the video stream into multiple slices that can be processed independently and in parallel, the encoding workload is distributed across multiple processing units. This segmentation enables more efficient utilization of available processing resources while reducing the peak power consumption compared to a single high-performance encoder operating at full capacity
Solution Approach 2:
The patent implements dynamic processing where the number of parallel data streams and processing cores can be adjusted based on available resources and encoding requirements. This dynamic adaptation allows the system to optimize the balance between compression efficiency and power consumption in real-time, scaling processing intensity according to mobile device conditions
3Productivity
If parallel encoding across multiple data streams is implemented, then real-time encoding capability is improved, but device complexity increases
Solution Approach 1:
The video encoding is divided into multiple independent slices that can be processed in parallel. Each slice is self-contained and can be handled by separate processing units, which simplifies the control logic for each individual processing unit while achieving high overall throughput through parallel execution
Solution Approach 2:
The video stream is pre-processed and divided into slices before encoding begins. This preliminary segmentation allows the parallel encoding process to start immediately without complex coordination during encoding, as each processing unit receives pre-prepared data blocks that can be encoded independently and then combined
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Described herein are systems, methods, storage media, and computer programs that support encoding of video data. In one embodiment, an electronic device is disclosed. The electronic device comprises a slice splitter and a slice encoder implemented using one or more video encoding circuit. The slice splitter is configured to split video data into a plurality of slices, where each slice contains a plurality of data blocks, each data blocks containing a plurality of data points, which are processed in a plurality of data streams. The slice encoder, implemented using one or more video encoding circuits, is configured to encode the data blocks in the plurality of data streams concurrently and combine the encoded data into a combined data stream.