Dynamic Video Frame Region Division for Encoding Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding standards face challenges in balancing parallelism and coding efficiency, particularly in mobile devices where increased parallelism leads to reduced power efficiency and shorter battery life due to higher power usage.
Innovation Solution
A method and device for dynamically adapting parallelism by dividing video frames into non-overlapping regions, assigning each region to a separate processing unit, and adjusting the number of regions based on encoding progress and available capacity, allowing for increased parallelism only when needed and combining regions when spare capacity is available.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the video frame is divided into more regions for parallel processing, then the encoding/decoding speed is improved, but the coding efficiency deteriorates due to reduced ability to utilize similarities between regions
Solution Approach 1:
The patent implements dynamic region division where the number and size of regions are adjusted during encoding based on progress monitoring. The encoder divides the frame into regions and assigns them to processing units, then monitors encoding progress and dynamically merges or splits regions to maintain optimal balance between parallelism and coding efficiency, resolving the contradiction between speed and efficiency.
Solution Approach 2:
The patent changes the parameter of region granularity dynamically during encoding. By adjusting the size and number of regions based on encoding progress and complexity metrics, the system adapts the degree of parallelism to match the actual coding requirements, thereby maintaining both high speed and good coding efficiency.
2Productivity
If more separate processing units are used for parallel encoding, then the encoding speed is improved, but the power consumption increases which is particularly problematic for mobile devices
Solution Approach 1:
The system dynamically adjusts the number of active processing units based on encoding progress and complexity. By monitoring how quickly regions are being encoded and the computational complexity of remaining regions, the encoder activates or deactivates processing units to match actual workload requirements, reducing power consumption while maintaining encoding speed.
Solution Approach 2:
The patent applies partial parallelism by activating only the necessary number of processing units required to meet the encoding deadline, rather than always using maximum parallelism. This partial action approach reduces power consumption by keeping idle processing units dormant while still achieving the required encoding throughput.
3Productivity
If the video frame is divided into more regions, then parallelism is increased and encoding speed is improved, but the encoding efficiency deteriorates due to increased complexity in managing multiple regions
Solution Approach 1:
The patent applies local quality by allowing different regions to have different encoding parameters and complexities. Each region can be independently optimized based on its local characteristics (e.g., complexity, motion content), and the encoder can apply different strategies to different regions, reducing overall management complexity while maintaining high encoding speed.
Data Source
AI summary
It is presented a method for encoding a video frame of a piece of video content. The method is performed in an encoder device and comprises the steps of: dividing the video frame into a set of non-overlapping regions, wherein the set comprises at least one region; assigning each region, in the set of regions, to a separate processing unit; encoding, in each processing unit, picture data of the respective region; collecting progress data from each processing unit, the progress data indicating progress of the encoding of the respective region; and dividing a particular region into a plurality of smaller regions and assigning each smaller region to a separate processing unit, when the progress data indicates that progress of encoding the particular region is insufficient.


