Video Frame Upsampling With Jitter-Aligned Neural Refinement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing super resolution techniques face challenges in achieving high-quality, low-latency, and resource-efficient upsampling of image frames, particularly in devices with limited computing resources, as they often require powerful processing units and large memories, leading to inefficiencies in processing time, latency, bandwidth, power consumption, and silicon area.
Innovation Solution
A method and system that uses a jitter pattern to align input pixel values across frames, allowing for efficient refinement using a set of neural networks to enhance upsampling, reducing the need for extensive neural network processing by initially determining upsampled pixel values without neural networks and applying refinement values through smaller neural networks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If super resolution techniques are applied to upsample image frames, then image quality is improved, but processing time and latency increase
Solution Approach 1:
The system performs preliminary upsampling using simple interpolation methods to generate an initial high-resolution frame before neural network refinement. This preliminary action reduces the complexity of the subsequent neural network processing by providing a closer starting point to the final solution, thereby reducing overall processing time while maintaining image quality.
Solution Approach 2:
The super resolution process is divided into multiple stages: initial upsampling using interpolation, followed by selective neural network refinement only for specific regions or frames. This segmentation allows the system to achieve high image quality where needed while minimizing the computational burden and processing time across the entire video sequence.
2Manufacturing precision
If super resolution techniques are applied to upsample image frames, then image quality is improved, but power consumption increases
Solution Approach 1:
Instead of applying full neural network processing to every frame, the system uses partial action by selectively applying neural network refinement only to certain frames or regions that benefit most from it. This reduces overall power consumption while maintaining acceptable image quality across the video sequence.
Solution Approach 2:
The preliminary interpolation-based upsampling provides a good initial solution that requires minimal power, with neural network refinement applied only when necessary. This two-stage approach significantly reduces power consumption compared to applying full neural network processing to all frames.
3Manufacturing precision
If super resolution techniques are applied to upsample image frames, then image quality is improved, but device complexity increases
Solution Approach 1:
The system segments the processing workload between simple interpolation operations that can be performed by basic hardware and more complex neural network operations. This segmentation allows the use of simpler, less expensive hardware while still achieving high image quality through the coordinated use of both approaches.
Solution Approach 2:
The system uses computationally inexpensive interpolation methods as a disposable preliminary step that generates an initial upscaled frame. This cheap approach handles the bulk of the work, reserving more expensive neural network processing only for final refinements, thereby reducing overall device complexity.
4Manufacturing precision
If super resolution techniques are applied to upsample image frames, then image quality is improved, but memory usage increases
Solution Approach 1:
The preliminary interpolation step generates an initial high-resolution frame using minimal memory, as interpolation only requires storing the original low-resolution frame and computing new pixel values on-the-fly. This reduces peak memory usage compared to loading entire neural network models into memory.
Solution Approach 2:
The system extracts and processes only the necessary portions of image data at each stage, rather than loading and processing complete high-resolution frames through the entire pipeline. This extraction approach reduces memory usage by keeping only essential data in memory at any given time.
Data Source
Figure 1~2d
Figure 3~4
Figure 5~6
AI summary
A method and processing system are provided for applying upsampling to input pixel values of frames of a sequence of frames to determine upsampled pixel values at upsampled pixel locations for the frames of the sequence of frames. A jitter pattern is used over the sequence of frames, such that different frames of the sequence have input pixel values at locations corresponding to different upsampled pixel locations. For each of a plurality of the frames of the sequence of frames, when it is a current frame, input pixel values of the current frame are received. An initial block of upsampled pixel values is determined for the current frame, wherein the initial block of upsampled pixel values for the current frame comprises: (i) the input pixel values of the current frame at their upsampled pixel locations, and (ii) upsampled pixel values determined for the current frame at other upsampled pixel locations. An aligned block of upsampled pixel values for the current frame is determined based on the initial block of upsampled pixel values for the current frame in accordance with the jitter pattern. A block of refinement values to be applied to the initial block of upsampled pixel values is determined for the current frame, wherein said determining a block of refinement values comprises processing the aligned block of upsampled pixel values for the current frame using a set of one or more neural networks. The block of refinement values is applied to the initial block of upsampled pixel values for the current frame to determine a refined block of upsampled pixel values for the current frame. For one or more of the plurality of the frames of the sequence of frames, said determining an aligned block of upsampled pixel values comprises manipulating the initial block of upsampled pixel values for that frame in accordance with the jitter pattern, such that the input pixel values are located in the same positions within the aligned blocks of upsampled pixel values for all of the plurality of frames.