# US 9,436,704 B2 · System for normalizing, codifying and categorizing color-based product and data based on a universal digital color language

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,704 B2
- Document ID: US9436704B2
- Status: Granted
- Kind: B2
- Application number: 14/808,108
- Filed: 2015-07-24
- Published: 2015-11-19
- Granted: 2016-09-06
- Earliest claimed: 2012-02-07
- Assignees: Zencolor Corporation
- Applicants: Zencolor Corporation
- Inventors: Dann Gershon; David Robinson; Jonathan Wilder; Maurice W. Schonfeld
- Web page: https://patentgrep.com/patent/US9436704B2

## CPC

- G06F 16/5838: {using colour}
- G06Q 30/0627: {by specifying product or service characteristics, e.g. product dimensions}
- G06Q 30/0639: {Locating goods or services, e.g. based on physical position of the goods or services within a shopping facility}
- G06Q 30/0643: {graphically representing goods, e.g. 3D product representation}
- G06T 7/11: Region-based segmentation
- G06T 7/90: Determination of colour characteristics
- G06V 10/56: relating to colour
- G06V 10/758: {Involving statistics of pixels or of feature values, e.g. histogram matching}
- G06F 2218/12: Classification; Matching
- G06T 2207/10024: Color image
- G06T 2207/20021: Dividing image into blocks, subimages or windows
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

A system for normalizing, codifying and categorizing divergent color systems into a universal color language. A server connected to a communications network receives, processes, codifies and categorizes divergent color data from a merchant system. A middleware engine of the server receives a data feed comprising a plurality of color swatches or images from the merchant system, and normalizes the data feed into a common format. A server processor extracts image data comprising a plurality of product images from the normalized data feed, identifies and converts at least one dominant product color in each product image to a digital value based on color component intensity values, and assigns a hexadecimal code of the universal color language to each product image that is closest to the digital value of each product image. A product categorization engine categorizes each product image into one of a plurality of product categories.

## Claims

### Claim 1

A computer based method for normalizing, codifying and categorizing divergent color systems into a universal color language, comprising the steps of:
receiving a data feed comprising a plurality of color swatches or images from a merchant system by a middleware engine of a processor based server over a communications network;
normalizing the data feed into a common format by the middleware engine;
extracting image data comprising a plurality of product images from the normalized data feed;
segmenting each product image into a plurality of segments by an image segmentation processor;
analyzing each segment to determine a dominant color for said each segment by a dominant color processor;
determining at least one dominant product color for said each product image based on prevalence of said at least one dominant product color in said each segment by the dominant color processor;
assigning to said each product image a hexadecimal code of the universal color language that is closest to a digital hexadecimal value, of said each product image, determined based on color component intensity values of said at least one dominant product color of said each product image by a matched color processor;
categorizing said each product image into one of a plurality of product categories by a product categorization engine; and
storing the data feed, said each product image, said each segment of said each product image, the dominant color for said each segment, said at least one dominant product color for said each product image, the hexadecimal code of said each product image, and the product category of said each product image in a database by the server.

### Claim 2 (depends on 1)

The method of claim 1, further comprising the step of categorizing said each product image in accordance with at least one product related data.

### Claim 3 (depends on 1)

The method of claim 1, further comprising the step of categorizing said each product image in accordance with at least one depersonalized product related data.

### Claim 4 (depends on 1)

The method of claim 1, further comprising the steps of:
receiving data feeds from a plurality of supply chain management systems by the middleware engine over the communications network;
normalizing comprises the step of depersonalizing the data feeds received from said plurality of supply chain management systems to remove merchant or supplier identifying information by the middleware engine; and
generating a product database from the data feeds received from said plurality of supply chain management systems indexed and searchable by color based queries.

### Claim 5 (depends on 1)

The method of claim 1, further comprising the steps of:
receiving data feeds from a plurality of inventory management systems by the middleware engine over the communications network;
normalizing comprises the step of depersonalizing the data feeds received from the inventory management systems to remove merchant or consumer identifying information by the middleware engine; and
generating a product database from the data feeds received from said plurality of inventory management systems indexed and searchable by color based queries.

### Claim 6 (depends on 1)

The method of claim 1, further comprising the steps of:
receiving a color-based search query comprising user's color selection from a processor based client device associated with a user by the server over the communications network, the user's color selection comprising at least one hexadecimal color code of the universal color language; and
searching a database engine by a color search engine of the server for products having the hexadecimal color codes within a predetermined range of the hexadecimal color code of the user's color selection to provide a search result, the database engine comprising at least one of a data warehouse maintained by a service provider, inventory management systems of a plurality of merchants, or supply chain management systems of a plurality of merchants;
storing the user's color selection and the search result in the database; and
updating color preference history of the user in the database.

### Claim 7 (depends on 6)

The method of claim 6, further comprising the step of ranking the products on the search result based on their hexadecimal color codes, a product having the hexadecimal color code closer to the hexadecimal color code of the user's color selection being ranked higher than a product having the hexadecimal color code further from the hexadecimal color code of the user's color selection.

### Claim 8 (depends on 6)

The method of claim 6, further comprising the steps of receiving textual search criteria from the client device by the server over the communications network, the textual search criteria comprising at least one of the following: product description, product availability, size information, merchant information, product category, brand information, pattern information, complementary colors or complementary colored products; and
filtering the search results based on the textual search criteria.

