US9053191B2ActiveUtilityPatentIndex 62
Retroactive search of objects using k-d tree
Est. expiryAug 30, 2032(~6.2 yrs left)· nominal 20-yr term from priority
Inventors:CHANDRASEKHAR VIKRAM
G06F 17/30867G06F 21/6218G06F 16/2455G06F 16/9535G06F 16/583
62
PatentIndex Score
2
Cited by
18
References
9
Claims
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
exact text as granted — not AI-modifiedWhat is claimed is:
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.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.