IP Library Granted Patent US 10,310,720
Granted Patent B2
US 10,310,720 · App. 15/295,451 · Granted Jun 4, 2019

Implementation order of image edits

Inventors: Zachary Daniel Hodges (Orinda, CA); Robert A. Newport (Oakland, CA)
Assignee: Visual Supply Company
G06F3/04845G06F16/50G06F16/51G06T11/60H04L69/22G06T2200/24
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 10,310,720
App. No.
15/295,451
Granted
Jun 4, 2019
Kind
B2
Abstract

Systems and methods for editing an image file include a server and at least one client device of the server including a display. An imaging module accesses from the server an image file including image content and a header, wherein the header provides information regarding the image file. An editing module receives user edits to the image content and insert information regarding the user edits into the header. The imaging module applies the user edits in an order that is determined based on a weight assigned to each user edit. The imaging module may also access, from the server, an image file including image content and a header thereof, wherein the header provides information regarding the image file and an edit decision list reflecting historical user edits to the image content. The editing module then identifies the edit decision list in the header for application by the imaging module.

Claims (64)

1. A system comprising:

at least one hardware processor; and

a memory comprising instructions which, when executed by the at least one hardware processor, cause the system to perform operations comprising:

accessing a source image file including a header comprising a plurality of fields;

receiving first and second edits to the source image file;

identifying at least one field, of the plurality of fields, that is empty;

editing the header by inserting information regarding the first and second edits into the at least one field that is empty, yielding an edited header; and

transmitting the source image file, including the edited header, to a display device, wherein the display device, upon receiving the source image file, performs operations comprising:

parsing the edited header to identify the information regarding the first and second edits;

identifying first and second weights, associated with the first and second edits respectively, based on the information regarding the first and second edits;

comparing the first and second weights, yielding a comparison;

generating an edited image file by applying the first and second edits to the source image file in an order that is based on the comparison; and

displaying the edited image file.

2. The system of claim 1 , the operations further comprising:

identifying at least one field, of the plurality of fields, that includes data that is not needed to display the source image; and

editing the header by inserting information regarding the first and second edits into the at least one field that includes data that is not needed to display the source image.

3. The system of claim 1 , wherein:

the first and second edits each comprises a selection of one of a plurality of editing tools or a selection of one of a plurality of editing filters;

each of the plurality of editing filters adjusts a qualitative artistic property of an image and each of the editing tools each provides an interface for a user to adjust a quantitative property of the image; and

the first and second weights correspond to respective weights assigned to a selected editing tool or to a selected editing filter.

4. The system of claim 3 , wherein the respective weights assigned to a selected editing tool or to a selected editing filter are determined based on a comparison of a first image quality of the edited image with a first editing tool or editing filter applied before a second editing tool or editing filter against a second image quality of the edited image with the second editing tool or editing filter applied before the first editing tool or editing filter.

5. The system of claim 3 , wherein the information regarding the first and second edits specifies a level for each selected editing tool or selected editing filter and the memory comprises instructions which, when executed by the processor, cause the display device to apply the first and second user edits in an order that is determined based on the respective weight assigned to each selected editing tool or editing filter and based on the level of each selected editing tool or editing filter.

6. The system of claim 1 , wherein the source image file comprises a “JPEG” file and the header comprises “Exif” metadata.

7. A method comprising:

accessing a source image file including a header comprising a plurality of fields;

receive first and second edits to the source image file;

identifying at least one field, of the plurality of fields, that is empty;

editing the header by inserting information regarding the first and second edits into the at least one field that is empty, yielding an edited header; and

transmitting the source image file, including the edited header, to a display device, wherein the display device, upon receiving the source image file, performs operations comprising:

parsing the edited header to identify the information regarding the first and second edits;

identifying first and second weights, associated with the first and second edits respectively, based on the information regarding the first and second edits;

comparing the first and second weights, yielding a comparison;

generating an edited image file by applying the first and second edits to the source image file in an order that is based on the comparison; and

displaying the edited image file.

