IP Library Granted Patent US 12,423,508
Granted Patent B2
US 12,423,508 · App. 18/466,497 · Granted Sep 23, 2025

Systems and methods for automatically scoring a group of design elements

Inventors: Tristan Lindsay Martin (Surry Hills, AU); Sam Luke Fancourt Parkinson (Surry Hills, AU)
Assignee: Canva Pty Ltd
G06F40/166G06T11/001
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 12,423,508
App. No.
18/466,497
Granted
Sep 23, 2025
Kind
B2
Abstract

Described herein is a computer implemented method. The method includes: accessing design data defining one or more design elements of a design; determining a set of target elements, the set of target elements including one or more of the design elements; determining a set of fragments, the set of fragments including one or more primary fragments and one or more background fragments, each primary fragment being a fragment of a design element in the set of target elements, each secondary fragment being a fragment that is a background fragment to a primary fragment; calculating, by a processing unit, a set of fragment contrast scores, the set of fragment contrast scores including a fragment contrast score for each primary fragment in the set of fragments; and calculating an overall score for the set of target elements based on the set of fragment contrast scores.

Claims (61)

1. A computer implemented method including:

accessing, by one or more computer processing devices, design data defining one or more design elements of a design;

determining, by the one or more computer processing devices, a set of target elements, the set of target elements including one or more of the design elements;

determining, by the one or more computer processing devices, a set of fragments, the set of fragments including one or more primary fragments and one or more background fragments, each primary fragment being a fragment that is directly associated with a design element in the set of target elements, each secondary fragment being a fragment that is a background fragment to a primary fragment;

calculating, by the one or more computer processing devices, a set of fragment contrast scores, the set of fragment contrast scores including a fragment contrast score for each primary fragment in the set of fragments;

calculating, by the one or more computer processing devices, an overall score for the set of target elements based on the set of fragment contrast scores; and

in response to calculating the overall score, triggering feedback, by the one or more computer processing devices, based on the overall score.

2. The computer implemented method of claim 1 , further including

comparing, by the one or more computer processing devices, the overall score to a threshold score to determine whether a warning condition exists; and

in response to determining that a warning condition exists, generating, by the one or more computer processing devices, a warning.

3. The computer implemented method of claim 2 , wherein generating, by the one or more computer processing devices, the warning includes displaying a warning on a display.

4. The computer implemented method of claim 3 , wherein generating, by the one or more computer processing devices, the warning includes visually distinguishing the one or more elements in the set of target elements.

5. The computer implemented method of claim 1 , wherein calculating, by the one or more computer processing devices, the fragment contrast score for a selected primary fragment includes:

calculating a set of fragment pair contrast scores for the selected primary fragment, the set of fragment pair contrast scores for the selected primary fragment including a fragment pair contrast score in respect of each fragment that is a background fragment to the selected primary fragment; and

calculating the fragment contrast score for a selected primary fragment based on the set of fragment pair contrast scores calculated for the selected primary fragment.

6. The computer implemented method of claim 5 , wherein calculating, by the one or more computer processing devices, the fragment contrast score for a selected primary fragment includes combining the set of fragment pair contrast scores for the selected primary fragment in a way that gives additional weight to a worst fragment pair contrast score in the set of fragment pair contrast scores for the selected primary fragment.

7. The computer implemented method of claim 5 , wherein calculating, by the one or more computer processing devices, the fragment pair contrast score for a particular pair of fragments that includes a foreground fragment and a background fragment includes calculating the fragment pair contrast score based on a distance between a colour space value of the foreground fragment and a colour space value of the background fragment.

8. The computer implemented method of claim 1 , wherein calculating, by the one or more computer processing devices, the set of fragment contrast scores includes:

calculating one or more text fragment contrast scores, each text fragment contrast score being a fragment contrast score in respect of a text fragment; and

calculating one or more non-text fragment contrast scores, each non-text fragment contrast score being a fragment contrast score in respect of a non-text fragment,

and wherein

calculating the overall contrast score includes applying a heavier weighting to the one or more text fragment contrast scores than to the one or more non-text fragment contrast scores.

9. The computer implemented method of claim 8 , wherein calculating a text fragment contrast score for a selected text fragment includes calculating a legibility penalty.

10. The computer implemented method of claim 1 , further including:

calculating, by the one or more computer processing devices, a combined vector graphic luminance score; and

calculating, by the one or more computer processing devices, the overall score for the set of target elements based on the combined vector graphic luminance score.

11. A computer processing system including:

one or more computer processing devices;

a display; and

a non-transient computer-readable storage medium storing instructions, which when executed by the one or more computer processing devices, cause the one or more computer processing devices to perform a method including

accessing design data defining one or more design elements of a design;

determining a set of target elements, the set of target elements including one or more of the design elements;

determining a set of fragments, the set of fragments including one or more primary fragments and one or more background fragments, each primary fragment being a fragment that is directly associated with a design element in the set of target elements, each secondary fragment being a fragment that is a background fragment to a primary fragment;