### Claim 9 (depends on 6)

The method of claim 6, further comprising the steps of:
categorizing the search result by the product categorization engine in accordance with at least one of the following: a color category, a product category, a product related data or a depersonalized product related data; and
storing the categorized search result in the database.

### Claim 10 (depends on 1)

The method of claim 1, further comprising the steps of:
receiving a color-based search query from a processor based client device associated with a user by the server over the communications network, the color-based search query comprises a digital image of an item and the hexadecimal color code associated with the item;
repeating the steps of segmenting, analyzing, determining, and assigning on the digital image of the item to assign the hexadecimal code of the universal color language to the item; and
determining whether the hexadecimal code determined from the digital image of the item matches or is within a predetermined threshold of the hexadecimal code of the item received from the client device of the user by an image processor of the server.

### Claim 11

A system for normalizing, codifying and categorizing divergent color systems into a universal color language, comprising:
a server connected to a communications network for receiving, processing, codifying and categorizing divergent color data from a merchant system, the server comprising:
a middleware engine to receive a data feed comprising a plurality of color swatches or images from said merchant system, and normalizing the data feed into a common format;
an image segmentation processor to extract image data comprising a plurality of product images from the normalized data feed, and segmenting each product image into a plurality of segments;
a dominant color processor to analyze each segment to determine a dominant color for said each segment, and determine at least one dominant product color for said each product image based on prevalence of said at least one dominant product color in said each segment;
a matched color processor to assign to said each product image a hexadecimal code of the universal color language that is closest to a digital hexadecimal value, of said each product image, determined based on color component intensity values of said at least one dominant product color of said each product image;
a product categorization engine to categorize said each product image into one of a plurality of product categories; and
a database for storing the data feed, said each product image, said each segment of said each product image, the dominant color for said each segment, said at least one dominant product color for said each product image, the hexadecimal code of said each product image, and the product category of said each product image.

### Claim 12 (depends on 11)

The system of claim 11, wherein the product categorization engine further categorizes said each product image in accordance with at least one product related data.

### Claim 13 (depends on 11)

The system of claim 11, wherein the product categorization engine further categorizes said each product image in accordance with at least one depersonalized product related data.

### Claim 14 (depends on 11)

The system of claim 11, wherein the middleware engine receives data feeds from a plurality of supply chain management systems over the communications network and depersonalizes the data feeds received from said plurality of supply chain management systems to remove merchant or supplier identifying information; and wherein the server generates a product database from the data feeds received from said plurality of supply chain management systems indexed and searchable by color based queries.

### Claim 15 (depends on 11)

The system of claim 11, wherein the middleware engine receives data feeds from a plurality of inventory management systems over the communications network and depersonalizes the data feeds received from the inventory management systems to remove merchant or consumer identifying information; and wherein the server generates a product database from the data feeds received from said plurality of inventory management systems indexed and searchable by color based queries.

### Claim 16 (depends on 11)

The system of claim 11, wherein the server further comprises a color search engine to:
receive a color-based search query comprising user's color selection from a processor based client device associated with a user over the communications network, the user's color selection comprising at least one hexadecimal color code of the universal color language;
search a database engine for products having the hexadecimal color codes within a predetermined range of the hexadecimal color code of the user's color selection to provide a search result, the database engine comprises at least one of the following: a data warehouse maintained by a service provider, inventory management systems of a plurality of merchants, or supply chain management systems of a plurality of merchants;
store the user's color selection and the search result in the database; and
update color preference history of the user in the database.

### Claim 17 (depends on 16)

The system of claim 16, wherein the color search engine ranks the products on the search result based on their hexadecimal color codes, a product having the hexadecimal color code closer to the hexadecimal color code of the user's color selection being ranked higher than a product having the hexadecimal color code further from the hexadecimal color code of the user's color selection.

### Claim 18 (depends on 16)

The system of claim 16, wherein the server receives textual search criteria from the client device over the communications network, the textual search criteria comprises at least one of the following: product description, product availability, size information, merchant information, product category, brand information, pattern information, complementary colors or complementary colored products; and wherein the color search engine filters the search results based on the textual search criteria.

### Claim 19 (depends on 16)

The system of claim 16, wherein the product categorization engine categorizes the search result by the product categorization engine in accordance with at least one of a color category, a product category, a product related data, or a depersonalized product related data; and storing the categorized search result in the database.

### Claim 20 (depends on 11)

The system of claim 11, wherein the server further comprises a color search engine to receive a color-based search query from a processor based client device associated with a user over the communications network, the color-based search query comprises a digital image of an item and the hexadecimal color code associated with the item;
wherein the image segmentation processor segments the digital image of the item into a plurality of segments;
wherein the dominant color processor analyzes each segment to determine a dominant color for said each segment, and determines at least one dominant product color for the digital image of the item based on prevalence of said at least one dominant product color in said each segment;
wherein the matched color processor assigns to the digital image of the item a hexadecimal code of the universal color language that is closest to a digital hexadecimal value, of the digital image of the item, determined based on color component intensity values of said at least one dominant product color of the digital image of the item
wherein the server further comprises an image processor to determine whether the hexadecimal code determined from the digital image of the item matches or is within a predetermined threshold of the hexadecimal code of the item received from the client device of the user.
