IP Library Granted Patent US 11,190,624
Granted Patent B2
US 11,190,624 · App. 17/089,129 · Granted Nov 30, 2021

User interface for just-in-time image processing

Inventors: Christopher Zacharias (San Francisco, CA); Jeremy Larkin (Concord, CA); David Birdsong (San Francisco, CA); John Angers (San Francisco, CA); Miguel A. Cardona, Jr. (San Francisco, CA)
Assignee: Zebrafish Labs, Inc.
H04L67/42G06F3/04847G06F9/451G06F40/14G06F40/166G06T11/60G06T2200/16G06T2200/24H04L63/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,190,624
App. No.
17/089,129
Granted
Nov 30, 2021
Kind
B2
Abstract

Technology is disclosed for an image editing tool that generates a recipe for just-in-time processing of images (“the technology”). Various embodiments of the technology include an image processing system that provides image processing services to a client system that publishes content including an image to end users. The image processing system processes the image based on a recipe to generate a processed image. The image editing tool is integrated into an application, e.g., webpage or a web browser, that displays the content. A user, e.g., administrator of the client system, can use the image editing tool to edit the image on the webpage and generate the recipe including instructions regarding the edits. The recipe is transmitted to the image processing system which processes the image based on the recipe, and transmits the processed image to the client system for further transmission to the end users accessing the content.

Claims (40)

1. A computer-implemented method, comprising:

receiving, at a client system, a request for editing an image generated in a webpage associated with the client system, wherein the client system publishes the image to an end user via the webpage;

generating, at the client system, a recipe that includes a set of image processing instructions corresponding to multiple editing operations to be executed on the image, wherein generating the recipe includes a node graph having multiple nodes representing the multiple editing operations, wherein the multiple editing operations are executed by an image processing system if a conditional sorting feature associated with a secondary graph is satisfied, the conditional sorting feature based on a timestamp criterion or an anticipated system processor load threshold based on future execution of the multiple editing operations; and

transmitting, by the client system, the recipe to the image processing system.

2. The computer-implemented method of claim 1 further comprising:

receiving, at the client system from an end user device associated with the end user, a request for accessing the webpage;

transmitting, by the image processing system, a processed image to the client system; and

transmitting, by the client system, the processed image to the end user device associated with the end user to be displayed on the webpage.

3. The computer-implemented method of claim 2 , wherein said transmitting the processed image includes processing, by the image processing system, a copy of the image based on the recipe to generate the processed image.

4. The computer-implemented method of claim 1 further comprising:

executing, by the image processing system, the node graph to process the image, and

generating a processed image based on the executing.

5. The computer-implemented method of claim 1 , wherein the node graph includes a sequence of nodes, and a specified node in the sequence includes a conditional image processing operation that is to be executed on the image in an event a condition is satisfied.

6. The computer-implemented method of claim 1 , wherein the node graph includes a sequence of nodes, and a specified node in the sequence includes a source location of the image.

7. The computer-implemented method of claim 1 , wherein generating the node graph includes generating a compound node graph, wherein the compound node graph includes at least two distinct node graphs.

8. The computer-implemented method of claim 7 , wherein generating the compound node graph includes:

generating a first node graph for a first image,

generating a second node graph for a second image, and

combining the first node graph and the second node graph to form the compound node graph.

9. The computer-implemented method of claim 7 , wherein generating the compound node graph includes:

generating a first node graph having a first set of image processing instructions,

generating a second node graph for a second image having a second set of image processing instructions, and

generating an invoke node in the compound node graph, wherein the invoke node invokes at least one of the first node graph or the second node graph based on a condition specified in the compound node graph.

10. The computer-implemented method of claim 1 , wherein the image processing system includes a graphical user interface (GUI) having a plurality of editing controls for executing the multiple editing operations.

11. The computer-implemented method of claim 10 , wherein the editing controls enable the image to be edited directly in the webpage.

12. The computer-implemented method of claim 1 , wherein the image processing system is distinct from the client system.

13. A system comprising:

a client configured to publish to an end user via a webpage, and receive a

request for editing, an image generated in the webpage, the client

further configured to generate a recipe that includes:

a set of image processing instructions corresponding to multiple editing operations to be executed on the image, and

a node graph having multiple nodes representing the multiple editing operations; and

an image processor configured to receive the recipe from the client and execute the multiple editing operations on the image if a conditional sorting feature associated with a secondary graph is satisfied, the conditional sorting feature based on a timestamp criterion or an anticipated system processor load threshold based on future execution of the multiple editing operations.

14. The system of claim 13 , wherein the image processor is distinct from the client.

15. The system of claim 13 , wherein the image processor is further configured to retrieve a copy of the image from a cache and process the copy of the image based on the recipe to generate a processed image.

16. The system of claim 13 , wherein the image processor is further configured to execute said node graph to process the image, wherein the node graph includes a sequence of nodes, and generate a processed image based on the executing.

17. The system of claim 16 , wherein the image processor is further configured to identify an input parameter of a specified node in said sequence of nodes, and execute an image processing operation corresponding to the specified node based on the input parameter to generate the processed image.

18. The system of claim 17 , wherein the image processor is further configured to store the processed image in a cache, wherein the processed image is stored in association with the input parameter.

19. The system of claim 17 , wherein the client is further configured to determine if an input parameter of any of multiple processed images of the image stored in a cache matches with the input parameter of the specified node, and generate the processed image in an event no match is found.

20. The system of claim 13 , wherein the image processor is further configured to provide, via a graphical user interface (GUI), a plurality of editing controls for performing the multiple editing operations.

Assignments (2)
SECURITY INTEREST Recorded Jan 27, 2022
From: ZEBRAFISH LABS INC.
To: SAAS CAPITAL FUND IV, LP
Reel/Frame 058791/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2020
From: ZACHARIAS, CHRISTOPHER; LARKIN, JEREMY; BIRDSONG, DAVID; ANGERS, JOHN; CARDONA, MIGUEL A., JR.
To: ZEBRAFISH LABS, INC.
Reel/Frame 054637/0215 →
Continuity (3)
Continuation 15474357 · Mar 30, 2017
Continuation 14161280 · Jan 22, 2014
Related Publication 20210142542A1 · May 13, 2021