8. The method of claim 7 , further comprising:

identifying at least one field, of the plurality of fields, that includes data that is not needed to display the source image; and

editing the header by inserting information regarding the first and second edits into the at least one field that includes data that is not needed to display the source image.

9. The method of claim 7 , wherein:

the first and second edits each comprises a selection of one of a plurality of editing tools or a selection of one of a plurality of editing filters;

each of the plurality of editing filters adjusts a qualitative artistic property of an image and each of the editing tools each provides an interface for a user to adjust a quantitative property of the image; and

the first and second weights correspond to respective weights assigned to a selected editing tool or to a selected editing filter.

10. The method of claim 9 , wherein the respective weights assigned to a selected editing tool or to a selected editing filter are determined based on a comparison of a first image quality of the edited image with a first editing tool or editing filter applied before a second editing tool or editing filter against a second image quality of the edited image with the second editing tool or editing filter applied before the first editing tool or editing filter.

11. The method of claim 9 , wherein the information regarding the first and second edits specifies a level for each selected editing tool or selected editing filter and the memory comprises instructions which, when executed by the processor, cause the display device to apply the first and second user edits in an order that is determined based on the respective weight assigned to each selected editing tool or editing filter and based on the level of each selected editing tool or editing filter.

12. The method of claim 7 , wherein the source image file comprises a “JPEG” file and the header comprises “Exif” metadata.

13. A non-transitory machine-readable storage medium storing instructions which, when executed by at least one processor of a machine, cause the machine to perform operations comprising:

accessing a source image file including a header comprising a plurality of fields;

receive first and second edits to the source image file;

identifying at least one field, of the plurality of fields, that is empty;

editing the header by inserting information regarding the first and second edits into the at least one field that is empty, yielding an edited header; and

transmitting the source image file, including the edited header, to a display device, wherein the display device, upon receiving the source image file, performs operations comprising:

parsing the edited header to identify the information regarding the first and second edits;

identifying first and second weights, associated with the first and second edits respectively, based on the information regarding the first and second edits;

comparing the first and second weights, yielding a comparison;

generating an edited image file by applying the first and second edits to the source image file in an order that is based on the comparison; and

displaying the edited image file.

14. The storage medium of claim 13 , the operations further comprising:

identifying at least one field, of the plurality of fields, that includes data that is not needed to display the source image; and

editing the header by inserting information regarding the first and second edits into the at least one field that includes data that is not needed to display the source image.

15. The storage medium of claim 13 , wherein:

the first and second edits each comprises a selection of one of a plurality of editing tools or a selection of one of a plurality of editing filters;

each of the plurality of editing filters adjusts a qualitative artistic property of an image and each of the editing tools each provides an interface for a user to adjust a quantitative property of the image; and

the first and second weights correspond to respective weights assigned to a selected editing tool or to a selected editing filter.

16. The storage medium of claim 15 , wherein the respective weights assigned to a selected editing tool or to a selected editing filter are determined based on a comparison of a first image quality of the edited image with a first editing tool or editing filter applied before a second editing tool or editing filter against a second image quality of the edited image with the second editing tool or editing filter applied before the first editing tool or editing filter.

17. The storage medium of claim 15 , wherein the information regarding the first and second edits specifies a level for each selected editing tool or selected editing filter and the memory comprises instructions which, when executed by the processor, cause the display device to apply the first and second user edits in an order that is determined based on the respective weight assigned to each selected editing tool or editing filter and based on the level of each selected editing tool or editing filter.

Assignments (2)
MERGER Recorded May 6, 2022
From: RYLO, INC.
To: VISUAL SUPPLY COMPANY
Reel/Frame 059835/0602 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2019
From: HODGES, ZACHARY DANIEL; NEWPORT, ROBERT A.
To: VISUAL SUPPLY COMPANY
Reel/Frame 048230/0322 →
Continuity (3)
Continuation 14834001 · Aug 24, 2015
Continuation 14555135 · Nov 26, 2014
Related Publication 20170031572A1 · Feb 2, 2017