IP Library Granted Patent US 9,053,191
Granted Patent B2
US 9,053,191 · App. 13/599,162 · Granted Jun 9, 2015

Retroactive search of objects using

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 9,053,191
App. No.
13/599,162
Granted
Jun 9, 2015
Kind
B2
Abstract

In one embodiment, a method includes at time t 2 , determining a delta set of first objects representing a difference between a first set of first objects at time t 1 and a second set of first objects at time t 2 ; comparing the delta set of first objects with a set of second objects represented as a balanced k-dimensional tree; and identifying each second object whose content substantially matches content of at least one first object from the delta set of first objects.

Claims (107)

1. A method comprising, by a computing device:

at time t 2 , determining a delta set of first objects representing a difference between a first set of first objects at time t 1 and a second set of first objects at time t 2 , wherein each first object is a first image, wherein the first set of first objects is represented as a first k-dimensional tree, and wherein the second set of first objects is represented as a second k-dimensional tree;

for each first object, generating n elements, x 1 . . . x n , representing the content of the first object;

comparing the delta set of first objects with a set of second objects represented as a balanced k-dimensional tree, wherein each second object is a second image;

for each second object, generating n elements, y 1 . . . y n , representing the content of the second object, wherein when comparing the content of a second object with the content of a first object, the content of the second object substantially matches the content of the first object if

i

=

1

n

(

x

i

-

y

i

)

2

is less than a pre-defined threshold; and

identifying each second object whose content substantially matches content of at least one first object from the delta set of first objects.

2. The method of claim 1 , further comprising

representing the set of second objects as the balanced k-dimensional tree, comprising:

for each second object, generating k elements representing the content of the second object;

partitioning the set of second objects into the balanced k-dimensional tree based on the k elements of each second object, comprising:

for each node at each level i of the k-dimensional tree,

if a sub-set of second objects belonging to a sub-tree associated with the node has one second object, then store the one second object in the node; and

if the sub-set of second objects belonging to the sub-tree associated with the node has multiple second objects, then

sort the sub-set of second objects according to their respective (i mod k)th one of the k elements;

storing a median second object in the node;

storing any second objects to the left of the median second object in a left sub-tree of the node; and

storing any second objects to the right of the median second object in a right sub-tree of the node.

3. The method of claim 1 , further comprising:

between time t 1 and time t 2 , receiving one or more new first objects; and

adding the new first objects to the first set of first objects to obtain the second set of first objects.

4. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

at time t 2 , determine a delta set of first objects representing a difference between a first set of first objects at time t 1 and a second set of first objects at time t 2 , wherein each first object is a first image, wherein the first set of first objects is represented as a first k-dimensional tree, and wherein the second set of first objects is represented as a second k-dimensional tree;

for each first object, generate n elements, x 1 . . . x n , representing the content of the first object;

compare the delta set of first objects with a set of second objects represented as a balanced k-dimensional tree, wherein each second object is a second image;

for each second object, generate n elements, y 1 . . . y n , representing the content of the second object, wherein when comparing the content of a second object with the content of a first object, the content of the second object substantially matches the content of the first object if

i

=

1

n

(

x

i

-

y

i

)

2

is less than a pre-defined threshold; and

identify each second object whose content substantially matches content of at least one first object from the delta set of first objects.

5. The media of claim 4 , wherein the software is further operable when executed to

represent the set of second objects as the balanced k-dimensional tree, comprising:

for each second object, generate k elements representing the content of the second object;

partition the set of second objects into the balanced k-dimensional tree based on the k elements of each second object, comprising:

for each node at each level i of the k-dimensional tree,

if a sub-set of second objects belonging to a sub-tree associated with the node has one second object, then store the one second object in the node; and

if the sub-set of second objects belonging to the sub-tree associated with the node has multiple second objects, then

sort the sub-set of second objects according to their respective (i mod k)th one of the k elements;

store a median second object in the node;

store any second objects to the left of the median second object in a left sub-tree of the node; and

store any second objects to the right of the median second object in a right sub-tree of the node.

6. The media of claim 4 , wherein the software is further operable when executed to:

between time t 1 and time t 2 , receive one or more new first objects; and

add the new first objects to the first set of first objects to obtain the second set of first objects.

7. A system comprising:

one or more processors; and

a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

at time t 2 , determine a delta set of first objects representing a difference between a first set of first objects at time t 1 and a second set of first objects at time t 2 , wherein each first object is a first image, wherein the first set of first objects is represented as a first k-dimensional tree, and wherein the second set of first objects is represented as a second k-dimensional tree;

for each first object, generate n elements, x 1 . . . x n , representing the content of the first object;

compare the delta set of first objects with a set of second objects represented as a balanced k-dimensional tree, wherein each second object is a second image;

for each second object, generate n elements, y 1 . . . y n , representing the content of the second object, wherein when comparing the content of a second object with the content of a first object, the content of the second object substantially matches the content of the first object if

i

=

1

n

(

x

i

-

y

i

)

2

is less than a pre-defined threshold; and

identify each second object whose content substantially matches content of at least one first object from the delta set of first objects.

8. The system of claim 7 , wherein the processors are further operable when executing the instructions to

represent the set of second objects as the balanced k-dimensional tree, comprising:

for each second object, generate k elements representing the content of the second object;

partition the set of second objects into the balanced k-dimensional tree based on the k elements of each second object, comprising:

for each node at each level i of the k-dimensional tree,

if a sub-set of second objects belonging to a sub-tree associated with the node has one second object, then store the one second object in the node; and

if the sub-set of second objects belonging to the sub-tree associated with the node has multiple second objects, then

sort the sub-set of second objects according to their respective (i mod k)th one of the k elements;

store a median second object in the node;

store any second objects to the left of the median second object in a left sub-tree of the node; and

store any second objects to the right of the median second object in a right sub-tree of the node.

9. The system of claim 7 , wherein the processors are further operable when executing the instructions to:

between time t 1 and time t 2 , receive one or more new first objects; and

add the new first objects to the first set of first objects to obtain the second set of first objects.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →