CNN Image Scaling Engine for Digital Magazine Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing image scaling algorithms for digital magazines introduce errors and artifacts when increasing image resolution, leading to noise and haloing due to the need to guess new pixel values, especially when scaling to larger sizes.

Innovation Solution

A convolutional neural network (CNN) is used within an image scaling engine to preprocess and upscale images, utilizing convolutional and dense layers with linear Gaussian units, trained using supervised learning and backpropagation to minimize errors, without pooling operations to preserve feature location accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Volume of moving object

If traditional interpolation algorithms (bicubic, bilinear, nearest-neighbor) are used to scale images to larger sizes, then the image can be enlarged, but errors, noise, haloing, and artifacts are introduced due to guessing new pixel values

Engineering Contradiction:
Improveimage sizeVSAvoidimage quality
Core Design Contradiction:
Volume of moving objectVSManufacturing precision

Solution Approach 1:

The patent replaces traditional mechanical interpolation algorithms with a neural network-based system. The CNN learns to predict new pixel values through training on large datasets, substituting the deterministic mathematical interpolation processes with a data-driven probabilistic approach that better handles complex image structures and avoids artifacts.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent performs preliminary training of the CNN model using large datasets of image pairs (original and scaled versions) before actual image scaling. This preliminary learning phase allows the network to capture complex patterns and relationships in image data, enabling high-quality scaling without artifacts during actual operation.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If pixel values are kept in original color range (0-255), then the image data is simple to represent, but computational load increases during CNN operations due to large numbers

Engineering Contradiction:
Improvedata representation simplicityVSAvoidcomputational load
Core Design Contradiction:
Ease of manufactureVSUse of energy by moving object

Solution Approach 1:

The patent transforms the parameter range of pixel values from the standard 0-255 range to a normalized range (typically -1 to 1 or 0 to 1). This parameter change reduces the magnitude of numbers involved in CNN computations, decreasing computational load and improving numerical stability during training and inference operations.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If pooling operations are used after convolutional layers, then classification invariance is improved, but feature location accuracy deteriorates which is critical for image scaling

Engineering Contradiction:
Improveclassification invarianceVSAvoidfeature location accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent removes (extracts) the pooling operations from the CNN architecture. By eliminating the pooling layers that provide classification invariance, the network preserves exact spatial relationships and feature locations, which are critical for accurate image scaling where maintaining the precise position of image features is essential.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10089717B2Image scaling using a convolutional neural network
Publication Date: 2018.10.02 FLIPBOARD INC
  • US10089717B2 patent drawing
  • US10089717B2 patent drawing
  • US10089717B2 patent drawing

AI summary

An online content system, such as a digital magazine, includes an image scaling engine for increasing the resolution of images. The image scaling engine comprises a convolutional neural network. An input image is preprocessed for use as inputs to a convolutional neural network (CNN). The preprocessed input image pixel values are used as inputs to the CNN. The CNN comprises convolutional layers and dense layers for determining image features and increasing image resolution. The CNN is trained using backpropagation to adjust model weights and biases. Each convolutional layer of a CNN detects features in an image by comparing image subregions to a set of known kernels and determining similarities between subregions and kernels using a convolution operation. The dense layers of the CNN have full connections to all of the outputs of a previous layer to determine the specific target output result such as output image pixel values.