Recurrent Neural Network Image Compression with Variable Rates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current image compression technologies are limited in their ability to efficiently compress images of varying sizes and do not allow for flexible compression rates, often requiring separate systems and training for different image dimensions and quality metrics.

Innovation Solution

A neural network system utilizing a combination of LSTM and non-LSTM layers, with a binarizing neural network layer, that iteratively processes images to generate a compressed binary representation, enabling variable compression rates and image quality trade-offs with a single neural network training procedure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If separate neural networks are used for different image sizes and compression rates, then image quality and compression performance are improved, but device complexity and training resources increase

Engineering Contradiction:
Improveimage qualityVSAvoidnumber of neural networks
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent implements a single universal neural network that can handle multiple image sizes and compression rates through configurable parameters. The network accepts images of arbitrary dimensions and applies pooling operations with different pool sizes to achieve variable compression rates, eliminating the need for multiple specialized networks while maintaining image quality across different scenarios.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If multiple neural networks are trained for different compression rates, then compression performance across various rates is improved, but training time and computational resources increase

Engineering Contradiction:
Improvecompression performanceVSAvoidtraining time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system trains a single universal neural network that can operate at multiple compression rates. The network uses configurable pooling operations and recurrent layers that adapt to different compression requirements during inference, eliminating the need for separate training processes for each compression rate and significantly reducing training time and computational resources.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Speed

If fixed-size pooling operations are used, then processing speed is improved, but adaptability to different image sizes and compression rates decreases

Engineering Contradiction:
Improveprocessing speedVSAvoidflexibility in compression rates
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic pooling operations where the pool size can be configured based on the desired compression rate and input image characteristics. The recurrent neural network layers also dynamically adjust their processing based on the sequence length determined by the pooling operation, allowing the system to adapt processing speed and compression level to match specific requirements while maintaining efficient computation.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10713818B1Image compression with recurrent neural networks
Publication Date: 2020.07.14 GOOGLE LLC
  • US10713818B1 patent drawing
  • US10713818B1 patent drawing
  • US10713818B1 patent drawing

AI summary

Methods, and systems, including computer programs encoded on computer storage media for compressing data items with variable compression rate. A system includes an encoder sub-network configured to receive a system input image and to generate an encoded representation of the system input image, the encoder sub-network including a first stack of neural network layers including one or more LSTM neural network layers and one or more non-LSTM neural network layers, the first stack configured to, at each of a plurality of time steps, receive an input image for the time step that is derived from the system input image and generate a corresponding first stack output, and a binarizing neural network layer configured to receive a first stack output as input and generate a corresponding binarized output.