calculating, by a processing unit, a set of fragment contrast scores, the set of fragment contrast scores including a fragment contrast score for each primary fragment in the set of fragments;

calculating an overall score for the set of target elements based on the set of fragment contrast scores; and

in response to calculating the overall score, triggering feedback, by the one or more computer processing devices, based on the overall score.

12. The computer processing system of claim 11 , further including

comparing the overall score to a threshold score to determine whether a warning condition exists; and

in response to determining that a warning condition exists, generating a warning.

13. The computer processing system of claim 12 , wherein generating the warning includes displaying a warning on a display.

14. The computer processing system of claim 13 , wherein generating the warning includes visually distinguishing the one or more elements in the set of target elements.

15. The computer processing system of claim 11 , wherein calculating the fragment contrast score for a selected primary fragment includes:

calculating a set of fragment pair contrast scores for the selected primary fragment, the set of fragment pair contrast scores for the selected primary fragment including a fragment pair contrast score in respect of each fragment that is a background fragment to the selected primary fragment; and

calculating the fragment contrast score for a selected primary fragment based on the set of fragment pair contrast scores calculated for the selected primary fragment.

16. The computer processing system of claim 15 , wherein calculating the fragment pair contrast score for a particular pair of fragments that includes a foreground fragment and a background fragment includes calculating the fragment pair contrast score based on a distance between a colour space value of the foreground fragment and a colour space value of the background fragment.

17. The computer processing system of claim 11 , wherein calculating the set of fragment contrast scores includes:

calculating one or more text fragment contrast scores, each text fragment contrast score being a fragment contrast score in respect of a text fragment; and

calculating one or more non-text fragment contrast scores, each non-text fragment contrast score being a fragment contrast score in respect of a non-text fragment,

and wherein

calculating the overall contrast score includes applying a heavier weighting to the one or more text fragment contrast scores than to the one or more non-text fragment contrast scores.

18. The computer processing system of claim 17 , wherein calculating a text fragment contrast score for a selected text fragment includes calculating a legibility penalty.

19. The computer processing system of claim 11 , further including:

calculating a combined vector graphic luminance score; and

calculating the overall score for the set of target elements based on the combined vector graphic luminance score.

20. A non-transient storage medium storing instructions executable by one or more computer processing devices to cause the one or more computer processing devices to perform a method including

accessing design data defining one or more design elements of a design;

determining a set of target elements, the set of target elements including one or more of the design elements;

determining a set of fragments, the set of fragments including one or more primary fragments and one or more background fragments, each primary fragment being a fragment that is directly associated with a design element in the set of target elements, each secondary fragment being a fragment that is a background fragment to a primary fragment;

calculating, by a processing unit, a set of fragment contrast scores, the set of fragment contrast scores including a fragment contrast score for each primary fragment in the set of fragments;

calculating an overall score for the set of target elements based on the set of fragment contrast scores; and

in response to calculating the overall score, triggering feedback, by the one or more computer processing devices, based on the overall score.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2023
From: MARTIN, TRISTAN LINDSAY; PARKINSON, SAM LUKE FANCOURT
To: CANVA PTY LTD
Reel/Frame 064893/0504 →
Priority Claims (1)
AU 2021273639 · Nov 26, 2021 · national
Continuity (2)
Continuation 17993944 · Nov 24, 2022
Related Publication 20240005087A1 · Jan 4, 2024
References Cited (20)
US 7536048B2 · Moravec et al. · 2009 [cited by applicant]
US 7770143B2 · Hughes · 2010 [cited by examiner]
US 8869049B1 · Li · 2014 [cited by examiner]
US 8958662B1 · Grosz · 2015 [cited by examiner]
US 8990672B1 · Grosz · 2015 [cited by examiner]
US 9219830B1 · Ciorba · 2015 [cited by examiner]
US 9767077B2 · Kinkoh · 2017 [cited by examiner]
US 9836867B2 · Bostick et al. · 2017 [cited by applicant]
US 10380650B2 · Hamedi · 2019 [cited by examiner]
US 10853839B1 · Galep et al. · 2020 [cited by applicant]
US 20110280476A1 · Berger et al. · 2011 [cited by applicant]
US 20160093080A1 · Tumanov et al. · 2016 [cited by applicant]
US 20160321807A1 · Wiets et al. · 2016 [cited by applicant]
US 20190213238A1 · Batra et al. · 2019 [cited by applicant]
US 20190340791A1 · Hill · 2019 [cited by applicant]
US 20210042965A1 · Phogat et al. · 2021 [cited by applicant]
US 20210279377A1 · Kuniavsky et al. · 2021 [cited by applicant]
US 20210407155A1 · Martin et al. · 2021 [cited by applicant]
US 20220215606A1 · Radford et al. · 2022 [cited by applicant]
Guarav Sharma, The CIEDE2000 Color-Difference Formula: Implementation Notes, Supplementary Test Data, and Mathematical Observations, Color Research adn Application, vol. 30, No. 1, pp. 21-30, Feb. 2005. [cited by applicant]