FAST COLOR SEARCHING
First Claim
Patent Images
1. A system comprising:
- a memory configured to store computer-executable instructions; and
a computing device comprising one or more hardware processors, the computing device in communication with the memory and configured to execute the computer-executable instructions to at least;
obtain a color search range for colors, the colors specified by an n-dimensional color model, the color search range comprising, for each color dimension in the n-dimensional color model, a minimum dimension color value and a maximum dimension color value;
for each dimension of the color search range, calculate one or more binary split ranges based at least in part on the minimum and maximum dimension color values of a corresponding color dimension of the color search range;
generate one or more integer search ranges based at least in part on permutations of each dimension'"'"'s one or more binary split ranges, wherein the one or more integer search ranges comprise interleaved bits from permutations of the one or more binary split ranges;
generate a search query, the search query comprising the one or more integer search ranges as search parameters;
initiate a search, based at least in part on the search query, of a data store for colors within the one or more integer search ranges, the data store comprising records associated with at least one indexed integer color value; and
receive search results from the data store, the search results comprising records associated with at least one indexed integer color value within the one or more integer search ranges.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are described to quickly search a data store based on one or more n-dimensional colors. The n-dimensional colors in the data store may be converted to interleaved integers and indexed. An n-dimensional color search range may be converted to one or more integer search ranges. A fast color search query may be formulated based on the one or more integer search ranges, and transmitted to the data store for searching. The data store may use the interleaved integer index to quickly compare the integer search ranges to the interleaved integers, and send back one or more colors or object results that matched the desired color range.
40 Citations
23 Claims
-
1. A system comprising:
-
a memory configured to store computer-executable instructions; and a computing device comprising one or more hardware processors, the computing device in communication with the memory and configured to execute the computer-executable instructions to at least; obtain a color search range for colors, the colors specified by an n-dimensional color model, the color search range comprising, for each color dimension in the n-dimensional color model, a minimum dimension color value and a maximum dimension color value; for each dimension of the color search range, calculate one or more binary split ranges based at least in part on the minimum and maximum dimension color values of a corresponding color dimension of the color search range; generate one or more integer search ranges based at least in part on permutations of each dimension'"'"'s one or more binary split ranges, wherein the one or more integer search ranges comprise interleaved bits from permutations of the one or more binary split ranges; generate a search query, the search query comprising the one or more integer search ranges as search parameters; initiate a search, based at least in part on the search query, of a data store for colors within the one or more integer search ranges, the data store comprising records associated with at least one indexed integer color value; and receive search results from the data store, the search results comprising records associated with at least one indexed integer color value within the one or more integer search ranges. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method comprising:
under control of a hardware computing device configured with specific computer-executable instructions, obtaining a color search range for colors, the colors specified by an n-dimensional color model, the color search range comprising, for each color dimension in the n-dimensional color model, a minimum dimension color value and a maximum dimension color value; calculating one or more integer search ranges, wherein the one or more integer search ranges are determined by interleaving bits from the minimum and maximum dimension color values for each color dimension within the color search range; initiate a search of a data store based at least in part on a search query comprising the one or more integer search ranges as search parameters, the data store comprising records associated with at least one indexed integer color value; and receiving search results from the data store, the search results comprising one or more records associated with at least one indexed integer color value within the one or more integer search ranges. - View Dependent Claims (11, 12, 13, 14, 15)
-
16. A non-transitory computer readable storage medium storing computer-executable instructions that when executed by a processor perform operations comprising:
-
obtaining an RGB color search range, the RGB color search range comprising a minimum red value, a maximum red value, a minimum green value, a maximum green value, a minimum blue value, and a maximum blue value; calculating one or more red binary split ranges based at least in part on the minimum red value and the maximum red value; calculating one or more green binary split ranges based at least in part on the minimum green value and the maximum green value; calculating one or more blue binary split ranges based at least in part on the minimum green value and the maximum green value; generating one or more integer search ranges based at least in part on permutations of the red binary split ranges, the green binary split ranges, and the blue binary split ranges, wherein each permutation comprises interleaved bits from a red binary split range of the one or more red binary split ranges, a green binary split range of the one or more green binary split ranges, and a blue binary split range of the one or more blue binary split ranges, wherein the interleaved bits are arranged from highest dimensional order to lowest dimensional order; and retrieving search results from a data store using the one or more integer search ranges, the search results comprising records associated with at least one indexed integer color value within the one or more integer search ranges. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A system comprising:
-
a data store configured to store one or more object records, each object record associated with one or more RGB colors; and a computing device comprising one or more hardware processors and a memory storing computer-executable instructions, the one or more hardware processors configured to execute the computer-executable instructions to at least; for each RGB color associated with an object record in the data store; generate an integer color value corresponding to a one dimensional color space, the integer color value comprising interleaved bits from red, green, and blue dimension values of the RGB color, the interleaved bits sorted from highest order of magnitude to lowest order of magnitude; and store the integer color value in the data store as associated with the RGB color; and index integer color values in the data store. - View Dependent Claims (23)
-
Specification