IP Library Granted Patent US 11,899,732
Granted Patent B2
US 11,899,732 · App. 17/992,928 · Granted Feb 13, 2024

Systems and methods for automatically creating content modification scheme

Inventors: Guannan Zhang (Shanghai, CN); Yiling Zhang (Shanghai, CN)
Assignee: GOOGLE LLC
G06F16/9566G06F16/23
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,899,732
App. No.
17/992,928
Granted
Feb 13, 2024
Kind
B2
Abstract

Systems and methods for automatically associating content characteristics to a third-party content are provided. A uniform resource locator identifying a resource is received from a content provider. The content is rendered to produce an object tree. A first node of the object tree is determined, where the first node represents a content slot. A second node of the object tree proximate to the first node is identified. The second node has a content characteristic, which is extracted. The extracted content characteristic is associated with the first node and stored.

Claims (62)

1. A computerized method for automatically creating a content modification scheme for content, the method comprising:

receiving a uniform resource locator (URL) from a content provider, the URL identifying a resource;

rendering the resource to produce an object tree;

determining a first node of the object tree representing a content slot;

identifying a second node of the object tree, the second node having a content characteristic;

extracting the content characteristic from the second node;

associating the content characteristic with the first node of the object tree;

storing, in a data structure maintained in a memory element, the association of the determined first node and the associated content characteristic; and

modifying a content item associated with the first node using the associated content characteristic.

2. The method of claim 1 , wherein determining a first node of the object tree comprises traversing the object tree until the first node representing a content slot is encountered.

3. The method of claim 1 , wherein determining a first node of the object tree comprises:

traversing the entire object tree to identify a plurality of nodes representing a content slot; and

selecting one of the plurality of nodes.

4. The method of claim 1 , wherein identifying a second node comprises traversing the object tree starting from the first node until a second node representing a content slot having a same one or more dimensions as the first node is encountered.

5. The method of claim 1 , wherein identifying a second node comprises:

determining a plurality of content slots having a same one or more dimensions as the first node; and

selecting a second node by selecting one of the plurality of content slots.

6. The method of claim 5 , wherein selecting a second node comprises selecting a second node by selecting one of the plurality of content slots that is closest to the first node.

7. The method of claim 1 , further comprising receiving one or more dimensions of a selected content item; and

wherein determining a first node of the object tree comprises determining a first node of the object tree representing a content slot, the first node having the received one or more dimensions.

8. The method of claim 7 , wherein determining a first node comprises:

traversing the entire object tree to identify a plurality of nodes representing a content slot that has the received one or more dimensions; and

selecting one of the plurality of nodes as a first node.

9. The method of claim 8 , wherein the first node has fewer content characteristics than other of the plurality of nodes.

10. A system comprising a processor and a memory storing instructions that, when executed by the processor, cause the system to:

receive a uniform resource locator (URL) from a content provider, the URL identifying a resource;

render the resource to produce an object tree;

determine a first node of the object tree representing a content slot;

identify a second node of the object tree, the second node having a content characteristic;

extract the content characteristic from the second node;

associate the content characteristic with the first node of the object tree;

store, in a data structure maintained in a memory element, the association of the determined first node and the associated content characteristic; and

modify a content item associated with the first node using the associated content characteristic.

11. The system of claim 10 , wherein determining a first node of the object tree comprises traversing the object tree until the first node representing a content slot is encountered.

12. The system of claim 10 , wherein determining a first node of the object tree comprises:

traversing the entire object tree to identify a plurality of nodes representing a content slot; and

selecting one of the plurality of nodes.

13. The system of claim 10 , wherein identifying a second node comprises traversing the object tree starting from the first node until a second node representing a content slot having a same one or more dimensions as the first node is encountered.

14. The system of claim 10 , wherein identifying a second node comprises:

determining a plurality of content slots having a same one or more dimensions as the first node; and

selecting a second node by selecting one of the plurality of content slots.

15. The system of claim 14 , wherein selecting a second node comprises selecting a second node by selecting one of the plurality of content slots that is closest to the first node.

16. The system of claim 10 , wherein:

the instructions further cause the system to receive one or more dimensions of a selected content item; and

determining a first node of the object tree comprises determining a first node of the object tree representing a content slot, the first node having the received one or more dimensions.

17. The system of claim 16 , wherein determining a first node comprises:

traversing the entire object tree to identify a plurality of nodes representing a content slot that has the received one or more dimensions; and

selecting one of the plurality of nodes as a first node.

18. The system of claim 17 , wherein the first node has fewer content characteristics than other of the plurality of nodes.

19. The system of claim 10 , wherein

rendering the resource includes producing a snapshot image, the snapshot image including a plurality of content slots, and each of the plurality of content slots corresponding to a respective node of the object tree; and

identifying the second node includes:

grouping the plurality of content slots based on spatial distances among the plurality of contents using cluster analysis such that a particular group includes (i) the content slot corresponding to the first node and (ii) one or more other content slots; and

selecting the second node from one or more nodes corresponding to the one or more other content slots.

20. The system of claim 10 , wherein:

rendering the resource includes producing a snapshot image, the snapshot image including a plurality of portions, and each of the plurality of portions corresponding to a respective node of the object tree; and

extracting the content characteristic from the second node includes extracting one or more dominant colors from a portion corresponding to the second node using a clustering technique.

21. The system of claim 20 , wherein extracting the one or more dominant colors from the portion corresponding to the second node includes:

creating k clusters, each of the k clusters being associated with a respective mean color;

for each pixel of the portion corresponding to the second node, (a) comparing a color of the pixel with the mean color of each of the k clusters to determine color differences between the pixel and each of the k clusters, and (b) assigning the pixel to a cluster that has a least color difference relative to the pixel;

responsive to a color difference between a mean color of a particular cluster and a particular pixel in the particular cluster exceeding a threshold value, updating the mean color of the particular cluster based on colors of pixels in the particular cluster; and

responsive to color differences between a mean color of each of the k clusters and any pixel in the respective cluster not exceeding the threshold value, extracting the mean colors of the k clusters as the one or more dominant colors.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2022
From: ZHANG, GUANNAN; ZHANG, YILING
To: GOOGLE INC.
Reel/Frame 061958/0001 →
CHANGE OF NAME Recorded Dec 2, 2022
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 062053/0193 →
Continuity (4)
Continuation 16707628 · Dec 9, 2019
Continuation 15220088 · Jul 26, 2016
Continuation PCTCN2014071878 · Feb 7, 2014
Related Publication 20230195821A1 · Jun 22, 2023