On-Demand Image Spriting for Document Loading Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face inefficiencies in loading documents and images due to the high number of HTTP requests required, leading to slower loading times and reduced network performance.

Innovation Solution

Implementing on-demand image spriting, where a system generates a modified document that references an aggregation image instead of individual images, allowing for lazy loading and prioritization of image downloads, reducing the number of requests and improving loading speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If individual images are loaded separately in documents, then image quality and individual control are maintained, but the number of HTTP requests increases and loading speed decreases

Engineering Contradiction:
Improvedocument loading speedVSAvoidnumber of HTTP requests
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Multiple individual images are merged into a single sprite sheet image. The system combines several smaller images into one larger image file, reducing the number of HTTP requests from multiple individual image requests to a single sprite sheet request, thereby improving loading speed while maintaining the ability to individually reference and display specific images through coordinate-based positioning.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If all images are loaded at once, then complete document rendering is achieved, but network bandwidth is consumed and loading time increases

Engineering Contradiction:
Improvedocument rendering efficiencyVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

Instead of loading the entire sprite sheet at full resolution immediately, the system implements progressive image loading that starts with a lower-resolution version or thumbnail of the sprite sheet, then progressively loads higher-resolution versions as needed. This allows the document to be rendered with acceptable quality while consuming less network bandwidth initially, with the option to enhance quality later if required.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If image sprites are pre-generated and cached, then loading speed improves, but storage requirements and memory usage increase

Engineering Contradiction:
Improveimage loading speedVSAvoidstorage capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The sprite sheet is divided into multiple smaller image segments or tiles that can be independently loaded and cached. Instead of caching the entire large sprite sheet, the system segments it into manageable portions that can be stored more efficiently in cache memory, reducing overall storage requirements while still providing fast access to frequently used image segments through selective caching of individual tiles rather than the complete sprite sheet.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10467790B2On-demand image spriting
Publication Date: 2019.11.05 PAYPAL INC
  • US10467790B2 patent drawing
  • US10467790B2 patent drawing
  • US10467790B2 patent drawing

AI summary

A system receives a page request for a requested document, where the requested document specifies a set of first images as being presentable within the requested document. In response to the received page request, the system modifies the requested document and generates a modified document. The modified document specifies a second image that is to be generated based on the set of first images. The system generates the second image, based on the set of first images, and provides the modified document and access to the second image. The second image is an aggregation of the first images, which are represented within the second image as sprites to be rendered with the modified document. The modified document may use these sprites by specifying regions within the second image as being presentable within the modified document, where these regions correspond to the first images.